diff --git a/9_5_3_Simulating_a_random_walk_&_Sierpinski_Triangle.ipynb b/9_5_3_Simulating_a_random_walk_&_Sierpinski_Triangle.ipynb
new file mode 100644
index 0000000..267d3ac
--- /dev/null
+++ b/9_5_3_Simulating_a_random_walk_&_Sierpinski_Triangle.ipynb
@@ -0,0 +1,680 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.4"
+ },
+ "colab": {
+ "name": "9.5.3_Simulating_a_random_walk_&_Sierpinski_Triangle.ipynb",
+ "provenance": [],
+ "include_colab_link": true
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "rv670zsr2u-s",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Matplotlib Random Walk project"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "o8UXm1C32u-v",
+ "colab_type": "text"
+ },
+ "source": [
+ "### First we import the necessary libraries"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "T4CljwyW2u-w",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "import matplotlib.pyplot as plt \n",
+ "from random import choice\n",
+ "%matplotlib inline"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "A--ENa3Q2u-0",
+ "colab_type": "text"
+ },
+ "source": [
+ "### Then we change the default display settings for our plots"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "5Crbu39d2u-1",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "plt.rc('figure',figsize=(12,6))"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "2YdX8DCA2u-5",
+ "colab_type": "text"
+ },
+ "source": [
+ "### Now we create x and y values"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "61lypVer2u-6",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "fc9f6d74-ccef-4b6b-b60c-18f6c06399ce"
+ },
+ "source": [
+ "values = list(range(0,55,5))\n",
+ "values"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 3
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "HNyvXY0y2u--",
+ "colab_type": "text"
+ },
+ "source": [
+ "### And we plot them"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "1m0qL-8p2u-_",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "eb41605a-8aa0-4d36-8ee8-a948b8d7df04"
+ },
+ "source": [
+ "plt.plot(values)\n",
+ "plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "u69KkUHS2u_E",
+ "colab_type": "text"
+ },
+ "source": [
+ "### We can label the x and y axis and add a title"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "cAqfwas52u_F",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "x_axis = [0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "tQL42QWi2u_J",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "a80564ea-83cf-473c-cd71-613483863cad"
+ },
+ "source": [
+ "plt.plot(x_axis,values)\n",
+ "plt.xlim(0,1.0)\n",
+ "plt.ylim(0,50)\n",
+ "plt.title('Our Plot')\n",
+ "plt.xlabel('This is the horizantal axis')\n",
+ "plt.ylabel('Vertical axis')\n",
+ "plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Q461NHwQ2u_N",
+ "colab_type": "text"
+ },
+ "source": [
+ "### We can also change the style of the plot"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "4k-tz2tD2u_O",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "85e35a3e-1e36-4453-fef9-fd8141f5aca7"
+ },
+ "source": [
+ "plt.plot(x_axis,values,'ko--')\n",
+ "plt.xlim(0,1.0)\n",
+ "plt.ylim(0,50)\n",
+ "plt.title('Our Plot')\n",
+ "plt.xlabel('This is the horizantal axis')\n",
+ "plt.ylabel('Vertical axis')\n",
+ "plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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ol8dX7FiBUcddRRr1v+kjZeyUh1COAFYEGN856eH13JqXMf1uSGEySGEyQsXLkxJRkmSVDMsWrSIm266iYKCgrU+/8POHtKmSuXU/cHASSGE44B0YCvWrFxvHUKoXbpavQswd20XxxjzgDyA7OzstRZvSZKk9VmwYAFDhw7lvvvuY+nSpWRkZKx1pbpx48YJpFN1krKV6hjjtTHGXWKMWcBZwL9ijDnAy8Bppad1A55OVQZJklRzjR8/nqysLG677TaOO+44PvzwQ/Ly8n41N52RkUH//v0TSqnqIom3tF4DXB5CmMmaGevhCWSQJEnVUGFhITNnzgRgn3324fTTT+ejjz7iscceo3Xr1uTk5JCXl0dmZiYhBDIzM8nLy/txT2ppU4UYK/9kRXZ2dpw8eXLSMSRJUiU1a9YsBg4cyMiRIzn++ON56qmnko6kKiiE8E6MMXtTrnUnc0mSVGV9/PHHDBgwgDFjxlC7dm1yc3O5+uqrk46lGshSLUmSqqz8/HyefPJJevbsyZVXXkmjRo2SjqQaytsESZKkKuOdd97h1FNP5emn1+xzcOWVVzJ79myGDBlioVaiLNWSJKnS+/e//81xxx1HdnY2kyZN4uuvvwagfv36NGjQIOF0kuMfkiSpkjv33HMZMWIE2223Hf379+dPf/oT9evXTzqW9DOWakmSVKnEGPnnP//JIYccQnp6Oh07dmTPPffkwgsvpF69eknHk9bK8Q9JklQpxBh59tlnOeCAAzjqqKMYNWoUAJ07d+bKK6+0UKtSs1RLkqRExRh58skn2WeffTjppJNYsGABDz30EF27dk06mlRmjn9IkqTE3X777SxbtowRI0bQuXNn6tSpk3QkaaO4Ui1JkirUqlWrGDFiBPvssw9fffUVIQSeeuoppk2bRrdu3SzUqpIs1ZIkqUKsWLGChx56iN13351zzz0XgHnz5gGw0047UatWrSTjSb+J4x+SJCnlli5dyp577snnn39Ou3btuPfeeznuuOMIISQdTSoXlmpJkpQS3333HS+//DInnngiW265JT169ODggw/myCOPtEyr2rFUS5KkcrV48WLuvfdehg4dyjfffMNnn31G48aNuemmm5KOJqWMM9WSJKlcfPvtt9xwww1kZmbSt29fDjjgAN544w0aN26cdDQp5VypliRJv0mMkRAC33//PYMHD+bYY4+lb9++tG3bNuloUoWxVEuSpE0yd+5cBg0axMcff8zzzz9Po0aNmD17NjvssEPS0aQK5/iHJEnaKAUFBVx88cU0adKEe+65h4YNG7J8+XIAC7VqLFeqJUlSmb344oscf/zxhBDo3r07vXv3pmnTpknHkhJnqZYkSes1bdo0Fi5cyKGHHsrBBx9Mz549ufTSS30DovQTjn9IkqS1+vDDDznjjDPYc8896dmzJzFG6taty+DBgy3U0i9YqiVJ0s98+OGHnHrqqbRp04YXXniB3r178+KLL3rDFmk9HP+QJEkAlJSUkJaWxrRp05g0aRI33ngjl156Kdtuu23S0aRKz5VqSZJqsBgjkyZNokOHDtx6660AnHbaaRQUFHDTTTdZqKUyslRLklQD5Ofnk5WVRVpaGllZWeTn5/OPf/yDQw89lMMPP5yPPvrox+3watWqxVZbbZVwYqlqcfxDkqRqLj8/n9zcXIqKioA1+0x3796d1atXs+uuu3LvvffSo0cPtthii4STSlWXpVqSpGquT58+PxbqH6xevZptt92WmTNnstlmmyWUTKo+HP+QJKkaW716NQUFBWt97ptvvrFQS+XEUi1JUjU1atQoWrZsuc7n3WtaKj+WakmSqpFVq1b9+PmkSZPYcsst6dWrFxkZGT87LyMjg/79+1d0PKnaslRLklQNFBUVcdddd9GkSRPefvttAO6++27eeecdhg4dSl5eHpmZmYQQyMzMJC8vj5ycnIRTS9WHb1SUJKkK++6773jggQcYPHgwCxYs4LDDDqNWrVoA1K1b98fzcnJyLNFSClmqJUmqooqLi9l7772ZNWsWHTt25Prrr+eQQw5JOpZUI1mqJUmqQr7++mtGjRrFpZdeSq1atbjlllto2rQp7dq1SzqaVKNZqiVJqgIWLFjAkCFDuP/++/nuu+844IADOOCAAzj77LOTjiYJ36goSVKltnTpUi677DKysrIYNGgQJ5xwAlOmTOGAAw5IOpqkn3ClWpKkSmj58uWkp6eTnp7O3//+d8444wyuvfZaWrRokXQ0SWthqZYkqRKZOXMmAwcO5KWXXmL69Omkp6czZcoU0tPTk44maT0c/5AkqRKYNm0a55xzDi1atGD06NGcdNJJLF++HMBCLVUBrlRLkpSwDz74gLZt27LFFltw2WWXccUVV9CoUaOkY0naCJZqSZISMHnyZD766CO6du3KXnvtxd13382ZZ55JgwYNko4maRM4/iFJUgV68803OfbYY9lvv/3o06cPq1atIoTAJZdcYqGWqjBLtSRJFeDDDz/kiCOO4OCDD2by5Mnceuut/O9//6NOnTpJR5NUDhz/kCQpRWKMLFu2jHr16hFCYPr06dxxxx3k5uZSt27dpONJKkeWakmSylmMkWeeeYZ+/frRrFkzxo4dS+vWrSkoKKB2bf+vV6qOHP+QJKmclJSU8Pjjj7P33ntzyimnsGjRIjp27Pjj8xZqqfqyVEuSVE4GDhzIGWecwYoVK3j00UeZPn06PXr0SDqWpArgj8ySJG2ilStXMnr0aJo3b84hhxzCueeey2677cZpp51GrVq1ko4nqQK5Ui1J0kZavnw5DzzwAM2bN+e8885j9OjRADRq1IgzzzzTQi3VQJZqSZI2wogRI9htt924+OKL2WmnnXjuued48MEHk44lKWGOf0iStAFLly4lPT2dOnXqsGjRIpo3b86jjz7KEUccQQgh6XiSKgFXqiVJWodvv/2WW265haysLPLz8wHo1asXkyZNokOHDhZqST9ypVqSpF/4+uuvufPOO7n77rtZsmQJJ5xwAnvttRcAaWmuR0n6NUu1JEm/cNJJJ/Hmm2/SqVMn+vTpQ9u2bZOOJKmS88dtSVKNN2fOHK666ioWL14MwKBBg5g6dSpPPPGEhVpSmViqJUk1VkFBARdddBFNmzZl6NChvPLKKwAcdNBB7Lnnngmnk1SVWKolSTXOqlWrOO+882jWrBnDhw/n3HPPZcaMGZx00klJR5NURaWsVIcQ0kMIb4UQPggh/C+EcHPp8SYhhP+GEGaEEMaFEDZLVQZJUs2Wn59PVlYWaWlpZGVlcf/99wNQp04dvv76ay6++GI+/fRTHnzwQZo0aZJwWklVWYgxpuaF1+wzVDfG+F0IoQ7wOtATuBz4W4zxsRDCg8AHMcYH1vda2dnZcfLkySnJKUmqnvLz88nNzaWoqOhnx4cOHUqvXr2IMbolnqSfCSG8E2PM3pRrU7ZSHdf4rvRhndI/ETgCeKL0+EjglFRlkCTVXH369PlVoQYYMmQIgIVaUrlK6Ux1CKFWCOF9YAHwEjAL+DbGuLr0lC+AnddxbW4IYXIIYfLChQtTGVOSVA0VFhau9ficOXMqOImkmiClpTrGWBxj3BvYBdgfaLm209ZxbV6MMTvGmN2gQYNUxpQkVQMxRv71r39x3XXXAdC4ceO1nreu45L0W1TI7h8xxm+BScABwNYhhB9uOrMLMLciMkiSqqcYI88//zy///3v6dChAyNHjuTrr7+mf//+ZGRk/OzcjIwM+vfvn1BSSdXZRpXqEEJaCGGrMp7bIISwdennWwBHAtOAl4HTSk/rBjy9MRkkSfrBxx9/zP77789xxx3H559/zn333cesWbPYbrvtyMnJIS8vj8zMTEIIZGZmkpeXR05OTtKxJVVDG7xNeQhhDHAhUAy8A9QPIdwRYxy0gUsbASNDCLVYU97Hxxj/HkL4CHgshNAPeA8Y/pv+BpKkGqW4uJh58+axyy670KhRI0pKSnj44Yfp2rUrm232811ac3JyLNGSKsQGt9QLIbwfY9w7hJAD7AtcA7wTY9yrIgKCW+pJkmD16tWMHTuWAQMGUKdOHd5//33S0ryHmaTyk+ot9eqU7jN9CvB0jHEV63hzoSRJ5W3lypUMHz6cPfbYg65du1K7dm369OmTdCxJ+pkNjn8ADwGzgQ+AV0MImcCSVIaSJOkHjz/+OOeffz777rsvTz31FCeddJIr1JIqnQ2W6hjj3cDdPzlUEEI4PHWRJEk1WVFREXl5edSvX59zzz2XM844gwYNGtCxY0dv2CKp0lpnqQ4hdIkxjg4hXL6OU+5IUSZJUg20dOlS7r//foYMGcLChQs566yzOPfcc6lTpw5HHXVU0vEkab3W9/uzuqUft1zHH0mSysXo0aPJysqid+/etG3bltdee42xY8cmHUuSymydK9UxxodKP978y+dCCJv9+gpJksruq6++Ii0tjW233ZaGDRty8MEH07dvX/bff/+ko0nSRtvgOz1CCJNCCFk/ebwf8HYKM0mSqrEvv/ySq666iqysLAYMGABAx44deeaZZyzUkqqssuz+cSvwQgjhbmBn4Fjg3JSmkiRVO3PmzOH2228nLy+PlStXcvbZZ9OjR4+kY0lSuSjL7h//CCFcCLwEfAW0jTF+mfJkkqRq5ZprrmHcuHF07dqV3r1707x586QjSVK5Kcv4x/XAPcChwE3ApBDC8SnOJUmq4mbMmEGPHj2YOnUqAP369WPGjBkMHz7cQi2p2inL7vnbA/vHGP9d+ubFo4FeqY0lSaqq/ve//5GTk8Mee+zB2LFjee+99wDIysoiKysr2XCSlCJlGf/o+YvHBUDHlCWSJFVZ3bt3Z+TIkdStW5crrriCK664goYNGyYdS5JSboOlOoTQALgG+B2Q/sPxGOMRKcwlSaoiPvzwQ1q3bk0IgSZNmtCnTx969erF9ttvn3Q0SaowZRn/yAemAU2Am4HZuKWeJNV4r7/+OkcffTRt2rThpZdeAuDGG2+kX79+FmpJNU5ZSvV2McbhwKoY4ysxxh7AASnOJUmqhGKMTJw4kfbt23PIIYfw3nvvMXDgQA488MCko0lSosqyT/Wq0o/zSnf9mAvskrpIkqTKauXKlXTp0oUQAkOHDiU3N5eMjIykY0lS4spSqvuFEOoDV7Bma72tgMtSmkqSVCmUlJTw7LPPMnLkSMaNG8fmm2/OCy+8QIsWLUhPT9/wC0hSDVGW3T/+XvrpYuDw1MaRJFUGxcXFPPnkk/Tr148pU6aw2267MXv2bJo3b06bNm2SjidJlU5ZZqolSTXInDlzaNWqFWeeeSarVq1i1KhRfPzxx96wRZLWw1ItSWLlypW8++67ADRq1Ii9996bcePGMXXqVLp06ULt2mWZFpSkmst/JSWpBlu+fDl//etfue2221i8eDGFhYVstdVWjB07NuloklSlrLNUhxAuX9+FMcY7yj+OJKkiFBUV8dBDDzFo0CDmzZvHQQcdxEMPPcSWW26ZdDRJqpLWt1Ltv6ySVE3973//4/LLL+fwww8nPz+f9u3bE0JIOpYkVVnrLNUxxpsrMogkKXW++eYb7rnnHpYsWcLgwYPZb7/9mDJlCq1atUo6miRVCxucqQ4hpAPnAXsCP25KWnpnRUlSJZOfn0+fPn0oLCxk5513Zp999mHSpEksWbKETp06UVJSQlpamoVakspRWXb/GAXsCBwNvMKauykuTWUoSdKmyc/PJzc3l4KCAmKMfPHFFzzzzDPssccevP/++zzxxBOkpbnxkySVt7L8y9osxng9sCzGOBI4Hmid2liSpE1xzTXXUFRU9Kvj8+fP96YtkpRCZSnVq0o/fhtCaAXUB7JSlkiStNE+++wzLrjgAubMmbPW5wsLCys4kSTVLGXZpzovhLAN0Bd4BqgH3JDSVJKkMvnkk0+49dZbGTVqFLVq1aJevXp89913vzqvcePGCaSTpJpjgyvVMcZhMcZvYoyvxhibxhh3iDE+WBHhJEnr9/jjj/PYY49xySWXMGvWLB588EEyMjJ+dk5GRgb9+/dPKKEk1QwbLNUhhAEhhK1/8nibEEK/1MaSJK3N+++/z2mnncbjjz8OwKWXXsrs2bO588472WWXXcjJySEvL4/MzExCCGRmZpKXl0dOTk7CySWpeivLTPWxMcZvf3gQY/wGOC51kSRJv/TWW29x4okn0rZtW1566SUWLVoEwJZbbknDhg1/dm5OTg6zZ8+mpKSE2bNnW6glqQKUpVTXCiFs/sODEMIWwObrOV+SVI4uvPBC2rVrx5tvvsktt9xCQUEBF1xwQdKxJEk/UZY3Ko4GJnGnKSAAACAASURBVIYQHgEi0AMYmdJUklSDxRh5+eWXadeuHXXr1qVDhw40bdqUiy66iC233DLpeJKktdhgqY4x3h5CmAJ0AAJwS4zxHylPJkk1TIyR559/nn79+vHvf/+be+65h0suuYTTTz896WiSpA0oy0o1McbngedTnEWSaqQYIxMmTKBfv368++67ZGZm8sADD9C9e/eko0mSymidpTqE8HqM8fchhKWsGfv48Skgxhi3Snk6SarGYoyEEAC44447WLx4McOHD+ecc86hTp06CaeTJG2MdZbqGOPvSz86wCdJ5Wj16tWMGTOGoUOH8n//9380atSI8ePH06BBA2rXLtMvECVJlUxZ9qkeVZZjkqT1W7lyJQ8//DAtWrSgW7duxBiZP38+AI0aNbJQS1IVVpZ/wff86YMQQm1g39TEkaTqqaioiD333JPZs2eTnZ3N0KFDOfHEE38c/5AkVW3rXKkOIVxbOk+9VwhhSemfpcB84OkKSyhJVdSyZct4+uk1/1xmZGRw/vnn88ILL/DWW29x0kknWaglqRoJMcZ1PxlCGjAsxtij4iL9WnZ2dpw8eXKSESSpzJYsWcJ9993HHXfcwVdffcXMmTPZbbfdko4lSdqAEMI7McbsTbl2vTPVMcYSoM0mpZKkGmbJkiXcfPPNZGVlcd1115Gdnc0bb7xhoZakGqAstyn/Twhhv5QnkaQq6off+K1YsYJBgwZx6KGH8tZbb/H8889z0EEHJZxOklQRyvJGxcOBC0MIs4Fl/P99qvdKZTBJquzmzZvH4MGDee+995g4cSINGjTg008/ZYcddkg6miSpgpWlVB+b8hSSVIV8/vnn3H777Tz88MOsWrWKzp07U1RURN26dS3UklRDbbBUxxgLQgi/B5rHGB8JITQA6qU+miRVPi+//DJHH300MUa6du3KtddeS7NmzZKOJUlK2AZLdQjhRiAbaAE8AtQBRgMHpzaaJFUOn3zyCXPmzOHwww/nwAMPpGfPnlxyySVkZmYmHU2SVEmU5Y2KpwInsWaemhjjXMBbl0uq9qZOnUrnzp1p2bIll1xyCTFG0tPTGTRokIVakvQzZSnVK+Oat7ZHgBBC3dRGkqRkTZ06lU6dOtG6dWueffZZrrzySv71r395sxZJ0jqV5Y2K40MIDwFbhxD+CPQAHk5tLEmqeCUlJaSlpTFz5kwmTpzI9ddfT8+ePdluu+2SjiZJquTWe0fFH08KoSNwFGu20/tHjPGlVAf7Ke+oKCmVXn31VW655RYOPPBA/vKXv1BSUsLSpUupX79+0tEkSRUoJXdUDCHcG0I4CCDG+FKM8aoY45UVXaglKRVijPzzn//ksMMO47DDDuPDDz+kUaNGAKSlpVmoJUkbZX0z1TOAISGE2SGE20IIe1dUKElKtd69e9OxY0dmzZrFXXfdxezZs7nooouSjiVJqqLWOVMdY7wLuCuEkAmcBTwSQkgHxgKPxRg/qaCMkvSblZSUMGHCBPbee2+aNm3KWWedRdOmTenevTubb7550vEkSVXcBnf/iDEWxBhvizG2BTqzZou9aSlPJknloLi4mLFjx7LXXnvRqVMnHnroIQDatm3LBRdcYKGWJJWLDZbqEEKdEMKJIYR84HngE6BTGa7bNYTwcghhWgjhfyGEnqXHtw0hvBRCmFH6cZvf/LeQVOPl5+eTlZVFWloaWVlZ5OfnM2bMGH73u9/RuXNnYozk5+fTv3//pKNKkqqhde7+Ubrjx9nA8cBbwGPAhBjjsjK9cAiNgEYxxndDCFsC7wCnAN2BRTHGgSGE3sA2McZr1vda7v4haX3y8/PJzc2lqKjox2MZGRkceOCBfPXVV/Tt25c//OEPpKWVZWt+SVJN9Vt2/1jfPtXXAWOAK2OMizb2hWOM84B5pZ8vDSFMA3YGTgbal542EpgErLdUS9L69OnT52eFGqCoqIhPPvmEgoICb9oiSUq59b1R8fDy+iIhhCygLfBfoGFp4SbGOC+EsMM6rskFcgEaN25cXlEkVTPLli2joKBgrc998cUXFmpJUoVI+e9CQwj1gCeBXjHGJWW9LsaYF2PMjjFmN2jQIHUBJVVZJSUlZGev+7d0/kAuSaooKS3VIYQ6rCnU+THGv5Uenl86b/3D3PWCVGaQVL1888033HnnnRQXF5OWlsbNN9/MjTfeSEZGxs/Oy8jI8E2JkqQKk7JSHdb8znU4MC3GeMdPnnoG6Fb6eTfg6VRlkFR9LFy4kOuuu47MzEwuu+wy3nzzTQDOOOMMbrrpJvLy8sjMzCSEQGZmJnl5eeTk5CScWpJUU6xz94/f/MIh/B54DZgClJQevo41c9XjgcZAIXD6ht4I6e4fUs21bNkybrjhBh588EG+//57Tj/9dPr06cNee+2VdDRJUjWTqt0/fpMY4+vAut4h1CFVX1dS9bB8+XLS09NJT0/n+eefp1OnTlx33XXsscceSUeTJOlXUlaqJWlTfPrpp9x66608//zzTJ8+nbp16/Lee+9550NJUqXmnRAkVQrTp0+nW7du7L777owaNYqTTz6ZFStWAFioJUmVnivVkhI3bdo09txzT9LT07n00ku58sor2WmnnZKOJUlSmVmqJSXi3Xff5f3336dHjx60bNmSe++9l9NOO40ddljr/aAkSarUHP+QVKH+85//cPzxx7PvvvvSp08fli9fDsDFF19soZYkVVmWakkVYurUqRx55JEceOCB/Pe//6V///58/PHHpKenJx1NkqTfzPEPSSkTY2TZsmXUq1ePOnXqMG3aNAYNGsSFF15IvXr1ko4nSVK5sVRLKncxRp577jn69evHTjvtxN/+9jdatGhBQUEBtWv7z44kqfpx/ENSuSkpKeHJJ59kn3324cQTT2T+/Pkcc8wxPz5voZYkVVeWaknlZujQoZx22mksW7aMRx55hE8++YTc3NykY0mSlHIuG0naZKtWrWLMmDE0btyYww8/nG7dutGoUSPOOOMMV6UlSTWKK9WSNtqKFSvIy8ujRYsWdO/enUcffRSA7bffns6dO1uoJUk1jqVa0kYZPXo0zZo144ILLqBBgwY8++yz/PWvf006liRJiXI5SdIGLVu2jDp16rDZZpuxePFimjRpwl//+leOPPJIQghJx5MkKXGuVEtapyVLljBgwAAyMzN55JFHALjooot49dVX6dixo4VakqRSrlRL+pVFixZx1113cffdd/Ptt99y3HHHse+++wKQlubP4pIk/ZKlWtKvdOrUiUmTJnHqqafSt29f9tlnn6QjSZJUqVmqJTFv3jyGDh3KNddcw3bbbcfAgQPJyMigdevWSUeTJKlKsFRLNVhhYSG33XYbw4cPZ/Xq1bRr145OnTrRrl27pKNJklSlWKqlGqi4uJiLLrqIESNGANC9e3d69+5N06ZNkw0mSVIVZamWapD58+fTsGFDatWqxeLFi8nNzeXqq6+mcePGSUeTJKlKs1RLNcCUKVPo168fTz31FB999BHNmjXjsccec0s8SZLKiXtjSdXYO++8w6mnnspee+3F//3f/3HFFVewzTbbAFioJUkqR65US9XU119/zcEHH8wWW2zBjTfeyKWXXsq2226bdCxJkqolS7VUheXn59OnTx8KCwvZddddOeecc1i5ciW333472223HRMmTODAAw+kfv36SUeVJKlaCzHGpDNsUHZ2dpw8eXLSMaRKJT8/n9zcXIqKin52fKuttuKTTz6hYcOGCSWTJKlqCiG8E2PM3pRrnamWqqg+ffr8qlAD1K9f30ItSVIFc/xDqmJKSkqYO3cuhYWFa33+iy++qOBEkiTJlWqpiiguLmbMmDG0bt2aI488kl133XWt57nntCRJFc9SLVVyq1atYsSIEbRs2ZKcnBxCCNx4443069ePjIyMn52bkZFB//79E0oqSVLN5fiHVMk9/fTTnHvuubRt25Ynn3ySU045hbS0NT8Pp6Wl/bj7R+PGjenfvz85OTkJJ5YkqeZx9w+pkvn+++95+OGHSU9PJzc3l+LiYv75z39y1FFHecMWSZJSyN0/pGrgu+++Y/DgwTRp0oSePXvy4osvAlCrVi2OPvpoC7UkSZWYpVqqBMaNG0dWVhZXXXUVe+21F6+88gpPPPFE0rEkSVIZOVMtJWTRokUUFxfToEEDdtxxRw444AD69u3LAQcckHQ0SZK0kVyplirYggUL6N27N5mZmdx8880AHHbYYfz973+3UEuSVEW5Ui1VkLlz5zJo0CAeeughli9fzplnnsmFF16YdCxJklQOLNVSBenbty+PPvooXbp04dprr6VFixZJR5IkSeXE8Q8pRWbNmsX555/Pu+++C8BNN93EJ598wogRIyzUkiRVM5ZqqZx9/PHHdO3alRYtWjB69Gjee+89YM3tw5s2bZpwOkmSlAqOf0jlKDc3l2HDhrHFFlvQs2dPrrzySho1apR0LEmSlGKuVEu/0YcffsgPdyZt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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FkOAdhnN2u_R",
+ "colab_type": "text"
+ },
+ "source": [
+ "### Now let's create a Random Walk"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "XSAbdUDx2u_T",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "step_option = [1,-1]\n",
+ "step_choice = choice(step_option)\n",
+ "# step_choice"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "J0W1gGEp2u_W",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "2e7f9e63-bd34-4651-dcee-ad250fbadf30"
+ },
+ "source": [
+ "walk = []\n",
+ "walk.append(step_choice)\n",
+ "for step in range(1,1000):\n",
+ " next_step = walk[step-1] + choice(step_option)\n",
+ " walk.append(next_step)\n",
+ "print(walk) "
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "[1, 0, -1, 0, 1, 0, -1, 0, -1, 0, -1, -2, -3, -2, -1, -2, -3, -4, -5, -6, -5, -4, -3, -4, -3, -4, -3, -4, -5, -4, -3, -4, -3, -2, -3, -2, -3, -2, -1, -2, -1, 0, 1, 2, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 5, 4, 5, 4, 3, 2, 3, 2, 1, 0, 1, 0, 1, 2, 1, 2, 3, 4, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 12, 13, 14, 15, 14, 13, 12, 11, 10, 9, 10, 11, 12, 11, 12, 11, 12, 11, 10, 9, 8, 9, 8, 9, 10, 9, 10, 9, 10, 11, 10, 9, 8, 7, 8, 7, 8, 9, 10, 11, 10, 11, 10, 9, 8, 9, 10, 9, 10, 11, 12, 11, 10, 11, 10, 9, 8, 7, 8, 9, 8, 7, 6, 7, 8, 7, 8, 9, 10, 11, 12, 11, 12, 11, 10, 9, 8, 7, 8, 7, 8, 7, 8, 7, 8, 9, 10, 9, 10, 11, 10, 11, 10, 9, 8, 7, 8, 9, 8, 7, 6, 7, 8, 9, 8, 7, 6, 5, 6, 7, 6, 5, 6, 5, 4, 3, 4, 3, 4, 3, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3, 4, 5, 6, 7, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 2, 1, 0, -1, -2, -3, -2, -3, -2, -3, -4, -5, -4, -3, -4, -5, -6, -5, -4, -5, -4, -3, -4, -3, -2, -1, 0, -1, 0, 1, 2, 1, 2, 1, 2, 1, 0, 1, 2, 1, 2, 3, 2, 3, 4, 5, 6, 5, 4, 5, 6, 7, 6, 7, 6, 5, 4, 3, 4, 5, 6, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 8, 7, 6, 5, 6, 7, 8, 9, 8, 9, 10, 9, 8, 9, 10, 9, 8, 9, 8, 7, 8, 7, 8, 9, 10, 9, 10, 9, 10, 11, 12, 13, 12, 13, 12, 13, 14, 13, 12, 13, 14, 15, 14, 13, 14, 15, 16, 15, 16, 17, 16, 17, 16, 15, 14, 13, 14, 15, 16, 17, 16, 17, 16, 17, 18, 19, 20, 19, 18, 17, 18, 19, 18, 19, 18, 17, 18, 19, 18, 17, 18, 17, 16, 17, 18, 19, 18, 19, 20, 19, 20, 19, 18, 19, 20, 21, 20, 21, 22, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 25, 26, 27, 26, 25, 24, 25, 26, 25, 26, 27, 26, 27, 26, 27, 28, 29, 28, 29, 30, 29, 28, 29, 28, 29, 28, 29, 30, 29, 30, 29, 30, 29, 30, 29, 28, 27, 26, 27, 28, 29, 28, 27, 28, 27, 26, 25, 24, 25, 24, 23, 24, 25, 24, 23, 22, 23, 24, 23, 24, 25, 24, 25, 26, 25, 24, 23, 22, 21, 22, 23, 22, 23, 24, 23, 22, 21, 22, 23, 24, 25, 24, 25, 24, 23, 24, 23, 22, 23, 22, 23, 22, 23, 24, 23, 24, 23, 22, 21, 22, 23, 22, 21, 22, 23, 22, 21, 22, 21, 20, 21, 22, 23, 24, 25, 26, 27, 28, 27, 26, 27, 28, 27, 28, 29, 28, 29, 28, 27, 28, 27, 26, 25, 26, 25, 24, 25, 26, 25, 24, 23, 24, 25, 24, 23, 22, 21, 22, 21, 22, 23, 24, 25, 24, 25, 24, 23, 24, 23, 22, 23, 24, 25, 26, 27, 26, 27, 28, 29, 30, 31, 32, 31, 32, 33, 32, 33, 32, 33, 32, 31, 30, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 33, 32, 31, 30, 29, 30, 31, 30, 31, 32, 31, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 24, 23, 24, 23, 22, 23, 24, 23, 22, 23, 22, 23, 24, 25, 26, 25, 24, 25, 26, 25, 24, 23, 24, 25, 26, 25, 26, 25, 24, 25, 24, 23, 24, 25, 26, 25, 24, 25, 24, 25, 24, 23, 24, 23, 22, 23, 22, 21, 20, 21, 20, 19, 20, 19, 18, 19, 18, 19, 20, 19, 18, 17, 18, 17, 18, 19, 18, 19, 18, 19, 18, 19, 20, 19, 18, 19, 20, 21, 20, 21, 20, 19, 20, 21, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 30, 31, 30, 29, 28, 29, 30, 29, 28, 27, 28, 29, 28, 29, 28, 27, 26, 27, 26, 25, 24, 25, 24, 25, 26, 27, 26, 27, 26, 25, 24, 23, 22, 23, 24, 25, 26, 25, 26, 25, 24, 25, 26, 27, 26, 27, 26, 25, 24, 25, 26, 25, 24, 25, 24, 23, 22, 21, 20, 21, 22, 23, 22, 23, 24, 25, 24, 25, 24, 25, 24, 25, 24, 23, 22, 23, 24, 23, 24, 23, 22, 23, 24, 25, 24, 23, 24, 23, 24, 25, 24, 25, 24, 23, 24, 25, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 33, 34, 35, 34, 33, 34, 35, 34, 35, 34, 35, 34, 33, 32, 31, 30, 31, 32, 31, 32, 33, 32, 31, 30, 31, 30, 29, 30, 31, 32, 31, 32, 33, 32, 33, 32, 31, 30, 29, 30, 31, 32, 31, 32, 33, 34, 35, 36, 35, 34, 33, 34, 33, 32, 31, 32, 33, 34, 33, 32, 31, 32, 33, 34, 35, 34, 33, 34, 33, 34, 35, 34, 33, 34, 33, 32, 31, 30, 29, 30, 31, 32, 31, 32, 31, 32, 33, 32, 33, 34, 33, 32, 31, 30, 29, 30, 29, 28, 29, 28, 29, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 35, 34, 35, 36, 37, 36, 37, 36, 35, 36, 35, 36, 37, 38, 37, 36, 35, 36, 37, 38, 37, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 34, 33, 34, 33, 34, 33, 32, 31, 32, 31, 30, 29, 30]\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "30DkR5fe2u_Z",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "c6e48035-4884-4647-b1af-876264b99667"
+ },
+ "source": [
+ "plt.plot(walk)\n",
+ "plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Nkw6co6n2u_e",
+ "colab_type": "text"
+ },
+ "source": [
+ "### Using functions would be better"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "dJI8f-ln2u_f",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "def rand_walk(step_num):\n",
+ " walk = []\n",
+ " step_choice = choice([1,-1])\n",
+ " walk.append(step_choice)\n",
+ " for i in range(1,step_num):\n",
+ " step_choice_2 = choice([1,-1])\n",
+ " next_step = walk[i-1] + step_choice_2\n",
+ " walk.append(next_step)\n",
+ " return walk "
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "hb2cDCFp2u_j",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "ee00aed6-09bb-43d2-c9a7-93be404d819d"
+ },
+ "source": [
+ "random_w = rand_walk(100)\n",
+ "print(random_w)"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "[-1, 0, 1, 0, -1, 0, 1, 2, 3, 4, 5, 4, 5, 6, 5, 4, 5, 4, 5, 4, 3, 2, 1, 2, 1, 0, -1, 0, 1, 0, 1, 0, -1, -2, -1, 0, 1, 2, 3, 2, 1, 2, 3, 2, 1, 0, 1, 2, 3, 4, 5, 4, 3, 4, 3, 2, 1, 0, 1, 2, 3, 2, 1, 0, -1, 0, 1, 0, 1, 2, 3, 4, 3, 2, 3, 4, 3, 2, 1, 2, 3, 2, 3, 4, 3, 2, 3, 4, 3, 2, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2]\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "8DY5n_eW2u_n",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "def plot_walk(walk):\n",
+ " \n",
+ " \n",
+ " plt.plot(walk)\n",
+ " plt.xlabel('Number of Steps')\n",
+ " plt.ylabel('Distance from Origin')\n",
+ " plt.title('Our Random Walk')\n",
+ " plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "kGGZBimg2u_r",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "dd4deeb8-6c25-41f3-c680-d808b6828817"
+ },
+ "source": [
+ "plot_walk(rand_walk(1000))\n"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "_sQhRF_M2u_u",
+ "colab_type": "text"
+ },
+ "source": [
+ "### We can create a function to plot more than 1 random walk"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "fn1lkoo82u_w",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "def plot_walks(num,walk_steps):\n",
+ " \n",
+ " lab_list = list(range(1,num+1))\n",
+ " for i in range(0,num):\n",
+ " \n",
+ " x = list(range(1,walk_steps+1))\n",
+ " \n",
+ " plt.plot(x,rand_walk(walk_steps),label = 'Plot Number' + ' ' + str(lab_list[i]))\n",
+ " plt.xlabel('Number of Steps')\n",
+ " plt.ylabel('Distance from Origin')\n",
+ " plt.title('Our Random Walk')\n",
+ " plt.legend(loc='lower left')\n",
+ " plt.show()"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "3LzxDFXI2u_z",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "30f35605-f245-4fb6-bcf7-b51203a8e573"
+ },
+ "source": [
+ "plot_walks(5,100000)"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAGDCAYAAAAYmcfWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzddXwUx/vA8c/EgwR3Cy5tcHcvWoUqFCn1b70FihUobaG/Qlug1AUplFKnuLsTILgGd7f4/v7Yy93t7Z4kxEif9+vVF7szs7sTCtzc7DPPKE3TEEIIIYQQQqQPv8zugBBCCCGEENmZDLiFEEIIIYRIRzLgFkIIIYQQIh3JgFsIIYQQQoh0JANuIYQQQggh0pEMuIUQQgghhEhHMuAWQghhoJTqrZRandn9SCml1HKlVD/b8V35MwghsicZcAshxB2yDe6ilFK3lFJnlFJfKqXypvEzNKXUTaXUDaXUSaXUOKWUf1o+I6MppRYopfo7nZew/ZxWZUUzp5dCCHHnZMAthBB3QCn1FjAGeAfIAzQEygCLlFJBqbhfgIfqGpqm5QJaAI8BfVPe4yxlJfrPkqw5sNei7ICmaWcysmNCCJGWZMAthBCppJQKA0YAr2iaNl/TtHhN06KBR9EH3T1s7X5SSo1yuq6lUuqE03m0UmqAUmoHcNPLoBtN0w4Ca4CaTvfoo5Tao5S6rpQ6rJR63vV5Sqm3lFLnlFKnlVJ9nOoLKKX+UUpdU0ptBMq7/JyNlVKblFJXbb82dqpbrpQapZRaa5t9n22738+2+21SSoW7+VFWAk2UUsmfRc2Az4C6LmUrbc/Kp5T6Vyl1Xil12XZc0tPvlVM//08ptVoplceX9kIIkZZkwC2EEKnXGAgB/nAu1DTtBjAPaJeCez0BdAbyapqW4KmhUqoK+kD0oFPxOaALEAb0AT5VStV2qi+KPgNfAngG+EIplc9W9wUQAxRDnzW3z5wrpfIDc4DxQAFgHDBHKVXA6d6PAz1t9y4PrAN+BPIDe4D33PwoG4FgoIbtvDmwyPZzOZettB372e5bBigN3AYmurl3cv/9lFLfAtWB9pqmXfXUXggh0oMMuIUQIvUKAhfcDJBP2+p9NV7TtOOapt320GarUuom+iB2OTApuULTtDmaph3SdCuAheiD8mTxwEjbLPxc4AZQ2RYH/ggwTNO0m5qm7QQmO13XGT2kY6qmaQmaps1AD/vo6tTmR9uzr6J/0Tikadpi2+/LLKCW1Q+jaVossAFobhvY59U07TCwyqmsGrDC1v6ipmm/a5p2S9O068AHGMNPXAUCM9AH/l01Tbvloa0QQqQbj68thRBCeHQBKKiUCrAYdBez1fvquA9tagOHgO7AaCAnEAuglOqIPpNcCX0yJQcQ5XTtRZc+3gJyAYXQPwucn3/U6bi4y3lyfQmn87NOx7ctznN5+JlWos9iRwPJWUVWo8/SRwPHNU07CqCUygF8CnQAkmfncyul/DVNS7S4dwX0mfL6mqbFeeiDEEKkK5nhFkKI1FuHPuB92LlQKZUT6AgssRXdRB8AJ7PKuKH58kDbDPavtmcPsz0vGPgd+AQoomlaXmAuoHy45XkgASjlVFba6fgUeggHLvUnfemvD1aiz8Q3R5/ZBj0+vQnGcBKAt4DKQANN08Js9eD+59yDPnCfp5SqnEb9FUKIFJMBtxBCpJIthGIEMEEp1UEpFWhbIDgLOAFMtTXdBnRSSuW3pbd7PQ0ePxp4zna/IPRY6PNAgm22u72PP0Miegz6cKVUDqVUNaCXU5O5QCWl1JNKqQCl1GPoYR7/psHPALAWyIu+wHSVrU+XbT9LD4wD7tzoM+ZXbOEm7mLD7WwhMIOAxUqp8t7aCyFEepABtxBC3AFN0z5GH9B9AlxDj0k+DrSxxSiDPvDejh4isRCYmQbPjUKPbX7HFs/8KvArcBl4EvgnBbf7H3rYxxngJ/SFicnPuYi+GPMt4CLQH+iiaVpKwmXcssVVb0H/wrDTqWoVUBjjgPszIBQ9VGc9MN/HZ0wGRgJLPWRMEUKIdKM0zae3mEIIIYQQQohUkBluIYQQQggh0pEMuIUQQgghhEhHMuAWQgghhBAiHcmAWwghhBBCiHQkA24hhBBCCCHSUbbeabJgwYJaeHh4ZndDCCGEEEJkc1u2bLmgaVohq7psPeAODw9n8+bNmd0NIYQQQgiRzSmljrqrk5ASIYQQQggh0pEMuIUQQgghhEhHMuAWQgghhBAiHcmAWwghhBBCiHQkA24hhBBCCCHSkQy4hRBCCCGESEcy4BZCCCGEECIdyYBbCCGEEEKIdCQDbiGEEEIIIdKRDLiFEEIIIYRIRzLgFkIIIYQQIh3JgFsIIYQQQtzVoi/cJCY+kQNnr2d2VywFZHYHhBBCCCGESK0Rs3fx45po+/kn3WvQrU7JzOuQBZnhFkIIIYQQd5Vdp65y6WYciUmaYbANcOVWXOZ0ygOZ4RZCCCGEEHeNyzfj6Dx+NQDtqhUx1a8/fIl+zcpldLc8khluIYQQQmRL8YlJ/BV5Ek3TMrsr2cb241fYdyZz46Rrvb/Ifrxo91lT/eDOVTOyOz6RAbcQQgghsqWvlh/i9ZnbKPvuXOISkjK7O3e9q7fieeCLNdz32crM7opb/ZqWpWzBnJndDRMZcAshhBAiWzpy4ab9eNm+c5nYk+zhyxWHMu3Z4QPnED5wjtv6asXCCArw43+tK2Rgr3wnMdxCCCGEyJYW73GEG3w8fy/33VM0E3tz9/sqBQPu89djKZgrCKXUHT/XOSTI3aD7j5caExLof8fPSi8ywy2EEEKIbCcmPpFrMQn280Pnb3IrLoHwgXPYefJqJvbs7nT80i2f2/6z/RT1PljMI1+uTZNn/73tlNc2WXmwDTLgFkIIIUQ2ExOfSJWh803l1YYtAKDLhNVp/sxLN+NYuOtMmt83s2iaxovTtrBsrx6K0+zjZYb6Vp8sd3vtjA3HANh67Arv/rGDW3EJbtv64piXwX7eHIF3dP+MIANuIYQQQmQrr/0S6bXNwXM30vSZtd9fxHNTt7DrVPaYPY9NSGLezjP0+WmTZf2RCzctwzs0TWPd4Yv28xkbj/PrpuN31JeNRy6Zyt5qV4k32lZi85C2bBvW/o7unxFkwC2EEEKIbGPF/vMs2GVOFeeq7bgVKQqT8MR5QWbn8asZ+tfONLlvZnpmsmOg/VfkSY9ttx67TNcJqzl47jpNxywz1U9a7j32+0ZsAlPXH7WsW33wgqnMz0/xWtuKFMwV7PXeWUGmD7iVUv5KqUil1L+287JKqQ1KqQNKqZlKqSBbebDt/KCtPjwz+y2EEEKIrKfXDxsN50M85GTeffpamjyzz4/GWWB3A8e7yZqDjlnq12dusx+vf7eNod38nad5eNJaok5epe24lZy8ctt0r3PXY70+7973FjD0r52sPuAYXP+84Shbj12md+NwACKHtrPXFcsT4vPPkhVk+oAbeA3Y43Q+BvhU07SKwGXgGVv5M8BlTdMqAJ/a2gkhhBBCADB1XbSprEfDMm7bvzI9kmsx8enXoSwqOcXeYotNYwCindIpuiqaJ4S6ZfLZz1+YttXn5166GUdCoud86D2+34CmaYyZv5fBf+7k4UlryRnsj7+fIm+OQFb1b8XzLcrxcO2SPj83K8jUAbdSqiTQGfjOdq6A1sBvtiaTgQdtxw/YzrHVt1FpkWtGCCGEENnC0L93Gc73j+pISKA/24a147G6pQAY9eC99vq4xCSqD194R89MSrLexdJdeVrYefIqO05cAWDvmWtEHrvs87U/rjliP+43ZbOpPj4xiZYeFkQC9Gzk/ktMsrUDWxvOwwfOofb7i6gweB67T3l+s1D23bl86RSGMnv7aXIG+aOUolT+HLzbMevtJOlNZs9wfwb0B5K/7hQArmialryc9QRQwnZcAjgOYKu/amtvoJR6Tim1WSm1+fz58+nZdyGEEEJkgn+2nyJ84Bx7Bg2Ac9diDG1+6F2XoAB9mJM3RxBjulUnenRnejQsYwhNALgZm/osGuUGzbUfv+K06crt+MRU39ObLhNWc//ENazYf54On63ioUlr2eNjeMyI2bsN565fDA6cdb+YdNozDQB8ymdeNCyE6NGdLes6jV9F+MA5dB6/ihuxCTQZvdTjvY5dumVI8Xg3yrQBt1KqC3BO07QtzsUWTTUf6hwFmvaNpml1NU2rW6hQoTToqRBCCCGykldn6FlI+vy0iYs39Pjg+h8uMbRpXaWI2+td08jd896CVPXj8Hnj4PSt9pV5qWV5+z17/7jR6rI74rwJjHO8esfP9UHsw5PWWF538spt6n2w2FT+/eojbDl62R5mMm2DI/58WJdq9uMXW5anacWCgJ7z+shHnTz208/PexDCrlPXaDt2hWXcd3aTmTPcTYD7lVLRwC/ooSSfAXmVUsk7YJYEkrOdnwBKAdjq8wDmPDFCCCGEyLYOnL1uOD9sEW/8y3MNPd7DKiLV07bh7rQeu8JUVr5QLvvx8n1p/6b9WYswEGdbj10hLsEcJ91k9FLOWyxe/GDuHsMGNc5vDZxDR/7XyrhlutXv4aEPzYPw1QNaeezvGac3E60qZ9+J0kwbcGua9q6maSU1TQsHHgeWapr2FLAM6GZr1gv423b8j+0cW/1SzflrnhBCCCGyvXafrjScP/b1OsPiv+3D2tOwnCni1CcjZjtiwHefusbBc9fdtnVd/Df9WT3cIjmMJT1cvBHL4j3nvLarNGQe83ee4eKNWOLdLFJsZputdnX6qj4A/rlfAwL9/fihd10alStAjiDzTo5rnOK0d4+8D38/RfTozoZQkiJhvmcTuRWXfmE4mS2zY7itDADeVEodRI/R/t5W/j1QwFb+JjAwk/onhBBCiEwwZ8dpU1mSZlz8l+cOdh38cU00mqbxzE+b6DR+FW3HrXTb1jk3dFhIAI3L6wNY5xnitFZnlDkkxJ0Xpm2hzqjFVBw8z1T3RP1SvNCivMfrG5fXv7S0rlKEGc81tJzRLpE3lC7ViwGQIyjAVA8Q6O/7UHOoUwgLwN8vN/H52qwuSwy4NU1brmlaF9vxYU3T6muaVkHTtO6apsXaymNs5xVs9Yczt9dCCCGEyCgJiUkM+zvtNpR5t2MVGpcvQE6Xmdsvlh1kidOg+ZeNx/hn+ylcX6r/34J99uPt7zl2OiyU27ERS4m8oWnWX1fzXmtmP36ifukUXfvhQxGUzp/DYxtfE8FNfLK228WRyXYMb8+6d1sbfm9cvdCiPPeWyMOwLtUY0KEKe9/vQI1See151Efcf49P/cmqrL+OCCGEEEJkIQ9NWsvFm3H286AAP1Os8kwvsdvOnm9RnudblEfTNL5ccYiP5+sD6E8W7je0G/hHFACzt5/im5517ANR52c7D05fb1uJr1fqc4Inr9wmMUkjMUlL81CTqsXCGNalGiP/3c17XavRvGJBXvzZOie265eF5PR6q/q34u9tJ00/c1oLCwkkLCSQTYPbmup6fr+BcgVzMrBjFQD6Ni1rqO/XrBwd7i1KyXyevyBkdSo7h0HXrVtX27zZ8+ICIYQQQmRtS/ac5ZnJjs/zea81o0LhXKZwCW8zrZ74smiyUbkCzLAN6scu3MeEpQfZP6qjaTD92i+R/L3tlKFs7qvNqFY8LNX9c+7jkM5V6desnGWbmPhEqgydbyhrU6UwS/ae4/nm5XijXSVCAo2z+scv3eJGbAIdP19lL7uT38v/KqXUFk3T6lrVZYmQEiGEEEIIK5qmGQbbAGUL5iTQ34/qJfOk2XOWv93Sa5t1hx3bnW85qm82YzVz/fnjtUxlnSesMpV5k5CYxAVb2sPrTjtiPuMyC+wsJNDfNFhODpHZeuyyabANUCp/DqoWc3wZ+LlfgxT3VXgmA24h/msWDIbz+7y3E0KILOCntdGG8wI5g+yDxql9HQPDLUPM4QopERzoGBI93agMUcPbe2gNaw9d9Fjftmphw3mPBt53Z3QWl5BEhcHzqDtqMScu32LKOj0/dp7QQJ/iq3/sXY8BHaoYynae9G1znPCCOVPUV+GdDLiF+C+5fgbWTYQv6md2T4QQ/3Hzok7z6SI9dnjqumjWHrpg2c55Z8Spz9Rni9Mukc4ZSQrkcr8gzxeFczvS14184F5yhwRahlWED5zDzpNXvd5vwhO1DedT1x8lJgW7Tz431TGr33TMMvsiTddBtDutqhSmTpl8hrL3ulZz01p38IOOLHu7Zbou9vyvkkWTQvyXXEjfhTFCCOGr5AV+GjB+yQF7+eS+9WlRybwByiO1S9Ksorl8+3vt8fdhV0Nv/P0UGwa1MeWtTh50O8d4P+dl8xmA0CB/GpUrYAhD2RR9yfJncPXuH1FuN80pld/3wXD9svkN58mpC90J8PejrMxupwuZ4Rbiv2RyV8fxJ5Vg3D2QZL0pghBCpJebsQn2Y+fBNujblVvNBI99tIblvfKEBpIrOG3mD4uEhfiUDePU1RivbQCm9WvA1z3r2M+TQzr6/7bd4yLNGRuPua27GZv6zWHy5wpK9bVZ2cXbF/lh5w9M2jYps7vilsxwC/FfdcO2M9s//4PQfFCmCVSxbcs7Ih9oSTDc+2tTIYSwcuLyLU5diTHNsgLc894Cj9cev3SLHSeuMifKvNFNZnm1TUXTl4PfX2zk8Rp/P8V99xS1n4+Zv5cXW5bn180nALgWE09YSMo26qlSNHeK2jtLqy8mWU2PuT04cUP/PX2p5kuZ3BtrMsMtRHYWHwNXbDMlty5Zt9n2sx7X/csTcPGQXqbZZr1Pb0//PgohsqWmY5bx6Nfr7DmgwwfOIXzgHHvWDU/e+W0Hb83aztJ03LUxpR6vV8pUVr1kXp+unfGsIz/4k9+utx//ufVkivuR0gWN3euUTPEzsqIkLYllx5YZynZe2EnE5Aj7YBsgMSlrbg8vA24hsrMPisBnERBzDX7r67398tHG8x86gnOu/tuXHYNyIYTwwcWbccQmOAZBdX3Ynnz3Kd+yaWSk4nlD6dGwNLmdZol93ba8kW2bdDBmN3nvn12WoSW5QwIokTeUua86dpPs3TicbcPamdp683G36oztXoM9Izuk+NqspMaUGry67FV+3fcrAL/t/40n5jxhancj/kZGd80nMuAW4r9gZg/jbHWXT63b7Z8Pe/51nMffhBF5Yfc/kBALY8JhQm2J+xbiPyg+MYmExJT/3a87ajGVh8z32m7DoDb81KceAHEuz2ldpbDVJRlu1IMRtKtWBMDjNuUptfGI4w2kpmlcj0ng5JXbVCmam3IFczK5b32G338PeXOkPAZbKcUjdUoSGmTOv52VfbThI/ouME8Uzdw3kzM3zzBi3QjL6watHpTeXUsVGXAL8V9wZAXctv2D3ukTqNsXBkSb28Veg5lPmct/7QmjnD7wRuYztxFCZGsVB8+j9dgVaXrPjx+pbj8unDvYbQaPL3vUtizPDH9E6mEg5697D41xVrFwLrd1j369zn5822nBqJ+fYunbLS2ztqTW1dirfLrlU+KT4r03ziSapjF973Q2ndnE0WtHiUlwLFLdf3k/7X5zP9O/8sRK01b2WYEMuIXIzgItVtvXf1b/NTSfdb2vZJZbiP+MxCR9AHPs0i2+WmEOK4tPTCJ84Bz+sg1Gfck3feSjTnSvW5K32lVi+7D2KKXcpvcLDsh6s7MpTZ934JxvoQ5/pCKuOyWa/tKUH3b+wMrjK9P1OXfC+ctA1IUooq9Fp+j6rDjLLQNuIbKz+Fue6/sfhpc3pS4byb65MDwPrP8qdX0TQmQZ0zcc44+tJ9zW7zrl+Ddi9Ly9/L7FeZGaRsXB8wB4feY2zl2LocpQ6xCS2qX1RYZ1yuRDKYVSilfaVDRsYONsxrMNGfXgvSn+edLTlL76xmHO6f7Swu9bThA+cA5D/toJwBP1S6fp/QG+3P6l/fj15a/z675fuRxzOc2fkxqz9s9i9qHZAFyJvWIvL5mrJI/9+5jX69+u+7b9OCwozEPLzCEDbiGysh2zYP67Kb8uMR5m9fbeLjAUClXSj8ObGev6LYVHvnd/bXLoyfwBcHpHyvsohMgyBv0ZxZu/us9KtHDXWcP5W7O2E33hJgCVh8wz1NX/cInlPT5/vCY1SukD7lql3Gf3mPZMA5pWKMjwrtVoVL4APRqmbEt0X8QmxrLv0r4UX6dpGs0qFiR6dGcqFUlZer5KRRwhJf/Xrbqp/q1Zxt9/X+LWNU1jYuREIiZHsCB6ARGTI/gu6jtTu4jJEURMjjDlqX5//fs0n9mcVSdW+fpj+CRJS2LStkn0XdCXc7e8Z5o5c/MMI9eNtM9MH7x80F53Le4aSZr1G9U1T6whqlcUUb2i6HVPL3v5feH33eFPkPZkwC1EVnXlOPzRD9ZPgoS4lF37U2fY9ae5vExT99c0fNFxPPwqlKwDEd3Ms99FzR8UfN1M768QIluauOygqazlJ8sBSEhyHy/7ZrtK9uMHapZgWJdq/PO/Jgzp4n6L8cYV8vNt7+r0blI29R12Y9WJVSQmJVL/5/p0m92NMzfPuG0bmxhrSjHXaEYjqk+pztmbZ+kxtwdrT671ORZ6bPeaABTMFUz3uqXYPKQtK99p5bZ926reB9yrTq7i6x1fA/D2Cn2G9/Otn9vr151ax4JozznPAV5a4shdHZ8Uz9fbv+bC7QskJiXy9LynuRTjJq2sG0PXDOXL7V+y6cwmvtnxjb38ZvxNdpw3T9C4xmRHno+0H7+85GXLZzxR5QnTTHZogL4LZ94Q39I1ZqTsmQFdiOzgM6fXqNumQZ0+oHzcvvj4BnNZqQbQx/3OZlRoa/wVuHo7npxB/gT0/BOmPgT3PgLdftBDSaz662NoysFzN2g7bgVdqhdj4pNZZzGUEP9183eepmXlwoQEOmKmb8e5j8f2FqvtnA4Q9IwZrrmrYxNjqTutrunabT234e+XdrHbry19jaXHlxrK2v3Wjg+bfkjX8l0N5V3/7Er0tWial2zOF22+sJffjNdn9V9b9hq7Lu7i+cXPAxDVK8rr8yNK5mHdu60pkjsE0AfeuF9HibL49/61pa9RKEchhjQcAriPVV5ydAltyrThuUXPee2Xq9pT9X+TN5/dTM7AnESei6TFzBY+/YzJ/jn0j/14/+X9ANyKv0XD6Xo+8jVPrCEsKIyIyRFUyFvBdH3xnMUt7zu4wWA+2PABgOV1Kx5bwc4LOymXp5zPfc0oMsMtRFa08v+M5/++ARPq6APdfR7SayXEwdx3zOWdx8EzCz0/MyAYnl8F3X8C9EVQNUYspMLgeVC+NQy96DnExCYpSePe9xYQPnAOX604ZLnJRfKK/H93nObkldte7ymESFvbjl9h/9nrABy76Fjr8cK0rab466rDHOdbhrQ11B275HmdyBfLvOfttxpsA2w7v83rtSnhOthO5jpofWnxS/ZFeitPOBYWxiY6/i3bdXFXqvpQLE8ofi4LQ3s1MobM1CiZh8MfdjKUXbh9gYjJESw9vpSZ+2bay6/GWk9yvL78dSImR7jtx6OVHjWVrTyxkppTatrP159ez5JjjvCgkze8L+bceHojT8972lAWeS4STdNoML2BvazJjCbsvKDHqh+8Ynx7omkaw9YOs7z/41UeJ6pXFFM6TqFbpW6m+tCAUOoVree1n5lBZriFyIqWjjKXXbJ9cM14zP1M8ozH4ZBL/OT9E6F2T9+eW8wRLpK8CAr0TSiqFfdtEcovE96lWFxZDlCS0fP2MnreXib3rW9Ia3XppiNE5uC5G5TIG+pb/4QQJvGJ8dSeVptxLcfRroz3jVFOXL7Fg1+s8djm3x2nqB+en7BQ42LGArmMuafbf+oYkG4e0pYRs3cze/spe1ndMvn49LGapvv4ovf83imaVXVnzck1vLPyHfpF9LOMb3a16qR1PPPF2xctywEaz2jM2ifWpqp/Q7pUIyTQn2ebl9NnvS20+tUYenI19ioXbl9I1fNWP76aPMF5+HX/r4Zyd6EbyTr83oEf7/uRukXNX5A8De7BPKgG+GD9B5ZtD12x/pK2tLvjC1OtwrU8Pi8rkhluIbKSuJtw1oeZk/P7rctdB9vDr/o+2Pag03iXD6C+TrPlzoP/o+t48vKXLAruz0N+q4gOeZI1wa/Q64eN9iaTlhv/4e31w0aSkjTWHLzAhsPuP9CEENZqT9NDAN5c/qZP7ZuOWea2LrjwXALCtvG/6ZHU/3AJ/7fAvLDw+17WM9IFcwUz+mHHwOvV1hX49flGlMqfgzypGHCnlRcWv8D1uOtuB9tdynWxH1sNHJMXHN73u/uFeNfjrtPsl2apyv8c6O/Hu52quh1sW2n6S1Me/PvBFD2nValW/Nb1N/IE6yGBUb2iWP7o8hTdo8+CPqYy5xzZ7mw4bQ5zdDdj/tA/DwEQ6BfIskeX8ef9fxLZM5JCOdIuF3lmkAG3EFnF9TPwYXH4srH3tl/Us8dOJiQm6cfbfzG2qWHe8vZOxCU4rRIv3UAfaLvOtP/o2Dr40yA9/VQJZRxEfzzf/AFebtBcnvpuA499sz7tOixENnU7wRGG5SkDhKZpdP2za4oyUAQVWEloiV8IKrAcgO9XH7HXPdVAT1PXpmoRt9uEhwb6U65QTj57rCZvtq9sCp9w5S4kwtn0PdM5feO0jz+B0R8H/rAsd04ht+7UOuIS47jlLY2qF1dir9BvYb87uoeVuETvi+bHthhrPw7xDzHV5wjIwfjW46mcv7KhvEBoASJ7Rprae3Ij7gbzjsxj27ltLIheQOc/Onu9ZsymMaayy7Ge0xHGJ8VTMLQgFfJVIMDv7g/IkAG3EFnF2Mqmov7xz7KizV/Qw/yhkRxn2XXiGv34z+cdlT3/gofSNj/2d6sPu690t1W8i88XH0ij3giRPWmaZp9RfXP5m6YsGXsu7qH+z/WZsXcGEZMjaDOrjeV9rsZepfqU6kRfi+alJS8RMTnCay7jt+9zLEILLjyfXJWMW2c758N2t024n59i6VstebBWCY/PAn1m9MXFL5rKF3VbRKncpQgLCuO7qO/4aONHtP+9vdf7WRm9cbSpLDmFXHK4ysWYi9SZVoft592nRXTWvVJ32pVpx4JHFsLodLEAACAASURBVJhCXjae2ejmqpTRNI2n5j5FxOQIt1uYJ/um3Tc0Kt4IgI+afcTGp4x9eL326x7DXQL8AiiZq6TPfWs0oxH9V/an57yevL3ibc7d9p72L9lLNV5yW/du/VSkwL2LyIBbiCzqi4T7+TWxFb3m3GJZgnV8XNWBv1P/3Cxy4PRK741dUN59qilvrsfEM2eHPpv0apuK9vKP5+9zH/Jx2/NMRe5AfXb808WOUJiFbzRPdR+FyE7iEuPsM9XHrzvSay46uogvtjkyZESei+TRf/XFbh9u+NDtvUAPOXC1++Ju5u80p8Hzz7mPHOETiEoYZyhX/o6Z9CMfdTJlzfj0sRr242nPNCCl6v1cj6gL+oD1scqOLwNFcxbl+PXjXIu7Zkhx5/rlwxdPVnnS57a+ZvQY1mgY41qOo3guPZPG4m6LDfWpja129uOuH+3p85IzftQrWo9K+SqZ2lbKV4ncQbmJ6hVFl3JdUErRuVxnJrSeQGTPSJ6JeMZrtpcTN8ybHrUs2dLwJiClcgbmNGUL6VapG/8+9K+h7NOWn5I3OC/dK3U3lOcPyZ/qZ2dFMuAWIov6v4TH7cd9ftrEfbGj6RU3wF5WiMvsCenLiMDJ7A7p67gwzPvMkicRwxfy8vStAORwmcVyG/JhlZvbSZR/Dxieh+iQJymA/gq5UpHcvOY0oBfiv+q1Za/RZlYbIiZH0PlP4+v5b6O+BfSNQFyzP1ipM60O/Vf2d1v/wrTN9uO1A1sTObQdOUr/iH/oSdaecj8LapWi7qFaJSmUO5hHm0DxwtcYumYo0VejvfYRzAv0woLC7BuYuJOcDi4lvt9pzKxUu7BvaUjblG7D9qd9m/EukrMIv3ZxLEB0XeCYGp9uMb81rFe0Hr91/c1QNqnNJAqEFjC1Hd1sNC1LtfQ5FOOvB/4ynG/tuZUJbSYYNpMZ1MC37dKr5q/KH/f/wfon1zOx9URDXaEchSgTZszKUiJXCVY9vopA/0AG1h9oL/+2/bc+Pe9uIQNuIbIIzWlTmjfjXjDV79NKsyLJMaO0KcTNinJfc3Vb9cFlwc+ZqzFeZ6KTkjQSSzexn4+Kf8pj++XBjoVdV2+bN4zYHJ2yDRaEuNutPrnaa5vkhWS+mHdknts6/xz6ouVHapekeN5Q8rrZUj2ZX8hJggrNo9kvzZh7eK6h7lb8LWrXn8W8SwN54K8H+OvgX27zQrtyTrcH0KGsdUy4s1n7Z7mtSw7D8eadesa0qWueMGdr6V6pO4MaDMJP+dGwmJ43etmj7heaAlQtUJU+95oXFKal8LBwlFK81+g9e1mzks08XOG78nnLE9Urigcr6AsxA/0cfy5eqfUKZfOUpXye8j7dq3O5zlTMp0+mhAV7zm71VNWnDLP2T1V9yv7Fy2o2/24mA24hsgh1VP/QLRszjT+SUh9u4WmTCm9OXzWuNv9pbTSViuSmr9OObzdjE/hm5SHCB87h3PUYyg2aS/n3HB9G3yV25ucEW1xpbvPmBbmV4zV18bzmxT3dvlrHgl3ud38TIjvQNI1J2ya5jcF25i1dG8DMLjO9tgHIUeZ7IIFPuutvpa7EXjG1WfHoKsqG6YOrnGUnEFxwBVdirzBg1QC2nXPkxt5ydotpVjw5RCSlrDYx8ZWnUJOWpVpSMLSg/dx1djUsKIypHafaz3tU7cGwRsMonEPf5fHb9t8S1SuKgqEFeaXWK8zq6n7Q/2Ydx2RC/xXu3zKkVodw/UvJIxUf4cEKD5pCWdLC+03eN71leK76c/zz4D/UKVLH8pqnqz1tmI0et8URmpQnOA/ftTdnhxnbYiwfN/+YgfUHpunmRlmZDLiFyApuOWZ1Nae/lsvebpmi23QInmLYpCIl1h68QOPRxo0hfuyjbyAwrKtjG+Z73lvAh3P3AlD/A5c0hDZLSzwPRe6Fp//2+MynG4XzpC3zgbNPF7lJeyhENjFr/yy+3P6lxywjyVxng12tfnw11QqYt0of3GAwT1czh6HkKPe5PUSk9/zepvr8oXlpVbqF5bN6zuvJx5s+BuCrHdYLs3vM7eGxv1b8lHE4suKxFY7+BuTweO3Wc1vtx86p/y7HXGb58eUUy1mMTU9tIrJnJLmDcpuur1m4Jo9Vfoznqz/PgPoDTPXJnqv+HFXyV/H6swDMi57nc5pGV8lvGhsVa2Qv63NPH/v/M6UU7zd5nyI5i6Tq/qnl7+fPwPoDKZW7FMVyFrOXv1PvHfubAIDOZY1hUQ2KNeCxyo/xXHVHjHz78PZ0LNsx/TudhciAW4iM8nkNWPGxoSgmPpE/I0+gndtjeUmZ/OYPmsoxP3EgyTpOe+9VPV7v3DXveVFdPfmdOU9qq8qFfb6+QcxEmsR8zh8vNebb59vDi2ugUCUYcNTU9mDrjaBphAT680GLXIBGDXWQ2UGDCCWGvWeu82ekeRGPENnFgcupy9iz/knjOorZD86251V29VDFh5iye4qp3D/4vP3YeaDkLGdgTrd9mLp7KtfirtkX9bnylu3j7M2z9uOiOYvSoKh5wWX+kPwUzVkUgFpFPG9y0neBYw3L51s/J0nTF2k3n6m/KYy6EEVIQIjHeOYhDYfwv1r/8/gcXySHUoC+6NXd4lZPktPlrTu9zl72Wu3X7rhvaeGpqk8x9+G5LOxm3rl4+9PbmdJxCh80NcfaD2k4hFdqvZIRXcyyZMAtRHoZnkf/LzFe//VyNCwz/kNUZeh83pi5nYU/6zlUz2uOD84aJfMYctjufb8D819vRixBtItzbP2eqMyv49qOW2Eq8+TguRuG87Hda7B9mDENV9MKBfHkLPk5SSFql85nzL0bmtd+uChRX7AUsPYzGJEXhudBja9JdMhT/B08jAi/aPbYFoC+MdP9h/bBc9eJTUh96IwQmS3ynDH38f3l7+eLNo6MJK/WehWFcT1G+zLtyRmYkx5V9Rnk4Y2GE54n3F7vvMvk5h6bCfZ3v5HKvkt6Pvzpe6db1nu6FqDDb8aYa9cdLpMHvVYWH3OEQizqtojv7rPekOa3rr/RIbwDY5qNsaeTcw0fsYrbPnrtqM+LN9Oaa87sGXtnePy9sJIcg/9QhYeY2nEqPar2yJJhF6EBoYZZaz/lR63CtSwX2AoZcAuR/saUNZ5fOwWJCYYFivfF66EZI+Idr39L5NO3O988pC17RnYgJNCfcgVzme/fYiDTE1pTK8bxevdaTEKKuug6QH+kTknyuCymGvtoDdwZ0rkqS95qwb5R1gufvuVBTmgFKaCu+dSfzn7riQ55Uv+ictjYt5ojF9J23EoqD0ld6IwQmSkhKYFlx5ax77JxA6g36rxBsxLNiCgYwcTWE3m2+rPs6GWcQR7dXM8p/U69d1jwyAIeqfSIoX5cy3Es6raIyJ6R9gHzz51+BiAQ478d3WZ3MwxWH6mo3ys5Pd/SY8bwMlfX46/bj6N6RTGu5ThGNHbki/4+6nv+PPCnZYq8xUd9iz3OE5yH/2vxf+QJzkNogP7v4dTdU7kSc4WIyRG8ttR61nfomqGsOJGySYe00vue3qayz7Z8lqJ7JOcO//Pgn9QsXNNjmEtm2vjUxv/8rHVKyIBbiPQWd914Pq4qvF+An5ckp+dyDLyXJNWiVWV9+9rudUsB+nbJyZtMBAXof2W71ykJQy/C/RPwb/EOgxL6cRnPq8HvVJGwEB6ubR3K0qdJWcoXykVwgPUszEexj9I0djyFlXmBlpUvgsY7Tqbcb6i7csuR2WT5Pt83XBAisw1fO5xaU2vx6rJX7WXNSzbn2/bfUjC0IEoppneeTotSjvjp8LBw/JU/Ub2i7Jkj/JSfPQe0q6I5ixpCJ6oXqs737b/n8v43uL7HvAlMsvcavcfqx1cb0rK53ndJd/OajXEtHQvkHq74sP14fOR4hq0dZpkib/NZ/d++z1t9bqpzJ/kLytgtY5mxbwYAS49bfynYfn67IYez65uC9NSyVEvAGJM+98hcN63NnL+gpOT3R2R9MuAWIpPkXTEYgNw4snbcJoQve9Rh14j73MZP732/A6MfqQ7+AVD7aUMawAdqWn8Ie+IcmtG0QkE2DW7rtu24R2talvt72b45ooQeKvN+fM8U98+T3j9uInzgHE5cvrMtmYVIT7MPzSZicgS/H/jdVDex9US3cdQAsx+azbant7mt90X9YvXREt3HZIO+EC9PcB77YP2TFp8A+uYnACMajaBwjsKmzUhcQ0lGNh5pund8kv4lOSEpgYu3HZtnpSSlnXN2lEnbJlm2cc4l7Zye0HmBX3orGFqQZY8uM2yX7vw2Mz4xnisx1hMPsYmxhi8orUrdeT5vkXXIgFuI9LB1qtcmXfw3sDe4FzX9DhrKQwL9yRnsfnFPSKC/aYC7c8R9DOlclU/dDIg9mbnJsbPdtH4NKJTbc+zmkY86ceSjTqzqr38YrBnY2uszpj+rDyiOaqlcVT88D8TdJHzgHMvqIX/t5MDZ64QPnMPK/ect24js49Gv1/HGzG2GgczvW04wLotmt3GXm/rrtl9nSLxrTLzjS3WNBHNmEauZ60I5ChHVK4oJbSYQ1SuKxiUaA9C1XFePz3qoojlf+Kkbp7gVf4taU2vR8teW9nLnXM/euIvzTlarcC3K5zXniX655sv80OEHn5+TFgqGFsRP+bHqsVUAhq3P31rxFs1m6l80tpzdwqErh+x1dafVNdxHYqGzF9+2IBJC+C7+Nvzjstq9Th/o+hl81xZObLIXh6h4pgbpr3ljNd8/fFzlCg6gXzPjFrrhA+dw+MNOxgWMLsYt2s/4JSnLlpD8IVAqfw6iR3f20lqXMziAjYPaEOjvB//n9Mq66ZvQ1rGJAx+WNIfgJFs6CjBvVw2wfN95lu/TB9pP/7CRbcPakTdHkE99E3cX5y9dO05cYfqzDWn28TLiEvSFaY/VK0WJvKGZ1b0USR7EprceThmIpj3ThGtxa2gyw7FZVXLOaV+8XOtlJu+eDOhpB33R5c8uPt/fnRK5SpA/JD+XYswbY41tMZb24e0trtI3sbHaiTEj5A1xLBifuXcm3St3Z9lxfc+CZxc+y/rTesaZ8LBwpne2Xrwqsg+Z4RYirX1Q1FzW1bZopt9iKFnf8rKB8f347um6lnUpUSTMMUP9i9PstRXnwfbQLuY8vmmpcFgI+XIGQbGa0OxtGH7VONgGqPaA/fC+WJd40/WTeMRvJeXUKa/PqjlyEZ8v1n+28IFz+Gyxcebz4o1Yvlt12LSzZkqdvx7LofM3vDcU6eLQ+Zu8PWu7fbAN8OEc6xSbGS0xSSMpSaPD7953UExvm4/qaea61ykJ6Ju9LO3ueVGkO6EBofadAB+v8niq+1Q2T1nvjVx81sp68WG9ovXcXuMpvWFGGrVhFLcTHOGDyYNtgOhr0aYNiD5q9lGG9U1kDJnhFiItJcSZyxq8aDzvt0gPkXDx6f8eh+J3vpHB2Wux9uNBf0ZZbixjpW+T8Dt+tk+e95A94P7xsG0aoG9l72pskP46/NybZ1m4+yxD/trp9lafLt7PhRv678Vniw+w6sAF+jYpS8Ny+akzSs+S0LBcAe4tYZ3D2JND52+wcNdZxszXNwB6pXUF3mpf2dSmz4+b+P3Fxl7DdETqbYo2znjOzyK7lJYfNJeG5fJzMvhkZnfFrlbpfPbjQjkKpdtzlj+63BA6YsU5BaKvahU25uN23RHR2agmo2hZqiUhAebdbDNLw+nuY/U7/dHJfuzp5xJ3L5nhFuIO3YhN4HqMLXPGKJcPscFnoKP7zAAGxVMef+2L9//d7VO7LBEv6OcPL6yG/21hSOeqnNbyWzYrHBZCj4Zl2DPS8+zh1PWOTXe2HL3My9O32gfbABOXHrS6zGTp3rPcP3G1fXHmMz9tsg+2ASa43GfVgfO0GbuCY5duMXu79xl54d2L07aYYvjrl82Pn8uf28SkO3trkRYmLtXfrqw/bPwy4Lw4ckC9jEn1Fp/omP2vG57PUBfZM5KtPbe6XnLHCoQWYGD9gcx92JydY0TjEWx4cgOlcpdK1b2HNRrmsX5qx6mMazmOByo84HZDoIzkafbdSp97+6RTT0RmkwG3EHdg/JID3PveAiKGL4SEWGPl8KsQaB1LWiFmCvMSU/YPsa/ur2HMVPL96iNer5nez7zTW6YpGgEFK9C4fEFax37C4SSLEJ3EeNA0QnfPZOh94Yaqzx/3/YuLr7OhfX/azI4TV2k6Zhk/rD5C9EXPWVF6fr/Rfnz5Vhyc3uHYCOnHTh6uFFau3opn3k7j/6uIEnk4deW26c87QMTwBfZBb2b4ZKEewhSU3/g259v239qPrRYXpodrtx1pNCsVMW5rHuAXkKKFiynxVNWnTIPqkY1H8nDFh8kR6Hmrdk8eLP+gx/qahWuaMqdkpieqPJGi9v+reee7XYqsSQbcQqTS2WsxhqwIt696zo5x/NItLt+MIyY+kQQCeDH+DXhxncdrUmNgxyqmMucsBcl2nrxqP27sZRfJzFCteBhTX2jF0nbzuFnIZWvnvXPgwEL460We2e3Y1nndu615oKZ1rnB3nH8frMQc344/jt+/kW7eGDz69Tr+jDzB/6YbZwxnLN0CXzulPzu6JkX9+697/Jt11Bhp3EZ67cDWRJ28yonLt+3rFBa/2dxefz0mgU8W7mfjEfMCu4wUXGSeqWxzj83Me3hehsUWJ2SBGf9kVgseUyrQP5AFjyxg41MbvTfOAtqVaceHTY3bu7sLGXmhxgsE+cti7+wq0wbcSqlSSqllSqk9SqldSqnXbOX5lVKLlFIHbL/ms5UrpdR4pdRBpdQOpVTtzOq7EABzo04bzk/97pR9403jwq3EJI1mHy+j1vuLqDJU3yHRTwFFqsFj0+DdE2nWr+J5Q4ke3Zlvetaxl31qkS7tegp3o8wMdcPz069ZOXLGunyZmdULpj+qH5/fy4ZBbZj1QiOK5dHfKPiSPSUHMSiS6DJhNQDL9p2j3+RNjF24j/CBc/QFlVdPEvJ9c3YGP+P1fhuPXOKNmdv5d4fxz8XmkBfdXOFFQqz1moBsLi4hiSTbIPFWXIIpLAP0P+OuKhTObSpLq/zsy48vZ8vZLXd0j7yBhbkZm0CwfzAlc5dMk375IvnL9jv3VfbSMn1MaD3Bfvxo5UfT5J7FcxW37zx5N+havitTOk4xlDUq1ggw5g5/uebLGdovkbEyc9FkAvCWpmlblVK5gS1KqUVAb2CJpmmjlVIDgYHAAKAjUNH2XwPgS9uvQmSKEbMdM525uEX5U7MdlWHG19zlB5ljGSNK2lJGVfWc1za12t/jCMWYufk4USevUrt0Pt62ffB+t+owAA/XStmMcKa45vkLSZHEsxQJL2NZt/CN5tyOS+TizVj6/qTvcDet4nKaHv8GgPAYPR1Xnx/1dI2L9+g5c49dukWZ6foul6EqDn8S8ScJhUYsvs1CBeLmS82pSChey7ou2SiXVG1P/wNlGoOWBN+10c9zWMe4360SkzQqDZnHvSXC+PeVZgz83TwT6OnL1GeP1eT1mY4NUt78dTsP176zwW18UjyvLNW3r/a0mC0mPpEqQ+dTOr91uMT586W4570FPN2oDCMfuPeO+uRObEIiSUnYd6YFWHnAvLV6RmpZqiXbem7jRvwNcgeZvxT9V33T/hvD+X3h92VST0RGybQZbk3TTmuattV2fB3YA5QAHgAm25pNBpIDth4Apmi69UBepVTGbR8lhJMttjRbyV4O+Ntx0tW37XhnPJtx3xcbly/A2kMXmbjsIOsOXWTb8Sss2asPLMsVyhppszx63JajNrebnTTXTXR7afG8odQolZfWVRwZYJIH2wDjAyfA8DxUUPqgvpPfejr5rWfF/vNw0bEY8tWAP9gf0ot9Ib0N948abp3/F+BAyNPWFfO8LJhb+oG5bMr98H5B+LgcnImCj1OeVi2ru3hTXwex8+Q1xi85wD8uC04Pf+iIf5/6jDm95oO1SlA+jf8895jbw2P96au3efePKPsX2GOXzLPqCTcqEXP6EQCmrDtqqk8LY+bvpfKQ+VQdNt9QPtSWyef/FuxLl+f6wt/PP0ssYMxMNQrVcFsX1SvKvrOnyL6yRAy3UiocqAVsAIpomnYa9EE5kDzNUwJwTip8wlbmeq/nlFKblVKbz5+XHedEOrh9hctnHX8U/32lKS8GOGa3v7zWiN+26IO3zxcfcLs7Yo6g9H/B9OVTeuTV3CjHgrMnvl3Pg1844oifb2HenS3LqdJZj3d/NdKQq9tu4zduwy9yOe3aGT26M9EfdjTU3++vx9EvDu4PwKSg8UwKGm8aoLwW8KfTmUb7akVY1b8VuUMci84a+u2mktL/bLyY30MIwq2L7utmPAkrP3ZfH5d98363+cSxyNBq10jnTZyaVSxEw3LmGf6/Xm7C8K5pl1N+90XHmyyrvO2NPlrKjI3HTKFEgXkdeZZvH+9Len7cRl+4yZfLD3lsM6Rz1XR7vvDOT/nxzL3PML7V+MzuisgkmZ6HWymVC/gdeF3TtGseUpNZVZj+9dM07RvgG4C6detmndUiIvsYU4a2AEznj5caGwZ0AGMW6LOij9QuwacuG64UzBXEhRsZF5fb4V6LDB8uAv2zxPdu74rYBlHN+8Puv831Ux6Avo5Far8815Artyx+r2+cdfuIcOUYNN2IiQM3KXxDiOMb0yZFGr8EjQKgYfzXDLg11lAb2TeaWolRMLmrPnN+bD2UdsnLe3YX7LP+gmZSoa1v7e4i12PdryuwCtX45blGXL4ZR5LTQDh3SCC9m5RluC3kS9O0NEt5WX1KdUNYifMOjnvPGHdIDSn2F+5sjr5E3fA7DwdKStIoZxGutmL/eVpUMqYobVguc3ZbFA6v13k9s7sgMlGmftIqpQLRB9s/a5r2h634bHKoiO3Xc7byE4BzjqGSgCS4FZlIQwFlCjgGAlVifrQfl33X/EG4aXBbJjxRiwMfdDTVpYcskVs7rRV1in9t8ILj+NhaQ7OG5QrQ4V6LqLNx5iwuyZYHv2U/PhKihxLMt0jfuPd+22Ymty5BQhxFwoJ5zv9fe/36V4wxujVivmHA7zugmNNr5R/ug59dFpF9mYKtvvOF+972Ljekc1WWvtXCsi5fziAK5HK/sdCuU9fStC+xibHEJMQAsPpg6uKj3/h1m/dGPpix6ZhleXJ4i3N2otRs8CSESDuZmaVEAd8DezRNG+dU9Q/Qy3bcC/jbqfxpW7aShsDV5NATITJMvGNr3v8L+JqapfIaBrUxeN5RUClF1xrFs8ysct8md2kc8JBzMOgUtBtpLE8ypz+8Ux38N5kLDy3TB9sfl4VRhVgzoDWDAmc46tdPMjS/Si6K5gmFoFzG+xxY4PnhharAA2525Ns6xbr8LmUVrpGsX7NyBKTy78y241e8N0qButPqUu9nixz6freBJGY825D3H7jHXlxdGwPA9mGOWP/jl267Xu2z8UsOMGHJAb5ZeYjBf1rvtLrqwAXOXY+xZ0QSQmS+zPzUbwL0BForpbbZ/usEjAbaKaUOAO1s5wBzgcPAQeBb4KVM6LP4r9v+i/2we8BK1M0LsH1mJnbIdyveaWkqO3T+Lo0HDgiGoJz6r87WeoiPjL0Oexyz0Ly03n1bF2sTXWKCa/eETd85uuM6GNz2s/1Qe0sPK1q5/7y+k6arxHiIXg3/vmGue3kD1OoBz6+0uC5O30gnmzh84Waa3m/mc3q4zu24xBT9OV936CLhA+dwOy6RVSdWuW2XlJTkdJZA7sojCC72B43KF6Bno3B7zc+9OxE9ujN5cgQyqJPj7UqDDxfjLCY+kQs3XDbPsjBu0X7GLtrPh3P3mupql9YzH9UqnZf6Hyzxei8hRMbJtBhuTdNWYx2XDdDGor0GSJJKkbn+dYnB+6SC4fTIR534bcsJ3vlth71s98j76PT5Kua/3pzM4JxGLXp0Z45fukWzj5cBeqxntrJ4ODS1GLgCzOwBh5c7zgtXhYr3eZ1lfjbuTRLwp7G/04Y3p3fAaqcXc9+a/snSvboNlduRHSUpSTPPcowuDfEW+aKdU6gVq6HvXJqNBtiu2ozVF0z2aRLOj2ui7/h+IYH6l5sP5u7hg7l72D+qI0EB5jmmMzfPkDsot30jmie+XY8KvEDNSc8SlM/i7YZNxPetgXcAeKDRDZZegaC8m7kZf9Ptpjal8zvKz16L5filW5TKn8OwsHrlO60oXcA6tWByqIir55qX4/4axalWLIxyg+YSecw4q//vK03d/hxCiIyRNd5rC3E3iPf+GlgpZVqslCMogOXvtLIPADJbKafFZ22qFPbQ8i7x3HLj+cVDcNsijODwcnPZU7/SMnYsx5OM/8/+KdXffrwoqS6TeriEEDgPtgFObrbuW35jyM7+c9fhPZe+WQ22u/0Agyxyjw8+C6/vhDJOA6h0CKPJaM4DyQZl87P4TUe8ti+bGFkJL2gc9C7YdYbZLmkG45PiafdbO5749wlenRHJTFtMdK4Kn3gcbAP4Bdkyzfjdps29ji9Hv+771e01TSoYFy4mf/F19vvWEyzbd47wgXPYdvwKmqYxdf1RLt2MY9ScPab2AK+3rci9JfIYsrg4k/htITKfDLiF8NGaLV4WOvXVZ0qd08TNeLahu9aZ6jtbho2JT2aDDVuL1zIOYifUhjHWm+BYidaKUcrPaab/1W20f3qgoU1opVb6wT0Pe75ZqYZYvbj7qoe+62dcQhIoBQOOwpvmkABAH1Tf+4h1XWAI5C0Fvf5xlM3rb932LuI8kAwJ9KdC4Vwsf7sli95I/VuhPKGBhvNXZkTyyoxIXpi6hX2XDvDV1um8uVT//3zk2hH+2X6cARYb7QDcODCAW9HPWdblrjyCwasH28/HbRnHiuMrrNuGBJrKEhKTDOefLzlg34TpwS/WsPHIJYb+tZPa7y9y85NCqIcv82O7u8//LITIODLgFsJHI/92U91xbgAAIABJREFUDLids5HY2VK8Oe/y1qh81kzF1bZaEaJHdzb09a52B9lYtg5tR8fYjxwF+csSEujP3heO23ehJCBID+nobvH/3dkzC2CYbebTadCcnDrykS9tmVRC80KYm327At3kInTmHAu+6TvwsODwbnM9Rk8NGF4wJxWLpP3OhPN3naHb7If5Iuojlp9caC/PXXWw22u0hHwk3i7H9T0fEnvBMfseEBZp2T55IXWrUq1MdZFD2xnOu3+9zmN/H/vG/VqDImHB7Bxxn8dsRPfXdLNZlBAiQ8mAWwgvbscl0ufHjYQrffOY3nHvEOO6tffgM4bTzx+vSY+GpTOqiyKl+jiyN+TPGcS8j16CYZf0/2yqFA1j6Vst2DTYx3zXuWyx2n7++uC82w/2quBA/Z/a+EQvA+MqXXx7lqvFw1PUPClJ4+9tJ0lMynoD9Vwh3pcWrT25lm93fJu6Byj3CxMDcm9H+XtaYOlH3PkO9rPQEtYLpnec19dw9L6nt6kuX84gQ0y1a7x1Ssx63rwPgLNqxcKyTEYkIf7r5G+iEF5UHTafZfvOMyxwKgC1gk8TPdplYBQYajh9oGYJRj0YkVFdFAANXdZUO8/6/uT0/6v641DSKq2bvymLSLlCuSiU2yUTitW1AG+bd0ZMVrdMPvvx7TinmOu3DziOh1+Fx3/GZ286xfNum+77dcCgP6N47ZdtTFx60HvjDDTygXto6bIGwsrzi59nfOR45h6ey087f3LbLnp0Z1MMeM5yn7ltH1pyBrkqjTKUJcY4Fr0+Wrck0/s1JPa85y9hyXHc7hZPWsVUW2URcid6dGeOfNTJ7eLKZJ8+VtPnewoh0pcMuIXwUWRSRQDKNX7QWFE47baRFneg3QjjecxVx3G0U3q3h78G/ztI0NTXJatJqyHQ27zJkTPnV/5VhznlRs5VGN7Ypcdtp1SYU6jAzXPu21n4ZZO+/bzrTqiZ7elG4V43a3LO1z1g1QDGbhnrobWuwz2OHVf9gi6nqE+xZx5yPK9DFRpXKMibTR4ytbunwD20K6OHi1yO1Z+hmTdDtvtfK2OGo4IeNu9xljw77sumVkXz+BCeJITIEDLgFsINTdP4YI4jFdwhTR/gdGntEpdZvnVGdku44x8IrYeCn21hmtXCya4e8nT7ys8f8jllH2nxDoQ3Sf398pT0LW7bm0PmjBe+GDF7F+/+sYOkDAwvWbH/vH0XxP6/bffafvv57Sw9tpSIyRHWm8548VXPOuwd1YbGTc0hIJrm+WMwMcbxxSZ5R8sXGhkXc857eB6/dPmFF2q8YCivlK+S2/u+fV9lw7m3LEYbB7UhenRnrxlHpj3TwH4c5kN4jhAiY8iAWwg3dpy4yrerjtjPXwv4AwDlOjvaemhGdkt40vxtKOy0dXvcLTjjlHmiate0ec5r2/QsI64p/jzYMEjP1V2+kHWYwR2b6vLm5dBSPW/3d8ZFetdj4g3nP66JZsbG45Qb5HmWPq3M2XGaXj9spO6oxVy4Ecuvmy3SHzq5GnuVHnN78Nqy1wB9a3VXZ26eMZ1HnXf8f09MSqTb7G5EXTQvcryx9wNuHBhE7P7RhvJO4Q/oB5o5swhAaIAjjKxk7pIAFA41ptn0U75/xPq7pPTLn9O4TqRwmG9fypxj4H2ZBRdCZAwZcAvhRrxTuq5QYswN3ruiL7JLi9lJkXa6OMXozn5V35ExWY78afecsGIpyo6SHDLQpXoaZo2o7CFH9a+99F9PbKT5uz+w4bCePSVi+EK3lxw8dz3t+ubGm7N/ITDfWm7EJlB31GKv7XvP7+21Tbvf2rHzwk62nt1K9NVoOvzegSfnPglAxOQIak6tydFrR91crdASwtg9sqOhdHTz94nsGUneHEGWV9UoZE63lzckr9e++qJl5UJM6Vs/VdfWKJmHwZ2q+r7YV/xnxJ8+zZ4qVbn67xziT53yfoFIUzLgFsKNbl850nX9EfSeuYFS1lt1i8xVsq7jOGoWfGsL+fG3HjhlFH8/RXCAH7fj03CjmiemQ6dPrOtir9kPVwa/4TG9XLK24yy2kL8Da0+tJWJyBKtPrgYgJiGGoJI/EFL0H1PbVf3NKfQADl7xbWHnE3OeoNf8XnT9qyuJmv57fDnGfbz2xNYT7Ysfn6hfmgB/P37r+hu1CtfipRovoZQiwC/AnsYvt0t4xsQ2E/FTfszqOsvy/l+3+9qnfjuLGt6eVf1b8VOf+qnerEYpxbPNy5kX+4r/vIOt9H8LT739Ngdbu9kdV6QbGXAL4YOqfsczuwviTrV7P7N7QGxCEt+stN6eO9XqP+s4vnUJpnWD62dMzbr5rzBsIe5OvMtGLHfi+UXPA/Di4hcBWHpsqVOt8TnOO6A6y23b4t4540f/ev35oOkHDKg3wOPzf9n3i2V5gAqgRakWxF3QB9wzNuo7TFbOX5kpHafwYs0X7W2VUvzYu55h90uAYP9gtj+9nSr5qxjK25dpD0Dj4o099g0g3CXLSO6QQMvfh+3D2nu9lxApdWbUB5ndhf8UGXAL4cXA9uUcJ3WfybyOCN+9c8hcVrqBuSy7+bgsHFwEYyubqj4J/JrK6pj9fNYLjezHz7dw/BmvOHheunTt74N/c+yKI8957qqDAH2Tm6FdrDP9JCYlcj1OD3NZ/+R6onpFsezRZfSs1pP7y99Pj2o9PD5z0rZJluXLH1sOQB1bukZ3z0/WqkphivgYQz26+WhWP77ap7bzX2/O973qut2+fsU7LXmhRXny5LCOIxfCV7EHzW+KLk+bhpaUdl+w79SNVavZU6UqJ996O7O7ki5kwC2EhXEL99mPX7jp9Gr4PpkRuCvksNjhs3itjO+HG03HLLVn6chIC4IHAhrfPl2XeuGOePZ3O1ZN92cPWTOEL6LGGMoC860nMO962la3/iiqOdWcR7pgaME77ktYUBgAs55vxFc9atO3Sfgd3zNZoF8geYJ9CwcJCfSnTdUibuvLFMjJwI5V3NYL4YvE69c53MV6wbgWY7E+yQ0tMZE9Vapya6v1DquW1yQkEHvggPd2msbxZ/W3ddfmeH8TdzeSAbfIGs7u1jMqbEzl7nEpdD0mnks349zWj3feEGSLbTvvhi+ZNrgRWZTzYsbm/aHjx5nXFwsnLt+mytD53hveIa14HWrFfGUoe9n/bw6e03dTPPJRJw5/2Ml03a24hHTvG0BI0X8JKfYXXf5M5Q6b6OElvupUVv9Zk7N3+PkpOtxbLOXZPKJ+gzFl4XzWymMu/ru0xESu/PUXWqLxi3xSTAz767lfgHtz/Qafn3Fr02YAjj75JHHHjxty4oM+aI47bgy/3HtvBIe73s+VP//yeO+9EdWN/Y5z//l8t5IBt8gavrS93p7r46uks7vhDl6FNR69lNrvL7KsO3fd8Y3/rXZOeXSLmbMSiCzsjd0wIBpaD4YGz2d2byxduZXOHyoXD3KZMEPRO4G/EpugfygrpfDzMw82qw1bwAtTt9zRoxdGu8+G4ov4xHjvjYCe1XoS1SuKvx/8mwfKP2DZZmyLsfz94N+MaT6GqF5Rlm18lhAHvz8Dty/BFynPCS7EndASEthTpSoXf/jRUH6oUydOD3yXU/2N6xouTZlqOK+yYzuFXn/dfn47cqtPz024eJGYnY6/O4fatefyVOO991atxqF27dlTpSp7qhjfmp1+913L+16bv4ALX34JCcYv+UnXrlm2v5vJgFvcfY5v1AfoI/N5b+vG9Rj9L7fz4DpZ609W2I+fbeyUwq1sc1NbkYXlKQGhqf8zkhFqjlzE9uNXiE9MQtM0ElO5+cxfifoCvfaxYzihOUIurjfSZ3//n73zDovi6sL4O1vovYOogIKgYu+9R0Vjb1FjTIyfJWps0dg19hZLNPbYW2zRiF2xlwioqBRpKqDSe9k23x+zu7OzM7O7IPb9Pc8+zNy5M3sXlplzzz3nPV7FzJLxPzV3Z13j5E/M4j1nn7ATL/kYd2kcAncFYs7NOZApZFCQCqy4vwIAlVxoCFsebWHsh6fSy9ZV7apqd2fhY+uDhS0W4t7ge7jSn1kEqJNXJ/jY+vCcWUqKMvX3eRtSI4GH3MmeRoxk7tkLAEhdzly1kz6n8jNyT59GcTS98iJNTmb0I0xM4DjiB4grVwIAZGzdhoI7uhWMSuLi8Kx5C6SuZFZ1Lbh7T/d5z55BYGWls0/yzz8jbS27IFnRo7ecGH+EGA1uI++NDQ82IHBXIE7FndLdkdRjdMRd1n08+yX10OLhSChdaGP9JWXoyJpAKqRFUoj8EnqmbZb+hD7Rphz1k40YUdJjw038sOs+vH8NRpUZwaxlWkOYJB2DOsWbEUNWRPuSlQgs3gZMicV5a6oYTs86FRj9RTlsTepanmwNabmCNCi8JCQpBABwPPY46u6pi9q7a6uL0ZTIS7Djqx3qviXprbkugfXh6xn7mqokUxtM1TsGFeYicziZO+H6gOvY3mk7v0c7JRzIT+M+Ns+WenFx+w+t/Q0Gj42T0J3A/gH0/sYmwPGPc0XGyIcn/7Ke5x+ANwsXqrcLQ++zjhMiEbz/puUsX3w3nPdaL34cifgg7pCvogcP1Nvy/ALW8fjuX0ORn693vJzXjnhUpvM+ZowGt5H3xqaHVCzpjBszdHe8OE/3cc1CJirjJO4yEKZc3lpTk3pozbMFLrOTHKf8TZeS3nPnOVCcA2Qr1RsWu8MU1PXDZncEtiur9AV8rXtMRowYQPTCzhjRwhvj2jE9ttdiaMNvxC72A1IXJElCAQGyQcnnlcAEebAArJzV3/VKDhYgCQ3N+PC9wI3fWdd6MIdZlbLKjGBUn3MOr3KKWH1zi6UokuhP/LQWW6OhW0M0th4JSVZjSNK6YHun7erjfB7wgacHAgCGBAxBswr6Jfa0sTOzQyN3HcVjtrSh7hOl5RZzYoBzM6hJvpT9OzKIUxOAGI54/rN67pNGPisK7t1DSXy8zthlkiRR+N9/6n3Jc2rirG3sFv73H158/z0ydu6EJJZDsQmA0IYZapaxfTtrsi998wYF16/zjkeekaE+J3PHDt5+KmTp6Xr7eB0+RI3nz00gZe8nl+R9YTS4jbxz5t2ah8BdgRh1ey06RlMz6ehMWgUEWYnME57f1H3B6xrLWhLljWZPL+DkT7TRreIac9lNwbVkv7QSY/dHIZUhbaNZ6CKSXajDiJHSYioSYla36pjciS3bp+JSVGqprlnIY/RefPpGvW1jLgYxW+Nhd/dPamKr5cW1szDhlKhruoT2qskVJMYfCEeteefRdOkl5JTk6BzfrW9uoUgix8V7Pih53Qtnf27JMIQv9qWrTRbL2CFehuhZAwD+6kp9njubAIWeicAyb+pnocbvhCSBh4coLfPSsqYmsLxK6c/TRKEAgjU8+Xfe0nPOgTwvDwW3byPSPwBvVqyALD0d8vwCFIaFIW0jJaFY9OQJZFn8BYOMlD8kSeLFt8MQ3zUIz5qyv+8KiQQlz54h559/GO1xX3UGAGRs2cI6p+DWbaQuZaoCeaxkFslyGj9OvZ26YiVyg4MZx3NPM/e5iAqojkj/AKRv5Jbg1ISUMvMytA3qgKhIECL6uRtVM1DvNT8ljAa3kXfO0WdHUS2V0kCukknJfPU91Rcvc5XZzGu1khGT/mPuF2UDp6dQD8SYc8xjryNw+ZiGssnJn3SOJUNLmcQF7AfLFDG11CYiNIzzH7gTLI0Y+dDwyQuO2E17ytv5uwACAdB2JrsjRwhLUC12jLeKqzGpOPmQKgudXSjFpUR+D5hqfAO30jGiDpZUxc/+fv1Rw7EGoxy6qqqkpqetRYUWQNJ9IFHPRFw1UT87DVjgwN8vOYwZh52mnPzPtwOOj6S0zFVICtnn2yuPt9YquiNlL6nz8t82anJwfbXGOKKAe1qG0zxbIO8NyouYho3wYvj3AIDM7TvwrEVLxH/dHc+/GYz0dZTnPrFPX06jTxfZJ05wJsoZMYxCjVhoRQH7exTbqjXiu3+NV9O5Ew+5DG5tAqIiYduNOZl2HjOGsU+IxMi/cROpSsOcT87PdSbHfcQA8rTCYeQaE7uAKCoMVFyJ6QD7nDAa3EZKh0JRKnUQ1YPTVMaW0+t6vCvTw2bBo6+7rDLw31bqgXh0BPPYX53R7pEeZZO7W4B8ymv43V/MJI8qghT+855qyBhV1LE0bcRIGdg5vHwULjQ93LOCAnBmQktWHx9nZeJS859Zx/DkOKtpQIOKrLaXmYWQK0iM3cfU4J17h9sIAKhwkEFb7+Dhy2x1m4s1VUBmdtPZONiNmRw46PQgkCSJ2ym31W3EfDtgW3tgZ1f+/I4SjjjRJRWZ/ZNCqfvNVq0S8hsaAcU8igiLtSYexTlAVgK13Yb/c3OS/ox6/8JM4PRkqu3SfPr4n025z1vlx91eShSFHJMHALKUV+rtjL92qrdJqZQKYQjVr1bDZwga0Y8sMxMvvvuO0RbpH6BOSJTnF0Cenc1xJoXm38dlmu7Kq1y4zqBDlzK2b8fLESOQsW07IgNrIec4897gvngx3BcvhsNQ/oJTAVGRauNZhUnlytT1tzBlf+N79QYAWHWgy8wL9SRZfsoYDW4jhiMroZRBFtgD82whK8zA+vD1yM5/hcIi6oYQnRmtTpYCgOnXpwMAmj3vpf/6Ex7o78NDPkHgurlGJThXjaWoM1OBlb6AQo4nKdSDdVAjahZ9wIS7kM3S3oGApQu1U/+7Mo/LiBE+2lRzQeLSIJz6qQUA4OzPbEPZEIqUHu4/vqmLES19YCrScVsXmbDbjgwHpMxQjlqe7ITBlsuvoMqMYPX7abOy9UpW27RG0xD+gt9YULGqNR0mVmt3LfzvIk/S4NVlVKy0TCvONZqjOmZJLjVJV7GtHf8AlrInGOzr5TPVQwgC+CWB2SeFpyBI+F7gjwbUtqYH/T0SXa++3j6py+gQhKjAWojv3AXPBw9B7jmmxCNJksi/fh3P2rVjebU/t7jbd032oUOc7S+GDQMAvBwxgnXMpiutnf98MG38Onw3jPNatn378L6//ZDB6u3iRxqJihrhH3YDBqDC76th17sX7HpTz3Jto1obu4F0IrDDCKpCs1l1ZkVXuTKm2643c3z+SvlB2549db7Hp4bR4DZiOAspA/SBqQk6e3ogeGMgtjzagpZHO6Hx4ZYI3BWIvqf6ouMROvEqOCEYliVs9QMVgd6VoPZBmWjMbOMuU8vIAFChAd1eovREjWNqhzb1qogxbi5oVsmTauBSFNFYZh7ZygcetrSB/l+N2YyuD5NygEfKh2utgbzjN2LkbQn0tEXi0iD4u9FJTAnphocnLA6mHnwqSUEna8Nk+BicGMXYtbPgMMz10MSdmYAoL6wEr+nMinEP53TiPLeVJyW5qVf+L2QJsMgN2NwK2NsXOD8L+HcicIxtlKi59QeQZ7jEISeSQmBJBeCMVpEdC63QlaJsYHdP4MF+Zvs/Y9/u/d+SoocP9XfiQJWUlzxhAqM999QpvPxxJMM7rkJbH9qIbrgk8TTRVAJRUWH1Ko6e4Czg5Hf3Djw0VEtY5wgEqHr1Ku9xAHCbNxc2Xbqw2i2bN+forTxn7lyqT6uWsOvbFwCQf+UKZ1/LFszrqOK4c06cAPkZFcAxGtxGDEOjCMVQDzcki0WY6cxRPlsDVTjJ0LD5jPYGBUwPSL7qJqF5s9jTi1pGLsnHqZwoRJqIUaxxXGpbAYHelXDUypJxrTyhAEUEAQzUeuApSTT7BgQU8HayxJWpbdTtO8NzsFZGe+HrOMoorxRALyEbMfKOUYVyHA9PxpvcYmQVSOA1/TTLcAUAmVwBr+mnERJNKZyUyKhQLxszMSOsZHa36qxzAQDjNR7kHGElKnrWYU9eBWZJENkwvblWYhs8+vYRWop2Ii9yKQqfM+NDPWzNYGsh5nwPMxE1+VXFcOslLRKIvUAphtzXUEdoOAKYq+VRPz8TWMWRpNpikmHvVZIP5GqFnvlryKRNfEpv7+kJxF8BTowGHh027PrazM0GvlrMaJK+fg1FKUpwa5M4oHydBtrVBDVJW72a9xgAFD1+gtRVVB/J8+dlksH8UtBOMgQAj1XUSlKVixcZ7e6LKKPaP5L+PgZERUJoyyNvqYHIxZn3mP2QIbyVWCtt36b2RgNApR20+hBBEAiIikSlLVsY56u+x6rvAAAITPgn+FG1Pp+Cc0aD+zOnUFqIubfmQq4va5+PN0+BnCTgN574ah1IFBKYS6xZ7UGR4xn7p60sgQ5Ko7z+cKQJBUgTUl/NUTsbYIazA/pXcEdDL3rZd/uTnQCAec6O0F7ArG3xIyAUsR+8SqoRlA63qYiWSQtWNMLvsn7q/T73NB5QvtxeOSNGypsedSnjdt2lZ2i8+BLq8lRDBajy8JqINCpGBrjT3vIt17hlwWBXWedYEpcGIXFpENYMrKt1RA5L7z9gXuEQrAOmq1uD1l2H96/BCI7g9ibf+rU9Z7sujiSxPag6afQ/auI+T7dyCgCgw1x2WxOlJ7ruULptSQVgs1a4j2bCpG0FYMBe9rVurKF+xodwv7/YkrudIIAmYwBnKlSDJIHYNm0RXUf771A2hPZlKwalafylr/9DR08qBrkknu2oIEkSiX37ImPrVrwcMxZxX3VmKWkYoYlpQsf1m1WvjorbtsE2iEp8NPFkauvb9aHCMgiCgNP4cTCrUcPg9+EzqAHA5RfdGviESATPjRvhPGkSLJvpT7aNbUPlUGRs3aqn5+eH0eD+zGm8vzGOPTuGObfmlP7kjDgqked3w/9xVZTIS1CcGolhoeylrDy5M+4k0h6SRU4OKGo0Aq8LXmNw4WO0q+SJdpU80aOCO26asT1iUlBFdFTU9WZmNZu6nEXIi+uQKkjI52RD3nYW4/hZ0+koLMnHk2PfqdtI5b/CFhl1MxNpxKHDQrcn34iR8iK/2PD41zOPmYYtn7KIpYmI2TD2HjDiMqVa0ntbqcdo6vovZ3vU6zzeczTDt/jo7NWZ1VZNZeRxJXty4ayRYNhUh2KRP0chj3k5QMcFwORooMcfgKY+uFQr4dBNS67MhCPRK1M50dnNXW4evTcD3txFgEAQwNg7QPWeyIyiDXOFRIL869cR6R+AzN276eElJ0OSmMh9LQ2ETk7wu32LMyTBwS8frvWz4duTe8JUEhcHUlqCfB5dZtfZzPtsfNeuIDUS7GOaNUdMYzrsSFXAJXPXLvrzFRWhKOLzqzCoglQokNCvvzruXZaRoT5WYc0aVDl7BmIPekVJpVgidHaC97GjsGrBH8KhifOYMfA+eqRMYxR5uMPrb3p1Rpf3WYV1u7ZwGvmjQdeXZ2czEni1vzfqcbi5GXS9Twmjwf0JUigtROCuQOyL3KezX66Ezrw3F7FVQvSRur8PAr0rIcjTHYHelZAmFOB10AqDzt18byUOL2QuD7e1obwixQprWJIkdqfQN/bHmZFYcncJHhXTEljxJmxju1FlT1z6ljtcRJNxV8bAd+YZVJt1BlXOsJfUe+1piIF5oSjUmtlXIjg0kHXM/o0YKU8a+/BP7nKLmcvLx8PpiqkmIgFjxQagiti425rh9Hgt76xzNcBTmUBXi17VIUkSx58dZyiEcGHioPs4FzOC9MvFnU2ki7/cH3Ifd+1aKd/QGug4n+csDb5aorXPnRANgJ5ET0tktgtFgLXyQS8v4T9f+57g3Yrdp963QOIN/mv4dwOGndTtjY85i9SHdEhAdK3aePnjSADAm8XU5y0MD0ds+w6I68yOsQUARQn9OXxDqBhacUXKSeE4fAh8e76GY0AeXOvlwsG3ECIzbhWqhJ69EBVYR/3+2ogc2d/dqOo1oCgsRKR/AOSZmVDkstVg7AbQyXXRdeshsV//z1YHPKp2HRQrJxQvR49B8ePH6mM2nb+CiZcXql6+BBNvZmKtmz4ZvnJ8RvlevgyzmjXhOOIH+JzRr8NtKBU3b1JvaybwilxcOPv7/EOrhKVv2lxu4/iQGA3uT4x9kfvQeD+lab303lIE7gpE4K5AVhzckOAhaH6Ang0fiubOhOYiszgTgbsC0d6GCkN5IaYM33aVPNHxKbPK2pz0DEQkvMC6N2lo5Vgbjdwo+bytMQchkdMJRaNc+6G6xSUAQEVTKoGnbgmdDPE4/TEuv9RfsrZIIMDU69P19gMAkdUTyDgK3RQSBFLElNdPorxR7fmhEZ7M/wqdZhwz6NpGjLwLGMWWtIhNZUrfxbyh9x/NZYc92VmY4Pav7WFuImQd4+Lyy8uYc2sORl5gG1Txi7vi0bxO2D5av6eaCx+n0kl9meanw0KVQyFRes57buLu3H0tMCsNaDqGfcxMK371f0rvbKffqJ/m9lQ4yHcchsUPF9ltfAiEbF3ue1uAnRq6x50WATNfU7Hjs1KZRpKDsmhOX62EQwF3zLsKUipF9hHak0nK2aGD0bXrqLdVyWjmgTVR+Y9FcC5YDpGZAi61masT/v1SULk9pSDhVJNHMlELgSX331ifOkr2oUOQpqQg9yw94TLEW/+pQJIkYtt3QPbxEwzlj/wrV5C5n3IeCe2YwgI+wcycDXEFZviINhUN0OHWh//jCPgry6kTBAGXKVNg6l1+ijqWLblVmKw7dOBs14w9T1uz5rOI9Tca3J8YS+8t5WzPl+YjcFcg1oVRGc8P00qflR6fE497r+6h9SGeZU4tWhUWoV8eteTVtrAIG3JlmBpKVcISKJgPeSFBL5UnldRiXWt1qO5EGy78besx9h8MZWZzi+y4S2Q31ogFLyYIKMRWaOnrDEtTEQTmNkAFjQdEv10cVzBi5N2gK5YyJCoVSVmFKJbKkZJNx29fmdIGZmLDjGo+1tjb4ucrdNiGds5HatEbND9UDz+HcId25EVzh6zFLe6KUz+1QHUPG87jmtQz1Ujceq0hT6aKq3byo/fnZFGe4Xk5lGwnl9whAAzXKJnefi7gXos6R9MQD+gMy/V2AAAgAElEQVQOeHEs1VdsCHyvIYfXehrg14UymrloPQ0YGUKNjYtmPwFicyp2XKSlJDM+jBpXzd7Mdm0PvBZ5ly4h5yjtJHizhPv5wOLqCljcGA5C0wIYfUu9SQgBC2cJAgamwKkGh8a5Bu6LFsGicWNYNGygs58uYtu1R/LPE9X7zwd9Y1AZ8E8BsqgI0uRkvPqVrVVecPUaAMC8PnNSon0f0Aw94cKqZYu3HCU1GSPEuid4b3V9Abe5qeuep1kER1XRUhWOUhgaiuKoqPId5DvGaHB/QkSk8ce2dT1G6XJujdjKLJuugVTOznjWpMeJHvjh/A8GjSV0SCg2NF0AAJBYKmPOYs7AVk4tR/qm0zdfezOm8S8H/XAcYKs/Pnx9rQmc7RXFTF1doUCIGfXpB47AhL5JjZNQ8ZxZWv/0BQICgtFay76qh6xfF6DG56UDauTjZ/f3dJGlAHcbVHWhPIfrLseixbIr+Gl/GJotpVeDLA30YOtiux3TE/w0g1I6UK2gaUp9qmhTsQ29o7BgX3NYAwgFBAI5NL1ZkCR+j6FUTzoWFAIHNJKW2yuNec/6wE/3qVARnoc3C9fqtGHe0kBVEk0qNaa8zyIzoO0M4JuDlNHMhUAIeNTlHpsew5kPUq67yFjO8ROM/ay9e6niOjlJrL6V9+6hNsL2AFc4ZOJca9C/Kw347CGP5csg9vCAXZ/eqLxrJwRmpVv9cNAq9qLNsxZl06X/2DBE/9x9ATtkqlpYqDq+2YrHO+x97Cgq79cdWvox43OaOx9ERYWV7BDW6Hr1IcvKwvPBQ5DQ04D6Hh8RRoP7E+Kb4G94j2WX0IocfU/15exTb289BO4KxK0E9s24tB5xE6EJUOcbYHI0xmf1V7eLlKrabePosQ6qqEzMGk/LiOUoPIHAfpjUYa3O9wlwCECbuiPwRzt2VvyxG3YofPkdAGoCAABdfDoiP5aqPCk0peOxTyma4c2kN/jdlSlx1ruiJ+CgtWwmFAFTngH9d8OIkfdNKz9nJC4Nwq3p7XBmQkvYa0npXYxk5hlYmPKHoZSVX679AvzLb6CuaLUC69py6weHz+6IqN86o32Aq+FvmBELB4UCEQkvsDpVy7Op6Q128n3/ORXjw4BZb1le3bxsyiBJE+m/gWeLTNbxkjhuBRrFizBE+gcgTUNNxKKB0gmSVkqvoBX772jhUgLbDi1Q9fIlRrvzRNpL7TaPqQKjaWAHREXCdXrpqyJ+asjz+BOJNeGKfxdYWMBh8GAEREWCEHJPqs2qV4dFvXqcxz5GtCcHplWq6OxvXou9Gg4Az5rSaiiaOQofO3oNboIgehME8YwgiByCIHIJgsgjCMKwoC4j5Ub/U/31d+JgXN1xrLYhf11A6PMsXIuLRYkyMeinS9wZ/dMysuAgl2O5xkNwQ3taIQTWbrigoGfwTloemXsVT4OY/ASYl4NkAa2isDd1PdBnGyysXLGiFT2LjRgWgTvf3AEA/K/W/3C4O5Ut3bpia0QM0/LwkyLI8/1xrsc9agIAKm51+xDuinKuNmY4bsb8yitIBeKy45AvyceI8yMQuCsQp+JOAVYu/MvURoy8BzzsKE/qlqH8S/UmIsFbe7i5IiOT8pOA+9s5jlBYiC0YS8Hzv6ZXquwtTUof4vIHz2dsNPLTTFrupCNh0wCkKSmI9A9A/iXKoHWsngdrz2IEDGTqgUuT2M6TgjcmeDmPSjJL37CBdRy3OST9hmtV6pwcDQw9Tnm7p8TAtS7l9fbt8RoBA1NQuV0GVTFTzlTVcfrfSHisXAn/Rw9hP5Cp/e06fRp8gk+jWhhditxh+HDuX8BnQkzDRpztmoZn5T1fjmOnLJMDTZ1vLqJr1/lkkmwN8XAvB/A1SZK2JEnakCRpTZKk/oA8I+VGobQQkZm6y6jyMbLWSAyrziz3KrINQ59NVzH2Ri802NsAOx/vZHjIAWDdmzREJLzAkJ+fY01aJczMoGOsVVXhXuUUIb9EBjnohysBICyO9gY9zqY0N0OfZ6H5UmZS5NHlobgfnIjO3kw5MEuxJUKHhGJsHXZ1tuYe7FhLlWGiol01zTLNlDkhFPA/tDOLM7HhwQbcfXUXADDjxgwAwKiLozD1qm4N0uzibCy+uxgS+edTDcvIx4WtOe3hJsQZsKy6BAA1sY1Z2EVnDCQfJEmi98neuPD8AvZ04vY0znNy4GwHAAsRFUISPjQcD4Y+wLBmXoj6rTMSlwaxOz+/RYU5ZBpQQEpbJq/JaP3nfIw0+wnU3bBsxLZjapab2tLhgAKx7jCTF1ecUPgkntGmlliTcXgD/bsBlbX0k63dgCq048LerwDV+qVA5KjlqV8dQNVqKMgApFRegW23IBBKKbmAqEiIXF1RaTeVC2Pq4wOBBR1+ZNOFLQWpiTxfd/z4x4o8vwByDkUWAHD8cQQs6tVD1ashqHL2DCwaNnzPo/uwVAsPg9uC+fC9ddOg/qpEX128+Ja7pP3HhiEG9xuSJMtm7Rl5a/qd6qdWJVERMSwCEcMicPTrowgbGsZzJvDwWypMZFRtZtlmU6cQEGLawF4VSmuybu64GUMCBqNNIXXzLJCS6JU1Dpmg5lik3BQSmQIH7r1A0yWXUXPuOQDAVCmlbCAnRdiSelB9vQwh9dD57q97AICz5rRh+jo+B3dPxiM3vQiPvn3E8GCbCE04DYl17dbBy8YLqxr9w/u5NSFM0nF1ahuEz6FiUOu7Ut54VQgKAHx/7nvKo6fFzeSbOJt4FoG7ApGYkwgAWHRnERrspb1xC+4swIGoAwxJMyNGyhOBxmTRquoKCMQ5sPKfCVebMpRwV5JamIpnWc8wKWQSVjw7oG4/qlFo5qg1U3WigSvbCy0SiCAUUBNuXq/2X0q5unV1mO3JodRLU32glsZKXqeFgIOPAZ/mI2VaIhC0mrcAV2mwclcayrPTUa3Pa5an2//JY7jU4ZcXNAtQyjKeZSfuYaD+GGDifyEQfHuUnURekErValjhA+z6mvNc36shsGzE7enVVt/wu3MbAVGR6vCTmAafpjEa06ABYho1ZrW7TJkMl8mTAQBiV1eYeHm955F9eATm5rDv3x8iB/4JvTaOP+rW+C559gyR/gFUUuVHHGJiiMF9nyCIQwRBDFKGl/QmCKK3/tOMlAdRmcx4u/ChdBy0n70fxDpkowTKFHQrjqIMApM0znOaujfFNImZ2jfTdAkdo5cfMxP5sdMxfONtLDzCXOb5W94GXsX7EVTIXq5cfjYKecqCHhEmbNmqPbNu48CCe9gw6jJyM4rwKqcIh+9zlw42EZrgVK9T+P18MgBgRV/uGC9XCyru0MExAVdfH4WJSA6SJEGSJBq4NoCJ0ASbO9DaniEvQxjnL7vHrH7W/UR3SBVSHIw+iBJ5CRJyKG/dhedUJcDUQg79biNG3hEEQWJ1/zr6O3IglUsx/By9lK9aNfpT7AO/1rMg4pHfmtWELlCRIzGgkmNKOBCiVUWwMBMoygZOjgO2tqNe6TH0cRON6ouNP1HvtgpzO6DhDwaHxLyaNw+R/gEgFQpGNUjbHj0gHLQNGHEJEHLf74lt7eBQrYD32o4jlMnwzw3zKrLwqAv4dgC8W1JhJv33sPsk3Sv1ZYVaRpdKHi9z586yjLJUyLKydJaoL/N1OdRVvP4+jICoSDiOGFHu7/cl4DJ5EgKiIuETfBq2vXrBLDCQTgLWImXKlPc8OsMxJNvGBkAhAE2hVxKAUbD4HaOtO9mxckeIBPx/sg3tN0AsECMuOw6tK+qW9rOoyB03RhAE8OS4ej9Xo/IdKafKtDd7WoJmMMcKuyLW+d3z6ASbFyLKuN4YopHYw/PsyXpFPSz2zLyNrR4yZBdKUdneAoO23MEvXf0xqjUzuSLyFbVcV8WFW/t1SMAQrApdBYndMay4D6QVpeFA1AGUyEvQ2pP63fg5+HGeCwB7I9mlmuvtoePPVoeuxvp2tCb52rC1GBFY+ptpobQQYqFY58TJyJfL3zF/QyKXYPuwDniVU4xlSgEiUiFE86pOZbpmvb3MOMqbKZQR5ttjC1BSCFkcO3Y74ttHAEFgT5c9+OXaL2jj2Ub/G23h6LOcQ9d3g9L72WQM8OYJ3S4s/2TQj5nsg1SthLgOHSFXxqRWvRoCsatW0qJXSyDxOux8CpAdr5ygvHqg064XuboBBel0wqSZHVCcDZgb7mVk4MR/7ywNmquYXhqVEb2PH0NCL8qvF+kfgGoPwkutgqIPVeJdQFT5LuBL37ATbM0DAzl6Giktpj4+8FiyWL1vExSE3NNMzfK8C6XQz3/P6PVwkyQ5nOP1/fsY3JfOqfhTjP3Vbbi1qi/0vYAj3Y+glWcrNPVoiiHVh6CidUVGn4Mdb6D4lW6JO3VIxyulnvUwtmSPhUb4oJWkELYl/FnYRy2545rvmOqWJ/TJUmBCthnur3iIyTnmWHqG6eWXyhUwVQDmCuZqtCaO5sys751PdqoTRJPyqPARJ/OyGSwA5REffpaZ8BO4q3Q31Tuv7qDx/saot6ceo1S9Nq/yX2Hurbl4U/CWSglGPjkW3F6ApfeWon2AK4Y0qaxuJwRyPM14ilX3V5Vb/oCTuRO7UAyApanpwG3q+1nHpQ7O9z2vDiPhJe4Kd7tdJe52gEpU9tMd0/u5UnCL1sCWptDhIixjGwAGU4apW4McVGydAe/O+lfXxO5uwO8aEqxjblOe6mkGxNVz4eLP3Z5Yeg96QFQkAqIiYV6DHp86BEZJ+iaeokcGIMvMRN5l5vdRs+R8eRdUSd/4Z7lezwg/FVat/NBDKBW8BjdBEL8of64nCGKd9uv9DfHzJDWvGEO330WNOfyxvzNv6CnnqsTN0g3VHKrp7HM0NBnS7CZoa88t9VWQMBaH/2Mur5HO9DUfzukER0sTNCmmPbF/B8/BwTPzETerNcJms3V6ZTwel+tmMuyyKkYJpz4C0L7IBCY6Eo6un0nA+Fxz/JRrjho8BTVqO9fmPT8uh1tKCwAOdTO8Iuf9N+zCOin5Kfjfhf8hOT9Z7/k/nqfj0jY93ITYrFgE7grE/NtMTdZORzvh2LNj6HCkw2dRbcuIYWga0vHZ8azjA/4dgJ1PduKfOMPyGQCgQModdmAqNKWMaAsH3E2k7wNeEimCCgqB8zz3oqf/ABKOa+7hmdxnv+AfXONR/BrXnzkvvjes/gEAQGwGTIoEMSEMVn++hpmdjLOby6Sf4frrdNj26EHJyplq3Cs5pP5KDVeBn51dgQcH2O1vScamzYhu2Ai558/r76zFs2bNkTRmDOTZdCx9VHXauC+891+5jFGFSllGhf2QIeV6fSNMqoWz89jk+fzhVR8SXR5u1TrLfQChHK8PAkEQnQmCiCYIIpYgCMNqfH8kbLseD6/pp5FdKEGjRZdw/Vk6CiTsmGZtgnyCcKnfJb39dLHjJuXJkMm4H2iK4or45egj5BTR3ue7iSSqSqiviK2FGKGzO6K+hF7mlQnNcLnNBpybtBsHJt9AjRLa6/X1hDo4+RNH9TYAIIBUEYl1dsVl+iyR/z5XbxdlcF/DQswuxMGFZiiHh6UHqjtWL9OYVHx19CvcSrmFzkdL76nrdZIS8T8Sc4S3T6GssMxjM/JxUywrxrJ7y6AgKe/bnVd31MfOJZ7jPa+Ay+Dlocn+JpztqtUfALAwd4CvRIIWhUU4VU0ZJtV4FPukV4+Aw98Ciz0oFZIlFamf68tYcVBsDqjyTapyl3v+XDEpbQltGw/AsQqryE7l7X/CuUs12FUpgGPKL3Do1Qkey5TFwAo0POH6VigMQSAAgpQJ9xYaK4onOL4r5YAiLw/J4ycgddUq/Z05iGnSFJH+AXg5limBK7Cy5DmjfLDt3u2dXv9LR2BujoCoSFg2p+2N5MmTPkrnFK/BTZLkKeXPXVyv9zdEGoIghAA2AOgCoDqAQQRBvJ2F9B5ZeJqaw9RZcIHRnlusO8Ti10a/wsXCpVzGMLF1M1YbqaCNzpcZlAyTghQg9I8n6FVoCksF97LbtZbUjS9BQC0vdi2idavzezVHLU87zOhKLz1G/cY2QjfasOPAtZmabY4Noy4j4moSaxz7593F88fssrdO5k6cGuQAcKU/vbwYNjQMEcMicKb3GZzuTcWCuVtSeuE3Bt7Atk7b8G8v3dWwykJ2sWHKBc9znzP2U/JTELgrEEOC2V4TuUKOJ+lPWO1GdKOQSFD89OkHe/+Lzy8icFcgGu5riL2Re1F7d20E7grEzic71X02PtyoNsQdzJhxt6tCV5Xp4aKpf89gfDiOJb/Gn3UnUzrYAHB3E3BgELPf/R3M/RKlDFrGM/Y1W3HIa2qGrFWjKuXCvjLQbyfQe6ve8X9OSBLKGNoBAN+dBmoNBOZmw6J5Gzg1Mod7Q2VS62qO0I//XS/7e2nTcAQVmvKzllYyV/x+KanEkziZsXUb3izn+e5qwSUrqO2BTuzDXSjubam0axcVKlObf7XVSPnhvoiunlpw9RpeTf/4/LGGFL45RRDESa3XHoIgJhAEUb5ZDPppBCCWJMl4kiQlAA4C6PGex6CXeePnYNIv4zD59G48SdGfzV8s5fZyN3Vviiq2vqg99wbD81xaxh+glU18HSvhZM+TAAALkSUOdz6L/Gg6hGHeBuohGl5ALwmPyTXHxtFXEHWblgzThVkxZQCTCgVGtqoCbydLzAoK4JQNKxAA622KkE/oNxiuHYjBxtHs2NB//+CuktnZi23gXxtwjTN229PaU52Q+nf3v/Fnhz9ha2qLxu6NUdmmMkOy8O43dzEkgDZ4NSUGDaXlId1li6ddm4ZrSdfQ7TjTO3I16SoA7sqgGx9uxMDTA3E4+nCpx/Mlk9h/ABJ694EkSX8Y0LtgYshEzvb/XjOXulVKOFwJtuvD17PatMkpoe9Fc5rOYenfqzGzpYyoJqNpjzMARAcDJUoDRiYBQv/S+55qok6z27xbApNjgEmRwCCNMIQavQCLMibzfUY4jjbQU+zVAui9mVZDceYwsjV//+7cyk5vhYmWlzglnLtfKbBs0pg3oTFzxw5GiAgXJbGxBssKvov/fcvG3FKIRt4NYjc3uM6Zrd4vKOdQofLAEFnAeAD5ALYqX7kA3gDwU+6/TyoA0Aw0TlK2fVQ4S9qgSm4vnE9fgaB1NzB2fxi8pp/GV4J7SDT7Rv1yRhZMhVms2GkAGHZmGG6/uo24HMpbVHt+6WPXzj95jXarQnDyIVOz1dvWGxHDInB38B0EuFZAZUf6oeovoMaSCDvW9S7tMiybu1YElTSSOICqNHZlShuMaMnU0zUT01+9YgHwp23ZwksAwNSSW82gkg07QcveTH+JZVtTW7So0ILVHjY0DHe/uQsLsQWmNZqGA0EHENI/BCZCE1wdcLX0A1cyuf5kVltwQjDGXmIX/lkbtpb3OqpQlN/u/Ia0Qkr2cerVqSzJQyMURREReNamLUqiqKTc9I0b3/sYimWGf+8fpT0CwP29TsxN1HluYk4iWhykv9P9/PoBAHZ8RU2w67nwVIDTCllAoXI1KczARc4Zrygt7RGXuBUxrF2p8IgvkEj/AMT37q2ONxVXqICKmzehwvp18PvvHlwmTCjbhbmSaA9+8xYj/bD4P+VetYtp0hR5ly6BlLMdViRJIr5bd53XNa1G5ygVPymflUFSQv3ujXHbHwaHb+jvuVmNjy/4wRCDuy5Jkt+QJHlK+RoCoBFJkmMBlL5O59vBlUnHcI0SBDGSIIj7BEHcT0vj1pp+X5hJrWAdMB3BkY8BAJtN1jCOr7ebBBO/ZTgUuoxRAexk3EmEpfIXtDGEIokcI/eEIj5Nf3znkVF0mIkrQSXCXFbU5e1vmx2r83oWSk9ccQS7JOu9me3Ro44HHs39Ct8182IcO2pJ/w6GL2cbvHyUFMgg44mFD+4VrN7W1N0uC2KBmBEbXtOpploNRXuZH6BCBfIluiulja87Ht2qlC3Gb9cTptGTWZyp3m73dzvsfrIbZxPPYtxl7tCaL53Efv0he/1avZ9z7P0rnTbcZ3hhj8lXqYlZZ6/OONKdGefPlVSpSfcT3MZHQ7eGCB8ajl1dDDSgVWEjpgYWGzaxAMaHUz/rDjbsnC+IkqeRiGlAxbyb+vnBqnVr2HTsCKG1ddkv2mkhUF0jaXWF71uO0kDc3o30HSEQ8Hr7k8b+hPTNm5F95Aikr6gV2NwLFxAVoNvYcps/Hz7/nFDvJ0+YgPhevUHKZIj0D0DOyZOQJCWri6kYgqKoSK3rbVLR06BzjLw7PBYt+tBDYGGIwe1MEITapaLcVq3Jv+961kkANPXuPAEw3LckSW4hSbIBSZINnJ2d3+vgtPk6YjBAkrCqugKJZmwPw4/uVKZ4tstd3FnaFZMPP8Th+y+x9SH3Um3oc46scB7+usWOCXwwh1YSkeflIXnyFMiysuBsbaqOrx4nom5CXsX8WewVXt2AV+IZeCUGI6CGCbwTTsMqj1YfEJD8iaAu1mZYO7AuTEQCzPu6BhKXBqGVH/V3ihcrcMNMim3WxbCwMcHgBdwJXlz8s4Z7CbOiTUXcHnQbwb2Dkfa3OR5fe39hAxNDJmLEebY29+pQWt7xx1o/wsncCcG9g3F70G0saLbA4OuvvL8SgbsC0fpQa0zb9Q1LI3HFfTrOcfeT3ToT74y8f9KL2AUyDMHb1hvVHKohYlgEbgy8AYBbeed2ym1EZ0brje/Wpe0PABhylN4uUI5Zz0SSkzYzSn/OZ4qmLJ2K/Cs8UoqlhSCA/hoTKM1kydll+84ZxNATVDiQiqzEcru0y4QJvOEleefO49Ws2Yht2w4F9+4hedx4Vp+AqEj43ryBqteuIiAqEvYD+rP6lERGIqomNWlI+WUa4jrQibvaOR6KggJIkpKROGAgIv0DIM/ORnTdeogPopwn8hwDCkMZeSdUvXoVFbdvg9CWLXH6oTHE4J4M4AZBEFcIgggBcB3AVIIgLAG87+TJ/wD4EgThTRCECYCBAE6+5zEYjENJdbRUOnkDvfn1Z70lUlgLHuFoWBJ+OfIIiXm0B1maTXua+/x5i3HevYRM3IzlvoEuPxvNarOzoJMac06eRO7p03g9nzLwzMRCtJbkIVdGJWdaKBMpv1nclHUd57Rw+CT+C5/E02g3rgU6/jUZNZ5yTxIUxfqXzNcNrIONg6nFkttmMmQJKQPBzsUCXg0oY3yNLTO5soK/Pbr9RCejvI7PRdpLbk1wKxMrIMkSSVFZuLqf/Xt5lzzJeILYrFjkSnLVbX89Zv+uKlpXhJWJFXr59sKiFqWbmXf/Nw3fLQlHmwh+w2rF/RWYcnUKmuxvgiKZ/kTVLxVSxi2x9i5oe7gt77FpDacBADpV7oTGbswS0Z5WtPfM1pR+qHx39jv1NkmSGHlhJPqe6otvz3zLOF8zH8EgqnYAeilXh2LOAQoFcJpbXpSBrdY9z8SCTtiryC57/SUhTTEsH6bc4alUWS5YOlEJryrW1gaKDHcSlZWSaPqenjzhZ9Zx6y6UM0nk6AixC1N8oNIOdpEnLhJ692HsR9dvgLgOHVD0kMqliWnCfE4atbg/HGJXF1g151FI+8AYUvgmGIAvgJ+Vr2okSZ4mSbKAJMk1us8uX0iSlAH4CcA5ULKFh0mS/OhkGZrdpjVraxSsg0BBJQueteSWqkswEWNgBTcITNiFTYpf0RnULjICqa9oz1L/zbcxeNtd9b5MroD/7DN4nMyeXbf0pRMFSxISkLmTmivlnaV0wCXFMjQqdMGedGbYhZ29GX5Y1RJBo6rjf78Fopf9RQgVlFHiE0yFa4g9PGBZlIrAx1vUn920OrUMJ01K4vzMjPewMEHXQHfOY0EjArHCrghSrWCiHhPqoHJNZnGbw4v4kyROrn2g3n7XckErWjMz6Hud7IXmB9g3gDYV23Ce/3WVr9XbKg/mmd5nsKE9uzhO7XgFgv6jPk+3u1peM5LExg0y1H+mgG8S1adAWoDND98utOZzhiwp0d+pPN6H5zvo7+APU6Ep+vj1QcSwCKxqswozGjM9w+5W3P8roW/o5F3NCd6DNPq772xexlU/x6rUz7t/Ags08iB6bARE5kBHjpWZDnPZbe61gCmxwHD++gNfAqkr2CobFbdve7dv2uk9LbG31lCHWOZVrpd2/VW38oSqQqcK/8cR8Pz9d97+4kqVeY9po5BIIMvKQurv+s0e54ncidBGvmx0Fb5pp/zZG0AQgCoAfAB0VbZ9EEiSDCZJ0o8kySokSX58QToAhrVj/rOJFJRneaqL0uidlwMITVnnWVZh3hjyoucDEGJyRz+ISGBYvhn+nn+P931vxKajWKpAt/U3WMd2f09nTMd36QrpSzpRs+jxE+Rcp2NCX0noZBKCIGBqIULRwLZ41rIVco5TZd/dflsAUx9aO7bi9m0IGNQSZiVU5njJU2r5L75bd5AkCUlSEvJCQnjHDlDx3QCw/0du79ca2yKstynCatsiRklgTQpzJSAVug3qjaOvYMOoyyjKY0dEFeVJymyQd/HuAgCwMeGOb32W9QwZRbSEoWZpeG1O9DiBmY1nwtbUFhHDIuBp7YnmHmyjfeYh2siulA6YSuixu2YBTrnAtCMKLNojh1hKYvh5Ob4avNnguMTPlZJYehWpWuh9uM6aBcCwFZny4EkG7Se4P+Q+vvGnQs7mNp2L+0Puw1xE6+X72PmwzucjcFcgGu1rxEiQVLG05VJc7n+5bAPm84zW6AnMeg00Gw9MfwmM1bg/+Qdxn2PlzE7G/MLIO8cO7yp3r1z/3cx9nzble30+6g19Z5d2GDbM4FLsLlOnghDpDpcS2bPFAfjIv3oVr+fMRcZm/Q4Lp/+NNPi6Rr4cdN31Wit/dud4GZXcdXB0ehfGvl+aMilGQkJWrPyVT0vkPJcQUyEiAS9I1HtN9RnX3hcOctrAjH+czlAt6b3qGmQSOcw5ZPeOjm6GG9PaAlIpIh7Jnk0AACAASURBVP0DkMChOfpq1izcOUV7oo9lLmUc53o4yFKZ5YStmjeH89ixcF+8GL63bqLi1i3qY1EB1RHXoSOSRo0GABTcuYNI/wCWFJOLtRkSlwahWRWmbJ+JkPqdSQng6dKueLakq/rYiNVMeb2/frmBawdjWOPlIvsNs4hMRko+dky9gYgQ/V55Lpa1XIYHQx/wJkpeTbqKNofb6LyGPC8P8uxsVLGrgoH+AxnHhAIhp9ShJoeyB2JO0zkA2BnGlVOBLqG0Qa6QvO8UjA9PpH8AomrVZigYCCwtIc+kEk4ztu+AovDdFRda/t9ydD3WFfE5dJKjqdAUvzb+FWFDw1DTqSbneY++fWTwe/CFDHX17srZbhBOPJVsVXJwBAGY2QDO1QDvVsC3J7+IqpEZ23dAnscdyqYi0j8A0Y10h9AYakSWiuo9gB8vAzPfULHbbtzfrXLHQkt29T2ElWhTLfQ+HH/4Xm8/gaUlhE5smVgukseNR96FC/o7GjHCg67CN3MJghAAOEOS5HCtl/5v8hdMJUcLJGfQ6hgtEvti+iE59qyS49kJN1x7eRXnUriLD3SochEAMH+fHItu0aqL4yq7qbfP/PEII1+JMDXbHCCB9s9kOPF7OE4/SIG9nGlm1a9sD097C8iyKM+zpvyRqlLkGbdxeCFhC8541aJuRCm/spOdBGbcEux2vXtB5OAAyybcCY+pq1bhxXfDAQDPvzFMqurh3E6o4WGDm9PbQSAgIBDQn9HUQozRG9ow+huaGEkImL+rgwso79z1QxyFOwy5HkFAKBAi0Ik7W1+XpJ+KmIaNWPGAmqxovQIRwyKwtRO3IqdL/eb4KtEWZ3oFY2KYG+PY4t3MZFZZahpezZuHonKSxPrYydyzFwAt3QUAnn9uVB7bQ/3csQPR9epDmpyM3HOll+LUx56ne/Ay7yVm3qBCr4bXGK4+xqWvrYIgCFzqdwnXBlxjHTNUkpJvVcggxBz/7315dLiHnQJ8WnMf+4xIGjceqStWIKahfr1lRW4uZ7t53bqocv4dJjNXqE/97d5l7LY2YjNgrEZ4X95r/r58yEqAxZ5ALnesuypkw23ePNgPZqvfCCwNrx7pd+M6zOvXZ7U7jRkN73/+gdtv/InsvrfpvCp3pSqGyKV8itQZ+fzQua5HkqQCVMy0kVJgKhJi0WFmjJ5HPv0PfW7xGBzeMgmHl8hgXcgMX7hDPECnUDpMYEF7KvEo9wm3yH9dCeXVfpOQC9fzaRiRZ4ap2eaYmm2O2iVCXNt6D7Gdu2LL3Me43GYDMu38AAAKQqCuFMlHlbDtiO/RE2QR22MmdHDkOIOGEHPf4DO20nGKVq0NeyibmwhxenxLVLDj9pgJhLqXp1UhIkItz59MSv+ei/OlrHMUcraSgCHwxdiWBlKqu9BRE/cmnMlvSWPGIHn8BBQFDYbfa92/l7gOHZB98FC5VVqTpaejJF63PN2H5A2HTJSZP1UkpMqZYEZ7bPsOSJ4wAQqN735JQgJeL9CvIiNVSPEg9QGrnUtzO9DZcCk1FwsXTh15LknKd87cbKDmB4ss/OCUJCQY5O3MDQ5mtZXE0wpSXgf2w6QSf0L9J4uzH9BPqamw0XC1KTU7OgOSPO5KmQAcR/6IKhcvwH7gALjNngUI365Uvecf6+EwbJh6v+rVEDiPHw+zan6w68t9f6y08y+I7O1h/+1QCGxtYdenN3xv3lDnNhkxoo0hgXQXCIKYQhBERYIgHFSvdz6yTxyCIOCYThtET6sPR5JHKwDAkCsKTDlGGXPb18oR0uc+FqTRsb0jztOGXsNx/XHhL34PZAeNcuradCoyQURoPs55TVG3PahDFVMIaa2/Mp385iVGBjgAmNeuDfdFC2Hb42ues2iqXtXteRO8jdasHiTFVGJn1O1X6uqUchHTYP/n93BE36E8KAcW3GUc2zLhKv4cG1Lm948YFoHwoeGY03QOvG29Wce/8vpK5/lRgfqrwRU9pr4XhKMDKm5hxhXK0tJYMoH6KJSWPZRC8uIFnrVoifiuQe9V6YMLkiTV+rmkXA5FURHytMo5A4D9T2MgdqcmRyKeZeXouvTKT3yXrsjafwApM2Zy9lVRb089DD0zlKWTPimErezRtiK/UklpGF+XLYV2pPsRRAyLwPZO2zk946VmulL6s91suqrhF0p8Fzo8x7YvrWBBkiSSxo3DmyVLoCgsRPIkuqiVLDMT2UePIr7rW4T2fErks0UADCZFdx0KgiBg4kmr9VS7dxcV1q5F1cuX4P/kcanfTmRvD9dfp8Mn+DT8Ix5B7ErL4hIEwfaAE4R6FddtxgxUu3uHuo6jI4RWhnvXjXxZGGJwfw9gLIBrAEKVr/vvclCfCz1/68TYj/EbAKmI7aV1tDLF1578D96Yu29x4+KgUIdSAaGgww609bQDoiLhdegg7Pr0AWFA0pPY1QUVt/Fn3mfu2IHUlSsR3aAhpG9SefsZwg8rmbHcW3++hg2jLuutjnlxJ3W8MJcZzyyTUJOe/KyyJ9GJBCL08+uHkz3ZypXzm81ntWX9/Xeprp+o9LxY1q4Dq1atWMcNUYhR8SD1ARrvb4xrSaU3zArDwhHXiZ5AvJ7P/mzvC0lSEh51aqPej6pRE9F16yFpLHuhbnPtNATuCtQrk1j06BFjxUFXgZxTcafU2yvvr2Qcu57MDiPTq4FtID/W+lG9/XWVr7Gv6z5Uc6Dirhu5NzKowqpeVCXfW03R3/czRjvhWGBCOz1IqRR5Fy4ic9duRNdjGmmv587Fq5mz3ssYPwpUyjZA6Sb/CzQmv1U78PfTQGBpCZuvOkHs4QHiLbzdpj4+nKuzXvv2qrfN69ZFQORTVh8jRvRhiCygN8fL8LT5LxizgABUjWVWhLveYiVnX+HAfe9jSACAKL9BnO3tQsbCsrB89WEtm/HHIwNAxrbtUOTnI9bA8BI+zKzEGPOnfm9huxB2ufR//3jI218uK31YiSQpCZH+Aci7fJkzNORcn3OwFLO9IK9nz9F53Zx//kHJMyq+XFNNI/+ybuUJryPM7+D+1ux/+6HBVCniWyl0TGL28RNqT7E8NxekTIbs4ycYRTvyb9xkxeJnHzmKD0Vch44weal/8rb1KwGOxFOKO432UTG4/k+fwPc6e8JR/OQJUmbq9mqrmHGDme/wMu8limRFSC1kj2l7J8M0gA3l0beP8GDoAyxqsQi1nPWvkBgpPVyT4qz9B9TbGTocDHkXLjL2PVZyPws+G7w0lHJyDJj8kyRwYQ6g0LhnqsrUyyRAAnfe0/umsobxbcRIadBpcBME4UIQxHyCII4QBPG3ctuYEVAK6vetDa8k3clXma8K1IadUM70BBRpxGdqljtPaWq4nJE22fZMxYF2IWPVhmjdB5TGqEtqKKOPoQUCtNH0hJt4eZXpGga/F0EgaAy/odH81q8AgLYhTG/n88cZXN0BAHtn3yn1OJKUlc6SxoxFVGAtRPoH4PASGcyLqb+th5WHQdfJPUslU6VvomT8UqZNR3z3r0GSJKLr1GWfwLPMb16zBryUhoL94ME40Yz9b980khpbZAa9IvDq11/V2zGNGiOmSVO8+vVXpGno0L4cwa6kWdpQlvJCKtcd9w4Al2sRuFiHemlDCAQQcFQnez1/AXJPnmK0ydLSDBpT12Nd0WhfI7T/uz2jSA2AcjeKVUm7Rt4dfJPi1FVUPkz6Ov2heipsu/HIJn4uiDSkb/f05O+nQloI3NRKLE+4BsyzBRY6A7u6Add15x29S/zu3EbVq1cNWt01YoQLXTrczUFVdgSA3QBU07p7ymNGDMBp1P8Q9O9SzmPpjjXxuPoPODD/LnZOv4mIYRE4sJwO47jaYiVuN/lNvU88p+Op5/bnf1j3Tv6uzON1GdQXzW/NQPXInRDY2MBpzGh4rFoJy2bNynxN2z5UclWlXTvLfA1DUSmrcGGqLAZCgMSwJezP49/UDaaW7CX+0uhy55z6FyWR3GEsUx564kzvMwZfK/nnn1EYGoq0NcxCCymTmUv6ImUcstCOPQkjASjkCpgH1kRAVCSVYARg6GSmYTbxHwVcM0mEpYZBkpQM6Sv2Socin5I7zNhKKaToks8rvF++UWf9T/VH4326pdVab+GYhGixs4MAW7oIQQq4Jyea4QG6eNayFRL6D0DGDlqp41TcKcw6IMe+5dwx7DklzIJUphxa/EY+HTSl/DK2buPVtrfurFvK87NmlLImRL1vdfcDgOwX+vtEnwWSQykj/CV/obN3gdDODmJXo7/RSNnRNVVbBaAnSZJzSZI8SZLkPyRJzgXQE8Dq9zO8z5PE2cMwZowQjwJHI9WFSsoqzpeyjBztJL/Efv0x5LemaNDVCybmIny3jJr3VDQJx1i3XuhhPxs/uAxB9jNLhtcaAPyj9qLDG/3L4m4zZ6BmSDCqP32Mavfuwnn8eNgGvZ0nxv233+B7+xbErq5wX7Lkra5VFswLU1E/dAWcJ02CXT8q7tlcLEdg6wqMfu2HVUe3sbVZ5x9ZFspq00b6JhWx7TsgZepU3j6Bl5/D4h/uRFJVmIalVvGL54OHsPpqKh+IK1VC1YuUWkJFpcSd98l/IFYqH4Q3n40/x4Ywivzs7LwTJSYEZnwrxO896VvA+s1yVE0mEdehA2LbttP5eQF2VTdNCm7d4j1WFiIzI1EoK8SVF1cY7VnFWQjcFYh5t+bBRUvI53ElAkv70p9v2CQhik25DW0FSYfJ+Ec+he+tm3q/q8WPHiF1+XKkb9oEqVyKGTdmoFYiCbEcqJDOP0k70/sMLvS98HYyfUbeOYrCQpByygEiz8tjKNa4KieuJlWr6L2OqpqvJlVDrnD0/AyxVyaMh+3R3/fMNP196n8HbFXem/b0KvOwjBj5EOgyuG1IkgzXbiRJ8gGAdycv8ZlSrzNdQjY5rBm+fbOR1Se2bTtIxFZQEAJ4rF3OOOYTTyXe2Tqbo/HXVAi9pa0pxrr1wtcOlFSZp+ljlLxgxhwPqBeHsZvaoW2LY6hQk5l8WdviHzQ23w2RuRwuU6ei2iMqllnk4FCuxgAhEEBkTyVtiStQ4RTm9evD9/YtVAulPaHpW7m1pUtL0170Q7BB4QU0vTcftnmJcBr5I2SpVCjA6wXzUakGW9rQzYcdUpCamIv7wYk63zO2dWtIk/Xrf79ZuJChA60oKoI8JwfFj6nMeosGbD1YXXiuW6tOEjKvUwcBUZEw8/ND1fPnUC08DNliSov7+Co667++a32EDQnD4enhuFuN+XfW1urWhUrbnYEy4cispuFFNnQlzF4JO4bAXbR03vgr47Hk7hLIFXJkFGUgOIGafBx9dhQKjY8y8UchFgwWIsxXgMFThPB/+gRFPMY2AKQXpau3CYKAyMEBtj17sPqJNNQLVKStWYumO+pCLKWN7DkF7Xnfy9PaE26WbrzHjXx4so+fQHS9+oiqURO5Fy4gpmEjhmKNdQcqmc9rH3fujedG+v4ucneH/2NasarK2TMQu30hf39VYaQMPbUNtrQBEjScEY6+3P3+GUNve9QBrq2g4r6NGPkE0GVwEwRBsFLblZKAxiCmUtK0J20ElhTIUJjBXnZWECLcaL4MMb4DsPc4M6nO6wUVzxvpH4Dso0qVhIJ07Usg5Q79J/M+egROIyn1AoGIhJWQGavcwmYnGtgeh++fk+D4w/cGL6e/DQJzymsvdneHyN6eUaAgbVX5LJzU+4qe3FRtTWXKO42lvP2KggIAQO7JU3Azpz20nf9HG4hNevqgenOmlvbdk2x9aWlKCkiJBNKUlFKNL/sonVSY0LcfYho3QWL/AQCAtLXrUC1Mv0ddhciZX3FG9bsGALEpM4RELBRDLBDjwXdsLW9DICUSvPyR+m65zZunbndX6lQnjWEnp3KRNHEiYlu3RuZutgcs59/TcPtmJurEMSeR+6P2o8/JPmhzuA32PKXPM1H+S12Y2AzJTrRxLRUTiM7WXX10y6MtrDaCIGBWvbp633PTn/C9GsJ5/p5VcuxbSU9W7PefR1N3rYRhkoRr5ruJby+JjVUm6n4hntN3iDw/n5G/kDyOLbmoko0T2NiwjlULC4V1OzqB27Z7dxAiEeyHUiXP33Uuy0eFpuNGI9kacimQlUjvp2j59npsAAL76b72q0fA5YVU3HeOYcXOjBj5kOgynH8HcJ4giNYEQVgrX20AnFEeM1JKRq1vo/P4g9pUMl+KRwvmAZJpcLxSKSZsovrJigWIPOiB3Jd0NTj3oc1gVqMGfdKvzCzx9rbK5JTRt4Amowz8BG+PWc2acF+0CG7z5nIeL4mNLZf3GbupHcZuaofUFZQSgNMYqqy8+1I6nj6hO60lbmpOx27X7+yFtkPZ8ZgbRtFqIBl/7URsu/aIqlUbb5YuY/QjATyr8z2I4VSstfPEiXCeTGswq8YEAJK4OMa55vXqQWBhAe8TxxntXKWfbfv2gciR8tJzxZmnvaRLTvvU5TbMCYKAUwh/oQbzevU4Y1AT+vZTh5SYeFVGQFQkAqIiYR5IT1yiatXGm+V0ASh5Tg4yDh5AdGY0Xs2bRxmIZ6jl9jeLF7PeQxWW0vwp9dkIBYmJx+UIeEEiLof6vYniktRJmh5KY3ZEgzGsa/U7RT+8x9RmHz8UfYjz83tu3KDeJpXKMEKOxEouVrVZhU3rZRh9mjLEd6yRY/1mOQpu3zbo/NKgmrCkrdVfzfRLRJaRgaSfJ0LOUfExecpUFGvkXWTu3MXqwwfXSqDAwgIAVYXQbe4cuExSVkWcOePdlHD/VCjUcBCdmwGsrU0Z3WG7mf3m5QCVGgO9twL9tY4BQCXlRFYzJ0KqW9rTiJGPAV2l3bcAmA/gNwCJABIALACwkCTJzXznGeFHKNa9MJBtx15GsxMmo+3Vcaz29K1bAQcqtKQwlfJMZz2jvcW207U8dqbWwMSn6OvwCwY5jYO/eQjV7loD7xOCIGDXpzeEVlbqNs3SufHdur+b91WGXZh4MuO2bZzM1OPS5tvF7MTKfb9eRca2bUhdRhvZeeeZKjRVH0TgpV19XErwhvuJs0gL7A4npTc439IDJUzJbwaVlYmlptVoJRn7IVQct9+9u6iwfh2qXg1BQFQkPBYuBEBNBDaOvoJLu5kP88OL6KSiOyf4K0A6uzEL85AgkG1LrcjEFD+H5xr2/LokhvYYm9epo942rUpr75ISCTJ37FDvp/wyDanzFmDijj7IPsg2cAvDaS+XVC5F7kVKRq31YxJLd8jQ96YCTaNIzN9HGbCHl8iwYocc0w9TE9LRwdRPeW4uVrVeBWsTa4yuPZr1PiMCR2BDe8qQXtd2HefvRIXYzQ1C5aTGokEDAID7Mu4kaG2sTazhkA+0fUTCrISElVLJ8cXw71l9Sam0VMm52mQfPgwArEJVRiiSf56IvLNnkayVcJx77jxy//0XCb16o+ghFVKX+++/Oq+l+n9U4XvrJqqFh6knnSpE9vawH8QtwfpFstKXSnbc0Bi4p3w+ra0NnNfQJg/SUCEhCKA6O6wLLzgmrPd3sNuMGPnI0Ffa/V+SJFuRJOlIkqSTcvuUrnOM6MbR04rVFujCX9jGVRwDB98C2NZjZkenrVoNyZM7SLzghORblHRgYSqtesAp/m9bAa4de8OhaRdqf/CH00vWxL6fnqXDMmKIAdM6yBk2TmZwrsxOS7B2MIN/E2asZXaWHKkr+aWpXKZOVRfNAYB9a+JweXckEh+lw+vQQdxrOBPXW6xAQU4J5/mqoguaEwAXpXdcaGMDm44dGVXQNIm6RSfdvo7PYR3fMFq3XreK682XI6zuJGTaVcOaptlQkAp4HT0C7+PcBV8IU8PUNvKVlUdXbeOOE38+iNLzTsxJRL299UBqeCN93gD9btB/T8dcertePInfmtNqPpbNmqGTVyfcGnQLzTzYkyaxUIxWnq0QMSwCbSvp1273u3kDAVGRkNhaYG3YWohbNIHTmNGoeumizvMkL2jVhd2r+WPjFRIJogJrIe6r0qtZkCRJh5hptsvlkCtVZQzFkByET5XC/6jJZ8F1SstZUVSE1FWrkTxhgrpP4oCBAABJYiLvddzmzYPbLGbyucjBgRG+ZUSL3lq5OWlRzP1ijXtVQw6Z0dG3gU4Lgdo6Ji+xF6iVrkNDgPiQMg/ViJF3iTEW+z0zcFYjDF/eAiNWt0Tt9hUxan0b1Kxjwdu/hc12uNXPgYffA4jMmA/tjEgrFGWw467tBgzgH0DbGUDQSmrZztewKl7vA3+Nyl05J9mVGcuC7A01kTH182O0+wSfVm8LDm/E0IXNUHTxHGI7dFSrEqho/111VK7JTq7kotLhv2HWdzAyU9iGzoUdTyCuTodb7Jx2E1kHDzL68Bmuuh7m0hJuQy4pikNBRMf8w3niRPW2TEx9HyMDhqLADBh+djjMa9SAWQC37Jm+BFuZDjUTLoaeGaq3z58bmJ+7Wjc65lag8Xus41IHhqKZnMnFHw/+wLaIbZh6bSqcx4+HuEIFVLnAobGvnOym/fEH77WKo6KQOHAQIv0DIH35EgAgfWGALJoW2YcO0yFmShQSCVKXL0dMg4ZQSLiXU+T5BXi9YMH/2bvv8CiKNw7g37m79EZIIxBS6IGQBAgBAoQQqigKCCoWQFCJgAqKigXFwk9AUBCRKKJIUxRUQAEV6Z1A6AkQIIRIS4CQ3uf3x17bu72ScrmU9/M892R3dnZ3gJDMzs68L8qyhIWvN96fhZR+/Q2GtjOk9M4d8FLpMIi12flOndXhLbXp/v9X8XxZeMvo3DfGks2qn8zNphpkIPmZT3sg6iUARn7OZF4AUvcBSZuBlRKj4oTUAtThtgJHV1vYOdqg16jWkNvI4P7IQ7C3Ef+gd2lsj8nxsbB30IxUtx52CzZOml9uWZf0sxUCgG1AgGR5babdabv+hhnhocyQEiOMXup2COxatEAzZWxrxy7CNIHrb72FkvR0lN3XHxl+aEoYuh+epd4vkwkPOcfDX8F/vpr59okny7Dizf3YuPCE3jWcGtmhIEecmOXmLHEKdN0sh6127USrPdJhBFVWzNgv2lfNMz/6xxXJ+lfPSif5afzsOHi/8QbYHk1WyiI7d+Q4AsdvayKcBG4QZ61k9vYwhavCqUkkjPg3TPxLtDQjA1lFEtFPqkmrRq2MHi8pN5w8J7dYeJDadW2Xusy2eXM89pamQ9Hyn7/h/dprAKCXLEdbxucLUXBC+D65/OBD6vKKdl7zjxzWKyvPzcXdH4S5r4YyH16bOBH31v6IC917oDw/H1nrNFN8VKPBppTl5uFiz15IDumI0rt3K9TumqQ70m/szVdyB81DsUfcRPW216RJCE5OMvh2iRjRzMzISwEmcj08MNf48Z+1Yn3fuWS4HiFWQh3uWoDJ5Wgfq5lHO3FxH8384WfFiVJaDLmNxu2MvypWLdqpy+58+22V5rRq42X6nRj7DkL0CZmzkzAKqEzBfjGqJ24v+Ayld4SOaWFSEorT0uBYoMksuDv6c+Q4+yGrURucbzsaO2KE+cAn9xvOWHnvpjhJDCsvQ5GtKwrsG6NEIfx7yXUiHtg0aQIbb+OJFooLpDto9i7C1JTQWD9R+R+LpdPYy2xt4TH+WTRTiOMKlyjEHWLdqCjtTuhFDkXAmtXwmDgR9h2FEePC5GQUp6ejwE/8pmBbZ4avh8jx4mTNQ6UqFr2xONYVNS9aE2Lz54d+1jvubqeJ7LPomP6iwz3pe5CRn4Fzd87pHVNZ+IgMvh9/BNvmzeEQanik3Hf2bACa6TW67puYP6ySd+AAMpcuRfYWzc8HmYswLerWbM0C1MwvFktOVSk4pomEc2XEo+Jjp8yLXHN5yBD19sWo2pkLreDUKVyI6CoqK5dYOCnFS2u6CakCZzMfUqIN5zAAANjrRIR5P0t4U6tSoPXQt7gzCKltTL7rYYw1AjAGQKB2fc65fqwkUmldHwxCcWEZuj3cAgobrfnXyoWRKjI54B2WjbvJ+nPBVQrrwUr42/MXQOHrW+mkO7l796m3PSZM0Duueii5MeMt3PlG/Gr5zrJlyD9+HI2fehL/vfqa5PWPRrwl2ld1ug2RyRlWvq1JBsNlcuyP0iRWmTC/t9HzK6KooBTeAa5IPZWJiCGBKMovxflDN9XHS0vKxN9jSnlZRaI2SrHx9obnpElwjIyEfYj0glvHLl3g2KULsvyb48bp0yi6dAnpkyZDe2LMuGly5NsLnfk7rppOfepjjwNvKfD5MvPjgWtr+umnemX9/TVTp2zkNnrHP+/7OcZtGwcA+OHcD3gt4jXRG5fJ/5oOcXigvQyNRgpJlexDxVlgA9auRcm1NCi8vCD3NJwJFQBKrqUbPa6SNl78Pe331RLcW7MWefv3I/vPP0XHiq9eBQCUZmbiYq/ecBkgnkqmO2f59qef4vann6L1vr1QGGhv6d27KL1tOH56bVBy44Y63Ka2C926mzy33elTYIyh9cEDND+7qhR2gHMTIFfzMwjD4oXy9c8K+2M2Cb/cKsJUrojvBgvXVVg+3C0h5jBnhHsLhM72aQDHtD6kGils5egzui3snXQ6BLaOwMxMIPoNYX/oF2AMcPSSXnQHAAUnpEcxazvt5BAAcOujjyt9LVWMaABoJLEoUzv+d/Fl/QgeBceO6XW2WXnl56qWlxkfsV39XsVDxR3eLB155Ntpe5B6SgjBZeugQOyYYHR7WPMG5dLxDMnzdKenAIBDsTBqeujGIXWZ18svwal7N1GkGSlMGdddN776Y28p1J1tlTu9NZ33DlfFYTCDk5PgPV36waeZTgQVt6EP6dWxkdvg9NjTOD1WeuS2i08XLB+4XL3f80fNaO2be6SnN6nevuimawf008M7du4Et0cegVNUFJjEtBptqocYzjlyd+9WZyDVVpqh/+/nEhsrmahHJaldMC72Eh7qcv7ZDueYGKPtAICsX38zeKy23LQsoQAAIABJREFUjmhr082W6qH1M0FbwNq1sGnaVFSmWryscHeHzIxpU8QIxoDpWtFzZt0HwkcD9lrhNTONx8lX6zlV+Npjium6aQeBjw3nKSCkppnT4bbnnL/KOf+ec/6D6mPxlhENuQ0Q+47wg6rLWABAfoZmYZh2WDYA8HnDxKu5WoopFPCdoxn1LcvKwvmukVW6ptvw4dKxcivxS3Soi/GoFFVRlF+K/85XbHFhwp+p6m2XxtJ/HrlcBpmMwStA8zpWNwmOMdGpjwEANqZsRGFpYYXap5umXuWnh37CrB6zsOoBTdKaL/00b2XeX6vfyfR47jkE/vIL2iSI5xdrzyFvtePfCrVPWwdPTYc/pyQHJWUlyCzIVGey1KWaXlJUJjz4xjSPER33+3IxAOhFdlGFGDSkPEeInZ69ZQuuTYzDzQ8/1KtjKFa9s04H05jcXbtM1ilKMZEdUPeau3cj78gRgws1a8LdNWtw6YEheuV+Xy6Gy8CBeuWtdu6AY+dOaLn9Hzh2FaaeKExM4yKV9PQGoLdWWMbUvZrtzmP060sZ8AHw7m1g0Gzz75tz03QdQmqAOR3uVYyx5xljvoyxxqqPxVtGzOb18kto/Oyz6n2nKBOLT2ox3Skkqg5IZXkbefiw8fev0LU8njQS/UVC3OIY9BplIEWxhN8/158PrausrBxZt/NRWiyectH/2fYGzhB4aoWj3Bpveo5ugp+QkCboTihk5XL8cfkPdFvbzeR52gytJejg0QGPtnkU4d7h+G6QED/3bKDpH0UOHUMgd3ZG0MbfAQjxj7XnuOuOUlaEk414AXLc9jj0/dlwyMAZe2cA0HS4BwaIO3Mu/fsjODlJL7KLwl0vea+IasFwkTIRi3a88uJr15DULlgvjrf7k0I4Rbmz9CLqyjK06PP2AnFYTFflXO5rE+OQNmYszoeGVWs7zFWWm4dbH32M4itXcG2KeATUOTYWMntxFKCW27bCxlfIKMtkMgSsWomg3341Ge6RVFKr/kC/mZr9SM2iVCjMCy0qWXemztqZ13Ri0S9oC0JqA3M63MUAPgVwEJrpJAmWbBQxYdZ9MLlmioJTVBQaP/2UFRtUfZiNDdqdPiUqq2hYOW3GOjgtlB03APD/brnBeipl9+5hcnwsJizQzLeeHK8ZVYwYEoiw2OYAgMBQT8htZAjr11x0jagRrTD4MXFs74rYt+4i1rx3CF+/rFl059zYDk1bNxK1RZeTmx1GvK6JFrDvF/3RS/8OmtHX286aEHXjjwjRAcq5/sizIddzr2P+KfECxMNtGEa/IR5d79pEvKBNl9Q0APu2bRGcnARF48awb98eTr17o7mBaBwV0c+/n3r7yM0jknXe7yFkSE3NTkVOcY561N9eYf4bk5bbtsKudSu02KoZPQ9cL47+cudb/e/H3D179MoAwDFS8xZIO0KR9/TX4NDFzAgRAPx/0H9xKTVafWeZ+O9aIRG5g1thlPvmrFnq7dzt4rcdTCYTPWAHJydJpli3Dw5WTychFubqCzTyB2yq+KAoVwAvaw1WSC3SzL5etXuQuoFzdebh2sicDverAFpxzgM550HKTwuTZxGLanv8GALnvaTObGbTrBkCflwrHRe4jmE2Nmh7XLNM4GKPio3Ym/tKW3sxlE0zTQZK14fE84BbHzwAt0cegUt/YbGZ7jx7VRr5bg+3QFtlopw2kZof+k9/JKQi9glyRaeB/mgZ2x5PvijOeKmrtER60eCZPfrJScb+TzN148HJmgV7z3zcQ3xNrVHxk/9e07tOmjJk4OT4WHwxTvPKVsHN64CUlJegrFy4x6ANg7AqabX62CsvyLHgUTlWPLTa0OnY1lk89cd/5Q/wesX02mz/Zd/AuVfV5xQv7LvQZJ1hrYapt3+7+Bsy8oX51ApmZqxhALaBgWixeTPsgoLQePx4ZZmmoyw1bxsAuE6K0uDkJLTatROugwepywLWaP5+PZ57zuiDpHZWxKCNG+HUTX/61sXe0cK9OUdZdjbKcvPUx7zffBNtTyRKvlG7okwiU5MMTWFSkdnZofW+vXprRYgVTT0NvFMNnWHt4AJSiynzpNetmOXHJ4FN+tmeSS2zdQbwQSNg7WPWbolB5nS4zwLIN1mL1Chm5wSHhyeJyhw7dYJt8+YGzqhbZI6OcAjTvJpOaheMMjOnl5ReN/8HeMt//obHCy/ANiAATRfMR/Nly9D0U00YOac+0VC4u6Opmem8vfxdMGFBb7SO0HS43bwcMDk+FiPfjFCXuYdpXnP2flyTmKcovwRL4nbg65d2Y/+GFCyJ24ElcTtQmFeC6xdNx6fWTtLj6imOruATJA6r9d8FzZsD3QQ6LRu1hLuv/siTsVCNnVd1xtNbxGmv1/cUfvllKtdHSSWi+ekhIQHQ9wNlSNea4uwUGQmmML8ja0nrHlqH7SO3Q6GVxONG3g1M3C68Fl9xdkWlrus9/TW0OXpEtAA1uX0HuD+pyapXnJYGzjluz5und75NE/HbEoWnJ7xefRUtt/8DQOhkejw3Qd0ZDVi1UlTfa+pUKHx9Yd9WnBxKpfz+fRRduoTk4Pa4ENkNFyI038MKLy/I7O3h3LuX3nmqKTHlRUW48cEH1Rbi0xjdKSMA4DZsGJp9ppkCo/D0rDXfU6SazbovDhOo7evoyl/3/J/A8ZWm6xHrKbgHHF4qbF+svYOO5nS4ywCcYIx9zRj7QvWxdMMIKTgpjrZSmplptH7u3r1I6hCCu6uEUT4fnQx8UmybN4f3q0KWRbcHH4Rz715gjCE4OQmB636C30LpUc+nPuiOcXOlR9T0Is0YMOqtCEyY3xuhff3g3FjoLHz7qmYh0Yl/NNM6lr+2F78tOC46372JI55fKP5FwhiDk5stFBILI23tFXhxSYx6//fPEtUdoZRjt/Tqxz7TTq8sdGUo7hQYjjd+5s4Z0f7PvWUY/YYcJQqG2ObSU146eCgjczCGN8YL7faYOFGyrqXN7S2dXKO9R3v4OAkPUb89LETvWK01gv9Eu8qN6DKZDHJl/Gxt99b+qN5OnzoVvMhwVCJdni88D1s/Tfx17+nT4b/8WwQnJ8Gxa1e0O3Ma7c4K/06ecRPReucOdV23YcP0rqedmEebcx/9TkzAas1C2OtvzsCF7j2Q9eNPuPne+3p1Oee42DcW+Ymm1y6Yo+SG/uK4pnM+Uc8xJw1I5ESgZT/T9UxJ0ZqadMtwHH5iZXMDrd0Cs5jT4f4dwGwAB0BhAUkNajx2rGjfWArxklu3cO35F4CyMtxbs0You3mjSvd3CAszGIO3kY8jnNwqsNBHgneAK+ydhc557l3zO1QqsWODYWuvP1o3bm4vTFwknSZZJhf/ly/MK8G9m3nqv9uOfTRTXZq0cIOUozf1MxEe+M9A/G7GUCYXrt2zmeFX/qqQfaUKhnEzXeE9barBupYU7KGf2tzXyVe0z6E/Wtvd13RsZ1N83n5LsrzoXBLOh3cSlQX+8kul78MUCjC5dKSaplpRgozxfvNN0YOCXRthhFx7zvj9jRvVWUazJNqb/ccfKL1xA1dHP4mkdsGiUfC7q1YLZQam10jRfQMQ8ONas88l9cyQecDoH03XM+TOJeDH0cDqEZqypT0M1yfEDCY73MoQgD9C09FeS2EBSU1wfXioaL9clSJcQkqfGL0yuxZ1Z6nBoOdDTFfSEtKnGbz99UdGzaE9heW76fuwdtZh/PuDMAUgMFQ60Yl2p9PdXn8hqmpqBQD1PG51fWUmx0dbizMaGtKnufTDQk3wctDE7T015hS2jNiCLSPEoQFbuOl/X7nZST+cVIS5I7FN58+HQ8eKfb9URPNly9Dyr21G6zQeJ34YbrFpI4KTk4w+FN/7+Wfk7Nip3r/++hui4+XKFOwlt27hljIj593vv69Q27U5dupkuhKpvxR2wBNaD11FxjM0iyzuDJyXDglKapn75iULqw1MdrgZYzEALgJYAuArABcYY1WYEEWIeWR24hFkYx1uKVKvx2urFp3MT9AQ/UQb9BndVm+02lyhff0MHlONuKtEDAkEAGweqkk5vuvaLqMxub85/Y1628vBC/8+9i92P74bchOZ5Lo1EcIOzuw+02g9S3K21cylZoyhuUtz0bxtAHp/jtVDVkPGKvdvoU3h6YlWBlK+qwT+8gvcHqpc9lVzOffuJYp2ohKkFdXHWMfakJvvvY/0SZNwfcZb4CUlescLjgtTpgrPaV7d3/50foXvAwB2bSkUHAHQTuv/yhdmPoAZe6tyL7VKzSHVrDgfWCsxnW+WG7Bbf82LtZnzW2IBgIGc8z6c82gAgwB8buIcQqrMrlUreL3yMpp9IYSXKzh5Sq9OeXExcrZLx8019Nq8NpLJGJzdhQeM/uOC1QvtZQomCvfn7G6HkD7GI5yY46kPpadAeOmMmt9OzQYAfPvKPmx8ZCMAYe5y1zVdcf6uEO825Z44EctXJ74CAAxvNRw7HtsBG5kNGtubDt2/sO9CrBi8Ai62lRu5r05yZt73zqg2oxDmVX1xp218vPVSr2uTOUnHNrcE7WkrrffugX3btvCZ+S5abPnTyFmm3f/9dyR3DNUrL7lxA7ysTDRf3T4sFMXp6ShMStKrb0jbxOMI+uXnKrWR1CPeyhwFebf1j93/D7igs8juQyOx8pf1A7LSgENLa3X4uQYhKw34ny9wSyvqkFwry+/OCiRHqiHmdLhtOOfqSPKc8wsAKFApqRGeL76ojrxye67+grbUJ55A+pT6EbJpzP+i8OKSGLTt7qv+WV5eyvXqVGZ0UZebl/TcdN1r37ikWfWfcSUXjGuOj9w8EivOrMDwTcMlr2Ujq9iPCWdbZ3TxMT9utKX8MfwPbB9lPPnJv6P+xZbhW/Bej/eq/f7er2uSNbXSWtAI6L/1sSSHjiFw7N4dzN4eCi/hDUzjp54yOVWr3dkz8Jr6SoXvd3PWB0juEIL/pk5Tl9m3bYdL/QfgyvARuDxihGTmTUAcPUfm4ABmaytZjzRAzxn5v/x5e2DtKODKXsN1IicCQ5U5BfIzgYUdgW3KEHTXdOL1p2wXRlfvXKp6u4mwUDX/rn75D0OFfwdtHR8DXLWSnznUvvyM5nS4ExhjyxljMcrPMtCiSVKTjHQwi86JR75aHzwAx+7d4fuJeYu/ahPGmMFpIr6t3NA82L1aOtuqe5ljxOud1dsJX2di4iFx1JYFxxbonqJWUq4/baAuCHANgKeD9Fx2FW9HbzR3tUwITlt/fzj1iUbzb76Gja8vAtauQbPFX8D3k09E8eJrQsCK79HuRMWiiDC5HJ5xcWi2aJHpyiZk/awZqS46lySK3qKNFxqe4kQaOIX04ILIjROGj7k2BdoamMa1fIDwtShH6GivVq5ToTCCVXfyJ2Gh6rwgYM0ooawoVxjZviKRBGzEN0C3FzX7HUfWTDsrwJwO94sQYnG/DOAVAOcAxFmyUYRoU3hogjNnfrNMvV144YKoXrPPP4PC3R0BK75Ho+F1Z/62OUZM74KHX6neRWDdHg4yWcfTz/zpHW3dxfNmh7SgcGyV5f/113COFpbKOHbuDNcBA+rc97TroIGi5DpSfN5+22QdXSU6cfYLTp/BzVkfVLh9pIGQaXVzCu5JTwUx9jaOlwN2Rn4OpvwLfBMjLttvOokWMaC8XPg3+k0rNOzFv4GyUmDVcP2RbRXGgCZax4Z8atl2VoLRDjdjTA5gOef8M875CM75cM7555zziscwI6SSVK+zASDjs8/AS0sBAFcefkRUz/WBB2q0XZaksBX+a/Z50nKLvyKGBBlNB2+IR570KOv6hzXpyZ/t8Gy1hMojdZ92ynifme+Kjjl261bh66XE9sP1GZoQiqmjRuH+xo2VbyBpOOYGClNBOAdWaYX8++tt4evWGfrnhD8J2NgbvubqEcCdFP3y4jz9MmIc58Ic+g8a6R/7yANIP6Jfrk315rZt7RzsMdrh5pyXAfBijNGEOFJrJId0xJXHHrd2MyxqwvzeGDatE0KiLT+FQJUO/uGp+lkgAWDsJ+L42aNOvaFXRzWX+cQzJ7Bj1A68GvFqNbeS1FXaKeMbjRiBxs8+q95XZbj0euVl0Tl+S75E0CbDnej7v/+OwnPnUHpXPL+z2UJaz0/MsGU6cEkrqQ0vA1aP1GQr1ObSRL+snXQyKJG0g8aPcy4swtz2tulrNRR5xpPbmdS8OxDzNjC0duZmNGdKSSqA/YyxmYyxV1UfC7eLEKMKT+lHLKlPFLZyNGtrZLV8NQrs6InJ8bFo3k56kYmzux16jGgpKos7uAgR14Q3CseePoZRbYQ5dnKZHF6O5oc4JA2LzMEBnpMn65Xb+PuL9l369YN9G+l08yoZi77AxSjxw6DMydlAbdKg+eoMJhz9Vr9Oyj/i/RnXgBe1Os1x+4SvT/wIPL4aJq02kXdg00vAfwnAoSWmr9VQbKpgAISZOlmPZTIg5k3AuXb+DjKnw30dwB/Kui5aH0JqjG3LlgaP2XfogFZ7jMcvJlXTeWCAepqLSkT6YHT37Q5bOb0AI8Y1X/YNPCcJC5rkzk7wi1+KNocPqY+7PfggHCOFkfDAn9epy4OTk9By21bJa+ZKxCx3iqJsgETCE2sqVj/2XcDeFfBprylr0hGYdR9oN0SYujDrvuHzzZG4SrM9yw3Y+1nVrlcfXJD4v6560NEV+y4gVwj/DlX9t6ghBjvcjDHVd0MW5/wD3U8NtY8QAEDgunUGjwVtWA8bb+8abE3DNPLNCL2yZQOXSdQkRMy5d294vayZNuISEwO5mzg7Z8DKHxCcnASHUHGMbtvAQPh9uRitDx4weZ+6FHuf1CA3P+DNVKD7JP1jb6bqlyWaMYINiDt6Q+YDzk2AiVoRNLTDA/70lNCxNuTfBtatSt4CbFGGQN3/hfTfzUvHNQ86XZ8TH+s93fJtrGbGRri7MMYCAIxnjLkzxhprf2qqgYQAwqhY28TjeuX2ofoJNIhleDRzxsTFxtOulxaX4aePj6C4sLSGWkUaApf+/aFwNzzFyqZpU7Q7Xb+nmZEqcnAHBuuEi/XuIJT76ES+GPsHzPZ+FjD9IhD5PDD9POCrlQjrptb3ZLLymncvV6zd9dVPo4Ej3wAlhcA/BrILN9aK+f/gAs1o9qz7RsMF11bGOtzxALYBaAch7rb2J8HyTSNETObggODkJAT+9CPaHD2CwHU/wf9bGmGtSQob8QjikjhxYpavX96NO+m5WDZVIk4qIVVkKA6578cfgdlQPjZiBu0FdXHKhDfa2QrfTAUaVSDGPmOAs84bVtWiSlsXYXHkzTOaY3+9Y/haDTGyyWwfw8fqYKfaGIMdbs75F5zzYADfcc5bcM6DtD7GU42ZwBj7lDGWzBg7xRj7jTHWSOvYW4yxFMbYecbYIK3ywcqyFMaYROwe0lA4hIdD7uICh7AwyF1drd2cBmfM/6JE+2Vl5ZL1OKU+JtUs8Kcf0WTW++p9eWPhZatjD5q7TczUZSxgr+xyyJQDCIG9ha8PLRRGvKtKNf3hn5nAd4OBeK3Fvee3AIXZ0uf9r6l0eX1TYiRRVcR44PXLwnSSesbkoknO+Yum6lTCPwBCOOehAC4AeAsAGGPtATwBoAOAwQC+YozJlfHAlwB4AEB7AKOVdQkhNcylsT0ihgSq9/9LvoclcTv0Rrtz7lD2P1K9FF5ecH/iCfV+4I9rEZycVG0ZWEkDMeOqeP616vunselkYGbxUuZPuH0OuHZI//g5rZCXj+lkpcxKq5421GaZF6TLW/YT5sI7eQAehgMl1FXmRCmpdpzzvznnqkmehwD4KbcfAfAT57yIc34FQAqASOUnhXN+mXNeDOAnZV1CiBUkHbih3t68+KRknYLcupnandR+zv36AQCYgxlpuwkxpderABjQpJrWBNmaCE+5aYpmu/0jQHOtBFCGMinWJztn65e9fR145lfNW4d6yCodbh3jAahiwTQDcE3rWLqyzFC5HsbYC4yxBMZYQkZGhgWaSwjpPCjAdCWaUUIspOmcT9B8+bcUnYhUj5Z9gVlZgGM1xYMwlAreTmcK5BNrha8jGthaJL+u+mW2TjXfjhpmVoebMRbAGOuv3HZgjJmMw80Y284YOyPxeUSrzjsASgGogmRKvRfkRsr1Czn/hnMewTmP8PKqncHPCanrQvv6ITTWz2id6ylZNdQa0tDIXVzg3LOn6YqEWIPUFKdZ94HnxdPu1B1P9wDgtfOa8iP1vAO+4yNrt8AqTHa4GWPPA1gP4GtlkR+A302dxznvzzkPkfhsVF53LICHADzFNaur0gFoLw/2g5B4x1A5IcRKeo1qbfT4gQ0pSNiSWjONIYSQ2kq1ANBT52emo4dmWzuF/BatGNO5t4HCupHYpcLG/yV8jTUQFrCeMWeEezKAngCyAYBzfhFAld7jMcYGA3gTwMOc83ytQ5sAPMEYs2OMBQFoDeAIgKMAWjPGghhjthAWVm6qShsIIVXDGNPLPgkAD0/VpFE+vOky7vyXi7IS6UgmhBBSr7n6iRcATjun2TY2X/nSDqC8DJjfGpjjDywfaLk21qQbWrHJm3YWRv6j614Sm8pQmFGniHNerFoFzhhToOqzM78EYAfgH+V1D3HO4zjnZxljPwM4B2GqyWTOeZnyvlMA/AVADiFU4dkqtoEQUkUTv4gBL+fIzSqCk5st8rNL4OxuJ6rz00dHAACT42Ot0URCCKl5Q78ANr8sJGzR5tYMeOMKIDcRN37VcPH+tcPAhb8AJy+gWefqbWtNOb0e2DBBs6+wtV5brMCcDvduxtjbABwYYwMATAKwuSo35Zy3MnJsNgC9Jayc8y0AtlTlvoSQ6sdkDC6N7QFAr7NNCCENUpexQgIcJw/9Y4YWZ477E1jxoOFrrn1M+DrjGiC3BfbMA6JfB2zqSLSefZ9buwVWZc6UkhkAMgCcBjARQqf3XUs2ihBCCCGkTpPqbBsT2AuImGC63pzmQobGvQuEqSZXD9SNKSe3zpiuU4+Z0+F2gDCFYxTnfCSA75RlhBAiKXZMO2s3gRBC6p6HPqtY/ZungO8fEKac5NahUMj9P7B2C2qcOR3ufyHuYDsA2G6Z5hBC6oO23X3R58m2orIze/6zUmsIIaQOGfBh5c7LqULwNs6BWW7A0eWVv0ZF9JpaM/epRczpcNtzznNVO8ptR8s1iRBS18lkDCHR4txUu9eex5K4Hbh3Mw8AwDmn6CWEEKKr5yua7clHga7Pm3eezMRCTGM2vyx8/fNV888pKxU+5tYFgLZDhMgkDZA5He48xph6SSxjrAuAAss1iRBSn62ddRgAcGTzFcS/tAulxWVWbhEhhNQyM64BMzMBrzbAkE+V6edNWNoDuHkGuPC3MGJtrvIy4PhKzf61I+ad95GH8Jnjb7ruoa+Er+cbbuwLczrcUwH8whjbyxjbC2AdgCmWbRYhpD4Y9HyIZPmFIzfVSXFoqgkhhOiwd9WEDmQM6P8+MGypsK+bsVJbfE9g7Sjg3wpMS1n9qHh/+QDT52ydodkuvA/cuaRfJ/lP4ZO0GTix1vz21FOMm/EUxBizAdAWQor1ZM55iaUbVh0iIiJ4QkKCtZtBSIN28/J9bJh3zGgditFNCCEVFN8LuHla+phbc2CamVFBZrnplz3yFRDYE7h+AugwzPQ5QdHA2M2Gj6u4NAVeSzKvXXUQY+wY5zxC6pg5I9wA0BVAKIBOAEYzxsZUV+MIIfVbkxZumBwfi+CevtZuCiGE1B9jlAm3IyfqH7t/rWrX3jgJWBQG/DIWKMoFbp0D0g5pjse8La5/ZY95153WcHMWmkx8wxhbBaAlgBMAVJMtOYCVBk8ihBAdsc8EI2n/DWs3gxBC6gfHxpoFiNHTgZR/gd/jNMdnuVVsgeJ7d4EvI4C7l8XlZ38FNr0kfc6MNM0c7h+GCuH+fKSnEgIAZOaO89Y/5mSajADQnpsz94QQQoxwdLVFfnaxXvm/P5xD8sGbNLWEEEIqw9kbCB8t7nADQEmBOBPlvBZCpJBHvhT2L+0E7NyAFn0AmVy/sw0Y7mwDgL3W1JEre4BlfSv/Z6jnzHnUOAOgiaUbQgip/56YGSnad28iRBhNPngTALBzTXKNt4kQQuqNdzMA90DNfmG2ZrukAMi/AySuEvY5B1YNA4q0RsE921T8nk06VqqpDY05HW5PAOcYY38xxjapPpZuGCGk/nFwsYVnc2f1/r2b+aLj5/aKEzfczyigWN2EEGIuhS3wyknNfv4dzfalneK6HzTSbCcpu3VTjlb8noYWbgLClJbxfwnbLk0rfu16xJwpJbMs3QhCSMPx8CvhuHrmDpq1cUfCllSc2yedHa2kqAyrZx6Ed6ArRs2QXPRNCCFESpvBwIVtwLqngZePC2WNmmuOG4oiUp0Cewtfm0UAXZ5tkNkltZnscHPOd9dEQwghDYODsy3adRcilrTv2VSvw/3vyiTcu5GHW1eEV6G3U7P1rkEIIcSIzmOEDne5VhTnnJvmnTvrvjD9ZLbWbOLxfwNuzYADXwqj6Nrp512aSqeVj35d+CpXAEMXVvzPUM+YE6WkO4DFAIIB2AKQA8jjnLtauG2EkHrO1dNeryz5AEUyIYSQKgnoKXzNStOUrRkpXdelKfCYTuA5GwdNx5vJAIWdUP7AHP3zX0sCCu4B9o2ARaGae7boU7U/Qz1jzhzuLwGMBnARgAOA55RlhBBSJQ4utupteycbK7aEEELqEYdG4v2lvQzXfS0JaN5V+piNg6azbfR+7kJGzO6TzW9jA2POHG5wzlMYY3LOeRmA7xljByzcLkJIA1NcUCpZLjUKTgghxEyJa4BbWgsb+74jhPM78yswflv13ivyBWEqy4APqve69YA5He58xpgtgBOMsXkAbgBwsmyzCCENjX+IB1JPZeqVZ2cWoqysHHJ5w02YQAghlbZxkni/zxvC124SGSqrSiYDxvxe/detB8whgxjKAAAgAElEQVT5DfaMst4UAHkAmgMYYclGEUIajtHvdwMA9B8XDO8AF8k6/3zbcNMBE0IIqfvM6XAP45wXcs6zOecfcM5fBfCQpRtGCGkYGvs6YXJ8LOwcbRA+wF9d/szHPdTblxIzrNE0Qgipu4KH6peN2Vjz7SAAzOtwj5UoG1fN7SCEEHg0FZLiePg5w9XTwURtQgghBj22CgjSihQy6z7QIsZarWnwDM7hZoyNBvAkgCCdzJKuAO5In0UIIZXXuKkT+j7TDi3CvQAAExf3wdcvCakAykrKIbehedyEEGIWxoCxlBi8tjC2aPIAhAWSngAWaJXnADhlyUYRQhqu9j016X8VNnL19skd19B5UIA1mkQIIYRUicHhIs75Vc75LgD9AexVZpy8AcAPAKuZ5hFCiODgb5es3QSDvnt9L/5eTgs7CSGESDPn/eweAPaMsWYA/gXwLIAVlmwUIYRI4eXc2k0AAFw5lYnSkjIAwNavT6MgpwQXj97CkrgdVm4ZIYSQ2sicDjfjnOdDCAW4mHM+HEB7yzaLEEIEQWGe6u3vZ+zHkrgdKMwtsUpbEv9Ow1/LzmDLV6dw6LfLOLz5Mi7rRFChTjchhBBdZnW4GWM9ADwF4E9lmVkZKgkhpKqGvBiq3i7ILgYAJB+6Yda5l09koKSorFraUZBTjAO/piDl2G0AwpzyhD9TJesuidtRq6fAEEIIqVnmdLinAngLwG+c87OMsRYAdlq2WYQQoqGbEGf/+hST51w+kYGt8afxzSu7q6UNRw10rg05/tfVarkvIYSQus9kh5tzvptz/jDnfK5y/zLn/GXLN40QQgQuHhWPyb01/nS1tiHrdr7R45PjY6v1foQQQuoPgx1uxthC5dfNjLFNup+aayIhpKHr+lCgXllZSTkA4NaVbNy8cl9dXlpShsI88Rxv3f3KuHbursFjrp72AIC4JTHiNpaWV/m+hBBC6j5jI9yrlF/nQ4jDrfshhJAa4dHUGZOW9hWle49/aRcAYP3cBGyYewycc+zfkILvXt+H5a/tFZ2//LW9yLlbqHfdooJSFOQUm9UGz+bO6u0nZkaqtx1cbPDMx1EAALlc/CP11I50s65NCCGkfjMWh/uY8utuAOcAnFNOL9mtLCOEkBrDGNNL9865JkxgUX4pTvyThpJC6UWSP310RK/s22l78N3r+8y6f+a1XADC1BGPZprOt4OLrcFzDvxqeq45IYSQ+s/YlBLGGJvFGMsEkAzgAmMsgzH2Xs01jxBCxEa9FaHe3rgwUb2dd7/I6HnFBaWiOglbUtXbxuJ7Z6Tl4NLx23rlExb0hp2jAsNf7Swqj3mqrWj/7o08o+0ihBBS/zHtESLRAcamARgC4AXO+RVlWQsASwFs45x/XmOtrKSIiAiekJBg7WYQQqpZVWNdB3T0wNXTd9T7do4KPPdZtFn3MmdxZN79Iqx4c3+FziGEEFK3McaOcc4jpI4Zm8M9BsBoVWcbECKUAHhaeYwQQqxCdxS5orQ724AwHUXKuX3XK3V9Jzc70X5pcfXEAieEEFI3Getw23DOM3ULOecZAGws1yRCCDEuuGdTs+p1HuQPnyBXs+puXnxCtH/7ajZ2rk6ucNs09w5Qb3/9Mi17IYSQhsxYh9vY0n3zlvUTQogFyGTM4LHJ8bFwcLFBcE9f9BjeCsOnd4ZHMyeT10w7Kw7798sn+tPRHpwUqldmiJ2jeQl5189NwMq3D5h9XUIIIXWPsd8IYYyxbIlyBsDeQu0hhBCzjP2kJ36dfwwBIR44s/s/0bHxn/ZWb8vlMjz6ZgT2r0/B2T3/6V5G5O71PFxKvA2ZXLpDHxjqaXb7SkvEMbh5OQeTeFC4dUX4Mcs5B2OGHyQIIYTUXcbCAso5564SHxfOebVMKWGMTWeMccaYp3KfMca+YIylMMZOMcY6a9Udyxi7qPyMrY77E0LqLmd3O4yZHYU+o03P57axlSPmybZ6ixcff7crAkI81Ps/fngYRzZfwaHfL+tdQ5XcxlzNWjcS7a94az845ygqKFVHRbmVqhnTWD/3WIWuTwghpO4wmdrdUhhjzQEMAJCmVfwAgNbKzwsQIqKAMdYYwPsAugGIBPA+Y8y9RhtMCKm1HF2FWNjhA/xN1h35prCAPCjME55+Loh5qp3Jc0a83gWj3+9WoTb5BLnCt5Wbej//fjHu3czHt9P24OBvl3A5MQPr52imrdxOlXqhSAghpD4wGBbQ4jdmbD2AjwBsBBDBOc9kjH0NYBfn/EdlnfMAYlQfzvlEZbmoniEUFpCQhqGkuAw5mYVo3NT0XG0pP//vKDLSciSPdR4cgB7DWla6bYc3XVbH/G7brQnOH75psK53oCv82rlX6X6EEEKso7JhAS2GMfYwgP845yd1DjUDcE1rP11ZZqicEEJgYyuvdGcbAAZO6CBZHv1Emyp3frWnrBjrbAPCKPfxbVexJG5HlWONE0IIqT0s1uFmjG1njJ2R+DwC4B0AUhkrpVYMcSPlUvd9gTGWwBhLyMjIqPwfgBDSYLh5O0iWd4zxq/K1m7RwQ3BPX4PHuz4YWOV7EEIIqd0s1uHmnPfnnIfofgBcBhAE4CRjLBWAH4DjjLEmEEaum2tdxg/AdSPlUvf9hnMewTmP8PLyqv4/GCGk3mGMWTQbZK9RrQ0eixzawuAxYynnCSGE1B01PqWEc36ac+7NOQ/knAdC6Ex35pzfBLAJwBhltJLuAO5zzm8A+AvAQMaYu3Kx5EBlGSGEVJtOA/3Ra1RrBPf0ReyY4Gq7rq29eTG5dSUdvAEAKMovwY8fHkbuvcJqaxMhhJCaY7UoJQZsgTACngJgGYBJAMA5vwthgeVR5edDZRkhhFSbqBGtENavOWKfCUZwlOFpIJVhLMrJuLk9JWN8Xzx6CwCwYd4x3L2ehx/eogQ5hBBSF1ktSklNoCglhJDapLiwFCWFZVgxYz8AYNycnnBqZKc+fuVkBrYsPW30GpOW9qUEOYQQUgsZi1JSufechBBCKszWXgFbe4XB+eIezZxNXuOrF3fixSUxkMlr2wtKQgghhtBPbEIIqSVcPMzLZnk/o0CyPDuzAOnJNNuOEEJqG+pwE0JILcEYg3eAC1p39TFaz1CHe9W7B7Fx4QkU5pZYonmEEEIqiTrchBBSi4x6qysGTuiA2DGGU87/ueQU/vr2jMHjy6fvtUTTCCGEVBLN4SaEkFooOKopfFs2QiMfRxzblgq/to0ht2FY9/FRAEBKwm0Mek5TPz+72EotJYQQYgp1uAkhpJZq5OMIAOgyOBCAfqe6pLgMNrZy/LsyCckHbtR08wghhJiJppQQQkgdYe9sI9r/5uXd2Lf+olmd7SsnM7D9+3OWahohhBAjqMNNCCF1hEzGIJOJY3Cf3H7NrHO3LD2N84dvWqJZhBBCTKAONyGE1CHPL4xG58EBJuuVlZZLlhcXllZ3kwghhJhAHW5CCKlDFLZylBaVSR57+qMe6DzIHwBw93qeZJ1lU/cg7dwdi7WPEEKIPupwE0JIHePbqpFe2eT4WLh5OeD4X2kAgJ//d1R9LPmQeI735i9OWraBhBBCRKjDTQghdUyrLt5oE+mDwFBPvWNdHwpSb6+fm4Dyco5/VyTp1aNRbkIIqTmMc27tNlhMREQET0hIsHYzCCHEYspKyyGTMzAmLKYsLizFsql71Mdbd/XBxaO3JM8d+nIY/Nt7VOn+Ny/fR1F+KTKu5SC0rx9s7SnaLCGkYWKMHeOcR0gdoxFuQgipw+QKmbqzDUCvw2uosw1oppZkpudg55pk8PKKD8BsmHcMf3x5Eoc3XhZ19AkhhGhQh5sQQhqIuC9jMOmrvqKy7MwCbFx4Auf2Xkd+TsWyVRYVUMQTQggxB3W4CSGknpkcH6tX1rFPM2E0XCeO96p3D6IwtwQAsOLN/Qavycs5SnSio3w7zfwR7YxrOci6nW92fUIIqU+ow00IIfXQwOc6iPZ7P9FGvf3Coj4Vvt5Xk3bim1d2qzvnhlw+kaFXlpGWg59nH8Wa9w6hvBLTVgghpK6jDjchhNRDrSN84OHnrN7XnudtYyc3eF5eVpHR6968ch+FeSVI/CdN8vjW+NN6ZdohCneuTjZ6fUIIqY+ow00IIfXUyDe7wMPPGRMXmz+inXL8ttHjfy45heWv7cWBDSkG6+RnG54LnnzghsFjhBBSXzW4+E0lJSVIT09HYWGhtZtCTLC3t4efnx9sbGys3RRC6iSFjRxPvBspecze2QaFuSXwbemGG5fuq8uvX8hCWGxzUd2sW8bnXk+Oj8WSuB3q/VXvHsALi/qguLAMe3+6UIU/ASGE1A8NrsOdnp4OFxcXBAYGil6xktqFc447d+4gPT0dQUFBpk8ghFTImP9FgZdzdRjB6xfv4bcFiaI52GUl5diz7gLO7btu8DrRyrnh3oGuuJ2aDQAoLS7HfxeysPHzRMlzOOf085cQ0qA0uCklhYWF8PDwoB/2tRxjDB4eHvQmghALsbGVi2J2u3g4iI5zzhH/0i6jnW0ACOnTDAAwakYEHpoSpi7X7WyH9dOMmp/Yfq3S7SaEkLqowXW4AVBnu46gfydCao6zu516+9aVbNFCR0OeeC9S9P/UqZGdwbq9RrVWb9+7mVfJVtZPt69m4/bVbGs3gxBiQQ2yw21tcrkc4eHhCAkJwahRo5CfL8yPdHZ2Nnpeamoq1q5da/AYYwyLFy9Wl02ZMgUrVqyoljbHxMQgISGhWq4FAOPHj4e3tzdCQkKq7ZqEkMrT7jivn5uAzGu5RuuH9W8Oj6bin1mNvB0M1BY8ENcRAJC0/wZST2dWsqX1zy+fJOCXTxIqlemTEFI3UIfbChwcHHDixAmcOXMGtra2iI+PN+s8Yx1uAPD29saiRYtQXFyxbHGWVlqqn41u3Lhx2LZtmxVaQwiprOcXRqN1Vx90e7gFeo1srXdcYSsdbnDwC8KDdWBHD3XZn0tOISMtxzINrUPKy8rV22nn7lqxJYQQS6IOt5X17t0bKSni8Fqcc7z++usICQlBx44dsW7dOgDAjBkzsHfvXoSHh+Pzzz/Xu5aXlxf69euHH374Qe+Y9gh1ZmYmAgMDAQArVqzAsGHDMHToUAQFBeHLL7/EZ599hk6dOqF79+64e1fzC2D16tWIiopCSEgIjhw5AgDIy8vD+PHj0bVrV3Tq1AkbN25UX3fUqFEYOnQoBg4cqNee6OhoNG7cuBJ/Y4QQS2nZ2Uu93XlwAADgkWmd0HNkKzwyNRy29goMnNABEUMCDV7juc96q7dDopthcnwsWnb2BgDI5OJfOT//72iDT4Rz+6rmoeMqjfoTUm81uCgl2j7YfBbnrlfvvLn2TV3x/tAOpitCGPndunUrBg8eLCr/9ddfceLECZw8eRKZmZno2rUroqOjMWfOHMyfPx9//PGHwWvOmDEDDzzwAMaPH292m8+cOYPExEQUFhaiVatWmDt3LhITEzFt2jSsXLkSU6dOBSB0rg8cOIA9e/Zg/PjxOHPmDGbPno3Y2Fh89913yMrKQmRkJPr37w8AOHjwIE6dOkUda0LqiAETOuDS8V0AgOPbrkJhI4NfW3f4tXU3+xp2jpownr0f1x8F17V00k64eTvg6Q97VLi99cGJ7ZoEQsWFZVZsCSHEkmiE2woKCgoQHh6OiIgI+Pv7Y8KECaLj+/btw+jRoyGXy+Hj44M+ffrg6FHTC5gAICgoCJGRkUannujq27cvXFxc4OXlBTc3NwwdOhQA0LFjR6SmpqrrjR49GoAwOp2dnY2srCz8/fffmDNnDsLDwxETE4PCwkKkpQm/QAYMGECdbULqELnOCHRpSbmBmsZ1GugPQH9E25D7twsqdZ/64NJxTRjG84dvoiCnGCvfPoCjf16xYqsIIdWtQY9wmzsSXd1Uc7gN4bxqr1jffvttjBw5EtHR0eoyhUKB8nLhl6duqD07O01kAZlMpt6XyWSi+de6UUMYY+CcY8OGDWjbtq3o2OHDh+Hk5FSlPwchpOY99k5X/DzbvAd8Q6JGtELUiFaSx3qObIX961PUX1UKcorh4GJbpfuaI+tWPhzdbEUhEa3lq0k79cq+e30fAODI5is4svkKHpwUisBQz5puGiGkmtEIdy0UHR2NdevWoaysDBkZGdizZw8iIyPh4uKCnBzTi4zatWuH9u3bi6aeBAYG4tixYwCA9evXV6pdqrnk+/btg5ubG9zc3DBo0CAsXrxY/ZCQmCid6IIQUjc4uRkO7Vcdwvv7Y3J8LML7+4vKVR1NSyopLsOa9w9h2dQ9uHs9DxnXrLto05yoJH9+daoGWkIIsTTqcNdCw4cPR2hoKMLCwhAbG4t58+ahSZMmCA0NhUKhQFhYmOSiSW3vvPMO0tPT1fvTp0/H0qVLERUVhczMyi3McXd3R1RUFOLi4rB8+XIAwMyZM1FSUoLQ0FCEhIRg5syZZl1r9OjR6NGjB86fPw8/Pz/19Qgh1mVjJx1pxBI8mtXsW7C17x9Sb//44WH8PPsosjNr/3SW0pIyFBUIbxsL80qq/BaUEFLzWH3+jxsREcF1Y0cnJSUhODjYSi0iFUX/XoTUvCVxO9Tbk+NjLXqvhC2pOLzpco3cS/vPpTJsWic0q8Ci0Ook1R5zWfrvihBScYyxY5zzCKljNMJNCCFExL9DzS12Do31U2/n3is0UtMyTu1Kx5VTNRuOL+tWvl5nu1WEd4WuUVZauQWthBDrsP6qEUIIIbXK0JfCa+xe2osXd609j4cmh1nkPmVl0h3Uy4kZuJyYUaMjxtuWnRHtj5wRAZfG9khJuA0AiBgSiHY9fHHwtxRRFBNtF4/eQrsevshIy4GnnzOYjEnWI4TUDtThJoQQUitcPX3HYtcuKRBiXDfycUTWrXyL3ccc2gGfGjd1gk+gKwBg3NyecHC2UYdTHPR8CL56UT+SCQDcSMmCq6c9fluQCP8OHhj6kmUeVAgh1YOmlBBCCKn3iguFRYedB/kjbkmM3vGazHiZeS1Xva0dqcTJzU4Uu5wxhucXRkPKuf038NsCISpU2lnLPagQUpfk3ivCkrgduHJS+s2QNVGHmxBCiFX1eVITx7/cwNSPqlJF+VDYyiGXy/SmkBTmlljkvqbcu2l8tN3WXoHJ8bGYtLQvhr4UhidndauhlhFSt1y/eA8/vLUfAJD4T5qJ2jWPOtyEEEKsKiS6mXp76eRdVb5ezt1CFBeUisp+nSfkIbhx6b66zM3bQb3955KTVb6vMeVl5fj980RcTLhVqfMZY/Dv4AE3b0fJ46UlZbh7I68qTSSkTlO98QGANl19rNgSadThtgK5XI7w8HCEhIRg1KhRyM8XRjicnZ2NnpeammowZXtqaioYY1i8eLG6bMqUKVixYkW1tDkmJga6IRYr69q1a+jbty+Cg4PRoUMHLFq0qFquSwipH6oSLg8AVr59AMum7cHhTZdRWizM3ValqfdrowkB+PSHPRAc5QsAuH3VsklwVr17EP+dv4e/vz2ruf9H3THpq74Vuo7MwOLIr1/ajR8/OFzlvztC6qKCnGLRvpuX9IOpNVmtw80Ye4kxdp4xdpYxNk+r/C3GWIry2CCt8sHKshTG2AzrtLp6qFK7nzlzBra2toiPjzfrPGMdbgDw9vbGokWLUFxcbLCONWinhweENPMLFixAUlISDh06hCVLluDcuXNWah0hpDboN6764+0nbEnF1y/vVk8nAYAWnbxEdbLvaBLfGIpkYq4SZedeSu69Ir0yNy/HSkUXcfVyMHpcNV+dkIZCN1Nt09aNrNQSw6zS4WaM9QXwCIBQznkHAPOV5e0BPAGgA4DBAL5ijMkZY3IASwA8AKA9gNHKunVe7969kZKSIirjnOP1119HSEgIOnbsqE6pPmPGDOzduxfh4eGSmSa9vLzQr18//PDDD3rHtEeoMzMzERgYCABYsWIFhg0bhqFDhyIoKAhffvklPvvsM3Tq1Andu3fH3bt31ddYvXo1oqKiEBISgiNHjgAA8vLyMH78eHTt2hWdOnXCxo0b1dcdNWoUhg4dioEDB4ra4uvri86dOwMAXFxcEBwcjP/++68yf32EkHqibWSTarlOUb7+XOwtRtKj9xjWSr0dP3lXpeNbp57OxDcv78aSuB0oKS5DYV4JivJLkHdfv6MNAD1GtKzUfQDggYkdjR5fNnVPpa9NSF03OT4WcpvaN4HDWmEBXwQwh3NeBACc89vK8kcA/KQsv8IYSwEQqTyWwjm/DACMsZ+Udas2LLp1BnDzdJUuoadJR+CBOWZVLS0txdatWzF48GBR+a+//ooTJ07g5MmTyMzMRNeuXREdHY05c+Zg/vz5+OOPPwxec8aMGXjggQcwfvx4s5t85swZJCYmorCwEK1atcLcuXORmJiIadOmYeXKlZg6dSoAoXN94MAB7NmzB+PHj8eZM2cwe/ZsxMbG4rvvvkNWVhYiIyPRv39/AMDBgwdx6tQpNG5sOIlGamoqEhMT0a0bLQQipCHTHelNPZ2JwI6eFb7Ot6/u1Su7fjHLYP1GTcSvns/s/g9h/ZpX+L5/LtF06r95ebfo2NMf9dCr33lgQIXvoeLsbqfefnZeL3z/xj4jtYk5ykrKkXOvEJnXctGqS8WSEBHrys+uXW/1DbHWI0AbAL0ZY4cZY7sZY12V5c0AXNOql64sM1SuhzH2AmMsgTGWkJFR+8LCAEBBQQHCw8MREREBf39/TJgwQXR83759GD16NORyOXx8fNCnTx8cPXrUrGsHBQUhMjLS6NQTXX379oWLiwu8vLzg5uaGoUOHAgA6duyI1NRUdb3Ro0cDAKKjo5GdnY2srCz8/fffmDNnDsLDwxETE4PCwkKkpQmrgwcMGGC0s52bm4tHH30UCxcuhKurq9ntJYTUf38uOYX08/csfh8bW/GvwX2/XDRan3OOc/uuV2jaxuqZB0X7QWEVf5DQZu9kg04D/PHwK+FwdLXF0x91r9L1GjpezhH/0i6see8Q/lp2BtdTDD+gkdqFcy564HR0tbVia4yz2Ag3Y2w7AKl3hO8o7+sOoDuArgB+Zoy1ACA1mY1D+sFAMmgq5/wbAN8AQEREhPHAqmaORFc31RxuQzivWjzYt99+GyNHjkR0tCZ+q0KhQHm58Kq0sFCcPtnOTjNaIpPJ1PsymUw0/5ox8T8PYwycc2zYsAFt27YVHTt8+DCcnJwMtrGkpASPPvoonnrqKYwYMaKCf0JCSH00OT4WJ7anYf96YZrdxs81UQcefaMLmrRwM3q+dkKbLg8E4NjWq6LjfZ9pp3eOTC5D7Jhg7FiZZLJ95/Zfx85VyQCAnauT1aEFK/Iz++mPulfLgq6oRzVTYdy8HNVtUS2aLCsth1xR+16r10Y3L98X7f82/zjivoyhv79arii/BLdTxYudn/qg9j58Wuy7iXPen3MeIvHZCGGE+lcuOAKgHICnslz7XZ4fgOtGyuul6OhorFu3DmVlZcjIyMCePXsQGRkJFxcX5OSYXknfrl07tG/fXjT1JDAwEMeOCWGx1q9fX6l2qeaS79u3D25ubnBzc8OgQYOwePFi9S+cxMREY5cAIPxymjBhAoKDg/Hqq69Wqi2EkPopNFZ6OseGecew+QvpgYqy0nIc2XwZGxdqfv6E9/fXi7WtikiiyzvAxay2nfz3mmj/98+PAxCiopijY1+/GoueED9lV43cpz44tPGyXtnxv65K1CS1ybev7sUmrZ8J/cYFw9ah9iZQt9bj2+8AYgGAMdYGgC2ATACbADzBGLNjjAUBaA3gCICjAFozxoIYY7YQFlZuskrLa8Dw4cMRGhqKsLAwxMbGYt68eWjSpAlCQ0OhUCgQFhYmuWhS2zvvvIP09HT1/vTp07F06VJERUUhMzOzUu1yd3dHVFQU4uLisHz5cgDAzJkzUVJSgtDQUISEhGDmzJkmr7N//36sWrUKO3bsQHh4OMLDw7Fly5ZKtYkQUr/IZMxgFI60c3exJG4HlsTtQGa6Jltj/JRdOPpnqigSiEJn0dTA5zrovaVT8WjmjOc/j4bCRgbvABfsX39ReQ/xAMfd6+I41/+dF6YeSEUgkRL9eBuz6tVWiX+n4ffPTQ+q1HZlpeVYErcDy6btQVF+ieQc/yObr+iVZd3KF33fkdqlXXfpB+raglV1+kKlbip0mr8DEA6gGMB0zvkO5bF3AIwHUApgKud8q7J8CICFAOQAvuOczzZ1n4iICK4bOzopKQnBwdUffopYBv17EdLwlJeVm5UAR3cahcpDU8IQEOIBQHjtnHO3EJ5+pkexpWJYa4+SGzquKu/Y1w+nd2oGOho3dRJ10nVH3C0h9XSmegFndd9P9edUXTc7Uwip6OppPExhbXPwt0tmjWBPjo/F9ZQsOLraopG3o96fn1gP5xxfvbhTvT/8tc61IhQgY+wY5zxC6phVxt4558UAnjZwbDYAvc4053wLABoGJYSQek4ml+GpD7vDyc0O37yy2/QJOpq20fzitXO0gZ2jjVnn2djJUVIkjqWdd78IV05mol0P02ELuz/cQt3h7jwoAJEPByFe+eDw6JtdzGx91Zgb2eXAhhQEhnoa7aR8+9oe+AS6YuhL4aLyi0dvgYPjn+VCoLBxc3vCyc1O6hJWcys1G2UlZdi+Igm8nGPsJz3Vxwx1th9/NxL2Tgr88JYwRejX+cdwI0WY3x23JEZdL+9+ERL/SkN+TjEGTuhguT8EMUj3rZLCtvbPt6+9k10IIYQ0WI2UKcy7PdwCSQdvIDujQK/Onp8u4PSudL1y3ekk5vJs7qzuYKmseHM/ACD3XiF8W7npHdcOSWbroEDrrj64ePQWfFu6QS6XYewnUbB3toHCRl6pNlVFWVk55HL9v4u8rCIk/pOGxH/SJEdrC3KK1YlE0s4KuRi2f6+Jwvv38rOi+rvWnMeDk0Krs+mVVlRQinP7ruPAhhTTlXW4emht3IoAACAASURBVNiL5gBr/1vHa71xUX1PAEDsmHaif9vM9Fys+/gIHnunK7yam7c2gFScat2Eg4sNAkM94VkH/q5r/yMBIYSQBitiSCCekYhjDUCysw3oR1Qyl25nWtuxrVdxI+U+Gvk4ikY7z+0TJ+3qNao1wgf4w7+DEBLV2d3eKp1tALh66o5k+YoZmg6j1LRS3ax9l09k4Pzhm+r91hHiONWppyq3LsgSVr59QLKzvXz6XuRlFeHfFYbTd1Rmwd3vnyXiyskMXDsnPJisnyNMY/15tnmhfEnFnd2r+T/XJrIJYp8JhqwSGVtrGnW4CSGE1Hqtu/pY/B59ntSEN9VNAe/Xzh2AsHBOLpfB3VcIe3p4k3hxnaOrLXo+2goyiZHlmnb3Zp5eGS8Xd7Az0sQLQ6XmqW+NFyeIu5hwW/1AUdsUF0jHRy/MLcGKGfuRfEjz4KCw0zwIjZurmXIy+IUQs+9360o2tiw9rY6WUdlMpcR8u9acV2/XlaQ3AHW4CSGE1AH9xxlfPP38QiHvwLBpnSp9j5DoZoj7Mgbdh7XQm5vrppzi4uJhDwCQycUjaubM8a4pj74hzBd3ctNPAqLd4QT0Qx2aK+3sXb3soNZW0SAQExf1UW9rz0GvTIZTALh9NbtS59VFxQWlKMip+c6ubkSZAc+2r/E2VBbN4SaEEFLryeQyjPlflHpho3bsa9U85OqIHiFXyNBlcKBe+dk9wmvsjjF+AIDH3+6KryZpoiQEhFQte2R1Uk2NKMzVjPZeTLiFS8dvoyhfPAJ8+UTlMzJrj5bvWpOMmKf0EwvVpLKSCowuK58VnvqgO4p0RsXlRtYAxC2Owc0r9/H7Z/rhEX/5JEHijPpp1bsHUZhXUun/c5WN+PLbguOi/dr20GcMjXBbgVwuR3h4OEJCQjBq1Cjk5wvZ0ZydnY2el5qaajBle2pqKhhjWLx4sbpsypQpWLFiRbW0OSYmBrohFiursLAQkZGRCAsLQ4cOHfD+++9Xy3UJIfWbS2N72DvZwKWxPR5/NxK9H2+N7sNaWOx+XQYH6JUV5ZUA0P9F7+ppb7F2VJRqFP7Ar8Jc5m9f3YO/vz2LS8czkJ58DwDg7C6M6JYWCzGpiwtLUa7VgXZv4oindebOP/dZb4P3PLvX+rnoiguFCDPN2jbC5PhYoxFYHnurKwCgkY8jfAJdDdZr5CNk8VR95DYyNGvjbtYi0XsSU3rqutTTmTj+91UUKv8fWCO0dF1FHW4rUKV2P3PmDGxtbREfH2/WecY63ADg7e2NRYsWobi4ds1p0k4PDwip5Hfs2IGTJ0/ixIkT2LZtGw4dOmSl1v2/vXuPi6rOGzj++QJeShHxgncbzFsGCgpItKLivaK0VTezpwy7WFYP7upGuj7Pbrvtpmu1ZRfbyjV1t2zVZ3Mryy4WmqauoUTZxcrMMoUMMRIV+D1/nMMwAzOAODADfN+v17yY8ztnzvkNh6Pf+c33fH9KqYaoQ/fWDBzZw+NotK8kTryw0gjch1s9B5YmgFJ3mzUvz03+9yN7Ko1qA0zOcC8V/FR6Jk+4jNhf+9tEwipMQOSpvGKPAeW53CUlVf8SSopLKT5TUuU256JsivbQ9la/J/1qMLOXpThTbMr0G9qZjj2rrmox/XeJtGzVjNS7Bnlc7xhY/TcarrnGjcXLj2Wzff3nzuXHb9vM99+e3WRA33zyg/N52bcLJcWlFJ/2/Lfx7f58Pt35XaX2EdP7edg6cGnA7WfDhg1j/373O6qNMcybN4+oqCiio6OdU6pnZGSwZcsWYmJiPM402bFjR0aNGsWzzz5baZ3rCHVeXh4OhwOAFStWMHHiRFJTU4mMjOTRRx/lwQcfJDY2lsTERI4dO+bcx+rVq0lKSiIqKoqdO3cCUFhYSFpaGvHx8cTGxvLiiy869ztlyhRSU1MZO3asW19ExDmaf+bMGc6cOVPrqgJKKVWfRl5XnjYx4dZo5/MIR2CWJTv40TGP7ee3qZzfXROT5g52Pv/Fb+KdEwwB7PPyYaTMsjve5sk7z76uek3tef0gACe+dy8h2blXGLc/MdK5HDWiW7X7atvpfGY+MIw27b1P6tPi/Kqzcj3NYNlQPTbrLbc0LlfP37uzxiPdn79/1G220iNfHscYY/1t3PUOeYd+dPumBeD/lrzP68s/4tvPygP1K++KYcDPutbinfhPk87hXrRzER8f+9in++zfrj93J9xdo22Li4vZuHEj48ePd2tfv349e/bsYe/eveTl5REfH09ycjL3338/S5Ys4aWXXvK6z4yMDCZMmEBaWlqN+5yTk0NWVhZFRUX07t2bRYsWkZWVxZw5c1i5ciXp6emAFVxv27aNzMxM0tLSyMnJ4b777iMlJYXly5eTn59PQkICo0ePBmD79u1kZ2fTrl3lu9lLSkoYMmQI+/fvZ/bs2QwdOrTG/VVKqfrUd2gnPt1xBHCvQtErtmODnXWwqkGOCbPKP0iMveliNj1dXne7S68wwJpVs0P3UArzy79Rfee5TwlpEYyI0G+o95tIT/10psaTEZ2Nw59bI9wJV1ROM3J9v76qjz11fjyrfrMdgMhBHWjZqhk/m9qH0hLDM7/a4pNjBILcr61KNieOFXnd5sSxIrcPJz8VnCakWVClUouv/jXHbfmNFfs4r3X538KaP1iDeZ6uq/97oDxQd/1mpaFo0gG3v5w8eZKYGGvmrmHDhjFz5ky39Vu3bmXatGkEBwfTqVMnhg8fzq5du2jTxnueWZnIyEgSEhKqTD2paOTIkYSGhhIaGkpYWBipqakAREdHk52d7dxu2rRpACQnJ1NQUEB+fj6bNm1iw4YNLFmyBLDysw8etEYZxowZ4zHYBiuPfc+ePeTn5zNp0iRycnKIiqp5KSallKovg1J6OAPu9t2qvtcmUKTeOYh/L91b5Ta/+E08a/5QuV50lwvDnM/7xHWi95AIZ8AqQeIWDPWsEPi8uWIfQDUBd3GdBNxlKqbClLnyrhgO5OQRHOKbL/fbdDiPGYsuJTgkiJat6u79+NvRA9VXX/nui+O0aX+eW1nJ1uEt3Gb49ORkwWlONqDSfueiSQfcNR2J9rWyHG5vzvUmhPnz5zN58mSSk5OdbSEhIZSWWiMzRUXun1JbtCgvhxQUFORcDgoKcsu/rjgiIiIYY1i3bh39+rnnUu3YsYNWrVpV29e2bdsyYsQIXn31VQ24lVIByXUWu4YwwQbAGS/5sGBNJgQQ3qkVLc4PqZTjXXFUsqrRcAkSZj02wm0mxurkvPMNST/vXePta6IgrzyNpFVbz9PM9xjQzucjo4E2pf252PrPz9j75tfMWHSp2/uqSSWQ15/5iL7x7h+yKk6/7isDU7rXyX7rmuZwB6Dk5GTWrFlDSUkJubm5ZGZmkpCQQGhoKCdOnKj29f3792fAgAFuqScOh4Pdu3cDsHbt2lr1qyyXfOvWrYSFhREWFsa4ceNYunSp80NCVlblUkkV5ebmkp9v5badPHmSN954g/79/VtOSimlvHENssMivOf0BpJufcOdz8ffEsW4m6NIuro3E26NJuGKSMAqf3fTg8mMuzmK+Msdzu3PdgTY0/TxRw4UuE1C41qyL8vOta6o5IxVMSXnHc8ziFbl6FfV/99YnwbbFW7eWrnPzz2pWuZzn/DYrLc49dMZZ032iqX3Nq/ynHrbpXeY23L+kZ9qfNzbHx9Z5fqd//7C67rEiRfW+DiBpEmPcAeqSZMmsX37dgYNGoSIsHjxYjp37kz79u0JCQlh0KBBzJgxgzlz5njdx4IFC4iNLZ8AYu7cuUydOpVVq1aRklK7nMPw8HCSkpIoKChg+fLlACxcuJD09HQGDhyIMQaHw1FljjnA4cOHueGGGygpKaG0tJSpU6dyxRVX1KpPSilVH/rERXDyx4Zzg7drikOv2I5V9rv3kAgYEsHFw7pVqkldU1emx7DhL+Xf3JZNcT70ql7ETXDw1Yeep5kvc/SrAmcd63ee+5So4Wc3ihloMw6+/+pXAOzbdpiU66uetMmfPnjHqi//yY7yKiDHj57k2OFC2nVp5XXmToDxt0RzXmgzHr/Nqm7z3r8+r7SNMcbj354ECSEtgik+5fmbmF0vH6BnVPtKJRtveWS4WxWehkQacw3FuLg4U7F29L59+7joosD941fu9HwppVTD4GlaeLBugPvkvcO8sWKfW1tVrz3bm1Gf/mUmp34qJvmavs7JifzJ9f0E6o21xhhnsBwzpqezygtYJfcuHtbN6zkFmPXoCIJDgnju3h0c+9ZzzfHRMy6iX2IX57LrhDeF+adYkfGuc92EWdFsXPaBc7nHgHZcNiuaJ+8qr2wTqL/LMiKy2xgT52mdppQopZRS6px5y28vOVPKZ7uPurWd8pJuUuaxWW+5VYSpTlkeet8qbtasT1HDy0sPPnfvDkqrqVHuD2dcRpf3VEjz8XZT6+BxFzjL8QUFW+fbtTxmRa4fsso4oq1Skq659v/1h0voFdPRbbuvPzrGC38sv6l34i9jacg04FZKKaXUOZt+b6LH6iQF35+sVIli+bzysnm7Xv7S4/6W3fF2jY7rmg7R4rzAyJRN/kVf5/Nj3xbyxOy3eWzWW3yedbSKV9Wvoh/PeF332lM5blVuokd0Z/ayFC6ZdCEjr+vP7GUpzlSRlq1rVqHloJ1W1CmyPPf71keGk/bnn9Gmg3VvREJqpNtrfvjOyguPvyLS7b6EhkgDbqWUUkqdszYdzmP0jQOIqJB3+4/f7nDe1Nihh1VWsbS4PJ11t53vXFtv/O2jc3p9XfBW2ePVJ3M8tvtDWQ1xbw665N0nX9PX63YVP+SMvyWKbv3aurXt333UGcAf+fK4sz2keTDnhZZPwhR/eSSXzx5Y6RjeSj02JBpwK6WUUspnJv96CLc+Mtzjuq59ygMxU2r4/pvyacEHDOt61tN1Fx4vLz1XFswHijiXyi+u/H3vXPGZEq+52df8T8JZ70+ChJv/ksysx0Ywe1kKFw6OYMKs8qD5zKkSXnuq5h80HNEdKrUF2rmtDQ24lVJKKeUzEiSENA9m+u8SK627xKWk22f/OcLzv9/pXE68she94zqd1bFW3F1+093U+fG16G3dib880mP7Z7uO1OlxS4pLOZ57kkMfH3PL0y7z5J3veHgVXLMwgfZdaxfYNm8Z4lYessV5IfRPsm6WfHfdfrdta5Jn3yfe/e+gtv0KJIGR7KSUUkqpRqVizfLpv0skxKWkW8WpwstSC677/SWsXrj9rGdvDLSSjUFBwvV/TGLvm187a1wD7H3za/om1N3NnS8/ns3XHx1zLldV2cMxsAOdHKG0OL+Z11lUh0y4oFb9KCvf92HmN27t4Z3Pr/a1F1zcrs4/mNQ3HeH2g+DgYGJiYoiKimLKlCn89JN1U0Dr1lV/gjtw4IDXKdsPHDiAiLB06VJn2x133MGKFSt80ucRI0ZQscTiuSopKSE2NlZrcCulVCPkGgDHju1J205WoDX6xgEAvPev8slNXKt6lOXrFhWeobSktFKFj58KTvPYrLf46N1vibcn8bn5oWQCUWi7llxaYVbNup6kxzXYhvIPNrtfPVAplWTcTRcTd1lklaUUE6+q3UQzZRMsuYq/3EGH7qEetnbXd2hnps6PZ3JGnNf0pIZGA24/KJvaPScnh+bNm7Ns2bIava6qgBsgIiKChx9+mNOnA2sCANfp4V09/PDDWmNbKaWagEsmlQdtF1zc3m2dCAyf5jl3+4nZb/PE7Lf54bvyOs8nvrcCyM2rPmbXS1aFk4rT0QcSCRJmL0uhRau67WNB3kmPudkr52/DGOP2AQfgtsdHun3jUOaahQkM+0UfYkb3OKcPMp6ql8R7CMI9ERE69gylk6ONxz42RBpw+9mwYcPYv989v8kYw7x584iKiiI6Oto5pXpGRgZbtmwhJiaGhx56qNK+OnbsyKhRo3j22WcrrXMdoc7Ly8PhcACwYsUKJk6cSGpqKpGRkTz66KM8+OCDxMbGkpiYyLFj5Z+UV69eTVJSElFRUezcaeXdFRYWkpaWRnx8PLGxsbz44ovO/U6ZMoXU1FTGjh1bqT+HDh3i5Zdf5qabbqrFb00ppVRD4jra3fx898CzJvcQ/uO3O8r31UAjl5seKA9ePdUeP1dVVR3ZvfGA23JYxHle66a379aagSN7cOnkPj79IBM5qEPApf3Up8D9SFgPvvvjHzm172Of7rPFRf3pPH9+jbYtLi5m48aNjB8/3q19/fr17Nmzh71795KXl0d8fDzJycncf//9LFmypMqp0zMyMpgwYQJpaWk17nNOTg5ZWVkUFRXRu3dvFi1aRFZWFnPmzGHlypWkp6cDVnC9bds2MjMzSUtLIycnh/vuu4+UlBSWL19Ofn4+CQkJjB49GoDt27eTnZ1Nu3btKh0zPT2dxYsXc+JE3X61ppRSyn885Q8HBQnhXVrxw2Fr1NpTCb2p8+PdJj0Ba/r30hLD6aLaTT8fSJbd+bZPZ038MjuvyvU7NrjXOp84Z7DPjl2V258YyZYXPmPw2J60Dm9ZL8cMVE064PaXkydPEhMTA1gj3DNnznRbv3XrVqZNm0ZwcDCdOnVi+PDh7Nq1izZt2njanZvIyEgSEhKqTD2paOTIkYSGhhIaGkpYWBipqakAREdHk52d7dxu2rRpACQnJ1NQUEB+fj6bNm1iw4YNLFmyBICioiIOHrRmrBozZozHYPull14iIiKCIUOG8Pbbb9e4n0oppRqHsmAb4MZFl1Zaf+Z05eoa//yTb+8j8rcX/riL3IMnuHRyb2JG9/S4jSk1Xmt6u3rl8Wy35aAgYdSNF/H6M55rlLcOb+Gx3ddExG0SoKasSQfcNR2J9rWyHG5vzrVG5/z585k8eTLJyeVfX4WEhFBaan2FVVTkfmd4ixblF15QUJBzOSgoyC3/uuJXQSKCMYZ169bRr597/t2OHTto1aqVx/69++67bNiwgVdeeYWioiIKCgq47rrrWL16dS3erVJKqYasecvKoUjEBdXfWNfQ5R60vuF9d+1+rwH347dvBmDolZHEXVaz/GeAMTMvpveQCBzRHXgqPdNt3c1/CcwbTBu7BpoJ1bglJyezZs0aSkpKyM3NJTMzk4SEBEJDQ2uUgtG/f38GDBjglnricDjYvXs3AGvXrq1Vv8pyybdu3UpYWBhhYWGMGzeOpUuXOj8kZGVlVbufP/3pTxw6dIgDBw7w/PPPk5KSosG2Uko1IWWVSoZMuIDgZpVDkZBmwVw9b0iNSgNePbd+0iN8oV9izcsBFhWWT72+Y8OXlBR7zvt23a5M5EBr8hhPH2Y8tam6p7/1ADRp0iS2b9/OoEGDEBEWL15M586dad++PSEhIQwaNIgZM2YwZ84cr/tYsGABsbGxzuW5c+cydepUVq1aRUpK7fLGwsPDSUpKoqCggOXLlwOwcOFC0tPTGThwIMYYHA5HlTnmSimlVL+hnQlt15IuvcO8btPlwjBmPjCMVb/ZRkFeUaX142+N4vP3c+nSu62HVwem0TMGENquJf955YDH9ZnPf8oHbx/yuG7PGwcZMt5RqX3Dw+XfmP/87iF0jvT+O70pQMsnNgXi7ylG61JcXJypWDt63759WoquAdHzpZRSTdvH7x3mzRX7KrX78qbD+rb+z7s5/Plx53LZe/E25XqZ2x4bwfHck4R3Lk/ZdH2Np9/Jd18cZ93i3Qy/th9Ryd0qrVe+IyK7jTFxntbpCLdSSimlAlb/xC70TejME3Y+M8CUezzGNA3G1fOG8Nl/jrDp6Q8BKDx+im3r91fzKqsuOUDnXmF898Vxbl1aPinM5bcP9Piazr3CmH5vonNCIeUfmsOtlFJKqYAWFCQMvaoXACHNg4i4oPqqXYGuT1wn5/Ocd77h0x2epzKfuiC+Utt3X1ij41v/WR6kO+y8bU/aRpzfpGtgBwId4VZKKaVUwIub4CDiglC69wv3d1d8zltO99VzB9Oxh/eKLR9mflNHPVK+piPcSimllGoQeg5oT1Bw4wldOvb0HEzHjunJxF/GOm8InTAruj67pepA4/mrVUoppZRqQH5+9xCP7Uk/7023vuUj+b1iOtZXl1Qd0YBbKaWUUsoPgj2M1t/+xMhqX9cp0j2HvVVYc5/1SdUNDbj9IDg4mJiYGKKiopgyZQo//fQTAK1bt67ydQcOHPA6ZfuBAwcQEZYuXepsu+OOO1ixYoVP+jxixAgqllg8Fw6Hg+joaGJiYoiLa9h3myullFK+Ut3NjRGONky+2/3/zaTJveuyS8oHNOD2g7Kp3XNycmjevDnLli2r0euqCrgBIiIiePjhhzl9+rSvuuoTrtPDu9q8eTN79uzxaSCvlFJKNSSXzy4v5zfpV9XPmtknLqJS24UxldtUYNGA28+GDRvG/v3utTeNMcybN4+oqCiio6OdU6pnZGSwZcsWYmJieOihhyrtq2PHjowaNYpnn3220jrXEeq8vDwcDgcAK1asYOLEiaSmphIZGcmjjz7Kgw8+SGxsLImJiRw7dsy5j9WrV5OUlERUVBQ7d+4EoLCwkLS0NOLj44mNjeXFF1907nfKlCmkpqYyduzYc/9FKaWUUo2Q642TXft4nzUzITUSgE4OK51k4i9j6RMXwW2PjSC4mYZzgc4vZQFFJAZYBrQEioHbjTE7xfoe5WHgMuAnYIYx5n37NTcAv7F38QdjTOWo8ixteeFT8r7+8Vx346ZDj9YMm9q3RtsWFxezceNGxo8f79a+fv169uzZw969e8nLyyM+Pp7k5GTuv/9+lixZUuXU6RkZGUyYMIG0tLQa9zknJ4esrCyKioro3bs3ixYtIisrizlz5rBy5UrS09MBK7jetm0bmZmZpKWlkZOTw3333UdKSgrLly8nPz+fhIQERo8eDcD27dvJzs6mXbt2lY4pIowdOxYR4dZbb+WWW26pcX+VUkqpxuL80JrlX8dd5qBXTEfad7PST7v1DXe7sVIFNn/V4V4M/M4Ys1FELrOXRwATgD72YyjwBDBURNoB/wvEAQbYLSIbjDE/+KPz5+rkyZPExMQA1gj3zJkz3dZv3bqVadOmERwcTKdOnRg+fDi7du2iTZvqC/1HRkaSkJBQZepJRSNHjiQ0NJTQ0FDCwsJITU0FIDo6muzsbOd206ZNAyA5OZmCggLy8/PZtGkTGzZsYMmSJQAUFRVx8OBBAMaMGeMx2AZ499136dq1K0ePHmXMmDH079+f5OTkGvdZKaWUagwkSBgxvR/Fp0ur3k7EGWyrhsdfAbcByqLHMOBb+/lVwEpjjAHeE5G2ItIFKxh/3RhzDEBEXgfGA8+dSydqOhLta2U53N5Yb7/25s+fz+TJk90C2JCQEEpLrYu5qKjIbfsWLVo4nwcFBTmXg4KC3PKvK97IISIYY1i3bh39+vVzW7djxw5atWrltY9du3YFrLzzSZMmsXPnTg24lVJKNUkXD+vm7y6oOuavpJ904M8i8jWwBLjHbu8GfO2y3SG7zVt7o5ScnMyaNWsoKSkhNzeXzMxMEhISCA0N5cSJE9W+vn///gwYMMAt9cThcLB7924A1q5dW6t+leWSb926lbCwMMLCwhg3bhxLly51fkjIysqqdj+FhYXO91FYWMimTZuIioqqVZ+UUkoppQJdnY1wi8gbQGcPqxYAo4A5xph1IjIVeAYYDXiqhWOqaPd03FuAWwB69uxZi57736RJk9i+fTuDBg1CRFi8eDGdO3emffv2hISEMGjQIGbMmMGcOXO87mPBggXExsY6l+fOncvUqVNZtWoVKSkptepXeHg4SUlJFBQUsHz5cgAWLlxIeno6AwcOxBiDw+GoMscc4MiRI0yaNAmw8tivvfbaSnnsSimllFKNhZxr+kKtDipyHGhrjDH2jZLHjTFtRORJ4G1jzHP2dp9gpZOMAEYYY26129228yYuLs5ULDm3b98+LrroIl+/JVVH9HwppZRSqiEQkd3GGI+Ti/grpeRbYLj9PAX4zH6+AbheLIlYgfhh4DVgrIiEi0g4MNZuU0oppZRSKqD566bJm4GHRSQEKMJOAQFewSoJuB+rLOCNAMaYYyLye2CXvd29ZTdQKqWUUkopFcj8EnAbY7YCQzy0G2C2l9csB5bXcdeUUkoppZTyqSY5NZE/8tbV2dPzpJRSSqnGoMkF3C1btuT777/XYC7AGWP4/vvvadmypb+7opRSSil1TvyVw+033bt359ChQ+Tm5vq7K6oaLVu2pHv37v7uhlJKKaXUOWlyAXezZs2IjIz0dzeUUkoppVQT0eRSSpRSSimllKpPGnArpZRSSilVhzTgVkoppZRSqg75ZWr3+iIiucBXfjp8ByDPT8dW9UfPc+On57hp0PPcNOh5bhr8dZ4vMMZ09LSiUQfc/iQi/zHGxPm7H6pu6Xlu/PQcNw16npsGPc9NQyCeZ00pUUoppZRSqg5pwK2UUkoppVQd0oC77vzV3x1Q9ULPc+On57hp0PPcNOh5bhoC7jxrDrdSSimllFJ1SEe4lVJKKaWUqkMacPuYiIwXkU9EZL+IZPi7P6p6ItJDRDaLyD4R+VBE/ttubycir4vIZ/bPcLtdROQR+xxni8hgl33dYG//mYjc4NI+REQ+sF/ziIhI/b9TJSLBIpIlIi/Zy5EissM+X2tEpLnd3sJe3m+vd7js4x67/RMRGefSrtd+ABCRtiKyVkQ+tq/pS/RabnxEZI7973WOiDwnIi31em74RGS5iBwVkRyXtjq/fr0dw6eMMfrw0QMIBj4HegHNgb3AAH/3Sx/VnrcuwGD7eSjwKTAAWAxk2O0ZwCL7+WXARkCARGCH3d4O+ML+GW4/D7fX7QQusV+zEZjg7/fdFB/AL4F/AC/Zyy8A19jPlwG32c9vB5bZz68B1tjPB9jXdQsg0r7eg/XaD5wH8Cxwk/28OdBWr+XG9QC6AV8C59nLZxMbywAAB4dJREFULwAz9Hpu+A8gGRgM5Li01fn16+0YvnzoCLdvJQD7jTFfGGNOA88DV/m5T6oaxpjDxpj37ecngH1Y/6BfhfWfN/bPifbzq4CVxvIe0FZEugDjgNeNMceMMT8ArwPj7XVtjDHbjXU1r3TZl6onItIduBx42l4WIAVYa29S8RyXnfu1wCh7+6uA540xp4wxXwL7sa57vfYDgIi0wfoP+xkAY8xpY0w+ei03RiHAeSISApwPHEav5wbPGJMJHKvQXB/Xr7dj+IwG3L7VDfjaZfmQ3aYaCPurxlhgB9DJGHMYrKAciLA383aeq2o/5KFd1a+/AL8GSu3l9kC+MabYXnY9L85zaa8/bm9/tude1a9eQC7wNzt16GkRaYVey42KMeYbYAlwECvQPg7sRq/nxqo+rl9vx/AZDbh9y1Mun5aBaSBEpDWwDkg3xhRUtamHNlOLdlVPROQK4KgxZrdrs4dNTTXr9BwHthCsr6OfMMbEAoVYXw97o+e5AbLza6/CSgPpCrQCJnjYVK/nxq1BnVcNuH3rENDDZbk78K2f+qLOgog0wwq2/26MWW83H7G/gsL+edRu93aeq2rv7qFd1Z9LgStF5ADW18MpWCPebe2vpMH9vDjPpb0+DOtrzrM996p+HQIOGWN22MtrsQJwvZYbl9HAl8aYXGPMGWA9kIRez41VfVy/3o7hMxpw+9YuoI99p3RzrJszNvi5T6oadi7fM8A+Y8yDLqs2AGV3N98AvOjSfr19h3QicNz+Cuo1YKyIhNsjMGOB1+x1J0Qk0T7W9S77UvXAGHOPMaa7McaBdV2+ZYyZDmwGJtubVTzHZed+sr29sduvsaseRAJ9sG7C0Ws/ABhjvgO+FpF+dtMo4CP0Wm5sDgKJInK+fR7KzrNez41TfVy/3o7hO76+C7OpP7Dumv0U6w7nBf7ujz5qdM5+hvW1Ujawx35chpXj9ybwmf2znb29AI/Z5/gDIM5lX2lYN97sB250aY8DcuzXPIo96ZQ+/HK+R1BepaQX1n+w+4F/Ai3s9pb28n57fS+X1y+wz+MnuFSo0Gs/MB5ADPAf+3r+F1aVAr2WG9kD+B3wsX0uVmFVGtHruYE/gOew8vLPYI1Iz6yP69fbMXz50JkmlVJKKaWUqkOaUqKUUkoppVQd0oBbKaWUUkqpOqQBt1JKKaWUUnVIA26llFJKKaXqkAbcSimllFJK1SENuJVSqh6JiBGRB1yW54rIb3207xUiMrn6Lc/5OFNEZJ+IbK7QHiQij4hIjoh8ICK77PrGiMj8uu6XUkoFKg24lVKqfp0CrhaRDv7uiCsRCT6LzWcCtxtjRlZo/wXWVNsDjTHRwCQg316nAbdSqsnSgFsppepXMfBXYE7FFRVHqEXkR/vnCBF5R0ReEJFPReR+EZkuIjvtkeQLXXYzWkS22NtdYb8+WET+bI84Z4vIrS773Swi/8CaOKJif6bZ+88RkUV22/9gTRa1TET+XOElXYDDxphSAGPMIWPMDyJyP3CeiOwRkb/b+7nO7v8eEXmyLOAXkR9F5AEReV9E3hSRjnb7XSLykd3/52vxe1dKKb/RgFspperfY8B0EQk7i9cMAv4biAb+C+hrjEkAngbudNnOAQwHLscKiltijUgfN8bEA/HAzWWpHkAC1kx6A1wPJiJdgUVACtbsjfEiMtEYcy/WTI7TjTHzKvTxBSDVDqIfEJFYAGNMBnDSGBNjjJkuIhdhjYZfaoyJAUqA6fY+WgHvG2MGA+8A/2u3ZwCxxpiBwKyz+L0ppZTfacCtlFL1zBhTAKwE7jqLl+0yxhw2xpzCmpZ4k93+AVaQXeYFY0ypMeYz4AugPzAWuF5E9gA7sKYx7mNvv9MY86WH48UDbxtjco0xxcDfgeRq3tchoB9wD1AKvCkiozxsOgoYAuyy+zQKa1pu7NetsZ+vxhpNB2uq9r+LyHVY3xIopVSDEeLvDiilVBP1F+B94G8ubcXYAyEiIkBzl3WnXJ6XuiyX4v5vualwHAMIcKcx5jXXFSIyAij00j+p9h14YH8g2AhsFJEjwETgTQ/7ftYYc09Ndmn/vBwr4L8SWCgiF9sfBJRSKuDpCLdSSvmBMeYYVgrGTJfmA1gjvwBXAc1qsespdrWQC7FGjT8BXgNuE5FmACLSV0RaVbOfHcBwEelg51dPw0rx8EpEBtupKIhIEDAQ+Mpefabs+FgB+GQRibC3bSciF9jrgoCyPPZrga32vnoYYzYDvwbaAq2r/U0opVSA0BFupZTynweAO1yWnwJeFJGdWEGpt9HnqnyCFRh3AmYZY4pE5GmstJP37ZHzXKyRZ6+MMYdF5B5gM9aI9CvGmBerOXYE8JSItLCXdwKP2s//CmSLyPt2HvdvgE12MH0GmI0VnBcCF4vIbuA4Vq53MLDaznkX4CFjTD5KKdVAiDEVv31USiml/ENEfjTG6Oi1UqpR0ZQSpZRSSiml6pCOcCullFJKKVWHdIRbKaWUUkqpOqQBt1JKKaWUUnVIA26llFJKKaXqkAbcSimllFJK1SENuJVSSimllKpDGnArpZRSSilVh/4fArU+GQSam2kAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "2ZCdme942u_2",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Sierpinski Triangle\n",
+ "\n",
+ "First Transformation \n",
+ "\\begin{equation}\n",
+ "x_{n+1} = 0.5x_n \n",
+ "\\end{equation}\n",
+ "\\begin{equation}\n",
+ "y_{n+1} = 0.5y_n\n",
+ "\\end{equation}\n",
+ "Second Transformation\n",
+ "\\begin{equation}\n",
+ "x_{n+1} = 0.5x_n + 0.5\n",
+ "\\end{equation}\n",
+ "\\begin{equation}\n",
+ "y_{n+1} = 0.5y_n + 0.5\n",
+ "\\end{equation}\n",
+ "Third Transformation\n",
+ "\\begin{equation}\n",
+ "x_{n+1} = 0.5x_n + 1\n",
+ "\\end{equation}\n",
+ "\\begin{equation}\n",
+ "y_{n+1} = 0.5y_n\n",
+ "\\end{equation}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "nQqaauaC2u_3",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "def trans_1(p):\n",
+ " x = p[0]\n",
+ " y = p[1]\n",
+ " x1 = 0.5 * x\n",
+ " y1 = 0.5 * y\n",
+ " return x1,y1\n",
+ "\n",
+ "def trans_2(p):\n",
+ " x = p[0]\n",
+ " y = p[1]\n",
+ " x1 = 0.5 * x + 0.5\n",
+ " y1 = 0.5 * y + 0.5\n",
+ " return x1,y1\n",
+ "\n",
+ "def trans_3(p):\n",
+ " x = p[0]\n",
+ " y = p[1]\n",
+ " x1 = 0.5 * x + 1\n",
+ " y1 = 0.5 * y\n",
+ " return x1,y1\n",
+ "\n",
+ "\n",
+ "transformations = [trans_1,trans_2,trans_3]\n",
+ "a1 = [0]\n",
+ "b1 = [0]\n",
+ "a,b = 0,0\n",
+ " \n",
+ "for i in range(1000000):\n",
+ " trans = choice(transformations)\n",
+ " a,b = trans((a,b))\n",
+ " a1.append(a)\n",
+ " b1.append(b)"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "_zXATRBy2u_7",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "plt.rc('figure',figsize=(16,16))"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "scrolled": true,
+ "id": "OK_wlBWJ2u__",
+ "colab_type": "code",
+ "colab": {},
+ "outputId": "35be2bbe-03b7-44e0-82ca-863d8c595bac"
+ },
+ "source": [
+ "plt.plot(a1,b1,'o')\n",
+ "plt.savefig('my_figure.png')"
+ ],
+ "execution_count": 0,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "s2XERq3Z2vAC",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "%magic"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "LC1xb_u52vAF",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "pQ0EPuZU2vAH",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 0,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Roboflow_Custom_YOLOv5.ipynb b/Roboflow_Custom_YOLOv5.ipynb
new file mode 100644
index 0000000..23367b6
--- /dev/null
+++ b/Roboflow_Custom_YOLOv5.ipynb
@@ -0,0 +1,3605 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "Roboflow-Custom-YOLOv5",
+ "provenance": [],
+ "collapsed_sections": [],
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "accelerator": "GPU"
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "GD9gUQpaBxNa",
+ "colab_type": "text"
+ },
+ "source": [
+ "# How to Train YOLOv5 on Custom Objects\n",
+ "\n",
+ "This tutorial is based on the [YOLOv5 repository](https://github.com/ultralytics/yolov5) by [Ultralytics](https://www.ultralytics.com/). This notebook shows training on **your own custom objects**. Many thanks to Ultralytics for putting this repository together - we hope that in combination with clean data management tools at Roboflow, this technologoy will become easily accessible to any developer wishing to use computer vision in their projects.\n",
+ "\n",
+ "### Accompanying Blog Post\n",
+ "\n",
+ "We recommend that you follow along in this notebook while reading the blog post on [how to train YOLOv5](https://blog.roboflow.ai/how-to-train-yolov5-on-a-custom-dataset/), concurrently.\n",
+ "\n",
+ "### Steps Covered in this Tutorial\n",
+ "\n",
+ "In this tutorial, we will walk through the steps required to train YOLOv5 on your custom objects. We use a [public blood cell detection dataset](https://public.roboflow.ai/object-detection/bccd), which is open source and free to use. You can also use this notebook on your own data.\n",
+ "\n",
+ "To train our detector we take the following steps:\n",
+ "\n",
+ "* Install YOLOv5 dependencies\n",
+ "* Download custom YOLOv5 object detection data\n",
+ "* Write our YOLOv5 Training configuration\n",
+ "* Run YOLOv5 training\n",
+ "* Evaluate YOLOv5 performance\n",
+ "* Visualize YOLOv5 training data\n",
+ "* Run YOLOv5 inference on test images\n",
+ "* Export saved YOLOv5 weights for future inference\n",
+ "\n",
+ "\n",
+ "\n",
+ "### **About**\n",
+ "\n",
+ "[Roboflow](https://roboflow.ai) enables teams to deploy custom computer vision models quickly and accurately. Convert data from to annotation format, assess dataset health, preprocess, augment, and more. It's free for your first 1000 source images.\n",
+ "\n",
+ "#### \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "7mGmQbAO5pQb",
+ "colab_type": "text"
+ },
+ "source": [
+ "#Install Dependencies\n",
+ "\n",
+ "_(Remember to choose GPU in Runtime if not already selected. Runtime --> Change Runtime Type --> Hardware accelerator --> GPU)_"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "wbvMlHd_QwMG",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 33
+ },
+ "outputId": "a75f39c9-9daa-4e99-c86b-76469dd04be0"
+ },
+ "source": [
+ "!git clone https://github.com/ultralytics/yolov5 # clone repo\n",
+ "%cd yolov5\n",
+ "#temporary until bug is fixed in current master\n",
+ "!git reset --hard 5ba1de0cdcc414c69ceb7a4c45eb1e3895eca32a\n",
+ "%cd /content\n",
+ "\n",
+ "!pip install -r yolov5/requirements.txt # install dependencies\n",
+ "%cd yolov5\n",
+ "\n",
+ "import torch\n",
+ "from IPython.display import Image, clear_output # to display images\n",
+ "from utils.google_utils import gdrive_download # to download models/datasets\n",
+ "\n",
+ "clear_output()\n",
+ "print('Setup complete. Using torch %s %s' % (torch.__version__, torch.cuda.get_device_properties(0) if torch.cuda.is_available() else 'CPU'))"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Setup complete. Using torch 1.5.1+cu101 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', major=6, minor=0, total_memory=16280MB, multi_processor_count=56)\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "SDIhrBF0sPaM",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Download Correctly Formatted Custom Dataset \n",
+ "\n",
+ "We'll download our dataset from Roboflow. Use the \"**YOLOv5 PyTorch**\" export format. Note that the Ultralytics implementation calls for a YAML file defining where your training and test data is. The Roboflow export also writes this format for us.\n",
+ "\n",
+ "To get your data into Roboflow, follow the [Getting Started Guide](https://blog.roboflow.ai/getting-started-with-roboflow/)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "vDeebwqS9JbZ",
+ "colab_type": "text"
+ },
+ "source": [
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Knxi2ncxWffW",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "outputId": "e98a7262-4297-4107-8bf8-4f6744b9ab96"
+ },
+ "source": [
+ "# Export code snippet and paste here\n",
+ "%cd /content\n",
+ "!curl -L \"https://public.roboflow.ai/ds/YOUR DATASET HERE\" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "/content\n",
+ " % Total % Received % Xferd Average Speed Time Time Time Current\n",
+ " Dload Upload Total Spent Left Speed\n",
+ "100 896 100 896 0 0 1006 0 --:--:-- --:--:-- --:--:-- 1005\n",
+ "100 14.6M 100 14.6M 0 0 7507k 0 0:00:01 0:00:01 --:--:-- 195M\n",
+ "Archive: roboflow.zip\n",
+ " extracting: test/images/FishDataset285_png.rf.0347c3e3a6e5c499b8e3f9ae5c4f664b.jpg \n",
+ " extracting: test/images/FishDataset97_png.rf.08dc1166b726d41c5ab5818aacb31117.jpg \n",
+ " extracting: test/images/FishDataset333_png.rf.16f28806c911794b9a020becf6935655.jpg \n",
+ " extracting: test/images/FishDataset49_png.rf.116425bda8e5d2ac5776b82d8e2f9017.jpg \n",
+ " extracting: test/images/FishDataset162_png.rf.354325c6557e4f6259558981986350fe.jpg \n",
+ " extracting: test/images/FishDataset12_png.rf.0e9552773539fe6d8efb65d38c2dff53.jpg \n",
+ " extracting: test/images/FishDataset82_png.rf.2f27029ed3413cd804c460dda0fe8502.jpg \n",
+ " extracting: test/images/FishDataset647_png.rf.08c3efa78a0dc706afa9937f406f2792.jpg \n",
+ " extracting: test/images/FishDataset650_png.rf.1558385c8541084733affba4b41442ea.jpg \n",
+ " extracting: test/images/FishDataset592_png.rf.3bb2e6e25f001947ed57904e87452250.jpg \n",
+ " extracting: test/images/FishDataset531_png.rf.1ebdbec2d1c2c87e19dd2a52144e4a40.jpg \n",
+ " extracting: test/images/FishDataset515_png.rf.35d3878ff02d89912917b82c9e37d635.jpg \n",
+ " extracting: test/images/FishDataset273_png.rf.33e3f0ed0510ee672ad92365db445e0f.jpg \n",
+ " extracting: test/images/FishDataset352_png.rf.0c0b4d38e3a8f8301c489a9b40664f05.jpg \n",
+ " extracting: test/images/FishDataset18_png.rf.1734ed272487c8466746e6847cf72520.jpg \n",
+ " extracting: test/images/FishDataset704_png.rf.366350cf1a420de0abb2bdda3afd2368.jpg \n",
+ " extracting: test/images/FishDataset277_png.rf.3fa48b7cc1d0c0305e2f3e7587db733e.jpg \n",
+ " extracting: test/images/FishDataset461_png.rf.28cbe452cd53d25c5bb13f3da4e030f2.jpg \n",
+ " extracting: test/images/FishDataset198_png.rf.2dcf38d0f91863c48487aae1e499dd03.jpg \n",
+ " extracting: test/images/FishDataset606_png.rf.1498b48b3d81dd1331ca6f3eeea69d04.jpg \n",
+ " extracting: test/images/FishDataset496_png.rf.262001d126b5c81f624cc35c32ce5ca1.jpg \n",
+ " extracting: test/images/FishDataset523_png.rf.244b895ed97cecb1b4635c9af31e2a19.jpg \n",
+ " extracting: test/images/FishDataset245_png.rf.195d86cd2b852968fe08eace52a3bcff.jpg \n",
+ " extracting: test/images/FishDataset555_png.rf.1e7d1767f4bb685cc912ae54a622edfd.jpg \n",
+ " extracting: test/images/FishDataset284_png.rf.5ff7a82abb843e57ad2e0c7ad058bf0c.jpg \n",
+ " extracting: test/images/FishDataset286_png.rf.523ef92dc24ebb0ae2ace23af446fe7e.jpg \n",
+ " extracting: test/images/FishDataset87_png.rf.422b00896a00c6200894ba4ebd33c142.jpg \n",
+ " extracting: test/images/FishDataset382_png.rf.793efe3fd9765842b576cf2316619149.jpg \n",
+ " extracting: test/images/FishDataset22_png.rf.69c747b83a12524cd4f4ef29a383ba20.jpg \n",
+ " extracting: test/images/FishDataset33_png.rf.7152a631f8e318747f2f5c7e9bf655d6.jpg \n",
+ " extracting: test/images/FishDataset714_png.rf.791e8856cda1d62ddf30af6f3e965f53.jpg \n",
+ " extracting: test/images/FishDataset2_png.rf.a52359a346e97fe3082f2f4d62f1db2f.jpg \n",
+ " extracting: test/images/FishDataset618_png.rf.76465cb0b7ed530026e0829f5de46804.jpg \n",
+ " extracting: test/images/FishDataset119_png.rf.579cfc82cd741094e78867b7432130d2.jpg \n",
+ " extracting: test/images/FishDataset191_png.rf.4fda446f9e75c09dd56c5efb039b3103.jpg \n",
+ " extracting: test/images/FishDataset27_png.rf.9c000d6ca75f5ede5965f79f3b8cd7f6.jpg \n",
+ " extracting: test/images/FishDataset221_png.rf.118193f70dac525b8ea790ad60ffa46f.jpg \n",
+ " extracting: test/images/FishDataset63_png.rf.a0f5dfb4a49a3aa89cb71cab60b95870.jpg \n",
+ " extracting: test/images/FishDataset210_png.rf.7ab877d817203aee6c86971208b939f8.jpg \n",
+ " extracting: test/images/FishDataset508_png.rf.93a09d5c38e1605f9d9417f04f6fa171.jpg \n",
+ " extracting: test/images/FishDataset61_png.rf.7fe5ed591f1f11e802520a39ba70faaf.jpg \n",
+ " extracting: test/images/FishDataset567_png.rf.6db534ae0e8f17b7c4b24d76d5210543.jpg \n",
+ " extracting: test/images/FishDataset431_png.rf.4ad41935d7d36f42d0e5b545a27979e7.jpg \n",
+ " extracting: test/images/FishDataset247_png.rf.44fdff523a695bf804e3d9aacb629226.jpg \n",
+ " extracting: test/images/FishDataset528_png.rf.8bf9e3b81f73f78915b48bf9e94c7b7c.jpg \n",
+ " extracting: test/images/FishDataset250_png.rf.da0db5811daeae05055d983c4e199bc1.jpg \n",
+ " extracting: test/images/FishDataset705_png.rf.c33ff1b481d1a0e76afb88096d610b30.jpg \n",
+ " extracting: test/images/FishDataset441_png.rf.e354b4d1e476515b0efef03aed8ca118.jpg \n",
+ " extracting: test/images/FishDataset564_png.rf.de34c7b902827dffbae77c444ef1c5b2.jpg \n",
+ " extracting: test/images/FishDataset217_png.rf.ff47846f61422653a6400898c4fa304b.jpg \n",
+ " extracting: test/images/FishDataset495_png.rf.a80fc5fbd870ff313a28a0a72491636b.jpg \n",
+ " extracting: test/images/FishDataset412_png.rf.cfc4797047e1e8087fc64b5723323fad.jpg \n",
+ " extracting: test/images/FishDataset465_png.rf.d68a084caed1cc6b2a177bd88539a404.jpg \n",
+ " extracting: test/images/FishDataset648_png.rf.b5131e066d7956b299ccc388a5ba2c00.jpg \n",
+ " extracting: test/images/FishDataset223_png.rf.d8aa28b1def86c2b00f47598cf62553d.jpg \n",
+ " extracting: test/images/FishDataset662_png.rf.b0d63ef79b5be5905cb7a7a957176c81.jpg \n",
+ " extracting: test/images/FishDataset238_png.rf.d577969f3570aa952ccc8be42c0f04ef.jpg \n",
+ " extracting: test/images/FishDataset415_png.rf.d1b073c8353b2dc856ac575a5274f1ca.jpg \n",
+ " extracting: train/images/FishDataset581_png.rf.0198564aece196ecc9c12d88e9e60bbd.jpg \n",
+ " extracting: test/images/FishDataset282_png.rf.cba0794f06f38d750c368be765efd32d.jpg \n",
+ " extracting: test/images/FishDataset224_png.rf.f7d8177691734a27a468316b93c9ec24.jpg \n",
+ " extracting: test/images/FishDataset534_png.rf.edbb4ef30b323e0d0727bff9cfee03ad.jpg \n",
+ " extracting: test/images/FishDataset586_png.rf.446f3c4f4099fa7c4e383262966192ed.jpg \n",
+ " extracting: test/images/FishDataset374_png.rf.8bcc84700a3e8a53a5b3981c2b6b61ee.jpg \n",
+ " extracting: test/images/FishDataset689_png.rf.5a039d72bce6ec76fc64565788a4ac37.jpg \n",
+ " extracting: train/images/FishDataset612_png.rf.017c846565ef58883159be5879f5ff4d.jpg \n",
+ " extracting: test/images/FishDataset357_png.rf.eed3be717c94d2e56a15c7479ebd0b68.jpg \n",
+ " extracting: test/images/FishDataset489_png.rf.ef5adf49a1af2a57846ab67591eab5c2.jpg \n",
+ " extracting: test/images/FishDataset271_png.rf.fe02205b4ab87af8d624379168e206a0.jpg \n",
+ " extracting: train/images/FishDataset372_png.rf.0727dedf4627c9deb38ef07d1ddc8f0b.jpg \n",
+ " extracting: train/images/FishDataset732_png.rf.01ac13aef47919603b0d8f5de04c36d2.jpg \n",
+ " extracting: train/images/FishDataset502_png.rf.032db6c0cc3d9b8d2e64729f07644df4.jpg \n",
+ " extracting: train/images/FishDataset457_png.rf.0b29fb5a6a92d50b8ebe3b1969b40465.jpg \n",
+ " extracting: train/images/FishDataset672_png.rf.04e177f594feb541bc32132101f8860b.jpg \n",
+ " extracting: train/images/FishDataset16_png.rf.03e24199d086ca6c30817e44455602b1.jpg \n",
+ " extracting: train/images/FishDataset46_png.rf.025c35ba32a529e4524e3531fe709a3a.jpg \n",
+ " extracting: train/images/FishDataset525_png.rf.0a33f921738dd58ba4561599771dd088.jpg \n",
+ " extracting: train/images/FishDataset616_png.rf.0782ade950271b2f4f87d9cdaf4e24de.jpg \n",
+ " extracting: train/images/FishDataset257_png.rf.0d7b652ab789b35fe29ce423507a3b00.jpg \n",
+ " extracting: train/images/FishDataset197_png.rf.09a6c80bf8a5cf1309ac5558a4dd1152.jpg \n",
+ " extracting: train/images/FishDataset363_png.rf.0ba122ccc0045b5ef1a0cd0801a7053c.jpg \n",
+ " extracting: train/images/FishDataset96_png.rf.0c2989c2bb22222f8807f1edb235eae9.jpg \n",
+ " extracting: train/images/FishDataset603_png.rf.0543a08ef0bc0b96b3e48e6aa1ea5415.jpg \n",
+ " extracting: train/images/FishDataset279_png.rf.0a8c007964b9e3be2492ffb1edcd4acb.jpg \n",
+ " extracting: train/images/FishDataset177_png.rf.054111ae6659acee68a19cf2385cf277.jpg \n",
+ " extracting: train/images/FishDataset613_png.rf.032349e80d4bc951fdbfa935ba41157e.jpg \n",
+ " extracting: train/images/FishDataset219_png.rf.06ef52d272480b330caa930ccabc4f95.jpg \n",
+ " extracting: train/images/FishDataset513_png.rf.0be1235d2dcbfacff7577f3a2de462c7.jpg \n",
+ " extracting: train/images/FishDataset332_png.rf.0e37f3501b3f3908c5e0add299327850.jpg \n",
+ " extracting: train/images/FishDataset68_png.rf.0d4000dead62971d8ae20ea297c99454.jpg \n",
+ " extracting: train/images/FishDataset144_png.rf.0b331762eee5bac6dfa915cf288b38f8.jpg \n",
+ " extracting: train/images/FishDataset668_png.rf.0e4c94a247b8375dbc55c464df4c6193.jpg \n",
+ " extracting: train/images/FishDataset309_png.rf.072dea995d3bd96776c86f4d1944d722.jpg \n",
+ " extracting: train/images/FishDataset107_png.rf.0cb31f757ba4f40a43bf84e75ee4e499.jpg \n",
+ " extracting: train/images/FishDataset148_png.rf.0fb90ad3ebe815c6a67e6999fe65a013.jpg \n",
+ " extracting: train/images/FishDataset700_png.rf.0e3b881950fdbb0832532ad58547ba6f.jpg \n",
+ " extracting: train/images/FishDataset735_png.rf.0f12dab2c1198277d65bfca4c0977d19.jpg \n",
+ " extracting: train/images/FishDataset646_png.rf.10a5be65d3440ba714c4eb5279239dde.jpg \n",
+ " extracting: train/images/FishDataset128_png.rf.0fdb8c2eea95620285fe6fbc4e555308.jpg \n",
+ " extracting: train/images/FishDataset681_png.rf.1305734c31b3015f62c497e6246bf2c8.jpg \n",
+ " extracting: train/images/FishDataset591_png.rf.1aca8f8b176eba916a3df8ac0be51bbf.jpg \n",
+ " extracting: train/images/FishDataset695_png.rf.140aefd2afd7975a9ed26df941c25394.jpg \n",
+ " extracting: train/images/FishDataset149_png.rf.192a4f4afd9377a1860f00589097cda9.jpg \n",
+ " extracting: train/images/FishDataset112_png.rf.1940c7569f1872ee0427666e65fff20c.jpg \n",
+ " extracting: train/images/FishDataset717_png.rf.16b08a531c5a0e1b8e5307caeebd43e9.jpg \n",
+ " extracting: train/images/FishDataset467_png.rf.1b41ba1b629d0513bb4e2a805c4b5f51.jpg \n",
+ " extracting: train/images/FishDataset276_png.rf.1664bc19d3e66e81570a7b4fb874c94c.jpg \n",
+ " extracting: train/images/FishDataset86_png.rf.1ef08725b04ec8bfcdc2549628e1857c.jpg \n",
+ " extracting: train/images/FishDataset599_png.rf.1fce39e3487775d976414393aad45582.jpg \n",
+ " extracting: train/images/FishDataset719_png.rf.1b59214e6690f7b87a12aeb5fe65547e.jpg \n",
+ " extracting: train/images/FishDataset484_png.rf.1f954548201dbe221fe331e45777fa83.jpg \n",
+ " extracting: train/images/FishDataset235_png.rf.1fdec6143d70e2459f61569d47c2b3b7.jpg \n",
+ " extracting: train/images/FishDataset440_png.rf.167015e6053222dfad9df498aee491df.jpg \n",
+ " extracting: train/images/FishDataset703_png.rf.1f76cdd7a8e14f939c4e9c48154f63de.jpg \n",
+ " extracting: train/images/FishDataset512_png.rf.131073ae6767265599f45e78b38864ab.jpg \n",
+ " extracting: train/images/FishDataset510_png.rf.15c72ea5b3ca75900ced6aea6973a9a1.jpg \n",
+ " extracting: train/images/FishDataset487_png.rf.1abeaaa537df1a959b58875ec2257044.jpg \n",
+ " extracting: train/images/FishDataset138_png.rf.1d5f67cd57ec18613e936615ffa95449.jpg \n",
+ " extracting: train/images/FishDataset303_png.rf.18ec91fff2c2958339b0f06d4cee5054.jpg \n",
+ " extracting: train/images/FishDataset120_png.rf.1859ce58b263cd28259e24a3ad6df3f6.jpg \n",
+ " extracting: train/images/FishDataset399_png.rf.1b7aac89901adbd1a97085a5101d21f1.jpg \n",
+ " extracting: train/images/FishDataset428_png.rf.184973bf3892e3429eb68a44695fc5c5.jpg \n",
+ " extracting: train/images/FishDataset226_png.rf.204ee805892ba79c885e8b797798bb99.jpg \n",
+ " extracting: train/images/FishDataset682_png.rf.1ea74b7167edc69e247300e7983e2f85.jpg \n",
+ " extracting: train/images/FishDataset300_png.rf.22fd959a44fdb8b5af84f3331ac82fc1.jpg \n",
+ " extracting: train/images/FishDataset165_png.rf.211445d5f5e6443a65e85a1c87cdd81b.jpg \n",
+ " extracting: train/images/FishDataset636_png.rf.22d13d81b091132bc534cd54a2377995.jpg \n",
+ " extracting: train/images/FishDataset232_png.rf.2594f8b0c96cfb35ef159d8db8edd560.jpg \n",
+ " extracting: train/images/FishDataset664_png.rf.259a38f4f53e721fda5db87aea4b0bda.jpg \n",
+ " extracting: train/images/FishDataset360_png.rf.2374d5532a4ae1dbea6c768578d7587d.jpg \n",
+ " extracting: train/images/FishDataset518_png.rf.246ae4676eab17fc46f414157448caef.jpg \n",
+ " extracting: train/images/FishDataset103_png.rf.25d53b8bfa2a5863f9209b1664988551.jpg \n",
+ " extracting: train/images/FishDataset101_png.rf.2484890e9b42e3df3283c919634b312f.jpg \n",
+ " extracting: train/images/FishDataset133_png.rf.2790757cc8281fc4941bad559ecb5a9d.jpg \n",
+ " extracting: train/images/FishDataset426_png.rf.27090e2f3b75e87f2d6ce8e4b24ce8f4.jpg \n",
+ " extracting: train/images/FishDataset147_png.rf.279d1840b79678b94998761088cd2702.jpg \n",
+ " extracting: train/images/FishDataset509_png.rf.265ea1f9a9adf0f94d8b096b462d8884.jpg \n",
+ " extracting: train/images/FishDataset75_png.rf.259b311c67ecefb411a096f76c5a4cbf.jpg \n",
+ " extracting: train/images/FishDataset242_png.rf.26d2fe91e54e29065da38413e3927543.jpg \n",
+ " extracting: train/images/FishDataset240_png.rf.24770f7dd486d7275e4969450eb8a3dd.jpg \n",
+ " extracting: train/images/FishDataset95_png.rf.27abdc912e779f519608f7e6ec4a043e.jpg \n",
+ " extracting: train/images/FishDataset342_png.rf.24cfbcbf3ec11fda45eb86ce60bf7017.jpg \n",
+ " extracting: train/images/FishDataset630_png.rf.26f18053834f97b5ed1ba20bd7de17de.jpg \n",
+ " extracting: train/images/FishDataset617_png.rf.27e62442808b275817a666bd37a01f1d.jpg \n",
+ " extracting: train/images/FishDataset100_png.rf.267265aadce2e0c1d76ce7e5a08bc599.jpg \n",
+ " extracting: train/images/FishDataset565_png.rf.278523639dbed08172256d1045c6fccc.jpg \n",
+ " extracting: train/images/FishDataset543_png.rf.280b674253d7805dc188c92b7c7ac1b6.jpg \n",
+ " extracting: train/images/FishDataset401_png.rf.28a96f5489f8b0904440fa222edf26f9.jpg \n",
+ " extracting: train/images/FishDataset713_png.rf.2ce47d8440ae0382524be117398f2b9a.jpg \n",
+ " extracting: train/images/FishDataset433_png.rf.2c2616def08b098c8480a265a935c02d.jpg \n",
+ " extracting: train/images/FishDataset621_png.rf.29082716b9b8d38b93757db0c4a47b3a.jpg \n",
+ " extracting: train/images/FishDataset394_png.rf.2bdaae41144ed7feb1d98654a685cbd2.jpg \n",
+ " extracting: train/images/FishDataset407_png.rf.3124d1019f5947e8bd625de8d63a6999.jpg \n",
+ " extracting: train/images/FishDataset718_png.rf.2b1fff8cbafe7f1d9aa8cb19c0adb750.jpg \n",
+ " extracting: train/images/FishDataset688_png.rf.2c26011d4de9b46858e01b0e9b478241.jpg \n",
+ " extracting: train/images/FishDataset11_png.rf.34e395871a5de43cda8e95f9c01b7dc9.jpg \n",
+ " extracting: train/images/FishDataset634_png.rf.2f2a28de24ec1bfbe3878381bc362e73.jpg \n",
+ " extracting: train/images/FishDataset680_png.rf.2fc28defa05e8166ccb623d95744a155.jpg \n",
+ " extracting: train/images/FishDataset350_png.rf.287115a1358d7092e27c99b1abd6a27d.jpg \n",
+ " extracting: train/images/FishDataset131_png.rf.291f02d40e9cc15a18858e5518f92091.jpg \n",
+ " extracting: train/images/FishDataset544_png.rf.2a7aa8b8c9c5016adab8a6eb49531eb0.jpg \n",
+ " extracting: train/images/FishDataset423_png.rf.2d9f91243a64dd5ebbee264faddd064a.jpg \n",
+ " extracting: train/images/FishDataset121_png.rf.34c60170993ae4aca49e703d6e5a3bef.jpg \n",
+ " extracting: train/images/FishDataset721_png.rf.2eb96420b7b47037174ab749e5b6907e.jpg \n",
+ " extracting: train/images/FishDataset600_png.rf.2d5a9eb2f848d4a2642424a85401efde.jpg \n",
+ " extracting: train/images/FishDataset253_png.rf.2e6137bc938c631941cb97890bbedfeb.jpg \n",
+ " extracting: train/images/FishDataset731_png.rf.28707eab723cc7f5742c346d727176db.jpg \n",
+ " extracting: train/images/FishDataset516_png.rf.2fb22117dd0ccf55238cf2bccd92bc48.jpg \n",
+ " extracting: train/images/FishDataset500_png.rf.2b69a3d9efb25af5926342e62d0e8c08.jpg \n",
+ " extracting: train/images/FishDataset98_png.rf.3482e60b77027245650631e12507fbfe.jpg \n",
+ " extracting: train/images/FishDataset663_png.rf.3626f785b7e25a4c716d2cd5a9f9ba7d.jpg \n",
+ " extracting: train/images/FishDataset497_png.rf.37dd1c7ee31879fcc3437523333079f4.jpg \n",
+ " extracting: train/images/FishDataset145_png.rf.3b26902f4c86e025aa175daf620bf314.jpg \n",
+ " extracting: train/images/FishDataset620_png.rf.371de3dde04d059a3679a5311a6fe92a.jpg \n",
+ " extracting: train/images/FishDataset458_png.rf.3ca448a1f2215a36138c1a9949d7b678.jpg \n",
+ " extracting: train/images/FishDataset258_png.rf.36fb144881485b932e1e7fe6adafcbbd.jpg \n",
+ " extracting: train/images/FishDataset585_png.rf.3c6099a837573a012685b31ecc1ffc0f.jpg \n",
+ " extracting: train/images/FishDataset643_png.rf.3d1fc77027f593e871b15f737a528fa1.jpg \n",
+ " extracting: train/images/FishDataset614_png.rf.3535f15d1311a566e30c25ab92f8bc72.jpg \n",
+ " extracting: train/images/FishDataset308_png.rf.352616dbe5e21b847f8ba3841b7c8efe.jpg \n",
+ " extracting: train/images/FishDataset432_png.rf.38f464f15283e1012e9e36a49bd0047e.jpg \n",
+ " extracting: train/images/FishDataset296_png.rf.3bbd3de83510ea39dd038eb0213414a5.jpg \n",
+ " extracting: train/images/FishDataset503_png.rf.377c1cc5132bd5ff11243e9cc4e7e3ec.jpg \n",
+ " extracting: train/images/FishDataset561_png.rf.3d426b1594570a7f0fdf15a954dc7258.jpg \n",
+ " extracting: train/images/FishDataset403_png.rf.3f47713fdba8d72c02053d3b983272f8.jpg \n",
+ " extracting: train/images/FishDataset635_png.rf.36c5b15953151b5855df615f926679b4.jpg \n",
+ " extracting: train/images/FishDataset335_png.rf.3d25ccbed8b66ceb27b7a4cf6252d7e9.jpg \n",
+ " extracting: train/images/FishDataset158_png.rf.3b5dd7fd94b1e91c1af290d1cfd74655.jpg \n",
+ " extracting: train/images/FishDataset62_png.rf.3b1c8b1a873d40bdc6d04caa433862a8.jpg \n",
+ " extracting: train/images/FishDataset320_png.rf.3cd4acd83bb8f8f3e00af943404fe3ec.jpg \n",
+ " extracting: train/images/FishDataset446_png.rf.39036e922df1945bc6813945d94aead3.jpg \n",
+ " extracting: train/images/FishDataset50_png.rf.396fc8835b2a163419983bb8c861b6e6.jpg \n",
+ " extracting: train/images/FishDataset260_png.rf.3e20518debda72d629848486b3aca964.jpg \n",
+ " extracting: train/images/FishDataset21_png.rf.4036bcbe0306de31cb848c5fbff6b8a5.jpg \n",
+ " extracting: train/images/FishDataset385_png.rf.3fd8a76401bcd8359a6c2b40d301f0f7.jpg \n",
+ " extracting: train/images/FishDataset254_png.rf.3f7e4b9da59f96fda8665912c683470a.jpg \n",
+ " extracting: train/images/FishDataset657_png.rf.4659227991411fb8504aebc42ba28775.jpg \n",
+ " extracting: train/images/FishDataset466_png.rf.493945b150b5433ff50f13580b1464ef.jpg \n",
+ " extracting: train/images/FishDataset194_png.rf.42c3332a97c64ee22577a7a4fb72738b.jpg \n",
+ " extracting: train/images/FishDataset602_png.rf.44c5de413f4f9430edccfa56c607901b.jpg \n",
+ " extracting: train/images/FishDataset190_png.rf.44a24023ba96ac327dd1988c4f5d4141.jpg \n",
+ " extracting: train/images/FishDataset310_png.rf.457a3ab412770a2c2e93456eeca0d7a4.jpg \n",
+ " extracting: train/images/FishDataset678_png.rf.43a01b34ada4d4ebdc090fd796b3c37d.jpg \n",
+ " extracting: train/images/FishDataset692_png.rf.41efbe0aad3de264608b4fff527cd662.jpg \n",
+ " extracting: train/images/FishDataset274_png.rf.448fc214e56b6a1fa840dd9d7ad2fb26.jpg \n",
+ " extracting: train/images/FishDataset526_png.rf.4448bafde3713dde6319345273a9c113.jpg \n",
+ " extracting: train/images/FishDataset459_png.rf.481333f7e100b18d0c8aae890e3d20f3.jpg \n",
+ " extracting: train/images/FishDataset481_png.rf.40e948df5ec65a1c1fc3495fff194867.jpg \n",
+ " extracting: train/images/FishDataset346_png.rf.45e49f4f38439ce22c24b32e70921b45.jpg \n",
+ " extracting: train/images/FishDataset720_png.rf.4341ce6e4f91a99efe15d015559107b3.jpg \n",
+ " extracting: train/images/FishDataset722_png.rf.437e6a682b6b2c111b00e28a6225ec37.jpg \n",
+ " extracting: train/images/FishDataset468_png.rf.469990907ff6ac5b386994e6c6ead89f.jpg \n",
+ " extracting: train/images/FishDataset129_png.rf.48c86509be9deb63b34dd1522bc60a26.jpg \n",
+ " extracting: train/images/FishDataset737_png.rf.420299e31f605648b9b3ce3e87def088.jpg \n",
+ " extracting: train/images/FishDataset336_png.rf.465dd1f0d1c72165b533ba41daaf1490.jpg \n",
+ " extracting: train/images/FishDataset307_png.rf.479b31ce68988d3dde22df40b7fb6e3e.jpg \n",
+ " extracting: train/images/FishDataset111_png.rf.48e867613b10f622921d4637bf99695d.jpg \n",
+ " extracting: train/images/FishDataset670_png.rf.54df9a77636d4a4f020fdadf7a4621ee.jpg \n",
+ " extracting: train/images/FishDataset295_png.rf.4b635caea2eb01d1503a1641ee448dc0.jpg \n",
+ " extracting: train/images/FishDataset60_png.rf.4c8759beb4871c9ab754c41e3c678f62.jpg \n",
+ " extracting: train/images/FishDataset69_png.rf.4f71f4b1bdeba3b4ea27aef053b073cc.jpg \n",
+ " extracting: train/images/FishDataset172_png.rf.5068e23bd804bfef832a8c1cf3ba609a.jpg \n",
+ " extracting: train/images/FishDataset554_png.rf.4c358d6b15a97e9d73c44ddf0d0c5908.jpg \n",
+ " extracting: train/images/FishDataset566_png.rf.5274980b81022f1a0be4804da3afdb9b.jpg \n",
+ " extracting: train/images/FishDataset571_png.rf.4d4e08d890286a4f3ebfdf2e33ffff55.jpg \n",
+ " extracting: train/images/FishDataset259_png.rf.54969dce1c9097c0827e030e88ec629c.jpg \n",
+ " extracting: train/images/FishDataset675_png.rf.561b864864d4dc015b7fc55fef905846.jpg \n",
+ " extracting: train/images/FishDataset536_png.rf.4f20db76175032fe6789ec3ad9d4581c.jpg \n",
+ " extracting: train/images/FishDataset370_png.rf.5477a2be35e48f816e751b3f6fb698eb.jpg \n",
+ " extracting: train/images/FishDataset574_png.rf.56a18956112dcfe4b24988ae23123067.jpg \n",
+ " extracting: train/images/FishDataset631_png.rf.4f6e50ce35b6f728bc033ac6c7d91dc9.jpg \n",
+ " extracting: train/images/FishDataset126_png.rf.52f838e6c87d34c3c92f4226f8a66627.jpg \n",
+ " extracting: train/images/FishDataset449_png.rf.49f6de0aed73da15bd5ffedf45d0a387.jpg \n",
+ " extracting: train/images/FishDataset305_png.rf.5580567982685cbc332cf61342c4ca5a.jpg \n",
+ " extracting: train/images/FishDataset168_png.rf.502ad2106e89319cc27fb5160f09cc0d.jpg \n",
+ " extracting: train/images/FishDataset301_png.rf.53ae1e20418b2e75fcf4cf22761d35fc.jpg \n",
+ " extracting: train/images/FishDataset299_png.rf.526c9ccc83a140723dd89ceff88fb8af.jpg \n",
+ " extracting: train/images/FishDataset535_png.rf.51c0cebf618acded59b2f0acef532b3d.jpg \n",
+ " extracting: train/images/FishDataset176_png.rf.5245c1388206e6acba1dc14d670e9e70.jpg \n",
+ " extracting: train/images/FishDataset81_png.rf.526b743e9fd9dfca89bbb0a10979c5d8.jpg \n",
+ " extracting: train/images/FishDataset70_png.rf.56ef036d1793b1c95f3dfcdfed739538.jpg \n",
+ " extracting: train/images/FishDataset637_png.rf.56cc2bd8fd8e98edf5eb1421dcf3e6df.jpg \n",
+ " extracting: train/images/FishDataset246_png.rf.54650f33b1f07ab463f13842202c096d.jpg \n",
+ " extracting: train/images/FishDataset114_png.rf.577bbe46752bb5c3d4b742d8cfae427d.jpg \n",
+ " extracting: train/images/FishDataset132_png.rf.5f370554865ad9880ff444f2d7472721.jpg \n",
+ " extracting: train/images/FishDataset313_png.rf.60136ce8eda6a843996797e578e4d392.jpg \n",
+ " extracting: train/images/FishDataset380_png.rf.603c9bc04b1d5a91f7c915a78ebfe961.jpg \n",
+ " extracting: train/images/FishDataset532_png.rf.61807a07ec736d9660393cf8bc682905.jpg \n",
+ " extracting: train/images/FishDataset243_png.rf.58945bbc3b1f28427babac52c7e55079.jpg \n",
+ " extracting: train/images/FishDataset582_png.rf.5ef96f1a84157b27dd819ffbb0cd5a0c.jpg \n",
+ " extracting: train/images/FishDataset519_png.rf.61de9748e10a3329a60dc585320296a1.jpg \n",
+ " extracting: test/images/FishDataset443_png.rf.68c7c13cd5acad16886eeec0893cf372.jpg \n",
+ " extracting: train/images/FishDataset347_png.rf.592e5d540955216b3f4b8dcf4d43f618.jpg \n",
+ " extracting: train/images/FishDataset472_png.rf.5c45c1ad0691e295b32ff309d6c51b8d.jpg \n",
+ " extracting: train/images/FishDataset652_png.rf.5a20cdf762be965e29a21302490bb90d.jpg \n",
+ " extracting: train/images/FishDataset734_png.rf.5754ccca66aa7782bc73eaf275563737.jpg \n",
+ " extracting: train/images/FishDataset729_png.rf.5913f23ac6d5651c5b32eb6797c8981a.jpg \n",
+ " extracting: train/images/FishDataset343_png.rf.5c5f9104ee619e6788e4c227fc0ab634.jpg \n",
+ " extracting: train/images/FishDataset302_png.rf.5a9a7bfe00362b9f3077d71708e22c71.jpg \n",
+ " extracting: train/images/FishDataset671_png.rf.611ecc5ed25663b09c4a84e0e06aec3c.jpg \n",
+ " extracting: train/images/FishDataset478_png.rf.5807d598c11a7c64d913385e1cad340c.jpg \n",
+ " extracting: train/images/FishDataset690_png.rf.625409a82a1e149131870c41dd597a66.jpg \n",
+ " extracting: train/images/FishDataset438_png.rf.5f986c46236b556bd2190f9640f45ec3.jpg \n",
+ " extracting: train/images/FishDataset142_png.rf.5c04c3ae517fe1827a093a189ec7d5e4.jpg \n",
+ " extracting: train/images/FishDataset683_png.rf.61be4d5a740ab9da29c930d1da4bd5db.jpg \n",
+ " extracting: train/images/FishDataset715_png.rf.6389059490dd1d08f7f188660e977251.jpg \n",
+ " extracting: train/images/FishDataset694_png.rf.5803d14b6f6d51c88c3809262e357352.jpg \n",
+ " extracting: train/images/FishDataset290_png.rf.6e57152df5915242940176ae046d1d46.jpg \n",
+ " extracting: train/images/FishDataset450_png.rf.5df3da3a450fc4aec0d5af31abe8b4d9.jpg \n",
+ " extracting: train/images/FishDataset517_png.rf.6672560604e1337581ad8feee805199c.jpg \n",
+ " extracting: train/images/FishDataset368_png.rf.6ccf41b0398dd2506f9125563a708189.jpg \n",
+ " extracting: train/images/FishDataset236_png.rf.68a202b9b229e17732e55e3027209a78.jpg \n",
+ " extracting: train/images/FishDataset89_png.rf.69919ae8d309956ce1022b2cf3030cc0.jpg \n",
+ " extracting: train/images/FishDataset491_png.rf.68155d185eb7b458b9b2fcbc53b23c9c.jpg \n",
+ " extracting: train/images/FishDataset80_png.rf.6822431a68456d0c9496fe8dc1519b66.jpg \n",
+ " extracting: train/images/FishDataset167_png.rf.669de35cb0e8b62f25b106bcc7079188.jpg \n",
+ " extracting: train/images/FishDataset78_png.rf.6ee7ec3221f0e3237cb7b32a39ad5469.jpg \n",
+ " extracting: train/images/FishDataset35_png.rf.6fecc033737d253cadcdc4e9e46e3458.jpg \n",
+ " extracting: train/images/FishDataset392_png.rf.6936fdca9def282053bfe6269b0f86fa.jpg \n",
+ " extracting: train/images/FishDataset366_png.rf.70ffde166001d6b3171bd83cae68d9af.jpg \n",
+ " extracting: train/images/FishDataset150_png.rf.66b1726cd4347eb983b9f7f25db1d789.jpg \n",
+ " extracting: train/images/FishDataset576_png.rf.638cebe29dfdd169dae8194990e726f4.jpg \n",
+ " extracting: train/images/FishDataset429_png.rf.6ce6dc1774f6f1fb637acc8e0b5a873b.jpg \n",
+ " extracting: train/images/FishDataset454_png.rf.688d7e81b60d164aceae953b925b15d6.jpg \n",
+ " extracting: train/images/FishDataset706_png.rf.6681691cea74506e41f8cd5f0e7bea04.jpg \n",
+ " extracting: train/images/FishDataset708_png.rf.6a6f0306e280c29f63126a3035a24458.jpg \n",
+ " extracting: train/images/FishDataset604_png.rf.7214cd22464c6cdaa7086f3e966b71b5.jpg \n",
+ " extracting: train/images/FishDataset724_png.rf.6ad6d9f75657d2702fd7e95f197c65e8.jpg \n",
+ " extracting: train/images/FishDataset0_png.rf.6d4ef9fb459b8c42eca6ad4b5e22754f.jpg \n",
+ " extracting: train/images/FishDataset456_png.rf.71b19b0591eaafe5796085b6c6dd31b0.jpg \n",
+ " extracting: train/images/FishDataset4_png.rf.6d7239056ab0cc2fde55e8a1e2c9d2c9.jpg \n",
+ " extracting: train/images/FishDataset539_png.rf.71d54bc53e83d9dd501086a2a5c8bc33.jpg \n",
+ " extracting: train/images/FishDataset736_png.rf.70bcbd069593881077c2c23098d3b1df.jpg \n",
+ " extracting: train/images/FishDataset369_png.rf.71666b23078ef56cb48ca5caedd32a8f.jpg \n",
+ " extracting: train/images/FishDataset264_png.rf.7235f36296e66059bbb33190da92f8f9.jpg \n",
+ " extracting: train/images/FishDataset159_png.rf.77cf35756e94c4cbf7ae7ed412607031.jpg \n",
+ " extracting: train/images/FishDataset587_png.rf.768a6f0252657f38f5f914b02c34a4d7.jpg \n",
+ " extracting: train/images/FishDataset327_png.rf.725584f4279f9cbff767fe5a70cf477a.jpg \n",
+ " extracting: train/images/FishDataset43_png.rf.70bb4f2d3c53692d17d3653674dd3d86.jpg \n",
+ " extracting: train/images/FishDataset488_png.rf.75202da744b638f700278a2455d4724b.jpg \n",
+ " extracting: train/images/FishDataset52_png.rf.77b698dc8d96f72896ba2e61a85b9b8d.jpg \n",
+ " extracting: train/images/FishDataset691_png.rf.7920d487d5510dada3c347e4ea678412.jpg \n",
+ " extracting: train/images/FishDataset522_png.rf.755b064e38403610b6c96645e80a8a36.jpg \n",
+ " extracting: train/images/FishDataset475_png.rf.77344f663febf9456a978944f1965ea0.jpg \n",
+ " extracting: train/images/FishDataset483_png.rf.7d3bc0b47462ffe025453d9fc5e30be9.jpg \n",
+ " extracting: train/images/FishDataset697_png.rf.749b635fd260ee6f5cde6d5b84fbe96a.jpg \n",
+ " extracting: train/images/FishDataset341_png.rf.75d2cbb96dd17b6a972b40fb1ffe1a3f.jpg \n",
+ " extracting: train/images/FishDataset693_png.rf.78e1d8cb38d456864a17973ce9e9a79d.jpg \n",
+ " extracting: train/images/FishDataset707_png.rf.737c9193eb10304149247c6073b519e2.jpg \n",
+ " extracting: train/images/FishDataset730_png.rf.77edcfee03365d3652f44e1890155dae.jpg \n",
+ " extracting: train/images/FishDataset608_png.rf.7c189478c17d27040394f212f72d50e6.jpg \n",
+ " extracting: train/images/FishDataset541_png.rf.7e19b014a770df62a94d6858494ba0a3.jpg \n",
+ " extracting: train/images/FishDataset493_png.rf.803a16c26c9e8f9b3209c744b8e5dcb1.jpg \n",
+ " extracting: train/images/FishDataset361_png.rf.77f983151e3090fde13593ad74468401.jpg \n",
+ " extracting: train/images/FishDataset702_png.rf.79666c5983ed3b64d793b0679652fe36.jpg \n",
+ " extracting: train/images/FishDataset568_png.rf.7ec5b76cfc4dd1bc9cf2f26222a49862.jpg \n",
+ " extracting: train/images/FishDataset329_png.rf.7f8bda0585cdea9839d012f901fbdb91.jpg \n",
+ " extracting: train/images/FishDataset425_png.rf.7b7400a823aaf4a5477cbcddbf9f392e.jpg \n",
+ " extracting: train/images/FishDataset579_png.rf.72cca4557c3f526bada52010669937c9.jpg \n",
+ " extracting: train/images/FishDataset5_png.rf.879b4d7391a7e017e957c25aecda8c05.jpg \n",
+ " extracting: train/images/FishDataset527_png.rf.75e13db330c08390519fa23b394645ff.jpg \n",
+ " extracting: train/images/FishDataset386_png.rf.80e85690bd6b0175521a14a352cf9f0b.jpg \n",
+ " extracting: train/images/FishDataset499_png.rf.80c1f040fb5ce968c1dffb96a61f6e4d.jpg \n",
+ " extracting: train/images/FishDataset108_png.rf.86bcca318757f4d3de3f861d7131c3bd.jpg \n",
+ " extracting: train/images/FishDataset293_png.rf.843d3d5be7867bcd6f928f3634a80ec9.jpg \n",
+ " extracting: train/images/FishDataset402_png.rf.86b4a15f647d286f95fbdffad8504c30.jpg \n",
+ " extracting: train/images/FishDataset698_png.rf.81b3c13be68ee5067c9a4843e88f9aab.jpg \n",
+ " extracting: train/images/FishDataset545_png.rf.828d7799318721cbfccb4a91c87483da.jpg \n",
+ " extracting: train/images/FishDataset192_png.rf.8877a7ad05523d5661449003142fa505.jpg \n",
+ " extracting: train/images/FishDataset26_png.rf.84f52a5b02c1b310da9383356b29d3c2.jpg \n",
+ " extracting: train/images/FishDataset292_png.rf.865218d7781ba26256cfb0c05fd4f599.jpg \n",
+ " extracting: train/images/FishDataset237_png.rf.89771f1144629157b3399c9652eb903d.jpg \n",
+ " extracting: train/images/FishDataset548_png.rf.889d970d6eb5949ce258c8c021254ab8.jpg \n",
+ " extracting: train/images/FishDataset36_png.rf.8ba4af9771c880611ef6e8ac5a0e69f5.jpg \n",
+ " extracting: train/images/FishDataset725_png.rf.87a4a99adc44085ea18d8298e70302eb.jpg \n",
+ " extracting: train/images/FishDataset381_png.rf.89af75fe311c49774c9a64f878724937.jpg \n",
+ " extracting: train/images/FishDataset699_png.rf.85ef9f15c899e3b20c776810efaa461e.jpg \n",
+ " extracting: train/images/FishDataset542_png.rf.8c7dd7cd9851633dd086cdce554f05b9.jpg \n",
+ " extracting: train/images/FishDataset379_png.rf.87d7584c8063580b65268acf4c8de962.jpg \n",
+ " extracting: train/images/FishDataset54_png.rf.89460acc24e9eb6c3ab1acabd994b2a8.jpg \n",
+ " extracting: train/images/FishDataset155_png.rf.87a210b8c1047e0561ac0d7ad018e332.jpg \n",
+ " extracting: train/images/FishDataset578_png.rf.8992896d2d80b986e552c9c224432fa4.jpg \n",
+ " extracting: train/images/FishDataset364_png.rf.8ae1d5dd720c19ea1e3a343d793b0c1d.jpg \n",
+ " extracting: train/images/FishDataset494_png.rf.8d42a8ba3b65e60272f44f9cf8f796c5.jpg \n",
+ " extracting: train/images/FishDataset453_png.rf.8caa036f42651e338f0ac9334920f271.jpg \n",
+ " extracting: train/images/FishDataset337_png.rf.887f92de9afe8544083f3bf59dd85716.jpg \n",
+ " extracting: train/images/FishDataset595_png.rf.914a302fdaac08b37ef7e3c30019a6b9.jpg \n",
+ " extracting: train/images/FishDataset23_png.rf.8dffa7a03b7d802bede7dfe9b5e2d0ae.jpg \n",
+ " extracting: train/images/FishDataset345_png.rf.915544336defbbebe94ae2132d1777f0.jpg \n",
+ " extracting: train/images/FishDataset234_png.rf.9492648ad9026a800db90f323d2017aa.jpg \n",
+ " extracting: train/images/FishDataset249_png.rf.95def13d9dd476565e29ddde950e7be4.jpg \n",
+ " extracting: train/images/FishDataset384_png.rf.959b25b522dbf3953c1dcb70f2b95d0b.jpg \n",
+ " extracting: train/images/FishDataset39_png.rf.91d488d548595c8d2ff83d2b66cbd9bf.jpg \n",
+ " extracting: train/images/FishDataset10_png.rf.8f4e0bbdff2636e30cf960d34c4bdc80.jpg \n",
+ " extracting: train/images/FishDataset229_png.rf.93a4d33f717ab3bbb683ac18b65b0a7c.jpg \n",
+ " extracting: train/images/FishDataset306_png.rf.9757cbe5791930d541b5f279712fd627.jpg \n",
+ " extracting: train/images/FishDataset362_png.rf.9b814f35c81faed0a363c6cfcf13f8b5.jpg \n",
+ " extracting: train/images/FishDataset268_png.rf.9a7675a5fa31b5d4073c4bf3cdb6c491.jpg \n",
+ " extracting: train/images/FishDataset91_png.rf.973d4ad3f55dccc894537857a7275c4c.jpg \n",
+ " extracting: train/images/FishDataset213_png.rf.919ad2328dd77bf10273a57c6c7e6a45.jpg \n",
+ " extracting: train/images/FishDataset312_png.rf.8d438ad5252af43aeae0813a792a605c.jpg \n",
+ " extracting: train/images/FishDataset199_png.rf.913ae3604cff966595487579bb4db6ef.jpg \n",
+ " extracting: train/images/FishDataset570_png.rf.9562fa151302bbe0a5981cf915a39b67.jpg \n",
+ " extracting: train/images/FishDataset716_png.rf.9a29291cc4af0472bdb9e36ad2a3fe87.jpg \n",
+ " extracting: train/images/FishDataset211_png.rf.913fbe99c73b6d755f3ddee3542684ee.jpg \n",
+ " extracting: train/images/FishDataset427_png.rf.99e317c11983d75fa7f3a8fb824cdc08.jpg \n",
+ " extracting: train/images/FishDataset266_png.rf.96f05bce95371c9258c00a09ffab2b7e.jpg \n",
+ " extracting: train/images/FishDataset187_png.rf.93c86d9d3307f721b05aa20a4ed42024.jpg \n",
+ " extracting: train/images/FishDataset25_png.rf.9653020ffb2bcefa9980eff6dfc409a7.jpg \n",
+ " extracting: train/images/FishDataset331_png.rf.96775b8be729d88f7864c2182be31b40.jpg \n",
+ " extracting: train/images/FishDataset409_png.rf.9bb90a6d201cf0474bdd66866499fa9e.jpg \n",
+ " extracting: train/images/FishDataset200_png.rf.9bab0cc01d74fd4abed80e68e442690b.jpg \n",
+ " extracting: train/images/FishDataset477_png.rf.9c6407109690071b4d97ef788c4b4e9b.jpg \n",
+ " extracting: train/images/FishDataset84_png.rf.943e069d5237808c02ce43871ab3502e.jpg \n",
+ " extracting: train/images/FishDataset444_png.rf.9e48e55b6922c312a314a8a6d36d17f5.jpg \n",
+ " extracting: train/images/FishDataset179_png.rf.9e8c4077b89c6e4b3c230bda6415ce8d.jpg \n",
+ " extracting: train/images/FishDataset469_png.rf.9d225a772c0e31f7b3c1d22b7b30ea04.jpg \n",
+ " extracting: train/images/FishDataset653_png.rf.9f180814466961e16ad673cf072aea38.jpg \n",
+ " extracting: train/images/FishDataset207_png.rf.a07da982c85644469a1d01aa954184c0.jpg \n",
+ " extracting: train/images/FishDataset338_png.rf.a424775b4990e1e410ef4febcfd27e0f.jpg \n",
+ " extracting: train/images/FishDataset559_png.rf.a6359959264a0e0ff297dfa44396cc81.jpg \n",
+ " extracting: train/images/FishDataset371_png.rf.9f80159c03bf2b7841dc32d95b117e78.jpg \n",
+ " extracting: train/images/FishDataset34_png.rf.a4a8467049b54ae7817a4391a3d0a323.jpg \n",
+ " extracting: train/images/FishDataset83_png.rf.a51753461632e4a71b63b73200914138.jpg \n",
+ " extracting: train/images/FishDataset317_png.rf.a502bfeb0b161c787a1cc9b6c99454e6.jpg \n",
+ " extracting: train/images/FishDataset583_png.rf.a358bc7d8cabbbf3c300f064650aa56d.jpg \n",
+ " extracting: train/images/FishDataset422_png.rf.a10945a968bcc1e6ae0286ad78d6e052.jpg \n",
+ " extracting: train/images/FishDataset498_png.rf.a5eab2bdf51e1523befca302d405d4be.jpg \n",
+ " extracting: train/images/FishDataset136_png.rf.9f24edb7e644d5eb82c4b607791dc24d.jpg \n",
+ " extracting: train/images/FishDataset405_png.rf.a35768bfb86f21cd966518445e91f5a0.jpg \n",
+ " extracting: train/images/FishDataset241_png.rf.a66b793bb02c72832dd71f41094b2d47.jpg \n",
+ " extracting: train/images/FishDataset31_png.rf.a8ca5410da9546c2fe5af5166348227e.jpg \n",
+ " extracting: train/images/FishDataset490_png.rf.a76d788293d5a9fb7547512b98c7ab08.jpg \n",
+ " extracting: train/images/FishDataset110_png.rf.a56b27bf434df2317765d6d797a1f233.jpg \n",
+ " extracting: train/images/FishDataset288_png.rf.aba9c1b88c5a5ad34e03415577c7481a.jpg \n",
+ " extracting: train/images/FishDataset437_png.rf.9e4609952d4d19810c14b11c2ae67bf3.jpg \n",
+ " extracting: train/images/FishDataset552_png.rf.aba2bd27d191337109b3094327b23a3a.jpg \n",
+ " extracting: train/images/FishDataset72_png.rf.a9cab9b7c466f4f24d203d3e89c6e1a5.jpg \n",
+ " extracting: train/images/FishDataset723_png.rf.a54738ad2665c4ebeb15e1c57920ad4f.jpg \n",
+ " extracting: train/images/FishDataset626_png.rf.ac3d2c7ba5dfb162ce22e06e72f55706.jpg \n",
+ " extracting: train/images/FishDataset547_png.rf.ac8a0b76638436b2d999b1b3d8c779dc.jpg \n",
+ " extracting: train/images/FishDataset349_png.rf.ad38a5e323a36943e041a265a9778f19.jpg \n",
+ " extracting: train/images/FishDataset625_png.rf.aae07ecdf2632115372b6db73b747657.jpg \n",
+ " extracting: train/images/FishDataset709_png.rf.abb06e6115c1701301d4a6cf77f6781f.jpg \n",
+ " extracting: train/images/FishDataset584_png.rf.ad9ba05081ad6593064b9b4a923c9435.jpg \n",
+ " extracting: train/images/FishDataset667_png.rf.ae78f99f04761dcc7936ebb5dd17b627.jpg \n",
+ " extracting: train/images/FishDataset7_png.rf.ae05d1070385dc74b36a17cb41bea3f6.jpg \n",
+ " extracting: train/images/FishDataset137_png.rf.afb81b35235c93a190cdb5abd375b1cd.jpg \n",
+ " extracting: train/images/FishDataset94_png.rf.ad3c88896946d1eeb4333c46b1a25c41.jpg \n",
+ " extracting: train/images/FishDataset174_png.rf.b0a937985bc66f2c54f9a5c427e6bcc5.jpg \n",
+ " extracting: train/images/FishDataset624_png.rf.b0c03a5e8f0d93603059d821f6174282.jpg \n",
+ " extracting: train/images/FishDataset645_png.rf.afb715c786ff1ffca0d639305308df21.jpg \n",
+ " extracting: train/images/FishDataset452_png.rf.b1242f1c503995d2a2ef81cc59960ea5.jpg \n",
+ " extracting: train/images/FishDataset615_png.rf.ad7e4a1248027f2b197cedcf163f2daa.jpg \n",
+ " extracting: train/images/FishDataset248_png.rf.b1bb2a96786e752b14bf2a226651029d.jpg \n",
+ " extracting: train/images/FishDataset104_png.rf.b2ab42aa812de116569d480c9b4c7a75.jpg \n",
+ " extracting: train/images/FishDataset540_png.rf.b2581dc4f258ccd7732a9c32c51734e2.jpg \n",
+ " extracting: train/images/FishDataset638_png.rf.b3d4083c0016d329ad49f01985ce397d.jpg \n",
+ " extracting: train/images/FishDataset13_png.rf.b44bc25ab17cb3aac47a0902868a5413.jpg \n",
+ " extracting: train/images/FishDataset325_png.rf.b45764ef9ef2b78b444313dbbb263cae.jpg \n",
+ " extracting: train/images/FishDataset270_png.rf.b3e2a435fe81e3b278462c88c38ee6cd.jpg \n",
+ " extracting: train/images/FishDataset40_png.rf.b5915cd098e4d6c3e25a16b3c2ff3ad7.jpg \n",
+ " extracting: train/images/FishDataset153_png.rf.b6821cf25c10b05c7bd8f06509224288.jpg \n",
+ " extracting: train/images/FishDataset660_png.rf.b6d2583c26d052ac67b46e8342a69443.jpg \n",
+ " extracting: train/images/FishDataset353_png.rf.b5533008fbac49ef5db2b96b27a06ee2.jpg \n",
+ " extracting: train/images/FishDataset92_png.rf.b4c60cb18b7cb0815e91595380021c09.jpg \n",
+ " extracting: train/images/FishDataset365_png.rf.bbb84930b894b4eeb8396c8251630255.jpg \n",
+ " extracting: train/images/FishDataset151_png.rf.b86a88bd6a757a1ef1456d85cb61b853.jpg \n",
+ " extracting: train/images/FishDataset311_png.rf.b7127855011aade5e90547fcefd3a564.jpg \n",
+ " extracting: train/images/FishDataset728_png.rf.b92c54e196b72158a7586039949bbd09.jpg \n",
+ " extracting: train/images/FishDataset486_png.rf.b988f08c7266db18efbc0b4bd3e75578.jpg \n",
+ " extracting: train/images/FishDataset520_png.rf.b9f16f1a397b078caad4c53eaa6954bc.jpg \n",
+ " extracting: train/images/FishDataset375_png.rf.be29cd0e017c2de54b9d21ff76928a5f.jpg \n",
+ " extracting: train/images/FishDataset677_png.rf.bc5881d13548fc10ac113f1f1c1904d5.jpg \n",
+ " extracting: train/images/FishDataset659_png.rf.bebdf650ec1a4947233201eee16cd294.jpg \n",
+ " extracting: train/images/FishDataset442_png.rf.bce487ea75563410f6480745770b81b5.jpg \n",
+ " extracting: train/images/FishDataset701_png.rf.be2f3b057ee56d46015fe3a5d701fb8f.jpg \n",
+ " extracting: train/images/FishDataset537_png.rf.c21da0df7479916e55d0fcf38a11b3fc.jpg \n",
+ " extracting: train/images/FishDataset160_png.rf.bd50371bab973cf67548b8b4ae0d0153.jpg \n",
+ " extracting: train/images/FishDataset93_png.rf.bcb1e6d7cba6eb7a57383e9a04a2d65e.jpg \n",
+ " extracting: train/images/FishDataset204_png.rf.bf54812cd8712937981ed86829b52271.jpg \n",
+ " extracting: train/images/FishDataset629_png.rf.b94ee4c423e4a3211befedc8f0e7e2b8.jpg \n",
+ " extracting: train/images/FishDataset391_png.rf.c1665e750a6d6b482cf14e1b9613f368.jpg \n",
+ " extracting: train/images/FishDataset15_png.rf.c0a09599b90f860f64af091312edecb4.jpg \n",
+ " extracting: train/images/FishDataset225_png.rf.c2a342f6867b5ef4242fcf23b333e879.jpg \n",
+ " extracting: train/images/FishDataset367_png.rf.c259ad85f38ac38ab9dba6ed1aeee667.jpg \n",
+ " extracting: train/images/FishDataset619_png.rf.c11d157ed656b30e59af1ebbe55937da.jpg \n",
+ " extracting: train/images/FishDataset476_png.rf.baf2d1f1eb0f0b2146a12bdc213099b3.jpg \n",
+ " extracting: train/images/FishDataset29_png.rf.c4a813252a1783be5c06f05c4d8cd3e9.jpg \n",
+ " extracting: train/images/FishDataset118_png.rf.bb6e229b6d434a8be442cf56962f85e1.jpg \n",
+ " extracting: train/images/FishDataset294_png.rf.c418713c6a28f8be89033b341443c95c.jpg \n",
+ " extracting: train/images/FishDataset175_png.rf.c5e832685bedbad4b608efda6cc4038f.jpg \n",
+ " extracting: train/images/FishDataset633_png.rf.c2b6aacf574dea3d6f7aa96916286879.jpg \n",
+ " extracting: train/images/FishDataset435_png.rf.bb639b8ba881b58e29618802f2c58aa6.jpg \n",
+ " extracting: train/images/FishDataset676_png.rf.c39e9d9c0348ae1e7b24153e937ea03e.jpg \n",
+ " extracting: train/images/FishDataset71_png.rf.c5a251a5d0dfffddf2ed6ec2750e34d9.jpg \n",
+ " extracting: train/images/FishDataset228_png.rf.c967075718f861932a57d60fcaf6dc6d.jpg \n",
+ " extracting: train/images/FishDataset607_png.rf.c8ec83ae9687fca3527ecf229ed97f1c.jpg \n",
+ " extracting: train/images/FishDataset166_png.rf.c7a2266f2b857d9e1f0a12782a804cdc.jpg \n",
+ " extracting: train/images/FishDataset291_png.rf.c1cf91b8cf43d31ee602cc9b42a324ff.jpg \n",
+ " extracting: train/images/FishDataset348_png.rf.ca7322b57715402b43a40320d80a4d7b.jpg \n",
+ " extracting: train/images/FishDataset376_png.rf.cb5f144010d106bc0f6b7a7ac0275c6b.jpg \n",
+ " extracting: train/images/FishDataset42_png.rf.c6c50e457efea0afa968afcf7baa38f3.jpg \n",
+ " extracting: train/images/FishDataset430_png.rf.cb1f22c5598f831d373429cb6fe62566.jpg \n",
+ " extracting: train/images/FishDataset67_png.rf.ca7fab3fc71f1543ca921847d826dcd8.jpg \n",
+ " extracting: train/images/FishDataset65_png.rf.cc132c63408489f8c6530761196d8ea1.jpg \n",
+ " extracting: train/images/FishDataset673_png.rf.cb7c57eb01a3e57bbf54f873d353dd39.jpg \n",
+ " extracting: train/images/FishDataset233_png.rf.caf58119807c5e0fd8f56b507e641296.jpg \n",
+ " extracting: train/images/FishDataset73_png.rf.cc54b379992c646f94fcf20c0d180f6f.jpg \n",
+ " extracting: train/images/FishDataset45_png.rf.cc8e7dfcb060877798ddf880ca9b8691.jpg \n",
+ " extracting: train/images/FishDataset278_png.rf.cc36f0e5fd8bb1dfb7352f42ef4cbcd7.jpg \n",
+ " extracting: train/images/FishDataset48_png.rf.ca0a1cd3f4f9d8eee72bbb3cc8f1daae.jpg \n",
+ " extracting: train/images/FishDataset632_png.rf.ce66f27976fc93853a1123539cce074d.jpg \n",
+ " extracting: train/images/FishDataset8_png.rf.cb5c8042147f1273a1b23e6280eb3b03.jpg \n",
+ " extracting: train/images/FishDataset255_png.rf.d0afc942ed63b08b10fed17e1b8e611f.jpg \n",
+ " extracting: train/images/FishDataset641_png.rf.cf157a9724c693f52868d88ce5fa97cf.jpg \n",
+ " extracting: train/images/FishDataset185_png.rf.cf1b086a032854d7aafeb1123a026990.jpg \n",
+ " extracting: train/images/FishDataset575_png.rf.cba56e843338e4d71b5a65f0c65416ec.jpg \n",
+ " extracting: train/images/FishDataset726_png.rf.d06b614087574b42e94bd31f4d0b767a.jpg \n",
+ " extracting: train/images/FishDataset280_png.rf.d02191499fcac20d5fbff99f111a1044.jpg \n",
+ " extracting: train/images/FishDataset202_png.rf.d16fc36362ddc33beb0001a08ef8c326.jpg \n",
+ " extracting: train/images/FishDataset590_png.rf.d4ae044e249c50355c47636fe75bfd93.jpg \n",
+ " extracting: train/images/FishDataset684_png.rf.d12f6965cbb9a8db0f415d38f56fe21a.jpg \n",
+ " extracting: train/images/FishDataset627_png.rf.d1434628f3bca687a09feb08334262f2.jpg \n",
+ " extracting: train/images/FishDataset298_png.rf.d59341bf805b54bef36f2f334391d28d.jpg \n",
+ " extracting: train/images/FishDataset263_png.rf.d61478f81c526e91b47624e2e99faaad.jpg \n",
+ " extracting: train/images/FishDataset314_png.rf.d4b96eb223a51e1b12930ff4b0daee72.jpg \n",
+ " extracting: train/images/FishDataset424_png.rf.d314d10affd1a3d5093c167d1f5c6bf3.jpg \n",
+ " extracting: train/images/FishDataset556_png.rf.e06afddd90cc0805b50101c975bf3ce4.jpg \n",
+ " extracting: train/images/FishDataset180_png.rf.d82974f344c293dd0b1558ad23de0230.jpg \n",
+ " extracting: train/images/FishDataset152_png.rf.d9ddce308bc429c9e33f7a4822012e77.jpg \n",
+ " extracting: train/images/FishDataset53_png.rf.df197ca8dfabd573db216626a2882755.jpg \n",
+ " extracting: train/images/FishDataset572_png.rf.df7b7c072bc064a2d5cc775faaa8315f.jpg \n",
+ " extracting: train/images/FishDataset436_png.rf.d8fa6b3b339f7583c7fbdd0faa1eb52f.jpg \n",
+ " extracting: train/images/FishDataset485_png.rf.de51e24eb5caec12f6ad3b44cfa9fec0.jpg \n",
+ " extracting: train/images/FishDataset642_png.rf.d86613d6a04ff633d5b70114f0ab46e2.jpg \n",
+ " extracting: train/images/FishDataset124_png.rf.d92c1d89fd8cf824e98d65a766f9b538.jpg \n",
+ " extracting: train/images/FishDataset521_png.rf.e008026129e016dba3609d547ecf1edc.jpg \n",
+ " extracting: train/images/FishDataset611_png.rf.ddc7f48175b839db80e27a32ac2d5ec9.jpg \n",
+ " extracting: train/images/FishDataset573_png.rf.dd6d6130eadcf925672ade53d86dae8f.jpg \n",
+ " extracting: train/images/FishDataset182_png.rf.e0bf4a3c6358057e655b20c55ea4ef57.jpg \n",
+ " extracting: train/images/FishDataset400_png.rf.e081c9270ac67957e0974993e403a3a3.jpg \n",
+ " extracting: train/images/FishDataset504_png.rf.e23bd757c0af5fdb1a6d68853c49a3ef.jpg \n",
+ " extracting: train/images/FishDataset208_png.rf.e1d5f335d2b4c5ef2db5b50d50b3db7a.jpg \n",
+ " extracting: train/images/FishDataset316_png.rf.e32c26fbbd61c286f2c10903d2214101.jpg \n",
+ " extracting: train/images/FishDataset99_png.rf.db9eb25a2be47e6a5fee71ecf8a475db.jpg \n",
+ " extracting: train/images/FishDataset421_png.rf.dbb7cd359d76a708c38acf217b1cfca3.jpg \n",
+ " extracting: train/images/FishDataset24_png.rf.e4ca463ce725d0703aa277b5cf19547c.jpg \n",
+ " extracting: train/images/FishDataset218_png.rf.d764dd58ea620c2fe3592a17910f92a6.jpg \n",
+ " extracting: train/images/FishDataset57_png.rf.e59a4a7df12368f25f5ef860f26de28e.jpg \n",
+ " extracting: train/images/FishDataset655_png.rf.e426265b1b32c667b3eb5b346ab01857.jpg \n",
+ " extracting: train/images/FishDataset418_png.rf.e59972b79ca786369c8e866dab9939d9.jpg \n",
+ " extracting: train/images/FishDataset37_png.rf.e62a16358bb4e3dade92e1326e4eaff0.jpg \n",
+ " extracting: train/images/FishDataset406_png.rf.e6b624bd921c4d6b13923d9c1754580b.jpg \n",
+ " extracting: train/images/FishDataset644_png.rf.d9028b6b2c95402cc107173afcbbcdc4.jpg \n",
+ " extracting: train/images/FishDataset355_png.rf.ea74225d9f1131b1ef949fc292a80cc3.jpg \n",
+ " extracting: train/images/FishDataset658_png.rf.f064f60c1a7bf4f1f734309ecb63c85e.jpg \n",
+ " extracting: train/images/FishDataset195_png.rf.ea4df747049c55e00fc4eeea14100f68.jpg \n",
+ " extracting: train/images/FishDataset227_png.rf.edd5907d1c468e0e6f415e4431015037.jpg \n",
+ " extracting: train/images/FishDataset419_png.rf.f5390f3a64f3f2af98e7672793cb1e2f.jpg \n",
+ " extracting: train/images/FishDataset58_png.rf.e74c903bb33482c7b0e167d97ca5d330.jpg \n",
+ " extracting: train/images/FishDataset344_png.rf.f3689aca6be07f39b9bf734a16d8eaf5.jpg \n",
+ " extracting: train/images/FishDataset533_png.rf.f37b1395cc8be530d2cbd50392d6645d.jpg \n",
+ " extracting: train/images/FishDataset383_png.rf.f84a5da74f90f65e3099ba29b698d65b.jpg \n",
+ " extracting: train/images/FishDataset417_png.rf.ed082f4e2b6d535c0967912810050ba2.jpg \n",
+ " extracting: train/images/FishDataset261_png.rf.edfbc8ad548afc875cfaf0f2e36699af.jpg \n",
+ " extracting: train/images/FishDataset387_png.rf.ed458a9de4eea0c03a263f2c98e36309.jpg \n",
+ " extracting: train/images/FishDataset696_png.rf.f1ce22d60f8a0d49e0b3c1fe5817660b.jpg \n",
+ " extracting: train/images/FishDataset88_png.rf.f105cbd5047a6930ad35b854387c2ff2.jpg \n",
+ " extracting: train/images/FishDataset51_png.rf.ed0ba7177fcfa667ea75ec941c5a6fd9.jpg \n",
+ " extracting: train/images/FishDataset482_png.rf.f3c6eb35d77f3864a4ae0f1709dd3279.jpg \n",
+ " extracting: train/images/FishDataset639_png.rf.e7404e4546ad8f577b65df2a7d700c1b.jpg \n",
+ " extracting: train/images/FishDataset474_png.rf.f89aa79486ceecd3e1ec4b1d9f1a4315.jpg \n",
+ " extracting: train/images/FishDataset169_png.rf.f839d8cdbdb5af70651281467e83eeef.jpg \n",
+ " extracting: train/images/FishDataset434_png.rf.f91c03fac21a2159ea199f0f7594292d.jpg \n",
+ " extracting: train/images/FishDataset30_png.rf.f9f408ad8b3e57c4792332f51b4c3b73.jpg \n",
+ " extracting: train/images/FishDataset605_png.rf.f4eed30b546c40688895f5639c171d28.jpg \n",
+ " extracting: train/images/FishDataset546_png.rf.e7e171d2ce39b375f82643359f29b977.jpg \n",
+ " extracting: train/images/FishDataset492_png.rf.f6764099e512eca9c531417303e98e10.jpg \n",
+ " extracting: train/images/FishDataset398_png.rf.fa28f96efdf6bcb56acf57431dd903f2.jpg \n",
+ " extracting: train/images/FishDataset358_png.rf.fa69b7a845264ac8a11a0c60bcf88cb6.jpg \n",
+ " extracting: train/images/FishDataset455_png.rf.fbffbaac1aaf52821b1c9bb43396b244.jpg \n",
+ " extracting: valid/images/FishDataset90_png.rf.0174afec0d73dd170fbb8339c502de01.jpg \n",
+ " extracting: valid/images/FishDataset41_png.rf.1ae3a9633c7db6d3f8666292c0c1b0c5.jpg \n",
+ " extracting: valid/images/FishDataset193_png.rf.259af0bc94958bfe477e8d3a91a45796.jpg \n",
+ " extracting: valid/images/FishDataset267_png.rf.07b475982033fbb5882c81417b9f2b8e.jpg \n",
+ " extracting: valid/images/FishDataset530_png.rf.1c1ef17021e6479932bfbe5107a212f7.jpg \n",
+ " extracting: valid/images/FishDataset669_png.rf.037d21f5c5a5fc7f82f1e1da30c96efc.jpg \n",
+ " extracting: valid/images/FishDataset323_png.rf.1a6446ced7a0159a92f5b23038e555e2.jpg \n",
+ " extracting: valid/images/FishDataset102_png.rf.0ededd567854ba9519008100cf5d4630.jpg \n",
+ " extracting: valid/images/FishDataset55_png.rf.17ace0a884e20a61cd685f57c10884e5.jpg \n",
+ " extracting: train/images/FishDataset77_png.rf.fae75edeb7fbcf87ad8983f4c97ed1d6.jpg \n",
+ " extracting: valid/images/FishDataset553_png.rf.0b32e8419a92e402c8c2f3941134f9db.jpg \n",
+ " extracting: valid/images/FishDataset44_png.rf.0b8e0c0c66c75d7ad2a72778d3746174.jpg \n",
+ " extracting: valid/images/FishDataset173_png.rf.1df5a9af92fc290e70a34d0bf4efcf4b.jpg \n",
+ " extracting: valid/images/FishDataset411_png.rf.082779b5a6f31fa85bd6bf41ca0d0cb7.jpg \n",
+ " extracting: train/images/FishDataset514_png.rf.feb28656e723378af3c39a8a33cc9f92.jpg \n",
+ " extracting: valid/images/FishDataset538_png.rf.1b5343522145e42c9c1c0074c83ac11c.jpg \n",
+ " extracting: valid/images/FishDataset19_png.rf.27d4dce8bd3274d71d32f4fa7ab58208.jpg \n",
+ " extracting: valid/images/FishDataset563_png.rf.26fbb94dde0095419f8ca5d3b9de1f2f.jpg \n",
+ " extracting: valid/images/FishDataset610_png.rf.2706aba6ad69eed5644bf969d988bb0b.jpg \n",
+ " extracting: valid/images/FishDataset480_png.rf.2978ed83f3d13d16d6a83594aeee2f3a.jpg \n",
+ " extracting: valid/images/FishDataset640_png.rf.19c082f141a5bc2c25ad95a22f6d9f59.jpg \n",
+ " extracting: valid/images/FishDataset390_png.rf.0311a8be2b2c9fc2841517523bec5296.jpg \n",
+ " extracting: valid/images/FishDataset201_png.rf.048d2987b92b88f6960cf4978fec63d2.jpg \n",
+ " extracting: valid/images/FishDataset622_png.rf.2dbe6acc6d63c9f65045620aa7ef4ac0.jpg \n",
+ " extracting: valid/images/FishDataset212_png.rf.3fe283d944a6f5623c7893d1181ac573.jpg \n",
+ " extracting: valid/images/FishDataset178_png.rf.3fd389405e61c56141161c6295a2de16.jpg \n",
+ " extracting: valid/images/FishDataset64_png.rf.31df7b2ede677a1c10e94ec5629fb99e.jpg \n",
+ " extracting: valid/images/FishDataset395_png.rf.5869b76622a51c4be8e2fc12cb370b13.jpg \n",
+ " extracting: valid/images/FishDataset524_png.rf.324c84287cbaa7e8ae86813c1f74dbc9.jpg \n",
+ " extracting: valid/images/FishDataset231_png.rf.4156da7001a1e44c7db3d52427b6823d.jpg \n",
+ " extracting: valid/images/FishDataset181_png.rf.323cd2db0c272076d72d2481a964c488.jpg \n",
+ " extracting: valid/images/FishDataset106_png.rf.3c2df70ec08702f3827f7b644eb3d4b7.jpg \n",
+ " extracting: valid/images/FishDataset289_png.rf.34a948c5158dd0b02de1c0ed6ec521af.jpg \n",
+ " extracting: valid/images/FishDataset28_png.rf.536eda127a8f8ab7922af1a228a44be9.jpg \n",
+ " extracting: valid/images/FishDataset569_png.rf.4779f7dfe86cc166f5c375ce508c785e.jpg \n",
+ " extracting: valid/images/FishDataset339_png.rf.3724b821054d7086e1afd3b6cbab0bda.jpg \n",
+ " extracting: valid/images/FishDataset589_png.rf.09418edb9dec181b8379afd3136a912b.jpg \n",
+ " extracting: valid/images/FishDataset183_png.rf.53947c7c633f0524790196e61b668238.jpg \n",
+ " extracting: valid/images/FishDataset505_png.rf.43cb6725b06cf15b5e63189103588bb0.jpg \n",
+ " extracting: valid/images/FishDataset594_png.rf.32429ea4f3b722d94ea66ccc8b1a256a.jpg \n",
+ " extracting: valid/images/FishDataset593_png.rf.302ab08878e61d75cc96086a150308d2.jpg \n",
+ " extracting: valid/images/FishDataset397_png.rf.3403e91d3cdb08a4379ed27bba227a79.jpg \n",
+ " extracting: valid/images/FishDataset359_png.rf.36f435a8a6dcd89ab4c10f47378d05ba.jpg \n",
+ " extracting: valid/images/FishDataset134_png.rf.51613dd029d6acff4383eadefd82f26e.jpg \n",
+ " extracting: valid/images/FishDataset184_png.rf.30f729405e182e92f341f58fe4c5fbe3.jpg \n",
+ " extracting: valid/images/FishDataset215_png.rf.5888828f79bc48b58cf8f23fe2cb4927.jpg \n",
+ " extracting: valid/images/FishDataset141_png.rf.57cba5659629e6f677cc68034a4de14c.jpg \n",
+ " extracting: valid/images/FishDataset85_png.rf.5955ff40e3b6181f035c8951ddab5de4.jpg \n",
+ " extracting: valid/images/FishDataset377_png.rf.43a90cbd68b1f74a12dff8550dbcde06.jpg \n",
+ " extracting: valid/images/FishDataset9_png.rf.81ada0c1d1c53c6d21c2e05bee566d3a.jpg \n",
+ " extracting: valid/images/FishDataset420_png.rf.5be621af676b38ab0627f8f5a8cfd3aa.jpg \n",
+ " extracting: valid/images/FishDataset470_png.rf.596ec123be351d4f305d8ee778373372.jpg \n",
+ " extracting: valid/images/FishDataset439_png.rf.5ff558d6cd9849eb416aac2c34752e30.jpg \n",
+ " extracting: valid/images/FishDataset14_png.rf.750f463b0831d23e97316422b433a316.jpg \n",
+ " extracting: valid/images/FishDataset685_png.rf.66a24b2ac99d0b88070bcbbc311fc1e2.jpg \n",
+ " extracting: valid/images/FishDataset171_png.rf.64679742671e981f9443c3370b2c4c48.jpg \n",
+ " extracting: valid/images/FishDataset687_png.rf.66d3b945e7c8765813e69ed86b8e0cb5.jpg \n",
+ " extracting: valid/images/FishDataset727_png.rf.82dfe1579b31eafd6e169d38f84a346a.jpg \n",
+ " extracting: valid/images/FishDataset649_png.rf.645e7505e2b41c3dc1fd676b156ac986.jpg \n",
+ " extracting: valid/images/FishDataset326_png.rf.7ff2d411ad096c6c07e5ff74019f4436.jpg \n",
+ " extracting: valid/images/FishDataset562_png.rf.8154fde7c9a410421080e9bad6529c2c.jpg \n",
+ " extracting: valid/images/FishDataset287_png.rf.8c15b74014054d4e69744938d2fe18a5.jpg \n",
+ " extracting: valid/images/FishDataset230_png.rf.7cff54cf3480b8a7a476583616a447c7.jpg \n",
+ " extracting: valid/images/FishDataset324_png.rf.8294aa1ca11253bf421ecae6daf9b81c.jpg \n",
+ " extracting: valid/images/FishDataset656_png.rf.7dd902a33e0e84a2879a8fd2962db2d7.jpg \n",
+ " extracting: valid/images/FishDataset146_png.rf.6e0ecaae379d1c9a34c7f4a46a49c2a5.jpg \n",
+ " extracting: valid/images/FishDataset164_png.rf.6456b78598908e458a9c0b1638d97b16.jpg \n",
+ " extracting: valid/images/FishDataset1_png.rf.6df666420cbc585396a8ab0554dbe074.jpg \n",
+ " extracting: valid/images/FishDataset557_png.rf.8755b4092c7ce011da00bacd7a0f2a79.jpg \n",
+ " extracting: valid/images/FishDataset598_png.rf.7d187217411e893fec24c3a08120a461.jpg \n",
+ " extracting: valid/images/FishDataset448_png.rf.711bf2cd7aca86679ab9054224663877.jpg \n",
+ " extracting: valid/images/FishDataset710_png.rf.8cd9feef86eefa3a7778dda89c90db13.jpg \n",
+ " extracting: valid/images/FishDataset154_png.rf.6abb9c8620091d8250bdb26774c74aaa.jpg \n",
+ " extracting: valid/images/FishDataset297_png.rf.76e00989ed4dc7c3201515d692e5907f.jpg \n",
+ " extracting: valid/images/FishDataset464_png.rf.8cf15e55deda32dec555606b297cca3a.jpg \n",
+ " extracting: valid/images/FishDataset479_png.rf.9374bba2e224425dc2a2823f53b8be5d.jpg \n",
+ " extracting: valid/images/FishDataset116_png.rf.8eaedec536525f31d2ceaf7821ba996e.jpg \n",
+ " extracting: valid/images/FishDataset506_png.rf.8f59a996331f635527dc6b63275fd9c8.jpg \n",
+ " extracting: valid/images/FishDataset74_png.rf.8590d72b399b1ecdc975a75ab0ab41a1.jpg \n",
+ " extracting: valid/images/FishDataset123_png.rf.a809d029e5f4953e0c558b178b5d1e6a.jpg \n",
+ " extracting: valid/images/FishDataset322_png.rf.937552a43b6e99e71985a3b19efd3921.jpg \n",
+ " extracting: valid/images/FishDataset66_png.rf.920478136d61148ac0bcaf0dd35e9afd.jpg \n",
+ " extracting: valid/images/FishDataset686_png.rf.a873fb2ad8fde5523d60dd2851d88364.jpg \n",
+ " extracting: valid/images/FishDataset328_png.rf.9b2431831a9f1464001d2aa82b83be8f.jpg \n",
+ " extracting: valid/images/FishDataset529_png.rf.ae1bebe3f6ef7edf895f47c7bbf4c0c9.jpg \n",
+ " extracting: valid/images/FishDataset601_png.rf.acb7e34be9a3cd0547157dfd38f23883.jpg \n",
+ " extracting: valid/images/FishDataset511_png.rf.a6c2988ef0f31364df3a7eeca4c2e799.jpg \n",
+ " extracting: valid/images/FishDataset304_png.rf.9a30a88b7599eea91d99ad747233309b.jpg \n",
+ " extracting: valid/images/FishDataset665_png.rf.a606e97b074a1dcd6df8190d22410604.jpg \n",
+ " extracting: valid/images/FishDataset262_png.rf.a8d779f36f7278b95743dc3b0704a9d2.jpg \n",
+ " extracting: valid/images/FishDataset597_png.rf.9b1cc30e5aa721fa0576f4ed3c67b6a9.jpg \n",
+ " extracting: valid/images/FishDataset408_png.rf.ab129a0d7bfc9702386345418aaded34.jpg \n",
+ " extracting: valid/images/FishDataset473_png.rf.aece17afb0da8811b6b3f4b2c1fd8ed2.jpg \n",
+ " extracting: valid/images/FishDataset577_png.rf.b56a8b093f0654983bdc4ad4c38cdc1f.jpg \n",
+ " extracting: valid/images/FishDataset143_png.rf.a3bd1c09f820d3f3c671f1a7a99cb6f8.jpg \n",
+ " extracting: valid/images/FishDataset623_png.rf.9aa53d82084d417bf663a6e862a29873.jpg \n",
+ " extracting: valid/images/FishDataset79_png.rf.a067f2c4e9985060fca778072d9c968a.jpg \n",
+ " extracting: valid/images/FishDataset334_png.rf.ac9cf73d79f55630dd60fb6c6f76c6a2.jpg \n",
+ " extracting: valid/images/FishDataset413_png.rf.99ec38bd81879ab41f418efa907c0f6f.jpg \n",
+ " extracting: valid/images/FishDataset560_png.rf.b7d93cd5acd14605d0f00bf30cdefead.jpg \n",
+ " extracting: valid/images/FishDataset654_png.rf.b82971dc6bc3738a26fb90f32aa6e736.jpg \n",
+ " extracting: valid/images/FishDataset462_png.rf.c7cff5172dfc3a8d634d5394ef2c4663.jpg \n",
+ " extracting: valid/images/FishDataset122_png.rf.b8d64dbdb80955eb52ba1a0254311c76.jpg \n",
+ " extracting: valid/images/FishDataset550_png.rf.b9ace8e14d9c25ebad59dbb9edf34807.jpg \n",
+ " extracting: valid/images/FishDataset447_png.rf.d6c8666ae07deeff14b86273210c807f.jpg \n",
+ " extracting: valid/images/FishDataset76_png.rf.d29bc960fc88b1d05430cad771458c33.jpg \n",
+ " extracting: valid/images/FishDataset214_png.rf.d7e848309330e1380087835c0e2b475b.jpg \n",
+ " extracting: valid/images/FishDataset651_png.rf.d9ba64f4552202d6f3ceb7eaf821326a.jpg \n",
+ " extracting: valid/images/FishDataset354_png.rf.bf516323b000b02be03917759830e95a.jpg \n",
+ " extracting: valid/images/FishDataset6_png.rf.ba68ea642dfc5816fbfaddfdf78ce01f.jpg \n",
+ " extracting: valid/images/FishDataset47_png.rf.dcd82bc26819f3668accec05402db85f.jpg \n",
+ " extracting: valid/images/FishDataset157_png.rf.e0b8d695c3ab7d5286d3753fce9e27f9.jpg \n",
+ " extracting: valid/images/FishDataset712_png.rf.b7f816be47d4d3cb59cbd237e628eb4a.jpg \n",
+ " extracting: valid/images/FishDataset396_png.rf.e1995c3c605d209500799afd58fcbad9.jpg \n",
+ " extracting: valid/images/FishDataset733_png.rf.cf8aa1306691c98da4371fff9ac372a6.jpg \n",
+ " extracting: valid/images/FishDataset269_png.rf.d942f6b1110ee70fdc6d8a350027a6c2.jpg \n",
+ " extracting: valid/images/FishDataset156_png.rf.dc3f7dbd88801b87ac4a6dd3015af847.jpg \n",
+ " extracting: valid/images/FishDataset389_png.rf.e178c60651cd23898d0e0f2809116137.jpg \n",
+ " extracting: valid/images/FishDataset451_png.rf.c572b2af590b21198a77f516723cf207.jpg \n",
+ " extracting: valid/images/FishDataset256_png.rf.e1fd9519199152fac721dca6651d58bc.jpg \n",
+ " extracting: valid/images/FishDataset445_png.rf.e49948c44a0632595dc065c54477f656.jpg \n",
+ " extracting: valid/images/FishDataset56_png.rf.e726e53ce5d5eb5f91ad9673d9704dd2.jpg \n",
+ " extracting: valid/images/FishDataset275_png.rf.d9254cd5fb2bc71f893d4bd36c41b050.jpg \n",
+ " extracting: valid/images/FishDataset628_png.rf.f4aec33cec6dad503c848bc69f7489f1.jpg \n",
+ " extracting: valid/images/FishDataset356_png.rf.f374ded7ee23feef183185919a99719f.jpg \n",
+ " extracting: valid/images/FishDataset139_png.rf.f5cfdbb0d2f102b1c6f7dc993f942e96.jpg \n",
+ " extracting: valid/images/FishDataset558_png.rf.fc964011e52b3c78ee1d58d2a3e23856.jpg \n",
+ " extracting: valid/images/FishDataset661_png.rf.f6fcca5667a5529d686ba9ba25d84994.jpg \n",
+ " extracting: valid/images/FishDataset203_png.rf.ec6f37843b27a1889b8f2632cb6c3b44.jpg \n",
+ " extracting: valid/images/FishDataset3_png.rf.e79fa2b4688b15cbbdc158ddf3ed228f.jpg \n",
+ " extracting: valid/images/FishDataset609_png.rf.f21901b72c882d2f29a2e7bc82b7c7c6.jpg \n",
+ " extracting: valid/images/FishDataset416_png.rf.eecddc5e3b5ae660269f6ae58fa71dae.jpg \n",
+ " extracting: valid/images/FishDataset186_png.rf.d515cd35357f35a8a4fa7cf7c95ba0b4.jpg \n",
+ " extracting: valid/images/FishDataset679_png.rf.eacf27b9f45042c2fb2b415185fabdf9.jpg \n",
+ " extracting: valid/images/FishDataset113_png.rf.f3f1336784ace6f1f4379b0f6e49c041.jpg \n",
+ " extracting: valid/images/FishDataset711_png.rf.f56d02b4f688f9aecfae308f84fd57ff.jpg \n",
+ " extracting: valid/images/FishDataset170_png.rf.eb19fd39f035ddbaea277e3cd3b76e7e.jpg \n",
+ " extracting: valid/images/FishDataset393_png.rf.f8291161b0a0ccff5084ff35dee87e8d.jpg \n",
+ " extracting: test/labels/FishDataset285_png.rf.0347c3e3a6e5c499b8e3f9ae5c4f664b.txt \n",
+ " extracting: test/labels/FishDataset97_png.rf.08dc1166b726d41c5ab5818aacb31117.txt \n",
+ " extracting: test/labels/FishDataset333_png.rf.16f28806c911794b9a020becf6935655.txt \n",
+ " extracting: test/labels/FishDataset49_png.rf.116425bda8e5d2ac5776b82d8e2f9017.txt \n",
+ " extracting: test/labels/FishDataset162_png.rf.354325c6557e4f6259558981986350fe.txt \n",
+ " extracting: test/labels/FishDataset12_png.rf.0e9552773539fe6d8efb65d38c2dff53.txt \n",
+ " extracting: test/labels/FishDataset82_png.rf.2f27029ed3413cd804c460dda0fe8502.txt \n",
+ " extracting: test/labels/FishDataset647_png.rf.08c3efa78a0dc706afa9937f406f2792.txt \n",
+ " extracting: test/labels/FishDataset650_png.rf.1558385c8541084733affba4b41442ea.txt \n",
+ " extracting: test/labels/FishDataset592_png.rf.3bb2e6e25f001947ed57904e87452250.txt \n",
+ " extracting: test/labels/FishDataset531_png.rf.1ebdbec2d1c2c87e19dd2a52144e4a40.txt \n",
+ " extracting: test/labels/FishDataset515_png.rf.35d3878ff02d89912917b82c9e37d635.txt \n",
+ " extracting: test/labels/FishDataset273_png.rf.33e3f0ed0510ee672ad92365db445e0f.txt \n",
+ " extracting: test/labels/FishDataset352_png.rf.0c0b4d38e3a8f8301c489a9b40664f05.txt \n",
+ " extracting: test/labels/FishDataset18_png.rf.1734ed272487c8466746e6847cf72520.txt \n",
+ " extracting: test/labels/FishDataset704_png.rf.366350cf1a420de0abb2bdda3afd2368.txt \n",
+ " extracting: test/labels/FishDataset277_png.rf.3fa48b7cc1d0c0305e2f3e7587db733e.txt \n",
+ " extracting: test/labels/FishDataset461_png.rf.28cbe452cd53d25c5bb13f3da4e030f2.txt \n",
+ " extracting: test/labels/FishDataset198_png.rf.2dcf38d0f91863c48487aae1e499dd03.txt \n",
+ " extracting: test/labels/FishDataset606_png.rf.1498b48b3d81dd1331ca6f3eeea69d04.txt \n",
+ " extracting: test/labels/FishDataset496_png.rf.262001d126b5c81f624cc35c32ce5ca1.txt \n",
+ " extracting: test/labels/FishDataset523_png.rf.244b895ed97cecb1b4635c9af31e2a19.txt \n",
+ " extracting: test/labels/FishDataset245_png.rf.195d86cd2b852968fe08eace52a3bcff.txt \n",
+ " extracting: test/labels/FishDataset555_png.rf.1e7d1767f4bb685cc912ae54a622edfd.txt \n",
+ " extracting: test/labels/FishDataset284_png.rf.5ff7a82abb843e57ad2e0c7ad058bf0c.txt \n",
+ " extracting: test/labels/FishDataset286_png.rf.523ef92dc24ebb0ae2ace23af446fe7e.txt \n",
+ " extracting: test/labels/FishDataset87_png.rf.422b00896a00c6200894ba4ebd33c142.txt \n",
+ " extracting: test/labels/FishDataset382_png.rf.793efe3fd9765842b576cf2316619149.txt \n",
+ " extracting: test/labels/FishDataset22_png.rf.69c747b83a12524cd4f4ef29a383ba20.txt \n",
+ " extracting: test/labels/FishDataset33_png.rf.7152a631f8e318747f2f5c7e9bf655d6.txt \n",
+ " extracting: test/labels/FishDataset714_png.rf.791e8856cda1d62ddf30af6f3e965f53.txt \n",
+ " extracting: test/labels/FishDataset2_png.rf.a52359a346e97fe3082f2f4d62f1db2f.txt \n",
+ " extracting: test/labels/FishDataset618_png.rf.76465cb0b7ed530026e0829f5de46804.txt \n",
+ " extracting: test/labels/FishDataset119_png.rf.579cfc82cd741094e78867b7432130d2.txt \n",
+ " extracting: test/labels/FishDataset191_png.rf.4fda446f9e75c09dd56c5efb039b3103.txt \n",
+ " extracting: test/labels/FishDataset27_png.rf.9c000d6ca75f5ede5965f79f3b8cd7f6.txt \n",
+ " extracting: test/labels/FishDataset221_png.rf.118193f70dac525b8ea790ad60ffa46f.txt \n",
+ " extracting: test/labels/FishDataset63_png.rf.a0f5dfb4a49a3aa89cb71cab60b95870.txt \n",
+ " extracting: test/labels/FishDataset210_png.rf.7ab877d817203aee6c86971208b939f8.txt \n",
+ " extracting: test/labels/FishDataset508_png.rf.93a09d5c38e1605f9d9417f04f6fa171.txt \n",
+ " extracting: test/labels/FishDataset61_png.rf.7fe5ed591f1f11e802520a39ba70faaf.txt \n",
+ " extracting: test/labels/FishDataset567_png.rf.6db534ae0e8f17b7c4b24d76d5210543.txt \n",
+ " extracting: test/labels/FishDataset431_png.rf.4ad41935d7d36f42d0e5b545a27979e7.txt \n",
+ " extracting: test/labels/FishDataset247_png.rf.44fdff523a695bf804e3d9aacb629226.txt \n",
+ " extracting: test/labels/FishDataset528_png.rf.8bf9e3b81f73f78915b48bf9e94c7b7c.txt \n",
+ " extracting: test/labels/FishDataset250_png.rf.da0db5811daeae05055d983c4e199bc1.txt \n",
+ " extracting: test/labels/FishDataset705_png.rf.c33ff1b481d1a0e76afb88096d610b30.txt \n",
+ " extracting: test/labels/FishDataset441_png.rf.e354b4d1e476515b0efef03aed8ca118.txt \n",
+ " extracting: test/labels/FishDataset564_png.rf.de34c7b902827dffbae77c444ef1c5b2.txt \n",
+ " extracting: test/labels/FishDataset217_png.rf.ff47846f61422653a6400898c4fa304b.txt \n",
+ " extracting: test/labels/FishDataset495_png.rf.a80fc5fbd870ff313a28a0a72491636b.txt \n",
+ " extracting: test/labels/FishDataset412_png.rf.cfc4797047e1e8087fc64b5723323fad.txt \n",
+ " extracting: test/labels/FishDataset465_png.rf.d68a084caed1cc6b2a177bd88539a404.txt \n",
+ " extracting: test/labels/FishDataset648_png.rf.b5131e066d7956b299ccc388a5ba2c00.txt \n",
+ " extracting: test/labels/FishDataset223_png.rf.d8aa28b1def86c2b00f47598cf62553d.txt \n",
+ " extracting: test/labels/FishDataset662_png.rf.b0d63ef79b5be5905cb7a7a957176c81.txt \n",
+ " extracting: test/labels/FishDataset238_png.rf.d577969f3570aa952ccc8be42c0f04ef.txt \n",
+ " extracting: test/labels/FishDataset415_png.rf.d1b073c8353b2dc856ac575a5274f1ca.txt \n",
+ " extracting: test/labels/FishDataset282_png.rf.cba0794f06f38d750c368be765efd32d.txt \n",
+ " extracting: test/labels/FishDataset224_png.rf.f7d8177691734a27a468316b93c9ec24.txt \n",
+ " extracting: test/labels/FishDataset534_png.rf.edbb4ef30b323e0d0727bff9cfee03ad.txt \n",
+ " extracting: test/labels/FishDataset586_png.rf.446f3c4f4099fa7c4e383262966192ed.txt \n",
+ " extracting: test/labels/FishDataset374_png.rf.8bcc84700a3e8a53a5b3981c2b6b61ee.txt \n",
+ " extracting: test/labels/FishDataset689_png.rf.5a039d72bce6ec76fc64565788a4ac37.txt \n",
+ " extracting: test/labels/FishDataset357_png.rf.eed3be717c94d2e56a15c7479ebd0b68.txt \n",
+ " extracting: test/labels/FishDataset489_png.rf.ef5adf49a1af2a57846ab67591eab5c2.txt \n",
+ " extracting: test/labels/FishDataset271_png.rf.fe02205b4ab87af8d624379168e206a0.txt \n",
+ " extracting: test/labels/FishDataset443_png.rf.68c7c13cd5acad16886eeec0893cf372.txt \n",
+ " extracting: data.yaml \n",
+ " extracting: train/labels/FishDataset581_png.rf.0198564aece196ecc9c12d88e9e60bbd.txt \n",
+ " extracting: train/labels/FishDataset612_png.rf.017c846565ef58883159be5879f5ff4d.txt \n",
+ " extracting: train/labels/FishDataset372_png.rf.0727dedf4627c9deb38ef07d1ddc8f0b.txt \n",
+ " extracting: train/labels/FishDataset732_png.rf.01ac13aef47919603b0d8f5de04c36d2.txt \n",
+ " extracting: train/labels/FishDataset502_png.rf.032db6c0cc3d9b8d2e64729f07644df4.txt \n",
+ " extracting: train/labels/FishDataset457_png.rf.0b29fb5a6a92d50b8ebe3b1969b40465.txt \n",
+ " extracting: train/labels/FishDataset672_png.rf.04e177f594feb541bc32132101f8860b.txt \n",
+ " extracting: train/labels/FishDataset16_png.rf.03e24199d086ca6c30817e44455602b1.txt \n",
+ " extracting: train/labels/FishDataset46_png.rf.025c35ba32a529e4524e3531fe709a3a.txt \n",
+ " extracting: train/labels/FishDataset525_png.rf.0a33f921738dd58ba4561599771dd088.txt \n",
+ " extracting: train/labels/FishDataset616_png.rf.0782ade950271b2f4f87d9cdaf4e24de.txt \n",
+ " extracting: train/labels/FishDataset257_png.rf.0d7b652ab789b35fe29ce423507a3b00.txt \n",
+ " extracting: train/labels/FishDataset197_png.rf.09a6c80bf8a5cf1309ac5558a4dd1152.txt \n",
+ " extracting: train/labels/FishDataset363_png.rf.0ba122ccc0045b5ef1a0cd0801a7053c.txt \n",
+ " extracting: train/labels/FishDataset96_png.rf.0c2989c2bb22222f8807f1edb235eae9.txt \n",
+ " extracting: train/labels/FishDataset603_png.rf.0543a08ef0bc0b96b3e48e6aa1ea5415.txt \n",
+ " extracting: train/labels/FishDataset279_png.rf.0a8c007964b9e3be2492ffb1edcd4acb.txt \n",
+ " extracting: train/labels/FishDataset177_png.rf.054111ae6659acee68a19cf2385cf277.txt \n",
+ " extracting: train/labels/FishDataset613_png.rf.032349e80d4bc951fdbfa935ba41157e.txt \n",
+ " extracting: train/labels/FishDataset219_png.rf.06ef52d272480b330caa930ccabc4f95.txt \n",
+ " extracting: train/labels/FishDataset513_png.rf.0be1235d2dcbfacff7577f3a2de462c7.txt \n",
+ " extracting: train/labels/FishDataset332_png.rf.0e37f3501b3f3908c5e0add299327850.txt \n",
+ " extracting: train/labels/FishDataset68_png.rf.0d4000dead62971d8ae20ea297c99454.txt \n",
+ " extracting: train/labels/FishDataset144_png.rf.0b331762eee5bac6dfa915cf288b38f8.txt \n",
+ " extracting: train/labels/FishDataset668_png.rf.0e4c94a247b8375dbc55c464df4c6193.txt \n",
+ " extracting: train/labels/FishDataset309_png.rf.072dea995d3bd96776c86f4d1944d722.txt \n",
+ " extracting: train/labels/FishDataset107_png.rf.0cb31f757ba4f40a43bf84e75ee4e499.txt \n",
+ " extracting: train/labels/FishDataset148_png.rf.0fb90ad3ebe815c6a67e6999fe65a013.txt \n",
+ " extracting: train/labels/FishDataset700_png.rf.0e3b881950fdbb0832532ad58547ba6f.txt \n",
+ " extracting: train/labels/FishDataset735_png.rf.0f12dab2c1198277d65bfca4c0977d19.txt \n",
+ " extracting: train/labels/FishDataset646_png.rf.10a5be65d3440ba714c4eb5279239dde.txt \n",
+ " extracting: train/labels/FishDataset128_png.rf.0fdb8c2eea95620285fe6fbc4e555308.txt \n",
+ " extracting: train/labels/FishDataset681_png.rf.1305734c31b3015f62c497e6246bf2c8.txt \n",
+ " extracting: train/labels/FishDataset591_png.rf.1aca8f8b176eba916a3df8ac0be51bbf.txt \n",
+ " extracting: train/labels/FishDataset695_png.rf.140aefd2afd7975a9ed26df941c25394.txt \n",
+ " extracting: train/labels/FishDataset149_png.rf.192a4f4afd9377a1860f00589097cda9.txt \n",
+ " extracting: train/labels/FishDataset112_png.rf.1940c7569f1872ee0427666e65fff20c.txt \n",
+ " extracting: train/labels/FishDataset717_png.rf.16b08a531c5a0e1b8e5307caeebd43e9.txt \n",
+ " extracting: train/labels/FishDataset467_png.rf.1b41ba1b629d0513bb4e2a805c4b5f51.txt \n",
+ " extracting: train/labels/FishDataset276_png.rf.1664bc19d3e66e81570a7b4fb874c94c.txt \n",
+ " extracting: train/labels/FishDataset86_png.rf.1ef08725b04ec8bfcdc2549628e1857c.txt \n",
+ " extracting: train/labels/FishDataset599_png.rf.1fce39e3487775d976414393aad45582.txt \n",
+ " extracting: train/labels/FishDataset719_png.rf.1b59214e6690f7b87a12aeb5fe65547e.txt \n",
+ " extracting: train/labels/FishDataset484_png.rf.1f954548201dbe221fe331e45777fa83.txt \n",
+ " extracting: train/labels/FishDataset235_png.rf.1fdec6143d70e2459f61569d47c2b3b7.txt \n",
+ " extracting: train/labels/FishDataset440_png.rf.167015e6053222dfad9df498aee491df.txt \n",
+ " extracting: train/labels/FishDataset703_png.rf.1f76cdd7a8e14f939c4e9c48154f63de.txt \n",
+ " extracting: train/labels/FishDataset512_png.rf.131073ae6767265599f45e78b38864ab.txt \n",
+ " extracting: train/labels/FishDataset510_png.rf.15c72ea5b3ca75900ced6aea6973a9a1.txt \n",
+ " extracting: train/labels/FishDataset487_png.rf.1abeaaa537df1a959b58875ec2257044.txt \n",
+ " extracting: train/labels/FishDataset138_png.rf.1d5f67cd57ec18613e936615ffa95449.txt \n",
+ " extracting: train/labels/FishDataset303_png.rf.18ec91fff2c2958339b0f06d4cee5054.txt \n",
+ " extracting: train/labels/FishDataset120_png.rf.1859ce58b263cd28259e24a3ad6df3f6.txt \n",
+ " extracting: train/labels/FishDataset399_png.rf.1b7aac89901adbd1a97085a5101d21f1.txt \n",
+ " extracting: train/labels/FishDataset428_png.rf.184973bf3892e3429eb68a44695fc5c5.txt \n",
+ " extracting: train/labels/FishDataset226_png.rf.204ee805892ba79c885e8b797798bb99.txt \n",
+ " extracting: train/labels/FishDataset682_png.rf.1ea74b7167edc69e247300e7983e2f85.txt \n",
+ " extracting: train/labels/FishDataset300_png.rf.22fd959a44fdb8b5af84f3331ac82fc1.txt \n",
+ " extracting: train/labels/FishDataset165_png.rf.211445d5f5e6443a65e85a1c87cdd81b.txt \n",
+ " extracting: train/labels/FishDataset636_png.rf.22d13d81b091132bc534cd54a2377995.txt \n",
+ " extracting: train/labels/FishDataset232_png.rf.2594f8b0c96cfb35ef159d8db8edd560.txt \n",
+ " extracting: train/labels/FishDataset664_png.rf.259a38f4f53e721fda5db87aea4b0bda.txt \n",
+ " extracting: train/labels/FishDataset360_png.rf.2374d5532a4ae1dbea6c768578d7587d.txt \n",
+ " extracting: train/labels/FishDataset518_png.rf.246ae4676eab17fc46f414157448caef.txt \n",
+ " extracting: train/labels/FishDataset103_png.rf.25d53b8bfa2a5863f9209b1664988551.txt \n",
+ " extracting: train/labels/FishDataset101_png.rf.2484890e9b42e3df3283c919634b312f.txt \n",
+ " extracting: train/labels/FishDataset133_png.rf.2790757cc8281fc4941bad559ecb5a9d.txt \n",
+ " extracting: train/labels/FishDataset426_png.rf.27090e2f3b75e87f2d6ce8e4b24ce8f4.txt \n",
+ " extracting: train/labels/FishDataset147_png.rf.279d1840b79678b94998761088cd2702.txt \n",
+ " extracting: train/labels/FishDataset509_png.rf.265ea1f9a9adf0f94d8b096b462d8884.txt \n",
+ " extracting: train/labels/FishDataset75_png.rf.259b311c67ecefb411a096f76c5a4cbf.txt \n",
+ " extracting: train/labels/FishDataset242_png.rf.26d2fe91e54e29065da38413e3927543.txt \n",
+ " extracting: train/labels/FishDataset240_png.rf.24770f7dd486d7275e4969450eb8a3dd.txt \n",
+ " extracting: train/labels/FishDataset95_png.rf.27abdc912e779f519608f7e6ec4a043e.txt \n",
+ " extracting: train/labels/FishDataset342_png.rf.24cfbcbf3ec11fda45eb86ce60bf7017.txt \n",
+ " extracting: train/labels/FishDataset630_png.rf.26f18053834f97b5ed1ba20bd7de17de.txt \n",
+ " extracting: train/labels/FishDataset617_png.rf.27e62442808b275817a666bd37a01f1d.txt \n",
+ " extracting: train/labels/FishDataset100_png.rf.267265aadce2e0c1d76ce7e5a08bc599.txt \n",
+ " extracting: train/labels/FishDataset565_png.rf.278523639dbed08172256d1045c6fccc.txt \n",
+ " extracting: train/labels/FishDataset543_png.rf.280b674253d7805dc188c92b7c7ac1b6.txt \n",
+ " extracting: train/labels/FishDataset401_png.rf.28a96f5489f8b0904440fa222edf26f9.txt \n",
+ " extracting: train/labels/FishDataset713_png.rf.2ce47d8440ae0382524be117398f2b9a.txt \n",
+ " extracting: train/labels/FishDataset433_png.rf.2c2616def08b098c8480a265a935c02d.txt \n",
+ " extracting: train/labels/FishDataset621_png.rf.29082716b9b8d38b93757db0c4a47b3a.txt \n",
+ " extracting: train/labels/FishDataset394_png.rf.2bdaae41144ed7feb1d98654a685cbd2.txt \n",
+ " extracting: train/labels/FishDataset407_png.rf.3124d1019f5947e8bd625de8d63a6999.txt \n",
+ " extracting: train/labels/FishDataset718_png.rf.2b1fff8cbafe7f1d9aa8cb19c0adb750.txt \n",
+ " extracting: train/labels/FishDataset688_png.rf.2c26011d4de9b46858e01b0e9b478241.txt \n",
+ " extracting: train/labels/FishDataset11_png.rf.34e395871a5de43cda8e95f9c01b7dc9.txt \n",
+ " extracting: train/labels/FishDataset634_png.rf.2f2a28de24ec1bfbe3878381bc362e73.txt \n",
+ " extracting: train/labels/FishDataset680_png.rf.2fc28defa05e8166ccb623d95744a155.txt \n",
+ " extracting: train/labels/FishDataset350_png.rf.287115a1358d7092e27c99b1abd6a27d.txt \n",
+ " extracting: train/labels/FishDataset131_png.rf.291f02d40e9cc15a18858e5518f92091.txt \n",
+ " extracting: train/labels/FishDataset544_png.rf.2a7aa8b8c9c5016adab8a6eb49531eb0.txt \n",
+ " extracting: train/labels/FishDataset423_png.rf.2d9f91243a64dd5ebbee264faddd064a.txt \n",
+ " extracting: train/labels/FishDataset121_png.rf.34c60170993ae4aca49e703d6e5a3bef.txt \n",
+ " extracting: train/labels/FishDataset721_png.rf.2eb96420b7b47037174ab749e5b6907e.txt \n",
+ " extracting: train/labels/FishDataset600_png.rf.2d5a9eb2f848d4a2642424a85401efde.txt \n",
+ " extracting: train/labels/FishDataset253_png.rf.2e6137bc938c631941cb97890bbedfeb.txt \n",
+ " extracting: train/labels/FishDataset731_png.rf.28707eab723cc7f5742c346d727176db.txt \n",
+ " extracting: train/labels/FishDataset516_png.rf.2fb22117dd0ccf55238cf2bccd92bc48.txt \n",
+ " extracting: train/labels/FishDataset500_png.rf.2b69a3d9efb25af5926342e62d0e8c08.txt \n",
+ " extracting: train/labels/FishDataset98_png.rf.3482e60b77027245650631e12507fbfe.txt \n",
+ " extracting: train/labels/FishDataset663_png.rf.3626f785b7e25a4c716d2cd5a9f9ba7d.txt \n",
+ " extracting: train/labels/FishDataset497_png.rf.37dd1c7ee31879fcc3437523333079f4.txt \n",
+ " extracting: train/labels/FishDataset145_png.rf.3b26902f4c86e025aa175daf620bf314.txt \n",
+ " extracting: train/labels/FishDataset620_png.rf.371de3dde04d059a3679a5311a6fe92a.txt \n",
+ " extracting: train/labels/FishDataset458_png.rf.3ca448a1f2215a36138c1a9949d7b678.txt \n",
+ " extracting: train/labels/FishDataset258_png.rf.36fb144881485b932e1e7fe6adafcbbd.txt \n",
+ " extracting: train/labels/FishDataset585_png.rf.3c6099a837573a012685b31ecc1ffc0f.txt \n",
+ " extracting: train/labels/FishDataset643_png.rf.3d1fc77027f593e871b15f737a528fa1.txt \n",
+ " extracting: train/labels/FishDataset614_png.rf.3535f15d1311a566e30c25ab92f8bc72.txt \n",
+ " extracting: train/labels/FishDataset308_png.rf.352616dbe5e21b847f8ba3841b7c8efe.txt \n",
+ " extracting: train/labels/FishDataset432_png.rf.38f464f15283e1012e9e36a49bd0047e.txt \n",
+ " extracting: train/labels/FishDataset296_png.rf.3bbd3de83510ea39dd038eb0213414a5.txt \n",
+ " extracting: train/labels/FishDataset503_png.rf.377c1cc5132bd5ff11243e9cc4e7e3ec.txt \n",
+ " extracting: train/labels/FishDataset561_png.rf.3d426b1594570a7f0fdf15a954dc7258.txt \n",
+ " extracting: train/labels/FishDataset403_png.rf.3f47713fdba8d72c02053d3b983272f8.txt \n",
+ " extracting: train/labels/FishDataset635_png.rf.36c5b15953151b5855df615f926679b4.txt \n",
+ " extracting: train/labels/FishDataset335_png.rf.3d25ccbed8b66ceb27b7a4cf6252d7e9.txt \n",
+ " extracting: train/labels/FishDataset158_png.rf.3b5dd7fd94b1e91c1af290d1cfd74655.txt \n",
+ " extracting: train/labels/FishDataset62_png.rf.3b1c8b1a873d40bdc6d04caa433862a8.txt \n",
+ " extracting: train/labels/FishDataset320_png.rf.3cd4acd83bb8f8f3e00af943404fe3ec.txt \n",
+ " extracting: train/labels/FishDataset446_png.rf.39036e922df1945bc6813945d94aead3.txt \n",
+ " extracting: train/labels/FishDataset50_png.rf.396fc8835b2a163419983bb8c861b6e6.txt \n",
+ " extracting: train/labels/FishDataset260_png.rf.3e20518debda72d629848486b3aca964.txt \n",
+ " extracting: train/labels/FishDataset21_png.rf.4036bcbe0306de31cb848c5fbff6b8a5.txt \n",
+ " extracting: train/labels/FishDataset385_png.rf.3fd8a76401bcd8359a6c2b40d301f0f7.txt \n",
+ " extracting: train/labels/FishDataset254_png.rf.3f7e4b9da59f96fda8665912c683470a.txt \n",
+ " extracting: train/labels/FishDataset657_png.rf.4659227991411fb8504aebc42ba28775.txt \n",
+ " extracting: train/labels/FishDataset466_png.rf.493945b150b5433ff50f13580b1464ef.txt \n",
+ " extracting: train/labels/FishDataset194_png.rf.42c3332a97c64ee22577a7a4fb72738b.txt \n",
+ " extracting: train/labels/FishDataset602_png.rf.44c5de413f4f9430edccfa56c607901b.txt \n",
+ " extracting: train/labels/FishDataset190_png.rf.44a24023ba96ac327dd1988c4f5d4141.txt \n",
+ " extracting: train/labels/FishDataset310_png.rf.457a3ab412770a2c2e93456eeca0d7a4.txt \n",
+ " extracting: train/labels/FishDataset678_png.rf.43a01b34ada4d4ebdc090fd796b3c37d.txt \n",
+ " extracting: train/labels/FishDataset692_png.rf.41efbe0aad3de264608b4fff527cd662.txt \n",
+ " extracting: train/labels/FishDataset274_png.rf.448fc214e56b6a1fa840dd9d7ad2fb26.txt \n",
+ " extracting: train/labels/FishDataset526_png.rf.4448bafde3713dde6319345273a9c113.txt \n",
+ " extracting: train/labels/FishDataset459_png.rf.481333f7e100b18d0c8aae890e3d20f3.txt \n",
+ " extracting: train/labels/FishDataset481_png.rf.40e948df5ec65a1c1fc3495fff194867.txt \n",
+ " extracting: train/labels/FishDataset346_png.rf.45e49f4f38439ce22c24b32e70921b45.txt \n",
+ " extracting: train/labels/FishDataset720_png.rf.4341ce6e4f91a99efe15d015559107b3.txt \n",
+ " extracting: train/labels/FishDataset722_png.rf.437e6a682b6b2c111b00e28a6225ec37.txt \n",
+ " extracting: train/labels/FishDataset468_png.rf.469990907ff6ac5b386994e6c6ead89f.txt \n",
+ " extracting: train/labels/FishDataset129_png.rf.48c86509be9deb63b34dd1522bc60a26.txt \n",
+ " extracting: train/labels/FishDataset737_png.rf.420299e31f605648b9b3ce3e87def088.txt \n",
+ " extracting: train/labels/FishDataset336_png.rf.465dd1f0d1c72165b533ba41daaf1490.txt \n",
+ " extracting: train/labels/FishDataset307_png.rf.479b31ce68988d3dde22df40b7fb6e3e.txt \n",
+ " extracting: train/labels/FishDataset111_png.rf.48e867613b10f622921d4637bf99695d.txt \n",
+ " extracting: train/labels/FishDataset670_png.rf.54df9a77636d4a4f020fdadf7a4621ee.txt \n",
+ " extracting: train/labels/FishDataset295_png.rf.4b635caea2eb01d1503a1641ee448dc0.txt \n",
+ " extracting: train/labels/FishDataset60_png.rf.4c8759beb4871c9ab754c41e3c678f62.txt \n",
+ " extracting: train/labels/FishDataset69_png.rf.4f71f4b1bdeba3b4ea27aef053b073cc.txt \n",
+ " extracting: train/labels/FishDataset172_png.rf.5068e23bd804bfef832a8c1cf3ba609a.txt \n",
+ " extracting: train/labels/FishDataset554_png.rf.4c358d6b15a97e9d73c44ddf0d0c5908.txt \n",
+ " extracting: train/labels/FishDataset566_png.rf.5274980b81022f1a0be4804da3afdb9b.txt \n",
+ " extracting: train/labels/FishDataset571_png.rf.4d4e08d890286a4f3ebfdf2e33ffff55.txt \n",
+ " extracting: train/labels/FishDataset259_png.rf.54969dce1c9097c0827e030e88ec629c.txt \n",
+ " extracting: train/labels/FishDataset675_png.rf.561b864864d4dc015b7fc55fef905846.txt \n",
+ " extracting: train/labels/FishDataset536_png.rf.4f20db76175032fe6789ec3ad9d4581c.txt \n",
+ " extracting: train/labels/FishDataset370_png.rf.5477a2be35e48f816e751b3f6fb698eb.txt \n",
+ " extracting: train/labels/FishDataset574_png.rf.56a18956112dcfe4b24988ae23123067.txt \n",
+ " extracting: train/labels/FishDataset631_png.rf.4f6e50ce35b6f728bc033ac6c7d91dc9.txt \n",
+ " extracting: train/labels/FishDataset126_png.rf.52f838e6c87d34c3c92f4226f8a66627.txt \n",
+ " extracting: train/labels/FishDataset449_png.rf.49f6de0aed73da15bd5ffedf45d0a387.txt \n",
+ " extracting: train/labels/FishDataset305_png.rf.5580567982685cbc332cf61342c4ca5a.txt \n",
+ " extracting: train/labels/FishDataset168_png.rf.502ad2106e89319cc27fb5160f09cc0d.txt \n",
+ " extracting: train/labels/FishDataset301_png.rf.53ae1e20418b2e75fcf4cf22761d35fc.txt \n",
+ " extracting: train/labels/FishDataset299_png.rf.526c9ccc83a140723dd89ceff88fb8af.txt \n",
+ " extracting: train/labels/FishDataset535_png.rf.51c0cebf618acded59b2f0acef532b3d.txt \n",
+ " extracting: train/labels/FishDataset176_png.rf.5245c1388206e6acba1dc14d670e9e70.txt \n",
+ " extracting: train/labels/FishDataset81_png.rf.526b743e9fd9dfca89bbb0a10979c5d8.txt \n",
+ " extracting: train/labels/FishDataset70_png.rf.56ef036d1793b1c95f3dfcdfed739538.txt \n",
+ " extracting: train/labels/FishDataset637_png.rf.56cc2bd8fd8e98edf5eb1421dcf3e6df.txt \n",
+ " extracting: train/labels/FishDataset246_png.rf.54650f33b1f07ab463f13842202c096d.txt \n",
+ " extracting: train/labels/FishDataset114_png.rf.577bbe46752bb5c3d4b742d8cfae427d.txt \n",
+ " extracting: train/labels/FishDataset132_png.rf.5f370554865ad9880ff444f2d7472721.txt \n",
+ " extracting: train/labels/FishDataset313_png.rf.60136ce8eda6a843996797e578e4d392.txt \n",
+ " extracting: train/labels/FishDataset380_png.rf.603c9bc04b1d5a91f7c915a78ebfe961.txt \n",
+ " extracting: train/labels/FishDataset532_png.rf.61807a07ec736d9660393cf8bc682905.txt \n",
+ " extracting: train/labels/FishDataset243_png.rf.58945bbc3b1f28427babac52c7e55079.txt \n",
+ " extracting: train/labels/FishDataset582_png.rf.5ef96f1a84157b27dd819ffbb0cd5a0c.txt \n",
+ " extracting: train/labels/FishDataset519_png.rf.61de9748e10a3329a60dc585320296a1.txt \n",
+ " extracting: train/labels/FishDataset347_png.rf.592e5d540955216b3f4b8dcf4d43f618.txt \n",
+ " extracting: train/labels/FishDataset472_png.rf.5c45c1ad0691e295b32ff309d6c51b8d.txt \n",
+ " extracting: train/labels/FishDataset652_png.rf.5a20cdf762be965e29a21302490bb90d.txt \n",
+ " extracting: train/labels/FishDataset734_png.rf.5754ccca66aa7782bc73eaf275563737.txt \n",
+ " extracting: train/labels/FishDataset729_png.rf.5913f23ac6d5651c5b32eb6797c8981a.txt \n",
+ " extracting: train/labels/FishDataset343_png.rf.5c5f9104ee619e6788e4c227fc0ab634.txt \n",
+ " extracting: train/labels/FishDataset302_png.rf.5a9a7bfe00362b9f3077d71708e22c71.txt \n",
+ " extracting: train/labels/FishDataset671_png.rf.611ecc5ed25663b09c4a84e0e06aec3c.txt \n",
+ " extracting: train/labels/FishDataset478_png.rf.5807d598c11a7c64d913385e1cad340c.txt \n",
+ " extracting: train/labels/FishDataset690_png.rf.625409a82a1e149131870c41dd597a66.txt \n",
+ " extracting: train/labels/FishDataset438_png.rf.5f986c46236b556bd2190f9640f45ec3.txt \n",
+ " extracting: train/labels/FishDataset142_png.rf.5c04c3ae517fe1827a093a189ec7d5e4.txt \n",
+ " extracting: train/labels/FishDataset683_png.rf.61be4d5a740ab9da29c930d1da4bd5db.txt \n",
+ " extracting: train/labels/FishDataset715_png.rf.6389059490dd1d08f7f188660e977251.txt \n",
+ " extracting: train/labels/FishDataset694_png.rf.5803d14b6f6d51c88c3809262e357352.txt \n",
+ " extracting: train/labels/FishDataset290_png.rf.6e57152df5915242940176ae046d1d46.txt \n",
+ " extracting: train/labels/FishDataset450_png.rf.5df3da3a450fc4aec0d5af31abe8b4d9.txt \n",
+ " extracting: train/labels/FishDataset517_png.rf.6672560604e1337581ad8feee805199c.txt \n",
+ " extracting: train/labels/FishDataset368_png.rf.6ccf41b0398dd2506f9125563a708189.txt \n",
+ " extracting: train/labels/FishDataset236_png.rf.68a202b9b229e17732e55e3027209a78.txt \n",
+ " extracting: train/labels/FishDataset89_png.rf.69919ae8d309956ce1022b2cf3030cc0.txt \n",
+ " extracting: train/labels/FishDataset491_png.rf.68155d185eb7b458b9b2fcbc53b23c9c.txt \n",
+ " extracting: train/labels/FishDataset80_png.rf.6822431a68456d0c9496fe8dc1519b66.txt \n",
+ " extracting: train/labels/FishDataset167_png.rf.669de35cb0e8b62f25b106bcc7079188.txt \n",
+ " extracting: train/labels/FishDataset78_png.rf.6ee7ec3221f0e3237cb7b32a39ad5469.txt \n",
+ " extracting: train/labels/FishDataset35_png.rf.6fecc033737d253cadcdc4e9e46e3458.txt \n",
+ " extracting: train/labels/FishDataset392_png.rf.6936fdca9def282053bfe6269b0f86fa.txt \n",
+ " extracting: train/labels/FishDataset366_png.rf.70ffde166001d6b3171bd83cae68d9af.txt \n",
+ " extracting: train/labels/FishDataset150_png.rf.66b1726cd4347eb983b9f7f25db1d789.txt \n",
+ " extracting: train/labels/FishDataset576_png.rf.638cebe29dfdd169dae8194990e726f4.txt \n",
+ " extracting: train/labels/FishDataset429_png.rf.6ce6dc1774f6f1fb637acc8e0b5a873b.txt \n",
+ " extracting: train/labels/FishDataset454_png.rf.688d7e81b60d164aceae953b925b15d6.txt \n",
+ " extracting: train/labels/FishDataset706_png.rf.6681691cea74506e41f8cd5f0e7bea04.txt \n",
+ " extracting: train/labels/FishDataset708_png.rf.6a6f0306e280c29f63126a3035a24458.txt \n",
+ " extracting: train/labels/FishDataset604_png.rf.7214cd22464c6cdaa7086f3e966b71b5.txt \n",
+ " extracting: train/labels/FishDataset724_png.rf.6ad6d9f75657d2702fd7e95f197c65e8.txt \n",
+ " extracting: train/labels/FishDataset0_png.rf.6d4ef9fb459b8c42eca6ad4b5e22754f.txt \n",
+ " extracting: train/labels/FishDataset456_png.rf.71b19b0591eaafe5796085b6c6dd31b0.txt \n",
+ " extracting: train/labels/FishDataset4_png.rf.6d7239056ab0cc2fde55e8a1e2c9d2c9.txt \n",
+ " extracting: train/labels/FishDataset539_png.rf.71d54bc53e83d9dd501086a2a5c8bc33.txt \n",
+ " extracting: train/labels/FishDataset736_png.rf.70bcbd069593881077c2c23098d3b1df.txt \n",
+ " extracting: train/labels/FishDataset369_png.rf.71666b23078ef56cb48ca5caedd32a8f.txt \n",
+ " extracting: train/labels/FishDataset264_png.rf.7235f36296e66059bbb33190da92f8f9.txt \n",
+ " extracting: train/labels/FishDataset159_png.rf.77cf35756e94c4cbf7ae7ed412607031.txt \n",
+ " extracting: train/labels/FishDataset587_png.rf.768a6f0252657f38f5f914b02c34a4d7.txt \n",
+ " extracting: train/labels/FishDataset327_png.rf.725584f4279f9cbff767fe5a70cf477a.txt \n",
+ " extracting: train/labels/FishDataset43_png.rf.70bb4f2d3c53692d17d3653674dd3d86.txt \n",
+ " extracting: train/labels/FishDataset488_png.rf.75202da744b638f700278a2455d4724b.txt \n",
+ " extracting: train/labels/FishDataset52_png.rf.77b698dc8d96f72896ba2e61a85b9b8d.txt \n",
+ " extracting: train/labels/FishDataset691_png.rf.7920d487d5510dada3c347e4ea678412.txt \n",
+ " extracting: train/labels/FishDataset522_png.rf.755b064e38403610b6c96645e80a8a36.txt \n",
+ " extracting: train/labels/FishDataset475_png.rf.77344f663febf9456a978944f1965ea0.txt \n",
+ " extracting: train/labels/FishDataset483_png.rf.7d3bc0b47462ffe025453d9fc5e30be9.txt \n",
+ " extracting: train/labels/FishDataset697_png.rf.749b635fd260ee6f5cde6d5b84fbe96a.txt \n",
+ " extracting: train/labels/FishDataset341_png.rf.75d2cbb96dd17b6a972b40fb1ffe1a3f.txt \n",
+ " extracting: train/labels/FishDataset693_png.rf.78e1d8cb38d456864a17973ce9e9a79d.txt \n",
+ " extracting: train/labels/FishDataset707_png.rf.737c9193eb10304149247c6073b519e2.txt \n",
+ " extracting: train/labels/FishDataset730_png.rf.77edcfee03365d3652f44e1890155dae.txt \n",
+ " extracting: train/labels/FishDataset608_png.rf.7c189478c17d27040394f212f72d50e6.txt \n",
+ " extracting: train/labels/FishDataset541_png.rf.7e19b014a770df62a94d6858494ba0a3.txt \n",
+ " extracting: train/labels/FishDataset493_png.rf.803a16c26c9e8f9b3209c744b8e5dcb1.txt \n",
+ " extracting: train/labels/FishDataset361_png.rf.77f983151e3090fde13593ad74468401.txt \n",
+ " extracting: train/labels/FishDataset702_png.rf.79666c5983ed3b64d793b0679652fe36.txt \n",
+ " extracting: train/labels/FishDataset568_png.rf.7ec5b76cfc4dd1bc9cf2f26222a49862.txt \n",
+ " extracting: train/labels/FishDataset329_png.rf.7f8bda0585cdea9839d012f901fbdb91.txt \n",
+ " extracting: train/labels/FishDataset425_png.rf.7b7400a823aaf4a5477cbcddbf9f392e.txt \n",
+ " extracting: train/labels/FishDataset579_png.rf.72cca4557c3f526bada52010669937c9.txt \n",
+ " extracting: train/labels/FishDataset5_png.rf.879b4d7391a7e017e957c25aecda8c05.txt \n",
+ " extracting: train/labels/FishDataset527_png.rf.75e13db330c08390519fa23b394645ff.txt \n",
+ " extracting: train/labels/FishDataset386_png.rf.80e85690bd6b0175521a14a352cf9f0b.txt \n",
+ " extracting: train/labels/FishDataset499_png.rf.80c1f040fb5ce968c1dffb96a61f6e4d.txt \n",
+ " extracting: train/labels/FishDataset108_png.rf.86bcca318757f4d3de3f861d7131c3bd.txt \n",
+ " extracting: train/labels/FishDataset293_png.rf.843d3d5be7867bcd6f928f3634a80ec9.txt \n",
+ " extracting: train/labels/FishDataset402_png.rf.86b4a15f647d286f95fbdffad8504c30.txt \n",
+ " extracting: train/labels/FishDataset698_png.rf.81b3c13be68ee5067c9a4843e88f9aab.txt \n",
+ " extracting: train/labels/FishDataset545_png.rf.828d7799318721cbfccb4a91c87483da.txt \n",
+ " extracting: train/labels/FishDataset192_png.rf.8877a7ad05523d5661449003142fa505.txt \n",
+ " extracting: train/labels/FishDataset26_png.rf.84f52a5b02c1b310da9383356b29d3c2.txt \n",
+ " extracting: train/labels/FishDataset292_png.rf.865218d7781ba26256cfb0c05fd4f599.txt \n",
+ " extracting: train/labels/FishDataset237_png.rf.89771f1144629157b3399c9652eb903d.txt \n",
+ " extracting: train/labels/FishDataset548_png.rf.889d970d6eb5949ce258c8c021254ab8.txt \n",
+ " extracting: train/labels/FishDataset36_png.rf.8ba4af9771c880611ef6e8ac5a0e69f5.txt \n",
+ " extracting: train/labels/FishDataset725_png.rf.87a4a99adc44085ea18d8298e70302eb.txt \n",
+ " extracting: train/labels/FishDataset381_png.rf.89af75fe311c49774c9a64f878724937.txt \n",
+ " extracting: train/labels/FishDataset699_png.rf.85ef9f15c899e3b20c776810efaa461e.txt \n",
+ " extracting: train/labels/FishDataset542_png.rf.8c7dd7cd9851633dd086cdce554f05b9.txt \n",
+ " extracting: train/labels/FishDataset379_png.rf.87d7584c8063580b65268acf4c8de962.txt \n",
+ " extracting: train/labels/FishDataset54_png.rf.89460acc24e9eb6c3ab1acabd994b2a8.txt \n",
+ " extracting: train/labels/FishDataset155_png.rf.87a210b8c1047e0561ac0d7ad018e332.txt \n",
+ " extracting: train/labels/FishDataset578_png.rf.8992896d2d80b986e552c9c224432fa4.txt \n",
+ " extracting: train/labels/FishDataset364_png.rf.8ae1d5dd720c19ea1e3a343d793b0c1d.txt \n",
+ " extracting: train/labels/FishDataset494_png.rf.8d42a8ba3b65e60272f44f9cf8f796c5.txt \n",
+ " extracting: train/labels/FishDataset453_png.rf.8caa036f42651e338f0ac9334920f271.txt \n",
+ " extracting: train/labels/FishDataset337_png.rf.887f92de9afe8544083f3bf59dd85716.txt \n",
+ " extracting: train/labels/FishDataset595_png.rf.914a302fdaac08b37ef7e3c30019a6b9.txt \n",
+ " extracting: train/labels/FishDataset23_png.rf.8dffa7a03b7d802bede7dfe9b5e2d0ae.txt \n",
+ " extracting: train/labels/FishDataset345_png.rf.915544336defbbebe94ae2132d1777f0.txt \n",
+ " extracting: train/labels/FishDataset234_png.rf.9492648ad9026a800db90f323d2017aa.txt \n",
+ " extracting: train/labels/FishDataset249_png.rf.95def13d9dd476565e29ddde950e7be4.txt \n",
+ " extracting: train/labels/FishDataset384_png.rf.959b25b522dbf3953c1dcb70f2b95d0b.txt \n",
+ " extracting: train/labels/FishDataset39_png.rf.91d488d548595c8d2ff83d2b66cbd9bf.txt \n",
+ " extracting: train/labels/FishDataset10_png.rf.8f4e0bbdff2636e30cf960d34c4bdc80.txt \n",
+ " extracting: train/labels/FishDataset229_png.rf.93a4d33f717ab3bbb683ac18b65b0a7c.txt \n",
+ " extracting: train/labels/FishDataset306_png.rf.9757cbe5791930d541b5f279712fd627.txt \n",
+ " extracting: train/labels/FishDataset362_png.rf.9b814f35c81faed0a363c6cfcf13f8b5.txt \n",
+ " extracting: train/labels/FishDataset268_png.rf.9a7675a5fa31b5d4073c4bf3cdb6c491.txt \n",
+ " extracting: train/labels/FishDataset91_png.rf.973d4ad3f55dccc894537857a7275c4c.txt \n",
+ " extracting: train/labels/FishDataset213_png.rf.919ad2328dd77bf10273a57c6c7e6a45.txt \n",
+ " extracting: train/labels/FishDataset312_png.rf.8d438ad5252af43aeae0813a792a605c.txt \n",
+ " extracting: train/labels/FishDataset199_png.rf.913ae3604cff966595487579bb4db6ef.txt \n",
+ " extracting: train/labels/FishDataset570_png.rf.9562fa151302bbe0a5981cf915a39b67.txt \n",
+ " extracting: train/labels/FishDataset716_png.rf.9a29291cc4af0472bdb9e36ad2a3fe87.txt \n",
+ " extracting: train/labels/FishDataset211_png.rf.913fbe99c73b6d755f3ddee3542684ee.txt \n",
+ " extracting: train/labels/FishDataset427_png.rf.99e317c11983d75fa7f3a8fb824cdc08.txt \n",
+ " extracting: train/labels/FishDataset266_png.rf.96f05bce95371c9258c00a09ffab2b7e.txt \n",
+ " extracting: train/labels/FishDataset187_png.rf.93c86d9d3307f721b05aa20a4ed42024.txt \n",
+ " extracting: train/labels/FishDataset25_png.rf.9653020ffb2bcefa9980eff6dfc409a7.txt \n",
+ " extracting: train/labels/FishDataset331_png.rf.96775b8be729d88f7864c2182be31b40.txt \n",
+ " extracting: train/labels/FishDataset409_png.rf.9bb90a6d201cf0474bdd66866499fa9e.txt \n",
+ " extracting: train/labels/FishDataset200_png.rf.9bab0cc01d74fd4abed80e68e442690b.txt \n",
+ " extracting: train/labels/FishDataset477_png.rf.9c6407109690071b4d97ef788c4b4e9b.txt \n",
+ " extracting: train/labels/FishDataset84_png.rf.943e069d5237808c02ce43871ab3502e.txt \n",
+ " extracting: train/labels/FishDataset444_png.rf.9e48e55b6922c312a314a8a6d36d17f5.txt \n",
+ " extracting: train/labels/FishDataset179_png.rf.9e8c4077b89c6e4b3c230bda6415ce8d.txt \n",
+ " extracting: train/labels/FishDataset469_png.rf.9d225a772c0e31f7b3c1d22b7b30ea04.txt \n",
+ " extracting: train/labels/FishDataset653_png.rf.9f180814466961e16ad673cf072aea38.txt \n",
+ " extracting: train/labels/FishDataset207_png.rf.a07da982c85644469a1d01aa954184c0.txt \n",
+ " extracting: train/labels/FishDataset338_png.rf.a424775b4990e1e410ef4febcfd27e0f.txt \n",
+ " extracting: train/labels/FishDataset559_png.rf.a6359959264a0e0ff297dfa44396cc81.txt \n",
+ " extracting: train/labels/FishDataset371_png.rf.9f80159c03bf2b7841dc32d95b117e78.txt \n",
+ " extracting: train/labels/FishDataset34_png.rf.a4a8467049b54ae7817a4391a3d0a323.txt \n",
+ " extracting: train/labels/FishDataset83_png.rf.a51753461632e4a71b63b73200914138.txt \n",
+ " extracting: train/labels/FishDataset317_png.rf.a502bfeb0b161c787a1cc9b6c99454e6.txt \n",
+ " extracting: train/labels/FishDataset583_png.rf.a358bc7d8cabbbf3c300f064650aa56d.txt \n",
+ " extracting: train/labels/FishDataset422_png.rf.a10945a968bcc1e6ae0286ad78d6e052.txt \n",
+ " extracting: train/labels/FishDataset498_png.rf.a5eab2bdf51e1523befca302d405d4be.txt \n",
+ " extracting: train/labels/FishDataset136_png.rf.9f24edb7e644d5eb82c4b607791dc24d.txt \n",
+ " extracting: train/labels/FishDataset405_png.rf.a35768bfb86f21cd966518445e91f5a0.txt \n",
+ " extracting: train/labels/FishDataset241_png.rf.a66b793bb02c72832dd71f41094b2d47.txt \n",
+ " extracting: train/labels/FishDataset31_png.rf.a8ca5410da9546c2fe5af5166348227e.txt \n",
+ " extracting: train/labels/FishDataset490_png.rf.a76d788293d5a9fb7547512b98c7ab08.txt \n",
+ " extracting: train/labels/FishDataset110_png.rf.a56b27bf434df2317765d6d797a1f233.txt \n",
+ " extracting: train/labels/FishDataset288_png.rf.aba9c1b88c5a5ad34e03415577c7481a.txt \n",
+ " extracting: train/labels/FishDataset437_png.rf.9e4609952d4d19810c14b11c2ae67bf3.txt \n",
+ " extracting: train/labels/FishDataset552_png.rf.aba2bd27d191337109b3094327b23a3a.txt \n",
+ " extracting: train/labels/FishDataset72_png.rf.a9cab9b7c466f4f24d203d3e89c6e1a5.txt \n",
+ " extracting: train/labels/FishDataset723_png.rf.a54738ad2665c4ebeb15e1c57920ad4f.txt \n",
+ " extracting: train/labels/FishDataset626_png.rf.ac3d2c7ba5dfb162ce22e06e72f55706.txt \n",
+ " extracting: train/labels/FishDataset547_png.rf.ac8a0b76638436b2d999b1b3d8c779dc.txt \n",
+ " extracting: train/labels/FishDataset349_png.rf.ad38a5e323a36943e041a265a9778f19.txt \n",
+ " extracting: train/labels/FishDataset625_png.rf.aae07ecdf2632115372b6db73b747657.txt \n",
+ " extracting: train/labels/FishDataset709_png.rf.abb06e6115c1701301d4a6cf77f6781f.txt \n",
+ " extracting: train/labels/FishDataset584_png.rf.ad9ba05081ad6593064b9b4a923c9435.txt \n",
+ " extracting: train/labels/FishDataset667_png.rf.ae78f99f04761dcc7936ebb5dd17b627.txt \n",
+ " extracting: train/labels/FishDataset7_png.rf.ae05d1070385dc74b36a17cb41bea3f6.txt \n",
+ " extracting: train/labels/FishDataset137_png.rf.afb81b35235c93a190cdb5abd375b1cd.txt \n",
+ " extracting: train/labels/FishDataset94_png.rf.ad3c88896946d1eeb4333c46b1a25c41.txt \n",
+ " extracting: train/labels/FishDataset174_png.rf.b0a937985bc66f2c54f9a5c427e6bcc5.txt \n",
+ " extracting: train/labels/FishDataset624_png.rf.b0c03a5e8f0d93603059d821f6174282.txt \n",
+ " extracting: train/labels/FishDataset645_png.rf.afb715c786ff1ffca0d639305308df21.txt \n",
+ " extracting: train/labels/FishDataset452_png.rf.b1242f1c503995d2a2ef81cc59960ea5.txt \n",
+ " extracting: train/labels/FishDataset615_png.rf.ad7e4a1248027f2b197cedcf163f2daa.txt \n",
+ " extracting: train/labels/FishDataset248_png.rf.b1bb2a96786e752b14bf2a226651029d.txt \n",
+ " extracting: train/labels/FishDataset104_png.rf.b2ab42aa812de116569d480c9b4c7a75.txt \n",
+ " extracting: train/labels/FishDataset540_png.rf.b2581dc4f258ccd7732a9c32c51734e2.txt \n",
+ " extracting: train/labels/FishDataset638_png.rf.b3d4083c0016d329ad49f01985ce397d.txt \n",
+ " extracting: train/labels/FishDataset13_png.rf.b44bc25ab17cb3aac47a0902868a5413.txt \n",
+ " extracting: train/labels/FishDataset325_png.rf.b45764ef9ef2b78b444313dbbb263cae.txt \n",
+ " extracting: train/labels/FishDataset270_png.rf.b3e2a435fe81e3b278462c88c38ee6cd.txt \n",
+ " extracting: train/labels/FishDataset40_png.rf.b5915cd098e4d6c3e25a16b3c2ff3ad7.txt \n",
+ " extracting: train/labels/FishDataset153_png.rf.b6821cf25c10b05c7bd8f06509224288.txt \n",
+ " extracting: train/labels/FishDataset660_png.rf.b6d2583c26d052ac67b46e8342a69443.txt \n",
+ " extracting: train/labels/FishDataset353_png.rf.b5533008fbac49ef5db2b96b27a06ee2.txt \n",
+ " extracting: train/labels/FishDataset92_png.rf.b4c60cb18b7cb0815e91595380021c09.txt \n",
+ " extracting: train/labels/FishDataset365_png.rf.bbb84930b894b4eeb8396c8251630255.txt \n",
+ " extracting: train/labels/FishDataset151_png.rf.b86a88bd6a757a1ef1456d85cb61b853.txt \n",
+ " extracting: train/labels/FishDataset311_png.rf.b7127855011aade5e90547fcefd3a564.txt \n",
+ " extracting: train/labels/FishDataset728_png.rf.b92c54e196b72158a7586039949bbd09.txt \n",
+ " extracting: train/labels/FishDataset486_png.rf.b988f08c7266db18efbc0b4bd3e75578.txt \n",
+ " extracting: train/labels/FishDataset520_png.rf.b9f16f1a397b078caad4c53eaa6954bc.txt \n",
+ " extracting: train/labels/FishDataset375_png.rf.be29cd0e017c2de54b9d21ff76928a5f.txt \n",
+ " extracting: train/labels/FishDataset677_png.rf.bc5881d13548fc10ac113f1f1c1904d5.txt \n",
+ " extracting: train/labels/FishDataset659_png.rf.bebdf650ec1a4947233201eee16cd294.txt \n",
+ " extracting: train/labels/FishDataset442_png.rf.bce487ea75563410f6480745770b81b5.txt \n",
+ " extracting: train/labels/FishDataset701_png.rf.be2f3b057ee56d46015fe3a5d701fb8f.txt \n",
+ " extracting: train/labels/FishDataset537_png.rf.c21da0df7479916e55d0fcf38a11b3fc.txt \n",
+ " extracting: train/labels/FishDataset160_png.rf.bd50371bab973cf67548b8b4ae0d0153.txt \n",
+ " extracting: train/labels/FishDataset93_png.rf.bcb1e6d7cba6eb7a57383e9a04a2d65e.txt \n",
+ " extracting: train/labels/FishDataset204_png.rf.bf54812cd8712937981ed86829b52271.txt \n",
+ " extracting: train/labels/FishDataset629_png.rf.b94ee4c423e4a3211befedc8f0e7e2b8.txt \n",
+ " extracting: train/labels/FishDataset391_png.rf.c1665e750a6d6b482cf14e1b9613f368.txt \n",
+ " extracting: train/labels/FishDataset15_png.rf.c0a09599b90f860f64af091312edecb4.txt \n",
+ " extracting: train/labels/FishDataset225_png.rf.c2a342f6867b5ef4242fcf23b333e879.txt \n",
+ " extracting: train/labels/FishDataset367_png.rf.c259ad85f38ac38ab9dba6ed1aeee667.txt \n",
+ " extracting: train/labels/FishDataset619_png.rf.c11d157ed656b30e59af1ebbe55937da.txt \n",
+ " extracting: train/labels/FishDataset476_png.rf.baf2d1f1eb0f0b2146a12bdc213099b3.txt \n",
+ " extracting: train/labels/FishDataset29_png.rf.c4a813252a1783be5c06f05c4d8cd3e9.txt \n",
+ " extracting: train/labels/FishDataset118_png.rf.bb6e229b6d434a8be442cf56962f85e1.txt \n",
+ " extracting: train/labels/FishDataset294_png.rf.c418713c6a28f8be89033b341443c95c.txt \n",
+ " extracting: train/labels/FishDataset175_png.rf.c5e832685bedbad4b608efda6cc4038f.txt \n",
+ " extracting: train/labels/FishDataset633_png.rf.c2b6aacf574dea3d6f7aa96916286879.txt \n",
+ " extracting: train/labels/FishDataset435_png.rf.bb639b8ba881b58e29618802f2c58aa6.txt \n",
+ " extracting: train/labels/FishDataset676_png.rf.c39e9d9c0348ae1e7b24153e937ea03e.txt \n",
+ " extracting: train/labels/FishDataset71_png.rf.c5a251a5d0dfffddf2ed6ec2750e34d9.txt \n",
+ " extracting: train/labels/FishDataset228_png.rf.c967075718f861932a57d60fcaf6dc6d.txt \n",
+ " extracting: train/labels/FishDataset607_png.rf.c8ec83ae9687fca3527ecf229ed97f1c.txt \n",
+ " extracting: train/labels/FishDataset166_png.rf.c7a2266f2b857d9e1f0a12782a804cdc.txt \n",
+ " extracting: train/labels/FishDataset291_png.rf.c1cf91b8cf43d31ee602cc9b42a324ff.txt \n",
+ " extracting: train/labels/FishDataset348_png.rf.ca7322b57715402b43a40320d80a4d7b.txt \n",
+ " extracting: train/labels/FishDataset376_png.rf.cb5f144010d106bc0f6b7a7ac0275c6b.txt \n",
+ " extracting: train/labels/FishDataset42_png.rf.c6c50e457efea0afa968afcf7baa38f3.txt \n",
+ " extracting: train/labels/FishDataset430_png.rf.cb1f22c5598f831d373429cb6fe62566.txt \n",
+ " extracting: train/labels/FishDataset67_png.rf.ca7fab3fc71f1543ca921847d826dcd8.txt \n",
+ " extracting: train/labels/FishDataset65_png.rf.cc132c63408489f8c6530761196d8ea1.txt \n",
+ " extracting: train/labels/FishDataset673_png.rf.cb7c57eb01a3e57bbf54f873d353dd39.txt \n",
+ " extracting: train/labels/FishDataset233_png.rf.caf58119807c5e0fd8f56b507e641296.txt \n",
+ " extracting: train/labels/FishDataset73_png.rf.cc54b379992c646f94fcf20c0d180f6f.txt \n",
+ " extracting: train/labels/FishDataset45_png.rf.cc8e7dfcb060877798ddf880ca9b8691.txt \n",
+ " extracting: train/labels/FishDataset278_png.rf.cc36f0e5fd8bb1dfb7352f42ef4cbcd7.txt \n",
+ " extracting: train/labels/FishDataset48_png.rf.ca0a1cd3f4f9d8eee72bbb3cc8f1daae.txt \n",
+ " extracting: train/labels/FishDataset632_png.rf.ce66f27976fc93853a1123539cce074d.txt \n",
+ " extracting: train/labels/FishDataset8_png.rf.cb5c8042147f1273a1b23e6280eb3b03.txt \n",
+ " extracting: train/labels/FishDataset255_png.rf.d0afc942ed63b08b10fed17e1b8e611f.txt \n",
+ " extracting: train/labels/FishDataset641_png.rf.cf157a9724c693f52868d88ce5fa97cf.txt \n",
+ " extracting: train/labels/FishDataset185_png.rf.cf1b086a032854d7aafeb1123a026990.txt \n",
+ " extracting: train/labels/FishDataset575_png.rf.cba56e843338e4d71b5a65f0c65416ec.txt \n",
+ " extracting: train/labels/FishDataset726_png.rf.d06b614087574b42e94bd31f4d0b767a.txt \n",
+ " extracting: train/labels/FishDataset280_png.rf.d02191499fcac20d5fbff99f111a1044.txt \n",
+ " extracting: train/labels/FishDataset202_png.rf.d16fc36362ddc33beb0001a08ef8c326.txt \n",
+ " extracting: train/labels/FishDataset590_png.rf.d4ae044e249c50355c47636fe75bfd93.txt \n",
+ " extracting: train/labels/FishDataset684_png.rf.d12f6965cbb9a8db0f415d38f56fe21a.txt \n",
+ " extracting: train/labels/FishDataset627_png.rf.d1434628f3bca687a09feb08334262f2.txt \n",
+ " extracting: train/labels/FishDataset298_png.rf.d59341bf805b54bef36f2f334391d28d.txt \n",
+ " extracting: train/labels/FishDataset263_png.rf.d61478f81c526e91b47624e2e99faaad.txt \n",
+ " extracting: train/labels/FishDataset314_png.rf.d4b96eb223a51e1b12930ff4b0daee72.txt \n",
+ " extracting: train/labels/FishDataset424_png.rf.d314d10affd1a3d5093c167d1f5c6bf3.txt \n",
+ " extracting: train/labels/FishDataset556_png.rf.e06afddd90cc0805b50101c975bf3ce4.txt \n",
+ " extracting: train/labels/FishDataset180_png.rf.d82974f344c293dd0b1558ad23de0230.txt \n",
+ " extracting: train/labels/FishDataset152_png.rf.d9ddce308bc429c9e33f7a4822012e77.txt \n",
+ " extracting: train/labels/FishDataset53_png.rf.df197ca8dfabd573db216626a2882755.txt \n",
+ " extracting: train/labels/FishDataset572_png.rf.df7b7c072bc064a2d5cc775faaa8315f.txt \n",
+ " extracting: train/labels/FishDataset436_png.rf.d8fa6b3b339f7583c7fbdd0faa1eb52f.txt \n",
+ " extracting: train/labels/FishDataset485_png.rf.de51e24eb5caec12f6ad3b44cfa9fec0.txt \n",
+ " extracting: train/labels/FishDataset642_png.rf.d86613d6a04ff633d5b70114f0ab46e2.txt \n",
+ " extracting: train/labels/FishDataset124_png.rf.d92c1d89fd8cf824e98d65a766f9b538.txt \n",
+ " extracting: train/labels/FishDataset521_png.rf.e008026129e016dba3609d547ecf1edc.txt \n",
+ " extracting: train/labels/FishDataset611_png.rf.ddc7f48175b839db80e27a32ac2d5ec9.txt \n",
+ " extracting: train/labels/FishDataset573_png.rf.dd6d6130eadcf925672ade53d86dae8f.txt \n",
+ " extracting: train/labels/FishDataset182_png.rf.e0bf4a3c6358057e655b20c55ea4ef57.txt \n",
+ " extracting: train/labels/FishDataset400_png.rf.e081c9270ac67957e0974993e403a3a3.txt \n",
+ " extracting: train/labels/FishDataset504_png.rf.e23bd757c0af5fdb1a6d68853c49a3ef.txt \n",
+ " extracting: train/labels/FishDataset208_png.rf.e1d5f335d2b4c5ef2db5b50d50b3db7a.txt \n",
+ " extracting: train/labels/FishDataset316_png.rf.e32c26fbbd61c286f2c10903d2214101.txt \n",
+ " extracting: train/labels/FishDataset99_png.rf.db9eb25a2be47e6a5fee71ecf8a475db.txt \n",
+ " extracting: train/labels/FishDataset421_png.rf.dbb7cd359d76a708c38acf217b1cfca3.txt \n",
+ " extracting: train/labels/FishDataset24_png.rf.e4ca463ce725d0703aa277b5cf19547c.txt \n",
+ " extracting: train/labels/FishDataset218_png.rf.d764dd58ea620c2fe3592a17910f92a6.txt \n",
+ " extracting: train/labels/FishDataset57_png.rf.e59a4a7df12368f25f5ef860f26de28e.txt \n",
+ " extracting: train/labels/FishDataset655_png.rf.e426265b1b32c667b3eb5b346ab01857.txt \n",
+ " extracting: train/labels/FishDataset418_png.rf.e59972b79ca786369c8e866dab9939d9.txt \n",
+ " extracting: train/labels/FishDataset37_png.rf.e62a16358bb4e3dade92e1326e4eaff0.txt \n",
+ " extracting: train/labels/FishDataset406_png.rf.e6b624bd921c4d6b13923d9c1754580b.txt \n",
+ " extracting: train/labels/FishDataset644_png.rf.d9028b6b2c95402cc107173afcbbcdc4.txt \n",
+ " extracting: train/labels/FishDataset355_png.rf.ea74225d9f1131b1ef949fc292a80cc3.txt \n",
+ " extracting: train/labels/FishDataset658_png.rf.f064f60c1a7bf4f1f734309ecb63c85e.txt \n",
+ " extracting: train/labels/FishDataset195_png.rf.ea4df747049c55e00fc4eeea14100f68.txt \n",
+ " extracting: train/labels/FishDataset227_png.rf.edd5907d1c468e0e6f415e4431015037.txt \n",
+ " extracting: train/labels/FishDataset419_png.rf.f5390f3a64f3f2af98e7672793cb1e2f.txt \n",
+ " extracting: train/labels/FishDataset58_png.rf.e74c903bb33482c7b0e167d97ca5d330.txt \n",
+ " extracting: train/labels/FishDataset344_png.rf.f3689aca6be07f39b9bf734a16d8eaf5.txt \n",
+ " extracting: train/labels/FishDataset533_png.rf.f37b1395cc8be530d2cbd50392d6645d.txt \n",
+ " extracting: train/labels/FishDataset383_png.rf.f84a5da74f90f65e3099ba29b698d65b.txt \n",
+ " extracting: train/labels/FishDataset417_png.rf.ed082f4e2b6d535c0967912810050ba2.txt \n",
+ " extracting: train/labels/FishDataset261_png.rf.edfbc8ad548afc875cfaf0f2e36699af.txt \n",
+ " extracting: train/labels/FishDataset387_png.rf.ed458a9de4eea0c03a263f2c98e36309.txt \n",
+ " extracting: train/labels/FishDataset696_png.rf.f1ce22d60f8a0d49e0b3c1fe5817660b.txt \n",
+ " extracting: train/labels/FishDataset88_png.rf.f105cbd5047a6930ad35b854387c2ff2.txt \n",
+ " extracting: train/labels/FishDataset51_png.rf.ed0ba7177fcfa667ea75ec941c5a6fd9.txt \n",
+ " extracting: train/labels/FishDataset482_png.rf.f3c6eb35d77f3864a4ae0f1709dd3279.txt \n",
+ " extracting: train/labels/FishDataset639_png.rf.e7404e4546ad8f577b65df2a7d700c1b.txt \n",
+ " extracting: train/labels/FishDataset474_png.rf.f89aa79486ceecd3e1ec4b1d9f1a4315.txt \n",
+ " extracting: train/labels/FishDataset169_png.rf.f839d8cdbdb5af70651281467e83eeef.txt \n",
+ " extracting: train/labels/FishDataset434_png.rf.f91c03fac21a2159ea199f0f7594292d.txt \n",
+ " extracting: train/labels/FishDataset30_png.rf.f9f408ad8b3e57c4792332f51b4c3b73.txt \n",
+ " extracting: train/labels/FishDataset605_png.rf.f4eed30b546c40688895f5639c171d28.txt \n",
+ " extracting: train/labels/FishDataset546_png.rf.e7e171d2ce39b375f82643359f29b977.txt \n",
+ " extracting: train/labels/FishDataset492_png.rf.f6764099e512eca9c531417303e98e10.txt \n",
+ " extracting: train/labels/FishDataset398_png.rf.fa28f96efdf6bcb56acf57431dd903f2.txt \n",
+ " extracting: train/labels/FishDataset358_png.rf.fa69b7a845264ac8a11a0c60bcf88cb6.txt \n",
+ " extracting: train/labels/FishDataset455_png.rf.fbffbaac1aaf52821b1c9bb43396b244.txt \n",
+ " extracting: train/labels/FishDataset77_png.rf.fae75edeb7fbcf87ad8983f4c97ed1d6.txt \n",
+ " extracting: train/labels/FishDataset514_png.rf.feb28656e723378af3c39a8a33cc9f92.txt \n",
+ " extracting: valid/labels/FishDataset90_png.rf.0174afec0d73dd170fbb8339c502de01.txt \n",
+ " extracting: valid/labels/FishDataset41_png.rf.1ae3a9633c7db6d3f8666292c0c1b0c5.txt \n",
+ " extracting: valid/labels/FishDataset193_png.rf.259af0bc94958bfe477e8d3a91a45796.txt \n",
+ " extracting: valid/labels/FishDataset267_png.rf.07b475982033fbb5882c81417b9f2b8e.txt \n",
+ " extracting: valid/labels/FishDataset530_png.rf.1c1ef17021e6479932bfbe5107a212f7.txt \n",
+ " extracting: valid/labels/FishDataset669_png.rf.037d21f5c5a5fc7f82f1e1da30c96efc.txt \n",
+ " extracting: valid/labels/FishDataset323_png.rf.1a6446ced7a0159a92f5b23038e555e2.txt \n",
+ " extracting: valid/labels/FishDataset102_png.rf.0ededd567854ba9519008100cf5d4630.txt \n",
+ " extracting: valid/labels/FishDataset55_png.rf.17ace0a884e20a61cd685f57c10884e5.txt \n",
+ " extracting: valid/labels/FishDataset553_png.rf.0b32e8419a92e402c8c2f3941134f9db.txt \n",
+ " extracting: valid/labels/FishDataset44_png.rf.0b8e0c0c66c75d7ad2a72778d3746174.txt \n",
+ " extracting: valid/labels/FishDataset173_png.rf.1df5a9af92fc290e70a34d0bf4efcf4b.txt \n",
+ " extracting: valid/labels/FishDataset411_png.rf.082779b5a6f31fa85bd6bf41ca0d0cb7.txt \n",
+ " extracting: valid/labels/FishDataset538_png.rf.1b5343522145e42c9c1c0074c83ac11c.txt \n",
+ " extracting: valid/labels/FishDataset19_png.rf.27d4dce8bd3274d71d32f4fa7ab58208.txt \n",
+ " extracting: valid/labels/FishDataset563_png.rf.26fbb94dde0095419f8ca5d3b9de1f2f.txt \n",
+ " extracting: valid/labels/FishDataset610_png.rf.2706aba6ad69eed5644bf969d988bb0b.txt \n",
+ " extracting: valid/labels/FishDataset480_png.rf.2978ed83f3d13d16d6a83594aeee2f3a.txt \n",
+ " extracting: valid/labels/FishDataset640_png.rf.19c082f141a5bc2c25ad95a22f6d9f59.txt \n",
+ " extracting: valid/labels/FishDataset390_png.rf.0311a8be2b2c9fc2841517523bec5296.txt \n",
+ " extracting: valid/labels/FishDataset201_png.rf.048d2987b92b88f6960cf4978fec63d2.txt \n",
+ " extracting: valid/labels/FishDataset622_png.rf.2dbe6acc6d63c9f65045620aa7ef4ac0.txt \n",
+ " extracting: valid/labels/FishDataset212_png.rf.3fe283d944a6f5623c7893d1181ac573.txt \n",
+ " extracting: valid/labels/FishDataset178_png.rf.3fd389405e61c56141161c6295a2de16.txt \n",
+ " extracting: valid/labels/FishDataset64_png.rf.31df7b2ede677a1c10e94ec5629fb99e.txt \n",
+ " extracting: valid/labels/FishDataset395_png.rf.5869b76622a51c4be8e2fc12cb370b13.txt \n",
+ " extracting: valid/labels/FishDataset524_png.rf.324c84287cbaa7e8ae86813c1f74dbc9.txt \n",
+ " extracting: valid/labels/FishDataset231_png.rf.4156da7001a1e44c7db3d52427b6823d.txt \n",
+ " extracting: valid/labels/FishDataset181_png.rf.323cd2db0c272076d72d2481a964c488.txt \n",
+ " extracting: valid/labels/FishDataset106_png.rf.3c2df70ec08702f3827f7b644eb3d4b7.txt \n",
+ " extracting: valid/labels/FishDataset289_png.rf.34a948c5158dd0b02de1c0ed6ec521af.txt \n",
+ " extracting: valid/labels/FishDataset28_png.rf.536eda127a8f8ab7922af1a228a44be9.txt \n",
+ " extracting: valid/labels/FishDataset569_png.rf.4779f7dfe86cc166f5c375ce508c785e.txt \n",
+ " extracting: valid/labels/FishDataset339_png.rf.3724b821054d7086e1afd3b6cbab0bda.txt \n",
+ " extracting: valid/labels/FishDataset589_png.rf.09418edb9dec181b8379afd3136a912b.txt \n",
+ " extracting: valid/labels/FishDataset183_png.rf.53947c7c633f0524790196e61b668238.txt \n",
+ " extracting: valid/labels/FishDataset505_png.rf.43cb6725b06cf15b5e63189103588bb0.txt \n",
+ " extracting: valid/labels/FishDataset594_png.rf.32429ea4f3b722d94ea66ccc8b1a256a.txt \n",
+ " extracting: valid/labels/FishDataset593_png.rf.302ab08878e61d75cc96086a150308d2.txt \n",
+ " extracting: valid/labels/FishDataset397_png.rf.3403e91d3cdb08a4379ed27bba227a79.txt \n",
+ " extracting: valid/labels/FishDataset359_png.rf.36f435a8a6dcd89ab4c10f47378d05ba.txt \n",
+ " extracting: valid/labels/FishDataset134_png.rf.51613dd029d6acff4383eadefd82f26e.txt \n",
+ " extracting: valid/labels/FishDataset184_png.rf.30f729405e182e92f341f58fe4c5fbe3.txt \n",
+ " extracting: valid/labels/FishDataset215_png.rf.5888828f79bc48b58cf8f23fe2cb4927.txt \n",
+ " extracting: valid/labels/FishDataset141_png.rf.57cba5659629e6f677cc68034a4de14c.txt \n",
+ " extracting: valid/labels/FishDataset85_png.rf.5955ff40e3b6181f035c8951ddab5de4.txt \n",
+ " extracting: valid/labels/FishDataset377_png.rf.43a90cbd68b1f74a12dff8550dbcde06.txt \n",
+ " extracting: valid/labels/FishDataset9_png.rf.81ada0c1d1c53c6d21c2e05bee566d3a.txt \n",
+ " extracting: valid/labels/FishDataset420_png.rf.5be621af676b38ab0627f8f5a8cfd3aa.txt \n",
+ " extracting: valid/labels/FishDataset470_png.rf.596ec123be351d4f305d8ee778373372.txt \n",
+ " extracting: valid/labels/FishDataset439_png.rf.5ff558d6cd9849eb416aac2c34752e30.txt \n",
+ " extracting: valid/labels/FishDataset14_png.rf.750f463b0831d23e97316422b433a316.txt \n",
+ " extracting: valid/labels/FishDataset685_png.rf.66a24b2ac99d0b88070bcbbc311fc1e2.txt \n",
+ " extracting: valid/labels/FishDataset171_png.rf.64679742671e981f9443c3370b2c4c48.txt \n",
+ " extracting: valid/labels/FishDataset687_png.rf.66d3b945e7c8765813e69ed86b8e0cb5.txt \n",
+ " extracting: valid/labels/FishDataset727_png.rf.82dfe1579b31eafd6e169d38f84a346a.txt \n",
+ " extracting: valid/labels/FishDataset649_png.rf.645e7505e2b41c3dc1fd676b156ac986.txt \n",
+ " extracting: valid/labels/FishDataset326_png.rf.7ff2d411ad096c6c07e5ff74019f4436.txt \n",
+ " extracting: valid/labels/FishDataset562_png.rf.8154fde7c9a410421080e9bad6529c2c.txt \n",
+ " extracting: valid/labels/FishDataset287_png.rf.8c15b74014054d4e69744938d2fe18a5.txt \n",
+ " extracting: valid/labels/FishDataset230_png.rf.7cff54cf3480b8a7a476583616a447c7.txt \n",
+ " extracting: valid/labels/FishDataset324_png.rf.8294aa1ca11253bf421ecae6daf9b81c.txt \n",
+ " extracting: valid/labels/FishDataset656_png.rf.7dd902a33e0e84a2879a8fd2962db2d7.txt \n",
+ " extracting: valid/labels/FishDataset146_png.rf.6e0ecaae379d1c9a34c7f4a46a49c2a5.txt \n",
+ " extracting: valid/labels/FishDataset164_png.rf.6456b78598908e458a9c0b1638d97b16.txt \n",
+ " extracting: valid/labels/FishDataset1_png.rf.6df666420cbc585396a8ab0554dbe074.txt \n",
+ " extracting: valid/labels/FishDataset557_png.rf.8755b4092c7ce011da00bacd7a0f2a79.txt \n",
+ " extracting: valid/labels/FishDataset598_png.rf.7d187217411e893fec24c3a08120a461.txt \n",
+ " extracting: valid/labels/FishDataset448_png.rf.711bf2cd7aca86679ab9054224663877.txt \n",
+ " extracting: valid/labels/FishDataset710_png.rf.8cd9feef86eefa3a7778dda89c90db13.txt \n",
+ " extracting: valid/labels/FishDataset154_png.rf.6abb9c8620091d8250bdb26774c74aaa.txt \n",
+ " extracting: valid/labels/FishDataset297_png.rf.76e00989ed4dc7c3201515d692e5907f.txt \n",
+ " extracting: valid/labels/FishDataset464_png.rf.8cf15e55deda32dec555606b297cca3a.txt \n",
+ " extracting: valid/labels/FishDataset479_png.rf.9374bba2e224425dc2a2823f53b8be5d.txt \n",
+ " extracting: valid/labels/FishDataset116_png.rf.8eaedec536525f31d2ceaf7821ba996e.txt \n",
+ " extracting: valid/labels/FishDataset506_png.rf.8f59a996331f635527dc6b63275fd9c8.txt \n",
+ " extracting: valid/labels/FishDataset74_png.rf.8590d72b399b1ecdc975a75ab0ab41a1.txt \n",
+ " extracting: valid/labels/FishDataset123_png.rf.a809d029e5f4953e0c558b178b5d1e6a.txt \n",
+ " extracting: valid/labels/FishDataset322_png.rf.937552a43b6e99e71985a3b19efd3921.txt \n",
+ " extracting: valid/labels/FishDataset66_png.rf.920478136d61148ac0bcaf0dd35e9afd.txt \n",
+ " extracting: valid/labels/FishDataset686_png.rf.a873fb2ad8fde5523d60dd2851d88364.txt \n",
+ " extracting: valid/labels/FishDataset328_png.rf.9b2431831a9f1464001d2aa82b83be8f.txt \n",
+ " extracting: valid/labels/FishDataset529_png.rf.ae1bebe3f6ef7edf895f47c7bbf4c0c9.txt \n",
+ " extracting: valid/labels/FishDataset601_png.rf.acb7e34be9a3cd0547157dfd38f23883.txt \n",
+ " extracting: valid/labels/FishDataset511_png.rf.a6c2988ef0f31364df3a7eeca4c2e799.txt \n",
+ " extracting: valid/labels/FishDataset304_png.rf.9a30a88b7599eea91d99ad747233309b.txt \n",
+ " extracting: valid/labels/FishDataset665_png.rf.a606e97b074a1dcd6df8190d22410604.txt \n",
+ " extracting: valid/labels/FishDataset262_png.rf.a8d779f36f7278b95743dc3b0704a9d2.txt \n",
+ " extracting: valid/labels/FishDataset597_png.rf.9b1cc30e5aa721fa0576f4ed3c67b6a9.txt \n",
+ " extracting: valid/labels/FishDataset408_png.rf.ab129a0d7bfc9702386345418aaded34.txt \n",
+ " extracting: valid/labels/FishDataset473_png.rf.aece17afb0da8811b6b3f4b2c1fd8ed2.txt \n",
+ " extracting: valid/labels/FishDataset577_png.rf.b56a8b093f0654983bdc4ad4c38cdc1f.txt \n",
+ " extracting: valid/labels/FishDataset143_png.rf.a3bd1c09f820d3f3c671f1a7a99cb6f8.txt \n",
+ " extracting: valid/labels/FishDataset623_png.rf.9aa53d82084d417bf663a6e862a29873.txt \n",
+ " extracting: valid/labels/FishDataset79_png.rf.a067f2c4e9985060fca778072d9c968a.txt \n",
+ " extracting: valid/labels/FishDataset334_png.rf.ac9cf73d79f55630dd60fb6c6f76c6a2.txt \n",
+ " extracting: valid/labels/FishDataset413_png.rf.99ec38bd81879ab41f418efa907c0f6f.txt \n",
+ " extracting: valid/labels/FishDataset560_png.rf.b7d93cd5acd14605d0f00bf30cdefead.txt \n",
+ " extracting: valid/labels/FishDataset654_png.rf.b82971dc6bc3738a26fb90f32aa6e736.txt \n",
+ " extracting: valid/labels/FishDataset462_png.rf.c7cff5172dfc3a8d634d5394ef2c4663.txt \n",
+ " extracting: valid/labels/FishDataset122_png.rf.b8d64dbdb80955eb52ba1a0254311c76.txt \n",
+ " extracting: valid/labels/FishDataset550_png.rf.b9ace8e14d9c25ebad59dbb9edf34807.txt \n",
+ " extracting: valid/labels/FishDataset447_png.rf.d6c8666ae07deeff14b86273210c807f.txt \n",
+ " extracting: valid/labels/FishDataset76_png.rf.d29bc960fc88b1d05430cad771458c33.txt \n",
+ " extracting: valid/labels/FishDataset214_png.rf.d7e848309330e1380087835c0e2b475b.txt \n",
+ " extracting: valid/labels/FishDataset651_png.rf.d9ba64f4552202d6f3ceb7eaf821326a.txt \n",
+ " extracting: valid/labels/FishDataset354_png.rf.bf516323b000b02be03917759830e95a.txt \n",
+ " extracting: valid/labels/FishDataset6_png.rf.ba68ea642dfc5816fbfaddfdf78ce01f.txt \n",
+ " extracting: valid/labels/FishDataset47_png.rf.dcd82bc26819f3668accec05402db85f.txt \n",
+ " extracting: valid/labels/FishDataset157_png.rf.e0b8d695c3ab7d5286d3753fce9e27f9.txt \n",
+ " extracting: valid/labels/FishDataset712_png.rf.b7f816be47d4d3cb59cbd237e628eb4a.txt \n",
+ " extracting: valid/labels/FishDataset396_png.rf.e1995c3c605d209500799afd58fcbad9.txt \n",
+ " extracting: valid/labels/FishDataset733_png.rf.cf8aa1306691c98da4371fff9ac372a6.txt \n",
+ " extracting: valid/labels/FishDataset269_png.rf.d942f6b1110ee70fdc6d8a350027a6c2.txt \n",
+ " extracting: valid/labels/FishDataset156_png.rf.dc3f7dbd88801b87ac4a6dd3015af847.txt \n",
+ " extracting: valid/labels/FishDataset389_png.rf.e178c60651cd23898d0e0f2809116137.txt \n",
+ " extracting: valid/labels/FishDataset451_png.rf.c572b2af590b21198a77f516723cf207.txt \n",
+ " extracting: valid/labels/FishDataset256_png.rf.e1fd9519199152fac721dca6651d58bc.txt \n",
+ " extracting: valid/labels/FishDataset445_png.rf.e49948c44a0632595dc065c54477f656.txt \n",
+ " extracting: valid/labels/FishDataset56_png.rf.e726e53ce5d5eb5f91ad9673d9704dd2.txt \n",
+ " extracting: valid/labels/FishDataset275_png.rf.d9254cd5fb2bc71f893d4bd36c41b050.txt \n",
+ " extracting: valid/labels/FishDataset628_png.rf.f4aec33cec6dad503c848bc69f7489f1.txt \n",
+ " extracting: valid/labels/FishDataset356_png.rf.f374ded7ee23feef183185919a99719f.txt \n",
+ " extracting: valid/labels/FishDataset139_png.rf.f5cfdbb0d2f102b1c6f7dc993f942e96.txt \n",
+ " extracting: valid/labels/FishDataset558_png.rf.fc964011e52b3c78ee1d58d2a3e23856.txt \n",
+ " extracting: valid/labels/FishDataset661_png.rf.f6fcca5667a5529d686ba9ba25d84994.txt \n",
+ " extracting: valid/labels/FishDataset203_png.rf.ec6f37843b27a1889b8f2632cb6c3b44.txt \n",
+ " extracting: valid/labels/FishDataset3_png.rf.e79fa2b4688b15cbbdc158ddf3ed228f.txt \n",
+ " extracting: valid/labels/FishDataset609_png.rf.f21901b72c882d2f29a2e7bc82b7c7c6.txt \n",
+ " extracting: valid/labels/FishDataset416_png.rf.eecddc5e3b5ae660269f6ae58fa71dae.txt \n",
+ " extracting: valid/labels/FishDataset186_png.rf.d515cd35357f35a8a4fa7cf7c95ba0b4.txt \n",
+ " extracting: valid/labels/FishDataset679_png.rf.eacf27b9f45042c2fb2b415185fabdf9.txt \n",
+ " extracting: valid/labels/FishDataset113_png.rf.f3f1336784ace6f1f4379b0f6e49c041.txt \n",
+ " extracting: valid/labels/FishDataset711_png.rf.f56d02b4f688f9aecfae308f84fd57ff.txt \n",
+ " extracting: valid/labels/FishDataset170_png.rf.eb19fd39f035ddbaea277e3cd3b76e7e.txt \n",
+ " extracting: valid/labels/FishDataset393_png.rf.f8291161b0a0ccff5084ff35dee87e8d.txt \n",
+ " extracting: README.roboflow.txt \n",
+ " extracting: README.dataset.txt \n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "ZZ3DmmGQztJj",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 104
+ },
+ "outputId": "563a62d1-ced4-4b50-c332-5a1d3e99794f"
+ },
+ "source": [
+ "# this is the YAML file Roboflow wrote for us that we're loading into this notebook with our data\n",
+ "%cat data.yaml"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "train: ../train/images\n",
+ "val: ../valid/images\n",
+ "\n",
+ "nc: 3\n",
+ "names: ['Platelets', 'RBC', 'WBC']"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "UwJx-2NHsYxT",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Define Model Configuration and Architecture\n",
+ "\n",
+ "We will write a yaml script that defines the parameters for our model like the number of classes, anchors, and each layer.\n",
+ "\n",
+ "You do not need to edit these cells, but you may."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "dOPn9wjOAwwK",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "# define number of classes based on YAML\n",
+ "import yaml\n",
+ "with open(\"data.yaml\", 'r') as stream:\n",
+ " num_classes = str(yaml.safe_load(stream)['nc'])"
+ ],
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "uDxebz13RdRA",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 52
+ },
+ "outputId": "cd2494c4-0c50-488a-f364-d9688fd72ad2"
+ },
+ "source": [
+ "%cd /content/\n",
+ "##write custom model .yaml\n",
+ "#you can configure this based on other YOLOv5 models in the models directory\n",
+ "with open('yolov5/models/custom_yolov5s.yaml', 'w') as f:\n",
+ " # parameters\n",
+ " f.write('nc: ' + num_classes + '\\n')\n",
+ " #f.write('nc: ' + str(len(class_labels)) + '\\n')\n",
+ " f.write('depth_multiple: 0.33' + '\\n') # model depth multiple\n",
+ " f.write('width_multiple: 0.50' + '\\n') # layer channel multiple\n",
+ " f.write('\\n')\n",
+ " f.write('anchors:' + '\\n')\n",
+ " f.write(' - [10,13, 16,30, 33,23] ' + '\\n')\n",
+ " f.write(' - [30,61, 62,45, 59,119]' + '\\n')\n",
+ " f.write(' - [116,90, 156,198, 373,326] ' + '\\n')\n",
+ " f.write('\\n')\n",
+ "\n",
+ " f.write('backbone:' + '\\n')\n",
+ " f.write(' [[-1, 1, Focus, [64, 3]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [128, 3, 2]],' + '\\n')\n",
+ " f.write(' [-1, 3, Bottleneck, [128]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [256, 3, 2]],' + '\\n')\n",
+ " f.write(' [-1, 9, BottleneckCSP, [256]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [512, 3, 2]], ' + '\\n')\n",
+ " f.write(' [-1, 9, BottleneckCSP, [512]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [1024, 3, 2]],' + '\\n')\n",
+ " f.write(' [-1, 1, SPP, [1024, [5, 9, 13]]],' + '\\n')\n",
+ " f.write(' [-1, 6, BottleneckCSP, [1024]],' + '\\n')\n",
+ " f.write(' ]' + '\\n')\n",
+ " f.write('\\n')\n",
+ "\n",
+ " f.write('head:' + '\\n')\n",
+ " f.write(' [[-1, 3, BottleneckCSP, [1024, False]],' + '\\n')\n",
+ " f.write(' [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1, 0]],' + '\\n')\n",
+ " f.write(' [-2, 1, nn.Upsample, [None, 2, \"nearest\"]],' + '\\n')\n",
+ " \n",
+ " f.write(' [[-1, 6], 1, Concat, [1]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [512, 1, 1]],' + '\\n')\n",
+ " f.write(' [-1, 3, BottleneckCSP, [512, False]],' + '\\n')\n",
+ " f.write(' [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1, 0]],' + '\\n')\n",
+ " \n",
+ " f.write(' [-2, 1, nn.Upsample, [None, 2, \"nearest\"]],' + '\\n')\n",
+ " f.write(' [[-1, 4], 1, Concat, [1]],' + '\\n')\n",
+ " f.write(' [-1, 1, Conv, [256, 1, 1]],' + '\\n')\n",
+ " f.write(' [-1, 3, BottleneckCSP, [256, False]],' + '\\n')\n",
+ " f.write(' [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1, 0]],' + '\\n')\n",
+ " f.write('\\n' )\n",
+ " f.write(' [[], 1, Detect, [nc, anchors]],' + '\\n')\n",
+ " f.write(' ]' + '\\n')\n",
+ "\n",
+ "print('custom model config written!')"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "/content\n",
+ "custom model config written!\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "VUOiNLtMP5aG",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Train Custom YOLOv5 Detector\n",
+ "\n",
+ "### Next, we'll fire off training!\n",
+ "\n",
+ "\n",
+ "Here, we are able to pass a number of arguments:\n",
+ "- **img:** define input image size\n",
+ "- **batch:** determine batch size\n",
+ "- **epochs:** define the number of training epochs. (Note: often, 3000+ are common here!)\n",
+ "- **data:** set the path to our yaml file\n",
+ "- **cfg:** specify our model configuration\n",
+ "- **weights:** specify a custom path to weights. (Note: you can download weights from the Ultralytics Google Drive [folder](https://drive.google.com/open?id=1Drs_Aiu7xx6S-ix95f9kNsA6ueKRpN2J))\n",
+ "- **name:** result names\n",
+ "- **nosave:** only save the final checkpoint\n",
+ "- **cache:** cache images for faster training"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "1NcFxRcFdJ_O",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "outputId": "d5f4fff1-b950-44b3-e8d0-af55be109c01"
+ },
+ "source": [
+ "# train yolov5s on custom data for 50 epochs\n",
+ "# time its performance\n",
+ "%%time\n",
+ "%cd /content/yolov5/\n",
+ "!python train.py --img 416 --batch 16 --epochs 100 --data '../data.yaml' --cfg ./models/custom_yolov5s.yaml --weights '' --name yolov5s_results --nosave --cache"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "/content/yolov5\n",
+ "Apex recommended for faster mixed precision training: https://github.com/NVIDIA/apex\n",
+ "{'lr0': 0.01, 'momentum': 0.937, 'weight_decay': 0.0005, 'giou': 0.05, 'cls': 0.58, 'cls_pw': 1.0, 'obj': 1.0, 'obj_pw': 1.0, 'iou_t': 0.2, 'anchor_t': 4.0, 'fl_gamma': 0.0, 'hsv_h': 0.014, 'hsv_s': 0.68, 'hsv_v': 0.36, 'degrees': 0.0, 'translate': 0.0, 'scale': 0.5, 'shear': 0.0}\n",
+ "Namespace(adam=False, batch_size=16, bucket='', cache_images=True, cfg='././models/custom_yolov5s.yaml', data='./../data.yaml', device='', epochs=100, evolve=False, img_size=[416], multi_scale=False, name='yolov5s_results', nosave=True, notest=False, rect=False, resume=False, single_cls=False, weights='')\n",
+ "Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)\n",
+ "\n",
+ "2020-06-10 07:57:44.883081: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
+ "Start Tensorboard with \"tensorboard --logdir=runs\", view at http://localhost:6006/\n",
+ "\n",
+ " from n params module arguments \n",
+ " 0 -1 1 3520 models.common.Focus [3, 32, 3] \n",
+ " 1 -1 1 18560 models.common.Conv [32, 64, 3, 2] \n",
+ " 2 -1 1 20672 models.common.Bottleneck [64, 64] \n",
+ " 3 -1 1 73984 models.common.Conv [64, 128, 3, 2] \n",
+ " 4 -1 1 161152 models.common.BottleneckCSP [128, 128, 3] \n",
+ " 5 -1 1 295424 models.common.Conv [128, 256, 3, 2] \n",
+ " 6 -1 1 641792 models.common.BottleneckCSP [256, 256, 3] \n",
+ " 7 -1 1 1180672 models.common.Conv [256, 512, 3, 2] \n",
+ " 8 -1 1 656896 models.common.SPP [512, 512, [5, 9, 13]] \n",
+ " 9 -1 1 1905152 models.common.BottleneckCSP [512, 512, 2] \n",
+ " 10 -1 1 1248768 models.common.BottleneckCSP [512, 512, 1, False] \n",
+ " 11 -1 1 12312 torch.nn.modules.conv.Conv2d [512, 24, 1, 1, 0] \n",
+ " 12 -2 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
+ " 13 [-1, 6] 1 0 models.common.Concat [1] \n",
+ " 14 -1 1 197120 models.common.Conv [768, 256, 1, 1] \n",
+ " 15 -1 1 313088 models.common.BottleneckCSP [256, 256, 1, False] \n",
+ " 16 -1 1 6168 torch.nn.modules.conv.Conv2d [256, 24, 1, 1, 0] \n",
+ " 17 -2 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
+ " 18 [-1, 4] 1 0 models.common.Concat [1] \n",
+ " 19 -1 1 49408 models.common.Conv [384, 128, 1, 1] \n",
+ " 20 -1 1 78720 models.common.BottleneckCSP [128, 128, 1, False] \n",
+ " 21 -1 1 3096 torch.nn.modules.conv.Conv2d [128, 24, 1, 1, 0] \n",
+ " 22 [-1, 16, 11] 1 0 models.yolo.Detect [3, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]]]\n",
+ "Model Summary: 165 layers, 6.8665e+06 parameters, 6.8665e+06 gradients\n",
+ "\n",
+ "Optimizer groups: 54 .bias, 60 conv.weight, 51 other\n",
+ "Caching labels ../train/labels (255 found, 0 missing, 0 empty, 0 duplicate, for 255 images): 100% 255/255 [00:00<00:00, 7633.14it/s]\n",
+ "Caching images (0.1GB): 100% 255/255 [00:00<00:00, 456.43it/s]\n",
+ "Reading image shapes: 100% 73/73 [00:00<00:00, 6924.11it/s]\n",
+ "Caching labels ../valid/labels (73 found, 0 missing, 0 empty, 0 duplicate, for 73 images): 100% 73/73 [00:00<00:00, 7283.51it/s]\n",
+ "Caching images (0.0GB): 100% 73/73 [00:00<00:00, 449.15it/s]\n",
+ "Image sizes 416 train, 416 test\n",
+ "Using 2 dataloader workers\n",
+ "Starting training for 100 epochs...\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 0/99 3.36G 0.1082 0.3462 0.04301 0.4974 394 416: 100% 16/16 [00:05<00:00, 2.86it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:03<00:00, 1.57it/s]\n",
+ " all 73 967 0 0 0.0257 0.00505\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 1/99 3.03G 0.09409 0.3598 0.03679 0.4907 260 416: 100% 16/16 [00:02<00:00, 6.36it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.73it/s]\n",
+ " all 73 967 0 0 0.0253 0.00529\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 2/99 3.03G 0.09287 0.365 0.03135 0.4892 352 416: 100% 16/16 [00:02<00:00, 6.75it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.60it/s]\n",
+ " all 73 967 0 0 0.026 0.00544\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 3/99 3.03G 0.0918 0.364 0.02732 0.4831 271 416: 100% 16/16 [00:02<00:00, 6.81it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0 0 0.0276 0.00584\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 4/99 3.03G 0.09024 0.3629 0.02482 0.4779 319 416: 100% 16/16 [00:02<00:00, 6.67it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.53it/s]\n",
+ " all 73 967 0 0 0.0288 0.00581\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 5/99 3.03G 0.08675 0.3752 0.02259 0.4845 273 416: 100% 16/16 [00:02<00:00, 6.74it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.43it/s]\n",
+ " all 73 967 0 0 0.0289 0.00622\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 6/99 3.03G 0.08641 0.3863 0.0215 0.4942 249 416: 100% 16/16 [00:02<00:00, 6.70it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.35it/s]\n",
+ " all 73 967 0 0 0.0263 0.00586\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 7/99 3.03G 0.08515 0.3832 0.02024 0.4886 277 416: 100% 16/16 [00:02<00:00, 6.71it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.52it/s]\n",
+ " all 73 967 0 0 0.0231 0.00416\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 8/99 3.03G 0.08401 0.3933 0.01905 0.4964 244 416: 100% 16/16 [00:02<00:00, 6.71it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.46it/s]\n",
+ " all 73 967 0.196 0.0702 0.0397 0.01\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 9/99 3.03G 0.08287 0.3835 0.01839 0.4848 232 416: 100% 16/16 [00:02<00:00, 6.71it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.43it/s]\n",
+ " all 73 967 0.0164 0.013 0.0241 0.00479\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 10/99 3.03G 0.08186 0.3635 0.01795 0.4633 306 416: 100% 16/16 [00:02<00:00, 6.73it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.34it/s]\n",
+ " all 73 967 0.145 0.243 0.0996 0.0231\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 11/99 3.03G 0.08036 0.3781 0.01695 0.4754 257 416: 100% 16/16 [00:02<00:00, 6.89it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.28it/s]\n",
+ " all 73 967 0.0947 0.389 0.149 0.0309\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 12/99 3.03G 0.07838 0.3731 0.01597 0.4675 339 416: 100% 16/16 [00:02<00:00, 6.83it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.29it/s]\n",
+ " all 73 967 0.0469 0.454 0.115 0.0239\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 13/99 3.03G 0.07715 0.3666 0.01524 0.459 402 416: 100% 16/16 [00:02<00:00, 6.78it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.24it/s]\n",
+ " all 73 967 0.0653 0.458 0.118 0.0236\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 14/99 3.03G 0.07426 0.3667 0.0141 0.455 291 416: 100% 16/16 [00:02<00:00, 6.86it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.051 0.523 0.139 0.0309\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 15/99 3.03G 0.07353 0.3719 0.01366 0.4591 359 416: 100% 16/16 [00:02<00:00, 6.81it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.67it/s]\n",
+ " all 73 967 0.0626 0.0876 0.0263 0.00505\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 16/99 3.03G 0.07101 0.3755 0.01199 0.4585 327 416: 100% 16/16 [00:02<00:00, 6.60it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.14it/s]\n",
+ " all 73 967 0.0638 0.615 0.225 0.0603\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 17/99 3.03G 0.06881 0.3526 0.01143 0.4329 278 416: 100% 16/16 [00:02<00:00, 6.89it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.36it/s]\n",
+ " all 73 967 0.048 0.374 0.0579 0.0102\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 18/99 3.03G 0.06714 0.3582 0.01047 0.4358 274 416: 100% 16/16 [00:02<00:00, 6.94it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.00it/s]\n",
+ " all 73 967 0.076 0.627 0.342 0.108\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 19/99 3.03G 0.06393 0.3511 0.009688 0.4247 288 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.71it/s]\n",
+ " all 73 967 0.0483 0.258 0.156 0.0466\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 20/99 3.03G 0.06241 0.3471 0.009464 0.419 310 416: 100% 16/16 [00:02<00:00, 6.93it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.87it/s]\n",
+ " all 73 967 0.0194 0.098 0.0175 0.00359\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 21/99 3.03G 0.06132 0.3513 0.009127 0.4218 258 416: 100% 16/16 [00:02<00:00, 6.87it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.35it/s]\n",
+ " all 73 967 0.116 0.481 0.191 0.0466\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 22/99 3.03G 0.06009 0.3487 0.008079 0.4169 326 416: 100% 16/16 [00:02<00:00, 6.79it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.25it/s]\n",
+ " all 73 967 0.0712 0.828 0.355 0.101\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 23/99 3.03G 0.05885 0.3478 0.007727 0.4144 290 416: 100% 16/16 [00:02<00:00, 6.85it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.20it/s]\n",
+ " all 73 967 0.125 0.898 0.474 0.174\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 24/99 3.03G 0.05733 0.3455 0.006861 0.4097 292 416: 100% 16/16 [00:02<00:00, 6.77it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.20it/s]\n",
+ " all 73 967 0.0985 0.869 0.317 0.0726\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 25/99 3.03G 0.05639 0.349 0.006947 0.4123 261 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.13it/s]\n",
+ " all 73 967 0.294 0.887 0.66 0.277\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 26/99 3.03G 0.05493 0.3523 0.006268 0.4135 307 416: 100% 16/16 [00:02<00:00, 6.89it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.144 0.823 0.397 0.117\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 27/99 3.03G 0.05503 0.3385 0.006325 0.3999 197 416: 100% 16/16 [00:02<00:00, 6.89it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.67it/s]\n",
+ " all 73 967 0.18 0.0233 0.0314 0.00745\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 28/99 3.03G 0.05326 0.3448 0.005554 0.4036 302 416: 100% 16/16 [00:02<00:00, 7.00it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:01<00:00, 2.65it/s]\n",
+ " all 73 967 0.117 0.515 0.255 0.0742\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 29/99 3.03G 0.05501 0.3459 0.005661 0.4066 300 416: 100% 16/16 [00:02<00:00, 6.84it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.32it/s]\n",
+ " all 73 967 0.0403 0.884 0.352 0.108\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 30/99 3.03G 0.05292 0.3387 0.005249 0.3968 354 416: 100% 16/16 [00:02<00:00, 6.90it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.14it/s]\n",
+ " all 73 967 0.101 0.964 0.514 0.205\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 31/99 3.03G 0.05426 0.3344 0.005142 0.3938 323 416: 100% 16/16 [00:02<00:00, 6.83it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 1.90it/s]\n",
+ " all 73 967 0.212 0.981 0.589 0.161\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 32/99 3.03G 0.05653 0.3466 0.004815 0.408 335 416: 100% 16/16 [00:02<00:00, 6.96it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.26it/s]\n",
+ " all 73 967 0.201 0.752 0.439 0.161\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 33/99 3.03G 0.05508 0.3488 0.004604 0.4084 243 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.17it/s]\n",
+ " all 73 967 0.231 0.976 0.645 0.236\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 34/99 3.03G 0.05494 0.3453 0.004589 0.4048 283 416: 100% 16/16 [00:02<00:00, 6.60it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.23it/s]\n",
+ " all 73 967 0.287 0.867 0.624 0.214\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 35/99 3.03G 0.05397 0.3424 0.004599 0.401 261 416: 100% 16/16 [00:02<00:00, 6.80it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.37 0.876 0.66 0.229\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 36/99 3.03G 0.0544 0.3363 0.004161 0.3948 209 416: 100% 16/16 [00:02<00:00, 6.85it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.43it/s]\n",
+ " all 73 967 0.247 0.745 0.487 0.152\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 37/99 3.03G 0.05247 0.3425 0.004702 0.3997 222 416: 100% 16/16 [00:02<00:00, 6.82it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.04it/s]\n",
+ " all 73 967 0.308 0.952 0.707 0.328\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 38/99 3.03G 0.05141 0.3316 0.004162 0.3871 256 416: 100% 16/16 [00:02<00:00, 6.82it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.18it/s]\n",
+ " all 73 967 0.314 0.979 0.813 0.379\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 39/99 3.03G 0.05224 0.3453 0.003919 0.4014 287 416: 100% 16/16 [00:02<00:00, 6.80it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.24it/s]\n",
+ " all 73 967 0.231 0.979 0.796 0.3\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 40/99 3.03G 0.05082 0.3512 0.00391 0.4059 285 416: 100% 16/16 [00:02<00:00, 6.94it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0.174 0.927 0.615 0.206\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 41/99 3.03G 0.05135 0.3366 0.003789 0.3917 263 416: 100% 16/16 [00:02<00:00, 7.02it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.269 0.969 0.739 0.289\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 42/99 3.03G 0.05033 0.3377 0.003557 0.3916 273 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.23it/s]\n",
+ " all 73 967 0.479 0.867 0.803 0.405\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 43/99 3.03G 0.04798 0.3332 0.003365 0.3846 317 416: 100% 16/16 [00:02<00:00, 6.87it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.00it/s]\n",
+ " all 73 967 0.298 0.987 0.831 0.401\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 44/99 3.03G 0.04831 0.3303 0.003369 0.3819 310 416: 100% 16/16 [00:02<00:00, 6.90it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.10it/s]\n",
+ " all 73 967 0.355 0.932 0.759 0.324\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 45/99 3.03G 0.04872 0.338 0.003287 0.3901 250 416: 100% 16/16 [00:02<00:00, 6.78it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.06it/s]\n",
+ " all 73 967 0.375 0.981 0.792 0.393\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 46/99 3.03G 0.04692 0.3393 0.0033 0.3895 248 416: 100% 16/16 [00:02<00:00, 6.71it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.33it/s]\n",
+ " all 73 967 0.304 0.79 0.609 0.227\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 47/99 3.03G 0.04708 0.3378 0.003477 0.3883 274 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.25it/s]\n",
+ " all 73 967 0.407 0.966 0.807 0.394\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 48/99 3.03G 0.04616 0.3494 0.003313 0.3989 300 416: 100% 16/16 [00:02<00:00, 6.92it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.526 0.845 0.702 0.33\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 49/99 3.03G 0.04824 0.3336 0.002991 0.3848 261 416: 100% 16/16 [00:02<00:00, 6.80it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.02it/s]\n",
+ " all 73 967 0.485 0.946 0.826 0.387\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 50/99 3.03G 0.04459 0.329 0.00279 0.3764 253 416: 100% 16/16 [00:02<00:00, 6.98it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.18it/s]\n",
+ " all 73 967 0.434 0.97 0.838 0.436\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 51/99 3.03G 0.0462 0.3292 0.002881 0.3783 254 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.21it/s]\n",
+ " all 73 967 0.394 0.977 0.811 0.418\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 52/99 3.03G 0.0481 0.3343 0.002815 0.3852 290 416: 100% 16/16 [00:02<00:00, 6.92it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.08it/s]\n",
+ " all 73 967 0.341 0.879 0.745 0.315\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 53/99 3.03G 0.04704 0.3677 0.002742 0.4175 266 416: 100% 16/16 [00:02<00:00, 6.81it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.23it/s]\n",
+ " all 73 967 0.268 0.962 0.726 0.287\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 54/99 3.03G 0.04774 0.3398 0.002685 0.3902 307 416: 100% 16/16 [00:02<00:00, 6.93it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.20it/s]\n",
+ " all 73 967 0.397 0.975 0.788 0.439\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 55/99 3.03G 0.04927 0.3324 0.002749 0.3844 275 416: 100% 16/16 [00:02<00:00, 6.99it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.18it/s]\n",
+ " all 73 967 0.326 0.989 0.841 0.364\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 56/99 3.03G 0.04834 0.3286 0.002723 0.3796 237 416: 100% 16/16 [00:02<00:00, 6.97it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.30it/s]\n",
+ " all 73 967 0.42 0.96 0.759 0.403\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 57/99 3.03G 0.04494 0.3371 0.002721 0.3848 334 416: 100% 16/16 [00:02<00:00, 6.84it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.41it/s]\n",
+ " all 73 967 0.329 0.96 0.789 0.421\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 58/99 3.03G 0.04542 0.3371 0.002706 0.3852 299 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.15it/s]\n",
+ " all 73 967 0.467 0.984 0.825 0.424\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 59/99 3.03G 0.04461 0.3329 0.002625 0.3802 232 416: 100% 16/16 [00:02<00:00, 6.85it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.28it/s]\n",
+ " all 73 967 0.439 0.989 0.799 0.419\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 60/99 3.03G 0.04283 0.3261 0.002492 0.3714 336 416: 100% 16/16 [00:02<00:00, 6.93it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.24it/s]\n",
+ " all 73 967 0.538 0.94 0.787 0.427\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 61/99 3.03G 0.04283 0.3327 0.002511 0.378 292 416: 100% 16/16 [00:02<00:00, 7.04it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.16it/s]\n",
+ " all 73 967 0.506 0.969 0.814 0.421\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 62/99 3.03G 0.04179 0.3339 0.002342 0.378 325 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.36it/s]\n",
+ " all 73 967 0.426 0.986 0.87 0.457\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 63/99 3.03G 0.04235 0.3189 0.002442 0.3637 206 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.41it/s]\n",
+ " all 73 967 0.471 0.685 0.663 0.358\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 64/99 3.03G 0.04224 0.3295 0.002366 0.3741 331 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.19it/s]\n",
+ " all 73 967 0.38 0.986 0.867 0.48\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 65/99 3.03G 0.04219 0.3153 0.002422 0.3599 285 416: 100% 16/16 [00:02<00:00, 6.97it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.32it/s]\n",
+ " all 73 967 0.463 0.985 0.875 0.467\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 66/99 3.03G 0.04088 0.3098 0.002408 0.353 261 416: 100% 16/16 [00:02<00:00, 6.81it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.30it/s]\n",
+ " all 73 967 0.47 0.973 0.857 0.439\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 67/99 3.03G 0.04285 0.3208 0.002434 0.3661 295 416: 100% 16/16 [00:02<00:00, 6.98it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.17it/s]\n",
+ " all 73 967 0.433 0.992 0.87 0.455\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 68/99 3.03G 0.03982 0.3233 0.00223 0.3654 270 416: 100% 16/16 [00:02<00:00, 6.92it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.37it/s]\n",
+ " all 73 967 0.413 0.987 0.888 0.516\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 69/99 3.03G 0.03984 0.3192 0.002207 0.3613 263 416: 100% 16/16 [00:02<00:00, 6.84it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0.47 0.977 0.874 0.425\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 70/99 3.03G 0.03982 0.3188 0.002165 0.3608 315 416: 100% 16/16 [00:02<00:00, 6.87it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.15it/s]\n",
+ " all 73 967 0.496 0.982 0.866 0.431\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 71/99 3.03G 0.03972 0.3097 0.002126 0.3516 246 416: 100% 16/16 [00:02<00:00, 6.89it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.33it/s]\n",
+ " all 73 967 0.58 0.952 0.863 0.451\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 72/99 3.03G 0.03984 0.3195 0.00208 0.3614 222 416: 100% 16/16 [00:02<00:00, 7.02it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.30it/s]\n",
+ " all 73 967 0.593 0.949 0.828 0.483\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 73/99 3.03G 0.03928 0.3146 0.002189 0.3561 295 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.25it/s]\n",
+ " all 73 967 0.543 0.969 0.86 0.474\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 74/99 3.03G 0.04031 0.3221 0.00229 0.3647 288 416: 100% 16/16 [00:02<00:00, 6.96it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.37it/s]\n",
+ " all 73 967 0.416 0.984 0.87 0.454\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 75/99 3.03G 0.03872 0.3171 0.002116 0.3579 223 416: 100% 16/16 [00:02<00:00, 6.76it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.29it/s]\n",
+ " all 73 967 0.544 0.954 0.84 0.479\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 76/99 3.03G 0.03758 0.3195 0.00195 0.359 198 416: 100% 16/16 [00:02<00:00, 6.99it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.20it/s]\n",
+ " all 73 967 0.448 0.988 0.875 0.527\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 77/99 3.03G 0.03835 0.3135 0.001915 0.3537 365 416: 100% 16/16 [00:02<00:00, 6.93it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.30it/s]\n",
+ " all 73 967 0.48 0.992 0.88 0.523\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 78/99 3.03G 0.03898 0.3262 0.002074 0.3672 318 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.31it/s]\n",
+ " all 73 967 0.467 0.992 0.851 0.509\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 79/99 3.03G 0.03883 0.3174 0.001715 0.358 250 416: 100% 16/16 [00:02<00:00, 6.87it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.18it/s]\n",
+ " all 73 967 0.543 0.977 0.867 0.451\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 80/99 3.03G 0.03843 0.3122 0.001889 0.3525 354 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.35it/s]\n",
+ " all 73 967 0.555 0.986 0.881 0.541\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 81/99 3.03G 0.03757 0.3137 0.001855 0.3531 268 416: 100% 16/16 [00:02<00:00, 6.90it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0.49 0.989 0.888 0.538\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 82/99 3.03G 0.03772 0.3033 0.001908 0.343 254 416: 100% 16/16 [00:02<00:00, 6.78it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.22it/s]\n",
+ " all 73 967 0.52 0.992 0.892 0.534\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 83/99 3.03G 0.03758 0.3188 0.001926 0.3583 241 416: 100% 16/16 [00:02<00:00, 7.02it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0.522 0.987 0.874 0.481\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 84/99 3.03G 0.03698 0.3149 0.001491 0.3534 257 416: 100% 16/16 [00:02<00:00, 6.96it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.37it/s]\n",
+ " all 73 967 0.564 0.989 0.871 0.528\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 85/99 3.03G 0.03795 0.3077 0.001949 0.3476 218 416: 100% 16/16 [00:02<00:00, 6.85it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.38it/s]\n",
+ " all 73 967 0.58 0.989 0.87 0.531\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 86/99 3.03G 0.0375 0.3079 0.001654 0.3471 266 416: 100% 16/16 [00:02<00:00, 6.55it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.36it/s]\n",
+ " all 73 967 0.559 0.967 0.875 0.544\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 87/99 3.03G 0.03771 0.3108 0.001908 0.3504 368 416: 100% 16/16 [00:02<00:00, 6.85it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.28it/s]\n",
+ " all 73 967 0.523 0.985 0.878 0.524\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 88/99 3.03G 0.03649 0.3027 0.001764 0.341 245 416: 100% 16/16 [00:02<00:00, 6.81it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.17it/s]\n",
+ " all 73 967 0.543 0.981 0.885 0.538\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 89/99 3.03G 0.03774 0.3102 0.0017 0.3496 296 416: 100% 16/16 [00:02<00:00, 6.94it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.33it/s]\n",
+ " all 73 967 0.569 0.985 0.884 0.527\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 90/99 3.03G 0.03706 0.3107 0.001798 0.3496 288 416: 100% 16/16 [00:02<00:00, 6.92it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.34it/s]\n",
+ " all 73 967 0.58 0.988 0.893 0.538\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 91/99 3.03G 0.03773 0.3108 0.00173 0.3503 326 416: 100% 16/16 [00:02<00:00, 6.86it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.34it/s]\n",
+ " all 73 967 0.533 0.991 0.893 0.531\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 92/99 3.03G 0.03749 0.3158 0.001625 0.355 271 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.23it/s]\n",
+ " all 73 967 0.566 0.979 0.874 0.53\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 93/99 3.03G 0.03721 0.3126 0.001681 0.3515 311 416: 100% 16/16 [00:02<00:00, 6.94it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.41it/s]\n",
+ " all 73 967 0.58 0.974 0.876 0.538\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 94/99 3.03G 0.03649 0.2936 0.00182 0.3319 253 416: 100% 16/16 [00:02<00:00, 6.88it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.37it/s]\n",
+ " all 73 967 0.547 0.989 0.899 0.553\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 95/99 3.03G 0.0372 0.3158 0.001646 0.3547 311 416: 100% 16/16 [00:02<00:00, 6.99it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.24it/s]\n",
+ " all 73 967 0.553 0.987 0.899 0.56\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 96/99 3.03G 0.03753 0.3149 0.001574 0.354 331 416: 100% 16/16 [00:02<00:00, 6.84it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.36it/s]\n",
+ " all 73 967 0.557 0.988 0.883 0.555\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 97/99 3.03G 0.0374 0.3106 0.001632 0.3496 304 416: 100% 16/16 [00:02<00:00, 6.95it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.35it/s]\n",
+ " all 73 967 0.577 0.988 0.894 0.554\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 98/99 3.03G 0.03701 0.3035 0.001751 0.3423 305 416: 100% 16/16 [00:02<00:00, 7.00it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.27it/s]\n",
+ " all 73 967 0.576 0.991 0.896 0.553\n",
+ "\n",
+ " Epoch gpu_mem GIoU obj cls total targets img_size\n",
+ " 99/99 3.03G 0.03798 0.3126 0.001767 0.3524 336 416: 100% 16/16 [00:02<00:00, 6.91it/s]\n",
+ " Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 5/5 [00:02<00:00, 2.40it/s]\n",
+ " all 73 967 0.544 0.988 0.884 0.525\n",
+ "Optimizer stripped from weights/last_yolov5s_results.pt\n",
+ "100 epochs completed in 0.130 hours.\n",
+ "\n",
+ "CPU times: user 2.01 s, sys: 385 ms, total: 2.39 s\n",
+ "Wall time: 8min 9s\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "kJVs_4zEeVbF",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Evaluate Custom YOLOv5 Detector Performance"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "7KN5ghjE6ZWh",
+ "colab_type": "text"
+ },
+ "source": [
+ "Training losses and performance metrics are saved to Tensorboard and also to a logfile defined above with the **--name** flag when we train. In our case, we named this `yolov5s_results`. (If given no name, it defaults to `results.txt`.) The results file is plotted as a png after training completes.\n",
+ "\n",
+ "Note from Glenn: Partially completed `results.txt` files can be plotted with `from utils.utils import plot_results; plot_results()`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "bOy5KI2ncnWd",
+ "colab_type": "code",
+ "colab": {
+ "resources": {
+ "https://localhost:6006/": {
+ "data": "PCFkb2N0eXBlIGh0bWw+PCEtLQpAbGljZW5zZQpDb3B5cmlnaHQgMjAxNiBUaGUgVGVuc29yRmxvdyBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgpTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotLT48aHRtbD48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgPHRpdGxlPlRlbnNvckJvYXJkPC90aXRsZT4KICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTVFBQUFERUNBWUFBQURBcG81ckFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFCYWJnQUFXbTRCeFdzak9BQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmwwU1VSQlZIaWM3WjE1ZUZUVjNjYy92NXNGQ1ZSeHFWdHB0VlcyVmx4ZjYxcXRpcTBMOUdsOU5YVUJGRXBGUlRJaGhCQURDVGRBTUFFa0NZc0s3cUI5K2tENzJxZkJXaXZxVzdWYTY3NGlyZTlyYXhYMWJaVldaVEhML040LzVnNEdTR0R1ekwxejc1MDVuMzg0ek13NTU4dk0vWEsyM3prSERJR2ppemhQRjNGZTBEb01JRUVMeUdkMFBvT3dhQUF1Y1Y1YWgwVzVWUEI2a0xyeUdXT0lBRkNiL3ZTakVxZ0crdXp3S3dnZHdDMTBVQ2ZWL0RzWWhmbUxNVVFXVVJ1TEVrWUQ4eEVPMnY3R2pvWndQc3hIV014aElFdWxsSzVzNnN4bmpDR3loQzdnSkpSVzRDU2daeFAwbkg0Smk1aVU4N2pmR2czR0VMNmpUUXdFNWdHamtXN2ZkK3FHU0xLV0lzcGtNbS83SU5QZ1lBemhFMnBUUWgrcXNLZ0MrZ0x1VGJCcmVpdXdtSFlhWkRxZmVpcllBQmhEZUk0cVFpTVhBd3NRRHZQQUJEMmxOeUxVczRuYnhTYWV1V3BERW1NSUQ5RWJPUUZvUlRodCs0ditHQ0w1NTdOQXVjUjRLaTNCaGwwd2h2QUFiZUFRTEd4Z0FtRDVhb0x1NmNTZml2QUxsRXFKOFk1TDZZYWRNSWJJQUxVcHBvaHJFV1lqN0wzOWpld2FJcG5lakxLUXZXbVVjV3hMNlI5ZzJBVmppRFRSdVl6Q29nWDRCcEE5RTNSUDkveiszNEdaVXNiS1hxUWJkb014aEV1MGdhTVJtbEhPOXZBQi82T1RPdGtEUXlUU3lpTW81UkxqdFo3K0hZYWVzWUlXRUJYVVpqK2RTeXZ3UE1yWkhoVzdFV0VpbjNFYVV6a1ZvUlQ0bXljbEMrZGc4Ykl1WmFYZXdvR2VsSmtIbUJaaUQ2aE5JVVdNUjJrQUR2Q29WZGlLc0pqNHJ1c0p1cHdTUHFNS3FFS2M5WXZleWttOXprMUFFd2ZTTEtXMFkrZ1ZZNGpkb1BXY2cwVUx3bEhiWDh6Y0VHc1J5bVRhN2xlY3RZbUJGRGtyM095d3hwMk9JWkxwRFFoVDVUb2UyRjNkK1l3eFJBL29IQVpCdDdCc2IxcUZGeW1nWENyZHhTVHBJczRFV2hDTzNhWE05TFdzbzRDWVhNTWJiclRrQThZUTNWQ2IvZ2lWeUU1aDJaa1o0aU9FT1J5ZWZ0U3EybGdNWURUS2ZPQWdqM1Ixb054Q0lYVXkwWVNaSnpHR3dIbmdMT2VCNnlrc083MEhML0hBaVhmN0duUVovV252d2JEcGF3U2NNUFA5VEpnNUdFT2dzMU1JeTNiL3NLMGpUa3hxL09tU2FDdURVQnFRN1R2dHZPald2WWhRTHRma2Q1aDUzaHBDYlJkaDJhay9WQnRRS3FTRzMzZ3F0aGUwbFhPQUZ1QW9EOWRFMWxKQW1mdzBQOFBNODg0UWFsTUN6clJtcW1IWmUzNlFOaUUwOFRuTlltZDNXbE50Q3RtWDhZZ3pMZHk3UmpmcFJKaDVFUTN5ay93S004OGJReWdJZFZ5TXhRTFVaVmgyNys5M290eUpNRk5xK0lmWG10MmdpOWlQUW1ZQjF5RVVibjhqTTNPOGgxTERSRmFKb0o0S0RpbDVZUWl0NVFRa2c3RHNubDk3Rkl0eXFlWlZUOFZtaUM1aEtFb3o0aHhyNDAxWDZsbVVtRnpEMHg1S0RTVTViUWl0NFJDS3NORU13N0ozZk8wdGxCcVp5UnFQNVhxS0xtWVVRZ3ZpQkI5Q3B1WlE0RjQ2cUpKSmZPQ3AyQkNSazRaUW0ySTZQUXpMVHZ5WkNLL2VoeHVsak04OWx1d0xhbFBNL3M3M0FIdDcxRnBzUmxoSVlXNkdtZWVjSVhTRzUySFpjWVQ3RUtiSkRENzBWbTEyME9VY1FnYzI0clNVNE1YMzhoWkNqVXdJZDB2cGxwd3hoTjdBVUFwb0JzN3pjQXJ5R1pTWTFQR01oMUlEUTI5MnRyZ3FwM24ySFZrOFNwd3A4bE5lOFZCcVlFVGVFR3F6SHgzTVFyZ09uTm1Wekgvc2Q0RVoxT2JlN0lvcXdpM09JUWh3R09ERjk5V0pPTE50NDRPZGJjdVV5QnBDYlFycFlEeDRHcGE5QlZqQWwyaVNDclo2S0RkMDZISks2S1FLU1NITVBOVzB4U2JpTkxGM2RNUE1JMmtJclhGV2FMMEx5MWJnRnhRd1RXWjZ0RUVuSXVqaUZNTE0zYVlUWWVZVk1pNDdLL1plRWlsRDZFd0dFZmM4TFBzNUxNcWxqajk0cHpSNjZNMmM2VXhHN0JwbTdqYjl4V3ZyS0tSTXhyTGVPNlgrRWdsRHFPMUVlU3JWQ0gyMnY1R1pJVFlDOVdBTyswcWlOaFlITzRjeGR3OHpoMHpXYlJKUnZ4M1JDRE1QdFNIVXhtSXJvN0djSHdpOGFCWGFnVnNwWWFZNURySm5kQm45c2FqRWNzTE1JUk5ESkVtRW1mY05kNWg1YUEyaE4zUUx5L1p1R25VdFFreHMvdGREcVRtTDNzb2d4T21pWm02SVpQb0ZsSElaeHhOZWF2V0swQmxDcXhpSTFXMlFCMTYwQ2kraGxNc2NmdStwMkR4QlZ6RENpWTlLVEdKa1pvaGtlaTF4SnNzNC91cWwxa3dKalNIVXBvUXR6alFnOVBXb1ZVaHMzMXpQVWxrVDNtWTZDcWhOSVY5eFRoOFJKOHdjTWpFRUpLYTVsOUNYdVZMS1o5NHFUby9BRGFFZ1RPTml4RmtvY3YrbDlwUk9YRXZWVHAwMGhYOGdGeVgwZHZaRG1RVk1BZ295TkVReS9SNUNEYU9EWHdnTjFCQTZsUk93ZWduTFR0OFE2eERLWlk2NXVOQlA5RGFHQVl1UWJyZW5adjdiL1FtTG1JemVmcEpoMWduRUVGcnVoR1h2N3JSczkxL3FCdUpNbFhubXpLRnNvcmN6Q3B4Z1NtOWFkMFdjTVBOeDJROHp6Nm9obk83Uk5KUmFoUDQ5cW5EL3BYNE0xRlBFeldMVDZhMWlReXJvWGV4Rm5BcmdCcUMvUitPL1Q3Q1lReEdMc3hrR2t2VVdRaXM0emprTjc0d2VWYVJ1aUVSWWRoR1ZZdk4vZm1nMXVFT1hjd2lGUG9XWlg1R2RNUFBBeGhCYXlTaUVWdURycmcyaFBJb3dSZWJsUnNoeHJxRjNjd0pkenRqUXV6V2tSMUhLWmJTL1czYURIVlRiRkxPWmF4SG1BRi9hUVZIUFg4eGJXTlJJUTI1dFNzbEZWQkh1OWlITUhPNmtpSmxTNmsrWWVlRFRyZ0JheGFIQUxHQUMwbU5UbTlpMldFeWoyTG0zYlRHWDBlV1VVSnppYWVhcHB6ZWgxSE1veStRc2I4ZU5vVEJFRXEzaVA1eHUxS21Pc3NURzlpNnFaRUh1Ym16UEIvUTJCbExNUE5URE1ITjRFNHNLdVpRSHZkSVpLa09BTXhNMW5URUlGMk5oeXp4ZUNGcVR3VHYwTHI3cmhKa2ZzLzNGek0xeFAzRXE1WXJNWTlSQ1p3aEQ3cU0yRm9jN1llYVNRWmo1anVrT0xHNmhnMW9aelNmcGFqT0dNQVNHcnFZL1c3dWRaZzZadHhiQyt5ZzJGbmVrRTJadURHRUlITDJQUVhTbEVXYSt1elE4ajBXNWxQS2tHeTNHRUliUW9QZHdQc0lpaEtGQXBvYUF4S1gyRStUSDNKbXFCdGUza0dvNUU3U2NIN3JOWnpEc0NibVNCOW5LMGNCRTRKOWVGQWtjNmlhRCsydDVsU05SN3RjWTYvUjZ4OGtHZzBmSVJEcGtEQ3Zvd3hCZ01XUjNIMHM2aGloeVV1ZFF3Q3NhbzFXdjZ4YW9aekI0Z0pUeXNZd21ScHpod0crelZhOTdRMWpiRFFGUUJKUlJ4SHFOTWRZelZRYURnNHhsdll6bWZJUWZnUDk3NFROcElib3pFTGhIeTNqWWRLTU1maUNYMDBZUnc0QnlTSCtkWVUrNE53UTlHaUtCTUlJQ1h0WXBOS3JOWHVuTE1oaDJSVXBwbHl0b1JSZ0cvcHlsNWEwaEVoU2pUT2Rmdks0eFJxWWp5bURZSFhJWkc4R2Z2ZGQrR0NMSk54RGFkQXB0V3NuWDA2akhZTWc2WG8waGRzZEl1bmhkSzdCTk44b1FkaktkWlVxVnZpaXorSVRYdEpJTDA4aHZNR1NGYkxRUTNUbUNPR3UxZ2pZdDUvQU15akVZZk1IUE1jVHVHRWtCYjJpbDZVWVp3a1ZRaG9Ca04rcFRYdFZwWE9CUm1RWkRSZ1JwaUNSSG9qeWdVMm5UYXRPTk1nUkx0c2NRdlNPTXBKUFh0UXBiSjNlN0ZNVmd5Q0x1RFNFK0dTSkJDY29zK3ZDYVR1dDJacWpCa0NYQzBHWGFGZUZJNEVHdG9rMm5PbWY2R0F4WklKeUcrSUxFYkpUcFJobXlSTmdOQVZBQ3pLS0VWM1U2Mzg5eTNZWThJd3FHU0RJSStLMVcwNmJUK1ZwQUdndzVUcFFNa1VBWmliQmVxN0hWcGpoUUxZYWNJM3FHU0pEb1JtM2pWYTNtZTBHTE1lUU9VVFZFa3NFSUQra050T2tNdmhxMEdFUDBpYm9oa293a3pucXRNZDBvUTJia2lpRUErZ0d6YU9jVnJlSGNvTVVZb29rclEyamk0S2RDbjdSNHhSRGdkenJEZEtNTTduSFhRbHdkZWpOMFp5U3dYbWVhYmxSZUUzZDNHSUhiTGxOWXUwdTkwUTlsRmwyOHJETVpFYlFZUTFiWmpGTFBOaGE1eWVUT0VQdEd6aEFKbEtIQTczUW1LN1dHZzRLV1kvQVZCVmJSd1NDNURGdkd1YnVDelowaE9pTnFpQVFDaktHQURUcVRtTnFSNnY0WlVrSDVFeGFueWFXTWxURzhuMDRSN2d6UkZXbERKTmtIb1lVdW50TmFUZ3Rhak1FVDNrVzRra3M1V1VwNU9wT0MzQm5DcjgxQndYQU13aE5hWjdwUmtVWFpBdFJUd0dDNWxKVWltUjllNXM0UThad3lCQ1M3VVlXOHFYWEU5QklLZ2haa1NCRmhGVVVNbHN1d3BaU3QzaFhyQXIyZW9SU3czbFdwMFVxL2hEQkpiSjdDa0plNGF5R0tjcTZGMkpsamdTZlZacVhhSEJpMEdFUDJ5ZWN4Uk0rbzA0MkNEVnBQVEZlYmJsUStZUXpST3dOUVdsalBzenFiVTRJV1k4Z091YjVTN1FYSG9meEI2MW1wOC9oeTBHSU0vbUphaU5SSWRLTTYyYUJ6VERjcWwzRm5DTW43SUxsOVVWcll3SjkwTGljSExjYmdQYWJMbEE3SzhTaFA2UnpUamNvMVRKY3BmUkxkcUM3VGpjb2xUQXVST2ZzaXRQQVhudEhabkJTMEdFTm11RE5FZXJjSDVRZktDVmc4cFhOWnFUWUhCQzNIa0I2bWhmQVdDMkVNUld6UUJtSnFwN1ZuUFZSb013T0MxcEFKdXBxRDNYemU3USsyNXowRXJxS2pjcGI5Z0JhS2VWSWJPU1pvTWVtZ1N6aFVsN0tjWXVZRXJTVWRkQlZEOUdjOFFBZFQzZVJ6TzZoMk4rMXF6SEVLU2xuUUl0eWdOc1c2aEJnV2J5SmNUWG9uc3dTRzNzZStlaCtOV0x3QzdtK21jcmRyVENsSyt5SGZNZDltNERHZ2pTNmVvSWpIMEJ6ZGt4Q25QV2dKcWFMTEdJWFNDdEc3VjF4dExJNWdOTEFBMGcvTWRMdU5NcE14eE5zb0R3TnIyWWVIeFA3aVFkRktLb0Q3TWlnN3ZBZ2RRVXZZRTdxTVk0blRnbkptMEZyU1FlL2pMT0swSUJ5ZGFWbnVER0ZSNUdKUFVoZUovUVZyRWRya0pwN3Y3WU95a0o5cEpaZEREdDVoTGVGdElYUXArd04xeEprRTBWdEgwWlY4RFl1NUtHTzg2cDY3N3pMdG5zMkkweFVxNU5leWdBOWNLTG1lTHI1TDRnUyszRUhEMTBMb2NvcG81enJpMUNQc0U3UWV0K2hLK2lGTUE2YWo3T1hsV05XTEx0UGJDQThqdTNhRjNDQ04vRldyYUVDWmwzZ2huVkpDU01nTW9Zc1p3ZWUwQU44S1dvdGJWQkh1WlF4S0U3aWJUazJWZEF6eFJWY29UcHNzN3IwcjVKb1NGckNaVWhJNzEzSURLeHlHMEtVTXBvdEZLQmRHOFQ4YnZZc1RXVVVyK0xzM3haMGh1cmliSXVaTE14LzdJVVpzT3JXUzZ4Q2VwUHQwWDIvN29LTkJvR01JYldZQVFqVmRUSUhvUlN2clBYd0Z1QkVZVFJaK2ZWZUdrS1c4NlplUTdYVXM1R21keG5MZ1dyL3J5Z29CZFpuVXhtSkE1dE9RUWFHcjZjdFd5b0Fad0pleVZXODRGMTIyVVkzdzNoNC9GNFhXSW9CWkpyMkpzOWlIRjRCN2lLSVo3bUlVVzNnRHBaRXNtZ0ZDYWdoWndpZEFoYnRNL21qSm1DeTJFSG9UWDlWbVZtTHhLRVF2WkVUdjVIaTlpOGNSZmcwY0hvU0cwSjV2S2syczFtbU1SaGpsUHJNUGd0SWxDNGJRQmZURFlockNkR0F2dit2ekdyMkgvZW1pRGdsK1BTUzBoZ0RBNG5xVXM0RCthWmNSdkRsODZ6S3BJaXppWW9TRkVMMnJpblU1UlJSekhWM2hXUThKWlpjcGlUVHhEa0s5ZHdWNlZsTHErRFR0cWdzNWtVVThDYXdtaW1hNGt4RVU4UkpLQzRURERKQmxRNmhOb2JwOUxQdlNBcnpvdVpqc21HTVR5cXRlRnFoTkhLb0xXWTd3UitCVUw4dk9Cbm9IUS9SMkhuRGkycjRadEo2ZDhkMFFPcGsrT29VUldrRXJuL0F1VTdqS1RYNng2VVM1bXNTQ29ELzRZUTdsQXl6T2tocmU4S3pJaFZ4RUFYK0c2SVZsQStqdGpBZGVROXlIWldjTFg3NVVuVUpmbmNJb25jSktDdmtRZUJnb0F3NUNhTllxQnJvcFQrYnpISEN6SDFwM3JjeVRVdDZtZ085SU5TOTdVdG9YSEVPMFk3MkdFZkp4cTJmaXRKd0JLT2NpakVMNUVkQy9sNGRySDdxNEJWek9IaWt6RUg0RTdzeVVFZW1aNHpVSytiNU1aNlBIYWd4WklLTVdRaWV4djhZWXF6SGFVRDRrTWNBYnc1NW5oVVpxQlQ5MlU1Zk01MU1rOUx2UEhxZUEwNDBab290clEraGtCbW9aVjJ1TU5ncDVuOFJxNkVqY3hza0lTN1hTM1NxcU5ISS95cTljMWVNVmUyNHQxbExDZVZMTnY3T2d4dUFUN2k1dUwrY2lMTjVCV0U3Q0JKbnNvRHVBT00ydWN5bVRJT0NIYm1kektQZnlaUzZTQ3U5dXNqRUVnOXNydGZyaDVaeU1jTGxPNVlldXNzeG5JOG9zenpSa2lzVVN1cmhTSm9ZanpOdVFHY0ZQM1FrM2F6WDd1c3JUbHlYQUgvMFJsRElLMU1zTXlzUW1IckFXZzBjRWJ3ZzRoRTZhM0dRUW16Z1dFeUd3LzVXN1VLNlJXdXlBNmpmNFJCZ01BVEJCcC9FOU54bGtIcThBUzN6U3N6dmFFUzZUT2xZRVVMZkJaOEppQ0NIT2NyVmRCdkgxb1JaNDJ4OUpQYklaWVpUTVpFMFc2elJra2JBWUFvVEQyY3hjVjFsc3RqZ2h3OW5nWXl4R1NDMi95MUo5aGdBSWp5RVNUTmJwbk80bWc4empRZUFYUHVsSjhnN0NxVEl6OElHOHdXZkNaZ2lMT0xlcjdYS1RTeWVUZ1gvNUk0bjFGSEM2MUxMQnAvSU5JU0pzaGdBWXdtWnEzV1J3RGtTYjZZT1c1eWppVEpuSjM5TXRRQnM0eWt0QkJuOEpveUVBcXJTYUUxemxLT1lXNENrUE5UekdYcHd0TmZ3ajNRTDBScVlqVkhxb3llQXpZVFZFSVhIdTBLdFREdzBSbXpnRlhJTTNheE8vQWk2UTZYeWFiZ0hhd0d6bjFBaERoQWlySVFDT1lRQlZiakxJSEY1RjBvaVAycEc3Z1V2RVpsczZtVlVSYmFBRmNkZnRNNFNETUJzQ29GYW51enlEZEFzMjhEOXAxU1kwaWMwNHNlbE1KN3V1cG9CNTNBN0UwcXJmRURoaE4wUWY0QTY5SlBXalNhU1pyVTVFYk9vSWlsSXBOdFZ1QlNiUjFSVHdaKzRDeHFkYmhpRjR3bTRJVUU3aTYweDJrMFhtOFJEQ3oxUDhlQmN3UVdaemszdHhDZFNtbUQrekJtRk11bVVZd2tINERRRWdOR2cxUjdyS0U2Y2MyTFNIVDMxT1lyeHdaN3JTMUthRVF0cUFINlZiaGlFOFJNTVFVSUp5bTVzamJHUWVIOEp1dTBEL3dtS0V6T2IrZEVYcEF2bzVabkFWbUdnSUwxRXhCTUIzcWVhbnJuSTBjQnZ3WkEvdkpJNklzWHQ4THlYVVpnRGJXQWVjblc0Wmh2QVJKVU9Bc2tCbjhOVlVQeTZKVFR3VFNIU05raVNPaUxGNUtXMFpOZ2RTd0g4REo2ZGJoaUdjUk1zUXNEZGQzT29tZzh4bEE3RFErZXZyeFBtTzJMeVZyZ0MxT1pnQ0hpR0NwMnNiOWt6VURBRndnVlp6aGFzY2hjeEZ1WnNDVHBlR0ZPNmQ2QVdkeTJGWVBBRW1QaWxYQ2ZVcGFydWhWV3RZNXd5Yzk0aXo2and1a3dyVlpqQngxa0hxWFRaRDlJaGlDd0d3UDhyaWJGV21jeGlHeFdNWU0rUThVVFVFS0tWNkF4ZjVYbzNOOGNSNUhEalU3N29Nd1JOZFF5UllwamI3K1ZXNHp1WkVoSWVCQS95cXd4QXVvbTZJZzltV2ZzakY3dERabklueUNQaG5PRVA0aUxvaFFMaEtxem5QeXlLMW52T0o4eUJadmdIVEVEelJOd1NBc0Z5cnZIbDQxZVlIS1BjRGZiMG96eEF0Y3NNUThEVUt1VEhUUXJTT3k0QmZrZ2c3TitRaHVXSUlnR3QxQm1la20xbHRya2E0bCtpdXpSZzhJSmNNWWFIY3BsUGNkM1cwamtuQXJlVFc5MkZJZzF4N0FBWlQ0dTRBWXExak9zSlNOQVEzV2hzQ0o5Y01BY3BVcmVYRWxENDZpM293SjJQa01HK2cvTkpOQm5lRzZPSnhKUFJubXhZUTV3NjFlNy9pUzBGMEZxMG9kZGtVWnNnYW00QnFDamxPUnJzN2Z0VFZBRktXOFRmZyt6cUZFY1JwQVpjblltU1A0YlJ6QTFDLzh4dHFZOUhKQ3BTZkJLREw0Qzl4NEQ2S21DcWw2UjB3bDFhWFNacFp4MWFPUXlrbjZQdmVla09vMFZxR2QzOUpMNkdBVHU1RWpCbHlEdUZSTEk2VEt4aWJyaGtnZ3pHRXJLQkRGdE5LSjBjQWkwbWNYaEVtaW9semo5cUpWbEJ0aWhuS2FvUXJneFptOEpTM0VFcmxDczZSeTNrbDA4SXlIbFRMTWo2U1ZtSUl3NEdITWkzUFk0NmpnM0tkVEI4NldRUCtSOGNhc3NabW9KNU9oc3NWM2wxZzQ5a2lsTFN3SGpoUFkxeUNNQjg0M0t1eU0wS1l6VDVjQkp3U3RCU0RKeWh3TDUxVXlUZys4THB3ejZkZHBaVTFER0FJUWpud2lkZmxwMEZmakJseWhXZFJUcE94alBYRERPRFRPb1RZdEVzenJSUXhERmdCNXRwYVEwYThoM0lsWXpoSnJ1UnBQeXZ5ZFdGTzVyTlJtcGtJbkFUOHdjKzZERG5KVnFDSnZneVZxMWdwZ3ZwZFlWWUMyYVNaNXhTK1F3VVhBd3VBdzdKUnJ5SFNyRVdaTEZmeDEyeFdtclhRRFFHVlJhemhNNzZKVUUvQy9RYkR6cnlBY29aY3hTZ1psMTB6UUFDeFRMS0NMYklRbXdJR0E2dkEvMmJRRUFrK0FzcnB4N2RsSEU4RUpTS3c0RDZaejd0eUUyT0JVeEJ6M1cwZTB3RXNwcDBqWkJ5dFVocnNBbS9nMGE2eWtHZm94Mm5PQ25KS0I0OFpjb1oxd0xFeW5waE1ERWNJVU9DR2dNU0ZpYktBbFNoSE9PT0x6L2VZeVJCbE5tQnhvWXpuWEJuUEcwR0w2VTRvREpGRUZySlo1bU5Ud0ZHSWQ4dnhodER3TWNway9zNVJNbzdmQkMybUowSzVmMWdhZVFzbzFXck9kc0xNaCs4cGp5SDh5SVRNRDRMd20xQzFFRHNqalR4S0NjY2pUSVQwUTNvTmhsUUp0U0VBeEtaVEdsbUJNQVNsQ1dnUFdwTWhkd205SVpKSUk1dGtQdFhFT1JyQzJmODBSSi9JR0NLSnpHZUROSEloY0M2RWE0YkNFSDBpWjRnazBzZzZQdUpZSjh3OEZIUFlodWdUV1VPQXM0MTFIcTNBRWM0RkttSGJ4bXFJR0pFMlJCSzVrWS9rUm1MRU9SRjRQR2c5aHVpU0U0WklJbzI4S1BNNEUvZ0I4SGJRZWd6Ukk2Y01rVVFhYUdNTDMwS3BCajROV284aE91U2tJUUNrbWEweWp5WUtHWXFhYmF5RzFNaFpReVFSbTQzU3dFU1VreENlQ2xwUHhQZ3Y0dHN2dmM4TGN0NFFTYVNCNTVqTjZRaWx3RHRCNndrNWJ3TG55eVQrVXlibjExZ3Nid3dCempiVzJheWhnR0Vrem4zZEZyU21rUEV4U2puL1pMaE00cmRCaXdtQ3ZESkVFckhaSXJPeHNSZ0VyQ0lMcHptRW5FNWdCVVVNa2NtMGlrMW4wSUtDSWk4TmtVUnMzcFhaaktXTHM0Q1hndFlUQ01vanhEbE9Kak5SSnZMUG9PVUVUVjRiSW9uTTRmY0lKK1RaTnRhL0lKUktHU01reG10Qml3a0x4aEFPWWhNWG01WEFrWkRUMjFnL1E2a0hoc3Rrc3l0eFo0d2hka0pzUGhNYm13S0dRMDQ5TUhGZ0ZjcVJFc09Xc3B3MWZFYUVjZ3RwR0pCYS9nS1VhajNuQU0xRWV4dnJNeWd4S2VlWm9JV0VIZE5DN0FHWnhTTW94ME1rdDdHK0MxeEpqRk9NR1ZMREdDSUZ4S1pUNmxoQm5LRWtia3NLKzdUa0ZxQ2VPSU9sUER1SEJPY0t4aEF1RUp1UHBZNFlCUXhIZVRCb1BUMmd3QnE2K0taTXdaWUtjMzZ1Vzh3WUlnMmtoamVCQzNRT0kwaTBHTU1DbGdUQzgwQk1wcGhyQnpMQnRCQVpJTFdzNDhzY0UvQnRyTzhqVE9UZmZOdVlJWE9NSVRKRUp0SWh0YlJpY1FTUzFXMnM3Y0JpaWhncVUxZ2h0Z2x2OXdKakNJK1FHajZTR21MQXQ4SDM0OXpYWWpGTXBoS1RzbERjNDVjem1ER0V4OGdNWGdETzBMbU13cUxWNCtMZlJEaGJwdktZeCtVYURQNmpOaVhheUJsQjZ6Q2t6djhEUWQ3UXJNYkxSMUFBQUFBQVNVVk9SSzVDWUlJPSI+CiAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1RQUFBREVDQVlBQUFEQXBvNXJBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQmFiZ0FBV200QnhXc2pPQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUJsMFNVUkJWSGljN1oxNWVGVFYzY2MvdjVzRkNWUnhxVnRwdFZXMlZseGY2MXF0aXEwTDlHbDlOWFVCRkVwRlJUSWhoQkFEQ1RkQU1BRWtDWXNLN3FCOStrRDcycWZCV2l2cVc3VmE2NzRpcmU5cmF4WDFiWlZXWlRITC9ONC81ZzRHU0dEdXpMMXo3NTA1bjM4NHpNdzU1OHZNL1hLMjN6a0hESUdqaXpoUEYzRmUwRG9NSUVFTHlHZDBQb093YUFBdWNWNWFoMFc1VlBCNmtMcnlHV09JQUZDYi92U2pFcWdHK3V6d0t3Z2R3QzEwVUNmVi9Ec1loZm1MTVVRV1VSdUxFa1lEOHhFTzJ2N0dqb1p3UHN4SFdNeGhJRXVsbEs1czZzeG5qQ0d5aEM3Z0pKUlc0Q1NnWnhQMG5INEppNWlVODdqZkdnM0dFTDZqVFF3RTVnR2prVzdmZCtxR1NMS1dJc3BrTW0vN0lOUGdZQXpoRTJwVFFoK3FzS2dDK2dMdVRiQnJlaXV3bUhZYVpEcWZlaXJZQUJoRGVJNHFRaU1YQXdzUUR2UEFCRDJsTnlMVXM0bmJ4U2FldVdwREVtTUlEOUViT1FGb1JUaHQrNHYrR0NMNTU3TkF1Y1I0S2kzQmhsMHdodkFBYmVBUUxHeGdBbUQ1YW9MdTZjU2ZpdkFMbEVxSjhZNUw2WWFkTUliSUFMVXBwb2hyRVdZajdMMzlqZXdhSXBuZWpMS1F2V21VY1d4TDZSOWcyQVZqaURUUnVZekNvZ1g0QnBBOUUzUlA5L3orMzRHWlVzYktYcVFiZG9NeGhFdTBnYU1SbWxITzl2QUIvNk9UT3RrRFF5VFN5aU1vNVJManRaNytIWWFlc1lJV0VCWFVaaitkU3l2d1BNclpIaFc3RVdFaW4zRWFVemtWb1JUNG15Y2xDK2RnOGJJdVphWGV3b0dlbEprSG1CWmlENmhOSVVXTVIya0FEdkNvVmRpS3NKajRydXNKdXB3U1BxTUtxRUtjOVl2ZXlrbTl6azFBRXdmU0xLVzBZK2dWWTRqZG9QV2NnMFVMd2xIYlg4emNFR3NSeW1UYTdsZWN0WW1CRkRrcjNPeXd4cDJPSVpMcERRaFQ1VG9lMkYzZCtZd3hSQS9vSEFaQnQ3QnNiMXFGRnltZ1hDcmR4U1RwSXM0RVdoQ08zYVhNOUxXc280Q1lYTU1iYnJUa0E4WVEzVkNiL2dpVnlFNWgyWmtaNGlPRU9SeWVmdFNxMmxnTVlEVEtmT0FnajNSMW9OeENJWFV5MFlTWkp6R0d3SG5nTE9lQjZ5a3NPNzBITC9IQWlYZjdHblFaL1dudndiRHBhd1NjTVBQOVRKZzVHRU9nczFNSXkzYi9zSzBqVGt4cS9PbVNhQ3VEVUJxUTdUdnR2T2pXdlloUUx0ZmtkNWg1M2hwQ2JSZGgyYWsvVkJ0UUtxU0czM2dxdGhlMGxYT0FGdUFvRDlkRTFsSkFtZncwUDhQTTg4NFFhbE1DenJSbXFtSFplMzZRTmlFMDhUbk5ZbWQzV2xOdEN0bVg4WWd6TGR5N1JqZnBSSmg1RVEzeWsvd0tNODhiUXlnSWRWeU14UUxVWlZoMjcrOTNvdHlKTUZOcStJZlhtdDJnaTlpUFFtWUIxeUVVYm44ak0zTzhoMUxEUkZhSm9KNEtEaWw1WVFpdDVRUWtnN0Rzbmw5N0ZJdHlxZVpWVDhWbWlDNWhLRW96NGh4cjQwMVg2bG1VbUZ6RDB4NUtEU1U1YlFpdDRSQ0tzTkVNdzdKM2ZPMHRsQnFaeVJxUDVYcUtMbVlVUWd2aUJCOUNwdVpRNEY0NnFKSkpmT0NwMkJDUms0WlFtMkk2UFF6TFR2eVpDSy9laHh1bGpNODlsdXdMYWxQTS9zNzNBSHQ3MUZwc1JsaElZVzZHbWVlY0lYU0c1MkhaY1lUN0VLYkpERDcwVm0xMjBPVWNRZ2MyNHJTVTRNWDM4aFpDalV3SWQwdnBscHd4aE43QVVBcG9Cczd6Y0FyeUdaU1kxUEdNaDFJRFEyOTJ0cmdxcDNuMkhWazhTcHdwOGxOZThWQnFZRVRlRUdxekh4M01RcmdPbk5tVnpIL3NkNEVaMU9iZTdJb3F3aTNPSVFod0dPREY5OVdKT0xOdDQ0T2RiY3VVeUJwQ2JRcnBZRHg0R3BhOUJWakFsMmlTQ3JaNktEZDA2SEpLNktRS1NTSE1QTlcweFNiaU5MRjNkTVBNSTJrSXJYRldhTDBMeTFiZ0Z4UXdUV1o2dEVFbkl1amlGTUxNM2FZVFllWVZNaTQ3Sy9aZUVpbEQ2RXdHRWZjOExQczVMTXFsamo5NHB6UjY2TTJjNlV4RzdCcG03amI5eFd2cktLUk14ckxlTzZYK0VnbERxTzFFZVNyVkNIMjJ2NUdaSVRZQzlXQU8rMHFpTmhZSE80Y3hkdzh6aDB6V2JSSlJ2eDNSQ0RNUHRTSFV4bUlybzdHY0h3aThhQlhhZ1ZzcFlhWTVEckpuZEJuOXNhakVjc0xNSVJOREpFbUVtZmNOZDVoNWFBMmhOM1FMeS9adUduVXRRa3hzL3RkRHFUbUwzc29neE9taVptNklaUG9GbEhJWnh4TmVhdldLMEJsQ3F4aUkxVzJRQjE2MENpK2hsTXNjZnUrcDJEeEJWekRDaVk5S1RHSmtab2hrZWkxeEpzczQvdXFsMWt3SmpTSFVwb1F0empRZzlQV29WVWhzMzF6UFVsa1QzbVk2Q3FoTklWOXhUaDhSSjh3Y01qRUVKS2E1bDlDWHVWTEtaOTRxVG8vQURhRWdUT05peEZrb2N2K2w5cFJPWEV2VlRwMDBoWDhnRnlYMGR2WkRtUVZNQWdveU5FUXkvUjVDRGFPRFh3Z04xQkE2bFJPd2VnbkxUdDhRNnhES1pZNjV1TkJQOURhR0FZdVFicmVuWnY3Yi9RbUxtSXplZnBKaDFnbkVFRnJ1aEdYdjdyUnM5MS9xQnVKTWxYbm16S0Zzb3JjekNweGdTbTlhZDBXY01QTngyUTh6ejZvaG5PN1JOSlJhaFA0OXFuRC9wWDRNMUZQRXpXTFQ2YTFpUXlyb1hleEZuQXJnQnFDL1IrTy9UN0NZUXhHTHN4a0drdlVXUWlzNHpqa043NHdlVmFSdWlFUllkaEdWWXZOL2ZtZzF1RU9YY3dpRlBvV1pYNUdkTVBQQXhoQmF5U2lFVnVEcnJnMmhQSW93UmVibFJzaHhycUYzY3dKZHp0alF1eldrUjFIS1piUy9XM2FESFZUYkZMT1pheEhtQUYvYVFWSFBYOHhiV05SSVEyNXRTc2xGVkJIdTlpSE1ITzZraUpsUzZrK1llZURUcmdCYXhhSEFMR0FDMG1OVG05aTJXRXlqMkxtM2JUR1gwZVdVVUp6aWFlYXBwemVoMUhNb3krUXNiOGVOb1RCRUVxM2lQNXh1MUttT3NzVEc5aTZxWkVIdWJtelBCL1EyQmxMTVBOVERNSE40RTRzS3VaUUh2ZElaS2tPQU14TTFuVEVJRjJOaHl6eGVDRnFUd1R2MExyN3JoSmtmcy8zRnpNMXhQM0VxNVlyTVk5UkNad2hEN3FNMkZvYzdZZWFTUVpqNWp1a09MRzZoZzFvWnpTZnBhak9HTUFTR3JxWS9XN3VkWmc2WnR4YkMreWcyRm5la0UyWnVER0VJSEwyUFFYU2xFV2ErdXpROGowVzVsUEtrR3kzR0VJYlFvUGR3UHNJaWhLRkFwb2FBeEtYMkUrVEgzSm1xQnRlM2tHbzVFN1NjSDdyTlp6RHNDYm1TQjluSzBjQkU0SjllRkFrYzZpYUQrMnQ1bFNOUjd0Y1k2L1I2eDhrR2cwZklSRHBrREN2b3d4QmdNV1IzSDBzNmhpaHlVdWRRd0NzYW8xV3Y2eGFvWnpCNGdKVHlzWXdtUnB6aHdHK3pWYTk3UTFqYkRRRlFCSlJSeEhxTk1kWXpWUWFEZzR4bHZZem1mSVFmZ1A5NzRUTnBJYm96RUxoSHkzallkS01NZmlDWDAwWVJ3NEJ5U0grZFlVKzROd1E5R2lLQk1JSUNYdFlwTktyTlh1bkxNaGgyUlVwcGx5dG9SUmdHL3B5bDVhMGhFaFNqVE9kZnZLNHhScVlqeW1EWUhYSVpHOEdmdmRkK0dDTEpOeERhZEFwdFdzblgwNmpIWU1nNlhvMGhkc2RJdW5oZEs3Qk5OOG9RZGpLZFpVcVZ2aWl6K0lUWHRKSUwwOGh2TUdTRmJMUVEzVG1DT0d1MWdqWXQ1L0FNeWpFWWZNSFBNY1R1R0VrQmIyaWw2VVlad2tWUWhvQmtOK3BUWHRWcFhPQlJtUVpEUmdScGlDUkhvanlnVTJuVGF0T05NZ1JMdHNjUXZTT01wSlBYdFFwYkozZTdGTVZneUNMdURTRStHU0pCQ2Nvcyt2Q2FUdXQyWnFqQmtDWEMwR1hhRmVGSTRFR3RvazJuT21mNkdBeFpJSnlHK0lMRWJKVHBSaG15Uk5nTkFWQUN6S0tFVjNVNjM4OXkzWVk4SXdxR1NESUkrSzFXMDZiVCtWcEFHZ3c1VHBRTWtVQVppYkJlcTdIVnBqaFFMWWFjSTNxR1NKRG9SbTNqVmEzbWUwR0xNZVFPVVRWRWtzRUlEK2tOdE9rTXZocTBHRVAwaWJvaGtvd2t6bnF0TWQwb1EyYmtpaUVBK2dHemFPY1ZyZUhjb01VWW9va3JRMmppNEtkQ243UjR4UkRnZHpyRGRLTU03bkhYUWx3ZGVqTjBaeVN3WG1lYWJsUmVFM2QzR0lIYkxsTll1MHU5MFE5bEZsMjhyRE1aRWJRWVExYlpqRkxQTmhhNXllVE9FUHRHemhBSmxLSEE3M1FtSzdXR2c0S1dZL0FWQlZiUndTQzVERnZHdWJ1Q3paMGhPaU5xaUFRQ2pLR0FEVHFUbU5xUjZ2NFpVa0g1RXhhbnlhV01sVEc4bjA0UjdnelJGV2xESk5rSG9ZVXVudE5hVGd0YWpNRVQza1c0a2tzNVdVcDVPcE9DM0JuQ3I4MUJ3WEFNd2hOYVo3cFJrVVhaQXRSVHdHQzVsSlVpbVI5ZTVzNFE4Wnd5QkNTN1VZVzhxWFhFOUJJS2doWmtTQkZoRlVVTWxzdXdwWlN0M2hYckFyMmVvUlN3M2xXcDBVcS9oREJKYko3Q2tKZTRheUdLY3E2RjJKbGpnU2ZWWnFYYUhCaTBHRVAyeWVjeFJNK28wNDJDRFZwUFRGZWJibFErWVF6Uk93TlFXbGpQc3pxYlU0SVdZOGdPdWI1UzdRWEhvZnhCNjFtcDgvaHkwR0lNL21KYWlOUklkS002MmFCelREY3FsM0ZuQ01uN0lMbDlVVnJZd0o5MExpY0hMY2JnUGFiTGxBN0s4U2hQNlJ6VGpjbzFUSmNwZlJMZHFDN1RqY29sVEF1Uk9mc2l0UEFYbnRIWm5CUzBHRU5tdURORWVyY0g1UWZLQ1ZnOHBYTlpxVFlIQkMzSGtCNm1oZkFXQzJFTVJXelFCbUpxcDdWblBWUm9Nd09DMXBBSnVwcUQzWHplN1ErMjV6MEVycUtqY3BiOWdCYUtlVkliT1Nab01lbWdTemhVbDdLY1l1WUVyU1VkZEJWRDlHYzhRQWRUM2VSek82aDJOKzFxekhFS1NsblFJdHlnTnNXNmhCZ1dieUpjVFhvbnN3U0czc2UrZWgrTldMd0M3bSttY3JkclRDbEsreUhmTWQ5bTRER2dqUzZlb0lqSDBCemRreENuUFdnSnFhTExHSVhTQ3RHN1YxeHRMSTVnTkxBQTBnL01kTHVOTXBNeHhOc29Ed05yMlllSHhQN2lRZEZLS29EN01pZzd2QWdkUVV2WUU3cU1ZNG5UZ25KbTBGclNRZS9qTE9LMElCeWRhVm51REdGUjVHSlBVaGVKL1FWckVkcmtKcDd2N1lPeWtKOXBKWmRERHQ1aExlRnRJWFFwK3dOMXhKa0UwVnRIMFpWOERZdTVLR084NnA2Nzd6THRuczJJMHhVcTVOZXlnQTljS0xtZUxyNUw0Z1MrM0VIRDEwTG9jb3BvNXpyaTFDUHNFN1FldCtoSytpRk1BNmFqN09YbFdOV0xMdFBiQ0E4anUzYUYzQ0NOL0ZXcmFFQ1psM2doblZKQ1NNZ01vWXNad2VlMEFOOEtXb3RiVkJIdVpReEtFN2liVGsyVmRBenhSVmNvVHBzczdyMHI1Sm9TRnJDWlVoSTcxM0lES3h5RzBLVU1wb3RGS0JkRzhUOGJ2WXNUV1VVcitMczN4WjBodXJpYkl1WkxNeC83SVVac09yV1M2eENlcFB0MFgyLzdvS05Cb0dNSWJXWUFRalZkVElIb1JTdnJQWHdGdUJFWVRSWitmVmVHa0tXODZaZVE3WFVzNUdtZHhuTGdXci9yeWdvQmRablV4bUpBNXRPUVFhR3I2Y3RXeW9BWndKZXlWVzg0RjEyMlVZM3czaDQvRjRYV0lvQlpKcjJKczlpSEY0QjdpS0laN21JVVczZ0RwWkVzbWdGQ2FnaFp3aWRBaGJ0TS9takptQ3kyRUhvVFg5Vm1WbUx4S0VRdlpFVHY1SGk5aThjUmZnMGNIb1NHMEo1dktrMnMxbW1NUmhqbFByTVBndElsQzRiUUJmVERZaHJDZEdBdnYrdnpHcjJIL2VtaURnbCtQU1MwaGdEQTRucVVzNEQrYVpjUnZEbDg2ektwSWl6aVlvU0ZFTDJyaW5VNVJSUnpIVjNoV1E4SlpaY3BpVFR4RGtLOWR3VjZWbExxK0RUdHFnczVrVVU4Q2F3bWltYTRreEVVOFJKS0M0VERESkJsUTZoTm9icDlMUHZTQXJ6b3VaanNtR01UeXF0ZUZxaE5IS29MV1k3d1IrQlVMOHZPQm5vSFEvUjJIbkRpMnI0WnRKNmQ4ZDBRT3BrK09vVVJXa0Vybi9BdVU3aktUWDZ4NlVTNW1zU0NvRC80WVE3bEF5ek9raHJlOEt6SWhWeEVBWCtHNklWbEEranRqQWRlUTl5SFpXY0xYNzVVblVKZm5jSW9uY0pLQ3ZrUWVCZ29BdzVDYU5ZcUJyb3BUK2J6SEhDekgxcDNyY3lUVXQ2bWdPOUlOUzk3VXRvWEhFTzBZNzJHRWZKeHEyZml0SndCS09jaWpFTDVFZEMvbDRkckg3cTRCVnpPSGlrekVINEU3c3lVRWVtWjR6VUsrYjVNWjZQSGFneFpJS01XUWlleHY4WVlxekhhVUQ0a01jQWJ3NTVuaFVacUJUOTJVNWZNNTFNazlMdlBIcWVBMDQwWm9vdHJRK2hrQm1vWlYydU1OZ3A1bjhScTZFamN4c2tJUzdYUzNTcXFOSEkveXE5YzFlTVZlMjR0MWxMQ2VWTE52N09neHVBVDdpNXVMK2NpTE41QldFN0NCSm5zb0R1QU9NMnVjeW1USU9DSGJtZHpLUGZ5WlM2U0N1OXVzakVFZzlzcnRmcmg1WnlNY0xsTzVZZXVzc3huSThvc3p6Umtpc1VTdXJoU0pvWWp6TnVRR2NGUDNRazNhelg3dXNyVGx5WEFILzBSbERJSzFNc015c1FtSHJBV2cwY0Vid2c0aEU2YTNHUVFtemdXRXlHdy81VzdVSzZSV3V5QTZqZjRSQmdNQVRCQnAvRTlOeGxrSHE4QVMzelNzenZhRVM2VE9sWUVVTGZCWjhKaUNDSE9jclZkQnZIMW9SWjQyeDlKUGJJWllaVE1aRTBXNnpSa2tiQVlBb1REMmN4Y1YxbHN0amdodzluZ1l5eEdTQzIveTFKOWhnQUlqeUVTVE5icG5PNG1nOHpqUWVBWFB1bEo4ZzdDcVRJejhJRzh3V2ZDWmdpTE9MZXI3WEtUU3llVGdYLzVJNG4xRkhDNjFMTEJwL0lOSVNKc2hnQVl3bVpxM1dSd0RrU2I2WU9XNXlqaVRKbkozOU10UUJzNHlrdEJCbjhKb3lFQXFyU2FFMXpsS09ZVzRDa1BOVHpHWHB3dE5md2ozUUwwUnFZalZIcW95ZUF6WVRWRUlYSHUwS3RURHcwUm16Z0ZYSU0zYXhPL0FpNlE2WHlhYmdIYXdHem4xQWhEaEFpcklRQ09ZUUJWYmpMSUhGNUYwb2lQMnBHN2dVdkVabHM2bVZVUmJhQUZjZGZ0TTRTRE1Cc0NvRmFudXp5RGRBczI4RDlwMVNZMGljMDRzZWxNSjd1dXBvQjUzQTdFMHFyZkVEaGhOMFFmNEE2OUpQV2pTYVNaclU1RWJPb0lpbElwTnRWdUJTYlIxUlR3Wis0Q3hxZGJoaUY0d200SVVFN2k2MHgyazBYbThSREN6MVA4ZUJjd1FXWnprM3R4Q2RTbW1EK3pCbUZNdW1VWXdrSDREUUVnTkdnMVI3cktFNmNjMkxTSFQzMU9Zcnh3WjdyUzFLYUVRdHFBSDZWYmhpRThSTU1RVUlKeW01c2piR1FlSDhKdXUwRC93bUtFek9iK2RFWHBBdm81Wm5BVm1HZ0lMMUV4Qk1CM3FlYW5ybkkwY0J2d1pBL3ZKSTZJc1h0OEx5WFVaZ0RiV0FlY25XNFpodkFSSlVPQXNrQm44TlZVUHk2SlRUd1RTSFNOa2lTT2lMRjVLVzBaTmdkU3dIOERKNmRiaGlHY1JNc1FzRGRkM09vbWc4eGxBN0RRK2V2cnhQbU8yTHlWcmdDMU9aZ0NIaUdDcDJzYjlrelVEQUZ3Z1Zaemhhc2NoY3hGdVpzQ1RwZUdGTzZkNkFXZHkyRllQQUVtUGlsWENmVXBhcnVoVld0WTV3eWM5NGl6Nmp3dWt3clZaakJ4MWtIcVhUWkQ5SWhpQ3dHd1A4cmliRldtY3hpR3hXTVlNK1E4VVRVRUtLVjZBeGY1WG8zTjhjUjVIRGpVNzdvTXdSTmRReVJZcGpiNytWVzR6dVpFaEllQkEveXF3eEF1b202SWc5bVdmc2pGN3REWm5JbnlDUGhuT0VQNGlMb2hRTGhLcXpuUHl5SzFudk9KOHlCWnZnSFRFRHpSTndTQXNGeXJ2SGw0MWVZSEtQY0RmYjBvenhBdGNzTVE4RFVLdVRIVFFyU095NEJma2dnN04rUWh1V0lJZ0d0MUJtZWttMWx0cmthNGwraXV6Umc4SUpjTVlhSGNwbFBjZDNXMGprbkFyZVRXOTJGSWcxeDdBQVpUNHU0QVlxMWpPc0pTTkFRM1doc0NKOWNNQWNwVXJlWEVsRDQ2aTNvd0oyUGtNRytnL05KTkJuZUc2T0p4SlBSbm14WVE1dzYxZTcvaVMwRjBGcTBvZGRrVVpzZ2FtNEJxQ2psT1JyczdmdFRWQUZLVzhUZmcrenFGRWNScEFaY25ZbVNQNGJSekExQy84eHRxWTlISkNwU2ZCS0RMNEM5eDRENkttQ3FsNlIwd2wxYVhTWnBaeDFhT1F5a242UHZlZWtPbzBWcUdkMzlKTDZHQVR1NUVqQmx5RHVGUkxJNlRLeGlicmhrZ2d6R0VyS0JERnROS0owY0FpMG1jWGhFbWlvbHpqOXFKVmxCdGlobkthb1FyZ3habThKUzNFRXJsQ3M2Unkza2wwOEl5SGxUTE1qNlNWbUlJdzRHSE1pM1BZNDZqZzNLZFRCODZXUVArUjhjYXNzWm1vSjVPaHNzVjNsMWc0OWtpbExTd0hqaFBZMXlDTUI4NDNLdXlNMEtZelQ1Y0JKd1N0QlNESnlod0w1MVV5VGcrOExwd3o2ZGRwWlUxREdBSVFqbndpZGZscDBGZmpCbHloV2RSVHBPeGpQWERET0RUT29UWXRFc3pyUlF4REZnQjV0cGFRMGE4aDNJbFl6aEpydVJwUHl2eWRXRk81ck5SbXBrSW5BVDh3Yys2RERuSlZxQ0p2Z3lWcTFncGd2cGRZVllDMmFTWjV4UytRd1VYQXd1QXc3SlJyeUhTckVXWkxGZngxMnhXbXJYUURRR1ZSYXpoTTc2SlVFL0MvUWJEenJ5QWNvWmN4U2dabDEwelFBQ3hUTEtDTGJJUW13SUdBNnZBLzJiUUVBaytBc3JweDdkbEhFOEVKU0t3NEQ2Wno3dHlFMk9CVXhCejNXMGUwd0VzcHAwalpCeXRVaHJzQW0vZzBhNnlrR2ZveDJuT0NuSktCNDhaY29aMXdMRXlucGhNREVjSVVPQ0dnTVNGaWJLQWxTaEhPT09Mei9lWXlSQmxObUJ4b1l6blhCblBHMEdMNlU0b0RKRkVGckpaNW1OVHdGR0lkOHZ4aHREd01jcGsvczVSTW83ZkJDMm1KMEs1ZjFnYWVRc28xV3JPZHNMTWgrOHBqeUg4eUlUTUQ0THdtMUMxRURzampUeEtDY2NqVElUMFEzb05obFFKdFNFQXhLWlRHbG1CTUFTbENXZ1BXcE1oZHdtOUlaSklJNXRrUHRYRU9SckMyZjgwUkovSUdDS0p6R2VETkhJaGNDNkVhNGJDRUgwaVo0Z2swc2c2UHVKWUo4dzhGSFBZaHVnVFdVT0FzNDExSHEzQUVjNEZLbUhieG1xSUdKRTJSQks1a1kva1JtTEVPUkY0UEdnOWh1aVNFNFpJSW8yOEtQTTRFL2dCOEhiUWVnelJJNmNNa1VRYWFHTUwzMEtwQmo0TldvOGhPdVNrSVFDa21hMHlqeVlLR1lxYWJheUcxTWhaUXlRUm00M1N3RVNVa3hDZUNscFB4UGd2NHRzdnZjOExjdDRRU2FTQjU1ak42UWlsd0R0QjZ3azVid0xueXlUK1V5Ym4xMWdzYnd3QnpqYlcyYXloZ0dFa3puM2RGclNta1BFeFNqbi9aTGhNNHJkQml3bUN2REpFRXJIWklyT3hzUmdFckNJTHB6bUVuRTVnQlVVTWtjbTBpazFuMElLQ0lpOE5rVVJzM3BYWmpLV0xzNENYZ3RZVENNb2p4RGxPSmpOUkp2TFBvT1VFVFY0Yklvbk00ZmNJSitUWk50YS9JSlJLR1NNa3htdEJpd2tMeGhBT1loTVhtNVhBa1pEVDIxZy9RNmtIaHN0a3N5dHhaNHdoZGtKc1BoTWJtd0tHUTA0OU1IRmdGY3FSRXNPV3NwdzFmRWFFY2d0cEdKQmEvZ0tVYWozbkFNMUVleHZyTXlneEtlZVpvSVdFSGROQzdBR1p4U01veDBNa3Q3RytDMXhKakZPTUdWTERHQ0lGeEtaVDZsaEJuS0VrYmtzSys3VGtGcUNlT0lPbFBEdUhCT2NLeGhBdUVKdVBwWTRZQlF4SGVUQm9QVDJnd0JxNitLWk13WllLYzM2dVc4d1lJZzJraGplQkMzUU9JMGkwR01NQ2xnVEM4MEJNcHBockJ6TEJ0QkFaSUxXczQ4c2NFL0J0ck84alRPVGZmTnVZSVhPTUlUSkVKdElodGJSaWNRU1MxVzJzN2NCaWloZ3FVMWdodGdsdjl3SmpDSStRR2o2U0dtTEF0OEgzNDl6WFlqRk1waEtUc2xEYzQ1Y3ptREdFeDhnTVhnRE8wTG1Nd3FMVjQrTGZSRGhicHZLWXgrVWFEUDZqTmlYYXlCbEI2ekNrenY4RFFkN1FyTWJMUjFBQUFBQUFTVVZPUks1Q1lJST0iPgoKICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCjxzdHlsZT4KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90bycpLCBsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by91WUVDTUtvSGNPOXgxd2RtYnlISW0zLV9rZjZCeVlPNkNMWWRCNEhRRS1ZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vc1RkYUE2ajBQc2I5MjBWanYtbXJ6SC1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL19WWUZ4LXM4MjRrWHFfVWwyQkhxWUgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL3RuajRTQjZETmJkYVFuc004Q0ZxQlgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL29NTWdmWk1RdGhPcnlRbzluMjJkY3V2dkRpbjFwSzhhS3RlTHBlWjVjMEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL0tzX2NWeGlDaXdVV1ZzRldGQTNCam4tX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vTko0dnhsZ1d3V2JFc3YxOGRBaHFubi1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9pc1otd2JDWE5LQWJuam82X1R3SFRvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by83N0ZYRmpSYkd6TjRhQ3JTRmhsaDNvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9qU04yQ0dWRGJjVnlDbmZKZmpTZGZJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1VYNmk0SnhRRG0zZlZUYzFDUHV3cW9YMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vZC02SVlwbE9Gb2NDYWNLenh3WFNPSkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by85N3VhaHhpcVpSb25jQmFDRUkzYVc0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vUHdaYy1ZYklMNDE0d0I5ckIxSUFQWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdDZOZDRjZlBSaFpQNDRRNVFBamNDMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQ19acmFSMlRnOHcybHptN2tMTkwwLXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0N3dF9SbTY5MUxUZWJLZlkyWmtLU21JLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0MxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M0Z3A5UThnYllyaHFHbFJhdl9JWGZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M2RThrTTR4V1IxXzFiWVVSUm9qUkdjLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQzlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09wWFVxVG8wVWdRUWhHal9TRmRMV0JrQXo0clluNDdaeTJydmlnV1FmNncud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9XeHJYSmEwQzNLZHRDN2xNYWZHNGRSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vY0RLaFJhWG5RVE9WYmFveHdkT3I5eGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vMWhaZjAyUE9BTmgzMmsyVmtnRW9VQmtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlBjeW5TTDBxSHFfNmRYN2xLVkJ5WFloamJTcHZjNDdlZTZ4Ul84MEhudy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlN6dWxmS1NLMExMampmZWF4Y1JFaGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9LMjNjeFdWVHJJRkQ2REpzRVZpMDdSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vRmw0eTBRZE94eXlUSEVHTVhYOGtjWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8wZUM2ZmwwNmx1WEVZV3BCU0p2WENJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL0kzUzF3c2dTZzlZQ3VyVjZQVWtUT1lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8tTDE0SmswNm02cFVIQi01bVhRUW5ZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vSGdvMTNrLXRmU3BuMHFpMVNGZFVmWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1BydTMzcWpTaHBaU21HM3o2Vll3bllYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL05ZRFdCZEQ0Z0lxMjZHNVhZYkhzRklYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0MTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0X1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0d3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTGlnaHRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by83bThsN1RsRk8tUzNWa2hIdVIwYXQxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0NkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoL2ZvbnQtcm9ib3RvL29IaTMwa3dRV3ZwQ1dxQWh6SGNDU0lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9aTHFLZWVsWWJBVEc2MEVwWkJTRHk0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vbXg5VWNrNnVCNjNWSUtGWW5FTVhyWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vckd2SGRKbnIybDc1cWIwWU5EOU55SVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vUnhaSmRuemVvM1I1elNleGdlOFVVWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vb09lRndaTmxyVGVmekxZbWxWVjFVSVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9tYm1ocHJNSDY5Wmk2ZUVQQllWRmhZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwVjRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBmWnJhUjJUZzh3Mmx6bTdrTE5MMC13LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMFF0X1JtNjkxTFRlYktmWTJaa0tTbUkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBWQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwWWdwOVE4Z2JZcmhxR2xSYXZfSVhmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGFFOGtNNHhXUjFfMWJZVVJSb2pSR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGREaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZX1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZd3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vJyksIGxvY2FsKCdSb2JvdG9Nb25vLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by9oTXFQTkxzdV9keXdNYTRDX0RFcFkxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZNkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnoxeC1NMUkxdzVPTWlxblZGOHhCTGhVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGendYYUFYdXA1bVpsZks2eFJMcmhzY28ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6d242V3F4by14d3hpbERYUFU4Y2hWVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGejFUN2FKTEs2bktwbjM2SU13VGNNTWMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnpfNzlfWnVVeENpZ00yRGVzcFRuRmF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6NGdkOU9FUFVDTjNBZFlXMGU4dGF0NC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6OGJJUVNZWm5XTGFXQzlRTkNwVEtfVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Cjwvc3R5bGU+CgoKPHN0eWxlPgogIGh0bWwsCiAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICB9Cjwvc3R5bGU+CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgOnJvb3QgewogICAgLS10Yi1vcmFuZ2Utd2VhazogI2ZmYTcyNjsKICAgIC0tdGItb3JhbmdlLXN0cm9uZzogI2Y1N2MwMDsKICAgIC0tdGItb3JhbmdlLWRhcms6ICNkYzczMjA7CiAgICAtLXRiLWdyZXktZGFya2VyOiAjZTJlMmUyOwogICAgLS10Yi1ncmV5LWxpZ2h0ZXI6ICNmM2YzZjM7CiAgICAtLXRiLXVpLWRhcmstYWNjZW50OiAjNzU3NTc1OwogICAgLS10Yi11aS1saWdodC1hY2NlbnQ6ICNlMGUwZTA7CiAgICAtLXRiLWdyYXBoLWZhZGVkOiAjZTBkNGIzOwogIH0KPC9zdHlsZT4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKPHN0eWxlPgoucGxvdHRhYmxlLWNvbG9ycy0wIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI3OWM3OyAvKiBJTkRJR08gKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzczZTsgLyogQ09SQUxfUkVEICovCn0KCi5wbG90dGFibGUtY29sb3JzLTIgewogIGJhY2tncm91bmQtY29sb3I6ICM2M2MyNjE7IC8qIEZFUk4gKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDQxOTsgLyogQlJJR0hUX1NVTiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy00IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYjZmOyAvKiBKQUNBUlRBICovCn0KCi5wbG90dGFibGUtY29sb3JzLTUgewogIGJhY2tncm91bmQtY29sb3I6ICNmZjc5Mzk7IC8qIEJVUk5JTkdfT1JBTkdFICovCn0KCi5wbG90dGFibGUtY29sb3JzLTYgewogIGJhY2tncm91bmQtY29sb3I6ICNkYjJlNjU7IC8qIENFUklTRV9SRUQgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzk5Y2U1MDsgLyogQ09OSUZFUiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy04IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyNTY1OyAvKiBST1lBTF9IRUFUSCAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZjY2NjOyAvKiBST0JJTlNfRUdHX0JMVUUgKi8KfQoKLyoqCiAqIFVzZXItc3VwcGxpZWQgcmVuZGVyVG8gZWxlbWVudC4KICovCi5wbG90dGFibGUgewogIGRpc3BsYXk6IGJsb2NrOyAvKiBtdXN0IGJlIGJsb2NrIGVsZW1lbnRzIGZvciB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIHRvIHdvcmsgaW4gRmlyZWZveC4gKi8KICBwb2ludGVyLWV2ZW50czogdmlzaWJsZUZpbGw7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qKgogICAqIFByZSAzLjAsIHVzZXJzIGNvdWxkIHNldCB0aGUgZGltZW5zaW9uIG9mIHRoZSByb290IGVsZW1lbnQgaW4gdHdvIHdheXM6IGVpdGhlciB1c2luZyBDU1MKICAgKiAoaW5saW5lIG9yIHRocm91Z2ggYSBzdHlsZXNoZWV0KSwgb3IgdXNpbmcgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcy4gQnkgZGVmYXVsdCwgd2UKICAgKiBzZXQgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcyB0byAxMDAlLgogICAqCiAgICogUG9zdCAzLjAgdGhlIHJvb3QgZWxlbWVudCBpcyBhbHdheXMgYSBub3JtYWwgZGl2IGFuZCB0aGUgb25seSB3YXkgdG8gc2V0IHRoZSBkaW1lbnNpb25zIGlzCiAgICogdG8gdXNlIENTUy4gVG8gcmVwbGljYXRlIHRoZSAiMTAwJS1ieS1kZWZhdWx0IiBiZWhhdmlvciwgd2UgYXBwbHkgd2lkdGgvaGVpZ2h0IDEwMCUuCiAgICovCiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9CgovKioKICogVGhlIF9lbGVtZW50IHRoYXQgcm9vdHMgZWFjaCBDb21wb25lbnQncyBET00uCiAqLwoucGxvdHRhYmxlIC5jb21wb25lbnQgewogIC8qIEFsbG93IGNvbXBvbmVudHMgdG8gYmUgcG9zaXRpb25lZCB3aXRoIGV4cGxpY2l0IGxlZnQvdG9wL3dpZHRoL2hlaWdodCBzdHlsZXMgKi8KICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KCi5wbG90dGFibGUgLmJhY2tncm91bmQtY29udGFpbmVyLAoucGxvdHRhYmxlIC5jb250ZW50LAoucGxvdHRhYmxlIC5mb3JlZ3JvdW5kLWNvbnRhaW5lciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKfQoKLyoqCiAqIERvbid0IGFsbG93IHN2ZyBlbGVtZW50cyBhYm92ZSB0aGUgY29udGVudCB0byBzdGVhbCBldmVudHMKICovCi5wbG90dGFibGUgLmZvcmVncm91bmQtY29udGFpbmVyIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LWhpZGRlbiB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LXZpc2libGUgewogIG92ZXJmbG93OiB2aXNpYmxlOwp9CgoucGxvdHRhYmxlIC5wbG90LWNhbnZhcy1jb250YWluZXIgewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucGxvdHRhYmxlIC5wbG90LWNhbnZhcyB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC8qKgogICAqIFBsYXkgd2VsbCB3aXRoIGRlZmVycmVkIHJlbmRlcmluZy4KICAgKi8KICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggMHB4IDBweDsKfQoKLnBsb3R0YWJsZSB0ZXh0IHsKICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOwp9CgoucGxvdHRhYmxlIC5sYWJlbCB0ZXh0IHsKICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5iYXItbGFiZWwtdGV4dC1hcmVhIHRleHQgewogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKfQoKLnBsb3R0YWJsZSAubGFiZWwtYXJlYSB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKfQoKLnBsb3R0YWJsZSAubGlnaHQtbGFiZWwgdGV4dCB7CiAgZmlsbDogd2hpdGU7Cn0KCi5wbG90dGFibGUgLmRhcmstbGFiZWwgdGV4dCB7CiAgZmlsbDogIzMyMzEzRjsKfQoKLnBsb3R0YWJsZSAub2ZmLWJhci1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5zdGFja2VkLWJhci1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItcGxvdCAub2ZmLWJhci1sYWJlbCB7CiAgLyogSEFDS0hBQ0sgIzI3OTU6IGNvcnJlY3Qgb2ZmLWJhciBsYWJlbCBsb2dpYyB0byBiZSBpbXBsZW1lbnRlZCBvbiBTdGFja2VkQmFyICovCiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbG90dGFibGUgLmF4aXMtbGFiZWwgdGV4dCB7CiAgZm9udC1zaXplOiAxMHB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoucGxvdHRhYmxlIC50aXRsZS1sYWJlbCB0ZXh0IHsKICBmb250LXNpemU6IDIwcHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5wbG90dGFibGUgLmF4aXMgbGluZS5iYXNlbGluZSB7CiAgc3Ryb2tlOiAjQ0NDOwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5heGlzIGxpbmUudGljay1tYXJrIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmF4aXMgdGV4dCB7CiAgZmlsbDogIzMyMzEzRjsKICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLWNpcmNsZSB7CiAgZmlsbDogd2hpdGU7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgc3Ryb2tlOiAjQ0NDOwp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLWxpbmUgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuYXhpcyAuYW5ub3RhdGlvbi1yZWN0IHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgZmlsbDogd2hpdGU7Cn0KCi5wbG90dGFibGUgLmJhci1wbG90IC5iYXNlbGluZSB7CiAgc3Ryb2tlOiAjOTk5Owp9CgoucGxvdHRhYmxlIC5ncmlkbGluZXMgbGluZSB7CiAgc3Ryb2tlOiAjM0MzQzNDOyAvKiBoYWNraGFjazogZ3JpZGxpbmVzIHNob3VsZCBiZSBzb2xpZDsgc2VlICM4MjAgKi8KICBvcGFjaXR5OiAwLjI1OwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5zZWxlY3Rpb24tYm94LWxheWVyIC5zZWxlY3Rpb24tYXJlYSB7CiAgZmlsbDogYmxhY2s7CiAgZmlsbC1vcGFjaXR5OiAwLjAzOwogIHN0cm9rZTogI0NDQzsKfQovKiBEcmFnQm94TGF5ZXIgKi8KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUgLmRyYWctZWRnZS1sciB7CiAgY3Vyc29yOiBldy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueS1yZXNpemFibGUgLmRyYWctZWRnZS10YiB7CiAgY3Vyc29yOiBucy1yZXNpemU7Cn0KCi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10bCB7CiAgY3Vyc29yOiBud3NlLXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItdHIgewogIGN1cnNvcjogbmVzdy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJsIHsKICBjdXJzb3I6IG5lc3ctcmVzaXplOwp9Ci5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci1iciB7CiAgY3Vyc29yOiBud3NlLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWEgewogIGN1cnNvcjogbW92ZTsgLyogSUUgZmFsbGJhY2sgKi8KICBjdXJzb3I6IC1tb3otZ3JhYjsKICBjdXJzb3I6IC13ZWJraXQtZ3JhYjsKICBjdXJzb3I6IGdyYWI7Cn0KCi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLm1vdmFibGUgLnNlbGVjdGlvbi1hcmVhOmFjdGl2ZSB7CiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nOwogIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICBjdXJzb3I6IGdyYWJiaW5nOwp9Ci8qIC9EcmFnQm94TGF5ZXIgKi8KCi5wbG90dGFibGUgLmd1aWRlLWxpbmUtbGF5ZXIgbGluZS5ndWlkZS1saW5lIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmRyYWctbGluZS1sYXllci5lbmFibGVkLnZlcnRpY2FsIGxpbmUuZHJhZy1lZGdlIHsKICBjdXJzb3I6IGV3LXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQuaG9yaXpvbnRhbCBsaW5lLmRyYWctZWRnZSB7CiAgY3Vyc29yOiBucy1yZXNpemU7Cn0KCi5wbG90dGFibGUgLmxlZ2VuZCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogYm9sZDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5pbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIHJlY3Quc3dhdGNoLWJvdW5kaW5nLWJveCB7CiAgZmlsbDogbm9uZTsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5wbG90dGFibGUgLndhdGVyZmFsbC1wbG90IGxpbmUuY29ubmVjdG9yIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLnBpZS1wbG90IC5hcmMub3V0bGluZSB7CiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKfQo8L3N0eWxlPgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCjxzdHlsZT4vKiBDb3B5cmlnaHQgMjAxOSBUaGUgVGVuc29yRmxvdyBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgpTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLnRlbnNvci13aWRnZXQgewogIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgZm9udC1zaXplOiAxNHB4OwogIG92ZXJmbG93LXg6IGhpZGRlbjsKICBvdmVyZmxvdy15OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudGVuc29yLXdpZGdldC1kaW0gewogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNjAsIDE2MCwgMTYwKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMTRweDsKICBsaW5lLWhlaWdodDogMTRweDsKICBtYXJnaW4tbGVmdDogMTVweDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgcGFkZGluZzogMnB4Owp9CgoudGVuc29yLXdpZGdldC1kaW0tY29tbWEgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDE0cHg7CiAgbGluZS1oZWlnaHQ6IDE0cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1oaWdobGlnaHRlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDEwMCwgMTgwLCAyNTUpOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC1kaW0tYnJhY2tldHMgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0Owp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24gewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggI2IwYjBiMDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgd2lkdGg6IDE4MHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0gewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMTgwLCAxODAsIDE4MCk7CiAgZm9udC1zaXplOiAxMnB4OwogIHBhZGRpbmc6IDNweDsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbS1hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAsIDE4MCwgMjU1KTsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbS1kaXNhYmxlZCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKfQoKLnRlbnNvci13aWRnZXQtZHR5cGUgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBjb2xvcjogcmdiKDYwLCA2MCwgNjApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDhwdDsKICBoZWlnaHQ6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDIycHg7CiAgbWF4LWhlaWdodDogMjJweDsKICBwYWRkaW5nLWxlZnQ6IDE0cHg7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLnRlbnNvci13aWRnZXQtZHR5cGUtbGFiZWwgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7Cn0KCi50ZW5zb3Itd2lkZ2V0LWhlYWRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MiwgMjUyLCAyNTIpOwogIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICNiMGIwYjA7CiAgaGVpZ2h0OiA0MHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIG1heC1oZWlnaHQ6IDQwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDEwMCU7Cn0KCi50ZW5zb3Itd2lkZ2V0LWluZm8gewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBjb2xvcjogcmdiKDAsIDAsIDI1NSk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0OwogIGhlaWdodDogMjJweDsKICBsaW5lLWhlaWdodDogMjJweDsKICBtYXJnaW4tbGVmdDogOHB4OwogIG1heC1oZWlnaHQ6IDIycHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCi50ZW5zb3Itd2lkZ2V0LW1lbnUtdGh1bWIgewogIGNvbG9yOiByZ2IoMzIsIDMzLCAzNik7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC1tZW51LXRodW1iOmhvdmVyIHsKICBjb2xvcjogcmdiKDIyNywgMTE2LCAwKTsKfQoKLnRlbnNvci13aWRnZXQtc2hhcGUgewogIGNvbG9yOiByZ2IoNjAsIDYwLCA2MCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1sZWZ0OiAxMnB4Owp9CgoudGVuc29yLXdpZGdldC1zaGFwZS1sYWJlbCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNoYXBlLXZhbHVlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNsaWNpbmctZ3JvdXAgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTAsIDI1MCwgMjUwKTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDE5MCwgMTkwLCAxOTApOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMThweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgcGFkZGluZy1ib3R0b206IDVweDsKICBwYWRkaW5nLXRvcDogNXB4Owp9CgoudGVuc29yLXdpZGdldC10ZW5zb3ItbmFtZSB7CiAgY29sb3I6IGJsYWNrOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnRlbnNvci13aWRnZXQtbGVmdC1ydWxlci10aWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWxlci1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm94LXNoYWRvdzogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBjb2xvcjogcmdiKDExMCwgMTEwLCAxMTApOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMjlweDsKICBsaW5lLWhlaWdodDogMjlweDsKICBtYXJnaW4tbGVmdDogMHB4OwogIG1heC13aWR0aDogNDVweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdG9wLXJ1bGVyIHsKICBoZWlnaHQ6IDI0cHg7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNjAsIDE2MCwgMTYwKTsKICBib3gtc2hhZG93OiAxcHggMXB4IDFweCAjYjBiMGIwOwogIGRpc3BsYXk6IG5vbmU7CiAgZm9udC1zaXplOiAxM3B4OwogIHBhZGRpbmc6IDVweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgd2lkdGg6IDI0MHB4Owp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWNvbG9yYmFyIHsKICBoZWlnaHQ6IDI0cHg7CiAgd2lkdGg6IDk1JTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC1pbmRpY2VzIHsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC12YWx1ZSB7CiAgbWFyZ2luLXRvcDogMjBweDsKfQoKLnRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1bGVyLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGNvbG9yOiByZ2IoMTEwLCAxMTAsIDExMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAyNHB4OwogIHBhZGRpbmctcmlnaHQ6IDJweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2IHsKICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogODAlOwogIGhlaWdodDogMjRweDsKICBsaW5lLWhlaWdodDogMjRweDsKICBtYXgtd2lkdGg6IDQ1cHg7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHVzZXItc2VsZWN0OiBub25lOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDQ1cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24gewogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLWJvdHRvbSB7CiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1sZWZ0IHsKICBib3JkZXItbGVmdDogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1yaWdodCB7CiAgYm9yZGVyLXJpZ2h0OiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXRvcCB7CiAgYm9yZGVyLXRvcDogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtc2VjdGlvbiB7CiAgLS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCByZ2IoMTQwLCAxNDAsIDE0MCk7CiAgLS1ydWxlci1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAyMTAsIDIxMCk7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOwogIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1yb3cgewogIGhlaWdodDogMjVweDsKICBsaW5lLWhlaWdodDogMjVweDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cjwvc3R5bGU+CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKICA8L2hlYWQ+PGJvZHk+PGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBbaGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLS1sYXlvdXQ6IHsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWlubGluZTogewogICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaG9yaXpvbnRhbDogewogICAgICAgIEBhcHBseSAtLWxheW91dDsKCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH07CgogICAgICAtLWxheW91dC1ob3Jpem9udGFsLXJldmVyc2U6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtdmVydGljYWw6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtdmVydGljYWwtcmV2ZXJzZTogewogICAgICAgIEBhcHBseSAtLWxheW91dDsKCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH07CgogICAgICAtLWxheW91dC13cmFwOiB7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH07CgogICAgICAtLWxheW91dC13cmFwLXJldmVyc2U6IHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtYXV0bzogewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC1ub25lOiB7CiAgICAgICAgLW1zLWZsZXg6IG5vbmU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiBub25lOwogICAgICAgIGZsZXg6IG5vbmU7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4OiB7CiAgICAgICAgLW1zLWZsZXg6IDEgMSAwLjAwMDAwMDAwMXB4OwogICAgICAgIC13ZWJraXQtZmxleDogMTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgICBmbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC0yOiB7CiAgICAgICAgLW1zLWZsZXg6IDI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAyOwogICAgICAgIGZsZXg6IDI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTM6IHsKICAgICAgICAtbXMtZmxleDogMzsKICAgICAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAgICAgZmxleDogMzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNDogewogICAgICAgIC1tcy1mbGV4OiA0OwogICAgICAgIC13ZWJraXQtZmxleDogNDsKICAgICAgICBmbGV4OiA0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC01OiB7CiAgICAgICAgLW1zLWZsZXg6IDU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA1OwogICAgICAgIGZsZXg6IDU7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTY6IHsKICAgICAgICAtbXMtZmxleDogNjsKICAgICAgICAtd2Via2l0LWZsZXg6IDY7CiAgICAgICAgZmxleDogNjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNzogewogICAgICAgIC1tcy1mbGV4OiA3OwogICAgICAgIC13ZWJraXQtZmxleDogNzsKICAgICAgICBmbGV4OiA3OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC04OiB7CiAgICAgICAgLW1zLWZsZXg6IDg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA4OwogICAgICAgIGZsZXg6IDg7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTk6IHsKICAgICAgICAtbXMtZmxleDogOTsKICAgICAgICAtd2Via2l0LWZsZXg6IDk7CiAgICAgICAgZmxleDogOTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTA6IHsKICAgICAgICAtbXMtZmxleDogMTA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMDsKICAgICAgICBmbGV4OiAxMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTE6IHsKICAgICAgICAtbXMtZmxleDogMTE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMTsKICAgICAgICBmbGV4OiAxMTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTI6IHsKICAgICAgICAtbXMtZmxleDogMTI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMjsKICAgICAgICBmbGV4OiAxMjsKICAgICAgfTsKCiAgICAgIC8qIGFsaWdubWVudCBpbiBjcm9zcyBheGlzICovCgogICAgICAtLWxheW91dC1zdGFydDogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtY2VudGVyOiB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZDogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYmFzZWxpbmU6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmU7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICB9OwoKICAgICAgLyogYWxpZ25tZW50IGluIG1haW4gYXhpcyAqLwoKICAgICAgLS1sYXlvdXQtc3RhcnQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZW5kLWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWFyb3VuZC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1jZW50ZXI6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9OwoKICAgICAgLyogc2VsZiBhbGlnbm1lbnQgKi8KCiAgICAgIC0tbGF5b3V0LXNlbGYtc3RhcnQ6IHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNlbGYtY2VudGVyOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWVuZDogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1zdHJldGNoOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWJhc2VsaW5lOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgIH07CgogICAgICAvKiBtdWx0aS1saW5lIGFsaWdubWVudCBpbiBtYWluIGF4aXMgKi8KCiAgICAgIC0tbGF5b3V0LXN0YXJ0LWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZW5kLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1iZXR3ZWVuLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH07CgogICAgICAtLWxheW91dC1hcm91bmQtYWxpZ25lZDogewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfTsKCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgICAgICAgICAgICBPdGhlciBMYXlvdXQKICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiAgICAgIC0tbGF5b3V0LWJsb2NrOiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH07CgogICAgICAtLWxheW91dC1pbnZpc2libGU6IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXJlbGF0aXZlOiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml0OiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNjcm9sbDogewogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZ1bGxibGVlZDogewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9OwoKICAgICAgLyogZml4ZWQgcG9zaXRpb24gKi8KCiAgICAgIC0tbGF5b3V0LWZpeGVkLXRvcDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZpeGVkLXJpZ2h0OiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1ib3R0b206IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1sZWZ0OiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfTsKCiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXJpcHBsZSI+CgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwoKICAgICAgICAvKiBTZWUgUG9seW1lckVsZW1lbnRzL3BhcGVyLWJlaGF2aW9ycy9pc3N1ZXMvMzQuIE9uIG5vbi1DaHJvbWUgYnJvd3NlcnMsCiAgICAgICAgICogY3JlYXRpbmcgYSBub2RlICh3aXRoIGEgcG9zaXRpb246YWJzb2x1dGUpIGluIHRoZSBtaWRkbGUgb2YgYW4gZXZlbnQKICAgICAgICAgKiBoYW5kbGVyICJpbnRlcnJ1cHRzIiB0aGF0IGV2ZW50IGhhbmRsZXIgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUKICAgICAgICAgKiByaXBwbGUgaXMgY3JlYXRlZCBvbiBkZW1hbmQpICovCiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFthbmltYXRpbmddKSB7CiAgICAgICAgLyogVGhpcyByZXNvbHZlcyBhIHJlbmRlcmluZyBpc3N1ZSBpbiBDaHJvbWUgKGFzIG9mIDQwKSB3aGVyZSB0aGUKICAgICAgICAgICByaXBwbGUgaXMgbm90IHByb3Blcmx5IGNsaXBwZWQgYnkgaXRzIHBhcmVudCAod2hpY2ggbWF5IGhhdmUKICAgICAgICAgICByb3VuZGVkIGNvcm5lcnMpLiBTZWU6IGh0dHA6Ly9qc2Jpbi5jb20vdGVtZXhhLzQKCiAgICAgICAgICAgTm90ZTogV2Ugb25seSBhcHBseSB0aGlzIHN0eWxlIGNvbmRpdGlvbmFsbHkuIE90aGVyd2lzZSwgdGhlIGJyb3dzZXIKICAgICAgICAgICB3aWxsIGNyZWF0ZSBhIG5ldyBjb21wb3NpdGluZyBsYXllciBmb3IgZXZlcnkgcmlwcGxlIGVsZW1lbnQgb24gdGhlCiAgICAgICAgICAgcGFnZSwgYW5kIHRoYXQgd291bGQgYmUgYmFkLiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgICN3YXZlcywKICAgICAgLndhdmUtY29udGFpbmVyLAogICAgICAud2F2ZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgIC53YXZlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAjd2F2ZXMsCiAgICAgIC53YXZlIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAud2F2ZS1jb250YWluZXIsCiAgICAgIC53YXZlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jaXJjbGUpICNiYWNrZ3JvdW5kLAogICAgICA6aG9zdCguY2lyY2xlKSAjd2F2ZXMgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNpcmNsZSkgLndhdmUtY29udGFpbmVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImJhY2tncm91bmQiPjwvZGl2PgogICAgPGRpdiBpZD0id2F2ZXMiPjwvZGl2PgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLS1zaGFkb3ctdHJhbnNpdGlvbjogewogICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LW5vbmU6IHsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICB9OwoKICAgICAgLyogZnJvbSBodHRwOi8vY29kZXBlbi5pby9zaHluZG1hbi9wZW4vYzUzOTRkZGYyZThiMmE1YzkxODU5MDRiNTc0MjFjZGIgKi8KCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTNkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLThkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMTJkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgNHB4IDIycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTE2ZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwICA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwICA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yNGRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItbWF0ZXJpYWwtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0LCBodG1sIHsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsOiB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTE6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi00ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0zOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTQ6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tOGRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICAgIH07CiAgICAgIH0KICAgICAgOmhvc3QoLnBhcGVyLW1hdGVyaWFsKSwgLnBhcGVyLW1hdGVyaWFsIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0pLCAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOwogICAgICB9CiAgICAgIDpob3N0KC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjIiXSksIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjIiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTI7CiAgICAgIH0KICAgICAgOmhvc3QoLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMyJdKSwgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMyJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0pLCAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OwogICAgICB9CiAgICAgIDpob3N0KC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjUiXSksIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjUiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLW1hdGVyaWFsLXN0eWxlcyI+CiAgICAgIC8qIE5lZWQgdG8gc3BlY2lmeSB0aGUgc2FtZSBzcGVjaWZpY2l0eSBhcyB0aGUgc3R5bGVzIGltcG9ydGVkIGZyb20gcGFwZXItbWF0ZXJpYWwuICovCiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIG1pbi13aWR0aDogNS4xNGVtOwogICAgICAgIG1hcmdpbjogMCAwLjI5ZW07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIG91dGxpbmUtd2lkdGg6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgcGFkZGluZzogMC43ZW0gMC41N2VtOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTE7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoW3JhaXNlZF0ua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1idXR0b24tcmFpc2VkLWtleWJvYXJkLWZvY3VzOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtyYWlzZWRdKS5rZXlib2FyZC1mb2N1cykgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1mbGF0LWtleWJvYXJkLWZvY3VzOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgYmFja2dyb3VuZDogI2VhZWFlYTsKICAgICAgICBjb2xvcjogI2E4YThhODsKICAgICAgICBjdXJzb3I6IGF1dG87CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1kaXNhYmxlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2FuaW1hdGVkXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy10cmFuc2l0aW9uOwogICAgICB9CgogICAgICBwYXBlci1yaXBwbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1idXR0b24taW5rLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLyogTWF0ZXJpYWwgRGVzaWduIGNvbG9yIHBhbGV0dGUgZm9yIEdvb2dsZSBwcm9kdWN0cyAqLwoKICAgICAgLS1nb29nbGUtcmVkLTEwMDogI2Y0YzdjMzsKICAgICAgLS1nb29nbGUtcmVkLTMwMDogI2U2N2M3MzsKICAgICAgLS1nb29nbGUtcmVkLTUwMDogI2RiNDQzNzsKICAgICAgLS1nb29nbGUtcmVkLTcwMDogI2M1MzkyOTsKCiAgICAgIC0tZ29vZ2xlLWJsdWUtMTAwOiAjYzZkYWZjOwogICAgICAtLWdvb2dsZS1ibHVlLTMwMDogIzdiYWFmNzsKICAgICAgLS1nb29nbGUtYmx1ZS01MDA6ICM0Mjg1ZjQ7CiAgICAgIC0tZ29vZ2xlLWJsdWUtNzAwOiAjMzM2N2Q2OwoKICAgICAgLS1nb29nbGUtZ3JlZW4tMTAwOiAjYjdlMWNkOwogICAgICAtLWdvb2dsZS1ncmVlbi0zMDA6ICM1N2JiOGE7CiAgICAgIC0tZ29vZ2xlLWdyZWVuLTUwMDogIzBmOWQ1ODsKICAgICAgLS1nb29nbGUtZ3JlZW4tNzAwOiAjMGI4MDQzOwoKICAgICAgLS1nb29nbGUteWVsbG93LTEwMDogI2ZjZThiMjsKICAgICAgLS1nb29nbGUteWVsbG93LTMwMDogI2Y3Y2I0ZDsKICAgICAgLS1nb29nbGUteWVsbG93LTUwMDogI2Y0YjQwMDsKICAgICAgLS1nb29nbGUteWVsbG93LTcwMDogI2YwOTMwMDsKCiAgICAgIC0tZ29vZ2xlLWdyZXktMTAwOiAjZjVmNWY1OwogICAgICAtLWdvb2dsZS1ncmV5LTMwMDogI2UwZTBlMDsKICAgICAgLS1nb29nbGUtZ3JleS01MDA6ICM5ZTllOWU7CiAgICAgIC0tZ29vZ2xlLWdyZXktNzAwOiAjNjE2MTYxOwoKICAgICAgLyogTWF0ZXJpYWwgRGVzaWduIGNvbG9yIHBhbGV0dGUgZnJvbSBvbmxpbmUgc3BlYyBkb2N1bWVudCAqLwoKICAgICAgLS1wYXBlci1yZWQtNTA6ICNmZmViZWU7CiAgICAgIC0tcGFwZXItcmVkLTEwMDogI2ZmY2RkMjsKICAgICAgLS1wYXBlci1yZWQtMjAwOiAjZWY5YTlhOwogICAgICAtLXBhcGVyLXJlZC0zMDA6ICNlNTczNzM7CiAgICAgIC0tcGFwZXItcmVkLTQwMDogI2VmNTM1MDsKICAgICAgLS1wYXBlci1yZWQtNTAwOiAjZjQ0MzM2OwogICAgICAtLXBhcGVyLXJlZC02MDA6ICNlNTM5MzU7CiAgICAgIC0tcGFwZXItcmVkLTcwMDogI2QzMmYyZjsKICAgICAgLS1wYXBlci1yZWQtODAwOiAjYzYyODI4OwogICAgICAtLXBhcGVyLXJlZC05MDA6ICNiNzFjMWM7CiAgICAgIC0tcGFwZXItcmVkLWExMDA6ICNmZjhhODA7CiAgICAgIC0tcGFwZXItcmVkLWEyMDA6ICNmZjUyNTI7CiAgICAgIC0tcGFwZXItcmVkLWE0MDA6ICNmZjE3NDQ7CiAgICAgIC0tcGFwZXItcmVkLWE3MDA6ICNkNTAwMDA7CgogICAgICAtLXBhcGVyLXBpbmstNTA6ICNmY2U0ZWM7CiAgICAgIC0tcGFwZXItcGluay0xMDA6ICNmOGJiZDA7CiAgICAgIC0tcGFwZXItcGluay0yMDA6ICNmNDhmYjE7CiAgICAgIC0tcGFwZXItcGluay0zMDA6ICNmMDYyOTI7CiAgICAgIC0tcGFwZXItcGluay00MDA6ICNlYzQwN2E7CiAgICAgIC0tcGFwZXItcGluay01MDA6ICNlOTFlNjM7CiAgICAgIC0tcGFwZXItcGluay02MDA6ICNkODFiNjA7CiAgICAgIC0tcGFwZXItcGluay03MDA6ICNjMjE4NWI7CiAgICAgIC0tcGFwZXItcGluay04MDA6ICNhZDE0NTc7CiAgICAgIC0tcGFwZXItcGluay05MDA6ICM4ODBlNGY7CiAgICAgIC0tcGFwZXItcGluay1hMTAwOiAjZmY4MGFiOwogICAgICAtLXBhcGVyLXBpbmstYTIwMDogI2ZmNDA4MTsKICAgICAgLS1wYXBlci1waW5rLWE0MDA6ICNmNTAwNTc7CiAgICAgIC0tcGFwZXItcGluay1hNzAwOiAjYzUxMTYyOwoKICAgICAgLS1wYXBlci1wdXJwbGUtNTA6ICNmM2U1ZjU7CiAgICAgIC0tcGFwZXItcHVycGxlLTEwMDogI2UxYmVlNzsKICAgICAgLS1wYXBlci1wdXJwbGUtMjAwOiAjY2U5M2Q4OwogICAgICAtLXBhcGVyLXB1cnBsZS0zMDA6ICNiYTY4Yzg7CiAgICAgIC0tcGFwZXItcHVycGxlLTQwMDogI2FiNDdiYzsKICAgICAgLS1wYXBlci1wdXJwbGUtNTAwOiAjOWMyN2IwOwogICAgICAtLXBhcGVyLXB1cnBsZS02MDA6ICM4ZTI0YWE7CiAgICAgIC0tcGFwZXItcHVycGxlLTcwMDogIzdiMWZhMjsKICAgICAgLS1wYXBlci1wdXJwbGUtODAwOiAjNmExYjlhOwogICAgICAtLXBhcGVyLXB1cnBsZS05MDA6ICM0YTE0OGM7CiAgICAgIC0tcGFwZXItcHVycGxlLWExMDA6ICNlYTgwZmM7CiAgICAgIC0tcGFwZXItcHVycGxlLWEyMDA6ICNlMDQwZmI7CiAgICAgIC0tcGFwZXItcHVycGxlLWE0MDA6ICNkNTAwZjk7CiAgICAgIC0tcGFwZXItcHVycGxlLWE3MDA6ICNhYTAwZmY7CgogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTUwOiAjZWRlN2Y2OwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTEwMDogI2QxYzRlOTsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS0yMDA6ICNiMzlkZGI7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtMzAwOiAjOTU3NWNkOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTQwMDogIzdlNTdjMjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS01MDA6ICM2NzNhYjc7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtNjAwOiAjNWUzNWIxOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTcwMDogIzUxMmRhODsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS04MDA6ICM0NTI3YTA7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtOTAwOiAjMzExYjkyOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWExMDA6ICNiMzg4ZmY7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtYTIwMDogIzdjNGRmZjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hNDAwOiAjNjUxZmZmOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWE3MDA6ICM2MjAwZWE7CgogICAgICAtLXBhcGVyLWluZGlnby01MDogI2U4ZWFmNjsKICAgICAgLS1wYXBlci1pbmRpZ28tMTAwOiAjYzVjYWU5OwogICAgICAtLXBhcGVyLWluZGlnby0yMDA6ICM5ZmE4ZGE7CiAgICAgIC0tcGFwZXItaW5kaWdvLTMwMDogIzc5ODZjYjsKICAgICAgLS1wYXBlci1pbmRpZ28tNDAwOiAjNWM2YmMwOwogICAgICAtLXBhcGVyLWluZGlnby01MDA6ICMzZjUxYjU7CiAgICAgIC0tcGFwZXItaW5kaWdvLTYwMDogIzM5NDlhYjsKICAgICAgLS1wYXBlci1pbmRpZ28tNzAwOiAjMzAzZjlmOwogICAgICAtLXBhcGVyLWluZGlnby04MDA6ICMyODM1OTM7CiAgICAgIC0tcGFwZXItaW5kaWdvLTkwMDogIzFhMjM3ZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTEwMDogIzhjOWVmZjsKICAgICAgLS1wYXBlci1pbmRpZ28tYTIwMDogIzUzNmRmZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTQwMDogIzNkNWFmZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTcwMDogIzMwNGZmZTsKCiAgICAgIC0tcGFwZXItYmx1ZS01MDogI2UzZjJmZDsKICAgICAgLS1wYXBlci1ibHVlLTEwMDogI2JiZGVmYjsKICAgICAgLS1wYXBlci1ibHVlLTIwMDogIzkwY2FmOTsKICAgICAgLS1wYXBlci1ibHVlLTMwMDogIzY0YjVmNjsKICAgICAgLS1wYXBlci1ibHVlLTQwMDogIzQyYTVmNTsKICAgICAgLS1wYXBlci1ibHVlLTUwMDogIzIxOTZmMzsKICAgICAgLS1wYXBlci1ibHVlLTYwMDogIzFlODhlNTsKICAgICAgLS1wYXBlci1ibHVlLTcwMDogIzE5NzZkMjsKICAgICAgLS1wYXBlci1ibHVlLTgwMDogIzE1NjVjMDsKICAgICAgLS1wYXBlci1ibHVlLTkwMDogIzBkNDdhMTsKICAgICAgLS1wYXBlci1ibHVlLWExMDA6ICM4MmIxZmY7CiAgICAgIC0tcGFwZXItYmx1ZS1hMjAwOiAjNDQ4YWZmOwogICAgICAtLXBhcGVyLWJsdWUtYTQwMDogIzI5NzlmZjsKICAgICAgLS1wYXBlci1ibHVlLWE3MDA6ICMyOTYyZmY7CgogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNTA6ICNlMWY1ZmU7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0xMDA6ICNiM2U1ZmM7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0yMDA6ICM4MWQ0ZmE7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0zMDA6ICM0ZmMzZjc7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS00MDA6ICMyOWI2ZjY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS01MDA6ICMwM2E5ZjQ7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS02MDA6ICMwMzliZTU7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS03MDA6ICMwMjg4ZDE7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS04MDA6ICMwMjc3YmQ7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS05MDA6ICMwMTU3OWI7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hMTAwOiAjODBkOGZmOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTIwMDogIzQwYzRmZjsKICAgICAgLS1wYXBlci1saWdodC1ibHVlLWE0MDA6ICMwMGIwZmY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hNzAwOiAjMDA5MWVhOwoKICAgICAgLS1wYXBlci1jeWFuLTUwOiAjZTBmN2ZhOwogICAgICAtLXBhcGVyLWN5YW4tMTAwOiAjYjJlYmYyOwogICAgICAtLXBhcGVyLWN5YW4tMjAwOiAjODBkZWVhOwogICAgICAtLXBhcGVyLWN5YW4tMzAwOiAjNGRkMGUxOwogICAgICAtLXBhcGVyLWN5YW4tNDAwOiAjMjZjNmRhOwogICAgICAtLXBhcGVyLWN5YW4tNTAwOiAjMDBiY2Q0OwogICAgICAtLXBhcGVyLWN5YW4tNjAwOiAjMDBhY2MxOwogICAgICAtLXBhcGVyLWN5YW4tNzAwOiAjMDA5N2E3OwogICAgICAtLXBhcGVyLWN5YW4tODAwOiAjMDA4MzhmOwogICAgICAtLXBhcGVyLWN5YW4tOTAwOiAjMDA2MDY0OwogICAgICAtLXBhcGVyLWN5YW4tYTEwMDogIzg0ZmZmZjsKICAgICAgLS1wYXBlci1jeWFuLWEyMDA6ICMxOGZmZmY7CiAgICAgIC0tcGFwZXItY3lhbi1hNDAwOiAjMDBlNWZmOwogICAgICAtLXBhcGVyLWN5YW4tYTcwMDogIzAwYjhkNDsKCiAgICAgIC0tcGFwZXItdGVhbC01MDogI2UwZjJmMTsKICAgICAgLS1wYXBlci10ZWFsLTEwMDogI2IyZGZkYjsKICAgICAgLS1wYXBlci10ZWFsLTIwMDogIzgwY2JjNDsKICAgICAgLS1wYXBlci10ZWFsLTMwMDogIzRkYjZhYzsKICAgICAgLS1wYXBlci10ZWFsLTQwMDogIzI2YTY5YTsKICAgICAgLS1wYXBlci10ZWFsLTUwMDogIzAwOTY4ODsKICAgICAgLS1wYXBlci10ZWFsLTYwMDogIzAwODk3YjsKICAgICAgLS1wYXBlci10ZWFsLTcwMDogIzAwNzk2YjsKICAgICAgLS1wYXBlci10ZWFsLTgwMDogIzAwNjk1YzsKICAgICAgLS1wYXBlci10ZWFsLTkwMDogIzAwNGQ0MDsKICAgICAgLS1wYXBlci10ZWFsLWExMDA6ICNhN2ZmZWI7CiAgICAgIC0tcGFwZXItdGVhbC1hMjAwOiAjNjRmZmRhOwogICAgICAtLXBhcGVyLXRlYWwtYTQwMDogIzFkZTliNjsKICAgICAgLS1wYXBlci10ZWFsLWE3MDA6ICMwMGJmYTU7CgogICAgICAtLXBhcGVyLWdyZWVuLTUwOiAjZThmNWU5OwogICAgICAtLXBhcGVyLWdyZWVuLTEwMDogI2M4ZTZjOTsKICAgICAgLS1wYXBlci1ncmVlbi0yMDA6ICNhNWQ2YTc7CiAgICAgIC0tcGFwZXItZ3JlZW4tMzAwOiAjODFjNzg0OwogICAgICAtLXBhcGVyLWdyZWVuLTQwMDogIzY2YmI2YTsKICAgICAgLS1wYXBlci1ncmVlbi01MDA6ICM0Y2FmNTA7CiAgICAgIC0tcGFwZXItZ3JlZW4tNjAwOiAjNDNhMDQ3OwogICAgICAtLXBhcGVyLWdyZWVuLTcwMDogIzM4OGUzYzsKICAgICAgLS1wYXBlci1ncmVlbi04MDA6ICMyZTdkMzI7CiAgICAgIC0tcGFwZXItZ3JlZW4tOTAwOiAjMWI1ZTIwOwogICAgICAtLXBhcGVyLWdyZWVuLWExMDA6ICNiOWY2Y2E7CiAgICAgIC0tcGFwZXItZ3JlZW4tYTIwMDogIzY5ZjBhZTsKICAgICAgLS1wYXBlci1ncmVlbi1hNDAwOiAjMDBlNjc2OwogICAgICAtLXBhcGVyLWdyZWVuLWE3MDA6ICMwMGM4NTM7CgogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTUwOiAjZjFmOGU5OwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTEwMDogI2RjZWRjODsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi0yMDA6ICNjNWUxYTU7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tMzAwOiAjYWVkNTgxOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTQwMDogIzljY2M2NTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi01MDA6ICM4YmMzNGE7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tNjAwOiAjN2NiMzQyOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTcwMDogIzY4OWYzODsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi04MDA6ICM1NThiMmY7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tOTAwOiAjMzM2OTFlOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWExMDA6ICNjY2ZmOTA7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tYTIwMDogI2IyZmY1OTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hNDAwOiAjNzZmZjAzOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWE3MDA6ICM2NGRkMTc7CgogICAgICAtLXBhcGVyLWxpbWUtNTA6ICNmOWZiZTc7CiAgICAgIC0tcGFwZXItbGltZS0xMDA6ICNmMGY0YzM7CiAgICAgIC0tcGFwZXItbGltZS0yMDA6ICNlNmVlOWM7CiAgICAgIC0tcGFwZXItbGltZS0zMDA6ICNkY2U3NzU7CiAgICAgIC0tcGFwZXItbGltZS00MDA6ICNkNGUxNTc7CiAgICAgIC0tcGFwZXItbGltZS01MDA6ICNjZGRjMzk7CiAgICAgIC0tcGFwZXItbGltZS02MDA6ICNjMGNhMzM7CiAgICAgIC0tcGFwZXItbGltZS03MDA6ICNhZmI0MmI7CiAgICAgIC0tcGFwZXItbGltZS04MDA6ICM5ZTlkMjQ7CiAgICAgIC0tcGFwZXItbGltZS05MDA6ICM4Mjc3MTc7CiAgICAgIC0tcGFwZXItbGltZS1hMTAwOiAjZjRmZjgxOwogICAgICAtLXBhcGVyLWxpbWUtYTIwMDogI2VlZmY0MTsKICAgICAgLS1wYXBlci1saW1lLWE0MDA6ICNjNmZmMDA7CiAgICAgIC0tcGFwZXItbGltZS1hNzAwOiAjYWVlYTAwOwoKICAgICAgLS1wYXBlci15ZWxsb3ctNTA6ICNmZmZkZTc7CiAgICAgIC0tcGFwZXIteWVsbG93LTEwMDogI2ZmZjljNDsKICAgICAgLS1wYXBlci15ZWxsb3ctMjAwOiAjZmZmNTlkOwogICAgICAtLXBhcGVyLXllbGxvdy0zMDA6ICNmZmYxNzY7CiAgICAgIC0tcGFwZXIteWVsbG93LTQwMDogI2ZmZWU1ODsKICAgICAgLS1wYXBlci15ZWxsb3ctNTAwOiAjZmZlYjNiOwogICAgICAtLXBhcGVyLXllbGxvdy02MDA6ICNmZGQ4MzU7CiAgICAgIC0tcGFwZXIteWVsbG93LTcwMDogI2ZiYzAyZDsKICAgICAgLS1wYXBlci15ZWxsb3ctODAwOiAjZjlhODI1OwogICAgICAtLXBhcGVyLXllbGxvdy05MDA6ICNmNTdmMTc7CiAgICAgIC0tcGFwZXIteWVsbG93LWExMDA6ICNmZmZmOGQ7CiAgICAgIC0tcGFwZXIteWVsbG93LWEyMDA6ICNmZmZmMDA7CiAgICAgIC0tcGFwZXIteWVsbG93LWE0MDA6ICNmZmVhMDA7CiAgICAgIC0tcGFwZXIteWVsbG93LWE3MDA6ICNmZmQ2MDA7CgogICAgICAtLXBhcGVyLWFtYmVyLTUwOiAjZmZmOGUxOwogICAgICAtLXBhcGVyLWFtYmVyLTEwMDogI2ZmZWNiMzsKICAgICAgLS1wYXBlci1hbWJlci0yMDA6ICNmZmUwODI7CiAgICAgIC0tcGFwZXItYW1iZXItMzAwOiAjZmZkNTRmOwogICAgICAtLXBhcGVyLWFtYmVyLTQwMDogI2ZmY2EyODsKICAgICAgLS1wYXBlci1hbWJlci01MDA6ICNmZmMxMDc7CiAgICAgIC0tcGFwZXItYW1iZXItNjAwOiAjZmZiMzAwOwogICAgICAtLXBhcGVyLWFtYmVyLTcwMDogI2ZmYTAwMDsKICAgICAgLS1wYXBlci1hbWJlci04MDA6ICNmZjhmMDA7CiAgICAgIC0tcGFwZXItYW1iZXItOTAwOiAjZmY2ZjAwOwogICAgICAtLXBhcGVyLWFtYmVyLWExMDA6ICNmZmU1N2Y7CiAgICAgIC0tcGFwZXItYW1iZXItYTIwMDogI2ZmZDc0MDsKICAgICAgLS1wYXBlci1hbWJlci1hNDAwOiAjZmZjNDAwOwogICAgICAtLXBhcGVyLWFtYmVyLWE3MDA6ICNmZmFiMDA7CgogICAgICAtLXBhcGVyLW9yYW5nZS01MDogI2ZmZjNlMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtMTAwOiAjZmZlMGIyOwogICAgICAtLXBhcGVyLW9yYW5nZS0yMDA6ICNmZmNjODA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTMwMDogI2ZmYjc0ZDsKICAgICAgLS1wYXBlci1vcmFuZ2UtNDAwOiAjZmZhNzI2OwogICAgICAtLXBhcGVyLW9yYW5nZS01MDA6ICNmZjk4MDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTYwMDogI2ZiOGMwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtNzAwOiAjZjU3YzAwOwogICAgICAtLXBhcGVyLW9yYW5nZS04MDA6ICNlZjZjMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTkwMDogI2U2NTEwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTEwMDogI2ZmZDE4MDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTIwMDogI2ZmYWI0MDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTQwMDogI2ZmOTEwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTcwMDogI2ZmNjUwMDsKCiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNTA6ICNmYmU5ZTc7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtMTAwOiAjZmZjY2JjOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTIwMDogI2ZmYWI5MTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS0zMDA6ICNmZjhhNjU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNDAwOiAjZmY3MDQzOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTUwMDogI2ZmNTcyMjsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS02MDA6ICNmNDUxMWU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNzAwOiAjZTY0YTE5OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTgwMDogI2Q4NDMxNTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS05MDA6ICNiZjM2MGM7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTEwMDogI2ZmOWU4MDsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS1hMjAwOiAjZmY2ZTQwOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWE0MDA6ICNmZjNkMDA7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTcwMDogI2RkMmMwMDsKCiAgICAgIC0tcGFwZXItYnJvd24tNTA6ICNlZmViZTk7CiAgICAgIC0tcGFwZXItYnJvd24tMTAwOiAjZDdjY2M4OwogICAgICAtLXBhcGVyLWJyb3duLTIwMDogI2JjYWFhNDsKICAgICAgLS1wYXBlci1icm93bi0zMDA6ICNhMTg4N2Y7CiAgICAgIC0tcGFwZXItYnJvd24tNDAwOiAjOGQ2ZTYzOwogICAgICAtLXBhcGVyLWJyb3duLTUwMDogIzc5NTU0ODsKICAgICAgLS1wYXBlci1icm93bi02MDA6ICM2ZDRjNDE7CiAgICAgIC0tcGFwZXItYnJvd24tNzAwOiAjNWQ0MDM3OwogICAgICAtLXBhcGVyLWJyb3duLTgwMDogIzRlMzQyZTsKICAgICAgLS1wYXBlci1icm93bi05MDA6ICMzZTI3MjM7CgogICAgICAtLXBhcGVyLWdyZXktNTA6ICNmYWZhZmE7CiAgICAgIC0tcGFwZXItZ3JleS0xMDA6ICNmNWY1ZjU7CiAgICAgIC0tcGFwZXItZ3JleS0yMDA6ICNlZWVlZWU7CiAgICAgIC0tcGFwZXItZ3JleS0zMDA6ICNlMGUwZTA7CiAgICAgIC0tcGFwZXItZ3JleS00MDA6ICNiZGJkYmQ7CiAgICAgIC0tcGFwZXItZ3JleS01MDA6ICM5ZTllOWU7CiAgICAgIC0tcGFwZXItZ3JleS02MDA6ICM3NTc1NzU7CiAgICAgIC0tcGFwZXItZ3JleS03MDA6ICM2MTYxNjE7CiAgICAgIC0tcGFwZXItZ3JleS04MDA6ICM0MjQyNDI7CiAgICAgIC0tcGFwZXItZ3JleS05MDA6ICMyMTIxMjE7CgogICAgICAtLXBhcGVyLWJsdWUtZ3JleS01MDogI2VjZWZmMTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktMTAwOiAjY2ZkOGRjOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS0yMDA6ICNiMGJlYzU7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTMwMDogIzkwYTRhZTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNDAwOiAjNzg5MDljOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS01MDA6ICM2MDdkOGI7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTYwMDogIzU0NmU3YTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNzAwOiAjNDU1YTY0OwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS04MDA6ICMzNzQ3NGY7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTkwMDogIzI2MzIzODsKCiAgICAgIC8qIG9wYWNpdHkgZm9yIGRhcmsgdGV4dCBvbiBhIGxpZ2h0IGJhY2tncm91bmQgKi8KICAgICAgLS1kYXJrLWRpdmlkZXItb3BhY2l0eTogMC4xMjsKICAgICAgLS1kYXJrLWRpc2FibGVkLW9wYWNpdHk6IDAuMzg7IC8qIG9yIGhpbnQgdGV4dCBvciBpY29uICovCiAgICAgIC0tZGFyay1zZWNvbmRhcnktb3BhY2l0eTogMC41NDsKICAgICAgLS1kYXJrLXByaW1hcnktb3BhY2l0eTogMC44NzsKCiAgICAgIC8qIG9wYWNpdHkgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQgKi8KICAgICAgLS1saWdodC1kaXZpZGVyLW9wYWNpdHk6IDAuMTI7CiAgICAgIC0tbGlnaHQtZGlzYWJsZWQtb3BhY2l0eTogMC4zOyAvKiBvciBoaW50IHRleHQgb3IgaWNvbiAqLwogICAgICAtLWxpZ2h0LXNlY29uZGFyeS1vcGFjaXR5OiAwLjc7CiAgICAgIC0tbGlnaHQtcHJpbWFyeS1vcGFjaXR5OiAxLjA7CgogICAgfQoKICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAvKgogICAgICAgKiBZb3UgY2FuIHVzZSB0aGVzZSBnZW5lcmljIHZhcmlhYmxlcyBpbiB5b3VyIGVsZW1lbnRzIGZvciBlYXN5IHRoZW1pbmcuCiAgICAgICAqIEZvciBleGFtcGxlLCBpZiBhbGwgeW91ciBlbGVtZW50cyB1c2UgYC0tcHJpbWFyeS10ZXh0LWNvbG9yYCBhcyBpdHMgbWFpbgogICAgICAgKiBjb2xvciwgdGhlbiBzd2l0Y2hpbmcgZnJvbSBhIGxpZ2h0IHRvIGEgZGFyayB0aGVtZSBpcyBqdXN0IGEgbWF0dGVyIG9mCiAgICAgICAqIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBgLS1wcmltYXJ5LXRleHQtY29sb3JgIGluIHlvdXIgYXBwbGljYXRpb24uCiAgICAgICAqLwogICAgICAtLXByaW1hcnktdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtdGV4dC1jb2xvcik7CiAgICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC10aGVtZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgLS1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtc2Vjb25kYXJ5LWNvbG9yKTsKICAgICAgLS1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoLS1saWdodC10aGVtZS1kaXNhYmxlZC1jb2xvcik7CiAgICAgIC0tZGl2aWRlci1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtZGl2aWRlci1jb2xvcik7CiAgICAgIC0tZXJyb3ItY29sb3I6IHZhcigtLXBhcGVyLWRlZXAtb3JhbmdlLWE3MDApOwoKICAgICAgLyoKICAgICAgICogUHJpbWFyeSBhbmQgYWNjZW50IGNvbG9ycy4gQWxzbyBzZWUgY29sb3IuaHRtbCBmb3IgbW9yZSBjb2xvcnMuCiAgICAgICAqLwogICAgICAtLXByaW1hcnktY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAtLWxpZ2h0LXByaW1hcnktY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby0xMDApOwogICAgICAtLWRhcmstcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTcwMCk7CgogICAgICAtLWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hMjAwKTsKICAgICAgLS1saWdodC1hY2NlbnQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstYTEwMCk7CiAgICAgIC0tZGFyay1hY2NlbnQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstYTQwMCk7CgoKICAgICAgLyoKICAgICAgICogTWF0ZXJpYWwgRGVzaWduIExpZ2h0IGJhY2tncm91bmQgdGhlbWUKICAgICAgICovCiAgICAgIC0tbGlnaHQtdGhlbWUtYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgICAgLS1saWdodC10aGVtZS1iYXNlLWNvbG9yOiAjMDAwMDAwOwogICAgICAtLWxpZ2h0LXRoZW1lLXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktOTAwKTsKICAgICAgLS1saWdodC10aGVtZS1zZWNvbmRhcnktY29sb3I6ICM3MzczNzM7ICAvKiBmb3Igc2Vjb25kYXJ5IHRleHQgYW5kIGljb25zICovCiAgICAgIC0tbGlnaHQtdGhlbWUtZGlzYWJsZWQtY29sb3I6ICM5YjliOWI7ICAvKiBkaXNhYmxlZC9oaW50IHRleHQgKi8KICAgICAgLS1saWdodC10aGVtZS1kaXZpZGVyLWNvbG9yOiAjZGJkYmRiOwoKICAgICAgLyoKICAgICAgICogTWF0ZXJpYWwgRGVzaWduIERhcmsgYmFja2dyb3VuZCB0aGVtZQogICAgICAgKi8KICAgICAgLS1kYXJrLXRoZW1lLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktOTAwKTsKICAgICAgLS1kYXJrLXRoZW1lLWJhc2UtY29sb3I6ICNmZmZmZmY7CiAgICAgIC0tZGFyay10aGVtZS10ZXh0LWNvbG9yOiAjZmZmZmZmOwogICAgICAtLWRhcmstdGhlbWUtc2Vjb25kYXJ5LWNvbG9yOiAjYmNiY2JjOyAgLyogZm9yIHNlY29uZGFyeSB0ZXh0IGFuZCBpY29ucyAqLwogICAgICAtLWRhcmstdGhlbWUtZGlzYWJsZWQtY29sb3I6ICM2NDY0NjQ7ICAvKiBkaXNhYmxlZC9oaW50IHRleHQgKi8KICAgICAgLS1kYXJrLXRoZW1lLWRpdmlkZXItY29sb3I6ICMzYzNjM2M7CgogICAgICAvKgogICAgICAgKiBEZXByZWNhdGVkIHZhbHVlcyBiZWNhdXNlIG9mIHRoZWlyIGNvbmZ1c2luZyBuYW1lcy4KICAgICAgICovCiAgICAgIC0tdGV4dC1wcmltYXJ5LWNvbG9yOiB2YXIoLS1kYXJrLXRoZW1lLXRleHQtY29sb3IpOwogICAgICAtLWRlZmF1bHQtcHJpbWFyeS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWNoZWNrYm94Ij4KICA8dGVtcGxhdGUgc3RyaXAtd2hpdGVzcGFjZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZTogdmFyKC0tcGFwZXItY2hlY2tib3gtc2l6ZSwgMThweCk7CiAgICAgICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZWQgaW4gYGF0dGFjaGVkYC4gKi8KICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemU6IHZhcigtLXBhcGVyLWNoZWNrYm94LWluay1zaXplLCAtMXB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAjY2hlY2tib3hDb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSk7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgICAgICBtYXJnaW46IHZhcigtLXBhcGVyLWNoZWNrYm94LW1hcmdpbiwgaW5pdGlhbCk7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHZhcigtLXBhcGVyLWNoZWNrYm94LXZlcnRpY2FsLWFsaWduLCBtaWRkbGUpOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIH0KCiAgICAgICNpbmsgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCiAgICAgICAgLyogQ2VudGVyIHRoZSByaXBwbGUgaW4gdGhlIGNoZWNrYm94IGJ5IG5lZ2F0aXZlIG9mZnNldHRpbmcgaXQgYnkKICAgICAgICAgKiAoaW5rV2lkdGggLSByaXBwbGVXaWR0aCkgLyAyICovCiAgICAgICAgdG9wOiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICAgICAgbGVmdDogY2FsYygwcHggLSAodmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1pbmstc2l6ZSkgLSB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKSAvIDIpOwogICAgICAgIHdpZHRoOiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKTsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNpbms6ZGlyKHJ0bCkgewogICAgICAgIHJpZ2h0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgI2lua1tjaGVja2VkXSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgICNjaGVja2JveCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlcjogc29saWQgMnB4OwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE0MG1zLCBib3JkZXItY29sb3IgMTQwbXM7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwogICAgICB9CgogICAgICAvKiBjaGVja2JveCBjaGVja2VkIGFuaW1hdGlvbnMgKi8KICAgICAgI2NoZWNrYm94LmNoZWNrZWQgI2NoZWNrbWFyayB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CiAgICAgICAgYW5pbWF0aW9uOiBjaGVja21hcmstZXhwYW5kIDE0MG1zIGVhc2Utb3V0IGZvcndhcmRzOwogICAgICB9CgogICAgICBALXdlYmtpdC1rZXlmcmFtZXMgY2hlY2ttYXJrLWV4cGFuZCB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGNoZWNrbWFyay1leHBhbmQgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCkgcm90YXRlKDQ1ZGVnKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAjY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICB9CgogICAgICAjY2hlY2ttYXJrIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDM2JTsKICAgICAgICBoZWlnaHQ6IDcwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKDIvMTUgKiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKTsKICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKDIvMTUgKiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrbWFyay1jb2xvciwgd2hpdGUpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogOTclIDg2JTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA5NyUgODYlOwogICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiBwcm90ZWN0IGFnYWluc3QgcGFnZS1sZXZlbCBib3gtc2l6aW5nICovCiAgICAgIH0KCiAgICAgICNjaGVja21hcms6ZGlyKHJ0bCkgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDE0JTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTQlOwogICAgICB9CgogICAgICAvKiBsYWJlbCAqLwogICAgICAjY2hlY2tib3hMYWJlbCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFwZXItY2hlY2tib3gtbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjY2hlY2tib3hMYWJlbCB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNoZWNrZWQtY29sb3IsIHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItY2hlY2tib3gtbGFiZWwtY2hlY2tlZDsKICAgICAgfQoKICAgICAgI2NoZWNrYm94TGFiZWw6ZGlyKHJ0bCkgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLXNwYWNpbmcsIDhweCk7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOwogICAgICB9CgogICAgICAjY2hlY2tib3hMYWJlbFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBkaXNhYmxlZCBzdGF0ZSAqLwoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgI2NoZWNrYm94IHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjY2hlY2tib3ggewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjY2hlY2tib3hMYWJlbCAgewogICAgICAgIG9wYWNpdHk6IDAuNjU7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgI2NoZWNrYm94LmludmFsaWQ6bm90KC5jaGVja2VkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1lcnJvci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJjaGVja2JveENvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9ImNoZWNrYm94IiBjbGFzcyQ9IltbX2NvbXB1dGVDaGVja2JveENsYXNzKGNoZWNrZWQsIGludmFsaWQpXV0iPgogICAgICAgIDxkaXYgaWQ9ImNoZWNrbWFyayIgY2xhc3MkPSJbW19jb21wdXRlQ2hlY2ttYXJrQ2xhc3MoY2hlY2tlZCldXSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iY2hlY2tib3hMYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24taWNvbiI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CgogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CgogICAgICAgIGZpbGw6IHZhcigtLWlyb24taWNvbi1maWxsLWNvbG9yLCBjdXJyZW50Y29sb3IpOwogICAgICAgIHN0cm9rZTogdmFyKC0taXJvbi1pY29uLXN0cm9rZS1jb2xvciwgbm9uZSk7CgogICAgICAgIHdpZHRoOiB2YXIoLS1pcm9uLWljb24td2lkdGgsIDI0cHgpOwogICAgICAgIGhlaWdodDogdmFyKC0taXJvbi1pY29uLWhlaWdodCwgMjRweCk7CiAgICAgICAgQGFwcGx5IC0taXJvbi1pY29uOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tYTExeS1hbm5vdW5jZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgY2xpcDogcmVjdCgwcHgsMHB4LDBweCwwcHgpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBhcmlhLWxpdmUkPSJbW21vZGVdXSI+W1tfdGV4dF1dPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1pbnB1dCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHNsb3QgaWQ9ImNvbnRlbnQiPjwvc2xvdD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC8qIFNoYXJlZCBTdHlsZXMgKi8KICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOiB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCAnTm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29tbW9uLWNvZGU6IHsKICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ0NvbnNvbGFzJywgJ01lbmxvJywgbW9ub3NwYWNlOwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1leHBlbnNpdmUta2VybmluZzogewogICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDogewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfTsKCiAgICAgIC8qIE1hdGVyaWFsIEZvbnQgU3R5bGVzICovCgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTQ6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxMTJweDsKICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0NGVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxMjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MzogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDU2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTsKICAgICAgICBsaW5lLWhlaWdodDogNjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogNDVweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWRpc3BsYXkxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAzNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1oZWFkbGluZTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxMmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LXRpdGxlOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LXN1YmhlYWQ6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1ib2R5MjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWJvZHkxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY2FwdGlvbjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTFlbTsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1tZW51OiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWJ1dHRvbjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMThlbTsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvZGUyOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tY29kZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29kZTE6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1jb2RlOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfTsKCiAgICB9CgogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmbG9hdDogcmlnaHQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3Bhbj5bW19jaGFyQ291bnRlclN0cl1dPC9zcGFuPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGU6IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIHRvIG1ha2UgYSBzdGFja2luZyBjb250ZXh0ICovCiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICB9OwogICAgfQogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1jb250YWluZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2lubGluZV0pIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwLjMzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZmxvYXRlZC1sYWJlbC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jYXB0aW9uOwogICAgICB9CgogICAgICAudW5kZXJsaW5lIHsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5mb2N1c2VkLWxpbmUgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsMSwxKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZS1mb2N1czsKICAgICAgfQoKICAgICAgLnVuZGVybGluZS5pcy1oaWdobGlnaHRlZCAuZm9jdXNlZC1saW5lIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAudW5kZXJsaW5lLmlzLWludmFsaWQgLmZvY3VzZWQtbGluZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW52YWxpZC1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAudW5mb2N1c2VkLWxpbmUgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItdW5kZXJsaW5lOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAudW5mb2N1c2VkLWxpbmUgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQ7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZS1kaXNhYmxlZDsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtcmVsYXRpdmU7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzLCB3aWR0aCAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMsIHdpZHRoIDAuMjVzOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7CiAgICAgICAgLyogRml4IGZvciBzYWZhcmkgbm90IGZvY3VzaW5nIDAtaGVpZ2h0IGRhdGUvdGltZSBpbnB1dHMgd2l0aCAtd2Via2l0LWFwcGVyYW5jZTogbm9uZTsgKi8KICAgICAgICBtaW4taGVpZ2h0OiAxcHg7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSkgc2NhbGUoMC43NSk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NSUpIHNjYWxlKDAuNzUpOwoKICAgICAgICAvKiBTaW5jZSB3ZSBzY2FsZSB0byA3NS8xMDAgb2YgdGhlIHNpemUsIHdlIGFjdHVhbGx5IGhhdmUgMTAwLzc1IG9mIHRoZQogICAgICAgIG9yaWdpbmFsIHNwYWNlIG5vdyBhdmFpbGFibGUgKi8KICAgICAgICB3aWR0aDogMTMzJTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsLWZsb2F0aW5nOwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIDpob3N0KDpkaXIocnRsKSkgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtZmxvYXRpbmcgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IGF1dG87CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtZm9jdXM7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWRkZW4gOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtaGlkZGVuIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpcm9uLWlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlyb24tYXV0b2dyb3ctdGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWlucHV0KSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXNoYXJlZC1pbnB1dC1zdHlsZTsKICAgICAgICAvKiBUaGUgYXBwbHkgc2hpbSBkb2Vzbid0IGFwcGx5IHRoZSBuZXN0ZWQgY29sb3IgY3VzdG9tIHByb3BlcnR5LAogICAgICAgICAgc28gd2UgaGF2ZSB0byByZS1hcHBseSBpdCBoZXJlLiAqLwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LXdlYmtpdC1zcGlubmVyOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZChpbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlyb24taW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZCh0ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlyb24tYXV0b2dyb3ctdGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtaW5wdXQpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtZm9jdXM7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaXJvbi1pbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1pbnB1dCkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1pbnZhbGlkOwogICAgICB9CgogICAgICAucHJlZml4IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1ub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LXByZWZpeDsKICAgICAgfQoKICAgICAgLnN1ZmZpeCA6OnNsb3R0ZWQoKikgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtbm9uZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtc3VmZml4OwogICAgICB9CgogICAgICAvKiBGaXJlZm94IHNldHMgYSBtaW4td2lkdGggb24gdGhlIGlucHV0LCB3aGljaCBjYW4gY2F1c2UgbGF5b3V0IGlzc3VlcyAqLwogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpIHsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCh0ZXh0YXJlYSkgewogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgfQoKICAgICAgLmFkZC1vbi1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5hZGQtb24tY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwogICAgICB9CgogICAgICAuYWRkLW9uLWNvbnRlbnQuaXMtaGlnaGxpZ2h0ZWQgOjpzbG90dGVkKCopIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZmxvYXRlZC1sYWJlbC1wbGFjZWhvbGRlciIgYXJpYS1oaWRkZW49InRydWUiIGhpZGRlbj0iW1tub0xhYmVsRmxvYXRdXSI+Jm5ic3A7PC9kaXY+CgogICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmVmaXgiPjxzbG90IG5hbWU9InByZWZpeCI+PC9zbG90Pjwvc3Bhbj4KCiAgICAgIDxkaXYgY2xhc3MkPSJbW19jb21wdXRlSW5wdXRDb250ZW50Q2xhc3Mobm9MYWJlbEZsb2F0LGFsd2F5c0Zsb2F0TGFiZWwsZm9jdXNlZCxpbnZhbGlkLF9pbnB1dEhhc0NvbnRlbnQpXV0iIGlkPSJsYWJlbEFuZElucHV0Q29udGFpbmVyIj4KICAgICAgICA8c2xvdCBuYW1lPSJsYWJlbCI+PC9zbG90PgogICAgICAgIDxzbG90IG5hbWU9ImlucHV0Ij48L3Nsb3Q+CiAgICAgIDwvZGl2PgoKICAgICAgPHNwYW4gY2xhc3M9InN1ZmZpeCI+PHNsb3QgbmFtZT0ic3VmZml4Ij48L3Nsb3Q+PC9zcGFuPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcyQ9IltbX2NvbXB1dGVVbmRlcmxpbmVDbGFzcyhmb2N1c2VkLGludmFsaWQpXV0iPgogICAgICA8ZGl2IGNsYXNzPSJ1bmZvY3VzZWQtbGluZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvY3VzZWQtbGluZSI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzJD0iW1tfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzKGZvY3VzZWQsaW52YWxpZCldXSI+CiAgICAgIDxzbG90IG5hbWU9ImFkZC1vbiI+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1lcnJvciI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKCiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNhcHRpb247CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtZXJyb3I7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6MDsKICAgICAgICByaWdodDowOwogICAgICB9CgogICAgICA6aG9zdChbaW52YWxpZF0pIHsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgICB9OwogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIDpob3N0KFtmb2N1c2VkXSkgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgLyogRmlyZWZveCBzZXRzIGEgbWluLXdpZHRoIG9uIHRoZSBpbnB1dCwgd2hpY2ggY2FuIGNhdXNlIGxheW91dCBpc3N1ZXMgKi8KICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC8qIEluIDEueCwgdGhlIDxpbnB1dD4gaXMgZGlzdHJpYnV0ZWQgdG8gcGFwZXItaW5wdXQtY29udGFpbmVyLCB3aGljaCBzdHlsZXMgaXQuCiAgICAgIEluIDIueCB0aGUgPGlyb24taW5wdXQ+IGlzIGRpc3RyaWJ1dGVkIHRvIHBhcGVyLWlucHV0LWNvbnRhaW5lciwgd2hpY2ggc3R5bGVzCiAgICAgIGl0LCBidXQgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBjb3JyZWN0bHksIHdlIG5lZWQgdG8gcmVzZXQgc29tZQogICAgICBvZiB0aGUgbmF0aXZlIGlucHV0J3MgcHJvcGVydGllcyB0byBpbmhlcml0IChmcm9tIHRoZSBpcm9uLWlucHV0KSAqLwogICAgICBpcm9uLWlucHV0ID4gaW5wdXQgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGU7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OwogICAgICAgIHdvcmQtc3BhY2luZzogaW5oZXJpdDsKICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICB0ZXh0LXNoYWRvdzogaW5oZXJpdDsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBjdXJzb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIGlucHV0OmRpc2FibGVkIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLAogICAgICBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LXdlYmtpdC1zcGlubmVyOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1jbGVhci1idXR0b24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtY2xlYXI7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcjsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDo6LW1zLWNsZWFyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbXMtY2xlYXI7CiAgICAgIH0KCiAgICAgIGlucHV0OjotbXMtcmV2ZWFsIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbXMtcmV2ZWFsOwogICAgICB9CgogICAgICBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGxhYmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaW5wdXQtY29udGFpbmVyIGlkPSJjb250YWluZXIiIG5vLWxhYmVsLWZsb2F0PSJbW25vTGFiZWxGbG9hdF1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsKGFsd2F5c0Zsb2F0TGFiZWwscGxhY2Vob2xkZXIpXV0iIGF1dG8tdmFsaWRhdGUkPSJbW2F1dG9WYWxpZGF0ZV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgaW52YWxpZD0iW1tpbnZhbGlkXV0iPgoKICAgICAgPHNsb3QgbmFtZT0icHJlZml4IiBzbG90PSJwcmVmaXgiPjwvc2xvdD4KCiAgICAgIDxsYWJlbCBoaWRkZW4kPSJbWyFsYWJlbF1dIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9yJD0iW1tfaW5wdXRJZF1dIiBzbG90PSJsYWJlbCI+W1tsYWJlbF1dPC9sYWJlbD4KCiAgICAgIDxzcGFuIGlkPSJ0ZW1wbGF0ZS1wbGFjZWhvbGRlciI+PC9zcGFuPgoKICAgICAgPHNsb3QgbmFtZT0ic3VmZml4IiBzbG90PSJzdWZmaXgiPjwvc2xvdD4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KICA8L3RlbXBsYXRlPgoKICAKICA8dGVtcGxhdGUgaWQ9InYwIj4KICAgIDxpbnB1dCBpcz0iaXJvbi1pbnB1dCIgc2xvdD0iaW5wdXQiIGNsYXNzPSJpbnB1dC1lbGVtZW50IiBpZCQ9IltbX2lucHV0SWRdXSIgYXJpYS1sYWJlbGxlZGJ5JD0iW1tfYXJpYUxhYmVsbGVkQnldXSIgYXJpYS1kZXNjcmliZWRieSQ9IltbX2FyaWFEZXNjcmliZWRCeV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgdGl0bGUkPSJbW3RpdGxlXV0iIGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHByZXZlbnQtaW52YWxpZC1pbnB1dD0iW1twcmV2ZW50SW52YWxpZElucHV0XV0iIGFsbG93ZWQtcGF0dGVybj0iW1thbGxvd2VkUGF0dGVybl1dIiB2YWxpZGF0b3I9IltbdmFsaWRhdG9yXV0iIHR5cGUkPSJbW3R5cGVdXSIgcGF0dGVybiQ9IltbcGF0dGVybl1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgaW5wdXRtb2RlJD0iW1tpbnB1dG1vZGVdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgbWluJD0iW1ttaW5dXSIgbWF4JD0iW1ttYXhdXSIgc3RlcCQ9Iltbc3RlcF1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgbGlzdCQ9IltbbGlzdF1dIiBzaXplJD0iW1tzaXplXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiBhdXRvY29ycmVjdCQ9IltbYXV0b2NvcnJlY3RdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiIHRhYmluZGV4JD0iW1t0YWJJbmRleF1dIiBhdXRvc2F2ZSQ9IltbYXV0b3NhdmVdXSIgcmVzdWx0cyQ9IltbcmVzdWx0c11dIiBhY2NlcHQkPSJbW2FjY2VwdF1dIiBtdWx0aXBsZSQ9IltbbXVsdGlwbGVdXSI+CiAgPC90ZW1wbGF0ZT4KCiAgPHRlbXBsYXRlIGlkPSJ2MSI+CiAgICAKICAgIDxpcm9uLWlucHV0IGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgc2xvdD0iaW5wdXQiIGNsYXNzPSJpbnB1dC1lbGVtZW50IiBpZCQ9IltbX2lucHV0SWRdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgYWxsb3dlZC1wYXR0ZXJuPSJbW2FsbG93ZWRQYXR0ZXJuXV0iIGludmFsaWQ9Int7aW52YWxpZH19IiB2YWxpZGF0b3I9IltbdmFsaWRhdG9yXV0iPgogICAgICA8aW5wdXQgYXJpYS1sYWJlbGxlZGJ5JD0iW1tfYXJpYUxhYmVsbGVkQnldXSIgYXJpYS1kZXNjcmliZWRieSQ9IltbX2FyaWFEZXNjcmliZWRCeV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgdGl0bGUkPSJbW3RpdGxlXV0iIHR5cGUkPSJbW3R5cGVdXSIgcGF0dGVybiQ9IltbcGF0dGVybl1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgaW5wdXRtb2RlJD0iW1tpbnB1dG1vZGVdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgbWluJD0iW1ttaW5dXSIgbWF4JD0iW1ttYXhdXSIgc3RlcCQ9Iltbc3RlcF1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgbGlzdCQ9IltbbGlzdF1dIiBzaXplJD0iW1tzaXplXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiBhdXRvY29ycmVjdCQ9IltbYXV0b2NvcnJlY3RdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiIHRhYmluZGV4JD0iW1t0YWJJbmRleF1dIiBhdXRvc2F2ZSQ9IltbYXV0b3NhdmVdXSIgcmVzdWx0cyQ9IltbcmVzdWx0c11dIiBhY2NlcHQkPSJbW2FjY2VwdF1dIiBtdWx0aXBsZSQ9IltbbXVsdGlwbGVdXSI+CiAgICA8L2lyb24taW5wdXQ+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1vdmVybGF5LWJhY2tkcm9wIj4KCiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pcm9uLW92ZXJsYXktYmFja2Ryb3AtYmFja2dyb3VuZC1jb2xvciwgIzAwMCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgQGFwcGx5IC0taXJvbi1vdmVybGF5LWJhY2tkcm9wOwogICAgICB9CgogICAgICA6aG9zdCgub3BlbmVkKSB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLW9wYWNpdHksIDAuNik7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgQGFwcGx5IC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLW9wZW5lZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1kcm9wZG93biI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICB9CgogICAgICAjY29udGVudFdyYXBwZXIgOjpzbG90dGVkKCopIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQoKICAgICAgI2NvbnRlbnRXcmFwcGVyLmFuaW1hdGluZyA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0iY29udGVudFdyYXBwZXIiPgogICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItbWVudS1idXR0b24iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY3Vyc29yOiBhdXRvOwogICAgICAgIGNvbG9yOiB2YXIoLS1kaXNhYmxlZC10ZXh0LWNvbG9yKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWVudS1idXR0b24tZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIGlyb24tZHJvcGRvd24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWRyb3Bkb3duOwogICAgICB9CgogICAgICAuZHJvcGRvd24tY29udGVudCB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CgogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItbWVudS1idXR0b24tZHJvcGRvd24tYmFja2dyb3VuZCwgdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbC1hbGlnbj0idG9wIl0pIC5kcm9wZG93bi1jb250ZW50IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xMHB4OwogICAgICAgIHRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZlcnRpY2FsLWFsaWduPSJib3R0b20iXSkgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgICAgIGJvdHRvbTogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB9CgogICAgICAjdHJpZ2dlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InRyaWdnZXIiIG9uLXRhcD0idG9nZ2xlIj4KICAgICAgPHNsb3QgbmFtZT0iZHJvcGRvd24tdHJpZ2dlciI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGlyb24tZHJvcGRvd24gaWQ9ImRyb3Bkb3duIiBvcGVuZWQ9Int7b3BlbmVkfX0iIGhvcml6b250YWwtYWxpZ249IltbaG9yaXpvbnRhbEFsaWduXV0iIHZlcnRpY2FsLWFsaWduPSJbW3ZlcnRpY2FsQWxpZ25dXSIgZHluYW1pYy1hbGlnbj0iW1tkeW5hbWljQWxpZ25dXSIgaG9yaXpvbnRhbC1vZmZzZXQ9IltbaG9yaXpvbnRhbE9mZnNldF1dIiB2ZXJ0aWNhbC1vZmZzZXQ9IltbdmVydGljYWxPZmZzZXRdXSIgbm8tb3ZlcmxhcD0iW1tub092ZXJsYXBdXSIgb3Blbi1hbmltYXRpb24tY29uZmlnPSJbW29wZW5BbmltYXRpb25Db25maWddXSIgY2xvc2UtYW5pbWF0aW9uLWNvbmZpZz0iW1tjbG9zZUFuaW1hdGlvbkNvbmZpZ11dIiBuby1hbmltYXRpb25zPSJbW25vQW5pbWF0aW9uc11dIiBmb2N1cy10YXJnZXQ9IltbX2Ryb3Bkb3duQ29udGVudF1dIiBhbGxvdy1vdXRzaWRlLXNjcm9sbD0iW1thbGxvd091dHNpZGVTY3JvbGxdXSIgcmVzdG9yZS1mb2N1cy1vbi1jbG9zZT0iW1tyZXN0b3JlRm9jdXNPbkNsb3NlXV0iIG9uLWlyb24tb3ZlcmxheS1jYW5jZWxlZD0iX19vbklyb25PdmVybGF5Q2FuY2VsZWQiPgogICAgICA8ZGl2IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvaXJvbi1kcm9wZG93bj4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxpcm9uLWljb25zZXQtc3ZnIG5hbWU9InBhcGVyLWRyb3Bkb3duLW1lbnUiIHNpemU9IjI0Ij4KPHN2Zz48ZGVmcz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPjxkb20tbW9kdWxlIGlkPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKCiAgICAgICAgLyogTk9URShjZGF0YSk6IEJvdGggdmFsdWVzIGFyZSBuZWVkZWQsIHNpbmNlIHNvbWUgcGhvbmVzIHJlcXVpcmUgdGhlCiAgICAgICAgICogdmFsdWUgdG8gYmUgYHRyYW5zcGFyZW50YC4KICAgICAgICAgKi8KICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKCiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH07CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbbm9pbmtdKSBwYXBlci1yaXBwbGUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtuby1sYWJlbC1mbG9hdF0pIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBib3R0b206IDhweDsKICAgICAgICByaWdodDogMHB4OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LXJpcHBsZTsKICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDA7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtYnV0dG9uOwogICAgICB9CgogICAgICBwYXBlci1pbnB1dCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZHJvcGRvd24tbWVudS1pbnB1dDsKICAgICAgfQoKICAgICAgaXJvbi1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcik7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaWNvbjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRyb3Bkb3duLW1lbnUiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CgogICAgCiAgICA8c3BhbiByb2xlPSJidXR0b24iPjwvc3Bhbj4KICAgIDxwYXBlci1tZW51LWJ1dHRvbiBpZD0ibWVudUJ1dHRvbiIgdmVydGljYWwtYWxpZ249IltbdmVydGljYWxBbGlnbl1dIiBob3Jpem9udGFsLWFsaWduPSJbW2hvcml6b250YWxBbGlnbl1dIiBkeW5hbWljLWFsaWduPSJbW2R5bmFtaWNBbGlnbl1dIiB2ZXJ0aWNhbC1vZmZzZXQ9IltbX2NvbXB1dGVNZW51VmVydGljYWxPZmZzZXQobm9MYWJlbEZsb2F0LCB2ZXJ0aWNhbE9mZnNldCldXSIgZGlzYWJsZWQ9IltbZGlzYWJsZWRdXSIgbm8tYW5pbWF0aW9ucz0iW1tub0FuaW1hdGlvbnNdXSIgb24taXJvbi1zZWxlY3Q9Il9vbklyb25TZWxlY3QiIG9uLWlyb24tZGVzZWxlY3Q9Il9vbklyb25EZXNlbGVjdCIgb3BlbmVkPSJ7e29wZW5lZH19IiBjbG9zZS1vbi1hY3RpdmF0ZSBhbGxvdy1vdXRzaWRlLXNjcm9sbD0iW1thbGxvd091dHNpZGVTY3JvbGxdXSIgcmVzdG9yZS1mb2N1cy1vbi1jbG9zZT0iW1tyZXN0b3JlRm9jdXNPbkNsb3NlXV0iPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tdHJpZ2dlciIgc2xvdD0iZHJvcGRvd24tdHJpZ2dlciI+CiAgICAgICAgPHBhcGVyLXJpcHBsZT48L3BhcGVyLXJpcHBsZT4KICAgICAgICAKICAgICAgICA8cGFwZXItaW5wdXQgdHlwZT0idGV4dCIgaW52YWxpZD0iW1tpbnZhbGlkXV0iIHJlYWRvbmx5IGRpc2FibGVkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW3ZhbHVlXV0iIHBsYWNlaG9sZGVyPSJbW3BsYWNlaG9sZGVyXV0iIGVycm9yLW1lc3NhZ2U9IltbZXJyb3JNZXNzYWdlXV0iIGFsd2F5cy1mbG9hdC1sYWJlbD0iW1thbHdheXNGbG9hdExhYmVsXV0iIG5vLWxhYmVsLWZsb2F0PSJbW25vTGFiZWxGbG9hdF1dIiBsYWJlbD0iW1tsYWJlbF1dIj4KICAgICAgICAgIAogICAgICAgICAgPGlyb24taWNvbiBpY29uPSJwYXBlci1kcm9wZG93bi1tZW51OmFycm93LWRyb3AtZG93biIgc3VmZml4IHNsb3Q9InN1ZmZpeCI+PC9pcm9uLWljb24+CiAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgPC9kaXY+CiAgICAgIDxzbG90IGlkPSJjb250ZW50IiBuYW1lPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij48L3Nsb3Q+CiAgICA8L3BhcGVyLW1lbnUtYnV0dG9uPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWxpc3Rib3giPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1saXN0Ym94LWJhY2tncm91bmQtY29sb3IsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1saXN0Ym94LWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbGlzdGJveDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0LCAucGFwZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXBhcGVyLWl0ZW0tbWluLWhlaWdodCwgNDhweCk7CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wYXBlci1pdGVtIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgYm9yZGVyOm5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSksIC5wYXBlci1pdGVtW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tc2VsZWN0ZWQpLCAucGFwZXItaXRlbS5pcm9uLXNlbGVjdGVkIHsKICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcGFwZXItaXRlbS1zZWxlY3RlZC13ZWlnaHQsIGJvbGQpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLXNlbGVjdGVkOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSwgLnBhcGVyLWl0ZW1bZGlzYWJsZWRdIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1kaXNhYmxlZC1jb2xvciwgdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpLCAucGFwZXItaXRlbTpmb2N1cyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG91dGxpbmU6IDA7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW0tZm9jdXNlZDsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKTpiZWZvcmUsIC5wYXBlci1pdGVtOmZvY3VzOmJlZm9yZSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZpdDsKCiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIG9wYWNpdHk6IHZhcigtLWRhcmstZGl2aWRlci1vcGFjaXR5KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1mb2N1c2VkLWJlZm9yZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWl0ZW0iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1pdGVtLXNoYXJlZC1zdHlsZXMiPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtYmFja2VuZCI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc3RvcmFnZSI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGFnLWZpbHRlcmVyIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItaW5wdXQgbm8tbGFiZWwtZmxvYXQgbGFiZWw9IkZpbHRlciB0YWdzIChyZWd1bGFyIGV4cHJlc3Npb25zIHN1cHBvcnRlZCkiIHZhbHVlPSJ7e190YWdGaWx0ZXJ9fSIgY2xhc3M9InNlYXJjaC1pbnB1dCI+CiAgICAgIDxpcm9uLWljb24gcHJlZml4IGljb249InNlYXJjaCIgc2xvdD0icHJlZml4Ij48L2lyb24taWNvbj4KICAgIDwvcGFwZXItaW5wdXQ+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDEwcHggMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAubGF5b3V0Lmhvcml6b250YWwsCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0LmlubGluZSB7CiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbCB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubGF5b3V0LndyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAubGF5b3V0Lm5vLXdyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5mbGV4IHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LWF1dG8gewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICAuZmxleC1ub25lIHsKICAgICAgICAtbXMtZmxleDogbm9uZTsKICAgICAgICAtd2Via2l0LWZsZXg6IG5vbmU7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1yZXZlcnNlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbC1yZXZlcnNlLAogICAgICAubGF5b3V0LnZlcnRpY2FsLXJldmVyc2UgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0Lmhvcml6b250YWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQud3JhcC1yZXZlcnNlIHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1hbGlnbm1lbnQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLyoqCiAgICAgICAqIEFsaWdubWVudCBpbiBjcm9zcyBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydCB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuY2VudGVyLAogICAgICAubGF5b3V0LmNlbnRlci1jZW50ZXIgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5iYXNlbGluZSB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFsaWdubWVudCBpbiBtYWluIGF4aXMuCiAgICAgICAqLwogICAgICAubGF5b3V0LnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAubGF5b3V0LmFyb3VuZC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2VsZiBhbGlnbm1lbnQuCiAgICAgICAqLwogICAgICAuc2VsZi1zdGFydCB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5zZWxmLWNlbnRlciB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZWxmLWVuZCB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5zZWxmLXN0cmV0Y2ggewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICB9CgogICAgICAuc2VsZi1iYXNlbGluZSB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBtdWx0aS1saW5lIGFsaWdubWVudCBpbiBtYWluIGF4aXMuCiAgICAgICAqLwogICAgICAubGF5b3V0LnN0YXJ0LWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmxheW91dC5iZXR3ZWVuLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLmxheW91dC5hcm91bmQtYWxpZ25lZCB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1mbGV4LWZhY3RvcnMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLmZsZXgsCiAgICAgIC5mbGV4LTEgewogICAgICAgIC1tcy1mbGV4OiAxIDEgMC4wMDAwMDAwMDFweDsKICAgICAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAgICAgZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgICAgZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgfQoKICAgICAgLmZsZXgtMiB7CiAgICAgICAgLW1zLWZsZXg6IDI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAyOwogICAgICAgIGZsZXg6IDI7CiAgICAgIH0KCiAgICAgIC5mbGV4LTMgewogICAgICAgIC1tcy1mbGV4OiAzOwogICAgICAgIC13ZWJraXQtZmxleDogMzsKICAgICAgICBmbGV4OiAzOwogICAgICB9CgogICAgICAuZmxleC00IHsKICAgICAgICAtbXMtZmxleDogNDsKICAgICAgICAtd2Via2l0LWZsZXg6IDQ7CiAgICAgICAgZmxleDogNDsKICAgICAgfQoKICAgICAgLmZsZXgtNSB7CiAgICAgICAgLW1zLWZsZXg6IDU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA1OwogICAgICAgIGZsZXg6IDU7CiAgICAgIH0KCiAgICAgIC5mbGV4LTYgewogICAgICAgIC1tcy1mbGV4OiA2OwogICAgICAgIC13ZWJraXQtZmxleDogNjsKICAgICAgICBmbGV4OiA2OwogICAgICB9CgogICAgICAuZmxleC03IHsKICAgICAgICAtbXMtZmxleDogNzsKICAgICAgICAtd2Via2l0LWZsZXg6IDc7CiAgICAgICAgZmxleDogNzsKICAgICAgfQoKICAgICAgLmZsZXgtOCB7CiAgICAgICAgLW1zLWZsZXg6IDg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA4OwogICAgICAgIGZsZXg6IDg7CiAgICAgIH0KCiAgICAgIC5mbGV4LTkgewogICAgICAgIC1tcy1mbGV4OiA5OwogICAgICAgIC13ZWJraXQtZmxleDogOTsKICAgICAgICBmbGV4OiA5OwogICAgICB9CgogICAgICAuZmxleC0xMCB7CiAgICAgICAgLW1zLWZsZXg6IDEwOwogICAgICAgIC13ZWJraXQtZmxleDogMTA7CiAgICAgICAgZmxleDogMTA7CiAgICAgIH0KCiAgICAgIC5mbGV4LTExIHsKICAgICAgICAtbXMtZmxleDogMTE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMTsKICAgICAgICBmbGV4OiAxMTsKICAgICAgfQoKICAgICAgLmZsZXgtMTIgewogICAgICAgIC1tcy1mbGV4OiAxMjsKICAgICAgICAtd2Via2l0LWZsZXg6IDEyOwogICAgICAgIGZsZXg6IDEyOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1wb3NpdGlvbmluZyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuYmxvY2sgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuaW52aXNpYmxlIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnJlbGF0aXZlIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5maXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIGJvZHkuZnVsbGJsZWVkIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfQoKICAgICAgLnNjcm9sbCB7CiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICAvKiBmaXhlZCBwb3NpdGlvbiAqLwogICAgICAuZml4ZWQtYm90dG9tLAogICAgICAuZml4ZWQtbGVmdCwKICAgICAgLmZpeGVkLXJpZ2h0LAogICAgICAuZml4ZWQtdG9wIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIH0KCiAgICAgIC5maXhlZC10b3AgewogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAuZml4ZWQtcmlnaHQgewogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1ib3R0b20gewogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICAuZml4ZWQtbGVmdCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iZGFzaGJvYXJkLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0iaXJvbi1mbGV4Ij48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmc6IDE1cHg7CiAgICAgICAgLS1zaWRlYmFyLWxlZnQtcGFkZGluZzogMzBweDsKICAgICAgfQoKICAgICAgW3Nsb3Q9J3NpZGViYXInXSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogNXB4IDA7CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIHRmLXJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBsZWZ0OiB2YXIoLS1zaWRlYmFyLWxlZnQtcGFkZGluZyk7CiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tc2lkZWJhci12ZXJ0aWNhbC1wYWRkaW5nKSAqIDIpOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDAgMTBweDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiB7CiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7CiAgICAgICAgcGFkZGluZzogdmFyKC0tc2lkZWJhci12ZXJ0aWNhbC1wYWRkaW5nKSAwCiAgICAgICAgICB2YXIoLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmcpIHZhcigtLXNpZGViYXItbGVmdC1wYWRkaW5nKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICB9CgogICAgICAuc2lkZWJhci1zZWN0aW9uOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW46IDVweDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246Zmlyc3Qtb2YtdHlwZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246bGFzdC1vZi10eXBlIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiA+IDpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBwYWRkaW5nLXRvcDogMDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOwogICAgICB9CgogICAgICAuc2lkZWJhci1zZWN0aW9uIGgzIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIG1hcmdpbjogMTBweCAwIDVweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InNjcm9sbGJhci1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTkwMCk7CiAgICAgIH0KICAgICAgLnNjcm9sbGJhciB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRhc2hib2FyZC1sYXlvdXQiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9InNpZGViYXIiPgogICAgICA8c2xvdCBuYW1lPSJzaWRlYmFyIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJjZW50ZXIiPgogICAgICA8c2xvdCBuYW1lPSJjZW50ZXIiIGNsYXNzPSJzY29sbGJhciI+PC9zbG90PgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI3NpZGViYXIgewogICAgICAgIGZsZXg6IDAgMCB2YXIoLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXMsIDI1JSk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1heC13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1heC13aWR0aCwgMzUwcHgpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aCwgMjcwcHgpOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgICNjZW50ZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdjZW50ZXInXSkgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgLnRmLWdyYXBoLWRhc2hib2FyZCAjY2VudGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtb3B0aW9uLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJ3cmFwIj4KICAgICAgPGgzPltbbmFtZV1dPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj48c2xvdD48L3Nsb3Q+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoKikgewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoKikgewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoLnNlbGVjdGVkKSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBoMyB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgICBtYXJnaW46IDAgMCA1cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJpcm9uLWNvbGxhcHNlIj4KCiAgPHRlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWlyb24tY29sbGFwc2UtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMzAwbXMpOwogICAgICAgIC8qIFNhZmFyaSAxMCBuZWVkcyB0aGlzIHByb3BlcnR5IHByZWZpeGVkIHRvIGNvcnJlY3RseSBhcHBseSB0aGUgY3VzdG9tIHByb3BlcnR5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1pcm9uLWNvbGxhcHNlLXRyYW5zaXRpb24tZHVyYXRpb24sIDMwMG1zKTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tY29sbGFwc2UtY2xvc2VkKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1jb2xsYXBzZS1vcGVuZWQpKSB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CgogIDwvdGVtcGxhdGU+Cgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3BhbmVSZW5kZXJlZF1dIiBpZD0iaWZSZW5kZXJlZCI+CiAgICAgIDxidXR0b24gY2xhc3M9ImhlYWRpbmciIG9uLXRhcD0iX3RvZ2dsZVBhbmUiIG9wZW4tYnV0dG9uJD0iW1tvcGVuZWRdXSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuPlRhZ3MgbWF0Y2hpbmcgbXVsdGlwbGUgZXhwZXJpbWVudHM8L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0ludmFsaWRTZWFyY2hSZXN1bHRzXV0iPgogICAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PHN0cm9uZz4obWFsZm9ybWVkIHJlZ3VsYXIgZXhwcmVzc2lvbik8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+VGFncyBtYXRjaGluZyAvPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIj5bW2NhdGVnb3J5Lm5hbWVdXTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGlnaHQiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1VuaXZlcnNhbFNlYXJjaFF1ZXJ5XV0iPgogICAgICAgICAgICAgICAgPHNwYW4+IChhbGwgdGFncyk8L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzSW52YWxpZFNlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgICAgICA8c3Bhbj4gPHN0cm9uZz4obWFsZm9ybWVkIHJlZ3VsYXIgZXhwcmVzc2lvbik8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIj5bW2NhdGVnb3J5Lm5hbWVdXTwvc3Bhbj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudCI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlXV0iPgogICAgICAgICAgICA8c3Bhbj5bW19jb3VudF1dPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZXhwYW5kLW1vcmUiIGNsYXNzPSJleHBhbmQtYXJyb3ciPjwvaXJvbi1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIAogICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Iltbb3BlbmVkXV0iIG5vLWFuaW1hdGlvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgIDxzcGFuIGlkPSJ0b3Atb2YtY29udGFpbmVyIj48L3NwYW4+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIG9uLXRhcD0iX3BlcmZvcm1QcmV2aW91c1BhZ2UiIGRpc2FibGVkJD0iW1shX2hhc1ByZXZpb3VzUGFnZV1dIj5QcmV2aW91cyBwYWdlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBvbi10YXA9Il9wZXJmb3JtTmV4dFBhZ2UiIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iPk5leHQgcGFnZTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgICAgPGRpdiBpZD0iaXRlbXMiPgogICAgICAgICAgICA8c2xvdCBuYW1lPSJpdGVtcyI+PC9zbG90PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBpZD0iY29udHJvbHMtY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAgNXB4Ij4KICAgICAgICAgICAgICAgIFBhZ2UKICAgICAgICAgICAgICAgIDxwYXBlci1pbnB1dCBpZD0icGFnZS1pbnB1dCIgdHlwZT0ibnVtYmVyIiBuby1sYWJlbC1mbG9hdCBtaW49IjEiIG1heD0iW1tfcGFnZUNvdW50XV0iIHZhbHVlPSJbW19wYWdlSW5wdXRWYWx1ZV1dIiBvbi1pbnB1dD0iX2hhbmRsZVBhZ2VJbnB1dEV2ZW50IiBvbi1jaGFuZ2U9Il9oYW5kbGVQYWdlQ2hhbmdlRXZlbnQiIG9uLWZvY3VzPSJfaGFuZGxlUGFnZUZvY3VzRXZlbnQiIG9uLWJsdXI9Il9oYW5kbGVQYWdlQmx1ckV2ZW50Ij48L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgb2YgW1tfcGFnZUNvdW50XV0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiaWctcGFnZS1idXR0b25zIiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsiPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gb24tdGFwPSJfcGVyZm9ybVByZXZpb3VzUGFnZSIgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iPlByZXZpb3VzIHBhZ2U8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIgZGlzYWJsZWQkPSJbWyFfaGFzTmV4dFBhZ2VdXSI+TmV4dCBwYWdlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMCA1cHggMXB4IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmaXJzdC1vZi10eXBlKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoOmxhc3Qtb2YtdHlwZSkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAuaGVhZGluZzo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICB9CgogICAgICBbb3Blbi1idXR0b25dIHsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgW29wZW4tYnV0dG9uXSAuZXhwYW5kLWFycm93IHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsKICAgICAgfQoKICAgICAgLm5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5saWdodCB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNTAwKTsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBwYWRkaW5nOiAycHggMDsKICAgICAgfQoKICAgICAgLmNvdW50IHsKICAgICAgICBtYXJnaW46IDAgNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4OiBub25lOwogICAgICB9CgogICAgICAuaGVhZGluZzo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4OwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTsKICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICB9CgogICAgICAubGlnaHQgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7CiAgICAgIH0KCiAgICAgICNjb250cm9scy1jb250YWluZXIgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250cm9scy1jb250YWluZXIgcGFwZXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5iaWctcGFnZS1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyBwYXBlci1idXR0b24gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgZmxleC1iYXNpczogMDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyBwYXBlci1idXR0b25bZGlzYWJsZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICB9CgogICAgICBzbG90IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoW3Nsb3Q9J2l0ZW1zJ10pIHsKICAgICAgICAvKiBUb29sdGlwIGZvciBkZXNjcmlwdGlvbnMgYW5kIG90aGVycyBicmVhayB3aXRoIG1vcmUgc3RyaWN0IG9uZXMuICovCiAgICAgICAgY29udGFpbjogc3R5bGU7CiAgICAgIH0KCiAgICAgICNwYWdlLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IHZhcigtLXRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3LXBhZ2UtaW5wdXQtd2lkdGgsIDEwMCUpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nLXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMjRweCA0MHB4OwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1kaWFsb2ctYmFja2dyb3VuZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWRpYWxvZy1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtYm9keTE7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZzsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICB9CgogICAgICA6aG9zdCA+IDo6c2xvdHRlZCgubm8tcGFkZGluZykgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIAogICAgICA6aG9zdCA+IDo6c2xvdHRlZCgqOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLyogSW4gMS54LCB0aGlzIHNlbGVjdG9yIHdhcyBgOmhvc3QgPiA6OmNvbnRlbnQgaDJgLiBJbiAyLnggPHNsb3Q+IGFsbG93cwogICAgICB0byBzZWxlY3QgZGlyZWN0IGNoaWxkcmVuIG9ubHksIHdoaWNoIGluY3JlYXNlcyB0aGUgd2VpZ2h0IG9mIHRoaXMKICAgICAgc2VsZWN0b3IsIHNvIHdlIGhhdmUgdG8gcmUtZGVmaW5lIGZpcnN0LWNoaWxkL2xhc3QtY2hpbGQgbWFyZ2lucyBiZWxvdy4gKi8KICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoaDIpIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAwOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXRpdGxlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTsKICAgICAgfQoKICAgICAgLyogQXBwbHkgbWl4aW4gYWdhaW4sIGluIGNhc2UgaXQgc2V0cyBtYXJnaW4tdG9wLiAqLwogICAgICA6aG9zdCA+IDo6c2xvdHRlZChoMjpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZGlhbG9nLXRpdGxlOwogICAgICB9CgogICAgICAvKiBBcHBseSBtaXhpbiBhZ2FpbiwgaW4gY2FzZSBpdCBzZXRzIG1hcmdpbi1ib3R0b20uICovCiAgICAgIDpob3N0ID4gOjpzbG90dGVkKGgyOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLnBhcGVyLWRpYWxvZy1idXR0b25zKSwKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLmJ1dHRvbnMpIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDsKICAgICAgICBtYXJnaW46IDA7CgogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1kaWFsb2ctYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1lbmQtanVzdGlmaWVkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItZGlhbG9nLXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1jb2xvci1zY2FsZSI+CiAgCiAgCjwvZG9tLW1vZHVsZT48aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJpY29ucyIgc2l6ZT0iMjQiPgo8c3ZnPjxkZWZzPgo8ZyBpZD0iM2Qtcm90YXRpb24iPjxwYXRoIGQ9Ik03LjUyIDIxLjQ4QzQuMjUgMTkuOTQgMS45MSAxNi43NiAxLjU1IDEzSC4wNUMuNTYgMTkuMTYgNS43MSAyNCAxMiAyNGwuNjYtLjAzLTMuODEtMy44MS0xLjMzIDEuMzJ6bS44OS02LjUyYy0uMTkgMC0uMzctLjAzLS41Mi0uMDgtLjE2LS4wNi0uMjktLjEzLS40LS4yNC0uMTEtLjEtLjItLjIyLS4yNi0uMzctLjA2LS4xNC0uMDktLjMtLjA5LS40N2gtMS4zYzAgLjM2LjA3LjY4LjIxLjk1LjE0LjI3LjMzLjUuNTYuNjkuMjQuMTguNTEuMzIuODIuNDEuMy4xLjYyLjE1Ljk2LjE1LjM3IDAgLjcyLS4wNSAxLjAzLS4xNS4zMi0uMS42LS4yNS44My0uNDRzLjQyLS40My41NS0uNzJjLjEzLS4yOS4yLS42MS4yLS45NyAwLS4xOS0uMDItLjM4LS4wNy0uNTYtLjA1LS4xOC0uMTItLjM1LS4yMy0uNTEtLjEtLjE2LS4yNC0uMy0uNC0uNDMtLjE3LS4xMy0uMzctLjIzLS42MS0uMzEuMi0uMDkuMzctLjIuNTItLjMzLjE1LS4xMy4yNy0uMjcuMzctLjQyLjEtLjE1LjE3LS4zLjIyLS40Ni4wNS0uMTYuMDctLjMyLjA3LS40OCAwLS4zNi0uMDYtLjY4LS4xOC0uOTYtLjEyLS4yOC0uMjktLjUxLS41MS0uNjktLjItLjE5LS40Ny0uMzMtLjc3LS40M0M5LjEgOC4wNSA4Ljc2IDggOC4zOSA4Yy0uMzYgMC0uNjkuMDUtMSAuMTYtLjMuMTEtLjU3LjI2LS43OS40NS0uMjEuMTktLjM4LjQxLS41MS42Ny0uMTIuMjYtLjE4LjU0LS4xOC44NWgxLjNjMC0uMTcuMDMtLjMyLjA5LS40NXMuMTQtLjI1LjI1LS4zNGMuMTEtLjA5LjIzLS4xNy4zOC0uMjIuMTUtLjA1LjMtLjA4LjQ4LS4wOC40IDAgLjcuMS44OS4zMS4xOS4yLjI5LjQ5LjI5Ljg2IDAgLjE4LS4wMy4zNC0uMDguNDktLjA1LjE1LS4xNC4yNy0uMjUuMzctLjExLjEtLjI1LjE4LS40MS4yNC0uMTYuMDYtLjM2LjA5LS41OC4wOUg3LjV2MS4wM2guNzdjLjIyIDAgLjQyLjAyLjYuMDdzLjMzLjEzLjQ1LjIzYy4xMi4xMS4yMi4yNC4yOS40LjA3LjE2LjEuMzUuMS41NyAwIC40MS0uMTIuNzItLjM1LjkzLS4yMy4yMy0uNTUuMzMtLjk1LjMzem04LjU1LTUuOTJjLS4zMi0uMzMtLjctLjU5LTEuMTQtLjc3LS40My0uMTgtLjkyLS4yNy0xLjQ2LS4yN0gxMnY4aDIuM2MuNTUgMCAxLjA2LS4wOSAxLjUxLS4yNy40NS0uMTguODQtLjQzIDEuMTYtLjc2LjMyLS4zMy41Ny0uNzMuNzQtMS4xOS4xNy0uNDcuMjYtLjk5LjI2LTEuNTd2LS40YzAtLjU4LS4wOS0xLjEtLjI2LTEuNTctLjE4LS40Ny0uNDMtLjg3LS43NS0xLjJ6bS0uMzkgMy4xNmMwIC40Mi0uMDUuNzktLjE0IDEuMTMtLjEuMzMtLjI0LjYyLS40My44NS0uMTkuMjMtLjQzLjQxLS43MS41My0uMjkuMTItLjYyLjE4LS45OS4xOGgtLjkxVjkuMTJoLjk3Yy43MiAwIDEuMjcuMjMgMS42NC42OS4zOC40Ni41NyAxLjEyLjU3IDEuOTl2LjR6TTEyIDBsLS42Ni4wMyAzLjgxIDMuODEgMS4zMy0xLjMzYzMuMjcgMS41NSA1LjYxIDQuNzIgNS45NiA4LjQ4aDEuNUMyMy40NCA0Ljg0IDE4LjI5IDAgMTIgMHoiIC8+PC9nPgo8ZyBpZD0iYWNjZXNzaWJpbGl0eSI+PHBhdGggZD0iTTEyIDJjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyLTItLjktMi0yIC45LTIgMi0yem05IDdoLTZ2MTNoLTJ2LTZoLTJ2Nkg5VjlIM1Y3aDE4djJ6IiAvPjwvZz4KPGcgaWQ9ImFjY2Vzc2libGUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNCIgcj0iMiIgLz48cGF0aCBkPSJNMTkgMTN2LTJjLTEuNTQuMDItMy4wOS0uNzUtNC4wNy0xLjgzbC0xLjI5LTEuNDNjLS4xNy0uMTktLjM4LS4zNC0uNjEtLjQ1LS4wMSAwLS4wMS0uMDEtLjAyLS4wMUgxM2MtLjM1LS4yLS43NS0uMy0xLjE5LS4yNkMxMC43NiA3LjExIDEwIDguMDQgMTAgOS4wOVYxNWMwIDEuMS45IDIgMiAyaDV2NWgydi01LjVjMC0xLjEtLjktMi0yLTJoLTN2LTMuNDVjMS4yOSAxLjA3IDMuMjUgMS45NCA1IDEuOTV6bS02LjE3IDVjLS40MSAxLjE2LTEuNTIgMi0yLjgzIDItMS42NiAwLTMtMS4zNC0zLTMgMC0xLjMxLjg0LTIuNDEgMi0yLjgzVjEyLjFjLTIuMjguNDYtNCAyLjQ4LTQgNC45IDAgMi43NiAyLjI0IDUgNSA1IDIuNDIgMCA0LjQ0LTEuNzIgNC45LTRoLTIuMDd6IiAvPjwvZz4KPGcgaWQ9ImFjY291bnQtYmFsYW5jZSI+PHBhdGggZD0iTTQgMTB2N2gzdi03SDR6bTYgMHY3aDN2LTdoLTN6TTIgMjJoMTl2LTNIMnYzem0xNC0xMnY3aDN2LTdoLTN6bS00LjUtOUwyIDZ2MmgxOVY2bC05LjUtNXoiIC8+PC9nPgo8ZyBpZD0iYWNjb3VudC1iYWxhbmNlLXdhbGxldCI+PHBhdGggZD0iTTIxIDE4djFjMCAxLjEtLjkgMi0yIDJINWMtMS4xMSAwLTItLjktMi0yVjVjMC0xLjEuODktMiAyLTJoMTRjMS4xIDAgMiAuOSAyIDJ2MWgtOWMtMS4xMSAwLTIgLjktMiAydjhjMCAxLjEuODkgMiAyIDJoOXptLTktMmgxMFY4SDEydjh6bTQtMi41Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVzLjY3LTEuNSAxLjUtMS41IDEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiIC8+PC9nPgo8ZyBpZD0iYWNjb3VudC1ib3giPjxwYXRoIGQ9Ik0zIDV2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjExIDAtMiAuOS0yIDJ6bTEyIDRjMCAxLjY2LTEuMzQgMy0zIDNzLTMtMS4zNC0zLTMgMS4zNC0zIDMtMyAzIDEuMzQgMyAzem0tOSA4YzAtMiA0LTMuMSA2LTMuMXM2IDEuMSA2IDMuMXYxSDZ2LTF6IiAvPjwvZz4KPGcgaWQ9ImFjY291bnQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAzYzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptMCAxNC4yYy0yLjUgMC00LjcxLTEuMjgtNi0zLjIyLjAzLTEuOTkgNC0zLjA4IDYtMy4wOCAxLjk5IDAgNS45NyAxLjA5IDYgMy4wOC0xLjI5IDEuOTQtMy41IDMuMjItNiAzLjIyeiIgLz48L2c+CjxnIGlkPSJhZGQiPjxwYXRoIGQ9Ik0xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6IiAvPjwvZz4KPGcgaWQ9ImFkZC1hbGVydCI+PHBhdGggZD0iTTEwLjAxIDIxLjAxYzAgMS4xLjg5IDEuOTkgMS45OSAxLjk5czEuOTktLjg5IDEuOTktMS45OWgtMy45OHptOC44Ny00LjE5VjExYzAtMy4yNS0yLjI1LTUuOTctNS4yOS02LjY5di0uNzJDMTMuNTkgMi43MSAxMi44OCAyIDEyIDJzLTEuNTkuNzEtMS41OSAxLjU5di43MkM3LjM3IDUuMDMgNS4xMiA3Ljc1IDUuMTIgMTF2NS44MkwzIDE4Ljk0VjIwaDE4di0xLjA2bC0yLjEyLTIuMTJ6TTE2IDEzLjAxaC0zdjNoLTJ2LTNIOFYxMWgzVjhoMnYzaDN2Mi4wMXoiIC8+PC9nPgo8ZyBpZD0iYWRkLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS0yIDEwaC00djRoLTJ2LTRIN3YtMmg0VjdoMnY0aDR2MnoiIC8+PC9nPgo8ZyBpZD0iYWRkLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTUgMTFoLTR2NGgtMnYtNEg3di0yaDRWN2gydjRoNHYyeiIgLz48L2c+CjxnIGlkPSJhZGQtY2lyY2xlLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMyA3aC0ydjRIN3YyaDR2NGgydi00aDR2LTJoLTRWN3ptLTEtNUM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImFkZC1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMTEgOWgyVjZoM1Y0aC0zVjFoLTJ2M0g4djJoM3Yzem0tNCA5Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yem0xMCAwYy0xLjEgMC0xLjk5LjktMS45OSAycy44OSAyIDEuOTkgMiAyLS45IDItMi0uOS0yLTItMnptLTkuODMtMy4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjg2LTcuMDFMMTkuNDIgNGgtLjAxbC0xLjEgMi0yLjc2IDVIOC41M2wtLjEzLS4yN0w2LjE2IDZsLS45NS0yLS45NC0ySDF2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTMgMC0uMjUtLjExLS4yNS0uMjV6IiAvPjwvZz4KPGcgaWQ9ImFsYXJtIj48cGF0aCBkPSJNMjIgNS43MmwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTcuODggMy4zOUw2LjYgMS44NiAyIDUuNzFsMS4yOSAxLjUzIDQuNTktMy44NXpNMTIuNSA4SDExdjZsNC43NSAyLjg1Ljc1LTEuMjMtNC0yLjM3Vjh6TTEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDljNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bTAgMTZjLTMuODcgMC03LTMuMTMtNy03czMuMTMtNyA3LTcgNyAzLjEzIDcgNy0zLjEzIDctNyA3eiIgLz48L2c+CjxnIGlkPSJhbGFybS1hZGQiPjxwYXRoIGQ9Ik03Ljg4IDMuMzlMNi42IDEuODYgMiA1LjcxbDEuMjkgMS41MyA0LjU5LTMuODV6TTIyIDUuNzJsLTQuNi0zLjg2LTEuMjkgMS41MyA0LjYgMy44NkwyMiA1Ljcyek0xMiA0Yy00Ljk3IDAtOSA0LjAzLTkgOXM0LjAyIDkgOSA5YzQuOTcgMCA5LTQuMDMgOS05cy00LjAzLTktOS05em0wIDE2Yy0zLjg3IDAtNy0zLjEzLTctN3MzLjEzLTcgNy03IDcgMy4xMyA3IDctMy4xMyA3LTcgN3ptMS0xMWgtMnYzSDh2MmgzdjNoMnYtM2gzdi0yaC0zVjl6IiAvPjwvZz4KPGcgaWQ9ImFsYXJtLW9mZiI+PHBhdGggZD0iTTEyIDZjMy44NyAwIDcgMy4xMyA3IDcgMCAuODQtLjE2IDEuNjUtLjQzIDIuNGwxLjUyIDEuNTJjLjU4LTEuMTkuOTEtMi41MS45MS0zLjkyIDAtNC45Ny00LjAzLTktOS05LTEuNDEgMC0yLjczLjMzLTMuOTIuOTFMOS42IDYuNDNDMTAuMzUgNi4xNiAxMS4xNiA2IDEyIDZ6bTEwLS4yOGwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTIuOTIgMi4yOUwxLjY1IDMuNTcgMi45OCA0LjlsLTEuMTEuOTMgMS40MiAxLjQyIDEuMTEtLjk0LjguOEMzLjgzIDguNjkgMyAxMC43NSAzIDEzYzAgNC45NyA0LjAyIDkgOSA5IDIuMjUgMCA0LjMxLS44MyA1Ljg5LTIuMmwyLjIgMi4yIDEuMjctMS4yN0wzLjg5IDMuMjdsLS45Ny0uOTh6bTEzLjU1IDE2LjFDMTUuMjYgMTkuMzkgMTMuNyAyMCAxMiAyMGMtMy44NyAwLTctMy4xMy03LTcgMC0xLjcuNjEtMy4yNiAxLjYxLTQuNDdsOS44NiA5Ljg2ek04LjAyIDMuMjhMNi42IDEuODZsLS44Ni43MSAxLjQyIDEuNDIuODYtLjcxeiIgLz48L2c+CjxnIGlkPSJhbGFybS1vbiI+PHBhdGggZD0iTTIyIDUuNzJsLTQuNi0zLjg2LTEuMjkgMS41MyA0LjYgMy44NkwyMiA1Ljcyek03Ljg4IDMuMzlMNi42IDEuODYgMiA1LjcxbDEuMjkgMS41MyA0LjU5LTMuODV6TTEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDljNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bTAgMTZjLTMuODcgMC03LTMuMTMtNy03czMuMTMtNyA3LTcgNyAzLjEzIDcgNy0zLjEzIDctNyA3em0tMS40Ni01LjQ3TDguNDEgMTIuNGwtMS4wNiAxLjA2IDMuMTggMy4xOCA2LTYtMS4wNi0xLjA2LTQuOTMgNC45NXoiIC8+PC9nPgo8ZyBpZD0iYWxsLW91dCI+PHBhdGggZD0iTTE2LjIxIDQuMTZsNCA0di00em00IDEybC00IDRoNHptLTEyIDRsLTQtNHY0em0tNC0xMmw0LTRoLTR6bTEyLjk1LS45NWMtMi43My0yLjczLTcuMTctMi43My05LjkgMHMtMi43MyA3LjE3IDAgOS45IDcuMTcgMi43MyA5LjkgMCAyLjczLTcuMTYgMC05Ljl6bS0xLjEgOC44Yy0yLjEzIDIuMTMtNS41NyAyLjEzLTcuNyAwcy0yLjEzLTUuNTcgMC03LjcgNS41Ny0yLjEzIDcuNyAwIDIuMTMgNS41NyAwIDcuN3oiIC8+PC9nPgo8ZyBpZD0iYW5kcm9pZCI+PHBhdGggZD0iTTYgMThjMCAuNTUuNDUgMSAxIDFoMXYzLjVjMCAuODMuNjcgMS41IDEuNSAxLjVzMS41LS42NyAxLjUtMS41VjE5aDJ2My41YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNVYxOWgxYy41NSAwIDEtLjQ1IDEtMVY4SDZ2MTB6TTMuNSA4QzIuNjcgOCAyIDguNjcgMiA5LjV2N2MwIC44My42NyAxLjUgMS41IDEuNVM1IDE3LjMzIDUgMTYuNXYtN0M1IDguNjcgNC4zMyA4IDMuNSA4em0xNyAwYy0uODMgMC0xLjUuNjctMS41IDEuNXY3YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNXYtN2MwLS44My0uNjctMS41LTEuNS0xLjV6bS00Ljk3LTUuODRsMS4zLTEuM2MuMi0uMi4yLS41MSAwLS43MS0uMi0uMi0uNTEtLjItLjcxIDBsLTEuNDggMS40OEMxMy44NSAxLjIzIDEyLjk1IDEgMTIgMWMtLjk2IDAtMS44Ni4yMy0yLjY2LjYzTDcuODUuMTVjLS4yLS4yLS41MS0uMi0uNzEgMC0uMi4yLS4yLjUxIDAgLjcxbDEuMzEgMS4zMUM2Ljk3IDMuMjYgNiA1LjAxIDYgN2gxMmMwLTEuOTktLjk3LTMuNzUtMi40Ny00Ljg0ek0xMCA1SDlWNGgxdjF6bTUgMGgtMVY0aDF2MXoiIC8+PC9nPgo8ZyBpZD0iYW5ub3VuY2VtZW50Ij48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDloLTJWNWgydjZ6bTAgNGgtMnYtMmgydjJ6IiAvPjwvZz4KPGcgaWQ9ImFwcHMiPjxwYXRoIGQ9Ik00IDhoNFY0SDR2NHptNiAxMmg0di00aC00djR6bS02IDBoNHYtNEg0djR6bTAtNmg0di00SDR2NHptNiAwaDR2LTRoLTR2NHptNi0xMHY0aDRWNGgtNHptLTYgNGg0VjRoLTR2NHptNiA2aDR2LTRoLTR2NHptMCA2aDR2LTRoLTR2NHoiIC8+PC9nPgo8ZyBpZD0iYXJjaGl2ZSI+PHBhdGggZD0iTTIwLjU0IDUuMjNsLTEuMzktMS42OEMxOC44OCAzLjIxIDE4LjQ3IDMgMTggM0g2Yy0uNDcgMC0uODguMjEtMS4xNi41NUwzLjQ2IDUuMjNDMy4xNyA1LjU3IDMgNi4wMiAzIDYuNVYxOWMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OC0uMTctLjkzLS40Ni0xLjI3ek0xMiAxNy41TDYuNSAxMkgxMHYtMmg0djJoMy41TDEyIDE3LjV6TTUuMTIgNWwuODEtMWgxMmwuOTQgMUg1LjEyeiIgLz48L2c+CjxnIGlkPSJhcnJvdy1iYWNrIj48cGF0aCBkPSJNMjAgMTFINy44M2w1LjU5LTUuNTlMMTIgNGwtOCA4IDggOCAxLjQxLTEuNDFMNy44MyAxM0gyMHYtMnoiIC8+PC9nPgo8ZyBpZD0iYXJyb3ctZG93bndhcmQiPjxwYXRoIGQ9Ik0yMCAxMmwtMS40MS0xLjQxTDEzIDE2LjE3VjRoLTJ2MTIuMTdsLTUuNTgtNS41OUw0IDEybDggOCA4LTh6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiIC8+PC9nPgo8ZyBpZD0iYXJyb3ctZHJvcC1kb3duLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMTJsLTQtNGg4bC00IDR6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtdXAiPjxwYXRoIGQ9Ik03IDE0bDUtNSA1IDV6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWZvcndhcmQiPjxwYXRoIGQ9Ik0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04eiIgLz48L2c+CjxnIGlkPSJhcnJvdy11cHdhcmQiPjxwYXRoIGQ9Ik00IDEybDEuNDEgMS40MUwxMSA3LjgzVjIwaDJWNy44M2w1LjU4IDUuNTlMMjAgMTJsLTgtOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImFzcGVjdC1yYXRpbyI+PHBhdGggZD0iTTE5IDEyaC0ydjNoLTN2Mmg1di01ek03IDloM1Y3SDV2NWgyVjl6bTE0LTZIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2LjAxSDNWNC45OWgxOHYxNC4wMnoiIC8+PC9nPgo8ZyBpZD0iYXNzZXNzbWVudCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJhc3NpZ25tZW50Ij48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnoiIC8+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1pbmQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMCA0YzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptNiAxMkg2di0xLjRjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xVjE5eiIgLz48L2c+CjxnIGlkPSJhc3NpZ25tZW50LWxhdGUiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS02IDE1aC0ydi0yaDJ2MnptMC00aC0yVjhoMnY2em0tMS05Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6IiAvPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtcmV0dXJuIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTQgMTJoLTR2M2wtNS01IDUtNXYzaDR2NHoiIC8+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1yZXR1cm5lZCI+PHBhdGggZD0iTTE5IDNoLTQuMThDMTQuNCAxLjg0IDEzLjMgMSAxMiAxYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem0wIDE1bC01LTVoM1Y5aDR2NGgzbC01IDV6IiAvPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtdHVybmVkLWluIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS0yIDE0bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6IiAvPjwvZz4KPGcgaWQ9ImF0dGFjaG1lbnQiPjxwYXRoIGQ9Ik0yIDEyLjVDMiA5LjQ2IDQuNDYgNyA3LjUgN0gxOGMyLjIxIDAgNCAxLjc5IDQgNHMtMS43OSA0LTQgNEg5LjVDOC4xMiAxNSA3IDEzLjg4IDcgMTIuNVM4LjEyIDEwIDkuNSAxMEgxN3YySDkuNDFjLS41NSAwLS41NSAxIDAgMUgxOGMxLjEgMCAyLS45IDItMnMtLjktMi0yLTJINy41QzUuNTcgOSA0IDEwLjU3IDQgMTIuNVM1LjU3IDE2IDcuNSAxNkgxN3YySDcuNUM0LjQ2IDE4IDIgMTUuNTQgMiAxMi41eiIgLz48L2c+CjxnIGlkPSJhdXRvcmVuZXciPjxwYXRoIGQ9Ik0xMiA2djNsNC00LTQtNHYzYy00LjQyIDAtOCAzLjU4LTggOCAwIDEuNTcuNDYgMy4wMyAxLjI0IDQuMjZMNi43IDE0LjhjLS40NS0uODMtLjctMS43OS0uNy0yLjggMC0zLjMxIDIuNjktNiA2LTZ6bTYuNzYgMS43NEwxNy4zIDkuMmMuNDQuODQuNyAxLjc5LjcgMi44IDAgMy4zMS0yLjY5IDYtNiA2di0zbC00IDQgNCA0di0zYzQuNDIgMCA4LTMuNTggOC04IDAtMS41Ny0uNDYtMy4wMy0xLjI0LTQuMjZ6IiAvPjwvZz4KPGcgaWQ9ImJhY2tzcGFjZSI+PHBhdGggZD0iTTIyIDNIN2MtLjY5IDAtMS4yMy4zNS0xLjU5Ljg4TDAgMTJsNS40MSA4LjExYy4zNi41My45Ljg5IDEuNTkuODloMTVjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTMgMTIuNTlMMTcuNTkgMTcgMTQgMTMuNDEgMTAuNDEgMTcgOSAxNS41OSAxMi41OSAxMiA5IDguNDEgMTAuNDEgNyAxNCAxMC41OSAxNy41OSA3IDE5IDguNDEgMTUuNDEgMTIgMTkgMTUuNTl6IiAvPjwvZz4KPGcgaWQ9ImJhY2t1cCI+PHBhdGggZD0iTTE5LjM1IDEwLjA0QzE4LjY3IDYuNTkgMTUuNjQgNCAxMiA0IDkuMTEgNCA2LjYgNS42NCA1LjM1IDguMDQgMi4zNCA4LjM2IDAgMTAuOTEgMCAxNGMwIDMuMzEgMi42OSA2IDYgNmgxM2MyLjc2IDAgNS0yLjI0IDUtNSAwLTIuNjQtMi4wNS00Ljc4LTQuNjUtNC45NnpNMTQgMTN2NGgtNHYtNEg3bDUtNSA1IDVoLTN6IiAvPjwvZz4KPGcgaWQ9ImJsb2NrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNNCAxMmMwLTQuNDIgMy41OC04IDgtOCAxLjg1IDAgMy41NS42MyA0LjkgMS42OUw1LjY5IDE2LjlDNC42MyAxNS41NSA0IDEzLjg1IDQgMTJ6bTggOGMtMS44NSAwLTMuNTUtLjYzLTQuOS0xLjY5TDE4LjMxIDcuMUMxOS4zNyA4LjQ1IDIwIDEwLjE1IDIwIDEyYzAgNC40Mi0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJib29rIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiIgLz48L2c+CjxnIGlkPSJib29rbWFyayI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMS45OS45LTEuOTkgMkw1IDIxbDctMyA3IDNWNWMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0iYm9va21hcmstYm9yZGVyIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yem0wIDE1bC01LTIuMThMNyAxOFY1aDEwdjEzeiIgLz48L2c+CjxnIGlkPSJidWctcmVwb3J0Ij48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiIgLz48L2c+CjxnIGlkPSJidWlsZCI+PHBhdGggZD0iTTIyLjcgMTlsLTkuMS05LjFjLjktMi4zLjQtNS0xLjUtNi45LTItMi01LTIuNC03LjQtMS4zTDkgNiA2IDkgMS42IDQuN0MuNCA3LjEuOSAxMC4xIDIuOSAxMi4xYzEuOSAxLjkgNC42IDIuNCA2LjkgMS41bDkuMSA5LjFjLjQuNCAxIC40IDEuNCAwbDIuMy0yLjNjLjUtLjQuNS0xLjEuMS0xLjR6IiAvPjwvZz4KPGcgaWQ9ImNhY2hlZCI+PHBhdGggZD0iTTE5IDhsLTQgNGgzYzAgMy4zMS0yLjY5IDYtNiA2LTEuMDEgMC0xLjk3LS4yNS0yLjgtLjdsLTEuNDYgMS40NkM4Ljk3IDE5LjU0IDEwLjQzIDIwIDEyIDIwYzQuNDIgMCA4LTMuNTggOC04aDNsLTQtNHpNNiAxMmMwLTMuMzEgMi42OS02IDYtNiAxLjAxIDAgMS45Ny4yNSAyLjguN2wxLjQ2LTEuNDZDMTUuMDMgNC40NiAxMy41NyA0IDEyIDRjLTQuNDIgMC04IDMuNTgtOCA4SDFsNCA0IDQtNEg2eiIgLz48L2c+CjxnIGlkPSJjYW1lcmEtZW5oYW5jZSI+PHBhdGggZD0iTTkgM0w3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDNIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtMWwxLjI1LTIuNzVMMTYgMTNsLTIuNzUtMS4yNUwxMiA5bC0xLjI1IDIuNzVMOCAxM2wyLjc1IDEuMjV6IiAvPjwvZz4KPGcgaWQ9ImNhbmNlbCI+PHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTUgMTMuNTlMMTUuNTkgMTcgMTIgMTMuNDEgOC40MSAxNyA3IDE1LjU5IDEwLjU5IDEyIDcgOC40MSA4LjQxIDcgMTIgMTAuNTkgMTUuNTkgNyAxNyA4LjQxIDEzLjQxIDEyIDE3IDE1LjU5eiIgLz48L2c+CjxnIGlkPSJjYXJkLWdpZnRjYXJkIj48cGF0aCBkPSJNMjAgNmgtMi4xOGMuMTEtLjMxLjE4LS42NS4xOC0xIDAtMS42Ni0xLjM0LTMtMy0zLTEuMDUgMC0xLjk2LjU0LTIuNSAxLjM1bC0uNS42Ny0uNS0uNjhDMTAuOTYgMi41NCAxMC4wNSAyIDkgMiA3LjM0IDIgNiAzLjM0IDYgNWMwIC4zNS4wNy42OS4xOCAxSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE5YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnptLTUtMmMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xek05IDRjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMTEgMTVINHYtMmgxNnYyem0wLTVINFY4aDUuMDhMNyAxMC44MyA4LjYyIDEyIDExIDguNzZsMS0xLjM2IDEgMS4zNkwxNS4zOCAxMiAxNyAxMC44MyAxNC45MiA4SDIwdjZ6IiAvPjwvZz4KPGcgaWQ9ImNhcmQtbWVtYmVyc2hpcCI+PHBhdGggZD0iTTIwIDJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoNHY1bDQtMiA0IDJ2LTVoNGMxLjExIDAgMi0uODkgMi0yVjRjMC0xLjExLS44OS0yLTItMnptMCAxM0g0di0yaDE2djJ6bTAtNUg0VjRoMTZ2NnoiIC8+PC9nPgo8ZyBpZD0iY2FyZC10cmF2ZWwiPjxwYXRoIGQ9Ik0yMCA2aC0zVjRjMC0xLjExLS44OS0yLTItMkg5Yy0xLjExIDAtMiAuODktMiAydjJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6TTkgNGg2djJIOVY0em0xMSAxNUg0di0yaDE2djJ6bTAtNUg0VjhoM3YyaDJWOGg2djJoMlY4aDN2NnoiIC8+PC9nPgo8ZyBpZD0iY2hhbmdlLWhpc3RvcnkiPjxwYXRoIGQ9Ik0xMiA3Ljc3TDE4LjM5IDE4SDUuNjFMMTIgNy43N00xMiA0TDIgMjBoMjBMMTIgNHoiIC8+PC9nPgo8ZyBpZD0iY2hlY2siPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiIC8+PC9nPgo8ZyBpZD0iY2hlY2stYm94Ij48cGF0aCBkPSJNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjkgMi0yVjVjMC0xLjEtLjg5LTItMi0yem0tOSAxNGwtNS01IDEuNDEtMS40MUwxMCAxNC4xN2w3LjU5LTcuNTlMMTkgOGwtOSA5eiIgLz48L2c+CjxnIGlkPSJjaGVjay1ib3gtb3V0bGluZS1ibGFuayI+PHBhdGggZD0iTTE5IDV2MTRINVY1aDE0bTAtMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6IiAvPjwvZz4KPGcgaWQ9ImNoZWNrLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6IiAvPjwvZz4KPGcgaWQ9ImNoZXZyb24tbGVmdCI+PHBhdGggZD0iTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6IiAvPjwvZz4KPGcgaWQ9ImNoZXZyb24tcmlnaHQiPjxwYXRoIGQ9Ik0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnoiIC8+PC9nPgo8ZyBpZD0iY2hyb21lLXJlYWRlci1tb2RlIj48cGF0aCBkPSJNMTMgMTJoN3YxLjVoLTd6bTAtMi41aDdWMTFoLTd6bTAgNWg3VjE2aC03ek0yMSA0SDNjLTEuMSAwLTIgLjktMiAydjEzYzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNWgtOVY2aDl2MTN6IiAvPjwvZz4KPGcgaWQ9ImNsYXNzIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiIgLz48L2c+CjxnIGlkPSJjbGVhciI+PHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnoiIC8+PC9nPgo8ZyBpZD0iY2xvc2UiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2eiIgLz48L2c+CjxnIGlkPSJjbG91ZC1jaXJjbGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem00LjUgMTRIOGMtMS42NiAwLTMtMS4zNC0zLTNzMS4zNC0zIDMtM2wuMTQuMDFDOC41OCA4LjI4IDEwLjEzIDcgMTIgN2MyLjIxIDAgNCAxLjc5IDQgNGguNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNVMxNy44OCAxNiAxNi41IDE2eiIgLz48L2c+CjxnIGlkPSJjbG91ZC1kb25lIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xMCAxN2wtMy41LTMuNSAxLjQxLTEuNDFMMTAgMTQuMTcgMTUuMTggOWwxLjQxIDEuNDFMMTAgMTd6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkLWRvd25sb2FkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNyAxM2wtNSA1LTUtNWgzVjloNHY0aDN6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkLW9mZiI+PHBhdGggZD0iTTE5LjM1IDEwLjA0QzE4LjY3IDYuNTkgMTUuNjQgNCAxMiA0Yy0xLjQ4IDAtMi44NS40My00LjAxIDEuMTdsMS40NiAxLjQ2QzEwLjIxIDYuMjMgMTEuMDggNiAxMiA2YzMuMDQgMCA1LjUgMi40NiA1LjUgNS41di41SDE5YzEuNjYgMCAzIDEuMzQgMyAzIDAgMS4xMy0uNjQgMi4xMS0xLjU2IDIuNjJsMS40NSAxLjQ1QzIzLjE2IDE4LjE2IDI0IDE2LjY4IDI0IDE1YzAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0zIDUuMjdsMi43NSAyLjc0QzIuNTYgOC4xNSAwIDEwLjc3IDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTEuNzNsMiAyTDIxIDIwLjczIDQuMjcgNCAzIDUuMjd6TTcuNzMgMTBsOCA4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoMS43M3oiIC8+PC9nPgo8ZyBpZD0iY2xvdWQtcXVldWUiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE5IDE4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoLjcxQzcuMzcgNy42OSA5LjQ4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgM3oiIC8+PC9nPgo8ZyBpZD0iY2xvdWQtdXBsb2FkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNCAxM3Y0aC00di00SDdsNS01IDUgNWgtM3oiIC8+PC9nPgo8ZyBpZD0iY29kZSI+PHBhdGggZD0iTTkuNCAxNi42TDQuOCAxMmw0LjYtNC42TDggNmwtNiA2IDYgNiAxLjQtMS40em01LjIgMGw0LjYtNC42LTQuNi00LjZMMTYgNmw2IDYtNiA2LTEuNC0xLjR6IiAvPjwvZz4KPGcgaWQ9ImNvbXBhcmUtYXJyb3dzIj48cGF0aCBkPSJNOS4wMSAxNEgydjJoNy4wMXYzTDEzIDE1bC0zLjk5LTR2M3ptNS45OC0xdi0zSDIyVjhoLTcuMDFWNUwxMSA5bDMuOTkgNHoiIC8+PC9nPgo8ZyBpZD0iY29udGVudC1jb3B5Ij48cGF0aCBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptMyA0SDhjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTFjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptMCAxNkg4VjdoMTF2MTR6IiAvPjwvZz4KPGcgaWQ9ImNvbnRlbnQtY3V0Ij48cGF0aCBkPSJNOS42NCA3LjY0Yy4yMy0uNS4zNi0xLjA1LjM2LTEuNjQgMC0yLjIxLTEuNzktNC00LTRTMiAzLjc5IDIgNnMxLjc5IDQgNCA0Yy41OSAwIDEuMTQtLjEzIDEuNjQtLjM2TDEwIDEybC0yLjM2IDIuMzZDNy4xNCAxNC4xMyA2LjU5IDE0IDYgMTRjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNGMwLS41OS0uMTMtMS4xNC0uMzYtMS42NEwxMiAxNGw3IDdoM3YtMUw5LjY0IDcuNjR6TTYgOGMtMS4xIDAtMi0uODktMi0ycy45LTIgMi0yIDIgLjg5IDIgMi0uOSAyLTIgMnptMCAxMmMtMS4xIDAtMi0uODktMi0ycy45LTIgMi0yIDIgLjg5IDIgMi0uOSAyLTIgMnptNi03LjVjLS4yOCAwLS41LS4yMi0uNS0uNXMuMjItLjUuNS0uNS41LjIyLjUuNS0uMjIuNS0uNS41ek0xOSAzbC02IDYgMiAyIDctN1YzeiIgLz48L2c+CjxnIGlkPSJjb250ZW50LXBhc3RlIj48cGF0aCBkPSJNMTkgMmgtNC4xOEMxNC40Ljg0IDEzLjMgMCAxMiAwYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem03IDE4SDVWNGgydjNoMTBWNGgydjE2eiIgLz48L2c+CjxnIGlkPSJjb3B5cmlnaHQiPjxwYXRoIGQ9Ik0xMC4wOCAxMC44NmMuMDUtLjMzLjE2LS42Mi4zLS44N3MuMzQtLjQ2LjU5LS42MmMuMjQtLjE1LjU0LS4yMi45MS0uMjMuMjMuMDEuNDQuMDUuNjMuMTMuMi4wOS4zOC4yMS41Mi4zNnMuMjUuMzMuMzQuNTMuMTMuNDIuMTQuNjRoMS43OWMtLjAyLS40Ny0uMTEtLjktLjI4LTEuMjlzLS40LS43My0uNy0xLjAxLS42Ni0uNS0xLjA4LS42Ni0uODgtLjIzLTEuMzktLjIzYy0uNjUgMC0xLjIyLjExLTEuNy4zNHMtLjg4LjUzLTEuMi45Mi0uNTYuODQtLjcxIDEuMzZTOCAxMS4yOSA4IDExLjg3di4yN2MwIC41OC4wOCAxLjEyLjIzIDEuNjRzLjM5Ljk3LjcxIDEuMzUuNzIuNjkgMS4yLjkxIDEuMDUuMzQgMS43LjM0Yy40NyAwIC45MS0uMDggMS4zMi0uMjNzLjc3LS4zNiAxLjA4LS42My41Ni0uNTguNzQtLjk0LjI5LS43NC4zLTEuMTVoLTEuNzljLS4wMS4yMS0uMDYuNC0uMTUuNThzLS4yMS4zMy0uMzYuNDYtLjMyLjIzLS41Mi4zYy0uMTkuMDctLjM5LjA5LS42LjEtLjM2LS4wMS0uNjYtLjA4LS44OS0uMjMtLjI1LS4xNi0uNDUtLjM3LS41OS0uNjJzLS4yNS0uNTUtLjMtLjg4LS4wOC0uNjctLjA4LTF2LS4yN2MwLS4zNS4wMy0uNjguMDgtMS4wMXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImNyZWF0ZSI+PHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiIC8+PC9nPgo8ZyBpZD0iY3JlYXRlLW5ldy1mb2xkZXIiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tMSA4aC0zdjNoLTJ2LTNoLTN2LTJoM1Y5aDJ2M2gzdjJ6IiAvPjwvZz4KPGcgaWQ9ImNyZWRpdC1jYXJkIj48cGF0aCBkPSJNMjAgNEg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2YzAtMS4xMS0uODktMi0yLTJ6bTAgMTRINHYtNmgxNnY2em0wLTEwSDRWNmgxNnYyeiIgLz48L2c+CjxnIGlkPSJkYXNoYm9hcmQiPjxwYXRoIGQ9Ik0zIDEzaDhWM0gzdjEwem0wIDhoOHYtNkgzdjZ6bTEwIDBoOFYxMWgtOHYxMHptMC0xOHY2aDhWM2gtOHoiIC8+PC9nPgo8ZyBpZD0iZGF0ZS1yYW5nZSI+PHBhdGggZD0iTTkgMTFIN3YyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTItN2gtMVYyaC0ydjJIOFYySDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDIwYzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY5aDE0djExeiIgLz48L2c+CjxnIGlkPSJkZWxldGUiPjxwYXRoIGQ9Ik02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6IiAvPjwvZz4KPGcgaWQ9ImRlbGV0ZS1mb3JldmVyIj48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyem0yLjQ2LTcuMTJsMS40MS0xLjQxTDEyIDEyLjU5bDIuMTItMi4xMiAxLjQxIDEuNDFMMTMuNDEgMTRsMi4xMiAyLjEyLTEuNDEgMS40MUwxMiAxNS40MWwtMi4xMiAyLjEyLTEuNDEtMS40MUwxMC41OSAxNGwtMi4xMy0yLjEyek0xNS41IDRsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz48L2c+CjxnIGlkPSJkZWxldGUtc3dlZXAiPjxwYXRoIGQ9Ik0xNSAxNmg0djJoLTR6bTAtOGg3djJoLTd6bTAgNGg2djJoLTZ6TTMgMThjMCAxLjEuOSAyIDIgMmg2YzEuMSAwIDItLjkgMi0yVjhIM3YxMHpNMTQgNWgtM2wtMS0xSDZMNSA1SDJ2MmgxMnoiIC8+PC9nPgo8ZyBpZD0iZGVzY3JpcHRpb24iPjxwYXRoIGQ9Ik0xNCAySDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bTIgMTZIOHYtMmg4djJ6bTAtNEg4di0yaDh2MnptLTMtNVYzLjVMMTguNSA5SDEzeiIgLz48L2c+CjxnIGlkPSJkbnMiPjxwYXRoIGQ9Ik0yMCAxM0g0Yy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxNmMuNTUgMCAxLS40NSAxLTF2LTZjMC0uNTUtLjQ1LTEtMS0xek03IDE5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnpNMjAgM0g0Yy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxNmMuNTUgMCAxLS40NSAxLTFWNGMwLS41NS0uNDUtMS0xLTF6TTcgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6IiAvPjwvZz4KPGcgaWQ9ImRvbmUiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6IiAvPjwvZz4KPGcgaWQ9ImRvbmUtYWxsIj48cGF0aCBkPSJNMTggN2wtMS40MS0xLjQxLTYuMzQgNi4zNCAxLjQxIDEuNDFMMTggN3ptNC4yNC0xLjQxTDExLjY2IDE2LjE3IDcuNDggMTJsLTEuNDEgMS40MUwxMS42NiAxOWwxMi0xMi0xLjQyLTEuNDF6TS40MSAxMy40MUw2IDE5bDEuNDEtMS40MUwxLjgzIDEyIC40MSAxMy40MXoiIC8+PC9nPgo8ZyBpZD0iZG9udXQtbGFyZ2UiPjxwYXRoIGQ9Ik0xMSA1LjA4VjJjLTUgLjUtOSA0LjgxLTkgMTBzNCA5LjUgOSAxMHYtMy4wOGMtMy0uNDgtNi0zLjQtNi02LjkyczMtNi40NCA2LTYuOTJ6TTE4Ljk3IDExSDIyYy0uNDctNS00LTguNTMtOS05djMuMDhDMTYgNS41MSAxOC41NCA4IDE4Ljk3IDExek0xMyAxOC45MlYyMmM1LS40NyA4LjUzLTQgOS05aC0zLjAzYy0uNDMgMy0yLjk3IDUuNDktNS45NyA1LjkyeiIgLz48L2c+CjxnIGlkPSJkb251dC1zbWFsbCI+PHBhdGggZD0iTTExIDkuMTZWMmMtNSAuNS05IDQuNzktOSAxMHM0IDkuNSA5IDEwdi03LjE2Yy0xLS40MS0yLTEuNTItMi0yLjg0czEtMi40MyAyLTIuODR6TTE0Ljg2IDExSDIyYy0uNDgtNC43NS00LTguNTMtOS05djcuMTZjMSAuMyAxLjUyLjk4IDEuODYgMS44NHpNMTMgMTQuODRWMjJjNS0uNDcgOC41Mi00LjI1IDktOWgtNy4xNGMtLjM0Ljg2LS44NiAxLjU0LTEuODYgMS44NHoiIC8+PC9nPgo8ZyBpZD0iZHJhZnRzIj48cGF0aCBkPSJNMjEuOTkgOGMwLS43Mi0uMzctMS4zNS0uOTQtMS43TDEyIDEgMi45NSA2LjNDMi4zOCA2LjY1IDIgNy4yOCAyIDh2MTBjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMmwtLjAxLTEwek0xMiAxM0wzLjc0IDcuODQgMTIgM2w4LjI2IDQuODRMMTIgMTN6IiAvPjwvZz4KPGcgaWQ9ImVqZWN0Ij48cGF0aCBkPSJNNSAxN2gxNHYySDV6bTctMTJMNS4zMyAxNWgxMy4zNHoiIC8+PC9nPgo8ZyBpZD0iZXJyb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiIgLz48L2c+CjxnIGlkPSJlcnJvci1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMTVoMnYyaC0yem0wLThoMnY2aC0yem0uOTktNUM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJldXJvLXN5bWJvbCI+PHBhdGggZD0iTTE1IDE4LjVjLTIuNTEgMC00LjY4LTEuNDItNS43Ni0zLjVIMTV2LTJIOC41OGMtLjA1LS4zMy0uMDgtLjY2LS4wOC0xcy4wMy0uNjcuMDgtMUgxNVY5SDkuMjRDMTAuMzIgNi45MiAxMi41IDUuNSAxNSA1LjVjMS42MSAwIDMuMDkuNTkgNC4yMyAxLjU3TDIxIDUuM0MxOS40MSAzLjg3IDE3LjMgMyAxNSAzYy0zLjkyIDAtNy4yNCAyLjUxLTguNDggNkgzdjJoMy4wNmMtLjA0LjMzLS4wNi42Ni0uMDYgMSAwIC4zNC4wMi42Ny4wNiAxSDN2MmgzLjUyYzEuMjQgMy40OSA0LjU2IDYgOC40OCA2IDIuMzEgMCA0LjQxLS44NyA2LTIuM2wtMS43OC0xLjc3Yy0xLjEzLjk4LTIuNiAxLjU3LTQuMjIgMS41N3oiIC8+PC9nPgo8ZyBpZD0iZXZlbnQiPjxwYXRoIGQ9Ik0xNyAxMmgtNXY1aDV2LTV6TTE2IDF2Mkg4VjFINnYySDVjLTEuMTEgMC0xLjk5LjktMS45OSAyTDMgMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMmgtMVYxaC0yem0zIDE4SDVWOGgxNHYxMXoiIC8+PC9nPgo8ZyBpZD0iZXZlbnQtc2VhdCI+PHBhdGggZD0iTTQgMTh2M2gzdi0zaDEwdjNoM3YtNkg0em0xNS04aDN2M2gtM3pNMiAxMGgzdjNIMnptMTUgM0g3VjVjMC0xLjEuOS0yIDItMmg2YzEuMSAwIDIgLjkgMiAydjh6IiAvPjwvZz4KPGcgaWQ9ImV4aXQtdG8tYXBwIj48cGF0aCBkPSJNMTAuMDkgMTUuNTlMMTEuNSAxN2w1LTUtNS01LTEuNDEgMS40MUwxMi42NyAxMUgzdjJoOS42N2wtMi41OCAyLjU5ek0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnY0aDJWNWgxNHYxNEg1di00SDN2NGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJleHBhbmQtbGVzcyI+PHBhdGggZD0iTTEyIDhsLTYgNiAxLjQxIDEuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0eiIgLz48L2c+CjxnIGlkPSJleHBhbmQtbW9yZSI+PHBhdGggZD0iTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnoiIC8+PC9nPgo8ZyBpZD0iZXhwbG9yZSI+PHBhdGggZD0iTTEyIDEwLjljLS42MSAwLTEuMS40OS0xLjEgMS4xcy40OSAxLjEgMS4xIDEuMWMuNjEgMCAxLjEtLjQ5IDEuMS0xLjFzLS40OS0xLjEtMS4xLTEuMXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMi4xOSAxMi4xOUw2IDE4bDMuODEtOC4xOUwxOCA2bC0zLjgxIDguMTl6IiAvPjwvZz4KPGcgaWQ9ImV4dGVuc2lvbiI+PHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIgLz48L2c+CjxnIGlkPSJmYWNlIj48cGF0aCBkPSJNOSAxMS43NWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjVzLjU2IDEuMjUgMS4yNSAxLjI1IDEuMjUtLjU2IDEuMjUtMS4yNS0uNTYtMS4yNS0xLjI1LTEuMjV6bTYgMGMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjVzLjU2IDEuMjUgMS4yNSAxLjI1IDEuMjUtLjU2IDEuMjUtMS4yNS0uNTYtMS4yNS0xLjI1LTEuMjV6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04IDAtLjI5LjAyLS41OC4wNS0uODYgMi4zNi0xLjA1IDQuMjMtMi45OCA1LjIxLTUuMzdDMTEuMDcgOC4zMyAxNC4wNSAxMCAxNy40MiAxMGMuNzggMCAxLjUzLS4wOSAyLjI1LS4yNi4yMS43MS4zMyAxLjQ3LjMzIDIuMjYgMCA0LjQxLTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImZhdm9yaXRlIj48cGF0aCBkPSJNMTIgMjEuMzVsLTEuNDUtMS4zMkM1LjQgMTUuMzYgMiAxMi4yOCAyIDguNSAyIDUuNDIgNC40MiAzIDcuNSAzYzEuNzQgMCAzLjQxLjgxIDQuNSAyLjA5QzEzLjA5IDMuODEgMTQuNzYgMyAxNi41IDMgMTkuNTggMyAyMiA1LjQyIDIyIDguNWMwIDMuNzgtMy40IDYuODYtOC41NSAxMS41NEwxMiAyMS4zNXoiIC8+PC9nPgo8ZyBpZD0iZmF2b3JpdGUtYm9yZGVyIj48cGF0aCBkPSJNMTYuNSAzYy0xLjc0IDAtMy40MS44MS00LjUgMi4wOUMxMC45MSAzLjgxIDkuMjQgMyA3LjUgMyA0LjQyIDMgMiA1LjQyIDIgOC41YzAgMy43OCAzLjQgNi44NiA4LjU1IDExLjU0TDEyIDIxLjM1bDEuNDUtMS4zMkMxOC42IDE1LjM2IDIyIDEyLjI4IDIyIDguNSAyMiA1LjQyIDE5LjU4IDMgMTYuNSAzem0tNC40IDE1LjU1bC0uMS4xLS4xLS4xQzcuMTQgMTQuMjQgNCAxMS4zOSA0IDguNSA0IDYuNSA1LjUgNSA3LjUgNWMxLjU0IDAgMy4wNC45OSAzLjU3IDIuMzZoMS44N0MxMy40NiA1Ljk5IDE0Ljk2IDUgMTYuNSA1YzIgMCAzLjUgMS41IDMuNSAzLjUgMCAyLjg5LTMuMTQgNS43NC03LjkgMTAuMDV6IiAvPjwvZz4KPGcgaWQ9ImZlZWRiYWNrIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDEyaC0ydi0yaDJ2MnptMC00aC0yVjZoMnY0eiIgLz48L2c+CjxnIGlkPSJmaWxlLWRvd25sb2FkIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIgLz48L2c+CjxnIGlkPSJmaWxlLXVwbG9hZCI+PHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIgLz48L2c+CjxnIGlkPSJmaWx0ZXItbGlzdCI+PHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIgLz48L2c+CjxnIGlkPSJmaW5kLWluLXBhZ2UiPjxwYXRoIGQ9Ik0yMCAxOS41OVY4bC02LTZINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4Yy40NSAwIC44NS0uMTUgMS4xOS0uNGwtNC40My00LjQzYy0uOC41Mi0xLjc0LjgzLTIuNzYuODMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1YzAgMS4wMi0uMzEgMS45Ni0uODMgMi43NUwyMCAxOS41OXpNOSAxM2MwIDEuNjYgMS4zNCAzIDMgM3MzLTEuMzQgMy0zLTEuMzQtMy0zLTMtMyAxLjM0LTMgM3oiIC8+PC9nPgo8ZyBpZD0iZmluZC1yZXBsYWNlIj48cGF0aCBkPSJNMTEgNmMxLjM4IDAgMi42My41NiAzLjU0IDEuNDZMMTIgMTBoNlY0bC0yLjA1IDIuMDVDMTQuNjggNC43OCAxMi45MyA0IDExIDRjLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2SDYuMWMuNDYtMi4yOCAyLjQ4LTQgNC45LTR6bTUuNjQgOS4xNGMuNjYtLjkgMS4xMi0xLjk3IDEuMjgtMy4xNEgxNS45Yy0uNDYgMi4yOC0yLjQ4IDQtNC45IDQtMS4zOCAwLTIuNjMtLjU2LTMuNTQtMS40NkwxMCAxMkg0djZsMi4wNS0yLjA1QzcuMzIgMTcuMjIgOS4wNyAxOCAxMSAxOGMxLjU1IDAgMi45OC0uNTEgNC4xNC0xLjM2TDIwIDIxLjQ5IDIxLjQ5IDIwbC00Ljg1LTQuODZ6IiAvPjwvZz4KPGcgaWQ9ImZpbmdlcnByaW50Ij48cGF0aCBkPSJNMTcuODEgNC40N2MtLjA4IDAtLjE2LS4wMi0uMjMtLjA2QzE1LjY2IDMuNDIgMTQgMyAxMi4wMSAzYy0xLjk4IDAtMy44Ni40Ny01LjU3IDEuNDEtLjI0LjEzLS41NC4wNC0uNjgtLjItLjEzLS4yNC0uMDQtLjU1LjItLjY4QzcuODIgMi41MiA5Ljg2IDIgMTIuMDEgMmMyLjEzIDAgMy45OS40NyA2LjAzIDEuNTIuMjUuMTMuMzQuNDMuMjEuNjctLjA5LjE4LS4yNi4yOC0uNDQuMjh6TTMuNSA5LjcyYy0uMSAwLS4yLS4wMy0uMjktLjA5LS4yMy0uMTYtLjI4LS40Ny0uMTItLjcuOTktMS40IDIuMjUtMi41IDMuNzUtMy4yN0M5Ljk4IDQuMDQgMTQgNC4wMyAxNy4xNSA1LjY1YzEuNS43NyAyLjc2IDEuODYgMy43NSAzLjI1LjE2LjIyLjExLjU0LS4xMi43LS4yMy4xNi0uNTQuMTEtLjctLjEyLS45LTEuMjYtMi4wNC0yLjI1LTMuMzktMi45NC0yLjg3LTEuNDctNi41NC0xLjQ3LTkuNC4wMS0xLjM2LjctMi41IDEuNy0zLjQgMi45Ni0uMDguMTQtLjIzLjIxLS4zOS4yMXptNi4yNSAxMi4wN2MtLjEzIDAtLjI2LS4wNS0uMzUtLjE1LS44Ny0uODctMS4zNC0xLjQzLTIuMDEtMi42NC0uNjktMS4yMy0xLjA1LTIuNzMtMS4wNS00LjM0IDAtMi45NyAyLjU0LTUuMzkgNS42Ni01LjM5czUuNjYgMi40MiA1LjY2IDUuMzljMCAuMjgtLjIyLjUtLjUuNXMtLjUtLjIyLS41LS41YzAtMi40Mi0yLjA5LTQuMzktNC42Ni00LjM5LTIuNTcgMC00LjY2IDEuOTctNC42NiA0LjM5IDAgMS40NC4zMiAyLjc3LjkzIDMuODUuNjQgMS4xNSAxLjA4IDEuNjQgMS44NSAyLjQyLjE5LjIuMTkuNTEgMCAuNzEtLjExLjEtLjI0LjE1LS4zNy4xNXptNy4xNy0xLjg1Yy0xLjE5IDAtMi4yNC0uMy0zLjEtLjg5LTEuNDktMS4wMS0yLjM4LTIuNjUtMi4zOC00LjM5IDAtLjI4LjIyLS41LjUtLjVzLjUuMjIuNS41YzAgMS40MS43MiAyLjc0IDEuOTQgMy41Ni43MS40OCAxLjU0LjcxIDIuNTQuNzEuMjQgMCAuNjQtLjAzIDEuMDQtLjEuMjctLjA1LjUzLjEzLjU4LjQxLjA1LjI3LS4xMy41My0uNDEuNTgtLjU3LjExLTEuMDcuMTItMS4yMS4xMnpNMTQuOTEgMjJjLS4wNCAwLS4wOS0uMDEtLjEzLS4wMi0xLjU5LS40NC0yLjYzLTEuMDMtMy43Mi0yLjEtMS40LTEuMzktMi4xNy0zLjI0LTIuMTctNS4yMiAwLTEuNjIgMS4zOC0yLjk0IDMuMDgtMi45NCAxLjcgMCAzLjA4IDEuMzIgMy4wOCAyLjk0IDAgMS4wNy45MyAxLjk0IDIuMDggMS45NHMyLjA4LS44NyAyLjA4LTEuOTRjMC0zLjc3LTMuMjUtNi44My03LjI1LTYuODMtMi44NCAwLTUuNDQgMS41OC02LjYxIDQuMDMtLjM5LjgxLS41OSAxLjc2LS41OSAyLjggMCAuNzguMDcgMi4wMS42NyAzLjYxLjEuMjYtLjAzLjU1LS4yOS42NC0uMjYuMS0uNTUtLjA0LS42NC0uMjktLjQ5LTEuMzEtLjczLTIuNjEtLjczLTMuOTYgMC0xLjIuMjMtMi4yOS42OC0zLjI0IDEuMzMtMi43OSA0LjI4LTQuNiA3LjUxLTQuNiA0LjU1IDAgOC4yNSAzLjUxIDguMjUgNy44MyAwIDEuNjItMS4zOCAyLjk0LTMuMDggMi45NHMtMy4wOC0xLjMyLTMuMDgtMi45NGMwLTEuMDctLjkzLTEuOTQtMi4wOC0xLjk0cy0yLjA4Ljg3LTIuMDggMS45NGMwIDEuNzEuNjYgMy4zMSAxLjg3IDQuNTEuOTUuOTQgMS44NiAxLjQ2IDMuMjcgMS44NS4yNy4wNy40Mi4zNS4zNS42MS0uMDUuMjMtLjI2LjM4LS40Ny4zOHoiIC8+PC9nPgo8ZyBpZD0iZmlyc3QtcGFnZSI+PHBhdGggZD0iTTE4LjQxIDE2LjU5TDEzLjgyIDEybDQuNTktNC41OUwxNyA2bC02IDYgNiA2ek02IDZoMnYxMkg2eiIgLz48L2c+CjxnIGlkPSJmbGFnIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiIC8+PC9nPgo8ZyBpZD0iZmxpZ2h0LWxhbmQiPjxwYXRoIGQ9Ik0yLjUgMTloMTl2MmgtMTl6bTcuMTgtNS43M2w0LjM1IDEuMTYgNS4zMSAxLjQyYy44LjIxIDEuNjItLjI2IDEuODQtMS4wNi4yMS0uOC0uMjYtMS42Mi0xLjA2LTEuODRsLTUuMzEtMS40Mi0yLjc2LTkuMDJMMTAuMTIgMnY4LjI4TDUuMTUgOC45NWwtLjkzLTIuMzItMS40NS0uMzl2NS4xN2wxLjYuNDMgNS4zMSAxLjQzeiIgLz48L2c+CjxnIGlkPSJmbGlnaHQtdGFrZW9mZiI+PHBhdGggZD0iTTIuNSAxOWgxOXYyaC0xOXptMTkuNTctOS4zNmMtLjIxLS44LTEuMDQtMS4yOC0xLjg0LTEuMDZMMTQuOTIgMTBsLTYuOS02LjQzLTEuOTMuNTEgNC4xNCA3LjE3LTQuOTcgMS4zMy0xLjk3LTEuNTQtMS40NS4zOSAxLjgyIDMuMTYuNzcgMS4zMyAxLjYtLjQzIDUuMzEtMS40MiA0LjM1LTEuMTZMMjEgMTEuNDljLjgxLS4yMyAxLjI4LTEuMDUgMS4wNy0xLjg1eiIgLz48L2c+CjxnIGlkPSJmbGlwLXRvLWJhY2siPjxwYXRoIGQ9Ik05IDdIN3YyaDJWN3ptMCA0SDd2Mmgydi0yem0wLThjLTEuMTEgMC0yIC45LTIgMmgyVjN6bTQgMTJoLTJ2Mmgydi0yem02LTEydjJoMmMwLTEuMS0uOS0yLTItMnptLTYgMGgtMnYyaDJWM3pNOSAxN3YtMkg3YzAgMS4xLjg5IDIgMiAyem0xMC00aDJ2LTJoLTJ2MnptMC00aDJWN2gtMnYyem0wIDhjMS4xIDAgMi0uOSAyLTJoLTJ2MnpNNSA3SDN2MTJjMCAxLjEuODkgMiAyIDJoMTJ2LTJINVY3em0xMC0yaDJWM2gtMnYyem0wIDEyaDJ2LTJoLTJ2MnoiIC8+PC9nPgo8ZyBpZD0iZmxpcC10by1mcm9udCI+PHBhdGggZD0iTTMgMTNoMnYtMkgzdjJ6bTAgNGgydi0ySDN2MnptMiA0di0ySDNjMCAxLjEuODkgMiAyIDJ6TTMgOWgyVjdIM3Yyem0xMiAxMmgydi0yaC0ydjJ6bTQtMThIOWMtMS4xMSAwLTIgLjktMiAydjEwYzAgMS4xLjg5IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJIOVY1aDEwdjEwem0tOCA2aDJ2LTJoLTJ2MnptLTQgMGgydi0ySDd2MnoiIC8+PC9nPgo8ZyBpZD0iZm9sZGVyIj48cGF0aCBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6IiAvPjwvZz4KPGcgaWQ9ImZvbGRlci1vcGVuIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTJINFY4aDE2djEweiIgLz48L2c+CjxnIGlkPSJmb2xkZXItc2hhcmVkIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS01IDNjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyLTItLjktMi0yIC45LTIgMi0yem00IDhoLTh2LTFjMC0xLjMzIDIuNjctMiA0LTJzNCAuNjcgNCAydjF6IiAvPjwvZz4KPGcgaWQ9ImZvbnQtZG93bmxvYWQiPjxwYXRoIGQ9Ik05LjkzIDEzLjVoNC4xNEwxMiA3Ljk4ek0yMCAySDRjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTQuMDUgMTYuNWwtMS4xNC0zSDkuMTdsLTEuMTIgM0g1Ljk2bDUuMTEtMTNoMS44Nmw1LjExIDEzaC0yLjA5eiIgLz48L2c+CjxnIGlkPSJmb3J3YXJkIj48cGF0aCBkPSJNMTIgOFY0bDggOC04IDh2LTRINFY4eiIgLz48L2c+CjxnIGlkPSJmdWxsc2NyZWVuIj48cGF0aCBkPSJNNyAxNEg1djVoNXYtMkg3di0zem0tMi00aDJWN2gzVjVINXY1em0xMiA3aC0zdjJoNXYtNWgtMnYzek0xNCA1djJoM3YzaDJWNWgtNXoiIC8+PC9nPgo8ZyBpZD0iZnVsbHNjcmVlbi1leGl0Ij48cGF0aCBkPSJNNSAxNmgzdjNoMnYtNUg1djJ6bTMtOEg1djJoNVY1SDh2M3ptNiAxMWgydi0zaDN2LTJoLTV2NXptMi0xMVY1aC0ydjVoNVY4aC0zeiIgLz48L2c+CjxnIGlkPSJnLXRyYW5zbGF0ZSI+PHBhdGggZD0iTTIwIDVoLTkuMTJMMTAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxM2MwIDEuMS45IDIgMiAyaDdsMSAzaDhjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnpNNy4xNyAxNC41OWMtMi4yNSAwLTQuMDktMS44My00LjA5LTQuMDlzMS44My00LjA5IDQuMDktNC4wOWMxLjA0IDAgMS45OS4zNyAyLjc0IDEuMDdsLjA3LjA2LTEuMjMgMS4xOC0uMDYtLjA1Yy0uMjktLjI3LS43OC0uNTktMS41Mi0uNTktMS4zMSAwLTIuMzggMS4wOS0yLjM4IDIuNDJzMS4wNyAyLjQyIDIuMzggMi40MmMxLjM3IDAgMS45Ni0uODcgMi4xMi0xLjQ2SDcuMDhWOS45MWgzLjk1bC4wMS4wN2MuMDQuMjEuMDUuNC4wNS42MSAwIDIuMzUtMS42MSA0LTMuOTIgNHptNi4wMy0xLjcxYy4zMy42Ljc0IDEuMTggMS4xOSAxLjdsLS41NC41My0uNjUtMi4yM3ptLjc3LS43NmgtLjk5bC0uMzEtMS4wNGgzLjk5cy0uMzQgMS4zMS0xLjU2IDIuNzRjLS41Mi0uNjItLjg5LTEuMjMtMS4xMy0xLjd6TTIxIDIwYzAgLjU1LS40NSAxLTEgMWgtN2wyLTItLjgxLTIuNzcuOTItLjkyTDE3Ljc5IDE4bC43My0uNzMtMi43MS0yLjY4Yy45LTEuMDMgMS42LTIuMjUgMS45Mi0zLjUxSDE5di0xLjA0aC0zLjY0VjloLTEuMDR2MS4wNGgtMS45NkwxMS4xOCA2SDIwYy41NSAwIDEgLjQ1IDEgMXYxM3oiIC8+PC9nPgo8ZyBpZD0iZ2F2ZWwiPjxwYXRoIGQ9Ik0xIDIxaDEydjJIMXpNNS4yNDUgOC4wN2wyLjgzLTIuODI3IDE0LjE0IDE0LjE0Mi0yLjgyOCAyLjgyOHpNMTIuMzE3IDFsNS42NTcgNS42NTYtMi44MyAyLjgzLTUuNjU0LTUuNjZ6TTMuODI1IDkuNDg1bDUuNjU3IDUuNjU3LTIuODI4IDIuODI4LTUuNjU3LTUuNjU3eiIgLz48L2c+CjxnIGlkPSJnZXN0dXJlIj48cGF0aCBkPSJNNC41OSA2Ljg5Yy43LS43MSAxLjQtMS4zNSAxLjcxLTEuMjIuNS4yIDAgMS4wMy0uMyAxLjUyLS4yNS40Mi0yLjg2IDMuODktMi44NiA2LjMxIDAgMS4yOC40OCAyLjM0IDEuMzQgMi45OC43NS41NiAxLjc0LjczIDIuNjQuNDYgMS4wNy0uMzEgMS45NS0xLjQgMy4wNi0yLjc3IDEuMjEtMS40OSAyLjgzLTMuNDQgNC4wOC0zLjQ0IDEuNjMgMCAxLjY1IDEuMDEgMS43NiAxLjc5LTMuNzguNjQtNS4zOCAzLjY3LTUuMzggNS4zNyAwIDEuNyAxLjQ0IDMuMDkgMy4yMSAzLjA5IDEuNjMgMCA0LjI5LTEuMzMgNC42OS02LjFIMjF2LTIuNWgtMi40N2MtLjE1LTEuNjUtMS4wOS00LjItNC4wMy00LjItMi4yNSAwLTQuMTggMS45MS00Ljk0IDIuODQtLjU4LjczLTIuMDYgMi40OC0yLjI5IDIuNzItLjI1LjMtLjY4Ljg0LTEuMTEuODQtLjQ1IDAtLjcyLS44My0uMzYtMS45Mi4zNS0xLjA5IDEuNC0yLjg2IDEuODUtMy41Mi43OC0xLjE0IDEuMy0xLjkyIDEuMy0zLjI4QzguOTUgMy42OSA3LjMxIDMgNi40NCAzIDUuMTIgMyAzLjk3IDQgMy43MiA0LjI1Yy0uMzYuMzYtLjY2LjY2LS44OC45M2wxLjc1IDEuNzF6bTkuMjkgMTEuNjZjLS4zMSAwLS43NC0uMjYtLjc0LS43MiAwLS42LjczLTIuMiAyLjg3LTIuNzYtLjMgMi42OS0xLjQzIDMuNDgtMi4xMyAzLjQ4eiIgLz48L2c+CjxnIGlkPSJnZXQtYXBwIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIgLz48L2c+CjxnIGlkPSJnaWYiPjxwYXRoIGQ9Ik0xMS41IDlIMTN2NmgtMS41ek05IDlINmMtLjYgMC0xIC41LTEgMXY0YzAgLjUuNCAxIDEgMWgzYy42IDAgMS0uNSAxLTF2LTJIOC41djEuNWgtMnYtM0gxMFYxMGMwLS41LS40LTEtMS0xem0xMCAxLjVWOWgtNC41djZIMTZ2LTJoMnYtMS41aC0ydi0xeiIgLz48L2c+CjxnIGlkPSJncmFkZSI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiIgLz48L2c+CjxnIGlkPSJncm91cC13b3JrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNOCAxNy41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXpNOS41IDhjMC0xLjM4IDEuMTItMi41IDIuNS0yLjVzMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41UzkuNSA5LjM4IDkuNSA4em02LjUgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXoiIC8+PC9nPgo8ZyBpZD0iaGVscCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTdoLTJ2LTJoMnYyem0yLjA3LTcuNzVsLS45LjkyQzEzLjQ1IDEyLjkgMTMgMTMuNSAxMyAxNWgtMnYtLjVjMC0xLjEuNDUtMi4xIDEuMTctMi44M2wxLjI0LTEuMjZjLjM3LS4zNi41OS0uODYuNTktMS40MSAwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDJIOGMwLTIuMjEgMS43OS00IDQtNHM0IDEuNzkgNCA0YzAgLjg4LS4zNiAxLjY4LS45MyAyLjI1eiIgLz48L2c+CjxnIGlkPSJoZWxwLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxOGgydi0yaC0ydjJ6bTEtMTZDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0wLTE0Yy0yLjIxIDAtNCAxLjc5LTQgNGgyYzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAyLTMgMS43NS0zIDVoMmMwLTIuMjUgMy0yLjUgMy01IDAtMi4yMS0xLjc5LTQtNC00eiIgLz48L2c+CjxnIGlkPSJoaWdobGlnaHQtb2ZmIj48cGF0aCBkPSJNMTQuNTkgOEwxMiAxMC41OSA5LjQxIDggOCA5LjQxIDEwLjU5IDEyIDggMTQuNTkgOS40MSAxNiAxMiAxMy40MSAxNC41OSAxNiAxNiAxNC41OSAxMy40MSAxMiAxNiA5LjQxIDE0LjU5IDh6TTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJoaXN0b3J5Ij48cGF0aCBkPSJNMTMgM2MtNC45NyAwLTkgNC4wMy05IDlIMWwzLjg5IDMuODkuMDcuMTRMOSAxMkg2YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS45MyAwLTMuNjgtLjc5LTQuOTQtMi4wNmwtMS40MiAxLjQyQzguMjcgMTkuOTkgMTAuNTEgMjEgMTMgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bS0xIDV2NWw0LjI4IDIuNTQuNzItMS4yMS0zLjUtMi4wOFY4SDEyeiIgLz48L2c+CjxnIGlkPSJob21lIj48cGF0aCBkPSJNMTAgMjB2LTZoNHY2aDV2LThoM0wxMiAzIDIgMTJoM3Y4eiIgLz48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZW1wdHkiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnptMTAgMTQuNVYyMEg4di0zLjVsNC00IDQgNHptLTQtNWwtNC00VjRoOHYzLjVsLTQgNHoiIC8+PC9nPgo8ZyBpZD0iaG91cmdsYXNzLWZ1bGwiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnoiIC8+PC9nPgo8ZyBpZD0iaHR0cCI+PHBhdGggZD0iTTQuNSAxMWgtMlY5SDF2NmgxLjV2LTIuNWgyVjE1SDZWOUg0LjV2MnptMi41LS41aDEuNVYxNUgxMHYtNC41aDEuNVY5SDd2MS41em01LjUgMEgxNFYxNWgxLjV2LTQuNUgxN1Y5aC00LjV2MS41em05LTEuNUgxOHY2aDEuNXYtMmgyYy44IDAgMS41LS43IDEuNS0xLjV2LTFjMC0uOC0uNy0xLjUtMS41LTEuNXptMCAyLjVoLTJ2LTFoMnYxeiIgLz48L2c+CjxnIGlkPSJodHRwcyI+PHBhdGggZD0iTTE4IDhoLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptLTYgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6bTMuMS05SDguOVY2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJ6IiAvPjwvZz4KPGcgaWQ9ImltcG9ydGFudC1kZXZpY2VzIj48cGF0aCBkPSJNMjMgMTEuMDFMMTggMTFjLS41NSAwLTEgLjQ1LTEgMXY5YzAgLjU1LjQ1IDEgMSAxaDVjLjU1IDAgMS0uNDUgMS0xdi05YzAtLjU1LS40NS0uOTktMS0uOTl6TTIzIDIwaC01di03aDV2N3pNMjAgMkgyQy44OSAyIDAgMi44OSAwIDR2MTJjMCAxLjEuODkgMiAyIDJoN3YySDd2Mmg4di0yaC0ydi0yaDJ2LTJIMlY0aDE4djVoMlY0YzAtMS4xMS0uOS0yLTItMnptLTguMDMgN0wxMSA2bC0uOTcgM0g3bDIuNDcgMS43Ni0uOTQgMi45MSAyLjQ3LTEuOCAyLjQ3IDEuOC0uOTQtMi45MUwxNSA5aC0zLjAzeiIgLz48L2c+CjxnIGlkPSJpbmJveCI+PHBhdGggZD0iTTE5IDNINC45OWMtMS4xMSAwLTEuOTguODktMS45OCAyTDMgMTljMCAxLjEuODggMiAxLjk5IDJIMTljMS4xIDAgMi0uOSAyLTJWNWMwLTEuMTEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEweiIgLz48L2c+CjxnIGlkPSJpbmRldGVybWluYXRlLWNoZWNrLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tMiAxMEg3di0yaDEwdjJ6IiAvPjwvZz4KPGcgaWQ9ImluZm8iPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi02aDJ2NnptMC04aC0yVjdoMnYyeiIgLz48L2c+CjxnIGlkPSJpbmZvLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxN2gydi02aC0ydjZ6bTEtMTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4ek0xMSA5aDJWN2gtMnYyeiIgLz48L2c+CjxnIGlkPSJpbnB1dCI+PHBhdGggZD0iTTIxIDMuMDFIM2MtMS4xIDAtMiAuOS0yIDJWOWgyVjQuOTloMTh2MTQuMDNIM1YxNUgxdjQuMDFjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOTh2LTE0YzAtMS4xMS0uOS0yLTItMnpNMTEgMTZsNC00LTQtNHYzSDF2MmgxMHYzeiIgLz48L2c+CjxnIGlkPSJpbnZlcnQtY29sb3JzIj48cGF0aCBkPSJNMTcuNjYgNy45M0wxMiAyLjI3IDYuMzQgNy45M2MtMy4xMiAzLjEyLTMuMTIgOC4xOSAwIDExLjMxQzcuOSAyMC44IDkuOTUgMjEuNTggMTIgMjEuNThjMi4wNSAwIDQuMS0uNzggNS42Ni0yLjM0IDMuMTItMy4xMiAzLjEyLTguMTkgMC0xMS4zMXpNMTIgMTkuNTljLTEuNiAwLTMuMTEtLjYyLTQuMjQtMS43NkM2LjYyIDE2LjY5IDYgMTUuMTkgNiAxMy41OXMuNjItMy4xMSAxLjc2LTQuMjRMMTIgNS4xdjE0LjQ5eiIgLz48L2c+CjxnIGlkPSJsYWJlbCI+PHBhdGggZD0iTTE3LjYzIDUuODRDMTcuMjcgNS4zMyAxNi42NyA1IDE2IDVMNSA1LjAxQzMuOSA1LjAxIDMgNS45IDMgN3YxMGMwIDEuMS45IDEuOTkgMiAxLjk5TDE2IDE5Yy42NyAwIDEuMjctLjMzIDEuNjMtLjg0TDIyIDEybC00LjM3LTYuMTZ6IiAvPjwvZz4KPGcgaWQ9ImxhYmVsLW91dGxpbmUiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2ek0xNiAxN0g1VjdoMTFsMy41NSA1TDE2IDE3eiIgLz48L2c+CjxnIGlkPSJsYW5ndWFnZSI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6bTYuOTMgNmgtMi45NWMtLjMyLTEuMjUtLjc4LTIuNDUtMS4zOC0zLjU2IDEuODQuNjMgMy4zNyAxLjkxIDQuMzMgMy41NnpNMTIgNC4wNGMuODMgMS4yIDEuNDggMi41MyAxLjkxIDMuOTZoLTMuODJjLjQzLTEuNDMgMS4wOC0yLjc2IDEuOTEtMy45NnpNNC4yNiAxNEM0LjEgMTMuMzYgNCAxMi42OSA0IDEycy4xLTEuMzYuMjYtMmgzLjM4Yy0uMDguNjYtLjE0IDEuMzItLjE0IDIgMCAuNjguMDYgMS4zNC4xNCAySDQuMjZ6bS44MiAyaDIuOTVjLjMyIDEuMjUuNzggMi40NSAxLjM4IDMuNTYtMS44NC0uNjMtMy4zNy0xLjktNC4zMy0zLjU2em0yLjk1LThINS4wOGMuOTYtMS42NiAyLjQ5LTIuOTMgNC4zMy0zLjU2QzguODEgNS41NSA4LjM1IDYuNzUgOC4wMyA4ek0xMiAxOS45NmMtLjgzLTEuMi0xLjQ4LTIuNTMtMS45MS0zLjk2aDMuODJjLS40MyAxLjQzLTEuMDggMi43Ni0xLjkxIDMuOTZ6TTE0LjM0IDE0SDkuNjZjLS4wOS0uNjYtLjE2LTEuMzItLjE2LTIgMC0uNjguMDctMS4zNS4xNi0yaDQuNjhjLjA5LjY1LjE2IDEuMzIuMTYgMiAwIC42OC0uMDcgMS4zNC0uMTYgMnptLjI1IDUuNTZjLjYtMS4xMSAxLjA2LTIuMzEgMS4zOC0zLjU2aDIuOTVjLS45NiAxLjY1LTIuNDkgMi45My00LjMzIDMuNTZ6TTE2LjM2IDE0Yy4wOC0uNjYuMTQtMS4zMi4xNC0yIDAtLjY4LS4wNi0xLjM0LS4xNC0yaDMuMzhjLjE2LjY0LjI2IDEuMzEuMjYgMnMtLjEgMS4zNi0uMjYgMmgtMy4zOHoiIC8+PC9nPgo8ZyBpZD0ibGFzdC1wYWdlIj48cGF0aCBkPSJNNS41OSA3LjQxTDEwLjE4IDEybC00LjU5IDQuNTlMNyAxOGw2LTYtNi02ek0xNiA2aDJ2MTJoLTJ6IiAvPjwvZz4KPGcgaWQ9ImxhdW5jaCI+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIgLz48L2c+CjxnIGlkPSJsaWdodGJ1bGItb3V0bGluZSI+PHBhdGggZD0iTTkgMjFjMCAuNTUuNDUgMSAxIDFoNGMuNTUgMCAxLS40NSAxLTF2LTFIOXYxem0zLTE5QzguMTQgMiA1IDUuMTQgNSA5YzAgMi4zOCAxLjE5IDQuNDcgMyA1Ljc0VjE3YzAgLjU1LjQ1IDEgMSAxaDZjLjU1IDAgMS0uNDUgMS0xdi0yLjI2YzEuODEtMS4yNyAzLTMuMzYgMy01Ljc0IDAtMy44Ni0zLjE0LTctNy03em0yLjg1IDExLjFsLS44NS42VjE2aC00di0yLjNsLS44NS0uNkM3LjggMTIuMTYgNyAxMC42MyA3IDljMC0yLjc2IDIuMjQtNSA1LTVzNSAyLjI0IDUgNWMwIDEuNjMtLjggMy4xNi0yLjE1IDQuMXoiIC8+PC9nPgo8ZyBpZD0ibGluZS1zdHlsZSI+PHBhdGggZD0iTTMgMTZoNXYtMkgzdjJ6bTYuNSAwaDV2LTJoLTV2MnptNi41IDBoNXYtMmgtNXYyek0zIDIwaDJ2LTJIM3Yyem00IDBoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6TTMgMTJoOHYtMkgzdjJ6bTEwIDBoOHYtMmgtOHYyek0zIDR2NGgxOFY0SDN6IiAvPjwvZz4KPGcgaWQ9ImxpbmUtd2VpZ2h0Ij48cGF0aCBkPSJNMyAxN2gxOHYtMkgzdjJ6bTAgM2gxOHYtMUgzdjF6bTAtN2gxOHYtM0gzdjN6bTAtOXY0aDE4VjRIM3oiIC8+PC9nPgo8ZyBpZD0ibGluayI+PHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIgLz48L2c+CjxnIGlkPSJsaXN0Ij48cGF0aCBkPSJNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0wLThoMlY3SDN2MnptNCA0aDE0di0ySDd2MnptMCA0aDE0di0ySDd2MnpNNyA3djJoMTRWN0g3eiIgLz48L2c+CjxnIGlkPSJsb2NrIj48cGF0aCBkPSJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yem0tNiA5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnptMy4xLTlIOC45VjZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjEgMS43MSAwIDMuMSAxLjM5IDMuMSAzLjF2MnoiIC8+PC9nPgo8ZyBpZD0ibG9jay1vcGVuIj48cGF0aCBkPSJNMTIgMTdjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem02LTloLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2aDEuOWMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMSAxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6bTAgMTJINlYxMGgxMnYxMHoiIC8+PC9nPgo8ZyBpZD0ibG9jay1vdXRsaW5lIj48cGF0aCBkPSJNMTIgMTdjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem02LTloLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnpNOC45IDZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFzMy4xIDEuMzkgMy4xIDMuMXYySDguOVY2ek0xOCAyMEg2VjEwaDEydjEweiIgLz48L2c+CjxnIGlkPSJsb3ctcHJpb3JpdHkiPjxwYXRoIGQ9Ik0xNCA1aDh2MmgtOHptMCA1LjVoOHYyaC04em0wIDUuNWg4djJoLTh6TTIgMTEuNUMyIDE1LjA4IDQuOTIgMTggOC41IDE4SDl2MmwzLTMtMy0zdjJoLS41QzYuMDIgMTYgNCAxMy45OCA0IDExLjVTNi4wMiA3IDguNSA3SDEyVjVIOC41QzQuOTIgNSAyIDcuOTIgMiAxMS41eiIgLz48L2c+CjxnIGlkPSJsb3lhbHR5Ij48cGF0aCBkPSJNMjEuNDEgMTEuNThsLTktOUMxMi4wNSAyLjIyIDExLjU1IDIgMTEgMkg0Yy0xLjEgMC0yIC45LTIgMnY3YzAgLjU1LjIyIDEuMDUuNTkgMS40Mmw5IDljLjM2LjM2Ljg2LjU4IDEuNDEuNTguNTUgMCAxLjA1LS4yMiAxLjQxLS41OWw3LTdjLjM3LS4zNi41OS0uODYuNTktMS40MSAwLS41NS0uMjMtMS4wNi0uNTktMS40MnpNNS41IDdDNC42NyA3IDQgNi4zMyA0IDUuNVM0LjY3IDQgNS41IDQgNyA0LjY3IDcgNS41IDYuMzMgNyA1LjUgN3ptMTEuNzcgOC4yN0wxMyAxOS41NGwtNC4yNy00LjI3QzguMjggMTQuODEgOCAxNC4xOSA4IDEzLjVjMC0xLjM4IDEuMTItMi41IDIuNS0yLjUuNjkgMCAxLjMyLjI4IDEuNzcuNzRsLjczLjcyLjczLS43M2MuNDUtLjQ1IDEuMDgtLjczIDEuNzctLjczIDEuMzggMCAyLjUgMS4xMiAyLjUgMi41IDAgLjY5LS4yOCAxLjMyLS43MyAxLjc3eiIgLz48L2c+CjxnIGlkPSJtYWlsIj48cGF0aCBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0wIDRsLTggNS04LTVWNmw4IDUgOC01djJ6IiAvPjwvZz4KPGcgaWQ9Im1hcmt1bnJlYWQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgNGwtOCA1LTgtNVY2bDggNSA4LTV2MnoiIC8+PC9nPgo8ZyBpZD0ibWFya3VucmVhZC1tYWlsYm94Ij48cGF0aCBkPSJNMjAgNkgxMHY2SDhWNGg2VjBINnY2SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ibWVudSI+PHBhdGggZD0iTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6IiAvPjwvZz4KPGcgaWQ9Im1vcmUtaG9yaXoiPjxwYXRoIGQ9Ik02IDEwYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMTIgMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS02IDBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJtb3JlLXZlcnQiPjxwYXRoIGQ9Ik0xMiA4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptMCAyYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMCA2Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ibW90b3JjeWNsZSI+PHBhdGggZD0iTTE5LjQ0IDkuMDNMMTUuNDEgNUgxMXYyaDMuNTlsMiAySDVjLTIuOCAwLTUgMi4yLTUgNXMyLjIgNSA1IDVjMi40NiAwIDQuNDUtMS42OSA0LjktNGgxLjY1bDIuNzctMi43N2MtLjIxLjU0LS4zMiAxLjE0LS4zMiAxLjc3IDAgMi44IDIuMiA1IDUgNXM1LTIuMiA1LTVjMC0yLjY1LTEuOTctNC43Ny00LjU2LTQuOTd6TTcuODIgMTVDNy40IDE2LjE1IDYuMjggMTcgNSAxN2MtMS42MyAwLTMtMS4zNy0zLTNzMS4zNy0zIDMtM2MxLjI4IDAgMi40Ljg1IDIuODIgMkg1djJoMi44MnpNMTkgMTdjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzeiIgLz48L2c+CjxnIGlkPSJtb3ZlLXRvLWluYm94Ij48cGF0aCBkPSJNMTkgM0g0Ljk5Yy0xLjExIDAtMS45OC45LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEwem0tMy01aC0yVjdoLTR2M0g4bDQgNCA0LTR6IiAvPjwvZz4KPGcgaWQ9Im5leHQtd2VlayI+PHBhdGggZD0iTTIwIDdoLTRWNWMwLS41NS0uMjItMS4wNS0uNTktMS40MUMxNS4wNSAzLjIyIDE0LjU1IDMgMTQgM2gtNGMtMS4xIDAtMiAuOS0yIDJ2Mkg0Yy0xLjEgMC0yIC45LTIgMnYxMWMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjljMC0xLjEtLjktMi0yLTJ6TTEwIDVoNHYyaC00VjV6bTEgMTMuNWwtMS0xIDMtMy0zLTMgMS0xIDQgNC00IDR6IiAvPjwvZz4KPGcgaWQ9Im5vdGUtYWRkIj48cGF0aCBkPSJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0yIDE0aC0zdjNoLTJ2LTNIOHYtMmgzdi0zaDJ2M2gzdjJ6bS0zLTdWMy41TDE4LjUgOUgxM3oiIC8+PC9nPgo8ZyBpZD0ib2ZmbGluZS1waW4iPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNSAxNkg3di0yaDEwdjJ6bS02LjctNEw3IDEwLjdsMS40LTEuNCAxLjkgMS45IDUuMy01LjNMMTcgNy4zIDEwLjMgMTR6IiAvPjwvZz4KPGcgaWQ9Im9wYWNpdHkiPjxwYXRoIGQ9Ik0xNy42NiA4TDEyIDIuMzUgNi4zNCA4QzQuNzggOS41NiA0IDExLjY0IDQgMTMuNjRzLjc4IDQuMTEgMi4zNCA1LjY3IDMuNjEgMi4zNSA1LjY2IDIuMzUgNC4xLS43OSA1LjY2LTIuMzVTMjAgMTUuNjQgMjAgMTMuNjQgMTkuMjIgOS41NiAxNy42NiA4ek02IDE0Yy4wMS0yIC42Mi0zLjI3IDEuNzYtNC40TDEyIDUuMjdsNC4yNCA0LjM4QzE3LjM4IDEwLjc3IDE3Ljk5IDEyIDE4IDE0SDZ6IiAvPjwvZz4KPGcgaWQ9Im9wZW4taW4tYnJvd3NlciI+PHBhdGggZD0iTTE5IDRINWMtMS4xMSAwLTIgLjktMiAydjEyYzAgMS4xLjg5IDIgMiAyaDR2LTJINVY4aDE0djEwaC00djJoNGMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS44OS0yLTItMnptLTcgNmwtNCA0aDN2Nmgydi02aDNsLTQtNHoiIC8+PC9nPgo8ZyBpZD0ib3Blbi1pbi1uZXciPjxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiIC8+PC9nPgo8ZyBpZD0ib3Blbi13aXRoIj48cGF0aCBkPSJNMTAgOWg0VjZoM2wtNS01LTUgNWgzdjN6bS0xIDFINlY3bC01IDUgNSA1di0zaDN2LTR6bTE0IDJsLTUtNXYzaC0zdjRoM3YzbDUtNXptLTkgM2gtNHYzSDdsNSA1IDUtNWgtM3YtM3oiIC8+PC9nPgo8ZyBpZD0icGFnZXZpZXciPjxwYXRoIGQ9Ik0xMS41IDlDMTAuMTIgOSA5IDEwLjEyIDkgMTEuNXMxLjEyIDIuNSAyLjUgMi41IDIuNS0xLjEyIDIuNS0yLjVTMTIuODggOSAxMS41IDl6TTIwIDRINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tMy4yMSAxNC4yMWwtMi45MS0yLjkxYy0uNjkuNDQtMS41MS43LTIuMzkuN0M5LjAxIDE2IDcgMTMuOTkgNyAxMS41UzkuMDEgNyAxMS41IDcgMTYgOS4wMSAxNiAxMS41YzAgLjg4LS4yNiAxLjY5LS43IDIuMzlsMi45MSAyLjktMS40MiAxLjQyeiIgLz48L2c+CjxnIGlkPSJwYW4tdG9vbCI+PHBhdGggZD0iTTIzIDUuNVYyMGMwIDIuMi0xLjggNC00IDRoLTcuM2MtMS4wOCAwLTIuMS0uNDMtMi44NS0xLjE5TDEgMTQuODNzMS4yNi0xLjIzIDEuMy0xLjI1Yy4yMi0uMTkuNDktLjI5Ljc5LS4yOS4yMiAwIC40Mi4wNi42LjE2LjA0LjAxIDQuMzEgMi40NiA0LjMxIDIuNDZWNGMwLS44My42Ny0xLjUgMS41LTEuNVMxMSAzLjE3IDExIDR2N2gxVjEuNWMwLS44My42Ny0xLjUgMS41LTEuNVMxNSAuNjcgMTUgMS41VjExaDFWMi41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41VjExaDFWNS41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41eiIgLz48L2c+CjxnIGlkPSJwYXltZW50Ij48cGF0aCBkPSJNMjAgNEg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2YzAtMS4xMS0uODktMi0yLTJ6bTAgMTRINHYtNmgxNnY2em0wLTEwSDRWNmgxNnYyeiIgLz48L2c+CjxnIGlkPSJwZXJtLWNhbWVyYS1taWMiPjxwYXRoIGQ9Ik0yMCA1aC0zLjE3TDE1IDNIOUw3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg3di0yLjA5Yy0yLjgzLS40OC01LTIuOTQtNS01LjkxaDJjMCAyLjIxIDEuNzkgNCA0IDRzNC0xLjc5IDQtNGgyYzAgMi45Ny0yLjE3IDUuNDMtNSA1LjkxVjIxaDdjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptLTYgOGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJWOWMwLTEuMS45LTIgMi0yczIgLjkgMiAydjR6IiAvPjwvZz4KPGcgaWQ9InBlcm0tY29udGFjdC1jYWxlbmRhciI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDNjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDMtMy0xLjM0LTMtMyAxLjM0LTMgMy0zem02IDEySDZ2LTFjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xdjF6IiAvPjwvZz4KPGcgaWQ9InBlcm0tZGF0YS1zZXR0aW5nIj48cGF0aCBkPSJNMTguOTkgMTEuNWMuMzQgMCAuNjcuMDMgMSAuMDdMMjAgMCAwIDIwaDExLjU2Yy0uMDQtLjMzLS4wNy0uNjYtLjA3LTEgMC00LjE0IDMuMzYtNy41IDcuNS03LjV6bTMuNzEgNy45OWMuMDItLjE2LjA0LS4zMi4wNC0uNDkgMC0uMTctLjAxLS4zMy0uMDQtLjQ5bDEuMDYtLjgzYy4wOS0uMDguMTItLjIxLjA2LS4zMmwtMS0xLjczYy0uMDYtLjExLS4xOS0uMTUtLjMxLS4xMWwtMS4yNC41Yy0uMjYtLjItLjU0LS4zNy0uODUtLjQ5bC0uMTktMS4zMmMtLjAxLS4xMi0uMTItLjIxLS4yNC0uMjFoLTJjLS4xMiAwLS4yMy4wOS0uMjUuMjFsLS4xOSAxLjMyYy0uMy4xMy0uNTkuMjktLjg1LjQ5bC0xLjI0LS41Yy0uMTEtLjA0LS4yNCAwLS4zMS4xMWwtMSAxLjczYy0uMDYuMTEtLjA0LjI0LjA2LjMybDEuMDYuODNjLS4wMi4xNi0uMDMuMzItLjAzLjQ5IDAgLjE3LjAxLjMzLjAzLjQ5bC0xLjA2LjgzYy0uMDkuMDgtLjEyLjIxLS4wNi4zMmwxIDEuNzNjLjA2LjExLjE5LjE1LjMxLjExbDEuMjQtLjVjLjI2LjIuNTQuMzcuODUuNDlsLjE5IDEuMzJjLjAyLjEyLjEyLjIxLjI1LjIxaDJjLjEyIDAgLjIzLS4wOS4yNS0uMjFsLjE5LTEuMzJjLjMtLjEzLjU5LS4yOS44NC0uNDlsMS4yNS41Yy4xMS4wNC4yNCAwIC4zMS0uMTFsMS0xLjczYy4wNi0uMTEuMDMtLjI0LS4wNi0uMzJsLTEuMDctLjgzem0tMy43MSAxLjAxYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVzLjY3LTEuNSAxLjUtMS41IDEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiIC8+PC9nPgo8ZyBpZD0icGVybS1kZXZpY2UtaW5mb3JtYXRpb24iPjxwYXRoIGQ9Ik0xMyA3aC0ydjJoMlY3em0wIDRoLTJ2Nmgydi02em00LTkuOTlMNyAxYy0xLjEgMC0yIC45LTIgMnYxOGMwIDEuMS45IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMS45OS0yLTEuOTl6TTE3IDE5SDdWNWgxMHYxNHoiIC8+PC9nPgo8ZyBpZD0icGVybS1pZGVudGl0eSI+PHBhdGggZD0iTTEyIDUuOWMxLjE2IDAgMi4xLjk0IDIuMSAyLjFzLS45NCAyLjEtMi4xIDIuMVM5LjkgOS4xNiA5LjkgOHMuOTQtMi4xIDIuMS0yLjFtMCA5YzIuOTcgMCA2LjEgMS40NiA2LjEgMi4xdjEuMUg1LjlWMTdjMC0uNjQgMy4xMy0yLjEgNi4xLTIuMU0xMiA0QzkuNzkgNCA4IDUuNzkgOCA4czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDljLTIuNjcgMC04IDEuMzQtOCA0djNoMTZ2LTNjMC0yLjY2LTUuMzMtNC04LTR6IiAvPjwvZz4KPGcgaWQ9InBlcm0tbWVkaWEiPjxwYXRoIGQ9Ik0yIDZIMHY1aC4wMUwwIDIwYzAgMS4xLjkgMiAyIDJoMTh2LTJIMlY2em0yMC0yaC04bC0yLTJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDE2YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnpNNyAxNWw0LjUtNiAzLjUgNC41MSAyLjUtMy4wMUwyMSAxNUg3eiIgLz48L2c+CjxnIGlkPSJwZXJtLXBob25lLW1zZyI+PHBhdGggZD0iTTIwIDE1LjVjLTEuMjUgMC0yLjQ1LS4yLTMuNTctLjU3LS4zNS0uMTEtLjc0LS4wMy0xLjAyLjI0bC0yLjIgMi4yYy0yLjgzLTEuNDQtNS4xNS0zLjc1LTYuNTktNi41OGwyLjItMi4yMWMuMjgtLjI3LjM2LS42Ni4yNS0xLjAxQzguNyA2LjQ1IDguNSA1LjI1IDguNSA0YzAtLjU1LS40NS0xLTEtMUg0Yy0uNTUgMC0xIC40NS0xIDEgMCA5LjM5IDcuNjEgMTcgMTcgMTcgLjU1IDAgMS0uNDUgMS0xdi0zLjVjMC0uNTUtLjQ1LTEtMS0xek0xMiAzdjEwbDMtM2g2VjNoLTl6IiAvPjwvZz4KPGcgaWQ9InBlcm0tc2Nhbi13aWZpIj48cGF0aCBkPSJNMTIgM0M2Ljk1IDMgMy4xNSA0Ljg1IDAgNy4yM0wxMiAyMiAyNCA3LjI1QzIwLjg1IDQuODcgMTcuMDUgMyAxMiAzem0xIDEzaC0ydi02aDJ2NnptLTItOFY2aDJ2MmgtMnoiIC8+PC9nPgo8ZyBpZD0icGV0cyI+PGNpcmNsZSBjeD0iNC41IiBjeT0iOS41IiByPSIyLjUiIC8+PGNpcmNsZSBjeD0iOSIgY3k9IjUuNSIgcj0iMi41IiAvPjxjaXJjbGUgY3g9IjE1IiBjeT0iNS41IiByPSIyLjUiIC8+PGNpcmNsZSBjeD0iMTkuNSIgY3k9IjkuNSIgcj0iMi41IiAvPjxwYXRoIGQ9Ik0xNy4zNCAxNC44NmMtLjg3LTEuMDItMS42LTEuODktMi40OC0yLjkxLS40Ni0uNTQtMS4wNS0xLjA4LTEuNzUtMS4zMi0uMTEtLjA0LS4yMi0uMDctLjMzLS4wOS0uMjUtLjA0LS41Mi0uMDQtLjc4LS4wNHMtLjUzIDAtLjc5LjA1Yy0uMTEuMDItLjIyLjA1LS4zMy4wOS0uNy4yNC0xLjI4Ljc4LTEuNzUgMS4zMi0uODcgMS4wMi0xLjYgMS44OS0yLjQ4IDIuOTEtMS4zMSAxLjMxLTIuOTIgMi43Ni0yLjYyIDQuNzkuMjkgMS4wMiAxLjAyIDIuMDMgMi4zMyAyLjMyLjczLjE1IDMuMDYtLjQ0IDUuNTQtLjQ0aC4xOGMyLjQ4IDAgNC44MS41OCA1LjU0LjQ0IDEuMzEtLjI5IDIuMDQtMS4zMSAyLjMzLTIuMzIuMzEtMi4wNC0xLjMtMy40OS0yLjYxLTQuOHoiIC8+PC9nPgo8ZyBpZD0icGljdHVyZS1pbi1waWN0dXJlIj48cGF0aCBkPSJNMTkgN2gtOHY2aDhWN3ptMi00SDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMS45OCAyIDEuOThoMThjMS4xIDAgMi0uODggMi0xLjk4VjVjMC0xLjEtLjktMi0yLTJ6bTAgMTYuMDFIM1Y0Ljk4aDE4djE0LjAzeiIgLz48L2c+CjxnIGlkPSJwaWN0dXJlLWluLXBpY3R1cmUtYWx0Ij48cGF0aCBkPSJNMTkgMTFoLTh2Nmg4di02em00IDhWNC45OEMyMyAzLjg4IDIyLjEgMyAyMSAzSDNjLTEuMSAwLTIgLjg4LTIgMS45OFYxOWMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yem0tMiAuMDJIM1Y0Ljk3aDE4djE0LjA1eiIgLz48L2c+CjxnIGlkPSJwbGF5LWZvci13b3JrIj48cGF0aCBkPSJNMTEgNXY1LjU5SDcuNWw0LjUgNC41IDQuNS00LjVIMTNWNWgtMnptLTUgOWMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02aC0yYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00SDZ6IiAvPjwvZz4KPGcgaWQ9InBvbHltZXIiPjxwYXRoIGQ9Ik0xOSA0aC00TDcuMTEgMTYuNjMgNC41IDEyIDkgNEg1TC41IDEyIDUgMjBoNGw3Ljg5LTEyLjYzTDE5LjUgMTIgMTUgMjBoNGw0LjUtOHoiIC8+PC9nPgo8ZyBpZD0icG93ZXItc2V0dGluZ3MtbmV3Ij48cGF0aCBkPSJNMTMgM2gtMnYxMGgyVjN6bTQuODMgMi4xN2wtMS40MiAxLjQyQzE3Ljk5IDcuODYgMTkgOS44MSAxOSAxMmMwIDMuODctMy4xMyA3LTcgN3MtNy0zLjEzLTctN2MwLTIuMTkgMS4wMS00LjE0IDIuNTgtNS40Mkw2LjE3IDUuMTdDNC4yMyA2LjgyIDMgOS4yNiAzIDEyYzAgNC45NyA0LjAzIDkgOSA5czktNC4wMyA5LTljMC0yLjc0LTEuMjMtNS4xOC0zLjE3LTYuODN6IiAvPjwvZz4KPGcgaWQ9InByZWduYW50LXdvbWFuIj48cGF0aCBkPSJNOSA0YzAtMS4xMS44OS0yIDItMnMyIC44OSAyIDItLjg5IDItMiAyLTItLjg5LTItMnptNyA5Yy0uMDEtMS4zNC0uODMtMi41MS0yLTMgMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDN2N2gydjVoM3YtNWgzdi00eiIgLz48L2c+CjxnIGlkPSJwcmludCI+PHBhdGggZD0iTTE5IDhINWMtMS42NiAwLTMgMS4zNC0zIDN2Nmg0djRoMTJ2LTRoNHYtNmMwLTEuNjYtMS4zNC0zLTMtM3ptLTMgMTFIOHYtNWg4djV6bTMtN2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxem0tMS05SDZ2NGgxMlYzeiIgLz48L2c+CjxnIGlkPSJxdWVyeS1idWlsZGVyIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0uNS0xM0gxMXY2bDUuMjUgMy4xNS43NS0xLjIzLTQuNS0yLjY3eiIgLz48L2c+CjxnIGlkPSJxdWVzdGlvbi1hbnN3ZXIiPjxwYXRoIGQ9Ik0yMSA2aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXptLTQgNlYzYzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMXoiIC8+PC9nPgo8ZyBpZD0icmFkaW8tYnV0dG9uLWNoZWNrZWQiPjxwYXRoIGQ9Ik0xMiA3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1IDUtMi4yNCA1LTUtMi4yNC01LTUtNXptMC01QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiIC8+PC9nPgo8ZyBpZD0icmFkaW8tYnV0dG9uLXVuY2hlY2tlZCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJyZWNlaXB0Ij48cGF0aCBkPSJNMTggMTdINnYtMmgxMnYyem0wLTRINnYtMmgxMnYyem0wLTRINlY3aDEydjJ6TTMgMjJsMS41LTEuNUw2IDIybDEuNS0xLjVMOSAyMmwxLjUtMS41TDEyIDIybDEuNS0xLjVMMTUgMjJsMS41LTEuNUwxOCAyMmwxLjUtMS41TDIxIDIyVjJsLTEuNSAxLjVMMTggMmwtMS41IDEuNUwxNSAybC0xLjUgMS41TDEyIDJsLTEuNSAxLjVMOSAyIDcuNSAzLjUgNiAyIDQuNSAzLjUgMyAydjIweiIgLz48L2c+CjxnIGlkPSJyZWNvcmQtdm9pY2Utb3ZlciI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjQiIC8+PHBhdGggZD0iTTkgMTVjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6bTcuNzYtOS42NGwtMS42OCAxLjY5Yy44NCAxLjE4Ljg0IDIuNzEgMCAzLjg5bDEuNjggMS42OWMyLjAyLTIuMDIgMi4wMi01LjA3IDAtNy4yN3pNMjAuMDcgMmwtMS42MyAxLjYzYzIuNzcgMy4wMiAyLjc3IDcuNTYgMCAxMC43NEwyMC4wNyAxNmMzLjktMy44OSAzLjkxLTkuOTUgMC0xNHoiIC8+PC9nPgo8ZyBpZD0icmVkZWVtIj48cGF0aCBkPSJNMjAgNmgtMi4xOGMuMTEtLjMxLjE4LS42NS4xOC0xIDAtMS42Ni0xLjM0LTMtMy0zLTEuMDUgMC0xLjk2LjU0LTIuNSAxLjM1bC0uNS42Ny0uNS0uNjhDMTAuOTYgMi41NCAxMC4wNSAyIDkgMiA3LjM0IDIgNiAzLjM0IDYgNWMwIC4zNS4wNy42OS4xOCAxSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE5YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnptLTUtMmMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xek05IDRjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMTEgMTVINHYtMmgxNnYyem0wLTVINFY4aDUuMDhMNyAxMC44MyA4LjYyIDEyIDExIDguNzZsMS0xLjM2IDEgMS4zNkwxNS4zOCAxMiAxNyAxMC44MyAxNC45MiA4SDIwdjZ6IiAvPjwvZz4KPGcgaWQ9InJlZG8iPjxwYXRoIGQ9Ik0xOC40IDEwLjZDMTYuNTUgOC45OSAxNC4xNSA4IDExLjUgOGMtNC42NSAwLTguNTggMy4wMy05Ljk2IDcuMjJMMy45IDE2YzEuMDUtMy4xOSA0LjA1LTUuNSA3LjYtNS41IDEuOTUgMCAzLjczLjcyIDUuMTIgMS44OEwxMyAxNmg5VjdsLTMuNiAzLjZ6IiAvPjwvZz4KPGcgaWQ9InJlZnJlc2giPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiIC8+PC9nPgo8ZyBpZD0icmVtb3ZlIj48cGF0aCBkPSJNMTkgMTNINXYtMmgxNHYyeiIgLz48L2c+CjxnIGlkPSJyZW1vdmUtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMUg3di0yaDEwdjJ6IiAvPjwvZz4KPGcgaWQ9InJlbW92ZS1jaXJjbGUtb3V0bGluZSI+PHBhdGggZD0iTTcgMTF2MmgxMHYtMkg3em01LTlDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJyZW1vdmUtc2hvcHBpbmctY2FydCI+PHBhdGggZD0iTTIyLjczIDIyLjczTDIuNzcgMi43NyAyIDJsLS43My0uNzNMMCAyLjU0bDQuMzkgNC4zOSAyLjIxIDQuNjYtMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDcuNDZsMS4zOCAxLjM4Yy0uNS4zNi0uODMuOTUtLjgzIDEuNjIgMCAxLjEuODkgMiAxLjk5IDIgLjY3IDAgMS4yNi0uMzMgMS42Mi0uODRMMjEuNDYgMjRsMS4yNy0xLjI3ek03LjQyIDE1Yy0uMTQgMC0uMjUtLjExLS4yNS0uMjVsLjAzLS4xMi45LTEuNjNoMi4zNmwyIDJINy40MnptOC4xMy0yYy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg2LjU0bDkuMDEgOXpNNyAxOGMtMS4xIDAtMS45OS45LTEuOTkgMlM1LjkgMjIgNyAyMnMyLS45IDItMi0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0icmVvcmRlciI+PHBhdGggZD0iTTMgMTVoMTh2LTJIM3Yyem0wIDRoMTh2LTJIM3Yyem0wLThoMThWOUgzdjJ6bTAtNnYyaDE4VjVIM3oiIC8+PC9nPgo8ZyBpZD0icmVwbHkiPjxwYXRoIGQ9Ik0xMCA5VjVsLTcgNyA3IDd2LTQuMWM1IDAgOC41IDEuNiAxMSA1LjEtMS01LTQtMTAtMTEtMTF6IiAvPjwvZz4KPGcgaWQ9InJlcGx5LWFsbCI+PHBhdGggZD0iTTcgOFY1bC03IDcgNyA3di0zbC00LTQgNC00em02IDFWNWwtNyA3IDcgN3YtNC4xYzUgMCA4LjUgMS42IDExIDUuMS0xLTUtNC0xMC0xMS0xMXoiIC8+PC9nPgo8ZyBpZD0icmVwb3J0Ij48cGF0aCBkPSJNMTUuNzMgM0g4LjI3TDMgOC4yN3Y3LjQ2TDguMjcgMjFoNy40NkwyMSAxNS43M1Y4LjI3TDE1LjczIDN6TTEyIDE3LjNjLS43MiAwLTEuMy0uNTgtMS4zLTEuMyAwLS43Mi41OC0xLjMgMS4zLTEuMy43MiAwIDEuMy41OCAxLjMgMS4zIDAgLjcyLS41OCAxLjMtMS4zIDEuM3ptMS00LjNoLTJWN2gydjZ6IiAvPjwvZz4KPGcgaWQ9InJlcG9ydC1wcm9ibGVtIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJyZXN0b3JlIj48cGF0aCBkPSJNMTMgM2MtNC45NyAwLTkgNC4wMy05IDlIMWwzLjg5IDMuODkuMDcuMTRMOSAxMkg2YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS45MyAwLTMuNjgtLjc5LTQuOTQtMi4wNmwtMS40MiAxLjQyQzguMjcgMTkuOTkgMTAuNTEgMjEgMTMgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bS0xIDV2NWw0LjI4IDIuNTQuNzItMS4yMS0zLjUtMi4wOFY4SDEyeiIgLz48L2c+CjxnIGlkPSJyZXN0b3JlLXBhZ2UiPjxwYXRoIGQ9Ik0xNCAySDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bS0yIDE2Yy0yLjA1IDAtMy44MS0xLjI0LTQuNTgtM2gxLjcxYy42My45IDEuNjggMS41IDIuODcgMS41IDEuOTMgMCAzLjUtMS41NyAzLjUtMy41UzEzLjkzIDkuNSAxMiA5LjVjLTEuMzUgMC0yLjUyLjc4LTMuMSAxLjlsMS42IDEuNmgtNFY5bDEuMyAxLjNDOC42OSA4LjkyIDEwLjIzIDggMTIgOGMyLjc2IDAgNSAyLjI0IDUgNXMtMi4yNCA1LTUgNXoiIC8+PC9nPgo8ZyBpZD0icm9vbSI+PHBhdGggZD0iTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3ptMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41eiIgLz48L2c+CjxnIGlkPSJyb3VuZGVkLWNvcm5lciI+PHBhdGggZD0iTTE5IDE5aDJ2MmgtMnYtMnptMC0yaDJ2LTJoLTJ2MnpNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0wLThoMlY3SDN2MnptMC00aDJWM0gzdjJ6bTQgMGgyVjNIN3Yyem04IDE2aDJ2LTJoLTJ2MnptLTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6bS04IDBoMnYtMkg3djJ6bS00IDBoMnYtMkgzdjJ6TTIxIDhjMC0yLjc2LTIuMjQtNS01LTVoLTV2Mmg1YzEuNjUgMCAzIDEuMzUgMyAzdjVoMlY4eiIgLz48L2c+CjxnIGlkPSJyb3dpbmciPjxwYXRoIGQ9Ik04LjUgMTQuNUw0IDE5bDEuNSAxLjVMOSAxN2gybC0yLjUtMi41ek0xNSAxYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptNiAyMC4wMUwxOCAyNGwtMi45OS0zLjAxVjE5LjVsLTcuMS03LjA5Yy0uMzEuMDUtLjYxLjA3LS45MS4wN3YtMi4xNmMxLjY2LjAzIDMuNjEtLjg3IDQuNjctMi4wNGwxLjQtMS41NWMuMTktLjIxLjQzLS4zOC42OS0uNS4yOS0uMTQuNjItLjIzLjk2LS4yM2guMDNDMTUuOTkgNi4wMSAxNyA3LjAyIDE3IDguMjZ2NS43NWMwIC44NC0uMzUgMS42MS0uOTIgMi4xNmwtMy41OC0zLjU4di0yLjI3Yy0uNjMuNTItMS40MyAxLjAyLTIuMjkgMS4zOUwxNi41IDE4SDE4bDMgMy4wMXoiIC8+PC9nPgo8ZyBpZD0ic2F2ZSI+PHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIgLz48L2c+CjxnIGlkPSJzY2hlZHVsZSI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHptLjUtMTNIMTF2Nmw1LjI1IDMuMTUuNzUtMS4yMy00LjUtMi42N3oiIC8+PC9nPgo8ZyBpZD0ic2VhcmNoIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiIC8+PC9nPgo8ZyBpZD0ic2VsZWN0LWFsbCI+PHBhdGggZD0iTTMgNWgyVjNjLTEuMSAwLTIgLjktMiAyem0wIDhoMnYtMkgzdjJ6bTQgOGgydi0ySDd2MnpNMyA5aDJWN0gzdjJ6bTEwLTZoLTJ2MmgyVjN6bTYgMHYyaDJjMC0xLjEtLjktMi0yLTJ6TTUgMjF2LTJIM2MwIDEuMS45IDIgMiAyem0tMi00aDJ2LTJIM3Yyek05IDNIN3YyaDJWM3ptMiAxOGgydi0yaC0ydjJ6bTgtOGgydi0yaC0ydjJ6bTAgOGMxLjEgMCAyLS45IDItMmgtMnYyem0wLTEyaDJWN2gtMnYyem0wIDhoMnYtMmgtMnYyem0tNCA0aDJ2LTJoLTJ2MnptMC0xNmgyVjNoLTJ2MnpNNyAxN2gxMFY3SDd2MTB6bTItOGg2djZIOVY5eiIgLz48L2c+CjxnIGlkPSJzZW5kIj48cGF0aCBkPSJNMi4wMSAyMUwyMyAxMiAyLjAxIDMgMiAxMGwxNSAyLTE1IDJ6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzIj48cGF0aCBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVDMTQuNDYgMi4xOCAxNC4yNSAyIDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYXBwbGljYXRpb25zIj48cGF0aCBkPSJNMTIgMTBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem03LTdINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTEuNzUgOWMwIC4yMy0uMDIuNDYtLjA1LjY4bDEuNDggMS4xNmMuMTMuMTEuMTcuMy4wOC40NWwtMS40IDIuNDJjLS4wOS4xNS0uMjcuMjEtLjQzLjE1bC0xLjc0LS43Yy0uMzYuMjgtLjc2LjUxLTEuMTguNjlsLS4yNiAxLjg1Yy0uMDMuMTctLjE4LjMtLjM1LjNoLTIuOGMtLjE3IDAtLjMyLS4xMy0uMzUtLjI5bC0uMjYtMS44NWMtLjQzLS4xOC0uODItLjQxLTEuMTgtLjY5bC0xLjc0LjdjLS4xNi4wNi0uMzQgMC0uNDMtLjE1bC0xLjQtMi40MmMtLjA5LS4xNS0uMDUtLjM0LjA4LS40NWwxLjQ4LTEuMTZjLS4wMy0uMjMtLjA1LS40Ni0uMDUtLjY5IDAtLjIzLjAyLS40Ni4wNS0uNjhsLTEuNDgtMS4xNmMtLjEzLS4xMS0uMTctLjMtLjA4LS40NWwxLjQtMi40MmMuMDktLjE1LjI3LS4yMS40My0uMTVsMS43NC43Yy4zNi0uMjguNzYtLjUxIDEuMTgtLjY5bC4yNi0xLjg1Yy4wMy0uMTcuMTgtLjMuMzUtLjNoMi44Yy4xNyAwIC4zMi4xMy4zNS4yOWwuMjYgMS44NWMuNDMuMTguODIuNDEgMS4xOC42OWwxLjc0LS43Yy4xNi0uMDYuMzQgMCAuNDMuMTVsMS40IDIuNDJjLjA5LjE1LjA1LjM0LS4wOC40NWwtMS40OCAxLjE2Yy4wMy4yMy4wNS40Ni4wNS42OXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYmFja3VwLXJlc3RvcmUiPjxwYXRoIGQ9Ik0xNCAxMmMwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDIgLjkgMiAyIDIgMi0uOSAyLTJ6bS0yLTljLTQuOTcgMC05IDQuMDMtOSA5SDBsNCA0IDQtNEg1YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS41MSAwLTIuOTEtLjQ5LTQuMDYtMS4zbC0xLjQyIDEuNDRDOC4wNCAyMC4zIDkuOTQgMjEgMTIgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJsdWV0b290aCI+PHBhdGggZD0iTTExIDI0aDJ2LTJoLTJ2MnptLTQgMGgydi0ySDd2MnptOCAwaDJ2LTJoLTJ2MnptMi43MS0xOC4yOUwxMiAwaC0xdjcuNTlMNi40MSAzIDUgNC40MSAxMC41OSAxMCA1IDE1LjU5IDYuNDEgMTcgMTEgMTIuNDFWMjBoMWw1LjcxLTUuNzEtNC4zLTQuMjkgNC4zLTQuMjl6TTEzIDMuODNsMS44OCAxLjg4TDEzIDcuNTlWMy44M3ptMS44OCAxMC40NkwxMyAxNi4xN3YtMy43NmwxLjg4IDEuODh6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJyaWdodG5lc3MiPjxwYXRoIGQ9Ik0yMSAzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6TTggMTZoMi41bDEuNSAxLjUgMS41LTEuNUgxNnYtMi41bDEuNS0xLjUtMS41LTEuNVY4aC0yLjVMMTIgNi41IDEwLjUgOEg4djIuNUw2LjUgMTIgOCAxMy41VjE2em00LTdjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDNWOXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtY2VsbCI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6TTE2IC4wMUw4IDBDNi45IDAgNiAuOSA2IDJ2MTZjMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjJjMC0xLjEtLjktMS45OS0yLTEuOTl6TTE2IDE2SDhWNGg4djEyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1ldGhlcm5ldCI+PHBhdGggZD0iTTcuNzcgNi43Nkw2LjIzIDUuNDguODIgMTJsNS40MSA2LjUyIDEuNTQtMS4yOEwzLjQyIDEybDQuMzUtNS4yNHpNNyAxM2gydi0ySDd2MnptMTAtMmgtMnYyaDJ2LTJ6bS02IDJoMnYtMmgtMnYyem02Ljc3LTcuNTJsLTEuNTQgMS4yOEwyMC41OCAxMmwtNC4zNSA1LjI0IDEuNTQgMS4yOEwyMy4xOCAxMmwtNS40MS02LjUyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1hbnRlbm5hIj48cGF0aCBkPSJNMTIgNWMtMy44NyAwLTcgMy4xMy03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg3LTMuMTMtNy03LTd6bTEgOS4yOWMuODgtLjM5IDEuNS0xLjI2IDEuNS0yLjI5IDAtMS4zOC0xLjEyLTIuNS0yLjUtMi41UzkuNSAxMC42MiA5LjUgMTJjMCAxLjAyLjYyIDEuOSAxLjUgMi4yOXYzLjNMNy41OSAyMSA5IDIyLjQxbDMtMyAzIDNMMTYuNDEgMjEgMTMgMTcuNTl2LTMuM3pNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJoMmMwLTQuOTcgNC4wMy05IDktOXM5IDQuMDMgOSA5aDJjMC02LjA3LTQuOTMtMTEtMTEtMTF6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LWNvbXBvbmVudCI+PHBhdGggZD0iTTUgMmMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDF2Nmg2VjZINVYyem00IDE0YzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOGMxLjE2LS40MSAyLTEuNTEgMi0yLjgydi0ySDl2MnptLTggMGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThDNi4xNiAxOC40IDcgMTcuMyA3IDE2di0ySDF2MnpNMjEgNlYyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRoLTJ2Nmg2VjZoLTJ6bS04LTRjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NEg5djZoNlY2aC0yVjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJoLTZ2MnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtY29tcG9zaXRlIj48cGF0aCBkPSJNNSAyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRIMXY2aDZWNkg1VjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJIOXYyem0tOCAwYzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOEM2LjE2IDE4LjQgNyAxNy4zIDcgMTZ2LTJIMXYyek0yMSA2VjJjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NGgtMnY2aDZWNmgtMnptLTgtNGMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDl2Nmg2VjZoLTJWMnptNCAxNGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThjMS4xNi0uNDEgMi0xLjUxIDItMi44MnYtMmgtNnYyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1oZG1pIj48cGF0aCBkPSJNMTggN1Y0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjNINXY2bDMgNnYzaDh2LTNsMy02VjdoLTF6TTggNGg4djNoLTJWNWgtMXYyaC0yVjVoLTF2Mkg4VjR6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LXN2aWRlbyI+PHBhdGggZD0iTTggMTEuNWMwLS44My0uNjctMS41LTEuNS0xLjVTNSAxMC42NyA1IDExLjUgNS42NyAxMyA2LjUgMTMgOCAxMi4zMyA4IDExLjV6bTctNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTNDOS42NyA1IDkgNS42NyA5IDYuNVM5LjY3IDggMTAuNSA4aDNjLjgzIDAgMS41LS42NyAxLjUtMS41ek04LjUgMTVjLS44MyAwLTEuNS42Ny0xLjUgMS41UzcuNjcgMTggOC41IDE4czEuNS0uNjcgMS41LTEuNVM5LjMzIDE1IDguNSAxNXpNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJzNC45MyAxMSAxMSAxMSAxMS00LjkzIDExLTExUzE4LjA3IDEgMTIgMXptMCAyMGMtNC45NiAwLTktNC4wNC05LTlzNC4wNC05IDktOSA5IDQuMDQgOSA5LTQuMDQgOS05IDl6bTUuNS0xMWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6bS0yIDVjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41eiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1vdmVyc2NhbiI+PHBhdGggZD0iTTEyLjAxIDUuNUwxMCA4aDRsLTEuOTktMi41ek0xOCAxMHY0bDIuNS0xLjk5TDE4IDEwek02IDEwbC0yLjUgMi4wMUw2IDE0di00em04IDZoLTRsMi4wMSAyLjVMMTQgMTZ6bTctMTNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2LjAxSDNWNC45OWgxOHYxNC4wMnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcGhvbmUiPjxwYXRoIGQ9Ik0xMyA5aC0ydjJoMlY5em00IDBoLTJ2MmgyVjl6bTMgNi41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTkgOXYyaDJWOWgtMnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcG93ZXIiPjxwYXRoIGQ9Ik03IDI0aDJ2LTJIN3Yyem00IDBoMnYtMmgtMnYyem0yLTIyaC0ydjEwaDJWMnptMy41NiAyLjQ0bC0xLjQ1IDEuNDVDMTYuODQgNi45NCAxOCA4LjgzIDE4IDExYzAgMy4zMS0yLjY5IDYtNiA2cy02LTIuNjktNi02YzAtMi4xNyAxLjE2LTQuMDYgMi44OC01LjEyTDcuNDQgNC40NEM1LjM2IDUuODggNCA4LjI4IDQgMTFjMCA0LjQyIDMuNTggOCA4IDhzOC0zLjU4IDgtOGMwLTIuNzItMS4zNi01LjEyLTMuNDQtNi41NnpNMTUgMjRoMnYtMmgtMnYyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1yZW1vdGUiPjxwYXRoIGQ9Ik0xNSA5SDljLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWg2Yy41NSAwIDEtLjQ1IDEtMVYxMGMwLS41NS0uNDUtMS0xLTF6bS0zIDZjLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyek03LjA1IDYuMDVsMS40MSAxLjQxQzkuMzcgNi41NiAxMC42MiA2IDEyIDZzMi42My41NiAzLjU0IDEuNDZsMS40MS0xLjQxQzE1LjY4IDQuNzggMTMuOTMgNCAxMiA0cy0zLjY4Ljc4LTQuOTUgMi4wNXpNMTIgMEM4Ljk2IDAgNi4yMSAxLjIzIDQuMjIgMy4yMmwxLjQxIDEuNDFDNy4yNiAzLjAxIDkuNTEgMiAxMiAyczQuNzQgMS4wMSA2LjM2IDIuNjRsMS40MS0xLjQxQzE3Ljc5IDEuMjMgMTUuMDQgMCAxMiAweiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy12b2ljZSI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTUtMTFjMS42NiAwIDIuOTktMS4zNCAyLjk5LTNMMTUgNGMwLTEuNjYtMS4zNC0zLTMtM1M5IDIuMzQgOSA0djZjMCAxLjY2IDEuMzQgMyAzIDN6bS0xIDExaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptNC0xNGgtMS43YzAgMy0yLjU0IDUuMS01LjMgNS4xUzYuNyAxMyA2LjcgMTBINWMwIDMuNDEgMi43MiA2LjIzIDYgNi43MlYyMGgydi0zLjI4YzMuMjgtLjQ5IDYtMy4zMSA2LTYuNzJ6IiAvPjwvZz4KPGcgaWQ9InNob3AiPjxwYXRoIGQ9Ik0xNiA2VjRjMC0xLjExLS44OS0yLTItMmgtNGMtMS4xMSAwLTIgLjg5LTIgMnYySDJ2MTNjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWNmgtNnptLTYtMmg0djJoLTRWNHpNOSAxOFY5bDcuNSA0TDkgMTh6IiAvPjwvZz4KPGcgaWQ9InNob3AtdHdvIj48cGF0aCBkPSJNMyA5SDF2MTFjMCAxLjExLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS44OSAyLTJIM1Y5em0xNS00VjNjMC0xLjExLS44OS0yLTItMmgtNGMtMS4xMSAwLTIgLjg5LTIgMnYySDV2MTFjMCAxLjExLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS44OSAyLTJWNWgtNXptLTYtMmg0djJoLTRWM3ptMCAxMlY4bDUuNSAzLTUuNSA0eiIgLz48L2c+CjxnIGlkPSJzaG9wcGluZy1iYXNrZXQiPjxwYXRoIGQ9Ik0xNy4yMSA5bC00LjM4LTYuNTZjLS4xOS0uMjgtLjUxLS40Mi0uODMtLjQyLS4zMiAwLS42NC4xNC0uODMuNDNMNi43OSA5SDJjLS41NSAwLTEgLjQ1LTEgMSAwIC4wOS4wMS4xOC4wNC4yN2wyLjU0IDkuMjdjLjIzLjg0IDEgMS40NiAxLjkyIDEuNDZoMTNjLjkyIDAgMS42OS0uNjIgMS45My0xLjQ2bDIuNTQtOS4yN0wyMyAxMGMwLS41NS0uNDUtMS0xLTFoLTQuNzl6TTkgOWwzLTQuNEwxNSA5SDl6bTMgOGMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6IiAvPjwvZz4KPGcgaWQ9InNob3BwaW5nLWNhcnQiPjxwYXRoIGQ9Ik03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yek0xIDJ2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTQgMC0uMjUtLjExLS4yNS0uMjVsLjAzLS4xMi45LTEuNjNoNy40NWMuNzUgMCAxLjQxLS40MSAxLjc1LTEuMDNsMy41OC02LjQ5Yy4wOC0uMTQuMTItLjMxLjEyLS40OCAwLS41NS0uNDUtMS0xLTFINS4yMWwtLjk0LTJIMXptMTYgMTZjLTEuMSAwLTEuOTkuOS0xLjk5IDJzLjg5IDIgMS45OSAyIDItLjkgMi0yLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJzb3J0Ij48cGF0aCBkPSJNMyAxOGg2di0ySDN2MnpNMyA2djJoMThWNkgzem0wIDdoMTJ2LTJIM3YyeiIgLz48L2c+CjxnIGlkPSJzcGVha2VyLW5vdGVzIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTggMTRINnYtMmgydjJ6bTAtM0g2VjloMnYyem0wLTNINlY2aDJ2MnptNyA2aC01di0yaDV2MnptMy0zaC04VjloOHYyem0wLTNoLThWNmg4djJ6IiAvPjwvZz4KPGcgaWQ9InNwZWFrZXItbm90ZXMtb2ZmIj48cGF0aCBkPSJNMTAuNTQgMTFsLS41NC0uNTRMNy41NCA4IDYgNi40NiAyLjM4IDIuODQgMS4yNyAxLjczIDAgM2wyLjAxIDIuMDFMMiAyMmw0LTRoOWw1LjczIDUuNzNMMjIgMjIuNDYgMTcuNTQgMThsLTctN3pNOCAxNEg2di0yaDJ2MnptLTItM1Y5bDIgMkg2em0xNC05SDQuMDhMMTAgNy45MlY2aDh2MmgtNy45MmwxIDFIMTh2MmgtNC45Mmw2Ljk5IDYuOTlDMjEuMTQgMTcuOTUgMjIgMTcuMDggMjIgMTZWNGMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ic3BlbGxjaGVjayI+PHBhdGggZD0iTTEyLjQ1IDE2aDIuMDlMOS40MyAzSDcuNTdMMi40NiAxNmgyLjA5bDEuMTItM2g1LjY0bDEuMTQgM3ptLTYuMDItNUw4LjUgNS40OCAxMC41NyAxMUg2LjQzem0xNS4xNi41OWwtOC4wOSA4LjA5TDkuODMgMTZsLTEuNDEgMS40MSA1LjA5IDUuMDlMMjMgMTNsLTEuNDEtMS40MXoiIC8+PC9nPgo8ZyBpZD0ic3RhciI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiIgLz48L2c+CjxnIGlkPSJzdGFyLWJvcmRlciI+PHBhdGggZD0iTTIyIDkuMjRsLTcuMTktLjYyTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMSAxMiAxNy4yNyAxOC4xOCAyMWwtMS42My03LjAzTDIyIDkuMjR6TTEyIDE1LjRsLTMuNzYgMi4yNyAxLTQuMjgtMy4zMi0yLjg4IDQuMzgtLjM4TDEyIDYuMWwxLjcxIDQuMDQgNC4zOC4zOC0zLjMyIDIuODggMSA0LjI4TDEyIDE1LjR6IiAvPjwvZz4KPGcgaWQ9InN0YXItaGFsZiI+PHBhdGggZD0iTTIyIDkuMjRsLTcuMTktLjYyTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMSAxMiAxNy4yNyAxOC4xOCAyMWwtMS42My03LjAzTDIyIDkuMjR6TTEyIDE1LjRWNi4xbDEuNzEgNC4wNCA0LjM4LjM4LTMuMzIgMi44OCAxIDQuMjhMMTIgMTUuNHoiIC8+PC9nPgo8ZyBpZD0ic3RhcnMiPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyem00LjI0IDE2TDEyIDE1LjQ1IDcuNzcgMThsMS4xMi00LjgxLTMuNzMtMy4yMyA0LjkyLS40MkwxMiA1bDEuOTIgNC41MyA0LjkyLjQyLTMuNzMgMy4yM0wxNi4yMyAxOHoiIC8+PC9nPgo8ZyBpZD0ic3RvcmUiPjxwYXRoIGQ9Ik0yMCA0SDR2MmgxNlY0em0xIDEwdi0ybC0xLTVINGwtMSA1djJoMXY2aDEwdi02aDR2Nmgydi02aDF6bS05IDRINnYtNGg2djR6IiAvPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1sZWZ0Ij48cGF0aCBkPSJNMTEgOWwxLjQyIDEuNDJMOC44MyAxNEgxOFY0aDJ2MTJIOC44M2wzLjU5IDMuNThMMTEgMjFsLTYtNiA2LTZ6IiAvPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTE5IDE1bC02IDYtMS40Mi0xLjQyTDE1LjE3IDE2SDRWNGgydjEwaDkuMTdsLTMuNTktMy41OEwxMyA5bDYgNnoiIC8+PC9nPgo8ZyBpZD0ic3ViamVjdCI+PHBhdGggZD0iTTE0IDE3SDR2MmgxMHYtMnptNi04SDR2MmgxNlY5ek00IDE1aDE2di0ySDR2MnpNNCA1djJoMTZWNUg0eiIgLz48L2c+CjxnIGlkPSJzdXBlcnZpc29yLWFjY291bnQiPjxwYXRoIGQ9Ik0xNi41IDEyYzEuMzggMCAyLjQ5LTEuMTIgMi40OS0yLjVTMTcuODggNyAxNi41IDdDMTUuMTIgNyAxNCA4LjEyIDE0IDkuNXMxLjEyIDIuNSAyLjUgMi41ek05IDExYzEuNjYgMCAyLjk5LTEuMzQgMi45OS0zUzEwLjY2IDUgOSA1QzcuMzQgNSA2IDYuMzQgNiA4czEuMzQgMyAzIDN6bTcuNSAzYy0xLjgzIDAtNS41LjkyLTUuNSAyLjc1VjE5aDExdi0yLjI1YzAtMS44My0zLjY3LTIuNzUtNS41LTIuNzV6TTkgMTNjLTIuMzMgMC03IDEuMTctNyAzLjVWMTloN3YtMi4yNWMwLS44NS4zMy0yLjM0IDIuMzctMy40N0MxMC41IDEzLjEgOS42NiAxMyA5IDEzeiIgLz48L2c+CjxnIGlkPSJzd2FwLWhvcml6Ij48cGF0aCBkPSJNNi45OSAxMUwzIDE1bDMuOTkgNHYtM0gxNHYtMkg2Ljk5di0zek0yMSA5bC0zLjk5LTR2M0gxMHYyaDcuMDF2M0wyMSA5eiIgLz48L2c+CjxnIGlkPSJzd2FwLXZlcnQiPjxwYXRoIGQ9Ik0xNiAxNy4wMVYxMGgtMnY3LjAxaC0zTDE1IDIxbDQtMy45OWgtM3pNOSAzTDUgNi45OWgzVjE0aDJWNi45OWgzTDkgM3oiIC8+PC9nPgo8ZyBpZD0ic3dhcC12ZXJ0aWNhbC1jaXJjbGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyek02LjUgOUwxMCA1LjUgMTMuNSA5SDExdjRIOVY5SDYuNXptMTEgNkwxNCAxOC41IDEwLjUgMTVIMTN2LTRoMnY0aDIuNXoiIC8+PC9nPgo8ZyBpZD0ic3lzdGVtLXVwZGF0ZS1hbHQiPjxwYXRoIGQ9Ik0xMiAxNi41bDQtNGgtM3YtOWgtMnY5SDhsNCA0em05LTEzaC02djEuOTloNnYxNC4wM0gzVjUuNDloNlYzLjVIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnYtMTRjMC0xLjEtLjktMi0yLTJ6IiAvPjwvZz4KPGcgaWQ9InRhYiI+PHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6IiAvPjwvZz4KPGcgaWQ9InRhYi11bnNlbGVjdGVkIj48cGF0aCBkPSJNMSA5aDJWN0gxdjJ6bTAgNGgydi0ySDF2MnptMC04aDJWM2MtMS4xIDAtMiAuOS0yIDJ6bTggMTZoMnYtMkg5djJ6bS04LTRoMnYtMkgxdjJ6bTIgNHYtMkgxYzAgMS4xLjkgMiAyIDJ6TTIxIDNoLTh2NmgxMFY1YzAtMS4xLS45LTItMi0yem0wIDE0aDJ2LTJoLTJ2MnpNOSA1aDJWM0g5djJ6TTUgMjFoMnYtMkg1djJ6TTUgNWgyVjNINXYyem0xNiAxNmMxLjEgMCAyLS45IDItMmgtMnYyem0wLThoMnYtMmgtMnYyem0tOCA4aDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnoiIC8+PC9nPgo8ZyBpZD0idGV4dC1mb3JtYXQiPjxwYXRoIGQ9Ik01IDE3djJoMTR2LTJINXptNC41LTQuMmg1bC45IDIuMmgyLjFMMTIuNzUgNGgtMS41TDYuNSAxNWgyLjFsLjktMi4yek0xMiA1Ljk4TDEzLjg3IDExaC0zLjc0TDEyIDUuOTh6IiAvPjwvZz4KPGcgaWQ9InRoZWF0ZXJzIj48cGF0aCBkPSJNMTggM3YyaC0yVjNIOHYySDZWM0g0djE4aDJ2LTJoMnYyaDh2LTJoMnYyaDJWM2gtMnpNOCAxN0g2di0yaDJ2MnptMC00SDZ2LTJoMnYyem0wLTRINlY3aDJ2MnptMTAgOGgtMnYtMmgydjJ6bTAtNGgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2MnoiIC8+PC9nPgo8ZyBpZD0idGh1bWItZG93biI+PHBhdGggZD0iTTE1IDNINmMtLjgzIDAtMS41NC41LTEuODQgMS4yMmwtMy4wMiA3LjA1Yy0uMDkuMjMtLjE0LjQ3LS4xNC43M3YxLjkxbC4wMS4wMUwxIDE0YzAgMS4xLjkgMiAyIDJoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyM2w2LjU5LTYuNTljLjM2LS4zNi41OC0uODYuNTgtMS40MVY1YzAtMS4xLS45LTItMi0yem00IDB2MTJoNFYzaC00eiIgLz48L2c+CjxnIGlkPSJ0aHVtYi11cCI+PHBhdGggZD0iTTEgMjFoNFY5SDF2MTJ6bTIyLTExYzAtMS4xLS45LTItMi0yaC02LjMxbC45NS00LjU3LjAzLS4zMmMwLS40MS0uMTctLjc5LS40NC0xLjA2TDE0LjE3IDEgNy41OSA3LjU5QzcuMjIgNy45NSA3IDguNDUgNyA5djEwYzAgMS4xLjkgMiAyIDJoOWMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczdi0xLjkxbC0uMDEtLjAxTDIzIDEweiIgLz48L2c+CjxnIGlkPSJ0aHVtYnMtdXAtZG93biI+PHBhdGggZD0iTTEyIDZjMC0uNTUtLjQ1LTEtMS0xSDUuODJsLjY2LTMuMTguMDItLjIzYzAtLjMxLS4xMy0uNTktLjMzLS44TDUuMzggMCAuNDQgNC45NEMuMTcgNS4yMSAwIDUuNTkgMCA2djYuNWMwIC44My42NyAxLjUgMS41IDEuNWg2Ljc1Yy42MiAwIDEuMTUtLjM4IDEuMzgtLjkxbDIuMjYtNS4yOWMuMDctLjE3LjExLS4zNi4xMS0uNTVWNnptMTAuNSA0aC02Ljc1Yy0uNjIgMC0xLjE1LjM4LTEuMzguOTFsLTIuMjYgNS4yOWMtLjA3LjE3LS4xMS4zNi0uMTEuNTVWMThjMCAuNTUuNDUgMSAxIDFoNS4xOGwtLjY2IDMuMTgtLjAyLjI0YzAgLjMxLjEzLjU5LjMzLjhsLjc5Ljc4IDQuOTQtNC45NGMuMjctLjI3LjQ0LS42NS40NC0xLjA2di02LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41eiIgLz48L2c+CjxnIGlkPSJ0aW1lbGluZSI+PHBhdGggZD0iTTIzIDhjMCAxLjEtLjkgMi0yIDItLjE4IDAtLjM1LS4wMi0uNTEtLjA3bC0zLjU2IDMuNTVjLjA1LjE2LjA3LjM0LjA3LjUyIDAgMS4xLS45IDItMiAycy0yLS45LTItMmMwLS4xOC4wMi0uMzYuMDctLjUybC0yLjU1LTIuNTVjLS4xNi4wNS0uMzQuMDctLjUyLjA3cy0uMzYtLjAyLS41Mi0uMDdsLTQuNTUgNC41NmMuMDUuMTYuMDcuMzMuMDcuNTEgMCAxLjEtLjkgMi0yIDJzLTItLjktMi0yIC45LTIgMi0yYy4xOCAwIC4zNS4wMi41MS4wN2w0LjU2LTQuNTVDOC4wMiA5LjM2IDggOS4xOCA4IDljMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIC4xOC0uMDIuMzYtLjA3LjUybDIuNTUgMi41NWMuMTYtLjA1LjM0LS4wNy41Mi0uMDdzLjM2LjAyLjUyLjA3bDMuNTUtMy41NkMxOS4wMiA4LjM1IDE5IDguMTggMTkgOGMwLTEuMS45LTIgMi0yczIgLjkgMiAyeiIgLz48L2c+CjxnIGlkPSJ0b2MiPjxwYXRoIGQ9Ik0zIDloMTRWN0gzdjJ6bTAgNGgxNHYtMkgzdjJ6bTAgNGgxNHYtMkgzdjJ6bTE2IDBoMnYtMmgtMnYyem0wLTEwdjJoMlY3aC0yem0wIDZoMnYtMmgtMnYyeiIgLz48L2c+CjxnIGlkPSJ0b2RheSI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTEuOTkuOS0xLjk5IDJMMyAxOWMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOGgxNHYxMXpNNyAxMGg1djVIN3oiIC8+PC9nPgo8ZyBpZD0idG9sbCI+PHBhdGggZD0iTTE1IDRjLTQuNDIgMC04IDMuNTgtOCA4czMuNTggOCA4IDggOC0zLjU4IDgtOC0zLjU4LTgtOC04em0wIDE0Yy0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02IDYgMi42OSA2IDYtMi42OSA2LTYgNnpNMyAxMmMwLTIuNjEgMS42Ny00LjgzIDQtNS42NVY0LjI2QzMuNTUgNS4xNSAxIDguMjcgMSAxMnMyLjU1IDYuODUgNiA3Ljc0di0yLjA5Yy0yLjMzLS44Mi00LTMuMDQtNC01LjY1eiIgLz48L2c+CjxnIGlkPSJ0b3VjaC1hcHAiPjxwYXRoIGQ9Ik05IDExLjI0VjcuNUM5IDYuMTIgMTAuMTIgNSAxMS41IDVTMTQgNi4xMiAxNCA3LjV2My43NGMxLjIxLS44MSAyLTIuMTggMi0zLjc0QzE2IDUuMDEgMTMuOTkgMyAxMS41IDNTNyA1LjAxIDcgNy41YzAgMS41Ni43OSAyLjkzIDIgMy43NHptOS44NCA0LjYzbC00LjU0LTIuMjZjLS4xNy0uMDctLjM1LS4xMS0uNTQtLjExSDEzdi02YzAtLjgzLS42Ny0xLjUtMS41LTEuNVMxMCA2LjY3IDEwIDcuNXYxMC43NGwtMy40My0uNzJjLS4wOC0uMDEtLjE1LS4wMy0uMjQtLjAzLS4zMSAwLS41OS4xMy0uNzkuMzNsLS43OS44IDQuOTQgNC45NGMuMjcuMjcuNjUuNDQgMS4wNi40NGg2Ljc5Yy43NSAwIDEuMzMtLjU1IDEuNDQtMS4yOGwuNzUtNS4yN2MuMDEtLjA3LjAyLS4xNC4wMi0uMiAwLS42Mi0uMzgtMS4xNi0uOTEtMS4zOHoiIC8+PC9nPgo8ZyBpZD0idHJhY2stY2hhbmdlcyI+PHBhdGggZD0iTTE5LjA3IDQuOTNsLTEuNDEgMS40MUMxOS4xIDcuNzkgMjAgOS43OSAyMCAxMmMwIDQuNDItMy41OCA4LTggOHMtOC0zLjU4LTgtOGMwLTQuMDggMy4wNS03LjQ0IDctNy45M3YyLjAyQzguMTYgNi41NyA2IDkuMDMgNiAxMmMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02YzAtMS42Ni0uNjctMy4xNi0xLjc2LTQuMjRsLTEuNDEgMS40MUMxNS41NSA5LjkgMTYgMTAuOSAxNiAxMmMwIDIuMjEtMS43OSA0LTQgNHMtNC0xLjc5LTQtNGMwLTEuODYgMS4yOC0zLjQxIDMtMy44NnYyLjE0Yy0uNi4zNS0xIC45OC0xIDEuNzIgMCAxLjEuOSAyIDIgMnMyLS45IDItMmMwLS43NC0uNC0xLjM4LTEtMS43MlYyaC0xQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBjMC0yLjc2LTEuMTItNS4yNi0yLjkzLTcuMDd6IiAvPjwvZz4KPGcgaWQ9InRyYW5zbGF0ZSI+PHBhdGggZD0iTTEyLjg3IDE1LjA3bC0yLjU0LTIuNTEuMDMtLjAzYzEuNzQtMS45NCAyLjk4LTQuMTcgMy43MS02LjUzSDE3VjRoLTdWMkg4djJIMXYxLjk5aDExLjE3QzExLjUgNy45MiAxMC40NCA5Ljc1IDkgMTEuMzUgOC4wNyAxMC4zMiA3LjMgOS4xOSA2LjY5IDhoLTJjLjczIDEuNjMgMS43MyAzLjE3IDIuOTggNC41NmwtNS4wOSA1LjAyTDQgMTlsNS01IDMuMTEgMy4xMS43Ni0yLjA0ek0xOC41IDEwaC0yTDEyIDIyaDJsMS4xMi0zaDQuNzVMMjEgMjJoMmwtNC41LTEyem0tMi42MiA3bDEuNjItNC4zM0wxOS4xMiAxN2gtMy4yNHoiIC8+PC9nPgo8ZyBpZD0idHJlbmRpbmctZG93biI+PHBhdGggZD0iTTE2IDE4bDIuMjktMi4yOS00Ljg4LTQuODgtNCA0TDIgNy40MSAzLjQxIDZsNiA2IDQtNCA2LjMgNi4yOUwyMiAxMnY2eiIgLz48L2c+CjxnIGlkPSJ0cmVuZGluZy1mbGF0Ij48cGF0aCBkPSJNMjIgMTJsLTQtNHYzSDN2MmgxNXYzeiIgLz48L2c+CjxnIGlkPSJ0cmVuZGluZy11cCI+PHBhdGggZD0iTTE2IDZsMi4yOSAyLjI5LTQuODggNC44OC00LTRMMiAxNi41OSAzLjQxIDE4bDYtNiA0IDQgNi4zLTYuMjlMMjIgMTJWNnoiIC8+PC9nPgo8ZyBpZD0idHVybmVkLWluIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJ0dXJuZWQtaW4tbm90Ij48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yem0wIDE1bC01LTIuMThMNyAxOFY1aDEwdjEzeiIgLz48L2c+CjxnIGlkPSJ1bmFyY2hpdmUiPjxwYXRoIGQ9Ik0yMC41NSA1LjIybC0xLjM5LTEuNjhDMTguODggMy4yMSAxOC40NyAzIDE4IDNINmMtLjQ3IDAtLjg4LjIxLTEuMTUuNTVMMy40NiA1LjIyQzMuMTcgNS41NyAzIDYuMDEgMyA2LjVWMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNi41YzAtLjQ5LS4xNy0uOTMtLjQ1LTEuMjh6TTEyIDkuNWw1LjUgNS41SDE0djJoLTR2LTJINi41TDEyIDkuNXpNNS4xMiA1bC44Mi0xaDEybC45MyAxSDUuMTJ6IiAvPjwvZz4KPGcgaWQ9InVuZG8iPjxwYXRoIGQ9Ik0xMi41IDhjLTIuNjUgMC01LjA1Ljk5LTYuOSAyLjZMMiA3djloOWwtMy42Mi0zLjYyYzEuMzktMS4xNiAzLjE2LTEuODggNS4xMi0xLjg4IDMuNTQgMCA2LjU1IDIuMzEgNy42IDUuNWwyLjM3LS43OEMyMS4wOCAxMS4wMyAxNy4xNSA4IDEyLjUgOHoiIC8+PC9nPgo8ZyBpZD0idW5mb2xkLWxlc3MiPjxwYXRoIGQ9Ik03LjQxIDE4LjU5TDguODMgMjAgMTIgMTYuODMgMTUuMTcgMjBsMS40MS0xLjQxTDEyIDE0bC00LjU5IDQuNTl6bTkuMTgtMTMuMThMMTUuMTcgNCAxMiA3LjE3IDguODMgNCA3LjQxIDUuNDEgMTIgMTBsNC41OS00LjU5eiIgLz48L2c+CjxnIGlkPSJ1bmZvbGQtbW9yZSI+PHBhdGggZD0iTTEyIDUuODNMMTUuMTcgOWwxLjQxLTEuNDFMMTIgMyA3LjQxIDcuNTkgOC44MyA5IDEyIDUuODN6bTAgMTIuMzRMOC44MyAxNWwtMS40MSAxLjQxTDEyIDIxbDQuNTktNC41OUwxNS4xNyAxNSAxMiAxOC4xN3oiIC8+PC9nPgo8ZyBpZD0idXBkYXRlIj48cGF0aCBkPSJNMjEgMTAuMTJoLTYuNzhsMi43NC0yLjgyYy0yLjczLTIuNy03LjE1LTIuOC05Ljg4LS4xLTIuNzMgMi43MS0yLjczIDcuMDggMCA5Ljc5IDIuNzMgMi43MSA3LjE1IDIuNzEgOS44OCAwQzE4LjMyIDE1LjY1IDE5IDE0LjA4IDE5IDEyLjFoMmMwIDEuOTgtLjg4IDQuNTUtMi42NCA2LjI5LTMuNTEgMy40OC05LjIxIDMuNDgtMTIuNzIgMC0zLjUtMy40Ny0zLjUzLTkuMTEtLjAyLTEyLjU4IDMuNTEtMy40NyA5LjE0LTMuNDcgMTIuNjUgMEwyMSAzdjcuMTJ6TTEyLjUgOHY0LjI1bDMuNSAyLjA4LS43MiAxLjIxTDExIDEzVjhoMS41eiIgLz48L2c+CjxnIGlkPSJ2ZXJpZmllZC11c2VyIj48cGF0aCBkPSJNMTIgMUwzIDV2NmMwIDUuNTUgMy44NCAxMC43NCA5IDEyIDUuMTYtMS4yNiA5LTYuNDUgOS0xMlY1bC05LTR6bS0yIDE2bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6IiAvPjwvZz4KPGcgaWQ9InZpZXctYWdlbmRhIj48cGF0aCBkPSJNMjAgMTNIM2MtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTdjLjU1IDAgMS0uNDUgMS0xdi02YzAtLjU1LS40NS0xLTEtMXptMC0xMEgzYy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxN2MuNTUgMCAxLS40NSAxLTFWNGMwLS41NS0uNDUtMS0xLTF6IiAvPjwvZz4KPGcgaWQ9InZpZXctYXJyYXkiPjxwYXRoIGQ9Ik00IDE4aDNWNUg0djEzek0xOCA1djEzaDNWNWgtM3pNOCAxOGg5VjVIOHYxM3oiIC8+PC9nPgo8ZyBpZD0idmlldy1jYXJvdXNlbCI+PHBhdGggZD0iTTcgMTloMTBWNEg3djE1em0tNS0yaDRWNkgydjExek0xOCA2djExaDRWNmgtNHoiIC8+PC9nPgo8ZyBpZD0idmlldy1jb2x1bW4iPjxwYXRoIGQ9Ik0xMCAxOGg1VjVoLTV2MTN6bS02IDBoNVY1SDR2MTN6TTE2IDV2MTNoNVY1aC01eiIgLz48L2c+CjxnIGlkPSJ2aWV3LWRheSI+PHBhdGggZD0iTTIgMjFoMTl2LTNIMnYzek0yMCA4SDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMVY5YzAtLjU1LS40NS0xLTEtMXpNMiAzdjNoMTlWM0gyeiIgLz48L2c+CjxnIGlkPSJ2aWV3LWhlYWRsaW5lIj48cGF0aCBkPSJNNCAxNWgxNnYtMkg0djJ6bTAgNGgxNnYtMkg0djJ6bTAtOGgxNlY5SDR2MnptMC02djJoMTZWNUg0eiIgLz48L2c+CjxnIGlkPSJ2aWV3LWxpc3QiPjxwYXRoIGQ9Ik00IDE0aDR2LTRINHY0em0wIDVoNHYtNEg0djR6TTQgOWg0VjVINHY0em01IDVoMTJ2LTRIOXY0em0wIDVoMTJ2LTRIOXY0ek05IDV2NGgxMlY1SDl6IiAvPjwvZz4KPGcgaWQ9InZpZXctbW9kdWxlIj48cGF0aCBkPSJNNCAxMWg1VjVINHY2em0wIDdoNXYtNkg0djZ6bTYgMGg1di02aC01djZ6bTYgMGg1di02aC01djZ6bS02LTdoNVY1aC01djZ6bTYtNnY2aDVWNWgtNXoiIC8+PC9nPgo8ZyBpZD0idmlldy1xdWlsdCI+PHBhdGggZD0iTTEwIDE4aDV2LTZoLTV2NnptLTYgMGg1VjVINHYxM3ptMTIgMGg1di02aC01djZ6TTEwIDV2NmgxMVY1SDEweiIgLz48L2c+CjxnIGlkPSJ2aWV3LXN0cmVhbSI+PHBhdGggZD0iTTQgMThoMTd2LTZINHY2ek00IDV2NmgxN1Y1SDR6IiAvPjwvZz4KPGcgaWQ9InZpZXctd2VlayI+PHBhdGggZD0iTTYgNUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoM2MuNTUgMCAxLS40NSAxLTFWNmMwLS41NS0uNDUtMS0xLTF6bTE0IDBoLTNjLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWgzYy41NSAwIDEtLjQ1IDEtMVY2YzAtLjU1LS40NS0xLTEtMXptLTcgMGgtM2MtLjU1IDAtMSAuNDUtMSAxdjEyYzAgLjU1LjQ1IDEgMSAxaDNjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xeiIgLz48L2c+CjxnIGlkPSJ2aXNpYmlsaXR5Ij48cGF0aCBkPSJNMTIgNC41QzcgNC41IDIuNzMgNy42MSAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXpNMTIgMTdjLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNS0yLjI0IDUtNSA1em0wLThjLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDMgMy0xLjM0IDMtMy0xLjM0LTMtMy0zeiIgLz48L2c+CjxnIGlkPSJ2aXNpYmlsaXR5LW9mZiI+PHBhdGggZD0iTTEyIDdjMi43NiAwIDUgMi4yNCA1IDUgMCAuNjUtLjEzIDEuMjYtLjM2IDEuODNsMi45MiAyLjkyYzEuNTEtMS4yNiAyLjctMi44OSAzLjQzLTQuNzUtMS43My00LjM5LTYtNy41LTExLTcuNS0xLjQgMC0yLjc0LjI1LTMuOTguN2wyLjE2IDIuMTZDMTAuNzQgNy4xMyAxMS4zNSA3IDEyIDd6TTIgNC4yN2wyLjI4IDIuMjguNDYuNDZDMy4wOCA4LjMgMS43OCAxMC4wMiAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjUgMS41NSAwIDMuMDMtLjMgNC4zOC0uODRsLjQyLjQyTDE5LjczIDIyIDIxIDIwLjczIDMuMjcgMyAyIDQuMjd6TTcuNTMgOS44bDEuNTUgMS41NWMtLjA1LjIxLS4wOC40My0uMDguNjUgMCAxLjY2IDEuMzQgMyAzIDMgLjIyIDAgLjQ0LS4wMy42NS0uMDhsMS41NSAxLjU1Yy0uNjcuMzMtMS40MS41My0yLjIuNTMtMi43NiAwLTUtMi4yNC01LTUgMC0uNzkuMi0xLjUzLjUzLTIuMnptNC4zMS0uNzhsMy4xNSAzLjE1LjAyLS4xNmMwLTEuNjYtMS4zNC0zLTMtM2wtLjE3LjAxeiIgLz48L2c+CjxnIGlkPSJ3YXJuaW5nIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJ3YXRjaC1sYXRlciI+PHBhdGggZD0iTTEyIDJDNi41IDIgMiA2LjUgMiAxMnM0LjUgMTAgMTAgMTAgMTAtNC41IDEwLTEwUzE3LjUgMiAxMiAyem00LjIgMTQuMkwxMSAxM1Y3aDEuNXY1LjJsNC41IDIuNy0uOCAxLjN6IiAvPjwvZz4KPGcgaWQ9IndlZWtlbmQiPjxwYXRoIGQ9Ik0yMSAxMGMtMS4xIDAtMiAuOS0yIDJ2M0g1di0zYzAtMS4xLS45LTItMi0ycy0yIC45LTIgMnY1YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJ2LTVjMC0xLjEtLjktMi0yLTJ6bS0zLTVINmMtMS4xIDAtMiAuOS0yIDJ2Mi4xNWMxLjE2LjQxIDIgMS41MSAyIDIuODJWMTRoMTJ2LTIuMDNjMC0xLjMuODQtMi40IDItMi44MlY3YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJ3b3JrIj48cGF0aCBkPSJNMjAgNmgtNFY0YzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS02IDBoLTRWNGg0djJ6IiAvPjwvZz4KPGcgaWQ9InlvdXR1YmUtc2VhcmNoZWQtZm9yIj48cGF0aCBkPSJNMTcuMDEgMTRoLS44bC0uMjctLjI3Yy45OC0xLjE0IDEuNTctMi42MSAxLjU3LTQuMjMgMC0zLjU5LTIuOTEtNi41LTYuNS02LjVzLTYuNSAzLTYuNSA2LjVIMmwzLjg0IDQgNC4xNi00SDYuNTFDNi41MSA3IDguNTMgNSAxMS4wMSA1czQuNSAyLjAxIDQuNSA0LjVjMCAyLjQ4LTIuMDIgNC41LTQuNSA0LjUtLjY1IDAtMS4yNi0uMTQtMS44Mi0uMzhMNy43MSAxNS4xYy45Ny41NyAyLjA5LjkgMy4zLjkgMS42MSAwIDMuMDgtLjU5IDQuMjItMS41N2wuMjcuMjd2Ljc5bDUuMDEgNC45OUwyMiAxOWwtNC45OS01eiIgLz48L2c+CjxnIGlkPSJ6b29tLWluIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiIC8+PC9nPgo8ZyBpZD0iem9vbS1vdXQiPjxwYXRoIGQ9Ik0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0ek03IDloNXYxSDd6IiAvPjwvZz4KPC9kZWZzPjwvc3ZnPgo8L2lyb24taWNvbnNldC1zdmc+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWljb24tYnV0dG9uIj4KICA8dGVtcGxhdGUgc3RyaXAtd2hpdGVzcGFjZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKCiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwoKICAgICAgICAvKiBOT1RFOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZSB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLiAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICAvKiBCZWNhdXNlIG9mIHBvbHltZXIvMjU1OCwgdGhpcyBzdHlsZSBoYXMgbG93ZXIgc3BlY2lmaWNpdHkgdGhhbiAqICovCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pY29uLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QgI2luayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkLXRleHQsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjdXJzb3I6IGF1dG87CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1idXR0b24taG92ZXI7CiAgICAgIH0KCiAgICAgIGlyb24taWNvbiB7CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDEwMCU7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxpcm9uLWljb24gaWQ9Imljb24iIHNyYz0iW1tzcmNdXSIgaWNvbj0iW1tpY29uXV0iIGFsdCQ9IltbYWx0XV0iPjwvaXJvbi1pY29uPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InJ1bi1jb2xvci1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICBbY29sb3ItY2xhc3M9J2xpZ2h0LWJsdWUnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItbGlnaHQtYmx1ZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7CiAgICAgIH0KICAgICAgW2NvbG9yLWNsYXNzPSdyZWQnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2dyZWVuJ10gcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J3B1cnBsZSddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS05MDApOwogICAgICB9CiAgICAgIFtjb2xvci1jbGFzcz0ndGVhbCddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci10ZWFsLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J3BpbmsnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcGluay01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7CiAgICAgIH0KICAgICAgW2NvbG9yLWNsYXNzPSdvcmFuZ2UnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2Jyb3duJ10gcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2luZGlnbyddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby05MDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbXVsdGktY2hlY2tib3giPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJzY3JvbGxiYXItc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icnVuLWNvbG9yLXN0eWxlIj48L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dCBpZD0ibmFtZXMtcmVnZXgiIG5vLWxhYmVsLWZsb2F0IGxhYmVsPSJXcml0ZSBhIHJlZ2V4IHRvIGZpbHRlciBydW5zIiB2YWx1ZT0iW1tyZWdleF1dIiBvbi1iaW5kLXZhbHVlLWNoYW5nZWQ9Il9kZWJvdW5jZWRSZWdleENoYW5nZSI+PC9wYXBlci1pbnB1dD4KICAgIDxkaXYgaWQ9Im91dGVyLWNvbnRhaW5lciIgY2xhc3M9InNjcm9sbGJhciI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbbmFtZXNNYXRjaGluZ1JlZ2V4XV0iIG9uLWRvbS1jaGFuZ2U9InN5bmNocm9uaXplQ29sb3JzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciBjaGVja2JveC1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJjaGVja2JveCB2ZXJ0aWNhbC1hbGlnbi1jZW50ZXIiIGlkJD0iY2hlY2tib3gtW1tpdGVtXV0iIG5hbWU9IltbaXRlbV1dIiBjaGVja2VkJD0iW1tfaXNDaGVja2VkKGl0ZW0sIHNlbGVjdGlvblN0YXRlLiopXV0iIG9uLWNoYW5nZT0iX2NoZWNrYm94Q2hhbmdlIj48L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciBpc29sYXRvci1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIj4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQiIGNsYXNzPSJpc29sYXRvciB2ZXJ0aWNhbC1hbGlnbi1jZW50ZXIiIG9uLXRhcD0iX2lzb2xhdGVOYW1lIiBuYW1lPSJbW2l0ZW1dXSI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1sYWJlbC1jb250YWluZXIiPgogICAgICAgICAgICA8c3Bhbj5bW2l0ZW1dXTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAjb3V0ZXItY29udGFpbmVyIHsKICAgICAgICBjb250YWluOiBjb250ZW50OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAubmFtZS1yb3cgewogICAgICAgIGNvbnRhaW46IGNvbnRlbnQ7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOyAvKiBtYWtlcyB3cmFwcGluZyBvZiBoeXBlcnBhcmFtIHN0cmluZ3MgYmV0dGVyICovCiAgICAgIH0KICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7CiAgICAgIH0KICAgICAgLmNoZWNrYm94IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgLmlzb2xhdG9yIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICB9CiAgICAgIC5pc29sYXRvci1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgfQogICAgICAuY2hlY2tib3gtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgfQogICAgICAuaXRlbS1sYWJlbC1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICB3aWR0aDogMHB4OyAvKiBoYWNrIHRvIGdldCB0aGUgZmxleC1ncm93IHRvIHdvcmsgcHJvcGVybHkgKi8KICAgICAgfQogICAgICAudG9vbHRpcC12YWx1ZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctbGVmdDogMnB4OwogICAgICB9CiAgICAgIC52ZXJ0aWNhbC1hbGlnbi1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tY2VudGVyIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tdG9wIHsKICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXdici1zdHJpbmciPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcGFydHNdXSIgYXM9InBhcnQiPltbcGFydF1dPHdicj48L3RlbXBsYXRlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcnVucy1zZWxlY3RvciI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wIGlkPSJkYXRhLWxvY2F0aW9uLWRpYWxvZyI+CiAgICAgIDxoMj5EYXRhIExvY2F0aW9uPC9oMj4KICAgICAgPHRmLXdici1zdHJpbmcgdmFsdWU9IltbZGF0YUxvY2F0aW9uXV0iIC8+CiAgICA8L3BhcGVyLWRpYWxvZz4KICAgIDxkaXYgaWQ9InRvcC10ZXh0Ij4KICAgICAgPGgzIGlkPSJ0b29sdGlwLWhlbHAiIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+UnVuczwvaDM+CiAgICA8L2Rpdj4KICAgIDx0Zi1tdWx0aS1jaGVja2JveCBpZD0ibXVsdGlDaGVja2JveCIgbmFtZXM9IltbcnVuc11dIiBzZWxlY3Rpb24tc3RhdGU9Int7cnVuU2VsZWN0aW9uU3RhdGV9fSIgb3V0LXNlbGVjdGVkPSJ7e3NlbGVjdGVkUnVuc319IiByZWdleD0ie3tyZWdleElucHV0fX0iIGNvbG9yaW5nPSJbW2NvbG9yaW5nXV0iPjwvdGYtbXVsdGktY2hlY2tib3g+CiAgICA8cGFwZXItYnV0dG9uIGNsYXNzPSJ4LWJ1dHRvbiIgaWQ9InRvZ2dsZS1hbGwiIG9uLXRhcD0iX3RvZ2dsZUFsbCI+CiAgICAgIFRvZ2dsZSBBbGwgUnVucwogICAgPC9wYXBlci1idXR0b24+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZGF0YUxvY2F0aW9uXV0iPgogICAgICA8ZGl2IGlkPSJkYXRhLWxvY2F0aW9uIj4KICAgICAgICA8dGYtd2JyLXN0cmluZyB2YWx1ZT0iW1tfY2xpcHBlZERhdGFMb2NhdGlvbl1dIiAvPjx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2hvdWxkU2hvd0V4cGFuZERhdGFMb2NhdGlvbkJ1dHRvbihkYXRhTG9jYXRpb24sIF9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoKV1dIj48YSBocmVmPSIiIG9uLWNsaWNrPSJfb3BlbkRhdGFMb2NhdGlvbkRpYWxvZyI+4oCmPC9hPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OwogICAgICB9CiAgICAgICN0b3AtdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICB9CiAgICAgIHRmLW11bHRpLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC54LWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgfQogICAgICAjdG9vbHRpcC1oZWxwIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgIH0KICAgICAgcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgfQogICAgICAjZGF0YS1sb2NhdGlvbiB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDA7CiAgICAgICAgbWF4LXdpZHRoOiAyODhweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXNwaW5uZXItc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC8qCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgLyogU1RZTEVTIEZPUiBUSEUgU1BJTk5FUiAqLwogICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKiovCgogICAgICAvKgogICAgICAgKiBDb25zdGFudHM6CiAgICAgICAqICAgICAgQVJDU0laRSAgICAgPSAyNzAgZGVncmVlcyAoYW1vdW50IG9mIGNpcmNsZSB0aGUgYXJjIHRha2VzIHVwKQogICAgICAgKiAgICAgIEFSQ1RJTUUgICAgID0gMTMzM21zICh0aW1lIGl0IHRha2VzIHRvIGV4cGFuZCBhbmQgY29udHJhY3QgYXJjKQogICAgICAgKiAgICAgIEFSQ1NUQVJUUk9UID0gMjE2IGRlZ3JlZXMgKGhvdyBtdWNoIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgYXJjCiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGQgcm90YXRlIGVhY2ggdGltZSwgMjE2IGdpdmVzIHVzIGEKICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUgcG9pbnRlZCBzdGFyIHNoYXBlIChpdCdzIDM2MC81ICogMykuCiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgYSA3IHBvaW50ZWQgc3Rhciwgd2UgbWlnaHQgZG8KICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2MC83ICogMyA9IDE1NC4yODYpCiAgICAgICAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtcwogICAgICAgKi8KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKCiAgICAgICAgLyogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbjogMTU2OG1zOwoKICAgICAgICAvKiBBUkNUSU1FICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWV4cGFuZC1jb250cmFjdC1kdXJhdGlvbjogMTMzM21zOwoKICAgICAgICAvKiA0ICogQVJDVElNRSAqLwogICAgICAgIC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uOiA1MzMybXM7CgogICAgICAgIC8qIFNIUklOS19USU1FICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWNvb2xkb3duLWR1cmF0aW9uOiA0MDBtczsKICAgICAgfQoKICAgICAgI3NwaW5uZXJDb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKCiAgICAgICAgLyogVGhlIHNwaW5uZXIgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudHMgdGhhdCB3b3VsZCBoYXZlIHRvIGJlCiAgICAgICAgICogZmxpcHBlZCBpZiB0aGUgZGlyZWN0aW9uIGNoYW5nZXMuIEFsd2F5cyB1c2UgbHRyIHNvIHRoYXQgdGhlCiAgICAgICAgICogc3R5bGUgd29ya3Mgb3V0IGNvcnJlY3RseSBpbiBib3RoIGNhc2VzLiAqLwogICAgICAgIGRpcmVjdGlvbjogbHRyOwogICAgICB9CgogICAgICAjc3Bpbm5lckNvbnRhaW5lci5hY3RpdmUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHsKICAgICAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH0KICAgICAgfQoKICAgICAgLnNwaW5uZXItbGF5ZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTsKICAgICAgfQoKICAgICAgLmxheWVyLTEgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTEtY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTUwMCkpOwogICAgICB9CgogICAgICAubGF5ZXItMiB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXNwaW5uZXItbGF5ZXItMi1jb2xvciwgdmFyKC0tZ29vZ2xlLXJlZC01MDApKTsKICAgICAgfQoKICAgICAgLmxheWVyLTMgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTMtY29sb3IsIHZhcigtLWdvb2dsZS15ZWxsb3ctNTAwKSk7CiAgICAgIH0KCiAgICAgIC5sYXllci00IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci00LWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JlZW4tNTAwKSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBJTVBPUlRBTlQgTk9URSBBQk9VVCBDU1MgQU5JTUFUSU9OIFBST1BFUlRJRVMgKGtlYW51bGVlKToKICAgICAgICoKICAgICAgICogaU9TIFNhZmFyaSAodGVzdGVkIG9uIGlPUyA4LjEpIGRvZXMgbm90IGhhbmRsZSBhbmltYXRpb24tZGVsYXkgdmVyeSB3ZWxsIC0gaXQgZG9lc24ndAogICAgICAgKiBndWFyYW50ZWUgdGhhdCB0aGUgYW5pbWF0aW9uIHdpbGwgc3RhcnQgX2V4YWN0bHlfIGFmdGVyIHRoYXQgdmFsdWUuIFNvIHdlIGF2b2lkIHVzaW5nCiAgICAgICAqIGFuaW1hdGlvbi1kZWxheSBhbmQgaW5zdGVhZCBzZXQgY3VzdG9tIGtleWZyYW1lcyBmb3IgZWFjaCBjb2xvciAoYXMgbGF5ZXItMnVuZGFudCBhcyBpdAogICAgICAgKiBzZWVtcykuCiAgICAgICAqLwogICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGU7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZnVsbC1jeWNsZS1kdXJhdGlvbik7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0xIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTEtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMS1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0yIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMi1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0zIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTMtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci00IHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTQtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItNC1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7CiAgICAgICAgMTIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovCiAgICAgICAgMjUlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZykgfSAvKiAxICAgKiBBUkNTSVpFICovCiAgICAgICAgMzcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQwNWRlZykgfSAvKiAxLjUgKiBBUkNTSVpFICovCiAgICAgICAgNTAlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovCiAgICAgICAgNjIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDY3NWRlZykgfSAvKiAyLjUgKiBBUkNTSVpFICovCiAgICAgICAgNzUlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgxMGRlZykgfSAvKiAzICAgKiBBUkNTSVpFICovCiAgICAgICAgODcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovCiAgICAgICAgdG8gICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwODBkZWcpIH0gLyogNCAgICogQVJDU0laRSAqLwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7CiAgICAgICAgMTIuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIH0gLyogMC41ICogQVJDU0laRSAqLwogICAgICAgIDI1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB9IC8qIDEgICAqIEFSQ1NJWkUgKi8KICAgICAgICAzNy41JSB7IHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZykgfSAvKiAxLjUgKiBBUkNTSVpFICovCiAgICAgICAgNTAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1NDBkZWcpIH0gLyogMiAgICogQVJDU0laRSAqLwogICAgICAgIDYyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKSB9IC8qIDIuNSAqIEFSQ1NJWkUgKi8KICAgICAgICA3NSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDgxMGRlZykgfSAvKiAzICAgKiBBUkNTSVpFICovCiAgICAgICAgODcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5NDVkZWcpIH0gLyogMy41ICogQVJDU0laRSAqLwogICAgICAgIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZykgfSAvKiA0ICAgKiBBUkNTSVpFICovCiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci0xLWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDI1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDI2JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDg5JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItMS1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICAyNiUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA4OSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDEgfQogICAgICB9CgogICAgICBALXdlYmtpdC1rZXlmcmFtZXMgbGF5ZXItMi1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH0KICAgICAgICAxNSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA1MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA1MSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGxheWVyLTItZmFkZS1pbi1vdXQgewogICAgICAgIDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgMTUlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNTElIHsgb3BhY2l0eTogMCB9CiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxheWVyLTMtZmFkZS1pbi1vdXQgewogICAgICAgIDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgNDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNzUlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNzYlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBsYXllci0zLWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDQwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDc2JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDY1JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItNC1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA2NSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA3NSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICAuY2lyY2xlLWNsaXBwZXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhdGNoIHRoZSBnYXAgdGhhdCBhcHBlYXIgYmV0d2VlbiB0aGUgdHdvIGFkamFjZW50IGRpdi5jaXJjbGUtY2xpcHBlciB3aGlsZSB0aGUKICAgICAgICogc3Bpbm5lciBpcyByb3RhdGluZyAoYXBwZWFycyBvbiBDaHJvbWUgNTAsIFNhZmFyaSA5LjEuMSwgYW5kIEVkZ2UpLgogICAgICAgKi8KICAgICAgLnNwaW5uZXItbGF5ZXI6OmFmdGVyIHsKICAgICAgICBsZWZ0OiA0NSU7CiAgICAgICAgd2lkdGg6IDEwJTsKICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsKICAgICAgfQoKICAgICAgLnNwaW5uZXItbGF5ZXI6OmFmdGVyLAogICAgICAuY2lyY2xlLWNsaXBwZXI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wYXBlci1zcGlubmVyLXN0cm9rZS13aWR0aCwgM3B4KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlcjo6YWZ0ZXIgewogICAgICAgIGJvdHRvbTogMDsKICAgICAgICB3aWR0aDogMjAwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlci5sZWZ0OjphZnRlciB7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyOWRlZyk7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlci5yaWdodDo6YWZ0ZXIgewogICAgICAgIGxlZnQ6IC0xMDAlOwogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7CiAgICAgIH0KCiAgICAgIC5hY3RpdmUgLmdhcC1wYXRjaDo6YWZ0ZXIsCiAgICAgIC5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyOjphZnRlciB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZXhwYW5kLWNvbnRyYWN0LWR1cmF0aW9uKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb24pOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuY2lyY2xlLWNsaXBwZXIubGVmdDo6YWZ0ZXIgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxlZnQtc3BpbjsKICAgICAgICBhbmltYXRpb24tbmFtZTogbGVmdC1zcGluOwogICAgICB9CgogICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlci5yaWdodDo6YWZ0ZXIgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJpZ2h0LXNwaW47CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJpZ2h0LXNwaW47CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsZWZ0LXNwaW4gewogICAgICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH0KICAgICAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSB9CiAgICAgICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZykgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGxlZnQtc3BpbiB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH0KICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKSB9CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyByaWdodC1zcGluIHsKICAgICAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfQogICAgICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgfQogICAgICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcmlnaHQtc3BpbiB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9CiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfQogICAgICB9CgogICAgICAjc3Bpbm5lckNvbnRhaW5lci5jb29sZG93biB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpOwogICAgICAgIGFuaW1hdGlvbjogY29udGFpbmVyLXJvdGF0ZSB2YXIoLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbikgbGluZWFyIGluZmluaXRlLCBmYWRlLW91dCB2YXIoLS1wYXBlci1zcGlubmVyLWNvb2xkb3duLWR1cmF0aW9uKSBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1zcGlubmVyLWxpdGUiPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLXNwaW5uZXItc3R5bGVzIj48L3N0eWxlPgoKICAgIDxkaXYgaWQ9InNwaW5uZXJDb250YWluZXIiIGNsYXNzLW5hbWU9IltbX19jb21wdXRlQ29udGFpbmVyQ2xhc3NlcyhhY3RpdmUsIF9fY29vbGluZ0Rvd24pXV0iIG9uLWFuaW1hdGlvbmVuZD0iX19yZXNldCIgb24td2Via2l0LWFuaW1hdGlvbi1lbmQ9Il9fcmVzZXQiPgogICAgICA8ZGl2IGNsYXNzPSJzcGlubmVyLWxheWVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciByaWdodCI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGxvdHRhYmxlLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+Ci5wbG90dGFibGUtY29sb3JzLTAgewogIGJhY2tncm91bmQtY29sb3I6ICM1Mjc5Yzc7IC8qIElORElHTyAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy0xIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQzNzNlOyAvKiBDT1JBTF9SRUQgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzYzYzI2MTsgLyogRkVSTiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkNDE5OyAvKiBCUklHSFRfU1VOICovCn0KCi5wbG90dGFibGUtY29sb3JzLTQgewogIGJhY2tncm91bmQtY29sb3I6ICMyYzJiNmY7IC8qIEpBQ0FSVEEgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzkzOTsgLyogQlVSTklOR19PUkFOR0UgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMmU2NTsgLyogQ0VSSVNFX1JFRCAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy03IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTljZTUwOyAvKiBDT05JRkVSICovCn0KCi5wbG90dGFibGUtY29sb3JzLTggewogIGJhY2tncm91bmQtY29sb3I6ICM5NjI1NjU7IC8qIFJPWUFMX0hFQVRIICovCn0KCi5wbG90dGFibGUtY29sb3JzLTkgewogIGJhY2tncm91bmQtY29sb3I6ICMwNmNjY2M7IC8qIFJPQklOU19FR0dfQkxVRSAqLwp9CgovKioKICogVXNlci1zdXBwbGllZCByZW5kZXJUbyBlbGVtZW50LgogKi8KLnBsb3R0YWJsZSB7CiAgZGlzcGxheTogYmxvY2s7IC8qIG11c3QgYmUgYmxvY2sgZWxlbWVudHMgZm9yIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgdG8gd29yayBpbiBGaXJlZm94LiAqLwogIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlRmlsbDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyoqCiAgICogUHJlIDMuMCwgdXNlcnMgY291bGQgc2V0IHRoZSBkaW1lbnNpb24gb2YgdGhlIHJvb3QgZWxlbWVudCBpbiB0d28gd2F5czogZWl0aGVyIHVzaW5nIENTUwogICAqIChpbmxpbmUgb3IgdGhyb3VnaCBhIHN0eWxlc2hlZXQpLCBvciB1c2luZyB0aGUgU1ZHIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzLiBCeSBkZWZhdWx0LCB3ZQogICAqIHNldCB0aGUgU1ZHIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIHRvIDEwMCUuCiAgICoKICAgKiBQb3N0IDMuMCB0aGUgcm9vdCBlbGVtZW50IGlzIGFsd2F5cyBhIG5vcm1hbCBkaXYgYW5kIHRoZSBvbmx5IHdheSB0byBzZXQgdGhlIGRpbWVuc2lvbnMgaXMKICAgKiB0byB1c2UgQ1NTLiBUbyByZXBsaWNhdGUgdGhlICIxMDAlLWJ5LWRlZmF1bHQiIGJlaGF2aW9yLCB3ZSBhcHBseSB3aWR0aC9oZWlnaHQgMTAwJS4KICAgKi8KICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7Cn0KCi8qKgogKiBUaGUgX2VsZW1lbnQgdGhhdCByb290cyBlYWNoIENvbXBvbmVudCdzIERPTS4KICovCi5wbG90dGFibGUgLmNvbXBvbmVudCB7CiAgLyogQWxsb3cgY29tcG9uZW50cyB0byBiZSBwb3NpdGlvbmVkIHdpdGggZXhwbGljaXQgbGVmdC90b3Avd2lkdGgvaGVpZ2h0IHN0eWxlcyAqLwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLnBsb3R0YWJsZSAuYmFja2dyb3VuZC1jb250YWluZXIsCi5wbG90dGFibGUgLmNvbnRlbnQsCi5wbG90dGFibGUgLmZvcmVncm91bmQtY29udGFpbmVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9CgovKioKICogRG9uJ3QgYWxsb3cgc3ZnIGVsZW1lbnRzIGFib3ZlIHRoZSBjb250ZW50IHRvIHN0ZWFsIGV2ZW50cwogKi8KLnBsb3R0YWJsZSAuZm9yZWdyb3VuZC1jb250YWluZXIgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSB7CiAgb3ZlcmZsb3c6IHZpc2libGU7Cn0KCi5wbG90dGFibGUgLnBsb3QtY2FudmFzLWNvbnRhaW5lciB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5wbG90dGFibGUgLnBsb3QtY2FudmFzIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgLyoqCiAgICogUGxheSB3ZWxsIHdpdGggZGVmZXJyZWQgcmVuZGVyaW5nLgogICAqLwogIHRyYW5zZm9ybS1vcmlnaW46IDBweCAwcHggMHB4Owp9CgoucGxvdHRhYmxlIHRleHQgewogIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247Cn0KCi5wbG90dGFibGUgLmxhYmVsIHRleHQgewogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZpbGw6ICMzMjMxM0Y7Cn0KCi5wbG90dGFibGUgLmJhci1sYWJlbC10ZXh0LWFyZWEgdGV4dCB7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4Owp9CgoucGxvdHRhYmxlIC5sYWJlbC1hcmVhIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxNHB4Owp9CgoucGxvdHRhYmxlIC5saWdodC1sYWJlbCB0ZXh0IHsKICBmaWxsOiB3aGl0ZTsKfQoKLnBsb3R0YWJsZSAuZGFyay1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5vZmYtYmFyLWxhYmVsIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7Cn0KCi5wbG90dGFibGUgLnN0YWNrZWQtYmFyLWxhYmVsIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1zdHlsZTogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5zdGFja2VkLWJhci1wbG90IC5vZmYtYmFyLWxhYmVsIHsKICAvKiBIQUNLSEFDSyAjMjc5NTogY29ycmVjdCBvZmYtYmFyIGxhYmVsIGxvZ2ljIHRvIGJlIGltcGxlbWVudGVkIG9uIFN0YWNrZWRCYXIgKi8KICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKfQoKLnBsb3R0YWJsZSAuYXhpcy1sYWJlbCB0ZXh0IHsKICBmb250LXNpemU6IDEwcHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wbG90dGFibGUgLnRpdGxlLWxhYmVsIHRleHQgewogIGZvbnQtc2l6ZTogMjBweDsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnBsb3R0YWJsZSAuYXhpcyBsaW5lLmJhc2VsaW5lIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmF4aXMgbGluZS50aWNrLW1hcmsgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuYXhpcyB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogMjAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tY2lyY2xlIHsKICBmaWxsOiB3aGl0ZTsKICBzdHJva2Utd2lkdGg6IDFweDsKICBzdHJva2U6ICNDQ0M7Cn0KCi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tbGluZSB7CiAgc3Ryb2tlOiAjQ0NDOwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLXJlY3QgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKICBmaWxsOiB3aGl0ZTsKfQoKLnBsb3R0YWJsZSAuYmFyLXBsb3QgLmJhc2VsaW5lIHsKICBzdHJva2U6ICM5OTk7Cn0KCi5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHsKICBzdHJva2U6ICMzQzNDM0M7IC8qIGhhY2toYWNrOiBncmlkbGluZXMgc2hvdWxkIGJlIHNvbGlkOyBzZWUgIzgyMCAqLwogIG9wYWNpdHk6IDAuMjU7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLnNlbGVjdGlvbi1ib3gtbGF5ZXIgLnNlbGVjdGlvbi1hcmVhIHsKICBmaWxsOiBibGFjazsKICBmaWxsLW9wYWNpdHk6IDAuMDM7CiAgc3Ryb2tlOiAjQ0NDOwp9Ci8qIERyYWdCb3hMYXllciAqLwoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZSAuZHJhZy1lZGdlLWxyIHsKICBjdXJzb3I6IGV3LXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci55LXJlc2l6YWJsZSAuZHJhZy1lZGdlLXRiIHsKICBjdXJzb3I6IG5zLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLXRsIHsKICBjdXJzb3I6IG53c2UtcmVzaXplOwp9Ci5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10ciB7CiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItYmwgewogIGN1cnNvcjogbmVzdy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJyIHsKICBjdXJzb3I6IG53c2UtcmVzaXplOwp9CgoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci5tb3ZhYmxlIC5zZWxlY3Rpb24tYXJlYSB7CiAgY3Vyc29yOiBtb3ZlOyAvKiBJRSBmYWxsYmFjayAqLwogIGN1cnNvcjogLW1vei1ncmFiOwogIGN1cnNvcjogLXdlYmtpdC1ncmFiOwogIGN1cnNvcjogZ3JhYjsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWE6YWN0aXZlIHsKICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7CiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nOwogIGN1cnNvcjogZ3JhYmJpbmc7Cn0KLyogL0RyYWdCb3hMYXllciAqLwoKLnBsb3R0YWJsZSAuZ3VpZGUtbGluZS1sYXllciBsaW5lLmd1aWRlLWxpbmUgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQudmVydGljYWwgbGluZS5kcmFnLWVkZ2UgewogIGN1cnNvcjogZXctcmVzaXplOwp9CgoucGxvdHRhYmxlIC5kcmFnLWxpbmUtbGF5ZXIuZW5hYmxlZC5ob3Jpem9udGFsIGxpbmUuZHJhZy1lZGdlIHsKICBjdXJzb3I6IG5zLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAubGVnZW5kIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi5wbG90dGFibGUgLmludGVycG9sYXRlZC1jb2xvci1sZWdlbmQgcmVjdC5zd2F0Y2gtYm91bmRpbmctYm94IHsKICBmaWxsOiBub25lOwogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnBsb3R0YWJsZSAud2F0ZXJmYWxsLXBsb3QgbGluZS5jb25uZWN0b3IgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAucGllLXBsb3QgLmFyYy5vdXRsaW5lIHsKICBzdHJva2UtbGluZWpvaW46IHJvdW5kOwp9Cjwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1jaGFydC10b29sdGlwIj4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1wYW4tem9vbS1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuaGVscCB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtb3V0OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAuaGVscCA+IHNwYW4gewogICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZS1vdXQgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQoKICAgICAgICAxMDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idnotbGluZS1jaGFydDIiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9ImNoYXJ0ZGl2Ij48L2Rpdj4KICAgIDx2ei1jaGFydC10b29sdGlwIGlkPSJ0b29sdGlwIiBwb3NpdGlvbj0iW1t0b29sdGlwUG9zaXRpb25dXSIgY29udGVudC1jb21wb25lbnQtbmFtZT0idnotbGluZS1jaGFydC10b29sdGlwIj48L3Z6LWNoYXJ0LXRvb2x0aXA+CiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZ6LXBhbi16b29tLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgICBkaXYgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgICNjaGFydGRpdiAubWFpbiB7CiAgICAgICAgY29udGFpbjogc3RyaWN0OwogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICA6aG9zdCgucGFua2V5KSAjY2hhcnRkaXYgOm5vdCguZHJhZy16b29taW5nKSAubWFpbiB7CiAgICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7CiAgICAgICAgY3Vyc29yOiBncmFiOwogICAgICB9CgogICAgICA6aG9zdCgubW91c2Vkb3duKSAjY2hhcnRkaXYgLnBhbm5pbmcgLm1haW4gewogICAgICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAjY2hhcnRkaXYgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgfQoKICAgICAgI2NoYXJ0ZGl2IGxpbmUuZ3VpZGUtbGluZSB7CiAgICAgICAgc3Ryb2tlOiAjOTk5OwogICAgICAgIHN0cm9rZS13aWR0aDogMS41cHg7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2OmhvdmVyIC5tYWluIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAogIAogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgIDx0YWJsZT4KICAgICAgICA8dGhlYWQ+PC90aGVhZD4KICAgICAgICA8dGJvZHk+PC90Ym9keT4KICAgICAgPC90YWJsZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIHRhYmxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICB0aGVhZCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICB0Ym9keSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiAwIDVweDsKICAgICAgfQoKICAgICAgLnN3YXRjaCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgfQoKICAgICAgLmNsb3Nlc3QgLnN3YXRjaCB7CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNmZmY7CiAgICAgIH0KCiAgICAgIHRoIHsKICAgICAgICBwYWRkaW5nOiAwIDVweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICAuZGlzdGFudCB0ZDpub3QoLnN3YXRjaCkgewogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLmdob3N0IHsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjaGFydC1hbmQtc3Bpbm5lci1jb250YWluZXIiPgogICAgICA8dnotbGluZS1jaGFydDIgaWQ9ImNoYXJ0IiBkYXRhLWxvYWRpbmckPSJbW2RhdGFMb2FkaW5nXV0iIGNvbG9yLXNjYWxlPSJbW2NvbG9yU2NhbGVdXSIgZGVmYXVsdC14LXJhbmdlPSJbW2RlZmF1bHRYUmFuZ2VdXSIgZGVmYXVsdC15LXJhbmdlPSJbW2RlZmF1bHRZUmFuZ2VdXSIgZmlsbC1hcmVhPSJbW2ZpbGxBcmVhXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBvbi1jaGFydC1hdHRhY2hlZD0iX29uQ2hhcnRBdHRhY2hlZCIgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIiBzeW1ib2wtZnVuY3Rpb249Iltbc3ltYm9sRnVuY3Rpb25dXSIgdG9vbHRpcC1jb2x1bW5zPSJbW3Rvb2x0aXBDb2x1bW5zXV0iIHRvb2x0aXAtcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIgeC1jb21wb25lbnRzLWNyZWF0aW9uLW1ldGhvZD0iW1t4Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIiB5LXZhbHVlLWFjY2Vzc29yPSJbW3lWYWx1ZUFjY2Vzc29yXV0iPjwvdnotbGluZS1jaGFydDI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tkYXRhTG9hZGluZ11dIj4KICAgICAgICA8ZGl2IGlkPSJsb2FkaW5nLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgICAgIDxwYXBlci1zcGlubmVyLWxpdGUgYWN0aXZlPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdChbX21heWJlLXJlbmRlcmVkLWluLWJhZC1zdGF0ZV0pIHZ6LWxpbmUtY2hhcnQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgI2NoYXJ0LWFuZC1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjbG9hZGluZy1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDJbZGF0YS1sb2FkaW5nXSB7CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nLXNjcm9sbGFibGUiPgoKICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCguaXMtc2Nyb2xsZWQ6bm90KDpmaXJzdC1jaGlsZCkpOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNhbi1zY3JvbGw6bm90KC5zY3JvbGxlZC10by1ib3R0b20pOm5vdCg6bGFzdC1jaGlsZCkpOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRpdmlkZXItY29sb3IpOwogICAgICB9CgogICAgICAuc2Nyb2xsYWJsZSB7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwoKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtc2Nyb2xsOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy1zY3JvbGxhYmxlOwogICAgICB9CgogICAgICAuZml0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InNjcm9sbGFibGUiIGNsYXNzPSJzY3JvbGxhYmxlIiBvbi1zY3JvbGw9InVwZGF0ZVNjcm9sbFN0YXRlIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbWFya2Rvd24tdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFya2Rvd24iIGlubmVyLWgtdC1tLWw9IltbaHRtbF1dIj48L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLyoKICAgICAgICogUmVkdWNlIHRvcG1vc3QgYW5kIGJvdHRvbW1vc3QgbWFyZ2lucyBmcm9tIDE2cHggdG8gMC4zZW0gKHJlbmRlcnMKICAgICAgICogYXQgYWJvdXQgNC44cHgpIHRvIGtlZXAgdGhlIGxheW91dCBjb21wYWN0LiBUaGlzIGltcHJvdmVzIHRoZQogICAgICAgKiBhcHBlYXJhbmNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgbGluZSBvZiB0ZXh0OyBzdGFuZGFyZCBNYXJrZG93bgogICAgICAgKiByZW5kZXJlcnMgd2lsbCBzdGlsbCBpbmNsdWRlIGEgYDxwPmAgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQnkgdGFyZ2V0aW5nIG9ubHkgdGhlIHRvcC1sZXZlbCwgZXh0cmVtYWwgZWxlbWVudHMsIHdlIHByZXNlcnZlIGFueQogICAgICAgKiBhY3R1YWwgcGFyYWdyYXBoIGJyZWFrcyBhbmQgb25seSBjaGFuZ2UgdGhlIHBhZGRpbmcgYWdhaW5zdCB0aGUKICAgICAgICogY29tcG9uZW50IGVkZ2VzLgogICAgICAgKi8KICAgICAgI21hcmtkb3duID4gcDpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMC4zZW07CiAgICAgIH0KICAgICAgI21hcmtkb3duID4gcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTsKICAgICAgfQoKICAgICAgLyogUGxlYXNhbnQgc3R5bGVzIGZvciBNYXJrZG93biB0YWJsZXMuICovCiAgICAgICNtYXJrZG93biB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdGggewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgI21hcmtkb3duIHRhYmxlIHRoLAogICAgICAjbWFya2Rvd24gdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUyZTU7CiAgICAgIH0KICAgICAgI21hcmtkb3duIHRhYmxlIHRyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzZjYmQxOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIGZpZ2NhcHRpb24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiogSG9yaXpvbnRhbCBsaW5lIG9mIGxhYmVscy4gKi8KICAgICAgLmhlYWRpbmctcm93IHsKICAgICAgICBtYXJnaW4tdG9wOiAtNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KCiAgICAgIC8qKiBQaWVjZSBvZiB0ZXh0IGluIHRoZSBmaWd1cmUgY2FwdGlvbi4gKi8KICAgICAgLmhlYWRpbmctbGFiZWwgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLyoqIE1ha2VzIGxhYmVsIHNob3cgb24gdGhlIHJpZ2h0LiAqLwogICAgICAuaGVhZGluZy1yaWdodCB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY2FyZC1oZWFkaW5nIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZmlnY2FwdGlvbiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19uYW1lTGFiZWxdXSI+CiAgICAgICAgICAgIDxkaXYgaXRlbXByb3A9Im5hbWUiIGNsYXNzPSJoZWFkaW5nLWxhYmVsIG5hbWUiPgogICAgICAgICAgICAgIFtbX25hbWVMYWJlbF1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tydW5dXSI+CiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9InJ1biIgaWQ9ImhlYWRpbmctcnVuIiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0IHJ1biI+W1tydW5dXTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0xhYmVsXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgICB0YWc6IDxzcGFuIGl0ZW1wcm9wPSJ0YWciPltbX3RhZ0xhYmVsXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZmlnY2FwdGlvbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2Rlc2NyaXB0aW9uXV0iPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJpbmZvIiBvbi10YXA9Il90b2dnbGVEZXNjcmlwdGlvbkRpYWxvZyIgdGl0bGU9IlNob3cgc3VtbWFyeSBkZXNjcmlwdGlvbiI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHBhcGVyLWRpYWxvZyBpZD0iZGVzY3JpcHRpb25EaWFsb2ciIG5vLW92ZXJsYXAgaG9yaXpvbnRhbC1hbGlnbj0iYXV0byIgdmVydGljYWwtYWxpZ249ImF1dG8iPgogICAgICAgIDxwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZT4KICAgICAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbZGVzY3JpcHRpb25dXSI+PC90Zi1tYXJrZG93bi12aWV3PgogICAgICAgIDwvcGFwZXItZGlhbG9nLXNjcm9sbGFibGU+CiAgICAgIDwvcGFwZXItZGlhbG9nPgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAubmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIC5ydW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgcGFkZGluZzogMXB4IDRweCAycHg7CiAgICAgIH0KICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgfQogICAgICBwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSB7CiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsKICAgICAgfQogICAgICAjaGVhZGluZy1ydW4gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRmLWNhcmQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBjb2xvcjogdmFyKC0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRvd25sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0icnVuIHRvIGRvd25sb2FkIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19ydW59fSI+CiAgICAgIDxwYXBlci1saXN0Ym94IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbcnVuc11dIj4KICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5bW2l0ZW1dXTwvcGFwZXItaXRlbT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3J1bl1dIj4KICAgICAgPGEgZG93bmxvYWQ9IltbX2Nzdk5hbWUodGFnLCBfcnVuKV1dIiBocmVmPSJbW19jc3ZVcmwodGFnLCBfcnVuLCB1cmxGbildXSI+Q1NWPC9hPjxhIGRvd25sb2FkPSJbW19qc29uTmFtZSh0YWcsIF9ydW4pXV0iIGhyZWY9IltbX2pzb25VcmwodGFnLCBfcnVuLCB1cmxGbildXSI+SlNPTjwvYT4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQogICAgICBhIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luOiAwIDAuMmVtOwogICAgICB9CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1zY2FsYXItY2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBjb2xvci1zY2FsZT0iW1tfZ2V0Q29sb3JTY2FsZShjb2xvclNjYWxlKV1dIiBkYXRhLXNlcmllcz0iW1tfZ2V0RGF0YVNlcmllcyhkYXRhVG9Mb2FkLiopXV0iIGRhdGEtdG8tbG9hZD0iW1tkYXRhVG9Mb2FkXV0iIGdldC1kYXRhLWxvYWQtbmFtZT0iW1tfZ2V0RGF0YUxvYWROYW1lXV0iIGdldC1kYXRhLWxvYWQtdXJsPSJbW2dldERhdGFMb2FkVXJsXV0iIHJlcXVlc3QtZGF0YT0iW1tyZXF1ZXN0RGF0YV1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tpZ25vcmVZT3V0bGllcnNdXSIgbG9hZC1kYXRhLWNhbGxiYWNrPSJbW19sb2FkRGF0YUNhbGxiYWNrXV0iIGxvYWQta2V5PSJbW3RhZ11dIiBsb2ctc2NhbGUtYWN0aXZlPSJbW19sb2dTY2FsZUFjdGl2ZV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbcmVxdWVzdE1hbmFnZXJdXSIgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIiB0YWctbWV0YWRhdGE9IltbdGFnTWV0YWRhdGFdXSIgdG9vbHRpcC1jb2x1bW5zPSJbW190b29sdGlwQ29sdW1uc11dIiB0b29sdGlwLXBvc2l0aW9uPSJhdXRvIiB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIj4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGljb249ImxpbmUtd2VpZ2h0IiBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPHBhcGVyLW1lbnUtYnV0dG9uIG9uLXBhcGVyLWRyb3Bkb3duLW9wZW49Il91cGRhdGVEb3dubG9hZExpbmsiPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGNsYXNzPSJkcm9wZG93bi10cmlnZ2VyIiBzbG90PSJkcm9wZG93bi10cmlnZ2VyIiBpY29uPSJmaWxlLWRvd25sb2FkIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3ggY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgICA8cGFwZXItaXRlbT4KICAgICAgICAgICAgICA8YSBpZD0ic3ZnTGluayIgZG93bmxvYWQ9IltbdGFnXV0uc3ZnIj4KICAgICAgICAgICAgICAgIERvd25sb2FkIEN1cnJlbnQgQ2hhcnQgYXMgU1ZHCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgPC9wYXBlci1tZW51LWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHNwYW4gc3R5bGU9ImZsZXgtZ3JvdzogMSI+PC9zcGFuPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZG93bmxvYWQtbGlua3MiPgogICAgICAgICAgPHRmLWRvd25sb2FkZXIgcnVucz0iW1tfcnVuc0Zyb21EYXRhKGRhdGFUb0xvYWQpXV0iIHRhZz0iW1t0YWddXSIgdXJsLWZuPSJbW19kb3dubG9hZFVybEZuXV0iPjwvdGYtZG93bmxvYWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgI2J1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgYSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBtYXJnaW46IDJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgcGFwZXItaXRlbSBhIHsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXByb2dyZXNzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSwgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1wcm9ncmVzcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC8qIHRoZSBzdHJpcGUgZm9yIHRoZSBpbmRldGVybWluYXRlIGFuaW1hdGlvbiovCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQsIDRweCk7CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgICNzZWNvbmRhcnlQcm9ncmVzcywKICAgICAgLmluZGV0ZXJtaW5hdGU6OmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JleS0zMDApKTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRyYW5zaXRpbmcpICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgIDpob3N0KC50cmFuc2l0aW5nKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwoKICAgICAgICAvKiBEdXJhdGlvbiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4wOHMpOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXByb2dyZXNzLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMDhzKTsKCiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGVhc2UpOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgZWFzZSk7CgogICAgICAgIC8qIERlbGF5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLWRlbGF5LCAwcyk7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kZWxheSwgMHMpOwogICAgICB9CgogICAgICAjcHJpbWFyeVByb2dyZXNzLAogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpOwogICAgICB9CgogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTEwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcHJpbWFyeVByb2dyZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ncmV5LTUwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZXktMzAwKSk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpub3QoW2Rpc2FibGVkXSkpICNwcmltYXJ5UHJvZ3Jlc3MuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLWJhciB2YXIoLS1wYXBlci1wcm9ncmVzcy1pbmRldGVybWluYXRlLWN5Y2xlLWR1cmF0aW9uLCAycykgbGluZWFyIGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZS1iYXIgdmFyKC0tcGFwZXItcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1jeWNsZS1kdXJhdGlvbiwgMnMpIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdChbZGlzYWJsZWRdKSkgI3ByaW1hcnlQcm9ncmVzcy5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CgogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICAgIDc1JSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI4LC42MiwuMzcsLjkxKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKDAlKTsKICAgICAgICB9CiAgICAgICAgNzUlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yOCwuNjIsLjM3LC45MSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgtMTI1JSk7CiAgICAgICAgfQogICAgICAgIDMwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoLTEyNSUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgxMjUlKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoMTI1JSk7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InByb2dyZXNzQ29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5UHJvZ3Jlc3MiIGhpZGRlbiQ9IltbX2hpZGVTZWNvbmRhcnlQcm9ncmVzcyhzZWNvbmRhcnlSYXRpbyldXSI+PC9kaXY+CiAgICAgIDxkaXYgaWQ9InByaW1hcnlQcm9ncmVzcyI+PC9kaXY+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXNsaWRlciI+CiAgPHRlbXBsYXRlIHN0cmlwLXdoaXRlc3BhY2U+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1hY3RpdmUtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICAgIC0tcGFwZXItcHJvZ3Jlc3Mtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS0zMDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLWFjdGl2ZS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLWFjdGl2ZS1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodDogdmFyKC0tcGFwZXItc2xpZGVyLWhlaWdodCwgMnB4KTsKICAgICAgfQoKICAgICAgLyogZm9jdXMgc2hvd3MgdGhlIHJpcHBsZSAqLwogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAvKioKICAgICAgICogTk9URShrZWFudWxlZSk6IFRob3VnaCA6aG9zdC1jb250ZXh0IGlzIG5vdCB1bml2ZXJzYWxseSBzdXBwb3J0ZWQsIHNvbWUgcGFnZXMKICAgICAgICogc3RpbGwgcmVseSBvbiBwYXBlci1zbGlkZXIgYmVpbmcgZmxpcHBlZCB3aGVuIGRpcj0icnRsIiBpcyBzZXQgb24gYm9keS4gRm9yIGZ1bGwKICAgICAgICogY29tcGF0YWJpbGl0eSwgZGlyPSJydGwiIG11c3QgYmUgZXhwbGljaXRseSBzZXQgb24gcGFwZXItc2xpZGVyLgogICAgICAgKi8KICAgICAgOmRpcihydGwpICNzbGlkZXJDb250YWluZXIgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE5PVEUoa2VhbnVsZWUpOiBUaGlzIGlzIHNlcGFyYXRlIGZyb20gdGhlIHJ1bGUgYWJvdmUgYmVjYXVzZSA6aG9zdC1jb250ZXh0IG1heQogICAgICAgKiBub3QgYmUgcmVjb2duaXplZC4KICAgICAgICovCiAgICAgIDpob3N0KFtkaXI9InJ0bCJdKSAjc2xpZGVyQ29udGFpbmVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBOT1RFKGtlYW51bGVlKTogTmVlZGVkIHRvIG92ZXJyaWRlIHRoZSA6aG9zdC1jb250ZXh0IHJ1bGUgKHdoZXJlIHN1cHBvcnRlZCkKICAgICAgICogdG8gc3VwcG9ydCBMVFIgc2xpZGVycyBpbiBSVEwgcGFnZXMuCiAgICAgICAqLwogICAgICA6aG9zdChbZGlyPSJsdHIiXSkgI3NsaWRlckNvbnRhaW5lciB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgfQoKICAgICAgI3NsaWRlckNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogY2FsYygzMHB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDE1cHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgICB9CgogICAgICAjc2xpZGVyQ29udGFpbmVyOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiAwOwogICAgICB9CgogICAgICAjc2xpZGVyQ29udGFpbmVyLmVkaXRhYmxlIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5iYXItY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5yaW5nID4gLmJhci1jb250YWluZXIgewogICAgICAgIGxlZnQ6IGNhbGMoNXB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMThzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yaW5nLmV4cGFuZC5kcmFnZ2luZyA+IC5iYXItY29udGFpbmVyIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAucmluZy5leHBhbmQ6bm90KC5waW4pID4gLmJhci1jb250YWluZXIgewogICAgICAgIGxlZnQ6IGNhbGMoOHB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgICAgfQoKICAgICAgI3NsaWRlckJhciB7CiAgICAgICAgcGFkZGluZzogMTVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1iYXItY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWNvbnRhaW5lci1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWNvbnRhaW5lci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KTsKICAgICAgfQoKICAgICAgLnNsaWRlci1tYXJrZXJzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiBjYWxjKDE0cHggKyB2YXIoLS1wYXBlci1zbGlkZXItaGVpZ2h0LDJweCkvMik7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IC0xcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgfQoKICAgICAgLnNsaWRlci1tYXJrZXIgewogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CiAgICAgIC5zbGlkZXItbWFya2Vyczo6YWZ0ZXIsCiAgICAgIC5zbGlkZXItbWFya2VyOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yLCAjMDAwKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTE1cHggLSB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgICAgIHdpZHRoOiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgICBoZWlnaHQ6IGNhbGMoMzBweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkpOwogICAgICB9CgogICAgICAudHJhbnNpdGluZyA+IC5zbGlkZXIta25vYiB7CiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjA4cyBlYXNlOwogICAgICB9CgogICAgICAuc2xpZGVyLWtub2I6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zbGlkZXIta25vYi5kcmFnZ2luZyB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnNuYXBzID4gLnNsaWRlci1rbm9iLmRyYWdnaW5nIHsKICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjA4cyBlYXNlOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA4cyBlYXNlOwogICAgICB9CgogICAgICAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKCiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CgogICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7CiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xOHM7CiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgIH0KCiAgICAgIC5leHBhbmQ6bm90KC5waW4pID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgICAgIH0KCiAgICAgIC5yaW5nID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvciwgdHJhbnNwYXJlbnQpOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICB9CgogICAgICAucGluID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTNweDsKICAgICAgICB3aWR0aDogMjZweDsKICAgICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgMDsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUsCiAgICAgIC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4xOHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMThzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xOHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMThzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5waW4ucmluZyA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICB9CgogICAgICAucGluLmV4cGFuZCA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YmVmb3JlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKDE3cHgsIC0xN3B4KTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgxN3B4LCAtMTdweCk7CiAgICAgIH0KCiAgICAgIC5waW4gPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiBhdHRyKHZhbHVlKTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWZvbnQtY29sb3IsICNmZmYpOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgfQoKICAgICAgLnBpbi5leHBhbmQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmFmdGVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsIC0xN3B4KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAtMTdweCk7CiAgICAgIH0KCiAgICAgIC8qIHBhcGVyLWlucHV0ICovCiAgICAgIC5zbGlkZXItaW5wdXQgewogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIEBhcHBseSAtLXBhcGVyLXNsaWRlci1pbnB1dC1jb250YWluZXItaW5wdXQ7CiAgICAgICAgfTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1zbGlkZXItaW5wdXQ7CiAgICAgIH0KCiAgICAgIC8qIGRpc2FibGVkIHN0YXRlICovCiAgICAgICNzbGlkZXJDb250YWluZXIuZGlzYWJsZWQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZGlzYWJsZWQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDAuNzUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAwLjc1LCAxKTsKICAgICAgfQoKICAgICAgLmRpc2FibGVkLnJpbmcgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICB9CgogICAgICBwYXBlci1yaXBwbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0ic2xpZGVyQ29udGFpbmVyIiBjbGFzcyQ9IltbX2dldENsYXNzTmFtZXMoZGlzYWJsZWQsIHBpbiwgc25hcHMsIGltbWVkaWF0ZVZhbHVlLCBtaW4sIGV4cGFuZCwgZHJhZ2dpbmcsIHRyYW5zaXRpbmcsIGVkaXRhYmxlKV1dIj4KICAgICAgPGRpdiBjbGFzcz0iYmFyLWNvbnRhaW5lciI+CiAgICAgICAgPHBhcGVyLXByb2dyZXNzIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiBpZD0ic2xpZGVyQmFyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgbWluPSJbW21pbl1dIiBtYXg9IltbbWF4XV0iIHN0ZXA9Iltbc3RlcF1dIiB2YWx1ZT0iW1tpbW1lZGlhdGVWYWx1ZV1dIiBzZWNvbmRhcnktcHJvZ3Jlc3M9Iltbc2Vjb25kYXJ5UHJvZ3Jlc3NdXSIgb24tZG93bj0iX2JhcmRvd24iIG9uLXVwPSJfcmVzZXRLbm9iIiBvbi10cmFjaz0iX2JhcnRyYWNrIiBvbi10YXA9Il9iYXJjbGljayI+CiAgICAgICAgPC9wYXBlci1wcm9ncmVzcz4KICAgICAgPC9kaXY+CgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc25hcHNdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2xpZGVyLW1hcmtlcnMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1ttYXJrZXJzXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItbWFya2VyIj48L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CgogICAgICA8ZGl2IGlkPSJzbGlkZXJLbm9iIiBjbGFzcz0ic2xpZGVyLWtub2IiIG9uLWRvd249Il9rbm9iZG93biIgb24tdXA9Il9yZXNldEtub2IiIG9uLXRyYWNrPSJfb25UcmFjayIgb24tdHJhbnNpdGlvbmVuZD0iX2tub2JUcmFuc2l0aW9uRW5kIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNsaWRlci1rbm9iLWlubmVyIiB2YWx1ZSQ9IltbaW1tZWRpYXRlVmFsdWVdXSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2VkaXRhYmxlXV0iPgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJudW1iZXIiIHN0ZXA9Iltbc3RlcF1dIiBtaW49IltbbWluXV0iIG1heD0iW1ttYXhdXSIgY2xhc3M9InNsaWRlci1pbnB1dCIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW2ltbWVkaWF0ZVZhbHVlXV0iIG9uLWNoYW5nZT0iX2NoYW5nZVZhbHVlIiBvbi1rZXlkb3duPSJfaW5wdXRLZXlEb3duIiBuby1sYWJlbC1mbG9hdD4KICAgICAgPC9wYXBlci1pbnB1dD4KICAgIDwvdGVtcGxhdGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc21vb3RoaW5nLWlucHV0Ij4KICA8dGVtcGxhdGU+CiAgICA8aDMgY2xhc3M9InRpdGxlIj5TbW9vdGhpbmc8L2gzPgogICAgPGRpdiBjbGFzcz0ic21vb3RoaW5nLWJsb2NrIj4KICAgICAgPHBhcGVyLXNsaWRlciBpZD0ic2xpZGVyIiBpbW1lZGlhdGUtdmFsdWU9Int7X2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyfX0iIG1heD0iW1ttYXhdXSIgbWluPSJbW21pbl1dIiBwaW4gc3RlcD0iW1tzdGVwXV0iIHR5cGU9Im51bWJlciIgdmFsdWU9Int7d2VpZ2h0fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImlucHV0IiBsYWJlbD0id2VpZ2h0IiBuby1sYWJlbC1mbG9hdCB2YWx1ZT0ie3tfaW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0fX0iIHR5cGU9Im51bWJlciIgc3RlcD0iW1tzdGVwXV0iIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIj48L3BhcGVyLWlucHV0PgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIC50aXRsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICB9CgogICAgICAuc21vb3RoaW5nLWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICBwYXBlci1zbGlkZXIgewogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1ib3JkZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICBmbGV4LWdyb3c6IDI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1zY2FsYXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtaXRlbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBpZD0ic2hvdy1kb3dubG9hZC1saW5rcyIgY2hlY2tlZD0ie3tfc2hvd0Rvd25sb2FkTGlua3N9fSI+U2hvdyBkYXRhIGRvd25sb2FkIGxpbmtzPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGlkPSJpZ25vcmUteS1vdXRsaWVyIiBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSI+SWdub3JlIG91dGxpZXJzIGluIGNoYXJ0IHNjYWxpbmc8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICA8ZGl2PlRvb2x0aXAgc29ydGluZyBtZXRob2Q6PC9kaXY+CiAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iPgogICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0iMCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+ZGVzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dCB3ZWlnaHQ9Int7X3Ntb290aGluZ1dlaWdodH19IiBzdGVwPSIwLjAwMSIgbWluPSIwIiBtYXg9IjAuOTk5Ij48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0ieC10eXBlLXNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIEF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBzY2FsYXIgZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IHNjYWxhciBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIgZ2V0LWNhdGVnb3J5LWl0ZW0ta2V5PSJbW19nZXRDYXRlZ29yeUl0ZW1LZXldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLXNjYWxhci1jYXJkIGFjdGl2ZT0iW1thY3RpdmVdXSIgZGF0YS10by1sb2FkPSJbW2l0ZW0uc2VyaWVzXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW19pZ25vcmVZT3V0bGllcnNdXSIgbXVsdGktZXhwZXJpbWVudHM9IltbX2dldE11bHRpRXhwZXJpbWVudHMoZGF0YVNlbGVjdGlvbildXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIiBzaG93LWRvd25sb2FkLWxpbmtzPSJbW19zaG93RG93bmxvYWRMaW5rc11dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW19zbW9vdGhpbmdXZWlnaHRdXSIgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShjYXRlZ29yeSwgX3J1blRvVGFnSW5mbywgaXRlbSldXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbX3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1tfeFR5cGVdXSI+PC90Zi1zY2FsYXItY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CiAgICAgIC5saW5lLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgLmNlbnRlciB7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHggMTBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsKICAgICAgfQoKICAgICAgOmhvc3QoW19leHBhbmRlZF0pIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgOmhvc3QoW19leHBhbmRlZF0pICN0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIGZvbnQtc2l6ZTogMTlweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNidXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIHBhcGVyLWljb24tYnV0dG9uIHsKICAgICAgICBjb2xvcjogIzIxOTZmMzsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIGEgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAycHg7CiAgICAgIH0KCiAgICAgIC5kb3dubG9hZC1saW5rcyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIGRpc3BsYXktbmFtZT0iW1tfdGl0bGVEaXNwbGF5U3RyaW5nXV0iPjwvdGYtY2FyZC1oZWFkaW5nPgogICAgPGRpdiBpZD0idGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIiPgogICAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciBpZD0ibG9hZGVyIiBhY3RpdmU9IltbYWN0aXZlXV0iIGNvbG9yLXNjYWxlPSJbW19jb2xvclNjYWxlXV0iIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIiBnZXQtZGF0YS1sb2FkLXVybD0iW1tfZGF0YVVybF1dIiBmaWxsLWFyZWE9IltbX2ZpbGxBcmVhXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iIGRhdGEtdG8tbG9hZD0iW1tydW5zXV0iIGxvZy1zY2FsZS1hY3RpdmU9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbihtYXJnaW5DaGFydFNlcmllcyldXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iIHN5bWJvbC1mdW5jdGlvbj0iW1tfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKV1dIiB0b29sdGlwLWNvbHVtbnM9IltbX3Rvb2x0aXBDb2x1bW5zXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIgeC10eXBlPSJbW3hUeXBlXV0iPgogICAgICA8L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9ImJ1dHRvbnMiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIiBpY29uPSJmdWxsc2NyZWVuIiBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfbG9nU2NhbGVBY3RpdmVdXSIgaWNvbj0ibGluZS13ZWlnaHQiIG9uLXRhcD0iX3RvZ2dsZUxvZ1NjYWxlIiB0aXRsZT0iVG9nZ2xlIHktYXhpcyBsb2cgc2NhbGUiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJzZXR0aW5ncy1vdmVyc2NhbiIgb24tdGFwPSJfcmVzZXREb21haW4iIHRpdGxlPSJGaXQgZG9tYWluIHRvIGRhdGEiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxzcGFuIHN0eWxlPSJmbGV4LWdyb3c6IDEiPjwvc3Bhbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3Nob3dEb3dubG9hZExpbmtzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImRvd25sb2FkLWxpbmtzIj4KICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0ic2VyaWVzIHRvIGRvd25sb2FkIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWR9fSI+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19zZXJpZXNOYW1lc11dIiBhcz0iZGF0YVNlcmllc05hbWUiPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPltbZGF0YVNlcmllc05hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8YSBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uY3N2IiBocmVmPSJbW19jc3ZVcmwoX25hbWVUb0RhdGFTZXJpZXMsIF9kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWQpXV0iPkNTVjwvYT4KICAgICAgICAgIDxhIGRvd25sb2FkPSJbW19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWRdXS5qc29uIiBocmVmPSJbW19qc29uVXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIj5KU09OPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX21pc3NpbmdUYWdzLmxlbmd0aF1dIj4KICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2libGUtbGlzdC10aXRsZSI+CiAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCldXSIgb24tY2xpY2s9Il90b2dnbGVNaXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbiIgY2xhc3M9InRvZ2dsZS1jb2xsYXBzaWJsZS1idXR0b24iPgogICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvbGxhcHNpYmxlLXRpdGxlLXRleHQiPgogICAgICAgICAgPGlyb24taWNvbiBpY29uPSJpY29uczplcnJvciI+PC9pcm9uLWljb24+IE1pc3NpbmcgVGFncwogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1jb250ZW50Ij4KICAgICAgICAgIDxpcm9uLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX21pc3NpbmdUYWdzXV0iIGFzPSJtaXNzaW5nRW50cnkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaXNzaW5nLXRhZ3MtZm9yLXJ1bi1jb250YWluZXIiPgogICAgICAgICAgICAgIFJ1biAiW1ttaXNzaW5nRW50cnkucnVuXV0iIGxhY2tzIGRhdGEgZm9yIHRhZ3MKICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW21pc3NpbmdFbnRyeS50YWdzXV0iIGFzPSJ0YWciPgogICAgICAgICAgICAgICAgICA8bGk+W1t0YWddXTwvbGk+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0ZpbHRlckludmFsaWRdXSI+CiAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRlbnQiPgogICAgICAgIDxpcm9uLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4KICAgICAgICBUaGlzIHJlZ3VsYXIgZXhwcmVzaW9uIGlzIGludmFsaWQ6PGJyPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbnZhbGlkLXJlZ2V4Ij5bW190YWdGaWx0ZXJdXTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RlcHNNaXNtYXRjaF1dIj4KICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGVudCI+CiAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgIFRoZSBzdGVwcyBmb3IgdmFsdWUsIGxvd2VyLCBhbmQgdXBwZXIgdGFncyBkbyBub3QgbWF0Y2g6CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFnLW5hbWUiPltbX3N0ZXBzTWlzbWF0Y2guc2VyaWVzT2JqZWN0LnZhbHVlXV08L3NwYW4+OgogICAgICAgICAgICBbW19zZXBhcmF0ZVdpdGhDb21tYXMoX3N0ZXBzTWlzbWF0Y2gudmFsdWVTdGVwcyldXQogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZy1uYW1lIj5bW19zdGVwc01pc21hdGNoLnNlcmllc09iamVjdC5sb3dlcl1dPC9zcGFuPjoKICAgICAgICAgICAgW1tfc2VwYXJhdGVXaXRoQ29tbWFzKF9zdGVwc01pc21hdGNoLmxvd2VyU3RlcHMpXV0KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWctbmFtZSI+W1tfc3RlcHNNaXNtYXRjaC5zZXJpZXNPYmplY3QudXBwZXJdXTwvc3Bhbj46CiAgICAgICAgICAgIFtbX3NlcGFyYXRlV2l0aENvbW1hcyhfc3RlcHNNaXNtYXRjaC51cHBlclN0ZXBzKV1dCiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNpYmxlLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWF0Y2hlc0xpc3RPcGVuZWQpXV0iIG9uLWNsaWNrPSJfdG9nZ2xlTWF0Y2hlc09wZW4iIGNsYXNzPSJ0b2dnbGUtbWF0Y2hlcy1idXR0b24iPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2libGUtdGl0bGUtdGV4dCI+CiAgICAgICAgICBNYXRjaGVzIChbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSkKICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3Nlcmllc05hbWVzLmxlbmd0aF1dIj4KICAgICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9IltbX21hdGNoZXNMaXN0T3BlbmVkXV0iPgogICAgICAgICAgPGRpdiBpZD0ibWF0Y2hlcy1saXN0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIgYXM9InNlcmllc05hbWUiIGlkPSJtYXRjaC1saXN0LXJlcGVhdCIgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRjaC1saXN0LWVudHJ5Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYXRjaC1lbnRyeS1zeW1ib2wiPgogICAgICAgICAgICAgICAgICBbW19kZXRlcm1pbmVTeW1ib2woX25hbWVUb0RhdGFTZXJpZXMsIHNlcmllc05hbWUpXV0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIFtbc2VyaWVzTmFtZV1dCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY3VzdG9tLXNjYWxhci1jYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAuZXJyb3ItY29udGVudCB7CiAgICAgICAgYmFja2dyb3VuZDogI2YwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwOwogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5lcnJvci1pY29uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvOwogICAgICB9CgogICAgICAuaW52YWxpZC1yZWdleCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KCiAgICAgIC5lcnJvci1jb250ZW50IHVsIHsKICAgICAgICBtYXJnaW46IDFweCAwIDAgMDsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxOXB4OwogICAgICB9CgogICAgICAudGFnLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAuY29sbGFwc2libGUtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzaWJsZS10aXRsZS10ZXh0IHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAjbWF0Y2hlcy1saXN0IHsKICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAubWF0Y2gtbGlzdC1lbnRyeSB7CiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgICAgIH0KCiAgICAgIC5tYXRjaC1lbnRyeS1zeW1ib2wgewogICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5taXNzaW5nLXRhZ3MtZm9yLXJ1bi1jb250YWluZXIgewogICAgICAgIG1hcmdpbjogOHB4IDAgMCAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgZGlzcGxheS1uYW1lPSJbW190aXRsZURpc3BsYXlTdHJpbmddXSI+PC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8ZGl2IGlkPSJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciI+CiAgICAgIDx0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIGlkPSJsb2FkZXIiIGFjdGl2ZT0iW1thY3RpdmVdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVdXSIgZGF0YS1zZXJpZXM9IltbX3Nlcmllc05hbWVzXV0iIGdldC1kYXRhLWxvYWQtdXJsPSJbW19kYXRhVXJsXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iIGRhdGEtdG8tbG9hZD0iW1tydW5zXV0iIGxvZy1zY2FsZS1hY3RpdmU9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tzbW9vdGhpbmdFbmFibGVkXV0iIHNtb290aGluZy13ZWlnaHQ9Iltbc21vb3RoaW5nV2VpZ2h0XV0iIHN5bWJvbC1mdW5jdGlvbj0iW1tfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKV1dIiB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIj4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGljb249ImxpbmUtd2VpZ2h0IiBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8c3BhbiBzdHlsZT0iZmxleC1ncm93OiAxIj48L3NwYW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1saW5rcyI+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBuby1sYWJlbC1mbG9hdD0idHJ1ZSIgbGFiZWw9InNlcmllcyB0byBkb3dubG9hZCIgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkfX0iPgogICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIgYXM9ImRhdGFTZXJpZXNOYW1lIj4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5bW2RhdGFTZXJpZXNOYW1lXV08L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPGEgZG93bmxvYWQ9IltbX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZF1dLmNzdiIgaHJlZj0iW1tfY3N2VXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIj5DU1Y8L2E+CiAgICAgICAgICA8YSBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uanNvbiIgaHJlZj0iW1tfanNvblVybChfbmFtZVRvRGF0YVNlcmllcywgX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZCldXSI+SlNPTjwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0ibWF0Y2hlcy1jb250YWluZXIiPgogICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZU1hdGNoZXNJY29uKF9tYXRjaGVzTGlzdE9wZW5lZCldXSIgb24tY2xpY2s9Il90b2dnbGVNYXRjaGVzT3BlbiIgY2xhc3M9InRvZ2dsZS1tYXRjaGVzLWJ1dHRvbiI+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgIDxzcGFuIGNsYXNzPSJtYXRjaGVzLXRleHQiPgogICAgICAgICAgTWF0Y2hlcyAoW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0pCiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSI+CiAgICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19tYXRjaGVzTGlzdE9wZW5lZF1dIj4KICAgICAgICAgIDxkaXYgaWQ9Im1hdGNoZXMtbGlzdCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3Nlcmllc05hbWVzXV0iIGFzPSJzZXJpZXNOYW1lIiBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiIG9uLWRvbS1jaGFuZ2U9Il9tYXRjaExpc3RFbnRyeUNvbG9yVXBkYXRlZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgI21hdGNoZXMtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgICNtYXRjaGVzLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5tYXRjaC1saXN0LWVudHJ5IHsKICAgICAgICBtYXJnaW46IDAgMCA1cHggMDsKICAgICAgfQoKICAgICAgLm1hdGNoLWVudHJ5LXN5bWJvbCB7CiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLm1hdGNoZXMtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtaXRlbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319Ij5TaG93IGRhdGEgZG93bmxvYWQgbGlua3M8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3ggY2hlY2tlZD0ie3tfaWdub3JlWU91dGxpZXJzfX0iPklnbm9yZSBvdXRsaWVycyBpbiBjaGFydCBzY2FsaW5nPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBpZD0idG9vbHRpcC1zb3J0aW5nIj4KICAgICAgICAgICAgPGRpdiBpZD0idG9vbHRpcC1zb3J0aW5nLWxhYmVsIj5Ub29sdGlwIHNvcnRpbmcgbWV0aG9kOjwvZGl2PgogICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBuby1sYWJlbC1mbG9hdCBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e190b29sdGlwU29ydGluZ01ldGhvZH19Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9IjAiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+ZGVmYXVsdDwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmRlc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5uZWFyZXN0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1zbW9vdGhpbmctaW5wdXQgd2VpZ2h0PSJ7e19zbW9vdGhpbmdXZWlnaHR9fSIgc3RlcD0iMC4wMDEiIG1pbj0iMCIgbWF4PSIxIj48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0ieC10eXBlLXNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIEF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIiBpZD0iY2F0ZWdvcmllcy1jb250YWluZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPlRoZSBjdXN0b20gc2NhbGFycyBkYXNoYm9hcmQgaXMgaW5hY3RpdmUuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPG9sPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW4ndCBsYWlkIG91dCB0aGUgZGFzaGJvYXJkLjwvbGk+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgc2NhbGFyIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gbGF5IG91dCB0aGUgZGFzaGJvYXJkLCBwYXNzIGEgPGNvZGU+TGF5b3V0PC9jb2RlPiBwcm90b2J1ZmZlcgogICAgICAgICAgICAgIHRvIHRoZSA8Y29kZT5zZXRfbGF5b3V0PC9jb2RlPiBtZXRob2QuIEZvciBleGFtcGxlLAogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwcmU+ZnJvbSB0ZW5zb3Jib2FyZCBpbXBvcnQgc3VtbWFyeQpmcm9tIHRlbnNvcmJvYXJkLnBsdWdpbnMuY3VzdG9tX3NjYWxhciBpbXBvcnQgbGF5b3V0X3BiMgouLi4KIyBUaGlzIGFjdGlvbiBkb2VzIG5vdCBoYXZlIHRvIGJlIHBlcmZvcm1lZCBhdCBldmVyeSBzdGVwLCBzbyB0aGUgYWN0aW9uIGlzIG5vdAojIHRha2VuIGNhcmUgb2YgYnkgYW4gb3AgaW4gdGhlIGdyYXBoLiBXZSBvbmx5IG5lZWQgdG8gc3BlY2lmeSB0aGUgbGF5b3V0IG9uY2UKIyAoaW5zdGVhZCBvZiBwZXIgc3RlcCkuCmxheW91dF9zdW1tYXJ5ID0gc3VtbWFyeV9saWIuY3VzdG9tX3NjYWxhcl9wYihsYXlvdXRfcGIyLkxheW91dCgKICBjYXRlZ29yeT1bCiAgICBsYXlvdXRfcGIyLkNhdGVnb3J5KAogICAgICB0aXRsZT0nbG9zc2VzJywKICAgICAgY2hhcnQ9WwogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nbG9zc2VzJywKICAgICAgICAgICAgICBtdWx0aWxpbmU9bGF5b3V0X3BiMi5NdWx0aWxpbmVDaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICB0YWc9W3InbG9zcy4qJ10sCiAgICAgICAgICAgICAgKSksCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSdiYXonLAogICAgICAgICAgICAgIG1hcmdpbj1sYXlvdXRfcGIyLk1hcmdpbkNoYXJ0Q29udGVudCgKICAgICAgICAgICAgICAgIHNlcmllcz1bCiAgICAgICAgICAgICAgICAgIGxheW91dF9wYjIuTWFyZ2luQ2hhcnRDb250ZW50LlNlcmllcygKICAgICAgICAgICAgICAgICAgICB2YWx1ZT0nbG9zcy9iYXovc2NhbGFyX3N1bW1hcnknLAogICAgICAgICAgICAgICAgICAgIGxvd2VyPSdiYXpfbG93ZXIvYmF6L3NjYWxhcl9zdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICB1cHBlcj0nYmF6X3VwcGVyL2Jhei9zY2FsYXJfc3VtbWFyeScpLAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICApKSwKICAgICAgXSksCiAgICBsYXlvdXRfcGIyLkNhdGVnb3J5KAogICAgICB0aXRsZT0ndHJpZyBmdW5jdGlvbnMnLAogICAgICBjaGFydD1bCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSd3YXZlIHRyaWcgZnVuY3Rpb25zJywKICAgICAgICAgICAgICBtdWx0aWxpbmU9bGF5b3V0X3BiMi5NdWx0aWxpbmVDaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICB0YWc9W3IndHJpZ0Z1bmN0aW9ucy9jb3NpbmUnLCByJ3RyaWdGdW5jdGlvbnMvc2luZSddLAogICAgICAgICAgICAgICkpLAogICAgICAgICAgIyBUaGUgcmFuZ2Ugb2YgdGFuZ2VudCBpcyBkaWZmZXJlbnQuIExldCdzIGdpdmUgaXQgaXRzIG93biBjaGFydC4KICAgICAgICAgIGxheW91dF9wYjIuQ2hhcnQoCiAgICAgICAgICAgICAgdGl0bGU9J3RhbicsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ3RyaWdGdW5jdGlvbnMvdGFuZ2VudCddLAogICAgICAgICAgICAgICkpLAogICAgICBdLAogICAgICAjIFRoaXMgY2F0ZWdvcnkgd2UgY2FyZSBsZXNzIGFib3V0LiBMZXQncyBtYWtlIGl0IGluaXRpYWxseSBjbG9zZWQuCiAgICAgIGNsb3NlZD1UcnVlKSwKICBdKSkKd3JpdGVyLmFkZF9zdW1tYXJ5KGxheW91dF9zdW1tYXJ5KQo8L3ByZT4KICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgYXM9ImNoYXJ0IiBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBkaXNhYmxlLXBhZ2luYXRpb24gaW5pdGlhbC1vcGVuZWQ9IltbY2F0ZWdvcnkubWV0YWRhdGEub3BlbmVkXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFydC5tdWx0aWxpbmVdXSI+CiAgICAgICAgICAgICAgICAgICAgPHRmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkIGFjdGl2ZT0iW1thY3RpdmVdXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIiBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIgdGl0bGU9IltbY2hhcnQudGl0bGVdXSIgeC10eXBlPSJbW194VHlwZV1dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW19zbW9vdGhpbmdXZWlnaHRdXSIgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iIHRhZy1yZWdleGVzPSJbW2NoYXJ0Lm11bHRpbGluZS50YWddXSI+PC90Zi1jdXN0b20tc2NhbGFyLW11bHRpLWxpbmUtY2hhcnQtY2FyZD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJ0Lm1hcmdpbl1dIj4KICAgICAgICAgICAgICAgICAgICA8dGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCBhY3RpdmU9IltbYWN0aXZlXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIgcnVucz0iW1tfc2VsZWN0ZWRSdW5zXV0iIHRpdGxlPSJbW2NoYXJ0LnRpdGxlXV0iIHgtdHlwZT0iW1tfeFR5cGVdXSIgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iIG1hcmdpbi1jaGFydC1zZXJpZXM9IltbY2hhcnQubWFyZ2luLnNlcmllc11dIj48L3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQ+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CiAgICAgIC5saW5lLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaW1hZ2UtbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIHRhZz0iW1t0YWddXSIgcnVuPSJbW3J1bl1dIiBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIgY29sb3I9IltbX3J1bkNvbG9yXV0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU2FtcGxlc11dIj4KICAgICAgICA8ZGl2PnNhbXBsZTogW1tfc2FtcGxlVGV4dF1dIG9mIFtbb2ZTYW1wbGVzXV08L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcAogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQiPltbX3RvTG9jYWxlU3RyaW5nKF9zdGVwVmFsdWUpXV08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCBkYXRldGltZSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY3VycmVudFdhbGxUaW1lXV0iPgogICAgICAgICAgICAgIFtbX2N1cnJlbnRXYWxsVGltZV1dCiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIHJpZ2h0Ij4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBhY3RpdmUgaGlkZGVuJD0iW1shX2lzSW1hZ2VMb2FkaW5nXV0iPgogICAgICAgICAgICA8L3BhcGVyLXNwaW5uZXItbGl0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU3RlcHNdXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIgaWQ9InN0ZXBzIiBpbW1lZGlhdGUtdmFsdWU9Int7X3N0ZXBJbmRleH19IiBtYXg9IltbX21heFN0ZXBJbmRleF1dIiBtYXgtbWFya2Vycz0iW1tfbWF4U3RlcEluZGV4XV0iIHNuYXBzIHN0ZXA9IjEiIHZhbHVlPSJ7e19zdGVwSW5kZXh9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KCiAgICAKICAgIDxhIGlkPSJtYWluLWltYWdlLWNvbnRhaW5lciIgcm9sZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJUb2dnbGUgYWN0dWFsIHNpemUiIGFyaWEtZXhwYW5kZWQkPSJbW19nZXRBcmlhRXhwYW5kZWQoYWN0dWFsU2l6ZSldXSIgb24tdGFwPSJfaGFuZGxlVGFwIj48L2E+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWNhcmQtaGVhZGluZy1zdHlsZSI+CiAgICAgIC8qKiBNYWtlIGJ1dHRvbiBhIGRpdi4gKi8KICAgICAgYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiogRmlyZWZveDogR2V0IHJpZCBvZiBkb3R0ZWQgbGluZSBpbnNpZGUgYnV0dG9uLiAqLwogICAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiogRmlyZWZveDogU2ltdWxhdGUgQ2hyb21lJ3Mgb3V0ZXIgZ2xvdyBvbiBidXR0b24gd2hlbiBmb2N1c2VkLiAqLwogICAgICBidXR0b246LW1vei1mb2N1c3JpbmcgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMnB4IEhpZ2hsaWdodDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAzNTBweDsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDQwcHggMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAvKiogV2hlbiBhY3R1YWwgc2l6ZSBzaG93biBpcyBvbiwgdXNlIHRoZSBhY3R1YWwgaW1hZ2Ugd2lkdGguICovCiAgICAgIDpob3N0KFthY3R1YWwtc2l6ZV0pIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFthY3R1YWwtc2l6ZV0pICNtYWluLWltYWdlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgI21haW4taW1hZ2UtY29udGFpbmVyIGltZyB7CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgIH0KCiAgICAgIHBhcGVyLXNwaW5uZXItbGl0ZSB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsKICAgICAgICAtLXBhcGVyLXNwaW5uZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIC8qCiAgICAgICAgICogMzEgY29tZXMgZnJvbSBhZGRpbmcgYSBwYWRkaW5nIG9mIDE1cHggZnJvbSBib3RoIHNpZGVzIG9mIHRoZQogICAgICAgICAqIHBhcGVyLXNsaWRlciwgc3VidHJhY3RpbmcgMXB4IHNvIHRoYXQgdGhlIHNsaWRlciB3aWR0aCBhbGlnbnMKICAgICAgICAgKiB3aXRoIHRoZSBpbWFnZSAodGhlIGxhc3Qgc2xpZGVyIG1hcmtlciB0YWtlcyB1cCAxcHgpLCBhbmQKICAgICAgICAgKiBhZGRpbmcgMnB4IHRvIGFjY291bnQgZm9yIGEgYm9yZGVyIG9mIDFweCBvbiBib3RoIHNpZGVzIG9mCiAgICAgICAgICogdGhlIGltYWdlLiAzMCAtIDEgKyAyLgogICAgICAgICAqLwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMXB4KTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgICNtYWluLWltYWdlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogMTAyNHB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICAjbWFpbi1pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzOwogICAgICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQogICAgICBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1pbWFnZS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7X2FjdHVhbFNpemV9fSI+U2hvdyBhY3R1YWwgaW1hZ2Ugc2l6ZTwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGgzIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+QnJpZ2h0bmVzcyBhZGp1c3RtZW50PC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxwYXBlci1zbGlkZXIgbWluPSIwIiBtYXg9IjIiIHNuYXBzIHBpbiBzdGVwPSIwLjAxIiB2YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIgaW1tZWRpYXRlLXZhbHVlPSJ7e19icmlnaHRuZXNzQWRqdXN0bWVudH19Ij48L3BhcGVyLXNsaWRlcj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIG9uLXRhcD0iX3Jlc2V0QnJpZ2h0bmVzcyIgZGlzYWJsZWQ9IltbX2JyaWdodG5lc3NJc0RlZmF1bHRdXSI+UmVzZXQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8aDMgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5Db250cmFzdCBhZGp1c3RtZW50PC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxwYXBlci1zbGlkZXIgbWluPSIwIiBtYXg9IjUwMCIgc25hcHMgcGluIHN0ZXA9IjEiIHZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSIgaW1tZWRpYXRlLXZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9IngtYnV0dG9uIiBvbi10YXA9Il9yZXNldENvbnRyYXN0IiBkaXNhYmxlZD0iW1tfY29udHJhc3RJc0RlZmF1bHRdXSI+UmVzZXQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBpZD0icnVucy1zZWxlY3RvciIgc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBpbWFnZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaW1hZ2UgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1pbWFnZS1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHNhbXBsZT0iW1tpdGVtLnNhbXBsZV1dIiBvZi1zYW1wbGVzPSJbW2l0ZW0ub2ZTYW1wbGVzXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGFjdHVhbC1zaXplPSJbW19hY3R1YWxTaXplXV0iIGJyaWdodG5lc3MtYWRqdXN0bWVudD0iW1tfYnJpZ2h0bmVzc0FkanVzdG1lbnRdXSIgY29udHJhc3QtcGVyY2VudGFnZT0iW1tfY29udHJhc3RQZXJjZW50YWdlXV0iPjwvdGYtaW1hZ2UtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAucmVzZXR0YWJsZS1zbGlkZXItY29udGFpbmVyIHBhcGVyLXNsaWRlciB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICB9CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgcGFwZXItYnV0dG9uIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciBwYXBlci1idXR0b25bZGlzYWJsZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDsKICAgICAgfQogICAgICAueC1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1hdWRpby1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgdGFnPSJbW3RhZ11dIiBydW49IltbcnVuXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIiBjb2xvcj0iW1tfcnVuQ29sb3JdXSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTYW1wbGVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwiPgogICAgICAgICAgICBzYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW3RvdGFsU2FtcGxlc11dCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcCA8c3Ryb25nPltbX2N1cnJlbnREYXR1bS5zdGVwXV08L3N0cm9uZz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50RGF0dW0ud2FsbF90aW1lXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIGhlYWRpbmctcmlnaHQiPgogICAgICAgICAgICAgIFtbX2N1cnJlbnREYXR1bS53YWxsX3RpbWVdXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJzdGVwcyIgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIgbWF4LW1hcmtlcnM9IltbX21heFN0ZXBJbmRleF1dIiBzbmFwcyBzdGVwPSIxIiB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0F0TGVhc3RPbmVTdGVwXV0iPgogICAgICA8YXVkaW8gY29udHJvbHMgc3JjJD0iW1tfY3VycmVudERhdHVtLnVybF1dIiB0eXBlJD0iW1tfY3VycmVudERhdHVtLmNvbnRlbnRUeXBlXV0iPjwvYXVkaW8+CiAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbX2N1cnJlbnREYXR1bS5sYWJlbF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFpbi1hdWRpby1jb250YWluZXIiPjwvZGl2PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0Zi1jYXJkLWhlYWRpbmctc3R5bGUiPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yOiAjNDI0MjQyOwogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogMCA1cHg7IC8qIHNvIHRoZSBzbGlkZXIga25vYiBkb2Vzbid0IGJ1dHQgb3V0ICovCiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWF1ZGlvLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBpZD0icnVucy1zZWxlY3RvciIgc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBhdWRpbyBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgYXVkaW8gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1hdWRpby1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHNhbXBsZT0iW1tpdGVtLnNhbXBsZV1dIiB0b3RhbC1zYW1wbGVzPSJbW2l0ZW0udG90YWxTYW1wbGVzXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iPjwvdGYtYXVkaW8tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJpcm9uLWF1dG9ncm93LXRleHRhcmVhIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZDsKICAgICAgICBwYWRkaW5nOiAycHg7CiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0YXJlYTsKICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRhcmVhOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5taXJyb3ItdGV4dCB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhOwogICAgICB9CgogICAgICAuZml0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICB0ZXh0YXJlYSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0OwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIC8qIHNlZSBjb21tZW50cyBpbiB0ZW1wbGF0ZSAqLwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhOwogICAgICB9CgogICAgICB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWEtcGxhY2Vob2xkZXI7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICAKICAgIAogICAgPGRpdiBpZD0ibWlycm9yIiBjbGFzcz0ibWlycm9yLXRleHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4mbmJzcDs8L2Rpdj4KCiAgICAKICAgIDxkaXYgY2xhc3M9InRleHRhcmVhLWNvbnRhaW5lciBmaXQiPgogICAgICA8dGV4dGFyZWEgaWQ9InRleHRhcmVhIiBuYW1lJD0iW1tuYW1lXV0iIGFyaWEtbGFiZWwkPSJbW2xhYmVsXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiByb3dzJD0iW1tyb3dzXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iPjwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRleHRhcmVhIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIGxhYmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaW5wdXQtY29udGFpbmVyIG5vLWxhYmVsLWZsb2F0JD0iW1tub0xhYmVsRmxvYXRdXSIgYWx3YXlzLWZsb2F0LWxhYmVsPSJbW19jb21wdXRlQWx3YXlzRmxvYXRMYWJlbChhbHdheXNGbG9hdExhYmVsLHBsYWNlaG9sZGVyKV1dIiBhdXRvLXZhbGlkYXRlJD0iW1thdXRvVmFsaWRhdGVdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGludmFsaWQ9IltbaW52YWxpZF1dIj4KCiAgICAgIDxsYWJlbCBoaWRkZW4kPSJbWyFsYWJlbF1dIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9yJD0iW1tfaW5wdXRJZF1dIiBzbG90PSJsYWJlbCI+W1tsYWJlbF1dPC9sYWJlbD4KCiAgICAgIDxpcm9uLWF1dG9ncm93LXRleHRhcmVhIGNsYXNzPSJwYXBlci1pbnB1dC1pbnB1dCIgc2xvdD0iaW5wdXQiIGlkJD0iW1tfaW5wdXRJZF1dIiBhcmlhLWxhYmVsbGVkYnkkPSJbW19hcmlhTGFiZWxsZWRCeV1dIiBhcmlhLWRlc2NyaWJlZGJ5JD0iW1tfYXJpYURlc2NyaWJlZEJ5XV0iIGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHZhbGlkYXRvciQ9IltbdmFsaWRhdG9yXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiBhdXRvY29tcGxldGUkPSJbW2F1dG9jb21wbGV0ZV1dIiBhdXRvZm9jdXMkPSJbW2F1dG9mb2N1c11dIiBpbnB1dG1vZGUkPSJbW2lucHV0bW9kZV1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiByb3dzJD0iW1tyb3dzXV0iIG1heC1yb3dzJD0iW1ttYXhSb3dzXV0iIG9uLWNoYW5nZT0iX29uQ2hhbmdlIj48L2lyb24tYXV0b2dyb3ctdGV4dGFyZWE+CgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZXJyb3JNZXNzYWdlXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1lcnJvciBhcmlhLWxpdmU9ImFzc2VydGl2ZSIgc2xvdD0iYWRkLW9uIj5bW2Vycm9yTWVzc2FnZV1dPC9wYXBlci1pbnB1dC1lcnJvcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFyQ291bnRlcl1dIj4KICAgICAgICA8cGFwZXItaW5wdXQtY2hhci1jb3VudGVyIHNsb3Q9ImFkZC1vbiI+PC9wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXI+CiAgICAgIDwvdGVtcGxhdGU+CgogICAgPC9wYXBlci1pbnB1dC1jb250YWluZXI+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci10b2FzdCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvYXN0LWJhY2tncm91bmQtY29sb3IsICMzMjMyMzIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci10b2FzdC1jb2xvciwgI2YxZjFmMSk7CiAgICAgICAgbWluLWhlaWdodDogNDhweDsKICAgICAgICBtaW4td2lkdGg6IDI4OHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIG1hcmdpbjogMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICB9CgogICAgICA6aG9zdCguY2Fwc3VsZSkgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC5maXQtYm90dG9tKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICA6aG9zdCgucGFwZXItdG9hc3Qtb3BlbikgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3BhbiBpZD0ibGFiZWwiPnt7dGV4dH19PC9zcGFuPgogICAgPHNsb3Q+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvZ2dsZS1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTpub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbGluZWFyIC4wOHM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyLWNvbG9yLCAjMDAwMDAwKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTNweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGxpbmVhciAuMDhzLCBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAuMDhzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgLjA4cywgYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgLjA4czsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tdW5jaGVja2VkLWJ1dHRvbi1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS01MCkpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLXVuY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYnV0dG9uLmRyYWdnaW5nIHsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdOm5vdChbZGlzYWJsZWRdKSkgLnRvZ2dsZS1iYXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYmFyLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1iYXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYmFyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogICAgICAgIG9wYWNpdHk6IDAuMTI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgLnRvZ2dsZS1idXR0b24gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXTpub3QoW2Rpc2FibGVkXSkpIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5rIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTRweDsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICBib3R0b206IGF1dG87CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICA6aG9zdChbY2hlY2tlZF0pIC50b2dnbGUtaW5rIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICAudG9nZ2xlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgLyogVGhlIHRvZ2dsZSBidXR0b24gaGFzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIC0zcHg7IFRoZSBleHRyYSAxcHgKICAgICAgICAvKiBhY2NvdW50cyBmb3IgdGhlIHRvZ2dsZSBidXR0b24gc2hhZG93IGJveC4gKi8KICAgICAgICBtYXJnaW46IDRweCAxcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJhci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJ1dHRvbi1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWluayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24taW52YWxpZC1pbmstY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idG9nZ2xlLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRvZ2dsZUJhciIgY2xhc3M9InRvZ2dsZS1iYXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0b2dnbGVCdXR0b24iIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgoKICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1taW5pbWFwIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCguaGlkZGVuKSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgY2FudmFzIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OwogICAgICB9CgogICAgICByZWN0IHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICMxMTExMTE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbHRlcjogdXJsKCNtaW5pbWFwRHJvcFNoYWRvdyk7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzdmc+CiAgICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgaWQ9Im1pbmltYXBEcm9wU2hhZG93IiB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iMTUwJSIgaGVpZ2h0PSIxNTAlIj4KICAgICAgICAgIDxmZW9mZnNldCByZXN1bHQ9Im9mZk91dCIgaW49IlNvdXJjZUdyYXBoaWMiIGR4PSIxIiBkeT0iMSI+PC9mZW9mZnNldD4KICAgICAgICAgIDxmZWNvbG9ybWF0cml4IHJlc3VsdD0ibWF0cml4T3V0IiBpbj0ib2ZmT3V0IiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4xIDAgMCAwIDAgMCAwLjEgMCAwIDAgMCAwIDAuMSAwIDAgMCAwIDAgMC41IDAiPjwvZmVjb2xvcm1hdHJpeD4KICAgICAgICAgIDxmZWdhdXNzaWFuYmx1ciByZXN1bHQ9ImJsdXJPdXQiIGluPSJtYXRyaXhPdXQiIHN0ZGRldmlhdGlvbj0iMiI+PC9mZWdhdXNzaWFuYmx1cj4KICAgICAgICAgIDxmZWJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCI+PC9mZWJsZW5kPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIDxyZWN0PjwvcmVjdD4KICAgIDwvc3ZnPgogICAgPGNhbnZhcyBjbGFzcz0iZmlyc3QiPjwvY2FudmFzPgogICAgCiAgICA8Y2FudmFzIGNsYXNzPSJzZWNvbmQiPjwvY2FudmFzPgogICAgPGNhbnZhcyBjbGFzcz0iZG93bmxvYWQiPjwvY2FudmFzPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtc2NlbmUiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgI3N2ZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjaGlkZGVuIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAvKiAtLS0gTm9kZSBhbmQgYW5ub3RhdGlvbi1ub2RlIGZvciBNZXRhbm9kZSAtLS0gKi8KCiAgICAgIC5tZXRhID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5tZXRhID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiBoc2woMCwgMCUsIDcwJSk7CiAgICAgIH0KICAgICAgLm5vZGUubWV0YS5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgICAubm9kZS5tZXRhLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAuYW5ub3RhdGlvbi5tZXRhLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxOwogICAgICB9CiAgICAgIC5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5tZXRhLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAubm9kZS5tZXRhLnNlbGVjdGVkLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzOwogICAgICB9CiAgICAgIC5hbm5vdGF0aW9uLm1ldGEuc2VsZWN0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KICAgICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgICAubm9kZS5tZXRhLnNlbGVjdGVkLmV4cGFuZGVkLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogNDsKICAgICAgfQoKICAgICAgLmZhZGVkLAogICAgICAuZmFkZWQgcmVjdCwKICAgICAgLmZhZGVkIGVsbGlwc2UsCiAgICAgIC5mYWRlZCBwYXRoLAogICAgICAuZmFkZWQgdXNlLAogICAgICAjcmVjdEhhdGNoIGxpbmUsCiAgICAgICNlbGxpcHNlSGF0Y2ggbGluZSB7CiAgICAgICAgY29sb3I6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZhZGVkIHBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5mYWRlZCByZWN0IHsKICAgICAgICBmaWxsOiB1cmwoI3JlY3RIYXRjaCkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZhZGVkIGVsbGlwc2UsCiAgICAgIC5mYWRlZCB1c2UgewogICAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZmFkZWQgdGV4dCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLyogUnVsZXMgdXNlZCBmb3IgaW5wdXQtdHJhY2luZy4gKi8KICAgICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiByZWN0LAogICAgICAuaW5wdXQtaGlnaGxpZ2h0ID4gKiA+IGVsbGlwc2UsCiAgICAgIC5pbnB1dC1oaWdobGlnaHQgPiAqID4gdXNlIHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICNmZjk4MDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLyogIC0gRmFkZWQgbm9uLWlucHV0IHN0eWxpbmcgKi8KICAgICAgLm5vbi1pbnB1dCA+ICogPiByZWN0LAoubm9uLWlucHV0ID4gKiA+IGVsbGlwc2UsCi5ub24taW5wdXQgPiAqID4gdXNlLAovKiBGb3IgQ29uc3Qgbm9kZXMuICovCi5ub24taW5wdXQgPiAqID4gLmNvbnN0YW50Om5vdChbY2xhc3MqPSJpbnB1dC1oaWdobGlnaHQiXSkgPgogIC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlLAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgICBzdHJva2Utd2lkdGg6IGluaGVyaXQ7CiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogaW5oZXJpdDsKICAgICAgfQoKICAgICAgLm5vbi1pbnB1dCBwYXRoIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgPiAubm9kZXNoYXBlID4gcmVjdCwKLm5vbi1pbnB1dCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0LAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBmaWxsOiB1cmwoI3JlY3RIYXRjaCkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLm5vbi1pbnB1dCBlbGxpcHNlLAogICAgICAubm9uLWlucHV0IHVzZSB7CiAgICAgICAgZmlsbDogdXJsKCNlbGxpcHNlSGF0Y2gpICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgPiB0ZXh0IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAubm9uLWlucHV0IC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlLnJlZmxpbmUgewogICAgICAgIG1hcmtlci1zdGFydDogdXJsKCNyZWYtYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgICB9CgogICAgICAvKiBJbnB1dCBlZGdlcy4gKi8KICAgICAgLmlucHV0LWVkZ2UtaGlnaGxpZ2h0ID4gdGV4dCB7CiAgICAgICAgZmlsbDogYmxhY2sgIWltcG9ydGFudDsKICAgICAgfQogICAgICAuaW5wdXQtaGlnaGxpZ2h0ID4gLmluLWFubm90YXRpb25zID4gLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlLAogICAgICAuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkCiAgICAgICAgPiAuaW4tYW5ub3RhdGlvbnMKICAgICAgICA+IC5hbm5vdGF0aW9uCiAgICAgICAgPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgICBzdHJva2U6ICM5OTkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLyogTm9uLWlucHV0IGVkZ2VzLiAqLwogICAgICAubm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0LAoubm9uLWlucHV0ID4gZyA+IC5hbm5vdGF0aW9uID4gcGF0aCwKLyogQW5ub3RhdGlvbiBzdHlsZXMgKGxhYmVsIGFuZCBlZGdlcyByZXNwZWN0aXZlbHkpLiAqLwoubm9uLWlucHV0ID4gZyA+Ci5hbm5vdGF0aW9uOm5vdCguaW5wdXQtaGlnaGxpZ2h0KTpub3QoLmlucHV0LWhpZ2hsaWdodC1zZWxlY3RlZCkgPgouYW5ub3RhdGlvbi1sYWJlbAovKi5hbm5vdGF0aW9uLWVkZ2UqLwogewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyogLS0tIE9wIE5vZGUgLS0tICovCgogICAgICAub3AgPiAubm9kZXNoYXBlID4gLm5vZGVjb2xvcnRhcmdldCwKICAgICAgLm9wID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIHN0cm9rZTogI2NjYzsKICAgICAgfQoKICAgICAgLm9wLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IC5ub2RlY29sb3J0YXJnZXQsCiAgICAgIC5vcC5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiAubm9kZWNvbG9ydGFyZ2V0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KCiAgICAgIC5vcC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgICAub3AuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gLm5vZGVjb2xvcnRhcmdldCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgICB9CgogICAgICAvKiAtLS0gU2VyaWVzIE5vZGUgLS0tICovCgogICAgICAvKiBCeSBkZWZhdWx0LCBkb24ndCBzaG93IHRoZSBzZXJpZXMgYmFja2dyb3VuZCA8cmVjdD4uICovCiAgICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gcmVjdCB7CiAgICAgICAgZmlsbDogaHNsKDAsIDAlLCA3MCUpOwogICAgICAgIGZpbGwtb3BhY2l0eTogMDsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1OwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLyogT25jZSBleHBhbmRlZCwgc2hvdyB0aGUgc2VyaWVzIGJhY2tncm91bmQgPHJlY3Q+IGFuZCBoaWRlIHRoZSA8dXNlPi4gKi8KICAgICAgLnNlcmllcy5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgICBmaWxsLW9wYWNpdHk6IDAuMTU7CiAgICAgICAgc3Ryb2tlOiBoc2woMCwgMCUsIDcwJSk7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgLnNlcmllcy5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiB1c2UgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyoqCiAqIFRPRE86IFNpbXBsaWZ5IHRoaXMgYnkgYXBwbHlpbmcgYSBzdGFibGUgY2xhc3MgbmFtZSB0byBhbGwgPGc+CiAqIGVsZW1lbnRzIHRoYXQgY3VycmVudGx5IGhhdmUgZWl0aGVyIHRoZSBub2Rlc2hhcGUgb3IgYW5ub3RhdGlvbi1ub2RlIGNsYXNzZXMuCiAqLwogICAgICAuc2VyaWVzID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcyA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogI2NjYzsKICAgICAgfQogICAgICAuc2VyaWVzLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcy5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAuc2VyaWVzLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcy5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQoKICAgICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uLnNlcmllcy5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQoKICAgICAgLyogLS0tIEJyaWRnZSBOb2RlIC0tLSAqLwogICAgICAuYnJpZGdlID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogI2YwZjsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogLS0tIFN0cnVjdHVyYWwgRWxlbWVudHMgLS0tICovCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5zdHJ1Y3R1cmFsIHsKICAgICAgICBzdHJva2U6ICNmMGY7CiAgICAgICAgb3BhY2l0eTogMC4yOwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFJlZmVyZW5jZSBFZGdlICovCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5yZWZlcmVuY2VlZGdlIHsKICAgICAgICBzdHJva2U6ICNmZmI3NGQ7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogLS0tIFNlcmllcyBOb2RlcyAtLS0gKi8KCiAgICAgIC8qIEhpZGUgdGhlIHJlY3QgZm9yIGEgc2VyaWVzJyBhbm5vdGF0aW9uLiAqLwogICAgICAuc2VyaWVzID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBOb2RlIGxhYmVsIC0tLSAqLwoKICAgICAgLm5vZGUgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZpbGw6ICM0NDQ7CiAgICAgIH0KCiAgICAgIC5tZXRhLmV4cGFuZGVkID4gdGV4dC5ub2RlbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICB9CgogICAgICAuc2VyaWVzID4gdGV4dC5ub2RlbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogOHB4OwogICAgICB9CgogICAgICAub3AgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiA2cHg7CiAgICAgIH0KCiAgICAgIC5icmlkZ2UgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLm5vZGUubWV0YS5leHBhbmRlZCA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgICBjdXJzb3I6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24ubWV0YS5oaWdobGlnaHRlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZmlsbDogIzUwYTNmNzsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLyogLS0tIEFubm90YXRpb24gLS0tICovCgogICAgICAvKiBvbmx5IGFwcGxpZWQgZm9yIGFubm90YXRpb25zIHRoYXQgYXJlIG5vdCBzdW1tYXJ5IG9yIGNvbnN0YW50LgooLnN1bW1hcnksIC5jb25zdGFudCBnZXRzIG92ZXJyaWRkZW4gYmVsb3cpICovCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbm9kZSA+ICogewogICAgICAgIHN0cm9rZS13aWR0aDogMC41OwogICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDE7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uLnN1bW1hcnkgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiwKICAgICAgLmFubm90YXRpb24uY29uc3RhbnQgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxOwogICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNhYWE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwLjU7CiAgICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICAgIH0KCiAgICAgIC5mYWRlZCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UgewogICAgICAgIG1hcmtlci1lbmQ6IHVybCgjYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgICB9CgogICAgICAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UucmVmbGluZSB7CiAgICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICAgIH0KCiAgICAgIC5mYWRlZCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UucmVmbGluZSB7CiAgICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tY29udHJvbC1lZGdlIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgICB9CgogICAgICAjYW5ub3RhdGlvbi1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNhYWE7CiAgICAgIH0KCiAgICAgICNhbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCB7CiAgICAgICAgZmlsbDogI2UwZDRiMzsKICAgICAgfQoKICAgICAgI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCB7CiAgICAgICAgZmlsbDogI2FhYTsKICAgICAgfQoKICAgICAgI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCB7CiAgICAgICAgZmlsbDogI2UwZDRiMzsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbGFiZWwuYW5ub3RhdGlvbi1lbGxpcHNpcyB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAvKiBIaWRlIGFubm90YXRpb25zIG9uIGV4cGFuZGVkIG1ldGEgbm9kZXMgc2luY2UgdGhleSdyZSByZWR1bmRhbnQuICovCiAgICAgIC5leHBhbmRlZCA+IC5pbi1hbm5vdGF0aW9ucywKICAgICAgLmV4cGFuZGVkID4gLm91dC1hbm5vdGF0aW9ucyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogLS0tIEFubm90YXRpb246IENvbnN0YW50IC0tLSAqLwoKICAgICAgLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICM4NDg0ODQ7CiAgICAgIH0KCiAgICAgIC5jb25zdGFudC5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgfQoKICAgICAgLmNvbnN0YW50LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMS41OwogICAgICB9CgogICAgICAvKiAtLS0gQW5ub3RhdGlvbjogU3VtbWFyeSAtLS0gKi8KCiAgICAgIC5zdW1tYXJ5ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiAjZGI0NDM3OwogICAgICAgIHN0cm9rZTogI2RiNDQzNzsKICAgICAgfQoKICAgICAgLnN1bW1hcnkuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSB7CiAgICAgICAgZmlsbDogI2E1MjcxNDsKICAgICAgICBzdHJva2U6ICNhNTI3MTQ7CiAgICAgIH0KCiAgICAgIC5zdW1tYXJ5LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMS41OwogICAgICB9CgogICAgICAvKiAtLS0gRWRnZSAtLS0gKi8KCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNiYmI7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS13aWR0aDogMC43NTsKICAgICAgfQoKICAgICAgLmVkZ2UgLnNlbGVjdGFibGVlZGdlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZGVkZ2UgPiBwYXRoLmVkZ2VsaW5lIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgc3Ryb2tlOiAjZjAwOwogICAgICB9CgogICAgICAuZWRnZS5zZWxlY3RlZGVkZ2UgdGV4dCB7CiAgICAgICAgZmlsbDogIzAwMDsKICAgICAgfQoKICAgICAgLyogTGFiZWxzIHNob3dpbmcgdGVuc29yIHNoYXBlcyBvbiBlZGdlcyAqLwogICAgICAuZWRnZSA+IHRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMy41cHg7CiAgICAgICAgZmlsbDogIzY2NjsKICAgICAgfQoKICAgICAgLmRhdGFmbG93LWFycm93aGVhZCB7CiAgICAgICAgZmlsbDogI2JiYjsKICAgICAgfQoKICAgICAgLnJlZmVyZW5jZS1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNmZmI3NGQ7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZC1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNmMDA7CiAgICAgIH0KCiAgICAgIC5lZGdlIC5jb250cm9sLWRlcCB7CiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMiwgMjsKICAgICAgfQoKICAgICAgLyogLS0tIEdyb3VwIG5vZGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiAtLS0gKi8KCiAgICAgIC8qIEhpZGVzIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIHdoZW4gYSBub2RlIGlzbid0IGV4cGFuZGVkIG9yIGhpZ2hsaWdodGVkLiBVc2luZwogICBpbmNyZWRpYmx5IHNtYWxsIG9wYWNpdHkgc28gdGhhdCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSA8Zz4gcGFyZW50IHN0aWxsIHRha2VzCiAgIHRoaXMgY29udGFpbmVyIGludG8gYWNjb3VudCBldmVuIHdoZW4gaXQgaXNuJ3QgdmlzaWJsZSAqLwogICAgICAubm9kZTpub3QoLmhpZ2hsaWdodGVkKTpub3QoLmV4cGFuZGVkKSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjAxOwogICAgICB9CiAgICAgIC5ub2RlLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgICAuYnV0dG9uY2lyY2xlIHsKICAgICAgICBmaWxsOiAjZTc4MTFkOwogICAgICB9CiAgICAgIC5idXR0b25jaXJjbGU6aG92ZXIgewogICAgICAgIGZpbGw6ICNiOTY3MTc7CiAgICAgIH0KICAgICAgLmV4cGFuZGJ1dHRvbiwKICAgICAgLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICB9CiAgICAgIC8qIERvIG5vdCBsZXQgdGhlIHBhdGggZWxlbWVudHMgaW4gdGhlIGJ1dHRvbiB0YWtlIHBvaW50ZXIgZm9jdXMgKi8KICAgICAgLm5vZGUgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciA+IC5leHBhbmRidXR0b24sCiAgICAgIC5ub2RlID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuY29sbGFwc2VidXR0b24gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIC8qIE9ubHkgc2hvdyB0aGUgZXhwYW5kIGJ1dHRvbiB3aGVuIGEgbm9kZSBpcyBjb2xsYXBzZWQgYW5kIG9ubHkgc2hvdyB0aGUKICAgY29sbGFwc2UgYnV0dG9uIHdoZW4gYSBub2RlIGlzIGV4cGFuZGVkLiAqLwogICAgICAubm9kZS5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmV4cGFuZGJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubm9kZTpub3QoLmV4cGFuZGVkKSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtc3RhdHMgewogICAgICAgIGZvbnQtc2l6ZTogNHB4OwogICAgICAgIHRleHQtYW5jaG9yOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbCByZWN0IHsKICAgICAgICBmaWx0ZXI6IHVybCgjaGVhbHRoLXBpbGwtc2hhZG93KTsKICAgICAgICByeDogMzsKICAgICAgICByeTogMzsKICAgICAgfQoKICAgICAgLnRpdGxlQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdG9wOiAyMHB4OwogICAgICB9CgogICAgICAudGl0bGUsCiAgICAgIC5hdXhUaXRsZSwKICAgICAgLmZ1bmN0aW9uTGlicmFyeVRpdGxlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIH0KCiAgICAgICNtaW5pbWFwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDIwcHg7CiAgICAgICAgYm90dG9tOiAyMHB4OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWluLXdpZHRoOiAxNTBweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ0OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHVsIHsKICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHVsIGxpIHsKICAgICAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgICAgfQoKICAgICAgLmNvbnRleHQtbWVudSB1bCBsaTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzOTEzZTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJ0aXRsZUNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRpdGxlIiBjbGFzcz0idGl0bGUiPk1haW4gR3JhcGg8L2Rpdj4KICAgICAgPGRpdiBpZD0iYXV4VGl0bGUiIGNsYXNzPSJhdXhUaXRsZSI+QXV4aWxpYXJ5IE5vZGVzPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImZ1bmN0aW9uTGlicmFyeVRpdGxlIiBjbGFzcz0iZnVuY3Rpb25MaWJyYXJ5VGl0bGUiPgogICAgICAgIEZ1bmN0aW9ucwogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPHN2ZyBpZD0ic3ZnIj4KICAgICAgPGRlZnM+CiAgICAgICAgCiAgICAgICAgPHBhdGggaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCIgZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLXNtYWxsIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSI1IiBtYXJrZXJoZWlnaHQ9IjUiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLW1lZGl1bSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMTMiIG1hcmtlcmhlaWdodD0iMTMiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLWxhcmdlIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSIxNiIgbWFya2VyaGVpZ2h0PSIxNiIgcmVmeD0iMiIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiIG1hcmtlcnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNyZWZlcmVuY2UtYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgPG1hcmtlciBjbGFzcz0icmVmZXJlbmNlLWFycm93aGVhZCIgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQteGxhcmdlIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSIyMCIgbWFya2VyaGVpZ2h0PSIyMCIgcmVmeD0iMiIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiIG1hcmtlcnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNyZWZlcmVuY2UtYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CgogICAgICAgIAogICAgICAgIDxwYXRoIGlkPSJkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCIgZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1zbWFsbCIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSIyIiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIgbWFya2VydW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1tZWRpdW0iIHZpZXdib3g9IjAgMCAxMCAxMCIgbWFya2Vyd2lkdGg9IjEzIiBtYXJrZXJoZWlnaHQ9IjEzIiByZWZ4PSIyIiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIgbWFya2VydW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1sYXJnZSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMTYiIG1hcmtlcmhlaWdodD0iMTYiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjZGF0YWZsb3ctYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgPG1hcmtlciBjbGFzcz0iZGF0YWZsb3ctYXJyb3doZWFkIiBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLXhsYXJnZSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMjAiIG1hcmtlcmhlaWdodD0iMjAiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjZGF0YWZsb3ctYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CgogICAgICAgIAogICAgICAgIDxtYXJrZXIgaWQ9ImFubm90YXRpb24tYXJyb3doZWFkIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSI1IiByZWZ5PSIyLjUiIG9yaWVudD0iYXV0byI+CiAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDUsMi41IEwgMCw1IEwgMCwwIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgaWQ9ImFubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSI1IiByZWZ5PSIyLjUiIG9yaWVudD0iYXV0byI+CiAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDUsMi41IEwgMCw1IEwgMCwwIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgaWQ9InJlZi1hbm5vdGF0aW9uLWFycm93aGVhZCIgbWFya2Vyd2lkdGg9IjUiIG1hcmtlcmhlaWdodD0iNSIgcmVmeD0iMCIgcmVmeT0iMi41IiBvcmllbnQ9ImF1dG8iPgogICAgICAgICAgPHBhdGggZD0iTSA1LDAgTCAwLDIuNSBMIDUsNSBMIDUsMCIgLz4KICAgICAgICA8L21hcmtlcj4KICAgICAgICA8bWFya2VyIGlkPSJyZWYtYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQiIG1hcmtlcndpZHRoPSI1IiBtYXJrZXJoZWlnaHQ9IjUiIHJlZng9IjAiIHJlZnk9IjIuNSIgb3JpZW50PSJhdXRvIj4KICAgICAgICAgIDxwYXRoIGQ9Ik0gNSwwIEwgMCwyLjUgTCA1LDUgTCA1LDAiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgCiAgICAgICAgPGVsbGlwc2UgaWQ9Im9wLW5vZGUtc3RhbXAiIHJ4PSI3LjUiIHJ5PSIzIiBzdHJva2U9ImluaGVyaXQiIGZpbGw9ImluaGVyaXQiIC8+CiAgICAgICAgCiAgICAgICAgPGVsbGlwc2UgaWQ9Im9wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgcng9IjUiIHJ5PSIyIiBzdHJva2U9ImluaGVyaXQiIGZpbGw9ImluaGVyaXQiIC8+CiAgICAgICAgCiAgICAgICAgPGcgaWQ9Im9wLXNlcmllcy12ZXJ0aWNhbC1zdGFtcCI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI5IiAvPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjMiIC8+CiAgICAgICAgPC9nPgogICAgICAgIAogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtaG9yaXpvbnRhbC1zdGFtcCI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxNiIgeT0iNCIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjEyIiB5PSI0IiAvPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCIgLz4KICAgICAgICA8L2c+CiAgICAgICAgCiAgICAgICAgPGcgaWQ9Im9wLXNlcmllcy1hbm5vdGF0aW9uLXN0YW1wIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iOSIgeT0iMiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iNyIgeT0iMiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iNSIgeT0iMiIgLz4KICAgICAgICA8L2c+CiAgICAgICAgPHN2ZyBpZD0ic3VtbWFyeS1pY29uIiBmaWxsPSIjODQ4NDg0IiBoZWlnaHQ9IjEyIiB2aWV3Ym94PSIwIDAgMjQgMjQiIHdpZHRoPSIxMiI+CiAgICAgICAgICA8cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6TTkgMTdIN3YtN2gydjd6bTQgMGgtMlY3aDJ2MTB6bTQgMGgtMnYtNGgydjR6IiAvPgogICAgICAgIDwvc3ZnPgoKICAgICAgICAKICAgICAgICA8cGF0dGVybiBpZD0icmVjdEhhdGNoIiBwYXR0ZXJudHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcGF0dGVybnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSIgLz4KICAgICAgICA8L3BhdHRlcm4+CiAgICAgICAgPHBhdHRlcm4gaWQ9ImVsbGlwc2VIYXRjaCIgcGF0dGVybnRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHBhdHRlcm51bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjIiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEiIC8+CiAgICAgICAgPC9wYXR0ZXJuPgoKICAgICAgICAKICAgICAgICA8ZmlsdGVyIGlkPSJoZWFsdGgtcGlsbC1zaGFkb3ciIHg9Ii00MCUiIHk9Ii00MCUiIHdpZHRoPSIxODAlIiBoZWlnaHQ9IjE4MCUiPgogICAgICAgICAgPGZlZ2F1c3NpYW5ibHVyIGluPSJTb3VyY2VBbHBoYSIgc3RkRGV2aWF0aW9uPSIwLjgiIC8+CiAgICAgICAgICA8ZmVvZmZzZXQgZHg9IjAiIGR5PSIwIiByZXN1bHQ9Im9mZnNldGJsdXIiIC8+CiAgICAgICAgICA8ZmVmbG9vZCBmbG9vZC1jb2xvcj0iIzAwMDAwMCIgLz4KICAgICAgICAgIDxmZWNvbXBvc2l0ZSBpbjI9Im9mZnNldGJsdXIiIG9wZXJhdG9yPSJpbiIgLz4KICAgICAgICAgIDxmZW1lcmdlPgogICAgICAgICAgICA8ZmVtZXJnZW5vZGUgLz4KICAgICAgICAgICAgPGZlbWVyZ2Vub2RlIGluPSJTb3VyY2VHcmFwaGljIiAvPgogICAgICAgICAgPC9mZW1lcmdlPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIAogICAgICA8cmVjdCBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjEwMDAwIiBoZWlnaHQ9IjEwMDAwIj48L3JlY3Q+CiAgICAgIDxnIGlkPSJyb290Ij48L2c+CiAgICA8L3N2Zz4KICAgIDx0Zi1ncmFwaC1taW5pbWFwIGlkPSJtaW5pbWFwIj48L3RmLWdyYXBoLW1pbmltYXA+CiAgICA8ZGl2IGlkPSJjb250ZXh0TWVudSIgY2xhc3M9ImNvbnRleHQtbWVudSI+PC9kaXY+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICB9CgogICAgICAuYXV0byB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtdmVydGljYWw7CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3RpdGxlXV0iPgogICAgICAgICAgPGgyPltbdGl0bGVdXTwvaDI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGYtZ3JhcGgtc2NlbmUgaWQ9InNjZW5lIiBjbGFzcz0iYXV0byIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgaGlnaGxpZ2h0ZWQtbm9kZT0iW1tfZ2V0VmlzaWJsZShoaWdobGlnaHRlZE5vZGUpXV0iIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iIHNlbGVjdGVkLWVkZ2U9Int7c2VsZWN0ZWRFZGdlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgcHJvZ3Jlc3M9IltbcHJvZ3Jlc3NdXSIgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9Iltbbm9kZUNvbnRleHRNZW51SXRlbXNdXSIgbm9kZS1uYW1lcy10by1oZWFsdGgtcGlsbHM9Iltbbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIiBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIgaGFuZGxlLWVkZ2Utc2VsZWN0ZWQ9IltbaGFuZGxlRWRnZVNlbGVjdGVkXV0iIHRyYWNlLWlucHV0cz0iW1t0cmFjZUlucHV0c11dIj48L3RmLWdyYXBoLXNjZW5lPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItY29udGludWUtZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0iY29udGludWUtYnV0dG9uIiBvbi1jbGljaz0iX2NvbnRpbnVlQnV0dG9uQ2FsbGJhY2siPgogICAgICA8c3Bhbj5bW19jb250aW51ZUJ1dHRvblRleHRdXTwvc3Bhbj4KICAgIDwvcGFwZXItYnV0dG9uPgogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wIGlkPSJjb250aW51ZURpYWxvZyI+CiAgICAgIDxoMj5Db250aW51ZS4uLjwvaDI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRpbnVlLXRvLXR5cGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRpbnVlLXRvLXR5cGUtbmFtZSI+CiAgICAgICAgICBPdmVyIFNlc3Npb24gUnVuczoKICAgICAgICA8L2Rpdj4KICAgICAgICA8cGFwZXItaW5wdXQgaWQ9ImNvbnRpbnVlTnVtIiBjbGFzcz0iaW5wdXQtYm94IiBsYWJlbD0iTnVtYmVyIG9mIFNlc3Npb24gUnVucyAoaW5jbHVkaW5nIHRoZSBjdXJyZW50IG9uZSk6IiBhbHdheXMtZmxvYXQtbGFiZWwgdHlwZT0ibnVtYmVyIiBtaW49IjEiIHN0ZXA9IjEiIHZhbHVlPSJ7e2NvbnRpbnVlTnVtfX0iPjwvcGFwZXItaW5wdXQ+CiAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGNsYXNzPSJnby1idXR0b24iIGljb249ImFycm93LWZvcndhcmQiIHRpdGxlPSJTZXNzaW9uIFJ1bnMgR28iIG9uLXRhcD0iX3Nlc3Npb25SdW5Hb0J1dHRvbkNhbGxiYWNrIj4KICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGludWUtdG8tdHlwZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGludWUtdG8tdHlwZS1uYW1lIj4KICAgICAgICAgIFRpbGwgQ29uZGl0aW9uIE1ldCBieSBXYXRjaGVkIFRlbnNvcgogICAgICAgIDwvZGl2PgogICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGlkPSJ0ZW5zb3JDb25kaXRpb25Ecm9wZG93biIgY2xhc3M9ImlucHV0LWJveCIgbm8tbGFiZWwtZmxvYXQ9InRydWUiIGxhYmVsPSJUZW5zb3IgQ29uZGl0aW9uIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19zZWxlY3RlZFRlbnNvckNvbmRpdGlvbn19Ij4KICAgICAgICAgIAogICAgICAgICAgPHBhcGVyLWxpc3Rib3ggaWQ9InRlbnNvckNvbmRpdGlvbk1lbnUiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPkNvbnRhaW5zICsvLeKIniBvciBOYU48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5Db250YWlucyArLy3iiJ48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5Db250YWlucyBOYU48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NYXggJmd0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk1heCAmbHQ7PC9wYXBlci1pdGVtPgogICAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+TWluICZndDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NaW4gJmx0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk1heCAtIE1pbiAmZ3Q7PC9wYXBlci1pdGVtPgogICAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+TWF4IC0gTWluICZsdDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NZWFuICZndDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NZWFuICZsdDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5TdGFuZGFyZCBkZXZpYXRpb24gJmd0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPlN0YW5kYXJkIGRldmlhdGlvbiAmbHQ7PC9wYXBlci1pdGVtPgogICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gY2xhc3M9ImdvLWJ1dHRvbiIgaWNvbj0iYXJyb3ctZm9yd2FyZCIgdGl0bGU9IlRlbnNvciBDb25kaXRpb24gR28iIG9uLXRhcD0iX3RlbnNvckNvbnRpbnVlR29CdXR0b25DYWxsYmFjayI+CiAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8cGFwZXItaW5wdXQgaWQ9InJlZi12YWx1ZSIgY2xhc3M9ImlucHV0LWJveCIgbGFiZWw9IlJlZmVyZW5jZSB2YWx1ZSB0byBjb21wYXJlIHRvIiB0eXBlPSJudW1iZXIiIHZhbHVlPSJ7e190ZW5zb3JDb25kaXRpb25SZWZWYWx1ZX19IiBoaWRkZW49IltbX2lzUmVmVmFsdWVJbnB1dEhpZGRlbl1dIj4KICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICA8L2Rpdj4KICAgIDwvcGFwZXItZGlhbG9nPgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgLmNvbnRpbnVlLXRvLXR5cGUtbmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgOmhvc3QgcGFwZXItZGlhbG9nIHsKICAgICAgICB3aWR0aDogMzZ2dzsKICAgICAgfQogICAgICA6aG9zdCAuaW5wdXQtYm94IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICB9CiAgICAgIDpob3N0IC5nby1idXR0b24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTUlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRlYnVnZ2VyLWluaXRpYWwtZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICAKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfb3Blbl1dIj4KICAgICAgPGRpdiBpZD0iZGFzaGJvYXJkLWJhY2tkcm9wIj48L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8cGFwZXItZGlhbG9nIGlkPSJkaWFsb2ciIG5vLWNhbmNlbC1vbi1vdXRzaWRlLWNsaWNrIG5vLWNhbmNlbC1vbi1lc2Mta2V5IG9wZW5lZD0ie3tfb3Blbn19Ij4KICAgICAgPGgyIGlkPSJkaWFsb2ctdGl0bGUiPltbX3RpdGxlXV08L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0N1c3RvbU1lc3NhZ2VdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLW1lc3NhZ2UiPltbX2N1c3RvbU1lc3NhZ2VdXTwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9oYXNDdXN0b21NZXNzYWdlXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWV4YW1wbGUtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9hcGlfZG9jcy9weXRob24vdGYvU2Vzc2lvbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+dGYuU2Vzc2lvbjwvYT46CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGNsYXNzPSJjb2RlLXNuaXBwZXQiPmltcG9ydCB0ZW5zb3JmbG93IGFzIHRmCmZyb20gdGVuc29yZmxvdy5weXRob24gaW1wb3J0IGRlYnVnIGFzIHRmX2RlYnVnCgpzZXNzID0gdGYuU2Vzc2lvbigpCnNlc3MgPSB0Zl9kZWJ1Zy5UZW5zb3JCb2FyZERlYnVnV3JhcHBlclNlc3Npb24oc2VzcywgIltbX2hvc3RdXTpbW19wb3J0XV0iKQpzZXNzLnJ1bihteV9mZXRjaGVzKQogICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1leGFtcGxlLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL3Byb2dyYW1tZXJzX2d1aWRlL2VzdGltYXRvcnMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVzdGltYXRvcjwvYT4KICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvYXBpX2RvY3MvcHl0aG9uL3RmL3RyYWluL01vbml0b3JlZFNlc3Npb24iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPk1vbml0b3JlZFNlc3Npb248L2E+OgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1zbmlwcGV0Ij5pbXBvcnQgdGVuc29yZmxvdyBhcyB0Zgpmcm9tIHRlbnNvcmZsb3cucHl0aG9uIGltcG9ydCBkZWJ1ZyBhcyB0Zl9kZWJ1ZwoKaG9vayA9IHRmX2RlYnVnLlRlbnNvckJvYXJkRGVidWdIb29rKCJbW19ob3N0XV06W1tfcG9ydF1dIikKbXlfZXN0aW1hdG9yLmZpdCh4PXhfZGF0YSwgeT15X2RhdGEsIHN0ZXBzPTEwMDAsIG1vbml0b3JzPVtob29rXSkKICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1leGFtcGxlLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8va2VyYXMuaW8vbW9kZWxzL21vZGVsLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+S2VyYXMgTW9kZWw8L2E+OgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1zbmlwcGV0Ij5pbXBvcnQgdGVuc29yZmxvdyBhcyB0Zgpmcm9tIHRlbnNvcmZsb3cucHl0aG9uIGltcG9ydCBkZWJ1ZyBhcyB0Zl9kZWJ1ZwppbXBvcnQga2VyYXMKCmtlcmFzLmJhY2tlbmQuc2V0X3Nlc3Npb24oCiAgICB0Zl9kZWJ1Zy5UZW5zb3JCb2FyZERlYnVnV3JhcHBlclNlc3Npb24odGYuU2Vzc2lvbigpLCAiW1tfaG9zdF1dOltbX3BvcnRdXSIpKQojIERlZmluZSB5b3VyIGtlcmFzIG1vZGVsLCBjYWxsZWQgIm1vZGVsIi4KbW9kZWwuZml0KC4uLikKICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItZGlhbG9nPgogICAgPHN0eWxlPgogICAgICAvKiogV2UgcmVseSBvbiBhIHNlcGFyYXRlIGBfaGlkZGVuYCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGRpcmVjdGx5IG1ha2luZyB1c2UKICAgICAgICAgIG9mIHRoZSBgX29wZW5gIGF0dHJpYnV0ZSBiZWNhdXNlIHRoaXMgQ1NTIHNwZWNpZmljYXRpb24gbWF5IHN0cmFuZ2VseQogICAgICAgICAgYWZmZWN0IG90aGVyIGVsZW1lbnRzIHRocm91Z2hvdXQgVGVuc29yQm9hcmQuIFNlZSAjODk5LiAqLwogICAgICA6aG9zdChbX2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIDpob3N0LAogICAgICAjZGFzaGJvYXJkLWJhY2tkcm9wIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAjZGFzaGJvYXJkLWJhY2tkcm9wIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgIH0KCiAgICAgIC5jb2RlLWV4YW1wbGUgewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CiAgICAgIC5jb2RlLWV4YW1wbGUtc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7CiAgICAgIH0KICAgICAgLmNvZGUtZXhhbXBsZS1zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAuY29kZS1zbmlwcGV0IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKICAgICAgfQoKICAgICAgI2RpYWxvZy10aXRsZSB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7CiAgICAgIH0KCiAgICAgIC5jdXN0b20tbWVzc2FnZSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItcmVzaXplciI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iYmFycyI+CiAgICAgIDxkaXYgY2xhc3M9ImJhcnMtcm90YXRvciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImJhcnMtdGV4dCI+fCB8PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdChbX3Jlc2l6ZXItaWRlbnRpZmllcl0pIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYmFja2dyb3VuZDogI2NjYzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2lzLWhvcml6b250YWxdKSB7CiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplOwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICA6aG9zdChbX2lzLXZlcnRpY2FsXSkgewogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICByaWdodDogLTE1cHg7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLmJhcnMgewogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIH0KCiAgICAgIC8qKiBUaGlzIGJsb2NrIHByZXZlbnRzIHRoZSBiYXJzIHJvdGF0b3IgZnJvbSBoYXZpbmcgYSBoZWlnaHQgdGhhdCBpcwogICAgICAgICAgdGhlIGVudGlyZSB2aWV3cG9ydCwgdGh1cyBvY2NsdWRpbmcgaXQgYW5kIGdpdmluZyBpdCBhbiB1bmRlc2lyZWQgY3Vyc29yCiAgICAgICAgICB2YWx1ZS4gKi8KICAgICAgLmJhcnMtcm90YXRvciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbaXMtaG9yaXpvbnRhbF0pIC5iYXJzLXJvdGF0b3IgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgICAgfQoKICAgICAgLmJhcnMtdGV4dCB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMTUpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLW9wLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2PgogICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBpZD0iZmlsdGVyLW1vZGUiIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0iRmlsdGVyIE1vZGUiIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2ZpbHRlck1vZGV9fSI+CiAgICAgICAgPHBhcGVyLWxpc3Rib3ggY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk5vZGUgTmFtZTwvcGFwZXItaXRlbT4KICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5PcCBUeXBlPC9wYXBlci1pdGVtPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImZpbHRlci1pbnB1dCIgbGFiZWw9IkZpbHRlciBSZWdleCIgYWx3YXlzLWZsb2F0LWxhYmVsIHZhbHVlPSJ7e19maWx0ZXJJbnB1dH19Ij48L3BhcGVyLWlucHV0PgogICAgPC9kaXY+CiAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBjbGFzcz0ic3Bpbm5lciIgaWQ9ImxvYWRpbmctc3Bpbm5lciIgaGlkZGVuPSJbWyFfaXNMb2FkaW5nXV0iPgogICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICA8ZGl2IGlkPSJzZWxlY3Rvci1oaWVyYXJjaHkiPjwvZGl2PgogICAgPHN0eWxlPgogICAgICAuaW5kZW50ZWQtbGV2ZWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OwogICAgICB9CgogICAgICAubGV2ZWwtY29udGFpbmVyIGlyb24tY29sbGFwc2UgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIG1hcmdpbjogMCA4cHggMCAwOwogICAgICB9CgogICAgICAub3AtdHlwZSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsKICAgICAgICBjb2xvcjogIzQ0NDsKICAgICAgfQoKICAgICAgLm9wLXRpdGxlLWxlYWYgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLm9wLXRpdGxlLWxlYWY6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CgogICAgICAucGFydGlhbC1jaGVja2JveCB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y1N2MwMDsKICAgICAgfQoKICAgICAgLm5vZGUtZXhwYW5kLWJ1dHRvbiB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAtMTNweDsKICAgICAgfQoKICAgICAgLmxldmVsLXRpdGxlLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgIG1hcmdpbjogMCAwIDAgLTFweDsKICAgICAgfQoKICAgICAgLm9wLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIG1hcmdpbjogMCAwIDAgMjdweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgIH0KCiAgICAgIC5zcGlubmVyIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgI2ZpbHRlci1tb2RlIHsKICAgICAgICB3aWR0aDogMTUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjZmlsdGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuaGlnaGxpZ2h0ZWQgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KICAgICAgLmhpZ2hsaWdodGVkID4gLm9wLXR5cGUgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rvci1oaWVyYXJjaHkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXNlc3Npb24tcnVucy12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJzZXNzaW9uLXJ1bnMtZGl2Ij4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2Vzc2lvbiBSdW5zPC9kaXY+CiAgICAgIDx0YWJsZSBpZD0ic2Vzc2lvbi1ydW5zLXRhYmxlIiBhbGlnbj0ibGVmdCIgY2xhc3M9InNlc3Npb24tcnVucy10YWJsZSI+CiAgICAgICAgPHRib2R5Pjx0ciBhbGlnbj0ibGVmdCI+CiAgICAgICAgICA8dGg+RmVlZHM8L3RoPgogICAgICAgICAgPHRoPkZldGNoZXM8L3RoPgogICAgICAgICAgPHRoPlRhcmdldHM8L3RoPgogICAgICAgICAgPHRoPiMoRGV2aWNlcyk8L3RoPgogICAgICAgICAgPHRoPkNvdW50PC90aD4KICAgICAgICA8L3RyPgogICAgICA8L3Rib2R5PjwvdGFibGU+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDIwcHggMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTEwJTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICA6aG9zdCAuaW5kZW50ZWQtbGV2ZWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OwogICAgICB9CgogICAgICAvKiBUT0RPKGNhaXMpOiBUaGlzIG5lZWRzIHdvcms6IHRoZSB0YWJsZSBzaG91bGRuJ3QgZ2V0IHRvbyB3aWRlIHdoZW4KICAgICAgICAgdGhlcmUgYXJlIG1hbnkgZmVlZHMvZmV0Y2hlcy90YXJndGUgbmFtZXMuICovCiAgICAgIC5zZXNzaW9uLXJ1bnMtdGFibGUgewogICAgICAgIGFsaWduLWNvbnRlbnQ6IGxlZnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBmb250LXNpemU6IDkwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkIDFweCBibGFjazsKICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4ICNkZGQ7CiAgICAgIH0KICAgICAgLmFjdGl2ZS1zZXNzaW9uLXJ1biB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZlMDsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAuc29sZS1hY3RpdmUtc2Vzc2lvbi1ydW4gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzIsIDIzMiwgMTg4KTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLm5vZGUtb3ItdGVuc29yLWVsZW1lbnQgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLm5vZGUtb3ItdGVuc29yLWVsZW1lbnQ6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc291cmNlLWNvZGUtdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBpZD0iZnVsbFN0YWNrRGlhbG9nIiBoaWRkZW4kPSJbWyFfZnVsbFN0YWNrU2hvd25dXSI+CiAgICAgIDxkaXYgaWQ9ImZ1bGwtc3RhY2stdGl0bGUiPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJmaWx0ZXItbGlzdCIgZGlzYWJsZWQ9InRydWUiPgogICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgRnVsbCBTdGFjayBUcmFjZSBvZiBOb2RlOgogICAgICAgIDxkaXYgaWQ9ImZ1bGwtc3RhY2stbm9kZS1uYW1lIj4iW1tfZnVsbFN0YWNrTm9kZU5hbWVdXSI8L2Rpdj4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0iY2xvc2UiIGlkPSJjbG9zZS1mdWxsLXN0YWNrLWJ1dHRvbiIgdGl0bGU9IkNsb3NlIEZ1bGwgU3RhY2siIG9uLXRhcD0iX2Nsb3NlRnVsbFN0YWNrRGlhbG9nIj4KICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHVsIGlkPSJmdWxsLXN0YWNrLWNvbnRlbnQiPjwvdWw+CiAgICA8L2Rpdj4KICAgIDxwYXBlci10YWJzIGlkPSJzb3VyY2UtZmlsZXMtdGFicyIgc2VsZWN0ZWQ9Int7X2ZpbGVQYXRoU2VsZWN0ZWR9fSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3Nob3J0RmlsZVBhdGhzXV0iPgogICAgICAgIDxwYXBlci10YWIgaWQ9IltbaXRlbS5pZF1dIj5bW2l0ZW0ubmFtZV1dPC9wYXBlci10YWI+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3BhcGVyLXRhYnM+CiAgICA8ZGl2IGlkPSJzb3VyY2UtZmlsZS1jb250ZW50IiBjbGFzcz0ic291cmNlLWNvbnRlbnQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19maWxlTGluZXNdXSI+CiAgICAgICAgPGRpdiBjbGFzcyQ9Int7aXRlbS5zb3VyY2VDbGFzc319IiBpZD0ic291cmNlLWxpbmUtW1tpdGVtLmxpbmVub11dIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb3VyY2UtbGluZS1udW1iZXIiIGlkPSJzb3VyY2UtbGluZW5vLVtbaXRlbS5saW5lbm9dXSI+CiAgICAgICAgICAgIFtbaXRlbS5saW5lbm9dXQogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNvdXJjZS1saW5lLW5vZGUtdG9nZ2xlIiBpZD0ic291cmNlLWxpbmUtbm9kZS10b2dnbGUtW1tpdGVtLmxpbmVub11dIj4KICAgICAgICAgICAgW1tpdGVtLm51bU5vZGVzXV0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb3VyY2UtbGluZS10ZXh0IiBpZD0ic291cmNlLWxpbmUtdGV4dC1bW2l0ZW0ubGluZW5vXV0iPgogICAgICAgICAgICBbW2l0ZW0udGV4dF1dCiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzb3VyY2UtbGluZS1ub2RlcyIgaWQ9InNvdXJjZS1saW5lLW5vZGVzLVtbaXRlbS5saW5lbm9dXSI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NvdXJjZS1maWxlcy10YWJzIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiA4JTsKICAgICAgfQogICAgICAuc291cmNlLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDkwJTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogOTAlOwogICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgIH0KICAgICAgLnNvdXJjZS1jb250ZW50IDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmYwMDsKICAgICAgfQogICAgICAuaGlnaGxpZ2h0ZWQtc291cmNlLWxpbmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW51bWJlciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGNvbG9yOiBsaWdodGJsdWU7CiAgICAgICAgd2lkdGg6IDJlbTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW5vZGUtdG9nZ2xlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY29sb3I6IGJsdWU7CiAgICAgICAgd2lkdGg6IDVlbTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC5zb3VyY2UtbGluZS1ub2RlcyB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiBibHVlOwogICAgICAgIG1hcmdpbi10b3A6IDBlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwZW07CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW5vZGUtZW50cnkgewogICAgICAgIG1hcmdpbi1yaWdodDogMWVtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKICAgICAgfQogICAgICAuc291cmNlLWxpbmUtbm9kZXMgc3BhbiB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKICAgICAgfQogICAgICAuc291cmNlLWxpbmUtdGV4dCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAjZnVsbFN0YWNrRGlhbG9nIHsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgd2lkdGg6IDQ1JTsKICAgICAgICBoZWlnaHQ6IDg1JTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAjZGRkOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgICAgI2Z1bGwtc3RhY2stdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTEwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgI2Z1bGwtc3RhY2stbm9kZS1uYW1lIHsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgfQogICAgICA6aG9zdCAjZnVsbC1zdGFjay1jb250ZW50IHsKICAgICAgICBwYWRkaW5nLXRvcDogMWVtOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtOwogICAgICAgIG1hcmdpbi10b3A6IDAuNWVtOwogICAgICAgIGZvbnQtc2l6ZTogOTAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQogICAgICAuc3RhY2stZnJhbWUtY2xpY2thYmxlIHsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnN0YWNrLWZyYW1lLW5vbmNsaWNrYWJsZSB7CiAgICAgICAgY29sb3I6ICM1NTU7CiAgICAgIH0KICAgICAgI2Nsb3NlLWZ1bGwtc3RhY2stYnV0dG9uIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi10ZW5zb3ItZGF0YS1zdW1tYXJ5Ij4KICA8dGVtcGxhdGU+CiAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VGVuc29yIFZhbHVlIE92ZXJ2aWV3PC9zcGFuPgogICAgPGRpdiBpZD0idGVuc29yLWRhdGEtZGl2IiBjbGFzcz0idGVuc29yLWRhdGEtZGl2Ij4KICAgICAgPHRhYmxlIGlkPSJ0ZW5zb3ItZGF0YS10YWJsZSIgYWxpZ249ImxlZnQiIGNsYXNzPSJ0ZW5zb3ItZGF0YS10YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgPHRyIGFsaWduPSJsZWZ0Ij4KICAgICAgICAgICAgPHRoPlRlbnNvcjwvdGg+CiAgICAgICAgICAgIDx0aD5Db3VudDwvdGg+CiAgICAgICAgICAgIDx0aD5EVHlwZTwvdGg+CiAgICAgICAgICAgIDx0aD5TaGFwZTwvdGg+CiAgICAgICAgICAgIDx0aCB3aWR0aD0iMjUlIj5WYWx1ZTwvdGg+CiAgICAgICAgICAgIDx0aCB3aWR0aD0iMjUlIj4KICAgICAgICAgICAgICBIZWFsdGggUGlsbAogICAgICAgICAgICAgIDxwYXBlci10b2dnbGUtYnV0dG9uIGlkPSJzaG93LWhlYWx0aC1waWxscyIgY2hlY2tlZD0ie3tfaGVhbHRoUGlsbHNFbmFibGVkfX0iPgogICAgICAgICAgICAgIDwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItY2FyZD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWxlZ2VuZCIgaWQ9ImhlYWx0aC1waWxsLWxlZ2VuZCI+PC9kaXY+CiAgICAgICAgICAgICAgPC9wYXBlci1jYXJkPgogICAgICAgICAgICA8L3RoPgogICAgICAgICAgICA8dGggd2lkdGg9IjUlIj48L3RoPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT48L3Rib2R5PgogICAgICA8L3RhYmxlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0ICN0ZW5zb3ItZGF0YS1kaXYgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExMCU7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgOmhvc3QgLmluZGVudGVkLWxldmVsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgewogICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsKICAgICAgfQogICAgICA6aG9zdCAudGVuc29yLWRhdGEtdGFibGUgewogICAgICAgIGFsaWduLWNvbnRlbnQ6IGxlZnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmctdG9wOiAzcHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4OwogICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggI2RkZDsKICAgICAgfQogICAgICA6aG9zdCAjdGVuc29yLWRhdGEtdGFibGUgdGggewogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KICAgICAgOmhvc3QgLmFjdGl2ZS10ZW5zb3IgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzg4ODsKICAgICAgfQogICAgICA6aG9zdCAuaGlnaGxpZ2h0ZWQgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KICAgICAgOmhvc3QgLmhlYWx0aC1waWxsLWxlZ2VuZCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgOmhvc3QgI3Nob3ctaGVhbHRoLXBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgICAgLnZhbHVlLWV4cGFuc2lvbi1saW5rIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnZhbHVlLWV4cGFuc2lvbi1saW5rIDpob3ZlciB7CiAgICAgICAgY29sb3I6IGJsdWU7CiAgICAgIH0KICAgICAgLmhlYWx0aC1waWxsIDpob3ZlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC50ZW5zb3ItbmFtZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC50ZW5zb3ItbmFtZSA6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGVuc29yLXdpZGdldC1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPi8qIENvcHlyaWdodCAyMDE5IFRoZSBUZW5zb3JGbG93IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgpZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuClNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoudGVuc29yLXdpZGdldCB7CiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICBmb250LXNpemU6IDE0cHg7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIG92ZXJmbG93LXk6IGhpZGRlbjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbSB7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAxNHB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIG1hcmdpbi1sZWZ0OiAxNXB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKICBwYWRkaW5nOiAycHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1jb21tYSB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMTRweDsKICBsaW5lLWhlaWdodDogMTRweDsKfQoKLnRlbnNvci13aWRnZXQtZGltLWhpZ2hsaWdodGVkIHsKICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTAwLCAxODAsIDI1NSk7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1icmFja2V0cyB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4cHQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93biB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxMjgsIDEyOCwgMTI4KTsKICBib3gtc2hhZG93OiAycHggMnB4IDJweCAjYjBiMGIwOwogIGN1cnNvcjogcG9pbnRlcjsKICB3aWR0aDogMTgwcHg7CiAgei1pbmRleDogMTAwMDsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxODAsIDE4MCwgMTgwKTsKICBmb250LXNpemU6IDEycHg7CiAgcGFkZGluZzogM3B4OwogIHVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwMCwgMTgwLCAyNTUpOwp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWRpc2FibGVkIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwp9CgoudGVuc29yLXdpZGdldC1kdHlwZSB7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIGNvbG9yOiByZ2IoNjAsIDYwLCA2MCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0OwogIGhlaWdodDogNDhweDsKICBsaW5lLWhlaWdodDogMjJweDsKICBtYXgtaGVpZ2h0OiAyMnB4OwogIHBhZGRpbmctbGVmdDogMTRweDsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgoudGVuc29yLXdpZGdldC1kdHlwZS1sYWJlbCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKfQoKLnRlbnNvci13aWRnZXQtaGVhZGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLCAyNTIsIDI1Mik7CiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggI2IwYjBiMDsKICBoZWlnaHQ6IDQwcHg7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWF4LWhlaWdodDogNDBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMTAwJTsKfQoKLnRlbnNvci13aWRnZXQtaW5mbyB7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIGNvbG9yOiByZ2IoMCwgMCwgMjU1KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4cHQ7CiAgaGVpZ2h0OiAyMnB4OwogIGxpbmUtaGVpZ2h0OiAyMnB4OwogIG1hcmdpbi1sZWZ0OiA4cHg7CiAgbWF4LWhlaWdodDogMjJweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLnRlbnNvci13aWRnZXQtbWVudS10aHVtYiB7CiAgY29sb3I6IHJnYigzMiwgMzMsIDM2KTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGZvbnQtc2l6ZTogMTZweDsKICBtYXJnaW4tbGVmdDogMTBweDsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LW1lbnUtdGh1bWI6aG92ZXIgewogIGNvbG9yOiByZ2IoMjI3LCAxMTYsIDApOwp9CgoudGVuc29yLXdpZGdldC1zaGFwZSB7CiAgY29sb3I6IHJnYig2MCwgNjAsIDYwKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWxlZnQ6IDEycHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNoYXBlLWxhYmVsIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnRlbnNvci13aWRnZXQtc2hhcGUtdmFsdWUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnRlbnNvci13aWRnZXQtc2xpY2luZy1ncm91cCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgMjUwLCAyNTApOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMTkwLCAxOTAsIDE5MCk7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxOHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwYWRkaW5nLWJvdHRvbTogNXB4OwogIHBhZGRpbmctdG9wOiA1cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXRlbnNvci1uYW1lIHsKICBjb2xvcjogYmxhY2s7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC1sZWZ0LXJ1bGVyLXRpY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1bGVyLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBib3gtc2hhZG93OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGNvbG9yOiByZ2IoMTEwLCAxMTAsIDExMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAyOXB4OwogIGxpbmUtaGVpZ2h0OiAyOXB4OwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgbWF4LXdpZHRoOiA0NXB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA0NXB4Owp9CgoudGVuc29yLXdpZGdldC10b3AtcnVsZXIgewogIGhlaWdodDogMjRweDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogIGJveC1zaGFkb3c6IDFweCAxcHggMXB4ICNiMGIwYjA7CiAgZGlzcGxheTogbm9uZTsKICBmb250LXNpemU6IDEzcHg7CiAgcGFkZGluZzogNXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB3aWR0aDogMjQwcHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLXRvb2x0aXAtY29sb3JiYXIgewogIGhlaWdodDogMjRweDsKICB3aWR0aDogOTUlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWluZGljZXMgewogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLXZhbHVlIHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgoudGVuc29yLXdpZGdldC10b3AtcnVsZXItdGljayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVsZXItYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgY29sb3I6IHJnYigxMTAsIDExMCwgMTEwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDI0cHg7CiAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA0NXB4Owp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYgewogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4MCU7CiAgaGVpZ2h0OiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAyNHB4OwogIG1heC13aWR0aDogNDVweDsKICBwYWRkaW5nLXJpZ2h0OiAycHg7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbiB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLWxlZnQgewogIGJvcmRlci1sZWZ0OiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXJpZ2h0IHsKICBib3JkZXItcmlnaHQ6IDAuNXB4IHNvbGlkIGJsdWU7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tdG9wIHsKICBib3JkZXItdG9wOiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1zZWN0aW9uIHsKICAtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYigxNDAsIDE0MCwgMTQwKTsKICAtLXJ1bGVyLWJhY2tncm91bmQtY29sb3I6IHJnYigyMTAsIDIxMCwgMjEwKTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLXJvdyB7CiAgaGVpZ2h0OiAyNXB4OwogIGxpbmUtaGVpZ2h0OiAyNXB4OwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRlYnVnZ2VyLWxpbmUtY2hhcnQiPgogIDx0ZW1wbGF0ZT4KICAgIDx2ei1saW5lLWNoYXJ0MiB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW19saW5lQ2hhcnRYQ29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHktdmFsdWUtYWNjZXNzb3I9IltbX2xpbmVDaGFydFlWYWx1ZUFjY2Vzc29yXV0iIHRvb2x0aXAtY29sdW1ucz0iW1tfbGluZUNoYXJ0VG9vbHRpcENvbHVtbnNdXSIgc21vb3RoaW5nLWVuYWJsZWQ9IltbX2xpbmVDaGFydFNtb290aGluZ0VuYWJsZWRdXSI+PC92ei1saW5lLWNoYXJ0Mj4KICAgIDxzdHlsZT4KICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRlbnNvci12YWx1ZS12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItdG9hc3QgaWQ9InRlbnNvclZhbHVlVG9hc3QiIHRleHQ9IiIgYWx3YXlzLW9uLXRvcD48L3BhcGVyLXRvYXN0PgogICAgPHRhYmxlIGNsYXNzPSJ0ZW5zb3ItdmFsdWUtdmlldy10YWJsZSI+CiAgICAgIDx0Ym9keT48dHI+CiAgICAgICAgPHRkIGNvbHNwYW49IjIiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gaWQ9InRlbnNvci1uYW1lIiBvbi10YXA9InRlbnNvck5hbWVDYWxsYmFjayI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRlbnNvci1uYW1lLXRleHQiPltbdGVuc29yTmFtZV1dPC9zcGFuPgogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJjbG9zZSIgY2xhc3M9InZhbHVlLXZpZXctaWNvbi1idXR0b24iIGlkPSJ2YWx1ZS12aWV3LWljb24tYnV0dG9uIiB0aXRsZT0iQ2xvc2UiIG9uLXRhcD0iY2xvc2VCdXR0b25DYWxsYmFjayI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImZvcndhcmQiIGNsYXNzPSJ2YWx1ZS12aWV3LWljb24tYnV0dG9uIiBpZD0idmFsdWUtdmlldy1pY29uLWJ1dHRvbiIgdGl0bGU9IkNvbnRpbnVlIHRvIiBvbi10YXA9ImNvbnRpbnVlVG9CdXR0b25DYWxsYmFjayI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0ciBjbGFzcz0idGVuc29yLXZhbHVlLXZhbHVlLXRyIj4KICAgICAgICA8dGQ+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3VzZVRlbnNvcldpZGdldF1dIj4KICAgICAgICAgICAgPGRpdiBpZD0idGVuc29yLXdpZGdldCI+PC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX3VzZVRlbnNvcldpZGdldF1dIj4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gaWQ9ImRlYnVnLW9wIj48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGNsYXNzPSJpbmxpbmUgdmFsdWUtY2FyZC1pbnB1dCIgbGFiZWw9IlNsaWNpbmciIGlkPSJzbGljaW5nIiB2YWx1ZT0ie3tzbGljaW5nfX0iIG9uLWNoYW5nZT0icmVmcmVzaCI+CiAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGNsYXNzPSJpbmxpbmUgdmFsdWUtY2FyZC1pbnB1dCIgbGFiZWw9IlRpbWUgSW5kaWNlcyIgaWQ9InRpbWUtaW5kaWNlcyIgdmFsdWU9Int7dGltZUluZGljZXN9fSIgb24tY2hhbmdlPSJyZWZyZXNoIj4KICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBpZD0idGltZS1pbmRpY2VzLXRvZ2dsZS1idXR0b24iIGNsYXNzPSJ0ZW5zb3ItdmFsdWUtYnV0dG9ucyIgb24tY2xpY2s9Il90aW1lSW5kaWNlc1RvZ2dsZUJ1dHRvbkNhbGxiYWNrIj5GdWxsIEhpc3Rvcnk8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPC9kaXY+PC90ZW1wbGF0ZT48L3RkPjx0ZCBjbGFzcz0idGVuc29yLXZhbHVlLXZpZXctdGQiPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1ZhbHVlU2NhbGFyXV0iPgogICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgY2xhc3M9ImlubGluZSIgbGFiZWw9IlNjYWxhciBWYWx1ZSIgaWQ9InZhbHVlLXNjYWxhciIgdmFsdWU9IltbX2RhdGFTY2FsYXJdXSI+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1ZhbHVlTGluZUNoYXJ0XV0iPgogICAgICAgICAgICAgICAgICA8dGYtZGVidWdnZXItbGluZS1jaGFydCBkYXRhPSJbW19saW5lQ2hhcnREYXRhXV0iPjwvdGYtZGVidWdnZXItbGluZS1jaGFydD4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVmFsdWVJbWFnZV1dIj4KICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0idmFsdWUtaW1hZ2UiIGhlaWdodD0iMjUwcHgiIHdpZHRoPSIyNTBweCIgc3JjJD0iW1tfZGF0YUltYWdlU3JjXV0iPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAKICAgICAgICAgIAogICAgICAgIAogICAgICA8L3RyPgogICAgPC90Ym9keT48L3RhYmxlPgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0ZW5zb3Itd2lkZ2V0LXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAudGVuc29yLXZhbHVlLWJ1dHRvbnMgewogICAgICAgIGhlaWdodDogNzUlOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgfQogICAgICAudGVuc29yLXZhbHVlLXZpZXctdGFibGUgewogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7CiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDVweDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxcHggMXB4ICNkOGQ4ZDg7CiAgICAgIH0KICAgICAgLnRlbnNvci12YWx1ZS12aWV3LXRkIHsKICAgICAgICB3aWR0aDogMzUwcHg7CiAgICAgIH0KICAgICAgLnZhbHVlLWNhcmQtaW5wdXQgewogICAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgfQogICAgICAjdGVuc29yLW5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnRlbnNvci1uYW1lLXRleHQgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgICNkZWJ1Zy1vcCB7CiAgICAgICAgZm9udC1zaXplOiA5MCU7CiAgICAgIH0KICAgICAgLnZhbHVlLWltYWdlIHsKICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsKICAgICAgfQogICAgICAudmFsdWUtdmlldy1pY29uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3aWR0aDogMjAlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDkwJTsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgfQogICAgICAjdGVuc29yLXdpZGdldCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogICAgICAgIC8qIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgKi8KICAgICAgICBoZWlnaHQ6IDI4MHB4OwogICAgICAgIHdpZHRoOiA0ODRweDsKICAgICAgfQogICAgICAjc2xpY2luZywKICAgICAgI3RpbWUtaW5kaWNlcyB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGVuc29yLXZhbHVlLW11bHRpLXZpZXciPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9Im11bHRpVmlldyI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRlbnNvciBWYWx1ZXM8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXVsdGktdGVuc29yLXZpZXctY29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgICNtdWx0aVZpZXcgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAgICAgcGFkZGluZy10b3A6IDNweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAjZWVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItdG9hc3QgaWQ9InRvYXN0IiB0ZXh0PSIiIGFsd2F5cy1vbi10b3A+PC9wYXBlci10b2FzdD4KICAgIDx0Zi1kZWJ1Z2dlci1pbml0aWFsLWRpYWxvZyBpZD0iaW5pdGlhbERpYWxvZyI+PC90Zi1kZWJ1Z2dlci1pbml0aWFsLWRpYWxvZz4KICAgIAogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiIGlkPSJsZWZ0LXBhbmUiPgogICAgICAgIDxkaXYgaWQ9Im5vZGUtZW50cmllcyIgY2xhc3M9Im5vZGUtZW50cmllcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWJ1Z2dlci1zZWN0aW9uLXRpdGxlIj5SdW50aW1lIE5vZGUgTGlzdDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXNvdXJjZS1jb2RlIj4KICAgICAgICAgICAgU2hvdyBDb2RlOgogICAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjbGFzcz0idG9nZ2xlLXNvdXJjZS1jb2RlIiBpZD0ic2hvdy1zb3VyY2UtY29kZSIgY2hlY2tlZD0ie3tfc291cmNlQ29kZVNob3dufX0iPjwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRmLW9wLXNlbGVjdG9yIGRlYnVnLXdhdGNoZXM9IltbX2RlYnVnV2F0Y2hlc11dIiBkZWJ1Zy13YXRjaC1jaGFuZ2U9IltbX2NyZWF0ZURlYnVnV2F0Y2hDaGFuZ2VIYW5kbGVyKCldXSIgbm9kZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBmb3JjZS1leHBhbmQtYW5kLWNoZWNrLW5vZGUtbmFtZT0iW1tfZm9yY2VFeHBhbmRBbmRDaGVja05vZGVOYW1lXV0iIGZvcmNlLWV4cGFuZC1ub2RlLW5hbWU9IltbX2ZvcmNlRXhwYW5kTm9kZU5hbWVdXSI+CiAgICAgICAgICA8L3RmLW9wLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InNvdXJjZS1jb2RlLXZpZXctZGl2IiBjbGFzcz0ic291cmNlLWNvZGUtdmlldy1kaXYiIGhpZGRlbiQ9Int7IV9zb3VyY2VDb2RlU2hvd259fSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWJ1Z2dlci1zZWN0aW9uLXRpdGxlIj5Tb3VyY2UgQ29kZTwvZGl2PgogICAgICAgICAgPHRmLXNvdXJjZS1jb2RlLXZpZXcgaWQ9InNvdXJjZUNvZGVWaWV3IiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGRlYnVnLXdhdGNoZXM9IltbX2RlYnVnV2F0Y2hlc11dIiBmb2N1cy1ub2RlLW5hbWU9IltbX3NvdXJjZUZvY3VzTm9kZU5hbWVdXSIgbm9kZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBjb250aW51ZS10by1ub2RlPSJbW19jcmVhdGVDb250aW51ZVRvTm9kZUhhbmRsZXIoKV1dIj48L3RmLXNvdXJjZS1jb2RlLXZpZXc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHRmLWRlYnVnZ2VyLXJlc2l6ZXIgY3VycmVudC1sZW5ndGg9Int7X2xlZnRQYW5lV2lkdGh9fSIgbWluLWxlbmd0aD0iW1tfbWlubGVmdFBhbmVXaWR0aF1dIiBtYXgtbGVuZ3RoPSJbW19tYXhsZWZ0UGFuZVdpZHRoXV0iPgogICAgICAgIDwvdGYtZGVidWdnZXItcmVzaXplcj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHRmLXNlc3Npb24tcnVucy12aWV3IGlkPSJzZXNzaW9uUnVuc1ZpZXciIGxhdGVzdC1zZXNzaW9uLXJ1bj0iW1tfbGF0ZXN0U2Vzc2lvblJ1bl1dIiBzZXNzaW9uLXJ1bi1rZXktdG8tZGV2aWNlLW5hbWVzPSJbW19zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzXV0iIHNvbGUtYWN0aXZlPSJbW19zZXNzaW9uUnVuU29sZUFjdGl2ZV1dIiBub2RlLW9yLXRlbnNvci1jbGlja2VkPSJbW19jcmVhdGVGZWVkRmV0Y2hUYXJnZXRDbGlja2VkSGFuZGxlcigpXV0iPgogICAgICAgICAgPC90Zi1zZXNzaW9uLXJ1bnMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b25zLWNvbnRhaW5lciI+CiAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0iY29udGludWUtYnV0dG9uIiBvbi1jbGljaz0iX3N0ZXAiPgogICAgICAgICAgICA8c3Bhbj5bW19zdGVwQnV0dG9uVGV4dF1dPC9zcGFuPgogICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8dGYtZGVidWdnZXItY29udGludWUtZGlhbG9nIGlkPSJjb250aW51ZURpYWxvZyIgc2Vzc2lvbi1ydW4tZ289IltbX2NyZWF0ZVNlc3Npb25SdW5HbygpXV0iIHRlbnNvci1jb25kaXRpb24tZ289IltbX2NyZWF0ZVRlbnNvckNvbmRpdGlvbkdvKCldXSIgZm9yY2UtY29udGludWF0aW9uLXN0b3A9IltbX2NyZWF0ZUZvcmNlQ29udGludWF0aW9uU3RvcCgpXV0iPgogICAgICAgICAgPC90Zi1kZWJ1Z2dlci1jb250aW51ZS1kaWFsb2c+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgIDx0Zi1ncmFwaC1sb2FkZXIgaWQ9ImxvYWRlciIgb3V0LWdyYXBoLWhpZXJhcmNoeT0ie3tncmFwaEhpZXJhcmNoeX19IiBvdXQtZ3JhcGg9Int7Z3JhcGh9fSIgb3V0LXN0YXRzPSJ7e3N0YXRzfX0iIHByb2dyZXNzPSJ7e19ncmFwaFByb2dyZXNzfX0iPjwvdGYtZ3JhcGgtbG9hZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiIGlkPSJjZW50ZXItY29udGVudCI+CiAgICAgICAgPGRpdiBpZD0idG9wLXJpZ2h0LXF1YWRyYW50Ij4KICAgICAgICAgIDxwYXBlci10YWJzIHNlbGVjdGVkPSJ7e190b3BSaWdodFNlbGVjdGVkfX0iPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190b3BSaWdodFRhYnNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLXRhYiBpZD0iW1tpdGVtLmlkXV0iPltbaXRlbS5uYW1lXV08L3BhcGVyLXRhYj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItdGFicz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJ1bnRpbWUtZ3JhcGgtZGV2aWNlIj4KICAgICAgICAgICAgPHNwYW4gaWQ9InJ1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUiPiA8L3NwYW4+CiAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGlkPSJhY3RpdmUtcnVudGltZS1ncmFwaC1kZXZpY2UtbmFtZSIgbm8tbGFiZWwtZmxvYXQ9InRydWUiIGxhYmVsPSJEZXZpY2UgbmFtZSIgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZX19Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19hY3RpdmVTZXNzaW9uUnVuRGV2aWNlc11dIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPltbaXRlbV1dPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBjbGFzcz0ic3Bpbm5lciIgaWQ9InRvcC1yaWdodC1zcGlubmVyIiBoaWRkZW49IltbIV9idXN5XV0iIGFjdGl2ZT0iW1tfYnVzeV1dIj4KICAgICAgICAgICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwYXBlci1wcm9ncmVzcyBpZD0idG9wLXJpZ2h0LXByb2dyZXNzLWJhciIgdmFsdWU9IjAiPjwvcGFwZXItcHJvZ3Jlc3M+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJncmFwaC1jb250YWluZXIiPgogICAgICAgICAgICAgIDx0Zi1ncmFwaCBpZD0iZ3JhcGgiIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIiBiYXNpYy1ncmFwaD0iW1tncmFwaF1dIiBzdGF0cz0iW1tzdGF0c11dIiBwcm9ncmVzcz0ie3tfZ3JhcGhQcm9ncmVzc319IiBjb2xvci1ieT0ic3RydWN0dXJlIiBjb2xvci1ieS1wYXJhbXM9Int7Y29sb3JCeVBhcmFtc319IiByZW5kZXItaGllcmFyY2h5PSJ7e19yZW5kZXJIaWVyYXJjaHl9fSIgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9IltbX2NyZWF0ZU5vZGVDb250ZXh0TWVudUl0ZW1zKCldXSI+PC90Zi1ncmFwaD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZXh0LW1lbnUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmVdXSI+CiAgICAgICAgICAgIDx0Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldyBpZD0idGVuc29yVmFsdWVNdWx0aVZpZXciIGNvbnRpbnVlLXRvLWNhbGxiYWNrPSJbW19jcmVhdGVDb250aW51ZVRvQ2FsbGJhY2soKV1dIiB0ZW5zb3ItbmFtZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBnZXQtaGVhbHRoLXBpbGw9IltbX2NyZWF0ZUdldEhlYWx0aFBpbGwoKV1dIj4KICAgICAgICAgICAgPC90Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDx0Zi1kZWJ1Z2dlci1yZXNpemVyIGlzLWhvcml6b250YWw9InRydWUiIGN1cnJlbnQtbGVuZ3RoPSJ7e190b3BSaWdodFF1YWRyYW50SGVpZ2h0fX0iIG1pbi1sZW5ndGg9IltbX21pblRvcFJpZ2h0UXVhZHJhbnRIZWlnaHRdXSIgbWF4LWxlbmd0aD0iW1tfbWF4VG9wUmlnaHRRdWFkcmFudEhlaWdodF1dIj4KICAgICAgICA8L3RmLWRlYnVnZ2VyLXJlc2l6ZXI+CgogICAgICAgIDxkaXYgaWQ9InRlbnNvci1kYXRhIiBjbGFzcz0idGVuc29yLWRhdGEiPgogICAgICAgICAgPHRmLXRlbnNvci1kYXRhLXN1bW1hcnkgaWQ9InRlbnNvckRhdGFTdW1tYXJ5IiBsYXRlc3QtdGVuc29yLWRhdGE9IltbX2xhdGVzdFRlbnNvckRhdGFdXSIgZXhwYW5kLWhhbmRsZXI9IltbX2NyZWF0ZVRlbnNvckRhdGFFeHBhbmRIYW5kbGVyKCldXSIgY29udGludWUtdG8tY2FsbGJhY2s9IltbX2NyZWF0ZUNvbnRpbnVlVG9DYWxsYmFjaygpXV0iIGhpZ2hsaWdodGVkLW5vZGUtbmFtZT0iW1tfaGlnaGxpZ2h0Tm9kZU5hbWVdXSIgdGVuc29yLW5hbWUtY2xpY2tlZD0iW1tfY3JlYXRlTm9kZUNsaWNrZWRIYW5kbGVyKCldXSIgZ2V0LWhlYWx0aC1waWxsPSJbW19jcmVhdGVHZXRIZWFsdGhQaWxsKCldXSI+CiAgICAgICAgICA8L3RmLXRlbnNvci1kYXRhLXN1bW1hcnk+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgcGFwZXItdG9hc3QgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDExMCU7CiAgICAgICAgd2lkdGg6IDQwdnc7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwdnc7CiAgICAgIH0KICAgICAgdGYtZGFzaGJvYXJkLWxheW91dCB7CiAgICAgICAgLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXM6IGF1dG87CiAgICAgICAgLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItbWF4LXdpZHRoOiBub25lOwogICAgICAgIC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aDogbm9uZTsKICAgICAgfQogICAgICAuZGVidWdnZXItc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIHBhcGVyLXRhYnMgewogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgcGFwZXItdGFiLmlyb24tc2VsZWN0ZWQgewogICAgICAgIGNvbG9yOiBibGFjazsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAjaW5pdGlhbERpYWxvZyB7CiAgICAgICAgLyoqIFRoaXMgbWF0Y2hlcyB0aGUgZGVmYXVsdCB6LWluZGV4IG9mIHBhcGVyLWRpYWxvZyBiYWNrZHJvcHMuICovCiAgICAgICAgei1pbmRleDogMTAyOwogICAgICB9CiAgICAgIC8qKiBSZXNpemUgdGhlIHJlZ2lvbiBmb3IgdGhlIGdyYXBoIGFzIHRoZSB1c2VyIHJlc2l6ZXMgdGhlIHJlZ2lvbi4gKi8KICAgICAgI2dyYXBoLWNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7CiAgICAgICAgLyoqIENsaXAgdGhlIG1pbmltYXAgaWYgdGhlIGhlaWdodCBvZiB0aGUgZ3JhcGggY29udGFpbmVyIGlzIHNtYWxsLiAqLwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgICNncmFwaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZy1sYWJlbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICB3aWR0aDogMTA1cHg7CiAgICAgIH0KICAgICAgI3gtdHlwZS1zZWxlY3RvciBwYXBlci1idXR0b24gewogICAgICAgIG1hcmdpbjogNXB4IDNweDsKICAgICAgfQogICAgICAucnVudGltZS1ncmFwaC1kZXZpY2UgewogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgI3J1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgICAgI2FjdGl2ZS1ydW50aW1lLWdyYXBoLWRldmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICB3aWR0aDogMzUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICAgICN0b3AtcmlnaHQtcHJvZ3Jlc3MtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgICAubGluZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nLXRvcDogNXB4OwogICAgICB9CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgLmNlbnRlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICB0Zi1kZWJ1Z2dlci1yZXNpemVyIHsKICAgICAgICByaWdodDogLTEwcHg7CiAgICAgIH0KICAgICAgI2NlbnRlci1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH0KICAgICAgLyoqIFRoZSByZXNpemVyIHNob3VsZCBoYXZlIG5vIHNwYWNlIHRvIHRoZSBsZWZ0IG9mIGl0LiAqLwogICAgICAjY2VudGVyLWNvbnRlbnQgdGYtZGVidWdnZXItcmVzaXplcltpcy1ob3Jpem9udGFsXSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4OwogICAgICB9CiAgICAgIC5jb250ZXh0LW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICAgIH0KICAgICAgLnNwaW5uZXIgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CiAgICAgIC5ub2RlLWVudHJpZXMgewogICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggI2RkZDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGhlaWdodDogODAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zb3VyY2UtY29kZS12aWV3LWRpdiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogNDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4ICNkZGQ7CiAgICAgIH0KICAgICAgI3Nlc3Npb25SdW5zVmlldyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IDI1dmg7CiAgICAgIH0KICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAyMHB4IDA7CiAgICAgIH0KICAgICAgI3RlbnNvci1kYXRhIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgfQogICAgICAjdGVuc29yRGF0YVN1bW1hcnkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgIH0KICAgICAgI3RvcC1yaWdodC1xdWFkcmFudCB7CiAgICAgICAgaGVpZ2h0OiA2NiU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KICAgICAgLnRvZ2dsZS1zb3VyY2UtY29kZSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07CiAgICAgICAgZm9udC1zaXplOiA4MCU7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CiAgICAgIC5jb250ZXh0LW1lbnUgdWwgewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7CiAgICAgIH0KICAgICAgLmNvbnRleHQtbWVudSB1bCBsaTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzOTEzZTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgIH0KICAgICAgLmlubGluZSwKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICB9CgogICAgICB2ei1saW5lLWNoYXJ0IHsKICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLW1hdGVyaWFsLXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi04ZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMTZkcDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLW1hdGVyaWFsIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItbWF0ZXJpYWwtc2hhcmVkLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QoW2FuaW1hdGVkXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy10cmFuc2l0aW9uOwogICAgICB9CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgaDIgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWxlZ2VuZCB7CiAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWxlZ2VuZCBoMiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IHsKICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDA7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAuY29sb3ItcHJldmlldyB7CiAgICAgICAgd2lkdGg6IDI2cHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLmNvbG9yLWxhYmVsLAogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLnRlbnNvci1jb3VudCB7CiAgICAgICAgY29sb3I6ICM3Nzc7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGhlaWdodDogMjZweDsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IC50ZW5zb3ItY291bnQgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQoKICAgICAgI2hlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIC8qIDMxIGNvbWVzIGZyb20gYWRkaW5nIGEgcGFkZGluZyBvZiAxNXB4IGZyb20gYm90aCBzaWRlcyBvZiB0aGUgcGFwZXItc2xpZGVyLCBzdWJ0cmFjdGluZwogICAqIDFweCBzbyB0aGF0IHRoZSBzbGlkZXIgd2lkdGggYWxpZ25zIHdpdGggdGhlIGltYWdlICh0aGUgbGFzdCBzbGlkZXIgbWFya2VyIHRha2VzIHVwIDFweCksCiAgICogYW5kIGFkZGluZyAycHggdG8gYWNjb3VudCBmb3IgYSBib3JkZXIgb2YgMXB4IG9uIGJvdGggc2lkZXMgb2YgdGhlIGltYWdlLiAzMCAtIDEgKyAyLgogICAqIEFwcGFyZW50bHksIHRoZSBwYXBlci1zbGlkZXIgbGFja3MgYSBtaXhpbiBmb3IgdGhvc2UgcGFkZGluZyB2YWx1ZXMuICovCiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMxcHgpOwogICAgICB9CgogICAgICAjaGVhbHRoLXBpbGxzLWxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KCiAgICAgICNoZWFsdGgtcGlsbC1zdGVwLW51bWJlci1pbnB1dCB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIgewogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAjbnVtZXJpYy1hbGVydHMtdGFibGUgewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZSB0ZCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlIC5maXJzdC1vZmZlbnNlLXRkIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5maXJzdC1vZmZlbnNlLXRkIHsKICAgICAgICB3aWR0aDogODBweDsKICAgICAgfQoKICAgICAgLnRlbnNvci1kZXZpY2UtdGQgewogICAgICAgIG1heC13aWR0aDogMTQwcHg7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAudGVuc29yLXNlY3Rpb24td2l0aGluLXRhYmxlIHsKICAgICAgICBjb2xvcjogIzI2NjIzNjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAudGVuc29yLXNlY3Rpb24td2l0aGluLXRhYmxlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuZGV2aWNlLXNlY3Rpb24td2l0aGluLXRhYmxlIHsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLm1pbmktaGVhbHRoLXBpbGwgewogICAgICAgIHdpZHRoOiAxMzBweDsKICAgICAgfQoKICAgICAgLm1pbmktaGVhbHRoLXBpbGwgPiBkaXYgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogNjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgICNldmVudC1jb3VudHMtdGggewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7CiAgICAgIH0KCiAgICAgIC5uZWdhdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAxNDEsIDApOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAucG9zaXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDYyLCAyMTIpOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAubmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiKDIwNCwgNDcsIDQ0KTsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgfQoKICAgICAgLm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24sCiAgICAgIC5wb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uLAogICAgICAubmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAubm8tbnVtZXJpYy1hbGVydHMtbm90aWZpY2F0aW9uIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCBoZWFsdGgtcGlsbC1sZWdlbmQiPgogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgRW5hYmxlIGFsbCAobm90IGp1c3Qgc2FtcGxlZCkgc3RlcHMuIFJlcXVpcmVzIHNsb3cgZGlzayByZWFkLgogICAgICA8L2Rpdj4KICAgICAgPHBhcGVyLXRvZ2dsZS1idXR0b24gaWQ9ImVuYWJsZUFsbFN0ZXBzTW9kZVRvZ2dsZSIgY2hlY2tlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iPgogICAgICA8L3BhcGVyLXRvZ2dsZS1idXR0b24+CiAgICAgIDxoMj4KICAgICAgICBTdGVwIG9mIEhlYWx0aCBQaWxsczoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJoZWFsdGgtcGlsbC1zdGVwLW51bWJlci1pbnB1dCIgbWluPSIwIiBtYXg9IltbX2JpZ2dlc3RTdGVwRXZlclNlZW5dXSIgdmFsdWU9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcDo6aW5wdXR9fSI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWFsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgICBbW19jdXJyZW50U3RlcERpc3BsYXlWYWx1ZV1dCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFhcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgaWQ9ImhlYWx0aC1waWxscy1sb2FkaW5nLXNwaW5uZXIiPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJoZWFsdGgtcGlsbC1zdGVwLXNsaWRlciIgaW1tZWRpYXRlLXZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSIgbWF4PSJbW19iaWdnZXN0U3RlcEV2ZXJTZWVuXV0iIHNuYXBzIHN0ZXA9IjEiIHZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX21heFN0ZXBJbmRleF1dIj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIgaWQ9ImhlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIiBpbW1lZGlhdGUtdmFsdWU9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IiBtYXg9IltbX21heFN0ZXBJbmRleF1dIiBzbmFwcyBzdGVwPSIxIiB2YWx1ZT0ie3toZWFsdGhQaWxsU3RlcEluZGV4fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxoMj4KICAgICAgICBIZWFsdGggUGlsbAogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1toZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlXV0iPgogICAgICAgICAgQ291bnRzIGZvciBTZWxlY3RlZCBOb2RlCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGVdXSI+CiAgICAgICAgICBMZWdlbmQKICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW2hlYWx0aFBpbGxFbnRyaWVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWVudHJ5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXByZXZpZXciIHN0eWxlPSJiYWNrZ3JvdW5kOltbaXRlbS5iYWNrZ3JvdW5kX2NvbG9yXV0iPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGFiZWwiPltbaXRlbS5sYWJlbF1dPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZW5zb3ItY291bnQiPgogICAgICAgICAgICBbW19jb21wdXRlVGVuc29yQ291bnRTdHJpbmcoaGVhbHRoUGlsbFZhbHVlc0ZvclNlbGVjdGVkTm9kZSwKICAgICAgICAgICAgaW5kZXgpXV0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGhpZGRlbiQ9IltbIV9oYXNEZWJ1Z2dlck51bWVyaWNBbGVydHMoZGVidWdnZXJOdW1lcmljQWxlcnRzKV1dIj4KICAgICAgICA8aDIgaWQ9Im51bWVyaWMtYWxlcnRzLWhlYWRlciI+TnVtZXJpYyBBbGVydHM8L2gyPgogICAgICAgIDxwPgogICAgICAgICAgQWxlcnRzIGFyZSBzb3J0ZWQgZnJvbSB0b3AgdG8gYm90dG9tIGJ5IGluY3JlYXNpbmcgdGltZXN0YW1wLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIiPgogICAgICAgICAgPHRhYmxlIGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZSI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+Rmlyc3QgT2ZmZW5zZTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+VGVuc29yIChEZXZpY2UpPC90aD4KICAgICAgICAgICAgICAgIDx0aCBpZD0iZXZlbnQtY291bnRzLXRoIj5FdmVudCBDb3VudHM8L3RoPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keSBpZD0ibnVtZXJpYy1hbGVydHMtYm9keSI+PC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9oYXNEZWJ1Z2dlck51bWVyaWNBbGVydHMoZGVidWdnZXJOdW1lcmljQWxlcnRzKV1dIj4KICAgICAgICA8cCBjbGFzcz0ibm8tbnVtZXJpYy1hbGVydHMtbm90aWZpY2F0aW9uIj4KICAgICAgICAgIE5vIG51bWVyaWMgYWxlcnRzIHNvIGZhci4gVGhhdCBpcyBsaWtlbHkgZ29vZC4gQWxlcnRzIGluZGljYXRlIHRoZQogICAgICAgICAgcHJlc2VuY2Ugb2YgTmFOIG9yICgrLy0pIEluZmluaXR5IHZhbHVlcywgd2hpY2ggbWF5IGJlIGNvbmNlcm5pbmcuCiAgICAgICAgPC9wPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9wYXBlci1tYXRlcmlhbD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tbGlzdCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbzogMSkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIEBhcHBseSAtLWlyb24tbGlzdC1pdGVtcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtncmlkXSkpICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxhcnJheS1zZWxlY3RvciBpZD0ic2VsZWN0b3IiIGl0ZW1zPSJ7e2l0ZW1zfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkSXRlbXN9fSIgc2VsZWN0ZWQtaXRlbT0ie3tzZWxlY3RlZEl0ZW19fSI+PC9hcnJheS1zZWxlY3Rvcj4KCiAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgoKICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWl0ZW0tYm9keSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogbmVlZGVkIGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyB0byB3b3JrIG9uIGZmICovCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CgogICAgICA6aG9zdChbdHdvLWxpbmVdKSB7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXR3by1saW5lLW1pbi1oZWlnaHQsIDcycHgpOwogICAgICB9CgogICAgICA6aG9zdChbdGhyZWUtbGluZV0pIHsKICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLWJvZHktdGhyZWUtbGluZS1taW4taGVpZ2h0LCA4OHB4KTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoW3NlY29uZGFyeV0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWJvZHkxOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeS1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtaWNvbiI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1zaXplOiAwOwogICAgICB9CgogICAgICAuZmFkZWQtcmVjdCB7CiAgICAgICAgZmlsbDogdXJsKCNyZWN0SGF0Y2gpOwogICAgICB9CgogICAgICAuZmFkZWQtZWxsaXBzZSB7CiAgICAgICAgZmlsbDogdXJsKCNlbGxpcHNlSGF0Y2gpOwogICAgICB9CgogICAgICAuZmFkZWQtcmVjdCwKICAgICAgLmZhZGVkLWVsbGlwc2UsCiAgICAgIC5mYWRlZC1zZXJpZXMgewogICAgICAgIHN0cm9rZTogdmFyKC0tdGItZ3JhcGgtZmFkZWQpICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgI3JlY3RIYXRjaCBsaW5lLAogICAgICAjZWxsaXBzZUhhdGNoIGxpbmUgewogICAgICAgIGNvbG9yOiAjZTBkNGIzICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogd2hpdGU7CiAgICAgICAgc3Ryb2tlOiAjZTBkNGIzICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxzdmcgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgaWQ9InN2Z0RlZnMiPgogICAgICA8ZGVmcz4KICAgICAgICAKICAgICAgICA8cGF0dGVybiBpZD0icmVjdEhhdGNoIiBwYXR0ZXJudHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcGF0dGVybnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSIgLz4KICAgICAgICA8L3BhdHRlcm4+CiAgICAgICAgPHBhdHRlcm4gaWQ9ImVsbGlwc2VIYXRjaCIgcGF0dGVybnRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHBhdHRlcm51bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjIiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEiIC8+CiAgICAgICAgPC9wYXR0ZXJuPgogICAgICAgIAogICAgICAgIDxlbGxpcHNlIGlkPSJvcC1ub2RlLXN0YW1wIiByeD0iNy41IiByeT0iMyIgc3Ryb2tlPSJpbmhlcml0IiBmaWxsPSJpbmhlcml0IiAvPgogICAgICAgIAogICAgICAgIDxlbGxpcHNlIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiIHJ4PSI1IiByeT0iMiIgc3Ryb2tlPSJpbmhlcml0IiBmaWxsPSJpbmhlcml0IiAvPgogICAgICAgIAogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iOSIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjYiIC8+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSIzIiAvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTYiIHk9IjQiIC8+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxMiIgeT0iNCIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjQiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIGlkPSJzdW1tYXJ5LWljb24iIGZpbGw9IiM4NDg0ODQiIGhlaWdodD0iMTIiIHZpZXdib3g9IjAgMCAyNCAyNCIgd2lkdGg9IjEyIj4KICAgICAgICAgIDxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiIC8+CiAgICAgICAgPC9nPgogICAgICA8L2RlZnM+CiAgICA8L3N2Zz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdDT05TVCcpXV0iPgogICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAxMCAxMCI+CiAgICAgICAgPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjMiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnU1VNTUFSWScpXV0iPgogICAgICA8c3ZnIHdpZHRoJD0iW1toZWlnaHRdXSIgaGVpZ2h0JD0iW1toZWlnaHRdXSIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSIjODQ4NDg0Ij4KICAgICAgICA8cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6TTkgMTdIN3YtN2gydjd6bTQgMGgtMlY3aDJ2MTB6bTQgMGgtMnYtNGgydjR6IiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnT1AnKV1dIj4KICAgICAgPHN2ZyBoZWlnaHQkPSJbW2hlaWdodF1dIiBwcmVzZXJ2ZWFzcGVjdHJhdGlvPSJ4TWluWU1pZCBtZWV0IiB2aWV3Ym94PSIwIDAgMTYgOCI+CiAgICAgICAgPHVzZSB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdlbGxpcHNlJyl9fSIgeD0iOCIgeT0iNCIgLz4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ01FVEEnKV1dIj4KICAgICAgPHN2ZyBoZWlnaHQkPSJbW2hlaWdodF1dIiBwcmVzZXJ2ZWFzcGVjdHJhdGlvPSJ4TWluWU1pZCBtZWV0IiB2aWV3Ym94PSIwIDAgMzcgMTYiPgogICAgICAgIDxyZWN0IHg9IjEiIHk9IjEiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdyZWN0Jyl9fSIgc3Ryb2tlLXdpZHRoPSIycHgiIGhlaWdodD0iMTQiIHdpZHRoPSIzNSIgcng9IjUiIHJ5PSI1IiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnU0VSSUVTJyldXSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1t2ZXJ0aWNhbF1dIj4KICAgICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAxNiAxNSI+CiAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjb3Atc2VyaWVzLXZlcnRpY2FsLXN0YW1wIiBmaWxsJD0iW1tfZmlsbF1dIiBzdHJva2UkPSJbW19zdHJva2VdXSIgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAnc2VyaWVzJyl9fSIgeD0iMCIgeT0iMiIgLz4KICAgICAgICA8L3N2Zz4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyF2ZXJ0aWNhbF1dIj4KICAgICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAyNCAxMCI+CiAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjb3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdzZXJpZXMnKX19IiB4PSIwIiB5PSIxIiAvPgogICAgICAgIDwvc3ZnPgogICAgICA8L3RlbXBsYXRlPgogICAgPC90ZW1wbGF0ZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ub2RlLWljb24iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgLS10Yi1ncmFwaC1mYWRlZDogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRmLWdyYXBoLWljb24gaWQ9Imljb24iIHR5cGU9IltbX2dldFR5cGUobm9kZSwgc3VtbWFyeSwgY29uc3QsIHR5cGUpXV0iIGhlaWdodD0iW1toZWlnaHRdXSIgZmlsbC1vdmVycmlkZT0iW1tfZmlsbE92ZXJyaWRlXV0iIHN0cm9rZS1vdmVycmlkZT0iW1tfZ2V0U3Ryb2tlT3ZlcnJpZGUoX2ZpbGxPdmVycmlkZSldXSIgZmFkZWQ9IltbX2dldEZhZGVkKHJlbmRlckluZm8pXV0iIHZlcnRpY2FsPSJbW19pc1ZlcnRpY2FsKG5vZGUsIHZlcnRpY2FsKV1dIj48L3RmLWdyYXBoLWljb24+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAjbGlzdC1pdGVtIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBjb2xvcjogIzU2NTY1NjsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5jbGlja2FibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuIHsKICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbS5leGNsdWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuLmVkZ2UtbGFiZWwgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMXB4OwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgLmZhZGVkIHNwYW4gewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1mYWRlZCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0ibGlzdC1pdGVtIiBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIiBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciI+CiAgICAgIDxkaXYgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGl0ZW1SZW5kZXJJbmZvKX19Ij4KICAgICAgICA8dGYtbm9kZS1pY29uIGNsYXNzPSJub2RlLWljb24iIGhlaWdodD0iMTIiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIgbm9kZT0iW1tpdGVtTm9kZV1dIiByZW5kZXItaW5mbz0iW1tpdGVtUmVuZGVySW5mb11dIiB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgIDwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgfQoKICAgICAgLmluY29tcGF0aWJsZS1vcHMtbGlzdCB7CiAgICAgICAgaGVpZ2h0OiAzNTBweDsKICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICBpcm9uLWxpc3QgewogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICBwYXBlci1pdGVtIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICNlOWU5ZTk7CiAgICAgIH0KCiAgICAgIHBhcGVyLWl0ZW0tYm9keVt0d28tbGluZV0gewogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggNHB4OwogICAgICB9CgogICAgICAuZXhwYW5kZWRJbmZvIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm5vZGUtbmFtZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgZm9udC1zaXplOiAxNHB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIGNvbG9yOiAjNWU1ZTVlOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC1kaXNwbGF5IHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgc3ZnLm9wLWNvbXBhdCB7CiAgICAgICAgd2lkdGg6IDI1MHB4OwogICAgICAgIGhlaWdodDogMjVweDsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC12YWx1ZSB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IGJsYWNrOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pdGVtPgogICAgICA8cGFwZXItaXRlbS1ib2R5IHR3by1saW5lPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfZXhwYW5kZWQpfX0iIG9uLWNsaWNrPSJfdG9nZ2xlRXhwYW5kZWQiIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj4KICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJub2RlLW5hbWUiIGlkPSJub2RldGl0bGUiPltbbm9kZVRpdGxlXV08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3AtY29tcGF0LWRpc3BsYXkiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im9wLWNvbXBhdCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDI1MCAyNSI+CiAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJvcC1jb21wYXQtZmlsbCI+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIj48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0JD0iW1tfb3BDb21wYXRTY29yZV1dIiBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIj48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0JD0iW1tfb3BDb21wYXRTY29yZV1dIiBzdG9wLWNvbG9yJD0iW1tfb3BJbmNvbXBhdENvbG9yXV0iPjwvc3RvcD4KICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3IkPSJbW19vcEluY29tcGF0Q29sb3IgXV0iPjwvc3RvcD4KICAgICAgICAgICAgICAgICAgPC9saW5lYXJncmFkaWVudD4KICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgIDxyZWN0IGhlaWdodD0iMjUiIHdpZHRoPSIyNTAiIHJ4PSI1IiByeT0iNSIgc3R5bGU9ImZpbGw6IHVybCgnI29wLWNvbXBhdC1maWxsJyk7IiAvPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC12YWx1ZSI+W1tfb3BDb21wYXRTY29yZUxhYmVsXV08L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgSW5jb21wYXRpYmxlIE9wZXJhdGlvbnM6ICg8c3Bhbj5bW190b3RhbEluY29tcGF0T3BzXV08L3NwYW4+KQogICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0iaW5jb21wYXRpYmxlLW9wcy1saXN0IiBpZD0iaW5jb21wYXRpYmxlT3BzTGlzdCIgaXRlbXM9IltbX2luY29tcGF0aWJsZU9wTm9kZXNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbSBjbGFzcz0ibm9uLWNvbnRyb2wtbGlzdC1pdGVtIiBpdGVtLW5vZGU9IltbaXRlbV1dIiBpdGVtLXJlbmRlci1pbmZvPSJbW19nZXRSZW5kZXJJbmZvKGl0ZW0ubmFtZSwgcmVuZGVySGllcmFyY2h5KV1dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIGl0ZW0tdHlwZT0iaW5jb21wYXRpYmxlLW9wcyI+CiAgICAgICAgICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbm9kZS1saXN0LWl0ZW0iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6ICM1NjU2NTY7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29vZ2xlLXllbGxvdy0xMDApOwogICAgICB9CgogICAgICAuY2xpY2thYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3BhbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0uZXhjbHVkZWQgc3BhbiB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3Bhbi5lZGdlLWxhYmVsIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgIH0KCiAgICAgIC5ub2RlLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDFweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5mYWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBpZD0ibGlzdC1pdGVtIiBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIiBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciI+CiAgICAgIDxkaXYgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGl0ZW1SZW5kZXJJbmZvKX19Ij4KICAgICAgICA8dGYtbm9kZS1pY29uIGNsYXNzPSJub2RlLWljb24iIGhlaWdodD0iMTIiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIgbm9kZT0iW1tpdGVtTm9kZV1dIiByZW5kZXItaW5mbz0iW1tpdGVtUmVuZGVySW5mb11dIiB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iPjwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJlZGdlLWxhYmVsIj5bW2VkZ2VMYWJlbF1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLW5vZGUtaW5mbyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuc3ViLWxpc3QtZ3JvdXAgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICB9CgogICAgICAuYXR0ci1sZWZ0IHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICB3aWR0aDogMzAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBjb2xvcjogIzU2NTY1NjsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQoKICAgICAgLmF0dHItcmlnaHQgewogICAgICAgIG1hcmdpbi1sZWZ0OiAzMCU7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIGNvbG9yOiAjNTY1NjU2OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZSB7CiAgICAgICAgZGlzcGxheTogdGFibGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKICAgICAgfQoKICAgICAgLnN1Yi1saXN0LXRhYmxlLXJvdyAuc3ViLWxpc3QtdGFibGUtY2VsbDpsYXN0LWNoaWxkIHsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLnN1Yi1saXN0LXRhYmxlLWNlbGwgewogICAgICAgIGNvbG9yOiAjNTY1NjU2OwogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZTllOWU5OwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb250cm9sRGVwcyB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4OwogICAgICB9CgogICAgICAubm9kZS1uYW1lIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBmb250LXNpemU6IDE0cHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsKICAgICAgICBjb2xvcjogIzVlNWU1ZTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xMaW5lIHsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1idXR0b24gewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1heC13aWR0aDogMjBweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuY29udHJvbC10b2dnbGUtYnV0dG9uIHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1heC13aWR0aDogMjBweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAudG9nZ2xlLWluY2x1ZGUtZ3JvdXAgewogICAgICAgIHBhZGRpbmctdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZSB7CiAgICAgICAgbWFyZ2luOiA1cHggNnB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHBhZGRpbmc6IDRweCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB0OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7CiAgICAgICAgY29sb3I6ICM2NjY7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29vZ2xlLXllbGxvdy0xMDApOwogICAgICB9CgogICAgICAubm9uLWNvbnRyb2wtbGlzdC1pdGVtIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGFwZXItaXRlbT4KICAgICAgPHBhcGVyLWl0ZW0tYm9keSB0d28tbGluZT4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249Int7X2dldFRvZ2dsZUljb24oX2V4cGFuZGVkKX19IiBvbi1jbGljaz0iX3RvZ2dsZUV4cGFuZGVkIiBjbGFzcz0idG9nZ2xlLWJ1dHRvbiI+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm9kZS1uYW1lIiBpZD0ibm9kZXRpdGxlIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDx0Zi1ub2RlLWljb24gY2xhc3M9Im5vZGUtaWNvbiIgbm9kZT0iW1tfbm9kZV1dIiByZW5kZXItaW5mbz0iW1tfZ2V0UmVuZGVySW5mbyhncmFwaE5vZGVOYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSI+PC90Zi1ub2RlLWljb24+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGUub3B9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgICBPcGVyYXRpb246CiAgICAgICAgICAgICAgPHNwYW4+W1tfbm9kZS5vcF1dPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGUubWV0YWdyYXBofX0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+CiAgICAgICAgICAgICAgU3ViZ3JhcGg6CiAgICAgICAgICAgICAgPHNwYW4+W1tfbm9kZS5jYXJkaW5hbGl0eV1dPC9zcGFuPiBub2RlcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvcGFwZXItaXRlbS1ib2R5PgogICAgPC9wYXBlci1pdGVtPgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgYXR0cmlidXRlcyI+CiAgICAgICAgICAgIEF0dHJpYnV0ZXMgKDxzcGFuPltbX2F0dHJpYnV0ZXMubGVuZ3RoXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaWQ9ImF0dHJpYnV0ZXNMaXN0IiBpdGVtcz0iW1tfYXR0cmlidXRlc11dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPltbaXRlbS5rZXldXTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLXJpZ2h0Ij5bW2l0ZW0udmFsdWVdXTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2RldmljZX19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgZGV2aWNlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPkRldmljZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHItcmlnaHQiPltbX2RldmljZV1dPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBwcmVkZWNlc3NvcnMiPgogICAgICAgICAgICBJbnB1dHMgKDxzcGFuPltbX3RvdGFsUHJlZGVjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaWQ9ImlucHV0c0xpc3QiIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMucmVndWxhcl1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbm9kZS1saXN0LWl0ZW0gY2xhc3M9Im5vbi1jb250cm9sLWxpc3QtaXRlbSIgY2FyZC1ub2RlPSJbW19ub2RlXV0iIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIgZWRnZS1sYWJlbD0iW1tpdGVtLmVkZ2VMYWJlbF1dIiBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiBpdGVtLXR5cGU9InByZWRlY2Vzc29ycyIgY29sb3ItYnk9IltbY29sb3JCeV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIj4KICAgICAgICAgICAgICAgIDwvdGYtbm9kZS1saXN0LWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249Int7X2dldFRvZ2dsZUljb24oX29wZW5lZENvbnRyb2xQcmVkKX19IiBvbi1jbGljaz0iX3RvZ2dsZUNvbnRyb2xQcmVkIiBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgQ29udHJvbCBkZXBlbmRlbmNpZXMKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19vcGVuZWRDb250cm9sUHJlZH19IiBuby1hbmltYXRpb24+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfb3BlbmVkQ29udHJvbFByZWR9fSIgcmVzdGFtcD0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0ic3ViLWxpc3QiIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iIG5hbWU9IltbaXRlbS5uYW1lXV0iIGl0ZW0tdHlwZT0icHJlZGVjZXNzb3JzIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDwvaXJvbi1jb2xsYXBzZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIHN1Y2Nlc3NvcnMiPgogICAgICAgICAgICBPdXRwdXRzICg8c3Bhbj5bW190b3RhbFN1Y2Nlc3NvcnNdXTwvc3Bhbj4pCiAgICAgICAgICAgIDxpcm9uLWxpc3QgY2xhc3M9InN1Yi1saXN0IiBpZD0ib3V0cHV0c0xpc3QiIGl0ZW1zPSJbW19zdWNjZXNzb3JzLnJlZ3VsYXJdXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGVkZ2UtbGFiZWw9IltbaXRlbS5lZGdlTGFiZWxdXSIgaXRlbS1yZW5kZXItaW5mbz0iW1tpdGVtLnJlbmRlckluZm9dXSIgbmFtZT0iW1tpdGVtLm5hbWVdXSIgaXRlbS10eXBlPSJzdWNjZXNzb3IiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSI+CiAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvaXJvbi1saXN0PgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3N1Y2Nlc3NvcnMuY29udHJvbC5sZW5ndGhdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbERlcHMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbExpbmUiPgogICAgICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFN1Y2MpfX0iIG9uLWNsaWNrPSJfdG9nZ2xlQ29udHJvbFN1Y2MiIGNsYXNzPSJjb250cm9sLXRvZ2dsZS1idXR0b24iPgogICAgICAgICAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICAgICAgICBDb250cm9sIGRlcGVuZGVuY2llcwogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Int7X29wZW5lZENvbnRyb2xTdWNjfX0iIG5vLWFuaW1hdGlvbj4KICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19vcGVuZWRDb250cm9sU3VjY319IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaXRlbXM9IltbX3N1Y2Nlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iIG5hbWU9IltbaXRlbS5uYW1lXV0iIGl0ZW0tdHlwZT0ic3VjY2Vzc29ycyIgY29sb3ItYnk9IltbY29sb3JCeV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaGFzRGlzcGxheWFibGVOb2RlU3RhdHN9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIG5vZGUtc3RhdHMiPgogICAgICAgICAgICAgIE5vZGUgU3RhdHMKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZSI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy50b3RhbEJ5dGVzfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQnl0ZXNdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2dldFRvdGFsTWljcm9zKF9ub2RlU3RhdHMpfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPkNvbXB1dGUgVGltZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWVdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy5vdXRwdXRTaXplfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPlRlbnNvciBPdXRwdXQgU2l6ZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X25vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzfX0iPgogICAgICAgICAgICAgICAgICAgICAgICBbW2l0ZW1dXSA8YnI+CiAgICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2Z1bmN0aW9uVXNhZ2VzLmxlbmd0aF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgcHJlZGVjZXNzb3JzIj4KICAgICAgICAgICAgICBVc2FnZXMgb2YgdGhlIEZ1bmN0aW9uICg8c3Bhbj5bW19mdW5jdGlvblVzYWdlcy5sZW5ndGhdXTwvc3Bhbj4pCiAgICAgICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0ic3ViLWxpc3QiIGlkPSJmdW5jdGlvblVzYWdlc0xpc3QiIGl0ZW1zPSJbW19mdW5jdGlvblVzYWdlc11dIj4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbV1dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiBpdGVtLXR5cGU9ImZ1bmN0aW9uVXNhZ2VzIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2lzTGlicmFyeUZ1bmN0aW9uKF9ub2RlKV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLWluY2x1ZGUtZ3JvdXAiPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIGNsYXNzPSJ0b2dnbGUtaW5jbHVkZSIgb24tY2xpY2s9Il90b2dnbGVJbmNsdWRlIj4KICAgICAgICAgICAgICAgIDxzcGFuPltbX2F1eEJ1dHRvblRleHRdXTwvc3Bhbj4KICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaXNJblNlcmllcyhfbm9kZSl9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1pbmNsdWRlLWdyb3VwIj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0idG9nZ2xlLWluY2x1ZGUiIG9uLWNsaWNrPSJfdG9nZ2xlR3JvdXAiPgogICAgICAgICAgICAgICAgPHNwYW4+W1tfZ3JvdXBCdXR0b25UZXh0XV08L3NwYW4+CiAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvaXJvbi1jb2xsYXBzZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1pbmZvIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWF4LWhlaWdodDogNjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7c2VsZWN0ZWROb2RlfX0iPgogICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPHRmLW5vZGUtaW5mbyBncmFwaC1oaWVyYXJjaHk9IltbZ3JhcGhIaWVyYXJjaHldXSIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZmxhdC1ncmFwaD0iW1tncmFwaF1dIiBncmFwaC1ub2RlLW5hbWU9Iltbc2VsZWN0ZWROb2RlXV0iIG5vZGUtaW5jbHVkZT0iW1tzZWxlY3RlZE5vZGVJbmNsdWRlXV0iIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSI+CiAgICAgICAgPC90Zi1ub2RlLWluZm8+CiAgICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgPHRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIiBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIiByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIG5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iPgogICAgICA8L3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGVhbHRoUGlsbHNBdmFpbGFibGUoZGVidWdnZXJEYXRhRW5hYmxlZCwgbm9kZU5hbWVzVG9IZWFsdGhQaWxscyldXSI+CiAgICAgIDx0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbZGVidWdnZXJOdW1lcmljQWxlcnRzXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgaGlnaGxpZ2h0ZWQtbm9kZT0ie3toaWdobGlnaHRlZE5vZGV9fSIgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW2FyZUhlYWx0aFBpbGxzTG9hZGluZ11dIiBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19Ij4KICAgICAgPC90Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQ+CiAgICA8L3RlbXBsYXRlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOjpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jbG9zZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBsZWZ0OiAxNXB4OwogICAgICAgIGJvdHRvbTogMTVweDsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb250YWluZXIubG9hZGluZyB7CiAgICAgICAgY3Vyc29yOiBwcm9ncmVzczsKICAgICAgICBvcGFjaXR5OiAwLjE7CiAgICAgIH0KCiAgICAgIC5jb250YWluZXIubG9hZGluZy5lcnJvciB7CiAgICAgICAgY3Vyc29yOiBhdXRvOwogICAgICB9CgogICAgICAjaW5mbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiA1cHg7CiAgICAgICAgdG9wOiA1cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgIG1heC13aWR0aDogMzgwcHg7CiAgICAgICAgbWluLXdpZHRoOiAzMjBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgIH0KCiAgICAgICNtYWluIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgICNwcm9ncmVzcy1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDQwcHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgICNwcm9ncmVzcy1tc2cgewogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICB9CgogICAgICBwYXBlci1wcm9ncmVzcyB7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtaGVpZ2h0OiA2cHg7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1hY3RpdmUtY29sb3I6ICNmMzkxM2U7CiAgICAgIH0KCiAgICAgIC5jb250ZXh0LW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIHsKICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAvZGVlcC8gLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIGxpOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM5MTNlOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNOb3RDb21wbGV0ZShwcm9ncmVzcyldXSI+CiAgICAgIDxkaXYgaWQ9InByb2dyZXNzLWJhciI+CiAgICAgICAgPGRpdiBpZD0icHJvZ3Jlc3MtbXNnIj5bW3Byb2dyZXNzLm1zZ11dPC9kaXY+CiAgICAgICAgPHBhcGVyLXByb2dyZXNzIHZhbHVlPSJbW3Byb2dyZXNzLnZhbHVlXV0iPjwvcGFwZXItcHJvZ3Jlc3M+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDxkaXYgY2xhc3MkPSJbW19nZXRDb250YWluZXJDbGFzcyhwcm9ncmVzcyldXSI+CiAgICAgIDxkaXYgaWQ9Im1haW4iPgogICAgICAgIDx0Zi1ncmFwaCBpZD0iZ3JhcGgiIGdyYXBoLWhpZXJhcmNoeT0ie3tncmFwaEhpZXJhcmNoeX19IiBiYXNpYy1ncmFwaD0iW1tncmFwaF1dIiBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIiByZW5kZXItaGllcmFyY2h5PSJ7e3JlbmRlckhpZXJhcmNoeX19IiBkZXZpY2VzLWZvci1zdGF0cz0iW1tkZXZpY2VzRm9yU3RhdHNdXSIgc3RhdHM9Iltbc3RhdHNdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgaGlnaGxpZ2h0ZWQtbm9kZT0ie3tfaGlnaGxpZ2h0ZWROb2RlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJ7e2NvbG9yQnlQYXJhbXN9fSIgcHJvZ3Jlc3M9Int7cHJvZ3Jlc3N9fSIgZWRnZS1sYWJlbC1mdW5jdGlvbj0iW1tlZGdlTGFiZWxGdW5jdGlvbl1dIiBlZGdlLXdpZHRoLWZ1bmN0aW9uPSJbW2VkZ2VXaWR0aEZ1bmN0aW9uXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgaGVhbHRoLXBpbGwtc3RlcC1pbmRleD0iW1toZWFsdGhQaWxsU3RlcEluZGV4XV0iIGhhbmRsZS1ub2RlLXNlbGVjdGVkPSJbW2hhbmRsZU5vZGVTZWxlY3RlZF1dIiBoYW5kbGUtZWRnZS1zZWxlY3RlZD0iW1toYW5kbGVFZGdlU2VsZWN0ZWRdXSIgdHJhY2UtaW5wdXRzPSJbW3RyYWNlSW5wdXRzXV0iPjwvdGYtZ3JhcGg+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJpbmZvIj4KICAgICAgICA8dGYtZ3JhcGgtaW5mbyBpZD0iZ3JhcGgtaW5mbyIgdGl0bGU9InNlbGVjdGVkIiBncmFwaC1oaWVyYXJjaHk9IltbZ3JhcGhIaWVyYXJjaHldXSIgaGllcmFyY2h5LXBhcmFtcz0iW1toaWVyYXJjaHlQYXJhbXNdXSIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZ3JhcGg9IltbZ3JhcGhdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgc2VsZWN0ZWQtbm9kZS1pbmNsdWRlPSJ7e19zZWxlY3RlZE5vZGVJbmNsdWRlfX0iIGhpZ2hsaWdodGVkLW5vZGU9Int7X2hpZ2hsaWdodGVkTm9kZX19IiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIGNvbG9yLWJ5LXBhcmFtcz0iW1tjb2xvckJ5UGFyYW1zXV0iIGRlYnVnZ2VyLWRhdGEtZW5hYmxlZD0iW1tkZWJ1Z2dlckRhdGFFbmFibGVkXV0iIGFyZS1oZWFsdGgtcGlsbHMtbG9hZGluZz0iW1thcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbZGVidWdnZXJOdW1lcmljQWxlcnRzXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgYWxsLXN0ZXBzLW1vZGUtZW5hYmxlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iIHNwZWNpZmljLWhlYWx0aC1waWxsLXN0ZXA9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcH19IiBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIgY29tcGF0LW5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iIG9uLW5vZGUtdG9nZ2xlLWluY2x1c2lvbj0iX29uTm9kZUluY2x1c2lvblRvZ2dsZWQiIG9uLW5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwPSJfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkIj48L3RmLWdyYXBoLWluZm8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1yYWRpby1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tc2l6ZSwgMTZweCk7CiAgICAgICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZSBpbiBgYXR0YWNoZWRgLiAqLwogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemU6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSwgLTFweCk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmb2N1cykgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgICNyYWRpb0NvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemUpOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSk7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItcmFkaW8tYnV0dG9uLXJhZGlvLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgI2luayB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIH0KCiAgICAgICNpbmtbY2hlY2tlZF0gewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQoKICAgICAgI29mZlJhZGlvLCAjb25SYWRpbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgI29mZlJhZGlvIHsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yOHM7CiAgICAgIH0KCiAgICAgICNvblJhZGlvIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGVhc2UgMC4yOHM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgMC4yOHM7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjb2ZmUmFkaW8gewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjb25SYWRpbyB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOwogICAgICB9CgogICAgICAjcmFkaW9MYWJlbCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1zcGFjaW5nLCAxMHB4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWw7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgI3JhZGlvTGFiZWwgewogICAgICAgIEBhcHBseSAtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1jaGVja2VkOwogICAgICB9CgogICAgICAjcmFkaW9MYWJlbDpkaXIocnRsKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgICAgIH0KCiAgICAgICNyYWRpb0xhYmVsW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIGRpc2FibGVkIHN0YXRlICovCgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjb2ZmUmFkaW8gewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjb25SYWRpbyB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcmFkaW9MYWJlbCB7CiAgICAgICAgLyogc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGJ1dHRvbiwgc28gdGhhdCBpdCdzIHJlYWRhYmxlICovCiAgICAgICAgb3BhY2l0eTogMC42NTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJyYWRpb0NvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9Im9mZlJhZGlvIj48L2Rpdj4KICAgICAgPGRpdiBpZD0ib25SYWRpbyI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJyYWRpb0xhYmVsIj48c2xvdD48L3Nsb3Q+PC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItcmFkaW8tZ3JvdXAiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgOjpzbG90dGVkKCopIHsKICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYXBlci1yYWRpby1ncm91cC1pdGVtLXBhZGRpbmcsIDEycHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvb2x0aXAiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHotaW5kZXg6IDEwMDI7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgICN0b29sdGlwIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtYmFja2dyb3VuZCwgIzYxNjE2MSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtdGV4dC1jb2xvciwgd2hpdGUpOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZVNjYWxlVXAgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2NhbGVEb3duIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVJbk9wYWNpdHkgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVPdXRPcGFjaXR5IHsKICAgICAgICAwJSB7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMga2V5RnJhbWVTbGlkZURvd25JbiB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgMTAlIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2xpZGVEb3duT3V0IHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwJSB7CiAgICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mYWRlLWluLWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVGYWRlSW5PcGFjaXR5OwogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24taW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLmZhZGUtb3V0LWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lRmFkZU91dE9wYWNpdHk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItdG9vbHRpcC1kdXJhdGlvbi1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLnNjYWxlLXVwLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lU2NhbGVVcDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zY2FsZS1kb3duLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNjYWxlRG93bjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuc2xpZGUtZG93bi1hbmltYXRpb24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVTbGlkZURvd25JbjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24tb3V0LCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zbGlkZS1kb3duLWFuaW1hdGlvbi1vdXQgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNsaWRlRG93bk91dDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuY2FuY2VsLWFuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMzBzICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoYW5rcyBJRSAxMC4gKi8KCiAgICAgIC5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b29sdGlwIiBjbGFzcz0iaGlkZGVuIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtbm9kZS1zZWFyY2giPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9InNlYXJjaC1jb250YWluZXIiPgogICAgICA8cGFwZXItaW5wdXQgaWQ9InJ1bnMtcmVnZXgiIGxhYmVsPSJTZWFyY2ggbm9kZXMuIFJlZ2V4ZXMgc3VwcG9ydGVkLiIgdmFsdWU9Int7X3Jhd1JlZ2V4SW5wdXR9fSI+CiAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgIDxkaXYgaWQ9InNlYXJjaC1yZXN1bHRzLWFuY2hvciI+CiAgICAgICAgPGRpdiBpZD0ic2VhcmNoLXJlc3VsdHMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcmVnZXhNYXRjaGVzXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtbWF0Y2giIG9uLWNsaWNrPSJfbWF0Y2hDbGlja2VkIj5bW2l0ZW1dXTwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NlYXJjaC1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CgogICAgICAjcnVucy1yZWdleCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtcmVzdWx0cy1hbmNob3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgI3NlYXJjaC1yZXN1bHRzIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtbWF0Y2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXJlY3Rpb246IHJ0bDsKICAgICAgfQoKICAgICAgI3NlYXJjaC1tYXRjaDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItb3JhbmdlLXdlYWspOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLWNvbnRyb2xzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ6IHsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICB9CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDE1cHg7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxNXB4OwogICAgICAgIC0tcHJpbWFyeS10ZXh0LWNvbG9yOiBncmF5OwogICAgICAgIC0tcGFwZXItaXRlbS1taW4taGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICBwYXBlci1idXR0b25bcmFpc2VkXS5rZXlib2FyZC1mb2N1cyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnJ1bi1kcm9wZG93biB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXI6IHsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmNvbG9yLWRyb3Bkb3duIHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lcjogewogICAgICAgICAgcGFkZGluZzogOXB4IDAgMCAxM3B4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7CiAgICAgIH0KCiAgICAgIHRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmFsbGNvbnRyb2xzIHsKICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLmxlZ2VuZC1ob2xkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICNlOWU5ZTk7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGVnZW5kLWJ1dHRvbiB7CiAgICAgICAgbWF4LWhlaWdodDogMjBweDsKICAgICAgICBtYXgtd2lkdGg6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1sZWdlbmQtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KICAgICAgc3ZnLmljb24sCiAgICAgIHRmLWdyYXBoLWljb24gewogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgfQogICAgICAuZG9tYWluVmFsdWVzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIHdpZHRoOiAxNjVweDsKICAgICAgfQogICAgICAuZG9tYWluU3RhcnQgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CiAgICAgIC5kb21haW5FbmQgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQogICAgICAuY29sb3JCb3ggewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAuaW1hZ2UtaWNvbiB7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAuaGVscC1pY29uIHsKICAgICAgICBoZWlnaHQ6IDE1cHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ncmF5IHsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbWFyZ2luOiA4cHggNXB4IDhweCAwOwogICAgICAgIGNvbG9yOiBibGFjazsKICAgICAgfQogICAgICAudGl0bGUgc21hbGwgewogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgLmRldmljZUxpc3QsCiAgICAgIC54bGFDbHVzdGVyTGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgI2ZpbGUgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAuY29sb3ItbGVnZW5kLXJvdyB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KCiAgICAgIC5jb2xvci1sZWdlbmQtcm93IC5sYWJlbCwKICAgICAgLmNvbG9yLWxlZ2VuZC1yb3cgc3ZnLAogICAgICAuY29sb3ItbGVnZW5kLXJvdyB0Zi1ncmFwaC1pY29uIHsKICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5kZXZpY2VzLWNoZWNrYm94IGlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWhvbGRlciAuaWNvbi1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW46IDAgLTVweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24tdGV4dCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgICB9CgogICAgICAudXBsb2FkLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDE2NXB4OwogICAgICAgIGhlaWdodDogMjVweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24taWNvbiB7CiAgICAgICAgd2lkdGg6IDI2cHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgfQoKICAgICAgLmhpZGRlbi1pbnB1dCB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgd2lkdGg6IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyIHsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLmFsbGNvbnRyb2xzIC5jb250cm9sLWhvbGRlciBwYXBlci1yYWRpby1ncm91cCB7CiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICB9CgogICAgICBzcGFuLmNvdW50ZXIgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgfQoKICAgICAgLnJ1bnMgcGFwZXItaXRlbSB7CiAgICAgICAgLS1wYXBlci1pdGVtOiB7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUuY29udHJvbC1ob2xkZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CgogICAgICB0YWJsZS50Zi1ncmFwaC1jb250cm9scyB0ZC5pbnB1dC1lbGVtZW50LXRhYmxlLWRhdGEgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgLmNvbG9yLXRleHQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC8qKiBPdmVycmlkZSBpbmxpbmUgc3R5bGVzIHRoYXQgc3VwcHJlc3MgcG9pbnRlciBldmVudHMgZm9yIGRpc2FibGVkIGJ1dHRvbnMuIE90aGVyd2lzZSwgdGhlICovCiAgICAgIC8qICB0b29sdGlwcyBkbyBub3QgYXBwZWFyLiAqLwogICAgICBwYXBlci1yYWRpby1ncm91cCBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtY2xhcmlmaWVyIHsKICAgICAgICBjb2xvcjogIzI2NjIzNjsKICAgICAgICBjdXJzb3I6IGhlbHA7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAubGVnZW5kLWNsYXJpZmllciBwYXBlci10b29sdGlwIHsKICAgICAgICB3aWR0aDogMTUwcHg7CiAgICAgIH0KCiAgICAgIC8qKiBPdGhlcndpc2UsIHBvbHltZXIgVUkgY29udHJvbHMgYXBwZWFyIGF0b3Agbm9kZSBzZWFyY2guICovCiAgICAgIHRmLWdyYXBoLW5vZGUtc2VhcmNoIHsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iYWxsY29udHJvbHMiPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHRmLWdyYXBoLW5vZGUtc2VhcmNoIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iIHJlbmRlci1oaWVyYXJjaHk9IltbcmVuZGVySGllcmFyY2h5XV0iPjwvdGYtZ3JhcGgtbm9kZS1zZWFyY2g+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIG9uLXRhcD0iX2ZpdCIgYWx0PSJGaXQgdG8gc2NyZWVuIj4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iYXNwZWN0LXJhdGlvIiBjbGFzcz0iYnV0dG9uLWljb24iPjwvaXJvbi1pY29uPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImJ1dHRvbi10ZXh0Ij5GaXQgdG8gU2NyZWVuPC9zcGFuPgogICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiBvbi1jbGljaz0iZG93bmxvYWQiIGFsdD0iRG93bmxvYWQgUE5HIj4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZmlsZS1kb3dubG9hZCIgY2xhc3M9ImJ1dHRvbi1pY29uIj48L2lyb24taWNvbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJidXR0b24tdGV4dCI+RG93bmxvYWQgUE5HPC9zcGFuPgogICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgIDxhIGhyZWY9IiMiIGlkPSJncmFwaGRvd25sb2FkIiBjbGFzcz0idGl0bGUiIGRvd25sb2FkPSJncmFwaC5wbmciPjwvYT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIHJ1bnMiPgogICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4KICAgICAgICAgIFJ1biA8c3BhbiBjbGFzcz0iY291bnRlciI+KFtbZGF0YXNldHMubGVuZ3RoXV0pPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IG5vLWFuaW1hdGlvbnMgbm9pbmsgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIgY2xhc3M9InJ1bi1kcm9wZG93biI+CiAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkUnVuSW5kZXh9fSIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbZGF0YXNldHNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+W1tpdGVtLm5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd1Nlc3Npb25SdW5zRHJvcGRvd25dXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgICBUYWcKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZXIiPihbW19udW1UYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IG5vLWFuaW1hdGlvbnMgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIgbm9pbmsgY2xhc3M9InJ1bi1kcm9wZG93biI+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRUYWdJbmRleH19IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19nZXRUYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSI+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5bW2l0ZW0uZGlzcGxheU5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93VXBsb2FkQnV0dG9uXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5VcGxvYWQ8L2Rpdj4KICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIGNsYXNzPSJ1cGxvYWQtYnV0dG9uIiBvbi1jbGljaz0iX2dldEZpbGUiIHRpdGxlPSJVcGxvYWQgYSBncmFwaCBwYnR4dCBmaWxlIHRvIHZpZXcgdGhlIGdyYXBoIj4KICAgICAgICAgICAgQ2hvb3NlIEZpbGUKICAgICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuLWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlIiBuYW1lPSJmaWxlIiBvbi1jaGFuZ2U9Il91cGRhdGVGaWxlSW5wdXQiIGFjY2VwdD0iLnBidHh0Ij4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIHNlbGVjdGVkPSJ7e19zZWxlY3RlZEdyYXBoVHlwZX19Ij4KICAgICAgICAgIAogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJvcF9ncmFwaCIgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvbk9wR3JhcGhEaXNhYmxlZChkYXRhc2V0cywgX3NlbGVjdGVkUnVuSW5kZXgsIF9zZWxlY3RlZFRhZ0luZGV4KV1dIj5HcmFwaDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJjb25jZXB0dWFsX2dyYXBoIiBkaXNhYmxlZD0iW1tfZ2V0U2VsZWN0aW9uQ29uY2VwdHVhbEdyYXBoRGlzYWJsZWQoZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCldXSI+Q29uY2VwdHVhbCBHcmFwaDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJwcm9maWxlIiBkaXNhYmxlZD0iW1tfZ2V0U2VsZWN0aW9uUHJvZmlsZURpc2FibGVkKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgpXV0iPlByb2ZpbGU8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e3RyYWNlSW5wdXRzfX0iIGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgICAgIFRyYWNlIGlucHV0cwogICAgICAgICAgPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hlYWx0aFBpbGxzRmVhdHVyZUVuYWJsZWRdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgICAgPHBhcGVyLXRvZ2dsZS1idXR0b24gY2hlY2tlZD0ie3toZWFsdGhQaWxsc1RvZ2dsZWRPbn19IiBjbGFzcz0idGl0bGUiPlNob3cgaGVhbHRoIHBpbGxzPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkNvbG9yPC9kaXY+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIHNlbGVjdGVkPSJ7e2NvbG9yQnl9fSI+CiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9InN0cnVjdHVyZSI+U3RydWN0dXJlPC9wYXBlci1yYWRpby1idXR0b24+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJkZXZpY2UiPkRldmljZTwvcGFwZXItcmFkaW8tYnV0dG9uPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InhsYS1jbHVzdGVyLXJhZGlvLWJ1dHRvbiIgbmFtZT0ieGxhX2NsdXN0ZXIiIGRpc2FibGVkPSJbWyFfeGxhQ2x1c3RlcnNQcm92aWRlZChyZW5kZXJIaWVyYXJjaHkpXV0iPgogICAgICAgICAgICBYTEEgQ2x1c3RlcgogICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ieGxhLWNsdXN0ZXItcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IFhMQSBjbHVzdGVyIGlzIG9ubHkgZW5hYmxlZCBpZiBhdCBsZWFzdCAxIG9wIHNwZWNpZmllcwogICAgICAgICAgICBhbiBYTEEgY2x1c3Rlci4KICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIiBuYW1lPSJjb21wdXRlX3RpbWUiIGRpc2FibGVkPSJbWyFzdGF0c11dIj4KICAgICAgICAgICAgQ29tcHV0ZSB0aW1lCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IGNvbXB1dGUgdGltZSBpcyBvbmx5IGVuYWJsZWQgaWYgdGhlIFJ1bk1ldGFkYXRhIHByb3RvIGlzCiAgICAgICAgICAgIHBhc3NlZCB0byB0aGUgRmlsZVdyaXRlciB3aGVuIGEgc3BlY2lmaWMgc2Vzc2lvbiBpcyBydW4uCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ibWVtb3J5LXJhZGlvLWJ1dHRvbiIgbmFtZT0ibWVtb3J5IiBkaXNhYmxlZD0iW1shc3RhdHNdXSI+CiAgICAgICAgICAgIE1lbW9yeQogICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ibWVtb3J5LXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICBDb2xvcmluZyBieSBtZW1vcnkgaXMgb25seSBlbmFibGVkIGlmIHRoZSBSdW5NZXRhZGF0YSBwcm90byBpcwogICAgICAgICAgICBwYXNzZWQgdG8gdGhlIEZpbGVXcml0ZXIgd2hlbiBhIHNwZWNpZmljIHNlc3Npb24gaXMgcnVuLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIgbmFtZT0ib3BfY29tcGF0aWJpbGl0eSI+CiAgICAgICAgICAgIFRQVSBDb21wYXRpYmlsaXR5CiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJ0cHUtY29tcGF0aWJpbGl0eS1yYWRpby1idXR0b24iIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgQ29sb3JpbmcgYnkgd2hldGhlciBhbiBvcGVyYXRpb24gaXMgY29tcGF0aWJsZSBmb3IgdGhlIFRQVSBkZXZpY2UuCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgPC9wYXBlci1yYWRpby1ncm91cD4KICAgICAgICA8c3BhbiBjbGFzcz0ic3BhY2VyIj48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2PgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNHcmFkaWVudENvbG9yaW5nKHN0YXRzLCBjb2xvckJ5KV1dIj4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE0MCIgaGVpZ2h0PSIyMCIgc3R5bGU9Im1hcmdpbjogMCA1cHgiIGNsYXNzPSJjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJsaW5lYXJHcmFkaWVudCIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgICAgICAgICAgICAgPHN0b3AgY2xhc3M9InN0YXJ0IiBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yJD0iW1tfY3VycmVudEdyYWRpZW50UGFyYW1zLnN0YXJ0Q29sb3JdXSIgLz4KICAgICAgICAgICAgICAgIDxzdG9wIGNsYXNzPSJlbmQiIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvciQ9IltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5lbmRDb2xvcl1dIiAvPgogICAgICAgICAgICAgIDwvbGluZWFyZ3JhZGllbnQ+CiAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEzNSIgaGVpZ2h0PSIyMCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudCkiIHN0cm9rZT0iYmxhY2siIC8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpblZhbHVlcyBjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluU3RhcnQiPltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5taW5WYWx1ZV1dPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbkVuZCI+W1tfY3VycmVudEdyYWRpZW50UGFyYW1zLm1heFZhbHVlXV08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJyIHN0eWxlPSJjbGVhcjogYm90aCI+CiAgICAgICAgICA8ZGl2PkRldmljZXMgaW5jbHVkZWQgaW4gc3RhdHM6PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2VMaXN0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudERldmljZXNdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyBkZXZpY2VzLWNoZWNrYm94Ij4KICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWUkPSJbW2l0ZW0uZGV2aWNlXV0iIGNoZWNrZWQkPSJbW2l0ZW0udXNlZF1dIiBvbi1jbGljaz0iX2RldmljZUNoZWNrYm94Q2xpY2tlZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+W1tpdGVtLnN1ZmZpeF1dPC9zcGFuPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2l0ZW0uaWdub3JlZE1zZ11dIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAiIGNsYXNzPSJoZWxwLWljb24iPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIiBhbmltYXRpb24tZGVsYXk9IjAiPltbaXRlbS5pZ25vcmVkTXNnXV08L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnc3RydWN0dXJlJyldXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4KICAgICAgICAgICAgICAgIGNvbG9ycwogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5zYW1lIHN1YnN0cnVjdHVyZTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik1FVEEiIGhlaWdodD0iMTYiIGZpbGwtb3ZlcnJpZGU9IiNlZWUiIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVuaXF1ZSBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnZGV2aWNlJyldXSI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlUGFyYW1zXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iTUVUQSIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iW1tpdGVtLmNvbG9yXV0iIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+W1tpdGVtLmRldmljZV1dPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmaWxsLW92ZXJyaWRlPSIjZWVlIiBzdHJva2Utb3ZlcnJpZGU9IiNhNmE2YTYiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIGRldmljZTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICd4bGFfY2x1c3RlcicpXV0iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXNdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjdW5maWxsZWQtcmVjdCIgeD0iMCIgeT0iMCIgc3R5bGU9ImZpbGw6W1tpdGVtLmNvbG9yXV0iIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPltbaXRlbS54bGFfY2x1c3Rlcl1dPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgPHVzZSB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeGxpbms6aHJlZj0iI2dyZXktcmVjdCIgeD0iMCIgeT0iMCIgLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIFhMQSBjbHVzdGVyPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXRleHQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJPUCIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iIzBmOWQ1OCIgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIj48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+VmFsaWQgT3A8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJPUCIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iI2RiNDQzNyIgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIj48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+SW52YWxpZCBPcDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RhdHNOb3ROdWxsKHN0YXRzKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmYWRlZD48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVudXNlZCBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGVnZW5kLWhvbGRlciI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJbW19nZXRUb2dnbGVMZWdlbmRJY29uKF9sZWdlbmRPcGVuZWQpXV0iIG9uLWNsaWNrPSJfdG9nZ2xlTGVnZW5kT3BlbiIgY2xhc3M9InRvZ2dsZS1sZWdlbmQtYnV0dG9uIj4KICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHNwYW4gY2xhc3M9InRvZ2dsZS1sZWdlbmQtdGV4dCI+CiAgICAgICAgW1tfZ2V0VG9nZ2xlVGV4dChfbGVnZW5kT3BlbmVkKV1dCiAgICAgIDwvc3Bhbj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19sZWdlbmRPcGVuZWRdXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgPHRib2R5Pjx0cj4KICAgICAgICAgICAgICA8dGQ+PGRpdiBjbGFzcz0idGl0bGUiPkdyYXBoPC9kaXY+PC90ZD4KICAgICAgICAgICAgICA8dGQ+KCogPSBleHBhbmRhYmxlKTwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmaWxsLW92ZXJyaWRlPSIjZDlkOWQ5IiBzdHJva2Utb3ZlcnJpZGU9IiNjY2MiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIE5hbWVzcGFjZTxzcGFuIGNsYXNzPSJncmF5Ij4qPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIEVuY2Fwc3VsYXRlcyBhIHNldCBvZiBub2Rlcy4gTmFtZXNwYWNlIGlzIGhpZXJhcmNoaWNhbCBhbmQKICAgICAgICAgICAgICAgICAgICBiYXNlZCBvbiBzY29wZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik9QIiBoZWlnaHQ9IjE2Ij48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBPcE5vZGUKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBOb2RlIHRoYXQgcGVyZm9ybXMgYW4gb3BlcmF0aW9uLiBUaGVzZSBub2RlcyBjYW5ub3QgZXhwYW5kLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iU0VSSUVTIiBoZWlnaHQ9IjE2Ij48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBVbmNvbm5lY3RlZCBzZXJpZXM8c3BhbiBjbGFzcz0iZ3JheSI+Kjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIGVhY2gKICAgICAgICAgICAgICAgICAgICBvdGhlci4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNFUklFUyIgaGVpZ2h0PSIxNiIgdmVydGljYWw+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgQ29ubmVjdGVkIHNlcmllczxzcGFuIGNsYXNzPSJncmF5Ij4qPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIFNlcXVlbmNlIG9mIG51bWJlcmVkIG5vZGVzIHRoYXQgYXJlIGNvbm5lY3RlZCB0byBlYWNoIG90aGVyLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiI+CiAgICAgICAgICAgICAgICAgIDxjaXJjbGUgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzg0ODQ4NCIgY3g9IjEwIiBjeT0iMTAiIHI9IjUiIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIENvbnN0YW50CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgTm9kZSB0aGF0IG91dHB1dHMgYSBjb25zdGFudCB2YWx1ZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNVTU1BUlkiIGhlaWdodD0iMjAiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIFN1bW1hcnkKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBOb2RlIHRoYXQgY29sbGVjdHMgZGF0YSBmb3IgdmlzdWFsaXphdGlvbiB3aXRoaW4KICAgICAgICAgICAgICAgICAgICBUZW5zb3JCb2FyZC4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgPG1hcmtlciBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLWxlZ2VuZCIgZmlsbD0iI2JiYiIgbWFya2Vyd2lkdGg9IjEwIiBtYXJrZXJoZWlnaHQ9IjEwIiByZWZ4PSI5IiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+CiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDEwLDUgTCAwLDEwIEMgMyw3IDMsMyAwLDAiIC8+CiAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgICAgPHBhdGggbWFya2VyLWVuZD0idXJsKCNkYXRhZmxvdy1hcnJvd2hlYWQtbGVnZW5kKSIgc3Ryb2tlPSIjYmJiIiBkPSJNMiA5IGwgMjkgMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBEYXRhZmxvdyBlZGdlCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgRWRnZSBzaG93aW5nIHRoZSBkYXRhIGZsb3cgYmV0d2VlbiBvcGVyYXRpb25zLiBFZGdlcyBmbG93CiAgICAgICAgICAgICAgICAgICAgdXB3YXJkcyB1bmxlc3MgYXJyb3doZWFkcyBzcGVjaWZ5IG90aGVyd2lzZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlPSIjYmJiIiBkPSJNMiA5IGwgMjkgMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtZGFzaGFycmF5PSIyLCAyIiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBDb250cm9sIGRlcGVuZGVuY3kgZWRnZQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGUgY29udHJvbCBkZXBlbmRlbmN5IGJldHdlZW4gb3BlcmF0aW9ucy4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgPG1hcmtlciBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQiIGZpbGw9IiNGRkI3NEQiIG1hcmtlcndpZHRoPSIxMCIgbWFya2VyaGVpZ2h0PSIxMCIgcmVmeD0iOSIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgICAgICAgICAgICAgIDwvbWFya2VyPgogICAgICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgICAgICAgIDxwYXRoIG1hcmtlci1lbmQ9InVybCgjcmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQpIiBzdHJva2U9IiNGRkI3NEQiIGQ9Ik0yIDkgbCAyOSAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIFJlZmVyZW5jZSBlZGdlCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgRWRnZSBzaG93aW5nIHRoYXQgdGhlIG91dGdvaW5nIG9wZXJhdGlvbiBub2RlIGNhbiBtdXRhdGUgdGhlCiAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcgdGVuc29yLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90Ym9keT48L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tY29sbGFwc2U+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyBpZD0iZXJyb3ItZGlhbG9nIiB3aXRoLWJhY2tkcm9wPjwvcGFwZXItZGlhbG9nPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhc2V0c1N0YXRlKF9kYXRhc2V0c0ZldGNoZWQsIF9kYXRhc2V0cywgJ0VNUFRZJyldXSI+CiAgICAgIDxkaXYgc3R5bGU9Im1heC13aWR0aDogNTQwcHg7IG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsiPgogICAgICAgIDxoMz5ObyBncmFwaCBkZWZpbml0aW9uIGZpbGVzIHdlcmUgZm91bmQuPC9oMz4KICAgICAgICA8cD4KICAgICAgICAgIFRvIHN0b3JlIGEgZ3JhcGgsIGNyZWF0ZSBhCiAgICAgICAgICA8Y29kZT50Zi5zdW1tYXJ5LkZpbGVXcml0ZXI8L2NvZGU+CiAgICAgICAgICBhbmQgcGFzcyB0aGUgZ3JhcGggZWl0aGVyIHZpYSB0aGUgY29uc3RydWN0b3IsIG9yIGJ5IGNhbGxpbmcgaXRzCiAgICAgICAgICA8Y29kZT5hZGRfZ3JhcGgoKTwvY29kZT4gbWV0aG9kLiBZb3UgbWF5IHdhbnQgdG8gY2hlY2sgb3V0IHRoZQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvZ3JhcGhfdml6Ij5ncmFwaCB2aXN1YWxpemVyIHR1dG9yaWFsPC9hPi4KICAgICAgICA8L3A+CgogICAgICAgIDxwPgogICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8gYWRkCiAgICAgICAgICBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICA8L3A+CgogICAgICAgIDxwPgogICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YXNldHNTdGF0ZShfZGF0YXNldHNGZXRjaGVkLCBfZGF0YXNldHMsICdQUkVTRU5UJyldXSI+CiAgICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICAgIDx0Zi1ncmFwaC1jb250cm9scyBpZD0iY29udHJvbHMiIGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIiBkZXZpY2VzLWZvci1zdGF0cz0ie3tfZGV2aWNlc0ZvclN0YXRzfX0iIGNvbG9yLWJ5LXBhcmFtcz0iW1tfY29sb3JCeVBhcmFtc11dIiBzdGF0cz0iW1tfc3RhdHNdXSIgY29sb3ItYnk9Int7X2NvbG9yQnl9fSIgZGF0YXNldHM9IltbX2RhdGFzZXRzXV0iIHJlbmRlci1oaWVyYXJjaHk9IltbX3JlbmRlckhpZXJhcmNoeV1dIiBzZWxlY3Rpb249Int7X3NlbGVjdGlvbn19IiBzZWxlY3RlZC1maWxlPSJ7e19zZWxlY3RlZEZpbGV9fSIgc2VsZWN0ZWQtbm9kZT0ie3tfc2VsZWN0ZWROb2RlfX0iIGhlYWx0aC1waWxscy1mZWF0dXJlLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIgaGVhbHRoLXBpbGxzLXRvZ2dsZWQtb249Int7aGVhbHRoUGlsbHNUb2dnbGVkT259fSIgb24tZml0LXRhcD0iX2ZpdCIgdHJhY2UtaW5wdXRzPSJ7e190cmFjZUlucHV0c319Ij48L3RmLWdyYXBoLWNvbnRyb2xzPgogICAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICAgIDx0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyIGlkPSJsb2FkZXIiIGRhdGFzZXRzPSJbW19kYXRhc2V0c11dIiBzZWxlY3Rpb249IltbX3NlbGVjdGlvbl1dIiBzZWxlY3RlZC1maWxlPSJbW19zZWxlY3RlZEZpbGVdXSIgb3V0LWdyYXBoLWhpZXJhcmNoeT0ie3tfZ3JhcGhIaWVyYXJjaHl9fSIgb3V0LWdyYXBoPSJ7e19ncmFwaH19IiBvdXQtc3RhdHM9Int7X3N0YXRzfX0iIHByb2dyZXNzPSJ7e19wcm9ncmVzc319IiBoaWVyYXJjaHktcGFyYW1zPSJbW19oaWVyYXJjaHlQYXJhbXNdXSIgY29tcGF0aWJpbGl0eS1wcm92aWRlcj0iW1tfY29tcGF0aWJpbGl0eVByb3ZpZGVyXV0iPjwvdGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlcj4KICAgICAgICAgIDx0Zi1ncmFwaC1ib2FyZCBpZD0iZ3JhcGhib2FyZCIgZGV2aWNlcy1mb3Itc3RhdHM9IltbX2RldmljZXNGb3JTdGF0c11dIiBjb2xvci1ieT0iW1tfY29sb3JCeV1dIiBjb2xvci1ieS1wYXJhbXM9Int7X2NvbG9yQnlQYXJhbXN9fSIgZ3JhcGgtaGllcmFyY2h5PSJbW19ncmFwaEhpZXJhcmNoeV1dIiBncmFwaD0iW1tfZ3JhcGhdXSIgaGllcmFyY2h5LXBhcmFtcz0iW1tfaGllcmFyY2h5UGFyYW1zXV0iIHByb2dyZXNzPSJbW19wcm9ncmVzc11dIiBkZWJ1Z2dlci1kYXRhLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW19hcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbX2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIiBub2RlLW5hbWVzLXRvLWhlYWx0aC1waWxscz0iW1tfbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIiBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9IltbX2hlYWx0aFBpbGxTdGVwSW5kZXhdXSIgcmVuZGVyLWhpZXJhcmNoeT0ie3tfcmVuZGVySGllcmFyY2h5fX0iIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IiBzdGF0cz0iW1tfc3RhdHNdXSIgdHJhY2UtaW5wdXRzPSJbW190cmFjZUlucHV0c11dIj48L3RmLWdyYXBoLWJvYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICA8L3RlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCAvZGVlcC8gewogICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2VudGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kaWFsb2cgewogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1kaXN0cmlidXRpb24tY2hhcnQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwbG90dGFibGUtc3R5bGUiPjwvc3R5bGU+CiAgICA8ZGl2IGlkPSJjaGFydGRpdiI+PC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2IHsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGlzdHJpYnV0aW9uLWxvYWRlciI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIHJ1bj0iW1tydW5dXSIgZGlzcGxheS1uYW1lPSJbW3RhZ01ldGFkYXRhLmRpc3BsYXlOYW1lXV0iIGRlc2NyaXB0aW9uPSJbW3RhZ01ldGFkYXRhLmRlc2NyaXB0aW9uXV0iIGNvbG9yPSJbW19ydW5Db2xvcl1dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIAogICAgPHZ6LWRpc3RyaWJ1dGlvbi1jaGFydCBpZD0iY2hhcnQiIHgtdHlwZT0iW1t4VHlwZV1dIiBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIj48L3Z6LWRpc3RyaWJ1dGlvbi1jaGFydD4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7Ij4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB3aWR0aDogMzMwcHg7CiAgICAgICAgaGVpZ2h0OiAyMzVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiA3MDBweDsKICAgICAgICBoZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICB2ei1oaXN0b2dyYW0tdGltZXNlcmllcyB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgdGYtY2FyZC1oZWFkaW5nIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGlzdHJpYnV0aW9uLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yIGlkPSJ4VHlwZVNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIGF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0id2FsbF90aW1lIj53YWxsPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBkaXN0cmlidXRpb24gZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFlvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaGlzdG9ncmFtIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy4KICAgICAgICAgICAgICAgIChIaXN0b2dyYW1zIGFuZCBkaXN0cmlidXRpb25zIGJvdGggdXNlIHRoZSBoaXN0b2dyYW0gc3VtbWFyeQogICAgICAgICAgICAgICAgb3BlcmF0aW9uLikKICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiB4LXR5cGU9IltbX3hUeXBlXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSI+PC90Zi1kaXN0cmlidXRpb24tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJ0b29sdGlwIj48c3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8c3ZnIGlkPSJzdmciPgogICAgICA8Zz4KICAgICAgICA8ZyBjbGFzcz0iYXhpcyB4Ij48L2c+CiAgICAgICAgPGcgY2xhc3M9ImF4aXMgeSI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJheGlzIHkgc2xpY2UiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ic3RhZ2UiPgogICAgICAgICAgPHJlY3QgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xhc3M9IngtYXhpcy1ob3ZlciI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJ5LWF4aXMtaG92ZXIiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ieS1zbGljZS1heGlzLWhvdmVyIj48L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIGZvbnQtZmFtaWx5OiByb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICB9CgogICAgICAjdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZCB7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbGw6IHJlZDsKICAgICAgfQoKICAgICAgLmhpc3RvZ3JhbSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ob3ZlciB7CiAgICAgICAgZm9udC1zaXplOiA5cHg7CiAgICAgICAgZG9taW5hbnQtYmFzZWxpbmU6IG1pZGRsZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuaG92ZXIgY2lyY2xlIHsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwLjU7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgIH0KCiAgICAgIC5ob3ZlciB0ZXh0IHsKICAgICAgICBmaWxsOiBibGFjazsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuaG92ZXIuaG92ZXItY2xvc2VzdCBjaXJjbGUgewogICAgICAgIGZpbGw6IGJsYWNrICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5ob3Zlci5ob3Zlci1jbG9zZXN0IHRleHQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5iYXNlbGluZSB7CiAgICAgICAgc3Ryb2tlOiBibGFjazsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC4xOwogICAgICB9CgogICAgICAub3V0bGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5vdXRsaW5lLm91dGxpbmUtaG92ZXIgewogICAgICAgIHN0cm9rZTogYmxhY2sgIWltcG9ydGFudDsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciwKICAgICAgLnktYXhpcy1ob3ZlciwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgLmxhYmVsLAogICAgICAueS1heGlzLWhvdmVyIC5sYWJlbCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciAubGFiZWwgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIHRleHQtYW5jaG9yOiBlbmQ7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgdGV4dCB7CiAgICAgICAgdGV4dC1hbmNob3I6IG1pZGRsZTsKICAgICAgfQoKICAgICAgLnktYXhpcy1ob3ZlciB0ZXh0LAogICAgICAueS1zbGljZS1heGlzLWhvdmVyIHRleHQgewogICAgICAgIHRleHQtYW5jaG9yOiBzdGFydDsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciBsaW5lLAogICAgICAueS1heGlzLWhvdmVyIGxpbmUsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgbGluZSB7CiAgICAgICAgc3Ryb2tlOiBibGFjazsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciByZWN0LAogICAgICAueS1heGlzLWhvdmVyIHJlY3QsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgcmVjdCB7CiAgICAgICAgZmlsbDogd2hpdGU7CiAgICAgIH0KCiAgICAgIC5heGlzIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5heGlzIHBhdGguZG9tYWluIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuYXhpcyAudGljayBsaW5lIHsKICAgICAgICBzdHJva2U6ICNkZGQ7CiAgICAgIH0KCiAgICAgIC5heGlzLnNsaWNlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuYXhpcy5zbGljZSAudGljayBsaW5lIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAyOwogICAgICB9CgogICAgICAuc21hbGwgLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6Zmlyc3Qtb2YtdHlwZSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6bGFzdC1vZi10eXBlIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5tZWRpdW0gLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubWVkaXVtIC5heGlzIC50aWNrOm50aC1jaGlsZCgybiArIDEpIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyAudGljazpudGgtY2hpbGQoMm4gKyAxKSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1oaXN0b2dyYW0tbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIHRhZz0iW1t0YWddXSIgcnVuPSJbW3J1bl1dIiBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIgY29sb3I9IltbX3J1bkNvbG9yXV0iPjwvdGYtY2FyZC1oZWFkaW5nPgogICAgCiAgICA8dnotaGlzdG9ncmFtLXRpbWVzZXJpZXMgaWQ9ImNoYXJ0IiB0aW1lLXByb3BlcnR5PSJbW3RpbWVQcm9wZXJ0eV1dIiBtb2RlPSJbW2hpc3RvZ3JhbU1vZGVdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIj48L3Z6LWhpc3RvZ3JhbS10aW1lc2VyaWVzPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIiBpY29uPSJmdWxsc2NyZWVuIiBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAzMzBweDsKICAgICAgICBoZWlnaHQ6IDIzNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB7CiAgICAgICAgd2lkdGg6IDcwMHB4OwogICAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIHZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIHsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDkwJTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yIGlkPSJoaXN0b2dyYW1Nb2RlU2VsZWN0b3IiIG5hbWU9Ikhpc3RvZ3JhbSBtb2RlIiBzZWxlY3RlZC1pZD0ie3tfaGlzdG9ncmFtTW9kZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ib3ZlcmxheSI+b3ZlcmxheTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJvZmZzZXQiPm9mZnNldDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1vcHRpb24tc2VsZWN0b3IgaWQ9InRpbWVQcm9wZXJ0eVNlbGVjdG9yIiBuYW1lPSJPZmZzZXQgdGltZSBheGlzIiBzZWxlY3RlZC1pZD0ie3tfdGltZVByb3BlcnR5fX0iPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJzdGVwIj5zdGVwPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvdGYtb3B0aW9uLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gaGlzdG9ncmFtIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhpc3RvZ3JhbSBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWhpc3RvZ3JhbS1sb2FkZXIgcnVuPSJbW2l0ZW0ucnVuXV0iIHRhZz0iW1tpdGVtLnRhZ11dIiBhY3RpdmU9IltbYWN0aXZlXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiB0aW1lLXByb3BlcnR5PSJbW190aW1lUHJvcGVydHldXSIgaGlzdG9ncmFtLW1vZGU9IltbX2hpc3RvZ3JhbU1vZGVdXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIj48L3RmLWhpc3RvZ3JhbS1sb2FkZXI+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGV4dC1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgcnVuPSJbW3J1bl1dIiB0YWc9IltbdGFnXV0iIGNvbG9yPSJbW19ydW5Db2xvcl1dIj4KICAgIDwvdGYtY2FyZC1oZWFkaW5nPgogICAgPHBhcGVyLW1hdGVyaWFsIGVsZXZhdGlvbj0iMSIgaWQ9InN0ZXBzLWNvbnRhaW5lciIgY2xhc3M9ImNvbnRhaW5lciBzY3JvbGxiYXIiIHN0eWxlPSJib3JkZXItY29sb3I6IFtbX3J1bkNvbG9yXV0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190ZXh0c11dIj4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0ic3RlcC1jb250YWluZXIiPgogICAgICAgICAgc3RlcCA8c3BhbiBjbGFzcz0ic3RlcC12YWx1ZSI+W1tfZm9ybWF0U3RlcChpdGVtLnN0ZXApXV08L3NwYW4+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0idGV4dCI+CiAgICAgICAgICA8dGYtbWFya2Rvd24tdmlldyBodG1sPSJbW2l0ZW0udGV4dF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICAuc2Nyb2xsYmFyIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgICNzdGVwcy1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAvKiBjb2xvciBjb21wdXRlZCBhbmQgc2V0IGFzIGlubGluZSBzdHlsZSAqLzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgIC50ZXh0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggM3B4OwogICAgICAgIHBhZGRpbmc6IDVweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CiAgICAgIC5zdGVwLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IC8qIHRvIGNvcnJlY3QgZm9yIGJvcmRlciAqLwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgfQogICAgICAuc3RlcC1jb250YWluZXI6bm90KDpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRleHQtZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyB0ZXh0IGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSB0ZXh0IGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyI+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYT4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3IGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtdGV4dC1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiB0YWc9IltbaXRlbS50YWddXSIgcnVuPSJbW2l0ZW0ucnVuXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSI+PC90Zi10ZXh0LWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcHItY3VydmUtY2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIj48L3RmLWNhcmQtaGVhZGluZz4KCiAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW194Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHktdmFsdWUtYWNjZXNzb3I9IltbX3lWYWx1ZUFjY2Vzc29yXV0iIHRvb2x0aXAtY29sdW1ucz0iW1tfdG9vbHRpcENvbHVtbnNdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIiBkZWZhdWx0LXgtcmFuZ2U9IltbX2RlZmF1bHRYUmFuZ2VdXSIgZGVmYXVsdC15LXJhbmdlPSJbW19kZWZhdWx0WVJhbmdlXV0iIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIiBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIiBkYXRhLXNlcmllcz0iW1tydW5zXV0iIGxvYWQta2V5PSJbW3RhZ11dIiBnZXQtZGF0YS1sb2FkLXVybD0iW1tfZGF0YVVybF1dIiBsb2FkLWRhdGEtY2FsbGJhY2s9IltbX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24oKV1dIiBhY3RpdmU9IltbYWN0aXZlXV0iPjwvdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcj4KCiAgICA8ZGl2IGlkPSJidXR0b25zLXJvdyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iIGljb249ImZ1bGxzY3JlZW4iIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iUmVzZXQgYXhlcyB0byBbMCwgMV0uIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0ic3RlcC1sZWdlbmQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFN0ZXBBdmFpbGFibGVdXSIgYXM9InJ1biI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kOiBbW19jb21wdXRlUnVuQ29sb3IocnVuKV1dOyI+PC9kaXY+CiAgICAgICAgICBbW3J1bl1dIGlzIGF0CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1sYWJlbC10ZXh0Ij4KICAgICAgICAgICAgc3RlcCBbW19jb21wdXRlQ3VycmVudFN0ZXBGb3JSdW4oX3J1blRvUHJDdXJ2ZUVudHJ5LCBydW4pXV0gPC9zcGFuPjxicj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3YWxsLXRpbWUtbGFiZWwtdGV4dCI+CiAgICAgICAgICAgIChbW19jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKF9ydW5Ub1ByQ3VydmVFbnRyeSwgcnVuKV1dKQogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIHsKICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgI3N0ZXAtbGVnZW5kIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGZvbnQtc2l6ZTogMC44ZW07CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5sZWdlbmQtcm93IHsKICAgICAgICBtYXJnaW46IDVweCAwIDVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5jb2xvci1ib3ggewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CiAgICAgIC5zdGVwLWxhYmVsLXRleHQgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIC53YWxsLXRpbWUtbGFiZWwtdGV4dCB7CiAgICAgICAgY29sb3I6ICM4ODg7CiAgICAgICAgZm9udC1zaXplOiAwLjhlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFNsaWRlcnNdXSIgYXM9InJ1biI+CiAgICAgIDxkaXYgY2xhc3M9InJ1bi13aWRnZXQiPgogICAgICAgIDxkaXYgY2xhc3M9InJ1bi1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJydW4tY29sb3ItYm94IiBzdHlsZT0iYmFja2dyb3VuZDpbW19jb21wdXRlQ29sb3JGb3JSdW4ocnVuKV1dOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJydW4tdGV4dCI+CiAgICAgICAgICAgIFtbcnVuXV0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtZGlzcGxheS1jb250YWluZXIiPgogICAgICAgICAgW1tfY29tcHV0ZVRpbWVUZXh0Rm9yUnVuKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIF9ydW5Ub1N0ZXBJbmRleCwKICAgICAgICAgIHJ1biwgdGltZURpc3BsYXlUeXBlKV1dCiAgICAgICAgPC9kaXY+CiAgICAgICAgPHBhcGVyLXNsaWRlciBkYXRhLXJ1biQ9IltbcnVuXV0iIHN0ZXA9IjEiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IltbX2NvbXB1dGVNYXhTdGVwSW5kZXhGb3JSdW4ocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgcnVuKV1dIiB2YWx1ZT0iW1tfZ2V0U3RlcChfcnVuVG9TdGVwSW5kZXgsIHJ1bildXSIgb24taW1tZWRpYXRlLXZhbHVlLWNoYW5nZWQ9Il9zbGlkZXJWYWx1ZUNoYW5nZWQiPjwvcGFwZXItc2xpZGVyPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ydW4td2lkZ2V0IHsKICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICBtYXJnaW46IC04cHggMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwLWRpc3BsYXktY29udGFpbmVyIHsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsKICAgICAgfQogICAgICAucnVuLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICAucnVuLWNvbG9yLWJveCB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1wci1jdXJ2ZS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0idGltZS10eXBlLXNlbGVjdG9yIiBuYW1lPSJUaW1lIERpc3BsYXkgVHlwZSIgc2VsZWN0ZWQtaWQ9Int7X3RpbWVEaXNwbGF5VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIiBpZD0ic3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIj4KICAgICAgICAgICAgPHRmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yIHJ1bnM9IltbX3JlbGV2YW50U2VsZWN0ZWRSdW5zXV0iIHJ1bi10by1zdGVwPSJ7e19ydW5Ub1N0ZXB9fSIgcnVuLXRvLWF2YWlsYWJsZS10aW1lLWVudHJpZXM9IltbX3J1blRvQXZhaWxhYmxlVGltZUVudHJpZXNdXSIgdGltZS1kaXNwbGF5LXR5cGU9IltbX3RpbWVEaXNwbGF5VHlwZV1dIj48L3RmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHByZWNpc2lvbuKAk3JlY2FsbCBjdXJ2ZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwcmVjaXNpb27igJNyZWNhbGwgZGF0YSB0byB5b3VyIGV2ZW50CiAgICAgICAgICAgICAgICBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIgZ2V0LWNhdGVnb3J5LWl0ZW0ta2V5PSJbW19nZXRDYXRlZ29yeUl0ZW1LZXldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLXByLWN1cnZlLWNhcmQgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW5zPSJbW2l0ZW0ucnVuc11dIiB0YWc9IltbaXRlbS50YWddXSIgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1bnMsIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIHJ1bi10by1zdGVwLWNhcD0iW1tfcnVuVG9TdGVwXV0iIG9uLWRhdGEtY2hhbmdlPSJbW19jcmVhdGVEYXRhQ2hhbmdlQ2FsbGJhY2soaXRlbS50YWcpXV0iPjwvdGYtcHItY3VydmUtY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgICAvKiogRG8gbm90IGxldCB0aGUgc3RlcHMgc2VsZWN0b3Igb2NjbHVkZSB0aGUgcnVuIHNlbGVjdG9yLiAqLwogICAgICAjc3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiA0MCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+CiAgICAgIDxoMz5UaGUgcHJvZmlsZSBwbHVnaW4gaGFzIG1vdmVkLjwvaDM+CiAgICAgIDxwPgogICAgICAgIFBsZWFzZSBpbnN0YWxsIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgcHJvZmlsZSBwbHVnaW4gZnJvbSBQeVBJIGJ5CiAgICAgICAgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSB0aGUgbWFjaGluZSBydW5uaW5nIFRlbnNvckJvYXJkOgogICAgICA8L3A+CiAgICAgIDx0ZXh0YXJlYSBpZD0iY29tbWFuZFRleHRhcmVhIiByZWFkb25seSByb3dzPSIxIiBvbi1ibHVyPSJfcmVtb3ZlQ29waWVkTWVzc2FnZSI+CltbX2luc3RhbGxDb21tYW5kXV08L3RleHRhcmVhPgogICAgICA8ZGl2IGlkPSJjb3B5Q29udGFpbmVyIj4KICAgICAgICA8c3BhbiBpZD0iY29waWVkTWVzc2FnZSI+PC9zcGFuPgogICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIG9uLXRhcD0iX2NvcHlJbnN0YWxsQ29tbWFuZCI+Q29weSB0byBjbGlwYm9hcmQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIC5tZXNzYWdlIHsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgfQogICAgICAjY29tbWFuZFRleHRhcmVhIHsKICAgICAgICBtYXJnaW4tdG9wOiAxZXg7CiAgICAgICAgcGFkZGluZzogMWV4IDFlbTsKICAgICAgICByZXNpemU6IHZlcnRpY2FsOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgICNjb3B5Q29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CiAgICAgICNjb3BpZWRNZXNzYWdlIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcGx1Z2luLWRpYWxvZyI+CiAgPHRlbXBsYXRlPgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX29wZW5dXSI+CiAgICAgIDxkaXYgaWQ9ImRhc2hib2FyZC1iYWNrZHJvcCI+PC9kaXY+CiAgICA8L3RlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyBpZD0iZGlhbG9nIiBtb2RhbCBvcGVuZWQ9Int7X29wZW59fSIgd2l0aC1iYWNrZHJvcD0iW1tfdXNlTmF0aXZlQmFja2Ryb3BdXSI+CiAgICAgIDxoMiBpZD0iZGlhbG9nLXRpdGxlIj5bW190aXRsZV1dPC9oMj4KICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLW1lc3NhZ2UiPltbX2N1c3RvbU1lc3NhZ2VdXTwvZGl2PgogICAgPC9wYXBlci1kaWFsb2c+CiAgICA8c3R5bGU+CiAgICAgIC8qKiBXZSByZWx5IG9uIGEgc2VwYXJhdGUgYF9oaWRkZW5gIHByb3BlcnR5IGluc3RlYWQgb2YgZGlyZWN0bHkgbWFraW5nIHVzZQogICAgICAgICAgb2YgdGhlIGBfb3BlbmAgYXR0cmlidXRlIGJlY2F1c2UgdGhpcyBDU1Mgc3BlY2lmaWNhdGlvbiBtYXkgc3RyYW5nZWx5CiAgICAgICAgICBhZmZlY3Qgb3RoZXIgZWxlbWVudHMgdGhyb3VnaG91dCBUZW5zb3JCb2FyZC4gU2VlICM4OTkuICovCiAgICAgICNkYXNoYm9hcmQtYmFja2Ryb3AgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgICNkaWFsb2ctdGl0bGUgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAuY3VzdG9tLW1lc3NhZ2UgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWJlaG9sZGVyLXZpZGVvIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8aW1nIGlkPSJ2aWRlbyIgc3JjJD0iW1tfaW1hZ2VVUkxdXSI+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIGltZyB7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWJlaG9sZGVyLWluZm8iPgogIDx0ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2l0ZW1zXV0iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iIHN0eWxlJD0iaGVpZ2h0OiBbW2l0ZW0uaGVpZ2h0XV1weCI+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPltbaXRlbS5uYW1lXV08L2xpPgogICAgICAgICAgPGxpPnNoYXBlOiBbW2l0ZW0uc2hhcGVdXTwvbGk+CiAgICAgICAgICA8bGk+cmFuZ2U6IFsgW1tpdGVtLm1pbl1dLCBbW2l0ZW0ubWF4XV0gXTwvbGk+CiAgICAgICAgICA8bGk+bWVhbjogW1tpdGVtLm1lYW5dXTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgLnNlY3Rpb24taW5mbyB7CiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgICAgIH0KICAgICAgLnNlY3Rpb24taW5mbyB1bCB7CiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtYmVob2xkZXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtcGx1Z2luLWRpYWxvZyBpZD0iaW5pdGlhbERpYWxvZyI+PC90Zi1wbHVnaW4tZGlhbG9nPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8cCBjbGFzcz0iY29udHJvbHMtZGlzYWJsZWQtbWVzc2FnZSI+CiAgICAgICAgICAgICAgQ29udHJvbHMgZGlzYWJsZWQ6IGRpcmVjdG9yeSBpcyBub3Qgd3JpdGVhYmxlLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJkaXNjbGFpbWVyIj4KICAgICAgICAgICAgICBCZWhvbGRlciByZXF1aXJlcyB3cml0ZSBhY2Nlc3MgdG8gdGhlIGxvZyBkaXJlY3RvcnkgaW4gb3JkZXIgdG8KICAgICAgICAgICAgICBjb21tdW5pY2F0ZSB2aXN1YWxpemF0aW9uIGNoYW5nZXMgdG8gdGhlIDxjb2RlPkJlaG9sZGVyPC9jb2RlPgogICAgICAgICAgICAgIGluc3RhbmNlIGluIHlvdXIgbW9kZWwuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxoMz5WYWx1ZXM8L2gzPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJ2YWx1ZXNTZWxlY3RvciIgc2VsZWN0ZWQ9Int7X3ZhbHVlc319Ij4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJ0cmFpbmFibGVfdmFyaWFibGVzIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgPHByZT50Zi50cmFpbmFibGVfdmFyaWFibGVzKCk8L3ByZT4KICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9Im9wdGlvbi1hcnJheXMiIG5hbWU9ImFycmF5cyIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgIDxwcmU+Yi51cGRhdGUoYXJyYXlzPVtOUF9BUlJBWVNdKTwvcHJlPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ib3B0aW9uLWZyYW1lcyIgbmFtZT0iZnJhbWVzIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgPHByZT5iLnVwZGF0ZShmcmFtZT1OUF9BUlJBWSk8L3ByZT4KICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfdmFsdWVzTm90RnJhbWUoX3ZhbHVlcyldXSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93QWxsfX0iIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj5TaG93IGFsbCBkYXRhIDxpPihjYW4gYmUgcmVzb3VyY2UgaW50ZW5zaXZlKTwvaT48L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW192YWx1ZXNOb3RGcmFtZShfdmFsdWVzKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMz5Nb2RlPC9oMz4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJtb2RlU2VsZWN0b3IiIHNlbGVjdGVkPSJ7e19tb2RlfX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gbmFtZT0iY3VycmVudCIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgICAgY3VycmVudCB2YWx1ZXMKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9InZhcmlhbmNlIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgICB2YXJpYW5jZSBvdmVyIHRyYWluIHN0ZXBzCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfdmFyaWFuY2VTZWxlY3RlZChfbW9kZSldXSI+CiAgICAgICAgICAgICAgPGg0PlZhcmlhbmNlIHRpbWVzdGVwczoge3tfd2luZG93U2l6ZX19PC9oND4KICAgICAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJ3aW5kb3dTbGlkZXIiIHZhbHVlPSJ7e193aW5kb3dTaXplfX0iIHR5cGU9Im51bWJlciIgc3RlcD0iMSIgbWluPSIyIiBtYXg9IjIwIiBwaW49InRydWUiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICA8L3BhcGVyLXNsaWRlcj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMz5JbWFnZSBzY2FsaW5nPC9oMz4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJzY2FsaW5nU2VsZWN0b3IiIHNlbGVjdGVkPSJ7e19zY2FsaW5nfX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9Im9wdGlvbi1sYXllciIgbmFtZT0ibGF5ZXIiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICAgIHBlciBzZWN0aW9uCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgZm9yPSJvcHRpb24tbGF5ZXIiIHBvc2l0aW9uPSJyaWdodCI+CiAgICAgICAgICAgICAgICBCbGFjayBpcyB0aGUgbG93ZXN0IHZhbHVlIGluIHRoYXQgc2VjdGlvbiwgd2hpdGUgaXMgdGhhdCBsYXJnZXN0CiAgICAgICAgICAgICAgICB2YWx1ZSBpbiB0aGF0IHNlY3Rpb24uCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJvcHRpb24tbmV0d29yayIgbmFtZT0ibmV0d29yayIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgICAgYWxsIHNlY3Rpb25zCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgZm9yPSJvcHRpb24tbmV0d29yayIgcG9zaXRpb249InJpZ2h0Ij4KICAgICAgICAgICAgICAgIEJsYWNrIGlzIHRoZSBzbWFsbGVzdCB2YWx1ZSBpbiBhbGwgc2VjdGlvbnMsIHdoaXRlIGlzIHRoZQogICAgICAgICAgICAgICAgbGFyZ2VzdCB2YWx1ZSBpbiBhbGwgc2VjdGlvbnMuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgoKICAgICAgICAgICAgPGRpdiBpZD0iY29sb3JtYXAtc2VsZWN0aW9uIj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xvcm1hcC1zZWxlY3Rpb24tbGFiZWwiPkNvbG9ybWFwOjwvZGl2PgogICAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2NvbG9ybWFwfX0iIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIHNlbGVjdGVkPSIwIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+bWFnbWE8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmluZmVybm88L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPnBsYXNtYTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+dmlyaWRpczwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+Z3JheXNjYWxlPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGgzPlVwZGF0ZXMgcGVyIHNlY29uZDoge3tfRlBTfX08L2gzPgogICAgICAgICAgPHBhcGVyLXNsaWRlciBpZD0iRlBTU2xpZGVyIiB2YWx1ZT0ie3tfRlBTfX0iIHR5cGU9Im51bWJlciIgc3RlcD0iMSIgbWluPSIwIiBtYXg9IjMwIiBwaW49InRydWUiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgIDwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIGlkPSJyZWNvcmRfYnV0dG9uIiBvbi10YXA9Il90b2dnbGVSZWNvcmQiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICBbW19yZWNvcmRUZXh0XV0KICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxwIGNsYXNzPSJkaXNjbGFpbWVyIj4KICAgICAgICAgICAgTm90ZTogQmVob2xkZXIgY3VycmVudGx5IG9ubHkgd29ya3Mgd2VsbCBvbiBsb2NhbCBmaWxlIHN5c3RlbXMuCiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiIHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNfYWN0aXZlXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIEJlaG9sZGVyIGRhdGEgd2FzIGZvdW5kLjwvaDM+CgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdXIgc2NyaXB0IGlzbid0IHJ1bm5pbmcuPC9saT4KICAgICAgICAgICAgICA8bGk+WW91IGFyZW4ndCBjYWxsaW5nIDxjb2RlPmJlaG9sZGVyLnVwZGF0ZSgpPC9jb2RlPi48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gdXNlIEJlaG9sZGVyLCBpbXBvcnQgYW5kIGluc3RhbnRpYXRlIHRoZQogICAgICAgICAgICAgIDxjb2RlPkJlaG9sZGVyPC9jb2RlPiBjbGFzcywgYW5kIGNhbGwgaXRzCiAgICAgICAgICAgICAgPGNvZGU+dXBkYXRlPC9jb2RlPiBtZXRob2Qgd2l0aCBhIDxjb2RlPlNlc3Npb248L2NvZGU+IGFyZ3VtZW50CiAgICAgICAgICAgICAgYWZ0ZXIgZXZlcnkgdHJhaW4gc3RlcDoKICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHByZT5mcm9tIHRlbnNvcmJvYXJkLnBsdWdpbnMuYmVob2xkZXIgaW1wb3J0IEJlaG9sZGVyCmJlaG9sZGVyID0gQmVob2xkZXIoTE9HX0RJUkVDVE9SWSkKCiMgaW5zaWRlIHRyYWluIGxvb3AKYmVob2xkZXIudXBkYXRlKAogIHNlc3Npb249c2VzcywKICBhcnJheXM9bGlzdF9vZl9ucF9hcnJheXMsICAjIG9wdGlvbmFsIGFyZ3VtZW50CiAgZnJhbWU9dHdvX2RpbWVuc2lvbmFsX25wX2FycmF5LCAgIyBvcHRpb25hbCBhcmd1bWVudAopPC9wcmU+CiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHVzaW5nIDxjb2RlPnRmLnRyYWluLk1vbml0b3JlZFNlc3Npb248L2NvZGU+LCB5b3UgY2FuIHVzZQogICAgICAgICAgICAgIDxjb2RlPkJlaG9sZGVySG9vazwvY29kZT46CiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwcmU+ZnJvbSB0ZW5zb3Jib2FyZC5wbHVnaW5zLmJlaG9sZGVyIGltcG9ydCBCZWhvbGRlckhvb2sKYmVob2xkZXJfaG9vayA9IEJlaG9sZGVySG9vayhMT0dfRElSRUNUT1JZKQp3aXRoIE1vbml0b3JlZFNlc3Npb24oLi4uLCBob29rcz1bYmVob2xkZXJfaG9va10pIGFzIHNlc3M6CiAgc2Vzcy5ydW4odHJhaW5fb3ApPC9wcmU+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgZXZlcnl0aGluZyBpcyBzZXQgdXAgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci90ZW5zb3Jib2FyZC9wbHVnaW5zL2JlaG9sZGVyL1JFQURNRS5tZCI+dGhlIFJFQURNRTwvYT4KICAgICAgICAgICAgICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHAgY2xhc3M9ImRpc2NsYWltZXIiPgogICAgICAgICAgICAgIE5vdGU6IEJlaG9sZGVyIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdlbGwgb24gbG9jYWwgZmlsZSBzeXN0ZW1zLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzX2FjdGl2ZV1dIj4KICAgICAgICAgIDx0Zi1iZWhvbGRlci12aWRlbyBpZD0idmlkZW8iIGZwcz0iW1tfRlBTXV0iPjwvdGYtYmVob2xkZXItdmlkZW8+CgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW192YWx1ZXNOb3RGcmFtZShfdmFsdWVzKV1dIj4KICAgICAgICAgICAgPHRmLWJlaG9sZGVyLWluZm8gaWQ9ImluZm8iIGZwcz0iW1tfRlBTXV0iPiA8L3RmLWJlaG9sZGVyLWluZm8+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLmNlbnRlciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwOwogICAgICB9CgogICAgICBwYXBlci1jaGVja2JveCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CgogICAgICBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcGFkZGluZzogNXB4OwoKICAgICAgICAtLXBhcGVyLXJhZGlvLWJ1dHRvbi1yYWRpby1jb250YWluZXI6IHsKICAgICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHBhcGVyLXNsaWRlciB7CiAgICAgICAgLS1wYXBlci1zbGlkZXItYWN0aXZlLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItbWFya2Vycy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIGZsZXgtZ3JvdzogMjsKICAgICAgfQoKICAgICAgcHJlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiNyZWNvcmRfYnV0dG9uIHsKICAgICAgICBjb2xvcjogI2QzMmYyZjsKICAgICAgfQoKICAgICAgcGFwZXItYnV0dG9uI3JlY29yZF9idXR0b24uaXMtcmVjb3JkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZDMyZjJmOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbi5iZWhvbGRlci1kYXNoYm9hcmQ6bGFzdC1jaGlsZCB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CgogICAgICAjY29sb3JtYXAtc2VsZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgICAgfQoKICAgICAgI2NvbG9ybWFwLXNlbGVjdGlvbi1sYWJlbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgICAgfQoKICAgICAgI2NvbG9ybWFwLXNlbGVjdGlvbiBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CgogICAgICBoNCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgbWFyZ2luOiA1cHggMDsKICAgICAgfQoKICAgICAgcC5kaXNjbGFpbWVyIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIHAuY29udHJvbHMtZGlzYWJsZWQtbWVzc2FnZSB7CiAgICAgICAgY29sb3I6ICNjMDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tc3BsaXQtbGF5b3V0Ij4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbF0pIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdCA6OnNsb3R0ZWQoKikgewogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCA+ICNzcGxpdHRlciB7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgICBtaW4td2lkdGg6IDhweDsKICAgICAgICBtaW4taGVpZ2h0OiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGl2aWRlci1jb2xvciwgI2NjYyk7CiAgICAgICAgZmlsbDogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTsKICAgICAgICBAYXBwbHkgLS12YWFkaW4tc3BsaXQtbGF5b3V0LXNwbGl0dGVyOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFt2ZXJ0aWNhbF0pKSA+ICNzcGxpdHRlciB7CiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbF0pID4gI3NwbGl0dGVyIHsKICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKICAgICAgfQoKICAgICAgI2hhbmRsZSwKICAgICAgI3NwbGl0dGVyIDo6c2xvdHRlZChbc2xvdD1oYW5kbGVdKSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZlcnRpY2FsXSkgPiAjc3BsaXR0ZXIgI2hhbmRsZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzbG90IGlkPSJwcmltYXJ5IiBuYW1lPSJwcmltYXJ5Ij48L3Nsb3Q+CiAgICA8ZGl2IGlkPSJzcGxpdHRlciIgb24tdHJhY2s9Il9vbkhhbmRsZVRyYWNrIiBvbi1kb3duPSJfcHJldmVudERlZmF1bHQiPgogICAgICA8c2xvdCBuYW1lPSJoYW5kbGUiPgogICAgICAgIDxzdmcgaWQ9ImhhbmRsZSIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj4KICAgICAgICAgIDxyZWN0IHg9IjE5IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSIyNCI+PC9yZWN0PgogICAgICAgIDwvc3ZnPgogICAgICA8L3Nsb3Q+CiAgICA8L2Rpdj4KICAgIDxzbG90IGlkPSJzZWNvbmRhcnkiIG5hbWU9InNlY29uZGFyeSI+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcXVlcnktcGFuZSI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0icGFuZSI+CiAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsIGlkPSJoeXBlcnBhcmFtZXRlcnMtbWV0cmljcy1zdGF0dXNlcyI+CiAgICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbCBpZD0iaHlwZXJwYXJhbWV0ZXJzLW1ldHJpY3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGh5cGVycGFyYW1ldGVycyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SHlwZXJwYXJhbWV0ZXJzPC9kaXY+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tfaHBhcmFtc319IiBhcz0iaHBhcmFtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYXJhbSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e2hwYXJhbS5kaXNwbGF5ZWR9fSIgY2xhc3M9ImhwYXJhbS1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgICAgW1tfaHBhcmFtTmFtZShocGFyYW0uaW5mbyldXQogICAgICAgICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLmRvbWFpbkRpc2NyZXRlXV0iPgogICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbaHBhcmFtLmZpbHRlci5kb21haW5EaXNjcmV0ZV1dIj4KICAgICAgICAgICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e2l0ZW0uY2hlY2tlZH19IiBjbGFzcz0iZGlzY3JldGUtdmFsdWUtY2hlY2tib3giIG9uLWNoYW5nZT0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgW1tfcHJldHR5UHJpbnQoaXRlbS52YWx1ZSldXQogICAgICAgICAgICAgICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWxdXSI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNaW4iIHZhbHVlPSJ7e2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWluLnZhbHVlfX0iIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXC1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9IltbaHBhcmFtLmZpbHRlci5pbnRlcnZhbC5taW4uaW52YWxpZF1dIiBwbGFjZWhvbGRlcj0iLWluZmluaXR5Ij4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICAgIDxwYXBlci1pbnB1dCBsYWJlbD0iTWF4IiB2YWx1ZT0ie3tocGFyYW0uZmlsdGVyLmludGVydmFsLm1heC52YWx1ZX19IiBhbGxvd2VkX3BhdHRlcm49IlswLTkuZVwtXSIgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIiBlcnJvci1tZXNzYWdlPSJJbnZhbGlkIGlucHV0IiBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWRdXSIgcGxhY2Vob2xkZXI9IitpbmZpbml0eSI+CiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLnJlZ2V4cF1dIj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9IlJlZ3VsYXIgZXhwcmVzc2lvbiIgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5yZWdleHB9fSIgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gbWV0cmljcyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWV0cmljczwvZGl2PgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X21ldHJpY3N9fSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7bWV0cmljLmRpc3BsYXllZH19IiBjbGFzcz0ibWV0cmljLWNoZWNrYm94Ij4KICAgICAgICAgICAgICAgICAgICBbW19tZXRyaWNOYW1lKG1ldHJpYy5pbmZvKV1dCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZS1lbGVtZW50Ij4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9Ik1pbiIgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIgYWxsb3dlZC1wYXR0ZXJuPSJbMC05LmVcLV0iIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIgZXJyb3ItbWVzc2FnZT0iSW52YWxpZCBpbnB1dCIgaW52YWxpZD0ie3ttZXRyaWMuZmlsdGVyLmludGVydmFsLm1pbi5pbnZhbGlkfX0iIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiPgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNYXgiIGFsbG93ZWQtcGF0dGVybj0iWzAtOS5lXC1dIiB2YWx1ZT0ie3ttZXRyaWMuZmlsdGVyLmludGVydmFsLm1heC52YWx1ZX19IiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5tYXguaW52YWxpZH19IiBwbGFjZWhvbGRlcj0iK2luZmluaXR5Ij4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzdGF0dXMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdGF0dXM8L2Rpdj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc3RhdHVzZXNdXSIgYXM9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7c3RhdHVzLmFsbG93ZWR9fSIgb24tY2hhbmdlPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgW1tzdGF0dXMuZGlzcGxheU5hbWVdXQogICAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWwgaWQ9InNvcnRpbmctcGFnaW5nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc29ydGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNvcnRpbmc8L2Rpdj4KICAgICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUgbGFiZWw9IlNvcnQgYnkiIG9uLXNlbGVjdGVkLWl0ZW0tY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIiBob3Jpem9udGFsLWFsaWduPSJsZWZ0Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7X3NvcnRCeUluZGV4fX0iIG9uLXNlbGVjdGVkLWl0ZW0tY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2hwYXJhbXNdXSIgYXM9ImhwYXJhbSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICAgIFtbX2hwYXJhbU5hbWUoaHBhcmFtLmluZm8pXV0KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX21ldHJpY3NdXSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICAgIFtbX21ldHJpY05hbWUobWV0cmljLmluZm8pXV0KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUgbGFiZWw9IkRpcmVjdGlvbiIgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGhvcml6b250YWwtYWxpZ249ImxlZnQiPgogICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0ie3tfc29ydERpcmVjdGlvbn19Ij4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPkFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPkRlc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsIGlkPSJwYWdpbmctZG93bmxvYWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIHBhZ2luZyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFnaW5nPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIE51bWJlciBvZiBtYXRjaGluZyBzZXNzaW9uIGdyb3VwczoKICAgICAgICAgICAgICAgIFtbX3RvdGFsU2Vzc2lvbkdyb3Vwc0NvdW50U3RyXV0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLW51bWJlci1pbnB1dCI+CiAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9IlBhZ2UgIyIgdmFsdWU9Int7X3BhZ2VOdW1iZXJJbnB1dC52YWx1ZX19IiBhbGxvd2VkLXBhdHRlcm49IlswLTldIiBlcnJvci1tZXNzYWdlPSJJbnZhbGlkIGlucHV0IiBpbnZhbGlkPSJbW19wYWdlTnVtYmVySW5wdXQuaW52YWxpZF1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9InN1ZmZpeCIgY2xhc3M9InBhZ2Utc3VmZml4Ij4KICAgICAgICAgICAgICAgICAgICAvIFtbX3BhZ2VDb3VudFN0cl1dCiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLXNpemUtaW5wdXQiPgogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNYXggIyBvZiBzZXNzaW9uIGdyb3VwcyBwZXIgcGFnZToiIHZhbHVlPSJ7e19wYWdlU2l6ZUlucHV0LnZhbHVlfX0iIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9IltbX3BhZ2VTaXplSW5wdXQuaW52YWxpZF1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gZG93bmxvYWQiPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2Vzc2lvbkdyb3Vwc1JlcXVlc3RdXSI+CiAgICAgICAgICAgICAgICBEb3dubG9hZCBkYXRhIGFzCiAgICAgICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAgICAgPGEgaWQ9ImNzdkxpbmsiIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmNzdiIgaHJlZj0iW1tfY3N2VXJsKF9zZXNzaW9uR3JvdXBzUmVxdWVzdCwgY29uZmlndXJhdGlvbildXSI+Q1NWPC9hPgogICAgICAgICAgICAgICAgICA8YSBpZD0ianNvbkxpbmsiIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmpzb24iIGhyZWY9IltbX2pzb25VcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIj5KU09OPC9hPgogICAgICAgICAgICAgICAgICA8YSBpZD0ibGF0ZXhMaW5rIiBkb3dubG9hZD0iaHBhcmFtc190YWJsZS50ZXgiIGhyZWY9IltbX2xhdGV4VXJsKF9zZXNzaW9uR3JvdXBzUmVxdWVzdCwgY29uZmlndXJhdGlvbildXSI+TGFUZVg8L2E+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDEwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4OwogICAgICB9CiAgICAgICNoeXBlcnBhcmFtZXRlcnMtbWV0cmljcy1zdGF0dXNlcyB7CiAgICAgICAgZmxleC1iYXNpczogNzAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAjaHlwZXJwYXJhbWV0ZXJzLW1ldHJpY3MgewogICAgICAgIGZsZXgtYmFzaXM6IDkwJTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLmh5cGVycGFyYW1ldGVycyB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLm1ldHJpY3MgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICB9CiAgICAgIC5zdGF0dXNlcyB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgI3NvcnRpbmctcGFnaW5nIHsKICAgICAgICBmbGV4LWJhc2lzOiAzMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgICNwYWdpbmctZG93bmxvYWQgewogICAgICAgIGZsZXgtYmFzaXM6IDkwJTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLnNvcnRpbmcgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5wYWdpbmcgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5kb3dubG9hZCB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgLmRpc2NyZXRlLXZhbHVlLWNoZWNrYm94LAogICAgICAubWV0cmljLWNoZWNrYm94LAogICAgICAuaHBhcmFtLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuZGlzY3JldGUtdmFsdWUtY2hlY2tib3ggewogICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgICB9CiAgICAgIC5ocGFyYW0sCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5pbmxpbmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiA0MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgICAgLnBhZ2UtbnVtYmVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAlOwogICAgICB9CiAgICAgIC5wYWdlLXNpemUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2MCU7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLWxpc3Rib3ggewogICAgICAgIG1heC1oZWlnaHQ6IDE1ZW07CiAgICAgIH0KICAgICAgLnBhZ2Utc3VmZml4IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1wYWdlcyI+CgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdCA+IDo6c2xvdHRlZCg6bm90KHNsb3QpOm5vdCguaXJvbi1zZWxlY3RlZCkpIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHNsb3Q+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWhlYWRlci1wYW5lbCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsOwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgfQoKICAgICAgI21haW5QYW5lbCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1ib2R5OwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc2Nyb2xsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1zY3JvbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXNjcm9sbC1jb250YWluZXI7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPXNjcm9sbF0pIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IGNvdmVyCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1jb3Zlcl0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtY292ZXItY29udGFpbmVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPWNvdmVyXSkgI21haW5QYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc3RhbmRhcmQKICAgICAgICovCiAgICAgIDpob3N0KFttb2RlPXN0YW5kYXJkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zdGFuZGFyZC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHNlYW1lZAogICAgICAgKi8KICAgICAgOmhvc3QoW21vZGU9c2VhbWVkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zZWFtZWQtY29udGFpbmVyOwogICAgICB9CgoKICAgICAgLyoKICAgICAgICogbW9kZTogd2F0ZXJmYWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXdhdGVyZmFsbC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHdhdGVyZmFsbC10YWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGwtdGFsbF0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtd2F0ZXJmYWxsLXRhbGwtY29udGFpbmVyOwogICAgICB9CgogICAgICAjZHJvcFNoYWRvdyB7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zaGFkb3c7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNkcm9wU2hhZG93Lmhhcy1zaGFkb3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNtYWluQ29udGFpbmVyID4gOjpzbG90dGVkKC5maXQpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgPC9zdHlsZT4KCiAgICA8c2xvdCBpZD0iaGVhZGVyU2xvdCIgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CgogICAgPGRpdiBpZD0ibWFpblBhbmVsIj4KICAgICAgPGRpdiBpZD0ibWFpbkNvbnRhaW5lciIgY2xhc3MkPSJbW19jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzKG1vZGUpXV0iPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImRyb3BTaGFkb3ciPjwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItdGFiIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1qdXN0aWZpZWQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYjsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2xpbmtdKSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRhYi1jb250ZW50IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWItY29udGVudDsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1zZWxlY3RlZCkpID4gLnRhYi1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAwLjg7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYi1jb250ZW50LXVuc2VsZWN0ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmb2N1cykgLnRhYi1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIH0KCiAgICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRhYi1pbmssIHZhcigtLXBhcGVyLXllbGxvdy1hMTAwKSk7CiAgICAgIH0KCiAgICAgIC50YWItY29udGVudCA+IDo6c2xvdHRlZChhKSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKCiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJwYXBlci10YWJzIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJjaGV2cm9uLWxlZnQiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiIgLz48L2c+CjxnIGlkPSJjaGV2cm9uLXJpZ2h0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6IiAvPjwvZz4KPC9kZWZzPjwvc3ZnPgo8L2lyb24taWNvbnNldC1zdmc+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRhYnMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLWxheW91dDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwoKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwoKICAgICAgICAvKiBOT1RFOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZSB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLiAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzOwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbC1yZXZlcnNlOwogICAgICB9CgogICAgICAjdGFic0NvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgLW1vei1mbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIC1tcy1mbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1jb250ZW50OwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudDpub3QoLnNjcm9sbGFibGUpLAogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZS5maXQtY29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciB7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZS5maXQtY29udGFpbmVyID4gOjpzbG90dGVkKCopIHsKICAgICAgICAvKiBJRSAtIHByZXZlbnQgdGFicyBmcm9tIGNvbXByZXNzaW5nIHdoZW4gdGhleSBzaG91bGQgc2Nyb2xsLiAqLwogICAgICAgIC1tcy1mbGV4OiAxIDAgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMCBhdXRvOwogICAgICAgIGZsZXg6IDEgMCBhdXRvOwogICAgICB9CgogICAgICAuaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAubm90LXZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgI3NlbGVjdGlvbkJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyLWNvbG9yLCB2YXIoLS1wYXBlci15ZWxsb3ctYTEwMCkpOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzLXNlbGVjdGlvbi1iYXI7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIuYWxpZ24tYm90dG9tIHsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiBhdXRvOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmV4cGFuZCB7CiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7CiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIuY29udHJhY3QgewogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMThzOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudCA+IDo6c2xvdHRlZCg6bm90KCNzZWxlY3Rpb25CYXIpKSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJwYXBlci10YWJzOmNoZXZyb24tbGVmdCIgY2xhc3MkPSJbW19jb21wdXRlU2Nyb2xsQnV0dG9uQ2xhc3MoX2xlZnRIaWRkZW4sIHNjcm9sbGFibGUsIGhpZGVTY3JvbGxCdXR0b25zKV1dIiBvbi11cD0iX29uU2Nyb2xsQnV0dG9uVXAiIG9uLWRvd249Il9vbkxlZnRTY3JvbGxCdXR0b25Eb3duIiB0YWJpbmRleD0iLTEiPjwvcGFwZXItaWNvbi1idXR0b24+CgogICAgPGRpdiBpZD0idGFic0NvbnRhaW5lciIgb24tdHJhY2s9Il9zY3JvbGwiIG9uLWRvd249Il9kb3duIj4KICAgICAgPGRpdiBpZD0idGFic0NvbnRlbnQiIGNsYXNzJD0iW1tfY29tcHV0ZVRhYnNDb250ZW50Q2xhc3Moc2Nyb2xsYWJsZSwgZml0Q29udGFpbmVyKV1dIj4KICAgICAgICA8ZGl2IGlkPSJzZWxlY3Rpb25CYXIiIGNsYXNzJD0iW1tfY29tcHV0ZVNlbGVjdGlvbkJhckNsYXNzKG5vQmFyLCBhbGlnbkJvdHRvbSldXSIgb24tdHJhbnNpdGlvbmVuZD0iX29uQmFyVHJhbnNpdGlvbkVuZCI+PC9kaXY+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJwYXBlci10YWJzOmNoZXZyb24tcmlnaHQiIGNsYXNzJD0iW1tfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzKF9yaWdodEhpZGRlbiwgc2Nyb2xsYWJsZSwgaGlkZVNjcm9sbEJ1dHRvbnMpXV0iIG9uLXVwPSJfb25TY3JvbGxCdXR0b25VcCIgb24tZG93bj0iX29uUmlnaHRTY3JvbGxCdXR0b25Eb3duIiB0YWJpbmRleD0iLTEiPjwvcGFwZXItaWNvbi1idXR0b24+CgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvb2xiYXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodDogdmFyKC0tcGFwZXItdG9vbGJhci1oZWlnaHQsIDY0cHgpOwogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodDogdmFyKC0tcGFwZXItdG9vbGJhci1zbS1oZWlnaHQsIDU2cHgpOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXRvb2xiYXItYmFja2dyb3VuZCwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci10b29sYmFyLWNvbG9yLCB2YXIoLS1kYXJrLXRoZW1lLXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyOwogICAgICB9CgogICAgICA6aG9zdCguYW5pbWF0ZSkgewogICAgICAgIHRyYW5zaXRpb246IHZhcigtLXBhcGVyLXRvb2xiYXItdHJhbnNpdGlvbiwgaGVpZ2h0IDAuMThzIGVhc2UtaW4pOwogICAgICB9CgogICAgICA6aG9zdCgubWVkaXVtLXRhbGwpIHsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCkgKiAyKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLW1lZGl1bTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRhbGwpIHsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCkgKiAzKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRhbGw7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItaGVpZ2h0KTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIFRPRE86IFdoZXJlIHNob3VsZCBtZWRpYSBxdWVyeSBicmVha3BvaW50cyBsaXZlIHNvIHRoZXkgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGVsZW1lbnRzPwogICAgICAgKi8KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCk7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCgubWVkaXVtLXRhbGwpIHsKICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KSAqIDIpOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoLnRhbGwpIHsKICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KSAqIDMpOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItdG9vbHMgewogICAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgICN0b3BCYXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLyogbWlkZGxlIGJhciAqLwogICAgICAjbWlkZGxlQmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC50YWxsKSAjbWlkZGxlQmFyLAogICAgICA6aG9zdCgubWVkaXVtLXRhbGwpICNtaWRkbGVCYXIgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAgICAgfQoKICAgICAgLyogYm90dG9tIGJhciAqLwogICAgICAjYm90dG9tQmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1ha2UgZWxlbWVudHMgKGUuZy4gYnV0dG9ucykgcmVzcG9uZCB0byBtb3VzZS90b3VjaCBldmVudHMKICAgICAgICoKICAgICAgICogYC50b29sYmFyLXRvb2xzYCBkaXNhYmxlcyB0b3VjaCBldmVudHMgc28gbXVsdGlwbGUgdG9vbGJhcnMgY2FuIHN0YWNrIGFuZCBub3QKICAgICAgICogYWJzb3JiIGV2ZW50cy4gQWxsIGNoaWxkcmVuIG11c3QgaGF2ZSBwb2ludGVyIGV2ZW50cyByZS1lbmFibGVkIHRvIHdvcmsgYXMKICAgICAgICogZXhwZWN0ZWQuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgqOm5vdChbZGlzYWJsZWRdKSkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItdG9vbHMgPiA6OnNsb3R0ZWQoLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDU2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzID4gOjpzbG90dGVkKHBhcGVyLWljb24tYnV0dG9uICsgLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBUaGUgLS1wYXBlci10b29sYmFyLXRpdGxlIG1peGluIGlzIGFwcGxpZWQgaGVyZSBpbnN0ZWFkIG9mIGFib3ZlIHRvCiAgICAgICAqIGZpeCB0aGUgaXNzdWUgd2l0aCBtYXJnaW4tbGVmdCBiZWluZyBpZ25vcmVkIGR1ZSB0byBjc3Mgb3JkZXJpbmcuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRpdGxlOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZChwYXBlci1pY29uLWJ1dHRvbltpY29uPW1lbnVdKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCguZml0KSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC8qIFRPRE8obm9tcyk6IFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgc29sdXRpb24gZm9yIGNsYXNzZXMgdGhhdCBkb24ndCB1c2UKICAgICAgICogL2RlZXAvIGNyZWF0ZSBvdXIgb3duLgogICAgICAgKi8KICAgICAgLnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmNlbnRlci1qdXN0aWZpZWQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9CgogICAgICAuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ7CiAgICAgIH0KCiAgICAgIC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtYXJvdW5kLWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b3BCYXIiIGNsYXNzJD0idG9vbGJhci10b29scyBbW19jb21wdXRlQmFyRXh0cmFDbGFzc2VzKGp1c3RpZnkpXV0iPgogICAgICA8c2xvdCBuYW1lPSJ0b3AiPjwvc2xvdD4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9Im1pZGRsZUJhciIgY2xhc3MkPSJ0b29sYmFyLXRvb2xzIFtbX2NvbXB1dGVCYXJFeHRyYUNsYXNzZXMobWlkZGxlSnVzdGlmeSldXSI+CiAgICAgIDxzbG90IG5hbWU9Im1pZGRsZSI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iYm90dG9tQmFyIiBjbGFzcyQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3Nlcyhib3R0b21KdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYm90dG9tIj48L3Nsb3Q+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iY29udHJvbC1wYW5lbCI+CiAgICAgIAogICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBsYWJlbD0iQ29sb3IgYnkiIGlkPSJjb2xvckJ5RHJvcERvd25NZW51IiBob3Jpem9udGFsLWFsaWduPSJsZWZ0Ij4KICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7b3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXh9fSIgaWQ9ImNvbG9yQnlMaXN0Qm94Ij4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Iltbb3B0aW9ucy5jb2x1bW5zXV0iIGFzPSJjb2x1bW4iIGlkPSJjb2xvckJ5Q29sdW1uVGVtcGxhdGUiPgogICAgICAgICAgICA8cGFwZXItaXRlbSBkaXNhYmxlZD0iW1shX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgoKICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbnMtY29udGFpbmVyIj4KICAgICAgICAKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJ7e29wdGlvbnMuY29sdW1uc319IiBhcz0iY29sdW1uIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNOdW1lcmljQ29sdW1uKGNvbHVtbi5pbmRleCldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbiI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLXRpdGxlIj4KICAgICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tZ3JvdXAgY2xhc3M9InNjYWxlLXJhZGlvLWdyb3VwIiBzZWxlY3RlZD0ie3tjb2x1bW4uc2NhbGV9fSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gbmFtZT0iTElORUFSIj4KICAgICAgICAgICAgICAgICAgICBMaW5lYXIKICAgICAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJsb2dTY2FsZUJ1dHRvbl9bW2NvbHVtbi5uYW1lXV0iIG5hbWU9IkxPRyIgZGlzYWJsZWQ9IltbIV9hbGxvd0xvZ1NjYWxlKGNvbHVtbiwgc2Vzc2lvbkdyb3Vwcy4qKV1dIj4KICAgICAgICAgICAgICAgICAgICBMb2dhcml0aG1pYwogICAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJRVUFOVElMRSI+CiAgICAgICAgICAgICAgICAgICAgUXVhbnRpbGUKICAgICAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuY29udHJvbC1wYW5lbCB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KICAgICAgLmNvbHVtbiB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIG1hcmdpbi1yaWdodDogNXB4OwogICAgICAgIGJvcmRlcjogc29saWQgMXB4IGRhcmtncmF5OwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgfQogICAgICAuY29sdW1uLXRpdGxlIHsKICAgICAgICAvKiBGaXQgZXZlcnkgdGl0bGUgaW4gb25lIGxpbmUgc28gdGhlIHJhZGlvIGJveGVzIGFsaWduIHZlcnRpY2FsbHkuICovCiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgICAuY29sdW1ucy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQogICAgICAuc2NhbGUtcmFkaW8tZ3JvdXAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAycHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgcGFwZXItbGlzdGJveCB7CiAgICAgICAgbWF4LWhlaWdodDogMTVlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1hY3RpdmUtaXRlbS10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvd1thY3RpdmVdIC52YWFkaW4tZ3JpZC1jZWxsOm5vdChbZGV0YWlsc2NlbGxdKSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgQGFwcGx5KC0tdmFhZGluLWdyaWQtYm9keS1yb3ctYWN0aXZlLWNlbGwpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc2Nyb2xsLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAjdGFibGUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgei1pbmRleDogLTI7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2lvc10gI3RhYmxlIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2ZpeGVkLXNlY3Rpb25zXSAjdGFibGUgewogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXNjcm9sbC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlLWJvZHkgewogICAgICAgIHotaW5kZXg6IC0xOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gewogICAgICAgIC8qIEFueSB2YWx1ZSBvdGhlciB0aGFuIOKAmG5vbmXigJkgZm9yIHRoZSB0cmFuc2Zvcm0gcmVzdWx0cyBpbiB0aGUgY3JlYXRpb24gb2YgYm90aCBhIHN0YWNraW5nIGNvbnRleHQgYW5kCiAgICAgICAgYSBjb250YWluaW5nIGJsb2NrLiBUaGUgb2JqZWN0IGFjdHMgYXMgYSBjb250YWluaW5nIGJsb2NrIGZvciBmaXhlZCBwb3NpdGlvbmVkIGRlc2NlbmRhbnRzLiAqLwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLAogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gdmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2ZpeGVkLXNlY3Rpb25zXSB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5I2l0ZW1zIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtZm9vdGVyLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtc2l6ZXItY2VsbCI+PC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1zaXplciI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jZWxsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBsaW5lLWhlaWdodDogMDsKICAgICAgICBmb250LXNpemU6IDFweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMWVtOwogICAgICB9CgogICAgICAuY2VsbFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NvbHVtbnNdXSIgYXM9ImNvbHVtbiI+CiAgICAgIDx2YWFkaW4tZ3JpZC1zaXplci1jZWxsIGNsYXNzPSJjZWxsIiBjb2x1bW49IltbY29sdW1uXV0iPiZuYnNwOzwvdmFhZGluLWdyaWQtc2l6ZXItY2VsbD4KICAgIDwvdGVtcGxhdGU+CgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtwYXNzdGhyb3VnaF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2lvc10pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHotaW5kZXg6IC0zOwogICAgICB9CgogICAgICA6aG9zdChbaW9zXVtzY3JvbGxpbmddKSB7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtZm9jdXMtdHJhcCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgIDpob3N0IHsKICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgIHotaW5kZXg6IC0zOwogICAgICAgaGVpZ2h0OiAwOwogICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICB9CgogICAgIDpob3N0KDpmb2N1cyksCiAgICAgLnByaW1hcnk6Zm9jdXMsCiAgICAgOjpzbG90dGVkKC5wcmltYXJ5OmZvY3VzKSwKICAgICAuc2Vjb25kYXJ5OmZvY3VzLAogICAgIDo6c2xvdHRlZCguc2Vjb25kYXJ5OmZvY3VzKSB7CiAgICAgICBvdXRsaW5lOiBub25lOwogICAgIH0KICAgIDwvc3R5bGU+CgogICAgCiAgICA8ZGl2IGNsYXNzPSJwcmltYXJ5IiB0YWJpbmRleD0iMCIgcm9sZT0iZ3JpZGNlbGwiIG9uLWZvY3VzPSJfb25CYWl0Rm9jdXMiIG9uLWJsdXI9Il9vbkJhaXRCbHVyIj48ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj4mbmJzcDs8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlY29uZGFyeSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJncmlkY2VsbCIgb24tZm9jdXM9Il9vbkJhaXRGb2N1cyIgb24tYmx1cj0iX29uQmFpdEJsdXIiPjxkaXYgYXJpYS1oaWRkZW49InRydWUiPiZuYnNwOzwvZGl2PjwvZGl2PgoKICAgIDxzbG90Pjwvc2xvdD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXJvdyI+PC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93Ij48L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXJvdy1kZXRhaWxzLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICBbZGV0YWlsc2NlbGxdIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1yb3ctZGV0YWlscy10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLnZhYWRpbi1ncmlkLWNlbGxbZGV0YWlsc2NlbGxdIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LWRldGFpbHMtY2VsbCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1kYXRhLXByb3ZpZGVyLXRoZW1hYmlsaXR5LXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgoKICAgICAgLyogQW5pbSAqLwogICAgICBAa2V5ZnJhbWVzIHZhYWRpbi1ncmlkLXNwaW4tMzYwIHsKICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyB2YWFkaW4tZ3JpZC1zcGluLTM2MCB7CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgI3NwaW5uZXIgewogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IsICMwM0E5RjQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICAgICAgbWFyZ2luLXRvcDogLThweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1sb2FkaW5nLXNwaW5uZXIpOwogICAgICB9CgogICAgICA6aG9zdChbbG9hZGluZ10pICNzcGlubmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiB2YWFkaW4tZ3JpZC1zcGluLTM2MCA0MDBtcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiB2YWFkaW4tZ3JpZC1zcGluLTM2MCA0MDBtcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtsb2FkaW5nXSkgI2l0ZW1zIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtc2VsZWN0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSAudmFhZGluLWdyaWQtcm93W3NlbGVjdGVkXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktMTAwLCByZ2IoMjQzLCAyNDMsIDI0MykpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LXNlbGVjdGVkLWNlbGwpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtbmF2aWdhdGlvbi10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QoOmZvY3VzKSwKICAgICAgI3RhYmxlOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbbmF2aWdhdGluZ106bm90KFtpbnRlcmFjdGluZ10pKSBbZm9jdXNlZF0gPiAudmFhZGluLWdyaWQtcm93W2ZvY3VzZWRdID4gW2ZvY3VzZWRdIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWZvY3VzZWQtY2VsbCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1jb2x1bW4tcmVvcmRlcmluZy10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGVbcmVvcmRlcmluZ10gLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgLnZhYWRpbi1ncmlkLWNlbGxbcmVvcmRlci1zdGF0dXM9ImRyYWdnaW5nIl0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IsICMwMDApOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtyZW9yZGVyaW5nXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgI3Njcm9sbGVyIC52YWFkaW4tZ3JpZC1jZWxsW3Jlb3JkZXItc3RhdHVzPSJhbGxvd2VkIl0gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNzY3JvbGxlciAudmFhZGluLWdyaWQtY2VsbFtyZW9yZGVyLXN0YXR1cz0iZHJhZ2dpbmciXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1jb2xvciwgIzAwMCk7CiAgICAgIH0KCiAgICAgICNzY3JvbGxlciAudmFhZGluLWdyaWQtY2VsbFtyZW9yZGVyLXN0YXR1cz0iZHJhZ2dpbmciXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgb3BhY2l0eTogMC45NTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgoKICAgICAgQGtleWZyYW1lcyBhcHBlYXIgewogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGFuaW1hdGlvbjogMW1zIGFwcGVhcjsKICAgICAgfQoKICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvOiAxKSB7CiAgICAgICAgOmhvc3QgewogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgICNpdGVtcyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgI2l0ZW1zID4gLnZhYWRpbi1ncmlkLXJvdyB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1jZWxsLAogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC52YWFkaW4tZ3JpZC1jZWxsIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNvbHVtbi1yZXNpemUtaGFuZGxlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMzVweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgIH0KCiAgICAgIFtsYXN0Y29sdW1uXSAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSwKICAgICAgW2xhc3QtZnJvemVuXSAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlb3JkZXJpbmctYWxsb3dlZF0gI2hlYWRlciwKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICB9CgogICAgICAudmFhZGluLWdyaWQtcm93Om5vdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIFtmcm96ZW5dIHsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbbm8tY29udGVudC1wb2ludGVyLWV2ZW50c10gLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0KFtpb3NdW2NvbHVtbi1yZXNpemluZ10pICNvdXRlcnNjcm9sbGVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAjZml4ZWRzaXplciwKICAgICAgI291dGVyc2l6ZXIgewogICAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgI3RhYmxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgI3RhYmxlW292ZXJmbG93LWhpZGRlbl0sCiAgICAgICNvdXRlcnNjcm9sbGVyW292ZXJmbG93LWhpZGRlbl0gewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXNpemVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzaXplcndyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB6LWluZGV4OiAtMTAwOwogICAgICB9CgogICAgICAjcmVvcmRlcmdob3N0IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNvbHVtbiksCiAgICAgIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uKSwKICAgICAgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGhlbWFiaWxpdHktc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CgogICAgICAvKiBEZWZhdWx0IGJvcmRlcnMgKi8KICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1yb3c6bGFzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgLnZhYWRpbi1ncmlkLXJvdzpmaXJzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IC52YWFkaW4tZ3JpZC1yb3c6bm90KFtsYXN0cm93XSkgLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kaXZpZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTsKICAgICAgfQoKICAgICAgW2xhc3QtZnJvemVuXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGl2aWRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7CiAgICAgIH0KCiAgICAgIC8qIENvbHVtbiByZXNpemUgaGFuZGxlICovCgogICAgICAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGUgewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWNvbHVtbi1yZXNpemUtaGFuZGxlKTsKICAgICAgfQoKICAgICAgLyogQ2VsbHMgKi8KICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvdyAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1yb3cgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWhlYWRlci1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIC52YWFkaW4tZ3JpZC1yb3cgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWZvb3Rlci1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtYm9keSAudmFhZGluLWdyaWQtcm93IC52YWFkaW4tZ3JpZC1jZWxsOm5vdChbZGV0YWlsc2NlbGxdKSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgQGFwcGx5KC0tdmFhZGluLWdyaWQtYm9keS1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtYm9keSBbb2RkXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LW9kZC1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvdyAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSlbbGFzdC1mcm96ZW5dIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1jZWxsLWxhc3QtZnJvemVuKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGU6bm90KFtzY3JvbGxpbmddKSB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IC52YWFkaW4tZ3JpZC1yb3c6aG92ZXIgLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LWhvdmVyLWNlbGwpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSAudmFhZGluLWdyaWQtcm93IC52YWFkaW4tZ3JpZC1jZWxsLnZhYWRpbi1ncmlkLWNlbGxbbGFzdGNvbHVtbl0gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgfQoKICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC10YWJsZSI+CiAgPHRlbXBsYXRlPgogICAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc2Nyb2xsLXN0eWxlcyI+PC9zdHlsZT4KICAgICAgPHN0eWxlIGluY2x1ZGU9InZhYWRpbi1ncmlkLXRhYmxlLXRhYmxlLXN0eWxlcyI+PC9zdHlsZT4KCiAgICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1kYXRhLXByb3ZpZGVyLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KCiAgICAgIDxkaXYgaWQ9InNwaW5uZXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0YWJsZSIgdGFiaW5kZXg9Ii0xIiBvdmVyZmxvdy1oaWRkZW4kPSJbW19oaWRlVGFibGVPdmVyZmxvdyhzY3JvbGxiYXJXaWR0aCwgc2FmYXJpKV1dIj4KICAgICAgICA8ZGl2IGlkPSJzaXplcndyYXBwZXIiPgogICAgICAgICAgPHZhYWRpbi1ncmlkLXNpemVyIGlkPSJmaXhlZHNpemVyIiB0b3A9IltbX2VzdFNjcm9sbEhlaWdodF1dIiBjb2x1bW4tdHJlZT0iW1tjb2x1bW5UcmVlXV0iPjwvdmFhZGluLWdyaWQtc2l6ZXI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHNsb3QgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CiAgICAgICAgPHNsb3QgbmFtZT0iaXRlbXMiPjwvc2xvdD4KICAgICAgICA8c2xvdCBuYW1lPSJmb290ZXIiPjwvc2xvdD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJyZW9yZGVyZ2hvc3QiPjwvZGl2PgogICAgICA8dmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIgaWQ9Im91dGVyc2Nyb2xsZXIiIHNjcm9sbC10YXJnZXQ9Iltbc2Nyb2xsVGFyZ2V0XV0iIG92ZXJmbG93LWhpZGRlbiQ9IltbX2hpZGVPdXRlclNjcm9sbGVyKHNjcm9sbGJhcldpZHRoLCBzYWZhcmkpXV0iIGlvcyQ9IltbaW9zXV0iIHNjcm9sbGluZyQ9Iltbc2Nyb2xsaW5nXV0iPgogICAgICA8dmFhZGluLWdyaWQtc2l6ZXIgaWQ9Im91dGVyc2l6ZXIiIHRvcD0iW1tfZXN0U2Nyb2xsSGVpZ2h0XV0iIGNvbHVtbi10cmVlPSJbW2NvbHVtblRyZWVdXSI+PC92YWFkaW4tZ3JpZC1zaXplcj4KICAgIDwvdmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXI+CiAgICA8c2xvdD48L3Nsb3Q+CiAgICA8c2xvdCBuYW1lPSJmb290ZXJGb2N1c1RyYXAiPjwvc2xvdD4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLWNvbHVtbiI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAjc2Nyb2xsZXIgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtc2Nyb2xsLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1yb3ctZGV0YWlscy1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtc3R5bGVzIj48L3N0eWxlPgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC10YWJsZS10aGVtYWJpbGl0eS1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtc2VsZWN0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1uYXZpZ2F0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1hY3RpdmUtaXRlbS10aGVtYWJpbGl0eS1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtcm93LWRldGFpbHMtdGhlbWFiaWxpdHktc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZhYWRpbi1ncmlkLWNvbHVtbi1yZW9yZGVyaW5nLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KCiAgICA8dmFhZGluLWdyaWQtdGFibGUgaWQ9InNjcm9sbGVyIiBsb2FkaW5nJD0iW1tfbG9hZGluZ11dIiBiaW5kLWRhdGE9IltbX2JpbmREYXRhXV0iIHNpemU9Iltbc2l6ZV1dIiBjb2x1bW4tdHJlZT0iW1tfY29sdW1uVHJlZV1dIiByb3ctZGV0YWlscy10ZW1wbGF0ZT0iW1tfcm93RGV0YWlsc1RlbXBsYXRlXV0iIGNvbHVtbi1yZW9yZGVyaW5nLWFsbG93ZWQ9IltbY29sdW1uUmVvcmRlcmluZ0FsbG93ZWRdXSI+CiAgICAgIDx2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXIgaWQ9ImhlYWRlciIgc2xvdD0iaGVhZGVyIiB0YXJnZXQ9IltbX2dldENvbnRlbnRUYXJnZXQoKV1dIiBjb2x1bW4tdHJlZT0iW1tfY29sdW1uVHJlZV1dIj48L3ZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlcj4KICAgICAgPHZhYWRpbi1ncmlkLXRhYmxlLWJvZHkgaWQ9Iml0ZW1zIiBzbG90PSJpdGVtcyI+PC92YWFkaW4tZ3JpZC10YWJsZS1ib2R5PgogICAgICA8dmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIGlkPSJmb290ZXIiIHNsb3Q9ImZvb3RlciIgdGFyZ2V0PSJbW19nZXRDb250ZW50VGFyZ2V0KCldXSIgY29sdW1uLXRyZWU9IltbX2NvbHVtblRyZWVdXSI+PC92YWFkaW4tZ3JpZC10YWJsZS1mb290ZXI+CgogICAgICAKICAgICAgPHNsb3QgbmFtZT0iZm9vdGVyRm9jdXNUcmFwIj48L3Nsb3Q+CgogICAgICAKICAgICAgCiAgICAgIDxzbG90Pjwvc2xvdD4KCiAgICAgIDx2YWFkaW4tZ3JpZC10YWJsZS1mb2N1cy10cmFwIGlkPSJmb290ZXJGb2N1c1RyYXAiIHNsb3Q9ImZvb3RlckZvY3VzVHJhcCIgb24tZm9jdXMtZ2FpbmVkPSJfb25Gb290ZXJGb2N1cyIgb24tZm9jdXMtbG9zdD0iX29uRm9jdXNvdXQiPgogICAgICA8L3ZhYWRpbi1ncmlkLXRhYmxlLWZvY3VzLXRyYXA+CiAgICA8L3ZhYWRpbi1ncmlkLXRhYmxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiPgogIDx0ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shc2Vzc2lvbkdyb3VwXV0iPgogICAgICA8ZGl2PgogICAgICAgIDxoMz5ObyBzZXNzaW9uIGdyb3VwIHNlbGVjdGVkPC9oMz4KICAgICAgICA8cD5QbGVhc2Ugc2VsZWN0IGEgc2Vzc2lvbiBncm91cCB0byBzZWUgaXRzIG1ldHJpYy1ncmFwaHMgaGVyZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hhdmVNZXRyaWNzKHZpc2libGVTY2hlbWEuKildXSI+CiAgICAgIDxkaXY+CiAgICAgICAgPGgzPk5vIG1ldHJpY3MgYXJlIGVuYWJsZWQ8L2gzPgogICAgICAgIDxwPlBsZWFzZSBlbmFibGUgc29tZSBtZXRyaWNzIHRvIHNlZSBjb250ZW50IGhlcmUuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJsYXlvdXQgaG9yaXpvbnRhbCB3cmFwIHNlc3Npb24tZ3JvdXAtZGV0YWlscyI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGF2ZU1ldHJpY3NBbmRTZXNzaW9uR3JvdXAodmlzaWJsZVNjaGVtYS4qLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb25Hcm91cCldXSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLm1ldHJpY0luZm9zXV0iIGFzPSJtZXRyaWNJbmZvIj4KICAgICAgICAgIAogICAgICAgICAgPHRmLXNjYWxhci1jYXJkIGNsYXNzPSJzY2FsYXItY2FyZCIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVdXSIgZGF0YS10by1sb2FkPSJbW19jb21wdXRlU2VyaWVzRm9yU2Vzc2lvbkdyb3VwTWV0cmljKHNlc3Npb25Hcm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRyaWNJbmZvKV1dIiB0YWc9IltbbWV0cmljSW5mby5uYW1lLnRhZ11dIiB0YWctbWV0YWRhdGE9IltbX2NvbXB1dGVUYWdNZXRhZGF0YShtZXRyaWNJbmZvKV1dIiB4LXR5cGU9IltbX3hUeXBlXV0iIG11bHRpLWV4cGVyaW1lbnRzPSJbW19ub011bHRpRXhwZXJpbWVudHNdXSIgcmVxdWVzdC1kYXRhPSJbW19yZXF1ZXN0RGF0YV1dIiBhY3RpdmU+CiAgICAgICAgICA8L3RmLXNjYWxhci1jYXJkPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KICAgIAogICAgPHN0eWxlIGluY2x1ZGU9Imlyb24tZmxleCI+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtdGFibGUtdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPHZhYWRpbi1ncmlkIGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRhYmxlIiBpZD0ic2Vzc2lvbkdyb3Vwc1RhYmxlIiBjb2x1bW4tcmVvcmRlcmluZy1hbGxvd2VkIGl0ZW1zPSJbW3Nlc3Npb25Hcm91cHNdXSI+CiAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIwIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPgogICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciB0YWJsZS1jZWxsIj5UcmlhbCBJRDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+W1tpdGVtLm5hbWVdXTwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZW5hYmxlU2hvd01ldHJpY3NdXSI+CiAgICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjAiIHdpZHRoPSI1ZW0iIHJlc2l6YWJsZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlNob3cgTWV0cmljczwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJ0YWJsZS1jZWxsIiBjaGVja2VkPSJ7e2V4cGFuZGVkfX0iPgogICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3ZhYWRpbi1ncmlkLWNvbHVtbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zXV0iIGFzPSJocGFyYW1JbmZvIiBpbmRleC1hcz0iaHBhcmFtSW5kZXgiPgogICAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIyIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPgogICAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgdGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfaHBhcmFtTmFtZShocGFyYW1JbmZvKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfc2Vzc2lvbkdyb3VwSFBhcmFtKGl0ZW0sIGhwYXJhbUluZm8ubmFtZSldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7dmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc319IiBhcz0ibWV0cmljSW5mbyIgaW5kZXgtYXM9Im1ldHJpY0luZGV4Ij4KICAgICAgICA8dmFhZGluLWdyaWQtY29sdW1uIGZsZXgtZ3Jvdz0iMiIgd2lkdGg9IjEwZW0iIHJlc2l6YWJsZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPgogICAgICAgICAgICAgIFtbX21ldHJpY05hbWUobWV0cmljSW5mbyldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNlbGwiPgogICAgICAgICAgICAgIFtbX3Nlc3Npb25Hcm91cE1ldHJpYyhpdGVtLCBtZXRyaWNJbmZvLm5hbWUpXV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgY2xhc3M9InJvdy1kZXRhaWxzIj4KICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBzZXNzaW9uLWdyb3VwPSJbW2l0ZW1dXSIgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIiBjbGFzcz0ic2Vzc2lvbi1ncm91cC1kZXRhaWxzIj4KICAgICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgICA8L3RlbXBsYXRlPgogICAgPC92YWFkaW4tZ3JpZD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAudGFibGUtY2VsbCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIC8qIGxpbmUtYnJlYWsgb3ZlcmZsb3dpbmcgY29sdW1uIGhlYWRlcnMgKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KICAgICAgLnNlc3Npb24tZ3JvdXAtdGFibGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuc2Vzc2lvbi1ncm91cC1kZXRhaWxzIHsKICAgICAgICBoZWlnaHQ6IDM2MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcyI+CiAgPHRlbXBsYXRlPgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3Byb3BlcnRpZXNBcmVQb3B1bGF0ZWQodmlzaWJsZVNjaGVtYSwgc2Vzc2lvbkdyb3VwKV1dIj4KICAgICAgCiAgICAgIDx0Zi1ocGFyYW1zLXRhYmxlLXZpZXcgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tfc2luZ2xldG9uU2Vzc2lvbkdyb3VwcyhzZXNzaW9uR3JvdXApXV0iPgogICAgICA8L3RmLWhwYXJhbXMtdGFibGUtdmlldz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9wcm9wZXJ0aWVzQXJlUG9wdWxhdGVkKHZpc2libGVTY2hlbWEsIHNlc3Npb25Hcm91cCldXSI+CiAgICAgIDxkaXY+CiAgICAgICAgQ2xpY2sgb3IgaG92ZXIgb3ZlciBhIHNlc3Npb24gZ3JvdXAgdG8gZGlzcGxheSBpdHMgdmFsdWVzIGhlcmUuCiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgICAgIDxzdmcgaWQ9InN2ZyI+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIHN2ZyB7CiAgICAgICAgZm9udDogMTBweCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuYmFja2dyb3VuZCBwYXRoIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogI2RkZDsKICAgICAgICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7CiAgICAgIH0KCiAgICAgIC5mb3JlZ3JvdW5kIHBhdGggewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDAuNzsKICAgICAgICBzdHJva2Utd2lkdGg6IDE7CiAgICAgIH0KCiAgICAgIC8qIFdpbGwgYmUgc2V0IG9uIGZvcmVncm91bmQgcGF0aHMgdGhhdCBhcmUgbm90ICJjb250YWluZWQiIGluIHRoZSBjdXJyZW50CiAgICAgICAgIGF4ZXMgYnJ1c2hlcy4gSWYgbm8gYnJ1c2hlcyBhcmUgc2V0LCBubyBwYXRoIHdpbGwgaGF2ZSB0aGlzIGNsYXNzLiAqLwogICAgICAuZm9yZWdyb3VuZCAuaW52aXNpYmxlLXBhdGggewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0eWxlIGZvciB0aGUgcGF0aCBjbG9zZXN0IHRvIHRoZSBtb3VzZSBwb2ludGVyICh0eXBpY2FsbHkgd2lsbCBiZWNvbWUKICAgICAgdGhlIHNlbGVjdGVkIHBhdGggd2hlbiB0aGUgdXNlciBjbGlja3MpLiAqLwogICAgICAuZm9yZWdyb3VuZCAucGVha2VkLXBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMzsKICAgICAgfQoKICAgICAgLyogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYXRoIGNsYXNzLiBXZSB1c2UgIWltcG9ydGFudCB0byBvdmVycmlkZSB0aGUKICAgICAgICAgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBjb2xvciBvZiBhIHBhdGguICovCiAgICAgIC5mb3JlZ3JvdW5kIC5zZWxlY3RlZC1wYXRoIHsKICAgICAgICBzdHJva2Utd2lkdGg6IDMgIWltcG9ydGFudDsKICAgICAgICBzdHJva2U6ICMwZjAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI2NvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmF4aXMgdGV4dCB7CiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZiwgMXB4IDAgMCAjZmZmLCAwIC0xcHggMCAjZmZmLCAtMXB4IDAgMCAjZmZmOwogICAgICAgIGZpbGw6ICMwMDA7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAogIAogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXciPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPGRpdiBjbGFzcz0icGFuZSI+CiAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgIAogICAgICAgIDx0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyBpZD0iY29udHJvbHMiIGNsYXNzPSJzZWN0aW9uIiBjb25maWd1cmF0aW9uPSJbW2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIiBvcHRpb25zPSJ7e19vcHRpb25zfX0iPgogICAgICAgIDwvdGYtaHBhcmFtcy1zY2FsZS1hbmQtY29sb3ItY29udHJvbHM+CiAgICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWw+CiAgICAgICAgICAKICAgICAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90IGlkPSJwbG90IiBjbGFzcz0ic2VjdGlvbiIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIiBzZWxlY3RlZC1zZXNzaW9uLWdyb3VwPSJ7e19zZWxlY3RlZEdyb3VwfX0iIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iIG9wdGlvbnM9IltbX29wdGlvbnNdXSI+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3Q+CiAgICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbD4KICAgICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMgaWQ9InZhbHVlcyIgY2xhc3M9InNlY3Rpb24iIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIiBzZXNzaW9uLWdyb3VwPSJbW19jbG9zZXN0T3JTZWxlY3RlZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcz4KICAgICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzIGlkPSJkZXRhaWxzIiBjbGFzcz0ic2VjdGlvbiIgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBzZXNzaW9uLWdyb3VwPSJbW19zZWxlY3RlZEdyb3VwXV0iIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIj4KICAgICAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscz4KICAgICAgICAgIDwvdmFhZGluLXNwbGl0LWxheW91dD4KICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgIDwvdmFhZGluLXNwbGl0LWxheW91dD4KICAgIDwvZGl2PgoKICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgfQogICAgICAjY29udHJvbHMgewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNwbG90IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgICAjdmFsdWVzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDk1cHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjZGV0YWlscyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8c3ZnIGlkPSJzdmciPjwvc3ZnPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgc3ZnIHsKICAgICAgICBmb250OiAxMHB4IHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjbG9zZXN0IGRhdGEgcG9pbnQgbWFya2VyIHRvIHRoZSBtb3VzZSBwb2ludGVyLiBXZSB1c2UgIWltcG9ydGFudAogICAgICAgICB0byBvdmVycmlkZSB0aGUgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBzdHlsZSBvZiBhIG1hcmtlci4KICAgICAgKi8KICAgICAgLmNsb3Nlc3QtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0YSBwb2ludCBtYXJrZXIuIFdlIHVzZSAhaW1wb3J0YW50IHRvCiAgICAgICAgIG92ZXJyaWRlIHRoZSBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIHN0eWxlIG9mIGEgbWFya2VyLiAqLwogICAgICAuc2VsZWN0ZWQtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJwYW5lIj4KICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWw+CiAgICAgICAgCiAgICAgICAgPHRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzIGNsYXNzPSJzZWN0aW9uIiBpZD0iY29udHJvbHMiIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iIG9wdGlvbnM9Int7X29wdGlvbnN9fSI+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scz4KICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbD4KICAgICAgICAgIAogICAgICAgICAgPHRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90IGNsYXNzPSJzZWN0aW9uIiBpZD0icGxvdCIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IiBjbG9zZXN0LXNlc3Npb24tZ3JvdXA9Int7X2Nsb3Nlc3RHcm91cH19IiBvcHRpb25zPSJbW19vcHRpb25zXV0iPgogICAgICAgICAgPC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdD4KICAgICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcyBjbGFzcz0ic2VjdGlvbiIgaWQ9InZhbHVlcyIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXA9IltbX2Nsb3Nlc3RPclNlbGVjdGVkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscyBjbGFzcz0ic2VjdGlvbiIgaWQ9ImRldGFpbHMiIGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgc2Vzc2lvbi1ncm91cD0iW1tfc2VsZWN0ZWRHcm91cF1dIiB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHM+CiAgICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgfQogICAgICAjY29udHJvbHMgewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNwbG90IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjdmFsdWVzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDk1cHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjZGV0YWlscyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZSI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWhlYWRlci1wYW5lbD4KICAgICAgPHBhcGVyLXRvb2xiYXIgc2xvdD0iaGVhZGVyIiBjbGFzcz0idGFiLWJhciI+CiAgICAgICAgPHBhcGVyLXRhYnMgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFifX0iIHNsb3Q9InRvcCI+CiAgICAgICAgICAKICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0idGFibGUtdmlldyI+CiAgICAgICAgICAgIFRBQkxFIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJwYXJhbGxlbC1jb29yZHMtdmlldyI+CiAgICAgICAgICAgIFBBUkFMTEVMIENPT1JESU5BVEVTIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJzY2F0dGVyLXBsb3QtbWF0cml4LXZpZXciPgogICAgICAgICAgICBTQ0FUVEVSIFBMT1QgTUFUUklYIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVscC1hbmQtZmVlZGJhY2siPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYnVnUmVwb3J0VXJsXV0iPgogICAgICAgICAgICAgIDxhIGhyZWYkPSJbW2J1Z1JlcG9ydFVybF1dIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj4KICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9ImJ1Zy1yZXBvcnQiIHJhaXNlZCB0aXRsZT0iU2VuZCBhIGJ1ZyByZXBvcnQgb3IgZmVhdHVyZSByZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgQnVnIFJlcG9ydCAvIEZlYXR1cmUgUmVxdWVzdAogICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVscFVybF1dIj4KICAgICAgICAgICAgICA8YSBocmVmJD0iW1toZWxwVXJsXV0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAtb3V0bGluZSIgdGl0bGU9IlZpZXcgZG9jdW1lbnRhdGlvbiI+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvcGFwZXItdGFicz4KICAgICAgPC9wYXBlci10b29sYmFyPgogICAgICA8aXJvbi1wYWdlcyBzZWxlY3RlZD0iW1tfc2VsZWN0ZWRUYWJdXSIgY2xhc3M9ImZpdCB0YWItdmlldyI+CiAgICAgICAgPGRpdiBpZD0iMCIgY2xhc3M9InRhYiI+CiAgICAgICAgICA8dGYtaHBhcmFtcy10YWJsZS12aWV3IGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIgZW5hYmxlLXNob3ctbWV0cmljcz4KICAgICAgICAgIDwvdGYtaHBhcmFtcy10YWJsZS12aWV3PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9IjEiIGNsYXNzPSJ0YWIiPgogICAgICAgICAgPHRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXcgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBjb25maWd1cmF0aW9uPSJbW2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIj4KICAgICAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIyIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldyBiYWNrZW5kPSJbW2JhY2tlbmRdXSIgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iPgogICAgICAgICAgPC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLXBhZ2VzPgogICAgPC9wYXBlci1oZWFkZXItcGFuZWw+CgogICAgPHN0eWxlPgogICAgICAudGFiLXZpZXcgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAudGFiLWJhciB7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgIH0KICAgICAgLnRhYiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLXRhYnMgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgLS1wYXBlci10YWJzLXNlbGVjdGlvbi1iYXItY29sb3I6IHdoaXRlOwogICAgICAgIC0tcGFwZXItdGFicy1jb250ZW50OiB7CiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGYtaHBhcmFtcy10YWJsZS12aWV3IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLmhlbHAtYW5kLWZlZWRiYWNrIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLyogRW5zdXJlIHRoYXQgaWNvbnMgc3RheSBhbGlnbmVkICovCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgICAjYnVnLXJlcG9ydCB7CiAgICAgICAgYm9yZGVyOiBzb2xpZCBibGFjazsKICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkczsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CiAgICAgIC5oZWxwLWFuZC1mZWVkYmFjayBhIHsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtbWFpbiI+CiAgPHRlbXBsYXRlPgogICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDx0Zi1ocGFyYW1zLXF1ZXJ5LXBhbmUgaWQ9InF1ZXJ5LXBhbmUiIGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgY29uZmlndXJhdGlvbj0ie3tfY29uZmlndXJhdGlvbn19IiBzZXNzaW9uLWdyb3Vwcz0ie3tfc2Vzc2lvbkdyb3Vwc319Ij4KICAgICAgICA8L3RmLWhwYXJhbXMtcXVlcnktcGFuZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9ucy1wYW5lIGlkPSJzZXNzaW9ucy1wYW5lIiBiYWNrZW5kPSJbW2JhY2tlbmRdXSIgaGVscC11cmw9IltbaGVscFVybF1dIiBidWctcmVwb3J0LXVybD0iW1tidWdSZXBvcnRVcmxdXSIgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iIGNvbmZpZ3VyYXRpb249IltbX2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9IltbX3Nlc3Npb25Hcm91cHNdXSI+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmU+CiAgICAgIDwvZGl2PgogICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgPHRmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyIGlkPSJ0cmFja2VyIiB0cmFja2luZy1pZD0iW1t0cmFja2luZ0lkXV0iIG5hbWU9InRmX2hwYXJhbXMiPgogICAgPC90Zi1ocGFyYW1zLWdvb2dsZS1hbmFseXRpY3MtdHJhY2tlcj4KCiAgICA8c3R5bGU+CiAgICAgIHZhYWRpbi1zcGxpdC1sYXlvdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgd2lkdGg6IDIwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMTAlOwogICAgICB9CgogICAgICAuY2VudGVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPHRmLWhwYXJhbXMtbWFpbiBpZD0iaHBhcmFtcy1tYWluIiBiYWNrZW5kPSJbW19iYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iIj4KICAgIDwvdGYtaHBhcmFtcy1tYWluPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbWVzaC1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgY29sb3I9IltbX3J1bkNvbG9yXV0iIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1oZWFkZXIiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU2FtcGxlcyhvZlNhbXBsZXMpXV0iPgogICAgICAgIDxkaXY+c2FtcGxlOiBbW19nZXRTYW1wbGVUZXh0KHNhbXBsZSldXSBvZiBbW29mU2FtcGxlc11dPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXAoX3N0ZXBzKV1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcAogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQiPltbdG9Mb2NhbGVTdHJpbmdfKF9zdGVwVmFsdWUpXV08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY3VycmVudFdhbGxUaW1lXV0iPgogICAgICAgICAgICAgIFtbX2N1cnJlbnRXYWxsVGltZV1dCiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIHJpZ2h0Ij4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBhY3RpdmUgaGlkZGVuJD0iW1shX2lzTWVzaExvYWRpbmddXSI+CiAgICAgICAgICAgIDwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwcyhfc3RlcHMpXV0iPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJzdGVwcyIgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIgbWF4PSJbW19nZXRNYXhTdGVwSW5kZXgoX3N0ZXBzKV1dIiBtYXgtbWFya2Vycz0iW1tfZ2V0TWF4U3RlcEluZGV4KF9zdGVwcyldXSIgc25hcHMgc3RlcD0iMSIgdmFsdWU9Int7X3N0ZXBJbmRleH19Ij48L3BhcGVyLXNsaWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvdGYtY2FyZC1oZWFkaW5nPgogICAgPHN0eWxlPgogICAgICBwYXBlci1zbGlkZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7CiAgICAgIH0KICAgICAgLnRmLW1lc2gtbG9hZGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDVweDsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Im1lc2gtZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBzbG90PSJzaWRlYmFyIiBjbGFzcz0iYWxsLWNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gdmlldy1jb250cm9sIj4KICAgICAgICAgIDxoMyBjbGFzcz0idGl0bGUiPlBvaW50IG9mIHZpZXc8L2gzPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJ2aWV3LXJhZGlvLWdyb3VwIiBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRWaWV3fX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9ImFsbC1yYWRpby1idXR0b24iIG5hbWU9ImFsbCI+CiAgICAgICAgICAgICAgICBEaXNwbGF5IGFsbCBwb2ludHMKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0iYWxsLXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgWm9vbSBhbmQgY2VudGVyIGNhbWVyYSB0byBkaXNwbGF5IGFsbCBwb2ludHMgYXQgb25jZS4gTm90ZSwgdGhhdAogICAgICAgICAgICAgICAgc29tZSBwb2ludHMgY291bGQgYmUgdG9vIGZhciAoaS5lLiB0b28gc21hbGwpIHRvIGJlIHZpc2libGUuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InVzZXItcmFkaW8tYnV0dG9uIiBuYW1lPSJ1c2VyIj4KICAgICAgICAgICAgICAgIEN1cnJlbnQgdmlldwogICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJ1c2VyLXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgS2VlcCBjdXJyZW50IGNhbWVyYSBwb3NpdGlvbiBhbmQgem9vbSBsZXZlbC4KICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ic2hhcmUtcmFkaW8tYnV0dG9uIiBuYW1lPSJzaGFyZSI+CiAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ic2hhcmUtcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQgYW1vbmcgYWxsIGNhbWVyYXMuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHBvaW50IGNsb3VkIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IHBvaW50IGNsb3VkIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyI+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYT4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3IGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbWVzaC1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBzZWxlY3RlZC12aWV3PSJbW19zZWxlY3RlZFZpZXddXSIgcnVuPSJbW2l0ZW0ucnVuXV0iIHRhZz0iW1tpdGVtLnRhZ11dIiBzYW1wbGU9IltbaXRlbS5zYW1wbGVdXSIgb2Ytc2FtcGxlcz0iW1tpdGVtLm9mU2FtcGxlc11dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1jb250YWluZXIiIG9uLWNhbWVyYS1wb3NpdGlvbi1jaGFuZ2U9Il9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlZCI+CiAgICAgICAgICAgICAgICA8L3RmLW1lc2gtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIHBhcGVyLXJhZGlvLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNXB4OwogICAgICB9CiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gaDMudGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTgwMCk7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgdGYtcnVucy1zZWxlY3RvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCBoMy50aXRsZSB7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAudmlldy1jb250cm9sIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLyogTGF5b3V0IG11c3QgYmUgaG9yaXpvbnRhbCwgaS5lLiBpdGVtcyBhcnJhbmdlZCBpbiBhIHJvdy4gSWYgaXRlbXMgY2Fubm90IGZpdCBpbiBhIHJvdywKICAgICAgICogdGhleSBzaG91bGQgYmUgbW92ZWQgdG8gbmV4dCBsaW5lLiBBbGwgaXRlbXMgbXVzdCBiZSBzcXVhcmUgYXQgYWxsIHRpbWVzLiBNaW5pbXVtIHNpemUgb2YKICAgICAgICogdGhlIGl0ZW0gaXMgNDgwcHguIFRoaXMgbWVhbnMgdGhhdCBtYXhpbXVtIHNpemUgb2YgdGhlIGl0ZW0gbXVzdCBiZSA0ODBweCArIDQ3OXB4ID0gOTU5cHguCiAgICAgICAqICovCiAgICAgIC5ob3Jpem9udGFsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIHRmLW1lc2gtbG9hZGVyIHsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgZmxleC1iYXNpczogNDgwcHg7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRlbnNvcmJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItZGlhbG9nIHdpdGgtYmFja2Ryb3AgaWQ9InNldHRpbmdzIj4KICAgICAgPGgyPlNldHRpbmdzPC9oMj4KICAgICAgPHBhcGVyLWNoZWNrYm94IGlkPSJhdXRvLXJlbG9hZC1jaGVja2JveCIgY2hlY2tlZD0ie3thdXRvUmVsb2FkRW5hYmxlZH19Ij4KICAgICAgICBSZWxvYWQgZGF0YSBldmVyeSA8c3Bhbj5bW2F1dG9SZWxvYWRJbnRlcnZhbFNlY3NdXTwvc3Bhbj5zLgogICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICA8cGFwZXItaW5wdXQgaWQ9InBhZ2luYXRpb25MaW1pdElucHV0IiBsYWJlbD0iUGFnaW5hdGlvbiBsaW1pdCIgYWx3YXlzLWZsb2F0LWxhYmVsIHR5cGU9Im51bWJlciIgbWluPSIxIiBzdGVwPSIxIiBvbi1jaGFuZ2U9Il9wYWdpbmF0aW9uTGltaXRDaGFuZ2VkIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcGFnaW5hdGlvbkxpbWl0VmFsaWRhdGUiPjwvcGFwZXItaW5wdXQ+CiAgICA8L3BhcGVyLWRpYWxvZz4KICAgIDxwYXBlci1oZWFkZXItcGFuZWw+CiAgICAgIDxwYXBlci10b29sYmFyIGlkPSJ0b29sYmFyIiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgaWQ9InRvb2xiYXItY29udGVudCIgc2xvdD0idG9wIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hvbWVQYXRoXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXRpdGxlIj5bW2JyYW5kXV08L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hvbWVQYXRoXV0iPgogICAgICAgICAgICA8YSBocmVmPSJbW19ob21lUGF0aF1dIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJ0b29sYmFyLXRpdGxlIj5bW2JyYW5kXV08L2E+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19hY3RpdmVEYXNoYm9hcmRzTm90TG9hZGVkXV0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9vbGJhci1tZXNzYWdlIj4KICAgICAgICAgICAgICBMb2FkaW5nIGFjdGl2ZSBkYXNoYm9hcmRz4oCmCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2FjdGl2ZURhc2hib2FyZHNMb2FkZWRdXSI+CiAgICAgICAgICAgIDxwYXBlci10YWJzIG5vaW5rIHNjcm9sbGFibGUgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkRGFzaGJvYXJkfX0iIGF0dHItZm9yLXNlbGVjdGVkPSJkYXRhLWRhc2hib2FyZCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfZGFzaGJvYXJkRGF0YV1dIiBhcz0iZGFzaGJvYXJkRGF0dW0iPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0Rhc2hib2FyZEFjdGl2ZShkaXNhYmxlZERhc2hib2FyZHMsIF9hY3RpdmVEYXNoYm9hcmRzLCBkYXNoYm9hcmREYXR1bSldXSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10YWIgZGF0YS1kYXNoYm9hcmQkPSJbW2Rhc2hib2FyZERhdHVtLnBsdWdpbl1dIiB0aXRsZT0iW1tkYXNoYm9hcmREYXR1bS50YWJOYW1lXV0iPgogICAgICAgICAgICAgICAgICAgIFtbZGFzaGJvYXJkRGF0dW0udGFiTmFtZV1dCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLXRhYnM+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaW5hY3RpdmVEYXNoYm9hcmRzRXhpc3QoX2Rhc2hib2FyZERhdGEsIGRpc2FibGVkRGFzaGJvYXJkcywgX2FjdGl2ZURhc2hib2FyZHMpXV0iPgogICAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGxhYmVsPSJJTkFDVElWRSIgbm8tbGFiZWwtZmxvYXQgbm9pbmsgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMnB4Ij4KICAgICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGlkPSJpbmFjdGl2ZS1kYXNoYm9hcmRzLW1lbnUiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIHNlbGVjdGVkPSJ7e19zZWxlY3RlZERhc2hib2FyZH19IiBhdHRyLWZvci1zZWxlY3RlZD0iZGF0YS1kYXNoYm9hcmQiPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19kYXNoYm9hcmREYXRhXV0iIGFzPSJkYXNoYm9hcmREYXR1bSI+CiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0Rhc2hib2FyZEluYWN0aXZlKGRpc2FibGVkRGFzaGJvYXJkcywgX2FjdGl2ZURhc2hib2FyZHMsIGRhc2hib2FyZERhdHVtKV1dIiByZXN0YW1wPgogICAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gZGF0YS1kYXNoYm9hcmQkPSJbW2Rhc2hib2FyZERhdHVtLnBsdWdpbl1dIj5bW2Rhc2hib2FyZERhdHVtLnRhYk5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbG9iYWwtYWN0aW9ucyI+CiAgICAgICAgICAgIDxzbG90IG5hbWU9ImluamVjdGVkLWhlYWRlci1pdGVtcyI+PC9zbG90PgogICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWQ9InJlbG9hZC1idXR0b24iIGNsYXNzJD0iW1tfZ2V0RGF0YVJlZnJlc2hpbmdDbGFzcyhfcmVmcmVzaGluZyldXSIgZGlzYWJsZWQkPSJbW19pc1JlbG9hZERpc2FibGVkXV0iIGljb249InJlZnJlc2giIG9uLXRhcD0icmVsb2FkIiB0aXRsZSQ9Ikxhc3QgdXBkYXRlZDogW1tfbGFzdFJlbG9hZFRpbWVTaG9ydF1dIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3MiIG9uLXRhcD0ib3BlblNldHRpbmdzIiBpZD0ic2V0dGluZ3MtYnV0dG9uIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgdGFiaW5kZXg9Ii0xIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAtb3V0bGluZSI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvcGFwZXItdG9vbGJhcj4KCiAgICAgIDxkaXYgaWQ9ImNvbnRlbnQtcGFuZSIgY2xhc3M9ImZpdCI+CiAgICAgICAgPHNsb3QgbmFtZT0iaW5qZWN0ZWQtb3ZlcnZpZXciPjwvc2xvdD4KICAgICAgICA8ZGl2IGlkPSJjb250ZW50Ij4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfYWN0aXZlRGFzaGJvYXJkc0ZhaWxlZFRvTG9hZF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZy1tZXNzYWdlIj4KICAgICAgICAgICAgICA8aDM+RmFpbGVkIHRvIGxvYWQgdGhlIHNldCBvZiBhY3RpdmUgZGFzaGJvYXJkcy48L2gzPgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgVGhpcyBjYW4gb2NjdXIgaWYgdGhlIFRlbnNvckJvYXJkIGJhY2tlbmQgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcuCiAgICAgICAgICAgICAgICBQZXJoYXBzIHRoaXMgcGFnZSBpcyBjYWNoZWQ/CiAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIElmIHlvdSB0aGluayB0aGF0IHlvdeKAmXZlIGZpeGVkIHRoZSBwcm9ibGVtLCBjbGljayB0aGUgcmVsb2FkCiAgICAgICAgICAgICAgICBidXR0b24gaW4gdGhlIHRvcC1yaWdodC4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1thdXRvUmVsb2FkRW5hYmxlZF1dIj4KICAgICAgICAgICAgICAgICAgV2XigJlsbCB0cnkgdG8gcmVsb2FkIGV2ZXJ5CiAgICAgICAgICAgICAgICAgIFtbYXV0b1JlbG9hZEludGVydmFsU2Vjc11dJm5ic3A7c2Vjb25kcyBhcyB3ZWxsLgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgPGk+TGFzdCByZWxvYWQ6IFtbX2xhc3RSZWxvYWRUaW1lXV08L2k+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2NhdGlvbl1dIj4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT48L3A+PHA+CiAgICAgICAgICAgICAgICAgICAgPGk+TG9nIGRpcmVjdG9yeToKICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJkYXRhX2xvY2F0aW9uIj5bW19kYXRhTG9jYXRpb25dXTwvc3Bhbj48L2k+CiAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDxwPjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zaG93Tm9EYXNoYm9hcmRzTWVzc2FnZV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZy1tZXNzYWdlIj4KICAgICAgICAgICAgICA8aDM+Tm8gZGFzaGJvYXJkcyBhcmUgYWN0aXZlIGZvciB0aGUgY3VycmVudCBkYXRhIHNldC48L2gzPgogICAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIDxpPkxhc3QgcmVsb2FkOiBbW19sYXN0UmVsb2FkVGltZV1dPC9pPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTG9jYXRpb25dXSI+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+PC9wPjxwPgogICAgICAgICAgICAgICAgICAgIDxpPkRhdGEgbG9jYXRpb246CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iZGF0YV9sb2NhdGlvbiI+W1tfZGF0YUxvY2F0aW9uXV08L3NwYW4+PC9pPgogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8cD48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2hvd05vU3VjaERhc2hib2FyZE1lc3NhZ2VdXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Indhcm5pbmctbWVzc2FnZSI+CiAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgVGhlcmXigJlzIG5vIGRhc2hib2FyZCBieSB0aGUgbmFtZSBvZgogICAgICAgICAgICAgICAg4oCcPHR0PltbX3NlbGVjdGVkRGFzaGJvYXJkXV08L3R0Pi7igJ0KICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfYWN0aXZlRGFzaGJvYXJkc0xvYWRlZF1dIj4KICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gc2VsZWN0IGEgZGFzaGJvYXJkIGZyb20gdGhlIGxpc3QgYWJvdmUuPC9wPjwvdGVtcGxhdGU+CgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgPGk+TGFzdCByZWxvYWQ6IFtbX2xhc3RSZWxvYWRUaW1lXV08L2k+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2NhdGlvbl1dIj4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT48L3A+PHA+CiAgICAgICAgICAgICAgICAgICAgPGk+RGF0YSBsb2NhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJkYXRhX2xvY2F0aW9uIj5bW19kYXRhTG9jYXRpb25dXTwvc3Bhbj48L2k+CiAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDxwPjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpZD0iZGFzaGJvYXJkcy10ZW1wbGF0ZSIgaXRlbXM9IltbX2Rhc2hib2FyZERhdGFdXSIgYXM9ImRhc2hib2FyZERhdHVtIiBvbi1kb20tY2hhbmdlPSJfb25UZW1wbGF0ZUNoYW5nZWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoYm9hcmQtY29udGFpbmVyIiBkYXRhLWRhc2hib2FyZCQ9IltbZGFzaGJvYXJkRGF0dW0ucGx1Z2luXV0iIGRhdGEtc2VsZWN0ZWQkPSJbW19zZWxlY3RlZFN0YXR1cyhfc2VsZWN0ZWREYXNoYm9hcmQsIGRhc2hib2FyZERhdHVtLnBsdWdpbildXSI+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3BhcGVyLWhlYWRlci1wYW5lbD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS0xMDApOwogICAgICB9CgogICAgICAjdG9vbGJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsKICAgICAgICAvKiBJbmNyZWFzZSBjbGlja2FibGUgYXJlYSBmb3IgY2FzZSB3aGVyZSB0aXRsZSBpcyBhbiBhbmNob3IuICovCiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZGlzcGxheTogdmFyKC0tdGItdG9vbGJhci10aXRsZS1kaXNwbGF5LCBibG9jayk7CiAgICAgIH0KCiAgICAgIGEudG9vbGJhci10aXRsZSB7CiAgICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBhbmNob3IgY29sb3IuICovCiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBhbmNob3IgdGV4dC1kZWNvcmF0aW9uLiAqLwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItbWVzc2FnZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICBwYXBlci10YWJzIHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyLWNvbG9yOiB3aGl0ZTsKICAgICAgICAtLXBhcGVyLXRhYnMtY29udGVudDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItZHJvcGRvd24tbWVudSB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogd2hpdGU7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3I6IHdoaXRlOwogICAgICAgIC0tcGFwZXItZHJvcGRvd24tbWVudS1pY29uOiB7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgfQogICAgICAgIC0tcGFwZXItZHJvcGRvd24tbWVudS1pbnB1dDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItZHJvcGRvd24tbWVudSBwYXBlci1pdGVtIHsKICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAjaW5hY3RpdmUtZGFzaGJvYXJkcy1tZW51IHsKICAgICAgICAtLXBhcGVyLWxpc3Rib3gtYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgICAgLS1wYXBlci1saXN0Ym94LWNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmdsb2JhbC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLyogRW5zdXJlIHRoYXQgaWNvbnMgc3RheSBhbGlnbmVkICovCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmdsb2JhbC1hY3Rpb25zIGEgewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgI3Rvb2xiYXItY29udGVudCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgI2NvbnRlbnQtcGFuZSB7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250ZW50IHsKICAgICAgICBmbGV4OiAxIDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmRhc2hib2FyZC1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLyogSGlkZSB1bnNlbGVjdGVkIGRhc2hib2FyZHMuIFdlIHN0aWxsIGRpc3BsYXkgdGhlbSB3aXRoaW4gYSBjb250YWluZXIKICAgICAgICAgb2YgaGVpZ2h0IDAgc2luY2UgUGxvdHRhYmxlIHByb2R1Y2VzIGRlZ2VuZXJhdGUgY2hhcnRzIHdoZW4gY2hhcnRzIGFyZQogICAgICAgICByZWxvYWRlZCB3aGlsZSBub3QgZGlzcGxheWVkLiAqLwogICAgICAuZGFzaGJvYXJkLWNvbnRhaW5lcjpub3QoW2RhdGEtc2VsZWN0ZWRdKSB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAvKiogV2UgZnVydGhlciBtYWtlIGNvbnRhaW5lcnMgaW52aXNpYmxlLiBTb21lIGVsZW1lbnRzIG1heSBhbmNob3IgdG8KICAgICAgICAgICAgdGhlIHZpZXdwb3J0IGluc3RlYWQgb2YgdGhlIGNvbnRhaW5lciwgaW4gd2hpY2ggY2FzZSBzZXR0aW5nIHRoZSBtYXgKICAgICAgICAgICAgaGVpZ2h0IGhlcmUgdG8gMCB3aWxsIG5vdCBoaWRlIHRoZW0uICovCiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkLWNvbnRhaW5lciBpZnJhbWUgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53YXJuaW5nLW1lc3NhZ2UgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CgogICAgICBbZGlzYWJsZWRdIHsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAjcmVsb2FkLWJ1dHRvbi5yZWZyZXNoaW5nIHsKICAgICAgICBhbmltYXRpb246IHJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKICAKPC9kb20tbW9kdWxlPjx0Zi10ZW5zb3Jib2FyZCB1c2UtaGFzaCBicmFuZD0iVGVuc29yQm9hcmQiPjwvdGYtdGVuc29yYm9hcmQ+PHNjcmlwdCBzcmM9ImluZGV4LmpzIj48L3NjcmlwdD48L2JvZHk+PC9odG1sPg==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "text/html; charset=utf-8"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/font-roboto/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2": {
+ "data": "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",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "font/woff2"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/index.js": {
+ "data": "dmFyIENMT1NVUkVfTk9fREVQUyA9IHRydWU7Ci8vIENvcHlyaWdodCAyMDA2IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci8vCi8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi8vCi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTLUlTIiBCQVNJUywKLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgovKioKICogQGZpbGVvdmVydmlldyBCb290c3RyYXAgZm9yIHRoZSBHb29nbGUgSlMgTGlicmFyeSAoQ2xvc3VyZSkuCiAqCiAqIEluIHVuY29tcGlsZWQgbW9kZSBiYXNlLmpzIHdpbGwgYXR0ZW1wdCB0byBsb2FkIENsb3N1cmUncyBkZXBzIGZpbGUsIHVubGVzcwogKiB0aGUgZ2xvYmFsIDxjb2RlPkNMT1NVUkVfTk9fREVQUzwvY29kZT4gaXMgc2V0IHRvIHRydWUuICBUaGlzIGFsbG93cyBwcm9qZWN0cwogKiB0byBpbmNsdWRlIHRoZWlyIG93biBkZXBzIGZpbGUocykgZnJvbSBkaWZmZXJlbnQgbG9jYXRpb25zLgogKgogKiBBdm9pZCBpbmNsdWRpbmcgYmFzZS5qcyBtb3JlIHRoYW4gb25jZS4gVGhpcyBpcyBzdHJpY3RseSBkaXNjb3VyYWdlZCBhbmQgbm90CiAqIHN1cHBvcnRlZC4gZ29vZy5yZXF1aXJlKC4uLikgd29uJ3Qgd29yayBwcm9wZXJseSBpbiB0aGF0IGNhc2UuCiAqCiAqIEBwcm92aWRlR29vZwogKi8KCgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gT3ZlcnJpZGRlbiB0byB0cnVlIGJ5IHRoZSBjb21waWxlci4KICovCnZhciBDT01QSUxFRCA9IGZhbHNlOwoKCi8qKgogKiBCYXNlIG5hbWVzcGFjZSBmb3IgdGhlIENsb3N1cmUgbGlicmFyeS4gIENoZWNrcyB0byBzZWUgZ29vZyBpcyBhbHJlYWR5CiAqIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgc2NvcGUgYmVmb3JlIGFzc2lnbmluZyB0byBwcmV2ZW50IGNsb2JiZXJpbmcgaWYKICogYmFzZS5qcyBpcyBsb2FkZWQgbW9yZSB0aGFuIG9uY2UuCiAqCiAqIEBjb25zdAogKi8KdmFyIGdvb2cgPSBnb29nIHx8IHt9OwoKLyoqCiAqIFJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4KICogaHR0cHM6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi85LjAvaW5kZXguaHRtbCNzZWMtZ2xvYmFsLW9iamVjdAogKgogKiBNb3JlIGluZm8gb24gdGhpcyBpbXBsZW1lbnRhdGlvbiBoZXJlOgogKiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFOQWVXNFdrN0k3RlYwWTJ0Y1VGdlFkR01jODlrMnZkZ1NYSW53OF9udkNJL2VkaXQKICoKICogQGNvbnN0CiAqIEBzdXBwcmVzcyB7dW5kZWZpbmVkVmFyc30gc2VsZiB3b24ndCBiZSByZWZlcmVuY2VkIHVubGVzcyBgdGhpc2AgaXMgZmFsc3kuCiAqIEB0eXBlIHshR2xvYmFsfQogKi8KZ29vZy5nbG9iYWwgPQogICAgLy8gQ2hlY2sgYHRoaXNgIGZpcnN0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICAgIC8vIFZhbGlkIHVubGVzcyBydW5uaW5nIGFzIGFuIEVTIG1vZHVsZSBvciBpbiBhIGZ1bmN0aW9uIHdyYXBwZXIgY2FsbGVkCiAgICAvLyAgIHdpdGhvdXQgc2V0dGluZyBgdGhpc2AgcHJvcGVybHkuCiAgICAvLyBOb3RlIHRoYXQgYmFzZS5qcyBjYW4ndCB1c2VmdWxseSBiZSBpbXBvcnRlZCBhcyBhbiBFUyBtb2R1bGUsIGJ1dCBpdCBtYXkKICAgIC8vIGJlIGNvbXBpbGVkIGludG8gYnVuZGxlcyB0aGF0IGFyZSBsb2FkYWJsZSBhcyBFUyBtb2R1bGVzLgogICAgdGhpcyB8fAogICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvdy9zZWxmCiAgICAvLyBGb3IgaW4tcGFnZSBicm93c2VyIGVudmlyb25tZW50cyBhbmQgd29ya2Vycy4KICAgIHNlbGY7CgoKLyoqCiAqIEEgaG9vayBmb3Igb3ZlcnJpZGluZyB0aGUgZGVmaW5lIHZhbHVlcyBpbiB1bmNvbXBpbGVkIG1vZGUuCiAqCiAqIEluIHVuY29tcGlsZWQgbW9kZSwgYENMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTYCBtYXkgYmUgZGVmaW5lZCBiZWZvcmUKICogbG9hZGluZyBiYXNlLmpzLiAgSWYgYSBrZXkgaXMgZGVmaW5lZCBpbiBgQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVNgLAogKiBgZ29vZy5kZWZpbmVgIHdpbGwgdXNlIHRoZSB2YWx1ZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHZhbHVlLiAgVGhpcwogKiBhbGxvd3MgZmxhZ3MgdG8gYmUgb3ZlcndyaXR0ZW4gd2l0aG91dCBjb21waWxhdGlvbiAodGhpcyBpcyBub3JtYWxseQogKiBhY2NvbXBsaXNoZWQgd2l0aCB0aGUgY29tcGlsZXIncyAiZGVmaW5lIiBmbGFnKS4KICoKICogRXhhbXBsZToKICogPHByZT4KICogICB2YXIgQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVMgPSB7J2dvb2cuREVCVUcnOiBmYWxzZX07CiAqIDwvcHJlPgogKgogKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbik+fHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTOwoKCi8qKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmluZSB2YWx1ZXMgaW4gdW5jb21waWxlZCBvciBjb21waWxlZCBtb2RlLAogKiBsaWtlIENMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTIGJ1dCBlZmZlY3RpdmUgaW4gY29tcGlsZWQgY29kZS4gIEluCiAqIHVuY29tcGlsZWQgY29kZSBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyB0YWtlcyBwcmVjZWRlbmNlLgogKgogKiBBbHNvIHVubGlrZSBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyB0aGUgdmFsdWVzIG11c3QgYmUgbnVtYmVyLCBib29sZWFuIG9yCiAqIHN0cmluZyBsaXRlcmFscyBvciB0aGUgY29tcGlsZXIgd2lsbCBlbWl0IGFuIGVycm9yLgogKgogKiBXaGlsZSBhbnkgQGRlZmluZSB2YWx1ZSBtYXkgYmUgc2V0LCBvbmx5IHRob3NlIHNldCB3aXRoIGdvb2cuZGVmaW5lIHdpbGwgYmUKICogZWZmZWN0aXZlIGZvciB1bmNvbXBpbGVkIGNvZGUuCiAqCiAqIEV4YW1wbGU6CiAqIDxwcmU+CiAqICAgdmFyIENMT1NVUkVfREVGSU5FUyA9IHsnZ29vZy5ERUJVRyc6IGZhbHNlfSA7CiAqIDwvcHJlPgogKgogKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbik+fHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfREVGSU5FUzsKCgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgbm90IHVuZGVmaW5lZC4KICoKICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBkZWZpbmVkLgogKiBAZGVwcmVjYXRlZCBVc2UgYHZhbCAhPT0gdW5kZWZpbmVkYCBpbnN0ZWFkLgogKi8KZ29vZy5pc0RlZiA9IGZ1bmN0aW9uKHZhbCkgewogIC8vIHZvaWQgMCBhbHdheXMgZXZhbHVhdGVzIHRvIHVuZGVmaW5lZCBhbmQgaGVuY2Ugd2UgZG8gbm90IG5lZWQgdG8gZGVwZW5kIG9uCiAgLy8gdGhlIGRlZmluaXRpb24gb2YgdGhlIGdsb2JhbCB2YXJpYWJsZSBuYW1lZCAndW5kZWZpbmVkJy4KICByZXR1cm4gdmFsICE9PSB2b2lkIDA7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgYSBzdHJpbmcuCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYSBzdHJpbmcuCiAqIEBkZXByZWNhdGVkIFVzZSBgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZydgIGluc3RlYWQuCiAqLwpnb29nLmlzU3RyaW5nID0gZnVuY3Rpb24odmFsKSB7CiAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gJ3N0cmluZyc7Cn07CgoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIGEgYm9vbGVhbi4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBib29sZWFuLgogKiBAZGVwcmVjYXRlZCBVc2UgYHR5cGVvZiB2YWwgPT09ICdib29sZWFuJ2AgaW5zdGVhZC4KICovCmdvb2cuaXNCb29sZWFuID0gZnVuY3Rpb24odmFsKSB7CiAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gJ2Jvb2xlYW4nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhIG51bWJlci4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBhIG51bWJlci4KICogQGRlcHJlY2F0ZWQgVXNlIGB0eXBlb2YgdmFsID09PSAnbnVtYmVyJ2AgaW5zdGVhZC4KICovCmdvb2cuaXNOdW1iZXIgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gdHlwZW9mIHZhbCA9PSAnbnVtYmVyJzsKfTsKCgovKioKICogQnVpbGRzIGFuIG9iamVjdCBzdHJ1Y3R1cmUgZm9yIHRoZSBwcm92aWRlZCBuYW1lc3BhY2UgcGF0aCwgZW5zdXJpbmcgdGhhdAogKiBuYW1lcyB0aGF0IGFscmVhZHkgZXhpc3QgYXJlIG5vdCBvdmVyd3JpdHRlbi4gRm9yIGV4YW1wbGU6CiAqICJhLmIuYyIgLT4gYSA9IHt9O2EuYj17fTthLmIuYz17fTsKICogVXNlZCBieSBnb29nLnByb3ZpZGUgYW5kIGdvb2cuZXhwb3J0U3ltYm9sLgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBuYW1lIG9mIHRoZSBvYmplY3QgdGhhdCB0aGlzIGZpbGUgZGVmaW5lcy4KICogQHBhcmFtIHsqPX0gb3B0X29iamVjdCB0aGUgb2JqZWN0IHRvIGV4cG9zZSBhdCB0aGUgZW5kIG9mIHRoZSBwYXRoLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmplY3RUb0V4cG9ydFRvIFRoZSBvYmplY3QgdG8gYWRkIHRoZSBwYXRoIHRvOyBkZWZhdWx0CiAqICAgICBpcyBgZ29vZy5nbG9iYWxgLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5leHBvcnRQYXRoXyA9IGZ1bmN0aW9uKG5hbWUsIG9wdF9vYmplY3QsIG9wdF9vYmplY3RUb0V4cG9ydFRvKSB7CiAgdmFyIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpOwogIHZhciBjdXIgPSBvcHRfb2JqZWN0VG9FeHBvcnRUbyB8fCBnb29nLmdsb2JhbDsKCiAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgZXhoaWJpdHMgc3RyYW5nZSBiZWhhdmlvciB3aGVuIHRocm93aW5nIGVycm9ycyBmcm9tCiAgLy8gbWV0aG9kcyBleHRlcm5lZCBpbiB0aGlzIG1hbm5lci4gIFNlZSB0aGUgdGVzdEV4cG9ydFN5bWJvbEV4Y2VwdGlvbnMgaW4KICAvLyBiYXNlX3Rlc3QuaHRtbCBmb3IgYW4gZXhhbXBsZS4KICBpZiAoIShwYXJ0c1swXSBpbiBjdXIpICYmIHR5cGVvZiBjdXIuZXhlY1NjcmlwdCAhPSAndW5kZWZpbmVkJykgewogICAgY3VyLmV4ZWNTY3JpcHQoJ3ZhciAnICsgcGFydHNbMF0pOwogIH0KCiAgZm9yICh2YXIgcGFydDsgcGFydHMubGVuZ3RoICYmIChwYXJ0ID0gcGFydHMuc2hpZnQoKSk7KSB7CiAgICBpZiAoIXBhcnRzLmxlbmd0aCAmJiBvcHRfb2JqZWN0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgLy8gbGFzdCBwYXJ0IGFuZCB3ZSBoYXZlIGFuIG9iamVjdDsgdXNlIGl0CiAgICAgIGN1cltwYXJ0XSA9IG9wdF9vYmplY3Q7CiAgICB9IGVsc2UgaWYgKGN1cltwYXJ0XSAmJiBjdXJbcGFydF0gIT09IE9iamVjdC5wcm90b3R5cGVbcGFydF0pIHsKICAgICAgY3VyID0gY3VyW3BhcnRdOwogICAgfSBlbHNlIHsKICAgICAgY3VyID0gY3VyW3BhcnRdID0ge307CiAgICB9CiAgfQp9OwoKCi8qKgogKiBEZWZpbmVzIGEgbmFtZWQgdmFsdWUuIEluIHVuY29tcGlsZWQgbW9kZSwgdGhlIHZhbHVlIGlzIHJldHJpZXZlZCBmcm9tCiAqIENMT1NVUkVfREVGSU5FUyBvciBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyBpZiB0aGUgb2JqZWN0IGlzIGRlZmluZWQgYW5kCiAqIGhhcyB0aGUgcHJvcGVydHkgc3BlY2lmaWVkLCBhbmQgb3RoZXJ3aXNlIHVzZWQgdGhlIGRlZmluZWQgZGVmYXVsdFZhbHVlLgogKiBXaGVuIGNvbXBpbGVkIHRoZSBkZWZhdWx0IGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSBjb21waWxlciBvcHRpb25zIG9yIHRoZQogKiB2YWx1ZSBzZXQgaW4gdGhlIENMT1NVUkVfREVGSU5FUyBvYmplY3QuIFJldHVybnMgdGhlIGRlZmluZWQgdmFsdWUgc28gdGhhdCBpdAogKiBjYW4gYmUgdXNlZCBzYWZlbHkgaW4gbW9kdWxlcy4gTm90ZSB0aGF0IHRoZSB2YWx1ZSB0eXBlIE1VU1QgYmUgZWl0aGVyCiAqIGJvb2xlYW4sIG51bWJlciwgb3Igc3RyaW5nLgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgZGlzdGluZ3Vpc2hlZCBuYW1lIHRvIHByb3ZpZGUuCiAqIEBwYXJhbSB7VH0gZGVmYXVsdFZhbHVlCiAqIEByZXR1cm4ge1R9IFRoZSBkZWZpbmVkIHZhbHVlLgogKiBAdGVtcGxhdGUgVAogKi8KZ29vZy5kZWZpbmUgPSBmdW5jdGlvbihuYW1lLCBkZWZhdWx0VmFsdWUpIHsKICB2YXIgdmFsdWUgPSBkZWZhdWx0VmFsdWU7CiAgaWYgKCFDT01QSUxFRCkgewogICAgdmFyIHVuY29tcGlsZWREZWZpbmVzID0gZ29vZy5nbG9iYWwuQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVM7CiAgICB2YXIgZGVmaW5lcyA9IGdvb2cuZ2xvYmFsLkNMT1NVUkVfREVGSU5FUzsKICAgIGlmICh1bmNvbXBpbGVkRGVmaW5lcyAmJgogICAgICAgIC8vIEFudGkgRE9NLWNsb2JiZXJpbmcgcnVudGltZSBjaGVjayAoYi8zNzczNjU3NikuCiAgICAgICAgLyoqIEB0eXBlIHs/fSAqLyAodW5jb21waWxlZERlZmluZXMpLm5vZGVUeXBlID09PSB1bmRlZmluZWQgJiYKICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodW5jb21waWxlZERlZmluZXMsIG5hbWUpKSB7CiAgICAgIHZhbHVlID0gdW5jb21waWxlZERlZmluZXNbbmFtZV07CiAgICB9IGVsc2UgaWYgKAogICAgICAgIGRlZmluZXMgJiYKICAgICAgICAvLyBBbnRpIERPTS1jbG9iYmVyaW5nIHJ1bnRpbWUgY2hlY2sgKGIvMzc3MzY1NzYpLgogICAgICAgIC8qKiBAdHlwZSB7P30gKi8gKGRlZmluZXMpLm5vZGVUeXBlID09PSB1bmRlZmluZWQgJiYKICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGVmaW5lcywgbmFtZSkpIHsKICAgICAgdmFsdWUgPSBkZWZpbmVzW25hbWVdOwogICAgfQogIH0KICByZXR1cm4gdmFsdWU7Cn07CgoKLyoqCiAqIEBkZWZpbmUge251bWJlcn0gSW50ZWdlciB5ZWFyIGluZGljYXRpbmcgdGhlIHNldCBvZiBicm93c2VyIGZlYXR1cmVzIHRoYXQgYXJlCiAqIGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudC4gIFRoaXMgaXMgZGVmaW5lZCB0byBpbmNsdWRlIGV4YWN0bHkgZmVhdHVyZXMgdGhhdAogKiB3b3JrIGNvcnJlY3RseSBvbiBhbGwgIm1vZGVybiIgYnJvd3NlcnMgdGhhdCBhcmUgc3RhYmxlIG9uIEphbnVhcnkgMSBvZiB0aGUKICogc3BlY2lmaWVkIHllYXIuICBGb3IgZXhhbXBsZSwKICogYGBganMKICogaWYgKGdvb2cuRkVBVFVSRVNFVF9ZRUFSID49IDIwMTkpIHsKICogICAvLyB1c2UgQVBJcyBrbm93biB0byBiZSBhdmFpbGFibGUgb24gYWxsIG1ham9yIHN0YWJsZSBicm93c2VycyBKYW4gMSwgMjAxOQogKiB9IGVsc2UgewogKiAgIC8vIHBvbHlmaWxsIGZvciBvbGRlciBicm93c2VycwogKiB9CiAqIGBgYAogKiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHRoZSBwcmltYXJ5IGRlZmluZSBmb3IgcmVtb3ZpbmcKICogdW5uZWNlc3NhcnkgYnJvd3NlciBjb21wYXRpYmlsaXR5IGNvZGUgKHN1Y2ggYXMgcG9ueWZpbGxzIGFuZCB3b3JrYXJvdW5kcyksCiAqIGFuZCBzaG91bGQgaW5mb3JtIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBtb3N0IG90aGVyIGRlZmluZXM6CiAqIGBgYGpzCiAqIGNvbnN0IEFTU1VNRV9OQVRJVkVfUFJPTUlTRSA9CiAqICAgICBnb29nLmRlZmluZSgnQVNTVU1FX05BVElWRV9QUk9NSVNFJywgZ29vZy5GRUFUVVJFU0VUX1lFQVIgPj0gMjAxNik7CiAqIGBgYAogKgogKiBUaGUgZGVmYXVsdCBhc3N1bXB0aW9uIGlzIHRoYXQgSUU5IGlzIHRoZSBsb3dlc3Qgc3VwcG9ydGVkIGJyb3dzZXIsIHdoaWNoIHdhcwogKiBmaXJzdCBhdmFpbGFibGUgSmFuIDEsIDIwMTIuCiAqCiAqIFRPRE8odXNlcik6IFJlZmVyZW5jZSBtb3JlIHRob3JvdWdoIGRvY3VtZW50YXRpb24gd2hlbiBpdCdzIGF2YWlsYWJsZS4KICovCmdvb2cuRkVBVFVSRVNFVF9ZRUFSID0gZ29vZy5kZWZpbmUoJ2dvb2cuRkVBVFVSRVNFVF9ZRUFSJywgMjAxMik7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IERFQlVHIGlzIHByb3ZpZGVkIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCBkZWJ1Z2dpbmcgY29kZQogKiB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gYSBwcm9kdWN0aW9uLiBJdCBjYW4gYmUgZWFzaWx5IHN0cmlwcGVkCiAqIGJ5IHNwZWNpZnlpbmcgLS1kZWZpbmUgZ29vZy5ERUJVRz1mYWxzZSB0byB0aGUgQ2xvc3VyZSBDb21waWxlciBha2EKICogSlNDb21waWxlci4gRm9yIGV4YW1wbGUsIG1vc3QgdG9TdHJpbmcoKSBtZXRob2RzIHNob3VsZCBiZSBkZWNsYXJlZCBpbnNpZGUgYW4KICogImlmIChnb29nLkRFQlVHKSIgY29uZGl0aW9uYWwgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmFsbHkgdXNlZCBmb3IgZGVidWdnaW5nCiAqIHB1cnBvc2VzIGFuZCBpdCBpcyBkaWZmaWN1bHQgZm9yIHRoZSBKU0NvbXBpbGVyIHRvIHN0YXRpY2FsbHkgZGV0ZXJtaW5lCiAqIHdoZXRoZXIgdGhleSBhcmUgdXNlZC4KICovCmdvb2cuREVCVUcgPSBnb29nLmRlZmluZSgnZ29vZy5ERUJVRycsIHRydWUpOwoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IExPQ0FMRSBkZWZpbmVzIHRoZSBsb2NhbGUgYmVpbmcgdXNlZCBmb3IgY29tcGlsYXRpb24uIEl0IGlzCiAqIHVzZWQgdG8gc2VsZWN0IGxvY2FsZSBzcGVjaWZpYyBkYXRhIHRvIGJlIGNvbXBpbGVkIGluIGpzIGJpbmFyeS4gQlVJTEQgcnVsZQogKiBjYW4gc3BlY2lmeSB0aGlzIHZhbHVlIGJ5ICItLWRlZmluZSBnb29nLkxPQ0FMRT08bG9jYWxlX25hbWU+IiBhcyBhIGNvbXBpbGVyCiAqIG9wdGlvbi4KICoKICogVGFrZSBpbnRvIGFjY291bnQgdGhhdCB0aGUgbG9jYWxlIGNvZGUgZm9ybWF0IGlzIGltcG9ydGFudC4gWW91IHNob3VsZCB1c2UKICogdGhlIGNhbm9uaWNhbCBVbmljb2RlIGZvcm1hdCB3aXRoIGh5cGhlbiBhcyBhIGRlbGltaXRlci4gTGFuZ3VhZ2UgbXVzdCBiZQogKiBsb3dlcmNhc2UsIExhbmd1YWdlIFNjcmlwdCAtIENhcGl0YWxpemVkLCBSZWdpb24gLSBVUFBFUkNBU0UuCiAqIFRoZXJlIGFyZSBmZXcgZXhhbXBsZXM6IHB0LUJSLCBlbiwgZW4tVVMsIHNyLUxhdGluLUJPLCB6aC1IYW5zLUNOLgogKgogKiBTZWUgbW9yZSBpbmZvIGFib3V0IGxvY2FsZSBjb2RlcyBoZXJlOgogKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS8jVW5pY29kZV9MYW5ndWFnZV9hbmRfTG9jYWxlX0lkZW50aWZpZXJzCiAqCiAqIEZvciBsYW5ndWFnZSBjb2RlcyB5b3Ugc2hvdWxkIHVzZSB2YWx1ZXMgZGVmaW5lZCBieSBJU08gNjkzLTEuIFNlZSBpdCBoZXJlCiAqIGh0dHA6Ly93d3cudzMub3JnL1dBSS9FUi9JRy9lcnQvaXNvNjM5Lmh0bS4gVGhlcmUgaXMgb25seSBvbmUgZXhjZXB0aW9uIGZyb20KICogdGhpcyBydWxlOiB0aGUgSGVicmV3IGxhbmd1YWdlLiBGb3IgbGVnYWN5IHJlYXNvbnMgdGhlIG9sZCBjb2RlIChpdykgc2hvdWxkCiAqIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgbmV3IGNvZGUgKGhlKS4KICoKICovCmdvb2cuTE9DQUxFID0gZ29vZy5kZWZpbmUoJ2dvb2cuTE9DQUxFJywgJ2VuJyk7ICAvLyBkZWZhdWx0IHRvIGVuCgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBjb2RlIGlzIHJ1bm5pbmcgb24gdHJ1c3RlZCBzaXRlcy4KICoKICogT24gdW50cnVzdGVkIHNpdGVzLCBzZXZlcmFsIG5hdGl2ZSBmdW5jdGlvbnMgY2FuIGJlIGRlZmluZWQgb3Igb3ZlcnJpZGRlbiBieQogKiBleHRlcm5hbCBsaWJyYXJpZXMgbGlrZSBQcm90b3R5cGUsIERhdGVqcywgYW5kIEpRdWVyeSBhbmQgc2V0dGluZyB0aGlzIGZsYWcKICogdG8gZmFsc2UgZm9yY2VzIGNsb3N1cmUgdG8gdXNlIGl0cyBvd24gaW1wbGVtZW50YXRpb25zIHdoZW4gcG9zc2libGUuCiAqCiAqIElmIHlvdXIgSmF2YVNjcmlwdCBjYW4gYmUgbG9hZGVkIGJ5IGEgdGhpcmQgcGFydHkgc2l0ZSBhbmQgeW91IGFyZSB3YXJ5IGFib3V0CiAqIHJlbHlpbmcgb24gbm9uLXN0YW5kYXJkIGltcGxlbWVudGF0aW9ucywgc3BlY2lmeQogKiAiLS1kZWZpbmUgZ29vZy5UUlVTVEVEX1NJVEU9ZmFsc2UiIHRvIHRoZSBjb21waWxlci4KICovCmdvb2cuVFJVU1RFRF9TSVRFID0gZ29vZy5kZWZpbmUoJ2dvb2cuVFJVU1RFRF9TSVRFJywgdHJ1ZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgYSBwcm9qZWN0IGlzIGV4cGVjdGVkIHRvIGJlIHJ1bm5pbmcgaW4gc3RyaWN0IG1vZGUuCiAqCiAqIFRoaXMgZGVmaW5lIGNhbiBiZSB1c2VkIHRvIHRyaWdnZXIgYWx0ZXJuYXRlIGltcGxlbWVudGF0aW9ucyBjb21wYXRpYmxlIHdpdGgKICogcnVubmluZyBpbiBFY21hU2NyaXB0IFN0cmljdCBtb2RlIG9yIHdhcm4gYWJvdXQgdW5hdmFpbGFibGUgZnVuY3Rpb25hbGl0eS4KICogQHNlZSBodHRwczovL2dvby5nbC9QdWRRNHkKICoKICovCmdvb2cuU1RSSUNUX01PREVfQ09NUEFUSUJMRSA9IGdvb2cuZGVmaW5lKCdnb29nLlNUUklDVF9NT0RFX0NPTVBBVElCTEUnLCBmYWxzZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgY29kZSB0aGF0IGNhbGxzIHtAbGluayBnb29nLnNldFRlc3RPbmx5fSBzaG91bGQKICogICAgIGJlIGRpc2FsbG93ZWQgaW4gdGhlIGNvbXBpbGF0aW9uIHVuaXQuCiAqLwpnb29nLkRJU0FMTE9XX1RFU1RfT05MWV9DT0RFID0KICAgIGdvb2cuZGVmaW5lKCdnb29nLkRJU0FMTE9XX1RFU1RfT05MWV9DT0RFJywgQ09NUElMRUQgJiYgIWdvb2cuREVCVUcpOwoKCi8qKgogKiBAZGVmaW5lIHtib29sZWFufSBXaGV0aGVyIHRvIHVzZSBhIENocm9tZSBhcHAgQ1NQLWNvbXBsaWFudCBtZXRob2QgZm9yCiAqICAgICBsb2FkaW5nIHNjcmlwdHMgdmlhIGdvb2cucmVxdWlyZS4gQHNlZSBhcHBlbmRTY3JpcHRTcmNOb2RlXy4KICovCmdvb2cuRU5BQkxFX0NIUk9NRV9BUFBfU0FGRV9TQ1JJUFRfTE9BRElORyA9CiAgICBnb29nLmRlZmluZSgnZ29vZy5FTkFCTEVfQ0hST01FX0FQUF9TQUZFX1NDUklQVF9MT0FESU5HJywgZmFsc2UpOwoKCi8qKgogKiBEZWZpbmVzIGEgbmFtZXNwYWNlIGluIENsb3N1cmUuCiAqCiAqIEEgbmFtZXNwYWNlIG1heSBvbmx5IGJlIGRlZmluZWQgb25jZSBpbiBhIGNvZGViYXNlLiBJdCBtYXkgYmUgZGVmaW5lZCB1c2luZwogKiBnb29nLnByb3ZpZGUoKSBvciBnb29nLm1vZHVsZSgpLgogKgogKiBUaGUgcHJlc2VuY2Ugb2Ygb25lIG9yIG1vcmUgZ29vZy5wcm92aWRlKCkgY2FsbHMgaW4gYSBmaWxlIGluZGljYXRlcwogKiB0aGF0IHRoZSBmaWxlIGRlZmluZXMgdGhlIGdpdmVuIG9iamVjdHMvbmFtZXNwYWNlcy4KICogUHJvdmlkZWQgc3ltYm9scyBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC4KICoKICogSW4gYWRkaXRpb24sIGdvb2cucHJvdmlkZSgpIGNyZWF0ZXMgdGhlIG9iamVjdCBzdHVicyBmb3IgYSBuYW1lc3BhY2UKICogKGZvciBleGFtcGxlLCBnb29nLnByb3ZpZGUoImdvb2cuZm9vLmJhciIpIHdpbGwgY3JlYXRlIHRoZSBvYmplY3QKICogZ29vZy5mb28uYmFyIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QpLgogKgogKiBCdWlsZCB0b29scyBhbHNvIHNjYW4gZm9yIHByb3ZpZGUvcmVxdWlyZS9tb2R1bGUgc3RhdGVtZW50cwogKiB0byBkaXNjZXJuIGRlcGVuZGVuY2llcywgYnVpbGQgZGVwZW5kZW5jeSBmaWxlcyAoc2VlIGRlcHMuanMpLCBldGMuCiAqCiAqIEBzZWUgZ29vZy5yZXF1aXJlCiAqIEBzZWUgZ29vZy5tb2R1bGUKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZXNwYWNlIHByb3ZpZGVkIGJ5IHRoaXMgZmlsZSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICovCmdvb2cucHJvdmlkZSA9IGZ1bmN0aW9uKG5hbWUpIHsKICBpZiAoZ29vZy5pc0luTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cucHJvdmlkZSBjYW5ub3QgYmUgdXNlZCB3aXRoaW4gYSBtb2R1bGUuJyk7CiAgfQogIGlmICghQ09NUElMRUQpIHsKICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBzYW1lIG5hbWVzcGFjZSBpc24ndCBwcm92aWRlZCB0d2ljZS4KICAgIC8vIEEgZ29vZy5tb2R1bGUvZ29vZy5wcm92aWRlIG1hcHMgYSBnb29nLnJlcXVpcmUgdG8gYSBzcGVjaWZpYyBmaWxlCiAgICBpZiAoZ29vZy5pc1Byb3ZpZGVkXyhuYW1lKSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ05hbWVzcGFjZSAiJyArIG5hbWUgKyAnIiBhbHJlYWR5IGRlY2xhcmVkLicpOwogICAgfQogIH0KCiAgZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfKG5hbWUpOwp9OwoKCi8qKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBOYW1lc3BhY2UgcHJvdmlkZWQgYnkgdGhpcyBmaWxlIGluIHRoZSBmb3JtCiAqICAgICAiZ29vZy5wYWNrYWdlLnBhcnQiLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmogVGhlIG9iamVjdCB0byBlbWJlZCBpbiB0aGUgbmFtZXNwYWNlLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfID0gZnVuY3Rpb24obmFtZSwgb3B0X29iaikgewogIGlmICghQ09NUElMRUQpIHsKICAgIGRlbGV0ZSBnb29nLmltcGxpY2l0TmFtZXNwYWNlc19bbmFtZV07CgogICAgdmFyIG5hbWVzcGFjZSA9IG5hbWU7CiAgICB3aGlsZSAoKG5hbWVzcGFjZSA9IG5hbWVzcGFjZS5zdWJzdHJpbmcoMCwgbmFtZXNwYWNlLmxhc3RJbmRleE9mKCcuJykpKSkgewogICAgICBpZiAoZ29vZy5nZXRPYmplY3RCeU5hbWUobmFtZXNwYWNlKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGdvb2cuaW1wbGljaXROYW1lc3BhY2VzX1tuYW1lc3BhY2VdID0gdHJ1ZTsKICAgIH0KICB9CgogIGdvb2cuZXhwb3J0UGF0aF8obmFtZSwgb3B0X29iaik7Cn07CgoKLyoqCiAqIFJldHVybnMgQ1NQIG5vbmNlLCBpZiBzZXQgZm9yIGFueSBzY3JpcHQgdGFnLgogKiBAcGFyYW0gez9XaW5kb3c9fSBvcHRfd2luZG93IFRoZSB3aW5kb3cgY29udGV4dCB1c2VkIHRvIHJldHJpZXZlIHRoZSBub25jZS4KICogICAgIERlZmF1bHRzIHRvIGdsb2JhbCBjb250ZXh0LgogKiBAcmV0dXJuIHtzdHJpbmd9IENTUCBub25jZSBvciBlbXB0eSBzdHJpbmcgaWYgbm8gbm9uY2UgaXMgcHJlc2VudC4KICovCmdvb2cuZ2V0U2NyaXB0Tm9uY2UgPSBmdW5jdGlvbihvcHRfd2luZG93KSB7CiAgaWYgKG9wdF93aW5kb3cgJiYgb3B0X3dpbmRvdyAhPSBnb29nLmdsb2JhbCkgewogICAgcmV0dXJuIGdvb2cuZ2V0U2NyaXB0Tm9uY2VfKG9wdF93aW5kb3cuZG9jdW1lbnQpOwogIH0KICBpZiAoZ29vZy5jc3BOb25jZV8gPT09IG51bGwpIHsKICAgIGdvb2cuY3NwTm9uY2VfID0gZ29vZy5nZXRTY3JpcHROb25jZV8oZ29vZy5nbG9iYWwuZG9jdW1lbnQpOwogIH0KICByZXR1cm4gZ29vZy5jc3BOb25jZV87Cn07CgoKLyoqCiAqIEFjY29yZGluZyB0byB0aGUgQ1NQMyBzcGVjIGEgbm9uY2UgbXVzdCBiZSBhIHZhbGlkIGJhc2U2NCBzdHJpbmcuCiAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2dyYW1tYXJkZWYtYmFzZTY0LXZhbHVlCiAqIEBwcml2YXRlIEBjb25zdAogKi8KZ29vZy5OT05DRV9QQVRURVJOXyA9IC9eW1x3Ky9fLV0rWz1dezAsMn0kLzsKCgovKioKICogQHByaXZhdGUgez9zdHJpbmd9CiAqLwpnb29nLmNzcE5vbmNlXyA9IG51bGw7CgoKLyoqCiAqIFJldHVybnMgQ1NQIG5vbmNlLCBpZiBzZXQgZm9yIGFueSBzY3JpcHQgdGFnLgogKiBAcGFyYW0geyFEb2N1bWVudH0gZG9jCiAqIEByZXR1cm4ge3N0cmluZ30gQ1NQIG5vbmNlIG9yIGVtcHR5IHN0cmluZyBpZiBubyBub25jZSBpcyBwcmVzZW50LgogKiBAcHJpdmF0ZQogKi8KZ29vZy5nZXRTY3JpcHROb25jZV8gPSBmdW5jdGlvbihkb2MpIHsKICB2YXIgc2NyaXB0ID0gZG9jLnF1ZXJ5U2VsZWN0b3IgJiYgZG9jLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtub25jZV0nKTsKICBpZiAoc2NyaXB0KSB7CiAgICAvLyBUcnkgdG8gZ2V0IHRoZSBub25jZSBmcm9tIHRoZSBJREwgcHJvcGVydHkgZmlyc3QsIGJlY2F1c2UgYnJvd3NlcnMgdGhhdAogICAgLy8gaW1wbGVtZW50IGFkZGl0aW9uYWwgbm9uY2UgcHJvdGVjdGlvbiBmZWF0dXJlcyAoY3VycmVudGx5IG9ubHkgQ2hyb21lKSB0bwogICAgLy8gcHJldmVudCBub25jZSBzdGVhbGluZyB2aWEgQ1NTIGRvIG5vdCBleHBvc2UgdGhlIG5vbmNlIHZpYSBhdHRyaWJ1dGVzLgogICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMjM2OQogICAgdmFyIG5vbmNlID0gc2NyaXB0Wydub25jZSddIHx8IHNjcmlwdC5nZXRBdHRyaWJ1dGUoJ25vbmNlJyk7CiAgICBpZiAobm9uY2UgJiYgZ29vZy5OT05DRV9QQVRURVJOXy50ZXN0KG5vbmNlKSkgewogICAgICByZXR1cm4gbm9uY2U7CiAgICB9CiAgfQogIHJldHVybiAnJzsKfTsKCgovKioKICogTW9kdWxlIGlkZW50aWZpZXIgdmFsaWRhdGlvbiByZWdleHAuCiAqIE5vdGU6IFRoaXMgaXMgYSBjb25zZXJ2YXRpdmUgY2hlY2ssIGl0IGlzIHZlcnkgcG9zc2libGUgdG8gYmUgbW9yZSBsZW5pZW50LAogKiAgIHRoZSBwcmltYXJ5IGV4Y2x1c2lvbiBoZXJlIGlzICIvIiBhbmQgIlwiIGFuZCBhIGxlYWRpbmcgIi4iLCB0aGVzZQogKiAgIHJlc3RyaWN0aW9ucyBhcmUgaW50ZW5kZWQgdG8gbGVhdmUgdGhlIGRvb3Igb3BlbiBmb3IgdXNpbmcgZ29vZy5yZXF1aXJlCiAqICAgd2l0aCByZWxhdGl2ZSBmaWxlIHBhdGhzIHJhdGhlciB0aGFuIG1vZHVsZSBpZGVudGlmaWVycy4KICogQHByaXZhdGUKICovCmdvb2cuVkFMSURfTU9EVUxFX1JFXyA9IC9eW2EtekEtWl8kXVthLXpBLVowLTkuXyRdKiQvOwoKCi8qKgogKiBEZWZpbmVzIGEgbW9kdWxlIGluIENsb3N1cmUuCiAqCiAqIE1hcmtzIHRoYXQgdGhpcyBmaWxlIG11c3QgYmUgbG9hZGVkIGFzIGEgbW9kdWxlIGFuZCBjbGFpbXMgdGhlIG5hbWVzcGFjZS4KICoKICogQSBuYW1lc3BhY2UgbWF5IG9ubHkgYmUgZGVmaW5lZCBvbmNlIGluIGEgY29kZWJhc2UuIEl0IG1heSBiZSBkZWZpbmVkIHVzaW5nCiAqIGdvb2cucHJvdmlkZSgpIG9yIGdvb2cubW9kdWxlKCkuCiAqCiAqIGdvb2cubW9kdWxlKCkgaGFzIHRocmVlIHJlcXVpcmVtZW50czoKICogLSBnb29nLm1vZHVsZSBtYXkgbm90IGJlIHVzZWQgaW4gdGhlIHNhbWUgZmlsZSBhcyBnb29nLnByb3ZpZGUuCiAqIC0gZ29vZy5tb2R1bGUgbXVzdCBiZSB0aGUgZmlyc3Qgc3RhdGVtZW50IGluIHRoZSBmaWxlLgogKiAtIG9ubHkgb25lIGdvb2cubW9kdWxlIGlzIGFsbG93ZWQgcGVyIGZpbGUuCiAqCiAqIFdoZW4gYSBnb29nLm1vZHVsZSBhbm5vdGF0ZWQgZmlsZSBpcyBsb2FkZWQsIGl0IGlzIGVuY2xvc2VkIGluCiAqIGEgc3RyaWN0IGZ1bmN0aW9uIGNsb3N1cmUuIFRoaXMgbWVhbnMgdGhhdDoKICogLSBhbnkgdmFyaWFibGVzIGRlY2xhcmVkIGluIGEgZ29vZy5tb2R1bGUgZmlsZSBhcmUgcHJpdmF0ZSB0byB0aGUgZmlsZQogKiAobm90IGdsb2JhbCksIHRob3VnaCB0aGUgY29tcGlsZXIgaXMgZXhwZWN0ZWQgdG8gaW5saW5lIHRoZSBtb2R1bGUuCiAqIC0gVGhlIGNvZGUgbXVzdCBvYmV5IGFsbCB0aGUgcnVsZXMgb2YgInN0cmljdCIgSmF2YVNjcmlwdC4KICogLSB0aGUgZmlsZSB3aWxsIGJlIG1hcmtlZCBhcyAidXNlIHN0cmljdCIKICoKICogTk9URTogdW5saWtlIGdvb2cucHJvdmlkZSwgZ29vZy5tb2R1bGUgZG9lcyBub3QgZGVjbGFyZSBhbnkgc3ltYm9scyBieQogKiBpdHNlbGYuIElmIGRlY2xhcmVkIHN5bWJvbHMgYXJlIGRlc2lyZWQsIHVzZQogKiBnb29nLm1vZHVsZS5kZWNsYXJlTGVnYWN5TmFtZXNwYWNlKCkuCiAqCiAqCiAqIFNlZSB0aGUgcHVibGljIGdvb2cubW9kdWxlIHByb3Bvc2FsOiBodHRwOi8vZ29vLmdsL1ZhMWhpbgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBOYW1lc3BhY2UgcHJvdmlkZWQgYnkgdGhpcyBmaWxlIGluIHRoZSBmb3JtCiAqICAgICAiZ29vZy5wYWNrYWdlLnBhcnQiLCBpcyBleHBlY3RlZCBidXQgbm90IHJlcXVpcmVkLgogKiBAcmV0dXJuIHt2b2lkfQogKi8KZ29vZy5tb2R1bGUgPSBmdW5jdGlvbihuYW1lKSB7CiAgaWYgKHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJyB8fCAhbmFtZSB8fAogICAgICBuYW1lLnNlYXJjaChnb29nLlZBTElEX01PRFVMRV9SRV8pID09IC0xKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kdWxlIGlkZW50aWZpZXInKTsKICB9CiAgaWYgKCFnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ01vZHVsZSAnICsgbmFtZSArICcgaGFzIGJlZW4gbG9hZGVkIGluY29ycmVjdGx5LiBOb3RlLCAnICsKICAgICAgICAnbW9kdWxlcyBjYW5ub3QgYmUgbG9hZGVkIGFzIG5vcm1hbCBzY3JpcHRzLiBUaGV5IHJlcXVpcmUgc29tZSBraW5kIG9mICcgKwogICAgICAgICdwcmUtcHJvY2Vzc2luZyBzdGVwLiBZb3VcJ3JlIGxpa2VseSB0cnlpbmcgdG8gbG9hZCBhIG1vZHVsZSB2aWEgYSAnICsKICAgICAgICAnc2NyaXB0IHRhZyBvciBhcyBhIHBhcnQgb2YgYSBjb25jYXRlbmF0ZWQgYnVuZGxlIHdpdGhvdXQgcmV3cml0aW5nIHRoZSAnICsKICAgICAgICAnbW9kdWxlLiBGb3IgbW9yZSBpbmZvIHNlZTogJyArCiAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1saWJyYXJ5L3dpa2kvZ29vZy5tb2R1bGU6LWFuLUVTNi1tb2R1bGUtbGlrZS1hbHRlcm5hdGl2ZS10by1nb29nLnByb3ZpZGUuJyk7CiAgfQogIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cubW9kdWxlIG1heSBvbmx5IGJlIGNhbGxlZCBvbmNlIHBlciBtb2R1bGUuJyk7CiAgfQoKICAvLyBTdG9yZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBsb2FkZXIuCiAgZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZSA9IG5hbWU7CiAgaWYgKCFDT01QSUxFRCkgewogICAgLy8gRW5zdXJlIHRoYXQgdGhlIHNhbWUgbmFtZXNwYWNlIGlzbid0IHByb3ZpZGVkIHR3aWNlLgogICAgLy8gQSBnb29nLm1vZHVsZS9nb29nLnByb3ZpZGUgbWFwcyBhIGdvb2cucmVxdWlyZSB0byBhIHNwZWNpZmljIGZpbGUKICAgIGlmIChnb29nLmlzUHJvdmlkZWRfKG5hbWUpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignTmFtZXNwYWNlICInICsgbmFtZSArICciIGFscmVhZHkgZGVjbGFyZWQuJyk7CiAgICB9CiAgICBkZWxldGUgZ29vZy5pbXBsaWNpdE5hbWVzcGFjZXNfW25hbWVdOwogIH0KfTsKCgovKioKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG1vZHVsZSBpZGVudGlmaWVyLgogKiBAcmV0dXJuIHs/fSBUaGUgbW9kdWxlIGV4cG9ydHMgZm9yIGFuIGFscmVhZHkgbG9hZGVkIG1vZHVsZSBvciBudWxsLgogKgogKiBOb3RlOiBUaGlzIGlzIG5vdCBhbiBhbHRlcm5hdGl2ZSB0byBnb29nLnJlcXVpcmUsIGl0IGRvZXMgbm90CiAqIGluZGljYXRlIGEgaGFyZCBkZXBlbmRlbmN5LCBpbnN0ZWFkIGl0IGlzIHVzZWQgdG8gaW5kaWNhdGUKICogYW4gb3B0aW9uYWwgZGVwZW5kZW5jeSBvciB0byBhY2Nlc3MgdGhlIGV4cG9ydHMgb2YgYSBtb2R1bGUKICogdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZC4KICogQHN1cHByZXNzIHttaXNzaW5nUHJvdmlkZX0KICovCmdvb2cubW9kdWxlLmdldCA9IGZ1bmN0aW9uKG5hbWUpIHsKICByZXR1cm4gZ29vZy5tb2R1bGUuZ2V0SW50ZXJuYWxfKG5hbWUpOwp9OwoKCi8qKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbW9kdWxlIGlkZW50aWZpZXIuCiAqIEByZXR1cm4gez99IFRoZSBtb2R1bGUgZXhwb3J0cyBmb3IgYW4gYWxyZWFkeSBsb2FkZWQgbW9kdWxlIG9yIG51bGwuCiAqIEBwcml2YXRlCiAqLwpnb29nLm1vZHVsZS5nZXRJbnRlcm5hbF8gPSBmdW5jdGlvbihuYW1lKSB7CiAgaWYgKCFDT01QSUxFRCkgewogICAgaWYgKG5hbWUgaW4gZ29vZy5sb2FkZWRNb2R1bGVzXykgewogICAgICByZXR1cm4gZ29vZy5sb2FkZWRNb2R1bGVzX1tuYW1lXS5leHBvcnRzOwogICAgfSBlbHNlIGlmICghZ29vZy5pbXBsaWNpdE5hbWVzcGFjZXNfW25hbWVdKSB7CiAgICAgIHZhciBucyA9IGdvb2cuZ2V0T2JqZWN0QnlOYW1lKG5hbWUpOwogICAgICByZXR1cm4gbnMgIT0gbnVsbCA/IG5zIDogbnVsbDsKICAgIH0KICB9CiAgcmV0dXJuIG51bGw7Cn07CgoKLyoqCiAqIFR5cGVzIG9mIG1vZHVsZXMgdGhlIGRlYnVnIGxvYWRlciBjYW4gbG9hZC4KICogQGVudW0ge3N0cmluZ30KICovCmdvb2cuTW9kdWxlVHlwZSA9IHsKICBFUzY6ICdlczYnLAogIEdPT0c6ICdnb29nJwp9OwoKCi8qKgogKiBAcHJpdmF0ZSB7P3sKICogICBtb2R1bGVOYW1lOiAoc3RyaW5nfHVuZGVmaW5lZCksCiAqICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTpib29sZWFuLAogKiAgIHR5cGU6ID9nb29nLk1vZHVsZVR5cGUKICogfX0KICovCmdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gbnVsbDsKCgovKioKICogQHByaXZhdGUKICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciBhIGdvb2cubW9kdWxlIG9yIGFuIGVzNiBtb2R1bGUgaXMgY3VycmVudGx5IGJlaW5nCiAqICAgICBpbml0aWFsaXplZC4KICovCmdvb2cuaXNJbk1vZHVsZUxvYWRlcl8gPSBmdW5jdGlvbigpIHsKICByZXR1cm4gZ29vZy5pc0luR29vZ01vZHVsZUxvYWRlcl8oKSB8fCBnb29nLmlzSW5FczZNb2R1bGVMb2FkZXJfKCk7Cn07CgoKLyoqCiAqIEBwcml2YXRlCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgYSBnb29nLm1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgaW5pdGlhbGl6ZWQuCiAqLwpnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXyA9IGZ1bmN0aW9uKCkgewogIHJldHVybiAhIWdvb2cubW9kdWxlTG9hZGVyU3RhdGVfICYmCiAgICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLnR5cGUgPT0gZ29vZy5Nb2R1bGVUeXBlLkdPT0c7Cn07CgoKLyoqCiAqIEBwcml2YXRlCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgYW4gZXM2IG1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgaW5pdGlhbGl6ZWQuCiAqLwpnb29nLmlzSW5FczZNb2R1bGVMb2FkZXJfID0gZnVuY3Rpb24oKSB7CiAgdmFyIGluTG9hZGVyID0gISFnb29nLm1vZHVsZUxvYWRlclN0YXRlXyAmJgogICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy50eXBlID09IGdvb2cuTW9kdWxlVHlwZS5FUzY7CgogIGlmIChpbkxvYWRlcikgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKCiAgaWYgKGpzY29tcCkgewogICAgLy8ganNjb21wIG1heSBub3QgaGF2ZSBnZXRDdXJyZW50TW9kdWxlUGF0aCBpZiB0aGlzIGlzIGEgY29tcGlsZWQgYnVuZGxlCiAgICAvLyB0aGF0IGhhcyBzb21lIG9mIHRoZSBydW50aW1lLCBidXQgbm90IGFsbCBvZiBpdC4gVGhpcyBjYW4gaGFwcGVuIGlmCiAgICAvLyBvcHRpbWl6YXRpb25zIGFyZSB0dXJuZWQgb24gc28gdGhlIHVudXNlZCBydW50aW1lIGlzIHJlbW92ZWQgYnV0IHJlbmFtaW5nCiAgICAvLyBhbmQgQ2xvc3VyZSBwYXNzIGFyZSBvZmYgKHNvICRqc2NvbXAgaXMgc3RpbGwgbmFtZWQgJGpzY29tcCBhbmQgdGhlCiAgICAvLyBnb29nLnByb3ZpZGUvcmVxdWlyZSBjYWxscyBzdGlsbCBleGlzdCkuCiAgICBpZiAodHlwZW9mIGpzY29tcC5nZXRDdXJyZW50TW9kdWxlUGF0aCAhPSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBCdW5kbGVkIEVTNiBtb2R1bGUuCiAgICByZXR1cm4gISFqc2NvbXAuZ2V0Q3VycmVudE1vZHVsZVBhdGgoKTsKICB9CgogIHJldHVybiBmYWxzZTsKfTsKCgovKioKICogUHJvdmlkZSB0aGUgbW9kdWxlJ3MgZXhwb3J0cyBhcyBhIGdsb2JhbGx5IGFjY2Vzc2libGUgb2JqZWN0IHVuZGVyIHRoZQogKiBtb2R1bGUncyBkZWNsYXJlZCBuYW1lLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBlYXNlIG1pZ3JhdGlvbiB0byBnb29nLm1vZHVsZQogKiBmb3IgZmlsZXMgdGhhdCBoYXZlIGV4aXN0aW5nIHVzYWdlcy4KICogQHN1cHByZXNzIHttaXNzaW5nUHJvdmlkZX0KICovCmdvb2cubW9kdWxlLmRlY2xhcmVMZWdhY3lOYW1lc3BhY2UgPSBmdW5jdGlvbigpIHsKICBpZiAoIUNPTVBJTEVEICYmICFnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ2dvb2cubW9kdWxlLmRlY2xhcmVMZWdhY3lOYW1lc3BhY2UgbXVzdCBiZSBjYWxsZWQgZnJvbSAnICsKICAgICAgICAnd2l0aGluIGEgZ29vZy5tb2R1bGUnKTsKICB9CiAgaWYgKCFDT01QSUxFRCAmJiAhZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZSkgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdnb29nLm1vZHVsZSBtdXN0IGJlIGNhbGxlZCBwcmlvciB0byAnICsKICAgICAgICAnZ29vZy5tb2R1bGUuZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZS4nKTsKICB9CiAgZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8uZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZSA9IHRydWU7Cn07CgoKLyoqCiAqIEFzc29jaWF0ZXMgYW4gRVM2IG1vZHVsZSB3aXRoIGEgQ2xvc3VyZSBtb2R1bGUgSUQgc28gdGhhdCBpcyBhdmFpbGFibGUgdmlhCiAqIGdvb2cucmVxdWlyZS4gVGhlIGFzc29jaWF0ZWQgSUQgIGFjdHMgbGlrZSBhIGdvb2cubW9kdWxlIElEIC0gaXQgZG9lcyBub3QKICogY3JlYXRlIGFueSBnbG9iYWwgbmFtZXMsIGl0IGlzIG1lcmVseSBhdmFpbGFibGUgdmlhIGdvb2cucmVxdWlyZSAvCiAqIGdvb2cubW9kdWxlLmdldCAvIGdvb2cuZm9yd2FyZERlY2xhcmUgLyBnb29nLnJlcXVpcmVUeXBlLiBnb29nLnJlcXVpcmUgYW5kCiAqIGdvb2cubW9kdWxlLmdldCB3aWxsIHJldHVybiB0aGUgZW50aXJlIG1vZHVsZSBhcyBpZiBpdCB3YXMgaW1wb3J0IConZC4gVGhpcwogKiBhbGxvd3MgQ2xvc3VyZSBmaWxlcyB0byByZWZlcmVuY2UgRVM2IG1vZHVsZXMgZm9yIHRoZSBzYWtlIG9mIG1pZ3JhdGlvbi4KICoKICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZQogKiBAc3VwcHJlc3Mge21pc3NpbmdQcm92aWRlfQogKi8KZ29vZy5kZWNsYXJlTW9kdWxlSWQgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICBpZiAoIUNPTVBJTEVEKSB7CiAgICBpZiAoIWdvb2cuaXNJbkVzNk1vZHVsZUxvYWRlcl8oKSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAnZ29vZy5kZWNsYXJlTW9kdWxlSWQgbWF5IG9ubHkgYmUgY2FsbGVkIGZyb20gJyArCiAgICAgICAgICAnd2l0aGluIGFuIEVTNiBtb2R1bGUnKTsKICAgIH0KICAgIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXyAmJiBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdnb29nLmRlY2xhcmVNb2R1bGVJZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBwZXIgbW9kdWxlLicpOwogICAgfQogICAgaWYgKG5hbWVzcGFjZSBpbiBnb29nLmxvYWRlZE1vZHVsZXNfKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdNb2R1bGUgd2l0aCBuYW1lc3BhY2UgIicgKyBuYW1lc3BhY2UgKyAnIiBhbHJlYWR5IGV4aXN0cy4nKTsKICAgIH0KICB9CiAgaWYgKGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfKSB7CiAgICAvLyBOb3QgYnVuZGxlZCAtIGRlYnVnIGxvYWRpbmcuCiAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lID0gbmFtZXNwYWNlOwogIH0gZWxzZSB7CiAgICAvLyBCdW5kbGVkIC0gbm90IGRlYnVnIGxvYWRpbmcsIG5vIG1vZHVsZSBsb2FkZXIgc3RhdGUuCiAgICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKICAgIGlmICghanNjb21wIHx8IHR5cGVvZiBqc2NvbXAuZ2V0Q3VycmVudE1vZHVsZVBhdGggIT0gJ2Z1bmN0aW9uJykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAnTW9kdWxlIHdpdGggbmFtZXNwYWNlICInICsgbmFtZXNwYWNlICsKICAgICAgICAgICciIGhhcyBiZWVuIGxvYWRlZCBpbmNvcnJlY3RseS4nKTsKICAgIH0KICAgIHZhciBleHBvcnRzID0ganNjb21wLnJlcXVpcmUoanNjb21wLmdldEN1cnJlbnRNb2R1bGVQYXRoKCkpOwogICAgZ29vZy5sb2FkZWRNb2R1bGVzX1tuYW1lc3BhY2VdID0gewogICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICB0eXBlOiBnb29nLk1vZHVsZVR5cGUuRVM2LAogICAgICBtb2R1bGVJZDogbmFtZXNwYWNlCiAgICB9OwogIH0KfTsKCgovKioKICogTWFya3MgdGhhdCB0aGUgY3VycmVudCBmaWxlIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHRlc3RpbmcsIGFuZCBuZXZlciBmb3IKICogbGl2ZSBjb2RlIGluIHByb2R1Y3Rpb24uCiAqCiAqIEluIHRoZSBjYXNlIG9mIHVuaXQgdGVzdHMsIHRoZSBtZXNzYWdlIG1heSBvcHRpb25hbGx5IGJlIGFuIGV4YWN0IG5hbWVzcGFjZQogKiBmb3IgdGhlIHRlc3QgKGUuZy4gJ2dvb2cuc3RyaW5nVGVzdCcpLiBUaGUgbGludGVyIHdpbGwgdGhlbiBpZ25vcmUgdGhlIGV4dHJhCiAqIHByb3ZpZGUgKGlmIG5vdCBleHBsaWNpdGx5IGRlZmluZWQgaW4gdGhlIGNvZGUpLgogKgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9tZXNzYWdlIE9wdGlvbmFsIG1lc3NhZ2UgdG8gYWRkIHRvIHRoZSBlcnJvciB0aGF0J3MKICogICAgIHJhaXNlZCB3aGVuIHVzZWQgaW4gcHJvZHVjdGlvbiBjb2RlLgogKi8KZ29vZy5zZXRUZXN0T25seSA9IGZ1bmN0aW9uKG9wdF9tZXNzYWdlKSB7CiAgaWYgKGdvb2cuRElTQUxMT1dfVEVTVF9PTkxZX0NPREUpIHsKICAgIG9wdF9tZXNzYWdlID0gb3B0X21lc3NhZ2UgfHwgJyc7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ0ltcG9ydGluZyB0ZXN0LW9ubHkgY29kZSBpbnRvIG5vbi1kZWJ1ZyBlbnZpcm9ubWVudCcgKwogICAgICAgIChvcHRfbWVzc2FnZSA/ICc6ICcgKyBvcHRfbWVzc2FnZSA6ICcuJykpOwogIH0KfTsKCgovKioKICogRm9yd2FyZCBkZWNsYXJlcyBhIHN5bWJvbC4gVGhpcyBpcyBhbiBpbmRpY2F0aW9uIHRvIHRoZSBjb21waWxlciB0aGF0IHRoZQogKiBzeW1ib2wgbWF5IGJlIHVzZWQgaW4gdGhlIHNvdXJjZSB5ZXQgaXMgbm90IHJlcXVpcmVkIGFuZCBtYXkgbm90IGJlIHByb3ZpZGVkCiAqIGluIGNvbXBpbGF0aW9uLgogKgogKiBUaGUgbW9zdCBjb21tb24gdXNhZ2Ugb2YgZm9yd2FyZCBkZWNsYXJhdGlvbiBpcyBjb2RlIHRoYXQgdGFrZXMgYSB0eXBlIGFzIGEKICogZnVuY3Rpb24gcGFyYW1ldGVyIGJ1dCBkb2VzIG5vdCBuZWVkIHRvIHJlcXVpcmUgaXQuIEJ5IGZvcndhcmQgZGVjbGFyaW5nCiAqIGluc3RlYWQgb2YgcmVxdWlyaW5nLCBubyBoYXJkIGRlcGVuZGVuY3kgaXMgbWFkZSwgYW5kIChpZiBub3QgcmVxdWlyZWQKICogZWxzZXdoZXJlKSB0aGUgbmFtZXNwYWNlIG1heSBuZXZlciBiZSByZXF1aXJlZCBhbmQgdGh1cywgbm90IGJlIHB1bGxlZAogKiBpbnRvIHRoZSBKYXZhU2NyaXB0IGJpbmFyeS4gSWYgaXQgaXMgcmVxdWlyZWQgZWxzZXdoZXJlLCBpdCB3aWxsIGJlIHR5cGUKICogY2hlY2tlZCBhcyBub3JtYWwuCiAqCiAqIEJlZm9yZSB1c2luZyBnb29nLmZvcndhcmREZWNsYXJlLCBwbGVhc2UgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBhdAogKiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtY29tcGlsZXIvd2lraS9CYWQtVHlwZS1Bbm5vdGF0aW9uIHRvCiAqIHVuZGVyc3RhbmQgdGhlIG9wdGlvbnMgYW5kIHRyYWRlb2ZmcyB3aGVuIHdvcmtpbmcgd2l0aCBmb3J3YXJkIGRlY2xhcmF0aW9ucy4KICoKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWVzcGFjZSB0byBmb3J3YXJkIGRlY2xhcmUgaW4gdGhlIGZvcm0gb2YKICogICAgICJnb29nLnBhY2thZ2UucGFydCIuCiAqLwpnb29nLmZvcndhcmREZWNsYXJlID0gZnVuY3Rpb24obmFtZSkge307CgoKLyoqCiAqIEZvcndhcmQgZGVjbGFyZSB0eXBlIGluZm9ybWF0aW9uLiBVc2VkIHRvIGFzc2lnbiB0eXBlcyB0byBnb29nLmdsb2JhbAogKiByZWZlcmVuY2VkIG9iamVjdCB0aGF0IHdvdWxkIG90aGVyd2lzZSByZXN1bHQgaW4gdW5rbm93biB0eXBlIHJlZmVyZW5jZXMKICogYW5kIHRodXMgYmxvY2sgcHJvcGVydHkgZGlzYW1iaWd1YXRpb24uCiAqLwpnb29nLmZvcndhcmREZWNsYXJlKCdEb2N1bWVudCcpOwpnb29nLmZvcndhcmREZWNsYXJlKCdIVE1MU2NyaXB0RWxlbWVudCcpOwpnb29nLmZvcndhcmREZWNsYXJlKCdYTUxIdHRwUmVxdWVzdCcpOwoKCmlmICghQ09NUElMRUQpIHsKICAvKioKICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gbmFtZSBoYXMgYmVlbiBnb29nLnByb3ZpZGVkLiBUaGlzIHdpbGwgcmV0dXJuIGZhbHNlIGZvcgogICAqIG5hbWVzIHRoYXQgYXJlIGF2YWlsYWJsZSBvbmx5IGFzIGltcGxpY2l0IG5hbWVzcGFjZXMuCiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgbmFtZSBvZiB0aGUgb2JqZWN0IHRvIGxvb2sgZm9yLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIG5hbWUgaGFzIGJlZW4gcHJvdmlkZWQuCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLmlzUHJvdmlkZWRfID0gZnVuY3Rpb24obmFtZSkgewogICAgcmV0dXJuIChuYW1lIGluIGdvb2cubG9hZGVkTW9kdWxlc18pIHx8CiAgICAgICAgKCFnb29nLmltcGxpY2l0TmFtZXNwYWNlc19bbmFtZV0gJiYgZ29vZy5nZXRPYmplY3RCeU5hbWUobmFtZSkgIT0gbnVsbCk7CiAgfTsKCiAgLyoqCiAgICogTmFtZXNwYWNlcyBpbXBsaWNpdGx5IGRlZmluZWQgYnkgZ29vZy5wcm92aWRlLiBGb3IgZXhhbXBsZSwKICAgKiBnb29nLnByb3ZpZGUoJ2dvb2cuZXZlbnRzLkV2ZW50JykgaW1wbGljaXRseSBkZWNsYXJlcyB0aGF0ICdnb29nJyBhbmQKICAgKiAnZ29vZy5ldmVudHMnIG11c3QgYmUgbmFtZXNwYWNlcy4KICAgKgogICAqIEB0eXBlIHshT2JqZWN0PHN0cmluZywgKGJvb2xlYW58dW5kZWZpbmVkKT59CiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLmltcGxpY2l0TmFtZXNwYWNlc18gPSB7J2dvb2cubW9kdWxlJzogdHJ1ZX07CgogIC8vIE5PVEU6IFdlIGFkZCBnb29nLm1vZHVsZSBhcyBhbiBpbXBsaWNpdCBuYW1lc3BhY2UgYXMgZ29vZy5tb2R1bGUgaXMgZGVmaW5lZAogIC8vIGhlcmUgYW5kIGJlY2F1c2UgdGhlIGV4aXN0aW5nIG1vZHVsZSBwYWNrYWdlIGhhcyBub3QgYmVlbiBtb3ZlZCB5ZXQgb3V0IG9mCiAgLy8gdGhlIGdvb2cubW9kdWxlIG5hbWVzcGFjZS4gVGhpcyBzYXRpc2lmaWVzIGJvdGggdGhlIGRlYnVnIGxvYWRlciBhbmQKICAvLyBhaGVhZC1vZi10aW1lIGRlcGVuZGVuY3kgbWFuYWdlbWVudC4KfQoKCi8qKgogKiBSZXR1cm5zIGFuIG9iamVjdCBiYXNlZCBvbiBpdHMgZnVsbHkgcXVhbGlmaWVkIGV4dGVybmFsIG5hbWUuICBUaGUgb2JqZWN0CiAqIGlzIG5vdCBmb3VuZCBpZiBudWxsIG9yIHVuZGVmaW5lZC4gIElmIHlvdSBhcmUgdXNpbmcgYSBjb21waWxhdGlvbiBwYXNzIHRoYXQKICogcmVuYW1lcyBwcm9wZXJ0eSBuYW1lcyBiZXdhcmUgdGhhdCB1c2luZyB0aGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZpbmQgcmVuYW1lZAogKiBwcm9wZXJ0aWVzLgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUuCiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X29iaiBUaGUgb2JqZWN0IHdpdGhpbiB3aGljaCB0byBsb29rOyBkZWZhdWx0IGlzCiAqICAgICB8Z29vZy5nbG9iYWx8LgogKiBAcmV0dXJuIHs/fSBUaGUgdmFsdWUgKG9iamVjdCBvciBwcmltaXRpdmUpIG9yLCBpZiBub3QgZm91bmQsIG51bGwuCiAqLwpnb29nLmdldE9iamVjdEJ5TmFtZSA9IGZ1bmN0aW9uKG5hbWUsIG9wdF9vYmopIHsKICB2YXIgcGFydHMgPSBuYW1lLnNwbGl0KCcuJyk7CiAgdmFyIGN1ciA9IG9wdF9vYmogfHwgZ29vZy5nbG9iYWw7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewogICAgY3VyID0gY3VyW3BhcnRzW2ldXTsKICAgIGlmIChjdXIgPT0gbnVsbCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CiAgcmV0dXJuIGN1cjsKfTsKCgovKioKICogR2xvYmFsaXplcyBhIHdob2xlIG5hbWVzcGFjZSwgc3VjaCBhcyBnb29nIG9yIGdvb2cubGFuZy4KICoKICogQHBhcmFtIHshT2JqZWN0fSBvYmogVGhlIG5hbWVzcGFjZSB0byBnbG9iYWxpemUuCiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X2dsb2JhbCBUaGUgb2JqZWN0IHRvIGFkZCB0aGUgcHJvcGVydGllcyB0by4KICogQGRlcHJlY2F0ZWQgUHJvcGVydGllcyBtYXkgYmUgZXhwbGljaXRseSBleHBvcnRlZCB0byB0aGUgZ2xvYmFsIHNjb3BlLCBidXQKICogICAgIHRoaXMgc2hvdWxkIG5vIGxvbmdlciBiZSBkb25lIGluIGJ1bGsuCiAqLwpnb29nLmdsb2JhbGl6ZSA9IGZ1bmN0aW9uKG9iaiwgb3B0X2dsb2JhbCkgewogIHZhciBnbG9iYWwgPSBvcHRfZ2xvYmFsIHx8IGdvb2cuZ2xvYmFsOwogIGZvciAodmFyIHggaW4gb2JqKSB7CiAgICBnbG9iYWxbeF0gPSBvYmpbeF07CiAgfQp9OwoKCi8qKgogKiBBZGRzIGEgZGVwZW5kZW5jeSBmcm9tIGEgZmlsZSB0byB0aGUgZmlsZXMgaXQgcmVxdWlyZXMuCiAqIEBwYXJhbSB7c3RyaW5nfSByZWxQYXRoIFRoZSBwYXRoIHRvIHRoZSBqcyBmaWxlLgogKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBBbiBhcnJheSBvZiBzdHJpbmdzIHdpdGgKICogICAgIHRoZSBuYW1lcyBvZiB0aGUgb2JqZWN0cyB0aGlzIGZpbGUgcHJvdmlkZXMuCiAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIEFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aAogKiAgICAgdGhlIG5hbWVzIG9mIHRoZSBvYmplY3RzIHRoaXMgZmlsZSByZXF1aXJlcy4KICogQHBhcmFtIHtib29sZWFufCFPYmplY3Q8c3RyaW5nPj19IG9wdF9sb2FkRmxhZ3MgUGFyYW1ldGVycyBpbmRpY2F0aW5nCiAqICAgICBob3cgdGhlIGZpbGUgbXVzdCBiZSBsb2FkZWQuICBUaGUgYm9vbGVhbiAndHJ1ZScgaXMgZXF1aXZhbGVudAogKiAgICAgdG8geydtb2R1bGUnOiAnZ29vZyd9IGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS4gIFZhbGlkIHByb3BlcnRpZXMKICogICAgIGFuZCB2YWx1ZXMgaW5jbHVkZSB7J21vZHVsZSc6ICdnb29nJ30gYW5kIHsnbGFuZyc6ICdlczYnfS4KICovCmdvb2cuYWRkRGVwZW5kZW5jeSA9IGZ1bmN0aW9uKHJlbFBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgb3B0X2xvYWRGbGFncykgewogIGlmICghQ09NUElMRUQgJiYgZ29vZy5ERVBFTkRFTkNJRVNfRU5BQkxFRCkgewogICAgZ29vZy5kZWJ1Z0xvYWRlcl8uYWRkRGVwZW5kZW5jeShyZWxQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIG9wdF9sb2FkRmxhZ3MpOwogIH0KfTsKCgoKCi8vIE5PVEUobm5hemUpOiBUaGUgZGVidWcgRE9NIGxvYWRlciB3YXMgaW5jbHVkZWQgaW4gYmFzZS5qcyBhcyBhbiBvcmlnaW5hbCB3YXkKLy8gdG8gZG8gImRlYnVnLW1vZGUiIGRldmVsb3BtZW50LiAgVGhlIGRlcGVuZGVuY3kgc3lzdGVtIGNhbiBzb21ldGltZXMgYmUKLy8gY29uZnVzaW5nLCBhcyBjYW4gdGhlIGRlYnVnIERPTSBsb2FkZXIncyBhc3luY2hyb25vdXMgbmF0dXJlLgovLwovLyBXaXRoIHRoZSBET00gbG9hZGVyLCBhIGNhbGwgdG8gZ29vZy5yZXF1aXJlKCkgaXMgbm90IGJsb2NraW5nIC0tIHRoZSBzY3JpcHQKLy8gd2lsbCBub3QgbG9hZCB1bnRpbCBzb21lIHBvaW50IGFmdGVyIHRoZSBjdXJyZW50IHNjcmlwdC4gIElmIGEgbmFtZXNwYWNlIGlzCi8vIG5lZWRlZCBhdCBydW50aW1lLCBpdCBuZWVkcyB0byBiZSBkZWZpbmVkIGluIGEgcHJldmlvdXMgc2NyaXB0LCBvciBsb2FkZWQgdmlhCi8vIHJlcXVpcmUoKSB3aXRoIGl0cyByZWdpc3RlcmVkIGRlcGVuZGVuY2llcy4KLy8KLy8gVXNlci1kZWZpbmVkIG5hbWVzcGFjZXMgbWF5IG5lZWQgdGhlaXIgb3duIGRlcHMgZmlsZS4gRm9yIGEgcmVmZXJlbmNlIG9uCi8vIGNyZWF0aW5nIGEgZGVwcyBmaWxlLCBzZWU6Ci8vIEV4dGVybmFsbHk6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Nsb3N1cmUvbGlicmFyeS9kb2NzL2RlcHN3cml0ZXIKLy8KLy8gQmVjYXVzZSBvZiBsZWdhY3kgY2xpZW50cywgdGhlIERPTSBsb2FkZXIgY2FuJ3QgYmUgZWFzaWx5IHJlbW92ZWQgZnJvbQovLyBiYXNlLmpzLiAgV29yayB3YXMgZG9uZSB0byBtYWtlIGl0IGRpc2FibGVhYmxlIG9yIHJlcGxhY2VhYmxlIGZvcgovLyBkaWZmZXJlbnQgZW52aXJvbm1lbnRzIChET00tbGVzcyBKYXZhU2NyaXB0IGludGVycHJldGVycyBsaWtlIFJoaW5vIG9yIFY4LAovLyBmb3IgZXhhbXBsZSkuIFNlZSBib290c3RyYXAvIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKCi8qKgogKiBAZGVmaW5lIHtib29sZWFufSBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgZGVidWcgbG9hZGVyLgogKgogKiBJZiBlbmFibGVkLCBhIGNhbGwgdG8gZ29vZy5yZXF1aXJlKCkgd2lsbCBhdHRlbXB0IHRvIGxvYWQgdGhlIG5hbWVzcGFjZSBieQogKiBhcHBlbmRpbmcgYSBzY3JpcHQgdGFnIHRvIHRoZSBET00gKGlmIHRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gcmVnaXN0ZXJlZCkuCiAqCiAqIElmIGRpc2FibGVkLCBnb29nLnJlcXVpcmUoKSB3aWxsIHNpbXBseSBhc3NlcnQgdGhhdCB0aGUgbmFtZXNwYWNlIGhhcyBiZWVuCiAqIHByb3ZpZGVkIChhbmQgZGVwZW5kIG9uIHRoZSBmYWN0IHRoYXQgc29tZSBvdXRzaWRlIHRvb2wgY29ycmVjdGx5IG9yZGVyZWQKICogdGhlIHNjcmlwdCkuCiAqLwpnb29nLkVOQUJMRV9ERUJVR19MT0FERVIgPSBnb29nLmRlZmluZSgnZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSJywgdHJ1ZSk7CgoKLyoqCiAqIEBwYXJhbSB7c3RyaW5nfSBtc2cKICogQHByaXZhdGUKICovCmdvb2cubG9nVG9Db25zb2xlXyA9IGZ1bmN0aW9uKG1zZykgewogIGlmIChnb29nLmdsb2JhbC5jb25zb2xlKSB7CiAgICBnb29nLmdsb2JhbC5jb25zb2xlWydlcnJvciddKG1zZyk7CiAgfQp9OwoKCi8qKgogKiBJbXBsZW1lbnRzIGEgc3lzdGVtIGZvciB0aGUgZHluYW1pYyByZXNvbHV0aW9uIG9mIGRlcGVuZGVuY2llcyB0aGF0IHdvcmtzIGluCiAqIHBhcmFsbGVsIHdpdGggdGhlIEJVSUxEIHN5c3RlbS4KICoKICogTm90ZSB0aGF0IGFsbCBjYWxscyB0byBnb29nLnJlcXVpcmUgd2lsbCBiZSBzdHJpcHBlZCBieSB0aGUgY29tcGlsZXIuCiAqCiAqIEBzZWUgZ29vZy5wcm92aWRlCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgTmFtZXNwYWNlIChhcyB3YXMgZ2l2ZW4gaW4gZ29vZy5wcm92aWRlLAogKiAgICAgZ29vZy5tb2R1bGUsIG9yIGdvb2cuZGVjbGFyZU1vZHVsZUlkKSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICogQHJldHVybiB7P30gSWYgY2FsbGVkIHdpdGhpbiBhIGdvb2cubW9kdWxlIG9yIEVTNiBtb2R1bGUgZmlsZSwgdGhlIGFzc29jaWF0ZWQKICogICAgIG5hbWVzcGFjZSBvciBtb2R1bGUgb3RoZXJ3aXNlIG51bGwuCiAqLwpnb29nLnJlcXVpcmUgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICBpZiAoIUNPTVBJTEVEKSB7CiAgICAvLyBNaWdodCBuZWVkIHRvIGxhenkgbG9hZCBvbiBvbGQgSUUuCiAgICBpZiAoZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSKSB7CiAgICAgIGdvb2cuZGVidWdMb2FkZXJfLnJlcXVlc3RlZChuYW1lc3BhY2UpOwogICAgfQoKICAgIC8vIElmIHRoZSBvYmplY3QgYWxyZWFkeSBleGlzdHMgd2UgZG8gbm90IG5lZWQgdG8gZG8gYW55dGhpbmcuCiAgICBpZiAoZ29vZy5pc1Byb3ZpZGVkXyhuYW1lc3BhY2UpKSB7CiAgICAgIGlmIChnb29nLmlzSW5Nb2R1bGVMb2FkZXJfKCkpIHsKICAgICAgICByZXR1cm4gZ29vZy5tb2R1bGUuZ2V0SW50ZXJuYWxfKG5hbWVzcGFjZSk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSKSB7CiAgICAgIHZhciBtb2R1bGVMb2FkZXJTdGF0ZSA9IGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfOwogICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG51bGw7CiAgICAgIHRyeSB7CiAgICAgICAgZ29vZy5kZWJ1Z0xvYWRlcl8ubG9hZF8obmFtZXNwYWNlKTsKICAgICAgfSBmaW5hbGx5IHsKICAgICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG1vZHVsZUxvYWRlclN0YXRlOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfQp9OwoKCi8qKgogKiBSZXF1aXJlcyBhIHN5bWJvbCBmb3IgaXRzIHR5cGUgaW5mb3JtYXRpb24uIFRoaXMgaXMgYW4gaW5kaWNhdGlvbiB0byB0aGUKICogY29tcGlsZXIgdGhhdCB0aGUgc3ltYm9sIG1heSBhcHBlYXIgaW4gdHlwZSBhbm5vdGF0aW9ucywgeWV0IGl0IGlzIG5vdAogKiByZWZlcmVuY2VkIGF0IHJ1bnRpbWUuCiAqCiAqIFdoZW4gY2FsbGVkIHdpdGhpbiBhIGdvb2cubW9kdWxlIG9yIEVTNiBtb2R1bGUgZmlsZSwgdGhlIHJldHVybiB2YWx1ZSBtYXkgYmUKICogYXNzaWduZWQgdG8gb3IgZGVzdHJ1Y3R1cmVkIGludG8gYSB2YXJpYWJsZSwgYnV0IGl0IG1heSBub3QgYmUgb3RoZXJ3aXNlIHVzZWQKICogaW4gY29kZSBvdXRzaWRlIG9mIGEgdHlwZSBhbm5vdGF0aW9uLgogKgogKiBOb3RlIHRoYXQgYWxsIGNhbGxzIHRvIGdvb2cucmVxdWlyZVR5cGUgd2lsbCBiZSBzdHJpcHBlZCBieSB0aGUgY29tcGlsZXIuCiAqCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgTmFtZXNwYWNlIChhcyB3YXMgZ2l2ZW4gaW4gZ29vZy5wcm92aWRlLAogKiAgICAgZ29vZy5tb2R1bGUsIG9yIGdvb2cuZGVjbGFyZU1vZHVsZUlkKSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICogQHJldHVybiB7P30KICovCmdvb2cucmVxdWlyZVR5cGUgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICAvLyBSZXR1cm4gYW4gZW1wdHkgb2JqZWN0IHNvIHRoYXQgc2luZ2xlLWxldmVsIGRlc3RydWN0dXJpbmcgb2YgdGhlIHJldHVybgogIC8vIHZhbHVlIGRvZXNuJ3QgY3Jhc2ggYXQgcnVudGltZSB3aGVuIHVzaW5nIHRoZSBkZWJ1ZyBsb2FkZXIuIE11bHRpLWxldmVsCiAgLy8gZGVzdHJ1Y3R1cmluZyBpc24ndCBzdXBwb3J0ZWQuCiAgcmV0dXJuIHt9Owp9OwoKCi8qKgogKiBQYXRoIGZvciBpbmNsdWRlZCBzY3JpcHRzLgogKiBAdHlwZSB7c3RyaW5nfQogKi8KZ29vZy5iYXNlUGF0aCA9ICcnOwoKCi8qKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIGJhc2UgcGF0aC4KICogQHR5cGUge3N0cmluZ3x1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0JBU0VfUEFUSDsKCgovKioKICogV2hldGhlciB0byBhdHRlbXB0IHRvIGxvYWQgQ2xvc3VyZSdzIGRlcHMgZmlsZS4gQnkgZGVmYXVsdCwgd2hlbiB1bmNvbXBpbGVkLAogKiBkZXBzIGZpbGVzIHdpbGwgYXR0ZW1wdCB0byBiZSBsb2FkZWQuCiAqIEB0eXBlIHtib29sZWFufHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfTk9fREVQUzsKCgovKioKICogQSBmdW5jdGlvbiB0byBpbXBvcnQgYSBzaW5nbGUgc2NyaXB0LiBUaGlzIGlzIG1lYW50IHRvIGJlIG92ZXJyaWRkZW4gd2hlbgogKiBDbG9zdXJlIGlzIGJlaW5nIHJ1biBpbiBub24tSFRNTCBjb250ZXh0cywgc3VjaCBhcyB3ZWIgd29ya2Vycy4gSXQncyBkZWZpbmVkCiAqIGluIHRoZSBnbG9iYWwgc2NvcGUgc28gdGhhdCBpdCBjYW4gYmUgc2V0IGJlZm9yZSBiYXNlLmpzIGlzIGxvYWRlZCwgd2hpY2gKICogYWxsb3dzIGRlcHMuanMgdG8gYmUgaW1wb3J0ZWQgcHJvcGVybHkuCiAqCiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgdGhlIHNjcmlwdCBzb3VyY2UsIHdoaWNoIGlzIGEgcmVsYXRpdmUgVVJJLiBUaGUgc2Vjb25kLAogKiBvcHRpb25hbCBwYXJhbWV0ZXIgaXMgdGhlIHNjcmlwdCBjb250ZW50cywgaW4gdGhlIGV2ZW50IHRoZSBzY3JpcHQgbmVlZGVkCiAqIHRyYW5zZm9ybWF0aW9uLiBJdCBzaG91bGQgcmV0dXJuIHRydWUgaWYgdGhlIHNjcmlwdCB3YXMgaW1wb3J0ZWQsIGZhbHNlCiAqIG90aGVyd2lzZS4KICogQHR5cGUgeyhmdW5jdGlvbihzdHJpbmcsIHN0cmluZz0pOiBib29sZWFuKXx1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0lNUE9SVF9TQ1JJUFQ7CgoKLyoqCiAqIE51bGwgZnVuY3Rpb24gdXNlZCBmb3IgZGVmYXVsdCB2YWx1ZXMgb2YgY2FsbGJhY2tzLCBldGMuCiAqIEByZXR1cm4ge3ZvaWR9IE5vdGhpbmcuCiAqLwpnb29nLm51bGxGdW5jdGlvbiA9IGZ1bmN0aW9uKCkge307CgoKLyoqCiAqIFdoZW4gZGVmaW5pbmcgYSBjbGFzcyBGb28gd2l0aCBhbiBhYnN0cmFjdCBtZXRob2QgYmFyKCksIHlvdSBjYW4gZG86CiAqIEZvby5wcm90b3R5cGUuYmFyID0gZ29vZy5hYnN0cmFjdE1ldGhvZAogKgogKiBOb3cgaWYgYSBzdWJjbGFzcyBvZiBGb28gZmFpbHMgdG8gb3ZlcnJpZGUgYmFyKCksIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duCiAqIHdoZW4gYmFyKCkgaXMgaW52b2tlZC4KICoKICogQHR5cGUgeyFGdW5jdGlvbn0KICogQHRocm93cyB7RXJyb3J9IHdoZW4gaW52b2tlZCB0byBpbmRpY2F0ZSB0aGUgbWV0aG9kIHNob3VsZCBiZSBvdmVycmlkZGVuLgogKiBAZGVwcmVjYXRlZCBVc2UgIkBhYnN0cmFjdCIgYW5ub3RhdGlvbiBpbnN0ZWFkIG9mIGdvb2cuYWJzdHJhY3RNZXRob2QgaW4gbmV3CiAqICAgICBjb2RlLiBTZWUKICogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci93aWtpL0BhYnN0cmFjdC1jbGFzc2VzLWFuZC1tZXRob2RzCiAqLwpnb29nLmFic3RyYWN0TWV0aG9kID0gZnVuY3Rpb24oKSB7CiAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkIGFic3RyYWN0IG1ldGhvZCcpOwp9OwoKCi8qKgogKiBBZGRzIGEgYGdldEluc3RhbmNlYCBzdGF0aWMgbWV0aG9kIHRoYXQgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUKICogaW5zdGFuY2Ugb2JqZWN0LgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY3RvciBUaGUgY29uc3RydWN0b3IgZm9yIHRoZSBjbGFzcyB0byBhZGQgdGhlIHN0YXRpYwogKiAgICAgbWV0aG9kIHRvLgogKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSAnaW5zdGFuY2VfJyBpc24ndCBhIHByb3BlcnR5IG9uICdGdW5jdGlvbicKICogICAgIGJ1dCB3ZSBkb24ndCBoYXZlIGEgYmV0dGVyIHR5cGUgdG8gdXNlIGhlcmUuCiAqLwpnb29nLmFkZFNpbmdsZXRvbkdldHRlciA9IGZ1bmN0aW9uKGN0b3IpIHsKICAvLyBpbnN0YW5jZV8gaXMgaW1tZWRpYXRlbHkgc2V0IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggc2VhbGVkIGNvbnN0cnVjdG9ycwogIC8vIHN1Y2ggYXMgYXJlIGVuY291bnRlcmVkIHdoZW4gYSBjb25zdHJ1Y3RvciBpcyByZXR1cm5lZCBhcyB0aGUgZXhwb3J0IG9iamVjdAogIC8vIG9mIGEgZ29vZy5tb2R1bGUgaW4gdW5vcHRpbWl6ZWQgY29kZS4KICAvLyBEZWxjYXJlIHR5cGUgdG8gYXZvaWQgY29uZm9ybWFuY2UgdmlvbGF0aW9ucyB0aGF0IGN0b3IuaW5zdGFuY2VfIGlzIHVua25vd24KICAvKiogQHR5cGUge3VuZGVmaW5lZHwhT2JqZWN0fSBAc3VwcHJlc3Mge3VuZGVyc2NvcmV9ICovCiAgY3Rvci5pbnN0YW5jZV8gPSB1bmRlZmluZWQ7CiAgY3Rvci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uKCkgewogICAgaWYgKGN0b3IuaW5zdGFuY2VfKSB7CiAgICAgIHJldHVybiBjdG9yLmluc3RhbmNlXzsKICAgIH0KICAgIGlmIChnb29nLkRFQlVHKSB7CiAgICAgIC8vIE5PVEU6IEpTQ29tcGlsZXIgY2FuJ3Qgb3B0aW1pemUgYXdheSBBcnJheSNwdXNoLgogICAgICBnb29nLmluc3RhbnRpYXRlZFNpbmdsZXRvbnNfW2dvb2cuaW5zdGFudGlhdGVkU2luZ2xldG9uc18ubGVuZ3RoXSA9IGN0b3I7CiAgICB9CiAgICAvLyBDYXN0IHRvIGF2b2lkIGNvbmZvcm1hbmNlIHZpb2xhdGlvbnMgdGhhdCBjdG9yLmluc3RhbmNlXyBpcyB1bmtub3duCiAgICByZXR1cm4gLyoqIEB0eXBlIHshT2JqZWN0fHVuZGVmaW5lZH0gKi8gKGN0b3IuaW5zdGFuY2VfKSA9IG5ldyBjdG9yOwogIH07Cn07CgoKLyoqCiAqIEFsbCBzaW5nbGV0b24gY2xhc3NlcyB0aGF0IGhhdmUgYmVlbiBpbnN0YW50aWF0ZWQsIGZvciB0ZXN0aW5nLiBEb24ndCByZWFkCiAqIGl0IGRpcmVjdGx5LCB1c2UgdGhlIGBnb29nLnRlc3Rpbmcuc2luZ2xldG9uYCBtb2R1bGUuIFRoZSBjb21waWxlcgogKiByZW1vdmVzIHRoaXMgdmFyaWFibGUgaWYgdW51c2VkLgogKiBAdHlwZSB7IUFycmF5PCFGdW5jdGlvbj59CiAqIEBwcml2YXRlCiAqLwpnb29nLmluc3RhbnRpYXRlZFNpbmdsZXRvbnNfID0gW107CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdG8gbG9hZCBnb29nLm1vZHVsZXMgdXNpbmcgYGV2YWxgIHdoZW4gdXNpbmcKICogdGhlIGRlYnVnIGxvYWRlci4gIFRoaXMgcHJvdmlkZXMgYSBiZXR0ZXIgZGVidWdnaW5nIGV4cGVyaWVuY2UgYXMgdGhlCiAqIHNvdXJjZSBpcyB1bm1vZGlmaWVkIGFuZCBjYW4gYmUgZWRpdGVkIHVzaW5nIENocm9tZSBXb3Jrc3BhY2VzIG9yIHNpbWlsYXIuCiAqIEhvd2V2ZXIgaW4gc29tZSBlbnZpcm9ubWVudHMgdGhlIHVzZSBvZiBgZXZhbGAgaXMgYmFubmVkCiAqIHNvIHdlIHByb3ZpZGUgYW4gYWx0ZXJuYXRpdmUuCiAqLwpnb29nLkxPQURfTU9EVUxFX1VTSU5HX0VWQUwgPSBnb29nLmRlZmluZSgnZ29vZy5MT0FEX01PRFVMRV9VU0lOR19FVkFMJywgdHJ1ZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGV4cG9ydHMgb2YgZ29vZy5tb2R1bGVzIHNob3VsZCBiZSBzZWFsZWQgd2hlbgogKiBwb3NzaWJsZS4KICovCmdvb2cuU0VBTF9NT0RVTEVfRVhQT1JUUyA9IGdvb2cuZGVmaW5lKCdnb29nLlNFQUxfTU9EVUxFX0VYUE9SVFMnLCBnb29nLkRFQlVHKTsKCgovKioKICogVGhlIHJlZ2lzdHJ5IG9mIGluaXRpYWxpemVkIG1vZHVsZXM6CiAqIFRoZSBtb2R1bGUgaWRlbnRpZmllciBvciBwYXRoIHRvIG1vZHVsZSBleHBvcnRzIG1hcC4KICogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywge2V4cG9ydHM6Pyx0eXBlOnN0cmluZyxtb2R1bGVJZDpzdHJpbmd9Pn0KICovCmdvb2cubG9hZGVkTW9kdWxlc18gPSB7fTsKCgovKioKICogVHJ1ZSBpZiB0aGUgZGVidWcgbG9hZGVyIGVuYWJsZWQgYW5kIHVzZWQuCiAqIEBjb25zdCB7Ym9vbGVhbn0KICovCmdvb2cuREVQRU5ERU5DSUVTX0VOQUJMRUQgPSAhQ09NUElMRUQgJiYgZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSOwoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IEhvdyB0byBkZWNpZGUgd2hldGhlciB0byB0cmFuc3BpbGUuICBWYWxpZCB2YWx1ZXMKICogYXJlICdhbHdheXMnLCAnbmV2ZXInLCBhbmQgJ2RldGVjdCcuICBUaGUgZGVmYXVsdCAoJ2RldGVjdCcpIGlzIHRvCiAqIHVzZSBmZWF0dXJlIGRldGVjdGlvbiB0byBkZXRlcm1pbmUgd2hpY2ggbGFuZ3VhZ2UgbGV2ZWxzIG5lZWQKICogdHJhbnNwaWxhdGlvbi4KICovCi8vIE5PVEUoc2RoKTogd2UgY291bGQgZXhwYW5kIHRoaXMgdG8gYWNjZXB0IGEgbGFuZ3VhZ2UgbGV2ZWwgdG8gYnlwYXNzCi8vIGRldGVjdGlvbjogZS5nLiBnb29nLlRSQU5TUElMRSA9PSAnZXM1JyB3b3VsZCB0cmFuc3BpbGUgRVM2IGZpbGVzIGJ1dAovLyB3b3VsZCBsZWF2ZSBFUzMgYW5kIEVTNSBmaWxlcyBhbG9uZS4KZ29vZy5UUkFOU1BJTEUgPSBnb29nLmRlZmluZSgnZ29vZy5UUkFOU1BJTEUnLCAnZGV0ZWN0Jyk7CgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gSWYgdHJ1ZSBhc3N1bWUgdGhhdCBFUyBtb2R1bGVzIGhhdmUgYWxyZWFkeSBiZWVuCiAqIHRyYW5zcGlsZWQgYnkgdGhlIGpzY29tcGlsZXIgKGluIHRoZSBzYW1lIHdheSB0aGF0IHRyYW5zcGlsZS5qcyB3b3VsZAogKiB0cmFuc3BpbGUgdGhlbSAtIHRvIGpzY29tcCBtb2R1bGVzKS4gVXNlZnVsIG9ubHkgZm9yIHNlcnZlcnMgdGhhdCB3aXNoIHRvIHVzZQogKiB0aGUgZGVidWcgbG9hZGVyIGFuZCB0cmFuc3BpbGUgc2VydmVyIHNpZGUuIFRodXMgdGhpcyBpcyBvbmx5IHJlc3BlY3RlZCBpZgogKiBnb29nLlRSQU5TUElMRSBpcyAibmV2ZXIiLgogKi8KZ29vZy5BU1NVTUVfRVNfTU9EVUxFU19UUkFOU1BJTEVEID0KICAgIGdvb2cuZGVmaW5lKCdnb29nLkFTU1VNRV9FU19NT0RVTEVTX1RSQU5TUElMRUQnLCBmYWxzZSk7CgoKLyoqCiAqIEBkZWZpbmUge3N0cmluZ30gSWYgYSBmaWxlIG5lZWRzIHRvIGJlIHRyYW5zcGlsZWQgd2hhdCB0aGUgb3V0cHV0IGxhbmd1YWdlCiAqIHNob3VsZCBiZS4gQnkgZGVmYXVsdCB0aGlzIGlzIHRoZSBoaWdoZXN0IGxhbmd1YWdlIGxldmVsIHRoaXMgZmlsZSBkZXRlY3RzCiAqIHRoZSBjdXJyZW50IGVudmlyb25tZW50IHN1cHBvcnRzLiBHZW5lcmFsbHkgdGhpcyBmbGFnIHNob3VsZCBub3QgYmUgc2V0LCBidXQKICogaXQgY291bGQgYmUgdXNlZnVsIHRvIG92ZXJyaWRlLiBFeGFtcGxlOiBJZiB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBzdXBwb3J0cwogKiBFUzYgdGhlbiBieSBkZWZhdWx0IEVTNysgZmlsZXMgd2lsbCBiZSB0cmFuc3BpbGVkIHRvIEVTNiwgdW5sZXNzIHRoaXMgaXMKICogb3ZlcnJpZGRlbi4KICoKICogVmFsaWQgdmFsdWVzIGluY2x1ZGU6IGVzMywgZXM1LCBlczYsIGVzNywgYW5kIGVzOC4gQW55dGhpbmcgbm90IHJlY29nbml6ZWQKICogaXMgdHJlYXRlZCBhcyBlczMuCiAqCiAqIE5vdGUgdGhhdCBzZXR0aW5nIHRoaXMgdmFsdWUgZG9lcyBub3QgZm9yY2UgdHJhbnNwaWxhdGlvbi4gSnVzdCBpZgogKiB0cmFuc3BpbGF0aW9uIG9jY3VycyB0aGlzIHdpbGwgYmUgdGhlIG91dHB1dC4gU28gdGhpcyBpcyBtb3N0IHVzZWZ1bCB3aGVuCiAqIGdvb2cuVFJBTlNQSUxFIGlzIHNldCB0byAnYWx3YXlzJyBhbmQgdGhlbiBmb3JjaW5nIHRoZSBsYW5ndWFnZSBsZXZlbCB0byBiZQogKiBzb21ldGhpbmcgbG93ZXIgdGhhbiB3aGF0IHRoZSBlbnZpcm9ubWVudCBkZXRlY3RzLgogKi8KZ29vZy5UUkFOU1BJTEVfVE9fTEFOR1VBR0UgPSBnb29nLmRlZmluZSgnZ29vZy5UUkFOU1BJTEVfVE9fTEFOR1VBR0UnLCAnJyk7CgoKLyoqCiAqIEBkZWZpbmUge3N0cmluZ30gUGF0aCB0byB0aGUgdHJhbnNwaWxlci4gIEV4ZWN1dGluZyB0aGUgc2NyaXB0IGF0IHRoaXMKICogcGF0aCAocmVsYXRpdmUgdG8gYmFzZS5qcykgc2hvdWxkIGRlZmluZSBhIGZ1bmN0aW9uICRqc2NvbXAudHJhbnNwaWxlLgogKi8KZ29vZy5UUkFOU1BJTEVSID0gZ29vZy5kZWZpbmUoJ2dvb2cuVFJBTlNQSUxFUicsICd0cmFuc3BpbGUuanMnKTsKCgovKioKICogQHBhY2thZ2Ugez9ib29sZWFufQogKiBWaXNpYmxlIGZvciB0ZXN0aW5nLgogKi8KZ29vZy5oYXNCYWRMZXRTY29waW5nID0gbnVsbDsKCgovKioKICogQHJldHVybiB7Ym9vbGVhbn0KICogQHBhY2thZ2UgVmlzaWJsZSBmb3IgdGVzdGluZy4KICovCmdvb2cudXNlU2FmYXJpMTBXb3JrYXJvdW5kID0gZnVuY3Rpb24oKSB7CiAgaWYgKGdvb2cuaGFzQmFkTGV0U2NvcGluZyA9PSBudWxsKSB7CiAgICB2YXIgaGFzQmFkTGV0U2NvcGluZzsKICAgIHRyeSB7CiAgICAgIGhhc0JhZExldFNjb3BpbmcgPSAhZXZhbCgKICAgICAgICAgICcidXNlIHN0cmljdCI7JyArCiAgICAgICAgICAnbGV0IHggPSAxOyBmdW5jdGlvbiBmKCkgeyByZXR1cm4gdHlwZW9mIHg7IH07JyArCiAgICAgICAgICAnZigpID09ICJudW1iZXIiOycpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAvLyBBc3N1bWUgdGhhdCBFUzYgc3ludGF4IGlzbid0IHN1cHBvcnRlZC4KICAgICAgaGFzQmFkTGV0U2NvcGluZyA9IGZhbHNlOwogICAgfQogICAgZ29vZy5oYXNCYWRMZXRTY29waW5nID0gaGFzQmFkTGV0U2NvcGluZzsKICB9CiAgcmV0dXJuIGdvb2cuaGFzQmFkTGV0U2NvcGluZzsKfTsKCgovKioKICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZURlZgogKiBAcmV0dXJuIHtzdHJpbmd9CiAqIEBwYWNrYWdlIFZpc2libGUgZm9yIHRlc3RpbmcuCiAqLwpnb29nLndvcmthcm91bmRTYWZhcmkxMEV2YWxCdWcgPSBmdW5jdGlvbihtb2R1bGVEZWYpIHsKICByZXR1cm4gJyhmdW5jdGlvbigpeycgKyBtb2R1bGVEZWYgKwogICAgICAnXG4nICsgIC8vIFRlcm1pbmF0ZSBhbnkgdHJhaWxpbmcgc2luZ2xlIGxpbmUgY29tbWVudC4KICAgICAgJzsnICsgICAvLyBUZXJtaW5hdGUgYW55IHRyYWlsaW5nIGV4cHJlc3Npb24uCiAgICAgICd9KSgpO1xuJzsKfTsKCgovKioKICogQHBhcmFtIHtmdW5jdGlvbig/KTo/fHN0cmluZ30gbW9kdWxlRGVmIFRoZSBtb2R1bGUgZGVmaW5pdGlvbi4KICovCmdvb2cubG9hZE1vZHVsZSA9IGZ1bmN0aW9uKG1vZHVsZURlZikgewogIC8vIE5PVEU6IHdlIGFsbG93IGZ1bmN0aW9uIGRlZmluaXRpb25zIHRvIGJlIGVpdGhlciBpbiB0aGUgZnJvbQogIC8vIG9mIGEgc3RyaW5nIHRvIGV2YWwgKHdoaWNoIGtlZXBzIHRoZSBvcmlnaW5hbCBzb3VyY2UgaW50YWN0KSBvcgogIC8vIGluIGEgZXZhbCBmb3JiaWRkZW4gZW52aXJvbm1lbnQgKENTUCkgd2UgYWxsb3cgYSBmdW5jdGlvbiBkZWZpbml0aW9uCiAgLy8gd2hpY2ggaW4gaXRzIGJvZHkgbXVzdCBjYWxsIGBnb29nLm1vZHVsZWAsIGFuZCByZXR1cm4gdGhlIGV4cG9ydHMKICAvLyBvZiB0aGUgbW9kdWxlLgogIHZhciBwcmV2aW91c1N0YXRlID0gZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV87CiAgdHJ5IHsKICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gewogICAgICBtb2R1bGVOYW1lOiAnJywKICAgICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTogZmFsc2UsCiAgICAgIHR5cGU6IGdvb2cuTW9kdWxlVHlwZS5HT09HCiAgICB9OwogICAgdmFyIGV4cG9ydHM7CiAgICBpZiAoZ29vZy5pc0Z1bmN0aW9uKG1vZHVsZURlZikpIHsKICAgICAgZXhwb3J0cyA9IG1vZHVsZURlZi5jYWxsKHVuZGVmaW5lZCwge30pOwogICAgfSBlbHNlIGlmICh0eXBlb2YgbW9kdWxlRGVmID09PSAnc3RyaW5nJykgewogICAgICBpZiAoZ29vZy51c2VTYWZhcmkxMFdvcmthcm91bmQoKSkgewogICAgICAgIG1vZHVsZURlZiA9IGdvb2cud29ya2Fyb3VuZFNhZmFyaTEwRXZhbEJ1Zyhtb2R1bGVEZWYpOwogICAgICB9CgogICAgICBleHBvcnRzID0gZ29vZy5sb2FkTW9kdWxlRnJvbVNvdXJjZV8uY2FsbCh1bmRlZmluZWQsIG1vZHVsZURlZik7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kdWxlIGRlZmluaXRpb24nKTsKICAgIH0KCiAgICB2YXIgbW9kdWxlTmFtZSA9IGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLm1vZHVsZU5hbWU7CiAgICBpZiAodHlwZW9mIG1vZHVsZU5hbWUgPT09ICdzdHJpbmcnICYmIG1vZHVsZU5hbWUpIHsKICAgICAgLy8gRG9uJ3Qgc2VhbCBsZWdhY3kgbmFtZXNwYWNlcyBhcyB0aGV5IG1heSBiZSB1c2VkIGFzIGEgcGFyZW50IG9mCiAgICAgIC8vIGFub3RoZXIgbmFtZXNwYWNlCiAgICAgIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5kZWNsYXJlTGVnYWN5TmFtZXNwYWNlKSB7CiAgICAgICAgZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfKG1vZHVsZU5hbWUsIGV4cG9ydHMpOwogICAgICB9IGVsc2UgaWYgKAogICAgICAgICAgZ29vZy5TRUFMX01PRFVMRV9FWFBPUlRTICYmIE9iamVjdC5zZWFsICYmCiAgICAgICAgICB0eXBlb2YgZXhwb3J0cyA9PSAnb2JqZWN0JyAmJiBleHBvcnRzICE9IG51bGwpIHsKICAgICAgICBPYmplY3Quc2VhbChleHBvcnRzKTsKICAgICAgfQoKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgZXhwb3J0czogZXhwb3J0cywKICAgICAgICB0eXBlOiBnb29nLk1vZHVsZVR5cGUuR09PRywKICAgICAgICBtb2R1bGVJZDogZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZQogICAgICB9OwogICAgICBnb29nLmxvYWRlZE1vZHVsZXNfW21vZHVsZU5hbWVdID0gZGF0YTsKICAgIH0gZWxzZSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2R1bGUgbmFtZSBcIicgKyBtb2R1bGVOYW1lICsgJ1wiJyk7CiAgICB9CiAgfSBmaW5hbGx5IHsKICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gcHJldmlvdXNTdGF0ZTsKICB9Cn07CgoKLyoqCiAqIEBwcml2YXRlIEBjb25zdAogKi8KZ29vZy5sb2FkTW9kdWxlRnJvbVNvdXJjZV8gPSAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZyk6P30gKi8gKGZ1bmN0aW9uKCkgewogIC8vIE5PVEU6IHdlIGF2b2lkIGRlY2xhcmluZyBwYXJhbWV0ZXJzIG9yIGxvY2FsIHZhcmlhYmxlcyBoZXJlIHRvIGF2b2lkCiAgLy8gbWFza2luZyBnbG9iYWxzIG9yIGxlYWtpbmcgdmFsdWVzIGludG8gdGhlIG1vZHVsZSBkZWZpbml0aW9uLgogICd1c2Ugc3RyaWN0JzsKICB2YXIgZXhwb3J0cyA9IHt9OwogIGV2YWwoYXJndW1lbnRzWzBdKTsKICByZXR1cm4gZXhwb3J0czsKfSk7CgoKLyoqCiAqIE5vcm1hbGl6ZSBhIGZpbGUgcGF0aCBieSByZW1vdmluZyByZWR1bmRhbnQgIi4uIiBhbmQgZXh0cmFuZW91cyAiLiIgZmlsZQogKiBwYXRoIGNvbXBvbmVudHMuCiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoCiAqIEByZXR1cm4ge3N0cmluZ30KICogQHByaXZhdGUKICovCmdvb2cubm9ybWFsaXplUGF0aF8gPSBmdW5jdGlvbihwYXRoKSB7CiAgdmFyIGNvbXBvbmVudHMgPSBwYXRoLnNwbGl0KCcvJyk7CiAgdmFyIGkgPSAwOwogIHdoaWxlIChpIDwgY29tcG9uZW50cy5sZW5ndGgpIHsKICAgIGlmIChjb21wb25lbnRzW2ldID09ICcuJykgewogICAgICBjb21wb25lbnRzLnNwbGljZShpLCAxKTsKICAgIH0gZWxzZSBpZiAoCiAgICAgICAgaSAmJiBjb21wb25lbnRzW2ldID09ICcuLicgJiYgY29tcG9uZW50c1tpIC0gMV0gJiYKICAgICAgICBjb21wb25lbnRzW2kgLSAxXSAhPSAnLi4nKSB7CiAgICAgIGNvbXBvbmVudHMuc3BsaWNlKC0taSwgMik7CiAgICB9IGVsc2UgewogICAgICBpKys7CiAgICB9CiAgfQogIHJldHVybiBjb21wb25lbnRzLmpvaW4oJy8nKTsKfTsKCgovKioKICogUHJvdmlkZXMgYSBob29rIGZvciBsb2FkaW5nIGEgZmlsZSB3aGVuIHVzaW5nIENsb3N1cmUncyBnb29nLnJlcXVpcmUoKSBBUEkKICogd2l0aCBnb29nLm1vZHVsZXMuICBJbiBwYXJ0aWN1bGFyIHRoaXMgaG9vayBpcyBwcm92aWRlZCB0byBzdXBwb3J0IE5vZGUuanMuCiAqCiAqIEB0eXBlIHsoZnVuY3Rpb24oc3RyaW5nKTpzdHJpbmcpfHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfTE9BRF9GSUxFX1NZTkM7CgoKLyoqCiAqIExvYWRzIGZpbGUgYnkgc3luY2hyb25vdXMgWEhSLiBTaG91bGQgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuCiAqIEBwYXJhbSB7c3RyaW5nfSBzcmMgU291cmNlIFVSTC4KICogQHJldHVybiB7P3N0cmluZ30gRmlsZSBjb250ZW50cywgb3IgbnVsbCBpZiBsb2FkIGZhaWxlZC4KICogQHByaXZhdGUKICovCmdvb2cubG9hZEZpbGVTeW5jXyA9IGZ1bmN0aW9uKHNyYykgewogIGlmIChnb29nLmdsb2JhbC5DTE9TVVJFX0xPQURfRklMRV9TWU5DKSB7CiAgICByZXR1cm4gZ29vZy5nbG9iYWwuQ0xPU1VSRV9MT0FEX0ZJTEVfU1lOQyhzcmMpOwogIH0gZWxzZSB7CiAgICB0cnkgewogICAgICAvKiogQHR5cGUge1hNTEh0dHBSZXF1ZXN0fSAqLwogICAgICB2YXIgeGhyID0gbmV3IGdvb2cuZ2xvYmFsWydYTUxIdHRwUmVxdWVzdCddKCk7CiAgICAgIHhoci5vcGVuKCdnZXQnLCBzcmMsIGZhbHNlKTsKICAgICAgeGhyLnNlbmQoKTsKICAgICAgLy8gTk9URTogU3VjY2Vzc2Z1bCBodHRwOiByZXF1ZXN0cyBoYXZlIGEgc3RhdHVzIG9mIDIwMCwgYnV0IHN1Y2Nlc3NmdWwKICAgICAgLy8gZmlsZTogcmVxdWVzdHMgbWF5IGhhdmUgYSBzdGF0dXMgb2YgemVyby4gIEFueSBvdGhlciBzdGF0dXMsIG9yIGEKICAgICAgLy8gdGhyb3duIGV4Y2VwdGlvbiAocGFydGljdWxhcmx5IGluIGNhc2Ugb2YgZmlsZTogcmVxdWVzdHMpIGluZGljYXRlcwogICAgICAvLyBzb21lIHNvcnQgb2YgZXJyb3IsIHdoaWNoIHdlIHRyZWF0IGFzIGEgbWlzc2luZyBvciB1bmF2YWlsYWJsZSBmaWxlLgogICAgICByZXR1cm4geGhyLnN0YXR1cyA9PSAwIHx8IHhoci5zdGF0dXMgPT0gMjAwID8geGhyLnJlc3BvbnNlVGV4dCA6IG51bGw7CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgLy8gTm8gbmVlZCB0byByZXRocm93IG9yIGxvZywgc2luY2UgZXJyb3JzIHNob3VsZCBzaG93IHVwIG9uIHRoZWlyIG93bi4KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgfQp9OwoKCi8qKgogKiBMYXppbHkgcmV0cmlldmVzIHRoZSB0cmFuc3BpbGVyIGFuZCBhcHBsaWVzIGl0IHRvIHRoZSBzb3VyY2UuCiAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIEpTIGNvZGUuCiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggdG8gdGhlIGNvZGUuCiAqIEBwYXJhbSB7c3RyaW5nfSB0YXJnZXQgTGFuZ3VhZ2UgbGV2ZWwgb3V0cHV0LgogKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0cmFuc3BpbGVkIGNvZGUuCiAqIEBwcml2YXRlCiAqLwpnb29nLnRyYW5zcGlsZV8gPSBmdW5jdGlvbihjb2RlLCBwYXRoLCB0YXJnZXQpIHsKICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKICBpZiAoIWpzY29tcCkgewogICAgZ29vZy5nbG9iYWxbJyRqc2NvbXAnXSA9IGpzY29tcCA9IHt9OwogIH0KICB2YXIgdHJhbnNwaWxlID0ganNjb21wLnRyYW5zcGlsZTsKICBpZiAoIXRyYW5zcGlsZSkgewogICAgdmFyIHRyYW5zcGlsZXJQYXRoID0gZ29vZy5iYXNlUGF0aCArIGdvb2cuVFJBTlNQSUxFUjsKICAgIHZhciB0cmFuc3BpbGVyQ29kZSA9IGdvb2cubG9hZEZpbGVTeW5jXyh0cmFuc3BpbGVyUGF0aCk7CiAgICBpZiAodHJhbnNwaWxlckNvZGUpIHsKICAgICAgLy8gVGhpcyBtdXN0IGJlIGV4ZWN1dGVkIHN5bmNocm9ub3VzbHksIHNpbmNlIGJ5IHRoZSB0aW1lIHdlIGtub3cgd2UKICAgICAgLy8gbmVlZCBpdCwgd2UncmUgYWJvdXQgdG8gbG9hZCBhbmQgd3JpdGUgdGhlIEVTNiBjb2RlIHN5bmNocm9ub3VzbHksCiAgICAgIC8vIHNvIGEgbm9ybWFsIHNjcmlwdC10YWcgbG9hZCB3aWxsIGJlIHRvbyBzbG93LiBXcmFwcGVkIGluIGEgZnVuY3Rpb24KICAgICAgLy8gc28gdGhhdCBjb2RlIGlzIGV2YWwnZCBpbiB0aGUgZ2xvYmFsIHNjb3BlLgogICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgKDAsIGV2YWwpKHRyYW5zcGlsZXJDb2RlICsgJ1xuLy8jIHNvdXJjZVVSTD0nICsgdHJhbnNwaWxlclBhdGgpOwogICAgICB9KS5jYWxsKGdvb2cuZ2xvYmFsKTsKICAgICAgLy8gRXZlbiB0aG91Z2ggdGhlIHRyYW5zcGlsZXIgaXMgb3B0aW9uYWwsIGlmICRnd3RFeHBvcnQgaXMgZm91bmQsIGl0J3MKICAgICAgLy8gYSBzaWduIHRoZSB0cmFuc3BpbGVyIHdhcyBsb2FkZWQgYW5kIHRoZSAkanNjb21wLnRyYW5zcGlsZSAqc2hvdWxkKgogICAgICAvLyBiZSB0aGVyZS4KICAgICAgaWYgKGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J10gJiYgZ29vZy5nbG9iYWxbJyRnd3RFeHBvcnQnXVsnJGpzY29tcCddICYmCiAgICAgICAgICAhZ29vZy5nbG9iYWxbJyRnd3RFeHBvcnQnXVsnJGpzY29tcCddWyd0cmFuc3BpbGUnXSkgewogICAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICAgJ1RoZSB0cmFuc3BpbGVyIGRpZCBub3QgcHJvcGVybHkgZXhwb3J0IHRoZSAidHJhbnNwaWxlIiAnICsKICAgICAgICAgICAgJ21ldGhvZC4gJGd3dEV4cG9ydDogJyArIEpTT04uc3RyaW5naWZ5KGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J10pKTsKICAgICAgfQogICAgICAvLyB0cmFuc3BpbGUuanMgb25seSBleHBvcnRzIGEgc2luZ2xlICRqc2NvbXAgZnVuY3Rpb24sIHRyYW5zcGlsZS4gV2UKICAgICAgLy8gZ3JhYiBqdXN0IHRoYXQgYW5kIGFkZCBpdCB0byB0aGUgZXhpc3RpbmcgZGVmaW5pdGlvbiBvZiAkanNjb21wIHdoaWNoCiAgICAgIC8vIGNvbnRhaW5zIHRoZSBwb2x5ZmlsbHMuCiAgICAgIGdvb2cuZ2xvYmFsWyckanNjb21wJ10udHJhbnNwaWxlID0KICAgICAgICAgIGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J11bJyRqc2NvbXAnXVsndHJhbnNwaWxlJ107CiAgICAgIGpzY29tcCA9IGdvb2cuZ2xvYmFsWyckanNjb21wJ107CiAgICAgIHRyYW5zcGlsZSA9IGpzY29tcC50cmFuc3BpbGU7CiAgICB9CiAgfQogIGlmICghdHJhbnNwaWxlKSB7CiAgICAvLyBUaGUgdHJhbnNwaWxlciBpcyBhbiBvcHRpb25hbCBjb21wb25lbnQuICBJZiBpdCdzIG5vdCBhdmFpbGFibGUgdGhlbgogICAgLy8gcmVwbGFjZSBpdCB3aXRoIGEgcGFzcy10aHJvdWdoIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IGxvZ3MuCiAgICB2YXIgc3VmZml4ID0gJyByZXF1aXJlcyB0cmFuc3BpbGF0aW9uIGJ1dCBubyB0cmFuc3BpbGVyIHdhcyBmb3VuZC4nOwogICAgdHJhbnNwaWxlID0ganNjb21wLnRyYW5zcGlsZSA9IGZ1bmN0aW9uKGNvZGUsIHBhdGgpIHsKICAgICAgLy8gVE9ETyhzZGgpOiBmaWd1cmUgb3V0IHNvbWUgd2F5IHRvIGdldCB0aGlzIGVycm9yIHRvIHNob3cgdXAKICAgICAgLy8gaW4gdGVzdCByZXN1bHRzLCBub3RpbmcgdGhhdCB0aGUgZmFpbHVyZSBtYXkgb2NjdXIgaW4gbWFueQogICAgICAvLyBkaWZmZXJlbnQgd2F5cywgaW5jbHVkaW5nIGluIGxvYWRNb2R1bGUoKSBiZWZvcmUgdGhlIHRlc3QKICAgICAgLy8gcnVubmVyIGV2ZW4gY29tZXMgdXAuCiAgICAgIGdvb2cubG9nVG9Db25zb2xlXyhwYXRoICsgc3VmZml4KTsKICAgICAgcmV0dXJuIGNvZGU7CiAgICB9OwogIH0KICAvLyBOb3RlOiBhbnkgdHJhbnNwaWxhdGlvbiBlcnJvcnMvd2FybmluZ3Mgd2lsbCBiZSBsb2dnZWQgdG8gdGhlIGNvbnNvbGUuCiAgcmV0dXJuIHRyYW5zcGlsZShjb2RlLCBwYXRoLCB0YXJnZXQpOwp9OwoKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gTGFuZ3VhZ2UgRW5oYW5jZW1lbnRzCi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoKLyoqCiAqIFRoaXMgaXMgYSAiZml4ZWQiIHZlcnNpb24gb2YgdGhlIHR5cGVvZiBvcGVyYXRvci4gIEl0IGRpZmZlcnMgZnJvbSB0aGUgdHlwZW9mCiAqIG9wZXJhdG9yIGluIHN1Y2ggYSB3YXkgdGhhdCBudWxsIHJldHVybnMgJ251bGwnIGFuZCBhcnJheXMgcmV0dXJuICdhcnJheScuCiAqIEBwYXJhbSB7P30gdmFsdWUgVGhlIHZhbHVlIHRvIGdldCB0aGUgdHlwZSBvZi4KICogQHJldHVybiB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgdHlwZS4KICovCmdvb2cudHlwZU9mID0gZnVuY3Rpb24odmFsdWUpIHsKICB2YXIgcyA9IHR5cGVvZiB2YWx1ZTsKICBpZiAocyA9PSAnb2JqZWN0JykgewogICAgaWYgKHZhbHVlKSB7CiAgICAgIC8vIENoZWNrIHRoZXNlIGZpcnN0LCBzbyB3ZSBjYW4gYXZvaWQgY2FsbGluZyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGlmCiAgICAgIC8vIHBvc3NpYmxlLgogICAgICAvLwogICAgICAvLyBJRSBpbXByb3Blcmx5IG1hcnNoYWxzIHR5cGVvZiBhY3Jvc3MgZXhlY3V0aW9uIGNvbnRleHRzLCBidXQgYQogICAgICAvLyBjcm9zcy1jb250ZXh0IG9iamVjdCB3aWxsIHN0aWxsIHJldHVybiBmYWxzZSBmb3IgImluc3RhbmNlb2YgT2JqZWN0Ii4KICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHsKICAgICAgICByZXR1cm4gJ2FycmF5JzsKICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkgewogICAgICAgIHJldHVybiBzOwogICAgICB9CgogICAgICAvLyBIQUNLOiBJbiBvcmRlciB0byB1c2UgYW4gT2JqZWN0IHByb3RvdHlwZSBtZXRob2Qgb24gdGhlIGFyYml0cmFyeQogICAgICAvLyAgIHZhbHVlLCB0aGUgY29tcGlsZXIgcmVxdWlyZXMgdGhlIHZhbHVlIGJlIGNhc3QgdG8gdHlwZSBPYmplY3QsCiAgICAgIC8vICAgZXZlbiB0aG91Z2ggdGhlIEVDTUEgc3BlYyBleHBsaWNpdGx5IGFsbG93cyBpdC4KICAgICAgdmFyIGNsYXNzTmFtZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgKICAgICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdH0gKi8gKHZhbHVlKSk7CiAgICAgIC8vIEluIEZpcmVmb3ggMy42LCBhdHRlbXB0aW5nIHRvIGFjY2VzcyBpZnJhbWUgd2luZG93IG9iamVjdHMnIGxlbmd0aAogICAgICAvLyBwcm9wZXJ0eSB0aHJvd3MgYW4gTlNfRVJST1JfRkFJTFVSRSwgc28gd2UgbmVlZCB0byBzcGVjaWFsLWNhc2UgaXQKICAgICAgLy8gaGVyZS4KICAgICAgaWYgKGNsYXNzTmFtZSA9PSAnW29iamVjdCBXaW5kb3ddJykgewogICAgICAgIHJldHVybiAnb2JqZWN0JzsKICAgICAgfQoKICAgICAgLy8gV2UgY2Fubm90IGFsd2F5cyB1c2UgY29uc3RydWN0b3IgPT0gQXJyYXkgb3IgaW5zdGFuY2VvZiBBcnJheSBiZWNhdXNlCiAgICAgIC8vIGRpZmZlcmVudCBmcmFtZXMgaGF2ZSBkaWZmZXJlbnQgQXJyYXkgb2JqZWN0cy4gSW4gSUU2LCBpZiB0aGUgaWZyYW1lCiAgICAgIC8vIHdoZXJlIHRoZSBhcnJheSB3YXMgY3JlYXRlZCBpcyBkZXN0cm95ZWQsIHRoZSBhcnJheSBsb3NlcyBpdHMKICAgICAgLy8gcHJvdG90eXBlLiBUaGVuIGRlcmVmZXJlbmNpbmcgdmFsLnNwbGljZSBoZXJlIHRocm93cyBhbiBleGNlcHRpb24sIHNvCiAgICAgIC8vIHdlIGNhbid0IHVzZSBnb29nLmlzRnVuY3Rpb24uIENhbGxpbmcgdHlwZW9mIGRpcmVjdGx5IHJldHVybnMgJ3Vua25vd24nCiAgICAgIC8vIHNvIHRoYXQgd2lsbCB3b3JrLiBJbiB0aGlzIGNhc2UsIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gZmFsc2UgYW5kCiAgICAgIC8vIG1vc3QgYXJyYXkgZnVuY3Rpb25zIHdpbGwgc3RpbGwgd29yayBiZWNhdXNlIHRoZSBhcnJheSBpcyBzdGlsbAogICAgICAvLyBhcnJheS1saWtlIChzdXBwb3J0cyBsZW5ndGggYW5kIFtdKSBldmVuIHRob3VnaCBpdCBoYXMgbG9zdCBpdHMKICAgICAgLy8gcHJvdG90eXBlLgogICAgICAvLyBNYXJrIE1pbGxlciBub3RpY2VkIHRoYXQgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogICAgICAvLyBhbGxvd3MgYWNjZXNzIHRvIHRoZSB1bmZvcmdlYWJsZSBbW0NsYXNzXV0gcHJvcGVydHkuCiAgICAgIC8vICAxNS4yLjQuMiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nICggKQogICAgICAvLyAgV2hlbiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAgICAgIC8vICAgICAgMS4gR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QuCiAgICAgIC8vICAgICAgMi4gQ29tcHV0ZSBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzCiAgICAgIC8vICAgICAgICAgIltvYmplY3QgIiwgUmVzdWx0KDEpLCBhbmQgIl0iLgogICAgICAvLyAgICAgIDMuIFJldHVybiBSZXN1bHQoMikuCiAgICAgIC8vIGFuZCB0aGlzIGJlaGF2aW9yIHN1cnZpdmVzIHRoZSBkZXN0cnVjdGlvbiBvZiB0aGUgZXhlY3V0aW9uIGNvbnRleHQuCiAgICAgIGlmICgoY2xhc3NOYW1lID09ICdbb2JqZWN0IEFycmF5XScgfHwKICAgICAgICAgICAvLyBJbiBJRSBhbGwgbm9uIHZhbHVlIHR5cGVzIGFyZSB3cmFwcGVkIGFzIG9iamVjdHMgYWNyb3NzIHdpbmRvdwogICAgICAgICAgIC8vIGJvdW5kYXJpZXMgKG5vdCBpZnJhbWUgdGhvdWdoKSBzbyB3ZSBoYXZlIHRvIGRvIG9iamVjdCBkZXRlY3Rpb24KICAgICAgICAgICAvLyBmb3IgdGhpcyBlZGdlIGNhc2UuCiAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PSAnbnVtYmVyJyAmJgogICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUuc3BsaWNlICE9ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPSAndW5kZWZpbmVkJyAmJgogICAgICAgICAgICAgICAhdmFsdWUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NwbGljZScpCgogICAgICAgICAgICAgICApKSB7CiAgICAgICAgcmV0dXJuICdhcnJheSc7CiAgICAgIH0KICAgICAgLy8gSEFDSzogVGhlcmUgaXMgc3RpbGwgYW4gYXJyYXkgY2FzZSB0aGF0IGZhaWxzLgogICAgICAvLyAgICAgZnVuY3Rpb24gQXJyYXlJbXBvc3RvcigpIHt9CiAgICAgIC8vICAgICBBcnJheUltcG9zdG9yLnByb3RvdHlwZSA9IFtdOwogICAgICAvLyAgICAgdmFyIGltcG9zdG9yID0gbmV3IEFycmF5SW1wb3N0b3I7CiAgICAgIC8vIHRoaXMgY2FuIGJlIGZpeGVkIGJ5IGdldHRpbmcgcmlkIG9mIHRoZSBmYXN0IHBhdGgKICAgICAgLy8gKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIGFuZCBzb2xlbHkgcmVseWluZyBvbgogICAgICAvLyAodmFsdWUgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy52YWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJykKICAgICAgLy8gYnV0IHRoYXQgd291bGQgcmVxdWlyZSBtYW55IG1vcmUgZnVuY3Rpb24gY2FsbHMgYW5kIGlzIG5vdCB3YXJyYW50ZWQKICAgICAgLy8gdW5sZXNzIGNsb3N1cmUgY29kZSBpcyByZWNlaXZpbmcgb2JqZWN0cyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzLgoKICAgICAgLy8gSUUgaW4gY3Jvc3Mtd2luZG93IGNhbGxzIGRvZXMgbm90IGNvcnJlY3RseSBtYXJzaGFsIHRoZSBmdW5jdGlvbiB0eXBlCiAgICAgIC8vIChpdCBhcHBlYXJzIGp1c3QgYXMgYW4gb2JqZWN0KSBzbyB3ZSBjYW5ub3QgdXNlIGp1c3QgdHlwZW9mIHZhbCA9PQogICAgICAvLyAnZnVuY3Rpb24nLiBIb3dldmVyLCBpZiB0aGUgb2JqZWN0IGhhcyBhIGNhbGwgcHJvcGVydHksIGl0IGlzIGEKICAgICAgLy8gZnVuY3Rpb24uCiAgICAgIGlmICgoY2xhc3NOYW1lID09ICdbb2JqZWN0IEZ1bmN0aW9uXScgfHwKICAgICAgICAgICB0eXBlb2YgdmFsdWUuY2FsbCAhPSAndW5kZWZpbmVkJyAmJgogICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUucHJvcGVydHlJc0VudW1lcmFibGUgIT0gJ3VuZGVmaW5lZCcgJiYKICAgICAgICAgICAgICAgIXZhbHVlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdjYWxsJykpKSB7CiAgICAgICAgcmV0dXJuICdmdW5jdGlvbic7CiAgICAgIH0KCiAgICB9IGVsc2UgewogICAgICByZXR1cm4gJ251bGwnOwogICAgfQoKICB9IGVsc2UgaWYgKHMgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuY2FsbCA9PSAndW5kZWZpbmVkJykgewogICAgLy8gSW4gU2FmYXJpIHR5cGVvZiBub2RlTGlzdCByZXR1cm5zICdmdW5jdGlvbicsIGFuZCBvbiBGaXJlZm94IHR5cGVvZgogICAgLy8gYmVoYXZlcyBzaW1pbGFybHkgZm9yIEhUTUx7QXBwbGV0LEVtYmVkLE9iamVjdH0sIEVsZW1lbnRzIGFuZCBSZWdFeHBzLiBXZQogICAgLy8gd291bGQgbGlrZSB0byByZXR1cm4gb2JqZWN0IGZvciB0aG9zZSBhbmQgd2UgY2FuIGRldGVjdCBhbiBpbnZhbGlkCiAgICAvLyBmdW5jdGlvbiBieSBtYWtpbmcgc3VyZSB0aGF0IHRoZSBmdW5jdGlvbiBvYmplY3QgaGFzIGEgY2FsbCBtZXRob2QuCiAgICByZXR1cm4gJ29iamVjdCc7CiAgfQogIHJldHVybiBzOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBudWxsLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIG51bGwuCiAqIEBkZXByZWNhdGVkIFVzZSBgdmFsID09PSBudWxsYCBpbnN0ZWFkLgogKi8KZ29vZy5pc051bGwgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gdmFsID09PSBudWxsOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4KICogQGRlcHJlY2F0ZWQgVXNlIGB2YWwgIT0gbnVsbGAgaW5zdGVhZC4KICovCmdvb2cuaXNEZWZBbmROb3ROdWxsID0gZnVuY3Rpb24odmFsKSB7CiAgLy8gTm90ZSB0aGF0IHVuZGVmaW5lZCA9PSBudWxsLgogIHJldHVybiB2YWwgIT0gbnVsbDsKfTsKCgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgYW4gYXJyYXkuCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYW4gYXJyYXkuCiAqLwpnb29nLmlzQXJyYXkgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gZ29vZy50eXBlT2YodmFsKSA9PSAnYXJyYXknOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBsb29rcyBsaWtlIGFuIGFycmF5LiBUbyBxdWFsaWZ5IGFzIGFycmF5IGxpa2UKICogdGhlIHZhbHVlIG5lZWRzIHRvIGJlIGVpdGhlciBhIE5vZGVMaXN0IG9yIGFuIG9iamVjdCB3aXRoIGEgTnVtYmVyIGxlbmd0aAogKiBwcm9wZXJ0eS4gTm90ZSB0aGF0IGZvciB0aGlzIGZ1bmN0aW9uIG5laXRoZXIgc3RyaW5ncyBub3IgZnVuY3Rpb25zIGFyZQogKiBjb25zaWRlcmVkICJhcnJheS1saWtlIi4KICoKICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBhbiBhcnJheS4KICovCmdvb2cuaXNBcnJheUxpa2UgPSBmdW5jdGlvbih2YWwpIHsKICB2YXIgdHlwZSA9IGdvb2cudHlwZU9mKHZhbCk7CiAgLy8gV2UgZG8gbm90IHVzZSBnb29nLmlzT2JqZWN0IGhlcmUgaW4gb3JkZXIgdG8gZXhjbHVkZSBmdW5jdGlvbiB2YWx1ZXMuCiAgcmV0dXJuIHR5cGUgPT0gJ2FycmF5JyB8fCB0eXBlID09ICdvYmplY3QnICYmIHR5cGVvZiB2YWwubGVuZ3RoID09ICdudW1iZXInOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBsb29rcyBsaWtlIGEgRGF0ZS4gVG8gcXVhbGlmeSBhcyBEYXRlLWxpa2UgdGhlCiAqIHZhbHVlIG5lZWRzIHRvIGJlIGFuIG9iamVjdCBhbmQgaGF2ZSBhIGdldEZ1bGxZZWFyKCkgZnVuY3Rpb24uCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYSBsaWtlIGEgRGF0ZS4KICovCmdvb2cuaXNEYXRlTGlrZSA9IGZ1bmN0aW9uKHZhbCkgewogIHJldHVybiBnb29nLmlzT2JqZWN0KHZhbCkgJiYgdHlwZW9mIHZhbC5nZXRGdWxsWWVhciA9PSAnZnVuY3Rpb24nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhIGZ1bmN0aW9uLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIGEgZnVuY3Rpb24uCiAqLwpnb29nLmlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gZ29vZy50eXBlT2YodmFsKSA9PSAnZnVuY3Rpb24nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhbiBvYmplY3QuICBUaGlzIGluY2x1ZGVzIGFycmF5cyBhbmQKICogZnVuY3Rpb25zLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIGFuIG9iamVjdC4KICovCmdvb2cuaXNPYmplY3QgPSBmdW5jdGlvbih2YWwpIHsKICB2YXIgdHlwZSA9IHR5cGVvZiB2YWw7CiAgcmV0dXJuIHR5cGUgPT0gJ29iamVjdCcgJiYgdmFsICE9IG51bGwgfHwgdHlwZSA9PSAnZnVuY3Rpb24nOwogIC8vIHJldHVybiBPYmplY3QodmFsKSA9PT0gdmFsIGFsc28gd29ya3MsIGJ1dCBpcyBzbG93ZXIsIGVzcGVjaWFsbHkgaWYgdmFsIGlzCiAgLy8gbm90IGFuIG9iamVjdC4KfTsKCgovKioKICogR2V0cyBhIHVuaXF1ZSBJRCBmb3IgYW4gb2JqZWN0LiBUaGlzIG11dGF0ZXMgdGhlIG9iamVjdCBzbyB0aGF0IGZ1cnRoZXIgY2FsbHMKICogd2l0aCB0aGUgc2FtZSBvYmplY3QgYXMgYSBwYXJhbWV0ZXIgcmV0dXJucyB0aGUgc2FtZSB2YWx1ZS4gVGhlIHVuaXF1ZSBJRCBpcwogKiBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGN1cnJlbnQgc2Vzc2lvbiBhbW9uZ3N0IG9iamVjdHMgdGhhdCBhcmUKICogcGFzc2VkIGludG8gYGdldFVpZGAuIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBJRCBpcyB1bmlxdWUgb3IKICogY29uc2lzdGVudCBhY3Jvc3Mgc2Vzc2lvbnMuIEl0IGlzIHVuc2FmZSB0byBnZW5lcmF0ZSB1bmlxdWUgSUQgZm9yIGZ1bmN0aW9uCiAqIHByb3RvdHlwZXMuCiAqCiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byBnZXQgdGhlIHVuaXF1ZSBJRCBmb3IuCiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIG9iamVjdC4KICovCmdvb2cuZ2V0VWlkID0gZnVuY3Rpb24ob2JqKSB7CiAgLy8gVE9ETyhhcnYpOiBNYWtlIHRoZSB0eXBlIHN0cmljdGVyLCBkbyBub3QgYWNjZXB0IG51bGwuCgogIC8vIEluIE9wZXJhIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSBleGlzdHMgYnV0IGFsd2F5cyByZXR1cm5zIGZhbHNlIHNvIHdlIGF2b2lkCiAgLy8gdXNpbmcgaXQuIEFzIGEgY29uc2VxdWVuY2UgdGhlIHVuaXF1ZSBJRCBnZW5lcmF0ZWQgZm9yIEJhc2VDbGFzcy5wcm90b3R5cGUKICAvLyBhbmQgU3ViQ2xhc3MucHJvdG90eXBlIHdpbGwgYmUgdGhlIHNhbWUuCiAgLy8gVE9ETyhiLzE0MTUxMjMyMyk6IFVVSURzIGFyZSBicm9rZW4gZm9yIGN0b3JzIHdpdGggY2xhc3Mtc2lkZSBpbmhlcml0YW5jZS4KICByZXR1cm4gb2JqW2dvb2cuVUlEX1BST1BFUlRZX10gfHwKICAgICAgKG9ialtnb29nLlVJRF9QUk9QRVJUWV9dID0gKytnb29nLnVpZENvdW50ZXJfKTsKfTsKCgovKioKICogV2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgYXNzaWduZWQgYSB1bmlxdWUgSUQuCiAqCiAqIFRoaXMgZG9lcyBub3QgbW9kaWZ5IHRoZSBvYmplY3QuCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gY2hlY2suCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlcmUgaXMgYW4gYXNzaWduZWQgdW5pcXVlIGlkIGZvciB0aGUgb2JqZWN0LgogKi8KZ29vZy5oYXNVaWQgPSBmdW5jdGlvbihvYmopIHsKICByZXR1cm4gISFvYmpbZ29vZy5VSURfUFJPUEVSVFlfXTsKfTsKCgovKioKICogUmVtb3ZlcyB0aGUgdW5pcXVlIElEIGZyb20gYW4gb2JqZWN0LiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgb2JqZWN0IHdhcwogKiBwcmV2aW91c2x5IG11dGF0ZWQgdXNpbmcgYGdvb2cuZ2V0VWlkYCBpbiB3aGljaCBjYXNlIHRoZSBtdXRhdGlvbiBpcwogKiB1bmRvbmUuCiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byByZW1vdmUgdGhlIHVuaXF1ZSBJRCBmaWVsZCBmcm9tLgogKi8KZ29vZy5yZW1vdmVVaWQgPSBmdW5jdGlvbihvYmopIHsKICAvLyBUT0RPKGFydik6IE1ha2UgdGhlIHR5cGUgc3RyaWN0ZXIsIGRvIG5vdCBhY2NlcHQgbnVsbC4KCiAgLy8gSW4gSUUsIERPTSBub2RlcyBhcmUgbm90IGluc3RhbmNlcyBvZiBPYmplY3QgYW5kIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB3ZQogIC8vIHRyeSB0byBkZWxldGUuICBJbnN0ZWFkIHdlIHRyeSB0byB1c2UgcmVtb3ZlQXR0cmlidXRlLgogIGlmIChvYmogIT09IG51bGwgJiYgJ3JlbW92ZUF0dHJpYnV0ZScgaW4gb2JqKSB7CiAgICBvYmoucmVtb3ZlQXR0cmlidXRlKGdvb2cuVUlEX1BST1BFUlRZXyk7CiAgfQoKICB0cnkgewogICAgZGVsZXRlIG9ialtnb29nLlVJRF9QUk9QRVJUWV9dOwogIH0gY2F0Y2ggKGV4KSB7CiAgfQp9OwoKCi8qKgogKiBOYW1lIGZvciB1bmlxdWUgSUQgcHJvcGVydHkuIEluaXRpYWxpemVkIGluIGEgd2F5IHRvIGhlbHAgYXZvaWQgY29sbGlzaW9ucwogKiB3aXRoIG90aGVyIGNsb3N1cmUgSmF2YVNjcmlwdCBvbiB0aGUgc2FtZSBwYWdlLgogKiBAdHlwZSB7c3RyaW5nfQogKiBAcHJpdmF0ZQogKi8KZ29vZy5VSURfUFJPUEVSVFlfID0gJ2Nsb3N1cmVfdWlkXycgKyAoKE1hdGgucmFuZG9tKCkgKiAxZTkpID4+PiAwKTsKCgovKioKICogQ291bnRlciBmb3IgVUlELgogKiBAdHlwZSB7bnVtYmVyfQogKiBAcHJpdmF0ZQogKi8KZ29vZy51aWRDb3VudGVyXyA9IDA7CgoKLyoqCiAqIEFkZHMgYSBoYXNoIGNvZGUgZmllbGQgdG8gYW4gb2JqZWN0LiBUaGUgaGFzaCBjb2RlIGlzIHVuaXF1ZSBmb3IgdGhlCiAqIGdpdmVuIG9iamVjdC4KICogQHBhcmFtIHtPYmplY3R9IG9iaiBUaGUgb2JqZWN0IHRvIGdldCB0aGUgaGFzaCBjb2RlIGZvci4KICogQHJldHVybiB7bnVtYmVyfSBUaGUgaGFzaCBjb2RlIGZvciB0aGUgb2JqZWN0LgogKiBAZGVwcmVjYXRlZCBVc2UgZ29vZy5nZXRVaWQgaW5zdGVhZC4KICovCmdvb2cuZ2V0SGFzaENvZGUgPSBnb29nLmdldFVpZDsKCgovKioKICogUmVtb3ZlcyB0aGUgaGFzaCBjb2RlIGZpZWxkIGZyb20gYW4gb2JqZWN0LgogKiBAcGFyYW0ge09iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gcmVtb3ZlIHRoZSBmaWVsZCBmcm9tLgogKiBAZGVwcmVjYXRlZCBVc2UgZ29vZy5yZW1vdmVVaWQgaW5zdGVhZC4KICovCmdvb2cucmVtb3ZlSGFzaENvZGUgPSBnb29nLnJlbW92ZVVpZDsKCgovKioKICogQ2xvbmVzIGEgdmFsdWUuIFRoZSBpbnB1dCBtYXkgYmUgYW4gT2JqZWN0LCBBcnJheSwgb3IgYmFzaWMgdHlwZS4gT2JqZWN0cyBhbmQKICogYXJyYXlzIHdpbGwgYmUgY2xvbmVkIHJlY3Vyc2l2ZWx5LgogKgogKiBXQVJOSU5HUzoKICogPGNvZGU+Z29vZy5jbG9uZU9iamVjdDwvY29kZT4gZG9lcyBub3QgZGV0ZWN0IHJlZmVyZW5jZSBsb29wcy4gT2JqZWN0cyB0aGF0CiAqIHJlZmVyIHRvIHRoZW1zZWx2ZXMgd2lsbCBjYXVzZSBpbmZpbml0ZSByZWN1cnNpb24uCiAqCiAqIDxjb2RlPmdvb2cuY2xvbmVPYmplY3Q8L2NvZGU+IGlzIHVuYXdhcmUgb2YgdW5pcXVlIGlkZW50aWZpZXJzLCBhbmQgY29waWVzCiAqIFVJRHMgY3JlYXRlZCBieSA8Y29kZT5nZXRVaWQ8L2NvZGU+IGludG8gY2xvbmVkIHJlc3VsdHMuCiAqCiAqIEBwYXJhbSB7Kn0gb2JqIFRoZSB2YWx1ZSB0byBjbG9uZS4KICogQHJldHVybiB7Kn0gQSBjbG9uZSBvZiB0aGUgaW5wdXQgdmFsdWUuCiAqIEBkZXByZWNhdGVkIGdvb2cuY2xvbmVPYmplY3QgaXMgdW5zYWZlLiBQcmVmZXIgdGhlIGdvb2cub2JqZWN0IG1ldGhvZHMuCiAqLwpnb29nLmNsb25lT2JqZWN0ID0gZnVuY3Rpb24ob2JqKSB7CiAgdmFyIHR5cGUgPSBnb29nLnR5cGVPZihvYmopOwogIGlmICh0eXBlID09ICdvYmplY3QnIHx8IHR5cGUgPT0gJ2FycmF5JykgewogICAgaWYgKHR5cGVvZiBvYmouY2xvbmUgPT09ICdmdW5jdGlvbicpIHsKICAgICAgcmV0dXJuIG9iai5jbG9uZSgpOwogICAgfQogICAgdmFyIGNsb25lID0gdHlwZSA9PSAnYXJyYXknID8gW10gOiB7fTsKICAgIGZvciAodmFyIGtleSBpbiBvYmopIHsKICAgICAgY2xvbmVba2V5XSA9IGdvb2cuY2xvbmVPYmplY3Qob2JqW2tleV0pOwogICAgfQogICAgcmV0dXJuIGNsb25lOwogIH0KCiAgcmV0dXJuIG9iajsKfTsKCgovKioKICogQSBuYXRpdmUgaW1wbGVtZW50YXRpb24gb2YgZ29vZy5iaW5kLgogKiBAcGFyYW0gez9mdW5jdGlvbih0aGlzOlQsIC4uLil9IGZuIEEgZnVuY3Rpb24gdG8gcGFydGlhbGx5IGFwcGx5LgogKiBAcGFyYW0ge1R9IHNlbGZPYmogU3BlY2lmaWVzIHRoZSBvYmplY3Qgd2hpY2ggdGhpcyBzaG91bGQgcG9pbnQgdG8gd2hlbiB0aGUKICogICAgIGZ1bmN0aW9uIGlzIHJ1bi4KICogQHBhcmFtIHsuLi4qfSB2YXJfYXJncyBBZGRpdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXJ0aWFsbHkgYXBwbGllZCB0byB0aGUKICogICAgIGZ1bmN0aW9uLgogKiBAcmV0dXJuIHshRnVuY3Rpb259IEEgcGFydGlhbGx5LWFwcGxpZWQgZm9ybSBvZiB0aGUgZnVuY3Rpb24gZ29vZy5iaW5kKCkgd2FzCiAqICAgICBpbnZva2VkIGFzIGEgbWV0aG9kIG9mLgogKiBAdGVtcGxhdGUgVAogKiBAcHJpdmF0ZQogKi8KZ29vZy5iaW5kTmF0aXZlXyA9IGZ1bmN0aW9uKGZuLCBzZWxmT2JqLCB2YXJfYXJncykgewogIHJldHVybiAvKiogQHR5cGUgeyFGdW5jdGlvbn0gKi8gKGZuLmNhbGwuYXBwbHkoZm4uYmluZCwgYXJndW1lbnRzKSk7Cn07CgoKLyoqCiAqIEEgcHVyZS1KUyBpbXBsZW1lbnRhdGlvbiBvZiBnb29nLmJpbmQuCiAqIEBwYXJhbSB7P2Z1bmN0aW9uKHRoaXM6VCwgLi4uKX0gZm4gQSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkuCiAqIEBwYXJhbSB7VH0gc2VsZk9iaiBTcGVjaWZpZXMgdGhlIG9iamVjdCB3aGljaCB0aGlzIHNob3VsZCBwb2ludCB0byB3aGVuIHRoZQogKiAgICAgZnVuY3Rpb24gaXMgcnVuLgogKiBAcGFyYW0gey4uLip9IHZhcl9hcmdzIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRoYXQgYXJlIHBhcnRpYWxseSBhcHBsaWVkIHRvIHRoZQogKiAgICAgZnVuY3Rpb24uCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gQSBwYXJ0aWFsbHktYXBwbGllZCBmb3JtIG9mIHRoZSBmdW5jdGlvbiBnb29nLmJpbmQoKSB3YXMKICogICAgIGludm9rZWQgYXMgYSBtZXRob2Qgb2YuCiAqIEB0ZW1wbGF0ZSBUCiAqIEBwcml2YXRlCiAqLwpnb29nLmJpbmRKc18gPSBmdW5jdGlvbihmbiwgc2VsZk9iaiwgdmFyX2FyZ3MpIHsKICBpZiAoIWZuKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoKTsKICB9CgogIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMikgewogICAgdmFyIGJvdW5kQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMik7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgIC8vIFByZXBlbmQgdGhlIGJvdW5kIGFyZ3VtZW50cyB0byB0aGUgY3VycmVudCBhcmd1bWVudHMuCiAgICAgIHZhciBuZXdBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTsKICAgICAgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkobmV3QXJncywgYm91bmRBcmdzKTsKICAgICAgcmV0dXJuIGZuLmFwcGx5KHNlbGZPYmosIG5ld0FyZ3MpOwogICAgfTsKCiAgfSBlbHNlIHsKICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGZuLmFwcGx5KHNlbGZPYmosIGFyZ3VtZW50cyk7CiAgICB9OwogIH0KfTsKCgovKioKICogUGFydGlhbGx5IGFwcGxpZXMgdGhpcyBmdW5jdGlvbiB0byBhIHBhcnRpY3VsYXIgJ3RoaXMgb2JqZWN0JyBhbmQgemVybyBvcgogKiBtb3JlIGFyZ3VtZW50cy4gVGhlIHJlc3VsdCBpcyBhIG5ldyBmdW5jdGlvbiB3aXRoIHNvbWUgYXJndW1lbnRzIG9mIHRoZSBmaXJzdAogKiBmdW5jdGlvbiBwcmUtZmlsbGVkIGFuZCB0aGUgdmFsdWUgb2YgdGhpcyAncHJlLXNwZWNpZmllZCcuCiAqCiAqIFJlbWFpbmluZyBhcmd1bWVudHMgc3BlY2lmaWVkIGF0IGNhbGwtdGltZSBhcmUgYXBwZW5kZWQgdG8gdGhlIHByZS1zcGVjaWZpZWQKICogb25lcy4KICoKICogQWxzbyBzZWU6IHtAbGluayAjcGFydGlhbH0uCiAqCiAqIFVzYWdlOgogKiA8cHJlPnZhciBiYXJNZXRoQm91bmQgPSBnb29nLmJpbmQobXlGdW5jdGlvbiwgbXlPYmosICdhcmcxJywgJ2FyZzInKTsKICogYmFyTWV0aEJvdW5kKCdhcmczJywgJ2FyZzQnKTs8L3ByZT4KICoKICogQHBhcmFtIHs/ZnVuY3Rpb24odGhpczpULCAuLi4pfSBmbiBBIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseS4KICogQHBhcmFtIHtUfSBzZWxmT2JqIFNwZWNpZmllcyB0aGUgb2JqZWN0IHdoaWNoIHRoaXMgc2hvdWxkIHBvaW50IHRvIHdoZW4gdGhlCiAqICAgICBmdW5jdGlvbiBpcyBydW4uCiAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFydGlhbGx5IGFwcGxpZWQgdG8gdGhlCiAqICAgICBmdW5jdGlvbi4KICogQHJldHVybiB7IUZ1bmN0aW9ufSBBIHBhcnRpYWxseS1hcHBsaWVkIGZvcm0gb2YgdGhlIGZ1bmN0aW9uIGdvb2cuYmluZCgpIHdhcwogKiAgICAgaW52b2tlZCBhcyBhIG1ldGhvZCBvZi4KICogQHRlbXBsYXRlIFQKICogQHN1cHByZXNzIHtkZXByZWNhdGVkfSBTZWUgYWJvdmUuCiAqLwpnb29nLmJpbmQgPSBmdW5jdGlvbihmbiwgc2VsZk9iaiwgdmFyX2FyZ3MpIHsKICAvLyBUT0RPKG5pY2tzYW50b3MpOiBuYXJyb3cgdGhlIHR5cGUgc2lnbmF0dXJlLgogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJgogICAgICAvLyBOT1RFKG5pY2tzYW50b3MpOiBTb21lYm9keSBwdWxsZWQgYmFzZS5qcyBpbnRvIHRoZSBkZWZhdWx0IENocm9tZQogICAgICAvLyBleHRlbnNpb24gZW52aXJvbm1lbnQuIFRoaXMgbWVhbnMgdGhhdCBmb3IgQ2hyb21lIGV4dGVuc2lvbnMsIHRoZXkgZ2V0CiAgICAgIC8vIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aGF0IGNhbGxzIGdvb2cuYmluZAogICAgICAvLyBpbnN0ZWFkIG9mIHRoZSBuYXRpdmUgb25lLiBFdmVuIHdvcnNlLCB3ZSBkb24ndCB3YW50IHRvIGludHJvZHVjZSBhCiAgICAgIC8vIGNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiBnb29nLmJpbmQgYW5kIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBzbwogICAgICAvLyB3ZSBoYXZlIHRvIGhhY2sgdGhpcyB0byBtYWtlIHN1cmUgaXQgd29ya3MgY29ycmVjdGx5LgogICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoJ25hdGl2ZSBjb2RlJykgIT0gLTEpIHsKICAgIGdvb2cuYmluZCA9IGdvb2cuYmluZE5hdGl2ZV87CiAgfSBlbHNlIHsKICAgIGdvb2cuYmluZCA9IGdvb2cuYmluZEpzXzsKICB9CiAgcmV0dXJuIGdvb2cuYmluZC5hcHBseShudWxsLCBhcmd1bWVudHMpOwp9OwoKCi8qKgogKiBMaWtlIGdvb2cuYmluZCgpLCBleGNlcHQgdGhhdCBhICd0aGlzIG9iamVjdCcgaXMgbm90IHJlcXVpcmVkLiBVc2VmdWwgd2hlbgogKiB0aGUgdGFyZ2V0IGZ1bmN0aW9uIGlzIGFscmVhZHkgYm91bmQuCiAqCiAqIFVzYWdlOgogKiB2YXIgZyA9IGdvb2cucGFydGlhbChmLCBhcmcxLCBhcmcyKTsKICogZyhhcmczLCBhcmc0KTsKICoKICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gQSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkuCiAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFydGlhbGx5IGFwcGxpZWQgdG8gZm4uCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gQSBwYXJ0aWFsbHktYXBwbGllZCBmb3JtIG9mIHRoZSBmdW5jdGlvbiBnb29nLnBhcnRpYWwoKQogKiAgICAgd2FzIGludm9rZWQgYXMgYSBtZXRob2Qgb2YuCiAqLwpnb29nLnBhcnRpYWwgPSBmdW5jdGlvbihmbiwgdmFyX2FyZ3MpIHsKICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CiAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgLy8gQ2xvbmUgdGhlIGFycmF5ICh3aXRoIHNsaWNlKCkpIGFuZCBhcHBlbmQgYWRkaXRpb25hbCBhcmd1bWVudHMKICAgIC8vIHRvIHRoZSBleGlzdGluZyBhcmd1bWVudHMuCiAgICB2YXIgbmV3QXJncyA9IGFyZ3Muc2xpY2UoKTsKICAgIG5ld0FyZ3MucHVzaC5hcHBseShuZXdBcmdzLCBhcmd1bWVudHMpOwogICAgcmV0dXJuIGZuLmFwcGx5KC8qKiBAdHlwZSB7P30gKi8gKHRoaXMpLCBuZXdBcmdzKTsKICB9Owp9OwoKCi8qKgogKiBDb3BpZXMgYWxsIHRoZSBtZW1iZXJzIG9mIGEgc291cmNlIG9iamVjdCB0byBhIHRhcmdldCBvYmplY3QuIFRoaXMgbWV0aG9kCiAqIGRvZXMgbm90IHdvcmsgb24gYWxsIGJyb3dzZXJzIGZvciBhbGwgb2JqZWN0cyB0aGF0IGNvbnRhaW4ga2V5cyBzdWNoIGFzCiAqIHRvU3RyaW5nIG9yIGhhc093blByb3BlcnR5LiBVc2UgZ29vZy5vYmplY3QuZXh0ZW5kIGZvciB0aGlzIHB1cnBvc2UuCiAqCiAqIE5PVEU6IFNvbWUgaGF2ZSBhZHZvY2F0ZWQgZm9yIHRoZSB1c2Ugb2YgZ29vZy5taXhpbiB0byBzZXR1cCBjbGFzc2VzCiAqIHdpdGggbXVsdGlwbGUgaW5oZXJpdGVuY2UgKHRyYWl0cywgbWl4aW5zLCBldGMpLiAgSG93ZXZlciwgYXMgaXQgc2ltcGx5CiAqIHVzZXMgImZvciBpbiIsIHRoaXMgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBFUzYgY2xhc3NlcyB3aG9zZSBtZXRob2RzIGFyZQogKiBub24tZW51bWVyYWJsZS4gIENoYW5naW5nIHRoaXMsIHdvdWxkIGJyZWFrIGNhc2VzIHdoZXJlIG5vbi1lbnVtZXJhYmxlCiAqIHByb3BlcnRpZXMgYXJlIG5vdCBleHBlY3RlZC4KICoKICogQHBhcmFtIHtPYmplY3R9IHRhcmdldCBUYXJnZXQuCiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgU291cmNlLgogKiBAZGVwcmVjYXRlZCBQcmVmZXIgT2JqZWN0LmFzc2lnbgogKi8KZ29vZy5taXhpbiA9IGZ1bmN0aW9uKHRhcmdldCwgc291cmNlKSB7CiAgZm9yICh2YXIgeCBpbiBzb3VyY2UpIHsKICAgIHRhcmdldFt4XSA9IHNvdXJjZVt4XTsKICB9CgogIC8vIEZvciBJRTcgb3IgbG93ZXIsIHRoZSBmb3ItaW4tbG9vcCBkb2VzIG5vdCBjb250YWluIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlCiAgLy8gbm90IGVudW1lcmFibGUgb24gdGhlIHByb3RvdHlwZSBvYmplY3QgKGZvciBleGFtcGxlLCBpc1Byb3RvdHlwZU9mIGZyb20KICAvLyBPYmplY3QucHJvdG90eXBlKSBidXQgYWxzbyBpdCB3aWxsIG5vdCBpbmNsdWRlICdyZXBsYWNlJyBvbiBvYmplY3RzIHRoYXQKICAvLyBleHRlbmQgU3RyaW5nIGFuZCBjaGFuZ2UgJ3JlcGxhY2UnIChub3QgdGhhdCBpdCBpcyBjb21tb24gZm9yIGFueW9uZSB0bwogIC8vIGV4dGVuZCBhbnl0aGluZyBleGNlcHQgT2JqZWN0KS4KfTsKCgovKioKICogQHJldHVybiB7bnVtYmVyfSBBbiBpbnRlZ2VyIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcwogKiAgICAgYmV0d2VlbiBtaWRuaWdodCwgSmFudWFyeSAxLCAxOTcwIGFuZCB0aGUgY3VycmVudCB0aW1lLgogKiBAZGVwcmVjYXRlZCBVc2UgRGF0ZS5ub3cKICovCmdvb2cubm93ID0gKGdvb2cuVFJVU1RFRF9TSVRFICYmIERhdGUubm93KSB8fCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAvLyBVbmFyeSBwbHVzIG9wZXJhdG9yIGNvbnZlcnRzIGl0cyBvcGVyYW5kIHRvIGEgbnVtYmVyIHdoaWNoIGluCiAgICAgICAgICAgICAvLyB0aGUgY2FzZSBvZgogICAgICAgICAgICAgLy8gYSBkYXRlIGlzIGRvbmUgYnkgY2FsbGluZyBnZXRUaW1lKCkuCiAgICAgICAgICAgICByZXR1cm4gK25ldyBEYXRlKCk7CiAgICAgICAgICAgfSk7CgoKLyoqCiAqIEV2YWxzIEphdmFTY3JpcHQgaW4gdGhlIGdsb2JhbCBzY29wZS4gIEluIElFIHRoaXMgdXNlcyBleGVjU2NyaXB0LCBvdGhlcgogKiBicm93c2VycyB1c2UgZ29vZy5nbG9iYWwuZXZhbC4gSWYgZ29vZy5nbG9iYWwuZXZhbCBkb2VzIG5vdCBldmFsdWF0ZSBpbiB0aGUKICogZ2xvYmFsIHNjb3BlIChmb3IgZXhhbXBsZSwgaW4gU2FmYXJpKSwgYXBwZW5kcyBhIHNjcmlwdCB0YWcgaW5zdGVhZC4KICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiBuZWl0aGVyIGV4ZWNTY3JpcHQgb3IgZXZhbCBpcyBkZWZpbmVkLgogKiBAcGFyYW0ge3N0cmluZ30gc2NyaXB0IEphdmFTY3JpcHQgc3RyaW5nLgogKi8KZ29vZy5nbG9iYWxFdmFsID0gZnVuY3Rpb24oc2NyaXB0KSB7CiAgaWYgKGdvb2cuZ2xvYmFsLmV4ZWNTY3JpcHQpIHsKICAgIGdvb2cuZ2xvYmFsLmV4ZWNTY3JpcHQoc2NyaXB0LCAnSmF2YVNjcmlwdCcpOwogIH0gZWxzZSBpZiAoZ29vZy5nbG9iYWwuZXZhbCkgewogICAgLy8gVGVzdCB0byBzZWUgaWYgZXZhbCB3b3JrcwogICAgaWYgKGdvb2cuZXZhbFdvcmtzRm9yR2xvYmFsc18gPT0gbnVsbCkgewogICAgICB0cnkgewogICAgICAgIGdvb2cuZ2xvYmFsLmV2YWwoJ3ZhciBfZXZhbFRlc3RfID0gMTsnKTsKICAgICAgfSBjYXRjaCAoaWdub3JlKSB7CiAgICAgIH0KICAgICAgaWYgKHR5cGVvZiBnb29nLmdsb2JhbFsnX2V2YWxUZXN0XyddICE9ICd1bmRlZmluZWQnKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGRlbGV0ZSBnb29nLmdsb2JhbFsnX2V2YWxUZXN0XyddOwogICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkgewogICAgICAgICAgLy8gTWljcm9zb2Z0IGVkZ2UgZmFpbHMgdGhlIGRlbGV0aW9uIGFib3ZlIGluIHN0cmljdCBtb2RlLgogICAgICAgIH0KICAgICAgICBnb29nLmV2YWxXb3Jrc0Zvckdsb2JhbHNfID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBnb29nLmV2YWxXb3Jrc0Zvckdsb2JhbHNfID0gZmFsc2U7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoZ29vZy5ldmFsV29ya3NGb3JHbG9iYWxzXykgewogICAgICBnb29nLmdsb2JhbC5ldmFsKHNjcmlwdCk7CiAgICB9IGVsc2UgewogICAgICAvKiogQHR5cGUgeyFEb2N1bWVudH0gKi8KICAgICAgdmFyIGRvYyA9IGdvb2cuZ2xvYmFsLmRvY3VtZW50OwogICAgICB2YXIgc2NyaXB0RWx0ID0KICAgICAgICAgIC8qKiBAdHlwZSB7IUhUTUxTY3JpcHRFbGVtZW50fSAqLyAoZG9jLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKTsKICAgICAgc2NyaXB0RWx0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgc2NyaXB0RWx0LmRlZmVyID0gZmFsc2U7CiAgICAgIC8vIE5vdGUodXNlcik6IGNhbid0IHVzZSAuaW5uZXJIVE1MIHNpbmNlICJ0KCc8dGVzdD4nKSIgd2lsbCBmYWlsIGFuZAogICAgICAvLyAudGV4dCBkb2Vzbid0IHdvcmsgaW4gU2FmYXJpIDIuICBUaGVyZWZvcmUgd2UgYXBwZW5kIGEgdGV4dCBub2RlLgogICAgICBzY3JpcHRFbHQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZVRleHROb2RlKHNjcmlwdCkpOwogICAgICBkb2MuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHRFbHQpOwogICAgICBkb2MuaGVhZC5yZW1vdmVDaGlsZChzY3JpcHRFbHQpOwogICAgfQogIH0gZWxzZSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cuZ2xvYmFsRXZhbCBub3QgYXZhaWxhYmxlJyk7CiAgfQp9OwoKCi8qKgogKiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgd2UgY2FuIGNhbGwgJ2V2YWwnIGRpcmVjdGx5IHRvIGV2YWwgY29kZSBpbiB0aGUKICogZ2xvYmFsIHNjb3BlLiBTZXQgdG8gYSBCb29sZWFuIGJ5IHRoZSBmaXJzdCBjYWxsIHRvIGdvb2cuZ2xvYmFsRXZhbCAod2hpY2gKICogZW1waXJpY2FsbHkgdGVzdHMgd2hldGhlciBldmFsIHdvcmtzIGZvciBnbG9iYWxzKS4gQHNlZSBnb29nLmdsb2JhbEV2YWwKICogQHR5cGUgez9ib29sZWFufQogKiBAcHJpdmF0ZQogKi8KZ29vZy5ldmFsV29ya3NGb3JHbG9iYWxzXyA9IG51bGw7CgoKLyoqCiAqIE9wdGlvbmFsIG1hcCBvZiBDU1MgY2xhc3MgbmFtZXMgdG8gb2JmdXNjYXRlZCBuYW1lcyB1c2VkIHdpdGgKICogZ29vZy5nZXRDc3NOYW1lKCkuCiAqIEBwcml2YXRlIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPnx1bmRlZmluZWR9CiAqIEBzZWUgZ29vZy5zZXRDc3NOYW1lTWFwcGluZwogKi8KZ29vZy5jc3NOYW1lTWFwcGluZ187CgoKLyoqCiAqIE9wdGlvbmFsIG9iZnVzY2F0aW9uIHN0eWxlIGZvciBDU1MgY2xhc3MgbmFtZXMuIFNob3VsZCBiZSBzZXQgdG8gZWl0aGVyCiAqICdCWV9XSE9MRScgb3IgJ0JZX1BBUlQnIGlmIGRlZmluZWQuCiAqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfQogKiBAcHJpdmF0ZQogKiBAc2VlIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcKICovCmdvb2cuY3NzTmFtZU1hcHBpbmdTdHlsZV87CgoKCi8qKgogKiBBIGhvb2sgZm9yIG1vZGlmeWluZyB0aGUgZGVmYXVsdCBiZWhhdmlvciBnb29nLmdldENzc05hbWUuIFRoZSBmdW5jdGlvbgogKiBpZiBwcmVzZW50LCB3aWxsIHJlY2VpdmUgdGhlIHN0YW5kYXJkIG91dHB1dCBvZiB0aGUgZ29vZy5nZXRDc3NOYW1lIGFzCiAqIGl0cyBpbnB1dC4KICoKICogQHR5cGUgeyhmdW5jdGlvbihzdHJpbmcpOnN0cmluZyl8dW5kZWZpbmVkfQogKi8KZ29vZy5nbG9iYWwuQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk47CgoKLyoqCiAqIEhhbmRsZXMgc3RyaW5ncyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIENTUyBjbGFzcyBuYW1lcy4KICoKICogVGhpcyBmdW5jdGlvbiB3b3JrcyBpbiB0YW5kZW0gd2l0aCBAc2VlIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcuCiAqCiAqIFdpdGhvdXQgYW55IG1hcHBpbmcgc2V0LCB0aGUgYXJndW1lbnRzIGFyZSBzaW1wbGUgam9pbmVkIHdpdGggYSBoeXBoZW4gYW5kCiAqIHBhc3NlZCB0aHJvdWdoIHVuYWx0ZXJlZC4KICoKICogV2hlbiB0aGVyZSBpcyBhIG1hcHBpbmcsIHRoZXJlIGFyZSB0d28gcG9zc2libGUgc3R5bGVzIGluIHdoaWNoIHRoZXNlCiAqIG1hcHBpbmdzIGFyZSB1c2VkLiBJbiB0aGUgQllfUEFSVCBzdHlsZSwgZWFjaCBwYXJ0IChpLmUuIGluIGJldHdlZW4gaHlwaGVucykKICogb2YgdGhlIHBhc3NlZCBpbiBjc3MgbmFtZSBpcyByZXdyaXR0ZW4gYWNjb3JkaW5nIHRvIHRoZSBtYXAuIEluIHRoZSBCWV9XSE9MRQogKiBzdHlsZSwgdGhlIGZ1bGwgY3NzIG5hbWUgaXMgbG9va2VkIHVwIGluIHRoZSBtYXAgZGlyZWN0bHkuIElmIGEgcmV3cml0ZSBpcwogKiBub3Qgc3BlY2lmaWVkIGJ5IHRoZSBtYXAsIHRoZSBjb21waWxlciB3aWxsIG91dHB1dCBhIHdhcm5pbmcuCiAqCiAqIFdoZW4gdGhlIG1hcHBpbmcgaXMgcGFzc2VkIHRvIHRoZSBjb21waWxlciwgaXQgd2lsbCByZXBsYWNlIGNhbGxzIHRvCiAqIGdvb2cuZ2V0Q3NzTmFtZSB3aXRoIHRoZSBzdHJpbmdzIGZyb20gdGhlIG1hcHBpbmcsIGUuZy4KICogICAgIHZhciB4ID0gZ29vZy5nZXRDc3NOYW1lKCdmb28nKTsKICogICAgIHZhciB5ID0gZ29vZy5nZXRDc3NOYW1lKHRoaXMuYmFzZUNsYXNzLCAnYWN0aXZlJyk7CiAqICBiZWNvbWVzOgogKiAgICAgdmFyIHggPSAnZm9vJzsKICogICAgIHZhciB5ID0gdGhpcy5iYXNlQ2xhc3MgKyAnLWFjdGl2ZSc7CiAqCiAqIElmIG9uZSBhcmd1bWVudCBpcyBwYXNzZWQgaXQgd2lsbCBiZSBwcm9jZXNzZWQsIGlmIHR3byBhcmUgcGFzc2VkIG9ubHkgdGhlCiAqIG1vZGlmaWVyIHdpbGwgYmUgcHJvY2Vzc2VkLCBhcyBpdCBpcyBhc3N1bWVkIHRoZSBmaXJzdCBhcmd1bWVudCB3YXMgZ2VuZXJhdGVkCiAqIGFzIGEgcmVzdWx0IG9mIGNhbGxpbmcgZ29vZy5nZXRDc3NOYW1lLgogKgogKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lIFRoZSBjbGFzcyBuYW1lLgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9tb2RpZmllciBBIG1vZGlmaWVyIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBjbGFzcyBuYW1lLgogKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjbGFzcyBuYW1lIG9yIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBjbGFzcyBuYW1lIGFuZAogKiAgICAgdGhlIG1vZGlmaWVyLgogKi8KZ29vZy5nZXRDc3NOYW1lID0gZnVuY3Rpb24oY2xhc3NOYW1lLCBvcHRfbW9kaWZpZXIpIHsKICAvLyBTdHJpbmcoKSBpcyB1c2VkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggY29tcGlsZWQgc295IHdoZXJlIHRoZSBwYXNzZWQKICAvLyBjbGFzc05hbWUgY2FuIGJlIG5vbi1zdHJpbmcgb2JqZWN0cy4KICBpZiAoU3RyaW5nKGNsYXNzTmFtZSkuY2hhckF0KDApID09ICcuJykgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdjbGFzc05hbWUgcGFzc2VkIGluIGdvb2cuZ2V0Q3NzTmFtZSBtdXN0IG5vdCBzdGFydCB3aXRoICIuIi4nICsKICAgICAgICAnIFlvdSBwYXNzZWQ6ICcgKyBjbGFzc05hbWUpOwogIH0KCiAgdmFyIGdldE1hcHBpbmcgPSBmdW5jdGlvbihjc3NOYW1lKSB7CiAgICByZXR1cm4gZ29vZy5jc3NOYW1lTWFwcGluZ19bY3NzTmFtZV0gfHwgY3NzTmFtZTsKICB9OwoKICB2YXIgcmVuYW1lQnlQYXJ0cyA9IGZ1bmN0aW9uKGNzc05hbWUpIHsKICAgIC8vIFJlbWFwIGFsbCB0aGUgcGFydHMgaW5kaXZpZHVhbGx5LgogICAgdmFyIHBhcnRzID0gY3NzTmFtZS5zcGxpdCgnLScpOwogICAgdmFyIG1hcHBlZCA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewogICAgICBtYXBwZWQucHVzaChnZXRNYXBwaW5nKHBhcnRzW2ldKSk7CiAgICB9CiAgICByZXR1cm4gbWFwcGVkLmpvaW4oJy0nKTsKICB9OwoKICB2YXIgcmVuYW1lOwogIGlmIChnb29nLmNzc05hbWVNYXBwaW5nXykgewogICAgcmVuYW1lID0KICAgICAgICBnb29nLmNzc05hbWVNYXBwaW5nU3R5bGVfID09ICdCWV9XSE9MRScgPyBnZXRNYXBwaW5nIDogcmVuYW1lQnlQYXJ0czsKICB9IGVsc2UgewogICAgcmVuYW1lID0gZnVuY3Rpb24oYSkgewogICAgICByZXR1cm4gYTsKICAgIH07CiAgfQoKICB2YXIgcmVzdWx0ID0KICAgICAgb3B0X21vZGlmaWVyID8gY2xhc3NOYW1lICsgJy0nICsgcmVuYW1lKG9wdF9tb2RpZmllcikgOiByZW5hbWUoY2xhc3NOYW1lKTsKCiAgLy8gVGhlIHNwZWNpYWwgQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk4gYWxsb3dzIHVzZXJzIHRvIHNwZWNpZnkgZnVydGhlcgogIC8vIHByb2Nlc3Npbmcgb2YgdGhlIGNsYXNzIG5hbWUuCiAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfQ1NTX05BTUVfTUFQX0ZOKSB7CiAgICByZXR1cm4gZ29vZy5nbG9iYWwuQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk4ocmVzdWx0KTsKICB9CgogIHJldHVybiByZXN1bHQ7Cn07CgoKLyoqCiAqIFNldHMgdGhlIG1hcCB0byBjaGVjayB3aGVuIHJldHVybmluZyBhIHZhbHVlIGZyb20gZ29vZy5nZXRDc3NOYW1lKCkuIEV4YW1wbGU6CiAqIDxwcmU+CiAqIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcoewogKiAgICJnb29nIjogImEiLAogKiAgICJkaXNhYmxlZCI6ICJiIiwKICogfSk7CiAqCiAqIHZhciB4ID0gZ29vZy5nZXRDc3NOYW1lKCdnb29nJyk7CiAqIC8vIFRoZSBmb2xsb3dpbmcgZXZhbHVhdGVzIHRvOiAiYSBhLWIiLgogKiBnb29nLmdldENzc05hbWUoJ2dvb2cnKSArICcgJyArIGdvb2cuZ2V0Q3NzTmFtZSh4LCAnZGlzYWJsZWQnKQogKiA8L3ByZT4KICogV2hlbiBkZWNsYXJlZCBhcyBhIG1hcCBvZiBzdHJpbmcgbGl0ZXJhbHMgdG8gc3RyaW5nIGxpdGVyYWxzLCB0aGUgSlNDb21waWxlcgogKiB3aWxsIHJlcGxhY2UgYWxsIGNhbGxzIHRvIGdvb2cuZ2V0Q3NzTmFtZSgpIHVzaW5nIHRoZSBzdXBwbGllZCBtYXAgaWYgdGhlCiAqIC0tcHJvY2Vzc19jbG9zdXJlX3ByaW1pdGl2ZXMgZmxhZyBpcyBzZXQuCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gbWFwcGluZyBBIG1hcCBvZiBzdHJpbmdzIHRvIHN0cmluZ3Mgd2hlcmUga2V5cyBhcmUgcG9zc2libGUKICogICAgIGFyZ3VtZW50cyB0byBnb29nLmdldENzc05hbWUoKSBhbmQgdmFsdWVzIGFyZSB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZXMKICogICAgIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9zdHlsZSBUaGUgc3R5bGUgb2YgY3NzIG5hbWUgbWFwcGluZy4gVGhlcmUgYXJlIHR3byB2YWxpZAogKiAgICAgb3B0aW9uczogJ0JZX1BBUlQnLCBhbmQgJ0JZX1dIT0xFJy4KICogQHNlZSBnb29nLmdldENzc05hbWUgZm9yIGEgZGVzY3JpcHRpb24uCiAqLwpnb29nLnNldENzc05hbWVNYXBwaW5nID0gZnVuY3Rpb24obWFwcGluZywgb3B0X3N0eWxlKSB7CiAgZ29vZy5jc3NOYW1lTWFwcGluZ18gPSBtYXBwaW5nOwogIGdvb2cuY3NzTmFtZU1hcHBpbmdTdHlsZV8gPSBvcHRfc3R5bGU7Cn07CgoKLyoqCiAqIFRvIHVzZSBDU1MgcmVuYW1pbmcgaW4gY29tcGlsZWQgbW9kZSwgb25lIG9mIHRoZSBpbnB1dCBmaWxlcyBzaG91bGQgaGF2ZSBhCiAqIGNhbGwgdG8gZ29vZy5zZXRDc3NOYW1lTWFwcGluZygpIHdpdGggYW4gb2JqZWN0IGxpdGVyYWwgdGhhdCB0aGUgSlNDb21waWxlcgogKiBjYW4gZXh0cmFjdCBhbmQgdXNlIHRvIHJlcGxhY2UgYWxsIGNhbGxzIHRvIGdvb2cuZ2V0Q3NzTmFtZSgpLiBJbiB1bmNvbXBpbGVkCiAqIG1vZGUsIEphdmFTY3JpcHQgY29kZSBzaG91bGQgYmUgbG9hZGVkIGJlZm9yZSB0aGlzIGJhc2UuanMgZmlsZSB0aGF0IGRlY2xhcmVzCiAqIGEgZ2xvYmFsIHZhcmlhYmxlLCBDTE9TVVJFX0NTU19OQU1FX01BUFBJTkcsIHdoaWNoIGlzIHVzZWQgYmVsb3cuIFRoaXMgaXMKICogdG8gZW5zdXJlIHRoYXQgdGhlIG1hcHBpbmcgaXMgbG9hZGVkIGJlZm9yZSBhbnkgY2FsbHMgdG8gZ29vZy5nZXRDc3NOYW1lKCkKICogYXJlIG1hZGUgaW4gdW5jb21waWxlZCBtb2RlLgogKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIENTUyBuYW1lIG1hcHBpbmcuCiAqIEB0eXBlIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPnx1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0NTU19OQU1FX01BUFBJTkc7CgoKaWYgKCFDT01QSUxFRCAmJiBnb29nLmdsb2JhbC5DTE9TVVJFX0NTU19OQU1FX01BUFBJTkcpIHsKICAvLyBUaGlzIGRvZXMgbm90IGNhbGwgZ29vZy5zZXRDc3NOYW1lTWFwcGluZygpIGJlY2F1c2UgdGhlIEpTQ29tcGlsZXIKICAvLyByZXF1aXJlcyB0aGF0IGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcoKSBiZSBjYWxsZWQgd2l0aCBhbiBvYmplY3QgbGl0ZXJhbC4KICBnb29nLmNzc05hbWVNYXBwaW5nXyA9IGdvb2cuZ2xvYmFsLkNMT1NVUkVfQ1NTX05BTUVfTUFQUElORzsKfQoKCi8qKgogKiBHZXRzIGEgbG9jYWxpemVkIG1lc3NhZ2UuCiAqCiAqIFRoaXMgZnVuY3Rpb24gaXMgYSBjb21waWxlciBwcmltaXRpdmUuIElmIHlvdSBnaXZlIHRoZSBjb21waWxlciBhIGxvY2FsaXplZAogKiBtZXNzYWdlIGJ1bmRsZSwgaXQgd2lsbCByZXBsYWNlIHRoZSBzdHJpbmcgYXQgY29tcGlsZS10aW1lIHdpdGggYSBsb2NhbGl6ZWQKICogdmVyc2lvbiwgYW5kIGV4cGFuZCBnb29nLmdldE1zZyBjYWxsIHRvIGEgY29uY2F0ZW5hdGVkIHN0cmluZy4KICoKICogTWVzc2FnZXMgbXVzdCBiZSBpbml0aWFsaXplZCBpbiB0aGUgZm9ybToKICogPGNvZGU+CiAqIHZhciBNU0dfTkFNRSA9IGdvb2cuZ2V0TXNnKCdIZWxsbyB7JHBsYWNlaG9sZGVyfScsIHsncGxhY2Vob2xkZXInOiAnd29ybGQnfSk7CiAqIDwvY29kZT4KICoKICogVGhpcyBmdW5jdGlvbiBwcm9kdWNlcyBhIHN0cmluZyB3aGljaCBzaG91bGQgYmUgdHJlYXRlZCBhcyBwbGFpbiB0ZXh0LiBVc2UKICoge0BsaW5rIGdvb2cuaHRtbC5TYWZlSHRtbEZvcm1hdHRlcn0gaW4gY29uanVuY3Rpb24gd2l0aCBnb29nLmdldE1zZyB0bwogKiBwcm9kdWNlIFNhZmVIdG1sLgogKgogKiBAcGFyYW0ge3N0cmluZ30gc3RyIFRyYW5zbGF0YWJsZSBzdHJpbmcsIHBsYWNlcyBob2xkZXJzIGluIHRoZSBmb3JtIHskZm9vfS4KICogQHBhcmFtIHtPYmplY3Q8c3RyaW5nLCBzdHJpbmc+PX0gb3B0X3ZhbHVlcyBNYXBzIHBsYWNlIGhvbGRlciBuYW1lIHRvIHZhbHVlLgogKiBAcGFyYW0ge3todG1sOiBib29sZWFufT19IG9wdF9vcHRpb25zIE9wdGlvbnM6CiAqICAgICBodG1sOiBFc2NhcGUgJzwnIGluIHN0ciB0byAnJmx0OycuIFVzZWQgYnkgQ2xvc3VyZSBUZW1wbGF0ZXMgd2hlcmUgdGhlCiAqICAgICBnZW5lcmF0ZWQgY29kZSBzaXplIGFuZCBwZXJmb3JtYW5jZSBpcyBjcml0aWNhbCB3aGljaCBpcyB3aHkge0BsaW5rCiAqICAgICBnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXJ9IGlzIG5vdCB1c2VkLiBUaGUgdmFsdWUgbXVzdCBiZSBsaXRlcmFsIHRydWUKICogICAgIG9yIGZhbHNlLgogKiBAcmV0dXJuIHtzdHJpbmd9IG1lc3NhZ2Ugd2l0aCBwbGFjZWhvbGRlcnMgZmlsbGVkLgogKi8KZ29vZy5nZXRNc2cgPSBmdW5jdGlvbihzdHIsIG9wdF92YWx1ZXMsIG9wdF9vcHRpb25zKSB7CiAgaWYgKG9wdF9vcHRpb25zICYmIG9wdF9vcHRpb25zLmh0bWwpIHsKICAgIC8vIE5vdGUgdGhhdCAnJicgaXMgbm90IHJlcGxhY2VkIGJlY2F1c2UgdGhlIHRyYW5zbGF0aW9uIGNhbiBjb250YWluIEhUTUwKICAgIC8vIGVudGl0aWVzLgogICAgc3RyID0gc3RyLnJlcGxhY2UoLzwvZywgJyZsdDsnKTsKICB9CiAgaWYgKG9wdF92YWx1ZXMpIHsKICAgIHN0ciA9IHN0ci5yZXBsYWNlKC9ce1wkKFtefV0rKX0vZywgZnVuY3Rpb24obWF0Y2gsIGtleSkgewogICAgICByZXR1cm4gKG9wdF92YWx1ZXMgIT0gbnVsbCAmJiBrZXkgaW4gb3B0X3ZhbHVlcykgPyBvcHRfdmFsdWVzW2tleV0gOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDsKICAgIH0pOwogIH0KICByZXR1cm4gc3RyOwp9OwoKCi8qKgogKiBHZXRzIGEgbG9jYWxpemVkIG1lc3NhZ2UuIElmIHRoZSBtZXNzYWdlIGRvZXMgbm90IGhhdmUgYSB0cmFuc2xhdGlvbiwgZ2l2ZXMgYQogKiBmYWxsYmFjayBtZXNzYWdlLgogKgogKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGludHJvZHVjaW5nIGEgbmV3IG1lc3NhZ2UgdGhhdCBoYXMgbm90IHlldCBiZWVuCiAqIHRyYW5zbGF0ZWQgaW50byBhbGwgbGFuZ3VhZ2VzLgogKgogKiBUaGlzIGZ1bmN0aW9uIGlzIGEgY29tcGlsZXIgcHJpbWl0aXZlLiBNdXN0IGJlIHVzZWQgaW4gdGhlIGZvcm06CiAqIDxjb2RlPnZhciB4ID0gZ29vZy5nZXRNc2dXaXRoRmFsbGJhY2soTVNHX0EsIE1TR19CKTs8L2NvZGU+CiAqIHdoZXJlIE1TR19BIGFuZCBNU0dfQiB3ZXJlIGluaXRpYWxpemVkIHdpdGggZ29vZy5nZXRNc2cuCiAqCiAqIEBwYXJhbSB7c3RyaW5nfSBhIFRoZSBwcmVmZXJyZWQgbWVzc2FnZS4KICogQHBhcmFtIHtzdHJpbmd9IGIgVGhlIGZhbGxiYWNrIG1lc3NhZ2UuCiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGJlc3QgdHJhbnNsYXRlZCBtZXNzYWdlLgogKi8KZ29vZy5nZXRNc2dXaXRoRmFsbGJhY2sgPSBmdW5jdGlvbihhLCBiKSB7CiAgcmV0dXJuIGE7Cn07CgoKLyoqCiAqIEV4cG9zZXMgYW4gdW5vYmZ1c2NhdGVkIGdsb2JhbCBuYW1lc3BhY2UgcGF0aCBmb3IgdGhlIGdpdmVuIG9iamVjdC4KICogTm90ZSB0aGF0IGZpZWxkcyBvZiB0aGUgZXhwb3J0ZWQgb2JqZWN0ICp3aWxsKiBiZSBvYmZ1c2NhdGVkLCB1bmxlc3MgdGhleSBhcmUKICogZXhwb3J0ZWQgaW4gdHVybiB2aWEgdGhpcyBmdW5jdGlvbiBvciBnb29nLmV4cG9ydFByb3BlcnR5LgogKgogKiBBbHNvIGhhbmR5IGZvciBtYWtpbmcgcHVibGljIGl0ZW1zIHRoYXQgYXJlIGRlZmluZWQgaW4gYW5vbnltb3VzIGNsb3N1cmVzLgogKgogKiBleC4gZ29vZy5leHBvcnRTeW1ib2woJ3B1YmxpYy5wYXRoLkZvbycsIEZvbyk7CiAqCiAqIGV4LiBnb29nLmV4cG9ydFN5bWJvbCgncHVibGljLnBhdGguRm9vLnN0YXRpY0Z1bmN0aW9uJywgRm9vLnN0YXRpY0Z1bmN0aW9uKTsKICogICAgIHB1YmxpYy5wYXRoLkZvby5zdGF0aWNGdW5jdGlvbigpOwogKgogKiBleC4gZ29vZy5leHBvcnRTeW1ib2woJ3B1YmxpYy5wYXRoLkZvby5wcm90b3R5cGUubXlNZXRob2QnLAogKiAgICAgICAgICAgICAgICAgICAgICAgRm9vLnByb3RvdHlwZS5teU1ldGhvZCk7CiAqICAgICBuZXcgcHVibGljLnBhdGguRm9vKCkubXlNZXRob2QoKTsKICoKICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY1BhdGggVW5vYmZ1c2NhdGVkIG5hbWUgdG8gZXhwb3J0LgogKiBAcGFyYW0geyp9IG9iamVjdCBPYmplY3QgdGhlIG5hbWUgc2hvdWxkIHBvaW50IHRvLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmplY3RUb0V4cG9ydFRvIFRoZSBvYmplY3QgdG8gYWRkIHRoZSBwYXRoIHRvOyBkZWZhdWx0CiAqICAgICBpcyBnb29nLmdsb2JhbC4KICovCmdvb2cuZXhwb3J0U3ltYm9sID0gZnVuY3Rpb24ocHVibGljUGF0aCwgb2JqZWN0LCBvcHRfb2JqZWN0VG9FeHBvcnRUbykgewogIGdvb2cuZXhwb3J0UGF0aF8ocHVibGljUGF0aCwgb2JqZWN0LCBvcHRfb2JqZWN0VG9FeHBvcnRUbyk7Cn07CgoKLyoqCiAqIEV4cG9ydHMgYSBwcm9wZXJ0eSB1bm9iZnVzY2F0ZWQgaW50byB0aGUgb2JqZWN0J3MgbmFtZXNwYWNlLgogKiBleC4gZ29vZy5leHBvcnRQcm9wZXJ0eShGb28sICdzdGF0aWNGdW5jdGlvbicsIEZvby5zdGF0aWNGdW5jdGlvbik7CiAqIGV4LiBnb29nLmV4cG9ydFByb3BlcnR5KEZvby5wcm90b3R5cGUsICdteU1ldGhvZCcsIEZvby5wcm90b3R5cGUubXlNZXRob2QpOwogKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IE9iamVjdCB3aG9zZSBzdGF0aWMgcHJvcGVydHkgaXMgYmVpbmcgZXhwb3J0ZWQuCiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNOYW1lIFVub2JmdXNjYXRlZCBuYW1lIHRvIGV4cG9ydC4KICogQHBhcmFtIHsqfSBzeW1ib2wgT2JqZWN0IHRoZSBuYW1lIHNob3VsZCBwb2ludCB0by4KICovCmdvb2cuZXhwb3J0UHJvcGVydHkgPSBmdW5jdGlvbihvYmplY3QsIHB1YmxpY05hbWUsIHN5bWJvbCkgewogIG9iamVjdFtwdWJsaWNOYW1lXSA9IHN5bWJvbDsKfTsKCgovKioKICogSW5oZXJpdCB0aGUgcHJvdG90eXBlIG1ldGhvZHMgZnJvbSBvbmUgY29uc3RydWN0b3IgaW50byBhbm90aGVyLgogKgogKiBVc2FnZToKICogPHByZT4KICogZnVuY3Rpb24gUGFyZW50Q2xhc3MoYSwgYikgeyB9CiAqIFBhcmVudENsYXNzLnByb3RvdHlwZS5mb28gPSBmdW5jdGlvbihhKSB7IH07CiAqCiAqIGZ1bmN0aW9uIENoaWxkQ2xhc3MoYSwgYiwgYykgewogKiAgIENoaWxkQ2xhc3MuYmFzZSh0aGlzLCAnY29uc3RydWN0b3InLCBhLCBiKTsKICogfQogKiBnb29nLmluaGVyaXRzKENoaWxkQ2xhc3MsIFBhcmVudENsYXNzKTsKICoKICogdmFyIGNoaWxkID0gbmV3IENoaWxkQ2xhc3MoJ2EnLCAnYicsICdzZWUnKTsKICogY2hpbGQuZm9vKCk7IC8vIFRoaXMgd29ya3MuCiAqIDwvcHJlPgogKgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY2hpbGRDdG9yIENoaWxkIGNsYXNzLgogKiBAcGFyYW0geyFGdW5jdGlvbn0gcGFyZW50Q3RvciBQYXJlbnQgY2xhc3MuCiAqIEBzdXBwcmVzcyB7c3RyaWN0TWlzc2luZ1Byb3BlcnRpZXN9IHN1cGVyQ2xhc3NfIGFuZCBiYXNlIGlzIG5vdCBkZWZpbmVkIG9uCiAqICAgIEZ1bmN0aW9uLgogKi8KZ29vZy5pbmhlcml0cyA9IGZ1bmN0aW9uKGNoaWxkQ3RvciwgcGFyZW50Q3RvcikgewogIC8qKiBAY29uc3RydWN0b3IgKi8KICBmdW5jdGlvbiB0ZW1wQ3RvcigpIHt9CiAgdGVtcEN0b3IucHJvdG90eXBlID0gcGFyZW50Q3Rvci5wcm90b3R5cGU7CiAgY2hpbGRDdG9yLnN1cGVyQ2xhc3NfID0gcGFyZW50Q3Rvci5wcm90b3R5cGU7CiAgY2hpbGRDdG9yLnByb3RvdHlwZSA9IG5ldyB0ZW1wQ3RvcigpOwogIC8qKiBAb3ZlcnJpZGUgKi8KICBjaGlsZEN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY2hpbGRDdG9yOwoKICAvKioKICAgKiBDYWxscyBzdXBlcmNsYXNzIGNvbnN0cnVjdG9yL21ldGhvZC4KICAgKgogICAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhdmFpbGFibGUgaWYgeW91IHVzZSBnb29nLmluaGVyaXRzIHRvCiAgICogZXhwcmVzcyBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gY2xhc3Nlcy4KICAgKgogICAqIE5PVEU6IFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgZ29vZy5iYXNlIGFuZCBmb3Igc3VwZXJDbGFzc18KICAgKiBwcm9wZXJ0eSBkZWZpbmVkIGluIGNoaWxkQ3Rvci4KICAgKgogICAqIEBwYXJhbSB7IU9iamVjdH0gbWUgU2hvdWxkIGFsd2F5cyBiZSAidGhpcyIuCiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgVGhlIG1ldGhvZCBuYW1lIHRvIGNhbGwuIENhbGxpbmcKICAgKiAgICAgc3VwZXJjbGFzcyBjb25zdHJ1Y3RvciBjYW4gYmUgZG9uZSB3aXRoIHRoZSBzcGVjaWFsIHN0cmluZwogICAqICAgICAnY29uc3RydWN0b3InLgogICAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIHN1cGVyY2xhc3MKICAgKiAgICAgbWV0aG9kL2NvbnN0cnVjdG9yLgogICAqIEByZXR1cm4geyp9IFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHN1cGVyY2xhc3MgbWV0aG9kL2NvbnN0cnVjdG9yLgogICAqLwogIGNoaWxkQ3Rvci5iYXNlID0gZnVuY3Rpb24obWUsIG1ldGhvZE5hbWUsIHZhcl9hcmdzKSB7CiAgICAvLyBDb3B5aW5nIHVzaW5nIGxvb3AgdG8gYXZvaWQgZGVvcCBkdWUgdG8gcGFzc2luZyBhcmd1bWVudHMgb2JqZWN0IHRvCiAgICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAyKTsKICAgIGZvciAodmFyIGkgPSAyOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGFyZ3NbaSAtIDJdID0gYXJndW1lbnRzW2ldOwogICAgfQogICAgcmV0dXJuIHBhcmVudEN0b3IucHJvdG90eXBlW21ldGhvZE5hbWVdLmFwcGx5KG1lLCBhcmdzKTsKICB9Owp9OwoKCi8qKgogKiBDYWxsIHVwIHRvIHRoZSBzdXBlcmNsYXNzLgogKgogKiBJZiB0aGlzIGlzIGNhbGxlZCBmcm9tIGEgY29uc3RydWN0b3IsIHRoZW4gdGhpcyBjYWxscyB0aGUgc3VwZXJjbGFzcwogKiBjb25zdHJ1Y3RvciB3aXRoIGFyZ3VtZW50cyAxLU4uCiAqCiAqIElmIHRoaXMgaXMgY2FsbGVkIGZyb20gYSBwcm90b3R5cGUgbWV0aG9kLCB0aGVuIHlvdSBtdXN0IHBhc3MgdGhlIG5hbWUgb2YgdGhlCiAqIG1ldGhvZCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRoaXMgZnVuY3Rpb24uIElmIHlvdSBkbyBub3QsIHlvdSB3aWxsIGdldCBhCiAqIHJ1bnRpbWUgZXJyb3IuIFRoaXMgY2FsbHMgdGhlIHN1cGVyY2xhc3MnIG1ldGhvZCB3aXRoIGFyZ3VtZW50cyAyLU4uCiAqCiAqIFRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBpZiB5b3UgdXNlIGdvb2cuaW5oZXJpdHMgdG8gZXhwcmVzcyBpbmhlcml0YW5jZQogKiByZWxhdGlvbnNoaXBzIGJldHdlZW4geW91ciBjbGFzc2VzLgogKgogKiBUaGlzIGZ1bmN0aW9uIGlzIGEgY29tcGlsZXIgcHJpbWl0aXZlLiBBdCBjb21waWxlLXRpbWUsIHRoZSBjb21waWxlciB3aWxsIGRvCiAqIG1hY3JvIGV4cGFuc2lvbiB0byByZW1vdmUgYSBsb3Qgb2YgdGhlIGV4dHJhIG92ZXJoZWFkIHRoYXQgdGhpcyBmdW5jdGlvbgogKiBpbnRyb2R1Y2VzLiBUaGUgY29tcGlsZXIgd2lsbCBhbHNvIGVuZm9yY2UgYSBsb3Qgb2YgdGhlIGFzc3VtcHRpb25zIHRoYXQgdGhpcwogKiBmdW5jdGlvbiBtYWtlcywgYW5kIHRyZWF0IGl0IGFzIGEgY29tcGlsZXIgZXJyb3IgaWYgeW91IGJyZWFrIHRoZW0uCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gbWUgU2hvdWxkIGFsd2F5cyBiZSAidGhpcyIuCiAqIEBwYXJhbSB7Kj19IG9wdF9tZXRob2ROYW1lIFRoZSBtZXRob2QgbmFtZSBpZiBjYWxsaW5nIGEgc3VwZXIgbWV0aG9kLgogKiBAcGFyYW0gey4uLip9IHZhcl9hcmdzIFRoZSByZXN0IG9mIHRoZSBhcmd1bWVudHMuCiAqIEByZXR1cm4geyp9IFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHN1cGVyY2xhc3MgbWV0aG9kLgogKiBAc3VwcHJlc3Mge2VzNVN0cmljdH0gVGhpcyBtZXRob2QgY2FuIG5vdCBiZSB1c2VkIGluIHN0cmljdCBtb2RlLCBidXQKICogICAgIGFsbCBDbG9zdXJlIExpYnJhcnkgY29uc3VtZXJzIG11c3QgZGVwZW5kIG9uIHRoaXMgZmlsZS4KICogQGRlcHJlY2F0ZWQgZ29vZy5iYXNlIGlzIG5vdCBzdHJpY3QgbW9kZSBjb21wYXRpYmxlLiAgUHJlZmVyIHRoZSBzdGF0aWMKICogICAgICJiYXNlIiBtZXRob2QgYWRkZWQgdG8gdGhlIGNvbnN0cnVjdG9yIGJ5IGdvb2cuaW5oZXJpdHMKICogICAgIG9yIEVTNiBjbGFzc2VzIGFuZCB0aGUgInN1cGVyIiBrZXl3b3JkLgogKi8KZ29vZy5iYXNlID0gZnVuY3Rpb24obWUsIG9wdF9tZXRob2ROYW1lLCB2YXJfYXJncykgewogIHZhciBjYWxsZXIgPSBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcjsKCiAgaWYgKGdvb2cuU1RSSUNUX01PREVfQ09NUEFUSUJMRSB8fCAoZ29vZy5ERUJVRyAmJiAhY2FsbGVyKSkgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdhcmd1bWVudHMuY2FsbGVyIG5vdCBkZWZpbmVkLiAgZ29vZy5iYXNlKCkgY2Fubm90IGJlIHVzZWQgJyArCiAgICAgICAgJ3dpdGggc3RyaWN0IG1vZGUgY29kZS4gU2VlICcgKwogICAgICAgICdodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNS4xLyNzZWMtQycpOwogIH0KCiAgaWYgKHR5cGVvZiBjYWxsZXIuc3VwZXJDbGFzc18gIT09ICd1bmRlZmluZWQnKSB7CiAgICAvLyBDb3B5aW5nIHVzaW5nIGxvb3AgdG8gYXZvaWQgZGVvcCBkdWUgdG8gcGFzc2luZyBhcmd1bWVudHMgb2JqZWN0IHRvCiAgICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICAgIHZhciBjdG9yQXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7CiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBjdG9yQXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07CiAgICB9CiAgICAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IuIENhbGwgdGhlIHN1cGVyY2xhc3MgY29uc3RydWN0b3IuCiAgICByZXR1cm4gLyoqIEB0eXBlIHshRnVuY3Rpb259ICovIChjYWxsZXIuc3VwZXJDbGFzc18pCiAgICAgICAgLmNvbnN0cnVjdG9yLmFwcGx5KG1lLCBjdG9yQXJncyk7CiAgfQoKICBpZiAodHlwZW9mIG9wdF9tZXRob2ROYW1lICE9ICdzdHJpbmcnICYmIHR5cGVvZiBvcHRfbWV0aG9kTmFtZSAhPSAnc3ltYm9sJykgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdtZXRob2QgbmFtZXMgcHJvdmlkZWQgdG8gZ29vZy5iYXNlIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBzeW1ib2wnKTsKICB9CgogIC8vIENvcHlpbmcgdXNpbmcgbG9vcCB0byBhdm9pZCBkZW9wIGR1ZSB0byBwYXNzaW5nIGFyZ3VtZW50cyBvYmplY3QgdG8KICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMik7CiAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgIGFyZ3NbaSAtIDJdID0gYXJndW1lbnRzW2ldOwogIH0KICB2YXIgZm91bmRDYWxsZXIgPSBmYWxzZTsKICBmb3IgKHZhciBwcm90byA9IG1lLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsgcHJvdG87CiAgICAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90bykpIHsKICAgIGlmIChwcm90b1tvcHRfbWV0aG9kTmFtZV0gPT09IGNhbGxlcikgewogICAgICBmb3VuZENhbGxlciA9IHRydWU7CiAgICB9IGVsc2UgaWYgKGZvdW5kQ2FsbGVyKSB7CiAgICAgIHJldHVybiBwcm90b1tvcHRfbWV0aG9kTmFtZV0uYXBwbHkobWUsIGFyZ3MpOwogICAgfQogIH0KCiAgLy8gSWYgd2UgZGlkIG5vdCBmaW5kIHRoZSBjYWxsZXIgaW4gdGhlIHByb3RvdHlwZSBjaGFpbiwgdGhlbiBvbmUgb2YgdHdvCiAgLy8gdGhpbmdzIGhhcHBlbmVkOgogIC8vIDEpIFRoZSBjYWxsZXIgaXMgYW4gaW5zdGFuY2UgbWV0aG9kLgogIC8vIDIpIFRoaXMgbWV0aG9kIHdhcyBub3QgY2FsbGVkIGJ5IHRoZSByaWdodCBjYWxsZXIuCiAgaWYgKG1lW29wdF9tZXRob2ROYW1lXSA9PT0gY2FsbGVyKSB7CiAgICByZXR1cm4gbWUuY29uc3RydWN0b3IucHJvdG90eXBlW29wdF9tZXRob2ROYW1lXS5hcHBseShtZSwgYXJncyk7CiAgfSBlbHNlIHsKICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAnZ29vZy5iYXNlIGNhbGxlZCBmcm9tIGEgbWV0aG9kIG9mIG9uZSBuYW1lICcgKwogICAgICAgICd0byBhIG1ldGhvZCBvZiBhIGRpZmZlcmVudCBuYW1lJyk7CiAgfQp9OwoKCi8qKgogKiBBbGxvdyBmb3IgYWxpYXNpbmcgd2l0aGluIHNjb3BlIGZ1bmN0aW9ucy4gIFRoaXMgZnVuY3Rpb24gZXhpc3RzIGZvcgogKiB1bmNvbXBpbGVkIGNvZGUgLSBpbiBjb21waWxlZCBjb2RlIHRoZSBjYWxscyB3aWxsIGJlIGlubGluZWQgYW5kIHRoZSBhbGlhc2VzCiAqIGFwcGxpZWQuICBJbiB1bmNvbXBpbGVkIGNvZGUgdGhlIGZ1bmN0aW9uIGlzIHNpbXBseSBydW4gc2luY2UgdGhlIGFsaWFzZXMgYXMKICogd3JpdHRlbiBhcmUgdmFsaWQgSmF2YVNjcmlwdC4KICoKICoKICogQHBhcmFtIHtmdW5jdGlvbigpfSBmbiBGdW5jdGlvbiB0byBjYWxsLiAgVGhpcyBmdW5jdGlvbiBjYW4gY29udGFpbiBhbGlhc2VzCiAqICAgICB0byBuYW1lc3BhY2VzIChlLmcuICJ2YXIgZG9tID0gZ29vZy5kb20iKSBvciBjbGFzc2VzCiAqICAgICAoZS5nLiAidmFyIFRpbWVyID0gZ29vZy5UaW1lciIpLgogKi8KZ29vZy5zY29wZSA9IGZ1bmN0aW9uKGZuKSB7CiAgaWYgKGdvb2cuaXNJbk1vZHVsZUxvYWRlcl8oKSkgewogICAgdGhyb3cgbmV3IEVycm9yKCdnb29nLnNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aGluIGEgbW9kdWxlLicpOwogIH0KICBmbi5jYWxsKGdvb2cuZ2xvYmFsKTsKfTsKCgovKgogKiBUbyBzdXBwb3J0IHVuY29tcGlsZWQsIHN0cmljdCBtb2RlIGJ1bmRsZXMgdGhhdCB1c2UgZXZhbCB0byBkaXZpZGUgc291cmNlCiAqIGxpa2Ugc286CiAqICAgIGV2YWwoJ3NvbWVTb3VyY2U7Ly8jIHNvdXJjZVVybCBzb3VyY2VmaWxlLmpzJyk7CiAqIFdlIG5lZWQgdG8gZXhwb3J0IHRoZSBnbG9iYWxseSBkZWZpbmVkIHN5bWJvbHMgImdvb2ciIGFuZCAiQ09NUElMRUQiLgogKiBFeHBvcnRpbmcgImdvb2ciIGJyZWFrcyB0aGUgY29tcGlsZXIgb3B0aW1pemF0aW9ucywgc28gd2UgcmVxdWlyZWQgdGhhdAogKiBiZSBkZWZpbmVkIGV4dGVybmFsbHkuCiAqIE5PVEU6IFdlIGRvbid0IHVzZSBnb29nLmV4cG9ydFN5bWJvbCBoZXJlIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyCiAqIGV4dGVybiBnZW5lcmF0aW9uIHdoZW4gdGhhdCBjb21waWxlciBvcHRpb24gaXMgZW5hYmxlZC4KICovCmlmICghQ09NUElMRUQpIHsKICBnb29nLmdsb2JhbFsnQ09NUElMRUQnXSA9IENPTVBJTEVEOwp9CgoKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gZ29vZy5kZWZpbmVDbGFzcyBpbXBsZW1lbnRhdGlvbgovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCi8qKgogKiBDcmVhdGVzIGEgcmVzdHJpY3RlZCBmb3JtIG9mIGEgQ2xvc3VyZSAiY2xhc3MiOgogKiAgIC0gZnJvbSB0aGUgY29tcGlsZXIncyBwZXJzcGVjdGl2ZSwgdGhlIGluc3RhbmNlIHJldHVybmVkIGZyb20gdGhlCiAqICAgICBjb25zdHJ1Y3RvciBpcyBzZWFsZWQgKG5vIG5ldyBwcm9wZXJ0aWVzIG1heSBiZSBhZGRlZCkuICBUaGlzIGVuYWJsZXMKICogICAgIGJldHRlciBjaGVja3MuCiAqICAgLSB0aGUgY29tcGlsZXIgd2lsbCByZXdyaXRlIHRoaXMgZGVmaW5pdGlvbiB0byBhIGZvcm0gdGhhdCBpcyBvcHRpbWFsCiAqICAgICBmb3IgdHlwZSBjaGVja2luZyBhbmQgb3B0aW1pemF0aW9uIChpbml0aWFsbHkgdGhpcyB3aWxsIGJlIGEgbW9yZQogKiAgICAgdHJhZGl0aW9uYWwgZm9ybSkuCiAqCiAqIEBwYXJhbSB7RnVuY3Rpb259IHN1cGVyQ2xhc3MgVGhlIHN1cGVyY2xhc3MsIE9iamVjdCBvciBudWxsLgogKiBAcGFyYW0ge2dvb2cuZGVmaW5lQ2xhc3MuQ2xhc3NEZXNjcmlwdG9yfSBkZWYKICogICAgIEFuIG9iamVjdCBsaXRlcmFsIGRlc2NyaWJpbmcKICogICAgIHRoZSBjbGFzcy4gIEl0IG1heSBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKICogICAgICJjb25zdHJ1Y3RvciI6IHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbgogKiAgICAgInN0YXRpY3MiOiBhbiBvYmplY3QgbGl0ZXJhbCBjb250YWluaW5nIG1ldGhvZHMgdG8gYWRkIHRvIHRoZSBjb25zdHJ1Y3RvcgogKiAgICAgICAgYXMgInN0YXRpYyIgbWV0aG9kcyBvciBhIGZ1bmN0aW9uIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBjb25zdHJ1Y3RvcgogKiAgICAgICAgZnVuY3Rpb24gYXMgaXRzIG9ubHkgcGFyYW1ldGVyIHRvIHdoaWNoIHN0YXRpYyBwcm9wZXJ0aWVzIGNhbgogKiAgICAgICAgYmUgYWRkZWQuCiAqICAgICBhbGwgb3RoZXIgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gdGhlIHByb3RvdHlwZS4KICogQHJldHVybiB7IUZ1bmN0aW9ufSBUaGUgY2xhc3MgY29uc3RydWN0b3IuCiAqIEBkZXByZWNhdGVkIFVzZSBFUzYgY2xhc3Mgc3ludGF4IGluc3RlYWQuCiAqLwpnb29nLmRlZmluZUNsYXNzID0gZnVuY3Rpb24oc3VwZXJDbGFzcywgZGVmKSB7CiAgLy8gVE9ETyhqb2hubGVueik6IGNvbnNpZGVyIG1ha2luZyB0aGUgc3VwZXJDbGFzcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIuCiAgdmFyIGNvbnN0cnVjdG9yID0gZGVmLmNvbnN0cnVjdG9yOwogIHZhciBzdGF0aWNzID0gZGVmLnN0YXRpY3M7CiAgLy8gV3JhcCB0aGUgY29uc3RydWN0b3IgcHJpb3IgdG8gc2V0dGluZyB1cCB0aGUgcHJvdG90eXBlIGFuZCBzdGF0aWMgbWV0aG9kcy4KICBpZiAoIWNvbnN0cnVjdG9yIHx8IGNvbnN0cnVjdG9yID09IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpIHsKICAgIGNvbnN0cnVjdG9yID0gZnVuY3Rpb24oKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdjYW5ub3QgaW5zdGFudGlhdGUgYW4gaW50ZXJmYWNlIChubyBjb25zdHJ1Y3RvciBkZWZpbmVkKS4nKTsKICAgIH07CiAgfQoKICB2YXIgY2xzID0gZ29vZy5kZWZpbmVDbGFzcy5jcmVhdGVTZWFsaW5nQ29uc3RydWN0b3JfKGNvbnN0cnVjdG9yLCBzdXBlckNsYXNzKTsKICBpZiAoc3VwZXJDbGFzcykgewogICAgZ29vZy5pbmhlcml0cyhjbHMsIHN1cGVyQ2xhc3MpOwogIH0KCiAgLy8gUmVtb3ZlIGFsbCB0aGUgcHJvcGVydGllcyB0aGF0IHNob3VsZCBub3QgYmUgY29waWVkIHRvIHRoZSBwcm90b3R5cGUuCiAgZGVsZXRlIGRlZi5jb25zdHJ1Y3RvcjsKICBkZWxldGUgZGVmLnN0YXRpY3M7CgogIGdvb2cuZGVmaW5lQ2xhc3MuYXBwbHlQcm9wZXJ0aWVzXyhjbHMucHJvdG90eXBlLCBkZWYpOwogIGlmIChzdGF0aWNzICE9IG51bGwpIHsKICAgIGlmIChzdGF0aWNzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHsKICAgICAgc3RhdGljcyhjbHMpOwogICAgfSBlbHNlIHsKICAgICAgZ29vZy5kZWZpbmVDbGFzcy5hcHBseVByb3BlcnRpZXNfKGNscywgc3RhdGljcyk7CiAgICB9CiAgfQoKICByZXR1cm4gY2xzOwp9OwoKCi8qKgogKiBAdHlwZWRlZiB7ewogKiAgIGNvbnN0cnVjdG9yOiAoIUZ1bmN0aW9ufHVuZGVmaW5lZCksCiAqICAgc3RhdGljczogKE9iamVjdHx1bmRlZmluZWR8ZnVuY3Rpb24oRnVuY3Rpb24pOnZvaWQpCiAqIH19CiAqLwpnb29nLmRlZmluZUNsYXNzLkNsYXNzRGVzY3JpcHRvcjsKCgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gV2hldGhlciB0aGUgaW5zdGFuY2VzIHJldHVybmVkIGJ5IGdvb2cuZGVmaW5lQ2xhc3Mgc2hvdWxkCiAqICAgICBiZSBzZWFsZWQgd2hlbiBwb3NzaWJsZS4KICoKICogV2hlbiBzZWFsaW5nIGlzIGRpc2FibGVkIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB3aWxsIG5vdCBiZSB3cmFwcGVkIGJ5CiAqIGdvb2cuZGVmaW5lQ2xhc3MsIG1ha2luZyBpdCBpbmNvbXBhdGlibGUgd2l0aCBFUzYgY2xhc3MgbWV0aG9kcy4KICovCmdvb2cuZGVmaW5lQ2xhc3MuU0VBTF9DTEFTU19JTlNUQU5DRVMgPQogICAgZ29vZy5kZWZpbmUoJ2dvb2cuZGVmaW5lQ2xhc3MuU0VBTF9DTEFTU19JTlNUQU5DRVMnLCBnb29nLkRFQlVHKTsKCgovKioKICogSWYgZ29vZy5kZWZpbmVDbGFzcy5TRUFMX0NMQVNTX0lOU1RBTkNFUyBpcyBlbmFibGVkIGFuZCBPYmplY3Quc2VhbCBpcwogKiBkZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHdpbGwgd3JhcCB0aGUgY29uc3RydWN0b3IgaW4gYSBmdW5jdGlvbiB0aGF0IHNlYWxzIHRoZQogKiByZXN1bHRzIG9mIHRoZSBwcm92aWRlZCBjb25zdHJ1Y3RvciBmdW5jdGlvbi4KICoKICogQHBhcmFtIHshRnVuY3Rpb259IGN0ciBUaGUgY29uc3RydWN0b3Igd2hvc2UgcmVzdWx0cyBtYXliZSBiZSBzZWFsZWQuCiAqIEBwYXJhbSB7RnVuY3Rpb259IHN1cGVyQ2xhc3MgVGhlIHN1cGVyY2xhc3MgY29uc3RydWN0b3IuCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gVGhlIHJlcGxhY2VtZW50IGNvbnN0cnVjdG9yLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5jcmVhdGVTZWFsaW5nQ29uc3RydWN0b3JfID0gZnVuY3Rpb24oY3RyLCBzdXBlckNsYXNzKSB7CiAgaWYgKCFnb29nLmRlZmluZUNsYXNzLlNFQUxfQ0xBU1NfSU5TVEFOQ0VTKSB7CiAgICAvLyBEbyBub3cgd3JhcCB0aGUgY29uc3RydWN0b3Igd2hlbiBzZWFsaW5nIGlzIGRpc2FibGVkLiBBbmd1bGFyIGNvZGUKICAgIC8vIGRlcGVuZHMgb24gdGhpcyBmb3IgaW5qZWN0aW9uIHRvIHdvcmsgcHJvcGVybHkuCiAgICByZXR1cm4gY3RyOwogIH0KCiAgLy8gQ29tcHV0ZSB3aGV0aGVyIHRoZSBjb25zdHJ1Y3RvciBpcyBzZWFsYWJsZSBhdCBkZWZpbml0aW9uIHRpbWUsIHJhdGhlcgogIC8vIHRoYW4gd2hlbiB0aGUgaW5zdGFuY2UgaXMgYmVpbmcgY29uc3RydWN0ZWQuCiAgdmFyIHN1cGVyY2xhc3NTZWFsYWJsZSA9ICFnb29nLmRlZmluZUNsYXNzLmlzVW5zZWFsYWJsZV8oc3VwZXJDbGFzcyk7CgogIC8qKgogICAqIEB0aGlzIHtPYmplY3R9CiAgICogQHJldHVybiB7P30KICAgKi8KICB2YXIgd3JhcHBlZEN0ciA9IGZ1bmN0aW9uKCkgewogICAgLy8gRG9uJ3Qgc2VhbCBhbiBpbnN0YW5jZSBvZiBhIHN1YmNsYXNzIHdoZW4gaXQgY2FsbHMgdGhlIGNvbnN0cnVjdG9yIG9mCiAgICAvLyBpdHMgc3VwZXIgY2xhc3MgYXMgdGhlcmUgaXMgbW9zdCBsaWtlbHkgc3RpbGwgc2V0dXAgdG8gZG8uCiAgICB2YXIgaW5zdGFuY2UgPSBjdHIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgaW5zdGFuY2VbZ29vZy5VSURfUFJPUEVSVFlfXSA9IGluc3RhbmNlW2dvb2cuVUlEX1BST1BFUlRZX107CgogICAgaWYgKHRoaXMuY29uc3RydWN0b3IgPT09IHdyYXBwZWRDdHIgJiYgc3VwZXJjbGFzc1NlYWxhYmxlICYmCiAgICAgICAgT2JqZWN0LnNlYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikgewogICAgICBPYmplY3Quc2VhbChpbnN0YW5jZSk7CiAgICB9CiAgICByZXR1cm4gaW5zdGFuY2U7CiAgfTsKCiAgcmV0dXJuIHdyYXBwZWRDdHI7Cn07CgoKLyoqCiAqIEBwYXJhbSB7RnVuY3Rpb259IGN0ciBUaGUgY29uc3RydWN0b3IgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgY29uc3RydWN0b3IgaGFzIGJlZW4gdGFnZ2VkIGFzIHVuc2VhbGFibGUKICogICAgIHVzaW5nIGdvb2cudGFnVW5zZWFsYWJsZUNsYXNzLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5pc1Vuc2VhbGFibGVfID0gZnVuY3Rpb24oY3RyKSB7CiAgcmV0dXJuIGN0ciAmJiBjdHIucHJvdG90eXBlICYmCiAgICAgIGN0ci5wcm90b3R5cGVbZ29vZy5VTlNFQUxBQkxFX0NPTlNUUlVDVE9SX1BST1BFUlRZX107Cn07CgoKLy8gVE9ETyhqb2hubGVueik6IHNoYXJlIHRoZXNlIHZhbHVlcyB3aXRoIHRoZSBnb29nLm9iamVjdAovKioKICogVGhlIG5hbWVzIG9mIHRoZSBmaWVsZHMgdGhhdCBhcmUgZGVmaW5lZCBvbiBPYmplY3QucHJvdG90eXBlLgogKiBAdHlwZSB7IUFycmF5PHN0cmluZz59CiAqIEBwcml2YXRlCiAqIEBjb25zdAogKi8KZ29vZy5kZWZpbmVDbGFzcy5PQkpFQ1RfUFJPVE9UWVBFX0ZJRUxEU18gPSBbCiAgJ2NvbnN0cnVjdG9yJywgJ2hhc093blByb3BlcnR5JywgJ2lzUHJvdG90eXBlT2YnLCAncHJvcGVydHlJc0VudW1lcmFibGUnLAogICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd2YWx1ZU9mJwpdOwoKCi8vIFRPRE8oam9obmxlbnopOiBzaGFyZSB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGdvb2cub2JqZWN0Ci8qKgogKiBAcGFyYW0geyFPYmplY3R9IHRhcmdldCBUaGUgb2JqZWN0IHRvIGFkZCBwcm9wZXJ0aWVzIHRvLgogKiBAcGFyYW0geyFPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5hcHBseVByb3BlcnRpZXNfID0gZnVuY3Rpb24odGFyZ2V0LCBzb3VyY2UpIHsKICAvLyBUT0RPKGpvaG5sZW56KTogdXBkYXRlIHRoaXMgdG8gc3VwcG9ydCBFUzUgZ2V0dGVycy9zZXR0ZXJzCgogIHZhciBrZXk7CiAgZm9yIChrZXkgaW4gc291cmNlKSB7CiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgewogICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOwogICAgfQogIH0KCiAgLy8gRm9yIElFIHRoZSBmb3ItaW4tbG9vcCBkb2VzIG5vdCBjb250YWluIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdAogIC8vIGVudW1lcmFibGUgb24gdGhlIHByb3RvdHlwZSBvYmplY3QgKGZvciBleGFtcGxlIGlzUHJvdG90eXBlT2YgZnJvbQogIC8vIE9iamVjdC5wcm90b3R5cGUpIGFuZCBpdCB3aWxsIGFsc28gbm90IGluY2x1ZGUgJ3JlcGxhY2UnIG9uIG9iamVjdHMgdGhhdAogIC8vIGV4dGVuZCBTdHJpbmcgYW5kIGNoYW5nZSAncmVwbGFjZScgKG5vdCB0aGF0IGl0IGlzIGNvbW1vbiBmb3IgYW55b25lIHRvCiAgLy8gZXh0ZW5kIGFueXRoaW5nIGV4Y2VwdCBPYmplY3QpLgogIGZvciAodmFyIGkgPSAwOyBpIDwgZ29vZy5kZWZpbmVDbGFzcy5PQkpFQ1RfUFJPVE9UWVBFX0ZJRUxEU18ubGVuZ3RoOyBpKyspIHsKICAgIGtleSA9IGdvb2cuZGVmaW5lQ2xhc3MuT0JKRUNUX1BST1RPVFlQRV9GSUVMRFNfW2ldOwogICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsKICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsKICAgIH0KICB9Cn07CgoKLyoqCiAqIFNlYWxpbmcgY2xhc3NlcyBicmVha3MgdGhlIG9sZGVyIGlkaW9tIG9mIGFzc2lnbmluZyBwcm9wZXJ0aWVzIG9uIHRoZQogKiBwcm90b3R5cGUgcmF0aGVyIHRoYW4gaW4gdGhlIGNvbnN0cnVjdG9yLiBBcyBzdWNoLCBnb29nLmRlZmluZUNsYXNzCiAqIG11c3Qgbm90IHNlYWwgc3ViY2xhc3NlcyBvZiB0aGVzZSBvbGQtc3R5bGUgY2xhc3NlcyB1bnRpbCB0aGV5IGFyZSBmaXhlZC4KICogVW50aWwgdGhlbiwgdGhpcyBtYXJrcyBhIGNsYXNzIGFzICJicm9rZW4iLCBpbnN0cnVjdGluZyBkZWZpbmVDbGFzcwogKiBub3QgdG8gc2VhbCBzdWJjbGFzc2VzLgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY3RyIFRoZSBsZWdhY3kgY29uc3RydWN0b3IgdG8gdGFnIGFzIHVuc2VhbGFibGUuCiAqLwpnb29nLnRhZ1Vuc2VhbGFibGVDbGFzcyA9IGZ1bmN0aW9uKGN0cikgewogIGlmICghQ09NUElMRUQgJiYgZ29vZy5kZWZpbmVDbGFzcy5TRUFMX0NMQVNTX0lOU1RBTkNFUykgewogICAgY3RyLnByb3RvdHlwZVtnb29nLlVOU0VBTEFCTEVfQ09OU1RSVUNUT1JfUFJPUEVSVFlfXSA9IHRydWU7CiAgfQp9OwoKCi8qKgogKiBOYW1lIGZvciB1bnNlYWxhYmxlIHRhZyBwcm9wZXJ0eS4KICogQGNvbnN0IEBwcml2YXRlIHtzdHJpbmd9CiAqLwpnb29nLlVOU0VBTEFCTEVfQ09OU1RSVUNUT1JfUFJPUEVSVFlfID0gJ2dvb2dfZGVmaW5lQ2xhc3NfbGVnYWN5X3Vuc2VhbGFibGUnOwoKCi8vIFRoZXJlJ3MgYSBidWcgaW4gdGhlIGNvbXBpbGVyIHdoZXJlIHdpdGhvdXQgY29sbGFwc2UgcHJvcGVydGllcyB0aGUKLy8gQ2xvc3VyZSBuYW1lc3BhY2UgZGVmaW5lcyBkbyBub3QgZ3VhcmQgY29kZSBjb3JyZWN0bHkuIFRvIGhlbHAgcmVkdWNlIGNvZGUKLy8gc2l6ZSBhbHNvIGNoZWNrIGZvciAhQ09NUElMRUQgZXZlbiB0aG91Z2ggaXQgcmVkdW5kYW50IHVudGlsIHRoaXMgaXMgZml4ZWQuCmlmICghQ09NUElMRUQgJiYgZ29vZy5ERVBFTkRFTkNJRVNfRU5BQkxFRCkgewoKICAvKioKICAgKiBUcmllcyB0byBkZXRlY3Qgd2hldGhlciBpcyBpbiB0aGUgY29udGV4dCBvZiBhbiBIVE1MIGRvY3VtZW50LgogICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgaXQgbG9va3MgbGlrZSBIVE1MIGRvY3VtZW50LgogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5pbkh0bWxEb2N1bWVudF8gPSBmdW5jdGlvbigpIHsKICAgIC8qKiBAdHlwZSB7IURvY3VtZW50fSAqLwogICAgdmFyIGRvYyA9IGdvb2cuZ2xvYmFsLmRvY3VtZW50OwogICAgcmV0dXJuIGRvYyAhPSBudWxsICYmICd3cml0ZScgaW4gZG9jOyAgLy8gWFVMRG9jdW1lbnQgbWlzc2VzIHdyaXRlLgogIH07CgoKICAvKioKICAgKiBXZSdkIGxpa2UgdG8gY2hlY2sgZm9yIGlmIHRoZSBkb2N1bWVudCByZWFkeVN0YXRlIGlzICdsb2FkaW5nJzsgaG93ZXZlcgogICAqIHRoZXJlIGFyZSBidWdzIG9uIElFIDEwIGFuZCBiZWxvdyB3aGVyZSB0aGUgcmVhZHlTdGF0ZSBiZWluZyBhbnl0aGluZyBvdGhlcgogICAqIHRoYW4gJ2NvbXBsZXRlJyBpcyBub3QgcmVsaWFibGUuCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuaXNEb2N1bWVudExvYWRpbmdfID0gZnVuY3Rpb24oKSB7CiAgICAvLyBhdHRhY2hFdmVudCBpcyBhdmFpbGFibGUgb24gSUUgNiB0aHJ1IDEwIG9ubHksIGFuZCB0aHVzIGNhbiBiZSB1c2VkIHRvCiAgICAvLyBkZXRlY3QgdGhvc2UgYnJvd3NlcnMuCiAgICAvKiogQHR5cGUgeyFIVE1MRG9jdW1lbnR9ICovCiAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CiAgICByZXR1cm4gZG9jLmF0dGFjaEV2ZW50ID8gZG9jLnJlYWR5U3RhdGUgIT0gJ2NvbXBsZXRlJyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jLnJlYWR5U3RhdGUgPT0gJ2xvYWRpbmcnOwogIH07CgoKICAvKioKICAgKiBUcmllcyB0byBkZXRlY3QgdGhlIGJhc2UgcGF0aCBvZiBiYXNlLmpzIHNjcmlwdCB0aGF0IGJvb3RzdHJhcHMgQ2xvc3VyZS4KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuZmluZEJhc2VQYXRoXyA9IGZ1bmN0aW9uKCkgewogICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfQkFTRV9QQVRIICE9IHVuZGVmaW5lZCAmJgogICAgICAgIC8vIEFudGkgRE9NLWNsb2JiZXJpbmcgcnVudGltZSBjaGVjayAoYi8zNzczNjU3NikuCiAgICAgICAgdHlwZW9mIGdvb2cuZ2xvYmFsLkNMT1NVUkVfQkFTRV9QQVRIID09PSAnc3RyaW5nJykgewogICAgICBnb29nLmJhc2VQYXRoID0gZ29vZy5nbG9iYWwuQ0xPU1VSRV9CQVNFX1BBVEg7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZiAoIWdvb2cuaW5IdG1sRG9jdW1lbnRfKCkpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLyoqIEB0eXBlIHshRG9jdW1lbnR9ICovCiAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CiAgICAvLyBJZiB3ZSBoYXZlIGEgY3VycmVudFNjcmlwdCBhdmFpbGFibGUsIHVzZSBpdCBleGNsdXNpdmVseS4KICAgIHZhciBjdXJyZW50U2NyaXB0ID0gZG9jLmN1cnJlbnRTY3JpcHQ7CiAgICBpZiAoY3VycmVudFNjcmlwdCkgewogICAgICB2YXIgc2NyaXB0cyA9IFtjdXJyZW50U2NyaXB0XTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBzY3JpcHRzID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdTQ1JJUFQnKTsKICAgIH0KICAgIC8vIFNlYXJjaCBiYWNrd2FyZHMgc2luY2UgdGhlIGN1cnJlbnQgc2NyaXB0IGlzIGluIGFsbW9zdCBhbGwgY2FzZXMgdGhlIG9uZQogICAgLy8gdGhhdCBoYXMgYmFzZS5qcy4KICAgIGZvciAodmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgIHZhciBzY3JpcHQgPSAvKiogQHR5cGUgeyFIVE1MU2NyaXB0RWxlbWVudH0gKi8gKHNjcmlwdHNbaV0pOwogICAgICB2YXIgc3JjID0gc2NyaXB0LnNyYzsKICAgICAgdmFyIHFtYXJrID0gc3JjLmxhc3RJbmRleE9mKCc/Jyk7CiAgICAgIHZhciBsID0gcW1hcmsgPT0gLTEgPyBzcmMubGVuZ3RoIDogcW1hcms7CiAgICAgIGlmIChzcmMuc3Vic3RyKGwgLSA3LCA3KSA9PSAnYmFzZS5qcycpIHsKICAgICAgICBnb29nLmJhc2VQYXRoID0gc3JjLnN1YnN0cigwLCBsIC0gNyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKCiAgZ29vZy5maW5kQmFzZVBhdGhfKCk7CgogIC8qKiBAc3RydWN0IEBjb25zdHJ1Y3RvciBAZmluYWwgKi8KICBnb29nLlRyYW5zcGlsZXIgPSBmdW5jdGlvbigpIHsKICAgIC8qKiBAcHJpdmF0ZSB7P09iamVjdDxzdHJpbmcsIGJvb2xlYW4+fSAqLwogICAgdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fID0gbnVsbDsKICAgIC8qKiBAcHJpdmF0ZSB7c3RyaW5nfSAqLwogICAgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0XyA9IGdvb2cuVFJBTlNQSUxFX1RPX0xBTkdVQUdFOwogIH07CgoKICAvKioKICAgKiBSZXR1cm5zIGEgbmV3bHkgY3JlYXRlZCBtYXAgZnJvbSBsYW5ndWFnZSBtb2RlIHN0cmluZyB0byBhIGJvb2xlYW4KICAgKiBpbmRpY2F0aW5nIHdoZXRoZXIgdHJhbnNwaWxhdGlvbiBzaG91bGQgYmUgZG9uZSBmb3IgdGhhdCBtb2RlIGFzIHdlbGwgYXMKICAgKiB0aGUgaGlnaGVzdCBsZXZlbCBsYW5ndWFnZSB0aGF0IHRoaXMgZW52aXJvbm1lbnQgc3VwcG9ydHMuCiAgICoKICAgKiBHdWFyYW50ZWVkIGludmFyaWFudDoKICAgKiBGb3IgYW55IHR3byBtb2RlcywgbDEgYW5kIGwyIHdoZXJlIGwyIGlzIGEgbmV3ZXIgbW9kZSB0aGFuIGwxLAogICAqIGBtYXBbbDFdID09IHRydWVgIGltcGxpZXMgdGhhdCBgbWFwW2wyXSA9PSB0cnVlYC4KICAgKgogICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgZXh0cmFjdGVkIGFuZCB1c2VkIGVsc2V3aGVyZSwgc28gaXQgY2Fubm90IHJlbHkgb24KICAgKiBhbnl0aGluZyBleHRlcm5hbCAoaXQgc2hvdWxkIGVhc2lseSBiZSBhYmxlIHRvIGJlIHRyYW5zZm9ybWVkIGludG8gYQogICAqIHN0YW5kYWxvbmUsIHRvcCBsZXZlbCBmdW5jdGlvbikuCiAgICoKICAgKiBAcHJpdmF0ZQogICAqIEByZXR1cm4ge3sKICAgKiAgIHRhcmdldDogc3RyaW5nLAogICAqICAgbWFwOiAhT2JqZWN0PHN0cmluZywgYm9vbGVhbj4KICAgKiB9fQogICAqLwogIGdvb2cuVHJhbnNwaWxlci5wcm90b3R5cGUuY3JlYXRlUmVxdWlyZXNUcmFuc3BpbGF0aW9uXyA9IGZ1bmN0aW9uKCkgewogICAgdmFyIHRyYW5zcGlsYXRpb25UYXJnZXQgPSAnZXMzJzsKICAgIHZhciAvKiogIU9iamVjdDxzdHJpbmcsIGJvb2xlYW4+ICovIHJlcXVpcmVzVHJhbnNwaWxhdGlvbiA9IHsnZXMzJzogZmFsc2V9OwogICAgdmFyIHRyYW5zcGlsYXRpb25SZXF1aXJlZEZvckFsbExhdGVyTW9kZXMgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEFkZHMgYW4gZW50cnkgdG8gcmVxdWlyZXNUcmFuc3BsaWF0aW9uIGZvciB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgbW9kZS4KICAgICAqCiAgICAgKiBJTVBPUlRBTlQ6IENhbGxzIG11c3QgYmUgbWFkZSBpbiBvcmRlciBmcm9tIG9sZGVzdCB0byBuZXdlc3QgbGFuZ3VhZ2UKICAgICAqIG1vZGUuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kZU5hbWUKICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oKTogYm9vbGVhbn0gaXNTdXBwb3J0ZWQgUmV0dXJucyB0cnVlIGlmIHRoZSBKUyBlbmdpbmUKICAgICAqICAgICBzdXBwb3J0cyB0aGUgZ2l2ZW4gbW9kZS4KICAgICAqLwogICAgZnVuY3Rpb24gYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjayhtb2RlTmFtZSwgaXNTdXBwb3J0ZWQpIHsKICAgICAgaWYgKHRyYW5zcGlsYXRpb25SZXF1aXJlZEZvckFsbExhdGVyTW9kZXMpIHsKICAgICAgICByZXF1aXJlc1RyYW5zcGlsYXRpb25bbW9kZU5hbWVdID0gdHJ1ZTsKICAgICAgfSBlbHNlIGlmIChpc1N1cHBvcnRlZCgpKSB7CiAgICAgICAgdHJhbnNwaWxhdGlvblRhcmdldCA9IG1vZGVOYW1lOwogICAgICAgIHJlcXVpcmVzVHJhbnNwaWxhdGlvblttb2RlTmFtZV0gPSBmYWxzZTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXF1aXJlc1RyYW5zcGlsYXRpb25bbW9kZU5hbWVdID0gdHJ1ZTsKICAgICAgICB0cmFuc3BpbGF0aW9uUmVxdWlyZWRGb3JBbGxMYXRlck1vZGVzID0gdHJ1ZTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRG9lcyB0aGUgZ2l2ZW4gY29kZSBldmFsdWF0ZSB3aXRob3V0IHN5bnRheCBlcnJvcnMgYW5kIHJldHVybiBhIHRydXRoeQogICAgICogcmVzdWx0PwogICAgICovCiAgICBmdW5jdGlvbiAvKiogYm9vbGVhbiAqLyBldmFsQ2hlY2soLyoqIHN0cmluZyAqLyBjb2RlKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuICEhZXZhbChjb2RlKTsKICAgICAgfSBjYXRjaCAoaWdub3JlZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfQoKICAgIHZhciB1c2VyQWdlbnQgPSBnb29nLmdsb2JhbC5uYXZpZ2F0b3IgJiYgZ29vZy5nbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudCA/CiAgICAgICAgZ29vZy5nbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudCA6CiAgICAgICAgJyc7CgogICAgLy8gSWRlbnRpZnkgRVMzLW9ubHkgYnJvd3NlcnMgYnkgdGhlaXIgaW5jb3JyZWN0IHRyZWF0bWVudCBvZiBjb21tYXMuCiAgICBhZGROZXdlckxhbmd1YWdlVHJhbnNwaWxhdGlvbkNoZWNrKCdlczUnLCBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGV2YWxDaGVjaygnWzEsXS5sZW5ndGg9PTEnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM2JywgZnVuY3Rpb24oKSB7CiAgICAgIC8vIEVkZ2UgaGFzIGEgbm9uLWRldGVybWluaXN0aWMgKGkuZS4sIG5vdCByZXByb2R1Y2libGUpIGJ1ZyB3aXRoIEVTNjoKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9DaGFrcmFDb3JlL2lzc3Vlcy8xNDk2LgogICAgICB2YXIgcmUgPSAvRWRnZVwvKFxkKykoXC5cZCkqL2k7CiAgICAgIHZhciBlZGdlVXNlckFnZW50ID0gdXNlckFnZW50Lm1hdGNoKHJlKTsKICAgICAgaWYgKGVkZ2VVc2VyQWdlbnQpIHsKICAgICAgICAvLyBUaGUgUmVmbGVjdC5jb25zdHJ1Y3QgdGVzdCBiZWxvdyBpcyBmbGFreSBvbiBFZGdlLiBJdCBjYW4gc29tZXRpbWVzCiAgICAgICAgLy8gcGFzcyBvciBmYWlsIG9uIDQwIDE1LjE1MDYzLCBzbyBqdXN0IGV4aXQgZWFybHkgZm9yIEVkZ2UgYW5kIHRyZWF0CiAgICAgICAgLy8gaXQgYXMgRVM1LiBVbnRpbCB3ZSdyZSBvbiBhIG1vcmUgdXAgdG8gZGF0ZSB2ZXJzaW9uIGp1c3QgYWx3YXlzIHVzZQogICAgICAgIC8vIEVTNS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvQ2hha3JhQ29yZS9pc3N1ZXMvMzIxNy4KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgLy8gVGVzdCBlczY6IFtGRjUwICg/KSwgRWRnZSAxNCAoPyksIENocm9tZSA1MF0KICAgICAgLy8gICAoYSkgZGVmYXVsdCBwYXJhbXMgKHNwZWNpZmljYWxseSBzaGFkb3dpbmcgbG9jYWxzKSwKICAgICAgLy8gICAoYikgZGVzdHJ1Y3R1cmluZywgKGMpIGJsb2NrLXNjb3BlZCBmdW5jdGlvbnMsCiAgICAgIC8vICAgKGQpIGZvci1vZiAoY29uc3QpLCAoZSkgbmV3LnRhcmdldC9SZWZsZWN0LmNvbnN0cnVjdAogICAgICB2YXIgZXM2ZnVsbFRlc3QgPQogICAgICAgICAgJ2NsYXNzIFh7Y29uc3RydWN0b3IoKXtpZihuZXcudGFyZ2V0IT1TdHJpbmcpdGhyb3cgMTt0aGlzLng9NDJ9fScgKwogICAgICAgICAgJ2xldCBxPVJlZmxlY3QuY29uc3RydWN0KFgsW10sU3RyaW5nKTtpZihxLnghPTQyfHwhKHEgaW5zdGFuY2VvZiAnICsKICAgICAgICAgICdTdHJpbmcpKXRocm93IDE7Zm9yKGNvbnN0IGEgb2ZbMiwzXSl7aWYoYT09Miljb250aW51ZTtmdW5jdGlvbiAnICsKICAgICAgICAgICdmKHo9e2F9KXtsZXQgYT0wO3JldHVybiB6LmF9e2Z1bmN0aW9uIGYoKXtyZXR1cm4gMDt9fXJldHVybiBmKCknICsKICAgICAgICAgICc9PTN9JzsKCiAgICAgIHJldHVybiBldmFsQ2hlY2soJygoKT0+eyJ1c2Ugc3RyaWN0IjsnICsgZXM2ZnVsbFRlc3QgKyAnfSkoKScpOwogICAgfSk7CiAgICAvLyAqKiBhbmQgKio9IGFyZSB0aGUgb25seSBuZXcgZmVhdHVyZXMgaW4gJ2VzNycKICAgIGFkZE5ld2VyTGFuZ3VhZ2VUcmFuc3BpbGF0aW9uQ2hlY2soJ2VzNycsIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gZXZhbENoZWNrKCcyICoqIDIgPT0gNCcpOwogICAgfSk7CiAgICAvLyBhc3luYyBmdW5jdGlvbnMgYXJlIHRoZSBvbmx5IG5ldyBmZWF0dXJlcyBpbiAnZXM4JwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM4JywgZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBldmFsQ2hlY2soJ2FzeW5jICgpID0+IDEsIHRydWUnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM5JywgZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBldmFsQ2hlY2soJyh7Li4ucmVzdH0gPSB7fSksIHRydWUnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXNfbmV4dCcsIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gZmFsc2U7ICAvLyBhc3N1bWUgaXQgYWx3YXlzIG5lZWQgdG8gdHJhbnNwaWxlCiAgICB9KTsKICAgIHJldHVybiB7dGFyZ2V0OiB0cmFuc3BpbGF0aW9uVGFyZ2V0LCBtYXA6IHJlcXVpcmVzVHJhbnNwaWxhdGlvbn07CiAgfTsKCgogIC8qKgogICAqIERldGVybWluZXMgd2hldGhlciB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgbmVlZHMgdG8gYmUgdHJhbnNwaWxlZC4KICAgKiBAcGFyYW0ge3N0cmluZ30gbGFuZwogICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gbW9kdWxlCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKi8KICBnb29nLlRyYW5zcGlsZXIucHJvdG90eXBlLm5lZWRzVHJhbnNwaWxlID0gZnVuY3Rpb24obGFuZywgbW9kdWxlKSB7CiAgICBpZiAoZ29vZy5UUkFOU1BJTEUgPT0gJ2Fsd2F5cycpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9IGVsc2UgaWYgKGdvb2cuVFJBTlNQSUxFID09ICduZXZlcicpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSBlbHNlIGlmICghdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmNyZWF0ZVJlcXVpcmVzVHJhbnNwaWxhdGlvbl8oKTsKICAgICAgdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fID0gb2JqLm1hcDsKICAgICAgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0XyA9IHRoaXMudHJhbnNwaWxhdGlvblRhcmdldF8gfHwgb2JqLnRhcmdldDsKICAgIH0KICAgIGlmIChsYW5nIGluIHRoaXMucmVxdWlyZXNUcmFuc3BpbGF0aW9uXykgewogICAgICBpZiAodGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fW2xhbmddKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBnb29nLmluSHRtbERvY3VtZW50XygpICYmIG1vZHVsZSA9PSAnZXM2JyAmJgogICAgICAgICAgISgnbm9Nb2R1bGUnIGluIGdvb2cuZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlIG1vZGU6ICcgKyBsYW5nKTsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogTGF6aWx5IHJldHJpZXZlcyB0aGUgdHJhbnNwaWxlciBhbmQgYXBwbGllcyBpdCB0byB0aGUgc291cmNlLgogICAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIEpTIGNvZGUuCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0byB0aGUgY29kZS4KICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0cmFuc3BpbGVkIGNvZGUuCiAgICovCiAgZ29vZy5UcmFuc3BpbGVyLnByb3RvdHlwZS50cmFuc3BpbGUgPSBmdW5jdGlvbihjb2RlLCBwYXRoKSB7CiAgICAvLyBUT0RPKGpvaG5wbGFpc3RlZCk6IFdlIHNob3VsZCBkZWxldGUgZ29vZy50cmFuc3BpbGVfIGFuZCBqdXN0IGhhdmUgdGhpcwogICAgLy8gZnVuY3Rpb24uIEJ1dCB0aGVyZSdzIHNvbWUgY29tcGlsZSBlcnJvciBhdG0gd2hlcmUgZ29vZy5nbG9iYWwgaXMgYmVpbmcKICAgIC8vIHN0cmlwcGVkIGluY29ycmVjdGx5IHdpdGhvdXQgdGhpcy4KICAgIHJldHVybiBnb29nLnRyYW5zcGlsZV8oY29kZSwgcGF0aCwgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0Xyk7CiAgfTsKCgogIC8qKiBAcHJpdmF0ZSBAZmluYWwgeyFnb29nLlRyYW5zcGlsZXJ9ICovCiAgZ29vZy50cmFuc3BpbGVyXyA9IG5ldyBnb29nLlRyYW5zcGlsZXIoKTsKCiAgLyoqCiAgICogUmV3cml0ZXMgY2xvc2luZyBzY3JpcHQgdGFncyBpbiBpbnB1dCB0byBhdm9pZCBlbmRpbmcgYW4gZW5jbG9zaW5nIHNjcmlwdAogICAqIHRhZy4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIKICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLnByb3RlY3RTY3JpcHRUYWdfID0gZnVuY3Rpb24oc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLzxcLyhTQ1JJUFQpL2lnLCAnXFx4M2MvJDEnKTsKICB9OwoKCiAgLyoqCiAgICogQSBkZWJ1ZyBsb2FkZXIgaXMgcmVzcG9uc2libGUgZm9yIGRvd25sb2FkaW5nIGFuZCBleGVjdXRpbmcgamF2YXNjcmlwdAogICAqIGZpbGVzIGluIGFuIHVuYnVuZGxlZCwgdW5jb21waWxlZCBlbnZpcm9ubWVudC4KICAgKgogICAqIFRoaXMgY2FuIGJlIGN1c3RpbWl6ZWQgdmlhIHRoZSBzZXREZXBlbmRlbmN5RmFjdG9yeSBtZXRob2QsIG9yIGJ5CiAgICogQ0xPU1VSRV9JTVBPUlRfU0NSSVBUL0NMT1NVUkVfTE9BRF9GSUxFX1NZTkMuCiAgICoKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvciBAZmluYWwgQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXyA9IGZ1bmN0aW9uKCkgewogICAgLyoqIEBwcml2YXRlIEBjb25zdCB7IU9iamVjdDxzdHJpbmcsICFnb29nLkRlcGVuZGVuY3k+fSAqLwogICAgdGhpcy5kZXBlbmRlbmNpZXNfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gKi8KICAgIHRoaXMuaWRUb1BhdGhfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgYm9vbGVhbj59ICovCiAgICB0aGlzLndyaXR0ZW5fID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshQXJyYXk8IWdvb2cuRGVwZW5kZW5jeT59ICovCiAgICB0aGlzLmxvYWRpbmdEZXBzXyA9IFtdOwogICAgLyoqIEBwcml2YXRlIHshQXJyYXk8IWdvb2cuRGVwZW5kZW5jeT59ICovCiAgICB0aGlzLmRlcHNUb0xvYWRfID0gW107CiAgICAvKiogQHByaXZhdGUge2Jvb2xlYW59ICovCiAgICB0aGlzLnBhdXNlZF8gPSBmYWxzZTsKICAgIC8qKiBAcHJpdmF0ZSB7IWdvb2cuRGVwZW5kZW5jeUZhY3Rvcnl9ICovCiAgICB0aGlzLmZhY3RvcnlfID0gbmV3IGdvb2cuRGVwZW5kZW5jeUZhY3RvcnkoZ29vZy50cmFuc3BpbGVyXyk7CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgIUZ1bmN0aW9uPn0gKi8KICAgIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshQXJyYXk8c3RyaW5nPn0gKi8KICAgIHRoaXMuZGVmZXJyZWRRdWV1ZV8gPSBbXTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBuYW1lc3BhY2VzCiAgICogQHBhcmFtIHtmdW5jdGlvbigpOiB1bmRlZmluZWR9IGNhbGxiYWNrIEZ1bmN0aW9uIHRvIGNhbGwgb25jZSBhbGwgdGhlCiAgICogICAgIG5hbWVzcGFjZXMgaGF2ZSBsb2FkZWQuCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmJvb3RzdHJhcCA9IGZ1bmN0aW9uKG5hbWVzcGFjZXMsIGNhbGxiYWNrKSB7CiAgICB2YXIgY2IgPSBjYWxsYmFjazsKICAgIGZ1bmN0aW9uIHJlc29sdmUoKSB7CiAgICAgIGlmIChjYikgewogICAgICAgIGdvb2cuZ2xvYmFsLnNldFRpbWVvdXQoY2IsIDApOwogICAgICAgIGNiID0gbnVsbDsKICAgICAgfQogICAgfQoKICAgIGlmICghbmFtZXNwYWNlcy5sZW5ndGgpIHsKICAgICAgcmVzb2x2ZSgpOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGRlcHMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXNwYWNlcy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgcGF0aCA9IHRoaXMuZ2V0UGF0aEZyb21EZXBzXyhuYW1lc3BhY2VzW2ldKTsKICAgICAgaWYgKCFwYXRoKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnJlZ29uaXplZCBuYW1lc3BhY2U6ICcgKyBuYW1lc3BhY2VzW2ldKTsKICAgICAgfQogICAgICBkZXBzLnB1c2godGhpcy5kZXBlbmRlbmNpZXNfW3BhdGhdKTsKICAgIH0KCiAgICB2YXIgcmVxdWlyZSA9IGdvb2cucmVxdWlyZTsKICAgIHZhciBsb2FkZWQgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYW1lc3BhY2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHJlcXVpcmUobmFtZXNwYWNlc1tpXSk7CiAgICAgIGRlcHNbaV0ub25Mb2FkKGZ1bmN0aW9uKCkgewogICAgICAgIGlmICgrK2xvYWRlZCA9PSBuYW1lc3BhY2VzLmxlbmd0aCkgewogICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIExvYWRzIHRoZSBDbG9zdXJlIERlcGVuZGVuY3kgZmlsZS4KICAgKgogICAqIEV4cG9zZWQgYSBwdWJsaWMgZnVuY3Rpb24gc28gQ0xPU1VSRV9OT19ERVBTIGNhbiBiZSBzZXQgdG8gZmFsc2UsIGJhc2UKICAgKiBsb2FkZWQsIHNldERlcGVuZGVuY3lGYWN0b3J5IGNhbGxlZCwgYW5kIHRoZW4gdGhpcyBjYWxsZWQuIGkuZS4gYWxsb3dzCiAgICogY3VzdG9tIGxvYWRpbmcgb2YgdGhlIGRlcHMgZmlsZS4KICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUubG9hZENsb3N1cmVEZXBzID0gZnVuY3Rpb24oKSB7CiAgICAvLyBDaXJjdW12ZW50IGFkZERlcGVuZGVuY3ksIHdoaWNoIHdvdWxkIHRyeSB0byB0cmFuc3BpbGUgZGVwcy5qcyBpZgogICAgLy8gdHJhbnNwaWxlIGlzIHNldCB0byBhbHdheXMuCiAgICB2YXIgcmVsUGF0aCA9ICdkZXBzLmpzJzsKICAgIHRoaXMuZGVwc1RvTG9hZF8ucHVzaCh0aGlzLmZhY3RvcnlfLmNyZWF0ZURlcGVuZGVuY3koCiAgICAgICAgZ29vZy5ub3JtYWxpemVQYXRoXyhnb29nLmJhc2VQYXRoICsgcmVsUGF0aCksIHJlbFBhdGgsIFtdLCBbXSwge30sCiAgICAgICAgZmFsc2UpKTsKICAgIHRoaXMubG9hZERlcHNfKCk7CiAgfTsKCgogIC8qKgogICAqIE5vdGlmaWVzIHRoZSBkZWJ1ZyBsb2FkZXIgd2hlbiBhIGRlcGVuZGVuY3kgaGFzIGJlZW4gcmVxdWVzdGVkLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGFic1BhdGhPcklkIFBhdGggb2YgdGhlIGRlcGVuZGVuY3kgb3IgZ29vZyBpZC4KICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBvcHRfZm9yY2UKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUucmVxdWVzdGVkID0gZnVuY3Rpb24oYWJzUGF0aE9ySWQsIG9wdF9mb3JjZSkgewogICAgdmFyIHBhdGggPSB0aGlzLmdldFBhdGhGcm9tRGVwc18oYWJzUGF0aE9ySWQpOwogICAgaWYgKHBhdGggJiYKICAgICAgICAob3B0X2ZvcmNlIHx8IHRoaXMuYXJlRGVwc0xvYWRlZF8odGhpcy5kZXBlbmRlbmNpZXNfW3BhdGhdLnJlcXVpcmVzKSkpIHsKICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5kZWZlcnJlZENhbGxiYWNrc19bcGF0aF07CiAgICAgIGlmIChjYWxsYmFjaykgewogICAgICAgIGRlbGV0ZSB0aGlzLmRlZmVycmVkQ2FsbGJhY2tzX1twYXRoXTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFNldHMgdGhlIGRlcGVuZGVuY3kgZmFjdG9yeSwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGN1c3RvbQogICAqIGdvb2cuRGVwZW5kZW5jeSBpbXBsZW1lbnRhdGlvbnMgdG8gY29udHJvbCBob3cgZGVwZW5kZW5jaWVzIGFyZSBsb2FkZWQuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3lGYWN0b3J5fSBmYWN0b3J5CiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnNldERlcGVuZGVuY3lGYWN0b3J5ID0gZnVuY3Rpb24oZmFjdG9yeSkgewogICAgdGhpcy5mYWN0b3J5XyA9IGZhY3Rvcnk7CiAgfTsKCgogIC8qKgogICAqIFRyYXZzZXJzZXMgdGhlIGRlcGVuZGVuY3kgZ3JhcGggYW5kIHF1ZXVlcyB0aGUgZ2l2ZW4gZGVwZW5kZW5jeSwgYW5kIGFsbCBvZgogICAqIGl0cyB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcywgZm9yIGxvYWRpbmcgYW5kIHRoZW4gc3RhcnRzIGxvYWRpbmcgaWYgbm90CiAgICogcGF1c2VkLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWRfID0gZnVuY3Rpb24obmFtZXNwYWNlKSB7CiAgICBpZiAoIXRoaXMuZ2V0UGF0aEZyb21EZXBzXyhuYW1lc3BhY2UpKSB7CiAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSAnZ29vZy5yZXF1aXJlIGNvdWxkIG5vdCBmaW5kOiAnICsgbmFtZXNwYWNlOwoKICAgICAgZ29vZy5sb2dUb0NvbnNvbGVfKGVycm9yTWVzc2FnZSk7CiAgICAgIHRocm93IEVycm9yKGVycm9yTWVzc2FnZSk7CiAgICB9IGVsc2UgewogICAgICB2YXIgbG9hZGVyID0gdGhpczsKCiAgICAgIHZhciBkZXBzID0gW107CgogICAgICAvKiogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZSAqLwogICAgICB2YXIgdmlzaXQgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICAgICAgICB2YXIgcGF0aCA9IGxvYWRlci5nZXRQYXRoRnJvbURlcHNfKG5hbWVzcGFjZSk7CgogICAgICAgIGlmICghcGF0aCkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCYWQgZGVwZW5kZW5jeSBwYXRoIG9yIHN5bWJvbDogJyArIG5hbWVzcGFjZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAobG9hZGVyLndyaXR0ZW5fW3BhdGhdKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBsb2FkZXIud3JpdHRlbl9bcGF0aF0gPSB0cnVlOwoKICAgICAgICB2YXIgZGVwID0gbG9hZGVyLmRlcGVuZGVuY2llc19bcGF0aF07CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZXAucmVxdWlyZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmICghZ29vZy5pc1Byb3ZpZGVkXyhkZXAucmVxdWlyZXNbaV0pKSB7CiAgICAgICAgICAgIHZpc2l0KGRlcC5yZXF1aXJlc1tpXSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBkZXBzLnB1c2goZGVwKTsKICAgICAgfTsKCiAgICAgIHZpc2l0KG5hbWVzcGFjZSk7CgogICAgICB2YXIgd2FzTG9hZGluZyA9ICEhdGhpcy5kZXBzVG9Mb2FkXy5sZW5ndGg7CiAgICAgIHRoaXMuZGVwc1RvTG9hZF8gPSB0aGlzLmRlcHNUb0xvYWRfLmNvbmNhdChkZXBzKTsKCiAgICAgIGlmICghdGhpcy5wYXVzZWRfICYmICF3YXNMb2FkaW5nKSB7CiAgICAgICAgdGhpcy5sb2FkRGVwc18oKTsKICAgICAgfQogICAgfQogIH07CgoKICAvKioKICAgKiBMb2FkcyBhbnkgcXVldWVkIGRlcGVuZGVuY2llcyB1bnRpbCB0aGV5IGFyZSBhbGwgbG9hZGVkIG9yIHBhdXNlZC4KICAgKgogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWREZXBzXyA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGxvYWRlciA9IHRoaXM7CiAgICB2YXIgcGF1c2VkID0gdGhpcy5wYXVzZWRfOwoKICAgIHdoaWxlICh0aGlzLmRlcHNUb0xvYWRfLmxlbmd0aCAmJiAhcGF1c2VkKSB7CiAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgbG9hZENhbGxEb25lID0gZmFsc2U7CiAgICAgICAgdmFyIGRlcCA9IGxvYWRlci5kZXBzVG9Mb2FkXy5zaGlmdCgpOwoKICAgICAgICB2YXIgbG9hZGVkID0gZmFsc2U7CiAgICAgICAgbG9hZGVyLmxvYWRpbmdfKGRlcCk7CgogICAgICAgIHZhciBjb250cm9sbGVyID0gewogICAgICAgICAgcGF1c2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAobG9hZENhbGxEb25lKSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY2FsbCBwYXVzZSBhZnRlciB0aGUgY2FsbCB0byBsb2FkLicpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICByZXN1bWU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAobG9hZENhbGxEb25lKSB7CiAgICAgICAgICAgICAgbG9hZGVyLnJlc3VtZV8oKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAvLyBTb21lIGRlcCBjYWxsZWQgcGF1c2UgYW5kIHRoZW4gcmVzdW1lIGluIHRoZSBzYW1lIGxvYWQgY2FsbC4KICAgICAgICAgICAgICAvLyBKdXN0IGtlZXAgcnVubmluZyB0aGlzIHNhbWUgbG9vcC4KICAgICAgICAgICAgICBwYXVzZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxvYWRlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChsb2FkZWQpIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RvdWJsZSBjYWxsIHRvIGxvYWRlZC4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbG9hZGVkID0gdHJ1ZTsKICAgICAgICAgICAgbG9hZGVyLmxvYWRlZF8oZGVwKTsKICAgICAgICAgIH0sCiAgICAgICAgICBwZW5kaW5nOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgLy8gRGVmZW5zaXZlIGNvcHkuCiAgICAgICAgICAgIHZhciBwZW5kaW5nID0gW107CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9hZGVyLmxvYWRpbmdEZXBzXy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHBlbmRpbmcucHVzaChsb2FkZXIubG9hZGluZ0RlcHNfW2ldKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcGVuZGluZzsKICAgICAgICAgIH0sCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBwYXJhbSB7Z29vZy5Nb2R1bGVUeXBlfSB0eXBlCiAgICAgICAgICAgKi8KICAgICAgICAgIHNldE1vZHVsZVN0YXRlOiBmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gewogICAgICAgICAgICAgIHR5cGU6IHR5cGUsCiAgICAgICAgICAgICAgbW9kdWxlTmFtZTogJycsCiAgICAgICAgICAgICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTogZmFsc2UKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sCiAgICAgICAgICAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZywgc3RyaW5nLCBzdHJpbmc9KX0gKi8KICAgICAgICAgIHJlZ2lzdGVyRXM2TW9kdWxlRXhwb3J0czogZnVuY3Rpb24oCiAgICAgICAgICAgICAgcGF0aCwgZXhwb3J0cywgb3B0X2Nsb3N1cmVOYW1lc3BhY2UpIHsKICAgICAgICAgICAgaWYgKG9wdF9jbG9zdXJlTmFtZXNwYWNlKSB7CiAgICAgICAgICAgICAgZ29vZy5sb2FkZWRNb2R1bGVzX1tvcHRfY2xvc3VyZU5hbWVzcGFjZV0gPSB7CiAgICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICAgICAgICAgICAgdHlwZTogZ29vZy5Nb2R1bGVUeXBlLkVTNiwKICAgICAgICAgICAgICAgIG1vZHVsZUlkOiBvcHRfY2xvc3VyZU5hbWVzcGFjZSB8fCAnJwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZywgPyl9ICovCiAgICAgICAgICByZWdpc3Rlckdvb2dNb2R1bGVFeHBvcnRzOiBmdW5jdGlvbihtb2R1bGVJZCwgZXhwb3J0cykgewogICAgICAgICAgICBnb29nLmxvYWRlZE1vZHVsZXNfW21vZHVsZUlkXSA9IHsKICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICAgICAgICAgIHR5cGU6IGdvb2cuTW9kdWxlVHlwZS5HT09HLAogICAgICAgICAgICAgIG1vZHVsZUlkOiBtb2R1bGVJZAogICAgICAgICAgICB9OwogICAgICAgICAgfSwKICAgICAgICAgIGNsZWFyTW9kdWxlU3RhdGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG51bGw7CiAgICAgICAgICB9LAogICAgICAgICAgZGVmZXI6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICAgICAgICAgIGlmIChsb2FkQ2FsbERvbmUpIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAgICAgICAgICdDYW5ub3QgcmVnaXN0ZXIgd2l0aCBkZWZlciBhZnRlciB0aGUgY2FsbCB0byBsb2FkLicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvYWRlci5kZWZlcl8oZGVwLCBjYWxsYmFjayk7CiAgICAgICAgICB9LAogICAgICAgICAgYXJlRGVwc0xvYWRlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBsb2FkZXIuYXJlRGVwc0xvYWRlZF8oZGVwLnJlcXVpcmVzKTsKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgZGVwLmxvYWQoY29udHJvbGxlcik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgIGxvYWRDYWxsRG9uZSA9IHRydWU7CiAgICAgICAgfQogICAgICB9KSgpOwogICAgfQoKICAgIGlmIChwYXVzZWQpIHsKICAgICAgdGhpcy5wYXVzZV8oKTsKICAgIH0KICB9OwoKCiAgLyoqIEBwcml2YXRlICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnBhdXNlXyA9IGZ1bmN0aW9uKCkgewogICAgdGhpcy5wYXVzZWRfID0gdHJ1ZTsKICB9OwoKCiAgLyoqIEBwcml2YXRlICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnJlc3VtZV8gPSBmdW5jdGlvbigpIHsKICAgIGlmICh0aGlzLnBhdXNlZF8pIHsKICAgICAgdGhpcy5wYXVzZWRfID0gZmFsc2U7CiAgICAgIHRoaXMubG9hZERlcHNfKCk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIE1hcmtzIHRoZSBnaXZlbiBkZXBlbmRlbmN5IGFzIGxvYWRpbmcgKGxvYWQgaGFzIGJlZW4gY2FsbGVkIGJ1dCBpdCBoYXMgbm90CiAgICogeWV0IG1hcmtlZCBpdHNlbGYgYXMgZmluaXNoZWQpLiBVc2VmdWwgZm9yIGRlcGVuZGVuY2llcyB0aGF0IHdhbnQgdG8ga25vdwogICAqIHdoYXQgZWxzZSBpcyBsb2FkaW5nLiBFeGFtcGxlOiBnb29nLm1vZHVsZXMgY2Fubm90IGV2YWwgaWYgdGhlcmUgYXJlCiAgICogbG9hZGluZyBkZXBlbmRlbmNpZXMuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3l9IGRlcAogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWRpbmdfID0gZnVuY3Rpb24oZGVwKSB7CiAgICB0aGlzLmxvYWRpbmdEZXBzXy5wdXNoKGRlcCk7CiAgfTsKCgogIC8qKgogICAqIE1hcmtzIHRoZSBnaXZlbiBkZXBlbmRlbmN5IGFzIGhhdmluZyBmaW5pc2hlZCBsb2FkaW5nIGFuZCBiZWluZyBhdmFpbGFibGUKICAgKiBmb3IgcmVxdWlyZS4KICAgKgogICAqIEBwYXJhbSB7IWdvb2cuRGVwZW5kZW5jeX0gZGVwCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUubG9hZGVkXyA9IGZ1bmN0aW9uKGRlcCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxvYWRpbmdEZXBzXy5sZW5ndGg7IGkrKykgewogICAgICBpZiAodGhpcy5sb2FkaW5nRGVwc19baV0gPT0gZGVwKSB7CiAgICAgICAgdGhpcy5sb2FkaW5nRGVwc18uc3BsaWNlKGksIDEpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRlZmVycmVkUXVldWVfLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0aGlzLmRlZmVycmVkUXVldWVfW2ldID09IGRlcC5wYXRoKSB7CiAgICAgICAgdGhpcy5kZWZlcnJlZFF1ZXVlXy5zcGxpY2UoaSwgMSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiAodGhpcy5sb2FkaW5nRGVwc18ubGVuZ3RoID09IHRoaXMuZGVmZXJyZWRRdWV1ZV8ubGVuZ3RoICYmCiAgICAgICAgIXRoaXMuZGVwc1RvTG9hZF8ubGVuZ3RoKSB7CiAgICAgIC8vIFNvbWV0aGluZyBoYXMgYXNrZWQgdG8gbG9hZCB0aGVzZSwgYnV0IHRoZXkgbWF5IG5vdCBiZSBkaXJlY3RseQogICAgICAvLyByZXF1aXJlZCBhZ2FpbiBsYXRlciwgc28gbG9hZCB0aGVtIG5vdyB0aGF0IHdlIGtub3cgd2UncmUgZG9uZSBsb2FkaW5nCiAgICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZS4gZS5nLiBhIGdvb2cgbW9kdWxlIGVudHJ5IHBvaW50LgogICAgICB3aGlsZSAodGhpcy5kZWZlcnJlZFF1ZXVlXy5sZW5ndGgpIHsKICAgICAgICB0aGlzLnJlcXVlc3RlZCh0aGlzLmRlZmVycmVkUXVldWVfLnNoaWZ0KCksIHRydWUpOwogICAgICB9CiAgICB9CgogICAgZGVwLmxvYWRlZCgpOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwYXRoc09ySWRzCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuRGVidWdMb2FkZXJfLnByb3RvdHlwZS5hcmVEZXBzTG9hZGVkXyA9IGZ1bmN0aW9uKHBhdGhzT3JJZHMpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aHNPcklkcy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgcGF0aCA9IHRoaXMuZ2V0UGF0aEZyb21EZXBzXyhwYXRoc09ySWRzW2ldKTsKICAgICAgaWYgKCFwYXRoIHx8CiAgICAgICAgICAoIShwYXRoIGluIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfKSAmJgogICAgICAgICAgICFnb29nLmlzUHJvdmlkZWRfKHBhdGhzT3JJZHNbaV0pKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiB0cnVlOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gYWJzUGF0aE9ySWQKICAgKiBAcmV0dXJuIHs/c3RyaW5nfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmdldFBhdGhGcm9tRGVwc18gPSBmdW5jdGlvbihhYnNQYXRoT3JJZCkgewogICAgaWYgKGFic1BhdGhPcklkIGluIHRoaXMuaWRUb1BhdGhfKSB7CiAgICAgIHJldHVybiB0aGlzLmlkVG9QYXRoX1thYnNQYXRoT3JJZF07CiAgICB9IGVsc2UgaWYgKGFic1BhdGhPcklkIGluIHRoaXMuZGVwZW5kZW5jaWVzXykgewogICAgICByZXR1cm4gYWJzUGF0aE9ySWQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHshZ29vZy5EZXBlbmRlbmN5fSBkZXBlbmRlbmN5CiAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUuZGVmZXJfID0gZnVuY3Rpb24oZGVwZW5kZW5jeSwgY2FsbGJhY2spIHsKICAgIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfW2RlcGVuZGVuY3kucGF0aF0gPSBjYWxsYmFjazsKICAgIHRoaXMuZGVmZXJyZWRRdWV1ZV8ucHVzaChkZXBlbmRlbmN5LnBhdGgpOwogIH07CgoKICAvKioKICAgKiBJbnRlcmZhY2UgZm9yIGdvb2cuRGVwZW5kZW5jeSBpbXBsZW1lbnRhdGlvbnMgdG8gaGF2ZSBzb21lIGNvbnRyb2wgb3ZlcgogICAqIGxvYWRpbmcgb2YgZGVwZW5kZW5jaWVzLgogICAqCiAgICogQHJlY29yZAogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogVGVsbHMgdGhlIGNvbnRyb2xsZXIgdG8gaGFsdCBsb2FkaW5nIG9mIG1vcmUgZGVwZW5kZW5jaWVzLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24oKSB7fTsKCgogIC8qKgogICAqIFRlbGxzIHRoZSBjb250cm9sbGVyIHRvIHJlc3VtZSBsb2FkaW5nIG9mIG1vcmUgZGVwZW5kZW5jaWVzIGlmIHBhdXNlZC4KICAgKi8KICBnb29nLkxvYWRDb250cm9sbGVyLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogVGVsbHMgdGhlIGNvbnRyb2xsZXIgdGhhdCB0aGlzIGRlcGVuZGVuY3kgaGFzIGZpbmlzaGVkIGxvYWRpbmcuCiAgICoKICAgKiBUaGlzIGNhdXNlcyB0aGlzIHRvIGJlIHJlbW92ZWQgZnJvbSBwZW5kaW5nKCkgYW5kIGFueSBsb2FkIGNhbGxiYWNrcyB0bwogICAqIGZpcmUuCiAgICovCiAgZ29vZy5Mb2FkQ29udHJvbGxlci5wcm90b3R5cGUubG9hZGVkID0gZnVuY3Rpb24oKSB7fTsKCgogIC8qKgogICAqIExpc3Qgb2YgZGVwZW5kZW5jaWVzIG9uIHdoaWNoIGxvYWQgaGFzIGJlZW4gY2FsbGVkIGJ1dCB3aGljaCBoYXZlIG5vdAogICAqIGNhbGxlZCBsb2FkZWQgb24gdGhlaXIgY29udHJvbGxlci4gVGhpcyBpbmNsdWRlcyB0aGUgY3VycmVudCBkZXBlbmRlbmN5LgogICAqCiAgICogQHJldHVybiB7IUFycmF5PCFnb29nLkRlcGVuZGVuY3k+fQogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnBlbmRpbmcgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogUmVnaXN0ZXJzIGFuIG9iamVjdCBhcyBhbiBFUzYgbW9kdWxlJ3MgZXhwb3J0cyBzbyB0aGF0IGdvb2cubW9kdWxlcyBtYXkKICAgKiByZXF1aXJlIGl0IGJ5IHBhdGguCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBGdWxsIHBhdGggb2YgdGhlIG1vZHVsZS4KICAgKiBAcGFyYW0gez99IGV4cG9ydHMKICAgKiBAcGFyYW0ge3N0cmluZz19IG9wdF9jbG9zdXJlTmFtZXNwYWNlIENsb3N1cmUgbmFtZXNwYWNlIHRvIGFzc29jaWF0ZSB3aXRoCiAgICogICAgIHRoaXMgbW9kdWxlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnJlZ2lzdGVyRXM2TW9kdWxlRXhwb3J0cyA9IGZ1bmN0aW9uKAogICAgICBwYXRoLCBleHBvcnRzLCBvcHRfY2xvc3VyZU5hbWVzcGFjZSkge307CgoKICAvKioKICAgKiBTZXRzIHRoZSBjdXJyZW50IG1vZHVsZSBzdGF0ZS4KICAgKgogICAqIEBwYXJhbSB7Z29vZy5Nb2R1bGVUeXBlfSB0eXBlIFR5cGUgb2YgbW9kdWxlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnNldE1vZHVsZVN0YXRlID0gZnVuY3Rpb24odHlwZSkge307CgoKICAvKioKICAgKiBDbGVhcnMgdGhlIGN1cnJlbnQgbW9kdWxlIHN0YXRlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLmNsZWFyTW9kdWxlU3RhdGUgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgdG8gY2FsbCBvbmNlIHRoZSBkZXBlbmRlbmN5IGlzIGFjdHVhbGx5IHJlcXVlc3RlZAogICAqIHZpYSBnb29nLnJlcXVpcmUgKyBhbGwgb2YgdGhlIGltbWVkaWF0ZSBkZXBlbmRlbmNpZXMgaGF2ZSBiZWVuIGxvYWRlZCBvcgogICAqIGFsbCBvdGhlciBmaWxlcyBoYXZlIGJlZW4gbG9hZGVkLiBBbGxvd3MgZm9yIGxhenkgbG9hZGluZyB1bnRpbAogICAqIHJlcXVpcmUnZCB3aXRob3V0IHBhdXNpbmcgZGVwZW5kZW5jeSBsb2FkaW5nLCB3aGljaCBpcyBuZWVkZWQgb24gb2xkIElFLgogICAqCiAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrCiAgICovCiAgZ29vZy5Mb2FkQ29udHJvbGxlci5wcm90b3R5cGUuZGVmZXIgPSBmdW5jdGlvbihjYWxsYmFjaykge307CgoKICAvKioKICAgKiBAcmV0dXJuIHtib29sZWFufQogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLmFyZURlcHNMb2FkZWQgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogQmFzaWMgc3VwZXIgY2xhc3MgZm9yIGFsbCBkZXBlbmRlbmNpZXMgQ2xvc3VyZSBMaWJyYXJ5IGNhbiBsb2FkLgogICAqCiAgICogVGhpcyBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIGRlc2lnbmVkIHRvIGxvYWQgdW50cmFuc3BpbGVkLCBub24tbW9kdWxlCiAgICogc2NyaXB0cyBpbiBhIHdlYiBicm9zd2VyLgogICAqCiAgICogRm9yIHRyYW5zcGlsZWQgbm9uLWdvb2cubW9kdWxlIGZpbGVzIHtAc2VlIGdvb2cuVHJhbnNwaWxlZERlcGVuZGVuY3l9LgogICAqIEZvciBnb29nLm1vZHVsZXMgc2VlIHtAc2VlIGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3l9LgogICAqIEZvciB1bnRyYW5zcGlsZWQgRVM2IG1vZHVsZXMge0BzZWUgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5fS4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIEFic29sdXRlIHBhdGggb2YgdGhpcyBzY3JpcHQuCiAgICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlUGF0aCBQYXRoIG9mIHRoaXMgc2NyaXB0IHJlbGF0aXZlIHRvIGdvb2cuYmFzZVBhdGguCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcHJvdmlkZXMgZ29vZy5wcm92aWRlZCBvciBnb29nLm1vZHVsZSBzeW1ib2xzCiAgICogICAgIGluIHRoaXMgZmlsZS4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBnb29nIHN5bWJvbHMgb3IgcmVsYXRpdmUgcGF0aHMgdG8gQ2xvc3VyZQogICAqICAgICB0aGlzIGRlcGVuZHMgb24uCiAgICogQHBhcmFtIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gbG9hZEZsYWdzCiAgICogQHN0cnVjdCBAY29uc3RydWN0b3IKICAgKi8KICBnb29nLkRlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncykgewogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5wYXRoID0gcGF0aDsKICAgIC8qKiBAY29uc3QgKi8KICAgIHRoaXMucmVsYXRpdmVQYXRoID0gcmVsYXRpdmVQYXRoOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5wcm92aWRlcyA9IHByb3ZpZGVzOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5yZXF1aXJlcyA9IHJlcXVpcmVzOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5sb2FkRmxhZ3MgPSBsb2FkRmxhZ3M7CiAgICAvKiogQHByaXZhdGUge2Jvb2xlYW59ICovCiAgICB0aGlzLmxvYWRlZF8gPSBmYWxzZTsKICAgIC8qKiBAcHJpdmF0ZSB7IUFycmF5PGZ1bmN0aW9uKCk+fSAqLwogICAgdGhpcy5sb2FkQ2FsbGJhY2tzXyA9IFtdOwogIH07CgoKICAvKioKICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBwYXRobmFtZSBwYXJ0IG9mIHRoaXMgZGVwZW5kZW5jeSdzIHBhdGggaWYgaXQgaXMgYQogICAqICAgICBVUkkuCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5nZXRQYXRoTmFtZSA9IGZ1bmN0aW9uKCkgewogICAgdmFyIHBhdGhOYW1lID0gdGhpcy5wYXRoOwogICAgdmFyIHByb3RvY29sSW5kZXggPSBwYXRoTmFtZS5pbmRleE9mKCc6Ly8nKTsKICAgIGlmIChwcm90b2NvbEluZGV4ID49IDApIHsKICAgICAgcGF0aE5hbWUgPSBwYXRoTmFtZS5zdWJzdHJpbmcocHJvdG9jb2xJbmRleCArIDMpOwogICAgICB2YXIgc2xhc2hJbmRleCA9IHBhdGhOYW1lLmluZGV4T2YoJy8nKTsKICAgICAgaWYgKHNsYXNoSW5kZXggPj0gMCkgewogICAgICAgIHBhdGhOYW1lID0gcGF0aE5hbWUuc3Vic3RyaW5nKHNsYXNoSW5kZXggKyAxKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHBhdGhOYW1lOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIGZpcmUgYXMgc29vbiBhcyB0aGlzIGhhcyBsb2FkZWQuCiAgICogQGZpbmFsCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5vbkxvYWQgPSBmdW5jdGlvbihjYWxsYmFjaykgewogICAgaWYgKHRoaXMubG9hZGVkXykgewogICAgICBjYWxsYmFjaygpOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5sb2FkQ2FsbGJhY2tzXy5wdXNoKGNhbGxiYWNrKTsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogTWFya3MgdGhpcyBkZXBlbmRlbmN5IGFzIGxvYWRlZCBhbmQgZmlyZXMgYW55IGNhbGxiYWNrcyByZWdpc3RlcmVkIHdpdGgKICAgKiBvbkxvYWQuCiAgICogQGZpbmFsCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkZWQgPSBmdW5jdGlvbigpIHsKICAgIHRoaXMubG9hZGVkXyA9IHRydWU7CiAgICB2YXIgY2FsbGJhY2tzID0gdGhpcy5sb2FkQ2FsbGJhY2tzXzsKICAgIHRoaXMubG9hZENhbGxiYWNrc18gPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGNhbGxiYWNrc1tpXSgpOwogICAgfQogIH07CgoKICAvKioKICAgKiBXaGV0aGVyIG9yIG5vdCBkb2N1bWVudC53cml0dGVuIC8gYXBwZW5kZWQgc2NyaXB0IHRhZ3Mgc2hvdWxkIGJlIGRlZmVycmVkLgogICAqCiAgICogQHByaXZhdGUge2Jvb2xlYW59CiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LmRlZmVyXyA9IGZhbHNlOwoKCiAgLyoqCiAgICogTWFwIG9mIHNjcmlwdCByZWFkeSAvIHN0YXRlIGNoYW5nZSBjYWxsYmFja3MuIE9sZCBJRSBjYW5ub3QgaGFuZGxlIHB1dHRpbmcKICAgKiB0aGVzZSBwcm9wZXJ0aWVzIG9uIGdvb2cuZ2xvYmFsLgogICAqCiAgICogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgZnVuY3Rpb24oPyk6dW5kZWZpbmVkPn0KICAgKi8KICBnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tNYXBfID0ge307CgoKICAvKioKICAgKiBAcGFyYW0ge2Z1bmN0aW9uKC4uLj8pOj99IGNhbGxiYWNrCiAgICogQHJldHVybiB7c3RyaW5nfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgIHZhciBrZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDMyKTsKICAgIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja01hcF9ba2V5XSA9IGNhbGxiYWNrOwogICAgcmV0dXJuIGtleTsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnVucmVnaXN0ZXJDYWxsYmFja18gPSBmdW5jdGlvbihrZXkpIHsKICAgIGRlbGV0ZSBnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tNYXBfW2tleV07CiAgfTsKCgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkKICAgKiBAcGFyYW0gey4uLj99IHZhcl9hcmdzCiAgICogQHByaXZhdGUKICAgKiBAc3VwcHJlc3Mge3VudXNlZFByaXZhdGVNZW1iZXJzfQogICAqLwogIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja18gPSBmdW5jdGlvbihrZXksIHZhcl9hcmdzKSB7CiAgICBpZiAoa2V5IGluIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja01hcF8pIHsKICAgICAgdmFyIGNhbGxiYWNrID0gZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrTWFwX1trZXldOwogICAgICB2YXIgYXJncyA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pOwogICAgICB9CiAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7CiAgICB9IGVsc2UgewogICAgICB2YXIgZXJyb3JNZXNzYWdlID0gJ0NhbGxiYWNrIGtleSAnICsga2V5ICsKICAgICAgICAgICcgZG9lcyBub3QgZXhpc3QgKHdhcyBiYXNlLmpzIGxvYWRlZCBtb3JlIHRoYW4gb25jZT8pLic7CiAgICAgIHRocm93IEVycm9yKGVycm9yTWVzc2FnZSk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFN0YXJ0cyBsb2FkaW5nIHRoaXMgZGVwZW5kZW5jeS4gVGhpcyBkZXBlbmRlbmN5IGNhbiBwYXVzZSBsb2FkaW5nIGlmIGl0CiAgICogbmVlZHMgdG8gYW5kIHJlc3VtZSBpdCBsYXRlciB2aWEgdGhlIGNvbnRyb2xsZXIgaW50ZXJmYWNlLgogICAqCiAgICogV2hlbiB0aGlzIGlzIGxvYWRlZCBpdCBzaG91bGQgY2FsbCBjb250cm9sbGVyLmxvYWRlZCgpLiBOb3RlIHRoYXQgdGhpcyB3aWxsCiAgICogZW5kIHVwIGNhbGxpbmcgdGhlIGxvYWRlZCBtZXRob2Qgb2YgdGhpcyBkZXBlbmRlbmN5OyB0aGVyZSBpcyBubyBuZWVkIHRvCiAgICogY2FsbCBpdCBleHBsaWNpdGx5LgogICAqCiAgICogQHBhcmFtIHshZ29vZy5Mb2FkQ29udHJvbGxlcn0gY29udHJvbGxlcgogICAqLwogIGdvb2cuRGVwZW5kZW5jeS5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uKGNvbnRyb2xsZXIpIHsKICAgIGlmIChnb29nLmdsb2JhbC5DTE9TVVJFX0lNUE9SVF9TQ1JJUFQpIHsKICAgICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfSU1QT1JUX1NDUklQVCh0aGlzLnBhdGgpKSB7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICghZ29vZy5pbkh0bWxEb2N1bWVudF8oKSkgewogICAgICBnb29nLmxvZ1RvQ29uc29sZV8oCiAgICAgICAgICAnQ2Fubm90IHVzZSBkZWZhdWx0IGRlYnVnIGxvYWRlciBvdXRzaWRlIG9mIEhUTUwgZG9jdW1lbnRzLicpOwogICAgICBpZiAodGhpcy5yZWxhdGl2ZVBhdGggPT0gJ2RlcHMuanMnKSB7CiAgICAgICAgLy8gU29tZSBvbGQgY29kZSBpcyByZWx5aW5nIG9uIGJhc2UuanMgYXV0byBsb2FkaW5nIGRlcHMuanMgZmFpbGluZyB3aXRoCiAgICAgICAgLy8gbm8gZXJyb3IgYmVmb3JlIGxhdGVyIHNldHRpbmcgQ0xPU1VSRV9JTVBPUlRfU0NSSVBULgogICAgICAgIC8vIENMT1NVUkVfSU1QT1JUX1NDUklQVCBzaG91bGQgYmUgc2V0ICpiZWZvcmUqIGJhc2UuanMgaXMgbG9hZGVkLCBvcgogICAgICAgIC8vIENMT1NVUkVfTk9fREVQUyBzZXQgdG8gdHJ1ZS4KICAgICAgICBnb29nLmxvZ1RvQ29uc29sZV8oCiAgICAgICAgICAgICdDb25zaWRlciBzZXR0aW5nIENMT1NVUkVfSU1QT1JUX1NDUklQVCBiZWZvcmUgbG9hZGluZyBiYXNlLmpzLCAnICsKICAgICAgICAgICAgJ29yIHNldHRpbmcgQ0xPU1VSRV9OT19ERVBTIHRvIHRydWUuJyk7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qKiBAdHlwZSB7IUhUTUxEb2N1bWVudH0gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICAvLyBJZiB0aGUgdXNlciB0cmllcyB0byByZXF1aXJlIGEgbmV3IHN5bWJvbCBhZnRlciBkb2N1bWVudCBsb2FkLAogICAgLy8gc29tZXRoaW5nIGhhcyBnb25lIHRlcnJpYmx5IHdyb25nLiBEb2luZyBhIGRvY3VtZW50LndyaXRlIHdvdWxkCiAgICAvLyB3aXBlIG91dCB0aGUgcGFnZS4gVGhpcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgQ1NQLWNvbXBsaWFudCBtZXRob2QKICAgIC8vIG9mIHdyaXRpbmcgc2NyaXB0IHRhZ3MuCiAgICBpZiAoZG9jLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJyAmJgogICAgICAgICFnb29nLkVOQUJMRV9DSFJPTUVfQVBQX1NBRkVfU0NSSVBUX0xPQURJTkcpIHsKICAgICAgLy8gQ2VydGFpbiB0ZXN0IGZyYW1ld29ya3MgbG9hZCBiYXNlLmpzIG11bHRpcGxlIHRpbWVzLCB3aGljaCB0cmllcwogICAgICAvLyB0byB3cml0ZSBkZXBzLmpzIGVhY2ggdGltZS4gSWYgdGhhdCBoYXBwZW5zLCBqdXN0IGZhaWwgc2lsZW50bHkuCiAgICAgIC8vIFRoZXNlIGZyYW1ld29ya3Mgd2lwZSB0aGUgcGFnZSBiZXR3ZWVuIGVhY2ggbG9hZCBvZiBiYXNlLmpzLCBzbyB0aGlzCiAgICAgIC8vIGlzIE9LLgogICAgICB2YXIgaXNEZXBzID0gL1xiZGVwcy5qcyQvLnRlc3QodGhpcy5wYXRoKTsKICAgICAgaWYgKGlzRGVwcykgewogICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IGVsc2UgewogICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgd3JpdGUgIicgKyB0aGlzLnBhdGggKyAnIiBhZnRlciBkb2N1bWVudCBsb2FkJyk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIWdvb2cuRU5BQkxFX0NIUk9NRV9BUFBfU0FGRV9TQ1JJUFRfTE9BRElORyAmJgogICAgICAgIGdvb2cuaXNEb2N1bWVudExvYWRpbmdfKCkpIHsKICAgICAgdmFyIGtleSA9IGdvb2cuRGVwZW5kZW5jeS5yZWdpc3RlckNhbGxiYWNrXyhmdW5jdGlvbihzY3JpcHQpIHsKICAgICAgICBpZiAoIWdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8gfHwgc2NyaXB0LnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykgewogICAgICAgICAgZ29vZy5EZXBlbmRlbmN5LnVucmVnaXN0ZXJDYWxsYmFja18oa2V5KTsKICAgICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIG5vbmNlQXR0ciA9ICFnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfICYmIGdvb2cuZ2V0U2NyaXB0Tm9uY2UoKSA/CiAgICAgICAgICAnIG5vbmNlPSInICsgZ29vZy5nZXRTY3JpcHROb25jZSgpICsgJyInIDoKICAgICAgICAgICcnOwogICAgICB2YXIgZXZlbnQgPQogICAgICAgICAgZ29vZy5EZWJ1Z0xvYWRlcl8uSVNfT0xEX0lFXyA/ICdvbnJlYWR5c3RhdGVjaGFuZ2UnIDogJ29ubG9hZCc7CiAgICAgIHZhciBkZWZlciA9IGdvb2cuRGVwZW5kZW5jeS5kZWZlcl8gPyAnZGVmZXInIDogJyc7CiAgICAgIHZhciBzY3JpcHQgPSAnPHNjcmlwdCBzcmM9IicgKyB0aGlzLnBhdGggKyAnIiAnICsgZXZlbnQgKwogICAgICAgICAgJz0iZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXyhcJycgKyBrZXkgKwogICAgICAgICAgJ1wnLCB0aGlzKSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiAnICsgZGVmZXIgKyBub25jZUF0dHIgKyAnPjwnICsKICAgICAgICAgICcvc2NyaXB0Pic7CiAgICAgIGRvYy53cml0ZSgKICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgICBnb29nLlRSVVNURURfVFlQRVNfUE9MSUNZXy5jcmVhdGVIVE1MKHNjcmlwdCkgOgogICAgICAgICAgICAgIHNjcmlwdCk7CiAgICB9IGVsc2UgewogICAgICB2YXIgc2NyaXB0RWwgPQogICAgICAgICAgLyoqIEB0eXBlIHshSFRNTFNjcmlwdEVsZW1lbnR9ICovIChkb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpOwogICAgICBzY3JpcHRFbC5kZWZlciA9IGdvb2cuRGVwZW5kZW5jeS5kZWZlcl87CiAgICAgIHNjcmlwdEVsLmFzeW5jID0gZmFsc2U7CiAgICAgIHNjcmlwdEVsLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKCiAgICAgIC8vIElmIENTUCBub25jZXMgYXJlIHVzZWQsIHByb3BhZ2F0ZSB0aGVtIHRvIGR5bmFtaWNhbGx5IGNyZWF0ZWQgc2NyaXB0cy4KICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgdG8gYWxsb3cgbm9uY2UtYmFzZWQgQ1NQcyB3aXRob3V0ICdzdHJpY3QtZHluYW1pYycuCiAgICAgIHZhciBub25jZSA9IGdvb2cuZ2V0U2NyaXB0Tm9uY2UoKTsKICAgICAgaWYgKG5vbmNlKSB7CiAgICAgICAgc2NyaXB0RWwuc2V0QXR0cmlidXRlKCdub25jZScsIG5vbmNlKTsKICAgICAgfQoKICAgICAgaWYgKGdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8pIHsKICAgICAgICAvLyBFeGVjdXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQgb24gb2xkIElFLCBoYWx0IGxvYWRpbmcgYW5kIHdyaXRlCiAgICAgICAgLy8gdGhlc2Ugc2NyaXB0cyBvbmUgYXQgYSB0aW1lLCBhZnRlciBlYWNoIGxvYWRzLgogICAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgICBzY3JpcHRFbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmIChzY3JpcHRFbC5yZWFkeVN0YXRlID09ICdsb2FkZWQnIHx8CiAgICAgICAgICAgICAgc2NyaXB0RWwucmVhZHlTdGF0ZSA9PSAnY29tcGxldGUnKSB7CiAgICAgICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgICAgIGNvbnRyb2xsZXIucmVzdW1lKCk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzY3JpcHRFbC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHNjcmlwdEVsLm9ubG9hZCA9IG51bGw7CiAgICAgICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHNjcmlwdEVsLnNyYyA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfLmNyZWF0ZVNjcmlwdFVSTCh0aGlzLnBhdGgpIDoKICAgICAgICAgIHRoaXMucGF0aDsKICAgICAgZG9jLmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWwpOwogICAgfQogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBBYnNvbHV0ZSBwYXRoIG9mIHRoaXMgc2NyaXB0LgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGl2ZVBhdGggUGF0aCBvZiB0aGlzIHNjcmlwdCByZWxhdGl2ZSB0byBnb29nLmJhc2VQYXRoLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHByb3ZpZGVzIFNob3VsZCBiZSBhbiBlbXB0eSBhcnJheS4KICAgKiAgICAgVE9ETyhqb2hucGxhaXN0ZWQpIGFkZCBzdXBwb3J0IGZvciBhZGRpbmcgY2xvc3VyZSBuYW1lc3BhY2VzIHRvIEVTNgogICAqICAgICBtb2R1bGVzIGZvciBpbnRlcm9wIHB1cnBvc2VzLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLkRlcGVuZGVuY3l9CiAgICovCiAgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpIHsKICAgIGdvb2cuRXM2TW9kdWxlRGVwZW5kZW5jeS5iYXNlKAogICAgICAgIHRoaXMsICdjb25zdHJ1Y3RvcicsIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogIH07CiAgZ29vZy5pbmhlcml0cyhnb29nLkVzNk1vZHVsZURlcGVuZGVuY3ksIGdvb2cuRGVwZW5kZW5jeSk7CgoKICAvKiogQG92ZXJyaWRlICovCiAgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkID0gZnVuY3Rpb24oY29udHJvbGxlcikgewogICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfSU1QT1JUX1NDUklQVCkgewogICAgICBpZiAoZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKHRoaXMucGF0aCkpIHsKICAgICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCFnb29nLmluSHRtbERvY3VtZW50XygpKSB7CiAgICAgIGdvb2cubG9nVG9Db25zb2xlXygKICAgICAgICAgICdDYW5ub3QgdXNlIGRlZmF1bHQgZGVidWcgbG9hZGVyIG91dHNpZGUgb2YgSFRNTCBkb2N1bWVudHMuJyk7CiAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qKiBAdHlwZSB7IUhUTUxEb2N1bWVudH0gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICB2YXIgZGVwID0gdGhpczsKCiAgICAvLyBUT0RPKGpvaG5wbGFpc3RlZCk6IERvZXMgZG9jdW1lbnQud3JpdGluZyByZWFsbHkgc3BlZWQgdXAgYW55dGhpbmc/IEFueQogICAgLy8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoaXMgYW5kIGp1c3Qgd2FpdGluZyBmb3IgaW50ZXJhY3RpdmUgbW9kZSBhbmQgdGhlbgogICAgLy8gYXBwZW5kaW5nPwogICAgZnVuY3Rpb24gd3JpdGUoc3JjLCBjb250ZW50cykgewogICAgICBpZiAoY29udGVudHMpIHsKICAgICAgICB2YXIgc2NyaXB0ID0gJzxzY3JpcHQgdHlwZT0ibW9kdWxlIiBjcm9zc29yaWdpbj4nICsgY29udGVudHMgKyAnPC8nICsKICAgICAgICAgICAgJ3NjcmlwdD4nOwogICAgICAgIGRvYy53cml0ZSgKICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlSFRNTChzY3JpcHQpIDoKICAgICAgICAgICAgICAgIHNjcmlwdCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHNjcmlwdCA9ICc8c2NyaXB0IHR5cGU9Im1vZHVsZSIgY3Jvc3NvcmlnaW4gc3JjPSInICsgc3JjICsgJyI+PC8nICsKICAgICAgICAgICAgJ3NjcmlwdD4nOwogICAgICAgIGRvYy53cml0ZSgKICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlSFRNTChzY3JpcHQpIDoKICAgICAgICAgICAgICAgIHNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhcHBlbmQoc3JjLCBjb250ZW50cykgewogICAgICB2YXIgc2NyaXB0RWwgPQogICAgICAgICAgLyoqIEB0eXBlIHshSFRNTFNjcmlwdEVsZW1lbnR9ICovIChkb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpOwogICAgICBzY3JpcHRFbC5kZWZlciA9IHRydWU7CiAgICAgIHNjcmlwdEVsLmFzeW5jID0gZmFsc2U7CiAgICAgIHNjcmlwdEVsLnR5cGUgPSAnbW9kdWxlJzsKICAgICAgc2NyaXB0RWwuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsIHRydWUpOwoKICAgICAgLy8gSWYgQ1NQIG5vbmNlcyBhcmUgdXNlZCwgcHJvcGFnYXRlIHRoZW0gdG8gZHluYW1pY2FsbHkgY3JlYXRlZCBzY3JpcHRzLgogICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhbGxvdyBub25jZS1iYXNlZCBDU1BzIHdpdGhvdXQgJ3N0cmljdC1keW5hbWljJy4KICAgICAgdmFyIG5vbmNlID0gZ29vZy5nZXRTY3JpcHROb25jZSgpOwogICAgICBpZiAobm9uY2UpIHsKICAgICAgICBzY3JpcHRFbC5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgbm9uY2UpOwogICAgICB9CgogICAgICBpZiAoY29udGVudHMpIHsKICAgICAgICBzY3JpcHRFbC50ZXh0Q29udGVudCA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlU2NyaXB0KGNvbnRlbnRzKSA6CiAgICAgICAgICAgIGNvbnRlbnRzOwogICAgICB9IGVsc2UgewogICAgICAgIHNjcmlwdEVsLnNyYyA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlU2NyaXB0VVJMKHNyYykgOgogICAgICAgICAgICBzcmM7CiAgICAgIH0KCiAgICAgIGRvYy5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdEVsKTsKICAgIH0KCiAgICB2YXIgY3JlYXRlOwoKICAgIGlmIChnb29nLmlzRG9jdW1lbnRMb2FkaW5nXygpKSB7CiAgICAgIGNyZWF0ZSA9IHdyaXRlOwogICAgICAvLyBXZSBjYW4gT05MWSBjYWxsIGRvY3VtZW50LndyaXRlIGlmIHdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYW55CiAgICAgIC8vIG5vbi1tb2R1bGUgc2NyaXB0IHRhZ3MgZG9jdW1lbnQud3JpdHRlbiBhZnRlciB0aGlzIGFyZSBkZWZlcnJlZC4KICAgICAgLy8gU21hbGwgb3B0aW1pemF0aW9uLCBpbiB0aGVvcnkgZG9jdW1lbnQud3JpdGluZyBpcyBmYXN0ZXIuCiAgICAgIGdvb2cuRGVwZW5kZW5jeS5kZWZlcl8gPSB0cnVlOwogICAgfSBlbHNlIHsKICAgICAgY3JlYXRlID0gYXBwZW5kOwogICAgfQoKICAgIC8vIFdyaXRlIDQgc2VwYXJhdGUgdGFncyBoZXJlOgogICAgLy8gMSkgU2V0cyB0aGUgbW9kdWxlIHN0YXRlIGF0IHRoZSBjb3JyZWN0IHRpbWUgKGp1c3QgYmVmb3JlIGV4ZWN1dGlvbikuCiAgICAvLyAyKSBBIHNyYyBub2RlIGZvciB0aGlzLCB3aGljaCBqdXN0IGhvcGVmdWxseSBsZXRzIHRoZSBicm93c2VyIGxvYWQgaXQgYQogICAgLy8gICAgbGl0dGxlIGVhcmx5IChubyBuZWVkIHRvIHBhcnNlICMzKS4KICAgIC8vIDMpIEltcG9ydCB0aGUgbW9kdWxlIGFuZCByZWdpc3RlciBpdC4KICAgIC8vIDQpIENsZWFyIHRoZSBtb2R1bGUgc3RhdGUgYXQgdGhlIGNvcnJlY3QgdGltZS4gR3VhcmFudGVlZCB0byBydW4gZXZlbgogICAgLy8gICAgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gdGhlIG1vZHVsZSAoIzMgd2lsbCBub3QgcnVuIGlmIHRoZXJlIGlzIGFuCiAgICAvLyAgICBlcnJvciBpbiB0aGUgbW9kdWxlKS4KICAgIHZhciBiZWZvcmVLZXkgPSBnb29nLkRlcGVuZGVuY3kucmVnaXN0ZXJDYWxsYmFja18oZnVuY3Rpb24oKSB7CiAgICAgIGdvb2cuRGVwZW5kZW5jeS51bnJlZ2lzdGVyQ2FsbGJhY2tfKGJlZm9yZUtleSk7CiAgICAgIGNvbnRyb2xsZXIuc2V0TW9kdWxlU3RhdGUoZ29vZy5Nb2R1bGVUeXBlLkVTNik7CiAgICB9KTsKICAgIGNyZWF0ZSh1bmRlZmluZWQsICdnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tfKCInICsgYmVmb3JlS2V5ICsgJyIpJyk7CgogICAgLy8gVE9ETyhqb2hucGxhaXN0ZWQpOiBEb2VzIHRoaXMgcmVhbGx5IHNwZWVkIHVwIGFueXRoaW5nPwogICAgY3JlYXRlKHRoaXMucGF0aCwgdW5kZWZpbmVkKTsKCiAgICB2YXIgcmVnaXN0ZXJLZXkgPSBnb29nLkRlcGVuZGVuY3kucmVnaXN0ZXJDYWxsYmFja18oZnVuY3Rpb24oZXhwb3J0cykgewogICAgICBnb29nLkRlcGVuZGVuY3kudW5yZWdpc3RlckNhbGxiYWNrXyhyZWdpc3RlcktleSk7CiAgICAgIGNvbnRyb2xsZXIucmVnaXN0ZXJFczZNb2R1bGVFeHBvcnRzKAogICAgICAgICAgZGVwLnBhdGgsIGV4cG9ydHMsIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLm1vZHVsZU5hbWUpOwogICAgfSk7CiAgICBjcmVhdGUoCiAgICAgICAgdW5kZWZpbmVkLAogICAgICAgICdpbXBvcnQgKiBhcyBtIGZyb20gIicgKyB0aGlzLnBhdGggKyAnIjsgZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArCiAgICAgICAgICAgIHJlZ2lzdGVyS2V5ICsgJyIsIG0pJyk7CgogICAgdmFyIGFmdGVyS2V5ID0gZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfKGZ1bmN0aW9uKCkgewogICAgICBnb29nLkRlcGVuZGVuY3kudW5yZWdpc3RlckNhbGxiYWNrXyhhZnRlcktleSk7CiAgICAgIGNvbnRyb2xsZXIuY2xlYXJNb2R1bGVTdGF0ZSgpOwogICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgfSk7CiAgICBjcmVhdGUodW5kZWZpbmVkLCAnZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArIGFmdGVyS2V5ICsgJyIpJyk7CiAgfTsKCgogIC8qKgogICAqIFN1cGVyY2xhc3Mgb2YgYW55IGRlcGVuZGVuY3kgdGhhdCBuZWVkcyB0byBiZSBsb2FkZWQgaW50byBtZW1vcnksCiAgICogdHJhbnNmb3JtZWQsIGFuZCB0aGVuIGV2YWwnZCAoZ29vZy5tb2R1bGVzIGFuZCB0cmFuc3BpbGVkIGZpbGVzKS4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIEFic29sdXRlIHBhdGggb2YgdGhpcyBzY3JpcHQuCiAgICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlUGF0aCBQYXRoIG9mIHRoaXMgc2NyaXB0IHJlbGF0aXZlIHRvIGdvb2cuYmFzZVBhdGguCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcHJvdmlkZXMgZ29vZy5wcm92aWRlZCBvciBnb29nLm1vZHVsZSBzeW1ib2xzCiAgICogICAgIGluIHRoaXMgZmlsZS4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBnb29nIHN5bWJvbHMgb3IgcmVsYXRpdmUgcGF0aHMgdG8gQ2xvc3VyZQogICAqICAgICB0aGlzIGRlcGVuZHMgb24uCiAgICogQHBhcmFtIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gbG9hZEZsYWdzCiAgICogQHN0cnVjdCBAY29uc3RydWN0b3IgQGFic3RyYWN0CiAgICogQGV4dGVuZHMge2dvb2cuRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeSA9IGZ1bmN0aW9uKAogICAgICBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKSB7CiAgICBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeS5iYXNlKAogICAgICAgIHRoaXMsICdjb25zdHJ1Y3RvcicsIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogICAgLyoqIEBwcml2YXRlIHs/c3RyaW5nfSAqLwogICAgdGhpcy5jb250ZW50c18gPSBudWxsOwoKICAgIC8qKgogICAgICogV2hldGhlciB0byBsYXppbHkgbWFrZSB0aGUgc3luY2hyb25vdXMgWEhSICh3aGVuIGdvb2cucmVxdWlyZSdkKSBvciBtYWtlCiAgICAgKiB0aGUgc3luY2hyb25vdXMgWEhSIHdoZW4gaW5pdGlhbGx5IGxvYWRpbmcuIE9uIEZpcmVGb3ggNjEgdGhlcmUgaXMgYSBidWcKICAgICAqIHdoZXJlIGFuIEVTNiBtb2R1bGUgY2Fubm90IG1ha2UgYSBzeW5jaHJvbm91cyBYSFIgKHJhdGhlciwgaXQgY2FuLCBidXQgaWYKICAgICAqIGl0IGRvZXMgdGhlbiBubyBvdGhlciBFUzYgbW9kdWxlcyB3aWxsIGxvYWQgYWZ0ZXIpLgogICAgICoKICAgICAqIHRsO2RyIHdlIGxhenkgbG9hZCBkdWUgdG8gYnVncyBvbiBvbGRlciBicm93c2VycyBhbmQgZWFnZXIgbG9hZCBkdWUgdG8KICAgICAqIGJ1Z3Mgb24gbmV3ZXIgb25lcy4KICAgICAqCiAgICAgKiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3MDkwCiAgICAgKgogICAgICogQHByaXZhdGUgQGNvbnN0IHtib29sZWFufQogICAgICovCiAgICB0aGlzLmxhenlGZXRjaF8gPSAhZ29vZy5pbkh0bWxEb2N1bWVudF8oKSB8fAogICAgICAgICEoJ25vTW9kdWxlJyBpbiBnb29nLmdsb2JhbC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSk7CiAgfTsKICBnb29nLmluaGVyaXRzKGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5LCBnb29nLkRlcGVuZGVuY3kpOwoKCiAgLyoqIEBvdmVycmlkZSAqLwogIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkID0gZnVuY3Rpb24oY29udHJvbGxlcikgewogICAgdmFyIGRlcCA9IHRoaXM7CgogICAgZnVuY3Rpb24gZmV0Y2goKSB7CiAgICAgIGRlcC5jb250ZW50c18gPSBnb29nLmxvYWRGaWxlU3luY18oZGVwLnBhdGgpOwoKICAgICAgaWYgKGRlcC5jb250ZW50c18pIHsKICAgICAgICBkZXAuY29udGVudHNfID0gZGVwLnRyYW5zZm9ybShkZXAuY29udGVudHNfKTsKICAgICAgICBpZiAoZGVwLmNvbnRlbnRzXykgewogICAgICAgICAgZGVwLmNvbnRlbnRzXyArPSAnXG4vLyMgc291cmNlVVJMPScgKyBkZXAucGF0aDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBpZiAoZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKSB7CiAgICAgIGZldGNoKCk7CiAgICAgIGlmICh0aGlzLmNvbnRlbnRzXyAmJgogICAgICAgICAgZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKCcnLCB0aGlzLmNvbnRlbnRzXykpIHsKICAgICAgICB0aGlzLmNvbnRlbnRzXyA9IG51bGw7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKCiAgICB2YXIgaXNFczYgPSB0aGlzLmxvYWRGbGFnc1snbW9kdWxlJ10gPT0gZ29vZy5Nb2R1bGVUeXBlLkVTNjsKCiAgICBpZiAoIXRoaXMubGF6eUZldGNoXykgewogICAgICBmZXRjaCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWQoKSB7CiAgICAgIGlmIChkZXAubGF6eUZldGNoXykgewogICAgICAgIGZldGNoKCk7CiAgICAgIH0KCiAgICAgIGlmICghZGVwLmNvbnRlbnRzXykgewogICAgICAgIC8vIGxvYWRGaWxlU3luY18gb3IgdHJhbnNmb3JtIGFyZSByZXNwb25zaWJsZS4gQXNzdW1lIHRoZXkgbG9nZ2VkIGFuCiAgICAgICAgLy8gZXJyb3IuCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoaXNFczYpIHsKICAgICAgICBjb250cm9sbGVyLnNldE1vZHVsZVN0YXRlKGdvb2cuTW9kdWxlVHlwZS5FUzYpOwogICAgICB9CgogICAgICB2YXIgbmFtZXNwYWNlOwoKICAgICAgdHJ5IHsKICAgICAgICB2YXIgY29udGVudHMgPSBkZXAuY29udGVudHNfOwogICAgICAgIGRlcC5jb250ZW50c18gPSBudWxsOwogICAgICAgIGdvb2cuZ2xvYmFsRXZhbChjb250ZW50cyk7CiAgICAgICAgaWYgKGlzRXM2KSB7CiAgICAgICAgICBuYW1lc3BhY2UgPSBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lOwogICAgICAgIH0KICAgICAgfSBmaW5hbGx5IHsKICAgICAgICBpZiAoaXNFczYpIHsKICAgICAgICAgIGNvbnRyb2xsZXIuY2xlYXJNb2R1bGVTdGF0ZSgpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGlzRXM2KSB7CiAgICAgICAgLy8gRHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llcyB0aGlzIG1heSBub3QgYmUgYXZhaWxhYmxlIGZvciByZXF1aXJlCiAgICAgICAgLy8gcmlnaHQgbm93LgogICAgICAgIGdvb2cuZ2xvYmFsWyckanNjb21wJ11bJ3JlcXVpcmUnXVsnZW5zdXJlJ10oCiAgICAgICAgICAgIFtkZXAuZ2V0UGF0aE5hbWUoKV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGNvbnRyb2xsZXIucmVnaXN0ZXJFczZNb2R1bGVFeHBvcnRzKAogICAgICAgICAgICAgICAgICBkZXAucGF0aCwKICAgICAgICAgICAgICAgICAgZ29vZy5nbG9iYWxbJyRqc2NvbXAnXVsncmVxdWlyZSddKGRlcC5nZXRQYXRoTmFtZSgpKSwKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlKTsKICAgICAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICB9CgogICAgLy8gRG8gbm90IGZldGNoIG5vdzsgaW4gRmlyZUZveCA0NyB0aGUgc3luY2hyb25vdXMgWEhSIGRvZXNuJ3QgYmxvY2sgYWxsCiAgICAvLyBldmVudHMuIElmIHdlIGZldGNoZWQgbm93IGFuZCB0aGVuIGRvY3VtZW50LndyaXRlJ2QgdGhlIGNvbnRlbnRzIHRoZQogICAgLy8gZG9jdW1lbnQud3JpdGUgd291bGQgYmUgYW4gZXZhbCBhbmQgd291bGQgZXhlY3V0ZSB0b28gc29vbiEgSW5zdGVhZCB3cml0ZQogICAgLy8gYSBzY3JpcHQgdGFnIHRvIGZldGNoIGFuZCBldmFsIHN5bmNocm9ub3VzbHkgYXQgdGhlIGNvcnJlY3QgdGltZS4KICAgIGZ1bmN0aW9uIGZldGNoSW5Pd25TY3JpcHRUaGVuTG9hZCgpIHsKICAgICAgLyoqIEB0eXBlIHshSFRNTERvY3VtZW50fSAqLwogICAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CgogICAgICB2YXIga2V5ID0gZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfKGZ1bmN0aW9uKCkgewogICAgICAgIGdvb2cuRGVwZW5kZW5jeS51bnJlZ2lzdGVyQ2FsbGJhY2tfKGtleSk7CiAgICAgICAgbG9hZCgpOwogICAgICB9KTsKCiAgICAgIHZhciBzY3JpcHQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPicgKwogICAgICAgICAgZ29vZy5wcm90ZWN0U2NyaXB0VGFnXygnZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArIGtleSArICciKTsnKSArCiAgICAgICAgICAnPC8nICsKICAgICAgICAgICdzY3JpcHQ+JzsKICAgICAgZG9jLndyaXRlKAogICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfLmNyZWF0ZUhUTUwoc2NyaXB0KSA6CiAgICAgICAgICAgICAgc2NyaXB0KTsKICAgIH0KCiAgICAvLyBJZiBvbmUgdGhpbmcgaXMgcGVuZGluZyBpdCBpcyB0aGlzLgogICAgdmFyIGFueXRoaW5nRWxzZVBlbmRpbmcgPSBjb250cm9sbGVyLnBlbmRpbmcoKS5sZW5ndGggPiAxOwoKICAgIC8vIElmIGFueXRoaW5nIGVsc2UgaXMgbG9hZGluZyB3ZSBuZWVkIHRvIGxhenkgbG9hZCBkdWUgdG8gYnVncyBpbiBvbGQgSUUuCiAgICAvLyBTcGVjaWZpY2FsbHkgc2NyaXB0IHRhZ3Mgd2l0aCBzcmMgYW5kIHNjcmlwdCB0YWdzIHdpdGggY29udGVudHMgY291bGQKICAgIC8vIGV4ZWN1dGUgb3V0IG9mIG9yZGVyIGlmIGRvY3VtZW50LndyaXRlIGlzIHVzZWQsIHNvIHdlIGNhbm5vdCB1c2UKICAgIC8vIGRvY3VtZW50LndyaXRlLiBEbyBub3QgcGF1c2UgaGVyZTsgaXQgYnJlYWtzIG9sZCBJRSBhcyB3ZWxsLgogICAgdmFyIHVzZU9sZEllV29ya0Fyb3VuZCA9CiAgICAgICAgYW55dGhpbmdFbHNlUGVuZGluZyAmJiBnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfOwoKICAgIC8vIEFkZGl0aW9uYWxseSBpZiB3ZSBhcmUgbWVhbnQgdG8gZGVmZXIgc2NyaXB0cyBidXQgdGhlIHBhZ2UgaXMgc3RpbGwKICAgIC8vIGxvYWRpbmcgKGUuZy4gYW4gRVM2IG1vZHVsZSBpcyBsb2FkaW5nKSB0aGVuIGFsc28gZGVmZXIuIE9yIGlmIHdlIGFyZQogICAgLy8gbWVhbnQgdG8gZGVmZXIgYW5kIGFueXRoaW5nIGVsc2UgaXMgcGVuZGluZyB0aGVuIGRlZmVyICh0aG9zZSBtYXkgYmUKICAgIC8vIHNjcmlwdHMgdGhhdCBkaWQgbm90IG5lZWQgdHJhbnNmb3JtYXRpb24gYW5kIGFyZSBqdXN0IHNjcmlwdCB0YWdzIHdpdGgKICAgIC8vIGRlZmVyIHNldCB0byB0cnVlLCBhbmQgd2UgbmVlZCB0byBldmFsdWF0ZSBhZnRlciB0aGF0IGRlZmVycmVkIHNjcmlwdCkuCiAgICB2YXIgbmVlZHNBc3luY0xvYWRpbmcgPSBnb29nLkRlcGVuZGVuY3kuZGVmZXJfICYmCiAgICAgICAgKGFueXRoaW5nRWxzZVBlbmRpbmcgfHwgZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSk7CgogICAgaWYgKHVzZU9sZEllV29ya0Fyb3VuZCB8fCBuZWVkc0FzeW5jTG9hZGluZykgewogICAgICAvLyBOb3RlIHRoYXQgd2Ugb25seSBkZWZlciB3aGVuIHdlIGhhdmUgdG8gcmF0aGVyIHRoYW4gMTAwJSBvZiB0aGUgdGltZS4KICAgICAgLy8gQWx3YXlzIGRlZmVyaW5nIHdvdWxkIHdvcmssIGJ1dCB0aGVuIGluIHRoZW9yeSB0aGUgb3JkZXIgb2YKICAgICAgLy8gZ29vZy5yZXF1aXJlIGNhbGxzIHdvdWxkIHRoZW4gbWF0dGVyLiBXZSB3YW50IHRvIGVuZm9yY2UgdGhhdCBtb3N0IG9mCiAgICAgIC8vIHRoZSB0aW1lIHRoZSBvcmRlciBvZiB0aGUgcmVxdWlyZSBjYWxscyBkb2VzIG5vdCBtYXR0ZXIuCiAgICAgIGNvbnRyb2xsZXIuZGVmZXIoZnVuY3Rpb24oKSB7CiAgICAgICAgbG9hZCgpOwogICAgICB9KTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gVE9ETyhqb2hucGxhaXN0ZWQpOiBFeHRlcm5zIGFyZSBtaXNzaW5nIG9ucmVhZHlzdGF0ZWNoYW5nZSBmb3IKICAgIC8vIEhUTUxEb2N1bWVudC4KICAgIC8qKiBAdHlwZSB7P30gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICB2YXIgaXNJbnRlcm5ldEV4cGxvcmVyID0KICAgICAgICBnb29nLmluSHRtbERvY3VtZW50XygpICYmICdBY3RpdmVYT2JqZWN0JyBpbiBnb29nLmdsb2JhbDsKCiAgICAvLyBEb24ndCBkZWxheSBpbiBhbnkgdmVyc2lvbiBvZiBJRS4gVGhlcmUncyBidWcgYXJvdW5kIHRoaXMgdGhhdCB3aWxsCiAgICAvLyBjYXVzZSBvdXQgb2Ygb3JkZXIgc2NyaXB0IGV4ZWN1dGlvbi4gVGhpcyBtZWFucyB0aGF0IG9uIG9sZGVyIElFIEVTNgogICAgLy8gbW9kdWxlcyB3aWxsIGxvYWQgdG9vIGVhcmx5ICh3aGlsZSB0aGUgZG9jdW1lbnQgaXMgc3RpbGwgbG9hZGluZyArIHRoZQogICAgLy8gZG9tIGlzIG5vdCBhdmFpbGFibGUpLiBUaGUgb3RoZXIgb3B0aW9uIGlzIHRvIGxvYWQgdG9vIGxhdGUgKHdoZW4gdGhlCiAgICAvLyBkb2N1bWVudCBpcyBjb21wbGV0ZSBhbmQgdGhlIG9ubG9hZCBldmVuIHdpbGwgbmV2ZXIgZmlyZSkuIFRoaXMgc2VlbXMKICAgIC8vIHRvIGJlIHRoZSBsZXNzZXIgb2YgdHdvIGV2aWxzIGFzIHNjcmlwdHMgYWxyZWFkeSBhY3QgbGlrZSB0aGUgZm9ybWVyLgogICAgaWYgKGlzRXM2ICYmIGdvb2cuaW5IdG1sRG9jdW1lbnRfKCkgJiYgZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSAmJgogICAgICAgICFpc0ludGVybmV0RXhwbG9yZXIpIHsKICAgICAgZ29vZy5EZXBlbmRlbmN5LmRlZmVyXyA9IHRydWU7CiAgICAgIC8vIFRyYW5zcGlsZWQgRVM2IG1vZHVsZXMgc3RpbGwgbmVlZCB0byBsb2FkIGxpa2UgcmVndWxhciBFUzYgbW9kdWxlcywKICAgICAgLy8gYWthIG9ubHkgYWZ0ZXIgdGhlIGRvY3VtZW50IGlzIGludGVyYWN0aXZlLgogICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIHZhciBvbGRDYWxsYmFjayA9IGRvYy5vbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgIGRvYy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoZG9jLnJlYWR5U3RhdGUgPT0gJ2ludGVyYWN0aXZlJykgewogICAgICAgICAgZG9jLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG9sZENhbGxiYWNrOwogICAgICAgICAgbG9hZCgpOwogICAgICAgICAgY29udHJvbGxlci5yZXN1bWUoKTsKICAgICAgICB9CiAgICAgICAgaWYgKGdvb2cuaXNGdW5jdGlvbihvbGRDYWxsYmFjaykpIHsKICAgICAgICAgIG9sZENhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9IGVsc2UgewogICAgICAvLyBBbHdheXMgZXZhbCBvbiBvbGQgSUUuCiAgICAgIGlmIChnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfIHx8ICFnb29nLmluSHRtbERvY3VtZW50XygpIHx8CiAgICAgICAgICAhZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSkgewogICAgICAgIGxvYWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBmZXRjaEluT3duU2NyaXB0VGhlbkxvYWQoKTsKICAgICAgfQogICAgfQogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudHMKICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICogQGFic3RyYWN0CiAgICovCiAgZ29vZy5UcmFuc2Zvcm1lZERlcGVuZGVuY3kucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uKGNvbnRlbnRzKSB7fTsKCgogIC8qKgogICAqIEFueSBub24tZ29vZy5tb2R1bGUgZGVwZW5kZW5jeSB3aGljaCBuZWVkcyB0byBiZSB0cmFuc3BpbGVkIGJlZm9yZSBldmFsLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGlzIHNjcmlwdC4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggb2YgdGhpcyBzY3JpcHQgcmVsYXRpdmUgdG8gZ29vZy5iYXNlUGF0aC4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBnb29nLnByb3ZpZGVkIG9yIGdvb2cubW9kdWxlIHN5bWJvbHMKICAgKiAgICAgaW4gdGhpcyBmaWxlLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAcGFyYW0geyFnb29nLlRyYW5zcGlsZXJ9IHRyYW5zcGlsZXIKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlRyYW5zcGlsZWREZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIHRyYW5zcGlsZXIpIHsKICAgIGdvb2cuVHJhbnNwaWxlZERlcGVuZGVuY3kuYmFzZSgKICAgICAgICB0aGlzLCAnY29uc3RydWN0b3InLCBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKTsKICAgIC8qKiBAcHJvdGVjdGVkIEBjb25zdCovCiAgICB0aGlzLnRyYW5zcGlsZXIgPSB0cmFuc3BpbGVyOwogIH07CiAgZ29vZy5pbmhlcml0cyhnb29nLlRyYW5zcGlsZWREZXBlbmRlbmN5LCBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeSk7CgoKICAvKiogQG92ZXJyaWRlICovCiAgZ29vZy5UcmFuc3BpbGVkRGVwZW5kZW5jeS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24oY29udGVudHMpIHsKICAgIC8vIFRyYW5zcGlsZSB3aXRoIHRoZSBwYXRobmFtZSBzbyB0aGF0IEVTNiBtb2R1bGVzIGFyZSBkb21haW4gYWdub3N0aWMuCiAgICByZXR1cm4gdGhpcy50cmFuc3BpbGVyLnRyYW5zcGlsZShjb250ZW50cywgdGhpcy5nZXRQYXRoTmFtZSgpKTsKICB9OwoKCiAgLyoqCiAgICogQW4gRVM2IG1vZHVsZSBkZXBlbmRlbmN5IHRoYXQgd2FzIHRyYW5zcGlsZWQgdG8gYSBqc2NvbXAgbW9kdWxlIG91dHNpZGUKICAgKiBvZiB0aGUgZGVidWcgbG9hZGVyLCBlLmcuIHNlcnZlciBzaWRlLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGlzIHNjcmlwdC4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggb2YgdGhpcyBzY3JpcHQgcmVsYXRpdmUgdG8gZ29vZy5iYXNlUGF0aC4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBnb29nLnByb3ZpZGVkIG9yIGdvb2cubW9kdWxlIHN5bWJvbHMKICAgKiAgICAgaW4gdGhpcyBmaWxlLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlByZVRyYW5zcGlsZWRFczZNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpIHsKICAgIGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3kuYmFzZSgKICAgICAgICB0aGlzLCAnY29uc3RydWN0b3InLCBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKTsKICB9OwogIGdvb2cuaW5oZXJpdHMoCiAgICAgIGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3ksIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5KTsKCgogIC8qKiBAb3ZlcnJpZGUgKi8KICBnb29nLlByZVRyYW5zcGlsZWRFczZNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbigKICAgICAgY29udGVudHMpIHsKICAgIHJldHVybiBjb250ZW50czsKICB9OwoKCiAgLyoqCiAgICogQSBnb29nLm1vZHVsZSwgdHJhbnNwaWxlZCBvciBub3QuIFdpbGwgYWx3YXlzIHBlcmZvcm0gc29tZSBtaW5pbWFsCiAgICogdHJhbnNmb3JtYXRpb24gZXZlbiB3aGVuIG5vdCB0cmFuc3BpbGVkIHRvIHdyYXAgaW4gYSBnb29nLmxvYWRNb2R1bGUKICAgKiBzdGF0ZW1lbnQuCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBBYnNvbHV0ZSBwYXRoIG9mIHRoaXMgc2NyaXB0LgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGl2ZVBhdGggUGF0aCBvZiB0aGlzIHNjcmlwdCByZWxhdGl2ZSB0byBnb29nLmJhc2VQYXRoLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHByb3ZpZGVzIGdvb2cucHJvdmlkZWQgb3IgZ29vZy5tb2R1bGUgc3ltYm9scwogICAqICAgICBpbiB0aGlzIGZpbGUuCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcmVxdWlyZXMgZ29vZyBzeW1ib2xzIG9yIHJlbGF0aXZlIHBhdGhzIHRvIENsb3N1cmUKICAgKiAgICAgdGhpcyBkZXBlbmRzIG9uLgogICAqIEBwYXJhbSB7IU9iamVjdDxzdHJpbmcsIHN0cmluZz59IGxvYWRGbGFncwogICAqIEBwYXJhbSB7Ym9vbGVhbn0gbmVlZHNUcmFuc3BpbGUKICAgKiBAcGFyYW0geyFnb29nLlRyYW5zcGlsZXJ9IHRyYW5zcGlsZXIKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIG5lZWRzVHJhbnNwaWxlLAogICAgICB0cmFuc3BpbGVyKSB7CiAgICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5LmJhc2UoCiAgICAgICAgdGhpcywgJ2NvbnN0cnVjdG9yJywgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAvKiogQHByaXZhdGUgQGNvbnN0ICovCiAgICB0aGlzLm5lZWRzVHJhbnNwaWxlXyA9IG5lZWRzVHJhbnNwaWxlOwogICAgLyoqIEBwcml2YXRlIEBjb25zdCAqLwogICAgdGhpcy50cmFuc3BpbGVyXyA9IHRyYW5zcGlsZXI7CiAgfTsKICBnb29nLmluaGVyaXRzKGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3ksIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5KTsKCgogIC8qKiBAb3ZlcnJpZGUgKi8KICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbihjb250ZW50cykgewogICAgaWYgKHRoaXMubmVlZHNUcmFuc3BpbGVfKSB7CiAgICAgIGNvbnRlbnRzID0gdGhpcy50cmFuc3BpbGVyXy50cmFuc3BpbGUoY29udGVudHMsIHRoaXMuZ2V0UGF0aE5hbWUoKSk7CiAgICB9CgogICAgaWYgKCFnb29nLkxPQURfTU9EVUxFX1VTSU5HX0VWQUwgfHwgZ29vZy5nbG9iYWwuSlNPTiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgIHJldHVybiAnJyArCiAgICAgICAgICAnZ29vZy5sb2FkTW9kdWxlKGZ1bmN0aW9uKGV4cG9ydHMpIHsnICsKICAgICAgICAgICcidXNlIHN0cmljdCI7JyArIGNvbnRlbnRzICsKICAgICAgICAgICdcbicgKyAgLy8gdGVybWluYXRlIGFueSB0cmFpbGluZyBzaW5nbGUgbGluZSBjb21tZW50LgogICAgICAgICAgJztyZXR1cm4gZXhwb3J0cycgKwogICAgICAgICAgJ30pOycgKwogICAgICAgICAgJ1xuLy8jIHNvdXJjZVVSTD0nICsgdGhpcy5wYXRoICsgJ1xuJzsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAnJyArCiAgICAgICAgICAnZ29vZy5sb2FkTW9kdWxlKCcgKwogICAgICAgICAgZ29vZy5nbG9iYWwuSlNPTi5zdHJpbmdpZnkoCiAgICAgICAgICAgICAgY29udGVudHMgKyAnXG4vLyMgc291cmNlVVJMPScgKyB0aGlzLnBhdGggKyAnXG4nKSArCiAgICAgICAgICAnKTsnOwogICAgfQogIH07CgoKICAvKioKICAgKiBXaGV0aGVyIHRoZSBicm93c2VyIGlzIElFOSBvciBlYXJsaWVyLCB3aGljaCBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nCiAgICogZm9yIGRlZmVycmVkIG1vZHVsZXMuCiAgICogQGNvbnN0IEBwcml2YXRlIHtib29sZWFufQogICAqLwogIGdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8gPSAhISgKICAgICAgIWdvb2cuZ2xvYmFsLmF0b2IgJiYgZ29vZy5nbG9iYWwuZG9jdW1lbnQgJiYgZ29vZy5nbG9iYWwuZG9jdW1lbnRbJ2FsbCddKTsKCgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxQYXRoCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPnx1bmRlZmluZWR9IHByb3ZpZGVzCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcmVxdWlyZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW58IU9iamVjdDxzdHJpbmc+PX0gb3B0X2xvYWRGbGFncwogICAqIEBzZWUgZ29vZy5hZGREZXBlbmRlbmN5CiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmFkZERlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcmVsUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBvcHRfbG9hZEZsYWdzKSB7CiAgICBwcm92aWRlcyA9IHByb3ZpZGVzIHx8IFtdOwogICAgcmVsUGF0aCA9IHJlbFBhdGgucmVwbGFjZSgvXFwvZywgJy8nKTsKICAgIHZhciBwYXRoID0gZ29vZy5ub3JtYWxpemVQYXRoXyhnb29nLmJhc2VQYXRoICsgcmVsUGF0aCk7CiAgICBpZiAoIW9wdF9sb2FkRmxhZ3MgfHwgdHlwZW9mIG9wdF9sb2FkRmxhZ3MgPT09ICdib29sZWFuJykgewogICAgICBvcHRfbG9hZEZsYWdzID0gb3B0X2xvYWRGbGFncyA/IHsnbW9kdWxlJzogZ29vZy5Nb2R1bGVUeXBlLkdPT0d9IDoge307CiAgICB9CiAgICB2YXIgZGVwID0gdGhpcy5mYWN0b3J5Xy5jcmVhdGVEZXBlbmRlbmN5KAogICAgICAgIHBhdGgsIHJlbFBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgb3B0X2xvYWRGbGFncywKICAgICAgICBnb29nLnRyYW5zcGlsZXJfLm5lZWRzVHJhbnNwaWxlKAogICAgICAgICAgICBvcHRfbG9hZEZsYWdzWydsYW5nJ10gfHwgJ2VzMycsIG9wdF9sb2FkRmxhZ3NbJ21vZHVsZSddKSk7CiAgICB0aGlzLmRlcGVuZGVuY2llc19bcGF0aF0gPSBkZXA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3ZpZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRoaXMuaWRUb1BhdGhfW3Byb3ZpZGVzW2ldXSA9IHBhdGg7CiAgICB9CiAgICB0aGlzLmlkVG9QYXRoX1tyZWxQYXRoXSA9IHBhdGg7CiAgfTsKCgogIC8qKgogICAqIENyZWF0ZXMgZ29vZy5EZXBlbmRlbmN5IGluc3RhbmNlcyBmb3IgdGhlIGRlYnVnIGxvYWRlciB0byBsb2FkLgogICAqCiAgICogU2hvdWxkIGJlIG92ZXJyaWRkZW4gdG8gaGF2ZSB0aGUgZGVidWcgbG9hZGVyIHVzZSBjdXN0b20gc3ViY2xhc3NlcyBvZgogICAqIGdvb2cuRGVwZW5kZW5jeS4KICAgKgogICAqIEBwYXJhbSB7IWdvb2cuVHJhbnNwaWxlcn0gdHJhbnNwaWxlcgogICAqIEBzdHJ1Y3QgQGNvbnN0cnVjdG9yCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5RmFjdG9yeSA9IGZ1bmN0aW9uKHRyYW5zcGlsZXIpIHsKICAgIC8qKiBAcHJvdGVjdGVkIEBjb25zdCAqLwogICAgdGhpcy50cmFuc3BpbGVyID0gdHJhbnNwaWxlcjsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGUgZmlsZS4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggcmVsYXRpdmUgdG8gY2xvc3VyZeKAmXMgYmFzZS5qcy4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBBcnJheSBvZiBwcm92aWRlZCBnb29nLnByb3ZpZGUvbW9kdWxlIGlkcy4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBBcnJheSBvZiByZXF1aXJlZCBnb29nLnByb3ZpZGUvbW9kdWxlIC8KICAgKiAgICAgcmVsYXRpdmUgRVM2IG1vZHVsZSBwYXRocy4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5lZWRzVHJhbnNwaWxlIFRydWUgaWYgdGhlIGZpbGUgbmVlZHMgdG8gYmUgdHJhbnNwaWxlZAogICAqICAgICBwZXIgdGhlIGdvb2cuVHJhbnNwaWxlci4KICAgKiBAcmV0dXJuIHshZ29vZy5EZXBlbmRlbmN5fQogICAqLwogIGdvb2cuRGVwZW5kZW5jeUZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZURlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncywgbmVlZHNUcmFuc3BpbGUpIHsKCiAgICBpZiAobG9hZEZsYWdzWydtb2R1bGUnXSA9PSBnb29nLk1vZHVsZVR5cGUuR09PRykgewogICAgICByZXR1cm4gbmV3IGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3koCiAgICAgICAgICBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzLCBuZWVkc1RyYW5zcGlsZSwKICAgICAgICAgIHRoaXMudHJhbnNwaWxlcik7CiAgICB9IGVsc2UgaWYgKG5lZWRzVHJhbnNwaWxlKSB7CiAgICAgIHJldHVybiBuZXcgZ29vZy5UcmFuc3BpbGVkRGVwZW5kZW5jeSgKICAgICAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIHRoaXMudHJhbnNwaWxlcik7CiAgICB9IGVsc2UgewogICAgICBpZiAobG9hZEZsYWdzWydtb2R1bGUnXSA9PSBnb29nLk1vZHVsZVR5cGUuRVM2KSB7CiAgICAgICAgaWYgKGdvb2cuVFJBTlNQSUxFID09ICduZXZlcicgJiYgZ29vZy5BU1NVTUVfRVNfTU9EVUxFU19UUkFOU1BJTEVEKSB7CiAgICAgICAgICByZXR1cm4gbmV3IGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3koCiAgICAgICAgICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBuZXcgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5KAogICAgICAgICAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IGdvb2cuRGVwZW5kZW5jeSgKICAgICAgICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAgIH0KICAgIH0KICB9OwoKCiAgLyoqIEBwcml2YXRlIEBjb25zdCAqLwogIGdvb2cuZGVidWdMb2FkZXJfID0gbmV3IGdvb2cuRGVidWdMb2FkZXJfKCk7CgoKICAvKioKICAgKiBMb2FkcyB0aGUgQ2xvc3VyZSBEZXBlbmRlbmN5IGZpbGUuCiAgICoKICAgKiBFeHBvc2VkIGEgcHVibGljIGZ1bmN0aW9uIHNvIENMT1NVUkVfTk9fREVQUyBjYW4gYmUgc2V0IHRvIGZhbHNlLCBiYXNlCiAgICogbG9hZGVkLCBzZXREZXBlbmRlbmN5RmFjdG9yeSBjYWxsZWQsIGFuZCB0aGVuIHRoaXMgY2FsbGVkLiBpLmUuIGFsbG93cwogICAqIGN1c3RvbSBsb2FkaW5nIG9mIHRoZSBkZXBzIGZpbGUuCiAgICovCiAgZ29vZy5sb2FkQ2xvc3VyZURlcHMgPSBmdW5jdGlvbigpIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLmxvYWRDbG9zdXJlRGVwcygpOwogIH07CgoKICAvKioKICAgKiBTZXRzIHRoZSBkZXBlbmRlbmN5IGZhY3RvcnksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBjdXN0b20KICAgKiBnb29nLkRlcGVuZGVuY3kgaW1wbGVtZW50YXRpb25zIHRvIGNvbnRyb2wgaG93IGRlcGVuZGVuY2llcyBhcmUgbG9hZGVkLgogICAqCiAgICogTm90ZTogaWYgeW91IHdpc2ggdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGFuZCBwcm92aWRlIHlvdXIgb3duIGltcGxlbW5ldGF0aW9uCiAgICogaXQgaXMgYSB3aXNlIGlkZWEgdG8gc2V0IENMT1NVUkVfTk9fREVQUyB0byB0cnVlLCBvdGhlcndpc2UgdGhlIGRlcGVuZGVuY3kKICAgKiBmaWxlIGFuZCBhbGwgb2YgaXRzIGdvb2cuYWRkRGVwZW5kZW5jeSBjYWxscyB3aWxsIHVzZSB0aGUgZGVmYXVsdCBmYWN0b3J5LgogICAqIFlvdSBjYW4gY2FsbCBnb29nLmxvYWRDbG9zdXJlRGVwcyB0byBsb2FkIHRoZSBDbG9zdXJlIGRlcGVuZGVuY3kgZmlsZQogICAqIGxhdGVyLCBhZnRlciB5b3VyIGZhY3RvcnkgaXMgaW5qZWN0ZWQuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3lGYWN0b3J5fSBmYWN0b3J5CiAgICovCiAgZ29vZy5zZXREZXBlbmRlbmN5RmFjdG9yeSA9IGZ1bmN0aW9uKGZhY3RvcnkpIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLnNldERlcGVuZGVuY3lGYWN0b3J5KGZhY3RvcnkpOwogIH07CgoKICBpZiAoIWdvb2cuZ2xvYmFsLkNMT1NVUkVfTk9fREVQUykgewogICAgZ29vZy5kZWJ1Z0xvYWRlcl8ubG9hZENsb3N1cmVEZXBzKCk7CiAgfQoKCiAgLyoqCiAgICogQm9vdHN0cmFwcyB0aGUgZ2l2ZW4gbmFtZXNwYWNlcyBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIG9uY2UgdGhleSBhcmUKICAgKiBhdmFpbGFibGUgZWl0aGVyIHZpYSBnb29nLnJlcXVpcmUuIFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgdXNpbmcKICAgKiBgZ29vZy5yZXF1aXJlYCB0byBib290c3RyYXAgQ2xvc3VyZSBKYXZhU2NyaXB0LiBQcmV2aW91c2x5IGEgYGdvb2cucmVxdWlyZWAKICAgKiBpbiBhbiBIVE1MIGZpbGUgd291bGQgZ3VhcmFudGVlIHRoYXQgdGhlIHJlcXVpcmUnZCBuYW1lc3BhY2Ugd2FzIGF2YWlsYWJsZQogICAqIGluIHRoZSBuZXh0IGltbWVkaWF0ZSBzY3JpcHQgdGFnLiBXaXRoIEVTNiBtb2R1bGVzIHRoaXMgbm8gbG9uZ2VyIGEKICAgKiBndWFyYW50ZWUuCiAgICoKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBuYW1lc3BhY2VzCiAgICogQHBhcmFtIHtmdW5jdGlvbigpOiA/fSBjYWxsYmFjayBGdW5jdGlvbiB0byBjYWxsIG9uY2UgYWxsIHRoZSBuYW1lc3BhY2VzCiAgICogICAgIGhhdmUgbG9hZGVkLiBBbHdheXMgY2FsbGVkIGFzeW5jaHJvbm91c2x5LgogICAqLwogIGdvb2cuYm9vdHN0cmFwID0gZnVuY3Rpb24obmFtZXNwYWNlcywgY2FsbGJhY2spIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLmJvb3RzdHJhcChuYW1lc3BhY2VzLCBjYWxsYmFjayk7CiAgfTsKfQoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IFRydXN0ZWQgVHlwZXMgcG9saWN5IG5hbWUuIElmIG5vbi1lbXB0eSB0aGVuIENsb3N1cmUgd2lsbAogKiB1c2UgVHJ1c3RlZCBUeXBlcy4KICovCmdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfTkFNRSA9CiAgICBnb29nLmRlZmluZSgnZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV9OQU1FJywgJycpOwoKCi8qKgogKiBSZXR1cm5zIHRoZSBwYXJhbWV0ZXIuCiAqIEBwYXJhbSB7c3RyaW5nfSBzCiAqIEByZXR1cm4ge3N0cmluZ30KICogQHByaXZhdGUKICovCmdvb2cuaWRlbnRpdHlfID0gZnVuY3Rpb24ocykgewogIHJldHVybiBzOwp9OwoKCi8qKgogKiBDcmVhdGVzIFRydXN0ZWQgVHlwZXMgcG9saWN5IGlmIFRydXN0ZWQgVHlwZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgYnJvd3Nlci4KICogVGhlIHBvbGljeSBqdXN0IGJsZXNzZXMgYW55IHN0cmluZyBhcyBhIFRydXN0ZWQgVHlwZS4gSXQgaXMgbm90IHZpc2liaWxpdHkKICogcmVzdHJpY3RlZCBiZWNhdXNlIGFueW9uZSBjYW4gYWxzbyBjYWxsIFRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3kgZGlyZWN0bHkuCiAqIEhvd2V2ZXIsIHRoZSBhbGxvd2VkIG5hbWVzIHNob3VsZCBiZSByZXN0cmljdGVkIGJ5IGEgSFRUUCBoZWFkZXIgYW5kIHRoZQogKiByZWZlcmVuY2UgdG8gdGhlIGNyZWF0ZWQgcG9saWN5IHNob3VsZCBiZSB2aXNpYmlsaXR5IHJlc3RyaWN0ZWQuCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAqIEByZXR1cm4gez9UcnVzdGVkVHlwZVBvbGljeX0KICovCmdvb2cuY3JlYXRlVHJ1c3RlZFR5cGVzUG9saWN5ID0gZnVuY3Rpb24obmFtZSkgewogIHZhciBwb2xpY3kgPSBudWxsOwogIC8vIFRPRE8oa290byk6IFJlbW92ZSB3aW5kb3cuVHJ1c3RlZFR5cGVzIHZhcmlhbnQgd2hlbiB0aGUgbmV3ZXIgQVBJIHNoaXBzLgogIHZhciBwb2xpY3lGYWN0b3J5ID0gZ29vZy5nbG9iYWwudHJ1c3RlZFR5cGVzIHx8IGdvb2cuZ2xvYmFsLlRydXN0ZWRUeXBlczsKICBpZiAoIXBvbGljeUZhY3RvcnkgfHwgIXBvbGljeUZhY3RvcnkuY3JlYXRlUG9saWN5KSB7CiAgICByZXR1cm4gcG9saWN5OwogIH0KICAvLyBUcnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5IHRocm93cyBpZiBjYWxsZWQgd2l0aCBhIG5hbWUgdGhhdCBpcyBhbHJlYWR5CiAgLy8gcmVnaXN0ZXJlZCwgZXZlbiBpbiByZXBvcnQtb25seSBtb2RlLiBVbnRpbCB0aGUgQVBJIGNoYW5nZXMsIGNhdGNoIHRoZQogIC8vIGVycm9yIG5vdCB0byBicmVhayB0aGUgYXBwbGljYXRpb25zIGZ1bmN0aW9uYWxseS4gSW4gc3VjaCBjYXNlLCB0aGUgY29kZQogIC8vIHdpbGwgZmFsbCBiYWNrIHRvIHVzaW5nIHJlZ3VsYXIgU2FmZSBUeXBlcy4KICAvLyBUT0RPKGtvdG8pOiBSZW1vdmUgY2F0Y2hpbmcgb25jZSBjcmVhdGVQb2xpY3kgQVBJIHN0b3BzIHRocm93aW5nLgogIHRyeSB7CiAgICBwb2xpY3kgPSBwb2xpY3lGYWN0b3J5LmNyZWF0ZVBvbGljeShuYW1lLCB7CiAgICAgIGNyZWF0ZUhUTUw6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVTY3JpcHQ6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVTY3JpcHRVUkw6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVVUkw6IGdvb2cuaWRlbnRpdHlfCiAgICB9KTsKICB9IGNhdGNoIChlKSB7CiAgICBnb29nLmxvZ1RvQ29uc29sZV8oZS5tZXNzYWdlKTsKICB9CiAgcmV0dXJuIHBvbGljeTsKfTsKCgovKiogQHByaXZhdGUgQGNvbnN0IHs/VHJ1c3RlZFR5cGVQb2xpY3l9ICovCmdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID0gZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV9OQU1FID8KICAgIGdvb2cuY3JlYXRlVHJ1c3RlZFR5cGVzUG9saWN5KGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfTkFNRSArICcjYmFzZScpIDoKICAgIG51bGw7CgovLyBDb3B5cmlnaHQgMjAxOSBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi8vCi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwovLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAovLwovLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUy1JUyIgQkFTSVMsCi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgovLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgovLwovLyBUaGlzIGZpbGUgaGFzIGJlZW4gYXV0by1nZW5lcmF0ZWQgYnkgR2VuSnNEZXBzLCBwbGVhc2UgZG8gbm90IGVkaXQuCgovLyBEaXNhYmxlIENsYW5nIGZvcm1hdHRlciBmb3IgdGhpcyBmaWxlLgovLyBTZWUgaHR0cDovL2dvby5nbC9TZGl3WkgKLy8gY2xhbmctZm9ybWF0IG9mZgoKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xsZWN0aW9ucy9zZXRzLmpzJywgWydnb29nLmNvbGxlY3Rpb25zLnNldHMnXSwgWydnb29nLmxhYnMuY29sbGVjdGlvbnMuaXRlcmFibGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY29sbGVjdGlvbnMvc2V0c190ZXN0LmpzJywgWydnb29nLmNvbGxlY3Rpb25zLnNldHNUZXN0J10sIFsnZ29vZy5jb2xsZWN0aW9ucy5zZXRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWQuanMnLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5hc3luYy5EZWZlcnJlZC5BbHJlYWR5Q2FsbGVkRXJyb3InLCAnZ29vZy5hc3luYy5EZWZlcnJlZC5DYW5jZWxlZEVycm9yJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGhlbmFibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnLi4vLi4vdGhpcmRfcGFydHkvY2xvc3VyZS9nb29nL21vY2hpa2l0L2FzeW5jL2RlZmVycmVkX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuZGVmZXJyZWRBc3luY1Rlc3QnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWRfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5kZWZlcnJlZFRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaGVuYWJsZScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWRsaXN0LmpzJywgWydnb29nLmFzeW5jLkRlZmVycmVkTGlzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJy4uLy4uL3RoaXJkX3BhcnR5L2Nsb3N1cmUvZ29vZy9tb2NoaWtpdC9hc3luYy9kZWZlcnJlZGxpc3RfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5kZWZlcnJlZExpc3RUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuYXN5bmMuRGVmZXJyZWRMaXN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90by9wcm90by5qcycsIFsnZ29vZy5wcm90byddLCBbJ2dvb2cucHJvdG8uU2VyaWFsaXplciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8vc2VyaWFsaXplci5qcycsIFsnZ29vZy5wcm90by5TZXJpYWxpemVyJ10sIFsnZ29vZy5qc29uLlNlcmlhbGl6ZXInLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvL3NlcmlhbGl6ZXJfdGVzdC5qcycsIFsnZ29vZy5wcm90b1Rlc3QnXSwgWydnb29nLnByb3RvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhMTF5L2FyaWEvYW5ub3VuY2VyLmpzJywgWydnb29nLmExMXkuYXJpYS5Bbm5vdW5jZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL2Fubm91bmNlcl90ZXN0LmpzJywgWydnb29nLmExMXkuYXJpYS5Bbm5vdW5jZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQW5ub3VuY2VyJywgJ2dvb2cuYTExeS5hcmlhLkxpdmVQcmlvcml0eScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uaWZyYW1lJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ExMXkvYXJpYS9hcmlhLmpzJywgWydnb29nLmExMXkuYXJpYSddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hMTF5LmFyaWEuZGF0YXRhYmxlcycsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhMTF5L2FyaWEvYXJpYV90ZXN0LmpzJywgWydnb29nLmExMXkuYXJpYVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ExMXkvYXJpYS9hdHRyaWJ1dGVzLmpzJywgWydnb29nLmExMXkuYXJpYS5BdXRvQ29tcGxldGVWYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuQ2hlY2tlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5Ecm9wRWZmZWN0VmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLkV4cGFuZGVkVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLkdyYWJiZWRWYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuSW52YWxpZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5hMTF5LmFyaWEuT3JpZW50YXRpb25WYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuUHJlc3NlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5SZWxldmFudFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5TZWxlY3RlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5Tb3J0VmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL2RhdGF0YWJsZXMuanMnLCBbJ2dvb2cuYTExeS5hcmlhLmRhdGF0YWJsZXMnXSwgWydnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL3JvbGVzLmpzJywgWydnb29nLmExMXkuYXJpYS5Sb2xlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXJyYXkvYXJyYXkuanMnLCBbJ2dvb2cuYXJyYXknXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FycmF5L2FycmF5X3Rlc3QuanMnLCBbJ2dvb2cuYXJyYXlUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczcnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXNzZXJ0cy9hc3NlcnRzLmpzJywgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJ10sIFsnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRvbS5Ob2RlVHlwZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXNzZXJ0cy9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cuYXNzZXJ0c1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5yZWZsZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9hbmltYXRpb25kZWxheS5qcycsIFsnZ29vZy5hc3luYy5BbmltYXRpb25EZWxheSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvYW5pbWF0aW9uZGVsYXlfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5BbmltYXRpb25EZWxheVRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmFzeW5jLkFuaW1hdGlvbkRlbGF5JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9jb25kaXRpb25hbGRlbGF5LmpzJywgWydnb29nLmFzeW5jLkNvbmRpdGlvbmFsRGVsYXknXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hc3luYy5EZWxheSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvY29uZGl0aW9uYWxkZWxheV90ZXN0LmpzJywgWydnb29nLmFzeW5jLkNvbmRpdGlvbmFsRGVsYXlUZXN0J10sIFsnZ29vZy5hc3luYy5Db25kaXRpb25hbERlbGF5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2RlYm91bmNlci5qcycsIFsnZ29vZy5hc3luYy5EZWJvdW5jZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvZGVib3VuY2VyX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuRGVib3VuY2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWJvdW5jZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2RlbGF5LmpzJywgWydnb29nLkRlbGF5JywgJ2dvb2cuYXN5bmMuRGVsYXknXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvZGVsYXlfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5EZWxheVRlc3QnXSwgWydnb29nLmFzeW5jLkRlbGF5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2ZyZWVsaXN0LmpzJywgWydnb29nLmFzeW5jLkZyZWVMaXN0J10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2ZyZWVsaXN0X3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuRnJlZUxpc3RUZXN0J10sIFsnZ29vZy5hc3luYy5GcmVlTGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvbmV4dHRpY2suanMnLCBbJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5hc3luYy50aHJvd0V4Y2VwdGlvbiddLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5lbmdpbmUnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL25leHR0aWNrX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMubmV4dFRpY2tUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvcnVuLmpzJywgWydnb29nLmFzeW5jLnJ1biddLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlJywgJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5hc3luYy50aHJvd0V4Y2VwdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvcnVuX25leHRfdGlja190ZXN0LmpzJywgWydnb29nLmFzeW5jLnJ1bk5leHRUaWNrVGVzdCddLCBbJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9ydW5fdGVzdC5qcycsIFsnZ29vZy5hc3luYy5ydW5UZXN0J10sIFsnZ29vZy5hc3luYy5ydW4nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy90aHJvdHRsZS5qcycsIFsnZ29vZy5UaHJvdHRsZScsICdnb29nLmFzeW5jLlRocm90dGxlJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL3Rocm90dGxlX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuVGhyb3R0bGVUZXN0J10sIFsnZ29vZy5hc3luYy5UaHJvdHRsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy93b3JrcXVldWUuanMnLCBbJ2dvb2cuYXN5bmMuV29ya0l0ZW0nLCAnZ29vZy5hc3luYy5Xb3JrUXVldWUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5GcmVlTGlzdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvd29ya3F1ZXVlX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlVGVzdCddLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdiYXNlLmpzJywgWydnb29nJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYmFzZV9tb2R1bGVfdGVzdC5qcycsIFsnZ29vZy5iYXNlTW9kdWxlVGVzdCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy50ZXN0X21vZHVsZScsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuanN1bml0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdiYXNlX3Rlc3QuanMnLCBbJ2dvb2cuYmFzZVRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLlVyaScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdF9tb2R1bGUnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9hbHBoYS5qcycsIFsnZ29vZy5jb2xvci5hbHBoYSddLCBbJ2dvb2cuY29sb3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NvbG9yL2FscGhhX3Rlc3QuanMnLCBbJ2dvb2cuY29sb3IuYWxwaGFUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNvbG9yLmFscGhhJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9jb2xvci5qcycsIFsnZ29vZy5jb2xvcicsICdnb29nLmNvbG9yLkhzbCcsICdnb29nLmNvbG9yLkhzdicsICdnb29nLmNvbG9yLlJnYiddLCBbJ2dvb2cuY29sb3IubmFtZXMnLCAnZ29vZy5tYXRoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9jb2xvcl90ZXN0LmpzJywgWydnb29nLmNvbG9yVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5jb2xvcicsICdnb29nLmNvbG9yLm5hbWVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9uYW1lcy5qcycsIFsnZ29vZy5jb2xvci5uYW1lcyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Flcy5qcycsIFsnZ29vZy5jcnlwdC5BZXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5CbG9ja0NpcGhlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYWVzX3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuQWVzVGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5BZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2FyYzQuanMnLCBbJ2dvb2cuY3J5cHQuQXJjNCddLCBbJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYXJjNF90ZXN0LmpzJywgWydnb29nLmNyeXB0LkFyYzRUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNyeXB0LkFyYzQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2U2NC5qcycsIFsnZ29vZy5jcnlwdC5iYXNlNjQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdCcsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmFzZTY0X3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuYmFzZTY0VGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5iYXNlNjQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2VuLmpzJywgWydnb29nLmNyeXB0LmJhc2VOJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2VuX3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuYmFzZU5UZXN0J10sIFsnZ29vZy5jcnlwdC5iYXNlTicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmxvYmhhc2hlci5qcycsIFsnZ29vZy5jcnlwdC5CbG9iSGFzaGVyJywgJ2dvb2cuY3J5cHQuQmxvYkhhc2hlci5FdmVudFR5cGUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mcycsICdnb29nLmxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmxvYmhhc2hlcl90ZXN0LmpzJywgWydnb29nLmNyeXB0LkJsb2JIYXNoZXJUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkJsb2JIYXNoZXInLCAnZ29vZy5jcnlwdC5NZDUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jsb2NrY2lwaGVyLmpzJywgWydnb29nLmNyeXB0LkJsb2NrQ2lwaGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYnl0ZXN0cmluZ19wZXJmLmpzJywgWydnb29nLmNyeXB0LmJ5dGVBcnJheVRvU3RyaW5nUGVyZiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2NiYy5qcycsIFsnZ29vZy5jcnlwdC5DYmMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuQmxvY2tDaXBoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2NiY190ZXN0LmpzJywgWydnb29nLmNyeXB0LkNiY1Rlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuQWVzJywgJ2dvb2cuY3J5cHQuQ2JjJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jcnlwdC5qcycsIFsnZ29vZy5jcnlwdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jcnlwdF90ZXN0LmpzJywgWydnb29nLmNyeXB0VGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2N0ci5qcycsIFsnZ29vZy5jcnlwdC5DdHInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jdHJfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5DdHJUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkFlcycsICdnb29nLmNyeXB0LkN0cicsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvaGFzaC5qcycsIFsnZ29vZy5jcnlwdC5IYXNoJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvaGFzaDMyLmpzJywgWydnb29nLmNyeXB0Lmhhc2gzMiddLCBbJ2dvb2cuY3J5cHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2hhc2gzMl90ZXN0LmpzJywgWydnb29nLmNyeXB0Lmhhc2gzMlRlc3QnXSwgWydnb29nLmNyeXB0Lmhhc2gzMicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2hhc2h0ZXN0ZXIuanMnLCBbJ2dvb2cuY3J5cHQuaGFzaFRlc3RlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5jcnlwdCcsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnRlc3RpbmcuUGVyZm9ybWFuY2VUYWJsZScsICdnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9obWFjLmpzJywgWydnb29nLmNyeXB0LkhtYWMnXSwgWydnb29nLmNyeXB0Lkhhc2gnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2htYWNfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5IbWFjVGVzdCddLCBbJ2dvb2cuY3J5cHQuSG1hYycsICdnb29nLmNyeXB0LlNoYTEnLCAnZ29vZy5jcnlwdC5oYXNoVGVzdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9tZDUuanMnLCBbJ2dvb2cuY3J5cHQuTWQ1J10sIFsnZ29vZy5jcnlwdC5IYXNoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9tZDVfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5NZDVUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0Lk1kNScsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3Bia2RmMi5qcycsIFsnZ29vZy5jcnlwdC5wYmtkZjInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuSG1hYycsICdnb29nLmNyeXB0LlNoYTEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3Bia2RmMl90ZXN0LmpzJywgWydnb29nLmNyeXB0LnBia2RmMlRlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQucGJrZGYyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGExLmpzJywgWydnb29nLmNyeXB0LlNoYTEnXSwgWydnb29nLmNyeXB0Lkhhc2gnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTFfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5TaGExVGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5TaGExJywgJ2dvb2cuY3J5cHQuaGFzaFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvc2hhMi5qcycsIFsnZ29vZy5jcnlwdC5TaGEyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5IYXNoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyMjQuanMnLCBbJ2dvb2cuY3J5cHQuU2hhMjI0J10sIFsnZ29vZy5jcnlwdC5TaGEyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyMjRfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5TaGEyMjRUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LlNoYTIyNCcsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTI1Ni5qcycsIFsnZ29vZy5jcnlwdC5TaGEyNTYnXSwgWydnb29nLmNyeXB0LlNoYTInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTI1Nl90ZXN0LmpzJywgWydnb29nLmNyeXB0LlNoYTI1NlRlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuU2hhMjU2JywgJ2dvb2cuY3J5cHQuaGFzaFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvc2hhMl82NGJpdC5qcycsIFsnZ29vZy5jcnlwdC5TaGEyXzY0Yml0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5IYXNoJywgJ2dvb2cubWF0aC5Mb25nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyXzY0Yml0X3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuU2hhMl82NGJpdF90ZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuU2hhMzg0JywgJ2dvb2cuY3J5cHQuU2hhNTEyJywgJ2dvb2cuY3J5cHQuU2hhNTEyXzI1NicsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTM4NC5qcycsIFsnZ29vZy5jcnlwdC5TaGEzODQnXSwgWydnb29nLmNyeXB0LlNoYTJfNjRiaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTUxMi5qcycsIFsnZ29vZy5jcnlwdC5TaGE1MTInXSwgWydnb29nLmNyeXB0LlNoYTJfNjRiaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTUxMl8yNTYuanMnLCBbJ2dvb2cuY3J5cHQuU2hhNTEyXzI1NiddLCBbJ2dvb2cuY3J5cHQuU2hhMl82NGJpdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vY3Nzb20uanMnLCBbJ2dvb2cuY3Nzb20nLCAnZ29vZy5jc3NvbS5Dc3NSdWxlVHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vY3Nzb21fdGVzdC5qcycsIFsnZ29vZy5jc3NvbVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY3Nzb20nLCAnZ29vZy5jc3NvbS5Dc3NSdWxlVHlwZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vaWZyYW1lL3N0eWxlLmpzJywgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNzc29tJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Nzc29tL2lmcmFtZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZVRlc3QnXSwgWydnb29nLmNzc29tJywgJ2dvb2cuY3Nzb20uaWZyYW1lLnN0eWxlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2RhdGFtYW5hZ2VyLmpzJywgWydnb29nLmRzLkRhdGFNYW5hZ2VyJ10sIFsnZ29vZy5kcy5CYXNpY05vZGVMaXN0JywgJ2dvb2cuZHMuRGF0YU5vZGUnLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuTWFwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2RhdGFzb3VyY2UuanMnLCBbJ2dvb2cuZHMuQmFzZURhdGFOb2RlJywgJ2dvb2cuZHMuQmFzaWNOb2RlTGlzdCcsICdnb29nLmRzLkRhdGFOb2RlJywgJ2dvb2cuZHMuRGF0YU5vZGVMaXN0JywgJ2dvb2cuZHMuRW1wdHlOb2RlTGlzdCcsICdnb29nLmRzLkxvYWRTdGF0ZScsICdnb29nLmRzLlNvcnRlZE5vZGVMaXN0JywgJ2dvb2cuZHMuVXRpbCcsICdnb29nLmRzLmxvZ2dlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvZGF0YXNvdXJjZV90ZXN0LmpzJywgWydnb29nLmRzLkpzRGF0YVNvdXJjZVRlc3QnXSwgWydnb29nLmRvbS54bWwnLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkpzRGF0YVNvdXJjZScsICdnb29nLmRzLlNvcnRlZE5vZGVMaXN0JywgJ2dvb2cuZHMuWG1sRGF0YVNvdXJjZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0YXNvdXJjZS9leHByLmpzJywgWydnb29nLmRzLkV4cHInXSwgWydnb29nLmRzLkJhc2ljTm9kZUxpc3QnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2V4cHJfdGVzdC5qcycsIFsnZ29vZy5kcy5FeHByVGVzdCddLCBbJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cuZHMuSnNEYXRhU291cmNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2Zhc3RkYXRhbm9kZS5qcycsIFsnZ29vZy5kcy5BYnN0cmFjdEZhc3REYXRhTm9kZScsICdnb29nLmRzLkZhc3REYXRhTm9kZScsICdnb29nLmRzLkZhc3RMaXN0Tm9kZScsICdnb29nLmRzLlByaW1pdGl2ZUZhc3REYXRhTm9kZSddLCBbJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5EYXRhTm9kZUxpc3QnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2Zhc3RkYXRhbm9kZV90ZXN0LmpzJywgWydnb29nLmRzLkZhc3REYXRhTm9kZVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cuZHMuRmFzdERhdGFOb2RlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2pzZGF0YXNvdXJjZS5qcycsIFsnZ29vZy5kcy5Kc0RhdGFTb3VyY2UnLCAnZ29vZy5kcy5Kc1Byb3BlcnR5RGF0YVNvdXJjZSddLCBbJ2dvb2cuZHMuQmFzZURhdGFOb2RlJywgJ2dvb2cuZHMuQmFzaWNOb2RlTGlzdCcsICdnb29nLmRzLkRhdGFNYW5hZ2VyJywgJ2dvb2cuZHMuRGF0YU5vZGUnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuZHMuTG9hZFN0YXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2pzb25kYXRhc291cmNlLmpzJywgWydnb29nLmRzLkpzb25EYXRhU291cmNlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5Kc0RhdGFTb3VyY2UnLCAnZ29vZy5kcy5Mb2FkU3RhdGUnLCAnZ29vZy5kcy5sb2dnZXInLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvanN4bWxodHRwZGF0YXNvdXJjZS5qcycsIFsnZ29vZy5kcy5Kc1htbEh0dHBEYXRhU291cmNlJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkZhc3REYXRhTm9kZScsICdnb29nLmRzLkxvYWRTdGF0ZScsICdnb29nLmRzLmxvZ2dlcicsICdnb29nLmV2ZW50cycsICdnb29nLmxvZycsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvanN4bWxodHRwZGF0YXNvdXJjZV90ZXN0LmpzJywgWydnb29nLmRzLkpzWG1sSHR0cERhdGFTb3VyY2VUZXN0J10sIFsnZ29vZy5kcy5Kc1htbEh0dHBEYXRhU291cmNlJywgJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0YXNvdXJjZS94bWxkYXRhc291cmNlLmpzJywgWydnb29nLmRzLlhtbERhdGFTb3VyY2UnLCAnZ29vZy5kcy5YbWxIdHRwRGF0YVNvdXJjZSddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnhtbCcsICdnb29nLmRzLkJhc2ljTm9kZUxpc3QnLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkRhdGFOb2RlJywgJ2dvb2cuZHMuTG9hZFN0YXRlJywgJ2dvb2cuZHMubG9nZ2VyJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL2RhdGUuanMnLCBbJ2dvb2cuZGF0ZScsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5tb250aCcsICdnb29nLmRhdGUud2Vla0RheSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRhdGUuRGF0ZUxpa2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9kYXRlX3Rlc3QuanMnLCBbJ2dvb2cuZGF0ZVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZGF0ZScsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5tb250aCcsICdnb29nLmRhdGUud2Vla0RheScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZGF0ZWxpa2UuanMnLCBbJ2dvb2cuZGF0ZS5EYXRlTGlrZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZGF0ZXJhbmdlLmpzJywgWydnb29nLmRhdGUuRGF0ZVJhbmdlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UuSXRlcmF0b3InLCAnZ29vZy5kYXRlLkRhdGVSYW5nZS5TdGFuZGFyZERhdGVSYW5nZUtleXMnXSwgWydnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuSW50ZXJ2YWwnLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL2RhdGVyYW5nZV90ZXN0LmpzJywgWydnb29nLmRhdGUuRGF0ZVJhbmdlVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZHVyYXRpb24uanMnLCBbJ2dvb2cuZGF0ZS5kdXJhdGlvbiddLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uTWVzc2FnZUZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9kdXJhdGlvbl90ZXN0LmpzJywgWydnb29nLmRhdGUuZHVyYXRpb25UZXN0J10sIFsnZ29vZy5kYXRlLmR1cmF0aW9uJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZhJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3JlbGF0aXZlLmpzJywgWydnb29nLmRhdGUucmVsYXRpdmUnLCAnZ29vZy5kYXRlLnJlbGF0aXZlLlRpbWVEZWx0YUZvcm1hdHRlcicsICdnb29nLmRhdGUucmVsYXRpdmUuVW5pdCddLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJucycsICdnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9yZWxhdGl2ZV90ZXN0LmpzJywgWydnb29nLmRhdGUucmVsYXRpdmVUZXN0J10sIFsnZ29vZy5kYXRlLnJlbGF0aXZlQ29tbW9uVGVzdHMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3JlbGF0aXZlY29tbW9udGVzdHMuanMnLCBbJ2dvb2cuZGF0ZS5yZWxhdGl2ZUNvbW1vblRlc3RzJ10sIFsnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5yZWxhdGl2ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3V0Y2RhdGV0aW1lLmpzJywgWydnb29nLmRhdGUuVXRjRGF0ZVRpbWUnXSwgWydnb29nLmRhdGUnLCAnZ29vZy5kYXRlLkRhdGUnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS91dGNkYXRldGltZV90ZXN0LmpzJywgWydnb29nLmRhdGUuVXRjRGF0ZVRpbWVUZXN0J10sIFsnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5VdGNEYXRlVGltZScsICdnb29nLmRhdGUubW9udGgnLCAnZ29vZy5kYXRlLndlZWtEYXknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RiL2N1cnNvci5qcycsIFsnZ29vZy5kYi5DdXJzb3InXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRlYnVnJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9kYi5qcycsIFsnZ29vZy5kYicsICdnb29nLmRiLkJsb2NrZWRDYWxsYmFjaycsICdnb29nLmRiLlVwZ3JhZGVOZWVkZWRDYWxsYmFjayddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5JbmRleGVkRGInLCAnZ29vZy5kYi5UcmFuc2FjdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvZGJfdGVzdC5qcycsIFsnZ29vZy5kYlRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmRiJywgJ2dvb2cuZGIuQ3Vyc29yJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5JbmRleGVkRGInLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRiLlRyYW5zYWN0aW9uJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9lcnJvci5qcycsIFsnZ29vZy5kYi5Eb21FcnJvckxpa2UnLCAnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLkVycm9yLkVycm9yQ29kZScsICdnb29nLmRiLkVycm9yLkVycm9yTmFtZScsICdnb29nLmRiLkVycm9yLlZlcnNpb25DaGFuZ2VCbG9ja2VkRXJyb3InXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvaW5kZXguanMnLCBbJ2dvb2cuZGIuSW5kZXgnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuQ3Vyc29yJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9pbmRleGVkZGIuanMnLCBbJ2dvb2cuZGIuSW5kZXhlZERiJ10sIFsnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLk9iamVjdFN0b3JlJywgJ2dvb2cuZGIuVHJhbnNhY3Rpb24nLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIva2V5cmFuZ2UuanMnLCBbJ2dvb2cuZGIuS2V5UmFuZ2UnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9vYmplY3RzdG9yZS5qcycsIFsnZ29vZy5kYi5PYmplY3RTdG9yZSddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5kYi5DdXJzb3InLCAnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLkluZGV4JywgJ2dvb2cuZGIuS2V5UmFuZ2UnLCAnZ29vZy5kZWJ1ZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvdHJhbnNhY3Rpb24uanMnLCBbJ2dvb2cuZGIuVHJhbnNhY3Rpb24nLCAnZ29vZy5kYi5UcmFuc2FjdGlvbi5UcmFuc2FjdGlvbk1vZGUnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5PYmplY3RTdG9yZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2NvbnNvbGUuanMnLCBbJ2dvb2cuZGVidWcuQ29uc29sZSddLCBbJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRlYnVnLlRleHRGb3JtYXR0ZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2NvbnNvbGVfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Db25zb2xlVGVzdCddLCBbJ2dvb2cuZGVidWcuQ29uc29sZScsICdnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RlYnVnLmpzJywgWydnb29nLmRlYnVnJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZGVidWdfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Z1Rlc3QnXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuZXJyb3Jjb250ZXh0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZWJ1Z3dpbmRvdy5qcycsIFsnZ29vZy5kZWJ1Zy5EZWJ1Z1dpbmRvdyddLCBbJ2dvb2cuZGVidWcuSHRtbEZvcm1hdHRlcicsICdnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZGVidWd3aW5kb3dfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5EZWJ1Z1dpbmRvd1Rlc3QnXSwgWydnb29nLmRlYnVnLkRlYnVnV2luZG93JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZXZjc3MvZGV2Y3NzLmpzJywgWydnb29nLmRlYnVnLkRldkNzcycsICdnb29nLmRlYnVnLkRldkNzcy5Vc2VyQWdlbnQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jc3NvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZXZjc3MvZGV2Y3NzX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuRGV2Q3NzVGVzdCddLCBbJ2dvb2cuZGVidWcuRGV2Q3NzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RldmNzcy9kZXZjc3NydW5uZXIuanMnLCBbJ2dvb2cuZGVidWcuZGV2Q3NzUnVubmVyJ10sIFsnZ29vZy5kZWJ1Zy5EZXZDc3MnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RpdmNvbnNvbGUuanMnLCBbJ2dvb2cuZGVidWcuRGl2Q29uc29sZSddLCBbJ2dvb2cuZGVidWcuSHRtbEZvcm1hdHRlcicsICdnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2VuaGFuY2VlcnJvcl90ZXN0LmpzJywgWydnb29nLmRlYnVnRW5oYW5jZUVycm9yVGVzdCddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2VudHJ5cG9pbnRyZWdpc3RyeS5qcycsIFsnZ29vZy5kZWJ1Zy5FbnRyeVBvaW50TW9uaXRvcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeSddLCBbJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZW50cnlwb2ludHJlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5VGVzdCddLCBbJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvci5qcycsIFsnZ29vZy5kZWJ1Zy5FcnJvciddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLkVycm9yVGVzdCddLCBbJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3Jjb250ZXh0LmpzJywgWydnb29nLmRlYnVnLmVycm9yY29udGV4dCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2Vycm9yY29udGV4dF90ZXN0LmpzJywgWydnb29nLmRlYnVnLmVycm9yY29udGV4dFRlc3QnXSwgWydnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JoYW5kbGVyLmpzJywgWydnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLkVycm9ySGFuZGxlci5Qcm90ZWN0ZWRGdW5jdGlvbkVycm9yJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuRW50cnlQb2ludE1vbml0b3InLCAnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLlRyYWNlJ10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JoYW5kbGVyX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyQXN5bmNUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcmhhbmRsZXJ3ZWFrZGVwLmpzJywgWydnb29nLmRlYnVnLmVycm9ySGFuZGxlcldlYWtEZXAnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcnJlcG9ydGVyLmpzJywgWydnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXInLCAnZ29vZy5kZWJ1Zy5FcnJvclJlcG9ydGVyLkV4Y2VwdGlvbkV2ZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeScsICdnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmxvZycsICdnb29nLm5ldC5YaHJJbycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnVyaS51dGlscycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JyZXBvcnRlcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXInLCAnZ29vZy5kZWJ1Zy5lcnJvcmNvbnRleHQnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZmFuY3l3aW5kb3cuanMnLCBbJ2dvb2cuZGVidWcuRmFuY3lXaW5kb3cnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnLkRlYnVnV2luZG93JywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2Zvcm1hdHRlci5qcycsIFsnZ29vZy5kZWJ1Zy5Gb3JtYXR0ZXInLCAnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZGVidWcuVGV4dEZvcm1hdHRlciddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kZWJ1Zy5SZWxhdGl2ZVRpbWVQcm92aWRlcicsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9mb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Gb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJywgJ2dvb2cuZGVidWcuTG9nZ2VyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZnBzZGlzcGxheS5qcycsIFsnZ29vZy5kZWJ1Zy5GcHNEaXNwbGF5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuYXN5bmMuQW5pbWF0aW9uRGVsYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZnBzZGlzcGxheV90ZXN0LmpzJywgWydnb29nLmRlYnVnLkZwc0Rpc3BsYXlUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmRlYnVnLkZwc0Rpc3BsYXknLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2didWZmZXIuanMnLCBbJ2dvb2cuZGVidWcuTG9nQnVmZmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2didWZmZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dCdWZmZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5Mb2dCdWZmZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2xvZ2dlci5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dNYW5hZ2VyJywgJ2dvb2cuZGVidWcuTG9nZ2FibGUnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXIuTGV2ZWwnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nQnVmZmVyJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dnZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dnZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5Mb2dNYW5hZ2VyJywgJ2dvb2cuZGVidWcuTG9nZ2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dyZWNvcmQuanMnLCBbJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvbG9ncmVjb3Jkc2VyaWFsaXplci5qcycsIFsnZ29vZy5kZWJ1Zy5sb2dSZWNvcmRTZXJpYWxpemVyJ10sIFsnZ29vZy5kZWJ1Zy5Mb2dSZWNvcmQnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5qc29uJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dyZWNvcmRzZXJpYWxpemVyX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcubG9nUmVjb3JkU2VyaWFsaXplclRlc3QnXSwgWydnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRlYnVnLmxvZ1JlY29yZFNlcmlhbGl6ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL3JlbGF0aXZldGltZXByb3ZpZGVyLmpzJywgWydnb29nLmRlYnVnLlJlbGF0aXZlVGltZVByb3ZpZGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvdHJhY2VyLmpzJywgWydnb29nLmRlYnVnLlN0b3BUcmFjZURldGFpbCcsICdnb29nLmRlYnVnLlRyYWNlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5pdGVyJywgJ2dvb2cubG9nJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy5zdHJ1Y3RzLlNpbXBsZVBvb2wnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL3RyYWNlcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLlRyYWNlVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kZWJ1Zy5UcmFjZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlZmluZWNsYXNzX3Rlc3QuanMnLCBbJ2dvb2cuZGVmaW5lQ2xhc3NUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlbGVnYXRlL2RlbGVnYXRlcmVnaXN0cnkuanMnLCBbJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWxlZ2F0ZS9kZWxlZ2F0ZXJlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVsZWdhdGUvZGVsZWdhdGVzLmpzJywgWydnb29nLmRlbGVnYXRlLmRlbGVnYXRlcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWxlZ2F0ZS9kZWxlZ2F0ZXNfdGVzdC5qcycsIFsnZ29vZy5kZWxlZ2F0ZS5kZWxlZ2F0ZXNUZXN0J10sIFsnZ29vZy5kZWxlZ2F0ZS5kZWxlZ2F0ZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkaXNwb3NhYmxlL2Rpc3Bvc2FibGUuanMnLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kaXNwb3NlQWxsJ10sIFsnZ29vZy5kaXNwb3NhYmxlLklEaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkaXNwb3NhYmxlL2Rpc3Bvc2FibGVfdGVzdC5qcycsIFsnZ29vZy5EaXNwb3NhYmxlVGVzdCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Rpc3Bvc2FibGUvaWRpc3Bvc2FibGUuanMnLCBbJ2dvb2cuZGlzcG9zYWJsZS5JRGlzcG9zYWJsZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hYnN0cmFjdG11bHRpcmFuZ2UuanMnLCBbJ2dvb2cuZG9tLkFic3RyYWN0TXVsdGlSYW5nZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hYnN0cmFjdHJhbmdlLmpzJywgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlSXRlcmF0b3InLCAnZ29vZy5kb20uUmFuZ2VUeXBlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlJywgJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYWJzdHJhY3RyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2FuaW1hdGlvbmZyYW1lL2FuaW1hdGlvbmZyYW1lLmpzJywgWydnb29nLmRvbS5hbmltYXRpb25GcmFtZScsICdnb29nLmRvbS5hbmltYXRpb25GcmFtZS5TcGVjJywgJ2dvb2cuZG9tLmFuaW1hdGlvbkZyYW1lLlN0YXRlJ10sIFsnZ29vZy5kb20uYW5pbWF0aW9uRnJhbWUucG9seWZpbGwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbmltYXRpb25mcmFtZS9hbmltYXRpb25mcmFtZV90ZXN0LmpzJywgWydnb29nLmRvbS5BbmltYXRpb25GcmFtZVRlc3QnXSwgWydnb29nLmRvbS5hbmltYXRpb25GcmFtZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYW5pbWF0aW9uZnJhbWUvcG9seWZpbGwuanMnLCBbJ2dvb2cuZG9tLmFuaW1hdGlvbkZyYW1lLnBvbHlmaWxsJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbm5vdGF0ZS5qcycsIFsnZ29vZy5kb20uYW5ub3RhdGUnLCAnZ29vZy5kb20uYW5ub3RhdGUuQW5ub3RhdGVGbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbm5vdGF0ZV90ZXN0LmpzJywgWydnb29nLmRvbS5hbm5vdGF0ZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmFubm90YXRlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Fzc2VydHMuanMnLCBbJ2dvb2cuZG9tLmFzc2VydHMnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmFzc2VydHNUZXN0J10sIFsnZ29vZy5kb20uYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2F0dHIuanMnLCBbJ2dvb2cuZG9tLkF0dHInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnJvd3NlcmZlYXR1cmUuanMnLCBbJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJ10sIFsnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VyZmVhdHVyZV90ZXN0LmpzJywgWydnb29nLmRvbS5Ccm93c2VyRmVhdHVyZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ccm93c2VyRmVhdHVyZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS9hYnN0cmFjdHJhbmdlLmpzJywgWydnb29nLmRvbS5icm93c2VycmFuZ2UuQWJzdHJhY3RSYW5nZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvcicsICdnb29nLml0ZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnJvd3NlcnJhbmdlL2Jyb3dzZXJyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5FcnJvciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5HZWNrb1JhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5JZVJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5PcGVyYVJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XM2NSYW5nZScsICdnb29nLmRvbS5icm93c2VycmFuZ2UuV2ViS2l0UmFuZ2UnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvYnJvd3NlcnJhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvZ2Vja29yYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkdlY2tvUmFuZ2UnXSwgWydnb29nLmRvbS5icm93c2VycmFuZ2UuVzNjUmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvaWVyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkllUmFuZ2UnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5icm93c2VycmFuZ2UuQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxvZycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS9vcGVyYXJhbmdlLmpzJywgWydnb29nLmRvbS5icm93c2VycmFuZ2UuT3BlcmFSYW5nZSddLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XM2NSYW5nZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS93M2NyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLlczY1JhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2Uvd2Via2l0cmFuZ2UuanMnLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XZWJLaXRSYW5nZSddLCBbJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlLlczY1JhbmdlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnVmZmVyZWR2aWV3cG9ydHNpemVtb25pdG9yLmpzJywgWydnb29nLmRvbS5CdWZmZXJlZFZpZXdwb3J0U2l6ZU1vbml0b3InXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWxheScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9idWZmZXJlZHZpZXdwb3J0c2l6ZW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy5kb20uQnVmZmVyZWRWaWV3cG9ydFNpemVNb25pdG9yVGVzdCddLCBbJ2dvb2cuZG9tLkJ1ZmZlcmVkVmlld3BvcnRTaXplTW9uaXRvcicsICdnb29nLmRvbS5WaWV3cG9ydFNpemVNb25pdG9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NsYXNzZXMuanMnLCBbJ2dvb2cuZG9tLmNsYXNzZXMnXSwgWydnb29nLmFycmF5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vY2xhc3Nlc190ZXN0LmpzJywgWydnb29nLmRvbS5jbGFzc2VzX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9jbGFzc2xpc3QuanMnLCBbJ2dvb2cuZG9tLmNsYXNzbGlzdCddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9jbGFzc2xpc3RfdGVzdC5qcycsIFsnZ29vZy5kb20uY2xhc3NsaXN0X3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NvbnRyb2xyYW5nZS5qcycsIFsnZ29vZy5kb20uQ29udHJvbFJhbmdlJywgJ2dvb2cuZG9tLkNvbnRyb2xSYW5nZUl0ZXJhdG9yJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5BYnN0cmFjdE11bHRpUmFuZ2UnLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5SYW5nZUl0ZXJhdG9yJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLlRleHRSYW5nZScsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NvbnRyb2xyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5Db250cm9sUmFuZ2VUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uQ29udHJvbFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlRleHRSYW5nZScsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZGF0YXNldC5qcycsIFsnZ29vZy5kb20uZGF0YXNldCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZGF0YXNldF90ZXN0LmpzJywgWydnb29nLmRvbS5kYXRhc2V0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmRhdGFzZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9kb20uanMnLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFwcGVuZGFibGUnLCAnZ29vZy5kb20uRG9tSGVscGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2RvbV9jb21waWxlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLkRvbUNvbXBpbGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2RvbV90ZXN0LmpzJywgWydnb29nLmRvbS5kb21fdGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9udHNpemVtb25pdG9yLmpzJywgWydnb29nLmRvbS5Gb250U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uRm9udFNpemVNb25pdG9yLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9udHNpemVtb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLkZvbnRTaXplTW9uaXRvclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Gb250U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9ybXMuanMnLCBbJ2dvb2cuZG9tLmZvcm1zJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cud2luZG93J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9ybXNfdGVzdC5qcycsIFsnZ29vZy5kb20uZm9ybXNUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uZm9ybXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9mdWxsc2NyZWVuLmpzJywgWydnb29nLmRvbS5mdWxsc2NyZWVuJywgJ2dvb2cuZG9tLmZ1bGxzY3JlZW4uRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9mdWxsc2NyZWVuX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmZ1bGxzY3JlZW5fdGVzdCddLCBbJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5mdWxsc2NyZWVuJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vaHRtbGVsZW1lbnQuanMnLCBbJ2dvb2cuZG9tLkh0bWxFbGVtZW50J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lmcmFtZS5qcycsIFsnZ29vZy5kb20uaWZyYW1lJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9pZnJhbWVfdGVzdC5qcycsIFsnZ29vZy5kb20uaWZyYW1lVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lucHV0dHlwZS5qcycsIFsnZ29vZy5kb20uSW5wdXRUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lucHV0dHlwZV90ZXN0LmpzJywgWydnb29nLmRvbS5JbnB1dFR5cGVUZXN0J10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vaXRlci5qcycsIFsnZ29vZy5kb20uaXRlci5BbmNlc3Rvckl0ZXJhdG9yJywgJ2dvb2cuZG9tLml0ZXIuQ2hpbGRJdGVyYXRvcicsICdnb29nLmRvbS5pdGVyLlNpYmxpbmdJdGVyYXRvciddLCBbJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2l0ZXJfdGVzdC5qcycsIFsnZ29vZy5kb20uaXRlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5pdGVyLkFuY2VzdG9ySXRlcmF0b3InLCAnZ29vZy5kb20uaXRlci5DaGlsZEl0ZXJhdG9yJywgJ2dvb2cuZG9tLml0ZXIuU2libGluZ0l0ZXJhdG9yJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9tdWx0aXJhbmdlLmpzJywgWydnb29nLmRvbS5NdWx0aVJhbmdlJywgJ2dvb2cuZG9tLk11bHRpUmFuZ2VJdGVyYXRvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RNdWx0aVJhbmdlJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2VJdGVyYXRvcicsICdnb29nLmRvbS5SYW5nZVR5cGUnLCAnZ29vZy5kb20uU2F2ZWRSYW5nZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnLCAnZ29vZy5pdGVyJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbXVsdGlyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5NdWx0aVJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk11bHRpUmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5pdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbm9kZWl0ZXJhdG9yLmpzJywgWydnb29nLmRvbS5Ob2RlSXRlcmF0b3InXSwgWydnb29nLmRvbS5UYWdJdGVyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL25vZGVpdGVyYXRvcl90ZXN0LmpzJywgWydnb29nLmRvbS5Ob2RlSXRlcmF0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZUl0ZXJhdG9yJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9ub2Rlb2Zmc2V0LmpzJywgWydnb29nLmRvbS5Ob2RlT2Zmc2V0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZG9tLlRhZ05hbWUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9ub2Rlb2Zmc2V0X3Rlc3QuanMnLCBbJ2dvb2cuZG9tLk5vZGVPZmZzZXRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZU9mZnNldCcsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbm9kZXR5cGUuanMnLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vYWJzdHJhY3RwYXR0ZXJuLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLkFic3RyYWN0UGF0dGVybiddLCBbJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9hbGxjaGlsZHJlbi5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5BbGxDaGlsZHJlbiddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9jYWxsYmFjay9jYWxsYmFjay5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjayddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vY2FsbGJhY2svY291bnRlci5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5Db3VudGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vY2FsbGJhY2svdGVzdC5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5UZXN0J10sIFsnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL2NoaWxkbWF0Y2hlcy5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5DaGlsZE1hdGNoZXMnXSwgWydnb29nLmRvbS5wYXR0ZXJuLkFsbENoaWxkcmVuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9lbmR0YWcuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uRW5kVGFnJ10sIFsnZ29vZy5kb20uVGFnV2Fsa1R5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL2Z1bGx0YWcuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uRnVsbFRhZyddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uU3RhcnRUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL21hdGNoZXIuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hlciddLCBbJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vbWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLm1hdGNoZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5wYXR0ZXJuLkVuZFRhZycsICdnb29nLmRvbS5wYXR0ZXJuLkZ1bGxUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5NYXRjaGVyJywgJ2dvb2cuZG9tLnBhdHRlcm4uUmVwZWF0JywgJ2dvb2cuZG9tLnBhdHRlcm4uU2VxdWVuY2UnLCAnZ29vZy5kb20ucGF0dGVybi5TdGFydFRhZycsICdnb29nLmRvbS5wYXR0ZXJuLmNhbGxiYWNrLkNvdW50ZXInLCAnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5UZXN0JywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9ub2RldHlwZS5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5Ob2RlVHlwZSddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9wYXR0ZXJuLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vcGF0dGVybl90ZXN0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWxsQ2hpbGRyZW4nLCAnZ29vZy5kb20ucGF0dGVybi5DaGlsZE1hdGNoZXMnLCAnZ29vZy5kb20ucGF0dGVybi5FbmRUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5GdWxsVGFnJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uTm9kZVR5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5SZXBlYXQnLCAnZ29vZy5kb20ucGF0dGVybi5TZXF1ZW5jZScsICdnb29nLmRvbS5wYXR0ZXJuLlN0YXJ0VGFnJywgJ2dvb2cuZG9tLnBhdHRlcm4uVGV4dCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vcmVwZWF0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlJlcGVhdCddLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9zZXF1ZW5jZS5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5TZXF1ZW5jZSddLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4nLCAnZ29vZy5kb20ucGF0dGVybi5BYnN0cmFjdFBhdHRlcm4nLCAnZ29vZy5kb20ucGF0dGVybi5NYXRjaFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL3N0YXJ0dGFnLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlN0YXJ0VGFnJ10sIFsnZ29vZy5kb20uVGFnV2Fsa1R5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL3RhZy5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwgWydnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi90ZXh0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlRleHQnXSwgWydnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcmFuZ2UuanMnLCBbJ2dvb2cuZG9tLlJhbmdlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5Ccm93c2VyRmVhdHVyZScsICdnb29nLmRvbS5Db250cm9sUmFuZ2UnLCAnZ29vZy5kb20uTXVsdGlSYW5nZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9yYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5SYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9yYW5nZWVuZHBvaW50LmpzJywgWydnb29nLmRvbS5SYW5nZUVuZHBvaW50J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhZmUuanMnLCBbJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5kb20uc2FmZS5JbnNlcnRBZGphY2VudEh0bWxQb3NpdGlvbiddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5hc3NlcnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2FmZV90ZXN0LmpzJywgWydnb29nLmRvbS5zYWZlVGVzdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5kb20uc2FmZS5JbnNlcnRBZGphY2VudEh0bWxQb3NpdGlvbicsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhdmVkY2FyZXRyYW5nZS5qcycsIFsnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9zYXZlZGNhcmV0cmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlNhdmVkQ2FyZXRSYW5nZScsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2F2ZWRyYW5nZS5qcycsIFsnZ29vZy5kb20uU2F2ZWRSYW5nZSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhdmVkcmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5kb20uU2F2ZWRSYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NlbGVjdGlvbi5qcycsIFsnZ29vZy5kb20uc2VsZWN0aW9uJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2VsZWN0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnNlbGVjdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdpdGVyYXRvci5qcycsIFsnZ29vZy5kb20uVGFnSXRlcmF0b3InLCAnZ29vZy5kb20uVGFnV2Fsa1R5cGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdpdGVyYXRvcl90ZXN0LmpzJywgWydnb29nLmRvbS5UYWdJdGVyYXRvclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGFnbmFtZS5qcycsIFsnZ29vZy5kb20uVGFnTmFtZSddLCBbJ2dvb2cuZG9tLkh0bWxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGFnbmFtZV90ZXN0LmpzJywgWydnb29nLmRvbS5UYWdOYW1lVGVzdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdzLmpzJywgWydnb29nLmRvbS50YWdzJ10sIFsnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdzX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnRhZ3NUZXN0J10sIFsnZ29vZy5kb20udGFncycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRhc3NlcnQuanMnLCBbJ2dvb2cuZG9tLnRleHRBc3NlcnQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRhc3NlcnRfdGVzdC5qcycsIFsnZ29vZy5kb20udGV4dGFzc2VydF90ZXN0J10sIFsnZ29vZy5kb20udGV4dEFzc2VydCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRyYW5nZS5qcycsIFsnZ29vZy5kb20uVGV4dFJhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uVGV4dFJhbmdlSXRlcmF0b3InLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGV4dHJhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLlRleHRSYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Db250cm9sUmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGV4dFJhbmdlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRyYW5nZWl0ZXJhdG9yLmpzJywgWydnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2VJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGV4dHJhbmdlaXRlcmF0b3JfdGVzdC5qcycsIFsnZ29vZy5kb20uVGV4dFJhbmdlSXRlcmF0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdXJpLmpzJywgWydnb29nLmRvbS51cmknXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3VyaV90ZXN0LmpzJywgWydnb29nLmRvbS51cmlUZXN0J10sIFsnZ29vZy5kb20udXJpJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS92ZW5kb3IuanMnLCBbJ2dvb2cuZG9tLnZlbmRvciddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdmVuZG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnZlbmRvclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLnZlbmRvcicsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tVc2VyQWdlbnQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudFRlc3RVdGlsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3ZpZXdwb3J0c2l6ZW1vbml0b3IuanMnLCBbJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3InXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLlNpemUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS92aWV3cG9ydHNpemVtb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3JUZXN0J10sIFsnZ29vZy5kb20uVmlld3BvcnRTaXplTW9uaXRvcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3htbC5qcycsIFsnZ29vZy5kb20ueG1sJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS94bWxfdGVzdC5qcycsIFsnZ29vZy5kb20ueG1sVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20ueG1sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvYnJvd3NlcmZlYXR1cmUuanMnLCBbJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJ10sIFsnZ29vZy5lZGl0b3IuZGVmaW5lcycsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2Jyb3dzZXJmZWF0dXJlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jbGlja3RvZWRpdHdyYXBwZXIuanMnLCBbJ2dvb2cuZWRpdG9yLkNsaWNrVG9FZGl0V3JhcHBlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jbGlja3RvZWRpdHdyYXBwZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuQ2xpY2tUb0VkaXRXcmFwcGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ2xpY2tUb0VkaXRXcmFwcGVyJywgJ2dvb2cuZWRpdG9yLlNlYW1sZXNzRmllbGQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvY29tbWFuZC5qcycsIFsnZ29vZy5lZGl0b3IuQ29tbWFuZCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jb250ZW50ZWRpdGFibGVmaWVsZC5qcycsIFsnZ29vZy5lZGl0b3IuQ29udGVudEVkaXRhYmxlRmllbGQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jb250ZW50ZWRpdGFibGVmaWVsZF90ZXN0LmpzJywgWydnb29nLmVkaXRvci5Db250ZW50RWRpdGFibGVGaWVsZFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db250ZW50RWRpdGFibGVGaWVsZCcsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9kZWZpbmVzLmpzJywgWydnb29nLmVkaXRvci5kZWZpbmVzJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2ZpZWxkLmpzJywgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5GaWVsZC5FdmVudFR5cGUnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuYXN5bmMuRGVsYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLlBsdWdpbkltcGwnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvZmllbGRfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuZmllbGRfdGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9mb2N1cy5qcycsIFsnZ29vZy5lZGl0b3IuZm9jdXMnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9mb2N1c190ZXN0LmpzJywgWydnb29nLmVkaXRvci5mb2N1c1Rlc3QnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuZm9jdXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9pY29udGVudC5qcycsIFsnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2ljb250ZW50X3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLmljb250ZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvbGluay5qcycsIFsnZ29vZy5lZGl0b3IuTGluayddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVyaS51dGlscycsICdnb29nLnVyaS51dGlscy5Db21wb25lbnRJbmRleCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2xpbmtfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuTGlua1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkxpbmsnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9ub2RlLmpzJywgWydnb29nLmVkaXRvci5ub2RlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5pdGVyLkNoaWxkSXRlcmF0b3InLCAnZ29vZy5kb20uaXRlci5TaWJsaW5nSXRlcmF0b3InLCAnZ29vZy5pdGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9ub2RlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLm5vZGVUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2luLmpzJywgWydnb29nLmVkaXRvci5QbHVnaW4nXSwgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW5JbXBsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2luX2ltcGwuanMnLCBbJ2dvb2cuZWRpdG9yLlBsdWdpbkltcGwnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmxvZycsICdnb29nLm9iamVjdCcsICdnb29nLnJlZmxlY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuUGx1Z2luVGVzdCddLCBbJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RidWJibGVwbHVnaW4uanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5zdHlsZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLmFjdGlvbkV2ZW50V3JhcHBlcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RidWJibGVwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdEJ1YmJsZVBsdWdpblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5CdWJibGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdGRpYWxvZ3BsdWdpbi5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpbicsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0RGlhbG9nUGx1Z2luLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLmV2ZW50cycsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RkaWFsb2dwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpbicsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuQXJndW1lbnRNYXRjaGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lZGl0b3IuQWJzdHJhY3REaWFsb2cnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdHRhYmhhbmRsZXIuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RUYWJIYW5kbGVyJ10sIFsnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdHRhYmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdFRhYkhhbmRsZXJUZXN0J10sIFsnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdFRhYkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9iYXNpY3RleHRmb3JtYXR0ZXIuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmFzaWNUZXh0Rm9ybWF0dGVyJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmFzaWNUZXh0Rm9ybWF0dGVyLkNPTU1BTkQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5MaW5rJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuaXRlcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLmxvZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2Jhc2ljdGV4dGZvcm1hdHRlcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CYXNpY1RleHRGb3JtYXR0ZXInLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9ibG9ja3F1b3RlLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkJsb2NrcXVvdGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9ibG9ja3F1b3RlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmxvY2txdW90ZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmxvY2txdW90ZScsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2Vtb3RpY29ucy5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbW90aWNvbnMnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnVpLmVtb2ppLkVtb2ppJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9lbW90aWNvbnNfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbW90aWNvbnNUZXN0J10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW1vdGljb25zJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2VudGVyaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbnRlckhhbmRsZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlT2Zmc2V0JywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CbG9ja3F1b3RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9lbnRlcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbnRlckhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CbG9ja3F1b3RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW50ZXJIYW5kbGVyJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvZmlyc3RzdHJvbmcuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRmlyc3RTdHJvbmcnXSwgWydnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5pMThuLmJpZGknLCAnZ29vZy5pMThuLnVDaGFyJywgJ2dvb2cuaXRlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvZmlyc3RzdHJvbmdfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5GaXJzdFN0cm9uZ1Rlc3QnXSwgWydnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRmlyc3RTdHJvbmcnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvaGVhZGVyZm9ybWF0dGVyLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkhlYWRlckZvcm1hdHRlciddLCBbJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9oZWFkZXJmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5IZWFkZXJGb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlcicsICdnb29nLmVkaXRvci5wbHVnaW5zLkhlYWRlckZvcm1hdHRlcicsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtidWJibGUuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlua0J1YmJsZScsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtCdWJibGUuQWN0aW9uJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0QnViYmxlUGx1Z2luJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51cmkudXRpbHMnLCAnZ29vZy53aW5kb3cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtidWJibGVfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rQnViYmxlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5MaW5rJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlua0J1YmJsZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlua2RpYWxvZ3BsdWdpbi5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rRGlhbG9nUGx1Z2luJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3REaWFsb2dQbHVnaW4nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2cnLCAnZ29vZy51cmkudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtkaWFsb2dwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy51aS5lZGl0b3IucGx1Z2lucy5MaW5rRGlhbG9nVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtEaWFsb2dQbHVnaW4nLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLmRvbScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlua3Nob3J0Y3V0cGx1Z2luLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtTaG9ydGN1dFBsdWdpbiddLCBbJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9saW5rc2hvcnRjdXRwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rU2hvcnRjdXRQbHVnaW5UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlcicsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtCdWJibGUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rU2hvcnRjdXRQbHVnaW4nLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpc3R0YWJoYW5kbGVyLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkxpc3RUYWJIYW5kbGVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RUYWJIYW5kbGVyJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlzdHRhYmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaXN0VGFiSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlzdFRhYkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbG9yZW1pcHN1bS5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5Mb3JlbUlwc3VtJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9sb3JlbWlwc3VtX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTG9yZW1JcHN1bVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTG9yZW1JcHN1bScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvcmVtb3ZlZm9ybWF0dGluZy5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5SZW1vdmVGb3JtYXR0aW5nJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3Iubm9kZScsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvcmVtb3ZlZm9ybWF0dGluZ190ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlJlbW92ZUZvcm1hdHRpbmdUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5wbHVnaW5zLlJlbW92ZUZvcm1hdHRpbmcnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvc3BhY2VzdGFiaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5TcGFjZXNUYWJIYW5kbGVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0VGFiSGFuZGxlcicsICdnb29nLmVkaXRvci5yYW5nZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvc3BhY2VzdGFiaGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlNwYWNlc1RhYkhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5TcGFjZXNUYWJIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3RhYmxlZWRpdG9yLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlRhYmxlRWRpdG9yJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5UYWJsZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy90YWJsZWVkaXRvcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlRhYmxlRWRpdG9yVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWJsZUVkaXRvcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5GaWVsZE1vY2snLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy90YWdvbmVudGVyaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWdPbkVudGVySGFuZGxlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW50ZXJIYW5kbGVyJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvdGFnb25lbnRlcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWdPbkVudGVySGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5wbHVnaW5zLlRhZ09uRW50ZXJIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZU9mZnNldCcsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9NYW5hZ2VyJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9TdGF0ZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9UZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5icm93c2VycmFuZ2UnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5Mb3JlbUlwc3VtJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG8nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvbWFuYWdlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXInLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy91bmRvcmVkb21hbmFnZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXJUZXN0J10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXInLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy91bmRvcmVkb3N0YXRlLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvU3RhdGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvdW5kb3JlZG9zdGF0ZV90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvU3RhdGVUZXN0J10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcmFuZ2UuanMnLCBbJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnJhbmdlLlBvaW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlNhdmVkQ2FyZXRSYW5nZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuaXRlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3JhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5lZGl0b3IucmFuZ2UuUG9pbnQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3NlYW1sZXNzZmllbGQuanMnLCBbJ2dvb2cuZWRpdG9yLlNlYW1sZXNzRmllbGQnXSwgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLnN0eWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3Ivc2VhbWxlc3NmaWVsZF90ZXN0LmpzJywgWydnb29nLmVkaXRvci5zZWFtbGVzc2ZpZWxkX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5TZWFtbGVzc0ZpZWxkJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tSYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3N0eWxlLmpzJywgWydnb29nLmVkaXRvci5zdHlsZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm9iamVjdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3Ivc3R5bGVfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3Iuc3R5bGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5zdHlsZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvdGFibGUuanMnLCBbJ2dvb2cuZWRpdG9yLlRhYmxlJywgJ2dvb2cuZWRpdG9yLlRhYmxlQ2VsbCcsICdnb29nLmVkaXRvci5UYWJsZVJvdyddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxvZycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci90YWJsZV90ZXN0LmpzJywgWydnb29nLmVkaXRvci5UYWJsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlRhYmxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uZXZlbnR3cmFwcGVyLmpzJywgWydnb29nLmV2ZW50cy5hY3Rpb25FdmVudFdyYXBwZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRXZlbnRXcmFwcGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uZXZlbnR3cmFwcGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLmFjdGlvbkV2ZW50V3JhcHBlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5hY3Rpb25FdmVudFdyYXBwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2FjdGlvbmhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkFjdGlvbkV2ZW50JywgJ2dvb2cuZXZlbnRzLkFjdGlvbkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQWN0aW9uSGFuZGxlci5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuQmVmb3JlQWN0aW9uRXZlbnQnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uaGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5BY3Rpb25IYW5kbGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkFjdGlvbkhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2Jyb3dzZXJldmVudC5qcycsIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudC5Nb3VzZUJ1dHRvbicsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuUG9pbnRlclR5cGUnXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnJlZmxlY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9icm93c2VyZXZlbnRfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50VGVzdCddLCBbJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2Jyb3dzZXJmZWF0dXJlLmpzJywgWydnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZSddLCBbJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnQuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50TGlrZSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmV2ZW50cy5FdmVudElkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRUZXN0J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlclRlc3QnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRpZC5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRJZCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHMuanMnLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkNhcHR1cmVTaW11bGF0aW9uTW9kZScsICdnb29nLmV2ZW50cy5LZXknLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZVR5cGUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ldmVudHMuTGlzdGVuZXJNYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHNfdGVzdC5qcycsIFsnZ29vZy5ldmVudHNUZXN0J10sIFsnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cuZGVidWcuRW50cnlQb2ludE1vbml0b3InLCAnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLmV2ZW50cy5DYXB0dXJlU2ltdWxhdGlvbk1vZGUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCcsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0X3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0VGVzdCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ldmVudHMuZXZlbnRUYXJnZXRUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHRhcmdldF92aWFfZ29vZ2V2ZW50c190ZXN0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldEdvb2dFdmVudHNUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuZXZlbnRUYXJnZXRUZXN0ZXInLCAnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0YXJnZXRfdmlhX3czY2ludGVyZmFjZV90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldFczQ1Rlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0dGVzdGVyLmpzJywgWydnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0eXBlLmpzJywgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuTW91c2VBc01vdXNlRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLk1vdXNlRXZlbnRzJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJBc01vdXNlRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJBc1RvdWNoRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLmV2ZW50cy5Qb2ludGVyVG91Y2hGYWxsYmFja0V2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0eXBlX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZVRlc3QnXSwgWydnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuUG9pbnRlckZhbGxiYWNrRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJUb3VjaEZhbGxiYWNrRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR3cmFwcGVyLmpzJywgWydnb29nLmV2ZW50cy5FdmVudFdyYXBwZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZmlsZWRyb3BoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5GaWxlRHJvcEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9maWxlZHJvcGhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZm9jdXNoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5Gb2N1c0hhbmRsZXInLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2ltZWhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkltZUhhbmRsZXInLCAnZ29vZy5ldmVudHMuSW1lSGFuZGxlci5FdmVudCcsICdnb29nLmV2ZW50cy5JbWVIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9pbWVoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkltZUhhbmRsZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5JbWVIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2lucHV0aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlci5FdmVudFR5cGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2lucHV0aGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2tleWNvZGVzLmpzJywgWydnb29nLmV2ZW50cy5LZXlDb2RlcyddLCBbJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5Y29kZXNfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuS2V5Q29kZXNUZXN0J10sIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuS2V5RXZlbnQnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9rZXloYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLktleUV2ZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9rZXluYW1lcy5qcycsIFsnZ29vZy5ldmVudHMuS2V5TmFtZXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5cy5qcycsIFsnZ29vZy5ldmVudHMuS2V5cyddLCBbXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbGlzdGVuYWJsZS5qcycsIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlS2V5J10sIFsnZ29vZy5ldmVudHMuRXZlbnRJZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2xpc3RlbmFibGVfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZVRlc3QnXSwgWydnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbGlzdGVuZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkxpc3RlbmVyJ10sIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZUtleSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2xpc3RlbmVybWFwLmpzJywgWydnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuTGlzdGVuZXInLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9saXN0ZW5lcm1hcF90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5MaXN0ZW5lck1hcFRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL21vdXNld2hlZWxoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5Nb3VzZVdoZWVsRXZlbnQnLCAnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXInLCAnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubWF0aCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbW91c2V3aGVlbGhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLk1vdXNlV2hlZWxFdmVudCcsICdnb29nLmV2ZW50cy5Nb3VzZVdoZWVsSGFuZGxlcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvb25saW5laGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuT25saW5lSGFuZGxlcicsICdnb29nLmV2ZW50cy5PbmxpbmVIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5OZXR3b3JrU3RhdHVzTW9uaXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL29ubGluZWxpc3RlbmVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLk9ubGluZUhhbmRsZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLk9ubGluZUhhbmRsZXInLCAnZ29vZy5uZXQuTmV0d29ya1N0YXR1c01vbml0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9wYXN0ZWhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlcicsICdnb29nLmV2ZW50cy5QYXN0ZUhhbmRsZXIuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlci5TdGF0ZSddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3luYy5Db25kaXRpb25hbERlbGF5JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubG9nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvcGFzdGVoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvd2hlZWxldmVudC5qcycsIFsnZ29vZy5ldmVudHMuV2hlZWxFdmVudCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy93aGVlbGhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLldoZWVsSGFuZGxlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLldoZWVsRXZlbnQnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvd2hlZWxoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLldoZWVsSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuV2hlZWxFdmVudCcsICdnb29nLmV2ZW50cy5XaGVlbEhhbmRsZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2VtYWlsYWRkcmVzcy5qcycsIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJ10sIFsnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9lbWFpbGFkZHJlc3NfdGVzdC5qcycsIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvZm9ybWF0LmpzJywgWydnb29nLmZvcm1hdCddLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuZm9ybWF0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mb3JtYXQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9odG1scHJldHR5cHJpbnRlci5qcycsIFsnZ29vZy5mb3JtYXQuSHRtbFByZXR0eVByaW50ZXInLCAnZ29vZy5mb3JtYXQuSHRtbFByZXR0eVByaW50ZXIuQnVmZmVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9odG1scHJldHR5cHJpbnRlcl90ZXN0LmpzJywgWydnb29nLmZvcm1hdC5IdG1sUHJldHR5UHJpbnRlclRlc3QnXSwgWydnb29nLmZvcm1hdC5IdG1sUHJldHR5UHJpbnRlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvaW50ZXJuYXRpb25hbGl6ZWRlbWFpbGFkZHJlc3MuanMnLCBbJ2dvb2cuZm9ybWF0LkludGVybmF0aW9uYWxpemVkRW1haWxBZGRyZXNzJ10sIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvaW50ZXJuYXRpb25hbGl6ZWRlbWFpbGFkZHJlc3NfdGVzdC5qcycsIFsnZ29vZy5mb3JtYXQuSW50ZXJuYXRpb25hbGl6ZWRFbWFpbEFkZHJlc3NUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmZvcm1hdC5JbnRlcm5hdGlvbmFsaXplZEVtYWlsQWRkcmVzcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2pzb25wcmV0dHlwcmludGVyLmpzJywgWydnb29nLmZvcm1hdC5Kc29uUHJldHR5UHJpbnRlcicsICdnb29nLmZvcm1hdC5Kc29uUHJldHR5UHJpbnRlci5TYWZlSHRtbERlbGltaXRlcnMnLCAnZ29vZy5mb3JtYXQuSnNvblByZXR0eVByaW50ZXIuVGV4dERlbGltaXRlcnMnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5TZXJpYWxpemVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLmZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2pzb25wcmV0dHlwcmludGVyX3Rlc3QuanMnLCBbJ2dvb2cuZm9ybWF0Lkpzb25QcmV0dHlQcmludGVyVGVzdCddLCBbJ2dvb2cuZm9ybWF0Lkpzb25QcmV0dHlQcmludGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9lbnRyeS5qcycsIFsnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkRpcmVjdG9yeUVudHJ5LkJlaGF2aW9yJywgJ2dvb2cuZnMuRW50cnknLCAnZ29vZy5mcy5GaWxlRW50cnknXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9lbnRyeWltcGwuanMnLCBbJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnlJbXBsJywgJ2dvb2cuZnMuRW50cnlJbXBsJywgJ2dvb2cuZnMuRmlsZUVudHJ5SW1wbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cuZnMuRW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVFbnRyeScsICdnb29nLmZzLkZpbGVXcml0ZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL2Vycm9yLmpzJywgWydnb29nLmZzLkRPTUVycm9yTGlrZScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRXJyb3IuRXJyb3JDb2RlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL2ZpbGVyZWFkZXIuanMnLCBbJ2dvb2cuZnMuRmlsZVJlYWRlcicsICdnb29nLmZzLkZpbGVSZWFkZXIuRXZlbnRUeXBlJywgJ2dvb2cuZnMuRmlsZVJlYWRlci5SZWFkeVN0YXRlJ10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuUHJvZ3Jlc3NFdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZmlsZXNhdmVyLmpzJywgWydnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLmZzLkZpbGVTYXZlci5FdmVudFR5cGUnLCAnZ29vZy5mcy5GaWxlU2F2ZXIuUmVhZHlTdGF0ZSddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5Qcm9ncmVzc0V2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9maWxlc3lzdGVtLmpzJywgWydnb29nLmZzLkZpbGVTeXN0ZW0nXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9maWxlc3lzdGVtaW1wbC5qcycsIFsnZ29vZy5mcy5GaWxlU3lzdGVtSW1wbCddLCBbJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnlJbXBsJywgJ2dvb2cuZnMuRmlsZVN5c3RlbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZmlsZXdyaXRlci5qcycsIFsnZ29vZy5mcy5GaWxlV3JpdGVyJ10sIFsnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZnMuanMnLCBbJ2dvb2cuZnMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVSZWFkZXInLCAnZ29vZy5mcy5GaWxlU3lzdGVtSW1wbCcsICdnb29nLmZzLnVybCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZnNfdGVzdC5qcycsIFsnZ29vZy5mc1Rlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMnLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZVJlYWRlcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvcHJvZ3Jlc3NldmVudC5qcycsIFsnZ29vZy5mcy5Qcm9ncmVzc0V2ZW50J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL3VybC5qcycsIFsnZ29vZy5mcy51cmwnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvdXJsX3Rlc3QuanMnLCBbJ2dvb2cudXJsVGVzdCddLCBbJ2dvb2cuZnMudXJsJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmdW5jdGlvbnMvZnVuY3Rpb25zLmpzJywgWydnb29nLmZ1bmN0aW9ucyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmdW5jdGlvbnMvZnVuY3Rpb25zX3Rlc3QuanMnLCBbJ2dvb2cuZnVuY3Rpb25zVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Fic3RyYWN0ZHJhZ2Ryb3AuanMnLCBbJ2dvb2cuZnguQWJzdHJhY3REcmFnRHJvcCcsICdnb29nLmZ4LkFic3RyYWN0RHJhZ0Ryb3AuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ0Ryb3BFdmVudCcsICdnb29nLmZ4LkRyYWdEcm9wSXRlbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Fic3RyYWN0ZHJhZ2Ryb3BfdGVzdC5qcycsIFsnZ29vZy5meC5BYnN0cmFjdERyYWdEcm9wVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5meC5BYnN0cmFjdERyYWdEcm9wJywgJ2dvb2cuZnguRHJhZ0Ryb3BJdGVtJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW0vYW5pbS5qcycsIFsnZ29vZy5meC5hbmltJywgJ2dvb2cuZnguYW5pbS5BbmltYXRlZCddLCBbJ2dvb2cuYXN5bmMuQW5pbWF0aW9uRGVsYXknLCAnZ29vZy5hc3luYy5EZWxheScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvYW5pbS9hbmltX3Rlc3QuanMnLCBbJ2dvb2cuZnguYW5pbVRlc3QnXSwgWydnb29nLmFzeW5jLkFuaW1hdGlvbkRlbGF5JywgJ2dvb2cuYXN5bmMuRGVsYXknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5hbmltJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9hbmltYXRpb24uanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguQW5pbWF0aW9uLkV2ZW50VHlwZScsICdnb29nLmZ4LkFuaW1hdGlvbi5TdGF0ZScsICdnb29nLmZ4LkFuaW1hdGlvbkV2ZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnLCAnZ29vZy5meC5hbmltJywgJ2dvb2cuZnguYW5pbS5BbmltYXRlZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvYW5pbWF0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW1hdGlvbnF1ZXVlLmpzJywgWydnb29nLmZ4LkFuaW1hdGlvblBhcmFsbGVsUXVldWUnLCAnZ29vZy5meC5BbmltYXRpb25RdWV1ZScsICdnb29nLmZ4LkFuaW1hdGlvblNlcmlhbFF1ZXVlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW1hdGlvbnF1ZXVlX3Rlc3QuanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uUXVldWVUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5BbmltYXRpb25QYXJhbGxlbFF1ZXVlJywgJ2dvb2cuZnguQW5pbWF0aW9uU2VyaWFsUXVldWUnLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguYW5pbScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9jc3MzL2Z4LmpzJywgWydnb29nLmZ4LmNzczMnXSwgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvY3NzMy90cmFuc2l0aW9uLmpzJywgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvbiddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLnRyYW5zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2NzczMvdHJhbnNpdGlvbl90ZXN0LmpzJywgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvblRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5meC5jc3MzLlRyYW5zaXRpb24nLCAnZ29vZy5zdHlsZS50cmFuc2l0aW9uJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9jc3NzcHJpdGVhbmltYXRpb24uanMnLCBbJ2dvb2cuZnguQ3NzU3ByaXRlQW5pbWF0aW9uJ10sIFsnZ29vZy5meC5BbmltYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Nzc3Nwcml0ZWFuaW1hdGlvbl90ZXN0LmpzJywgWydnb29nLmZ4LkNzc1Nwcml0ZUFuaW1hdGlvblRlc3QnXSwgWydnb29nLmZ4LkNzc1Nwcml0ZUFuaW1hdGlvbicsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RvbS5qcycsIFsnZ29vZy5meC5kb20nLCAnZ29vZy5meC5kb20uQmdDb2xvclRyYW5zZm9ybScsICdnb29nLmZ4LmRvbS5Db2xvclRyYW5zZm9ybScsICdnb29nLmZ4LmRvbS5GYWRlJywgJ2dvb2cuZnguZG9tLkZhZGVJbicsICdnb29nLmZ4LmRvbS5GYWRlSW5BbmRTaG93JywgJ2dvb2cuZnguZG9tLkZhZGVPdXQnLCAnZ29vZy5meC5kb20uRmFkZU91dEFuZEhpZGUnLCAnZ29vZy5meC5kb20uUHJlZGVmaW5lZEVmZmVjdCcsICdnb29nLmZ4LmRvbS5SZXNpemUnLCAnZ29vZy5meC5kb20uUmVzaXplSGVpZ2h0JywgJ2dvb2cuZnguZG9tLlJlc2l6ZVdpZHRoJywgJ2dvb2cuZnguZG9tLlNjcm9sbCcsICdnb29nLmZ4LmRvbS5TbGlkZScsICdnb29nLmZ4LmRvbS5TbGlkZUZyb20nLCAnZ29vZy5meC5kb20uU3dpcGUnXSwgWydnb29nLmNvbG9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2Ryb3AuanMnLCBbJ2dvb2cuZnguRHJhZ0Ryb3AnXSwgWydnb29nLmZ4LkFic3RyYWN0RHJhZ0Ryb3AnLCAnZ29vZy5meC5EcmFnRHJvcEl0ZW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RyYWdkcm9wZ3JvdXAuanMnLCBbJ2dvb2cuZnguRHJhZ0Ryb3BHcm91cCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZnguQWJzdHJhY3REcmFnRHJvcCcsICdnb29nLmZ4LkRyYWdEcm9wSXRlbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2Ryb3Bncm91cF90ZXN0LmpzJywgWydnb29nLmZ4LkRyYWdEcm9wR3JvdXBUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5EcmFnRHJvcEdyb3VwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9kcmFnZ2VyLmpzJywgWydnb29nLmZ4LkRyYWdFdmVudCcsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5meC5EcmFnZ2VyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2dlcl90ZXN0LmpzJywgWydnb29nLmZ4LkRyYWdnZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2xpc3Rncm91cC5qcycsIFsnZ29vZy5meC5EcmFnTGlzdERpcmVjdGlvbicsICdnb29nLmZ4LkRyYWdMaXN0R3JvdXAnLCAnZ29vZy5meC5EcmFnTGlzdEdyb3VwLkV2ZW50VHlwZScsICdnb29nLmZ4LkRyYWdMaXN0R3JvdXBFdmVudCcsICdnb29nLmZ4LkRyYWdMaXN0UGVybWlzc2lvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5meC5EcmFnZ2VyJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RyYWdsaXN0Z3JvdXBfdGVzdC5qcycsIFsnZ29vZy5meC5EcmFnTGlzdEdyb3VwVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmZ4LkRyYWdFdmVudCcsICdnb29nLmZ4LkRyYWdMaXN0RGlyZWN0aW9uJywgJ2dvb2cuZnguRHJhZ0xpc3RHcm91cCcsICdnb29nLmZ4LkRyYWdMaXN0UGVybWlzc2lvbicsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9kcmFnc2Nyb2xsc3VwcG9ydC5qcycsIFsnZ29vZy5meC5EcmFnU2Nyb2xsU3VwcG9ydCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ3Njcm9sbHN1cHBvcnRfdGVzdC5qcycsIFsnZ29vZy5meC5EcmFnU2Nyb2xsU3VwcG9ydFRlc3QnXSwgWydnb29nLmZ4LkRyYWdTY3JvbGxTdXBwb3J0JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZWFzaW5nLmpzJywgWydnb29nLmZ4LmVhc2luZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Vhc2luZ190ZXN0LmpzJywgWydnb29nLmZ4LmVhc2luZ1Rlc3QnXSwgWydnb29nLmZ4LmVhc2luZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZnguanMnLCBbJ2dvb2cuZngnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5BbmltYXRpb24uRXZlbnRUeXBlJywgJ2dvb2cuZnguQW5pbWF0aW9uLlN0YXRlJywgJ2dvb2cuZnguQW5pbWF0aW9uRXZlbnQnLCAnZ29vZy5meC5UcmFuc2l0aW9uLkV2ZW50VHlwZScsICdnb29nLmZ4LmVhc2luZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZnhfdGVzdC5qcycsIFsnZ29vZy5meFRlc3QnXSwgWydnb29nLmZ4LkFuaW1hdGlvbicsICdnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC90cmFuc2l0aW9uLmpzJywgWydnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uLkV2ZW50VHlwZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L3RyYW5zaXRpb25iYXNlLmpzJywgWydnb29nLmZ4LlRyYW5zaXRpb25CYXNlJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UuU3RhdGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZ4LlRyYW5zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dvb2cuanMnLCBbXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9hYnN0cmFjdGdyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLkFic3RyYWN0R3JhcGhpY3MnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLmdyYXBoaWNzLkVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkZpbGwnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUGF0aCcsICdnb29nLmdyYXBoaWNzLlBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdHJva2UnLCAnZ29vZy5ncmFwaGljcy5TdHJva2VBbmRGaWxsRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlRleHRFbGVtZW50JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2FmZmluZXRyYW5zZm9ybS5qcycsIFsnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvYWZmaW5ldHJhbnNmb3JtX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQWZmaW5lVHJhbnNmb3JtVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLm1hdGgnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2VsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkNhbnZhc1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzVGV4dEVsZW1lbnQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmdyYXBoaWNzLkVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuRm9udCcsICdnb29nLmdyYXBoaWNzLkdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5QYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlJlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVGV4dEVsZW1lbnQnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLm1hdGgnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLkNhbnZhc0dyYXBoaWNzJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ncmFwaGljcy5BYnN0cmFjdEdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkNhbnZhc1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzVGV4dEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2dyYXBoaWNzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzR3JhcGhpY3NUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCcsICdnb29nLmdyYXBoaWNzLlN0cm9rZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5FbGVtZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5tYXRoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9lbGxpcHNlZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCddLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9jb29yZGluYXRlcy5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2Nvb3JkaW5hdGVzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LmNvb3JkaW5hdGVzVGVzdCddLCBbJ2dvb2cuZ3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9lbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5FbGVtZW50J10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9lbGVtZW50X3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsZW1lbnRUZXN0J10sIFsnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLmV4dCcsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2VsbGlwc2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsbGlwc2UnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2V4dC5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5FbGxpcHNlJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LkdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LkltYWdlJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LlJlY3RhbmdsZScsICdnb29nLmdyYXBoaWNzLmV4dC5TaGFwZScsICdnb29nLmdyYXBoaWNzLmV4dC5jb29yZGluYXRlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5HcmFwaGljcyddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9leHQvZ3JvdXAuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmdyYXBoaWNzLmV4dC5FbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9leHQvaW1hZ2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkltYWdlJ10sIFsnZ29vZy5ncmFwaGljcy5leHQuRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3BhdGguanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LlBhdGgnXSwgWydnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5tYXRoLlJlY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9wYXRoX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LlBhdGhUZXN0J10sIFsnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLmV4dC5QYXRoJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cudGVzdGluZy5ncmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3JlY3RhbmdsZS5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuUmVjdGFuZ2xlJ10sIFsnZ29vZy5ncmFwaGljcy5leHQuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9zaGFwZS5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuU2hhcGUnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3N0cm9rZWFuZGZpbGxlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ZpbGwuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ZvbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuRm9udCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLlN2Z0dyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuVm1sR3JhcGhpY3MnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2dyb3VwZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5Hcm91cEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ltYWdlZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5JbWFnZUVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2xpbmVhcmdyYWRpZW50LmpzJywgWydnb29nLmdyYXBoaWNzLkxpbmVhckdyYWRpZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aC5qcycsIFsnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuUGF0aC5TZWdtZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLm1hdGgnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3BhdGhfdGVzdC5qcycsIFsnZ29vZy5ncmFwaGljcy5QYXRoVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cudGVzdGluZy5ncmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuUGF0aEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLlN0cm9rZUFuZEZpbGxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9wYXRocy5qcycsIFsnZ29vZy5ncmFwaGljcy5wYXRocyddLCBbJ2dvb2cuZ3JhcGhpY3MuUGF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aHNfdGVzdC5qcycsIFsnZ29vZy5ncmFwaGljcy5wYXRoc1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MucGF0aHMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3JlY3RlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLlJlY3RFbGVtZW50J10sIFsnZ29vZy5ncmFwaGljcy5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc29saWRmaWxsLmpzJywgWydnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCddLCBbJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc29saWRmaWxsX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsVGVzdCddLCBbJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9zdHJva2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc3Ryb2tlYW5kZmlsbGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3N2Z2VsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3ZnRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlN2Z1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuU3ZnVGV4dEVsZW1lbnQnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzLkVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuSW1hZ2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUGF0aEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5SZWN0RWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlRleHRFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9zdmdncmFwaGljcy5qcycsIFsnZ29vZy5ncmFwaGljcy5TdmdHcmFwaGljcyddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmdyYXBoaWNzLkFic3RyYWN0R3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuTGluZWFyR3JhZGllbnQnLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJywgJ2dvb2cuZ3JhcGhpY3MuU3ZnRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlN2Z1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuU3ZnVGV4dEVsZW1lbnQnLCAnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3N2Z2dyYXBoaWNzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3ZnR3JhcGhpY3NUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5ncmFwaGljcy5TdmdHcmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvdGV4dGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuVGV4dEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLlN0cm9rZUFuZEZpbGxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy92bWxlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLlZtbEVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sSW1hZ2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sUGF0aEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5WbWxSZWN0RWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbFRleHRFbGVtZW50J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5UZXh0RWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvdm1sZ3JhcGhpY3MuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuVm1sR3JhcGhpY3MnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZ3JhcGhpY3MuQWJzdHJhY3RHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLkZvbnQnLCAnZ29vZy5ncmFwaGljcy5MaW5lYXJHcmFkaWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5ncmFwaGljcy5WbWxFbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbEdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbEltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbFBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5WbWxUZXh0RWxlbWVudCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2V2ZW50LmpzJywgWydnb29nLmhpc3RvcnkuRXZlbnQnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmhpc3RvcnkuRXZlbnRUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2V2ZW50dHlwZS5qcycsIFsnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2hpc3RvcnkvaGlzdG9yeS5qcycsIFsnZ29vZy5IaXN0b3J5JywgJ2dvb2cuSGlzdG9yeS5FdmVudCcsICdnb29nLkhpc3RvcnkuRXZlbnRUeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuRXZlbnQnLCAnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5kZXZpY2UnLCAnZ29vZy5tZW1vaXplJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2hpc3RvcnlfdGVzdC5qcycsIFsnZ29vZy5IaXN0b3J5VGVzdCddLCBbJ2dvb2cuSGlzdG9yeScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaGlzdG9yeS9odG1sNWhpc3RvcnkuanMnLCBbJ2dvb2cuaGlzdG9yeS5IdG1sNUhpc3RvcnknLCAnZ29vZy5oaXN0b3J5Lkh0bWw1SGlzdG9yeS5Ub2tlblRyYW5zZm9ybWVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2hpc3RvcnkvaHRtbDVoaXN0b3J5X3Rlc3QuanMnLCBbJ2dvb2cuaGlzdG9yeS5IdG1sNUhpc3RvcnlUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuSHRtbDVIaXN0b3J5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9jc3NzcGVjaWZpY2l0eS5qcycsIFsnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5J10sIFsnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvY3Nzc3BlY2lmaWNpdHlfdGVzdC5qcycsIFsnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5VGVzdCddLCBbJ2dvb2cuaHRtbC5Dc3NTcGVjaWZpY2l0eScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2ZsYXNoLmpzJywgWydnb29nLmh0bWwuZmxhc2gnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2ZsYXNoX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5mbGFzaFRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuZmxhc2gnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvbGVnYWN5Y29udmVyc2lvbnMuanMnLCBbJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucyddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2xlZ2FjeWNvbnZlcnNpb25zX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9uc1Rlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZWh0bWwuanMnLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20udGFncycsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcmVjdGlvbmFsU3RyaW5nJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5UeXBlZFN0cmluZycsICdnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZlaHRtbF90ZXN0LmpzJywgWydnb29nLmh0bWwuc2FmZUh0bWxUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmVodG1sZm9ybWF0dGVyLmpzJywgWydnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20udGFncycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZWh0bWxmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVIdG1sRm9ybWF0dGVyVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXNjcmlwdC5qcycsIFsnZ29vZy5odG1sLlNhZmVTY3JpcHQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5UeXBlZFN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZlc2NyaXB0X3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYWZlU2NyaXB0VGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlLmpzJywgWydnb29nLmh0bWwuU2FmZVN0eWxlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmVzdHlsZV90ZXN0LmpzJywgWydnb29nLmh0bWwuc2FmZVN0eWxlVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlc2hlZXQuanMnLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlc2hlZXRfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVTdHlsZVNoZWV0VGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmV1cmwuanMnLCBbJ2dvb2cuaHRtbC5TYWZlVXJsJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnMudXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcmVjdGlvbmFsU3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RyaW5nLlR5cGVkU3RyaW5nJywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmV1cmxfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVVcmxUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuc2FmZVVybFRlc3RWZWN0b3JzJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZldXJsX3Rlc3RfdmVjdG9ycy5qcycsIFsnZ29vZy5odG1sLnNhZmVVcmxUZXN0VmVjdG9ycyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2F0dHJpYnV0ZXdoaXRlbGlzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5BdHRyaWJ1dGVTYW5pdGl6ZWRXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5BdHRyaWJ1dGVXaGl0ZWxpc3QnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9jc3Nwcm9wZXJ0eXNhbml0aXplci5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5Dc3NQcm9wZXJ0eVNhbml0aXplciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2Nzc3Byb3BlcnR5c2FuaXRpemVyX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzUHJvcGVydHlTYW5pdGl6ZXJUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnNhbml0aXplci5Dc3NQcm9wZXJ0eVNhbml0aXplcicsICdnb29nLmh0bWwuc2FuaXRpemVyLm5vY2xvYmJlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9jc3NzYW5pdGl6ZXIuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzU2FuaXRpemVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzUHJvcGVydHlTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2Nzc3Nhbml0aXplcl90ZXN0LmpzJywgWydnb29nLmh0bWwuQ3NzU2FuaXRpemVyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnNhbml0aXplci5Dc3NTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9lbGVtZW50d2Vha21hcC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5FbGVtZW50V2Vha01hcCddLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvZWxlbWVudHdlYWttYXBfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5FbGVtZW50V2Vha01hcFRlc3QnXSwgWydnb29nLmh0bWwuc2FuaXRpemVyLkVsZW1lbnRXZWFrTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sX3Rlc3RfdmVjdG9ycy5qcycsIFsnZ29vZy5odG1sLmh0bWxUZXN0VmVjdG9ycyddLCBbXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sc2FuaXRpemVyLmpzJywgWydnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyQXR0cmlidXRlUG9saWN5JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclBvbGljeScsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXJQb2xpY3lDb250ZXh0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclBvbGljeUhpbnRzJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclVybFBvbGljeSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQXR0cmlidXRlU2FuaXRpemVkV2hpdGVsaXN0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQXR0cmlidXRlV2hpdGVsaXN0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzU2FuaXRpemVyJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuU2FmZURvbVRyZWVQcm9jZXNzb3InLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdCbGFja2xpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvaHRtbHNhbml0aXplcl90ZXN0LmpzJywgWydnb29nLmh0bWwuSHRtbFNhbml0aXplclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sc2FuaXRpemVyX3VuaWZpZWRfdGVzdC5qcycsIFsnZ29vZy5odG1sLkh0bWxTYW5pdGl6ZXJVbmlmaWVkVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuaHRtbFRlc3RWZWN0b3JzJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplci5CdWlsZGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9ub2Nsb2JiZXIuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNScsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9ub2Nsb2JiZXJfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXJUZXN0J10sIFsnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9zYWZlZG9tdHJlZXByb2Nlc3Nvci5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5TYWZlRG9tVHJlZVByb2Nlc3NvciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuc2FuaXRpemVyLkVsZW1lbnRXZWFrTWFwJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxvZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3NhZmVkb210cmVlcHJvY2Vzc29yX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuU2FmZURvbVRyZWVQcm9jZXNzb3JUZXN0J10sIFsnZ29vZy5odG1sLnNhbml0aXplci5TYWZlRG9tVHJlZVByb2Nlc3NvcicsICdnb29nLmh0bWwuc2FuaXRpemVyLm5vY2xvYmJlcicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci90YWdibGFja2xpc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuVGFnQmxhY2tsaXN0J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvdGFnd2hpdGVsaXN0LmpzJywgWydnb29nLmh0bWwuc2FuaXRpemVyLlRhZ1doaXRlbGlzdCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3Vuc2FmZS5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci51bnNhZmUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3Vuc2FmZV90ZXN0LmpzJywgWydnb29nLmh0bWwuVW5zYWZlVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkF0dHJpYnV0ZVdoaXRlbGlzdCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci51bnNhZmUnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zaWx2ZXJsaWdodC5qcycsIFsnZ29vZy5odG1sLnNpbHZlcmxpZ2h0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLmZsYXNoJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NpbHZlcmxpZ2h0X3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zaWx2ZXJsaWdodFRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuc2lsdmVybGlnaHQnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdGVzdGluZy5qcycsIFsnZ29vZy5odG1sLnRlc3RpbmcnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLkFyZ3VtZW50TWF0Y2hlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90ZXh0ZXh0cmFjdG9yLmpzJywgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdGV4dGV4dHJhY3Rvcl90ZXN0LmpzJywgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvclRlc3QnXSwgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90cnVzdGVkcmVzb3VyY2V1cmwuanMnLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5pMThuLmJpZGkuRGlyZWN0aW9uYWxTdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdHJ1c3RlZHJlc291cmNldXJsX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC50cnVzdGVkUmVzb3VyY2VVcmxUZXN0J10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwudHJ1c3RlZHR5cGVzJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90cnVzdGVkdHlwZXMuanMnLCBbJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3VuY2hlY2tlZGNvbnZlcnNpb25zLmpzJywgWydnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdW5jaGVja2VkY29udmVyc2lvbnNfdGVzdC5qcycsIFsnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdXRpbHMuanMnLCBbJ2dvb2cuaHRtbC51dGlscyddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3V0aWxzX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5VdGlsc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnV0aWxzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2JpZGkuanMnLCBbJ2dvb2cuaTE4bi5iaWRpJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLmkxOG4uYmlkaS5EaXJlY3Rpb25hbFN0cmluZycsICdnb29nLmkxOG4uYmlkaS5Gb3JtYXQnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9iaWRpX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5iaWRpVGVzdCddLCBbJ2dvb2cuaTE4bi5iaWRpJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9iaWRpZm9ybWF0dGVyLmpzJywgWydnb29nLmkxOG4uQmlkaUZvcm1hdHRlciddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmkxOG4uYmlkaScsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5pMThuLmJpZGkuRm9ybWF0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2JpZGlmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5pMThuLkJpZGlGb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cuaTE4bi5CaWRpRm9ybWF0dGVyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLmkxOG4uYmlkaS5Gb3JtYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY2hhcmxpc3RkZWNvbXByZXNzb3IuanMnLCBbJ2dvb2cuaTE4bi5DaGFyTGlzdERlY29tcHJlc3NvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5pMThuLnVDaGFyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2NoYXJsaXN0ZGVjb21wcmVzc29yX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5DaGFyTGlzdERlY29tcHJlc3NvclRlc3QnXSwgWydnb29nLmkxOG4uQ2hhckxpc3REZWNvbXByZXNzb3InLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY2hhcnBpY2tlcmRhdGEuanMnLCBbJ2dvb2cuaTE4bi5DaGFyUGlja2VyRGF0YSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29sbGF0aW9uLmpzJywgWydnb29nLmkxOG4uY29sbGF0aW9uJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29sbGF0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5jb2xsYXRpb25UZXN0J10sIFsnZ29vZy5pMThuLmNvbGxhdGlvbicsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9jb21wYWN0bnVtYmVyZm9ybWF0c3ltYm9scy5qcycsIFsnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hZicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYW0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9EWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2F6JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYnMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jaHInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jeScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9BVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGVfQ0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lcycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfNDE5JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfTVgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ldCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19maScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ0EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3N3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ndScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGF3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19odScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lkJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pbicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2l0JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2thJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19raycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa20nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19taycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21uJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25iJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25vJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ub19OTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb3InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3BhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0JSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9QVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zdicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190ZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190cicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3VyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191eicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3poJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9DTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3poX1RXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196dSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29tcGFjdG51bWJlcmZvcm1hdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc0V4dCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYWZfTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hZ3EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FncV9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FrX0dIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hbV9FVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9BRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfQkgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0RKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9FSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfRVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0lMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfSk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0tNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfTEInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfTVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX09NJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9QUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfUUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfU08nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfVEQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1ROJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9YQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hc19JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hc2FfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FzdCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9DeXJsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9DeXJsX0FaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuX0FaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iYXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmVfQlknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JlbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iZXonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Jlel9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JtJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ibV9NTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ibycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYm9fQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JvX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icl9GUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYnJ4JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icnhfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmxfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG5fQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhX0FEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jYV9FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2FfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhX0lUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jY3AnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9CRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2NwX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2VfUlUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NlYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2ViX1BIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jZ2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NnZ19VRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2hyX1VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ja2InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jc19DWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY3lfR0InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RhX0RLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kYV9HTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGF2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kYXZfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0JFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGVfSVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGplJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kamVfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RzYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZHNiX0RFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kdWEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2R1YV9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZHlvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19keW9fU04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2R6JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kel9CVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZWJ1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lYnVfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lZV9HSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZWVfVEcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbF9HUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9BRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9BVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0JFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9CSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0JTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9CVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9DWCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0RFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ERycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0RNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9FUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0ZKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9GSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ISycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9JTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0pNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0tOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9LWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9MUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01IJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01TJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01XJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX05GJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ORycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX05SJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9OVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1BHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9QSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1BOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9QUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1JXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1RLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9UTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1RWJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9VU19QT1NJWCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1ZHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9WSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1dTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9YQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19BUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19CWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQ0wnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19DUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQ1UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19FQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfRUMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19HVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfSE4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19OSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfUEEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19QSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfUFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19TVicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfVVknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ldF9FRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXVfRVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mYV9BRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmFfSVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZmJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0JGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX01SJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19maV9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmlsX1BIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZm9fREsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZvX0ZPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQkYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0JJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQkwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ0cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0RKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0dBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfR04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0dQJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfSFQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0tNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01DJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01VJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1BGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfUkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1JXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfU04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1NZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfVEcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1ROJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfV0YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1lUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mdXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Z1cl9JVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nYV9JRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ2QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nbF9FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3N3X0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dzd19MSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3VfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3V6X0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ndicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oYV9HSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hhX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oYXdfVVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oaV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHJfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oc2InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hzYl9ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2h5X0FNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pYScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pZF9JRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19paScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWlfQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdF9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaXRfSVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdF9WQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamFfSlAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19qbWMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfanYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2p2X0lEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2FiJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rYWJfRFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2thbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2FtX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rZGUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2VhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rZWFfQ1YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tocScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2hxX01MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19raScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2trX0taJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ra2onLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2wnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tsX0dMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tsbl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa21fS0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rb19LUCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa29fS1InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa29rX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rcycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tzYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NiX1RaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rc2YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tzZl9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NoJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rc2hfREUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2t1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rdV9UUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2t3X0dCJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19reV9LRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbGFnJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sYWdfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xiJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sYl9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbGcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xnX1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sa3QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xrdF9VUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbG5fQU8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xuX0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sbl9DRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xvX0xBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19scmMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHJjX0lSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdF9MVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x1X0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdW8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x1b19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHV5JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdXlfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x2X0xWJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tYXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21hc19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWFzX1RaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21lcl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWZlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZmVfTVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21nJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZ19NRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWdoJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZ2hfTVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21nbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19taScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWlfTlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21rX01LJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tbF9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbW5fTU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21yX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tc19CTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXNfTVknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdF9NVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXVhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX215X01NJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tem4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX216bl9JUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmFxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uYXFfTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25iX05PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uYl9TSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25kX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZHMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25kc19ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmRzX05MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmVfTlAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX0FXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmxfQlEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX0NXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmxfU1InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX1NYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25tZ19DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbm4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubmgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25uaF9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19udXNfU1MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX255bicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb21fRVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vcl9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb3MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vc19SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfR3VydScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfR3VydV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3BzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wc19BRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHNfUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0FPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0dRJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9HVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9NWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X1RMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19xdScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3F1X0VDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19xdV9QRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3JtX0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ybicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3JvX01EJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yb19STycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yb2ZfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1X0JZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcnVfS1onLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1X01EJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcnVfVUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcndrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yd2tfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2FoX1JVJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zYXEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2JwJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zYnBfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZF9QSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NlX0ZJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZV9OTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NlaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2VoX01aJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Nlc19NTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaGknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NoaV9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2hpX1RmbmcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NoaV9UZm5nX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2tfU0snLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NsX1NJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Ntbl9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc24nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc29fREonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zb19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc29fU08nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zcV9NSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3FfWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfTUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fUlMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zdl9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3ZfU0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zd19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3dfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190YV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGFfTEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190YV9TRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGVfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGVvX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190ZW9fVUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190Z19USicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGhfVEgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190aV9FUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGlfRVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190a19UTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdG8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190cl9DWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHJfVFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190dF9SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHdxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3R6bScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHptX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191ZycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdWdfQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3VrX1VBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfQUYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmxfVVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmFpX0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc192YWlfVmFpaScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmFpX1ZhaWlfTFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc192dW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Z1bl9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc193YWVfQ0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3dvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeGgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3hoX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3hvZ19VRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeWF2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3lpJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195aV8wMDEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195b19CSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeW9fTkcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeXVlX0hhbnMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZV9IYW5zX0NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeXVlX0hhbnRfSEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3pnaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX1NHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X0hLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196dV9aQSddLCBbJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9jdXJyZW5jeS5qcycsIFsnZ29vZy5pMThuLmN1cnJlbmN5JywgJ2dvb2cuaTE4bi5jdXJyZW5jeS5DdXJyZW5jeUluZm8nLCAnZ29vZy5pMThuLmN1cnJlbmN5LkN1cnJlbmN5SW5mb1RpZXIyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY3VycmVuY3lfdGVzdC5qcycsIFsnZ29vZy5pMThuLmN1cnJlbmN5VGVzdCddLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQnLCAnZ29vZy5pMThuLmN1cnJlbmN5JywgJ2dvb2cuaTE4bi5jdXJyZW5jeS5DdXJyZW5jeUluZm8nLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY3VycmVuY3ljb2RlbWFwLmpzJywgWydnb29nLmkxOG4uY3VycmVuY3lDb2RlTWFwJywgJ2dvb2cuaTE4bi5jdXJyZW5jeUNvZGVNYXBUaWVyMiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFsZm9ybWF0LmpzJywgWydnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kYXRlLkRhdGVMaWtlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzVHlwZScsICdnb29nLmkxOG4uVGltZVpvbmUnLCAnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFN5bWJvbHMnLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNScsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGVpbnRlcnZhbGZvcm1hdF90ZXN0LmpzJywgWydnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0VGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aCcsICdnb29nLmkxOG4uVGltZVpvbmUnLCAnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFBhdHRlcm5zJywgJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxTeW1ib2xzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGVpbnRlcnZhbHBhdHRlcm5zLmpzJywgWydnb29nLmkxOG4uZGF0ZUludGVydmFsUGF0dGVybnMnXSwgWydnb29nLmkxOG4uZGF0ZUludGVydmFsU3ltYm9scyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFscGF0dGVybnNleHQuanMnLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxQYXR0ZXJuc0V4dCddLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxQYXR0ZXJucyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFsc3ltYm9scy5qcycsIFsnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFN5bWJvbHMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRlaW50ZXJ2YWxzeW1ib2xzZXh0LmpzJywgWydnb29nLmkxOG4uZGF0ZUludGVydmFsU3ltYm9sc0V4dCddLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxTeW1ib2xzJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZWZvcm1hdC5qcycsIFsnZ29vZy5pMThuLkRhdGVUaW1lRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdC5Gb3JtYXQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kYXRlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHMnLCAnZ29vZy5pMThuLlRpbWVab25lJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdFRlc3QnXSwgWydnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuX1hBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2phJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3N2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnRfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0RKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGVfSUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19qYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvX1JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3YnLCAnZ29vZy5pMThuLlRpbWVab25lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lcGFyc2UuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhcnNlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGF0ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZXBhcnNlX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhcnNlVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXJzZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZXBhdHRlcm5zLmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJucycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hZicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hbScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcl9FRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19heicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ibicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jaHInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY3knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXNfNDE5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX01YJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZpbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mcicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfaGF3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lkJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2luJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2l0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2l3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2phJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2thJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2trJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ttJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21rJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21sJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21yJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX210JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX215JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25iJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25lJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25sJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25vX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29yJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0X0JSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0X1BUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3J1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdHInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdmknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lcGF0dGVybnNleHQuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zRXh0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FmX05BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FmX1pBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FncScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hZ3FfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYWsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYWtfR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYW1fRVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXJfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0JIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0RKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0pPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0tNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0tXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0xCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0xZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX01SJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX09NJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1BTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1FBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1REJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1ROJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1hCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1lFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hc2FfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXN0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzdF9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hel9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2F6X0N5cmxfQVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXpfTGF0bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hel9MYXRuX0FaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JhcycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iYXNfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmVfQlknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmVtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JlbV9aTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmV6X1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JnX0JHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JtX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JuX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JuX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JyeCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icnhfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYnNfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ic19DeXJsX0JBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JzX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYnNfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9BRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9GUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jY3AnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2NwX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NjcF9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZWInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2ViX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NnZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZ2dfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2hyX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NrYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ja2JfSVEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2tiX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NzX0NaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2N5X0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhX0dMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhdicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kYXZfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfSVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGplJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RqZV9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2R1YScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kdWFfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZHlvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2R5b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19keicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kel9CVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19lYnUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZWJ1X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlX1RHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VsX0NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VsX0dSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19lbl8xNTAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRkonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRksnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR1UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTEMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTFMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTUgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUFInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1onLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVEMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVE8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVVNfUE9TSVgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fV1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWEEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW9fMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0FSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0RPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0dRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0dUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0hOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0lDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX05JJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1VZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1ZFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V0X0VFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V1X0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V3bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ld29fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmFfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmFfSVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0JGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9HSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0dNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9HVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19maV9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19maWxfUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm9fREsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm9fRk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfREonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfRFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfRlInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfSFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfS00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTkMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUEYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVEQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfV0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfWVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnVyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2Z1cl9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19meScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19meV9OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nYV9JRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nZF9HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nbF9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nc3dfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3N3X0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2dzd19MSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ndV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ndXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3V6X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2d2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2d2X0lNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhd19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oZV9JTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oaV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ocl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ocl9IUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfaHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h1X0hVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h5X0FNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lhXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZF9JRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZ19ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19paScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19paV9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pc19JUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9TTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9WQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qYV9KUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qZ28nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfamdvX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ptYycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qbWNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfanYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfanZfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FfR0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FiJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2thYl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rYW0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FtX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tkZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rZGVfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2VhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tlYV9DVicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19raHEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2hxX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tpX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2trX0taJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2traicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ra2pfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2xfR0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2xuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tsbl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rbV9LSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rbl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb19LUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb19LUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb2snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa29rX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rc2JfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa3NmJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzZl9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rc2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa3NoX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t1X1RSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t3X0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t5X0tHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xhZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sYWdfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGJfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGdfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGt0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xrdF9VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9BTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sb19MQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19scmMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHJjX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xyY19JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdF9MVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdV9DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x1eScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdXlfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHZfTFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWFzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21hc19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tYXNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWVyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21lcl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tZmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWZlX01VJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21naCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tZ2hfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWdvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nb19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19taScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19taV9OWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ta19NSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tbF9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tbl9NTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tcl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19CTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tdF9NVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tdWEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbXVhX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX215X01NJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX216bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tem5fSVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbmFxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25hcV9OQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uYl9OTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uYl9TSicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZF9aVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbmRzX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25kc19OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZV9OUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9BVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9CRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9CUScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9DVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9TUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9TWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubWcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbm1nX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubmhfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbnVzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX251c19TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ueW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbnluX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tX0VUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zX0dFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zX1JVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhX0FyYWInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhX0d1cnVfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcGxfUEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHNfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHNfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQ1YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfR1cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfU1QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfVEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfQk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfUEUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm1fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm5fQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9fTUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9fUk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9mJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3JvZl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9CWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9LRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9NRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9VQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19yd19SVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19yd2snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcndrX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NhaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zYWhfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2FxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NhcV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zYnAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2JwX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NkJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NkX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX0ZJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX1NFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZWhfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2VzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Nlc19NTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZ19DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX0xhdG5fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX1RmbmcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX1RmbmdfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2lfTEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2tfU0snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2xfU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc21uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Ntbl9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbl9aVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19TTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9BTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9NSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0N5cmxfQkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfQ3lybF9NRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9DeXJsX1JTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0N5cmxfWEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9MYXRuX01FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0xhdG5fUlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfTGF0bl9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9BWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Rlb19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190Z19USicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aF9USCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aV9FUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190a19UTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190b19UTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190cl9DWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190cl9UUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190dCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190dF9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190d3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdHdxX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3R6bScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190em1fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWdfQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWtfVUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXJfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXJfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXpfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc191el9BcmFiX0FGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3V6X0N5cmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc191el9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdmFpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9WYWlpX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZpX1ZOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Z1bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc192dW5fVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfd2FlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3dhZV9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc193bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc193b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194aCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194aF9aQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194b2cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeG9nX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lhdicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195YXZfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeWknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeWlfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvX0JKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3l1ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFucycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFuc19DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFudCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196Z2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemdoX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFuc19DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFuc19TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW50JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFudF9NTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3p1X1pBJ10sIFsnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZXRpbWVzeW1ib2xzLmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNUeXBlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hbScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9FRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2F6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19iZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19icycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2hyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jeScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9BVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RlX0NIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0lFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JU08nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fWkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzXzQxOScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfTVgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2V0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ndScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhdycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ocicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2h1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2luJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2l3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfamEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2trJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa20nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sdicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21rJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX210JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25lJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25vX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb3InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9CUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X1BUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zdicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190cicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191eicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196dSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZXRpbWVzeW1ib2xzZXh0LmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzRXh0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWZfTkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hZl9aQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FncScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FncV9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWtfR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hbV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfQkgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0VIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9JTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfSk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9LTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0tXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfTEInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9MWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9PTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1BTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfUUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfU08nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfVEQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9UTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1hCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXNhX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXN0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXpfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2F6X0N5cmxfQVonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXpfTGF0bl9BWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JhcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JlX0JZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmVtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmV6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmV6X1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ibScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JtX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ibl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm9fQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ib19JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnJ4JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnJ4X0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnNfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JzX0N5cmxfQkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ic19MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnNfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhX0FEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2FfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jYV9GUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhX0lUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jZV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NlYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NlYl9QSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NnZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NnZ19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Nocl9VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYl9JUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYl9JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NzX0NaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY3lfR0InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kYV9ESycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RhX0dMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGF2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGF2X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGVfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9ERScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RlX0lUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGVfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RqZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RqZV9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RzYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RzYl9ERScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R1YScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R1YV9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R5bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R5b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZHpfQlQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lYnUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lYnVfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VlX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZWVfVEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbF9DWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VsX0dSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fMTUwJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9BRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0FJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9BVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9CSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9CVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0NLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9DWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ERycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fRE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9FUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0ZJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fRkonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9GSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0ZNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0pFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0tJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fS04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9LWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0xDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9MUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTUgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01QJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01VJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTVcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTlInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9OVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05aJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9QSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9QUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1BXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1RDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9UTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1RUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9VU19QT1NJWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1ZDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9WSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1ZVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fV1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9YQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1pNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fWlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VvXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0FSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19CUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQ0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19DTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0NSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQ1UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19ETycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0VBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19HUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0dUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfSE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19JQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX05JJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfUEEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19QRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfUFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19QWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX1NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfVVknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19WRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2V0X0VFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXVfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ld28nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ld29fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYV9BRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZhX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9CRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9HTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9MUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmlfRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19maWxfUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZvX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZm9fRk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0JGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0JMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQ0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfREonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfR0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0dOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfR1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0hUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfS00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01SJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfUEYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1JFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfU1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1RHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfVE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1dGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfWVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mdXJfSVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19meScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2FfSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2xfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ndV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d1el9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oYV9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhd19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGlfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ocl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHNiJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oeV9BTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWRfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19paV9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXRfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pdF9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXRfVkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19qYV9KUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2pnb19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ptYycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2p2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfanZfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thYl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thbScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thbV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tkZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tlYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tlYV9DVicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tocScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tocV9NTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ra19LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2traicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa2xfR0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbG5fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbV9LSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa29fS1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rb19LUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tva19JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2JfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2YnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2ZfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2hfREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2t1X1RSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rd19HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2t5X0tHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGFnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGFnX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sYl9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGdfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sa3QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sa3RfVVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbl9BTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xuX0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbG5fQ0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbl9DRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xvX0xBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHRfTFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2x1X0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHVvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHV5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHV5X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHZfTFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXNfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZXJfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZmVfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21nX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdoX01aJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdvX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19taV9OWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21rX01LJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWxfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tbl9NTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXNfQk4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tc19NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXRfTVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tdWEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19teV9NTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX216bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX216bl9JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25hcScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25hcV9OQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25iX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmJfU0onLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25kX1pXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzX05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmVfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uZV9OUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX0FXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmxfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubF9CUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX0NXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmxfTkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubF9TUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX1NYJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm1nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm1nX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubl9OTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25uaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25uaF9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX251cycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX251c19TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX255bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX255bl9VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29tJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb21fRVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19vbV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19vc19HRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29zX1JVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGFfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BhX0FyYWJfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGFfR3VydV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BsX1BMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wc19BRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BzX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfQU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X0NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9HVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X0xVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9NWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X1NUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfVEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19xdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3F1X0JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcXVfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19xdV9QRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ybicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JuX0JJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm9fTUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yb19STycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvZicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvZl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J1X0JZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcnVfS0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydV9LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J1X01EJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcnVfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydV9VQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcndfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yd2snLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yd2tfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYWgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYWhfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYXEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYXFfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYnAnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYnBfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NkX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZV9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NlX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZWgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZWhfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZXNfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NoaV9UZm5nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpX1RmbmdfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NrX1NLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2xfU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbW5fRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc28nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zb19ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc29fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zb19TTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3FfTUsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcV9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9DeXJsX0JBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfQ3lybF9NRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9DeXJsX1hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9MYXRuX1JTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfTGF0bl9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3ZfRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zdl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3dfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zd19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGFfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190YV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGFfU0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190ZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Rlb19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Rlb19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGdfVEonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190aF9USCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGlfRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190aV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGtfVE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdHJfQ1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190cl9UUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdHRfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190d3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190em0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190em1fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191ZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VnX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdWtfVUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VyX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXpfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3V6X0FyYWJfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191el9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3V6X0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191el9MYXRuX1VaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc192YWlfTGF0bl9MUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpX1ZhaWlfTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc192aV9WTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Z1bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Z1bl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dhZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dhZV9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfd29fU04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc194aCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3hoX1pBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeG9nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeG9nX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWF2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWF2X0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195aV8wMDEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3lvX0JKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeW9fTkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWVfSGFucycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3l1ZV9IYW5zX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeXVlX0hhbnQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3pnaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3pnaF9NQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW5zX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFuc19ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW5zX1NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFudCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW50X01PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFudF9UVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9ncmFwaGVtZWJyZWFrLmpzJywgWydnb29nLmkxOG4uR3JhcGhlbWVCcmVhayddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4udUNoYXInLCAnZ29vZy5zdHJ1Y3RzLkludmVyc2lvbk1hcCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9ncmFwaGVtZWJyZWFrX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrVGVzdCddLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrJywgJ2dvb2cuaTE4bi51Q2hhcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9sb2NhbGVmZWF0dXJlLmpzJywgWydnb29nLmkxOG4uTG9jYWxlRmVhdHVyZSddLCBbXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2xvY2FsZWZlYXR1cmVfdGVzdC5qcycsIFsnZ29vZy5pMThuLkxvY2FsZUZlYXR1cmVUZXN0J10sIFsnZ29vZy5pMThuLkxvY2FsZUZlYXR1cmUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbWVzc2FnZWZvcm1hdC5qcycsIFsnZ29vZy5pMThuLk1lc3NhZ2VGb3JtYXQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9scycsICdnb29nLmkxOG4ub3JkaW5hbFJ1bGVzJywgJ2dvb2cuaTE4bi5wbHVyYWxSdWxlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9tZXNzYWdlZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0VGVzdCddLCBbJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cuaTE4bi5wbHVyYWxSdWxlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9taW1lLmpzJywgWydnb29nLmkxOG4ubWltZScsICdnb29nLmkxOG4ubWltZS5lbmNvZGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaTE4bi51Q2hhciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9taW1lX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5taW1lLmVuY29kZVRlc3QnXSwgWydnb29nLmkxOG4ubWltZS5lbmNvZGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbnVtYmVyZm9ybWF0LmpzJywgWydnb29nLmkxOG4uTnVtYmVyRm9ybWF0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQuQ3VycmVuY3lTdHlsZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0LkZvcm1hdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5jdXJyZW5jeScsICdnb29nLm1hdGgnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbnVtYmVyZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRUZXN0J10sIFsnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUdfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3JvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3VfbnVfbGF0bicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL251bWJlcmZvcm1hdHN5bWJvbHMuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FtJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VHX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19heicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2hyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2N5JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0FUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0NIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzXzQxOScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19FUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19NWCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19VUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ldCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ldScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dzdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ndScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19oYXcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfamEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa20nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa24nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa28nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX210JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX215JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX215X3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm9fTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfb3InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfUFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcnUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2wnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfTGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190YScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190ZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190aCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190bCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190cicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfQ04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfVFcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL251bWJlcmZvcm1hdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzRXh0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmX05BJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FncScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hZ3FfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYWtfR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYW1fRVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0FFX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9CSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9CSF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfREonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfREpfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JTF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfSVEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfSVFfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0pPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0pPX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LTV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfS1cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfS1dfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xCX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9MWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NUl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfT00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfT01fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1BTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1BTX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9RQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9RQV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU0EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU0FfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NEX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TT191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU1NfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NZX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9URCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9URF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfVE4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWEInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUVfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzX0lOX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzYV9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hc3QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2F6X0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXpfQ3lybF9BWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2F6X0xhdG5fQVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmFzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZV9CWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZW0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JleicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZXpfVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm1fTUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ib19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ib19JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19icl9GUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19icngnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnJ4X0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnNfQ3lybF9CQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ic19MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG5fQkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfQUQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfRVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfRlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfSVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2NwJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9CRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jY3BfQkRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jY3BfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2VfUlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2ViJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NlYl9QSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jZ2cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2dnX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Nocl9VUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ja2InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lRJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jc19DWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jeV9HQicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYV9ESycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYV9HTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYXYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZGF2X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0JFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0RFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RqZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kamVfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHNiJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RzYl9ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kdWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHVhX0NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2R5bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19keW9fU04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHpfQlQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHpfQlRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2R6X3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lYnUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZWJ1X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlX0dIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlX1RHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0dSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuXzAwMScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRE0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRVInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRksnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTFMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUE4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0wnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVE8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVVNfUE9TSVgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fV1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWEEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0FSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0VBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0VDJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0hOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX05JJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1NWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1VZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V0X0VFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V1X0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ld29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmFfQUYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmFfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZhX0lSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZhX0lSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fQkYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fR00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9TTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpX0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpbF9QSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mb19ESycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mb19GTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ESicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9GUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9IVCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9LTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ORScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9SRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9SVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9UTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9XRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ZVCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mdXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZnVyX0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Z5JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dhX0lFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dkJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dsX0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dzd19DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3N3X0xJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2d1X0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ndXpfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGF3X1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hpX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0JBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hzYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19oc2JfREUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHlfQU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lkX0lEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lpX0NOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X0NIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1ZBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2phX0pQJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qZ29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfam1jJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qdl9JRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYWInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2FiX0RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2thbScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYW1fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rZWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2VhX0NWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tocScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19raHFfTUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2tfS1onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2tqJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbF9HTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2xuX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ttX0tIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvX0tQJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvX0tSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rb2tfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rc2InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NiX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzZicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rc2ZfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NoJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzaF9ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdV9UUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rd19HQicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19reV9LRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sYWcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbGFnX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xiJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xiX0xVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xnX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xrdCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sa3RfVVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG9fTEEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHJjJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19scmNfSVFfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19scmNfSVJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHRfTFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHVfQ0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHVvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2x1b19LRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sdXknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHV5X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2x2X0xWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21hcycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tYXNfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWFzX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21lcicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZXJfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWZlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21mZV9NVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ19NRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWdoX01aJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21nbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWlfTlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWtfTUsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWxfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW5fTU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX0JOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX01ZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX210X01UJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX211YScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXlfTU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXlfTU1fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX216bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tem5fSVInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXpuX0lSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tem5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25hcScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uYXFfTkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmJfTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmJfU0onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmRfWlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmRzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25kc19ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZHNfTkwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmVfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmVfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25lX05QJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25lX05QX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9BVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9DVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9TUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9TWCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm1nX0NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uaCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubmhfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX251c19TUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ueW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29yX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zX1JVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BhX0FyYWInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9BcmFiX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9BcmFiX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BhX0d1cnVfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHNfQUYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHNfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BzX1BLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BzX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfR1EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfR1cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfVEwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfRUMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfUEUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9fTUQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9fUk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3JvZl9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9CWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9NRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9VQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19yd2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcndrX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zYWhfUlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2FxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zYnAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2JwX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkX1BLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zZF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfRkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VoJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NlaF9NWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VzX01MJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NoaScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfVGZuZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfVGZuZ19NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19za19TSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zbF9TSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc21uX0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0RKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX1NPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX01LJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX1hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfQ3lybF9CQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9DeXJsX01FJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfQ3lybF9YSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuX0JBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfTGF0bl9SUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuX1hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X1NFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX0xLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RlX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190ZW9fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdGVvX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RnX1RKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RoX1RIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpX0VSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RrX1RNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RyX0NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RyX1RSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R0X1JVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R3cScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdHptJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R6bV9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191ZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191Z19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191a19VQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXpfQXJhYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191el9BcmFiX0FGJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191el9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdmFpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpX0xSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3Z1bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc192dW5fVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3dhZV9DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc193bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194aCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194aF9aQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeG9nX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lhdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeWknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeWlfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvX0JKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvX05HJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFucycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFuc19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196Z2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFuc19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFuc19TRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFudF9NTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdV9udV9sYXRuJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL29yZGluYWxydWxlcy5qcycsIFsnZ29vZy5pMThuLm9yZGluYWxSdWxlcyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3BsdXJhbHJ1bGVzLmpzJywgWydnb29nLmkxOG4ucGx1cmFsUnVsZXMnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9wbHVyYWxydWxlc190ZXN0LmpzJywgWydnb29nLmkxOG4ucGx1cmFsUnVsZXNUZXN0J10sIFsnZ29vZy5pMThuLnBsdXJhbFJ1bGVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3JlbGF0aXZlZGF0ZXRpbWVmb3JtYXQuanMnLCBbJ2dvb2cuaTE4bi5SZWxhdGl2ZURhdGVUaW1lRm9ybWF0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaTE4bi5Mb2NhbGVGZWF0dXJlJywgJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0JywgJ2dvb2cuaTE4bi5yZWxhdGl2ZURhdGVUaW1lU3ltYm9scyddLCB7J2xhbmcnOiAnZXM1JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vcmVsYXRpdmVkYXRldGltZWZvcm1hdF90ZXN0LmpzJywgWydnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdFRlc3QnXSwgWydnb29nLmkxOG4uTG9jYWxlRmVhdHVyZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9FRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lbicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lcycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYScsICdnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4ucmVsYXRpdmVEYXRlVGltZVN5bWJvbHMnLCAnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzRXh0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3JlbGF0aXZlZGF0ZXRpbWVzeW1ib2xzLmpzJywgWydnb29nLmkxOG4ucmVsYXRpdmVEYXRlVGltZVN5bWJvbHMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9yZWxhdGl2ZWRhdGV0aW1lc3ltYm9sc2V4dC5qcycsIFsnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzRXh0J10sIFsnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzJ10sIHsnbGFuZyc6ICdlczUnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi90aW1lem9uZS5qcycsIFsnZ29vZy5pMThuLlRpbWVab25lJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRhdGUuRGF0ZUxpa2UnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdGltZXpvbmVfdGVzdC5qcycsIFsnZ29vZy5pMThuLlRpbWVab25lVGVzdCddLCBbJ2dvb2cuaTE4bi5UaW1lWm9uZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi91Y2hhci5qcycsIFsnZ29vZy5pMThuLnVDaGFyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbG9jYWxuYW1lZmV0Y2hlci5qcycsIFsnZ29vZy5pMThuLnVDaGFyLkxvY2FsTmFtZUZldGNoZXInXSwgWydnb29nLmkxOG4udUNoYXIuTmFtZUZldGNoZXInLCAnZ29vZy5pMThuLnVDaGFyTmFtZXMnLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbG9jYWxuYW1lZmV0Y2hlcl90ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXIuTG9jYWxOYW1lRmV0Y2hlclRlc3QnXSwgWydnb29nLmkxOG4udUNoYXIuTG9jYWxOYW1lRmV0Y2hlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbmFtZWZldGNoZXIuanMnLCBbJ2dvb2cuaTE4bi51Q2hhci5OYW1lRmV0Y2hlciddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvcmVtb3RlbmFtZWZldGNoZXIuanMnLCBbJ2dvb2cuaTE4bi51Q2hhci5SZW1vdGVOYW1lRmV0Y2hlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlVyaScsICdnb29nLmV2ZW50cycsICdnb29nLmkxOG4udUNoYXInLCAnZ29vZy5pMThuLnVDaGFyLk5hbWVGZXRjaGVyJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5YaHJJbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi91Y2hhci9yZW1vdGVuYW1lZmV0Y2hlcl90ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXIuUmVtb3RlTmFtZUZldGNoZXJUZXN0J10sIFsnZ29vZy5pMThuLnVDaGFyLlJlbW90ZU5hbWVGZXRjaGVyJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3VjaGFyX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi51Q2hhclRlc3QnXSwgWydnb29nLmkxOG4udUNoYXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXJuYW1lcy5qcycsIFsnZ29vZy5pMThuLnVDaGFyTmFtZXMnXSwgWydnb29nLmkxOG4udUNoYXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXJuYW1lc190ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXJOYW1lc1Rlc3QnXSwgWydnb29nLmkxOG4udUNoYXJOYW1lcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9lczYuanMnLCBbJ2dvb2cuaXRlci5lczYnXSwgWydnb29nLml0ZXIuSXRlcmFibGUnLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9lczZfdGVzdC5qcycsIFsnZ29vZy5pdGVyLmVzNlRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLmVzNicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9pdGVyLmpzJywgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLkl0ZXJhYmxlJywgJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubWF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9pdGVyX3Rlc3QuanMnLCBbJ2dvb2cuaXRlclRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2h5YnJpZC5qcycsIFsnZ29vZy5qc29uLmh5YnJpZCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmpzb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2pzb24vaHlicmlkX3Rlc3QuanMnLCBbJ2dvb2cuanNvbi5oeWJyaWRUZXN0J10sIFsnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5oeWJyaWQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2pzb24uanMnLCBbJ2dvb2cuanNvbicsICdnb29nLmpzb24uUmVwbGFjZXInLCAnZ29vZy5qc29uLlJldml2ZXInLCAnZ29vZy5qc29uLlNlcmlhbGl6ZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9qc29uX3BlcmYuanMnLCBbJ2dvb2cuanNvblBlcmYnXSwgWydnb29nLmRvbScsICdnb29nLmpzb24nLCAnZ29vZy5tYXRoJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRhYmxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2pzb24vanNvbl90ZXN0LmpzJywgWydnb29nLmpzb25UZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2pzb25hYmxlLmpzJywgWydnb29nLmpzb24uSnNvbmFibGUnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9uYXRpdmVqc29ucHJvY2Vzc29yLmpzJywgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmpzb24uUHJvY2Vzc29yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL3Byb2Nlc3Nvci5qcycsIFsnZ29vZy5qc29uLlByb2Nlc3NvciddLCBbJ2dvb2cuc3RyaW5nLlBhcnNlcicsICdnb29nLnN0cmluZy5TdHJpbmdpZmllciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9wcm9jZXNzb3JfdGVzdC5qcycsIFsnZ29vZy5qc29uLnByb2Nlc3NvclRlc3QnXSwgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9jb2xsZWN0aW9ucy9pdGVyYWJsZXMuanMnLCBbJ2dvb2cubGFicy5jb2xsZWN0aW9ucy5pdGVyYWJsZXMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9jb2xsZWN0aW9ucy9pdGVyYWJsZXNfdGVzdC5qcycsIFsnZ29vZy5sYWJzLml0ZXJhYmxlVGVzdCddLCBbJ2dvb2cubGFicy5jb2xsZWN0aW9ucy5pdGVyYWJsZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2RvbS9wYWdldmlzaWJpbGl0eW1vbml0b3IuanMnLCBbJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlFdmVudCcsICdnb29nLmxhYnMuZG9tLlBhZ2VWaXNpYmlsaXR5TW9uaXRvcicsICdnb29nLmxhYnMuZG9tLlBhZ2VWaXNpYmlsaXR5U3RhdGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS52ZW5kb3InLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWVtb2l6ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9kb20vcGFnZXZpc2liaWxpdHltb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlNb25pdG9yVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlNb25pdG9yJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZXZlbnRzL25vbmRpc3Bvc2FibGVldmVudHRhcmdldC5qcycsIFsnZ29vZy5sYWJzLmV2ZW50cy5Ob25EaXNwb3NhYmxlRXZlbnRUYXJnZXQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmVyTWFwJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2V2ZW50cy9ub25kaXNwb3NhYmxlZXZlbnR0YXJnZXRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLmV2ZW50cy5Ob25EaXNwb3NhYmxlRXZlbnRUYXJnZXRUZXN0J10sIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLmxhYnMuZXZlbnRzLk5vbkRpc3Bvc2FibGVFdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9ldmVudHMvbm9uZGlzcG9zYWJsZWV2ZW50dGFyZ2V0X3ZpYV9nb29nZXZlbnRzX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5ldmVudHMuTm9uRGlzcG9zYWJsZUV2ZW50VGFyZ2V0R29vZ0V2ZW50c1Rlc3QnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLmxhYnMuZXZlbnRzLk5vbkRpc3Bvc2FibGVFdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZXZlbnRzL3RvdWNoLmpzJywgWydnb29nLmxhYnMuZXZlbnRzLnRvdWNoJywgJ2dvb2cubGFicy5ldmVudHMudG91Y2guVG91Y2hEYXRhJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2V2ZW50cy90b3VjaF90ZXN0LmpzJywgWydnb29nLmxhYnMuZXZlbnRzLnRvdWNoVGVzdCddLCBbJ2dvb2cubGFicy5ldmVudHMudG91Y2gnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZm9ybWF0L2Nzdi5qcycsIFsnZ29vZy5sYWJzLmZvcm1hdC5jc3YnLCAnZ29vZy5sYWJzLmZvcm1hdC5jc3YuUGFyc2VFcnJvcicsICdnb29nLmxhYnMuZm9ybWF0LmNzdi5Ub2tlbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcubmV3bGluZXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZm9ybWF0L2Nzdl90ZXN0LmpzJywgWydnb29nLmxhYnMuZm9ybWF0LmNzdlRlc3QnXSwgWydnb29nLmxhYnMuZm9ybWF0LmNzdicsICdnb29nLmxhYnMuZm9ybWF0LmNzdi5QYXJzZUVycm9yJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdGZvcm1hdC5qcycsIFsnZ29vZy5sYWJzLmkxOG4uR2VuZGVySW5mbycsICdnb29nLmxhYnMuaTE4bi5HZW5kZXJJbmZvLkdlbmRlcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdGZvcm1hdF90ZXN0LmpzJywgWydnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0VGVzdCddLCBbJ2dvb2cubGFicy5pMThuLkdlbmRlckluZm8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9scycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196dScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9pMThuL2xpc3RzeW1ib2xzLmpzJywgWydnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9scycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hZicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hbScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcl9EWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcl9FRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19heicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ibicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jaHInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY3MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY3knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZWwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSUUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZXMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZXNfNDE5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX01YJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZpbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcl9DQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nc3cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfaGF3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lkJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2luJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2l0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2l3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2phJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2thJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2trJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ttJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x2JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21rJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21sJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21vJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21yJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX210JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX215JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25iJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25lJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25sJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25vJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25vX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29yJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0X0JSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0X1BUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3JvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3J1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NoJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NrJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdHInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfQ04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfVFcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzRXh0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FmX05BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FncScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hZ3FfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYWtfR0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYW1fRVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0FFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0JIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0RKJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0VIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0VSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0lMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0lRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0pPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0tNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0tXJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0xCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0xZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX01BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX01SJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX09NJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1BTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1FBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1REJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1ROJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1hCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1lFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hc2FfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXN0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzdF9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hel9DeXJsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2F6X0N5cmxfQVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXpfTGF0bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hel9MYXRuX0FaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JhcycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iYXNfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmVfQlknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmVtJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JlbV9aTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmV6X1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JnX0JHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JtJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JtX01MJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JuX0JEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvX0NOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JyX0ZSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JyeCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icnhfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYnNfQ3lybCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ic19DeXJsX0JBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JzX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYnNfTGF0bl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9BRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9GUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jY3AnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2NwX0JEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NjcF9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZV9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZWInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2ViX1BIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NnZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZ2dfVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2hyX1VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NrYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ja2JfSVEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NzX0NaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2N5X0dCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhX0RLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhX0dMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhdicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kYXZfS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfREUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfSVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfTEknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGplJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RqZV9ORScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kc2InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZHNiX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2R1YScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kdWFfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZHlvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2R5b19TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19keicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kel9CVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lYnUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZWJ1X0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlX0dIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlX1RHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VsX0dSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VuXzAwMScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ1gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRE0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRkonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRksnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTFInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTFMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTUgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUE4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUFInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1onLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVE8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVU0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVVNfUE9TSVgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fV1MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWEEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0FSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VDJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0dUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0hOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX05JJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1NWJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1VZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V0X0VFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V1X0VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ld29fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmFfQUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmFfSVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0JGJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0dNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fR04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9ORScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fU0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19maV9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19maWxfUEgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm9fREsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm9fRk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfREonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfRFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfRlInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR0EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR1AnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR1EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfSFQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfS00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTkMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUEYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUE0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVEQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVEcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVE4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfV0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfWVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnVyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2Z1cl9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19meScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19meV9OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nYV9JRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nZCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nZF9HQicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nbF9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nc3dfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3N3X0ZSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2dzd19MSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ndV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ndXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3V6X0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2d2JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2d2X0lNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX0dIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX05FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhd19VUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oZV9JTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oaV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ocl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ocl9IUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oc2InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfaHNiX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h1X0hVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h5X0FNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lhXzAwMScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZF9JRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZ19ORycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19paScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19paV9DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pc19JUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9DSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9TTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9WQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qYV9KUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qZ28nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfamdvX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ptYycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qbWNfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfanYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfanZfSUQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FfR0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FiJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2thYl9EWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rYW0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FtX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tkZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rZGVfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2VhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tlYV9DVicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19raHEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2hxX01MJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tpX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2trX0taJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2traicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ra2pfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2xfR0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2xuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tsbl9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rbV9LSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rbl9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb19LUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb19LUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb2snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa29rX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rc2JfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa3NmJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzZl9DTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rc2gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa3NoX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t1X1RSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t3X0dCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t5X0tHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xhZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sYWdfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGJfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGdfVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGt0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xrdF9VUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9BTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sb19MQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19scmMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHJjX0lRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xyY19JUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdF9MVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdV9DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHVvX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x1eScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdXlfS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHZfTFYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWFzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21hc19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tYXNfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWVyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21lcl9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tZmUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWZlX01VJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nX01HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21naCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tZ2hfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWdvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nb19DTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19taScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19taV9OWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ta19NSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbF9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbl9NTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tcl9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19CTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19NWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tdF9NVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tdWEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbXVhX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX215X01NJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX216bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tem5fSVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbmFxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25hcV9OQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uYl9OTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uYl9TSicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZF9aVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZHMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbmRzX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25kc19OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZV9OUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9BVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9CUScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9DVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9TUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9TWCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbm1nX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubmhfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX251c19TUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ueW4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tX0VUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29yX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zX1JVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhX0FyYWInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhX0d1cnVfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHNfQUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHNfUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfR1EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfR1cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfVEwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfRUMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfUEUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9fTUQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9fUk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3JvZl9UWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9CWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9LWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9NRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9VQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19yd2snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcndrX1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zYWhfUlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2FxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zYnAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2JwX1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NkX1BLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX0ZJJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX1NFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZWhfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2VzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Nlc19NTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZ19DRicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zaGknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX0xhdG5fTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX1RmbmcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX1RmbmdfTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2lfTEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2tfU0snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2xfU0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc21uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Ntbl9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbl9aVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19ESicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19FVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19TTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9BTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9NSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9YSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9DeXJsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0N5cmxfQkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfQ3lybF9NRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9DeXJsX1JTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0N5cmxfWEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfTGF0bl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9MYXRuX01FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0xhdG5fUlMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfTGF0bl9YSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9BWCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9TRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19UWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19VRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9MSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9NWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGVvX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Rlb19VRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190Z19USicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aF9USCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aV9FUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aV9FVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190a19UTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190b19UTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190cl9DWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190cl9UUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190dCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190dF9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190d3EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdHdxX05FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3R6bScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190em1fTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWdfQ04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWtfVUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXJfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXpfQXJhYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc191el9BcmFiX0FGJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc191el9MYXRuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdmFpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Z1bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc192dW5fVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3dhZV9DSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc193bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194aCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194aF9aQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeG9nX1VHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lhdicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeWknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeWlfMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvX0JKJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFucycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFuc19DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196Z2gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFuc19DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFuc19TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFudF9NTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbW9jay9tb2NrLmpzJywgWydnb29nLmxhYnMubW9jaycsICdnb29nLmxhYnMubW9jay5UaW1lb3V0RXJyb3InLCAnZ29vZy5sYWJzLm1vY2suVmVyaWZpY2F0aW9uRXJyb3InXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLm1vY2sudGltZW91dCcsICdnb29nLmxhYnMubW9jay50aW1lb3V0LlRpbWVvdXRNb2RlJywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLmxhYnMubW9jay52ZXJpZmljYXRpb24uQmFzZVZlcmlmaWNhdGlvbk1vZGUnLCAnZ29vZy5sYWJzLm1vY2sudmVyaWZpY2F0aW9uLlZlcmlmaWNhdGlvbk1vZGUnLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svbW9ja190ZXN0LmpzJywgWydnb29nLmxhYnMubW9ja1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy5tb2NrJywgJ2dvb2cubGFicy5tb2NrLlRpbWVvdXRFcnJvcicsICdnb29nLmxhYnMubW9jay5WZXJpZmljYXRpb25FcnJvcicsICdnb29nLmxhYnMubW9jay50aW1lb3V0JywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLmxhYnMudGVzdGluZy5Bbnl0aGluZ01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuR3JlYXRlclRoYW5NYXRjaGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzOCd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdGltZW91dG1vZGUuanMnLCBbJ2dvb2cubGFicy5tb2NrLnRpbWVvdXQnLCAnZ29vZy5sYWJzLm1vY2sudGltZW91dC5UaW1lb3V0TW9kZSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdmVyaWZpY2F0aW9ubW9kZS5qcycsIFsnZ29vZy5sYWJzLm1vY2sudmVyaWZpY2F0aW9uJywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbi5CYXNlVmVyaWZpY2F0aW9uTW9kZScsICdnb29nLmxhYnMubW9jay52ZXJpZmljYXRpb24uVmVyaWZpY2F0aW9uTW9kZSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdmVyaWZpY2F0aW9ubW9kZV90ZXN0LmpzJywgWydnb29nLmxhYnMubW9jay5WZXJpZmljYXRpb25Nb2RlVGVzdCddLCBbJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvaW1hZ2UuanMnLCBbJ2dvb2cubGFicy5uZXQuaW1hZ2UnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvaW1hZ2VfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC5pbWFnZVRlc3QnXSwgWydnb29nLmxhYnMubmV0LmltYWdlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwuanMnLCBbJ2dvb2cubmV0LldlYkNoYW5uZWwnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cubmV0LlhtbEh0dHBGYWN0b3J5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2Jhc2V0ZXN0Y2hhbm5lbC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkJhc2VUZXN0Q2hhbm5lbCddLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5uZXQuV2ViQ2hhbm5lbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9jaGFubmVsLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbCddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2NoYW5uZWxyZXF1ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbFJlcXVlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXN5bmMuVGhyb3R0bGUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsRGVidWcnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLmVudmlyb25tZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XZWJDaGFubmVsJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvY2hhbm5lbHJlcXVlc3RfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLmNoYW5uZWxSZXF1ZXN0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cy5TZXJ2ZXJSZWFjaGFiaWxpdHknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9jb25uZWN0aW9uc3RhdGUuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Db25uZWN0aW9uU3RhdGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2Vudmlyb25tZW50LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuZW52aXJvbm1lbnQnXSwgWydnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvZW52aXJvbm1lbnRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkVudmlyb25tZW50VGVzdCddLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5lbnZpcm9ubWVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9mb3J3YXJkY2hhbm5lbHJlcXVlc3Rwb29sLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuRm9yd2FyZENoYW5uZWxSZXF1ZXN0UG9vbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cy5TZXQnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2ZvcndhcmRjaGFubmVscmVxdWVzdHBvb2xfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2xUZXN0J10sIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Gb3J3YXJkQ2hhbm5lbFJlcXVlc3RQb29sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL25ldHV0aWxzLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwubmV0VXRpbHMnXSwgWydnb29nLlVyaScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL3JlcXVlc3RzdGF0cy5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzLkV2ZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU2VydmVyUmVhY2hhYmlsaXR5JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU2VydmVyUmVhY2hhYmlsaXR5RXZlbnQnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cy5TdGF0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU3RhdEV2ZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuVGltaW5nRXZlbnQnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZS5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5ydW4nLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5CYXNlVGVzdENoYW5uZWwnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWwnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Db25uZWN0aW9uU3RhdGUnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2wnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxEZWJ1ZycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZVY4JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5uZXRVdGlscycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzJywgJ2dvb2cubmV0LldlYkNoYW5uZWwnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQucnBjLkh0dHBDb3JzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZV90ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwud2ViQ2hhbm5lbEJhc2VUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuanNvbicsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2wnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZVRyYW5zcG9ydCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5uZXRVdGlscycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU3RhdCcsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2ViY2hhbm5lbGJhc2V0cmFuc3BvcnQuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZVRyYW5zcG9ydCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmpzb24nLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLmxvZycsICdnb29nLm5ldC5XZWJDaGFubmVsJywgJ2dvb2cubmV0LldlYkNoYW5uZWxUcmFuc3BvcnQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcucGF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZXRyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwud2ViQ2hhbm5lbEJhc2VUcmFuc3BvcnRUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbEJhc2UnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlVHJhbnNwb3J0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cubmV0LldlYkNoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2ViY2hhbm5lbGRlYnVnLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJ10sIFsnZ29vZy5qc29uJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL3dpcmUuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2lyZXY4LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZVY4J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuanNvbicsICdnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLnN0cnVjdHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2lyZXY4X3Rlc3QuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlVjhUZXN0J10sIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldpcmVWOCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbHRyYW5zcG9ydC5qcycsIFsnZ29vZy5uZXQuV2ViQ2hhbm5lbFRyYW5zcG9ydCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWx0cmFuc3BvcnRmYWN0b3J5LmpzJywgWydnb29nLm5ldC5jcmVhdGVXZWJDaGFubmVsVHJhbnNwb3J0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlVHJhbnNwb3J0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC94aHIuanMnLCBbJ2dvb2cubGFicy5uZXQueGhyJywgJ2dvb2cubGFicy5uZXQueGhyLkVycm9yJywgJ2dvb2cubGFicy5uZXQueGhyLkh0dHBFcnJvcicsICdnb29nLmxhYnMubmV0Lnhoci5PcHRpb25zJywgJ2dvb2cubGFicy5uZXQueGhyLlBvc3REYXRhJywgJ2dvb2cubGFicy5uZXQueGhyLlJlc3BvbnNlVHlwZScsICdnb29nLmxhYnMubmV0Lnhoci5UaW1lb3V0RXJyb3InXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5uZXQuSHR0cFN0YXR1cycsICdnb29nLm5ldC5YbWxIdHRwJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXJpLnV0aWxzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC94aHJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC54aHJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmxhYnMubmV0LnhocicsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWGhyTGlrZScsICdnb29nLm5ldC5YbWxIdHRwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3B1YnN1Yi9icm9hZGNhc3RwdWJzdWIuanMnLCBbJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLnJ1bicsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubG9nJywgJ2dvb2cubWF0aCcsICdnb29nLnB1YnN1Yi5QdWJTdWInLCAnZ29vZy5zdG9yYWdlLlN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNUxvY2FsU3RvcmFnZScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9wdWJzdWIvYnJvYWRjYXN0cHVic3ViX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViJywgJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0b3JhZ2UvYm91bmRlZGNvbGxlY3RhYmxlc3RvcmFnZS5qcycsIFsnZ29vZy5sYWJzLnN0b3JhZ2UuQm91bmRlZENvbGxlY3RhYmxlU3RvcmFnZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlcicsICdnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLkV4cGlyaW5nU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9zdG9yYWdlL2JvdW5kZWRjb2xsZWN0YWJsZXN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnN0b3JhZ2UuQm91bmRlZENvbGxlY3RhYmxlU3RvcmFnZVRlc3QnXSwgWydnb29nLmxhYnMuc3RvcmFnZS5Cb3VuZGVkQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0cnVjdHMvbXVsdGltYXAuanMnLCBbJ2dvb2cubGFicy5zdHJ1Y3RzLk11bHRpbWFwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLm9iamVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvc3RydWN0cy9tdWx0aW1hcF90ZXN0LmpzJywgWydnb29nLmxhYnMuc3RydWN0cy5NdWx0aW1hcFRlc3QnXSwgWydnb29nLmxhYnMuc3RydWN0cy5NdWx0aW1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9zdHlsZS9waXhlbGRlbnNpdHltb25pdG9yLmpzJywgWydnb29nLmxhYnMuc3R5bGUuUGl4ZWxEZW5zaXR5TW9uaXRvcicsICdnb29nLmxhYnMuc3R5bGUuUGl4ZWxEZW5zaXR5TW9uaXRvci5EZW5zaXR5JywgJ2dvb2cubGFicy5zdHlsZS5QaXhlbERlbnNpdHlNb25pdG9yLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0eWxlL3BpeGVsZGVuc2l0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnN0eWxlLlBpeGVsRGVuc2l0eU1vbml0b3JUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5sYWJzLnN0eWxlLlBpeGVsRGVuc2l0eU1vbml0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Fzc2VydHRoYXQuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5hc3NlcnRUaGF0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Fzc2VydHRoYXRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuYXNzZXJ0VGhhdFRlc3QnXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyRXJyb3InLCAnZ29vZy5sYWJzLnRlc3RpbmcuYXNzZXJ0VGhhdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kZWNvcmF0b3JtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5Bbnl0aGluZ01hdGNoZXInXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3RpbmcvZGVjb3JhdG9ybWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5kZWNvcmF0b3JNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFueXRoaW5nTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5HcmVhdGVyVGhhbk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kaWN0aW9uYXJ5bWF0Y2hlci5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuSGFzRW50cmllc01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSGFzRW50cnlNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkhhc0tleU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSGFzVmFsdWVNYXRjaGVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kaWN0aW9uYXJ5bWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5kaWN0aW9uYXJ5TWF0Y2hlclRlc3QnXSwgWydnb29nLmxhYnMudGVzdGluZy5IYXNFbnRyeU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9lbnZpcm9ubWVudC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnXSwgWydnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuQ29uc29sZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9lbnZpcm9ubWVudF90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5lbnZpcm9ubWVudFRlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczgnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Vudmlyb25tZW50X3VzYWdlX3Rlc3QuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLmVudmlyb25tZW50VXNhZ2VUZXN0J10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9qc29uX2Z1enppbmcuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLkpzb25GdXp6aW5nJ10sIFsnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2pzb25fZnV6emluZ190ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5Kc29uRnV6emluZ1Rlc3QnXSwgWydnb29nLmpzb24nLCAnZ29vZy5sYWJzLnRlc3RpbmcuSnNvbkZ1enppbmcnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9sb2dpY21hdGNoZXIuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFsbE9mTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5BbnlPZk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNOb3RNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmxvZ2ljTWF0Y2hlcnMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9sb2dpY21hdGNoZXJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcubG9naWNNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFsbE9mTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5HcmVhdGVyVGhhbk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9tYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9udW1iZXJtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5BbnlOdW1iZXJNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkNsb3NlVG9NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkVxdWFsVG9NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkdyZWF0ZXJUaGFuRXF1YWxUb01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuR3JlYXRlclRoYW5NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkxlc3NUaGFuRXF1YWxUb01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTGVzc1RoYW5NYXRjaGVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9udW1iZXJtYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLm51bWJlck1hdGNoZXJUZXN0J10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuTGVzc1RoYW5NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5hc3NlcnRUaGF0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvb2JqZWN0bWF0Y2hlci5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuQW55T2JqZWN0TWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5IYXNQcm9wZXJ0eU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSW5zdGFuY2VPZk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNOdWxsTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5Jc051bGxPclVuZGVmaW5lZE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNVbmRlZmluZWRNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLk9iamVjdEVxdWFsc01hdGNoZXInXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvb2JqZWN0bWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5vYmplY3RNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5PYmplY3RFcXVhbHNNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9zdHJpbmdtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5BbnlTdHJpbmdNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkNvbnRhaW5zU3RyaW5nTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5FbmRzV2l0aE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuRXF1YWxUb0lnbm9yaW5nV2hpdGVzcGFjZU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuRXF1YWxzTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5SZWdleE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuU3RhcnRzV2l0aE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuU3RyaW5nQ29udGFpbnNJbk9yZGVyTWF0Y2hlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvc3RyaW5nbWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5zdHJpbmdNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5TdHJpbmdDb250YWluc0luT3JkZXJNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2Jyb3dzZXIuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9icm93c2VyX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlclRlc3QnXSwgWydnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZGV2aWNlLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmRldmljZSddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZGV2aWNlX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZGV2aWNlVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZGV2aWNlJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2VuZ2luZS5qcycsIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5lbmdpbmUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZW5naW5lX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2V4dHJhLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmV4dHJhJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9leHRyYV90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmV4dHJhVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmV4dHJhJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L3BsYXRmb3JtLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9wbGF0Zm9ybV90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdGVzdF9hZ2VudHMuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC91dGlsLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnV0aWwnXSwgWydnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdXRpbF90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnV0aWxUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdmVyaWZpZXIuanMnLCBbJ2dvb2cubGFicy51c2VyYWdlbnQudmVyaWZpZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdmVyaWZpZXJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnVzZXJhZ2VudC52ZXJpZmllclRlc3QnXSwgWydnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJhZ2VudC52ZXJpZmllcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9hZGVyL2Fic3RyYWN0bW9kdWxlbWFuYWdlci5qcycsIFsnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubG9hZGVyLkFic3RyYWN0TW9kdWxlTWFuYWdlci5DYWxsYmFja1R5cGUnLCAnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyLkZhaWx1cmVUeXBlJ10sIFsnZ29vZy5tb2R1bGUuQWJzdHJhY3RNb2R1bGVMb2FkZXInLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvYWRlci9hY3RpdmVtb2R1bGVtYW5hZ2VyLmpzJywgWydnb29nLmxvYWRlci5hY3RpdmVNb2R1bGVNYW5hZ2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubG9hZGVyLkFic3RyYWN0TW9kdWxlTWFuYWdlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9jb3VudHJpZXMuanMnLCBbJ2dvb2cubG9jYWxlLmNvdW50cmllcyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9jb3VudHJ5bGFuZ3VhZ2VuYW1lc190ZXN0LmpzJywgWydnb29nLmxvY2FsZS5jb3VudHJ5TGFuZ3VhZ2VOYW1lc1Rlc3QnXSwgWydnb29nLmxvY2FsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2RlZmF1bHRsb2NhbGVuYW1lY29uc3RhbnRzLmpzJywgWydnb29nLmxvY2FsZS5kZWZhdWx0TG9jYWxlTmFtZUNvbnN0YW50cyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9nZW5lcmljZm9udG5hbWVzLmpzJywgWydnb29nLmxvY2FsZS5nZW5lcmljRm9udE5hbWVzJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2dlbmVyaWNmb250bmFtZXNfdGVzdC5qcycsIFsnZ29vZy5sb2NhbGUuZ2VuZXJpY0ZvbnROYW1lc1Rlc3QnXSwgWydnb29nLmxvY2FsZS5nZW5lcmljRm9udE5hbWVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvZ2VuZXJpY2ZvbnRuYW1lc2RhdGEuanMnLCBbJ2dvb2cubG9jYWxlLmdlbmVyaWNGb250TmFtZXNEYXRhJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2xvY2FsZS5qcycsIFsnZ29vZy5sb2NhbGUnXSwgWydnb29nLmxvY2FsZS5uYXRpdmVOYW1lQ29uc3RhbnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvbmF0aXZlbmFtZWNvbnN0YW50cy5qcycsIFsnZ29vZy5sb2NhbGUubmF0aXZlTmFtZUNvbnN0YW50cyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9zY3JpcHRUb0xhbmd1YWdlcy5qcycsIFsnZ29vZy5sb2NhbGUuc2NyaXB0VG9MYW5ndWFnZXMnXSwgWydnb29nLmxvY2FsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL3RpbWV6b25lZGV0ZWN0aW9uLmpzJywgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvbiddLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lRmluZ2VycHJpbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS90aW1lem9uZWRldGVjdGlvbl90ZXN0LmpzJywgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvblRlc3QnXSwgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL3RpbWV6b25lZmluZ2VycHJpbnQuanMnLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lRmluZ2VycHJpbnQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvdGltZXpvbmVsaXN0LmpzJywgWydnb29nLmxvY2FsZS5UaW1lWm9uZUxpc3QnLCAnZ29vZy5sb2NhbGUuZ2V0VGltZVpvbmVBbGxMb25nTmFtZXMnLCAnZ29vZy5sb2NhbGUuZ2V0VGltZVpvbmVTZWxlY3RlZExvbmdOYW1lcycsICdnb29nLmxvY2FsZS5nZXRUaW1lWm9uZVNlbGVjdGVkU2hvcnROYW1lcyddLCBbJ2dvb2cubG9jYWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvdGltZXpvbmVsaXN0X3Rlc3QuanMnLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lTGlzdFRlc3QnXSwgWydnb29nLmxvY2FsZScsICdnb29nLmxvY2FsZS5UaW1lWm9uZUxpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvZy9sb2cuanMnLCBbJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubG9nLkxvZ1JlY29yZCcsICdnb29nLmxvZy5Mb2dnZXInXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9nL2xvZ190ZXN0LmpzJywgWydnb29nLmxvZ1Rlc3QnXSwgWydnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYWZmaW5ldHJhbnNmb3JtLmpzJywgWydnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYWZmaW5ldHJhbnNmb3JtX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5BZmZpbmVUcmFuc2Zvcm1UZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkFmZmluZVRyYW5zZm9ybScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9iZXppZXIuanMnLCBbJ2dvb2cubWF0aC5CZXppZXInXSwgWydnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYmV6aWVyX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5CZXppZXJUZXN0J10sIFsnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5CZXppZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYm94LmpzJywgWydnb29nLm1hdGguQm94J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2JveF90ZXN0LmpzJywgWydnb29nLm1hdGguQm94VGVzdCddLCBbJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZS5qcycsIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwgWydnb29nLm1hdGgnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZTMuanMnLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlMyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2Nvb3JkaW5hdGUzX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlM1Rlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZTMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZV90ZXN0LmpzJywgWydnb29nLm1hdGguQ29vcmRpbmF0ZVRlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9leHBvbmVudGlhbGJhY2tvZmYuanMnLCBbJ2dvb2cubWF0aC5FeHBvbmVudGlhbEJhY2tvZmYnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvZXhwb25lbnRpYWxiYWNrb2ZmX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5FeHBvbmVudGlhbEJhY2tvZmZUZXN0J10sIFsnZ29vZy5tYXRoLkV4cG9uZW50aWFsQmFja29mZicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pbnRlZ2VyLmpzJywgWydnb29nLm1hdGguSW50ZWdlciddLCBbJ2dvb2cucmVmbGVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pbnRlZ2VyX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5JbnRlZ2VyVGVzdCddLCBbJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9pbnRlcnBvbGF0b3IxLmpzJywgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkludGVycG9sYXRvcjEnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9saW5lYXIxLmpzJywgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkxpbmVhcjEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLmludGVycG9sYXRvci5JbnRlcnBvbGF0b3IxJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9saW5lYXIxX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuTGluZWFyMVRlc3QnXSwgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkxpbmVhcjEnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3BjaGlwMS5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDEnXSwgWydnb29nLm1hdGgnLCAnZ29vZy5tYXRoLmludGVycG9sYXRvci5TcGxpbmUxJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9wY2hpcDFfdGVzdC5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDFUZXN0J10sIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDEnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3NwbGluZTEuanMnLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuU3BsaW5lMSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguaW50ZXJwb2xhdG9yLkludGVycG9sYXRvcjEnLCAnZ29vZy5tYXRoLnRkbWEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3NwbGluZTFfdGVzdC5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5TcGxpbmUxVGVzdCddLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuU3BsaW5lMScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pcmVjdC5qcycsIFsnZ29vZy5tYXRoLklSZWN0J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9saW5lLmpzJywgWydnb29nLm1hdGguTGluZSddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9saW5lX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5MaW5lVGVzdCddLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5MaW5lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2xvbmcuanMnLCBbJ2dvb2cubWF0aC5Mb25nJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucmVmbGVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbG9uZ190ZXN0LmpzJywgWydnb29nLm1hdGguTG9uZ1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5tYXRoLkxvbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbWF0aC5qcycsIFsnZ29vZy5tYXRoJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbWF0aF90ZXN0LmpzJywgWydnb29nLm1hdGhUZXN0J10sIFsnZ29vZy5tYXRoJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL21hdHJpeC5qcycsIFsnZ29vZy5tYXRoLk1hdHJpeCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9tYXRyaXhfdGVzdC5qcycsIFsnZ29vZy5tYXRoLk1hdHJpeFRlc3QnXSwgWydnb29nLm1hdGguTWF0cml4JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGguanMnLCBbJ2dvb2cubWF0aC5QYXRoJywgJ2dvb2cubWF0aC5QYXRoLlNlZ21lbnQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGhfdGVzdC5qcycsIFsnZ29vZy5tYXRoLlBhdGhUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJywgJ2dvb2cubWF0aC5QYXRoJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGhzLmpzJywgWydnb29nLm1hdGgucGF0aHMnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLm1hdGguUGF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9wYXRoc190ZXN0LmpzJywgWydnb29nLm1hdGgucGF0aHNUZXN0J10sIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLnBhdGhzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3JhbmdlLmpzJywgWydnb29nLm1hdGguUmFuZ2UnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvcmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5tYXRoLlJhbmdlVGVzdCddLCBbJ2dvb2cubWF0aC5SYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yYW5nZXNldC5qcycsIFsnZ29vZy5tYXRoLlJhbmdlU2V0J10sIFsnZ29vZy5hcnJheScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5tYXRoLlJhbmdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3Jhbmdlc2V0X3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5SYW5nZVNldFRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5tYXRoLlJhbmdlJywgJ2dvb2cubWF0aC5SYW5nZVNldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yZWN0LmpzJywgWydnb29nLm1hdGguUmVjdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5JUmVjdCcsICdnb29nLm1hdGguU2l6ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yZWN0X3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5SZWN0VGVzdCddLCBbJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvc2l6ZS5qcycsIFsnZ29vZy5tYXRoLlNpemUnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9zaXplX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5TaXplVGVzdCddLCBbJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3RkbWEuanMnLCBbJ2dvb2cubWF0aC50ZG1hJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdGRtYV90ZXN0LmpzJywgWydnb29nLm1hdGgudGRtYVRlc3QnXSwgWydnb29nLm1hdGgudGRtYScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC92ZWMyLmpzJywgWydnb29nLm1hdGguVmVjMiddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdmVjMl90ZXN0LmpzJywgWydnb29nLm1hdGguVmVjMlRlc3QnXSwgWydnb29nLm1hdGguVmVjMicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC92ZWMzLmpzJywgWydnb29nLm1hdGguVmVjMyddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZTMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdmVjM190ZXN0LmpzJywgWydnb29nLm1hdGguVmVjM1Rlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZTMnLCAnZ29vZy5tYXRoLlZlYzMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lbW9pemUvbWVtb2l6ZS5qcycsIFsnZ29vZy5tZW1vaXplJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lbW9pemUvbWVtb2l6ZV90ZXN0LmpzJywgWydnb29nLm1lbW9pemVUZXN0J10sIFsnZ29vZy5tZW1vaXplJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYWJzdHJhY3RjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLk1lc3NhZ2VDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYWJzdHJhY3RjaGFubmVsX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkFic3RyYWN0Q2hhbm5lbFRlc3QnXSwgWydnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5hc3luYy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL2J1ZmZlcmVkY2hhbm5lbC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuQnVmZmVyZWRDaGFubmVsJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5tZXNzYWdpbmcuTWVzc2FnZUNoYW5uZWwnLCAnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYnVmZmVyZWRjaGFubmVsX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkJ1ZmZlcmVkQ2hhbm5lbFRlc3QnXSwgWydnb29nLmRlYnVnLkNvbnNvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm1lc3NhZ2luZy5CdWZmZXJlZENoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmFzeW5jLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvZGVmZXJyZWRjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5EZWZlcnJlZENoYW5uZWwnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5tZXNzYWdpbmcuTWVzc2FnZUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9kZWZlcnJlZGNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUNoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9sb2dnZXJjbGllbnQuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkxvZ2dlckNsaWVudCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL2xvZ2dlcmNsaWVudF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5Mb2dnZXJDbGllbnRUZXN0J10sIFsnZ29vZy5kZWJ1ZycsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLm1lc3NhZ2luZy5Mb2dnZXJDbGllbnQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbG9nZ2Vyc2VydmVyLmpzJywgWydnb29nLm1lc3NhZ2luZy5Mb2dnZXJTZXJ2ZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9sb2dnZXJzZXJ2ZXJfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuTG9nZ2VyU2VydmVyVGVzdCddLCBbJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm1lc3NhZ2luZy5Mb2dnZXJTZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbWVzc2FnZWNoYW5uZWwuanMnLCBbJ2dvb2cubWVzc2FnaW5nLk1lc3NhZ2VDaGFubmVsJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL21lc3NhZ2luZy5qcycsIFsnZ29vZy5tZXNzYWdpbmcnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbWVzc2FnaW5nX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsVGVzdCddLCBbJ2dvb2cubWVzc2FnaW5nJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL211bHRpY2hhbm5lbC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJywgJ2dvb2cubWVzc2FnaW5nLk11bHRpQ2hhbm5lbC5WaXJ0dWFsQ2hhbm5lbCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5NZXNzYWdlQ2hhbm5lbCcsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL211bHRpY2hhbm5lbF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5NdWx0aUNoYW5uZWxUZXN0J10sIFsnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLklnbm9yZUFyZ3VtZW50JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydGNhbGxlci5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cubWVzc2FnaW5nLkRlZmVycmVkQ2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0TmV0d29yaycsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRjYWxsZXJfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlclRlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2FsbGVyJywgJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGVidWcnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuanNvbicsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnLCAnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydGNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENoYW5uZWxUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5qc29uJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUV2ZW50JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG5ldHdvcmsuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRuZXR3b3JrX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG9wZXJhdG9yLmpzJywgWydnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJywgJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG9wZXJhdG9yX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnRPcGVyYXRvclRlc3QnXSwgWydnb29nLm1lc3NhZ2luZy5Qb3J0TmV0d29yaycsICdnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VQb3J0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcmVzcG9uZGluZ2NoYW5uZWwuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlJlc3BvbmRpbmdDaGFubmVsJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5NdWx0aUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9yZXNwb25kaW5nY2hhbm5lbF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5SZXNwb25kaW5nQ2hhbm5lbFRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5tZXNzYWdpbmcuUmVzcG9uZGluZ0NoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3Rlc3RkYXRhL3BvcnRjaGFubmVsX3dvcmtlci5qcycsIFsnZ29vZy5tZXNzYWdpbmcudGVzdGRhdGEucG9ydGNoYW5uZWxfd29ya2VyJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy90ZXN0ZGF0YS9wb3J0bmV0d29ya193b3JrZXIxLmpzJywgWydnb29nLm1lc3NhZ2luZy50ZXN0ZGF0YS5wb3J0bmV0d29ya193b3JrZXIxJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlcicsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3Rlc3RkYXRhL3BvcnRuZXR3b3JrX3dvcmtlcjIuanMnLCBbJ2dvb2cubWVzc2FnaW5nLnRlc3RkYXRhLnBvcnRuZXR3b3JrX3dvcmtlcjInXSwgWydnb29nLm1lc3NhZ2luZy5Qb3J0Q2FsbGVyJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvYWJzdHJhY3Rtb2R1bGVsb2FkZXIuanMnLCBbJ2dvb2cubW9kdWxlLkFic3RyYWN0TW9kdWxlTG9hZGVyJ10sIFsnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL2Jhc2Vtb2R1bGUuanMnLCBbJ2dvb2cubW9kdWxlLkJhc2VNb2R1bGUnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5tb2R1bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9sb2FkZXIuanMnLCBbJ2dvb2cubW9kdWxlLkxvYWRlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucycsICdnb29nLm1vZHVsZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL21vZHVsZS5qcycsIFsnZ29vZy5tb2R1bGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlaW5mby5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbyddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzeW5jLnRocm93RXhjZXB0aW9uJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVpbmZvX3Rlc3QuanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUluZm9UZXN0J10sIFsnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVJbmZvJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVsb2FkY2FsbGJhY2suanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRDYWxsYmFjayddLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cubW9kdWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbG9hZGNhbGxiYWNrX3Rlc3QuanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRDYWxsYmFja1Rlc3QnXSwgWydnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbG9hZGVyLmpzJywgWydnb29nLm1vZHVsZS5Nb2R1bGVMb2FkZXInXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50SWQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5tb2R1bGUuQWJzdHJhY3RNb2R1bGVMb2FkZXInLCAnZ29vZy5uZXQuQnVsa0xvYWRlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuanNsb2FkZXInLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlTG9hZGVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxvYWRlci5hY3RpdmVNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRlcicsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyJywgJ2dvb2cubmV0LkJ1bGtMb2FkZXInLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbWFuYWdlci5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlcicsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyLkNhbGxiYWNrVHlwZScsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyLkZhaWx1cmVUeXBlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnLlRyYWNlJywgJ2dvb2cuZGlzcG9zYWJsZS5JRGlzcG9zYWJsZScsICdnb29nLmRpc3Bvc2VBbGwnLCAnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubG9hZGVyLmFjdGl2ZU1vZHVsZU1hbmFnZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbWFuYWdlcl90ZXN0LmpzJywgWydnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyJywgJ2dvb2cudGVzdGluZycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEFfMS5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQV8xJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEFfMi5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQV8yJ10sIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEJfMS5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQl8xJ10sIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Jyb3dzZXJjaGFubmVsLmpzJywgWydnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5FcnJvcicsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5FdmVudCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5IYW5kbGVyJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsLkxvZ1NhdmVyJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsLlF1ZXVlZE1hcCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5TZXJ2ZXJSZWFjaGFiaWxpdHknLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU2VydmVyUmVhY2hhYmlsaXR5RXZlbnQnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU3RhdCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5TdGF0RXZlbnQnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU3RhdGUnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuVGltaW5nRXZlbnQnXSwgWydnb29nLlVyaScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnLlRleHRGb3JtYXR0ZXInLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5OYXRpdmVKc29uUHJvY2Vzc29yJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LkJyb3dzZXJUZXN0Q2hhbm5lbCcsICdnb29nLm5ldC5DaGFubmVsRGVidWcnLCAnZ29vZy5uZXQuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQudG1wbmV0d29yaycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvYnJvd3NlcmNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWxUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuanNvbicsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbCcsICdnb29nLm5ldC5DaGFubmVsRGVidWcnLCAnZ29vZy5uZXQuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5uZXQudG1wbmV0d29yaycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvYnJvd3NlcnRlc3RjaGFubmVsLmpzJywgWydnb29nLm5ldC5Ccm93c2VyVGVzdENoYW5uZWwnXSwgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdCcsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdC5FcnJvcicsICdnb29nLm5ldC50bXBuZXR3b3JrJywgJ2dvb2cuc3RyaW5nLlBhcnNlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2J1bGtsb2FkZXIuanMnLCBbJ2dvb2cubmV0LkJ1bGtMb2FkZXInXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuQnVsa0xvYWRlckhlbHBlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9idWxrbG9hZGVyX3Rlc3QuanMnLCBbJ2dvb2cubmV0LkJ1bGtMb2FkZXJUZXN0J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cubmV0LkJ1bGtMb2FkZXInLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9idWxrbG9hZGVyaGVscGVyLmpzJywgWydnb29nLm5ldC5CdWxrTG9hZGVySGVscGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY2hhbm5lbGRlYnVnLmpzJywgWydnb29nLm5ldC5DaGFubmVsRGVidWcnXSwgWydnb29nLmpzb24nLCAnZ29vZy5sb2cnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY2hhbm5lbHJlcXVlc3QuanMnLCBbJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0LkVycm9yJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzeW5jLlRocm90dGxlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NoYW5uZWxyZXF1ZXN0X3Rlc3QuanMnLCBbJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsJywgJ2dvb2cubmV0LkNoYW5uZWxEZWJ1ZycsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY29va2llcy5qcycsIFsnZ29vZy5uZXQuQ29va2llcycsICdnb29nLm5ldC5jb29raWVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nJ10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Nvb2tpZXNfdGVzdC5qcycsIFsnZ29vZy5uZXQuY29va2llc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubmV0LkNvb2tpZXMnLCAnZ29vZy5uZXQuY29va2llcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NvcnN4bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuQ29yc1htbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LkllQ29yc1hockFkYXB0ZXInXSwgWydnb29nLm5ldC5IdHRwU3RhdHVzJywgJ2dvb2cubmV0Llhockxpa2UnLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5YbWxIdHRwRmFjdG9yeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NvcnN4bWxodHRwZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLm5ldC5Db3JzWG1sSHR0cEZhY3RvcnlUZXN0J10sIFsnZ29vZy5uZXQuQ29yc1htbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LkllQ29yc1hockFkYXB0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9jcm9zc2RvbWFpbnJwYy5qcycsIFsnZ29vZy5uZXQuQ3Jvc3NEb21haW5ScGMnXSwgWydnb29nLlVyaScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSHR0cFN0YXR1cycsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Nyb3NzZG9tYWlucnBjX3Rlc3QuanMnLCBbJ2dvb2cubmV0LkNyb3NzRG9tYWluUnBjVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmxvZycsICdnb29nLm5ldC5Dcm9zc0RvbWFpblJwYycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Vycm9yY29kZS5qcycsIFsnZ29vZy5uZXQuRXJyb3JDb2RlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2V2ZW50dHlwZS5qcycsIFsnZ29vZy5uZXQuRXZlbnRUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2ZldGNoeG1saHR0cGZhY3RvcnkuanMnLCBbJ2dvb2cubmV0LkZldGNoWG1sSHR0cCcsICdnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0Llhockxpa2UnLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvZmV0Y2h4bWxodHRwZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5VGVzdCddLCBbJ2dvb2cubmV0LkZldGNoWG1sSHR0cCcsICdnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2ZpbGVkb3dubG9hZGVyLmpzJywgWydnb29nLm5ldC5GaWxlRG93bmxvYWRlcicsICdnb29nLm5ldC5GaWxlRG93bmxvYWRlci5FcnJvciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmNyeXB0Lmhhc2gzMicsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmZzJywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvZmlsZWRvd25sb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuRmlsZURvd25sb2FkZXJUZXN0J10sIFsnZ29vZy5mcy5FcnJvcicsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRmlsZURvd25sb2FkZXInLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcuZnMuRmlsZVN5c3RlbScsICdnb29nLnRlc3RpbmcubmV0LlhocklvUG9vbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2h0dHBzdGF0dXMuanMnLCBbJ2dvb2cubmV0Lkh0dHBTdGF0dXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaHR0cHN0YXR1c25hbWUuanMnLCBbJ2dvb2cubmV0Lkh0dHBTdGF0dXNOYW1lJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2lmcmFtZWlvLmpzJywgWydnb29nLm5ldC5JZnJhbWVJbycsICdnb29nLm5ldC5JZnJhbWVJby5JbmNyZW1lbnRhbERhdGFFdmVudCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucycsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5yZWZsZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RydWN0cycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2lmcmFtZWlvX3Rlc3QuanMnLCBbJ2dvb2cubmV0LklmcmFtZUlvVGVzdCddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5EaXZDb25zb2xlJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC5JZnJhbWVJbycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9pZnJhbWVsb2FkbW9uaXRvci5qcycsIFsnZ29vZy5uZXQuSWZyYW1lTG9hZE1vbml0b3InXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9pZnJhbWVsb2FkbW9uaXRvcl90ZXN0LmpzJywgWydnb29nLm5ldC5JZnJhbWVMb2FkTW9uaXRvclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LklmcmFtZUxvYWRNb25pdG9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaW1hZ2Vsb2FkZXIuanMnLCBbJ2dvb2cubmV0LkltYWdlTG9hZGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaW1hZ2Vsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuSW1hZ2VMb2FkZXJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5JbWFnZUxvYWRlcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaXBhZGRyZXNzLmpzJywgWydnb29nLm5ldC5JcEFkZHJlc3MnLCAnZ29vZy5uZXQuSXB2NEFkZHJlc3MnLCAnZ29vZy5uZXQuSXB2NkFkZHJlc3MnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaXBhZGRyZXNzX3Rlc3QuanMnLCBbJ2dvb2cubmV0LklwQWRkcmVzc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cubmV0LklwQWRkcmVzcycsICdnb29nLm5ldC5JcHY0QWRkcmVzcycsICdnb29nLm5ldC5JcHY2QWRkcmVzcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2pzbG9hZGVyLmpzJywgWydnb29nLm5ldC5qc2xvYWRlcicsICdnb29nLm5ldC5qc2xvYWRlci5FcnJvcicsICdnb29nLm5ldC5qc2xvYWRlci5FcnJvckNvZGUnLCAnZ29vZy5uZXQuanNsb2FkZXIuT3B0aW9ucyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvanNsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuanNsb2FkZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5uZXQuanNsb2FkZXInLCAnZ29vZy5uZXQuanNsb2FkZXIuRXJyb3JDb2RlJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvanNvbnAuanMnLCBbJ2dvb2cubmV0Lkpzb25wJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLm5ldC5qc2xvYWRlcicsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2pzb25wX3Rlc3QuanMnLCBbJ2dvb2cubmV0Lkpzb25wVGVzdCddLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5uZXQuSnNvbnAnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbW9ja2lmcmFtZWlvLmpzJywgWydnb29nLm5ldC5Nb2NrSUZyYW1lSW8nXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LklmcmFtZUlvJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbXVsdGlpZnJhbWVsb2FkbW9uaXRvci5qcycsIFsnZ29vZy5uZXQuTXVsdGlJZnJhbWVMb2FkTW9uaXRvciddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LklmcmFtZUxvYWRNb25pdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbXVsdGlpZnJhbWVsb2FkbW9uaXRvcl90ZXN0LmpzJywgWydnb29nLm5ldC5NdWx0aUlmcmFtZUxvYWRNb25pdG9yVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5uZXQuTXVsdGlJZnJhbWVMb2FkTW9uaXRvcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L25ldHdvcmtzdGF0dXNtb25pdG9yLmpzJywgWydnb29nLm5ldC5OZXR3b3JrU3RhdHVzTW9uaXRvciddLCBbJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9uZXR3b3JrdGVzdGVyLmpzJywgWydnb29nLm5ldC5OZXR3b3JrVGVzdGVyJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLlVyaScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbmV0d29ya3Rlc3Rlcl90ZXN0LmpzJywgWydnb29nLm5ldC5OZXR3b3JrVGVzdGVyVGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cubmV0Lk5ldHdvcmtUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3JwYy9odHRwY29ycy5qcycsIFsnZ29vZy5uZXQucnBjLkh0dHBDb3JzJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51cmkudXRpbHMnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvcnBjL2h0dHBjb3JzX3Rlc3QuanMnLCBbJ2dvb2cubmV0LnJwYy5IdHRwQ29yc1Rlc3QnXSwgWydnb29nLlVyaScsICdnb29nLm5ldC5ycGMuSHR0cENvcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2Jhc2U2NHBic3RyZWFtcGFyc2VyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuQmFzZTY0U3RyZWFtRGVjb2RlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvYmFzZTY0cGJzdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5CYXNlNjRQYlN0cmVhbVBhcnNlclRlc3QnXSwgWydnb29nLmNyeXB0LmJhc2U2NCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9iYXNlNjRzdHJlYW1kZWNvZGVyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFN0cmVhbURlY29kZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5iYXNlNjQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2Jhc2U2NHN0cmVhbWRlY29kZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5CYXNlNjRTdHJlYW1EZWNvZGVyVGVzdCddLCBbJ2dvb2cubmV0LnN0cmVhbXMuQmFzZTY0U3RyZWFtRGVjb2RlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvanNvbnN0cmVhbXBhcnNlci5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlci5PcHRpb25zJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2pzb25zdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy50ZXN0aW5nLkpzb25GdXp6aW5nJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXJpLnV0aWxzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvbm9kZXJlYWRhYmxlc3RyZWFtLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLk5vZGVSZWFkYWJsZVN0cmVhbSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3BianNvbnN0cmVhbXBhcnNlci5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9wYmpzb25zdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXJUZXN0J10sIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3Bic3RyZWFtcGFyc2VyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9wYnN0cmVhbXBhcnNlcl90ZXN0LmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyVGVzdCddLCBbJ2dvb2cubmV0LnN0cmVhbXMuUGJTdHJlYW1QYXJzZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3N0cmVhbWZhY3RvcnkuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMuY3JlYXRlWGhyTm9kZVJlYWRhYmxlU3RyZWFtJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyTm9kZVJlYWRhYmxlU3RyZWFtJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyU3RyZWFtUmVhZGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9zdHJlYW1wYXJzZXIuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvdXRpbHMuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwgW10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMveGhybm9kZXJlYWRhYmxlc3RyZWFtLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuc3RyZWFtcy5Ob2RlUmVhZGFibGVTdHJlYW0nLCAnZ29vZy5uZXQuc3RyZWFtcy5YaHJTdHJlYW1SZWFkZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3hocm5vZGVyZWFkYWJsZXN0cmVhbV90ZXN0LmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbVRlc3QnXSwgWydnb29nLm5ldC5zdHJlYW1zLk5vZGVSZWFkYWJsZVN0cmVhbScsICdnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbScsICdnb29nLm5ldC5zdHJlYW1zLlhoclN0cmVhbVJlYWRlcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMveGhyc3RyZWFtcmVhZGVyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhoclN0cmVhbVJlYWRlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmxvZycsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy94aHJzdHJlYW1yZWFkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5YaHJTdHJlYW1SZWFkZXJUZXN0J10sIFsnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyU3RyZWFtUmVhZGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC90ZXN0ZGF0YS9qc2xvYWRlcl90ZXN0MS5qcycsIFsnZ29vZy5uZXQudGVzdGRhdGEuanNsb2FkZXJfdGVzdDEnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvdGVzdGRhdGEvanNsb2FkZXJfdGVzdDIuanMnLCBbJ2dvb2cubmV0LnRlc3RkYXRhLmpzbG9hZGVyX3Rlc3QyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3Rlc3RkYXRhL2pzbG9hZGVyX3Rlc3QzLmpzJywgWydnb29nLm5ldC50ZXN0ZGF0YS5qc2xvYWRlcl90ZXN0MyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC90ZXN0ZGF0YS9qc2xvYWRlcl90ZXN0NC5qcycsIFsnZ29vZy5uZXQudGVzdGRhdGEuanNsb2FkZXJfdGVzdDQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvdG1wbmV0d29yay5qcycsIFsnZ29vZy5uZXQudG1wbmV0d29yayddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5uZXQuQ2hhbm5lbERlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvd2Vic29ja2V0LmpzJywgWydnb29nLm5ldC5XZWJTb2NrZXQnLCAnZ29vZy5uZXQuV2ViU29ja2V0LkVycm9yRXZlbnQnLCAnZ29vZy5uZXQuV2ViU29ja2V0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XZWJTb2NrZXQuTWVzc2FnZUV2ZW50J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5sb2cnXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvd2Vic29ja2V0X3Rlc3QuanMnLCBbJ2dvb2cubmV0LldlYlNvY2tldFRlc3QnXSwgWydnb29nLmRlYnVnLkVudHJ5UG9pbnRNb25pdG9yJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LldlYlNvY2tldCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3dyYXBwZXJ4bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuV3JhcHBlclhtbEh0dHBGYWN0b3J5J10sIFsnZ29vZy5uZXQuWGhyTGlrZScsICdnb29nLm5ldC5YbWxIdHRwRmFjdG9yeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hocmlvLmpzJywgWydnb29nLm5ldC5YaHJJbycsICdnb29nLm5ldC5YaHJJby5SZXNwb25zZVR5cGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuanNvbi5oeWJyaWQnLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5IdHRwU3RhdHVzJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy51cmkudXRpbHMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb190ZXN0LmpzJywgWydnb29nLm5ldC5YaHJJb1Rlc3QnXSwgWydnb29nLlVyaScsICdnb29nLmRlYnVnLkVudHJ5UG9pbnRNb25pdG9yJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb3Bvb2wuanMnLCBbJ2dvb2cubmV0LlhocklvUG9vbCddLCBbJ2dvb2cubmV0LlhocklvJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVBvb2wnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb3Bvb2xfdGVzdC5qcycsIFsnZ29vZy5uZXQuWGhySW9Qb29sVGVzdCddLCBbJ2dvb2cubmV0LlhocklvUG9vbCcsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveGhybGlrZS5qcycsIFsnZ29vZy5uZXQuWGhyTGlrZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJtYW5hZ2VyLmpzJywgWydnb29nLm5ldC5YaHJNYW5hZ2VyJywgJ2dvb2cubmV0Llhock1hbmFnZXIuRXZlbnQnLCAnZ29vZy5uZXQuWGhyTWFuYWdlci5SZXF1ZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJtYW5hZ2VyX3Rlc3QuanMnLCBbJ2dvb2cubmV0Llhock1hbmFnZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cubmV0Llhock1hbmFnZXInLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJb1Bvb2wnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveG1saHR0cC5qcycsIFsnZ29vZy5uZXQuRGVmYXVsdFhtbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5uZXQuWG1sSHR0cC5PcHRpb25UeXBlJywgJ2dvb2cubmV0LlhtbEh0dHAuUmVhZHlTdGF0ZScsICdnb29nLm5ldC5YbWxIdHRwRGVmaW5lcyddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwgWydnb29nLm5ldC5YaHJMaWtlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWwuanMnLCBbJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmFzeW5jLkRlbGF5JywgJ2dvb2cuZGlzcG9zZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLkFic3RyYWN0Q2hhbm5lbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ2hhbm5lbFN0YXRlcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLkRpcmVjdFRyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuTmF0aXZlTWVzc2FnaW5nVHJhbnNwb3J0JywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnRUeXBlcycsICdnb29nLm5ldC54cGMuVXJpQ2ZnRmllbGRzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXJpLnV0aWxzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5uZXQueHBjLkNyb3NzUGFnZUNoYW5uZWxUZXN0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuVXJpJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubmV0LnhwYycsICdnb29nLm5ldC54cGMuQ2ZnRmllbGRzJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsUm9sZScsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzOCd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWxyb2xlLmpzJywgWydnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2RpcmVjdHRyYW5zcG9ydC5qcycsIFsnZ29vZy5uZXQueHBjLkRpcmVjdFRyYW5zcG9ydCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQueHBjJywgJ2dvb2cubmV0LnhwYy5DZmdGaWVsZHMnLCAnZ29vZy5uZXQueHBjLkNyb3NzUGFnZUNoYW5uZWxSb2xlJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnQnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydFR5cGVzJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2RpcmVjdHRyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLm5ldC54cGMuRGlyZWN0VHJhbnNwb3J0VGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydFR5cGVzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9pZnJhbWVwb2xsaW5ndHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydC5SZWNlaXZlcicsICdnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydC5TZW5kZXInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvaWZyYW1lcG9sbGluZ3RyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydFRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLklmcmFtZVBvbGxpbmdUcmFuc3BvcnQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvbmF0aXZlbWVzc2FnaW5ndHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuTmF0aXZlTWVzc2FnaW5nVHJhbnNwb3J0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQueHBjJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsUm9sZScsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0JywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnRUeXBlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9uYXRpdmVtZXNzYWdpbmd0cmFuc3BvcnRfdGVzdC5qcycsIFsnZ29vZy5uZXQueHBjLk5hdGl2ZU1lc3NhZ2luZ1RyYW5zcG9ydFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLk5hdGl2ZU1lc3NhZ2luZ1RyYW5zcG9ydCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9yZWxheS5qcycsIFsnZ29vZy5uZXQueHBjLnJlbGF5J10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvdHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuVHJhbnNwb3J0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZG9tJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnROYW1lcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy94cGMuanMnLCBbJ2dvb2cubmV0LnhwYycsICdnb29nLm5ldC54cGMuQ2ZnRmllbGRzJywgJ2dvb2cubmV0LnhwYy5DaGFubmVsU3RhdGVzJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnROYW1lcycsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy5uZXQueHBjLlVyaUNmZ0ZpZWxkcyddLCBbJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdvYmplY3Qvb2JqZWN0LmpzJywgWydnb29nLm9iamVjdCddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdvYmplY3Qvb2JqZWN0X3Rlc3QuanMnLCBbJ2dvb2cub2JqZWN0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy9hYnNvbHV0ZXBvc2l0aW9uLmpzJywgWydnb29nLnBvc2l0aW9uaW5nLkFic29sdXRlUG9zaXRpb24nXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQWJzdHJhY3RQb3NpdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvYWJzdHJhY3Rwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BYnN0cmFjdFBvc2l0aW9uJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvYW5jaG9yZWRwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFBvc2l0aW9uJ10sIFsnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkcG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkdmlld3BvcnRwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFZpZXdwb3J0UG9zaXRpb24nXSwgWydnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkdmlld3BvcnRwb3NpdGlvbl90ZXN0LmpzJywgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkVmlld3BvcnRQb3NpdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLm1hdGguQm94JywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvY2xpZW50cG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvY2xpZW50cG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5jbGllbnRQb3NpdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvbWVudWFuY2hvcmVkcG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nXSwgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkVmlld3BvcnRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy9tZW51YW5jaG9yZWRwb3NpdGlvbl90ZXN0LmpzJywgWydnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5NZW51QW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvcG9zaXRpb25pbmcuanMnLCBbJ2dvb2cucG9zaXRpb25pbmcnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXJCaXQnLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3Bvc2l0aW9uaW5nX3Rlc3QuanMnLCBbJ2dvb2cucG9zaXRpb25pbmdUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy92aWV3cG9ydGNsaWVudHBvc2l0aW9uLmpzJywgWydnb29nLnBvc2l0aW9uaW5nLlZpZXdwb3J0Q2xpZW50UG9zaXRpb24nXSwgWydnb29nLmRvbScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3ZpZXdwb3J0Y2xpZW50cG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5WaWV3cG9ydENsaWVudFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5wb3NpdGlvbmluZy5WaWV3cG9ydENsaWVudFBvc2l0aW9uJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3ZpZXdwb3J0cG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuVmlld3BvcnRQb3NpdGlvbiddLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cucG9zaXRpb25pbmcnLCAnZ29vZy5wb3NpdGlvbmluZy5BYnN0cmFjdFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb21pc2UvbmF0aXZlcmVzb2x2ZXIuanMnLCBbJ2dvb2cucHJvbWlzZS5OYXRpdmVSZXNvbHZlciddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL25hdGl2ZXJlc29sdmVyX3Rlc3QuanMnLCBbJ2dvb2cucHJvbWlzZS5uYXRpdmVSZXNvbHZlclRlc3QnXSwgWydnb29nLnByb21pc2UuTmF0aXZlUmVzb2x2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb21pc2UvcHJvbWlzZS5qcycsIFsnZ29vZy5Qcm9taXNlJ10sIFsnZ29vZy5UaGVuYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5GcmVlTGlzdCcsICdnb29nLmFzeW5jLnJ1bicsICdnb29nLmFzeW5jLnRocm93RXhjZXB0aW9uJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5wcm9taXNlLlJlc29sdmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Byb21pc2VfdGVzdC5qcycsIFsnZ29vZy5Qcm9taXNlVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Jlc29sdmVyLmpzJywgWydnb29nLnByb21pc2UuUmVzb2x2ZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Rlc3RzdWl0ZWFkYXB0ZXIuanMnLCBbJ2dvb2cucHJvbWlzZS50ZXN0U3VpdGVBZGFwdGVyJ10sIFsnZ29vZy5Qcm9taXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3RoZW5hYmxlLmpzJywgWydnb29nLlRoZW5hYmxlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2Rlc2NyaXB0b3IuanMnLCBbJ2dvb2cucHJvdG8yLkRlc2NyaXB0b3InLCAnZ29vZy5wcm90bzIuTWV0YWRhdGEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2Rlc2NyaXB0b3JfdGVzdC5qcycsIFsnZ29vZy5wcm90bzIuRGVzY3JpcHRvclRlc3QnXSwgWydnb29nLnByb3RvMi5EZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9maWVsZGRlc2NyaXB0b3IuanMnLCBbJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2ZpZWxkZGVzY3JpcHRvcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3JUZXN0J10sIFsnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9sYXp5ZGVzZXJpYWxpemVyLmpzJywgWydnb29nLnByb3RvMi5MYXp5RGVzZXJpYWxpemVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy5wcm90bzIuU2VyaWFsaXplciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL21lc3NhZ2UuanMnLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2UnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5wcm90bzIuRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9tZXNzYWdlX3Rlc3QuanMnLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2VUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdwcm90bzIuVGVzdEFsbFR5cGVzJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bScsICdwcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2UnLCAncHJvdG8yLlRlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9vYmplY3RzZXJpYWxpemVyLmpzJywgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5TZXJpYWxpemVyJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvb2JqZWN0c2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyVGVzdCddLCBbJ2dvb2cucHJvdG8yLk9iamVjdFNlcmlhbGl6ZXInLCAnZ29vZy5wcm90bzIuU2VyaWFsaXplcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGFja2FnZV90ZXN0LnBiLmpzJywgWydzb21lcHJvdG9wYWNrYWdlLlRlc3RQYWNrYWdlVHlwZXMnXSwgWydnb29nLnByb3RvMi5NZXNzYWdlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGJsaXRlc2VyaWFsaXplci5qcycsIFsnZ29vZy5wcm90bzIuUGJMaXRlU2VyaWFsaXplciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3InLCAnZ29vZy5wcm90bzIuTGF6eURlc2VyaWFsaXplcicsICdnb29nLnByb3RvMi5TZXJpYWxpemVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGJsaXRlc2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5QYkxpdGVTZXJpYWxpemVyVGVzdCddLCBbJ2dvb2cucHJvdG8yLlBiTGl0ZVNlcmlhbGl6ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdwcm90bzIuVGVzdEFsbFR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL3Byb3RvX3Rlc3QuanMnLCBbJ2dvb2cucHJvdG8yLm1lc3NhZ2VUZXN0J10sIFsnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAncHJvdG8yLlRlc3RBbGxUeXBlcycsICdwcm90bzIuVGVzdERlZmF1bHRQYXJlbnQnLCAnc29tZXByb3RvcGFja2FnZS5UZXN0UGFja2FnZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL3NlcmlhbGl6ZXIuanMnLCBbJ2dvb2cucHJvdG8yLlNlcmlhbGl6ZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi90ZXN0LnBiLmpzJywgWydwcm90bzIuVGVzdEFsbFR5cGVzJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bScsICdwcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2UnLCAncHJvdG8yLlRlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cCcsICdwcm90bzIuVGVzdERlZmF1bHRDaGlsZCcsICdwcm90bzIuVGVzdERlZmF1bHRQYXJlbnQnXSwgWydnb29nLnByb3RvMi5NZXNzYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvdGV4dGZvcm1hdHNlcmlhbGl6ZXIuanMnLCBbJ2dvb2cucHJvdG8yLlRleHRGb3JtYXRTZXJpYWxpemVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5tYXRoJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5NZXNzYWdlJywgJ2dvb2cucHJvdG8yLlNlcmlhbGl6ZXInLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi90ZXh0Zm9ybWF0c2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5UZXh0Rm9ybWF0U2VyaWFsaXplclRlc3QnXSwgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyJywgJ2dvb2cucHJvdG8yLlRleHRGb3JtYXRTZXJpYWxpemVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAncHJvdG8yLlRlc3RBbGxUeXBlcyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi91dGlsLmpzJywgWydnb29nLnByb3RvMi5VdGlsJ10sIFsnZ29vZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwdWJzdWIvcHVic3ViLmpzJywgWydnb29nLnB1YnN1Yi5QdWJTdWInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLnJ1biddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3B1YnN1Yl90ZXN0LmpzJywgWydnb29nLnB1YnN1Yi5QdWJTdWJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnB1YnN1Yi5QdWJTdWInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3RvcGljaWQuanMnLCBbJ2dvb2cucHVic3ViLlRvcGljSWQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwdWJzdWIvdHlwZWRwdWJzdWIuanMnLCBbJ2dvb2cucHVic3ViLlR5cGVkUHViU3ViJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cucHVic3ViLlB1YlN1YiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3R5cGVkcHVic3ViX3Rlc3QuanMnLCBbJ2dvb2cucHVic3ViLlR5cGVkUHViU3ViVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5wdWJzdWIuVG9waWNJZCcsICdnb29nLnB1YnN1Yi5UeXBlZFB1YlN1YicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVmbGVjdC9yZWZsZWN0LmpzJywgWydnb29nLnJlZmxlY3QnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVmbGVjdC9yZWZsZWN0X3Rlc3QuanMnLCBbJ2dvb2cucmVmbGVjdFRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnJlZmxlY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9jaGFpbl90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5jaGFpblRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cucmVzdWx0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdyZXN1bHQvY29tYmluZV90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5jb21iaW5lVGVzdCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLnJlc3VsdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L2RlZmVycmVkYWRhcHRvci5qcycsIFsnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yJ10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5SZXN1bHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9kZWZlcnJlZGFkYXB0b3JfdGVzdC5qcycsIFsnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5yZXN1bHQnLCAnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yJywgJ2dvb2cucmVzdWx0LlNpbXBsZVJlc3VsdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9kZXBlbmRlbnRyZXN1bHQuanMnLCBbJ2dvb2cucmVzdWx0LkRlcGVuZGVudFJlc3VsdCddLCBbJ2dvb2cucmVzdWx0LlJlc3VsdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3Jlc3VsdF9pbnRlcmZhY2UuanMnLCBbJ2dvb2cucmVzdWx0LlJlc3VsdCddLCBbJ2dvb2cuVGhlbmFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9yZXN1bHR1dGlsLmpzJywgWydnb29nLnJlc3VsdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5yZXN1bHQuRGVwZW5kZW50UmVzdWx0JywgJ2dvb2cucmVzdWx0LlJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9yZXN1bHR1dGlsX3Rlc3QuanMnLCBbJ2dvb2cucmVzdWx0VGVzdCddLCBbJ2dvb2cucmVzdWx0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdyZXN1bHQvc2ltcGxlcmVzdWx0LmpzJywgWydnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy5yZXN1bHQuU2ltcGxlUmVzdWx0LlN0YXRlRXJyb3InXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaGVuYWJsZScsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cucmVzdWx0LlJlc3VsdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3NpbXBsZXJlc3VsdF90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHRUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGhlbmFibGUnLCAnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3RyYW5zZm9ybV90ZXN0LmpzJywgWydnb29nLnJlc3VsdC50cmFuc2Zvcm1UZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC93YWl0X3Rlc3QuanMnLCBbJ2dvb2cucmVzdWx0LndhaXRUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3NveS9kYXRhLmpzJywgWydnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnQnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRDb250ZW50S2luZCcsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENzcycsICdnb29nLnNveS5kYXRhLlNhbml0aXplZEh0bWwnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRIdG1sQXR0cmlidXRlJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkSnMnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRUcnVzdGVkUmVzb3VyY2VVcmknLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRVcmknXSwgWydnb29nLlVyaScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnN0cmluZy5Db25zdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L2RhdGFfdGVzdC5qcycsIFsnZ29vZy5zb3kuZGF0YVRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zb3kudGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3JlbmRlcmVyLmpzJywgWydnb29nLnNveS5JbmplY3RlZERhdGFTdXBwbGllcicsICdnb29nLnNveS5SZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLnNveScsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnQnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRDb250ZW50S2luZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3JlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cuc295LlJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnNveS5SZW5kZXJlcicsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnRLaW5kJywgJ2dvb2cuc295LnRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzb3kvc295LmpzJywgWydnb29nLnNveSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ29udGVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3NveV90ZXN0LmpzJywgWydnb29nLnNveVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc295JywgJ2dvb2cuc295LnRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3NveS9zb3lfdGVzdGhlbHBlci5qcycsIFsnZ29vZy5zb3kudGVzdEhlbHBlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ29udGVudCcsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnRLaW5kJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ3NzJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkVHJ1c3RlZFJlc291cmNlVXJpJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3BlbGwvc3BlbGxjaGVjay5qcycsIFsnZ29vZy5zcGVsbC5TcGVsbENoZWNrJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjay5Xb3JkQ2hhbmdlZEV2ZW50J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cnVjdHMuU2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzcGVsbC9zcGVsbGNoZWNrX3Rlc3QuanMnLCBbJ2dvb2cuc3BlbGwuU3BlbGxDaGVja1Rlc3QnXSwgWydnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0YXRzL2Jhc2ljc3RhdC5qcycsIFsnZ29vZy5zdGF0cy5CYXNpY1N0YXQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RhdHMvYmFzaWNzdGF0X3Rlc3QuanMnLCBbJ2dvb2cuc3RhdHMuQmFzaWNTdGF0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5zdGF0cy5CYXNpY1N0YXQnLCAnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cudGVzdGluZy5Qc2V1ZG9SYW5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvY29sbGVjdGFibGVzdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLml0ZXInLCAnZ29vZy5zdG9yYWdlLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UuRXhwaXJpbmdTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9jb2xsZWN0YWJsZXN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLkNvbGxlY3RhYmxlU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2NvbGxlY3RhYmxlc3RvcmFnZXRlc3Rlci5qcycsIFsnZ29vZy5zdG9yYWdlLmNvbGxlY3RhYmxlU3RvcmFnZVRlc3RlciddLCBbJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2VuY3J5cHRlZHN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5FbmNyeXB0ZWRTdG9yYWdlJ10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkFyYzQnLCAnZ29vZy5jcnlwdC5TaGExJywgJ2dvb2cuY3J5cHQuYmFzZTY0JywgJ2dvb2cuanNvbicsICdnb29nLmpzb24uU2VyaWFsaXplcicsICdnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2VuY3J5cHRlZHN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLkVuY3J5cHRlZFN0b3JhZ2VUZXN0J10sIFsnZ29vZy5qc29uJywgJ2dvb2cuc3RvcmFnZS5FbmNyeXB0ZWRTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvZXJyb3Jjb2RlLmpzJywgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9leHBpcmluZ3N0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5FeHBpcmluZ1N0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UuUmljaFN0b3JhZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvZXhwaXJpbmdzdG9yYWdlX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5FeHBpcmluZ1N0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLkV4cGlyaW5nU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL2Vycm9yY29kZS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9lcnJvcmhhbmRsaW5nbWVjaGFuaXNtLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9ySGFuZGxpbmdNZWNoYW5pc20nXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLk1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vZXJyb3JoYW5kbGluZ21lY2hhbmlzbV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9ySGFuZGxpbmdNZWNoYW5pc21UZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckhhbmRsaW5nTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVsb2NhbHN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVMb2NhbFN0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1V2ViU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVsb2NhbHN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNUxvY2FsU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1TG9jYWxTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2VwYXJhdGlvblRlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXNlc3Npb25zdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1U2Vzc2lvblN0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1V2ViU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVzZXNzaW9uc3RvcmFnZV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1U2Vzc2lvblN0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVNlc3Npb25TdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2VwYXJhdGlvblRlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXdlYnN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVXZWJTdG9yYWdlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXdlYnN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVdlYlN0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVdlYlN0b3JhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL2lldXNlcmRhdGEuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSUVVc2VyRGF0YSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5JdGVyYWJsZU1lY2hhbmlzbScsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9pZXVzZXJkYXRhX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSUVVc2VyRGF0YVRlc3QnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLklFVXNlckRhdGEnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21TZXBhcmF0aW9uVGVzdGVyJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2hhcmluZ1Rlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9pdGVyYWJsZW1lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5JdGVyYWJsZU1lY2hhbmlzbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLk1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaXRlcmFibGVtZWNoYW5pc210ZXN0ZXIuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uaXRlcmFibGVNZWNoYW5pc21UZXN0ZXInXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL21lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5NZWNoYW5pc20nXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21mYWN0b3J5LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbWZhY3RvcnknXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1TG9jYWxTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVTZXNzaW9uU3RvcmFnZScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLklFVXNlckRhdGEnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vbWVjaGFuaXNtZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbWZhY3RvcnlUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21mYWN0b3J5JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21zZXBhcmF0aW9udGVzdGVyLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNlcGFyYXRpb25UZXN0ZXInXSwgWydnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21zaGFyaW5ndGVzdGVyLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInXSwgWydnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc210ZXN0ZGVmaW5pdGlvbi5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL21lY2hhbmlzbXRlc3Rlci5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0ZXInXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9yQ29kZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9wcmVmaXhlZG1lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbSddLCBbJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9wcmVmaXhlZG1lY2hhbmlzbV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLlByZWZpeGVkTWVjaGFuaXNtVGVzdCddLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVMb2NhbFN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNlcGFyYXRpb25UZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21TaGFyaW5nVGVzdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3JpY2hzdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UuUmljaFN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlLldyYXBwZXInXSwgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJywgJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3JpY2hzdG9yYWdlX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJywgJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3N0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJ10sIFsnZ29vZy5qc29uJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2Uvc3RvcmFnZV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2Uuc3RvcmFnZV90ZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdG9yYWdlLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UuU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3N0b3JhZ2V0ZXN0ZXIuanMnLCBbJ2dvb2cuc3RvcmFnZS5zdG9yYWdlVGVzdGVyJ10sIFsnZ29vZy5zdG9yYWdlLlN0b3JhZ2UnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9kZWZpbmVzLmpzJywgWydnb29nLnN0cmVhbXMuZGVmaW5lcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsJ10sIFsnZ29vZy5zdHJlYW1zLmRlZmluZXMnLCAnZ29vZy5zdHJlYW1zLmZ1bGxJbXBsJywgJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbCcsICdnb29nLnN0cmVhbXMuZnVsbFR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX2ltcGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsSW1wbCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnByb21pc2UuTmF0aXZlUmVzb2x2ZXInLCAnZ29vZy5zdHJlYW1zLmZ1bGxUeXBlcycsICdnb29nLnN0cmVhbXMubGl0ZUltcGwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGxfaW1wbF90ZXN0LmpzJywgWydnb29nLnN0cmVhbXMuZnVsbEltcGxUZXN0J10sIFsnZ29vZy5zdHJlYW1zLmZ1bGxJbXBsJywgJ2dvb2cuc3RyZWFtcy5mdWxsVGVzdENhc2VzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGxfbmF0aXZlX2ltcGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbCddLCBbJ2dvb2cuc3RyZWFtcy5mdWxsVHlwZXMnLCAnZ29vZy5zdHJlYW1zLmxpdGVOYXRpdmVJbXBsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX25hdGl2ZV9pbXBsX3Rlc3QuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbFRlc3QnXSwgWydnb29nLnN0cmVhbXMuZnVsbE5hdGl2ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmZ1bGxUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvZnVsbF90ZXN0X2Nhc2VzLmpzJywgWydnb29nLnN0cmVhbXMuZnVsbFRlc3RDYXNlcyddLCBbJ2dvb2cuc3RyZWFtcy5mdWxsVHlwZXMnLCAnZ29vZy5zdHJlYW1zLmxpdGVUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJ10sIHsnbGFuZyc6ICdlczknLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX3R5cGVzLmpzJywgWydnb29nLnN0cmVhbXMuZnVsbFR5cGVzJ10sIFsnZ29vZy5zdHJlYW1zLmxpdGVUeXBlcyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZS5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGUnXSwgWydnb29nLnN0cmVhbXMuZGVmaW5lcycsICdnb29nLnN0cmVhbXMubGl0ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmxpdGVOYXRpdmVJbXBsJywgJ2dvb2cuc3RyZWFtcy5saXRlVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2xpdGVfaW1wbC5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVJbXBsJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvbWlzZS5OYXRpdmVSZXNvbHZlcicsICdnb29nLnN0cmVhbXMubGl0ZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX2ltcGxfdGVzdC5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVJbXBsVGVzdCddLCBbJ2dvb2cuc3RyZWFtcy5saXRlSW1wbCcsICdnb29nLnN0cmVhbXMubGl0ZVRlc3RDYXNlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX25hdGl2ZV9pbXBsLmpzJywgWydnb29nLnN0cmVhbXMubGl0ZU5hdGl2ZUltcGwnXSwgWydnb29nLnN0cmVhbXMubGl0ZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX25hdGl2ZV9pbXBsX3Rlc3QuanMnLCBbJ2dvb2cuc3RyZWFtcy5saXRlTmF0aXZlSW1wbFRlc3QnXSwgWydnb29nLnN0cmVhbXMubGl0ZU5hdGl2ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmxpdGVUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZV90ZXN0X2Nhc2VzLmpzJywgWydnb29nLnN0cmVhbXMubGl0ZVRlc3RDYXNlcyddLCBbJ2dvb2cuc3RyZWFtcy5saXRlVHlwZXMnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZV90eXBlcy5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVUeXBlcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvY29uc3QuanMnLCBbJ2dvb2cuc3RyaW5nLkNvbnN0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nLlR5cGVkU3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvY29uc3RfdGVzdC5qcycsIFsnZ29vZy5zdHJpbmcuY29uc3RUZXN0J10sIFsnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9pbnRlcm5hbC5qcycsIFsnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL2xpbmtpZnkuanMnLCBbJ2dvb2cuc3RyaW5nLmxpbmtpZnknXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9saW5raWZ5X3Rlc3QuanMnLCBbJ2dvb2cuc3RyaW5nLmxpbmtpZnlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5saW5raWZ5JywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9uZXdsaW5lcy5qcycsIFsnZ29vZy5zdHJpbmcubmV3bGluZXMnLCAnZ29vZy5zdHJpbmcubmV3bGluZXMuTGluZSddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9uZXdsaW5lc190ZXN0LmpzJywgWydnb29nLnN0cmluZy5uZXdsaW5lc1Rlc3QnXSwgWydnb29nLnN0cmluZy5uZXdsaW5lcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3BhcnNlci5qcycsIFsnZ29vZy5zdHJpbmcuUGFyc2VyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3BhdGguanMnLCBbJ2dvb2cuc3RyaW5nLnBhdGgnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvcGF0aF90ZXN0LmpzJywgWydnb29nLnN0cmluZy5wYXRoVGVzdCddLCBbJ2dvb2cuc3RyaW5nLnBhdGgnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9zdHJpbmcuanMnLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnXSwgWydnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ190ZXN0LmpzJywgWydnb29nLnN0cmluZ1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5nYnVmZmVyLmpzJywgWydnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ2J1ZmZlcl90ZXN0LmpzJywgWydnb29nLnN0cmluZy5TdHJpbmdCdWZmZXJUZXN0J10sIFsnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5nZm9ybWF0LmpzJywgWydnb29nLnN0cmluZy5mb3JtYXQnXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ2Zvcm1hdF90ZXN0LmpzJywgWydnb29nLnN0cmluZy5mb3JtYXRUZXN0J10sIFsnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5naWZpZXIuanMnLCBbJ2dvb2cuc3RyaW5nLlN0cmluZ2lmaWVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3R5cGVkc3RyaW5nLmpzJywgWydnb29nLnN0cmluZy5UeXBlZFN0cmluZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvYXZsdHJlZS5qcycsIFsnZ29vZy5zdHJ1Y3RzLkF2bFRyZWUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5zdHJ1Y3RzLkNvbGxlY3Rpb24nXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2F2bHRyZWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkF2bFRyZWVUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnN0cnVjdHMuQXZsVHJlZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9jaXJjdWxhcmJ1ZmZlci5qcycsIFsnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvY2lyY3VsYXJidWZmZXJfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9jb2xsZWN0aW9uLmpzJywgWydnb29nLnN0cnVjdHMuQ29sbGVjdGlvbiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvY29sbGVjdGlvbl90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuQ29sbGVjdGlvblRlc3QnXSwgWydnb29nLnN0cnVjdHMuQXZsVHJlZScsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2hlYXAuanMnLCBbJ2dvb2cuc3RydWN0cy5IZWFwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMuTm9kZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9oZWFwX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5IZWFwVGVzdCddLCBbJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuSGVhcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9pbnZlcnNpb25tYXAuanMnLCBbJ2dvb2cuc3RydWN0cy5JbnZlcnNpb25NYXAnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9pbnZlcnNpb25tYXBfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkludmVyc2lvbk1hcFRlc3QnXSwgWydnb29nLnN0cnVjdHMuSW52ZXJzaW9uTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2xpbmtlZG1hcC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkxpbmtlZE1hcCddLCBbJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvbGlua2VkbWFwX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5MaW5rZWRNYXBUZXN0J10sIFsnZ29vZy5zdHJ1Y3RzLkxpbmtlZE1hcCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvbWFwLmpzJywgWydnb29nLnN0cnVjdHMuTWFwJ10sIFsnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL21hcF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuTWFwVGVzdCddLCBbJ2dvb2cuaXRlcicsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9ub2RlLmpzJywgWydnb29nLnN0cnVjdHMuTm9kZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlBvb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5zdHJ1Y3RzLlF1ZXVlJywgJ2dvb2cuc3RydWN0cy5TZXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcG9vbF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuUG9vbFRlc3QnXSwgWydnb29nLnN0cnVjdHMuUG9vbCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlByaW9yaXR5UG9vbCddLCBbJ2dvb2cuc3RydWN0cy5Qb29sJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVF1ZXVlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cG9vbF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuUHJpb3JpdHlQb29sVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVBvb2wnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9wcmlvcml0eXF1ZXVlLmpzJywgWydnb29nLnN0cnVjdHMuUHJpb3JpdHlRdWV1ZSddLCBbJ2dvb2cuc3RydWN0cy5IZWFwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cXVldWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlByaW9yaXR5UXVldWVUZXN0J10sIFsnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVF1ZXVlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3F1YWR0cmVlLmpzJywgWydnb29nLnN0cnVjdHMuUXVhZFRyZWUnLCAnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlLk5vZGUnLCAnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlLlBvaW50J10sIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVhZHRyZWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlVGVzdCddLCBbJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuUXVhZFRyZWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVldWUuanMnLCBbJ2dvb2cuc3RydWN0cy5RdWV1ZSddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVldWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlF1ZXVlVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5RdWV1ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zZXQuanMnLCBbJ2dvb2cuc3RydWN0cy5TZXQnXSwgWydnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLkNvbGxlY3Rpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zZXRfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlNldFRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc2ltcGxlcG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlNpbXBsZVBvb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc3RyaW5nc2V0LmpzJywgWydnb29nLnN0cnVjdHMuU3RyaW5nU2V0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zdHJpbmdzZXRfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlN0cmluZ1NldFRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaXRlcicsICdnb29nLnN0cnVjdHMuU3RyaW5nU2V0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3N0cnVjdHMuanMnLCBbJ2dvb2cuc3RydWN0cyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc3RydWN0c190ZXN0LmpzJywgWydnb29nLnN0cnVjdHNUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJlZW5vZGUuanMnLCBbJ2dvb2cuc3RydWN0cy5UcmVlTm9kZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RydWN0cy5Ob2RlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3RyZWVub2RlX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5UcmVlTm9kZVRlc3QnXSwgWydnb29nLnN0cnVjdHMuVHJlZU5vZGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJpZS5qcycsIFsnZ29vZy5zdHJ1Y3RzLlRyaWUnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJpZV90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuVHJpZVRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLlRyaWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL2JpZGkuanMnLCBbJ2dvb2cuc3R5bGUuYmlkaSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvYmlkaV90ZXN0LmpzJywgWydnb29nLnN0eWxlLmJpZGlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL2N1cnNvci5qcycsIFsnZ29vZy5zdHlsZS5jdXJzb3InXSwgWydnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvY3Vyc29yX3Rlc3QuanMnLCBbJ2dvb2cuc3R5bGUuY3Vyc29yVGVzdCddLCBbJ2dvb2cuc3R5bGUuY3Vyc29yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS9zdHlsZS5qcycsIFsnZ29vZy5zdHlsZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20udmVuZG9yJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvc3R5bGVfZG9jdW1lbnRfc2Nyb2xsX3Rlc3QuanMnLCBbJ2dvb2cuc3R5bGUuc3R5bGVfZG9jdW1lbnRfc2Nyb2xsX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLnN0eWxlX3Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnLCAnZ29vZy51c2VyQWdlbnRUZXN0VXRpbC5Vc2VyQWdlbnRzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvc3R5bGVfd2Via2l0X3Njcm9sbGJhcnNfdGVzdC5qcycsIFsnZ29vZy5zdHlsZS53ZWJraXRTY3JvbGxiYXJzVGVzdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGVTY3JvbGxiYXJUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3N0eWxlc2Nyb2xsYmFydGVzdGVyLmpzJywgWydnb29nLnN0eWxlU2Nyb2xsYmFyVGVzdGVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS90cmFuc2Zvcm0uanMnLCBbJ2dvb2cuc3R5bGUudHJhbnNmb3JtJ10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3RyYW5zZm9ybV90ZXN0LmpzJywgWydnb29nLnN0eWxlLnRyYW5zZm9ybVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy5zdHlsZS50cmFuc2Zvcm0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3RyYW5zaXRpb24uanMnLCBbJ2dvb2cuc3R5bGUudHJhbnNpdGlvbicsICdnb29nLnN0eWxlLnRyYW5zaXRpb24uQ3NzM1Byb3BlcnR5J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZG9tLnZlbmRvcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvdHJhbnNpdGlvbl90ZXN0LmpzJywgWydnb29nLnN0eWxlLnRyYW5zaXRpb25UZXN0J10sIFsnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLnRyYW5zaXRpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RfbW9kdWxlLmpzJywgWydnb29nLnRlc3RfbW9kdWxlJ10sIFsnZ29vZy50ZXN0X21vZHVsZV9kZXAnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0X21vZHVsZV9kZXAuanMnLCBbJ2dvb2cudGVzdF9tb2R1bGVfZGVwJ10sIFtdLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXNzZXJ0aW9uZmFpbHVyZS5qcycsIFsnZ29vZy50ZXN0aW5nLnNhZmUuYXNzZXJ0aW9uRmFpbHVyZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXNzZXJ0cy5qcycsIFsnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwgWydnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2Fzc2VydHNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmFzc2VydHNUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRvbScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jL21vY2tjb250cm9sLmpzJywgWydnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLklnbm9yZUFyZ3VtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jL21vY2tjb250cm9sX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5hc3luYy5Nb2NrQ29udHJvbFRlc3QnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXN5bmN0ZXN0Y2FzZS5qcycsIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UuQ29udHJvbEJyZWFraW5nRXhjZXB0aW9uJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9hc3luY3Rlc3RjYXNlX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5Bc3luY1Rlc3RDYXNlQXN5bmNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jdGVzdGNhc2Vfbm9hc3luY190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuQXN5bmNUZXN0Q2FzZVN5bmNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXN5bmN0ZXN0Y2FzZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuQXN5bmNUZXN0Q2FzZVRlc3QnXSwgWydnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cudGVzdGluZy5Bc3luY1Rlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2JlbmNobWFyay5qcycsIFsnZ29vZy50ZXN0aW5nLmJlbmNobWFyayddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGFibGUnLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGltZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2NvbnRpbnVhdGlvbnRlc3RjYXNlLmpzJywgWydnb29nLnRlc3RpbmcuQ29udGludWF0aW9uVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlLkNvbnRpbnVhdGlvblRlc3QnLCAnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlLlN0ZXAnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvY29udGludWF0aW9udGVzdGNhc2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cudGVzdGluZy5Db250aW51YXRpb25UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9kZWZlcnJlZHRlc3RjYXNlLmpzJywgWydnb29nLnRlc3RpbmcuRGVmZXJyZWRUZXN0Q2FzZSddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2RlZmVycmVkdGVzdGNhc2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLkRlZmVycmVkVGVzdENhc2VUZXN0J10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLnRlc3RpbmcuRGVmZXJyZWRUZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2RvbS5qcycsIFsnZ29vZy50ZXN0aW5nLmRvbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLk5vZGVJdGVyYXRvcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLml0ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmRvbVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL2RvbS5qcycsIFsnZ29vZy50ZXN0aW5nLmVkaXRvci5kb20nXSwgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9lZGl0b3IvZG9tX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5lZGl0b3IuZG9tVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL2ZpZWxkbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLmVkaXRvci5GaWVsZE1vY2snXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLnRlc3RpbmcuTG9vc2VNb2NrJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL3Rlc3RoZWxwZXIuanMnLCBbJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nLCAnZ29vZy50ZXN0aW5nLmRvbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9lZGl0b3IvdGVzdGhlbHBlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvZXZlbnRvYnNlcnZlci5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvZXZlbnRvYnNlcnZlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL2V2ZW50cy5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL2V2ZW50c190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL21hdGNoZXJzLmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuQXJndW1lbnRNYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2V2ZW50cy9tYXRjaGVyc190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlclRlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvb25saW5laGFuZGxlci5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5PbmxpbmVIYW5kbGVyJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5uZXQuTmV0d29ya1N0YXR1c01vbml0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL29ubGluZWhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5PbmxpbmVIYW5kbGVyVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0Lk5ldHdvcmtTdGF0dXNNb25pdG9yJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnRPYnNlcnZlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzLk9ubGluZUhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXhwZWN0ZWRmYWlsdXJlcy5qcycsIFsnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5EaXZDb25zb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubG9nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXhwZWN0ZWRmYWlsdXJlc190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlc1Rlc3QnXSwgWydnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2Jsb2IuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5CbG9iJ10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LmJhc2U2NCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9ibG9iX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5CbG9iVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy5mcy5CbG9iJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2RpcmVjdG9yeWVudHJ5X3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5EaXJlY3RvcnlFbnRyeVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuZnMuRmlsZVN5c3RlbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9lbnRyeS5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cudGVzdGluZy5mcy5FbnRyeScsICdnb29nLnRlc3RpbmcuZnMuRmlsZUVudHJ5J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeUltcGwnLCAnZ29vZy5mcy5FbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZUVudHJ5JywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlV3JpdGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2VudHJ5X3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5FbnRyeVRlc3QnXSwgWydnb29nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZmlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGUnXSwgWydnb29nLnRlc3RpbmcuZnMuQmxvYiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxlZW50cnlfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVFbnRyeVRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlRW50cnknLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZmlsZXJlYWRlci5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVSZWFkZXInXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5GaWxlUmVhZGVyJywgJ2dvb2cudGVzdGluZy5mcy5CbG9iJywgJ2dvb2cudGVzdGluZy5mcy5Qcm9ncmVzc0V2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2ZpbGVyZWFkZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVSZWFkZXJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVSZWFkZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlUmVhZGVyJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlU3lzdGVtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2ZpbGVzeXN0ZW0uanMnLCBbJ2dvb2cudGVzdGluZy5mcy5GaWxlU3lzdGVtJ10sIFsnZ29vZy5mcy5GaWxlU3lzdGVtJywgJ2dvb2cudGVzdGluZy5mcy5EaXJlY3RvcnlFbnRyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxld3JpdGVyLmpzJywgWydnb29nLnRlc3RpbmcuZnMuRmlsZVdyaXRlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuZnMuQmxvYicsICdnb29nLnRlc3RpbmcuZnMuRmlsZScsICdnb29nLnRlc3RpbmcuZnMuUHJvZ3Jlc3NFdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxld3JpdGVyX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5GaWxlV3JpdGVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5GaWxlU2F2ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLmZzLkJsb2InLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZnMuanMnLCBbJ2dvb2cudGVzdGluZy5mcyddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZnMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmZzLkJsb2InLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZnNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzVGVzdCddLCBbJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcuZnMuQmxvYicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9pbnRlZ3JhdGlvbl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZnMuaW50ZWdyYXRpb25UZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMnLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZVNhdmVyJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9wcm9ncmVzc2V2ZW50LmpzJywgWydnb29nLnRlc3RpbmcuZnMuUHJvZ3Jlc3NFdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2Z1bmN0aW9ubW9jay5qcycsIFsnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5GdW5jdGlvbk1vY2snLCAnZ29vZy50ZXN0aW5nLkdsb2JhbEZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuTWV0aG9kTW9jayddLCBbJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnVuY3Rpb25tb2NrX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5GdW5jdGlvbk1vY2tUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuTW9jaycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2dyYXBoaWNzLmpzJywgWydnb29nLnRlc3RpbmcuZ3JhcGhpY3MnXSwgWydnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvaTE4bi9hc3NlcnRzLmpzJywgWydnb29nLnRlc3RpbmcuaTE4bi5hc3NlcnRzJ10sIFsnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvaTE4bi9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5pMThuLmFzc2VydHNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmkxOG4uYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9qc3RkYXN5bmN3cmFwcGVyLmpzJywgWydnb29nLnRlc3RpbmcuSnNUZEFzeW5jV3JhcHBlciddLCBbJ2dvb2cuUHJvbWlzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9qc3RkdGVzdGNhc2VhZGFwdGVyLmpzJywgWydnb29nLnRlc3RpbmcuSnNUZFRlc3RDYXNlQWRhcHRlciddLCBbJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5Kc1RkQXN5bmNXcmFwcGVyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2pzdW5pdC5qcycsIFsnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0UnVubmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2pzdW5pdGV4Y2VwdGlvbi5qcycsIFsnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbiddLCBbJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2xvb3NlbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLkxvb3NlRXhwZWN0YXRpb25Db2xsZWN0aW9uJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLk1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbG9vc2Vtb2NrX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5Mb29zZU1vY2tUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrbWVzc2FnZWNoYW5uZWwuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJ10sIFsnZ29vZy5tZXNzYWdpbmcuQWJzdHJhY3RDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tZXNzYWdpbmcvbW9ja21lc3NhZ2VldmVudC5qcycsIFsnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUV2ZW50J10sIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrbWVzc2FnZXBvcnQuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VQb3J0J10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrcG9ydG5ldHdvcmsuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja1BvcnROZXR3b3JrJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydE5ldHdvcmsnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tFeHBlY3RhdGlvbiddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm9iamVjdCcsICdnb29nLnByb21pc2UuUmVzb2x2ZXInLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuTW9ja0ludGVyZmFjZScsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Nb2NrRXhwZWN0YXRpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2NsYXNzZmFjdG9yeS5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc0ZhY3RvcnknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc1JlY29yZCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY2xhc3NmYWN0b3J5X3Rlc3QuanMnLCBbJ2Zha2UuQmFzZUNsYXNzJywgJ2Zha2UuQ2hpbGRDbGFzcycsICdnb29nLnRlc3RpbmcuTW9ja0NsYXNzRmFjdG9yeVRlc3QnXSwgWydnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc0ZhY3RvcnknLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2Nsb2NrLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY2xvY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDbG9ja1Rlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY29udHJvbC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2NvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NraW50ZXJmYWNlLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja0ludGVyZmFjZSddLCBbJ2dvb2cuUHJvbWlzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrbWF0Y2hlcnMuanMnLCBbJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5JZ25vcmVBcmd1bWVudCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLkluc3RhbmNlT2YnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5PYmplY3RFcXVhbHMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5SZWdleHBNYXRjaCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLlNhdmVBcmd1bWVudCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLlR5cGVPZiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja21hdGNoZXJzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnNUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcuanN1bml0JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5kb20uanMnLCBbJ2dvb2cudGVzdGluZy5Nb2NrUmFuZG9tJ10sIFsnZ29vZy5EaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tSYW5kb21UZXN0J10sIFsnZ29vZy50ZXN0aW5nLk1vY2tSYW5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3JhbmdlLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1JhbmdlJ10sIFsnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLnRlc3RpbmcuTG9vc2VNb2NrJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5nZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1JhbmdlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrUmFuZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3N0b3JhZ2UuanMnLCBbJ2dvb2cudGVzdGluZy5Nb2NrU3RvcmFnZSddLCBbJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3N0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tTdG9yYWdlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrU3RvcmFnZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrdXNlcmFnZW50LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3VzZXJhZ2VudF90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudFRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy50ZXN0aW5nLk1vY2tVc2VyQWdlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbXVsdGl0ZXN0cnVubmVyLmpzJywgWydnb29nLnRlc3RpbmcuTXVsdGlUZXN0UnVubmVyJywgJ2dvb2cudGVzdGluZy5NdWx0aVRlc3RSdW5uZXIuVGVzdEZyYW1lJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2VydmVyQ2hhcnQnLCAnZ29vZy51aS5UYWJsZVNvcnRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tdWx0aXRlc3RydW5uZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9uZXQvbW9ja2lmcmFtZWlvLmpzJywgWydnb29nLnRlc3RpbmcubmV0Lk1vY2tJRnJhbWVJbyddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSWZyYW1lSW8nLCAnZ29vZy50ZXN0aW5nLlRlc3RRdWV1ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9uZXQveGhyaW8uanMnLCBbJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nXSwgWydnb29nLlVyaScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tLnhtbCcsICdnb29nLmV2ZW50cycsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcuVGVzdFF1ZXVlJywgJ2dvb2cudXJpLnV0aWxzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL25ldC94aHJpb190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcubmV0LlhocklvVGVzdCddLCBbJ2dvb2cuZG9tLnhtbCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuSW5zdGFuY2VPZicsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL25ldC94aHJpb3Bvb2wuanMnLCBbJ2dvb2cudGVzdGluZy5uZXQuWGhySW9Qb29sJ10sIFsnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvb2JqZWN0cHJvcGVydHlzdHJpbmcuanMnLCBbJ2dvb2cudGVzdGluZy5PYmplY3RQcm9wZXJ0eVN0cmluZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcGFyYWxsZWxfY2xvc3VyZV90ZXN0X3N1aXRlLmpzJywgWydnb29nLnRlc3RpbmcucGFyYWxsZWxDbG9zdXJlVGVzdFN1aXRlJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cycsICdnb29nLmpzb24nLCAnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcGFyYWxsZWxfY2xvc3VyZV90ZXN0X3N1aXRlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5wYXJhbGxlbENsb3N1cmVUZXN0U3VpdGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5NdWx0aVRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnBhcmFsbGVsQ2xvc3VyZVRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wZXJmb3JtYW5jZXRhYmxlLmpzJywgWydnb29nLnRlc3RpbmcuUGVyZm9ybWFuY2VUYWJsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3BlcmZvcm1hbmNldGltZXIuanMnLCBbJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyLlRhc2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5tYXRoJ10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wZXJmb3JtYW5jZXRpbWVyX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5kb20nLCAnZ29vZy5tYXRoJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGltZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvcGVydHlyZXBsYWNlci5qcycsIFsnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvcGVydHlyZXBsYWNlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvdG8yL3Byb3RvMi5qcycsIFsnZ29vZy50ZXN0aW5nLnByb3RvMiddLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy5wcm90bzIuT2JqZWN0U2VyaWFsaXplcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wcm90bzIvcHJvdG8yX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5wcm90bzJUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnByb3RvMicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3BzZXVkb3JhbmRvbS5qcycsIFsnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbSddLCBbJ2dvb2cuRGlzcG9zYWJsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wc2V1ZG9yYW5kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbVRlc3QnXSwgWydnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3JlY29yZGZ1bmN0aW9uLmpzJywgWydnb29nLnRlc3RpbmcuRnVuY3Rpb25DYWxsJywgJ2dvb2cudGVzdGluZy5yZWNvcmRDb25zdHJ1Y3RvcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5wcm9taXNlLlJlc29sdmVyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3JlY29yZGZ1bmN0aW9uX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvblRlc3QnXSwgWydnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkQ29uc3RydWN0b3InLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3NoYXJkaW5ndGVzdGNhc2UuanMnLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaGFyZGluZ3Rlc3RjYXNlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaW5nbGV0b24uanMnLCBbJ2dvb2cudGVzdGluZy5zaW5nbGV0b24nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaW5nbGV0b25fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLnNpbmdsZXRvblRlc3QnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc2luZ2xldG9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3N0YWNrdHJhY2UuanMnLCBbJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlJywgJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlLkZyYW1lJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3RhY2t0cmFjZV90ZXN0LmpzJywgWydnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZVRlc3QnXSwgWydnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZScsICdnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZS5GcmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdG9yYWdlL2Zha2VtZWNoYW5pc20uanMnLCBbJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJywgJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3RyaWN0bW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy5Nb2NrJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3N0cmljdG1vY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2tUZXN0J10sIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3R5bGUvbGF5b3V0YXNzZXJ0cy5qcycsIFsnZ29vZy50ZXN0aW5nLnN0eWxlLmxheW91dGFzc2VydHMnXSwgWydnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9sYXlvdXRhc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5zdHlsZS5sYXlvdXRhc3NlcnRzVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3Rpbmcuc3R5bGUubGF5b3V0YXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9zdHlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLnN0eWxlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLnRlc3Rpbmcuc3R5bGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0Y2FzZS5qcycsIFsnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZS5FcnJvcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UuT3JkZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlLlJlc3VsdCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UuVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0Y2FzZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuVGVzdENhc2VUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJywgJ2dvb2cudGVzdGluZy5NZXRob2RNb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrUmFuZG9tJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczgnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0cXVldWUuanMnLCBbJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3Rlc3RydW5uZXIuanMnLCBbJ2dvb2cudGVzdGluZy5UZXN0UnVubmVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuanNvbicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvdGVzdHJ1bm5lcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuVGVzdFJ1bm5lclRlc3QnXSwgWydnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvdGVzdHN1aXRlLmpzJywgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3Rlc3RzdWl0ZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9yZW5kZXJlcmFzc2VydHMuanMnLCBbJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9yZW5kZXJlcmFzc2VydHNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLnJlbmRlcmVyYXNzZXJ0c1Rlc3QnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3VpL3JlbmRlcmVyaGFybmVzcy5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLlJlbmRlcmVySGFybmVzcyddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9zdHlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLnN0eWxlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3VpL3N0eWxlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy51aS5zdHlsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3RpbWVyL3RpbWVyLmpzJywgWydnb29nLlRpbWVyJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0aW1lci90aW1lcl90ZXN0LmpzJywgWydnb29nLlRpbWVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL2VudHJpZXMuanMnLCBbJ2dvb2cudHdlYWsuQmFzZUVudHJ5JywgJ2dvb2cudHdlYWsuQmFzZVByaW1pdGl2ZVNldHRpbmcnLCAnZ29vZy50d2Vhay5CYXNlU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5TdHJpbmdTZXR0aW5nJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL2VudHJpZXNfdGVzdC5qcycsIFsnZ29vZy50d2Vhay5CYXNlRW50cnlUZXN0J10sIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50d2Vhay50ZXN0aGVscGVycyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3JlZ2lzdHJ5LmpzJywgWydnb29nLnR3ZWFrLlJlZ2lzdHJ5J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50d2Vhay5CYXNlUHJpbWl0aXZlU2V0dGluZycsICdnb29nLnR3ZWFrLkJhc2VTZXR0aW5nJywgJ2dvb2cudHdlYWsuQm9vbGVhblNldHRpbmcnLCAnZ29vZy50d2Vhay5OdW1lcmljU2V0dGluZycsICdnb29nLnR3ZWFrLlN0cmluZ1NldHRpbmcnLCAnZ29vZy51cmkudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3JlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cudHdlYWsuUmVnaXN0cnlUZXN0J10sIFsnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50d2VhaycsICdnb29nLnR3ZWFrLnRlc3RoZWxwZXJzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndHdlYWsvdGVzdGhlbHBlcnMuanMnLCBbJ2dvb2cudHdlYWsudGVzdGhlbHBlcnMnXSwgWydnb29nLnR3ZWFrJywgJ2dvb2cudHdlYWsuQm9vbGVhbkdyb3VwJywgJ2dvb2cudHdlYWsuQm9vbGVhbkluR3JvdXBTZXR0aW5nJywgJ2dvb2cudHdlYWsuQm9vbGVhblNldHRpbmcnLCAnZ29vZy50d2Vhay5CdXR0b25BY3Rpb24nLCAnZ29vZy50d2Vhay5OdW1lcmljU2V0dGluZycsICdnb29nLnR3ZWFrLlJlZ2lzdHJ5JywgJ2dvb2cudHdlYWsuU3RyaW5nU2V0dGluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndHdlYWsvdHdlYWsuanMnLCBbJ2dvb2cudHdlYWsnLCAnZ29vZy50d2Vhay5Db25maWdQYXJhbXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy50d2Vhay5CYXNlU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5SZWdpc3RyeScsICdnb29nLnR3ZWFrLlN0cmluZ1NldHRpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3R3ZWFrdWkuanMnLCBbJ2dvb2cudHdlYWsuRW50cmllc1BhbmVsJywgJ2dvb2cudHdlYWsuVHdlYWtVaSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50d2VhaycsICdnb29nLnR3ZWFrLkJhc2VFbnRyeScsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5TdHJpbmdTZXR0aW5nJywgJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3R3ZWFrdWlfdGVzdC5qcycsIFsnZ29vZy50d2Vhay5Ud2Vha1VpVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnR3ZWFrJywgJ2dvb2cudHdlYWsuVHdlYWtVaScsICdnb29nLnR3ZWFrLnRlc3RoZWxwZXJzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWJzdHJhY3RzcGVsbGNoZWNrZXIuanMnLCBbJ2dvb2cudWkuQWJzdHJhY3RTcGVsbENoZWNrZXInLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlci5Bc3luY1Jlc3VsdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InLCAnZ29vZy51aS5Qb3B1cE1lbnUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2FjLmpzJywgWydnb29nLnVpLmFjJ10sIFsnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInLCAnZ29vZy51aS5hYy5BdXRvQ29tcGxldGUnLCAnZ29vZy51aS5hYy5JbnB1dEhhbmRsZXInLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYWNfdGVzdC5qcycsIFsnZ29vZy51aS5hY1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLnNlbGVjdGlvbicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2FycmF5bWF0Y2hlci5qcycsIFsnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuQXJyYXlNYXRjaGVyVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9hdXRvY29tcGxldGUuanMnLCBbJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlJywgJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYXV0b2NvbXBsZXRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJlbmRlck9wdGlvbnMnLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2NhY2hpbmdtYXRjaGVyLmpzJywgWydnb29nLnVpLmFjLkNhY2hpbmdNYXRjaGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLlRocm90dGxlJywgJ2dvb2cudWkuYWMuQXJyYXlNYXRjaGVyJywgJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvY2FjaGluZ21hdGNoZXJfdGVzdC5qcycsIFsnZ29vZy51aS5hYy5DYWNoaW5nTWF0Y2hlclRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuYWMuQ2FjaGluZ01hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9pbnB1dGhhbmRsZXIuanMnLCBbJ2dvb2cudWkuYWMuSW5wdXRIYW5kbGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2lucHV0aGFuZGxlcl90ZXN0LmpzJywgWydnb29nLnVpLmFjLklucHV0SGFuZGxlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2VsZWN0aW9uJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbW90ZS5qcycsIFsnZ29vZy51aS5hYy5SZW1vdGUnXSwgWydnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJlbW90ZUFycmF5TWF0Y2hlcicsICdnb29nLnVpLmFjLlJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yZW1vdGVhcnJheW1hdGNoZXIuanMnLCBbJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVXJpJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5YaHJJbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvcmVtb3RlYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyVGVzdCddLCBbJ2dvb2cubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5SZW1vdGVBcnJheU1hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yZW5kZXJlci5qcycsIFsnZ29vZy51aS5hYy5SZW5kZXJlcicsICdnb29nLnVpLmFjLlJlbmRlcmVyLkN1c3RvbVJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguZG9tLkZhZGVJbkFuZFNob3cnLCAnZ29vZy5meC5kb20uRmFkZU91dEFuZEhpZGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JZEdlbmVyYXRvcicsICdnb29nLnVpLmFjLkF1dG9Db21wbGV0ZSddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5kb20uRmFkZUluQW5kU2hvdycsICdnb29nLmZ4LmRvbS5GYWRlT3V0QW5kSGlkZScsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5BdXRvQ29tcGxldGUnLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbmRlcm9wdGlvbnMuanMnLCBbJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JpY2hpbnB1dGhhbmRsZXIuanMnLCBbJ2dvb2cudWkuYWMuUmljaElucHV0SGFuZGxlciddLCBbJ2dvb2cudWkuYWMuSW5wdXRIYW5kbGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yaWNocmVtb3RlLmpzJywgWydnb29nLnVpLmFjLlJpY2hSZW1vdGUnXSwgWydnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLlJlbW90ZScsICdnb29nLnVpLmFjLlJlbmRlcmVyJywgJ2dvb2cudWkuYWMuUmljaElucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJpY2hSZW1vdGVBcnJheU1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JpY2hyZW1vdGVhcnJheW1hdGNoZXIuanMnLCBbJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yaWNocmVtb3RlYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlclRlc3QnXSwgWydnb29nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjdGl2aXR5bW9uaXRvci5qcycsIFsnZ29vZy51aS5BY3Rpdml0eU1vbml0b3InXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hY3Rpdml0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy51aS5BY3Rpdml0eU1vbml0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FkdmFuY2VkdG9vbHRpcC5qcycsIFsnZ29vZy51aS5BZHZhbmNlZFRvb2x0aXAnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuVG9vbHRpcCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWR2YW5jZWR0b29sdGlwX3Rlc3QuanMnLCBbJ2dvb2cudWkuQWR2YW5jZWRUb29sdGlwVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFkdmFuY2VkVG9vbHRpcCcsICdnb29nLnVpLlRvb2x0aXAnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hbmltYXRlZHppcHB5LmpzJywgWydnb29nLnVpLkFuaW1hdGVkWmlwcHknXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguZWFzaW5nJywgJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51aS5aaXBweUV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hbmltYXRlZHppcHB5X3Rlc3QuanMnLCBbJ2dvb2cudWkuQW5pbWF0ZWRaaXBweVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmZ4LkFuaW1hdGlvbicsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFuaW1hdGVkWmlwcHknLCAnZ29vZy51aS5aaXBweSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2F0dGFjaGFibGVtZW51LmpzJywgWydnb29nLnVpLkF0dGFjaGFibGVNZW51J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JdGVtRXZlbnQnLCAnZ29vZy51aS5NZW51QmFzZScsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYmlkaWlucHV0LmpzJywgWydnb29nLnVpLkJpZGlJbnB1dCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLmkxOG4uYmlkaScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYmlkaWlucHV0X3Rlc3QuanMnLCBbJ2dvb2cudWkuQmlkaUlucHV0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5CaWRpSW5wdXQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idWJibGUuanMnLCBbJ2dvb2cudWkuQnViYmxlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQWJzb2x1dGVQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXJCaXQnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlBvcHVwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b24uanMnLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQnV0dG9uLlNpZGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLnVpLkJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuQnV0dG9uU2lkZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b25fdGVzdC5qcycsIFsnZ29vZy51aS5CdXR0b25UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuQnV0dG9uU2lkZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk5hdGl2ZUJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnVpLkJ1dHRvblNpZGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2J1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkJ1dHRvblNpZGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b25zaWRlLmpzJywgWydnb29nLnVpLkJ1dHRvblNpZGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jaGFyY291bnRlci5qcycsIFsnZ29vZy51aS5DaGFyQ291bnRlcicsICdnb29nLnVpLkNoYXJDb3VudGVyLkRpc3BsYXknXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoYXJjb3VudGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ2hhckNvdW50ZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNoYXJDb3VudGVyJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hhcnBpY2tlci5qcycsIFsnZ29vZy51aS5DaGFyUGlja2VyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmkxOG4uQ2hhckxpc3REZWNvbXByZXNzb3InLCAnZ29vZy5pMThuLkNoYXJQaWNrZXJEYXRhJywgJ2dvb2cuaTE4bi51Q2hhcicsICdnb29nLmkxOG4udUNoYXIuTmFtZUZldGNoZXInLCAnZ29vZy5zdHJ1Y3RzLlNldCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyU2Nyb2xsZXInLCAnZ29vZy51aS5GbGF0QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5Ib3ZlckNhcmQnLCAnZ29vZy51aS5MYWJlbElucHV0JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlRvb2x0aXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoYXJwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5DaGFyUGlja2VyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZGlzcG9zZScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5pMThuLkNoYXJQaWNrZXJEYXRhJywgJ2dvb2cuaTE4bi51Q2hhci5OYW1lRmV0Y2hlcicsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DaGFyUGlja2VyJywgJ2dvb2cudWkuRmxhdEJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hlY2tib3guanMnLCBbJ2dvb2cudWkuQ2hlY2tib3gnLCAnZ29vZy51aS5DaGVja2JveC5TdGF0ZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnN0cmluZycsICdnb29nLnVpLkNoZWNrYm94UmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoZWNrYm94X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ2hlY2tib3hUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DaGVja2JveCcsICdnb29nLnVpLkNoZWNrYm94UmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInLCAnZ29vZy51aS5kZWNvcmF0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoZWNrYm94bWVudWl0ZW0uanMnLCBbJ2dvb2cudWkuQ2hlY2tCb3hNZW51SXRlbSddLCBbJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hlY2tib3hyZW5kZXJlci5qcycsIFsnZ29vZy51aS5DaGVja2JveFJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm9iamVjdCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ybWVudWJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ybWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29sb3JNZW51QnV0dG9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkuUmVuZGVyZXJIYXJuZXNzJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b24nLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ycGFsZXR0ZS5qcycsIFsnZ29vZy51aS5Db2xvclBhbGV0dGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuUGFsZXR0ZScsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29sb3JQYWxldHRlVGVzdCddLCBbJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29sb3JQYWxldHRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JwaWNrZXIuanMnLCBbJ2dvb2cudWkuQ29sb3JQaWNrZXInLCAnZ29vZy51aS5Db2xvclBpY2tlci5FdmVudFR5cGUnXSwgWydnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29tYm9ib3guanMnLCBbJ2dvb2cudWkuQ29tYm9Cb3gnLCAnZ29vZy51aS5Db21ib0JveEl0ZW0nXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cubG9nJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkl0ZW1FdmVudCcsICdnb29nLnVpLkxhYmVsSW5wdXQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yJywgJ2dvb2cudWkucmVnaXN0cnknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbWJvYm94X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29tYm9Cb3hUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21ib0JveCcsICdnb29nLnVpLkNvbWJvQm94SXRlbScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLkxhYmVsSW5wdXQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb21wb25lbnQuanMnLCBbJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50LkVycm9yJywgJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudC5TdGF0ZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JZEdlbmVyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29tcG9uZW50X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29tcG9uZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb21wb25lbnR1dGlsLmpzJywgWydnb29nLnVpLkNvbXBvbmVudFV0aWwnXSwgWydnb29nLmV2ZW50cy5Nb3VzZUFzTW91c2VFdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuTW91c2VFdmVudHMnLCAnZ29vZy5ldmVudHMuUG9pbnRlckFzTW91c2VFdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbXBvbmVudHV0aWxfdGVzdC5qcycsIFsnZ29vZy51aS5Db21wb25lbnRVdGlsVGVzdCddLCBbJ2dvb2cuZXZlbnRzLk1vdXNlQXNNb3VzZUV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5Qb2ludGVyQXNNb3VzZUV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRhaW5lci5qcycsIFsnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5Db250YWluZXIuRXZlbnRUeXBlJywgJ2dvb2cudWkuQ29udGFpbmVyLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db21wb25lbnRVdGlsJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInLCAnZ29vZy51aS5Db250cm9sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Db250YWluZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUV2ZW50JywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRyb2wnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5Db250YWluZXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5yZWdpc3RyeScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29udGFpbmVycmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Db250YWluZXJSZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJzY3JvbGxlci5qcycsIFsnZ29vZy51aS5Db250YWluZXJTY3JvbGxlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJzY3JvbGxlcl90ZXN0LmpzJywgWydnb29nLnVpLkNvbnRhaW5lclNjcm9sbGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyU2Nyb2xsZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250cm9sLmpzJywgWydnb29nLnVpLkNvbnRyb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCcsICdnb29nLnVpLkNvbnRyb2xDb250ZW50JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy51aS5Db250cm9sVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5JywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29udHJvbGNvbnRlbnQuanMnLCBbJ2dvb2cudWkuQ29udHJvbENvbnRlbnQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250cm9scmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbENvbnRlbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRyb2xyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLkNvbnRyb2xSZW5kZXJlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb29raWVlZGl0b3IuanMnLCBbJ2dvb2cudWkuQ29va2llRWRpdG9yJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LmNvb2tpZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29va2llZWRpdG9yX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29va2llRWRpdG9yVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5jb29raWVzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvb2tpZUVkaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NzczNidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Dc3MzQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY3NzM21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Dc3MzTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Nzc25hbWVzLmpzJywgWydnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21idXR0b24uanMnLCBbJ2dvb2cudWkuQ3VzdG9tQnV0dG9uJ10sIFsnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21idXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21jb2xvcnBhbGV0dGUuanMnLCBbJ2dvb2cudWkuQ3VzdG9tQ29sb3JQYWxldHRlJ10sIFsnZ29vZy5jb2xvcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY3VzdG9tY29sb3JwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ3VzdG9tQ29sb3JQYWxldHRlVGVzdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DdXN0b21Db2xvclBhbGV0dGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kYXRlcGlja2VyLmpzJywgWydnb29nLnVpLkRhdGVQaWNrZXInLCAnZ29vZy51aS5EYXRlUGlja2VyLkV2ZW50cycsICdnb29nLnVpLkRhdGVQaWNrZXJFdmVudCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVJhbmdlJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuRGVmYXVsdERhdGVQaWNrZXJSZW5kZXJlcicsICdnb29nLnVpLklkR2VuZXJhdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuRGF0ZVBpY2tlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSEsnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRGF0ZVBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RhdGVwaWNrZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5EYXRlUGlja2VyUmVuZGVyZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kZWNvcmF0ZS5qcycsIFsnZ29vZy51aS5kZWNvcmF0ZSddLCBbJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RlY29yYXRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuZGVjb3JhdGVUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmRlY29yYXRlJywgJ2dvb2cudWkucmVnaXN0cnknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kZWZhdWx0ZGF0ZXBpY2tlcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkRlZmF1bHREYXRlUGlja2VyUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudWkuRGF0ZVBpY2tlclJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaWFsb2cuanMnLCBbJ2dvb2cudWkuRGlhbG9nJywgJ2dvb2cudWkuRGlhbG9nLkJ1dHRvblNldCcsICdnb29nLnVpLkRpYWxvZy5CdXR0b25TZXQuRGVmYXVsdEJ1dHRvbnMnLCAnZ29vZy51aS5EaWFsb2cuRGVmYXVsdEJ1dHRvbkNhcHRpb25zJywgJ2dvb2cudWkuRGlhbG9nLkRlZmF1bHRCdXR0b25LZXlzJywgJ2dvb2cudWkuRGlhbG9nLkV2ZW50JywgJ2dvb2cudWkuRGlhbG9nLkV2ZW50VHlwZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleXMnLCAnZ29vZy5meC5EcmFnZ2VyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Nb2RhbFBvcHVwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaWFsb2dfdGVzdC5qcycsIFsnZ29vZy51aS5EaWFsb2dUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5meC5jc3MzJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RpbWVuc2lvbnBpY2tlci5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXInXSwgWydnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuUG9pbnRlclR5cGUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLkFubm91bmNlcicsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmkxOG4uYmlkaScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLkRpbWVuc2lvblBpY2tlclJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhLkxpdmVQcmlvcml0eScsICdnb29nLmFycmF5JywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kcmFnZHJvcGRldGVjdG9yLmpzJywgWydnb29nLnVpLkRyYWdEcm9wRGV0ZWN0b3InLCAnZ29vZy51aS5EcmFnRHJvcERldGVjdG9yLkV2ZW50VHlwZScsICdnb29nLnVpLkRyYWdEcm9wRGV0ZWN0b3IuSW1hZ2VEcm9wRXZlbnQnLCAnZ29vZy51aS5EcmFnRHJvcERldGVjdG9yLkxpbmtEcm9wRXZlbnQnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RyaWxsZG93bnJvdy5qcycsIFsnZ29vZy51aS5EcmlsbGRvd25Sb3cnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZHJpbGxkb3ducm93X3Rlc3QuanMnLCBbJ2dvb2cudWkuRHJpbGxkb3duUm93VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5EcmlsbGRvd25Sb3cnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvYWJzdHJhY3RkaWFsb2cuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nLkJ1aWxkZXInLCAnZ29vZy51aS5lZGl0b3IuQWJzdHJhY3REaWFsb2cuRXZlbnRUeXBlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cmluZycsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL2Fic3RyYWN0ZGlhbG9nX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9idWJibGUuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sb2cnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLm9iamVjdCcsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvd1N0YXR1cycsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvYnViYmxlX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLmVkaXRvci5CdWJibGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9kZWZhdWx0dG9vbGJhci5qcycsIFsnZ29vZy51aS5lZGl0b3IuQnV0dG9uRGVzY3JpcHRvcicsICdnb29nLnVpLmVkaXRvci5EZWZhdWx0VG9vbGJhciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9saW5rZGlhbG9nLmpzJywgWydnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2cuQmVmb3JlVGVzdExpbmtFdmVudCcsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nLkV2ZW50VHlwZScsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nLk9rRXZlbnQnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkxpbmsnLCAnZ29vZy5lZGl0b3IuZm9jdXMnLCAnZ29vZy5lZGl0b3Iubm9kZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTGlua0J1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLlRhYlBhbmUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy53aW5kb3cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9saW5rZGlhbG9nX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2dUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLm1lc3NhZ2VzJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL21lc3NhZ2VzLmpzJywgWydnb29nLnVpLmVkaXRvci5tZXNzYWdlcyddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbEZvcm1hdHRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL3RhYnBhbmUuanMnLCBbJ2dvb2cudWkuZWRpdG9yLlRhYlBhbmUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5UYWInLCAnZ29vZy51aS5UYWJCYXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci90b29sYmFyY29udHJvbGxlci5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckNvbnRyb2xsZXInXSwgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci90b29sYmFyZmFjdG9yeS5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuT3B0aW9uJywgJ2dvb2cudWkuVG9vbGJhcicsICdnb29nLnVpLlRvb2xiYXJCdXR0b24nLCAnZ29vZy51aS5Ub29sYmFyQ29sb3JNZW51QnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b24nLCAnZ29vZy51aS5Ub29sYmFyUmVuZGVyZXInLCAnZ29vZy51aS5Ub29sYmFyU2VsZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvdG9vbGJhcmZhY3RvcnlfdGVzdC5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9lbW9qaS5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL2Vtb2ppcGFsZXR0ZS5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBhbGV0dGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSW1hZ2VMb2FkZXInLCAnZ29vZy51aS5QYWxldHRlJywgJ2dvb2cudWkuZW1vamkuRW1vamknLCAnZ29vZy51aS5lbW9qaS5FbW9qaVBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZW1vamlwYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuRW1vamlQYWxldHRlUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlcicsICdnb29nLnVpLmVtb2ppLkVtb2ppJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9lbW9qaXBpY2tlci5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBpY2tlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlRhYlBhbmUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZVJlbmRlcmVyJywgJ2dvb2cudWkuZW1vamkuUHJvZ3Jlc3NpdmVFbW9qaVBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZW1vamlwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJywgJ2dvb2cudWkuZW1vamkuU3ByaXRlSW5mbyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL2Zhc3Rfbm9ucHJvZ3Jlc3NpdmVfZW1vamlwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5lbW9qaS5GYXN0Tm9uUHJvZ3Jlc3NpdmVFbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVtb2ppLkVtb2ppJywgJ2dvb2cudWkuZW1vamkuRW1vamlQaWNrZXInLCAnZ29vZy51aS5lbW9qaS5TcHJpdGVJbmZvJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZmFzdF9wcm9ncmVzc2l2ZV9lbW9qaXBpY2tlcl90ZXN0LmpzJywgWydnb29nLnVpLmVtb2ppLkZhc3RQcm9ncmVzc2l2ZUVtb2ppUGlja2VyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJywgJ2dvb2cudWkuZW1vamkuU3ByaXRlSW5mbyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL3BvcHVwZW1vamlwaWNrZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9wb3B1cGVtb2ppcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL3Byb2dyZXNzaXZlZW1vamlwYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuUHJvZ3Jlc3NpdmVFbW9qaVBhbGV0dGVSZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9zcHJpdGVpbmZvLmpzJywgWydnb29nLnVpLmVtb2ppLlNwcml0ZUluZm8nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvc3ByaXRlaW5mb190ZXN0LmpzJywgWydnb29nLnVpLmVtb2ppLlNwcml0ZUluZm9UZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVtb2ppLlNwcml0ZUluZm8nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJlZG1lbnUuanMnLCBbJ2dvb2cudWkuRmlsdGVyZWRNZW51J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQXV0b0NvbXBsZXRlVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkZpbHRlck9ic2VydmluZ01lbnVJdGVtJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJlZG1lbnVfdGVzdC5qcycsIFsnZ29vZy51aS5GaWx0ZXJlZE1lbnVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQXV0b0NvbXBsZXRlVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRmlsdGVyZWRNZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJvYnNlcnZpbmdtZW51aXRlbS5qcycsIFsnZ29vZy51aS5GaWx0ZXJPYnNlcnZpbmdNZW51SXRlbSddLCBbJ2dvb2cudWkuRmlsdGVyT2JzZXJ2aW5nTWVudUl0ZW1SZW5kZXJlcicsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ZpbHRlcm9ic2VydmluZ21lbnVpdGVtcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuRmlsdGVyT2JzZXJ2aW5nTWVudUl0ZW1SZW5kZXJlciddLCBbJ2dvb2cudWkuTWVudUl0ZW1SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZmxhdGJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ZsYXRtZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuRmxhdE1lbnVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUJ1dHRvbicsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9mb3JtcG9zdC5qcycsIFsnZ29vZy51aS5Gb3JtUG9zdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Zvcm1wb3N0X3Rlc3QuanMnLCBbJ2dvb2cudWkuRm9ybVBvc3RUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Gb3JtUG9zdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZ2F1Z2UuanMnLCBbJ2dvb2cudWkuR2F1Z2UnLCAnZ29vZy51aS5HYXVnZUNvbG9yZWRSYW5nZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmVhc2luZycsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuRm9udCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5tYXRoJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuR2F1Z2VUaGVtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZ2F1Z2V0aGVtZS5qcycsIFsnZ29vZy51aS5HYXVnZVRoZW1lJ10sIFsnZ29vZy5ncmFwaGljcy5MaW5lYXJHcmFkaWVudCcsICdnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCcsICdnb29nLmdyYXBoaWNzLlN0cm9rZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaG92ZXJjYXJkLmpzJywgWydnb29nLnVpLkhvdmVyQ2FyZCcsICdnb29nLnVpLkhvdmVyQ2FyZC5FdmVudFR5cGUnLCAnZ29vZy51aS5Ib3ZlckNhcmQuVHJpZ2dlckV2ZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5BZHZhbmNlZFRvb2x0aXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnLCAnZ29vZy51aS5Ub29sdGlwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9ob3ZlcmNhcmRfdGVzdC5qcycsIFsnZ29vZy51aS5Ib3ZlckNhcmRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSG92ZXJDYXJkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaHN2YXBhbGV0dGUuanMnLCBbJ2dvb2cudWkuSHN2YVBhbGV0dGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3IuYWxwaGEnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkhzdlBhbGV0dGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2hzdmFwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuSHN2YVBhbGV0dGVUZXN0J10sIFsnZ29vZy5jb2xvci5hbHBoYScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Ic3ZhUGFsZXR0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2hzdnBhbGV0dGUuanMnLCBbJ2dvb2cudWkuSHN2UGFsZXR0ZSddLCBbJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaHN2cGFsZXR0ZV90ZXN0LmpzJywgWydnb29nLnVpLkhzdlBhbGV0dGVUZXN0J10sIFsnZ29vZy5jb2xvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Ic3ZQYWxldHRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaWRnZW5lcmF0b3IuanMnLCBbJ2dvb2cudWkuSWRHZW5lcmF0b3InXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pZGxldGltZXIuanMnLCBbJ2dvb2cudWkuSWRsZVRpbWVyJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudWkuQWN0aXZpdHlNb25pdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pZGxldGltZXJfdGVzdC5qcycsIFsnZ29vZy51aS5JZGxlVGltZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSWRsZVRpbWVyJywgJ2dvb2cudWkuTW9ja0FjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2lmcmFtZW1hc2suanMnLCBbJ2dvb2cudWkuSWZyYW1lTWFzayddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5zdHJ1Y3RzLlBvb2wnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaWZyYW1lbWFza190ZXN0LmpzJywgWydnb29nLnVpLklmcmFtZU1hc2tUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5pZnJhbWUnLCAnZ29vZy5zdHJ1Y3RzLlBvb2wnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5JZnJhbWVNYXNrJywgJ2dvb2cudWkuUG9wdXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pbWFnZWxlc3NidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5JbWFnZWxlc3NCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ltYWdlbGVzc21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5JbWFnZWxlc3NNZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2lucHV0ZGF0ZXBpY2tlci5qcycsIFsnZ29vZy51aS5JbnB1dERhdGVQaWNrZXInXSwgWydnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGFyc2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5EYXRlUGlja2VyJywgJ2dvb2cudWkuTGFiZWxJbnB1dCcsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVpLlBvcHVwRGF0ZVBpY2tlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaW5wdXRkYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuSW5wdXREYXRlUGlja2VyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXJzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSW5wdXREYXRlUGlja2VyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaXRlbWV2ZW50LmpzJywgWydnb29nLnVpLkl0ZW1FdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9rZXlib2FyZGV2ZW50ZGF0YS5qcycsIFsnZ29vZy51aS5LZXlib2FyZEV2ZW50RGF0YSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9rZXlib2FyZHNob3J0Y3V0aGFuZGxlci5qcycsIFsnZ29vZy51aS5LZXlib2FyZFNob3J0Y3V0RXZlbnQnLCAnZ29vZy51aS5LZXlib2FyZFNob3J0Y3V0SGFuZGxlcicsICdnb29nLnVpLktleWJvYXJkU2hvcnRjdXRIYW5kbGVyLkV2ZW50VHlwZScsICdnb29nLnVpLktleWJvYXJkU2hvcnRjdXRIYW5kbGVyLk1vZGlmaWVycyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleU5hbWVzJywgJ2dvb2cuZXZlbnRzLktleXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51aS5LZXlib2FyZEV2ZW50RGF0YScsICdnb29nLnVpLlN5bnRoZXRpY0tleWJvYXJkRXZlbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2tleWJvYXJkc2hvcnRjdXRoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuS2V5Ym9hcmRTaG9ydGN1dEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuS2V5Ym9hcmRTaG9ydGN1dEhhbmRsZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9sYWJlbGlucHV0LmpzJywgWydnb29nLnVpLkxhYmVsSW5wdXQnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbGFiZWxpbnB1dF90ZXN0LmpzJywgWydnb29nLnVpLkxhYmVsSW5wdXRUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuTGFiZWxJbnB1dCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2xpbmtidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5MaW5rQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9mbGFzaG9iamVjdC5qcycsIFsnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0LlNjcmlwdEFjY2Vzc0xldmVsJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QuV21vZGVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLmZsYXNoJywgJ2dvb2cubG9nJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5mbGFzaCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxhc2hvYmplY3RfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxpY2tyLmpzJywgWydnb29nLnVpLm1lZGlhLkZsaWNrclNldCcsICdnb29nLnVpLm1lZGlhLkZsaWNrclNldE1vZGVsJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxpY2tyX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0JywgJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0TW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL2dvb2dsZXZpZGVvLmpzJywgWydnb29nLnVpLm1lZGlhLkdvb2dsZVZpZGVvJywgJ2dvb2cudWkubWVkaWEuR29vZ2xlVmlkZW9Nb2RlbCddLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL2dvb2dsZXZpZGVvX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuR29vZ2xlVmlkZW9UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5Hb29nbGVWaWRlbycsICdnb29nLnVpLm1lZGlhLkdvb2dsZVZpZGVvTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21lZGlhLmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9tZWRpYV90ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9tZWRpYW1vZGVsLmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLkNhdGVnb3J5JywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5DcmVkaXQnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLkNyZWRpdC5Sb2xlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5DcmVkaXQuU2NoZW1lJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5NZWRpdW0nLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLk1pbWVUeXBlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5QbGF5ZXInLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLlN1YlRpdGxlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5UaHVtYm5haWwnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21lZGlhbW9kZWxfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvbXAzLmpzJywgWydnb29nLnVpLm1lZGlhLk1wMyddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5NZWRpYScsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21wM190ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLk1wM1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1wMyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL3Bob3RvLmpzJywgWydnb29nLnVpLm1lZGlhLlBob3RvJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvcGhvdG9fdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5QaG90b1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuUGhvdG8nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9waWNhc2EuanMnLCBbJ2dvb2cudWkubWVkaWEuUGljYXNhQWxidW0nLCAnZ29vZy51aS5tZWRpYS5QaWNhc2FBbGJ1bU1vZGVsJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvcGljYXNhX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuUGljYXNhVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5QaWNhc2FBbGJ1bScsICdnb29nLnVpLm1lZGlhLlBpY2FzYUFsYnVtTW9kZWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS92aW1lby5qcycsIFsnZ29vZy51aS5tZWRpYS5WaW1lbycsICdnb29nLnVpLm1lZGlhLlZpbWVvTW9kZWwnXSwgWydnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5NZWRpYScsICdnb29nLnVpLm1lZGlhLk1lZGlhTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS92aW1lb190ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLlZpbWVvVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5WaW1lbycsICdnb29nLnVpLm1lZGlhLlZpbWVvTW9kZWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS95b3V0dWJlLmpzJywgWydnb29nLnVpLm1lZGlhLllvdXR1YmUnLCAnZ29vZy51aS5tZWRpYS5Zb3V0dWJlTW9kZWwnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL3lvdXR1YmVfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5Zb3V0dWJlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuWW91dHViZScsICdnb29nLnVpLm1lZGlhLllvdXR1YmVNb2RlbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnUuanMnLCBbJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnUuRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudC5TdGF0ZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lci5PcmllbnRhdGlvbicsICdnb29nLnVpLk1lbnVIZWFkZXInLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YmFyLmpzJywgWydnb29nLnVpLm1lbnVCYXInXSwgWydnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLk1lbnVCYXJSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudWJhcmRlY29yYXRvci5qcycsIFsnZ29vZy51aS5tZW51QmFyRGVjb3JhdG9yJ10sIFsnZ29vZy51aS5NZW51QmFyUmVuZGVyZXInLCAnZ29vZy51aS5tZW51QmFyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnViYXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5NZW51QmFyUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnViYXNlLmpzJywgWydnb29nLnVpLk1lbnVCYXNlJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudWkuUG9wdXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVidXR0b24uanMnLCBbJ2dvb2cudWkuTWVudUJ1dHRvbiddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLklkR2VuZXJhdG9yJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJywgJ2dvb2cudWkuU3ViTWVudScsICdnb29nLnVpLnJlZ2lzdHJ5JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YnV0dG9uX3Rlc3QuanMnLCBbJ2dvb2cudWkuTWVudUJ1dHRvblRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUhhbmRsZXInLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlN1Yk1lbnUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YnV0dG9ucmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuTWVudUJ1dHRvbicsICdnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVoZWFkZXIuanMnLCBbJ2dvb2cudWkuTWVudUhlYWRlciddLCBbJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLk1lbnVIZWFkZXJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51aGVhZGVycmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuTWVudUhlYWRlclJlbmRlcmVyJ10sIFsnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVpdGVtLmpzJywgWydnb29nLnVpLk1lbnVJdGVtJ10sIFsnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0cmluZycsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5NZW51SXRlbVJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVpdGVtX3Rlc3QuanMnLCBbJ2dvb2cudWkuTWVudUl0ZW1UZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51aXRlbXJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudWl0ZW1yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5NZW51SXRlbVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5Db250YWluZXJSZW5kZXJlcicsICdnb29nLnVpLlNlcGFyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXNlcGFyYXRvci5qcycsIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yJ10sIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5TZXBhcmF0b3InLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXNlcGFyYXRvcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVTZXBhcmF0b3JSZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51c2VwYXJhdG9ycmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tb2NrYWN0aXZpdHltb25pdG9yLmpzJywgWydnb29nLnVpLk1vY2tBY3Rpdml0eU1vbml0b3InXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5BY3Rpdml0eU1vbml0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vY2thY3Rpdml0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy51aS5Nb2NrQWN0aXZpdHlNb25pdG9yVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQWN0aXZpdHlNb25pdG9yJywgJ2dvb2cudWkuTW9ja0FjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vZGFsYXJpYXZpc2liaWxpdHloZWxwZXIuanMnLCBbJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tb2RhbGFyaWF2aXNpYmlsaXR5aGVscGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vZGFscG9wdXAuanMnLCBbJ2dvb2cudWkuTW9kYWxQb3B1cCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYW5pbWF0aW9uRnJhbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlcicsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbW9kYWxwb3B1cF90ZXN0LmpzJywgWydnb29nLnVpLk1vZGFsUG9wdXBUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kaXNwb3NlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmNzczMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLk1vZGFsUG9wdXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9uYXRpdmVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL25hdGl2ZWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuTmF0aXZlQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL29wdGlvbi5qcycsIFsnZ29vZy51aS5PcHRpb24nXSwgWydnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BhbGV0dGUuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlcicsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5RXZlbnQnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLlBhbGV0dGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlSXRlcmF0b3InLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uZGF0YXNldCcsICdnb29nLml0ZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcGFsZXR0ZXJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5QYWxldHRlJywgJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcGxhaW50ZXh0c3BlbGxjaGVja2VyLmpzJywgWydnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQWJzdHJhY3RTcGVsbENoZWNrZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BsYWludGV4dHNwZWxsY2hlY2tlcl90ZXN0LmpzJywgWydnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlclRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlcicsICdnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwLmpzJywgWydnb29nLnVpLlBvcHVwJ10sIFsnZ29vZy5tYXRoLkJveCcsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBfdGVzdC5qcycsIFsnZ29vZy51aS5Qb3B1cFRlc3QnXSwgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuUG9wdXAnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wb3B1cGJhc2UuanMnLCBbJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuUG9wdXBCYXNlLkV2ZW50VHlwZScsICdnb29nLnVpLlBvcHVwQmFzZS5UeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBiYXNlX3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBCYXNlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmNzczMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwY29sb3JwaWNrZXIuanMnLCBbJ2dvb2cudWkuUG9wdXBDb2xvclBpY2tlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnVpLkNvbG9yUGlja2VyJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuUG9wdXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwY29sb3JwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Qb3B1cENvbG9yUGlja2VyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbG9yUGlja2VyJywgJ2dvb2cudWkuUG9wdXBDb2xvclBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwZGF0ZXBpY2tlci5qcycsIFsnZ29vZy51aS5Qb3B1cERhdGVQaWNrZXInXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFZpZXdwb3J0UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkRhdGVQaWNrZXInLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBkYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBEYXRlUGlja2VyVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5EYXRlUGlja2VyJywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuUG9wdXBEYXRlUGlja2VyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBtZW51LmpzJywgWydnb29nLnVpLlBvcHVwTWVudSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuTW91c2VCdXR0b24nLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLlZpZXdwb3J0Q2xpZW50UG9zaXRpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBtZW51X3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBNZW51VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5Qb3B1cE1lbnUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wcm9ncmVzc2Jhci5qcycsIFsnZ29vZy51aS5Qcm9ncmVzc0JhcicsICdnb29nLnVpLlByb2dyZXNzQmFyLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlJhbmdlTW9kZWwnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Byb21wdC5qcycsIFsnZ29vZy51aS5Qcm9tcHQnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5EaWFsb2cnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Byb21wdF90ZXN0LmpzJywgWydnb29nLnVpLlByb21wdFRlc3QnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkJpZGlJbnB1dCcsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVpLlByb21wdCcsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmFuZ2Vtb2RlbC5qcycsIFsnZ29vZy51aS5SYW5nZU1vZGVsJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JhbmdlbW9kZWxfdGVzdC5qcycsIFsnZ29vZy51aS5SYW5nZU1vZGVsVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5SYW5nZU1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmF0aW5ncy5qcycsIFsnZ29vZy51aS5SYXRpbmdzJywgJ2dvb2cudWkuUmF0aW5ncy5FdmVudFR5cGUnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JlZ2lzdHJ5LmpzJywgWydnb29nLnVpLnJlZ2lzdHJ5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmVnaXN0cnlfdGVzdC5qcycsIFsnZ29vZy51aS5yZWdpc3RyeVRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkucmVnaXN0cnknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9yaWNodGV4dHNwZWxsY2hlY2tlci5qcycsIFsnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlcicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlBvcHVwTWVudSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmljaHRleHRzcGVsbGNoZWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlclRlc3QnXSwgWydnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLm9iamVjdCcsICdnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JvdW5kZWRwYW5lbC5qcycsIFsnZ29vZy51aS5CYXNlUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuQ3NzUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuR3JhcGhpY3NSb3VuZGVkUGFuZWwnLCAnZ29vZy51aS5Sb3VuZGVkUGFuZWwnLCAnZ29vZy51aS5Sb3VuZGVkUGFuZWwuQ29ybmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZ3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9yb3VuZGVkcGFuZWxfdGVzdC5qcycsIFsnZ29vZy51aS5Sb3VuZGVkUGFuZWxUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNzc1JvdW5kZWRQYW5lbCcsICdnb29nLnVpLkdyYXBoaWNzUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuUm91bmRlZFBhbmVsJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcm91bmRlZHRhYnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlJvdW5kZWRUYWJSZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5UYWInLCAnZ29vZy51aS5UYWJCYXInLCAnZ29vZy51aS5UYWJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zY3JvbGxmbG9hdGVyLmpzJywgWydnb29nLnVpLlNjcm9sbEZsb2F0ZXInLCAnZ29vZy51aS5TY3JvbGxGbG9hdGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zY3JvbGxmbG9hdGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2Nyb2xsRmxvYXRlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5TY3JvbGxGbG9hdGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VsZWN0LmpzJywgWydnb29nLnVpLlNlbGVjdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5JZEdlbmVyYXRvcicsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdF90ZXN0LmpzJywgWydnb29nLnVpLlNlbGVjdFRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TZWxlY3QnLCAnZ29vZy51aS5TZXBhcmF0b3InXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zZWxlY3Rpb25tZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1lbnVCdXR0b24nLCAnZ29vZy51aS5TZWxlY3Rpb25NZW51QnV0dG9uLlNlbGVjdGlvblN0YXRlJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VsZWN0aW9ubWVudWJ1dHRvbl90ZXN0LmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1lbnVCdXR0b25UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2VsZWN0aW9uTWVudUJ1dHRvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdGlvbm1vZGVsLmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdGlvbm1vZGVsX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2VsZWN0aW9uTW9kZWxUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VwYXJhdG9yLmpzJywgWydnb29nLnVpLlNlcGFyYXRvciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VydmVyY2hhcnQuanMnLCBbJ2dvb2cudWkuU2VydmVyQ2hhcnQnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5BeGlzRGlzcGxheVR5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5DaGFydFR5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5FbmNvZGluZ1R5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5FdmVudCcsICdnb29nLnVpLlNlcnZlckNoYXJ0LkxlZ2VuZFBvc2l0aW9uJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTWF4aW11bVZhbHVlJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTXVsdGlBeGlzQWxpZ25tZW50JywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTXVsdGlBeGlzVHlwZScsICdnb29nLnVpLlNlcnZlckNoYXJ0LlVyaVBhcmFtJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuVXJpVG9vTG9uZ0V2ZW50J10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQ29tcG9uZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zZXJ2ZXJjaGFydF90ZXN0LmpzJywgWydnb29nLnVpLlNlcnZlckNoYXJ0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NsaWRlci5qcycsIFsnZ29vZy51aS5TbGlkZXInLCAnZ29vZy51aS5TbGlkZXIuT3JpZW50YXRpb24nXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5TbGlkZXJCYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zbGlkZXJiYXNlLmpzJywgWydnb29nLnVpLlNsaWRlckJhc2UnLCAnZ29vZy51aS5TbGlkZXJCYXNlLkFuaW1hdGlvbkZhY3RvcnknLCAnZ29vZy51aS5TbGlkZXJCYXNlLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLk1vdXNlV2hlZWxIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuZnguQW5pbWF0aW9uUGFyYWxsZWxRdWV1ZScsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguZG9tLlJlc2l6ZUhlaWdodCcsICdnb29nLmZ4LmRvbS5SZXNpemVXaWR0aCcsICdnb29nLmZ4LmRvbS5TbGlkZScsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5SYW5nZU1vZGVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zbGlkZXJiYXNlX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2xpZGVyQmFzZVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2xpZGVyQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NwbGl0cGFuZS5qcycsIFsnZ29vZy51aS5TcGxpdFBhbmUnLCAnZ29vZy51aS5TcGxpdFBhbmUuT3JpZW50YXRpb24nXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguUmVjdCcsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zcGxpdHBhbmVfdGVzdC5qcycsIFsnZ29vZy51aS5TcGxpdFBhbmVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU3BsaXRQYW5lJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL2J1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N0eWxlL2FwcC9idXR0b25yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N0eWxlL2FwcC9tZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuc3R5bGUuYXBwLk1lbnVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJywgJ2dvb2cudWkuc3R5bGUuYXBwLkJ1dHRvblJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zdHlsZS9hcHAvbWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuc3R5bGUuYXBwLk1lbnVCdXR0b25SZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5zdHlsZS5hcHAuTWVudUJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL3ByaW1hcnlhY3Rpb25idXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5zdHlsZS5hcHAuUHJpbWFyeUFjdGlvbkJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5yZWdpc3RyeScsICdnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL3ByaW1hcnlhY3Rpb25idXR0b25yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5QcmltYXJ5QWN0aW9uQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkuc3R5bGUnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5zdHlsZS5hcHAuUHJpbWFyeUFjdGlvbkJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudS5qcycsIFsnZ29vZy51aS5TdWJNZW51J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TdWJNZW51UmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudV90ZXN0LmpzJywgWydnb29nLnVpLlN1Yk1lbnVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TdWJNZW51JywgJ2dvb2cudWkuU3ViTWVudVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudXJlbmRlcmVyLmpzJywgWydnb29nLnVpLlN1Yk1lbnVSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N5bnRoZXRpY2tleWJvYXJkZXZlbnQuanMnLCBbJ2dvb2cudWkuU3ludGhldGljS2V5Ym9hcmRFdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cudWkuS2V5Ym9hcmRFdmVudERhdGEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYi5qcycsIFsnZ29vZy51aS5UYWInXSwgWydnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5UYWJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90YWJfdGVzdC5qcycsIFsnZ29vZy51aS5UYWJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYlJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFiYmFyLmpzJywgWydnb29nLnVpLlRhYkJhcicsICdnb29nLnVpLlRhYkJhci5Mb2NhdGlvbiddLCBbJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lci5PcmllbnRhdGlvbicsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYkJhclJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmJhcl90ZXN0LmpzJywgWydnb29nLnVpLlRhYkJhclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYkJhcicsICdnb29nLnVpLlRhYkJhclJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFiYmFycmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVGFiQmFyUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmJhcnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVGFiQmFyUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5UYWJCYXInLCAnZ29vZy51aS5UYWJCYXJSZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmxlc29ydGVyLmpzJywgWydnb29nLnVpLlRhYmxlU29ydGVyJywgJ2dvb2cudWkuVGFibGVTb3J0ZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmxlc29ydGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVGFibGVTb3J0ZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5UYWJsZVNvcnRlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYnBhbmUuanMnLCBbJ2dvb2cudWkuVGFiUGFuZScsICdnb29nLnVpLlRhYlBhbmUuRXZlbnRzJywgJ2dvb2cudWkuVGFiUGFuZS5UYWJMb2NhdGlvbicsICdnb29nLnVpLlRhYlBhbmUuVGFiUGFnZScsICdnb29nLnVpLlRhYlBhbmVFdmVudCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYnBhbmVfdGVzdC5qcycsIFsnZ29vZy51aS5UYWJQYW5lVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5UYWJQYW5lJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFicmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVGFiUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90YWJyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLlRhYlJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuVGFiJywgJ2dvb2cudWkuVGFiUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90ZXh0YXJlYS5qcycsIFsnZ29vZy51aS5UZXh0YXJlYScsICdnb29nLnVpLlRleHRhcmVhLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkuVGV4dGFyZWFSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGV4dGFyZWFfdGVzdC5qcycsIFsnZ29vZy51aS5UZXh0YXJlYVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlRleHRhcmVhJywgJ2dvb2cudWkuVGV4dGFyZWFSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGV4dGFyZWFyZW5kZXJlci5qcycsIFsnZ29vZy51aS5UZXh0YXJlYVJlbmRlcmVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9nZ2xlYnV0dG9uLmpzJywgWydnb29nLnVpLlRvZ2dsZUJ1dHRvbiddLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhci5qcycsIFsnZ29vZy51aS5Ub29sYmFyJ10sIFsnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5Ub29sYmFyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJfdGVzdC5qcycsIFsnZ29vZy51aS5Ub29sYmFyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlRvb2xiYXInLCAnZ29vZy51aS5Ub29sYmFyTWVudUJ1dHRvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJidXR0b24uanMnLCBbJ2dvb2cudWkuVG9vbGJhckJ1dHRvbiddLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhckJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Ub29sYmFyQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLkN1c3RvbUJ1dHRvblJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyY29sb3JtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b24nXSwgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyY29sb3JtZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcmNvbG9ybWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvblJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50ZXN0aW5nLnVpLlJlbmRlcmVySGFybmVzcycsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b25SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uJ10sIFsnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFybWVudWJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lclJlbmRlcmVyJywgJ2dvb2cudWkuU2VwYXJhdG9yJywgJ2dvb2cudWkuVG9vbGJhclNlcGFyYXRvclJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyc2VsZWN0LmpzJywgWydnb29nLnVpLlRvb2xiYXJTZWxlY3QnXSwgWydnb29nLnVpLlNlbGVjdCcsICdnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnNlcGFyYXRvci5qcycsIFsnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yJ10sIFsnZ29vZy51aS5TZXBhcmF0b3InLCAnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnNlcGFyYXRvcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3JSZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJzZXBhcmF0b3JyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3JSZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuSU5MSU5FX0JMT0NLX0NMQVNTTkFNRScsICdnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3InLCAnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFydG9nZ2xlYnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJUb2dnbGVCdXR0b24nXSwgWydnb29nLnVpLlRvZ2dsZUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sdGlwLmpzJywgWydnb29nLnVpLlRvb2x0aXAnLCAnZ29vZy51aS5Ub29sdGlwLkN1cnNvclRvb2x0aXBQb3NpdGlvbicsICdnb29nLnVpLlRvb2x0aXAuRWxlbWVudFRvb2x0aXBQb3NpdGlvbicsICdnb29nLnVpLlRvb2x0aXAuU3RhdGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cucG9zaXRpb25pbmcuVmlld3BvcnRQb3NpdGlvbicsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbHRpcF90ZXN0LmpzJywgWydnb29nLnVpLlRvb2x0aXBUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkZvY3VzSGFuZGxlcicsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nLkFic29sdXRlUG9zaXRpb24nLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuVG9vbHRpcCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvYmFzZW5vZGUuanMnLCBbJ2dvb2cudWkudHJlZS5CYXNlTm9kZScsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUuRXZlbnRUeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHJlZS9iYXNlbm9kZV90ZXN0LmpzJywgWydnb29nLnVpLnRyZWUuQmFzZU5vZGVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUnLCAnZ29vZy51aS50cmVlLlRyZWVDb250cm9sJywgJ2dvb2cudWkudHJlZS5UcmVlTm9kZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHJlZWNvbnRyb2wuanMnLCBbJ2dvb2cudWkudHJlZS5UcmVlQ29udHJvbCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkZvY3VzSGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUnLCAnZ29vZy51aS50cmVlLlRyZWVOb2RlJywgJ2dvb2cudWkudHJlZS5UeXBlQWhlYWQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHJlZWNvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy51aS50cmVlLlRyZWVDb250cm9sVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS50cmVlLlRyZWVDb250cm9sJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHJlZS90cmVlbm9kZS5qcycsIFsnZ29vZy51aS50cmVlLlRyZWVOb2RlJ10sIFsnZ29vZy51aS50cmVlLkJhc2VOb2RlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90cmVlL3R5cGVhaGVhZC5qcycsIFsnZ29vZy51aS50cmVlLlR5cGVBaGVhZCcsICdnb29nLnVpLnRyZWUuVHlwZUFoZWFkLk9mZnNldCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJ1Y3RzLlRyaWUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHlwZWFoZWFkX3Rlc3QuanMnLCBbJ2dvb2cudWkudHJlZS5UeXBlQWhlYWRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLnRyZWUuVHJlZUNvbnRyb2wnLCAnZ29vZy51aS50cmVlLlR5cGVBaGVhZCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyaXN0YXRlbWVudWl0ZW0uanMnLCBbJ2dvb2cudWkuVHJpU3RhdGVNZW51SXRlbScsICdnb29nLnVpLlRyaVN0YXRlTWVudUl0ZW0uU3RhdGUnXSwgWydnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlRyaVN0YXRlTWVudUl0ZW1SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90cmlzdGF0ZW1lbnVpdGVtcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVHJpU3RhdGVNZW51SXRlbVJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3R3b3RodW1ic2xpZGVyLmpzJywgWydnb29nLnVpLlR3b1RodW1iU2xpZGVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudWkuU2xpZGVyQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHdvdGh1bWJzbGlkZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Ud29UaHVtYlNsaWRlclRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuU2xpZGVyQmFzZScsICdnb29nLnVpLlR3b1RodW1iU2xpZGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvemlwcHkuanMnLCBbJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51aS5aaXBweS5FdmVudHMnLCAnZ29vZy51aS5aaXBweUV2ZW50J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3ppcHB5X3Rlc3QuanMnLCBbJ2dvb2cudWkuWmlwcHlUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuWmlwcHknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1cmkvdXJpLmpzJywgWydnb29nLlVyaScsICdnb29nLlVyaS5RdWVyeURhdGEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnVyaS51dGlscycsICdnb29nLnVyaS51dGlscy5Db21wb25lbnRJbmRleCcsICdnb29nLnVyaS51dGlscy5TdGFuZGFyZFF1ZXJ5UGFyYW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VyaS91cmlfdGVzdC5qcycsIFsnZ29vZy5VcmlUZXN0J10sIFsnZ29vZy5VcmknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VyaS91dGlscy5qcycsIFsnZ29vZy51cmkudXRpbHMnLCAnZ29vZy51cmkudXRpbHMuQ29tcG9uZW50SW5kZXgnLCAnZ29vZy51cmkudXRpbHMuUXVlcnlBcnJheScsICdnb29nLnVyaS51dGlscy5RdWVyeVZhbHVlJywgJ2dvb2cudXJpLnV0aWxzLlN0YW5kYXJkUXVlcnlQYXJhbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1cmkvdXRpbHNfdGVzdC5qcycsIFsnZ29vZy51cmkudXRpbHNUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVyaS51dGlscyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9hZG9iZXJlYWRlci5qcycsIFsnZ29vZy51c2VyQWdlbnQuYWRvYmVSZWFkZXInXSwgWydnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9hZG9iZXJlYWRlcl90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5hZG9iZVJlYWRlclRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LmFkb2JlUmVhZGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L2ZsYXNoLmpzJywgWydnb29nLnVzZXJBZ2VudC5mbGFzaCddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvZmxhc2hfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnQuZmxhc2hUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudC5mbGFzaCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9pcGhvdG8uanMnLCBbJ2dvb2cudXNlckFnZW50LmlwaG90byddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvanNjcmlwdC5qcycsIFsnZ29vZy51c2VyQWdlbnQuanNjcmlwdCddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvanNjcmlwdF90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5qc2NyaXB0VGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQuanNjcmlwdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9rZXlib2FyZC5qcycsIFsnZ29vZy51c2VyQWdlbnQua2V5Ym9hcmQnXSwgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQva2V5Ym9hcmRfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnQua2V5Ym9hcmRUZXN0J10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LmtleWJvYXJkJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcGxhdGZvcm0uanMnLCBbJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJ10sIFsnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9wbGF0Zm9ybV90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5wbGF0Zm9ybVRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdC5qcycsIFsnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdF9pc3ZlcnNpb24uanMnLCBbJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5wbGF0Zm9ybScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdF90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5wcm9kdWN0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nLCAnZ29vZy51c2VyQWdlbnRUZXN0VXRpbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC91c2VyYWdlbnQuanMnLCBbJ2dvb2cudXNlckFnZW50J10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lJywgJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L3VzZXJhZ2VudF9xdWlya3NfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnRRdWlya3NUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC91c2VyYWdlbnRfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnRUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudFRlc3RVdGlsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L3VzZXJhZ2VudHRlc3R1dGlsLmpzJywgWydnb29nLnVzZXJBZ2VudFRlc3RVdGlsJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwuVXNlckFnZW50cyddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmVuZ2luZScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LmtleWJvYXJkJywgJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9mbG9hdDMyYXJyYXkuanMnLCBbJ2dvb2cudmVjLkZsb2F0MzJBcnJheSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvZmxvYXQzMmFycmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLkZsb2F0MzJBcnJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLkZsb2F0MzJBcnJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9mbG9hdDY0YXJyYXkuanMnLCBbJ2dvb2cudmVjLkZsb2F0NjRBcnJheSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvZmxvYXQ2NGFycmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLkZsb2F0NjRBcnJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLkZsb2F0NjRBcnJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQzLmpzJywgWydnb29nLnZlYy5NYXQzJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQzX3Rlc3QuanMnLCBbJ2dvb2cudmVjLk1hdDNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5NYXQzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDNkLmpzJywgWydnb29nLnZlYy5tYXQzZCcsICdnb29nLnZlYy5tYXQzZC5UeXBlJ10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMudmVjM2QuVHlwZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDNkX3Rlc3QuanMnLCBbJ2dvb2cudmVjLm1hdDNkVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMubWF0M2QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0M2YuanMnLCBbJ2dvb2cudmVjLm1hdDNmJywgJ2dvb2cudmVjLm1hdDNmLlR5cGUnXSwgWydnb29nLnZlYycsICdnb29nLnZlYy52ZWMzZi5UeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0M2ZfdGVzdC5qcycsIFsnZ29vZy52ZWMubWF0M2ZUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5tYXQzZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQ0LmpzJywgWydnb29nLnZlYy5NYXQ0J10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMuVmVjMycsICdnb29nLnZlYy5WZWM0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NF90ZXN0LmpzJywgWydnb29nLnZlYy5NYXQ0VGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuTWF0NCcsICdnb29nLnZlYy5WZWMzJywgJ2dvb2cudmVjLlZlYzQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NGQuanMnLCBbJ2dvb2cudmVjLm1hdDRkJywgJ2dvb2cudmVjLm1hdDRkLlR5cGUnXSwgWydnb29nLnZlYycsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLnZlYzNkJywgJ2dvb2cudmVjLnZlYzRkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NGRfdGVzdC5qcycsIFsnZ29vZy52ZWMubWF0NGRUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLm1hdDRkJywgJ2dvb2cudmVjLnZlYzNkJywgJ2dvb2cudmVjLnZlYzRkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDRmLmpzJywgWydnb29nLnZlYy5tYXQ0ZicsICdnb29nLnZlYy5tYXQ0Zi5UeXBlJ10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMuUXVhdGVybmlvbicsICdnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWM0ZiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDRmX3Rlc3QuanMnLCBbJ2dvb2cudmVjLm1hdDRmVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuUXVhdGVybmlvbicsICdnb29nLnZlYy5tYXQ0ZicsICdnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWM0ZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9xdWF0ZXJuaW9uLmpzJywgWydnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLlF1YXRlcm5pb24uQW55VHlwZSddLCBbJ2dvb2cudmVjJywgJ2dvb2cudmVjLlZlYzMnLCAnZ29vZy52ZWMuVmVjNCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3F1YXRlcm5pb25fdGVzdC5qcycsIFsnZ29vZy52ZWMuUXVhdGVybmlvblRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLk1hdDMnLCAnZ29vZy52ZWMuTWF0NCcsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLlZlYzMnLCAnZ29vZy52ZWMudmVjM2YnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvcmF5LmpzJywgWydnb29nLnZlYy5SYXknXSwgWydnb29nLnZlYy5WZWMzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvcmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLlJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLlJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMuanMnLCBbJ2dvb2cudmVjJywgJ2dvb2cudmVjLkFueVR5cGUnLCAnZ29vZy52ZWMuQXJyYXlUeXBlJywgJ2dvb2cudmVjLkZsb2F0MzInLCAnZ29vZy52ZWMuRmxvYXQ2NCcsICdnb29nLnZlYy5OdW1iZXInXSwgWydnb29nLnZlYy5GbG9hdDMyQXJyYXknLCAnZ29vZy52ZWMuRmxvYXQ2NEFycmF5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMi5qcycsIFsnZ29vZy52ZWMuVmVjMiddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMl90ZXN0LmpzJywgWydnb29nLnZlYy5WZWMyVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuVmVjMiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMyZC5qcycsIFsnZ29vZy52ZWMudmVjMmQnLCAnZ29vZy52ZWMudmVjMmQuVHlwZSddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMmRfdGVzdC5qcycsIFsnZ29vZy52ZWMudmVjMmRUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy52ZWMyZCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMyZi5qcycsIFsnZ29vZy52ZWMudmVjMmYnLCAnZ29vZy52ZWMudmVjMmYuVHlwZSddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMmZfdGVzdC5qcycsIFsnZ29vZy52ZWMudmVjMmZUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy52ZWMyZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzLmpzJywgWydnb29nLnZlYy5WZWMzJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzX3Rlc3QuanMnLCBbJ2dvb2cudmVjLlZlYzNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5WZWMzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzNkLmpzJywgWydnb29nLnZlYy52ZWMzZCcsICdnb29nLnZlYy52ZWMzZC5UeXBlJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzZF90ZXN0LmpzJywgWydnb29nLnZlYy52ZWMzZFRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLnZlYzNkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzNmLmpzJywgWydnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWMzZi5UeXBlJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzZl90ZXN0LmpzJywgWydnb29nLnZlYy52ZWMzZlRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLnZlYzNmJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzQuanMnLCBbJ2dvb2cudmVjLlZlYzQnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRfdGVzdC5qcycsIFsnZ29vZy52ZWMuVmVjNFRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLlZlYzQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjNGQuanMnLCBbJ2dvb2cudmVjLnZlYzRkJywgJ2dvb2cudmVjLnZlYzRkLlR5cGUnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRkX3Rlc3QuanMnLCBbJ2dvb2cudmVjLnZlYzRkVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMudmVjNGQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjNGYuanMnLCBbJ2dvb2cudmVjLnZlYzRmJywgJ2dvb2cudmVjLnZlYzRmLlR5cGUnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRmX3Rlc3QuanMnLCBbJ2dvb2cudmVjLnZlYzRmVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMudmVjNGYnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd3ZWJnbC93ZWJnbC5qcycsIFsnZ29vZy53ZWJnbCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3dpbmRvdy93aW5kb3cuanMnLCBbJ2dvb2cud2luZG93J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd3aW5kb3cvd2luZG93X3Rlc3QuanMnLCBbJ2dvb2cud2luZG93VGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmVuZ2luZScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cud2luZG93J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi9leHRlcm5hbC9jb21fZ29vZ2xlX2phdmFzY3JpcHRfY2xvc3VyZV9saWJyYXJ5L2Nsb3N1cmUvZ29vZy9iYXNlLmpzCmZ1bmN0aW9uIHdhKGIpe3ZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGQ8Yi5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YltkKytdfTp7ZG9uZTohMH19fWZ1bmN0aW9uIGdiKGIpe3JldHVybntuZXh0OndhKGIpfX1mdW5jdGlvbiBsYihiKXt2YXIgZD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGQ/ZC5jYWxsKGIpOmdiKGIpfXZhciB3Yj1mdW5jdGlvbihiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93PT09Yj9iOiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZudWxsIT1nbG9iYWw/Z2xvYmFsOmJ9KHRoaXMpLEpiPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYixkLGYpe2IhPUFycmF5LnByb3RvdHlwZSYmYiE9T2JqZWN0LnByb3RvdHlwZSYmKGJbZF09Zi52YWx1ZSl9OwpmdW5jdGlvbiBTYihiLGQpe2lmKGQpe3ZhciBmPXdiO2I9Yi5zcGxpdCgiLiIpO2Zvcih2YXIgaD0wO2g8Yi5sZW5ndGgtMTtoKyspe3ZhciBrPWJbaF07ayBpbiBmfHwoZltrXT17fSk7Zj1mW2tdfWI9YltiLmxlbmd0aC0xXTtoPWZbYl07ZD1kKGgpO2QhPWgmJm51bGwhPWQmJkpiKGYsYix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmR9KX19ClNiKCJQcm9taXNlIixmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHApe3RoaXMuc3RhdGVfPTA7dGhpcy5yZXN1bHRfPXZvaWQgMDt0aGlzLm9uU2V0dGxlZENhbGxiYWNrc189W107dmFyIG09dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpO3RyeXtwKG0ucmVzb2x2ZSxtLnJlamVjdCl9Y2F0Y2gobil7bS5yZWplY3Qobil9fWZ1bmN0aW9uIGYoKXt0aGlzLmJhdGNoXz1udWxsfWZ1bmN0aW9uIGgocCl7c3dpdGNoKHR5cGVvZiBwKXtjYXNlICJvYmplY3QiOnJldHVybiBudWxsIT1wO2Nhc2UgImZ1bmN0aW9uIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBrKHApe3JldHVybiBwIGluc3RhbmNlb2YgZD9wOm5ldyBkKGZ1bmN0aW9uKG0pe20ocCl9KX1pZihiKXJldHVybiBiO2YucHJvdG90eXBlLmFzeW5jRXhlY3V0ZT1mdW5jdGlvbihwKXtpZihudWxsPT10aGlzLmJhdGNoXyl7dGhpcy5iYXRjaF89W107dmFyIG09dGhpczt0aGlzLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uKGZ1bmN0aW9uKCl7bS5leGVjdXRlQmF0Y2hfKCl9KX10aGlzLmJhdGNoXy5wdXNoKHApfTsKdmFyIHI9d2Iuc2V0VGltZW91dDtmLnByb3RvdHlwZS5hc3luY0V4ZWN1dGVGdW5jdGlvbj1mdW5jdGlvbihwKXtyKHAsMCl9O2YucHJvdG90eXBlLmV4ZWN1dGVCYXRjaF89ZnVuY3Rpb24oKXtmb3IoO3RoaXMuYmF0Y2hfJiZ0aGlzLmJhdGNoXy5sZW5ndGg7KXt2YXIgcD10aGlzLmJhdGNoXzt0aGlzLmJhdGNoXz1bXTtmb3IodmFyIG09MDttPHAubGVuZ3RoOysrbSl7dmFyIG49cFttXTtwW21dPW51bGw7dHJ5e24oKX1jYXRjaChxKXt0aGlzLmFzeW5jVGhyb3dfKHEpfX19dGhpcy5iYXRjaF89bnVsbH07Zi5wcm90b3R5cGUuYXN5bmNUaHJvd189ZnVuY3Rpb24ocCl7dGhpcy5hc3luY0V4ZWN1dGVGdW5jdGlvbihmdW5jdGlvbigpe3Rocm93IHA7fSl9O2QucHJvdG90eXBlLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcChxKXtyZXR1cm4gZnVuY3Rpb24odSl7bnx8KG49ITAscS5jYWxsKG0sdSkpfX12YXIgbT10aGlzLG49ITE7cmV0dXJue3Jlc29sdmU6cCh0aGlzLnJlc29sdmVUb18pLApyZWplY3Q6cCh0aGlzLnJlamVjdF8pfX07ZC5wcm90b3R5cGUucmVzb2x2ZVRvXz1mdW5jdGlvbihwKXtwPT09dGhpcz90aGlzLnJlamVjdF8obmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTpwIGluc3RhbmNlb2YgZD90aGlzLnNldHRsZVNhbWVBc1Byb21pc2VfKHApOmgocCk/dGhpcy5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXyhwKTp0aGlzLmZ1bGZpbGxfKHApfTtkLnByb3RvdHlwZS5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXz1mdW5jdGlvbihwKXt2YXIgbT12b2lkIDA7dHJ5e209cC50aGVufWNhdGNoKG4pe3RoaXMucmVqZWN0XyhuKTtyZXR1cm59ImZ1bmN0aW9uIj09dHlwZW9mIG0/dGhpcy5zZXR0bGVTYW1lQXNUaGVuYWJsZV8obSxwKTp0aGlzLmZ1bGZpbGxfKHApfTtkLnByb3RvdHlwZS5yZWplY3RfPWZ1bmN0aW9uKHApe3RoaXMuc2V0dGxlXygyLHApfTtkLnByb3RvdHlwZS5mdWxmaWxsXz1mdW5jdGlvbihwKXt0aGlzLnNldHRsZV8oMSwKcCl9O2QucHJvdG90eXBlLnNldHRsZV89ZnVuY3Rpb24ocCxtKXtpZigwIT10aGlzLnN0YXRlXyl0aHJvdyBFcnJvcigiQ2Fubm90IHNldHRsZSgiK3ArIiwgIittKyIpOiBQcm9taXNlIGFscmVhZHkgc2V0dGxlZCBpbiBzdGF0ZSIrdGhpcy5zdGF0ZV8pO3RoaXMuc3RhdGVfPXA7dGhpcy5yZXN1bHRfPW07dGhpcy5leGVjdXRlT25TZXR0bGVkQ2FsbGJhY2tzXygpfTtkLnByb3RvdHlwZS5leGVjdXRlT25TZXR0bGVkQ2FsbGJhY2tzXz1mdW5jdGlvbigpe2lmKG51bGwhPXRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXyl7Zm9yKHZhciBwPTA7cDx0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ubGVuZ3RoOysrcClsLmFzeW5jRXhlY3V0ZSh0aGlzLm9uU2V0dGxlZENhbGxiYWNrc19bcF0pO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz1udWxsfX07dmFyIGw9bmV3IGY7ZC5wcm90b3R5cGUuc2V0dGxlU2FtZUFzUHJvbWlzZV89ZnVuY3Rpb24ocCl7dmFyIG09dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpOwpwLmNhbGxXaGVuU2V0dGxlZF8obS5yZXNvbHZlLG0ucmVqZWN0KX07ZC5wcm90b3R5cGUuc2V0dGxlU2FtZUFzVGhlbmFibGVfPWZ1bmN0aW9uKHAsbSl7dmFyIG49dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpO3RyeXtwLmNhbGwobSxuLnJlc29sdmUsbi5yZWplY3QpfWNhdGNoKHEpe24ucmVqZWN0KHEpfX07ZC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oQSx5KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgQT9mdW5jdGlvbih4KXt0cnl7cShBKHgpKX1jYXRjaChDKXt1KEMpfX06eX12YXIgcSx1LHc9bmV3IGQoZnVuY3Rpb24oQSx5KXtxPUE7dT15fSk7dGhpcy5jYWxsV2hlblNldHRsZWRfKG4ocCxxKSxuKG0sdSkpO3JldHVybiB3fTtkLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxwKX07ZC5wcm90b3R5cGUuY2FsbFdoZW5TZXR0bGVkXz1mdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXtzd2l0Y2gocS5zdGF0ZV8pe2Nhc2UgMTpwKHEucmVzdWx0Xyk7CmJyZWFrO2Nhc2UgMjptKHEucmVzdWx0Xyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitxLnN0YXRlXyk7fX12YXIgcT10aGlzO251bGw9PXRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz9sLmFzeW5jRXhlY3V0ZShuKTp0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ucHVzaChuKX07ZC5yZXNvbHZlPWs7ZC5yZWplY3Q9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyBkKGZ1bmN0aW9uKG0sbil7bihwKX0pfTtkLnJhY2U9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyBkKGZ1bmN0aW9uKG0sbil7Zm9yKHZhciBxPWxiKHApLHU9cS5uZXh0KCk7IXUuZG9uZTt1PXEubmV4dCgpKWsodS52YWx1ZSkuY2FsbFdoZW5TZXR0bGVkXyhtLG4pfSl9O2QuYWxsPWZ1bmN0aW9uKHApe3ZhciBtPWxiKHApLG49bS5uZXh0KCk7cmV0dXJuIG4uZG9uZT9rKFtdKTpuZXcgZChmdW5jdGlvbihxLHUpe2Z1bmN0aW9uIHcoeCl7cmV0dXJuIGZ1bmN0aW9uKEMpe0FbeF09Qzt5LS07MD09CnkmJnEoQSl9fXZhciBBPVtdLHk9MDtkbyBBLnB1c2godm9pZCAwKSx5KyssayhuLnZhbHVlKS5jYWxsV2hlblNldHRsZWRfKHcoQS5sZW5ndGgtMSksdSksbj1tLm5leHQoKTt3aGlsZSghbi5kb25lKX0pfTtyZXR1cm4gZH0pO2Z1bmN0aW9uIFViKGIpe2Z1bmN0aW9uIGQoaCl7cmV0dXJuIGIubmV4dChoKX1mdW5jdGlvbiBmKGgpe3JldHVybiBiLnRocm93KGgpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihoLGspe2Z1bmN0aW9uIHIobCl7bC5kb25lP2gobC52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGwudmFsdWUpLnRoZW4oZCxmKS50aGVuKHIsayl9cihiLm5leHQoKSl9KX1mdW5jdGlvbiBXYihiKXtyZXR1cm4gVWIoYigpKX07Ci8vIyBzb3VyY2VVUkw9YnVpbGQ6L2V4dGVybmFsL2NvbV9nb29nbGVfamF2YXNjcmlwdF9jbG9zdXJlX2xpYnJhcnkvY2xvc3VyZS9nb29nL2RlcHMuanMKLy8jIHNvdXJjZVVSTD1idWlsZDovL2FuYWx5dGljcy5odG1sLmpzCndpbmRvdy5nYT1mdW5jdGlvbigpe307CgovLyBDb3B5cmlnaHQgMjAxNCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci8vCi8vIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAovLwovLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgovLyAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiFmdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e30sZT17fSxmPW51bGw7IWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGE7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1hW2NdO3JldHVybiBifWZ1bmN0aW9uIGQoKXt0aGlzLl9kZWxheT0wLHRoaXMuX2VuZERlbGF5PTAsdGhpcy5fZmlsbD0ibm9uZSIsdGhpcy5faXRlcmF0aW9uU3RhcnQ9MCx0aGlzLl9pdGVyYXRpb25zPTEsdGhpcy5fZHVyYXRpb249MCx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9kaXJlY3Rpb249Im5vcm1hbCIsdGhpcy5fZWFzaW5nPSJsaW5lYXIiLHRoaXMuX2Vhc2luZ0Z1bmN0aW9uPXd9ZnVuY3Rpb24gZSgpe3JldHVybiBhLmlzRGVwcmVjYXRlZCgiSW52YWxpZCB0aW1pbmcgaW5wdXRzIiwiMjAxNi0wMy0wMiIsIlR5cGVFcnJvciBleGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGluc3RlYWQuIiwhMCl9ZnVuY3Rpb24gZihiLGMsZSl7dmFyIGY9bmV3IGQ7cmV0dXJuIGMmJihmLmZpbGw9ImJvdGgiLGYuZHVyYXRpb249ImF1dG8iKSwibnVtYmVyIiE9dHlwZW9mIGJ8fGlzTmFOKGIpP3ZvaWQgMCE9PWImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGIpLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoImF1dG8iIT1iW2NdKXtpZigoIm51bWJlciI9PXR5cGVvZiBmW2NdfHwiZHVyYXRpb24iPT1jKSYmKCJudW1iZXIiIT10eXBlb2YgYltjXXx8aXNOYU4oYltjXSkpKXJldHVybjtpZigiZmlsbCI9PWMmJi0xPT11LmluZGV4T2YoYltjXSkpcmV0dXJuO2lmKCJkaXJlY3Rpb24iPT1jJiYtMT09di5pbmRleE9mKGJbY10pKXJldHVybjtpZigicGxheWJhY2tSYXRlIj09YyYmMSE9PWJbY10mJmEuaXNEZXByZWNhdGVkKCJBbmltYXRpb25FZmZlY3RUaW1pbmcucGxheWJhY2tSYXRlIiwiMjAxNC0xMS0yOCIsIlVzZSBBbmltYXRpb24ucGxheWJhY2tSYXRlIGluc3RlYWQuIikpcmV0dXJuO2ZbY109YltjXX19KTpmLmR1cmF0aW9uPWIsZn1mdW5jdGlvbiBnKGEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgYSYmKGE9aXNOYU4oYSk/e2R1cmF0aW9uOjB9OntkdXJhdGlvbjphfSksYX1mdW5jdGlvbiBoKGIsYyl7cmV0dXJuIGI9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYiksZihiLGMpfWZ1bmN0aW9uIGkoYSxiLGMsZCl7cmV0dXJuIDA+YXx8YT4xfHwwPmN8fGM+MT93OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGYoYSxiLGMpe3JldHVybiAzKmEqKDEtYykqKDEtYykqYyszKmIqKDEtYykqYypjK2MqYypjfWlmKDA9PWV8fDE9PWUpcmV0dXJuIGU7Zm9yKHZhciBnPTAsaD0xOzspe3ZhciBpPShnK2gpLzIsaj1mKGEsYyxpKTtpZihNYXRoLmFicyhlLWopPDFlLTQpcmV0dXJuIGYoYixkLGkpO2U+aj9nPWk6aD1pfX19ZnVuY3Rpb24gaihhLGIpe3JldHVybiBmdW5jdGlvbihjKXtpZihjPj0xKXJldHVybiAxO3ZhciBkPTEvYTtyZXR1cm4gYys9YipkLGMtYyVkfX1mdW5jdGlvbiBrKGEpe0J8fChCPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlKSxCLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uPSIiLEIuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb249YTt2YXIgYj1CLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uO2lmKCIiPT1iJiZlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGVhc2luZyIpO3ZhciBjPUQuZXhlYyhiKTtpZihjKXJldHVybiBpLmFwcGx5KHRoaXMsYy5zbGljZSgxKS5tYXAoTnVtYmVyKSk7dmFyIGQ9RS5leGVjKGIpO2lmKGQpcmV0dXJuIGooTnVtYmVyKGRbMV0pLHtzdGFydDp4LG1pZGRsZTp5LGVuZDp6fVtkWzJdXSk7dmFyIGY9QVtiXTtyZXR1cm4gZj9mOnd9ZnVuY3Rpb24gbChhKXtyZXR1cm4gTWF0aC5hYnMobShhKS9hLnBsYXliYWNrUmF0ZSl9ZnVuY3Rpb24gbShhKXtyZXR1cm4gYS5kdXJhdGlvbiphLml0ZXJhdGlvbnN9ZnVuY3Rpb24gbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/RjpiPGMuZGVsYXk/RzpiPj1jLmRlbGF5K2E/SDpJfWZ1bmN0aW9uIG8oYSxiLGMsZCxlKXtzd2l0Y2goZCl7Y2FzZSBHOnJldHVybiJiYWNrd2FyZHMiPT1ifHwiYm90aCI9PWI/MDpudWxsO2Nhc2UgSTpyZXR1cm4gYy1lO2Nhc2UgSDpyZXR1cm4iZm9yd2FyZHMiPT1ifHwiYm90aCI9PWI/YTpudWxsO2Nhc2UgRjpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gcChhLGIsYyxkKXtyZXR1cm4oZC5wbGF5YmFja1JhdGU8MD9iLWE6YikqZC5wbGF5YmFja1JhdGUrY31mdW5jdGlvbiBxKGEsYixjLGQsZSl7cmV0dXJuIGM9PT0xLzB8fGM9PT0tKDEvMCl8fGMtZD09YiYmZS5pdGVyYXRpb25zJiYoZS5pdGVyYXRpb25zK2UuaXRlcmF0aW9uU3RhcnQpJTE9PTA/YTpjJWF9ZnVuY3Rpb24gcihhLGIsYyxkKXtyZXR1cm4gMD09PWM/MDpiPT1hP2QuaXRlcmF0aW9uU3RhcnQrZC5pdGVyYXRpb25zLTE6TWF0aC5mbG9vcihjL2EpfWZ1bmN0aW9uIHMoYSxiLGMsZCl7dmFyIGU9YSUyPj0xLGY9Im5vcm1hbCI9PWQuZGlyZWN0aW9ufHxkLmRpcmVjdGlvbj09KGU/ImFsdGVybmF0ZS1yZXZlcnNlIjoiYWx0ZXJuYXRlIiksZz1mP2M6Yi1jLGg9Zy9iO3JldHVybiBiKmQuX2Vhc2luZ0Z1bmN0aW9uKGgpfWZ1bmN0aW9uIHQoYSxiLGMpe3ZhciBkPW4oYSxiLGMpLGU9byhhLGMuZmlsbCxiLGQsYy5kZWxheSk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7aWYoMD09PWEpcmV0dXJuIGQ9PT1HPzA6MTt2YXIgZj1jLml0ZXJhdGlvblN0YXJ0KmMuZHVyYXRpb24sZz1wKGEsZSxmLGMpLGg9cShjLmR1cmF0aW9uLG0oYyksZyxmLGMpLGk9cihjLmR1cmF0aW9uLGgsZyxjKTtyZXR1cm4gcyhpLGMuZHVyYXRpb24saCxjKS9jLmR1cmF0aW9ufXZhciB1PSJiYWNrd2FyZHN8Zm9yd2FyZHN8Ym90aHxub25lIi5zcGxpdCgifCIpLHY9InJldmVyc2V8YWx0ZXJuYXRlfGFsdGVybmF0ZS1yZXZlcnNlIi5zcGxpdCgifCIpLHc9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2QucHJvdG90eXBlPXtfc2V0TWVtYmVyOmZ1bmN0aW9uKGIsYyl7dGhpc1siXyIrYl09Yyx0aGlzLl9lZmZlY3QmJih0aGlzLl9lZmZlY3QuX3RpbWluZ0lucHV0W2JdPWMsdGhpcy5fZWZmZWN0Ll90aW1pbmc9YS5ub3JtYWxpemVUaW1pbmdJbnB1dCh0aGlzLl9lZmZlY3QuX3RpbWluZ0lucHV0KSx0aGlzLl9lZmZlY3QuYWN0aXZlRHVyYXRpb249YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbih0aGlzLl9lZmZlY3QuX3RpbWluZyksdGhpcy5fZWZmZWN0Ll9hbmltYXRpb24mJnRoaXMuX2VmZmVjdC5fYW5pbWF0aW9uLl9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbigpKX0sZ2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLl9wbGF5YmFja1JhdGV9LHNldCBkZWxheShhKXt0aGlzLl9zZXRNZW1iZXIoImRlbGF5IixhKX0sZ2V0IGRlbGF5KCl7cmV0dXJuIHRoaXMuX2RlbGF5fSxzZXQgZW5kRGVsYXkoYSl7dGhpcy5fc2V0TWVtYmVyKCJlbmREZWxheSIsYSl9LGdldCBlbmREZWxheSgpe3JldHVybiB0aGlzLl9lbmREZWxheX0sc2V0IGZpbGwoYSl7dGhpcy5fc2V0TWVtYmVyKCJmaWxsIixhKX0sZ2V0IGZpbGwoKXtyZXR1cm4gdGhpcy5fZmlsbH0sc2V0IGl0ZXJhdGlvblN0YXJ0KGEpe2lmKChpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvblN0YXJ0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLCByZWNlaXZlZDogIit0aW1pbmcuaXRlcmF0aW9uU3RhcnQpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9uU3RhcnQiLGEpfSxnZXQgaXRlcmF0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5faXRlcmF0aW9uU3RhcnR9LHNldCBkdXJhdGlvbihhKXtpZigiYXV0byIhPWEmJihpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoImR1cmF0aW9uIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIGF1dG8sIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiZHVyYXRpb24iLGEpfSxnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fZHVyYXRpb259LHNldCBkaXJlY3Rpb24oYSl7dGhpcy5fc2V0TWVtYmVyKCJkaXJlY3Rpb24iLGEpfSxnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2RpcmVjdGlvbn0sc2V0IGVhc2luZyhhKXt0aGlzLl9lYXNpbmdGdW5jdGlvbj1rKGEpLHRoaXMuX3NldE1lbWJlcigiZWFzaW5nIixhKX0sZ2V0IGVhc2luZygpe3JldHVybiB0aGlzLl9lYXNpbmd9LHNldCBpdGVyYXRpb25zKGEpe2lmKChpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvbnMgbXVzdCBiZSBub24tbmVnYXRpdmUsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9ucyIsYSl9LGdldCBpdGVyYXRpb25zKCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvbnN9fTt2YXIgeD0xLHk9LjUsej0wLEE9e2Vhc2U6aSguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjppKC40MiwwLDEsMSksImVhc2Utb3V0IjppKDAsMCwuNTgsMSksImVhc2UtaW4tb3V0IjppKC40MiwwLC41OCwxKSwic3RlcC1zdGFydCI6aigxLHgpLCJzdGVwLW1pZGRsZSI6aigxLHkpLCJzdGVwLWVuZCI6aigxLHopfSxCPW51bGwsQz0iXFxzKigtP1xcZCtcXC4/XFxkKnwtP1xcLlxcZCspXFxzKiIsRD1uZXcgUmVnRXhwKCJjdWJpYy1iZXppZXJcXCgiK0MrIiwiK0MrIiwiK0MrIiwiK0MrIlxcKSIpLEU9L3N0ZXBzXChccyooXGQrKVxzKixccyooc3RhcnR8bWlkZGxlfGVuZClccypcKS8sRj0wLEc9MSxIPTIsST0zO2EuY2xvbmVUaW1pbmdJbnB1dD1jLGEubWFrZVRpbWluZz1mLGEubnVtZXJpY1RpbWluZ1RvT2JqZWN0PWcsYS5ub3JtYWxpemVUaW1pbmdJbnB1dD1oLGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb249bCxhLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbj10LGEuY2FsY3VsYXRlUGhhc2U9bixhLnRvVGltaW5nRnVuY3Rpb249a30oYyxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4gYSBpbiBqP2pbYV1bYl18fGI6Yn1mdW5jdGlvbiBkKGEsYixkKXt2YXIgZT1nW2FdO2lmKGUpe2guc3R5bGVbYV09Yjtmb3IodmFyIGYgaW4gZSl7dmFyIGk9ZVtmXSxqPWguc3R5bGVbaV07ZFtpXT1jKGksail9fWVsc2UgZFthXT1jKGEsYil9ZnVuY3Rpb24gZShhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW5bImVhc2luZyIsIm9mZnNldCIsImNvbXBvc2l0ZSJdKSl7dmFyIGQ9YVtjXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Zvcih2YXIgZSxmPWQubGVuZ3RoLGc9MDtmPmc7ZysrKWU9e30sIm9mZnNldCJpbiBhP2Uub2Zmc2V0PWEub2Zmc2V0OjE9PWY/ZS5vZmZzZXQ9MTplLm9mZnNldD1nLyhmLTEpLCJlYXNpbmciaW4gYSYmKGUuZWFzaW5nPWEuZWFzaW5nKSwiY29tcG9zaXRlImluIGEmJihlLmNvbXBvc2l0ZT1hLmNvbXBvc2l0ZSksZVtjXT1kW2ddLGIucHVzaChlKX1yZXR1cm4gYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2Zmc2V0LWIub2Zmc2V0fSksYn1mdW5jdGlvbiBmKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYT1jLmxlbmd0aDtudWxsPT1jW2EtMV0ub2Zmc2V0JiYoY1thLTFdLm9mZnNldD0xKSxhPjEmJm51bGw9PWNbMF0ub2Zmc2V0JiYoY1swXS5vZmZzZXQ9MCk7Zm9yKHZhciBiPTAsZD1jWzBdLm9mZnNldCxlPTE7YT5lO2UrKyl7dmFyIGY9Y1tlXS5vZmZzZXQ7aWYobnVsbCE9Zil7Zm9yKHZhciBnPTE7ZS1iPmc7ZysrKWNbYitnXS5vZmZzZXQ9ZCsoZi1kKSpnLyhlLWIpO2I9ZSxkPWZ9fX1pZihudWxsPT1hKXJldHVybltdO3dpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmFbU3ltYm9sLml0ZXJhdG9yXSYmKGE9QXJyYXkuZnJvbShhKSksQXJyYXkuaXNBcnJheShhKXx8KGE9ZShhKSk7Zm9yKHZhciBjPWEubWFwKGZ1bmN0aW9uKGEpe3ZhciBiPXt9O2Zvcih2YXIgYyBpbiBhKXt2YXIgZT1hW2NdO2lmKCJvZmZzZXQiPT1jKXtpZihudWxsIT1lJiYoZT1OdW1iZXIoZSksIWlzRmluaXRlKGUpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJrZXlmcmFtZSBvZmZzZXRzIG11c3QgYmUgbnVtYmVycy4iKX1lbHNle2lmKCJjb21wb3NpdGUiPT1jKXRocm93e3R5cGU6RE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSLG5hbWU6Ik5vdFN1cHBvcnRlZEVycm9yIixtZXNzYWdlOiJhZGQgY29tcG9zaXRpbmcgaXMgbm90IHN1cHBvcnRlZCJ9O2U9IiIrZX1kKGMsZSxiKX1yZXR1cm4gdm9pZCAwPT1iLm9mZnNldCYmKGIub2Zmc2V0PW51bGwpLGJ9KSxmPSEwLGc9LSgxLzApLGg9MDtoPGMubGVuZ3RoO2grKyl7dmFyIGk9Y1toXS5vZmZzZXQ7aWYobnVsbCE9aSl7aWYoZz5pKXRocm93e2NvZGU6RE9NRXhjZXB0aW9uLklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUixuYW1lOiJJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IiLG1lc3NhZ2U6IktleWZyYW1lcyBhcmUgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldC4gU29ydCBvciBzcGVjaWZ5IG9mZnNldHMuIn07Zz1pfWVsc2UgZj0hMX1yZXR1cm4gYz1jLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXQ+PTAmJmEub2Zmc2V0PD0xfSksZnx8YigpLGN9dmFyIGc9e2JhY2tncm91bmQ6WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJiYWNrZ3JvdW5kQXR0YWNobWVudCIsImJhY2tncm91bmRPcmlnaW4iLCJiYWNrZ3JvdW5kQ2xpcCIsImJhY2tncm91bmRDb2xvciJdLGJvcmRlcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyVG9wU3R5bGUiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRXaWR0aCJdLGJvcmRlckJvdHRvbTpbImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21Db2xvciJdLGJvcmRlckNvbG9yOlsiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiXSxib3JkZXJMZWZ0OlsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyUmFkaXVzOlsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sYm9yZGVyUmlnaHQ6WyJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0Q29sb3IiXSxib3JkZXJUb3A6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wQ29sb3IiXSxib3JkZXJXaWR0aDpbImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIl0sZmxleDpbImZsZXhHcm93IiwiZmxleFNocmluayIsImZsZXhCYXNpcyJdLGZvbnQ6WyJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Il0sbWFyZ2luOlsibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Il0sb3V0bGluZTpbIm91dGxpbmVDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCJdLHBhZGRpbmc6WyJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0Il19LGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2IiksaT17dGhpbjoiMXB4IixtZWRpdW06IjNweCIsdGhpY2s6IjVweCJ9LGo9e2JvcmRlckJvdHRvbVdpZHRoOmksYm9yZGVyTGVmdFdpZHRoOmksYm9yZGVyUmlnaHRXaWR0aDppLGJvcmRlclRvcFdpZHRoOmksZm9udFNpemU6eyJ4eC1zbWFsbCI6IjYwJSIsIngtc21hbGwiOiI3NSUiLHNtYWxsOiI4OSUiLG1lZGl1bToiMTAwJSIsbGFyZ2U6IjEyMCUiLCJ4LWxhcmdlIjoiMTUwJSIsInh4LWxhcmdlIjoiMjAwJSJ9LGZvbnRXZWlnaHQ6e25vcm1hbDoiNDAwIixib2xkOiI3MDAifSxvdXRsaW5lV2lkdGg6aSx0ZXh0U2hhZG93Ontub25lOiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9LGJveFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50In19O2EuY29udmVydFRvQXJyYXlGb3JtPWUsYS5ub3JtYWxpemVLZXlmcmFtZXM9Zn0oYyxmKSxmdW5jdGlvbihhKXt2YXIgYj17fTthLmlzRGVwcmVjYXRlZD1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZj1lPyJhcmUiOiJpcyIsZz1uZXcgRGF0ZSxoPW5ldyBEYXRlKGMpO3JldHVybiBoLnNldE1vbnRoKGguZ2V0TW9udGgoKSszKSxoPmc/KGEgaW4gYnx8Y29uc29sZS53YXJuKCJXZWIgQW5pbWF0aW9uczogIithKyIgIitmKyIgZGVwcmVjYXRlZCBhbmQgd2lsbCBzdG9wIHdvcmtpbmcgb24gIitoLnRvRGF0ZVN0cmluZygpKyIuICIrZCksYlthXT0hMCwhMSk6ITB9LGEuZGVwcmVjYXRlZD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1lPyJhcmUiOiJpcyI7aWYoYS5pc0RlcHJlY2F0ZWQoYixjLGQsZSkpdGhyb3cgbmV3IEVycm9yKGIrIiAiK2YrIiBubyBsb25nZXIgc3VwcG9ydGVkLiAiK2QpfX0oYyksZnVuY3Rpb24oKXtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYW5pbWF0ZSl7dmFyIGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUoW10sMCksYj0hMDtpZihhJiYoYj0hMSwicGxheXxjdXJyZW50VGltZXxwYXVzZXxyZXZlcnNlfHBsYXliYWNrUmF0ZXxjYW5jZWx8ZmluaXNofHN0YXJ0VGltZXxwbGF5U3RhdGUiLnNwbGl0KCJ8IikuZm9yRWFjaChmdW5jdGlvbihjKXt2b2lkIDA9PT1hW2NdJiYoYj0hMCl9KSksIWIpcmV0dXJufSFmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7YysrKWZvcih2YXIgZCBpbiBhW2NdKWlmKCJvZmZzZXQiIT1kJiYiZWFzaW5nIiE9ZCYmImNvbXBvc2l0ZSIhPWQpe3ZhciBlPXtvZmZzZXQ6YVtjXS5vZmZzZXQsZWFzaW5nOmFbY10uZWFzaW5nLHZhbHVlOmFbY11bZF19O2JbZF09YltkXXx8W10sYltkXS5wdXNoKGUpfWZvcih2YXIgZiBpbiBiKXt2YXIgZz1iW2ZdO2lmKDAhPWdbMF0ub2Zmc2V0fHwxIT1nW2cubGVuZ3RoLTFdLm9mZnNldCl0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiUGFydGlhbCBrZXlmcmFtZXMgYXJlIG5vdCBzdXBwb3J0ZWQifX1yZXR1cm4gYn1mdW5jdGlvbiBlKGMpe3ZhciBkPVtdO2Zvcih2YXIgZSBpbiBjKWZvcih2YXIgZj1jW2VdLGc9MDtnPGYubGVuZ3RoLTE7ZysrKXt2YXIgaD1mW2ddLm9mZnNldCxpPWZbZysxXS5vZmZzZXQsaj1mW2ddLnZhbHVlLGs9ZltnKzFdLnZhbHVlLGw9ZltnXS5lYXNpbmc7aD09aSYmKDE9PWk/aj1rOms9aiksZC5wdXNoKHtzdGFydFRpbWU6aCxlbmRUaW1lOmksZWFzaW5nOmEudG9UaW1pbmdGdW5jdGlvbihsP2w6ImxpbmVhciIpLHByb3BlcnR5OmUsaW50ZXJwb2xhdGlvbjpiLnByb3BlcnR5SW50ZXJwb2xhdGlvbihlLGosayl9KX1yZXR1cm4gZC5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnRUaW1lLWIuc3RhcnRUaW1lfSksZH1iLmNvbnZlcnRFZmZlY3RJbnB1dD1mdW5jdGlvbihjKXt2YXIgZj1hLm5vcm1hbGl6ZUtleWZyYW1lcyhjKSxnPWQoZiksaD1lKGcpO3JldHVybiBmdW5jdGlvbihhLGMpe2lmKG51bGwhPWMpaC5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIDA+PWMmJjA9PWEuc3RhcnRUaW1lfHxjPj0xJiYxPT1hLmVuZFRpbWV8fGM+PWEuc3RhcnRUaW1lJiZjPD1hLmVuZFRpbWV9KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWMtZC5zdGFydFRpbWUsZj1kLmVuZFRpbWUtZC5zdGFydFRpbWUsZz0wPT1mPzA6ZC5lYXNpbmcoZS9mKTtiLmFwcGx5KGEsZC5wcm9wZXJ0eSxkLmludGVycG9sYXRpb24oZykpfSk7ZWxzZSBmb3IodmFyIGQgaW4gZykib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kJiZiLmNsZWFyKGEsZCl9fX0oYyxkLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9KX1mdW5jdGlvbiBlKGEsYixjKXtoW2NdPWhbY118fFtdLGhbY10ucHVzaChbYSxiXSl9ZnVuY3Rpb24gZihhLGIsYyl7Zm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspe3ZhciBnPWNbZl07ZShhLGIsZChnKSl9fWZ1bmN0aW9uIGcoYyxlLGYpe3ZhciBnPWM7Ly0vLnRlc3QoYykmJiFhLmlzRGVwcmVjYXRlZCgiSHlwaGVuYXRlZCBwcm9wZXJ0eSBuYW1lcyIsIjIwMTYtMDMtMjIiLCJVc2UgY2FtZWxDYXNlIGluc3RlYWQuIiwhMCkmJihnPWQoYykpLCJpbml0aWFsIiE9ZSYmImluaXRpYWwiIT1mfHwoImluaXRpYWwiPT1lJiYoZT1pW2ddKSwiaW5pdGlhbCI9PWYmJihmPWlbZ10pKTtmb3IodmFyIGo9ZT09Zj9bXTpoW2ddLGs9MDtqJiZrPGoubGVuZ3RoO2srKyl7dmFyIGw9altrXVswXShlKSxtPWpba11bMF0oZik7aWYodm9pZCAwIT09bCYmdm9pZCAwIT09bSl7dmFyIG49altrXVsxXShsLG0pO2lmKG4pe3ZhciBvPWIuSW50ZXJwb2xhdGlvbi5hcHBseShudWxsLG4pO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gMD09YT9lOjE9PWE/ZjpvKGEpfX19fXJldHVybiBiLkludGVycG9sYXRpb24oITEsITAsZnVuY3Rpb24oYSl7cmV0dXJuIGE/ZjplfSl9dmFyIGg9e307Yi5hZGRQcm9wZXJ0aWVzSGFuZGxlcj1mO3ZhciBpPXtiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixiYWNrZ3JvdW5kUG9zaXRpb246IjAlIDAlIixib3JkZXJCb3R0b21Db2xvcjoiY3VycmVudENvbG9yIixib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiIwcHgiLGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiIwcHgiLGJvcmRlckJvdHRvbVdpZHRoOiIzcHgiLGJvcmRlckxlZnRDb2xvcjoiY3VycmVudENvbG9yIixib3JkZXJMZWZ0V2lkdGg6IjNweCIsYm9yZGVyUmlnaHRDb2xvcjoiY3VycmVudENvbG9yIixib3JkZXJSaWdodFdpZHRoOiIzcHgiLGJvcmRlclNwYWNpbmc6IjJweCIsYm9yZGVyVG9wQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyVG9wTGVmdFJhZGl1czoiMHB4Iixib3JkZXJUb3BSaWdodFJhZGl1czoiMHB4Iixib3JkZXJUb3BXaWR0aDoiM3B4Iixib3R0b206ImF1dG8iLGNsaXA6InJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KSIsY29sb3I6ImJsYWNrIixmb250U2l6ZToiMTAwJSIsZm9udFdlaWdodDoiNDAwIixoZWlnaHQ6ImF1dG8iLGxlZnQ6ImF1dG8iLGxldHRlclNwYWNpbmc6Im5vcm1hbCIsbGluZUhlaWdodDoiMTIwJSIsbWFyZ2luQm90dG9tOiIwcHgiLG1hcmdpbkxlZnQ6IjBweCIsbWFyZ2luUmlnaHQ6IjBweCIsbWFyZ2luVG9wOiIwcHgiLG1heEhlaWdodDoibm9uZSIsbWF4V2lkdGg6Im5vbmUiLG1pbkhlaWdodDoiMHB4IixtaW5XaWR0aDoiMHB4IixvcGFjaXR5OiIxLjAiLG91dGxpbmVDb2xvcjoiaW52ZXJ0IixvdXRsaW5lT2Zmc2V0OiIwcHgiLG91dGxpbmVXaWR0aDoiM3B4IixwYWRkaW5nQm90dG9tOiIwcHgiLHBhZGRpbmdMZWZ0OiIwcHgiLHBhZGRpbmdSaWdodDoiMHB4IixwYWRkaW5nVG9wOiIwcHgiLHJpZ2h0OiJhdXRvIix0ZXh0SW5kZW50OiIwcHgiLHRleHRTaGFkb3c6IjBweCAwcHggMHB4IHRyYW5zcGFyZW50Iix0b3A6ImF1dG8iLHRyYW5zZm9ybToiIix2ZXJ0aWNhbEFsaWduOiIwcHgiLHZpc2liaWxpdHk6InZpc2libGUiLHdpZHRoOiJhdXRvIix3b3JkU3BhY2luZzoibm9ybWFsIix6SW5kZXg6ImF1dG8ifTtiLnByb3BlcnR5SW50ZXJwb2xhdGlvbj1nfShjLGQsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dmFyIGM9YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihiKSxkPWZ1bmN0aW9uKGQpe3JldHVybiBhLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihjLGQsYil9O3JldHVybiBkLl90b3RhbER1cmF0aW9uPWIuZGVsYXkrYytiLmVuZERlbGF5LGQuX2lzQ3VycmVudD1mdW5jdGlvbihkKXt2YXIgZT1hLmNhbGN1bGF0ZVBoYXNlKGMsZCxiKTtyZXR1cm4gZT09PVBoYXNlQWN0aXZlfHxlPT09UGhhc2VCZWZvcmV9LGR9Yi5LZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihjLGUsZixnKXt2YXIgaCxpPWQoYS5ub3JtYWxpemVUaW1pbmdJbnB1dChmKSksaj1iLmNvbnZlcnRFZmZlY3RJbnB1dChlKSxrPWZ1bmN0aW9uKCl7aihjLGgpfTtyZXR1cm4gay5fdXBkYXRlPWZ1bmN0aW9uKGEpe3JldHVybiBoPWkoYSksbnVsbCE9PWh9LGsuX2NsZWFyPWZ1bmN0aW9uKCl7aihjLG51bGwpfSxrLl9oYXNTYW1lVGFyZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBjPT09YX0say5faXNDdXJyZW50PWkuX2lzQ3VycmVudCxrLl90b3RhbER1cmF0aW9uPWkuX3RvdGFsRHVyYXRpb24say5faWQ9ZyxrfSxiLk51bGxFZmZlY3Q9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXthJiYoYSgpLGE9bnVsbCl9O3JldHVybiBiLl91cGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sYi5fdG90YWxEdXJhdGlvbj0wLGIuX2lzQ3VycmVudD1mdW5jdGlvbigpe3JldHVybiExfSxiLl9oYXNTYW1lVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGJ9fShjLGQsZiksZnVuY3Rpb24oYSxiKXthLmFwcGx5PWZ1bmN0aW9uKGIsYyxkKXtiLnN0eWxlW2EucHJvcGVydHlOYW1lKGMpXT1kfSxhLmNsZWFyPWZ1bmN0aW9uKGIsYyl7Yi5zdHlsZVthLnByb3BlcnR5TmFtZShjKV09IiJ9fShkLGYpLGZ1bmN0aW9uKGEpe3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGEudGltZWxpbmUuX3BsYXkoYS5LZXlmcmFtZUVmZmVjdCh0aGlzLGIsYyxkKSl9fShkKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJudW1iZXIiPT10eXBlb2YgYSYmIm51bWJlciI9PXR5cGVvZiBiKXJldHVybiBhKigxLWQpK2IqZDtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiYiYm9vbGVhbiI9PXR5cGVvZiBiKXJldHVybi41PmQ/YTpiO2lmKGEubGVuZ3RoPT1iLmxlbmd0aCl7Zm9yKHZhciBlPVtdLGY9MDtmPGEubGVuZ3RoO2YrKyllLnB1c2goYyhhW2ZdLGJbZl0sZCkpO3JldHVybiBlfXRocm93Ik1pc21hdGNoZWQgaW50ZXJwb2xhdGlvbiBhcmd1bWVudHMgIithKyI6IitifWEuSW50ZXJwb2xhdGlvbj1mdW5jdGlvbihhLGIsZCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBkKGMoYSxiLGUpKX19fShkLGYpLGZ1bmN0aW9uKGEsYixjKXthLnNlcXVlbmNlTnVtYmVyPTA7dmFyIGQ9ZnVuY3Rpb24oYSxiLGMpe3RoaXMudGFyZ2V0PWEsdGhpcy5jdXJyZW50VGltZT1iLHRoaXMudGltZWxpbmVUaW1lPWMsdGhpcy50eXBlPSJmaW5pc2giLHRoaXMuYnViYmxlcz0hMSx0aGlzLmNhbmNlbGFibGU9ITEsdGhpcy5jdXJyZW50VGFyZ2V0PWEsdGhpcy5kZWZhdWx0UHJldmVudGVkPSExLHRoaXMuZXZlbnRQaGFzZT1FdmVudC5BVF9UQVJHRVQsdGhpcy50aW1lU3RhbXA9RGF0ZS5ub3coKX07Yi5BbmltYXRpb249ZnVuY3Rpb24oYil7dGhpcy5pZD0iIixiJiZiLl9pZCYmKHRoaXMuaWQ9Yi5faWQpLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9jdXJyZW50VGltZT0wLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9pblRpbWVsaW5lPSEwLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMCx0aGlzLm9uZmluaXNoPW51bGwsdGhpcy5fZmluaXNoSGFuZGxlcnM9W10sdGhpcy5fZWZmZWN0PWIsdGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUoMCksdGhpcy5faWRsZT0hMCx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITF9LGIuQW5pbWF0aW9uLnByb3RvdHlwZT17X2Vuc3VyZUFsaXZlOmZ1bmN0aW9uKCl7dGhpcy5wbGF5YmFja1JhdGU8MCYmMD09PXRoaXMuY3VycmVudFRpbWU/dGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUoLTEpOnRoaXMuX2luRWZmZWN0PXRoaXMuX2VmZmVjdC5fdXBkYXRlKHRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2luVGltZWxpbmV8fCF0aGlzLl9pbkVmZmVjdCYmdGhpcy5fZmluaXNoZWRGbGFnfHwodGhpcy5faW5UaW1lbGluZT0hMCxiLnRpbWVsaW5lLl9hbmltYXRpb25zLnB1c2godGhpcykpfSxfdGlja0N1cnJlbnRUaW1lOmZ1bmN0aW9uKGEsYil7YSE9dGhpcy5fY3VycmVudFRpbWUmJih0aGlzLl9jdXJyZW50VGltZT1hLHRoaXMuX2lzRmluaXNoZWQmJiFiJiYodGhpcy5fY3VycmVudFRpbWU9dGhpcy5fcGxheWJhY2tSYXRlPjA/dGhpcy5fdG90YWxEdXJhdGlvbjowKSx0aGlzLl9lbnN1cmVBbGl2ZSgpKX0sZ2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuX2lkbGV8fHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz9udWxsOnRoaXMuX2N1cnJlbnRUaW1lfSxzZXQgY3VycmVudFRpbWUoYSl7YT0rYSxpc05hTihhKXx8KGIucmVzdGFydCgpLHRoaXMuX3BhdXNlZHx8bnVsbD09dGhpcy5fc3RhcnRUaW1lfHwodGhpcy5fc3RhcnRUaW1lPXRoaXMuX3RpbWVsaW5lLmN1cnJlbnRUaW1lLWEvdGhpcy5fcGxheWJhY2tSYXRlKSx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsdGhpcy5fY3VycmVudFRpbWUhPWEmJih0aGlzLl90aWNrQ3VycmVudFRpbWUoYSwhMCksYi5pbnZhbGlkYXRlRWZmZWN0cygpKSl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX3N0YXJ0VGltZT1hLHRoaXMuX3RpY2tDdXJyZW50VGltZSgodGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSksYi5pbnZhbGlkYXRlRWZmZWN0cygpKX0sZ2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLl9wbGF5YmFja1JhdGV9LHNldCBwbGF5YmFja1JhdGUoYSl7aWYoYSE9dGhpcy5fcGxheWJhY2tSYXRlKXt2YXIgYj10aGlzLmN1cnJlbnRUaW1lO3RoaXMuX3BsYXliYWNrUmF0ZT1hLHRoaXMuX3N0YXJ0VGltZT1udWxsLCJwYXVzZWQiIT10aGlzLnBsYXlTdGF0ZSYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5wbGF5KCksbnVsbCE9YiYmKHRoaXMuY3VycmVudFRpbWU9Yil9fSxnZXQgX2lzRmluaXNoZWQoKXtyZXR1cm4hdGhpcy5faWRsZSYmKHRoaXMuX3BsYXliYWNrUmF0ZT4wJiZ0aGlzLl9jdXJyZW50VGltZT49dGhpcy5fdG90YWxEdXJhdGlvbnx8dGhpcy5fcGxheWJhY2tSYXRlPDAmJnRoaXMuX2N1cnJlbnRUaW1lPD0wKX0sZ2V0IF90b3RhbER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdC5fdG90YWxEdXJhdGlvbn0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9pZGxlPyJpZGxlIjpudWxsPT10aGlzLl9zdGFydFRpbWUmJiF0aGlzLl9wYXVzZWQmJjAhPXRoaXMucGxheWJhY2tSYXRlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/InBlbmRpbmciOnRoaXMuX3BhdXNlZD8icGF1c2VkIjp0aGlzLl9pc0ZpbmlzaGVkPyJmaW5pc2hlZCI6InJ1bm5pbmcifSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSExLCh0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl9pZGxlKSYmKHRoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3BsYXliYWNrUmF0ZT4wPzA6dGhpcy5fdG90YWxEdXJhdGlvbix0aGlzLl9zdGFydFRpbWU9bnVsbCksdGhpcy5fZmluaXNoZWRGbGFnPSExLHRoaXMuX2lkbGU9ITEsdGhpcy5fZW5zdXJlQWxpdmUoKSxiLmludmFsaWRhdGVFZmZlY3RzKCl9LHBhdXNlOmZ1bmN0aW9uKCl7dGhpcy5faXNGaW5pc2hlZHx8dGhpcy5fcGF1c2VkfHx0aGlzLl9pZGxlfHwodGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSEwKSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9wYXVzZWQ9ITB9LGZpbmlzaDpmdW5jdGlvbigpe3RoaXMuX2lkbGV8fCh0aGlzLmN1cnJlbnRUaW1lPXRoaXMuX3BsYXliYWNrUmF0ZT4wP3RoaXMuX3RvdGFsRHVyYXRpb246MCx0aGlzLl9zdGFydFRpbWU9dGhpcy5fdG90YWxEdXJhdGlvbi10aGlzLmN1cnJlbnRUaW1lLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSxiLmludmFsaWRhdGVFZmZlY3RzKCkpfSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLl9pbkVmZmVjdCYmKHRoaXMuX2luRWZmZWN0PSExLHRoaXMuX2lkbGU9ITAsdGhpcy5fZmluaXNoZWRGbGFnPSEwLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9lZmZlY3QuX3VwZGF0ZShudWxsKSxiLmludmFsaWRhdGVFZmZlY3RzKCkpfSxyZXZlcnNlOmZ1bmN0aW9uKCl7dGhpcy5wbGF5YmFja1JhdGUqPS0xLHRoaXMucGxheSgpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIGImJiJmaW5pc2giPT1hJiZ0aGlzLl9maW5pc2hIYW5kbGVycy5wdXNoKGIpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7aWYoImZpbmlzaCI9PWEpe3ZhciBjPXRoaXMuX2ZpbmlzaEhhbmRsZXJzLmluZGV4T2YoYik7Yz49MCYmdGhpcy5fZmluaXNoSGFuZGxlcnMuc3BsaWNlKGMsMSl9fSxfZmlyZUV2ZW50czpmdW5jdGlvbihhKXtpZih0aGlzLl9pc0ZpbmlzaGVkKXtpZighdGhpcy5fZmluaXNoZWRGbGFnKXt2YXIgYj1uZXcgZCh0aGlzLHRoaXMuX2N1cnJlbnRUaW1lLGEpLGM9dGhpcy5fZmluaXNoSGFuZGxlcnMuY29uY2F0KHRoaXMub25maW5pc2g/W3RoaXMub25maW5pc2hdOltdKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuY2FsbChiLnRhcmdldCxiKX0pfSwwKSx0aGlzLl9maW5pc2hlZEZsYWc9ITB9fWVsc2UgdGhpcy5fZmluaXNoZWRGbGFnPSExfSxfdGljazpmdW5jdGlvbihhLGIpe3RoaXMuX2lkbGV8fHRoaXMuX3BhdXNlZHx8KG51bGw9PXRoaXMuX3N0YXJ0VGltZT9iJiYodGhpcy5zdGFydFRpbWU9YS10aGlzLl9jdXJyZW50VGltZS90aGlzLnBsYXliYWNrUmF0ZSk6dGhpcy5faXNGaW5pc2hlZHx8dGhpcy5fdGlja0N1cnJlbnRUaW1lKChhLXRoaXMuX3N0YXJ0VGltZSkqdGhpcy5wbGF5YmFja1JhdGUpKSxiJiYodGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLHRoaXMuX2ZpcmVFdmVudHMoYSkpfSxnZXQgX25lZWRzVGljaygpe3JldHVybiB0aGlzLnBsYXlTdGF0ZSBpbntwZW5kaW5nOjEscnVubmluZzoxfXx8IXRoaXMuX2ZpbmlzaGVkRmxhZ319fShjLGQsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGI9ajtqPVtdLGE8cC5jdXJyZW50VGltZSYmKGE9cC5jdXJyZW50VGltZSksaChhLCEwKSxiLmZvckVhY2goZnVuY3Rpb24oYil7YlsxXShhKX0pLGcoKSxsPXZvaWQgMH1mdW5jdGlvbiBlKGEsYil7cmV0dXJuIGEuX3NlcXVlbmNlTnVtYmVyLWIuX3NlcXVlbmNlTnVtYmVyfWZ1bmN0aW9uIGYoKXt0aGlzLl9hbmltYXRpb25zPVtdLHRoaXMuY3VycmVudFRpbWU9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6MH1mdW5jdGlvbiBnKCl7by5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EoKX0pLG8ubGVuZ3RoPTB9ZnVuY3Rpb24gaChhLGMpe249ITE7dmFyIGQ9Yi50aW1lbGluZTtkLmN1cnJlbnRUaW1lPWEsZC5fYW5pbWF0aW9ucy5zb3J0KGUpLG09ITE7dmFyIGY9ZC5fYW5pbWF0aW9ucztkLl9hbmltYXRpb25zPVtdO3ZhciBnPVtdLGg9W107Zj1mLmZpbHRlcihmdW5jdGlvbihiKXtiLl90aWNrKGEsYyksYi5faW5FZmZlY3Q/aC5wdXNoKGIuX2VmZmVjdCk6Zy5wdXNoKGIuX2VmZmVjdCksYi5fbmVlZHNUaWNrJiYobT0hMCk7dmFyIGQ9Yi5faW5FZmZlY3R8fGIuX25lZWRzVGljaztyZXR1cm4gYi5faW5UaW1lbGluZT1kLGR9KSxvLnB1c2guYXBwbHkobyxnKSxvLnB1c2guYXBwbHkobyxoKSxkLl9hbmltYXRpb25zLnB1c2guYXBwbHkoZC5fYW5pbWF0aW9ucyxmKSxtJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt9KX12YXIgaT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLGo9W10saz0wO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7dmFyIGI9aysrO3JldHVybiAwPT1qLmxlbmd0aCYmaShkKSxqLnB1c2goW2IsYV0pLGJ9LHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZT1mdW5jdGlvbihhKXtqLmZvckVhY2goZnVuY3Rpb24oYil7YlswXT09YSYmKGJbMV09ZnVuY3Rpb24oKXt9KX0pfSxmLnByb3RvdHlwZT17X3BsYXk6ZnVuY3Rpb24oYyl7Yy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy50aW1pbmcpO3ZhciBkPW5ldyBiLkFuaW1hdGlvbihjKTtyZXR1cm4gZC5faWRsZT0hMSxkLl90aW1lbGluZT10aGlzLHRoaXMuX2FuaW1hdGlvbnMucHVzaChkKSxiLnJlc3RhcnQoKSxiLmludmFsaWRhdGVFZmZlY3RzKCksZH19O3ZhciBsPXZvaWQgMCxtPSExLG49ITE7Yi5yZXN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG18fChtPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLG49ITApLG59LGIuaW52YWxpZGF0ZUVmZmVjdHM9ZnVuY3Rpb24oKXtoKGIudGltZWxpbmUuY3VycmVudFRpbWUsITEpLGcoKX07dmFyIG89W10scD1uZXcgZjtiLnRpbWVsaW5lPXB9KGMsZCxmKSxmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEsYil7dmFyIGM9YS5leGVjKGIpO3JldHVybiBjPyhjPWEuaWdub3JlQ2FzZT9jWzBdLnRvTG93ZXJDYXNlKCk6Y1swXSxbYyxiLnN1YnN0cihjLmxlbmd0aCldKTp2b2lkIDB9ZnVuY3Rpb24gYyhhLGIpe2I9Yi5yZXBsYWNlKC9eXHMqLywiIik7dmFyIGM9YShiKTtyZXR1cm4gYz9bY1swXSxjWzFdLnJlcGxhY2UoL15ccyovLCIiKV06dm9pZCAwfWZ1bmN0aW9uIGQoYSxkLGUpe2E9Yy5iaW5kKG51bGwsYSk7Zm9yKHZhciBmPVtdOzspe3ZhciBnPWEoZSk7aWYoIWcpcmV0dXJuW2YsZV07aWYoZi5wdXNoKGdbMF0pLGU9Z1sxXSxnPWIoZCxlKSwhZ3x8IiI9PWdbMV0pcmV0dXJuW2YsZV07ZT1nWzFdfX1mdW5jdGlvbiBlKGEsYil7Zm9yKHZhciBjPTAsZD0wO2Q8Yi5sZW5ndGgmJighL1xzfCwvLnRlc3QoYltkXSl8fDAhPWMpO2QrKylpZigiKCI9PWJbZF0pYysrO2Vsc2UgaWYoIikiPT1iW2RdJiYoYy0tLDA9PWMmJmQrKywwPj1jKSlicmVhazt2YXIgZT1hKGIuc3Vic3RyKDAsZCkpO3JldHVybiB2b2lkIDA9PWU/dm9pZCAwOltlLGIuc3Vic3RyKGQpXX1mdW5jdGlvbiBmKGEsYil7Zm9yKHZhciBjPWEsZD1iO2MmJmQ7KWM+ZD9jJT1kOmQlPWM7cmV0dXJuIGM9YSpiLyhjK2QpfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWEoYik7cmV0dXJuIGMmJihjWzBdPXZvaWQgMCksY319ZnVuY3Rpb24gaChhLGIpe3JldHVybiBmdW5jdGlvbihjKXt2YXIgZD1hKGMpO3JldHVybiBkP2Q6W2IsY119fWZ1bmN0aW9uIGkoYixjKXtmb3IodmFyIGQ9W10sZT0wO2U8Yi5sZW5ndGg7ZSsrKXt2YXIgZj1hLmNvbnN1bWVUcmltbWVkKGJbZV0sYyk7aWYoIWZ8fCIiPT1mWzBdKXJldHVybjt2b2lkIDAhPT1mWzBdJiZkLnB1c2goZlswXSksYz1mWzFdfXJldHVybiIiPT1jP2Q6dm9pZCAwfWZ1bmN0aW9uIGooYSxiLGMsZCxlKXtmb3IodmFyIGc9W10saD1bXSxpPVtdLGo9ZihkLmxlbmd0aCxlLmxlbmd0aCksaz0wO2o+aztrKyspe3ZhciBsPWIoZFtrJWQubGVuZ3RoXSxlW2slZS5sZW5ndGhdKTtpZighbClyZXR1cm47Zy5wdXNoKGxbMF0pLGgucHVzaChsWzFdKSxpLnB1c2gobFsyXSl9cmV0dXJuW2csaCxmdW5jdGlvbihiKXt2YXIgZD1iLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBpW2JdKGEpfSkuam9pbihjKTtyZXR1cm4gYT9hKGQpOmR9XX1mdW5jdGlvbiBrKGEsYixjKXtmb3IodmFyIGQ9W10sZT1bXSxmPVtdLGc9MCxoPTA7aDxjLmxlbmd0aDtoKyspaWYoImZ1bmN0aW9uIj09dHlwZW9mIGNbaF0pe3ZhciBpPWNbaF0oYVtnXSxiW2crK10pO2QucHVzaChpWzBdKSxlLnB1c2goaVsxXSksZi5wdXNoKGlbMl0pfWVsc2UhZnVuY3Rpb24oYSl7ZC5wdXNoKCExKSxlLnB1c2goITEpLGYucHVzaChmdW5jdGlvbigpe3JldHVybiBjW2FdfSl9KGgpO3JldHVybltkLGUsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9MDtjPGEubGVuZ3RoO2MrKyliKz1mW2NdKGFbY10pO3JldHVybiBifV19YS5jb25zdW1lVG9rZW49YixhLmNvbnN1bWVUcmltbWVkPWMsYS5jb25zdW1lUmVwZWF0ZWQ9ZCxhLmNvbnN1bWVQYXJlbnRoZXNpc2VkPWUsYS5pZ25vcmU9ZyxhLm9wdGlvbmFsPWgsYS5jb25zdW1lTGlzdD1pLGEubWVyZ2VOZXN0ZWRSZXBlYXRlZD1qLmJpbmQobnVsbCxudWxsKSxhLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkPWosYS5tZXJnZUxpc3Q9a30oZCksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBjKGIpe3ZhciBjPWEuY29uc3VtZVRva2VuKC9eaW5zZXQvaSxiKTtpZihjKXJldHVybiBkLmluc2V0PSEwLGM7dmFyIGM9YS5jb25zdW1lTGVuZ3RoT3JQZXJjZW50KGIpO2lmKGMpcmV0dXJuIGQubGVuZ3Rocy5wdXNoKGNbMF0pLGM7dmFyIGM9YS5jb25zdW1lQ29sb3IoYik7cmV0dXJuIGM/KGQuY29sb3I9Y1swXSxjKTp2b2lkIDB9dmFyIGQ9e2luc2V0OiExLGxlbmd0aHM6W10sY29sb3I6bnVsbH0sZT1hLmNvbnN1bWVSZXBlYXRlZChjLC9eLyxiKTtyZXR1cm4gZSYmZVswXS5sZW5ndGg/W2QsZVsxXV06dm9pZCAwfWZ1bmN0aW9uIGMoYyl7dmFyIGQ9YS5jb25zdW1lUmVwZWF0ZWQoYiwvXiwvLGMpO3JldHVybiBkJiYiIj09ZFsxXT9kWzBdOnZvaWQgMH1mdW5jdGlvbiBkKGIsYyl7Zm9yKDtiLmxlbmd0aHMubGVuZ3RoPE1hdGgubWF4KGIubGVuZ3Rocy5sZW5ndGgsYy5sZW5ndGhzLmxlbmd0aCk7KWIubGVuZ3Rocy5wdXNoKHtweDowfSk7Zm9yKDtjLmxlbmd0aHMubGVuZ3RoPE1hdGgubWF4KGIubGVuZ3Rocy5sZW5ndGgsYy5sZW5ndGhzLmxlbmd0aCk7KWMubGVuZ3Rocy5wdXNoKHtweDowfSk7aWYoYi5pbnNldD09Yy5pbnNldCYmISFiLmNvbG9yPT0hIWMuY29sb3Ipe2Zvcih2YXIgZCxlPVtdLGY9W1tdLDBdLGc9W1tdLDBdLGg9MDtoPGIubGVuZ3Rocy5sZW5ndGg7aCsrKXt2YXIgaT1hLm1lcmdlRGltZW5zaW9ucyhiLmxlbmd0aHNbaF0sYy5sZW5ndGhzW2hdLDI9PWgpO2ZbMF0ucHVzaChpWzBdKSxnWzBdLnB1c2goaVsxXSksZS5wdXNoKGlbMl0pfWlmKGIuY29sb3ImJmMuY29sb3Ipe3ZhciBqPWEubWVyZ2VDb2xvcnMoYi5jb2xvcixjLmNvbG9yKTtmWzFdPWpbMF0sZ1sxXT1qWzFdLGQ9alsyXX1yZXR1cm5bZixnLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1iLmluc2V0PyJpbnNldCAiOiIgIixmPTA7ZjxlLmxlbmd0aDtmKyspYys9ZVtmXShhWzBdW2ZdKSsiICI7cmV0dXJuIGQmJihjKz1kKGFbMV0pKSxjfV19fWZ1bmN0aW9uIGUoYixjLGQsZSl7ZnVuY3Rpb24gZihhKXtyZXR1cm57aW5zZXQ6YSxjb2xvcjpbMCwwLDAsMF0sbGVuZ3Roczpbe3B4OjB9LHtweDowfSx7cHg6MH0se3B4OjB9XX19Zm9yKHZhciBnPVtdLGg9W10saT0wO2k8ZC5sZW5ndGh8fGk8ZS5sZW5ndGg7aSsrKXt2YXIgaj1kW2ldfHxmKGVbaV0uaW5zZXQpLGs9ZVtpXXx8ZihkW2ldLmluc2V0KTtnLnB1c2goaiksaC5wdXNoKGspfXJldHVybiBhLm1lcmdlTmVzdGVkUmVwZWF0ZWQoYixjLGcsaCl9dmFyIGY9ZS5iaW5kKG51bGwsZCwiLCAiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZixbImJveC1zaGFkb3ciLCJ0ZXh0LXNoYWRvdyJdKX0oZCksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBhLnRvRml4ZWQoMykucmVwbGFjZSgiLjAwMCIsIiIpfWZ1bmN0aW9uIGQoYSxiLGMpe3JldHVybiBNYXRoLm1pbihiLE1hdGgubWF4KGEsYykpfWZ1bmN0aW9uIGUoYSl7cmV0dXJuL15ccypbLStdPyhcZCpcLik/XGQrXHMqJC8udGVzdChhKT9OdW1iZXIoYSk6dm9pZCAwfWZ1bmN0aW9uIGYoYSxiKXtyZXR1cm5bYSxiLGNdfWZ1bmN0aW9uIGcoYSxiKXtyZXR1cm4gMCE9YT9pKDAsMS8wKShhLGIpOnZvaWQgMH1mdW5jdGlvbiBoKGEsYil7cmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5yb3VuZChkKDEsMS8wLGEpKX1dfWZ1bmN0aW9uIGkoYSxiKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm5bZSxmLGZ1bmN0aW9uKGUpe3JldHVybiBjKGQoYSxiLGUpKX1dfX1mdW5jdGlvbiBqKGEsYil7cmV0dXJuW2EsYixNYXRoLnJvdW5kXX1hLmNsYW1wPWQsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGkoMCwxLzApLFsiYm9yZGVyLWltYWdlLXdpZHRoIiwibGluZS1oZWlnaHQiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGkoMCwxKSxbIm9wYWNpdHkiLCJzaGFwZS1pbWFnZS10aHJlc2hvbGQiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGcsWyJmbGV4LWdyb3ciLCJmbGV4LXNocmluayJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaCxbIm9ycGhhbnMiLCJ3aWRvd3MiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGosWyJ6LWluZGV4Il0pLGEucGFyc2VOdW1iZXI9ZSxhLm1lcmdlTnVtYmVycz1mLGEubnVtYmVyVG9TdHJpbmc9Y30oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4idmlzaWJsZSI9PWF8fCJ2aXNpYmxlIj09Yj9bMCwxLGZ1bmN0aW9uKGMpe3JldHVybiAwPj1jP2E6Yz49MT9iOiJ2aXNpYmxlIn1dOnZvaWQgMH1hLmFkZFByb3BlcnRpZXNIYW5kbGVyKFN0cmluZyxjLFsidmlzaWJpbGl0eSJdKX0oZCksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe2E9YS50cmltKCksZi5maWxsU3R5bGU9IiMwMDAiLGYuZmlsbFN0eWxlPWE7dmFyIGI9Zi5maWxsU3R5bGU7aWYoZi5maWxsU3R5bGU9IiNmZmYiLGYuZmlsbFN0eWxlPWEsYj09Zi5maWxsU3R5bGUpe2YuZmlsbFJlY3QoMCwwLDEsMSk7dmFyIGM9Zi5nZXRJbWFnZURhdGEoMCwwLDEsMSkuZGF0YTtmLmNsZWFyUmVjdCgwLDAsMSwxKTt2YXIgZD1jWzNdLzI1NTtyZXR1cm5bY1swXSpkLGNbMV0qZCxjWzJdKmQsZF19fWZ1bmN0aW9uIGQoYixjKXtyZXR1cm5bYixjLGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oMjU1LGEpKX1pZihiWzNdKWZvcih2YXIgZD0wOzM+ZDtkKyspYltkXT1NYXRoLnJvdW5kKGMoYltkXS9iWzNdKSk7cmV0dXJuIGJbM109YS5udW1iZXJUb1N0cmluZyhhLmNsYW1wKDAsMSxiWzNdKSksInJnYmEoIitiLmpvaW4oIiwiKSsiKSJ9XX12YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKTtlLndpZHRoPWUuaGVpZ2h0PTE7dmFyIGY9ZS5nZXRDb250ZXh0KCIyZCIpO2EuYWRkUHJvcGVydGllc0hhbmRsZXIoYyxkLFsiYmFja2dyb3VuZC1jb2xvciIsImJvcmRlci1ib3R0b20tY29sb3IiLCJib3JkZXItbGVmdC1jb2xvciIsImJvcmRlci1yaWdodC1jb2xvciIsImJvcmRlci10b3AtY29sb3IiLCJjb2xvciIsIm91dGxpbmUtY29sb3IiLCJ0ZXh0LWRlY29yYXRpb24tY29sb3IiXSksYS5jb25zdW1lQ29sb3I9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsYyksYS5tZXJnZUNvbG9ycz1kfShkLGYpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2lmKGI9Yi50cmltKCkudG9Mb3dlckNhc2UoKSwiMCI9PWImJiJweCIuc2VhcmNoKGEpPj0wKXJldHVybntweDowfTtpZigvXlteKF0qJHxeY2FsYy8udGVzdChiKSl7Yj1iLnJlcGxhY2UoL2NhbGNcKC9nLCIoIik7dmFyIGM9e307Yj1iLnJlcGxhY2UoYSxmdW5jdGlvbihhKXtyZXR1cm4gY1thXT1udWxsLCJVIithfSk7Zm9yKHZhciBkPSJVKCIrYS5zb3VyY2UrIikiLGU9Yi5yZXBsYWNlKC9bLStdPyhcZCpcLik/XGQrL2csIk4iKS5yZXBsYWNlKG5ldyBSZWdFeHAoIk4iK2QsImciKSwiRCIpLnJlcGxhY2UoL1xzWystXVxzL2csIk8iKS5yZXBsYWNlKC9ccy9nLCIiKSxmPVsvTlwqKEQpL2csLyhOfEQpWypcL11OL2csLyhOfEQpT1wxL2csL1woKE58RClcKS9nXSxnPTA7ZzxmLmxlbmd0aDspZltnXS50ZXN0KGUpPyhlPWUucmVwbGFjZShmW2ddLCIkMSIpLGc9MCk6ZysrO2lmKCJEIj09ZSl7Zm9yKHZhciBoIGluIGMpe3ZhciBpPWV2YWwoYi5yZXBsYWNlKG5ldyBSZWdFeHAoIlUiK2gsImciKSwiIikucmVwbGFjZShuZXcgUmVnRXhwKGQsImciKSwiKjAiKSk7aWYoIWlzRmluaXRlKGkpKXJldHVybjtjW2hdPWl9cmV0dXJuIGN9fX1mdW5jdGlvbiBkKGEsYil7cmV0dXJuIGUoYSxiLCEwKX1mdW5jdGlvbiBlKGIsYyxkKXt2YXIgZSxmPVtdO2ZvcihlIGluIGIpZi5wdXNoKGUpO2ZvcihlIGluIGMpZi5pbmRleE9mKGUpPDAmJmYucHVzaChlKTtyZXR1cm4gYj1mLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYlthXXx8MH0pLGM9Zi5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGNbYV18fDB9KSxbYixjLGZ1bmN0aW9uKGIpe3ZhciBjPWIubWFwKGZ1bmN0aW9uKGMsZSl7cmV0dXJuIDE9PWIubGVuZ3RoJiZkJiYoYz1NYXRoLm1heChjLDApKSxhLm51bWJlclRvU3RyaW5nKGMpK2ZbZV19KS5qb2luKCIgKyAiKTtyZXR1cm4gYi5sZW5ndGg+MT8iY2FsYygiK2MrIikiOmN9XX12YXIgZj0icHh8ZW18ZXh8Y2h8cmVtfHZ3fHZofHZtaW58dm1heHxjbXxtbXxpbnxwdHxwYyIsZz1jLmJpbmQobnVsbCxuZXcgUmVnRXhwKGYsImciKSksaD1jLmJpbmQobnVsbCxuZXcgUmVnRXhwKGYrInwlIiwiZyIpKSxpPWMuYmluZChudWxsLC9kZWd8cmFkfGdyYWR8dHVybi9nKTthLnBhcnNlTGVuZ3RoPWcsYS5wYXJzZUxlbmd0aE9yUGVyY2VudD1oLGEuY29uc3VtZUxlbmd0aE9yUGVyY2VudD1hLmNvbnN1bWVQYXJlbnRoZXNpc2VkLmJpbmQobnVsbCxoKSxhLnBhcnNlQW5nbGU9aSxhLm1lcmdlRGltZW5zaW9ucz1lO3ZhciBqPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGcpLGs9YS5jb25zdW1lUmVwZWF0ZWQuYmluZCh2b2lkIDAsaiwvXi8pLGw9YS5jb25zdW1lUmVwZWF0ZWQuYmluZCh2b2lkIDAsaywvXiwvKTthLmNvbnN1bWVTaXplUGFpckxpc3Q9bDt2YXIgbT1mdW5jdGlvbihhKXt2YXIgYj1sKGEpO3JldHVybiBiJiYiIj09YlsxXT9iWzBdOnZvaWQgMH0sbj1hLm1lcmdlTmVzdGVkUmVwZWF0ZWQuYmluZCh2b2lkIDAsZCwiICIpLG89YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLG4sIiwiKTthLm1lcmdlTm9uTmVnYXRpdmVTaXplUGFpcj1uLGEuYWRkUHJvcGVydGllc0hhbmRsZXIobSxvLFsiYmFja2dyb3VuZC1zaXplIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaCxkLFsiYm9yZGVyLWJvdHRvbS13aWR0aCIsImJvcmRlci1pbWFnZS13aWR0aCIsImJvcmRlci1sZWZ0LXdpZHRoIiwiYm9yZGVyLXJpZ2h0LXdpZHRoIiwiYm9yZGVyLXRvcC13aWR0aCIsImZsZXgtYmFzaXMiLCJmb250LXNpemUiLCJoZWlnaHQiLCJsaW5lLWhlaWdodCIsIm1heC1oZWlnaHQiLCJtYXgtd2lkdGgiLCJvdXRsaW5lLXdpZHRoIiwid2lkdGgiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihoLGUsWyJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIiwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLCJib3JkZXItdG9wLWxlZnQtcmFkaXVzIiwiYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMiLCJib3R0b20iLCJsZWZ0IiwibGV0dGVyLXNwYWNpbmciLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiLCJtYXJnaW4tdG9wIiwibWluLWhlaWdodCIsIm1pbi13aWR0aCIsIm91dGxpbmUtb2Zmc2V0IiwicGFkZGluZy1ib3R0b20iLCJwYWRkaW5nLWxlZnQiLCJwYWRkaW5nLXJpZ2h0IiwicGFkZGluZy10b3AiLCJwZXJzcGVjdGl2ZSIsInJpZ2h0Iiwic2hhcGUtbWFyZ2luIiwidGV4dC1pbmRlbnQiLCJ0b3AiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndvcmQtc3BhY2luZyJdKX0oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYil7cmV0dXJuIGEuY29uc3VtZUxlbmd0aE9yUGVyY2VudChiKXx8YS5jb25zdW1lVG9rZW4oL15hdXRvLyxiKX1mdW5jdGlvbiBkKGIpe3ZhciBkPWEuY29uc3VtZUxpc3QoW2EuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXnJlY3QvKSksYS5pZ25vcmUoYS5jb25zdW1lVG9rZW4uYmluZChudWxsLC9eXCgvKSksYS5jb25zdW1lUmVwZWF0ZWQuYmluZChudWxsLGMsL14sLyksYS5pZ25vcmUoYS5jb25zdW1lVG9rZW4uYmluZChudWxsLC9eXCkvKSldLGIpO3JldHVybiBkJiY0PT1kWzBdLmxlbmd0aD9kWzBdOnZvaWQgMH1mdW5jdGlvbiBlKGIsYyl7cmV0dXJuImF1dG8iPT1ifHwiYXV0byI9PWM/WyEwLCExLGZ1bmN0aW9uKGQpe3ZhciBlPWQ/YjpjO2lmKCJhdXRvIj09ZSlyZXR1cm4iYXV0byI7dmFyIGY9YS5tZXJnZURpbWVuc2lvbnMoZSxlKTtyZXR1cm4gZlsyXShmWzBdKX1dOmEubWVyZ2VEaW1lbnNpb25zKGIsYyl9ZnVuY3Rpb24gZihhKXtyZXR1cm4icmVjdCgiK2ErIikifXZhciBnPWEubWVyZ2VXcmFwcGVkTmVzdGVkUmVwZWF0ZWQuYmluZChudWxsLGYsZSwiLCAiKTthLnBhcnNlQm94PWQsYS5tZXJnZUJveGVzPWcsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihkLGcsWyJjbGlwIl0pfShkLGYpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9MDtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1rP2JbYysrXTphfSl9fWZ1bmN0aW9uIGQoYSl7cmV0dXJuIGF9ZnVuY3Rpb24gZShiKXtpZihiPWIudG9Mb3dlckNhc2UoKS50cmltKCksIm5vbmUiPT1iKXJldHVybltdO2Zvcih2YXIgYyxkPS9ccyooXHcrKVwoKFteKV0qKVwpL2csZT1bXSxmPTA7Yz1kLmV4ZWMoYik7KXtpZihjLmluZGV4IT1mKXJldHVybjtmPWMuaW5kZXgrY1swXS5sZW5ndGg7dmFyIGc9Y1sxXSxoPW5bZ107aWYoIWgpcmV0dXJuO3ZhciBpPWNbMl0uc3BsaXQoIiwiKSxqPWhbMF07aWYoai5sZW5ndGg8aS5sZW5ndGgpcmV0dXJuO2Zvcih2YXIgaz1bXSxvPTA7bzxqLmxlbmd0aDtvKyspe3ZhciBwLHE9aVtvXSxyPWpbb107aWYocD1xP3tBOmZ1bmN0aW9uKGIpe3JldHVybiIwIj09Yi50cmltKCk/bTphLnBhcnNlQW5nbGUoYil9LE46YS5wYXJzZU51bWJlcixUOmEucGFyc2VMZW5ndGhPclBlcmNlbnQsTDphLnBhcnNlTGVuZ3RofVtyLnRvVXBwZXJDYXNlKCldKHEpOnthOm0sbjprWzBdLHQ6bH1bcl0sdm9pZCAwPT09cClyZXR1cm47ay5wdXNoKHApfWlmKGUucHVzaCh7dDpnLGQ6a30pLGQubGFzdEluZGV4PT1iLmxlbmd0aClyZXR1cm4gZX19ZnVuY3Rpb24gZihhKXtyZXR1cm4gYS50b0ZpeGVkKDYpLnJlcGxhY2UoIi4wMDAwMDAiLCIiKX1mdW5jdGlvbiBnKGIsYyl7aWYoYi5kZWNvbXBvc2l0aW9uUGFpciE9PWMpe2IuZGVjb21wb3NpdGlvblBhaXI9Yzt2YXIgZD1hLm1ha2VNYXRyaXhEZWNvbXBvc2l0aW9uKGIpfWlmKGMuZGVjb21wb3NpdGlvblBhaXIhPT1iKXtjLmRlY29tcG9zaXRpb25QYWlyPWI7dmFyIGU9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihjKX1yZXR1cm4gbnVsbD09ZFswXXx8bnVsbD09ZVswXT9bWyExXSxbITBdLGZ1bmN0aW9uKGEpe3JldHVybiBhP2NbMF0uZDpiWzBdLmR9XTooZFswXS5wdXNoKDApLGVbMF0ucHVzaCgxKSxbZCxlLGZ1bmN0aW9uKGIpe3ZhciBjPWEucXVhdChkWzBdWzNdLGVbMF1bM10sYls1XSksZz1hLmNvbXBvc2VNYXRyaXgoYlswXSxiWzFdLGJbMl0sYyxiWzRdKSxoPWcubWFwKGYpLmpvaW4oIiwiKTtyZXR1cm4gaH1dKX1mdW5jdGlvbiBoKGEpe3JldHVybiBhLnJlcGxhY2UoL1t4eV0vLCIiKX1mdW5jdGlvbiBpKGEpe3JldHVybiBhLnJlcGxhY2UoLyh4fHl8enwzZCk/JC8sIjNkIil9ZnVuY3Rpb24gaihiLGMpe3ZhciBkPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24mJiEwLGU9ITE7aWYoIWIubGVuZ3RofHwhYy5sZW5ndGgpe2IubGVuZ3RofHwoZT0hMCxiPWMsYz1bXSk7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBqPWJbZl0udCxrPWJbZl0uZCxsPSJzY2FsZSI9PWouc3Vic3RyKDAsNSk/MTowO2MucHVzaCh7dDpqLGQ6ay5tYXAoZnVuY3Rpb24oYSl7aWYoIm51bWJlciI9PXR5cGVvZiBhKXJldHVybiBsO3ZhciBiPXt9O2Zvcih2YXIgYyBpbiBhKWJbY109bDtyZXR1cm4gYn0pfSl9fXZhciBtPWZ1bmN0aW9uKGEsYil7cmV0dXJuInBlcnNwZWN0aXZlIj09YSYmInBlcnNwZWN0aXZlIj09Ynx8KCJtYXRyaXgiPT1hfHwibWF0cml4M2QiPT1hKSYmKCJtYXRyaXgiPT1ifHwibWF0cml4M2QiPT1iKX0sbz1bXSxwPVtdLHE9W107aWYoYi5sZW5ndGghPWMubGVuZ3RoKXtpZighZClyZXR1cm47dmFyIHI9ZyhiLGMpO289W3JbMF1dLHA9W3JbMV1dLHE9W1sibWF0cml4IixbclsyXV1dXX1lbHNlIGZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKXt2YXIgaixzPWJbZl0udCx0PWNbZl0udCx1PWJbZl0uZCx2PWNbZl0uZCx3PW5bc10seD1uW3RdO2lmKG0ocyx0KSl7aWYoIWQpcmV0dXJuO3ZhciByPWcoW2JbZl1dLFtjW2ZdXSk7by5wdXNoKHJbMF0pLHAucHVzaChyWzFdKSxxLnB1c2goWyJtYXRyaXgiLFtyWzJdXV0pfWVsc2V7aWYocz09dClqPXM7ZWxzZSBpZih3WzJdJiZ4WzJdJiZoKHMpPT1oKHQpKWo9aChzKSx1PXdbMl0odSksdj14WzJdKHYpO2Vsc2V7aWYoIXdbMV18fCF4WzFdfHxpKHMpIT1pKHQpKXtpZighZClyZXR1cm47dmFyIHI9ZyhiLGMpO289W3JbMF1dLHA9W3JbMV1dLHE9W1sibWF0cml4IixbclsyXV1dXTticmVha31qPWkocyksdT13WzFdKHUpLHY9eFsxXSh2KX1mb3IodmFyIHk9W10sej1bXSxBPVtdLEI9MDtCPHUubGVuZ3RoO0IrKyl7dmFyIEM9Im51bWJlciI9PXR5cGVvZiB1W0JdP2EubWVyZ2VOdW1iZXJzOmEubWVyZ2VEaW1lbnNpb25zLHI9Qyh1W0JdLHZbQl0pO3lbQl09clswXSx6W0JdPXJbMV0sQS5wdXNoKHJbMl0pfW8ucHVzaCh5KSxwLnB1c2goeikscS5wdXNoKFtqLEFdKX19aWYoZSl7dmFyIEQ9bztvPXAscD1EfXJldHVybltvLHAsZnVuY3Rpb24oYSl7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5tYXAoZnVuY3Rpb24oYSxjKXtyZXR1cm4gcVtiXVsxXVtjXShhKX0pLmpvaW4oIiwiKTtyZXR1cm4ibWF0cml4Ij09cVtiXVswXSYmMTY9PWMuc3BsaXQoIiwiKS5sZW5ndGgmJihxW2JdWzBdPSJtYXRyaXgzZCIpLHFbYl1bMF0rIigiK2MrIikifSkuam9pbigiICIpfV19dmFyIGs9bnVsbCxsPXtweDowfSxtPXtkZWc6MH0sbj17bWF0cml4OlsiTk5OTk5OIixbayxrLDAsMCxrLGssMCwwLDAsMCwxLDAsayxrLDAsMV0sZF0sbWF0cml4M2Q6WyJOTk5OTk5OTk5OTk5OTk5OIixkXSxyb3RhdGU6WyJBIl0scm90YXRleDpbIkEiXSxyb3RhdGV5OlsiQSJdLHJvdGF0ZXo6WyJBIl0scm90YXRlM2Q6WyJOTk5BIl0scGVyc3BlY3RpdmU6WyJMIl0sc2NhbGU6WyJObiIsYyhbayxrLDFdKSxkXSxzY2FsZXg6WyJOIixjKFtrLDEsMV0pLGMoW2ssMV0pXSxzY2FsZXk6WyJOIixjKFsxLGssMV0pLGMoWzEsa10pXSxzY2FsZXo6WyJOIixjKFsxLDEsa10pXSxzY2FsZTNkOlsiTk5OIixkXSxza2V3OlsiQWEiLG51bGwsZF0sc2tld3g6WyJBIixudWxsLGMoW2ssbV0pXSxza2V3eTpbIkEiLG51bGwsYyhbbSxrXSldLHRyYW5zbGF0ZTpbIlR0IixjKFtrLGssbF0pLGRdLHRyYW5zbGF0ZXg6WyJUIixjKFtrLGwsbF0pLGMoW2ssbF0pXSx0cmFuc2xhdGV5OlsiVCIsYyhbbCxrLGxdKSxjKFtsLGtdKV0sdHJhbnNsYXRlejpbIkwiLGMoW2wsbCxrXSldLHRyYW5zbGF0ZTNkOlsiVFRMIixkXX07YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGosWyJ0cmFuc2Zvcm0iXSl9KGQsZiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7Yi5jb25jYXQoW2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoZFthXT1iKX0pfXZhciBkPXt9O2MoInRyYW5zZm9ybSIsWyJ3ZWJraXRUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxjKCJ0cmFuc2Zvcm1PcmlnaW4iLFsid2Via2l0VHJhbnNmb3JtT3JpZ2luIl0pLGMoInBlcnNwZWN0aXZlIixbIndlYmtpdFBlcnNwZWN0aXZlIl0pLGMoInBlcnNwZWN0aXZlT3JpZ2luIixbIndlYmtpdFBlcnNwZWN0aXZlT3JpZ2luIl0pLGEucHJvcGVydHlOYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBkW2FdfHxhfX0oZCxmKX0oKSwhZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5hbmltYXRlKFtdKS5vbmNhbmNlbCl7dmFyIGE7aWYod2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3cpdmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9O2Vsc2UgdmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07dmFyIGI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMudGFyZ2V0PWEsdGhpcy5jdXJyZW50VGltZT1iLHRoaXMudGltZWxpbmVUaW1lPWMsdGhpcy50eXBlPSJjYW5jZWwiLHRoaXMuYnViYmxlcz0hMSx0aGlzLmNhbmNlbGFibGU9ITEsdGhpcy5jdXJyZW50VGFyZ2V0PWEsdGhpcy5kZWZhdWx0UHJldmVudGVkPSExLHRoaXMuZXZlbnRQaGFzZT1FdmVudC5BVF9UQVJHRVQsdGhpcy50aW1lU3RhbXA9RGF0ZS5ub3coKX0sYz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTt3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihkLGUpe3ZhciBmPWMuY2FsbCh0aGlzLGQsZSk7Zi5fY2FuY2VsSGFuZGxlcnM9W10sZi5vbmNhbmNlbD1udWxsO3ZhciBnPWYuY2FuY2VsO2YuY2FuY2VsPWZ1bmN0aW9uKCl7Zy5jYWxsKHRoaXMpO3ZhciBjPW5ldyBiKHRoaXMsbnVsbCxhKCkpLGQ9dGhpcy5fY2FuY2VsSGFuZGxlcnMuY29uY2F0KHRoaXMub25jYW5jZWw/W3RoaXMub25jYW5jZWxdOltdKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuY2FsbChjLnRhcmdldCxjKX0pfSwwKX07dmFyIGg9Zi5hZGRFdmVudExpc3RlbmVyO2YuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBiJiYiY2FuY2VsIj09YT90aGlzLl9jYW5jZWxIYW5kbGVycy5wdXNoKGIpOmguY2FsbCh0aGlzLGEsYil9O3ZhciBpPWYucmVtb3ZlRXZlbnRMaXN0ZW5lcjtyZXR1cm4gZi5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7aWYoImNhbmNlbCI9PWEpe3ZhciBjPXRoaXMuX2NhbmNlbEhhbmRsZXJzLmluZGV4T2YoYik7Yz49MCYmdGhpcy5fY2FuY2VsSGFuZGxlcnMuc3BsaWNlKGMsMSl9ZWxzZSBpLmNhbGwodGhpcyxhLGIpfSxmfX19KCksZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGM9bnVsbCxkPSExO3RyeXt2YXIgZT1nZXRDb21wdXRlZFN0eWxlKGIpLmdldFByb3BlcnR5VmFsdWUoIm9wYWNpdHkiKSxmPSIwIj09ZT8iMSI6IjAiO2M9Yi5hbmltYXRlKHtvcGFjaXR5OltmLGZdfSx7ZHVyYXRpb246MX0pLGMuY3VycmVudFRpbWU9MCxkPWdldENvbXB1dGVkU3R5bGUoYikuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpPT1mfWNhdGNoKGcpe31maW5hbGx5e2MmJmMuY2FuY2VsKCl9aWYoIWQpe3ZhciBoPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlO3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIHdpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmJbU3ltYm9sLml0ZXJhdG9yXSYmKGI9QXJyYXkuZnJvbShiKSksQXJyYXkuaXNBcnJheShiKXx8bnVsbD09PWJ8fChiPWEuY29udmVydFRvQXJyYXlGb3JtKGIpKSxoLmNhbGwodGhpcyxiLGMpfX19KGMpLCFmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXt2YXIgYj13aW5kb3cuZG9jdW1lbnQudGltZWxpbmU7Yi5jdXJyZW50VGltZT1hLGIuX2Rpc2NhcmRBbmltYXRpb25zKCksMD09Yi5fYW5pbWF0aW9ucy5sZW5ndGg/Zj0hMTpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZCk7Cn12YXIgZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGUoZnVuY3Rpb24oYil7d2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSxhKGIpLHdpbmRvdy5kb2N1bWVudC50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCl9KX0sYi5BbmltYXRpb25UaW1lbGluZT1mdW5jdGlvbigpe3RoaXMuX2FuaW1hdGlvbnM9W10sdGhpcy5jdXJyZW50VGltZT12b2lkIDB9LGIuQW5pbWF0aW9uVGltZWxpbmUucHJvdG90eXBlPXtnZXRBbmltYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpc2NhcmRBbmltYXRpb25zKCksdGhpcy5fYW5pbWF0aW9ucy5zbGljZSgpfSxfdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzOmZ1bmN0aW9uKCl7Yi5hbmltYXRpb25zV2l0aFByb21pc2VzPWIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuX3VwZGF0ZVByb21pc2VzKCl9KX0sX2Rpc2NhcmRBbmltYXRpb25zOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksdGhpcy5fYW5pbWF0aW9ucz10aGlzLl9hbmltYXRpb25zLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4iZmluaXNoZWQiIT1hLnBsYXlTdGF0ZSYmImlkbGUiIT1hLnBsYXlTdGF0ZX0pfSxfcGxheTpmdW5jdGlvbihhKXt2YXIgYz1uZXcgYi5BbmltYXRpb24oYSx0aGlzKTtyZXR1cm4gdGhpcy5fYW5pbWF0aW9ucy5wdXNoKGMpLGIucmVzdGFydFdlYkFuaW1hdGlvbnNOZXh0VGljaygpLGMuX3VwZGF0ZVByb21pc2VzKCksYy5fYW5pbWF0aW9uLnBsYXkoKSxjLl91cGRhdGVQcm9taXNlcygpLGN9LHBsYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucmVtb3ZlKCksdGhpcy5fcGxheShhKX19O3ZhciBmPSExO2IucmVzdGFydFdlYkFuaW1hdGlvbnNOZXh0VGljaz1mdW5jdGlvbigpe2Z8fChmPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShkKSl9O3ZhciBnPW5ldyBiLkFuaW1hdGlvblRpbWVsaW5lO2IudGltZWxpbmU9Zzt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5kb2N1bWVudCwidGltZWxpbmUiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGd9fSl9Y2F0Y2goaCl7fXRyeXt3aW5kb3cuZG9jdW1lbnQudGltZWxpbmU9Z31jYXRjaChoKXt9fShjLGUsZiksZnVuY3Rpb24oYSxiLGMpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1bXSxiLkFuaW1hdGlvbj1mdW5jdGlvbihiLGMpe2lmKHRoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLmVmZmVjdD1iLGImJihiLl9hbmltYXRpb249dGhpcyksIWMpdGhyb3cgbmV3IEVycm9yKCJBbmltYXRpb24gd2l0aCBudWxsIHRpbWVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLl90aW1lbGluZT1jLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9ob2xkVGltZT0wLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9pc0dyb3VwPSExLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoaWxkQW5pbWF0aW9ucz1bXSx0aGlzLl9jYWxsYmFjaz1udWxsLHRoaXMuX29sZFBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfdXBkYXRlUHJvbWlzZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9vbGRQbGF5U3RhdGUsYj10aGlzLnBsYXlTdGF0ZTtyZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0UmVhZHlQcm9taXNlKCksdGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCk6InBlbmRpbmciPT1hP3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKToicGVuZGluZyI9PWImJih0aGlzLl9yZWFkeVByb21pc2U9dm9pZCAwKSksdGhpcy5fZmluaXNoZWRQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlKCksdGhpcy5fZmluaXNoZWRQcm9taXNlPXZvaWQgMCk6ImZpbmlzaGVkIj09Yj90aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk6ImZpbmlzaGVkIj09YSYmKHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApKSx0aGlzLl9vbGRQbGF5U3RhdGU9dGhpcy5wbGF5U3RhdGUsdGhpcy5fcmVhZHlQcm9taXNlfHx0aGlzLl9maW5pc2hlZFByb21pc2V9LF9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGEsYyxkLGUsZj0hIXRoaXMuX2FuaW1hdGlvbjtmJiYoYT10aGlzLnBsYXliYWNrUmF0ZSxjPXRoaXMuX3BhdXNlZCxkPXRoaXMuc3RhcnRUaW1lLGU9dGhpcy5jdXJyZW50VGltZSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fYW5pbWF0aW9uLl93cmFwcGVyPW51bGwsdGhpcy5fYW5pbWF0aW9uPW51bGwpLCghdGhpcy5lZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LktleWZyYW1lRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcykpLCh0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8dGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuR3JvdXBFZmZlY3QpJiYodGhpcy5fYW5pbWF0aW9uPWIubmV3VW5kZXJseWluZ0FuaW1hdGlvbkZvckdyb3VwKHRoaXMuZWZmZWN0KSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cCh0aGlzKSksdGhpcy5lZmZlY3QmJnRoaXMuZWZmZWN0Ll9vbnNhbXBsZSYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KHRoaXMpLGYmJigxIT1hJiYodGhpcy5wbGF5YmFja1JhdGU9YSksbnVsbCE9PWQ/dGhpcy5zdGFydFRpbWU9ZDpudWxsIT09ZT90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuX2hvbGRUaW1lJiYodGhpcy5jdXJyZW50VGltZT10aGlzLl9ob2xkVGltZSksYyYmdGhpcy5wYXVzZSgpKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxfdXBkYXRlQ2hpbGRyZW46ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjKXt0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oYyxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMuZWZmZWN0KSl9LmJpbmQodGhpcykpfX0sX3NldEV4dGVybmFsQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKWZvcih2YXIgYj0wO2I8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoO2IrKyl0aGlzLmVmZmVjdC5jaGlsZHJlbltiXS5fYW5pbWF0aW9uPWEsdGhpcy5fY2hpbGRBbmltYXRpb25zW2JdLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKXt2YXIgYT10aGlzLmVmZmVjdC5fdGltaW5nLmRlbGF5O3RoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuZWZmZWN0LmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9d2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl9wbGF5KGMpO3RoaXMuX2NoaWxkQW5pbWF0aW9ucy5wdXNoKGQpLGQucGxheWJhY2tSYXRlPXRoaXMucGxheWJhY2tSYXRlLHRoaXMuX3BhdXNlZCYmZC5wYXVzZSgpLGMuX2FuaW1hdGlvbj10aGlzLmVmZmVjdC5fYW5pbWF0aW9uLHRoaXMuX2FycmFuZ2VDaGlsZHJlbihkLGEpLHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0JiYoYSs9Yi5ncm91cENoaWxkRHVyYXRpb24oYykpfS5iaW5kKHRoaXMpKX19LF9hcnJhbmdlQ2hpbGRyZW46ZnVuY3Rpb24oYSxiKXtudWxsPT09dGhpcy5zdGFydFRpbWU/YS5jdXJyZW50VGltZT10aGlzLmN1cnJlbnRUaW1lLWIvdGhpcy5wbGF5YmFja1JhdGU6YS5zdGFydFRpbWUhPT10aGlzLnN0YXJ0VGltZStiL3RoaXMucGxheWJhY2tSYXRlJiYoYS5zdGFydFRpbWU9dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSl9LGdldCB0aW1lbGluZSgpe3JldHVybiB0aGlzLl90aW1lbGluZX0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9hbmltYXRpb24/dGhpcy5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSJ9LGdldCBmaW5pc2hlZCgpe3JldHVybiB3aW5kb3cuUHJvbWlzZT8odGhpcy5fZmluaXNoZWRQcm9taXNlfHwoLTE9PWIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5pbmRleE9mKHRoaXMpJiZiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMucHVzaCh0aGlzKSx0aGlzLl9maW5pc2hlZFByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oYSxiKXt0aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlPWZ1bmN0aW9uKCl7YSh0aGlzKX0sdGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlPWZ1bmN0aW9uKCl7Yih7dHlwZTpET01FeGNlcHRpb24uQUJPUlRfRVJSLG5hbWU6IkFib3J0RXJyb3IifSl9fS5iaW5kKHRoaXMpKSwiZmluaXNoZWQiPT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpKSx0aGlzLl9maW5pc2hlZFByb21pc2UpOihjb25zb2xlLndhcm4oIkFuaW1hdGlvbiBQcm9taXNlcyByZXF1aXJlIEphdmFTY3JpcHQgUHJvbWlzZSBjb25zdHJ1Y3RvciIpLG51bGwpfSxnZXQgcmVhZHkoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX3JlYWR5UHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fcmVhZHlQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZVJlYWR5UHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdFJlYWR5UHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksInBlbmRpbmciIT09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKSksdGhpcy5fcmVhZHlQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IG9uZmluaXNoKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaH0sc2V0IG9uZmluaXNoKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBhP3RoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaD1mdW5jdGlvbihiKXtiLnRhcmdldD10aGlzLGEuY2FsbCh0aGlzLGIpfS5iaW5kKHRoaXMpOnRoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaD1hfSxnZXQgb25jYW5jZWwoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsfSxzZXQgb25jYW5jZWwoYSl7ImZ1bmN0aW9uIj09dHlwZW9mIGE/dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPWZ1bmN0aW9uKGIpe2IudGFyZ2V0PXRoaXMsYS5jYWxsKHRoaXMsYil9LmJpbmQodGhpcyk6dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPWF9LGdldCBjdXJyZW50VGltZSgpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lO3JldHVybiB0aGlzLl91cGRhdGVQcm9taXNlcygpLGF9LHNldCBjdXJyZW50VGltZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5jdXJyZW50VGltZT1pc0Zpbml0ZShhKT9hOk1hdGguc2lnbihhKSpOdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGIsYyl7Yi5jdXJyZW50VGltZT1hLWN9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxnZXQgc3RhcnRUaW1lKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5zdGFydFRpbWV9LHNldCBzdGFydFRpbWUoYSl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb24uc3RhcnRUaW1lPWlzRmluaXRlKGEpP2E6TWF0aC5zaWduKGEpKk51bWJlci5NQVhfVkFMVUUsdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYixjKXtiLnN0YXJ0VGltZT1hK2N9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5wbGF5YmFja1JhdGV9LHNldCBwbGF5YmFja1JhdGUoYSl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKTt2YXIgYj10aGlzLmN1cnJlbnRUaW1lO3RoaXMuX2FuaW1hdGlvbi5wbGF5YmFja1JhdGU9YSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYil7Yi5wbGF5YmFja1JhdGU9YX0pLCJwYXVzZWQiIT10aGlzLnBsYXlTdGF0ZSYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5wbGF5KCksbnVsbCE9PWImJih0aGlzLmN1cnJlbnRUaW1lPWIpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9hbmltYXRpb24ucGxheSgpLC0xPT10aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5pbmRleE9mKHRoaXMpJiZ0aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpLHRoaXMuX3JlZ2lzdGVyKCksYi5hd2FpdFN0YXJ0VGltZSh0aGlzKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7dmFyIGI9YS5jdXJyZW50VGltZTthLnBsYXkoKSxhLmN1cnJlbnRUaW1lPWJ9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5jdXJyZW50VGltZSYmKHRoaXMuX2hvbGRUaW1lPXRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2FuaW1hdGlvbi5wYXVzZSgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EucGF1c2UoKX0pLHRoaXMuX3BhdXNlZD0hMCx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5maW5pc2goKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucmV2ZXJzZSgpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnJldmVyc2UoKX0pLG51bGwhPT1hJiYodGhpcy5jdXJyZW50VGltZT1hKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YjsiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGM9ZnVuY3Rpb24oYSl7YS50YXJnZXQ9dGhpcyxiLmNhbGwodGhpcyxhKX0uYmluZCh0aGlzKSxiLl93cmFwcGVyPWMpLHRoaXMuX2FuaW1hdGlvbi5hZGRFdmVudExpc3RlbmVyKGEsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXt0aGlzLl9hbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGImJmIuX3dyYXBwZXJ8fGIpfSxfcmVtb3ZlQ2hpbGRBbmltYXRpb25zOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLl9jaGlsZEFuaW1hdGlvbnMubGVuZ3RoOyl0aGlzLl9jaGlsZEFuaW1hdGlvbnMucG9wKCkuY2FuY2VsKCl9LF9mb3JFYWNoQ2hpbGQ6ZnVuY3Rpb24oYil7dmFyIGM9MDtpZih0aGlzLmVmZmVjdC5jaGlsZHJlbiYmdGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDx0aGlzLmVmZmVjdC5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9ucygpLHRoaXMuX2NoaWxkQW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2IuY2FsbCh0aGlzLGEsYyksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihjKz1hLmVmZmVjdC5hY3RpdmVEdXJhdGlvbil9LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBkPXRoaXMuZWZmZWN0Ll90aW1pbmcsZT10aGlzLmN1cnJlbnRUaW1lO251bGwhPT1lJiYoZT1hLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGQpLGUsZCkpLChudWxsPT1lfHxpc05hTihlKSkmJnRoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpfX19LHdpbmRvdy5BbmltYXRpb249Yi5BbmltYXRpb259KGMsZSxmKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChiKXt0aGlzLl9mcmFtZXM9YS5ub3JtYWxpemVLZXlmcmFtZXMoYil9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgYT0hMTtpLmxlbmd0aDspe3ZhciBiPWkuc2hpZnQoKTtiLl91cGRhdGVDaGlsZHJlbigpLGE9ITB9cmV0dXJuIGF9dmFyIGY9ZnVuY3Rpb24oYSl7aWYoYS5fYW5pbWF0aW9uPXZvaWQgMCxhIGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0fHxhIGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KWZvcih2YXIgYj0wO2I8YS5jaGlsZHJlbi5sZW5ndGg7YisrKWYoYS5jaGlsZHJlbltiXSl9O2IucmVtb3ZlTXVsdGk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtkLl9wYXJlbnQ/KC0xPT1iLmluZGV4T2YoZC5fcGFyZW50KSYmYi5wdXNoKGQuX3BhcmVudCksZC5fcGFyZW50LmNoaWxkcmVuLnNwbGljZShkLl9wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihkKSwxKSxkLl9wYXJlbnQ9bnVsbCxmKGQpKTpkLl9hbmltYXRpb24mJmQuX2FuaW1hdGlvbi5lZmZlY3Q9PWQmJihkLl9hbmltYXRpb24uY2FuY2VsKCksZC5fYW5pbWF0aW9uLmVmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSksZC5fYW5pbWF0aW9uLl9jYWxsYmFjayYmKGQuX2FuaW1hdGlvbi5fY2FsbGJhY2suX2FuaW1hdGlvbj1udWxsKSxkLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksZihkKSl9Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLl9yZWJ1aWxkKCl9LGIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYixjLGUsZil7cmV0dXJuIHRoaXMudGFyZ2V0PWIsdGhpcy5fcGFyZW50PW51bGwsZT1hLm51bWVyaWNUaW1pbmdUb09iamVjdChlKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoZSksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoZSksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGUsITEsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiBjPyhhLmRlcHJlY2F0ZWQoIkN1c3RvbSBLZXlmcmFtZUVmZmVjdCIsIjIwMTUtMDYtMjIiLCJVc2UgS2V5ZnJhbWVFZmZlY3Qub25zYW1wbGUgaW5zdGVhZC4iKSx0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPWMpOnRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM9bmV3IGQoYyksdGhpcy5fa2V5ZnJhbWVzPWMsdGhpcy5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX3RpbWluZyksdGhpcy5faWQ9Zix0aGlzfSxiLktleWZyYW1lRWZmZWN0LnByb3RvdHlwZT17Z2V0RnJhbWVzOmZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM/dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lczp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLl9mcmFtZXN9LHNldCBvbnNhbXBsZShhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgb25zYW1wbGUgb24gY3VzdG9tIGVmZmVjdCBLZXlmcmFtZUVmZmVjdCBpcyBub3Qgc3VwcG9ydGVkLiIpO3RoaXMuX29uc2FtcGxlPWEsdGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxjbG9uZTpmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmdldEZyYW1lcygpKXRocm93IG5ldyBFcnJvcigiQ2xvbmluZyBjdXN0b20gZWZmZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiIpO3ZhciBiPW5ldyBLZXlmcmFtZUVmZmVjdCh0aGlzLnRhcmdldCxbXSxhLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLHRoaXMuX2lkKTtyZXR1cm4gYi5fbm9ybWFsaXplZEtleWZyYW1lcz10aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLGIuX2tleWZyYW1lcz10aGlzLl9rZXlmcmFtZXMsYn0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX07dmFyIGc9RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTtFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGIudGltZWxpbmUuX3BsYXkobmV3IGIuS2V5ZnJhbWVFZmZlY3QodGhpcyxhLGMsZCkpfTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKTtiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRhcmdldHx8aCxjPWEuX2tleWZyYW1lczsiZnVuY3Rpb24iPT10eXBlb2YgYyYmKGM9W10pO3ZhciBkPWEuX3RpbWluZ0lucHV0O2QuaWQ9YS5faWR9ZWxzZSB2YXIgYj1oLGM9W10sZD0wO3JldHVybiBnLmFwcGx5KGIsW2MsZF0pfSxiLmJpbmRBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXthLmVmZmVjdCYmImZ1bmN0aW9uIj09dHlwZW9mIGEuZWZmZWN0Ll9ub3JtYWxpemVkS2V5ZnJhbWVzJiZiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3QoYSl9O3ZhciBpPVtdO2IuYXdhaXRTdGFydFRpbWU9ZnVuY3Rpb24oYSl7bnVsbD09PWEuc3RhcnRUaW1lJiZhLl9pc0dyb3VwJiYoMD09aS5sZW5ndGgmJnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxpLnB1c2goYSkpfTt2YXIgaj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJnZXRDb21wdXRlZFN0eWxlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXt3aW5kb3cuZG9jdW1lbnQudGltZWxpbmUuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpO3ZhciBhPWouYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlKCkmJihhPWouYXBwbHkodGhpcyxhcmd1bWVudHMpKSx3aW5kb3cuZG9jdW1lbnQudGltZWxpbmUuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpLGF9fSksd2luZG93LktleWZyYW1lRWZmZWN0PWIuS2V5ZnJhbWVFZmZlY3Qsd2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQudGltZWxpbmUuZ2V0QW5pbWF0aW9ucygpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9PWEuZWZmZWN0JiZhLmVmZmVjdC50YXJnZXQ9PXRoaXN9LmJpbmQodGhpcykpfX0oYyxlLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe2EuX3JlZ2lzdGVyZWR8fChhLl9yZWdpc3RlcmVkPSEwLGcucHVzaChhKSxofHwoaD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpKX1mdW5jdGlvbiBlKGEpe3ZhciBiPWc7Zz1bXSxiLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fc2VxdWVuY2VOdW1iZXItYi5fc2VxdWVuY2VOdW1iZXJ9KSxiPWIuZmlsdGVyKGZ1bmN0aW9uKGEpe2EoKTt2YXIgYj1hLl9hbmltYXRpb24/YS5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSI7cmV0dXJuInJ1bm5pbmciIT1iJiYicGVuZGluZyIhPWImJihhLl9yZWdpc3RlcmVkPSExKSxhLl9yZWdpc3RlcmVkfSksZy5wdXNoLmFwcGx5KGcsYiksZy5sZW5ndGg/KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKTpoPSExfXZhciBmPShkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKSwwKTtiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3Q9ZnVuY3Rpb24oYil7dmFyIGMsZT1iLmVmZmVjdC50YXJnZXQsZz0iZnVuY3Rpb24iPT10eXBlb2YgYi5lZmZlY3QuZ2V0RnJhbWVzKCk7Yz1nP2IuZWZmZWN0LmdldEZyYW1lcygpOmIuZWZmZWN0Ll9vbnNhbXBsZTt2YXIgaD1iLmVmZmVjdC50aW1pbmcsaT1udWxsO2g9YS5ub3JtYWxpemVUaW1pbmdJbnB1dChoKTt2YXIgaj1mdW5jdGlvbigpe3ZhciBkPWouX2FuaW1hdGlvbj9qLl9hbmltYXRpb24uY3VycmVudFRpbWU6bnVsbDtudWxsIT09ZCYmKGQ9YS5jYWxjdWxhdGVUaW1lRnJhY3Rpb24oYS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihoKSxkLGgpLGlzTmFOKGQpJiYoZD1udWxsKSksZCE9PWkmJihnP2MoZCxlLGIuZWZmZWN0KTpjKGQsYi5lZmZlY3QsYi5lZmZlY3QuX2FuaW1hdGlvbikpLGk9ZH07ai5fYW5pbWF0aW9uPWIsai5fcmVnaXN0ZXJlZD0hMSxqLl9zZXF1ZW5jZU51bWJlcj1mKyssYi5fY2FsbGJhY2s9aixkKGopfTt2YXIgZz1bXSxoPSExO2IuQW5pbWF0aW9uLnByb3RvdHlwZS5fcmVnaXN0ZXI9ZnVuY3Rpb24oKXt0aGlzLl9jYWxsYmFjayYmZCh0aGlzLl9jYWxsYmFjayl9fShjLGUsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIGEuX3RpbWluZy5kZWxheSthLmFjdGl2ZUR1cmF0aW9uK2EuX3RpbWluZy5lbmREZWxheX1mdW5jdGlvbiBlKGIsYyxkKXt0aGlzLl9pZD1kLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49Ynx8W10sdGhpcy5fcmVwYXJlbnQodGhpcy5jaGlsZHJlbiksYz1hLm51bWVyaWNUaW1pbmdUb09iamVjdChjKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoYyksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYywhMCksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGMsITAsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJhdXRvIj09PXRoaXMuX3RpbWluZy5kdXJhdGlvbiYmKHRoaXMuX3RpbWluZy5kdXJhdGlvbj10aGlzLmFjdGl2ZUR1cmF0aW9uKX13aW5kb3cuU2VxdWVuY2VFZmZlY3Q9ZnVuY3Rpb24oKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sd2luZG93Lkdyb3VwRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlPXtfaXNBbmNlc3RvcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcztudWxsIT09Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9wYXJlbnR9cmV0dXJuITF9LF9yZWJ1aWxkOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXM7YTspImF1dG8iPT09YS50aW1pbmcuZHVyYXRpb24mJihhLl90aW1pbmcuZHVyYXRpb249YS5hY3RpdmVEdXJhdGlvbiksYT1hLl9wYXJlbnQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LF9yZXBhcmVudDpmdW5jdGlvbihhKXtiLnJlbW92ZU11bHRpKGEpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uX3BhcmVudD10aGlzfSxfcHV0Q2hpbGQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yj8iQ2Fubm90IGFwcGVuZCBhbiBhbmNlc3RvciBvciBzZWxmIjoiQ2Fubm90IHByZXBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWlmKHRoaXMuX2lzQW5jZXN0b3IoYVtkXSkpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uSElFUkFSQ0hZX1JFUVVFU1RfRVJSLG5hbWU6IkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsbWVzc2FnZTpjfTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyliP3RoaXMuY2hpbGRyZW4ucHVzaChhW2RdKTp0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYVtkXSk7dGhpcy5fcmVwYXJlbnQoYSksdGhpcy5fcmVidWlsZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wdXRDaGlsZChhcmd1bWVudHMsITApfSxwcmVwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCExKX0sZ2V0IHBhcmVudCgpe3JldHVybiB0aGlzLl9wYXJlbnR9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bMF06bnVsbH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdOm51bGx9LGNsb25lOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPWEuY2xvbmVUaW1pbmdJbnB1dCh0aGlzLl90aW1pbmdJbnB1dCksYz1bXSxkPTA7ZDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtkKyspYy5wdXNoKHRoaXMuY2hpbGRyZW5bZF0uY2xvbmUoKSk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBHcm91cEVmZmVjdD9uZXcgR3JvdXBFZmZlY3QoYyxiKTpuZXcgU2VxdWVuY2VFZmZlY3QoYyxiKX0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX0sd2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YSs9ZChiKX0pLE1hdGgubWF4KGEsMCl9fSksd2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YT1NYXRoLm1heChhLGQoYikpfSksYX19KSxiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihjKXt2YXIgZCxlPW51bGwsZj1mdW5jdGlvbihiKXt2YXIgYz1kLl93cmFwcGVyO3JldHVybiBjJiYicGVuZGluZyIhPWMucGxheVN0YXRlJiZjLmVmZmVjdD9udWxsPT1iP3ZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCk6MD09YiYmYy5wbGF5YmFja1JhdGU8MCYmKGV8fChlPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy5lZmZlY3QudGltaW5nKSksYj1hLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGUpLC0xLGUpLGlzTmFOKGIpfHxudWxsPT1iKT8oYy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EuY3VycmVudFRpbWU9LTF9KSx2b2lkIGMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpKTp2b2lkIDA6dm9pZCAwfSxnPW5ldyBLZXlmcmFtZUVmZmVjdChudWxsLFtdLGMuX3RpbWluZyxjLl9pZCk7cmV0dXJuIGcub25zYW1wbGU9ZixkPWIudGltZWxpbmUuX3BsYXkoZyl9LGIuYmluZEFuaW1hdGlvbkZvckdyb3VwPWZ1bmN0aW9uKGEpe2EuX2FuaW1hdGlvbi5fd3JhcHBlcj1hLGEuX2lzR3JvdXA9ITAsYi5hd2FpdFN0YXJ0VGltZShhKSxhLl9jb25zdHJ1Y3RDaGlsZEFuaW1hdGlvbnMoKSxhLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sYi5ncm91cENoaWxkRHVyYXRpb249ZH0oYyxlLGYpLGJbInRydWUiXT1hfSh7fSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKTsKCi8qKgpAbGljZW5zZSBAbm9jb21waWxlCkNvcHlyaWdodCAoYykgMjAxOCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiovCihmdW5jdGlvbigpey8qCgogQ29weXJpZ2h0IChjKSAyMDE2IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwondXNlIHN0cmljdCc7dmFyIG4scD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93PT09dGhpcz90aGlzOiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZudWxsIT1nbG9iYWw/Z2xvYmFsOnRoaXMsYWE9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7YSE9QXJyYXkucHJvdG90eXBlJiZhIT1PYmplY3QucHJvdG90eXBlJiYoYVtiXT1jLnZhbHVlKX07ZnVuY3Rpb24gYmEoKXtiYT1mdW5jdGlvbigpe307cC5TeW1ib2x8fChwLlN5bWJvbD1jYSl9dmFyIGNhPWZ1bmN0aW9uKCl7dmFyIGE9MDtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuImpzY29tcF9zeW1ib2xfIisoYnx8IiIpK2ErK319KCk7CmZ1bmN0aW9uIGRhKCl7YmEoKTt2YXIgYT1wLlN5bWJvbC5pdGVyYXRvcjthfHwoYT1wLlN5bWJvbC5pdGVyYXRvcj1wLlN5bWJvbCgiaXRlcmF0b3IiKSk7ImZ1bmN0aW9uIiE9dHlwZW9mIEFycmF5LnByb3RvdHlwZVthXSYmYWEoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBlYSh0aGlzKX19KTtkYT1mdW5jdGlvbigpe319ZnVuY3Rpb24gZWEoYSl7dmFyIGI9MDtyZXR1cm4gZmEoZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX0pfWZ1bmN0aW9uIGZhKGEpe2RhKCk7YT17bmV4dDphfTthW3AuU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtyZXR1cm4gYX1mdW5jdGlvbiBpYShhKXtkYSgpO3ZhciBiPWFbU3ltYm9sLml0ZXJhdG9yXTtyZXR1cm4gYj9iLmNhbGwoYSk6ZWEoYSl9CmZ1bmN0aW9uIGphKGEpe2Zvcih2YXIgYixjPVtdOyEoYj1hLm5leHQoKSkuZG9uZTspYy5wdXNoKGIudmFsdWUpO3JldHVybiBjfQooZnVuY3Rpb24oKXtpZighZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTthLmluaXRFdmVudCgiZm9vIiwhMCwhMCk7YS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBhLmRlZmF1bHRQcmV2ZW50ZWR9KCkpe3ZhciBhPUV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdDtFdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbGFibGUmJihhLmNhbGwodGhpcyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRlZmF1bHRQcmV2ZW50ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sY29uZmlndXJhYmxlOiEwfSkpfX12YXIgYj0vVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtpZighd2luZG93LkN1c3RvbUV2ZW50fHxiJiYiZnVuY3Rpb24iIT09dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCl3aW5kb3cuQ3VzdG9tRXZlbnQ9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9O3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpOwpjLmluaXRDdXN0b21FdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlLGIuZGV0YWlsKTtyZXR1cm4gY30sd2luZG93LkN1c3RvbUV2ZW50LnByb3RvdHlwZT13aW5kb3cuRXZlbnQucHJvdG90eXBlO2lmKCF3aW5kb3cuRXZlbnR8fGImJiJmdW5jdGlvbiIhPT10eXBlb2Ygd2luZG93LkV2ZW50KXt2YXIgYz13aW5kb3cuRXZlbnQ7d2luZG93LkV2ZW50PWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtjLmluaXRFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlKTtyZXR1cm4gY307aWYoYylmb3IodmFyIGQgaW4gYyl3aW5kb3cuRXZlbnRbZF09Y1tkXTt3aW5kb3cuRXZlbnQucHJvdG90eXBlPWMucHJvdG90eXBlfWlmKCF3aW5kb3cuTW91c2VFdmVudHx8YiYmImZ1bmN0aW9uIiE9PXR5cGVvZiB3aW5kb3cuTW91c2VFdmVudCl7Yj13aW5kb3cuTW91c2VFdmVudDt3aW5kb3cuTW91c2VFdmVudD1mdW5jdGlvbihhLApiKXtiPWJ8fHt9O3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50Iik7Yy5pbml0TW91c2VFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlLGIudmlld3x8d2luZG93LGIuZGV0YWlsLGIuc2NyZWVuWCxiLnNjcmVlblksYi5jbGllbnRYLGIuY2xpZW50WSxiLmN0cmxLZXksYi5hbHRLZXksYi5zaGlmdEtleSxiLm1ldGFLZXksYi5idXR0b24sYi5yZWxhdGVkVGFyZ2V0KTtyZXR1cm4gY307aWYoYilmb3IoZCBpbiBiKXdpbmRvdy5Nb3VzZUV2ZW50W2RdPWJbZF07d2luZG93Lk1vdXNlRXZlbnQucHJvdG90eXBlPWIucHJvdG90eXBlfUFycmF5LmZyb218fChBcnJheS5mcm9tPWZ1bmN0aW9uKGEpe3JldHVybltdLnNsaWNlLmNhbGwoYSl9KTtPYmplY3QuYXNzaWdufHwoT2JqZWN0LmFzc2lnbj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxkPTAsZTtkPGMubGVuZ3RoO2QrKylpZihlPWNbZF0pZm9yKHZhciBmPQphLG09ZSxxPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG0pLHg9MDt4PHEubGVuZ3RoO3grKyllPXFbeF0sZltlXT1tW2VdO3JldHVybiBhfSl9KSh3aW5kb3cuV2ViQ29tcG9uZW50cyk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBiKGEsYil7aWYoIWEuY2hpbGROb2Rlcy5sZW5ndGgpcmV0dXJuW107c3dpdGNoKGEubm9kZVR5cGUpe2Nhc2UgTm9kZS5ET0NVTUVOVF9OT0RFOnJldHVybiB1YS5jYWxsKGEsYik7Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6cmV0dXJuIGxiLmNhbGwoYSxiKTtkZWZhdWx0OnJldHVybiBVLmNhbGwoYSxiKX19dmFyIGM9InVuZGVmaW5lZCI9PT10eXBlb2YgSFRNTFRlbXBsYXRlRWxlbWVudCxkPSEoZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmNsb25lTm9kZSgpaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KSxlPSExOy9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiZmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSxiKXtpZihhIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3IodmFyIGQ7ZD1hLmZpcnN0Q2hpbGQ7KWMuY2FsbCh0aGlzLGQsYik7ZWxzZSBjLmNhbGwodGhpcywKYSxiKTtyZXR1cm4gYX1lPSEwO3ZhciBiPU5vZGUucHJvdG90eXBlLmNsb25lTm9kZTtOb2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24oYSl7YT1iLmNhbGwodGhpcyxhKTt0aGlzIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCYmKGEuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlKTtyZXR1cm4gYX07RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbD1IVE1MRWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbDtEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yPUhUTUxFbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLHtub2RlVHlwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERX0sY29uZmlndXJhYmxlOiEwfSxsb2NhbE5hbWU6e2dldDpmdW5jdGlvbigpe30sCmNvbmZpZ3VyYWJsZTohMH0sbm9kZU5hbWU6e2dldDpmdW5jdGlvbigpe3JldHVybiIjZG9jdW1lbnQtZnJhZ21lbnQifSxjb25maWd1cmFibGU6ITB9fSk7dmFyIGM9Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlO05vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZT1hO3ZhciBkPU5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkO05vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGIpe2IgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P2EuY2FsbCh0aGlzLGIsbnVsbCk6ZC5jYWxsKHRoaXMsYik7cmV0dXJuIGJ9O3ZhciBmPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGc9Tm9kZS5wcm90b3R5cGUucmVwbGFjZUNoaWxkO05vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZD1mdW5jdGlvbihiLGMpe2IgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50PyhhLmNhbGwodGhpcyxiLGMpLGYuY2FsbCh0aGlzLGMpKTpnLmNhbGwodGhpcyxiLGMpO3JldHVybiBjfTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD0KZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNyZWF0ZUVsZW1lbnQoImRmIik7YS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmV0dXJuIGF9O3ZhciBoPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlO0RvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7Yj1oLmNhbGwodGhpcyxhLGJ8fCExKTthIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCYmKGIuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlKTtyZXR1cm4gYn19KCk7dmFyIGY9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlLGc9RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsaD1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZSxrPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGw9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQsbT1Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQscT1ET01QYXJzZXIucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZywKeD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpfHx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5pbm5lckhUTUw9YX19LE09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsImNoaWxkTm9kZXMiKXx8e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9fSxVPUVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsdWE9RG9jdW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsbGI9RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCxtYj1mdW5jdGlvbigpe2lmKCFjKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtiLmNvbnRlbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwphLmNvbnRlbnQuYXBwZW5kQ2hpbGQoYik7YT1hLmNsb25lTm9kZSghMCk7cmV0dXJuIDA9PT1hLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGh8fDA9PT1hLmNvbnRlbnQuZmlyc3RDaGlsZC5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RofHxkfX0oKTtpZihjKXt2YXIgUz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInRlbXBsYXRlIiksQz0hMCxWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Vi50ZXh0Q29udGVudD0idGVtcGxhdGV7ZGlzcGxheTpub25lO30iO3ZhciBoYT1kb2N1bWVudC5oZWFkO2hhLmluc2VydEJlZm9yZShWLGhhLmZpcnN0RWxlbWVudENoaWxkKTthLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSk7dmFyIHZhPSFkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5oYXNPd25Qcm9wZXJ0eSgiaW5uZXJIVE1MIik7YS5HPWZ1bmN0aW9uKGIpe2lmKCFiLmNvbnRlbnQmJmIubmFtZXNwYWNlVVJJPT09CmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkpe2IuY29udGVudD1TLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IodmFyIGM7Yz1iLmZpcnN0Q2hpbGQ7KWwuY2FsbChiLmNvbnRlbnQsYyk7aWYodmEpYi5fX3Byb3RvX189YS5wcm90b3R5cGU7ZWxzZSBpZihiLmNsb25lTm9kZT1mdW5jdGlvbihiKXtyZXR1cm4gYS5hKHRoaXMsYil9LEMpdHJ5e1AoYiksVyhiKX1jYXRjaChUZyl7Qz0hMX1hLkMoYi5jb250ZW50KX19O3ZhciBYPXtvcHRpb246WyJzZWxlY3QiXSx0aGVhZDpbInRhYmxlIl0sY29sOlsiY29sZ3JvdXAiLCJ0YWJsZSJdLHRyOlsidGJvZHkiLCJ0YWJsZSJdLHRoOlsidHIiLCJ0Ym9keSIsInRhYmxlIl0sdGQ6WyJ0ciIsInRib2R5IiwidGFibGUiXX0sUD1mdW5jdGlvbihiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiaW5uZXJIVE1MIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5iKHRoaXMpfSxzZXQ6ZnVuY3Rpb24oYil7dmFyIGM9WFsoLzwoW2Etel1bXi9cMD5ceDIwXHRcclxuXGZdKykvaS5leGVjKGIpfHwKWyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV07aWYoYylmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyliPSI8IitjW2RdKyI+IitiKyI8LyIrY1tkXSsiPiI7Uy5ib2R5LmlubmVySFRNTD1iO2ZvcihhLkMoUyk7dGhpcy5jb250ZW50LmZpcnN0Q2hpbGQ7KWsuY2FsbCh0aGlzLmNvbnRlbnQsdGhpcy5jb250ZW50LmZpcnN0Q2hpbGQpO2I9Uy5ib2R5O2lmKGMpZm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyliPWIubGFzdENoaWxkO2Zvcig7Yi5maXJzdENoaWxkOylsLmNhbGwodGhpcy5jb250ZW50LGIuZmlyc3RDaGlsZCl9LGNvbmZpZ3VyYWJsZTohMH0pfSxXPWZ1bmN0aW9uKGEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJvdXRlckhUTUwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iPHRlbXBsYXRlPiIrdGhpcy5pbm5lckhUTUwrIjwvdGVtcGxhdGU+In0sc2V0OmZ1bmN0aW9uKGEpe2lmKHRoaXMucGFyZW50Tm9kZSl7Uy5ib2R5LmlubmVySFRNTD1hO2ZvcihhPXRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Uy5ib2R5LmZpcnN0Q2hpbGQ7KWwuY2FsbChhLApTLmJvZHkuZmlyc3RDaGlsZCk7bS5jYWxsKHRoaXMucGFyZW50Tm9kZSxhLHRoaXMpfWVsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBzZXQgdGhlICdvdXRlckhUTUwnIHByb3BlcnR5IG9uICdFbGVtZW50JzogVGhpcyBlbGVtZW50IGhhcyBubyBwYXJlbnQgbm9kZS4iKTt9LGNvbmZpZ3VyYWJsZTohMH0pfTtQKGEucHJvdG90eXBlKTtXKGEucHJvdG90eXBlKTthLkM9ZnVuY3Rpb24oYyl7Yz1iKGMsInRlbXBsYXRlIik7Zm9yKHZhciBkPTAsZT1jLmxlbmd0aCxmO2Q8ZSYmKGY9Y1tkXSk7ZCsrKWEuRyhmKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXthLkMoZG9jdW1lbnQpfSk7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgYj1nLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsidGVtcGxhdGUiPT09Yi5sb2NhbE5hbWUmJmEuRyhiKTtyZXR1cm4gYn07RE9NUGFyc2VyLnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9CmZ1bmN0aW9uKCl7dmFyIGI9cS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5DKGIpO3JldHVybiBifTtPYmplY3QuZGVmaW5lUHJvcGVydHkoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmIodGhpcyl9LHNldDpmdW5jdGlvbihiKXt4LnNldC5jYWxsKHRoaXMsYik7YS5DKHRoaXMpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO3ZhciBWZT0vWyZcdTAwQTAiXS9nLHljPS9bJlx1MDBBMDw+XS9nLHpjPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICImIjpyZXR1cm4iJmFtcDsiO2Nhc2UgIjwiOnJldHVybiImbHQ7IjtjYXNlICI+IjpyZXR1cm4iJmd0OyI7Y2FzZSAnIic6cmV0dXJuIiZxdW90OyI7Y2FzZSAiXHUwMGEwIjpyZXR1cm4iJm5ic3A7In19O1Y9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKyliW2FbY11dPSEwO3JldHVybiBifTt2YXIgV2U9VigiYXJlYSBiYXNlIGJyIGNvbCBjb21tYW5kIGVtYmVkIGhyIGltZyBpbnB1dCBrZXlnZW4gbGluayBtZXRhIHBhcmFtIHNvdXJjZSB0cmFjayB3YnIiLnNwbGl0KCIgIikpLApYZT1WKCJzdHlsZSBzY3JpcHQgeG1wIGlmcmFtZSBub2VtYmVkIG5vZnJhbWVzIHBsYWludGV4dCBub3NjcmlwdCIuc3BsaXQoIiAiKSksbmI9ZnVuY3Rpb24oYSxiKXsidGVtcGxhdGUiPT09YS5sb2NhbE5hbWUmJihhPWEuY29udGVudCk7Zm9yKHZhciBjPSIiLGQ9Yj9iKGEpOk0uZ2V0LmNhbGwoYSksZT0wLGY9ZC5sZW5ndGgsZztlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hO3ZhciBsPWI7c3dpdGNoKGgubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Zm9yKHZhciBQPWgubG9jYWxOYW1lLG09IjwiK1AsVz1oLmF0dHJpYnV0ZXMscT0wO2s9V1txXTtxKyspbSs9IiAiK2submFtZSsnPSInK2sudmFsdWUucmVwbGFjZShWZSx6YykrJyInO20rPSI+IjtoPVdlW1BdP206bStuYihoLGwpKyI8LyIrUCsiPiI7YnJlYWsgYTtjYXNlIE5vZGUuVEVYVF9OT0RFOmg9aC5kYXRhO2g9ayYmWGVbay5sb2NhbE5hbWVdP2g6aC5yZXBsYWNlKHljLHpjKTticmVhayBhOwpjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9Ilx4M2MhLS0iK2guZGF0YSsiLS1ceDNlIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpO319Yys9aH1yZXR1cm4gY319aWYoY3x8bWIpe2EuYT1mdW5jdGlvbihhLGIpe3ZhciBjPWYuY2FsbChhLCExKTt0aGlzLkcmJnRoaXMuRyhjKTtiJiYobC5jYWxsKGMuY29udGVudCxmLmNhbGwoYS5jb250ZW50LCEwKSksb2IoYy5jb250ZW50LGEuY29udGVudCkpO3JldHVybiBjfTt2YXIgb2I9ZnVuY3Rpb24oYyxkKXtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwmJihkPWIoZCwidGVtcGxhdGUiKSwwIT09ZC5sZW5ndGgpKXtjPWIoYywidGVtcGxhdGUiKTtmb3IodmFyIGU9MCxmPWMubGVuZ3RoLGcsaDtlPGY7ZSsrKWg9ZFtlXSxnPWNbZV0sYSYmYS5HJiZhLkcoaCksbS5jYWxsKGcucGFyZW50Tm9kZSxZZS5jYWxsKGgsITApLGcpfX0sWWU9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlPQpmdW5jdGlvbihiKXtpZighZSYmZCYmdGhpcyBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpaWYoYil2YXIgYz1aZS5jYWxsKHRoaXMub3duZXJEb2N1bWVudCx0aGlzLCEwKTtlbHNlIHJldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Vsc2UgdGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYidGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWUmJnRoaXMubmFtZXNwYWNlVVJJPT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJP2M9YS5hKHRoaXMsYik6Yz1mLmNhbGwodGhpcyxiKTtiJiZvYihjLHRoaXMpO3JldHVybiBjfSxaZT1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihjLGQpe2Q9ZHx8ITE7aWYoInRlbXBsYXRlIj09PWMubG9jYWxOYW1lKXJldHVybiBhLmEoYyxkKTt2YXIgZT1oLmNhbGwodGhpcyxjLGQpO2lmKGQpe29iKGUsYyk7Yz1iKGUsJ3NjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXScpOwpmb3IodmFyIGYsaz0wO2s8Yy5sZW5ndGg7aysrKXtmPWNba107ZD1nLmNhbGwoZG9jdW1lbnQsInNjcmlwdCIpO2QudGV4dENvbnRlbnQ9Zi50ZXh0Q29udGVudDtmb3IodmFyIGw9Zi5hdHRyaWJ1dGVzLFA9MCxXO1A8bC5sZW5ndGg7UCsrKVc9bFtQXSxkLnNldEF0dHJpYnV0ZShXLm5hbWUsVy52YWx1ZSk7bS5jYWxsKGYucGFyZW50Tm9kZSxkLGYpfX1yZXR1cm4gZX19YyYmKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50PWEpfSkoKTt2YXIga2E9c2V0VGltZW91dDtmdW5jdGlvbiBsYSgpe31mdW5jdGlvbiBtYShhLGIpe3JldHVybiBmdW5jdGlvbigpe2EuYXBwbHkoYixhcmd1bWVudHMpfX1mdW5jdGlvbiByKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHIpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMudT0wO3RoaXMubWE9ITE7dGhpcy5oPXZvaWQgMDt0aGlzLkk9W107bmEoYSx0aGlzKX0KZnVuY3Rpb24gb2EoYSxiKXtmb3IoOzM9PT1hLnU7KWE9YS5oOzA9PT1hLnU/YS5JLnB1c2goYik6KGEubWE9ITAscGEoZnVuY3Rpb24oKXt2YXIgYz0xPT09YS51P2IuTmE6Yi5PYTtpZihudWxsPT09YykoMT09PWEudT9xYTpyYSkoYi5nYSxhLmgpO2Vsc2V7dHJ5e3ZhciBkPWMoYS5oKX1jYXRjaChlKXtyYShiLmdhLGUpO3JldHVybn1xYShiLmdhLGQpfX0pKX1mdW5jdGlvbiBxYShhLGIpe3RyeXtpZihiPT09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLiIpO2lmKGImJigib2JqZWN0Ij09PXR5cGVvZiBifHwiZnVuY3Rpb24iPT09dHlwZW9mIGIpKXt2YXIgYz1iLnRoZW47aWYoYiBpbnN0YW5jZW9mIHIpe2EudT0zO2EuaD1iO3NhKGEpO3JldHVybn1pZigiZnVuY3Rpb24iPT09dHlwZW9mIGMpe25hKG1hKGMsYiksYSk7cmV0dXJufX1hLnU9MTthLmg9YjtzYShhKX1jYXRjaChkKXtyYShhLGQpfX0KZnVuY3Rpb24gcmEoYSxiKXthLnU9MjthLmg9YjtzYShhKX1mdW5jdGlvbiBzYShhKXsyPT09YS51JiYwPT09YS5JLmxlbmd0aCYmcGEoZnVuY3Rpb24oKXthLm1hfHwidW5kZWZpbmVkIiE9PXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLGEuaCl9KTtmb3IodmFyIGI9MCxjPWEuSS5sZW5ndGg7YjxjO2IrKylvYShhLGEuSVtiXSk7YS5JPW51bGx9ZnVuY3Rpb24gdGEoYSxiLGMpe3RoaXMuTmE9ImZ1bmN0aW9uIj09PXR5cGVvZiBhP2E6bnVsbDt0aGlzLk9hPSJmdW5jdGlvbiI9PT10eXBlb2YgYj9iOm51bGw7dGhpcy5nYT1jfWZ1bmN0aW9uIG5hKGEsYil7dmFyIGM9ITE7dHJ5e2EoZnVuY3Rpb24oYSl7Y3x8KGM9ITAscWEoYixhKSl9LGZ1bmN0aW9uKGEpe2N8fChjPSEwLHJhKGIsYSkpfSl9Y2F0Y2goZCl7Y3x8KGM9ITAscmEoYixkKSl9fQpyLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsYSl9O3IucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihsYSk7b2EodGhpcyxuZXcgdGEoYSxiLGMpKTtyZXR1cm4gY307ci5wcm90b3R5cGVbImZpbmFsbHkiXT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGIucmVzb2x2ZShhKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gYi5yZXNvbHZlKGEoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBiLnJlamVjdChjKX0pfSl9OwpmdW5jdGlvbiB3YShhKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oYixjKXtmdW5jdGlvbiBkKGEsZyl7dHJ5e2lmKGcmJigib2JqZWN0Ij09PXR5cGVvZiBnfHwiZnVuY3Rpb24iPT09dHlwZW9mIGcpKXt2YXIgaD1nLnRoZW47aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBoKXtoLmNhbGwoZyxmdW5jdGlvbihiKXtkKGEsYil9LGMpO3JldHVybn19ZVthXT1nOzA9PT0tLWYmJmIoZSl9Y2F0Y2gobSl7YyhtKX19aWYoIWF8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGEubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2UuYWxsIGFjY2VwdHMgYW4gYXJyYXkiKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGIoW10pO2Zvcih2YXIgZj1lLmxlbmd0aCxnPTA7ZzxlLmxlbmd0aDtnKyspZChnLGVbZ10pfSl9CmZ1bmN0aW9uIHhhKGEpe3JldHVybiBhJiYib2JqZWN0Ij09PXR5cGVvZiBhJiZhLmNvbnN0cnVjdG9yPT09cj9hOm5ldyByKGZ1bmN0aW9uKGIpe2IoYSl9KX1mdW5jdGlvbiB5YShhKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oYixjKXtjKGEpfSl9ZnVuY3Rpb24gemEoYSl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKGIsYyl7Zm9yKHZhciBkPTAsZT1hLmxlbmd0aDtkPGU7ZCsrKWFbZF0udGhlbihiLGMpfSl9dmFyIHBhPSJmdW5jdGlvbiI9PT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZmdW5jdGlvbihhKXtzZXRJbW1lZGlhdGUoYSl9fHxmdW5jdGlvbihhKXtrYShhLDApfTsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KaWYoIXdpbmRvdy5Qcm9taXNlKXt3aW5kb3cuUHJvbWlzZT1yO3IucHJvdG90eXBlLnRoZW49ci5wcm90b3R5cGUudGhlbjtyLmFsbD13YTtyLnJhY2U9emE7ci5yZXNvbHZlPXhhO3IucmVqZWN0PXlhO3ZhciBBYT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIiksQmE9W107KG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPUJhLmxlbmd0aCxiPTA7YjxhO2IrKylCYVtiXSgpO0JhLnNwbGljZSgwLGEpfSkpLm9ic2VydmUoQWEse2NoYXJhY3RlckRhdGE6ITB9KTtwYT1mdW5jdGlvbihhKXtCYS5wdXNoKGEpO0FhLnRleHRDb250ZW50PTA8QWEudGV4dENvbnRlbnQubGVuZ3RoPyIiOiJhIn19OyhmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEsYil7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpcmV0dXJuIG5ldyBDdXN0b21FdmVudChhLGIpO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpO2MuaW5pdEN1c3RvbUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi5kZXRhaWwpO3JldHVybiBjfWZ1bmN0aW9uIGMoYSl7aWYoTSlyZXR1cm4gYS5vd25lckRvY3VtZW50IT09ZG9jdW1lbnQ/YS5vd25lckRvY3VtZW50Om51bGw7dmFyIGI9YS5fX2ltcG9ydERvYztpZighYiYmYS5wYXJlbnROb2RlKXtiPWEucGFyZW50Tm9kZTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGIuY2xvc2VzdCliPWIuY2xvc2VzdCgibGlua1tyZWw9aW1wb3J0XSIpO2Vsc2UgZm9yKDshaChiKSYmKGI9Yi5wYXJlbnROb2RlKTspO2EuX19pbXBvcnREb2M9Yn1yZXR1cm4gYn1mdW5jdGlvbiBkKGEpe3ZhciBiPW0oZG9jdW1lbnQsImxpbmtbcmVsPWltcG9ydF06bm90KFtpbXBvcnQtZGVwZW5kZW5jeV0pIiksCmM9Yi5sZW5ndGg7Yz9xKGIsZnVuY3Rpb24oYil7cmV0dXJuIGcoYixmdW5jdGlvbigpezA9PT0tLWMmJmEoKX0pfSk6YSgpfWZ1bmN0aW9uIGUoYSl7ZnVuY3Rpb24gYigpeyJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJmRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixiKSxhKCkpfWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGIpO2IoKX1mdW5jdGlvbiBmKGEpe2UoZnVuY3Rpb24oKXtyZXR1cm4gZChmdW5jdGlvbigpe3JldHVybiBhJiZhKCl9KX0pfWZ1bmN0aW9uIGcoYSxiKXtpZihhLl9fbG9hZGVkKWImJmIoKTtlbHNlIGlmKCJzY3JpcHQiPT09YS5sb2NhbE5hbWUmJiFhLnNyY3x8InN0eWxlIj09PWEubG9jYWxOYW1lJiYhYS5maXJzdENoaWxkKWEuX19sb2FkZWQ9ITAsYiYmYigpO2Vsc2V7dmFyIGM9ZnVuY3Rpb24oZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKGQudHlwZSwKYyk7YS5fX2xvYWRlZD0hMDtiJiZiKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7aGEmJiJzdHlsZSI9PT1hLmxvY2FsTmFtZXx8YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9fWZ1bmN0aW9uIGgoYSl7cmV0dXJuIGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmImxpbmsiPT09YS5sb2NhbE5hbWUmJiJpbXBvcnQiPT09YS5yZWx9ZnVuY3Rpb24gaygpe3ZhciBhPXRoaXM7dGhpcy5hPXt9O3RoaXMuYj0wO3RoaXMuYz1uZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihiKXtyZXR1cm4gYS5KYShiKX0pO3RoaXMuYy5vYnNlcnZlKGRvY3VtZW50LmhlYWQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7dGhpcy5sb2FkSW1wb3J0cyhkb2N1bWVudCl9ZnVuY3Rpb24gbChhKXtxKG0oYSwidGVtcGxhdGUiKSxmdW5jdGlvbihhKXtxKG0oYS5jb250ZW50LCdzY3JpcHQ6bm90KFt0eXBlXSksc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiXSxzY3JpcHRbdHlwZT0idGV4dC9qYXZhc2NyaXB0Il0sc2NyaXB0W3R5cGU9Im1vZHVsZSJdJyksCmZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3EoYS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGEpe3JldHVybiBiLnNldEF0dHJpYnV0ZShhLm5hbWUsYS52YWx1ZSl9KTtiLnRleHRDb250ZW50PWEudGV4dENvbnRlbnQ7YS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChiLGEpfSk7bChhLmNvbnRlbnQpfSl9ZnVuY3Rpb24gbShhLGIpe3JldHVybiBhLmNoaWxkTm9kZXMubGVuZ3RoP2EucXVlcnlTZWxlY3RvckFsbChiKTpVfWZ1bmN0aW9uIHEoYSxiLGMpe3ZhciBkPWE/YS5sZW5ndGg6MCxlPWM/LTE6MTtmb3IoYz1jP2QtMTowO2M8ZCYmMDw9YztjKz1lKWIoYVtjXSxjKX12YXIgeD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIiksTT0iaW1wb3J0ImluIHgsVT14LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSx1YT1udWxsOyExPT09ImN1cnJlbnRTY3JpcHQiaW4gZG9jdW1lbnQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb2N1bWVudCwiY3VycmVudFNjcmlwdCIsCntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWF8fCgiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9kb2N1bWVudC5zY3JpcHRzW2RvY3VtZW50LnNjcmlwdHMubGVuZ3RoLTFdOm51bGwpfSxjb25maWd1cmFibGU6ITB9KTt2YXIgbGI9Lyh1cmxcKCkoW14pXSopKFwpKS9nLG1iPS8oQGltcG9ydFtcc10rKD8hdXJsXCgpKShbXjtdKikoOykvZyxTPS8oPGxpbmtbXj5dKikocmVsPVsnfCJdP3N0eWxlc2hlZXRbJ3wiXT9bXj5dKj4pL2csQz17RWE6ZnVuY3Rpb24oYSxiKXthLmhyZWYmJmEuc2V0QXR0cmlidXRlKCJocmVmIixDLlgoYS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxiKSk7YS5zcmMmJmEuc2V0QXR0cmlidXRlKCJzcmMiLEMuWChhLmdldEF0dHJpYnV0ZSgic3JjIiksYikpO2lmKCJzdHlsZSI9PT1hLmxvY2FsTmFtZSl7dmFyIGM9Qy5xYShhLnRleHRDb250ZW50LGIsbGIpO2EudGV4dENvbnRlbnQ9Qy5xYShjLGIsbWIpfX0scWE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJlcGxhY2UoYywKZnVuY3Rpb24oYSxjLGQsZSl7YT1kLnJlcGxhY2UoL1siJ10vZywiIik7YiYmKGE9Qy5YKGEsYikpO3JldHVybiBjKyInIithKyInIitlfSl9LFg6ZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1DLmFhKXtDLmFhPSExO3RyeXt2YXIgYz1uZXcgVVJMKCJiIiwiaHR0cDovL2EiKTtjLnBhdGhuYW1lPSJjJTIwZCI7Qy5hYT0iaHR0cDovL2EvYyUyMGQiPT09Yy5ocmVmfWNhdGNoKHljKXt9fWlmKEMuYWEpcmV0dXJuKG5ldyBVUkwoYSxiKSkuaHJlZjtjPUMueGE7Y3x8KGM9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCJ0ZW1wIiksQy54YT1jLGMuamE9Yy5jcmVhdGVFbGVtZW50KCJiYXNlIiksYy5oZWFkLmFwcGVuZENoaWxkKGMuamEpLGMuaWE9Yy5jcmVhdGVFbGVtZW50KCJhIikpO2MuamEuaHJlZj1iO2MuaWEuaHJlZj1hO3JldHVybiBjLmlhLmhyZWZ8fGF9fSxWPXthc3luYzohMCxsb2FkOmZ1bmN0aW9uKGEsYixjKXtpZihhKWlmKGEubWF0Y2goL15kYXRhOi8pKXthPQphLnNwbGl0KCIsIik7dmFyIGQ9YVsxXTtkPS0xPGFbMF0uaW5kZXhPZigiO2Jhc2U2NCIpP2F0b2IoZCk6ZGVjb2RlVVJJQ29tcG9uZW50KGQpO2IoZCl9ZWxzZXt2YXIgZT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZS5vcGVuKCJHRVQiLGEsVi5hc3luYyk7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYT1lLnJlc3BvbnNlVVJMfHxlLmdldFJlc3BvbnNlSGVhZGVyKCJMb2NhdGlvbiIpO2EmJjA9PT1hLmluZGV4T2YoIi8iKSYmKGE9KGxvY2F0aW9uLm9yaWdpbnx8bG9jYXRpb24ucHJvdG9jb2wrIi8vIitsb2NhdGlvbi5ob3N0KSthKTt2YXIgZD1lLnJlc3BvbnNlfHxlLnJlc3BvbnNlVGV4dDszMDQ9PT1lLnN0YXR1c3x8MD09PWUuc3RhdHVzfHwyMDA8PWUuc3RhdHVzJiYzMDA+ZS5zdGF0dXM/YihkLGEpOmMoZCl9O2Uuc2VuZCgpfWVsc2UgYygiZXJyb3I6IGhyZWYgbXVzdCBiZSBzcGVjaWZpZWQiKX19LGhhPS9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwvRWRnZVwvXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKay5wcm90b3R5cGUubG9hZEltcG9ydHM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczthPW0oYSwibGlua1tyZWw9aW1wb3J0XSIpO3EoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi5nKGEpfSl9O2sucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWEuaHJlZjtpZih2b2lkIDAhPT10aGlzLmFbY10pe3ZhciBkPXRoaXMuYVtjXTtkJiZkLl9fbG9hZGVkJiYoYS5fX2ltcG9ydD1kLHRoaXMuZihhKSl9ZWxzZSB0aGlzLmIrKyx0aGlzLmFbY109InBlbmRpbmciLFYubG9hZChjLGZ1bmN0aW9uKGEsZCl7YT1iLkthKGEsZHx8Yyk7Yi5hW2NdPWE7Yi5iLS07Yi5sb2FkSW1wb3J0cyhhKTtiLmwoKX0sZnVuY3Rpb24oKXtiLmFbY109bnVsbDtiLmItLTtiLmwoKX0pfTtrLnByb3RvdHlwZS5LYT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aGEmJihhPWEucmVwbGFjZShTLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4tMT09PQphLmluZGV4T2YoInR5cGU9Iik/YisiIHR5cGU9aW1wb3J0LWRpc2FibGUgIitjOmF9KSk7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtjLmlubmVySFRNTD1hO2lmKGMuY29udGVudClhPWMuY29udGVudCxsKGEpO2Vsc2UgZm9yKGE9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2MuZmlyc3RDaGlsZDspYS5hcHBlbmRDaGlsZChjLmZpcnN0Q2hpbGQpO2lmKGM9YS5xdWVyeVNlbGVjdG9yKCJiYXNlIikpYj1DLlgoYy5nZXRBdHRyaWJ1dGUoImhyZWYiKSxiKSxjLnJlbW92ZUF0dHJpYnV0ZSgiaHJlZiIpO2M9bShhLCdsaW5rW3JlbD1pbXBvcnRdLGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWZdW3R5cGU9aW1wb3J0LWRpc2FibGVdLHN0eWxlOm5vdChbdHlwZV0pLGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWZdOm5vdChbdHlwZV0pLHNjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXSxzY3JpcHRbdHlwZT0ibW9kdWxlIl0nKTsKdmFyIGQ9MDtxKGMsZnVuY3Rpb24oYSl7ZyhhKTtDLkVhKGEsYik7YS5zZXRBdHRyaWJ1dGUoImltcG9ydC1kZXBlbmRlbmN5IiwiIik7aWYoInNjcmlwdCI9PT1hLmxvY2FsTmFtZSYmIWEuc3JjJiZhLnRleHRDb250ZW50KXtpZigibW9kdWxlIj09PWEudHlwZSl0aHJvdyBFcnJvcigiSW5saW5lIG1vZHVsZSBzY3JpcHRzIGFyZSBub3Qgc3VwcG9ydGVkIGluIEhUTUwgSW1wb3J0cy4iKTthLnNldEF0dHJpYnV0ZSgic3JjIiwiZGF0YTp0ZXh0L2phdmFzY3JpcHQ7Y2hhcnNldD11dGYtOCwiK2VuY29kZVVSSUNvbXBvbmVudChhLnRleHRDb250ZW50KygiXG4vLyMgc291cmNlVVJMPSIrYisoZD8iLSIrZDoiIikrIi5qc1xuIikpKTthLnRleHRDb250ZW50PSIiO2QrK319KTtyZXR1cm4gYX07ay5wcm90b3R5cGUubD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYoIXRoaXMuYil7dGhpcy5jLmRpc2Nvbm5lY3QoKTt0aGlzLmZsYXR0ZW4oZG9jdW1lbnQpO3ZhciBiPSExLGM9ITEsZD1mdW5jdGlvbigpe2MmJgpiJiYoYS5sb2FkSW1wb3J0cyhkb2N1bWVudCksYS5ifHwoYS5jLm9ic2VydmUoZG9jdW1lbnQuaGVhZCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxhLmRhKCkpKX07dGhpcy5NYShmdW5jdGlvbigpe2M9ITA7ZCgpfSk7dGhpcy5MYShmdW5jdGlvbigpe2I9ITA7ZCgpfSl9fTtrLnByb3RvdHlwZS5mbGF0dGVuPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7YT1tKGEsImxpbmtbcmVsPWltcG9ydF0iKTtxKGEsZnVuY3Rpb24oYSl7dmFyIGM9Yi5hW2EuaHJlZl07KGEuX19pbXBvcnQ9YykmJmMubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJihiLmFbYS5ocmVmXT1hLGEucmVhZHlTdGF0ZT0ibG9hZGluZyIsYS5fX2ltcG9ydD1hLGIuZmxhdHRlbihjKSxhLmFwcGVuZENoaWxkKGMpKX0pfTtrLnByb3RvdHlwZS5MYT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGUpe2lmKGU8ZCl7dmFyIGY9Y1tlXSxoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2YucmVtb3ZlQXR0cmlidXRlKCJpbXBvcnQtZGVwZW5kZW5jeSIpOwpxKGYuYXR0cmlidXRlcyxmdW5jdGlvbihhKXtyZXR1cm4gaC5zZXRBdHRyaWJ1dGUoYS5uYW1lLGEudmFsdWUpfSk7dWE9aDtmLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGgsZik7ZyhoLGZ1bmN0aW9uKCl7dWE9bnVsbDtiKGUrMSl9KX1lbHNlIGEoKX12YXIgYz1tKGRvY3VtZW50LCJzY3JpcHRbaW1wb3J0LWRlcGVuZGVuY3ldIiksZD1jLmxlbmd0aDtiKDApfTtrLnByb3RvdHlwZS5NYT1mdW5jdGlvbihhKXt2YXIgYj1tKGRvY3VtZW50LCJzdHlsZVtpbXBvcnQtZGVwZW5kZW5jeV0sbGlua1tyZWw9c3R5bGVzaGVldF1baW1wb3J0LWRlcGVuZGVuY3ldIiksZD1iLmxlbmd0aDtpZihkKXt2YXIgZT1oYSYmISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXVt0eXBlPWltcG9ydC1kaXNhYmxlXSIpO3EoYixmdW5jdGlvbihiKXtnKGIsZnVuY3Rpb24oKXtiLnJlbW92ZUF0dHJpYnV0ZSgiaW1wb3J0LWRlcGVuZGVuY3kiKTswPT09LS1kJiYKYSgpfSk7aWYoZSYmYi5wYXJlbnROb2RlIT09ZG9jdW1lbnQuaGVhZCl7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmxvY2FsTmFtZSk7Zi5fX2FwcGxpZWRFbGVtZW50PWI7Zi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJpbXBvcnQtcGxhY2Vob2xkZXIiKTtiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGYsYi5uZXh0U2libGluZyk7Zm9yKGY9YyhiKTtmJiZjKGYpOylmPWMoZik7Zi5wYXJlbnROb2RlIT09ZG9jdW1lbnQuaGVhZCYmKGY9bnVsbCk7ZG9jdW1lbnQuaGVhZC5pbnNlcnRCZWZvcmUoYixmKTtiLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpfX0pfWVsc2UgYSgpfTtrLnByb3RvdHlwZS5kYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1tKGRvY3VtZW50LCJsaW5rW3JlbD1pbXBvcnRdIik7cShiLGZ1bmN0aW9uKGIpe3JldHVybiBhLmYoYil9LCEwKX07ay5wcm90b3R5cGUuZj1mdW5jdGlvbihhKXthLl9fbG9hZGVkfHwoYS5fX2xvYWRlZD0hMCxhLmltcG9ydCYmKGEuaW1wb3J0LnJlYWR5U3RhdGU9CiJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudChiKGEuaW1wb3J0PyJsb2FkIjoiZXJyb3IiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnZvaWQgMH0pKSl9O2sucHJvdG90eXBlLkphPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7cShhLGZ1bmN0aW9uKGEpe3JldHVybiBxKGEuYWRkZWROb2RlcyxmdW5jdGlvbihhKXthJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJihoKGEpP2IuZyhhKTpiLmxvYWRJbXBvcnRzKGEpKX0pfSl9O3ZhciB2YT1udWxsO2lmKE0peD1tKGRvY3VtZW50LCJsaW5rW3JlbD1pbXBvcnRdIikscSh4LGZ1bmN0aW9uKGEpe2EuaW1wb3J0JiYibG9hZGluZyI9PT1hLmltcG9ydC5yZWFkeVN0YXRlfHwoYS5fX2xvYWRlZD0hMCl9KSx4PWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7aChhKSYmKGEuX19sb2FkZWQ9ITApfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix4LCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsCngsITApO2Vsc2V7dmFyIFg9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwiYmFzZVVSSSIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgoIVh8fFguY29uZmlndXJhYmxlP05vZGU6RWxlbWVudCkucHJvdG90eXBlLCJiYXNlVVJJIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGE9aCh0aGlzKT90aGlzOmModGhpcyk7cmV0dXJuIGE/YS5ocmVmOlgmJlguZ2V0P1guZ2V0LmNhbGwodGhpcyk6KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJhc2UiKXx8d2luZG93LmxvY2F0aW9uKS5ocmVmfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MTGlua0VsZW1lbnQucHJvdG90eXBlLCJpbXBvcnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2ltcG9ydHx8bnVsbH0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KTtlKGZ1bmN0aW9uKCl7dmE9bmV3IGt9KX1mKGZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoYigiSFRNTEltcG9ydHNMb2FkZWQiLAp7Y2FuY2VsYWJsZTohMCxidWJibGVzOiEwLGRldGFpbDp2b2lkIDB9KSl9KTthLnVzZU5hdGl2ZT1NO2Eud2hlblJlYWR5PWY7YS5pbXBvcnRGb3JFbGVtZW50PWM7YS5sb2FkSW1wb3J0cz1mdW5jdGlvbihhKXt2YSYmdmEubG9hZEltcG9ydHMoYSl9fSkod2luZG93LkhUTUxJbXBvcnRzPXdpbmRvdy5IVE1MSW1wb3J0c3x8e30pOy8qCgogQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwp3aW5kb3cuV2ViQ29tcG9uZW50cz13aW5kb3cuV2ViQ29tcG9uZW50c3x8e2ZsYWdzOnt9fTt2YXIgQ2E9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyYyo9IndlYmNvbXBvbmVudHMtbGl0ZS5qcyJdJyksRGE9L3djLSguKykvLHQ9e307aWYoIXQubm9PcHRzKXtsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSkuc3BsaXQoIiYiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiPSIpO3ZhciBiO2FbMF0mJihiPWFbMF0ubWF0Y2goRGEpKSYmKHRbYlsxXV09YVsxXXx8ITApfSk7aWYoQ2EpZm9yKHZhciBFYT0wLEZhPXZvaWQgMDtGYT1DYS5hdHRyaWJ1dGVzW0VhXTtFYSsrKSJzcmMiIT09RmEubmFtZSYmKHRbRmEubmFtZV09RmEudmFsdWV8fCEwKTtpZih0LmxvZyYmdC5sb2cuc3BsaXQpe3ZhciBHYT10LmxvZy5zcGxpdCgiLCIpO3QubG9nPXt9O0dhLmZvckVhY2goZnVuY3Rpb24oYSl7dC5sb2dbYV09ITB9KX1lbHNlIHQubG9nPXt9fQp3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncz10O3ZhciBIYT10LnNoYWR5ZG9tO0hhJiYod2luZG93LlNoYWR5RE9NPXdpbmRvdy5TaGFkeURPTXx8e30sd2luZG93LlNoYWR5RE9NLmZvcmNlPUhhKTt2YXIgSWE9dC5yZWdpc3Rlcnx8dC5jZTtJYSYmd2luZG93LmN1c3RvbUVsZW1lbnRzJiYod2luZG93LmN1c3RvbUVsZW1lbnRzLmZvcmNlUG9seWZpbGw9SWEpOy8qCgpDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dApDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwpzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwpmdW5jdGlvbiBKYSgpe3RoaXMucGE9dGhpcy5yb290PW51bGw7dGhpcy5UPSExO3RoaXMuRD10aGlzLlA9dGhpcy5jYT10aGlzLmFzc2lnbmVkU2xvdD10aGlzLmFzc2lnbmVkTm9kZXM9dGhpcy5IPW51bGw7dGhpcy5jaGlsZE5vZGVzPXRoaXMubmV4dFNpYmxpbmc9dGhpcy5wcmV2aW91c1NpYmxpbmc9dGhpcy5sYXN0Q2hpbGQ9dGhpcy5maXJzdENoaWxkPXRoaXMucGFyZW50Tm9kZT10aGlzLks9dm9pZCAwO3RoaXMua2E9dGhpcy5sYT0hMTt0aGlzLk89e319SmEucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt9fTtmdW5jdGlvbiB1KGEpe2EuX19zaGFkeXx8KGEuX19zaGFkeT1uZXcgSmEpO3JldHVybiBhLl9fc2hhZHl9ZnVuY3Rpb24gdihhKXtyZXR1cm4gYSYmYS5fX3NoYWR5fTt2YXIgdz13aW5kb3cuU2hhZHlET018fHt9O3cuR2E9ISghRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93fHwhTm9kZS5wcm90b3R5cGUuZ2V0Um9vdE5vZGUpO3ZhciBLYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJmaXJzdENoaWxkIik7dy5tPSEhKEthJiZLYS5jb25maWd1cmFibGUmJkthLmdldCk7dy5lYT13LmZvcmNlfHwhdy5HYTt3Lko9dy5ub1BhdGNofHwhMTt3Lm9hPXcucHJlZmVyUGVyZm9ybWFuY2U7ZnVuY3Rpb24geShhKXtyZXR1cm4oYT12KGEpKSYmdm9pZCAwIT09YS5maXJzdENoaWxkfWZ1bmN0aW9uIHooYSl7cmV0dXJuIlNoYWR5Um9vdCI9PT1hLnphfWZ1bmN0aW9uIExhKGEpe3JldHVybihhPShhPXYoYSkpJiZhLnJvb3QpJiZNYShhKX0KdmFyIE5hPUVsZW1lbnQucHJvdG90eXBlLE9hPU5hLm1hdGNoZXN8fE5hLm1hdGNoZXNTZWxlY3Rvcnx8TmEubW96TWF0Y2hlc1NlbGVjdG9yfHxOYS5tc01hdGNoZXNTZWxlY3Rvcnx8TmEub01hdGNoZXNTZWxlY3Rvcnx8TmEud2Via2l0TWF0Y2hlc1NlbGVjdG9yLFBhPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSxRYT0wLFJhPVtdOyhuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcig7UmEubGVuZ3RoOyl0cnl7UmEuc2hpZnQoKSgpfWNhdGNoKGEpe3Rocm93IFBhLnRleHRDb250ZW50PVFhKyssYTt9fSkpLm9ic2VydmUoUGEse2NoYXJhY3RlckRhdGE6ITB9KTtmdW5jdGlvbiBTYShhKXtSYS5wdXNoKGEpO1BhLnRleHRDb250ZW50PVFhKyt9dmFyIFRhPSEhZG9jdW1lbnQuY29udGFpbnM7ZnVuY3Rpb24gVWEoYSxiKXtmb3IoO2I7KXtpZihiPT1hKXJldHVybiEwO2I9Yi5fX3NoYWR5X3BhcmVudE5vZGV9cmV0dXJuITF9CmZ1bmN0aW9uIFZhKGEpe2Zvcih2YXIgYj1hLmxlbmd0aC0xOzA8PWI7Yi0tKXt2YXIgYz1hW2JdLGQ9Yy5nZXRBdHRyaWJ1dGUoImlkIil8fGMuZ2V0QXR0cmlidXRlKCJuYW1lIik7ZCYmImxlbmd0aCIhPT1kJiZpc05hTihkKSYmKGFbZF09Yyl9YS5pdGVtPWZ1bmN0aW9uKGIpe3JldHVybiBhW2JdfTthLm5hbWVkSXRlbT1mdW5jdGlvbihiKXtpZigibGVuZ3RoIiE9PWImJmlzTmFOKGIpJiZhW2JdKXJldHVybiBhW2JdO2Zvcih2YXIgYz1pYShhKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlpZihkPWQudmFsdWUsKGQuZ2V0QXR0cmlidXRlKCJpZCIpfHxkLmdldEF0dHJpYnV0ZSgibmFtZSIpKT09YilyZXR1cm4gZDtyZXR1cm4gbnVsbH07cmV0dXJuIGF9CmZ1bmN0aW9uIEEoYSxiLGMsZCl7Yz12b2lkIDA9PT1jPyIiOmM7Zm9yKHZhciBlIGluIGIpe3ZhciBmPWJbZV07aWYoIShkJiYwPD1kLmluZGV4T2YoZSkpKXtmLmNvbmZpZ3VyYWJsZT0hMDt2YXIgZz1jK2U7aWYoZi52YWx1ZSlhW2ddPWYudmFsdWU7ZWxzZSB0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsZyxmKX1jYXRjaChoKXt9fX19ZnVuY3Rpb24gQihhKXt2YXIgYj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2JbY109T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGMpfSk7cmV0dXJuIGJ9O3ZhciBXYT1bXSxYYTtmdW5jdGlvbiBZYShhKXtYYXx8KFhhPSEwLFNhKFphKSk7V2EucHVzaChhKX1mdW5jdGlvbiBaYSgpe1hhPSExO2Zvcih2YXIgYT0hIVdhLmxlbmd0aDtXYS5sZW5ndGg7KVdhLnNoaWZ0KCkoKTtyZXR1cm4gYX1aYS5saXN0PVdhO2Z1bmN0aW9uICRhKCl7dGhpcy5hPSExO3RoaXMuYWRkZWROb2Rlcz1bXTt0aGlzLnJlbW92ZWROb2Rlcz1bXTt0aGlzLlM9bmV3IFNldH1mdW5jdGlvbiBhYihhKXthLmF8fChhLmE9ITAsU2EoZnVuY3Rpb24oKXthLmZsdXNoKCl9KSl9JGEucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7aWYodGhpcy5hKXt0aGlzLmE9ITE7dmFyIGE9dGhpcy50YWtlUmVjb3JkcygpO2EubGVuZ3RoJiZ0aGlzLlMuZm9yRWFjaChmdW5jdGlvbihiKXtiKGEpfSl9fTskYS5wcm90b3R5cGUudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXtpZih0aGlzLmFkZGVkTm9kZXMubGVuZ3RofHx0aGlzLnJlbW92ZWROb2Rlcy5sZW5ndGgpe3ZhciBhPVt7YWRkZWROb2Rlczp0aGlzLmFkZGVkTm9kZXMscmVtb3ZlZE5vZGVzOnRoaXMucmVtb3ZlZE5vZGVzfV07dGhpcy5hZGRlZE5vZGVzPVtdO3RoaXMucmVtb3ZlZE5vZGVzPVtdO3JldHVybiBhfXJldHVybltdfTsKZnVuY3Rpb24gYmIoYSxiKXt2YXIgYz11KGEpO2MuSHx8KGMuSD1uZXcgJGEpO2MuSC5TLmFkZChiKTt2YXIgZD1jLkg7cmV0dXJue3lhOmIsRjpkLEFhOmEsdGFrZVJlY29yZHM6ZnVuY3Rpb24oKXtyZXR1cm4gZC50YWtlUmVjb3JkcygpfX19ZnVuY3Rpb24gY2IoYSl7dmFyIGI9YSYmYS5GO2ImJihiLlMuZGVsZXRlKGEueWEpLGIuUy5zaXplfHwodShhLkFhKS5IPW51bGwpKX0KZnVuY3Rpb24gZGIoYSxiKXt2YXIgYz1iLmdldFJvb3ROb2RlKCk7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3ZhciBiPWM9PT1hLnRhcmdldC5nZXRSb290Tm9kZSgpO2lmKGImJmEuYWRkZWROb2Rlcyl7aWYoYj1BcnJheS5mcm9tKGEuYWRkZWROb2RlcykuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBjPT09YS5nZXRSb290Tm9kZSgpfSksYi5sZW5ndGgpcmV0dXJuIGE9T2JqZWN0LmNyZWF0ZShhKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiYWRkZWROb2RlcyIse3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwfSksYX1lbHNlIGlmKGIpcmV0dXJuIGF9KS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07dmFyIGViPS9bJlx1MDBBMCJdL2csZmI9L1smXHUwMEEwPD5dL2c7ZnVuY3Rpb24gZ2IoYSl7c3dpdGNoKGEpe2Nhc2UgIiYiOnJldHVybiImYW1wOyI7Y2FzZSAiPCI6cmV0dXJuIiZsdDsiO2Nhc2UgIj4iOnJldHVybiImZ3Q7IjtjYXNlICciJzpyZXR1cm4iJnF1b3Q7IjtjYXNlICJcdTAwYTAiOnJldHVybiImbmJzcDsifX1mdW5jdGlvbiBoYihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGliPWhiKCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiciIuc3BsaXQoIiAiKSksamI9aGIoInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0Ii5zcGxpdCgiICIpKTsKZnVuY3Rpb24ga2IoYSxiKXsidGVtcGxhdGUiPT09YS5sb2NhbE5hbWUmJihhPWEuY29udGVudCk7Zm9yKHZhciBjPSIiLGQ9Yj9iKGEpOmEuY2hpbGROb2RlcyxlPTAsZj1kLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hLGw9Yjtzd2l0Y2goaC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTprPWgubG9jYWxOYW1lO2Zvcih2YXIgbT0iPCIrayxxPWguYXR0cmlidXRlcyx4PTAsTTtNPXFbeF07eCsrKW0rPSIgIitNLm5hbWUrJz0iJytNLnZhbHVlLnJlcGxhY2UoZWIsZ2IpKyciJzttKz0iPiI7aD1pYltrXT9tOm0ra2IoaCxsKSsiPC8iK2srIj4iO2JyZWFrIGE7Y2FzZSBOb2RlLlRFWFRfTk9ERTpoPWguZGF0YTtoPWsmJmpiW2subG9jYWxOYW1lXT9oOmgucmVwbGFjZShmYixnYik7YnJlYWsgYTtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9Ilx4M2MhLS0iK2guZGF0YSsiLS1ceDNlIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksCkVycm9yKCJub3QgaW1wbGVtZW50ZWQiKTt9fWMrPWh9cmV0dXJuIGN9O3ZhciBwYj13Lm0scWI9e3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvcihhKX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yQWxsKGEpfX0scmI9e307ZnVuY3Rpb24gc2IoYSl7cmJbYV09ZnVuY3Rpb24oYil7cmV0dXJuIGJbIl9fc2hhZHlfbmF0aXZlXyIrYV19fWZ1bmN0aW9uIHRiKGEsYil7QShhLGIsIl9fc2hhZHlfbmF0aXZlXyIpO2Zvcih2YXIgYyBpbiBiKXNiKGMpfWZ1bmN0aW9uIEQoYSxiKXtiPXZvaWQgMD09PWI/W106Yjtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYSxkKTtlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fc2hhZHlfbmF0aXZlXyIrZCxlKSxlLnZhbHVlP3FiW2RdfHwocWJbZF09ZS52YWx1ZSk6c2IoZCkpfX0KdmFyIEU9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfQUxMLG51bGwsITEpLEY9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxudWxsLCExKSx1Yj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0Iik7ZnVuY3Rpb24gdmIoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkOylhLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGIpfXZhciB3Yj1bImZpcnN0RWxlbWVudENoaWxkIiwibGFzdEVsZW1lbnRDaGlsZCIsImNoaWxkcmVuIiwiY2hpbGRFbGVtZW50Q291bnQiXSx4Yj1bInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIl07CmZ1bmN0aW9uIHliKCl7dmFyIGE9WyJkaXNwYXRjaEV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXTt3aW5kb3cuRXZlbnRUYXJnZXQ/RCh3aW5kb3cuRXZlbnRUYXJnZXQucHJvdG90eXBlLGEpOihEKE5vZGUucHJvdG90eXBlLGEpLEQoV2luZG93LnByb3RvdHlwZSxhKSk7cGI/RChOb2RlLnByb3RvdHlwZSwicGFyZW50Tm9kZSBmaXJzdENoaWxkIGxhc3RDaGlsZCBwcmV2aW91c1NpYmxpbmcgbmV4dFNpYmxpbmcgY2hpbGROb2RlcyBwYXJlbnRFbGVtZW50IHRleHRDb250ZW50Ii5zcGxpdCgiICIpKTp0YihOb2RlLnByb3RvdHlwZSx7cGFyZW50Tm9kZTp7Z2V0OmZ1bmN0aW9uKCl7RS5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBFLnBhcmVudE5vZGUoKX19LGZpcnN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRS5maXJzdENoaWxkKCl9fSxsYXN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9CnRoaXM7cmV0dXJuIEUubGFzdENoaWxkKCl9fSxwcmV2aW91c1NpYmxpbmc6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRS5wcmV2aW91c1NpYmxpbmcoKX19LG5leHRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtFLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEUubmV4dFNpYmxpbmcoKX19LGNoaWxkTm9kZXM6e2dldDpmdW5jdGlvbigpe3ZhciBhPVtdO0UuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIGM9RS5maXJzdENoaWxkKCk7YzspYS5wdXNoKGMpLGM9RS5uZXh0U2libGluZygpO3JldHVybiBhfX0scGFyZW50RWxlbWVudDp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLnBhcmVudE5vZGUoKX19LHRleHRDb250ZW50OntnZXQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpmb3IodmFyIGE9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLApOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsLCExKSxjPSIiLGQ7ZD1hLm5leHROb2RlKCk7KWMrPWQubm9kZVZhbHVlO3JldHVybiBjO2RlZmF1bHQ6cmV0dXJuIHRoaXMubm9kZVZhbHVlfX0sc2V0OmZ1bmN0aW9uKGEpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGF8fG51bGw9PT1hKWE9IiI7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6dmIodGhpcyk7KDA8YS5sZW5ndGh8fHRoaXMubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSkmJnRoaXMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpLHZvaWQgMCk7YnJlYWs7ZGVmYXVsdDp0aGlzLm5vZGVWYWx1ZT1hfX19fSk7RChOb2RlLnByb3RvdHlwZSwiYXBwZW5kQ2hpbGQgaW5zZXJ0QmVmb3JlIHJlbW92ZUNoaWxkIHJlcGxhY2VDaGlsZCBjbG9uZU5vZGUgY29udGFpbnMiLnNwbGl0KCIgIikpOwphPXtmaXJzdEVsZW1lbnRDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLmZpcnN0Q2hpbGQoKX19LGxhc3RFbGVtZW50Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0YuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRi5sYXN0Q2hpbGQoKX19LGNoaWxkcmVuOntnZXQ6ZnVuY3Rpb24oKXt2YXIgYT1bXTtGLmN1cnJlbnROb2RlPXRoaXM7Zm9yKHZhciBjPUYuZmlyc3RDaGlsZCgpO2M7KWEucHVzaChjKSxjPUYubmV4dFNpYmxpbmcoKTtyZXR1cm4gVmEoYSl9fSxjaGlsZEVsZW1lbnRDb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4/dGhpcy5jaGlsZHJlbi5sZW5ndGg6MH19fTtwYj8oRChFbGVtZW50LnByb3RvdHlwZSx3YiksRChFbGVtZW50LnByb3RvdHlwZSxbInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJuZXh0RWxlbWVudFNpYmxpbmciLCJpbm5lckhUTUwiXSksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsCiJjaGlsZHJlbiIpJiZEKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbImNoaWxkcmVuIl0pLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiKSYmRChIVE1MRWxlbWVudC5wcm90b3R5cGUsWyJpbm5lckhUTUwiXSkpOih0YihFbGVtZW50LnByb3RvdHlwZSxhKSx0YihFbGVtZW50LnByb3RvdHlwZSx7cHJldmlvdXNFbGVtZW50U2libGluZzp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLnByZXZpb3VzU2libGluZygpfX0sbmV4dEVsZW1lbnRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtGLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEYubmV4dFNpYmxpbmcoKX19LGlubmVySFRNTDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtiKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIGEuX19zaGFkeV9uYXRpdmVfY2hpbGROb2Rlc30pfSxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9InRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lPwp0aGlzLmNvbnRlbnQ6dGhpczt2YihiKTt2YXIgZD10aGlzLmxvY2FsTmFtZXx8ImRpdiI7ZD10aGlzLm5hbWVzcGFjZVVSSSYmdGhpcy5uYW1lc3BhY2VVUkkhPT11Yi5uYW1lc3BhY2VVUkk/dWIuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGQpOnViLmNyZWF0ZUVsZW1lbnQoZCk7ZC5pbm5lckhUTUw9YTtmb3IoYT0idGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWU/ZC5jb250ZW50OmQ7ZD1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWIuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGQsdm9pZCAwKX19fSkpO0QoRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZSBnZXRBdHRyaWJ1dGUgaGFzQXR0cmlidXRlIHJlbW92ZUF0dHJpYnV0ZSBmb2N1cyBibHVyIi5zcGxpdCgiICIpKTtEKEVsZW1lbnQucHJvdG90eXBlLHhiKTtEKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbImZvY3VzIiwiYmx1ciIsImNvbnRhaW5zIl0pO3BiJiZEKEhUTUxFbGVtZW50LnByb3RvdHlwZSwKWyJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lckhUTUwiXSk7d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQmJkQod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQucHJvdG90eXBlLFsiaW5uZXJIVE1MIl0pO3BiP0QoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUsd2IpOnRiKERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLGEpO0QoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUseGIpO3BiPyhEKERvY3VtZW50LnByb3RvdHlwZSx3YiksRChEb2N1bWVudC5wcm90b3R5cGUsWyJhY3RpdmVFbGVtZW50Il0pKTp0YihEb2N1bWVudC5wcm90b3R5cGUsYSk7RChEb2N1bWVudC5wcm90b3R5cGUsWyJpbXBvcnROb2RlIiwiZ2V0RWxlbWVudEJ5SWQiXSk7RChEb2N1bWVudC5wcm90b3R5cGUseGIpfTt2YXIgemI9Qih7Z2V0IGNoaWxkTm9kZXMoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkTm9kZXN9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9maXJzdENoaWxkfSxnZXQgbGFzdENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9sYXN0Q2hpbGR9LGdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLl9fc2hhZHlfdGV4dENvbnRlbnR9LHNldCB0ZXh0Q29udGVudChhKXt0aGlzLl9fc2hhZHlfdGV4dENvbnRlbnQ9YX0sZ2V0IGNoaWxkRWxlbWVudENvdW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZEVsZW1lbnRDb3VudH0sZ2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZHJlbn0sZ2V0IGZpcnN0RWxlbWVudENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9maXJzdEVsZW1lbnRDaGlsZH0sZ2V0IGxhc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2xhc3RFbGVtZW50Q2hpbGR9LGdldCBpbm5lckhUTUwoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2lubmVySFRNTH0sCnNldCBpbm5lckhUTUwoYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9pbm5lckhUTUw9YX0sZ2V0IHNoYWRvd1Jvb3QoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3NoYWRvd1Jvb3R9fSksQWI9Qih7Z2V0IHBhcmVudEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3BhcmVudEVsZW1lbnR9LGdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wYXJlbnROb2RlfSxnZXQgbmV4dFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ30sZ2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NsYXNzTmFtZX0sCnNldCBjbGFzc05hbWUoYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9jbGFzc05hbWU9YX19KSxCYjtmb3IoQmIgaW4gemIpemJbQmJdLmVudW1lcmFibGU9ITE7Zm9yKHZhciBDYiBpbiBBYilBYltDYl0uZW51bWVyYWJsZT0hMTt2YXIgRGI9dy5tfHx3LkosRWI9RGI/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGEpe3ZhciBiPXUoYSk7Yi5sYXx8KGIubGE9ITAsQShhLEFiKSl9LEZiPURiP2Z1bmN0aW9uKCl7fTpmdW5jdGlvbihhKXt2YXIgYj11KGEpO2Iua2F8fChiLmthPSEwLEEoYSx6YikpfTt2YXIgR2I9Il9fZXZlbnRXcmFwcGVycyIrRGF0ZS5ub3coKSxIYj1mdW5jdGlvbigpe3ZhciBhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZlbnQucHJvdG90eXBlLCJjb21wb3NlZCIpO3JldHVybiBhP2Z1bmN0aW9uKGIpe3JldHVybiBhLmdldC5jYWxsKGIpfTpudWxsfSgpLEliPXtibHVyOiEwLGZvY3VzOiEwLGZvY3VzaW46ITAsZm9jdXNvdXQ6ITAsY2xpY2s6ITAsZGJsY2xpY2s6ITAsbW91c2Vkb3duOiEwLG1vdXNlZW50ZXI6ITAsbW91c2VsZWF2ZTohMCxtb3VzZW1vdmU6ITAsbW91c2VvdXQ6ITAsbW91c2VvdmVyOiEwLG1vdXNldXA6ITAsd2hlZWw6ITAsYmVmb3JlaW5wdXQ6ITAsaW5wdXQ6ITAsa2V5ZG93bjohMCxrZXl1cDohMCxjb21wb3NpdGlvbnN0YXJ0OiEwLGNvbXBvc2l0aW9udXBkYXRlOiEwLGNvbXBvc2l0aW9uZW5kOiEwLHRvdWNoc3RhcnQ6ITAsdG91Y2hlbmQ6ITAsdG91Y2htb3ZlOiEwLHRvdWNoY2FuY2VsOiEwLHBvaW50ZXJvdmVyOiEwLApwb2ludGVyZW50ZXI6ITAscG9pbnRlcmRvd246ITAscG9pbnRlcm1vdmU6ITAscG9pbnRlcnVwOiEwLHBvaW50ZXJjYW5jZWw6ITAscG9pbnRlcm91dDohMCxwb2ludGVybGVhdmU6ITAsZ290cG9pbnRlcmNhcHR1cmU6ITAsbG9zdHBvaW50ZXJjYXB0dXJlOiEwLGRyYWdzdGFydDohMCxkcmFnOiEwLGRyYWdlbnRlcjohMCxkcmFnbGVhdmU6ITAsZHJhZ292ZXI6ITAsZHJvcDohMCxkcmFnZW5kOiEwLERPTUFjdGl2YXRlOiEwLERPTUZvY3VzSW46ITAsRE9NRm9jdXNPdXQ6ITAsa2V5cHJlc3M6ITB9LEpiPXtET01BdHRyTW9kaWZpZWQ6ITAsRE9NQXR0cmlidXRlTmFtZUNoYW5nZWQ6ITAsRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiEwLERPTUVsZW1lbnROYW1lQ2hhbmdlZDohMCxET01Ob2RlSW5zZXJ0ZWQ6ITAsRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50OiEwLERPTU5vZGVSZW1vdmVkOiEwLERPTU5vZGVSZW1vdmVkRnJvbURvY3VtZW50OiEwLERPTVN1YnRyZWVNb2RpZmllZDohMH07CmZ1bmN0aW9uIEtiKGEpe3JldHVybiBhIGluc3RhbmNlb2YgTm9kZT9hLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTphfWZ1bmN0aW9uIExiKGEsYil7dmFyIGM9W10sZD1hO2ZvcihhPUtiKGEpO2Q7KWMucHVzaChkKSxkLl9fc2hhZHlfYXNzaWduZWRTbG90P2Q9ZC5fX3NoYWR5X2Fzc2lnbmVkU2xvdDpkLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZkLmhvc3QmJihifHxkIT09YSk/ZD1kLmhvc3Q6ZD1kLl9fc2hhZHlfcGFyZW50Tm9kZTtjW2MubGVuZ3RoLTFdPT09ZG9jdW1lbnQmJmMucHVzaCh3aW5kb3cpO3JldHVybiBjfWZ1bmN0aW9uIE1iKGEpe2EuX19jb21wb3NlZFBhdGh8fChhLl9fY29tcG9zZWRQYXRoPUxiKGEudGFyZ2V0LCEwKSk7cmV0dXJuIGEuX19jb21wb3NlZFBhdGh9CmZ1bmN0aW9uIE5iKGEsYil7aWYoIXopcmV0dXJuIGE7YT1MYihhLCEwKTtmb3IodmFyIGM9MCxkLGU9dm9pZCAwLGYsZz12b2lkIDA7YzxiLmxlbmd0aDtjKyspaWYoZD1iW2NdLGY9S2IoZCksZiE9PWUmJihnPWEuaW5kZXhPZihmKSxlPWYpLCF6KGYpfHwtMTxnKXJldHVybiBkfWZ1bmN0aW9uIE9iKGEpe2Z1bmN0aW9uIGIoYixkKXtiPW5ldyBhKGIsZCk7Yi5fX2NvbXBvc2VkPWQmJiEhZC5jb21wb3NlZDtyZXR1cm4gYn1iLl9fcHJvdG9fXz1hO2IucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBifXZhciBQYj17Zm9jdXM6ITAsYmx1cjohMH07ZnVuY3Rpb24gUWIoYSl7cmV0dXJuIGEuX190YXJnZXQhPT1hLnRhcmdldHx8YS5fX3JlbGF0ZWRUYXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXR9CmZ1bmN0aW9uIFJiKGEsYixjKXtpZihjPWIuX19oYW5kbGVycyYmYi5fX2hhbmRsZXJzW2EudHlwZV0mJmIuX19oYW5kbGVyc1thLnR5cGVdW2NdKWZvcih2YXIgZD0wLGU7KGU9Y1tkXSkmJighUWIoYSl8fGEudGFyZ2V0IT09YS5yZWxhdGVkVGFyZ2V0KSYmKGUuY2FsbChiLGEpLCFhLl9faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKTtkKyspO30KZnVuY3Rpb24gU2IoYSl7dmFyIGI9YS5jb21wb3NlZFBhdGgoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiY3VycmVudFRhcmdldCIse2dldDpmdW5jdGlvbigpe3JldHVybiBkfSxjb25maWd1cmFibGU6ITB9KTtmb3IodmFyIGM9Yi5sZW5ndGgtMTswPD1jO2MtLSl7dmFyIGQ9YltjXTtSYihhLGQsImNhcHR1cmUiKTtpZihhLlopcmV0dXJufU9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJldmVudFBoYXNlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEV2ZW50LkFUX1RBUkdFVH19KTt2YXIgZTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKXtkPWJbY107dmFyIGY9dihkKTtmPWYmJmYucm9vdDtpZigwPT09Y3x8ZiYmZj09PWUpaWYoUmIoYSxkLCJidWJibGUiKSxkIT09d2luZG93JiYoZT1kLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKSksYS5aKWJyZWFrfX0KZnVuY3Rpb24gVGIoYSxiLGMsZCxlLGYpe2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGs9aC50eXBlLGw9aC5jYXB0dXJlLG09aC5vbmNlLHE9aC5wYXNzaXZlO2lmKGI9PT1oLm5vZGUmJmM9PT1rJiZkPT09bCYmZT09PW0mJmY9PT1xKXJldHVybiBnfXJldHVybi0xfQpmdW5jdGlvbiBVYihhLGIsYyl7aWYoYil7dmFyIGQ9dHlwZW9mIGI7aWYoImZ1bmN0aW9uIj09PWR8fCJvYmplY3QiPT09ZClpZigib2JqZWN0IiE9PWR8fGIuaGFuZGxlRXZlbnQmJiJmdW5jdGlvbiI9PT10eXBlb2YgYi5oYW5kbGVFdmVudCl7aWYoSmJbYV0pcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyk7aWYoYyYmIm9iamVjdCI9PT10eXBlb2YgYyl7dmFyIGU9ISFjLmNhcHR1cmU7dmFyIGY9ISFjLm9uY2U7dmFyIGc9ISFjLnBhc3NpdmV9ZWxzZSBlPSEhYyxnPWY9ITE7dmFyIGg9YyYmYy4kfHx0aGlzLGs9YltHYl07aWYoayl7aWYoLTE8VGIoayxoLGEsZSxmLGcpKXJldHVybn1lbHNlIGJbR2JdPVtdO2s9ZnVuY3Rpb24oZSl7ZiYmdGhpcy5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO2UuX190YXJnZXR8fFZiKGUpO2lmKGghPT10aGlzKXt2YXIgZz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsImN1cnJlbnRUYXJnZXQiKTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImN1cnJlbnRUYXJnZXQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sY29uZmlndXJhYmxlOiEwfSl9ZS5fX3ByZXZpb3VzQ3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQ7aWYoIXooaCl8fC0xIT1lLmNvbXBvc2VkUGF0aCgpLmluZGV4T2YoaCkpaWYoZS5jb21wb3NlZHx8LTE8ZS5jb21wb3NlZFBhdGgoKS5pbmRleE9mKGgpKWlmKFFiKGUpJiZlLnRhcmdldD09PWUucmVsYXRlZFRhcmdldCllLmV2ZW50UGhhc2U9PT1FdmVudC5CVUJCTElOR19QSEFTRSYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtlbHNlIGlmKGUuZXZlbnRQaGFzZT09PUV2ZW50LkNBUFRVUklOR19QSEFTRXx8ZS5idWJibGVzfHxlLnRhcmdldD09PWh8fGggaW5zdGFuY2VvZiBXaW5kb3cpe3ZhciBrPSJmdW5jdGlvbiI9PT1kP2IuY2FsbChoLGUpOmIuaGFuZGxlRXZlbnQmJmIuaGFuZGxlRXZlbnQoZSk7aCE9PXRoaXMmJihnPyhPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwKImN1cnJlbnRUYXJnZXQiLGcpLGc9bnVsbCk6ZGVsZXRlIGUuY3VycmVudFRhcmdldCk7cmV0dXJuIGt9fTtiW0diXS5wdXNoKHtub2RlOmgsdHlwZTphLGNhcHR1cmU6ZSxvbmNlOmYscGFzc2l2ZTpnLFlhOmt9KTtQYlthXT8odGhpcy5fX2hhbmRsZXJzPXRoaXMuX19oYW5kbGVyc3x8e30sdGhpcy5fX2hhbmRsZXJzW2FdPXRoaXMuX19oYW5kbGVyc1thXXx8e2NhcHR1cmU6W10sYnViYmxlOltdfSx0aGlzLl9faGFuZGxlcnNbYV1bZT8iY2FwdHVyZSI6ImJ1YmJsZSJdLnB1c2goaykpOnRoaXMuX19zaGFkeV9uYXRpdmVfYWRkRXZlbnRMaXN0ZW5lcihhLGssYyl9fX0KZnVuY3Rpb24gV2IoYSxiLGMpe2lmKGIpe2lmKEpiW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO2lmKGMmJiJvYmplY3QiPT09dHlwZW9mIGMpe3ZhciBkPSEhYy5jYXB0dXJlO3ZhciBlPSEhYy5vbmNlO3ZhciBmPSEhYy5wYXNzaXZlfWVsc2UgZD0hIWMsZj1lPSExO3ZhciBnPWMmJmMuJHx8dGhpcyxoPXZvaWQgMDt2YXIgaz1udWxsO3RyeXtrPWJbR2JdfWNhdGNoKGwpe31rJiYoZT1UYihrLGcsYSxkLGUsZiksLTE8ZSYmKGg9ay5zcGxpY2UoZSwxKVswXS5ZYSxrLmxlbmd0aHx8KGJbR2JdPXZvaWQgMCkpKTt0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxofHxiLGMpO2gmJlBiW2FdJiZ0aGlzLl9faGFuZGxlcnMmJnRoaXMuX19oYW5kbGVyc1thXSYmKGE9dGhpcy5fX2hhbmRsZXJzW2FdW2Q/ImNhcHR1cmUiOiJidWJibGUiXSxoPWEuaW5kZXhPZihoKSwtMTxoJiZhLnNwbGljZShoLDEpKX19CmZ1bmN0aW9uIFhiKCl7Zm9yKHZhciBhIGluIFBiKXdpbmRvdy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsZnVuY3Rpb24oYSl7YS5fX3RhcmdldHx8KFZiKGEpLFNiKGEpKX0sITApfQp2YXIgWWI9Qih7Z2V0IGNvbXBvc2VkKCl7dm9pZCAwPT09dGhpcy5fX2NvbXBvc2VkJiYoSGI/dGhpcy5fX2NvbXBvc2VkPSJmb2N1c2luIj09PXRoaXMudHlwZXx8ImZvY3Vzb3V0Ij09PXRoaXMudHlwZXx8SGIodGhpcyk6ITEhPT10aGlzLmlzVHJ1c3RlZCYmKHRoaXMuX19jb21wb3NlZD1JYlt0aGlzLnR5cGVdKSk7cmV0dXJuIHRoaXMuX19jb21wb3NlZHx8ITF9LGNvbXBvc2VkUGF0aDpmdW5jdGlvbigpe3RoaXMuX19jb21wb3NlZFBhdGh8fCh0aGlzLl9fY29tcG9zZWRQYXRoPUxiKHRoaXMuX190YXJnZXQsdGhpcy5jb21wb3NlZCkpO3JldHVybiB0aGlzLl9fY29tcG9zZWRQYXRofSxnZXQgdGFyZ2V0KCl7cmV0dXJuIE5iKHRoaXMuY3VycmVudFRhcmdldHx8dGhpcy5fX3ByZXZpb3VzQ3VycmVudFRhcmdldCx0aGlzLmNvbXBvc2VkUGF0aCgpKX0sZ2V0IHJlbGF0ZWRUYXJnZXQoKXtpZighdGhpcy5fX3JlbGF0ZWRUYXJnZXQpcmV0dXJuIG51bGw7dGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGh8fAoodGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGg9TGIodGhpcy5fX3JlbGF0ZWRUYXJnZXQsITApKTtyZXR1cm4gTmIodGhpcy5jdXJyZW50VGFyZ2V0fHx0aGlzLl9fcHJldmlvdXNDdXJyZW50VGFyZ2V0LHRoaXMuX19yZWxhdGVkVGFyZ2V0Q29tcG9zZWRQYXRoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuWj0hMH0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuWj10aGlzLl9faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPSEwfX0pOwpmdW5jdGlvbiBWYihhKXthLl9fdGFyZ2V0PWEudGFyZ2V0O2EuX19yZWxhdGVkVGFyZ2V0PWEucmVsYXRlZFRhcmdldDtpZih3Lm0pe3ZhciBiPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtpZighT2JqZWN0Lmhhc093blByb3BlcnR5KGIsIl9fc2hhZHlfcGF0Y2hlZFByb3RvIikpe3ZhciBjPU9iamVjdC5jcmVhdGUoYik7Yy5fX3NoYWR5X3NvdXJjZVByb3RvPWI7QShjLFliKTtiLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9YS5fX3Byb3RvX189Yi5fX3NoYWR5X3BhdGNoZWRQcm90b31lbHNlIEEoYSxZYil9dmFyIFpiPU9iKEV2ZW50KSwkYj1PYihDdXN0b21FdmVudCksYWM9T2IoTW91c2VFdmVudCk7CmZ1bmN0aW9uIGJjKCl7aWYoIUhiJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2ZW50LnByb3RvdHlwZSwiaXNUcnVzdGVkIikpe3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE1vdXNlRXZlbnQoImNsaWNrIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5fX3NoYWR5X2Rpc3BhdGNoRXZlbnQoYSl9O0VsZW1lbnQucHJvdG90eXBlLmNsaWNrP0VsZW1lbnQucHJvdG90eXBlLmNsaWNrPWE6SFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNrJiYoSFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNrPWEpfX12YXIgY2M9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoRG9jdW1lbnQucHJvdG90eXBlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIm9uIj09PWEuc3Vic3RyaW5nKDAsMil9KTtmdW5jdGlvbiBkYyhhLGIpe3JldHVybntpbmRleDphLEw6W10sUjpifX0KZnVuY3Rpb24gZWMoYSxiLGMsZCl7dmFyIGU9MCxmPTAsZz0wLGg9MCxrPU1hdGgubWluKGItZSxkLWYpO2lmKDA9PWUmJjA9PWYpYTp7Zm9yKGc9MDtnPGs7ZysrKWlmKGFbZ10hPT1jW2ddKWJyZWFrIGE7Zz1rfWlmKGI9PWEubGVuZ3RoJiZkPT1jLmxlbmd0aCl7aD1hLmxlbmd0aDtmb3IodmFyIGw9Yy5sZW5ndGgsbT0wO208ay1nJiZmYyhhWy0taF0sY1stLWxdKTspbSsrO2g9bX1lKz1nO2YrPWc7Yi09aDtkLT1oO2lmKDA9PWItZSYmMD09ZC1mKXJldHVybltdO2lmKGU9PWIpe2ZvcihiPWRjKGUsMCk7ZjxkOyliLkwucHVzaChjW2YrK10pO3JldHVybltiXX1pZihmPT1kKXJldHVybltkYyhlLGItZSldO2s9ZTtnPWY7ZD1kLWcrMTtoPWItaysxO2I9QXJyYXkoZCk7Zm9yKGw9MDtsPGQ7bCsrKWJbbF09QXJyYXkoaCksYltsXVswXT1sO2ZvcihsPTA7bDxoO2wrKyliWzBdW2xdPWw7Zm9yKGw9MTtsPGQ7bCsrKWZvcihtPTE7bTxoO20rKylpZihhW2srbS0xXT09PWNbZytsLTFdKWJbbF1bbV09CmJbbC0xXVttLTFdO2Vsc2V7dmFyIHE9YltsLTFdW21dKzEseD1iW2xdW20tMV0rMTtiW2xdW21dPXE8eD9xOnh9az1iLmxlbmd0aC0xO2c9YlswXS5sZW5ndGgtMTtkPWJba11bZ107Zm9yKGE9W107MDxrfHwwPGc7KTA9PWs/KGEucHVzaCgyKSxnLS0pOjA9PWc/KGEucHVzaCgzKSxrLS0pOihoPWJbay0xXVtnLTFdLGw9YltrLTFdW2ddLG09YltrXVtnLTFdLHE9bDxtP2w8aD9sOmg6bTxoP206aCxxPT1oPyhoPT1kP2EucHVzaCgwKTooYS5wdXNoKDEpLGQ9aCksay0tLGctLSk6cT09bD8oYS5wdXNoKDMpLGstLSxkPWwpOihhLnB1c2goMiksZy0tLGQ9bSkpO2EucmV2ZXJzZSgpO2I9dm9pZCAwO2s9W107Zm9yKGc9MDtnPGEubGVuZ3RoO2crKylzd2l0Y2goYVtnXSl7Y2FzZSAwOmImJihrLnB1c2goYiksYj12b2lkIDApO2UrKztmKys7YnJlYWs7Y2FzZSAxOmJ8fChiPWRjKGUsMCkpO2IuUisrO2UrKztiLkwucHVzaChjW2ZdKTtmKys7YnJlYWs7Y2FzZSAyOmJ8fChiPWRjKGUsMCkpOwpiLlIrKztlKys7YnJlYWs7Y2FzZSAzOmJ8fChiPWRjKGUsMCkpLGIuTC5wdXNoKGNbZl0pLGYrK31iJiZrLnB1c2goYik7cmV0dXJuIGt9ZnVuY3Rpb24gZmMoYSxiKXtyZXR1cm4gYT09PWJ9O2Z1bmN0aW9uIGdjKGEsYixjKXtFYihhKTtjPWN8fG51bGw7dmFyIGQ9dShhKSxlPXUoYiksZj1jP3UoYyk6bnVsbDtkLnByZXZpb3VzU2libGluZz1jP2YucHJldmlvdXNTaWJsaW5nOmIuX19zaGFkeV9sYXN0Q2hpbGQ7aWYoZj12KGQucHJldmlvdXNTaWJsaW5nKSlmLm5leHRTaWJsaW5nPWE7aWYoZj12KGQubmV4dFNpYmxpbmc9YykpZi5wcmV2aW91c1NpYmxpbmc9YTtkLnBhcmVudE5vZGU9YjtjP2M9PT1lLmZpcnN0Q2hpbGQmJihlLmZpcnN0Q2hpbGQ9YSk6KGUubGFzdENoaWxkPWEsZS5maXJzdENoaWxkfHwoZS5maXJzdENoaWxkPWEpKTtlLmNoaWxkTm9kZXM9bnVsbH0KZnVuY3Rpb24gaGMoYSxiLGMpe0ZiKGIpO3ZhciBkPXUoYik7dm9pZCAwIT09ZC5maXJzdENoaWxkJiYoZC5jaGlsZE5vZGVzPW51bGwpO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2Q9YS5fX3NoYWR5X2NoaWxkTm9kZXM7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspZ2MoZFtlXSxiLGMpO2E9dShhKTtiPXZvaWQgMCE9PWEuZmlyc3RDaGlsZD9udWxsOnZvaWQgMDthLmZpcnN0Q2hpbGQ9YS5sYXN0Q2hpbGQ9YjthLmNoaWxkTm9kZXM9Yn1lbHNlIGdjKGEsYixjKX0KZnVuY3Rpb24gaWMoYSxiKXt2YXIgYz11KGEpO2I9dShiKTthPT09Yi5maXJzdENoaWxkJiYoYi5maXJzdENoaWxkPWMubmV4dFNpYmxpbmcpO2E9PT1iLmxhc3RDaGlsZCYmKGIubGFzdENoaWxkPWMucHJldmlvdXNTaWJsaW5nKTthPWMucHJldmlvdXNTaWJsaW5nO3ZhciBkPWMubmV4dFNpYmxpbmc7YSYmKHUoYSkubmV4dFNpYmxpbmc9ZCk7ZCYmKHUoZCkucHJldmlvdXNTaWJsaW5nPWEpO2MucGFyZW50Tm9kZT1jLnByZXZpb3VzU2libGluZz1jLm5leHRTaWJsaW5nPXZvaWQgMDt2b2lkIDAhPT1iLmNoaWxkTm9kZXMmJihiLmNoaWxkTm9kZXM9bnVsbCl9CmZ1bmN0aW9uIGpjKGEpe3ZhciBiPXUoYSk7aWYodm9pZCAwPT09Yi5maXJzdENoaWxkKXtiLmNoaWxkTm9kZXM9bnVsbDt2YXIgYz1iLmZpcnN0Q2hpbGQ9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkfHxudWxsO2IubGFzdENoaWxkPWEuX19zaGFkeV9uYXRpdmVfbGFzdENoaWxkfHxudWxsO0ZiKGEpO2I9Yztmb3IoYz12b2lkIDA7YjtiPWIuX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmcpe3ZhciBkPXUoYik7ZC5wYXJlbnROb2RlPWE7ZC5uZXh0U2libGluZz1iLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nfHxudWxsO2QucHJldmlvdXNTaWJsaW5nPWN8fG51bGw7Yz1iO0ViKGIpfX19O3ZhciBrYz1udWxsO2Z1bmN0aW9uIEcoKXtrY3x8KGtjPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKTtyZXR1cm4ga2N8fG51bGx9ZnVuY3Rpb24gbGMoYSxiKXt2YXIgYz1HKCk7YyYmYy51bnNjb3BlTm9kZShhLGIpfWZ1bmN0aW9uIG1jKGEsYil7dmFyIGM9RygpO2lmKCFjKXJldHVybiEwO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2M9ITA7YT1hLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGQ9MDtjJiZkPGEubGVuZ3RoO2QrKyljPWMmJm1jKGFbZF0sYik7cmV0dXJuIGN9cmV0dXJuIGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERT8hMDpjLmN1cnJlbnRTY29wZUZvck5vZGUoYSk9PT1ifWZ1bmN0aW9uIG5jKGEpe2lmKGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4iIjt2YXIgYj1HKCk7cmV0dXJuIGI/Yi5jdXJyZW50U2NvcGVGb3JOb2RlKGEpOiIifQpmdW5jdGlvbiBvYyhhLGIpe2lmKGEpe2Eubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYihhKTthPWEuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgYz0wLGQ7YzxhLmxlbmd0aDtjKyspZD1hW2NdLGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmb2MoZCxiKX19O3ZhciBwYz13aW5kb3cuZG9jdW1lbnQscWM9dy5vYSxyYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJpc0Nvbm5lY3RlZCIpLHNjPXJjJiZyYy5nZXQ7ZnVuY3Rpb24gdGMoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiB1YyhhKXt2YXIgYj12KGEpO2lmKGImJnZvaWQgMCE9PWIuSyl7Yj1hLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGM9MCxkPWIubGVuZ3RoLGU9dm9pZCAwO2M8ZCYmKGU9YltjXSk7YysrKXVjKGUpfWlmKGE9dihhKSlhLks9dm9pZCAwfWZ1bmN0aW9uIHZjKGEpe3ZhciBiPWE7YSYmInNsb3QiPT09YS5sb2NhbE5hbWUmJihiPShiPShiPXYoYSkpJiZiLkQpJiZiLmxlbmd0aD9iWzBdOnZjKGEuX19zaGFkeV9uZXh0U2libGluZykpO3JldHVybiBifQpmdW5jdGlvbiB3YyhhLGIsYyl7aWYoYT0oYT12KGEpKSYmYS5IKWImJmEuYWRkZWROb2Rlcy5wdXNoKGIpLGMmJmEucmVtb3ZlZE5vZGVzLnB1c2goYyksYWIoYSl9CnZhciBDYz1CKHtnZXQgcGFyZW50Tm9kZSgpe3ZhciBhPXYodGhpcyk7YT1hJiZhLnBhcmVudE5vZGU7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGV9LGdldCBmaXJzdENoaWxkKCl7dmFyIGE9dih0aGlzKTthPWEmJmEuZmlyc3RDaGlsZDtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZH0sZ2V0IGxhc3RDaGlsZCgpe3ZhciBhPXYodGhpcyk7YT1hJiZhLmxhc3RDaGlsZDtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfbGFzdENoaWxkfSxnZXQgbmV4dFNpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2E9YSYmYS5uZXh0U2libGluZztyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmd9LGdldCBwcmV2aW91c1NpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2E9YSYmYS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3ByZXZpb3VzU2libGluZ30sCmdldCBjaGlsZE5vZGVzKCl7aWYoeSh0aGlzKSl7dmFyIGE9dih0aGlzKTtpZighYS5jaGlsZE5vZGVzKXthLmNoaWxkTm9kZXM9W107Zm9yKHZhciBiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5jaGlsZE5vZGVzLnB1c2goYil9dmFyIGM9YS5jaGlsZE5vZGVzfWVsc2UgYz10aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkTm9kZXM7Yy5pdGVtPWZ1bmN0aW9uKGEpe3JldHVybiBjW2FdfTtyZXR1cm4gY30sZ2V0IHBhcmVudEVsZW1lbnQoKXt2YXIgYT12KHRoaXMpOyhhPWEmJmEucGFyZW50Tm9kZSkmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGE9bnVsbCk7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudEVsZW1lbnR9LGdldCBpc0Nvbm5lY3RlZCgpe2lmKHNjJiZzYy5jYWxsKHRoaXMpKXJldHVybiEwO2lmKHRoaXMubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlyZXR1cm4hMTsKdmFyIGE9dGhpcy5vd25lckRvY3VtZW50O2lmKFRhKXtpZihhLl9fc2hhZHlfbmF0aXZlX2NvbnRhaW5zKHRoaXMpKXJldHVybiEwfWVsc2UgaWYoYS5kb2N1bWVudEVsZW1lbnQmJmEuZG9jdW1lbnRFbGVtZW50Ll9fc2hhZHlfbmF0aXZlX2NvbnRhaW5zKHRoaXMpKXJldHVybiEwO2ZvcihhPXRoaXM7YSYmIShhIGluc3RhbmNlb2YgRG9jdW1lbnQpOylhPWEuX19zaGFkeV9wYXJlbnROb2RlfHwoeihhKT9hLmhvc3Q6dm9pZCAwKTtyZXR1cm4hIShhJiZhIGluc3RhbmNlb2YgRG9jdW1lbnQpfSxnZXQgdGV4dENvbnRlbnQoKXtpZih5KHRoaXMpKXtmb3IodmFyIGE9W10sYj0wLGM9dGhpcy5fX3NoYWR5X2NoaWxkTm9kZXMsZDtkPWNbYl07YisrKWQubm9kZVR5cGUhPT1Ob2RlLkNPTU1FTlRfTk9ERSYmYS5wdXNoKGQuX19zaGFkeV90ZXh0Q29udGVudCk7cmV0dXJuIGEuam9pbigiIil9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfdGV4dENvbnRlbnR9LHNldCB0ZXh0Q29udGVudChhKXtpZigidW5kZWZpbmVkIj09PQp0eXBlb2YgYXx8bnVsbD09PWEpYT0iIjtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTppZigheSh0aGlzKSYmdy5tKXt2YXIgYj10aGlzLl9fc2hhZHlfZmlyc3RDaGlsZDsoYiE9dGhpcy5fX3NoYWR5X2xhc3RDaGlsZHx8YiYmYi5ub2RlVHlwZSE9Tm9kZS5URVhUX05PREUpJiZ0Yyh0aGlzKTt0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50PWF9ZWxzZSB0Yyh0aGlzKSwoMDxhLmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhKSk7YnJlYWs7ZGVmYXVsdDp0aGlzLm5vZGVWYWx1ZT1hfX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5vd25lckRvY3VtZW50IT09cGMmJmEub3duZXJEb2N1bWVudCE9PXBjKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShhLApiKSxhO2lmKGE9PT10aGlzKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZXhlY3V0ZSAnYXBwZW5kQ2hpbGQnIG9uICdOb2RlJzogVGhlIG5ldyBjaGlsZCBlbGVtZW50IGNvbnRhaW5zIHRoZSBwYXJlbnQuIik7aWYoYil7dmFyIGM9dihiKTtjPWMmJmMucGFyZW50Tm9kZTtpZih2b2lkIDAhPT1jJiZjIT09dGhpc3x8dm9pZCAwPT09YyYmYi5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlIT09dGhpcyl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGV4ZWN1dGUgJ2luc2VydEJlZm9yZScgb24gJ05vZGUnOiBUaGUgbm9kZSBiZWZvcmUgd2hpY2ggdGhlIG5ldyBub2RlIGlzIHRvIGJlIGluc2VydGVkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgbm9kZS4iKTt9aWYoYj09PWEpcmV0dXJuIGE7dmFyIGQ9W10sZT0oYz14Yyh0aGlzKSk/Yy5ob3N0LmxvY2FsTmFtZTpuYyh0aGlzKSxmPWEuX19zaGFkeV9wYXJlbnROb2RlO2lmKGYpe3ZhciBnPW5jKGEpO2YuX19zaGFkeV9yZW1vdmVDaGlsZChhLCEhY3x8CiF4YyhhKSl9Zj0hMDt2YXIgaD0oIXFjfHx2b2lkIDA9PT1hLl9fbm9JbnNlcnRpb25Qb2ludCkmJiFtYyhhLGUpLGs9YyYmIWEuX19ub0luc2VydGlvblBvaW50JiYoIXFjfHxhLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKTtpZihrfHxoKWgmJihnPWd8fG5jKGEpKSxvYyhhLGZ1bmN0aW9uKGEpe2smJiJzbG90Ij09PWEubG9jYWxOYW1lJiZkLnB1c2goYSk7aWYoaCl7dmFyIGI9ZztHKCkmJihiJiZsYyhhLGIpLChiPUcoKSkmJmIuc2NvcGVOb2RlKGEsZSkpfX0pO2lmKCJzbG90Ij09PXRoaXMubG9jYWxOYW1lfHxkLmxlbmd0aClkLmxlbmd0aCYmKGMuYz1jLmN8fFtdLGMuYT1jLmF8fFtdLGMuYj1jLmJ8fHt9LGMuYy5wdXNoLmFwcGx5KGMuYyxkIGluc3RhbmNlb2YgQXJyYXk/ZDpqYShpYShkKSkpKSxjJiZBYyhjKTt5KHRoaXMpJiYoaGMoYSx0aGlzLGIpLGM9dih0aGlzKSxMYSh0aGlzKT8oQWMoYy5yb290KSxmPSExKTpjLnJvb3QmJihmPSExKSk7Zj8KKGM9eih0aGlzKT90aGlzLmhvc3Q6dGhpcyxiPyhiPXZjKGIpLGMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGEsYikpOmMuX19zaGFkeV9uYXRpdmVfYXBwZW5kQ2hpbGQoYSkpOmEub3duZXJEb2N1bWVudCE9PXRoaXMub3duZXJEb2N1bWVudCYmdGhpcy5vd25lckRvY3VtZW50LmFkb3B0Tm9kZShhKTt3Yyh0aGlzLGEpO3JldHVybiBhfSxhcHBlbmRDaGlsZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/ITE6YjtpZih0aGlzLm93bmVyRG9jdW1lbnQhPT1wYylyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChhKTtpZihhLl9fc2hhZHlfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoIlRoZSBub2RlIHRvIGJlIHJlbW92ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlOiAiK2EpO3ZhciBjPXhjKGEpLGQ9YyYmQmMoYyxhKSxlPXYodGhpcyk7CmlmKHkodGhpcykmJihpYyhhLHRoaXMpLExhKHRoaXMpKSl7QWMoZS5yb290KTt2YXIgZj0hMH1pZihHKCkmJiFiJiZjKXt2YXIgZz1uYyhhKTtvYyhhLGZ1bmN0aW9uKGEpe2xjKGEsZyl9KX11YyhhKTtjJiYoKGI9dGhpcyYmInNsb3QiPT09dGhpcy5sb2NhbE5hbWUpJiYoZj0hMCksKGR8fGIpJiZBYyhjKSk7Znx8KGY9eih0aGlzKT90aGlzLmhvc3Q6dGhpcywoIWUucm9vdCYmInNsb3QiIT09YS5sb2NhbE5hbWV8fGY9PT1hLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUpJiZmLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGEpKTt3Yyh0aGlzLG51bGwsYSk7cmV0dXJuIGF9LHJlcGxhY2VDaGlsZDpmdW5jdGlvbihhLGIpe3RoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUoYSxiKTt0aGlzLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYik7cmV0dXJuIGF9LGNsb25lTm9kZTpmdW5jdGlvbihhKXtpZigidGVtcGxhdGUiPT10aGlzLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9jbG9uZU5vZGUoYSk7CnZhciBiPXRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKCExKTtpZihhJiZiLm5vZGVUeXBlIT09Tm9kZS5BVFRSSUJVVEVfTk9ERSl7YT10aGlzLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGM9MCxkO2M8YS5sZW5ndGg7YysrKWQ9YVtjXS5fX3NoYWR5X2Nsb25lTm9kZSghMCksYi5fX3NoYWR5X2FwcGVuZENoaWxkKGQpfXJldHVybiBifSxnZXRSb290Tm9kZTpmdW5jdGlvbihhKXtpZih0aGlzJiZ0aGlzLm5vZGVUeXBlKXt2YXIgYj11KHRoaXMpLGM9Yi5LO3ZvaWQgMD09PWMmJih6KHRoaXMpPyhjPXRoaXMsYi5LPWMpOihjPShjPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlKT9jLl9fc2hhZHlfZ2V0Um9vdE5vZGUoYSk6dGhpcyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuX19zaGFkeV9uYXRpdmVfY29udGFpbnModGhpcykmJihiLks9YykpKTtyZXR1cm4gY319LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe3JldHVybiBVYSh0aGlzLGEpfX0pO2Z1bmN0aW9uIERjKGEsYixjKXt2YXIgZD1bXTtFYyhhLl9fc2hhZHlfY2hpbGROb2RlcyxiLGMsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gRWMoYSxiLGMsZCl7Zm9yKHZhciBlPTAsZj1hLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWFbZV0pO2UrKyl7dmFyIGg7aWYoaD1nLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2g9Zzt2YXIgaz1iLGw9YyxtPWQscT1rKGgpO3EmJm0ucHVzaChoKTtsJiZsKHEpP2g9cTooRWMoaC5fX3NoYWR5X2NoaWxkTm9kZXMsayxsLG0pLGg9dm9pZCAwKX1pZihoKWJyZWFrfX0KdmFyIEZjPUIoe2dldCBmaXJzdEVsZW1lbnRDaGlsZCgpe3ZhciBhPXYodGhpcyk7aWYoYSYmdm9pZCAwIT09YS5maXJzdENoaWxkKXtmb3IoYT10aGlzLl9fc2hhZHlfZmlyc3RDaGlsZDthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X25leHRTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2ZpcnN0RWxlbWVudENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3ZhciBhPXYodGhpcyk7aWYoYSYmdm9pZCAwIT09YS5sYXN0Q2hpbGQpe2ZvcihhPXRoaXMuX19zaGFkeV9sYXN0Q2hpbGQ7YSYmYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOylhPWEuX19zaGFkeV9wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGF9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IGNoaWxkcmVuKCl7cmV0dXJuIHkodGhpcyk/VmEoQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHRoaXMuX19zaGFkeV9jaGlsZE5vZGVzLApmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpOnRoaXMuX19zaGFkeV9uYXRpdmVfY2hpbGRyZW59LGdldCBjaGlsZEVsZW1lbnRDb3VudCgpe3ZhciBhPXRoaXMuX19zaGFkeV9jaGlsZHJlbjtyZXR1cm4gYT9hLmxlbmd0aDowfX0pLEdjPUIoe3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIERjKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIE9hLmNhbGwoYixhKX0sZnVuY3Rpb24oYSl7cmV0dXJuISFhfSlbMF18fG51bGx9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24oYSxiKXtpZihiKXtiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvckFsbChhKSk7dmFyIGM9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7cmV0dXJuIGIuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKT09Y30pfXJldHVybiBEYyh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBPYS5jYWxsKGIsCmEpfSl9fSksSGM9dy5vYT9PYmplY3QuYXNzaWduKHt9LEZjKTpGYztPYmplY3QuYXNzaWduKEZjLEdjKTt2YXIgSWM9Qih7Z2V0RWxlbWVudEJ5SWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIiI9PT1hP251bGw6RGModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5pZD09YX0sZnVuY3Rpb24oYSl7cmV0dXJuISFhfSlbMF18fG51bGx9fSk7dmFyIEpjPUIoe2dldCBhY3RpdmVFbGVtZW50KCl7dmFyIGE9dy5tP2RvY3VtZW50Ll9fc2hhZHlfbmF0aXZlX2FjdGl2ZUVsZW1lbnQ6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighYXx8IWEubm9kZVR5cGUpcmV0dXJuIG51bGw7dmFyIGI9ISF6KHRoaXMpO2lmKCEodGhpcz09PWRvY3VtZW50fHxiJiZ0aGlzLmhvc3QhPT1hJiZ0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoYSkpKXJldHVybiBudWxsO2ZvcihiPXhjKGEpO2ImJmIhPT10aGlzOylhPWIuaG9zdCxiPXhjKGEpO3JldHVybiB0aGlzPT09ZG9jdW1lbnQ/Yj9udWxsOmE6Yj09PXRoaXM/YTpudWxsfX0pO3ZhciBLYz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0IiksTGM9Qih7Z2V0IGlubmVySFRNTCgpe3JldHVybiB5KHRoaXMpP2tiKCJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZT90aGlzLmNvbnRlbnQ6dGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gYS5fX3NoYWR5X2NoaWxkTm9kZXN9KTp0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXtpZigidGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWUpdGhpcy5fX3NoYWR5X25hdGl2ZV9pbm5lckhUTUw9YTtlbHNle3RjKHRoaXMpO3ZhciBiPXRoaXMubG9jYWxOYW1lfHwiZGl2IjtiPXRoaXMubmFtZXNwYWNlVVJJJiZ0aGlzLm5hbWVzcGFjZVVSSSE9PUtjLm5hbWVzcGFjZVVSST9LYy5jcmVhdGVFbGVtZW50TlModGhpcy5uYW1lc3BhY2VVUkksYik6S2MuY3JlYXRlRWxlbWVudChiKTtmb3Iody5tP2IuX19zaGFkeV9uYXRpdmVfaW5uZXJIVE1MPWE6Yi5pbm5lckhUTUw9CmE7YT1iLl9fc2hhZHlfZmlyc3RDaGlsZDspdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX19fSk7dmFyIE1jPUIoe2FkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO2MuJD10aGlzO3RoaXMuaG9zdC5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYixjKXsib2JqZWN0IiE9PXR5cGVvZiBjJiYoYz17Y2FwdHVyZTohIWN9KTtjLiQ9dGhpczt0aGlzLmhvc3QuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX19KTtmdW5jdGlvbiBOYyhhLGIpe0EoYSxNYyxiKTtBKGEsSmMsYik7QShhLExjLGIpO0EoYSxGYyxiKTt3LkomJiFiPyhBKGEsQ2MsYiksQShhLEljLGIpKTp3Lm18fChBKGEsQWIpLEEoYSx6YikpfTt2YXIgT2M9e30sUGM9dy5kZWZlckNvbm5lY3Rpb25DYWxsYmFja3MmJiJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGUsUWM7ZnVuY3Rpb24gUmMoYSl7dmFyIGI9W107ZG8gYi51bnNoaWZ0KGEpO3doaWxlKGE9YS5fX3NoYWR5X3BhcmVudE5vZGUpO3JldHVybiBifQpmdW5jdGlvbiBTYyhhLGIsYyl7aWYoYSE9PU9jKXRocm93IG5ldyBUeXBlRXJyb3IoIklsbGVnYWwgY29uc3RydWN0b3IiKTt0aGlzLnphPSJTaGFkeVJvb3QiO3RoaXMuaG9zdD1iO3RoaXMubW9kZT1jJiZjLm1vZGU7amMoYik7YT11KGIpO2Eucm9vdD10aGlzO2EucGE9ImNsb3NlZCIhPT10aGlzLm1vZGU/dGhpczpudWxsO2E9dSh0aGlzKTthLmZpcnN0Q2hpbGQ9YS5sYXN0Q2hpbGQ9YS5wYXJlbnROb2RlPWEubmV4dFNpYmxpbmc9YS5wcmV2aW91c1NpYmxpbmc9bnVsbDthLmNoaWxkTm9kZXM9W107dGhpcy5iYT10aGlzLkI9ITE7dGhpcy5jPXRoaXMuYj10aGlzLmE9bnVsbDtpZih3LnByZWZlclBlcmZvcm1hbmNlKWZvcig7YT1iLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWIuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYSk7ZWxzZSBBYyh0aGlzKX1mdW5jdGlvbiBBYyhhKXthLkJ8fChhLkI9ITAsWWEoZnVuY3Rpb24oKXtyZXR1cm4gVGMoYSl9KSl9CmZ1bmN0aW9uIFRjKGEpe3ZhciBiO2lmKGI9YS5CKXtmb3IodmFyIGM7YTspYTp7YS5CJiYoYz1hKSxiPWE7YT1iLmhvc3QuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKHooYSkmJihiPXYoYi5ob3N0KSkmJjA8Yi5OKWJyZWFrIGE7YT12b2lkIDB9Yj1jfShjPWIpJiZjLl9yZW5kZXJTZWxmKCl9ClNjLnByb3RvdHlwZS5fcmVuZGVyU2VsZj1mdW5jdGlvbigpe3ZhciBhPVBjO1BjPSEwO3RoaXMuQj0hMTtpZih0aGlzLmEpe1VjKHRoaXMpO2Zvcih2YXIgYj0wLGM7Yjx0aGlzLmEubGVuZ3RoO2IrKyl7Yz10aGlzLmFbYl07dmFyIGQ9dihjKSxlPWQuYXNzaWduZWROb2RlcztkLmFzc2lnbmVkTm9kZXM9W107ZC5EPVtdO2lmKGQuY2E9ZSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj12KGVbZF0pO2YuUD1mLmFzc2lnbmVkU2xvdDtmLmFzc2lnbmVkU2xvdD09PWMmJihmLmFzc2lnbmVkU2xvdD1udWxsKX19Zm9yKGI9dGhpcy5ob3N0Ll9fc2hhZHlfZmlyc3RDaGlsZDtiO2I9Yi5fX3NoYWR5X25leHRTaWJsaW5nKVZjKHRoaXMsYik7Zm9yKGI9MDtiPHRoaXMuYS5sZW5ndGg7YisrKXtjPXRoaXMuYVtiXTtlPXYoYyk7aWYoIWUuYXNzaWduZWROb2Rlcy5sZW5ndGgpZm9yKGQ9Yy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7ZDtkPWQuX19zaGFkeV9uZXh0U2libGluZylWYyh0aGlzLApkLGMpOyhkPShkPXYoYy5fX3NoYWR5X3BhcmVudE5vZGUpKSYmZC5yb290KSYmKE1hKGQpfHxkLkIpJiZkLl9yZW5kZXJTZWxmKCk7V2ModGhpcyxlLkQsZS5hc3NpZ25lZE5vZGVzKTtpZihkPWUuY2Epe2ZvcihmPTA7ZjxkLmxlbmd0aDtmKyspdihkW2ZdKS5QPW51bGw7ZS5jYT1udWxsO2QubGVuZ3RoPmUuYXNzaWduZWROb2Rlcy5sZW5ndGgmJihlLlQ9ITApfWUuVCYmKGUuVD0hMSxYYyh0aGlzLGMpKX1jPXRoaXMuYTtiPVtdO2ZvcihlPTA7ZTxjLmxlbmd0aDtlKyspZD1jW2VdLl9fc2hhZHlfcGFyZW50Tm9kZSwoZj12KGQpKSYmZi5yb290fHwhKDA+Yi5pbmRleE9mKGQpKXx8Yi5wdXNoKGQpO2ZvcihjPTA7YzxiLmxlbmd0aDtjKyspe2Y9YltjXTtlPWY9PT10aGlzP3RoaXMuaG9zdDpmO2Q9W107Zj1mLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGc9MDtnPGYubGVuZ3RoO2crKyl7dmFyIGg9ZltnXTtpZigic2xvdCI9PWgubG9jYWxOYW1lKXtoPXYoaCkuRDtmb3IodmFyIGs9CjA7azxoLmxlbmd0aDtrKyspZC5wdXNoKGhba10pfWVsc2UgZC5wdXNoKGgpfWY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZS5fX3NoYWR5X25hdGl2ZV9jaGlsZE5vZGVzKTtnPWVjKGQsZC5sZW5ndGgsZixmLmxlbmd0aCk7az1oPTA7Zm9yKHZhciBsPXZvaWQgMDtoPGcubGVuZ3RoJiYobD1nW2hdKTtoKyspe2Zvcih2YXIgbT0wLHE9dm9pZCAwO208bC5MLmxlbmd0aCYmKHE9bC5MW21dKTttKyspcS5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlPT09ZSYmZS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChxKSxmLnNwbGljZShsLmluZGV4K2ssMSk7ay09bC5SfWs9MDtmb3IobD12b2lkIDA7azxnLmxlbmd0aCYmKGw9Z1trXSk7aysrKWZvcihoPWZbbC5pbmRleF0sbT1sLmluZGV4O208bC5pbmRleCtsLlI7bSsrKXE9ZFttXSxlLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShxLGgpLGYuc3BsaWNlKG0sMCxxKX19aWYoIXcucHJlZmVyUGVyZm9ybWFuY2UmJiF0aGlzLmJhKWZvcihiPQp0aGlzLmhvc3QuX19zaGFkeV9jaGlsZE5vZGVzLGM9MCxlPWIubGVuZ3RoO2M8ZTtjKyspZD1iW2NdLGY9dihkKSxkLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzLmhvc3R8fCJzbG90IiE9PWQubG9jYWxOYW1lJiZmLmFzc2lnbmVkU2xvdHx8dGhpcy5ob3N0Ll9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGQpO3RoaXMuYmE9ITA7UGM9YTtRYyYmUWMoKX07ZnVuY3Rpb24gVmMoYSxiLGMpe3ZhciBkPXUoYiksZT1kLlA7ZC5QPW51bGw7Y3x8KGM9KGE9YS5iW2IuX19zaGFkeV9zbG90fHwiX19jYXRjaGFsbCJdKSYmYVswXSk7Yz8odShjKS5hc3NpZ25lZE5vZGVzLnB1c2goYiksZC5hc3NpZ25lZFNsb3Q9Yyk6ZC5hc3NpZ25lZFNsb3Q9dm9pZCAwO2UhPT1kLmFzc2lnbmVkU2xvdCYmZC5hc3NpZ25lZFNsb3QmJih1KGQuYXNzaWduZWRTbG90KS5UPSEwKX0KZnVuY3Rpb24gV2MoYSxiLGMpe2Zvcih2YXIgZD0wLGU9dm9pZCAwO2Q8Yy5sZW5ndGgmJihlPWNbZF0pO2QrKylpZigic2xvdCI9PWUubG9jYWxOYW1lKXt2YXIgZj12KGUpLmFzc2lnbmVkTm9kZXM7ZiYmZi5sZW5ndGgmJldjKGEsYixmKX1lbHNlIGIucHVzaChjW2RdKX1mdW5jdGlvbiBYYyhhLGIpe2IuX19zaGFkeV9uYXRpdmVfZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInNsb3RjaGFuZ2UiKSk7Yj12KGIpO2IuYXNzaWduZWRTbG90JiZYYyhhLGIuYXNzaWduZWRTbG90KX0KZnVuY3Rpb24gVWMoYSl7aWYoYS5jJiZhLmMubGVuZ3RoKXtmb3IodmFyIGI9YS5jLGMsZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdO2pjKGUpO3ZhciBmPWUuX19zaGFkeV9wYXJlbnROb2RlO2pjKGYpO2Y9dihmKTtmLk49KGYuTnx8MCkrMTtmPVljKGUpO2EuYltmXT8oYz1jfHx7fSxjW2ZdPSEwLGEuYltmXS5wdXNoKGUpKTphLmJbZl09W2VdO2EuYS5wdXNoKGUpfWlmKGMpZm9yKHZhciBnIGluIGMpYS5iW2ddPVpjKGEuYltnXSk7YS5jPVtdfX1mdW5jdGlvbiBZYyhhKXt2YXIgYj1hLm5hbWV8fGEuZ2V0QXR0cmlidXRlKCJuYW1lIil8fCJfX2NhdGNoYWxsIjtyZXR1cm4gYS53YT1ifQpmdW5jdGlvbiBaYyhhKXtyZXR1cm4gYS5zb3J0KGZ1bmN0aW9uKGEsYyl7YT1SYyhhKTtmb3IodmFyIGI9UmMoYyksZT0wO2U8YS5sZW5ndGg7ZSsrKXtjPWFbZV07dmFyIGY9YltlXTtpZihjIT09ZilyZXR1cm4gYT1BcnJheS5mcm9tKGMuX19zaGFkeV9wYXJlbnROb2RlLl9fc2hhZHlfY2hpbGROb2RlcyksYS5pbmRleE9mKGMpLWEuaW5kZXhPZihmKX19KX0KZnVuY3Rpb24gQmMoYSxiKXtpZihhLmEpe1VjKGEpO3ZhciBjPWEuYixkO2ZvcihkIGluIGMpZm9yKHZhciBlPWNbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdO2lmKFVhKGIsZykpe2Uuc3BsaWNlKGYsMSk7dmFyIGg9YS5hLmluZGV4T2YoZyk7MDw9aCYmKGEuYS5zcGxpY2UoaCwxKSwoaD12KGcuX19zaGFkeV9wYXJlbnROb2RlKSkmJmguTiYmaC5OLS0pO2YtLTtnPXYoZyk7aWYoaD1nLkQpZm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGU7bSYmbS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChsKX1nLkQ9W107Zy5hc3NpZ25lZE5vZGVzPVtdO2g9ITB9fXJldHVybiBofX1mdW5jdGlvbiBNYShhKXtVYyhhKTtyZXR1cm4hKCFhLmF8fCFhLmEubGVuZ3RoKX0KKGZ1bmN0aW9uKGEpe2EuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlO05jKGEsIl9fc2hhZHlfIik7TmMoYSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYSx7bm9kZVR5cGU6e3ZhbHVlOk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxjb25maWd1cmFibGU6ITB9LG5vZGVOYW1lOnt2YWx1ZToiI2RvY3VtZW50LWZyYWdtZW50Iixjb25maWd1cmFibGU6ITB9LG5vZGVWYWx1ZTp7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9fSk7WyJsb2NhbE5hbWUiLCJuYW1lc3BhY2VVUkkiLCJwcmVmaXgiXS5mb3JFYWNoKGZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIse3ZhbHVlOnZvaWQgMCxjb25maWd1cmFibGU6ITB9KX0pO1sib3duZXJEb2N1bWVudCIsImJhc2VVUkkiLCJpc0Nvbm5lY3RlZCJdLmZvckVhY2goZnVuY3Rpb24oYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaG9zdFtiXX0sCmNvbmZpZ3VyYWJsZTohMH0pfSl9KShTYy5wcm90b3R5cGUpOwppZih3aW5kb3cuY3VzdG9tRWxlbWVudHMmJncuZWEmJiF3LnByZWZlclBlcmZvcm1hbmNlKXt2YXIgJGM9bmV3IE1hcDtRYz1mdW5jdGlvbigpe3ZhciBhPVtdOyRjLmZvckVhY2goZnVuY3Rpb24oYixjKXthLnB1c2goW2MsYl0pfSk7JGMuY2xlYXIoKTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXVswXTthW2JdWzFdP2MudWEoKTpjLnZhKCl9fTtQYyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXtQYz0hMTtRYygpfSx7b25jZTohMH0pO3ZhciBhZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MCxlPSJfX2lzQ29ubmVjdGVkIitkKys7aWYoYnx8YylhLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1hLnByb3RvdHlwZS51YT1mdW5jdGlvbigpe1BjPyRjLnNldCh0aGlzLCEwKTp0aGlzW2VdfHwodGhpc1tlXT0hMCxiJiZiLmNhbGwodGhpcykpfSxhLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz0KYS5wcm90b3R5cGUudmE9ZnVuY3Rpb24oKXtQYz90aGlzLmlzQ29ubmVjdGVkfHwkYy5zZXQodGhpcywhMSk6dGhpc1tlXSYmKHRoaXNbZV09ITEsYyYmYy5jYWxsKHRoaXMpKX07cmV0dXJuIGF9LGJkPXdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5DdXN0b21FbGVtZW50UmVnaXN0cnkucHJvdG90eXBlLCJkZWZpbmUiLHt2YWx1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPWIucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrLGQ9Yi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s7YmQuY2FsbCh3aW5kb3cuY3VzdG9tRWxlbWVudHMsYSxhZChiLGMsZCkpO2IucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPWM7Yi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZH19KX1mdW5jdGlvbiB4YyhhKXthPWEuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKHooYSkpcmV0dXJuIGF9O2Z1bmN0aW9uIGNkKGEpe3RoaXMubm9kZT1hfW49Y2QucHJvdG90eXBlO24uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfTtuLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX07bi5hcHBlbmRDaGlsZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXBwZW5kQ2hpbGQoYSl9O24uaW5zZXJ0QmVmb3JlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2luc2VydEJlZm9yZShhLGIpfTtuLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVDaGlsZChhKX07bi5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVwbGFjZUNoaWxkKGEsYil9OwpuLmNsb25lTm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2xvbmVOb2RlKGEpfTtuLmdldFJvb3ROb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRSb290Tm9kZShhKX07bi5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY29udGFpbnMoYSl9O24uZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZGlzcGF0Y2hFdmVudChhKX07bi5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxiKXt0aGlzLm5vZGUuX19zaGFkeV9zZXRBdHRyaWJ1dGUoYSxiKX07bi5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25hdGl2ZV9nZXRBdHRyaWJ1dGUoYSl9O24uaGFzQXR0cmlidXRlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uYXRpdmVfaGFzQXR0cmlidXRlKGEpfTtuLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbihhKXt0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVBdHRyaWJ1dGUoYSl9OwpuLmF0dGFjaFNoYWRvdz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXR0YWNoU2hhZG93KGEpfTtuLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2ZvY3VzKCl9O24uYmx1cj1mdW5jdGlvbigpe3RoaXMubm9kZS5fX3NoYWR5X2JsdXIoKX07bi5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbXBvcnROb2RlKGEsYil9O24uZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRFbGVtZW50QnlJZChhKX07bi5xdWVyeVNlbGVjdG9yPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9xdWVyeVNlbGVjdG9yKGEpfTsKbi5xdWVyeVNlbGVjdG9yQWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3JBbGwoYSxiKX07bi5hc3NpZ25lZE5vZGVzPWZ1bmN0aW9uKGEpe2lmKCJzbG90Ij09PXRoaXMubm9kZS5sb2NhbE5hbWUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkTm9kZXMoYSl9OwpwLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNkLnByb3RvdHlwZSx7YWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoeih0aGlzLm5vZGUpfHx0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FjdGl2ZUVsZW1lbnR9fSxfYWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlRWxlbWVudH19LGhvc3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKHoodGhpcy5ub2RlKSlyZXR1cm4gdGhpcy5ub2RlLmhvc3R9fSxwYXJlbnROb2RlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcGFyZW50Tm9kZX19LGZpcnN0Q2hpbGQ6e2NvbmZpZ3VyYWJsZTohMCwKZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RDaGlsZH19LGxhc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RDaGlsZH19LG5leHRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmV4dFNpYmxpbmd9fSxwcmV2aW91c1NpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9fSxjaGlsZE5vZGVzOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGROb2Rlc319LHBhcmVudEVsZW1lbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLApnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcGFyZW50RWxlbWVudH19LGZpcnN0RWxlbWVudENoaWxkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RFbGVtZW50Q2hpbGR9fSxsYXN0RWxlbWVudENoaWxkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH19LG5leHRFbGVtZW50U2libGluZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ319LHByZXZpb3VzRWxlbWVudFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c0VsZW1lbnRTaWJsaW5nfX0sCmNoaWxkcmVuOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGRyZW59fSxjaGlsZEVsZW1lbnRDb3VudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fX0sc2hhZG93Um9vdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3NoYWRvd1Jvb3R9fSxhc3NpZ25lZFNsb3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hc3NpZ25lZFNsb3R9fSxpc0Nvbm5lY3RlZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lzQ29ubmVjdGVkfX0saW5uZXJIVE1MOntjb25maWd1cmFibGU6ITAsCmVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTD1hfX0sdGV4dENvbnRlbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50PWF9fSxzbG90Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2xvdH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3Nsb3Q9YX19fSk7CmNjLmZvckVhY2goZnVuY3Rpb24oYSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGNkLnByb3RvdHlwZSxhLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlWyJfX3NoYWR5XyIrYV19LHNldDpmdW5jdGlvbihiKXt0aGlzLm5vZGVbIl9fc2hhZHlfIithXT1ifSxjb25maWd1cmFibGU6ITB9KX0pO3ZhciBkZD1uZXcgV2Vha01hcDtmdW5jdGlvbiBlZChhKXtpZih6KGEpfHxhIGluc3RhbmNlb2YgY2QpcmV0dXJuIGE7dmFyIGI9ZGQuZ2V0KGEpO2J8fChiPW5ldyBjZChhKSxkZC5zZXQoYSxiKSk7cmV0dXJuIGJ9O3ZhciBmZD1CKHtkaXNwYXRjaEV2ZW50OmZ1bmN0aW9uKGEpe1phKCk7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfZGlzcGF0Y2hFdmVudChhKX0sYWRkRXZlbnRMaXN0ZW5lcjpVYixyZW1vdmVFdmVudExpc3RlbmVyOldifSk7dmFyIGdkPUIoe2dldCBhc3NpZ25lZFNsb3QoKXt2YXIgYT10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTsoYT1hJiZhLl9fc2hhZHlfc2hhZG93Um9vdCkmJlRjKGEpO3JldHVybihhPXYodGhpcykpJiZhLmFzc2lnbmVkU2xvdHx8bnVsbH19KTt2YXIgaGQ9d2luZG93LmRvY3VtZW50O2Z1bmN0aW9uIGlkKGEsYil7aWYoInNsb3QiPT09YilhPWEuX19zaGFkeV9wYXJlbnROb2RlLExhKGEpJiZBYyh2KGEpLnJvb3QpO2Vsc2UgaWYoInNsb3QiPT09YS5sb2NhbE5hbWUmJiJuYW1lIj09PWImJihiPXhjKGEpKSl7aWYoYi5hKXtVYyhiKTt2YXIgYz1hLndhLGQ9WWMoYSk7aWYoZCE9PWMpe2M9Yi5iW2NdO3ZhciBlPWMuaW5kZXhPZihhKTswPD1lJiZjLnNwbGljZShlLDEpO2M9Yi5iW2RdfHwoYi5iW2RdPVtdKTtjLnB1c2goYSk7MTxjLmxlbmd0aCYmKGIuYltkXT1aYyhjKSl9fUFjKGIpfX0KdmFyIGpkPUIoe2dldCBwcmV2aW91c0VsZW1lbnRTaWJsaW5nKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLnByZXZpb3VzU2libGluZyl7Zm9yKGE9dGhpcy5fX3NoYWR5X3ByZXZpb3VzU2libGluZzthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9wcmV2aW91c0VsZW1lbnRTaWJsaW5nfSxnZXQgbmV4dEVsZW1lbnRTaWJsaW5nKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLm5leHRTaWJsaW5nKXtmb3IoYT10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7YSYmYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOylhPWEuX19zaGFkeV9uZXh0U2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9uZXh0RWxlbWVudFNpYmxpbmd9LGdldCBzbG90KCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJzbG90Iil9LApzZXQgc2xvdChhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKCJzbG90IixhKX0sZ2V0IHNoYWRvd1Jvb3QoKXt2YXIgYT12KHRoaXMpO3JldHVybiBhJiZhLnBhfHxudWxsfSxnZXQgY2xhc3NOYW1lKCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKCJjbGFzcyIsYSl9LHNldEF0dHJpYnV0ZTpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3duZXJEb2N1bWVudCE9PWhkKXRoaXMuX19zaGFkeV9uYXRpdmVfc2V0QXR0cmlidXRlKGEsYik7ZWxzZXt2YXIgYzsoYz1HKCkpJiYiY2xhc3MiPT09YT8oYy5zZXRFbGVtZW50Q2xhc3ModGhpcyxiKSxjPSEwKTpjPSExO2N8fCh0aGlzLl9fc2hhZHlfbmF0aXZlX3NldEF0dHJpYnV0ZShhLGIpLGlkKHRoaXMsYSkpfX0scmVtb3ZlQXR0cmlidXRlOmZ1bmN0aW9uKGEpe3RoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKGEpO2lkKHRoaXMsCmEpfSxhdHRhY2hTaGFkb3c6ZnVuY3Rpb24oYSl7aWYoIXRoaXMpdGhyb3cgRXJyb3IoIk11c3QgcHJvdmlkZSBhIGhvc3QuIik7aWYoIWEpdGhyb3cgRXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzLiIpO3JldHVybiBuZXcgU2MoT2MsdGhpcyxhKX19KTt2YXIga2Q9Qih7Ymx1cjpmdW5jdGlvbigpe3ZhciBhPXYodGhpcyk7KGE9KGE9YSYmYS5yb290KSYmYS5hY3RpdmVFbGVtZW50KT9hLl9fc2hhZHlfYmx1cigpOnRoaXMuX19zaGFkeV9uYXRpdmVfYmx1cigpfX0pO2NjLmZvckVhY2goZnVuY3Rpb24oYSl7a2RbYV09e3NldDpmdW5jdGlvbihiKXt2YXIgYz11KHRoaXMpLGQ9YS5zdWJzdHJpbmcoMik7Yy5PW2FdJiZ0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCxjLk9bYV0pO3RoaXMuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKGQsYik7Yy5PW2FdPWJ9LGdldDpmdW5jdGlvbigpe3ZhciBiPXYodGhpcyk7cmV0dXJuIGImJmIuT1thXX0sY29uZmlndXJhYmxlOiEwfX0pO3ZhciBsZD1CKHthc3NpZ25lZE5vZGVzOmZ1bmN0aW9uKGEpe2lmKCJzbG90Ij09PXRoaXMubG9jYWxOYW1lKXt2YXIgYj10aGlzLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTtiJiZ6KGIpJiZUYyhiKTtyZXR1cm4oYj12KHRoaXMpKT8oYSYmYS5mbGF0dGVuP2IuRDpiLmFzc2lnbmVkTm9kZXMpfHxbXTpbXX19fSk7dmFyIG1kPXdpbmRvdy5kb2N1bWVudCxuZD1CKHtpbXBvcnROb2RlOmZ1bmN0aW9uKGEsYil7aWYoYS5vd25lckRvY3VtZW50IT09bWR8fCJ0ZW1wbGF0ZSI9PT1hLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsYik7dmFyIGM9dGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsITEpO2lmKGIpe2E9YS5fX3NoYWR5X2NoaWxkTm9kZXM7Yj0wO2Zvcih2YXIgZDtiPGEubGVuZ3RoO2IrKylkPXRoaXMuX19zaGFkeV9pbXBvcnROb2RlKGFbYl0sITApLGMuX19zaGFkeV9hcHBlbmRDaGlsZChkKX1yZXR1cm4gY319KTt2YXIgb2Q9Qih7YWRkRXZlbnRMaXN0ZW5lcjpVYi5iaW5kKHdpbmRvdykscmVtb3ZlRXZlbnRMaXN0ZW5lcjpXYi5iaW5kKHdpbmRvdyl9KTt2YXIgcGQ9e307T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsInBhcmVudEVsZW1lbnQiKSYmKHBkLnBhcmVudEVsZW1lbnQ9Q2MucGFyZW50RWxlbWVudCk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNvbnRhaW5zIikmJihwZC5jb250YWlucz1DYy5jb250YWlucyk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNoaWxkcmVuIikmJihwZC5jaGlsZHJlbj1GYy5jaGlsZHJlbik7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpJiYocGQuaW5uZXJIVE1MPUxjLmlubmVySFRNTCk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNsYXNzTmFtZSIpJiYocGQuY2xhc3NOYW1lPWpkLmNsYXNzTmFtZSk7CnZhciBxZD17RXZlbnRUYXJnZXQ6W2ZkXSxOb2RlOltDYyx3aW5kb3cuRXZlbnRUYXJnZXQ/bnVsbDpmZF0sVGV4dDpbZ2RdLEVsZW1lbnQ6W2pkLEZjLGdkLCF3Lm18fCJpbm5lckhUTUwiaW4gRWxlbWVudC5wcm90b3R5cGU/TGM6bnVsbCx3aW5kb3cuSFRNTFNsb3RFbGVtZW50P251bGw6bGRdLEhUTUxFbGVtZW50OltrZCxwZF0sSFRNTFNsb3RFbGVtZW50OltsZF0sRG9jdW1lbnRGcmFnbWVudDpbSGMsSWNdLERvY3VtZW50OltuZCxIYyxJYyxKY10sV2luZG93OltvZF19LHJkPXcubT9udWxsOlsiaW5uZXJIVE1MIiwidGV4dENvbnRlbnQiXTtmdW5jdGlvbiBzZChhKXt2YXIgYj1hP251bGw6cmQsYz17fSxkO2ZvcihkIGluIHFkKWMuVz13aW5kb3dbZF0mJndpbmRvd1tkXS5wcm90b3R5cGUscWRbZF0uZm9yRWFjaChmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuIGMuVyYmZCYmQShjLlcsZCxhLGIpfX0oYykpLGM9e1c6Yy5XfX07aWYody5lYSl7dmFyIFNoYWR5RE9NPXtpblVzZTp3LmVhLHBhdGNoOmZ1bmN0aW9uKGEpe0ZiKGEpO0ViKGEpO3JldHVybiBhfSxpc1NoYWR5Um9vdDp6LGVucXVldWU6WWEsZmx1c2g6WmEsZmx1c2hJbml0aWFsOmZ1bmN0aW9uKGEpeyFhLmJhJiZhLkImJlRjKGEpfSxzZXR0aW5nczp3LGZpbHRlck11dGF0aW9uczpkYixvYnNlcnZlQ2hpbGRyZW46YmIsdW5vYnNlcnZlQ2hpbGRyZW46Y2IsZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzOncuZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzLHByZWZlclBlcmZvcm1hbmNlOncucHJlZmVyUGVyZm9ybWFuY2UsaGFuZGxlc0R5bmFtaWNTY29waW5nOiEwLHdyYXA6dy5KP2VkOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxXcmFwcGVyOmNkLGNvbXBvc2VkUGF0aDpNYixub1BhdGNoOncuSixuYXRpdmVNZXRob2RzOnFiLG5hdGl2ZVRyZWU6cmJ9O3dpbmRvdy5TaGFkeURPTT1TaGFkeURPTTt5YigpO3NkKCJfX3NoYWR5XyIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShkb2N1bWVudCwKIl9hY3RpdmVFbGVtZW50IixKYy5hY3RpdmVFbGVtZW50KTtBKFdpbmRvdy5wcm90b3R5cGUsb2QsIl9fc2hhZHlfIik7dy5KfHwoc2QoKSxiYygpKTtYYigpO3dpbmRvdy5FdmVudD1aYjt3aW5kb3cuQ3VzdG9tRXZlbnQ9JGI7d2luZG93Lk1vdXNlRXZlbnQ9YWM7d2luZG93LlNoYWRvd1Jvb3Q9U2N9O3ZhciB0ZD1uZXcgU2V0KCJhbm5vdGF0aW9uLXhtbCBjb2xvci1wcm9maWxlIGZvbnQtZmFjZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBtaXNzaW5nLWdseXBoIi5zcGxpdCgiICIpKTtmdW5jdGlvbiB1ZChhKXt2YXIgYj10ZC5oYXMoYSk7YT0vXlthLXpdWy4wLTlfYS16XSotW1wtLjAtOV9hLXpdKiQvLnRlc3QoYSk7cmV0dXJuIWImJmF9ZnVuY3Rpb24gSChhKXt2YXIgYj1hLmlzQ29ubmVjdGVkO2lmKHZvaWQgMCE9PWIpcmV0dXJuIGI7Zm9yKDthJiYhKGEuX19DRV9pc0ltcG9ydERvY3VtZW50fHxhIGluc3RhbmNlb2YgRG9jdW1lbnQpOylhPWEucGFyZW50Tm9kZXx8KHdpbmRvdy5TaGFkb3dSb290JiZhIGluc3RhbmNlb2YgU2hhZG93Um9vdD9hLmhvc3Q6dm9pZCAwKTtyZXR1cm4hKCFhfHwhKGEuX19DRV9pc0ltcG9ydERvY3VtZW50fHxhIGluc3RhbmNlb2YgRG9jdW1lbnQpKX0KZnVuY3Rpb24gdmQoYSxiKXtmb3IoO2ImJmIhPT1hJiYhYi5uZXh0U2libGluZzspYj1iLnBhcmVudE5vZGU7cmV0dXJuIGImJmIhPT1hP2IubmV4dFNpYmxpbmc6bnVsbH0KZnVuY3Rpb24gd2QoYSxiLGMpe2M9dm9pZCAwPT09Yz9uZXcgU2V0OmM7Zm9yKHZhciBkPWE7ZDspe2lmKGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGU9ZDtiKGUpO3ZhciBmPWUubG9jYWxOYW1lO2lmKCJsaW5rIj09PWYmJiJpbXBvcnQiPT09ZS5nZXRBdHRyaWJ1dGUoInJlbCIpKXtkPWUuaW1wb3J0O2lmKGQgaW5zdGFuY2VvZiBOb2RlJiYhYy5oYXMoZCkpZm9yKGMuYWRkKGQpLGQ9ZC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKXdkKGQsYixjKTtkPXZkKGEsZSk7Y29udGludWV9ZWxzZSBpZigidGVtcGxhdGUiPT09Zil7ZD12ZChhLGUpO2NvbnRpbnVlfWlmKGU9ZS5fX0NFX3NoYWRvd1Jvb3QpZm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKXdkKGUsYixjKX1kPWQuZmlyc3RDaGlsZD9kLmZpcnN0Q2hpbGQ6dmQoYSxkKX19ZnVuY3Rpb24gSShhLGIsYyl7YVtiXT1jfTtmdW5jdGlvbiB4ZCgpe3RoaXMuYT1uZXcgTWFwO3RoaXMuZz1uZXcgTWFwO3RoaXMuZj1bXTt0aGlzLmM9ITF9ZnVuY3Rpb24geWQoYSxiLGMpe2EuYS5zZXQoYixjKTthLmcuc2V0KGMuY29uc3RydWN0b3JGdW5jdGlvbixjKX1mdW5jdGlvbiB6ZChhLGIpe2EuYz0hMDthLmYucHVzaChiKX1mdW5jdGlvbiBBZChhLGIpe2EuYyYmd2QoYixmdW5jdGlvbihiKXtyZXR1cm4gYS5iKGIpfSl9eGQucHJvdG90eXBlLmI9ZnVuY3Rpb24oYSl7aWYodGhpcy5jJiYhYS5fX0NFX3BhdGNoZWQpe2EuX19DRV9wYXRjaGVkPSEwO2Zvcih2YXIgYj0wO2I8dGhpcy5mLmxlbmd0aDtiKyspdGhpcy5mW2JdKGEpfX07ZnVuY3Rpb24gSihhLGIpe3ZhciBjPVtdO3dkKGIsZnVuY3Rpb24oYSl7cmV0dXJuIGMucHVzaChhKX0pO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspe3ZhciBkPWNbYl07MT09PWQuX19DRV9zdGF0ZT9hLmNvbm5lY3RlZENhbGxiYWNrKGQpOkJkKGEsZCl9fQpmdW5jdGlvbiBLKGEsYil7dmFyIGM9W107d2QoYixmdW5jdGlvbihhKXtyZXR1cm4gYy5wdXNoKGEpfSk7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKyl7dmFyIGQ9Y1tiXTsxPT09ZC5fX0NFX3N0YXRlJiZhLmRpc2Nvbm5lY3RlZENhbGxiYWNrKGQpfX0KZnVuY3Rpb24gTChhLGIsYyl7Yz12b2lkIDA9PT1jP3t9OmM7dmFyIGQ9Yy5YYXx8bmV3IFNldCxlPWMuWXx8ZnVuY3Rpb24oYil7cmV0dXJuIEJkKGEsYil9LGY9W107d2QoYixmdW5jdGlvbihiKXtpZigibGluayI9PT1iLmxvY2FsTmFtZSYmImltcG9ydCI9PT1iLmdldEF0dHJpYnV0ZSgicmVsIikpe3ZhciBjPWIuaW1wb3J0O2MgaW5zdGFuY2VvZiBOb2RlJiYoYy5fX0NFX2lzSW1wb3J0RG9jdW1lbnQ9ITAsYy5fX0NFX2hhc1JlZ2lzdHJ5PSEwKTtjJiYiY29tcGxldGUiPT09Yy5yZWFkeVN0YXRlP2MuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkPSEwOmIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXt2YXIgYz1iLmltcG9ydDtpZighYy5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQpe2MuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkPSEwO3ZhciBmPW5ldyBTZXQoZCk7Zi5kZWxldGUoYyk7TChhLGMse1hhOmYsWTplfSl9fSl9ZWxzZSBmLnB1c2goYil9LGQpO2lmKGEuYylmb3IoYj0KMDtiPGYubGVuZ3RoO2IrKylhLmIoZltiXSk7Zm9yKGI9MDtiPGYubGVuZ3RoO2IrKyllKGZbYl0pfQpmdW5jdGlvbiBCZChhLGIpe2lmKHZvaWQgMD09PWIuX19DRV9zdGF0ZSl7dmFyIGM9Yi5vd25lckRvY3VtZW50O2lmKGMuZGVmYXVsdFZpZXd8fGMuX19DRV9pc0ltcG9ydERvY3VtZW50JiZjLl9fQ0VfaGFzUmVnaXN0cnkpaWYoYz1hLmEuZ2V0KGIubG9jYWxOYW1lKSl7Yy5jb25zdHJ1Y3Rpb25TdGFjay5wdXNoKGIpO3ZhciBkPWMuY29uc3RydWN0b3JGdW5jdGlvbjt0cnl7dHJ5e2lmKG5ldyBkIT09Yil0aHJvdyBFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIGRpZCBub3QgcHJvZHVjZSB0aGUgZWxlbWVudCBiZWluZyB1cGdyYWRlZC4iKTt9ZmluYWxseXtjLmNvbnN0cnVjdGlvblN0YWNrLnBvcCgpfX1jYXRjaChnKXt0aHJvdyBiLl9fQ0Vfc3RhdGU9MixnO31iLl9fQ0Vfc3RhdGU9MTtiLl9fQ0VfZGVmaW5pdGlvbj1jO2lmKGMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKWZvcihjPWMub2JzZXJ2ZWRBdHRyaWJ1dGVzLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9CmNbZF0sZj1iLmdldEF0dHJpYnV0ZShlKTtudWxsIT09ZiYmYS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYixlLG51bGwsZixudWxsKX1IKGIpJiZhLmNvbm5lY3RlZENhbGxiYWNrKGIpfX19eGQucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKGEpe3ZhciBiPWEuX19DRV9kZWZpbml0aW9uO2IuY29ubmVjdGVkQ2FsbGJhY2smJmIuY29ubmVjdGVkQ2FsbGJhY2suY2FsbChhKX07eGQucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKGEpe3ZhciBiPWEuX19DRV9kZWZpbml0aW9uO2IuZGlzY29ubmVjdGVkQ2FsbGJhY2smJmIuZGlzY29ubmVjdGVkQ2FsbGJhY2suY2FsbChhKX07CnhkLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLl9fQ0VfZGVmaW5pdGlvbjtmLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmLTE8Zi5vYnNlcnZlZEF0dHJpYnV0ZXMuaW5kZXhPZihiKSYmZi5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2suY2FsbChhLGIsYyxkLGUpfTtmdW5jdGlvbiBDZChhKXt2YXIgYj1kb2N1bWVudDt0aGlzLmI9YTt0aGlzLmE9Yjt0aGlzLkY9dm9pZCAwO0wodGhpcy5iLHRoaXMuYSk7ImxvYWRpbmciPT09dGhpcy5hLnJlYWR5U3RhdGUmJih0aGlzLkY9bmV3IE11dGF0aW9uT2JzZXJ2ZXIodGhpcy5jLmJpbmQodGhpcykpLHRoaXMuRi5vYnNlcnZlKHRoaXMuYSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSl9ZnVuY3Rpb24gRGQoYSl7YS5GJiZhLkYuZGlzY29ubmVjdCgpfUNkLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYS5yZWFkeVN0YXRlOyJpbnRlcmFjdGl2ZSIhPT1iJiYiY29tcGxldGUiIT09Ynx8RGQodGhpcyk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKylmb3IodmFyIGM9YVtiXS5hZGRlZE5vZGVzLGQ9MDtkPGMubGVuZ3RoO2QrKylMKHRoaXMuYixjW2RdKX07ZnVuY3Rpb24gRWQoKXt2YXIgYT10aGlzO3RoaXMuYT10aGlzLmg9dm9pZCAwO3RoaXMuYj1uZXcgUHJvbWlzZShmdW5jdGlvbihiKXthLmE9YjthLmgmJmIoYS5oKX0pfUVkLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaCl0aHJvdyBFcnJvcigiQWxyZWFkeSByZXNvbHZlZC4iKTt0aGlzLmg9YTt0aGlzLmEmJnRoaXMuYShhKX07ZnVuY3Rpb24gTihhKXt0aGlzLmM9ITE7dGhpcy5hPWE7dGhpcy5sPW5ldyBNYXA7dGhpcy5mPWZ1bmN0aW9uKGEpe3JldHVybiBhKCl9O3RoaXMuYj0hMTt0aGlzLmc9W107dGhpcy5kYT1uZXcgQ2QoYSl9bj1OLnByb3RvdHlwZTsKbi5zYT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7aWYoIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoIkN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9ycyBtdXN0IGJlIGZ1bmN0aW9ucy4iKTtpZighdWQoYSkpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJUaGUgZWxlbWVudCBuYW1lICciK2ErIicgaXMgbm90IHZhbGlkLiIpO2lmKHRoaXMuYS5hLmdldChhKSl0aHJvdyBFcnJvcigiQSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgJyIrYSsiJyBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQuIik7aWYodGhpcy5jKXRocm93IEVycm9yKCJBIGN1c3RvbSBlbGVtZW50IGlzIGFscmVhZHkgYmVpbmcgZGVmaW5lZC4iKTt0aGlzLmM9ITA7dHJ5e3ZhciBkPWZ1bmN0aW9uKGEpe3ZhciBiPWVbYV07aWYodm9pZCAwIT09YiYmIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IEVycm9yKCJUaGUgJyIrYSsiJyBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7CnJldHVybiBifSxlPWIucHJvdG90eXBlO2lmKCEoZSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yJ3MgcHJvdG90eXBlIGlzIG5vdCBhbiBvYmplY3QuIik7dmFyIGY9ZCgiY29ubmVjdGVkQ2FsbGJhY2siKTt2YXIgZz1kKCJkaXNjb25uZWN0ZWRDYWxsYmFjayIpO3ZhciBoPWQoImFkb3B0ZWRDYWxsYmFjayIpO3ZhciBrPWQoImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIpO3ZhciBsPWIub2JzZXJ2ZWRBdHRyaWJ1dGVzfHxbXX1jYXRjaChtKXtyZXR1cm59ZmluYWxseXt0aGlzLmM9ITF9Yj17bG9jYWxOYW1lOmEsY29uc3RydWN0b3JGdW5jdGlvbjpiLGNvbm5lY3RlZENhbGxiYWNrOmYsZGlzY29ubmVjdGVkQ2FsbGJhY2s6ZyxhZG9wdGVkQ2FsbGJhY2s6aCxhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s6ayxvYnNlcnZlZEF0dHJpYnV0ZXM6bCxjb25zdHJ1Y3Rpb25TdGFjazpbXX07eWQodGhpcy5hLAphLGIpO3RoaXMuZy5wdXNoKGIpO3RoaXMuYnx8KHRoaXMuYj0hMCx0aGlzLmYoZnVuY3Rpb24oKXtyZXR1cm4gRmQoYyl9KSl9O24uWT1mdW5jdGlvbihhKXtMKHRoaXMuYSxhKX07CmZ1bmN0aW9uIEZkKGEpe2lmKCExIT09YS5iKXthLmI9ITE7Zm9yKHZhciBiPWEuZyxjPVtdLGQ9bmV3IE1hcCxlPTA7ZTxiLmxlbmd0aDtlKyspZC5zZXQoYltlXS5sb2NhbE5hbWUsW10pO0woYS5hLGRvY3VtZW50LHtZOmZ1bmN0aW9uKGIpe2lmKHZvaWQgMD09PWIuX19DRV9zdGF0ZSl7dmFyIGU9Yi5sb2NhbE5hbWUsZj1kLmdldChlKTtmP2YucHVzaChiKTphLmEuYS5nZXQoZSkmJmMucHVzaChiKX19fSk7Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKylCZChhLmEsY1tlXSk7Zm9yKDswPGIubGVuZ3RoOyl7dmFyIGY9Yi5zaGlmdCgpO2U9Zi5sb2NhbE5hbWU7Zj1kLmdldChmLmxvY2FsTmFtZSk7Zm9yKHZhciBnPTA7ZzxmLmxlbmd0aDtnKyspQmQoYS5hLGZbZ10pOyhlPWEubC5nZXQoZSkpJiZlLnJlc29sdmUodm9pZCAwKX19fW4uZ2V0PWZ1bmN0aW9uKGEpe2lmKGE9dGhpcy5hLmEuZ2V0KGEpKXJldHVybiBhLmNvbnN0cnVjdG9yRnVuY3Rpb259OwpuLnRhPWZ1bmN0aW9uKGEpe2lmKCF1ZChhKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKCInIithKyInIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUuIikpO3ZhciBiPXRoaXMubC5nZXQoYSk7aWYoYilyZXR1cm4gYi5iO2I9bmV3IEVkO3RoaXMubC5zZXQoYSxiKTt0aGlzLmEuYS5nZXQoYSkmJiF0aGlzLmcuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYi5sb2NhbE5hbWU9PT1hfSkmJmIucmVzb2x2ZSh2b2lkIDApO3JldHVybiBiLmJ9O24uUGE9ZnVuY3Rpb24oYSl7RGQodGhpcy5kYSk7dmFyIGI9dGhpcy5mO3RoaXMuZj1mdW5jdGlvbihjKXtyZXR1cm4gYShmdW5jdGlvbigpe3JldHVybiBiKGMpfSl9fTt3aW5kb3cuQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5PU47Ti5wcm90b3R5cGUuZGVmaW5lPU4ucHJvdG90eXBlLnNhO04ucHJvdG90eXBlLnVwZ3JhZGU9Ti5wcm90b3R5cGUuWTtOLnByb3RvdHlwZS5nZXQ9Ti5wcm90b3R5cGUuZ2V0OwpOLnByb3RvdHlwZS53aGVuRGVmaW5lZD1OLnByb3RvdHlwZS50YTtOLnByb3RvdHlwZS5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrPU4ucHJvdG90eXBlLlBhO3ZhciBHZD13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsSGQ9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlMsSWQ9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLEpkPXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUucHJlcGVuZCxLZD13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmFwcGVuZCxMZD13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucHJlcGVuZCxNZD13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUuYXBwZW5kLE5kPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsT2Q9d2luZG93Lk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLFBkPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUsUWQ9d2luZG93Lk5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLFJkPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQsU2Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsCiJ0ZXh0Q29udGVudCIpLFRkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3csVWQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpLFZkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGUsV2Q9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnNldEF0dHJpYnV0ZSxYZD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlLFlkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUyxaZD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlMsJGQ9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZU5TLGFlPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5pbnNlcnRBZGphY2VudEVsZW1lbnQsYmU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50SFRNTCxjZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucHJlcGVuZCwKZGU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFwcGVuZCxlZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYmVmb3JlLGZlPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hZnRlcixnZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVwbGFjZVdpdGgsaGU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSxpZT13aW5kb3cuSFRNTEVsZW1lbnQsamU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiKSxrZT13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50RWxlbWVudCxsZT13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50SFRNTDt2YXIgbWU9bmV3IGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBuZSgpe3ZhciBhPW9lO3dpbmRvdy5IVE1MRWxlbWVudD1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yLGQ9YS5nLmdldChiKTtpZighZCl0aHJvdyBFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGJlaW5nIGNvbnN0cnVjdGVkIHdhcyBub3QgcmVnaXN0ZXJlZCB3aXRoIGBjdXN0b21FbGVtZW50c2AuIik7dmFyIGU9ZC5jb25zdHJ1Y3Rpb25TdGFjaztpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU9R2QuY2FsbChkb2N1bWVudCxkLmxvY2FsTmFtZSksT2JqZWN0LnNldFByb3RvdHlwZU9mKGUsYi5wcm90b3R5cGUpLGUuX19DRV9zdGF0ZT0xLGUuX19DRV9kZWZpbml0aW9uPWQsYS5iKGUpLGU7ZD1lLmxlbmd0aC0xO3ZhciBmPWVbZF07aWYoZj09PW1lKXRocm93IEVycm9yKCJUaGUgSFRNTEVsZW1lbnQgY29uc3RydWN0b3Igd2FzIGVpdGhlciBjYWxsZWQgcmVlbnRyYW50bHkgZm9yIHRoaXMgY29uc3RydWN0b3Igb3IgY2FsbGVkIG11bHRpcGxlIHRpbWVzLiIpOwplW2RdPW1lO09iamVjdC5zZXRQcm90b3R5cGVPZihmLGIucHJvdG90eXBlKTthLmIoZik7cmV0dXJuIGZ9Yi5wcm90b3R5cGU9aWUucHJvdG90eXBlO09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiY29uc3RydWN0b3IiLHt3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpifSk7cmV0dXJuIGJ9KCl9O2Z1bmN0aW9uIHBlKGEsYixjKXtmdW5jdGlvbiBkKGIpe3JldHVybiBmdW5jdGlvbihjKXtmb3IodmFyIGQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDsrK2UpZFtlXT1hcmd1bWVudHNbZV07ZT1bXTtmb3IodmFyIGY9W10sbD0wO2w8ZC5sZW5ndGg7bCsrKXt2YXIgbT1kW2xdO20gaW5zdGFuY2VvZiBFbGVtZW50JiZIKG0pJiZmLnB1c2gobSk7aWYobSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpZm9yKG09bS5maXJzdENoaWxkO207bT1tLm5leHRTaWJsaW5nKWUucHVzaChtKTtlbHNlIGUucHVzaChtKX1iLmFwcGx5KHRoaXMsZCk7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKylLKGEsZltkXSk7aWYoSCh0aGlzKSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKWY9ZVtkXSxmIGluc3RhbmNlb2YgRWxlbWVudCYmSihhLGYpfX12b2lkIDAhPT1jLlYmJihiLnByZXBlbmQ9ZChjLlYpKTt2b2lkIDAhPT1jLmFwcGVuZCYmKGIuYXBwZW5kPWQoYy5hcHBlbmQpKX07ZnVuY3Rpb24gcWUoKXt2YXIgYT1vZTtJKERvY3VtZW50LnByb3RvdHlwZSwiY3JlYXRlRWxlbWVudCIsZnVuY3Rpb24oYil7aWYodGhpcy5fX0NFX2hhc1JlZ2lzdHJ5KXt2YXIgYz1hLmEuZ2V0KGIpO2lmKGMpcmV0dXJuIG5ldyBjLmNvbnN0cnVjdG9yRnVuY3Rpb259Yj1HZC5jYWxsKHRoaXMsYik7YS5iKGIpO3JldHVybiBifSk7SShEb2N1bWVudC5wcm90b3R5cGUsImltcG9ydE5vZGUiLGZ1bmN0aW9uKGIsYyl7Yj1JZC5jYWxsKHRoaXMsYiwhIWMpO3RoaXMuX19DRV9oYXNSZWdpc3RyeT9MKGEsYik6QWQoYSxiKTtyZXR1cm4gYn0pO0koRG9jdW1lbnQucHJvdG90eXBlLCJjcmVhdGVFbGVtZW50TlMiLGZ1bmN0aW9uKGIsYyl7aWYodGhpcy5fX0NFX2hhc1JlZ2lzdHJ5JiYobnVsbD09PWJ8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWIpKXt2YXIgZD1hLmEuZ2V0KGMpO2lmKGQpcmV0dXJuIG5ldyBkLmNvbnN0cnVjdG9yRnVuY3Rpb259Yj1IZC5jYWxsKHRoaXMsCmIsYyk7YS5iKGIpO3JldHVybiBifSk7cGUoYSxEb2N1bWVudC5wcm90b3R5cGUse1Y6SmQsYXBwZW5kOktkfSl9O2Z1bmN0aW9uIHJlKCl7ZnVuY3Rpb24gYShhLGQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJ0ZXh0Q29udGVudCIse2VudW1lcmFibGU6ZC5lbnVtZXJhYmxlLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZC5nZXQsc2V0OmZ1bmN0aW9uKGEpe2lmKHRoaXMubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlkLnNldC5jYWxsKHRoaXMsYSk7ZWxzZXt2YXIgYz12b2lkIDA7aWYodGhpcy5maXJzdENoaWxkKXt2YXIgZT10aGlzLmNoaWxkTm9kZXMsaD1lLmxlbmd0aDtpZigwPGgmJkgodGhpcykpe2M9QXJyYXkoaCk7Zm9yKHZhciBrPTA7azxoO2srKyljW2tdPWVba119fWQuc2V0LmNhbGwodGhpcyxhKTtpZihjKWZvcihhPTA7YTxjLmxlbmd0aDthKyspSyhiLGNbYV0pfX19KX12YXIgYj1vZTtJKE5vZGUucHJvdG90eXBlLCJpbnNlcnRCZWZvcmUiLGZ1bmN0aW9uKGEsZCl7aWYoYSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseShhLmNoaWxkTm9kZXMpOwphPVBkLmNhbGwodGhpcyxhLGQpO2lmKEgodGhpcykpZm9yKGQ9MDtkPGMubGVuZ3RoO2QrKylKKGIsY1tkXSk7cmV0dXJuIGF9Yz1IKGEpO2Q9UGQuY2FsbCh0aGlzLGEsZCk7YyYmSyhiLGEpO0godGhpcykmJkooYixhKTtyZXR1cm4gZH0pO0koTm9kZS5wcm90b3R5cGUsImFwcGVuZENoaWxkIixmdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGEuY2hpbGROb2Rlcyk7YT1PZC5jYWxsKHRoaXMsYSk7aWYoSCh0aGlzKSlmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKylKKGIsY1tlXSk7cmV0dXJuIGF9Yz1IKGEpO2U9T2QuY2FsbCh0aGlzLGEpO2MmJksoYixhKTtIKHRoaXMpJiZKKGIsYSk7cmV0dXJuIGV9KTtJKE5vZGUucHJvdG90eXBlLCJjbG9uZU5vZGUiLGZ1bmN0aW9uKGEpe2E9TmQuY2FsbCh0aGlzLCEhYSk7dGhpcy5vd25lckRvY3VtZW50Ll9fQ0VfaGFzUmVnaXN0cnk/TChiLGEpOgpBZChiLGEpO3JldHVybiBhfSk7SShOb2RlLnByb3RvdHlwZSwicmVtb3ZlQ2hpbGQiLGZ1bmN0aW9uKGEpe3ZhciBjPUgoYSksZT1RZC5jYWxsKHRoaXMsYSk7YyYmSyhiLGEpO3JldHVybiBlfSk7SShOb2RlLnByb3RvdHlwZSwicmVwbGFjZUNoaWxkIixmdW5jdGlvbihhLGQpe2lmKGEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KXt2YXIgYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkoYS5jaGlsZE5vZGVzKTthPVJkLmNhbGwodGhpcyxhLGQpO2lmKEgodGhpcykpZm9yKEsoYixkKSxkPTA7ZDxjLmxlbmd0aDtkKyspSihiLGNbZF0pO3JldHVybiBhfWM9SChhKTt2YXIgZj1SZC5jYWxsKHRoaXMsYSxkKSxnPUgodGhpcyk7ZyYmSyhiLGQpO2MmJksoYixhKTtnJiZKKGIsYSk7cmV0dXJuIGZ9KTtTZCYmU2QuZ2V0P2EoTm9kZS5wcm90b3R5cGUsU2QpOnpkKGIsZnVuY3Rpb24oYil7YShiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGE9CltdLGI9MDtiPHRoaXMuY2hpbGROb2Rlcy5sZW5ndGg7YisrKWEucHVzaCh0aGlzLmNoaWxkTm9kZXNbYl0udGV4dENvbnRlbnQpO3JldHVybiBhLmpvaW4oIiIpfSxzZXQ6ZnVuY3Rpb24oYSl7Zm9yKDt0aGlzLmZpcnN0Q2hpbGQ7KVFkLmNhbGwodGhpcyx0aGlzLmZpcnN0Q2hpbGQpO09kLmNhbGwodGhpcyxkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhKSl9fSl9KX07ZnVuY3Rpb24gc2UoYSl7ZnVuY3Rpb24gYihiKXtyZXR1cm4gZnVuY3Rpb24oYyl7Zm9yKHZhciBkPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7KytlKWRbZV09YXJndW1lbnRzW2VdO2U9W107Zm9yKHZhciBoPVtdLGs9MDtrPGQubGVuZ3RoO2srKyl7dmFyIGw9ZFtrXTtsIGluc3RhbmNlb2YgRWxlbWVudCYmSChsKSYmaC5wdXNoKGwpO2lmKGwgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcihsPWwuZmlyc3RDaGlsZDtsO2w9bC5uZXh0U2libGluZyllLnB1c2gobCk7ZWxzZSBlLnB1c2gobCl9Yi5hcHBseSh0aGlzLGQpO2ZvcihkPTA7ZDxoLmxlbmd0aDtkKyspSyhhLGhbZF0pO2lmKEgodGhpcykpZm9yKGQ9MDtkPGUubGVuZ3RoO2QrKyloPWVbZF0saCBpbnN0YW5jZW9mIEVsZW1lbnQmJkooYSxoKX19dmFyIGM9RWxlbWVudC5wcm90b3R5cGU7dm9pZCAwIT09ZWUmJihjLmJlZm9yZT1iKGVlKSk7dm9pZCAwIT09ZWUmJihjLmFmdGVyPWIoZmUpKTt2b2lkIDAhPT1nZSYmCkkoYywicmVwbGFjZVdpdGgiLGZ1bmN0aW9uKGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhcmd1bWVudHMubGVuZ3RoOysrZCljW2RdPWFyZ3VtZW50c1tkXTtkPVtdO2Zvcih2YXIgZz1bXSxoPTA7aDxjLmxlbmd0aDtoKyspe3ZhciBrPWNbaF07ayBpbnN0YW5jZW9mIEVsZW1lbnQmJkgoaykmJmcucHVzaChrKTtpZihrIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3Ioaz1rLmZpcnN0Q2hpbGQ7aztrPWsubmV4dFNpYmxpbmcpZC5wdXNoKGspO2Vsc2UgZC5wdXNoKGspfWg9SCh0aGlzKTtnZS5hcHBseSh0aGlzLGMpO2ZvcihjPTA7YzxnLmxlbmd0aDtjKyspSyhhLGdbY10pO2lmKGgpZm9yKEsoYSx0aGlzKSxjPTA7YzxkLmxlbmd0aDtjKyspZz1kW2NdLGcgaW5zdGFuY2VvZiBFbGVtZW50JiZKKGEsZyl9KTt2b2lkIDAhPT1oZSYmSShjLCJyZW1vdmUiLGZ1bmN0aW9uKCl7dmFyIGI9SCh0aGlzKTtoZS5jYWxsKHRoaXMpO2ImJksoYSx0aGlzKX0pfTtmdW5jdGlvbiB0ZSgpe2Z1bmN0aW9uIGEoYSxiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiaW5uZXJIVE1MIix7ZW51bWVyYWJsZTpiLmVudW1lcmFibGUsY29uZmlndXJhYmxlOiEwLGdldDpiLmdldCxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcyxlPXZvaWQgMDtIKHRoaXMpJiYoZT1bXSx3ZCh0aGlzLGZ1bmN0aW9uKGEpe2EhPT1jJiZlLnB1c2goYSl9KSk7Yi5zZXQuY2FsbCh0aGlzLGEpO2lmKGUpZm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBnPWVbZl07MT09PWcuX19DRV9zdGF0ZSYmZC5kaXNjb25uZWN0ZWRDYWxsYmFjayhnKX10aGlzLm93bmVyRG9jdW1lbnQuX19DRV9oYXNSZWdpc3RyeT9MKGQsdGhpcyk6QWQoZCx0aGlzKTtyZXR1cm4gYX19KX1mdW5jdGlvbiBiKGEsYil7SShhLCJpbnNlcnRBZGphY2VudEVsZW1lbnQiLGZ1bmN0aW9uKGEsYyl7dmFyIGU9SChjKTthPWIuY2FsbCh0aGlzLGEsYyk7ZSYmSyhkLGMpO0goYSkmJkooZCxjKTtyZXR1cm4gYX0pfQpmdW5jdGlvbiBjKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2Zvcih2YXIgYz1bXTthIT09YjthPWEubmV4dFNpYmxpbmcpYy5wdXNoKGEpO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspTChkLGNbYl0pfUkoYSwiaW5zZXJ0QWRqYWNlbnRIVE1MIixmdW5jdGlvbihhLGQpe2E9YS50b0xvd2VyQ2FzZSgpO2lmKCJiZWZvcmViZWdpbiI9PT1hKXt2YXIgZT10aGlzLnByZXZpb3VzU2libGluZztiLmNhbGwodGhpcyxhLGQpO2MoZXx8dGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsdGhpcyl9ZWxzZSBpZigiYWZ0ZXJiZWdpbiI9PT1hKWU9dGhpcy5maXJzdENoaWxkLGIuY2FsbCh0aGlzLGEsZCksYyh0aGlzLmZpcnN0Q2hpbGQsZSk7ZWxzZSBpZigiYmVmb3JlZW5kIj09PWEpZT10aGlzLmxhc3RDaGlsZCxiLmNhbGwodGhpcyxhLGQpLGMoZXx8dGhpcy5maXJzdENoaWxkLG51bGwpO2Vsc2UgaWYoImFmdGVyZW5kIj09PWEpZT10aGlzLm5leHRTaWJsaW5nLGIuY2FsbCh0aGlzLGEsZCksYyh0aGlzLm5leHRTaWJsaW5nLAplKTtlbHNlIHRocm93IG5ldyBTeW50YXhFcnJvcigiVGhlIHZhbHVlIHByb3ZpZGVkICgiK1N0cmluZyhhKSsiKSBpcyBub3Qgb25lIG9mICdiZWZvcmViZWdpbicsICdhZnRlcmJlZ2luJywgJ2JlZm9yZWVuZCcsIG9yICdhZnRlcmVuZCcuIik7fSl9dmFyIGQ9b2U7VGQmJkkoRWxlbWVudC5wcm90b3R5cGUsImF0dGFjaFNoYWRvdyIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19DRV9zaGFkb3dSb290PWE9VGQuY2FsbCh0aGlzLGEpfSk7VWQmJlVkLmdldD9hKEVsZW1lbnQucHJvdG90eXBlLFVkKTpqZSYmamUuZ2V0P2EoSFRNTEVsZW1lbnQucHJvdG90eXBlLGplKTp6ZChkLGZ1bmN0aW9uKGIpe2EoYix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE5kLmNhbGwodGhpcywhMCkuaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9InRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lLGM9Yj90aGlzLmNvbnRlbnQ6dGhpcyxkPUhkLmNhbGwoZG9jdW1lbnQsCnRoaXMubmFtZXNwYWNlVVJJLHRoaXMubG9jYWxOYW1lKTtmb3IoZC5pbm5lckhUTUw9YTswPGMuY2hpbGROb2Rlcy5sZW5ndGg7KVFkLmNhbGwoYyxjLmNoaWxkTm9kZXNbMF0pO2ZvcihhPWI/ZC5jb250ZW50OmQ7MDxhLmNoaWxkTm9kZXMubGVuZ3RoOylPZC5jYWxsKGMsYS5jaGlsZE5vZGVzWzBdKX19KX0pO0koRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZSIsZnVuY3Rpb24oYSxiKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBXZC5jYWxsKHRoaXMsYSxiKTt2YXIgYz1WZC5jYWxsKHRoaXMsYSk7V2QuY2FsbCh0aGlzLGEsYik7Yj1WZC5jYWxsKHRoaXMsYSk7ZC5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxhLGMsYixudWxsKX0pO0koRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZU5TIixmdW5jdGlvbihhLGIsYyl7aWYoMSE9PXRoaXMuX19DRV9zdGF0ZSlyZXR1cm4gWmQuY2FsbCh0aGlzLGEsYixjKTt2YXIgZT1ZZC5jYWxsKHRoaXMsYSwKYik7WmQuY2FsbCh0aGlzLGEsYixjKTtjPVlkLmNhbGwodGhpcyxhLGIpO2QuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHRoaXMsYixlLGMsYSl9KTtJKEVsZW1lbnQucHJvdG90eXBlLCJyZW1vdmVBdHRyaWJ1dGUiLGZ1bmN0aW9uKGEpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIFhkLmNhbGwodGhpcyxhKTt2YXIgYj1WZC5jYWxsKHRoaXMsYSk7WGQuY2FsbCh0aGlzLGEpO251bGwhPT1iJiZkLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLGEsYixudWxsLG51bGwpfSk7SShFbGVtZW50LnByb3RvdHlwZSwicmVtb3ZlQXR0cmlidXRlTlMiLGZ1bmN0aW9uKGEsYil7aWYoMSE9PXRoaXMuX19DRV9zdGF0ZSlyZXR1cm4gJGQuY2FsbCh0aGlzLGEsYik7dmFyIGM9WWQuY2FsbCh0aGlzLGEsYik7JGQuY2FsbCh0aGlzLGEsYik7dmFyIGU9WWQuY2FsbCh0aGlzLGEsYik7YyE9PWUmJmQuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHRoaXMsYixjLGUsYSl9KTtrZT9iKEhUTUxFbGVtZW50LnByb3RvdHlwZSwKa2UpOmFlP2IoRWxlbWVudC5wcm90b3R5cGUsYWUpOmNvbnNvbGUud2FybigiQ3VzdG9tIEVsZW1lbnRzOiBgRWxlbWVudCNpbnNlcnRBZGphY2VudEVsZW1lbnRgIHdhcyBub3QgcGF0Y2hlZC4iKTtsZT9jKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsZSk6YmU/YyhFbGVtZW50LnByb3RvdHlwZSxiZSk6Y29uc29sZS53YXJuKCJDdXN0b20gRWxlbWVudHM6IGBFbGVtZW50I2luc2VydEFkamFjZW50SFRNTGAgd2FzIG5vdCBwYXRjaGVkLiIpO3BlKGQsRWxlbWVudC5wcm90b3R5cGUse1Y6Y2UsYXBwZW5kOmRlfSk7c2UoZCl9O3ZhciB1ZT13aW5kb3cuY3VzdG9tRWxlbWVudHM7aWYoIXVlfHx1ZS5mb3JjZVBvbHlmaWxsfHwiZnVuY3Rpb24iIT10eXBlb2YgdWUuZGVmaW5lfHwiZnVuY3Rpb24iIT10eXBlb2YgdWUuZ2V0KXt2YXIgb2U9bmV3IHhkO25lKCk7cWUoKTtwZShvZSxEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx7VjpMZCxhcHBlbmQ6TWR9KTtyZSgpO3RlKCk7ZG9jdW1lbnQuX19DRV9oYXNSZWdpc3RyeT0hMDt2YXIgY3VzdG9tRWxlbWVudHM9bmV3IE4ob2UpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csImN1c3RvbUVsZW1lbnRzIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6Y3VzdG9tRWxlbWVudHN9KX07ZnVuY3Rpb24gdmUoKXt0aGlzLmVuZD10aGlzLnN0YXJ0PTA7dGhpcy5ydWxlcz10aGlzLnBhcmVudD10aGlzLnByZXZpb3VzPW51bGw7dGhpcy5jc3NUZXh0PXRoaXMucGFyc2VkQ3NzVGV4dD0iIjt0aGlzLmF0UnVsZT0hMTt0aGlzLnR5cGU9MDt0aGlzLnBhcnNlZFNlbGVjdG9yPXRoaXMuc2VsZWN0b3I9dGhpcy5rZXlmcmFtZXNOYW1lPSIifQpmdW5jdGlvbiB3ZShhKXthPWEucmVwbGFjZSh4ZSwiIikucmVwbGFjZSh5ZSwiIik7dmFyIGI9emUsYz1hLGQ9bmV3IHZlO2Quc3RhcnQ9MDtkLmVuZD1jLmxlbmd0aDtmb3IodmFyIGU9ZCxmPTAsZz1jLmxlbmd0aDtmPGc7ZisrKWlmKCJ7Ij09PWNbZl0pe2UucnVsZXN8fChlLnJ1bGVzPVtdKTt2YXIgaD1lLGs9aC5ydWxlc1toLnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtlPW5ldyB2ZTtlLnN0YXJ0PWYrMTtlLnBhcmVudD1oO2UucHJldmlvdXM9aztoLnJ1bGVzLnB1c2goZSl9ZWxzZSJ9Ij09PWNbZl0mJihlLmVuZD1mKzEsZT1lLnBhcmVudHx8ZCk7cmV0dXJuIGIoZCxhKX0KZnVuY3Rpb24gemUoYSxiKXt2YXIgYz1iLnN1YnN0cmluZyhhLnN0YXJ0LGEuZW5kLTEpO2EucGFyc2VkQ3NzVGV4dD1hLmNzc1RleHQ9Yy50cmltKCk7YS5wYXJlbnQmJihjPWIuc3Vic3RyaW5nKGEucHJldmlvdXM/YS5wcmV2aW91cy5lbmQ6YS5wYXJlbnQuc3RhcnQsYS5zdGFydC0xKSxjPUFlKGMpLGM9Yy5yZXBsYWNlKEJlLCIgIiksYz1jLnN1YnN0cmluZyhjLmxhc3RJbmRleE9mKCI7IikrMSksYz1hLnBhcnNlZFNlbGVjdG9yPWEuc2VsZWN0b3I9Yy50cmltKCksYS5hdFJ1bGU9MD09PWMuaW5kZXhPZigiQCIpLGEuYXRSdWxlPzA9PT1jLmluZGV4T2YoIkBtZWRpYSIpP2EudHlwZT1DZTpjLm1hdGNoKERlKSYmKGEudHlwZT1FZSxhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdChCZSkucG9wKCkpOmEudHlwZT0wPT09Yy5pbmRleE9mKCItLSIpP0ZlOkdlKTtpZihjPWEucnVsZXMpZm9yKHZhciBkPTAsZT1jLmxlbmd0aCxmPXZvaWQgMDtkPGUmJihmPWNbZF0pO2QrKyl6ZShmLApiKTtyZXR1cm4gYX1mdW5jdGlvbiBBZShhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXChbMC05YS1mXXsxLDZ9KVxzL2dpLGZ1bmN0aW9uKGEsYyl7YT1jO2ZvcihjPTYtYS5sZW5ndGg7Yy0tOylhPSIwIithO3JldHVybiJcXCIrYX0pfQpmdW5jdGlvbiBIZShhLGIsYyl7Yz12b2lkIDA9PT1jPyIiOmM7dmFyIGQ9IiI7aWYoYS5jc3NUZXh0fHxhLnJ1bGVzKXt2YXIgZT1hLnJ1bGVzLGY7aWYoZj1lKWY9ZVswXSxmPSEoZiYmZi5zZWxlY3RvciYmMD09PWYuc2VsZWN0b3IuaW5kZXhPZigiLS0iKSk7aWYoZil7Zj0wO2Zvcih2YXIgZz1lLmxlbmd0aCxoPXZvaWQgMDtmPGcmJihoPWVbZl0pO2YrKylkPUhlKGgsYixkKX1lbHNlIGI/Yj1hLmNzc1RleHQ6KGI9YS5jc3NUZXh0LGI9Yi5yZXBsYWNlKEllLCIiKS5yZXBsYWNlKEplLCIiKSxiPWIucmVwbGFjZShLZSwiIikucmVwbGFjZShMZSwiIikpLChkPWIudHJpbSgpKSYmKGQ9IiAgIitkKyJcbiIpfWQmJihhLnNlbGVjdG9yJiYoYys9YS5zZWxlY3RvcisiIHtcbiIpLGMrPWQsYS5zZWxlY3RvciYmKGMrPSJ9XG5cbiIpKTtyZXR1cm4gY30KdmFyIEdlPTEsRWU9NyxDZT00LEZlPTFFMyx4ZT0vXC9cKlteKl0qXCorKFteLypdW14qXSpcKispKlwvL2dpbSx5ZT0vQGltcG9ydFteO10qOy9naW0sSWU9Lyg/Ol5bXjtcLVxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/KD86Wztcbl18JCkvZ2ltLEplPS8oPzpeW147XC1cc31dKyk/LS1bXjt7fV0qPzpbXnt9O10qP3tbXn1dKj99KD86Wztcbl18JCk/L2dpbSxLZT0vQGFwcGx5XHMqXCg/W14pO10qXCk/XHMqKD86Wztcbl18JCk/L2dpbSxMZT0vW147Ol0qPzpbXjtdKj92YXJcKFteO10qXCkoPzpbO1xuXXwkKT8vZ2ltLERlPS9eQFteXHNdKmtleWZyYW1lcy8sQmU9L1xzKy9nO3ZhciBPPSEod2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaW5Vc2UpLE1lO2Z1bmN0aW9uIE5lKGEpe01lPWEmJmEuc2hpbWNzc3Byb3BlcnRpZXM/ITE6T3x8IShuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvNjAxfEVkZ2VcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKCJib3gtc2hhZG93IiwiMCAwIDAgdmFyKC0tZm9vKSIpKX12YXIgT2U7d2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQmJihPZT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQpO3ZhciBQZT0hKCF3aW5kb3cuU2hhZHlDU1N8fCF3aW5kb3cuU2hhZHlDU1MuZGlzYWJsZVJ1bnRpbWUpOwp3aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M/TWU9d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzczp3aW5kb3cuU2hhZHlDU1M/KE5lKHdpbmRvdy5TaGFkeUNTUyksd2luZG93LlNoYWR5Q1NTPXZvaWQgMCk6TmUod2luZG93LldlYkNvbXBvbmVudHMmJndpbmRvdy5XZWJDb21wb25lbnRzLmZsYWdzKTt2YXIgUT1NZSxRZT1PZTt2YXIgUmU9Lyg/Ol58Wztcc3tdXHMqKSgtLVtcdy1dKj8pXHMqOlxzKig/OigoPzonKD86XFwnfC4pKj8nfCIoPzpcXCJ8LikqPyJ8XChbXildKj9cKXxbXn07e10pKyl8XHsoW159XSopXH0oPzooPz1bO1xzfV0pfCQpKS9naSxTZT0vKD86XnxcVyspQGFwcGx5XHMqXCg/KFteKTtcbl0qKVwpPy9naSxUZT0vKC0tW1x3LV0rKVxzKihbOiw7KV18JCkvZ2ksVWU9LyhhbmltYXRpb25ccyo6KXwoYW5pbWF0aW9uLW5hbWVccyo6KS8sJGU9L0BtZWRpYVxzKC4qKS8sYWY9L1x7W159XSpcfS9nO3ZhciBiZj1uZXcgU2V0O2Z1bmN0aW9uIGNmKGEsYil7aWYoIWEpcmV0dXJuIiI7InN0cmluZyI9PT10eXBlb2YgYSYmKGE9d2UoYSkpO2ImJmRmKGEsYik7cmV0dXJuIEhlKGEsUSl9ZnVuY3Rpb24gZWYoYSl7IWEuX19jc3NSdWxlcyYmYS50ZXh0Q29udGVudCYmKGEuX19jc3NSdWxlcz13ZShhLnRleHRDb250ZW50KSk7cmV0dXJuIGEuX19jc3NSdWxlc3x8bnVsbH1mdW5jdGlvbiBmZihhKXtyZXR1cm4hIWEucGFyZW50JiZhLnBhcmVudC50eXBlPT09RWV9ZnVuY3Rpb24gZGYoYSxiLGMsZCl7aWYoYSl7dmFyIGU9ITEsZj1hLnR5cGU7aWYoZCYmZj09PUNlKXt2YXIgZz1hLnNlbGVjdG9yLm1hdGNoKCRlKTtnJiYod2luZG93Lm1hdGNoTWVkaWEoZ1sxXSkubWF0Y2hlc3x8KGU9ITApKX1mPT09R2U/YihhKTpjJiZmPT09RWU/YyhhKTpmPT09RmUmJihlPSEwKTtpZigoYT1hLnJ1bGVzKSYmIWUpZm9yKGU9MCxmPWEubGVuZ3RoLGc9dm9pZCAwO2U8ZiYmKGc9YVtlXSk7ZSsrKWRmKGcsYixjLGQpfX0KZnVuY3Rpb24gZ2YoYSxiLGMsZCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtiJiZlLnNldEF0dHJpYnV0ZSgic2NvcGUiLGIpO2UudGV4dENvbnRlbnQ9YTtoZihlLGMsZCk7cmV0dXJuIGV9dmFyIGpmPW51bGw7ZnVuY3Rpb24ga2YoYSl7YT1kb2N1bWVudC5jcmVhdGVDb21tZW50KCIgU2hhZHkgRE9NIHN0eWxlcyBmb3IgIithKyIgIik7dmFyIGI9ZG9jdW1lbnQuaGVhZDtiLmluc2VydEJlZm9yZShhLChqZj9qZi5uZXh0U2libGluZzpudWxsKXx8Yi5maXJzdENoaWxkKTtyZXR1cm4gamY9YX1mdW5jdGlvbiBoZihhLGIsYyl7Yj1ifHxkb2N1bWVudC5oZWFkO2IuaW5zZXJ0QmVmb3JlKGEsYyYmYy5uZXh0U2libGluZ3x8Yi5maXJzdENoaWxkKTtqZj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGpmKT09PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJiYoamY9YSk6amY9YX0KZnVuY3Rpb24gbGYoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2I8ZDtiKyspaWYoIigiPT09YVtiXSljKys7ZWxzZSBpZigiKSI9PT1hW2JdJiYwPT09LS1jKXJldHVybiBiO3JldHVybi0xfWZ1bmN0aW9uIG1mKGEsYil7dmFyIGM9YS5pbmRleE9mKCJ2YXIoIik7aWYoLTE9PT1jKXJldHVybiBiKGEsIiIsIiIsIiIpO3ZhciBkPWxmKGEsYyszKSxlPWEuc3Vic3RyaW5nKGMrNCxkKTtjPWEuc3Vic3RyaW5nKDAsYyk7YT1tZihhLnN1YnN0cmluZyhkKzEpLGIpO2Q9ZS5pbmRleE9mKCIsIik7cmV0dXJuLTE9PT1kP2IoYyxlLnRyaW0oKSwiIixhKTpiKGMsZS5zdWJzdHJpbmcoMCxkKS50cmltKCksZS5zdWJzdHJpbmcoZCsxKS50cmltKCksYSl9ZnVuY3Rpb24gbmYoYSxiKXtPP2Euc2V0QXR0cmlidXRlKCJjbGFzcyIsYik6d2luZG93LlNoYWR5RE9NLm5hdGl2ZU1ldGhvZHMuc2V0QXR0cmlidXRlLmNhbGwoYSwiY2xhc3MiLGIpfQp2YXIgb2Y9d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00ud3JhcHx8ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2Z1bmN0aW9uIHBmKGEpe3ZhciBiPWEubG9jYWxOYW1lLGM9IiI7Yj8tMTxiLmluZGV4T2YoIi0iKXx8KGM9YixiPWEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiaXMiKXx8IiIpOihiPWEuaXMsYz1hLmV4dGVuZHMpO3JldHVybntpczpiLE06Y319ZnVuY3Rpb24gcWYoYSl7Zm9yKHZhciBiPVtdLGM9IiIsZD0wOzA8PWQmJmQ8YS5sZW5ndGg7ZCsrKWlmKCIoIj09PWFbZF0pe3ZhciBlPWxmKGEsZCk7Yys9YS5zbGljZShkLGUrMSk7ZD1lfWVsc2UiLCI9PT1hW2RdPyhiLnB1c2goYyksYz0iIik6Yys9YVtkXTtjJiZiLnB1c2goYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIHJmKGEpe2lmKHZvaWQgMCE9PVFlKXJldHVybiBRZTtpZih2b2lkIDA9PT1hLl9fY3NzQnVpbGQpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJjc3MtYnVpbGQiKTtpZihiKWEuX19jc3NCdWlsZD1iO2Vsc2V7YTp7Yj0idGVtcGxhdGUiPT09YS5sb2NhbE5hbWU/YS5jb250ZW50LmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkO2lmKGIgaW5zdGFuY2VvZiBDb21tZW50JiYoYj1iLnRleHRDb250ZW50LnRyaW0oKS5zcGxpdCgiOiIpLCJjc3MtYnVpbGQiPT09YlswXSkpe2I9YlsxXTticmVhayBhfWI9IiJ9aWYoIiIhPT1iKXt2YXIgYz0idGVtcGxhdGUiPT09YS5sb2NhbE5hbWU/YS5jb250ZW50LmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkO2MucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjKX1hLl9fY3NzQnVpbGQ9Yn19cmV0dXJuIGEuX19jc3NCdWlsZHx8IiJ9CmZ1bmN0aW9uIHNmKGEpe2E9dm9pZCAwPT09YT8iIjphO3JldHVybiIiIT09YSYmUT9PPyJzaGFkb3ciPT09YToic2hhZHkiPT09YTohMX07ZnVuY3Rpb24gdGYoKXt9ZnVuY3Rpb24gdWYoYSxiKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxifHwiIil9KX1mdW5jdGlvbiB2ZihhLGIsYyl7Yi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjKGIpO3ZhciBkOyJ0ZW1wbGF0ZSI9PT1iLmxvY2FsTmFtZT9kPShiLmNvbnRlbnR8fGIuX2NvbnRlbnR8fGIpLmNoaWxkTm9kZXM6ZD1iLmNoaWxkcmVufHxiLmNoaWxkTm9kZXM7aWYoZClmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKXZmKGEsZFtiXSxjKX0KZnVuY3Rpb24gd2YoYSxiLGMpe2lmKGIpaWYoYS5jbGFzc0xpc3QpYz8oYS5jbGFzc0xpc3QucmVtb3ZlKCJzdHlsZS1zY29wZSIpLGEuY2xhc3NMaXN0LnJlbW92ZShiKSk6KGEuY2xhc3NMaXN0LmFkZCgic3R5bGUtc2NvcGUiKSxhLmNsYXNzTGlzdC5hZGQoYikpO2Vsc2UgaWYoYS5nZXRBdHRyaWJ1dGUpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpO2M/ZCYmKGI9ZC5yZXBsYWNlKCJzdHlsZS1zY29wZSIsIiIpLnJlcGxhY2UoYiwiIiksbmYoYSxiKSk6bmYoYSwoZD9kKyIgIjoiIikrInN0eWxlLXNjb3BlICIrYil9fWZ1bmN0aW9uIHhmKGEsYixjKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxiLCEwKTt3ZihhLGMpfSl9ZnVuY3Rpb24geWYoYSxiKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxifHwiIiwhMCl9KX0KZnVuY3Rpb24gemYoYSxiLGMsZCxlKXt2YXIgZj1SO2U9dm9pZCAwPT09ZT8iIjplOyIiPT09ZSYmKE98fCJzaGFkeSI9PT0odm9pZCAwPT09ZD8iIjpkKT9lPWNmKGIsYyk6KGE9cGYoYSksZT1BZihmLGIsYS5pcyxhLk0sYykrIlxuXG4iKSk7cmV0dXJuIGUudHJpbSgpfWZ1bmN0aW9uIEFmKGEsYixjLGQsZSl7dmFyIGY9QmYoYyxkKTtjPWM/Ii4iK2M6IiI7cmV0dXJuIGNmKGIsZnVuY3Rpb24oYil7Yi5jfHwoYi5zZWxlY3Rvcj1iLmo9Q2YoYSxiLGEuYixjLGYpLGIuYz0hMCk7ZSYmZShiLGMsZil9KX1mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPyJbaXM9IithKyJdIjphfQpmdW5jdGlvbiBDZihhLGIsYyxkLGUpe3ZhciBmPXFmKGIuc2VsZWN0b3IpO2lmKCFmZihiKSl7Yj0wO2Zvcih2YXIgZz1mLmxlbmd0aCxoPXZvaWQgMDtiPGcmJihoPWZbYl0pO2IrKylmW2JdPWMuY2FsbChhLGgsZCxlKX1yZXR1cm4gZi5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuISFhfSkuam9pbigiLCIpfWZ1bmN0aW9uIERmKGEpe3JldHVybiBhLnJlcGxhY2UoRWYsZnVuY3Rpb24oYSxjLGQpey0xPGQuaW5kZXhPZigiKyIpP2Q9ZC5yZXBsYWNlKC9cKy9nLCJfX18iKTotMTxkLmluZGV4T2YoIl9fXyIpJiYoZD1kLnJlcGxhY2UoL19fXy9nLCIrIikpO3JldHVybiI6IitjKyIoIitkKyIpIn0pfQpmdW5jdGlvbiBGZihhKXtmb3IodmFyIGI9W10sYztjPWEubWF0Y2goR2YpOyl7dmFyIGQ9Yy5pbmRleCxlPWxmKGEsZCk7aWYoLTE9PT1lKXRocm93IEVycm9yKGMuaW5wdXQrIiBzZWxlY3RvciBtaXNzaW5nICcpJyIpO2M9YS5zbGljZShkLGUrMSk7YT1hLnJlcGxhY2UoYywiXHVlMDAwIik7Yi5wdXNoKGMpfXJldHVybntoYTphLG1hdGNoZXM6Yn19ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz1hLnNwbGl0KCJcdWUwMDAiKTtyZXR1cm4gYi5yZWR1Y2UoZnVuY3Rpb24oYSxiLGYpe3JldHVybiBhK2IrY1tmKzFdfSxjWzBdKX0KdGYucHJvdG90eXBlLmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSExO2E9YS50cmltKCk7dmFyIGU9RWYudGVzdChhKTtlJiYoYT1hLnJlcGxhY2UoRWYsZnVuY3Rpb24oYSxiLGMpe3JldHVybiI6IitiKyIoIitjLnJlcGxhY2UoL1xzL2csIiIpKyIpIn0pLGE9RGYoYSkpO3ZhciBmPUdmLnRlc3QoYSk7aWYoZil7dmFyIGc9RmYoYSk7YT1nLmhhO2c9Zy5tYXRjaGVzfWE9YS5yZXBsYWNlKElmLCI6aG9zdCAkMSIpO2E9YS5yZXBsYWNlKEpmLGZ1bmN0aW9uKGEsZSxmKXtkfHwoYT1LZihmLGUsYixjKSxkPWR8fGEuc3RvcCxlPWEuQ2EsZj1hLnZhbHVlKTtyZXR1cm4gZStmfSk7ZiYmKGE9SGYoYSxnKSk7ZSYmKGE9RGYoYSkpO3JldHVybiBhfTsKZnVuY3Rpb24gS2YoYSxiLGMsZCl7dmFyIGU9YS5pbmRleE9mKCI6OnNsb3R0ZWQiKTswPD1hLmluZGV4T2YoIjpob3N0Iik/YT1MZihhLGQpOjAhPT1lJiYoYT1jP01mKGEsYyk6YSk7Yz0hMTswPD1lJiYoYj0iIixjPSEwKTtpZihjKXt2YXIgZj0hMDtjJiYoYT1hLnJlcGxhY2UoTmYsZnVuY3Rpb24oYSxiKXtyZXR1cm4iID4gIitifSkpfWE9YS5yZXBsYWNlKE9mLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4nW2Rpcj0iJytjKyciXSAnK2IrIiwgIitiKydbZGlyPSInK2MrJyJdJ30pO3JldHVybnt2YWx1ZTphLENhOmIsc3RvcDpmfX0KZnVuY3Rpb24gTWYoYSxiKXthPWEuc3BsaXQoLyhcWy4rP1xdKS8pO2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspaWYoMT09PWQlMiljLnB1c2goYVtkXSk7ZWxzZXt2YXIgZT1hW2RdO2lmKCIiIT09ZXx8ZCE9PWEubGVuZ3RoLTEpZT1lLnNwbGl0KCI6IiksZVswXSs9YixjLnB1c2goZS5qb2luKCI6IikpfXJldHVybiBjLmpvaW4oIiIpfWZ1bmN0aW9uIExmKGEsYil7dmFyIGM9YS5tYXRjaChQZik7cmV0dXJuKGM9YyYmY1syXS50cmltKCl8fCIiKT9jWzBdLm1hdGNoKFFmKT9hLnJlcGxhY2UoUGYsZnVuY3Rpb24oYSxjLGYpe3JldHVybiBiK2Z9KTpjLnNwbGl0KFFmKVswXT09PWI/Yzoic2hvdWxkX25vdF9tYXRjaCI6YS5yZXBsYWNlKCI6aG9zdCIsYil9ZnVuY3Rpb24gUmYoYSl7Ijpyb290Ij09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPSJodG1sIil9CnRmLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe3JldHVybiBhLm1hdGNoKCI6aG9zdCIpPyIiOmEubWF0Y2goIjo6c2xvdHRlZCIpP3RoaXMuYihhLCI6bm90KC5zdHlsZS1zY29wZSkiKTpNZihhLnRyaW0oKSwiOm5vdCguc3R5bGUtc2NvcGUpIil9O3AuT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGYucHJvdG90eXBlLHthOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ic3R5bGUtc2NvcGUifX19KTsKdmFyIEVmPS86KG50aFstXHddKylcKChbXildKylcKS8sSmY9LyhefFtccz4rfl0rKSgoPzpcWy4rP1xdfFteXHM+K349W10pKykvZyxRZj0vW1suOiMqXS8sSWY9L14oOjpzbG90dGVkKS8sUGY9Lyg6aG9zdCkoPzpcKCgoPzpcKFteKShdKlwpfFteKShdKikrPylcKSkvLE5mPS8oPzo6OnNsb3R0ZWQpKD86XCgoKD86XChbXikoXSpcKXxbXikoXSopKz8pXCkpLyxPZj0vKC4qKTpkaXJcKCg/OihsdHJ8cnRsKSlcKS8sR2Y9LzooPzptYXRjaGVzfGFueXwtKD86d2Via2l0fG1veiktYW55KS8sUj1uZXcgdGY7ZnVuY3Rpb24gU2YoYSxiLGMsZCxlKXt0aGlzLkE9YXx8bnVsbDt0aGlzLmI9Ynx8bnVsbDt0aGlzLmZhPWN8fFtdO3RoaXMubz1udWxsO3RoaXMuY3NzQnVpbGQ9ZXx8IiI7dGhpcy5NPWR8fCIiO3RoaXMuYT10aGlzLnM9dGhpcy53PW51bGx9ZnVuY3Rpb24gVChhKXtyZXR1cm4gYT9hLl9fc3R5bGVJbmZvOm51bGx9ZnVuY3Rpb24gVGYoYSxiKXtyZXR1cm4gYS5fX3N0eWxlSW5mbz1ifVNmLnByb3RvdHlwZS5jPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQX07U2YucHJvdG90eXBlLl9nZXRTdHlsZVJ1bGVzPVNmLnByb3RvdHlwZS5jO2Z1bmN0aW9uIFVmKGEpe3ZhciBiPXRoaXMubWF0Y2hlc3x8dGhpcy5tYXRjaGVzU2VsZWN0b3J8fHRoaXMubW96TWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm1zTWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm9NYXRjaGVzU2VsZWN0b3J8fHRoaXMud2Via2l0TWF0Y2hlc1NlbGVjdG9yO3JldHVybiBiJiZiLmNhbGwodGhpcyxhKX12YXIgVmY9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiVHJpZGVudCIpO2Z1bmN0aW9uIFdmKCl7fWZ1bmN0aW9uIFhmKGEpe3ZhciBiPXt9LGM9W10sZD0wO2RmKGEsZnVuY3Rpb24oYSl7WWYoYSk7YS5pbmRleD1kKys7YT1hLmkuY3NzVGV4dDtmb3IodmFyIGM7Yz1UZS5leGVjKGEpOyl7dmFyIGU9Y1sxXTsiOiIhPT1jWzJdJiYoYltlXT0hMCl9fSxmdW5jdGlvbihhKXtjLnB1c2goYSl9KTthLmI9YzthPVtdO2Zvcih2YXIgZSBpbiBiKWEucHVzaChlKTtyZXR1cm4gYX0KZnVuY3Rpb24gWWYoYSl7aWYoIWEuaSl7dmFyIGI9e30sYz17fTtaZihhLGMpJiYoYi52PWMsYS5ydWxlcz1udWxsKTtiLmNzc1RleHQ9YS5wYXJzZWRDc3NUZXh0LnJlcGxhY2UoYWYsIiIpLnJlcGxhY2UoUmUsIiIpO2EuaT1ifX1mdW5jdGlvbiBaZihhLGIpe3ZhciBjPWEuaTtpZihjKXtpZihjLnYpcmV0dXJuIE9iamVjdC5hc3NpZ24oYixjLnYpLCEwfWVsc2V7Yz1hLnBhcnNlZENzc1RleHQ7Zm9yKHZhciBkO2E9UmUuZXhlYyhjKTspe2Q9KGFbMl18fGFbM10pLnRyaW0oKTtpZigiaW5oZXJpdCIhPT1kfHwidW5zZXQiIT09ZCliW2FbMV0udHJpbSgpXT1kO2Q9ITB9cmV0dXJuIGR9fQpmdW5jdGlvbiAkZihhLGIsYyl7YiYmKGI9MDw9Yi5pbmRleE9mKCI7Iik/YWcoYSxiLGMpOm1mKGIsZnVuY3Rpb24oYixlLGYsZyl7aWYoIWUpcmV0dXJuIGIrZzsoZT0kZihhLGNbZV0sYykpJiYiaW5pdGlhbCIhPT1lPyJhcHBseS1zaGltLWluaGVyaXQiPT09ZSYmKGU9ImluaGVyaXQiKTplPSRmKGEsY1tmXXx8ZixjKXx8ZjtyZXR1cm4gYisoZXx8IiIpK2d9KSk7cmV0dXJuIGImJmIudHJpbSgpfHwiIn0KZnVuY3Rpb24gYWcoYSxiLGMpe2I9Yi5zcGxpdCgiOyIpO2Zvcih2YXIgZD0wLGUsZjtkPGIubGVuZ3RoO2QrKylpZihlPWJbZF0pe1NlLmxhc3RJbmRleD0wO2lmKGY9U2UuZXhlYyhlKSllPSRmKGEsY1tmWzFdXSxjKTtlbHNlIGlmKGY9ZS5pbmRleE9mKCI6IiksLTEhPT1mKXt2YXIgZz1lLnN1YnN0cmluZyhmKTtnPWcudHJpbSgpO2c9JGYoYSxnLGMpfHxnO2U9ZS5zdWJzdHJpbmcoMCxmKStnfWJbZF09ZSYmZS5sYXN0SW5kZXhPZigiOyIpPT09ZS5sZW5ndGgtMT9lLnNsaWNlKDAsLTEpOmV8fCIifXJldHVybiBiLmpvaW4oIjsiKX0KZnVuY3Rpb24gYmcoYSxiKXt2YXIgYz17fSxkPVtdO2RmKGEsZnVuY3Rpb24oYSl7YS5pfHxZZihhKTt2YXIgZT1hLmp8fGEucGFyc2VkU2VsZWN0b3I7YiYmYS5pLnYmJmUmJlVmLmNhbGwoYixlKSYmKFpmKGEsYyksYT1hLmluZGV4LGU9cGFyc2VJbnQoYS8zMiwxMCksZFtlXT0oZFtlXXx8MCl8MTw8YSUzMil9LG51bGwsITApO3JldHVybnt2OmMsa2V5OmR9fQpmdW5jdGlvbiBjZyhhLGIsYyxkKXtiLml8fFlmKGIpO2lmKGIuaS52KXt2YXIgZT1wZihhKTthPWUuaXM7ZT1lLk07ZT1hP0JmKGEsZSk6Imh0bWwiO3ZhciBmPWIucGFyc2VkU2VsZWN0b3IsZz0iOmhvc3QgPiAqIj09PWZ8fCJodG1sIj09PWYsaD0wPT09Zi5pbmRleE9mKCI6aG9zdCIpJiYhZzsic2hhZHkiPT09YyYmKGc9Zj09PWUrIiA+ICouIitlfHwtMSE9PWYuaW5kZXhPZigiaHRtbCIpLGg9IWcmJjA9PT1mLmluZGV4T2YoZSkpO2lmKGd8fGgpYz1lLGgmJihiLmp8fChiLmo9Q2YoUixiLFIuYixhPyIuIithOiIiLGUpKSxjPWIuanx8ZSksZCh7aGE6YyxJYTpoLFphOmd9KX19ZnVuY3Rpb24gZGcoYSxiLGMpe3ZhciBkPXt9LGU9e307ZGYoYixmdW5jdGlvbihiKXtjZyhhLGIsYyxmdW5jdGlvbihjKXtVZi5jYWxsKGEuX2VsZW1lbnR8fGEsYy5oYSkmJihjLklhP1pmKGIsZCk6WmYoYixlKSl9KX0sbnVsbCwhMCk7cmV0dXJue1JhOmUsSGE6ZH19CmZ1bmN0aW9uIGVnKGEsYixjLGQpe3ZhciBlPXBmKGIpLGY9QmYoZS5pcyxlLk0pLGc9bmV3IFJlZ0V4cCgiKD86XnxbXi4jWzpdKSIrKGIuZXh0ZW5kcz8iXFwiK2Yuc2xpY2UoMCwtMSkrIlxcXSI6ZikrIigkfFsuOltcXHM+K35dKSIpLGg9VChiKTtlPWguQTtoPWguY3NzQnVpbGQ7dmFyIGs9ZmcoZSxkKTtyZXR1cm4gemYoYixlLGZ1bmN0aW9uKGIpe3ZhciBlPSIiO2IuaXx8WWYoYik7Yi5pLmNzc1RleHQmJihlPWFnKGEsYi5pLmNzc1RleHQsYykpO2IuY3NzVGV4dD1lO2lmKCFPJiYhZmYoYikmJmIuY3NzVGV4dCl7dmFyIGg9ZT1iLmNzc1RleHQ7bnVsbD09Yi5uYSYmKGIubmE9VWUudGVzdChlKSk7aWYoYi5uYSlpZihudWxsPT1iLlUpe2IuVT1bXTtmb3IodmFyIGwgaW4gayloPWtbbF0saD1oKGUpLGUhPT1oJiYoZT1oLGIuVS5wdXNoKGwpKX1lbHNle2ZvcihsPTA7bDxiLlUubGVuZ3RoOysrbCloPWtbYi5VW2xdXSxlPWgoZSk7aD1lfWIuY3NzVGV4dD1oO2Iuaj1iLmp8fApiLnNlbGVjdG9yO2U9Ii4iK2Q7bD1xZihiLmopO2g9MDtmb3IodmFyIE09bC5sZW5ndGgsVT12b2lkIDA7aDxNJiYoVT1sW2hdKTtoKyspbFtoXT1VLm1hdGNoKGcpP1UucmVwbGFjZShmLGUpOmUrIiAiK1U7Yi5zZWxlY3Rvcj1sLmpvaW4oIiwiKX19LGgpfWZ1bmN0aW9uIGZnKGEsYil7YT1hLmI7dmFyIGM9e307aWYoIU8mJmEpZm9yKHZhciBkPTAsZT1hW2RdO2Q8YS5sZW5ndGg7ZT1hWysrZF0pe3ZhciBmPWUsZz1iO2YuZj1uZXcgUmVnRXhwKCJcXGIiK2Yua2V5ZnJhbWVzTmFtZSsiKD8hXFxCfC0pIiwiZyIpO2YuYT1mLmtleWZyYW1lc05hbWUrIi0iK2c7Zi5qPWYuanx8Zi5zZWxlY3RvcjtmLnNlbGVjdG9yPWYuai5yZXBsYWNlKGYua2V5ZnJhbWVzTmFtZSxmLmEpO2NbZS5rZXlmcmFtZXNOYW1lXT1nZyhlKX1yZXR1cm4gY31mdW5jdGlvbiBnZyhhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGIucmVwbGFjZShhLmYsYS5hKX19CmZ1bmN0aW9uIGhnKGEsYil7dmFyIGM9aWcsZD1lZihhKTthLnRleHRDb250ZW50PWNmKGQsZnVuY3Rpb24oYSl7dmFyIGQ9YS5jc3NUZXh0PWEucGFyc2VkQ3NzVGV4dDthLmkmJmEuaS5jc3NUZXh0JiYoZD1kLnJlcGxhY2UoSWUsIiIpLnJlcGxhY2UoSmUsIiIpLGEuY3NzVGV4dD1hZyhjLGQsYikpfSl9cC5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhXZi5wcm90b3R5cGUse2E6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiJ4LXNjb3BlIn19fSk7dmFyIGlnPW5ldyBXZjt2YXIgamc9e30sa2c9d2luZG93LmN1c3RvbUVsZW1lbnRzO2lmKGtnJiYhTyYmIVBlKXt2YXIgbGc9a2cuZGVmaW5lO2tnLmRlZmluZT1mdW5jdGlvbihhLGIsYyl7amdbYV18fChqZ1thXT1rZihhKSk7bGcuY2FsbChrZyxhLGIsYyl9fTtmdW5jdGlvbiBtZygpe3RoaXMuY2FjaGU9e319bWcucHJvdG90eXBlLnN0b3JlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuY2FjaGVbYV18fFtdO2UucHVzaCh7djpiLHN0eWxlRWxlbWVudDpjLHM6ZH0pOzEwMDxlLmxlbmd0aCYmZS5zaGlmdCgpO3RoaXMuY2FjaGVbYV09ZX07ZnVuY3Rpb24gbmcoKXt9dmFyIG9nPW5ldyBSZWdFeHAoUi5hKyJcXHMqKFteXFxzXSopIik7ZnVuY3Rpb24gcGcoYSl7cmV0dXJuKGE9KGEuY2xhc3NMaXN0JiZhLmNsYXNzTGlzdC52YWx1ZT9hLmNsYXNzTGlzdC52YWx1ZTphLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpLm1hdGNoKG9nKSk/YVsxXToiIn1mdW5jdGlvbiBxZyhhKXt2YXIgYj1vZihhKS5nZXRSb290Tm9kZSgpO3JldHVybiBiPT09YXx8Yj09PWEub3duZXJEb2N1bWVudD8iIjooYT1iLmhvc3QpP3BmKGEpLmlzOiIifQpmdW5jdGlvbiByZyhhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYy50YXJnZXQhPT1kb2N1bWVudC5oZWFkKWZvcih2YXIgZD0wO2Q8Yy5hZGRlZE5vZGVzLmxlbmd0aDtkKyspe3ZhciBlPWMuYWRkZWROb2Rlc1tkXTtpZihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBmPWUuZ2V0Um9vdE5vZGUoKSxnPXBnKGUpO2lmKGcmJmY9PT1lLm93bmVyRG9jdW1lbnQmJigic3R5bGUiIT09ZS5sb2NhbE5hbWUmJiJ0ZW1wbGF0ZSIhPT1lLmxvY2FsTmFtZXx8IiI9PT1yZihlKSkpeWYoZSxnKTtlbHNlIGlmKGYgaW5zdGFuY2VvZiBTaGFkb3dSb290KWZvcihmPXFnKGUpLGYhPT1nJiZ4ZihlLGcsZiksZT13aW5kb3cuU2hhZHlET00ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZSwiOm5vdCguIitSLmErIikiKSxnPTA7ZzxlLmxlbmd0aDtnKyspe2Y9ZVtnXTsKdmFyIGg9cWcoZik7aCYmd2YoZixoKX19fX19CmlmKCEoT3x8d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaGFuZGxlc0R5bmFtaWNTY29waW5nKSl7dmFyIHNnPW5ldyBNdXRhdGlvbk9ic2VydmVyKHJnKSx0Zz1mdW5jdGlvbihhKXtzZy5vYnNlcnZlKGEse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSl9O2lmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmIXdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKXRnKGRvY3VtZW50KTtlbHNle3ZhciB1Zz1mdW5jdGlvbigpe3RnKGRvY3VtZW50LmJvZHkpfTt3aW5kb3cuSFRNTEltcG9ydHM/d2luZG93LkhUTUxJbXBvcnRzLndoZW5SZWFkeSh1Zyk6cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7aWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGE9ZnVuY3Rpb24oKXt1ZygpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGEpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwKYSl9ZWxzZSB1ZygpfSl9bmc9ZnVuY3Rpb24oKXtyZyhzZy50YWtlUmVjb3JkcygpKX19dmFyIHZnPW5nO3ZhciB3Zz17fTt2YXIgeGc9UHJvbWlzZS5yZXNvbHZlKCk7ZnVuY3Rpb24geWcoYSl7aWYoYT13Z1thXSlhLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbj1hLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbnx8MCxhLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbnx8MCxhLl9hcHBseVNoaW1OZXh0VmVyc2lvbj0oYS5fYXBwbHlTaGltTmV4dFZlcnNpb258fDApKzF9ZnVuY3Rpb24gemcoYSl7cmV0dXJuIGEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPT09YS5fYXBwbHlTaGltTmV4dFZlcnNpb259ZnVuY3Rpb24gQWcoYSl7YS5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZ3x8KGEuX3ZhbGlkYXRpbmc9ITAseGcudGhlbihmdW5jdGlvbigpe2EuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbU5leHRWZXJzaW9uO2EuX3ZhbGlkYXRpbmc9ITF9KSl9O3ZhciBCZz17fSxDZz1uZXcgbWc7ZnVuY3Rpb24gWSgpe3RoaXMubD17fTt0aGlzLmM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBhPW5ldyB2ZTthLnJ1bGVzPVtdO3RoaXMuZj1UZih0aGlzLmMsbmV3IFNmKGEpKTt0aGlzLmc9ITE7dGhpcy5iPXRoaXMuYT1udWxsfW49WS5wcm90b3R5cGU7bi5mbHVzaD1mdW5jdGlvbigpe3ZnKCl9O24uRmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGVmKGEpfTtuLlZhPWZ1bmN0aW9uKGEpe3JldHVybiBjZihhKX07bi5wcmVwYXJlVGVtcGxhdGU9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucHJlcGFyZVRlbXBsYXRlRG9tKGEsYik7dGhpcy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfTsKbi5wcmVwYXJlVGVtcGxhdGVTdHlsZXM9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLl9wcmVwYXJlZCYmIVBlKXtPfHxqZ1tiXXx8KGpnW2JdPWtmKGIpKTthLl9wcmVwYXJlZD0hMDthLm5hbWU9YjthLmV4dGVuZHM9Yzt3Z1tiXT1hO3ZhciBkPXJmKGEpLGU9c2YoZCk7Yz17aXM6YixleHRlbmRzOmN9O2Zvcih2YXIgZj1bXSxnPWEuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpLGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihrLmhhc0F0dHJpYnV0ZSgic2hhZHktdW5zY29wZWQiKSl7aWYoIU8pe3ZhciBsPWsudGV4dENvbnRlbnQ7YmYuaGFzKGwpfHwoYmYuYWRkKGwpLGw9ay5jbG9uZU5vZGUoITApLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobCkpO2sucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChrKX19ZWxzZSBmLnB1c2goay50ZXh0Q29udGVudCksay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGspfWY9Zi5qb2luKCIiKS50cmltKCkrKEJnW2JdfHwiIik7CkRnKHRoaXMpO2lmKCFlKXtpZihnPSFkKWc9U2UudGVzdChmKXx8UmUudGVzdChmKSxTZS5sYXN0SW5kZXg9MCxSZS5sYXN0SW5kZXg9MDtoPXdlKGYpO2cmJlEmJnRoaXMuYSYmdGhpcy5hLnRyYW5zZm9ybVJ1bGVzKGgsYik7YS5fc3R5bGVBc3Q9aH1nPVtdO1F8fChnPVhmKGEuX3N0eWxlQXN0KSk7aWYoIWcubGVuZ3RofHxRKWg9Tz9hLmNvbnRlbnQ6bnVsbCxiPWpnW2JdfHxudWxsLGQ9emYoYyxhLl9zdHlsZUFzdCxudWxsLGQsZT9mOiIiKSxkPWQubGVuZ3RoP2dmKGQsYy5pcyxoLGIpOm51bGwsYS5fc3R5bGU9ZDthLmE9Z319O24uUWE9ZnVuY3Rpb24oYSxiKXtCZ1tiXT1hLmpvaW4oIiAiKX07bi5wcmVwYXJlVGVtcGxhdGVEb209ZnVuY3Rpb24oYSxiKXtpZighUGUpe3ZhciBjPXJmKGEpO098fCJzaGFkeSI9PT1jfHxhLl9kb21QcmVwYXJlZHx8KGEuX2RvbVByZXBhcmVkPSEwLHVmKGEuY29udGVudCxiKSl9fTsKZnVuY3Rpb24gRWcoYSl7dmFyIGI9cGYoYSksYz1iLmlzO2I9Yi5NO3ZhciBkPWpnW2NdfHxudWxsLGU9d2dbY107aWYoZSl7Yz1lLl9zdHlsZUFzdDt2YXIgZj1lLmE7ZT1yZihlKTtiPW5ldyBTZihjLGQsZixiLGUpO1RmKGEsYik7cmV0dXJuIGJ9fWZ1bmN0aW9uIEZnKGEpeyFhLmImJndpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlJiYoYS5iPXdpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSxhLmIudHJhbnNmb3JtQ2FsbGJhY2s9ZnVuY3Rpb24oYil7YS5yYShiKX0sYS5iLnZhbGlkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXsoYS5iLmVucXVldWVkfHxhLmcpJiZhLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KX0pfQpmdW5jdGlvbiBEZyhhKXshYS5hJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0mJihhLmE9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbSxhLmEuaW52YWxpZENhbGxiYWNrPXlnKTtGZyhhKX0Kbi5mbHVzaEN1c3RvbVN0eWxlcz1mdW5jdGlvbigpe2lmKCFQZSYmKERnKHRoaXMpLHRoaXMuYikpe3ZhciBhPXRoaXMuYi5wcm9jZXNzU3R5bGVzKCk7aWYodGhpcy5iLmVucXVldWVkJiYhc2YodGhpcy5mLmNzc0J1aWxkKSl7aWYoUSl7aWYoIXRoaXMuZi5jc3NCdWlsZClmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9dGhpcy5iLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYVtiXSk7aWYoYyYmUSYmdGhpcy5hKXt2YXIgZD1lZihjKTtEZyh0aGlzKTt0aGlzLmEudHJhbnNmb3JtUnVsZXMoZCk7Yy50ZXh0Q29udGVudD1jZihkKX19fWVsc2V7R2codGhpcyx0aGlzLmMsdGhpcy5mKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKShjPXRoaXMuYi5nZXRTdHlsZUZvckN1c3RvbVN0eWxlKGFbYl0pKSYmaGcoYyx0aGlzLmYudyk7dGhpcy5nJiZ0aGlzLnN0eWxlRG9jdW1lbnQoKX10aGlzLmIuZW5xdWV1ZWQ9ITF9fX07Cm4uc3R5bGVFbGVtZW50PWZ1bmN0aW9uKGEsYil7aWYoUGUpe2lmKGIpe1QoYSl8fFRmKGEsbmV3IFNmKG51bGwpKTt2YXIgYz1UKGEpO2Mubz1jLm98fHt9O09iamVjdC5hc3NpZ24oYy5vLGIpO0hnKHRoaXMsYSxjKX19ZWxzZSBpZihjPVQoYSl8fEVnKGEpKWlmKGEhPT10aGlzLmMmJih0aGlzLmc9ITApLGImJihjLm89Yy5vfHx7fSxPYmplY3QuYXNzaWduKGMubyxiKSksUSlIZyh0aGlzLGEsYyk7ZWxzZSBpZih0aGlzLmZsdXNoKCksR2codGhpcyxhLGMpLGMuZmEmJmMuZmEubGVuZ3RoKXtiPXBmKGEpLmlzO3ZhciBkO2E6e2lmKGQ9Q2cuY2FjaGVbYl0pZm9yKHZhciBlPWQubGVuZ3RoLTE7MDw9ZTtlLS0pe3ZhciBmPWRbZV07Yjp7dmFyIGc9Yy5mYTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihmLnZba10hPT1jLndba10pe2c9ITE7YnJlYWsgYn19Zz0hMH1pZihnKXtkPWY7YnJlYWsgYX19ZD12b2lkIDB9Zz1kP2Quc3R5bGVFbGVtZW50Om51bGw7CmU9Yy5zOyhmPWQmJmQucyl8fChmPXRoaXMubFtiXT0odGhpcy5sW2JdfHwwKSsxLGY9YisiLSIrZik7Yy5zPWY7Zj1jLnM7aD1pZztoPWc/Zy50ZXh0Q29udGVudHx8IiI6ZWcoaCxhLGMudyxmKTtrPVQoYSk7dmFyIGw9ay5hO2wmJiFPJiZsIT09ZyYmKGwuX3VzZUNvdW50LS0sMD49bC5fdXNlQ291bnQmJmwucGFyZW50Tm9kZSYmbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpKTtPP2suYT8oay5hLnRleHRDb250ZW50PWgsZz1rLmEpOmgmJihnPWdmKGgsZixhLnNoYWRvd1Jvb3Qsay5iKSk6Zz9nLnBhcmVudE5vZGV8fChWZiYmLTE8aC5pbmRleE9mKCJAbWVkaWEiKSYmKGcudGV4dENvbnRlbnQ9aCksaGYoZyxudWxsLGsuYikpOmgmJihnPWdmKGgsZixudWxsLGsuYikpO2cmJihnLl91c2VDb3VudD1nLl91c2VDb3VudHx8MCxrLmEhPWcmJmcuX3VzZUNvdW50Kyssay5hPWcpO2Y9ZztPfHwoZz1jLnMsaz1oPWEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixlJiYoaz1oLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFxzKngtc2NvcGVcXHMqIisKZSsiXFxzKiIsImciKSwiICIpKSxrKz0oaz8iICI6IiIpKyJ4LXNjb3BlICIrZyxoIT09ayYmbmYoYSxrKSk7ZHx8Q2cuc3RvcmUoYixjLncsZixjLnMpfX07CmZ1bmN0aW9uIEhnKGEsYixjKXt2YXIgZD1wZihiKS5pcztpZihjLm8pe3ZhciBlPWMubyxmO2ZvcihmIGluIGUpbnVsbD09PWY/Yi5zdHlsZS5yZW1vdmVQcm9wZXJ0eShmKTpiLnN0eWxlLnNldFByb3BlcnR5KGYsZVtmXSl9ZT13Z1tkXTtpZighKCFlJiZiIT09YS5jfHxlJiYiIiE9PXJmKGUpKSYmZSYmZS5fc3R5bGUmJiF6ZyhlKSl7aWYoemcoZSl8fGUuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIT09ZS5fYXBwbHlTaGltTmV4dFZlcnNpb24pRGcoYSksYS5hJiZhLmEudHJhbnNmb3JtUnVsZXMoZS5fc3R5bGVBc3QsZCksZS5fc3R5bGUudGV4dENvbnRlbnQ9emYoYixjLkEpLEFnKGUpO08mJihhPWIuc2hhZG93Um9vdCkmJihhPWEucXVlcnlTZWxlY3Rvcigic3R5bGUiKSkmJihhLnRleHRDb250ZW50PXpmKGIsYy5BKSk7Yy5BPWUuX3N0eWxlQXN0fX0KZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4oYj1vZihiKS5nZXRSb290Tm9kZSgpLmhvc3QpP1QoYil8fEVnKGIpP2I6SWcoYSxiKTphLmN9ZnVuY3Rpb24gR2coYSxiLGMpe3ZhciBkPUlnKGEsYiksZT1UKGQpLGY9ZS53O2Q9PT1hLmN8fGZ8fChHZyhhLGQsZSksZj1lLncpO2E9T2JqZWN0LmNyZWF0ZShmfHxudWxsKTtkPWRnKGIsYy5BLGMuY3NzQnVpbGQpO2I9YmcoZS5BLGIpLnY7T2JqZWN0LmFzc2lnbihhLGQuSGEsYixkLlJhKTtiPWMubztmb3IodmFyIGcgaW4gYilpZigoZT1iW2ddKXx8MD09PWUpYVtnXT1lO2c9aWc7Yj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKWQ9YltlXSxhW2RdPSRmKGcsYVtkXSxhKTtjLnc9YX1uLnN0eWxlRG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dGhpcy5zdHlsZVN1YnRyZWUodGhpcy5jLGEpfTsKbi5zdHlsZVN1YnRyZWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1vZihhKSxkPWMuc2hhZG93Um9vdDsoZHx8YT09PXRoaXMuYykmJnRoaXMuc3R5bGVFbGVtZW50KGEsYik7aWYoYT1kJiYoZC5jaGlsZHJlbnx8ZC5jaGlsZE5vZGVzKSlmb3IoYz0wO2M8YS5sZW5ndGg7YysrKXRoaXMuc3R5bGVTdWJ0cmVlKGFbY10pO2Vsc2UgaWYoYz1jLmNoaWxkcmVufHxjLmNoaWxkTm9kZXMpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl0aGlzLnN0eWxlU3VidHJlZShjW2FdKX07Cm4ucmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXJmKGEpO2MhPT10aGlzLmYuY3NzQnVpbGQmJih0aGlzLmYuY3NzQnVpbGQ9Yyk7aWYoIXNmKGMpKXt2YXIgZD1lZihhKTtkZihkLGZ1bmN0aW9uKGEpe2lmKE8pUmYoYSk7ZWxzZXt2YXIgZD1SO2Euc2VsZWN0b3I9YS5wYXJzZWRTZWxlY3RvcjtSZihhKTthLnNlbGVjdG9yPWEuaj1DZihkLGEsZC5jLHZvaWQgMCx2b2lkIDApfVEmJiIiPT09YyYmKERnKGIpLGIuYSYmYi5hLnRyYW5zZm9ybVJ1bGUoYSkpfSk7UT9hLnRleHRDb250ZW50PWNmKGQpOnRoaXMuZi5BLnJ1bGVzLnB1c2goZCl9fTtuLmdldENvbXB1dGVkU3R5bGVWYWx1ZT1mdW5jdGlvbihhLGIpe3ZhciBjO1F8fChjPShUKGEpfHxUKElnKHRoaXMsYSkpKS53W2JdKTtyZXR1cm4oYz1jfHx3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKS5nZXRQcm9wZXJ0eVZhbHVlKGIpKT9jLnRyaW0oKToiIn07Cm4uVWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1vZihhKS5nZXRSb290Tm9kZSgpO2I9Yj9iLnNwbGl0KC9ccy8pOltdO2M9Yy5ob3N0JiZjLmhvc3QubG9jYWxOYW1lO2lmKCFjKXt2YXIgZD1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKTtpZihkKXtkPWQuc3BsaXQoL1xzLyk7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspaWYoZFtlXT09PVIuYSl7Yz1kW2UrMV07YnJlYWt9fX1jJiZiLnB1c2goUi5hLGMpO1F8fChjPVQoYSkpJiZjLnMmJmIucHVzaChpZy5hLGMucyk7bmYoYSxiLmpvaW4oIiAiKSl9O24uQmE9ZnVuY3Rpb24oYSl7cmV0dXJuIFQoYSl9O24uVGE9ZnVuY3Rpb24oYSxiKXt3ZihhLGIpfTtuLldhPWZ1bmN0aW9uKGEsYil7d2YoYSxiLCEwKX07bi5TYT1mdW5jdGlvbihhKXtyZXR1cm4gcWcoYSl9O24uRGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHBnKGEpfTtZLnByb3RvdHlwZS5mbHVzaD1ZLnByb3RvdHlwZS5mbHVzaDtZLnByb3RvdHlwZS5wcmVwYXJlVGVtcGxhdGU9WS5wcm90b3R5cGUucHJlcGFyZVRlbXBsYXRlOwpZLnByb3RvdHlwZS5zdHlsZUVsZW1lbnQ9WS5wcm90b3R5cGUuc3R5bGVFbGVtZW50O1kucHJvdG90eXBlLnN0eWxlRG9jdW1lbnQ9WS5wcm90b3R5cGUuc3R5bGVEb2N1bWVudDtZLnByb3RvdHlwZS5zdHlsZVN1YnRyZWU9WS5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlO1kucHJvdG90eXBlLmdldENvbXB1dGVkU3R5bGVWYWx1ZT1ZLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlVmFsdWU7WS5wcm90b3R5cGUuc2V0RWxlbWVudENsYXNzPVkucHJvdG90eXBlLlVhO1kucHJvdG90eXBlLl9zdHlsZUluZm9Gb3JOb2RlPVkucHJvdG90eXBlLkJhO1kucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlRm9yRG9jdW1lbnQ9WS5wcm90b3R5cGUucmE7WS5wcm90b3R5cGUuZ2V0U3R5bGVBc3Q9WS5wcm90b3R5cGUuRmE7WS5wcm90b3R5cGUuc3R5bGVBc3RUb1N0cmluZz1ZLnByb3RvdHlwZS5WYTtZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcz1ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlczsKWS5wcm90b3R5cGUuc2NvcGVOb2RlPVkucHJvdG90eXBlLlRhO1kucHJvdG90eXBlLnVuc2NvcGVOb2RlPVkucHJvdG90eXBlLldhO1kucHJvdG90eXBlLnNjb3BlRm9yTm9kZT1ZLnByb3RvdHlwZS5TYTtZLnByb3RvdHlwZS5jdXJyZW50U2NvcGVGb3JOb2RlPVkucHJvdG90eXBlLkRhO1kucHJvdG90eXBlLnByZXBhcmVBZG9wdGVkQ3NzVGV4dD1ZLnByb3RvdHlwZS5RYTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhZLnByb3RvdHlwZSx7bmF0aXZlU2hhZG93OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gT319LG5hdGl2ZUNzczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFF9fX0pO3ZhciBaPW5ldyBZLEpnLEtnO3dpbmRvdy5TaGFkeUNTUyYmKEpnPXdpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0sS2c9d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlKTsKd2luZG93LlNoYWR5Q1NTPXtTY29waW5nU2hpbTpaLHByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIsYyl7Wi5mbHVzaEN1c3RvbVN0eWxlcygpO1oucHJlcGFyZVRlbXBsYXRlKGEsYixjKX0scHJlcGFyZVRlbXBsYXRlRG9tOmZ1bmN0aW9uKGEsYil7Wi5wcmVwYXJlVGVtcGxhdGVEb20oYSxiKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzOmZ1bmN0aW9uKGEsYixjKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfSxzdHlsZVN1YnRyZWU6ZnVuY3Rpb24oYSxiKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZVN1YnRyZWUoYSxiKX0sc3R5bGVFbGVtZW50OmZ1bmN0aW9uKGEpe1ouZmx1c2hDdXN0b21TdHlsZXMoKTtaLnN0eWxlRWxlbWVudChhKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZURvY3VtZW50KGEpfSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe1ouZmx1c2hDdXN0b21TdHlsZXMoKX0sCmdldENvbXB1dGVkU3R5bGVWYWx1ZTpmdW5jdGlvbihhLGIpe3JldHVybiBaLmdldENvbXB1dGVkU3R5bGVWYWx1ZShhLGIpfSxuYXRpdmVDc3M6USxuYXRpdmVTaGFkb3c6Tyxjc3NCdWlsZDpRZSxkaXNhYmxlUnVudGltZTpQZX07SmcmJih3aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltPUpnKTtLZyYmKHdpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZT1LZyk7dmFyIExnPXdpbmRvdy5jdXN0b21FbGVtZW50cyxNZz13aW5kb3cuSFRNTEltcG9ydHMsTmc9d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQ7d2luZG93LldlYkNvbXBvbmVudHM9d2luZG93LldlYkNvbXBvbmVudHN8fHt9O2lmKExnJiZMZy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKXt2YXIgT2csUGc9ZnVuY3Rpb24oKXtpZihPZyl7TmcuQyYmTmcuQyh3aW5kb3cuZG9jdW1lbnQpO3ZhciBhPU9nO09nPW51bGw7YSgpO3JldHVybiEwfX0sUWc9TWcud2hlblJlYWR5O0xnLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2soZnVuY3Rpb24oYSl7T2c9YTtRZyhQZyl9KTtNZy53aGVuUmVhZHk9ZnVuY3Rpb24oYSl7UWcoZnVuY3Rpb24oKXtQZygpP01nLndoZW5SZWFkeShhKTphKCl9KX19Ck1nLndoZW5SZWFkeShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3dpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5PSEwO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJXZWJDb21wb25lbnRzUmVhZHkiLHtidWJibGVzOiEwfSkpfSl9KTt2YXIgUmc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtSZy50ZXh0Q29udGVudD0iYm9keSB7dHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluIDAuMnM7IH0gXG5ib2R5W3VucmVzb2x2ZWRdIHtvcGFjaXR5OiAwOyBkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB9IFxuIjt2YXIgU2c9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpO1NnLmluc2VydEJlZm9yZShSZyxTZy5maXJzdENoaWxkKTt9KS5jYWxsKHRoaXMpOwoKCgooZnVuY3Rpb24oKXsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBsPSEod2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaW5Vc2UpLHA7ZnVuY3Rpb24gcihhKXtwPWEmJmEuc2hpbWNzc3Byb3BlcnRpZXM/ITE6bHx8IShuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvNjAxfEVkZ2VcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKCJib3gtc2hhZG93IiwiMCAwIDAgdmFyKC0tZm9vKSIpKX12YXIgdDt3aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCYmKHQ9d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkKTt2YXIgYWE9ISghd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLmRpc2FibGVSdW50aW1lKTsKd2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzP3A9d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzczp3aW5kb3cuU2hhZHlDU1M/KHIod2luZG93LlNoYWR5Q1NTKSx3aW5kb3cuU2hhZHlDU1M9dm9pZCAwKTpyKHdpbmRvdy5XZWJDb21wb25lbnRzJiZ3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncyk7dmFyIHU9cCx2PXQ7ZnVuY3Rpb24gdygpe3RoaXMuZW5kPXRoaXMuc3RhcnQ9MDt0aGlzLnJ1bGVzPXRoaXMucGFyZW50PXRoaXMucHJldmlvdXM9bnVsbDt0aGlzLmNzc1RleHQ9dGhpcy5wYXJzZWRDc3NUZXh0PSIiO3RoaXMuYXRSdWxlPSExO3RoaXMudHlwZT0wO3RoaXMucGFyc2VkU2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj10aGlzLmtleWZyYW1lc05hbWU9IiJ9CmZ1bmN0aW9uIHgoYSl7YT1hLnJlcGxhY2UoYmEsIiIpLnJlcGxhY2UoY2EsIiIpO3ZhciBiPXksYz1hLGU9bmV3IHc7ZS5zdGFydD0wO2UuZW5kPWMubGVuZ3RoO2Zvcih2YXIgZD1lLGY9MCxnPWMubGVuZ3RoO2Y8ZztmKyspaWYoInsiPT09Y1tmXSl7ZC5ydWxlc3x8KGQucnVsZXM9W10pO3ZhciBoPWQsaz1oLnJ1bGVzW2gucnVsZXMubGVuZ3RoLTFdfHxudWxsO2Q9bmV3IHc7ZC5zdGFydD1mKzE7ZC5wYXJlbnQ9aDtkLnByZXZpb3VzPWs7aC5ydWxlcy5wdXNoKGQpfWVsc2UifSI9PT1jW2ZdJiYoZC5lbmQ9ZisxLGQ9ZC5wYXJlbnR8fGUpO3JldHVybiBiKGUsYSl9CmZ1bmN0aW9uIHkoYSxiKXt2YXIgYz1iLnN1YnN0cmluZyhhLnN0YXJ0LGEuZW5kLTEpO2EucGFyc2VkQ3NzVGV4dD1hLmNzc1RleHQ9Yy50cmltKCk7YS5wYXJlbnQmJihjPWIuc3Vic3RyaW5nKGEucHJldmlvdXM/YS5wcmV2aW91cy5lbmQ6YS5wYXJlbnQuc3RhcnQsYS5zdGFydC0xKSxjPWRhKGMpLGM9Yy5yZXBsYWNlKHosIiAiKSxjPWMuc3Vic3RyaW5nKGMubGFzdEluZGV4T2YoIjsiKSsxKSxjPWEucGFyc2VkU2VsZWN0b3I9YS5zZWxlY3Rvcj1jLnRyaW0oKSxhLmF0UnVsZT0wPT09Yy5pbmRleE9mKCJAIiksYS5hdFJ1bGU/MD09PWMuaW5kZXhPZigiQG1lZGlhIik/YS50eXBlPUE6Yy5tYXRjaChlYSkmJihhLnR5cGU9QixhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdCh6KS5wb3AoKSk6YS50eXBlPTA9PT1jLmluZGV4T2YoIi0tIik/QzpEKTtpZihjPWEucnVsZXMpZm9yKHZhciBlPTAsZD1jLmxlbmd0aCxmPXZvaWQgMDtlPGQmJihmPWNbZV0pO2UrKyl5KGYsYik7CnJldHVybiBhfWZ1bmN0aW9uIGRhKGEpe3JldHVybiBhLnJlcGxhY2UoL1xcKFswLTlhLWZdezEsNn0pXHMvZ2ksZnVuY3Rpb24oYSxjKXthPWM7Zm9yKGM9Ni1hLmxlbmd0aDtjLS07KWE9IjAiK2E7cmV0dXJuIlxcIithfSl9CmZ1bmN0aW9uIEUoYSxiLGMpe2M9dm9pZCAwPT09Yz8iIjpjO3ZhciBlPSIiO2lmKGEuY3NzVGV4dHx8YS5ydWxlcyl7dmFyIGQ9YS5ydWxlcyxmO2lmKGY9ZClmPWRbMF0sZj0hKGYmJmYuc2VsZWN0b3ImJjA9PT1mLnNlbGVjdG9yLmluZGV4T2YoIi0tIikpO2lmKGYpe2Y9MDtmb3IodmFyIGc9ZC5sZW5ndGgsaD12b2lkIDA7ZjxnJiYoaD1kW2ZdKTtmKyspZT1FKGgsYixlKX1lbHNlIGI/Yj1hLmNzc1RleHQ6KGI9YS5jc3NUZXh0LGI9Yi5yZXBsYWNlKGZhLCIiKS5yZXBsYWNlKGhhLCIiKSxiPWIucmVwbGFjZShpYSwiIikucmVwbGFjZShqYSwiIikpLChlPWIudHJpbSgpKSYmKGU9IiAgIitlKyJcbiIpfWUmJihhLnNlbGVjdG9yJiYoYys9YS5zZWxlY3RvcisiIHtcbiIpLGMrPWUsYS5zZWxlY3RvciYmKGMrPSJ9XG5cbiIpKTtyZXR1cm4gY30KdmFyIEQ9MSxCPTcsQT00LEM9MUUzLGJhPS9cL1wqW14qXSpcKisoW14vKl1bXipdKlwqKykqXC8vZ2ltLGNhPS9AaW1wb3J0W147XSo7L2dpbSxmYT0vKD86XlteO1wtXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xuXXwkKS9naW0saGE9Lyg/Ol5bXjtcLVxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/e1tefV0qP30oPzpbO1xuXXwkKT8vZ2ltLGlhPS9AYXBwbHlccypcKD9bXik7XSpcKT9ccyooPzpbO1xuXXwkKT8vZ2ltLGphPS9bXjs6XSo/OlteO10qP3ZhclwoW147XSpcKSg/Ols7XG5dfCQpPy9naW0sZWE9L15AW15cc10qa2V5ZnJhbWVzLyx6PS9ccysvZzt2YXIgRz0vKD86XnxbO1xze11ccyopKC0tW1x3LV0qPylccyo6XHMqKD86KCg/OicoPzpcXCd8LikqPyd8Iig/OlxcInwuKSo/InxcKFteKV0qP1wpfFtefTt7XSkrKXxceyhbXn1dKilcfSg/Oig/PVs7XHN9XSl8JCkpL2dpLEg9Lyg/Ol58XFcrKUBhcHBseVxzKlwoPyhbXik7XG5dKilcKT8vZ2ksa2E9L0BtZWRpYVxzKC4qKS87dmFyIEk9bmV3IFNldDtmdW5jdGlvbiBKKGEpe2lmKCFhKXJldHVybiIiOyJzdHJpbmciPT09dHlwZW9mIGEmJihhPXgoYSkpO3JldHVybiBFKGEsdSl9ZnVuY3Rpb24gSyhhKXshYS5fX2Nzc1J1bGVzJiZhLnRleHRDb250ZW50JiYoYS5fX2Nzc1J1bGVzPXgoYS50ZXh0Q29udGVudCkpO3JldHVybiBhLl9fY3NzUnVsZXN8fG51bGx9ZnVuY3Rpb24gTChhLGIsYyxlKXtpZihhKXt2YXIgZD0hMSxmPWEudHlwZTtpZihlJiZmPT09QSl7dmFyIGc9YS5zZWxlY3Rvci5tYXRjaChrYSk7ZyYmKHdpbmRvdy5tYXRjaE1lZGlhKGdbMV0pLm1hdGNoZXN8fChkPSEwKSl9Zj09PUQ/YihhKTpjJiZmPT09Qj9jKGEpOmY9PT1DJiYoZD0hMCk7aWYoKGE9YS5ydWxlcykmJiFkKWZvcihkPTAsZj1hLmxlbmd0aCxnPXZvaWQgMDtkPGYmJihnPWFbZF0pO2QrKylMKGcsYixjLGUpfX0KZnVuY3Rpb24gTShhLGIpe3ZhciBjPWEuaW5kZXhPZigidmFyKCIpO2lmKC0xPT09YylyZXR1cm4gYihhLCIiLCIiLCIiKTthOnt2YXIgZT0wO3ZhciBkPWMrMztmb3IodmFyIGY9YS5sZW5ndGg7ZDxmO2QrKylpZigiKCI9PT1hW2RdKWUrKztlbHNlIGlmKCIpIj09PWFbZF0mJjA9PT0tLWUpYnJlYWsgYTtkPS0xfWU9YS5zdWJzdHJpbmcoYys0LGQpO2M9YS5zdWJzdHJpbmcoMCxjKTthPU0oYS5zdWJzdHJpbmcoZCsxKSxiKTtkPWUuaW5kZXhPZigiLCIpO3JldHVybi0xPT09ZD9iKGMsZS50cmltKCksIiIsYSk6YihjLGUuc3Vic3RyaW5nKDAsZCkudHJpbSgpLGUuc3Vic3RyaW5nKGQrMSkudHJpbSgpLGEpfQpmdW5jdGlvbiBOKGEpe2lmKHZvaWQgMCE9PXYpcmV0dXJuIHY7aWYodm9pZCAwPT09YS5fX2Nzc0J1aWxkKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgiY3NzLWJ1aWxkIik7aWYoYilhLl9fY3NzQnVpbGQ9YjtlbHNle2E6e2I9InRlbXBsYXRlIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtpZihiIGluc3RhbmNlb2YgQ29tbWVudCYmKGI9Yi50ZXh0Q29udGVudC50cmltKCkuc3BsaXQoIjoiKSwiY3NzLWJ1aWxkIj09PWJbMF0pKXtiPWJbMV07YnJlYWsgYX1iPSIifWlmKCIiIT09Yil7dmFyIGM9InRlbXBsYXRlIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtjLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyl9YS5fX2Nzc0J1aWxkPWJ9fXJldHVybiBhLl9fY3NzQnVpbGR8fCIifTt2YXIgbGE9LztccyovbSxtYT0vXlxzKihpbml0aWFsKXwoaW5oZXJpdClccyokLyxPPS9ccyohaW1wb3J0YW50LztmdW5jdGlvbiBQKCl7dGhpcy5hPXt9fVAucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe2E9YS50cmltKCk7dGhpcy5hW2FdPXtoOmIsaTp7fX19O1AucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXthPWEudHJpbSgpO3JldHVybiB0aGlzLmFbYV18fG51bGx9O3ZhciBRPW51bGw7ZnVuY3Rpb24gUigpe3RoaXMuYj10aGlzLmM9bnVsbDt0aGlzLmE9bmV3IFB9Ui5wcm90b3R5cGUubz1mdW5jdGlvbihhKXthPUgudGVzdChhKXx8Ry50ZXN0KGEpO0gubGFzdEluZGV4PTA7Ry5sYXN0SW5kZXg9MDtyZXR1cm4gYX07ClIucHJvdG90eXBlLm09ZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1hLl9nYXRoZXJlZFN0eWxlKXt2YXIgYz1bXTtmb3IodmFyIGU9YS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIiksZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1lW2RdO2lmKGYuaGFzQXR0cmlidXRlKCJzaGFkeS11bnNjb3BlZCIpKXtpZighbCl7dmFyIGc9Zi50ZXh0Q29udGVudDtJLmhhcyhnKXx8KEkuYWRkKGcpLGc9Zi5jbG9uZU5vZGUoITApLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZykpO2YucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmKX19ZWxzZSBjLnB1c2goZi50ZXh0Q29udGVudCksZi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGYpfShjPWMuam9pbigiIikudHJpbSgpKT8oZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLGUudGV4dENvbnRlbnQ9YyxhLmNvbnRlbnQuaW5zZXJ0QmVmb3JlKGUsYS5jb250ZW50LmZpcnN0Q2hpbGQpLGM9ZSk6Yz1udWxsO2EuX2dhdGhlcmVkU3R5bGU9CmN9cmV0dXJuKGE9YS5fZ2F0aGVyZWRTdHlsZSk/dGhpcy5qKGEsYik6bnVsbH07Ui5wcm90b3R5cGUuaj1mdW5jdGlvbihhLGIpe2I9dm9pZCAwPT09Yj8iIjpiO3ZhciBjPUsoYSk7dGhpcy5sKGMsYik7YS50ZXh0Q29udGVudD1KKGMpO3JldHVybiBjfTtSLnByb3RvdHlwZS5mPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1LKGEpO0woYyxmdW5jdGlvbihhKXsiOnJvb3QiPT09YS5zZWxlY3RvciYmKGEuc2VsZWN0b3I9Imh0bWwiKTtiLmcoYSl9KTthLnRleHRDb250ZW50PUooYyk7cmV0dXJuIGN9O1IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO3RoaXMuYz1iO0woYSxmdW5jdGlvbihhKXtjLmcoYSl9KTt0aGlzLmM9bnVsbH07Ui5wcm90b3R5cGUuZz1mdW5jdGlvbihhKXthLmNzc1RleHQ9bmEodGhpcyxhLnBhcnNlZENzc1RleHQsYSk7Ijpyb290Ij09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPSI6aG9zdCA+ICoiKX07CmZ1bmN0aW9uIG5hKGEsYixjKXtiPWIucmVwbGFjZShHLGZ1bmN0aW9uKGIsZCxmLGcpe3JldHVybiBvYShhLGIsZCxmLGcsYyl9KTtyZXR1cm4gUyhhLGIsYyl9ZnVuY3Rpb24gcGEoYSxiKXtmb3IodmFyIGM9YjtjLnBhcmVudDspYz1jLnBhcmVudDt2YXIgZT17fSxkPSExO0woYyxmdW5jdGlvbihjKXsoZD1kfHxjPT09Yil8fGMuc2VsZWN0b3I9PT1iLnNlbGVjdG9yJiZPYmplY3QuYXNzaWduKGUsVChhLGMucGFyc2VkQ3NzVGV4dCkpfSk7cmV0dXJuIGV9CmZ1bmN0aW9uIFMoYSxiLGMpe2Zvcih2YXIgZTtlPUguZXhlYyhiKTspe3ZhciBkPWVbMF0sZj1lWzFdO2U9ZS5pbmRleDt2YXIgZz1iLnNsaWNlKDAsZStkLmluZGV4T2YoIkBhcHBseSIpKTtiPWIuc2xpY2UoZStkLmxlbmd0aCk7dmFyIGg9Yz9wYShhLGMpOnt9O09iamVjdC5hc3NpZ24oaCxUKGEsZykpO2Q9dm9pZCAwO3ZhciBrPWE7Zj1mLnJlcGxhY2UobGEsIiIpO3ZhciBuPVtdO3ZhciBtPWsuYS5nZXQoZik7bXx8KGsuYS5zZXQoZix7fSksbT1rLmEuZ2V0KGYpKTtpZihtKXtrLmMmJihtLmlbay5jXT0hMCk7dmFyIHE9bS5oO2ZvcihkIGluIHEpaz1oJiZoW2RdLG09W2QsIjogdmFyKCIsZiwiXy1fIixkXSxrJiZtLnB1c2goIiwiLGsucmVwbGFjZShPLCIiKSksbS5wdXNoKCIpIiksTy50ZXN0KHFbZF0pJiZtLnB1c2goIiAhaW1wb3J0YW50Iiksbi5wdXNoKG0uam9pbigiIikpfWQ9bi5qb2luKCI7ICIpO2I9ZytkK2I7SC5sYXN0SW5kZXg9ZStkLmxlbmd0aH1yZXR1cm4gYn0KZnVuY3Rpb24gVChhLGIsYyl7Yz12b2lkIDA9PT1jPyExOmM7Yj1iLnNwbGl0KCI7Iik7Zm9yKHZhciBlLGQsZj17fSxnPTAsaDtnPGIubGVuZ3RoO2crKylpZihlPWJbZ10paWYoaD1lLnNwbGl0KCI6IiksMTxoLmxlbmd0aCl7ZT1oWzBdLnRyaW0oKTtkPWguc2xpY2UoMSkuam9pbigiOiIpO2lmKGMpe3ZhciBrPWE7aD1lO3ZhciBuPW1hLmV4ZWMoZCk7biYmKG5bMV0/KGsuYnx8KGsuYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIiksay5iLnNldEF0dHJpYnV0ZSgiYXBwbHktc2hpbS1tZWFzdXJlIiwiIiksay5iLnN0eWxlLmFsbD0iaW5pdGlhbCIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrLmIpKSxoPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGsuYikuZ2V0UHJvcGVydHlWYWx1ZShoKSk6aD0iYXBwbHktc2hpbS1pbmhlcml0IixkPWgpfWZbZV09ZH1yZXR1cm4gZn1mdW5jdGlvbiBxYShhLGIpe2lmKFEpZm9yKHZhciBjIGluIGIuaSljIT09YS5jJiZRKGMpfQpmdW5jdGlvbiBvYShhLGIsYyxlLGQsZil7ZSYmTShlLGZ1bmN0aW9uKGIsYyl7YyYmYS5hLmdldChjKSYmKGQ9IkBhcHBseSAiK2MrIjsiKX0pO2lmKCFkKXJldHVybiBiO3ZhciBnPVMoYSwiIitkLGYpO2Y9Yi5zbGljZSgwLGIuaW5kZXhPZigiLS0iKSk7dmFyIGg9Zz1UKGEsZywhMCksaz1hLmEuZ2V0KGMpLG49ayYmay5oO24/aD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobiksZyk6YS5hLnNldChjLGgpO3ZhciBtPVtdLHEsWj0hMTtmb3IocSBpbiBoKXt2YXIgRj1nW3FdO3ZvaWQgMD09PUYmJihGPSJpbml0aWFsIik7IW58fHEgaW4gbnx8KFo9ITApO20ucHVzaChjKyJfLV8iK3ErIjogIitGKX1aJiZxYShhLGspO2smJihrLmg9aCk7ZSYmKGY9YisiOyIrZik7cmV0dXJuIGYrbS5qb2luKCI7ICIpKyI7In1SLnByb3RvdHlwZS5kZXRlY3RNaXhpbj1SLnByb3RvdHlwZS5vO1IucHJvdG90eXBlLnRyYW5zZm9ybVN0eWxlPVIucHJvdG90eXBlLmo7ClIucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlPVIucHJvdG90eXBlLmY7Ui5wcm90b3R5cGUudHJhbnNmb3JtUnVsZXM9Ui5wcm90b3R5cGUubDtSLnByb3RvdHlwZS50cmFuc2Zvcm1SdWxlPVIucHJvdG90eXBlLmc7Ui5wcm90b3R5cGUudHJhbnNmb3JtVGVtcGxhdGU9Ui5wcm90b3R5cGUubTtSLnByb3RvdHlwZS5fc2VwYXJhdG9yPSJfLV8iO09iamVjdC5kZWZpbmVQcm9wZXJ0eShSLnByb3RvdHlwZSwiaW52YWxpZENhbGxiYWNrIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFF9LHNldDpmdW5jdGlvbihhKXtRPWF9fSk7dmFyIFU9e307dmFyIHJhPVByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIHNhKGEpe2lmKGE9VVthXSlhLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbj1hLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbnx8MCxhLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbnx8MCxhLl9hcHBseVNoaW1OZXh0VmVyc2lvbj0oYS5fYXBwbHlTaGltTmV4dFZlcnNpb258fDApKzF9ZnVuY3Rpb24gdGEoYSl7cmV0dXJuIGEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPT09YS5fYXBwbHlTaGltTmV4dFZlcnNpb259ZnVuY3Rpb24gdWEoYSl7YS5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZ3x8KGEuX3ZhbGlkYXRpbmc9ITAscmEudGhlbihmdW5jdGlvbigpe2EuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbU5leHRWZXJzaW9uO2EuX3ZhbGlkYXRpbmc9ITF9KSl9O3ZhciBWPW5ldyBSO2Z1bmN0aW9uIFcoKXt0aGlzLmE9bnVsbDtWLmludmFsaWRDYWxsYmFjaz1zYX1mdW5jdGlvbiBYKGEpeyFhLmEmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSYmKGEuYT13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsYS5hLnRyYW5zZm9ybUNhbGxiYWNrPWZ1bmN0aW9uKGEpe1YuZihhKX0sYS5hLnZhbGlkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXthLmEuZW5xdWV1ZWQmJmEuZmx1c2hDdXN0b21TdHlsZXMoKX0pfSl9Vy5wcm90b3R5cGUucHJlcGFyZVRlbXBsYXRlPWZ1bmN0aW9uKGEsYil7WCh0aGlzKTsiIj09PU4oYSkmJihVW2JdPWEsYj1WLm0oYSxiKSxhLl9zdHlsZUFzdD1iKX07ClcucHJvdG90eXBlLmZsdXNoQ3VzdG9tU3R5bGVzPWZ1bmN0aW9uKCl7WCh0aGlzKTtpZih0aGlzLmEpe3ZhciBhPXRoaXMuYS5wcm9jZXNzU3R5bGVzKCk7aWYodGhpcy5hLmVucXVldWVkKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9dGhpcy5hLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYVtiXSk7YyYmVi5mKGMpfXRoaXMuYS5lbnF1ZXVlZD0hMX19fTsKVy5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlPWZ1bmN0aW9uKGEsYil7WCh0aGlzKTtpZihiKWZvcih2YXIgYyBpbiBiKW51bGw9PT1jP2Euc3R5bGUucmVtb3ZlUHJvcGVydHkoYyk6YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGJbY10pO2lmKGEuc2hhZG93Um9vdClmb3IodGhpcy5zdHlsZUVsZW1lbnQoYSksYT1hLnNoYWRvd1Jvb3QuY2hpbGRyZW58fGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzLGI9MDtiPGEubGVuZ3RoO2IrKyl0aGlzLnN0eWxlU3VidHJlZShhW2JdKTtlbHNlIGZvcihhPWEuY2hpbGRyZW58fGEuY2hpbGROb2RlcyxiPTA7YjxhLmxlbmd0aDtiKyspdGhpcy5zdHlsZVN1YnRyZWUoYVtiXSl9OwpXLnByb3RvdHlwZS5zdHlsZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7WCh0aGlzKTt2YXIgYj1hLmxvY2FsTmFtZSxjO2I/LTE8Yi5pbmRleE9mKCItIik/Yz1iOmM9YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJpcyIpfHwiIjpjPWEuaXM7Yj1VW2NdO2lmKCEoYiYmIiIhPT1OKGIpfHwhYnx8dGEoYikpKXtpZih0YShiKXx8Yi5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb24hPT1iLl9hcHBseVNoaW1OZXh0VmVyc2lvbil0aGlzLnByZXBhcmVUZW1wbGF0ZShiLGMpLHVhKGIpO2lmKGE9YS5zaGFkb3dSb290KWlmKGE9YS5xdWVyeVNlbGVjdG9yKCJzdHlsZSIpKWEuX19jc3NSdWxlcz1iLl9zdHlsZUFzdCxhLnRleHRDb250ZW50PUooYi5fc3R5bGVBc3QpfX07Vy5wcm90b3R5cGUuc3R5bGVEb2N1bWVudD1mdW5jdGlvbihhKXtYKHRoaXMpO3RoaXMuc3R5bGVTdWJ0cmVlKGRvY3VtZW50LmJvZHksYSl9OwppZighd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKXt2YXIgWT1uZXcgVyx2YT13aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZTt3aW5kb3cuU2hhZHlDU1M9e3ByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTtZLnByZXBhcmVUZW1wbGF0ZShhLGIpfSxwcmVwYXJlVGVtcGxhdGVTdHlsZXM6ZnVuY3Rpb24oYSxiLGMpe3dpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGUoYSxiLGMpfSxwcmVwYXJlVGVtcGxhdGVEb206ZnVuY3Rpb24oKXt9LHN0eWxlU3VidHJlZTpmdW5jdGlvbihhLGIpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTtZLnN0eWxlU3VidHJlZShhLGIpfSxzdHlsZUVsZW1lbnQ6ZnVuY3Rpb24oYSl7WS5mbHVzaEN1c3RvbVN0eWxlcygpO1kuc3R5bGVFbGVtZW50KGEpfSxzdHlsZURvY3VtZW50OmZ1bmN0aW9uKGEpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTsKWS5zdHlsZURvY3VtZW50KGEpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKS5nZXRQcm9wZXJ0eVZhbHVlKGIpKT9hLnRyaW0oKToiIn0sZmx1c2hDdXN0b21TdHlsZXM6ZnVuY3Rpb24oKXtZLmZsdXNoQ3VzdG9tU3R5bGVzKCl9LG5hdGl2ZUNzczp1LG5hdGl2ZVNoYWRvdzpsLGNzc0J1aWxkOnYsZGlzYWJsZVJ1bnRpbWU6YWF9O3ZhJiYod2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlPXZhKX13aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltPVY7fSkuY2FsbCh0aGlzKTsKCgoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGNvbnN0IHVzZXJQb2x5bWVyID0gd2luZG93LlBvbHltZXI7CgogIC8qKgogICAqIEBuYW1lc3BhY2UgUG9seW1lcgogICAqIEBzdW1tYXJ5IFBvbHltZXIgaXMgYSBsaWdodHdlaWdodCBsaWJyYXJ5IGJ1aWx0IG9uIHRvcCBvZiB0aGUgd2ViCiAgICogICBzdGFuZGFyZHMtYmFzZWQgV2ViIENvbXBvbmVudHMgQVBJJ3MsIGFuZCBtYWtlcyBpdCBlYXN5IHRvIGJ1aWxkIHlvdXIKICAgKiAgIG93biBjdXN0b20gSFRNTCBlbGVtZW50cy4KICAgKiBAcGFyYW0geyFQb2x5bWVySW5pdH0gaW5mbyBQcm90b3R5cGUgZm9yIHRoZSBjdXN0b20gZWxlbWVudC4gSXQgbXVzdCBjb250YWluCiAgICogICBhbiBgaXNgIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIGVsZW1lbnQgbmFtZS4gT3RoZXIgcHJvcGVydGllcyBwb3B1bGF0ZQogICAqICAgdGhlIGVsZW1lbnQgcHJvdG90eXBlLiBUaGUgYHByb3BlcnRpZXNgLCBgb2JzZXJ2ZXJzYCwgYGhvc3RBdHRyaWJ1dGVzYCwKICAgKiAgIGFuZCBgbGlzdGVuZXJzYCBwcm9wZXJ0aWVzIGFyZSBwcm9jZXNzZWQgdG8gY3JlYXRlIGVsZW1lbnQgZmVhdHVyZXMuCiAgICogQHJldHVybiB7IU9iamVjdH0gUmV0dXJucyBhIGN1c3RvbSBlbGVtZW50IGNsYXNzIGZvciB0aGUgZ2l2ZW4gcHJvdmlkZWQKICAgKiAgIHByb3RvdHlwZSBgaW5mb2Agb2JqZWN0LiBUaGUgbmFtZSBvZiB0aGUgZWxlbWVudCBpZiBnaXZlbiBieSBgaW5mby5pc2AuCiAgICovCiAgd2luZG93LlBvbHltZXIgPSBmdW5jdGlvbihpbmZvKSB7CiAgICByZXR1cm4gd2luZG93LlBvbHltZXIuX3BvbHltZXJGbihpbmZvKTsKICB9OwoKICAvLyBzdXBwb3J0IHVzZXIgc2V0dGluZ3Mgb24gdGhlIFBvbHltZXIgb2JqZWN0CiAgaWYgKHVzZXJQb2x5bWVyKSB7CiAgICBPYmplY3QuYXNzaWduKFBvbHltZXIsIHVzZXJQb2x5bWVyKTsKICB9CgogIC8vIFRvIGJlIHBsdWdnZWQgYnkgbGVnYWN5IGltcGxlbWVudGF0aW9uIGlmIGxvYWRlZAogIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgLyoqCiAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gUHJvdG90eXBlIGZvciB0aGUgY3VzdG9tIGVsZW1lbnQuIEl0IG11c3QgY29udGFpbgogICAqICAgYW4gYGlzYCBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBlbGVtZW50IG5hbWUuIE90aGVyIHByb3BlcnRpZXMgcG9wdWxhdGUKICAgKiAgIHRoZSBlbGVtZW50IHByb3RvdHlwZS4gVGhlIGBwcm9wZXJ0aWVzYCwgYG9ic2VydmVyc2AsIGBob3N0QXR0cmlidXRlc2AsCiAgICogICBhbmQgYGxpc3RlbmVyc2AgcHJvcGVydGllcyBhcmUgcHJvY2Vzc2VkIHRvIGNyZWF0ZSBlbGVtZW50IGZlYXR1cmVzLgogICAqIEByZXR1cm4geyFPYmplY3R9IFJldHVybnMgYSBjdXN0b20gZWxlbWVudCBjbGFzcyBmb3IgdGhlIGdpdmVuIHByb3ZpZGVkCiAgICogICBwcm90b3R5cGUgYGluZm9gIG9iamVjdC4gVGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgaWYgZ2l2ZW4gYnkgYGluZm8uaXNgLgogICAqLwogIHdpbmRvdy5Qb2x5bWVyLl9wb2x5bWVyRm4gPSBmdW5jdGlvbihpbmZvKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgIHRocm93IG5ldyBFcnJvcignTG9hZCBwb2x5bWVyLmh0bWwgdG8gdXNlIHRoZSBQb2x5bWVyKCkgZnVuY3Rpb24uJyk7CiAgfTsKICAvKiBlc2xpbnQtZW5hYmxlICovCgogIHdpbmRvdy5Qb2x5bWVyLnZlcnNpb24gPSAnMi43LjAnOwoKICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLwogIC8qCiAgV2hlbiB1c2luZyBDbG9zdXJlIENvbXBpbGVyLCBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KHByb3BlcnR5LCBvYmplY3QpIGlzIHJlcGxhY2VkIGJ5IHRoZSBtdW5nZWQgbmFtZSBmb3Igb2JqZWN0W3Byb3BlcnR5XQogIFdlIGNhbm5vdCBhbGlhcyB0aGlzIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvIHVzZSBhIHNtYWxsIHNoaW0gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3Igd2hlbiBub3QgY29tcGlsaW5nLgogICovCiAgd2luZG93LkpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkgPSBmdW5jdGlvbihwcm9wLCBvYmopIHsKICAgIHJldHVybiBwcm9wOwogIH07CiAgLyogZXNsaW50LWVuYWJsZSAqLwoKfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgbGV0IENTU19VUkxfUlggPSAvKHVybFwoKShbXildKikoXCkpL2c7CiAgICBsZXQgQUJTX1VSTCA9IC8oXlwvKXwoXiMpfCheW1x3LVxkXSo6KS87CiAgICBsZXQgd29ya2luZ1VSTDsKICAgIGxldCByZXNvbHZlRG9jOwogICAgLyoqCiAgICAgKiBSZXNvbHZlcyB0aGUgZ2l2ZW4gVVJMIGFnYWluc3QgdGhlIHByb3ZpZGVkIGBiYXNlVXJpJy4KICAgICAqIAogICAgICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgbm8gcmVzb2x1dGlvbiBmb3IgVVJMcyB0aGF0IHN0YXJ0CiAgICAgKiB3aXRoIGAvYCAoYWJzb2x1dGUgVVJMcykgb3IgYCNgIChoYXNoIGlkZW50aWZpZXJzKS4gIEZvciBnZW5lcmFsIHB1cnBvc2UKICAgICAqIFVSTCByZXNvbHV0aW9uLCB1c2UgYHdpbmRvdy5VUkxgLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgSW5wdXQgVVJMIHRvIHJlc29sdmUKICAgICAqIEBwYXJhbSB7P3N0cmluZz19IGJhc2VVUkkgQmFzZSBVUkkgdG8gcmVzb2x2ZSB0aGUgVVJMIGFnYWluc3QKICAgICAqIEByZXR1cm4ge3N0cmluZ30gcmVzb2x2ZWQgVVJMCiAgICAgKi8KICAgIGZ1bmN0aW9uIHJlc29sdmVVcmwodXJsLCBiYXNlVVJJKSB7CiAgICAgIGlmICh1cmwgJiYgQUJTX1VSTC50ZXN0KHVybCkpIHsKICAgICAgICByZXR1cm4gdXJsOwogICAgICB9CiAgICAgIC8vIExhenkgZmVhdHVyZSBkZXRlY3Rpb24uCiAgICAgIGlmICh3b3JraW5nVVJMID09PSB1bmRlZmluZWQpIHsKICAgICAgICB3b3JraW5nVVJMID0gZmFsc2U7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IHUgPSBuZXcgVVJMKCdiJywgJ2h0dHA6Ly9hJyk7CiAgICAgICAgICB1LnBhdGhuYW1lID0gJ2MlMjBkJzsKICAgICAgICAgIHdvcmtpbmdVUkwgPSAodS5ocmVmID09PSAnaHR0cDovL2EvYyUyMGQnKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAvLyBzaWxlbnRseSBmYWlsCiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghYmFzZVVSSSkgewogICAgICAgIGJhc2VVUkkgPSBkb2N1bWVudC5iYXNlVVJJIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgICB9CiAgICAgIGlmICh3b3JraW5nVVJMKSB7CiAgICAgICAgcmV0dXJuIChuZXcgVVJMKHVybCwgYmFzZVVSSSkpLmhyZWY7CiAgICAgIH0KICAgICAgLy8gRmFsbGJhY2sgdG8gY3JlYXRpbmcgYW4gYW5jaG9yIGludG8gYSBkaXNjb25uZWN0ZWQgZG9jdW1lbnQuCiAgICAgIGlmICghcmVzb2x2ZURvYykgewogICAgICAgIHJlc29sdmVEb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJ3RlbXAnKTsKICAgICAgICByZXNvbHZlRG9jLmJhc2UgPSByZXNvbHZlRG9jLmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKTsKICAgICAgICByZXNvbHZlRG9jLmhlYWQuYXBwZW5kQ2hpbGQocmVzb2x2ZURvYy5iYXNlKTsKICAgICAgICByZXNvbHZlRG9jLmFuY2hvciA9IHJlc29sdmVEb2MuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICAgIHJlc29sdmVEb2MuYm9keS5hcHBlbmRDaGlsZChyZXNvbHZlRG9jLmFuY2hvcik7CiAgICAgIH0KICAgICAgcmVzb2x2ZURvYy5iYXNlLmhyZWYgPSBiYXNlVVJJOwogICAgICByZXNvbHZlRG9jLmFuY2hvci5ocmVmID0gdXJsOwogICAgICByZXR1cm4gcmVzb2x2ZURvYy5hbmNob3IuaHJlZiB8fCB1cmw7CgogICAgfQoKICAgIC8qKgogICAgICogUmVzb2x2ZXMgYW55IHJlbGF0aXZlIFVSTCdzIGluIHRoZSBnaXZlbiBDU1MgdGV4dCBhZ2FpbnN0IHRoZSBwcm92aWRlZAogICAgICogYG93bmVyRG9jdW1lbnRgJ3MgYGJhc2VVUklgLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjc3NUZXh0IENTUyB0ZXh0IHRvIHByb2Nlc3MKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlc29sdmUgdGhlIFVSTCBhZ2FpbnN0CiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFByb2Nlc3NlZCBDU1MgdGV4dCB3aXRoIHJlc29sdmVkIFVSTCdzCiAgICAgKi8KICAgIGZ1bmN0aW9uIHJlc29sdmVDc3MoY3NzVGV4dCwgYmFzZVVSSSkgewogICAgICByZXR1cm4gY3NzVGV4dC5yZXBsYWNlKENTU19VUkxfUlgsIGZ1bmN0aW9uKG0sIHByZSwgdXJsLCBwb3N0KSB7CiAgICAgICAgcmV0dXJuIHByZSArICdcJycgKwogICAgICAgICAgcmVzb2x2ZVVybCh1cmwucmVwbGFjZSgvWyInXS9nLCAnJyksIGJhc2VVUkkpICsKICAgICAgICAgICdcJycgKyBwb3N0OwogICAgICB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBwYXRoIGZyb20gYSBnaXZlbiBgdXJsYC4gVGhlIHBhdGggaW5jbHVkZXMgdGhlIHRyYWlsaW5nCiAgICAgKiBgL2AgZnJvbSB0aGUgdXJsLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgSW5wdXQgVVJMIHRvIHRyYW5zZm9ybQogICAgICogQHJldHVybiB7c3RyaW5nfSByZXNvbHZlZCBwYXRoCiAgICAgKi8KICAgIGZ1bmN0aW9uIHBhdGhGcm9tVXJsKHVybCkgewogICAgICByZXR1cm4gdXJsLnN1YnN0cmluZygwLCB1cmwubGFzdEluZGV4T2YoJy8nKSArIDEpOwogICAgfQoKICAgIC8qKgogICAgICogTW9kdWxlIHdpdGggdXRpbGl0aWVzIGZvciByZXNvbHZpbmcgcmVsYXRpdmUgVVJMJ3MuCiAgICAgKgogICAgICogQG5hbWVzcGFjZQogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqIEBzdW1tYXJ5IE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTCdzLgogICAgICovCiAgICBQb2x5bWVyLlJlc29sdmVVcmwgPSB7CiAgICAgIHJlc29sdmVDc3M6IHJlc29sdmVDc3MsCiAgICAgIHJlc29sdmVVcmw6IHJlc29sdmVVcmwsCiAgICAgIHBhdGhGcm9tVXJsOiBwYXRoRnJvbVVybAogICAgfTsKCiAgfSkoKTsKCgoKLyoqIEBzdXBwcmVzcyB7ZGVwcmVjYXRlZH0gKi8KKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogU2V0cyB0aGUgZ2xvYmFsLCBsZWdhY3kgc2V0dGluZ3MuCiAgICoKICAgKiBAZGVwcmVjYXRlZAogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqLwogIFBvbHltZXIuU2V0dGluZ3MgPSBQb2x5bWVyLlNldHRpbmdzIHx8IHt9OwoKICBQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdyA9ICEod2luZG93LlNoYWR5RE9NKTsKICBQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZUNTU1Byb3BlcnRpZXMgPQogICAgQm9vbGVhbighd2luZG93LlNoYWR5Q1NTIHx8IHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3MpOwogIFBvbHltZXIuU2V0dGluZ3MudXNlTmF0aXZlQ3VzdG9tRWxlbWVudHMgPQogICAgISh3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjayk7CgoKICAvKioKICAgKiBHbG9iYWxseSBzZXR0YWJsZSBwcm9wZXJ0eSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8KICAgKiBgUG9seW1lci5FbGVtZW50TWl4aW5gIGluc3RhbmNlcywgdXNlZnVsIGZvciBiaW5kaW5nIGluIHRlbXBsYXRlcyB0bwogICAqIG1ha2UgVVJMJ3MgcmVsYXRpdmUgdG8gYW4gYXBwbGljYXRpb24ncyByb290LiAgRGVmYXVsdHMgdG8gdGhlIG1haW4KICAgKiBkb2N1bWVudCBVUkwsIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB1c2Vycy4gIEl0IG1heSBiZSB1c2VmdWwgdG8gc2V0CiAgICogYFBvbHltZXIucm9vdFBhdGhgIHRvIHByb3ZpZGUgYSBzdGFibGUgYXBwbGljYXRpb24gbW91bnQgcGF0aCB3aGVuCiAgICogdXNpbmcgY2xpZW50IHNpZGUgcm91dGluZy4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5yb290UGF0aCA9IFBvbHltZXIucm9vdFBhdGggfHwKICAgIFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybChkb2N1bWVudC5iYXNlVVJJIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKCiAgLyoqCiAgICogU2V0cyB0aGUgZ2xvYmFsIHJvb3RQYXRoIHByb3BlcnR5IHVzZWQgYnkgYFBvbHltZXIuRWxlbWVudE1peGluYCBhbmQKICAgKiBhdmFpbGFibGUgdmlhIGBQb2x5bWVyLnJvb3RQYXRoYC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyByb290IHBhdGgKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqLwogIFBvbHltZXIuc2V0Um9vdFBhdGggPSBmdW5jdGlvbihwYXRoKSB7CiAgICBQb2x5bWVyLnJvb3RQYXRoID0gcGF0aDsKICB9OwoKICAvKioKICAgKiBBIGdsb2JhbCBjYWxsYmFjayB1c2VkIHRvIHNhbml0aXplIGFueSB2YWx1ZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGludG8gdGhlIERPTS4gVGhlIGNhbGxiYWNrIHNpZ25hdHVyZSBpczoKICAgKgogICAqICAgICBQb2x5bWVyID0gewogICAqICAgICAgIHNhbml0aXplRE9NVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCBuYW1lLCB0eXBlLCBub2RlKSB7IC4uLiB9CiAgICogICAgIH0KICAgKgogICAqIFdoZXJlOgogICAqCiAgICogYHZhbHVlYCBpcyB0aGUgdmFsdWUgdG8gc2FuaXRpemUuCiAgICogYG5hbWVgIGlzIHRoZSBuYW1lIG9mIGFuIGF0dHJpYnV0ZSBvciBwcm9wZXJ0eSAoZm9yIGV4YW1wbGUsIGhyZWYpLgogICAqIGB0eXBlYCBpbmRpY2F0ZXMgd2hlcmUgdGhlIHZhbHVlIGlzIGJlaW5nIGluc2VydGVkOiBvbmUgb2YgcHJvcGVydHksIGF0dHJpYnV0ZSwgb3IgdGV4dC4KICAgKiBgbm9kZWAgaXMgdGhlIG5vZGUgd2hlcmUgdGhlIHZhbHVlIGlzIGJlaW5nIGluc2VydGVkLgogICAqCiAgICogQHR5cGUgeyhmdW5jdGlvbigqLHN0cmluZyxzdHJpbmcsTm9kZSk6Kil8dW5kZWZpbmVkfQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlID0gUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlIHx8IG51bGw7CgogIC8qKgogICAqIFNldHMgdGhlIGdsb2JhbCBzYW5pdGl6ZURPTVZhbHVlIGF2YWlsYWJsZSB2aWEgYFBvbHltZXIuc2FuaXRpemVET01WYWx1ZWAuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7KGZ1bmN0aW9uKCosc3RyaW5nLHN0cmluZyxOb2RlKToqKXx1bmRlZmluZWR9IG5ld1Nhbml0aXplRE9NVmFsdWUgdGhlIGdsb2JhbCBzYW5pdGl6ZURPTVZhbHVlIGNhbGxiYWNrCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnNldFNhbml0aXplRE9NVmFsdWUgPSBmdW5jdGlvbihuZXdTYW5pdGl6ZURPTVZhbHVlKSB7CiAgICBQb2x5bWVyLnNhbml0aXplRE9NVmFsdWUgPSBuZXdTYW5pdGl6ZURPTVZhbHVlOwogIH07CgogIC8qKgogICAqIEdsb2JhbGx5IHNldHRhYmxlIHByb3BlcnR5IHRvIG1ha2UgUG9seW1lciBHZXN0dXJlcyB1c2UgcGFzc2l2ZSBUb3VjaEV2ZW50IGxpc3RlbmVycyB3aGVuIHJlY29nbml6aW5nIGdlc3R1cmVzLgogICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgZ2VzdHVyZXMgbWFkZSBmcm9tIHRvdWNoIHdpbGwgbm90IGJlIGFibGUgdG8gcHJldmVudCBzY3JvbGxpbmcsIGFsbG93aW5nIGZvciBzbW9vdGhlcgogICAqIHNjcm9sbGluZyBwZXJmb3JtYW5jZS4KICAgKiBEZWZhdWx0cyB0byBgZmFsc2VgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcyA9IFBvbHltZXIucGFzc2l2ZVRvdWNoR2VzdHVyZXMgfHwgZmFsc2U7CgogIC8qKgogICAqIFNldHMgYHBhc3NpdmVUb3VjaEdlc3R1cmVzYCBnbG9iYWxseSBmb3IgYWxsIGVsZW1lbnRzIHVzaW5nIFBvbHltZXIgR2VzdHVyZXMuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7Ym9vbGVhbn0gdXNlUGFzc2l2ZSBlbmFibGUgb3IgZGlzYWJsZSBwYXNzaXZlIHRvdWNoIGdlc3R1cmVzIGdsb2JhbGx5CiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnNldFBhc3NpdmVUb3VjaEdlc3R1cmVzID0gZnVuY3Rpb24odXNlUGFzc2l2ZSkgewogICAgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcyA9IHVzZVBhc3NpdmU7CiAgfTsKCiAgUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zID0gUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zIHx8CiAgICAgIHdpbmRvdy5Qb2x5bWVyU2V0dGluZ3MgJiYgd2luZG93LlBvbHltZXJTZXR0aW5ncy5sZWdhY3lPcHRpbWl6YXRpb25zIHx8IGZhbHNlOwoKICAvKioKICAgKiBTZXRzIGBsZWdhY3lPcHRpbWl6YXRpb25zYCBnbG9iYWxseSBmb3IgYWxsIGVsZW1lbnRzLiBFbmFibGVzCiAgICogb3B0aW1pemF0aW9ucyB3aGVuIG9ubHkgbGVnYWN5IFBvbHltZXIoKSBzdHlsZSBlbGVtZW50cyBhcmUgdXNlZC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHBhcmFtIHtib29sZWFufSB1c2VMZWdhY3lPcHRpbWl6YXRpb25zIGVuYWJsZSBvciBkaXNhYmxlIGxlZ2FjeSBvcHRpbWl6YXRpb25zIGdsb2JhbGx5LgogICAqIEByZXR1cm4ge3ZvaWR9CiAgICovCiAgUG9seW1lci5zZXRMZWdhY3lPcHRpbWl6YXRpb25zID0gZnVuY3Rpb24odXNlTGVnYWN5T3B0aW1pemF0aW9ucykgewogICAgUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zID0gdXNlTGVnYWN5T3B0aW1pemF0aW9uczsKICB9Owp9KSgpOwoKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdW5pcXVlIGdsb2JhbCBpZCBmb3IgZGVkdXBpbmcgbWl4aW5zLgogIGxldCBkZWR1cGVJZCA9IDA7CgogIC8qKgogICAqIEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtGdW5jdGlvbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIE1peGluRnVuY3Rpb24oKXt9CiAgLyoqIEB0eXBlIHsoV2Vha01hcCB8IHVuZGVmaW5lZCl9ICovCiAgTWl4aW5GdW5jdGlvbi5wcm90b3R5cGUuX19taXhpbkFwcGxpY2F0aW9uczsKICAvKiogQHR5cGUgeyhPYmplY3QgfCB1bmRlZmluZWQpfSAqLwogIE1peGluRnVuY3Rpb24ucHJvdG90eXBlLl9fbWl4aW5TZXQ7CgogIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgLyoqCiAgICogV3JhcHMgYW4gRVM2IGNsYXNzIGV4cHJlc3Npb24gbWl4aW4gc3VjaCB0aGF0IHRoZSBtaXhpbiBpcyBvbmx5IGFwcGxpZWQKICAgKiBpZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBhcHBsaWVkIGl0cyBiYXNlIGFyZ3VtZW50LiBBbHNvIG1lbW9pemVzIG1peGluCiAgICogYXBwbGljYXRpb25zLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAdGVtcGxhdGUgVAogICAqIEBwYXJhbSB7VH0gbWl4aW4gRVM2IGNsYXNzIGV4cHJlc3Npb24gbWl4aW4gdG8gd3JhcAogICAqIEByZXR1cm4ge1R9CiAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9CiAgICovCiAgUG9seW1lci5kZWR1cGluZ01peGluID0gZnVuY3Rpb24obWl4aW4pIHsKICAgIGxldCBtaXhpbkFwcGxpY2F0aW9ucyA9IC8qKiBAdHlwZSB7IU1peGluRnVuY3Rpb259ICovKG1peGluKS5fX21peGluQXBwbGljYXRpb25zOwogICAgaWYgKCFtaXhpbkFwcGxpY2F0aW9ucykgewogICAgICBtaXhpbkFwcGxpY2F0aW9ucyA9IG5ldyBXZWFrTWFwKCk7CiAgICAgIC8qKiBAdHlwZSB7IU1peGluRnVuY3Rpb259ICovKG1peGluKS5fX21peGluQXBwbGljYXRpb25zID0gbWl4aW5BcHBsaWNhdGlvbnM7CiAgICB9CiAgICAvLyBtYWludGFpbiBhIHVuaXF1ZSBpZCBmb3IgZWFjaCBtaXhpbgogICAgbGV0IG1peGluRGVkdXBlSWQgPSBkZWR1cGVJZCsrOwogICAgZnVuY3Rpb24gZGVkdXBpbmdNaXhpbihiYXNlKSB7CiAgICAgIGxldCBiYXNlU2V0ID0gLyoqIEB0eXBlIHshTWl4aW5GdW5jdGlvbn0gKi8oYmFzZSkuX19taXhpblNldDsKICAgICAgaWYgKGJhc2VTZXQgJiYgYmFzZVNldFttaXhpbkRlZHVwZUlkXSkgewogICAgICAgIHJldHVybiBiYXNlOwogICAgICB9CiAgICAgIGxldCBtYXAgPSBtaXhpbkFwcGxpY2F0aW9uczsKICAgICAgbGV0IGV4dGVuZGVkID0gbWFwLmdldChiYXNlKTsKICAgICAgaWYgKCFleHRlbmRlZCkgewogICAgICAgIGV4dGVuZGVkID0gLyoqIEB0eXBlIHshRnVuY3Rpb259ICovKG1peGluKShiYXNlKTsKICAgICAgICBtYXAuc2V0KGJhc2UsIGV4dGVuZGVkKTsKICAgICAgfQogICAgICAvLyBjb3B5IGluaGVyaXRlZCBtaXhpbiBzZXQgZnJvbSB0aGUgZXh0ZW5kZWQgY2xhc3MsIG9yIHRoZSBiYXNlIGNsYXNzCiAgICAgIC8vIE5PVEU6IHdlIGF2b2lkIHVzZSBvZiBTZXQgaGVyZSBiZWNhdXNlIHNvbWUgYnJvd3NlciAoSUUxMSkKICAgICAgLy8gY2Fubm90IGV4dGVuZCBhIGJhc2UgU2V0IHZpYSB0aGUgY29uc3RydWN0b3IuCiAgICAgIGxldCBtaXhpblNldCA9IE9iamVjdC5jcmVhdGUoLyoqIEB0eXBlIHshTWl4aW5GdW5jdGlvbn0gKi8oZXh0ZW5kZWQpLl9fbWl4aW5TZXQgfHwgYmFzZVNldCB8fCBudWxsKTsKICAgICAgbWl4aW5TZXRbbWl4aW5EZWR1cGVJZF0gPSB0cnVlOwogICAgICAvKiogQHR5cGUgeyFNaXhpbkZ1bmN0aW9ufSAqLyhleHRlbmRlZCkuX19taXhpblNldCA9IG1peGluU2V0OwogICAgICByZXR1cm4gZXh0ZW5kZWQ7CiAgICB9CgogICAgcmV0dXJuIC8qKiBAdHlwZSB7VH0gKi8gKGRlZHVwaW5nTWl4aW4pOwogIH07CiAgLyogZXNsaW50LWVuYWJsZSB2YWxpZC1qc2RvYyAqLwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgTU9EVUxFX1NUWUxFX0xJTktfU0VMRUNUT1IgPSAnbGlua1tyZWw9aW1wb3J0XVt0eXBlfj1jc3NdJzsKICBjb25zdCBJTkNMVURFX0FUVFIgPSAnaW5jbHVkZSc7CiAgY29uc3QgU0hBRFlfVU5TQ09QRURfQVRUUiA9ICdzaGFkeS11bnNjb3BlZCc7CgogIGZ1bmN0aW9uIGltcG9ydE1vZHVsZShtb2R1bGVJZCkgewogICAgY29uc3QgLyoqIFBvbHltZXIuRG9tTW9kdWxlICovIFBvbHltZXJEb21Nb2R1bGUgPSBjdXN0b21FbGVtZW50cy5nZXQoJ2RvbS1tb2R1bGUnKTsKICAgIGlmICghUG9seW1lckRvbU1vZHVsZSkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHJldHVybiBQb2x5bWVyRG9tTW9kdWxlLmltcG9ydChtb2R1bGVJZCk7CiAgfQoKICBmdW5jdGlvbiBzdHlsZUZvckltcG9ydChpbXBvcnREb2MpIHsKICAgIC8vIE5PVEU6IHBvbHlmaWxsIGFmZm9yZGFuY2UuCiAgICAvLyB1bmRlciB0aGUgSFRNTEltcG9ydHMgcG9seWZpbGwsIHRoZXJlIHdpbGwgYmUgbm8gJ2JvZHknLAogICAgLy8gYnV0IHRoZSBpbXBvcnQgcHNldWRvLWRvYyBjYW4gYmUgdXNlZCBkaXJlY3RseS4KICAgIGxldCBjb250YWluZXIgPSBpbXBvcnREb2MuYm9keSA/IGltcG9ydERvYy5ib2R5IDogaW1wb3J0RG9jOwogICAgY29uc3QgaW1wb3J0Q3NzID0gUG9seW1lci5SZXNvbHZlVXJsLnJlc29sdmVDc3MoY29udGFpbmVyLnRleHRDb250ZW50LAogICAgICBpbXBvcnREb2MuYmFzZVVSSSk7CiAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICBzdHlsZS50ZXh0Q29udGVudCA9IGltcG9ydENzczsKICAgIHJldHVybiBzdHlsZTsKICB9CgogIC8qKiBAdHlwZWRlZiB7e2Fzc2V0cGF0aDogc3RyaW5nfX0gKi8KICBsZXQgdGVtcGxhdGVXaXRoQXNzZXRQYXRoOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgY29sbGVjdGlvbiBDU1MgdGV4dCBmcm9tIGA8dGVtcGxhdGVzPmAsIGV4dGVybmFsCiAgICogc3R5bGVzaGVldHMsIGFuZCBgZG9tLW1vZHVsZWBzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIHdpdGggdXRpbGl0aWVzIGZvciBjb2xsZWN0aW9uIENTUyB0ZXh0IGZyb20gdmFyaW91cyBzb3VyY2VzLgogICAqLwogIGNvbnN0IFN0eWxlR2F0aGVyID0gewoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxpc3Qgb2YgPHN0eWxlPiBlbGVtZW50cyBpbiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGBkb20tbW9kdWxlYHMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuU3R5bGVHYXRoZXIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVJZHMgTGlzdCBvZiBkb20tbW9kdWxlIGlkJ3Mgd2l0aGluIHdoaWNoIHRvCiAgICAgKiBzZWFyY2ggZm9yIGNzcy4KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCA8c3R5bGU+IGVsZW1lbnRzCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgICBzdHlsZXNGcm9tTW9kdWxlcyhtb2R1bGVJZHMpIHsKICAgICAgY29uc3QgbW9kdWxlcyA9IG1vZHVsZUlkcy50cmltKCkuc3BsaXQoL1xzKy8pOwogICAgICBjb25zdCBzdHlsZXMgPSBbXTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHN0eWxlcy5wdXNoKC4uLnRoaXMuc3R5bGVzRnJvbU1vZHVsZShtb2R1bGVzW2ldKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHN0eWxlczsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiA8c3R5bGU+IGVsZW1lbnRzIGluIGEgZ2l2ZW4gYGRvbS1tb2R1bGVgLgogICAgICogU3R5bGVzIGluIGEgYGRvbS1tb2R1bGVgIGNhbiBjb21lIGVpdGhlciBmcm9tIGA8c3R5bGU+YHMgd2l0aGluIHRoZQogICAgICogZmlyc3QgYDx0ZW1wbGF0ZT5gLCBvciBlbHNlIGZyb20gb25lIG9yIG1vcmUKICAgICAqIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIGxpbmtzIG91dHNpZGUgdGhlIHRlbXBsYXRlLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlSWQgZG9tLW1vZHVsZSBpZCB0byBnYXRoZXIgc3R5bGVzIGZyb20KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCBzdHlsZXMuCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIHN0eWxlc0Zyb21Nb2R1bGUobW9kdWxlSWQpIHsKICAgICAgY29uc3QgbSA9IGltcG9ydE1vZHVsZShtb2R1bGVJZCk7CgogICAgICBpZiAoIW0pIHsKICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBmaW5kIHN0eWxlIGRhdGEgaW4gbW9kdWxlIG5hbWVkJywgbW9kdWxlSWQpOwogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgICAgaWYgKG0uX3N0eWxlcyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY29uc3Qgc3R5bGVzID0gW107CiAgICAgICAgLy8gbW9kdWxlIGltcG9ydHM6IDxsaW5rIHJlbD0iaW1wb3J0IiB0eXBlPSJjc3MiPgogICAgICAgIHN0eWxlcy5wdXNoKC4uLnRoaXMuX3N0eWxlc0Zyb21Nb2R1bGVJbXBvcnRzKG0pKTsKICAgICAgICAvLyBpbmNsdWRlIGNzcyBmcm9tIHRoZSBmaXJzdCB0ZW1wbGF0ZSBpbiB0aGUgbW9kdWxlCiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBtLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CiAgICAgICAgaWYgKHRlbXBsYXRlKSB7CiAgICAgICAgICBzdHlsZXMucHVzaCguLi50aGlzLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSwKICAgICAgICAgICAgLyoqIEB0eXBlIHt0ZW1wbGF0ZVdpdGhBc3NldFBhdGh9ICovKG0pLmFzc2V0cGF0aCkpOwogICAgICAgIH0KCiAgICAgICAgbS5fc3R5bGVzID0gc3R5bGVzOwogICAgICB9CgogICAgICByZXR1cm4gbS5fc3R5bGVzOwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGA8c3R5bGU+YCBlbGVtZW50cyB3aXRoaW4gYSBnaXZlbiB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgdG8gZ2F0aGVyIHN0eWxlcyBmcm9tCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZVVSSSBiYXNlVVJJIGZvciBzdHlsZSBjb250ZW50CiAgICAgKiBAcmV0dXJuIHshQXJyYXk8IUhUTUxTdHlsZUVsZW1lbnQ+fSBBcnJheSBvZiBzdHlsZXMKICAgICAqIEB0aGlzIHtTdHlsZUdhdGhlcn0KICAgICAqLwogICAgc3R5bGVzRnJvbVRlbXBsYXRlKHRlbXBsYXRlLCBiYXNlVVJJKSB7CiAgICAgIGlmICghdGVtcGxhdGUuX3N0eWxlcykgewogICAgICAgIGNvbnN0IHN0eWxlcyA9IFtdOwogICAgICAgIC8vIGlmIGVsZW1lbnQgaXMgYSB0ZW1wbGF0ZSwgZ2V0IGNvbnRlbnQgZnJvbSBpdHMgLmNvbnRlbnQKICAgICAgICBjb25zdCBlJCA9IHRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKTsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBlJC5sZW5ndGg7IGkrKykgewogICAgICAgICAgbGV0IGUgPSBlJFtpXTsKICAgICAgICAgIC8vIHN1cHBvcnQgc3R5bGUgc2hhcmluZyBieSBhbGxvd2luZyBzdHlsZXMgdG8gImluY2x1ZGUiCiAgICAgICAgICAvLyBvdGhlciBkb20tbW9kdWxlcyB0aGF0IGNvbnRhaW4gc3R5bGluZwogICAgICAgICAgbGV0IGluY2x1ZGUgPSBlLmdldEF0dHJpYnV0ZShJTkNMVURFX0FUVFIpOwogICAgICAgICAgaWYgKGluY2x1ZGUpIHsKICAgICAgICAgICAgc3R5bGVzLnB1c2goLi4udGhpcy5zdHlsZXNGcm9tTW9kdWxlcyhpbmNsdWRlKS5maWx0ZXIoZnVuY3Rpb24oaXRlbSwgaW5kZXgsIHNlbGYpIHsKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5pbmRleE9mKGl0ZW0pID09PSBpbmRleDsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGJhc2VVUkkpIHsKICAgICAgICAgICAgZS50ZXh0Q29udGVudCA9IFBvbHltZXIuUmVzb2x2ZVVybC5yZXNvbHZlQ3NzKGUudGV4dENvbnRlbnQsIGJhc2VVUkkpOwogICAgICAgICAgfQogICAgICAgICAgc3R5bGVzLnB1c2goZSk7CiAgICAgICAgfQogICAgICAgIHRlbXBsYXRlLl9zdHlsZXMgPSBzdHlsZXM7CiAgICAgIH0KICAgICAgcmV0dXJuIHRlbXBsYXRlLl9zdHlsZXM7CiAgICB9LAoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxpc3Qgb2YgPHN0eWxlPiBlbGVtZW50cyAgZnJvbSBzdHlsZXNoZWV0cyBsb2FkZWQgdmlhIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIGxpbmtzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGBkb20tbW9kdWxlYC4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZUlkIElkIG9mIGBkb20tbW9kdWxlYCB0byBnYXRoZXIgQ1NTIGZyb20KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCBzdHlsZXMuCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgICBzdHlsZXNGcm9tTW9kdWxlSW1wb3J0cyhtb2R1bGVJZCkgewogICAgICBsZXQgbSA9IGltcG9ydE1vZHVsZShtb2R1bGVJZCk7CiAgICAgIHJldHVybiBtID8gdGhpcy5fc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobSkgOiBbXTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG1vZHVsZSBkb20tbW9kdWxlIGVsZW1lbnQgdGhhdCBjb3VsZCBjb250YWluIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIHN0eWxlcwogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MU3R5bGVFbGVtZW50Pn0gQXJyYXkgb2YgY29udGFpbmVkIHN0eWxlcwogICAgICovCiAgICBfc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobW9kdWxlKSB7CiAgICAgIGNvbnN0IHN0eWxlcyA9IFtdOwogICAgICBjb25zdCBwJCA9IG1vZHVsZS5xdWVyeVNlbGVjdG9yQWxsKE1PRFVMRV9TVFlMRV9MSU5LX1NFTEVDVE9SKTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgcCQubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgcCA9IHAkW2ldOwogICAgICAgIGlmIChwLmltcG9ydCkgewogICAgICAgICAgY29uc3QgaW1wb3J0RG9jID0gcC5pbXBvcnQ7CiAgICAgICAgICBjb25zdCB1bnNjb3BlZCA9IHAuaGFzQXR0cmlidXRlKFNIQURZX1VOU0NPUEVEX0FUVFIpOwogICAgICAgICAgaWYgKHVuc2NvcGVkICYmICFpbXBvcnREb2MuX3Vuc2NvcGVkU3R5bGUpIHsKICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSBzdHlsZUZvckltcG9ydChpbXBvcnREb2MpOwogICAgICAgICAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoU0hBRFlfVU5TQ09QRURfQVRUUiwgJycpOwogICAgICAgICAgICBpbXBvcnREb2MuX3Vuc2NvcGVkU3R5bGUgPSBzdHlsZTsKICAgICAgICAgIH0gZWxzZSBpZiAoIWltcG9ydERvYy5fc3R5bGUpIHsKICAgICAgICAgICAgaW1wb3J0RG9jLl9zdHlsZSA9IHN0eWxlRm9ySW1wb3J0KGltcG9ydERvYyk7CiAgICAgICAgICB9CiAgICAgICAgICBzdHlsZXMucHVzaCh1bnNjb3BlZCA/IGltcG9ydERvYy5fdW5zY29wZWRTdHlsZSA6IGltcG9ydERvYy5fc3R5bGUpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc3R5bGVzOwogICAgfSwKCiAgICAvKioKICAgICAqCiAgICAgKiBSZXR1cm5zIENTUyB0ZXh0IG9mIHN0eWxlcyBpbiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGBkb20tbW9kdWxlYHMuCiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgYHN0eWxlc0Zyb21Nb2R1bGVzYCBpbnN0ZWFkLgogICAgICoKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZUlkcyBMaXN0IG9mIGRvbS1tb2R1bGUgaWQncyB3aXRoaW4gd2hpY2ggdG8KICAgICAqIHNlYXJjaCBmb3IgY3NzLgogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgcwogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICovCiAgICAgY3NzRnJvbU1vZHVsZXMobW9kdWxlSWRzKSB7CiAgICAgIGxldCBtb2R1bGVzID0gbW9kdWxlSWRzLnRyaW0oKS5zcGxpdCgvXHMrLyk7CiAgICAgIGxldCBjc3NUZXh0ID0gJyc7CiAgICAgIGZvciAobGV0IGk9MDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBjc3NUZXh0ICs9IHRoaXMuY3NzRnJvbU1vZHVsZShtb2R1bGVzW2ldKTsKICAgICAgfQogICAgICByZXR1cm4gY3NzVGV4dDsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIENTUyB0ZXh0IG9mIHN0eWxlcyBpbiBhIGdpdmVuIGBkb20tbW9kdWxlYC4gIENTUyBpbiBhIGBkb20tbW9kdWxlYAogICAgICogY2FuIGNvbWUgZWl0aGVyIGZyb20gYDxzdHlsZT5gcyB3aXRoaW4gdGhlIGZpcnN0IGA8dGVtcGxhdGU+YCwgb3IgZWxzZQogICAgICogZnJvbSBvbmUgb3IgbW9yZSBgPGxpbmsgcmVsPSJpbXBvcnQiIHR5cGU9ImNzcyI+YCBsaW5rcyBvdXRzaWRlIHRoZQogICAgICogdGVtcGxhdGUuCiAgICAgKgogICAgICogQW55IGA8c3R5bGVzPmAgcHJvY2Vzc2VkIGFyZSByZW1vdmVkIGZyb20gdGhlaXIgb3JpZ2luYWwgbG9jYXRpb24uCiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgYHN0eWxlRnJvbU1vZHVsZWAgaW5zdGVhZC4KICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICogQG1lbWJlcm9mIFBvbHltZXIuU3R5bGVHYXRoZXIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVJZCBkb20tbW9kdWxlIGlkIHRvIGdhdGhlciBzdHlsZXMgZnJvbQogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIGNzc0Zyb21Nb2R1bGUobW9kdWxlSWQpIHsKICAgICAgbGV0IG0gPSBpbXBvcnRNb2R1bGUobW9kdWxlSWQpOwogICAgICBpZiAobSAmJiBtLl9jc3NUZXh0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAvLyBtb2R1bGUgaW1wb3J0czogPGxpbmsgcmVsPSJpbXBvcnQiIHR5cGU9ImNzcyI+CiAgICAgICAgbGV0IGNzc1RleHQgPSB0aGlzLl9jc3NGcm9tTW9kdWxlSW1wb3J0cyhtKTsKICAgICAgICAvLyBpbmNsdWRlIGNzcyBmcm9tIHRoZSBmaXJzdCB0ZW1wbGF0ZSBpbiB0aGUgbW9kdWxlCiAgICAgICAgbGV0IHQgPSBtLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CiAgICAgICAgaWYgKHQpIHsKICAgICAgICAgIGNzc1RleHQgKz0gdGhpcy5jc3NGcm9tVGVtcGxhdGUodCwKICAgICAgICAgICAgLyoqIEB0eXBlIHt0ZW1wbGF0ZVdpdGhBc3NldFBhdGh9ICovKG0pLmFzc2V0cGF0aCk7CiAgICAgICAgfQogICAgICAgIG0uX2Nzc1RleHQgPSBjc3NUZXh0IHx8IG51bGw7CiAgICAgIH0KICAgICAgaWYgKCFtKSB7CiAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCcsIG1vZHVsZUlkKTsKICAgICAgfQogICAgICByZXR1cm4gbSAmJiBtLl9jc3NUZXh0IHx8ICcnOwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgQ1NTIHRleHQgb2YgYDxzdHlsZXM+YCB3aXRoaW4gYSBnaXZlbiB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBBbnkgYDxzdHlsZXM+YCBwcm9jZXNzZWQgYXJlIHJlbW92ZWQgZnJvbSB0aGVpciBvcmlnaW5hbCBsb2NhdGlvbi4KICAgICAqIE5vdGU6IFRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQsIHVzZSBgc3R5bGVGcm9tVGVtcGxhdGVgIGluc3RlYWQuCiAgICAgKgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBnYXRoZXIgc3R5bGVzIGZyb20KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlc29sdmUgdGhlIFVSTCBhZ2FpbnN0CiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IENvbmNhdGVuYXRlZCBDU1MgY29udGVudCBmcm9tIHNwZWNpZmllZCB0ZW1wbGF0ZQogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICovCiAgICBjc3NGcm9tVGVtcGxhdGUodGVtcGxhdGUsIGJhc2VVUkkpIHsKICAgICAgbGV0IGNzc1RleHQgPSAnJzsKICAgICAgY29uc3QgZSQgPSB0aGlzLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSwgYmFzZVVSSSk7CiAgICAgIC8vIGlmIGVsZW1lbnQgaXMgYSB0ZW1wbGF0ZSwgZ2V0IGNvbnRlbnQgZnJvbSBpdHMgLmNvbnRlbnQKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgZSQubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgZSA9IGUkW2ldOwogICAgICAgIGlmIChlLnBhcmVudE5vZGUpIHsKICAgICAgICAgIGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTsKICAgICAgICB9CiAgICAgICAgY3NzVGV4dCArPSBlLnRleHRDb250ZW50OwogICAgICB9CiAgICAgIHJldHVybiBjc3NUZXh0OwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgQ1NTIHRleHQgZnJvbSBzdHlsZXNoZWV0cyBsb2FkZWQgdmlhIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gCiAgICAgKiBsaW5rcyB3aXRoaW4gdGhlIHNwZWNpZmllZCBgZG9tLW1vZHVsZWAuCiAgICAgKgogICAgICogTm90ZTogVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgdXNlIGBzdHlsZXNGcm9tTW9kdWxlSW1wb3J0c2AgaW5zdGVhZC4KICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlSWQgSWQgb2YgYGRvbS1tb2R1bGVgIHRvIGdhdGhlciBDU1MgZnJvbQogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBsaW5rcyBpbiBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIGNzc0Zyb21Nb2R1bGVJbXBvcnRzKG1vZHVsZUlkKSB7CiAgICAgIGxldCBtID0gaW1wb3J0TW9kdWxlKG1vZHVsZUlkKTsKICAgICAgcmV0dXJuIG0gPyB0aGlzLl9jc3NGcm9tTW9kdWxlSW1wb3J0cyhtKSA6ICcnOwogICAgfSwKCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG1vZHVsZSBkb20tbW9kdWxlIGVsZW1lbnQgdGhhdCBjb3VsZCBjb250YWluIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIHN0eWxlcwogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBsaW5rcyBpbiB0aGUgZG9tLW1vZHVsZQogICAgICovCiAgICAgX2Nzc0Zyb21Nb2R1bGVJbXBvcnRzKG1vZHVsZSkgewogICAgICBsZXQgY3NzVGV4dCA9ICcnOwogICAgICBsZXQgc3R5bGVzID0gdGhpcy5fc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobW9kdWxlKTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY3NzVGV4dCArPSBzdHlsZXNbaV0udGV4dENvbnRlbnQ7CiAgICAgIH0KICAgICAgcmV0dXJuIGNzc1RleHQ7CiAgICB9CiAgfTsKCiAgUG9seW1lci5TdHlsZUdhdGhlciA9IFN0eWxlR2F0aGVyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGxldCBtb2R1bGVzID0ge307CiAgbGV0IGxjTW9kdWxlcyA9IHt9OwogIGZ1bmN0aW9uIHNldE1vZHVsZShpZCwgbW9kdWxlKSB7CiAgICAvLyBzdG9yZSBpZCBzZXBhcmF0ZSBmcm9tIGxvd2VyY2FzZWQgaWQgc28gdGhhdAogICAgLy8gaW4gYWxsIGNhc2VzIG1peGVkQ2FzZSBpZCB3aWxsIHN0b3JlZCBkaXN0aW5jdGx5CiAgICAvLyBhbmQgbG93ZXJjYXNlIHZlcnNpb24gaXMgYSBmYWxsYmFjawogICAgbW9kdWxlc1tpZF0gPSBsY01vZHVsZXNbaWQudG9Mb3dlckNhc2UoKV0gPSBtb2R1bGU7CiAgfQogIGZ1bmN0aW9uIGZpbmRNb2R1bGUoaWQpIHsKICAgIHJldHVybiBtb2R1bGVzW2lkXSB8fCBsY01vZHVsZXNbaWQudG9Mb3dlckNhc2UoKV07CiAgfQoKICBmdW5jdGlvbiBzdHlsZU91dHNpZGVUZW1wbGF0ZUNoZWNrKGluc3QpIHsKICAgIGlmIChpbnN0LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJykpIHsKICAgICAgY29uc29sZS53YXJuKCdkb20tbW9kdWxlICVzIGhhcyBzdHlsZSBvdXRzaWRlIHRlbXBsYXRlJywgaW5zdC5pZCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBUaGUgYGRvbS1tb2R1bGVgIGVsZW1lbnQgcmVnaXN0ZXJzIHRoZSBkb20gaXQgY29udGFpbnMgdG8gdGhlIG5hbWUgZ2l2ZW4KICAgKiBieSB0aGUgbW9kdWxlJ3MgaWQgYXR0cmlidXRlLiBJdCBwcm92aWRlcyBhIHVuaWZpZWQgZGF0YWJhc2Ugb2YgZG9tCiAgICogYWNjZXNzaWJsZSB2aWEgaXRzIHN0YXRpYyBgaW1wb3J0YCBBUEkuCiAgICoKICAgKiBBIGtleSB1c2UgY2FzZSBvZiBgZG9tLW1vZHVsZWAgaXMgZm9yIHByb3ZpZGluZyBjdXN0b20gZWxlbWVudCBgPHRlbXBsYXRlPmBzCiAgICogdmlhIEhUTUwgaW1wb3J0cyB0aGF0IGFyZSBwYXJzZWQgYnkgdGhlIG5hdGl2ZSBIVE1MIHBhcnNlciwgdGhhdCBjYW4gYmUKICAgKiByZWxvY2F0ZWQgZHVyaW5nIGEgYnVuZGxpbmcgcGFzcyBhbmQgc3RpbGwgbG9va2VkIHVwIGJ5IGBpZGAuCiAgICoKICAgKiBFeGFtcGxlOgogICAqCiAgICogICAgIDxkb20tbW9kdWxlIGlkPSJmb28iPgogICAqICAgICAgIDxpbWcgc3JjPSJzdHVmZi5wbmciPgogICAqICAgICA8L2RvbS1tb2R1bGU+CiAgICoKICAgKiBUaGVuIGluIGNvZGUgaW4gc29tZSBvdGhlciBsb2NhdGlvbiB0aGF0IGNhbm5vdCBhY2Nlc3MgdGhlIGRvbS1tb2R1bGUgYWJvdmUKICAgKgogICAqICAgICBsZXQgaW1nID0gY3VzdG9tRWxlbWVudHMuZ2V0KCdkb20tbW9kdWxlJykuaW1wb3J0KCdmb28nLCAnaW1nJyk7CiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIEhUTUxFbGVtZW50CiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0aGF0IHByb3ZpZGVzIGEgcmVnaXN0cnkgb2YgcmVsb2NhdGFibGUgRE9NIGNvbnRlbnQKICAgKiAgIGJ5IGBpZGAgdGhhdCBpcyBhZ25vc3RpYyB0byBidW5kbGluZy4KICAgKiBAdW5yZXN0cmljdGVkCiAgICovCiAgY2xhc3MgRG9tTW9kdWxlIGV4dGVuZHMgSFRNTEVsZW1lbnQgewoKICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgeyByZXR1cm4gWydpZCddOyB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZXMgdGhlIGVsZW1lbnQgc3BlY2lmaWVkIGJ5IHRoZSBjc3MgYHNlbGVjdG9yYCBpbiB0aGUgbW9kdWxlCiAgICAgKiByZWdpc3RlcmVkIGJ5IGBpZGAuIEZvciBleGFtcGxlLCB0aGlzLmltcG9ydCgnZm9vJywgJ2ltZycpOwogICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBpZCBvZiB0aGUgZG9tLW1vZHVsZSBpbiB3aGljaCB0byBzZWFyY2guCiAgICAgKiBAcGFyYW0ge3N0cmluZz19IHNlbGVjdG9yIFRoZSBjc3Mgc2VsZWN0b3IgYnkgd2hpY2ggdG8gZmluZCB0aGUgZWxlbWVudC4KICAgICAqIEByZXR1cm4ge0VsZW1lbnR9IFJldHVybnMgdGhlIGVsZW1lbnQgd2hpY2ggbWF0Y2hlcyBgc2VsZWN0b3JgIGluIHRoZQogICAgICogbW9kdWxlIHJlZ2lzdGVyZWQgYXQgdGhlIHNwZWNpZmllZCBgaWRgLgogICAgICovCiAgICBzdGF0aWMgaW1wb3J0KGlkLCBzZWxlY3RvcikgewogICAgICBpZiAoaWQpIHsKICAgICAgICBsZXQgbSA9IGZpbmRNb2R1bGUoaWQpOwogICAgICAgIGlmIChtICYmIHNlbGVjdG9yKSB7CiAgICAgICAgICByZXR1cm4gbS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG07CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi8KICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUuCiAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG9sZCBPbGQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICogQHBhcmFtIHs/c3RyaW5nfSB2YWx1ZSBDdXJyZW50IHZhbHVlIG9mIGF0dHJpYnV0ZS4KICAgICAqIEBwYXJhbSB7P3N0cmluZ30gbmFtZXNwYWNlIEF0dHJpYnV0ZSBuYW1lc3BhY2UuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSwgbmFtZXNwYWNlKSB7CiAgICAgIGlmIChvbGQgIT09IHZhbHVlKSB7CiAgICAgICAgdGhpcy5yZWdpc3RlcigpOwogICAgICB9CiAgICB9CiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC1hcmdzICovCgogICAgLyoqCiAgICAgKiBUaGUgYWJzb2x1dGUgVVJMIG9mIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiBvZiB0aGlzIGBkb20tbW9kdWxlYC4KICAgICAqCiAgICAgKiBUaGlzIHZhbHVlIHdpbGwgZGlmZmVyIGZyb20gdGhpcyBlbGVtZW50J3MgYG93bmVyRG9jdW1lbnRgIGluIHRoZQogICAgICogZm9sbG93aW5nIHdheXM6CiAgICAgKiAtIFRha2VzIGludG8gYWNjb3VudCBhbnkgYGFzc2V0cGF0aGAgYXR0cmlidXRlIGFkZGVkIGR1cmluZyBidW5kbGluZwogICAgICogICB0byBpbmRpY2F0ZSB0aGUgb3JpZ2luYWwgbG9jYXRpb24gcmVsYXRpdmUgdG8gdGhlIGJ1bmRsZWQgbG9jYXRpb24KICAgICAqIC0gVXNlcyB0aGUgSFRNTEltcG9ydHMgcG9seWZpbGwncyBgaW1wb3J0Rm9yRWxlbWVudGAgQVBJIHRvIGVuc3VyZQogICAgICogICB0aGUgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgaW1wb3J0IGRvY3VtZW50J3MgbG9jYXRpb24gc2luY2UKICAgICAqICAgYG93bmVyRG9jdW1lbnRgIGlzIG5vdCBjdXJyZW50bHkgcG9seWZpbGxlZAogICAgICovCiAgICBnZXQgYXNzZXRwYXRoKCkgewogICAgICAvLyBEb24ndCBvdmVycmlkZSBleGlzdGluZyBhc3NldHBhdGguCiAgICAgIGlmICghdGhpcy5fX2Fzc2V0cGF0aCkgewogICAgICAgIC8vIG5vdGU6IGFzc2V0cGF0aCBzZXQgdmlhIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIHJlbGF0aXZlIHRvIHRoaXMKICAgICAgICAvLyBlbGVtZW50J3MgbG9jYXRpb247IGFjY29tb2RhdGUgcG9seWZpbGxlZCBIVE1MSW1wb3J0cwogICAgICAgIGNvbnN0IG93bmVyID0gd2luZG93LkhUTUxJbXBvcnRzICYmIEhUTUxJbXBvcnRzLmltcG9ydEZvckVsZW1lbnQgPwogICAgICAgICAgSFRNTEltcG9ydHMuaW1wb3J0Rm9yRWxlbWVudCh0aGlzKSB8fCBkb2N1bWVudCA6IHRoaXMub3duZXJEb2N1bWVudDsKICAgICAgICBjb25zdCB1cmwgPSBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybCgKICAgICAgICAgIHRoaXMuZ2V0QXR0cmlidXRlKCdhc3NldHBhdGgnKSB8fCAnJywgb3duZXIuYmFzZVVSSSk7CiAgICAgICAgdGhpcy5fX2Fzc2V0cGF0aCA9IFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybCh1cmwpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLl9fYXNzZXRwYXRoOwogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIHRoZSBkb20tbW9kdWxlIGF0IGEgZ2l2ZW4gaWQuIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZAogICAgICogd2hlbiBhIGRvbS1tb2R1bGUgaXMgaW1wZXJhdGl2ZWx5IGNyZWF0ZWQuIEZvcgogICAgICogZXhhbXBsZSwgYGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RvbS1tb2R1bGUnKS5yZWdpc3RlcignZm9vJylgLgogICAgICogQHBhcmFtIHtzdHJpbmc9fSBpZCBUaGUgaWQgYXQgd2hpY2ggdG8gcmVnaXN0ZXIgdGhlIGRvbS1tb2R1bGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZWdpc3RlcihpZCkgewogICAgICBpZCA9IGlkIHx8IHRoaXMuaWQ7CiAgICAgIGlmIChpZCkgewogICAgICAgIC8vIFVuZGVyIHN0cmljdFRlbXBsYXRlUG9saWN5LCByZWplY3QgYW5kIG51bGwgb3V0IGFueSByZS1yZWdpc3RlcmVkCiAgICAgICAgLy8gZG9tLW1vZHVsZSBzaW5jZSBpdCBpcyBhbWJpZ3VvdXMgd2hldGhlciBmaXJzdC1pbiBvciBsYXN0LWluIGlzIHRydXN0ZWQgCiAgICAgICAgaWYgKFBvbHltZXIuc3RyaWN0VGVtcGxhdGVQb2xpY3kgJiYgZmluZE1vZHVsZShpZCkgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgc2V0TW9kdWxlKGlkLCBudWxsKTsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgc3RyaWN0VGVtcGxhdGVQb2xpY3k6IGRvbS1tb2R1bGUgJHtpZH0gcmUtcmVnaXN0ZXJlZGApOwogICAgICAgIH0KICAgICAgICB0aGlzLmlkID0gaWQ7CiAgICAgICAgc2V0TW9kdWxlKGlkLCB0aGlzKTsKICAgICAgICBzdHlsZU91dHNpZGVUZW1wbGF0ZUNoZWNrKHRoaXMpOwogICAgICB9CiAgICB9CiAgfQoKICBEb21Nb2R1bGUucHJvdG90eXBlWydtb2R1bGVzJ10gPSBtb2R1bGVzOwoKICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2RvbS1tb2R1bGUnLCBEb21Nb2R1bGUpOwoKICAvKiogQGNvbnN0ICovCiAgUG9seW1lci5Eb21Nb2R1bGUgPSBEb21Nb2R1bGU7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgbWFuaXB1bGF0aW5nIHN0cnVjdHVyZWQgZGF0YSBwYXRoIHN0cmluZ3MuCiAgICoKICAgKiBAbmFtZXNwYWNlCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBNb2R1bGUgd2l0aCB1dGlsaXRpZXMgZm9yIG1hbmlwdWxhdGluZyBzdHJ1Y3R1cmVkIGRhdGEgcGF0aCBzdHJpbmdzLgogICAqLwogIGNvbnN0IFBhdGggPSB7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHN0cmluZyBpcyBhIHN0cnVjdHVyZWQgZGF0YSBwYXRoIChoYXMgZG90cykuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5pc1BhdGgoJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzUGF0aCgnZm9vJykgICAgICAgICAvLyBmYWxzZQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIHN0cmluZyBjb250YWluZWQgb25lIG9yIG1vcmUgZG90cwogICAgICovCiAgICBpc1BhdGg6IGZ1bmN0aW9uKHBhdGgpIHsKICAgICAgcmV0dXJuIHBhdGguaW5kZXhPZignLicpID49IDA7CiAgICB9LAoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcm9vdCBwcm9wZXJ0eSBuYW1lIGZvciB0aGUgZ2l2ZW4gcGF0aC4KICAgICAqCiAgICAgKiBFeGFtcGxlOgogICAgICoKICAgICAqIGBgYAogICAgICogUG9seW1lci5QYXRoLnJvb3QoJ2Zvby5iYXIuYmF6JykgLy8gJ2ZvbycKICAgICAqIFBvbHltZXIuUGF0aC5yb290KCdmb28nKSAgICAgICAgIC8vICdmb28nCiAgICAgKiBgYGAKICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5QYXRoCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBQYXRoIHN0cmluZwogICAgICogQHJldHVybiB7c3RyaW5nfSBSb290IHByb3BlcnR5IG5hbWUKICAgICAqLwogICAgcm9vdDogZnVuY3Rpb24ocGF0aCkgewogICAgICBsZXQgZG90SW5kZXggPSBwYXRoLmluZGV4T2YoJy4nKTsKICAgICAgaWYgKGRvdEluZGV4ID09PSAtMSkgewogICAgICAgIHJldHVybiBwYXRoOwogICAgICB9CiAgICAgIHJldHVybiBwYXRoLnNsaWNlKDAsIGRvdEluZGV4KTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBHaXZlbiBgYmFzZWAgaXMgYGZvby5iYXJgLCBgZm9vYCBpcyBhbiBhbmNlc3RvciwgYGZvby5iYXJgIGlzIG5vdAogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBwYXRoIGlzIGFuIGFuY2VzdG9yIG9mIHRoZSBiYXNlIHBhdGguCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5pc0FuY2VzdG9yKCdmb28uYmFyJywgJ2ZvbycpICAgICAgICAgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzQW5jZXN0b3IoJ2Zvby5iYXInLCAnZm9vLmJhcicpICAgICAvLyBmYWxzZQogICAgICogUG9seW1lci5QYXRoLmlzQW5jZXN0b3IoJ2Zvby5iYXInLCAnZm9vLmJhci5iYXonKSAvLyBmYWxzZQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2UgUGF0aCBzdHJpbmcgdG8gdGVzdCBhZ2FpbnN0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcgdG8gdGVzdC4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYHBhdGhgIGlzIGFuIGFuY2VzdG9yIG9mIGBiYXNlYC4KICAgICAqLwogICAgaXNBbmNlc3RvcjogZnVuY3Rpb24oYmFzZSwgcGF0aCkgewogICAgICAvLyAgICAgYmFzZS5zdGFydHNXaXRoKHBhdGggKyAnLicpOwogICAgICByZXR1cm4gYmFzZS5pbmRleE9mKHBhdGggKyAnLicpID09PSAwOwogICAgfSwKCiAgICAvKioKICAgICAqIEdpdmVuIGBiYXNlYCBpcyBgZm9vLmJhcmAsIGBmb28uYmFyLmJhemAgaXMgYW4gZGVzY2VuZGFudAogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KCdmb28uYmFyJywgJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzRGVzY2VuZGFudCgnZm9vLmJhcicsICdmb28uYmFyJykgICAgIC8vIGZhbHNlCiAgICAgKiBQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KCdmb28uYmFyJywgJ2ZvbycpICAgICAgICAgLy8gZmFsc2UKICAgICAqIGBgYAogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlBhdGgKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIFBhdGggc3RyaW5nIHRvIHRlc3QgYWdhaW5zdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggc3RyaW5nIHRvIHRlc3QuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBwYXRoYCBpcyBhIGRlc2NlbmRhbnQgb2YgYGJhc2VgLgogICAgICovCiAgICBpc0Rlc2NlbmRhbnQ6IGZ1bmN0aW9uKGJhc2UsIHBhdGgpIHsKICAgICAgLy8gICAgIHBhdGguc3RhcnRzV2l0aChiYXNlICsgJy4nKTsKICAgICAgcmV0dXJuIHBhdGguaW5kZXhPZihiYXNlICsgJy4nKSA9PT0gMDsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXBsYWNlcyBhIHByZXZpb3VzIGJhc2UgcGF0aCB3aXRoIGEgbmV3IGJhc2UgcGF0aCwgcHJlc2VydmluZyB0aGUKICAgICAqIHJlbWFpbmRlciBvZiB0aGUgcGF0aC4KICAgICAqCiAgICAgKiBVc2VyIG11c3QgZW5zdXJlIGBwYXRoYCBoYXMgYSBwcmVmaXggb2YgYGJhc2VgLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGgudHJhbnNsYXRlKCdmb28uYmFyJywgJ3pvdCcsICdmb28uYmFyLmJheicpIC8vICd6b3QuYmF6JwogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2UgQ3VycmVudCBiYXNlIHN0cmluZyB0byByZW1vdmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdCYXNlIE5ldyBiYXNlIHN0cmluZyB0byByZXBsYWNlIHdpdGgKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggdG8gdHJhbnNsYXRlCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRyYW5zbGF0ZWQgc3RyaW5nCiAgICAgKi8KICAgIHRyYW5zbGF0ZTogZnVuY3Rpb24oYmFzZSwgbmV3QmFzZSwgcGF0aCkgewogICAgICByZXR1cm4gbmV3QmFzZSArIHBhdGguc2xpY2UoYmFzZS5sZW5ndGgpOwogICAgfSwKCiAgICAvKioKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIFBhdGggc3RyaW5nIHRvIHRlc3QgYWdhaW5zdAogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcgdG8gdGVzdAogICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgcGF0aGAgaXMgZXF1YWwgdG8gYGJhc2VgCiAgICAgKiBAdGhpcyB7UGF0aH0KICAgICAqLwogICAgbWF0Y2hlczogZnVuY3Rpb24oYmFzZSwgcGF0aCkgewogICAgICByZXR1cm4gKGJhc2UgPT09IHBhdGgpIHx8CiAgICAgICAgICAgICB0aGlzLmlzQW5jZXN0b3IoYmFzZSwgcGF0aCkgfHwKICAgICAgICAgICAgIHRoaXMuaXNEZXNjZW5kYW50KGJhc2UsIHBhdGgpOwogICAgfSwKCiAgICAvKioKICAgICAqIENvbnZlcnRzIGFycmF5LWJhc2VkIHBhdGhzIHRvIGZsYXR0ZW5lZCBwYXRoLiAgU3RyaW5nLWJhc2VkIHBhdGhzCiAgICAgKiBhcmUgcmV0dXJuZWQgYXMtaXMuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5ub3JtYWxpemUoWydmb28uYmFyJywgMCwgJ2JheiddKSAgLy8gJ2Zvby5iYXIuMC5iYXonCiAgICAgKiBQb2x5bWVyLlBhdGgubm9ybWFsaXplKCdmb28uYmFyLjAuYmF6JykgICAgICAgIC8vICdmb28uYmFyLjAuYmF6JwogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggSW5wdXQgcGF0aAogICAgICogQHJldHVybiB7c3RyaW5nfSBGbGF0dGVuZWQgcGF0aAogICAgICovCiAgICBub3JtYWxpemU6IGZ1bmN0aW9uKHBhdGgpIHsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF0aCkpIHsKICAgICAgICBsZXQgcGFydHMgPSBbXTsKICAgICAgICBmb3IgKGxldCBpPTA7IGk8cGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgICAgbGV0IGFyZ3MgPSBwYXRoW2ldLnRvU3RyaW5nKCkuc3BsaXQoJy4nKTsKICAgICAgICAgIGZvciAobGV0IGo9MDsgajxhcmdzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIHBhcnRzLnB1c2goYXJnc1tqXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBwYXJ0cy5qb2luKCcuJyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhdGg7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBTcGxpdHMgYSBwYXRoIGludG8gYW4gYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuIEFjY2VwdHMgZWl0aGVyIGFycmF5cwogICAgICogb2YgcGF0aCBwYXJ0cyBvciBzdHJpbmdzLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGguc3BsaXQoWydmb28uYmFyJywgMCwgJ2JheiddKSAgLy8gWydmb28nLCAnYmFyJywgJzAnLCAnYmF6J10KICAgICAqIFBvbHltZXIuUGF0aC5zcGxpdCgnZm9vLmJhci4wLmJheicpICAgICAgICAvLyBbJ2ZvbycsICdiYXInLCAnMCcsICdiYXonXQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggSW5wdXQgcGF0aAogICAgICogQHJldHVybiB7IUFycmF5PHN0cmluZz59IEFycmF5IG9mIHBhdGggcGFydHMKICAgICAqIEB0aGlzIHtQYXRofQogICAgICogQHN1cHByZXNzIHtjaGVja1R5cGVzfQogICAgICovCiAgICBzcGxpdDogZnVuY3Rpb24ocGF0aCkgewogICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXRoKSkgewogICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZShwYXRoKS5zcGxpdCgnLicpOwogICAgICB9CiAgICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCkuc3BsaXQoJy4nKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZWFkcyBhIHZhbHVlIGZyb20gYSBwYXRoLiAgSWYgYW55IHN1Yi1wcm9wZXJ0eSBpbiB0aGUgcGF0aCBpcyBgdW5kZWZpbmVkYCwKICAgICAqIHRoaXMgbWV0aG9kIHJldHVybnMgYHVuZGVmaW5lZGAgKHdpbGwgbmV2ZXIgdGhyb3cuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtPYmplY3R9IHJvb3QgT2JqZWN0IGZyb20gd2hpY2ggdG8gZGVyZWZlcmVuY2UgcGF0aCBmcm9tCiAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIHJlYWQKICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gaW5mbyBJZiBhbiBvYmplY3QgaXMgcHJvdmlkZWQgdG8gYGluZm9gLCB0aGUgbm9ybWFsaXplZAogICAgICogIChmbGF0dGVuZWQpIHBhdGggd2lsbCBiZSBzZXQgdG8gYGluZm8ucGF0aGAuCiAgICAgKiBAcmV0dXJuIHsqfSBWYWx1ZSBhdCBwYXRoLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcGF0aCBjb3VsZCBub3QgYmUKICAgICAqICBmdWxseSBkZXJlZmVyZW5jZWQuCiAgICAgKiBAdGhpcyB7UGF0aH0KICAgICAqLwogICAgZ2V0OiBmdW5jdGlvbihyb290LCBwYXRoLCBpbmZvKSB7CiAgICAgIGxldCBwcm9wID0gcm9vdDsKICAgICAgbGV0IHBhcnRzID0gdGhpcy5zcGxpdChwYXRoKTsKICAgICAgLy8gTG9vcCBvdmVyIHBhdGggcGFydHNbMC4ubi0xXSBhbmQgZGVyZWZlcmVuY2UKICAgICAgZm9yIChsZXQgaT0wOyBpPHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKCFwcm9wKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGxldCBwYXJ0ID0gcGFydHNbaV07CiAgICAgICAgcHJvcCA9IHByb3BbcGFydF07CiAgICAgIH0KICAgICAgaWYgKGluZm8pIHsKICAgICAgICBpbmZvLnBhdGggPSBwYXJ0cy5qb2luKCcuJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHByb3A7CiAgICB9LAoKICAgIC8qKgogICAgICogU2V0cyBhIHZhbHVlIHRvIGEgcGF0aC4gIElmIGFueSBzdWItcHJvcGVydHkgaW4gdGhlIHBhdGggaXMgYHVuZGVmaW5lZGAsCiAgICAgKiB0aGlzIG1ldGhvZCB3aWxsIG5vLW9wLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlBhdGgKICAgICAqIEBwYXJhbSB7T2JqZWN0fSByb290IE9iamVjdCBmcm9tIHdoaWNoIHRvIGRlcmVmZXJlbmNlIHBhdGggZnJvbQogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggUGF0aCB0byBzZXQKICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0IHRvIHBhdGgKICAgICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gVGhlIG5vcm1hbGl6ZWQgdmVyc2lvbiBvZiB0aGUgaW5wdXQgcGF0aAogICAgICogQHRoaXMge1BhdGh9CiAgICAgKi8KICAgIHNldDogZnVuY3Rpb24ocm9vdCwgcGF0aCwgdmFsdWUpIHsKICAgICAgbGV0IHByb3AgPSByb290OwogICAgICBsZXQgcGFydHMgPSB0aGlzLnNwbGl0KHBhdGgpOwogICAgICBsZXQgbGFzdCA9IHBhcnRzW3BhcnRzLmxlbmd0aC0xXTsKICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHsKICAgICAgICAvLyBMb29wIG92ZXIgcGF0aCBwYXJ0c1swLi5uLTJdIGFuZCBkZXJlZmVyZW5jZQogICAgICAgIGZvciAobGV0IGk9MDsgaTxwYXJ0cy5sZW5ndGgtMTsgaSsrKSB7CiAgICAgICAgICBsZXQgcGFydCA9IHBhcnRzW2ldOwogICAgICAgICAgcHJvcCA9IHByb3BbcGFydF07CiAgICAgICAgICBpZiAoIXByb3ApIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyBTZXQgdmFsdWUgdG8gb2JqZWN0IGF0IGVuZCBvZiBwYXRoCiAgICAgICAgcHJvcFtsYXN0XSA9IHZhbHVlOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIFNpbXBsZSBwcm9wZXJ0eSBzZXQKICAgICAgICBwcm9wW3BhdGhdID0gdmFsdWU7CiAgICAgIH0KICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oJy4nKTsKICAgIH0KCiAgfTsKCiAgLyoqCiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSBzdHJ1Y3R1cmVkIGRhdGEgcGF0aCAoaGFzIGRvdHMpLgogICAqCiAgICogVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLiAgVXNlIGBQb2x5bWVyLlBhdGguaXNQYXRoYCBpbnN0ZWFkLgogICAqCiAgICogRXhhbXBsZToKICAgKgogICAqIGBgYAogICAqIFBvbHltZXIuUGF0aC5pc0RlZXAoJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAqIFBvbHltZXIuUGF0aC5pc0RlZXAoJ2ZvbycpICAgICAgICAgLy8gZmFsc2UKICAgKiBgYGAKICAgKgogICAqIEBkZXByZWNhdGVkCiAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggc3RyaW5nCiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgc3RyaW5nIGNvbnRhaW5lZCBvbmUgb3IgbW9yZSBkb3RzCiAgICovCiAgUGF0aC5pc0RlZXAgPSBQYXRoLmlzUGF0aDsKCiAgUG9seW1lci5QYXRoID0gUGF0aDsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgY2FzZU1hcCA9IHt9OwogIGNvbnN0IERBU0hfVE9fQ0FNRUwgPSAvLVthLXpdL2c7CiAgY29uc3QgQ0FNRUxfVE9fREFTSCA9IC8oW0EtWl0pL2c7CgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgY29udmVydGluZyBiZXR3ZWVuICJkYXNoLWNhc2UiIGFuZCAiY2FtZWxDYXNlIgogICAqIGlkZW50aWZpZXJzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIHRoYXQgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBjb252ZXJ0aW5nIGJldHdlZW4gImRhc2gtY2FzZSIKICAgKiAgIGFuZCAiY2FtZWxDYXNlIi4KICAgKi8KICBjb25zdCBDYXNlTWFwID0gewoKICAgIC8qKgogICAgICogQ29udmVydHMgImRhc2gtY2FzZSIgaWRlbnRpZmllciAoZS5nLiBgZm9vLWJhci1iYXpgKSB0byAiY2FtZWxDYXNlIgogICAgICogKGUuZy4gYGZvb0JhckJhemApLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkNhc2VNYXAKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkYXNoIERhc2gtY2FzZSBpZGVudGlmaWVyCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IENhbWVsLWNhc2UgcmVwcmVzZW50YXRpb24gb2YgdGhlIGlkZW50aWZpZXIKICAgICAqLwogICAgZGFzaFRvQ2FtZWxDYXNlKGRhc2gpIHsKICAgICAgcmV0dXJuIGNhc2VNYXBbZGFzaF0gfHwgKAogICAgICAgIGNhc2VNYXBbZGFzaF0gPSBkYXNoLmluZGV4T2YoJy0nKSA8IDAgPyBkYXNoIDogZGFzaC5yZXBsYWNlKERBU0hfVE9fQ0FNRUwsCiAgICAgICAgICAobSkgPT4gbVsxXS50b1VwcGVyQ2FzZSgpCiAgICAgICAgKQogICAgICApOwogICAgfSwKCiAgICAvKioKICAgICAqIENvbnZlcnRzICJjYW1lbENhc2UiIGlkZW50aWZpZXIgKGUuZy4gYGZvb0JhckJhemApIHRvICJkYXNoLWNhc2UiCiAgICAgKiAoZS5nLiBgZm9vLWJhci1iYXpgKS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5DYXNlTWFwCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gY2FtZWwgQ2FtZWwtY2FzZSBpZGVudGlmaWVyCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IERhc2gtY2FzZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgaWRlbnRpZmllcgogICAgICovCiAgICBjYW1lbFRvRGFzaENhc2UoY2FtZWwpIHsKICAgICAgcmV0dXJuIGNhc2VNYXBbY2FtZWxdIHx8ICgKICAgICAgICBjYXNlTWFwW2NhbWVsXSA9IGNhbWVsLnJlcGxhY2UoQ0FNRUxfVE9fREFTSCwgJy0kMScpLnRvTG93ZXJDYXNlKCkKICAgICAgKTsKICAgIH0KCiAgfTsKCiAgUG9seW1lci5DYXNlTWFwID0gQ2FzZU1hcDsKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgLy8gTWljcm90YXNrIGltcGxlbWVudGVkIHVzaW5nIE11dGF0aW9uIE9ic2VydmVyCiAgbGV0IG1pY3JvdGFza0N1cnJIYW5kbGUgPSAwOwogIGxldCBtaWNyb3Rhc2tMYXN0SGFuZGxlID0gMDsKICBsZXQgbWljcm90YXNrQ2FsbGJhY2tzID0gW107CiAgbGV0IG1pY3JvdGFza05vZGVDb250ZW50ID0gMDsKICBsZXQgbWljcm90YXNrTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTsKICBuZXcgd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIobWljcm90YXNrRmx1c2gpLm9ic2VydmUobWljcm90YXNrTm9kZSwge2NoYXJhY3RlckRhdGE6IHRydWV9KTsKCiAgZnVuY3Rpb24gbWljcm90YXNrRmx1c2goKSB7CiAgICBjb25zdCBsZW4gPSBtaWNyb3Rhc2tDYWxsYmFja3MubGVuZ3RoOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICBsZXQgY2IgPSBtaWNyb3Rhc2tDYWxsYmFja3NbaV07CiAgICAgIGlmIChjYikgewogICAgICAgIHRyeSB7CiAgICAgICAgICBjYigpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aHJvdyBlOyB9KTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIG1pY3JvdGFza0NhbGxiYWNrcy5zcGxpY2UoMCwgbGVuKTsKICAgIG1pY3JvdGFza0xhc3RIYW5kbGUgKz0gbGVuOwogIH0KCiAgLyoqCiAgICogTW9kdWxlIHRoYXQgcHJvdmlkZXMgYSBudW1iZXIgb2Ygc3RyYXRlZ2llcyBmb3IgZW5xdWV1aW5nIGFzeW5jaHJvbm91cwogICAqIHRhc2tzLiAgRWFjaCBzdWItbW9kdWxlIHByb3ZpZGVzIGEgc3RhbmRhcmQgYHJ1bihmbilgIGludGVyZmFjZSB0aGF0IHJldHVybnMgYQogICAqIGhhbmRsZSwgYW5kIGEgYGNhbmNlbChoYW5kbGUpYCBpbnRlcmZhY2UgZm9yIGNhbmNlbGluZyBhc3luYyB0YXNrcyBiZWZvcmUKICAgKiB0aGV5IHJ1bi4KICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1vZHVsZSB0aGF0IHByb3ZpZGVzIGEgbnVtYmVyIG9mIHN0cmF0ZWdpZXMgZm9yIGVucXVldWluZyBhc3luY2hyb25vdXMKICAgKiB0YXNrcy4KICAgKi8KICBQb2x5bWVyLkFzeW5jID0gewoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGBzZXRUaW1lb3V0YC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGBzZXRUaW1lb3V0YC4KICAgICAqLwogICAgdGltZU91dDogewogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIHN1Yi1tb2R1bGUgd2l0aCB0aGUgYXN5bmMgaW50ZXJmYWNlIHByb3ZpZGluZyB0aGUgcHJvdmlkZWQKICAgICAgICogZGVsYXkuCiAgICAgICAqCiAgICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkFzeW5jLnRpbWVPdXQKICAgICAgICogQHBhcmFtIHtudW1iZXI9fSBkZWxheSBUaW1lIHRvIHdhaXQgYmVmb3JlIGNhbGxpbmcgY2FsbGJhY2tzIGluIG1zCiAgICAgICAqIEByZXR1cm4geyFBc3luY0ludGVyZmFjZX0gQW4gYXN5bmMgdGltZW91dCBpbnRlcmZhY2UKICAgICAgICovCiAgICAgIGFmdGVyKGRlbGF5KSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHJ1bihmbikgeyByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoZm4sIGRlbGF5KTsgfSwKICAgICAgICAgIGNhbmNlbChoYW5kbGUpIHsKICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChoYW5kbGUpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0sCiAgICAgIC8qKgogICAgICAgKiBFbnF1ZXVlcyBhIGZ1bmN0aW9uIGNhbGxlZCBpbiB0aGUgbmV4dCB0YXNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy50aW1lT3V0CiAgICAgICAqIEBwYXJhbSB7IUZ1bmN0aW9ufSBmbiBDYWxsYmFjayB0byBydW4KICAgICAgICogQHBhcmFtIHtudW1iZXI9fSBkZWxheSBEZWxheSBpbiBtaWxsaXNlY29uZHMKICAgICAgICogQHJldHVybiB7bnVtYmVyfSBIYW5kbGUgdXNlZCBmb3IgY2FuY2VsaW5nIHRhc2sKICAgICAgICovCiAgICAgIHJ1bihmbiwgZGVsYXkpIHsKICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoZm4sIGRlbGF5KTsKICAgICAgfSwKICAgICAgLyoqCiAgICAgICAqIENhbmNlbHMgYSBwcmV2aW91c2x5IGVucXVldWVkIGB0aW1lT3V0YCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMudGltZU91dAogICAgICAgKiBAcGFyYW0ge251bWJlcn0gaGFuZGxlIEhhbmRsZSByZXR1cm5lZCBmcm9tIGBydW5gIG9mIGNhbGxiYWNrIHRvIGNhbmNlbAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsKGhhbmRsZSkgewogICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoaGFuZGxlKTsKICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIEFzeW5jIGludGVyZmFjZSB3cmFwcGVyIGFyb3VuZCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgLgogICAgICovCiAgICBhbmltYXRpb25GcmFtZTogewogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgYHJlcXVlc3RBbmltYXRpb25GcmFtZWAgdGltaW5nLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5hbmltYXRpb25GcmFtZQogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG51bWJlcik6dm9pZH0gZm4gQ2FsbGJhY2sgdG8gcnVuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHVzZWQgZm9yIGNhbmNlbGluZyB0YXNrCiAgICAgICAqLwogICAgICBydW4oZm4pIHsKICAgICAgICByZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmbik7CiAgICAgIH0sCiAgICAgIC8qKgogICAgICAgKiBDYW5jZWxzIGEgcHJldmlvdXNseSBlbnF1ZXVlZCBgYW5pbWF0aW9uRnJhbWVgIGNhbGxiYWNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5hbmltYXRpb25GcmFtZQogICAgICAgKiBAcGFyYW0ge251bWJlcn0gaGFuZGxlIEhhbmRsZSByZXR1cm5lZCBmcm9tIGBydW5gIG9mIGNhbGxiYWNrIHRvIGNhbmNlbAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsKGhhbmRsZSkgewogICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShoYW5kbGUpOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4gIEZhbGxzIGJhY2sgdG8KICAgICAqIGBzZXRUaW1lb3V0YCBvbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4KICAgICAqLwogICAgaWRsZVBlcmlvZDogewogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgYHJlcXVlc3RJZGxlQ2FsbGJhY2tgIHRpbWluZy4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMuaWRsZVBlcmlvZAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFJZGxlRGVhZGxpbmUpOnZvaWR9IGZuIENhbGxiYWNrIHRvIHJ1bgogICAgICAgKiBAcmV0dXJuIHtudW1iZXJ9IEhhbmRsZSB1c2VkIGZvciBjYW5jZWxpbmcgdGFzawogICAgICAgKi8KICAgICAgcnVuKGZuKSB7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrID8KICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZuKSA6CiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmbiwgMTYpOwogICAgICB9LAogICAgICAvKioKICAgICAgICogQ2FuY2VscyBhIHByZXZpb3VzbHkgZW5xdWV1ZWQgYGlkbGVQZXJpb2RgIGNhbGxiYWNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5pZGxlUGVyaW9kCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gYHJ1bmAgb2YgY2FsbGJhY2sgdG8gY2FuY2VsCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjYW5jZWwoaGFuZGxlKSB7CiAgICAgICAgd2luZG93LmNhbmNlbElkbGVDYWxsYmFjayA/CiAgICAgICAgICB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrKGhhbmRsZSkgOgogICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChoYW5kbGUpOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIGZvciBlbnF1ZXVpbmcgY2FsbGJhY2tzIHRoYXQgcnVuIGF0IG1pY3JvdGFzayB0aW1pbmcuCiAgICAgKgogICAgICogTm90ZSB0aGF0IG1pY3JvdGFzayB0aW1pbmcgaXMgYWNoaWV2ZWQgdmlhIGEgc2luZ2xlIGBNdXRhdGlvbk9ic2VydmVyYCwKICAgICAqIGFuZCB0aHVzIGNhbGxiYWNrcyBlbnF1ZXVlZCB3aXRoIHRoaXMgQVBJIHdpbGwgYWxsIHJ1biBpbiBhIHNpbmdsZQogICAgICogYmF0Y2gsIGFuZCBub3QgaW50ZXJsZWF2ZWQgd2l0aCBvdGhlciBtaWNyb3Rhc2tzIHN1Y2ggYXMgcHJvbWlzZXMuCiAgICAgKiBQcm9taXNlcyBhcmUgYXZvaWRlZCBhcyBhbiBpbXBsZW1lbnRhdGlvbiBjaG9pY2UgZm9yIHRoZSB0aW1lIGJlaW5nCiAgICAgKiBkdWUgdG8gU2FmYXJpIGJ1Z3MgdGhhdCBjYXVzZSBQcm9taXNlcyB0byBsYWNrIG1pY3JvdGFzayBndWFyYW50ZWVzLgogICAgICoKICAgICAqIEBuYW1lc3BhY2UKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkFzeW5jCiAgICAgKiBAc3VtbWFyeSBBc3luYyBpbnRlcmZhY2UgZm9yIGVucXVldWluZyBjYWxsYmFja3MgdGhhdCBydW4gYXQgbWljcm90YXNrCiAgICAgKiAgIHRpbWluZy4KICAgICAqLwogICAgbWljcm9UYXNrOiB7CgogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgbWljcm90YXNrIHRpbWluZy4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAqIEBwYXJhbSB7IUZ1bmN0aW9uPX0gY2FsbGJhY2sgQ2FsbGJhY2sgdG8gcnVuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHVzZWQgZm9yIGNhbmNlbGluZyB0YXNrCiAgICAgICAqLwogICAgICBydW4oY2FsbGJhY2spIHsKICAgICAgICBtaWNyb3Rhc2tOb2RlLnRleHRDb250ZW50ID0gbWljcm90YXNrTm9kZUNvbnRlbnQrKzsKICAgICAgICBtaWNyb3Rhc2tDYWxsYmFja3MucHVzaChjYWxsYmFjayk7CiAgICAgICAgcmV0dXJuIG1pY3JvdGFza0N1cnJIYW5kbGUrKzsKICAgICAgfSwKCiAgICAgIC8qKgogICAgICAgKiBDYW5jZWxzIGEgcHJldmlvdXNseSBlbnF1ZXVlZCBgbWljcm9UYXNrYCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gYHJ1bmAgb2YgY2FsbGJhY2sgdG8gY2FuY2VsCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjYW5jZWwoaGFuZGxlKSB7CiAgICAgICAgY29uc3QgaWR4ID0gaGFuZGxlIC0gbWljcm90YXNrTGFzdEhhbmRsZTsKICAgICAgICBpZiAoaWR4ID49IDApIHsKICAgICAgICAgIGlmICghbWljcm90YXNrQ2FsbGJhY2tzW2lkeF0pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFzeW5jIGhhbmRsZTogJyArIGhhbmRsZSk7CiAgICAgICAgICB9CiAgICAgICAgICBtaWNyb3Rhc2tDYWxsYmFja3NbaWR4XSA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgfQogIH07Cgp9KSgpOwoKCiAgKGZ1bmN0aW9uICgpIHsKCiAgICAndXNlIHN0cmljdCc7CgogICAgLyoqIEBjb25zdCB7IUFzeW5jSW50ZXJmYWNlfSAqLwogICAgY29uc3QgbWljcm90YXNrID0gUG9seW1lci5Bc3luYy5taWNyb1Rhc2s7CgogICAgLyoqCiAgICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgYmFzaWMgbWV0YS1wcm9ncmFtbWluZyBmb3IgY3JlYXRpbmcgb25lCiAgICAgKiBvciBtb3JlIHByb3BlcnR5IGFjY2Vzc29ycyAoZ2V0dGVyL3NldHRlciBwYWlyKSB0aGF0IGVucXVldWUgYW4gYXN5bmMKICAgICAqIChiYXRjaGVkKSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgICAqCiAgICAgKiBGb3IgYmFzaWMgdXNhZ2Ugb2YgdGhpcyBtaXhpbiwgY2FsbCBgTXlDbGFzcy5jcmVhdGVQcm9wZXJ0aWVzKHByb3BzKWAKICAgICAqIG9uY2UgYXQgY2xhc3MgZGVmaW5pdGlvbiB0aW1lIHRvIGNyZWF0ZSBwcm9wZXJ0eSBhY2Nlc3NvcnMgZm9yIHByb3BlcnRpZXMKICAgICAqIG5hbWVkIGluIHByb3BzLCBpbXBsZW1lbnQgYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgdG8gcmVhY3QgYXMgZGVzaXJlZCB0bwogICAgICogcHJvcGVydHkgY2hhbmdlcywgYW5kIGltcGxlbWVudCBgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKWAgYW5kCiAgICAgKiBpbmNsdWRlIGxvd2VyY2FzZSB2ZXJzaW9ucyBvZiBhbnkgcHJvcGVydHkgbmFtZXMgdGhhdCBzaG91bGQgYmUgc2V0IGZyb20KICAgICAqIGF0dHJpYnV0ZXMuIExhc3QsIGNhbGwgYHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKWAgaW4gdGhlIGVsZW1lbnQncwogICAgICogYGNvbm5lY3RlZENhbGxiYWNrYCB0byBlbmFibGUgdGhlIGFjY2Vzc29ycy4KICAgICAqCiAgICAgKiBAbWl4aW5GdW5jdGlvbgogICAgICogQHBvbHltZXIKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIGZvciByZWFjdGluZyB0byBwcm9wZXJ0eSBjaGFuZ2VzIGZyb20KICAgICAqICAgZ2VuZXJhdGVkIHByb3BlcnR5IGFjY2Vzc29ycy4KICAgICAqLwogICAgUG9seW1lci5Qcm9wZXJ0aWVzQ2hhbmdlZCA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAgIC8qKgogICAgICAgKiBAcG9seW1lcgogICAgICAgKiBAbWl4aW5DbGFzcwogICAgICAgKiBAZXh0ZW5kcyB7c3VwZXJDbGFzc30KICAgICAgICogQGltcGxlbWVudHMge1BvbHltZXJfUHJvcGVydGllc0NoYW5nZWR9CiAgICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAgICovCiAgICAgIGNsYXNzIFByb3BlcnRpZXNDaGFuZ2VkIGV4dGVuZHMgc3VwZXJDbGFzcyB7CgogICAgICAgIC8qKgogICAgICAgICAqIENyZWF0ZXMgcHJvcGVydHkgYWNjZXNzb3JzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZXMuCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBwcm9wcyBPYmplY3Qgd2hvc2Uga2V5cyBhcmUgbmFtZXMgb2YgYWNjZXNzb3JzLgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICAgICAgICBjb25zdCBwcm90byA9IHRoaXMucHJvdG90eXBlOwogICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBwcm9wcykgewogICAgICAgICAgICAvLyBkb24ndCBzdG9tcCBhbiBleGlzdGluZyBhY2Nlc3NvcgogICAgICAgICAgICBpZiAoIShwcm9wIGluIHByb3RvKSkgewogICAgICAgICAgICAgIHByb3RvLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHByb3ApOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGF0dHJpYnV0ZSBuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIFRoZSBhdHRyaWJ1dGUgbmFtZSBpcyB0aGUgbG93ZXJjYXNlZCBwcm9wZXJ0eSBuYW1lLiBPdmVycmlkZSB0bwogICAgICAgICAqIGN1c3RvbWl6ZSB0aGlzIG1hcHBpbmcuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRvIGNvbnZlcnQKICAgICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEF0dHJpYnV0ZSBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICAgIHJldHVybiBwcm9wZXJ0eS50b0xvd2VyQ2FzZSgpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogT3ZlcnJpZGUgcG9pbnQgdG8gcHJvdmlkZSBhIHR5cGUgdG8gd2hpY2ggdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0bwogICAgICAgICAqIGEgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBwcm9wZXJ0eQogICAgICAgICAqCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyB0eXBlRm9yUHJvcGVydHkobmFtZSkgeyB9IC8vZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgc2V0dGVyL2dldHRlciBwYWlyIGZvciB0aGUgbmFtZWQgcHJvcGVydHkgd2l0aCBpdHMgb3duCiAgICAgICAgICogbG9jYWwgc3RvcmFnZS4gIFRoZSBnZXR0ZXIgcmV0dXJucyB0aGUgdmFsdWUgaW4gdGhlIGxvY2FsIHN0b3JhZ2UsCiAgICAgICAgICogYW5kIHRoZSBzZXR0ZXIgY2FsbHMgYF9zZXRQcm9wZXJ0eWAsIHdoaWNoIHVwZGF0ZXMgdGhlIGxvY2FsIHN0b3JhZ2UKICAgICAgICAgKiBmb3IgdGhlIHByb3BlcnR5IGFuZCBlbnF1ZXVlcyBhIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrLgogICAgICAgICAqCiAgICAgICAgICogVGhpcyBtZXRob2QgbWF5IGJlIGNhbGxlZCBvbiBhIHByb3RvdHlwZSBvciBhbiBpbnN0YW5jZS4gIENhbGxpbmcKICAgICAgICAgKiB0aGlzIG1ldGhvZCBtYXkgb3ZlcndyaXRlIGEgcHJvcGVydHkgdmFsdWUgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbgogICAgICAgICAqIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgYnkgY3JlYXRpbmcgdGhlIGFjY2Vzc29yLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5CiAgICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gcmVhZE9ubHkgV2hlbiB0cnVlLCBubyBzZXR0ZXIgaXMgY3JlYXRlZDsgdGhlCiAgICAgICAgICogICBwcm90ZWN0ZWQgYF9zZXRQcm9wZXJ0eWAgZnVuY3Rpb24gbXVzdCBiZSB1c2VkIHRvIHNldCB0aGUgcHJvcGVydHkKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpIHsKICAgICAgICAgIHRoaXMuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAocHJvcGVydHkpOwogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KCdfX2RhdGFIYXNBY2Nlc3NvcicpKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9fZGF0YUhhc0FjY2Vzc29yKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wZXJ0eV0pIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wZXJ0eV0gPSB0cnVlOwogICAgICAgICAgICB0aGlzLl9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHByb3BlcnR5LCByZWFkT25seSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBBZGRzIHRoZSBnaXZlbiBgcHJvcGVydHlgIHRvIGEgbWFwIG1hdGNoaW5nIGF0dHJpYnV0ZSBuYW1lcwogICAgICAgICAqIHRvIHByb3BlcnR5IG5hbWVzLCB1c2luZyBgYXR0cmlidXRlTmFtZUZvclByb3BlcnR5YC4gVGhpcyBtYXAgaXMKICAgICAgICAgKiB1c2VkIHdoZW4gZGVzZXJpYWxpemluZyBhdHRyaWJ1dGUgdmFsdWVzIHRvIHByb3BlcnRpZXMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICAgKi8KICAgICAgICBfYWRkUHJvcGVydHlUb0F0dHJpYnV0ZU1hcChwcm9wZXJ0eSkgewogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KCdfX2RhdGFBdHRyaWJ1dGVzJykpIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFBdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fX2RhdGFBdHRyaWJ1dGVzKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3Byb3BlcnR5XSkgewogICAgICAgICAgICBjb25zdCBhdHRyID0gdGhpcy5jb25zdHJ1Y3Rvci5hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkocHJvcGVydHkpOwogICAgICAgICAgICB0aGlzLl9fZGF0YUF0dHJpYnV0ZXNbYXR0cl0gPSBwcm9wZXJ0eTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIERlZmluZXMgYSBwcm9wZXJ0eSBhY2Nlc3NvciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IHJlYWRPbmx5IFdoZW4gdHJ1ZSwgbm8gc2V0dGVyIGlzIGNyZWF0ZWQKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgICBfZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpIHsKICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eSwgewogICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwogICAgICAgICAgICAvKiogQHRoaXMge1Byb3BlcnRpZXNDaGFuZ2VkfSAqLwogICAgICAgICAgICBnZXQoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldFByb3BlcnR5KHByb3BlcnR5KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLyoqIEB0aGlzIHtQcm9wZXJ0aWVzQ2hhbmdlZH0gKi8KICAgICAgICAgICAgc2V0OiByZWFkT25seSA/IGZ1bmN0aW9uICgpIHt9IDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgICAgdGhpcy5fc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgICAgc3VwZXIoKTsKICAgICAgICAgIHRoaXMuX19kYXRhRW5hYmxlZCA9IGZhbHNlOwogICAgICAgICAgdGhpcy5fX2RhdGFSZWFkeSA9IGZhbHNlOwogICAgICAgICAgdGhpcy5fX2RhdGFJbnZhbGlkID0gZmFsc2U7CiAgICAgICAgICB0aGlzLl9fZGF0YSA9IHt9OwogICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0gbnVsbDsKICAgICAgICAgIHRoaXMuX19kYXRhT2xkID0gbnVsbDsKICAgICAgICAgIHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyA9IG51bGw7CiAgICAgICAgICB0aGlzLl9fc2VyaWFsaXppbmcgPSBmYWxzZTsKICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBMaWZlY3ljbGUgY2FsbGJhY2sgY2FsbGVkIHdoZW4gcHJvcGVydGllcyBhcmUgZW5hYmxlZCB2aWEKICAgICAgICAgKiBgX2VuYWJsZVByb3BlcnRpZXNgLgogICAgICAgICAqCiAgICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGJlaGF2aW9yIHRoYXQgaXMKICAgICAgICAgKiBkZXBlbmRlbnQgb24gdGhlIGVsZW1lbnQgaGF2aW5nIGl0cyBwcm9wZXJ0eSBkYXRhIGluaXRpYWxpemVkLCBlLmcuCiAgICAgICAgICogZnJvbSBkZWZhdWx0cyAoaW5pdGlhbGl6ZWQgZnJvbSBgY29uc3RydWN0b3JgLCBgX2luaXRpYWxpemVQcm9wZXJ0aWVzYCksCiAgICAgICAgICogYGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFja2AsIG9yIHZhbHVlcyBwcm9wYWdhdGVkIGZyb20gaG9zdCBlLmcuIHZpYQogICAgICAgICAqIGJpbmRpbmdzLiAgYHN1cGVyLnJlYWR5KClgIG11c3QgYmUgY2FsbGVkIHRvIGVuc3VyZSB0aGUgZGF0YSBzeXN0ZW0KICAgICAgICAgKiBiZWNvbWVzIGVuYWJsZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqIEBwdWJsaWMKICAgICAgICAgKi8KICAgICAgICByZWFkeSgpIHsKICAgICAgICAgIHRoaXMuX19kYXRhUmVhZHkgPSB0cnVlOwogICAgICAgICAgdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBJbml0aWFsaXplcyB0aGUgbG9jYWwgc3RvcmFnZSBmb3IgcHJvcGVydHkgYWNjZXNzb3JzLgogICAgICAgICAqCiAgICAgICAgICogUHJvdmlkZWQgYXMgYW4gb3ZlcnJpZGUgcG9pbnQgZm9yIHBlcmZvcm1pbmcgYW55IHNldHVwIHdvcmsgcHJpb3IKICAgICAgICAgKiB0byBpbml0aWFsaXppbmcgdGhlIHByb3BlcnR5IGFjY2Vzc29yIHN5c3RlbS4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICAgIC8vIENhcHR1cmUgaW5zdGFuY2UgcHJvcGVydGllczsgdGhlc2Ugd2lsbCBiZSBzZXQgaW50byBhY2Nlc3NvcnMKICAgICAgICAgIC8vIGR1cmluZyBmaXJzdCBmbHVzaC4gRG9uJ3Qgc2V0IHRoZW0gaGVyZSwgc2luY2Ugd2Ugd2FudAogICAgICAgICAgLy8gdGhlc2UgdG8gb3ZlcndyaXRlIGRlZmF1bHRzL2NvbnN0cnVjdG9yIGFzc2lnbm1lbnRzCiAgICAgICAgICBmb3IgKGxldCBwIGluIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpIHsKICAgICAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkocCkpIHsKICAgICAgICAgICAgICB0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMgPSB0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMgfHwge307CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzW3BdID0gdGhpc1twXTsKICAgICAgICAgICAgICBkZWxldGUgdGhpc1twXTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ2FsbGVkIGF0IHJlYWR5IHRpbWUgd2l0aCBiYWcgb2YgaW5zdGFuY2UgcHJvcGVydGllcyB0aGF0IG92ZXJ3cm90ZQogICAgICAgICAqIGFjY2Vzc29ycyB3aGVuIHRoZSBlbGVtZW50IHVwZ3JhZGVkLgogICAgICAgICAqCiAgICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gc2V0cyB0aGVzZSBwcm9wZXJ0aWVzIGJhY2sgaW50byB0aGUKICAgICAgICAgKiBzZXR0ZXIgYXQgcmVhZHkgdGltZS4gIFRoaXMgbWV0aG9kIGlzIHByb3ZpZGVkIGFzIGFuIG92ZXJyaWRlCiAgICAgICAgICogcG9pbnQgZm9yIGN1c3RvbWl6aW5nIG9yIHByb3ZpZGluZyBtb3JlIGVmZmljaWVudCBpbml0aWFsaXphdGlvbi4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgcHJvcGVydHkgdmFsdWVzIHRoYXQgd2VyZSBvdmVyd3JpdHRlbgogICAgICAgICAqICAgd2hlbiBjcmVhdGluZyBwcm9wZXJ0eSBhY2Nlc3NvcnMuCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXMocHJvcHMpIHsKICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogVXBkYXRlcyB0aGUgbG9jYWwgc3RvcmFnZSBmb3IgYSBwcm9wZXJ0eSAodmlhIGBfc2V0UGVuZGluZ1Byb3BlcnR5YCkKICAgICAgICAgKiBhbmQgZW5xdWV1ZXMgYSBgX3Byb2VwcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpKSB7CiAgICAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHByb3BlcnR5CiAgICAgICAgICogQHJldHVybiB7Kn0gVmFsdWUgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eQogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICAgIHJldHVybiB0aGlzLl9fZGF0YVtwcm9wZXJ0eV07CiAgICAgICAgfQoKICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLwogICAgICAgIC8qKgogICAgICAgICAqIFVwZGF0ZXMgdGhlIGxvY2FsIHN0b3JhZ2UgZm9yIGEgcHJvcGVydHksIHJlY29yZHMgdGhlIHByZXZpb3VzIHZhbHVlLAogICAgICAgICAqIGFuZCBhZGRzIGl0IHRvIHRoZSBzZXQgb2YgInBlbmRpbmcgY2hhbmdlcyIgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUKICAgICAgICAgKiBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4gIFRoaXMgbWV0aG9kIGRvZXMgbm90IGVucXVldWUgdGhlCiAgICAgICAgICogYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgY2FsbGJhY2suCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldAogICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGV4dCBOb3QgdXNlZCBoZXJlOyBhZmZvcmRhbmNlIGZvciBjbG9zdXJlCiAgICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9zZXRQZW5kaW5nUHJvcGVydHkocHJvcGVydHksIHZhbHVlLCBleHQpIHsKICAgICAgICAgIGxldCBvbGQgPSB0aGlzLl9fZGF0YVtwcm9wZXJ0eV07CiAgICAgICAgICBsZXQgY2hhbmdlZCA9IHRoaXMuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHByb3BlcnR5LCB2YWx1ZSwgb2xkKTsKICAgICAgICAgIGlmIChjaGFuZ2VkKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFQZW5kaW5nKSB7CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0ge307CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBFbnN1cmUgb2xkIGlzIGNhcHR1cmVkIGZyb20gdGhlIGxhc3QgdHVybgogICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFPbGQgJiYgIShwcm9wZXJ0eSBpbiB0aGlzLl9fZGF0YU9sZCkpIHsKICAgICAgICAgICAgICB0aGlzLl9fZGF0YU9sZFtwcm9wZXJ0eV0gPSBvbGQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5fX2RhdGFbcHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZ1twcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjaGFuZ2VkOwogICAgICAgIH0KICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovCgogICAgICAgIC8qKgogICAgICAgICAqIE1hcmtzIHRoZSBwcm9wZXJ0aWVzIGFzIGludmFsaWQsIGFuZCBlbnF1ZXVlcyBhbiBhc3luYwogICAgICAgICAqIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrLgogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCkgewogICAgICAgICAgaWYgKCF0aGlzLl9fZGF0YUludmFsaWQgJiYgdGhpcy5fX2RhdGFSZWFkeSkgewogICAgICAgICAgICB0aGlzLl9fZGF0YUludmFsaWQgPSB0cnVlOwogICAgICAgICAgICBtaWNyb3Rhc2sucnVuKCgpID0+IHsKICAgICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFJbnZhbGlkKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9fZGF0YUludmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDYWxsIHRvIGVuYWJsZSBwcm9wZXJ0eSBhY2Nlc3NvciBwcm9jZXNzaW5nLiBCZWZvcmUgdGhpcyBtZXRob2QgaXMKICAgICAgICAgKiBjYWxsZWQgYWNjZXNzb3IgdmFsdWVzIHdpbGwgYmUgc2V0IGJ1dCBzaWRlIGVmZmVjdHMgYXJlCiAgICAgICAgICogcXVldWVkLiBXaGVuIGNhbGxlZCwgYW55IHBlbmRpbmcgc2lkZSBlZmZlY3RzIG9jY3VyIGltbWVkaWF0ZWx5LgogICAgICAgICAqIEZvciBlbGVtZW50cywgZ2VuZXJhbGx5IGBjb25uZWN0ZWRDYWxsYmFja2AgaXMgYSBub3JtYWwgc3BvdCB0byBkbyBzby4KICAgICAgICAgKiBJdCBpcyBzYWZlIHRvIGNhbGwgdGhpcyBtZXRob2QgbXVsdGlwbGUgdGltZXMgYXMgaXQgb25seSB0dXJucyBvbgogICAgICAgICAqIHByb3BlcnR5IGFjY2Vzc29ycyBvbmNlLgogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2VuYWJsZVByb3BlcnRpZXMoKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19kYXRhRW5hYmxlZCkgewogICAgICAgICAgICB0aGlzLl9fZGF0YUVuYWJsZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzKSB7CiAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUluc3RhbmNlUHJvcGVydGllcyh0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMpOwogICAgICAgICAgICAgIHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5yZWFkeSgpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ2FsbHMgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrIHdpdGggdGhlIGN1cnJlbnQgc2V0IG9mCiAgICAgICAgICogcGVuZGluZyBjaGFuZ2VzIChhbmQgb2xkIHZhbHVlcyByZWNvcmRlZCB3aGVuIHBlbmRpbmcgY2hhbmdlcyB3ZXJlCiAgICAgICAgICogc2V0KSwgYW5kIHJlc2V0cyB0aGUgcGVuZGluZyBzZXQgb2YgY2hhbmdlcy4gR2VuZXJhbGx5LCB0aGlzIG1ldGhvZAogICAgICAgICAqIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIHVzZXIgY29kZS4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9mbHVzaFByb3BlcnRpZXMoKSB7CiAgICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuX19kYXRhOwogICAgICAgICAgY29uc3QgY2hhbmdlZFByb3BzID0gdGhpcy5fX2RhdGFQZW5kaW5nOwogICAgICAgICAgY29uc3Qgb2xkID0gdGhpcy5fX2RhdGFPbGQ7CiAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkUHJvcGVydGllc0NoYW5nZShwcm9wcywgY2hhbmdlZFByb3BzLCBvbGQpKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZyA9IG51bGw7CiAgICAgICAgICAgIHRoaXMuX19kYXRhT2xkID0gbnVsbDsKICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllc0NoYW5nZWQocHJvcHMsIGNoYW5nZWRQcm9wcywgb2xkKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIENhbGxlZCBpbiBgX2ZsdXNoUHJvcGVydGllc2AgdG8gZGV0ZXJtaW5lIGlmIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAgICogc2hvdWxkIGJlIGNhbGxlZC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyB0cnVlIGlmCiAgICAgICAgICogcHJvcGVydGllcyBhcmUgcGVuZGluZy4gT3ZlcnJpZGUgdG8gY3VzdG9taXplIHdoZW4KICAgICAgICAgKiBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBpcyBjYWxsZWQuCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBjdXJyZW50UHJvcHMgQmFnIG9mIGFsbCBjdXJyZW50IGFjY2Vzc29yIHZhbHVlcwogICAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBwcm9wZXJ0aWVzIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QKICAgICAgICAgKiAgIGNhbGwgdG8gYF9wcm9wZXJ0aWVzQ2hhbmdlZGAKICAgICAgICAgKiBAcGFyYW0geyFPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGVhY2ggcHJvcGVydHkKICAgICAgICAgKiAgIGluIGBjaGFuZ2VkUHJvcHNgCiAgICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiBjaGFuZ2VkUHJvcHMgaXMgdHJ1dGh5CiAgICAgICAgICovCiAgICAgICAgX3Nob3VsZFByb3BlcnRpZXNDaGFuZ2UoY3VycmVudFByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgICAgICAgIHJldHVybiBCb29sZWFuKGNoYW5nZWRQcm9wcyk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDYWxsYmFjayBjYWxsZWQgd2hlbiBhbnkgcHJvcGVydGllcyB3aXRoIGFjY2Vzc29ycyBjcmVhdGVkIHZpYQogICAgICAgICAqIGBfY3JlYXRlUHJvcGVydHlBY2Nlc3NvcmAgaGF2ZSBiZWVuIHNldC4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY3VycmVudFByb3BzIEJhZyBvZiBhbGwgY3VycmVudCBhY2Nlc3NvciB2YWx1ZXMKICAgICAgICAgKiBAcGFyYW0geyFPYmplY3R9IGNoYW5nZWRQcm9wcyBCYWcgb2YgcHJvcGVydGllcyBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0CiAgICAgICAgICogICBjYWxsIHRvIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBlYWNoIHByb3BlcnR5CiAgICAgICAgICogICBpbiBgY2hhbmdlZFByb3BzYAogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9wcm9wZXJ0aWVzQ2hhbmdlZChjdXJyZW50UHJvcHMsIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogTWV0aG9kIGNhbGxlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZQogICAgICAgICAqIGNvbnNpZGVyZWQgYXMgYSBjaGFuZ2UgYW5kIGNhdXNlIHRoZSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjawogICAgICAgICAqIHRvIGJlIGVucXVldWVkLgogICAgICAgICAqCiAgICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBgdHJ1ZWAgaWYgYSBzdHJpY3QgZXF1YWxpdHkKICAgICAgICAgKiBjaGVjayBmYWlscy4gVGhlIG1ldGhvZCBhbHdheXMgcmV0dXJucyBmYWxzZSBmb3IgYE5hTmAuCiAgICAgICAgICoKICAgICAgICAgKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBlLmcuIHByb3ZpZGUgc3RyaWN0ZXIgY2hlY2tpbmcgZm9yCiAgICAgICAgICogT2JqZWN0cy9BcnJheXMgd2hlbiB1c2luZyBpbW11dGFibGUgcGF0dGVybnMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgTmV3IHByb3BlcnR5IHZhbHVlCiAgICAgICAgICogQHBhcmFtIHsqfSBvbGQgUHJldmlvdXMgcHJvcGVydHkgdmFsdWUKICAgICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICAgICAqICAgYW5kIGVucXVldWUgYSBgX3Byb2VwcnRpZXNDaGFuZ2VkYCBjYWxsYmFjawogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgICAgIHJldHVybiAoCiAgICAgICAgICAgIC8vIFN0cmljdCBlcXVhbGl0eSBjaGVjawogICAgICAgICAgICAob2xkICE9PSB2YWx1ZSAmJgogICAgICAgICAgICAgIC8vIFRoaXMgZW5zdXJlcyAob2xkPT1OYU4sIHZhbHVlPT1OYU4pIGFsd2F5cyByZXR1cm5zIGZhbHNlCiAgICAgICAgICAgICAgKG9sZCA9PT0gb2xkIHx8IHZhbHVlID09PSB2YWx1ZSkpCiAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogSW1wbGVtZW50cyBuYXRpdmUgQ3VzdG9tIEVsZW1lbnRzIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvCiAgICAgICAgICogc2V0IGFuIGF0dHJpYnV0ZSB2YWx1ZSB0byBhIHByb3BlcnR5IHZpYSBgX2F0dHJpYnV0ZVRvUHJvcGVydHlgLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUgdGhhdCBjaGFuZ2VkCiAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBvbGQgT2xkIGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gbmFtZXNwYWNlIEF0dHJpYnV0ZSBuYW1lc3BhY2UuCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBTdXBlciBtYXkgb3IgbWF5IG5vdCBpbXBsZW1lbnQgdGhlIGNhbGxiYWNrCiAgICAgICAgICovCiAgICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUsIG5hbWVzcGFjZSkgewogICAgICAgICAgaWYgKG9sZCAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgdGhpcy5fYXR0cmlidXRlVG9Qcm9wZXJ0eShuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKSB7CiAgICAgICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlLCBuYW1lc3BhY2UpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogRGVzZXJpYWxpemVzIGFuIGF0dHJpYnV0ZSB0byBpdHMgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KICAgICAgICAgKgogICAgICAgICAqIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSBgX2Rlc2VyaWFsaXplVmFsdWVgIG1ldGhvZCB0byBjb252ZXJ0IHRoZSBzdHJpbmcgdG8KICAgICAgICAgKiBhIHR5cGVkIHZhbHVlLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBOYW1lIG9mIGF0dHJpYnV0ZSB0byBkZXNlcmlhbGl6ZS4KICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAgICogQHBhcmFtIHsqPX0gdHlwZSB0eXBlIHRvIGRlc2VyaWFsaXplIHRvLCBkZWZhdWx0cyB0byB0aGUgdmFsdWUKICAgICAgICAgKiByZXR1cm5lZCBmcm9tIGB0eXBlRm9yUHJvcGVydHlgCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICBfYXR0cmlidXRlVG9Qcm9wZXJ0eShhdHRyaWJ1dGUsIHZhbHVlLCB0eXBlKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19zZXJpYWxpemluZykgewogICAgICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9fZGF0YUF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gbWFwICYmIG1hcFthdHRyaWJ1dGVdIHx8IGF0dHJpYnV0ZTsKICAgICAgICAgICAgdGhpc1twcm9wZXJ0eV0gPSB0aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlLCB0eXBlIHx8CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci50eXBlRm9yUHJvcGVydHkocHJvcGVydHkpKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFNlcmlhbGl6ZXMgYSBwcm9wZXJ0eSB0byBpdHMgYXNzb2NpYXRlZCBhdHRyaWJ1dGUuCiAgICAgICAgICoKICAgICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30gQ2xvc3VyZSBjYW4ndCBmaWd1cmUgb3V0IGB0aGlzYCBpcyBhbiBlbGVtZW50LgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUgdG8gcmVmbGVjdC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZz19IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byByZWZsZWN0IHRvLgogICAgICAgICAqIEBwYXJhbSB7Kj19IHZhbHVlIFByb3BlcnR5IHZhbHVlIHRvIHJlZmVjdC4KICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBhdHRyaWJ1dGUsIHZhbHVlKSB7CiAgICAgICAgICB0aGlzLl9fc2VyaWFsaXppbmcgPSB0cnVlOwogICAgICAgICAgdmFsdWUgPSAoYXJndW1lbnRzLmxlbmd0aCA8IDMpID8gdGhpc1twcm9wZXJ0eV0gOiB2YWx1ZTsKICAgICAgICAgIHRoaXMuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0aGlzKSwgdmFsdWUsCiAgICAgICAgICAgIGF0dHJpYnV0ZSB8fCB0aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShwcm9wZXJ0eSkpOwogICAgICAgICAgdGhpcy5fX3NlcmlhbGl6aW5nID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBTZXRzIGEgdHlwZWQgdmFsdWUgdG8gYW4gSFRNTCBhdHRyaWJ1dGUgb24gYSBub2RlLgogICAgICAgICAqCiAgICAgICAgICogVGhpcyBtZXRob2QgY2FsbHMgdGhlIGBfc2VyaWFsaXplVmFsdWVgIG1ldGhvZCB0byBjb252ZXJ0IHRoZSB0eXBlZAogICAgICAgICAqIHZhbHVlIHRvIGEgc3RyaW5nLiAgSWYgdGhlIGBfc2VyaWFsaXplVmFsdWVgIG1ldGhvZCByZXR1cm5zIGB1bmRlZmluZWRgLAogICAgICAgICAqIHRoZSBhdHRyaWJ1dGUgd2lsbCBiZSByZW1vdmVkICh0aGlzIGlzIHRoZSBkZWZhdWx0IGZvciBib29sZWFuCiAgICAgICAgICogdHlwZSBgZmFsc2VgKS4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIHNldCBhdHRyaWJ1dGUgdG8uCiAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemUuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byBzZXJpYWxpemUgdG8uCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICBfdmFsdWVUb05vZGVBdHRyaWJ1dGUobm9kZSwgdmFsdWUsIGF0dHJpYnV0ZSkgewogICAgICAgICAgY29uc3Qgc3RyID0gdGhpcy5fc2VyaWFsaXplVmFsdWUodmFsdWUpOwogICAgICAgICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHN0cik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDb252ZXJ0cyBhIHR5cGVkIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBzdHJpbmcuCiAgICAgICAgICoKICAgICAgICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBzZXR0aW5nIEpTIHByb3BlcnR5IHZhbHVlcyB0bwogICAgICAgICAqIEhUTUwgYXR0cmlidXRlcy4gIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlCiAgICAgICAgICogc2VyaWFsaXphdGlvbiBmb3IgY3VzdG9tIHR5cGVzLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBQcm9wZXJ0eSB2YWx1ZSB0byBzZXJpYWxpemUuCiAgICAgICAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBTdHJpbmcgc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZAogICAgICAgICAqIHByb3BlcnR5ICB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICBfc2VyaWFsaXplVmFsdWUodmFsdWUpIHsKICAgICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7CiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/ICcnIDogdW5kZWZpbmVkOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsID8gdmFsdWUudG9TdHJpbmcoKSA6IHVuZGVmaW5lZDsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICAgKgogICAgICAgICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHJlYWRpbmcgSFRNTCBhdHRyaWJ1dGUgdmFsdWVzIHRvCiAgICAgICAgICogSlMgcHJvcGVydGllcy4gIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlCiAgICAgICAgICogZGVzZXJpYWxpemF0aW9uIGZvciBjdXN0b20gYHR5cGVgcy4gVHlwZXMgZm9yIGBCb29sZWFuYCwgYFN0cmluZ2AsCiAgICAgICAgICogYW5kIGBOdW1iZXJgIGNvbnZlcnQgYXR0cmlidXRlcyB0byB0aGUgZXhwZWN0ZWQgdHlwZXMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplLgogICAgICAgICAqIEBwYXJhbSB7Kj19IHR5cGUgVHlwZSB0byBkZXNlcmlhbGl6ZSB0aGUgc3RyaW5nIHRvLgogICAgICAgICAqIEByZXR1cm4geyp9IFR5cGVkIHZhbHVlIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZCBzdHJpbmcuCiAgICAgICAgICovCiAgICAgICAgX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpIHsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlIEJvb2xlYW46CiAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSAhPT0gbnVsbCk7CiAgICAgICAgICAgIGNhc2UgTnVtYmVyOgogICAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICB9CgogICAgICByZXR1cm4gUHJvcGVydGllc0NoYW5nZWQ7CiAgICB9KTsKCgogIH0pKCk7CgoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgY2FzZU1hcCA9IFBvbHltZXIuQ2FzZU1hcDsKCiAgLy8gU2F2ZSBtYXAgb2YgbmF0aXZlIHByb3BlcnRpZXM7IHRoaXMgZm9ybXMgYSBibGFja2xpc3Qgb3IgcHJvcGVydGllcwogIC8vIHRoYXQgd29uJ3QgaGF2ZSB0aGVpciB2YWx1ZXMgInNhdmVkIiBieSBgc2F2ZUFjY2Vzc29yVmFsdWVgLCBzaW5jZQogIC8vIHJlYWRpbmcgZnJvbSBhbiBIVE1MRWxlbWVudCBhY2Nlc3NvciBmcm9tIHRoZSBjb250ZXh0IG9mIGEgcHJvdG90eXBlIHRocm93cwogIGNvbnN0IG5hdGl2ZVByb3BlcnRpZXMgPSB7fTsKICBsZXQgcHJvdG8gPSBIVE1MRWxlbWVudC5wcm90b3R5cGU7CiAgd2hpbGUgKHByb3RvKSB7CiAgICBsZXQgcHJvcHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90byk7CiAgICBmb3IgKGxldCBpPTA7IGk8cHJvcHMubGVuZ3RoOyBpKyspIHsKICAgICAgbmF0aXZlUHJvcGVydGllc1twcm9wc1tpXV0gPSB0cnVlOwogICAgfQogICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pOwogIH0KCiAgLyoqCiAgICogVXNlZCB0byBzYXZlIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IHRoYXQgd2lsbCBiZSBvdmVycmlkZGVuIHdpdGgKICAgKiBhbiBhY2Nlc3Nvci4gSWYgdGhlIGBtb2RlbGAgaXMgYSBwcm90b3R5cGUsIHRoZSB2YWx1ZXMgd2lsbCBiZSBzYXZlZAogICAqIGluIGBfX2RhdGFQcm90b2AsIGFuZCBpdCdzIHVwIHRvIHRoZSB1c2VyIChvciBkb3duc3RyZWFtIG1peGluKSB0bwogICAqIGRlY2lkZSBob3cvd2hlbiB0byBzZXQgdGhlc2UgdmFsdWVzIGJhY2sgaW50byB0aGUgYWNjZXNzb3JzLgogICAqIElmIGBtb2RlbGAgaXMgYWxyZWFkeSBhbiBpbnN0YW5jZSAoaXQgaGFzIGEgYF9fZGF0YWAgcHJvcGVydHkpLCB0aGVuCiAgICogdGhlIHZhbHVlIHdpbGwgYmUgc2V0IGFzIGEgcGVuZGluZyBwcm9wZXJ0eSwgbWVhbmluZyB0aGUgdXNlciBzaG91bGQKICAgKiBjYWxsIGBfaW52YWxpZGF0ZVByb3BlcnRpZXNgIG9yIGBfZmx1c2hQcm9wZXJ0aWVzYCB0byB0YWtlIGVmZmVjdAogICAqCiAgICogQHBhcmFtIHtPYmplY3R9IG1vZGVsIFByb3RvdHlwZSBvciBpbnN0YW5jZQogICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHByb3BlcnR5CiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNhdmVBY2Nlc3NvclZhbHVlKG1vZGVsLCBwcm9wZXJ0eSkgewogICAgLy8gRG9uJ3QgcmVhZC9zdG9yZSB2YWx1ZSBmb3IgYW55IG5hdGl2ZSBwcm9wZXJ0aWVzIHNpbmNlIHRoZXkgY291bGQgdGhyb3cKICAgIGlmICghbmF0aXZlUHJvcGVydGllc1twcm9wZXJ0eV0pIHsKICAgICAgbGV0IHZhbHVlID0gbW9kZWxbcHJvcGVydHldOwogICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICAgIGlmIChtb2RlbC5fX2RhdGEpIHsKICAgICAgICAgIC8vIEFkZGluZyBhY2Nlc3NvciB0byBpbnN0YW5jZTsgdXBkYXRlIHRoZSBwcm9wZXJ0eQogICAgICAgICAgLy8gSXQgaXMgdGhlIHVzZXIncyByZXNwb25zaWJpbGl0eSB0byBjYWxsIF9mbHVzaFByb3BlcnRpZXMKICAgICAgICAgIG1vZGVsLl9zZXRQZW5kaW5nUHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQWRkaW5nIGFjY2Vzc29yIHRvIHByb3RvOyBzYXZlIHByb3RvJ3MgdmFsdWUgZm9yIGluc3RhbmNlLXRpbWUgdXNlCiAgICAgICAgICBpZiAoIW1vZGVsLl9fZGF0YVByb3RvKSB7CiAgICAgICAgICAgIG1vZGVsLl9fZGF0YVByb3RvID0ge307CiAgICAgICAgICB9IGVsc2UgaWYgKCFtb2RlbC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX2RhdGFQcm90bycsIG1vZGVsKSkpIHsKICAgICAgICAgICAgbW9kZWwuX19kYXRhUHJvdG8gPSBPYmplY3QuY3JlYXRlKG1vZGVsLl9fZGF0YVByb3RvKTsKICAgICAgICAgIH0KICAgICAgICAgIG1vZGVsLl9fZGF0YVByb3RvW3Byb3BlcnR5XSA9IHZhbHVlOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIGJhc2ljIG1ldGEtcHJvZ3JhbW1pbmcgZm9yIGNyZWF0aW5nIG9uZQogICAqIG9yIG1vcmUgcHJvcGVydHkgYWNjZXNzb3JzIChnZXR0ZXIvc2V0dGVyIHBhaXIpIHRoYXQgZW5xdWV1ZSBhbiBhc3luYwogICAqIChiYXRjaGVkKSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgKgogICAqIEZvciBiYXNpYyB1c2FnZSBvZiB0aGlzIG1peGluOgogICAqIAogICAqIC0gICBEZWNsYXJlIGF0dHJpYnV0ZXMgdG8gb2JzZXJ2ZSB2aWEgdGhlIHN0YW5kYXJkIGBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpYC4gVXNlCiAgICogICAgIGBkYXNoLWNhc2VgIGF0dHJpYnV0ZSBuYW1lcyB0byByZXByZXNlbnQgYGNhbWVsQ2FzZWAgcHJvcGVydHkgbmFtZXMuIAogICAqIC0gICBJbXBsZW1lbnQgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrIG9uIHRoZSBjbGFzcy4KICAgKiAtICAgQ2FsbCBgTXlDbGFzcy5jcmVhdGVQcm9wZXJ0aWVzRm9yQXR0cmlidXRlcygpYCAqKm9uY2UqKiBvbiB0aGUgY2xhc3MgdG8gZ2VuZXJhdGUgCiAgICogICAgIHByb3BlcnR5IGFjY2Vzc29ycyBmb3IgZWFjaCBvYnNlcnZlZCBhdHRyaWJ1dGUuIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBmaXJzdCAKICAgKiAgICAgaW5zdGFuY2UgaXMgY3JlYXRlZCwgZm9yIGV4YW1wbGUsIGJ5IGNhbGxpbmcgaXQgYmVmb3JlIGNhbGxpbmcgYGN1c3RvbUVsZW1lbnRzLmRlZmluZWAuCiAgICogICAgIEl0IGNhbiBhbHNvIGJlIGNhbGxlZCBsYXppbHkgZnJvbSB0aGUgZWxlbWVudCdzIGBjb25zdHJ1Y3RvcmAsIGFzIGxvbmcgYXMgaXQncyBndWFyZGVkIHNvCiAgICogICAgIHRoYXQgdGhlIGNhbGwgaXMgb25seSBtYWRlIG9uY2UsIHdoZW4gdGhlIGZpcnN0IGluc3RhbmNlIGlzIGNyZWF0ZWQuCiAgICogLSAgIENhbGwgYHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKWAgaW4gdGhlIGVsZW1lbnQncyBgY29ubmVjdGVkQ2FsbGJhY2tgIHRvIGVuYWJsZSAKICAgKiAgICAgdGhlIGFjY2Vzc29ycy4KICAgKgogICAqIEFueSBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUKICAgKiBkZXNlcmlhbGl6ZWQgdmlhIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIGFuZCBzZXQgdG8gdGhlIGFzc29jaWF0ZWQKICAgKiBwcm9wZXJ0eSB1c2luZyBgZGFzaC1jYXNlYC10by1gY2FtZWxDYXNlYCBjb252ZW50aW9uLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0aWVzQ2hhbmdlZAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiBmb3IgcmVhY3RpbmcgdG8gcHJvcGVydHkgY2hhbmdlcyBmcm9tCiAgICogICBnZW5lcmF0ZWQgcHJvcGVydHkgYWNjZXNzb3JzLgogICAqLwogIFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtzdXBlckNsYXNzfQogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfUHJvcGVydGllc0NoYW5nZWR9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICAgY29uc3QgYmFzZSA9IFBvbHltZXIuUHJvcGVydGllc0NoYW5nZWQoc3VwZXJDbGFzcyk7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQG1peGluQ2xhc3MKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5QWNjZXNzb3JzfQogICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIFByb3BlcnR5QWNjZXNzb3JzIGV4dGVuZHMgYmFzZSB7CgogICAgICAvKioKICAgICAgICogR2VuZXJhdGVzIHByb3BlcnR5IGFjY2Vzc29ycyBmb3IgYWxsIGF0dHJpYnV0ZXMgaW4gdGhlIHN0YW5kYXJkCiAgICAgICAqIHN0YXRpYyBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCBhcnJheS4KICAgICAgICoKICAgICAgICogQXR0cmlidXRlIG5hbWVzIGFyZSBtYXBwZWQgdG8gcHJvcGVydHkgbmFtZXMgdXNpbmcgdGhlIGBkYXNoLWNhc2VgIHRvCiAgICAgICAqIGBjYW1lbENhc2VgIGNvbnZlbnRpb24KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzRm9yQXR0cmlidXRlcygpIHsKICAgICAgICBsZXQgYSQgPSB0aGlzLm9ic2VydmVkQXR0cmlidXRlczsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBhJC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5QWNjZXNzb3IoY2FzZU1hcC5kYXNoVG9DYW1lbENhc2UoYSRbaV0pKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGFuIGF0dHJpYnV0ZSBuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKiBCeSBkZWZhdWx0LCBjb252ZXJ0cyBjYW1lbCB0byBkYXNoIGNhc2UsIGUuZy4gYGZvb0JhcmAgdG8gYGZvby1iYXJgLgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgdG8gY29udmVydAogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEF0dHJpYnV0ZSBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIGNhc2VNYXAuY2FtZWxUb0Rhc2hDYXNlKHByb3BlcnR5KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBQcm9wZXJ0aWVzQ2hhbmdlZCBpbXBsZW1lbnRhdGlvbiB0byBpbml0aWFsaXplIHZhbHVlcyBmb3IKICAgICAgICogYWNjZXNzb3JzIGNyZWF0ZWQgZm9yIHZhbHVlcyB0aGF0IGFscmVhZHkgZXhpc3RlZCBvbiB0aGUgZWxlbWVudAogICAgICAgKiBwcm90b3R5cGUuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICBpZiAodGhpcy5fX2RhdGFQcm90bykgewogICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZVByb3RvUHJvcGVydGllcyh0aGlzLl9fZGF0YVByb3RvKTsKICAgICAgICAgIHRoaXMuX19kYXRhUHJvdG8gPSBudWxsOwogICAgICAgIH0KICAgICAgICBzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbGxlZCBhdCBpbnN0YW5jZSB0aW1lIHdpdGggYmFnIG9mIHByb3BlcnRpZXMgdGhhdCB3ZXJlIG92ZXJ3cml0dGVuCiAgICAgICAqIGJ5IGFjY2Vzc29ycyBvbiB0aGUgcHJvdG90eXBlIHdoZW4gYWNjZXNzb3JzIHdlcmUgY3JlYXRlZC4KICAgICAgICoKICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gc2V0cyB0aGVzZSBwcm9wZXJ0aWVzIGJhY2sgaW50byB0aGUKICAgICAgICogc2V0dGVyIGF0IGluc3RhbmNlIHRpbWUuICBUaGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBhbiBvdmVycmlkZQogICAgICAgKiBwb2ludCBmb3IgY3VzdG9taXppbmcgb3IgcHJvdmlkaW5nIG1vcmUgZWZmaWNpZW50IGluaXRpYWxpemF0aW9uLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIHByb3BlcnR5IHZhbHVlcyB0aGF0IHdlcmUgb3ZlcndyaXR0ZW4KICAgICAgICogICB3aGVuIGNyZWF0aW5nIHByb3BlcnR5IGFjY2Vzc29ycy4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm90b1Byb3BlcnRpZXMocHJvcHMpIHsKICAgICAgICBmb3IgKGxldCBwIGluIHByb3BzKSB7CiAgICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0eShwLCBwcm9wc1twXSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRW5zdXJlcyB0aGUgZWxlbWVudCBoYXMgdGhlIGdpdmVuIGF0dHJpYnV0ZS4gSWYgaXQgZG9lcyBub3QsCiAgICAgICAqIGFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAqCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBDbG9zdXJlIGNhbid0IGZpZ3VyZSBvdXQgYHRoaXNgIGlzIGluZmFjdCBhbiBlbGVtZW50CiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGUgTmFtZSBvZiBhdHRyaWJ1dGUgdG8gZW5zdXJlIGlzIHNldC4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfZW5zdXJlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpIHsKICAgICAgICBjb25zdCBlbCA9IC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0aGlzKTsKICAgICAgICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKSB7CiAgICAgICAgICB0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZShlbCwgdmFsdWUsIGF0dHJpYnV0ZSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIFByb3BlcnRpZXNDaGFuZ2VkIGltcGxlbWVudGlvbiB0byBzZXJpYWxpemUgb2JqZWN0cyBhcyBKU09OLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFByb3BlcnR5IHZhbHVlIHRvIHNlcmlhbGl6ZS4KICAgICAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBTdHJpbmcgc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZCBwcm9wZXJ0eSB2YWx1ZS4KICAgICAgICovCiAgICAgIF9zZXJpYWxpemVWYWx1ZSh2YWx1ZSkgewogICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWZhbGx0aHJvdWdoICovCiAgICAgICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHsKICAgICAgICAgIGNhc2UgJ29iamVjdCc6CiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTsKICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpOwogICAgICAgICAgICAgIH0gY2F0Y2goeCkgewogICAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiBzdXBlci5fc2VyaWFsaXplVmFsdWUodmFsdWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFBvbHltZXIgd2hlbiByZWFkaW5nIEhUTUwgYXR0cmlidXRlIHZhbHVlcyB0bwogICAgICAgKiBKUyBwcm9wZXJ0aWVzLiAgVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgbWV0aG9kIG9uIFBvbHltZXIgZWxlbWVudAogICAgICAgKiBwcm90b3R5cGVzIHRvIHByb3ZpZGUgZGVzZXJpYWxpemF0aW9uIGZvciBjdXN0b20gYHR5cGVgcy4gIE5vdGUsCiAgICAgICAqIHRoZSBgdHlwZWAgYXJndW1lbnQgaXMgdGhlIHZhbHVlIG9mIHRoZSBgdHlwZWAgZmllbGQgcHJvdmlkZWQgaW4gdGhlCiAgICAgICAqIGBwcm9wZXJ0aWVzYCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYSBnaXZlbiBwcm9wZXJ0eSwgYW5kIGlzCiAgICAgICAqIGJ5IGNvbnZlbnRpb24gdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgdHlwZSB0byBkZXNlcmlhbGl6ZS4KICAgICAgICoKICAgICAgICoKICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUgdG8gZGVzZXJpYWxpemUuCiAgICAgICAqIEBwYXJhbSB7Kj19IHR5cGUgVHlwZSB0byBkZXNlcmlhbGl6ZSB0aGUgc3RyaW5nIHRvLgogICAgICAgKiBAcmV0dXJuIHsqfSBUeXBlZCB2YWx1ZSBkZXNlcmlhbGl6ZWQgZnJvbSB0aGUgcHJvdmlkZWQgc3RyaW5nLgogICAgICAgKi8KICAgICAgX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpIHsKICAgICAgICAvKioKICAgICAgICAgKiBAdHlwZSB7Kn0KICAgICAgICAgKi8KICAgICAgICBsZXQgb3V0VmFsdWU7CiAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgICBjYXNlIE9iamVjdDoKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICBvdXRWYWx1ZSA9IEpTT04ucGFyc2UoLyoqIEB0eXBlIHtzdHJpbmd9ICovKHZhbHVlKSk7CiAgICAgICAgICAgIH0gY2F0Y2goeCkgewogICAgICAgICAgICAgIC8vIGFsbG93IG5vbi1KU09OIGxpdGVyYWxzIGxpa2UgU3RyaW5ncyBhbmQgTnVtYmVycwogICAgICAgICAgICAgIG91dFZhbHVlID0gdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIEFycmF5OgogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIG91dFZhbHVlID0gSlNPTi5wYXJzZSgvKiogQHR5cGUge3N0cmluZ30gKi8odmFsdWUpKTsKICAgICAgICAgICAgfSBjYXRjaCh4KSB7CiAgICAgICAgICAgICAgb3V0VmFsdWUgPSBudWxsOwogICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUG9seW1lcjo6QXR0cmlidXRlczogY291bGRuJ3QgZGVjb2RlIEFycmF5IGFzIEpTT046ICR7dmFsdWV9YCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIERhdGU6CiAgICAgICAgICAgIG91dFZhbHVlID0gaXNOYU4odmFsdWUpID8gU3RyaW5nKHZhbHVlKSA6IE51bWJlcih2YWx1ZSk7CiAgICAgICAgICAgIG91dFZhbHVlID0gbmV3IERhdGUob3V0VmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIG91dFZhbHVlID0gc3VwZXIuX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG91dFZhbHVlOwogICAgICB9CiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tZmFsbHRocm91Z2ggKi8KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgUHJvcGVydGllc0NoYW5nZWQgaW1wbGVtZW50YXRpb24gdG8gc2F2ZSBleGlzdGluZyBwcm90b3R5cGUKICAgICAgICogcHJvcGVydHkgdmFsdWUgc28gdGhhdCBpdCBjYW4gYmUgcmVzZXQuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSByZWFkT25seSBXaGVuIHRydWUsIG5vIHNldHRlciBpcyBjcmVhdGVkCiAgICAgICAqCiAgICAgICAqIFdoZW4gY2FsbGluZyBvbiBhIHByb3RvdHlwZSwgYW55IG92ZXJ3cml0dGVuIHZhbHVlcyBhcmUgc2F2ZWQgaW4KICAgICAgICogYF9fZGF0YVByb3RvYCwgYW5kIGl0IGlzIHVwIHRvIHRoZSBzdWJjbGFzc2VyIHRvIGRlY2lkZSBob3cvd2hlbgogICAgICAgKiB0byBzZXQgdGhvc2UgcHJvcGVydGllcyBiYWNrIGludG8gdGhlIGFjY2Vzc29yLiAgV2hlbiBjYWxsaW5nIG9uIGFuCiAgICAgICAqIGluc3RhbmNlLCB0aGUgb3ZlcndyaXR0ZW4gdmFsdWUgaXMgc2V0IHZpYSBgX3NldFBlbmRpbmdQcm9wZXJ0eWAsCiAgICAgICAqIGFuZCB0aGUgdXNlciBzaG91bGQgY2FsbCBgX2ludmFsaWRhdGVQcm9wZXJ0aWVzYCBvciBgX2ZsdXNoUHJvcGVydGllc2AKICAgICAgICogZm9yIHRoZSB2YWx1ZXMgdG8gdGFrZSBlZmZlY3QuCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHByb3BlcnR5LCByZWFkT25seSkgewogICAgICAgIHNhdmVBY2Nlc3NvclZhbHVlKHRoaXMsIHByb3BlcnR5KTsKICAgICAgICBzdXBlci5fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgbGlicmFyeSBjcmVhdGVkIGFuIGFjY2Vzc29yIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYW4gYWNjZXNzb3Igd2FzIGNyZWF0ZWQKICAgICAgICovCiAgICAgIF9oYXNBY2Nlc3Nvcihwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiB0aGlzLl9fZGF0YUhhc0FjY2Vzc29yICYmIHRoaXMuX19kYXRhSGFzQWNjZXNzb3JbcHJvcGVydHldOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgaGFzIGEgcGVuZGluZyBjaGFuZ2UuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBwcm9wZXJ0eSBoYXMgYSBwZW5kaW5nIGNoYW5nZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfaXNQcm9wZXJ0eVBlbmRpbmcocHJvcCkgewogICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMuX19kYXRhUGVuZGluZyAmJiAocHJvcCBpbiB0aGlzLl9fZGF0YVBlbmRpbmcpKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gUHJvcGVydHlBY2Nlc3NvcnM7CgogIH0pOwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3Qgd2Fsa2VyID0gZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCwgTm9kZUZpbHRlci5TSE9XX0FMTCwKICAgICAgbnVsbCwgZmFsc2UpOwoKICAvLyAxLnggYmFja3dhcmRzLWNvbXBhdGlibGUgYXV0by13cmFwcGVyIGZvciB0ZW1wbGF0ZSB0eXBlIGV4dGVuc2lvbnMKICAvLyBUaGlzIGlzIGEgY2xlYXIgbGF5ZXJpbmcgdmlvbGF0aW9uIGFuZCBnaXZlcyBmYXZvcmVkLW5hdGlvbiBzdGF0dXMgdG8KICAvLyBkb20taWYgYW5kIGRvbS1yZXBlYXQgdGVtcGxhdGVzLiAgVGhpcyBpcyBhIGNvbmNlaXQgd2UncmUgY2hvb3NpbmcgdG8ga2VlcAogIC8vIGEuKSB0byBlYXNlIDEueCBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBkdWUgdG8gbG9zcyBvZiBgaXNgLCBhbmQKICAvLyBiLikgdG8gbWFpbnRhaW4gaWYvcmVwZWF0IGNhcGFiaWxpdHkgaW4gcGFyc2VyLWNvbnN0cmFpbmVkIGVsZW1lbnRzCiAgLy8gICAgIChlLmcuIHRhYmxlLCBzZWxlY3QpIGluIGxpZXUgb2YgbmF0aXZlIENFIHR5cGUgZXh0ZW5zaW9ucyB3aXRob3V0CiAgLy8gICAgIG1hc3NpdmUgbmV3IGludmVudGlvbiBpbiB0aGlzIHNwYWNlIChlLmcuIGRpcmVjdGl2ZSBzeXN0ZW0pCiAgY29uc3QgdGVtcGxhdGVFeHRlbnNpb25zID0gewogICAgJ2RvbS1pZic6IHRydWUsCiAgICAnZG9tLXJlcGVhdCc6IHRydWUKICB9OwogIGZ1bmN0aW9uIHdyYXBUZW1wbGF0ZUV4dGVuc2lvbihub2RlKSB7CiAgICBsZXQgaXMgPSBub2RlLmdldEF0dHJpYnV0ZSgnaXMnKTsKICAgIGlmIChpcyAmJiB0ZW1wbGF0ZUV4dGVuc2lvbnNbaXNdKSB7CiAgICAgIGxldCB0ID0gbm9kZTsKICAgICAgdC5yZW1vdmVBdHRyaWJ1dGUoJ2lzJyk7CiAgICAgIG5vZGUgPSB0Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChpcyk7CiAgICAgIHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobm9kZSwgdCk7CiAgICAgIG5vZGUuYXBwZW5kQ2hpbGQodCk7CiAgICAgIHdoaWxlKHQuYXR0cmlidXRlcy5sZW5ndGgpIHsKICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSh0LmF0dHJpYnV0ZXNbMF0ubmFtZSwgdC5hdHRyaWJ1dGVzWzBdLnZhbHVlKTsKICAgICAgICB0LnJlbW92ZUF0dHJpYnV0ZSh0LmF0dHJpYnV0ZXNbMF0ubmFtZSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBub2RlOwogIH0KCiAgZnVuY3Rpb24gZmluZFRlbXBsYXRlTm9kZShyb290LCBub2RlSW5mbykgewogICAgLy8gcmVjdXJzaXZlbHkgYXNjZW5kIHRyZWUgdW50aWwgd2UgaGl0IHJvb3QKICAgIGxldCBwYXJlbnQgPSBub2RlSW5mby5wYXJlbnRJbmZvICYmIGZpbmRUZW1wbGF0ZU5vZGUocm9vdCwgbm9kZUluZm8ucGFyZW50SW5mbyk7CiAgICAvLyB1bndpbmQgdGhlIHN0YWNrLCByZXR1cm5pbmcgdGhlIGluZGV4ZWQgbm9kZSBhdCBlYWNoIGxldmVsCiAgICBpZiAocGFyZW50KSB7CiAgICAgIC8vIG5vdGU6IG1hcmdpbmFsbHkgZmFzdGVyIHRoYW4gaW5kZXhpbmcgdmlhIGNoaWxkTm9kZXMKICAgICAgLy8gKGh0dHA6Ly9qc3BlcmYuY29tL2NoaWxkbm9kZXMtbG9va3VwKQogICAgICB3YWxrZXIuY3VycmVudE5vZGUgPSBwYXJlbnQ7CiAgICAgIGZvciAobGV0IG49d2Fsa2VyLmZpcnN0Q2hpbGQoKSwgaT0wOyBuOyBuPXdhbGtlci5uZXh0U2libGluZygpKSB7CiAgICAgICAgaWYgKG5vZGVJbmZvLnBhcmVudEluZGV4ID09PSBpKyspIHsKICAgICAgICAgIHJldHVybiBuOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHJvb3Q7CiAgICB9CiAgfQoKICAvLyBjb25zdHJ1Y3QgYCRgIG1hcCAoZnJvbSBpZCBhbm5vdGF0aW9ucykKICBmdW5jdGlvbiBhcHBseUlkVG9NYXAoaW5zdCwgbWFwLCBub2RlLCBub2RlSW5mbykgewogICAgaWYgKG5vZGVJbmZvLmlkKSB7CiAgICAgIG1hcFtub2RlSW5mby5pZF0gPSBub2RlOwogICAgfQogIH0KCiAgLy8gaW5zdGFsbCBldmVudCBsaXN0ZW5lcnMgKGZyb20gZXZlbnQgYW5ub3RhdGlvbnMpCiAgZnVuY3Rpb24gYXBwbHlFdmVudExpc3RlbmVyKGluc3QsIG5vZGUsIG5vZGVJbmZvKSB7CiAgICBpZiAobm9kZUluZm8uZXZlbnRzICYmIG5vZGVJbmZvLmV2ZW50cy5sZW5ndGgpIHsKICAgICAgZm9yIChsZXQgaj0wLCBlJD1ub2RlSW5mby5ldmVudHMsIGU7IChqPGUkLmxlbmd0aCkgJiYgKGU9ZSRbal0pOyBqKyspIHsKICAgICAgICBpbnN0Ll9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGUubmFtZSwgZS52YWx1ZSwgaW5zdCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8vIHB1c2ggY29uZmlndXJhdGlvbiByZWZlcmVuY2VzIGF0IGNvbmZpZ3VyZSB0aW1lCiAgZnVuY3Rpb24gYXBwbHlUZW1wbGF0ZUNvbnRlbnQoaW5zdCwgbm9kZSwgbm9kZUluZm8pIHsKICAgIGlmIChub2RlSW5mby50ZW1wbGF0ZUluZm8pIHsKICAgICAgbm9kZS5fdGVtcGxhdGVJbmZvID0gbm9kZUluZm8udGVtcGxhdGVJbmZvOwogICAgfQogIH0KCiAgZnVuY3Rpb24gY3JlYXRlTm9kZUV2ZW50SGFuZGxlcihjb250ZXh0LCBldmVudE5hbWUsIG1ldGhvZE5hbWUpIHsKICAgIC8vIEluc3RhbmNlcyBjYW4gb3B0aW9uYWxseSBoYXZlIGEgX21ldGhvZEhvc3Qgd2hpY2ggYWxsb3dzIHJlZGlyZWN0aW5nIHdoZXJlCiAgICAvLyB0byBmaW5kIG1ldGhvZHMuIEN1cnJlbnRseSB1c2VkIGJ5IGB0ZW1wbGF0aXplYC4KICAgIGNvbnRleHQgPSBjb250ZXh0Ll9tZXRob2RIb3N0IHx8IGNvbnRleHQ7CiAgICBsZXQgaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKGNvbnRleHRbbWV0aG9kTmFtZV0pIHsKICAgICAgICBjb250ZXh0W21ldGhvZE5hbWVdKGUsIGUuZGV0YWlsKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zb2xlLndhcm4oJ2xpc3RlbmVyIG1ldGhvZCBgJyArIG1ldGhvZE5hbWUgKyAnYCBub3QgZGVmaW5lZCcpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIGhhbmRsZXI7CiAgfQoKICAvKioKICAgKiBFbGVtZW50IG1peGluIHRoYXQgcHJvdmlkZXMgYmFzaWMgdGVtcGxhdGUgcGFyc2luZyBhbmQgc3RhbXBpbmcsIGluY2x1ZGluZwogICAqIHRoZSBmb2xsb3dpbmcgdGVtcGxhdGUtcmVsYXRlZCBmZWF0dXJlcyBmb3Igc3RhbXBlZCB0ZW1wbGF0ZXM6CiAgICoKICAgKiAtIERlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycyAoYG9uLWV2ZW50bmFtZT0ibGlzdGVuZXIiYCkKICAgKiAtIE1hcCBvZiBub2RlIGlkJ3MgdG8gc3RhbXBlZCBub2RlIGluc3RhbmNlcyAoYHRoaXMuJC5pZGApCiAgICogLSBOZXN0ZWQgdGVtcGxhdGUgY29udGVudCBjYWNoaW5nL3JlbW92YWwgYW5kIHJlLWluc3RhbGxhdGlvbiAocGVyZm9ybWFuY2UKICAgKiAgIG9wdGltaXphdGlvbikKICAgKgogICAqIEBtaXhpbkZ1bmN0aW9uCiAgICogQHBvbHltZXIKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBiYXNpYyB0ZW1wbGF0ZSBwYXJzaW5nIGFuZCBzdGFtcGluZwogICAqLwogIFBvbHltZXIuVGVtcGxhdGVTdGFtcCA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfVGVtcGxhdGVTdGFtcH0KICAgICAqLwogICAgY2xhc3MgVGVtcGxhdGVTdGFtcCBleHRlbmRzIHN1cGVyQ2xhc3MgewoKICAgICAgLyoqCiAgICAgICAqIFNjYW5zIGEgdGVtcGxhdGUgdG8gcHJvZHVjZSB0ZW1wbGF0ZSBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogVGVtcGxhdGUtc3BlY2lmaWMgbWV0YWRhdGEgYXJlIHN0b3JlZCBpbiB0aGUgb2JqZWN0IHJldHVybmVkLCBhbmQgbm9kZS0KICAgICAgICogc3BlY2lmaWMgbWV0YWRhdGEgYXJlIHN0b3JlZCBpbiBvYmplY3RzIGluIGl0cyBmbGF0dGVuZWQgYG5vZGVJbmZvTGlzdGAKICAgICAgICogYXJyYXkuICBPbmx5IG5vZGVzIGluIHRoZSB0ZW1wbGF0ZSB0aGF0IHdlcmUgcGFyc2VkIGFzIG5vZGVzIG9mCiAgICAgICAqIGludGVyZXN0IGNvbnRhaW4gYW4gb2JqZWN0IGluIGBub2RlSW5mb0xpc3RgLiAgRWFjaCBgbm9kZUluZm9gIG9iamVjdAogICAgICAgKiBjb250YWlucyBhbiBgaW5kZXhgIChgY2hpbGROb2Rlc2AgaW5kZXggaW4gcGFyZW50KSBhbmQgb3B0aW9uYWxseQogICAgICAgKiBgcGFyZW50YCwgd2hpY2ggcG9pbnRzIHRvIG5vZGUgaW5mbyBvZiBpdHMgcGFyZW50IChpbmNsdWRpbmcgaXRzIGluZGV4KS4KICAgICAgICoKICAgICAgICogVGhlIHRlbXBsYXRlIG1ldGFkYXRhIG9iamVjdCByZXR1cm5lZCBmcm9tIHRoaXMgbWV0aG9kIGhhcyB0aGUgZm9sbG93aW5nCiAgICAgICAqIHN0cnVjdHVyZSAobWFueSBmaWVsZHMgb3B0aW9uYWwpOgogICAgICAgKgogICAgICAgKiBgYGBqcwogICAgICAgKiAgIHsKICAgICAgICogICAgIC8vIEZsYXR0ZW5lZCBsaXN0IG9mIG5vZGUgbWV0YWRhdGEgKGZvciBub2RlcyB0aGF0IGdlbmVyYXRlZCBtZXRhZGF0YSkKICAgICAgICogICAgIG5vZGVJbmZvTGlzdDogWwogICAgICAgKiAgICAgICB7CiAgICAgICAqICAgICAgICAgLy8gYGlkYCBhdHRyaWJ1dGUgZm9yIGFueSBub2RlcyB3aXRoIGlkJ3MgZm9yIGdlbmVyYXRpbmcgYCRgIG1hcAogICAgICAgKiAgICAgICAgIGlkOiB7c3RyaW5nfSwKICAgICAgICogICAgICAgICAvLyBgb24tZXZlbnQ9ImhhbmRsZXIiYCBtZXRhZGF0YQogICAgICAgKiAgICAgICAgIGV2ZW50czogWwogICAgICAgKiAgICAgICAgICAgewogICAgICAgKiAgICAgICAgICAgICBuYW1lOiB7c3RyaW5nfSwgICAvLyBldmVudCBuYW1lCiAgICAgICAqICAgICAgICAgICAgIHZhbHVlOiB7c3RyaW5nfSwgIC8vIGhhbmRsZXIgbWV0aG9kIG5hbWUKICAgICAgICogICAgICAgICAgIH0sIC4uLgogICAgICAgKiAgICAgICAgIF0sCiAgICAgICAqICAgICAgICAgLy8gTm90ZXMgd2hlbiB0aGUgdGVtcGxhdGUgY29udGFpbmVkIGEgYDxzbG90PmAgZm9yIHNoYWR5IERPTQogICAgICAgKiAgICAgICAgIC8vIG9wdGltaXphdGlvbiBwdXJwb3NlcwogICAgICAgKiAgICAgICAgIGhhc0luc2VydGlvblBvaW50OiB7Ym9vbGVhbn0sCiAgICAgICAqICAgICAgICAgLy8gRm9yIG5lc3RlZCBgPHRlbXBsYXRlPmBgIG5vZGVzLCBuZXN0ZWQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogICAgICAgICB0ZW1wbGF0ZUluZm86IHtvYmplY3R9LCAvLyBuZXN0ZWQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogICAgICAgICAvLyBNZXRhZGF0YSB0byBhbGxvdyBlZmZpY2llbnQgcmV0cmlldmFsIG9mIGluc3RhbmNlZCBub2RlCiAgICAgICAqICAgICAgICAgLy8gY29ycmVzcG9uZGluZyB0byB0aGlzIG1ldGFkYXRhCiAgICAgICAqICAgICAgICAgcGFyZW50SW5mbzoge251bWJlcn0sICAgLy8gcmVmZXJlbmNlIHRvIHBhcmVudCBub2RlSW5mbz4KICAgICAgICogICAgICAgICBwYXJlbnRJbmRleDoge251bWJlcn0sICAvLyBpbmRleCBpbiBwYXJlbnQncyBgY2hpbGROb2Rlc2AgY29sbGVjdGlvbgogICAgICAgKiAgICAgICAgIGluZm9JbmRleDoge251bWJlcn0sICAgIC8vIGluZGV4IG9mIHRoaXMgYG5vZGVJbmZvYCBpbiBgdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdGAKICAgICAgICogICAgICAgfSwKICAgICAgICogICAgICAgLi4uCiAgICAgICAqICAgICBdLAogICAgICAgKiAgICAgLy8gV2hlbiB0cnVlLCB0aGUgdGVtcGxhdGUgaGFkIHRoZSBgc3RyaXAtd2hpdGVzcGFjZWAgYXR0cmlidXRlCiAgICAgICAqICAgICAvLyBvciB3YXMgbmVzdGVkIGluIGEgdGVtcGxhdGUgd2l0aCB0aGF0IHNldHRpbmcKICAgICAgICogICAgIHN0cmlwV2hpdGVzcGFjZToge2Jvb2xlYW59LAogICAgICAgKiAgICAgLy8gRm9yIG5lc3RlZCB0ZW1wbGF0ZXMsIG5lc3RlZCB0ZW1wbGF0ZSBjb250ZW50IGlzIG1vdmVkIGludG8KICAgICAgICogICAgIC8vIGEgZG9jdW1lbnQgZnJhZ21lbnQgc3RvcmVkIGhlcmU7IHRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvCiAgICAgICAqICAgICAvLyBhdm9pZCB0aGUgY29zdCBvZiBuZXN0ZWQgdGVtcGxhdGUgY2xvbmluZwogICAgICAgKiAgICAgY29udGVudDoge0RvY3VtZW50RnJhZ21lbnR9CiAgICAgICAqICAgfQogICAgICAgKiBgYGAKICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2Qga2lja3Mgb2ZmIGEgcmVjdXJzaXZlIHRyZWV3YWxrIGFzIGZvbGxvd3M6CiAgICAgICAqCiAgICAgICAqIGBgYAogICAgICAgKiAgICBfcGFyc2VUZW1wbGF0ZSA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgKiAgICAgIF9wYXJzZVRlbXBsYXRlQ29udGVudCAgICAgICAgICAgICAgfAogICAgICAgKiAgICAgICAgX3BhcnNlVGVtcGxhdGVOb2RlICA8LS0tLS0tLS0tLS0tfC0tKwogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlIC0tKyAgfAogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMgLS0tLS0tLS0tKwogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzCiAgICAgICAqICAgICAgICAgICAgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlCiAgICAgICAqCiAgICAgICAqIGBgYAogICAgICAgKgogICAgICAgKiBUaGVzZSBtZXRob2RzIG1heSBiZSBvdmVycmlkZGVuIHRvIGFkZCBjdXN0b20gbWV0YWRhdGEgYWJvdXQgdGVtcGxhdGVzCiAgICAgICAqIHRvIGVpdGhlciBgdGVtcGxhdGVJbmZvYCBvciBgbm9kZUluZm9gLgogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgbWF5IGJlIGRlc3RydWN0aXZlIHRvIHRoZSB0ZW1wbGF0ZSwgaW4gdGhhdAogICAgICAgKiBlLmcuIGV2ZW50IGFubm90YXRpb25zIG1heSBiZSByZW1vdmVkIGFmdGVyIGJlaW5nIG5vdGVkIGluIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgdG8gcGFyc2UKICAgICAgICogQHBhcmFtIHtUZW1wbGF0ZUluZm89fSBvdXRlclRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmcm9tIHRoZSBvdXRlcgogICAgICAgKiAgIHRlbXBsYXRlLCBmb3IgcGFyc2luZyBuZXN0ZWQgdGVtcGxhdGVzCiAgICAgICAqIEByZXR1cm4geyFUZW1wbGF0ZUluZm99IFBhcnNlZCB0ZW1wbGF0ZSBtZXRhZGF0YQogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlKHRlbXBsYXRlLCBvdXRlclRlbXBsYXRlSW5mbykgewogICAgICAgIC8vIHNpbmNlIGEgdGVtcGxhdGUgbWF5IGJlIHJlLXVzZWQsIG1lbW8taXplIG1ldGFkYXRhCiAgICAgICAgaWYgKCF0ZW1wbGF0ZS5fdGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGVtcGxhdGUuX3RlbXBsYXRlSW5mbyA9IHt9OwogICAgICAgICAgdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdCA9IFtdOwogICAgICAgICAgdGVtcGxhdGVJbmZvLnN0cmlwV2hpdGVTcGFjZSA9IFBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyB8fAogICAgICAgICAgICAob3V0ZXJUZW1wbGF0ZUluZm8gJiYgb3V0ZXJUZW1wbGF0ZUluZm8uc3RyaXBXaGl0ZVNwYWNlKSB8fAogICAgICAgICAgICB0ZW1wbGF0ZS5oYXNBdHRyaWJ1dGUoJ3N0cmlwLXdoaXRlc3BhY2UnKTsKICAgICAgICAgIHRoaXMuX3BhcnNlVGVtcGxhdGVDb250ZW50KHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIHtwYXJlbnQ6IG51bGx9KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLl90ZW1wbGF0ZUluZm87CiAgICAgIH0KCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHsKICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGUodGVtcGxhdGUuY29udGVudCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbyk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXJzZXMgdGVtcGxhdGUgbm9kZSBhbmQgYWRkcyB0ZW1wbGF0ZSBhbmQgbm9kZSBtZXRhZGF0YSBiYXNlZCBvbgogICAgICAgKiB0aGUgY3VycmVudCBub2RlLCBhbmQgaXRzIGBjaGlsZE5vZGVzYCBhbmQgYGF0dHJpYnV0ZXNgLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgb3ZlcnJpZGRlbiB0byBhZGQgY3VzdG9tIG5vZGUgb3IgdGVtcGxhdGUgc3BlY2lmaWMKICAgICAgICogbWV0YWRhdGEgYmFzZWQgb24gdGhpcyBub2RlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5vZGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGxldCBub3RlZDsKICAgICAgICBsZXQgZWxlbWVudCA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8obm9kZSk7CiAgICAgICAgaWYgKGVsZW1lbnQubG9jYWxOYW1lID09ICd0ZW1wbGF0ZScgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdwcmVzZXJ2ZS1jb250ZW50JykpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKGVsZW1lbnQsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHx8IG5vdGVkOwogICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC5sb2NhbE5hbWUgPT09ICdzbG90JykgewogICAgICAgICAgLy8gRm9yIFNoYWR5RG9tIG9wdGltaXphdGlvbiwgaW5kaWNhdGluZyB0aGVyZSBpcyBhbiBpbnNlcnRpb24gcG9pbnQKICAgICAgICAgIHRlbXBsYXRlSW5mby5oYXNJbnNlcnRpb25Qb2ludCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IGVsZW1lbnQ7CiAgICAgICAgaWYgKHdhbGtlci5maXJzdENoaWxkKCkpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMoZWxlbWVudCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgfHwgbm90ZWQ7CiAgICAgICAgfQogICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZXMgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGVzKCkpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzKGVsZW1lbnQsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHx8IG5vdGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbm90ZWQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXJzZXMgdGVtcGxhdGUgY2hpbGQgbm9kZXMgZm9yIHRoZSBnaXZlbiByb290IG5vZGUuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIGFsc28gd3JhcHMgd2hpdGVsaXN0ZWQgbGVnYWN5IHRlbXBsYXRlIGV4dGVuc2lvbnMKICAgICAgICogKGBpcz0iZG9tLWlmImAgYW5kIGBpcz0iZG9tLXJlcGVhdCJgKSB3aXRoIHRoZWlyIGVxdWl2YWxlbnQgZWxlbWVudAogICAgICAgKiB3cmFwcGVycywgY29sbGFwc2VzIHRleHQgbm9kZXMsIGFuZCBzdHJpcHMgd2hpdGVzcGFjZSBmcm9tIHRoZSB0ZW1wbGF0ZQogICAgICAgKiBpZiB0aGUgYHRlbXBsYXRlSW5mby5zdHJpcFdoaXRlc3BhY2VgIHNldHRpbmcgd2FzIHByb3ZpZGVkLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge05vZGV9IHJvb3QgUm9vdCBub2RlIHdob3NlIGBjaGlsZE5vZGVzYCB3aWxsIGJlIHBhcnNlZAogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMocm9vdCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGlmIChyb290LmxvY2FsTmFtZSA9PT0gJ3NjcmlwdCcgfHwgcm9vdC5sb2NhbE5hbWUgPT09ICdzdHlsZScpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgd2Fsa2VyLmN1cnJlbnROb2RlID0gcm9vdDsKICAgICAgICBmb3IgKGxldCBub2RlPXdhbGtlci5maXJzdENoaWxkKCksIHBhcmVudEluZGV4PTAsIG5leHQ7IG5vZGU7IG5vZGU9bmV4dCkgewogICAgICAgICAgLy8gV3JhcCB0ZW1wbGF0ZXMKICAgICAgICAgIGlmIChub2RlLmxvY2FsTmFtZSA9PSAndGVtcGxhdGUnKSB7CiAgICAgICAgICAgIG5vZGUgPSB3cmFwVGVtcGxhdGVFeHRlbnNpb24obm9kZSk7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBjb2xsYXBzZSBhZGphY2VudCB0ZXh0Tm9kZXM6IGZpeGVzIGFuIElFIGlzc3VlIHRoYXQgY2FuIGNhdXNlCiAgICAgICAgICAvLyB0ZXh0IG5vZGVzIHRvIGJlIGluZXhwbGljYWJseSBzcGxpdCA9KAogICAgICAgICAgLy8gbm90ZSB0aGF0IHJvb3Qubm9ybWFsaXplKCkgc2hvdWxkIHdvcmsgYnV0IGRvZXMgbm90IHNvIHdlIGRvIHRoaXMKICAgICAgICAgIC8vIG1hbnVhbGx5LgogICAgICAgICAgd2Fsa2VyLmN1cnJlbnROb2RlID0gbm9kZTsKICAgICAgICAgIG5leHQgPSB3YWxrZXIubmV4dFNpYmxpbmcoKTsKICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgICBsZXQgLyoqIE5vZGUgKi8gbiA9IG5leHQ7CiAgICAgICAgICAgIHdoaWxlIChuICYmIChuLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkpIHsKICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ICs9IG4udGV4dENvbnRlbnQ7CiAgICAgICAgICAgICAgbmV4dCA9IHdhbGtlci5uZXh0U2libGluZygpOwogICAgICAgICAgICAgIHJvb3QucmVtb3ZlQ2hpbGQobik7CiAgICAgICAgICAgICAgbiA9IG5leHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gb3B0aW9uYWxseSBzdHJpcCB3aGl0ZXNwYWNlCiAgICAgICAgICAgIGlmICh0ZW1wbGF0ZUluZm8uc3RyaXBXaGl0ZVNwYWNlICYmICFub2RlLnRleHRDb250ZW50LnRyaW0oKSkgewogICAgICAgICAgICAgIHJvb3QucmVtb3ZlQ2hpbGQobm9kZSk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGxldCBjaGlsZEluZm8gPSB7IHBhcmVudEluZGV4LCBwYXJlbnRJbmZvOiBub2RlSW5mbyB9OwogICAgICAgICAgaWYgKHRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlKG5vZGUsIHRlbXBsYXRlSW5mbywgY2hpbGRJbmZvKSkgewogICAgICAgICAgICBjaGlsZEluZm8uaW5mb0luZGV4ID0gdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdC5wdXNoKC8qKiBAdHlwZSB7IU5vZGVJbmZvfSAqLyhjaGlsZEluZm8pKSAtIDE7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBJbmNyZW1lbnQgaWYgbm90IHJlbW92ZWQKICAgICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IG5vZGU7CiAgICAgICAgICBpZiAod2Fsa2VyLnBhcmVudE5vZGUoKSkgewogICAgICAgICAgICBwYXJlbnRJbmRleCsrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhcnNlcyB0ZW1wbGF0ZSBjb250ZW50IGZvciB0aGUgZ2l2ZW4gbmVzdGVkIGA8dGVtcGxhdGU+YC4KICAgICAgICoKICAgICAgICogTmVzdGVkIHRlbXBsYXRlIGluZm8gaXMgc3RvcmVkIGFzIGB0ZW1wbGF0ZUluZm9gIGluIHRoZSBjdXJyZW50IG5vZGUncwogICAgICAgKiBgbm9kZUluZm9gLiBgdGVtcGxhdGUuY29udGVudGAgaXMgcmVtb3ZlZCBhbmQgc3RvcmVkIGluIGB0ZW1wbGF0ZUluZm9gLgogICAgICAgKiBJdCB3aWxsIHRoZW4gYmUgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBob3N0IHRvIHNldCBpdCBiYWNrIHRvIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBhbmQgZm9yIHVzZXJzIHN0YW1waW5nIG5lc3RlZCB0ZW1wbGF0ZXMgdG8gdXNlIHRoZQogICAgICAgKiBgX2NvbnRlbnRGb3JUZW1wbGF0ZWAgbWV0aG9kIHRvIHJldHJpZXZlIHRoZSBjb250ZW50IGZvciB0aGlzIHRlbXBsYXRlCiAgICAgICAqIChhbiBvcHRpbWl6YXRpb24gdG8gYXZvaWQgdGhlIGNvc3Qgb2YgY2xvbmluZyBuZXN0ZWQgdGVtcGxhdGUgY29udGVudCkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gbm9kZSBOb2RlIHRvIHBhcnNlIChhIDx0ZW1wbGF0ZT4pCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSBvdXRlclRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiAgIHRoYXQgaW5jbHVkZXMgdGhlIHRlbXBsYXRlIGBub2RlYAogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKG5vZGUsIG91dGVyVGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGxldCB0ZW1wbGF0ZUluZm8gPSB0aGlzLl9wYXJzZVRlbXBsYXRlKG5vZGUsIG91dGVyVGVtcGxhdGVJbmZvKTsKICAgICAgICBsZXQgY29udGVudCA9IHRlbXBsYXRlSW5mby5jb250ZW50ID0KICAgICAgICAgIG5vZGUuY29udGVudC5vd25lckRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKG5vZGUuY29udGVudCk7CiAgICAgICAgbm9kZUluZm8udGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUGFyc2VzIHRlbXBsYXRlIG5vZGUgYXR0cmlidXRlcyBhbmQgYWRkcyBub2RlIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICogZm9yIG5vZGVzIG9mIGludGVyZXN0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZUluZm99IG5vZGVJbmZvIE5vZGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUuCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgdmlzaXRlZCBub2RlIGFkZGVkIG5vZGUtc3BlY2lmaWMKICAgICAgICogICBtZXRhZGF0YSB0byBgbm9kZUluZm9gCiAgICAgICAqLwogICAgICBzdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlcyhub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgLy8gTWFrZSBjb3B5IG9mIG9yaWdpbmFsIGF0dHJpYnV0ZSBsaXN0LCBzaW5jZSB0aGUgb3JkZXIgbWF5IGNoYW5nZQogICAgICAgIC8vIGFzIGF0dHJpYnV0ZXMgYXJlIGFkZGVkIGFuZCByZW1vdmVkCiAgICAgICAgbGV0IG5vdGVkID0gZmFsc2U7CiAgICAgICAgbGV0IGF0dHJzID0gQXJyYXkuZnJvbShub2RlLmF0dHJpYnV0ZXMpOwogICAgICAgIGZvciAobGV0IGk9YXR0cnMubGVuZ3RoLTEsIGE7IChhPWF0dHJzW2ldKTsgaS0tKSB7CiAgICAgICAgICBub3RlZCA9IHRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKG5vZGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8sIGEubmFtZSwgYS52YWx1ZSkgfHwgbm90ZWQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiBub3RlZDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhcnNlcyBhIHNpbmdsZSB0ZW1wbGF0ZSBub2RlIGF0dHJpYnV0ZSBhbmQgYWRkcyBub2RlIG1ldGFkYXRhIHRvCiAgICAgICAqIGBub2RlSW5mb2AgZm9yIGF0dHJpYnV0ZXMgb2YgaW50ZXJlc3QuCiAgICAgICAqCiAgICAgICAqIFRoaXMgaW1wbGVtZW50YXRpb24gYWRkcyBtZXRhZGF0YSBmb3IgYG9uLWV2ZW50PSJoYW5kbGVyImAgYXR0cmlidXRlcwogICAgICAgKiBhbmQgYGlkYCBhdHRyaWJ1dGVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgQXR0cmlidXRlIG5hbWUKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIEF0dHJpYnV0ZSB2YWx1ZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIHZpc2l0ZWQgbm9kZSBhZGRlZCBub2RlLXNwZWNpZmljCiAgICAgICAqICAgbWV0YWRhdGEgdG8gYG5vZGVJbmZvYAogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCBuYW1lLCB2YWx1ZSkgewogICAgICAgIC8vIGV2ZW50cyAob24tKikKICAgICAgICBpZiAobmFtZS5zbGljZSgwLCAzKSA9PT0gJ29uLScpIHsKICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKG5hbWUpOwogICAgICAgICAgbm9kZUluZm8uZXZlbnRzID0gbm9kZUluZm8uZXZlbnRzIHx8IFtdOwogICAgICAgICAgbm9kZUluZm8uZXZlbnRzLnB1c2goewogICAgICAgICAgICBuYW1lOiBuYW1lLnNsaWNlKDMpLAogICAgICAgICAgICB2YWx1ZQogICAgICAgICAgfSk7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgLy8gc3RhdGljIGlkCiAgICAgICAgZWxzZSBpZiAobmFtZSA9PT0gJ2lkJykgewogICAgICAgICAgbm9kZUluZm8uaWQgPSB2YWx1ZTsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIHRoZSBgY29udGVudGAgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIGEgZ2l2ZW4gdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIEZvciBuZXN0ZWQgdGVtcGxhdGVzLCBQb2x5bWVyIHBlcmZvcm1zIGFuIG9wdGltaXphdGlvbiB0byBjYWNoZSBuZXN0ZWQKICAgICAgICogdGVtcGxhdGUgY29udGVudCB0byBhdm9pZCB0aGUgY29zdCBvZiBjbG9uaW5nIGRlZXBseSBuZXN0ZWQgdGVtcGxhdGVzLgogICAgICAgKiBUaGlzIG1ldGhvZCByZXRyaWV2ZXMgdGhlIGNhY2hlZCBjb250ZW50IGZvciBhIGdpdmVuIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0hUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIHRvIHJldHJpZXZlIGBjb250ZW50YCBmb3IKICAgICAgICogQHJldHVybiB7RG9jdW1lbnRGcmFnbWVudH0gQ29udGVudCBmcmFnbWVudAogICAgICAgKi8KICAgICAgc3RhdGljIF9jb250ZW50Rm9yVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50V2l0aEluZm99ICovICh0ZW1wbGF0ZSkuX3RlbXBsYXRlSW5mbzsKICAgICAgICByZXR1cm4gKHRlbXBsYXRlSW5mbyAmJiB0ZW1wbGF0ZUluZm8uY29udGVudCkgfHwgdGVtcGxhdGUuY29udGVudDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENsb25lcyB0aGUgcHJvdmlkZWQgdGVtcGxhdGUgY29udGVudCBhbmQgcmV0dXJucyBhIGRvY3VtZW50IGZyYWdtZW50CiAgICAgICAqIGNvbnRhaW5pbmcgdGhlIGNsb25lZCBkb20uCiAgICAgICAqCiAgICAgICAqIFRoZSB0ZW1wbGF0ZSBpcyBwYXJzZWQgKG9uY2UgYW5kIG1lbW9pemVkKSB1c2luZyB0aGlzIGxpYnJhcnkncwogICAgICAgKiB0ZW1wbGF0ZSBwYXJzaW5nIGZlYXR1cmVzLCBhbmQgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyB2YWx1ZS1hZGRlZAogICAgICAgKiBmZWF0dXJlczoKICAgICAgICogKiBBZGRzIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycyBmb3IgYG9uLWV2ZW50PSJoYW5kbGVyImAgYXR0cmlidXRlcwogICAgICAgKiAqIEdlbmVyYXRlcyBhbiAiaWQgbWFwIiBmb3IgYWxsIG5vZGVzIHdpdGggaWQncyB1bmRlciBgJGAgb24gcmV0dXJuZWQKICAgICAgICogICBkb2N1bWVudCBmcmFnbWVudAogICAgICAgKiAqIFBhc3NlcyB0ZW1wbGF0ZSBpbmZvIGluY2x1ZGluZyBgY29udGVudGAgYmFjayB0byB0ZW1wbGF0ZXMgYXMKICAgICAgICogICBgX3RlbXBsYXRlSW5mb2AgKGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHRvIGF2b2lkIGRlZXAgdGVtcGxhdGUKICAgICAgICogICBjbG9uaW5nKQogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgdGhlIG1lbW9pemVkIHRlbXBsYXRlIHBhcnNpbmcgcHJvY2VzcyBpcyBkZXN0cnVjdGl2ZSB0byB0aGUKICAgICAgICogdGVtcGxhdGU6IGF0dHJpYnV0ZXMgZm9yIGJpbmRpbmdzIGFuZCBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMgYXJlCiAgICAgICAqIHJlbW92ZWQgYWZ0ZXIgYmVpbmcgbm90ZWQgaW4gbm90ZXMsIGFuZCBhbnkgbmVzdGVkIGA8dGVtcGxhdGU+LmNvbnRlbnRgCiAgICAgICAqIGlzIHJlbW92ZWQgYW5kIHN0b3JlZCBpbiBub3RlcyBhcyB3ZWxsLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBzdGFtcAogICAgICAgKiBAcmV0dXJuIHshU3RhbXBlZFRlbXBsYXRlfSBDbG9uZWQgdGVtcGxhdGUgY29udGVudAogICAgICAgKi8KICAgICAgX3N0YW1wVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICAvLyBQb2x5ZmlsbCBzdXBwb3J0OiBib290c3RyYXAgdGhlIHRlbXBsYXRlIGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuCiAgICAgICAgaWYgKHRlbXBsYXRlICYmICF0ZW1wbGF0ZS5jb250ZW50ICYmCiAgICAgICAgICAgIHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50ICYmIEhUTUxUZW1wbGF0ZUVsZW1lbnQuZGVjb3JhdGUpIHsKICAgICAgICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQuZGVjb3JhdGUodGVtcGxhdGUpOwogICAgICAgIH0KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5jb25zdHJ1Y3Rvci5fcGFyc2VUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgbGV0IG5vZGVJbmZvID0gdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdDsKICAgICAgICBsZXQgY29udGVudCA9IHRlbXBsYXRlSW5mby5jb250ZW50IHx8IHRlbXBsYXRlLmNvbnRlbnQ7CiAgICAgICAgbGV0IGRvbSA9IC8qKiBAdHlwZSB7RG9jdW1lbnRGcmFnbWVudH0gKi8gKGRvY3VtZW50LmltcG9ydE5vZGUoY29udGVudCwgdHJ1ZSkpOwogICAgICAgIC8vIE5PVEU6IFNoYWR5RG9tIG9wdGltaXphdGlvbiBpbmRpY2F0aW5nIHRoZXJlIGlzIGFuIGluc2VydGlvbiBwb2ludAogICAgICAgIGRvbS5fX25vSW5zZXJ0aW9uUG9pbnQgPSAhdGVtcGxhdGVJbmZvLmhhc0luc2VydGlvblBvaW50OwogICAgICAgIGxldCBub2RlcyA9IGRvbS5ub2RlTGlzdCA9IG5ldyBBcnJheShub2RlSW5mby5sZW5ndGgpOwogICAgICAgIGRvbS4kID0ge307CiAgICAgICAgZm9yIChsZXQgaT0wLCBsPW5vZGVJbmZvLmxlbmd0aCwgaW5mbzsgKGk8bCkgJiYgKGluZm89bm9kZUluZm9baV0pOyBpKyspIHsKICAgICAgICAgIGxldCBub2RlID0gbm9kZXNbaV0gPSBmaW5kVGVtcGxhdGVOb2RlKGRvbSwgaW5mbyk7CiAgICAgICAgICBhcHBseUlkVG9NYXAodGhpcywgZG9tLiQsIG5vZGUsIGluZm8pOwogICAgICAgICAgYXBwbHlUZW1wbGF0ZUNvbnRlbnQodGhpcywgbm9kZSwgaW5mbyk7CiAgICAgICAgICBhcHBseUV2ZW50TGlzdGVuZXIodGhpcywgbm9kZSwgaW5mbyk7CiAgICAgICAgfQogICAgICAgIGRvbSA9IC8qKiBAdHlwZSB7IVN0YW1wZWRUZW1wbGF0ZX0gKi8oZG9tKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWFzc2lnbgogICAgICAgIHJldHVybiBkb207CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIGJ5IG1ldGhvZCBuYW1lIGZvciB0aGUgZXZlbnQgcHJvdmlkZWQuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIGdlbmVyYXRlcyBhIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBsb29rcyB1cCB0aGUgbWV0aG9kCiAgICAgICAqIG5hbWUgYXQgaGFuZGxpbmcgdGltZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBsaXN0ZW5lciBvbgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIE5hbWUgb2YgZXZlbnQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTmFtZSBvZiBtZXRob2QKICAgICAgICogQHBhcmFtIHsqPX0gY29udGV4dCBDb250ZXh0IHRoZSBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgb24gKGRlZmF1bHRzCiAgICAgICAqICAgdG8gYG5vZGVgKQogICAgICAgKiBAcmV0dXJuIHtGdW5jdGlvbn0gR2VuZXJhdGVkIGhhbmRsZXIgZnVuY3Rpb24KICAgICAgICovCiAgICAgIF9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgbWV0aG9kTmFtZSwgY29udGV4dCkgewogICAgICAgIGNvbnRleHQgPSBjb250ZXh0IHx8IG5vZGU7CiAgICAgICAgbGV0IGhhbmRsZXIgPSBjcmVhdGVOb2RlRXZlbnRIYW5kbGVyKGNvbnRleHQsIGV2ZW50TmFtZSwgbWV0aG9kTmFtZSk7CiAgICAgICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICAgIHJldHVybiBoYW5kbGVyOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgcG9pbnQgZm9yIGFkZGluZyBjdXN0b20gb3Igc2ltdWxhdGVkIGV2ZW50IGhhbmRsaW5nLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIE5vZGUgdG8gYWRkIGV2ZW50IGxpc3RlbmVyIHRvCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBMaXN0ZW5lciBmdW5jdGlvbiB0byBhZGQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgcG9pbnQgZm9yIGFkZGluZyBjdXN0b20gb3Igc2ltdWxhdGVkIGV2ZW50IGhhbmRsaW5nLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIE5vZGUgdG8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGZyb20KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50CiAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KTp2b2lkfSBoYW5kbGVyIExpc3RlbmVyIGZ1bmN0aW9uIHRvIHJlbW92ZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gVGVtcGxhdGVTdGFtcDsKCiAgfSk7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvKiogQGNvbnN0IHtPYmplY3R9ICovCiAgY29uc3QgQ2FzZU1hcCA9IFBvbHltZXIuQ2FzZU1hcDsKCiAgLy8gTW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHVuaXF1ZSBJRCB1c2VkIGZvciBkZS1kdXBpbmcgZWZmZWN0cyB0cmlnZ2VyZWQKICAvLyBmcm9tIG11bHRpcGxlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgdHVybgogIGxldCBkZWR1cGVJZCA9IDA7CgogIC8qKgogICAqIFByb3BlcnR5IGVmZmVjdCB0eXBlczsgZWZmZWN0cyBhcmUgc3RvcmVkIG9uIHRoZSBwcm90b3R5cGUgdXNpbmcgdGhlc2Uga2V5cwogICAqIEBlbnVtIHtzdHJpbmd9CiAgICovCiAgY29uc3QgVFlQRVMgPSB7CiAgICBDT01QVVRFOiAnX19jb21wdXRlRWZmZWN0cycsCiAgICBSRUZMRUNUOiAnX19yZWZsZWN0RWZmZWN0cycsCiAgICBOT1RJRlk6ICdfX25vdGlmeUVmZmVjdHMnLAogICAgUFJPUEFHQVRFOiAnX19wcm9wYWdhdGVFZmZlY3RzJywKICAgIE9CU0VSVkU6ICdfX29ic2VydmVFZmZlY3RzJywKICAgIFJFQURfT05MWTogJ19fcmVhZE9ubHknCiAgfTsKCiAgLyoqIEBjb25zdCB7UmVnRXhwfSAqLwogIGNvbnN0IGNhcGl0YWxBdHRyaWJ1dGVSZWdleCA9IC9bQS1aXS87CgogIC8qKgogICAqIEB0eXBlZGVmIHt7CiAgICogbmFtZTogKHN0cmluZyB8IHVuZGVmaW5lZCksCiAgICogc3RydWN0dXJlZDogKGJvb2xlYW4gfCB1bmRlZmluZWQpLAogICAqIHdpbGRjYXJkOiAoYm9vbGVhbiB8IHVuZGVmaW5lZCkKICAgKiB9fQogICAqLwogIGxldCBEYXRhVHJpZ2dlcjsgLy9lc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCgogIC8qKgogICAqIEB0eXBlZGVmIHt7CiAgICogaW5mbzogPywKICAgKiB0cmlnZ2VyOiAoIURhdGFUcmlnZ2VyIHwgdW5kZWZpbmVkKSwKICAgKiBmbjogKCFGdW5jdGlvbiB8IHVuZGVmaW5lZCkKICAgKiB9fQogICAqLwogIGxldCBEYXRhRWZmZWN0OyAvL2VzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKCiAgbGV0IFByb3BlcnR5RWZmZWN0c1R5cGU7IC8vZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwoKICAvKioKICAgKiBFbnN1cmVzIHRoYXQgdGhlIG1vZGVsIGhhcyBhbiBvd24tcHJvcGVydHkgbWFwIG9mIGVmZmVjdHMgZm9yIHRoZSBnaXZlbiB0eXBlLgogICAqIFRoZSBtb2RlbCBtYXkgYmUgYSBwcm90b3R5cGUgb3IgYW4gaW5zdGFuY2UuCiAgICoKICAgKiBQcm9wZXJ0eSBlZmZlY3RzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIG9mIGVmZmVjdHMgYnkgcHJvcGVydHkgaW4gYSBtYXAsCiAgICogYnkgbmFtZWQgdHlwZSBvbiB0aGUgbW9kZWwuIGUuZy4KICAgKgogICAqICAgX19jb21wdXRlRWZmZWN0czogewogICAqICAgICBmb286IFsgLi4uIF0sCiAgICogICAgIGJhcjogWyAuLi4gXQogICAqICAgfQogICAqCiAgICogSWYgdGhlIG1vZGVsIGRvZXMgbm90IHlldCBoYXZlIGFuIGVmZmVjdCBtYXAgZm9yIHRoZSB0eXBlLCBvbmUgaXMgY3JlYXRlZAogICAqIGFuZCByZXR1cm5lZC4gIElmIGl0IGRvZXMsIGJ1dCBpdCBpcyBub3QgYW4gb3duIHByb3BlcnR5IChpLmUuIHRoZQogICAqIHByb3RvdHlwZSBoYWQgZWZmZWN0cyksIHRoZSB0aGUgbWFwIGlzIGRlZXBseSBjbG9uZWQgYW5kIHRoZSBjb3B5IGlzCiAgICogc2V0IG9uIHRoZSBtb2RlbCBhbmQgcmV0dXJuZWQsIHJlYWR5IGZvciBuZXcgZWZmZWN0cyB0byBiZSBhZGRlZC4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0fSBtb2RlbCBQcm90b3R5cGUgb3IgaW5zdGFuY2UKICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBQcm9wZXJ0eSBlZmZlY3QgdHlwZQogICAqIEByZXR1cm4ge09iamVjdH0gVGhlIG93bi1wcm9wZXJ0eSBtYXAgb2YgZWZmZWN0cyBmb3IgdGhlIGdpdmVuIHR5cGUKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGVuc3VyZU93bkVmZmVjdE1hcChtb2RlbCwgdHlwZSkgewogICAgbGV0IGVmZmVjdHMgPSBtb2RlbFt0eXBlXTsKICAgIGlmICghZWZmZWN0cykgewogICAgICBlZmZlY3RzID0gbW9kZWxbdHlwZV0gPSB7fTsKICAgIH0gZWxzZSBpZiAoIW1vZGVsLmhhc093blByb3BlcnR5KHR5cGUpKSB7CiAgICAgIGVmZmVjdHMgPSBtb2RlbFt0eXBlXSA9IE9iamVjdC5jcmVhdGUobW9kZWxbdHlwZV0pOwogICAgICBmb3IgKGxldCBwIGluIGVmZmVjdHMpIHsKICAgICAgICBsZXQgcHJvdG9GeCA9IGVmZmVjdHNbcF07CiAgICAgICAgbGV0IGluc3RGeCA9IGVmZmVjdHNbcF0gPSBBcnJheShwcm90b0Z4Lmxlbmd0aCk7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPHByb3RvRngubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGluc3RGeFtpXSA9IHByb3RvRnhbaV07CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gZWZmZWN0czsKICB9CgogIC8vIC0tIGVmZmVjdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAvKioKICAgKiBSdW5zIGFsbCBlZmZlY3RzIG9mIGEgZ2l2ZW4gdHlwZSBmb3IgdGhlIGdpdmVuIHNldCBvZiBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogb24gYW4gaW5zdGFuY2UuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB3aXRoIGVmZmVjdHMgdG8gcnVuCiAgICogQHBhcmFtIHtPYmplY3R9IGVmZmVjdHMgT2JqZWN0IG1hcCBvZiBwcm9wZXJ0eS10by1BcnJheSBvZiBlZmZlY3RzCiAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJhZyBvZiBjdXJyZW50IHByb3BlcnR5IGNoYW5nZXMKICAgKiBAcGFyYW0ge09iamVjdD19IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHBhcmFtIHsqPX0gZXh0cmFBcmdzIEFkZGl0aW9uYWwgbWV0YWRhdGEgdG8gcGFzcyB0byBlZmZlY3QgZnVuY3Rpb24KICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFuIGVmZmVjdCByYW4gZm9yIHRoaXMgcHJvcGVydHkKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkVmZmVjdHMoaW5zdCwgZWZmZWN0cywgcHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocywgZXh0cmFBcmdzKSB7CiAgICBpZiAoZWZmZWN0cykgewogICAgICBsZXQgcmFuID0gZmFsc2U7CiAgICAgIGxldCBpZCA9IGRlZHVwZUlkKys7CiAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICBpZiAocnVuRWZmZWN0c0ZvclByb3BlcnR5KGluc3QsIGVmZmVjdHMsIGlkLCBwcm9wLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzLCBleHRyYUFyZ3MpKSB7CiAgICAgICAgICByYW4gPSB0cnVlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcmFuOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLyoqCiAgICogUnVucyBhIGxpc3Qgb2YgZWZmZWN0cyBmb3IgYSBnaXZlbiBwcm9wZXJ0eS4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHdpdGggZWZmZWN0cyB0byBydW4KICAgKiBAcGFyYW0ge09iamVjdH0gZWZmZWN0cyBPYmplY3QgbWFwIG9mIHByb3BlcnR5LXRvLUFycmF5IG9mIGVmZmVjdHMKICAgKiBAcGFyYW0ge251bWJlcn0gZGVkdXBlSWQgQ291bnRlciB1c2VkIGZvciBkZS1kdXBpbmcgZWZmZWN0cwogICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIE5hbWUgb2YgY2hhbmdlZCBwcm9wZXJ0eQogICAqIEBwYXJhbSB7Kn0gcHJvcHMgQ2hhbmdlZCBwcm9wZXJ0aWVzCiAgICogQHBhcmFtIHsqfSBvbGRQcm9wcyBPbGQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHBhcmFtIHsqPX0gZXh0cmFBcmdzIEFkZGl0aW9uYWwgbWV0YWRhdGEgdG8gcGFzcyB0byBlZmZlY3QgZnVuY3Rpb24KICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFuIGVmZmVjdCByYW4gZm9yIHRoaXMgcHJvcGVydHkKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkVmZmVjdHNGb3JQcm9wZXJ0eShpbnN0LCBlZmZlY3RzLCBkZWR1cGVJZCwgcHJvcCwgcHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocywgZXh0cmFBcmdzKSB7CiAgICBsZXQgcmFuID0gZmFsc2U7CiAgICBsZXQgcm9vdFByb3BlcnR5ID0gaGFzUGF0aHMgPyBQb2x5bWVyLlBhdGgucm9vdChwcm9wKSA6IHByb3A7CiAgICBsZXQgZnhzID0gZWZmZWN0c1tyb290UHJvcGVydHldOwogICAgaWYgKGZ4cykgewogICAgICBmb3IgKGxldCBpPTAsIGw9ZnhzLmxlbmd0aCwgZng7IChpPGwpICYmIChmeD1meHNbaV0pOyBpKyspIHsKICAgICAgICBpZiAoKCFmeC5pbmZvIHx8IGZ4LmluZm8ubGFzdFJ1biAhPT0gZGVkdXBlSWQpICYmCiAgICAgICAgICAgICghaGFzUGF0aHMgfHwgcGF0aE1hdGNoZXNUcmlnZ2VyKHByb3AsIGZ4LnRyaWdnZXIpKSkgewogICAgICAgICAgaWYgKGZ4LmluZm8pIHsKICAgICAgICAgICAgZnguaW5mby5sYXN0UnVuID0gZGVkdXBlSWQ7CiAgICAgICAgICB9CiAgICAgICAgICBmeC5mbihpbnN0LCBwcm9wLCBwcm9wcywgb2xkUHJvcHMsIGZ4LmluZm8sIGhhc1BhdGhzLCBleHRyYUFyZ3MpOwogICAgICAgICAgcmFuID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByYW47CiAgfQoKICAvKioKICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBwcm9wZXJ0eS9wYXRoIHRoYXQgaGFzIGNoYW5nZWQgbWF0Y2hlcyB0aGUgdHJpZ2dlcgogICAqIGNyaXRlcmlhIGZvciBhbiBlZmZlY3QuICBBIHRyaWdnZXIgaXMgYSBkZXNjcmlwdG9yIHdpdGggdGhlIGZvbGxvd2luZwogICAqIHN0cnVjdHVyZSwgd2hpY2ggbWF0Y2hlcyB0aGUgZGVzY3JpcHRvcnMgcmV0dXJuZWQgZnJvbSBgcGFyc2VBcmdgLgogICAqIGUuZy4gZm9yIGBmb28uYmFyLipgOgogICAqIGBgYAogICAqIHRyaWdnZXI6IHsKICAgKiAgIG5hbWU6ICdhLmInLAogICAqICAgc3RydWN0dXJlZDogdHJ1ZSwKICAgKiAgIHdpbGRjYXJkOiB0cnVlCiAgICogfQogICAqIGBgYAogICAqIElmIG5vIHRyaWdnZXIgaXMgZ2l2ZW4sIHRoZSBwYXRoIGlzIGRlZW1lZCB0byBtYXRjaC4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggb3IgcHJvcGVydHkgdGhhdCBjaGFuZ2VkCiAgICogQHBhcmFtIHtEYXRhVHJpZ2dlcn0gdHJpZ2dlciBEZXNjcmlwdG9yCiAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgcGF0aCBtYXRjaGVkIHRoZSB0cmlnZ2VyCiAgICovCiAgZnVuY3Rpb24gcGF0aE1hdGNoZXNUcmlnZ2VyKHBhdGgsIHRyaWdnZXIpIHsKICAgIGlmICh0cmlnZ2VyKSB7CiAgICAgIGxldCB0cmlnZ2VyUGF0aCA9IHRyaWdnZXIubmFtZTsKICAgICAgcmV0dXJuICh0cmlnZ2VyUGF0aCA9PSBwYXRoKSB8fAogICAgICAgICh0cmlnZ2VyLnN0cnVjdHVyZWQgJiYgUG9seW1lci5QYXRoLmlzQW5jZXN0b3IodHJpZ2dlclBhdGgsIHBhdGgpKSB8fAogICAgICAgICh0cmlnZ2VyLndpbGRjYXJkICYmIFBvbHltZXIuUGF0aC5pc0Rlc2NlbmRhbnQodHJpZ2dlclBhdGgsIHBhdGgpKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgLyoqCiAgICogSW1wbGVtZW50cyB0aGUgIm9ic2VydmVyIiBlZmZlY3QuCiAgICoKICAgKiBDYWxscyB0aGUgbWV0aG9kIHdpdGggYGluZm8ubWV0aG9kTmFtZWAgb24gdGhlIGluc3RhbmNlLCBwYXNzaW5nIHRoZQogICAqIG5ldyBhbmQgb2xkIHZhbHVlcy4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBwcm9wZXJ0eQogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7P30gaW5mbyBFZmZlY3QgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcnVuT2JzZXJ2ZXJFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbykgewogICAgbGV0IGZuID0gdHlwZW9mIGluZm8ubWV0aG9kID09PSAic3RyaW5nIiA/IGluc3RbaW5mby5tZXRob2RdIDogaW5mby5tZXRob2Q7CiAgICBsZXQgY2hhbmdlZFByb3AgPSBpbmZvLnByb3BlcnR5OwogICAgaWYgKGZuKSB7CiAgICAgIGZuLmNhbGwoaW5zdCwgaW5zdC5fX2RhdGFbY2hhbmdlZFByb3BdLCBvbGRQcm9wc1tjaGFuZ2VkUHJvcF0pOwogICAgfSBlbHNlIGlmICghaW5mby5keW5hbWljRm4pIHsKICAgICAgY29uc29sZS53YXJuKCdvYnNlcnZlciBtZXRob2QgYCcgKyBpbmZvLm1ldGhvZCArICdgIG5vdCBkZWZpbmVkJyk7CiAgICB9CiAgfQoKICAvKioKICAgKiBSdW5zICJub3RpZnkiIGVmZmVjdHMgZm9yIGEgc2V0IG9mIGNoYW5nZWQgcHJvcGVydGllcy4KICAgKgogICAqIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSB0aGUgZ2VuZXJpYyBgcnVuRWZmZWN0c2AgbWV0aG9kIGluIHRoYXQgaXQKICAgKiB3aWxsIGRpc3BhdGNoIHBhdGggbm90aWZpY2F0aW9uIGV2ZW50cyBpbiB0aGUgY2FzZSB0aGF0IHRoZSBwcm9wZXJ0eQogICAqIGNoYW5nZWQgd2FzIGEgcGF0aCBhbmQgdGhlIHJvb3QgcHJvcGVydHkgZm9yIHRoYXQgcGF0aCBkaWRuJ3QgaGF2ZSBhCiAgICogIm5vdGlmeSIgZWZmZWN0LiAgVGhpcyBpcyB0byBtYWludGFpbiAxLjAgYmVoYXZpb3IgdGhhdCBkaWQgbm90IHJlcXVpcmUKICAgKiBgbm90aWZ5OiB0cnVlYCB0byBlbnN1cmUgb2JqZWN0IHN1Yi1wcm9wZXJ0eSBub3RpZmljYXRpb25zIHdlcmUKICAgKiBzZW50LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugd2l0aCBlZmZlY3RzIHRvIHJ1bgogICAqIEBwYXJhbSB7T2JqZWN0fSBub3RpZnlQcm9wcyBCYWcgb2YgcHJvcGVydGllcyB0byBub3RpZnkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bk5vdGlmeUVmZmVjdHMoaW5zdCwgbm90aWZ5UHJvcHMsIHByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpIHsKICAgIC8vIE5vdGlmeQogICAgbGV0IGZ4cyA9IGluc3RbVFlQRVMuTk9USUZZXTsKICAgIGxldCBub3RpZmllZDsKICAgIGxldCBpZCA9IGRlZHVwZUlkKys7CiAgICAvLyBUcnkgbm9ybWFsIG5vdGlmeSBlZmZlY3RzOyBpZiBub25lLCBmYWxsIGJhY2sgdG8gdHJ5IHBhdGggbm90aWZpY2F0aW9uCiAgICBmb3IgKGxldCBwcm9wIGluIG5vdGlmeVByb3BzKSB7CiAgICAgIGlmIChub3RpZnlQcm9wc1twcm9wXSkgewogICAgICAgIGlmIChmeHMgJiYgcnVuRWZmZWN0c0ZvclByb3BlcnR5KGluc3QsIGZ4cywgaWQsIHByb3AsIHByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpKSB7CiAgICAgICAgICBub3RpZmllZCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChoYXNQYXRocyAmJiBub3RpZnlQYXRoKGluc3QsIHByb3AsIHByb3BzKSkgewogICAgICAgICAgbm90aWZpZWQgPSB0cnVlOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgLy8gRmx1c2ggaG9zdCBpZiB3ZSBhY3R1YWxseSBub3RpZmllZCBhbmQgaG9zdCB3YXMgYmF0Y2hpbmcKICAgIC8vIEFuZCB0aGUgaG9zdCBoYXMgYWxyZWFkeSBpbml0aWFsaXplZCBjbGllbnRzOyB0aGlzIHByZXZlbnRzCiAgICAvLyBhbiBpc3N1ZSB3aXRoIGEgaG9zdCBvYnNlcnZpbmcgZGF0YSBjaGFuZ2VzIGJlZm9yZSBjbGllbnRzIGFyZSByZWFkeS4KICAgIGxldCBob3N0OwogICAgaWYgKG5vdGlmaWVkICYmIChob3N0ID0gaW5zdC5fX2RhdGFIb3N0KSAmJiBob3N0Ll9pbnZhbGlkYXRlUHJvcGVydGllcykgewogICAgICBob3N0Ll9pbnZhbGlkYXRlUHJvcGVydGllcygpOwogICAgfQogIH0KCiAgLyoqCiAgICogRGlzcGF0Y2hlcyB7cHJvcGVydHl9LWNoYW5nZWQgZXZlbnRzIHdpdGggcGF0aCBpbmZvcm1hdGlvbiBpbiB0aGUgZGV0YWlsCiAgICogb2JqZWN0IHRvIGluZGljYXRlIGEgc3ViLXBhdGggb2YgdGhlIHByb3BlcnR5IHdhcyBjaGFuZ2VkLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgZWxlbWVudCBmcm9tIHdoaWNoIHRvIGZpcmUgdGhlIGV2ZW50CiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdGhhdCB3YXMgY2hhbmdlZAogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwYXRoIHdhcyBub3RpZmllZAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5UGF0aChpbnN0LCBwYXRoLCBwcm9wcykgewogICAgbGV0IHJvb3RQcm9wZXJ0eSA9IFBvbHltZXIuUGF0aC5yb290KHBhdGgpOwogICAgaWYgKHJvb3RQcm9wZXJ0eSAhPT0gcGF0aCkgewogICAgICBsZXQgZXZlbnROYW1lID0gUG9seW1lci5DYXNlTWFwLmNhbWVsVG9EYXNoQ2FzZShyb290UHJvcGVydHkpICsgJy1jaGFuZ2VkJzsKICAgICAgZGlzcGF0Y2hOb3RpZnlFdmVudChpbnN0LCBldmVudE5hbWUsIHByb3BzW3BhdGhdLCBwYXRoKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvKioKICAgKiBEaXNwYXRjaGVzIHtwcm9wZXJ0eX0tY2hhbmdlZCBldmVudHMgdG8gaW5kaWNhdGUgYSBwcm9wZXJ0eSAob3IgcGF0aCkKICAgKiBjaGFuZ2VkLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgZWxlbWVudCBmcm9tIHdoaWNoIHRvIGZpcmUgdGhlIGV2ZW50CiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gc2VuZCAoJ3twcm9wZXJ0eX0tY2hhbmdlZCcpCiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGNoYW5nZWQgcHJvcGVydHkKICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IHBhdGggSWYgYSBzdWItcGF0aCBvZiB0aGlzIHByb3BlcnR5IGNoYW5nZWQsIHRoZSBwYXRoCiAgICogICB0aGF0IGNoYW5nZWQgKG9wdGlvbmFsKS4KICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9CiAgICovCiAgZnVuY3Rpb24gZGlzcGF0Y2hOb3RpZnlFdmVudChpbnN0LCBldmVudE5hbWUsIHZhbHVlLCBwYXRoKSB7CiAgICBsZXQgZGV0YWlsID0gewogICAgICB2YWx1ZTogdmFsdWUsCiAgICAgIHF1ZXVlUHJvcGVydHk6IHRydWUKICAgIH07CiAgICBpZiAocGF0aCkgewogICAgICBkZXRhaWwucGF0aCA9IHBhdGg7CiAgICB9CiAgICAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8oaW5zdCkuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZXZlbnROYW1lLCB7IGRldGFpbCB9KSk7CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAibm90aWZ5IiBlZmZlY3QuCiAgICoKICAgKiBEaXNwYXRjaGVzIGEgbm9uLWJ1YmJsaW5nIGV2ZW50IG5hbWVkIGBpbmZvLmV2ZW50TmFtZWAgb24gdGhlIGluc3RhbmNlCiAgICogd2l0aCBhIGRldGFpbCBvYmplY3QgY29udGFpbmluZyB0aGUgbmV3IGB2YWx1ZWAuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5Ob3RpZnlFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbywgaGFzUGF0aHMpIHsKICAgIGxldCByb290UHJvcGVydHkgPSBoYXNQYXRocyA/IFBvbHltZXIuUGF0aC5yb290KHByb3BlcnR5KSA6IHByb3BlcnR5OwogICAgbGV0IHBhdGggPSByb290UHJvcGVydHkgIT0gcHJvcGVydHkgPyBwcm9wZXJ0eSA6IG51bGw7CiAgICBsZXQgdmFsdWUgPSBwYXRoID8gUG9seW1lci5QYXRoLmdldChpbnN0LCBwYXRoKSA6IGluc3QuX19kYXRhW3Byb3BlcnR5XTsKICAgIGlmIChwYXRoICYmIHZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgICAgdmFsdWUgPSBwcm9wc1twcm9wZXJ0eV07ICAvLyBzcGVjaWZpY2FsbHkgZm9yIC5zcGxpY2VzCiAgICB9CiAgICBkaXNwYXRjaE5vdGlmeUV2ZW50KGluc3QsIGluZm8uZXZlbnROYW1lLCB2YWx1ZSwgcGF0aCk7CiAgfQoKICAvKioKICAgKiBIYW5kbGVyIGZ1bmN0aW9uIGZvciAyLXdheSBub3RpZmljYXRpb24gZXZlbnRzLiBSZWNlaXZlcyBjb250ZXh0CiAgICogaW5mb3JtYXRpb24gY2FwdHVyZWQgaW4gdGhlIGBhZGROb3RpZnlMaXN0ZW5lcmAgY2xvc3VyZSBmcm9tIHRoZQogICAqIGBfX25vdGlmeUxpc3RlbmVyc2AgbWV0YWRhdGEuCiAgICoKICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgbm90aWZpZWQgcHJvcGVydHkgdG8gdGhlIGhvc3QgcHJvcGVydHkgb3IgcGF0aC4gIElmCiAgICogdGhlIGV2ZW50IGNvbnRhaW5lZCBwYXRoIGluZm9ybWF0aW9uLCB0cmFuc2xhdGUgdGhhdCBwYXRoIHRvIHRoZSBob3N0CiAgICogc2NvcGUncyBuYW1lIGZvciB0aGF0IHBhdGggZmlyc3QuCiAgICoKICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCBOb3RpZmljYXRpb24gZXZlbnQgKGUuZy4gJzxwcm9wZXJ0eT4tY2hhbmdlZCcpCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBIb3N0IGVsZW1lbnQgaW5zdGFuY2UgaGFuZGxpbmcgdGhlIG5vdGlmaWNhdGlvbiBldmVudAogICAqIEBwYXJhbSB7c3RyaW5nfSBmcm9tUHJvcCBDaGlsZCBlbGVtZW50IHByb3BlcnR5IHRoYXQgd2FzIGJvdW5kCiAgICogQHBhcmFtIHtzdHJpbmd9IHRvUGF0aCBIb3N0IHByb3BlcnR5L3BhdGggdGhhdCB3YXMgYm91bmQKICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5lZ2F0ZSBXaGV0aGVyIHRoZSBiaW5kaW5nIHdhcyBuZWdhdGVkCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGhhbmRsZU5vdGlmaWNhdGlvbihldmVudCwgaW5zdCwgZnJvbVByb3AsIHRvUGF0aCwgbmVnYXRlKSB7CiAgICBsZXQgdmFsdWU7CiAgICBsZXQgZGV0YWlsID0gLyoqIEB0eXBlIHtPYmplY3R9ICovKGV2ZW50LmRldGFpbCk7CiAgICBsZXQgZnJvbVBhdGggPSBkZXRhaWwgJiYgZGV0YWlsLnBhdGg7CiAgICBpZiAoZnJvbVBhdGgpIHsKICAgICAgdG9QYXRoID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShmcm9tUHJvcCwgdG9QYXRoLCBmcm9tUGF0aCk7CiAgICAgIHZhbHVlID0gZGV0YWlsICYmIGRldGFpbC52YWx1ZTsKICAgIH0gZWxzZSB7CiAgICAgIHZhbHVlID0gZXZlbnQuY3VycmVudFRhcmdldFtmcm9tUHJvcF07CiAgICB9CiAgICB2YWx1ZSA9IG5lZ2F0ZSA/ICF2YWx1ZSA6IHZhbHVlOwogICAgaWYgKCFpbnN0W1RZUEVTLlJFQURfT05MWV0gfHwgIWluc3RbVFlQRVMuUkVBRF9PTkxZXVt0b1BhdGhdKSB7CiAgICAgIGlmIChpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodG9QYXRoLCB2YWx1ZSwgdHJ1ZSwgQm9vbGVhbihmcm9tUGF0aCkpCiAgICAgICAgJiYgKCFkZXRhaWwgfHwgIWRldGFpbC5xdWV1ZVByb3BlcnR5KSkgewogICAgICAgIGluc3QuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIEltcGxlbWVudHMgdGhlICJyZWZsZWN0IiBlZmZlY3QuCiAgICoKICAgKiBTZXRzIHRoZSBhdHRyaWJ1dGUgbmFtZWQgYGluZm8uYXR0ck5hbWVgIHRvIHRoZSBnaXZlbiBwcm9wZXJ0eSB2YWx1ZS4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBwcm9wZXJ0eQogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7P30gaW5mbyBFZmZlY3QgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcnVuUmVmbGVjdEVmZmVjdChpbnN0LCBwcm9wZXJ0eSwgcHJvcHMsIG9sZFByb3BzLCBpbmZvKSB7CiAgICBsZXQgdmFsdWUgPSBpbnN0Ll9fZGF0YVtwcm9wZXJ0eV07CiAgICBpZiAoUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlKSB7CiAgICAgIHZhbHVlID0gUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlKHZhbHVlLCBpbmZvLmF0dHJOYW1lLCAnYXR0cmlidXRlJywgLyoqIEB0eXBlIHtOb2RlfSAqLyhpbnN0KSk7CiAgICB9CiAgICBpbnN0Ll9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBpbmZvLmF0dHJOYW1lLCB2YWx1ZSk7CiAgfQoKICAvKioKICAgKiBSdW5zICJjb21wdXRlZCIgZWZmZWN0cyBmb3IgYSBzZXQgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzLgogICAqCiAgICogVGhpcyBtZXRob2QgZGlmZmVycyBmcm9tIHRoZSBnZW5lcmljIGBydW5FZmZlY3RzYCBtZXRob2QgaW4gdGhhdCBpdAogICAqIGNvbnRpbnVlcyB0byBydW4gY29tcHV0ZWQgZWZmZWN0cyBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIGVhY2ggcGFzcyB1bnRpbAogICAqIHRoZXJlIGFyZSBubyBtb3JlIG5ld2x5IGNvbXB1dGVkIHByb3BlcnRpZXMuICBUaGlzIGVuc3VyZXMgdGhhdCBhbGwKICAgKiBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb21wdXRlZCBieSB0aGUgaW5pdGlhbCBzZXQgb2YgY2hhbmdlcyBhcmUKICAgKiBjb21wdXRlZCBiZWZvcmUgb3RoZXIgZWZmZWN0cyAoYmluZGluZyBwcm9wYWdhdGlvbiwgb2JzZXJ2ZXJzLCBhbmQgbm90aWZ5KQogICAqIHJ1bi4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0geyFPYmplY3R9IGNoYW5nZWRQcm9wcyBCYWcgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzCiAgICogQHBhcmFtIHshT2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkNvbXB1dGVkRWZmZWN0cyhpbnN0LCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocykgewogICAgbGV0IGNvbXB1dGVFZmZlY3RzID0gaW5zdFtUWVBFUy5DT01QVVRFXTsKICAgIGlmIChjb21wdXRlRWZmZWN0cykgewogICAgICBsZXQgaW5wdXRQcm9wcyA9IGNoYW5nZWRQcm9wczsKICAgICAgd2hpbGUgKHJ1bkVmZmVjdHMoaW5zdCwgY29tcHV0ZUVmZmVjdHMsIGlucHV0UHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocykpIHsKICAgICAgICBPYmplY3QuYXNzaWduKG9sZFByb3BzLCBpbnN0Ll9fZGF0YU9sZCk7CiAgICAgICAgT2JqZWN0LmFzc2lnbihjaGFuZ2VkUHJvcHMsIGluc3QuX19kYXRhUGVuZGluZyk7CiAgICAgICAgaW5wdXRQcm9wcyA9IGluc3QuX19kYXRhUGVuZGluZzsKICAgICAgICBpbnN0Ll9fZGF0YVBlbmRpbmcgPSBudWxsOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAiY29tcHV0ZWQgcHJvcGVydHkiIGVmZmVjdCBieSBydW5uaW5nIHRoZSBtZXRob2Qgd2l0aCB0aGUKICAgKiB2YWx1ZXMgb2YgdGhlIGFyZ3VtZW50cyBzcGVjaWZpZWQgaW4gdGhlIGBpbmZvYCBvYmplY3QgYW5kIHNldHRpbmcgdGhlCiAgICogcmV0dXJuIHZhbHVlIHRvIHRoZSBjb21wdXRlZCBwcm9wZXJ0eSBzcGVjaWZpZWQuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkNvbXB1dGVkRWZmZWN0KGluc3QsIHByb3BlcnR5LCBwcm9wcywgb2xkUHJvcHMsIGluZm8pIHsKICAgIGxldCByZXN1bHQgPSBydW5NZXRob2RFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbyk7CiAgICBsZXQgY29tcHV0ZWRQcm9wID0gaW5mby5tZXRob2RJbmZvOwogICAgaWYgKGluc3QuX19kYXRhSGFzQWNjZXNzb3IgJiYgaW5zdC5fX2RhdGFIYXNBY2Nlc3Nvcltjb21wdXRlZFByb3BdKSB7CiAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eShjb21wdXRlZFByb3AsIHJlc3VsdCwgdHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICBpbnN0W2NvbXB1dGVkUHJvcF0gPSByZXN1bHQ7CiAgICB9CiAgfQoKICAvKioKICAgKiBDb21wdXRlcyBwYXRoIGNoYW5nZXMgYmFzZWQgb24gcGF0aCBsaW5rcyBzZXQgdXAgdXNpbmcgdGhlIGBsaW5rUGF0aHNgCiAgICogQVBJLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugd2hvc2UgcHJvcHMgYXJlIGNoYW5naW5nCiAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8KHN0cmluZ3xudW1iZXIpPn0gcGF0aCBQYXRoIHRoYXQgaGFzIGNoYW5nZWQKICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIG9mIGNoYW5nZWQgcGF0aAogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBjb21wdXRlTGlua2VkUGF0aHMoaW5zdCwgcGF0aCwgdmFsdWUpIHsKICAgIGxldCBsaW5rcyA9IGluc3QuX19kYXRhTGlua2VkUGF0aHM7CiAgICBpZiAobGlua3MpIHsKICAgICAgbGV0IGxpbms7CiAgICAgIGZvciAobGV0IGEgaW4gbGlua3MpIHsKICAgICAgICBsZXQgYiA9IGxpbmtzW2FdOwogICAgICAgIGlmIChQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KGEsIHBhdGgpKSB7CiAgICAgICAgICBsaW5rID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShhLCBiLCBwYXRoKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChsaW5rLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIGlmIChQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KGIsIHBhdGgpKSB7CiAgICAgICAgICBsaW5rID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShiLCBhLCBwYXRoKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChsaW5rLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQoKICAvLyAtLSBiaW5kaW5ncyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIC8qKgogICAqIEFkZHMgYmluZGluZyBtZXRhZGF0YSB0byB0aGUgY3VycmVudCBgbm9kZUluZm9gLCBhbmQgYmluZGluZyBlZmZlY3RzCiAgICogZm9yIGFsbCBwYXJ0IGRlcGVuZGVuY2llcyB0byBgdGVtcGxhdGVJbmZvYC4KICAgKgogICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbnN0cnVjdG9yIENsYXNzIHRoYXQgYF9wYXJzZVRlbXBsYXRlYCBpcyBjdXJyZW50bHkKICAgKiAgIHJ1bm5pbmcgb24KICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICogQHBhcmFtIHtzdHJpbmd9IGtpbmQgQmluZGluZyBraW5kLCBlaXRoZXIgJ3Byb3BlcnR5JywgJ2F0dHJpYnV0ZScsIG9yICd0ZXh0JwogICAqIEBwYXJhbSB7c3RyaW5nfSB0YXJnZXQgVGFyZ2V0IHByb3BlcnR5IG5hbWUKICAgKiBAcGFyYW0geyFBcnJheTwhQmluZGluZ1BhcnQ+fSBwYXJ0cyBBcnJheSBvZiBiaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcGFyYW0ge3N0cmluZz19IGxpdGVyYWwgTGl0ZXJhbCB0ZXh0IHN1cnJvdW5kaW5nIGJpbmRpbmcgcGFydHMgKHNwZWNpZmllZAogICAqICAgb25seSBmb3IgJ3Byb3BlcnR5JyBiaW5kaW5ncywgc2luY2UgdGhlc2UgbXVzdCBiZSBpbml0aWFsaXplZCBhcyBwYXJ0CiAgICogICBvZiBib290LXVwKQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBhZGRCaW5kaW5nKGNvbnN0cnVjdG9yLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCBraW5kLCB0YXJnZXQsIHBhcnRzLCBsaXRlcmFsKSB7CiAgICAvLyBDcmVhdGUgYmluZGluZyBtZXRhZGF0YSBhbmQgYWRkIHRvIG5vZGVJbmZvCiAgICBub2RlSW5mby5iaW5kaW5ncyA9IG5vZGVJbmZvLmJpbmRpbmdzIHx8IFtdOwogICAgbGV0IC8qKiBCaW5kaW5nICovIGJpbmRpbmcgPSB7IGtpbmQsIHRhcmdldCwgcGFydHMsIGxpdGVyYWwsIGlzQ29tcG91bmQ6IChwYXJ0cy5sZW5ndGggIT09IDEpIH07CiAgICBub2RlSW5mby5iaW5kaW5ncy5wdXNoKGJpbmRpbmcpOwogICAgLy8gQWRkIGxpc3RlbmVyIGluZm8gdG8gYmluZGluZyBtZXRhZGF0YQogICAgaWYgKHNob3VsZEFkZExpc3RlbmVyKGJpbmRpbmcpKSB7CiAgICAgIGxldCB7ZXZlbnQsIG5lZ2F0ZX0gPSBiaW5kaW5nLnBhcnRzWzBdOwogICAgICBiaW5kaW5nLmxpc3RlbmVyRXZlbnQgPSBldmVudCB8fCAoQ2FzZU1hcC5jYW1lbFRvRGFzaENhc2UodGFyZ2V0KSArICctY2hhbmdlZCcpOwogICAgICBiaW5kaW5nLmxpc3RlbmVyTmVnYXRlID0gbmVnYXRlOwogICAgfQogICAgLy8gQWRkICJwcm9wYWdhdGUiIHByb3BlcnR5IGVmZmVjdHMgdG8gdGVtcGxhdGVJbmZvCiAgICBsZXQgaW5kZXggPSB0ZW1wbGF0ZUluZm8ubm9kZUluZm9MaXN0Lmxlbmd0aDsKICAgIGZvciAobGV0IGk9MDsgaTxiaW5kaW5nLnBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBwYXJ0ID0gYmluZGluZy5wYXJ0c1tpXTsKICAgICAgcGFydC5jb21wb3VuZEluZGV4ID0gaTsKICAgICAgYWRkRWZmZWN0Rm9yQmluZGluZ1BhcnQoY29uc3RydWN0b3IsIHRlbXBsYXRlSW5mbywgYmluZGluZywgcGFydCwgaW5kZXgpOwogICAgfQogIH0KCiAgLyoqCiAgICogQWRkcyBwcm9wZXJ0eSBlZmZlY3RzIHRvIHRoZSBnaXZlbiBgdGVtcGxhdGVJbmZvYCBmb3IgdGhlIGdpdmVuIGJpbmRpbmcKICAgKiBwYXJ0LgogICAqCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY29uc3RydWN0b3IgQ2xhc3MgdGhhdCBgX3BhcnNlVGVtcGxhdGVgIGlzIGN1cnJlbnRseQogICAqICAgcnVubmluZyBvbgogICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcGFyYW0geyFCaW5kaW5nUGFydH0gcGFydCBCaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggSW5kZXggaW50byBgbm9kZUluZm9MaXN0YCBmb3IgdGhpcyBub2RlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBmdW5jdGlvbiBhZGRFZmZlY3RGb3JCaW5kaW5nUGFydChjb25zdHJ1Y3RvciwgdGVtcGxhdGVJbmZvLCBiaW5kaW5nLCBwYXJ0LCBpbmRleCkgewogICAgaWYgKCFwYXJ0LmxpdGVyYWwpIHsKICAgICAgaWYgKGJpbmRpbmcua2luZCA9PT0gJ2F0dHJpYnV0ZScgJiYgYmluZGluZy50YXJnZXRbMF0gPT09ICctJykgewogICAgICAgIGNvbnNvbGUud2FybignQ2Fubm90IHNldCBhdHRyaWJ1dGUgJyArIGJpbmRpbmcudGFyZ2V0ICsKICAgICAgICAgICcgYmVjYXVzZSAiLSIgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIHN0YXJ0aW5nIGNoYXJhY3RlcicpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBkZXBlbmRlbmNpZXMgPSBwYXJ0LmRlcGVuZGVuY2llczsKICAgICAgICBsZXQgaW5mbyA9IHsgaW5kZXgsIGJpbmRpbmcsIHBhcnQsIGV2YWx1YXRvcjogY29uc3RydWN0b3IgfTsKICAgICAgICBmb3IgKGxldCBqPTA7IGo8ZGVwZW5kZW5jaWVzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICBsZXQgdHJpZ2dlciA9IGRlcGVuZGVuY2llc1tqXTsKICAgICAgICAgIGlmICh0eXBlb2YgdHJpZ2dlciA9PSAnc3RyaW5nJykgewogICAgICAgICAgICB0cmlnZ2VyID0gcGFyc2VBcmcodHJpZ2dlcik7CiAgICAgICAgICAgIHRyaWdnZXIud2lsZGNhcmQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgY29uc3RydWN0b3IuX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QodGVtcGxhdGVJbmZvLCB0cmlnZ2VyLnJvb3RQcm9wZXJ0eSwgewogICAgICAgICAgICBmbjogcnVuQmluZGluZ0VmZmVjdCwKICAgICAgICAgICAgaW5mbywgdHJpZ2dlcgogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAiYmluZGluZyIgKHByb3BlcnR5L3BhdGggYmluZGluZykgZWZmZWN0LgogICAqCiAgICogTm90ZSB0aGF0IGJpbmRpbmcgc3ludGF4IGlzIG92ZXJyaWRhYmxlIHZpYSBgX3BhcnNlQmluZGluZ3NgIGFuZAogICAqIGBfZXZhbHVhdGVCaW5kaW5nYC4gIFRoaXMgbWV0aG9kIHdpbGwgY2FsbCBgX2V2YWx1YXRlQmluZGluZ2AgZm9yIGFueQogICAqIG5vbi1saXRlcmFsIHBhcnRzIHJldHVybmVkIGZyb20gYF9wYXJzZUJpbmRpbmdzYC4gIEhvd2V2ZXIsCiAgICogdGhlcmUgaXMgbm8gc3VwcG9ydCBmb3IgX3BhdGhfIGJpbmRpbmdzIHZpYSBjdXN0b20gYmluZGluZyBwYXJ0cywKICAgKiBhcyB0aGlzIGlzIHNwZWNpZmljIHRvIFBvbHltZXIncyBwYXRoIGJpbmRpbmcgc3ludGF4LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2UgdGhlIGVmZmVjdCB3aWxsIGJlIHJ1biBvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAqIEBwYXJhbSB7QXJyYXl9IG5vZGVMaXN0IExpc3Qgb2Ygbm9kZXMgYXNzb2NpYXRlZCB3aXRoIGBub2RlSW5mb0xpc3RgIHRlbXBsYXRlCiAgICogICBtZXRhZGF0YQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5CaW5kaW5nRWZmZWN0KGluc3QsIHBhdGgsIHByb3BzLCBvbGRQcm9wcywgaW5mbywgaGFzUGF0aHMsIG5vZGVMaXN0KSB7CiAgICBsZXQgbm9kZSA9IG5vZGVMaXN0W2luZm8uaW5kZXhdOwogICAgbGV0IGJpbmRpbmcgPSBpbmZvLmJpbmRpbmc7CiAgICBsZXQgcGFydCA9IGluZm8ucGFydDsKICAgIC8vIFN1YnBhdGggbm90aWZpY2F0aW9uOiB0cmFuc2Zvcm0gcGF0aCBhbmQgc2V0IHRvIGNsaWVudAogICAgLy8gZS5nLjogZm9vPSJ7e29iai5zdWJ9fSIsIHBhdGg6ICdvYmouc3ViLnByb3AnLCBzZXQgJ2Zvby5wcm9wJz1vYmouc3ViLnByb3AKICAgIGlmIChoYXNQYXRocyAmJiBwYXJ0LnNvdXJjZSAmJiAocGF0aC5sZW5ndGggPiBwYXJ0LnNvdXJjZS5sZW5ndGgpICYmCiAgICAgICAgKGJpbmRpbmcua2luZCA9PSAncHJvcGVydHknKSAmJiAhYmluZGluZy5pc0NvbXBvdW5kICYmCiAgICAgICAgbm9kZS5fX2lzUHJvcGVydHlFZmZlY3RzQ2xpZW50ICYmCiAgICAgICAgbm9kZS5fX2RhdGFIYXNBY2Nlc3NvciAmJiBub2RlLl9fZGF0YUhhc0FjY2Vzc29yW2JpbmRpbmcudGFyZ2V0XSkgewogICAgICBsZXQgdmFsdWUgPSBwcm9wc1twYXRoXTsKICAgICAgcGF0aCA9IFBvbHltZXIuUGF0aC50cmFuc2xhdGUocGFydC5zb3VyY2UsIGJpbmRpbmcudGFyZ2V0LCBwYXRoKTsKICAgICAgaWYgKG5vZGUuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChwYXRoLCB2YWx1ZSwgZmFsc2UsIHRydWUpKSB7CiAgICAgICAgaW5zdC5fZW5xdWV1ZUNsaWVudChub2RlKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgbGV0IHZhbHVlID0gaW5mby5ldmFsdWF0b3IuX2V2YWx1YXRlQmluZGluZyhpbnN0LCBwYXJ0LCBwYXRoLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgLy8gUHJvcGFnYXRlIHZhbHVlIHRvIGNoaWxkCiAgICAgIGFwcGx5QmluZGluZ1ZhbHVlKGluc3QsIG5vZGUsIGJpbmRpbmcsIHBhcnQsIHZhbHVlKTsKICAgIH0KICB9CgogIC8qKgogICAqIFNldHMgdGhlIHZhbHVlIGZvciBhbiAiYmluZGluZyIgKGJpbmRpbmcpIGVmZmVjdCB0byBhIG5vZGUsCiAgICogZWl0aGVyIGFzIGEgcHJvcGVydHkgb3IgYXR0cmlidXRlLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugb3duaW5nIHRoZSBiaW5kaW5nIGVmZmVjdAogICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBUYXJnZXQgbm9kZSBmb3IgYmluZGluZwogICAqIEBwYXJhbSB7IUJpbmRpbmd9IGJpbmRpbmcgQmluZGluZyBtZXRhZGF0YQogICAqIEBwYXJhbSB7IUJpbmRpbmdQYXJ0fSBwYXJ0IEJpbmRpbmcgcGFydCBtZXRhZGF0YQogICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGFwcGx5QmluZGluZ1ZhbHVlKGluc3QsIG5vZGUsIGJpbmRpbmcsIHBhcnQsIHZhbHVlKSB7CiAgICB2YWx1ZSA9IGNvbXB1dGVCaW5kaW5nVmFsdWUobm9kZSwgdmFsdWUsIGJpbmRpbmcsIHBhcnQpOwogICAgaWYgKFBvbHltZXIuc2FuaXRpemVET01WYWx1ZSkgewogICAgICB2YWx1ZSA9IFBvbHltZXIuc2FuaXRpemVET01WYWx1ZSh2YWx1ZSwgYmluZGluZy50YXJnZXQsIGJpbmRpbmcua2luZCwgbm9kZSk7CiAgICB9CiAgICBpZiAoYmluZGluZy5raW5kID09ICdhdHRyaWJ1dGUnKSB7CiAgICAgIC8vIEF0dHJpYnV0ZSBiaW5kaW5nCiAgICAgIGluc3QuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKC8qKiBAdHlwZSB7RWxlbWVudH0gKi8obm9kZSksIHZhbHVlLCBiaW5kaW5nLnRhcmdldCk7CiAgICB9IGVsc2UgewogICAgICAvLyBQcm9wZXJ0eSBiaW5kaW5nCiAgICAgIGxldCBwcm9wID0gYmluZGluZy50YXJnZXQ7CiAgICAgIGlmIChub2RlLl9faXNQcm9wZXJ0eUVmZmVjdHNDbGllbnQgJiYKICAgICAgICAgIG5vZGUuX19kYXRhSGFzQWNjZXNzb3IgJiYgbm9kZS5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wXSkgewogICAgICAgIGlmICghbm9kZVtUWVBFUy5SRUFEX09OTFldIHx8ICFub2RlW1RZUEVTLlJFQURfT05MWV1bcHJvcF0pIHsKICAgICAgICAgIGlmIChub2RlLl9zZXRQZW5kaW5nUHJvcGVydHkocHJvcCwgdmFsdWUpKSB7CiAgICAgICAgICAgIGluc3QuX2VucXVldWVDbGllbnQobm9kZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgIHsKICAgICAgICBpbnN0Ll9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZShub2RlLCBwcm9wLCB2YWx1ZSk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIFRyYW5zZm9ybXMgYW4gImJpbmRpbmciIGVmZmVjdCB2YWx1ZSBiYXNlZCBvbiBjb21wb3VuZCAmIG5lZ2F0aW9uCiAgICogZWZmZWN0IG1ldGFkYXRhLCBhcyB3ZWxsIGFzIGhhbmRsaW5nIGZvciBzcGVjaWFsLWNhc2UgcHJvcGVydGllcwogICAqCiAgICogQHBhcmFtIHtOb2RlfSBub2RlIE5vZGUgdGhlIHZhbHVlIHdpbGwgYmUgc2V0IHRvCiAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXQKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcGFyYW0geyFCaW5kaW5nUGFydH0gcGFydCBCaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHsqfSBUcmFuc2Zvcm1lZCB2YWx1ZSB0byBzZXQKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGNvbXB1dGVCaW5kaW5nVmFsdWUobm9kZSwgdmFsdWUsIGJpbmRpbmcsIHBhcnQpIHsKICAgIGlmIChiaW5kaW5nLmlzQ29tcG91bmQpIHsKICAgICAgbGV0IHN0b3JhZ2UgPSBub2RlLl9fZGF0YUNvbXBvdW5kU3RvcmFnZVtiaW5kaW5nLnRhcmdldF07CiAgICAgIHN0b3JhZ2VbcGFydC5jb21wb3VuZEluZGV4XSA9IHZhbHVlOwogICAgICB2YWx1ZSA9IHN0b3JhZ2Uuam9pbignJyk7CiAgICB9CiAgICBpZiAoYmluZGluZy5raW5kICE9PSAnYXR0cmlidXRlJykgewogICAgICAvLyBTb21lIGJyb3dzZXJzIHNlcmlhbGl6ZSBgdW5kZWZpbmVkYCB0byBgInVuZGVmaW5lZCJgCiAgICAgIGlmIChiaW5kaW5nLnRhcmdldCA9PT0gJ3RleHRDb250ZW50JyB8fAogICAgICAgICAgKGJpbmRpbmcudGFyZ2V0ID09PSAndmFsdWUnICYmCiAgICAgICAgICAgIChub2RlLmxvY2FsTmFtZSA9PT0gJ2lucHV0JyB8fCBub2RlLmxvY2FsTmFtZSA9PT0gJ3RleHRhcmVhJykpKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PSB1bmRlZmluZWQgPyAnJyA6IHZhbHVlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gdmFsdWU7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRydWUgaWYgYSBiaW5kaW5nJ3MgbWV0YWRhdGEgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgdG8gYWxsb3cKICAgKiAyLXdheSBiaW5kaW5nLCBhbmQgdGhlcmVmb3JlIGEgYDxwcm9wZXJ0eT4tY2hhbmdlZGAgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGJlCiAgICogYWRkZWQ6CiAgICogLSB1c2VkIGN1cmx5IGJyYWNlcwogICAqIC0gaXMgYSBwcm9wZXJ0eSAobm90IGF0dHJpYnV0ZSkgYmluZGluZwogICAqIC0gaXMgbm90IGEgdGV4dENvbnRlbnQgYmluZGluZwogICAqIC0gaXMgbm90IGNvbXBvdW5kCiAgICoKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIDItd2F5IGxpc3RlbmVyIHNob3VsZCBiZSBhZGRlZAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gc2hvdWxkQWRkTGlzdGVuZXIoYmluZGluZykgewogICAgcmV0dXJuIEJvb2xlYW4oYmluZGluZy50YXJnZXQpICYmCiAgICAgICAgICAgYmluZGluZy5raW5kICE9ICdhdHRyaWJ1dGUnICYmCiAgICAgICAgICAgYmluZGluZy5raW5kICE9ICd0ZXh0JyAmJgogICAgICAgICAgICFiaW5kaW5nLmlzQ29tcG91bmQgJiYKICAgICAgICAgICBiaW5kaW5nLnBhcnRzWzBdLm1vZGUgPT09ICd7JzsKICB9CgogIC8qKgogICAqIFNldHVwIGNvbXBvdW5kIGJpbmRpbmcgc3RvcmFnZSBzdHJ1Y3R1cmVzLCBub3RpZnkgbGlzdGVuZXJzLCBhbmQgZGF0YUhvc3QKICAgKiByZWZlcmVuY2VzIG9udG8gdGhlIGJvdW5kIG5vZGVMaXN0LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBJbnN0YW5jZSB0aGF0IGJhcyBiZWVuIHByZXZpb3VzbHkgYm91bmQKICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNldHVwQmluZGluZ3MoaW5zdCwgdGVtcGxhdGVJbmZvKSB7CiAgICAvLyBTZXR1cCBjb21wb3VuZCBzdG9yYWdlLCBkYXRhSG9zdCwgYW5kIG5vdGlmeSBsaXN0ZW5lcnMKICAgIGxldCB7bm9kZUxpc3QsIG5vZGVJbmZvTGlzdH0gPSB0ZW1wbGF0ZUluZm87CiAgICBpZiAobm9kZUluZm9MaXN0Lmxlbmd0aCkgewogICAgICBmb3IgKGxldCBpPTA7IGkgPCBub2RlSW5mb0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgaW5mbyA9IG5vZGVJbmZvTGlzdFtpXTsKICAgICAgICBsZXQgbm9kZSA9IG5vZGVMaXN0W2ldOwogICAgICAgIGxldCBiaW5kaW5ncyA9IGluZm8uYmluZGluZ3M7CiAgICAgICAgaWYgKGJpbmRpbmdzKSB7CiAgICAgICAgICBmb3IgKGxldCBpPTA7IGk8YmluZGluZ3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgbGV0IGJpbmRpbmcgPSBiaW5kaW5nc1tpXTsKICAgICAgICAgICAgc2V0dXBDb21wb3VuZFN0b3JhZ2Uobm9kZSwgYmluZGluZyk7CiAgICAgICAgICAgIGFkZE5vdGlmeUxpc3RlbmVyKG5vZGUsIGluc3QsIGJpbmRpbmcpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBub2RlLl9fZGF0YUhvc3QgPSBpbnN0OwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbml0aWFsaXplcyBgX19kYXRhQ29tcG91bmRTdG9yYWdlYCBsb2NhbCBzdG9yYWdlIG9uIGEgYm91bmQgbm9kZSB3aXRoCiAgICogaW5pdGlhbCBsaXRlcmFsIGRhdGEgZm9yIGNvbXBvdW5kIGJpbmRpbmdzLCBhbmQgc2V0cyB0aGUgam9pbmVkCiAgICogbGl0ZXJhbCBwYXJ0cyB0byB0aGUgYm91bmQgcHJvcGVydHkuCiAgICoKICAgKiBXaGVuIGNoYW5nZXMgdG8gY29tcG91bmQgcGFydHMgb2NjdXIsIHRoZXkgYXJlIGZpcnN0IHNldCBpbnRvIHRoZSBjb21wb3VuZAogICAqIHN0b3JhZ2UgYXJyYXkgZm9yIHRoYXQgcHJvcGVydHksIGFuZCB0aGVuIHRoZSBhcnJheSBpcyBqb2luZWQgdG8gcmVzdWx0IGluCiAgICogdGhlIGZpbmFsIHZhbHVlIHNldCB0byB0aGUgcHJvcGVydHkvYXR0cmlidXRlLgogICAqCiAgICogQHBhcmFtIHtOb2RlfSBub2RlIEJvdW5kIG5vZGUgdG8gaW5pdGlhbGl6ZQogICAqIEBwYXJhbSB7QmluZGluZ30gYmluZGluZyBCaW5kaW5nIG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNldHVwQ29tcG91bmRTdG9yYWdlKG5vZGUsIGJpbmRpbmcpIHsKICAgIGlmIChiaW5kaW5nLmlzQ29tcG91bmQpIHsKICAgICAgLy8gQ3JlYXRlIGNvbXBvdW5kIHN0b3JhZ2UgbWFwCiAgICAgIGxldCBzdG9yYWdlID0gbm9kZS5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgfHwKICAgICAgICAobm9kZS5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgPSB7fSk7CiAgICAgIGxldCBwYXJ0cyA9IGJpbmRpbmcucGFydHM7CiAgICAgIC8vIENvcHkgbGl0ZXJhbHMgZnJvbSBwYXJ0cyBpbnRvIHN0b3JhZ2UgZm9yIHRoaXMgYmluZGluZwogICAgICBsZXQgbGl0ZXJhbHMgPSBuZXcgQXJyYXkocGFydHMubGVuZ3RoKTsKICAgICAgZm9yIChsZXQgaj0wOyBqPHBhcnRzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgbGl0ZXJhbHNbal0gPSBwYXJ0c1tqXS5saXRlcmFsOwogICAgICB9CiAgICAgIGxldCB0YXJnZXQgPSBiaW5kaW5nLnRhcmdldDsKICAgICAgc3RvcmFnZVt0YXJnZXRdID0gbGl0ZXJhbHM7CiAgICAgIC8vIENvbmZpZ3VyZSBwcm9wZXJ0aWVzIHdpdGggdGhlaXIgbGl0ZXJhbCBwYXJ0cwogICAgICBpZiAoYmluZGluZy5saXRlcmFsICYmIGJpbmRpbmcua2luZCA9PSAncHJvcGVydHknKSB7CiAgICAgICAgbm9kZVt0YXJnZXRdID0gYmluZGluZy5saXRlcmFsOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBBZGRzIGEgMi13YXkgYmluZGluZyBub3RpZmljYXRpb24gZXZlbnQgbGlzdGVuZXIgdG8gdGhlIG5vZGUgc3BlY2lmaWVkCiAgICoKICAgKiBAcGFyYW0ge09iamVjdH0gbm9kZSBDaGlsZCBlbGVtZW50IHRvIGFkZCBsaXN0ZW5lciB0bwogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSG9zdCBlbGVtZW50IGluc3RhbmNlIHRvIGhhbmRsZSBub3RpZmljYXRpb24gZXZlbnQKICAgKiBAcGFyYW0ge0JpbmRpbmd9IGJpbmRpbmcgQmluZGluZyBtZXRhZGF0YQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBhZGROb3RpZnlMaXN0ZW5lcihub2RlLCBpbnN0LCBiaW5kaW5nKSB7CiAgICBpZiAoYmluZGluZy5saXN0ZW5lckV2ZW50KSB7CiAgICAgIGxldCBwYXJ0ID0gYmluZGluZy5wYXJ0c1swXTsKICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKGJpbmRpbmcubGlzdGVuZXJFdmVudCwgZnVuY3Rpb24oZSkgewogICAgICAgIGhhbmRsZU5vdGlmaWNhdGlvbihlLCBpbnN0LCBiaW5kaW5nLnRhcmdldCwgcGFydC5zb3VyY2UsIHBhcnQubmVnYXRlKTsKICAgICAgfSk7CiAgICB9CiAgfQoKICAvLyAtLSBmb3IgbWV0aG9kLWJhc2VkIGVmZmVjdHMgKGNvbXBsZXhPYnNlcnZlciAmIGNvbXB1dGVkKSAtLS0tLS0tLS0tLS0tLQoKICAvKioKICAgKiBBZGRzIHByb3BlcnR5IGVmZmVjdHMgZm9yIGVhY2ggYXJndW1lbnQgaW4gdGhlIG1ldGhvZCBzaWduYXR1cmUgKGFuZAogICAqIG9wdGlvbmFsbHksIGZvciB0aGUgbWV0aG9kIG5hbWUgaWYgYGR5bmFtaWNgIGlzIHRydWUpIHRoYXQgY2FsbHMgdGhlCiAgICogcHJvdmlkZWQgZWZmZWN0IGZ1bmN0aW9uLgogICAqCiAgICogQHBhcmFtIHtFbGVtZW50IHwgT2JqZWN0fSBtb2RlbCBQcm90b3R5cGUgb3IgaW5zdGFuY2UKICAgKiBAcGFyYW0geyFNZXRob2RTaWduYXR1cmV9IHNpZyBNZXRob2Qgc2lnbmF0dXJlIG1ldGFkYXRhCiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgVHlwZSBvZiBwcm9wZXJ0eSBlZmZlY3QgdG8gYWRkCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWZmZWN0Rm4gRnVuY3Rpb24gdG8gcnVuIHdoZW4gYXJndW1lbnRzIGNoYW5nZQogICAqIEBwYXJhbSB7Kj19IG1ldGhvZEluZm8gRWZmZWN0LXNwZWNpZmljIGluZm9ybWF0aW9uIHRvIGJlIGluY2x1ZGVkIGluCiAgICogICBtZXRob2QgZWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZyB3aGV0aGVyCiAgICogICBtZXRob2QgbmFtZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LiBOb3RlLAogICAqICAgZGVmYXVsdHMgdG8gdHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIGlzIHN0YXRpYyAoc2lnLnN0YXRpYyBpcyB0cnVlKS4KICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gY3JlYXRlTWV0aG9kRWZmZWN0KG1vZGVsLCBzaWcsIHR5cGUsIGVmZmVjdEZuLCBtZXRob2RJbmZvLCBkeW5hbWljRm4pIHsKICAgIGR5bmFtaWNGbiA9IHNpZy5zdGF0aWMgfHwgKGR5bmFtaWNGbiAmJgogICAgICAodHlwZW9mIGR5bmFtaWNGbiAhPT0gJ29iamVjdCcgfHwgZHluYW1pY0ZuW3NpZy5tZXRob2ROYW1lXSkpOwogICAgbGV0IGluZm8gPSB7CiAgICAgIG1ldGhvZE5hbWU6IHNpZy5tZXRob2ROYW1lLAogICAgICBhcmdzOiBzaWcuYXJncywKICAgICAgbWV0aG9kSW5mbywKICAgICAgZHluYW1pY0ZuCiAgICB9OwogICAgZm9yIChsZXQgaT0wLCBhcmc7IChpPHNpZy5hcmdzLmxlbmd0aCkgJiYgKGFyZz1zaWcuYXJnc1tpXSk7IGkrKykgewogICAgICBpZiAoIWFyZy5saXRlcmFsKSB7CiAgICAgICAgbW9kZWwuX2FkZFByb3BlcnR5RWZmZWN0KGFyZy5yb290UHJvcGVydHksIHR5cGUsIHsKICAgICAgICAgIGZuOiBlZmZlY3RGbiwgaW5mbzogaW5mbywgdHJpZ2dlcjogYXJnCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KICAgIGlmIChkeW5hbWljRm4pIHsKICAgICAgbW9kZWwuX2FkZFByb3BlcnR5RWZmZWN0KHNpZy5tZXRob2ROYW1lLCB0eXBlLCB7CiAgICAgICAgZm46IGVmZmVjdEZuLCBpbmZvOiBpbmZvCiAgICAgIH0pOwogICAgfQogIH0KCiAgLyoqCiAgICogQ2FsbHMgYSBtZXRob2Qgd2l0aCBhcmd1bWVudHMgbWFyc2hhbGVkIGZyb20gcHJvcGVydGllcyBvbiB0aGUgaW5zdGFuY2UKICAgKiBiYXNlZCBvbiB0aGUgbWV0aG9kIHNpZ25hdHVyZSBjb250YWluZWQgaW4gdGhlIGVmZmVjdCBtZXRhZGF0YS4KICAgKgogICAqIE11bHRpLXByb3BlcnR5IG9ic2VydmVycywgY29tcHV0ZWQgcHJvcGVydGllcywgYW5kIGlubGluZSBjb21wdXRpbmcKICAgKiBmdW5jdGlvbnMgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGludm9rZSB0aGUgbWV0aG9kLCB0aGVuIHVzZSB0aGUgcmV0dXJuCiAgICogdmFsdWUgYWNjb3JkaW5nbHkuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHJldHVybiB7Kn0gUmV0dXJucyB0aGUgcmV0dXJuIHZhbHVlIGZyb20gdGhlIG1ldGhvZCBpbnZvY2F0aW9uCiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5NZXRob2RFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbykgewogICAgLy8gSW5zdGFuY2VzIGNhbiBvcHRpb25hbGx5IGhhdmUgYSBfbWV0aG9kSG9zdCB3aGljaCBhbGxvd3MgcmVkaXJlY3Rpbmcgd2hlcmUKICAgIC8vIHRvIGZpbmQgbWV0aG9kcy4gQ3VycmVudGx5IHVzZWQgYnkgYHRlbXBsYXRpemVgLgogICAgbGV0IGNvbnRleHQgPSBpbnN0Ll9tZXRob2RIb3N0IHx8IGluc3Q7CiAgICBsZXQgZm4gPSBjb250ZXh0W2luZm8ubWV0aG9kTmFtZV07CiAgICBpZiAoZm4pIHsKICAgICAgbGV0IGFyZ3MgPSBpbnN0Ll9tYXJzaGFsQXJncyhpbmZvLmFyZ3MsIHByb3BlcnR5LCBwcm9wcyk7CiAgICAgIHJldHVybiBmbi5hcHBseShjb250ZXh0LCBhcmdzKTsKICAgIH0gZWxzZSBpZiAoIWluZm8uZHluYW1pY0ZuKSB7CiAgICAgIGNvbnNvbGUud2FybignbWV0aG9kIGAnICsgaW5mby5tZXRob2ROYW1lICsgJ2Agbm90IGRlZmluZWQnKTsKICAgIH0KICB9CgogIGNvbnN0IGVtcHR5QXJyYXkgPSBbXTsKCiAgLy8gUmVndWxhciBleHByZXNzaW9ucyB1c2VkIGZvciBiaW5kaW5nCiAgY29uc3QgSURFTlQgID0gJyg/OicgKyAnW2EtekEtWl8kXVtcXHcuOiRcXC0qXSonICsgJyknOwogIGNvbnN0IE5VTUJFUiA9ICcoPzonICsgJ1stK10/WzAtOV0qXFwuP1swLTldKyg/OltlRV1bLStdP1swLTldKyk/JyArICcpJzsKICBjb25zdCBTUVVPVEVfU1RSSU5HID0gJyg/OicgKyAnXCcoPzpbXlwnXFxcXF18XFxcXC4pKlwnJyArICcpJzsKICBjb25zdCBEUVVPVEVfU1RSSU5HID0gJyg/OicgKyAnIig/OlteIlxcXFxdfFxcXFwuKSoiJyArICcpJzsKICBjb25zdCBTVFJJTkcgPSAnKD86JyArIFNRVU9URV9TVFJJTkcgKyAnfCcgKyBEUVVPVEVfU1RSSU5HICsgJyknOwogIGNvbnN0IEFSR1VNRU5UID0gJyg/OignICsgSURFTlQgKyAnfCcgKyBOVU1CRVIgKyAnfCcgKyAgU1RSSU5HICsgJylcXHMqJyArICcpJzsKICBjb25zdCBBUkdVTUVOVFMgPSAnKD86JyArIEFSR1VNRU5UICsgJyg/OixcXHMqJyArIEFSR1VNRU5UICsgJykqJyArICcpJzsKICBjb25zdCBBUkdVTUVOVF9MSVNUID0gJyg/OicgKyAnXFwoXFxzKicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoPzonICsgQVJHVU1FTlRTICsgJz8nICsgJyknICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcKVxccyonICsgJyknOwogIGNvbnN0IEJJTkRJTkcgPSAnKCcgKyBJREVOVCArICdcXHMqJyArIEFSR1VNRU5UX0xJU1QgKyAnPycgKyAnKSc7IC8vIEdyb3VwIDMKICBjb25zdCBPUEVOX0JSQUNLRVQgPSAnKFxcW1xcW3x7eyknICsgJ1xccyonOwogIGNvbnN0IENMT1NFX0JSQUNLRVQgPSAnKD86XV18fX0pJzsKICBjb25zdCBORUdBVEUgPSAnKD86KCEpXFxzKik/JzsgLy8gR3JvdXAgMgogIGNvbnN0IEVYUFJFU1NJT04gPSBPUEVOX0JSQUNLRVQgKyBORUdBVEUgKyBCSU5ESU5HICsgQ0xPU0VfQlJBQ0tFVDsKICBjb25zdCBiaW5kaW5nUmVnZXggPSBuZXcgUmVnRXhwKEVYUFJFU1NJT04sICJnIik7CgogIC8qKgogICAqIENyZWF0ZSBhIHN0cmluZyBmcm9tIGJpbmRpbmcgcGFydHMgb2YgYWxsIHRoZSBsaXRlcmFsIHBhcnRzCiAgICoKICAgKiBAcGFyYW0geyFBcnJheTxCaW5kaW5nUGFydD59IHBhcnRzIEFsbCBwYXJ0cyB0byBzdHJpbmdpZnkKICAgKiBAcmV0dXJuIHtzdHJpbmd9IFN0cmluZyBtYWRlIGZyb20gdGhlIGxpdGVyYWwgcGFydHMKICAgKi8KICBmdW5jdGlvbiBsaXRlcmFsRnJvbVBhcnRzKHBhcnRzKSB7CiAgICBsZXQgcyA9ICcnOwogICAgZm9yIChsZXQgaT0wOyBpPHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBsaXRlcmFsID0gcGFydHNbaV0ubGl0ZXJhbDsKICAgICAgcyArPSBsaXRlcmFsIHx8ICcnOwogICAgfQogICAgcmV0dXJuIHM7CiAgfQoKICAvKioKICAgKiBQYXJzZXMgYW4gZXhwcmVzc2lvbiBzdHJpbmcgZm9yIGEgbWV0aG9kIHNpZ25hdHVyZSwgYW5kIHJldHVybnMgYSBtZXRhZGF0YQogICAqIGRlc2NyaWJpbmcgdGhlIG1ldGhvZCBpbiB0ZXJtcyBvZiBgbWV0aG9kTmFtZWAsIGBzdGF0aWNgICh3aGV0aGVyIGFsbCB0aGUKICAgKiBhcmd1bWVudHMgYXJlIGxpdGVyYWxzKSwgYW5kIGFuIGFycmF5IG9mIGBhcmdzYAogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gcGFyc2UKICAgKiBAcmV0dXJuIHs/TWV0aG9kU2lnbmF0dXJlfSBUaGUgbWV0aG9kIG1ldGFkYXRhIG9iamVjdCBpZiBhIG1ldGhvZCBleHByZXNzaW9uIHdhcwogICAqICAgZm91bmQsIG90aGVyd2lzZSBgdW5kZWZpbmVkYAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcGFyc2VNZXRob2QoZXhwcmVzc2lvbikgewogICAgLy8gdHJpZXMgdG8gbWF0Y2ggdmFsaWQgamF2YXNjcmlwdCBwcm9wZXJ0eSBuYW1lcwogICAgbGV0IG0gPSBleHByZXNzaW9uLm1hdGNoKC8oW15cc10rPylcKChbXHNcU10qKVwpLyk7CiAgICBpZiAobSkgewogICAgICBsZXQgbWV0aG9kTmFtZSA9IG1bMV07CiAgICAgIGxldCBzaWcgPSB7IG1ldGhvZE5hbWUsIHN0YXRpYzogdHJ1ZSwgYXJnczogZW1wdHlBcnJheSB9OwogICAgICBpZiAobVsyXS50cmltKCkpIHsKICAgICAgICAvLyByZXBsYWNlIGVzY2FwZWQgY29tbWFzIHdpdGggY29tbWEgZW50aXR5LCBzcGxpdCBvbiB1bi1lc2NhcGVkIGNvbW1hcwogICAgICAgIGxldCBhcmdzID0gbVsyXS5yZXBsYWNlKC9cXCwvZywgJyZjb21tYTsnKS5zcGxpdCgnLCcpOwogICAgICAgIHJldHVybiBwYXJzZUFyZ3MoYXJncywgc2lnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gc2lnOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9CgogIC8qKgogICAqIFBhcnNlcyBhbiBhcnJheSBvZiBhcmd1bWVudHMgYW5kIHNldHMgdGhlIGBhcmdzYCBwcm9wZXJ0eSBvZiB0aGUgc3VwcGxpZWQKICAgKiBzaWduYXR1cmUgbWV0YWRhdGEgb2JqZWN0LiBTZXRzIHRoZSBgc3RhdGljYCBwcm9wZXJ0eSB0byBmYWxzZSBpZiBhbnkKICAgKiBhcmd1bWVudCBpcyBhIG5vbi1saXRlcmFsLgogICAqCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gYXJnTGlzdCBBcnJheSBvZiBhcmd1bWVudCBuYW1lcwogICAqIEBwYXJhbSB7IU1ldGhvZFNpZ25hdHVyZX0gc2lnIE1ldGhvZCBzaWduYXR1cmUgbWV0YWRhdGEgb2JqZWN0CiAgICogQHJldHVybiB7IU1ldGhvZFNpZ25hdHVyZX0gVGhlIHVwZGF0ZWQgc2lnbmF0dXJlIG1ldGFkYXRhIG9iamVjdAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcGFyc2VBcmdzKGFyZ0xpc3QsIHNpZykgewogICAgc2lnLmFyZ3MgPSBhcmdMaXN0Lm1hcChmdW5jdGlvbihyYXdBcmcpIHsKICAgICAgbGV0IGFyZyA9IHBhcnNlQXJnKHJhd0FyZyk7CiAgICAgIGlmICghYXJnLmxpdGVyYWwpIHsKICAgICAgICBzaWcuc3RhdGljID0gZmFsc2U7CiAgICAgIH0KICAgICAgcmV0dXJuIGFyZzsKICAgIH0sIHRoaXMpOwogICAgcmV0dXJuIHNpZzsKICB9CgogIC8qKgogICAqIFBhcnNlcyBhbiBpbmRpdmlkdWFsIGFyZ3VtZW50LCBhbmQgcmV0dXJucyBhbiBhcmd1bWVudCBtZXRhZGF0YSBvYmplY3QKICAgKiB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOgogICAqCiAgICogICB7CiAgICogICAgIHZhbHVlOiAncHJvcCcsICAgICAgICAvLyBwcm9wZXJ0eS9wYXRoIG9yIGxpdGVyYWwgdmFsdWUKICAgKiAgICAgbGl0ZXJhbDogZmFsc2UsICAgICAgIC8vIHdoZXRoZXIgYXJndW1lbnQgaXMgYSBsaXRlcmFsCiAgICogICAgIHN0cnVjdHVyZWQ6IGZhbHNlLCAgICAvLyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIHBhdGgKICAgKiAgICAgcm9vdFByb3BlcnR5OiAncHJvcCcsIC8vIHRoZSByb290IHByb3BlcnR5IG9mIHRoZSBwYXRoCiAgICogICAgIHdpbGRjYXJkOiBmYWxzZSAgICAgICAvLyB3aGV0aGVyIHRoZSBhcmd1bWVudCB3YXMgYSB3aWxkY2FyZCAnLionIHBhdGgKICAgKiAgIH0KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSByYXdBcmcgVGhlIHN0cmluZyB2YWx1ZSBvZiB0aGUgYXJndW1lbnQKICAgKiBAcmV0dXJuIHshTWV0aG9kQXJnfSBBcmd1bWVudCBtZXRhZGF0YSBvYmplY3QKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHBhcnNlQXJnKHJhd0FyZykgewogICAgLy8gY2xlYW4gdXAgd2hpdGVzcGFjZQogICAgbGV0IGFyZyA9IHJhd0FyZy50cmltKCkKICAgICAgLy8gcmVwbGFjZSBjb21tYSBlbnRpdHkgd2l0aCBjb21tYQogICAgICAucmVwbGFjZSgvJmNvbW1hOy9nLCAnLCcpCiAgICAgIC8vIHJlcGFpciBleHRyYSBlc2NhcGUgc2VxdWVuY2VzOyBub3RlIG9ubHkgY29tbWFzIHN0cmljdGx5IG5lZWQKICAgICAgLy8gZXNjYXBpbmcsIGJ1dCB3ZSBhbGxvdyBhbnkgb3RoZXIgY2hhciB0byBiZSBlc2NhcGVkIHNpbmNlIGl0cwogICAgICAvLyBsaWtlbHkgdXNlcnMgd2lsbCBkbyB0aGlzCiAgICAgIC5yZXBsYWNlKC9cXCguKS9nLCAnXCQxJykKICAgICAgOwogICAgLy8gYmFzaWMgYXJndW1lbnQgZGVzY3JpcHRvcgogICAgbGV0IGEgPSB7CiAgICAgIG5hbWU6IGFyZywKICAgICAgdmFsdWU6ICcnLAogICAgICBsaXRlcmFsOiBmYWxzZQogICAgfTsKICAgIC8vIGRldGVjdCBsaXRlcmFsIHZhbHVlIChtdXN0IGJlIFN0cmluZyBvciBOdW1iZXIpCiAgICBsZXQgZmMgPSBhcmdbMF07CiAgICBpZiAoZmMgPT09ICctJykgewogICAgICBmYyA9IGFyZ1sxXTsKICAgIH0KICAgIGlmIChmYyA+PSAnMCcgJiYgZmMgPD0gJzknKSB7CiAgICAgIGZjID0gJyMnOwogICAgfQogICAgc3dpdGNoKGZjKSB7CiAgICAgIGNhc2UgIiciOgogICAgICBjYXNlICciJzoKICAgICAgICBhLnZhbHVlID0gYXJnLnNsaWNlKDEsIC0xKTsKICAgICAgICBhLmxpdGVyYWwgPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlICcjJzoKICAgICAgICBhLnZhbHVlID0gTnVtYmVyKGFyZyk7CiAgICAgICAgYS5saXRlcmFsID0gdHJ1ZTsKICAgICAgICBicmVhazsKICAgIH0KICAgIC8vIGlmIG5vdCBsaXRlcmFsLCBsb29rIGZvciBzdHJ1Y3R1cmVkIHBhdGgKICAgIGlmICghYS5saXRlcmFsKSB7CiAgICAgIGEucm9vdFByb3BlcnR5ID0gUG9seW1lci5QYXRoLnJvb3QoYXJnKTsKICAgICAgLy8gZGV0ZWN0IHN0cnVjdHVyZWQgcGF0aCAoaGFzIGRvdHMpCiAgICAgIGEuc3RydWN0dXJlZCA9IFBvbHltZXIuUGF0aC5pc1BhdGgoYXJnKTsKICAgICAgaWYgKGEuc3RydWN0dXJlZCkgewogICAgICAgIGEud2lsZGNhcmQgPSAoYXJnLnNsaWNlKC0yKSA9PSAnLionKTsKICAgICAgICBpZiAoYS53aWxkY2FyZCkgewogICAgICAgICAgYS5uYW1lID0gYXJnLnNsaWNlKDAsIC0yKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBhOwogIH0KCiAgLy8gZGF0YSBhcGkKCiAgLyoqCiAgICogU2VuZHMgYXJyYXkgc3BsaWNlIG5vdGlmaWNhdGlvbnMgKGAuc3BsaWNlc2AgYW5kIGAubGVuZ3RoYCkKICAgKgogICAqIE5vdGU6IHRoaXMgaW1wbGVtZW50YXRpb24gb25seSBhY2NlcHRzIG5vcm1hbGl6ZWQgcGF0aHMKICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSW5zdGFuY2UgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvCiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRoZSBtdXRhdGlvbnMgb2NjdXJyZWQgb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXJyYXkgdGhhdCB3YXMgbXV0YXRlZAogICAqIEBwYXJhbSB7QXJyYXl9IHNwbGljZXMgQXJyYXkgb2Ygc3BsaWNlIHJlY29yZHMKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5U3BsaWNlcyhpbnN0LCBhcnJheSwgcGF0aCwgc3BsaWNlcykgewogICAgbGV0IHNwbGljZXNQYXRoID0gcGF0aCArICcuc3BsaWNlcyc7CiAgICBpbnN0Lm5vdGlmeVBhdGgoc3BsaWNlc1BhdGgsIHsgaW5kZXhTcGxpY2VzOiBzcGxpY2VzIH0pOwogICAgaW5zdC5ub3RpZnlQYXRoKHBhdGggKyAnLmxlbmd0aCcsIGFycmF5Lmxlbmd0aCk7CiAgICAvLyBOdWxsIGhlcmUgdG8gYWxsb3cgcG90ZW50aWFsbHkgbGFyZ2Ugc3BsaWNlIHJlY29yZHMgdG8gYmUgR0MnZWQuCiAgICBpbnN0Ll9fZGF0YVtzcGxpY2VzUGF0aF0gPSB7aW5kZXhTcGxpY2VzOiBudWxsfTsKICB9CgogIC8qKgogICAqIENyZWF0ZXMgYSBzcGxpY2UgcmVjb3JkIGFuZCBzZW5kcyBhbiBhcnJheSBzcGxpY2Ugbm90aWZpY2F0aW9uIGZvcgogICAqIHRoZSBkZXNjcmliZWQgbXV0YXRpb24KICAgKgogICAqIE5vdGU6IHRoaXMgaW1wbGVtZW50YXRpb24gb25seSBhY2NlcHRzIG5vcm1hbGl6ZWQgcGF0aHMKICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSW5zdGFuY2UgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvCiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRoZSBtdXRhdGlvbnMgb2NjdXJyZWQgb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXJyYXkgdGhhdCB3YXMgbXV0YXRlZAogICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBJbmRleCBhdCB3aGljaCB0aGUgYXJyYXkgbXV0YXRpb24gb2NjdXJyZWQKICAgKiBAcGFyYW0ge251bWJlcn0gYWRkZWRDb3VudCBOdW1iZXIgb2YgYWRkZWQgaXRlbXMKICAgKiBAcGFyYW0ge0FycmF5fSByZW1vdmVkIEFycmF5IG9mIHJlbW92ZWQgaXRlbXMKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5U3BsaWNlKGluc3QsIGFycmF5LCBwYXRoLCBpbmRleCwgYWRkZWRDb3VudCwgcmVtb3ZlZCkgewogICAgbm90aWZ5U3BsaWNlcyhpbnN0LCBhcnJheSwgcGF0aCwgW3sKICAgICAgaW5kZXg6IGluZGV4LAogICAgICBhZGRlZENvdW50OiBhZGRlZENvdW50LAogICAgICByZW1vdmVkOiByZW1vdmVkLAogICAgICBvYmplY3Q6IGFycmF5LAogICAgICB0eXBlOiAnc3BsaWNlJwogICAgfV0pOwogIH0KCiAgLyoqCiAgICogUmV0dXJucyBhbiB1cHBlci1jYXNlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcuCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBTdHJpbmcgdG8gdXBwZXJjYXNlCiAgICogQHJldHVybiB7c3RyaW5nfSBVcHBlcmNhc2VkIHN0cmluZwogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gdXBwZXIobmFtZSkgewogICAgcmV0dXJuIG5hbWVbMF0udG9VcHBlckNhc2UoKSArIG5hbWUuc3Vic3RyaW5nKDEpOwogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIG1ldGEtcHJvZ3JhbW1pbmcgZm9yIFBvbHltZXIncyB0ZW1wbGF0ZQogICAqIGJpbmRpbmcgYW5kIGRhdGEgb2JzZXJ2YXRpb24gKGNvbGxlY3RpdmVseSwgInByb3BlcnR5IGVmZmVjdHMiKSBzeXN0ZW0uCiAgICoKICAgKiBUaGlzIG1peGluIHVzZXMgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBrZXkgc3RhdGljIG1ldGhvZHMgZm9yIGFkZGluZwogICAqIHByb3BlcnR5IGVmZmVjdHMgdG8gYW4gZWxlbWVudCBjbGFzczoKICAgKiAtIGBhZGRQcm9wZXJ0eUVmZmVjdGAKICAgKiAtIGBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyYAogICAqIC0gYGNyZWF0ZU1ldGhvZE9ic2VydmVyYAogICAqIC0gYGNyZWF0ZU5vdGlmeWluZ1Byb3BlcnR5YAogICAqIC0gYGNyZWF0ZVJlYWRPbmx5UHJvcGVydHlgCiAgICogLSBgY3JlYXRlUmVmbGVjdGVkUHJvcGVydHlgCiAgICogLSBgY3JlYXRlQ29tcHV0ZWRQcm9wZXJ0eWAKICAgKiAtIGBiaW5kVGVtcGxhdGVgCiAgICoKICAgKiBFYWNoIG1ldGhvZCBjcmVhdGVzIG9uZSBvciBtb3JlIHByb3BlcnR5IGFjY2Vzc29ycywgYWxvbmcgd2l0aCBtZXRhZGF0YQogICAqIHVzZWQgYnkgdGhpcyBtaXhpbidzIGltcGxlbWVudGF0aW9uIG9mIGBfcHJvcGVydGllc0NoYW5nZWRgIHRvIHBlcmZvcm0KICAgKiB0aGUgcHJvcGVydHkgZWZmZWN0cy4KICAgKgogICAqIFVuZGVyc2NvcmVkIHZlcnNpb25zIG9mIHRoZSBhYm92ZSBtZXRob2RzIGFsc28gZXhpc3Qgb24gdGhlIGVsZW1lbnQKICAgKiBwcm90b3R5cGUgZm9yIGFkZGluZyBwcm9wZXJ0eSBlZmZlY3RzIG9uIGluc3RhbmNlcyBhdCBydW50aW1lLgogICAqCiAgICogTm90ZSB0aGF0IHRoaXMgbWl4aW4gb3ZlcnJpZGVzIHNldmVyYWwgYFByb3BlcnR5QWNjZXNzb3JzYCBtZXRob2RzLCBpbgogICAqIG1hbnkgY2FzZXMgdG8gbWFpbnRhaW4gZ3VhcmFudGVlcyBwcm92aWRlZCBieSB0aGUgUG9seW1lciAxLnggZmVhdHVyZXM7CiAgICogbm90YWJseSBpdCBjaGFuZ2VzIHByb3BlcnR5IGFjY2Vzc29ycyB0byBiZSBzeW5jaHJvbm91cyBieSBkZWZhdWx0CiAgICogd2hlcmVhcyB0aGUgZGVmYXVsdCB3aGVuIHVzaW5nIGBQcm9wZXJ0eUFjY2Vzc29yc2Agc3RhbmRhbG9uZSBpcyB0byBiZQogICAqIGFzeW5jIGJ5IGRlZmF1bHQuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLlRlbXBsYXRlU3RhbXAKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBtZXRhLXByb2dyYW1taW5nIGZvciBQb2x5bWVyJ3MKICAgKiB0ZW1wbGF0ZSBiaW5kaW5nIGFuZCBkYXRhIG9ic2VydmF0aW9uIHN5c3RlbS4KICAgKi8KICBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cyA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUFjY2Vzc29yc30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1RlbXBsYXRlU3RhbXB9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBwcm9wZXJ0eUVmZmVjdHNCYXNlID0gUG9seW1lci5UZW1wbGF0ZVN0YW1wKFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMoc3VwZXJDbGFzcykpOwoKICAgIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9CiAgICAgKiBAZXh0ZW5kcyB7cHJvcGVydHlFZmZlY3RzQmFzZX0KICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAqLwogICAgY2xhc3MgUHJvcGVydHlFZmZlY3RzIGV4dGVuZHMgcHJvcGVydHlFZmZlY3RzQmFzZSB7CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi8KICAgICAgICAvLyBVc2VkIHRvIGlkZW50aWZ5IHVzZXJzIG9mIHRoaXMgbWl4aW4sIGFsYSBpbnN0YW5jZW9mCiAgICAgICAgdGhpcy5fX2lzUHJvcGVydHlFZmZlY3RzQ2xpZW50ID0gdHJ1ZTsKICAgICAgICAvKiogQHR5cGUge251bWJlcn0gKi8KICAgICAgICAvLyBOT1RFOiB1c2VkIHRvIHRyYWNrIHJlLWVudHJhbnQgY2FsbHMgdG8gYF9mbHVzaFByb3BlcnRpZXNgCiAgICAgICAgLy8gcGF0aCBjaGFuZ2VzIGRpcnR5IGNoZWNrIGFnYWluc3QgYF9fZGF0YVRlbXBgIG9ubHkgZHVyaW5nIG9uZSAidHVybiIKICAgICAgICAvLyBhbmQgYXJlIGNsZWFyZWQgd2hlbiBgX19kYXRhQ291bnRlcmAgcmV0dXJucyB0byAwLgogICAgICAgIHRoaXMuX19kYXRhQ291bnRlciA9IDA7CiAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5OwogICAgICAgIC8qKiBAdHlwZSB7QXJyYXl9ICovCiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50czsKICAgICAgICAvKiogQHR5cGUge09iamVjdH0gKi8KICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5OwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHM7CiAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgIHRoaXMuX19kYXRhSGFzUGF0aHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2U7CiAgICAgICAgLyoqIEB0eXBlIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30gKi8KICAgICAgICB0aGlzLl9fZGF0YUhvc3Q7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhVGVtcDsKICAgICAgICAvKiogQHR5cGUge2Jvb2xlYW59ICovCiAgICAgICAgdGhpcy5fX2RhdGFDbGllbnRzSW5pdGlhbGl6ZWQ7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhOwogICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdH0gKi8KICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmc7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhT2xkOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19jb21wdXRlRWZmZWN0czsKICAgICAgICAvKiogQHR5cGUge09iamVjdH0gKi8KICAgICAgICB0aGlzLl9fcmVmbGVjdEVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX25vdGlmeUVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX3Byb3BhZ2F0ZUVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX29ic2VydmVFZmZlY3RzOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19yZWFkT25seTsKICAgICAgICAvKiogQHR5cGUgeyFUZW1wbGF0ZUluZm99ICovCiAgICAgICAgdGhpcy5fX3RlbXBsYXRlSW5mbzsKICAgICAgfQoKICAgICAgZ2V0IFBST1BFUlRZX0VGRkVDVF9UWVBFUygpIHsKICAgICAgICByZXR1cm4gVFlQRVM7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpOwogICAgICAgIGhvc3RTdGFjay5yZWdpc3Rlckhvc3QodGhpcyk7CiAgICAgICAgdGhpcy5fX2RhdGFDbGllbnRzUmVhZHkgPSBmYWxzZTsKICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5ID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YUhhc1BhdGhzID0gZmFsc2U7CiAgICAgICAgLy8gTWF5IGJlIHNldCBvbiBpbnN0YW5jZSBwcmlvciB0byB1cGdyYWRlCiAgICAgICAgdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgPSB0aGlzLl9fZGF0YUNvbXBvdW5kU3RvcmFnZSB8fCBudWxsOwogICAgICAgIHRoaXMuX19kYXRhSG9zdCA9IHRoaXMuX19kYXRhSG9zdCB8fCBudWxsOwogICAgICAgIHRoaXMuX19kYXRhVGVtcCA9IHt9OwogICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c0luaXRpYWxpemVkID0gZmFsc2U7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgIGltcGxlbWVudGF0aW9uIHRvIHByb3ZpZGUgYQogICAgICAgKiBtb3JlIGVmZmljaWVudCBpbXBsZW1lbnRhdGlvbiBvZiBpbml0aWFsaXppbmcgcHJvcGVydGllcyBmcm9tCiAgICAgICAqIHRoZSBwcm90b3R5cGUgb24gdGhlIGluc3RhbmNlLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFByb3BlcnRpZXMgdG8gaW5pdGlhbGl6ZSBvbiB0aGUgcHJvdG90eXBlCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfaW5pdGlhbGl6ZVByb3RvUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIHRoaXMuX19kYXRhID0gT2JqZWN0LmNyZWF0ZShwcm9wcyk7CiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0gT2JqZWN0LmNyZWF0ZShwcm9wcyk7CiAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUG9seW1lci5Qcm9wZXJ0eUFjY2Vzc29yc2AgaW1wbGVtZW50YXRpb24gdG8gYXZvaWQgc2V0dGluZwogICAgICAgKiBgX3NldFByb3BlcnR5YCdzIGBzaG91bGROb3RpZnk6IHRydWVgLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFByb3BlcnRpZXMgdG8gaW5pdGlhbGl6ZSBvbiB0aGUgaW5zdGFuY2UKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9pbml0aWFsaXplSW5zdGFuY2VQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICAgICAgbGV0IHJlYWRPbmx5ID0gdGhpc1tUWVBFUy5SRUFEX09OTFldOwogICAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICAgIGlmICghcmVhZE9ubHkgfHwgIXJlYWRPbmx5W3Byb3BdKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZyA9IHRoaXMuX19kYXRhUGVuZGluZyB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB0aGlzLl9fZGF0YU9sZCB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFbcHJvcF0gPSB0aGlzLl9fZGF0YVBlbmRpbmdbcHJvcF0gPSBwcm9wc1twcm9wXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFByb3RvdHlwZSBzZXR1cCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGFkZFByb3BlcnR5RWZmZWN0YCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGVmZmVjdAogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBFZmZlY3QgdHlwZSwgZnJvbSB0aGlzLlBST1BFUlRZX0VGRkVDVF9UWVBFUwogICAgICAgKiBAcGFyYW0ge09iamVjdD19IGVmZmVjdCBFZmZlY3QgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSwgZWZmZWN0KSB7CiAgICAgICAgdGhpcy5fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgdHlwZSA9PSBUWVBFUy5SRUFEX09OTFkpOwogICAgICAgIC8vIGVmZmVjdHMgYXJlIGFjY3VtdWxhdGVkIGludG8gYXJyYXlzIHBlciBwcm9wZXJ0eSBiYXNlZCBvbiB0eXBlCiAgICAgICAgbGV0IGVmZmVjdHMgPSBlbnN1cmVPd25FZmZlY3RNYXAodGhpcywgdHlwZSlbcHJvcGVydHldOwogICAgICAgIGlmICghZWZmZWN0cykgewogICAgICAgICAgZWZmZWN0cyA9IHRoaXNbdHlwZV1bcHJvcGVydHldID0gW107CiAgICAgICAgfQogICAgICAgIGVmZmVjdHMucHVzaChlZmZlY3QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmVtb3ZlcyB0aGUgZ2l2ZW4gcHJvcGVydHkgZWZmZWN0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgdGhlIGVmZmVjdCB3YXMgYXNzb2NpYXRlZCB3aXRoCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIEVmZmVjdCB0eXBlLCBmcm9tIHRoaXMuUFJPUEVSVFlfRUZGRUNUX1RZUEVTCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gZWZmZWN0IEVmZmVjdCBtZXRhZGF0YSBvYmplY3QgdG8gcmVtb3ZlCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcmVtb3ZlUHJvcGVydHlFZmZlY3QocHJvcGVydHksIHR5cGUsIGVmZmVjdCkgewogICAgICAgIGxldCBlZmZlY3RzID0gZW5zdXJlT3duRWZmZWN0TWFwKHRoaXMsIHR5cGUpW3Byb3BlcnR5XTsKICAgICAgICBsZXQgaWR4ID0gZWZmZWN0cy5pbmRleE9mKGVmZmVjdCk7CiAgICAgICAgaWYgKGlkeCA+PSAwKSB7CiAgICAgICAgICBlZmZlY3RzLnNwbGljZShpZHgsIDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgcHJvcGVydHkgZWZmZWN0CiAgICAgICAqIG9mIGEgY2VydGFpbiB0eXBlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0ge3N0cmluZz19IHR5cGUgRWZmZWN0IHR5cGUsIGZyb20gdGhpcy5QUk9QRVJUWV9FRkZFQ1RfVFlQRVMKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvdG90eXBlL2luc3RhbmNlIGhhcyBhbiBlZmZlY3Qgb2YgdGhpcyB0eXBlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9oYXNQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSkgewogICAgICAgIGxldCBlZmZlY3RzID0gdGhpc1t0eXBlXTsKICAgICAgICByZXR1cm4gQm9vbGVhbihlZmZlY3RzICYmIGVmZmVjdHNbcHJvcGVydHldKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgInJlYWQgb25seSIKICAgICAgICogYWNjZXNzb3IgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvdG90eXBlL2luc3RhbmNlIGhhcyBhbiBlZmZlY3Qgb2YgdGhpcyB0eXBlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9oYXNSZWFkT25seUVmZmVjdChwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuUkVBRF9PTkxZKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgIm5vdGlmeSIKICAgICAgICogcHJvcGVydHkgZWZmZWN0IGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYW4gZWZmZWN0IG9mIHRoaXMgdHlwZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfaGFzTm90aWZ5RWZmZWN0KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5OT1RJRlkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYSAicmVmbGVjdCB0byBhdHRyaWJ1dGUiCiAgICAgICAqIHByb3BlcnR5IGVmZmVjdCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGFuIGVmZmVjdCBvZiB0aGlzIHR5cGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2hhc1JlZmxlY3RFZmZlY3QocHJvcGVydHkpIHsKICAgICAgICByZXR1cm4gdGhpcy5faGFzUHJvcGVydHlFZmZlY3QocHJvcGVydHksIFRZUEVTLlJFRkxFQ1QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYSAiY29tcHV0ZWQiCiAgICAgICAqIHByb3BlcnR5IGVmZmVjdCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGFuIGVmZmVjdCBvZiB0aGlzIHR5cGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2hhc0NvbXB1dGVkRWZmZWN0KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5DT01QVVRFKTsKICAgICAgfQoKICAgICAgLy8gUnVudGltZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAvKioKICAgICAgICogU2V0cyBhIHBlbmRpbmcgcHJvcGVydHkgb3IgcGF0aC4gIElmIHRoZSByb290IHByb3BlcnR5IG9mIHRoZSBwYXRoIGluCiAgICAgICAqIHF1ZXN0aW9uIGhhZCBubyBhY2Nlc3NvciwgdGhlIHBhdGggaXMgc2V0LCBvdGhlcndpc2UgaXQgaXMgZW5xdWV1ZWQKICAgICAgICogdmlhIGBfc2V0UGVuZGluZ1Byb3BlcnR5YC4KICAgICAgICoKICAgICAgICogVGhpcyBmdW5jdGlvbiBpc29sYXRlcyByZWxhdGl2ZWx5IGV4cGVuc2l2ZSBmdW5jdGlvbmFsaXR5IG5lY2Vzc2FyeQogICAgICAgKiBmb3IgdGhlIHB1YmxpYyBBUEkgKGBzZXRgLCBgc2V0UHJvcGVydGllc2AsIGBub3RpZnlQYXRoYCwgYW5kIHByb3BlcnR5CiAgICAgICAqIGNoYW5nZSBsaXN0ZW5lcnMgdmlhIHt7Li4ufX0gYmluZGluZ3MpLCBzdWNoIHRoYXQgaXQgaXMgb25seSBkb25lCiAgICAgICAqIHdoZW4gcGF0aHMgZW50ZXIgdGhlIHN5c3RlbSwgYW5kIG5vdCBhdCBldmVyeSBwcm9wYWdhdGlvbiBzdGVwLiAgSXQKICAgICAgICogYWxzbyBzZXRzIGEgYF9fZGF0YUhhc1BhdGhzYCBmbGFnIG9uIHRoZSBpbnN0YW5jZSB3aGljaCBpcyB1c2VkIHRvCiAgICAgICAqIGZhc3QtcGF0aCBzbG93ZXIgcGF0aC1tYXRjaGluZyBjb2RlIGluIHRoZSBwcm9wZXJ0eSBlZmZlY3RzIGhvc3QgcGF0aHMuCiAgICAgICAqCiAgICAgICAqIGBwYXRoYCBjYW4gYmUgYSBwYXRoIHN0cmluZyBvciBhcnJheSBvZiBwYXRoIHBhcnRzIGFzIGFjY2VwdGVkIGJ5IHRoZQogICAgICAgKiBwdWJsaWMgQVBJLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxudW1iZXJ8c3RyaW5nPn0gcGF0aCBQYXRoIHRvIHNldAogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzaG91bGROb3RpZnkgU2V0IHRvIHRydWUgaWYgdGhpcyBjaGFuZ2Ugc2hvdWxkCiAgICAgICAqICBjYXVzZSBhIHByb3BlcnR5IG5vdGlmaWNhdGlvbiBldmVudCBkaXNwYXRjaAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBpc1BhdGhOb3RpZmljYXRpb24gSWYgdGhlIHBhdGggYmVpbmcgc2V0IGlzIGEgcGF0aAogICAgICAgKiAgIG5vdGlmaWNhdGlvbiBvZiBhbiBhbHJlYWR5IGNoYW5nZWQgdmFsdWUsIGFzIG9wcG9zZWQgdG8gYSByZXF1ZXN0CiAgICAgICAqICAgdG8gc2V0IGFuZCBub3RpZnkgdGhlIGNoYW5nZS4gIEluIHRoZSBsYXR0ZXIgYGZhbHNlYCBjYXNlLCBhIGRpcnR5CiAgICAgICAqICAgY2hlY2sgaXMgcGVyZm9ybWVkIGFuZCB0aGVuIHRoZSB2YWx1ZSBpcyBzZXQgdG8gdGhlIHBhdGggYmVmb3JlCiAgICAgICAqICAgZW5xdWV1aW5nIHRoZSBwZW5kaW5nIHByb3BlcnR5IGNoYW5nZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eS9wYXRoIHdhcyBlbnF1ZXVlZCBpbgogICAgICAgKiAgIHRoZSBwZW5kaW5nIGNoYW5nZXMgYmFnLgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHZhbHVlLCBzaG91bGROb3RpZnksIGlzUGF0aE5vdGlmaWNhdGlvbikgewogICAgICAgIGlmIChpc1BhdGhOb3RpZmljYXRpb24gfHwKICAgICAgICAgICAgUG9seW1lci5QYXRoLnJvb3QoQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGhbMF0gOiBwYXRoKSAhPT0gcGF0aCkgewogICAgICAgICAgLy8gRGlydHkgY2hlY2sgY2hhbmdlcyBiZWluZyBzZXQgdG8gYSBwYXRoIGFnYWluc3QgdGhlIGFjdHVhbCBvYmplY3QsCiAgICAgICAgICAvLyBzaW5jZSB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgcGF0aHMgaW50byB0aGUgc3lzdGVtOyBmcm9tIGhlcmUKICAgICAgICAgIC8vIHRoZSBvbmx5IGRpcnR5IGNoZWNrcyBhcmUgYWdhaW5zdCB0aGUgYF9fZGF0YVRlbXBgIGNhY2hlIHRvIHByZXZlbnQKICAgICAgICAgIC8vIGR1cGxpY2F0ZSB3b3JrIGluIHRoZSBzYW1lIHR1cm4gb25seS4gTm90ZSwgaWYgdGhpcyB3YXMgYSBub3RpZmljYXRpb24KICAgICAgICAgIC8vIG9mIGEgY2hhbmdlIGFscmVhZHkgc2V0IHRvIGEgcGF0aCAoaXNQYXRoTm90aWZpY2F0aW9uOiB0cnVlKSwKICAgICAgICAgIC8vIHdlIGFsd2F5cyBsZXQgdGhlIGNoYW5nZSB0aHJvdWdoIGFuZCBza2lwIHRoZSBgc2V0YCBzaW5jZSBpdCB3YXMKICAgICAgICAgIC8vIGFscmVhZHkgZGlydHkgY2hlY2tlZCBhdCB0aGUgcG9pbnQgb2YgZW50cnkgYW5kIHRoZSB1bmRlcmx5aW5nCiAgICAgICAgICAvLyBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiB1cGRhdGVkCiAgICAgICAgICBpZiAoIWlzUGF0aE5vdGlmaWNhdGlvbikgewogICAgICAgICAgICBsZXQgb2xkID0gUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoKTsKICAgICAgICAgICAgcGF0aCA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoUG9seW1lci5QYXRoLnNldCh0aGlzLCBwYXRoLCB2YWx1ZSkpOwogICAgICAgICAgICAvLyBVc2UgcHJvcGVydHktYWNjZXNzb3IncyBzaW1wbGVyIGRpcnR5IGNoZWNrCiAgICAgICAgICAgIGlmICghcGF0aCB8fCAhc3VwZXIuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHBhdGgsIHZhbHVlLCBvbGQpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fZGF0YUhhc1BhdGhzID0gdHJ1ZTsKICAgICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoLyoqQHR5cGV7c3RyaW5nfSovKHBhdGgpLCB2YWx1ZSwgc2hvdWxkTm90aWZ5KSkgewogICAgICAgICAgICBjb21wdXRlTGlua2VkUGF0aHModGhpcywgcGF0aCwgdmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHRoaXMuX19kYXRhSGFzQWNjZXNzb3IgJiYgdGhpcy5fX2RhdGFIYXNBY2Nlc3NvcltwYXRoXSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KC8qKkB0eXBle3N0cmluZ30qLyhwYXRoKSwgdmFsdWUsIHNob3VsZE5vdGlmeSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzW3BhdGhdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFwcGxpZXMgYSB2YWx1ZSB0byBhIG5vbi1Qb2x5bWVyIGVsZW1lbnQvbm9kZSdzIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWFrZXMgYSBiZXN0LWVmZm9ydCBhdCBiaW5kaW5nIGludGVyb3A6CiAgICAgICAqIFNvbWUgbmF0aXZlIGVsZW1lbnQgcHJvcGVydGllcyBoYXZlIHNpZGUtZWZmZWN0cyB3aGVuCiAgICAgICAqIHJlLXNldHRpbmcgdGhlIHNhbWUgdmFsdWUgKGUuZy4gc2V0dGluZyBgPGlucHV0Pi52YWx1ZWAgcmVzZXRzIHRoZQogICAgICAgKiBjdXJzb3IgcG9zaXRpb24pLCBzbyB3ZSBkbyBhIGRpcnR5LWNoZWNrIGJlZm9yZSBzZXR0aW5nIHRoZSB2YWx1ZS4KICAgICAgICogSG93ZXZlciwgZm9yIGJldHRlciBpbnRlcm9wIHdpdGggbm9uLVBvbHltZXIgY3VzdG9tIGVsZW1lbnRzIHRoYXQKICAgICAgICogYWNjZXB0IG9iamVjdHMsIHdlIGV4cGxpY2l0bHkgcmUtc2V0IG9iamVjdCBjaGFuZ2VzIGNvbWluZyBmcm9tIHRoZQogICAgICAgKiBQb2x5bWVyIHdvcmxkICh3aGljaCBtYXkgaW5jbHVkZSBkZWVwIG9iamVjdCBjaGFuZ2VzIHdpdGhvdXQgdGhlCiAgICAgICAqIHRvcCByZWZlcmVuY2UgY2hhbmdpbmcpLCBlcnJpbmcgb24gdGhlIHNpZGUgb2YgcHJvdmlkaW5nIG1vcmUKICAgICAgICogaW5mb3JtYXRpb24uCiAgICAgICAqCiAgICAgICAqIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIGFsdGVybmF0ZSBhcHByb2FjaGVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIFRoZSBub2RlIHRvIHNldCBhIHByb3BlcnR5IG9uCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFRoZSBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZShub2RlLCBwcm9wLCB2YWx1ZSkgewogICAgICAgIC8vIEl0IGlzIGEganVkZ21lbnQgY2FsbCB0aGF0IHJlc2V0dGluZyBwcmltaXRpdmVzIGlzCiAgICAgICAgLy8gImJhZCIgYW5kIHJlc2V0dGluZ3Mgb2JqZWN0cyBpcyBhbHNvICJnb29kIjsgYWx0ZXJuYXRpdmVseSB3ZSBjb3VsZAogICAgICAgIC8vIGltcGxlbWVudCBhIHdoaXRlbGlzdCBvZiB0YWcgJiBwcm9wZXJ0eSB2YWx1ZXMgdGhhdCBzaG91bGQgbmV2ZXIKICAgICAgICAvLyBiZSByZXNldCAoZS5nLiA8aW5wdXQ+LnZhbHVlICYmIDxzZWxlY3Q+LnZhbHVlKQogICAgICAgIGlmICh2YWx1ZSAhPT0gbm9kZVtwcm9wXSB8fCB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCcpIHsKICAgICAgICAgIG5vZGVbcHJvcF0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGBQcm9wZXJ0aWVzQ2hhbmdlZGAgaW1wbGVtZW50YXRpb24gdG8gaW50cm9kdWNlIHNwZWNpYWwKICAgICAgICogZGlydHkgY2hlY2sgbG9naWMgZGVwZW5kaW5nIG9uIHRoZSBwcm9wZXJ0eSAmIHZhbHVlIGJlaW5nIHNldDoKICAgICAgICoKICAgICAgICogMS4gQW55IHZhbHVlIHNldCB0byBhIHBhdGggKGUuZy4gJ29iai5wcm9wJzogNDIgb3IgJ29iai5wcm9wJzogey4uLn0pCiAgICAgICAqICAgIFN0b3JlZCBpbiBgX19kYXRhVGVtcGAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBgX19kYXRhVGVtcGAKICAgICAgICogMi4gT2JqZWN0IHNldCB0byBzaW1wbGUgcHJvcGVydHkgKGUuZy4gJ3Byb3AnOiB7Li4ufSkKICAgICAgICogICAgU3RvcmVkIGluIGBfX2RhdGFUZW1wYCBhbmQgYF9fZGF0YWAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdAogICAgICAgKiAgICBgX19kYXRhVGVtcGAgYnkgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBgX3Nob3VsZFByb3BlcnR5Q2hhbmdlYAogICAgICAgKiAzLiBQcmltaXRpdmUgdmFsdWUgc2V0IHRvIHNpbXBsZSBwcm9wZXJ0eSAoZS5nLiAncHJvcCc6IDQyKQogICAgICAgKiAgICBTdG9yZWQgaW4gYF9fZGF0YWAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBgX19kYXRhYAogICAgICAgKgogICAgICAgKiBUaGUgZGlydHktY2hlY2sgaXMgaW1wb3J0YW50IHRvIHByZXZlbnQgY3ljbGVzIGR1ZSB0byB0d28td2F5CiAgICAgICAqIG5vdGlmaWNhdGlvbiwgYnV0IHBhdGhzIGFuZCBvYmplY3RzIGFyZSBvbmx5IGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBhbnkKICAgICAgICogcHJldmlvdXMgdmFsdWUgc2V0IGR1cmluZyB0aGlzIHR1cm4gdmlhIGEgInRlbXBvcmFyeSBjYWNoZSIgdGhhdCBpcwogICAgICAgKiBjbGVhcmVkIHdoZW4gdGhlIGxhc3QgYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgZXhpdHMuIFRoaXMgaXMgc286CiAgICAgICAqIGEuIGFueSBjYWNoZWQgYXJyYXkgcGF0aHMgKGUuZy4gJ2FycmF5LjMucHJvcCcpIG1heSBiZSBpbnZhbGlkYXRlZAogICAgICAgKiAgICBkdWUgdG8gYXJyYXkgbXV0YXRpb25zIGxpa2Ugc2hpZnQvdW5zaGlmdC9zcGxpY2U7IHRoaXMgaXMgZmluZQogICAgICAgKiAgICBzaW5jZSBwYXRoIGNoYW5nZXMgYXJlIGRpcnR5LWNoZWNrZWQgYXQgdXNlciBlbnRyeSBwb2ludHMgbGlrZSBgc2V0YAogICAgICAgKiBiLiBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBvbmx5IGxhc3RzIG9uZSB0dXJuIHRvIGFsbG93IHRoZSB1c2VyCiAgICAgICAqICAgIHRvIG11dGF0ZSB0aGUgb2JqZWN0IGluLXBsYWNlIGFuZCByZS1zZXQgaXQgd2l0aCB0aGUgc2FtZSBpZGVudGl0eQogICAgICAgKiAgICBhbmQgaGF2ZSBhbGwgc3ViLXByb3BlcnRpZXMgcmUtcHJvcGFnYXRlZCBpbiBhIHN1YnNlcXVlbnQgdHVybi4KICAgICAgICoKICAgICAgICogVGhlIHRlbXAgY2FjaGUgaXMgbm90IG5lY2Vzc2FyaWx5IHN1ZmZpY2llbnQgdG8gcHJldmVudCBpbnZhbGlkIGFycmF5CiAgICAgICAqIHBhdGhzLCBzaW5jZSBhIHNwbGljZSBjYW4gaGFwcGVuIGR1cmluZyB0aGUgc2FtZSB0dXJuICh3aXRoIHBhdGhvbG9naWNhbAogICAgICAgKiB1c2VyIGNvZGUpOyB3ZSBjb3VsZCBpbnRyb2R1Y2UgYSAiZml4dXAiIGZvciB0ZW1wb3JhcmlseSBjYWNoZWQgYXJyYXkKICAgICAgICogcGF0aHMgaWYgbmVlZGVkOiBodHRwczovL2dpdGh1Yi5jb20vUG9seW1lci9wb2x5bWVyL2lzc3Vlcy80MjI3CiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gc2hvdWxkTm90aWZ5IFRydWUgaWYgcHJvcGVydHkgc2hvdWxkIGZpcmUgbm90aWZpY2F0aW9uCiAgICAgICAqICAgZXZlbnQgKGFwcGxpZXMgb25seSBmb3IgYG5vdGlmeTogdHJ1ZWAgcHJvcGVydGllcykKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkCiAgICAgICAqLwogICAgICBfc2V0UGVuZGluZ1Byb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSwgc2hvdWxkTm90aWZ5KSB7CiAgICAgICAgbGV0IGlzUGF0aCA9IHRoaXMuX19kYXRhSGFzUGF0aHMgJiYgUG9seW1lci5QYXRoLmlzUGF0aChwcm9wZXJ0eSk7CiAgICAgICAgbGV0IHByZXZQcm9wcyA9IGlzUGF0aCA/IHRoaXMuX19kYXRhVGVtcCA6IHRoaXMuX19kYXRhOwogICAgICAgIGlmICh0aGlzLl9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIHByZXZQcm9wc1twcm9wZXJ0eV0pKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19kYXRhUGVuZGluZykgewogICAgICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmcgPSB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEVuc3VyZSBvbGQgaXMgY2FwdHVyZWQgZnJvbSB0aGUgbGFzdCB0dXJuCiAgICAgICAgICBpZiAoIShwcm9wZXJ0eSBpbiB0aGlzLl9fZGF0YU9sZCkpIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGRbcHJvcGVydHldID0gdGhpcy5fX2RhdGFbcHJvcGVydHldOwogICAgICAgICAgfQogICAgICAgICAgLy8gUGF0aHMgYXJlIHN0b3JlZCBpbiB0ZW1wb3JhcnkgY2FjaGUgKGNsZWFyZWQgYXQgZW5kIG9mIHR1cm4pLAogICAgICAgICAgLy8gd2hpY2ggaXMgdXNlZCBmb3IgZGlydHktY2hlY2tpbmcsIGFsbCBvdGhlcnMgc3RvcmVkIGluIF9fZGF0YQogICAgICAgICAgaWYgKGlzUGF0aCkgewogICAgICAgICAgICB0aGlzLl9fZGF0YVRlbXBbcHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLl9fZGF0YVtwcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEFsbCBjaGFuZ2VzIGdvIGludG8gcGVuZGluZyBwcm9wZXJ0eSBiYWcsIHBhc3NlZCB0byBfcHJvcGVydGllc0NoYW5nZWQKICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZ1twcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIC8vIFRyYWNrIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgbm90aWZ5IHNlcGFyYXRlbHkKICAgICAgICAgIGlmIChpc1BhdGggfHwgKHRoaXNbVFlQRVMuTk9USUZZXSAmJiB0aGlzW1RZUEVTLk5PVElGWV1bcHJvcGVydHldKSkgewogICAgICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5ID0gdGhpcy5fX2RhdGFUb05vdGlmeSB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFUb05vdGlmeVtwcm9wZXJ0eV0gPSBzaG91bGROb3RpZnk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGJhc2UgaW1wbGVtZW50YXRpb24gdG8gZW5zdXJlIGFsbCBhY2Nlc3NvcnMgc2V0IGBzaG91bGROb3RpZnlgCiAgICAgICAqIHRvIHRydWUsIGZvciBwZXItcHJvcGVydHkgbm90aWZpY2F0aW9uIHRyYWNraW5nLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5CiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKSB7CiAgICAgICAgaWYgKHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUsIHRydWUpKSB7CiAgICAgICAgICB0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUHJvcGVydHlBY2Nlc3NvcmAncyBkZWZhdWx0IGFzeW5jIHF1ZXVpbmcgb2YKICAgICAgICogYF9wcm9wZXJ0aWVzQ2hhbmdlZGA6IGlmIGBfX2RhdGFSZWFkeWAgaXMgZmFsc2UgKGhhcyBub3QgeWV0IGJlZW4KICAgICAgICogbWFudWFsbHkgZmx1c2hlZCksIHRoZSBmdW5jdGlvbiBuby1vcHM7IG90aGVyd2lzZSBmbHVzaGVzCiAgICAgICAqIGBfcHJvcGVydGllc0NoYW5nZWRgIHN5bmNocm9ub3VzbHkuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCkgewogICAgICAgIGlmICh0aGlzLl9fZGF0YVJlYWR5KSB7CiAgICAgICAgICB0aGlzLl9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFbnF1ZXVlcyB0aGUgZ2l2ZW4gY2xpZW50IG9uIGEgbGlzdCBvZiBwZW5kaW5nIGNsaWVudHMsIHdob3NlCiAgICAgICAqIHBlbmRpbmcgcHJvcGVydHkgY2hhbmdlcyBjYW4gbGF0ZXIgYmUgZmx1c2hlZCB2aWEgYSBjYWxsIHRvCiAgICAgICAqIGBfZmx1c2hDbGllbnRzYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNsaWVudCBQcm9wZXJ0eUVmZmVjdHMgY2xpZW50IHRvIGVucXVldWUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2VucXVldWVDbGllbnQoY2xpZW50KSB7CiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cyA9IHRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHMgfHwgW107CiAgICAgICAgaWYgKGNsaWVudCAhPT0gdGhpcykgewogICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cy5wdXNoKGNsaWVudCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIHN1cGVyY2xhc3MgaW1wbGVtZW50YXRpb24uCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9mbHVzaFByb3BlcnRpZXMoKSB7CiAgICAgICAgdGhpcy5fX2RhdGFDb3VudGVyKys7CiAgICAgICAgc3VwZXIuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIHRoaXMuX19kYXRhQ291bnRlci0tOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRmx1c2hlcyBhbnkgY2xpZW50cyBwcmV2aW91c2x5IGVucXVldWVkIHZpYSBgX2VucXVldWVDbGllbnRgLCBjYXVzaW5nCiAgICAgICAqIHRoZWlyIGBfZmx1c2hQcm9wZXJ0aWVzYCBtZXRob2QgdG8gcnVuLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfZmx1c2hDbGllbnRzKCkgewogICAgICAgIGlmICghdGhpcy5fX2RhdGFDbGllbnRzUmVhZHkpIHsKICAgICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5ID0gdHJ1ZTsKICAgICAgICAgIHRoaXMuX3JlYWR5Q2xpZW50cygpOwogICAgICAgICAgLy8gT3ZlcnJpZGUgcG9pbnQgd2hlcmUgYWNjZXNzb3JzIGFyZSB0dXJuZWQgb247IGltcG9ydGFudGx5LAogICAgICAgICAgLy8gdGhpcyBpcyBhZnRlciBjbGllbnRzIGhhdmUgZnVsbHkgcmVhZGllZCwgcHJvdmlkaW5nIGEgZ3VhcmFudGVlCiAgICAgICAgICAvLyB0aGF0IGFueSBwcm9wZXJ0eSBlZmZlY3RzIG9jY3VyIG9ubHkgYWZ0ZXIgYWxsIGNsaWVudHMgYXJlIHJlYWR5LgogICAgICAgICAgdGhpcy5fX2RhdGFSZWFkeSA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gTk9URTogV2UgZW5zdXJlIGNsaWVudHMgZWl0aGVyIGVuYWJsZSBvciBmbHVzaCBhcyBhcHByb3ByaWF0ZS4gVGhpcwogICAgICAvLyBoYW5kbGVzIHR3byBjb3JuZXIgY2FzZXM6CiAgICAgIC8vICgxKSBjbGllbnRzIGZsdXNoIHByb3Blcmx5IHdoZW4gY29ubmVjdGVkL2VuYWJsZWQgYmVmb3JlIHRoZSBob3N0CiAgICAgIC8vIGVuYWJsZXM7IGUuZy4KICAgICAgLy8gICAoYSkgVGVtcGxhdGl6ZSBzdGFtcHMgd2l0aCBubyBwcm9wZXJ0aWVzIGFuZCBkb2VzIG5vdCBmbHVzaCBhbmQKICAgICAgLy8gICAoYikgdGhlIGluc3RhbmNlIGlzIGluc2VydGVkIGludG8gZG9tIGFuZAogICAgICAvLyAgIChjKSB0aGVuIHRoZSBpbnN0YW5jZSBmbHVzaGVzLgogICAgICAvLyAoMikgY2xpZW50cyBlbmFibGUgcHJvcGVybHkgd2hlbiBub3QgY29ubmVjdGVkL2VuYWJsZWQgd2hlbiB0aGUgaG9zdAogICAgICAvLyBmbHVzaGVzOyBlLmcuCiAgICAgIC8vICAgKGEpIGEgdGVtcGxhdGUgaXMgcnVudGltZSBzdGFtcGVkIGFuZCBub3QgeWV0IGNvbm5lY3RlZC9lbmFibGVkCiAgICAgIC8vICAgKGIpIGEgaG9zdCBzZXRzIGEgcHJvcGVydHksIGNhdXNpbmcgc3RhbXBlZCBkb20gdG8gZmx1c2gKICAgICAgLy8gICAoYykgdGhlIHN0YW1wZWQgZG9tIGVuYWJsZXMuCiAgICAgIF9fZW5hYmxlT3JGbHVzaENsaWVudHMoKSB7CiAgICAgICAgbGV0IGNsaWVudHMgPSB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzOwogICAgICAgIGlmIChjbGllbnRzKSB7CiAgICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzID0gbnVsbDsKICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGNsaWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgbGV0IGNsaWVudCA9IGNsaWVudHNbaV07CiAgICAgICAgICAgIGlmICghY2xpZW50Ll9fZGF0YUVuYWJsZWQpIHsKICAgICAgICAgICAgICBjbGllbnQuX2VuYWJsZVByb3BlcnRpZXMoKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjbGllbnQuX19kYXRhUGVuZGluZykgewogICAgICAgICAgICAgIGNsaWVudC5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQZXJmb3JtIGFueSBpbml0aWFsIHNldHVwIG9uIGNsaWVudCBkb20uIENhbGxlZCBiZWZvcmUgdGhlIGZpcnN0CiAgICAgICAqIGBfZmx1c2hQcm9wZXJ0aWVzYCBjYWxsIG9uIGNsaWVudCBkb20gYW5kIGJlZm9yZSBhbnkgZWxlbWVudAogICAgICAgKiBvYnNlcnZlcnMgYXJlIGNhbGxlZC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX3JlYWR5Q2xpZW50cygpIHsKICAgICAgICB0aGlzLl9fZW5hYmxlT3JGbHVzaENsaWVudHMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNldHMgYSBiYWcgb2YgcHJvcGVydHkgY2hhbmdlcyB0byB0aGlzIGluc3RhbmNlLCBhbmQKICAgICAgICogc3luY2hyb25vdXNseSBwcm9jZXNzZXMgYWxsIGVmZmVjdHMgb2YgdGhlIHByb3BlcnRpZXMgYXMgYSBiYXRjaC4KICAgICAgICoKICAgICAgICogUHJvcGVydHkgbmFtZXMgbXVzdCBiZSBzaW1wbGUgcHJvcGVydGllcywgbm90IHBhdGhzLiAgQmF0Y2hlZAogICAgICAgKiBwYXRoIHByb3BhZ2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2Ygb25lIG9yIG1vcmUga2V5LXZhbHVlIHBhaXJzIHdob3NlIGtleSBpcwogICAgICAgKiAgIGEgcHJvcGVydHkgYW5kIHZhbHVlIGlzIHRoZSBuZXcgdmFsdWUgdG8gc2V0IGZvciB0aGF0IHByb3BlcnR5LgogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzZXRSZWFkT25seSBXaGVuIHRydWUsIGFueSBwcml2YXRlIHZhbHVlcyBzZXQgaW4KICAgICAgICogICBgcHJvcHNgIHdpbGwgYmUgc2V0LiBCeSBkZWZhdWx0LCBgc2V0UHJvcGVydGllc2Agd2lsbCBub3Qgc2V0CiAgICAgICAqICAgYHJlYWRPbmx5OiB0cnVlYCByb290IHByb3BlcnRpZXMuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHNldFByb3BlcnRpZXMocHJvcHMsIHNldFJlYWRPbmx5KSB7CiAgICAgICAgZm9yIChsZXQgcGF0aCBpbiBwcm9wcykgewogICAgICAgICAgaWYgKHNldFJlYWRPbmx5IHx8ICF0aGlzW1RZUEVTLlJFQURfT05MWV0gfHwgIXRoaXNbVFlQRVMuUkVBRF9PTkxZXVtwYXRoXSkgewogICAgICAgICAgICAvL1RPRE8oa3NjaGFhZik6IGV4cGxpY2l0bHkgZGlzYWxsb3cgcGF0aHMgaW4gc2V0UHJvcGVydHk/CiAgICAgICAgICAgIC8vIHdpbGRjYXJkIG9ic2VydmVycyBjdXJyZW50bHkgb25seSBwYXNzIHRoZSBmaXJzdCBjaGFuZ2VkIHBhdGgKICAgICAgICAgICAgLy8gaW4gdGhlIGBpbmZvYCBvYmplY3QsIGFuZCB5b3UgY291bGQgZG8gc29tZSBvZGQgdGhpbmdzIGJhdGNoaW5nCiAgICAgICAgICAgIC8vIHBhdGhzLCBlLmcuIHsnZm9vLmJhcic6IHsuLi59LCAnZm9vJzogbnVsbH0KICAgICAgICAgICAgdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHByb3BzW3BhdGhdLCB0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUHJvcGVydHlBY2Nlc3NvcnNgIHNvIHRoYXQgcHJvcGVydHkgYWNjZXNzb3IKICAgICAgICogc2lkZSBlZmZlY3RzIGFyZSBub3QgZW5hYmxlZCB1bnRpbCBhZnRlciBjbGllbnQgZG9tIGlzIGZ1bGx5IHJlYWR5LgogICAgICAgKiBBbHNvIGNhbGxzIGBfZmx1c2hDbGllbnRzYCBjYWxsYmFjayB0byBlbnN1cmUgY2xpZW50IGRvbSBpcyBlbmFibGVkCiAgICAgICAqIHRoYXQgd2FzIG5vdCBlbmFibGVkIGFzIGEgcmVzdWx0IG9mIGZsdXNoaW5nIHByb3BlcnRpZXMuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgcmVhZHkoKSB7CiAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgYHN1cGVyLnJlYWR5KClgIGlzIG5vdCBjYWxsZWQgaGVyZSBhcyBpdAogICAgICAgIC8vIGltbWVkaWF0ZWx5IHR1cm5zIG9uIGFjY2Vzc29ycy4gSW5zdGVhZCwgd2Ugd2FpdCB1bnRpbCBgcmVhZHlDbGllbnRzYAogICAgICAgIC8vIHRvIGVuYWJsZSBhY2Nlc3NvcnMgdG8gcHJvdmlkZSBhIGd1YXJhbnRlZSB0aGF0IGNsaWVudHMgYXJlIHJlYWR5CiAgICAgICAgLy8gYmVmb3JlIHByb2Nlc3NpbmcgYW55IGFjY2Vzc29ycyBzaWRlIGVmZmVjdHMuCiAgICAgICAgdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgLy8gSWYgbm8gZGF0YSB3YXMgcGVuZGluZywgYF9mbHVzaFByb3BlcnRpZXNgIHdpbGwgbm90IGBmbHVzaENsaWVudHNgCiAgICAgICAgLy8gc28gZW5zdXJlIHRoaXMgaXMgZG9uZS4KICAgICAgICBpZiAoIXRoaXMuX19kYXRhQ2xpZW50c1JlYWR5KSB7CiAgICAgICAgICB0aGlzLl9mbHVzaENsaWVudHMoKTsKICAgICAgICB9CiAgICAgICAgLy8gQmVmb3JlIHJlYWR5LCBjbGllbnQgbm90aWZpY2F0aW9ucyBkbyBub3QgdHJpZ2dlciBfZmx1c2hQcm9wZXJ0aWVzLgogICAgICAgIC8vIFRoZXJlZm9yZSBhIGZsdXNoIGlzIG5lY2Vzc2FyeSBoZXJlIGlmIGRhdGEgaGFzIGJlZW4gc2V0LgogICAgICAgIGlmICh0aGlzLl9fZGF0YVBlbmRpbmcpIHsKICAgICAgICAgIHRoaXMuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgYFByb3BlcnR5QWNjZXNzb3JzYCdzIHByb3BlcnRpZXMgY2hhbmdlZCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogUnVucyBlYWNoIGNsYXNzIG9mIGVmZmVjdHMgZm9yIHRoZSBiYXRjaCBvZiBjaGFuZ2VkIHByb3BlcnRpZXMgaW4KICAgICAgICogYSBzcGVjaWZpYyBvcmRlciAoY29tcHV0ZSwgcHJvcGFnYXRlLCByZWZsZWN0LCBvYnNlcnZlLCBub3RpZnkpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFPYmplY3R9IGN1cnJlbnRQcm9wcyBCYWcgb2YgYWxsIGN1cnJlbnQgYWNjZXNzb3IgdmFsdWVzCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBwcm9wZXJ0aWVzIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QKICAgICAgICogICBjYWxsIHRvIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gb2xkUHJvcHMgQmFnIG9mIHByZXZpb3VzIHZhbHVlcyBmb3IgZWFjaCBwcm9wZXJ0eQogICAgICAgKiAgIGluIGBjaGFuZ2VkUHJvcHNgCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcHJvcGVydGllc0NoYW5nZWQoY3VycmVudFByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzKSB7CiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgIC8vIGxldCBjID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2hhbmdlZFByb3BzIHx8IHt9KTsKICAgICAgICAvLyB3aW5kb3cuZGVidWcgJiYgY29uc29sZS5ncm91cCh0aGlzLmxvY2FsTmFtZSArICcjJyArIHRoaXMuaWQgKyAnOiAnICsgYyk7CiAgICAgICAgLy8gaWYgKHdpbmRvdy5kZWJ1ZykgeyBkZWJ1Z2dlcjsgfQogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICBsZXQgaGFzUGF0aHMgPSB0aGlzLl9fZGF0YUhhc1BhdGhzOwogICAgICAgIHRoaXMuX19kYXRhSGFzUGF0aHMgPSBmYWxzZTsKICAgICAgICAvLyBDb21wdXRlIHByb3BlcnRpZXMKICAgICAgICBydW5Db21wdXRlZEVmZmVjdHModGhpcywgY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIC8vIENsZWFyIG5vdGlmeSBwcm9wZXJ0aWVzIHByaW9yIHRvIHBvc3NpYmxlIHJlZW50cnkgKHByb3BhZ2F0ZSwgb2JzZXJ2ZSksCiAgICAgICAgLy8gYnV0IGFmdGVyIGNvbXB1dGluZyBlZmZlY3RzIGhhdmUgYSBjaGFuY2UgdG8gYWRkIHRvIHRoZW0KICAgICAgICBsZXQgbm90aWZ5UHJvcHMgPSB0aGlzLl9fZGF0YVRvTm90aWZ5OwogICAgICAgIHRoaXMuX19kYXRhVG9Ob3RpZnkgPSBudWxsOwogICAgICAgIC8vIFByb3BhZ2F0ZSBwcm9wZXJ0aWVzIHRvIGNsaWVudHMKICAgICAgICB0aGlzLl9wcm9wYWdhdGVQcm9wZXJ0eUNoYW5nZXMoY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIC8vIEZsdXNoIGNsaWVudHMKICAgICAgICB0aGlzLl9mbHVzaENsaWVudHMoKTsKICAgICAgICAvLyBSZWZsZWN0IHByb3BlcnRpZXMKICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuUkVGTEVDVF0sIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgICAvLyBPYnNlcnZlIHByb3BlcnRpZXMKICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuT0JTRVJWRV0sIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgICAvLyBOb3RpZnkgcHJvcGVydGllcyB0byBob3N0CiAgICAgICAgaWYgKG5vdGlmeVByb3BzKSB7CiAgICAgICAgICBydW5Ob3RpZnlFZmZlY3RzKHRoaXMsIG5vdGlmeVByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocyk7CiAgICAgICAgfQogICAgICAgIC8vIENsZWFyIHRlbXBvcmFyeSBjYWNoZSBhdCBlbmQgb2YgdHVybgogICAgICAgIGlmICh0aGlzLl9fZGF0YUNvdW50ZXIgPT0gMSkgewogICAgICAgICAgdGhpcy5fX2RhdGFUZW1wID0ge307CiAgICAgICAgfQogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAvLyB3aW5kb3cuZGVidWcgJiYgY29uc29sZS5ncm91cEVuZCh0aGlzLmxvY2FsTmFtZSArICcjJyArIHRoaXMuaWQgKyAnOiAnICsgYyk7CiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIHRvIHByb3BhZ2F0ZSBhbnkgcHJvcGVydHkgY2hhbmdlcyB0byBzdGFtcGVkIHRlbXBsYXRlIG5vZGVzCiAgICAgICAqIG1hbmFnZWQgYnkgdGhpcyBlbGVtZW50LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBjaGFuZ2VkIHByb3BlcnRpZXMKICAgICAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9wcm9wYWdhdGVQcm9wZXJ0eUNoYW5nZXMoY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpIHsKICAgICAgICBpZiAodGhpc1tUWVBFUy5QUk9QQUdBVEVdKSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuUFJPUEFHQVRFXSwgY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIH0KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5fX3RlbXBsYXRlSW5mbzsKICAgICAgICB3aGlsZSAodGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMsIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsCiAgICAgICAgICAgIGhhc1BhdGhzLCB0ZW1wbGF0ZUluZm8ubm9kZUxpc3QpOwogICAgICAgICAgdGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm87CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogQWxpYXNlcyBvbmUgZGF0YSBwYXRoIGFzIGFub3RoZXIsIHN1Y2ggdGhhdCBwYXRoIG5vdGlmaWNhdGlvbnMgZnJvbSBvbmUKICAgICAgICogYXJlIHJvdXRlZCB0byB0aGUgb3RoZXIuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSB0byBUYXJnZXQgcGF0aCB0byBsaW5rLgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gZnJvbSBTb3VyY2UgcGF0aCB0byBsaW5rLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHVibGljCiAgICAgICAqLwogICAgICBsaW5rUGF0aHModG8sIGZyb20pIHsKICAgICAgICB0byA9IFBvbHltZXIuUGF0aC5ub3JtYWxpemUodG8pOwogICAgICAgIGZyb20gPSBQb2x5bWVyLlBhdGgubm9ybWFsaXplKGZyb20pOwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzIHx8IHt9OwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHNbdG9dID0gZnJvbTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYSBkYXRhIHBhdGggYWxpYXMgcHJldmlvdXNseSBlc3RhYmxpc2hlZCB3aXRoIGBfbGlua1BhdGhzYC4KICAgICAgICoKICAgICAgICogTm90ZSwgdGhlIHBhdGggdG8gdW5saW5rIHNob3VsZCBiZSB0aGUgdGFyZ2V0IChgdG9gKSB1c2VkIHdoZW4KICAgICAgICogbGlua2luZyB0aGUgcGF0aHMuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSBwYXRoIFRhcmdldCBwYXRoIHRvIHVubGluay4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgdW5saW5rUGF0aHMocGF0aCkgewogICAgICAgIHBhdGggPSBQb2x5bWVyLlBhdGgubm9ybWFsaXplKHBhdGgpOwogICAgICAgIGlmICh0aGlzLl9fZGF0YUxpbmtlZFBhdGhzKSB7CiAgICAgICAgICBkZWxldGUgdGhpcy5fX2RhdGFMaW5rZWRQYXRoc1twYXRoXTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBOb3RpZnkgdGhhdCBhbiBhcnJheSBoYXMgY2hhbmdlZC4KICAgICAgICoKICAgICAgICogRXhhbXBsZToKICAgICAgICoKICAgICAgICogICAgIHRoaXMuaXRlbXMgPSBbIHtuYW1lOiAnSmltJ30sIHtuYW1lOiAnVG9kZCd9LCB7bmFtZTogJ0JpbGwnfSBdOwogICAgICAgKiAgICAgLi4uCiAgICAgICAqICAgICB0aGlzLml0ZW1zLnNwbGljZSgxLCAxLCB7bmFtZTogJ1NhbSd9KTsKICAgICAgICogICAgIHRoaXMuaXRlbXMucHVzaCh7bmFtZTogJ0JvYid9KTsKICAgICAgICogICAgIHRoaXMubm90aWZ5U3BsaWNlcygnaXRlbXMnLCBbCiAgICAgICAqICAgICAgIHsgaW5kZXg6IDEsIHJlbW92ZWQ6IFt7bmFtZTogJ1RvZGQnfV0sIGFkZGVkQ291bnQ6IDEsIG9iamVjdDogdGhpcy5pdGVtcywgdHlwZTogJ3NwbGljZScgfSwKICAgICAgICogICAgICAgeyBpbmRleDogMywgcmVtb3ZlZDogW10sIGFkZGVkQ291bnQ6IDEsIG9iamVjdDogdGhpcy5pdGVtcywgdHlwZTogJ3NwbGljZSd9CiAgICAgICAqICAgICBdKTsKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0aGF0IHNob3VsZCBiZSBub3RpZmllZC4KICAgICAgICogQHBhcmFtIHtBcnJheX0gc3BsaWNlcyBBcnJheSBvZiBzcGxpY2UgcmVjb3JkcyBpbmRpY2F0aW5nIG9yZGVyZWQKICAgICAgICogICBjaGFuZ2VzIHRoYXQgb2NjdXJyZWQgdG8gdGhlIGFycmF5LiBFYWNoIHJlY29yZCBzaG91bGQgaGF2ZSB0aGUKICAgICAgICogICBmb2xsb3dpbmcgZmllbGRzOgogICAgICAgKiAgICAqIGluZGV4OiBpbmRleCBhdCB3aGljaCB0aGUgY2hhbmdlIG9jY3VycmVkCiAgICAgICAqICAgICogcmVtb3ZlZDogYXJyYXkgb2YgaXRlbXMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGlzIGluZGV4CiAgICAgICAqICAgICogYWRkZWRDb3VudDogbnVtYmVyIG9mIG5ldyBpdGVtcyBhZGRlZCBhdCB0aGlzIGluZGV4CiAgICAgICAqICAgICogb2JqZWN0OiBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgaW4gcXVlc3Rpb24KICAgICAgICogICAgKiB0eXBlOiB0aGUgc3RyaW5nIGxpdGVyYWwgJ3NwbGljZScKICAgICAgICoKICAgICAgICogICBOb3RlIHRoYXQgc3BsaWNlIHJlY29yZHMgX211c3RfIGJlIG5vcm1hbGl6ZWQgc3VjaCB0aGF0IHRoZXkgYXJlCiAgICAgICAqICAgcmVwb3J0ZWQgaW4gaW5kZXggb3JkZXIgKHJhdyByZXN1bHRzIGZyb20gYE9iamVjdC5vYnNlcnZlYCBhcmUgbm90CiAgICAgICAqICAgb3JkZXJlZCBhbmQgbXVzdCBiZSBub3JtYWxpemVkL21lcmdlZCBiZWZvcmUgbm90aWZ5aW5nKS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBub3RpZnlTcGxpY2VzKHBhdGgsIHNwbGljZXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbm90aWZ5U3BsaWNlcyh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCBzcGxpY2VzKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgcmVhZGluZyBhIHZhbHVlIGZyb20gYSBwYXRoLgogICAgICAgKgogICAgICAgKiBOb3RlLCBpZiBhbnkgcGFydCBpbiB0aGUgcGF0aCBpcyB1bmRlZmluZWQsIHRoaXMgbWV0aG9kIHJldHVybnMKICAgICAgICogYHVuZGVmaW5lZGAgKHRoaXMgbWV0aG9kIGRvZXMgbm90IHRocm93IHdoZW4gZGVyZWZlcmVuY2luZyB1bmRlZmluZWQKICAgICAgICogcGF0aHMpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyhzdHJpbmd8IUFycmF5PChzdHJpbmd8bnVtYmVyKT4pfSBwYXRoIFBhdGggdG8gdGhlIHZhbHVlCiAgICAgICAqICAgdG8gcmVhZC4gIFRoZSBwYXRoIG1heSBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgKGUuZy4gYGZvby5iYXIuYmF6YCkKICAgICAgICogICBvciBhbiBhcnJheSBvZiBwYXRoIHBhcnRzIChlLmcuIGBbJ2Zvby5iYXInLCAnYmF6J11gKS4gIE5vdGUgdGhhdAogICAgICAgKiAgIGJyYWNrZXRlZCBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZDsgc3RyaW5nLWJhc2VkIHBhdGggcGFydHMKICAgICAgICogICAqbXVzdCogYmUgc2VwYXJhdGVkIGJ5IGRvdHMuICBOb3RlIHRoYXQgd2hlbiBkZXJlZmVyZW5jaW5nIGFycmF5CiAgICAgICAqICAgaW5kaWNlcywgdGhlIGluZGV4IG1heSBiZSB1c2VkIGFzIGEgZG90dGVkIHBhcnQgZGlyZWN0bHkKICAgICAgICogICAoZS5nLiBgdXNlcnMuMTIubmFtZWAgb3IgYFsndXNlcnMnLCAxMiwgJ25hbWUnXWApLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHJvb3QgUm9vdCBvYmplY3QgZnJvbSB3aGljaCB0aGUgcGF0aCBpcyBldmFsdWF0ZWQuCiAgICAgICAqIEByZXR1cm4geyp9IFZhbHVlIGF0IHRoZSBwYXRoLCBvciBgdW5kZWZpbmVkYCBpZiBhbnkgcGFydCBvZiB0aGUgcGF0aAogICAgICAgKiAgIGlzIHVuZGVmaW5lZC4KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgZ2V0KHBhdGgsIHJvb3QpIHsKICAgICAgICByZXR1cm4gUG9seW1lci5QYXRoLmdldChyb290IHx8IHRoaXMsIHBhdGgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBzZXR0aW5nIGEgdmFsdWUgdG8gYSBwYXRoIGFuZCBub3RpZnlpbmcgYW55CiAgICAgICAqIGVsZW1lbnRzIGJvdW5kIHRvIHRoZSBzYW1lIHBhdGguCiAgICAgICAqCiAgICAgICAqIE5vdGUsIGlmIGFueSBwYXJ0IGluIHRoZSBwYXRoIGV4Y2VwdCBmb3IgdGhlIGxhc3QgaXMgdW5kZWZpbmVkLAogICAgICAgKiB0aGlzIG1ldGhvZCBkb2VzIG5vdGhpbmcgKHRoaXMgbWV0aG9kIGRvZXMgbm90IHRocm93IHdoZW4KICAgICAgICogZGVyZWZlcmVuY2luZyB1bmRlZmluZWQgcGF0aHMpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyhzdHJpbmd8IUFycmF5PChzdHJpbmd8bnVtYmVyKT4pfSBwYXRoIFBhdGggdG8gdGhlIHZhbHVlCiAgICAgICAqICAgdG8gd3JpdGUuICBUaGUgcGF0aCBtYXkgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChlLmcuIGAnZm9vLmJhci5iYXonYCkKICAgICAgICogICBvciBhbiBhcnJheSBvZiBwYXRoIHBhcnRzIChlLmcuIGBbJ2Zvby5iYXInLCAnYmF6J11gKS4gIE5vdGUgdGhhdAogICAgICAgKiAgIGJyYWNrZXRlZCBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZDsgc3RyaW5nLWJhc2VkIHBhdGggcGFydHMKICAgICAgICogICAqbXVzdCogYmUgc2VwYXJhdGVkIGJ5IGRvdHMuICBOb3RlIHRoYXQgd2hlbiBkZXJlZmVyZW5jaW5nIGFycmF5CiAgICAgICAqICAgaW5kaWNlcywgdGhlIGluZGV4IG1heSBiZSB1c2VkIGFzIGEgZG90dGVkIHBhcnQgZGlyZWN0bHkKICAgICAgICogICAoZS5nLiBgJ3VzZXJzLjEyLm5hbWUnYCBvciBgWyd1c2VycycsIDEyLCAnbmFtZSddYCkuCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0IGF0IHRoZSBzcGVjaWZpZWQgcGF0aC4KICAgICAgICogQHBhcmFtIHtPYmplY3Q9fSByb290IFJvb3Qgb2JqZWN0IGZyb20gd2hpY2ggdGhlIHBhdGggaXMgZXZhbHVhdGVkLgogICAgICAgKiAgIFdoZW4gc3BlY2lmaWVkLCBubyBub3RpZmljYXRpb24gd2lsbCBvY2N1ci4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBzZXQocGF0aCwgdmFsdWUsIHJvb3QpIHsKICAgICAgICBpZiAocm9vdCkgewogICAgICAgICAgUG9seW1lci5QYXRoLnNldChyb290LCBwYXRoLCB2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICghdGhpc1tUWVBFUy5SRUFEX09OTFldIHx8ICF0aGlzW1RZUEVTLlJFQURfT05MWV1bLyoqIEB0eXBlIHtzdHJpbmd9ICovKHBhdGgpXSkgewogICAgICAgICAgICBpZiAodGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHZhbHVlLCB0cnVlKSkgewogICAgICAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBZGRzIGl0ZW1zIG9udG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkgYXQgdGhlIHBhdGggc3BlY2lmaWVkLgogICAgICAgKgogICAgICAgKiBUaGUgYXJndW1lbnRzIGFmdGVyIGBwYXRoYCBhbmQgcmV0dXJuIHZhbHVlIG1hdGNoIHRoYXQgb2YKICAgICAgICogYEFycmF5LnByb3RvdHlwZS5wdXNoYC4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2Qgbm90aWZpZXMgb3RoZXIgcGF0aHMgdG8gdGhlIHNhbWUgYXJyYXkgdGhhdCBhCiAgICAgICAqIHNwbGljZSBvY2N1cnJlZCB0byB0aGUgYXJyYXkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSBwYXRoIFBhdGggdG8gYXJyYXkuCiAgICAgICAqIEBwYXJhbSB7Li4uKn0gaXRlbXMgSXRlbXMgdG8gcHVzaCBvbnRvIGFycmF5CiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gTmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHB1c2gocGF0aCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0qLyhQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIHBhdGgsIGluZm8pKTsKICAgICAgICBsZXQgbGVuID0gYXJyYXkubGVuZ3RoOwogICAgICAgIGxldCByZXQgPSBhcnJheS5wdXNoKC4uLml0ZW1zKTsKICAgICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgbGVuLCBpdGVtcy5sZW5ndGgsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBlbmQgb2YgYXJyYXkgYXQgdGhlIHBhdGggc3BlY2lmaWVkLgogICAgICAgKgogICAgICAgKiBUaGUgYXJndW1lbnRzIGFmdGVyIGBwYXRoYCBhbmQgcmV0dXJuIHZhbHVlIG1hdGNoIHRoYXQgb2YKICAgICAgICogYEFycmF5LnByb3RvdHlwZS5wb3BgLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBub3RpZmllcyBvdGhlciBwYXRocyB0byB0aGUgc2FtZSBhcnJheSB0aGF0IGEKICAgICAgICogc3BsaWNlIG9jY3VycmVkIHRvIHRoZSBhcnJheS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggUGF0aCB0byBhcnJheS4KICAgICAgICogQHJldHVybiB7Kn0gSXRlbSB0aGF0IHdhcyByZW1vdmVkLgogICAgICAgKiBAcHVibGljCiAgICAgICAqLwogICAgICBwb3AocGF0aCkgewogICAgICAgIGxldCBpbmZvID0ge3BhdGg6ICcnfTsKICAgICAgICBsZXQgYXJyYXkgPSAvKiogQHR5cGUge0FycmF5fSAqLyhQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIHBhdGgsIGluZm8pKTsKICAgICAgICBsZXQgaGFkTGVuZ3RoID0gQm9vbGVhbihhcnJheS5sZW5ndGgpOwogICAgICAgIGxldCByZXQgPSBhcnJheS5wb3AoKTsKICAgICAgICBpZiAoaGFkTGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgYXJyYXkubGVuZ3RoLCAwLCBbcmV0XSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTdGFydGluZyBmcm9tIHRoZSBzdGFydCBpbmRleCBzcGVjaWZpZWQsIHJlbW92ZXMgMCBvciBtb3JlIGl0ZW1zCiAgICAgICAqIGZyb20gdGhlIGFycmF5IGFuZCBpbnNlcnRzIDAgb3IgbW9yZSBuZXcgaXRlbXMgaW4gdGhlaXIgcGxhY2UuCiAgICAgICAqCiAgICAgICAqIFRoZSBhcmd1bWVudHMgYWZ0ZXIgYHBhdGhgIGFuZCByZXR1cm4gdmFsdWUgbWF0Y2ggdGhhdCBvZgogICAgICAgKiBgQXJyYXkucHJvdG90eXBlLnNwbGljZWAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgSW5kZXggZnJvbSB3aGljaCB0byBzdGFydCByZW1vdmluZy9pbnNlcnRpbmcuCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZWxldGVDb3VudCBOdW1iZXIgb2YgaXRlbXMgdG8gcmVtb3ZlLgogICAgICAgKiBAcGFyYW0gey4uLip9IGl0ZW1zIEl0ZW1zIHRvIGluc2VydCBpbnRvIGFycmF5LgogICAgICAgKiBAcmV0dXJuIHtBcnJheX0gQXJyYXkgb2YgcmVtb3ZlZCBpdGVtcy4KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgc3BsaWNlKHBhdGgsIHN0YXJ0LCBkZWxldGVDb3VudCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoIDogJyd9OwogICAgICAgIGxldCBhcnJheSA9IC8qKiBAdHlwZSB7QXJyYXl9ICovKFBvbHltZXIuUGF0aC5nZXQodGhpcywgcGF0aCwgaW5mbykpOwogICAgICAgIC8vIE5vcm1hbGl6ZSBmYW5jeSBuYXRpdmUgc3BsaWNlIGhhbmRsaW5nIG9mIGNyYXp5IHN0YXJ0IHZhbHVlcwogICAgICAgIGlmIChzdGFydCA8IDApIHsKICAgICAgICAgIHN0YXJ0ID0gYXJyYXkubGVuZ3RoIC0gTWF0aC5mbG9vcigtc3RhcnQpOwogICAgICAgIH0gZWxzZSBpZiAoc3RhcnQpIHsKICAgICAgICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFydCk7CiAgICAgICAgfQogICAgICAgIC8vIGFycmF5LnNwbGljZSBkb2VzIGRpZmZlcmVudCB0aGluZ3MgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMKICAgICAgICAvLyB5b3UgcGFzcyBpbi4gVGhlcmVmb3JlLCBhcnJheS5zcGxpY2UoMCkgYW5kIGFycmF5LnNwbGljZSgwLCB1bmRlZmluZWQpCiAgICAgICAgLy8gZG8gZGlmZmVyZW50IHRoaW5ncy4gSW4gdGhlIGZvcm1lciwgdGhlIHdob2xlIGFycmF5IGlzIGNsZWFyZWQuIEluIHRoZQogICAgICAgIC8vIGxhdHRlciwgbm8gaXRlbXMgYXJlIHJlbW92ZWQuCiAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHdlIG5lZWQgdG8gZGV0ZWN0IHdoZXRoZXIgMS4gb25lIG9mIHRoZSBhcmd1bWVudHMKICAgICAgICAvLyBpcyBhY3R1YWxseSBwYXNzZWQgaW4gYW5kIHRoZW4gMi4gZGV0ZXJtaW5lIGhvdyBtYW55IGFyZ3VtZW50cwogICAgICAgIC8vIHdlIHNob3VsZCBwYXNzIG9uIHRvIHRoZSBuYXRpdmUgYXJyYXkuc3BsaWNlCiAgICAgICAgLy8KICAgICAgICBsZXQgcmV0OwogICAgICAgIC8vIE9taXQgYW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGlmIHRoZXkgd2VyZSBub3QgcGFzc2VkIGluCiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHsKICAgICAgICAgIHJldCA9IGFycmF5LnNwbGljZShzdGFydCk7CiAgICAgICAgLy8gRWl0aGVyIHN0YXJ0IHdhcyB1bmRlZmluZWQgYW5kIHRoZSBvdGhlcnMgd2VyZSBkZWZpbmVkLCBidXQgaW4gdGhpcwogICAgICAgIC8vIGNhc2Ugd2UgY2FuIHNhZmVseSBwYXNzIG9uIGFsbCBhcmd1bWVudHMKICAgICAgICAvLwogICAgICAgIC8vIE5vdGU6IHRoaXMgaW5jbHVkZXMgdGhlIGNhc2Ugd2hlcmUgbm9uZSBvZiB0aGUgYXJndW1lbnRzIHdlcmUgcGFzc2VkIGluLAogICAgICAgIC8vIGUuZy4gdGhpcy5zcGxpY2UoJ2FycmF5JykuIEhvd2V2ZXIsIGlmIGJvdGggc3RhcnQgYW5kIGRlbGV0ZUNvdW50CiAgICAgICAgLy8gYXJlIHVuZGVmaW5lZCwgYXJyYXkuc3BsaWNlIHdpbGwgbm90IG1vZGlmeSB0aGUgYXJyYXkgKGFzIGV4cGVjdGVkKQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXQgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5pdGVtcyk7CiAgICAgICAgfQogICAgICAgIC8vIEF0IHRoZSBlbmQsIGNoZWNrIHdoZXRoZXIgYW55IGl0ZW1zIHdlcmUgcGFzc2VkIGluIChlLmcuIGluc2VydGlvbnMpCiAgICAgICAgLy8gb3IgaWYgdGhlIHJldHVybiBhcnJheSBjb250YWlucyBpdGVtcyAoZS5nLiBkZWxldGlvbnMpLgogICAgICAgIC8vIE9ubHkgbm90aWZ5IGlmIGl0ZW1zIHdlcmUgYWRkZWQgb3IgZGVsZXRlZC4KICAgICAgICBpZiAoaXRlbXMubGVuZ3RoIHx8IHJldC5sZW5ndGgpIHsKICAgICAgICAgIG5vdGlmeVNwbGljZSh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCBzdGFydCwgaXRlbXMubGVuZ3RoLCByZXQpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIGJlZ2lubmluZyBvZiBhcnJheSBhdCB0aGUgcGF0aCBzcGVjaWZpZWQuCiAgICAgICAqCiAgICAgICAqIFRoZSBhcmd1bWVudHMgYWZ0ZXIgYHBhdGhgIGFuZCByZXR1cm4gdmFsdWUgbWF0Y2ggdGhhdCBvZgogICAgICAgKiBgQXJyYXkucHJvdG90eXBlLnBvcGAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcmV0dXJuIHsqfSBJdGVtIHRoYXQgd2FzIHJlbW92ZWQuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHNoaWZ0KHBhdGgpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbGV0IGhhZExlbmd0aCA9IEJvb2xlYW4oYXJyYXkubGVuZ3RoKTsKICAgICAgICBsZXQgcmV0ID0gYXJyYXkuc2hpZnQoKTsKICAgICAgICBpZiAoaGFkTGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgMCwgMCwgW3JldF0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQWRkcyBpdGVtcyBvbnRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5IGF0IHRoZSBwYXRoIHNwZWNpZmllZC4KICAgICAgICoKICAgICAgICogVGhlIGFyZ3VtZW50cyBhZnRlciBgcGF0aGAgYW5kIHJldHVybiB2YWx1ZSBtYXRjaCB0aGF0IG9mCiAgICAgICAqIGBBcnJheS5wcm90b3R5cGUucHVzaGAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcGFyYW0gey4uLip9IGl0ZW1zIEl0ZW1zIHRvIGluc2VydCBpbmZvIGFycmF5CiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gTmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHVuc2hpZnQocGF0aCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbGV0IHJldCA9IGFycmF5LnVuc2hpZnQoLi4uaXRlbXMpOwogICAgICAgIGlmIChpdGVtcy5sZW5ndGgpIHsKICAgICAgICAgIG5vdGlmeVNwbGljZSh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCAwLCBpdGVtcy5sZW5ndGgsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE5vdGlmeSB0aGF0IGEgcGF0aCBoYXMgY2hhbmdlZC4KICAgICAgICoKICAgICAgICogRXhhbXBsZToKICAgICAgICoKICAgICAgICogICAgIHRoaXMuaXRlbS51c2VyLm5hbWUgPSAnQm9iJzsKICAgICAgICogICAgIHRoaXMubm90aWZ5UGF0aCgnaXRlbS51c2VyLm5hbWUnKTsKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0aGF0IHNob3VsZCBiZSBub3RpZmllZC4KICAgICAgICogQHBhcmFtIHsqPX0gdmFsdWUgVmFsdWUgYXQgdGhlIHBhdGggKG9wdGlvbmFsKS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBub3RpZnlQYXRoKHBhdGgsIHZhbHVlKSB7CiAgICAgICAgLyoqIEB0eXBlIHtzdHJpbmd9ICovCiAgICAgICAgbGV0IHByb3BQYXRoOwogICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgICAgIC8vIEdldCB2YWx1ZSBpZiBub3Qgc3VwcGxpZWQKICAgICAgICAgIGxldCBpbmZvID0ge3BhdGg6ICcnfTsKICAgICAgICAgIHZhbHVlID0gUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKTsKICAgICAgICAgIHByb3BQYXRoID0gaW5mby5wYXRoOwogICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwYXRoKSkgewogICAgICAgICAgLy8gTm9ybWFsaXplIHBhdGggaWYgbmVlZGVkCiAgICAgICAgICBwcm9wUGF0aCA9IFBvbHltZXIuUGF0aC5ub3JtYWxpemUocGF0aCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHByb3BQYXRoID0gLyoqIEB0eXBle3N0cmluZ30gKi8ocGF0aCk7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocHJvcFBhdGgsIHZhbHVlLCB0cnVlLCB0cnVlKSkgewogICAgICAgICAgdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFcXVpdmFsZW50IHRvIHN0YXRpYyBgY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eWAgQVBJIGJ1dCBjYW4gYmUgY2FsbGVkIG9uCiAgICAgICAqIGFuIGluc3RhbmNlIHRvIGFkZCBlZmZlY3RzIGF0IHJ1bnRpbWUuICBTZWUgdGhhdCBtZXRob2QgZm9yCiAgICAgICAqIGZ1bGwgQVBJIGRvY3MuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IHByb3RlY3RlZFNldHRlciBDcmVhdGVzIGEgY3VzdG9tIHByb3RlY3RlZCBzZXR0ZXIKICAgICAgICogICB3aGVuIGB0cnVlYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkocHJvcGVydHksIHByb3RlY3RlZFNldHRlcikgewogICAgICAgIHRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5SRUFEX09OTFkpOwogICAgICAgIGlmIChwcm90ZWN0ZWRTZXR0ZXIpIHsKICAgICAgICAgIHRoaXNbJ19zZXQnICsgdXBwZXIocHJvcGVydHkpXSA9IC8qKiBAdGhpcyB7UHJvcGVydHlFZmZlY3RzfSAqL2Z1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgIHRoaXMuX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSk7CiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEVxdWl2YWxlbnQgdG8gc3RhdGljIGBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyYCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHBhcmFtIHtzdHJpbmd8ZnVuY3Rpb24oKiwqKX0gbWV0aG9kIEZ1bmN0aW9uIG9yIG5hbWUgb2Ygb2JzZXJ2ZXIgbWV0aG9kIHRvIGNhbGwKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gZHluYW1pY0ZuIFdoZXRoZXIgdGhlIG1ldGhvZCBuYW1lIHNob3VsZCBiZSBpbmNsdWRlZCBhcwogICAgICAgKiAgIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfY3JlYXRlUHJvcGVydHlPYnNlcnZlcihwcm9wZXJ0eSwgbWV0aG9kLCBkeW5hbWljRm4pIHsKICAgICAgICBsZXQgaW5mbyA9IHsgcHJvcGVydHksIG1ldGhvZCwgZHluYW1pY0ZuOiBCb29sZWFuKGR5bmFtaWNGbikgfTsKICAgICAgICB0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuT0JTRVJWRSwgewogICAgICAgICAgZm46IHJ1bk9ic2VydmVyRWZmZWN0LCBpbmZvLCB0cmlnZ2VyOiB7bmFtZTogcHJvcGVydHl9CiAgICAgICAgfSk7CiAgICAgICAgaWYgKGR5bmFtaWNGbikgewogICAgICAgICAgdGhpcy5fYWRkUHJvcGVydHlFZmZlY3QoLyoqIEB0eXBlIHtzdHJpbmd9ICovKG1ldGhvZCksIFRZUEVTLk9CU0VSVkUsIHsKICAgICAgICAgICAgZm46IHJ1bk9ic2VydmVyRWZmZWN0LCBpbmZvLCB0cmlnZ2VyOiB7bmFtZTogbWV0aG9kfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZU1ldGhvZE9ic2VydmVyYCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZwogICAgICAgKiAgIHdoZXRoZXIgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZU1ldGhvZE9ic2VydmVyKGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIGxldCBzaWcgPSBwYXJzZU1ldGhvZChleHByZXNzaW9uKTsKICAgICAgICBpZiAoIXNpZykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNYWxmb3JtZWQgb2JzZXJ2ZXIgZXhwcmVzc2lvbiAnIiArIGV4cHJlc3Npb24gKyAiJyIpOwogICAgICAgIH0KICAgICAgICBjcmVhdGVNZXRob2RFZmZlY3QodGhpcywgc2lnLCBUWVBFUy5PQlNFUlZFLCBydW5NZXRob2RFZmZlY3QsIG51bGwsIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFcXVpdmFsZW50IHRvIHN0YXRpYyBgY3JlYXRlTm90aWZ5aW5nUHJvcGVydHlgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICB0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuTk9USUZZLCB7CiAgICAgICAgICBmbjogcnVuTm90aWZ5RWZmZWN0LAogICAgICAgICAgaW5mbzogewogICAgICAgICAgICBldmVudE5hbWU6IENhc2VNYXAuY2FtZWxUb0Rhc2hDYXNlKHByb3BlcnR5KSArICctY2hhbmdlZCcsCiAgICAgICAgICAgIHByb3BlcnR5OiBwcm9wZXJ0eQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZVJlZmxlY3RlZFByb3BlcnR5YCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZVJlZmxlY3RlZFByb3BlcnR5KHByb3BlcnR5KSB7CiAgICAgICAgbGV0IGF0dHIgPSB0aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgICAgaWYgKGF0dHJbMF0gPT09ICctJykgewogICAgICAgICAgY29uc29sZS53YXJuKCdQcm9wZXJ0eSAnICsgcHJvcGVydHkgKyAnIGNhbm5vdCBiZSByZWZsZWN0ZWQgdG8gYXR0cmlidXRlICcgKwogICAgICAgICAgICBhdHRyICsgJyBiZWNhdXNlICItIiBpcyBub3QgYSB2YWxpZCBzdGFydGluZyBhdHRyaWJ1dGUgbmFtZS4gVXNlIGEgbG93ZXJjYXNlIGZpcnN0IGxldHRlciBmb3IgdGhlIHByb3BlcnR5IGluc3RlYWQuJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5SRUZMRUNULCB7CiAgICAgICAgICAgIGZuOiBydW5SZWZsZWN0RWZmZWN0LAogICAgICAgICAgICBpbmZvOiB7CiAgICAgICAgICAgICAgYXR0ck5hbWU6IGF0dHIKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZUNvbXB1dGVkUHJvcGVydHlgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBjb21wdXRlZCBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZwogICAgICAgKiAgIHdoZXRoZXIgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZUNvbXB1dGVkUHJvcGVydHkocHJvcGVydHksIGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIGxldCBzaWcgPSBwYXJzZU1ldGhvZChleHByZXNzaW9uKTsKICAgICAgICBpZiAoIXNpZykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNYWxmb3JtZWQgY29tcHV0ZWQgZXhwcmVzc2lvbiAnIiArIGV4cHJlc3Npb24gKyAiJyIpOwogICAgICAgIH0KICAgICAgICBjcmVhdGVNZXRob2RFZmZlY3QodGhpcywgc2lnLCBUWVBFUy5DT01QVVRFLCBydW5Db21wdXRlZEVmZmVjdCwgcHJvcGVydHksIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBHYXRoZXIgdGhlIGFyZ3VtZW50IHZhbHVlcyBmb3IgYSBtZXRob2Qgc3BlY2lmaWVkIGluIHRoZSBwcm92aWRlZCBhcnJheQogICAgICAgKiBvZiBhcmd1bWVudCBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogVGhlIGBwYXRoYCBhbmQgYHZhbHVlYCBhcmd1bWVudHMgYXJlIHVzZWQgdG8gZmlsbCBpbiB3aWxkY2FyZCBkZXNjcmlwdG9yCiAgICAgICAqIHdoZW4gdGhlIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgYXMgYSByZXN1bHQgb2YgYSBwYXRoIG5vdGlmaWNhdGlvbi4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshQXJyYXk8IU1ldGhvZEFyZz59IGFyZ3MgQXJyYXkgb2YgYXJndW1lbnQgbWV0YWRhdGEKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUHJvcGVydHkvcGF0aCBuYW1lIHRoYXQgdHJpZ2dlcmVkIHRoZSBtZXRob2QgZWZmZWN0CiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICAgICAqIEByZXR1cm4ge0FycmF5PCo+fSBBcnJheSBvZiBhcmd1bWVudCB2YWx1ZXMKICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIF9tYXJzaGFsQXJncyhhcmdzLCBwYXRoLCBwcm9wcykgewogICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9fZGF0YTsKICAgICAgICBsZXQgdmFsdWVzID0gW107CiAgICAgICAgZm9yIChsZXQgaT0wLCBsPWFyZ3MubGVuZ3RoOyBpPGw7IGkrKykgewogICAgICAgICAgbGV0IGFyZyA9IGFyZ3NbaV07CiAgICAgICAgICBsZXQgbmFtZSA9IGFyZy5uYW1lOwogICAgICAgICAgbGV0IHY7CiAgICAgICAgICBpZiAoYXJnLmxpdGVyYWwpIHsKICAgICAgICAgICAgdiA9IGFyZy52YWx1ZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChhcmcuc3RydWN0dXJlZCkgewogICAgICAgICAgICAgIHYgPSBQb2x5bWVyLlBhdGguZ2V0KGRhdGEsIG5hbWUpOwogICAgICAgICAgICAgIC8vIHdoZW4gZGF0YSBpcyBub3Qgc3RvcmVkIGUuZy4gYHNwbGljZXNgCiAgICAgICAgICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgdiA9IHByb3BzW25hbWVdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB2ID0gZGF0YVtuYW1lXTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGFyZy53aWxkY2FyZCkgewogICAgICAgICAgICAvLyBPbmx5IHNlbmQgdGhlIGFjdHVhbCBwYXRoIGNoYW5nZWQgaW5mbyBpZiB0aGUgY2hhbmdlIHRoYXQKICAgICAgICAgICAgLy8gY2F1c2VkIHRoZSBvYnNlcnZlciB0byBydW4gbWF0Y2hlZCB0aGUgd2lsZGNhcmQKICAgICAgICAgICAgbGV0IGJhc2VDaGFuZ2VkID0gKG5hbWUuaW5kZXhPZihwYXRoICsgJy4nKSA9PT0gMCk7CiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gKHBhdGguaW5kZXhPZihuYW1lKSA9PT0gMCAmJiAhYmFzZUNoYW5nZWQpOwogICAgICAgICAgICB2YWx1ZXNbaV0gPSB7CiAgICAgICAgICAgICAgcGF0aDogbWF0Y2hlcyA/IHBhdGggOiBuYW1lLAogICAgICAgICAgICAgIHZhbHVlOiBtYXRjaGVzID8gcHJvcHNbcGF0aF0gOiB2LAogICAgICAgICAgICAgIGJhc2U6IHYKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhbHVlc1tpXSA9IHY7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB2YWx1ZXM7CiAgICAgIH0KCiAgICAgIC8vIC0tIHN0YXRpYyBjbGFzcyBtZXRob2RzIC0tLS0tLS0tLS0tLQoKICAgICAgLyoqCiAgICAgICAqIEVuc3VyZXMgYW4gYWNjZXNzb3IgZXhpc3RzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LCBhbmQgYWRkcwogICAgICAgKiB0byBhIGxpc3Qgb2YgInByb3BlcnR5IGVmZmVjdHMiIHRoYXQgd2lsbCBydW4gd2hlbiB0aGUgYWNjZXNzb3IgZm9yCiAgICAgICAqIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgaXMgc2V0LiAgRWZmZWN0cyBhcmUgZ3JvdXBlZCBieSAidHlwZSIsIHdoaWNoCiAgICAgICAqIHJvdWdobHkgY29ycmVzcG9uZHMgdG8gYSBwaGFzZSBpbiBlZmZlY3QgcHJvY2Vzc2luZy4gIFRoZSBlZmZlY3QKICAgICAgICogbWV0YWRhdGEgc2hvdWxkIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybToKICAgICAgICoKICAgICAgICogICAgIHsKICAgICAgICogICAgICAgZm46IGVmZmVjdEZ1bmN0aW9uLCAvLyBSZWZlcmVuY2UgdG8gZnVuY3Rpb24gdG8gY2FsbCB0byBwZXJmb3JtIGVmZmVjdAogICAgICAgKiAgICAgICBpbmZvOiB7IC4uLiB9ICAgICAgIC8vIEVmZmVjdCBtZXRhZGF0YSBwYXNzZWQgdG8gZnVuY3Rpb24KICAgICAgICogICAgICAgdHJpZ2dlcjogeyAgICAgICAgICAvLyBPcHRpb25hbCB0cmlnZ2VyaW5nIG1ldGFkYXRhOyBpZiBub3QgcHJvdmlkZWQKICAgICAgICogICAgICAgICBuYW1lOiBzdHJpbmcgICAgICAvLyB0aGUgcHJvcGVydHkgaXMgdHJlYXRlZCBhcyBhIHdpbGRjYXJkCiAgICAgICAqICAgICAgICAgc3RydWN0dXJlZDogYm9vbGVhbgogICAgICAgKiAgICAgICAgIHdpbGRjYXJkOiBib29sZWFuCiAgICAgICAqICAgICAgIH0KICAgICAgICogICAgIH0KICAgICAgICoKICAgICAgICogRWZmZWN0cyBhcmUgY2FsbGVkIGZyb20gYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgaW4gdGhlIGZvbGxvd2luZyBvcmRlciBieQogICAgICAgKiB0eXBlOgogICAgICAgKgogICAgICAgKiAxLiBDT01QVVRFCiAgICAgICAqIDIuIFBST1BBR0FURQogICAgICAgKiAzLiBSRUZMRUNUCiAgICAgICAqIDQuIE9CU0VSVkUKICAgICAgICogNS4gTk9USUZZCiAgICAgICAqCiAgICAgICAqIEVmZmVjdCBmdW5jdGlvbnMgYXJlIGNhbGxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgc2lnbmF0dXJlOgogICAgICAgKgogICAgICAgKiAgICAgZWZmZWN0RnVuY3Rpb24oaW5zdCwgcGF0aCwgcHJvcHMsIG9sZFByb3BzLCBpbmZvLCBoYXNQYXRocykKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGVmZmVjdAogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBFZmZlY3QgdHlwZSwgZnJvbSB0aGlzLlBST1BFUlRZX0VGRkVDVF9UWVBFUwogICAgICAgKiBAcGFyYW0ge09iamVjdD19IGVmZmVjdCBFZmZlY3QgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBhZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSwgZWZmZWN0KSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCB0eXBlLCBlZmZlY3QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3JlYXRlcyBhIHNpbmdsZS1wcm9wZXJ0eSBvYnNlcnZlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0ge3N0cmluZ3xmdW5jdGlvbigqLCopfSBtZXRob2QgRnVuY3Rpb24gb3IgbmFtZSBvZiBvYnNlcnZlciBtZXRob2QgdG8gY2FsbAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBkeW5hbWljRm4gV2hldGhlciB0aGUgbWV0aG9kIG5hbWUgc2hvdWxkIGJlIGluY2x1ZGVkIGFzCiAgICAgICAqICAgYSBkZXBlbmRlbmN5IHRvIHRoZSBlZmZlY3QuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHByb3BlcnR5LCBtZXRob2QsIGR5bmFtaWNGbikgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHByb3BlcnR5LCBtZXRob2QsIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIGEgbXVsdGktcHJvcGVydHkgIm1ldGhvZCBvYnNlcnZlciIgYmFzZWQgb24gdGhlIHByb3ZpZGVkCiAgICAgICAqIGV4cHJlc3Npb24sIHdoaWNoIHNob3VsZCBiZSBhIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBhIG5vcm1hbCBKYXZhU2NyaXB0CiAgICAgICAqIGZ1bmN0aW9uIHNpZ25hdHVyZTogYCdtZXRob2ROYW1lKGFyZzEsIFsuLi4sIGFyZ25dKSdgLiAgRWFjaCBhcmd1bWVudAogICAgICAgKiBzaG91bGQgY29ycmVzcG9uZCB0byBhIHByb3BlcnR5IG9yIHBhdGggaW4gdGhlIGNvbnRleHQgb2YgdGhpcwogICAgICAgKiBwcm90b3R5cGUgKG9yIGluc3RhbmNlKSwgb3IgbWF5IGJlIGEgbGl0ZXJhbCBzdHJpbmcgb3IgbnVtYmVyLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiBNZXRob2QgZXhwcmVzc2lvbgogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW58T2JqZWN0PX0gZHluYW1pY0ZuIEJvb2xlYW4gb3Igb2JqZWN0IG1hcCBpbmRpY2F0aW5nCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqICAgd2hldGhlciBtZXRob2QgbmFtZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlTWV0aG9kT2JzZXJ2ZXIoZXhwcmVzc2lvbiwgZHluYW1pY0ZuKSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZU1ldGhvZE9ic2VydmVyKGV4cHJlc3Npb24sIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYXVzZXMgdGhlIHNldHRlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHRvIGRpc3BhdGNoIGA8cHJvcGVydHk+LWNoYW5nZWRgCiAgICAgICAqIGV2ZW50cyB0byBub3RpZnkgb2YgY2hhbmdlcyB0byB0aGUgcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShwcm9wZXJ0eSkgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIGEgcmVhZC1vbmx5IGFjY2Vzc29yIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIFRvIHNldCB0aGUgcHJvcGVydHksIHVzZSB0aGUgcHJvdGVjdGVkIGBfc2V0UHJvcGVydHlgIEFQSS4KICAgICAgICogVG8gY3JlYXRlIGEgY3VzdG9tIHByb3RlY3RlZCBzZXR0ZXIgKGUuZy4gYF9zZXRNeVByb3AoKWAgZm9yCiAgICAgICAqIHByb3BlcnR5IGBteVByb3BgKSwgcGFzcyBgdHJ1ZWAgZm9yIGBwcm90ZWN0ZWRTZXR0ZXJgLgogICAgICAgKgogICAgICAgKiBOb3RlLCBpZiB0aGUgcHJvcGVydHkgd2lsbCBoYXZlIG90aGVyIHByb3BlcnR5IGVmZmVjdHMsIHRoaXMgbWV0aG9kCiAgICAgICAqIHNob3VsZCBiZSBjYWxsZWQgZmlyc3QsIGJlZm9yZSBhZGRpbmcgb3RoZXIgZWZmZWN0cy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gcHJvdGVjdGVkU2V0dGVyIENyZWF0ZXMgYSBjdXN0b20gcHJvdGVjdGVkIHNldHRlcgogICAgICAgKiAgIHdoZW4gYHRydWVgLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eShwcm9wZXJ0eSwgcHJvdGVjdGVkU2V0dGVyKSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkocHJvcGVydHksIHByb3RlY3RlZFNldHRlcik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYXVzZXMgdGhlIHNldHRlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHRvIHJlZmxlY3QgdGhlIHByb3BlcnR5IHZhbHVlCiAgICAgICAqIHRvIGEgKGRhc2gtY2FzZWQpIGF0dHJpYnV0ZSBvZiB0aGUgc2FtZSBuYW1lLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICB0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkocHJvcGVydHkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3JlYXRlcyBhIGNvbXB1dGVkIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIHNldCB0byB0aGUgcmVzdWx0IG9mIHRoZQogICAgICAgKiBtZXRob2QgZGVzY3JpYmVkIGJ5IHRoZSBnaXZlbiBgZXhwcmVzc2lvbmAgZWFjaCB0aW1lIG9uZSBvciBtb3JlCiAgICAgICAqIGFyZ3VtZW50cyB0byB0aGUgbWV0aG9kIGNoYW5nZXMuICBUaGUgZXhwcmVzc2lvbiBzaG91bGQgYmUgYSBzdHJpbmcKICAgICAgICogaW4gdGhlIGZvcm0gb2YgYSBub3JtYWwgSmF2YVNjcmlwdCBmdW5jdGlvbiBzaWduYXR1cmU6CiAgICAgICAqIGAnbWV0aG9kTmFtZShhcmcxLCBbLi4uLCBhcmduXSknYAogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBjb21wdXRlZCBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZyB3aGV0aGVyCiAgICAgICAqICAgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIGNyZWF0ZUNvbXB1dGVkUHJvcGVydHkocHJvcGVydHksIGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KHByb3BlcnR5LCBleHByZXNzaW9uLCBkeW5hbWljRm4pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUGFyc2VzIHRoZSBwcm92aWRlZCB0ZW1wbGF0ZSB0byBlbnN1cmUgYmluZGluZyBlZmZlY3RzIGFyZSBjcmVhdGVkCiAgICAgICAqIGZvciB0aGVtLCBhbmQgdGhlbiBlbnN1cmVzIHByb3BlcnR5IGFjY2Vzc29ycyBhcmUgY3JlYXRlZCBmb3IgYW55CiAgICAgICAqIGRlcGVuZGVudCBwcm9wZXJ0aWVzIGluIHRoZSB0ZW1wbGF0ZS4gIEJpbmRpbmcgZWZmZWN0cyBmb3IgYm91bmQKICAgICAgICogdGVtcGxhdGVzIGFyZSBzdG9yZWQgaW4gYSBsaW5rZWQgbGlzdCBvbiB0aGUgaW5zdGFuY2Ugc28gdGhhdAogICAgICAgKiB0ZW1wbGF0ZXMgY2FuIGJlIGVmZmljaWVudGx5IHN0YW1wZWQgYW5kIHVuc3RhbXBlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgY29udGFpbmluZyBiaW5kaW5nCiAgICAgICAqICAgYmluZGluZ3MKICAgICAgICogQHJldHVybiB7IVRlbXBsYXRlSW5mb30gVGVtcGxhdGUgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBiaW5kVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICByZXR1cm4gdGhpcy5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgIH0KCiAgICAgIC8vIC0tIGJpbmRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgICAgLyoqCiAgICAgICAqIEVxdWl2YWxlbnQgdG8gc3RhdGljIGBiaW5kVGVtcGxhdGVgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIG9uIHRoZSBwcm90b3R5cGUgKGZvciBwcm90b3R5cGljYWwgdGVtcGxhdGUKICAgICAgICogYmluZGluZywgdG8gYXZvaWQgY3JlYXRpbmcgYWNjZXNzb3JzIGV2ZXJ5IGluc3RhbmNlKSBvbmNlIHBlciBwcm90b3R5cGUsCiAgICAgICAqIGFuZCB3aWxsIGJlIGNhbGxlZCB3aXRoIGBydW50aW1lQmluZGluZzogdHJ1ZWAgYnkgYF9zdGFtcFRlbXBsYXRlYCB0bwogICAgICAgKiBjcmVhdGUgYW5kIGxpbmsgYW4gaW5zdGFuY2Ugb2YgdGhlIHRlbXBsYXRlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhCiAgICAgICAqIHBhcnRpY3VsYXIgc3RhbXBpbmcuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IUhUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIGNvbnRhaW5pbmcgYmluZGluZwogICAgICAgKiAgIGJpbmRpbmdzCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGluc3RhbmNlQmluZGluZyBXaGVuIGZhbHNlIChkZWZhdWx0KSwgcGVyZm9ybXMKICAgICAgICogICAicHJvdG90eXBpY2FsIiBiaW5kaW5nIG9mIHRoZSB0ZW1wbGF0ZSBhbmQgb3ZlcndyaXRlcyBhbnkgcHJldmlvdXNseQogICAgICAgKiAgIGJvdW5kIHRlbXBsYXRlIGZvciB0aGUgY2xhc3MuIFdoZW4gdHJ1ZSAoYXMgcGFzc2VkIGZyb20KICAgICAgICogICBgX3N0YW1wVGVtcGxhdGVgKSwgdGhlIHRlbXBsYXRlIGluZm8gaXMgaW5zdGFuY2VkIGFuZCBsaW5rZWQgaW50bwogICAgICAgKiAgIHRoZSBsaXN0IG9mIGJvdW5kIHRlbXBsYXRlcy4KICAgICAgICogQHJldHVybiB7IVRlbXBsYXRlSW5mb30gVGVtcGxhdGUgbWV0YWRhdGEgb2JqZWN0OyBmb3IgYHJ1bnRpbWVCaW5kaW5nYCwKICAgICAgICogICB0aGlzIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBwcm90b3R5cGljYWwgdGVtcGxhdGUgaW5mbwogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfYmluZFRlbXBsYXRlKHRlbXBsYXRlLCBpbnN0YW5jZUJpbmRpbmcpIHsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5jb25zdHJ1Y3Rvci5fcGFyc2VUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgbGV0IHdhc1ByZUJvdW5kID0gdGhpcy5fX3RlbXBsYXRlSW5mbyA9PSB0ZW1wbGF0ZUluZm87CiAgICAgICAgLy8gT3B0aW1pemF0aW9uOiBzaW5jZSB0aGlzIGlzIGNhbGxlZCB0d2ljZSBmb3IgcHJvdG8tYm91bmQgdGVtcGxhdGVzLAogICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gcmVjcmVhdGUgYWNjZXNzb3JzIGlmIHRoaXMgdGVtcGxhdGUgd2FzIHByZS1ib3VuZAogICAgICAgIGlmICghd2FzUHJlQm91bmQpIHsKICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gdGVtcGxhdGVJbmZvLnByb3BlcnR5RWZmZWN0cykgewogICAgICAgICAgICB0aGlzLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHByb3ApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoaW5zdGFuY2VCaW5kaW5nKSB7CiAgICAgICAgICAvLyBGb3IgaW5zdGFuY2UtdGltZSBiaW5kaW5nLCBjcmVhdGUgaW5zdGFuY2Ugb2YgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICAgIC8vIGFuZCBsaW5rIGludG8gbGlzdCBvZiB0ZW1wbGF0ZXMgaWYgbmVjZXNzYXJ5CiAgICAgICAgICB0ZW1wbGF0ZUluZm8gPSAvKiogQHR5cGUgeyFUZW1wbGF0ZUluZm99ICovKE9iamVjdC5jcmVhdGUodGVtcGxhdGVJbmZvKSk7CiAgICAgICAgICB0ZW1wbGF0ZUluZm8ud2FzUHJlQm91bmQgPSB3YXNQcmVCb3VuZDsKICAgICAgICAgIGlmICghd2FzUHJlQm91bmQgJiYgdGhpcy5fX3RlbXBsYXRlSW5mbykgewogICAgICAgICAgICBsZXQgbGFzdCA9IHRoaXMuX190ZW1wbGF0ZUluZm9MYXN0IHx8IHRoaXMuX190ZW1wbGF0ZUluZm87CiAgICAgICAgICAgIHRoaXMuX190ZW1wbGF0ZUluZm9MYXN0ID0gbGFzdC5uZXh0VGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvOwogICAgICAgICAgICB0ZW1wbGF0ZUluZm8ucHJldmlvdXNUZW1wbGF0ZUluZm8gPSBsYXN0OwogICAgICAgICAgICByZXR1cm4gdGVtcGxhdGVJbmZvOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fX3RlbXBsYXRlSW5mbyA9IHRlbXBsYXRlSW5mbzsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFkZHMgYSBwcm9wZXJ0eSBlZmZlY3QgdG8gdGhlIGdpdmVuIHRlbXBsYXRlIG1ldGFkYXRhLCB3aGljaCBpcyBydW4KICAgICAgICogYXQgdGhlICJwcm9wYWdhdGUiIHN0YWdlIG9mIGBfcHJvcGVydGllc0NoYW5nZWRgIHdoZW4gdGhlIHRlbXBsYXRlCiAgICAgICAqIGhhcyBiZWVuIGJvdW5kIHRvIHRoZSBlbGVtZW50IHZpYSBgX2JpbmRUZW1wbGF0ZWAuCiAgICAgICAqCiAgICAgICAqIFRoZSBgZWZmZWN0YCBvYmplY3Qgc2hvdWxkIG1hdGNoIHRoZSBmb3JtYXQgaW4gYF9hZGRQcm9wZXJ0eUVmZmVjdGAuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgdG8gYWRkIGVmZmVjdCB0bwogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBlZmZlY3QKICAgICAgICogQHBhcmFtIHtPYmplY3Q9fSBlZmZlY3QgRWZmZWN0IG1ldGFkYXRhIG9iamVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QodGVtcGxhdGVJbmZvLCBwcm9wLCBlZmZlY3QpIHsKICAgICAgICBsZXQgaG9zdFByb3BzID0gdGVtcGxhdGVJbmZvLmhvc3RQcm9wcyA9IHRlbXBsYXRlSW5mby5ob3N0UHJvcHMgfHwge307CiAgICAgICAgaG9zdFByb3BzW3Byb3BdID0gdHJ1ZTsKICAgICAgICBsZXQgZWZmZWN0cyA9IHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMgPSB0ZW1wbGF0ZUluZm8ucHJvcGVydHlFZmZlY3RzIHx8IHt9OwogICAgICAgIGxldCBwcm9wRWZmZWN0cyA9IGVmZmVjdHNbcHJvcF0gPSBlZmZlY3RzW3Byb3BdIHx8IFtdOwogICAgICAgIHByb3BFZmZlY3RzLnB1c2goZWZmZWN0KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFN0YW1wcyB0aGUgcHJvdmlkZWQgdGVtcGxhdGUgYW5kIHBlcmZvcm1zIGluc3RhbmNlLXRpbWUgc2V0dXAgZm9yCiAgICAgICAqIFBvbHltZXIgdGVtcGxhdGUgZmVhdHVyZXMsIGluY2x1ZGluZyBkYXRhIGJpbmRpbmdzLCBkZWNsYXJhdGl2ZSBldmVudAogICAgICAgKiBsaXN0ZW5lcnMsIGFuZCB0aGUgYHRoaXMuJGAgbWFwIG9mIGBpZGAncyB0byBub2Rlcy4gIEEgZG9jdW1lbnQgZnJhZ21lbnQKICAgICAgICogaXMgcmV0dXJuZWQgY29udGFpbmluZyB0aGUgc3RhbXBlZCBET00sIHJlYWR5IGZvciBpbnNlcnRpb24gaW50byB0aGUKICAgICAgICogRE9NLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlOyBob3dldmVyIG5vdGUgdGhhdCBkdWUgdG8KICAgICAgICogYHNoYWR5Y3NzYCBwb2x5ZmlsbCBsaW1pdGF0aW9ucywgb25seSBzdHlsZXMgZnJvbSB0ZW1wbGF0ZXMgcHJlcGFyZWQKICAgICAgICogdXNpbmcgYFNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZWAgd2lsbCBiZSBjb3JyZWN0bHkgcG9seWZpbGxlZCAoc2NvcGVkCiAgICAgICAqIHRvIHRoZSBzaGFkb3cgcm9vdCBhbmQgc3VwcG9ydCBDU1MgY3VzdG9tIHByb3BlcnRpZXMpLCBhbmQgbm90ZSB0aGF0CiAgICAgICAqIGBTaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVgIG1heSBvbmx5IGJlIGNhbGxlZCBvbmNlIHBlciBlbGVtZW50LiBBcyBzdWNoLAogICAgICAgKiBhbnkgc3R5bGVzIHJlcXVpcmVkIGJ5IGluIHJ1bnRpbWUtc3RhbXBlZCB0ZW1wbGF0ZXMgbXVzdCBiZSBpbmNsdWRlZAogICAgICAgKiBpbiB0aGUgbWFpbiBlbGVtZW50IHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBzdGFtcAogICAgICAgKiBAcmV0dXJuIHshU3RhbXBlZFRlbXBsYXRlfSBDbG9uZWQgdGVtcGxhdGUgY29udGVudAogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX3N0YW1wVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICAvLyBFbnN1cmVzIHRoYXQgY3JlYXRlZCBkb20gaXMgYF9lbnF1ZXVlQ2xpZW50YCdkIHRvIHRoaXMgZWxlbWVudCBzbwogICAgICAgIC8vIHRoYXQgaXQgY2FuIGJlIGZsdXNoZWQgb24gbmV4dCBjYWxsIHRvIGBfZmx1c2hQcm9wZXJ0aWVzYAogICAgICAgIGhvc3RTdGFjay5iZWdpbkhvc3RpbmcodGhpcyk7CiAgICAgICAgbGV0IGRvbSA9IHN1cGVyLl9zdGFtcFRlbXBsYXRlKHRlbXBsYXRlKTsKICAgICAgICBob3N0U3RhY2suZW5kSG9zdGluZyh0aGlzKTsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gLyoqIEB0eXBlIHshVGVtcGxhdGVJbmZvfSAqLyh0aGlzLl9iaW5kVGVtcGxhdGUodGVtcGxhdGUsIHRydWUpKTsKICAgICAgICAvLyBBZGQgdGVtcGxhdGUtaW5zdGFuY2Utc3BlY2lmaWMgZGF0YSB0byBpbnN0YW5jZWQgdGVtcGxhdGVJbmZvCiAgICAgICAgdGVtcGxhdGVJbmZvLm5vZGVMaXN0ID0gZG9tLm5vZGVMaXN0OwogICAgICAgIC8vIENhcHR1cmUgY2hpbGQgbm9kZXMgdG8gYWxsb3cgdW5zdGFtcGluZyBvZiBub24tcHJvdG90eXBpY2FsIHRlbXBsYXRlcwogICAgICAgIGlmICghdGVtcGxhdGVJbmZvLndhc1ByZUJvdW5kKSB7CiAgICAgICAgICBsZXQgbm9kZXMgPSB0ZW1wbGF0ZUluZm8uY2hpbGROb2RlcyA9IFtdOwogICAgICAgICAgZm9yIChsZXQgbj1kb20uZmlyc3RDaGlsZDsgbjsgbj1uLm5leHRTaWJsaW5nKSB7CiAgICAgICAgICAgIG5vZGVzLnB1c2gobik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGRvbS50ZW1wbGF0ZUluZm8gPSB0ZW1wbGF0ZUluZm87CiAgICAgICAgLy8gU2V0dXAgY29tcG91bmQgc3RvcmFnZSwgMi13YXkgbGlzdGVuZXJzLCBhbmQgZGF0YUhvc3QgZm9yIGJpbmRpbmdzCiAgICAgICAgc2V0dXBCaW5kaW5ncyh0aGlzLCB0ZW1wbGF0ZUluZm8pOwogICAgICAgIC8vIEZsdXNoIHByb3BlcnRpZXMgaW50byB0ZW1wbGF0ZSBub2RlcyBpZiBhbHJlYWR5IGJvb3RlZAogICAgICAgIGlmICh0aGlzLl9fZGF0YVJlYWR5KSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMsIHRoaXMuX19kYXRhLCBudWxsLAogICAgICAgICAgICBmYWxzZSwgdGVtcGxhdGVJbmZvLm5vZGVMaXN0KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRvbTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYW5kIHVuYmluZHMgdGhlIG5vZGVzIHByZXZpb3VzbHkgY29udGFpbmVkIGluIHRoZSBwcm92aWRlZAogICAgICAgKiBEb2N1bWVudEZyYWdtZW50IHJldHVybmVkIGZyb20gYF9zdGFtcFRlbXBsYXRlYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshU3RhbXBlZFRlbXBsYXRlfSBkb20gRG9jdW1lbnRGcmFnbWVudCBwcmV2aW91c2x5IHJldHVybmVkCiAgICAgICAqICAgZnJvbSBgX3N0YW1wVGVtcGxhdGVgIGFzc29jaWF0ZWQgd2l0aCB0aGUgbm9kZXMgdG8gYmUgcmVtb3ZlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfcmVtb3ZlQm91bmREb20oZG9tKSB7CiAgICAgICAgLy8gVW5saW5rIHRlbXBsYXRlIGluZm8KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gZG9tLnRlbXBsYXRlSW5mbzsKICAgICAgICBpZiAodGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICB0ZW1wbGF0ZUluZm8ucHJldmlvdXNUZW1wbGF0ZUluZm8ubmV4dFRlbXBsYXRlSW5mbyA9CiAgICAgICAgICAgIHRlbXBsYXRlSW5mby5uZXh0VGVtcGxhdGVJbmZvOwogICAgICAgIH0KICAgICAgICBpZiAodGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm8pIHsKICAgICAgICAgIHRlbXBsYXRlSW5mby5uZXh0VGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvID0KICAgICAgICAgICAgdGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5fX3RlbXBsYXRlSW5mb0xhc3QgPT0gdGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICB0aGlzLl9fdGVtcGxhdGVJbmZvTGFzdCA9IHRlbXBsYXRlSW5mby5wcmV2aW91c1RlbXBsYXRlSW5mbzsKICAgICAgICB9CiAgICAgICAgdGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm8gPSBudWxsOwogICAgICAgIC8vIFJlbW92ZSBzdGFtcGVkIG5vZGVzCiAgICAgICAgbGV0IG5vZGVzID0gdGVtcGxhdGVJbmZvLmNoaWxkTm9kZXM7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPG5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgbm9kZSA9IG5vZGVzW2ldOwogICAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBkZWZhdWx0IGBUZW1wbGF0ZVN0YW1wYCBpbXBsZW1lbnRhdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IKICAgICAgICogcGFyc2luZyBiaW5kaW5ncyBmcm9tIGBUZXh0Tm9kZWAncycgYHRleHRDb250ZW50YC4gIEEgYGJpbmRpbmdzYAogICAgICAgKiBhcnJheSBpcyBhZGRlZCB0byBgbm9kZUluZm9gIGFuZCBwb3B1bGF0ZWQgd2l0aCBiaW5kaW5nIG1ldGFkYXRhCiAgICAgICAqIHdpdGggaW5mb3JtYXRpb24gY2FwdHVyaW5nIHRoZSBiaW5kaW5nIHRhcmdldCwgYW5kIGEgYHBhcnRzYCBhcnJheQogICAgICAgKiB3aXRoIG9uZSBvciBtb3JlIG1ldGFkYXRhIG9iamVjdHMgY2FwdHVyaW5nIHRoZSBzb3VyY2Uocykgb2YgdGhlCiAgICAgICAqIGJpbmRpbmcuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZUluZm99IG5vZGVJbmZvIE5vZGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUgbm9kZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIHZpc2l0ZWQgbm9kZSBhZGRlZCBub2RlLXNwZWNpZmljCiAgICAgICAqICAgbWV0YWRhdGEgdG8gYG5vZGVJbmZvYAogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IEludGVyZmFjZXMgaW4gY2xvc3VyZSBkbyBub3QgaW5oZXJpdCBzdGF0aWNzLCBidXQgY2xhc3NlcyBkbwogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgbGV0IG5vdGVkID0gc3VwZXIuX3BhcnNlVGVtcGxhdGVOb2RlKG5vZGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pOwogICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgbGV0IHBhcnRzID0gdGhpcy5fcGFyc2VCaW5kaW5ncyhub2RlLnRleHRDb250ZW50LCB0ZW1wbGF0ZUluZm8pOwogICAgICAgICAgaWYgKHBhcnRzKSB7CiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHRleHRDb250ZW50IHdpdGggYW55IGxpdGVyYWwgcGFydHMKICAgICAgICAgICAgLy8gTk9URTogZGVmYXVsdCB0byBhIHNwYWNlIGhlcmUgc28gdGhlIHRleHROb2RlIHJlbWFpbnM7IHNvbWUgYnJvd3NlcnMKICAgICAgICAgICAgLy8gKElFKSBvbWl0IGFuIGVtcHR5IHRleHROb2RlIGZvbGxvd2luZyBjbG9uZU5vZGUvaW1wb3J0Tm9kZS4KICAgICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpdGVyYWxGcm9tUGFydHMocGFydHMpIHx8ICcgJzsKICAgICAgICAgICAgYWRkQmluZGluZyh0aGlzLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCAndGV4dCcsICd0ZXh0Q29udGVudCcsIHBhcnRzKTsKICAgICAgICAgICAgbm90ZWQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gbm90ZWQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgZGVmYXVsdCBgVGVtcGxhdGVTdGFtcGAgaW1wbGVtZW50YXRpb24gdG8gYWRkIHN1cHBvcnQgZm9yCiAgICAgICAqIHBhcnNpbmcgYmluZGluZ3MgZnJvbSBhdHRyaWJ1dGVzLiAgQSBgYmluZGluZ3NgCiAgICAgICAqIGFycmF5IGlzIGFkZGVkIHRvIGBub2RlSW5mb2AgYW5kIHBvcHVsYXRlZCB3aXRoIGJpbmRpbmcgbWV0YWRhdGEKICAgICAgICogd2l0aCBpbmZvcm1hdGlvbiBjYXB0dXJpbmcgdGhlIGJpbmRpbmcgdGFyZ2V0LCBhbmQgYSBgcGFydHNgIGFycmF5CiAgICAgICAqIHdpdGggb25lIG9yIG1vcmUgbWV0YWRhdGEgb2JqZWN0cyBjYXB0dXJpbmcgdGhlIHNvdXJjZShzKSBvZiB0aGUKICAgICAgICogYmluZGluZy4KICAgICAgICoKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBOb2RlIHRvIHBhcnNlCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgICAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIEF0dHJpYnV0ZSBuYW1lCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgbmFtZSwgdmFsdWUpIHsKICAgICAgICBsZXQgcGFydHMgPSB0aGlzLl9wYXJzZUJpbmRpbmdzKHZhbHVlLCB0ZW1wbGF0ZUluZm8pOwogICAgICAgIGlmIChwYXJ0cykgewogICAgICAgICAgLy8gQXR0cmlidXRlIG9yIHByb3BlcnR5CiAgICAgICAgICBsZXQgb3JpZ05hbWUgPSBuYW1lOwogICAgICAgICAgbGV0IGtpbmQgPSAncHJvcGVydHknOwogICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIHNlZSBhIGNhcGl0YWwgbGV0dGVyIGhlcmUgaXMgaWYgdGhlIGF0dHIgaGFzCiAgICAgICAgICAvLyBhIGNhcGl0YWwgbGV0dGVyIGluIGl0IHBlciBzcGVjLiBJbiB0aGlzIGNhc2UsIHRvIG1ha2Ugc3VyZQogICAgICAgICAgLy8gdGhpcyBiaW5kaW5nIHdvcmtzLCB3ZSBnbyBhaGVhZCBhbmQgbWFrZSB0aGUgYmluZGluZyB0byB0aGUgYXR0cmlidXRlLgogICAgICAgICAgaWYgKGNhcGl0YWxBdHRyaWJ1dGVSZWdleC50ZXN0KG5hbWUpKSB7CiAgICAgICAgICAgIGtpbmQgPSAnYXR0cmlidXRlJzsKICAgICAgICAgIH0gZWxzZSBpZiAobmFtZVtuYW1lLmxlbmd0aC0xXSA9PSAnJCcpIHsKICAgICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLTEpOwogICAgICAgICAgICBraW5kID0gJ2F0dHJpYnV0ZSc7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBJbml0aWFsaXplIGF0dHJpYnV0ZSBiaW5kaW5ncyB3aXRoIGFueSBsaXRlcmFsIHBhcnRzCiAgICAgICAgICBsZXQgbGl0ZXJhbCA9IGxpdGVyYWxGcm9tUGFydHMocGFydHMpOwogICAgICAgICAgaWYgKGxpdGVyYWwgJiYga2luZCA9PSAnYXR0cmlidXRlJykgewogICAgICAgICAgICAvLyBFbnN1cmUgYSBTaGFkeUNTUyB0ZW1wbGF0ZSBzY29wZWQgc3R5bGUgaXMgbm90IHJlbW92ZWQKICAgICAgICAgICAgLy8gd2hlbiBhIGNsYXNzJCBiaW5kaW5nJ3MgaW5pdGlhbCBsaXRlcmFsIHZhbHVlIGlzIHNldC4KICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2NsYXNzJyAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnY2xhc3MnKSkgewogICAgICAgICAgICAgIGxpdGVyYWwgKz0gJyAnICsgbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUobmFtZSwgbGl0ZXJhbCk7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBDbGVhciBhdHRyaWJ1dGUgYmVmb3JlIHJlbW92aW5nLCBzaW5jZSBJRSB3b24ndCBhbGxvdyByZW1vdmluZwogICAgICAgICAgLy8gYHZhbHVlYCBhdHRyaWJ1dGUgaWYgaXQgcHJldmlvdXNseSBoYWQgYSB2YWx1ZSAoY2FuJ3QKICAgICAgICAgIC8vIHVuY29uZGl0aW9uYWxseSBzZXQgJycgYmVmb3JlIHJlbW92aW5nIHNpbmNlIGF0dHJpYnV0ZXMgd2l0aCBgJGAKICAgICAgICAgIC8vIGNhbid0IGJlIHNldCB1c2luZyBzZXRBdHRyaWJ1dGUpCiAgICAgICAgICBpZiAobm9kZS5sb2NhbE5hbWUgPT09ICdpbnB1dCcgJiYgb3JpZ05hbWUgPT09ICd2YWx1ZScpIHsKICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUob3JpZ05hbWUsICcnKTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIFJlbW92ZSBhbm5vdGF0aW9uCiAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShvcmlnTmFtZSk7CiAgICAgICAgICAvLyBDYXNlIGhhY2tlcnk6IGF0dHJpYnV0ZXMgYXJlIGxvd2VyLWNhc2UsIGJ1dCBiaW5kIHRhcmdldHMKICAgICAgICAgIC8vIChwcm9wZXJ0aWVzKSBhcmUgY2FzZSBzZW5zaXRpdmUuIEdhbWJpdCBpcyB0byBtYXAgZGFzaC1jYXNlIHRvCiAgICAgICAgICAvLyBjYW1lbC1jYXNlOiBgZm9vLWJhcmAgYmVjb21lcyBgZm9vQmFyYC4KICAgICAgICAgIC8vIEF0dHJpYnV0ZSBiaW5kaW5ncyBhcmUgZXhjZXB0ZWQuCiAgICAgICAgICBpZiAoa2luZCA9PT0gJ3Byb3BlcnR5JykgewogICAgICAgICAgICBuYW1lID0gUG9seW1lci5DYXNlTWFwLmRhc2hUb0NhbWVsQ2FzZShuYW1lKTsKICAgICAgICAgIH0KICAgICAgICAgIGFkZEJpbmRpbmcodGhpcywgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywga2luZCwgbmFtZSwgcGFydHMsIGxpdGVyYWwpOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBzdXBlci5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgbmFtZSwgdmFsdWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBkZWZhdWx0IGBUZW1wbGF0ZVN0YW1wYCBpbXBsZW1lbnRhdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IKICAgICAgICogYmluZGluZyB0aGUgcHJvcGVydGllcyB0aGF0IGEgbmVzdGVkIHRlbXBsYXRlIGRlcGVuZHMgb24gdG8gdGhlIHRlbXBsYXRlCiAgICAgICAqIGFzIGBfaG9zdF88cHJvcGVydHk+YC4KICAgICAgICoKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBOb2RlIHRvIHBhcnNlCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgICAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgdmlzaXRlZCBub2RlIGFkZGVkIG5vZGUtc3BlY2lmaWMKICAgICAgICogICBtZXRhZGF0YSB0byBgbm9kZUluZm9gCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gSW50ZXJmYWNlcyBpbiBjbG9zdXJlIGRvIG5vdCBpbmhlcml0IHN0YXRpY3MsIGJ1dCBjbGFzc2VzIGRvCiAgICAgICAqLwogICAgICBzdGF0aWMgX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgbGV0IG5vdGVkID0gc3VwZXIuX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKTsKICAgICAgICAvLyBNZXJnZSBob3N0IHByb3BzIGludG8gb3V0ZXIgdGVtcGxhdGUgYW5kIGFkZCBiaW5kaW5ncwogICAgICAgIGxldCBob3N0UHJvcHMgPSBub2RlSW5mby50ZW1wbGF0ZUluZm8uaG9zdFByb3BzOwogICAgICAgIGxldCBtb2RlID0gJ3snOwogICAgICAgIGZvciAobGV0IHNvdXJjZSBpbiBob3N0UHJvcHMpIHsKICAgICAgICAgIGxldCBwYXJ0cyA9IFt7IG1vZGUsIHNvdXJjZSwgZGVwZW5kZW5jaWVzOiBbc291cmNlXSB9XTsKICAgICAgICAgIGFkZEJpbmRpbmcodGhpcywgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgJ3Byb3BlcnR5JywgJ19ob3N0XycgKyBzb3VyY2UsIHBhcnRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5vdGVkOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIHRvIHBhcnNlIHRleHQgaW4gYSB0ZW1wbGF0ZSAoZWl0aGVyIGF0dHJpYnV0ZSB2YWx1ZXMgb3IKICAgICAgICogdGV4dENvbnRlbnQpIGludG8gYmluZGluZyBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQW55IG92ZXJyaWRlcyBvZiB0aGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGJpbmRpbmcgcGFydAogICAgICAgKiBtZXRhZGF0YSAgcmVwcmVzZW50aW5nIG9uZSBvciBtb3JlIGJpbmRpbmdzIGZvdW5kIGluIHRoZSBwcm92aWRlZCB0ZXh0CiAgICAgICAqIGFuZCBhbnkgImxpdGVyYWwiIHRleHQgaW4gYmV0d2Vlbi4gIEFueSBub24tbGl0ZXJhbCBwYXJ0cyB3aWxsIGJlIHBhc3NlZAogICAgICAgKiB0byBgX2V2YWx1YXRlQmluZGluZ2Agd2hlbiBhbnkgZGVwZW5kZW5jaWVzIGNoYW5nZS4gIFRoZSBvbmx5IHJlcXVpcmVkCiAgICAgICAqIGZpZWxkcyBvZiBlYWNoICJwYXJ0IiBpbiB0aGUgcmV0dXJuZWQgYXJyYXkgYXJlIGFzIGZvbGxvd3M6CiAgICAgICAqCiAgICAgICAqIC0gYGRlcGVuZGVuY2llc2AgLSBBcnJheSBjb250YWluaW5nIHRyaWdnZXIgbWV0YWRhdGEgZm9yIGVhY2ggcHJvcGVydHkKICAgICAgICogICB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBiaW5kaW5nIHRvIHVwZGF0ZQogICAgICAgKiAtIGBsaXRlcmFsYCAtIFN0cmluZyBjb250YWluaW5nIHRleHQgaWYgdGhlIHBhcnQgcmVwcmVzZW50cyBhIGxpdGVyYWw7CiAgICAgICAqICAgaW4gdGhpcyBjYXNlIG5vIGBkZXBlbmRlbmNpZXNgIGFyZSBuZWVkZWQKICAgICAgICoKICAgICAgICogQWRkaXRpb25hbCBtZXRhZGF0YSBmb3IgdXNlIGJ5IGBfZXZhbHVhdGVCaW5kaW5nYCBtYXkgYmUgcHJvdmlkZWQgaW4KICAgICAgICogZWFjaCBwYXJ0IG9iamVjdCBhcyBuZWVkZWQuCiAgICAgICAqCiAgICAgICAqIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGhhbmRsZXMgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBiaW5kaW5ncwogICAgICAgKiAob25lIG9yIG1vcmUgbWF5IGJlIGludGVybWl4ZWQgd2l0aCBsaXRlcmFsIHN0cmluZ3MpOgogICAgICAgKiAtIFByb3BlcnR5IGJpbmRpbmc6IGBbW3Byb3BdXWAKICAgICAgICogLSBQYXRoIGJpbmRpbmc6IGBbW29iamVjdC5wcm9wXV1gCiAgICAgICAqIC0gTmVnYXRlZCBwcm9wZXJ0eSBvciBwYXRoIGJpbmRpbmdzOiBgW1shcHJvcF1dYCBvciBgW1shb2JqZWN0LnByb3BdXWAKICAgICAgICogLSBUd28td2F5IHByb3BlcnR5IG9yIHBhdGggYmluZGluZ3MgKHN1cHBvcnRzIG5lZ2F0aW9uKToKICAgICAgICogICBge3twcm9wfX1gLCBge3tvYmplY3QucHJvcH19YCwgYHt7IXByb3B9fWAgb3IgYHt7IW9iamVjdC5wcm9wfX1gCiAgICAgICAqIC0gSW5saW5lIGNvbXB1dGVkIG1ldGhvZCAoc3VwcG9ydHMgbmVnYXRpb24pOgogICAgICAgKiAgIGBbW2NvbXB1dGUoYSwgJ2xpdGVyYWwnLCBiKV1dYCwgYFtbIWNvbXB1dGUoYSwgJ2xpdGVyYWwnLCBiKV1dYAogICAgICAgKgogICAgICAgKiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB1c2VzIGEgcmVndWxhciBleHByZXNzaW9uIGZvciBiZXN0CiAgICAgICAqIHBlcmZvcm1hbmNlLiBIb3dldmVyLCB0aGUgcmVndWxhciBleHByZXNzaW9uIHVzZXMgYSB3aGl0ZS1saXN0IG9mCiAgICAgICAqIGFsbG93ZWQgY2hhcmFjdGVycyBpbiBhIGRhdGEtYmluZGluZywgd2hpY2ggY2F1c2VzIHByb2JsZW1zIGZvcgogICAgICAgKiBkYXRhLWJpbmRpbmdzIHRoYXQgZG8gdXNlIGNoYXJhY3RlcnMgbm90IGluIHRoaXMgd2hpdGUtbGlzdC4KICAgICAgICoKICAgICAgICogSW5zdGVhZCBvZiB1cGRhdGluZyB0aGUgd2hpdGUtbGlzdCB3aXRoIGFsbCBhbGxvd2VkIGNoYXJhY3RlcnMsCiAgICAgICAqIHRoZXJlIGlzIGEgU3RyaWN0QmluZGluZ1BhcnNlciAoc2VlIGxpYi9taXhpbnMvc3RyaWN0LWJpbmRpbmctcGFyc2VyKQogICAgICAgKiB0aGF0IHVzZXMgYSBzdGF0ZSBtYWNoaW5lIGluc3RlYWQuIFRoaXMgc3RhdGUgbWFjaGluZSBpcyBhYmxlIHRvIGhhbmRsZQogICAgICAgKiBhbGwgY2hhcmFjdGVycy4gSG93ZXZlciwgaXQgaXMgc2xpZ2h0bHkgbGVzcyBwZXJmb3JtYW50LCB0aGVyZWZvcmUgd2UKICAgICAgICogZXh0cmFjdGVkIGl0IGludG8gYSBzZXBhcmF0ZSBvcHRpb25hbCBtaXhpbi4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgVGV4dCB0byBwYXJzZSBmcm9tIGF0dHJpYnV0ZSBvciB0ZXh0Q29udGVudAogICAgICAgKiBAcGFyYW0ge09iamVjdH0gdGVtcGxhdGVJbmZvIEN1cnJlbnQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogQHJldHVybiB7QXJyYXk8IUJpbmRpbmdQYXJ0Pn0gQXJyYXkgb2YgYmluZGluZyBwYXJ0IG1ldGFkYXRhCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VCaW5kaW5ncyh0ZXh0LCB0ZW1wbGF0ZUluZm8pIHsKICAgICAgICBsZXQgcGFydHMgPSBbXTsKICAgICAgICBsZXQgbGFzdEluZGV4ID0gMDsKICAgICAgICBsZXQgbTsKICAgICAgICAvLyBFeGFtcGxlOiAibGl0ZXJhbDF7e3Byb3B9fWxpdGVyYWwyW1shY29tcHV0ZShmb28sYmFyKV1dZmluYWwiCiAgICAgICAgLy8gUmVnZXggbWF0Y2hlczoKICAgICAgICAvLyAgICAgICAgSXRlcmF0aW9uIDE6ICBJdGVyYXRpb24gMjoKICAgICAgICAvLyBtWzFdOiAne3snICAgICAgICAgICdbWycKICAgICAgICAvLyBtWzJdOiAnJyAgICAgICAgICAgICchJwogICAgICAgIC8vIG1bM106ICdwcm9wJyAgICAgICAgJ2NvbXB1dGUoZm9vLGJhciknCiAgICAgICAgd2hpbGUgKChtID0gYmluZGluZ1JlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7CiAgICAgICAgICAvLyBBZGQgbGl0ZXJhbCBwYXJ0CiAgICAgICAgICBpZiAobS5pbmRleCA+IGxhc3RJbmRleCkgewogICAgICAgICAgICBwYXJ0cy5wdXNoKHtsaXRlcmFsOiB0ZXh0LnNsaWNlKGxhc3RJbmRleCwgbS5pbmRleCl9KTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEFkZCBiaW5kaW5nIHBhcnQKICAgICAgICAgIGxldCBtb2RlID0gbVsxXVswXTsKICAgICAgICAgIGxldCBuZWdhdGUgPSBCb29sZWFuKG1bMl0pOwogICAgICAgICAgbGV0IHNvdXJjZSA9IG1bM10udHJpbSgpOwogICAgICAgICAgbGV0IGN1c3RvbUV2ZW50ID0gZmFsc2UsIG5vdGlmeUV2ZW50ID0gJycsIGNvbG9uID0gLTE7CiAgICAgICAgICBpZiAobW9kZSA9PSAneycgJiYgKGNvbG9uID0gc291cmNlLmluZGV4T2YoJzo6JykpID4gMCkgewogICAgICAgICAgICBub3RpZnlFdmVudCA9IHNvdXJjZS5zdWJzdHJpbmcoY29sb24gKyAyKTsKICAgICAgICAgICAgc291cmNlID0gc291cmNlLnN1YnN0cmluZygwLCBjb2xvbik7CiAgICAgICAgICAgIGN1c3RvbUV2ZW50ID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIGxldCBzaWduYXR1cmUgPSBwYXJzZU1ldGhvZChzb3VyY2UpOwogICAgICAgICAgbGV0IGRlcGVuZGVuY2llcyA9IFtdOwogICAgICAgICAgaWYgKHNpZ25hdHVyZSkgewogICAgICAgICAgICAvLyBJbmxpbmUgY29tcHV0ZWQgZnVuY3Rpb24KICAgICAgICAgICAgbGV0IHthcmdzLCBtZXRob2ROYW1lfSA9IHNpZ25hdHVyZTsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpPGFyZ3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsZXQgYXJnID0gYXJnc1tpXTsKICAgICAgICAgICAgICBpZiAoIWFyZy5saXRlcmFsKSB7CiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChhcmcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBsZXQgZHluYW1pY0ZucyA9IHRlbXBsYXRlSW5mby5keW5hbWljRm5zOwogICAgICAgICAgICBpZiAoZHluYW1pY0ZucyAmJiBkeW5hbWljRm5zW21ldGhvZE5hbWVdIHx8IHNpZ25hdHVyZS5zdGF0aWMpIHsKICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChtZXRob2ROYW1lKTsKICAgICAgICAgICAgICBzaWduYXR1cmUuZHluYW1pY0ZuID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gUHJvcGVydHkgb3IgcGF0aAogICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChzb3VyY2UpOwogICAgICAgICAgfQogICAgICAgICAgcGFydHMucHVzaCh7CiAgICAgICAgICAgIHNvdXJjZSwgbW9kZSwgbmVnYXRlLCBjdXN0b21FdmVudCwgc2lnbmF0dXJlLCBkZXBlbmRlbmNpZXMsCiAgICAgICAgICAgIGV2ZW50OiBub3RpZnlFdmVudAogICAgICAgICAgfSk7CiAgICAgICAgICBsYXN0SW5kZXggPSBiaW5kaW5nUmVnZXgubGFzdEluZGV4OwogICAgICAgIH0KICAgICAgICAvLyBBZGQgYSBmaW5hbCBsaXRlcmFsIHBhcnQKICAgICAgICBpZiAobGFzdEluZGV4ICYmIGxhc3RJbmRleCA8IHRleHQubGVuZ3RoKSB7CiAgICAgICAgICBsZXQgbGl0ZXJhbCA9IHRleHQuc3Vic3RyaW5nKGxhc3RJbmRleCk7CiAgICAgICAgICBpZiAobGl0ZXJhbCkgewogICAgICAgICAgICBwYXJ0cy5wdXNoKHsKICAgICAgICAgICAgICBsaXRlcmFsOiBsaXRlcmFsCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocGFydHMubGVuZ3RoKSB7CiAgICAgICAgICByZXR1cm4gcGFydHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbGxlZCB0byBldmFsdWF0ZSBhIHByZXZpb3VzbHkgcGFyc2VkIGJpbmRpbmcgcGFydCBiYXNlZCBvbiBhIHNldCBvZgogICAgICAgKiBvbmUgb3IgbW9yZSBjaGFuZ2VkIGRlcGVuZGVuY2llcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHt0aGlzfSBpbnN0IEVsZW1lbnQgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyBzY29wZSBmb3IKICAgICAgICogICBiaW5kaW5nIGRlcGVuZGVuY2llcwogICAgICAgKiBAcGFyYW0ge0JpbmRpbmdQYXJ0fSBwYXJ0IEJpbmRpbmcgcGFydCBtZXRhZGF0YQogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBQcm9wZXJ0eS9wYXRoIHRoYXQgdHJpZ2dlcmVkIHRoaXMgZWZmZWN0CiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgICAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAgICAgKiBAcmV0dXJuIHsqfSBWYWx1ZSB0aGUgYmluZGluZyBwYXJ0IGV2YWx1YXRlZCB0bwogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgX2V2YWx1YXRlQmluZGluZyhpbnN0LCBwYXJ0LCBwYXRoLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKSB7CiAgICAgICAgbGV0IHZhbHVlOwogICAgICAgIGlmIChwYXJ0LnNpZ25hdHVyZSkgewogICAgICAgICAgdmFsdWUgPSBydW5NZXRob2RFZmZlY3QoaW5zdCwgcGF0aCwgcHJvcHMsIG9sZFByb3BzLCBwYXJ0LnNpZ25hdHVyZSk7CiAgICAgICAgfSBlbHNlIGlmIChwYXRoICE9IHBhcnQuc291cmNlKSB7CiAgICAgICAgICB2YWx1ZSA9IFBvbHltZXIuUGF0aC5nZXQoaW5zdCwgcGFydC5zb3VyY2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoaGFzUGF0aHMgJiYgUG9seW1lci5QYXRoLmlzUGF0aChwYXRoKSkgewogICAgICAgICAgICB2YWx1ZSA9IFBvbHltZXIuUGF0aC5nZXQoaW5zdCwgcGF0aCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YWx1ZSA9IGluc3QuX19kYXRhW3BhdGhdOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocGFydC5uZWdhdGUpIHsKICAgICAgICAgIHZhbHVlID0gIXZhbHVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KCiAgICB9CgogICAgLy8gbWFrZSBhIHR5cGluZyBmb3IgY2xvc3VyZSA6UAogICAgUHJvcGVydHlFZmZlY3RzVHlwZSA9IFByb3BlcnR5RWZmZWN0czsKCiAgICByZXR1cm4gUHJvcGVydHlFZmZlY3RzOwogIH0pOwoKICAvKioKICAgKiBIZWxwZXIgYXBpIGZvciBlbnF1ZXVpbmcgY2xpZW50IGRvbSBjcmVhdGVkIGJ5IGEgaG9zdCBlbGVtZW50LgogICAqCiAgICogQnkgZGVmYXVsdCBlbGVtZW50cyBhcmUgZmx1c2hlZCB2aWEgYF9mbHVzaFByb3BlcnRpZXNgIHdoZW4KICAgKiBgY29ubmVjdGVkQ2FsbGJhY2tgIGlzIGNhbGxlZC4gRWxlbWVudHMgYXR0YWNoIHRoZWlyIGNsaWVudCBkb20gdG8KICAgKiB0aGVtc2VsdmVzIGF0IGByZWFkeWAgdGltZSB3aGljaCByZXN1bHRzIGZyb20gdGhpcyBmaXJzdCBmbHVzaC4KICAgKiBUaGlzIHByb3ZpZGVzIGFuIG9yZGVyaW5nIGd1YXJhbnRlZSB0aGF0IHRoZSBjbGllbnQgZG9tIGFuIGVsZW1lbnQKICAgKiBjcmVhdGVzIGlzIGZsdXNoZWQgYmVmb3JlIHRoZSBlbGVtZW50IGl0c2VsZiAoaS5lLiBjbGllbnQgYHJlYWR5YAogICAqIGZpcmVzIGJlZm9yZSBob3N0IGByZWFkeWApLgogICAqCiAgICogSG93ZXZlciwgaWYgYF9mbHVzaFByb3BlcnRpZXNgIGlzIGNhbGxlZCAqYmVmb3JlKiBhbiBlbGVtZW50IGlzIGNvbm5lY3RlZCwKICAgKiBhcyBmb3IgZXhhbXBsZSBgVGVtcGxhdGl6ZWAgZG9lcywgdGhpcyBvcmRlcmluZyBndWFyYW50ZWUgY2Fubm90IGJlCiAgICogc2F0aXNmaWVkIGJlY2F1c2Ugbm8gZWxlbWVudHMgYXJlIGNvbm5lY3RlZC4gKE5vdGU6IEJvdW5kIGVsZW1lbnRzIHRoYXQKICAgKiByZWNlaXZlIGRhdGEgZG8gYmVjb21lIGVucXVldWVkIGNsaWVudHMgYW5kIGFyZSBwcm9wZXJseSBvcmRlcmVkIGJ1dAogICAqIHVuYm91bmQgZWxlbWVudHMgYXJlIG5vdC4pCiAgICoKICAgKiBUbyBtYWludGFpbiB0aGUgZGVzaXJlZCAiY2xpZW50IGJlZm9yZSBob3N0IiBvcmRlcmluZyBndWFyYW50ZWUgZm9yIHRoaXMKICAgKiBjYXNlIHdlIHJlbHkgb24gdGhlICJob3N0IHN0YWNrLiBDbGllbnQgbm9kZXMgcmVnaXN0ZXJzIHRoZW1zZWx2ZXMgd2l0aAogICAqIHRoZSBjcmVhdGluZyBob3N0IGVsZW1lbnQgd2hlbiBjcmVhdGVkLiBUaGlzIGVuc3VyZXMgdGhhdCBhbGwgY2xpZW50IGRvbQogICAqIGlzIHJlYWRpZWQgaW4gdGhlIHByb3BlciBvcmRlciwgbWFpbnRhaW5pbmcgdGhlIGRlc2lyZWQgZ3VhcmFudGVlLgogICAqCiAgICogQHByaXZhdGUKICAgKi8KICBsZXQgaG9zdFN0YWNrID0gewoKICAgIHN0YWNrOiBbXSwKCiAgICAvKioKICAgICAqIEBwYXJhbSB7Kn0gaW5zdCBJbnN0YW5jZSB0byBhZGQgdG8gaG9zdFN0YWNrCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHRoaXMge2hvc3RTdGFja30KICAgICAqLwogICAgcmVnaXN0ZXJIb3N0KGluc3QpIHsKICAgICAgaWYgKHRoaXMuc3RhY2subGVuZ3RoKSB7CiAgICAgICAgbGV0IGhvc3QgPSB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOwogICAgICAgIGhvc3QuX2VucXVldWVDbGllbnQoaW5zdCk7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IGluc3QgSW5zdGFuY2UgdG8gYmVnaW4gaG9zdGluZwogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEB0aGlzIHtob3N0U3RhY2t9CiAgICAgKi8KICAgIGJlZ2luSG9zdGluZyhpbnN0KSB7CiAgICAgIHRoaXMuc3RhY2sucHVzaChpbnN0KTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IGluc3QgSW5zdGFuY2UgdG8gZW5kIGhvc3RpbmcKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7aG9zdFN0YWNrfQogICAgICovCiAgICBlbmRIb3N0aW5nKGluc3QpIHsKICAgICAgbGV0IHN0YWNrTGVuID0gdGhpcy5zdGFjay5sZW5ndGg7CiAgICAgIGlmIChzdGFja0xlbiAmJiB0aGlzLnN0YWNrW3N0YWNrTGVuLTFdID09IGluc3QpIHsKICAgICAgICB0aGlzLnN0YWNrLnBvcCgpOwogICAgICB9CiAgICB9CgogIH07Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIFByb3ZpZGVzIGJhc2ljIHRyYWNraW5nIG9mIGVsZW1lbnQgZGVmaW5pdGlvbnMgKHJlZ2lzdHJhdGlvbnMpIGFuZAogICAqIGluc3RhbmNlIGNvdW50cy4KICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAc3VtbWFyeSBQcm92aWRlcyBiYXNpYyB0cmFja2luZyBvZiBlbGVtZW50IGRlZmluaXRpb25zIChyZWdpc3RyYXRpb25zKSBhbmQKICAgKiBpbnN0YW5jZSBjb3VudHMuCiAgICovCiAgUG9seW1lci50ZWxlbWV0cnkgPSB7CiAgICAvKioKICAgICAqIFRvdGFsIG51bWJlciBvZiBQb2x5bWVyIGVsZW1lbnQgaW5zdGFuY2VzIGNyZWF0ZWQuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBpbnN0YW5jZUNvdW50OiAwLAogICAgLyoqCiAgICAgKiBBcnJheSBvZiBQb2x5bWVyIGVsZW1lbnQgY2xhc3NlcyB0aGF0IGhhdmUgYmVlbiBmaW5hbGl6ZWQuCiAgICAgKiBAdHlwZSB7QXJyYXk8UG9seW1lci5FbGVtZW50Pn0KICAgICAqLwogICAgcmVnaXN0cmF0aW9uczogW10sCiAgICAvKioKICAgICAqIEBwYXJhbSB7IVBvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9IHByb3RvdHlwZSBFbGVtZW50IHByb3RvdHlwZSB0byBsb2cKICAgICAqIEB0aGlzIHt0aGlzfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3JlZ0xvZzogZnVuY3Rpb24ocHJvdG90eXBlKSB7CiAgICAgIGNvbnNvbGUubG9nKCdbJyArIHByb3RvdHlwZS5pcyArICddOiByZWdpc3RlcmVkJyk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgYSBjbGFzcyBwcm90b3R5cGUgZm9yIHRlbGVtZXRyeSBwdXJwb3Nlcy4KICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHByb3RvdHlwZSBFbGVtZW50IHByb3RvdHlwZSB0byByZWdpc3RlcgogICAgICogQHRoaXMge3RoaXN9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIHJlZ2lzdGVyOiBmdW5jdGlvbihwcm90b3R5cGUpIHsKICAgICAgdGhpcy5yZWdpc3RyYXRpb25zLnB1c2gocHJvdG90eXBlKTsKICAgICAgUG9seW1lci5sb2cgJiYgdGhpcy5fcmVnTG9nKHByb3RvdHlwZSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBMb2dzIGFsbCBlbGVtZW50cyByZWdpc3RlcmVkIHdpdGggYW4gYGlzYCB0byB0aGUgY29uc29sZS4KICAgICAqIEBwdWJsaWMKICAgICAqIEB0aGlzIHt0aGlzfQogICAgICovCiAgICBkdW1wUmVnaXN0cmF0aW9uczogZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMucmVnaXN0cmF0aW9ucy5mb3JFYWNoKHRoaXMuX3JlZ0xvZyk7CiAgICB9CiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogQ3JlYXRlcyBhIGNvcHkgb2YgYHByb3BzYCB3aXRoIGVhY2ggcHJvcGVydHkgbm9ybWFsaXplZCBzdWNoIHRoYXQKICAgKiB1cGdyYWRlZCBpdCBpcyBhbiBvYmplY3Qgd2l0aCBhdCBsZWFzdCBhIHR5cGUgcHJvcGVydHkgeyB0eXBlOiBUeXBlfS4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBQcm9wZXJ0aWVzIHRvIG5vcm1hbGl6ZQogICAqIEByZXR1cm4ge09iamVjdH0gQ29weSBvZiBpbnB1dCBgcHJvcHNgIHdpdGggbm9ybWFsaXplZCBwcm9wZXJ0aWVzIHRoYXQKICAgKiBhcmUgaW4gdGhlIGZvcm0ge3R5cGU6IFR5cGV9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBub3JtYWxpemVQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICBjb25zdCBvdXRwdXQgPSB7fTsKICAgIGZvciAobGV0IHAgaW4gcHJvcHMpIHsKICAgICAgY29uc3QgbyA9IHByb3BzW3BdOwogICAgICBvdXRwdXRbcF0gPSAodHlwZW9mIG8gPT09ICdmdW5jdGlvbicpID8ge3R5cGU6IG99IDogbzsKICAgIH0KICAgIHJldHVybiBvdXRwdXQ7CiAgfQoKICAvKioKICAgKiBNaXhpbiB0aGF0IHByb3ZpZGVzIGEgbWluaW1hbCBzdGFydGluZyBwb2ludCB0byB1c2luZyB0aGUgUHJvcGVydGllc0NoYW5nZWQKICAgKiBtaXhpbiBieSBwcm92aWRpbmcgYSBtZWNoYW5pc20gdG8gZGVjbGFyZSBwcm9wZXJ0aWVzIGluIGEgc3RhdGljCiAgICogZ2V0dGVyIChlLmcuIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsgcmV0dXJuIHsgZm9vOiBTdHJpbmcgfSB9KS4gQ2hhbmdlcwogICAqIGFyZSByZXBvcnRlZCB2aWEgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIG1ldGhvZC4KICAgKgogICAqIFRoaXMgbWl4aW4gcHJvdmlkZXMgbm8gc3BlY2lmaWMgc3VwcG9ydCBmb3IgcmVuZGVyaW5nLiBVc2VycyBhcmUgZXhwZWN0ZWQKICAgKiB0byBjcmVhdGUgYSBTaGFkb3dSb290IGFuZCBwdXQgY29udGVudCBpbnRvIGl0IGFuZCB1cGRhdGUgaXQgaW4gd2hhdGV2ZXIKICAgKiB3YXkgbWFrZXMgc2Vuc2UuIFRoaXMgY2FuIGJlIGRvbmUgaW4gcmVhY3Rpb24gdG8gcHJvcGVydGllcyBjaGFuZ2luZyBieQogICAqIGltcGxlbWVudGluZyBgX3Byb3BlcnRpZXNDaGFuZ2VkYC4KICAgKgogICAqIEBtaXhpbkZ1bmN0aW9uCiAgICogQHBvbHltZXIKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydGllc0NoYW5nZWQKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1peGluIHRoYXQgcHJvdmlkZXMgYSBtaW5pbWFsIHN0YXJ0aW5nIHBvaW50IGZvciB1c2luZwogICAqIHRoZSBQcm9wZXJ0aWVzQ2hhbmdlZCBtaXhpbiBieSBwcm92aWRpbmcgYSBkZWNsYXJhdGl2ZSBgcHJvcGVydGllc2Agb2JqZWN0LgogICAqLwogICBQb2x5bWVyLlByb3BlcnRpZXNNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0aWVzQ2hhbmdlZH0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IGJhc2UgPSBQb2x5bWVyLlByb3BlcnRpZXNDaGFuZ2VkKHN1cGVyQ2xhc3MpOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3VwZXIgY2xhc3MgY29uc3RydWN0b3IgZm9yIHRoZSBnaXZlbiBjbGFzcywgaWYgaXQgaXMgYW4KICAgICAqIGluc3RhbmNlIG9mIHRoZSBQcm9wZXJ0aWVzTWl4aW4uCiAgICAgKgogICAgICogQHBhcmFtIHshUHJvcGVydGllc01peGluQ29uc3RydWN0b3J9IGNvbnN0cnVjdG9yIFByb3BlcnRpZXNNaXhpbiBjb25zdHJ1Y3RvcgogICAgICogQHJldHVybiB7UHJvcGVydGllc01peGluQ29uc3RydWN0b3J9IFN1cGVyIGNsYXNzIGNvbnN0cnVjdG9yCiAgICAgKi8KICAgIGZ1bmN0aW9uIHN1cGVyUHJvcGVydGllc0NsYXNzKGNvbnN0cnVjdG9yKSB7CiAgICAgIGNvbnN0IHN1cGVyQ3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjb25zdHJ1Y3Rvcik7CgogICAgICAvLyBOb3RlLCB0aGUgYFByb3BlcnRpZXNNaXhpbmAgY2xhc3MgYmVsb3cgb25seSByZWZlcnMgdG8gdGhlIGNsYXNzCiAgICAgIC8vIGdlbmVyYXRlZCBieSB0aGlzIGNhbGwgdG8gdGhlIG1peGluOyB0aGUgaW5zdGFuY2VvZiB0ZXN0IG9ubHkgd29ya3MKICAgICAgLy8gYmVjYXVzZSB0aGUgbWl4aW4gaXMgZGVkdXBlZCBhbmQgZ3VhcmFudGVlZCBvbmx5IHRvIGFwcGx5IG9uY2UsIGhlbmNlCiAgICAgIC8vIGFsbCBjb25zdHJ1Y3RvcnMgaW4gYSBwcm90byBjaGFpbiB3aWxsIHNlZSB0aGUgc2FtZSBgUHJvcGVydGllc01peGluYAogICAgICByZXR1cm4gKHN1cGVyQ3Rvci5wcm90b3R5cGUgaW5zdGFuY2VvZiBQcm9wZXJ0aWVzTWl4aW4pID8KICAgICAgICAvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyAoc3VwZXJDdG9yKSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbWVtb2l6ZWQgdmVyc2lvbiBvZiB0aGUgYHByb3BlcnRpZXNgIG9iamVjdCBmb3IgdGhlCiAgICAgKiBnaXZlbiBjbGFzcy4gUHJvcGVydGllcyBub3QgaW4gb2JqZWN0IGZvcm1hdCBhcmUgY29udmVydGVkIHRvIGF0CiAgICAgKiBsZWFzdCB7dHlwZX0uCiAgICAgKgogICAgICogQHBhcmFtIHtQcm9wZXJ0aWVzTWl4aW5Db25zdHJ1Y3Rvcn0gY29uc3RydWN0b3IgUHJvcGVydGllc01peGluIGNvbnN0cnVjdG9yCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IE1lbW9pemVkIHByb3BlcnRpZXMgb2JqZWN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIG93blByb3BlcnRpZXMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX293blByb3BlcnRpZXMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgbGV0IHByb3BzID0gbnVsbDsKCiAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ3Byb3BlcnRpZXMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gY29uc3RydWN0b3IucHJvcGVydGllczsKICAgICAgICAgIAogICAgICAgICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgICAgICAgcHJvcHMgPSBub3JtYWxpemVQcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgY29uc3RydWN0b3IuX19vd25Qcm9wZXJ0aWVzID0gcHJvcHM7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLl9fb3duUHJvcGVydGllczsKICAgIH0KCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0aWVzTWl4aW59CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIFByb3BlcnRpZXNNaXhpbiBleHRlbmRzIGJhc2UgewoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgc3RhbmRhcmQgY3VzdG9tIGVsZW1lbnRzIGdldHRlciB0byBvYnNlcnZlcyB0aGUgYXR0cmlidXRlcwogICAgICAgKiBsaXN0ZWQgaW4gYHByb3BlcnRpZXNgLgogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgewogICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eSgnX19vYnNlcnZlZEF0dHJpYnV0ZXMnKSkgewogICAgICAgICAgUG9seW1lci50ZWxlbWV0cnkucmVnaXN0ZXIodGhpcy5wcm90b3R5cGUpOwogICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLl9wcm9wZXJ0aWVzOwogICAgICAgICAgdGhpcy5fX29ic2VydmVkQXR0cmlidXRlcyA9IHByb3BzID8gT2JqZWN0LmtleXMocHJvcHMpLm1hcChwID0+IHRoaXMuYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHApKSA6IFtdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fX29ic2VydmVkQXR0cmlidXRlczsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZpbmFsaXplcyBhbiBlbGVtZW50IGRlZmluaXRpb24sIGluY2x1ZGluZyBlbnN1cmluZyBhbnkgc3VwZXIgY2xhc3NlcwogICAgICAgKiBhcmUgYWxzbyBmaW5hbGl6ZWQuIFRoaXMgaW5jbHVkZXMgZW5zdXJpbmcgcHJvcGVydHkKICAgICAgICogYWNjZXNzb3JzIGV4aXN0IG9uIHRoZSBlbGVtZW50IHByb3RvdHlwZS4gVGhpcyBtZXRob2QgY2FsbHMKICAgICAgICogYF9maW5hbGl6ZUNsYXNzYCB0byBmaW5hbGl6ZSBlYWNoIGNvbnN0cnVjdG9yIGluIHRoZSBwcm90b3R5cGUgY2hhaW4uCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzdGF0aWMgZmluYWxpemUoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ19fZmluYWxpemVkJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBzdXBlckN0b3IgPSBzdXBlclByb3BlcnRpZXNDbGFzcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgICBpZiAoc3VwZXJDdG9yKSB7CiAgICAgICAgICAgIHN1cGVyQ3Rvci5maW5hbGl6ZSgpOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5fX2ZpbmFsaXplZCA9IHRydWU7CiAgICAgICAgICB0aGlzLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRmluYWxpemUgYW4gZWxlbWVudCBjbGFzcy4gVGhpcyBpbmNsdWRlcyBlbnN1cmluZyBwcm9wZXJ0eQogICAgICAgKiBhY2Nlc3NvcnMgZXhpc3Qgb24gdGhlIGVsZW1lbnQgcHJvdG90eXBlLiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYnkKICAgICAgICogYGZpbmFsaXplYCBhbmQgZmluYWxpemVzIHRoZSBjbGFzcyBjb25zdHJ1Y3Rvci4KICAgICAgICoKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIF9maW5hbGl6ZUNsYXNzKCkgewogICAgICAgIGNvbnN0IHByb3BzID0gb3duUHJvcGVydGllcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgaWYgKHByb3BzKSB7CiAgICAgICAgICB0aGlzLmNyZWF0ZVByb3BlcnRpZXMocHJvcHMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYSBtZW1vaXplZCB2ZXJzaW9uIG9mIGFsbCBwcm9wZXJ0aWVzLCBpbmNsdWRpbmcgdGhvc2UgaW5oZXJpdGVkCiAgICAgICAqIGZyb20gc3VwZXIgY2xhc3Nlcy4gUHJvcGVydGllcyBub3QgaW4gb2JqZWN0IGZvcm1hdCBhcmUgY29udmVydGVkIHRvCiAgICAgICAqIGF0IGxlYXN0IHt0eXBlfS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7T2JqZWN0fSBPYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGZvciB0aGlzIGNsYXNzCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBnZXQgX3Byb3BlcnRpZXMoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KAogICAgICAgICAgSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgnX19wcm9wZXJ0aWVzJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBzdXBlckN0b3IgPSBzdXBlclByb3BlcnRpZXNDbGFzcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgICB0aGlzLl9fcHJvcGVydGllcyA9IE9iamVjdC5hc3NpZ24oe30sCiAgICAgICAgICAgIHN1cGVyQ3RvciAmJiBzdXBlckN0b3IuX3Byb3BlcnRpZXMsCiAgICAgICAgICAgIG93blByb3BlcnRpZXMoLyoqIEB0eXBlIHtQcm9wZXJ0aWVzTWl4aW5Db25zdHJ1Y3Rvcn0gKi8odGhpcykpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX19wcm9wZXJ0aWVzOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQcm9wZXJ0aWVzQ2hhbmdlZGAgbWV0aG9kIHRvIHJldHVybiB0eXBlIHNwZWNpZmllZCBpbiB0aGUKICAgICAgICogc3RhdGljIGBwcm9wZXJ0aWVzYCBvYmplY3QgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBwcm9wZXJ0eQogICAgICAgKiBAcmV0dXJuIHsqfSBUeXBlIHRvIHdoaWNoIHRvIGRlc2VyaWFsaXplIGF0dHJpYnV0ZQogICAgICAgKgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgdHlwZUZvclByb3BlcnR5KG5hbWUpIHsKICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5fcHJvcGVydGllc1tuYW1lXTsKICAgICAgICByZXR1cm4gaW5mbyAmJiBpbmZvLnR5cGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgYFByb3BlcnRpZXNDaGFuZ2VkYCBtZXRob2QgYW5kIGFkZHMgYSBjYWxsIHRvCiAgICAgICAqIGBmaW5hbGl6ZWAgd2hpY2ggbGF6aWx5IGNvbmZpZ3VyZXMgdGhlIGVsZW1lbnQncyBwcm9wZXJ0eSBhY2Nlc3NvcnMuCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIFBvbHltZXIudGVsZW1ldHJ5Lmluc3RhbmNlQ291bnQrKzsKICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLmZpbmFsaXplKCk7CiAgICAgICAgc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZWxlbWVudCBpcyBhZGRlZCB0byBhIGRvY3VtZW50LgogICAgICAgKiBDYWxscyBgX2VuYWJsZVByb3BlcnRpZXNgIHRvIHR1cm4gb24gcHJvcGVydHkgc3lzdGVtIGZyb20KICAgICAgICogYFByb3BlcnRpZXNDaGFuZ2VkYC4KICAgICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gU3VwZXIgbWF5IG9yIG1heSBub3QgaW1wbGVtZW50IHRoZSBjYWxsYmFjawogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgaWYgKHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKSB7CiAgICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgICB0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gYSBkb2N1bWVudAogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBTdXBlciBtYXkgb3IgbWF5IG5vdCBpbXBsZW1lbnQgdGhlIGNhbGxiYWNrCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgICAgICBpZiAoc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2spIHsKICAgICAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICB9CgogICAgfQoKICAgIHJldHVybiBQcm9wZXJ0aWVzTWl4aW47CgogIH0pOwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgYnVpbHRDU1MgPSB3aW5kb3cuU2hhZHlDU1MgJiYgd2luZG93LlNoYWR5Q1NTWydjc3NCdWlsZCddOwoKICAvKioKICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MgbWV0YS1wcm9ncmFtbWluZwogICAqIGZlYXR1cmVzIGluY2x1ZGluZyB0ZW1wbGF0ZSBzdGFtcGluZywgZGF0YS1iaW5kaW5nLCBhdHRyaWJ1dGUgZGVzZXJpYWxpemF0aW9uLAogICAqIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24uCiAgICoKICAgKiBTdWJjbGFzc2VycyBtYXkgcHJvdmlkZSB0aGUgZm9sbG93aW5nIHN0YXRpYyBnZXR0ZXJzIHRvIHJldHVybiBtZXRhZGF0YQogICAqIHVzZWQgdG8gY29uZmlndXJlIFBvbHltZXIncyBmZWF0dXJlcyBmb3IgdGhlIGNsYXNzOgogICAqCiAgICogLSBgc3RhdGljIGdldCBpcygpYDogV2hlbiB0aGUgdGVtcGxhdGUgaXMgcHJvdmlkZWQgdmlhIGEgYGRvbS1tb2R1bGVgLAogICAqICAgdXNlcnMgc2hvdWxkIHJldHVybiB0aGUgYGRvbS1tb2R1bGVgIGlkIGZyb20gYSBzdGF0aWMgYGlzYCBnZXR0ZXIuICBJZgogICAqICAgbm8gdGVtcGxhdGUgaXMgbmVlZGVkIG9yIHRoZSB0ZW1wbGF0ZSBpcyBwcm92aWRlZCBkaXJlY3RseSB2aWEgdGhlCiAgICogICBgdGVtcGxhdGVgIGdldHRlciwgdGhlcmUgaXMgbm8gbmVlZCB0byBkZWZpbmUgYGlzYCBmb3IgdGhlIGVsZW1lbnQuCiAgICoKICAgKiAtIGBzdGF0aWMgZ2V0IHRlbXBsYXRlKClgOiBVc2VycyBtYXkgcHJvdmlkZSB0aGUgdGVtcGxhdGUgZGlyZWN0bHkgKGFzCiAgICogICBvcHBvc2VkIHRvIHZpYSBgZG9tLW1vZHVsZWApIGJ5IGltcGxlbWVudGluZyBhIHN0YXRpYyBgdGVtcGxhdGVgIGdldHRlci4KICAgKiAgIFRoZSBnZXR0ZXIgbWF5IHJldHVybiBhbiBgSFRNTFRlbXBsYXRlRWxlbWVudGAgb3IgYSBzdHJpbmcsIHdoaWNoIHdpbGwKICAgKiAgIGF1dG9tYXRpY2FsbHkgYmUgcGFyc2VkIGludG8gYSB0ZW1wbGF0ZS4KICAgKgogICAqIC0gYHN0YXRpYyBnZXQgcHJvcGVydGllcygpYDogU2hvdWxkIHJldHVybiBhbiBvYmplY3QgZGVzY3JpYmluZwogICAqICAgcHJvcGVydHktcmVsYXRlZCBtZXRhZGF0YSB1c2VkIGJ5IFBvbHltZXIgZmVhdHVyZXMgKGtleTogcHJvcGVydHkgbmFtZQogICAqICAgdmFsdWU6IG9iamVjdCBjb250YWluaW5nIHByb3BlcnR5IG1ldGFkYXRhKS4gVmFsaWQga2V5cyBpbiBwZXItcHJvcGVydHkKICAgKiAgIG1ldGFkYXRhIGluY2x1ZGU6CiAgICogICAtIGB0eXBlYCAoU3RyaW5nfE51bWJlcnxPYmplY3R8QXJyYXl8Li4uKTogVXNlZCBieQogICAqICAgICBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYCB0byBkZXRlcm1pbmUgaG93IHN0cmluZy1iYXNlZCBhdHRyaWJ1dGVzCiAgICogICAgIGFyZSBkZXNlcmlhbGl6ZWQgdG8gSmF2YVNjcmlwdCBwcm9wZXJ0eSB2YWx1ZXMuCiAgICogICAtIGBub3RpZnlgIChib29sZWFuKTogQ2F1c2VzIGEgY2hhbmdlIGluIHRoZSBwcm9wZXJ0eSB0byBmaXJlIGEKICAgKiAgICAgbm9uLWJ1YmJsaW5nIGV2ZW50IGNhbGxlZCBgPHByb3BlcnR5Pi1jaGFuZ2VkYC4gRWxlbWVudHMgdGhhdCBoYXZlCiAgICogICAgIGVuYWJsZWQgdHdvLXdheSBiaW5kaW5nIHRvIHRoZSBwcm9wZXJ0eSB1c2UgdGhpcyBldmVudCB0byBvYnNlcnZlIGNoYW5nZXMuCiAgICogICAtIGByZWFkT25seWAgKGJvb2xlYW4pOiBDcmVhdGVzIGEgZ2V0dGVyIGZvciB0aGUgcHJvcGVydHksIGJ1dCBubyBzZXR0ZXIuCiAgICogICAgIFRvIHNldCBhIHJlYWQtb25seSBwcm9wZXJ0eSwgdXNlIHRoZSBwcml2YXRlIHNldHRlciBtZXRob2QKICAgKiAgICAgYF9zZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpYC4KICAgKiAgIC0gYG9ic2VydmVyYCAoc3RyaW5nKTogT2JzZXJ2ZXIgbWV0aG9kIG5hbWUgdGhhdCB3aWxsIGJlIGNhbGxlZCB3aGVuCiAgICogICAgIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLiBUaGUgYXJndW1lbnRzIG9mIHRoZSBtZXRob2QgYXJlCiAgICogICAgIGAodmFsdWUsIHByZXZpb3VzVmFsdWUpYC4KICAgKiAgIC0gYGNvbXB1dGVkYCAoc3RyaW5nKTogU3RyaW5nIGRlc2NyaWJpbmcgbWV0aG9kIGFuZCBkZXBlbmRlbnQgcHJvcGVydGllcwogICAqICAgICBmb3IgY29tcHV0aW5nIHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IChlLmcuIGAnY29tcHV0ZUZvbyhiYXIsIHpvdCknYCkuCiAgICogICAgIENvbXB1dGVkIHByb3BlcnRpZXMgYXJlIHJlYWQtb25seSBieSBkZWZhdWx0IGFuZCBjYW4gb25seSBiZSBjaGFuZ2VkCiAgICogICAgIHZpYSB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBjb21wdXRpbmcgbWV0aG9kLgogICAqCiAgICogLSBgc3RhdGljIGdldCBvYnNlcnZlcnMoKWA6IEFycmF5IG9mIHN0cmluZ3MgZGVzY3JpYmluZyBtdWx0aS1wcm9wZXJ0eQogICAqICAgb2JzZXJ2ZXIgbWV0aG9kcyBhbmQgdGhlaXIgZGVwZW5kZW50IHByb3BlcnRpZXMgKGUuZy4KICAgKiAgIGAnb2JzZXJ2ZUFCQyhhLCBiLCBjKSdgKS4KICAgKgogICAqIFRoZSBiYXNlIGNsYXNzIHByb3ZpZGVzIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZm9sbG93aW5nIHN0YW5kYXJkCiAgICogY3VzdG9tIGVsZW1lbnQgbGlmZWN5Y2xlIGNhbGxiYWNrczsgdXNlcnMgbWF5IG92ZXJyaWRlIHRoZXNlLCBidXQgc2hvdWxkCiAgICogY2FsbCB0aGUgc3VwZXIgbWV0aG9kIHRvIGVuc3VyZQogICAqIC0gYGNvbnN0cnVjdG9yYDogUnVuIHdoZW4gdGhlIGVsZW1lbnQgaXMgY3JlYXRlZCBvciB1cGdyYWRlZAogICAqIC0gYGNvbm5lY3RlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgdG8gdGhlCiAgICogICBkb2N1bWVudAogICAqIC0gYGRpc2Nvbm5lY3RlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSB0aGUgZWxlbWVudCBpcyBkaXNjb25uZWN0ZWQgZnJvbQogICAqICAgdGhlIGRvY3VtZW50CiAgICogLSBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSBhbiBhdHRyaWJ1dGUgaW4KICAgKiAgIGBvYnNlcnZlZEF0dHJpYnV0ZXNgIGlzIHNldCBvciByZW1vdmVkIChub3RlOiB0aGlzIGVsZW1lbnQncyBkZWZhdWx0CiAgICogICBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCBpbXBsZW1lbnRhdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgcmV0dXJuIGFuIGFycmF5CiAgICogICBvZiBkYXNoLWNhc2VkIGF0dHJpYnV0ZXMgYmFzZWQgb24gYHByb3BlcnRpZXNgKQogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHMKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydGllc01peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcHJvcGVydHkgcm9vdFBhdGgge3N0cmluZ30gU2V0IHRvIHRoZSB2YWx1ZSBvZiBgUG9seW1lci5yb290UGF0aGAsCiAgICogICB3aGljaCBkZWZhdWx0cyB0byB0aGUgbWFpbiBkb2N1bWVudCBwYXRoCiAgICogQHByb3BlcnR5IGltcG9ydFBhdGgge3N0cmluZ30gU2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgY2xhc3MncyBzdGF0aWMKICAgKiAgIGBpbXBvcnRQYXRoYCBwcm9wZXJ0eSwgd2hpY2ggZGVmYXVsdHMgdG8gdGhlIHBhdGggb2YgdGhpcyBlbGVtZW50J3MKICAgKiAgIGBkb20tbW9kdWxlYCAod2hlbiBgaXNgIGlzIHVzZWQpLCBidXQgY2FuIGJlIG92ZXJyaWRkZW4gZm9yIG90aGVyCiAgICogICBpbXBvcnQgc3RyYXRlZ2llcy4KICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MKICAgKiBtZXRhLXByb2dyYW1taW5nIGZlYXR1cmVzLgogICAqLwogIFBvbHltZXIuRWxlbWVudE1peGluID0gUG9seW1lci5kZWR1cGluZ01peGluKGJhc2UgPT4gewoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnRpZXNNaXhpbn0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IHBvbHltZXJFbGVtZW50QmFzZSA9IFBvbHltZXIuUHJvcGVydGllc01peGluKFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKGJhc2UpKTsKCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHByb3BlcnRpZXMgd2l0aCBkZWZhdWx0IHZhbHVlcy4KICAgICAqIFRoaXMgbGlzdCBpcyBjcmVhdGVkIGFzIGFuIG9wdGltaXphdGlvbiBzaW5jZSBpdCBpcyBhIHN1YnNldCBvZgogICAgICogdGhlIGxpc3QgcmV0dXJuZWQgZnJvbSBgX3Byb3BlcnRpZXNgLgogICAgICogVGhpcyBsaXN0IGlzIHVzZWQgaW4gYF9pbml0aWFsaXplUHJvcGVydGllc2AgdG8gc2V0IHByb3BlcnR5IGRlZmF1bHRzLgogICAgICoKICAgICAqIEBwYXJhbSB7UG9seW1lckVsZW1lbnRDb25zdHJ1Y3Rvcn0gY29uc3RydWN0b3IgRWxlbWVudCBjbGFzcwogICAgICogQHJldHVybiB7UG9seW1lckVsZW1lbnRQcm9wZXJ0aWVzfSBGbGF0dGVuZWQgcHJvcGVydGllcyBmb3IgdGhpcyBjbGFzcwogICAgICogICB0aGF0IGhhdmUgZGVmYXVsdCB2YWx1ZXMKICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIHByb3BlcnR5RGVmYXVsdHMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgKICAgICAgICBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX3Byb3BlcnR5RGVmYXVsdHMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgY29uc3RydWN0b3IuX19wcm9wZXJ0eURlZmF1bHRzID0gbnVsbDsKICAgICAgICBsZXQgcHJvcHMgPSBjb25zdHJ1Y3Rvci5fcHJvcGVydGllczsKICAgICAgICBmb3IgKGxldCBwIGluIHByb3BzKSB7CiAgICAgICAgICBsZXQgaW5mbyA9IHByb3BzW3BdOwogICAgICAgICAgaWYgKCd2YWx1ZScgaW4gaW5mbykgewogICAgICAgICAgICBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHMgPSBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHMgfHwge307CiAgICAgICAgICAgIGNvbnN0cnVjdG9yLl9fcHJvcGVydHlEZWZhdWx0c1twXSA9IGluZm87CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbWVtb2l6ZWQgdmVyc2lvbiBvZiB0aGUgYG9ic2VydmVyc2AgYXJyYXkuCiAgICAgKiBAcGFyYW0ge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9IGNvbnN0cnVjdG9yIEVsZW1lbnQgY2xhc3MKICAgICAqIEByZXR1cm4ge0FycmF5fSBBcnJheSBjb250YWluaW5nIG93biBvYnNlcnZlcnMgZm9yIHRoZSBnaXZlbiBjbGFzcwogICAgICogQHByb3RlY3RlZAogICAgICovCiAgICBmdW5jdGlvbiBvd25PYnNlcnZlcnMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgKICAgICAgICBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX293bk9ic2VydmVycycsIGNvbnN0cnVjdG9yKSkpIHsKICAgICAgICAgIGNvbnN0cnVjdG9yLl9fb3duT2JzZXJ2ZXJzID0KICAgICAgICAgIGNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ29ic2VydmVycycsIGNvbnN0cnVjdG9yKSkgPwogICAgICAgICAgLyoqIEB0eXBlIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSAqLyAoY29uc3RydWN0b3IpLm9ic2VydmVycyA6IG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLl9fb3duT2JzZXJ2ZXJzOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBlZmZlY3RzIGZvciBhIHByb3BlcnR5LgogICAgICoKICAgICAqIE5vdGUsIG9uY2UgYSBwcm9wZXJ0eSBoYXMgYmVlbiBzZXQgdG8KICAgICAqIGByZWFkT25seWAsIGBjb21wdXRlZGAsIGByZWZsZWN0VG9BdHRyaWJ1dGVgLCBvciBgbm90aWZ5YAogICAgICogdGhlc2UgdmFsdWVzIG1heSBub3QgYmUgY2hhbmdlZC4gRm9yIGV4YW1wbGUsIGEgc3ViY2xhc3MgY2Fubm90CiAgICAgKiBhbHRlciB0aGVzZSBzZXR0aW5ncy4gSG93ZXZlciwgYWRkaXRpb25hbCBgb2JzZXJ2ZXJzYCBtYXkgYmUgYWRkZWQKICAgICAqIGJ5IHN1YmNsYXNzZXMuCiAgICAgKgogICAgICogVGhlIGluZm8gb2JqZWN0IHNob3VsZCBjb250YWluIHByb3BlcnR5IG1ldGFkYXRhIGFzIGZvbGxvd3M6CiAgICAgKgogICAgICogKiBgdHlwZWA6IHtmdW5jdGlvbn0gdHlwZSB0byB3aGljaCBhbiBhdHRyaWJ1dGUgbWF0Y2hpbmcgdGhlIHByb3BlcnR5CiAgICAgKiBpcyBkZXNlcmlhbGl6ZWQuIE5vdGUgdGhlIHByb3BlcnR5IGlzIGNhbWVsLWNhc2VkIGZyb20gYSBkYXNoLWNhc2VkCiAgICAgKiBhdHRyaWJ1dGUuIEZvciBleGFtcGxlLCAnZm9vLWJhcicgYXR0cmlidXRlIGlzIGRlc2VyaWFsaXplZCB0byBhCiAgICAgKiBwcm9wZXJ0eSBuYW1lZCAnZm9vQmFyJy4KICAgICAqCiAgICAgKiAqIGByZWFkT25seWA6IHtib29sZWFufSBjcmVhdGVzIGEgcmVhZE9ubHkgcHJvcGVydHkgYW5kCiAgICAgKiBtYWtlcyBhIHByaXZhdGUgc2V0dGVyIGZvciB0aGUgcHJpdmF0ZSBvZiB0aGUgZm9ybSAnX3NldEZvbycgZm9yIGEKICAgICAqIHByb3BlcnR5ICdmb28nLAogICAgICoKICAgICAqICogYGNvbXB1dGVkYDoge3N0cmluZ30gY3JlYXRlcyBhIGNvbXB1dGVkIHByb3BlcnR5LiBBIGNvbXB1dGVkIHByb3BlcnR5CiAgICAgKiBpcyBhbHNvIGF1dG9tYXRpY2FsbHkgc2V0IHRvIGByZWFkT25seTogdHJ1ZWAuIFRoZSB2YWx1ZSBpcyBjYWxjdWxhdGVkCiAgICAgKiBieSBydW5uaW5nIGEgbWV0aG9kIGFuZCBhcmd1bWVudHMgcGFyc2VkIGZyb20gdGhlIGdpdmVuIHN0cmluZy4gRm9yCiAgICAgKiBleGFtcGxlICdjb21wdXRlKGZvbyknIHdpbGwgY29tcHV0ZSBhIGdpdmVuIHByb3BlcnR5IHdoZW4gdGhlCiAgICAgKiAnZm9vJyBwcm9wZXJ0eSBjaGFuZ2VzIGJ5IGV4ZWN1dGluZyB0aGUgJ2NvbXB1dGUnIG1ldGhvZC4gVGhpcyBtZXRob2QKICAgICAqIG11c3QgcmV0dXJuIHRoZSBjb21wdXRlZCB2YWx1ZS4KICAgICAqCiAgICAgKiAqIGByZWZsZWN0VG9BdHRyaWJ1dGVgOiB7Ym9vbGVhbn0gSWYgdHJ1ZSwgdGhlIHByb3BlcnR5IHZhbHVlIGlzIHJlZmxlY3RlZAogICAgICogdG8gYW4gYXR0cmlidXRlIG9mIHRoZSBzYW1lIG5hbWUuIE5vdGUsIHRoZSBhdHRyaWJ1dGUgaXMgZGFzaC1jYXNlZAogICAgICogc28gYSBwcm9wZXJ0eSBuYW1lZCAnZm9vQmFyJyBpcyByZWZsZWN0ZWQgYXMgJ2Zvby1iYXInLgogICAgICoKICAgICAqICogYG5vdGlmeWA6IHtib29sZWFufSBzZW5kcyBhIG5vbi1idWJibGluZyBub3RpZmljYXRpb24gZXZlbnQgd2hlbgogICAgICogdGhlIHByb3BlcnR5IGNoYW5nZXMuIEZvciBleGFtcGxlLCBhIHByb3BlcnR5IG5hbWVkICdmb28nIHNlbmRzIGFuCiAgICAgKiBldmVudCBuYW1lZCAnZm9vLWNoYW5nZWQnIHdpdGggYGV2ZW50LmRldGFpbGAgc2V0IHRvIHRoZSB2YWx1ZSBvZgogICAgICogdGhlIHByb3BlcnR5LgogICAgICoKICAgICAqICogb2JzZXJ2ZXI6IHtzdHJpbmd9IG5hbWUgb2YgYSBtZXRob2QgdGhhdCBydW5zIHdoZW4gdGhlIHByb3BlcnR5CiAgICAgKiBjaGFuZ2VzLiBUaGUgYXJndW1lbnRzIG9mIHRoZSBtZXRob2QgYXJlICh2YWx1ZSwgcHJldmlvdXNWYWx1ZSkuCiAgICAgKgogICAgICogTm90ZTogVXNlcnMgbWF5IHdhbnQgY29udHJvbCBvdmVyIG1vZGlmeWluZyBwcm9wZXJ0eQogICAgICogZWZmZWN0cyB2aWEgc3ViY2xhc3NpbmcuIEZvciBleGFtcGxlLCBhIHVzZXIgbWlnaHQgd2FudCB0byBtYWtlIGEKICAgICAqIHJlZmxlY3RUb0F0dHJpYnV0ZSBwcm9wZXJ0eSBub3QgZG8gc28gaW4gYSBzdWJjbGFzcy4gV2UndmUgY2hvc2VuIHRvCiAgICAgKiBkaXNhYmxlIHRoaXMgYmVjYXVzZSBpdCBsZWFkcyB0byBhZGRpdGlvbmFsIGNvbXBsaWNhdGlvbi4KICAgICAqIEZvciBleGFtcGxlLCBhIHJlYWRPbmx5IGVmZmVjdCBnZW5lcmF0ZXMgYSBzcGVjaWFsIHNldHRlci4gSWYgYSBzdWJjbGFzcwogICAgICogZGlzYWJsZXMgdGhlIGVmZmVjdCwgdGhlIHNldHRlciB3b3VsZCBmYWlsIHVuZXhwZWN0ZWRseS4KICAgICAqIEJhc2VkIG9uIGZlZWRiYWNrLCB3ZSBtYXkgd2FudCB0byB0cnkgdG8gbWFrZSBlZmZlY3RzIG1vcmUgbWFsbGVhYmxlCiAgICAgKiBhbmQvb3IgcHJvdmlkZSBhbiBhZHZhbmNlZCBhcGkgZm9yIG1hbmlwdWxhdGluZyB0aGVtLgogICAgICogQWxzbyBjb25zaWRlciBhZGRpbmcgd2FybmluZ3Mgd2hlbiBhbiBlZmZlY3QgY2Fubm90IGJlIGNoYW5nZWQuCiAgICAgKgogICAgICogQHBhcmFtIHshUG9seW1lckVsZW1lbnR9IHByb3RvIEVsZW1lbnQgY2xhc3MgcHJvdG90eXBlIHRvIGFkZCBhY2Nlc3NvcnMKICAgICAqICAgYW5kIGVmZmVjdHMgdG8KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5LgogICAgICogQHBhcmFtIHtPYmplY3R9IGluZm8gSW5mbyBvYmplY3QgZnJvbSB3aGljaCB0byBjcmVhdGUgcHJvcGVydHkgZWZmZWN0cy4KICAgICAqIFN1cHBvcnRlZCBrZXlzOgogICAgICogQHBhcmFtIHtPYmplY3R9IGFsbFByb3BzIEZsYXR0ZW5lZCBtYXAgb2YgYWxsIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGlzCiAgICAgKiAgIGVsZW1lbnQgKGluY2x1ZGluZyBpbmhlcml0ZWQgcHJvcGVydGllcykKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eUZyb21Db25maWcocHJvdG8sIG5hbWUsIGluZm8sIGFsbFByb3BzKSB7CiAgICAgIC8vIGNvbXB1dGVkIGZvcmNlcyByZWFkT25seS4uLgogICAgICBpZiAoaW5mby5jb21wdXRlZCkgewogICAgICAgIGluZm8ucmVhZE9ubHkgPSB0cnVlOwogICAgICB9CiAgICAgIC8vIE5vdGUsIHNpbmNlIGFsbCBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSByZWFkT25seSwgdGhpcyBwcmV2ZW50cwogICAgICAvLyBhZGRpbmcgYWRkaXRpb25hbCBjb21wdXRlZCBwcm9wZXJ0eSBlZmZlY3RzICh3aGljaCBsZWFkcyB0byBhIGNvbmZ1c2luZwogICAgICAvLyBzZXR1cCB3aGVyZSBtdWx0aXBsZSB0cmlnZ2VycyBmb3Igc2V0dGluZyBhIHByb3BlcnR5KQogICAgICAvLyBXaGlsZSB3ZSBkbyBoYXZlIGBoYXNDb21wdXRlZEVmZmVjdGAgdGhpcyBpcyBzZXQgb24gdGhlIHByb3BlcnR5J3MKICAgICAgLy8gZGVwZW5kZW5jaWVzIHJhdGhlciB0aGFuIGl0c2VsZi4KICAgICAgaWYgKGluZm8uY29tcHV0ZWQgJiYgIXByb3RvLl9oYXNSZWFkT25seUVmZmVjdChuYW1lKSkgewogICAgICAgIHByb3RvLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KG5hbWUsIGluZm8uY29tcHV0ZWQsIGFsbFByb3BzKTsKICAgICAgfQogICAgICBpZiAoaW5mby5yZWFkT25seSAmJiAhcHJvdG8uX2hhc1JlYWRPbmx5RWZmZWN0KG5hbWUpKSB7CiAgICAgICAgcHJvdG8uX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkobmFtZSwgIWluZm8uY29tcHV0ZWQpOwogICAgICB9CiAgICAgIGlmIChpbmZvLnJlZmxlY3RUb0F0dHJpYnV0ZSAmJiAhcHJvdG8uX2hhc1JlZmxlY3RFZmZlY3QobmFtZSkpIHsKICAgICAgICBwcm90by5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkobmFtZSk7CiAgICAgIH0KICAgICAgaWYgKGluZm8ubm90aWZ5ICYmICFwcm90by5faGFzTm90aWZ5RWZmZWN0KG5hbWUpKSB7CiAgICAgICAgcHJvdG8uX2NyZWF0ZU5vdGlmeWluZ1Byb3BlcnR5KG5hbWUpOwogICAgICB9CiAgICAgIC8vIGFsd2F5cyBhZGQgb2JzZXJ2ZXIKICAgICAgaWYgKGluZm8ub2JzZXJ2ZXIpIHsKICAgICAgICBwcm90by5fY3JlYXRlUHJvcGVydHlPYnNlcnZlcihuYW1lLCBpbmZvLm9ic2VydmVyLCBhbGxQcm9wc1tpbmZvLm9ic2VydmVyXSk7CiAgICAgIH0KICAgICAgLy8gYWx3YXlzIGNyZWF0ZSB0aGUgbWFwcGluZyBmcm9tIGF0dHJpYnV0ZSBiYWNrIHRvIHByb3BlcnR5IGZvciBkZXNlcmlhbGl6YXRpb24uCiAgICAgIHByb3RvLl9hZGRQcm9wZXJ0eVRvQXR0cmlidXRlTWFwKG5hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbGwgc3R5bGUgZWxlbWVudHMgaW4gdGhlIGVsZW1lbnQgdGVtcGxhdGUuIFN0eWxlcyB3aXRoIHRoZQogICAgICogYGluY2x1ZGVgIGF0dHJpYnV0ZSBhcmUgcHJvY2Vzc2VkIHN1Y2ggdGhhdCBhbnkgc3R5bGVzIGluCiAgICAgKiB0aGUgYXNzb2NpYXRlZCAic3R5bGUgbW9kdWxlcyIgYXJlIGluY2x1ZGVkIGluIHRoZSBlbGVtZW50IHRlbXBsYXRlLgogICAgICogQHBhcmFtIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSBrbGFzcyBFbGVtZW50IGNsYXNzCiAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBwcm9jZXNzCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaXMgTmFtZSBvZiBlbGVtZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZVVSSSBCYXNlIFVSSSBmb3IgZWxlbWVudAogICAgICogQHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gcHJvY2Vzc0VsZW1lbnRTdHlsZXMoa2xhc3MsIHRlbXBsYXRlLCBpcywgYmFzZVVSSSkgewogICAgICBpZiAoIWJ1aWx0Q1NTKSB7CiAgICAgICAgY29uc3QgdGVtcGxhdGVTdHlsZXMgPSB0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJyk7CiAgICAgICAgY29uc3Qgc3R5bGVzV2l0aEltcG9ydHMgPSBQb2x5bWVyLlN0eWxlR2F0aGVyLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgLy8gaW5zZXJ0IHN0eWxlcyBmcm9tIDxsaW5rIHJlbD0iaW1wb3J0IiB0eXBlPSJjc3MiPiBhdCB0aGUgdG9wIG9mIHRoZSB0ZW1wbGF0ZQogICAgICAgIGNvbnN0IGxpbmtlZFN0eWxlcyA9IFBvbHltZXIuU3R5bGVHYXRoZXIuc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMoaXMpOwogICAgICAgIGNvbnN0IGZpcnN0VGVtcGxhdGVDaGlsZCA9IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7CiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbGlua2VkU3R5bGVzLmxlbmd0aDsgaWR4KyspIHsKICAgICAgICAgIGxldCBzID0gbGlua2VkU3R5bGVzW2lkeF07CiAgICAgICAgICBzLnRleHRDb250ZW50ID0ga2xhc3MuX3Byb2Nlc3NTdHlsZVRleHQocy50ZXh0Q29udGVudCwgYmFzZVVSSSk7CiAgICAgICAgICB0ZW1wbGF0ZS5jb250ZW50Lmluc2VydEJlZm9yZShzLCBmaXJzdFRlbXBsYXRlQ2hpbGQpOwogICAgICAgIH0KICAgICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0ICJjb25jcmV0ZSIgc3R5bGUgaW4gdGhlIHRlbXBsYXRlIHdlIGhhdmUgZW5jb3VudGVyZWQKICAgICAgICBsZXQgdGVtcGxhdGVTdHlsZUluZGV4ID0gMDsKICAgICAgICAvLyBlbnN1cmUgYWxsIGdhdGhlcmVkIHN0eWxlcyBhcmUgYWN0dWFsbHkgaW4gdGhpcyB0ZW1wbGF0ZS4KICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0eWxlc1dpdGhJbXBvcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgcyA9IHN0eWxlc1dpdGhJbXBvcnRzW2ldOwogICAgICAgICAgbGV0IHRlbXBsYXRlU3R5bGUgPSB0ZW1wbGF0ZVN0eWxlc1t0ZW1wbGF0ZVN0eWxlSW5kZXhdOwogICAgICAgICAgLy8gaWYgdGhlIHN0eWxlIGlzIG5vdCBpbiB0aGlzIHRlbXBsYXRlLCBpdCdzIGJlZW4gImluY2x1ZGVkIiBhbmQKICAgICAgICAgIC8vIHdlIHB1dCBhIGNsb25lIG9mIGl0IGluIHRoZSB0ZW1wbGF0ZSBiZWZvcmUgdGhlIHN0eWxlIHRoYXQgaW5jbHVkZWQgaXQKICAgICAgICAgIGlmICh0ZW1wbGF0ZVN0eWxlICE9PSBzKSB7CiAgICAgICAgICAgIHMgPSBzLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgdGVtcGxhdGVTdHlsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0ZW1wbGF0ZVN0eWxlKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlbXBsYXRlU3R5bGVJbmRleCsrOwogICAgICAgICAgfQogICAgICAgICAgcy50ZXh0Q29udGVudCA9IGtsYXNzLl9wcm9jZXNzU3R5bGVUZXh0KHMudGV4dENvbnRlbnQsIGJhc2VVUkkpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAod2luZG93LlNoYWR5Q1NTKSB7CiAgICAgICAgd2luZG93LlNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZSh0ZW1wbGF0ZSwgaXMpOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb29rIHVwIHRlbXBsYXRlIGZyb20gZG9tLW1vZHVsZSBmb3IgZWxlbWVudAogICAgICoKICAgICAqIEBwYXJhbSB7IXN0cmluZ30gaXMgRWxlbWVudCBuYW1lIHRvIGxvb2sgdXAKICAgICAqIEByZXR1cm4geyFIVE1MVGVtcGxhdGVFbGVtZW50fSBUZW1wbGF0ZSBmb3VuZCBpbiBkb20gbW9kdWxlLCBvcgogICAgICogICB1bmRlZmluZWQgaWYgbm90IGZvdW5kCiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFRlbXBsYXRlRnJvbURvbU1vZHVsZShpcykgewogICAgICBsZXQgdGVtcGxhdGUgPSBudWxsOwogICAgICBpZiAoaXMgJiYgUG9seW1lci5Eb21Nb2R1bGUpIHsKICAgICAgICB0ZW1wbGF0ZSA9IFBvbHltZXIuRG9tTW9kdWxlLmltcG9ydChpcywgJ3RlbXBsYXRlJyk7CiAgICAgICAgLy8gVW5kZXIgc3RyaWN0VGVtcGxhdGVQb2xpY3ksIHJlcXVpcmUgYW55IGVsZW1lbnQgd2l0aCBhbiBgaXNgCiAgICAgICAgLy8gc3BlY2lmaWVkIHRvIGhhdmUgYSBkb20tbW9kdWxlCiAgICAgICAgaWYgKFBvbHltZXIuc3RyaWN0VGVtcGxhdGVQb2xpY3kgJiYgIXRlbXBsYXRlKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHN0cmljdFRlbXBsYXRlUG9saWN5OiBleHBlY3RpbmcgZG9tLW1vZHVsZSBvciBudWxsIHRlbXBsYXRlIGZvciAke2lzfWApOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdGVtcGxhdGU7CiAgICB9CgogIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9FbGVtZW50TWl4aW59CiAgICAgKi8KICAgIGNsYXNzIFBvbHltZXJFbGVtZW50IGV4dGVuZHMgcG9seW1lckVsZW1lbnRCYXNlIHsKCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZSBvZiBQcm9wZXJ0aWVzTWl4aW4gX2ZpbmFsaXplQ2xhc3MgdG8gY3JlYXRlIG9ic2VydmVycyBhbmQKICAgICAgICogZmluZCB0aGUgdGVtcGxhdGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IEludGVyZmFjZXMgaW4gY2xvc3VyZSBkbyBub3QgaW5oZXJpdCBzdGF0aWNzLCBidXQgY2xhc3NlcyBkbwogICAgICAgKi8KICAgICAgc3RhdGljIF9maW5hbGl6ZUNsYXNzKCkgewogICAgICAgIHN1cGVyLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgY29uc3Qgb2JzZXJ2ZXJzID0gb3duT2JzZXJ2ZXJzKHRoaXMpOwogICAgICAgIGlmIChvYnNlcnZlcnMpIHsKICAgICAgICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXJzKG9ic2VydmVycywgdGhpcy5fcHJvcGVydGllcyk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX3ByZXBhcmVUZW1wbGF0ZSgpOwogICAgICB9CgogICAgICBzdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZSgpIHsKICAgICAgICAvLyBub3RlOiBjcmVhdGUgIndvcmtpbmciIHRlbXBsYXRlIHRoYXQgaXMgZmluYWxpemVkIGF0IGluc3RhbmNlIHRpbWUKICAgICAgICBsZXQgdGVtcGxhdGUgPSAvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9ICovICh0aGlzKS50ZW1wbGF0ZTsKICAgICAgICBpZiAodGVtcGxhdGUpIHsKICAgICAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIGxldCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTsKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSB0ZW1wbGF0ZTsKICAgICAgICAgICAgdGVtcGxhdGUgPSB0OwogICAgICAgICAgfSBlbHNlIGlmICghUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zKSB7CiAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZSA9IHRlbXBsYXRlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgb2YgUHJvcGVydGllc0NoYW5nZWQgY3JlYXRlUHJvcGVydGllcyB0byBjcmVhdGUgYWNjZXNzb3JzCiAgICAgICAqIGFuZCBwcm9wZXJ0eSBlZmZlY3RzIGZvciBhbGwgb2YgdGhlIHByb3BlcnRpZXMuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIGZvciAobGV0IHAgaW4gcHJvcHMpIHsKICAgICAgICAgIGNyZWF0ZVByb3BlcnR5RnJvbUNvbmZpZyh0aGlzLnByb3RvdHlwZSwgcCwgcHJvcHNbcF0sIHByb3BzKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIG9ic2VydmVycyBmb3IgdGhlIGdpdmVuIGBvYnNlcnZlcnNgIGFycmF5LgogICAgICAgKiBMZXZlcmFnZXMgYFByb3BlcnR5RWZmZWN0c2AgdG8gY3JlYXRlIG9ic2VydmVycy4KICAgICAgICogQHBhcmFtIHtPYmplY3R9IG9ic2VydmVycyBBcnJheSBvZiBvYnNlcnZlciBkZXNjcmlwdG9ycyBmb3IKICAgICAgICogICB0aGlzIGNsYXNzCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkeW5hbWljRm5zIE9iamVjdCBjb250YWluaW5nIGtleXMgZm9yIGFueSBwcm9wZXJ0aWVzCiAgICAgICAqICAgdGhhdCBhcmUgZnVuY3Rpb25zIGFuZCBzaG91bGQgdHJpZ2dlciB0aGUgZWZmZWN0IHdoZW4gdGhlIGZ1bmN0aW9uCiAgICAgICAqICAgcmVmZXJlbmNlIGlzIGNoYW5nZWQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIGNyZWF0ZU9ic2VydmVycyhvYnNlcnZlcnMsIGR5bmFtaWNGbnMpIHsKICAgICAgICBjb25zdCBwcm90byA9IHRoaXMucHJvdG90eXBlOwogICAgICAgIGZvciAobGV0IGk9MDsgaSA8IG9ic2VydmVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgcHJvdG8uX2NyZWF0ZU1ldGhvZE9ic2VydmVyKG9ic2VydmVyc1tpXSwgZHluYW1pY0Zucyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgdGhhdCB3aWxsIGJlIHN0YW1wZWQgaW50byB0aGlzIGVsZW1lbnQncyBzaGFkb3cgcm9vdC4KICAgICAgICoKICAgICAgICogSWYgYSBgc3RhdGljIGdldCBpcygpYCBnZXR0ZXIgaXMgZGVmaW5lZCwgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24KICAgICAgICogd2lsbCByZXR1cm4gdGhlIGZpcnN0IGA8dGVtcGxhdGU+YCBpbiBhIGBkb20tbW9kdWxlYCB3aG9zZSBgaWRgCiAgICAgICAqIG1hdGNoZXMgdGhpcyBlbGVtZW50J3MgYGlzYC4KICAgICAgICoKICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgZ2V0dGVyIHRvIHJldHVybiBhbiBhcmJpdHJhcnkgdGVtcGxhdGUKICAgICAgICogKGluIHdoaWNoIGNhc2UgdGhlIGBpc2AgZ2V0dGVyIGlzIHVubmVjZXNzYXJ5KS4gVGhlIHRlbXBsYXRlIHJldHVybmVkCiAgICAgICAqIG1heSBiZSBlaXRoZXIgYW4gYEhUTUxUZW1wbGF0ZUVsZW1lbnRgIG9yIGEgc3RyaW5nIHRoYXQgd2lsbCBiZQogICAgICAgKiBhdXRvbWF0aWNhbGx5IHBhcnNlZCBpbnRvIGEgdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhhdCB3aGVuIHN1YmNsYXNzaW5nLCBpZiB0aGUgc3VwZXIgY2xhc3Mgb3ZlcnJvZGUgdGhlIGRlZmF1bHQKICAgICAgICogaW1wbGVtZW50YXRpb24gYW5kIHRoZSBzdWJjbGFzcyB3b3VsZCBsaWtlIHRvIHByb3ZpZGUgYW4gYWx0ZXJuYXRlCiAgICAgICAqIHRlbXBsYXRlIHZpYSBhIGBkb20tbW9kdWxlYCwgaXQgc2hvdWxkIG92ZXJyaWRlIHRoaXMgZ2V0dGVyIGFuZAogICAgICAgKiByZXR1cm4gYFBvbHltZXIuRG9tTW9kdWxlLmltcG9ydCh0aGlzLmlzLCAndGVtcGxhdGUnKWAuCiAgICAgICAqCiAgICAgICAqIElmIGEgc3ViY2xhc3Mgd291bGQgbGlrZSB0byBtb2RpZnkgdGhlIHN1cGVyIGNsYXNzIHRlbXBsYXRlLCBpdCBzaG91bGQKICAgICAgICogY2xvbmUgaXQgcmF0aGVyIHRoYW4gbW9kaWZ5IGl0IGluIHBsYWNlLiAgSWYgdGhlIGdldHRlciBkb2VzIGV4cGVuc2l2ZQogICAgICAgKiB3b3JrIHN1Y2ggYXMgY2xvbmluZy9tb2RpZnlpbmcgYSB0ZW1wbGF0ZSwgaXQgc2hvdWxkIG1lbW9pemUgdGhlCiAgICAgICAqIHRlbXBsYXRlIGZvciBtYXhpbXVtIHBlcmZvcm1hbmNlOgogICAgICAgKgogICAgICAgKiAgIGxldCBtZW1vaXplZFRlbXBsYXRlOwogICAgICAgKiAgIGNsYXNzIE15U3ViQ2xhc3MgZXh0ZW5kcyBNeVN1cGVyQ2xhc3MgewogICAgICAgKiAgICAgc3RhdGljIGdldCB0ZW1wbGF0ZSgpIHsKICAgICAgICogICAgICAgaWYgKCFtZW1vaXplZFRlbXBsYXRlKSB7CiAgICAgICAqICAgICAgICAgbWVtb2l6ZWRUZW1wbGF0ZSA9IE15U3VwZXJDbGFzcy50ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAqICAgICAgICAgbGV0IHN1YkNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICogICAgICAgICBzdWJDb250ZW50LnRleHRDb250ZW50ID0gJ1RoaXMgY2FtZSBmcm9tIE15U3ViQ2xhc3MnOwogICAgICAgKiAgICAgICAgIG1lbW9pemVkVGVtcGxhdGUuY29udGVudC5hcHBlbmRDaGlsZChzdWJDb250ZW50KTsKICAgICAgICogICAgICAgfQogICAgICAgKiAgICAgICByZXR1cm4gbWVtb2l6ZWRUZW1wbGF0ZTsKICAgICAgICogICAgIH0KICAgICAgICogICB9CiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge0hUTUxUZW1wbGF0ZUVsZW1lbnR8c3RyaW5nfSBUZW1wbGF0ZSB0byBiZSBzdGFtcGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgewogICAgICAgIC8vIEV4cGxhbmF0aW9uIG9mIHRlbXBsYXRlLXJlbGF0ZWQgcHJvcGVydGllczoKICAgICAgICAvLyAtIGNvbnN0cnVjdG9yLnRlbXBsYXRlICh0aGlzIGdldHRlcik6IHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGNsYXNzLgogICAgICAgIC8vICAgICBUaGlzIGNhbiBjb21lIGZyb20gdGhlIHByb3RvdHlwZSAoZm9yIGxlZ2FjeSBlbGVtZW50cyksIGZyb20gYQogICAgICAgIC8vICAgICBkb20tbW9kdWxlLCBvciBmcm9tIHRoZSBzdXBlciBjbGFzcydzIHRlbXBsYXRlIChvciBjYW4gYmUgb3ZlcnJpZGRlbgogICAgICAgIC8vICAgICBhbHRvZ2V0aGVyIGJ5IHRoZSB1c2VyKQogICAgICAgIC8vIC0gY29uc3RydWN0b3IuX3RlbXBsYXRlOiBtZW1vaXplZCB2ZXJzaW9uIG9mIGNvbnN0cnVjdG9yLnRlbXBsYXRlCiAgICAgICAgLy8gLSBwcm90b3R5cGUuX3RlbXBsYXRlOiB3b3JraW5nIHRlbXBsYXRlIGZvciB0aGUgZWxlbWVudCwgd2hpY2ggd2lsbCBiZQogICAgICAgIC8vICAgICBwYXJzZWQgYW5kIG1vZGlmaWVkIGluIHBsYWNlLiBJdCBpcyBhIGNsb25lZCB2ZXJzaW9uIG9mCiAgICAgICAgLy8gICAgIGNvbnN0cnVjdG9yLnRlbXBsYXRlLCBzYXZlZCBpbiBfZmluYWxpemVDbGFzcygpLiBOb3RlIHRoYXQgYmVmb3JlCiAgICAgICAgLy8gICAgIHRoaXMgZ2V0dGVyIGlzIGNhbGxlZCwgZm9yIGxlZ2FjeSBlbGVtZW50cyB0aGlzIGNvdWxkIGJlIGZyb20gYQogICAgICAgIC8vICAgICBfdGVtcGxhdGUgZmllbGQgb24gdGhlIGluZm8gb2JqZWN0IHBhc3NlZCB0byBQb2x5bWVyKCksIGEgYmVoYXZpb3IsCiAgICAgICAgLy8gICAgIG9yIHNldCBpbiByZWdpc3RlcmVkKCk7IG9uY2UgdGhlIHN0YXRpYyBnZXR0ZXIgcnVucywgYSBjbG9uZSBvZiBpdAogICAgICAgIC8vICAgICB3aWxsIG92ZXJ3cml0ZSBpdCBvbiB0aGUgcHJvdG90eXBlIGFzIHRoZSB3b3JraW5nIHRlbXBsYXRlLgogICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfdGVtcGxhdGUnLCB0aGlzKSkpIHsKICAgICAgICAgIHRoaXMuX3RlbXBsYXRlID0KICAgICAgICAgICAgLy8gSWYgdXNlciBoYXMgcHV0IHRlbXBsYXRlIG9uIHByb3RvdHlwZSAoZS5nLiBpbiBsZWdhY3kgdmlhIHJlZ2lzdGVyZWQKICAgICAgICAgICAgLy8gY2FsbGJhY2sgb3IgaW5mbyBvYmplY3QpLCBwcmVmZXIgdGhhdCBmaXJzdAogICAgICAgICAgICB0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfdGVtcGxhdGUnLCB0aGlzLnByb3RvdHlwZSkpID8KICAgICAgICAgICAgdGhpcy5wcm90b3R5cGUuX3RlbXBsYXRlIDoKICAgICAgICAgICAgLy8gTG9vayBpbiBkb20tbW9kdWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGVsZW1lbnQncyBpcwogICAgICAgICAgICAoZ2V0VGVtcGxhdGVGcm9tRG9tTW9kdWxlKC8qKiBAdHlwZSB7UG9seW1lckVsZW1lbnRDb25zdHJ1Y3Rvcn0qLyAodGhpcykuaXMpIHx8CiAgICAgICAgICAgIC8vIE5leHQgbG9vayBmb3Igc3VwZXJjbGFzcyB0ZW1wbGF0ZSAoY2FsbCB0aGUgc3VwZXIgaW1wbCB0aGlzCiAgICAgICAgICAgIC8vIHdheSBzbyB0aGF0IGB0aGlzYCBwb2ludHMgdG8gdGhlIHN1cGVyY2xhc3MpCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9Ki8gKHRoaXMpLnByb3RvdHlwZSkuY29uc3RydWN0b3IudGVtcGxhdGUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTZXQgdGhlIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fHN0cmluZ30gdmFsdWUgVGVtcGxhdGUgdG8gc2V0LgogICAgICAgKi8KICAgICAgc3RhdGljIHNldCB0ZW1wbGF0ZSh2YWx1ZSkgewogICAgICAgIHRoaXMuX3RlbXBsYXRlID0gdmFsdWU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXRoIG1hdGNoaW5nIHRoZSB1cmwgZnJvbSB3aGljaCB0aGUgZWxlbWVudCB3YXMgaW1wb3J0ZWQuCiAgICAgICAqCiAgICAgICAqIFRoaXMgcGF0aCBpcyB1c2VkIHRvIHJlc29sdmUgdXJsJ3MgaW4gdGVtcGxhdGUgc3R5bGUgY3NzVGV4dC4KICAgICAgICogVGhlIGBpbXBvcnRQYXRoYCBwcm9wZXJ0eSBpcyBhbHNvIHNldCBvbiBlbGVtZW50IGluc3RhbmNlcyBhbmQgY2FuIGJlCiAgICAgICAqIHVzZWQgdG8gY3JlYXRlIGJpbmRpbmdzIHJlbGF0aXZlIHRvIHRoZSBpbXBvcnQgcGF0aC4KICAgICAgICoKICAgICAgICogRm9yIGVsZW1lbnRzIGRlZmluZWQgaW4gRVMgbW9kdWxlcywgdXNlcnMgc2hvdWxkIGltcGxlbWVudAogICAgICAgKiBgc3RhdGljIGdldCBpbXBvcnRNZXRhKCkgeyByZXR1cm4gaW1wb3J0Lm1ldGE7IH1gLCBhbmQgdGhlIGRlZmF1bHQKICAgICAgICogaW1wbGVtZW50YXRpb24gb2YgYGltcG9ydFBhdGhgIHdpbGwgIHJldHVybiBgaW1wb3J0Lm1ldGEudXJsYCdzIHBhdGguCiAgICAgICAqIEZvciBlbGVtZW50cyBkZWZpbmVkIGluIEhUTUwgaW1wb3J0cywgdGhpcyBnZXR0ZXIgd2lsbCByZXR1cm4gdGhlIHBhdGgKICAgICAgICogdG8gdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgYSBgZG9tLW1vZHVsZWAgZWxlbWVudCBtYXRjaGluZyB0aGlzCiAgICAgICAqIGVsZW1lbnQncyBzdGF0aWMgYGlzYCBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogTm90ZSwgdGhpcyBwYXRoIHNob3VsZCBjb250YWluIGEgdHJhaWxpbmcgYC9gLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbXBvcnQgcGF0aCBmb3IgdGhpcyBlbGVtZW50IGNsYXNzCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9CiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IGltcG9ydFBhdGgoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ19pbXBvcnRQYXRoJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBtZXRhID0gdGhpcy5pbXBvcnRNZXRhOwogICAgICAgICAgaWYgKG1ldGEpIHsKICAgICAgICAgICAgdGhpcy5faW1wb3J0UGF0aCA9IFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybChtZXRhLnVybCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zdCBtb2R1bGUgPSBQb2x5bWVyLkRvbU1vZHVsZSAmJiBQb2x5bWVyLkRvbU1vZHVsZS5pbXBvcnQoLyoqIEB0eXBlIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSAqLyAodGhpcykuaXMpOwogICAgICAgICAgICB0aGlzLl9pbXBvcnRQYXRoID0gKG1vZHVsZSAmJiBtb2R1bGUuYXNzZXRwYXRoKSB8fAogICAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9Ki8gKHRoaXMpLnByb3RvdHlwZSkuY29uc3RydWN0b3IuaW1wb3J0UGF0aDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX2ltcG9ydFBhdGg7CiAgICAgIH0KCiAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHN1cGVyKCk7CiAgICAgICAgLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLwogICAgICAgIHRoaXMuX3RlbXBsYXRlOwogICAgICAgIC8qKiBAdHlwZSB7c3RyaW5nfSAqLwogICAgICAgIHRoaXMuX2ltcG9ydFBhdGg7CiAgICAgICAgLyoqIEB0eXBlIHtzdHJpbmd9ICovCiAgICAgICAgdGhpcy5yb290UGF0aDsKICAgICAgICAvKiogQHR5cGUge3N0cmluZ30gKi8KICAgICAgICB0aGlzLmltcG9ydFBhdGg7CiAgICAgICAgLyoqIEB0eXBlIHtTdGFtcGVkVGVtcGxhdGUgfCBIVE1MRWxlbWVudCB8IFNoYWRvd1Jvb3R9ICovCiAgICAgICAgdGhpcy5yb290OwogICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdDxzdHJpbmcsICFFbGVtZW50Pn0gKi8KICAgICAgICB0aGlzLiQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgIHRvIGVuc3VyZSBjbGFzcwogICAgICAgKiBtZXRhcHJvZ3JhbW1pbmcgcmVsYXRlZCB0byBwcm9wZXJ0eSBhY2Nlc3NvcnMgYW5kIGVmZmVjdHMgaGFzCiAgICAgICAqIGNvbXBsZXRlZCAoY2FsbHMgYGZpbmFsaXplYCkuCiAgICAgICAqCiAgICAgICAqIEl0IGFsc28gaW5pdGlhbGl6ZXMgYW55IHByb3BlcnR5IGRlZmF1bHRzIHByb3ZpZGVkIHZpYSBgdmFsdWVgIGluCiAgICAgICAqIGBwcm9wZXJ0aWVzYCBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIHRoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKTsKICAgICAgICAvLyBub3RlOiBmaW5hbGl6ZSB0ZW1wbGF0ZSB3aGVuIHdlIGhhdmUgYWNjZXNzIHRvIGBsb2NhbE5hbWVgIHRvCiAgICAgICAgLy8gYXZvaWQgZGVwZW5kZW5jZSBvbiBgaXNgIGZvciBwb2x5ZmlsbGluZyBzdHlsaW5nLgogICAgICAgIHRoaXMuY29uc3RydWN0b3IuX2ZpbmFsaXplVGVtcGxhdGUoLyoqIEB0eXBlIHshSFRNTEVsZW1lbnR9ICovKHRoaXMpLmxvY2FsTmFtZSk7CiAgICAgICAgc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgICAgLy8gc2V0IHBhdGggZGVmYXVsdHMKICAgICAgICB0aGlzLnJvb3RQYXRoID0gUG9seW1lci5yb290UGF0aDsKICAgICAgICB0aGlzLmltcG9ydFBhdGggPSB0aGlzLmNvbnN0cnVjdG9yLmltcG9ydFBhdGg7CiAgICAgICAgLy8gYXBwbHkgcHJvcGVydHkgZGVmYXVsdHMuLi4KICAgICAgICBsZXQgcCQgPSBwcm9wZXJ0eURlZmF1bHRzKHRoaXMuY29uc3RydWN0b3IpOwogICAgICAgIGlmICghcCQpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZm9yIChsZXQgcCBpbiBwJCkgewogICAgICAgICAgbGV0IGluZm8gPSBwJFtwXTsKICAgICAgICAgIC8vIERvbid0IHNldCBkZWZhdWx0IHZhbHVlIGlmIHRoZXJlIGlzIGFscmVhZHkgYW4gb3duIHByb3BlcnR5LCB3aGljaAogICAgICAgICAgLy8gaGFwcGVucyB3aGVuIGEgYHByb3BlcnRpZXNgIHByb3BlcnR5IHdpdGggZGVmYXVsdCBidXQgbm8gZWZmZWN0cyBoYWQKICAgICAgICAgIC8vIGEgcHJvcGVydHkgc2V0IChlLmcuIGJvdW5kKSBieSBpdHMgaG9zdCBiZWZvcmUgdXBncmFkZQogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KHApKSB7CiAgICAgICAgICAgIGxldCB2YWx1ZSA9IHR5cGVvZiBpbmZvLnZhbHVlID09ICdmdW5jdGlvbicgPwogICAgICAgICAgICAgIGluZm8udmFsdWUuY2FsbCh0aGlzKSA6CiAgICAgICAgICAgICAgaW5mby52YWx1ZTsKICAgICAgICAgICAgLy8gU2V0IHZpYSBgX3NldFByb3BlcnR5YCBpZiB0aGVyZSBpcyBhbiBhY2Nlc3NvciwgdG8gZW5hYmxlCiAgICAgICAgICAgIC8vIGluaXRpYWxpemluZyByZWFkT25seSBwcm9wZXJ0eSBkZWZhdWx0cwogICAgICAgICAgICBpZiAodGhpcy5faGFzQWNjZXNzb3IocCkpIHsKICAgICAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkocCwgdmFsdWUsIHRydWUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRoaXNbcF0gPSB2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEdhdGhlciBzdHlsZSB0ZXh0IGZvciBhIHN0eWxlIGVsZW1lbnQgaW4gdGhlIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY3NzVGV4dCBUZXh0IGNvbnRhaW5pbmcgc3R5bGluZyB0byBwcm9jZXNzCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlYmFzZSBDU1MgcGF0aHMgYWdhaW5zdAogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBwcm9jZXNzZWQgQ1NTIHRleHQKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIF9wcm9jZXNzU3R5bGVUZXh0KGNzc1RleHQsIGJhc2VVUkkpIHsKICAgICAgICByZXR1cm4gUG9seW1lci5SZXNvbHZlVXJsLnJlc29sdmVDc3MoY3NzVGV4dCwgYmFzZVVSSSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAqIENvbmZpZ3VyZXMgYW4gZWxlbWVudCBgcHJvdG9gIHRvIGZ1bmN0aW9uIHdpdGggYSBnaXZlbiBgdGVtcGxhdGVgLgogICAgICAqIFRoZSBlbGVtZW50IG5hbWUgYGlzYCBhbmQgZXh0ZW5kcyBgZXh0YCBtdXN0IGJlIHNwZWNpZmllZCBmb3IgU2hhZHlDU1MKICAgICAgKiBzdHlsZSBzY29waW5nLgogICAgICAqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IGlzIFRhZyBuYW1lIChvciB0eXBlIGV4dGVuc2lvbiBuYW1lKSBmb3IgdGhpcyBlbGVtZW50CiAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICovCiAgICAgIHN0YXRpYyBfZmluYWxpemVUZW1wbGF0ZShpcykgewogICAgICAgIC8qKiBAY29uc3Qge0hUTUxUZW1wbGF0ZUVsZW1lbnR9ICovCiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU7CiAgICAgICAgaWYgKHRlbXBsYXRlICYmICF0ZW1wbGF0ZS5fX3BvbHltZXJGaW5hbGl6ZWQpIHsKICAgICAgICAgIHRlbXBsYXRlLl9fcG9seW1lckZpbmFsaXplZCA9IHRydWU7CiAgICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gdGhpcy5pbXBvcnRQYXRoOwogICAgICAgICAgY29uc3QgYmFzZVVSSSA9IGltcG9ydFBhdGggPyBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybChpbXBvcnRQYXRoKSA6ICcnOwogICAgICAgICAgLy8gZS5nLiBzdXBwb3J0IGBpbmNsdWRlPSJtb2R1bGUtbmFtZSJgLCBhbmQgU2hhZHlDU1MKICAgICAgICAgIHByb2Nlc3NFbGVtZW50U3R5bGVzKHRoaXMsIHRlbXBsYXRlLCBpcywgYmFzZVVSSSk7CiAgICAgICAgICB0aGlzLnByb3RvdHlwZS5fYmluZFRlbXBsYXRlKHRlbXBsYXRlKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQcm92aWRlcyBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0YW5kYXJkIEN1c3RvbSBFbGVtZW50cwogICAgICAgKiBgY29ubmVjdGVkQ2FsbGJhY2tgLgogICAgICAgKgogICAgICAgKiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBlbmFibGVzIHRoZSBwcm9wZXJ0eSBlZmZlY3RzIHN5c3RlbSBhbmQKICAgICAgICogZmx1c2hlcyBhbnkgcGVuZGluZyBwcm9wZXJ0aWVzLCBhbmQgdXBkYXRlcyBzaGltbWVkIENTUyBwcm9wZXJ0aWVzCiAgICAgICAqIHdoZW4gdXNpbmcgdGhlIFNoYWR5Q1NTIHNjb3BpbmcvY3VzdG9tIHByb3BlcnRpZXMgcG9seWZpbGwuCiAgICAgICAqCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXMsIGludmFsaWRDYXN0c30gU3VwZXIgbWF5IG9yIG1heSBub3QgaW1wbGVtZW50IHRoZSBjYWxsYmFjawogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUyAmJiB0aGlzLl90ZW1wbGF0ZSkgewogICAgICAgICAgd2luZG93LlNoYWR5Q1NTLnN0eWxlRWxlbWVudCgvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcykpOwogICAgICAgIH0KICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU3RhbXBzIHRoZSBlbGVtZW50IHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICovCiAgICAgIHJlYWR5KCkgewogICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZSkgewogICAgICAgICAgdGhpcy5yb290ID0gdGhpcy5fc3RhbXBUZW1wbGF0ZSh0aGlzLl90ZW1wbGF0ZSk7CiAgICAgICAgICB0aGlzLiQgPSB0aGlzLnJvb3QuJDsKICAgICAgICB9CiAgICAgICAgc3VwZXIucmVhZHkoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgYFByb3BlcnR5RWZmZWN0c2AncyBgX3JlYWR5Q2xpZW50c2AgY2FsbC4gQXR0YWNoZXMKICAgICAgICogZWxlbWVudCBkb20gYnkgY2FsbGluZyBgX2F0dGFjaERvbWAgd2l0aCB0aGUgZG9tIHN0YW1wZWQgZnJvbSB0aGUKICAgICAgICogZWxlbWVudCdzIHRlbXBsYXRlIHZpYSBgX3N0YW1wVGVtcGxhdGVgLiBOb3RlIHRoYXQgdGhpcyBhbGxvd3MKICAgICAgICogY2xpZW50IGRvbSB0byBiZSBhdHRhY2hlZCB0byB0aGUgZWxlbWVudCBwcmlvciB0byBhbnkgb2JzZXJ2ZXJzCiAgICAgICAqIHJ1bm5pbmcuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgX3JlYWR5Q2xpZW50cygpIHsKICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGUpIHsKICAgICAgICAgIHRoaXMucm9vdCA9IHRoaXMuX2F0dGFjaERvbSgvKiogQHR5cGUge1N0YW1wZWRUZW1wbGF0ZX0gKi8odGhpcy5yb290KSk7CiAgICAgICAgfQogICAgICAgIC8vIFRoZSBzdXBlci5fcmVhZHlDbGllbnRzIGhlcmUgc2V0cyB0aGUgY2xpZW50cyBpbml0aWFsaXplZCBmbGFnLgogICAgICAgIC8vIFdlIG11c3Qgd2FpdCB0byBkbyB0aGlzIHVudGlsIGFmdGVyIGNsaWVudCBkb20gaXMgY3JlYXRlZC9hdHRhY2hlZAogICAgICAgIC8vIHNvIHRoYXQgdGhpcyBmbGFnIGNhbiBiZSBjaGVja2VkIHRvIHByZXZlbnQgbm90aWZpY2F0aW9ucyBmaXJlZAogICAgICAgIC8vIGR1cmluZyB0aGlzIHByb2Nlc3MgZnJvbSBiZWluZyBoYW5kbGVkIGJlZm9yZSBjbGllbnRzIGFyZSByZWFkeS4KICAgICAgICBzdXBlci5fcmVhZHlDbGllbnRzKCk7CiAgICAgIH0KCgogICAgICAvKioKICAgICAgICogQXR0YWNoZXMgYW4gZWxlbWVudCdzIHN0YW1wZWQgZG9tIHRvIGl0c2VsZi4gQnkgZGVmYXVsdCwKICAgICAgICogdGhpcyBtZXRob2QgY3JlYXRlcyBhIGBzaGFkb3dSb290YCBhbmQgYWRkcyB0aGUgZG9tIHRvIGl0LgogICAgICAgKiBIb3dldmVyLCB0aGlzIG1ldGhvZCBtYXkgYmUgb3ZlcnJpZGRlbiB0byBhbGxvdyBhbiBlbGVtZW50CiAgICAgICAqIHRvIHB1dCBpdHMgZG9tIGluIGFub3RoZXIgbG9jYXRpb24uCiAgICAgICAqCiAgICAgICAqIEB0aHJvd3Mge0Vycm9yfQogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdSZXR1cm59CiAgICAgICAqIEBwYXJhbSB7U3RhbXBlZFRlbXBsYXRlfSBkb20gdG8gYXR0YWNoIHRvIHRoZSBlbGVtZW50LgogICAgICAgKiBAcmV0dXJuIHtTaGFkb3dSb290fSBub2RlIHRvIHdoaWNoIHRoZSBkb20gaGFzIGJlZW4gYXR0YWNoZWQuCiAgICAgICAqLwogICAgICBfYXR0YWNoRG9tKGRvbSkgewogICAgICAgIGlmICh0aGlzLmF0dGFjaFNoYWRvdykgewogICAgICAgICAgaWYgKGRvbSkgewogICAgICAgICAgICBpZiAoIXRoaXMuc2hhZG93Um9vdCkgewogICAgICAgICAgICAgIHRoaXMuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9tKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NoYWRvd0RPTSBub3QgYXZhaWxhYmxlLiAnICsKICAgICAgICAgICAgLy8gVE9ETyhzb3J2ZWxsKTogbW92ZSB0byBjb21waWxlLXRpbWUgY29uZGl0aW9uYWwgd2hlbiBzdXBwb3J0ZWQKICAgICAgICAgICdQb2x5bWVyLkVsZW1lbnQgY2FuIGNyZWF0ZSBkb20gYXMgY2hpbGRyZW4gaW5zdGVhZCBvZiBpbiAnICsKICAgICAgICAgICdTaGFkb3dET00gYnkgc2V0dGluZyBgdGhpcy5yb290ID0gdGhpcztcYCBiZWZvcmUgXGByZWFkeVxgLicpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFdoZW4gdXNpbmcgdGhlIFNoYWR5Q1NTIHNjb3BpbmcgYW5kIGN1c3RvbSBwcm9wZXJ0eSBzaGltLCBjYXVzZXMgYWxsCiAgICAgICAqIHNoaW1tZWQgc3R5bGVzIGluIHRoaXMgZWxlbWVudCAoYW5kIGl0cyBzdWJ0cmVlKSB0byBiZSB1cGRhdGVkCiAgICAgICAqIGJhc2VkIG9uIGN1cnJlbnQgY3VzdG9tIHByb3BlcnR5IHZhbHVlcy4KICAgICAgICoKICAgICAgICogVGhlIG9wdGlvbmFsIHBhcmFtZXRlciBvdmVycmlkZXMgaW5saW5lIGN1c3RvbSBwcm9wZXJ0eSBzdHlsZXMgd2l0aCBhbgogICAgICAgKiBvYmplY3Qgb2YgcHJvcGVydGllcyB3aGVyZSB0aGUga2V5cyBhcmUgQ1NTIHByb3BlcnRpZXMsIGFuZCB0aGUgdmFsdWVzCiAgICAgICAqIGFyZSBzdHJpbmdzLgogICAgICAgKgogICAgICAgKiBFeGFtcGxlOiBgdGhpcy51cGRhdGVTdHlsZXMoeyctLWNvbG9yJzogJ2JsdWUnfSlgCiAgICAgICAqCiAgICAgICAqIFRoZXNlIHByb3BlcnRpZXMgYXJlIHJldGFpbmVkIHVubGVzcyBhIHZhbHVlIG9mIGBudWxsYCBpcyBzZXQuCiAgICAgICAqCiAgICAgICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gZG9lcyBub3Qgc3VwcG9ydCB1cGRhdGluZyBDU1MgbWl4aW5zLgogICAgICAgKiBZb3UgY2FuIG5vdCBkeW5hbWljYWxseSBjaGFuZ2UgdGhlIHZhbHVlIG9mIGFuIGBAYXBwbHlgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHByb3BlcnRpZXMgQmFnIG9mIGN1c3RvbSBwcm9wZXJ0eSBrZXkvdmFsdWVzIHRvCiAgICAgICAqICAgYXBwbHkgdG8gdGhpcyBlbGVtZW50LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30KICAgICAgICovCiAgICAgIHVwZGF0ZVN0eWxlcyhwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUykgewogICAgICAgICAgd2luZG93LlNoYWR5Q1NTLnN0eWxlU3VidHJlZSgvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcyksIHByb3BlcnRpZXMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJld3JpdGVzIGEgZ2l2ZW4gVVJMIHJlbGF0aXZlIHRvIGEgYmFzZSBVUkwuIFRoZSBiYXNlIFVSTCBkZWZhdWx0cyB0bwogICAgICAgKiB0aGUgb3JpZ2luYWwgbG9jYXRpb24gb2YgdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIGBkb20tbW9kdWxlYCBmb3IKICAgICAgICogdGhpcyBlbGVtZW50LiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiB0aGUgc2FtZSBVUkwgYmVmb3JlIGFuZCBhZnRlcgogICAgICAgKiBidW5kbGluZy4KICAgICAgICoKICAgICAgICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgbm8gcmVzb2x1dGlvbiBmb3IgVVJMcyB0aGF0IHN0YXJ0CiAgICAgICAqIHdpdGggYC9gIChhYnNvbHV0ZSBVUkxzKSBvciBgI2AgKGhhc2ggaWRlbnRpZmllcnMpLiAgRm9yIGdlbmVyYWwgcHVycG9zZQogICAgICAgKiBVUkwgcmVzb2x1dGlvbiwgdXNlIGB3aW5kb3cuVVJMYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgdG8gcmVzb2x2ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmc9fSBiYXNlIE9wdGlvbmFsIGJhc2UgVVJMIHRvIHJlc29sdmUgYWdhaW5zdCwgZGVmYXVsdHMKICAgICAgICogdG8gdGhlIGVsZW1lbnQncyBgaW1wb3J0UGF0aGAKICAgICAgICogQHJldHVybiB7c3RyaW5nfSBSZXdyaXR0ZW4gVVJMIHJlbGF0aXZlIHRvIGJhc2UKICAgICAgICovCiAgICAgIHJlc29sdmVVcmwodXJsLCBiYXNlKSB7CiAgICAgICAgaWYgKCFiYXNlICYmIHRoaXMuaW1wb3J0UGF0aCkgewogICAgICAgICAgYmFzZSA9IFBvbHltZXIuUmVzb2x2ZVVybC5yZXNvbHZlVXJsKHRoaXMuaW1wb3J0UGF0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybCh1cmwsIGJhc2UpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQcm9wZXJ0eUFjY2Vzc29yc2AgdG8gYWRkIG1hcCBvZiBkeW5hbWljIGZ1bmN0aW9ucyBvbgogICAgICAgKiB0ZW1wbGF0ZSBpbmZvLCBmb3IgY29uc3VtcHRpb24gYnkgYFByb3BlcnR5RWZmZWN0c2AgdGVtcGxhdGUgYmluZGluZwogICAgICAgKiBjb2RlLiBUaGlzIG1hcCBkZXRlcm1pbmVzIHdoaWNoIG1ldGhvZCB0ZW1wbGF0ZXMgc2hvdWxkIGhhdmUgYWNjZXNzb3JzCiAgICAgICAqIGNyZWF0ZWQgZm9yIHRoZW0uCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHsKICAgICAgICB0ZW1wbGF0ZUluZm8uZHluYW1pY0ZucyA9IHRlbXBsYXRlSW5mby5keW5hbWljRm5zIHx8IHRoaXMuX3Byb3BlcnRpZXM7CiAgICAgICAgcmV0dXJuIHN1cGVyLl9wYXJzZVRlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbyk7CiAgICAgIH0KCiAgICB9CgogICAgcmV0dXJuIFBvbHltZXJFbGVtZW50OwogIH0pOwoKICAvKioKICAgKiBXaGVuIHVzaW5nIHRoZSBTaGFkeUNTUyBzY29waW5nIGFuZCBjdXN0b20gcHJvcGVydHkgc2hpbSwgY2F1c2VzIGFsbAogICAqIHNoaW1tZWQgYHN0eWxlc2AgKHZpYSBgY3VzdG9tLXN0eWxlYCkgaW4gdGhlIGRvY3VtZW50IChhbmQgaXRzIHN1YnRyZWUpCiAgICogdG8gYmUgdXBkYXRlZCBiYXNlZCBvbiBjdXJyZW50IGN1c3RvbSBwcm9wZXJ0eSB2YWx1ZXMuCiAgICoKICAgKiBUaGUgb3B0aW9uYWwgcGFyYW1ldGVyIG92ZXJyaWRlcyBpbmxpbmUgY3VzdG9tIHByb3BlcnR5IHN0eWxlcyB3aXRoIGFuCiAgICogb2JqZWN0IG9mIHByb3BlcnRpZXMgd2hlcmUgdGhlIGtleXMgYXJlIENTUyBwcm9wZXJ0aWVzLCBhbmQgdGhlIHZhbHVlcwogICAqIGFyZSBzdHJpbmdzLgogICAqCiAgICogRXhhbXBsZTogYFBvbHltZXIudXBkYXRlU3R5bGVzKHsnLS1jb2xvcic6ICdibHVlJ30pYAogICAqCiAgICogVGhlc2UgcHJvcGVydGllcyBhcmUgcmV0YWluZWQgdW5sZXNzIGEgdmFsdWUgb2YgYG51bGxgIGlzIHNldC4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0PX0gcHJvcHMgQmFnIG9mIGN1c3RvbSBwcm9wZXJ0eSBrZXkvdmFsdWVzIHRvCiAgICogICBhcHBseSB0byB0aGUgZG9jdW1lbnQuCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnVwZGF0ZVN0eWxlcyA9IGZ1bmN0aW9uKHByb3BzKSB7CiAgICBpZiAod2luZG93LlNoYWR5Q1NTKSB7CiAgICAgIHdpbmRvdy5TaGFkeUNTUy5zdHlsZURvY3VtZW50KHByb3BzKTsKICAgIH0KICB9OwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBAc3VtbWFyeSBDb2xsYXBzZSBtdWx0aXBsZSBjYWxsYmFja3MgaW50byBvbmUgaW52b2NhdGlvbiBhZnRlciBhIHRpbWVyLgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgY2xhc3MgRGVib3VuY2VyIHsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICB0aGlzLl9hc3luY01vZHVsZSA9IG51bGw7CiAgICAgIHRoaXMuX2NhbGxiYWNrID0gbnVsbDsKICAgICAgdGhpcy5fdGltZXIgPSBudWxsOwogICAgfQogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBzY2hlZHVsZXI7IHRoYXQgaXMsIGEgbW9kdWxlIHdpdGggdGhlIEFzeW5jIGludGVyZmFjZSwKICAgICAqIGEgY2FsbGJhY2sgYW5kIG9wdGlvbmFsIGFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIHJ1biBmdW5jdGlvbgogICAgICogZnJvbSB0aGUgYXN5bmMgbW9kdWxlLgogICAgICoKICAgICAqIEBwYXJhbSB7IUFzeW5jSW50ZXJmYWNlfSBhc3luY01vZHVsZSBPYmplY3Qgd2l0aCBBc3luYyBpbnRlcmZhY2UuCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIHJ1bi4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHNldENvbmZpZyhhc3luY01vZHVsZSwgY2FsbGJhY2spIHsKICAgICAgdGhpcy5fYXN5bmNNb2R1bGUgPSBhc3luY01vZHVsZTsKICAgICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFjazsKICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLl9hc3luY01vZHVsZS5ydW4oKCkgPT4gewogICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDsKICAgICAgICB0aGlzLl9jYWxsYmFjaygpOwogICAgICB9KTsKICAgIH0KICAgIC8qKgogICAgICogQ2FuY2VscyBhbiBhY3RpdmUgZGVib3VuY2VyIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGl0c2VsZi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBjYW5jZWwoKSB7CiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHsKICAgICAgICB0aGlzLl9hc3luY01vZHVsZS5jYW5jZWwodGhpcy5fdGltZXIpOwogICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDsKICAgICAgfQogICAgfQogICAgLyoqCiAgICAgKiBGbHVzaGVzIGFuIGFjdGl2ZSBkZWJvdW5jZXIgYW5kIHJldHVybnMgYSByZWZlcmVuY2UgdG8gaXRzZWxmLgogICAgICoKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGZsdXNoKCkgewogICAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7CiAgICAgICAgdGhpcy5jYW5jZWwoKTsKICAgICAgICB0aGlzLl9jYWxsYmFjaygpOwogICAgICB9CiAgICB9CiAgICAvKioKICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZGVib3VuY2VyIGlzIGFjdGl2ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFjdGl2ZS4KICAgICAqLwogICAgaXNBY3RpdmUoKSB7CiAgICAgIHJldHVybiB0aGlzLl90aW1lciAhPSBudWxsOwogICAgfQogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgZGVib3VuY2VyIGlmIG5vIGRlYm91bmNlciBpcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIKICAgICAqIG9yIGl0IGNhbmNlbHMgYW4gYWN0aXZlIGRlYm91bmNlciBvdGhlcndpc2UuIFRoZSBmb2xsb3dpbmcKICAgICAqIGV4YW1wbGUgc2hvd3MgaG93IGEgZGVib3VuY2VyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aGluIGEKICAgICAqIG1pY3JvdGFzayBhbmQgImRlYm91bmNlZCIgc3VjaCB0aGF0IHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiBpcwogICAgICogY2FsbGVkIG9uY2UuIEFkZCB0aGlzIG1ldGhvZCB0byBhIGN1c3RvbSBlbGVtZW50OgogICAgICoKICAgICAqIF9kZWJvdW5jZVdvcmsoKSB7CiAgICAgKiAgIHRoaXMuX2RlYm91bmNlSm9iID0gUG9seW1lci5EZWJvdW5jZXIuZGVib3VuY2UodGhpcy5fZGVib3VuY2VKb2IsCiAgICAgKiAgICAgICBQb2x5bWVyLkFzeW5jLm1pY3JvVGFzaywgKCkgPT4gewogICAgICogICAgIHRoaXMuX2RvV29yaygpOwogICAgICogICB9KTsKICAgICAqIH0KICAgICAqCiAgICAgKiBJZiB0aGUgYF9kZWJvdW5jZVdvcmtgIG1ldGhvZCBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aGluIHRoZSBzYW1lCiAgICAgKiBtaWNyb3Rhc2ssIHRoZSBgX2RvV29ya2AgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBvbmNlIGF0IHRoZSBuZXh0CiAgICAgKiBtaWNyb3Rhc2sgY2hlY2twb2ludC4KICAgICAqCiAgICAgKiBOb3RlOiBJbiB0ZXN0aW5nIGl0IGlzIG9mdGVuIGNvbnZlbmllbnQgdG8gYXZvaWQgYXN5bmNocm9ueS4gVG8gYWNjb21wbGlzaAogICAgICogdGhpcyB3aXRoIGEgZGVib3VuY2VyLCB5b3UgY2FuIHVzZSBgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyYCBhbmQKICAgICAqIGBQb2x5bWVyLmZsdXNoYC4gRm9yIGV4YW1wbGUsIGV4dGVuZCB0aGUgYWJvdmUgZXhhbXBsZSBieSBhZGRpbmcKICAgICAqIGBQb2x5bWVyLmVucXVldWVEZWJvdW5jZXIodGhpcy5fZGVib3VuY2VKb2IpYCBhdCB0aGUgZW5kIG9mIHRoZQogICAgICogYF9kZWJvdW5jZVdvcmtgIG1ldGhvZC4gVGhlbiBpbiBhIHRlc3QsIGNhbGwgYFBvbHltZXIuZmx1c2hgIHRvIGVuc3VyZQogICAgICogdGhlIGRlYm91bmNlciBoYXMgY29tcGxldGVkLgogICAgICoKICAgICAqIEBwYXJhbSB7RGVib3VuY2VyP30gZGVib3VuY2VyIERlYm91bmNlciBvYmplY3QuCiAgICAgKiBAcGFyYW0geyFBc3luY0ludGVyZmFjZX0gYXN5bmNNb2R1bGUgT2JqZWN0IHdpdGggQXN5bmMgaW50ZXJmYWNlCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIHJ1bi4KICAgICAqIEByZXR1cm4geyFEZWJvdW5jZXJ9IFJldHVybnMgYSBkZWJvdW5jZXIgb2JqZWN0LgogICAgICovCiAgICBzdGF0aWMgZGVib3VuY2UoZGVib3VuY2VyLCBhc3luY01vZHVsZSwgY2FsbGJhY2spIHsKICAgICAgaWYgKGRlYm91bmNlciBpbnN0YW5jZW9mIERlYm91bmNlcikgewogICAgICAgIGRlYm91bmNlci5jYW5jZWwoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkZWJvdW5jZXIgPSBuZXcgRGVib3VuY2VyKCk7CiAgICAgIH0KICAgICAgZGVib3VuY2VyLnNldENvbmZpZyhhc3luY01vZHVsZSwgY2FsbGJhY2spOwogICAgICByZXR1cm4gZGVib3VuY2VyOwogICAgfQogIH0KCiAgLyoqIEBjb25zdCAqLwogIFBvbHltZXIuRGVib3VuY2VyID0gRGVib3VuY2VyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvLyBkZXRlY3QgbmF0aXZlIHRvdWNoIGFjdGlvbiBzdXBwb3J0CiAgbGV0IEhBU19OQVRJVkVfVEEgPSB0eXBlb2YgZG9jdW1lbnQuaGVhZC5zdHlsZS50b3VjaEFjdGlvbiA9PT0gJ3N0cmluZyc7CiAgbGV0IEdFU1RVUkVfS0VZID0gJ19fcG9seW1lckdlc3R1cmVzJzsKICBsZXQgSEFORExFRF9PQkogPSAnX19wb2x5bWVyR2VzdHVyZXNIYW5kbGVkJzsKICBsZXQgVE9VQ0hfQUNUSU9OID0gJ19fcG9seW1lckdlc3R1cmVzVG91Y2hBY3Rpb24nOwogIC8vIHJhZGl1cyBmb3IgdGFwIGFuZCB0cmFjawogIGxldCBUQVBfRElTVEFOQ0UgPSAyNTsKICBsZXQgVFJBQ0tfRElTVEFOQ0UgPSA1OwogIC8vIG51bWJlciBvZiBsYXN0IE4gdHJhY2sgcG9zaXRpb25zIHRvIGtlZXAKICBsZXQgVFJBQ0tfTEVOR1RIID0gMjsKCiAgLy8gRGlzYWJsaW5nICJtb3VzZSIgaGFuZGxlcnMgZm9yIDI1MDBtcyBpcyBlbm91Z2gKICBsZXQgTU9VU0VfVElNRU9VVCA9IDI1MDA7CiAgbGV0IE1PVVNFX0VWRU5UUyA9IFsnbW91c2Vkb3duJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJywgJ2NsaWNrJ107CiAgLy8gYW4gYXJyYXkgb2YgYml0bWFzayB2YWx1ZXMgZm9yIG1hcHBpbmcgTW91c2VFdmVudC53aGljaCB0byBNb3VzZUV2ZW50LmJ1dHRvbnMKICBsZXQgTU9VU0VfV0hJQ0hfVE9fQlVUVE9OUyA9IFswLCAxLCA0LCAyXTsKICBsZXQgTU9VU0VfSEFTX0JVVFRPTlMgPSAoZnVuY3Rpb24oKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gbmV3IE1vdXNlRXZlbnQoJ3Rlc3QnLCB7YnV0dG9uczogMX0pLmJ1dHRvbnMgPT09IDE7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9KSgpOwoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBQb3NzaWJsZSBtb3VzZSBldmVudCBuYW1lCiAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiBtb3VzZSBldmVudCwgZmFsc2UgaWYgbm90CiAgICovCiAgZnVuY3Rpb24gaXNNb3VzZUV2ZW50KG5hbWUpIHsKICAgIHJldHVybiBNT1VTRV9FVkVOVFMuaW5kZXhPZihuYW1lKSA+IC0xOwogIH0KCiAgLyogZXNsaW50IG5vLWVtcHR5OiBbImVycm9yIiwgeyAiYWxsb3dFbXB0eUNhdGNoIjogdHJ1ZSB9XSAqLwogIC8vIGNoZWNrIGZvciBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycwogIGxldCBTVVBQT1JUU19QQVNTSVZFID0gZmFsc2U7CiAgKGZ1bmN0aW9uKCkgewogICAgdHJ5IHsKICAgICAgbGV0IG9wdHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywge2dldCgpIHtTVVBQT1JUU19QQVNTSVZFID0gdHJ1ZTt9fSk7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7CiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7CiAgICB9IGNhdGNoKGUpIHt9CiAgfSkoKTsKCiAgLyoqCiAgICogR2VuZXJhdGUgc2V0dGluZ3MgZm9yIGV2ZW50IGxpc3RlbmVycywgZGVwZW5kYW50IG9uIGBQb2x5bWVyLnBhc3NpdmVUb3VjaEdlc3R1cmVzYAogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBFdmVudCBuYW1lIHRvIGRldGVybWluZSBpZiBge3Bhc3NpdmV9YCBvcHRpb24gaXMgbmVlZGVkCiAgICogQHJldHVybiB7e3Bhc3NpdmU6IGJvb2xlYW59IHwgdW5kZWZpbmVkfSBPcHRpb25zIHRvIHVzZSBmb3IgYWRkRXZlbnRMaXN0ZW5lciBhbmQgcmVtb3ZlRXZlbnRMaXN0ZW5lcgogICAqLwogIGZ1bmN0aW9uIFBBU1NJVkVfVE9VQ0goZXZlbnROYW1lKSB7CiAgICBpZiAoaXNNb3VzZUV2ZW50KGV2ZW50TmFtZSkgfHwgZXZlbnROYW1lID09PSAndG91Y2hlbmQnKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChIQVNfTkFUSVZFX1RBICYmIFNVUFBPUlRTX1BBU1NJVkUgJiYgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcykgewogICAgICByZXR1cm4ge3Bhc3NpdmU6IHRydWV9OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuOwogICAgfQogIH0KCiAgLy8gQ2hlY2sgZm9yIHRvdWNoLW9ubHkgZGV2aWNlcwogIGxldCBJU19UT1VDSF9PTkxZID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKXxBbmRyb2lkLyk7CgogIGxldCBHZXN0dXJlUmVjb2duaXplciA9IGZ1bmN0aW9uKCl7fTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogIC8qKiBAdHlwZSB7ZnVuY3Rpb24oKTogdm9pZH0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUucmVzZXQ7CiAgLyoqIEB0eXBlIHtmdW5jdGlvbihNb3VzZUV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZH0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2Vkb3duOwogIC8qKiBAdHlwZSB7KGZ1bmN0aW9uKE1vdXNlRXZlbnQpOiB2b2lkIHwgdW5kZWZpbmVkKX0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2Vtb3ZlOwogIC8qKiBAdHlwZSB7KGZ1bmN0aW9uKE1vdXNlRXZlbnQpOiB2b2lkIHwgdW5kZWZpbmVkKX0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2V1cDsKICAvKiogQHR5cGUgeyhmdW5jdGlvbihUb3VjaEV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCl9ICovCiAgR2VzdHVyZVJlY29nbml6ZXIucHJvdG90eXBlLnRvdWNoc3RhcnQ7CiAgLyoqIEB0eXBlIHsoZnVuY3Rpb24oVG91Y2hFdmVudCk6IHZvaWQgfCB1bmRlZmluZWQpfSAqLwogIEdlc3R1cmVSZWNvZ25pemVyLnByb3RvdHlwZS50b3VjaG1vdmU7CiAgLyoqIEB0eXBlIHsoZnVuY3Rpb24oVG91Y2hFdmVudCk6IHZvaWQgfCB1bmRlZmluZWQpfSAqLwogIEdlc3R1cmVSZWNvZ25pemVyLnByb3RvdHlwZS50b3VjaGVuZDsKICAvKiogQHR5cGUgeyhmdW5jdGlvbihNb3VzZUV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCl9ICovCiAgR2VzdHVyZVJlY29nbml6ZXIucHJvdG90eXBlLmNsaWNrOwoKICAvLyBrZWVwIHRyYWNrIG9mIGFueSBsYWJlbHMgaGl0IGJ5IHRoZSBtb3VzZUNhbmNlbGxlcgogIC8qKiBAdHlwZSB7IUFycmF5PCFIVE1MTGFiZWxFbGVtZW50Pn0gKi8KICBjb25zdCBjbGlja2VkTGFiZWxzID0gW107CgogIC8qKiBAdHlwZSB7IU9iamVjdDxib29sZWFuPn0gKi8KICBjb25zdCBsYWJlbGxhYmxlID0gewogICAgJ2J1dHRvbic6IHRydWUsCiAgICAnaW5wdXQnOiB0cnVlLAogICAgJ2tleWdlbic6IHRydWUsCiAgICAnbWV0ZXInOiB0cnVlLAogICAgJ291dHB1dCc6IHRydWUsCiAgICAndGV4dGFyZWEnOiB0cnVlLAogICAgJ3Byb2dyZXNzJzogdHJ1ZSwKICAgICdzZWxlY3QnOiB0cnVlCiAgfTsKCiAgLy8gRGVmaW5lZCBhdCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3JtLWNvbnRyb2wtaW5mcmFzdHJ1Y3R1cmUuaHRtbCNlbmFibGluZy1hbmQtZGlzYWJsaW5nLWZvcm0tY29udHJvbHM6LXRoZS1kaXNhYmxlZC1hdHRyaWJ1dGUKICAvKiogQHR5cGUgeyFPYmplY3Q8Ym9vbGVhbj59ICovCiAgY29uc3QgY2FuQmVEaXNhYmxlZCA9IHsKICAgICdidXR0b24nOiB0cnVlLAogICAgJ2NvbW1hbmQnOiB0cnVlLAogICAgJ2ZpZWxkc2V0JzogdHJ1ZSwKICAgICdpbnB1dCc6IHRydWUsCiAgICAna2V5Z2VuJzogdHJ1ZSwKICAgICdvcHRncm91cCc6IHRydWUsCiAgICAnb3B0aW9uJzogdHJ1ZSwKICAgICdzZWxlY3QnOiB0cnVlLAogICAgJ3RleHRhcmVhJzogdHJ1ZQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEVsZW1lbnQgdG8gY2hlY2sgbGFiZWxsaW5nIHN0YXR1cwogICAqIEByZXR1cm4ge2Jvb2xlYW59IGVsZW1lbnQgY2FuIGhhdmUgbGFiZWxzCiAgICovCiAgZnVuY3Rpb24gY2FuQmVMYWJlbGxlZChlbCkgewogICAgcmV0dXJuIGxhYmVsbGFibGVbZWwubG9jYWxOYW1lXSB8fCBmYWxzZTsKICB9CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEVsZW1lbnQgdGhhdCBtYXkgYmUgbGFiZWxsZWQuCiAgICogQHJldHVybiB7IUFycmF5PCFIVE1MTGFiZWxFbGVtZW50Pn0gUmVsZXZhbnQgbGFiZWwgZm9yIGBlbGAKICAgKi8KICBmdW5jdGlvbiBtYXRjaGluZ0xhYmVscyhlbCkgewogICAgbGV0IGxhYmVscyA9IEFycmF5LmZyb20oLyoqIEB0eXBlIHtIVE1MSW5wdXRFbGVtZW50fSAqLyhlbCkubGFiZWxzIHx8IFtdKTsKICAgIC8vIElFIGRvZXNuJ3QgaGF2ZSBgbGFiZWxzYCBhbmQgU2FmYXJpIGRvZXNuJ3QgcG9wdWxhdGUgYGxhYmVsc2AKICAgIC8vIGlmIGVsZW1lbnQgaXMgaW4gYSBzaGFkb3dyb290LgogICAgLy8gSW4gdGhpcyBpbnN0YW5jZSwgZmluZGluZyB0aGUgbm9uLWFuY2VzdG9yIGxhYmVscyBpcyBlbm91Z2gsCiAgICAvLyBhcyB0aGUgbW91c2VDYW5jZWxsb3IgY29kZSB3aWxsIGhhbmRsZSBhbmNzdG9yIGxhYmVscwogICAgaWYgKCFsYWJlbHMubGVuZ3RoKSB7CiAgICAgIGxhYmVscyA9IFtdOwogICAgICBsZXQgcm9vdCA9IGVsLmdldFJvb3ROb2RlKCk7CiAgICAgIC8vIGlmIHRoZXJlIGlzIGFuIGlkIG9uIGBlbGAsIGNoZWNrIGZvciBhbGwgbGFiZWxzIHdpdGggYSBtYXRjaGluZyBgZm9yYCBhdHRyaWJ1dGUKICAgICAgaWYgKGVsLmlkKSB7CiAgICAgICAgbGV0IG1hdGNoaW5nID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKGBsYWJlbFtmb3IgPSAke2VsLmlkfV1gKTsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoaW5nLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsYWJlbHMucHVzaCgvKiogQHR5cGUgeyFIVE1MTGFiZWxFbGVtZW50fSAqLyhtYXRjaGluZ1tpXSkpOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIGxhYmVsczsKICB9CgogIC8vIHRvdWNoIHdpbGwgbWFrZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzCiAgLy8gYHByZXZlbnREZWZhdWx0YCBvbiB0b3VjaGVuZCB3aWxsIGNhbmNlbCB0aGVtLAogIC8vIGJ1dCB0aGlzIGJyZWFrcyBgPGlucHV0PmAgZm9jdXMgYW5kIGxpbmsgY2xpY2tzCiAgLy8gZGlzYWJsZSBtb3VzZSBoYW5kbGVycyBmb3IgTU9VU0VfVElNRU9VVCBtcyBhZnRlcgogIC8vIGEgdG91Y2hlbmQgdG8gaWdub3JlIHN5bnRoZXRpYyBtb3VzZSBldmVudHMKICBsZXQgbW91c2VDYW5jZWxsZXIgPSBmdW5jdGlvbihtb3VzZUV2ZW50KSB7CiAgICAvLyBDaGVjayBmb3Igc291cmNlQ2FwYWJpbGl0aWVzLCB1c2VkIHRvIGRpc3Rpbmd1aXNoIHN5bnRoZXRpYyBldmVudHMKICAgIC8vIGlmIG1vdXNlRXZlbnQgZGlkIG5vdCBjb21lIGZyb20gYSBkZXZpY2UgdGhhdCBmaXJlcyB0b3VjaCBldmVudHMsCiAgICAvLyBpdCB3YXMgbWFkZSBieSBhIHJlYWwgbW91c2UgYW5kIHNob3VsZCBiZSBjb3VudGVkCiAgICAvLyBodHRwOi8vd2ljZy5naXRodWIuaW8vSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMvI2RvbS1pbnB1dGRldmljZWNhcGFiaWxpdGllcy1maXJlc3RvdWNoZXZlbnRzCiAgICBsZXQgc2MgPSBtb3VzZUV2ZW50LnNvdXJjZUNhcGFiaWxpdGllczsKICAgIGlmIChzYyAmJiAhc2MuZmlyZXNUb3VjaEV2ZW50cykgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBza2lwIHN5bnRoZXRpYyBtb3VzZSBldmVudHMKICAgIG1vdXNlRXZlbnRbSEFORExFRF9PQkpdID0ge3NraXA6IHRydWV9OwogICAgLy8gZGlzYWJsZSAiZ2hvc3QgY2xpY2tzIgogICAgaWYgKG1vdXNlRXZlbnQudHlwZSA9PT0gJ2NsaWNrJykgewogICAgICBsZXQgY2xpY2tGcm9tTGFiZWwgPSBmYWxzZTsKICAgICAgbGV0IHBhdGggPSBtb3VzZUV2ZW50LmNvbXBvc2VkUGF0aCAmJiBtb3VzZUV2ZW50LmNvbXBvc2VkUGF0aCgpOwogICAgICBpZiAocGF0aCkgewogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKHBhdGhbaV0ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIGlmIChwYXRoW2ldLmxvY2FsTmFtZSA9PT0gJ2xhYmVsJykgewogICAgICAgICAgICAgIGNsaWNrZWRMYWJlbHMucHVzaChwYXRoW2ldKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjYW5CZUxhYmVsbGVkKHBhdGhbaV0pKSB7CiAgICAgICAgICAgICAgbGV0IG93bmVyTGFiZWxzID0gbWF0Y2hpbmdMYWJlbHMocGF0aFtpXSk7CiAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgb25lIG9mIHRoZSBjbGlja2VkIGxhYmVscyBpcyBsYWJlbGxpbmcgdGhpcyBlbGVtZW50CiAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBvd25lckxhYmVscy5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgY2xpY2tGcm9tTGFiZWwgPSBjbGlja0Zyb21MYWJlbCB8fCBjbGlja2VkTGFiZWxzLmluZGV4T2Yob3duZXJMYWJlbHNbal0pID4gLTE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBpZiAocGF0aFtpXSA9PT0gUE9JTlRFUlNUQVRFLm1vdXNlLnRhcmdldCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIGlmIG9uZSBvZiB0aGUgY2xpY2tlZCBsYWJlbHMgd2FzIGxhYmVsbGluZyB0aGUgdGFyZ2V0IGVsZW1lbnQsCiAgICAgIC8vIHRoaXMgaXMgbm90IGEgZ2hvc3QgY2xpY2sKICAgICAgaWYgKGNsaWNrRnJvbUxhYmVsKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIG1vdXNlRXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgbW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzZXR1cCBUcnVlIHRvIGFkZCwgZmFsc2UgdG8gcmVtb3ZlLgogICAqIEByZXR1cm4ge3ZvaWR9CiAgICovCiAgZnVuY3Rpb24gc2V0dXBUZWFyZG93bk1vdXNlQ2FuY2VsbGVyKHNldHVwKSB7CiAgICBsZXQgZXZlbnRzID0gSVNfVE9VQ0hfT05MWSA/IFsnY2xpY2snXSA6IE1PVVNFX0VWRU5UUzsKICAgIGZvciAobGV0IGkgPSAwLCBlbjsgaSA8IGV2ZW50cy5sZW5ndGg7IGkrKykgewogICAgICBlbiA9IGV2ZW50c1tpXTsKICAgICAgaWYgKHNldHVwKSB7CiAgICAgICAgLy8gcmVzZXQgY2xpY2tMYWJlbHMgYXJyYXkKICAgICAgICBjbGlja2VkTGFiZWxzLmxlbmd0aCA9IDA7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihlbiwgbW91c2VDYW5jZWxsZXIsIHRydWUpOwogICAgICB9IGVsc2UgewogICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZW4sIG1vdXNlQ2FuY2VsbGVyLCB0cnVlKTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gaWdub3JlTW91c2UoZSkgewogICAgaWYgKCFQT0lOVEVSU1RBVEUubW91c2UubW91c2VJZ25vcmVKb2IpIHsKICAgICAgc2V0dXBUZWFyZG93bk1vdXNlQ2FuY2VsbGVyKHRydWUpOwogICAgfQogICAgbGV0IHVuc2V0ID0gZnVuY3Rpb24oKSB7CiAgICAgIHNldHVwVGVhcmRvd25Nb3VzZUNhbmNlbGxlcigpOwogICAgICBQT0lOVEVSU1RBVEUubW91c2UudGFyZ2V0ID0gbnVsbDsKICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iID0gbnVsbDsKICAgIH07CiAgICBQT0lOVEVSU1RBVEUubW91c2UudGFyZ2V0ID0gZS5jb21wb3NlZFBhdGgoKVswXTsKICAgIFBPSU5URVJTVEFURS5tb3VzZS5tb3VzZUlnbm9yZUpvYiA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iCiAgICAgICAgLCBQb2x5bWVyLkFzeW5jLnRpbWVPdXQuYWZ0ZXIoTU9VU0VfVElNRU9VVCkKICAgICAgICAsIHVuc2V0KTsKICB9CgogIC8qKgogICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZXYgZXZlbnQgdG8gdGVzdCBmb3IgbGVmdCBtb3VzZSBidXR0b24gZG93bgogICAqIEByZXR1cm4ge2Jvb2xlYW59IGhhcyBsZWZ0IG1vdXNlIGJ1dHRvbiBkb3duCiAgICovCiAgZnVuY3Rpb24gaGFzTGVmdE1vdXNlQnV0dG9uKGV2KSB7CiAgICBsZXQgdHlwZSA9IGV2LnR5cGU7CiAgICAvLyBleGl0IGVhcmx5IGlmIHRoZSBldmVudCBpcyBub3QgYSBtb3VzZSBldmVudAogICAgaWYgKCFpc01vdXNlRXZlbnQodHlwZSkpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgLy8gZXYuYnV0dG9uIGlzIG5vdCByZWxpYWJsZSBmb3IgbW91c2Vtb3ZlICgwIGlzIG92ZXJsb2FkZWQgYXMgYm90aCBsZWZ0IGJ1dHRvbiBhbmQgbm8gYnV0dG9ucykKICAgIC8vIGluc3RlYWQgd2UgdXNlIGV2LmJ1dHRvbnMgKGJpdG1hc2sgb2YgYnV0dG9ucykgb3IgZmFsbCBiYWNrIHRvIGV2LndoaWNoIChkZXByZWNhdGVkLCAwIGZvciBubyBidXR0b25zLCAxIGZvciBsZWZ0IGJ1dHRvbikKICAgIGlmICh0eXBlID09PSAnbW91c2Vtb3ZlJykgewogICAgICAvLyBhbGxvdyB1bmRlZmluZWQgZm9yIHRlc3RpbmcgZXZlbnRzCiAgICAgIGxldCBidXR0b25zID0gZXYuYnV0dG9ucyA9PT0gdW5kZWZpbmVkID8gMSA6IGV2LmJ1dHRvbnM7CiAgICAgIGlmICgoZXYgaW5zdGFuY2VvZiB3aW5kb3cuTW91c2VFdmVudCkgJiYgIU1PVVNFX0hBU19CVVRUT05TKSB7CiAgICAgICAgYnV0dG9ucyA9IE1PVVNFX1dISUNIX1RPX0JVVFRPTlNbZXYud2hpY2hdIHx8IDA7CiAgICAgIH0KICAgICAgLy8gYnV0dG9ucyBpcyBhIGJpdG1hc2ssIGNoZWNrIHRoYXQgdGhlIGxlZnQgYnV0dG9uIGJpdCBpcyBzZXQgKDEpCiAgICAgIHJldHVybiBCb29sZWFuKGJ1dHRvbnMgJiAxKTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIGFsbG93IHVuZGVmaW5lZCBmb3IgdGVzdGluZyBldmVudHMKICAgICAgbGV0IGJ1dHRvbiA9IGV2LmJ1dHRvbiA9PT0gdW5kZWZpbmVkID8gMCA6IGV2LmJ1dHRvbjsKICAgICAgLy8gZXYuYnV0dG9uIGlzIDAgaW4gbW91c2Vkb3duL21vdXNldXAvY2xpY2sgZm9yIGxlZnQgYnV0dG9uIGFjdGl2YXRpb24KICAgICAgcmV0dXJuIGJ1dHRvbiA9PT0gMDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGlzU3ludGhldGljQ2xpY2soZXYpIHsKICAgIGlmIChldi50eXBlID09PSAnY2xpY2snKSB7CiAgICAgIC8vIGV2LmRldGFpbCBpcyAwIGZvciBIVE1MRWxlbWVudC5jbGljayBpbiBtb3N0IGJyb3dzZXJzCiAgICAgIGlmIChldi5kZXRhaWwgPT09IDApIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICAvLyBpbiB0aGUgd29yc3QgY2FzZSwgY2hlY2sgdGhhdCB0aGUgeC95IHBvc2l0aW9uIG9mIHRoZSBjbGljayBpcyB3aXRoaW4KICAgICAgLy8gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgdGFyZ2V0IG9mIHRoZSBldmVudAogICAgICAvLyBUaGFua3MgSUUgMTAgPjooCiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChldik7CiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgdGFyZ2V0IG9mIHRoZSBldmVudCBpcyBhbiBlbGVtZW50IHNvIHdlIGNhbiB1c2UgZ2V0Qm91bmRpbmdDbGllbnRSZWN0LAogICAgICAvLyBpZiBub3QsIGp1c3QgYXNzdW1lIGl0IGlzIGEgc3ludGhldGljIGNsaWNrCiAgICAgIGlmICghdC5ub2RlVHlwZSB8fCAvKiogQHR5cGUge0VsZW1lbnR9ICovKHQpLm5vZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIGxldCBiY3IgPSAvKiogQHR5cGUge0VsZW1lbnR9ICovKHQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAvLyB1c2UgcGFnZSB4L3kgdG8gYWNjb3VudCBmb3Igc2Nyb2xsaW5nCiAgICAgIGxldCB4ID0gZXYucGFnZVgsIHkgPSBldi5wYWdlWTsKICAgICAgLy8gZXYgaXMgYSBzeW50aGV0aWMgY2xpY2sgaWYgdGhlIHBvc2l0aW9uIGlzIG91dHNpZGUgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgdGFyZ2V0CiAgICAgIHJldHVybiAhKCh4ID49IGJjci5sZWZ0ICYmIHggPD0gYmNyLnJpZ2h0KSAmJiAoeSA+PSBiY3IudG9wICYmIHkgPD0gYmNyLmJvdHRvbSkpOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgbGV0IFBPSU5URVJTVEFURSA9IHsKICAgIG1vdXNlOiB7CiAgICAgIHRhcmdldDogbnVsbCwKICAgICAgbW91c2VJZ25vcmVKb2I6IG51bGwKICAgIH0sCiAgICB0b3VjaDogewogICAgICB4OiAwLAogICAgICB5OiAwLAogICAgICBpZDogLTEsCiAgICAgIHNjcm9sbERlY2lkZWQ6IGZhbHNlCiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gZmlyc3RUb3VjaEFjdGlvbihldikgewogICAgbGV0IHRhID0gJ2F1dG8nOwogICAgbGV0IHBhdGggPSBldi5jb21wb3NlZFBhdGggJiYgZXYuY29tcG9zZWRQYXRoKCk7CiAgICBpZiAocGF0aCkgewogICAgICBmb3IgKGxldCBpID0gMCwgbjsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHsKICAgICAgICBuID0gcGF0aFtpXTsKICAgICAgICBpZiAobltUT1VDSF9BQ1RJT05dKSB7CiAgICAgICAgICB0YSA9IG5bVE9VQ0hfQUNUSU9OXTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhOwogIH0KCiAgZnVuY3Rpb24gdHJhY2tEb2N1bWVudChzdGF0ZU9iaiwgbW92ZWZuLCB1cGZuKSB7CiAgICBzdGF0ZU9iai5tb3ZlZm4gPSBtb3ZlZm47CiAgICBzdGF0ZU9iai51cGZuID0gdXBmbjsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVmbik7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdXBmbik7CiAgfQoKICBmdW5jdGlvbiB1bnRyYWNrRG9jdW1lbnQoc3RhdGVPYmopIHsKICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXRlT2JqLm1vdmVmbik7CiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RhdGVPYmoudXBmbik7CiAgICBzdGF0ZU9iai5tb3ZlZm4gPSBudWxsOwogICAgc3RhdGVPYmoudXBmbiA9IG51bGw7CiAgfQoKICAvLyB1c2UgYSBkb2N1bWVudC13aWRlIHRvdWNoZW5kIGxpc3RlbmVyIHRvIHN0YXJ0IHRoZSBnaG9zdC1jbGljayBwcmV2ZW50aW9uIG1lY2hhbmlzbQogIC8vIFVzZSBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycywgaWYgc3VwcG9ydGVkLCB0byBub3QgYWZmZWN0IHNjcm9sbGluZyBwZXJmb3JtYW5jZQogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgaWdub3JlTW91c2UsIFNVUFBPUlRTX1BBU1NJVkUgPyB7cGFzc2l2ZTogdHJ1ZX0gOiBmYWxzZSk7CgogIC8qKgogICAqIE1vZHVsZSBmb3IgYWRkaW5nIGxpc3RlbmVycyB0byBhIG5vZGUgZm9yIHRoZSBmb2xsb3dpbmcgbm9ybWFsaXplZAogICAqIGNyb3NzLXBsYXRmb3JtICJnZXN0dXJlIiBldmVudHM6CiAgICogLSBgZG93bmAgLSBtb3VzZSBvciB0b3VjaCB3ZW50IGRvd24KICAgKiAtIGB1cGAgLSBtb3VzZSBvciB0b3VjaCB3ZW50IHVwCiAgICogLSBgdGFwYCAtIG1vdXNlIGNsaWNrIG9yIGZpbmdlciB0YXAKICAgKiAtIGB0cmFja2AgLSBtb3VzZSBkcmFnIG9yIHRvdWNoIG1vdmUKICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1vZHVsZSBmb3IgYWRkaW5nIGNyb3NzLXBsYXRmb3JtIGdlc3R1cmUgZXZlbnQgbGlzdGVuZXJzLgogICAqLwogIGNvbnN0IEdlc3R1cmVzID0gewogICAgZ2VzdHVyZXM6IHt9LAogICAgcmVjb2duaXplcnM6IFtdLAoKICAgIC8qKgogICAgICogRmluZHMgdGhlIGVsZW1lbnQgcmVuZGVyZWQgb24gdGhlIHNjcmVlbiBhdCB0aGUgcHJvdmlkZWQgY29vcmRpbmF0ZXMuCiAgICAgKgogICAgICogU2ltaWxhciB0byBgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludGAsIGJ1dCBwaWVyY2VzIHRocm91Z2gKICAgICAqIHNoYWRvdyByb290cy4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5HZXN0dXJlcwogICAgICogQHBhcmFtIHtudW1iZXJ9IHggSG9yaXpvbnRhbCBwaXhlbCBjb29yZGluYXRlCiAgICAgKiBAcGFyYW0ge251bWJlcn0geSBWZXJ0aWNhbCBwaXhlbCBjb29yZGluYXRlCiAgICAgKiBAcmV0dXJuIHtFbGVtZW50fSBSZXR1cm5zIHRoZSBkZWVwZXN0IHNoYWRvd1Jvb3QgaW5jbHVzaXZlIGVsZW1lbnQKICAgICAqIGZvdW5kIGF0IHRoZSBzY3JlZW4gcG9zaXRpb24gZ2l2ZW4uCiAgICAgKi8KICAgIGRlZXBUYXJnZXRGaW5kOiBmdW5jdGlvbih4LCB5KSB7CiAgICAgIGxldCBub2RlID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KTsKICAgICAgbGV0IG5leHQgPSBub2RlOwogICAgICAvLyB0aGlzIGNvZGUgcGF0aCBpcyBvbmx5IHRha2VuIHdoZW4gbmF0aXZlIFNoYWRvd0RPTSBpcyB1c2VkCiAgICAgIC8vIGlmIHRoZXJlIGlzIGEgc2hhZG93cm9vdCwgaXQgbWF5IGhhdmUgYSBub2RlIGF0IHgveQogICAgICAvLyBpZiB0aGVyZSBpcyBub3QgYSBzaGFkb3dyb290LCBleGl0IHRoZSBsb29wCiAgICAgIHdoaWxlIChuZXh0ICYmIG5leHQuc2hhZG93Um9vdCAmJiAhd2luZG93LlNoYWR5RE9NKSB7CiAgICAgICAgLy8gaWYgdGhlcmUgaXMgYSBub2RlIGF0IHgveSBpbiB0aGUgc2hhZG93cm9vdCwgbG9vayBkZWVwZXIKICAgICAgICBsZXQgb2xkTmV4dCA9IG5leHQ7CiAgICAgICAgbmV4dCA9IG5leHQuc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50KHgsIHkpOwogICAgICAgIC8vIG9uIFNhZmFyaSwgZWxlbWVudEZyb21Qb2ludCBtYXkgcmV0dXJuIHRoZSBzaGFkb3dSb290IGhvc3QKICAgICAgICBpZiAob2xkTmV4dCA9PT0gbmV4dCkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmIChuZXh0KSB7CiAgICAgICAgICBub2RlID0gbmV4dDsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG5vZGU7CiAgICB9LAogICAgLyoqCiAgICAgKiBhIGNoZWFwZXIgY2hlY2sgdGhhbiBldi5jb21wb3NlZFBhdGgoKVswXTsKICAgICAqCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHtFdmVudH0gZXYgRXZlbnQuCiAgICAgKiBAcmV0dXJuIHtFdmVudFRhcmdldH0gUmV0dXJucyB0aGUgZXZlbnQgdGFyZ2V0LgogICAgICovCiAgICBfZmluZE9yaWdpbmFsVGFyZ2V0OiBmdW5jdGlvbihldikgewogICAgICAvLyBzaGFkb3dkb20KICAgICAgaWYgKGV2LmNvbXBvc2VkUGF0aCkgewogICAgICAgIGNvbnN0IHRhcmdldHMgPSAvKiogQHR5cGUgeyFBcnJheTwhRXZlbnRUYXJnZXQ+fSAqLyhldi5jb21wb3NlZFBhdGgoKSk7CiAgICAgICAgLy8gSXQgc2hvdWxkbid0IGJlLCBidXQgc29tZXRpbWVzIHRhcmdldHMgaXMgZW1wdHkgKHdpbmRvdyBvbiBTYWZhcmkpLgogICAgICAgIHJldHVybiB0YXJnZXRzLmxlbmd0aCA+IDAgPyB0YXJnZXRzWzBdIDogZXYudGFyZ2V0OwogICAgICB9CiAgICAgIC8vIHNoYWR5ZG9tCiAgICAgIHJldHVybiBldi50YXJnZXQ7CiAgICB9LAoKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2IEV2ZW50LgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgX2hhbmRsZU5hdGl2ZTogZnVuY3Rpb24oZXYpIHsKICAgICAgbGV0IGhhbmRsZWQ7CiAgICAgIGxldCB0eXBlID0gZXYudHlwZTsKICAgICAgbGV0IG5vZGUgPSBldi5jdXJyZW50VGFyZ2V0OwogICAgICBsZXQgZ29iaiA9IG5vZGVbR0VTVFVSRV9LRVldOwogICAgICBpZiAoIWdvYmopIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgbGV0IGdzID0gZ29ialt0eXBlXTsKICAgICAgaWYgKCFncykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIWV2W0hBTkRMRURfT0JKXSkgewogICAgICAgIGV2W0hBTkRMRURfT0JKXSA9IHt9OwogICAgICAgIGlmICh0eXBlLnNsaWNlKDAsIDUpID09PSAndG91Y2gnKSB7CiAgICAgICAgICBldiA9IC8qKiBAdHlwZSB7VG91Y2hFdmVudH0gKi8oZXYpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgICBsZXQgdCA9IGV2LmNoYW5nZWRUb3VjaGVzWzBdOwogICAgICAgICAgaWYgKHR5cGUgPT09ICd0b3VjaHN0YXJ0JykgewogICAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0aGUgZmlyc3QgZmluZ2VyCiAgICAgICAgICAgIGlmIChldi50b3VjaGVzLmxlbmd0aCA9PT0gMSkgewogICAgICAgICAgICAgIFBPSU5URVJTVEFURS50b3VjaC5pZCA9IHQuaWRlbnRpZmllcjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKFBPSU5URVJTVEFURS50b3VjaC5pZCAhPT0gdC5pZGVudGlmaWVyKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghSEFTX05BVElWRV9UQSkgewogICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IHR5cGUgPT09ICd0b3VjaG1vdmUnKSB7CiAgICAgICAgICAgICAgR2VzdHVyZXMuX2hhbmRsZVRvdWNoQWN0aW9uKGV2KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBoYW5kbGVkID0gZXZbSEFORExFRF9PQkpdOwogICAgICAvLyB1c2VkIHRvIGlnbm9yZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzCiAgICAgIGlmIChoYW5kbGVkLnNraXApIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgLy8gcmVzZXQgcmVjb2duaXplciBzdGF0ZQogICAgICBmb3IgKGxldCBpID0gMCwgcjsgaSA8IEdlc3R1cmVzLnJlY29nbml6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgciA9IEdlc3R1cmVzLnJlY29nbml6ZXJzW2ldOwogICAgICAgIGlmIChnc1tyLm5hbWVdICYmICFoYW5kbGVkW3IubmFtZV0pIHsKICAgICAgICAgIGlmIChyLmZsb3cgJiYgci5mbG93LnN0YXJ0LmluZGV4T2YoZXYudHlwZSkgPiAtMSAmJiByLnJlc2V0KSB7CiAgICAgICAgICAgIHIucmVzZXQoKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gZW5mb3JjZSBnZXN0dXJlIHJlY29nbml6ZXIgb3JkZXIKICAgICAgZm9yIChsZXQgaSA9IDAsIHI7IGkgPCBHZXN0dXJlcy5yZWNvZ25pemVycy5sZW5ndGg7IGkrKykgewogICAgICAgIHIgPSBHZXN0dXJlcy5yZWNvZ25pemVyc1tpXTsKICAgICAgICBpZiAoZ3Nbci5uYW1lXSAmJiAhaGFuZGxlZFtyLm5hbWVdKSB7CiAgICAgICAgICBoYW5kbGVkW3IubmFtZV0gPSB0cnVlOwogICAgICAgICAgclt0eXBlXShldik7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZXYgRXZlbnQuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfaGFuZGxlVG91Y2hBY3Rpb246IGZ1bmN0aW9uKGV2KSB7CiAgICAgIGxldCB0ID0gZXYuY2hhbmdlZFRvdWNoZXNbMF07CiAgICAgIGxldCB0eXBlID0gZXYudHlwZTsKICAgICAgaWYgKHR5cGUgPT09ICd0b3VjaHN0YXJ0JykgewogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC54ID0gdC5jbGllbnRYOwogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC55ID0gdC5jbGllbnRZOwogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC5zY3JvbGxEZWNpZGVkID0gZmFsc2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvdWNobW92ZScpIHsKICAgICAgICBpZiAoUE9JTlRFUlNUQVRFLnRvdWNoLnNjcm9sbERlY2lkZWQpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgUE9JTlRFUlNUQVRFLnRvdWNoLnNjcm9sbERlY2lkZWQgPSB0cnVlOwogICAgICAgIGxldCB0YSA9IGZpcnN0VG91Y2hBY3Rpb24oZXYpOwogICAgICAgIGxldCBwcmV2ZW50ID0gZmFsc2U7CiAgICAgICAgbGV0IGR4ID0gTWF0aC5hYnMoUE9JTlRFUlNUQVRFLnRvdWNoLnggLSB0LmNsaWVudFgpOwogICAgICAgIGxldCBkeSA9IE1hdGguYWJzKFBPSU5URVJTVEFURS50b3VjaC55IC0gdC5jbGllbnRZKTsKICAgICAgICBpZiAoIWV2LmNhbmNlbGFibGUpIHsKICAgICAgICAgIC8vIHNjcm9sbGluZyBpcyBoYXBwZW5pbmcKICAgICAgICB9IGVsc2UgaWYgKHRhID09PSAnbm9uZScpIHsKICAgICAgICAgIHByZXZlbnQgPSB0cnVlOwogICAgICAgIH0gZWxzZSBpZiAodGEgPT09ICdwYW4teCcpIHsKICAgICAgICAgIHByZXZlbnQgPSBkeSA+IGR4OwogICAgICAgIH0gZWxzZSBpZiAodGEgPT09ICdwYW4teScpIHsKICAgICAgICAgIHByZXZlbnQgPSBkeCA+IGR5OwogICAgICAgIH0KICAgICAgICBpZiAocHJldmVudCkgewogICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgR2VzdHVyZXMucHJldmVudCgndHJhY2snKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgbm9kZSBmb3IgdGhlIGdpdmVuIGdlc3R1cmUgdHlwZS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5HZXN0dXJlcwogICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBsaXN0ZW5lciBvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBHZXN0dXJlIHR5cGU6IGBkb3duYCwgYHVwYCwgYHRyYWNrYCwgb3IgYHRhcGAKICAgICAqIEBwYXJhbSB7IWZ1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBFdmVudCBsaXN0ZW5lciBmdW5jdGlvbiB0byBjYWxsCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYSBnZXN0dXJlIGV2ZW50IGxpc3RlbmVyIHdhcyBhZGRlZC4KICAgICAqIEB0aGlzIHtHZXN0dXJlc30KICAgICAqLwogICAgYWRkTGlzdGVuZXI6IGZ1bmN0aW9uKG5vZGUsIGV2VHlwZSwgaGFuZGxlcikgewogICAgICBpZiAodGhpcy5nZXN0dXJlc1tldlR5cGVdKSB7CiAgICAgICAgdGhpcy5fYWRkKG5vZGUsIGV2VHlwZSwgaGFuZGxlcik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlbW92ZXMgYW4gZXZlbnQgbGlzdGVuZXIgZnJvbSBhIG5vZGUgZm9yIHRoZSBnaXZlbiBnZXN0dXJlIHR5cGUuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byByZW1vdmUgbGlzdGVuZXIgZnJvbQogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBHZXN0dXJlIHR5cGU6IGBkb3duYCwgYHVwYCwgYHRyYWNrYCwgb3IgYHRhcGAKICAgICAqIEBwYXJhbSB7IWZ1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBFdmVudCBsaXN0ZW5lciBmdW5jdGlvbiBwcmV2aW91c2x5IHBhc3NlZCB0bwogICAgICogIGBhZGRMaXN0ZW5lcmAuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYSBnZXN0dXJlIGV2ZW50IGxpc3RlbmVyIHdhcyByZW1vdmVkLgogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICByZW1vdmVMaXN0ZW5lcjogZnVuY3Rpb24obm9kZSwgZXZUeXBlLCBoYW5kbGVyKSB7CiAgICAgIGlmICh0aGlzLmdlc3R1cmVzW2V2VHlwZV0pIHsKICAgICAgICB0aGlzLl9yZW1vdmUobm9kZSwgZXZUeXBlLCBoYW5kbGVyKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAoKICAgIC8qKgogICAgICogYXV0b21hdGUgdGhlIGV2ZW50IGxpc3RlbmVycyBmb3IgdGhlIG5hdGl2ZSBldmVudHMKICAgICAqCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG5vZGUgTm9kZSBvbiB3aGljaCB0byBhZGQgdGhlIGV2ZW50LgogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBFdmVudCB0eXBlIHRvIGFkZC4KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KX0gaGFuZGxlciBFdmVudCBoYW5kbGVyIGZ1bmN0aW9uLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEB0aGlzIHtHZXN0dXJlc30KICAgICAqLwogICAgX2FkZDogZnVuY3Rpb24obm9kZSwgZXZUeXBlLCBoYW5kbGVyKSB7CiAgICAgIGxldCByZWNvZ25pemVyID0gdGhpcy5nZXN0dXJlc1tldlR5cGVdOwogICAgICBsZXQgZGVwcyA9IHJlY29nbml6ZXIuZGVwczsKICAgICAgbGV0IG5hbWUgPSByZWNvZ25pemVyLm5hbWU7CiAgICAgIGxldCBnb2JqID0gbm9kZVtHRVNUVVJFX0tFWV07CiAgICAgIGlmICghZ29iaikgewogICAgICAgIG5vZGVbR0VTVFVSRV9LRVldID0gZ29iaiA9IHt9OwogICAgICB9CiAgICAgIGZvciAobGV0IGkgPSAwLCBkZXAsIGdkOyBpIDwgZGVwcy5sZW5ndGg7IGkrKykgewogICAgICAgIGRlcCA9IGRlcHNbaV07CiAgICAgICAgLy8gZG9uJ3QgYWRkIG1vdXNlIGhhbmRsZXJzIG9uIGlPUyBiZWNhdXNlIHRoZXkgY2F1c2UgZ3JheSBzZWxlY3Rpb24gb3ZlcmxheXMKICAgICAgICBpZiAoSVNfVE9VQ0hfT05MWSAmJiBpc01vdXNlRXZlbnQoZGVwKSAmJiBkZXAgIT09ICdjbGljaycpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBnZCA9IGdvYmpbZGVwXTsKICAgICAgICBpZiAoIWdkKSB7CiAgICAgICAgICBnb2JqW2RlcF0gPSBnZCA9IHtfY291bnQ6IDB9OwogICAgICAgIH0KICAgICAgICBpZiAoZ2QuX2NvdW50ID09PSAwKSB7CiAgICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoZGVwLCB0aGlzLl9oYW5kbGVOYXRpdmUsIFBBU1NJVkVfVE9VQ0goZGVwKSk7CiAgICAgICAgfQogICAgICAgIGdkW25hbWVdID0gKGdkW25hbWVdIHx8IDApICsgMTsKICAgICAgICBnZC5fY291bnQgPSAoZ2QuX2NvdW50IHx8IDApICsgMTsKICAgICAgfQogICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZUeXBlLCBoYW5kbGVyKTsKICAgICAgaWYgKHJlY29nbml6ZXIudG91Y2hBY3Rpb24pIHsKICAgICAgICB0aGlzLnNldFRvdWNoQWN0aW9uKG5vZGUsIHJlY29nbml6ZXIudG91Y2hBY3Rpb24pOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogYXV0b21hdGUgZXZlbnQgbGlzdGVuZXIgcmVtb3ZhbCBmb3IgbmF0aXZlIGV2ZW50cwogICAgICoKICAgICAqIEBwcml2YXRlCiAgICAgKiBAcGFyYW0geyFIVE1MRWxlbWVudH0gbm9kZSBOb2RlIG9uIHdoaWNoIHRvIHJlbW92ZSB0aGUgZXZlbnQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZUeXBlIEV2ZW50IHR5cGUgdG8gcmVtb3ZlLgogICAgICogQHBhcmFtIHtmdW5jdGlvbihFdmVudD8pfSBoYW5kbGVyIEV2ZW50IGhhbmRsZXIgZnVuY3Rpb24uCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICBfcmVtb3ZlOiBmdW5jdGlvbihub2RlLCBldlR5cGUsIGhhbmRsZXIpIHsKICAgICAgbGV0IHJlY29nbml6ZXIgPSB0aGlzLmdlc3R1cmVzW2V2VHlwZV07CiAgICAgIGxldCBkZXBzID0gcmVjb2duaXplci5kZXBzOwogICAgICBsZXQgbmFtZSA9IHJlY29nbml6ZXIubmFtZTsKICAgICAgbGV0IGdvYmogPSBub2RlW0dFU1RVUkVfS0VZXTsKICAgICAgaWYgKGdvYmopIHsKICAgICAgICBmb3IgKGxldCBpID0gMCwgZGVwLCBnZDsgaSA8IGRlcHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGRlcCA9IGRlcHNbaV07CiAgICAgICAgICBnZCA9IGdvYmpbZGVwXTsKICAgICAgICAgIGlmIChnZCAmJiBnZFtuYW1lXSkgewogICAgICAgICAgICBnZFtuYW1lXSA9IChnZFtuYW1lXSB8fCAxKSAtIDE7CiAgICAgICAgICAgIGdkLl9jb3VudCA9IChnZC5fY291bnQgfHwgMSkgLSAxOwogICAgICAgICAgICBpZiAoZ2QuX2NvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGRlcCwgdGhpcy5faGFuZGxlTmF0aXZlLCBQQVNTSVZFX1RPVUNIKGRlcCkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldlR5cGUsIGhhbmRsZXIpOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyBhIG5ldyBnZXN0dXJlIGV2ZW50IHJlY29nbml6ZXIgZm9yIGFkZGluZyBuZXcgY3VzdG9tCiAgICAgKiBnZXN0dXJlIGV2ZW50IHR5cGVzLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkdlc3R1cmVzCiAgICAgKiBAcGFyYW0geyFHZXN0dXJlUmVjb2duaXplcn0gcmVjb2cgR2VzdHVyZSByZWNvZ25pemVyIGRlc2NyaXB0b3IKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7R2VzdHVyZXN9CiAgICAgKi8KICAgIHJlZ2lzdGVyOiBmdW5jdGlvbihyZWNvZykgewogICAgICB0aGlzLnJlY29nbml6ZXJzLnB1c2gocmVjb2cpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlY29nLmVtaXRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdGhpcy5nZXN0dXJlc1tyZWNvZy5lbWl0c1tpXV0gPSByZWNvZzsKICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIEBwcml2YXRlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZOYW1lIEV2ZW50IG5hbWUuCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgdGhlIGdlc3R1cmUgZm9yIHRoZSBnaXZlbiBldmVudCBuYW1lLgogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICBfZmluZFJlY29nbml6ZXJCeUV2ZW50OiBmdW5jdGlvbihldk5hbWUpIHsKICAgICAgZm9yIChsZXQgaSA9IDAsIHI7IGkgPCB0aGlzLnJlY29nbml6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgciA9IHRoaXMucmVjb2duaXplcnNbaV07CiAgICAgICAgZm9yIChsZXQgaiA9IDAsIG47IGogPCByLmVtaXRzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICBuID0gci5lbWl0c1tqXTsKICAgICAgICAgIGlmIChuID09PSBldk5hbWUpIHsKICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICAvKioKICAgICAqIFNldHMgc2Nyb2xsaW5nIGRpcmVjdGlvbiBvbiBub2RlLgogICAgICoKICAgICAqIFRoaXMgdmFsdWUgaXMgY2hlY2tlZCBvbiBmaXJzdCBtb3ZlLCB0aHVzIGl0IHNob3VsZCBiZSBjYWxsZWQgcHJpb3IgdG8KICAgICAqIGFkZGluZyBldmVudCBsaXN0ZW5lcnMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7IUVsZW1lbnR9IG5vZGUgTm9kZSB0byBzZXQgdG91Y2ggYWN0aW9uIHNldHRpbmcgb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUb3VjaCBhY3Rpb24gdmFsdWUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHNldFRvdWNoQWN0aW9uOiBmdW5jdGlvbihub2RlLCB2YWx1ZSkgewogICAgICBpZiAoSEFTX05BVElWRV9UQSkgewogICAgICAgIC8vIE5PVEU6IGFkZCB0b3VjaEFjdGlvbiBhc3luYyBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYWRkZWQgaW4KICAgICAgICAvLyBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvcnMuIE90aGVyd2lzZSB3ZSBydW4gYWZvdWwgb2YgY3VzdG9tCiAgICAgICAgLy8gZWxlbWVudHMgcmVzdHJpY3Rpb24gYWdhaW5zdCBzZXR0aW5ncyBhdHRyaWJ1dGVzIChzdHlsZSkgaW4gdGhlCiAgICAgICAgLy8gY29uc3RydWN0b3IuCiAgICAgICAgUG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKCgpID0+IHsKICAgICAgICAgIG5vZGUuc3R5bGUudG91Y2hBY3Rpb24gPSB2YWx1ZTsKICAgICAgICB9KTsKICAgICAgfQogICAgICBub2RlW1RPVUNIX0FDVElPTl0gPSB2YWx1ZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IG9uIHRoZSBgdGFyZ2V0YCBlbGVtZW50IG9mIGB0eXBlYCB3aXRoIHRoZSBnaXZlbgogICAgICogYGRldGFpbGAuCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHshRXZlbnRUYXJnZXR9IHRhcmdldCBUaGUgZWxlbWVudCBvbiB3aGljaCB0byBmaXJlIGFuIGV2ZW50LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgVGhlIHR5cGUgb2YgZXZlbnQgdG8gZmlyZS4KICAgICAqIEBwYXJhbSB7IU9iamVjdD19IGRldGFpbCBUaGUgZGV0YWlsIG9iamVjdCB0byBwb3B1bGF0ZSBvbiB0aGUgZXZlbnQuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfZmlyZTogZnVuY3Rpb24odGFyZ2V0LCB0eXBlLCBkZXRhaWwpIHsKICAgICAgbGV0IGV2ID0gbmV3IEV2ZW50KHR5cGUsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7CiAgICAgIGV2LmRldGFpbCA9IGRldGFpbDsKICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXYpOwogICAgICAvLyBmb3J3YXJkIGBwcmV2ZW50RGVmYXVsdGAgaW4gYSBjbGVhbiB3YXkKICAgICAgaWYgKGV2LmRlZmF1bHRQcmV2ZW50ZWQpIHsKICAgICAgICBsZXQgcHJldmVudGVyID0gZGV0YWlsLnByZXZlbnRlciB8fCBkZXRhaWwuc291cmNlRXZlbnQ7CiAgICAgICAgaWYgKHByZXZlbnRlciAmJiBwcmV2ZW50ZXIucHJldmVudERlZmF1bHQpIHsKICAgICAgICAgIHByZXZlbnRlci5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIFByZXZlbnRzIHRoZSBkaXNwYXRjaCBhbmQgZGVmYXVsdCBhY3Rpb24gb2YgdGhlIGdpdmVuIGV2ZW50IG5hbWUuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldk5hbWUgRXZlbnQgbmFtZS4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7R2VzdHVyZXN9CiAgICAgKi8KICAgIHByZXZlbnQ6IGZ1bmN0aW9uKGV2TmFtZSkgewogICAgICBsZXQgcmVjb2duaXplciA9IHRoaXMuX2ZpbmRSZWNvZ25pemVyQnlFdmVudChldk5hbWUpOwogICAgICBpZiAocmVjb2duaXplci5pbmZvKSB7CiAgICAgICAgcmVjb2duaXplci5pbmZvLnByZXZlbnQgPSB0cnVlOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogUmVzZXQgdGhlIDI1MDBtcyB0aW1lb3V0IG9uIHByb2Nlc3NpbmcgbW91c2UgaW5wdXQgYWZ0ZXIgZGV0ZWN0aW5nIHRvdWNoIGlucHV0LgogICAgICoKICAgICAqIFRvdWNoIGlucHV0cyBjcmVhdGUgc3ludGhlc2l6ZWQgbW91c2UgaW5wdXRzIGFueXdoZXJlIGZyb20gMCB0byAyMDAwbXMgYWZ0ZXIgdGhlIHRvdWNoLgogICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0ZXN0aW5nIHdpdGggc2ltdWxhdGVkIHRvdWNoIGlucHV0cy4KICAgICAqIENhbGxpbmcgdGhpcyBtZXRob2QgaW4gcHJvZHVjdGlvbiBtYXkgY2F1c2UgZHVwbGljYXRlIHRhcHMgb3Igb3RoZXIgR2VzdHVyZXMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0TW91c2VDYW5jZWxsZXI6IGZ1bmN0aW9uKCkgewogICAgICBpZiAoUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iKSB7CiAgICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iLmZsdXNoKCk7CiAgICAgIH0KICAgIH0KICB9OwoKICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwoKICBHZXN0dXJlcy5yZWdpc3Rlcih7CiAgICBuYW1lOiAnZG93bnVwJywKICAgIGRlcHM6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnLCAndG91Y2hlbmQnXSwKICAgIGZsb3c6IHsKICAgICAgc3RhcnQ6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXSwKICAgICAgZW5kOiBbJ21vdXNldXAnLCAndG91Y2hlbmQnXQogICAgfSwKICAgIGVtaXRzOiBbJ2Rvd24nLCAndXAnXSwKCiAgICBpbmZvOiB7CiAgICAgIG1vdmVmbjogbnVsbCwKICAgICAgdXBmbjogbnVsbAogICAgfSwKCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0OiBmdW5jdGlvbigpIHsKICAgICAgdW50cmFja0RvY3VtZW50KHRoaXMuaW5mbyk7CiAgICB9LAoKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBtb3VzZWRvd246IGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKCFoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgbGV0IHQgPSBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpOwogICAgICBsZXQgc2VsZiA9IHRoaXM7CiAgICAgIGxldCBtb3ZlZm4gPSBmdW5jdGlvbiBtb3ZlZm4oZSkgewogICAgICAgIGlmICghaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgICBzZWxmLl9maXJlKCd1cCcsIHQsIGUpOwogICAgICAgICAgdW50cmFja0RvY3VtZW50KHNlbGYuaW5mbyk7CiAgICAgICAgfQogICAgICB9OwogICAgICBsZXQgdXBmbiA9IGZ1bmN0aW9uIHVwZm4oZSkgewogICAgICAgIGlmIChoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICAgIHNlbGYuX2ZpcmUoJ3VwJywgdCwgZSk7CiAgICAgICAgfQogICAgICAgIHVudHJhY2tEb2N1bWVudChzZWxmLmluZm8pOwogICAgICB9OwogICAgICB0cmFja0RvY3VtZW50KHRoaXMuaW5mbywgbW92ZWZuLCB1cGZuKTsKICAgICAgdGhpcy5fZmlyZSgnZG93bicsIHQsIGUpOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaHN0YXJ0OiBmdW5jdGlvbihlKSB7CiAgICAgIHRoaXMuX2ZpcmUoJ2Rvd24nLCBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpLCBlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgdG91Y2hlbmQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgdGhpcy5fZmlyZSgndXAnLCBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpLCBlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlCiAgICAgKiBAcGFyYW0geyFFdmVudFRhcmdldH0gdGFyZ2V0CiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudAogICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJldmVudGVyCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfZmlyZTogZnVuY3Rpb24odHlwZSwgdGFyZ2V0LCBldmVudCwgcHJldmVudGVyKSB7CiAgICAgIEdlc3R1cmVzLl9maXJlKHRhcmdldCwgdHlwZSwgewogICAgICAgIHg6IGV2ZW50LmNsaWVudFgsCiAgICAgICAgeTogZXZlbnQuY2xpZW50WSwKICAgICAgICBzb3VyY2VFdmVudDogZXZlbnQsCiAgICAgICAgcHJldmVudGVyOiBwcmV2ZW50ZXIsCiAgICAgICAgcHJldmVudDogZnVuY3Rpb24oZSkgewogICAgICAgICAgcmV0dXJuIEdlc3R1cmVzLnByZXZlbnQoZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9KTsKCiAgR2VzdHVyZXMucmVnaXN0ZXIoewogICAgbmFtZTogJ3RyYWNrJywKICAgIHRvdWNoQWN0aW9uOiAnbm9uZScsCiAgICBkZXBzOiBbJ21vdXNlZG93bicsICd0b3VjaHN0YXJ0JywgJ3RvdWNobW92ZScsICd0b3VjaGVuZCddLAogICAgZmxvdzogewogICAgICBzdGFydDogWydtb3VzZWRvd24nLCAndG91Y2hzdGFydCddLAogICAgICBlbmQ6IFsnbW91c2V1cCcsICd0b3VjaGVuZCddCiAgICB9LAogICAgZW1pdHM6IFsndHJhY2snXSwKCiAgICBpbmZvOiB7CiAgICAgIHg6IDAsCiAgICAgIHk6IDAsCiAgICAgIHN0YXRlOiAnc3RhcnQnLAogICAgICBzdGFydGVkOiBmYWxzZSwKICAgICAgbW92ZXM6IFtdLAogICAgICAvKiogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfSAqLwogICAgICBhZGRNb3ZlOiBmdW5jdGlvbihtb3ZlKSB7CiAgICAgICAgaWYgKHRoaXMubW92ZXMubGVuZ3RoID4gVFJBQ0tfTEVOR1RIKSB7CiAgICAgICAgICB0aGlzLm1vdmVzLnNoaWZ0KCk7CiAgICAgICAgfQogICAgICAgIHRoaXMubW92ZXMucHVzaChtb3ZlKTsKICAgICAgfSwKICAgICAgbW92ZWZuOiBudWxsLAogICAgICB1cGZuOiBudWxsLAogICAgICBwcmV2ZW50OiBmYWxzZQogICAgfSwKCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0OiBmdW5jdGlvbigpIHsKICAgICAgdGhpcy5pbmZvLnN0YXRlID0gJ3N0YXJ0JzsKICAgICAgdGhpcy5pbmZvLnN0YXJ0ZWQgPSBmYWxzZTsKICAgICAgdGhpcy5pbmZvLm1vdmVzID0gW107CiAgICAgIHRoaXMuaW5mby54ID0gMDsKICAgICAgdGhpcy5pbmZvLnkgPSAwOwogICAgICB0aGlzLmluZm8ucHJldmVudCA9IGZhbHNlOwogICAgICB1bnRyYWNrRG9jdW1lbnQodGhpcy5pbmZvKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge251bWJlcn0geAogICAgICogQHBhcmFtIHtudW1iZXJ9IHkKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc01vdmVkRW5vdWdoOiBmdW5jdGlvbih4LCB5KSB7CiAgICAgIGlmICh0aGlzLmluZm8ucHJldmVudCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICBpZiAodGhpcy5pbmZvLnN0YXJ0ZWQpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBsZXQgZHggPSBNYXRoLmFicyh0aGlzLmluZm8ueCAtIHgpOwogICAgICBsZXQgZHkgPSBNYXRoLmFicyh0aGlzLmluZm8ueSAtIHkpOwogICAgICByZXR1cm4gKGR4ID49IFRSQUNLX0RJU1RBTkNFIHx8IGR5ID49IFRSQUNLX0RJU1RBTkNFKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgbW91c2Vkb3duOiBmdW5jdGlvbihlKSB7CiAgICAgIGlmICghaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChlKTsKICAgICAgbGV0IHNlbGYgPSB0aGlzOwogICAgICBsZXQgbW92ZWZuID0gZnVuY3Rpb24gbW92ZWZuKGUpIHsKICAgICAgICBsZXQgeCA9IGUuY2xpZW50WCwgeSA9IGUuY2xpZW50WTsKICAgICAgICBpZiAoc2VsZi5oYXNNb3ZlZEVub3VnaCh4LCB5KSkgewogICAgICAgICAgLy8gZmlyc3QgbW92ZSBpcyAnc3RhcnQnLCBzdWJzZXF1ZW50IG1vdmVzIGFyZSAnbW92ZScsIG1vdXNldXAgaXMgJ2VuZCcKICAgICAgICAgIHNlbGYuaW5mby5zdGF0ZSA9IHNlbGYuaW5mby5zdGFydGVkID8gKGUudHlwZSA9PT0gJ21vdXNldXAnID8gJ2VuZCcgOiAndHJhY2snKSA6ICdzdGFydCc7CiAgICAgICAgICBpZiAoc2VsZi5pbmZvLnN0YXRlID09PSAnc3RhcnQnKSB7CiAgICAgICAgICAgIC8vIGlmIGFuZCBvbmx5IGlmIHRyYWNraW5nLCBhbHdheXMgcHJldmVudCB0YXAKICAgICAgICAgICAgR2VzdHVyZXMucHJldmVudCgndGFwJyk7CiAgICAgICAgICB9CiAgICAgICAgICBzZWxmLmluZm8uYWRkTW92ZSh7eDogeCwgeTogeX0pOwogICAgICAgICAgaWYgKCFoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICAgICAgLy8gYWx3YXlzIF9maXJlICJlbmQiCiAgICAgICAgICAgIHNlbGYuaW5mby5zdGF0ZSA9ICdlbmQnOwogICAgICAgICAgICB1bnRyYWNrRG9jdW1lbnQoc2VsZi5pbmZvKTsKICAgICAgICAgIH0KICAgICAgICAgIHNlbGYuX2ZpcmUodCwgZSk7CiAgICAgICAgICBzZWxmLmluZm8uc3RhcnRlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9OwogICAgICBsZXQgdXBmbiA9IGZ1bmN0aW9uIHVwZm4oZSkgewogICAgICAgIGlmIChzZWxmLmluZm8uc3RhcnRlZCkgewogICAgICAgICAgbW92ZWZuKGUpOwogICAgICAgIH0KCiAgICAgICAgLy8gcmVtb3ZlIHRoZSB0ZW1wb3JhcnkgbGlzdGVuZXJzCiAgICAgICAgdW50cmFja0RvY3VtZW50KHNlbGYuaW5mbyk7CiAgICAgIH07CiAgICAgIC8vIGFkZCB0ZW1wb3JhcnkgZG9jdW1lbnQgbGlzdGVuZXJzIGFzIG1vdXNlIHJldGFyZ2V0cwogICAgICB0cmFja0RvY3VtZW50KHRoaXMuaW5mbywgbW92ZWZuLCB1cGZuKTsKICAgICAgdGhpcy5pbmZvLnggPSBlLmNsaWVudFg7CiAgICAgIHRoaXMuaW5mby55ID0gZS5jbGllbnRZOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaHN0YXJ0OiBmdW5jdGlvbihlKSB7CiAgICAgIGxldCBjdCA9IGUuY2hhbmdlZFRvdWNoZXNbMF07CiAgICAgIHRoaXMuaW5mby54ID0gY3QuY2xpZW50WDsKICAgICAgdGhpcy5pbmZvLnkgPSBjdC5jbGllbnRZOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaG1vdmU6IGZ1bmN0aW9uKGUpIHsKICAgICAgbGV0IHQgPSBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpOwogICAgICBsZXQgY3QgPSBlLmNoYW5nZWRUb3VjaGVzWzBdOwogICAgICBsZXQgeCA9IGN0LmNsaWVudFgsIHkgPSBjdC5jbGllbnRZOwogICAgICBpZiAodGhpcy5oYXNNb3ZlZEVub3VnaCh4LCB5KSkgewogICAgICAgIGlmICh0aGlzLmluZm8uc3RhdGUgPT09ICdzdGFydCcpIHsKICAgICAgICAgIC8vIGlmIGFuZCBvbmx5IGlmIHRyYWNraW5nLCBhbHdheXMgcHJldmVudCB0YXAKICAgICAgICAgIEdlc3R1cmVzLnByZXZlbnQoJ3RhcCcpOwogICAgICAgIH0KICAgICAgICB0aGlzLmluZm8uYWRkTW92ZSh7eDogeCwgeTogeX0pOwogICAgICAgIHRoaXMuX2ZpcmUodCwgY3QpOwogICAgICAgIHRoaXMuaW5mby5zdGF0ZSA9ICd0cmFjayc7CiAgICAgICAgdGhpcy5pbmZvLnN0YXJ0ZWQgPSB0cnVlOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHRvdWNoZW5kOiBmdW5jdGlvbihlKSB7CiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChlKTsKICAgICAgbGV0IGN0ID0gZS5jaGFuZ2VkVG91Y2hlc1swXTsKICAgICAgLy8gb25seSB0cmFja2VuZCBpZiB0cmFjayB3YXMgc3RhcnRlZCBhbmQgbm90IGFib3J0ZWQKICAgICAgaWYgKHRoaXMuaW5mby5zdGFydGVkKSB7CiAgICAgICAgLy8gcmVzZXQgc3RhcnRlZCBzdGF0ZSBvbiB1cAogICAgICAgIHRoaXMuaW5mby5zdGF0ZSA9ICdlbmQnOwogICAgICAgIHRoaXMuaW5mby5hZGRNb3ZlKHt4OiBjdC5jbGllbnRYLCB5OiBjdC5jbGllbnRZfSk7CiAgICAgICAgdGhpcy5fZmlyZSh0LCBjdCwgZSk7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0geyFFdmVudFRhcmdldH0gdGFyZ2V0CiAgICAgKiBAcGFyYW0ge1RvdWNofSB0b3VjaAogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgX2ZpcmU6IGZ1bmN0aW9uKHRhcmdldCwgdG91Y2gpIHsKICAgICAgbGV0IHNlY29uZGxhc3QgPSB0aGlzLmluZm8ubW92ZXNbdGhpcy5pbmZvLm1vdmVzLmxlbmd0aCAtIDJdOwogICAgICBsZXQgbGFzdG1vdmUgPSB0aGlzLmluZm8ubW92ZXNbdGhpcy5pbmZvLm1vdmVzLmxlbmd0aCAtIDFdOwogICAgICBsZXQgZHggPSBsYXN0bW92ZS54IC0gdGhpcy5pbmZvLng7CiAgICAgIGxldCBkeSA9IGxhc3Rtb3ZlLnkgLSB0aGlzLmluZm8ueTsKICAgICAgbGV0IGRkeCwgZGR5ID0gMDsKICAgICAgaWYgKHNlY29uZGxhc3QpIHsKICAgICAgICBkZHggPSBsYXN0bW92ZS54IC0gc2Vjb25kbGFzdC54OwogICAgICAgIGRkeSA9IGxhc3Rtb3ZlLnkgLSBzZWNvbmRsYXN0Lnk7CiAgICAgIH0KICAgICAgR2VzdHVyZXMuX2ZpcmUodGFyZ2V0LCAndHJhY2snLCB7CiAgICAgICAgc3RhdGU6IHRoaXMuaW5mby5zdGF0ZSwKICAgICAgICB4OiB0b3VjaC5jbGllbnRYLAogICAgICAgIHk6IHRvdWNoLmNsaWVudFksCiAgICAgICAgZHg6IGR4LAogICAgICAgIGR5OiBkeSwKICAgICAgICBkZHg6IGRkeCwKICAgICAgICBkZHk6IGRkeSwKICAgICAgICBzb3VyY2VFdmVudDogdG91Y2gsCiAgICAgICAgaG92ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIEdlc3R1cmVzLmRlZXBUYXJnZXRGaW5kKHRvdWNoLmNsaWVudFgsIHRvdWNoLmNsaWVudFkpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CgogIH0pOwoKICBHZXN0dXJlcy5yZWdpc3Rlcih7CiAgICBuYW1lOiAndGFwJywKICAgIGRlcHM6IFsnbW91c2Vkb3duJywgJ2NsaWNrJywgJ3RvdWNoc3RhcnQnLCAndG91Y2hlbmQnXSwKICAgIGZsb3c6IHsKICAgICAgc3RhcnQ6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXSwKICAgICAgZW5kOiBbJ2NsaWNrJywgJ3RvdWNoZW5kJ10KICAgIH0sCiAgICBlbWl0czogWyd0YXAnXSwKICAgIGluZm86IHsKICAgICAgeDogTmFOLAogICAgICB5OiBOYU4sCiAgICAgIHByZXZlbnQ6IGZhbHNlCiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZXNldDogZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMuaW5mby54ID0gTmFOOwogICAgICB0aGlzLmluZm8ueSA9IE5hTjsKICAgICAgdGhpcy5pbmZvLnByZXZlbnQgPSBmYWxzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgc2F2ZTogZnVuY3Rpb24oZSkgewogICAgICB0aGlzLmluZm8ueCA9IGUuY2xpZW50WDsKICAgICAgdGhpcy5pbmZvLnkgPSBlLmNsaWVudFk7CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIG1vdXNlZG93bjogZnVuY3Rpb24oZSkgewogICAgICBpZiAoaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgdGhpcy5zYXZlKGUpOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGNsaWNrOiBmdW5jdGlvbihlKSB7CiAgICAgIGlmIChoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICB0aGlzLmZvcndhcmQoZSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgdG91Y2hzdGFydDogZnVuY3Rpb24oZSkgewogICAgICB0aGlzLnNhdmUoZS5jaGFuZ2VkVG91Y2hlc1swXSwgZSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHRvdWNoZW5kOiBmdW5jdGlvbihlKSB7CiAgICAgIHRoaXMuZm9yd2FyZChlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7RXZlbnQgfCBUb3VjaH0gZQogICAgICogQHBhcmFtIHtFdmVudD19IHByZXZlbnRlcgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgZm9yd2FyZDogZnVuY3Rpb24oZSwgcHJldmVudGVyKSB7CiAgICAgIGxldCBkeCA9IE1hdGguYWJzKGUuY2xpZW50WCAtIHRoaXMuaW5mby54KTsKICAgICAgbGV0IGR5ID0gTWF0aC5hYnMoZS5jbGllbnRZIC0gdGhpcy5pbmZvLnkpOwogICAgICAvLyBmaW5kIG9yaWdpbmFsIHRhcmdldCBmcm9tIGBwcmV2ZW50ZXJgIGZvciBUb3VjaEV2ZW50cywgb3IgYGVgIGZvciBNb3VzZUV2ZW50cwogICAgICBsZXQgdCA9IEdlc3R1cmVzLl9maW5kT3JpZ2luYWxUYXJnZXQoLyoqIEB0eXBlIHtFdmVudH0gKi8ocHJldmVudGVyIHx8IGUpKTsKICAgICAgaWYgKCF0IHx8IChjYW5CZURpc2FibGVkWy8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0KS5sb2NhbE5hbWVdICYmIHQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBkeCxkeSBjYW4gYmUgTmFOIGlmIGBjbGlja2AgaGFzIGJlZW4gc2ltdWxhdGVkIGFuZCB0aGVyZSB3YXMgbm8gYGRvd25gIGZvciBgc3RhcnRgCiAgICAgIGlmIChpc05hTihkeCkgfHwgaXNOYU4oZHkpIHx8IChkeCA8PSBUQVBfRElTVEFOQ0UgJiYgZHkgPD0gVEFQX0RJU1RBTkNFKSB8fCBpc1N5bnRoZXRpY0NsaWNrKGUpKSB7CiAgICAgICAgLy8gcHJldmVudCB0YXBzIGZyb20gYmVpbmcgZ2VuZXJhdGVkIGlmIGFuIGV2ZW50IGhhcyBjYW5jZWxlZCB0aGVtCiAgICAgICAgaWYgKCF0aGlzLmluZm8ucHJldmVudCkgewogICAgICAgICAgR2VzdHVyZXMuX2ZpcmUodCwgJ3RhcCcsIHsKICAgICAgICAgICAgeDogZS5jbGllbnRYLAogICAgICAgICAgICB5OiBlLmNsaWVudFksCiAgICAgICAgICAgIHNvdXJjZUV2ZW50OiBlLAogICAgICAgICAgICBwcmV2ZW50ZXI6IHByZXZlbnRlcgogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSk7CgogIC8qIGVzbGludC1lbmFibGUgdmFsaWQtanNkb2MgKi8KCiAgLyoqIEBkZXByZWNhdGVkICovCiAgR2VzdHVyZXMuZmluZE9yaWdpbmFsVGFyZ2V0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldDsKCiAgLyoqIEBkZXByZWNhdGVkICovCiAgR2VzdHVyZXMuYWRkID0gR2VzdHVyZXMuYWRkTGlzdGVuZXI7CgogIC8qKiBAZGVwcmVjYXRlZCAqLwogIEdlc3R1cmVzLnJlbW92ZSA9IEdlc3R1cmVzLnJlbW92ZUxpc3RlbmVyOwoKICBQb2x5bWVyLkdlc3R1cmVzID0gR2VzdHVyZXM7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBAY29uc3Qge1BvbHltZXIuR2VzdHVyZXN9CiAgICovCiAgY29uc3QgZ2VzdHVyZXMgPSBQb2x5bWVyLkdlc3R1cmVzOwoKICAvKioKICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgQVBJIGZvciBhZGRpbmcgUG9seW1lcidzIGNyb3NzLXBsYXRmb3JtCiAgICogZ2VzdHVyZSBldmVudHMgdG8gbm9kZXMuCiAgICoKICAgKiBUaGUgQVBJIGlzIGRlc2lnbmVkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBvdmVycmlkZSBwb2ludHMgaW1wbGVtZW50ZWQKICAgKiBpbiBgUG9seW1lci5UZW1wbGF0ZVN0YW1wYCBzdWNoIHRoYXQgZGVjbGFyYXRpdmUgZXZlbnQgbGlzdGVuZXJzIGluCiAgICogdGVtcGxhdGVzIHdpbGwgc3VwcG9ydCBnZXN0dXJlIGV2ZW50cyB3aGVuIHRoaXMgbWl4aW4gaXMgYXBwbGllZCBhbG9uZyB3aXRoCiAgICogYFBvbHltZXIuVGVtcGxhdGVTdGFtcGAuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgQVBJIGZvciBhZGRpbmcgUG9seW1lcidzIGNyb3NzLXBsYXRmb3JtCiAgICogZ2VzdHVyZSBldmVudHMgdG8gbm9kZXMKICAgKi8KICBQb2x5bWVyLkdlc3R1cmVFdmVudExpc3RlbmVycyA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfR2VzdHVyZUV2ZW50TGlzdGVuZXJzfQogICAgICovCiAgICBjbGFzcyBHZXN0dXJlRXZlbnRMaXN0ZW5lcnMgZXh0ZW5kcyBzdXBlckNsYXNzIHsKCiAgICAgIC8qKgogICAgICAgKiBBZGQgdGhlIGV2ZW50IGxpc3RlbmVyIHRvIHRoZSBub2RlIGlmIGl0IGlzIGEgZ2VzdHVyZXMgZXZlbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBhZGQgZXZlbnQgbGlzdGVuZXIgdG8KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50CiAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KTp2b2lkfSBoYW5kbGVyIExpc3RlbmVyIGZ1bmN0aW9uIHRvIGFkZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgaWYgKCFnZXN0dXJlcy5hZGRMaXN0ZW5lcihub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpKSB7CiAgICAgICAgICBzdXBlci5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZSB0aGUgZXZlbnQgbGlzdGVuZXIgdG8gdGhlIG5vZGUgaWYgaXQgaXMgYSBnZXN0dXJlcyBldmVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIHJlbW92ZSBldmVudCBsaXN0ZW5lciBmcm9tCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBMaXN0ZW5lciBmdW5jdGlvbiB0byByZW1vdmUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgaWYgKCFnZXN0dXJlcy5yZW1vdmVMaXN0ZW5lcihub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpKSB7CiAgICAgICAgICBzdXBlci5fcmVtb3ZlRXZlbnRMaXN0ZW5lckZyb21Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgaGFuZGxlcik7CiAgICAgICAgfQogICAgICB9CgogICAgfQoKICAgIHJldHVybiBHZXN0dXJlRXZlbnRMaXN0ZW5lcnM7CgogIH0pOwoKfSkoKTsKCgogIChmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBjb25zdCBIT1NUX0RJUiA9IC86aG9zdFwoOmRpclwoKGx0cnxydGwpXClcKS9nOwogICAgY29uc3QgSE9TVF9ESVJfUkVQTEFDTUVOVCA9ICc6aG9zdChbZGlyPSIkMSJdKSc7CgogICAgY29uc3QgRUxfRElSID0gLyhbXHNcdy0jXC5cW1xdXCpdKik6ZGlyXCgobHRyfHJ0bClcKS9nOwogICAgY29uc3QgRUxfRElSX1JFUExBQ01FTlQgPSAnOmhvc3QoW2Rpcj0iJDIiXSkgJDEnOwoKICAgIGNvbnN0IERJUl9DSEVDSyA9IC86ZGlyXCgoPzpsdHJ8cnRsKVwpLzsKICAgIAogICAgY29uc3QgU0hJTV9TSEFET1cgPSBCb29sZWFuKHdpbmRvd1snU2hhZHlET00nXSAmJiB3aW5kb3dbJ1NoYWR5RE9NJ11bJ2luVXNlJ10pOwoKICAgIC8qKgogICAgICogQHR5cGUgeyFBcnJheTwhUG9seW1lcl9EaXJNaXhpbj59CiAgICAgKi8KICAgIGNvbnN0IERJUl9JTlNUQU5DRVMgPSBbXTsKCiAgICAvKiogQHR5cGUge011dGF0aW9uT2JzZXJ2ZXJ9ICovCiAgICBsZXQgb2JzZXJ2ZXIgPSBudWxsOwoKICAgIGxldCBET0NVTUVOVF9ESVIgPSAnJzsKCiAgICBmdW5jdGlvbiBnZXRSVEwoKSB7CiAgICAgIERPQ1VNRU5UX0RJUiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHshUG9seW1lcl9EaXJNaXhpbn0gaW5zdGFuY2UgSW5zdGFuY2UgdG8gc2V0IFJUTCBzdGF0dXMgb24KICAgICAqLwogICAgZnVuY3Rpb24gc2V0UlRMKGluc3RhbmNlKSB7CiAgICAgIGlmICghaW5zdGFuY2UuX19hdXRvRGlyT3B0T3V0KSB7CiAgICAgICAgY29uc3QgZWwgPSAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8oaW5zdGFuY2UpOwogICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnZGlyJywgRE9DVU1FTlRfRElSKTsKICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHVwZGF0ZURpcmVjdGlvbigpIHsKICAgICAgZ2V0UlRMKCk7CiAgICAgIERPQ1VNRU5UX0RJUiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IERJUl9JTlNUQU5DRVMubGVuZ3RoOyBpKyspIHsKICAgICAgICBzZXRSVEwoRElSX0lOU1RBTkNFU1tpXSk7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlUmVjb3JkcygpIHsKICAgICAgaWYgKG9ic2VydmVyICYmIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoKSB7CiAgICAgICAgdXBkYXRlRGlyZWN0aW9uKCk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBhbGxvd3MgZWxlbWVudHMgdG8gdXNlIHRoZSBgOmRpcmAgQ1NTIFNlbGVjdG9yIHRvIGhhdmUKICAgICAqIHRleHQgZGlyZWN0aW9uIHNwZWNpZmljIHN0eWxpbmcuCiAgICAgKgogICAgICogV2l0aCB0aGlzIG1peGluLCBhbnkgc3R5bGVzaGVldCBwcm92aWRlZCBpbiB0aGUgdGVtcGxhdGUgd2lsbCB0cmFuc2Zvcm0gYDpkaXJgIGludG8KICAgICAqIGA6aG9zdChbZGlyXSlgIGFuZCBzeW5jIGRpcmVjdGlvbiB3aXRoIHRoZSBwYWdlIHZpYSB0aGUgZWxlbWVudCdzIGBkaXJgIGF0dHJpYnV0ZS4KICAgICAqCiAgICAgKiBFbGVtZW50cyBjYW4gb3B0IG91dCBvZiB0aGUgZ2xvYmFsIHBhZ2UgdGV4dCBkaXJlY3Rpb24gYnkgc2V0dGluZyB0aGUgYGRpcmAgYXR0cmlidXRlCiAgICAgKiBkaXJlY3RseSBpbiBgcmVhZHkoKWAgb3IgaW4gSFRNTC4KICAgICAqCiAgICAgKiBDYXZlYXRzOgogICAgICogLSBBcHBsaWNhdGlvbnMgbXVzdCBzZXQgYDxodG1sIGRpcj0ibHRyIj5gIG9yIGA8aHRtbCBkaXI9InJ0bCI+YCB0byBzeW5jIGRpcmVjdGlvbgogICAgICogLSBBdXRvbWF0aWMgbGVmdC10by1yaWdodCBvciByaWdodC10by1sZWZ0IHN0eWxpbmcgaXMgc3luYydkIHdpdGggdGhlIGA8aHRtbD5gIGVsZW1lbnQgb25seS4KICAgICAqIC0gQ2hhbmdpbmcgYGRpcmAgYXQgcnVudGltZSBpcyBzdXBwb3J0ZWQuCiAgICAgKiAtIE9wdGluZyBvdXQgb2YgdGhlIGdsb2JhbCBkaXJlY3Rpb24gc3R5bGluZyBpcyBwZXJtYW5lbnQKICAgICAqCiAgICAgKiBAbWl4aW5GdW5jdGlvbgogICAgICogQHBvbHltZXIKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUFjY2Vzc29ycwogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqLwogICAgUG9seW1lci5EaXJNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbigoYmFzZSkgPT4gewoKICAgICAgaWYgKCFTSElNX1NIQURPVykgewogICAgICAgIGlmICghb2JzZXJ2ZXIpIHsKICAgICAgICAgIGdldFJUTCgpOwogICAgICAgICAgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih1cGRhdGVEaXJlY3Rpb24pOwogICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGlyJ119KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBAY29uc3RydWN0b3IKICAgICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5QWNjZXNzb3JzfQogICAgICAgKiBAcHJpdmF0ZQogICAgICAgKi8KICAgICAgY29uc3QgZWxlbWVudEJhc2UgPSBQb2x5bWVyLlByb3BlcnR5QWNjZXNzb3JzKGJhc2UpOwoKICAgICAgLyoqCiAgICAgICAqIEBwb2x5bWVyCiAgICAgICAqIEBtaXhpbkNsYXNzCiAgICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0Rpck1peGlufQogICAgICAgKi8KICAgICAgY2xhc3MgRGlyIGV4dGVuZHMgZWxlbWVudEJhc2UgewoKICAgICAgICAvKioKICAgICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICAgKi8KICAgICAgICBzdGF0aWMgX3Byb2Nlc3NTdHlsZVRleHQoY3NzVGV4dCwgYmFzZVVSSSkgewogICAgICAgICAgY3NzVGV4dCA9IHN1cGVyLl9wcm9jZXNzU3R5bGVUZXh0KGNzc1RleHQsIGJhc2VVUkkpOwogICAgICAgICAgaWYgKCFTSElNX1NIQURPVyAmJiBESVJfQ0hFQ0sudGVzdChjc3NUZXh0KSkgewogICAgICAgICAgICBjc3NUZXh0ID0gdGhpcy5fcmVwbGFjZURpckluQ3NzVGV4dChjc3NUZXh0KTsKICAgICAgICAgICAgdGhpcy5fX2FjdGl2YXRlRGlyID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjc3NUZXh0OwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogUmVwbGFjZSBgOmRpcmAgaW4gdGhlIGdpdmVuIENTUyB0ZXh0CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBDU1MgdGV4dCB0byByZXBsYWNlIERJUgogICAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gTW9kaWZpZWQgQ1NTCiAgICAgICAgICovCiAgICAgICAgc3RhdGljIF9yZXBsYWNlRGlySW5Dc3NUZXh0KHRleHQpIHsKICAgICAgICAgIGxldCByZXBsYWNlZFRleHQgPSB0ZXh0OwogICAgICAgICAgcmVwbGFjZWRUZXh0ID0gcmVwbGFjZWRUZXh0LnJlcGxhY2UoSE9TVF9ESVIsIEhPU1RfRElSX1JFUExBQ01FTlQpOwogICAgICAgICAgcmVwbGFjZWRUZXh0ID0gcmVwbGFjZWRUZXh0LnJlcGxhY2UoRUxfRElSLCBFTF9ESVJfUkVQTEFDTUVOVCk7CiAgICAgICAgICByZXR1cm4gcmVwbGFjZWRUZXh0OwogICAgICAgIH0KCiAgICAgICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgICBzdXBlcigpOwogICAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgICAgdGhpcy5fX2F1dG9EaXJPcHRPdXQgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBDbG9zdXJlIGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGF0IGB0aGlzYCBpcyBhbiBIVE1MRWxlbWVudAogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgcmVhZHkoKSB7CiAgICAgICAgICBzdXBlci5yZWFkeSgpOwogICAgICAgICAgdGhpcy5fX2F1dG9EaXJPcHRPdXQgPSAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcykuaGFzQXR0cmlidXRlKCdkaXInKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IElmIGl0IGV4aXN0cyBvbiBlbGVtZW50QmFzZSwgaXQgY2FuIGJlIHN1cGVyJ2QKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgICAgaWYgKGVsZW1lbnRCYXNlLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaykgewogICAgICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHRoaXMuY29uc3RydWN0b3IuX19hY3RpdmF0ZURpcikgewogICAgICAgICAgICB0YWtlUmVjb3JkcygpOwogICAgICAgICAgICBESVJfSU5TVEFOQ0VTLnB1c2godGhpcyk7CiAgICAgICAgICAgIHNldFJUTCh0aGlzKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IElmIGl0IGV4aXN0cyBvbiBlbGVtZW50QmFzZSwgaXQgY2FuIGJlIHN1cGVyJ2QKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgICAgaWYgKGVsZW1lbnRCYXNlLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaykgewogICAgICAgICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHRoaXMuY29uc3RydWN0b3IuX19hY3RpdmF0ZURpcikgewogICAgICAgICAgICBjb25zdCBpZHggPSBESVJfSU5TVEFOQ0VTLmluZGV4T2YodGhpcyk7CiAgICAgICAgICAgIGlmIChpZHggPiAtMSkgewogICAgICAgICAgICAgIERJUl9JTlNUQU5DRVMuc3BsaWNlKGlkeCwgMSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIERpci5fX2FjdGl2YXRlRGlyID0gZmFsc2U7CgogICAgICByZXR1cm4gRGlyOwogICAgfSk7CiAgfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewoKICAndXNlIHN0cmljdCc7CgogIC8vIHJ1biBhIGNhbGxiYWNrIHdoZW4gSFRNTEltcG9ydHMgYXJlIHJlYWR5IG9yIGltbWVkaWF0ZWx5IGlmCiAgLy8gdGhpcyBhcGkgaXMgbm90IGF2YWlsYWJsZS4KICBmdW5jdGlvbiB3aGVuSW1wb3J0c1JlYWR5KGNiKSB7CiAgICBpZiAod2luZG93LkhUTUxJbXBvcnRzKSB7CiAgICAgIEhUTUxJbXBvcnRzLndoZW5SZWFkeShjYik7CiAgICB9IGVsc2UgewogICAgICBjYigpOwogICAgfQogIH0KCiAgLyoqCiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBpbXBvcnRpbmcgYW4gSFRNTCBkb2N1bWVudCBpbXBlcmF0aXZlbHkuCiAgICoKICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgbmV3IGA8bGluayByZWw9ImltcG9ydCI+YCBlbGVtZW50IHdpdGgKICAgKiB0aGUgcHJvdmlkZWQgVVJMIGFuZCBhcHBlbmRzIGl0IHRvIHRoZSBkb2N1bWVudCB0byBzdGFydCBsb2FkaW5nLgogICAqIEluIHRoZSBgb25sb2FkYCBjYWxsYmFjaywgdGhlIGBpbXBvcnRgIHByb3BlcnR5IG9mIHRoZSBgbGlua2AKICAgKiBlbGVtZW50IHdpbGwgY29udGFpbiB0aGUgaW1wb3J0ZWQgZG9jdW1lbnQgY29udGVudHMuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7c3RyaW5nfSBocmVmIFVSTCB0byBkb2N1bWVudCB0byBsb2FkLgogICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFdmVudCk6dm9pZD19IG9ubG9hZCBDYWxsYmFjayB0byBub3RpZnkgd2hlbiBhbiBpbXBvcnQgc3VjY2Vzc2Z1bGx5CiAgICogICBsb2FkZWQuCiAgICogQHBhcmFtIHs/ZnVuY3Rpb24oIUVycm9yRXZlbnQpOnZvaWQ9fSBvbmVycm9yIENhbGxiYWNrIHRvIG5vdGlmeSB3aGVuIGFuIGltcG9ydAogICAqICAgdW5zdWNjZXNzZnVsbHkgbG9hZGVkLgogICAqIEBwYXJhbSB7Ym9vbGVhbj19IG9wdEFzeW5jIFRydWUgaWYgdGhlIGltcG9ydCBzaG91bGQgYmUgbG9hZGVkIGBhc3luY2AuCiAgICogICBEZWZhdWx0cyB0byBgZmFsc2VgLgogICAqIEByZXR1cm4geyFIVE1MTGlua0VsZW1lbnR9IFRoZSBsaW5rIGVsZW1lbnQgZm9yIHRoZSBVUkwgdG8gYmUgbG9hZGVkLgogICAqLwogIFBvbHltZXIuaW1wb3J0SHJlZiA9IGZ1bmN0aW9uKGhyZWYsIG9ubG9hZCwgb25lcnJvciwgb3B0QXN5bmMpIHsKICAgIGxldCBsaW5rID0gLyoqIEB0eXBlIHtIVE1MTGlua0VsZW1lbnR9ICovCiAgICAgIChkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbaHJlZj0iJyArIGhyZWYgKyAnIl1baW1wb3J0LWhyZWZdJykpOwogICAgaWYgKCFsaW5rKSB7CiAgICAgIGxpbmsgPSAvKiogQHR5cGUge0hUTUxMaW5rRWxlbWVudH0gKi8gKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKSk7CiAgICAgIGxpbmsucmVsID0gJ2ltcG9ydCc7CiAgICAgIGxpbmsuaHJlZiA9IGhyZWY7CiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdpbXBvcnQtaHJlZicsICcnKTsKICAgIH0KICAgIC8vIGFsd2F5cyBlbnN1cmUgbGluayBoYXMgYGFzeW5jYCBhdHRyaWJ1dGUgaWYgdXNlciBzcGVjaWZpZWQgb25lLAogICAgLy8gZXZlbiBpZiBpdCB3YXMgcHJldmlvdXNseSBub3QgYXN5bmMuIFRoaXMgaXMgY29uc2lkZXJlZCBsZXNzIGNvbmZ1c2luZy4KICAgIGlmIChvcHRBc3luYykgewogICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnJyk7CiAgICB9CiAgICAvLyBOT1RFOiB0aGUgbGluayBtYXkgbm93IGJlIGluIDMgc3RhdGVzOiAoMSkgcGVuZGluZyBpbnNlcnRpb24sCiAgICAvLyAoMikgaW5mbGlnaHQsICgzKSBhbHJlYWR5IGxvYWRlZC4gSW4gZWFjaCBjYXNlLCB3ZSBuZWVkIHRvIGFkZAogICAgLy8gZXZlbnQgbGlzdGVuZXJzIHRvIHByb2Nlc3MgY2FsbGJhY2tzLgogICAgbGV0IGNsZWFudXAgPSBmdW5jdGlvbigpIHsKICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZExpc3RlbmVyKTsKICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpOwogICAgfTsKICAgIGxldCBsb2FkTGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCkgewogICAgICBjbGVhbnVwKCk7CiAgICAgIC8vIEluIGNhc2Ugb2YgYSBzdWNjZXNzZnVsIGxvYWQsIGNhY2hlIHRoZSBsb2FkIGV2ZW50IG9uIHRoZSBsaW5rIHNvCiAgICAgIC8vIHRoYXQgaXQgY2FuIGJlIHVzZWQgdG8gc2hvcnQtY2lyY3VpdCB0aGlzIG1ldGhvZCBpbiB0aGUgZnV0dXJlIHdoZW4KICAgICAgLy8gaXQgaXMgY2FsbGVkIHdpdGggdGhlIHNhbWUgaHJlZiBwYXJhbS4KICAgICAgbGluay5fX2R5bmFtaWNJbXBvcnRMb2FkZWQgPSB0cnVlOwogICAgICBpZiAob25sb2FkKSB7CiAgICAgICAgd2hlbkltcG9ydHNSZWFkeSgoKSA9PiB7CiAgICAgICAgICBvbmxvYWQoZXZlbnQpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9OwogICAgbGV0IGVycm9yTGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCkgewogICAgICBjbGVhbnVwKCk7CiAgICAgIC8vIEluIGNhc2Ugb2YgYW4gZXJyb3IsIHJlbW92ZSB0aGUgbGluayBmcm9tIHRoZSBkb2N1bWVudCBzbyB0aGF0IGl0CiAgICAgIC8vIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGFnYWluIHRoZSBuZXh0IHRpbWUgYGltcG9ydEhyZWZgIGlzCiAgICAgIC8vIGNhbGxlZC4KICAgICAgaWYgKGxpbmsucGFyZW50Tm9kZSkgewogICAgICAgIGxpbmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChsaW5rKTsKICAgICAgfQogICAgICBpZiAob25lcnJvcikgewogICAgICAgIHdoZW5JbXBvcnRzUmVhZHkoKCkgPT4gewogICAgICAgICAgb25lcnJvcihldmVudCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CiAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkTGlzdGVuZXIpOwogICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpOwogICAgaWYgKGxpbmsucGFyZW50Tm9kZSA9PSBudWxsKSB7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7CiAgICAvLyBpZiB0aGUgbGluayBhbHJlYWR5IGxvYWRlZCwgZGlzcGF0Y2ggYSBmYWtlIGxvYWQgZXZlbnQKICAgIC8vIHNvIHRoYXQgbGlzdGVuZXJzIGFyZSBjYWxsZWQgYW5kIGdldCBhIHByb3BlciBldmVudCBhcmd1bWVudC4KICAgIH0gZWxzZSBpZiAobGluay5fX2R5bmFtaWNJbXBvcnRMb2FkZWQpIHsKICAgICAgbGluay5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnbG9hZCcpKTsKICAgIH0KICAgIHJldHVybiBsaW5rOwogIH07Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgc2NoZWR1bGVkID0gZmFsc2U7CiAgbGV0IGJlZm9yZVJlbmRlclF1ZXVlID0gW107CiAgbGV0IGFmdGVyUmVuZGVyUXVldWUgPSBbXTsKCiAgZnVuY3Rpb24gc2NoZWR1bGUoKSB7CiAgICBzY2hlZHVsZWQgPSB0cnVlOwogICAgLy8gYmVmb3JlIG5leHQgcmVuZGVyCiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CiAgICAgIHNjaGVkdWxlZCA9IGZhbHNlOwogICAgICBmbHVzaFF1ZXVlKGJlZm9yZVJlbmRlclF1ZXVlKTsKICAgICAgLy8gYWZ0ZXIgdGhlIHJlbmRlcgogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHJ1blF1ZXVlKGFmdGVyUmVuZGVyUXVldWUpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZmx1c2hRdWV1ZShxdWV1ZSkgewogICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCkgewogICAgICBjYWxsTWV0aG9kKHF1ZXVlLnNoaWZ0KCkpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcnVuUXVldWUocXVldWUpIHsKICAgIGZvciAobGV0IGk9MCwgbD1xdWV1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgY2FsbE1ldGhvZChxdWV1ZS5zaGlmdCgpKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNhbGxNZXRob2QoaW5mbykgewogICAgY29uc3QgY29udGV4dCA9IGluZm9bMF07CiAgICBjb25zdCBjYWxsYmFjayA9IGluZm9bMV07CiAgICBjb25zdCBhcmdzID0gaW5mb1syXTsKICAgIHRyeSB7CiAgICAgIGNhbGxiYWNrLmFwcGx5KGNvbnRleHQsIGFyZ3MpOwogICAgfSBjYXRjaChlKSB7CiAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIHRocm93IGU7CiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZmx1c2goKSB7CiAgICB3aGlsZSAoYmVmb3JlUmVuZGVyUXVldWUubGVuZ3RoIHx8IGFmdGVyUmVuZGVyUXVldWUubGVuZ3RoKSB7CiAgICAgIGZsdXNoUXVldWUoYmVmb3JlUmVuZGVyUXVldWUpOwogICAgICBmbHVzaFF1ZXVlKGFmdGVyUmVuZGVyUXVldWUpOwogICAgfQogICAgc2NoZWR1bGVkID0gZmFsc2U7CiAgfQoKICAvKioKICAgKiBNb2R1bGUgZm9yIHNjaGVkdWxpbmcgZmx1c2hhYmxlIHByZS1yZW5kZXIgYW5kIHBvc3QtcmVuZGVyIHRhc2tzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIGZvciBzY2hlZHVsaW5nIGZsdXNoYWJsZSBwcmUtcmVuZGVyIGFuZCBwb3N0LXJlbmRlciB0YXNrcy4KICAgKi8KICBQb2x5bWVyLlJlbmRlclN0YXR1cyA9IHsKCiAgICAvKioKICAgICAqIEVucXVldWVzIGEgY2FsbGJhY2sgd2hpY2ggd2lsbCBiZSBydW4gYmVmb3JlIHRoZSBuZXh0IHJlbmRlciwgYXQKICAgICAqIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIHRpbWluZy4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIGVucXVldWluZyB3b3JrIHRoYXQgcmVxdWlyZXMgRE9NIG1lYXN1cmVtZW50LAogICAgICogc2luY2UgbWVhc3VyZW1lbnQgbWF5IG5vdCBiZSByZWxpYWJsZSBpbiBjdXN0b20gZWxlbWVudCBjYWxsYmFja3MgYmVmb3JlCiAgICAgKiB0aGUgZmlyc3QgcmVuZGVyLCBhcyB3ZWxsIGFzIGZvciBiYXRjaGluZyBtZWFzdXJlbWVudCB0YXNrcyBpbiBnZW5lcmFsLgogICAgICoKICAgICAqIFRhc2tzIGluIHRoaXMgcXVldWUgbWF5IGJlIGZsdXNoZWQgYnkgY2FsbGluZyBgUG9seW1lci5SZW5kZXJTdGF0dXMuZmx1c2goKWAuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUmVuZGVyU3RhdHVzCiAgICAgKiBAcGFyYW0geyp9IGNvbnRleHQgQ29udGV4dCBvYmplY3QgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdpbGwgYmUgYm91bmQgdG8KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oLi4uKik6dm9pZH0gY2FsbGJhY2sgQ2FsbGJhY2sgZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7IUFycmF5PX0gYXJncyBBbiBhcnJheSBvZiBhcmd1bWVudHMgdG8gY2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gd2l0aAogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgYmVmb3JlTmV4dFJlbmRlcjogZnVuY3Rpb24oY29udGV4dCwgY2FsbGJhY2ssIGFyZ3MpIHsKICAgICAgaWYgKCFzY2hlZHVsZWQpIHsKICAgICAgICBzY2hlZHVsZSgpOwogICAgICB9CiAgICAgIGJlZm9yZVJlbmRlclF1ZXVlLnB1c2goW2NvbnRleHQsIGNhbGxiYWNrLCBhcmdzXSk7CiAgICB9LAoKICAgIC8qKgogICAgICogRW5xdWV1ZXMgYSBjYWxsYmFjayB3aGljaCB3aWxsIGJlIHJ1biBhZnRlciB0aGUgbmV4dCByZW5kZXIsIGVxdWl2YWxlbnQKICAgICAqIHRvIG9uZSB0YXNrIChgc2V0VGltZW91dGApIGFmdGVyIHRoZSBuZXh0IGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bCBmb3IgdHVuaW5nIHRoZSBmaXJzdC1yZW5kZXIgcGVyZm9ybWFuY2Ugb2YgYW4KICAgICAqIGVsZW1lbnQgb3IgYXBwbGljYXRpb24gYnkgZGVmZXJyaW5nIG5vbi1jcml0aWNhbCB3b3JrIHVudGlsIGFmdGVyIHRoZQogICAgICogZmlyc3QgcGFpbnQuICBUeXBpY2FsIG5vbi1yZW5kZXItY3JpdGljYWwgd29yayBtYXkgaW5jbHVkZSBhZGRpbmcgVUkKICAgICAqIGV2ZW50IGxpc3RlbmVycyBhbmQgYXJpYSBhdHRyaWJ1dGVzLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlbmRlclN0YXR1cwogICAgICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgb2JqZWN0IHRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGJlIGJvdW5kIHRvCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKC4uLiopOnZvaWR9IGNhbGxiYWNrIENhbGxiYWNrIGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0geyFBcnJheT19IGFyZ3MgQW4gYXJyYXkgb2YgYXJndW1lbnRzIHRvIGNhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdpdGgKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGFmdGVyTmV4dFJlbmRlcjogZnVuY3Rpb24oY29udGV4dCwgY2FsbGJhY2ssIGFyZ3MpIHsKICAgICAgaWYgKCFzY2hlZHVsZWQpIHsKICAgICAgICBzY2hlZHVsZSgpOwogICAgICB9CiAgICAgIGFmdGVyUmVuZGVyUXVldWUucHVzaChbY29udGV4dCwgY2FsbGJhY2ssIGFyZ3NdKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBGbHVzaGVzIGFsbCBgYmVmb3JlTmV4dFJlbmRlcmAgdGFza3MsIGZvbGxvd2VkIGJ5IGFsbCBgYWZ0ZXJOZXh0UmVuZGVyYAogICAgICogdGFza3MuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUmVuZGVyU3RhdHVzCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBmbHVzaDogZmx1c2gKCiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdW5yZXNvbHZlZAoKICBmdW5jdGlvbiByZXNvbHZlKCkgewogICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ3VucmVzb2x2ZWQnKTsKICB9CgogIGlmICh3aW5kb3cuV2ViQ29tcG9uZW50cykgewogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ1dlYkNvbXBvbmVudHNSZWFkeScsIHJlc29sdmUpOwogIH0gZWxzZSB7CiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJyB8fCBkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICAgIHJlc29sdmUoKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcmVzb2x2ZSk7CiAgICB9CiAgfQoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgZnVuY3Rpb24gbmV3U3BsaWNlKGluZGV4LCByZW1vdmVkLCBhZGRlZENvdW50KSB7CiAgICByZXR1cm4gewogICAgICBpbmRleDogaW5kZXgsCiAgICAgIHJlbW92ZWQ6IHJlbW92ZWQsCiAgICAgIGFkZGVkQ291bnQ6IGFkZGVkQ291bnQKICAgIH07CiAgfQoKICBjb25zdCBFRElUX0xFQVZFID0gMDsKICBjb25zdCBFRElUX1VQREFURSA9IDE7CiAgY29uc3QgRURJVF9BREQgPSAyOwogIGNvbnN0IEVESVRfREVMRVRFID0gMzsKCiAgLy8gTm90ZTogVGhpcyBmdW5jdGlvbiBpcyAqYmFzZWQqIG9uIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgTGV2ZW5zaHRlaW4KICAvLyAiZWRpdCIgZGlzdGFuY2UuIFRoZSBvbmUgY2hhbmdlIGlzIHRoYXQgInVwZGF0ZXMiIGFyZSB0cmVhdGVkIGFzIHR3bwogIC8vIGVkaXRzIC0gbm90IG9uZS4gV2l0aCBBcnJheSBzcGxpY2VzLCBhbiB1cGRhdGUgaXMgcmVhbGx5IGEgZGVsZXRlCiAgLy8gZm9sbG93ZWQgYnkgYW4gYWRkLiBCeSByZXRhaW5pbmcgdGhpcywgd2Ugb3B0aW1pemUgZm9yICJrZWVwaW5nIiB0aGUKICAvLyBtYXhpbXVtIGFycmF5IGl0ZW1zIGluIHRoZSBvcmlnaW5hbCBhcnJheS4gRm9yIGV4YW1wbGU6CiAgLy8KICAvLyAgICd4eHh4MTIzJyAtPiAnMTIzeXl5eScKICAvLwogIC8vIFdpdGggMS1lZGl0IHVwZGF0ZXMsIHRoZSBzaG9ydGVzdCBwYXRoIHdvdWxkIGJlIGp1c3QgdG8gdXBkYXRlIGFsbCBzZXZlbgogIC8vIGNoYXJhY3RlcnMuIFdpdGggMi1lZGl0IHVwZGF0ZXMsIHdlIGRlbGV0ZSA0LCBsZWF2ZSAzLCBhbmQgYWRkIDQuIFRoaXMKICAvLyBsZWF2ZXMgdGhlIHN1YnN0cmluZyAnMTIzJyBpbnRhY3QuCiAgZnVuY3Rpb24gY2FsY0VkaXREaXN0YW5jZXMoY3VycmVudCwgY3VycmVudFN0YXJ0LCBjdXJyZW50RW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQsIG9sZFN0YXJ0LCBvbGRFbmQpIHsKICAgIC8vICJEZWxldGlvbiIgY29sdW1ucwogICAgbGV0IHJvd0NvdW50ID0gb2xkRW5kIC0gb2xkU3RhcnQgKyAxOwogICAgbGV0IGNvbHVtbkNvdW50ID0gY3VycmVudEVuZCAtIGN1cnJlbnRTdGFydCArIDE7CiAgICBsZXQgZGlzdGFuY2VzID0gbmV3IEFycmF5KHJvd0NvdW50KTsKCiAgICAvLyAiQWRkaXRpb24iIHJvd3MuIEluaXRpYWxpemUgbnVsbCBjb2x1bW4uCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd0NvdW50OyBpKyspIHsKICAgICAgZGlzdGFuY2VzW2ldID0gbmV3IEFycmF5KGNvbHVtbkNvdW50KTsKICAgICAgZGlzdGFuY2VzW2ldWzBdID0gaTsKICAgIH0KCiAgICAvLyBJbml0aWFsaXplIG51bGwgcm93CiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNvbHVtbkNvdW50OyBqKyspCiAgICAgIGRpc3RhbmNlc1swXVtqXSA9IGo7CgogICAgZm9yIChsZXQgaSA9IDE7IGkgPCByb3dDb3VudDsgaSsrKSB7CiAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgY29sdW1uQ291bnQ7IGorKykgewogICAgICAgIGlmIChlcXVhbHMoY3VycmVudFtjdXJyZW50U3RhcnQgKyBqIC0gMV0sIG9sZFtvbGRTdGFydCArIGkgLSAxXSkpCiAgICAgICAgICBkaXN0YW5jZXNbaV1bal0gPSBkaXN0YW5jZXNbaSAtIDFdW2ogLSAxXTsKICAgICAgICBlbHNlIHsKICAgICAgICAgIGxldCBub3J0aCA9IGRpc3RhbmNlc1tpIC0gMV1bal0gKyAxOwogICAgICAgICAgbGV0IHdlc3QgPSBkaXN0YW5jZXNbaV1baiAtIDFdICsgMTsKICAgICAgICAgIGRpc3RhbmNlc1tpXVtqXSA9IG5vcnRoIDwgd2VzdCA/IG5vcnRoIDogd2VzdDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZGlzdGFuY2VzOwogIH0KCiAgLy8gVGhpcyBzdGFydHMgYXQgdGhlIGZpbmFsIHdlaWdodCwgYW5kIHdhbGtzICJiYWNrd2FyZCIgYnkgZmluZGluZwogIC8vIHRoZSBtaW5pbXVtIHByZXZpb3VzIHdlaWdodCByZWN1cnNpdmVseSB1bnRpbCB0aGUgb3JpZ2luIG9mIHRoZSB3ZWlnaHQKICAvLyBtYXRyaXguCiAgZnVuY3Rpb24gc3BsaWNlT3BlcmF0aW9uc0Zyb21FZGl0RGlzdGFuY2VzKGRpc3RhbmNlcykgewogICAgbGV0IGkgPSBkaXN0YW5jZXMubGVuZ3RoIC0gMTsKICAgIGxldCBqID0gZGlzdGFuY2VzWzBdLmxlbmd0aCAtIDE7CiAgICBsZXQgY3VycmVudCA9IGRpc3RhbmNlc1tpXVtqXTsKICAgIGxldCBlZGl0cyA9IFtdOwogICAgd2hpbGUgKGkgPiAwIHx8IGogPiAwKSB7CiAgICAgIGlmIChpID09IDApIHsKICAgICAgICBlZGl0cy5wdXNoKEVESVRfQUREKTsKICAgICAgICBqLS07CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYgKGogPT0gMCkgewogICAgICAgIGVkaXRzLnB1c2goRURJVF9ERUxFVEUpOwogICAgICAgIGktLTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBsZXQgbm9ydGhXZXN0ID0gZGlzdGFuY2VzW2kgLSAxXVtqIC0gMV07CiAgICAgIGxldCB3ZXN0ID0gZGlzdGFuY2VzW2kgLSAxXVtqXTsKICAgICAgbGV0IG5vcnRoID0gZGlzdGFuY2VzW2ldW2ogLSAxXTsKCiAgICAgIGxldCBtaW47CiAgICAgIGlmICh3ZXN0IDwgbm9ydGgpCiAgICAgICAgbWluID0gd2VzdCA8IG5vcnRoV2VzdCA/IHdlc3QgOiBub3J0aFdlc3Q7CiAgICAgIGVsc2UKICAgICAgICBtaW4gPSBub3J0aCA8IG5vcnRoV2VzdCA/IG5vcnRoIDogbm9ydGhXZXN0OwoKICAgICAgaWYgKG1pbiA9PSBub3J0aFdlc3QpIHsKICAgICAgICBpZiAobm9ydGhXZXN0ID09IGN1cnJlbnQpIHsKICAgICAgICAgIGVkaXRzLnB1c2goRURJVF9MRUFWRSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVkaXRzLnB1c2goRURJVF9VUERBVEUpOwogICAgICAgICAgY3VycmVudCA9IG5vcnRoV2VzdDsKICAgICAgICB9CiAgICAgICAgaS0tOwogICAgICAgIGotLTsKICAgICAgfSBlbHNlIGlmIChtaW4gPT0gd2VzdCkgewogICAgICAgIGVkaXRzLnB1c2goRURJVF9ERUxFVEUpOwogICAgICAgIGktLTsKICAgICAgICBjdXJyZW50ID0gd2VzdDsKICAgICAgfSBlbHNlIHsKICAgICAgICBlZGl0cy5wdXNoKEVESVRfQUREKTsKICAgICAgICBqLS07CiAgICAgICAgY3VycmVudCA9IG5vcnRoOwogICAgICB9CiAgICB9CgogICAgZWRpdHMucmV2ZXJzZSgpOwogICAgcmV0dXJuIGVkaXRzOwogIH0KCiAgLyoqCiAgICogU3BsaWNlIFByb2plY3Rpb24gZnVuY3Rpb25zOgogICAqCiAgICogQSBzcGxpY2UgbWFwIGlzIGEgcmVwcmVzZW50YXRpb24gb2YgaG93IGEgcHJldmlvdXMgYXJyYXkgb2YgaXRlbXMKICAgKiB3YXMgdHJhbnNmb3JtZWQgaW50byBhIG5ldyBhcnJheSBvZiBpdGVtcy4gQ29uY2VwdHVhbGx5IGl0IGlzIGEgbGlzdCBvZgogICAqIHR1cGxlcyBvZgogICAqCiAgICogICA8aW5kZXgsIHJlbW92ZWQsIGFkZGVkQ291bnQ+CiAgICoKICAgKiB3aGljaCBhcmUga2VwdCBpbiBhc2NlbmRpbmcgaW5kZXggb3JkZXIgb2YuIFRoZSB0dXBsZSByZXByZXNlbnRzIHRoYXQgYXQKICAgKiB0aGUgfGluZGV4fCwgfHJlbW92ZWR8IHNlcXVlbmNlIG9mIGl0ZW1zIHdlcmUgcmVtb3ZlZCwgYW5kIGNvdW50aW5nIGZvcndhcmQKICAgKiBmcm9tIHxpbmRleHwsIHxhZGRlZENvdW50fCBpdGVtcyB3ZXJlIGFkZGVkLgogICAqLwoKICAvKioKICAgKiBMYWNraW5nIGluZGl2aWR1YWwgc3BsaWNlIG11dGF0aW9uIGluZm9ybWF0aW9uLCB0aGUgbWluaW1hbCBzZXQgb2YKICAgKiBzcGxpY2VzIGNhbiBiZSBzeW50aGVzaXplZCBnaXZlbiB0aGUgcHJldmlvdXMgc3RhdGUgYW5kIGZpbmFsIHN0YXRlIG9mIGFuCiAgICogYXJyYXkuIFRoZSBiYXNpYyBhcHByb2FjaCBpcyB0byBjYWxjdWxhdGUgdGhlIGVkaXQgZGlzdGFuY2UgbWF0cml4IGFuZAogICAqIGNob29zZSB0aGUgc2hvcnRlc3QgcGF0aCB0aHJvdWdoIGl0LgogICAqCiAgICogQ29tcGxleGl0eTogTyhsICogcCkKICAgKiAgIGw6IFRoZSBsZW5ndGggb2YgdGhlIGN1cnJlbnQgYXJyYXkKICAgKiAgIHA6IFRoZSBsZW5ndGggb2YgdGhlIG9sZCBhcnJheQogICAqCiAgICogQHBhcmFtIHshQXJyYXl9IGN1cnJlbnQgVGhlIGN1cnJlbnQgImNoYW5nZWQiIGFycmF5IGZvciB3aGljaCB0bwogICAqIGNhbGN1bGF0ZSBzcGxpY2VzLgogICAqIEBwYXJhbSB7bnVtYmVyfSBjdXJyZW50U3RhcnQgU3RhcnRpbmcgaW5kZXggaW4gdGhlIGBjdXJyZW50YCBhcnJheSBmb3IKICAgKiB3aGljaCBzcGxpY2VzIGFyZSBjYWxjdWxhdGVkLgogICAqIEBwYXJhbSB7bnVtYmVyfSBjdXJyZW50RW5kIEVuZGluZyBpbmRleCBpbiB0aGUgYGN1cnJlbnRgIGFycmF5IGZvcgogICAqIHdoaWNoIHNwbGljZXMgYXJlIGNhbGN1bGF0ZWQuCiAgICogQHBhcmFtIHshQXJyYXl9IG9sZCBUaGUgb3JpZ2luYWwgInVuY2hhbmdlZCIgYXJyYXkgdG8gY29tcGFyZSBgY3VycmVudGAKICAgKiBhZ2FpbnN0IHRvIGRldGVybWluZSBzcGxpY2VzLgogICAqIEBwYXJhbSB7bnVtYmVyfSBvbGRTdGFydCBTdGFydGluZyBpbmRleCBpbiB0aGUgYG9sZGAgYXJyYXkgZm9yCiAgICogd2hpY2ggc3BsaWNlcyBhcmUgY2FsY3VsYXRlZC4KICAgKiBAcGFyYW0ge251bWJlcn0gb2xkRW5kIEVuZGluZyBpbmRleCBpbiB0aGUgYG9sZGAgYXJyYXkgZm9yCiAgICogd2hpY2ggc3BsaWNlcyBhcmUgY2FsY3VsYXRlZC4KICAgKiBAcmV0dXJuIHshQXJyYXl9IFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZCBvYmplY3RzLiBFYWNoIG9mIHRoZXNlCiAgICogY29udGFpbnM6IGBpbmRleGAgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBzcGxpY2Ugb2NjdXJyZWQ7IGByZW1vdmVkYAogICAqIHRoZSBhcnJheSBvZiByZW1vdmVkIGl0ZW1zIGZyb20gdGhpcyBsb2NhdGlvbjsgYGFkZGVkQ291bnRgIHRoZSBudW1iZXIKICAgKiBvZiBpdGVtcyBhZGRlZCBhdCB0aGlzIGxvY2F0aW9uLgogICAqLwogIGZ1bmN0aW9uIGNhbGNTcGxpY2VzKGN1cnJlbnQsIGN1cnJlbnRTdGFydCwgY3VycmVudEVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgb2xkLCBvbGRTdGFydCwgb2xkRW5kKSB7CiAgICBsZXQgcHJlZml4Q291bnQgPSAwOwogICAgbGV0IHN1ZmZpeENvdW50ID0gMDsKICAgIGxldCBzcGxpY2U7CgogICAgbGV0IG1pbkxlbmd0aCA9IE1hdGgubWluKGN1cnJlbnRFbmQgLSBjdXJyZW50U3RhcnQsIG9sZEVuZCAtIG9sZFN0YXJ0KTsKICAgIGlmIChjdXJyZW50U3RhcnQgPT0gMCAmJiBvbGRTdGFydCA9PSAwKQogICAgICBwcmVmaXhDb3VudCA9IHNoYXJlZFByZWZpeChjdXJyZW50LCBvbGQsIG1pbkxlbmd0aCk7CgogICAgaWYgKGN1cnJlbnRFbmQgPT0gY3VycmVudC5sZW5ndGggJiYgb2xkRW5kID09IG9sZC5sZW5ndGgpCiAgICAgIHN1ZmZpeENvdW50ID0gc2hhcmVkU3VmZml4KGN1cnJlbnQsIG9sZCwgbWluTGVuZ3RoIC0gcHJlZml4Q291bnQpOwoKICAgIGN1cnJlbnRTdGFydCArPSBwcmVmaXhDb3VudDsKICAgIG9sZFN0YXJ0ICs9IHByZWZpeENvdW50OwogICAgY3VycmVudEVuZCAtPSBzdWZmaXhDb3VudDsKICAgIG9sZEVuZCAtPSBzdWZmaXhDb3VudDsKCiAgICBpZiAoY3VycmVudEVuZCAtIGN1cnJlbnRTdGFydCA9PSAwICYmIG9sZEVuZCAtIG9sZFN0YXJ0ID09IDApCiAgICAgIHJldHVybiBbXTsKCiAgICBpZiAoY3VycmVudFN0YXJ0ID09IGN1cnJlbnRFbmQpIHsKICAgICAgc3BsaWNlID0gbmV3U3BsaWNlKGN1cnJlbnRTdGFydCwgW10sIDApOwogICAgICB3aGlsZSAob2xkU3RhcnQgPCBvbGRFbmQpCiAgICAgICAgc3BsaWNlLnJlbW92ZWQucHVzaChvbGRbb2xkU3RhcnQrK10pOwoKICAgICAgcmV0dXJuIFsgc3BsaWNlIF07CiAgICB9IGVsc2UgaWYgKG9sZFN0YXJ0ID09IG9sZEVuZCkKICAgICAgcmV0dXJuIFsgbmV3U3BsaWNlKGN1cnJlbnRTdGFydCwgW10sIGN1cnJlbnRFbmQgLSBjdXJyZW50U3RhcnQpIF07CgogICAgbGV0IG9wcyA9IHNwbGljZU9wZXJhdGlvbnNGcm9tRWRpdERpc3RhbmNlcygKICAgICAgICBjYWxjRWRpdERpc3RhbmNlcyhjdXJyZW50LCBjdXJyZW50U3RhcnQsIGN1cnJlbnRFbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQsIG9sZFN0YXJ0LCBvbGRFbmQpKTsKCiAgICBzcGxpY2UgPSB1bmRlZmluZWQ7CiAgICBsZXQgc3BsaWNlcyA9IFtdOwogICAgbGV0IGluZGV4ID0gY3VycmVudFN0YXJ0OwogICAgbGV0IG9sZEluZGV4ID0gb2xkU3RhcnQ7CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgewogICAgICBzd2l0Y2gob3BzW2ldKSB7CiAgICAgICAgY2FzZSBFRElUX0xFQVZFOgogICAgICAgICAgaWYgKHNwbGljZSkgewogICAgICAgICAgICBzcGxpY2VzLnB1c2goc3BsaWNlKTsKICAgICAgICAgICAgc3BsaWNlID0gdW5kZWZpbmVkOwogICAgICAgICAgfQoKICAgICAgICAgIGluZGV4Kys7CiAgICAgICAgICBvbGRJbmRleCsrOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBFRElUX1VQREFURToKICAgICAgICAgIGlmICghc3BsaWNlKQogICAgICAgICAgICBzcGxpY2UgPSBuZXdTcGxpY2UoaW5kZXgsIFtdLCAwKTsKCiAgICAgICAgICBzcGxpY2UuYWRkZWRDb3VudCsrOwogICAgICAgICAgaW5kZXgrKzsKCiAgICAgICAgICBzcGxpY2UucmVtb3ZlZC5wdXNoKG9sZFtvbGRJbmRleF0pOwogICAgICAgICAgb2xkSW5kZXgrKzsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgRURJVF9BREQ6CiAgICAgICAgICBpZiAoIXNwbGljZSkKICAgICAgICAgICAgc3BsaWNlID0gbmV3U3BsaWNlKGluZGV4LCBbXSwgMCk7CgogICAgICAgICAgc3BsaWNlLmFkZGVkQ291bnQrKzsKICAgICAgICAgIGluZGV4Kys7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIEVESVRfREVMRVRFOgogICAgICAgICAgaWYgKCFzcGxpY2UpCiAgICAgICAgICAgIHNwbGljZSA9IG5ld1NwbGljZShpbmRleCwgW10sIDApOwoKICAgICAgICAgIHNwbGljZS5yZW1vdmVkLnB1c2gob2xkW29sZEluZGV4XSk7CiAgICAgICAgICBvbGRJbmRleCsrOwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoc3BsaWNlKSB7CiAgICAgIHNwbGljZXMucHVzaChzcGxpY2UpOwogICAgfQogICAgcmV0dXJuIHNwbGljZXM7CiAgfQoKICBmdW5jdGlvbiBzaGFyZWRQcmVmaXgoY3VycmVudCwgb2xkLCBzZWFyY2hMZW5ndGgpIHsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VhcmNoTGVuZ3RoOyBpKyspCiAgICAgIGlmICghZXF1YWxzKGN1cnJlbnRbaV0sIG9sZFtpXSkpCiAgICAgICAgcmV0dXJuIGk7CiAgICByZXR1cm4gc2VhcmNoTGVuZ3RoOwogIH0KCiAgZnVuY3Rpb24gc2hhcmVkU3VmZml4KGN1cnJlbnQsIG9sZCwgc2VhcmNoTGVuZ3RoKSB7CiAgICBsZXQgaW5kZXgxID0gY3VycmVudC5sZW5ndGg7CiAgICBsZXQgaW5kZXgyID0gb2xkLmxlbmd0aDsKICAgIGxldCBjb3VudCA9IDA7CiAgICB3aGlsZSAoY291bnQgPCBzZWFyY2hMZW5ndGggJiYgZXF1YWxzKGN1cnJlbnRbLS1pbmRleDFdLCBvbGRbLS1pbmRleDJdKSkKICAgICAgY291bnQrKzsKCiAgICByZXR1cm4gY291bnQ7CiAgfQoKICBmdW5jdGlvbiBjYWxjdWxhdGVTcGxpY2VzKGN1cnJlbnQsIHByZXZpb3VzKSB7CiAgICByZXR1cm4gY2FsY1NwbGljZXMoY3VycmVudCwgMCwgY3VycmVudC5sZW5ndGgsIHByZXZpb3VzLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMubGVuZ3RoKTsKICB9CgogIGZ1bmN0aW9uIGVxdWFscyhjdXJyZW50VmFsdWUsIHByZXZpb3VzVmFsdWUpIHsKICAgIHJldHVybiBjdXJyZW50VmFsdWUgPT09IHByZXZpb3VzVmFsdWU7CiAgfQoKICAvKioKICAgKiBAbmFtZXNwYWNlCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBNb2R1bGUgdGhhdCBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGRpZmZpbmcgYXJyYXlzLgogICAqLwogIFBvbHltZXIuQXJyYXlTcGxpY2UgPSB7CiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZHMgaW5kaWNhdGluZyB0aGUgbWluaW11bSBlZGl0cyByZXF1aXJlZAogICAgICogdG8gdHJhbnNmb3JtIHRoZSBgcHJldmlvdXNgIGFycmF5IGludG8gdGhlIGBjdXJyZW50YCBhcnJheS4KICAgICAqCiAgICAgKiBTcGxpY2UgcmVjb3JkcyBhcmUgb3JkZXJlZCBieSBpbmRleCBhbmQgY29udGFpbiB0aGUgZm9sbG93aW5nIGZpZWxkczoKICAgICAqIC0gYGluZGV4YDogaW5kZXggd2hlcmUgZWRpdCBzdGFydGVkCiAgICAgKiAtIGByZW1vdmVkYDogYXJyYXkgb2YgcmVtb3ZlZCBpdGVtcyBmcm9tIHRoaXMgaW5kZXgKICAgICAqIC0gYGFkZGVkQ291bnRgOiBudW1iZXIgb2YgaXRlbXMgYWRkZWQgYXQgdGhpcyBpbmRleAogICAgICoKICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgYmFzZWQgb24gdGhlIExldmVuc2h0ZWluICJtaW5pbXVtIGVkaXQgZGlzdGFuY2UiCiAgICAgKiBhbGdvcml0aG0uIE5vdGUgdGhhdCB1cGRhdGVzIGFyZSB0cmVhdGVkIGFzIHJlbW92YWwgZm9sbG93ZWQgYnkgYWRkaXRpb24uCiAgICAgKgogICAgICogVGhlIHdvcnN0LWNhc2UgdGltZSBjb21wbGV4aXR5IG9mIHRoaXMgYWxnb3JpdGhtIGlzIGBPKGwgKiBwKWAKICAgICAqICAgbDogVGhlIGxlbmd0aCBvZiB0aGUgY3VycmVudCBhcnJheQogICAgICogICBwOiBUaGUgbGVuZ3RoIG9mIHRoZSBwcmV2aW91cyBhcnJheQogICAgICoKICAgICAqIEhvd2V2ZXIsIHRoZSB3b3JzdC1jYXNlIGNvbXBsZXhpdHkgaXMgcmVkdWNlZCBieSBhbiBgTyhuKWAgb3B0aW1pemF0aW9uCiAgICAgKiB0byBkZXRlY3QgYW55IHNoYXJlZCBwcmVmaXggJiBzdWZmaXggYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBhbmQgb25seQogICAgICogcGVyZm9ybSB0aGUgbW9yZSBleHBlbnNpdmUgbWluaW11bSBlZGl0IGRpc3RhbmNlIGNhbGN1bGF0aW9uIG92ZXIgdGhlCiAgICAgKiBub24tc2hhcmVkIHBvcnRpb25zIG9mIHRoZSBhcnJheXMuCiAgICAgKgogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5BcnJheVNwbGljZQogICAgICogQHBhcmFtIHshQXJyYXl9IGN1cnJlbnQgVGhlICJjaGFuZ2VkIiBhcnJheSBmb3Igd2hpY2ggc3BsaWNlcyB3aWxsIGJlCiAgICAgKiBjYWxjdWxhdGVkLgogICAgICogQHBhcmFtIHshQXJyYXl9IHByZXZpb3VzIFRoZSAidW5jaGFuZ2VkIiBvcmlnaW5hbCBhcnJheSB0byBjb21wYXJlCiAgICAgKiBgY3VycmVudGAgYWdhaW5zdCB0byBkZXRlcm1pbmUgdGhlIHNwbGljZXMuCiAgICAgKiBAcmV0dXJuIHshQXJyYXl9IFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZCBvYmplY3RzLiBFYWNoIG9mIHRoZXNlCiAgICAgKiBjb250YWluczogYGluZGV4YCB0aGUgbG9jYXRpb24gd2hlcmUgdGhlIHNwbGljZSBvY2N1cnJlZDsgYHJlbW92ZWRgCiAgICAgKiB0aGUgYXJyYXkgb2YgcmVtb3ZlZCBpdGVtcyBmcm9tIHRoaXMgbG9jYXRpb247IGBhZGRlZENvdW50YCB0aGUgbnVtYmVyCiAgICAgKiBvZiBpdGVtcyBhZGRlZCBhdCB0aGlzIGxvY2F0aW9uLgogICAgICovCiAgICBjYWxjdWxhdGVTcGxpY2VzCiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogUmV0dXJucyB0cnVlIGlmIGBub2RlYCBpcyBhIHNsb3QgZWxlbWVudAogICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBOb2RlIHRvIHRlc3QuCiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBgbm9kZWAgaXMgYSBzbG90CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBpc1Nsb3Qobm9kZSkgewogICAgcmV0dXJuIChub2RlLmxvY2FsTmFtZSA9PT0gJ3Nsb3QnKTsKICB9CgogIC8qKgogICAqIENsYXNzIHRoYXQgbGlzdGVucyBmb3IgY2hhbmdlcyAoYWRkaXRpb25zIG9yIHJlbW92YWxzKSB0bwogICAqICJmbGF0dGVuZWQgbm9kZXMiIG9uIGEgZ2l2ZW4gYG5vZGVgLiBUaGUgbGlzdCBvZiBmbGF0dGVuZWQgbm9kZXMgY29uc2lzdHMKICAgKiBvZiBhIG5vZGUncyBjaGlsZHJlbiBhbmQsIGZvciBhbnkgY2hpbGRyZW4gdGhhdCBhcmUgYDxzbG90PmAgZWxlbWVudHMsCiAgICogdGhlIGV4cGFuZGVkIGZsYXR0ZW5lZCBsaXN0IG9mIGBhc3NpZ25lZE5vZGVzYC4KICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIG9ic2VydmVkIG5vZGUgaGFzIGNoaWxkcmVuIGA8YT48L2E+PHNsb3Q+PC9zbG90PjxiPjwvYj5gCiAgICogYW5kIHRoZSBgPHNsb3Q+YCBoYXMgb25lIGA8ZGl2PmAgYXNzaWduZWQgdG8gaXQsIHRoZW4gdGhlIGZsYXR0ZW5lZAogICAqIG5vZGVzIGxpc3QgaXMgYDxhPjwvYT48ZGl2PjwvZGl2PjxiPjwvYj5gLiBJZiB0aGUgYDxzbG90PmAgaGFzIG90aGVyCiAgICogYDxzbG90PmAgZWxlbWVudHMgYXNzaWduZWQgdG8gaXQsIHRoZXNlIGFyZSBmbGF0dGVuZWQgYXMgd2VsbC4KICAgKgogICAqIFRoZSBwcm92aWRlZCBgY2FsbGJhY2tgIGlzIGNhbGxlZCB3aGVuZXZlciBhbnkgY2hhbmdlIHRvIHRoaXMgbGlzdAogICAqIG9mIGZsYXR0ZW5lZCBub2RlcyBvY2N1cnMsIHdoZXJlIGFuIGFkZGl0aW9uIG9yIHJlbW92YWwgb2YgYSBub2RlIGlzCiAgICogY29uc2lkZXJlZCBhIGNoYW5nZS4gVGhlIGBjYWxsYmFja2AgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50LCBhbiBvYmplY3QKICAgKiBjb250YWluaW5nIGFuIGFycmF5IG9mIGFueSBgYWRkZWROb2Rlc2AgYW5kIGByZW1vdmVkTm9kZXNgLgogICAqCiAgICogTm90ZTogdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBhc3luY2hyb25vdXMgdG8gYW55IGNoYW5nZXMKICAgKiBhdCBhIG1pY3JvdGFzayBjaGVja3BvaW50LiBUaGlzIGlzIGJlY2F1c2Ugb2JzZXJ2YXRpb24gaXMgcGVyZm9ybWVkIHVzaW5nCiAgICogYE11dGF0aW9uT2JzZXJ2ZXJgIGFuZCB0aGUgYDxzbG90PmAgZWxlbWVudCdzIGBzbG90Y2hhbmdlYCBldmVudCB3aGljaAogICAqIGFyZSBhc3luY2hyb25vdXMuCiAgICoKICAgKiBBbiBleGFtcGxlOgogICAqIGBgYGpzCiAgICogY2xhc3MgVGVzdFNlbGZPYnNlcnZlIGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAndGVzdC1zZWxmLW9ic2VydmUnO30KICAgKiAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAqICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAqICAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXIodGhpcywgKGluZm8pID0+IHsKICAgKiAgICAgICB0aGlzLmluZm8gPSBpbmZvOwogICAqICAgICB9KTsKICAgKiAgIH0KICAgKiAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAqICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAqICAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICogICB9CiAgICogfQogICAqIGN1c3RvbUVsZW1lbnRzLmRlZmluZShUZXN0U2VsZk9ic2VydmUuaXMsIFRlc3RTZWxmT2JzZXJ2ZSk7CiAgICogYGBgCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IENsYXNzIHRoYXQgbGlzdGVucyBmb3IgY2hhbmdlcyAoYWRkaXRpb25zIG9yIHJlbW92YWxzKSB0bwogICAqICJmbGF0dGVuZWQgbm9kZXMiIG9uIGEgZ2l2ZW4gYG5vZGVgLgogICAqLwogIGNsYXNzIEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXIgewoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGlzdCBvZiBmbGF0dGVuZWQgbm9kZXMgZm9yIHRoZSBnaXZlbiBgbm9kZWAuCiAgICAgKiBUaGlzIGxpc3QgY29uc2lzdHMgb2YgYSBub2RlJ3MgY2hpbGRyZW4gYW5kLCBmb3IgYW55IGNoaWxkcmVuCiAgICAgKiB0aGF0IGFyZSBgPHNsb3Q+YCBlbGVtZW50cywgdGhlIGV4cGFuZGVkIGZsYXR0ZW5lZCBsaXN0IG9mIGBhc3NpZ25lZE5vZGVzYC4KICAgICAqIEZvciBleGFtcGxlLCBpZiB0aGUgb2JzZXJ2ZWQgbm9kZSBoYXMgY2hpbGRyZW4gYDxhPjwvYT48c2xvdD48L3Nsb3Q+PGI+PC9iPmAKICAgICAqIGFuZCB0aGUgYDxzbG90PmAgaGFzIG9uZSBgPGRpdj5gIGFzc2lnbmVkIHRvIGl0LCB0aGVuIHRoZSBmbGF0dGVuZWQKICAgICAqIG5vZGVzIGxpc3QgaXMgYDxhPjwvYT48ZGl2PjwvZGl2PjxiPjwvYj5gLiBJZiB0aGUgYDxzbG90PmAgaGFzIG90aGVyCiAgICAgKiBgPHNsb3Q+YCBlbGVtZW50cyBhc3NpZ25lZCB0byBpdCwgdGhlc2UgYXJlIGZsYXR0ZW5lZCBhcyB3ZWxsLgogICAgICoKICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8SFRNTFNsb3RFbGVtZW50fSBub2RlIFRoZSBub2RlIGZvciB3aGljaCB0byByZXR1cm4gdGhlIGxpc3Qgb2YgZmxhdHRlbmVkIG5vZGVzLgogICAgICogQHJldHVybiB7QXJyYXl9IFRoZSBsaXN0IG9mIGZsYXR0ZW5lZCBub2RlcyBmb3IgdGhlIGdpdmVuIGBub2RlYC4KICAgICovCiAgICBzdGF0aWMgZ2V0RmxhdHRlbmVkTm9kZXMobm9kZSkgewogICAgICBpZiAoaXNTbG90KG5vZGUpKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7SFRNTFNsb3RFbGVtZW50fSAqLyhub2RlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWFzc2lnbgogICAgICAgIHJldHVybiBub2RlLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46IHRydWV9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShub2RlLmNoaWxkTm9kZXMpLm1hcCgobm9kZSkgPT4gewogICAgICAgICAgaWYgKGlzU2xvdChub2RlKSkgewogICAgICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtIVE1MU2xvdEVsZW1lbnR9ICovKG5vZGUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgICAgIHJldHVybiBub2RlLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46IHRydWV9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBbbm9kZV07CiAgICAgICAgICB9CiAgICAgICAgfSkucmVkdWNlKChhLCBiKSA9PiBhLmNvbmNhdChiKSwgW10pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IHRhcmdldCBOb2RlIG9uIHdoaWNoIHRvIGxpc3RlbiBmb3IgY2hhbmdlcy4KICAgICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFbGVtZW50LCB7IHRhcmdldDogIUVsZW1lbnQsIGFkZGVkTm9kZXM6ICFBcnJheTwhRWxlbWVudD4sIHJlbW92ZWROb2RlczogIUFycmF5PCFFbGVtZW50PiB9KTp2b2lkfSBjYWxsYmFjayBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGVyZSBhcmUgYWRkaXRpb25zCiAgICAgKiBvciByZW1vdmFscyBmcm9tIHRoZSB0YXJnZXQncyBsaXN0IG9mIGZsYXR0ZW5lZCBub2Rlcy4KICAgICovCiAgICBjb25zdHJ1Y3Rvcih0YXJnZXQsIGNhbGxiYWNrKSB7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7TXV0YXRpb25PYnNlcnZlcn0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlciA9IG51bGw7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7TXV0YXRpb25PYnNlcnZlcn0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIgPSBudWxsOwogICAgICB0aGlzLl9jb25uZWN0ZWQgPSBmYWxzZTsKICAgICAgLyoqCiAgICAgICAqIEB0eXBlIHtFbGVtZW50fQogICAgICAgKiBAcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5fdGFyZ2V0ID0gdGFyZ2V0OwogICAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgIHRoaXMuX2VmZmVjdGl2ZU5vZGVzID0gW107CiAgICAgIHRoaXMuX29ic2VydmVyID0gbnVsbDsKICAgICAgdGhpcy5fc2NoZWR1bGVkID0gZmFsc2U7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7ZnVuY3Rpb24oKX0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX2JvdW5kU2NoZWR1bGUgPSAoKSA9PiB7CiAgICAgICAgdGhpcy5fc2NoZWR1bGUoKTsKICAgICAgfTsKICAgICAgdGhpcy5jb25uZWN0KCk7CiAgICAgIHRoaXMuX3NjaGVkdWxlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBY3RpdmF0ZXMgYW4gb2JzZXJ2ZXIuIFRoaXMgbWV0aG9kIGlzIGF1dG9tYXRpY2FsbHkgY2FsbGVkIHdoZW4KICAgICAqIGEgYEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJgIGlzIGNyZWF0ZWQuIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCB0bwogICAgICogcmUtYWN0aXZhdGUgYW4gb2JzZXJ2ZXIgdGhhdCBoYXMgYmVlbiBkZWFjdGl2YXRlZCB2aWEgdGhlIGBkaXNjb25uZWN0YCBtZXRob2QuCiAgICAgKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgY29ubmVjdCgpIHsKICAgICAgaWYgKGlzU2xvdCh0aGlzLl90YXJnZXQpKSB7CiAgICAgICAgdGhpcy5fbGlzdGVuU2xvdHMoW3RoaXMuX3RhcmdldF0pOwogICAgICB9IGVsc2UgaWYgKHRoaXMuX3RhcmdldC5jaGlsZHJlbikgewogICAgICAgIHRoaXMuX2xpc3RlblNsb3RzKHRoaXMuX3RhcmdldC5jaGlsZHJlbik7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSkgewogICAgICAgICAgdGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyID0KICAgICAgICAgICAgU2hhZHlET00ub2JzZXJ2ZUNoaWxkcmVuKHRoaXMuX3RhcmdldCwgKG11dGF0aW9ucykgPT4gewogICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NNdXRhdGlvbnMobXV0YXRpb25zKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIgPQogICAgICAgICAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7CiAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc011dGF0aW9ucyhtdXRhdGlvbnMpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl90YXJnZXQsIHtjaGlsZExpc3Q6IHRydWV9KTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIERlYWN0aXZhdGVzIHRoZSBmbGF0dGVuZWQgbm9kZXMgb2JzZXJ2ZXIuIEFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QKICAgICAqIHRoZSBvYnNlcnZlciBjYWxsYmFjayB3aWxsIG5vdCBiZSBjYWxsZWQgd2hlbiBjaGFuZ2VzIHRvIGZsYXR0ZW5lZCBub2RlcwogICAgICogb2NjdXIuIFRoZSBgY29ubmVjdGAgbWV0aG9kIG1heSBiZSBzdWJzZXF1ZW50bHkgY2FsbGVkIHRvIHJlYWN0aXZhdGUKICAgICAqIHRoZSBvYnNlcnZlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBkaXNjb25uZWN0KCkgewogICAgICBpZiAoaXNTbG90KHRoaXMuX3RhcmdldCkpIHsKICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKFt0aGlzLl90YXJnZXRdKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLl90YXJnZXQuY2hpbGRyZW4pIHsKICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKHRoaXMuX3RhcmdldC5jaGlsZHJlbik7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSAmJiB0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXIpIHsKICAgICAgICAgIFNoYWR5RE9NLnVub2JzZXJ2ZUNoaWxkcmVuKHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlcik7CiAgICAgICAgICB0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXIgPSBudWxsOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcikgewogICAgICAgICAgdGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAgICAgICB0aGlzLl9uYXRpdmVDaGlsZHJlbk9ic2VydmVyID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3NjaGVkdWxlKCkgewogICAgICBpZiAoIXRoaXMuX3NjaGVkdWxlZCkgewogICAgICAgIHRoaXMuX3NjaGVkdWxlZCA9IHRydWU7CiAgICAgICAgUG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKCgpID0+IHRoaXMuZmx1c2goKSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSB7QXJyYXk8TXV0YXRpb25SZWNvcmQ+fSBtdXRhdGlvbnMgTXV0YXRpb25zIHNpZ25hbGVkIGJ5IHRoZSBtdXRhdGlvbiBvYnNlcnZlcgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIF9wcm9jZXNzTXV0YXRpb25zKG11dGF0aW9ucykgewogICAgICB0aGlzLl9wcm9jZXNzU2xvdE11dGF0aW9ucyhtdXRhdGlvbnMpOwogICAgICB0aGlzLmZsdXNoKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge0FycmF5PE11dGF0aW9uUmVjb3JkPn0gbXV0YXRpb25zIE11dGF0aW9ucyBzaWduYWxlZCBieSB0aGUgbXV0YXRpb24gb2JzZXJ2ZXIKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBfcHJvY2Vzc1Nsb3RNdXRhdGlvbnMobXV0YXRpb25zKSB7CiAgICAgIGlmIChtdXRhdGlvbnMpIHsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBtdXRhdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGxldCBtdXRhdGlvbiA9IG11dGF0aW9uc1tpXTsKICAgICAgICAgIGlmIChtdXRhdGlvbi5hZGRlZE5vZGVzKSB7CiAgICAgICAgICAgIHRoaXMuX2xpc3RlblNsb3RzKG11dGF0aW9uLmFkZGVkTm9kZXMpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG11dGF0aW9uLnJlbW92ZWROb2RlcykgewogICAgICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKG11dGF0aW9uLnJlbW92ZWROb2Rlcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBGbHVzaGVzIHRoZSBvYnNlcnZlciBjYXVzaW5nIGFueSBwZW5kaW5nIGNoYW5nZXMgdG8gYmUgaW1tZWRpYXRlbHkKICAgICAqIGRlbGl2ZXJlZCB0aGUgb2JzZXJ2ZXIgY2FsbGJhY2suIEJ5IGRlZmF1bHQgdGhlc2UgY2hhbmdlcyBhcmUgZGVsaXZlcmVkCiAgICAgKiBhc3luY2hyb25vdXNseSBhdCB0aGUgbmV4dCBtaWNyb3Rhc2sgY2hlY2twb2ludC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYW55IHBlbmRpbmcgY2hhbmdlcyBjYXVzZWQgdGhlIG9ic2VydmVyCiAgICAgKiBjYWxsYmFjayB0byBydW4uCiAgICAgKi8KICAgIGZsdXNoKCkgewogICAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICBpZiAod2luZG93LlNoYWR5RE9NKSB7CiAgICAgICAgU2hhZHlET00uZmx1c2goKTsKICAgICAgfQogICAgICBpZiAodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcikgewogICAgICAgIHRoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyKSB7CiAgICAgICAgdGhpcy5fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyLnRha2VSZWNvcmRzKCkpOwogICAgICB9CiAgICAgIHRoaXMuX3NjaGVkdWxlZCA9IGZhbHNlOwogICAgICBsZXQgaW5mbyA9IHsKICAgICAgICB0YXJnZXQ6IHRoaXMuX3RhcmdldCwKICAgICAgICBhZGRlZE5vZGVzOiBbXSwKICAgICAgICByZW1vdmVkTm9kZXM6IFtdCiAgICAgIH07CiAgICAgIGxldCBuZXdOb2RlcyA9IHRoaXMuY29uc3RydWN0b3IuZ2V0RmxhdHRlbmVkTm9kZXModGhpcy5fdGFyZ2V0KTsKICAgICAgbGV0IHNwbGljZXMgPSBQb2x5bWVyLkFycmF5U3BsaWNlLmNhbGN1bGF0ZVNwbGljZXMobmV3Tm9kZXMsCiAgICAgICAgdGhpcy5fZWZmZWN0aXZlTm9kZXMpOwogICAgICAvLyBwcm9jZXNzIHJlbW92YWxzCiAgICAgIGZvciAobGV0IGk9MCwgczsgKGk8c3BsaWNlcy5sZW5ndGgpICYmIChzPXNwbGljZXNbaV0pOyBpKyspIHsKICAgICAgICBmb3IgKGxldCBqPTAsIG47IChqIDwgcy5yZW1vdmVkLmxlbmd0aCkgJiYgKG49cy5yZW1vdmVkW2pdKTsgaisrKSB7CiAgICAgICAgICBpbmZvLnJlbW92ZWROb2Rlcy5wdXNoKG4pOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBwcm9jZXNzIGFkZHMKICAgICAgZm9yIChsZXQgaT0wLCBzOyAoaTxzcGxpY2VzLmxlbmd0aCkgJiYgKHM9c3BsaWNlc1tpXSk7IGkrKykgewogICAgICAgIGZvciAobGV0IGo9cy5pbmRleDsgaiA8IHMuaW5kZXggKyBzLmFkZGVkQ291bnQ7IGorKykgewogICAgICAgICAgaW5mby5hZGRlZE5vZGVzLnB1c2gobmV3Tm9kZXNbal0pOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyB1cGRhdGUgY2FjaGUKICAgICAgdGhpcy5fZWZmZWN0aXZlTm9kZXMgPSBuZXdOb2RlczsKICAgICAgbGV0IGRpZEZsdXNoID0gZmFsc2U7CiAgICAgIGlmIChpbmZvLmFkZGVkTm9kZXMubGVuZ3RoIHx8IGluZm8ucmVtb3ZlZE5vZGVzLmxlbmd0aCkgewogICAgICAgIGRpZEZsdXNoID0gdHJ1ZTsKICAgICAgICB0aGlzLmNhbGxiYWNrLmNhbGwodGhpcy5fdGFyZ2V0LCBpbmZvKTsKICAgICAgfQogICAgICByZXR1cm4gZGlkRmx1c2g7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0geyFBcnJheTxFbGVtZW50fE5vZGU+fCFOb2RlTGlzdDxOb2RlPn0gbm9kZUxpc3QgTm9kZXMgdGhhdCBjb3VsZCBjaGFuZ2UKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBfbGlzdGVuU2xvdHMobm9kZUxpc3QpIHsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbiA9IG5vZGVMaXN0W2ldOwogICAgICAgIGlmIChpc1Nsb3QobikpIHsKICAgICAgICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2JvdW5kU2NoZWR1bGUpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHshQXJyYXk8RWxlbWVudHxOb2RlPnwhTm9kZUxpc3Q8Tm9kZT59IG5vZGVMaXN0IE5vZGVzIHRoYXQgY291bGQgY2hhbmdlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3VubGlzdGVuU2xvdHMobm9kZUxpc3QpIHsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbiA9IG5vZGVMaXN0W2ldOwogICAgICAgIGlmIChpc1Nsb3QobikpIHsKICAgICAgICAgIG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2JvdW5kU2NoZWR1bGUpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICB9CgogIFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlciA9IEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXI7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGxldCBkZWJvdW5jZXJRdWV1ZSA9IFtdOwoKICAvKioKICAgKiBBZGRzIGEgYFBvbHltZXIuRGVib3VuY2VyYCB0byBhIGxpc3Qgb2YgZ2xvYmFsbHkgZmx1c2hhYmxlIHRhc2tzLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcGFyYW0geyFQb2x5bWVyLkRlYm91bmNlcn0gZGVib3VuY2VyIERlYm91bmNlciB0byBlbnF1ZXVlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLmVucXVldWVEZWJvdW5jZXIgPSBmdW5jdGlvbihkZWJvdW5jZXIpIHsKICAgIGRlYm91bmNlclF1ZXVlLnB1c2goZGVib3VuY2VyKTsKICB9OwoKICBmdW5jdGlvbiBmbHVzaERlYm91bmNlcnMoKSB7CiAgICBjb25zdCBkaWRGbHVzaCA9IEJvb2xlYW4oZGVib3VuY2VyUXVldWUubGVuZ3RoKTsKICAgIHdoaWxlIChkZWJvdW5jZXJRdWV1ZS5sZW5ndGgpIHsKICAgICAgdHJ5IHsKICAgICAgICBkZWJvdW5jZXJRdWV1ZS5zaGlmdCgpLmZsdXNoKCk7CiAgICAgIH0gY2F0Y2goZSkgewogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGRpZEZsdXNoOwogIH0KCiAgLyoqCiAgICogRm9yY2VzIHNldmVyYWwgY2xhc3NlcyBvZiBhc3luY2hyb25vdXNseSBxdWV1ZWQgdGFza3MgdG8gZmx1c2g6CiAgICogLSBEZWJvdW5jZXJzIGFkZGVkIHZpYSBgZW5xdWV1ZURlYm91bmNlcmAKICAgKiAtIFNoYWR5RE9NIGRpc3RyaWJ1dGlvbgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqLwogIFBvbHltZXIuZmx1c2ggPSBmdW5jdGlvbigpIHsKICAgIGxldCBzaGFkeURPTSwgZGVib3VuY2VyczsKICAgIGRvIHsKICAgICAgc2hhZHlET00gPSB3aW5kb3cuU2hhZHlET00gJiYgU2hhZHlET00uZmx1c2goKTsKICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUyAmJiB3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pIHsKICAgICAgICB3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0uZmx1c2goKTsKICAgICAgfQogICAgICBkZWJvdW5jZXJzID0gZmx1c2hEZWJvdW5jZXJzKCk7CiAgICB9IHdoaWxlIChzaGFkeURPTSB8fCBkZWJvdW5jZXJzKTsKICB9OwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICBjb25zdCBwID0gRWxlbWVudC5wcm90b3R5cGU7CiAgLyoqCiAgICogQGNvbnN0IHtmdW5jdGlvbih0aGlzOk5vZGUsIHN0cmluZyk6IGJvb2xlYW59CiAgICovCiAgY29uc3Qgbm9ybWFsaXplZE1hdGNoZXNTZWxlY3RvciA9IHAubWF0Y2hlcyB8fCBwLm1hdGNoZXNTZWxlY3RvciB8fAogICAgcC5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgcC5tc01hdGNoZXNTZWxlY3RvciB8fAogICAgcC5vTWF0Y2hlc1NlbGVjdG9yIHx8IHAud2Via2l0TWF0Y2hlc1NlbGVjdG9yOwoKICAvKioKICAgKiBDcm9zcy1wbGF0Zm9ybSBgZWxlbWVudC5tYXRjaGVzYCBzaGltLgogICAqCiAgICogQGZ1bmN0aW9uIG1hdGNoZXNTZWxlY3RvcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyLmRvbQogICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBjaGVjayBzZWxlY3RvciBhZ2FpbnN0CiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIG1hdGNoCiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBub2RlIG1hdGNoZWQgc2VsZWN0b3IKICAgKi8KICBjb25zdCBtYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbihub2RlLCBzZWxlY3RvcikgewogICAgcmV0dXJuIG5vcm1hbGl6ZWRNYXRjaGVzU2VsZWN0b3IuY2FsbChub2RlLCBzZWxlY3Rvcik7CiAgfTsKCiAgLyoqCiAgICogTm9kZSBBUEkgd3JhcHBlciBjbGFzcyByZXR1cm5lZCBmcm9tIGBQb2x5bWVyLmRvbS4odGFyZ2V0KWAgd2hlbgogICAqIGB0YXJnZXRgIGlzIGEgYE5vZGVgLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKi8KICBjbGFzcyBEb21BcGkgewoKICAgIC8qKgogICAgICogQHBhcmFtIHtOb2RlfSBub2RlIE5vZGUgZm9yIHdoaWNoIHRvIGNyZWF0ZSBhIFBvbHltZXIuZG9tIGhlbHBlciBvYmplY3QuCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKG5vZGUpIHsKICAgICAgdGhpcy5ub2RlID0gbm9kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gaW5zdGFuY2Ugb2YgYFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlcmAgdGhhdAogICAgICogbGlzdGVucyBmb3Igbm9kZSBjaGFuZ2VzIG9uIHRoaXMgZWxlbWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFbGVtZW50LCB7IHRhcmdldDogIUVsZW1lbnQsIGFkZGVkTm9kZXM6ICFBcnJheTwhRWxlbWVudD4sIHJlbW92ZWROb2RlczogIUFycmF5PCFFbGVtZW50PiB9KTp2b2lkfSBjYWxsYmFjayBDYWxsZWQgd2hlbiBkaXJlY3Qgb3IgZGlzdHJpYnV0ZWQgY2hpbGRyZW4KICAgICAqICAgb2YgdGhpcyBlbGVtZW50IGNoYW5nZXMKICAgICAqIEByZXR1cm4geyFQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJ9IE9ic2VydmVyIGluc3RhbmNlCiAgICAgKi8KICAgIG9ic2VydmVOb2RlcyhjYWxsYmFjaykgewogICAgICByZXR1cm4gbmV3IFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlcih0aGlzLm5vZGUsIGNhbGxiYWNrKTsKICAgIH0KCiAgICAvKioKICAgICAqIERpc2Nvbm5lY3RzIGFuIG9ic2VydmVyIHByZXZpb3VzbHkgY3JlYXRlZCB2aWEgYG9ic2VydmVOb2Rlc2AKICAgICAqCiAgICAgKiBAcGFyYW0geyFQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJ9IG9ic2VydmVySGFuZGxlIE9ic2VydmVyIGluc3RhbmNlCiAgICAgKiAgIHRvIGRpc2Nvbm5lY3QuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB1bm9ic2VydmVOb2RlcyhvYnNlcnZlckhhbmRsZSkgewogICAgICBvYnNlcnZlckhhbmRsZS5kaXNjb25uZWN0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcm92aWRlZCBhcyBhIGJhY2t3YXJkcy1jb21wYXRpYmxlIEFQSSBvbmx5LiAgVGhpcyBtZXRob2QgZG9lcyBub3RoaW5nLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgbm90aWZ5T2JzZXJ2ZXIoKSB7fQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwcm92aWRlZCBub2RlIGlzIGNvbnRhaW5lZCB3aXRoIHRoaXMgZWxlbWVudCdzCiAgICAgKiBsaWdodC1ET00gY2hpbGRyZW4gb3Igc2hhZG93IHJvb3QsIGluY2x1ZGluZyBhbnkgbmVzdGVkIHNoYWRvdyByb290cwogICAgICogb2YgY2hpbGRyZW4gdGhlcmVpbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byB0ZXN0CiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGBub2RlYCBpcyBjb250YWluZWQgd2l0aGluCiAgICAgKiAgIHRoaXMgZWxlbWVudCdzIGxpZ2h0IG9yIHNoYWRvdyBET00uCiAgICAgKi8KICAgIGRlZXBDb250YWlucyhub2RlKSB7CiAgICAgIGlmICh0aGlzLm5vZGUuY29udGFpbnMobm9kZSkpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBsZXQgbiA9IG5vZGU7CiAgICAgIGxldCBkb2MgPSBub2RlLm93bmVyRG9jdW1lbnQ7CiAgICAgIC8vIHdhbGsgZnJvbSBub2RlIHRvIGB0aGlzYCBvciBgZG9jdW1lbnRgCiAgICAgIHdoaWxlIChuICYmIG4gIT09IGRvYyAmJiBuICE9PSB0aGlzLm5vZGUpIHsKICAgICAgICAvLyB1c2UgbG9naWNhbCBwYXJlbnRub2RlLCBvciBuYXRpdmUgU2hhZG93Um9vdCBob3N0CiAgICAgICAgbiA9IG4ucGFyZW50Tm9kZSB8fCBuLmhvc3Q7CiAgICAgIH0KICAgICAgcmV0dXJuIG4gPT09IHRoaXMubm9kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHJvb3Qgbm9kZSBvZiB0aGlzIG5vZGUuICBFcXVpdmFsZW50IHRvIGBnZXRSb29kTm9kZSgpYC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtOb2RlfSBUb3AgbW9zdCBlbGVtZW50IGluIHRoZSBkb20gdHJlZSBpbiB3aGljaCB0aGUgbm9kZQogICAgICogZXhpc3RzLiBJZiB0aGUgbm9kZSBpcyBjb25uZWN0ZWQgdG8gYSBkb2N1bWVudCB0aGlzIGlzIGVpdGhlciBhCiAgICAgKiBzaGFkb3dSb290IG9yIHRoZSBkb2N1bWVudDsgb3RoZXJ3aXNlLCBpdCBtYXkgYmUgdGhlIG5vZGUKICAgICAqIGl0c2VsZiBvciBhIG5vZGUgb3IgZG9jdW1lbnQgZnJhZ21lbnQgY29udGFpbmluZyBpdC4KICAgICAqLwogICAgZ2V0T3duZXJSb290KCkgewogICAgICByZXR1cm4gdGhpcy5ub2RlLmdldFJvb3ROb2RlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3Igc2xvdCBlbGVtZW50cywgcmV0dXJucyB0aGUgbm9kZXMgYXNzaWduZWQgdG8gdGhlIHNsb3Q7IG90aGVyd2lzZQogICAgICogYW4gZW1wdHkgYXJyYXkuIEl0IGlzIGVxdWl2YWxlbnQgdG8gYDxzbG90Pi5hZGRpZ25lZE5vZGVzKHtmbGF0dGVuOnRydWV9KWAuCiAgICAgKgogICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gQXJyYXkgb2YgYXNzaWduZWQgbm9kZXMKICAgICAqLwogICAgZ2V0RGlzdHJpYnV0ZWROb2RlcygpIHsKICAgICAgcmV0dXJuICh0aGlzLm5vZGUubG9jYWxOYW1lID09PSAnc2xvdCcpID8KICAgICAgICB0aGlzLm5vZGUuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjogdHJ1ZX0pIDoKICAgICAgICBbXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIHNsb3RzIHRoaXMgZWxlbWVudCB3YXMgZGlzdHJpYnV0ZWQgdG8uCiAgICAgKgogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MU2xvdEVsZW1lbnQ+fSBEZXNjcmlwdGlvbgogICAgICovCiAgICBnZXREZXN0aW5hdGlvbkluc2VydGlvblBvaW50cygpIHsKICAgICAgbGV0IGlwJCA9IFtdOwogICAgICBsZXQgbiA9IHRoaXMubm9kZS5hc3NpZ25lZFNsb3Q7CiAgICAgIHdoaWxlIChuKSB7CiAgICAgICAgaXAkLnB1c2gobik7CiAgICAgICAgbiA9IG4uYXNzaWduZWRTbG90OwogICAgICB9CiAgICAgIHJldHVybiBpcCQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxscyBgaW1wb3J0Tm9kZWAgb24gdGhlIGBvd25lckRvY3VtZW50YCBmb3IgdGhpcyBub2RlLgogICAgICoKICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBpbXBvcnQKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZGVlcCBUcnVlIGlmIHRoZSBub2RlIHNob3VsZCBiZSBjbG9uZWQgZGVlcGx5IGR1cmluZwogICAgICogICBpbXBvcnQKICAgICAqIEByZXR1cm4ge05vZGV9IENsb25lIG9mIGdpdmVuIG5vZGUgaW1wb3J0ZWQgdG8gdGhpcyBvd25lciBkb2N1bWVudAogICAgICovCiAgICBpbXBvcnROb2RlKG5vZGUsIGRlZXApIHsKICAgICAgbGV0IGRvYyA9IHRoaXMubm9kZSBpbnN0YW5jZW9mIERvY3VtZW50ID8gdGhpcy5ub2RlIDoKICAgICAgICB0aGlzLm5vZGUub3duZXJEb2N1bWVudDsKICAgICAgcmV0dXJuIGRvYy5pbXBvcnROb2RlKG5vZGUsIGRlZXApOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gUmV0dXJucyBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBjaGlsZCBub2RlcyBhbmQKICAgICAqIG5vZGVzIGFzc2lnbmVkIHRvIGNoaWxkIHNsb3RzLgogICAgICovCiAgICBnZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkgewogICAgICByZXR1cm4gUG9seW1lci5GbGF0dGVuZWROb2Rlc09ic2VydmVyLmdldEZsYXR0ZW5lZE5vZGVzKHRoaXMubm9kZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgZmlsdGVyZWQgbGlzdCBvZiBmbGF0dGVuZWQgY2hpbGQgZWxlbWVudHMgZm9yIHRoaXMgZWxlbWVudCBiYXNlZAogICAgICogb24gdGhlIGdpdmVuIHNlbGVjdG9yLgogICAgICoKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvciBTZWxlY3RvciB0byBmaWx0ZXIgbm9kZXMgYWdhaW5zdAogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MRWxlbWVudD59IExpc3Qgb2YgZmxhdHRlbmVkIGNoaWxkIGVsZW1lbnRzCiAgICAgKi8KICAgIHF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyhzZWxlY3RvcikgewogICAgICBsZXQgYyQgPSB0aGlzLmdldEVmZmVjdGl2ZUNoaWxkTm9kZXMoKTsKICAgICAgbGV0IGxpc3QgPSBbXTsKICAgICAgZm9yIChsZXQgaT0wLCBsPWMkLmxlbmd0aCwgYzsgKGk8bCkgJiYgKGM9YyRbaV0pOyBpKyspIHsKICAgICAgICBpZiAoKGMubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSAmJgogICAgICAgICAgICBtYXRjaGVzU2VsZWN0b3IoYywgc2VsZWN0b3IpKSB7CiAgICAgICAgICBsaXN0LnB1c2goYyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBsaXN0OwogICAgfQoKICAgIC8qKgogICAgICogRm9yIHNoYWRvdyByb290cywgcmV0dXJucyB0aGUgY3VycmVudGx5IGZvY3VzZWQgZWxlbWVudCB3aXRoaW4gdGhpcwogICAgICogc2hhZG93IHJvb3QuCiAgICAgKgogICAgICogQHJldHVybiB7Tm9kZXx1bmRlZmluZWR9IEN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQKICAgICAqLwogICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKSB7CiAgICAgIGxldCBub2RlID0gdGhpcy5ub2RlOwogICAgICByZXR1cm4gbm9kZS5fYWN0aXZlRWxlbWVudCAhPT0gdW5kZWZpbmVkID8gbm9kZS5fYWN0aXZlRWxlbWVudCA6IG5vZGUuYWN0aXZlRWxlbWVudDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGZvcndhcmRNZXRob2RzKHByb3RvLCBtZXRob2RzKSB7CiAgICBmb3IgKGxldCBpPTA7IGkgPCBtZXRob2RzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBtZXRob2QgPSBtZXRob2RzW2ldOwogICAgICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwogICAgICBwcm90b1ttZXRob2RdID0gLyoqIEB0aGlzIHtEb21BcGl9ICovIGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLm5vZGVbbWV0aG9kXS5hcHBseSh0aGlzLm5vZGUsIGFyZ3VtZW50cyk7CiAgICAgIH07CiAgICAgIC8qIGVzbGludC1lbmFibGUgKi8KICAgIH0KICB9CgogIGZ1bmN0aW9uIGZvcndhcmRSZWFkT25seVByb3BlcnRpZXMocHJvdG8sIHByb3BlcnRpZXMpIHsKICAgIGZvciAobGV0IGk9MDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHsKICAgICAgbGV0IG5hbWUgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sIG5hbWUsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtEb21BcGl9ICovKHRoaXMpOwogICAgICAgICAgcmV0dXJuIGRvbUFwaS5ub2RlW25hbWVdOwogICAgICAgIH0sCiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZm9yd2FyZFByb3BlcnRpZXMocHJvdG8sIHByb3BlcnRpZXMpIHsKICAgIGZvciAobGV0IGk9MDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHsKICAgICAgbGV0IG5hbWUgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sIG5hbWUsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtEb21BcGl9ICovKHRoaXMpOwogICAgICAgICAgcmV0dXJuIGRvbUFwaS5ub2RlW25hbWVdOwogICAgICAgIH0sCiAgICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgLyoqIEB0eXBlIHtEb21BcGl9ICovICh0aGlzKS5ub2RlW25hbWVdID0gdmFsdWU7CiAgICAgICAgfSwKICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgfSk7CiAgICB9CiAgfQoKICBmb3J3YXJkTWV0aG9kcyhEb21BcGkucHJvdG90eXBlLCBbCiAgICAnY2xvbmVOb2RlJywgJ2FwcGVuZENoaWxkJywgJ2luc2VydEJlZm9yZScsICdyZW1vdmVDaGlsZCcsCiAgICAncmVwbGFjZUNoaWxkJywgJ3NldEF0dHJpYnV0ZScsICdyZW1vdmVBdHRyaWJ1dGUnLAogICAgJ3F1ZXJ5U2VsZWN0b3InLCAncXVlcnlTZWxlY3RvckFsbCcKICBdKTsKCiAgZm9yd2FyZFJlYWRPbmx5UHJvcGVydGllcyhEb21BcGkucHJvdG90eXBlLCBbCiAgICAncGFyZW50Tm9kZScsICdmaXJzdENoaWxkJywgJ2xhc3RDaGlsZCcsCiAgICAnbmV4dFNpYmxpbmcnLCAncHJldmlvdXNTaWJsaW5nJywgJ2ZpcnN0RWxlbWVudENoaWxkJywKICAgICdsYXN0RWxlbWVudENoaWxkJywgJ25leHRFbGVtZW50U2libGluZycsICdwcmV2aW91c0VsZW1lbnRTaWJsaW5nJywKICAgICdjaGlsZE5vZGVzJywgJ2NoaWxkcmVuJywgJ2NsYXNzTGlzdCcKICBdKTsKCiAgZm9yd2FyZFByb3BlcnRpZXMoRG9tQXBpLnByb3RvdHlwZSwgWwogICAgJ3RleHRDb250ZW50JywgJ2lubmVySFRNTCcKICBdKTsKCgogIC8qKgogICAqIEV2ZW50IEFQSSB3cmFwcGVyIGNsYXNzIHJldHVybmVkIGZyb20gYFBvbHltZXIuZG9tLih0YXJnZXQpYCB3aGVuCiAgICogYHRhcmdldGAgaXMgYW4gYEV2ZW50YC4KICAgKi8KICBjbGFzcyBFdmVudEFwaSB7CiAgICBjb25zdHJ1Y3RvcihldmVudCkgewogICAgICB0aGlzLmV2ZW50ID0gZXZlbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBgY29tcG9zZWRQYXRoYCBvZiB0aGlzIGV2ZW50LgogICAgICoKICAgICAqIEByZXR1cm4geyFFdmVudFRhcmdldH0gVGhlIG5vZGUgdGhpcyBldmVudCB3YXMgZGlzcGF0Y2hlZCB0bwogICAgICovCiAgICBnZXQgcm9vdFRhcmdldCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZXZlbnQuY29tcG9zZWRQYXRoKClbMF07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhbCAocmUtdGFyZ2V0ZWQpIHRhcmdldCBmb3IgdGhpcyBldmVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHshRXZlbnRUYXJnZXR9IFRoZSBsb2NhbCAocmUtdGFyZ2V0ZWQpIHRhcmdldCBmb3IgdGhpcyBldmVudC4KICAgICAqLwogICAgZ2V0IGxvY2FsVGFyZ2V0KCkgewogICAgICByZXR1cm4gdGhpcy5ldmVudC50YXJnZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgY29tcG9zZWRQYXRoYCBmb3IgdGhpcyBldmVudC4KICAgICAqIEByZXR1cm4geyFBcnJheTwhRXZlbnRUYXJnZXQ+fSBUaGUgbm9kZXMgdGhpcyBldmVudCBwcm9wYWdhdGVkIHRocm91Z2gKICAgICAqLwogICAgZ2V0IHBhdGgoKSB7CiAgICAgIHJldHVybiB0aGlzLmV2ZW50LmNvbXBvc2VkUGF0aCgpOwogICAgfQogIH0KCiAgUG9seW1lci5Eb21BcGkgPSBEb21BcGk7CgogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGRlZXAKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuY2xvbmVOb2RlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7CiAgLyoqCiAgICogQGZ1bmN0aW9uCiAgICogQHBhcmFtIHshTm9kZX0gbmV3Q2hpbGQKICAgKiBAcGFyYW0ge05vZGV9IHJlZkNoaWxkCiAgICogQHJldHVybiB7IU5vZGV9CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLmluc2VydEJlZm9yZTsKICAvKioKICAgKiBAZnVuY3Rpb24KICAgKiBAcGFyYW0geyFOb2RlfSBub2RlCiAgICogQHJldHVybiB7IU5vZGV9CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLnJlbW92ZUNoaWxkOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7IU5vZGV9IG9sZENoaWxkCiAgICogQHBhcmFtIHshTm9kZX0gbmV3Q2hpbGQKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUucmVwbGFjZUNoaWxkOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuc2V0QXR0cmlidXRlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvcgogICAqIEByZXR1cm4gez9FbGVtZW50fQogICAqLwogIFBvbHltZXIuRG9tQXBpLnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvcgogICAqIEByZXR1cm4geyFOb2RlTGlzdDwhRWxlbWVudD59CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGw7CgogIC8qKgogICAqIExlZ2FjeSBET00gYW5kIEV2ZW50IG1hbmlwdWxhdGlvbiBBUEkgd3JhcHBlciBmYWN0b3J5IHVzZWQgdG8gYWJzdHJhY3QKICAgKiBkaWZmZXJlbmNlcyBiZXR3ZWVuIG5hdGl2ZSBTaGFkb3cgRE9NIGFuZCAiU2hhZHkgRE9NIiB3aGVuIHBvbHlmaWxsaW5nIG9uCiAgICogb2xkZXIgYnJvd3NlcnMuCiAgICoKICAgKiBOb3RlIHRoYXQgaW4gUG9seW1lciAyLnggdXNlIG9mIGBQb2x5bWVyLmRvbWAgaXMgbm8gbG9uZ2VyIHJlcXVpcmVkIGFuZAogICAqIGluIHRoZSBtYWpvcml0eSBvZiBjYXNlcyBzaW1wbHkgZmFjYWRlcyBkaXJlY3RseSB0byB0aGUgc3RhbmRhcmQgbmF0aXZlCiAgICogQVBJLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBzdW1tYXJ5IExlZ2FjeSBET00gYW5kIEV2ZW50IG1hbmlwdWxhdGlvbiBBUEkgd3JhcHBlciBmYWN0b3J5IHVzZWQgdG8KICAgKiBhYnN0cmFjdCBkaWZmZXJlbmNlcyBiZXR3ZWVuIG5hdGl2ZSBTaGFkb3cgRE9NIGFuZCAiU2hhZHkgRE9NLiIKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7KE5vZGV8RXZlbnQpPX0gb2JqIE5vZGUgb3IgZXZlbnQgdG8gb3BlcmF0ZSBvbgogICAqIEByZXR1cm4geyFEb21BcGl8IUV2ZW50QXBpfSBXcmFwcGVyIHByb3ZpZGluZyBlaXRoZXIgbm9kZSBBUEkgb3IgZXZlbnQgQVBJCiAgICovCiAgUG9seW1lci5kb20gPSBmdW5jdGlvbihvYmopIHsKICAgIG9iaiA9IG9iaiB8fCBkb2N1bWVudDsKICAgIGlmICghb2JqLl9fZG9tQXBpKSB7CiAgICAgIGxldCBoZWxwZXI7CiAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBFdmVudCkgewogICAgICAgIGhlbHBlciA9IG5ldyBFdmVudEFwaShvYmopOwogICAgICB9IGVsc2UgewogICAgICAgIGhlbHBlciA9IG5ldyBEb21BcGkob2JqKTsKICAgICAgfQogICAgICBvYmouX19kb21BcGkgPSBoZWxwZXI7CiAgICB9CiAgICByZXR1cm4gb2JqLl9fZG9tQXBpOwogIH07CgogIFBvbHltZXIuZG9tLm1hdGNoZXNTZWxlY3RvciA9IG1hdGNoZXNTZWxlY3RvcjsKCiAgLyoqCiAgICogRm9yY2VzIHNldmVyYWwgY2xhc3NlcyBvZiBhc3luY2hyb25vdXNseSBxdWV1ZWQgdGFza3MgdG8gZmx1c2g6CiAgICogLSBEZWJvdW5jZXJzIGFkZGVkIHZpYSBgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyYAogICAqIC0gU2hhZHlET00gZGlzdHJpYnV0aW9uCiAgICoKICAgKiBUaGlzIG1ldGhvZCBmYWNhZGVzIHRvIGBQb2x5bWVyLmZsdXNoYC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyLmRvbQogICAqLwogIFBvbHltZXIuZG9tLmZsdXNoID0gUG9seW1lci5mbHVzaDsKCiAgLyoqCiAgICogQWRkcyBhIGBQb2x5bWVyLkRlYm91bmNlcmAgdG8gYSBsaXN0IG9mIGdsb2JhbGx5IGZsdXNoYWJsZSB0YXNrcy4KICAgKgogICAqIFRoaXMgbWV0aG9kIGZhY2FkZXMgdG8gYFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcmAuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lci5kb20KICAgKiBAcGFyYW0geyFQb2x5bWVyLkRlYm91bmNlcn0gZGVib3VuY2VyIERlYm91bmNlciB0byBlbnF1ZXVlCiAgICovCiAgUG9seW1lci5kb20uYWRkRGVib3VuY2VyID0gUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgc3R5bGVJbnRlcmZhY2UgPSB3aW5kb3cuU2hhZHlDU1M7CgogIC8qKgogICAqIEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBQb2x5bWVyJ3MgImxlZ2FjeSIgQVBJIGludGVuZGVkIHRvIGJlCiAgICogYmFja3dhcmQtY29tcGF0aWJsZSB0byB0aGUgZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlIHdpdGggdGhlIEFQSQogICAqIGZvdW5kIG9uIHRoZSBQb2x5bWVyIDEueCBgUG9seW1lci5CYXNlYCBwcm90b3R5cGUgYXBwbGllZCB0byBhbGwgZWxlbWVudHMKICAgKiBkZWZpbmVkIHVzaW5nIHRoZSBgUG9seW1lcih7Li4ufSlgIGZ1bmN0aW9uLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5FbGVtZW50TWl4aW4KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzCiAgICogQHByb3BlcnR5IGlzQXR0YWNoZWQge2Jvb2xlYW59IFNldCB0byBgdHJ1ZWAgaW4gdGhpcyBlbGVtZW50J3MKICAgKiAgIGBjb25uZWN0ZWRDYWxsYmFja2AgYW5kIGBmYWxzZWAgaW4gYGRpc2Nvbm5lY3RlZENhbGxiYWNrYAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIFBvbHltZXIncyAibGVnYWN5IiBBUEkKICAgKi8KICBQb2x5bWVyLkxlZ2FjeUVsZW1lbnRNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbigoYmFzZSkgPT4gewoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0VsZW1lbnRNaXhpbn0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0dlc3R1cmVFdmVudExpc3RlbmVyc30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0Rpck1peGlufQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3QgbGVnYWN5RWxlbWVudEJhc2UgPSBQb2x5bWVyLkRpck1peGluKFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzKFBvbHltZXIuRWxlbWVudE1peGluKGJhc2UpKSk7CgogICAgLyoqCiAgICAgKiBNYXAgb2Ygc2ltcGxlIG5hbWVzIHRvIHRvdWNoIGFjdGlvbiBuYW1lcwogICAgICogQGRpY3QKICAgICAqLwogICAgY29uc3QgRElSRUNUSU9OX01BUCA9IHsKICAgICAgJ3gnOiAncGFuLXgnLAogICAgICAneSc6ICdwYW4teScsCiAgICAgICdub25lJzogJ25vbmUnLAogICAgICAnYWxsJzogJ2F1dG8nCiAgICB9OwoKICAgIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAZXh0ZW5kcyB7bGVnYWN5RWxlbWVudEJhc2V9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9MZWdhY3lFbGVtZW50TWl4aW59CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIExlZ2FjeUVsZW1lbnQgZXh0ZW5kcyBsZWdhY3lFbGVtZW50QmFzZSB7CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi8KICAgICAgICB0aGlzLmlzQXR0YWNoZWQ7CiAgICAgICAgLyoqIEB0eXBlIHtXZWFrTWFwPCFFbGVtZW50LCAhT2JqZWN0PHN0cmluZywgIUZ1bmN0aW9uPj59ICovCiAgICAgICAgdGhpcy5fX2JvdW5kTGlzdGVuZXJzOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgRnVuY3Rpb24+fSAqLwogICAgICAgIHRoaXMuX2RlYm91bmNlcnM7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBGb3J3YXJkcyBgaW1wb3J0TWV0YWAgZnJvbSB0aGUgcHJvdG90eXBlIChpLmUuIGZyb20gdGhlIGluZm8gb2JqZWN0CiAgICAgICAqIHBhc3NlZCB0byBgUG9seW1lcih7Li4ufSlgKSB0byB0aGUgc3RhdGljIEFQSS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IU9iamVjdH0gVGhlIGBpbXBvcnQubWV0YWAgb2JqZWN0IHNldCBvbiB0aGUgcHJvdG90eXBlCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IGB0aGlzYCBpcyBhbHdheXMgaW4gdGhlIGluc3RhbmNlIGluCiAgICAgICAqICBjbG9zdXJlIGZvciBzb21lIHJlYXNvbiBldmVuIGluIGEgc3RhdGljIG1ldGhvZCwgcmF0aGVyIHRoYW4gdGhlIGNsYXNzCiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IGltcG9ydE1ldGEoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG90eXBlLmltcG9ydE1ldGE7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBMZWdhY3kgY2FsbGJhY2sgY2FsbGVkIGR1cmluZyB0aGUgYGNvbnN0cnVjdG9yYCwgZm9yIG92ZXJyaWRpbmcKICAgICAgICogYnkgdGhlIHVzZXIuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjcmVhdGVkKCkge30KCiAgICAgIC8qKgogICAgICAgKiBQcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBgY29ubmVjdGVkQ2FsbGJhY2tgCiAgICAgICAqIHdoaWNoIGFkZHMgUG9seW1lciBsZWdhY3kgQVBJJ3MgYGF0dGFjaGVkYCBtZXRob2QuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTsKICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSB0cnVlOwogICAgICAgIHRoaXMuYXR0YWNoZWQoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIExlZ2FjeSBjYWxsYmFjayBjYWxsZWQgZHVyaW5nIGBjb25uZWN0ZWRDYWxsYmFja2AsIGZvciBvdmVycmlkaW5nCiAgICAgICAqIGJ5IHRoZSB1c2VyLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgYXR0YWNoZWQoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIFByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIG9mIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AKICAgICAgICogd2hpY2ggYWRkcyBQb2x5bWVyIGxlZ2FjeSBBUEkncyBgZGV0YWNoZWRgIG1ldGhvZC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqLwogICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgIHRoaXMuaXNBdHRhY2hlZCA9IGZhbHNlOwogICAgICAgIHRoaXMuZGV0YWNoZWQoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIExlZ2FjeSBjYWxsYmFjayBjYWxsZWQgZHVyaW5nIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AsIGZvciBvdmVycmlkaW5nCiAgICAgICAqIGJ5IHRoZSB1c2VyLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGV0YWNoZWQoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIFByb3ZpZGVzIGFuIG92ZXJyaWRlIGltcGxlbWVudGF0aW9uIG9mIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgCiAgICAgICAqIHdoaWNoIGFkZHMgdGhlIFBvbHltZXIgbGVnYWN5IEFQSSdzIGBhdHRyaWJ1dGVDaGFuZ2VkYCBtZXRob2QuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5hbWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG9sZCBPbGQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIEN1cnJlbnQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG5hbWVzcGFjZSBBdHRyaWJ1dGUgbmFtZXNwYWNlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICovCiAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlLCBuYW1lc3BhY2UpIHsKICAgICAgICBpZiAob2xkICE9PSB2YWx1ZSkgewogICAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUsIG5hbWVzcGFjZSk7CiAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkLCB2YWx1ZSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogTGVnYWN5IGNhbGxiYWNrIGNhbGxlZCBkdXJpbmcgYGF0dHJpYnV0ZUNoYW5nZWRDaGFsbGJhY2tgLCBmb3Igb3ZlcnJpZGluZwogICAgICAgKiBieSB0aGUgdXNlci4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gb2xkIE9sZCB2YWx1ZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgQ3VycmVudCB2YWx1ZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBhdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG9sZCwgdmFsdWUpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCBpbXBsZW1lbnRhdGlvbiB0bwogICAgICAgKiBhZGQgc3VwcG9ydCBmb3IgY2xhc3MgaW5pdGlhbGl6YXRpb24gdmlhIHRoZSBgX3JlZ2lzdGVyZWRgIGNhbGxiYWNrLgogICAgICAgKiBUaGlzIGlzIGNhbGxlZCBvbmx5IHdoZW4gdGhlIGZpcnN0IGluc3RhbmNlIG9mIHRoZSBlbGVtZW50IGlzIGNyZWF0ZWQuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30KICAgICAgICovCiAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7CiAgICAgICAgaWYgKCFwcm90by5oYXNPd25Qcm9wZXJ0eSgnX19oYXNSZWdpc3RlckZpbmlzaGVkJykpIHsKICAgICAgICAgIHRoaXMuX3JlZ2lzdGVyZWQoKTsKICAgICAgICAgIC8vIGJhY2tzdG9wIGluIGNhc2UgdGhlIGBfcmVnaXN0ZXJlZGAgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc2V0IHRoaXMKICAgICAgICAgIHByb3RvLl9faGFzUmVnaXN0ZXJGaW5pc2hlZCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpOwogICAgICAgIHRoaXMucm9vdCA9IC8qKiBAdHlwZSB7SFRNTEVsZW1lbnR9ICovKHRoaXMpOwogICAgICAgIHRoaXMuY3JlYXRlZCgpOwogICAgICAgIC8vIEVuc3VyZSBsaXN0ZW5lcnMgYXJlIGFwcGxpZWQgaW1tZWRpYXRlbHkgc28gdGhhdCB0aGV5IGFyZQogICAgICAgIC8vIGFkZGVkIGJlZm9yZSBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMuIFRoaXMgYWxsb3dzIGFuIGVsZW1lbnQgdG8KICAgICAgICAvLyBkZWNvcmF0ZSBpdHNlbGYgdmlhIGFuIGV2ZW50IHByaW9yIHRvIGFueSBkZWNsYXJhdGl2ZSBsaXN0ZW5lcnMKICAgICAgICAvLyBzZWVpbmcgdGhlIGV2ZW50LiBOb3RlLCB0aGlzIGVuc3VyZXMgY29tcGF0aWJpbGl0eSB3aXRoIDEueCBvcmRlcmluZy4KICAgICAgICB0aGlzLl9hcHBseUxpc3RlbmVycygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBlbGVtZW50IGlzIGluaXRpYWxpemluZy4KICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHBlcmZvcm0gY2xhc3MgcmVnaXN0cmF0aW9uIHRpbWUKICAgICAgICogd29yay4gVGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBlbnN1cmUgdGhlIHdvcmsgaXMgcGVyZm9ybWVkCiAgICAgICAqIG9ubHkgb25jZSBmb3IgdGhlIGNsYXNzLgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcmVnaXN0ZXJlZCgpIHt9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgaW1wbGVtZW50YXRpb24gdG8KICAgICAgICogYWRkIHN1cHBvcnQgZm9yIGluc3RhbGxpbmcgYGhvc3RBdHRyaWJ1dGVzYCBhbmQgYGxpc3RlbmVyc2AuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgcmVhZHkoKSB7CiAgICAgICAgdGhpcy5fZW5zdXJlQXR0cmlidXRlcygpOwogICAgICAgIHN1cGVyLnJlYWR5KCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFbnN1cmVzIGFuIGVsZW1lbnQgaGFzIHJlcXVpcmVkIGF0dHJpYnV0ZXMuIENhbGxlZCB3aGVuIHRoZSBlbGVtZW50CiAgICAgICAqIGlzIGJlaW5nIHJlYWRpZWQgdmlhIGByZWFkeWAuIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0byBzZXQgdGhlCiAgICAgICAqIGVsZW1lbnQncyByZXF1aXJlZCBhdHRyaWJ1dGVzLiBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIGJlIHN1cmUKICAgICAgICogdG8gY2hlY2sgYW5kIG5vdCBvdmVycmlkZSBleGlzdGluZyBhdHRyaWJ1dGVzIGFkZGVkIGJ5CiAgICAgICAqIHRoZSB1c2VyIG9mIHRoZSBlbGVtZW50LiBUeXBpY2FsbHksIHNldHRpbmcgYXR0cmlidXRlcyBzaG91bGQgYmUgbGVmdAogICAgICAgKiB0byB0aGUgZWxlbWVudCB1c2VyIGFuZCBub3QgZG9uZSBoZXJlOyByZWFzb25hYmxlIGV4Y2VwdGlvbnMgaW5jbHVkZQogICAgICAgKiBzZXR0aW5nIGFyaWEgcm9sZXMgYW5kIGZvY3VzYWJpbGl0eS4KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2Vuc3VyZUF0dHJpYnV0ZXMoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIEFkZHMgZWxlbWVudCBldmVudCBsaXN0ZW5lcnMuIENhbGxlZCB3aGVuIHRoZSBlbGVtZW50CiAgICAgICAqIGlzIGJlaW5nIHJlYWRpZWQgdmlhIGByZWFkeWAuIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0bwogICAgICAgKiBhZGQgYW55IHJlcXVpcmVkIGVsZW1lbnQgZXZlbnQgbGlzdGVuZXJzLgogICAgICAgKiBJbiBwZXJmb3JtYW5jZSBjcml0aWNhbCBlbGVtZW50cywgdGhlIHdvcmsgZG9uZSBoZXJlIHNob3VsZCBiZSBrZXB0CiAgICAgICAqIHRvIGEgbWluaW11bSBzaW5jZSBpdCBpcyBkb25lIGJlZm9yZSB0aGUgZWxlbWVudCBpcyByZW5kZXJlZC4gSW4KICAgICAgICogdGhlc2UgZWxlbWVudHMsIGNvbnNpZGVyIGFkZGluZyBsaXN0ZW5lcnMgYXN5bmNocm9ub3VzbHkgc28gYXMgbm90IHRvCiAgICAgICAqIGJsb2NrIHJlbmRlci4KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2FwcGx5TGlzdGVuZXJzKCkge30KCiAgICAgIC8qKgogICAgICAgKiBDb252ZXJ0cyBhIHR5cGVkIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBzdHJpbmcuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLiBUbyBjdXN0b21pemUKICAgICAgICogaG93IHByb3BlcnRpZXMgYXJlIHNlcmlhbGl6ZWQgdG8gYXR0cmlidXRlcyBmb3IgYXR0cmlidXRlIGJpbmRpbmdzIGFuZAogICAgICAgKiBgcmVmbGVjdFRvQXR0cmlidXRlOiB0cnVlYCBwcm9wZXJ0aWVzIGFzIHdlbGwgYXMgdGhpcyBtZXRob2QsIG92ZXJyaWRlCiAgICAgICAqIHRoZSBgX3NlcmlhbGl6ZVZhbHVlYCBtZXRob2QgcHJvdmlkZWQgYnkgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplCiAgICAgICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gU2VyaWFsaXplZCB2YWx1ZQogICAgICAgKi8KICAgICAgc2VyaWFsaXplKHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcmlhbGl6ZVZhbHVlKHZhbHVlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICoKICAgICAgICogTm90ZSB0aGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBiYWNrd2FyZC1jb21wYXRpYmxlIGxlZ2FjeSBBUEkKICAgICAgICogb25seS4gIEl0IGlzIG5vdCBkaXJlY3RseSBjYWxsZWQgYnkgYW55IFBvbHltZXIgZmVhdHVyZXMuICBUbyBjdXN0b21pemUKICAgICAgICogaG93IGF0dHJpYnV0ZXMgYXJlIGRlc2VyaWFsaXplZCB0byBwcm9wZXJ0aWVzIGZvciBpbgogICAgICAgKiBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYCwgb3ZlcnJpZGUgYF9kZXNlcmlhbGl6ZVZhbHVlYCBtZXRob2QKICAgICAgICogcHJvdmlkZWQgYnkgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgU3RyaW5nIHRvIGRlc2VyaWFsaXplCiAgICAgICAqIEBwYXJhbSB7Kn0gdHlwZSBUeXBlIHRvIGRlc2VyaWFsaXplIHRoZSBzdHJpbmcgdG8KICAgICAgICogQHJldHVybiB7Kn0gUmV0dXJucyB0aGUgZGVzZXJpYWxpemVkIHZhbHVlIGluIHRoZSBgdHlwZWAgZ2l2ZW4uCiAgICAgICAqLwogICAgICBkZXNlcmlhbGl6ZSh2YWx1ZSwgdHlwZSkgewogICAgICAgIHJldHVybiB0aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlLCB0eXBlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlcmlhbGl6ZXMgYSBwcm9wZXJ0eSB0byBpdHMgYXNzb2NpYXRlZCBhdHRyaWJ1dGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZSB0byByZWZsZWN0LgogICAgICAgKiBAcGFyYW0ge3N0cmluZz19IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byByZWZsZWN0LgogICAgICAgKiBAcGFyYW0geyo9fSB2YWx1ZSBQcm9wZXJ0eSB2YWx1ZSB0byByZWZsZWN0LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgcmVmbGVjdFByb3BlcnR5VG9BdHRyaWJ1dGUocHJvcGVydHksIGF0dHJpYnV0ZSwgdmFsdWUpIHsKICAgICAgICB0aGlzLl9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBhdHRyaWJ1dGUsIHZhbHVlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNldHMgYSB0eXBlZCB2YWx1ZSB0byBhbiBIVE1MIGF0dHJpYnV0ZSBvbiBhIG5vZGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNlcmlhbGl6ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byBzZXJpYWxpemUgdG8uCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIHNldCBhdHRyaWJ1dGUgdG8uCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzZXJpYWxpemVWYWx1ZVRvQXR0cmlidXRlKHZhbHVlLCBhdHRyaWJ1dGUsIG5vZGUpIHsKICAgICAgICB0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZSgvKiogQHR5cGUge0VsZW1lbnR9ICovIChub2RlIHx8IHRoaXMpLCB2YWx1ZSwgYXR0cmlidXRlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvcGllcyBvd24gcHJvcGVydGllcyAoaW5jbHVkaW5nIGFjY2Vzc29yIGRlc2NyaXB0b3JzKSBmcm9tIGEgc291cmNlCiAgICAgICAqIG9iamVjdCB0byBhIHRhcmdldCBvYmplY3QuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b3R5cGUgVGFyZ2V0IG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhcGkgU291cmNlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS4KICAgICAgICogQHJldHVybiB7T2JqZWN0fSBwcm90b3R5cGUgb2JqZWN0IHRoYXQgd2FzIHBhc3NlZCBhcyBmaXJzdCBhcmd1bWVudC4KICAgICAgICovCiAgICAgIGV4dGVuZChwcm90b3R5cGUsIGFwaSkgewogICAgICAgIGlmICghKHByb3RvdHlwZSAmJiBhcGkpKSB7CiAgICAgICAgICByZXR1cm4gcHJvdG90eXBlIHx8IGFwaTsKICAgICAgICB9CiAgICAgICAgbGV0IG4kID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXBpKTsKICAgICAgICBmb3IgKGxldCBpPTAsIG47IChpPG4kLmxlbmd0aCkgJiYgKG49biRbaV0pOyBpKyspIHsKICAgICAgICAgIGxldCBwZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXBpLCBuKTsKICAgICAgICAgIGlmIChwZCkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCBuLCBwZCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb3BpZXMgcHJvcHMgZnJvbSBhIHNvdXJjZSBvYmplY3QgdG8gYSB0YXJnZXQgb2JqZWN0LgogICAgICAgKgogICAgICAgKiBOb3RlLCB0aGlzIG1ldGhvZCB1c2VzIGEgc2ltcGxlIGBmb3IuLi5pbmAgc3RyYXRlZ3kgZm9yIGVudW1lcmF0aW5nCiAgICAgICAqIHByb3BlcnRpZXMuICBUbyBlbnN1cmUgb25seSBgb3duUHJvcGVydGllc2AgYXJlIGNvcGllZCBmcm9tIHNvdXJjZQogICAgICAgKiB0byB0YXJnZXQgYW5kIHRoYXQgYWNjZXNzb3IgaW1wbGVtZW50YXRpb25zIGFyZSBjb3BpZWQsIHVzZSBgZXh0ZW5kYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshT2JqZWN0fSB0YXJnZXQgVGFyZ2V0IG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gc291cmNlIFNvdXJjZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb20uCiAgICAgICAqIEByZXR1cm4geyFPYmplY3R9IFRhcmdldCBvYmplY3QgdGhhdCB3YXMgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50LgogICAgICAgKi8KICAgICAgbWl4aW4odGFyZ2V0LCBzb3VyY2UpIHsKICAgICAgICBmb3IgKGxldCBpIGluIHNvdXJjZSkgewogICAgICAgICAgdGFyZ2V0W2ldID0gc291cmNlW2ldOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGFyZ2V0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2V0cyB0aGUgcHJvdG90eXBlIG9mIGFuIG9iamVjdC4KICAgICAgICoKICAgICAgICogTm90ZSB0aGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBiYWNrd2FyZC1jb21wYXRpYmxlIGxlZ2FjeSBBUEkKICAgICAgICogb25seS4gIEl0IGlzIG5vdCBkaXJlY3RseSBjYWxsZWQgYnkgYW55IFBvbHltZXIgZmVhdHVyZXMuCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCBvbiB3aGljaCB0byBzZXQgdGhlIHByb3RvdHlwZS4KICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvdHlwZSBUaGUgcHJvdG90eXBlIHRoYXQgd2lsbCBiZSBzZXQgb24gdGhlIGdpdmVuCiAgICAgICAqIGBvYmplY3RgLgogICAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgdGhlIGdpdmVuIGBvYmplY3RgIHdpdGggaXRzIHByb3RvdHlwZSBzZXQKICAgICAgICogdG8gdGhlIGdpdmVuIGBwcm90b3R5cGVgIG9iamVjdC4KICAgICAgICovCiAgICAgIGNoYWluT2JqZWN0KG9iamVjdCwgcHJvdG90eXBlKSB7CiAgICAgICAgaWYgKG9iamVjdCAmJiBwcm90b3R5cGUgJiYgb2JqZWN0ICE9PSBwcm90b3R5cGUpIHsKICAgICAgICAgIG9iamVjdC5fX3Byb3RvX18gPSBwcm90b3R5cGU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgIH0KCiAgICAgIC8qICoqKiogQmVnaW4gVGVtcGxhdGUgKioqKiAqLwoKICAgICAgLyoqCiAgICAgICAqIENhbGxzIGBpbXBvcnROb2RlYCBvbiB0aGUgYGNvbnRlbnRgIG9mIHRoZSBgdGVtcGxhdGVgIHNwZWNpZmllZCBhbmQKICAgICAgICogcmV0dXJucyBhIGRvY3VtZW50IGZyYWdtZW50IGNvbnRhaW5pbmcgdGhlIGltcG9ydGVkIGNvbnRlbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgSFRNTCB0ZW1wbGF0ZSBlbGVtZW50IHRvIGluc3RhbmNlLgogICAgICAgKiBAcmV0dXJuIHshRG9jdW1lbnRGcmFnbWVudH0gRG9jdW1lbnQgZnJhZ21lbnQgY29udGFpbmluZyB0aGUgaW1wb3J0ZWQKICAgICAgICogICB0ZW1wbGF0ZSBjb250ZW50LgogICAgICAqLwogICAgICBpbnN0YW5jZVRlbXBsYXRlKHRlbXBsYXRlKSB7CiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLmNvbnN0cnVjdG9yLl9jb250ZW50Rm9yVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICAgIGxldCBkb20gPSAvKiogQHR5cGUgeyFEb2N1bWVudEZyYWdtZW50fSAqLwogICAgICAgICAgKGRvY3VtZW50LmltcG9ydE5vZGUoY29udGVudCwgdHJ1ZSkpOwogICAgICAgIHJldHVybiBkb207CiAgICAgIH0KCiAgICAgIC8qICoqKiogQmVnaW4gRXZlbnRzICoqKiogKi8KCgoKICAgICAgLyoqCiAgICAgICAqIERpc3BhdGNoZXMgYSBjdXN0b20gZXZlbnQgd2l0aCBhbiBvcHRpb25hbCBkZXRhaWwgdmFsdWUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIE5hbWUgb2YgZXZlbnQgdHlwZS4KICAgICAgICogQHBhcmFtIHsqPX0gZGV0YWlsIERldGFpbCB2YWx1ZSBjb250YWluaW5nIGV2ZW50LXNwZWNpZmljCiAgICAgICAqICAgcGF5bG9hZC4KICAgICAgICogQHBhcmFtIHt7IGJ1YmJsZXM6IChib29sZWFufHVuZGVmaW5lZCksIGNhbmNlbGFibGU6IChib29sZWFufHVuZGVmaW5lZCksIGNvbXBvc2VkOiAoYm9vbGVhbnx1bmRlZmluZWQpIH09fQogICAgICAgKiAgb3B0aW9ucyBPYmplY3Qgc3BlY2lmeWluZyBvcHRpb25zLiAgVGhlc2UgbWF5IGluY2x1ZGU6CiAgICAgICAqICBgYnViYmxlc2AgKGJvb2xlYW4sIGRlZmF1bHRzIHRvIGB0cnVlYCksCiAgICAgICAqICBgY2FuY2VsYWJsZWAgKGJvb2xlYW4sIGRlZmF1bHRzIHRvIGZhbHNlKSwgYW5kCiAgICAgICAqICBgbm9kZWAgb24gd2hpY2ggdG8gZmlyZSB0aGUgZXZlbnQgKEhUTUxFbGVtZW50LCBkZWZhdWx0cyB0byBgdGhpc2ApLgogICAgICAgKiBAcmV0dXJuIHshRXZlbnR9IFRoZSBuZXcgZXZlbnQgdGhhdCB3YXMgZmlyZWQuCiAgICAgICAqLwogICAgICBmaXJlKHR5cGUsIGRldGFpbCwgb3B0aW9ucykgewogICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogICAgICAgIGRldGFpbCA9IChkZXRhaWwgPT09IG51bGwgfHwgZGV0YWlsID09PSB1bmRlZmluZWQpID8ge30gOiBkZXRhaWw7CiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IEV2ZW50KHR5cGUsIHsKICAgICAgICAgIGJ1YmJsZXM6IG9wdGlvbnMuYnViYmxlcyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMuYnViYmxlcywKICAgICAgICAgIGNhbmNlbGFibGU6IEJvb2xlYW4ob3B0aW9ucy5jYW5jZWxhYmxlKSwKICAgICAgICAgIGNvbXBvc2VkOiBvcHRpb25zLmNvbXBvc2VkID09PSB1bmRlZmluZWQgPyB0cnVlOiBvcHRpb25zLmNvbXBvc2VkCiAgICAgICAgfSk7CiAgICAgICAgZXZlbnQuZGV0YWlsID0gZGV0YWlsOwogICAgICAgIGxldCBub2RlID0gb3B0aW9ucy5ub2RlIHx8IHRoaXM7CiAgICAgICAgbm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKICAgICAgICByZXR1cm4gZXZlbnQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gYWRkIGFuIGV2ZW50IGxpc3RlbmVyIG9uIGEgZ2l2ZW4gZWxlbWVudCwKICAgICAgICogbGF0ZSBib3VuZCB0byBhIG5hbWVkIG1ldGhvZCBvbiB0aGlzIGVsZW1lbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIGFkZCBldmVudCBsaXN0ZW5lciB0by4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50IHRvIGxpc3RlbiBmb3IuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIE5hbWUgb2YgaGFuZGxlciBtZXRob2Qgb24gYHRoaXNgIHRvIGNhbGwuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBsaXN0ZW4obm9kZSwgZXZlbnROYW1lLCBtZXRob2ROYW1lKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7IUVsZW1lbnR9ICovIChub2RlIHx8IHRoaXMpOwogICAgICAgIGxldCBoYmwgPSB0aGlzLl9fYm91bmRMaXN0ZW5lcnMgfHwKICAgICAgICAgICh0aGlzLl9fYm91bmRMaXN0ZW5lcnMgPSBuZXcgV2Vha01hcCgpKTsKICAgICAgICBsZXQgYmwgPSBoYmwuZ2V0KG5vZGUpOwogICAgICAgIGlmICghYmwpIHsKICAgICAgICAgIGJsID0ge307CiAgICAgICAgICBoYmwuc2V0KG5vZGUsIGJsKTsKICAgICAgICB9CiAgICAgICAgbGV0IGtleSA9IGV2ZW50TmFtZSArIG1ldGhvZE5hbWU7CiAgICAgICAgaWYgKCFibFtrZXldKSB7CiAgICAgICAgICBibFtrZXldID0gdGhpcy5fYWRkTWV0aG9kRXZlbnRMaXN0ZW5lclRvTm9kZSgKICAgICAgICAgICAgbm9kZSwgZXZlbnROYW1lLCBtZXRob2ROYW1lLCB0aGlzKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gcmVtb3ZlIGFuIGV2ZW50IGxpc3RlbmVyIGZyb20gYSBnaXZlbiBlbGVtZW50LAogICAgICAgKiBsYXRlIGJvdW5kIHRvIGEgbmFtZWQgbWV0aG9kIG9uIHRoaXMgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtFbGVtZW50fSBub2RlIEVsZW1lbnQgdG8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGZyb20uCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudCB0byBzdG9wIGxpc3RlbmluZyB0by4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTmFtZSBvZiBoYW5kbGVyIG1ldGhvZCBvbiBgdGhpc2AgdG8gbm90IGNhbGwKICAgICAgIGFueW1vcmUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICB1bmxpc3Rlbihub2RlLCBldmVudE5hbWUsIG1ldGhvZE5hbWUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHshRWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyk7CiAgICAgICAgbGV0IGJsID0gdGhpcy5fX2JvdW5kTGlzdGVuZXJzICYmIHRoaXMuX19ib3VuZExpc3RlbmVycy5nZXQobm9kZSk7CiAgICAgICAgbGV0IGtleSA9IGV2ZW50TmFtZSArIG1ldGhvZE5hbWU7CiAgICAgICAgbGV0IGhhbmRsZXIgPSBibCAmJiBibFtrZXldOwogICAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgICB0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgICAgIGJsW2tleV0gPSBudWxsOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlIHNjcm9sbGluZyBiZWhhdmlvciB0byBhbGwgZGlyZWN0aW9uLCBvbmUgZGlyZWN0aW9uLCBvciBub25lLgogICAgICAgKgogICAgICAgKiBWYWxpZCBzY3JvbGwgZGlyZWN0aW9uczoKICAgICAgICogICAtICdhbGwnOiBzY3JvbGwgaW4gYW55IGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ3gnOiBzY3JvbGwgb25seSBpbiB0aGUgJ3gnIGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ3knOiBzY3JvbGwgb25seSBpbiB0aGUgJ3knIGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ25vbmUnOiBkaXNhYmxlIHNjcm9sbGluZyBmb3IgdGhpcyBub2RlCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gZGlyZWN0aW9uIERpcmVjdGlvbiB0byBhbGxvdyBzY3JvbGxpbmcKICAgICAgICogRGVmYXVsdHMgdG8gYGFsbGAuCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudD19IG5vZGUgRWxlbWVudCB0byBhcHBseSBzY3JvbGwgZGlyZWN0aW9uIHNldHRpbmcuCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHNldFNjcm9sbERpcmVjdGlvbihkaXJlY3Rpb24sIG5vZGUpIHsKICAgICAgICBQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyksIERJUkVDVElPTl9NQVBbZGlyZWN0aW9uXSB8fCAnYXV0bycpOwogICAgICB9CiAgICAgIC8qICoqKiogRW5kIEV2ZW50cyAqKioqICovCgogICAgICAvKioKICAgICAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHJ1biBgcXVlcnlTZWxlY3RvcmAgb24gdGhpcyBsb2NhbCBET00gc2NvcGUuCiAgICAgICAqCiAgICAgICAqIFRoaXMgZnVuY3Rpb24gY2FsbHMgYFBvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvcihzbGN0cilgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2xjdHIgU2VsZWN0b3IgdG8gcnVuIG9uIHRoaXMgbG9jYWwgRE9NIHNjb3BlCiAgICAgICAqIEByZXR1cm4ge0VsZW1lbnR9IEVsZW1lbnQgZm91bmQgYnkgdGhlIHNlbGVjdG9yLCBvciBudWxsIGlmIG5vdCBmb3VuZC4KICAgICAgICovCiAgICAgICQkKHNsY3RyKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yKHNsY3RyKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybiB0aGUgZWxlbWVudCB3aG9zZSBsb2NhbCBkb20gd2l0aGluIHdoaWNoIHRoaXMgZWxlbWVudAogICAgICAgKiBpcyBjb250YWluZWQuIFRoaXMgaXMgYSBzaG9ydGhhbmQgZm9yCiAgICAgICAqIGB0aGlzLmdldFJvb3ROb2RlKCkuaG9zdGAuCiAgICAgICAqIEB0aGlzIHtFbGVtZW50fQogICAgICAgKi8KICAgICAgZ2V0IGRvbUhvc3QoKSB7CiAgICAgICAgbGV0IHJvb3QgPSB0aGlzLmdldFJvb3ROb2RlKCk7CiAgICAgICAgcmV0dXJuIChyb290IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCkgPyAvKiogQHR5cGUge1NoYWRvd1Jvb3R9ICovIChyb290KS5ob3N0IDogcm9vdDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZvcmNlIHRoaXMgZWxlbWVudCB0byBkaXN0cmlidXRlIGl0cyBjaGlsZHJlbiB0byBpdHMgbG9jYWwgZG9tLgogICAgICAgKiBUaGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGFzIG9mIFBvbHltZXIgMi4wLjIgYW5kIGlzIHByb3ZpZGVkIG9ubHkKICAgICAgICogZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGlzdHJpYnV0ZUNvbnRlbnQoKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSAmJiB0aGlzLnNoYWRvd1Jvb3QpIHsKICAgICAgICAgIFNoYWR5RE9NLmZsdXNoKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2Ygbm9kZXMgdGhhdCBhcmUgdGhlIGVmZmVjdGl2ZSBjaGlsZE5vZGVzLiBUaGUgZWZmZWN0aXZlCiAgICAgICAqIGNoaWxkTm9kZXMgbGlzdCBpcyB0aGUgc2FtZSBhcyB0aGUgZWxlbWVudCdzIGNoaWxkTm9kZXMgZXhjZXB0IHRoYXQKICAgICAgICogYW55IGA8Y29udGVudD5gIGVsZW1lbnRzIGFyZSByZXBsYWNlZCB3aXRoIHRoZSBsaXN0IG9mIG5vZGVzIGRpc3RyaWJ1dGVkCiAgICAgICAqIHRvIHRoZSBgPGNvbnRlbnQ+YCwgdGhlIHJlc3VsdCBvZiBpdHMgYGdldERpc3RyaWJ1dGVkTm9kZXNgIG1ldGhvZC4KICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBlZmZlY3RpdmUgY2hpbGQgbm9kZXMuCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBMZWdhY3lFbGVtZW50TWl4aW4gbXVzdCBiZSBhcHBsaWVkIHRvIGFuIEhUTUxFbGVtZW50CiAgICAgICAqLwogICAgICBnZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkgewogICAgICAgIGNvbnN0IHRoaXNFbCA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKHRoaXMpOwogICAgICAgIGNvbnN0IGRvbUFwaSA9IC8qKiBAdHlwZSB7UG9seW1lci5Eb21BcGl9ICovKFBvbHltZXIuZG9tKHRoaXNFbCkpOwogICAgICAgIHJldHVybiBkb21BcGkuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2Ygbm9kZXMgZGlzdHJpYnV0ZWQgd2l0aGluIHRoaXMgZWxlbWVudCB0aGF0IG1hdGNoCiAgICAgICAqIGBzZWxlY3RvcmAuIFRoZXNlIGNhbiBiZSBkb20gY2hpbGRyZW4gb3IgZWxlbWVudHMgZGlzdHJpYnV0ZWQgdG8KICAgICAgICogY2hpbGRyZW4gdGhhdCBhcmUgaW5zZXJ0aW9uIHBvaW50cy4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHJ1bi4KICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBkaXN0cmlidXRlZCBlbGVtZW50cyB0aGF0IG1hdGNoIHNlbGVjdG9yLgogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30gTGVnYWN5RWxlbWVudE1peGluIG11c3QgYmUgYXBwbGllZCB0byBhbiBIVE1MRWxlbWVudAogICAgICAgKi8KICAgICAgcXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHNlbGVjdG9yKSB7CiAgICAgICAgY29uc3QgdGhpc0VsID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAodGhpcyk7CiAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtQb2x5bWVyLkRvbUFwaX0gKi8oUG9seW1lci5kb20odGhpc0VsKSk7CiAgICAgICAgcmV0dXJuIGRvbUFwaS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHMoc2VsZWN0b3IpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgZWxlbWVudHMgdGhhdCBhcmUgdGhlIGVmZmVjdGl2ZSBjaGlsZHJlbi4gVGhlIGVmZmVjdGl2ZQogICAgICAgKiBjaGlsZHJlbiBsaXN0IGlzIHRoZSBzYW1lIGFzIHRoZSBlbGVtZW50J3MgY2hpbGRyZW4gZXhjZXB0IHRoYXQKICAgICAgICogYW55IGA8Y29udGVudD5gIGVsZW1lbnRzIGFyZSByZXBsYWNlZCB3aXRoIHRoZSBsaXN0IG9mIGVsZW1lbnRzCiAgICAgICAqIGRpc3RyaWJ1dGVkIHRvIHRoZSBgPGNvbnRlbnQ+YC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBlZmZlY3RpdmUgY2hpbGRyZW4uCiAgICAgICAqLwogICAgICBnZXRFZmZlY3RpdmVDaGlsZHJlbigpIHsKICAgICAgICBsZXQgbGlzdCA9IHRoaXMuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICAgIHJldHVybiBsaXN0LmZpbHRlcihmdW5jdGlvbigvKiogQHR5cGUgeyFOb2RlfSAqLyBuKSB7CiAgICAgICAgICByZXR1cm4gKG4ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYSBzdHJpbmcgb2YgdGV4dCBjb250ZW50IHRoYXQgaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlCiAgICAgICAqIHRleHQgY29udGVudCdzIG9mIHRoZSBlbGVtZW50J3MgZWZmZWN0aXZlIGNoaWxkTm9kZXMgKHRoZSBlbGVtZW50cwogICAgICAgKiByZXR1cm5lZCBieSA8YSBocmVmPSIjZ2V0RWZmZWN0aXZlQ2hpbGROb2Rlcz5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzPC9hPi4KICAgICAgICoKICAgICAgICogQHJldHVybiB7c3RyaW5nfSBMaXN0IG9mIGVmZmVjdGl2ZSBjaGlsZHJlbi4KICAgICAgICovCiAgICAgIGdldEVmZmVjdGl2ZVRleHRDb250ZW50KCkgewogICAgICAgIGxldCBjbiA9IHRoaXMuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICAgIGxldCB0YyA9IFtdOwogICAgICAgIGZvciAobGV0IGk9MCwgYzsgKGMgPSBjbltpXSk7IGkrKykgewogICAgICAgICAgaWYgKGMubm9kZVR5cGUgIT09IE5vZGUuQ09NTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIHRjLnB1c2goYy50ZXh0Q29udGVudCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB0Yy5qb2luKCcnKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIGZpcnN0IGVmZmVjdGl2ZSBjaGlsZE5vZGUgd2l0aGluIHRoaXMgZWxlbWVudCB0aGF0CiAgICAgICAqIG1hdGNoIGBzZWxlY3RvcmAuIFRoZXNlIGNhbiBiZSBkb20gY2hpbGQgbm9kZXMgb3IgZWxlbWVudHMgZGlzdHJpYnV0ZWQKICAgICAgICogdG8gY2hpbGRyZW4gdGhhdCBhcmUgaW5zZXJ0aW9uIHBvaW50cy4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHJ1bi4KICAgICAgICogQHJldHVybiB7Tm9kZX0gRmlyc3QgZWZmZWN0aXZlIGNoaWxkIG5vZGUgdGhhdCBtYXRjaGVzIHNlbGVjdG9yLgogICAgICAgKi8KICAgICAgcXVlcnlFZmZlY3RpdmVDaGlsZHJlbihzZWxlY3RvcikgewogICAgICAgIGxldCBlJCA9IHRoaXMucXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHNlbGVjdG9yKTsKICAgICAgICByZXR1cm4gZSQgJiYgZSRbMF07CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBlZmZlY3RpdmUgY2hpbGROb2RlcyB3aXRoaW4gdGhpcyBlbGVtZW50IHRoYXQKICAgICAgICogbWF0Y2ggYHNlbGVjdG9yYC4gVGhlc2UgY2FuIGJlIGRvbSBjaGlsZCBub2RlcyBvciBlbGVtZW50cyBkaXN0cmlidXRlZAogICAgICAgKiB0byBjaGlsZHJlbiB0aGF0IGFyZSBpbnNlcnRpb24gcG9pbnRzLgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgU2VsZWN0b3IgdG8gcnVuLgogICAgICAgKiBAcmV0dXJuIHshQXJyYXk8IU5vZGU+fSBMaXN0IG9mIGVmZmVjdGl2ZSBjaGlsZCBub2RlcyB0aGF0IG1hdGNoIHNlbGVjdG9yLgogICAgICAgKi8KICAgICAgcXVlcnlBbGxFZmZlY3RpdmVDaGlsZHJlbihzZWxlY3RvcikgewogICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyhzZWxlY3Rvcik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBub2RlcyBkaXN0cmlidXRlZCB0byB0aGlzIGVsZW1lbnQncyBgPHNsb3Q+YC4KICAgICAgICoKICAgICAgICogSWYgdGhpcyBlbGVtZW50IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgYDxzbG90PmAgaW4gaXRzIGxvY2FsIERPTSwKICAgICAgICogYW4gb3B0aW9uYWwgc2VsZWN0b3IgbWF5IGJlIHBhc3NlZCB0byBjaG9vc2UgdGhlIGRlc2lyZWQgY29udGVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmc9fSBzbGN0ciBDU1Mgc2VsZWN0b3IgdG8gY2hvb3NlIHRoZSBkZXNpcmVkCiAgICAgICAqICAgYDxzbG90PmAuICBEZWZhdWx0cyB0byBgY29udGVudGAuCiAgICAgICAqIEByZXR1cm4geyFBcnJheTwhTm9kZT59IExpc3Qgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgZm9yIHRoZSBgPHNsb3Q+YC4KICAgICAgICovCiAgICAgIGdldENvbnRlbnRDaGlsZE5vZGVzKHNsY3RyKSB7CiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLnJvb3QucXVlcnlTZWxlY3RvcihzbGN0ciB8fCAnc2xvdCcpOwogICAgICAgIHJldHVybiBjb250ZW50ID8gLyoqIEB0eXBlIHtQb2x5bWVyLkRvbUFwaX0gKi8oUG9seW1lci5kb20oY29udGVudCkpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSA6IFtdOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgZWxlbWVudCBjaGlsZHJlbiBkaXN0cmlidXRlZCB0byB0aGlzIGVsZW1lbnQncwogICAgICAgKiBgPHNsb3Q+YC4KICAgICAgICoKICAgICAgICogSWYgdGhpcyBlbGVtZW50IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgYDxzbG90PmAgaW4gaXRzCiAgICAgICAqIGxvY2FsIERPTSwgYW4gb3B0aW9uYWwgc2VsZWN0b3IgbWF5IGJlIHBhc3NlZCB0byBjaG9vc2UgdGhlIGRlc2lyZWQKICAgICAgICogY29udGVudC4gIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSBgZ2V0Q29udGVudENoaWxkTm9kZXNgIGluIHRoYXQgb25seQogICAgICAgKiBlbGVtZW50cyBhcmUgcmV0dXJuZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gc2xjdHIgQ1NTIHNlbGVjdG9yIHRvIGNob29zZSB0aGUgZGVzaXJlZAogICAgICAgKiAgIGA8Y29udGVudD5gLiAgRGVmYXVsdHMgdG8gYGNvbnRlbnRgLgogICAgICAgKiBAcmV0dXJuIHshQXJyYXk8IUhUTUxFbGVtZW50Pn0gTGlzdCBvZiBkaXN0cmlidXRlZCBub2RlcyBmb3IgdGhlCiAgICAgICAqICAgYDxzbG90PmAuCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgZ2V0Q29udGVudENoaWxkcmVuKHNsY3RyKSB7CiAgICAgICAgbGV0IGNoaWxkcmVuID0gLyoqIEB0eXBlIHshQXJyYXk8IUhUTUxFbGVtZW50Pn0gKi8odGhpcy5nZXRDb250ZW50Q2hpbGROb2RlcyhzbGN0cikuZmlsdGVyKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgIHJldHVybiAobi5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gY2hpbGRyZW47CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDaGVja3Mgd2hldGhlciBhbiBlbGVtZW50IGlzIGluIHRoaXMgZWxlbWVudCdzIGxpZ2h0IERPTSB0cmVlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0gez9Ob2RlfSBub2RlIFRoZSBlbGVtZW50IHRvIGJlIGNoZWNrZWQuCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgbm9kZSBpcyBpbiB0aGlzIGVsZW1lbnQncyBsaWdodCBET00gdHJlZS4KICAgICAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9IExlZ2FjeUVsZW1lbnRNaXhpbiBtdXN0IGJlIGFwcGxpZWQgdG8gYW4gSFRNTEVsZW1lbnQKICAgICAgICovCiAgICAgIGlzTGlnaHREZXNjZW5kYW50KG5vZGUpIHsKICAgICAgICBjb25zdCB0aGlzTm9kZSA9IC8qKiBAdHlwZSB7Tm9kZX0gKi8gKHRoaXMpOwogICAgICAgIHJldHVybiB0aGlzTm9kZSAhPT0gbm9kZSAmJiB0aGlzTm9kZS5jb250YWlucyhub2RlKSAmJgogICAgICAgICAgdGhpc05vZGUuZ2V0Um9vdE5vZGUoKSA9PT0gbm9kZS5nZXRSb290Tm9kZSgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2hlY2tzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyBpbiB0aGlzIGVsZW1lbnQncyBsb2NhbCBET00gdHJlZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshRWxlbWVudH0gbm9kZSBUaGUgZWxlbWVudCB0byBiZSBjaGVja2VkLgogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIG5vZGUgaXMgaW4gdGhpcyBlbGVtZW50J3MgbG9jYWwgRE9NIHRyZWUuCiAgICAgICAqLwogICAgICBpc0xvY2FsRGVzY2VuZGFudChub2RlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucm9vdCA9PT0gbm9kZS5nZXRSb290Tm9kZSgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogTm8tb3AgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LiBUaGlzIHNob3VsZCBub3cgYmUgaGFuZGxlZCBieQogICAgICAgKiBTaGFkeUNzcyBsaWJyYXJ5LgogICAgICAgKiBAcGFyYW0gIHsqfSBjb250YWluZXIgVW51c2VkCiAgICAgICAqIEBwYXJhbSAgeyp9IHNob3VsZE9ic2VydmUgVW51c2VkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzY29wZVN1YnRyZWUoY29udGFpbmVyLCBzaG91bGRPYnNlcnZlKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIGNvbXB1dGVkIHN0eWxlIHZhbHVlIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBUaGUgY3NzIHByb3BlcnR5IG5hbWUuCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gUmV0dXJucyB0aGUgY29tcHV0ZWQgY3NzIHByb3BlcnR5IHZhbHVlIGZvciB0aGUgZ2l2ZW4KICAgICAgICogYHByb3BlcnR5YC4KICAgICAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9IExlZ2FjeUVsZW1lbnRNaXhpbiBtdXN0IGJlIGFwcGxpZWQgdG8gYW4gSFRNTEVsZW1lbnQKICAgICAgICovCiAgICAgIGdldENvbXB1dGVkU3R5bGVWYWx1ZShwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiBzdHlsZUludGVyZmFjZS5nZXRDb21wdXRlZFN0eWxlVmFsdWUoLyoqIEB0eXBlIHshRWxlbWVudH0gKi8odGhpcyksIHByb3BlcnR5KTsKICAgICAgfQoKICAgICAgLy8gZGVib3VuY2UKCiAgICAgIC8qKgogICAgICAgKiBDYWxsIGBkZWJvdW5jZWAgdG8gY29sbGFwc2UgbXVsdGlwbGUgcmVxdWVzdHMgZm9yIGEgbmFtZWQgdGFzayBpbnRvCiAgICAgICAqIG9uZSBpbnZvY2F0aW9uIHdoaWNoIGlzIG1hZGUgYWZ0ZXIgdGhlIHdhaXQgdGltZSBoYXMgZWxhcHNlZCB3aXRoCiAgICAgICAqIG5vIG5ldyByZXF1ZXN0LiAgSWYgbm8gd2FpdCB0aW1lIGlzIGdpdmVuLCB0aGUgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQKICAgICAgICogYXQgbWljcm90YXNrIHRpbWluZyAoZ3VhcmFudGVlZCBiZWZvcmUgcGFpbnQpLgogICAgICAgKgogICAgICAgKiAgICAgZGVib3VuY2VkQ2xpY2tBY3Rpb24oZSkgewogICAgICAgKiAgICAgICAvLyB3aWxsIG5vdCBjYWxsIGBwcm9jZXNzQ2xpY2tgIG1vcmUgdGhhbiBvbmNlIHBlciAxMDBtcwogICAgICAgKiAgICAgICB0aGlzLmRlYm91bmNlKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgKiAgICAgICAgdGhpcy5wcm9jZXNzQ2xpY2soKTsKICAgICAgICogICAgICAgfSAxMDApOwogICAgICAgKiAgICAgfQogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gam9iTmFtZSBTdHJpbmcgdG8gaWRlbnRpZnkgdGhlIGRlYm91bmNlIGpvYi4KICAgICAgICogQHBhcmFtIHtmdW5jdGlvbigpOnZvaWR9IGNhbGxiYWNrIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkICh3aXRoIGB0aGlzYAogICAgICAgKiAgIGNvbnRleHQpIHdoZW4gdGhlIHdhaXQgdGltZSBlbGFwc2VzLgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBPcHRpb25hbCB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzIChtcykgYWZ0ZXIgdGhlCiAgICAgICAqICAgbGFzdCBzaWduYWwgdGhhdCBtdXN0IGVsYXBzZSBiZWZvcmUgaW52b2tpbmcgYGNhbGxiYWNrYAogICAgICAgKiBAcmV0dXJuIHshT2JqZWN0fSBSZXR1cm5zIGEgZGVib3VuY2VyIG9iamVjdCBvbiB3aGljaCBleGlzdHMgdGhlCiAgICAgICAqIGZvbGxvd2luZyBtZXRob2RzOiBgaXNBY3RpdmUoKWAgcmV0dXJucyB0cnVlIGlmIHRoZSBkZWJvdW5jZXIgaXMKICAgICAgICogYWN0aXZlOyBgY2FuY2VsKClgIGNhbmNlbHMgdGhlIGRlYm91bmNlciBpZiBpdCBpcyBhY3RpdmU7CiAgICAgICAqIGBmbHVzaCgpYCBpbW1lZGlhdGVseSBpbnZva2VzIHRoZSBkZWJvdW5jZWQgY2FsbGJhY2sgaWYgdGhlIGRlYm91bmNlcgogICAgICAgKiBpcyBhY3RpdmUuCiAgICAgICAqLwogICAgICBkZWJvdW5jZShqb2JOYW1lLCBjYWxsYmFjaywgd2FpdCkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIHJldHVybiB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdID0gUG9seW1lci5EZWJvdW5jZXIuZGVib3VuY2UoCiAgICAgICAgICAgICAgdGhpcy5fZGVib3VuY2Vyc1tqb2JOYW1lXQogICAgICAgICAgICAsIHdhaXQgPiAwID8gUG9seW1lci5Bc3luYy50aW1lT3V0LmFmdGVyKHdhaXQpIDogUG9seW1lci5Bc3luYy5taWNyb1Rhc2sKICAgICAgICAgICAgLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciBhIG5hbWVkIGRlYm91bmNlciBpcyBhY3RpdmUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBqb2JOYW1lIFRoZSBuYW1lIG9mIHRoZSBkZWJvdW5jZXIgc3RhcnRlZCB3aXRoIGBkZWJvdW5jZWAKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgZGVib3VuY2VyIGlzIGFjdGl2ZSAoaGFzIG5vdCB5ZXQgZmlyZWQpLgogICAgICAgKi8KICAgICAgaXNEZWJvdW5jZXJBY3RpdmUoam9iTmFtZSkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIGxldCBkZWJvdW5jZXIgPSB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdOwogICAgICAgIHJldHVybiAhIShkZWJvdW5jZXIgJiYgZGVib3VuY2VyLmlzQWN0aXZlKCkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogSW1tZWRpYXRlbHkgY2FsbHMgdGhlIGRlYm91bmNlciBgY2FsbGJhY2tgIGFuZCBpbmFjdGl2YXRlcyBpdC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGpvYk5hbWUgVGhlIG5hbWUgb2YgdGhlIGRlYm91bmNlciBzdGFydGVkIHdpdGggYGRlYm91bmNlYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZmx1c2hEZWJvdW5jZXIoam9iTmFtZSkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIGxldCBkZWJvdW5jZXIgPSB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdOwogICAgICAgIGlmIChkZWJvdW5jZXIpIHsKICAgICAgICAgIGRlYm91bmNlci5mbHVzaCgpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbmNlbHMgYW4gYWN0aXZlIGRlYm91bmNlci4gIFRoZSBgY2FsbGJhY2tgIHdpbGwgbm90IGJlIGNhbGxlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGpvYk5hbWUgVGhlIG5hbWUgb2YgdGhlIGRlYm91bmNlciBzdGFydGVkIHdpdGggYGRlYm91bmNlYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsRGVib3VuY2VyKGpvYk5hbWUpIHsKICAgICAgICB0aGlzLl9kZWJvdW5jZXJzID0gdGhpcy5fZGVib3VuY2VycyB8fCB7fTsKICAgICAgICBsZXQgZGVib3VuY2VyID0gdGhpcy5fZGVib3VuY2Vyc1tqb2JOYW1lXTsKICAgICAgICBpZiAoZGVib3VuY2VyKSB7CiAgICAgICAgICBkZWJvdW5jZXIuY2FuY2VsKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUnVucyBhIGNhbGxiYWNrIGZ1bmN0aW9uIGFzeW5jaHJvbm91c2x5LgogICAgICAgKgogICAgICAgKiBCeSBkZWZhdWx0IChpZiBubyB3YWl0VGltZSBpcyBzcGVjaWZpZWQpLCBhc3luYyBjYWxsYmFja3MgYXJlIHJ1biBhdAogICAgICAgKiBtaWNyb3Rhc2sgdGltaW5nLCB3aGljaCB3aWxsIG9jY3VyIGJlZm9yZSBwYWludC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBydW4sIGJvdW5kIHRvIGB0aGlzYC4KICAgICAgICogQHBhcmFtIHtudW1iZXI9fSB3YWl0VGltZSBUaW1lIHRvIHdhaXQgYmVmb3JlIGNhbGxpbmcgdGhlCiAgICAgICAqICAgYGNhbGxiYWNrYC4gIElmIHVuc3BlY2lmaWVkIG9yIDAsIHRoZSBjYWxsYmFjayB3aWxsIGJlIHJ1biBhdCBtaWNyb3Rhc2sKICAgICAgICogICB0aW1pbmcgKGJlZm9yZSBwYWludCkuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHRoYXQgbWF5IGJlIHVzZWQgdG8gY2FuY2VsIHRoZSBhc3luYyBqb2IuCiAgICAgICAqLwogICAgICBhc3luYyhjYWxsYmFjaywgd2FpdFRpbWUpIHsKICAgICAgICByZXR1cm4gd2FpdFRpbWUgPiAwID8gUG9seW1lci5Bc3luYy50aW1lT3V0LnJ1bihjYWxsYmFjay5iaW5kKHRoaXMpLCB3YWl0VGltZSkgOgogICAgICAgICAgICB+UG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKGNhbGxiYWNrLmJpbmQodGhpcykpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FuY2VscyBhbiBhc3luYyBvcGVyYXRpb24gc3RhcnRlZCB3aXRoIGBhc3luY2AuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gb3JpZ2luYWwgYGFzeW5jYCBjYWxsIHRvCiAgICAgICAqICAgY2FuY2VsLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsQXN5bmMoaGFuZGxlKSB7CiAgICAgICAgaGFuZGxlIDwgMCA/IFBvbHltZXIuQXN5bmMubWljcm9UYXNrLmNhbmNlbCh+aGFuZGxlKSA6CiAgICAgICAgICAgIFBvbHltZXIuQXN5bmMudGltZU91dC5jYW5jZWwoaGFuZGxlKTsKICAgICAgfQoKICAgICAgLy8gb3RoZXIKCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGFuIGVsZW1lbnQgYW5kIGNvbmZpZ3VyaW5nIGl0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIEhUTUwgZWxlbWVudCB0YWcgdG8gY3JlYXRlLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHByb3BzIE9iamVjdCBvZiBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBvbiB0aGUKICAgICAgICogICAgaW5zdGFuY2UuCiAgICAgICAqIEByZXR1cm4geyFFbGVtZW50fSBOZXdseSBjcmVhdGVkIGFuZCBjb25maWd1cmVkIGVsZW1lbnQuCiAgICAgICAqLwogICAgICBjcmVhdGUodGFnLCBwcm9wcykgewogICAgICAgIGxldCBlbHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7CiAgICAgICAgaWYgKHByb3BzKSB7CiAgICAgICAgICBpZiAoZWx0LnNldFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgZWx0LnNldFByb3BlcnRpZXMocHJvcHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yIChsZXQgbiBpbiBwcm9wcykgewogICAgICAgICAgICAgIGVsdFtuXSA9IHByb3BzW25dOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBlbHQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGltcG9ydGluZyBhbiBIVE1MIGRvY3VtZW50IGltcGVyYXRpdmVseS4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIG5ldyBgPGxpbmsgcmVsPSJpbXBvcnQiPmAgZWxlbWVudCB3aXRoCiAgICAgICAqIHRoZSBwcm92aWRlZCBVUkwgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGRvY3VtZW50IHRvIHN0YXJ0IGxvYWRpbmcuCiAgICAgICAqIEluIHRoZSBgb25sb2FkYCBjYWxsYmFjaywgdGhlIGBpbXBvcnRgIHByb3BlcnR5IG9mIHRoZSBgbGlua2AKICAgICAgICogZWxlbWVudCB3aWxsIGNvbnRhaW4gdGhlIGltcG9ydGVkIGRvY3VtZW50IGNvbnRlbnRzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gaHJlZiBVUkwgdG8gZG9jdW1lbnQgdG8gbG9hZC4KICAgICAgICogQHBhcmFtIHs/ZnVuY3Rpb24oIUV2ZW50KTp2b2lkPX0gb25sb2FkIENhbGxiYWNrIHRvIG5vdGlmeSB3aGVuIGFuIGltcG9ydCBzdWNjZXNzZnVsbHkKICAgICAgICogICBsb2FkZWQuCiAgICAgICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFcnJvckV2ZW50KTp2b2lkPX0gb25lcnJvciBDYWxsYmFjayB0byBub3RpZnkgd2hlbiBhbiBpbXBvcnQKICAgICAgICogICB1bnN1Y2Nlc3NmdWxseSBsb2FkZWQuCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IG9wdEFzeW5jIFRydWUgaWYgdGhlIGltcG9ydCBzaG91bGQgYmUgbG9hZGVkIGBhc3luY2AuCiAgICAgICAqICAgRGVmYXVsdHMgdG8gYGZhbHNlYC4KICAgICAgICogQHJldHVybiB7IUhUTUxMaW5rRWxlbWVudH0gVGhlIGxpbmsgZWxlbWVudCBmb3IgdGhlIFVSTCB0byBiZSBsb2FkZWQuCiAgICAgICAqLwogICAgICBpbXBvcnRIcmVmKGhyZWYsIG9ubG9hZCwgb25lcnJvciwgb3B0QXN5bmMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogICAgICAgIGxldCBsb2FkRm4gPSBvbmxvYWQgPyBvbmxvYWQuYmluZCh0aGlzKSA6IG51bGw7CiAgICAgICAgbGV0IGVycm9yRm4gPSBvbmVycm9yID8gb25lcnJvci5iaW5kKHRoaXMpIDogbnVsbDsKICAgICAgICByZXR1cm4gUG9seW1lci5pbXBvcnRIcmVmKGhyZWYsIGxvYWRGbiwgZXJyb3JGbiwgb3B0QXN5bmMpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUG9seWZpbGwgZm9yIEVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXMsIHdoaWNoIGlzIHNvbWV0aW1lcyBzdGlsbAogICAgICAgKiBwcmVmaXhlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHRlc3QuCiAgICAgICAqIEBwYXJhbSB7IUVsZW1lbnQ9fSBub2RlIEVsZW1lbnQgdG8gdGVzdCB0aGUgc2VsZWN0b3IgYWdhaW5zdC4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBzZWxlY3Rvci4KICAgICAgICovCiAgICAgIGVsZW1lbnRNYXRjaGVzKHNlbGVjdG9yLCBub2RlKSB7CiAgICAgICAgcmV0dXJuIFBvbHltZXIuZG9tLm1hdGNoZXNTZWxlY3RvcigvKiogQHR5cGUgeyFFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKSwgc2VsZWN0b3IpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogVG9nZ2xlcyBhbiBIVE1MIGF0dHJpYnV0ZSBvbiBvciBvZmYuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIEhUTUwgYXR0cmlidXRlIG5hbWUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gYm9vbCBCb29sZWFuIHRvIGZvcmNlIHRoZSBhdHRyaWJ1dGUgb24gb3Igb2ZmLgogICAgICAgKiAgICBXaGVuIHVuc3BlY2lmaWVkLCB0aGUgc3RhdGUgb2YgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlIHJldmVyc2VkLgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnQ9fSBub2RlIE5vZGUgdG8gdGFyZ2V0LiAgRGVmYXVsdHMgdG8gYHRoaXNgLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgdG9nZ2xlQXR0cmlidXRlKG5hbWUsIGJvb2wsIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgICBib29sID0gIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpOwogICAgICAgIH0KICAgICAgICBpZiAoYm9vbCkgewogICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUobmFtZSwgJycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKICAgICAgICB9CiAgICAgIH0KCgogICAgICAvKioKICAgICAgICogVG9nZ2xlcyBhIENTUyBjbGFzcyBvbiBvciBvZmYuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBjbGFzcyBuYW1lCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGJvb2wgQm9vbGVhbiB0byBmb3JjZSB0aGUgY2xhc3Mgb24gb3Igb2ZmLgogICAgICAgKiAgICBXaGVuIHVuc3BlY2lmaWVkLCB0aGUgc3RhdGUgb2YgdGhlIGNsYXNzIHdpbGwgYmUgcmV2ZXJzZWQuCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudD19IG5vZGUgTm9kZSB0byB0YXJnZXQuICBEZWZhdWx0cyB0byBgdGhpc2AuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICB0b2dnbGVDbGFzcyhuYW1lLCBib29sLCBub2RlKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyk7CiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkgewogICAgICAgICAgYm9vbCA9ICFub2RlLmNsYXNzTGlzdC5jb250YWlucyhuYW1lKTsKICAgICAgICB9CiAgICAgICAgaWYgKGJvb2wpIHsKICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmFkZChuYW1lKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9kZS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENyb3NzLXBsYXRmb3JtIGhlbHBlciBmb3Igc2V0dGluZyBhbiBlbGVtZW50J3MgQ1NTIGB0cmFuc2Zvcm1gIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHJhbnNmb3JtVGV4dCBUcmFuc2Zvcm0gc2V0dGluZy4KICAgICAgICogQHBhcmFtIHtFbGVtZW50PX0gbm9kZSBFbGVtZW50IHRvIGFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8uCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybVRleHQsIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICBub2RlLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9IHRyYW5zZm9ybVRleHQ7CiAgICAgICAgbm9kZS5zdHlsZS50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1UZXh0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3Jvc3MtcGxhdGZvcm0gaGVscGVyIGZvciBzZXR0aW5nIGFuIGVsZW1lbnQncyBDU1MgYHRyYW5zbGF0ZTNkYAogICAgICAgKiBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtudW1iZXJ9IHggWCBvZmZzZXQuCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSB5IFkgb2Zmc2V0LgogICAgICAgKiBAcGFyYW0ge251bWJlcn0geiBaIG9mZnNldC4KICAgICAgICogQHBhcmFtIHtFbGVtZW50PX0gbm9kZSBFbGVtZW50IHRvIGFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8uCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHRyYW5zbGF0ZTNkKHgsIHksIHosIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICB0aGlzLnRyYW5zZm9ybSgndHJhbnNsYXRlM2QoJyArIHggKyAnLCcgKyB5ICsgJywnICsgeiArICcpJywgbm9kZSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZW1vdmVzIGFuIGl0ZW0gZnJvbSBhbiBhcnJheSwgaWYgaXQgZXhpc3RzLgogICAgICAgKgogICAgICAgKiBJZiB0aGUgYXJyYXkgaXMgc3BlY2lmaWVkIGJ5IHBhdGgsIGEgY2hhbmdlIG5vdGlmaWNhdGlvbiBpcwogICAgICAgKiBnZW5lcmF0ZWQsIHNvIHRoYXQgb2JzZXJ2ZXJzLCBkYXRhIGJpbmRpbmdzIGFuZCBjb21wdXRlZAogICAgICAgKiBwcm9wZXJ0aWVzIHdhdGNoaW5nIHRoYXQgcGF0aCBjYW4gdXBkYXRlLgogICAgICAgKgogICAgICAgKiBJZiB0aGUgYXJyYXkgaXMgcGFzc2VkIGRpcmVjdGx5LCAqKm5vIGNoYW5nZQogICAgICAgKiBub3RpZmljYXRpb24gaXMgZ2VuZXJhdGVkKiouCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PG51bWJlcnxzdHJpbmc+fSBhcnJheU9yUGF0aCBQYXRoIHRvIGFycmF5IGZyb20gd2hpY2ggdG8gcmVtb3ZlIHRoZSBpdGVtCiAgICAgICAqICAgKG9yIHRoZSBhcnJheSBpdHNlbGYpLgogICAgICAgKiBAcGFyYW0geyp9IGl0ZW0gSXRlbSB0byByZW1vdmUuCiAgICAgICAqIEByZXR1cm4ge0FycmF5fSBBcnJheSBjb250YWluaW5nIGl0ZW0gcmVtb3ZlZC4KICAgICAgICovCiAgICAgIGFycmF5RGVsZXRlKGFycmF5T3JQYXRoLCBpdGVtKSB7CiAgICAgICAgbGV0IGluZGV4OwogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFycmF5T3JQYXRoKSkgewogICAgICAgICAgaW5kZXggPSBhcnJheU9yUGF0aC5pbmRleE9mKGl0ZW0pOwogICAgICAgICAgaWYgKGluZGV4ID49IDApIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5T3JQYXRoLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGxldCBhcnIgPSBQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIGFycmF5T3JQYXRoKTsKICAgICAgICAgIGluZGV4ID0gYXJyLmluZGV4T2YoaXRlbSk7CiAgICAgICAgICBpZiAoaW5kZXggPj0gMCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5zcGxpY2UoYXJyYXlPclBhdGgsIGluZGV4LCAxKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIC8vIGxvZ2dpbmcKCiAgICAgIC8qKgogICAgICAgKiBGYWNhZGVzIGBjb25zb2xlLmxvZ2AvYHdhcm5gL2BlcnJvcmAgYXMgb3ZlcnJpZGUgcG9pbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbCBPbmUgb2YgJ2xvZycsICd3YXJuJywgJ2Vycm9yJwogICAgICAgKiBAcGFyYW0ge0FycmF5fSBhcmdzIEFycmF5IG9mIHN0cmluZ3Mgb3Igb2JqZWN0cyB0byBsb2cKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9sb2dnZXIobGV2ZWwsIGFyZ3MpIHsKICAgICAgICAvLyBhY2NlcHQgWydmb28nLCAnYmFyJ10gYW5kIFtbJ2ZvbycsICdiYXInXV0KICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcmdzKSAmJiBhcmdzLmxlbmd0aCA9PT0gMSAmJiBBcnJheS5pc0FycmF5KGFyZ3NbMF0pKSB7CiAgICAgICAgICBhcmdzID0gYXJnc1swXTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoKGxldmVsKSB7CiAgICAgICAgICBjYXNlICdsb2cnOgogICAgICAgICAgY2FzZSAnd2Fybic6CiAgICAgICAgICBjYXNlICdlcnJvcic6CiAgICAgICAgICAgIGNvbnNvbGVbbGV2ZWxdKC4uLmFyZ3MpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZhY2FkZXMgYGNvbnNvbGUubG9nYCBhcyBhbiBvdmVycmlkZSBwb2ludC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHsuLi4qfSBhcmdzIEFycmF5IG9mIHN0cmluZ3Mgb3Igb2JqZWN0cyB0byBsb2cKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9sb2coLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignbG9nJywgYXJncyk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBGYWNhZGVzIGBjb25zb2xlLndhcm5gIGFzIGFuIG92ZXJyaWRlIHBvaW50LgogICAgICAgKgogICAgICAgKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJyYXkgb2Ygc3RyaW5ncyBvciBvYmplY3RzIHRvIGxvZwogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX3dhcm4oLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignd2FybicsIGFyZ3MpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRmFjYWRlcyBgY29uc29sZS5lcnJvcmAgYXMgYW4gb3ZlcnJpZGUgcG9pbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcnJheSBvZiBzdHJpbmdzIG9yIG9iamVjdHMgdG8gbG9nCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfZXJyb3IoLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignZXJyb3InLCBhcmdzKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZvcm1hdHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBlbGVtZW50IHR5cGUgYW4gYSBtZXRob2QgbmFtZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTWV0aG9kIG5hbWUgdG8gYXNzb2NpYXRlIHdpdGggbWVzc2FnZQogICAgICAgKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJyYXkgb2Ygc3RyaW5ncyBvciBvYmplY3RzIHRvIGxvZwogICAgICAgKiBAcmV0dXJuIHtBcnJheX0gQXJyYXkgd2l0aCBmb3JtYXR0aW5nIGluZm9ybWF0aW9uIGZvciBgY29uc29sZWAKICAgICAgICogICBsb2dnaW5nLgogICAgICAgKi8KICAgICAgX2xvZ2YobWV0aG9kTmFtZSwgLi4uYXJncykgewogICAgICAgIHJldHVybiBbJ1slczo6JXNdJywgdGhpcy5pcywgbWV0aG9kTmFtZSwgLi4uYXJnc107CiAgICAgIH0KCiAgICB9CgogICAgTGVnYWN5RWxlbWVudC5wcm90b3R5cGUuaXMgPSAnJzsKCiAgICByZXR1cm4gTGVnYWN5RWxlbWVudDsKCiAgfSk7Cgp9KSgpOwoKCgogIChmdW5jdGlvbigpIHsKCiAgICAndXNlIHN0cmljdCc7CgogICAgY29uc3QgbGlmZWN5Y2xlUHJvcHMgPSB7CiAgICAgIGF0dGFjaGVkOiB0cnVlLAogICAgICBkZXRhY2hlZDogdHJ1ZSwKICAgICAgcmVhZHk6IHRydWUsCiAgICAgIGNyZWF0ZWQ6IHRydWUsCiAgICAgIGJlZm9yZVJlZ2lzdGVyOiB0cnVlLAogICAgICByZWdpc3RlcmVkOiB0cnVlLAogICAgICBhdHRyaWJ1dGVDaGFuZ2VkOiB0cnVlLAogICAgICBsaXN0ZW5lcnM6IHRydWUsCiAgICAgIGhvc3RBdHRyaWJ1dGVzOiB0cnVlCiAgICB9OwoKICAgIGNvbnN0IGV4Y2x1ZGVPbkluZm8gPSB7CiAgICAgIGF0dGFjaGVkOiB0cnVlLAogICAgICBkZXRhY2hlZDogdHJ1ZSwKICAgICAgcmVhZHk6IHRydWUsCiAgICAgIGNyZWF0ZWQ6IHRydWUsCiAgICAgIGJlZm9yZVJlZ2lzdGVyOiB0cnVlLAogICAgICByZWdpc3RlcmVkOiB0cnVlLAogICAgICBhdHRyaWJ1dGVDaGFuZ2VkOiB0cnVlLAogICAgICBiZWhhdmlvcnM6IHRydWUsCiAgICAgIF9ub0FjY2Vzc29yczogdHJ1ZQogICAgfTsKCiAgICBjb25zdCBleGNsdWRlT25CZWhhdmlvcnMgPSBPYmplY3QuYXNzaWduKHsKICAgICAgbGlzdGVuZXJzOiB0cnVlLAogICAgICBob3N0QXR0cmlidXRlczogdHJ1ZSwKICAgICAgcHJvcGVydGllczogdHJ1ZSwKICAgICAgb2JzZXJ2ZXJzOiB0cnVlLAogICAgfSwgZXhjbHVkZU9uSW5mbyk7CgogICAgZnVuY3Rpb24gY29weVByb3BlcnRpZXMoc291cmNlLCB0YXJnZXQsIGV4Y2x1ZGVQcm9wcykgewogICAgICBjb25zdCBub0FjY2Vzc29ycyA9IHNvdXJjZS5fbm9BY2Nlc3NvcnM7CiAgICAgIGZvciAobGV0IHAgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKCEocCBpbiBleGNsdWRlUHJvcHMpKSB7CiAgICAgICAgICBpZiAobm9BY2Nlc3NvcnMpIHsKICAgICAgICAgICAgdGFyZ2V0W3BdID0gc291cmNlW3BdOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbGV0IHBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHApOwogICAgICAgICAgICBpZiAocGQpIHsKICAgICAgICAgICAgICAvLyBlbnN1cmUgcHJvcGVydHkgaXMgY29uZmlndXJhYmxlIHNvIHRoYXQgYSBsYXRlciBiZWhhdmlvciBjYW4KICAgICAgICAgICAgICAvLyByZS1jb25maWd1cmUgaXQuCiAgICAgICAgICAgICAgcGQuY29uZmlndXJhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwLCBwZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFwcGxpZXMgYSAibGVnYWN5IiBiZWhhdmlvciBvciBhcnJheSBvZiBiZWhhdmlvcnMgdG8gdGhlIHByb3ZpZGVkIGNsYXNzLgogICAgICoKICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIHdpbGwgYXV0b21hdGljYWxseSBhbHNvIGFwcGx5IHRoZSBgUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW5gCiAgICAgKiB0byBlbnN1cmUgdGhhdCBhbnkgbGVnYWN5IGJlaGF2aW9ycyBjYW4gcmVseSBvbiBsZWdhY3kgUG9seW1lciBBUEkgb24KICAgICAqIHRoZSB1bmRlcmx5aW5nIGVsZW1lbnQuCiAgICAgKgogICAgICogQHRlbXBsYXRlIFQKICAgICAqIEBwYXJhbSB7IU9iamVjdHwhQXJyYXk8IU9iamVjdD59IGJlaGF2aW9ycyBCZWhhdmlvciBvYmplY3Qgb3IgYXJyYXkgb2YgYmVoYXZpb3JzLgogICAgICogQHBhcmFtIHtmdW5jdGlvbihuZXc6VCl9IGtsYXNzIEVsZW1lbnQgY2xhc3MuCiAgICAgKiBAcmV0dXJuIHtmdW5jdGlvbihuZXc6VCl9IFJldHVybnMgYSBuZXcgRWxlbWVudCBjbGFzcyBleHRlbmRlZCBieSB0aGUKICAgICAqIHBhc3NlZCBpbiBgYmVoYXZpb3JzYCBhbmQgYWxzbyBieSBgUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW5gLgogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzLCBjaGVja1R5cGVzfQogICAgICovCiAgICBmdW5jdGlvbiBtaXhpbkJlaGF2aW9ycyhiZWhhdmlvcnMsIGtsYXNzKSB7CiAgICAgIHJldHVybiBHZW5lcmF0ZUNsYXNzRnJvbUluZm8oe30sIFBvbHltZXIuTGVnYWN5RWxlbWVudE1peGluKGtsYXNzKSwgYmVoYXZpb3JzKTsKICAgIH0KCiAgICAvLyBOT1RFOgogICAgLy8gMS54CiAgICAvLyBCZWhhdmlvcnMgd2VyZSBtaXhlZCBpbiAqaW4gcmV2ZXJzZSBvcmRlciogYW5kIGRlLWR1cGVkIG9uIHRoZSBmbHkuCiAgICAvLyBUaGUgcnVsZSB3YXMgdGhhdCBiZWhhdmlvciBwcm9wZXJ0aWVzIHdlcmUgY29waWVkIG9udG8gdGhlIGVsZW1lbnQKICAgIC8vIHByb3RvdHlwZSBpZiBhbmQgb25seSBpZiB0aGUgcHJvcGVydHkgZGlkIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgLy8gR2l2ZW46IFBvbHltZXJ7IGJlaGF2aW9yczogW0EsIEIsIEMsIEEsIEJdfSwgcHJvcGVydHkgY29weSBvcmRlciB3YXM6CiAgICAvLyAoMSksIEIsICgyKSwgQSwgKDMpIEMuIFRoaXMgbWVhbnMgcHJvdG90eXBlIHByb3BlcnRpZXMgd2luIG92ZXIKICAgIC8vIEIgcHJvcGVydGllcyB3aW4gb3ZlciBBIHdpbiBvdmVyIEMuIFRoaXMgbWlycm9ycyB3aGF0IHdvdWxkIGhhcHBlbgogICAgLy8gd2l0aCBpbmhlcml0YW5jZSBpZiBlbGVtZW50IGV4dGVuZGVkIEIgZXh0ZW5kZWQgQSBleHRlbmRlZCBDLgogICAgLy8KICAgIC8vIEFnYWluIGdpdmVuLCBQb2x5bWVyeyBiZWhhdmlvcnM6IFtBLCBCLCBDLCBBLCBCXX0sIHRoZSByZXN1bHRpbmcKICAgIC8vIGBiZWhhdmlvcnNgIGFycmF5IHdhcyBbQywgQSwgQl0uCiAgICAvLyBCZWhhdmlvciBsaWZlY3ljbGUgbWV0aG9kcyB3ZXJlIGNhbGxlZCBpbiBiZWhhdmlvciBhcnJheSBvcmRlcgogICAgLy8gZm9sbG93ZWQgYnkgdGhlIGVsZW1lbnQsIGUuZy4gKDEpIEMuY3JlYXRlZCwgKDIpIEEuY3JlYXRlZCwKICAgIC8vICgzKSBCLmNyZWF0ZWQsICg0KSBlbGVtZW50LmNyZWF0ZWQuIFRoZXJlIHdhcyBubyBzdXBwb3J0IGZvcgogICAgLy8gc3VwZXIsIGFuZCAic3VwZXItYmVoYXZpb3IiIG1ldGhvZHMgd2VyZSBjYWxsYWJsZSBvbmx5IGJ5IG5hbWUpLgogICAgLy8KICAgIC8vIDIueAogICAgLy8gQmVoYXZpb3JzIGFyZSBtYWRlIGludG8gcHJvcGVyIG1peGlucyB3aGljaCBsaXZlIGluIHRoZQogICAgLy8gZWxlbWVudCdzIHByb3RvdHlwZSBjaGFpbi4gQmVoYXZpb3JzIGFyZSBwbGFjZWQgaW4gdGhlIGVsZW1lbnQgcHJvdG90eXBlCiAgICAvLyBlbGRlc3QgdG8geW91bmdlc3QgYW5kIGRlLWR1cGVkIHlvdW5nZXN0IHRvIG9sZGVzdDoKICAgIC8vIFNvLCBmaXJzdCBbQSwgQiwgQywgQSwgQl0gYmVjb21lcyBbQywgQSwgQl0gdGhlbiwKICAgIC8vIHRoZSBlbGVtZW50IHByb3RvdHlwZSBiZWNvbWVzIChvbGRlc3QpICgxKSBQb2x5bWVyLkVsZW1lbnQsICgyKSBjbGFzcyhDKSwKICAgIC8vICgzKSBjbGFzcyhBKSwgKDQpIGNsYXNzKEIpLCAoNSkgY2xhc3MoUG9seW1lcih7Li4ufSkpLgogICAgLy8gUmVzdWx0OgogICAgLy8gVGhpcyBtZWFucyBlbGVtZW50IHByb3BlcnRpZXMgd2luIG92ZXIgQiBwcm9wZXJ0aWVzIHdpbiBvdmVyIEEgd2luCiAgICAvLyBvdmVyIEMuIChzYW1lIGFzIDEueCkKICAgIC8vIElmIGxpZmVjeWNsZSBpcyBjYWxsZWQgKHN1cGVyIHRoZW4gbWUpLCBvcmRlciBpcwogICAgLy8gKDEpIEMuY3JlYXRlZCwgKDIpIEEuY3JlYXRlZCwgKDMpIEIuY3JlYXRlZCwgKDQpIGVsZW1lbnQuY3JlYXRlZAogICAgLy8gKGFnYWluIHNhbWUgYXMgMS54KQogICAgZnVuY3Rpb24gYXBwbHlCZWhhdmlvcnMocHJvdG8sIGJlaGF2aW9ycywgbGlmZWN5Y2xlKSB7CiAgICAgIGZvciAobGV0IGk9MDsgaTxiZWhhdmlvcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBhcHBseUluZm8ocHJvdG8sIGJlaGF2aW9yc1tpXSwgbGlmZWN5Y2xlLCBleGNsdWRlT25CZWhhdmlvcnMpOwogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXBwbHlJbmZvKHByb3RvLCBpbmZvLCBsaWZlY3ljbGUsIGV4Y2x1ZGVQcm9wcykgewogICAgICBjb3B5UHJvcGVydGllcyhpbmZvLCBwcm90bywgZXhjbHVkZVByb3BzKTsKICAgICAgZm9yIChsZXQgcCBpbiBsaWZlY3ljbGVQcm9wcykgewogICAgICAgIGlmIChpbmZvW3BdKSB7CiAgICAgICAgICBsaWZlY3ljbGVbcF0gPSBsaWZlY3ljbGVbcF0gfHwgW107CiAgICAgICAgICBsaWZlY3ljbGVbcF0ucHVzaChpbmZvW3BdKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSB7QXJyYXl9IGJlaGF2aW9ycyBMaXN0IG9mIGJlaGF2aW9ycyB0byBmbGF0dGVuLgogICAgICogQHBhcmFtIHtBcnJheT19IGxpc3QgVGFyZ2V0IGxpc3QgdG8gZmxhdHRlbiBiZWhhdmlvcnMgaW50by4KICAgICAqIEBwYXJhbSB7QXJyYXk9fSBleGNsdWRlIExpc3Qgb2YgYmVoYXZpb3JzIHRvIGV4Y2x1ZGUgZnJvbSB0aGUgbGlzdC4KICAgICAqIEByZXR1cm4geyFBcnJheX0gUmV0dXJucyB0aGUgbGlzdCBvZiBmbGF0dGVuZWQgYmVoYXZpb3JzLgogICAgICovCiAgICBmdW5jdGlvbiBmbGF0dGVuQmVoYXZpb3JzKGJlaGF2aW9ycywgbGlzdCwgZXhjbHVkZSkgewogICAgICBsaXN0ID0gbGlzdCB8fCBbXTsKICAgICAgZm9yIChsZXQgaT1iZWhhdmlvcnMubGVuZ3RoLTE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgbGV0IGIgPSBiZWhhdmlvcnNbaV07CiAgICAgICAgaWYgKGIpIHsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGIpKSB7CiAgICAgICAgICAgIGZsYXR0ZW5CZWhhdmlvcnMoYiwgbGlzdCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBkZWR1cAogICAgICAgICAgICBpZiAobGlzdC5pbmRleE9mKGIpIDwgMCAmJiAoIWV4Y2x1ZGUgfHwgZXhjbHVkZS5pbmRleE9mKGIpIDwgMCkpIHsKICAgICAgICAgICAgICBsaXN0LnVuc2hpZnQoYik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc29sZS53YXJuKCdiZWhhdmlvciBpcyBudWxsLCBjaGVjayBmb3IgbWlzc2luZyBvciA0MDQgaW1wb3J0Jyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBsaXN0OwogICAgfQoKICAgIC8qIE5vdGUgYWJvdXQgY29uc3RydWN0aW9uIGFuZCBleHRlbnNpb24gb2YgbGVnYWN5IGNsYXNzZXMuCiAgICAgIFtDaGFuZ2VkIGluIFE0IDIwMTggdG8gb3B0aW1pemUgcGVyZm9ybWFuY2UuXQoKICAgICAgV2hlbiBjYWxsaW5nIGBQb2x5bWVyYCBvciBgbWl4aW5CZWhhdmlvcnNgLCB0aGUgZ2VuZXJhdGVkIGNsYXNzIGJlbG93IGlzCiAgICAgIG1hZGUuIFRoZSBsaXN0IG9mIGJlaGF2aW9ycyB3YXMgcHJldmlvdXNseSBtYWRlIGludG8gb25lIGdlbmVyYXRlZCBjbGFzcyBwZXIKICAgICAgYmVoYXZpb3IsIGJ1dCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZSBhcyBiZWhhdmlvcnMgYXJlIG5vdyBjYWxsZWQKICAgICAgbWFudWFsbHkuIE5vdGUsIHRoZXJlIG1heSAqc3RpbGwqIGJlIG11bHRpcGxlIGdlbmVyYXRlZCBjbGFzc2VzIGluIHRoZQogICAgICBlbGVtZW50J3MgcHJvdG90eXBlIGNoYWluIGlmIGV4dGVuc2lvbiBpcyB1c2VkIHdpdGggYG1peGluQmVoYXZpb3JzYC4KCiAgICAgIFRoZSBnZW5lcmF0ZWQgY2xhc3MgaXMgZGlyZWN0bHkgdGllZCB0byB0aGUgaW5mbyBvYmplY3QgYW5kIGJlaGF2aW9ycwogICAgICB1c2VkIHRvIGNyZWF0ZSBpdC4gVGhhdCBsaXN0IG9mIGJlaGF2aW9ycyBpcyBmaWx0ZXJlZCBzbyBpdCdzIG9ubHkgdGhlCiAgICAgIGJlaGF2aW9ycyBub3QgYWN0aXZlIG9uIHRoZSBzdXBlcmNsYXNzLiBJbiBvcmRlciB0byBjYWxsIHRocm91Z2ggdG8gdGhlCiAgICAgIGVudGlyZSBsaXN0IG9mIGxpZmVjeWNsZSBtZXRob2RzLCBpdCdzIGltcG9ydGFudCB0byBjYWxsIGBzdXBlcmAuCgogICAgICBUaGUgZWxlbWVudCdzIGBwcm9wZXJ0aWVzYCBhbmQgYG9ic2VydmVyc2AgYXJlIGNvbnRyb2xsZWQgdmlhIHRoZSBmaW5hbGl6YXRpb24KICAgICAgbWVjaGFuaXNtIHByb3ZpZGVkIGJ5IGBQcm9wZXJ0aWVzTWl4aW5gLiBgUHJvcGVydGllc2AgYW5kIGBvYnNlcnZlcnNgIGFyZQogICAgICBjb2xsZWN0ZWQgYnkgbWFudWFsbHkgdHJhdmVyc2luZyB0aGUgcHJvdG90eXBlIGNoYWluIGFuZCBtZXJnaW5nLgoKICAgICAgVG8gbGltaXQgY2hhbmdlcywgdGhlIGBfcmVnaXN0ZXJlZGAgbWV0aG9kIGlzIGNhbGxlZCB2aWEgYF9pbml0aWFsaXplUHJvcGVydGllc2AKICAgICAgYW5kIG5vdCBgX2ZpbmFsaXplQ2xhc3NgLgogICAgKi8KICAgIC8qKgogICAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gUG9seW1lciBpbmZvIG9iamVjdAogICAgICogQHBhcmFtIHtmdW5jdGlvbihuZXc6SFRNTEVsZW1lbnQpfSBCYXNlIGJhc2UgY2xhc3MgdG8gZXh0ZW5kIHdpdGggaW5mbyBvYmplY3QKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBiZWhhdmlvcnMgYmVoYXZpb3JzIHRvIGNvcHkgaW50byB0aGUgZWxlbWVudAogICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OkhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAc3VwcHJlc3Mge2NoZWNrVHlwZXN9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBHZW5lcmF0ZUNsYXNzRnJvbUluZm8oaW5mbywgQmFzZSwgYmVoYXZpb3JzKSB7CgogICAgICAvLyBtYW5hZ2VzIGJlaGF2aW9yIGFuZCBsaWZlY3ljbGUgcHJvY2Vzc2luZyAoZmlsbGVkIGluIGFmdGVyIGNsYXNzIGRlZmluaXRpb24pCiAgICAgIGxldCBiZWhhdmlvckxpc3Q7CiAgICAgIGNvbnN0IGxpZmVjeWNsZSA9IHt9OwoKICAgICAgLyoqIEBwcml2YXRlICovCiAgICAgIGNsYXNzIFBvbHltZXJHZW5lcmF0ZWQgZXh0ZW5kcyBCYXNlIHsKCiAgICAgICAgLy8gZXhwbGljaXRseSBub3QgY2FsbGluZyBzdXBlci5fZmluYWxpemVDbGFzcwogICAgICAgIHN0YXRpYyBfZmluYWxpemVDbGFzcygpIHsKICAgICAgICAgIC8vIGlmIGNhbGxpbmcgdmlhIGEgc3ViY2xhc3MgdGhhdCBoYXNuJ3QgYmVlbiBnZW5lcmF0ZWQsIHBhc3MgdGhyb3VnaCB0byBzdXBlcgogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KHdpbmRvdy5KU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdnZW5lcmF0ZWRGcm9tJywgdGhpcykpKSB7CiAgICAgICAgICAgIHN1cGVyLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBpbnRlcmxlYXZlIHByb3BlcnRpZXMgYW5kIG9ic2VydmVycyBwZXIgYmVoYXZpb3IgYW5kIGBpbmZvYAogICAgICAgICAgICBpZiAoYmVoYXZpb3JMaXN0KSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBiOyBpIDwgYmVoYXZpb3JMaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBiID0gYmVoYXZpb3JMaXN0W2ldOwogICAgICAgICAgICAgICAgaWYgKGIucHJvcGVydGllcykgewogICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVByb3BlcnRpZXMoYi5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChiLm9ic2VydmVycykgewogICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU9ic2VydmVycyhiLm9ic2VydmVycywgYi5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGluZm8ucHJvcGVydGllcykgewogICAgICAgICAgICAgIHRoaXMuY3JlYXRlUHJvcGVydGllcyhpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpbmZvLm9ic2VydmVycykgewogICAgICAgICAgICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXJzKGluZm8ub2JzZXJ2ZXJzLCBpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0byBwcmVwYXJlIHRoZSBlbGVtZW50IHRlbXBsYXRlCiAgICAgICAgICAgIHRoaXMuX3ByZXBhcmVUZW1wbGF0ZSgpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkgewogICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IHt9OwogICAgICAgICAgaWYgKGJlaGF2aW9yTGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBiZWhhdmlvckxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIGJlaGF2aW9yTGlzdFtpXS5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgT2JqZWN0LmFzc2lnbihwcm9wZXJ0aWVzLCBpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7CiAgICAgICAgfQoKICAgICAgICBzdGF0aWMgZ2V0IG9ic2VydmVycygpIHsKICAgICAgICAgIGxldCBvYnNlcnZlcnMgPSBbXTsKICAgICAgICAgIGlmIChiZWhhdmlvckxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBiOyBpIDwgYmVoYXZpb3JMaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgYiA9IGJlaGF2aW9yTGlzdFtpXTsKICAgICAgICAgICAgICBpZiAoYi5vYnNlcnZlcnMpIHsKICAgICAgICAgICAgICAgIG9ic2VydmVycyA9IG9ic2VydmVycy5jb25jYXQoYi5vYnNlcnZlcnMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGluZm8ub2JzZXJ2ZXJzKSB7CiAgICAgICAgICAgIG9ic2VydmVycyA9IG9ic2VydmVycy5jb25jYXQoaW5mby5vYnNlcnZlcnMpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIG9ic2VydmVyczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgY3JlYXRlZCgpIHsKICAgICAgICAgIHN1cGVyLmNyZWF0ZWQoKTsKICAgICAgICAgIGNvbnN0IGxpc3QgPSBsaWZlY3ljbGUuY3JlYXRlZDsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsaXN0W2ldLmNhbGwodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgX3JlZ2lzdGVyZWQoKSB7CiAgICAgICAgICAvKiBOT1RFOiBgYmVmb3JlUmVnaXN0ZXJgIGlzIGNhbGxlZCBoZXJlIGZvciBiYywgYnV0IHRoZSBiZWhhdmlvcgogICAgICAgICAgICBpcyBkaWZmZXJlbnQgdGhhbiBpbiAxLnguIEluIDEuMCwgdGhlIG1ldGhvZCB3YXMgY2FsbGVkICphZnRlcioKICAgICAgICAgICAgbWl4aW5nIHByb3RvdHlwZXMgdG9nZXRoZXIgYnV0ICpiZWZvcmUqIHByb2Nlc3Npbmcgb2YgbWV0YS1vYmplY3RzLgogICAgICAgICAgICBIb3dldmVyLCBkeW5hbWljIGVmZmVjdHMgY2FuIHN0aWxsIGJlIHNldCBoZXJlIGFuZCBjYW4gYmUgZG9uZSBlaXRoZXIKICAgICAgICAgICAgaW4gYGJlZm9yZVJlZ2lzdGVyYCBvciBgcmVnaXN0ZXJlZGAuIEl0IGlzIG5vIGxvbmdlciBwb3NzaWJsZSB0byBzZXQKICAgICAgICAgICAgYGlzYCBpbiBgYmVmb3JlUmVnaXN0ZXJgIGFzIHlvdSBjb3VsZCBpbiAxLnguCiAgICAgICAgICAqLwogICAgICAgICAgLy8gb25seSBwcm9jZWVkIGlmIHRoZSBnZW5lcmF0ZWQgY2xhc3MnIHByb3RvdHlwZSBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZC4KICAgICAgICAgIGNvbnN0IGdlbmVyYXRlZFByb3RvID0gUG9seW1lckdlbmVyYXRlZC5wcm90b3R5cGU7CiAgICAgICAgICBpZiAoIWdlbmVyYXRlZFByb3RvLmhhc093blByb3BlcnR5KCdfX2hhc1JlZ2lzdGVyRmluaXNoZWQnKSkgewogICAgICAgICAgICBnZW5lcmF0ZWRQcm90by5fX2hhc1JlZ2lzdGVyRmluaXNoZWQgPSB0cnVlOwogICAgICAgICAgICAvLyBlbnN1cmUgc3VwZXJjbGFzcyBpcyByZWdpc3RlcmVkIGZpcnN0LgogICAgICAgICAgICBzdXBlci5fcmVnaXN0ZXJlZCgpOwogICAgICAgICAgICAvLyBjb3B5IHByb3BlcnRpZXMgb250byB0aGUgZ2VuZXJhdGVkIGNsYXNzIGxhemlseSBpZiB3ZSdyZSBvcHRpbWl6aW5nLAogICAgICAgICAgICBpZiAoUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zKSB7CiAgICAgICAgICAgICAgY29weVByb3BlcnRpZXNUb1Byb3RvKGdlbmVyYXRlZFByb3RvKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBtYWtlIHN1cmUgbGVnYWN5IGxpZmVjeWNsZSBpcyBjYWxsZWQgb24gdGhlICplbGVtZW50KidzIHByb3RvdHlwZQogICAgICAgICAgICAvLyBhbmQgbm90IHRoZSBnZW5lcmF0ZWQgY2xhc3MgcHJvdG90eXBlOyBpZiB0aGUgZWxlbWVudCBoYXMgYmVlbgogICAgICAgICAgICAvLyBleHRlbmRlZCwgdGhlc2UgYXJlICpub3QqIHRoZSBzYW1lLgogICAgICAgICAgICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKTsKICAgICAgICAgICAgbGV0IGxpc3QgPSBsaWZlY3ljbGUuYmVmb3JlUmVnaXN0ZXI7CiAgICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgbGlzdFtpXS5jYWxsKHByb3RvKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGlzdCA9IGxpZmVjeWNsZS5yZWdpc3RlcmVkOwogICAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGxpc3RbaV0uY2FsbChwcm90byk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9hcHBseUxpc3RlbmVycygpIHsKICAgICAgICAgIHN1cGVyLl9hcHBseUxpc3RlbmVycygpOwogICAgICAgICAgY29uc3QgbGlzdCA9IGxpZmVjeWNsZS5saXN0ZW5lcnM7CiAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gbGlzdFtpXTsKICAgICAgICAgICAgICBpZiAobGlzdGVuZXJzKSB7CiAgICAgICAgICAgICAgICBmb3IgKGxldCBsIGluIGxpc3RlbmVycykgewogICAgICAgICAgICAgICAgICB0aGlzLl9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsIGwsIGxpc3RlbmVyc1tsXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBub3RlOiBleGNlcHRpb24gdG8gInN1cGVyIHRoZW4gbWUiIHJ1bGU7CiAgICAgICAgLy8gZG8gd29yayBiZWZvcmUgY2FsbGluZyBzdXBlciBzbyB0aGF0IHN1cGVyIGF0dHJpYnV0ZXMKICAgICAgICAvLyBvbmx5IGFwcGx5IGlmIG5vdCBhbHJlYWR5IHNldC4KICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9lbnN1cmVBdHRyaWJ1dGVzKCkgewogICAgICAgICAgY29uc3QgbGlzdCA9IGxpZmVjeWNsZS5ob3N0QXR0cmlidXRlczsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9bGlzdC5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICBjb25zdCBob3N0QXR0cmlidXRlcyA9IGxpc3RbaV07CiAgICAgICAgICAgICAgZm9yIChsZXQgYSBpbiBob3N0QXR0cmlidXRlcykgewogICAgICAgICAgICAgICAgICB0aGlzLl9lbnN1cmVBdHRyaWJ1dGUoYSwgaG9zdEF0dHJpYnV0ZXNbYV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBzdXBlci5fZW5zdXJlQXR0cmlidXRlcygpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICByZWFkeSgpIHsKICAgICAgICAgIHN1cGVyLnJlYWR5KCk7CiAgICAgICAgICBsZXQgbGlzdCA9IGxpZmVjeWNsZS5yZWFkeTsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsaXN0W2ldLmNhbGwodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgYXR0YWNoZWQoKSB7CiAgICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogICAgICAgICAgbGV0IGxpc3QgPSBsaWZlY3ljbGUuYXR0YWNoZWQ7CiAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgbGlzdFtpXS5jYWxsKHRoaXMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGRldGFjaGVkKCkgewogICAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICAgICAgIGxldCBsaXN0ID0gbGlmZWN5Y2xlLmRldGFjaGVkOwogICAgICAgICAgaWYgKGxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIGxpc3RbaV0uY2FsbCh0aGlzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogSW1wbGVtZW50cyBuYXRpdmUgQ3VzdG9tIEVsZW1lbnRzIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvCiAgICAgICAgICogc2V0IGFuIGF0dHJpYnV0ZSB2YWx1ZSB0byBhIHByb3BlcnR5IHZpYSBgX2F0dHJpYnV0ZVRvUHJvcGVydHlgLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUgdGhhdCBjaGFuZ2VkCiAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBvbGQgT2xkIGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGQsIHZhbHVlKSB7CiAgICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgICAgICBsZXQgbGlzdCA9IGxpZmVjeWNsZS5hdHRyaWJ1dGVDaGFuZ2VkOwogICAgICAgICAgaWYgKGxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIGxpc3RbaV0uY2FsbCh0aGlzLCBuYW1lLCBvbGQsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gYXBwbHkgYmVoYXZpb3JzLCBub3RlIGFjdHVhbCBjb3B5aW5nIGlzIGRvbmUgbGF6aWx5IGF0IGZpcnN0IGluc3RhbmNlIGNyZWF0aW9uCiAgICAgIGlmIChiZWhhdmlvcnMpIHsKICAgICAgICAvLyBOT1RFOiBlbnN1cmUgdGhlIGJlaGF2aW9yIGlzIGV4dGVuZGluZyBhIGNsYXNzIHdpdGgKICAgICAgICAvLyBsZWdhY3kgZWxlbWVudCBhcGkuIFRoaXMgaXMgbmVjZXNzYXJ5IHNpbmNlIGJlaGF2aW9ycyBleHBlY3QgdG8gYmUgYWJsZQogICAgICAgIC8vIHRvIGFjY2VzcyAxLnggbGVnYWN5IGFwaS4KICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYmVoYXZpb3JzKSkgewogICAgICAgICAgYmVoYXZpb3JzID0gW2JlaGF2aW9yc107CiAgICAgICAgfQogICAgICAgIGxldCBzdXBlckJlaGF2aW9ycyA9IEJhc2UucHJvdG90eXBlLmJlaGF2aW9yczsKICAgICAgICAvLyBnZXQgZmxhdHRlbmVkLCBkZWR1cGVkIGxpc3Qgb2YgYmVoYXZpb3JzICpub3QqIGFscmVhZHkgb24gc3VwZXIgY2xhc3MKICAgICAgICBiZWhhdmlvckxpc3QgPSBmbGF0dGVuQmVoYXZpb3JzKGJlaGF2aW9ycywgbnVsbCwgc3VwZXJCZWhhdmlvcnMpOwogICAgICAgIFBvbHltZXJHZW5lcmF0ZWQucHJvdG90eXBlLmJlaGF2aW9ycyA9IHN1cGVyQmVoYXZpb3JzID8KICAgICAgICAgIHN1cGVyQmVoYXZpb3JzLmNvbmNhdChiZWhhdmlvcnMpIDogYmVoYXZpb3JMaXN0OwogICAgICB9CgogICAgICBjb25zdCBjb3B5UHJvcGVydGllc1RvUHJvdG8gPSAocHJvdG8pID0+IHsKICAgICAgICBpZiAoYmVoYXZpb3JMaXN0KSB7CiAgICAgICAgICBhcHBseUJlaGF2aW9ycyhwcm90bywgYmVoYXZpb3JMaXN0LCBsaWZlY3ljbGUpOwogICAgICAgIH0KICAgICAgICBhcHBseUluZm8ocHJvdG8sIGluZm8sIGxpZmVjeWNsZSwgZXhjbHVkZU9uSW5mbyk7CiAgICAgIH07CgogICAgICAvLyBjb3B5IHByb3BlcnRpZXMgaWYgd2UncmUgbm90IG9wdGltaXppbmcKICAgICAgaWYgKCFQb2x5bWVyLmxlZ2FjeU9wdGltaXphdGlvbnMpIHsKICAgICAgICBjb3B5UHJvcGVydGllc1RvUHJvdG8oUG9seW1lckdlbmVyYXRlZC5wcm90b3R5cGUpOwogICAgICB9CgogICAgICBQb2x5bWVyR2VuZXJhdGVkLmdlbmVyYXRlZEZyb20gPSBpbmZvOwoKICAgICAgcmV0dXJuIFBvbHltZXJHZW5lcmF0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZXMgYSBjbGFzcyB0aGF0IGV4dGVuZHMgYFBvbHltZXIuTGVnYWN5RWxlbWVudGAgYmFzZWQgb24gdGhlCiAgICAgKiBwcm92aWRlZCBpbmZvIG9iamVjdC4gIE1ldGFkYXRhIG9iamVjdHMgb24gdGhlIGBpbmZvYCBvYmplY3QKICAgICAqIChgcHJvcGVydGllc2AsIGBvYnNlcnZlcnNgLCBgbGlzdGVuZXJzYCwgYGJlaGF2aW9yc2AsIGBpc2ApIGFyZSB1c2VkCiAgICAgKiBmb3IgUG9seW1lcidzIG1ldGEtcHJvZ3JhbW1pbmcgc3lzdGVtcywgYW5kIGFueSBmdW5jdGlvbnMgYXJlIGNvcGllZAogICAgICogdG8gdGhlIGdlbmVyYXRlZCBjbGFzcy4KICAgICAqCiAgICAgKiBWYWxpZCAibWV0YWRhdGEiIHZhbHVlcyBhcmUgYXMgZm9sbG93czoKICAgICAqCiAgICAgKiBgaXNgOiBTdHJpbmcgcHJvdmlkaW5nIHRoZSB0YWcgbmFtZSB0byByZWdpc3RlciB0aGUgZWxlbWVudCB1bmRlci4gSW4KICAgICAqIGFkZGl0aW9uLCBpZiBhIGBkb20tbW9kdWxlYCB3aXRoIHRoZSBzYW1lIGlkIGV4aXN0cywgdGhlIGZpcnN0IHRlbXBsYXRlCiAgICAgKiBpbiB0aGF0IGBkb20tbW9kdWxlYCB3aWxsIGJlIHN0YW1wZWQgaW50byB0aGUgc2hhZG93IHJvb3Qgb2YgdGhpcyBlbGVtZW50LAogICAgICogd2l0aCBzdXBwb3J0IGZvciBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMgKGBvbi0uLi5gKSwgUG9seW1lciBkYXRhCiAgICAgKiBiaW5kaW5ncyAoYFtbLi4uXV1gIGFuZCBge3suLi59fWApLCBhbmQgaWQtYmFzZWQgbm9kZSBmaW5kaW5nIGludG8KICAgICAqIGB0aGlzLiRgLgogICAgICoKICAgICAqIGBwcm9wZXJ0aWVzYDogT2JqZWN0IGRlc2NyaWJpbmcgcHJvcGVydHktcmVsYXRlZCBtZXRhZGF0YSB1c2VkIGJ5IFBvbHltZXIKICAgICAqIGZlYXR1cmVzIChrZXk6IHByb3BlcnR5IG5hbWVzLCB2YWx1ZTogb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydHkgbWV0YWRhdGEpLgogICAgICogVmFsaWQga2V5cyBpbiBwZXItcHJvcGVydHkgbWV0YWRhdGEgaW5jbHVkZToKICAgICAqIC0gYHR5cGVgIChTdHJpbmd8TnVtYmVyfE9iamVjdHxBcnJheXwuLi4pOiBVc2VkIGJ5CiAgICAgKiAgIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvIGRldGVybWluZSBob3cgc3RyaW5nLWJhc2VkIGF0dHJpYnV0ZXMKICAgICAqICAgYXJlIGRlc2VyaWFsaXplZCB0byBKYXZhU2NyaXB0IHByb3BlcnR5IHZhbHVlcy4KICAgICAqIC0gYG5vdGlmeWAgKGJvb2xlYW4pOiBDYXVzZXMgYSBjaGFuZ2UgaW4gdGhlIHByb3BlcnR5IHRvIGZpcmUgYQogICAgICogICBub24tYnViYmxpbmcgZXZlbnQgY2FsbGVkIGA8cHJvcGVydHk+LWNoYW5nZWRgLiBFbGVtZW50cyB0aGF0IGhhdmUKICAgICAqICAgZW5hYmxlZCB0d28td2F5IGJpbmRpbmcgdG8gdGhlIHByb3BlcnR5IHVzZSB0aGlzIGV2ZW50IHRvIG9ic2VydmUgY2hhbmdlcy4KICAgICAqIC0gYHJlYWRPbmx5YCAoYm9vbGVhbik6IENyZWF0ZXMgYSBnZXR0ZXIgZm9yIHRoZSBwcm9wZXJ0eSwgYnV0IG5vIHNldHRlci4KICAgICAqICAgVG8gc2V0IGEgcmVhZC1vbmx5IHByb3BlcnR5LCB1c2UgdGhlIHByaXZhdGUgc2V0dGVyIG1ldGhvZAogICAgICogICBgX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSlgLgogICAgICogLSBgb2JzZXJ2ZXJgIChzdHJpbmcpOiBPYnNlcnZlciBtZXRob2QgbmFtZSB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4KICAgICAqICAgdGhlIHByb3BlcnR5IGNoYW5nZXMuIFRoZSBhcmd1bWVudHMgb2YgdGhlIG1ldGhvZCBhcmUKICAgICAqICAgYCh2YWx1ZSwgcHJldmlvdXNWYWx1ZSlgLgogICAgICogLSBgY29tcHV0ZWRgIChzdHJpbmcpOiBTdHJpbmcgZGVzY3JpYmluZyBtZXRob2QgYW5kIGRlcGVuZGVudCBwcm9wZXJ0aWVzCiAgICAgKiAgIGZvciBjb21wdXRpbmcgdGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkgKGUuZy4gYCdjb21wdXRlRm9vKGJhciwgem90KSdgKS4KICAgICAqICAgQ29tcHV0ZWQgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5IGJ5IGRlZmF1bHQgYW5kIGNhbiBvbmx5IGJlIGNoYW5nZWQKICAgICAqICAgdmlhIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGNvbXB1dGluZyBtZXRob2QuCiAgICAgKgogICAgICogYG9ic2VydmVyc2A6IEFycmF5IG9mIHN0cmluZ3MgZGVzY3JpYmluZyBtdWx0aS1wcm9wZXJ0eSBvYnNlcnZlciBtZXRob2RzCiAgICAgKiAgYW5kIHRoZWlyIGRlcGVuZGVudCBwcm9wZXJ0aWVzIChlLmcuIGAnb2JzZXJ2ZUFCQyhhLCBiLCBjKSdgKS4KICAgICAqCiAgICAgKiBgbGlzdGVuZXJzYDogT2JqZWN0IGRlc2NyaWJpbmcgZXZlbnQgbGlzdGVuZXJzIHRvIGJlIGFkZGVkIHRvIGVhY2gKICAgICAqICBpbnN0YW5jZSBvZiB0aGlzIGVsZW1lbnQgKGtleTogZXZlbnQgbmFtZSwgdmFsdWU6IG1ldGhvZCBuYW1lKS4KICAgICAqCiAgICAgKiBgYmVoYXZpb3JzYDogQXJyYXkgb2YgYWRkaXRpb25hbCBgaW5mb2Agb2JqZWN0cyBjb250YWluaW5nIG1ldGFkYXRhCiAgICAgKiBhbmQgY2FsbGJhY2tzIGluIHRoZSBzYW1lIGZvcm1hdCBhcyB0aGUgYGluZm9gIG9iamVjdCBoZXJlIHdoaWNoIGFyZQogICAgICogbWVyZ2VkIGludG8gdGhpcyBlbGVtZW50LgogICAgICoKICAgICAqIGBob3N0QXR0cmlidXRlc2A6IE9iamVjdCBsaXN0aW5nIGF0dHJpYnV0ZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgaG9zdAogICAgICogIG9uY2UgY3JlYXRlZCAoa2V5OiBhdHRyaWJ1dGUgbmFtZSwgdmFsdWU6IGF0dHJpYnV0ZSB2YWx1ZSkuICBWYWx1ZXMKICAgICAqICBhcmUgc2VyaWFsaXplZCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUgdmFsdWUuICBIb3N0IGF0dHJpYnV0ZXMgc2hvdWxkCiAgICAgKiAgZ2VuZXJhbGx5IGJlIGxpbWl0ZWQgdG8gYXR0cmlidXRlcyBzdWNoIGFzIGB0YWJJbmRleGAgYW5kIGBhcmlhLS4uLmAuCiAgICAgKiAgQXR0cmlidXRlcyBpbiBgaG9zdEF0dHJpYnV0ZXNgIGFyZSBvbmx5IGFwcGxpZWQgaWYgYSB1c2VyLXN1cHBsaWVkCiAgICAgKiAgYXR0cmlidXRlIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQgKGF0dHJpYnV0ZXMgaW4gbWFya3VwIG92ZXJyaWRlCiAgICAgKiAgYGhvc3RBdHRyaWJ1dGVzYCkuCiAgICAgKgogICAgICogSW4gYWRkaXRpb24sIHRoZSBmb2xsb3dpbmcgUG9seW1lci1zcGVjaWZpYyBjYWxsYmFja3MgbWF5IGJlIHByb3ZpZGVkOgogICAgICogLSBgcmVnaXN0ZXJlZGA6IGNhbGxlZCBhZnRlciBmaXJzdCBpbnN0YW5jZSBvZiB0aGlzIGVsZW1lbnQsCiAgICAgKiAtIGBjcmVhdGVkYDogY2FsbGVkIGR1cmluZyBgY29uc3RydWN0b3JgCiAgICAgKiAtIGBhdHRhY2hlZGA6IGNhbGxlZCBkdXJpbmcgYGNvbm5lY3RlZENhbGxiYWNrYAogICAgICogLSBgZGV0YWNoZWRgOiBjYWxsZWQgZHVyaW5nIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AKICAgICAqIC0gYHJlYWR5YDogY2FsbGVkIGJlZm9yZSBmaXJzdCBgYXR0YWNoZWRgLCBhZnRlciBhbGwgcHJvcGVydGllcyBvZgogICAgICogICB0aGlzIGVsZW1lbnQgaGF2ZSBiZWVuIHByb3BhZ2F0ZWQgdG8gaXRzIHRlbXBsYXRlIGFuZCBhbGwgb2JzZXJ2ZXJzCiAgICAgKiAgIGhhdmUgcnVuCiAgICAgKgogICAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gT2JqZWN0IGNvbnRhaW5pbmcgUG9seW1lciBtZXRhZGF0YSBhbmQgZnVuY3Rpb25zCiAgICAgKiAgIHRvIGJlY29tZSBjbGFzcyBtZXRob2RzLgogICAgICogQHRlbXBsYXRlIFQKICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oVCk6VH0gbWl4aW4gT3B0aW9uYWwgbWl4aW4gdG8gYXBwbHkgdG8gbGVnYWN5IGJhc2UgY2xhc3MKICAgICAqICAgYmVmb3JlIGV4dGVuZGluZyB3aXRoIFBvbHltZXIgbWV0YXByb2dyYW1taW5nLgogICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OkhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAgICovCiAgICBQb2x5bWVyLkNsYXNzID0gZnVuY3Rpb24oaW5mbywgbWl4aW4pIHsKICAgICAgaWYgKCFpbmZvKSB7CiAgICAgICAgY29uc29sZS53YXJuKCdQb2x5bWVyLkNsYXNzIHJlcXVpcmVzIGBpbmZvYCBhcmd1bWVudCcpOwogICAgICB9CiAgICAgIGxldCBrbGFzcyA9IG1peGluID8gbWl4aW4oUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW4oSFRNTEVsZW1lbnQpKSA6CiAgICAgICAgICBQb2x5bWVyLkxlZ2FjeUVsZW1lbnRNaXhpbihIVE1MRWxlbWVudCk7CiAgICAgIGtsYXNzID0gR2VuZXJhdGVDbGFzc0Zyb21JbmZvKGluZm8sIGtsYXNzLCBpbmZvLmJlaGF2aW9ycyk7CiAgICAgIGlmIChpbmZvLl9lbmFibGVEaXNhYmxlVXBncmFkZSkgewogICAgICAgIGtsYXNzID0gUG9seW1lci5EaXNhYmxlVXBncmFkZU1peGluKGtsYXNzKTsKICAgICAgfQogICAgICAvLyBkZWNvcmF0ZSBrbGFzcyB3aXRoIHJlZ2lzdHJhdGlvbiBpbmZvCiAgICAgIGtsYXNzLmlzID0ga2xhc3MucHJvdG90eXBlLmlzID0gaW5mby5pczsKICAgICAgcmV0dXJuIGtsYXNzOwogICAgfTsKCiAgICBQb2x5bWVyLm1peGluQmVoYXZpb3JzID0gbWl4aW5CZWhhdmlvcnM7CgogIH0pKCk7CgoKCgogIChmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvKioKICAgICAqIExlZ2FjeSBjbGFzcyBmYWN0b3J5IGFuZCByZWdpc3RyYXRpb24gaGVscGVyIGZvciBkZWZpbmluZyBQb2x5bWVyCiAgICAgKiBlbGVtZW50cy4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvCiAgICAgKiBgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGluZm8uaXMsIFBvbHltZXIuQ2xhc3MoaW5mbykpO2AKICAgICAqCiAgICAgKiBTZWUgYFBvbHltZXIuQ2xhc3NgIGZvciBkZXRhaWxzIG9uIHZhbGlkIGxlZ2FjeSBtZXRhZGF0YSBmb3JtYXQgZm9yIGBpbmZvYC4KICAgICAqCiAgICAgKiBAZ2xvYmFsCiAgICAgKiBAb3ZlcnJpZGUKICAgICAqIEBmdW5jdGlvbiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFQb2x5bWVySW5pdH0gaW5mbyBPYmplY3QgY29udGFpbmluZyBQb2x5bWVyIG1ldGFkYXRhIGFuZCBmdW5jdGlvbnMKICAgICAqICAgdG8gYmVjb21lIGNsYXNzIG1ldGhvZHMuCiAgICAgKiBAcmV0dXJuIHtmdW5jdGlvbihuZXc6IEhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAc3VwcHJlc3Mge2R1cGxpY2F0ZSwgaW52YWxpZENhc3RzLCBjaGVja1R5cGVzfQogICAgICovCiAgICB3aW5kb3cuUG9seW1lci5fcG9seW1lckZuID0gZnVuY3Rpb24oaW5mbykgewogICAgICAvLyBpZiBpbnB1dCBpcyBhIGBjbGFzc2AgKGFrYSBhIGZ1bmN0aW9uIHdpdGggYSBwcm90b3R5cGUpLCB1c2UgdGhlIHByb3RvdHlwZQogICAgICAvLyByZW1lbWJlciB0aGF0IHRoZSBgY29uc3RydWN0b3JgIHdpbGwgbmV2ZXIgYmUgY2FsbGVkCiAgICAgIGxldCBrbGFzczsKICAgICAgaWYgKHR5cGVvZiBpbmZvID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAga2xhc3MgPSBpbmZvOwogICAgICB9IGVsc2UgewogICAgICAgIGtsYXNzID0gUG9seW1lci5DbGFzcyhpbmZvKTsKICAgICAgfQogICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoa2xhc3MuaXMsIC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyhrbGFzcykpOwogICAgICByZXR1cm4ga2xhc3M7CiAgICB9OwoKICB9KSgpOwoKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvLyBDb21tb24gaW1wbGVtZW50YXRpb24gZm9yIG1peGluICYgYmVoYXZpb3IKICBmdW5jdGlvbiBtdXRhYmxlUHJvcGVydHlDaGFuZ2UoaW5zdCwgcHJvcGVydHksIHZhbHVlLCBvbGQsIG11dGFibGVEYXRhKSB7CiAgICBsZXQgaXNPYmplY3Q7CiAgICBpZiAobXV0YWJsZURhdGEpIHsKICAgICAgaXNPYmplY3QgPSAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCk7CiAgICAgIC8vIFB1bGwgYG9sZGAgZm9yIE9iamVjdHMgZnJvbSB0ZW1wIGNhY2hlLCBidXQgdHJlYXQgYG51bGxgIGFzIGEgcHJpbWl0aXZlCiAgICAgIGlmIChpc09iamVjdCkgewogICAgICAgIG9sZCA9IGluc3QuX19kYXRhVGVtcFtwcm9wZXJ0eV07CiAgICAgIH0KICAgIH0KICAgIC8vIFN0cmljdCBlcXVhbGl0eSBjaGVjaywgYnV0IHJldHVybiBmYWxzZSBmb3IgTmFOPT09TmFOCiAgICBsZXQgc2hvdWxkQ2hhbmdlID0gKG9sZCAhPT0gdmFsdWUgJiYgKG9sZCA9PT0gb2xkIHx8IHZhbHVlID09PSB2YWx1ZSkpOwogICAgLy8gT2JqZWN0cyBhcmUgc3RvcmVkIGluIHRlbXBvcmFyeSBjYWNoZSAoY2xlYXJlZCBhdCBlbmQgb2YKICAgIC8vIHR1cm4pLCB3aGljaCBpcyB1c2VkIGZvciBkaXJ0eS1jaGVja2luZwogICAgaWYgKGlzT2JqZWN0ICYmIHNob3VsZENoYW5nZSkgewogICAgICBpbnN0Ll9fZGF0YVRlbXBbcHJvcGVydHldID0gdmFsdWU7CiAgICB9CiAgICByZXR1cm4gc2hvdWxkQ2hhbmdlOwogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0byBza2lwIHN0cmljdCBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBhbmQgYXJyYXlzCiAgICogKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpLCBmb3IgdXNlIG9uIGVsZW1lbnRzIHV0aWxpemluZwogICAqIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AKICAgKgogICAqIEJ5IGRlZmF1bHQsIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgcGVyZm9ybXMgc3RyaWN0IGRpcnR5IGNoZWNraW5nIG9uCiAgICogb2JqZWN0cywgd2hpY2ggbWVhbnMgdGhhdCBhbnkgZGVlcCBtb2RpZmljYXRpb25zIHRvIGFuIG9iamVjdCBvciBhcnJheSB3aWxsCiAgICogbm90IGJlIHByb3BhZ2F0ZWQgdW5sZXNzICJpbW11dGFibGUiIGRhdGEgcGF0dGVybnMgYXJlIHVzZWQgKGkuZS4gYWxsIG9iamVjdAogICAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgcm9vdCB0byB0aGUgbXV0YXRpb24gd2VyZSBjaGFuZ2VkKS4KICAgKgogICAqIFBvbHltZXIgYWxzbyBwcm92aWRlcyBhIHByb3ByaWV0YXJ5IGRhdGEgbXV0YXRpb24gYW5kIHBhdGggbm90aWZpY2F0aW9uIEFQSQogICAqIChlLmcuIGBub3RpZnlQYXRoYCwgYHNldGAsIGFuZCBhcnJheSBtdXRhdGlvbiBBUEkncykgdGhhdCBhbGxvdyBlZmZpY2llbnQKICAgKiBtdXRhdGlvbiBhbmQgbm90aWZpY2F0aW9uIG9mIGRlZXAgY2hhbmdlcyBpbiBhbiBvYmplY3QgZ3JhcGggdG8gYWxsIGVsZW1lbnRzCiAgICogYm91bmQgdG8gdGhlIHNhbWUgb2JqZWN0IGdyYXBoLgogICAqCiAgICogSW4gY2FzZXMgd2hlcmUgbmVpdGhlciBpbW11dGFibGUgcGF0dGVybnMgbm9yIHRoZSBkYXRhIG11dGF0aW9uIEFQSSBjYW4gYmUKICAgKiB1c2VkLCBhcHBseWluZyB0aGlzIG1peGluIHdpbGwgY2F1c2UgUG9seW1lciB0byBza2lwIGRpcnR5IGNoZWNraW5nIGZvcgogICAqIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUgImRpcnR5IikuICBUaGlzIGFsbG93cyBhCiAgICogdXNlciB0byBtYWtlIGEgZGVlcCBtb2RpZmljYXRpb24gdG8gYSBib3VuZCBvYmplY3QgZ3JhcGgsIGFuZCB0aGVuIGVpdGhlcgogICAqIHNpbXBseSByZS1zZXQgdGhlIG9iamVjdCAoZS5nLiBgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXNgKSBvciBjYWxsIGBub3RpZnlQYXRoYAogICAqIChlLmcuIGB0aGlzLm5vdGlmeVBhdGgoJ2l0ZW1zJylgKSB0byB1cGRhdGUgdGhlIHRyZWUuICBOb3RlIHRoYXQgYWxsCiAgICogZWxlbWVudHMgdGhhdCB3aXNoIHRvIGJlIHVwZGF0ZWQgYmFzZWQgb24gZGVlcCBtdXRhdGlvbnMgbXVzdCBhcHBseSB0aGlzCiAgICogbWl4aW4gb3Igb3RoZXJ3aXNlIHNraXAgc3RyaWN0IGRpcnR5IGNoZWNraW5nIGZvciBvYmplY3RzL2FycmF5cy4KICAgKiBTcGVjaWZpY2FsbHksIGFueSBlbGVtZW50cyBpbiB0aGUgYmluZGluZyB0cmVlIGJldHdlZW4gdGhlIHNvdXJjZSBvZiBhCiAgICogbXV0YXRpb24gYW5kIHRoZSBjb25zdW1wdGlvbiBvZiBpdCBtdXN0IGFwcGx5IHRoaXMgbWl4aW4gb3IgZW5hYmxlIHRoZQogICAqIGBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFgIG1peGluLgogICAqCiAgICogSW4gb3JkZXIgdG8gbWFrZSB0aGUgZGlydHkgY2hlY2sgc3RyYXRlZ3kgY29uZmlndXJhYmxlLCBzZWUKICAgKiBgUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhYC4KICAgKgogICAqIE5vdGUsIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvcGFnYXRpbmcgbGFyZ2Ugb2JqZWN0IGdyYXBocwogICAqIHdpbGwgYmUgd29yc2UgYXMgb3Bwb3NlZCB0byB1c2luZyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgd2l0aCBpbW11dGFibGUKICAgKiBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24gQVBJLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiB0byBza2lwIHN0cmljdCBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cwogICAqICAgYW5kIGFycmF5cwogICAqLwogIFBvbHltZXIuTXV0YWJsZURhdGEgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQG1peGluQ2xhc3MKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX011dGFibGVEYXRhfQogICAgICovCiAgICBjbGFzcyBNdXRhYmxlRGF0YSBleHRlbmRzIHN1cGVyQ2xhc3MgewogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgdG8gcHJvdmlkZSBvcHRpb24gZm9yIHNraXBwaW5nCiAgICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBwdWxscyB0aGUgdmFsdWUgdG8gZGlydHkgY2hlY2sgYWdhaW5zdCBmcm9tIHRoZSBgX19kYXRhVGVtcGAKICAgICAgICogY2FjaGUgKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAgICogY2FjaGUgaXMgY2xlYXJlZCBhdCB0aGUgZW5kIG9mIGEgdHVybiwgdGhpcyBpbXBsZW1lbnRhdGlvbiBhbGxvd3MKICAgICAgICogc2lkZS1lZmZlY3RzIG9mIGRlZXAgb2JqZWN0IGNoYW5nZXMgdG8gYmUgcHJvY2Vzc2VkIGJ5IHJlLXNldHRpbmcgdGhlCiAgICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAgICogY3ljbGVzIGR1ZSB0byAyLXdheSBub3RpZmljYXRpb24pLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIE5ldyBwcm9wZXJ0eSB2YWx1ZQogICAgICAgKiBAcGFyYW0geyp9IG9sZCBQcmV2aW91cyBwcm9wZXJ0eSB2YWx1ZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgICByZXR1cm4gbXV0YWJsZVByb3BlcnR5Q2hhbmdlKHRoaXMsIHByb3BlcnR5LCB2YWx1ZSwgb2xkLCB0cnVlKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gTXV0YWJsZURhdGE7CgogIH0pOwoKCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0byBhZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gc2tpcCBzdHJpY3QKICAgKiBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBhbmQgYXJyYXlzIChhbHdheXMgY29uc2lkZXIgdGhlbSB0byBiZQogICAqICJkaXJ0eSIpIGJ5IHNldHRpbmcgYSBgbXV0YWJsZS1kYXRhYCBhdHRyaWJ1dGUgb24gYW4gZWxlbWVudCBpbnN0YW5jZS4KICAgKgogICAqIEJ5IGRlZmF1bHQsIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgcGVyZm9ybXMgc3RyaWN0IGRpcnR5IGNoZWNraW5nIG9uCiAgICogb2JqZWN0cywgd2hpY2ggbWVhbnMgdGhhdCBhbnkgZGVlcCBtb2RpZmljYXRpb25zIHRvIGFuIG9iamVjdCBvciBhcnJheSB3aWxsCiAgICogbm90IGJlIHByb3BhZ2F0ZWQgdW5sZXNzICJpbW11dGFibGUiIGRhdGEgcGF0dGVybnMgYXJlIHVzZWQgKGkuZS4gYWxsIG9iamVjdAogICAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgcm9vdCB0byB0aGUgbXV0YXRpb24gd2VyZSBjaGFuZ2VkKS4KICAgKgogICAqIFBvbHltZXIgYWxzbyBwcm92aWRlcyBhIHByb3ByaWV0YXJ5IGRhdGEgbXV0YXRpb24gYW5kIHBhdGggbm90aWZpY2F0aW9uIEFQSQogICAqIChlLmcuIGBub3RpZnlQYXRoYCwgYHNldGAsIGFuZCBhcnJheSBtdXRhdGlvbiBBUEkncykgdGhhdCBhbGxvdyBlZmZpY2llbnQKICAgKiBtdXRhdGlvbiBhbmQgbm90aWZpY2F0aW9uIG9mIGRlZXAgY2hhbmdlcyBpbiBhbiBvYmplY3QgZ3JhcGggdG8gYWxsIGVsZW1lbnRzCiAgICogYm91bmQgdG8gdGhlIHNhbWUgb2JqZWN0IGdyYXBoLgogICAqCiAgICogSW4gY2FzZXMgd2hlcmUgbmVpdGhlciBpbW11dGFibGUgcGF0dGVybnMgbm9yIHRoZSBkYXRhIG11dGF0aW9uIEFQSSBjYW4gYmUKICAgKiB1c2VkLCBhcHBseWluZyB0aGlzIG1peGluIHdpbGwgYWxsb3cgUG9seW1lciB0byBza2lwIGRpcnR5IGNoZWNraW5nIGZvcgogICAqIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUgImRpcnR5IikuICBUaGlzIGFsbG93cyBhCiAgICogdXNlciB0byBtYWtlIGEgZGVlcCBtb2RpZmljYXRpb24gdG8gYSBib3VuZCBvYmplY3QgZ3JhcGgsIGFuZCB0aGVuIGVpdGhlcgogICAqIHNpbXBseSByZS1zZXQgdGhlIG9iamVjdCAoZS5nLiBgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXNgKSBvciBjYWxsIGBub3RpZnlQYXRoYAogICAqIChlLmcuIGB0aGlzLm5vdGlmeVBhdGgoJ2l0ZW1zJylgKSB0byB1cGRhdGUgdGhlIHRyZWUuICBOb3RlIHRoYXQgYWxsCiAgICogZWxlbWVudHMgdGhhdCB3aXNoIHRvIGJlIHVwZGF0ZWQgYmFzZWQgb24gZGVlcCBtdXRhdGlvbnMgbXVzdCBhcHBseSB0aGlzCiAgICogbWl4aW4gb3Igb3RoZXJ3aXNlIHNraXAgc3RyaWN0IGRpcnR5IGNoZWNraW5nIGZvciBvYmplY3RzL2FycmF5cy4KICAgKiBTcGVjaWZpY2FsbHksIGFueSBlbGVtZW50cyBpbiB0aGUgYmluZGluZyB0cmVlIGJldHdlZW4gdGhlIHNvdXJjZSBvZiBhCiAgICogbXV0YXRpb24gYW5kIHRoZSBjb25zdW1wdGlvbiBvZiBpdCBtdXN0IGVuYWJsZSB0aGlzIG1peGluIG9yIGFwcGx5IHRoZQogICAqIGBQb2x5bWVyLk11dGFibGVEYXRhYCBtaXhpbi4KICAgKgogICAqIFdoaWxlIHRoaXMgbWl4aW4gYWRkcyB0aGUgYWJpbGl0eSB0byBmb3JnbyBPYmplY3QvQXJyYXkgZGlydHkgY2hlY2tpbmcsCiAgICogdGhlIGBtdXRhYmxlRGF0YWAgZmxhZyBkZWZhdWx0cyB0byBmYWxzZSBhbmQgbXVzdCBiZSBzZXQgb24gdGhlIGluc3RhbmNlLgogICAqCiAgICogTm90ZSwgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBwcm9wYWdhdGluZyBsYXJnZSBvYmplY3QgZ3JhcGhzCiAgICogd2lsbCBiZSB3b3JzZSBieSByZWx5aW5nIG9uIGBtdXRhYmxlRGF0YTogdHJ1ZWAgYXMgb3Bwb3NlZCB0byB1c2luZwogICAqIHN0cmljdCBkaXJ0eSBjaGVja2luZyB3aXRoIGltbXV0YWJsZSBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24KICAgKiBBUEkuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRvIG9wdGlvbmFsbHkgc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcKICAgKiAgIGZvciBvYmplY3RzIGFuZCBhcnJheXMKICAgKi8KICBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQHBvbHltZXIKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX09wdGlvbmFsTXV0YWJsZURhdGF9CiAgICAgKi8KICAgIGNsYXNzIE9wdGlvbmFsTXV0YWJsZURhdGEgZXh0ZW5kcyBzdXBlckNsYXNzIHsKCiAgICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBJbnN0YW5jZS1sZXZlbCBmbGFnIGZvciBjb25maWd1cmluZyB0aGUgZGlydHktY2hlY2tpbmcgc3RyYXRlZ3kKICAgICAgICAgICAqIGZvciB0aGlzIGVsZW1lbnQuICBXaGVuIHRydWUsIE9iamVjdHMgYW5kIEFycmF5cyB3aWxsIHNraXAgZGlydHkKICAgICAgICAgICAqIGNoZWNraW5nLCBvdGhlcndpc2Ugc3RyaWN0IGVxdWFsaXR5IGNoZWNraW5nIHdpbGwgYmUgdXNlZC4KICAgICAgICAgICAqLwogICAgICAgICAgbXV0YWJsZURhdGE6IEJvb2xlYW4KICAgICAgICB9OwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgdG8gcHJvdmlkZSBvcHRpb24gZm9yIHNraXBwaW5nCiAgICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICAgKgogICAgICAgKiBXaGVuIGB0aGlzLm11dGFibGVEYXRhYCBpcyB0cnVlIG9uIHRoaXMgaW5zdGFuY2UsIHRoaXMgbWV0aG9kCiAgICAgICAqIHB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYCBjYWNoZQogICAgICAgKiAocmF0aGVyIHRoYW4gdGhlIG5vcm1hbCBgX19kYXRhYCBjYWNoZSkgZm9yIE9iamVjdHMuICBTaW5jZSB0aGUgdGVtcAogICAgICAgKiBjYWNoZSBpcyBjbGVhcmVkIGF0IHRoZSBlbmQgb2YgYSB0dXJuLCB0aGlzIGltcGxlbWVudGF0aW9uIGFsbG93cwogICAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAgICogc2FtZSBvYmplY3QgKHVzaW5nIHRoZSB0ZW1wIGNhY2hlIGFzIGFuIGluLXR1cm4gYmFja3N0b3AgdG8gcHJldmVudAogICAgICAgKiBjeWNsZXMgZHVlIHRvIDItd2F5IG5vdGlmaWNhdGlvbikuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgTmV3IHByb3BlcnR5IHZhbHVlCiAgICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBjb25zaWRlcmVkIGEgY2hhbmdlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIG9sZCkgewogICAgICAgIHJldHVybiBtdXRhYmxlUHJvcGVydHlDaGFuZ2UodGhpcywgcHJvcGVydHksIHZhbHVlLCBvbGQsIHRoaXMubXV0YWJsZURhdGEpOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIE9wdGlvbmFsTXV0YWJsZURhdGE7CgogIH0pOwoKICAvLyBFeHBvcnQgZm9yIHVzZSBieSBsZWdhY3kgYmVoYXZpb3IKICBQb2x5bWVyLk11dGFibGVEYXRhLl9tdXRhYmxlUHJvcGVydHlDaGFuZ2UgPSBtdXRhYmxlUHJvcGVydHlDaGFuZ2U7Cgp9KSgpOwoKCiAgKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8vIEJhc2UgY2xhc3MgZm9yIEhUTUxUZW1wbGF0ZUVsZW1lbnQgZXh0ZW5zaW9uIHRoYXQgaGFzIHByb3BlcnR5IGVmZmVjdHMKICAgIC8vIG1hY2hpbmVyeSBmb3IgcHJvcGFnYXRpbmcgaG9zdCBwcm9wZXJ0aWVzIHRvIGNoaWxkcmVuLiBUaGlzIGlzIGFuIEVTNQogICAgLy8gY2xhc3Mgb25seSBiZWNhdXNlIEJhYmVsIChpbmNvcnJlY3RseSkgcmVxdWlyZXMgc3VwZXIoKSBpbiB0aGUgY2xhc3MKICAgIC8vIGNvbnN0cnVjdG9yIGV2ZW4gdGhvdWdoIG5vIGB0aGlzYCBpcyB1c2VkIGFuZCBpdCByZXR1cm5zIGFuIGluc3RhbmNlLgogICAgbGV0IG5ld0luc3RhbmNlID0gbnVsbDsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge0hUTUxUZW1wbGF0ZUVsZW1lbnR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBIVE1MVGVtcGxhdGVFbGVtZW50RXh0ZW5zaW9uKCkgeyByZXR1cm4gbmV3SW5zdGFuY2U7IH0KICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnRFeHRlbnNpb24ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShIVE1MVGVtcGxhdGVFbGVtZW50LnByb3RvdHlwZSwgewogICAgICBjb25zdHJ1Y3RvcjogewogICAgICAgIHZhbHVlOiBIVE1MVGVtcGxhdGVFbGVtZW50RXh0ZW5zaW9uLAogICAgICAgIHdyaXRhYmxlOiB0cnVlCiAgICAgIH0KICAgIH0pOwoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9CiAgICAgKiBAZXh0ZW5kcyB7SFRNTFRlbXBsYXRlRWxlbWVudEV4dGVuc2lvbn0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IERhdGFUZW1wbGF0ZSA9IFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKEhUTUxUZW1wbGF0ZUVsZW1lbnRFeHRlbnNpb24pOwoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9NdXRhYmxlRGF0YX0KICAgICAqIEBleHRlbmRzIHtEYXRhVGVtcGxhdGV9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBNdXRhYmxlRGF0YVRlbXBsYXRlID0gUG9seW1lci5NdXRhYmxlRGF0YShEYXRhVGVtcGxhdGUpOwoKICAgIC8vIEFwcGxpZXMgYSBEYXRhVGVtcGxhdGUgc3ViY2xhc3MgdG8gYSA8dGVtcGxhdGU+IGluc3RhbmNlCiAgICBmdW5jdGlvbiB1cGdyYWRlVGVtcGxhdGUodGVtcGxhdGUsIGNvbnN0cnVjdG9yKSB7CiAgICAgIG5ld0luc3RhbmNlID0gdGVtcGxhdGU7CiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0ZW1wbGF0ZSwgY29uc3RydWN0b3IucHJvdG90eXBlKTsKICAgICAgbmV3IGNvbnN0cnVjdG9yKCk7CiAgICAgIG5ld0luc3RhbmNlID0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEJhc2UgY2xhc3MgZm9yIFRlbXBsYXRlSW5zdGFuY2UuCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IGJhc2UgPSBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cyhjbGFzcyB7fSk7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQGN1c3RvbUVsZW1lbnQKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHMKICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAqLwogICAgY2xhc3MgVGVtcGxhdGVJbnN0YW5jZUJhc2UgZXh0ZW5kcyBiYXNlIHsKICAgICAgY29uc3RydWN0b3IocHJvcHMpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIHRoaXMuX2NvbmZpZ3VyZVByb3BlcnRpZXMocHJvcHMpOwogICAgICAgIHRoaXMucm9vdCA9IHRoaXMuX3N0YW1wVGVtcGxhdGUodGhpcy5fX2RhdGFIb3N0KTsKICAgICAgICAvLyBTYXZlIGxpc3Qgb2Ygc3RhbXBlZCBjaGlsZHJlbgogICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPSBbXTsKICAgICAgICBmb3IgKGxldCBuID0gdGhpcy5yb290LmZpcnN0Q2hpbGQ7IG47IG49bi5uZXh0U2libGluZykgewogICAgICAgICAgY2hpbGRyZW4ucHVzaChuKTsKICAgICAgICAgIG4uX190ZW1wbGF0aXplSW5zdGFuY2UgPSB0aGlzOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5fX3RlbXBsYXRpemVPd25lciAmJgogICAgICAgICAgdGhpcy5fX3RlbXBsYXRpemVPd25lci5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18pIHsKICAgICAgICAgIHRoaXMuX3Nob3dIaWRlQ2hpbGRyZW4odHJ1ZSk7CiAgICAgICAgfQogICAgICAgIC8vIEZsdXNoIHByb3BzIG9ubHkgd2hlbiBwcm9wcyBhcmUgcGFzc2VkIGlmIGluc3RhbmNlIHByb3BzIGV4aXN0CiAgICAgICAgLy8gb3Igd2hlbiB0aGVyZSBpc24ndCBpbnN0YW5jZSBwcm9wcy4KICAgICAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX190ZW1wbGF0aXplT3B0aW9uczsKICAgICAgICBpZiAoKHByb3BzICYmIG9wdGlvbnMuaW5zdGFuY2VQcm9wcykgfHwgIW9wdGlvbnMuaW5zdGFuY2VQcm9wcykgewogICAgICAgICAgdGhpcy5fZW5hYmxlUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogQ29uZmlndXJlIHRoZSBnaXZlbiBgcHJvcHNgIGJ5IGNhbGxpbmcgYF9zZXRQZW5kaW5nUHJvcGVydHlgLiBBbHNvCiAgICAgICAqIHNldHMgYW55IHByb3BlcnRpZXMgc3RvcmVkIGluIGBfX2hvc3RQcm9wc2AuCiAgICAgICAqIEBwcml2YXRlCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBPYmplY3Qgb2YgcHJvcGVydHkgbmFtZS12YWx1ZSBwYWlycyB0byBzZXQuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfY29uZmlndXJlUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIGxldCBvcHRpb25zID0gdGhpcy5fX3RlbXBsYXRpemVPcHRpb25zOwogICAgICAgIGlmIChvcHRpb25zLmZvcndhcmRIb3N0UHJvcCkgewogICAgICAgICAgZm9yIChsZXQgaHByb3AgaW4gdGhpcy5fX2hvc3RQcm9wcykgewogICAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoaHByb3AsIHRoaXMuX19kYXRhSG9zdFsnX2hvc3RfJyArIGhwcm9wXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIEFueSBpbnN0YW5jZSBwcm9wcyBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yIHdpbGwgb3ZlcndyaXRlIGhvc3QgcHJvcHM7CiAgICAgICAgLy8gbm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBhIHVzZXIgZXJyb3IgYnV0IHdlIGRvbid0IHNwZWNpZmljYWxseSBmaWx0ZXIgdGhlbQogICAgICAgIGZvciAobGV0IGlwcm9wIGluIHByb3BzKSB7CiAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoaXByb3AsIHByb3BzW2lwcm9wXSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8qKgogICAgICAgKiBGb3J3YXJkcyBhIGhvc3QgcHJvcGVydHkgdG8gdGhpcyBpbnN0YW5jZS4gIFRoaXMgbWV0aG9kIHNob3VsZCBiZQogICAgICAgKiBjYWxsZWQgb24gaW5zdGFuY2VzIGZyb20gdGhlIGBvcHRpb25zLmZvcndhcmRIb3N0UHJvcGAgY2FsbGJhY2sKICAgICAgICogdG8gcHJvcGFnYXRlIGNoYW5nZXMgb2YgaG9zdCBwcm9wZXJ0aWVzIHRvIGVhY2ggaW5zdGFuY2UuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgZW5xdWV1ZXMgdGhlIGNoYW5nZSwgd2hpY2ggYXJlIGZsdXNoZWQgYXMgYSBiYXRjaC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgb3IgcGF0aCBuYW1lCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGZvcndhcmQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIGZvcndhcmRIb3N0UHJvcChwcm9wLCB2YWx1ZSkgewogICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocHJvcCwgdmFsdWUsIGZhbHNlLCB0cnVlKSkgewogICAgICAgICAgdGhpcy5fX2RhdGFIb3N0Ll9lbnF1ZXVlQ2xpZW50KHRoaXMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlIHBvaW50IGZvciBhZGRpbmcgY3VzdG9tIG9yIHNpbXVsYXRlZCBldmVudCBoYW5kbGluZy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBldmVudCBsaXN0ZW5lciB0bwogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIE5hbWUgb2YgZXZlbnQKICAgICAgICogQHBhcmFtIHtmdW5jdGlvbighRXZlbnQpOnZvaWR9IGhhbmRsZXIgTGlzdGVuZXIgZnVuY3Rpb24gdG8gYWRkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgICBpZiAodGhpcy5fbWV0aG9kSG9zdCAmJiB0aGlzLl9fdGVtcGxhdGl6ZU9wdGlvbnMucGFyZW50TW9kZWwpIHsKICAgICAgICAgIC8vIElmIHRoaXMgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSBwYXJlbnQgbW9kZWwsIGRlY29yYXRlCiAgICAgICAgICAvLyBldmVudHMgdGhpcyB0ZW1wbGF0ZSBpbnN0YW5jZSBhcyBgbW9kZWxgCiAgICAgICAgICB0aGlzLl9tZXRob2RIb3N0Ll9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgKGUpID0+IHsKICAgICAgICAgICAgZS5tb2RlbCA9IHRoaXM7CiAgICAgICAgICAgIGhhbmRsZXIoZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gT3RoZXJ3aXNlIGRlbGVnYXRlIHRvIHRoZSB0ZW1wbGF0ZSdzIGhvc3QgKHdoaWNoIGNvdWxkIGJlKQogICAgICAgICAgLy8gYW5vdGhlciB0ZW1wbGF0ZSBpbnN0YW5jZQogICAgICAgICAgbGV0IHRlbXBsYXRlSG9zdCA9IHRoaXMuX19kYXRhSG9zdC5fX2RhdGFIb3N0OwogICAgICAgICAgaWYgKHRlbXBsYXRlSG9zdCkgewogICAgICAgICAgICB0ZW1wbGF0ZUhvc3QuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIFNob3dzIG9yIGhpZGVzIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSB0b3AgbGV2ZWwgY2hpbGQgZWxlbWVudHMuIEZvcgogICAgICAgKiB0ZXh0IG5vZGVzLCBgdGV4dENvbnRlbnRgIGlzIHJlbW92ZWQgd2hpbGUgImhpZGRlbiIgYW5kIHJlcGxhY2VkIHdoZW4KICAgICAgICogInNob3duLiIKICAgICAgICogQHBhcmFtIHtib29sZWFufSBoaWRlIFNldCB0byB0cnVlIHRvIGhpZGUgdGhlIGNoaWxkcmVuOwogICAgICAgKiBzZXQgdG8gZmFsc2UgdG8gc2hvdyB0aGVtLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2hvd0hpZGVDaGlsZHJlbihoaWRlKSB7CiAgICAgICAgbGV0IGMgPSB0aGlzLmNoaWxkcmVuOwogICAgICAgIGZvciAobGV0IGk9MDsgaTxjLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgbiA9IGNbaV07CiAgICAgICAgICAvLyBJZ25vcmUgbm9uLWNoYW5nZXMKICAgICAgICAgIGlmIChCb29sZWFuKGhpZGUpICE9IEJvb2xlYW4obi5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18pKSB7CiAgICAgICAgICAgIGlmIChuLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgICAgIGlmIChoaWRlKSB7CiAgICAgICAgICAgICAgICBuLl9fcG9seW1lclRleHRDb250ZW50X18gPSBuLnRleHRDb250ZW50OwogICAgICAgICAgICAgICAgbi50ZXh0Q29udGVudCA9ICcnOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuLnRleHRDb250ZW50ID0gbi5fX3BvbHltZXJUZXh0Q29udGVudF9fOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gcmVtb3ZlIGFuZCByZXBsYWNlIHNsb3QKICAgICAgICAgICAgfSBlbHNlIGlmIChuLmxvY2FsTmFtZSA9PT0gJ3Nsb3QnKSB7CiAgICAgICAgICAgICAgaWYgKGhpZGUpIHsKICAgICAgICAgICAgICAgIG4uX19wb2x5bWVyUmVwbGFjZWRfXyA9IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJ2hpZGRlbi1zbG90Jyk7CiAgICAgICAgICAgICAgICBuLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4uX19wb2x5bWVyUmVwbGFjZWRfXywgbik7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnN0IHJlcGxhY2UgPSBuLl9fcG9seW1lclJlcGxhY2VkX187CiAgICAgICAgICAgICAgICBpZiAocmVwbGFjZSkgewogICAgICAgICAgICAgICAgICByZXBsYWNlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4sIHJlcGxhY2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZSBpZiAobi5zdHlsZSkgewogICAgICAgICAgICAgIGlmIChoaWRlKSB7CiAgICAgICAgICAgICAgICBuLl9fcG9seW1lckRpc3BsYXlfXyA9IG4uc3R5bGUuZGlzcGxheTsKICAgICAgICAgICAgICAgIG4uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbi5zdHlsZS5kaXNwbGF5ID0gbi5fX3BvbHltZXJEaXNwbGF5X187CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBuLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fXyA9IGhpZGU7CiAgICAgICAgICBpZiAobi5fc2hvd0hpZGVDaGlsZHJlbikgewogICAgICAgICAgICBuLl9zaG93SGlkZUNoaWxkcmVuKGhpZGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGRlZmF1bHQgcHJvcGVydHktZWZmZWN0cyBpbXBsZW1lbnRhdGlvbiB0byBpbnRlcmNlcHQKICAgICAgICogdGV4dENvbnRlbnQgYmluZGluZ3Mgd2hpbGUgY2hpbGRyZW4gYXJlICJoaWRkZW4iIGFuZCBjYWNoZSBpbgogICAgICAgKiBwcml2YXRlIHN0b3JhZ2UgZm9yIGxhdGVyIHJldHJpZXZhbC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBUaGUgbm9kZSB0byBzZXQgYSBwcm9wZXJ0eSBvbgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBUaGUgcHJvcGVydHkgdG8gc2V0CiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUobm9kZSwgcHJvcCwgdmFsdWUpIHsKICAgICAgICBpZiAobm9kZS5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18gJiYKICAgICAgICAgICAgbm9kZS5ub2RlVHlwZSA9PSBOb2RlLlRFWFRfTk9ERSAmJiBwcm9wID09ICd0ZXh0Q29udGVudCcpIHsKICAgICAgICAgIG5vZGUuX19wb2x5bWVyVGV4dENvbnRlbnRfXyA9IHZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzdXBlci5fc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUobm9kZSwgcHJvcCwgdmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogRmluZCB0aGUgcGFyZW50IG1vZGVsIG9mIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuICBUaGUgcGFyZW50IG1vZGVsCiAgICAgICAqIGlzIGVpdGhlciBhbm90aGVyIHRlbXBsYXRpemUgaW5zdGFuY2UgdGhhdCBoYWQgb3B0aW9uIGBwYXJlbnRNb2RlbDogdHJ1ZWAsCiAgICAgICAqIG9yIGVsc2UgdGhlIGhvc3QgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IVBvbHltZXJfUHJvcGVydHlFZmZlY3RzfSBUaGUgcGFyZW50IG1vZGVsIG9mIHRoaXMgaW5zdGFuY2UKICAgICAgICovCiAgICAgIGdldCBwYXJlbnRNb2RlbCgpIHsKICAgICAgICBsZXQgbW9kZWwgPSB0aGlzLl9fcGFyZW50TW9kZWw7CiAgICAgICAgaWYgKCFtb2RlbCkgewogICAgICAgICAgbGV0IG9wdGlvbnM7CiAgICAgICAgICBtb2RlbCA9IHRoaXM7CiAgICAgICAgICBkbyB7CiAgICAgICAgICAgIC8vIEEgdGVtcGxhdGUgaW5zdGFuY2UncyBgX19kYXRhSG9zdGAgaXMgYSA8dGVtcGxhdGU+CiAgICAgICAgICAgIC8vIGBtb2RlbC5fX2RhdGFIb3N0Ll9fZGF0YUhvc3RgIGlzIHRoZSB0ZW1wbGF0ZSdzIGhvc3QKICAgICAgICAgICAgbW9kZWwgPSBtb2RlbC5fX2RhdGFIb3N0Ll9fZGF0YUhvc3Q7CiAgICAgICAgICB9IHdoaWxlICgob3B0aW9ucyA9IG1vZGVsLl9fdGVtcGxhdGl6ZU9wdGlvbnMpICYmICFvcHRpb25zLnBhcmVudE1vZGVsKTsKICAgICAgICAgIHRoaXMuX19wYXJlbnRNb2RlbCA9IG1vZGVsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTdHViIG9mIEhUTUxFbGVtZW50J3MgYGRpc3BhdGNoRXZlbnRgLCBzbyB0aGF0IGVmZmVjdHMgdGhhdCBtYXkKICAgICAgICogZGlzcGF0Y2ggZXZlbnRzIHNhZmVseSBuby1vcC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgRXZlbnQgdG8gZGlzcGF0Y2gKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gQWx3YXlzIHRydWUuCiAgICAgICAqLwogICAgICAgZGlzcGF0Y2hFdmVudChldmVudCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICB9CgogICAgLyoqIEB0eXBlIHshRGF0YVRlbXBsYXRlfSAqLwogICAgVGVtcGxhdGVJbnN0YW5jZUJhc2UucHJvdG90eXBlLl9fZGF0YUhvc3Q7CiAgICAvKiogQHR5cGUgeyFUZW1wbGF0aXplT3B0aW9uc30gKi8KICAgIFRlbXBsYXRlSW5zdGFuY2VCYXNlLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zOwogICAgLyoqIEB0eXBlIHshUG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX21ldGhvZEhvc3Q7CiAgICAvKiogQHR5cGUgeyFPYmplY3R9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX190ZW1wbGF0aXplT3duZXI7CiAgICAvKiogQHR5cGUgeyFPYmplY3R9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX19ob3N0UHJvcHM7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtUZW1wbGF0ZUluc3RhbmNlQmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX011dGFibGVEYXRhfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3QgTXV0YWJsZVRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5NdXRhYmxlRGF0YShUZW1wbGF0ZUluc3RhbmNlQmFzZSk7CgogICAgZnVuY3Rpb24gZmluZE1ldGhvZEhvc3QodGVtcGxhdGUpIHsKICAgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBzaG91bGQgYmUgdGhlIG93bmVyIG9mIHRoZSBvdXRlcm1vc3QgdGVtcGxhdGUuCiAgICAgIC8vIEluIHNoYWRvdyBkb20sIHRoaXMgaXMgYWx3YXlzIGdldFJvb3ROb2RlKCkuaG9zdCwgYnV0IHdlIGNhbgogICAgICAvLyBhcHByb3hpbWF0ZSB0aGlzIHZpYSBjb29wZXJhdGlvbiB3aXRoIG91ciBkYXRhSG9zdCBhbHdheXMgc2V0dGluZwogICAgICAvLyBgX21ldGhvZEhvc3RgIGFzIGxvbmcgYXMgdGhlcmUgd2VyZSBiaW5kaW5ncyAob3IgaWQncykgb24gdGhpcwogICAgICAvLyBpbnN0YW5jZSBjYXVzaW5nIGl0IHRvIGdldCBhIGRhdGFIb3N0LgogICAgICBsZXQgdGVtcGxhdGVIb3N0ID0gdGVtcGxhdGUuX19kYXRhSG9zdDsKICAgICAgcmV0dXJuIHRlbXBsYXRlSG9zdCAmJiB0ZW1wbGF0ZUhvc3QuX21ldGhvZEhvc3QgfHwgdGVtcGxhdGVIb3N0OwogICAgfQoKICAgIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgICAvKioKICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IGNsYXNzLnByb3RvdHlwZSBpcyBub3QgZGVmaW5lZCBmb3Igc29tZSByZWFzb24KICAgICAqLwogICAgZnVuY3Rpb24gY3JlYXRlVGVtcGxhdGl6ZXJDbGFzcyh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKSB7CiAgICAgIC8vIEFub255bW91cyBjbGFzcyBjcmVhdGVkIGJ5IHRoZSB0ZW1wbGF0aXplCiAgICAgIGxldCBiYXNlID0gb3B0aW9ucy5tdXRhYmxlRGF0YSA/CiAgICAgICAgTXV0YWJsZVRlbXBsYXRlSW5zdGFuY2VCYXNlIDogVGVtcGxhdGVJbnN0YW5jZUJhc2U7CiAgICAgIC8vIEFmZm9yZGFuY2UgZm9yIGdsb2JhbCBtaXhpbnMgb250byBUZW1wbGF0aXplSW5zdGFuY2UKICAgICAgaWYgKFBvbHltZXIuVGVtcGxhdGl6ZS5taXhpbikgewogICAgICAgIGJhc2UgPSBQb2x5bWVyLlRlbXBsYXRpemUubWl4aW4oYmFzZSk7CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIGxldCBrbGFzcyA9IGNsYXNzIGV4dGVuZHMgYmFzZSB7IH07CiAgICAgIGtsYXNzLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zID0gb3B0aW9uczsKICAgICAga2xhc3MucHJvdG90eXBlLl9iaW5kVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICBhZGROb3RpZnlFZmZlY3RzKGtsYXNzLCB0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKTsKICAgICAgcmV0dXJuIGtsYXNzOwogICAgfQoKICAgIC8qKgogICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gY2xhc3MucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkIGZvciBzb21lIHJlYXNvbgogICAgICovCiAgICBmdW5jdGlvbiBhZGRQcm9wYWdhdGVFZmZlY3RzKHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIG9wdGlvbnMpIHsKICAgICAgbGV0IHVzZXJGb3J3YXJkSG9zdFByb3AgPSBvcHRpb25zLmZvcndhcmRIb3N0UHJvcDsKICAgICAgaWYgKHVzZXJGb3J3YXJkSG9zdFByb3ApIHsKICAgICAgICAvLyBQcm92aWRlIGRhdGEgQVBJIGFuZCBwcm9wZXJ0eSBlZmZlY3RzIG9uIG1lbW9pemVkIHRlbXBsYXRlIGNsYXNzCiAgICAgICAgbGV0IGtsYXNzID0gdGVtcGxhdGVJbmZvLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzOwogICAgICAgIGlmICgha2xhc3MpIHsKICAgICAgICAgIGxldCBiYXNlID0gb3B0aW9ucy5tdXRhYmxlRGF0YSA/IE11dGFibGVEYXRhVGVtcGxhdGUgOiBEYXRhVGVtcGxhdGU7CiAgICAgICAgICAvKiogQHByaXZhdGUgKi8KICAgICAgICAgIGtsYXNzID0gdGVtcGxhdGVJbmZvLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzID0KICAgICAgICAgICAgY2xhc3MgVGVtcGxhdGl6ZWRUZW1wbGF0ZSBleHRlbmRzIGJhc2Uge307CiAgICAgICAgICAvLyBBZGQgdGVtcGxhdGUgLSA+aW5zdGFuY2VzIGVmZmVjdHMKICAgICAgICAgIC8vIGFuZCBob3N0IDwtIHRlbXBsYXRlIGVmZmVjdHMKICAgICAgICAgIGxldCBob3N0UHJvcHMgPSB0ZW1wbGF0ZUluZm8uaG9zdFByb3BzOwogICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBob3N0UHJvcHMpIHsKICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLl9hZGRQcm9wZXJ0eUVmZmVjdCgnX2hvc3RfJyArIHByb3AsCiAgICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLlBST1BFUlRZX0VGRkVDVF9UWVBFUy5QUk9QQUdBVEUsCiAgICAgICAgICAgICAge2ZuOiBjcmVhdGVGb3J3YXJkSG9zdFByb3BFZmZlY3QocHJvcCwgdXNlckZvcndhcmRIb3N0UHJvcCl9KTsKICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLl9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSgnX2hvc3RfJyArIHByb3ApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB1cGdyYWRlVGVtcGxhdGUodGVtcGxhdGUsIGtsYXNzKTsKICAgICAgICAvLyBNaXggYW55IHByZS1ib3VuZCBkYXRhIGludG8gX19kYXRhOyBubyBuZWVkIHRvIGZsdXNoIHRoaXMgdG8KICAgICAgICAvLyBpbnN0YW5jZXMgc2luY2UgdGhleSBwdWxsIGZyb20gdGhlIHRlbXBsYXRlIGF0IGluc3RhbmNlLXRpbWUKICAgICAgICBpZiAodGVtcGxhdGUuX19kYXRhUHJvdG8pIHsKICAgICAgICAgIC8vIE5vdGUsIGdlbmVyYWxseSBgX19kYXRhUHJvdG9gIGNvdWxkIGJlIGNoYWluZWQsIGJ1dCBpdCdzIGd1YXJhbnRlZWQKICAgICAgICAgIC8vIHRvIG5vdCBiZSBzaW5jZSB0aGlzIGlzIGEgdmFuaWxsYSB0ZW1wbGF0ZSB3ZSBqdXN0IGFkZGVkIGVmZmVjdHMgdG8KICAgICAgICAgIE9iamVjdC5hc3NpZ24odGVtcGxhdGUuX19kYXRhLCB0ZW1wbGF0ZS5fX2RhdGFQcm90byk7CiAgICAgICAgfQogICAgICAgIC8vIENsZWFyIGFueSBwZW5kaW5nIGRhdGEgZm9yIHBlcmZvcm1hbmNlCiAgICAgICAgdGVtcGxhdGUuX19kYXRhVGVtcCA9IHt9OwogICAgICAgIHRlbXBsYXRlLl9fZGF0YVBlbmRpbmcgPSBudWxsOwogICAgICAgIHRlbXBsYXRlLl9fZGF0YU9sZCA9IG51bGw7CiAgICAgICAgdGVtcGxhdGUuX2VuYWJsZVByb3BlcnRpZXMoKTsKICAgICAgfQogICAgfQogICAgLyogZXNsaW50LWVuYWJsZSB2YWxpZC1qc2RvYyAqLwoKICAgIGZ1bmN0aW9uIGNyZWF0ZUZvcndhcmRIb3N0UHJvcEVmZmVjdChob3N0UHJvcCwgdXNlckZvcndhcmRIb3N0UHJvcCkgewogICAgICByZXR1cm4gZnVuY3Rpb24gZm9yd2FyZEhvc3RQcm9wKHRlbXBsYXRlLCBwcm9wLCBwcm9wcykgewogICAgICAgIHVzZXJGb3J3YXJkSG9zdFByb3AuY2FsbCh0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lciwKICAgICAgICAgIHByb3Auc3Vic3RyaW5nKCdfaG9zdF8nLmxlbmd0aCksIHByb3BzW3Byb3BdKTsKICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGROb3RpZnlFZmZlY3RzKGtsYXNzLCB0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKSB7CiAgICAgIGxldCBob3N0UHJvcHMgPSB0ZW1wbGF0ZUluZm8uaG9zdFByb3BzIHx8IHt9OwogICAgICBmb3IgKGxldCBpcHJvcCBpbiBvcHRpb25zLmluc3RhbmNlUHJvcHMpIHsKICAgICAgICBkZWxldGUgaG9zdFByb3BzW2lwcm9wXTsKICAgICAgICBsZXQgdXNlck5vdGlmeUluc3RhbmNlUHJvcCA9IG9wdGlvbnMubm90aWZ5SW5zdGFuY2VQcm9wOwogICAgICAgIGlmICh1c2VyTm90aWZ5SW5zdGFuY2VQcm9wKSB7CiAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGlwcm9wLAogICAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSwKICAgICAgICAgICAge2ZuOiBjcmVhdGVOb3RpZnlJbnN0YW5jZVByb3BFZmZlY3QoaXByb3AsIHVzZXJOb3RpZnlJbnN0YW5jZVByb3ApfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChvcHRpb25zLmZvcndhcmRIb3N0UHJvcCAmJiB0ZW1wbGF0ZS5fX2RhdGFIb3N0KSB7CiAgICAgICAgZm9yIChsZXQgaHByb3AgaW4gaG9zdFByb3BzKSB7CiAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGhwcm9wLAogICAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSwKICAgICAgICAgICAge2ZuOiBjcmVhdGVOb3RpZnlIb3N0UHJvcEVmZmVjdCgpfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlTm90aWZ5SW5zdGFuY2VQcm9wRWZmZWN0KGluc3RQcm9wLCB1c2VyTm90aWZ5SW5zdGFuY2VQcm9wKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiBub3RpZnlJbnN0YW5jZVByb3AoaW5zdCwgcHJvcCwgcHJvcHMpIHsKICAgICAgICB1c2VyTm90aWZ5SW5zdGFuY2VQcm9wLmNhbGwoaW5zdC5fX3RlbXBsYXRpemVPd25lciwKICAgICAgICAgIGluc3QsIHByb3AsIHByb3BzW3Byb3BdKTsKICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVOb3RpZnlIb3N0UHJvcEVmZmVjdCgpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIG5vdGlmeUhvc3RQcm9wKGluc3QsIHByb3AsIHByb3BzKSB7CiAgICAgICAgaW5zdC5fX2RhdGFIb3N0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoJ19ob3N0XycgKyBwcm9wLCBwcm9wc1twcm9wXSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBNb2R1bGUgZm9yIHByZXBhcmluZyBhbmQgc3RhbXBpbmcgaW5zdGFuY2VzIG9mIHRlbXBsYXRlcyB0aGF0IHV0aWxpemUKICAgICAqIFBvbHltZXIncyBkYXRhLWJpbmRpbmcgYW5kIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVyIGZlYXR1cmVzLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogICAgIC8vIEdldCBhIHRlbXBsYXRlIGZyb20gc29tZXdoZXJlLCBlLmcuIGxpZ2h0IERPTQogICAgICogICAgIGxldCB0ZW1wbGF0ZSA9IHRoaXMucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKTsKICAgICAqICAgICAvLyBQcmVwYXJlIHRoZSB0ZW1wbGF0ZQogICAgICogICAgIGxldCBUZW1wbGF0ZUNsYXNzID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUpOwogICAgICogICAgIC8vIEluc3RhbmNlIHRoZSB0ZW1wbGF0ZSB3aXRoIGFuIGluaXRpYWwgZGF0YSBtb2RlbAogICAgICogICAgIGxldCBpbnN0YW5jZSA9IG5ldyBUZW1wbGF0ZUNsYXNzKHtteVByb3A6ICdpbml0aWFsJ30pOwogICAgICogICAgIC8vIEluc2VydCB0aGUgaW5zdGFuY2UncyBET00gc29tZXdoZXJlLCBlLmcuIGVsZW1lbnQncyBzaGFkb3cgRE9NCiAgICAgKiAgICAgdGhpcy5zaGFkb3dSb290LmFwcGVuZENoaWxkKGluc3RhbmNlLnJvb3QpOwogICAgICogICAgIC8vIENoYW5naW5nIGEgcHJvcGVydHkgb24gdGhlIGluc3RhbmNlIHdpbGwgcHJvcGFnYXRlIHRvIGJpbmRpbmdzCiAgICAgKiAgICAgLy8gaW4gdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgaW5zdGFuY2UubXlQcm9wID0gJ25ldyB2YWx1ZSc7CiAgICAgKgogICAgICogVGhlIGBvcHRpb25zYCBkaWN0aW9uYXJ5IHBhc3NlZCB0byBgdGVtcGxhdGl6ZWAgYWxsb3dzIGZvciBjdXN0b21pemluZwogICAgICogZmVhdHVyZXMgb2YgdGhlIGdlbmVyYXRlZCB0ZW1wbGF0ZSBjbGFzcywgaW5jbHVkaW5nIGhvdyBvdXRlci1zY29wZSBob3N0CiAgICAgKiBwcm9wZXJ0aWVzIHNob3VsZCBiZSBmb3J3YXJkZWQgaW50byB0ZW1wbGF0ZSBpbnN0YW5jZXMsIGhvdyBhbnkgaW5zdGFuY2UKICAgICAqIHByb3BlcnRpZXMgYWRkZWQgaW50byB0aGUgdGVtcGxhdGUncyBzY29wZSBzaG91bGQgYmUgbm90aWZpZWQgb3V0IHRvCiAgICAgKiB0aGUgaG9zdCwgYW5kIHdoZXRoZXIgdGhlIGluc3RhbmNlIHNob3VsZCBiZSBkZWNvcmF0ZWQgYXMgYSAicGFyZW50IG1vZGVsIgogICAgICogb2YgYW55IGV2ZW50IGhhbmRsZXJzLgogICAgICoKICAgICAqICAgICAvLyBDdXN0b21pemUgcHJvcGVydHkgZm9yd2FyZGluZyBhbmQgZXZlbnQgbW9kZWwgZGVjb3JhdGlvbgogICAgICogICAgIGxldCBUZW1wbGF0ZUNsYXNzID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUsIHRoaXMsIHsKICAgICAqICAgICAgIHBhcmVudE1vZGVsOiB0cnVlLAogICAgICogICAgICAgZm9yd2FyZEhvc3RQcm9wKHByb3BlcnR5LCB2YWx1ZSkgey4uLn0sCiAgICAgKiAgICAgICBpbnN0YW5jZVByb3BzOiB7Li4ufSwKICAgICAqICAgICAgIG5vdGlmeUluc3RhbmNlUHJvcChpbnN0YW5jZSwgcHJvcGVydHksIHZhbHVlKSB7Li4ufSwKICAgICAqICAgICB9KTsKICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAgICogQHN1bW1hcnkgTW9kdWxlIGZvciBwcmVwYXJpbmcgYW5kIHN0YW1waW5nIGluc3RhbmNlcyBvZiB0ZW1wbGF0ZXMKICAgICAqICAgdXRpbGl6aW5nIFBvbHltZXIgdGVtcGxhdGluZyBmZWF0dXJlcy4KICAgICAqLwogICAgUG9seW1lci5UZW1wbGF0aXplID0gewoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYW4gYW5vbnltb3VzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgY2xhc3MgYm91bmQgdG8gdGhlCiAgICAgICAqIGA8dGVtcGxhdGU+YCBwcm92aWRlZC4gIEluc3RhbmNpbmcgdGhlIGNsYXNzIHdpbGwgcmVzdWx0IGluIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBiZWluZyBzdGFtcGVkIGludG8gYSBkb2N1bWVudCBmcmFnbWVudCBzdG9yZWQgYXMgdGhlIGluc3RhbmNlJ3MKICAgICAgICogYHJvb3RgIHByb3BlcnR5LCBhZnRlciB3aGljaCBpdCBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIERPTS4KICAgICAgICoKICAgICAgICogVGVtcGxhdGVzIG1heSB1dGlsaXplIGFsbCBQb2x5bWVyIGRhdGEtYmluZGluZyBmZWF0dXJlcyBhcyB3ZWxsIGFzCiAgICAgICAqIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycy4gIEV2ZW50IGxpc3RlbmVycyBhbmQgaW5saW5lIGNvbXB1dGluZwogICAgICAgKiBmdW5jdGlvbnMgaW4gdGhlIHRlbXBsYXRlIHdpbGwgYmUgY2FsbGVkIG9uIHRoZSBob3N0IG9mIHRoZSB0ZW1wbGF0ZS4KICAgICAgICoKICAgICAgICogVGhlIGNvbnN0cnVjdG9yIHJldHVybmVkIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50IGRpY3Rpb25hcnkgb2YgaW5pdGlhbAogICAgICAgKiBwcm9wZXJ0eSB2YWx1ZXMgdG8gcHJvcGFnYXRlIGludG8gdGVtcGxhdGUgYmluZGluZ3MuICBBZGRpdGlvbmFsbHkKICAgICAgICogaG9zdCBwcm9wZXJ0aWVzIGNhbiBiZSBmb3J3YXJkZWQgaW4sIGFuZCBpbnN0YW5jZSBwcm9wZXJ0aWVzIGNhbiBiZQogICAgICAgKiBub3RpZmllZCBvdXQgYnkgcHJvdmlkaW5nIG9wdGlvbmFsIGNhbGxiYWNrcyBpbiB0aGUgYG9wdGlvbnNgIGRpY3Rpb25hcnkuCiAgICAgICAqCiAgICAgICAqIFZhbGlkIGNvbmZpZ3VyYXRpb24gaW4gYG9wdGlvbnNgIGFyZSBhcyBmb2xsb3dzOgogICAgICAgKgogICAgICAgKiAtIGBmb3J3YXJkSG9zdFByb3AocHJvcGVydHksIHZhbHVlKWA6IENhbGxlZCB3aGVuIGEgcHJvcGVydHkgcmVmZXJlbmNlZAogICAgICAgKiAgIGluIHRoZSB0ZW1wbGF0ZSBjaGFuZ2VkIG9uIHRoZSB0ZW1wbGF0ZSdzIGhvc3QuIEFzIHRoaXMgbGlicmFyeSBkb2VzCiAgICAgICAqICAgbm90IHJldGFpbiByZWZlcmVuY2VzIHRvIHRlbXBsYXRlcyBpbnN0YW5jZWQgYnkgdGhlIHVzZXIsIGl0IGlzIHRoZQogICAgICAgKiAgIHRlbXBsYXRpemUgb3duZXIncyByZXNwb25zaWJpbGl0eSB0byBmb3J3YXJkIGhvc3QgcHJvcGVydHkgY2hhbmdlcyBpbnRvCiAgICAgICAqICAgdXNlci1zdGFtcGVkIGluc3RhbmNlcy4gIFRoZSBgaW5zdGFuY2UuZm9yd2FyZEhvc3RQcm9wKHByb3BlcnR5LCB2YWx1ZSlgCiAgICAgICAqICAgIG1ldGhvZCBvbiB0aGUgZ2VuZXJhdGVkIGNsYXNzIHNob3VsZCBiZSBjYWxsZWQgdG8gZm9yd2FyZCBob3N0CiAgICAgICAqICAgcHJvcGVydGllcyBpbnRvIHRoZSB0ZW1wbGF0ZSB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHByb3BlcnR5LWNoYW5nZWQKICAgICAgICogICBub3RpZmljYXRpb25zLiBBbnkgcHJvcGVydGllcyByZWZlcmVuY2VkIGluIHRoZSB0ZW1wbGF0ZSB0aGF0IGFyZSBub3QKICAgICAgICogICBkZWZpbmVkIGluIGBpbnN0YW5jZVByb3BzYCB3aWxsIGJlIG5vdGlmaWVkIHVwIHRvIHRoZSB0ZW1wbGF0ZSdzIGhvc3QKICAgICAgICogICBhdXRvbWF0aWNhbGx5LgogICAgICAgKiAtIGBpbnN0YW5jZVByb3BzYDogRGljdGlvbmFyeSBvZiBwcm9wZXJ0eSBuYW1lcyB0aGF0IHdpbGwgYmUgYWRkZWQKICAgICAgICogICB0byB0aGUgaW5zdGFuY2UgYnkgdGhlIHRlbXBsYXRpemUgb3duZXIuICBUaGVzZSBwcm9wZXJ0aWVzIHNoYWRvdyBhbnkKICAgICAgICogICBob3N0IHByb3BlcnRpZXMsIGFuZCBjaGFuZ2VzIHdpdGhpbiB0aGUgdGVtcGxhdGUgdG8gdGhlc2UgcHJvcGVydGllcwogICAgICAgKiAgIHdpbGwgcmVzdWx0IGluIGBub3RpZnlJbnN0YW5jZVByb3BgIGJlaW5nIGNhbGxlZC4KICAgICAgICogLSBgbXV0YWJsZURhdGFgOiBXaGVuIGB0cnVlYCwgdGhlIGdlbmVyYXRlZCBjbGFzcyB3aWxsIHNraXAgc3RyaWN0CiAgICAgICAqICAgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUKICAgICAgICogICAiZGlydHkiKS4KICAgICAgICogLSBgbm90aWZ5SW5zdGFuY2VQcm9wKGluc3RhbmNlLCBwcm9wZXJ0eSwgdmFsdWUpYDogQ2FsbGVkIHdoZW4KICAgICAgICogICBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBjaGFuZ2VzLiAgVXNlcnMgbWF5IGNob29zZSB0byBjYWxsIGBub3RpZnlQYXRoYAogICAgICAgKiAgIG9uIGUuZy4gdGhlIG93bmVyIHRvIG5vdGlmeSB0aGUgY2hhbmdlLgogICAgICAgKiAtIGBwYXJlbnRNb2RlbGA6IFdoZW4gYHRydWVgLCBldmVudHMgaGFuZGxlZCBieSBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMKICAgICAgICogICAoYG9uLWV2ZW50PSJoYW5kbGVyImApIHdpbGwgYmUgZGVjb3JhdGVkIHdpdGggYSBgbW9kZWxgIHByb3BlcnR5IHBvaW50aW5nCiAgICAgICAqICAgdG8gdGhlIHRlbXBsYXRlIGluc3RhbmNlIHRoYXQgc3RhbXBlZCBpdC4gIEl0IHdpbGwgYWxzbyBiZSByZXR1cm5lZAogICAgICAgKiAgIGZyb20gYGluc3RhbmNlLnBhcmVudE1vZGVsYCBpbiBjYXNlcyB3aGVyZSB0ZW1wbGF0ZSBpbnN0YW5jZSBuZXN0aW5nCiAgICAgICAqICAgY2F1c2VzIGFuIGlubmVyIG1vZGVsIHRvIHNoYWRvdyBhbiBvdXRlciBtb2RlbC4KICAgICAgICoKICAgICAgICogQWxsIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGJvdW5kIHRvIHRoZSBgb3duZXJgLiBBbnkgY29udGV4dAogICAgICAgKiBuZWVkZWQgZm9yIHRoZSBjYWxsYmFja3MgKHN1Y2ggYXMgcmVmZXJlbmNlcyB0byBgaW5zdGFuY2VzYCBzdGFtcGVkKQogICAgICAgKiBzaG91bGQgYmUgc3RvcmVkIG9uIHRoZSBgb3duZXJgIHN1Y2ggdGhhdCB0aGV5IGNhbiBiZSByZXRyaWV2ZWQgdmlhCiAgICAgICAqIGB0aGlzYC4KICAgICAgICoKICAgICAgICogV2hlbiBgb3B0aW9ucy5mb3J3YXJkSG9zdFByb3BgIGlzIGRlY2xhcmVkIGFzIGFuIG9wdGlvbiwgYW55IHByb3BlcnRpZXMKICAgICAgICogcmVmZXJlbmNlZCBpbiB0aGUgdGVtcGxhdGUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGZvcndhcmRlZCBmcm9tIHRoZSBob3N0IG9mCiAgICAgICAqIHRoZSBgPHRlbXBsYXRlPmAgdG8gaW5zdGFuY2VzLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgYW55IHByb3BlcnRpZXMgbGlzdGVkIGluCiAgICAgICAqIHRoZSBgb3B0aW9ucy5pbnN0YW5jZVByb3BzYCBvYmplY3QuICBgaW5zdGFuY2VQcm9wc2AgYXJlIGFzc3VtZWQgdG8gYmUKICAgICAgICogbWFuYWdlZCBieSB0aGUgb3duZXIgb2YgdGhlIGluc3RhbmNlcywgZWl0aGVyIHBhc3NlZCBpbnRvIHRoZSBjb25zdHJ1Y3RvcgogICAgICAgKiBvciBzZXQgYWZ0ZXIgdGhlIGZhY3QuICBOb3RlLCBhbnkgcHJvcGVydGllcyBwYXNzZWQgaW50byB0aGUgY29uc3RydWN0b3Igd2lsbAogICAgICAgKiBhbHdheXMgYmUgc2V0IHRvIHRoZSBpbnN0YW5jZSAocmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgd291bGQgbm9ybWFsbHkKICAgICAgICogYmUgZm9yd2FyZGVkIGZyb20gdGhlIGhvc3QpLgogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgYHRlbXBsYXRpemUoKWAgY2FuIGJlIHJ1biBvbmx5IG9uY2UgZm9yIGEgZ2l2ZW4gYDx0ZW1wbGF0ZT5gLgogICAgICAgKiBGdXJ0aGVyIGNhbGxzIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLiBBbHNvLCB0aGVyZSBpcyBhIHNwZWNpYWwKICAgICAgICogYmVoYXZpb3IgaWYgdGhlIHRlbXBsYXRlIHdhcyBkdXBsaWNhdGVkIHRocm91Z2ggYSBtZWNoYW5pc20gc3VjaCBhcwogICAgICAgKiBgPGRvbS1yZXBlYXQ+YCBvciBgPHRlc3QtZml4dHVyZT5gLiBJbiB0aGlzIGNhc2UsIGFsbCBjYWxscyB0bwogICAgICAgKiBgdGVtcGxhdGl6ZSgpYCByZXR1cm4gdGhlIHNhbWUgY2xhc3MgZm9yIGFsbCBkdXBsaWNhdGVzIG9mIGEgdGVtcGxhdGUuCiAgICAgICAqIFRoZSBjbGFzcyByZXR1cm5lZCBmcm9tIGB0ZW1wbGF0aXplKClgIGlzIGdlbmVyYXRlZCBvbmx5IG9uY2UgdXNpbmcKICAgICAgICogdGhlIGBvcHRpb25zYCBmcm9tIHRoZSBmaXJzdCBjYWxsLiBUaGlzIG1lYW5zIHRoYXQgYW55IGBvcHRpb25zYAogICAgICAgKiBwcm92aWRlZCB0byBzdWJzZXF1ZW50IGNhbGxzIHdpbGwgYmUgaWdub3JlZC4gVGhlcmVmb3JlLCBpdCBpcyB2ZXJ5CiAgICAgICAqIGltcG9ydGFudCBub3QgdG8gY2xvc2Ugb3ZlciBhbnkgdmFyaWFibGVzIGluc2lkZSB0aGUgY2FsbGJhY2tzLiBBbHNvLAogICAgICAgKiBhcnJvdyBmdW5jdGlvbnMgbXVzdCBiZSBhdm9pZGVkIGJlY2F1c2UgdGhleSBiaW5kIHRoZSBvdXRlciBgdGhpc2AuCiAgICAgICAqIEluc2lkZSB0aGUgY2FsbGJhY2tzLCBhbnkgY29udGV4dHVhbCBpbmZvcm1hdGlvbiBjYW4gYmUgYWNjZXNzZWQKICAgICAgICogdGhyb3VnaCBgdGhpc2AsIHdoaWNoIHBvaW50cyB0byB0aGUgYG93bmVyYC4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuVGVtcGxhdGl6ZQogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byB0ZW1wbGF0aXplCiAgICAgICAqIEBwYXJhbSB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHM9fSBvd25lciBPd25lciBvZiB0aGUgdGVtcGxhdGUgaW5zdGFuY2VzOwogICAgICAgKiAgIGFueSBvcHRpb25hbCBjYWxsYmFja3Mgd2lsbCBiZSBib3VuZCB0byB0aGlzIG93bmVyLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IG9wdGlvbnMgT3B0aW9ucyBkaWN0aW9uYXJ5IChzZWUgc3VtbWFyeSBmb3IgZGV0YWlscykKICAgICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OlRlbXBsYXRlSW5zdGFuY2VCYXNlKX0gR2VuZXJhdGVkIGNsYXNzIGJvdW5kIHRvIHRoZSB0ZW1wbGF0ZQogICAgICAgKiAgIHByb3ZpZGVkCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgdGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgb3duZXIsIG9wdGlvbnMpIHsKICAgICAgICAvLyBVbmRlciBzdHJpY3RUZW1wbGF0ZVBvbGljeSwgdGhlIHRlbXBsYXRpemVkIGVsZW1lbnQgbXVzdCBiZSBvd25lZAogICAgICAgIC8vIGJ5IGEgKHRydXN0ZWQpIFBvbHltZXIgZWxlbWVudCwgaW5kaWNhdGVkIGJ5IGV4aXN0ZW5jZSBvZiBfbWV0aG9kSG9zdDsKICAgICAgICAvLyBlLmcuIGZvciBkb20taWYgJiBkb20tcmVwZWF0IGluIG1haW4gZG9jdW1lbnQsIF9tZXRob2RIb3N0IGlzIG51bGwKICAgICAgICBpZiAoUG9seW1lci5zdHJpY3RUZW1wbGF0ZVBvbGljeSAmJiAhZmluZE1ldGhvZEhvc3QodGVtcGxhdGUpKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3N0cmljdFRlbXBsYXRlUG9saWN5OiB0ZW1wbGF0ZSBvd25lciBub3QgdHJ1c3RlZCcpOwogICAgICAgIH0KICAgICAgICBvcHRpb25zID0gLyoqIEB0eXBlIHshVGVtcGxhdGl6ZU9wdGlvbnN9ICovKG9wdGlvbnMgfHwge30pOwogICAgICAgIGlmICh0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lcikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIDx0ZW1wbGF0ZT4gY2FuIG9ubHkgYmUgdGVtcGxhdGl6ZWQgb25jZScpOwogICAgICAgIH0KICAgICAgICB0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lciA9IG93bmVyOwogICAgICAgIGNvbnN0IGN0b3IgPSBvd25lciA/IG93bmVyLmNvbnN0cnVjdG9yIDogVGVtcGxhdGVJbnN0YW5jZUJhc2U7CiAgICAgICAgbGV0IHRlbXBsYXRlSW5mbyA9IGN0b3IuX3BhcnNlVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICAgIC8vIEdldCBtZW1vaXplZCBiYXNlIGNsYXNzIGZvciB0aGUgcHJvdG90eXBpY2FsIHRlbXBsYXRlLCB3aGljaAogICAgICAgIC8vIGluY2x1ZGVzIHByb3BlcnR5IGVmZmVjdHMgZm9yIGJpbmRpbmcgdGVtcGxhdGUgJiBmb3J3YXJkaW5nCiAgICAgICAgbGV0IGJhc2VDbGFzcyA9IHRlbXBsYXRlSW5mby50ZW1wbGF0aXplSW5zdGFuY2VDbGFzczsKICAgICAgICBpZiAoIWJhc2VDbGFzcykgewogICAgICAgICAgYmFzZUNsYXNzID0gY3JlYXRlVGVtcGxhdGl6ZXJDbGFzcyh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKTsKICAgICAgICAgIHRlbXBsYXRlSW5mby50ZW1wbGF0aXplSW5zdGFuY2VDbGFzcyA9IGJhc2VDbGFzczsKICAgICAgICB9CiAgICAgICAgLy8gSG9zdCBwcm9wZXJ0eSBmb3J3YXJkaW5nIG11c3QgYmUgaW5zdGFsbGVkIG9udG8gdGVtcGxhdGUgaW5zdGFuY2UKICAgICAgICBhZGRQcm9wYWdhdGVFZmZlY3RzKHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIG9wdGlvbnMpOwogICAgICAgIC8vIFN1YmNsYXNzIGJhc2UgY2xhc3MgYW5kIGFkZCByZWZlcmVuY2UgZm9yIHRoaXMgc3BlY2lmaWMgdGVtcGxhdGUKICAgICAgICAvKiogQHByaXZhdGUgKi8KICAgICAgICBsZXQga2xhc3MgPSBjbGFzcyBUZW1wbGF0ZUluc3RhbmNlIGV4dGVuZHMgYmFzZUNsYXNzIHt9OwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fbWV0aG9kSG9zdCA9IGZpbmRNZXRob2RIb3N0KHRlbXBsYXRlKTsKICAgICAgICBrbGFzcy5wcm90b3R5cGUuX19kYXRhSG9zdCA9IHRlbXBsYXRlOwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPd25lciA9IG93bmVyOwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fX2hvc3RQcm9wcyA9IHRlbXBsYXRlSW5mby5ob3N0UHJvcHM7CiAgICAgICAga2xhc3MgPSAvKiogQHR5cGUge2Z1bmN0aW9uKG5ldzpUZW1wbGF0ZUluc3RhbmNlQmFzZSl9ICovKGtsYXNzKTsgLy9lc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgcmV0dXJuIGtsYXNzOwogICAgICB9LAoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIHRlbXBsYXRlICJtb2RlbCIgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCwgd2hpY2gKICAgICAgICogc2VydmVzIGFzIHRoZSBiaW5kaW5nIHNjb3BlIGZvciB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdGhlIGVsZW1lbnQgaXMKICAgICAgICogY29udGFpbmVkIGluLiBBIHRlbXBsYXRlIG1vZGVsIGlzIGFuIGluc3RhbmNlIG9mCiAgICAgICAqIGBUZW1wbGF0ZUluc3RhbmNlQmFzZWAsIGFuZCBzaG91bGQgYmUgdXNlZCB0byBtYW5pcHVsYXRlIGRhdGEKICAgICAgICogYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgICAqCiAgICAgICAqIEV4YW1wbGU6CiAgICAgICAqCiAgICAgICAqICAgbGV0IG1vZGVsID0gbW9kZWxGb3JFbGVtZW50KGVsKTsKICAgICAgICogICBpZiAobW9kZWwuaW5kZXggPCAxMCkgewogICAgICAgKiAgICAgbW9kZWwuc2V0KCdpdGVtLmNoZWNrZWQnLCB0cnVlKTsKICAgICAgICogICB9CiAgICAgICAqCiAgICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlRlbXBsYXRpemUKICAgICAgICogQHBhcmFtIHtIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUaGUgbW9kZWwgd2lsbCBiZSByZXR1cm5lZCBmb3IKICAgICAgICogICBlbGVtZW50cyBzdGFtcGVkIGZyb20gdGhpcyB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0ge05vZGU9fSBub2RlIE5vZGUgZm9yIHdoaWNoIHRvIHJldHVybiBhIHRlbXBsYXRlIG1vZGVsLgogICAgICAgKiBAcmV0dXJuIHtUZW1wbGF0ZUluc3RhbmNlQmFzZX0gVGVtcGxhdGUgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZQogICAgICAgKiAgIGJpbmRpbmcgc2NvcGUgZm9yIHRoZSBlbGVtZW50CiAgICAgICAqLwogICAgICBtb2RlbEZvckVsZW1lbnQodGVtcGxhdGUsIG5vZGUpIHsKICAgICAgICBsZXQgbW9kZWw7CiAgICAgICAgd2hpbGUgKG5vZGUpIHsKICAgICAgICAgIC8vIEFuIGVsZW1lbnQgd2l0aCBhIF9fdGVtcGxhdGl6ZUluc3RhbmNlIG1hcmtzIHRoZSB0b3AgYm91bmRhcnkKICAgICAgICAgIC8vIG9mIGEgc2NvcGU7IHdhbGsgdXAgdW50aWwgd2UgZmluZCBvbmUsIGFuZCB0aGVuIGVuc3VyZSB0aGF0CiAgICAgICAgICAvLyBpdHMgX19kYXRhSG9zdCBtYXRjaGVzIGB0aGlzYCwgbWVhbmluZyB0aGlzIGRvbS1yZXBlYXQgc3RhbXBlZCBpdAogICAgICAgICAgaWYgKChtb2RlbCA9IG5vZGUuX190ZW1wbGF0aXplSW5zdGFuY2UpKSB7CiAgICAgICAgICAgIC8vIEZvdW5kIGFuIGVsZW1lbnQgc3RhbXBlZCBieSBhbm90aGVyIHRlbXBsYXRlOyBrZWVwIHdhbGtpbmcgdXAKICAgICAgICAgICAgLy8gZnJvbSBpdHMgX19kYXRhSG9zdAogICAgICAgICAgICBpZiAobW9kZWwuX19kYXRhSG9zdCAhPSB0ZW1wbGF0ZSkgewogICAgICAgICAgICAgIG5vZGUgPSBtb2RlbC5fX2RhdGFIb3N0OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiBtb2RlbDsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gU3RpbGwgaW4gYSB0ZW1wbGF0ZSBzY29wZSwga2VlcCBnb2luZyB1cCB1bnRpbAogICAgICAgICAgICAvLyBhIF9fdGVtcGxhdGl6ZUluc3RhbmNlIGlzIGZvdW5kCiAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICB9OwoKICAgIFBvbHltZXIuVGVtcGxhdGVJbnN0YW5jZUJhc2UgPSBUZW1wbGF0ZUluc3RhbmNlQmFzZTsKCiAgfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgbGV0IFRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5UZW1wbGF0ZUluc3RhbmNlQmFzZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoKICAgIC8qKgogICAgICogQHR5cGVkZWYge3sKICAgICAqICAgX3RlbXBsYXRpemVyVGVtcGxhdGU6IEhUTUxUZW1wbGF0ZUVsZW1lbnQsCiAgICAgKiAgIF9wYXJlbnRNb2RlbDogYm9vbGVhbiwKICAgICAqICAgX2luc3RhbmNlUHJvcHM6IE9iamVjdCwKICAgICAqICAgX2ZvcndhcmRIb3N0UHJvcFYyOiBGdW5jdGlvbiwKICAgICAqICAgX25vdGlmeUluc3RhbmNlUHJvcFYyOiBGdW5jdGlvbiwKICAgICAqICAgY3RvcjogVGVtcGxhdGVJbnN0YW5jZUJhc2UKICAgICAqIH19CiAgICAgKi8KICAgIGxldCBUZW1wbGF0aXplclVzZXI7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUKCiAgICAvKioKICAgICAqIFRoZSBgUG9seW1lci5UZW1wbGF0aXplcmAgYmVoYXZpb3IgYWRkcyBtZXRob2RzIHRvIGdlbmVyYXRlIGluc3RhbmNlcyBvZgogICAgICogdGVtcGxhdGVzIHRoYXQgYXJlIGVhY2ggbWFuYWdlZCBieSBhbiBhbm9ueW1vdXMgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYAogICAgICogaW5zdGFuY2Ugd2hlcmUgZGF0YS1iaW5kaW5ncyBpbiB0aGUgc3RhbXBlZCB0ZW1wbGF0ZSBjb250ZW50IGFyZSBib3VuZCB0bwogICAgICogYWNjZXNzb3JzIG9uIGl0c2VsZi4KICAgICAqCiAgICAgKiBUaGlzIGJlaGF2aW9yIGlzIHByb3ZpZGVkIGluIFBvbHltZXIgMi54IGFzIGEgaHlicmlkLWVsZW1lbnQgY29udmVuaWVuY2UKICAgICAqIG9ubHkuICBGb3Igbm9uLWh5YnJpZCB1c2FnZSwgdGhlIGBQb2x5bWVyLlRlbXBsYXRpemVgIGxpYnJhcnkKICAgICAqIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiAgICAgLy8gR2V0IGEgdGVtcGxhdGUgZnJvbSBzb21ld2hlcmUsIGUuZy4gbGlnaHQgRE9NCiAgICAgKiAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpOwogICAgICogICAgIC8vIFByZXBhcmUgdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgdGhpcy50ZW1wbGF0aXplKHRlbXBsYXRlKTsKICAgICAqICAgICAvLyBJbnN0YW5jZSB0aGUgdGVtcGxhdGUgd2l0aCBhbiBpbml0aWFsIGRhdGEgbW9kZWwKICAgICAqICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLnN0YW1wKHtteVByb3A6ICdpbml0aWFsJ30pOwogICAgICogICAgIC8vIEluc2VydCB0aGUgaW5zdGFuY2UncyBET00gc29tZXdoZXJlLCBlLmcuIGxpZ2h0IERPTQogICAgICogICAgIFBvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGluc3RhbmNlLnJvb3QpOwogICAgICogICAgIC8vIENoYW5naW5nIGEgcHJvcGVydHkgb24gdGhlIGluc3RhbmNlIHdpbGwgcHJvcGFnYXRlIHRvIGJpbmRpbmdzCiAgICAgKiAgICAgLy8gaW4gdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgaW5zdGFuY2UubXlQcm9wID0gJ25ldyB2YWx1ZSc7CiAgICAgKgogICAgICogVXNlcnMgb2YgYFRlbXBsYXRpemVyYCBtYXkgbmVlZCB0byBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBhYnN0cmFjdAogICAgICogQVBJJ3MgdG8gZGV0ZXJtaW5lIGhvdyBwcm9wZXJ0aWVzIGFuZCBwYXRocyBmcm9tIHRoZSBob3N0IHNob3VsZCBiZQogICAgICogZm9yd2FyZGVkIGludG8gdG8gaW5zdGFuY2VzOgogICAgICoKICAgICAqICAgICBfZm9yd2FyZEhvc3RQcm9wVjI6IGZ1bmN0aW9uKHByb3AsIHZhbHVlKQogICAgICoKICAgICAqIExpa2V3aXNlLCB1c2VycyBtYXkgaW1wbGVtZW50IHRoZXNlIGFkZGl0aW9uYWwgYWJzdHJhY3QgQVBJJ3MgdG8gZGV0ZXJtaW5lCiAgICAgKiBob3cgaW5zdGFuY2Utc3BlY2lmaWMgcHJvcGVydGllcyB0aGF0IGNoYW5nZSBvbiB0aGUgaW5zdGFuY2Ugc2hvdWxkIGJlCiAgICAgKiBmb3J3YXJkZWQgb3V0IHRvIHRoZSBob3N0LCBpZiBuZWNlc3NhcnkuCiAgICAgKgogICAgICogICAgIF9ub3RpZnlJbnN0YW5jZVByb3BWMjogZnVuY3Rpb24oaW5zdCwgcHJvcCwgdmFsdWUpCiAgICAgKgogICAgICogSW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIHByb3BlcnRpZXMgYXJlIGluc3RhbmNlLXNwZWNpZmljIGFuZCByZXF1aXJlCiAgICAgKiBjdXN0b20gbm90aWZpY2F0aW9uIHZpYSBgX25vdGlmeUluc3RhbmNlUHJvcGAsIGRlZmluZSBhbiBgX2luc3RhbmNlUHJvcHNgCiAgICAgKiBvYmplY3QgY29udGFpbmluZyBrZXlzIGZvciBlYWNoIGluc3RhbmNlIHByb3AsIGZvciBleGFtcGxlOgogICAgICoKICAgICAqICAgICBfaW5zdGFuY2VQcm9wczogewogICAgICogICAgICAgaXRlbTogdHJ1ZSwKICAgICAqICAgICAgIGluZGV4OiB0cnVlCiAgICAgKiAgICAgfQogICAgICoKICAgICAqIEFueSBwcm9wZXJ0aWVzIHVzZWQgaW4gdGhlIHRlbXBsYXRlIHRoYXQgYXJlIG5vdCBkZWZpbmVkIGluIF9pbnN0YW5jZVByb3AKICAgICAqIHdpbGwgYmUgZm9yd2FyZGVkIG91dCB0byB0aGUgVGVtcGxhdGl6ZSBgb3duZXJgIGF1dG9tYXRpY2FsbHkuCiAgICAgKgogICAgICogVXNlcnMgbWF5IGFsc28gaW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgYWJzdHJhY3QgZnVuY3Rpb24gdG8gc2hvdyBvcgogICAgICogaGlkZSBhbnkgRE9NIGdlbmVyYXRlZCB1c2luZyBgc3RhbXBgOgogICAgICoKICAgICAqICAgICBfc2hvd0hpZGVDaGlsZHJlbjogZnVuY3Rpb24oc2hvdWxkSGlkZSkKICAgICAqCiAgICAgKiBOb3RlIHRoYXQgc29tZSBjYWxsYmFja3MgYXJlIHN1ZmZpeGVkIHdpdGggYFYyYCBpbiB0aGUgUG9seW1lciAyLnggYmVoYXZpb3IKICAgICAqIGFzIHRoZSBpbXBsZW1lbnRhdGlvbnMgd2lsbCBuZWVkIHRvIGRpZmZlciBmcm9tIHRoZSBjYWxsYmFja3MgcmVxdWlyZWQKICAgICAqIGJ5IHRoZSAxLnggVGVtcGxhdGl6ZXIgQVBJIGR1ZSB0byBjaGFuZ2VzIGluIHRoZSBgVGVtcGxhdGVJbnN0YW5jZWAgQVBJCiAgICAgKiBiZXR3ZWVuIHZlcnNpb25zIDEueCBhbmQgMi54LgogICAgICoKICAgICAqIEBwb2x5bWVyQmVoYXZpb3IKICAgICAqLwogICAgUG9seW1lci5UZW1wbGF0aXplciA9IHsKCiAgICAgIC8qKgogICAgICAgKiBHZW5lcmF0ZXMgYW4gYW5vbnltb3VzIGBUZW1wbGF0ZUluc3RhbmNlYCBjbGFzcyAoc3RvcmVkIGFzIGB0aGlzLmN0b3JgKQogICAgICAgKiBmb3IgdGhlIHByb3ZpZGVkIHRlbXBsYXRlLiAgVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIHBlcgogICAgICAgKiB0ZW1wbGF0ZSB0byBwcmVwYXJlIGFuIGVsZW1lbnQgZm9yIHN0YW1waW5nIHRoZSB0ZW1wbGF0ZSwgZm9sbG93ZWQKICAgICAgICogYnkgYHN0YW1wYCB0byBjcmVhdGUgbmV3IGluc3RhbmNlcyBvZiB0aGUgdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IUhUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIHRvIHByZXBhcmUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gbXV0YWJsZURhdGEgV2hlbiBgdHJ1ZWAsIHRoZSBnZW5lcmF0ZWQgY2xhc3Mgd2lsbCBza2lwCiAgICAgICAqICAgc3RyaWN0IGRpcnR5LWNoZWNraW5nIGZvciBvYmplY3RzIGFuZCBhcnJheXMgKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvCiAgICAgICAqICAgYmUgImRpcnR5IikuIERlZmF1bHRzIHRvIGZhbHNlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAdGhpcyB7VGVtcGxhdGl6ZXJVc2VyfQogICAgICAgKi8KICAgICAgdGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgbXV0YWJsZURhdGEpIHsKICAgICAgICB0aGlzLl90ZW1wbGF0aXplclRlbXBsYXRlID0gdGVtcGxhdGU7CiAgICAgICAgdGhpcy5jdG9yID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUsIHRoaXMsIHsKICAgICAgICAgIG11dGFibGVEYXRhOiBCb29sZWFuKG11dGFibGVEYXRhKSwKICAgICAgICAgIHBhcmVudE1vZGVsOiB0aGlzLl9wYXJlbnRNb2RlbCwKICAgICAgICAgIGluc3RhbmNlUHJvcHM6IHRoaXMuX2luc3RhbmNlUHJvcHMsCiAgICAgICAgICBmb3J3YXJkSG9zdFByb3A6IHRoaXMuX2ZvcndhcmRIb3N0UHJvcFYyLAogICAgICAgICAgbm90aWZ5SW5zdGFuY2VQcm9wOiB0aGlzLl9ub3RpZnlJbnN0YW5jZVByb3BWMgogICAgICAgIH0pOwogICAgICB9LAoKICAgICAgLyoqCiAgICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHRlbXBsYXRlIHByZXBhcmVkIGJ5IGB0ZW1wbGF0aXplYC4gIFRoZSBvYmplY3QKICAgICAgICogcmV0dXJuZWQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGFub255bW91cyBjbGFzcyBnZW5lcmF0ZWQgYnkgYHRlbXBsYXRpemVgCiAgICAgICAqIHdob3NlIGByb290YCBwcm9wZXJ0eSBpcyBhIGRvY3VtZW50IGZyYWdtZW50IGNvbnRhaW5pbmcgbmV3bHkgY2xvbmVkCiAgICAgICAqIHRlbXBsYXRlIGNvbnRlbnQsIGFuZCB3aGljaCBoYXMgcHJvcGVydHkgYWNjZXNzb3JzIGNvcnJlc3BvbmRpbmcgdG8KICAgICAgICogcHJvcGVydGllcyByZWZlcmVuY2VkIGluIHRlbXBsYXRlIGJpbmRpbmdzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IG1vZGVsIE9iamVjdCBjb250YWluaW5nIGluaXRpYWwgcHJvcGVydHkgdmFsdWVzIHRvCiAgICAgICAqICAgcG9wdWxhdGUgaW50byB0aGUgdGVtcGxhdGUgYmluZGluZ3MuCiAgICAgICAqIEByZXR1cm4ge1RlbXBsYXRlSW5zdGFuY2VCYXNlfSBSZXR1cm5zIHRoZSBjcmVhdGVkIGluc3RhbmNlIG9mCiAgICAgICAqIHRoZSB0ZW1wbGF0ZSBwcmVwYXJlZCBieSBgdGVtcGxhdGl6ZWAuCiAgICAgICAqIEB0aGlzIHtUZW1wbGF0aXplclVzZXJ9CiAgICAgICAqLwogICAgICBzdGFtcChtb2RlbCkgewogICAgICAgIHJldHVybiBuZXcgdGhpcy5jdG9yKG1vZGVsKTsKICAgICAgfSwKCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSAibW9kZWwiIChgVGVtcGxhdGVJbnN0YW5jZWApIGFzc29jaWF0ZWQgd2l0aAogICAgICAgKiBhIGdpdmVuIGVsZW1lbnQsIHdoaWNoIHNlcnZlcyBhcyB0aGUgYmluZGluZyBzY29wZSBmb3IgdGhlIHRlbXBsYXRlCiAgICAgICAqIGluc3RhbmNlIHRoZSBlbGVtZW50IGlzIGNvbnRhaW5lZCBpbi4gIEEgdGVtcGxhdGUgbW9kZWwgc2hvdWxkIGJlIHVzZWQKICAgICAgICogdG8gbWFuaXB1bGF0ZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRlbXBsYXRlIGluc3RhbmNlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gYSB0ZW1wbGF0ZSBtb2RlbC4KICAgICAgICogQHJldHVybiB7VGVtcGxhdGVJbnN0YW5jZUJhc2V9IE1vZGVsIHJlcHJlc2VudGluZyB0aGUgYmluZGluZyBzY29wZSBmb3IKICAgICAgICogICB0aGUgZWxlbWVudC4KICAgICAgICogQHRoaXMge1RlbXBsYXRpemVyVXNlcn0KICAgICAgICovCiAgICAgIG1vZGVsRm9yRWxlbWVudChlbCkgewogICAgICAgIHJldHVybiBQb2x5bWVyLlRlbXBsYXRpemUubW9kZWxGb3JFbGVtZW50KHRoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGUsIGVsKTsKICAgICAgfQogICAgfTsKCiAgfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtIVE1MRWxlbWVudH0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX09wdGlvbmFsTXV0YWJsZURhdGF9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9HZXN0dXJlRXZlbnRMaXN0ZW5lcnN9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBkb21CaW5kQmFzZSA9CiAgICAgIFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzKAogICAgICAgIFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YSgKICAgICAgICAgIFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKEhUTUxFbGVtZW50KSkpOwoKICAgIC8qKgogICAgICogQ3VzdG9tIGVsZW1lbnQgdG8gYWxsb3cgdXNpbmcgUG9seW1lcidzIHRlbXBsYXRlIGZlYXR1cmVzIChkYXRhIGJpbmRpbmcsCiAgICAgKiBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMsIGV0Yy4pIGluIHRoZSBtYWluIGRvY3VtZW50IHdpdGhvdXQgZGVmaW5pbmcKICAgICAqIGEgbmV3IGN1c3RvbSBlbGVtZW50LgogICAgICoKICAgICAqIGA8dGVtcGxhdGU+YCB0YWdzIHV0aWxpemluZyBiaW5kaW5ncyBtYXkgYmUgd3JhcHBlZCB3aXRoIHRoZSBgPGRvbS1iaW5kPmAKICAgICAqIGVsZW1lbnQsIHdoaWNoIHdpbGwgaW1tZWRpYXRlbHkgc3RhbXAgdGhlIHdyYXBwZWQgdGVtcGxhdGUgaW50byB0aGUgbWFpbgogICAgICogZG9jdW1lbnQgYW5kIGJpbmQgZWxlbWVudHMgdG8gdGhlIGBkb20tYmluZGAgZWxlbWVudCBpdHNlbGYgYXMgdGhlCiAgICAgKiBiaW5kaW5nIHNjb3BlLgogICAgICoKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAY3VzdG9tRWxlbWVudAogICAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cwogICAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5HZXN0dXJlRXZlbnRMaXN0ZW5lcnMKICAgICAqIEBleHRlbmRzIHtkb21CaW5kQmFzZX0KICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0byBhbGxvdyB1c2luZyBQb2x5bWVyJ3MgdGVtcGxhdGUgZmVhdHVyZXMgKGRhdGEKICAgICAqICAgYmluZGluZywgZGVjbGFyYXRpdmUgZXZlbnQgbGlzdGVuZXJzLCBldGMuKSBpbiB0aGUgbWFpbiBkb2N1bWVudC4KICAgICAqLwogICAgY2xhc3MgRG9tQmluZCBleHRlbmRzIGRvbUJpbmRCYXNlIHsKCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgeyByZXR1cm4gWydtdXRhYmxlLWRhdGEnXTsgfQoKICAgICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgc3VwZXIoKTsKICAgICAgICBpZiAoUG9seW1lci5zdHJpY3RUZW1wbGF0ZVBvbGljeSkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLWJpbmQgbm90IGFsbG93ZWRgKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5yb290ID0gbnVsbDsKICAgICAgICB0aGlzLiQgPSBudWxsOwogICAgICAgIHRoaXMuX19jaGlsZHJlbiA9IG51bGw7CiAgICAgIH0KCiAgICAgIC8qKiBAcmV0dXJuIHt2b2lkfSAqLwogICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSB7CiAgICAgICAgLy8gYXNzdW1lcyBvbmx5IG9uZSBvYnNlcnZlZCBhdHRyaWJ1dGUKICAgICAgICB0aGlzLm11dGFibGVEYXRhID0gdHJ1ZTsKICAgICAgfQoKICAgICAgLyoqIEByZXR1cm4ge3ZvaWR9ICovCiAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgIHRoaXMuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICB0aGlzLnJlbmRlcigpOwogICAgICB9CgogICAgICAvKiogQHJldHVybiB7dm9pZH0gKi8KICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgdGhpcy5fX3JlbW92ZUNoaWxkcmVuKCk7CiAgICAgIH0KCiAgICAgIF9faW5zZXJ0Q2hpbGRyZW4oKSB7CiAgICAgICAgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnJvb3QsIHRoaXMpOwogICAgICB9CgogICAgICBfX3JlbW92ZUNoaWxkcmVuKCkgewogICAgICAgIGlmICh0aGlzLl9fY2hpbGRyZW4pIHsKICAgICAgICAgIGZvciAobGV0IGk9MDsgaTx0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdGhpcy5yb290LmFwcGVuZENoaWxkKHRoaXMuX19jaGlsZHJlbltpXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gVGhpcyBpcyB0eXBpY2FsbHkgb25seQogICAgICAgKiBuZWNlc3NhcnkgdG8gY2FsbCBpZiBIVE1MSW1wb3J0cyB3aXRoIHRoZSBhc3luYyBhdHRyaWJ1dGUgYXJlIHVzZWQuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICByZW5kZXIoKSB7CiAgICAgICAgbGV0IHRlbXBsYXRlOwogICAgICAgIGlmICghdGhpcy5fX2NoaWxkcmVuKSB7CiAgICAgICAgICB0ZW1wbGF0ZSA9IC8qKiBAdHlwZSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gKi8odGVtcGxhdGUgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKTsKICAgICAgICAgIGlmICghdGVtcGxhdGUpIHsKICAgICAgICAgICAgLy8gV2FpdCB1bnRpbCBjaGlsZExpc3QgY2hhbmdlcyBhbmQgdGVtcGxhdGUgc2hvdWxkIGJlIHRoZXJlIGJ5IHRoZW4KICAgICAgICAgICAgbGV0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gewogICAgICAgICAgICAgIHRlbXBsYXRlID0gLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLyh0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJykpOwogICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZSkgewogICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkb20tYmluZCByZXF1aXJlcyBhIDx0ZW1wbGF0ZT4gY2hpbGQnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtjaGlsZExpc3Q6IHRydWV9KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5yb290ID0gdGhpcy5fc3RhbXBUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgICB0aGlzLiQgPSB0aGlzLnJvb3QuJDsKICAgICAgICAgIHRoaXMuX19jaGlsZHJlbiA9IFtdOwogICAgICAgICAgZm9yIChsZXQgbj10aGlzLnJvb3QuZmlyc3RDaGlsZDsgbjsgbj1uLm5leHRTaWJsaW5nKSB7CiAgICAgICAgICAgIHRoaXMuX19jaGlsZHJlblt0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoXSA9IG47CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnNlcnRDaGlsZHJlbigpOwogICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgICBidWJibGVzOiB0cnVlLAogICAgICAgICAgY29tcG9zZWQ6IHRydWUKICAgICAgICB9KSk7CiAgICAgIH0KCiAgICB9CgogICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdkb20tYmluZCcsIERvbUJpbmQpOwoKICAgIC8qKiBAY29uc3QgKi8KICAgIFBvbHltZXIuRG9tQmluZCA9IERvbUJpbmQ7CgogIH0pKCk7CgoKCiAgKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qKgogICAgICogQ2xhc3MgcmVwcmVzZW50aW5nIGEgc3RhdGljIHN0cmluZyB2YWx1ZSB3aGljaCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIKICAgICAqIHN0cmluZ3MgYnkgYXNzZXRpbmcgdGhhdCB0aGV5IGhhdmUgYmVlbiBjcmVhdGVkIHZpYSB0aGlzIGNsYXNzLiBUaGUKICAgICAqIGB2YWx1ZWAgcHJvcGVydHkgcmV0dXJucyB0aGUgc3RyaW5nIHBhc3NlZCB0byB0aGUgY29uc3RydWN0b3IuCiAgICAgKi8KICAgIGNsYXNzIExpdGVyYWxTdHJpbmcgewogICAgICBjb25zdHJ1Y3RvcihzdHJpbmcpIHsKICAgICAgICAvKiogQHR5cGUge3N0cmluZ30gKi8KICAgICAgICB0aGlzLnZhbHVlID0gc3RyaW5nLnRvU3RyaW5nKCk7CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gTGl0ZXJhbFN0cmluZyBzdHJpbmcgdmFsdWUKICAgICAgICovCiAgICAgIHRvU3RyaW5nKCkgewogICAgICAgIHJldHVybiB0aGlzLnZhbHVlOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIE9iamVjdCB0byBzdHJpbmdpZnkgaW50byBIVE1MCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEhUTUwgc3RyaW5naWZpZWQgZm9ybSBvZiBgb2JqYAogICAgICovCiAgICBmdW5jdGlvbiBsaXRlcmFsVmFsdWUodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGl0ZXJhbFN0cmluZykgewogICAgICAgIHJldHVybiAvKiogQHR5cGUgeyFMaXRlcmFsU3RyaW5nfSAqLyh2YWx1ZSkudmFsdWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub24tbGl0ZXJhbCB2YWx1ZSBwYXNzZWQgdG8gUG9seW1lci5odG1sTGl0ZXJhbDogJHt2YWx1ZX1gKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBPYmplY3QgdG8gc3RyaW5naWZ5IGludG8gSFRNTAogICAgICogQHJldHVybiB7c3RyaW5nfSBIVE1MIHN0cmluZ2lmaWVkIGZvcm0gb2YgYG9iamAKICAgICAqLwogICAgZnVuY3Rpb24gaHRtbFZhbHVlKHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQpIHsKICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHshSFRNTFRlbXBsYXRlRWxlbWVudCB9ICovKHZhbHVlKS5pbm5lckhUTUw7CiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBMaXRlcmFsU3RyaW5nKSB7CiAgICAgICAgcmV0dXJuIGxpdGVyYWxWYWx1ZSh2YWx1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub24tdGVtcGxhdGUgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIuaHRtbDogJHt2YWx1ZX1gKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQSB0ZW1wbGF0ZSBsaXRlcmFsIHRhZyB0aGF0IGNyZWF0ZXMgYW4gSFRNTCA8dGVtcGxhdGU+IGVsZW1lbnQgZnJvbSB0aGUKICAgICAqIGNvbnRlbnRzIG9mIHRoZSBzdHJpbmcuCiAgICAgKgogICAgICogVGhpcyBhbGxvd3MgeW91IHRvIHdyaXRlIGEgUG9seW1lciBUZW1wbGF0ZSBpbiBKYXZhU2NyaXB0LgogICAgICoKICAgICAqIFRlbXBsYXRlcyBjYW4gYmUgY29tcG9zZWQgYnkgaW50ZXJwb2xhdGluZyBgSFRNTFRlbXBsYXRlRWxlbWVudGBzIGluCiAgICAgKiBleHByZXNzaW9ucyBpbiB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBsaXRlcmFsLiBUaGUgbmVzdGVkIHRlbXBsYXRlJ3MKICAgICAqIGBpbm5lckhUTUxgIGlzIGluY2x1ZGVkIGluIHRoZSBjb250YWluaW5nIHRlbXBsYXRlLiAgVGhlIG9ubHkgb3RoZXIKICAgICAqIHZhbHVlcyBhbGxvd2VkIGluIGV4cHJlc3Npb25zIGFyZSB0aG9zZSByZXR1cm5lZCBmcm9tIGBQb2x5bWVyLmh0bWxMaXRlcmFsYAogICAgICogd2hpY2ggZW5zdXJlcyBvbmx5IGxpdGVyYWwgdmFsdWVzIGZyb20gSlMgc291cmNlIGV2ZXIgcmVhY2ggdGhlIEhUTUwsIHRvCiAgICAgKiBndWFyZCBhZ2FpbnN0IFhTUyByaXNrcy4KICAgICAqCiAgICAgKiBBbGwgb3RoZXIgdmFsdWVzIGFyZSBkaXNhbGxvd2VkIGluIGV4cHJlc3Npb25zIHRvIGhlbHAgcHJldmVudCBYU1MKICAgICAqIGF0dGFja3M7IGhvd2V2ZXIsIGBQb2x5bWVyLmh0bWxMaXRlcmFsYCBjYW4gYmUgdXNlZCB0byBjb21wb3NlIHN0YXRpYwogICAgICogc3RyaW5nIHZhbHVlcyBpbnRvIHRlbXBsYXRlcy4gVGhpcyBpcyB1c2VmdWwgdG8gY29tcG9zZSBzdHJpbmdzIGludG8KICAgICAqIHBsYWNlcyB0aGF0IGRvIG5vdCBhY2NlcHQgaHRtbCwgbGlrZSB0aGUgY3NzIHRleHQgb2YgYSBgc3R5bGVgCiAgICAgKiBlbGVtZW50LgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogICAgIHN0YXRpYyBnZXQgdGVtcGxhdGUoKSB7CiAgICAgKiAgICAgICByZXR1cm4gUG9seW1lci5odG1sYAogICAgICogICAgICAgICA8c3R5bGU+Omhvc3R7IGNvbnRlbnQ6Ii4uLiIgfTwvc3R5bGU+CiAgICAgKiAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvd2VkIj4ke3RoaXMucGFydGlhbFRlbXBsYXRlfTwvZGl2PgogICAgICogICAgICAgICAke3N1cGVyLnRlbXBsYXRlfQogICAgICogICAgICAgYDsKICAgICAqICAgICB9CiAgICAgKiAgICAgc3RhdGljIGdldCBwYXJ0aWFsVGVtcGxhdGUoKSB7IHJldHVybiBQb2x5bWVyLmh0bWxgPHNwYW4+UGFydGlhbCE8L3NwYW4+YDsgfQogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFJVGVtcGxhdGVBcnJheX0gc3RyaW5ncyBDb25zdGFudCBwYXJ0cyBvZiB0YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbAogICAgICogQHBhcmFtIHsuLi4qfSB2YWx1ZXMgVmFyaWFibGUgcGFydHMgb2YgdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwKICAgICAqIEByZXR1cm4geyFIVE1MVGVtcGxhdGVFbGVtZW50fSBDb25zdHJ1Y3RlZCBIVE1MVGVtcGxhdGVFbGVtZW50CiAgICAgKi8KICAgIFBvbHltZXIuaHRtbCA9IGZ1bmN0aW9uIGh0bWwoc3RyaW5ncywgLi4udmFsdWVzKSB7CiAgICAgIGNvbnN0IHRlbXBsYXRlID0gLyoqIEB0eXBlIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gKi8oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKSk7CiAgICAgIHRlbXBsYXRlLmlubmVySFRNTCA9IHZhbHVlcy5yZWR1Y2UoKGFjYywgdiwgaWR4KSA9PgogICAgICAgICAgYWNjICsgaHRtbFZhbHVlKHYpICsgc3RyaW5nc1tpZHggKyAxXSwgc3RyaW5nc1swXSk7CiAgICAgIHJldHVybiB0ZW1wbGF0ZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBBbiBodG1sIGxpdGVyYWwgdGFnIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBgUG9seW1lci5odG1sYCB0byBjb21wb3NlLgogICAgICogYSBsaXRlcmFsIHN0cmluZy4KICAgICAqCiAgICAgKiBFeGFtcGxlOgogICAgICoKICAgICAqICAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgewogICAgICogICAgICAgcmV0dXJuIFBvbHltZXIuaHRtbGAKICAgICAqICAgICAgICAgPHN0eWxlPgogICAgICogICAgICAgICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0KICAgICAqICAgICAgICAgICAke3N0eWxlVGVtcGxhdGV9CiAgICAgKiAgICAgICAgIDwvc3R5bGU+CiAgICAgKiAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvd2VkIj4ke3N0YXRpY1ZhbHVlfTwvZGl2PgogICAgICogICAgICAgICAke3N1cGVyLnRlbXBsYXRlfQogICAgICogICAgICAgYDsKICAgICAqICAgICB9CiAgICAgKiAgICAgc3RhdGljIGdldCBzdHlsZVRlbXBsYXRlKCkgeyByZXR1cm4gUG9seW1lci5odG1sTGl0ZXJhbGAuc2hhZG93ZWQgeyBiYWNrZ3JvdW5kOiBncmF5OyB9YDsgfQogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFJVGVtcGxhdGVBcnJheX0gc3RyaW5ncyBDb25zdGFudCBwYXJ0cyBvZiB0YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbAogICAgICogQHBhcmFtIHsuLi4qfSB2YWx1ZXMgVmFyaWFibGUgcGFydHMgb2YgdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwKICAgICAqIEByZXR1cm4geyFMaXRlcmFsU3RyaW5nfSBDb25zdHJ1Y3RlZCBsaXRlcmFsIHN0cmluZwogICAgICovCiAgICBQb2x5bWVyLmh0bWxMaXRlcmFsID0gZnVuY3Rpb24oc3RyaW5ncywgLi4udmFsdWVzKSB7CiAgICAgIHJldHVybiBuZXcgTGl0ZXJhbFN0cmluZyh2YWx1ZXMucmVkdWNlKChhY2MsIHYsIGlkeCkgPT4KICAgICAgICAgIGFjYyArIGxpdGVyYWxWYWx1ZSh2KSArIHN0cmluZ3NbaWR4ICsgMV0sIHN0cmluZ3NbMF0pKTsKICAgIH07CiAgfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBCYXNlIGNsYXNzIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MgbWV0YS1wcm9ncmFtbWluZwogICAqIGZlYXR1cmVzIGluY2x1ZGluZyB0ZW1wbGF0ZSBzdGFtcGluZywgZGF0YS1iaW5kaW5nLCBhdHRyaWJ1dGUgZGVzZXJpYWxpemF0aW9uLAogICAqIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24uCiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQGNvbnN0cnVjdG9yCiAgICogQGltcGxlbWVudHMge1BvbHltZXJfRWxlbWVudE1peGlufQogICAqIEBleHRlbmRzIHtIVE1MRWxlbWVudH0KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuRWxlbWVudE1peGluCiAgICogQHN1bW1hcnkgQ3VzdG9tIGVsZW1lbnQgYmFzZSBjbGFzcyB0aGF0IHByb3ZpZGVzIHRoZSBjb3JlIEFQSSBmb3IgUG9seW1lcidzCiAgICogICBrZXkgbWV0YS1wcm9ncmFtbWluZyBmZWF0dXJlcyBpbmNsdWRpbmcgdGVtcGxhdGUgc3RhbXBpbmcsIGRhdGEtYmluZGluZywKICAgKiAgIGF0dHJpYnV0ZSBkZXNlcmlhbGl6YXRpb24sIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24KICAgKi8KICBQb2x5bWVyLkVsZW1lbnQgPSBQb2x5bWVyLkVsZW1lbnRNaXhpbihIVE1MRWxlbWVudCk7CgogIC8vIE5PVEU6IHRoaXMgaXMgaGVyZSBmb3IgbW9kdWxpemVyIHRvIGV4cG9ydCBgaHRtbGAgZm9yIHRoZSBtb2R1bGUgdmVyc2lvbiBvZiB0aGlzIGZpbGUKICBQb2x5bWVyLmh0bWwgPSBQb2x5bWVyLmh0bWw7Cn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgbGV0IFRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5UZW1wbGF0ZUluc3RhbmNlQmFzZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9PcHRpb25hbE11dGFibGVEYXRhfQogICAqIEBleHRlbmRzIHtQb2x5bWVyLkVsZW1lbnR9CiAgICogQHByaXZhdGUKICAgKi8KICBjb25zdCBkb21SZXBlYXRCYXNlID0gUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhKFBvbHltZXIuRWxlbWVudCk7CgogIC8qKgogICAqIFRoZSBgPGRvbS1yZXBlYXQ+YCBlbGVtZW50IHdpbGwgYXV0b21hdGljYWxseSBzdGFtcCBhbmQgYmluZHMgb25lIGluc3RhbmNlCiAgICogb2YgdGVtcGxhdGUgY29udGVudCB0byBlYWNoIG9iamVjdCBpbiBhIHVzZXItcHJvdmlkZWQgYXJyYXkuCiAgICogYGRvbS1yZXBlYXRgIGFjY2VwdHMgYW4gYGl0ZW1zYCBwcm9wZXJ0eSwgYW5kIG9uZSBpbnN0YW5jZSBvZiB0aGUgdGVtcGxhdGUKICAgKiBpcyBzdGFtcGVkIGZvciBlYWNoIGl0ZW0gaW50byB0aGUgRE9NIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgYGRvbS1yZXBlYXRgCiAgICogZWxlbWVudC4gIFRoZSBgaXRlbWAgcHJvcGVydHkgd2lsbCBiZSBzZXQgb24gZWFjaCBpbnN0YW5jZSdzIGJpbmRpbmcKICAgKiBzY29wZSwgdGh1cyB0ZW1wbGF0ZXMgc2hvdWxkIGJpbmQgdG8gc3ViLXByb3BlcnRpZXMgb2YgYGl0ZW1gLgogICAqCiAgICogRXhhbXBsZToKICAgKgogICAqIGBgYGh0bWwKICAgKiA8ZG9tLW1vZHVsZSBpZD0iZW1wbG95ZWUtbGlzdCI+CiAgICoKICAgKiAgIDx0ZW1wbGF0ZT4KICAgKgogICAqICAgICA8ZGl2PiBFbXBsb3llZSBsaXN0OiA8L2Rpdj4KICAgKiAgICAgPGRvbS1yZXBlYXQgaXRlbXM9Int7ZW1wbG95ZWVzfX0iPgogICAqICAgICAgIDx0ZW1wbGF0ZT4KICAgKiAgICAgICAgIDxkaXY+Rmlyc3QgbmFtZTogPHNwYW4+e3tpdGVtLmZpcnN0fX08L3NwYW4+PC9kaXY+CiAgICogICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgIDwvdGVtcGxhdGU+CiAgICoKICAgKiA8L2RvbS1tb2R1bGU+CiAgICogYGBgCiAgICoKICAgKiBXaXRoIHRoZSBmb2xsb3dpbmcgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbjoKICAgKgogICAqIGBgYGpzCiAgICogY2xhc3MgRW1wbG95ZWVMaXN0IGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZW1wbG95ZWUtbGlzdCc7IH0KICAgKiAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKICAgKiAgICAgcmV0dXJuIHsKICAgKiAgICAgICBlbXBsb3llZXM6IHsKICAgKiAgICAgICAgIHZhbHVlKCkgewogICAqICAgICAgICAgICByZXR1cm4gWwogICAqICAgICAgICAgICAgIHtmaXJzdDogJ0JvYicsIGxhc3Q6ICdTbWl0aCd9LAogICAqICAgICAgICAgICAgIHtmaXJzdDogJ1NhbGx5JywgbGFzdDogJ0pvaG5zb24nfSwKICAgKiAgICAgICAgICAgICAuLi4KICAgKiAgICAgICAgICAgXTsKICAgKiAgICAgICAgIH0KICAgKiAgICAgICB9CiAgICogICAgIH07CiAgICogICB9CiAgICogfQogICAqIGBgYAogICAqCiAgICogTm90aWZpY2F0aW9ucyBmb3IgY2hhbmdlcyB0byBpdGVtcyBzdWItcHJvcGVydGllcyB3aWxsIGJlIGZvcndhcmRlZCB0byB0ZW1wbGF0ZQogICAqIGluc3RhbmNlcywgd2hpY2ggd2lsbCB1cGRhdGUgdmlhIHRoZSBub3JtYWwgc3RydWN0dXJlZCBkYXRhIG5vdGlmaWNhdGlvbiBzeXN0ZW0uCiAgICoKICAgKiBNdXRhdGlvbnMgdG8gdGhlIGBpdGVtc2AgYXJyYXkgaXRzZWxmIHNob3VsZCBiZSBtYWRlIHVzaW5nIHRoZSBBcnJheQogICAqIG11dGF0aW9uIEFQSSdzIG9uIGBQb2x5bWVyLkJhc2VgIChgcHVzaGAsIGBwb3BgLCBgc3BsaWNlYCwgYHNoaWZ0YCwKICAgKiBgdW5zaGlmdGApLCBhbmQgdGVtcGxhdGUgaW5zdGFuY2VzIHdpbGwgYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGRhdGEgaW4gdGhlCiAgICogYXJyYXkuCiAgICoKICAgKiBFdmVudHMgY2F1Z2h0IGJ5IGV2ZW50IGhhbmRsZXJzIHdpdGhpbiB0aGUgYGRvbS1yZXBlYXRgIHRlbXBsYXRlIHdpbGwgYmUKICAgKiBkZWNvcmF0ZWQgd2l0aCBhIGBtb2RlbGAgcHJvcGVydHksIHdoaWNoIHJlcHJlc2VudHMgdGhlIGJpbmRpbmcgc2NvcGUgZm9yCiAgICogZWFjaCB0ZW1wbGF0ZSBpbnN0YW5jZS4gIFRoZSBtb2RlbCBpcyBhbiBpbnN0YW5jZSBvZiBQb2x5bWVyLkJhc2UsIGFuZCBzaG91bGQKICAgKiBiZSB1c2VkIHRvIG1hbmlwdWxhdGUgZGF0YSBvbiB0aGUgaW5zdGFuY2UsIGZvciBleGFtcGxlCiAgICogYGV2ZW50Lm1vZGVsLnNldCgnaXRlbS5jaGVja2VkJywgdHJ1ZSk7YC4KICAgKgogICAqIEFsdGVybmF0aXZlbHksIHRoZSBtb2RlbCBmb3IgYSB0ZW1wbGF0ZSBpbnN0YW5jZSBmb3IgYW4gZWxlbWVudCBzdGFtcGVkIGJ5CiAgICogYSBgZG9tLXJlcGVhdGAgY2FuIGJlIG9idGFpbmVkIHVzaW5nIHRoZSBgbW9kZWxGb3JFbGVtZW50YCBBUEkgb24gdGhlCiAgICogYGRvbS1yZXBlYXRgIHRoYXQgc3RhbXBlZCBpdCwgZm9yIGV4YW1wbGUKICAgKiBgdGhpcy4kLmRvbVJlcGVhdC5tb2RlbEZvckVsZW1lbnQoZXZlbnQudGFyZ2V0KS5zZXQoJ2l0ZW0uY2hlY2tlZCcsIHRydWUpO2AuCiAgICogVGhpcyBtYXkgYmUgdXNlZnVsIGZvciBtYW5pcHVsYXRpbmcgaW5zdGFuY2UgZGF0YSBvZiBldmVudCB0YXJnZXRzIG9idGFpbmVkCiAgICogYnkgZXZlbnQgaGFuZGxlcnMgb24gcGFyZW50cyBvZiB0aGUgYGRvbS1yZXBlYXRgIChldmVudCBkZWxlZ2F0aW9uKS4KICAgKgogICAqIEEgdmlldy1zcGVjaWZpYyBmaWx0ZXIvc29ydCBtYXkgYmUgYXBwbGllZCB0byBlYWNoIGBkb20tcmVwZWF0YCBieSBzdXBwbHlpbmcgYQogICAqIGBmaWx0ZXJgIGFuZC9vciBgc29ydGAgcHJvcGVydHkuICBUaGlzIG1heSBiZSBhIHN0cmluZyB0aGF0IG5hbWVzIGEgZnVuY3Rpb24gb24KICAgKiB0aGUgaG9zdCwgb3IgYSBmdW5jdGlvbiBtYXkgYmUgYXNzaWduZWQgdG8gdGhlIHByb3BlcnR5IGRpcmVjdGx5LiAgVGhlIGZ1bmN0aW9ucwogICAqIHNob3VsZCBpbXBsZW1lbnRlZCBmb2xsb3dpbmcgdGhlIHN0YW5kYXJkIGBBcnJheWAgZmlsdGVyL3NvcnQgQVBJLgogICAqCiAgICogSW4gb3JkZXIgdG8gcmUtcnVuIHRoZSBmaWx0ZXIgb3Igc29ydCBmdW5jdGlvbnMgYmFzZWQgb24gY2hhbmdlcyB0byBzdWItZmllbGRzCiAgICogb2YgYGl0ZW1zYCwgdGhlIGBvYnNlcnZlYCBwcm9wZXJ0eSBtYXkgYmUgc2V0IGFzIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YKICAgKiBgaXRlbWAgc3ViLWZpZWxkcyB0aGF0IHNob3VsZCBjYXVzZSBhIHJlLWZpbHRlci9zb3J0IHdoZW4gbW9kaWZpZWQuICBJZgogICAqIHRoZSBmaWx0ZXIgb3Igc29ydCBmdW5jdGlvbiBkZXBlbmRzIG9uIHByb3BlcnRpZXMgbm90IGNvbnRhaW5lZCBpbiBgaXRlbXNgLAogICAqIHRoZSB1c2VyIHNob3VsZCBvYnNlcnZlIGNoYW5nZXMgdG8gdGhvc2UgcHJvcGVydGllcyBhbmQgY2FsbCBgcmVuZGVyYCB0byB1cGRhdGUKICAgKiB0aGUgdmlldyBiYXNlZCBvbiB0aGUgZGVwZW5kZW5jeSBjaGFuZ2UuCiAgICoKICAgKiBGb3IgZXhhbXBsZSwgZm9yIGFuIGBkb20tcmVwZWF0YCB3aXRoIGEgZmlsdGVyIG9mIHRoZSBmb2xsb3dpbmc6CiAgICoKICAgKiBgYGBqcwogICAqIGlzRW5naW5lZXIoaXRlbSkgewogICAqICAgcmV0dXJuIGl0ZW0udHlwZSA9PSAnZW5naW5lZXInIHx8IGl0ZW0ubWFuYWdlci50eXBlID09ICdlbmdpbmVlcic7CiAgICogfQogICAqIGBgYAogICAqCiAgICogVGhlbiB0aGUgYG9ic2VydmVgIHByb3BlcnR5IHNob3VsZCBiZSBjb25maWd1cmVkIGFzIGZvbGxvd3M6CiAgICoKICAgKiBgYGBodG1sCiAgICogPGRvbS1yZXBlYXQgaXRlbXM9Int7ZW1wbG95ZWVzfX0iIGZpbHRlcj0iaXNFbmdpbmVlciIgb2JzZXJ2ZT0idHlwZSBtYW5hZ2VyLnR5cGUiPgogICAqIGBgYAogICAqCiAgICogQGN1c3RvbUVsZW1lbnQKICAgKiBAcG9seW1lcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQGV4dGVuZHMge2RvbVJlcGVhdEJhc2V9CiAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCBmb3Igc3RhbXBpbmcgaW5zdGFuY2Ugb2YgYSB0ZW1wbGF0ZSBib3VuZCB0bwogICAqICAgaXRlbXMgaW4gYW4gYXJyYXkuCiAgICovCiAgY2xhc3MgRG9tUmVwZWF0IGV4dGVuZHMgZG9tUmVwZWF0QmFzZSB7CgogICAgLy8gTm90IG5lZWRlZCB0byBmaW5kIHRlbXBsYXRlOyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoZSBhbmFseXplcgogICAgLy8gY2FuIGZpbmQgdGhlIHRhZyBuYW1lIGZyb20gY3VzdG9tRWxlbWVudHMuZGVmaW5lIGNhbGwKICAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZG9tLXJlcGVhdCc7IH0KCiAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgeyByZXR1cm4gbnVsbDsgfQoKICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKCiAgICAgIC8qKgogICAgICAgKiBGaXJlZCB3aGVuZXZlciBET00gaXMgYWRkZWQgb3IgcmVtb3ZlZCBieSB0aGlzIHRlbXBsYXRlIChieQogICAgICAgKiBkZWZhdWx0LCByZW5kZXJpbmcgb2NjdXJzIGxhemlseSkuICBUbyBmb3JjZSBpbW1lZGlhdGUgcmVuZGVyaW5nLCBjYWxsCiAgICAgICAqIGByZW5kZXJgLgogICAgICAgKgogICAgICAgKiBAZXZlbnQgZG9tLWNoYW5nZQogICAgICAgKi8KICAgICAgcmV0dXJuIHsKCiAgICAgICAgLyoqCiAgICAgICAgICogQW4gYXJyYXkgY29udGFpbmluZyBpdGVtcyBkZXRlcm1pbmluZyBob3cgbWFueSBpbnN0YW5jZXMgb2YgdGhlIHRlbXBsYXRlCiAgICAgICAgICogdG8gc3RhbXAgYW5kIHRoYXQgdGhhdCBlYWNoIHRlbXBsYXRlIGluc3RhbmNlIHNob3VsZCBiaW5kIHRvLgogICAgICAgICAqLwogICAgICAgIGl0ZW1zOiB7CiAgICAgICAgICB0eXBlOiBBcnJheQogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBhZGQgdG8gdGhlIGJpbmRpbmcgc2NvcGUgZm9yIHRoZSBhcnJheQogICAgICAgICAqIGVsZW1lbnQgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgICAgICovCiAgICAgICAgYXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaXRlbScKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYWRkIHRvIHRoZSBiaW5kaW5nIHNjb3BlIHdpdGggdGhlIGluZGV4CiAgICAgICAgICogb2YgdGhlIGluc3RhbmNlIGluIHRoZSBzb3J0ZWQgYW5kIGZpbHRlcmVkIGxpc3Qgb2YgcmVuZGVyZWQgaXRlbXMuCiAgICAgICAgICogTm90ZSwgZm9yIHRoZSBpbmRleCBpbiB0aGUgYHRoaXMuaXRlbXNgIGFycmF5LCB1c2UgdGhlIHZhbHVlIG9mIHRoZQogICAgICAgICAqIGBpdGVtc0luZGV4QXNgIHByb3BlcnR5LgogICAgICAgICAqLwogICAgICAgIGluZGV4QXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaW5kZXgnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFkZCB0byB0aGUgYmluZGluZyBzY29wZSB3aXRoIHRoZSBpbmRleAogICAgICAgICAqIG9mIHRoZSBpbnN0YW5jZSBpbiB0aGUgYHRoaXMuaXRlbXNgIGFycmF5LiBOb3RlLCBmb3IgdGhlIGluZGV4IG9mCiAgICAgICAgICogdGhpcyBpbnN0YW5jZSBpbiB0aGUgc29ydGVkIGFuZCBmaWx0ZXJlZCBsaXN0IG9mIHJlbmRlcmVkIGl0ZW1zLAogICAgICAgICAqIHVzZSB0aGUgdmFsdWUgb2YgdGhlIGBpbmRleEFzYCBwcm9wZXJ0eS4KICAgICAgICAgKi8KICAgICAgICBpdGVtc0luZGV4QXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaXRlbXNJbmRleCcKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGRldGVybWluZSB0aGUgc29ydCBvcmRlciBvZiB0aGUgaXRlbXMuICBUaGlzCiAgICAgICAgICogcHJvcGVydHkgc2hvdWxkIGVpdGhlciBiZSBwcm92aWRlZCBhcyBhIHN0cmluZywgaW5kaWNhdGluZyBhIG1ldGhvZAogICAgICAgICAqIG5hbWUgb24gdGhlIGVsZW1lbnQncyBob3N0LCBvciBlbHNlIGJlIGFuIGFjdHVhbCBmdW5jdGlvbi4gIFRoZQogICAgICAgICAqIGZ1bmN0aW9uIHNob3VsZCBtYXRjaCB0aGUgc29ydCBmdW5jdGlvbiBwYXNzZWQgdG8gYEFycmF5LnNvcnRgLgogICAgICAgICAqIFVzaW5nIGEgc29ydCBmdW5jdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSB1bmRlcmx5aW5nIGBpdGVtc2AgYXJyYXkuCiAgICAgICAgICovCiAgICAgICAgc29ydDogewogICAgICAgICAgdHlwZTogRnVuY3Rpb24sCiAgICAgICAgICBvYnNlcnZlcjogJ19fc29ydENoYW5nZWQnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogQSBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBpdGVtcyBvdXQgb2YgdGhlIHZpZXcuICBUaGlzCiAgICAgICAgICogcHJvcGVydHkgc2hvdWxkIGVpdGhlciBiZSBwcm92aWRlZCBhcyBhIHN0cmluZywgaW5kaWNhdGluZyBhIG1ldGhvZAogICAgICAgICAqIG5hbWUgb24gdGhlIGVsZW1lbnQncyBob3N0LCBvciBlbHNlIGJlIGFuIGFjdHVhbCBmdW5jdGlvbi4gIFRoZQogICAgICAgICAqIGZ1bmN0aW9uIHNob3VsZCBtYXRjaCB0aGUgc29ydCBmdW5jdGlvbiBwYXNzZWQgdG8gYEFycmF5LmZpbHRlcmAuCiAgICAgICAgICogVXNpbmcgYSBmaWx0ZXIgZnVuY3Rpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgdW5kZXJseWluZyBgaXRlbXNgIGFycmF5LgogICAgICAgICAqLwogICAgICAgIGZpbHRlcjogewogICAgICAgICAgdHlwZTogRnVuY3Rpb24sCiAgICAgICAgICBvYnNlcnZlcjogJ19fZmlsdGVyQ2hhbmdlZCcKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBXaGVuIHVzaW5nIGEgYGZpbHRlcmAgb3IgYHNvcnRgIGZ1bmN0aW9uLCB0aGUgYG9ic2VydmVgIHByb3BlcnR5CiAgICAgICAgICogc2hvdWxkIGJlIHNldCB0byBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoZSBuYW1lcyBvZiBpdGVtCiAgICAgICAgICogc3ViLWZpZWxkcyB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcmUtc29ydCBvciByZS1maWx0ZXIgd2hlbiBjaGFuZ2VkLgogICAgICAgICAqIFRoZXNlIHNob3VsZCBnZW5lcmFsbHkgYmUgZmllbGRzIG9mIGBpdGVtYCB0aGF0IHRoZSBzb3J0IG9yIGZpbHRlcgogICAgICAgICAqIGZ1bmN0aW9uIGRlcGVuZHMgb24uCiAgICAgICAgICovCiAgICAgICAgb2JzZXJ2ZTogewogICAgICAgICAgdHlwZTogU3RyaW5nLAogICAgICAgICAgb2JzZXJ2ZXI6ICdfX29ic2VydmVDaGFuZ2VkJwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFdoZW4gdXNpbmcgYSBgZmlsdGVyYCBvciBgc29ydGAgZnVuY3Rpb24sIHRoZSBgZGVsYXlgIHByb3BlcnR5CiAgICAgICAgICogZGV0ZXJtaW5lcyBhIGRlYm91bmNlIHRpbWUgaW4gbXMgYWZ0ZXIgYSBjaGFuZ2UgdG8gb2JzZXJ2ZWQgaXRlbQogICAgICAgICAqIHByb3BlcnRpZXMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBmaWx0ZXIgb3Igc29ydCBpcyByZS1ydW4uCiAgICAgICAgICogVGhpcyBpcyB1c2VmdWwgaW4gcmF0ZS1saW1pdGluZyBzaHVmZmxpbmcgb2YgdGhlIHZpZXcgd2hlbgogICAgICAgICAqIGl0ZW0gY2hhbmdlcyBtYXkgYmUgZnJlcXVlbnQuCiAgICAgICAgICovCiAgICAgICAgZGVsYXk6IE51bWJlciwKCiAgICAgICAgLyoqCiAgICAgICAgICogQ291bnQgb2YgY3VycmVudGx5IHJlbmRlcmVkIGl0ZW1zIGFmdGVyIGBmaWx0ZXJgIChpZiBhbnkpIGhhcyBiZWVuIGFwcGxpZWQuCiAgICAgICAgICogSWYgImNodW5raW5nIG1vZGUiIGlzIGVuYWJsZWQsIGByZW5kZXJlZEl0ZW1Db3VudGAgaXMgdXBkYXRlZCBlYWNoIHRpbWUgYQogICAgICAgICAqIHNldCBvZiB0ZW1wbGF0ZSBpbnN0YW5jZXMgaXMgcmVuZGVyZWQuCiAgICAgICAgICoKICAgICAgICAgKi8KICAgICAgICByZW5kZXJlZEl0ZW1Db3VudDogewogICAgICAgICAgdHlwZTogTnVtYmVyLAogICAgICAgICAgbm90aWZ5OiB0cnVlLAogICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGFuIGluaXRpYWwgY291bnQgb2YgdGVtcGxhdGUgaW5zdGFuY2VzIHRvIHJlbmRlciBhZnRlciBzZXR0aW5nCiAgICAgICAgICogdGhlIGBpdGVtc2AgYXJyYXksIGJlZm9yZSB0aGUgbmV4dCBwYWludCwgYW5kIHB1dHMgdGhlIGBkb20tcmVwZWF0YAogICAgICAgICAqIGludG8gImNodW5raW5nIG1vZGUiLiAgVGhlIHJlbWFpbmluZyBpdGVtcyB3aWxsIGJlIGNyZWF0ZWQgYW5kIHJlbmRlcmVkCiAgICAgICAgICogaW5jcmVtZW50YWxseSBhdCBlYWNoIGFuaW1hdGlvbiBmcmFtZSB0aGVyb2YgdW50aWwgYWxsIGluc3RhbmNlcyBoYXZlCiAgICAgICAgICogYmVlbiByZW5kZXJlZC4KICAgICAgICAgKi8KICAgICAgICBpbml0aWFsQ291bnQ6IHsKICAgICAgICAgIHR5cGU6IE51bWJlciwKICAgICAgICAgIG9ic2VydmVyOiAnX19pbml0aWFsaXplQ2h1bmtpbmcnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogV2hlbiBgaW5pdGlhbENvdW50YCBpcyB1c2VkLCB0aGlzIHByb3BlcnR5IGRlZmluZXMgYSBmcmFtZSByYXRlIChpbgogICAgICAgICAqIGZwcykgdG8gdGFyZ2V0IGJ5IHRocm90dGxpbmcgdGhlIG51bWJlciBvZiBpbnN0YW5jZXMgcmVuZGVyZWQgZWFjaAogICAgICAgICAqIGZyYW1lIHRvIG5vdCBleGNlZWQgdGhlIGJ1ZGdldCBmb3IgdGhlIHRhcmdldCBmcmFtZSByYXRlLiAgVGhlCiAgICAgICAgICogZnJhbWVyYXRlIGlzIGVmZmVjdGl2ZWx5IHRoZSBudW1iZXIgb2YgYHJlcXVlc3RBbmltYXRpb25GcmFtZWBzIHRoYXQKICAgICAgICAgKiBpdCB0cmllcyB0byBhbGxvdyB0byBhY3R1YWxseSBmaXJlIGluIGEgZ2l2ZW4gc2Vjb25kLiBJdCBkb2VzIHRoaXMKICAgICAgICAgKiBieSBtZWFzdXJpbmcgdGhlIHRpbWUgYmV0d2VlbiBgckFGYHMgYW5kIGNvbnRpbnVvdXNseSBhZGp1c3RpbmcgdGhlCiAgICAgICAgICogbnVtYmVyIG9mIGl0ZW1zIGNyZWF0ZWQgZWFjaCBgckFGYCB0byBtYWludGFpbiB0aGUgdGFyZ2V0IGZyYW1lcmF0ZS4KICAgICAgICAgKiBTZXR0aW5nIHRoaXMgdG8gYSBoaWdoZXIgbnVtYmVyIGFsbG93cyBsb3dlciBsYXRlbmN5IGFuZCBoaWdoZXIKICAgICAgICAgKiB0aHJvdWdocHV0IGZvciBldmVudCBoYW5kbGVycyBhbmQgb3RoZXIgdGFza3MsIGJ1dCByZXN1bHRzIGluIGEKICAgICAgICAgKiBsb25nZXIgdGltZSBmb3IgdGhlIHJlbWFpbmluZyBpdGVtcyB0byBjb21wbGV0ZSByZW5kZXJpbmcuCiAgICAgICAgICovCiAgICAgICAgdGFyZ2V0RnJhbWVyYXRlOiB7CiAgICAgICAgICB0eXBlOiBOdW1iZXIsCiAgICAgICAgICB2YWx1ZTogMjAKICAgICAgICB9LAoKICAgICAgICBfdGFyZ2V0RnJhbWVUaW1lOiB7CiAgICAgICAgICB0eXBlOiBOdW1iZXIsCiAgICAgICAgICBjb21wdXRlZDogJ19fY29tcHV0ZUZyYW1lVGltZSh0YXJnZXRGcmFtZXJhdGUpJwogICAgICAgIH0KCiAgICAgIH07CgogICAgfQoKICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCkgewogICAgICByZXR1cm4gWyAnX19pdGVtc0NoYW5nZWQoaXRlbXMuKiknIF07CiAgICB9CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIHRoaXMuX19pbnN0YW5jZXMgPSBbXTsKICAgICAgdGhpcy5fX2xpbWl0ID0gSW5maW5pdHk7CiAgICAgIHRoaXMuX19wb29sID0gW107CiAgICAgIHRoaXMuX19yZW5kZXJEZWJvdW5jZXIgPSBudWxsOwogICAgICB0aGlzLl9faXRlbXNJZHhUb0luc3RJZHggPSB7fTsKICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSBudWxsOwogICAgICB0aGlzLl9fbGFzdENodW5rVGltZSA9IG51bGw7CiAgICAgIHRoaXMuX19zb3J0Rm4gPSBudWxsOwogICAgICB0aGlzLl9fZmlsdGVyRm4gPSBudWxsOwogICAgICB0aGlzLl9fb2JzZXJ2ZVBhdGhzID0gbnVsbDsKICAgICAgdGhpcy5fX2N0b3IgPSBudWxsOwogICAgICB0aGlzLl9faXNEZXRhY2hlZCA9IHRydWU7CiAgICAgIHRoaXMudGVtcGxhdGUgPSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgIHRoaXMuX19pc0RldGFjaGVkID0gdHJ1ZTsKICAgICAgZm9yIChsZXQgaT0wOyBpPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB0aGlzLl9fZGV0YWNoSW5zdGFuY2UoaSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICB0aGlzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgIC8vIG9ubHkgcGVyZm9ybSBhdHRhY2htZW50IGlmIHRoZSBlbGVtZW50IHdhcyBwcmV2aW91c2x5IGRldGFjaGVkLgogICAgICBpZiAodGhpcy5fX2lzRGV0YWNoZWQpIHsKICAgICAgICB0aGlzLl9faXNEZXRhY2hlZCA9IGZhbHNlOwogICAgICAgIGxldCBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHRoaXMuX19hdHRhY2hJbnN0YW5jZShpLCBwYXJlbnQpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIF9fZW5zdXJlVGVtcGxhdGl6ZWQoKSB7CiAgICAgIC8vIFRlbXBsYXRpemluZyAoZ2VuZXJhdGluZyB0aGUgaW5zdGFuY2UgY29uc3RydWN0b3IpIG5lZWRzIHRvIHdhaXQKICAgICAgLy8gdW50aWwgcmVhZHksIHNpbmNlIHdvbid0IGhhdmUgaXRzIHRlbXBsYXRlIGNvbnRlbnQgaGFuZGVkIGJhY2sgdG8KICAgICAgLy8gaXQgdW50aWwgdGhlbgogICAgICBpZiAoIXRoaXMuX19jdG9yKSB7CiAgICAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZSA9IC8qKiBAdHlwZSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gKi8odGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKTsKICAgICAgICBpZiAoIXRlbXBsYXRlKSB7CiAgICAgICAgICAvLyAvLyBXYWl0IHVudGlsIGNoaWxkTGlzdCBjaGFuZ2VzIGFuZCB0ZW1wbGF0ZSBzaG91bGQgYmUgdGhlcmUgYnkgdGhlbgogICAgICAgICAgbGV0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gewogICAgICAgICAgICBpZiAodGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgIHRoaXMuX19yZW5kZXIoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RvbS1yZXBlYXQgcmVxdWlyZXMgYSA8dGVtcGxhdGU+IGNoaWxkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7Y2hpbGRMaXN0OiB0cnVlfSk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIC8vIFRlbXBsYXRlIGluc3RhbmNlIHByb3BzIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gZm9yd2FyZGluZwogICAgICAgIGxldCBpbnN0YW5jZVByb3BzID0ge307CiAgICAgICAgaW5zdGFuY2VQcm9wc1t0aGlzLmFzXSA9IHRydWU7CiAgICAgICAgaW5zdGFuY2VQcm9wc1t0aGlzLmluZGV4QXNdID0gdHJ1ZTsKICAgICAgICBpbnN0YW5jZVByb3BzW3RoaXMuaXRlbXNJbmRleEFzXSA9IHRydWU7CiAgICAgICAgdGhpcy5fX2N0b3IgPSBQb2x5bWVyLlRlbXBsYXRpemUudGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgdGhpcywgewogICAgICAgICAgbXV0YWJsZURhdGE6IHRoaXMubXV0YWJsZURhdGEsCiAgICAgICAgICBwYXJlbnRNb2RlbDogdHJ1ZSwKICAgICAgICAgIGluc3RhbmNlUHJvcHM6IGluc3RhbmNlUHJvcHMsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEB0aGlzIHt0aGlzfQogICAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgdG8gc2V0CiAgICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldCBwcm9wZXJ0eSB0bwogICAgICAgICAgICovCiAgICAgICAgICBmb3J3YXJkSG9zdFByb3A6IGZ1bmN0aW9uKHByb3AsIHZhbHVlKSB7CiAgICAgICAgICAgIGxldCBpJCA9IHRoaXMuX19pbnN0YW5jZXM7CiAgICAgICAgICAgIGZvciAobGV0IGk9MCwgaW5zdDsgKGk8aSQubGVuZ3RoKSAmJiAoaW5zdD1pJFtpXSk7IGkrKykgewogICAgICAgICAgICAgIGluc3QuZm9yd2FyZEhvc3RQcm9wKHByb3AsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIC8qKgogICAgICAgICAgICogQHRoaXMge3RoaXN9CiAgICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gaW5zdCBJbnN0YW5jZSB0byBub3RpZnkKICAgICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IHRvIG5vdGlmeQogICAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBub3RpZnkKICAgICAgICAgICAqLwogICAgICAgICAgbm90aWZ5SW5zdGFuY2VQcm9wOiBmdW5jdGlvbihpbnN0LCBwcm9wLCB2YWx1ZSkgewogICAgICAgICAgICBpZiAoUG9seW1lci5QYXRoLm1hdGNoZXModGhpcy5hcywgcHJvcCkpIHsKICAgICAgICAgICAgICBsZXQgaWR4ID0gaW5zdFt0aGlzLml0ZW1zSW5kZXhBc107CiAgICAgICAgICAgICAgaWYgKHByb3AgPT0gdGhpcy5hcykgewogICAgICAgICAgICAgICAgdGhpcy5pdGVtc1tpZHhdID0gdmFsdWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGxldCBwYXRoID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZSh0aGlzLmFzLCAnaXRlbXMuJyArIGlkeCwgcHJvcCk7CiAgICAgICAgICAgICAgdGhpcy5ub3RpZnlQYXRoKHBhdGgsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIF9fZ2V0TWV0aG9kSG9zdCgpIHsKICAgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBzaG91bGQgYmUgdGhlIG93bmVyIG9mIHRoZSBvdXRlcm1vc3QgdGVtcGxhdGUuCiAgICAgIC8vIEluIHNoYWRvdyBkb20sIHRoaXMgaXMgYWx3YXlzIGdldFJvb3ROb2RlKCkuaG9zdCwgYnV0IHdlIGNhbgogICAgICAvLyBhcHByb3hpbWF0ZSB0aGlzIHZpYSBjb29wZXJhdGlvbiB3aXRoIG91ciBkYXRhSG9zdCBhbHdheXMgc2V0dGluZwogICAgICAvLyBgX21ldGhvZEhvc3RgIGFzIGxvbmcgYXMgdGhlcmUgd2VyZSBiaW5kaW5ncyAob3IgaWQncykgb24gdGhpcwogICAgICAvLyBpbnN0YW5jZSBjYXVzaW5nIGl0IHRvIGdldCBhIGRhdGFIb3N0LgogICAgICByZXR1cm4gdGhpcy5fX2RhdGFIb3N0Ll9tZXRob2RIb3N0IHx8IHRoaXMuX19kYXRhSG9zdDsKICAgIH0KCiAgICBfX2Z1bmN0aW9uRnJvbVByb3BlcnR5VmFsdWUoZnVuY3Rpb25Pck1ldGhvZE5hbWUpIHsKICAgICAgaWYgKHR5cGVvZiBmdW5jdGlvbk9yTWV0aG9kTmFtZSA9PT0gJ3N0cmluZycpIHsKICAgICAgICBsZXQgbWV0aG9kTmFtZSA9IGZ1bmN0aW9uT3JNZXRob2ROYW1lOwogICAgICAgIGxldCBvYmogPSB0aGlzLl9fZ2V0TWV0aG9kSG9zdCgpOwogICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIG9ialttZXRob2ROYW1lXS5hcHBseShvYmosIGFyZ3VtZW50cyk7IH07CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbk9yTWV0aG9kTmFtZTsKICAgIH0KCiAgICBfX3NvcnRDaGFuZ2VkKHNvcnQpIHsKICAgICAgdGhpcy5fX3NvcnRGbiA9IHRoaXMuX19mdW5jdGlvbkZyb21Qcm9wZXJ0eVZhbHVlKHNvcnQpOwogICAgICBpZiAodGhpcy5pdGVtcykgeyB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcik7IH0KICAgIH0KCiAgICBfX2ZpbHRlckNoYW5nZWQoZmlsdGVyKSB7CiAgICAgIHRoaXMuX19maWx0ZXJGbiA9IHRoaXMuX19mdW5jdGlvbkZyb21Qcm9wZXJ0eVZhbHVlKGZpbHRlcik7CiAgICAgIGlmICh0aGlzLml0ZW1zKSB7IHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyKTsgfQogICAgfQoKICAgIF9fY29tcHV0ZUZyYW1lVGltZShyYXRlKSB7CiAgICAgIHJldHVybiBNYXRoLmNlaWwoMTAwMC9yYXRlKTsKICAgIH0KCiAgICBfX2luaXRpYWxpemVDaHVua2luZygpIHsKICAgICAgaWYgKHRoaXMuaW5pdGlhbENvdW50KSB7CiAgICAgICAgdGhpcy5fX2xpbWl0ID0gdGhpcy5pbml0aWFsQ291bnQ7CiAgICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSB0aGlzLmluaXRpYWxDb3VudDsKICAgICAgICB0aGlzLl9fbGFzdENodW5rVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgICB9CiAgICB9CgogICAgX190cnlSZW5kZXJDaHVuaygpIHsKICAgICAgLy8gRGVib3VuY2VkIHNvIHRoYXQgbXVsdGlwbGUgY2FsbHMgdGhyb3VnaCBgX3JlbmRlcmAgYmV0d2VlbiBhbmltYXRpb24KICAgICAgLy8gZnJhbWVzIG9ubHkgcXVldWUgb25lIG5ldyByQUYgKGUuZy4gYXJyYXkgbXV0YXRpb24gJiBjaHVua2VkIHJlbmRlcikKICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5fX2xpbWl0IDwgdGhpcy5pdGVtcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlcXVlc3RSZW5kZXJDaHVuayk7CiAgICAgIH0KICAgIH0KCiAgICBfX3JlcXVlc3RSZW5kZXJDaHVuaygpIHsKICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT50aGlzLl9fcmVuZGVyQ2h1bmsoKSk7CiAgICB9CgogICAgX19yZW5kZXJDaHVuaygpIHsKICAgICAgLy8gU2ltcGxlIGF1dG8gY2h1bmtTaXplIHRocm90dGxpbmcgYWxnb3JpdGhtIGJhc2VkIG9uIGZlZWRiYWNrIGxvb3A6CiAgICAgIC8vIG1lYXN1cmUgYWN0dWFsIHRpbWUgYmV0d2VlbiBmcmFtZXMgYW5kIHNjYWxlIGNodW5rIGNvdW50IGJ5IHJhdGlvCiAgICAgIC8vIG9mIHRhcmdldC9hY3R1YWwgZnJhbWUgdGltZQogICAgICBsZXQgY3VyckNodW5rVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgICBsZXQgcmF0aW8gPSB0aGlzLl90YXJnZXRGcmFtZVRpbWUgLyAoY3VyckNodW5rVGltZSAtIHRoaXMuX19sYXN0Q2h1bmtUaW1lKTsKICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuX19jaHVua0NvdW50ICogcmF0aW8pIHx8IDE7CiAgICAgIHRoaXMuX19saW1pdCArPSB0aGlzLl9fY2h1bmtDb3VudDsKICAgICAgdGhpcy5fX2xhc3RDaHVua1RpbWUgPSBjdXJyQ2h1bmtUaW1lOwogICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcik7CiAgICB9CgogICAgX19vYnNlcnZlQ2hhbmdlZCgpIHsKICAgICAgdGhpcy5fX29ic2VydmVQYXRocyA9IHRoaXMub2JzZXJ2ZSAmJgogICAgICAgIHRoaXMub2JzZXJ2ZS5yZXBsYWNlKCcuKicsICcuJykuc3BsaXQoJyAnKTsKICAgIH0KCiAgICBfX2l0ZW1zQ2hhbmdlZChjaGFuZ2UpIHsKICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHsKICAgICAgICBjb25zb2xlLndhcm4oJ2RvbS1yZXBlYXQgZXhwZWN0ZWQgYXJyYXkgZm9yIGBpdGVtc2AsIGZvdW5kJywgdGhpcy5pdGVtcyk7CiAgICAgIH0KICAgICAgLy8gSWYgcGF0aCB3YXMgdG8gYW4gaXRlbSAoZS5nLiAnaXRlbXMuMycgb3IgJ2l0ZW1zLjMuZm9vJyksIGZvcndhcmQgdGhlCiAgICAgIC8vIHBhdGggdG8gdGhhdCBpbnN0YW5jZSBzeW5jaHJvbm91c2x5IChyZXR1cm5zIGZhbHNlIGZvciBub24taXRlbSBwYXRocykKICAgICAgaWYgKCF0aGlzLl9faGFuZGxlSXRlbVBhdGgoY2hhbmdlLnBhdGgsIGNoYW5nZS52YWx1ZSkpIHsKICAgICAgICAvLyBPdGhlcndpc2UsIHRoZSBhcnJheSB3YXMgcmVzZXQgKCdpdGVtcycpIG9yIHNwbGljZWQgKCdpdGVtcy5zcGxpY2VzJyksCiAgICAgICAgLy8gc28gcXVldWUgYSBmdWxsIHJlZnJlc2gKICAgICAgICB0aGlzLl9faW5pdGlhbGl6ZUNodW5raW5nKCk7CiAgICAgICAgdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpOwogICAgICB9CiAgICB9CgogICAgX19oYW5kbGVPYnNlcnZlZFBhdGhzKHBhdGgpIHsKICAgICAgLy8gSGFuZGxlIGNhc2VzIHdoZXJlIHBhdGggY2hhbmdlcyBzaG91bGQgY2F1c2UgYSByZS1zb3J0L2ZpbHRlcgogICAgICBpZiAodGhpcy5fX3NvcnRGbiB8fCB0aGlzLl9fZmlsdGVyRm4pIHsKICAgICAgICBpZiAoIXBhdGgpIHsKICAgICAgICAgIC8vIEFsd2F5cyByZS1yZW5kZXIgaWYgdGhlIGl0ZW0gaXRzZWxmIGNoYW5nZWQKICAgICAgICAgIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLCB0aGlzLmRlbGF5KTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX19vYnNlcnZlUGF0aHMpIHsKICAgICAgICAgIC8vIE90aGVyd2lzZSwgcmUtcmVuZGVyIGlmIHRoZSBwYXRoIGNoYW5nZWQgbWF0Y2hlcyBhbiBvYnNlcnZlZCBwYXRoCiAgICAgICAgICBsZXQgcGF0aHMgPSB0aGlzLl9fb2JzZXJ2ZVBhdGhzOwogICAgICAgICAgZm9yIChsZXQgaT0wOyBpPHBhdGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChwYXRoLmluZGV4T2YocGF0aHNbaV0pID09PSAwKSB7CiAgICAgICAgICAgICAgdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIsIHRoaXMuZGVsYXkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKHRoaXM6RG9tUmVwZWF0KX0gZm4gRnVuY3Rpb24gdG8gZGVib3VuY2UuCiAgICAgKiBAcGFyYW0ge251bWJlcj19IGRlbGF5IERlbGF5IGluIG1zIHRvIGRlYm91bmNlIGJ5LgogICAgICovCiAgICBfX2RlYm91bmNlUmVuZGVyKGZuLCBkZWxheSA9IDApIHsKICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgICB0aGlzLl9fcmVuZGVyRGVib3VuY2VyCiAgICAgICAgICAsIGRlbGF5ID4gMCA/IFBvbHltZXIuQXN5bmMudGltZU91dC5hZnRlcihkZWxheSkgOiBQb2x5bWVyLkFzeW5jLm1pY3JvVGFzawogICAgICAgICAgLCBmbi5iaW5kKHRoaXMpKTsKICAgICAgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIpOwogICAgfQoKICAgIC8qKgogICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gTm9ybWFsbHkgcmVuZGVyaW5nIGlzCiAgICAgKiBhc3luY2hyb25vdXMgdG8gYSBwcm92b2tpbmcgY2hhbmdlLiBUaGlzIGlzIGRvbmUgZm9yIGVmZmljaWVuY3kgc28KICAgICAqIHRoYXQgbXVsdGlwbGUgY2hhbmdlcyB0cmlnZ2VyIG9ubHkgYSBzaW5nbGUgcmVuZGVyLiBUaGUgcmVuZGVyIG1ldGhvZAogICAgICogc2hvdWxkIGJlIGNhbGxlZCBpZiwgZm9yIGV4YW1wbGUsIHRlbXBsYXRlIHJlbmRlcmluZyBpcyByZXF1aXJlZCB0bwogICAgICogdmFsaWRhdGUgYXBwbGljYXRpb24gc3RhdGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZW5kZXIoKSB7CiAgICAgIC8vIFF1ZXVlIHRoaXMgcmVwZWF0ZXIsIHRoZW4gZmx1c2ggYWxsIGluIG9yZGVyCiAgICAgIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyKTsKICAgICAgUG9seW1lci5mbHVzaCgpOwogICAgfQoKICAgIF9fcmVuZGVyKCkgewogICAgICBpZiAoIXRoaXMuX19lbnN1cmVUZW1wbGF0aXplZCgpKSB7CiAgICAgICAgLy8gTm8gdGVtcGxhdGUgZm91bmQgeWV0CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuX19hcHBseUZ1bGxSZWZyZXNoKCk7CiAgICAgIC8vIFJlc2V0IHRoZSBwb29sCiAgICAgIC8vIFRPRE8oa3NjaGFhZik6IFJldXNlIHBvb2wgYWNyb3NzIHR1cm5zIGFuZCBuZXN0ZWQgdGVtcGxhdGVzCiAgICAgIC8vIE5vdyB0aGF0IG9iamVjdHMvYXJyYXlzIGFyZSByZS1ldmFsdWF0ZWQgd2hlbiBzZXQsIHdlIGNhbiBzYWZlbHkKICAgICAgLy8gcmV1c2UgcG9vbGVkIGluc3RhbmNlcyBhY3Jvc3MgdHVybnMsIGhvd2V2ZXIgd2Ugc3RpbGwgbmVlZCB0byBkZWNpZGUKICAgICAgLy8gc2VtYW50aWNzIHJlZ2FyZGluZyBob3cgbG9uZyB0byBob2xkLCBob3cgbWFueSB0byBob2xkLCBldGMuCiAgICAgIHRoaXMuX19wb29sLmxlbmd0aCA9IDA7CiAgICAgIC8vIFNldCByZW5kZXJlZCBpdGVtIGNvdW50CiAgICAgIHRoaXMuX3NldFJlbmRlcmVkSXRlbUNvdW50KHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoKTsKICAgICAgLy8gTm90aWZ5IHVzZXJzCiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgYnViYmxlczogdHJ1ZSwKICAgICAgICBjb21wb3NlZDogdHJ1ZQogICAgICB9KSk7CiAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHJlbmRlciBtb3JlIGl0ZW1zCiAgICAgIHRoaXMuX190cnlSZW5kZXJDaHVuaygpOwogICAgfQoKICAgIF9fYXBwbHlGdWxsUmVmcmVzaCgpIHsKICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtcyB8fCBbXTsKICAgICAgbGV0IGlzbnRJZHhUb0l0ZW1zSWR4ID0gbmV3IEFycmF5KGl0ZW1zLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IGk9MDsgaTxpdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgIGlzbnRJZHhUb0l0ZW1zSWR4W2ldID0gaTsKICAgICAgfQogICAgICAvLyBBcHBseSB1c2VyIGZpbHRlcgogICAgICBpZiAodGhpcy5fX2ZpbHRlckZuKSB7CiAgICAgICAgaXNudElkeFRvSXRlbXNJZHggPSBpc250SWR4VG9JdGVtc0lkeC5maWx0ZXIoKGksIGlkeCwgYXJyYXkpID0+CiAgICAgICAgICB0aGlzLl9fZmlsdGVyRm4oaXRlbXNbaV0sIGlkeCwgYXJyYXkpKTsKICAgICAgfQogICAgICAvLyBBcHBseSB1c2VyIHNvcnQKICAgICAgaWYgKHRoaXMuX19zb3J0Rm4pIHsKICAgICAgICBpc250SWR4VG9JdGVtc0lkeC5zb3J0KChhLCBiKSA9PiB0aGlzLl9fc29ydEZuKGl0ZW1zW2FdLCBpdGVtc1tiXSkpOwogICAgICB9CiAgICAgIC8vIGl0ZW1zLT5pbnN0IG1hcCBrZXB0IGZvciBpdGVtIHBhdGggZm9yd2FyZGluZwogICAgICBjb25zdCBpdGVtc0lkeFRvSW5zdElkeCA9IHRoaXMuX19pdGVtc0lkeFRvSW5zdElkeCA9IHt9OwogICAgICBsZXQgaW5zdElkeCA9IDA7CiAgICAgIC8vIEdlbmVyYXRlIGluc3RhbmNlcyBhbmQgYXNzaWduIGl0ZW1zCiAgICAgIGNvbnN0IGxpbWl0ID0gTWF0aC5taW4oaXNudElkeFRvSXRlbXNJZHgubGVuZ3RoLCB0aGlzLl9fbGltaXQpOwogICAgICBmb3IgKDsgaW5zdElkeDxsaW1pdDsgaW5zdElkeCsrKSB7CiAgICAgICAgbGV0IGluc3QgPSB0aGlzLl9faW5zdGFuY2VzW2luc3RJZHhdOwogICAgICAgIGxldCBpdGVtSWR4ID0gaXNudElkeFRvSXRlbXNJZHhbaW5zdElkeF07CiAgICAgICAgbGV0IGl0ZW0gPSBpdGVtc1tpdGVtSWR4XTsKICAgICAgICBpdGVtc0lkeFRvSW5zdElkeFtpdGVtSWR4XSA9IGluc3RJZHg7CiAgICAgICAgaWYgKGluc3QpIHsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eSh0aGlzLmFzLCBpdGVtKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eSh0aGlzLmluZGV4QXMsIGluc3RJZHgpOwogICAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaXRlbXNJbmRleEFzLCBpdGVtSWR4KTsKICAgICAgICAgIGluc3QuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLl9faW5zZXJ0SW5zdGFuY2UoaXRlbSwgaW5zdElkeCwgaXRlbUlkeCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFJlbW92ZSBhbnkgZXh0cmEgaW5zdGFuY2VzIGZyb20gcHJldmlvdXMgc3RhdGUKICAgICAgZm9yIChsZXQgaT10aGlzLl9faW5zdGFuY2VzLmxlbmd0aC0xOyBpPj1pbnN0SWR4OyBpLS0pIHsKICAgICAgICB0aGlzLl9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UoaSk7CiAgICAgIH0KICAgIH0KCiAgICBfX2RldGFjaEluc3RhbmNlKGlkeCkgewogICAgICBsZXQgaW5zdCA9IHRoaXMuX19pbnN0YW5jZXNbaWR4XTsKICAgICAgZm9yIChsZXQgaT0wOyBpPGluc3QuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgZWwgPSBpbnN0LmNoaWxkcmVuW2ldOwogICAgICAgIGluc3Qucm9vdC5hcHBlbmRDaGlsZChlbCk7CiAgICAgIH0KICAgICAgcmV0dXJuIGluc3Q7CiAgICB9CgogICAgX19hdHRhY2hJbnN0YW5jZShpZHgsIHBhcmVudCkgewogICAgICBsZXQgaW5zdCA9IHRoaXMuX19pbnN0YW5jZXNbaWR4XTsKICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShpbnN0LnJvb3QsIHRoaXMpOwogICAgfQoKICAgIF9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UoaWR4KSB7CiAgICAgIGxldCBpbnN0ID0gdGhpcy5fX2RldGFjaEluc3RhbmNlKGlkeCk7CiAgICAgIGlmIChpbnN0KSB7CiAgICAgICAgdGhpcy5fX3Bvb2wucHVzaChpbnN0KTsKICAgICAgfQogICAgICB0aGlzLl9faW5zdGFuY2VzLnNwbGljZShpZHgsIDEpOwogICAgfQoKICAgIF9fc3RhbXBJbnN0YW5jZShpdGVtLCBpbnN0SWR4LCBpdGVtSWR4KSB7CiAgICAgIGxldCBtb2RlbCA9IHt9OwogICAgICBtb2RlbFt0aGlzLmFzXSA9IGl0ZW07CiAgICAgIG1vZGVsW3RoaXMuaW5kZXhBc10gPSBpbnN0SWR4OwogICAgICBtb2RlbFt0aGlzLml0ZW1zSW5kZXhBc10gPSBpdGVtSWR4OwogICAgICByZXR1cm4gbmV3IHRoaXMuX19jdG9yKG1vZGVsKTsKICAgIH0KCiAgICBfX2luc2VydEluc3RhbmNlKGl0ZW0sIGluc3RJZHgsIGl0ZW1JZHgpIHsKICAgICAgbGV0IGluc3QgPSB0aGlzLl9fcG9vbC5wb3AoKTsKICAgICAgaWYgKGluc3QpIHsKICAgICAgICAvLyBUT0RPKGtzY2hhYWYpOiBJZiB0aGUgcG9vbCBpcyBzaGFyZWQgYWNyb3NzIHR1cm5zLCBob3N0UHJvcHMKICAgICAgICAvLyBuZWVkIHRvIGJlIHJlLXNldCB0byByZXVzZWQgaW5zdGFuY2VzIGluIGFkZGl0aW9uIHRvIGl0ZW0KICAgICAgICBpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHkodGhpcy5hcywgaXRlbSk7CiAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaW5kZXhBcywgaW5zdElkeCk7CiAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaXRlbXNJbmRleEFzLCBpdGVtSWR4KTsKICAgICAgICBpbnN0Ll9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbnN0ID0gdGhpcy5fX3N0YW1wSW5zdGFuY2UoaXRlbSwgaW5zdElkeCwgaXRlbUlkeCk7CiAgICAgIH0KICAgICAgbGV0IGJlZm9yZVJvdyA9IHRoaXMuX19pbnN0YW5jZXNbaW5zdElkeCArIDFdOwogICAgICBsZXQgYmVmb3JlTm9kZSA9IGJlZm9yZVJvdyA/IGJlZm9yZVJvdy5jaGlsZHJlblswXSA6IHRoaXM7CiAgICAgIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdC5yb290LCBiZWZvcmVOb2RlKTsKICAgICAgdGhpcy5fX2luc3RhbmNlc1tpbnN0SWR4XSA9IGluc3Q7CiAgICAgIHJldHVybiBpbnN0OwogICAgfQoKICAgIC8vIEltcGxlbWVudHMgZXh0ZW5zaW9uIHBvaW50IGZyb20gVGVtcGxhdGl6ZSBtaXhpbgogICAgLyoqCiAgICAgKiBTaG93cyBvciBoaWRlcyB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdG9wIGxldmVsIGNoaWxkIGVsZW1lbnRzLiBGb3IKICAgICAqIHRleHQgbm9kZXMsIGB0ZXh0Q29udGVudGAgaXMgcmVtb3ZlZCB3aGlsZSAiaGlkZGVuIiBhbmQgcmVwbGFjZWQgd2hlbgogICAgICogInNob3duLiIKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZGVuIFNldCB0byB0cnVlIHRvIGhpZGUgdGhlIGNoaWxkcmVuOwogICAgICogc2V0IHRvIGZhbHNlIHRvIHNob3cgdGhlbS4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIF9zaG93SGlkZUNoaWxkcmVuKGhpZGRlbikgewogICAgICBmb3IgKGxldCBpPTA7IGk8dGhpcy5fX2luc3RhbmNlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHRoaXMuX19pbnN0YW5jZXNbaV0uX3Nob3dIaWRlQ2hpbGRyZW4oaGlkZGVuKTsKICAgICAgfQogICAgfQoKICAgIC8vIENhbGxlZCBhcyBhIHNpZGUgZWZmZWN0IG9mIGEgaG9zdCBpdGVtcy48a2V5Pi48cGF0aD4gcGF0aCBjaGFuZ2UsCiAgICAvLyByZXNwb25zaWJsZSBmb3Igbm90aWZ5aW5nIGl0ZW0uPHBhdGg+IGNoYW5nZXMgdG8gaW5zdCBmb3Iga2V5CiAgICBfX2hhbmRsZUl0ZW1QYXRoKHBhdGgsIHZhbHVlKSB7CiAgICAgIGxldCBpdGVtc1BhdGggPSBwYXRoLnNsaWNlKDYpOyAvLyAnaXRlbXMuJy5sZW5ndGggPT0gNgogICAgICBsZXQgZG90ID0gaXRlbXNQYXRoLmluZGV4T2YoJy4nKTsKICAgICAgbGV0IGl0ZW1zSWR4ID0gZG90IDwgMCA/IGl0ZW1zUGF0aCA6IGl0ZW1zUGF0aC5zdWJzdHJpbmcoMCwgZG90KTsKICAgICAgLy8gSWYgcGF0aCB3YXMgaW5kZXggaW50byBhcnJheS4uLgogICAgICBpZiAoaXRlbXNJZHggPT0gcGFyc2VJbnQoaXRlbXNJZHgsIDEwKSkgewogICAgICAgIGxldCBpdGVtU3ViUGF0aCA9IGRvdCA8IDAgPyAnJyA6IGl0ZW1zUGF0aC5zdWJzdHJpbmcoZG90KzEpOwogICAgICAgIC8vIElmIHRoZSBwYXRoIGlzIG9ic2VydmVkLCBpdCB3aWxsIHRyaWdnZXIgYSBmdWxsIHJlZnJlc2gKICAgICAgICB0aGlzLl9faGFuZGxlT2JzZXJ2ZWRQYXRocyhpdGVtU3ViUGF0aCk7CiAgICAgICAgLy8gTm90ZSwgZXZlbiBpZiBhIHJ1bGwgcmVmcmVzaCBpcyB0cmlnZ2VyZWQsIGFsd2F5cyBkbyB0aGUgcGF0aAogICAgICAgIC8vIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHVubGVzcyBtdXRhYmxlRGF0YSBpcyB1c2VkIGZvciBkb20tcmVwZWF0CiAgICAgICAgLy8gYW5kIGFsbCBlbGVtZW50cyBpbiB0aGUgaW5zdGFuY2Ugc3VidHJlZSwgYSBmdWxsIHJlZnJlc2ggbWF5CiAgICAgICAgLy8gbm90IHRyaWdnZXIgdGhlIHByb3BlciB1cGRhdGUuCiAgICAgICAgbGV0IGluc3RJZHggPSB0aGlzLl9faXRlbXNJZHhUb0luc3RJZHhbaXRlbXNJZHhdOwogICAgICAgIGxldCBpbnN0ID0gdGhpcy5fX2luc3RhbmNlc1tpbnN0SWR4XTsKICAgICAgICBpZiAoaW5zdCkgewogICAgICAgICAgbGV0IGl0ZW1QYXRoID0gdGhpcy5hcyArIChpdGVtU3ViUGF0aCA/ICcuJyArIGl0ZW1TdWJQYXRoIDogJycpOwogICAgICAgICAgLy8gVGhpcyBpcyBlZmZlY3RpdmVseSBgbm90aWZ5UGF0aGAsIGJ1dCBhdm9pZHMgc29tZSBvZiB0aGUgb3ZlcmhlYWQKICAgICAgICAgIC8vIG9mIHRoZSBwdWJsaWMgQVBJCiAgICAgICAgICBpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoaXRlbVBhdGgsIHZhbHVlLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgICBpbnN0Ll9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGl0ZW0gYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCBzdGFtcGVkIGJ5CiAgICAgKiB0aGlzIGBkb20tcmVwZWF0YC4KICAgICAqCiAgICAgKiBOb3RlLCB0byBtb2RpZnkgc3ViLXByb3BlcnRpZXMgb2YgdGhlIGl0ZW0sCiAgICAgKiBgbW9kZWxGb3JFbGVtZW50KGVsKS5zZXQoJ2l0ZW0uPHN1Yi1wcm9wPicsIHZhbHVlKWAKICAgICAqIHNob3VsZCBiZSB1c2VkLgogICAgICoKICAgICAqIEBwYXJhbSB7IUhUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gdGhlIGl0ZW0uCiAgICAgKiBAcmV0dXJuIHsqfSBJdGVtIGFzc29jaWF0ZWQgd2l0aCB0aGUgZWxlbWVudC4KICAgICAqLwogICAgaXRlbUZvckVsZW1lbnQoZWwpIHsKICAgICAgbGV0IGluc3RhbmNlID0gdGhpcy5tb2RlbEZvckVsZW1lbnQoZWwpOwogICAgICByZXR1cm4gaW5zdGFuY2UgJiYgaW5zdGFuY2VbdGhpcy5hc107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBpbnN0IGluZGV4IGZvciBhIGdpdmVuIGVsZW1lbnQgc3RhbXBlZCBieSB0aGlzIGBkb20tcmVwZWF0YC4KICAgICAqIElmIGBzb3J0YCBpcyBwcm92aWRlZCwgdGhlIGluZGV4IHdpbGwgcmVmbGVjdCB0aGUgc29ydGVkIG9yZGVyIChyYXRoZXIKICAgICAqIHRoYW4gdGhlIG9yaWdpbmFsIGFycmF5IG9yZGVyKS4KICAgICAqCiAgICAgKiBAcGFyYW0geyFIVE1MRWxlbWVudH0gZWwgRWxlbWVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIHRoZSBpbmRleC4KICAgICAqIEByZXR1cm4gez9udW1iZXJ9IFJvdyBpbmRleCBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnQgKG5vdGUgdGhpcyBtYXkKICAgICAqICAgbm90IGNvcnJlc3BvbmQgdG8gdGhlIGFycmF5IGluZGV4IGlmIGEgdXNlciBgc29ydGAgaXMgYXBwbGllZCkuCiAgICAgKi8KICAgIGluZGV4Rm9yRWxlbWVudChlbCkgewogICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLm1vZGVsRm9yRWxlbWVudChlbCk7CiAgICAgIHJldHVybiBpbnN0YW5jZSAmJiBpbnN0YW5jZVt0aGlzLmluZGV4QXNdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgIm1vZGVsIiBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBlbGVtZW50LCB3aGljaAogICAgICogc2VydmVzIGFzIHRoZSBiaW5kaW5nIHNjb3BlIGZvciB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdGhlIGVsZW1lbnQgaXMKICAgICAqIGNvbnRhaW5lZCBpbi4gQSB0ZW1wbGF0ZSBtb2RlbCBpcyBhbiBpbnN0YW5jZSBvZiBgUG9seW1lci5CYXNlYCwgYW5kCiAgICAgKiBzaG91bGQgYmUgdXNlZCB0byBtYW5pcHVsYXRlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiAgIGxldCBtb2RlbCA9IG1vZGVsRm9yRWxlbWVudChlbCk7CiAgICAgKiAgIGlmIChtb2RlbC5pbmRleCA8IDEwKSB7CiAgICAgKiAgICAgbW9kZWwuc2V0KCdpdGVtLmNoZWNrZWQnLCB0cnVlKTsKICAgICAqICAgfQogICAgICoKICAgICAqIEBwYXJhbSB7IUhUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gYSB0ZW1wbGF0ZSBtb2RlbC4KICAgICAqIEByZXR1cm4ge1RlbXBsYXRlSW5zdGFuY2VCYXNlfSBNb2RlbCByZXByZXNlbnRpbmcgdGhlIGJpbmRpbmcgc2NvcGUgZm9yCiAgICAgKiAgIHRoZSBlbGVtZW50LgogICAgICovCiAgICBtb2RlbEZvckVsZW1lbnQoZWwpIHsKICAgICAgcmV0dXJuIFBvbHltZXIuVGVtcGxhdGl6ZS5tb2RlbEZvckVsZW1lbnQodGhpcy50ZW1wbGF0ZSwgZWwpOwogICAgfQoKICB9CgogIGN1c3RvbUVsZW1lbnRzLmRlZmluZShEb21SZXBlYXQuaXMsIERvbVJlcGVhdCk7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkRvbVJlcGVhdCA9IERvbVJlcGVhdDsKCn0pKCk7CgoKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBUaGUgYDxkb20taWY+YCBlbGVtZW50IHdpbGwgc3RhbXAgYSBsaWdodC1kb20gYDx0ZW1wbGF0ZT5gIGNoaWxkIHdoZW4KICAgKiB0aGUgYGlmYCBwcm9wZXJ0eSBiZWNvbWVzIHRydXRoeSwgYW5kIHRoZSB0ZW1wbGF0ZSBjYW4gdXNlIFBvbHltZXIKICAgKiBkYXRhLWJpbmRpbmcgYW5kIGRlY2xhcmF0aXZlIGV2ZW50IGZlYXR1cmVzIHdoZW4gdXNlZCBpbiB0aGUgY29udGV4dCBvZgogICAqIGEgUG9seW1lciBlbGVtZW50J3MgdGVtcGxhdGUuCiAgICoKICAgKiBXaGVuIGBpZmAgYmVjb21lcyBmYWxzeSwgdGhlIHN0YW1wZWQgY29udGVudCBpcyBoaWRkZW4gYnV0IG5vdAogICAqIHJlbW92ZWQgZnJvbSBkb20uIFdoZW4gYGlmYCBzdWJzZXF1ZW50bHkgYmVjb21lcyB0cnV0aHkgYWdhaW4sIHRoZSBjb250ZW50CiAgICogaXMgc2ltcGx5IHJlLXNob3duLiBUaGlzIGFwcHJvYWNoIGlzIHVzZWQgZHVlIHRvIGl0cyBmYXZvcmFibGUgcGVyZm9ybWFuY2UKICAgKiBjaGFyYWN0ZXJpc3RpY3M6IHRoZSBleHBlbnNlIG9mIGNyZWF0aW5nIHRlbXBsYXRlIGNvbnRlbnQgaXMgcGFpZCBvbmx5CiAgICogb25jZSBhbmQgbGF6aWx5LgogICAqCiAgICogU2V0IHRoZSBgcmVzdGFtcGAgcHJvcGVydHkgdG8gdHJ1ZSB0byBmb3JjZSB0aGUgc3RhbXBlZCBjb250ZW50IHRvIGJlCiAgICogY3JlYXRlZCAvIGRlc3Ryb3llZCB3aGVuIHRoZSBgaWZgIGNvbmRpdGlvbiBjaGFuZ2VzLgogICAqCiAgICogQGN1c3RvbUVsZW1lbnQKICAgKiBAcG9seW1lcgogICAqIEBleHRlbmRzIFBvbHltZXIuRWxlbWVudAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgQ3VzdG9tIGVsZW1lbnQgdGhhdCBjb25kaXRpb25hbGx5IHN0YW1wcyBhbmQgaGlkZXMgb3IgcmVtb3ZlcwogICAqICAgdGVtcGxhdGUgY29udGVudCBiYXNlZCBvbiBhIGJvb2xlYW4gZmxhZy4KICAgKi8KICBjbGFzcyBEb21JZiBleHRlbmRzIFBvbHltZXIuRWxlbWVudCB7CgogICAgLy8gTm90IG5lZWRlZCB0byBmaW5kIHRlbXBsYXRlOyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoZSBhbmFseXplcgogICAgLy8gY2FuIGZpbmQgdGhlIHRhZyBuYW1lIGZyb20gY3VzdG9tRWxlbWVudHMuZGVmaW5lIGNhbGwKICAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZG9tLWlmJzsgfQoKICAgIHN0YXRpYyBnZXQgdGVtcGxhdGUoKSB7IHJldHVybiBudWxsOyB9CgogICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkgewoKICAgICAgcmV0dXJuIHsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmlyZWQgd2hlbmV2ZXIgRE9NIGlzIGFkZGVkIG9yIHJlbW92ZWQvaGlkZGVuIGJ5IHRoaXMgdGVtcGxhdGUgKGJ5CiAgICAgICAgICogZGVmYXVsdCwgcmVuZGVyaW5nIG9jY3VycyBsYXppbHkpLiAgVG8gZm9yY2UgaW1tZWRpYXRlIHJlbmRlcmluZywgY2FsbAogICAgICAgICAqIGByZW5kZXJgLgogICAgICAgICAqCiAgICAgICAgICogQGV2ZW50IGRvbS1jaGFuZ2UKICAgICAgICAgKi8KCiAgICAgICAgLyoqCiAgICAgICAgICogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIHRlbXBsYXRlIHNob3VsZCBzdGFtcC4KICAgICAgICAgKi8KICAgICAgICBpZjogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIG9ic2VydmVyOiAnX19kZWJvdW5jZVJlbmRlcicKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBXaGVuIHRydWUsIGVsZW1lbnRzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIERPTSBhbmQgZGlzY2FyZGVkIHdoZW4gYGlmYAogICAgICAgICAqIGJlY29tZXMgZmFsc2UgYW5kIHJlLWNyZWF0ZWQgYW5kIGFkZGVkIGJhY2sgdG8gdGhlIERPTSB3aGVuIGBpZmAKICAgICAgICAgKiBiZWNvbWVzIHRydWUuICBCeSBkZWZhdWx0LCBzdGFtcGVkIGVsZW1lbnRzIHdpbGwgYmUgaGlkZGVuIGJ1dCBsZWZ0CiAgICAgICAgICogaW4gdGhlIERPTSB3aGVuIGBpZmAgYmVjb21lcyBmYWxzZSwgd2hpY2ggaXMgZ2VuZXJhbGx5IHJlc3VsdHMKICAgICAgICAgKiBpbiBiZXR0ZXIgcGVyZm9ybWFuY2UuCiAgICAgICAgICovCiAgICAgICAgcmVzdGFtcDogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIG9ic2VydmVyOiAnX19kZWJvdW5jZVJlbmRlcicKICAgICAgICB9CgogICAgICB9OwoKICAgIH0KCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoKTsKICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IG51bGw7CiAgICAgIHRoaXMuX19pbnZhbGlkUHJvcHMgPSBudWxsOwogICAgICB0aGlzLl9faW5zdGFuY2UgPSBudWxsOwogICAgICB0aGlzLl9sYXN0SWYgPSBmYWxzZTsKICAgICAgdGhpcy5fX2N0b3IgPSBudWxsOwogICAgfQoKICAgIF9fZGVib3VuY2VSZW5kZXIoKSB7CiAgICAgIC8vIFJlbmRlciBpcyBhc3luYyBmb3IgMiByZWFzb25zOgogICAgICAvLyAxLiBUbyBlbGltaW5hdGUgZG9tIGNyZWF0aW9uIHRyYXNoaW5nIGlmIHVzZXIgY29kZSB0aHJhc2hlcyBgaWZgIGluIHRoZQogICAgICAvLyAgICBzYW1lIHR1cm4uIFRoaXMgd2FzIG1vcmUgY29tbW9uIGluIDEueCB3aGVyZSBhIGNvbXBvdW5kIGNvbXB1dGVkCiAgICAgIC8vICAgIHByb3BlcnR5IGNvdWxkIHJlc3VsdCBpbiB0aGUgcmVzdWx0IGNoYW5naW5nIG11bHRpcGxlIHRpbWVzLCBidXQgaXMKICAgICAgLy8gICAgbWl0aWdhdGVkIHRvIGEgbGFyZ2UgZXh0ZW50IGJ5IGJhdGNoZWQgcHJvcGVydHkgcHJvY2Vzc2luZyBpbiAyLnguCiAgICAgIC8vIDIuIFRvIGF2b2lkIGRvdWJsZSBvYmplY3QgcHJvcGFnYXRpb24gd2hlbiBhIGJhZyBpbmNsdWRpbmcgdmFsdWVzIGJvdW5kCiAgICAgIC8vICAgIHRvIHRoZSBgaWZgIHByb3BlcnR5IGFzIHdlbGwgYXMgb25lIG9yIG1vcmUgaG9zdFByb3BzIGNvdWxkIGVucXVldWUKICAgICAgLy8gICAgdGhlIDxkb20taWY+IHRvIGZsdXNoIGJlZm9yZSB0aGUgPHRlbXBsYXRlPidzIGhvc3QgcHJvcGVydHkKICAgICAgLy8gICAgZm9yd2FyZGluZy4gSW4gdGhhdCBzY2VuYXJpbyBjcmVhdGluZyBhbiBpbnN0YW5jZSB3b3VsZCByZXN1bHQgaW4KICAgICAgLy8gICAgdGhlIGhvc3QgcHJvcHMgYmVpbmcgc2V0IG9uY2UsIGFuZCB0aGVuIHRoZSBlbnF1ZXVlZCBjaGFuZ2VzIG9uIHRoZQogICAgICAvLyAgICB0ZW1wbGF0ZSB3b3VsZCBzZXQgcHJvcGVydGllcyBhIHNlY29uZCB0aW1lLCBwb3RlbnRpYWxseSBjYXVzaW5nIGFuCiAgICAgIC8vICAgIG9iamVjdCB0byBiZSBzZXQgdG8gYW4gaW5zdGFuY2UgbW9yZSB0aGFuIG9uY2UuICBDcmVhdGluZyB0aGUKICAgICAgLy8gICAgaW5zdGFuY2UgYXN5bmMgZnJvbSBmbHVzaGluZyBkYXRhIGVuc3VyZXMgdGhpcyBkb2Vzbid0IGhhcHBlbi4gSWYKICAgICAgLy8gICAgd2Ugd2FudGVkIGEgc3luYyBvcHRpb24gaW4gdGhlIGZ1dHVyZSwgc2ltcGx5IGhhdmluZyA8ZG9tLWlmPiBmbHVzaAogICAgICAvLyAgICAob3IgY2xlYXIpIGl0cyB0ZW1wbGF0ZSdzIHBlbmRpbmcgaG9zdCBwcm9wZXJ0aWVzIGJlZm9yZSBjcmVhdGluZwogICAgICAvLyAgICB0aGUgaW5zdGFuY2Ugd291bGQgYWxzbyBhdm9pZCB0aGUgcHJvYmxlbS4KICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgICB0aGlzLl9fcmVuZGVyRGVib3VuY2VyCiAgICAgICAgICAsIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAgICAsICgpID0+IHRoaXMuX19yZW5kZXIoKSk7CiAgICAgIFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcih0aGlzLl9fcmVuZGVyRGVib3VuY2VyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICBpZiAoIXRoaXMucGFyZW50Tm9kZSB8fAogICAgICAgICAgKHRoaXMucGFyZW50Tm9kZS5ub2RlVHlwZSA9PSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUgJiYKICAgICAgICAgICAhdGhpcy5wYXJlbnROb2RlLmhvc3QpKSB7CiAgICAgICAgdGhpcy5fX3RlYXJkb3duSW5zdGFuY2UoKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgIHRoaXMuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgaWYgKHRoaXMuaWYpIHsKICAgICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIoKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gTm9ybWFsbHkgcmVuZGVyaW5nIGlzCiAgICAgKiBhc3luY2hyb25vdXMgdG8gYSBwcm92b2tpbmcgY2hhbmdlLiBUaGlzIGlzIGRvbmUgZm9yIGVmZmljaWVuY3kgc28KICAgICAqIHRoYXQgbXVsdGlwbGUgY2hhbmdlcyB0cmlnZ2VyIG9ubHkgYSBzaW5nbGUgcmVuZGVyLiBUaGUgcmVuZGVyIG1ldGhvZAogICAgICogc2hvdWxkIGJlIGNhbGxlZCBpZiwgZm9yIGV4YW1wbGUsIHRlbXBsYXRlIHJlbmRlcmluZyBpcyByZXF1aXJlZCB0bwogICAgICogdmFsaWRhdGUgYXBwbGljYXRpb24gc3RhdGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZW5kZXIoKSB7CiAgICAgIFBvbHltZXIuZmx1c2goKTsKICAgIH0KCiAgICBfX3JlbmRlcigpIHsKICAgICAgaWYgKHRoaXMuaWYpIHsKICAgICAgICBpZiAoIXRoaXMuX19lbnN1cmVJbnN0YW5jZSgpKSB7CiAgICAgICAgICAvLyBObyB0ZW1wbGF0ZSBmb3VuZCB5ZXQKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdGhpcy5fc2hvd0hpZGVDaGlsZHJlbigpOwogICAgICB9IGVsc2UgaWYgKHRoaXMucmVzdGFtcCkgewogICAgICAgIHRoaXMuX190ZWFyZG93bkluc3RhbmNlKCk7CiAgICAgIH0KICAgICAgaWYgKCF0aGlzLnJlc3RhbXAgJiYgdGhpcy5fX2luc3RhbmNlKSB7CiAgICAgICAgdGhpcy5fc2hvd0hpZGVDaGlsZHJlbigpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmlmICE9IHRoaXMuX2xhc3RJZikgewogICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgICBidWJibGVzOiB0cnVlLAogICAgICAgICAgY29tcG9zZWQ6IHRydWUKICAgICAgICB9KSk7CiAgICAgICAgdGhpcy5fbGFzdElmID0gdGhpcy5pZjsKICAgICAgfQogICAgfQoKICAgIF9fZW5zdXJlSW5zdGFuY2UoKSB7CiAgICAgIGxldCBwYXJlbnROb2RlID0gdGhpcy5wYXJlbnROb2RlOwogICAgICAvLyBHdWFyZCBhZ2FpbnN0IGVsZW1lbnQgYmVpbmcgZGV0YWNoZWQgd2hpbGUgcmVuZGVyIHdhcyBxdWV1ZWQKICAgICAgaWYgKHBhcmVudE5vZGUpIHsKICAgICAgICBpZiAoIXRoaXMuX19jdG9yKSB7CiAgICAgICAgICBsZXQgdGVtcGxhdGUgPSAvKiogQHR5cGUge0hUTUxUZW1wbGF0ZUVsZW1lbnR9ICovKHRoaXMucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKSk7CiAgICAgICAgICBpZiAoIXRlbXBsYXRlKSB7CiAgICAgICAgICAgIC8vIFdhaXQgdW50aWwgY2hpbGRMaXN0IGNoYW5nZXMgYW5kIHRlbXBsYXRlIHNob3VsZCBiZSB0aGVyZSBieSB0aGVuCiAgICAgICAgICAgIGxldCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHsKICAgICAgICAgICAgICBpZiAodGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAgICAgICAgICAgICB0aGlzLl9fcmVuZGVyKCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZG9tLWlmIHJlcXVpcmVzIGEgPHRlbXBsYXRlPiBjaGlsZCcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGhpcywge2NoaWxkTGlzdDogdHJ1ZX0pOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fY3RvciA9IFBvbHltZXIuVGVtcGxhdGl6ZS50ZW1wbGF0aXplKHRlbXBsYXRlLCB0aGlzLCB7CiAgICAgICAgICAgIC8vIGRvbS1pZiB0ZW1wbGF0aXplciBpbnN0YW5jZXMgcmVxdWlyZSBgbXV0YWJsZTogdHJ1ZWAsIGFzCiAgICAgICAgICAgIC8vIGBfX3N5bmNIb3N0UHJvcGVydGllc2AgcmVsaWVzIG9uIHRoYXQgYmVoYXZpb3IgdG8gc3luYyBvYmplY3RzCiAgICAgICAgICAgIG11dGFibGVEYXRhOiB0cnVlLAogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgdG8gZm9yd2FyZAogICAgICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIG9mIHByb3BlcnR5CiAgICAgICAgICAgICAqIEB0aGlzIHt0aGlzfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZm9yd2FyZEhvc3RQcm9wOiBmdW5jdGlvbihwcm9wLCB2YWx1ZSkgewogICAgICAgICAgICAgIGlmICh0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmlmKSB7CiAgICAgICAgICAgICAgICAgIHRoaXMuX19pbnN0YW5jZS5mb3J3YXJkSG9zdFByb3AocHJvcCwgdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBpbnN0YW5jZSBidXQgYXJlIHNxdWVsY2hpbmcgaG9zdCBwcm9wZXJ0eQogICAgICAgICAgICAgICAgICAvLyBmb3J3YXJkaW5nIGR1ZSB0byBpZiBiZWluZyBmYWxzZSwgbm90ZSB0aGUgaW52YWxpZGF0ZWQKICAgICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyBzbyBgX19zeW5jSG9zdFByb3BlcnRpZXNgIGNhbiBzeW5jIHRoZW0gdGhlIG5leHQKICAgICAgICAgICAgICAgICAgLy8gdGltZSBgaWZgIGJlY29tZXMgdHJ1ZQogICAgICAgICAgICAgICAgICB0aGlzLl9faW52YWxpZFByb3BzID0gdGhpcy5fX2ludmFsaWRQcm9wcyB8fCBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICAgICAgICAgICAgICB0aGlzLl9faW52YWxpZFByb3BzW1BvbHltZXIuUGF0aC5yb290KHByb3ApXSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgaWYgKCF0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICAgIHRoaXMuX19pbnN0YW5jZSA9IG5ldyB0aGlzLl9fY3RvcigpOwogICAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fX2luc3RhbmNlLnJvb3QsIHRoaXMpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLl9fc3luY0hvc3RQcm9wZXJ0aWVzKCk7CiAgICAgICAgICBsZXQgYyQgPSB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW47CiAgICAgICAgICBpZiAoYyQgJiYgYyQubGVuZ3RoKSB7CiAgICAgICAgICAgIC8vIERldGVjdCBjYXNlIHdoZXJlIGRvbS1pZiB3YXMgcmUtYXR0YWNoZWQgaW4gbmV3IHBvc2l0aW9uCiAgICAgICAgICAgIGxldCBsYXN0Q2hpbGQgPSB0aGlzLnByZXZpb3VzU2libGluZzsKICAgICAgICAgICAgaWYgKGxhc3RDaGlsZCAhPT0gYyRbYyQubGVuZ3RoLTFdKSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBuOyAoaTxjJC5sZW5ndGgpICYmIChuPWMkW2ldKTsgaSsrKSB7CiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShuLCB0aGlzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgX19zeW5jSG9zdFByb3BlcnRpZXMoKSB7CiAgICAgIGxldCBwcm9wcyA9IHRoaXMuX19pbnZhbGlkUHJvcHM7CiAgICAgIGlmIChwcm9wcykgewogICAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICAgIHRoaXMuX19pbnN0YW5jZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHByb3AsIHRoaXMuX19kYXRhSG9zdFtwcm9wXSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnZhbGlkUHJvcHMgPSBudWxsOwogICAgICAgIHRoaXMuX19pbnN0YW5jZS5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgIH0KICAgIH0KCiAgICBfX3RlYXJkb3duSW5zdGFuY2UoKSB7CiAgICAgIGlmICh0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICBsZXQgYyQgPSB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW47CiAgICAgICAgaWYgKGMkICYmIGMkLmxlbmd0aCkgewogICAgICAgICAgLy8gdXNlIGZpcnN0IGNoaWxkIHBhcmVudCwgZm9yIGNhc2Ugd2hlbiBkb20taWYgbWF5IGhhdmUgYmVlbiBkZXRhY2hlZAogICAgICAgICAgbGV0IHBhcmVudCA9IGMkWzBdLnBhcmVudE5vZGU7CiAgICAgICAgICAvLyBJbnN0YW5jZSBjaGlsZHJlbiBtYXkgYmUgZGlzY29ubmVjdGVkIGZyb20gcGFyZW50cyB3aGVuIGRvbS1pZgogICAgICAgICAgLy8gZGV0YWNoZXMgaWYgYSB0cmVlIHdhcyBpbm5lckhUTUwnZWQKICAgICAgICAgIGlmIChwYXJlbnQpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBuOyAoaTxjJC5sZW5ndGgpICYmIChuPWMkW2ldKTsgaSsrKSB7CiAgICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKG4pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnN0YW5jZSA9IG51bGw7CiAgICAgICAgdGhpcy5fX2ludmFsaWRQcm9wcyA9IG51bGw7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNob3dzIG9yIGhpZGVzIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSB0b3AgbGV2ZWwgY2hpbGQgZWxlbWVudHMuIEZvcgogICAgICogdGV4dCBub2RlcywgYHRleHRDb250ZW50YCBpcyByZW1vdmVkIHdoaWxlICJoaWRkZW4iIGFuZCByZXBsYWNlZCB3aGVuCiAgICAgKiAic2hvd24uIgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEBwcm90ZWN0ZWQKICAgICAqLwogICAgX3Nob3dIaWRlQ2hpbGRyZW4oKSB7CiAgICAgIGxldCBoaWRkZW4gPSB0aGlzLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fXyB8fCAhdGhpcy5pZjsKICAgICAgaWYgKHRoaXMuX19pbnN0YW5jZSkgewogICAgICAgIHRoaXMuX19pbnN0YW5jZS5fc2hvd0hpZGVDaGlsZHJlbihoaWRkZW4pOwogICAgICB9CiAgICB9CgogIH0KCiAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKERvbUlmLmlzLCBEb21JZik7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkRvbUlmID0gRG9tSWY7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIEVsZW1lbnQgbWl4aW4gZm9yIHJlY29yZGluZyBkeW5hbWljIGFzc29jaWF0aW9ucyBiZXR3ZWVuIGl0ZW0gcGF0aHMgaW4gYQogICAqIG1hc3RlciBgaXRlbXNgIGFycmF5IGFuZCBhIGBzZWxlY3RlZGAgYXJyYXkgc3VjaCB0aGF0IHBhdGggY2hhbmdlcyB0byB0aGUKICAgKiBtYXN0ZXIgYXJyYXkgKGF0IHRoZSBob3N0KSBlbGVtZW50IG9yIGVsc2V3aGVyZSB2aWEgZGF0YS1iaW5kaW5nKSBhcmUKICAgKiBjb3JyZWN0bHkgcHJvcGFnYXRlZCB0byBpdGVtcyBpbiB0aGUgc2VsZWN0ZWQgYXJyYXkgYW5kIHZpY2UtdmVyc2EuCiAgICoKICAgKiBUaGUgYGl0ZW1zYCBwcm9wZXJ0eSBhY2NlcHRzIGFuIGFycmF5IG9mIHVzZXIgZGF0YSwgYW5kIHZpYSB0aGUKICAgKiBgc2VsZWN0KGl0ZW0pYCBhbmQgYGRlc2VsZWN0KGl0ZW0pYCBBUEksIHVwZGF0ZXMgdGhlIGBzZWxlY3RlZGAgcHJvcGVydHkKICAgKiB3aGljaCBtYXkgYmUgYm91bmQgdG8gb3RoZXIgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLCBhbmQgYW55IGNoYW5nZXMgdG8KICAgKiBzdWItZmllbGRzIG9mIGBzZWxlY3RlZGAgaXRlbShzKSB3aWxsIGJlIGtlcHQgaW4gc3luYyB3aXRoIGl0ZW1zIGluIHRoZQogICAqIGBpdGVtc2AgYXJyYXkuICBXaGVuIGBtdWx0aWAgaXMgZmFsc2UsIGBzZWxlY3RlZGAgaXMgYSBwcm9wZXJ0eQogICAqIHJlcHJlc2VudGluZyB0aGUgbGFzdCBzZWxlY3RlZCBpdGVtLiAgV2hlbiBgbXVsdGlgIGlzIHRydWUsIGBzZWxlY3RlZGAKICAgKiBpcyBhbiBhcnJheSBvZiBtdWx0aXBseSBzZWxlY3RlZCBpdGVtcy4KICAgKgogICAqIEBwb2x5bWVyCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuRWxlbWVudE1peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IG1peGluIGZvciByZWNvcmRpbmcgZHluYW1pYyBhc3NvY2lhdGlvbnMgYmV0d2VlbiBpdGVtIHBhdGhzIGluIGEKICAgKiBtYXN0ZXIgYGl0ZW1zYCBhcnJheSBhbmQgYSBgc2VsZWN0ZWRgIGFycmF5CiAgICovCiAgbGV0IEFycmF5U2VsZWN0b3JNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9FbGVtZW50TWl4aW59CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBsZXQgZWxlbWVudEJhc2UgPSBQb2x5bWVyLkVsZW1lbnRNaXhpbihzdXBlckNsYXNzKTsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfQXJyYXlTZWxlY3Rvck1peGlufQogICAgICogQHVucmVzdHJpY3RlZAogICAgICovCiAgICBjbGFzcyBBcnJheVNlbGVjdG9yTWl4aW4gZXh0ZW5kcyBlbGVtZW50QmFzZSB7CgogICAgICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7CgogICAgICAgIHJldHVybiB7CgogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBBbiBhcnJheSBjb250YWluaW5nIGl0ZW1zIGZyb20gd2hpY2ggc2VsZWN0aW9uIHdpbGwgYmUgbWFkZS4KICAgICAgICAgICAqLwogICAgICAgICAgaXRlbXM6IHsKICAgICAgICAgICAgdHlwZTogQXJyYXksCiAgICAgICAgICB9LAoKICAgICAgICAgIC8qKgogICAgICAgICAgICogV2hlbiBgdHJ1ZWAsIG11bHRpcGxlIGl0ZW1zIG1heSBiZSBzZWxlY3RlZCBhdCBvbmNlIChpbiB0aGlzIGNhc2UsCiAgICAgICAgICAgKiBgc2VsZWN0ZWRgIGlzIGFuIGFycmF5IG9mIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtcykuICBXaGVuIGBmYWxzZWAsCiAgICAgICAgICAgKiBvbmx5IG9uZSBpdGVtIG1heSBiZSBzZWxlY3RlZCBhdCBhIHRpbWUuCiAgICAgICAgICAgKi8KICAgICAgICAgIG11bHRpOiB7CiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwKICAgICAgICAgIH0sCgogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBXaGVuIGBtdWx0aWAgaXMgdHJ1ZSwgdGhpcyBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFueSBzZWxlY3RlZC4KICAgICAgICAgICAqIFdoZW4gYG11bHRpYCBpcyBmYWxzZSwgdGhpcyBpcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0sIG9yIGBudWxsYAogICAgICAgICAgICogaWYgbm8gaXRlbSBpcyBzZWxlY3RlZC4KICAgICAgICAgICAqIEB0eXBlIHs/KE9iamVjdHxBcnJheTwhT2JqZWN0Pil9CiAgICAgICAgICAgKi8KICAgICAgICAgIHNlbGVjdGVkOiB7CiAgICAgICAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgICAgICAgbm90aWZ5OiB0cnVlCiAgICAgICAgICB9LAoKICAgICAgICAgIC8qKgogICAgICAgICAgICogV2hlbiBgbXVsdGlgIGlzIGZhbHNlLCB0aGlzIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSwgb3IgYG51bGxgCiAgICAgICAgICAgKiBpZiBubyBpdGVtIGlzIHNlbGVjdGVkLgogICAgICAgICAgICogQHR5cGUgez9PYmplY3R9CiAgICAgICAgICAgKi8KICAgICAgICAgIHNlbGVjdGVkSXRlbTogewogICAgICAgICAgICB0eXBlOiBPYmplY3QsCiAgICAgICAgICAgIG5vdGlmeTogdHJ1ZQogICAgICAgICAgfSwKCiAgICAgICAgICAvKioKICAgICAgICAgICAqIFdoZW4gYHRydWVgLCBjYWxsaW5nIGBzZWxlY3RgIG9uIGFuIGl0ZW0gdGhhdCBpcyBhbHJlYWR5IHNlbGVjdGVkCiAgICAgICAgICAgKiB3aWxsIGRlc2VsZWN0IHRoZSBpdGVtLgogICAgICAgICAgICovCiAgICAgICAgICB0b2dnbGU6IHsKICAgICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgICAgdmFsdWU6IGZhbHNlCiAgICAgICAgICB9CgogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCkgewogICAgICAgIHJldHVybiBbJ19fdXBkYXRlU2VsZWN0aW9uKG11bHRpLCBpdGVtcy4qKSddOwogICAgICB9CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIHRoaXMuX19sYXN0SXRlbXMgPSBudWxsOwogICAgICAgIHRoaXMuX19sYXN0TXVsdGkgPSBudWxsOwogICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcCA9IG51bGw7CiAgICAgIH0KCiAgICAgIF9fdXBkYXRlU2VsZWN0aW9uKG11bHRpLCBpdGVtc0luZm8pIHsKICAgICAgICBsZXQgcGF0aCA9IGl0ZW1zSW5mby5wYXRoOwogICAgICAgIGlmIChwYXRoID09ICdpdGVtcycpIHsKICAgICAgICAgIC8vIENhc2UgMSAtIGl0ZW1zIGFycmF5IGNoYW5nZWQsIHNvIGRpZmYgYWdhaW5zdCBwcmV2aW91cyBhcnJheSBhbmQKICAgICAgICAgIC8vIGRlc2VsZWN0IGFueSByZW1vdmVkIGl0ZW1zIGFuZCBhZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcwogICAgICAgICAgbGV0IG5ld0l0ZW1zID0gaXRlbXNJbmZvLmJhc2UgfHwgW107CiAgICAgICAgICBsZXQgbGFzdEl0ZW1zID0gdGhpcy5fX2xhc3RJdGVtczsKICAgICAgICAgIGxldCBsYXN0TXVsdGkgPSB0aGlzLl9fbGFzdE11bHRpOwogICAgICAgICAgaWYgKG11bHRpICE9PSBsYXN0TXVsdGkpIHsKICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGxhc3RJdGVtcykgewogICAgICAgICAgICBsZXQgc3BsaWNlcyA9IFBvbHltZXIuQXJyYXlTcGxpY2UuY2FsY3VsYXRlU3BsaWNlcyhuZXdJdGVtcywgbGFzdEl0ZW1zKTsKICAgICAgICAgICAgdGhpcy5fX2FwcGx5U3BsaWNlcyhzcGxpY2VzKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuX19sYXN0SXRlbXMgPSBuZXdJdGVtczsKICAgICAgICAgIHRoaXMuX19sYXN0TXVsdGkgPSBtdWx0aTsKICAgICAgICB9IGVsc2UgaWYgKGl0ZW1zSW5mby5wYXRoID09ICdpdGVtcy5zcGxpY2VzJykgewogICAgICAgICAgLy8gQ2FzZSAyIC0gZ290IHNwZWNpZmljIHNwbGljZSBpbmZvcm1hdGlvbiBkZXNjcmliaW5nIHRoZSBhcnJheSBtdXRhdGlvbjoKICAgICAgICAgIC8vIGRlc2VsZWN0IGFueSByZW1vdmVkIGl0ZW1zIGFuZCBhZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcwogICAgICAgICAgdGhpcy5fX2FwcGx5U3BsaWNlcyhpdGVtc0luZm8udmFsdWUuaW5kZXhTcGxpY2VzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQ2FzZSAzIC0gYW4gYXJyYXkgZWxlbWVudCB3YXMgY2hhbmdlZCwgc28gZGVzZWxlY3QgdGhlIHByZXZpb3VzCiAgICAgICAgICAvLyBpdGVtIGZvciB0aGF0IGluZGV4IGlmIGl0IHdhcyBwcmV2aW91c2x5IHNlbGVjdGVkCiAgICAgICAgICBsZXQgcGFydCA9IHBhdGguc2xpY2UoJ2l0ZW1zLicubGVuZ3RoKTsKICAgICAgICAgIGxldCBpZHggPSBwYXJzZUludChwYXJ0LCAxMCk7CiAgICAgICAgICBpZiAoKHBhcnQuaW5kZXhPZignLicpIDwgMCkgJiYgcGFydCA9PSBpZHgpIHsKICAgICAgICAgICAgdGhpcy5fX2Rlc2VsZWN0Q2hhbmdlZElkeChpZHgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgX19hcHBseVNwbGljZXMoc3BsaWNlcykgewogICAgICAgIGxldCBzZWxlY3RlZCA9IHRoaXMuX19zZWxlY3RlZE1hcDsKICAgICAgICAvLyBBZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcyBhbmQgbWFyayByZW1vdmFscwogICAgICAgIGZvciAobGV0IGk9MDsgaTxzcGxpY2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgcyA9IHNwbGljZXNbaV07CiAgICAgICAgICBzZWxlY3RlZC5mb3JFYWNoKChpZHgsIGl0ZW0pID0+IHsKICAgICAgICAgICAgaWYgKGlkeCA8IHMuaW5kZXgpIHsKICAgICAgICAgICAgICAvLyBubyBjaGFuZ2UKICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPj0gcy5pbmRleCArIHMucmVtb3ZlZC5sZW5ndGgpIHsKICAgICAgICAgICAgICAvLyBhZGp1c3QgaW5kZXgKICAgICAgICAgICAgICBzZWxlY3RlZC5zZXQoaXRlbSwgaWR4ICsgcy5hZGRlZENvdW50IC0gcy5yZW1vdmVkLmxlbmd0aCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgLy8gcmVtb3ZlIGluZGV4CiAgICAgICAgICAgICAgc2VsZWN0ZWQuc2V0KGl0ZW0sIC0xKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICBmb3IgKGxldCBqPTA7IGo8cy5hZGRlZENvdW50OyBqKyspIHsKICAgICAgICAgICAgbGV0IGlkeCA9IHMuaW5kZXggKyBqOwogICAgICAgICAgICBpZiAoc2VsZWN0ZWQuaGFzKHRoaXMuaXRlbXNbaWR4XSkpIHsKICAgICAgICAgICAgICBzZWxlY3RlZC5zZXQodGhpcy5pdGVtc1tpZHhdLCBpZHgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFVwZGF0ZSBsaW5rZWQgcGF0aHMKICAgICAgICB0aGlzLl9fdXBkYXRlTGlua3MoKTsKICAgICAgICAvLyBSZW1vdmUgc2VsZWN0ZWQgaXRlbXMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgaXRlbXMgYXJyYXkKICAgICAgICBsZXQgc2lkeCA9IDA7CiAgICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoaWR4LCBpdGVtKSA9PiB7CiAgICAgICAgICBpZiAoaWR4IDwgMCkgewogICAgICAgICAgICBpZiAodGhpcy5tdWx0aSkgewogICAgICAgICAgICAgIHRoaXMuc3BsaWNlKCdzZWxlY3RlZCcsIHNpZHgsIDEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2VsZWN0ZWQuZGVsZXRlKGl0ZW0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2lkeCsrOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CgogICAgICBfX3VwZGF0ZUxpbmtzKCkgewogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB7fTsKICAgICAgICBpZiAodGhpcy5tdWx0aSkgewogICAgICAgICAgbGV0IHNpZHggPSAwOwogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goaWR4ID0+IHsKICAgICAgICAgICAgaWYgKGlkeCA+PSAwKSB7CiAgICAgICAgICAgICAgdGhpcy5saW5rUGF0aHMoJ2l0ZW1zLicgKyBpZHgsICdzZWxlY3RlZC4nICsgc2lkeCsrKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcC5mb3JFYWNoKGlkeCA9PiB7CiAgICAgICAgICAgIHRoaXMubGlua1BhdGhzKCdzZWxlY3RlZCcsICdpdGVtcy4nICsgaWR4KTsKICAgICAgICAgICAgdGhpcy5saW5rUGF0aHMoJ3NlbGVjdGVkSXRlbScsICdpdGVtcy4nICsgaWR4KTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENsZWFycyB0aGUgc2VsZWN0aW9uIHN0YXRlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2xlYXJTZWxlY3Rpb24oKSB7CiAgICAgICAgLy8gVW5iaW5kIHByZXZpb3VzIHNlbGVjdGlvbgogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB7fTsKICAgICAgICAvLyBUaGUgc2VsZWN0ZWQgbWFwIHN0b3JlcyAzIHBpZWNlcyBvZiBpbmZvcm1hdGlvbjoKICAgICAgICAvLyBrZXk6IGl0ZW1zIGFycmF5IG9iamVjdAogICAgICAgIC8vIHZhbHVlOiBpdGVtcyBhcnJheSBpbmRleAogICAgICAgIC8vIG9yZGVyOiBzZWxlY3RlZCBhcnJheSBpbmRleAogICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTsKICAgICAgICAvLyBJbml0aWFsaXplIHNlbGVjdGlvbgogICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm11bHRpID8gW10gOiBudWxsOwogICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgaXRlbSBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byB0ZXN0CiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGl0ZW0gaXMgc2VsZWN0ZWQKICAgICAgICovCiAgICAgIGlzU2VsZWN0ZWQoaXRlbSkgewogICAgICAgIHJldHVybiB0aGlzLl9fc2VsZWN0ZWRNYXAuaGFzKGl0ZW0pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpdGVtIGlzIGN1cnJlbnRseSBzZWxlY3RlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtudW1iZXJ9IGlkeCBJbmRleCBmcm9tIGBpdGVtc2AgYXJyYXkgdG8gdGVzdAogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkCiAgICAgICAqLwogICAgICBpc0luZGV4U2VsZWN0ZWQoaWR4KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZCh0aGlzLml0ZW1zW2lkeF0pOwogICAgICB9CgogICAgICBfX2Rlc2VsZWN0Q2hhbmdlZElkeChpZHgpIHsKICAgICAgICBsZXQgc2lkeCA9IHRoaXMuX19zZWxlY3RlZEluZGV4Rm9ySXRlbUluZGV4KGlkeCk7CiAgICAgICAgaWYgKHNpZHggPj0gMCkgewogICAgICAgICAgbGV0IGkgPSAwOwogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goKGlkeCwgaXRlbSkgPT4gewogICAgICAgICAgICBpZiAoc2lkeCA9PSBpKyspIHsKICAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0KGl0ZW0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIF9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleChpZHgpIHsKICAgICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzWydpdGVtcy4nICsgaWR4XTsKICAgICAgICBpZiAoc2VsZWN0ZWQpIHsKICAgICAgICAgIHJldHVybiBwYXJzZUludChzZWxlY3RlZC5zbGljZSgnc2VsZWN0ZWQuJy5sZW5ndGgpLCAxMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRGVzZWxlY3RzIHRoZSBnaXZlbiBpdGVtIGlmIGl0IGlzIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byBkZXNlbGVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGVzZWxlY3QoaXRlbSkgewogICAgICAgIGxldCBpZHggPSB0aGlzLl9fc2VsZWN0ZWRNYXAuZ2V0KGl0ZW0pOwogICAgICAgIGlmIChpZHggPj0gMCkgewogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmRlbGV0ZShpdGVtKTsKICAgICAgICAgIGxldCBzaWR4OwogICAgICAgICAgaWYgKHRoaXMubXVsdGkpIHsKICAgICAgICAgICAgc2lkeCA9IHRoaXMuX19zZWxlY3RlZEluZGV4Rm9ySXRlbUluZGV4KGlkeCk7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fdXBkYXRlTGlua3MoKTsKICAgICAgICAgIGlmICh0aGlzLm11bHRpKSB7CiAgICAgICAgICAgIHRoaXMuc3BsaWNlKCdzZWxlY3RlZCcsIHNpZHgsIDEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBEZXNlbGVjdHMgdGhlIGdpdmVuIGluZGV4IGlmIGl0IGlzIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZHggSW5kZXggZnJvbSBgaXRlbXNgIGFycmF5IHRvIGRlc2VsZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBkZXNlbGVjdEluZGV4KGlkeCkgewogICAgICAgIHRoaXMuZGVzZWxlY3QodGhpcy5pdGVtc1tpZHhdKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlbGVjdHMgdGhlIGdpdmVuIGl0ZW0uICBXaGVuIGB0b2dnbGVgIGlzIHRydWUsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5CiAgICAgICAqIGRlc2VsZWN0IHRoZSBpdGVtIGlmIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byBzZWxlY3QKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHNlbGVjdChpdGVtKSB7CiAgICAgICAgdGhpcy5zZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2VsZWN0cyB0aGUgZ2l2ZW4gaW5kZXguICBXaGVuIGB0b2dnbGVgIGlzIHRydWUsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5CiAgICAgICAqIGRlc2VsZWN0IHRoZSBpdGVtIGlmIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZHggSW5kZXggZnJvbSBgaXRlbXNgIGFycmF5IHRvIHNlbGVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgc2VsZWN0SW5kZXgoaWR4KSB7CiAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLml0ZW1zW2lkeF07CiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHsKICAgICAgICAgIGlmICghdGhpcy5tdWx0aSkgewogICAgICAgICAgICB0aGlzLl9fc2VsZWN0ZWRNYXAuY2xlYXIoKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcC5zZXQoaXRlbSwgaWR4KTsKICAgICAgICAgIHRoaXMuX191cGRhdGVMaW5rcygpOwogICAgICAgICAgaWYgKHRoaXMubXVsdGkpIHsKICAgICAgICAgICAgdGhpcy5wdXNoKCdzZWxlY3RlZCcsIGl0ZW0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9nZ2xlKSB7CiAgICAgICAgICB0aGlzLmRlc2VsZWN0SW5kZXgoaWR4KTsKICAgICAgICB9CiAgICAgIH0KCiAgICB9CgogICAgcmV0dXJuIEFycmF5U2VsZWN0b3JNaXhpbjsKCiAgfSk7CgogIC8vIGV4cG9ydCBtaXhpbgogIFBvbHltZXIuQXJyYXlTZWxlY3Rvck1peGluID0gQXJyYXlTZWxlY3Rvck1peGluOwoKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAZXh0ZW5kcyB7UG9seW1lci5FbGVtZW50fQogICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0FycmF5U2VsZWN0b3JNaXhpbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGxldCBiYXNlQXJyYXlTZWxlY3RvciA9IEFycmF5U2VsZWN0b3JNaXhpbihQb2x5bWVyLkVsZW1lbnQpOwoKICAvKioKICAgKiBFbGVtZW50IGltcGxlbWVudGluZyB0aGUgYFBvbHltZXIuQXJyYXlTZWxlY3RvcmAgbWl4aW4sIHdoaWNoIHJlY29yZHMKICAgKiBkeW5hbWljIGFzc29jaWF0aW9ucyBiZXR3ZWVuIGl0ZW0gcGF0aHMgaW4gYSBtYXN0ZXIgYGl0ZW1zYCBhcnJheSBhbmQgYQogICAqIGBzZWxlY3RlZGAgYXJyYXkgc3VjaCB0aGF0IHBhdGggY2hhbmdlcyB0byB0aGUgbWFzdGVyIGFycmF5IChhdCB0aGUgaG9zdCkKICAgKiBlbGVtZW50IG9yIGVsc2V3aGVyZSB2aWEgZGF0YS1iaW5kaW5nKSBhcmUgY29ycmVjdGx5IHByb3BhZ2F0ZWQgdG8gaXRlbXMKICAgKiBpbiB0aGUgc2VsZWN0ZWQgYXJyYXkgYW5kIHZpY2UtdmVyc2EuCiAgICoKICAgKiBUaGUgYGl0ZW1zYCBwcm9wZXJ0eSBhY2NlcHRzIGFuIGFycmF5IG9mIHVzZXIgZGF0YSwgYW5kIHZpYSB0aGUKICAgKiBgc2VsZWN0KGl0ZW0pYCBhbmQgYGRlc2VsZWN0KGl0ZW0pYCBBUEksIHVwZGF0ZXMgdGhlIGBzZWxlY3RlZGAgcHJvcGVydHkKICAgKiB3aGljaCBtYXkgYmUgYm91bmQgdG8gb3RoZXIgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLCBhbmQgYW55IGNoYW5nZXMgdG8KICAgKiBzdWItZmllbGRzIG9mIGBzZWxlY3RlZGAgaXRlbShzKSB3aWxsIGJlIGtlcHQgaW4gc3luYyB3aXRoIGl0ZW1zIGluIHRoZQogICAqIGBpdGVtc2AgYXJyYXkuICBXaGVuIGBtdWx0aWAgaXMgZmFsc2UsIGBzZWxlY3RlZGAgaXMgYSBwcm9wZXJ0eQogICAqIHJlcHJlc2VudGluZyB0aGUgbGFzdCBzZWxlY3RlZCBpdGVtLiAgV2hlbiBgbXVsdGlgIGlzIHRydWUsIGBzZWxlY3RlZGAKICAgKiBpcyBhbiBhcnJheSBvZiBtdWx0aXBseSBzZWxlY3RlZCBpdGVtcy4KICAgKgogICAqIEV4YW1wbGU6CiAgICoKICAgKiBgYGBodG1sCiAgICogPGRvbS1tb2R1bGUgaWQ9ImVtcGxveWVlLWxpc3QiPgogICAqCiAgICogICA8dGVtcGxhdGU+CiAgICoKICAgKiAgICAgPGRpdj4gRW1wbG95ZWUgbGlzdDogPC9kaXY+CiAgICogICAgIDxkb20tcmVwZWF0IGlkPSJlbXBsb3llZUxpc3QiIGl0ZW1zPSJ7e2VtcGxveWVlc319Ij4KICAgKiAgICAgICA8dGVtcGxhdGU+CiAgICogICAgICAgICA8ZGl2PkZpcnN0IG5hbWU6IDxzcGFuPnt7aXRlbS5maXJzdH19PC9zcGFuPjwvZGl2PgogICAqICAgICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICAgICAgPGJ1dHRvbiBvbi1jbGljaz0idG9nZ2xlU2VsZWN0aW9uIj5TZWxlY3Q8L2J1dHRvbj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgICAgPGFycmF5LXNlbGVjdG9yIGlkPSJzZWxlY3RvciIgaXRlbXM9Int7ZW1wbG95ZWVzfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkfX0iIG11bHRpIHRvZ2dsZT48L2FycmF5LXNlbGVjdG9yPgogICAqCiAgICogICAgIDxkaXY+IFNlbGVjdGVkIGVtcGxveWVlczogPC9kaXY+CiAgICogICAgIDxkb20tcmVwZWF0IGl0ZW1zPSJ7e3NlbGVjdGVkfX0iPgogICAqICAgICAgIDx0ZW1wbGF0ZT4KICAgKiAgICAgICAgIDxkaXY+Rmlyc3QgbmFtZTogPHNwYW4+e3tpdGVtLmZpcnN0fX08L3NwYW4+PC9kaXY+CiAgICogICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgIDwvdGVtcGxhdGU+CiAgICoKICAgKiA8L2RvbS1tb2R1bGU+CiAgICogYGBgCiAgICoKICAgKiBgYGBqcwogICAqY2xhc3MgRW1wbG95ZWVMaXN0IGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgc3RhdGljIGdldCBpcygpIHsgcmV0dXJuICdlbXBsb3llZS1saXN0JzsgfQogICAqICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7CiAgICogICAgcmV0dXJuIHsKICAgKiAgICAgIGVtcGxveWVlczogewogICAqICAgICAgICB2YWx1ZSgpIHsKICAgKiAgICAgICAgICByZXR1cm4gWwogICAqICAgICAgICAgICAge2ZpcnN0OiAnQm9iJywgbGFzdDogJ1NtaXRoJ30sCiAgICogICAgICAgICAgICB7Zmlyc3Q6ICdTYWxseScsIGxhc3Q6ICdKb2huc29uJ30sCiAgICogICAgICAgICAgICAuLi4KICAgKiAgICAgICAgICBdOwogICAqICAgICAgICB9CiAgICogICAgICB9CiAgICogICAgfTsKICAgKiAgfQogICAqICB0b2dnbGVTZWxlY3Rpb24oZSkgewogICAqICAgIGxldCBpdGVtID0gdGhpcy4kLmVtcGxveWVlTGlzdC5pdGVtRm9yRWxlbWVudChlLnRhcmdldCk7CiAgICogICAgdGhpcy4kLnNlbGVjdG9yLnNlbGVjdChpdGVtKTsKICAgKiAgfQogICAqfQogICAqIGBgYAogICAqCiAgICogQHBvbHltZXIKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIHtiYXNlQXJyYXlTZWxlY3Rvcn0KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuQXJyYXlTZWxlY3Rvck1peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0aGF0IGxpbmtzIHBhdGhzIGJldHdlZW4gYW4gaW5wdXQgYGl0ZW1zYCBhcnJheSBhbmQKICAgKiAgIGFuIG91dHB1dCBgc2VsZWN0ZWRgIGl0ZW0gb3IgYXJyYXkgYmFzZWQgb24gY2FsbHMgdG8gaXRzIHNlbGVjdGlvbiBBUEkuCiAgICovCiAgY2xhc3MgQXJyYXlTZWxlY3RvciBleHRlbmRzIGJhc2VBcnJheVNlbGVjdG9yIHsKICAgIC8vIE5vdCBuZWVkZWQgdG8gZmluZCB0ZW1wbGF0ZTsgY2FuIGJlIHJlbW92ZWQgb25jZSB0aGUgYW5hbHl6ZXIKICAgIC8vIGNhbiBmaW5kIHRoZSB0YWcgbmFtZSBmcm9tIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBjYWxsCiAgICBzdGF0aWMgZ2V0IGlzKCkgeyByZXR1cm4gJ2FycmF5LXNlbGVjdG9yJzsgfQogIH0KICBjdXN0b21FbGVtZW50cy5kZWZpbmUoQXJyYXlTZWxlY3Rvci5pcywgQXJyYXlTZWxlY3Rvcik7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkFycmF5U2VsZWN0b3IgPSBBcnJheVNlbGVjdG9yOwoKfSkoKTsKCgooZnVuY3Rpb24oKXsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBjPW51bGwsZj13aW5kb3cuSFRNTEltcG9ydHMmJndpbmRvdy5IVE1MSW1wb3J0cy53aGVuUmVhZHl8fG51bGwsZztmdW5jdGlvbiBoKGEpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2Y/ZihhKTooY3x8KGM9bmV3IFByb21pc2UoZnVuY3Rpb24oYSl7Zz1hfSksImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZygpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7ImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJmcoKX0pKSxjLnRoZW4oZnVuY3Rpb24oKXthJiZhKCl9KSl9KX07dmFyIGs9bnVsbCxsPW51bGw7ZnVuY3Rpb24gbSgpe3RoaXMuY3VzdG9tU3R5bGVzPVtdO3RoaXMuZW5xdWV1ZWQ9ITE7aChmdW5jdGlvbigpe3dpbmRvdy5TaGFkeUNTUy5mbHVzaEN1c3RvbVN0eWxlcyYmd2luZG93LlNoYWR5Q1NTLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KX1mdW5jdGlvbiBuKGEpeyFhLmVucXVldWVkJiZsJiYoYS5lbnF1ZXVlZD0hMCxoKGwpKX1tLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe2EuX19zZWVuQnlTaGFkeUNTU3x8KGEuX19zZWVuQnlTaGFkeUNTUz0hMCx0aGlzLmN1c3RvbVN0eWxlcy5wdXNoKGEpLG4odGhpcykpfTttLnByb3RvdHlwZS5iPWZ1bmN0aW9uKGEpe2lmKGEuX19zaGFkeUNTU0NhY2hlZFN0eWxlKXJldHVybiBhLl9fc2hhZHlDU1NDYWNoZWRTdHlsZTt2YXIgYjthLmdldFN0eWxlP2I9YS5nZXRTdHlsZSgpOmI9YTtyZXR1cm4gYn07Cm0ucHJvdG90eXBlLmE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5jdXN0b21TdHlsZXMsYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgZD1hW2JdO2lmKCFkLl9fc2hhZHlDU1NDYWNoZWRTdHlsZSl7dmFyIGU9dGhpcy5iKGQpO2UmJihlPWUuX19hcHBsaWVkRWxlbWVudHx8ZSxrJiZrKGUpLGQuX19zaGFkeUNTU0NhY2hlZFN0eWxlPWUpfX1yZXR1cm4gYX07bS5wcm90b3R5cGUuYWRkQ3VzdG9tU3R5bGU9bS5wcm90b3R5cGUuYzttLnByb3RvdHlwZS5nZXRTdHlsZUZvckN1c3RvbVN0eWxlPW0ucHJvdG90eXBlLmI7bS5wcm90b3R5cGUucHJvY2Vzc1N0eWxlcz1tLnByb3RvdHlwZS5hOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhtLnByb3RvdHlwZSx7dHJhbnNmb3JtQ2FsbGJhY2s6e2dldDpmdW5jdGlvbigpe3JldHVybiBrfSxzZXQ6ZnVuY3Rpb24oYSl7az1hfX0sdmFsaWRhdGVDYWxsYmFjazp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHNldDpmdW5jdGlvbihhKXt2YXIgYj0hMTtsfHwoYj0hMCk7bD1hO2ImJm4odGhpcyl9fX0pO2Z1bmN0aW9uIHAoYSxiKXtmb3IodmFyIGQgaW4gYiludWxsPT09ZD9hLnN0eWxlLnJlbW92ZVByb3BlcnR5KGQpOmEuc3R5bGUuc2V0UHJvcGVydHkoZCxiW2RdKX07dmFyIHE9ISh3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5pblVzZSkscjtmdW5jdGlvbiB0KGEpe3I9YSYmYS5zaGltY3NzcHJvcGVydGllcz8hMTpxfHwhKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FwcGxlV2ViS2l0XC82MDF8RWRnZVwvMTUvKXx8IXdpbmRvdy5DU1N8fCFDU1Muc3VwcG9ydHN8fCFDU1Muc3VwcG9ydHMoImJveC1zaGFkb3ciLCIwIDAgMCB2YXIoLS1mb28pIikpfXZhciB1O3dpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkJiYodT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQpO3ZhciB2PSEoIXdpbmRvdy5TaGFkeUNTU3x8IXdpbmRvdy5TaGFkeUNTUy5kaXNhYmxlUnVudGltZSk7CndpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzcz9yPXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M6d2luZG93LlNoYWR5Q1NTPyh0KHdpbmRvdy5TaGFkeUNTUyksd2luZG93LlNoYWR5Q1NTPXZvaWQgMCk6dCh3aW5kb3cuV2ViQ29tcG9uZW50cyYmd2luZG93LldlYkNvbXBvbmVudHMuZmxhZ3MpO3ZhciB3PXIseD11O3ZhciB5PW5ldyBtO3dpbmRvdy5TaGFkeUNTU3x8KHdpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlOmZ1bmN0aW9uKCl7fSxwcmVwYXJlVGVtcGxhdGVEb206ZnVuY3Rpb24oKXt9LHByZXBhcmVUZW1wbGF0ZVN0eWxlczpmdW5jdGlvbigpe30sc3R5bGVTdWJ0cmVlOmZ1bmN0aW9uKGEsYil7eS5hKCk7cChhLGIpfSxzdHlsZUVsZW1lbnQ6ZnVuY3Rpb24oKXt5LmEoKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXt5LmEoKTtwKGRvY3VtZW50LmJvZHksYSl9LGdldENvbXB1dGVkU3R5bGVWYWx1ZTpmdW5jdGlvbihhLGIpe3JldHVybihhPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmdldFByb3BlcnR5VmFsdWUoYikpP2EudHJpbSgpOiIifSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe30sbmF0aXZlQ3NzOncsbmF0aXZlU2hhZG93OnEsY3NzQnVpbGQ6eCxkaXNhYmxlUnVudGltZTp2fSk7d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlPXk7fSkuY2FsbCh0aGlzKTsKCgoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGNvbnN0IGF0dHIgPSAnaW5jbHVkZSc7CgogIGNvbnN0IEN1c3RvbVN0eWxlSW50ZXJmYWNlID0gd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlOwoKICAvKioKICAgKiBDdXN0b20gZWxlbWVudCBmb3IgZGVmaW5pbmcgc3R5bGVzIGluIHRoZSBtYWluIGRvY3VtZW50IHRoYXQgY2FuIHRha2UKICAgKiBhZHZhbnRhZ2Ugb2YgW3NoYWR5IERPTV0oaHR0cHM6Ly9naXRodWIuY29tL3dlYmNvbXBvbmVudHMvc2hhZHljc3MpIHNoaW1zCiAgICogZm9yIHN0eWxlIGVuY2Fwc3VsYXRpb24sIGN1c3RvbSBwcm9wZXJ0aWVzLCBhbmQgY3VzdG9tIG1peGlucy4KICAgKgogICAqIC0gRG9jdW1lbnQgc3R5bGVzIGRlZmluZWQgaW4gYSBgPGN1c3RvbS1zdHlsZT5gIGFyZSBzaGltbWVkIHRvIGVuc3VyZSB0aGV5CiAgICogICBkbyBub3QgbGVhayBpbnRvIGxvY2FsIERPTSB3aGVuIHJ1bm5pbmcgb24gYnJvd3NlcnMgd2l0aG91dCBuYXRpdmUKICAgKiAgIFNoYWRvdyBET00uCiAgICogLSBDdXN0b20gcHJvcGVydGllcyBjYW4gYmUgZGVmaW5lZCBpbiBhIGA8Y3VzdG9tLXN0eWxlPmAuIFVzZSB0aGUgYGh0bWxgIHNlbGVjdG9yCiAgICogICB0byBkZWZpbmUgY3VzdG9tIHByb3BlcnRpZXMgdGhhdCBhcHBseSB0byBhbGwgY3VzdG9tIGVsZW1lbnRzLgogICAqIC0gQ3VzdG9tIG1peGlucyBjYW4gYmUgZGVmaW5lZCBpbiBhIGA8Y3VzdG9tLXN0eWxlPmAsIGlmIHlvdSBpbXBvcnQgdGhlIG9wdGlvbmFsCiAgICogICBbYXBwbHkgc2hpbV0oaHR0cHM6Ly9naXRodWIuY29tL3dlYmNvbXBvbmVudHMvc2hhZHljc3MjYWJvdXQtYXBwbHlzaGltKQogICAqICAgKGBzaGFkeWNzcy9hcHBseS1zaGltLmh0bWxgKS4KICAgKgogICAqIFRvIHVzZToKICAgKgogICAqIC0gSW1wb3J0IGBjdXN0b20tc3R5bGUuaHRtbGAuCiAgICogLSBQbGFjZSBhIGA8Y3VzdG9tLXN0eWxlPmAgZWxlbWVudCBpbiB0aGUgbWFpbiBkb2N1bWVudCwgd3JhcHBpbmcgYW4gaW5saW5lIGA8c3R5bGU+YCB0YWcgdGhhdAogICAqICAgY29udGFpbnMgdGhlIENTUyBydWxlcyB5b3Ugd2FudCB0byBzaGltLgogICAqCiAgICogRm9yIGV4YW1wbGU6CiAgICoKICAgKiBgYGBodG1sCiAgICogPCEtLSBpbXBvcnQgYXBwbHkgc2hpbS0tb25seSByZXF1aXJlZCBpZiB1c2luZyBtaXhpbnMgLS0+CiAgICogPGxpbmsgcmVsPSJpbXBvcnQiIGhyZWY9ImJvd2VyX2NvbXBvbmVudHMvc2hhZHljc3MvYXBwbHktc2hpbS5odG1sIj4KICAgKiA8IS0tIGltcG9ydCBjdXN0b20tc3R5bGUgZWxlbWVudCAtLT4KICAgKiA8bGluayByZWw9ImltcG9ydCIgaHJlZj0iYm93ZXJfY29tcG9uZW50cy9wb2x5bWVyL2xpYi9lbGVtZW50cy9jdXN0b20tc3R5bGUuaHRtbCI+CiAgICoKICAgKiA8Y3VzdG9tLXN0eWxlPgogICAqICAgPHN0eWxlPgogICAqICAgICBodG1sIHsKICAgKiAgICAgICAtLWN1c3RvbS1jb2xvcjogYmx1ZTsKICAgKiAgICAgICAtLWN1c3RvbS1taXhpbjogewogICAqICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICogICAgICAgICBjb2xvcjogcmVkOwogICAqICAgICAgIH07CiAgICogICAgIH0KICAgKiAgIDwvc3R5bGU+CiAgICogPC9jdXN0b20tc3R5bGU+CiAgICogYGBgCiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIEhUTUxFbGVtZW50CiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCBmb3IgZGVmaW5pbmcgc3R5bGVzIGluIHRoZSBtYWluIGRvY3VtZW50IHRoYXQgY2FuCiAgICogICB0YWtlIGFkdmFudGFnZSBvZiBQb2x5bWVyJ3Mgc3R5bGUgc2NvcGluZyBhbmQgY3VzdG9tIHByb3BlcnRpZXMgc2hpbXMuCiAgICovCiAgY2xhc3MgQ3VzdG9tU3R5bGUgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoKTsKICAgICAgdGhpcy5fc3R5bGUgPSBudWxsOwogICAgICBDdXN0b21TdHlsZUludGVyZmFjZS5hZGRDdXN0b21TdHlsZSh0aGlzKTsKICAgIH0KICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGlnaHQtRE9NIGA8c3R5bGU+YCBjaGlsZCB0aGlzIGVsZW1lbnQgd3JhcHMuICBVcG9uIGZpcnN0CiAgICAgKiBjYWxsIGFueSBzdHlsZSBtb2R1bGVzIHJlZmVyZW5jZWQgdmlhIHRoZSBgaW5jbHVkZWAgYXR0cmlidXRlIHdpbGwgYmUKICAgICAqIGNvbmNhdGVuYXRlZCB0byB0aGlzIGVsZW1lbnQncyBgPHN0eWxlPmAuCiAgICAgKgogICAgICogQHJldHVybiB7SFRNTFN0eWxlRWxlbWVudH0gVGhpcyBlbGVtZW50J3MgbGlnaHQtRE9NIGA8c3R5bGU+YAogICAgICovCiAgICBnZXRTdHlsZSgpIHsKICAgICAgaWYgKHRoaXMuX3N0eWxlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlOwogICAgICB9CiAgICAgIGNvbnN0IHN0eWxlID0gLyoqIEB0eXBlIHtIVE1MU3R5bGVFbGVtZW50fSAqLyh0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJykpOwogICAgICBpZiAoIXN0eWxlKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKICAgICAgY29uc3QgaW5jbHVkZSA9IHN0eWxlLmdldEF0dHJpYnV0ZShhdHRyKTsKICAgICAgaWYgKGluY2x1ZGUpIHsKICAgICAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7CiAgICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSBQb2x5bWVyLlN0eWxlR2F0aGVyLmNzc0Zyb21Nb2R1bGVzKGluY2x1ZGUpICsgc3R5bGUudGV4dENvbnRlbnQ7CiAgICAgIH0KICAgICAgLyoKICAgICAgSFRNTCBJbXBvcnRzIHN0eWxpbmcgdGhlIG1haW4gZG9jdW1lbnQgYXJlIGRlcHJlY2F0ZWQgaW4gQ2hyb21lCiAgICAgIGh0dHBzOi8vY3JidWcuY29tLzUyMzk1MgoKICAgICAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBpbiB0aGUgbWFpbiBkb2N1bWVudCwgdGhlbiBpdCBtdXN0IGJlIGluIGFuIEhUTUwgSW1wb3J0IGRvY3VtZW50LgogICAgICBJbiB0aGF0IGNhc2UsIG1vdmUgdGhlIGN1c3RvbSBzdHlsZSB0byB0aGUgbWFpbiBkb2N1bWVudC4KCiAgICAgIFRoZSBvcmRlcmluZyBvZiBgPGN1c3RvbS1zdHlsZT5gIHNob3VsZCBzdGF5IHRoZSBzYW1lIGFzIHdoZW4gbG9hZGVkIGJ5IEhUTUwgSW1wb3J0cywgYnV0IHRoZXJlIG1heSBiZSBvZGQKICAgICAgY2FzZXMgb2Ygb3JkZXJpbmcgdy5yLnQgdGhlIG1haW4gZG9jdW1lbnQgc3R5bGVzLgogICAgICAqLwogICAgICBpZiAodGhpcy5vd25lckRvY3VtZW50ICE9PSB3aW5kb3cuZG9jdW1lbnQpIHsKICAgICAgICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0aGlzKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5fc3R5bGU7CiAgICB9CiAgfQoKICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tc3R5bGUnLCBDdXN0b21TdHlsZSk7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkN1c3RvbVN0eWxlID0gQ3VzdG9tU3R5bGU7Cn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgbGV0IG11dGFibGVQcm9wZXJ0eUNoYW5nZTsKICAvKiogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gKi8KICAoKCkgPT4gewogICAgbXV0YWJsZVByb3BlcnR5Q2hhbmdlID0gUG9seW1lci5NdXRhYmxlRGF0YS5fbXV0YWJsZVByb3BlcnR5Q2hhbmdlOwogIH0pKCk7CgogIC8qKgogICAqIExlZ2FjeSBlbGVtZW50IGJlaGF2aW9yIHRvIHNraXAgc3RyaWN0IGRpcnR5LWNoZWNraW5nIGZvciBvYmplY3RzIGFuZCBhcnJheXMsCiAgICogKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpIGZvciB1c2Ugb24gbGVnYWN5IEFQSSBQb2x5bWVyIGVsZW1lbnRzLgogICAqCiAgICogQnkgZGVmYXVsdCwgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCBwZXJmb3JtcyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgb24KICAgKiBvYmplY3RzLCB3aGljaCBtZWFucyB0aGF0IGFueSBkZWVwIG1vZGlmaWNhdGlvbnMgdG8gYW4gb2JqZWN0IG9yIGFycmF5IHdpbGwKICAgKiBub3QgYmUgcHJvcGFnYXRlZCB1bmxlc3MgImltbXV0YWJsZSIgZGF0YSBwYXR0ZXJucyBhcmUgdXNlZCAoaS5lLiBhbGwgb2JqZWN0CiAgICogcmVmZXJlbmNlcyBmcm9tIHRoZSByb290IHRvIHRoZSBtdXRhdGlvbiB3ZXJlIGNoYW5nZWQpLgogICAqCiAgICogUG9seW1lciBhbHNvIHByb3ZpZGVzIGEgcHJvcHJpZXRhcnkgZGF0YSBtdXRhdGlvbiBhbmQgcGF0aCBub3RpZmljYXRpb24gQVBJCiAgICogKGUuZy4gYG5vdGlmeVBhdGhgLCBgc2V0YCwgYW5kIGFycmF5IG11dGF0aW9uIEFQSSdzKSB0aGF0IGFsbG93IGVmZmljaWVudAogICAqIG11dGF0aW9uIGFuZCBub3RpZmljYXRpb24gb2YgZGVlcCBjaGFuZ2VzIGluIGFuIG9iamVjdCBncmFwaCB0byBhbGwgZWxlbWVudHMKICAgKiBib3VuZCB0byB0aGUgc2FtZSBvYmplY3QgZ3JhcGguCiAgICoKICAgKiBJbiBjYXNlcyB3aGVyZSBuZWl0aGVyIGltbXV0YWJsZSBwYXR0ZXJucyBub3IgdGhlIGRhdGEgbXV0YXRpb24gQVBJIGNhbiBiZQogICAqIHVzZWQsIGFwcGx5aW5nIHRoaXMgbWl4aW4gd2lsbCBjYXVzZSBQb2x5bWVyIHRvIHNraXAgZGlydHkgY2hlY2tpbmcgZm9yCiAgICogb2JqZWN0cyBhbmQgYXJyYXlzIChhbHdheXMgY29uc2lkZXIgdGhlbSB0byBiZSAiZGlydHkiKS4gIFRoaXMgYWxsb3dzIGEKICAgKiB1c2VyIHRvIG1ha2UgYSBkZWVwIG1vZGlmaWNhdGlvbiB0byBhIGJvdW5kIG9iamVjdCBncmFwaCwgYW5kIHRoZW4gZWl0aGVyCiAgICogc2ltcGx5IHJlLXNldCB0aGUgb2JqZWN0IChlLmcuIGB0aGlzLml0ZW1zID0gdGhpcy5pdGVtc2ApIG9yIGNhbGwgYG5vdGlmeVBhdGhgCiAgICogKGUuZy4gYHRoaXMubm90aWZ5UGF0aCgnaXRlbXMnKWApIHRvIHVwZGF0ZSB0aGUgdHJlZS4gIE5vdGUgdGhhdCBhbGwKICAgKiBlbGVtZW50cyB0aGF0IHdpc2ggdG8gYmUgdXBkYXRlZCBiYXNlZCBvbiBkZWVwIG11dGF0aW9ucyBtdXN0IGFwcGx5IHRoaXMKICAgKiBtaXhpbiBvciBvdGhlcndpc2Ugc2tpcCBzdHJpY3QgZGlydHkgY2hlY2tpbmcgZm9yIG9iamVjdHMvYXJyYXlzLgogICAqIFNwZWNpZmljYWxseSwgYW55IGVsZW1lbnRzIGluIHRoZSBiaW5kaW5nIHRyZWUgYmV0d2VlbiB0aGUgc291cmNlIG9mIGEKICAgKiBtdXRhdGlvbiBhbmQgdGhlIGNvbnN1bXB0aW9uIG9mIGl0IG11c3QgYXBwbHkgdGhpcyBiZWhhdmlvciBvciBlbmFibGUgdGhlCiAgICogYFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YUJlaGF2aW9yYC4KICAgKgogICAqIEluIG9yZGVyIHRvIG1ha2UgdGhlIGRpcnR5IGNoZWNrIHN0cmF0ZWd5IGNvbmZpZ3VyYWJsZSwgc2VlCiAgICogYFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YUJlaGF2aW9yYC4KICAgKgogICAqIE5vdGUsIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvcGFnYXRpbmcgbGFyZ2Ugb2JqZWN0IGdyYXBocwogICAqIHdpbGwgYmUgd29yc2UgYXMgb3Bwb3NlZCB0byB1c2luZyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgd2l0aCBpbW11dGFibGUKICAgKiBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24gQVBJLgogICAqCiAgICogQHBvbHltZXJCZWhhdmlvcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgQmVoYXZpb3IgdG8gc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kCiAgICogICBhcnJheXMKICAgKi8KICBQb2x5bWVyLk11dGFibGVEYXRhQmVoYXZpb3IgPSB7CgogICAgLyoqCiAgICAgKiBPdmVycmlkZXMgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCB0byBwcm92aWRlIG9wdGlvbiBmb3Igc2tpcHBpbmcKICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIHB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYAogICAgICogY2FjaGUgKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAqIGNhY2hlIGlzIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiBhIHR1cm4sIHRoaXMgaW1wbGVtZW50YXRpb24gYWxsb3dzCiAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAqIGN5Y2xlcyBkdWUgdG8gMi13YXkgbm90aWZpY2F0aW9uKS4KICAgICAqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBOZXcgcHJvcGVydHkgdmFsdWUKICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICogQHByb3RlY3RlZAogICAgICovCiAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgcmV0dXJuIG11dGFibGVQcm9wZXJ0eUNoYW5nZSh0aGlzLCBwcm9wZXJ0eSwgdmFsdWUsIG9sZCwgdHJ1ZSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogTGVnYWN5IGVsZW1lbnQgYmVoYXZpb3IgdG8gYWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIHNraXAgc3RyaWN0CiAgICogZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUKICAgKiAiZGlydHkiKSBieSBzZXR0aW5nIGEgYG11dGFibGUtZGF0YWAgYXR0cmlidXRlIG9uIGFuIGVsZW1lbnQgaW5zdGFuY2UuCiAgICoKICAgKiBCeSBkZWZhdWx0LCBgUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHNgIHBlcmZvcm1zIHN0cmljdCBkaXJ0eSBjaGVja2luZyBvbgogICAqIG9iamVjdHMsIHdoaWNoIG1lYW5zIHRoYXQgYW55IGRlZXAgbW9kaWZpY2F0aW9ucyB0byBhbiBvYmplY3Qgb3IgYXJyYXkgd2lsbAogICAqIG5vdCBiZSBwcm9wYWdhdGVkIHVubGVzcyAiaW1tdXRhYmxlIiBkYXRhIHBhdHRlcm5zIGFyZSB1c2VkIChpLmUuIGFsbCBvYmplY3QKICAgKiByZWZlcmVuY2VzIGZyb20gdGhlIHJvb3QgdG8gdGhlIG11dGF0aW9uIHdlcmUgY2hhbmdlZCkuCiAgICoKICAgKiBQb2x5bWVyIGFsc28gcHJvdmlkZXMgYSBwcm9wcmlldGFyeSBkYXRhIG11dGF0aW9uIGFuZCBwYXRoIG5vdGlmaWNhdGlvbiBBUEkKICAgKiAoZS5nLiBgbm90aWZ5UGF0aGAsIGBzZXRgLCBhbmQgYXJyYXkgbXV0YXRpb24gQVBJJ3MpIHRoYXQgYWxsb3cgZWZmaWNpZW50CiAgICogbXV0YXRpb24gYW5kIG5vdGlmaWNhdGlvbiBvZiBkZWVwIGNoYW5nZXMgaW4gYW4gb2JqZWN0IGdyYXBoIHRvIGFsbCBlbGVtZW50cwogICAqIGJvdW5kIHRvIHRoZSBzYW1lIG9iamVjdCBncmFwaC4KICAgKgogICAqIEluIGNhc2VzIHdoZXJlIG5laXRoZXIgaW1tdXRhYmxlIHBhdHRlcm5zIG5vciB0aGUgZGF0YSBtdXRhdGlvbiBBUEkgY2FuIGJlCiAgICogdXNlZCwgYXBwbHlpbmcgdGhpcyBtaXhpbiB3aWxsIGFsbG93IFBvbHltZXIgdG8gc2tpcCBkaXJ0eSBjaGVja2luZyBmb3IKICAgKiBvYmplY3RzIGFuZCBhcnJheXMgKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpLiAgVGhpcyBhbGxvd3MgYQogICAqIHVzZXIgdG8gbWFrZSBhIGRlZXAgbW9kaWZpY2F0aW9uIHRvIGEgYm91bmQgb2JqZWN0IGdyYXBoLCBhbmQgdGhlbiBlaXRoZXIKICAgKiBzaW1wbHkgcmUtc2V0IHRoZSBvYmplY3QgKGUuZy4gYHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zYCkgb3IgY2FsbCBgbm90aWZ5UGF0aGAKICAgKiAoZS5nLiBgdGhpcy5ub3RpZnlQYXRoKCdpdGVtcycpYCkgdG8gdXBkYXRlIHRoZSB0cmVlLiAgTm90ZSB0aGF0IGFsbAogICAqIGVsZW1lbnRzIHRoYXQgd2lzaCB0byBiZSB1cGRhdGVkIGJhc2VkIG9uIGRlZXAgbXV0YXRpb25zIG11c3QgYXBwbHkgdGhpcwogICAqIG1peGluIG9yIG90aGVyd2lzZSBza2lwIHN0cmljdCBkaXJ0eSBjaGVja2luZyBmb3Igb2JqZWN0cy9hcnJheXMuCiAgICogU3BlY2lmaWNhbGx5LCBhbnkgZWxlbWVudHMgaW4gdGhlIGJpbmRpbmcgdHJlZSBiZXR3ZWVuIHRoZSBzb3VyY2Ugb2YgYQogICAqIG11dGF0aW9uIGFuZCB0aGUgY29uc3VtcHRpb24gb2YgaXQgbXVzdCBlbmFibGUgdGhpcyBiZWhhdmlvciBvciBhcHBseSB0aGUKICAgKiBgUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3JgLgogICAqCiAgICogV2hpbGUgdGhpcyBiZWhhdmlvciBhZGRzIHRoZSBhYmlsaXR5IHRvIGZvcmdvIE9iamVjdC9BcnJheSBkaXJ0eSBjaGVja2luZywKICAgKiB0aGUgYG11dGFibGVEYXRhYCBmbGFnIGRlZmF1bHRzIHRvIGZhbHNlIGFuZCBtdXN0IGJlIHNldCBvbiB0aGUgaW5zdGFuY2UuCiAgICoKICAgKiBOb3RlLCB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzIG9mIHByb3BhZ2F0aW5nIGxhcmdlIG9iamVjdCBncmFwaHMKICAgKiB3aWxsIGJlIHdvcnNlIGJ5IHJlbHlpbmcgb24gYG11dGFibGVEYXRhOiB0cnVlYCBhcyBvcHBvc2VkIHRvIHVzaW5nCiAgICogc3RyaWN0IGRpcnR5IGNoZWNraW5nIHdpdGggaW1tdXRhYmxlIHBhdHRlcm5zIG9yIFBvbHltZXIncyBwYXRoIG5vdGlmaWNhdGlvbgogICAqIEFQSS4KICAgKgogICAqIEBwb2x5bWVyQmVoYXZpb3IKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEJlaGF2aW9yIHRvIG9wdGlvbmFsbHkgc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kCiAgICogICBhcnJheXMKICAgKi8KICBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFCZWhhdmlvciA9IHsKCiAgICBwcm9wZXJ0aWVzOiB7CiAgICAgIC8qKgogICAgICAgKiBJbnN0YW5jZS1sZXZlbCBmbGFnIGZvciBjb25maWd1cmluZyB0aGUgZGlydHktY2hlY2tpbmcgc3RyYXRlZ3kKICAgICAgICogZm9yIHRoaXMgZWxlbWVudC4gIFdoZW4gdHJ1ZSwgT2JqZWN0cyBhbmQgQXJyYXlzIHdpbGwgc2tpcCBkaXJ0eQogICAgICAgKiBjaGVja2luZywgb3RoZXJ3aXNlIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyB3aWxsIGJlIHVzZWQuCiAgICAgICAqLwogICAgICBtdXRhYmxlRGF0YTogQm9vbGVhbgogICAgfSwKCiAgICAvKioKICAgICAqIE92ZXJyaWRlcyBgUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHNgIHRvIHNraXAgc3RyaWN0IGVxdWFsaXR5IGNoZWNraW5nCiAgICAgKiBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICoKICAgICAqIFB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYCBjYWNoZQogICAgICogKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAqIGNhY2hlIGlzIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiBhIHR1cm4sIHRoaXMgaW1wbGVtZW50YXRpb24gYWxsb3dzCiAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAqIGN5Y2xlcyBkdWUgdG8gMi13YXkgbm90aWZpY2F0aW9uKS4KICAgICAqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBOZXcgcHJvcGVydHkgdmFsdWUKICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICogQHRoaXMge3RoaXN9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIF9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIG9sZCkgewogICAgICByZXR1cm4gbXV0YWJsZVByb3BlcnR5Q2hhbmdlKHRoaXMsIHByb3BlcnR5LCB2YWx1ZSwgb2xkLCB0aGlzLm11dGFibGVEYXRhKTsKICAgIH0KICB9OwoKfSkoKTsKCgoKICAvLyBiYwogIFBvbHltZXIuQmFzZSA9IFBvbHltZXIuTGVnYWN5RWxlbWVudE1peGluKEhUTUxFbGVtZW50KS5wcm90b3R5cGU7CgogIC8vIE5PVEU6IHRoaXMgaXMgaGVyZSBmb3IgbW9kdWxpemVyIHRvIGV4cG9ydCBgaHRtbGAgZm9yIHRoZSBtb2R1bGUgdmVyc2lvbiBvZiB0aGlzIGZpbGUKICBQb2x5bWVyLmh0bWwgPSBQb2x5bWVyLmh0bWw7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1mbGV4LWxheW91dC9pcm9uLWZsZXgtbGF5b3V0Lmh0bWwuanMKKGZ1bmN0aW9uKCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtiLnRleHRDb250ZW50PSJbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSI7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChiKX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1hMTF5LWtleXMtYmVoYXZpb3IvaXJvbi1hMTF5LWtleXMtYmVoYXZpb3IuaHRtbC5qcwooZnVuY3Rpb24oKXtmdW5jdGlvbiBiKHgsQyl7dmFyIEc9IiI7aWYoeClpZih4PXgudG9Mb3dlckNhc2UoKSwiICI9PT14fHxBLnRlc3QoeCkpRz0ic3BhY2UiO2Vsc2UgaWYoeS50ZXN0KHgpKUc9ImVzYyI7ZWxzZSBpZigxPT14Lmxlbmd0aCl7aWYoIUN8fHEudGVzdCh4KSlHPXh9ZWxzZSBHPXcudGVzdCh4KT94LnJlcGxhY2UoImFycm93IiwiIik6Im11bHRpcGx5Ij09eD8iKiI6eDtyZXR1cm4gR31mdW5jdGlvbiBkKHgpe3ZhciBDPSIiO3gmJih4IGluIHA/Qz1wW3hdOnUudGVzdCh4KT8oeD1wYXJzZUludCh4LnJlcGxhY2UoIlUrIiwiMHgiKSwxNiksQz1TdHJpbmcuZnJvbUNoYXJDb2RlKHgpLnRvTG93ZXJDYXNlKCkpOkM9eC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gQ31mdW5jdGlvbiBmKHgpe3ZhciBDPSIiO051bWJlcih4KSYmKEM9NjU8PXgmJjkwPj14P1N0cmluZy5mcm9tQ2hhckNvZGUoMzIreCk6MTEyPD14JiYxMjM+PXg/ImYiKyh4LTExMisxKTo0ODw9eCYmNTc+PXg/ClN0cmluZyh4LTQ4KTo5Njw9eCYmMTA1Pj14P1N0cmluZyh4LTk2KTptW3hdKTtyZXR1cm4gQ31mdW5jdGlvbiBoKHgsQyl7cmV0dXJuIHgua2V5P2IoeC5rZXksQyk6eC5kZXRhaWwmJnguZGV0YWlsLmtleT9iKHguZGV0YWlsLmtleSxDKTpkKHgua2V5SWRlbnRpZmllcil8fGYoeC5rZXlDb2RlKXx8IiJ9ZnVuY3Rpb24gayh4LEMpe3JldHVybiBoKEMseC5oYXNNb2RpZmllcnMpPT09eC5rZXkmJigheC5oYXNNb2RpZmllcnN8fCEhQy5zaGlmdEtleT09PSEheC5zaGlmdEtleSYmISFDLmN0cmxLZXk9PT0hIXguY3RybEtleSYmISFDLmFsdEtleT09PSEheC5hbHRLZXkmJiEhQy5tZXRhS2V5PT09ISF4Lm1ldGFLZXkpfWZ1bmN0aW9uIHIoeCl7cmV0dXJuIDE9PT14Lmxlbmd0aD97Y29tYm86eCxrZXk6eCxldmVudDoia2V5ZG93biJ9Onguc3BsaXQoIisiKS5yZWR1Y2UoZnVuY3Rpb24oQyxHKXt2YXIgRD1HLnNwbGl0KCI6Iik7Rz1EWzBdO0Q9RFsxXTtHIGluIG4/KENbbltHXV09ITAsCkMuaGFzTW9kaWZpZXJzPSEwKTooQy5rZXk9RyxDLmV2ZW50PUR8fCJrZXlkb3duIik7cmV0dXJuIEN9LHtjb21ibzp4LnNwbGl0KCI6Iikuc2hpZnQoKX0pfWZ1bmN0aW9uIGwoeCl7cmV0dXJuIHgudHJpbSgpLnNwbGl0KCIgIikubWFwKGZ1bmN0aW9uKEMpe3JldHVybiByKEMpfSl9dmFyIHA9eyJVKzAwMDgiOiJiYWNrc3BhY2UiLCJVKzAwMDkiOiJ0YWIiLCJVKzAwMUIiOiJlc2MiLCJVKzAwMjAiOiJzcGFjZSIsIlUrMDA3RiI6ImRlbCJ9LG09ezg6ImJhY2tzcGFjZSIsOToidGFiIiwxMzoiZW50ZXIiLDI3OiJlc2MiLDMzOiJwYWdldXAiLDM0OiJwYWdlZG93biIsMzU6ImVuZCIsMzY6ImhvbWUiLDMyOiJzcGFjZSIsMzc6ImxlZnQiLDM4OiJ1cCIsMzk6InJpZ2h0Iiw0MDoiZG93biIsNDY6ImRlbCIsMTA2OiIqIn0sbj17c2hpZnQ6InNoaWZ0S2V5IixjdHJsOiJjdHJsS2V5IixhbHQ6ImFsdEtleSIsbWV0YToibWV0YUtleSJ9LHE9L1thLXowLTkqXS8sdT0vVVwrLyx3PS9eYXJyb3cvLApBPS9ec3BhY2UoYmFyKT8vLHk9L15lc2NhcGUkLztQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntrZXlFdmVudFRhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LHN0b3BLZXlib2FyZEV2ZW50UHJvcGFnYXRpb246e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2JvdW5kS2V5SGFuZGxlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LF9pbXBlcmF0aXZlS2V5QmluZGluZ3M6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sb2JzZXJ2ZXJzOlsiX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnMoa2V5RXZlbnRUYXJnZXQsIF9ib3VuZEtleUhhbmRsZXJzKSJdLGtleUJpbmRpbmdzOnt9LHJlZ2lzdGVyZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wcmVwS2V5QmluZGluZ3MoKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9saXN0ZW5LZXlFdmVudExpc3RlbmVycygpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3VubGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKX0sCmFkZE93bktleUJpbmRpbmc6ZnVuY3Rpb24oeCxDKXt0aGlzLl9pbXBlcmF0aXZlS2V5QmluZGluZ3NbeF09Qzt0aGlzLl9wcmVwS2V5QmluZGluZ3MoKTt0aGlzLl9yZXNldEtleUV2ZW50TGlzdGVuZXJzKCl9LHJlbW92ZU93bktleUJpbmRpbmdzOmZ1bmN0aW9uKCl7dGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzPXt9O3RoaXMuX3ByZXBLZXlCaW5kaW5ncygpO3RoaXMuX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnMoKX0sa2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzOmZ1bmN0aW9uKHgsQyl7Qz1sKEMpO2Zvcih2YXIgRz0wO0c8Qy5sZW5ndGg7KytHKWlmKGsoQ1tHXSx4KSlyZXR1cm4hMDtyZXR1cm4hMX0sX2NvbGxlY3RLZXlCaW5kaW5nczpmdW5jdGlvbigpe3ZhciB4PXRoaXMuYmVoYXZpb3JzLm1hcChmdW5jdGlvbihDKXtyZXR1cm4gQy5rZXlCaW5kaW5nc30pOy0xPT09eC5pbmRleE9mKHRoaXMua2V5QmluZGluZ3MpJiZ4LnB1c2godGhpcy5rZXlCaW5kaW5ncyk7cmV0dXJuIHh9LApfcHJlcEtleUJpbmRpbmdzOmZ1bmN0aW9uKCl7dGhpcy5fa2V5QmluZGluZ3M9e307dGhpcy5fY29sbGVjdEtleUJpbmRpbmdzKCkuZm9yRWFjaChmdW5jdGlvbihHKXtmb3IodmFyIEQgaW4gRyl0aGlzLl9hZGRLZXlCaW5kaW5nKEQsR1tEXSl9LHRoaXMpO2Zvcih2YXIgeCBpbiB0aGlzLl9pbXBlcmF0aXZlS2V5QmluZGluZ3MpdGhpcy5fYWRkS2V5QmluZGluZyh4LHRoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5nc1t4XSk7Zm9yKHZhciBDIGluIHRoaXMuX2tleUJpbmRpbmdzKXRoaXMuX2tleUJpbmRpbmdzW0NdLnNvcnQoZnVuY3Rpb24oRyxEKXtHPUdbMF0uaGFzTW9kaWZpZXJzO3JldHVybiBHPT09RFswXS5oYXNNb2RpZmllcnM/MDpHPy0xOjF9KX0sX2FkZEtleUJpbmRpbmc6ZnVuY3Rpb24oeCxDKXtsKHgpLmZvckVhY2goZnVuY3Rpb24oRyl7dGhpcy5fa2V5QmluZGluZ3NbRy5ldmVudF09dGhpcy5fa2V5QmluZGluZ3NbRy5ldmVudF18fFtdO3RoaXMuX2tleUJpbmRpbmdzW0cuZXZlbnRdLnB1c2goW0csCkNdKX0sdGhpcyl9LF9yZXNldEtleUV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycygpO3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKX0sX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5rZXlFdmVudFRhcmdldCYmT2JqZWN0LmtleXModGhpcy5fa2V5QmluZGluZ3MpLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIEM9dGhpcy5fb25LZXlCaW5kaW5nRXZlbnQuYmluZCh0aGlzLHRoaXMuX2tleUJpbmRpbmdzW3hdKTt0aGlzLl9ib3VuZEtleUhhbmRsZXJzLnB1c2goW3RoaXMua2V5RXZlbnRUYXJnZXQseCxDXSk7dGhpcy5rZXlFdmVudFRhcmdldC5hZGRFdmVudExpc3RlbmVyKHgsQyl9LHRoaXMpfSxfdW5saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe2Zvcih2YXIgeCxDLEc7dGhpcy5fYm91bmRLZXlIYW5kbGVycy5sZW5ndGg7KXg9dGhpcy5fYm91bmRLZXlIYW5kbGVycy5wb3AoKSwKQz14WzBdLEc9eFsxXSx4PXhbMl0sQy5yZW1vdmVFdmVudExpc3RlbmVyKEcseCl9LF9vbktleUJpbmRpbmdFdmVudDpmdW5jdGlvbih4LEMpe3RoaXMuc3RvcEtleWJvYXJkRXZlbnRQcm9wYWdhdGlvbiYmQy5zdG9wUHJvcGFnYXRpb24oKTtpZighQy5kZWZhdWx0UHJldmVudGVkKWZvcih2YXIgRz0wO0c8eC5sZW5ndGg7RysrKXt2YXIgRD14W0ddWzBdLEI9eFtHXVsxXTtpZihrKEQsQykmJih0aGlzLl90cmlnZ2VyS2V5SGFuZGxlcihELEIsQyksQy5kZWZhdWx0UHJldmVudGVkKSlicmVha319LF90cmlnZ2VyS2V5SGFuZGxlcjpmdW5jdGlvbih4LEMsRyl7dmFyIEQ9T2JqZWN0LmNyZWF0ZSh4KTtELmtleWJvYXJkRXZlbnQ9Rzt4PW5ldyBDdXN0b21FdmVudCh4LmV2ZW50LHtkZXRhaWw6RCxjYW5jZWxhYmxlOiEwfSk7dGhpc1tDXS5jYWxsKHRoaXMseCk7eC5kZWZhdWx0UHJldmVudGVkJiZHLnByZXZlbnREZWZhdWx0KCl9fX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1iZWhhdmlvcnMvaXJvbi1jb250cm9sLXN0YXRlLmh0bWwuanMKUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlPXtwcm9wZXJ0aWVzOntmb2N1c2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9kaXNhYmxlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX29sZFRhYkluZGV4Ont0eXBlOlN0cmluZ30sX2JvdW5kRm9jdXNCbHVySGFuZGxlcjp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9mb2N1c0JsdXJIYW5kbGVyLmJpbmQodGhpcyl9fSxfX2hhbmRsZUV2ZW50UmV0YXJnZXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiF0aGlzLnNoYWRvd1Jvb3QmJiFQb2x5bWVyLkVsZW1lbnR9fX0sb2JzZXJ2ZXJzOlsiX2NoYW5nZWRDb250cm9sU3RhdGUoZm9jdXNlZCwgZGlzYWJsZWQpIl0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwKdGhpcy5fYm91bmRGb2N1c0JsdXJIYW5kbGVyLCEwKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kRm9jdXNCbHVySGFuZGxlciwhMCl9LF9mb2N1c0JsdXJIYW5kbGVyOmZ1bmN0aW9uKGIpe2lmKFBvbHltZXIuRWxlbWVudCl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT1iLnR5cGUpO2Vsc2UgaWYoYi50YXJnZXQ9PT10aGlzKXRoaXMuX3NldEZvY3VzZWQoImZvY3VzIj09PWIudHlwZSk7ZWxzZSBpZih0aGlzLl9faGFuZGxlRXZlbnRSZXRhcmdldGluZyl7dmFyIGQ9UG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChkKXx8dGhpcy5maXJlKGIudHlwZSx7c291cmNlRXZlbnQ6Yn0se25vZGU6dGhpcyxidWJibGVzOmIuYnViYmxlcyxjYW5jZWxhYmxlOmIuY2FuY2VsYWJsZX0pfX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsYj8idHJ1ZSI6ImZhbHNlIik7CnRoaXMuc3R5bGUucG9pbnRlckV2ZW50cz1iPyJub25lIjoiIjtiPyh0aGlzLl9vbGRUYWJJbmRleD10aGlzLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSx0aGlzLl9zZXRGb2N1c2VkKCExKSx0aGlzLnRhYkluZGV4PS0xLHRoaXMuYmx1cigpKTp2b2lkIDAhPT10aGlzLl9vbGRUYWJJbmRleCYmKG51bGw9PT10aGlzLl9vbGRUYWJJbmRleD90aGlzLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKTp0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLHRoaXMuX29sZFRhYkluZGV4KSl9LF9jaGFuZ2VkQ29udHJvbFN0YXRlOmZ1bmN0aW9uKCl7dGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCYmdGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCgpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1iZWhhdmlvcnMvaXJvbi1idXR0b24tc3RhdGUuaHRtbC5qcwpQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGw9e3Byb3BlcnRpZXM6e3ByZXNzZWQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCx2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9wcmVzc2VkQ2hhbmdlZCJ9LHRvZ2dsZXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHBvaW50ZXJEb3duOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAsdmFsdWU6ITF9LHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMH0sYXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtcHJlc3NlZCIsb2JzZXJ2ZXI6Il9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZCJ9fSxsaXN0ZW5lcnM6e2Rvd246Il9kb3duSGFuZGxlciIsdXA6Il91cEhhbmRsZXIiLHRhcDoiX3RhcEhhbmRsZXIifSwKb2JzZXJ2ZXJzOlsiX2ZvY3VzQ2hhbmdlZChmb2N1c2VkKSIsIl9hY3RpdmVDaGFuZ2VkKGFjdGl2ZSwgYXJpYUFjdGl2ZUF0dHJpYnV0ZSkiXSxrZXlCaW5kaW5nczp7ImVudGVyOmtleWRvd24iOiJfYXN5bmNDbGljayIsInNwYWNlOmtleWRvd24iOiJfc3BhY2VLZXlEb3duSGFuZGxlciIsInNwYWNlOmtleXVwIjoiX3NwYWNlS2V5VXBIYW5kbGVyIn0sX21vdXNlRXZlbnRSZTovXm1vdXNlLyxfdGFwSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMudG9nZ2xlcz90aGlzLl91c2VyQWN0aXZhdGUoIXRoaXMuYWN0aXZlKTp0aGlzLmFjdGl2ZT0hMX0sX2ZvY3VzQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLl9kZXRlY3RLZXlib2FyZEZvY3VzKGIpO2J8fHRoaXMuX3NldFByZXNzZWQoITEpfSxfZGV0ZWN0S2V5Ym9hcmRGb2N1czpmdW5jdGlvbihiKXt0aGlzLl9zZXRSZWNlaXZlZEZvY3VzRnJvbUtleWJvYXJkKCF0aGlzLnBvaW50ZXJEb3duJiZiKX0sX3VzZXJBY3RpdmF0ZTpmdW5jdGlvbihiKXt0aGlzLmFjdGl2ZSE9PQpiJiYodGhpcy5hY3RpdmU9Yix0aGlzLmZpcmUoImNoYW5nZSIpKX0sX2Rvd25IYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fc2V0UG9pbnRlckRvd24oITApO3RoaXMuX3NldFByZXNzZWQoITApO3RoaXMuX3NldFJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQoITEpfSxfdXBIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fc2V0UG9pbnRlckRvd24oITEpO3RoaXMuX3NldFByZXNzZWQoITEpfSxfc3BhY2VLZXlEb3duSGFuZGxlcjpmdW5jdGlvbihiKXtiPWIuZGV0YWlsLmtleWJvYXJkRXZlbnQ7dmFyIGQ9UG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChkKXx8KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuX3NldFByZXNzZWQoITApKX0sX3NwYWNlS2V5VXBIYW5kbGVyOmZ1bmN0aW9uKGIpe2I9UG9seW1lci5kb20oYi5kZXRhaWwua2V5Ym9hcmRFdmVudCkubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChiKXx8Cih0aGlzLnByZXNzZWQmJnRoaXMuX2FzeW5jQ2xpY2soKSx0aGlzLl9zZXRQcmVzc2VkKCExKSl9LF9hc3luY0NsaWNrOmZ1bmN0aW9uKCl7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuY2xpY2soKX0sMSl9LF9wcmVzc2VkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuX2NoYW5nZWRCdXR0b25TdGF0ZSgpfSxfYXJpYUFjdGl2ZUF0dHJpYnV0ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiZkIT1iJiZ0aGlzLmhhc0F0dHJpYnV0ZShkKSYmdGhpcy5yZW1vdmVBdHRyaWJ1dGUoZCl9LF9hY3RpdmVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMudG9nZ2xlcz90aGlzLnNldEF0dHJpYnV0ZSh0aGlzLmFyaWFBY3RpdmVBdHRyaWJ1dGUsYj8idHJ1ZSI6ImZhbHNlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUodGhpcy5hcmlhQWN0aXZlQXR0cmlidXRlKTt0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NvbnRyb2xTdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkP3RoaXMuX3NldFByZXNzZWQoITEpOgp0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NoYW5nZWRCdXR0b25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuX2J1dHRvblN0YXRlQ2hhbmdlZCYmdGhpcy5fYnV0dG9uU3RhdGVDaGFuZ2VkKCl9fTtQb2x5bWVyLklyb25CdXR0b25TdGF0ZT1bUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvcixQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWJlaGF2aW9ycy9wYXBlci1yaXBwbGUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3I9e3Byb3BlcnRpZXM6e25vaW5rOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9ub2lua0NoYW5nZWQifSxfcmlwcGxlQ29udGFpbmVyOnt0eXBlOk9iamVjdH19LF9idXR0b25TdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmZvY3VzZWQmJnRoaXMuZW5zdXJlUmlwcGxlKCl9LF9kb3duSGFuZGxlcjpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGwuX2Rvd25IYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLnByZXNzZWQmJnRoaXMuZW5zdXJlUmlwcGxlKGIpfSxlbnN1cmVSaXBwbGU6ZnVuY3Rpb24oYil7aWYoIXRoaXMuaGFzUmlwcGxlKCkpe3RoaXMuX3JpcHBsZT10aGlzLl9jcmVhdGVSaXBwbGUoKTt0aGlzLl9yaXBwbGUubm9pbms9dGhpcy5ub2luazt2YXIgZD10aGlzLl9yaXBwbGVDb250YWluZXJ8fHRoaXMucm9vdDtkJiZQb2x5bWVyLmRvbShkKS5hcHBlbmRDaGlsZCh0aGlzLl9yaXBwbGUpO2lmKGIpe2Q9ClBvbHltZXIuZG9tKHRoaXMuX3JpcHBsZUNvbnRhaW5lcnx8dGhpcyk7dmFyIGY9UG9seW1lci5kb20oYikucm9vdFRhcmdldDtkLmRlZXBDb250YWlucyhmKSYmdGhpcy5fcmlwcGxlLnVpRG93bkFjdGlvbihiKX19fSxnZXRSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLmVuc3VyZVJpcHBsZSgpO3JldHVybiB0aGlzLl9yaXBwbGV9LGhhc1JpcHBsZTpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fcmlwcGxlfSxfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLXJpcHBsZSIpfSxfbm9pbmtDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuaGFzUmlwcGxlKCkmJih0aGlzLl9yaXBwbGUubm9pbms9Yil9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1iZWhhdmlvcnMvcGFwZXItYnV0dG9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7ZWxldmF0aW9uOnt0eXBlOk51bWJlcixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAscmVhZE9ubHk6ITB9fSxvYnNlcnZlcnM6WyJfY2FsY3VsYXRlRWxldmF0aW9uKGZvY3VzZWQsIGRpc2FibGVkLCBhY3RpdmUsIHByZXNzZWQsIHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIiwiX2NvbXB1dGVLZXlib2FyZENsYXNzKHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImJ1dHRvbiIsdGFiaW5kZXg6IjAiLGFuaW1hdGVkOiEwfSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dmFyIGI9MTt0aGlzLmRpc2FibGVkP2I9MDp0aGlzLmFjdGl2ZXx8dGhpcy5wcmVzc2VkP2I9NDp0aGlzLnJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQmJihiPTMpO3RoaXMuX3NldEVsZXZhdGlvbihiKX0sX2NvbXB1dGVLZXlib2FyZENsYXNzOmZ1bmN0aW9uKGIpe3RoaXMudG9nZ2xlQ2xhc3MoImtleWJvYXJkLWZvY3VzIiwKYil9LF9zcGFjZUtleURvd25IYW5kbGVyOmZ1bmN0aW9uKGIpe1BvbHltZXIuSXJvbkJ1dHRvblN0YXRlSW1wbC5fc3BhY2VLZXlEb3duSGFuZGxlci5jYWxsKHRoaXMsYik7dGhpcy5oYXNSaXBwbGUoKSYmMT50aGlzLmdldFJpcHBsZSgpLnJpcHBsZXMubGVuZ3RoJiZ0aGlzLl9yaXBwbGUudWlEb3duQWN0aW9uKCl9LF9zcGFjZUtleVVwSGFuZGxlcjpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGwuX3NwYWNlS2V5VXBIYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLmhhc1JpcHBsZSgpJiZ0aGlzLl9yaXBwbGUudWlVcEFjdGlvbigpfX07UG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9yPVtQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLFBvbHltZXIuUGFwZXJCdXR0b25CZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWV0YS9pcm9uLW1ldGEuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyLklyb25NZXRhPWZ1bmN0aW9uKGQpe1BvbHltZXIuSXJvbk1ldGFbIiAiXShkKTt0aGlzLnR5cGU9ZCYmZC50eXBlfHwiZGVmYXVsdCI7dGhpcy5rZXk9ZCYmZC5rZXk7ZCYmInZhbHVlImluIGQmJih0aGlzLnZhbHVlPWQudmFsdWUpfTtQb2x5bWVyLklyb25NZXRhWyIgIl09ZnVuY3Rpb24oKXt9O1BvbHltZXIuSXJvbk1ldGEudHlwZXM9e307UG9seW1lci5Jcm9uTWV0YS5wcm90b3R5cGU9e2dldCB2YWx1ZSgpe3ZhciBkPXRoaXMudHlwZSxmPXRoaXMua2V5O2lmKGQmJmYpcmV0dXJuIFBvbHltZXIuSXJvbk1ldGEudHlwZXNbZF0mJlBvbHltZXIuSXJvbk1ldGEudHlwZXNbZF1bZl19LHNldCB2YWx1ZShkKXt2YXIgZj10aGlzLnR5cGUsaD10aGlzLmtleTtmJiZoJiYoZj1Qb2x5bWVyLklyb25NZXRhLnR5cGVzW2ZdPVBvbHltZXIuSXJvbk1ldGEudHlwZXNbZl18fHt9LG51bGw9PWQ/ZGVsZXRlIGZbaF06ZltoXT1kKX0sZ2V0IGxpc3QoKXtpZih0aGlzLnR5cGUpe3ZhciBkPQpQb2x5bWVyLklyb25NZXRhLnR5cGVzW3RoaXMudHlwZV07cmV0dXJuIGQ/T2JqZWN0LmtleXMoZCkubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBiW3RoaXMudHlwZV1bZl19LHRoaXMpOltdfX0sYnlLZXk6ZnVuY3Rpb24oZCl7dGhpcy5rZXk9ZDtyZXR1cm4gdGhpcy52YWx1ZX19O3ZhciBiPVBvbHltZXIuSXJvbk1ldGEudHlwZXM7UG9seW1lcih7aXM6Imlyb24tbWV0YSIscHJvcGVydGllczp7dHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSxrZXk6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxmOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9zZWxmQ2hhbmdlZCJ9LF9fbWV0YTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfX2NvbXB1dGVNZXRhKHR5cGUsIGtleSwgdmFsdWUpIn19LGhvc3RBdHRyaWJ1dGVzOntoaWRkZW46ITB9LF9fY29tcHV0ZU1ldGE6ZnVuY3Rpb24oZCxmLGgpe2Q9bmV3IFBvbHltZXIuSXJvbk1ldGEoe3R5cGU6ZCwKa2V5OmZ9KTt2b2lkIDAhPT1oJiZoIT09ZC52YWx1ZT9kLnZhbHVlPWg6dGhpcy52YWx1ZSE9PWQudmFsdWUmJih0aGlzLnZhbHVlPWQudmFsdWUpO3JldHVybiBkfSxnZXQgbGlzdCgpe3JldHVybiB0aGlzLl9fbWV0YSYmdGhpcy5fX21ldGEubGlzdH0sX3NlbGZDaGFuZ2VkOmZ1bmN0aW9uKGQpe2QmJih0aGlzLnZhbHVlPXRoaXMpfSxieUtleTpmdW5jdGlvbihkKXtyZXR1cm4obmV3IFBvbHltZXIuSXJvbk1ldGEoe3R5cGU6dGhpcy50eXBlLGtleTpkfSkpLnZhbHVlfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXZhbGlkYXRhYmxlLWJlaGF2aW9yL2lyb24tdmFsaWRhdGFibGUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YT1udWxsOwpQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnt2YWxpZGF0b3I6e3R5cGU6U3RyaW5nfSxpbnZhbGlkOntub3RpZnk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2ludmFsaWRDaGFuZ2VkIn19LHJlZ2lzdGVyZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YT1uZXcgUG9seW1lci5Jcm9uTWV0YSh7dHlwZToidmFsaWRhdG9yIn0pfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmludmFsaWQ/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIil9LGdldCBfdmFsaWRhdG9yKCl7cmV0dXJuIFBvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3JNZXRhJiZQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YS5ieUtleSh0aGlzLnZhbGlkYXRvcil9LGhhc1ZhbGlkYXRvcjpmdW5jdGlvbigpe3JldHVybiBudWxsIT0KdGhpcy5fdmFsaWRhdG9yfSx2YWxpZGF0ZTpmdW5jdGlvbihiKXt0aGlzLmludmFsaWQ9dm9pZCAwPT09YiYmdm9pZCAwIT09dGhpcy52YWx1ZT8hdGhpcy5fZ2V0VmFsaWRpdHkodGhpcy52YWx1ZSk6IXRoaXMuX2dldFZhbGlkaXR5KGIpO3JldHVybiF0aGlzLmludmFsaWR9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5oYXNWYWxpZGF0b3IoKT90aGlzLl92YWxpZGF0b3IudmFsaWRhdGUoYik6ITB9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWZvcm0tZWxlbWVudC1iZWhhdmlvci9pcm9uLWZvcm0tZWxlbWVudC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3I9e3Byb3BlcnRpZXM6e25hbWU6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7bm90aWZ5OiEwLHR5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfcGFyZW50Rm9ybTp7dHlwZTpPYmplY3R9fSxhdHRhY2hlZDpmdW5jdGlvbigpe1BvbHltZXIuRWxlbWVudHx8dGhpcy5maXJlKCJpcm9uLWZvcm0tZWxlbWVudC1yZWdpc3RlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpeyFQb2x5bWVyLkVsZW1lbnQmJnRoaXMuX3BhcmVudEZvcm0mJnRoaXMuX3BhcmVudEZvcm0uZmlyZSgiaXJvbi1mb3JtLWVsZW1lbnQtdW5yZWdpc3RlciIse3RhcmdldDp0aGlzfSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWNoZWNrZWQtZWxlbWVudC1iZWhhdmlvci9pcm9uLWNoZWNrZWQtZWxlbWVudC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOntjaGVja2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG5vdGlmeTohMCxvYnNlcnZlcjoiX2NoZWNrZWRDaGFuZ2VkIn0sdG9nZ2xlczp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sdmFsdWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJvbiIsb2JzZXJ2ZXI6Il92YWx1ZUNoYW5nZWQifX0sb2JzZXJ2ZXJzOlsiX3JlcXVpcmVkQ2hhbmdlZChyZXF1aXJlZCkiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5faGFzSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3I9ITB9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhdGhpcy5yZXF1aXJlZHx8dGhpcy5jaGVja2VkfSxfcmVxdWlyZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5yZXF1aXJlZD90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsCiJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtcmVxdWlyZWQiKX0sX2NoZWNrZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5hY3RpdmU9dGhpcy5jaGVja2VkO3RoaXMuZmlyZSgiaXJvbi1jaGFuZ2UiKX0sX3ZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe2lmKHZvaWQgMD09PXRoaXMudmFsdWV8fG51bGw9PT10aGlzLnZhbHVlKXRoaXMudmFsdWU9Im9uIn19O1BvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3I9W1BvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5Jcm9uVmFsaWRhdGFibGVCZWhhdmlvcixQb2x5bWVyLklyb25DaGVja2VkRWxlbWVudEJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItYmVoYXZpb3JzL3BhcGVyLWlua3ktZm9jdXMtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JJbXBsPXtvYnNlcnZlcnM6WyJfZm9jdXNlZENoYW5nZWQocmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiXSxfZm9jdXNlZENoYW5nZWQ6ZnVuY3Rpb24oYil7YiYmdGhpcy5lbnN1cmVSaXBwbGUoKTt0aGlzLmhhc1JpcHBsZSgpJiYodGhpcy5fcmlwcGxlLmhvbGREb3duPWIpfSxfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7dmFyIGI9UG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLl9jcmVhdGVSaXBwbGUoKTtiLmlkPSJpbmsiO2Iuc2V0QXR0cmlidXRlKCJjZW50ZXIiLCIiKTtiLmNsYXNzTGlzdC5hZGQoImNpcmNsZSIpO3JldHVybiBifX07UG9seW1lci5QYXBlcklua3lGb2N1c0JlaGF2aW9yPVtQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLFBvbHltZXIuUGFwZXJJbmt5Rm9jdXNCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWJlaGF2aW9ycy9wYXBlci1jaGVja2VkLWVsZW1lbnQtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvckltcGw9e19jaGVja2VkQ2hhbmdlZDpmdW5jdGlvbigpe1BvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3JJbXBsLl9jaGVja2VkQ2hhbmdlZC5jYWxsKHRoaXMpO3RoaXMuaGFzUmlwcGxlKCkmJih0aGlzLmNoZWNrZWQ/dGhpcy5fcmlwcGxlLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsIiIpOnRoaXMuX3JpcHBsZS5yZW1vdmVBdHRyaWJ1dGUoImNoZWNrZWQiKSl9LF9idXR0b25TdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3IuX2J1dHRvblN0YXRlQ2hhbmdlZC5jYWxsKHRoaXMpOyF0aGlzLmRpc2FibGVkJiZ0aGlzLmlzQXR0YWNoZWQmJih0aGlzLmNoZWNrZWQ9dGhpcy5hY3RpdmUpfX07ClBvbHltZXIuUGFwZXJDaGVja2VkRWxlbWVudEJlaGF2aW9yPVtQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3IsUG9seW1lci5Jcm9uQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcixQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlcklucHV0SGVscGVyPXt9O1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0TGFiZWxJRD0xO1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0QWRkb25JRD0xO1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0SW5wdXRJRD0xOwpQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvckltcGw9e3Byb3BlcnRpZXM6e2xhYmVsOnt0eXBlOlN0cmluZ30sdmFsdWU6e25vdGlmeTohMCx0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saW52YWxpZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0sYWxsb3dlZFBhdHRlcm46e3R5cGU6U3RyaW5nfSx0eXBlOnt0eXBlOlN0cmluZ30sbGlzdDp7dHlwZTpTdHJpbmd9LHBhdHRlcm46e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxlcnJvck1lc3NhZ2U6e3R5cGU6U3RyaW5nfSxjaGFyQ291bnRlcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWx3YXlzRmxvYXRMYWJlbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdmFsaWRhdG9yOnt0eXBlOlN0cmluZ30sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZywKdmFsdWU6Im9mZiJ9LGF1dG9mb2N1czp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b2ZvY3VzQ2hhbmdlZCJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LG1pbmxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1heGxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1pbjp7dHlwZTpTdHJpbmd9LG1heDp7dHlwZTpTdHJpbmd9LHN0ZXA6e3R5cGU6U3RyaW5nfSxuYW1lOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxyZWFkb25seTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzaXplOnt0eXBlOk51bWJlcn0sYXV0b2NhcGl0YWxpemU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub25lIn0sYXV0b2NvcnJlY3Q6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmYifSxhdXRvc2F2ZTp7dHlwZTpTdHJpbmd9LHJlc3VsdHM6e3R5cGU6TnVtYmVyfSxhY2NlcHQ6e3R5cGU6U3RyaW5nfSxtdWx0aXBsZTp7dHlwZTpCb29sZWFufSxfYXJpYURlc2NyaWJlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sCl9hcmlhTGFiZWxsZWRCeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LF9pbnB1dElkOnt0eXBlOlN0cmluZyx2YWx1ZToiIn19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCJ9LGtleUJpbmRpbmdzOnsic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxob3N0QXR0cmlidXRlczp7dGFiaW5kZXg6MH0sZ2V0IGlucHV0RWxlbWVudCgpe3RoaXMuJHx8KHRoaXMuJD17fSk7dGhpcy4kLmlucHV0fHwodGhpcy5fZ2VuZXJhdGVJbnB1dElkKCksdGhpcy4kLmlucHV0PXRoaXMuJCQoIiMiK3RoaXMuX2lucHV0SWQpKTtyZXR1cm4gdGhpcy4kLmlucHV0fSxnZXQgX2ZvY3VzYWJsZUVsZW1lbnQoKXtyZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnR9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl90eXBlc1RoYXRIYXZlVGV4dD0iZGF0ZSBkYXRldGltZSBkYXRldGltZS1sb2NhbCBtb250aCB0aW1lIHdlZWsgZmlsZSIuc3BsaXQoIiAiKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpOwohUG9seW1lci5FbGVtZW50JiZ0aGlzLmlucHV0RWxlbWVudCYmLTEhPT10aGlzLl90eXBlc1RoYXRIYXZlVGV4dC5pbmRleE9mKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpJiYodGhpcy5hbHdheXNGbG9hdExhYmVsPSEwKX0sX2FwcGVuZFN0cmluZ1dpdGhTcGFjZTpmdW5jdGlvbihiLGQpe3JldHVybiBiP2IrIiAiK2Q6ZH0sX29uQWRkb25BdHRhY2hlZDpmdW5jdGlvbihiKXtiPVBvbHltZXIuZG9tKGIpLnJvb3RUYXJnZXQ7aWYoYi5pZCl0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxiLmlkKTtlbHNle3ZhciBkPSJwYXBlci1pbnB1dC1hZGQtb24tIitQb2x5bWVyLlBhcGVySW5wdXRIZWxwZXIuTmV4dEFkZG9uSUQrKztiLmlkPWQ7dGhpcy5fYXJpYURlc2NyaWJlZEJ5PXRoaXMuX2FwcGVuZFN0cmluZ1dpdGhTcGFjZSh0aGlzLl9hcmlhRGVzY3JpYmVkQnksZCl9fSx2YWxpZGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudC52YWxpZGF0ZSgpfSwKX2ZvY3VzQmx1ckhhbmRsZXI6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uQ29udHJvbFN0YXRlLl9mb2N1c0JsdXJIYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLmZvY3VzZWQmJiF0aGlzLl9zaGlmdFRhYlByZXNzZWQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7dGhpcy5fc2hpZnRUYWJQcmVzc2VkPSEwO3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsYik7dGhpcy5fc2hpZnRUYWJQcmVzc2VkPSExfSwxKX0sX2hhbmRsZUF1dG9WYWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuYXV0b1ZhbGlkYXRlJiZ0aGlzLnZhbGlkYXRlKCl9LHVwZGF0ZVZhbHVlQW5kUHJlc2VydmVDYXJldDpmdW5jdGlvbihiKXt0cnl7dmFyIGQ9CnRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0O3RoaXMudmFsdWU9Yjt0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydD1kO3RoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZD1kfWNhdGNoKGYpe3RoaXMudmFsdWU9Yn19LF9jb21wdXRlQWx3YXlzRmxvYXRMYWJlbDpmdW5jdGlvbihiLGQpe3JldHVybiBkfHxifSxfdXBkYXRlQXJpYUxhYmVsbGVkQnk6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3IoImxhYmVsIik7aWYoYil7aWYoYi5pZCl2YXIgZD1iLmlkO2Vsc2UgZD0icGFwZXItaW5wdXQtbGFiZWwtIitQb2x5bWVyLlBhcGVySW5wdXRIZWxwZXIuTmV4dExhYmVsSUQrKyxiLmlkPWQ7dGhpcy5fYXJpYUxhYmVsbGVkQnk9ZH1lbHNlIHRoaXMuX2FyaWFMYWJlbGxlZEJ5PSIifSxfZ2VuZXJhdGVJbnB1dElkOmZ1bmN0aW9uKCl7dGhpcy5faW5wdXRJZCYmIiIhPT10aGlzLl9pbnB1dElkfHwodGhpcy5faW5wdXRJZD0KImlucHV0LSIrUG9seW1lci5QYXBlcklucHV0SGVscGVyLk5leHRJbnB1dElEKyspfSxfb25DaGFuZ2U6ZnVuY3Rpb24oYil7dGhpcy5zaGFkb3dSb290JiZ0aGlzLmZpcmUoYi50eXBlLHtzb3VyY2VFdmVudDpifSx7bm9kZTp0aGlzLGJ1YmJsZXM6Yi5idWJibGVzLGNhbmNlbGFibGU6Yi5jYW5jZWxhYmxlfSl9LF9hdXRvZm9jdXNDaGFuZ2VkOmZ1bmN0aW9uKCl7aWYodGhpcy5hdXRvZm9jdXMmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQpe3ZhciBiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7YiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZiIT09ZG9jdW1lbnQuYm9keSYmYiE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8dGhpcy5fZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpfX19O1BvbHltZXIuUGFwZXJJbnB1dEJlaGF2aW9yPVtQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvcixQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWFkZG9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlcklucHV0QWRkb25CZWhhdmlvcj17YXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImFkZG9uLWF0dGFjaGVkIil9LHVwZGF0ZTpmdW5jdGlvbigpe319OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tZml0LWJlaGF2aW9yL2lyb24tZml0LWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5Jcm9uRml0QmVoYXZpb3I9e3Byb3BlcnRpZXM6e3NpemluZ1RhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LGZpdEludG86e3R5cGU6T2JqZWN0LHZhbHVlOndpbmRvd30sbm9PdmVybGFwOnt0eXBlOkJvb2xlYW59LHBvc2l0aW9uVGFyZ2V0Ont0eXBlOkVsZW1lbnR9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmd9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nfSxkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0saG9yaXpvbnRhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHZlcnRpY2FsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sYXV0b0ZpdE9uQXR0YWNoOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9maXRJbmZvOnt0eXBlOk9iamVjdH19LGdldCBfZml0V2lkdGgoKXtyZXR1cm4gdGhpcy5maXRJbnRvPT09d2luZG93P3RoaXMuZml0SW50by5pbm5lcldpZHRoOnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH0sCmdldCBfZml0SGVpZ2h0KCl7cmV0dXJuIHRoaXMuZml0SW50bz09PXdpbmRvdz90aGlzLmZpdEludG8uaW5uZXJIZWlnaHQ6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH0sZ2V0IF9maXRMZWZ0KCl7cmV0dXJuIHRoaXMuZml0SW50bz09PXdpbmRvdz8wOnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSxnZXQgX2ZpdFRvcCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/MDp0aGlzLmZpdEludG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wfSxnZXQgX2RlZmF1bHRQb3NpdGlvblRhcmdldCgpe3ZhciBiPVBvbHltZXIuZG9tKHRoaXMpLnBhcmVudE5vZGU7YiYmYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmKGI9Yi5ob3N0KTtyZXR1cm4gYn0sZ2V0IF9sb2NhbGVIb3Jpem9udGFsQWxpZ24oKXtpZih0aGlzLl9pc1JUTCl7aWYoInJpZ2h0Ij09PXRoaXMuaG9yaXpvbnRhbEFsaWduKXJldHVybiJsZWZ0IjsKaWYoImxlZnQiPT09dGhpcy5ob3Jpem9udGFsQWxpZ24pcmV0dXJuInJpZ2h0In1yZXR1cm4gdGhpcy5ob3Jpem9udGFsQWxpZ259LGdldCBfX3Nob3VsZFBvc2l0aW9uKCl7cmV0dXJuKHRoaXMuaG9yaXpvbnRhbEFsaWdufHx0aGlzLnZlcnRpY2FsQWxpZ24pJiZ0aGlzLnBvc2l0aW9uVGFyZ2V0fSxhdHRhY2hlZDpmdW5jdGlvbigpeyJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMuX2lzUlRMJiYodGhpcy5faXNSVEw9InJ0bCI9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbik7dGhpcy5wb3NpdGlvblRhcmdldD10aGlzLnBvc2l0aW9uVGFyZ2V0fHx0aGlzLl9kZWZhdWx0UG9zaXRpb25UYXJnZXQ7dGhpcy5hdXRvRml0T25BdHRhY2gmJigibm9uZSI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXNwbGF5P3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmZpdCgpfS5iaW5kKHRoaXMpKTood2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLAp0aGlzLmZpdCgpKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fX2RlZmVycmVkRml0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX19kZWZlcnJlZEZpdCksdGhpcy5fX2RlZmVycmVkRml0PW51bGwpfSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLnBvc2l0aW9uKCk7dGhpcy5jb25zdHJhaW4oKTt0aGlzLmNlbnRlcigpfSxfZGlzY292ZXJJbmZvOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZpdEluZm8pe3ZhciBiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLGQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zaXppbmdUYXJnZXQpO3RoaXMuX2ZpdEluZm89e2lubGluZVN0eWxlOnt0b3A6dGhpcy5zdHlsZS50b3B8fCIiLGxlZnQ6dGhpcy5zdHlsZS5sZWZ0fHwiIixwb3NpdGlvbjp0aGlzLnN0eWxlLnBvc2l0aW9ufHwiIn0sc2l6ZXJJbmxpbmVTdHlsZTp7bWF4V2lkdGg6dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUubWF4V2lkdGh8fCIiLG1heEhlaWdodDp0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhIZWlnaHR8fAoiIixib3hTaXppbmc6dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUuYm94U2l6aW5nfHwiIn0scG9zaXRpb25lZEJ5Ont2ZXJ0aWNhbGx5OiJhdXRvIiE9PWIudG9wPyJ0b3AiOiJhdXRvIiE9PWIuYm90dG9tPyJib3R0b20iOm51bGwsaG9yaXpvbnRhbGx5OiJhdXRvIiE9PWIubGVmdD8ibGVmdCI6ImF1dG8iIT09Yi5yaWdodD8icmlnaHQiOm51bGx9LHNpemVkQnk6e2hlaWdodDoibm9uZSIhPT1kLm1heEhlaWdodCx3aWR0aDoibm9uZSIhPT1kLm1heFdpZHRoLG1pbldpZHRoOnBhcnNlSW50KGQubWluV2lkdGgsMTApfHwwLG1pbkhlaWdodDpwYXJzZUludChkLm1pbkhlaWdodCwxMCl8fDB9LG1hcmdpbjp7dG9wOnBhcnNlSW50KGIubWFyZ2luVG9wLDEwKXx8MCxyaWdodDpwYXJzZUludChiLm1hcmdpblJpZ2h0LDEwKXx8MCxib3R0b206cGFyc2VJbnQoYi5tYXJnaW5Cb3R0b20sMTApfHwwLGxlZnQ6cGFyc2VJbnQoYi5tYXJnaW5MZWZ0LDEwKXx8MH19fX0scmVzZXRGaXQ6ZnVuY3Rpb24oKXt2YXIgYj0KdGhpcy5fZml0SW5mb3x8e30sZDtmb3IoZCBpbiBiLnNpemVySW5saW5lU3R5bGUpdGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbZF09Yi5zaXplcklubGluZVN0eWxlW2RdO2ZvcihkIGluIGIuaW5saW5lU3R5bGUpdGhpcy5zdHlsZVtkXT1iLmlubGluZVN0eWxlW2RdO3RoaXMuX2ZpdEluZm89bnVsbH0scmVmaXQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnNpemluZ1RhcmdldC5zY3JvbGxMZWZ0LGQ9dGhpcy5zaXppbmdUYXJnZXQuc2Nyb2xsVG9wO3RoaXMucmVzZXRGaXQoKTt0aGlzLmZpdCgpO3RoaXMuc2l6aW5nVGFyZ2V0LnNjcm9sbExlZnQ9Yjt0aGlzLnNpemluZ1RhcmdldC5zY3JvbGxUb3A9ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzLl9fc2hvdWxkUG9zaXRpb24pe3RoaXMuX2Rpc2NvdmVySW5mbygpO3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIjt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3RoaXMuc3R5bGUubGVmdD0iMHB4IjsKdGhpcy5zdHlsZS50b3A9IjBweCI7dmFyIGI9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuX19nZXROb3JtYWxpemVkUmVjdCh0aGlzLnBvc2l0aW9uVGFyZ2V0KSxmPXRoaXMuX19nZXROb3JtYWxpemVkUmVjdCh0aGlzLmZpdEludG8pLGg9dGhpcy5fZml0SW5mby5tYXJnaW4saz10aGlzLl9fZ2V0UG9zaXRpb24odGhpcy5fbG9jYWxlSG9yaXpvbnRhbEFsaWduLHRoaXMudmVydGljYWxBbGlnbix7d2lkdGg6Yi53aWR0aCtoLmxlZnQraC5yaWdodCxoZWlnaHQ6Yi5oZWlnaHQraC50b3AraC5ib3R0b219LGIsZCxmKTtkPWsubGVmdCtoLmxlZnQ7az1rLnRvcCtoLnRvcDt2YXIgcj1NYXRoLm1pbihmLnJpZ2h0LWgucmlnaHQsZCtiLndpZHRoKSxsPU1hdGgubWluKGYuYm90dG9tLWguYm90dG9tLGsrYi5oZWlnaHQpO2Q9TWF0aC5tYXgoZi5sZWZ0K2gubGVmdCxNYXRoLm1pbihkLHItdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbldpZHRoKSk7az1NYXRoLm1heChmLnRvcCsKaC50b3AsTWF0aC5taW4oayxsLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpKTt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhXaWR0aD1NYXRoLm1heChyLWQsdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbldpZHRoKSsicHgiO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heEhlaWdodD1NYXRoLm1heChsLWssdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbkhlaWdodCkrInB4Ijt0aGlzLnN0eWxlLmxlZnQ9ZC1iLmxlZnQrInB4Ijt0aGlzLnN0eWxlLnRvcD1rLWIudG9wKyJweCJ9fSxjb25zdHJhaW46ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgYj10aGlzLl9maXRJbmZvO2IucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9IjBweCIpO2IucG9zaXRpb25lZEJ5Lmhvcml6b250YWxseXx8KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIiwKdGhpcy5zdHlsZS5sZWZ0PSIwcHgiKTt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3ZhciBkPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Yi5zaXplZEJ5LmhlaWdodHx8dGhpcy5fX3NpemVEaW1lbnNpb24oZCxiLnBvc2l0aW9uZWRCeS52ZXJ0aWNhbGx5LCJ0b3AiLCJib3R0b20iLCJIZWlnaHQiKTtiLnNpemVkQnkud2lkdGh8fHRoaXMuX19zaXplRGltZW5zaW9uKGQsYi5wb3NpdGlvbmVkQnkuaG9yaXpvbnRhbGx5LCJsZWZ0IiwicmlnaHQiLCJXaWR0aCIpfX0sX3NpemVEaW1lbnNpb246ZnVuY3Rpb24oYixkLGYsaCxrKXt0aGlzLl9fc2l6ZURpbWVuc2lvbihiLGQsZixoLGspfSxfX3NpemVEaW1lbnNpb246ZnVuY3Rpb24oYixkLGYsaCxrKXt2YXIgcj10aGlzLl9maXRJbmZvLGw9dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMuZml0SW50byk7bD0iV2lkdGgiPT09az9sLndpZHRoOmwuaGVpZ2h0O2Q9ZD09PWg7dmFyIHA9CiJvZmZzZXQiK2s7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbIm1heCIra109bC1yLm1hcmdpbltkP2Y6aF0tKGQ/bC1iW2hdOmJbZl0pLSh0aGlzW3BdLXRoaXMuc2l6aW5nVGFyZ2V0W3BdKSsicHgifSxjZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgYj10aGlzLl9maXRJbmZvLnBvc2l0aW9uZWRCeTtpZighYi52ZXJ0aWNhbGx5fHwhYi5ob3Jpem9udGFsbHkpe3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIjtiLnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD0iMHB4Iik7Yi5ob3Jpem9udGFsbHl8fCh0aGlzLnN0eWxlLmxlZnQ9IjBweCIpO3ZhciBkPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZj10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKTtiLnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD1mLnRvcC1kLnRvcCsoZi5oZWlnaHQtZC5oZWlnaHQpLzIrInB4Iik7Yi5ob3Jpem9udGFsbHl8fAoodGhpcy5zdHlsZS5sZWZ0PWYubGVmdC1kLmxlZnQrKGYud2lkdGgtZC53aWR0aCkvMisicHgiKX19fSxfX2dldE5vcm1hbGl6ZWRSZWN0OmZ1bmN0aW9uKGIpe3JldHVybiBiPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxiPT09d2luZG93P3t0b3A6MCxsZWZ0OjAsd2lkdGg6d2luZG93LmlubmVyV2lkdGgsaGVpZ2h0OndpbmRvdy5pbm5lckhlaWdodCxyaWdodDp3aW5kb3cuaW5uZXJXaWR0aCxib3R0b206d2luZG93LmlubmVySGVpZ2h0fTpiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSxfX2dldE9mZnNjcmVlbkFyZWE6ZnVuY3Rpb24oYixkLGYpe3JldHVybiBNYXRoLmFicyhNYXRoLm1pbigwLGIudG9wKStNYXRoLm1pbigwLGYuYm90dG9tLShiLnRvcCtkLmhlaWdodCkpKSpkLndpZHRoK01hdGguYWJzKE1hdGgubWluKDAsYi5sZWZ0KStNYXRoLm1pbigwLGYucmlnaHQtKGIubGVmdCtkLndpZHRoKSkpKmQuaGVpZ2h0fSxfX2dldFBvc2l0aW9uOmZ1bmN0aW9uKGIsZCwKZixoLGsscil7dmFyIGw9W3t2ZXJ0aWNhbEFsaWduOiJ0b3AiLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOmsudG9wK3RoaXMudmVydGljYWxPZmZzZXQsbGVmdDprLmxlZnQrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSx7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ay50b3ArdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsucmlnaHQtZi53aWR0aC10aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOmsuYm90dG9tLWYuaGVpZ2h0LXRoaXMudmVydGljYWxPZmZzZXQsbGVmdDprLmxlZnQrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSx7dmVydGljYWxBbGlnbjoiYm90dG9tIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ay5ib3R0b20tZi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsucmlnaHQtZi53aWR0aC10aGlzLmhvcml6b250YWxPZmZzZXR9XTsKaWYodGhpcy5ub092ZXJsYXApe2Zvcih2YXIgcD0wLG09bC5sZW5ndGg7cDxtO3ArKyl7dmFyIG49e30scTtmb3IocSBpbiBsW3BdKW5bcV09bFtwXVtxXTtsLnB1c2gobil9bFswXS50b3A9bFsxXS50b3ArPWsuaGVpZ2h0O2xbMl0udG9wPWxbM10udG9wLT1rLmhlaWdodDtsWzRdLmxlZnQ9bFs2XS5sZWZ0Kz1rLndpZHRoO2xbNV0ubGVmdD1sWzddLmxlZnQtPWsud2lkdGh9ZD0iYXV0byI9PT1kP251bGw6ZDtiPSJhdXRvIj09PWI/bnVsbDpiO2ImJiJjZW50ZXIiIT09Ynx8KGwucHVzaCh7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOmsudG9wK3RoaXMudmVydGljYWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP2suaGVpZ2h0OjApLGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSksbC5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoiY2VudGVyIix0b3A6ay5ib3R0b20tCmYuaGVpZ2h0LXRoaXMudmVydGljYWxPZmZzZXQtKHRoaXMubm9PdmVybGFwP2suaGVpZ2h0OjApLGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSkpO2QmJiJtaWRkbGUiIT09ZHx8KGwucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246ImxlZnQiLHRvcDprLnRvcC1oLmhlaWdodC8yK2suaGVpZ2h0LzIrdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP2sud2lkdGg6MCl9KSxsLnB1c2goe3ZlcnRpY2FsQWxpZ246Im1pZGRsZSIsaG9yaXpvbnRhbEFsaWduOiJyaWdodCIsdG9wOmsudG9wLWguaGVpZ2h0LzIray5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ay5yaWdodC1mLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldC0odGhpcy5ub092ZXJsYXA/ay53aWR0aDowKX0pKTsibWlkZGxlIj09PWQmJiJjZW50ZXIiPT09CmImJmwucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOmsudG9wLWguaGVpZ2h0LzIray5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSk7Zm9yKHA9MDtwPGwubGVuZ3RoO3ArKyl7aD1sW3BdO2s9aC52ZXJ0aWNhbEFsaWduPT09ZDttPWguaG9yaXpvbnRhbEFsaWduPT09YjtpZighdGhpcy5keW5hbWljQWxpZ24mJiF0aGlzLm5vT3ZlcmxhcCYmayYmbSl7dmFyIHU9aDticmVha31uPSghZHx8aykmJighYnx8bSk7aWYodGhpcy5keW5hbWljQWxpZ258fG4pe2gub2Zmc2NyZWVuQXJlYT10aGlzLl9fZ2V0T2Zmc2NyZWVuQXJlYShoLGYscik7aWYoMD09PWgub2Zmc2NyZWVuQXJlYSYmbil7dT1oO2JyZWFrfXU9dXx8aDtuPWgub2Zmc2NyZWVuQXJlYS11Lm9mZnNjcmVlbkFyZWE7aWYoMD5ufHwwPT09biYmKGt8fG0pKXU9aH19cmV0dXJuIHV9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXJlc2l6YWJsZS1iZWhhdmlvci9pcm9uLXJlc2l6YWJsZS1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOntfcGFyZW50UmVzaXphYmxlOnt0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3BhcmVudFJlc2l6YWJsZUNoYW5nZWQifSxfbm90aWZ5aW5nRGVzY2VuZGFudDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sbGlzdGVuZXJzOnsiaXJvbi1yZXF1ZXN0LXJlc2l6ZS1ub3RpZmljYXRpb25zIjoiX29uSXJvblJlcXVlc3RSZXNpemVOb3RpZmljYXRpb25zIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzPVtdO3RoaXMuX2JvdW5kTm90aWZ5UmVzaXplPXRoaXMubm90aWZ5UmVzaXplLmJpbmQodGhpcyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpOndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLAp0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSk7dGhpcy5fcGFyZW50UmVzaXphYmxlPW51bGx9LG5vdGlmeVJlc2l6ZTpmdW5jdGlvbigpe3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmZvckVhY2goZnVuY3Rpb24oYil7dGhpcy5yZXNpemVyU2hvdWxkTm90aWZ5KGIpJiZ0aGlzLl9ub3RpZnlEZXNjZW5kYW50KGIpfSx0aGlzKSx0aGlzLl9maXJlUmVzaXplKCkpfSxhc3NpZ25QYXJlbnRSZXNpemFibGU6ZnVuY3Rpb24oYil7dGhpcy5fcGFyZW50UmVzaXphYmxlPWJ9LHN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YoYik7LTE8ZCYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLnNwbGljZShkLDEpLHRoaXMudW5saXN0ZW4oYiwiaXJvbi1yZXNpemUiLCJfb25EZXNjZW5kYW50SXJvblJlc2l6ZSIpKX0scmVzaXplclNob3VsZE5vdGlmeTpmdW5jdGlvbigpe3JldHVybiEwfSwKX29uRGVzY2VuZGFudElyb25SZXNpemU6ZnVuY3Rpb24oYil7dGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD9iLnN0b3BQcm9wYWdhdGlvbigpOlBvbHltZXIuU2V0dGluZ3MudXNlU2hhZG93fHx0aGlzLl9maXJlUmVzaXplKCl9LF9maXJlUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJpcm9uLXJlc2l6ZSIsbnVsbCx7bm9kZTp0aGlzLGJ1YmJsZXM6ITF9KX0sX29uSXJvblJlcXVlc3RSZXNpemVOb3RpZmljYXRpb25zOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLnJvb3RUYXJnZXQ7ZCE9PXRoaXMmJigtMT09PXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YoZCkmJih0aGlzLl9pbnRlcmVzdGVkUmVzaXphYmxlcy5wdXNoKGQpLHRoaXMubGlzdGVuKGQsImlyb24tcmVzaXplIiwiX29uRGVzY2VuZGFudElyb25SZXNpemUiKSksZC5hc3NpZ25QYXJlbnRSZXNpemFibGUodGhpcyksdGhpcy5fbm90aWZ5RGVzY2VuZGFudChkKSxiLnN0b3BQcm9wYWdhdGlvbigpKX0sCl9wYXJlbnRSZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2JvdW5kTm90aWZ5UmVzaXplKX0sX25vdGlmeURlc2NlbmRhbnQ6ZnVuY3Rpb24oYil7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD0hMCxiLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX25vdGlmeWluZ0Rlc2NlbmRhbnQ9ITEpfSxfcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQpaWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGI9dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMuYmluZCh0aGlzKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbiBmKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsZik7YigpfSl9ZWxzZSB0aGlzLmZpcmUoImlyb24tcmVxdWVzdC1yZXNpemUtbm90aWZpY2F0aW9ucyIsCm51bGwse25vZGU6dGhpcyxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSx0aGlzLl9wYXJlbnRSZXNpemFibGV8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSksdGhpcy5ub3RpZnlSZXNpemUoKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1vdmVybGF5LW1hbmFnZXIuaHRtbC5qcwpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlckNsYXNzPWZ1bmN0aW9uKCl7dGhpcy5fb3ZlcmxheXM9W107dGhpcy5fbWluaW11bVo9MTAxO3RoaXMuX2JhY2tkcm9wRWxlbWVudD1udWxsO1BvbHltZXIuR2VzdHVyZXMuYWRkKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwidGFwIixmdW5jdGlvbigpe30pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsdGhpcy5fb25DYXB0dXJlQ2xpY2suYmluZCh0aGlzKSwhMCk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX29uQ2FwdHVyZUZvY3VzLmJpbmQodGhpcyksITApO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uQ2FwdHVyZUtleURvd24uYmluZCh0aGlzKSwhMCl9OwpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlckNsYXNzLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UG9seW1lci5Jcm9uT3ZlcmxheU1hbmFnZXJDbGFzcyxnZXQgYmFja2Ryb3BFbGVtZW50KCl7dGhpcy5fYmFja2Ryb3BFbGVtZW50fHwodGhpcy5fYmFja2Ryb3BFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tb3ZlcmxheS1iYWNrZHJvcCIpKTtyZXR1cm4gdGhpcy5fYmFja2Ryb3BFbGVtZW50fSxnZXQgZGVlcEFjdGl2ZUVsZW1lbnQoKXt2YXIgYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2ImJiExIT09YiBpbnN0YW5jZW9mIEVsZW1lbnR8fChiPWRvY3VtZW50LmJvZHkpO2Zvcig7Yi5yb290JiZQb2x5bWVyLmRvbShiLnJvb3QpLmFjdGl2ZUVsZW1lbnQ7KWI9UG9seW1lci5kb20oYi5yb290KS5hY3RpdmVFbGVtZW50O3JldHVybiBifSxfYnJpbmdPdmVybGF5QXRJbmRleFRvRnJvbnQ6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5fb3ZlcmxheXNbYl07aWYoZCl7dmFyIGY9CnRoaXMuX292ZXJsYXlzLmxlbmd0aC0xLGg9dGhpcy5fb3ZlcmxheXNbZl07aCYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KGQsaCkmJmYtLTtpZighKGI+PWYpKXtoPU1hdGgubWF4KHRoaXMuY3VycmVudE92ZXJsYXlaKCksdGhpcy5fbWluaW11bVopO2Zvcih0aGlzLl9nZXRaKGQpPD1oJiZ0aGlzLl9hcHBseU92ZXJsYXlaKGQsaCk7YjxmOyl0aGlzLl9vdmVybGF5c1tiXT10aGlzLl9vdmVybGF5c1tiKzFdLGIrKzt0aGlzLl9vdmVybGF5c1tmXT1kfX19LGFkZE9yUmVtb3ZlT3ZlcmxheTpmdW5jdGlvbihiKXtiLm9wZW5lZD90aGlzLmFkZE92ZXJsYXkoYik6dGhpcy5yZW1vdmVPdmVybGF5KGIpfSxhZGRPdmVybGF5OmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX292ZXJsYXlzLmluZGV4T2YoYik7aWYoMDw9ZCl0aGlzLl9icmluZ092ZXJsYXlBdEluZGV4VG9Gcm9udChkKTtlbHNle2Q9dGhpcy5fb3ZlcmxheXMubGVuZ3RoO3ZhciBmPXRoaXMuX292ZXJsYXlzW2QtMV0saD0KTWF0aC5tYXgodGhpcy5fZ2V0WihmKSx0aGlzLl9taW5pbXVtWiksaz10aGlzLl9nZXRaKGIpO2YmJnRoaXMuX3Nob3VsZEJlQmVoaW5kT3ZlcmxheShiLGYpJiYodGhpcy5fYXBwbHlPdmVybGF5WihmLGgpLGQtLSxoPU1hdGgubWF4KHRoaXMuX2dldFoodGhpcy5fb3ZlcmxheXNbZC0xXSksdGhpcy5fbWluaW11bVopKTtrPD1oJiZ0aGlzLl9hcHBseU92ZXJsYXlaKGIsaCk7dGhpcy5fb3ZlcmxheXMuc3BsaWNlKGQsMCxiKX10aGlzLnRyYWNrQmFja2Ryb3AoKX0scmVtb3ZlT3ZlcmxheTpmdW5jdGlvbihiKXtiPXRoaXMuX292ZXJsYXlzLmluZGV4T2YoYik7LTEhPT1iJiYodGhpcy5fb3ZlcmxheXMuc3BsaWNlKGIsMSksdGhpcy50cmFja0JhY2tkcm9wKCkpfSxjdXJyZW50T3ZlcmxheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vdmVybGF5c1t0aGlzLl9vdmVybGF5cy5sZW5ndGgtMV19LGN1cnJlbnRPdmVybGF5WjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuY3VycmVudE92ZXJsYXkoKSl9LAplbnN1cmVNaW5pbXVtWjpmdW5jdGlvbihiKXt0aGlzLl9taW5pbXVtWj1NYXRoLm1heCh0aGlzLl9taW5pbXVtWixiKX0sZm9jdXNPdmVybGF5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5jdXJyZW50T3ZlcmxheSgpO2ImJmIuX2FwcGx5Rm9jdXMoKX0sdHJhY2tCYWNrZHJvcDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX292ZXJsYXlXaXRoQmFja2Ryb3AoKTtpZihifHx0aGlzLl9iYWNrZHJvcEVsZW1lbnQpdGhpcy5iYWNrZHJvcEVsZW1lbnQuc3R5bGUuekluZGV4PXRoaXMuX2dldFooYiktMSx0aGlzLmJhY2tkcm9wRWxlbWVudC5vcGVuZWQ9ISFiLHRoaXMuYmFja2Ryb3BFbGVtZW50LnByZXBhcmUoKX0sZ2V0QmFja2Ryb3BzOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPVtdLGQ9MDtkPHRoaXMuX292ZXJsYXlzLmxlbmd0aDtkKyspdGhpcy5fb3ZlcmxheXNbZF0ud2l0aEJhY2tkcm9wJiZiLnB1c2godGhpcy5fb3ZlcmxheXNbZF0pO3JldHVybiBifSxiYWNrZHJvcFo6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0Wih0aGlzLl9vdmVybGF5V2l0aEJhY2tkcm9wKCkpLQoxfSxfb3ZlcmxheVdpdGhCYWNrZHJvcDpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTswPD1iO2ItLSlpZih0aGlzLl9vdmVybGF5c1tiXS53aXRoQmFja2Ryb3ApcmV0dXJuIHRoaXMuX292ZXJsYXlzW2JdfSxfZ2V0WjpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9taW5pbXVtWjtiJiYoYj1OdW1iZXIoYi5zdHlsZS56SW5kZXh8fHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpLnpJbmRleCksYj09PWImJihkPWIpKTtyZXR1cm4gZH0sX3NldFo6ZnVuY3Rpb24oYixkKXtiLnN0eWxlLnpJbmRleD1kfSxfYXBwbHlPdmVybGF5WjpmdW5jdGlvbihiLGQpe3RoaXMuX3NldFooYixkKzIpfSxfb3ZlcmxheUluUGF0aDpmdW5jdGlvbihiKXtiPWJ8fFtdO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlmKGJbZF0uX21hbmFnZXI9PT10aGlzKXJldHVybiBiW2RdfSxfb25DYXB0dXJlQ2xpY2s6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5fb3ZlcmxheXMubGVuZ3RoLQoxO2lmKC0xIT09ZClmb3IodmFyIGY9UG9seW1lci5kb20oYikucGF0aCxoOyhoPXRoaXMuX292ZXJsYXlzW2RdKSYmdGhpcy5fb3ZlcmxheUluUGF0aChmKSE9PWg7KWlmKGguX29uQ2FwdHVyZUNsaWNrKGIpLGguYWxsb3dDbGlja1Rocm91Z2gpZC0tO2Vsc2UgYnJlYWt9LF9vbkNhcHR1cmVGb2N1czpmdW5jdGlvbihiKXt2YXIgZD10aGlzLmN1cnJlbnRPdmVybGF5KCk7ZCYmZC5fb25DYXB0dXJlRm9jdXMoYil9LF9vbkNhcHR1cmVLZXlEb3duOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuY3VycmVudE92ZXJsYXkoKTtkJiYoUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvci5rZXlib2FyZEV2ZW50TWF0Y2hlc0tleXMoYiwiZXNjIik/ZC5fb25DYXB0dXJlRXNjKGIpOlBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3Iua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKGIsInRhYiIpJiZkLl9vbkNhcHR1cmVUYWIoYikpfSxfc2hvdWxkQmVCZWhpbmRPdmVybGF5OmZ1bmN0aW9uKGIsZCl7cmV0dXJuIWIuYWx3YXlzT25Ub3AmJgpkLmFsd2F5c09uVG9wfX07UG9seW1lci5Jcm9uT3ZlcmxheU1hbmFnZXI9bmV3IFBvbHltZXIuSXJvbk92ZXJsYXlNYW5hZ2VyQ2xhc3M7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1vdmVybGF5LWJlaGF2aW9yL2lyb24tc2Nyb2xsLW1hbmFnZXIuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj0wLGQ9MCxmPW51bGwsaD1bXSxrPVsid2hlZWwiLCJtb3VzZXdoZWVsIiwiRE9NTW91c2VTY3JvbGwiLCJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIl07UG9seW1lci5Jcm9uU2Nyb2xsTWFuYWdlcj17Z2V0IGN1cnJlbnRMb2NraW5nRWxlbWVudCgpe3JldHVybiB0aGlzLl9sb2NraW5nRWxlbWVudHNbdGhpcy5fbG9ja2luZ0VsZW1lbnRzLmxlbmd0aC0xXX0sZWxlbWVudElzU2Nyb2xsTG9ja2VkOmZ1bmN0aW9uKHIpe3ZhciBsPXRoaXMuY3VycmVudExvY2tpbmdFbGVtZW50O2lmKHZvaWQgMD09PWwpcmV0dXJuITE7aWYodGhpcy5faGFzQ2FjaGVkTG9ja2VkRWxlbWVudChyKSlyZXR1cm4hMDtpZih0aGlzLl9oYXNDYWNoZWRVbmxvY2tlZEVsZW1lbnQocikpcmV0dXJuITE7KGw9ISFsJiZsIT09ciYmIXRoaXMuX2NvbXBvc2VkVHJlZUNvbnRhaW5zKGwscikpP3RoaXMuX2xvY2tlZEVsZW1lbnRDYWNoZS5wdXNoKHIpOnRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlLnB1c2gocik7CnJldHVybiBsfSxwdXNoU2Nyb2xsTG9jazpmdW5jdGlvbihyKXswPD10aGlzLl9sb2NraW5nRWxlbWVudHMuaW5kZXhPZihyKXx8KDA9PT10aGlzLl9sb2NraW5nRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zKCksdGhpcy5fbG9ja2luZ0VsZW1lbnRzLnB1c2gociksdGhpcy5fbG9ja2VkRWxlbWVudENhY2hlPVtdLHRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlPVtdKX0scmVtb3ZlU2Nyb2xsTG9jazpmdW5jdGlvbihyKXtyPXRoaXMuX2xvY2tpbmdFbGVtZW50cy5pbmRleE9mKHIpOy0xIT09ciYmKHRoaXMuX2xvY2tpbmdFbGVtZW50cy5zcGxpY2UociwxKSx0aGlzLl9sb2NrZWRFbGVtZW50Q2FjaGU9W10sdGhpcy5fdW5sb2NrZWRFbGVtZW50Q2FjaGU9W10sMD09PXRoaXMuX2xvY2tpbmdFbGVtZW50cy5sZW5ndGgmJnRoaXMuX3VubG9ja1Njcm9sbEludGVyYWN0aW9ucygpKX0sX2xvY2tpbmdFbGVtZW50czpbXSxfbG9ja2VkRWxlbWVudENhY2hlOm51bGwsCl91bmxvY2tlZEVsZW1lbnRDYWNoZTpudWxsLF9oYXNDYWNoZWRMb2NrZWRFbGVtZW50OmZ1bmN0aW9uKHIpe3JldHVybi0xPHRoaXMuX2xvY2tlZEVsZW1lbnRDYWNoZS5pbmRleE9mKHIpfSxfaGFzQ2FjaGVkVW5sb2NrZWRFbGVtZW50OmZ1bmN0aW9uKHIpe3JldHVybi0xPHRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlLmluZGV4T2Yocil9LF9jb21wb3NlZFRyZWVDb250YWluczpmdW5jdGlvbihyLGwpe3ZhciBwLG07aWYoci5jb250YWlucyhsKSlyZXR1cm4hMDtyPVBvbHltZXIuZG9tKHIpLnF1ZXJ5U2VsZWN0b3JBbGwoImNvbnRlbnQsc2xvdCIpO2ZvcihwPTA7cDxyLmxlbmd0aDsrK3Ape3ZhciBuPVBvbHltZXIuZG9tKHJbcF0pLmdldERpc3RyaWJ1dGVkTm9kZXMoKTtmb3IobT0wO208bi5sZW5ndGg7KyttKWlmKG5bbV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdGhpcy5fY29tcG9zZWRUcmVlQ29udGFpbnMoblttXSxsKSlyZXR1cm4hMH1yZXR1cm4hMX0sX3Njcm9sbEludGVyYWN0aW9uSGFuZGxlcjpmdW5jdGlvbihyKXtyLmNhbmNlbGFibGUmJgp0aGlzLl9zaG91bGRQcmV2ZW50U2Nyb2xsaW5nKHIpJiZyLnByZXZlbnREZWZhdWx0KCk7ci50YXJnZXRUb3VjaGVzJiYocj1yLnRhcmdldFRvdWNoZXNbMF0sYj1yLnBhZ2VYLGQ9ci5wYWdlWSl9LF9sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zOmZ1bmN0aW9uKCl7dGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyPXRoaXMuX2JvdW5kU2Nyb2xsSGFuZGxlcnx8dGhpcy5fc2Nyb2xsSW50ZXJhY3Rpb25IYW5kbGVyLmJpbmQodGhpcyk7Zm9yKHZhciByPTAsbD1rLmxlbmd0aDtyPGw7cisrKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoa1tyXSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSxfdW5sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zOmZ1bmN0aW9uKCl7Zm9yKHZhciByPTAsbD1rLmxlbmd0aDtyPGw7cisrKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoa1tyXSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSwKX3Nob3VsZFByZXZlbnRTY3JvbGxpbmc6ZnVuY3Rpb24ocil7dmFyIGw9UG9seW1lci5kb20ocikucm9vdFRhcmdldDsidG91Y2htb3ZlIiE9PXIudHlwZSYmZiE9PWwmJihmPWwsaD10aGlzLl9nZXRTY3JvbGxhYmxlTm9kZXMoUG9seW1lci5kb20ocikucGF0aCkpO2lmKCFoLmxlbmd0aClyZXR1cm4hMDtpZigidG91Y2hzdGFydCI9PT1yLnR5cGUpcmV0dXJuITE7cj10aGlzLl9nZXRTY3JvbGxJbmZvKHIpO3JldHVybiF0aGlzLl9nZXRTY3JvbGxpbmdOb2RlKGgsci5kZWx0YVgsci5kZWx0YVkpfSxfZ2V0U2Nyb2xsYWJsZU5vZGVzOmZ1bmN0aW9uKHIpe2Zvcih2YXIgbD1bXSxwPXIuaW5kZXhPZih0aGlzLmN1cnJlbnRMb2NraW5nRWxlbWVudCksbT0wO208PXA7bSsrKWlmKHJbbV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIG49clttXSxxPW4uc3R5bGU7InNjcm9sbCIhPT1xLm92ZXJmbG93JiYiYXV0byIhPT1xLm92ZXJmbG93JiYocT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuKSk7CiJzY3JvbGwiIT09cS5vdmVyZmxvdyYmImF1dG8iIT09cS5vdmVyZmxvd3x8bC5wdXNoKG4pfXJldHVybiBsfSxfZ2V0U2Nyb2xsaW5nTm9kZTpmdW5jdGlvbihyLGwscCl7aWYobHx8cClmb3IodmFyIG09TWF0aC5hYnMocCk+PU1hdGguYWJzKGwpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHE9cltuXTtpZihtPzA+cD8wPHEuc2Nyb2xsVG9wOnEuc2Nyb2xsVG9wPHEuc2Nyb2xsSGVpZ2h0LXEuY2xpZW50SGVpZ2h0OjA+bD8wPHEuc2Nyb2xsTGVmdDpxLnNjcm9sbExlZnQ8cS5zY3JvbGxXaWR0aC1xLmNsaWVudFdpZHRoKXJldHVybiBxfX0sX2dldFNjcm9sbEluZm86ZnVuY3Rpb24ocil7dmFyIGw9e2RlbHRhWDpyLmRlbHRhWCxkZWx0YVk6ci5kZWx0YVl9OyJkZWx0YVgiaW4gcnx8KCJ3aGVlbERlbHRhWCJpbiByJiYid2hlZWxEZWx0YVkiaW4gcj8obC5kZWx0YVg9LXIud2hlZWxEZWx0YVgsbC5kZWx0YVk9LXIud2hlZWxEZWx0YVkpOiJ3aGVlbERlbHRhImluIHI/KGwuZGVsdGFYPQowLGwuZGVsdGFZPS1yLndoZWVsRGVsdGEpOiJheGlzImluIHI/KGwuZGVsdGFYPTE9PT1yLmF4aXM/ci5kZXRhaWw6MCxsLmRlbHRhWT0yPT09ci5heGlzP3IuZGV0YWlsOjApOnIudGFyZ2V0VG91Y2hlcyYmKHI9ci50YXJnZXRUb3VjaGVzWzBdLGwuZGVsdGFYPWItci5wYWdlWCxsLmRlbHRhWT1kLXIucGFnZVkpKTtyZXR1cm4gbH19fSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1mb2N1c2FibGVzLWhlbHBlci5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPUVsZW1lbnQucHJvdG90eXBlLGQ9Yi5tYXRjaGVzfHxiLm1hdGNoZXNTZWxlY3Rvcnx8Yi5tb3pNYXRjaGVzU2VsZWN0b3J8fGIubXNNYXRjaGVzU2VsZWN0b3J8fGIub01hdGNoZXNTZWxlY3Rvcnx8Yi53ZWJraXRNYXRjaGVzU2VsZWN0b3I7UG9seW1lci5Jcm9uRm9jdXNhYmxlc0hlbHBlcj17Z2V0VGFiYmFibGVOb2RlczpmdW5jdGlvbihmKXt2YXIgaD1bXTtyZXR1cm4gdGhpcy5fY29sbGVjdFRhYmJhYmxlTm9kZXMoZixoKT90aGlzLl9zb3J0QnlUYWJJbmRleChoKTpofSxpc0ZvY3VzYWJsZTpmdW5jdGlvbihmKXtyZXR1cm4gZC5jYWxsKGYsImlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBidXR0b24sIG9iamVjdCIpP2QuY2FsbChmLCI6bm90KFtkaXNhYmxlZF0pIik6ZC5jYWxsKGYsImFbaHJlZl0sIGFyZWFbaHJlZl0sIGlmcmFtZSwgW3RhYmluZGV4XSwgW2NvbnRlbnRFZGl0YWJsZV0iKX0saXNUYWJiYWJsZTpmdW5jdGlvbihmKXtyZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZShmKSYmCmQuY2FsbChmLCc6bm90KFt0YWJpbmRleFx4M2QiLTEiXSknKSYmdGhpcy5faXNWaXNpYmxlKGYpfSxfbm9ybWFsaXplZFRhYkluZGV4OmZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLmlzRm9jdXNhYmxlKGYpPyhmPWYuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwwLE51bWJlcihmKSk6LTF9LF9jb2xsZWN0VGFiYmFibGVOb2RlczpmdW5jdGlvbihmLGgpe2lmKGYubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERXx8IXRoaXMuX2lzVmlzaWJsZShmKSlyZXR1cm4hMTt2YXIgaz10aGlzLl9ub3JtYWxpemVkVGFiSW5kZXgoZikscj0wPGs7MDw9ayYmaC5wdXNoKGYpO2Y9ImNvbnRlbnQiPT09Zi5sb2NhbE5hbWV8fCJzbG90Ij09PWYubG9jYWxOYW1lP1BvbHltZXIuZG9tKGYpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTpQb2x5bWVyLmRvbShmLnJvb3R8fGYpLmNoaWxkcmVuO2ZvcihrPTA7azxmLmxlbmd0aDtrKyspcj10aGlzLl9jb2xsZWN0VGFiYmFibGVOb2RlcyhmW2tdLGgpfHxyOwpyZXR1cm4gcn0sX2lzVmlzaWJsZTpmdW5jdGlvbihmKXt2YXIgaD1mLnN0eWxlO3JldHVybiJoaWRkZW4iIT09aC52aXNpYmlsaXR5JiYibm9uZSIhPT1oLmRpc3BsYXk/KGg9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZiksImhpZGRlbiIhPT1oLnZpc2liaWxpdHkmJiJub25lIiE9PWguZGlzcGxheSk6ITF9LF9zb3J0QnlUYWJJbmRleDpmdW5jdGlvbihmKXt2YXIgaD1mLmxlbmd0aDtpZigyPmgpcmV0dXJuIGY7dmFyIGs9TWF0aC5jZWlsKGgvMik7aD10aGlzLl9zb3J0QnlUYWJJbmRleChmLnNsaWNlKDAsaykpO2Y9dGhpcy5fc29ydEJ5VGFiSW5kZXgoZi5zbGljZShrKSk7cmV0dXJuIHRoaXMuX21lcmdlU29ydEJ5VGFiSW5kZXgoaCxmKX0sX21lcmdlU29ydEJ5VGFiSW5kZXg6ZnVuY3Rpb24oZixoKXtmb3IodmFyIGs9W107MDxmLmxlbmd0aCYmMDxoLmxlbmd0aDspdGhpcy5faGFzTG93ZXJUYWJPcmRlcihmWzBdLGhbMF0pP2sucHVzaChoLnNoaWZ0KCkpOmsucHVzaChmLnNoaWZ0KCkpOwpyZXR1cm4gay5jb25jYXQoZixoKX0sX2hhc0xvd2VyVGFiT3JkZXI6ZnVuY3Rpb24oZixoKXtmPU1hdGgubWF4KGYudGFiSW5kZXgsMCk7aD1NYXRoLm1heChoLnRhYkluZGV4LDApO3JldHVybiAwPT09Znx8MD09PWg/aD5mOmY+aH19fSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1vdmVybGF5LWJlaGF2aW9yLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7b3BlbmVkOntvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQiLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LGNhbmNlbGVkOntvYnNlcnZlcjoiX2NhbmNlbGVkQ2hhbmdlZCIscmVhZE9ubHk6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExfSx3aXRoQmFja2Ryb3A6e29ic2VydmVyOiJfd2l0aEJhY2tkcm9wQ2hhbmdlZCIsdHlwZTpCb29sZWFufSxub0F1dG9Gb2N1czp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0NhbmNlbE9uRXNjS2V5Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sY2xvc2luZ1JlYXNvbjp7dHlwZTpPYmplY3R9LHJlc3RvcmVGb2N1c09uQ2xvc2U6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWxsb3dDbGlja1Rocm91Z2g6e3R5cGU6Qm9vbGVhbn0sYWx3YXlzT25Ub3A6e3R5cGU6Qm9vbGVhbn0sCnNjcm9sbEFjdGlvbjp7dHlwZTpTdHJpbmd9LF9tYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlcn0sX2ZvY3VzZWRDaGlsZDp7dHlwZTpPYmplY3R9fSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vbklyb25SZXNpemUifSxvYnNlcnZlcnM6WyJfX3VwZGF0ZVNjcm9sbE9ic2VydmVycyhpc0F0dGFjaGVkLCBvcGVuZWQsIHNjcm9sbEFjdGlvbikiXSxnZXQgYmFja2Ryb3BFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21hbmFnZXIuYmFja2Ryb3BFbGVtZW50fSxnZXQgX2ZvY3VzTm9kZSgpe3JldHVybiB0aGlzLl9mb2N1c2VkQ2hpbGR8fFBvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoIlthdXRvZm9jdXNdIil8fHRoaXN9LGdldCBfZm9jdXNhYmxlTm9kZXMoKXtyZXR1cm4gUG9seW1lci5Jcm9uRm9jdXNhYmxlc0hlbHBlci5nZXRUYWJiYWJsZU5vZGVzKHRoaXMpfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0KdGhpcy5fX2lzQW5pbWF0aW5nPSExO3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGw7dGhpcy5fX3JhZnM9e307dGhpcy5fX3Njcm9sbFRvcD10aGlzLl9fc2Nyb2xsTGVmdD10aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT1udWxsO3RoaXMuX19vbkNhcHR1cmVTY3JvbGw9dGhpcy5fX29uQ2FwdHVyZVNjcm9sbC5iaW5kKHRoaXMpO3RoaXMuX19yb290Tm9kZXM9bnVsbDt0aGlzLl9lbnN1cmVTZXR1cCgpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLl9vcGVuZWRDaGFuZ2VkKHRoaXMub3BlbmVkKTt0aGlzLl9vYnNlcnZlcj1Qb2x5bWVyLmRvbSh0aGlzKS5vYnNlcnZlTm9kZXModGhpcy5fb25Ob2Rlc0NoYW5nZSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5kb20odGhpcykudW5vYnNlcnZlTm9kZXModGhpcy5fb2JzZXJ2ZXIpO3RoaXMuX29ic2VydmVyPW51bGw7Zm9yKHZhciBiIGluIHRoaXMuX19yYWZzKW51bGwhPT0KdGhpcy5fX3JhZnNbYl0mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX19yYWZzW2JdKTt0aGlzLl9fcmFmcz17fTt0aGlzLl9tYW5hZ2VyLnJlbW92ZU92ZXJsYXkodGhpcyk7dGhpcy5fX2lzQW5pbWF0aW5nJiYodGhpcy5vcGVuZWQ/dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCk6KHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKSkpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRDYW5jZWxlZCghMSk7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5fc2V0Q2FuY2VsZWQoITEpO3RoaXMub3BlbmVkPSEwfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuX3NldENhbmNlbGVkKCExKTt0aGlzLm9wZW5lZD0hMX0sY2FuY2VsOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgiaXJvbi1vdmVybGF5LWNhbmNlbGVkIixiLHtjYW5jZWxhYmxlOiEwfSkuZGVmYXVsdFByZXZlbnRlZHx8KHRoaXMuX3NldENhbmNlbGVkKCEwKSx0aGlzLm9wZW5lZD0KITEpfSxpbnZhbGlkYXRlVGFiYmFibGVzOmZ1bmN0aW9uKCl7dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZT10aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU9bnVsbH0sX2Vuc3VyZVNldHVwOmZ1bmN0aW9uKCl7dGhpcy5fb3ZlcmxheVNldHVwfHwodGhpcy5fb3ZlcmxheVNldHVwPSEwLHRoaXMuc3R5bGUub3V0bGluZT0ibm9uZSIsdGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIil9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKGIpe2I/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIik6dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX19pc0FuaW1hdGluZz0hMCx0aGlzLl9fZGVyYWYoIl9fb3BlbmVkQ2hhbmdlZCIsdGhpcy5fX29wZW5lZENoYW5nZWQpKX0sX2NhbmNlbGVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuY2xvc2luZ1JlYXNvbj10aGlzLmNsb3NpbmdSZWFzb258fHt9O3RoaXMuY2xvc2luZ1JlYXNvbi5jYW5jZWxlZD0KdGhpcy5jYW5jZWxlZH0sX3dpdGhCYWNrZHJvcENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLndpdGhCYWNrZHJvcCYmIXRoaXMuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpPyh0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0hMCk6dGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4JiYodGhpcy5yZW1vdmVBdHRyaWJ1dGUoInRhYmluZGV4IiksdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExKTt0aGlzLm9wZW5lZCYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9tYW5hZ2VyLnRyYWNrQmFja2Ryb3AoKX0sX3ByZXBhcmVSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50O3RoaXMuX3ByZXBhcmVQb3NpdGlvbmluZygpO3RoaXMucmVmaXQoKTt0aGlzLl9maW5pc2hQb3NpdGlvbmluZygpO3RoaXMubm9BdXRvRm9jdXMmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT0KdGhpcy5fZm9jdXNOb2RlJiYodGhpcy5fZm9jdXNOb2RlLmJsdXIoKSx0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZS5mb2N1cygpKX0sX3JlbmRlck9wZW5lZDpmdW5jdGlvbigpe3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpfSxfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5fZmluaXNoUmVuZGVyQ2xvc2VkKCl9LF9maW5pc2hSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLm5vdGlmeVJlc2l6ZSgpO3RoaXMuX19pc0FuaW1hdGluZz0hMTt0aGlzLmZpcmUoImlyb24tb3ZlcmxheS1vcGVuZWQiKX0sX2ZpbmlzaFJlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5zdHlsZS56SW5kZXg9IiI7dGhpcy5ub3RpZnlSZXNpemUoKTt0aGlzLl9faXNBbmltYXRpbmc9ITE7dGhpcy5maXJlKCJpcm9uLW92ZXJsYXktY2xvc2VkIix0aGlzLmNsb3NpbmdSZWFzb24pfSxfcHJlcGFyZVBvc2l0aW9uaW5nOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uPQp0aGlzLnN0eWxlLndlYmtpdFRyYW5zaXRpb249Im5vbmUiO3RoaXMuc3R5bGUudHJhbnNmb3JtPXRoaXMuc3R5bGUud2Via2l0VHJhbnNmb3JtPSJub25lIjt0aGlzLnN0eWxlLmRpc3BsYXk9IiJ9LF9maW5pc2hQb3NpdGlvbmluZzpmdW5jdGlvbigpe3RoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3A7dGhpcy5zdHlsZS50cmFuc2l0aW9uPXRoaXMuc3R5bGUud2Via2l0VHJhbnNpdGlvbj0iIjt0aGlzLnN0eWxlLnRyYW5zZm9ybT10aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0iIjt0aGlzLnN0eWxlLmRpc3BsYXk9IiI7dGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3B9LF9hcHBseUZvY3VzOmZ1bmN0aW9uKCl7aWYodGhpcy5vcGVuZWQpdGhpcy5ub0F1dG9Gb2N1c3x8dGhpcy5fZm9jdXNOb2RlLmZvY3VzKCk7ZWxzZXt0aGlzLl9mb2N1c05vZGUuYmx1cigpO3RoaXMuX2ZvY3VzZWRDaGlsZD1udWxsO2lmKHRoaXMucmVzdG9yZUZvY3VzT25DbG9zZSYmCnRoaXMuX19yZXN0b3JlRm9jdXNOb2RlKXt2YXIgYj10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50OyhiPT09ZG9jdW1lbnQuYm9keXx8UG9seW1lci5kb20odGhpcykuZGVlcENvbnRhaW5zKGIpKSYmdGhpcy5fX3Jlc3RvcmVGb2N1c05vZGUuZm9jdXMoKX10aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT1udWxsOyhiPXRoaXMuX21hbmFnZXIuY3VycmVudE92ZXJsYXkoKSkmJnRoaXMhPT1iJiZiLl9hcHBseUZvY3VzKCl9fSxfb25DYXB0dXJlQ2xpY2s6ZnVuY3Rpb24oYil7dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrfHx0aGlzLmNhbmNlbChiKX0sX29uQ2FwdHVyZUZvY3VzOmZ1bmN0aW9uKGIpe2lmKHRoaXMud2l0aEJhY2tkcm9wKXt2YXIgZD1Qb2x5bWVyLmRvbShiKS5wYXRoOy0xPT09ZC5pbmRleE9mKHRoaXMpPyhiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuX2FwcGx5Rm9jdXMoKSk6dGhpcy5fZm9jdXNlZENoaWxkPWRbMF19fSxfb25DYXB0dXJlRXNjOmZ1bmN0aW9uKGIpe3RoaXMubm9DYW5jZWxPbkVzY0tleXx8CnRoaXMuY2FuY2VsKGIpfSxfb25DYXB0dXJlVGFiOmZ1bmN0aW9uKGIpe2lmKHRoaXMud2l0aEJhY2tkcm9wKXt0aGlzLl9fZW5zdXJlRmlyc3RMYXN0Rm9jdXNhYmxlcygpO3ZhciBkPWIuc2hpZnRLZXksZj1kP3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU6dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlO2Q9ZD90aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU6dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZTtpZihmPT09ZClmPSEwO2Vsc2V7dmFyIGg9dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDtmPWg9PT1mfHxoPT09dGhpc31mJiYoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDaGlsZD1kLHRoaXMuX2FwcGx5Rm9jdXMoKSl9fSxfb25Jcm9uUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLl9faXNBbmltYXRpbmcmJnRoaXMuX19kZXJhZigicmVmaXQiLHRoaXMucmVmaXQpfSxfb25Ob2Rlc0NoYW5nZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiYhdGhpcy5fX2lzQW5pbWF0aW5nJiYKKHRoaXMuaW52YWxpZGF0ZVRhYmJhYmxlcygpLHRoaXMubm90aWZ5UmVzaXplKCkpfSxfX2Vuc3VyZUZpcnN0TGFzdEZvY3VzYWJsZXM6ZnVuY3Rpb24oKXtpZighdGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZXx8IXRoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZSl7dmFyIGI9dGhpcy5fZm9jdXNhYmxlTm9kZXM7dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZT1iWzBdO3RoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZT1iW2IubGVuZ3RoLTFdfX0sX19vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/KHRoaXMuX3ByZXBhcmVSZW5kZXJPcGVuZWQoKSx0aGlzLl9tYW5hZ2VyLmFkZE92ZXJsYXkodGhpcyksdGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX3JlbmRlck9wZW5lZCgpKToodGhpcy5fbWFuYWdlci5yZW1vdmVPdmVybGF5KHRoaXMpLHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9yZW5kZXJDbG9zZWQoKSl9LF9fZGVyYWY6ZnVuY3Rpb24oYixkKXt2YXIgZj10aGlzLl9fcmFmczsKbnVsbCE9PWZbYl0mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZbYl0pO2ZbYl09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZltiXT1udWxsO2QuY2FsbCh0aGlzKX0uYmluZCh0aGlzKSl9LF9fdXBkYXRlU2Nyb2xsT2JzZXJ2ZXJzOmZ1bmN0aW9uKGIsZCxmKXtiJiZkJiZ0aGlzLl9faXNWYWxpZFNjcm9sbEFjdGlvbihmKT8oImxvY2siPT09ZiYmKHRoaXMuX19zYXZlU2Nyb2xsUG9zaXRpb24oKSxQb2x5bWVyLklyb25TY3JvbGxNYW5hZ2VyLnB1c2hTY3JvbGxMb2NrKHRoaXMpKSx0aGlzLl9fYWRkU2Nyb2xsTGlzdGVuZXJzKCkpOihQb2x5bWVyLklyb25TY3JvbGxNYW5hZ2VyLnJlbW92ZVNjcm9sbExvY2sodGhpcyksdGhpcy5fX3JlbW92ZVNjcm9sbExpc3RlbmVycygpKX0sX19hZGRTY3JvbGxMaXN0ZW5lcnM6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Jvb3ROb2Rlcyl7dGhpcy5fX3Jvb3ROb2Rlcz1bXTtpZihQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdylmb3IodmFyIGI9CnRoaXM7YjspYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmYi5ob3N0JiZ0aGlzLl9fcm9vdE5vZGVzLnB1c2goYiksYj1iLmhvc3R8fGIuYXNzaWduZWRTbG90fHxiLnBhcmVudE5vZGU7dGhpcy5fX3Jvb3ROb2Rlcy5wdXNoKGRvY3VtZW50KX10aGlzLl9fcm9vdE5vZGVzLmZvckVhY2goZnVuY3Rpb24oZCl7ZC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSx0aGlzKX0sX19yZW1vdmVTY3JvbGxMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt0aGlzLl9fcm9vdE5vZGVzJiZ0aGlzLl9fcm9vdE5vZGVzLmZvckVhY2goZnVuY3Rpb24oYil7Yi5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSx0aGlzKTt0aGlzLmlzQXR0YWNoZWR8fCh0aGlzLl9fcm9vdE5vZGVzPW51bGwpfSxfX2lzVmFsaWRTY3JvbGxBY3Rpb246ZnVuY3Rpb24oYil7cmV0dXJuImxvY2siPT09CmJ8fCJyZWZpdCI9PT1ifHwiY2FuY2VsIj09PWJ9LF9fb25DYXB0dXJlU2Nyb2xsOmZ1bmN0aW9uKGIpe2lmKCEodGhpcy5fX2lzQW5pbWF0aW5nfHwwPD1Qb2x5bWVyLmRvbShiKS5wYXRoLmluZGV4T2YodGhpcykpKXN3aXRjaCh0aGlzLnNjcm9sbEFjdGlvbil7Y2FzZSAibG9jayI6dGhpcy5fX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpO2JyZWFrO2Nhc2UgInJlZml0Ijp0aGlzLl9fZGVyYWYoInJlZml0Iix0aGlzLnJlZml0KTticmVhaztjYXNlICJjYW5jZWwiOnRoaXMuY2FuY2VsKGIpfX0sX19zYXZlU2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXtkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50Pyh0aGlzLl9fc2Nyb2xsVG9wPWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wLHRoaXMuX19zY3JvbGxMZWZ0PWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCk6KHRoaXMuX19zY3JvbGxUb3A9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCwKZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApLHRoaXMuX19zY3JvbGxMZWZ0PU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0LGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCkpfSxfX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ/KGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wPXRoaXMuX19zY3JvbGxUb3AsZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0PXRoaXMuX19zY3JvbGxMZWZ0KTooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcD1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcD10aGlzLl9fc2Nyb2xsVG9wLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0PWRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdD10aGlzLl9fc2Nyb2xsTGVmdCl9fTtQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3I9W1BvbHltZXIuSXJvbkZpdEJlaGF2aW9yLFBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yLApQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3JJbXBsXX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vbmVvbi1hbmltYXRpb24vbmVvbi1hbmltYXRhYmxlLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5OZW9uQW5pbWF0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxlbnRyeUFuaW1hdGlvbjp7b2JzZXJ2ZXI6Il9lbnRyeUFuaW1hdGlvbkNoYW5nZWQiLHR5cGU6U3RyaW5nfSxleGl0QW5pbWF0aW9uOntvYnNlcnZlcjoiX2V4aXRBbmltYXRpb25DaGFuZ2VkIix0eXBlOlN0cmluZ319LF9lbnRyeUFuaW1hdGlvbkNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGlvbkNvbmZpZz10aGlzLmFuaW1hdGlvbkNvbmZpZ3x8e307dGhpcy5hbmltYXRpb25Db25maWcuZW50cnk9W3tuYW1lOnRoaXMuZW50cnlBbmltYXRpb24sbm9kZTp0aGlzfV19LF9leGl0QW5pbWF0aW9uQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYW5pbWF0aW9uQ29uZmlnPXRoaXMuYW5pbWF0aW9uQ29uZmlnfHx7fTt0aGlzLmFuaW1hdGlvbkNvbmZpZy5leGl0PVt7bmFtZTp0aGlzLmV4aXRBbmltYXRpb24sbm9kZTp0aGlzfV19LF9jb3B5UHJvcGVydGllczpmdW5jdGlvbihiLApkKXtmb3IodmFyIGYgaW4gZCliW2ZdPWRbZl19LF9jbG9uZUNvbmZpZzpmdW5jdGlvbihiKXt2YXIgZD17aXNDbG9uZTohMH07dGhpcy5fY29weVByb3BlcnRpZXMoZCxiKTtyZXR1cm4gZH0sX2dldEFuaW1hdGlvbkNvbmZpZ1JlY3Vyc2l2ZTpmdW5jdGlvbihiLGQsZil7aWYodGhpcy5hbmltYXRpb25Db25maWcpaWYodGhpcy5hbmltYXRpb25Db25maWcudmFsdWUmJiJmdW5jdGlvbiI9PT10eXBlb2YgdGhpcy5hbmltYXRpb25Db25maWcudmFsdWUpdGhpcy5fd2Fybih0aGlzLl9sb2dmKCJwbGF5QW5pbWF0aW9uIiwiUGxlYXNlIHB1dCAnYW5pbWF0aW9uQ29uZmlnJyBpbnNpZGUgb2YgeW91ciBjb21wb25lbnRzICdwcm9wZXJ0aWVzJyBvYmplY3QgaW5zdGVhZCBvZiBvdXRzaWRlIG9mIGl0LiIpKTtlbHNle3ZhciBoPWI/dGhpcy5hbmltYXRpb25Db25maWdbYl06dGhpcy5hbmltYXRpb25Db25maWc7QXJyYXkuaXNBcnJheShoKXx8KGg9W2hdKTtpZihoKWZvcih2YXIgayxyPTA7az0KaFtyXTtyKyspaWYoay5hbmltYXRhYmxlKWsuYW5pbWF0YWJsZS5fZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlKGsudHlwZXx8YixkLGYpO2Vsc2UgaWYoay5pZCl7dmFyIGw9ZFtrLmlkXTtsPyhsLmlzQ2xvbmV8fChkW2suaWRdPXRoaXMuX2Nsb25lQ29uZmlnKGwpLGw9ZFtrLmlkXSksdGhpcy5fY29weVByb3BlcnRpZXMobCxrKSk6ZFtrLmlkXT1rfWVsc2UgZi5wdXNoKGspfX0sZ2V0QW5pbWF0aW9uQ29uZmlnOmZ1bmN0aW9uKGIpe3ZhciBkPXt9LGY9W107dGhpcy5fZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlKGIsZCxmKTtmb3IodmFyIGggaW4gZClmLnB1c2goZFtoXSk7cmV0dXJuIGZ9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9uZW9uLWFuaW1hdGlvbi9uZW9uLWFuaW1hdGlvbi1ydW5uZXItYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvckltcGw9e19jb25maWd1cmVBbmltYXRpb25zOmZ1bmN0aW9uKGIpe3ZhciBkPVtdLGY9W107aWYoMDxiLmxlbmd0aClmb3IodmFyIGgsaz0wO2g9YltrXTtrKyspe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaC5uYW1lKTtpZihyLmlzTmVvbkFuaW1hdGlvbil7dmFyIGw9bnVsbDtyLmNvbmZpZ3VyZXx8KHIuY29uZmlndXJlPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTtsPXIuY29uZmlndXJlKGgpO2YucHVzaCh7cmVzdWx0OmwsY29uZmlnOmh9KX1lbHNlIGNvbnNvbGUud2Fybih0aGlzLmlzKyI6IixoLm5hbWUsIm5vdCBmb3VuZCEiKX1mb3IoYj0wO2I8Zi5sZW5ndGg7YisrKXtsPWZbYl0ucmVzdWx0O2g9ZltiXS5jb25maWc7dHJ5eyJmdW5jdGlvbiIhPXR5cGVvZiBsLmNhbmNlbCYmKGw9ZG9jdW1lbnQudGltZWxpbmUucGxheShsKSl9Y2F0Y2gocCl7bD1udWxsLGNvbnNvbGUud2FybigiQ291bGRudCBwbGF5IiwKIigiLGgubmFtZSwiKS4iLHApfWwmJmQucHVzaCh7bmVvbkFuaW1hdGlvbjpyLGNvbmZpZzpoLGFuaW1hdGlvbjpsfSl9cmV0dXJuIGR9LF9zaG91bGRDb21wbGV0ZTpmdW5jdGlvbihiKXtmb3IodmFyIGQ9ITAsZj0wO2Y8Yi5sZW5ndGg7ZisrKWlmKCJmaW5pc2hlZCIhPWJbZl0uYW5pbWF0aW9uLnBsYXlTdGF0ZSl7ZD0hMTticmVha31yZXR1cm4gZH0sX2NvbXBsZXRlOmZ1bmN0aW9uKGIpe2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWJbZF0ubmVvbkFuaW1hdGlvbi5jb21wbGV0ZShiW2RdLmNvbmZpZyk7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyliW2RdLmFuaW1hdGlvbi5jYW5jZWwoKX0scGxheUFuaW1hdGlvbjpmdW5jdGlvbihiLGQpe3ZhciBmPXRoaXMuZ2V0QW5pbWF0aW9uQ29uZmlnKGIpO2lmKGYpe3RoaXMuX2FjdGl2ZT10aGlzLl9hY3RpdmV8fHt9O3RoaXMuX2FjdGl2ZVtiXSYmKHRoaXMuX2NvbXBsZXRlKHRoaXMuX2FjdGl2ZVtiXSksZGVsZXRlIHRoaXMuX2FjdGl2ZVtiXSk7CnZhciBoPXRoaXMuX2NvbmZpZ3VyZUFuaW1hdGlvbnMoZik7aWYoMD09aC5sZW5ndGgpdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGQse2J1YmJsZXM6ITF9KTtlbHNlIGZvcih0aGlzLl9hY3RpdmVbYl09aCxmPTA7ZjxoLmxlbmd0aDtmKyspaFtmXS5hbmltYXRpb24ub25maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9zaG91bGRDb21wbGV0ZShoKSYmKHRoaXMuX2NvbXBsZXRlKGgpLGRlbGV0ZSB0aGlzLl9hY3RpdmVbYl0sdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGQse2J1YmJsZXM6ITF9KSl9LmJpbmQodGhpcyl9fSxjYW5jZWxBbmltYXRpb246ZnVuY3Rpb24oKXtmb3IodmFyIGIgaW4gdGhpcy5fYWN0aXZlKXt2YXIgZD10aGlzLl9hY3RpdmVbYl0sZjtmb3IoZiBpbiBkKWRbZl0uYW5pbWF0aW9uLmNhbmNlbCgpfXRoaXMuX2FjdGl2ZT17fX19OwpQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcj1bUG9seW1lci5OZW9uQW5pbWF0YWJsZUJlaGF2aW9yLFBvbHltZXIuTmVvbkFuaW1hdGlvblJ1bm5lckJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1kcm9wZG93bi9pcm9uLWRyb3Bkb3duLXNjcm9sbC1tYW5hZ2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uRHJvcGRvd25TY3JvbGxNYW5hZ2VyPVBvbHltZXIuSXJvblNjcm9sbE1hbmFnZXJ9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL25lb24tYW5pbWF0aW9uL25lb24tYW5pbWF0aW9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2FuaW1hdGlvblRpbWluZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZHVyYXRpb246NTAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSIsZmlsbDoiYm90aCJ9fX19LGlzTmVvbkFuaW1hdGlvbjohMCxjcmVhdGVkOmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5hbmltYXRlfHxjb25zb2xlLndhcm4oIk5vIHdlYiBhbmltYXRpb25zIGRldGVjdGVkLiBUaGlzIGVsZW1lbnQgd2lsbCBub3QgZnVuY3Rpb24gd2l0aG91dCBhIHdlYiBhbmltYXRpb25zIHBvbHlmaWxsLiIpfSx0aW1pbmdGcm9tQ29uZmlnOmZ1bmN0aW9uKGIpe2lmKGIudGltaW5nKWZvcih2YXIgZCBpbiBiLnRpbWluZyl0aGlzLmFuaW1hdGlvblRpbWluZ1tkXT1iLnRpbWluZ1tkXTtyZXR1cm4gdGhpcy5hbmltYXRpb25UaW1pbmd9LHNldFByZWZpeGVkUHJvcGVydHk6ZnVuY3Rpb24oYixkLGYpe2Zvcih2YXIgaD0Ke3RyYW5zZm9ybTpbIndlYmtpdFRyYW5zZm9ybSJdLHRyYW5zZm9ybU9yaWdpbjpbIm1velRyYW5zZm9ybU9yaWdpbiIsIndlYmtpdFRyYW5zZm9ybU9yaWdpbiJdfVtkXSxrLHI9MDtrPWhbcl07cisrKWIuc3R5bGVba109ZjtiLnN0eWxlW2RdPWZ9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7fX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vbmVvbi1hbmltYXRpb24vYW5pbWF0aW9ucy9mYWRlLWluLWFuaW1hdGlvbi5odG1sLmpzClBvbHltZXIoe2lzOiJmYWRlLWluLWFuaW1hdGlvbiIsYmVoYXZpb3JzOltQb2x5bWVyLk5lb25BbmltYXRpb25CZWhhdmlvcl0sY29uZmlndXJlOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGIubm9kZSxbe29wYWNpdHk6IjAifSx7b3BhY2l0eToiMSJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL25lb24tYW5pbWF0aW9uL2FuaW1hdGlvbnMvZmFkZS1vdXQtYW5pbWF0aW9uLmh0bWwuanMKUG9seW1lcih7aXM6ImZhZGUtb3V0LWFuaW1hdGlvbiIsYmVoYXZpb3JzOltQb2x5bWVyLk5lb25BbmltYXRpb25CZWhhdmlvcl0sY29uZmlndXJlOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGIubm9kZSxbe29wYWNpdHk6IjEifSx7b3BhY2l0eToiMCJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLW1lbnUtYnV0dG9uL3BhcGVyLW1lbnUtYnV0dG9uLWFuaW1hdGlvbnMuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChkLFt7aGVpZ2h0OmYvMisicHgifSx7aGVpZ2h0OmYrInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7UG9seW1lcih7aXM6InBhcGVyLW1lbnUtZ3Jvdy13aWR0aC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3t3aWR0aDpmLzIrInB4In0se3dpZHRoOmYrInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7ClBvbHltZXIoe2lzOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3t3aWR0aDpmKyJweCJ9LHt3aWR0aDpmLWYvMjArInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7ClBvbHltZXIoe2lzOiJwYXBlci1tZW51LXNocmluay1oZWlnaHQtYW5pbWF0aW9uIixiZWhhdmlvcnM6W1BvbHltZXIuTmVvbkFuaW1hdGlvbkJlaGF2aW9yXSxjb25maWd1cmU6ZnVuY3Rpb24oYil7dmFyIGQ9Yi5ub2RlLGY9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7dGhpcy5zZXRQcmVmaXhlZFByb3BlcnR5KGQsInRyYW5zZm9ybU9yaWdpbiIsIjAgMCIpO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3toZWlnaHQ6ZisicHgiLHRyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9LHtoZWlnaHQ6Zi8yKyJweCIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC0yMHB4KSJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taWNvbnNldC1zdmcvaXJvbi1pY29uc2V0LXN2Zy5odG1sLmpzClBvbHltZXIoe2lzOiJpcm9uLWljb25zZXQtc3ZnIixwcm9wZXJ0aWVzOntuYW1lOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX25hbWVDaGFuZ2VkIn0sc2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MjR9LHJ0bE1pcnJvcmluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx1c2VHbG9iYWxSdGxBdHRyaWJ1dGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhPW5ldyBQb2x5bWVyLklyb25NZXRhKHt0eXBlOiJpY29uc2V0IixrZXk6bnVsbCx2YWx1ZTpudWxsfSl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIn0sZ2V0SWNvbk5hbWVzOmZ1bmN0aW9uKCl7dGhpcy5faWNvbnM9dGhpcy5fY3JlYXRlSWNvbk1hcCgpO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9pY29ucykubWFwKGZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLm5hbWUrIjoiK2J9LHRoaXMpfSxhcHBseUljb246ZnVuY3Rpb24oYixkKXt0aGlzLnJlbW92ZUljb24oYik7CmlmKGQ9dGhpcy5fY2xvbmVJY29uKGQsdGhpcy5ydGxNaXJyb3JpbmcmJnRoaXMuX3RhcmdldElzUlRMKGIpKSl7dmFyIGY9UG9seW1lci5kb20oYi5yb290fHxiKTtmLmluc2VydEJlZm9yZShkLGYuY2hpbGROb2Rlc1swXSk7cmV0dXJuIGIuX3N2Z0ljb249ZH1yZXR1cm4gbnVsbH0scmVtb3ZlSWNvbjpmdW5jdGlvbihiKXtiLl9zdmdJY29uJiYoUG9seW1lci5kb20oYi5yb290fHxiKS5yZW1vdmVDaGlsZChiLl9zdmdJY29uKSxiLl9zdmdJY29uPW51bGwpfSxfdGFyZ2V0SXNSVEw6ZnVuY3Rpb24oYil7bnVsbD09dGhpcy5fX3RhcmdldElzUlRMJiYodGhpcy51c2VHbG9iYWxSdGxBdHRyaWJ1dGU/dGhpcy5fX3RhcmdldElzUlRMPSJydGwiPT09KGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJkaXIiKT9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0QXR0cmlidXRlKCJkaXIiKTooYiYmYi5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYKKGI9Yi5ob3N0KSx0aGlzLl9fdGFyZ2V0SXNSVEw9YiYmInJ0bCI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKS5kaXJlY3Rpb24pKTtyZXR1cm4gdGhpcy5fX3RhcmdldElzUlRMfSxfbmFtZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhLnZhbHVlPW51bGw7dGhpcy5fbWV0YS5rZXk9dGhpcy5uYW1lO3RoaXMuX21ldGEudmFsdWU9dGhpczt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5maXJlKCJpcm9uLWljb25zZXQtYWRkZWQiLHRoaXMse25vZGU6d2luZG93fSl9KX0sX2NyZWF0ZUljb25NYXA6ZnVuY3Rpb24oKXt2YXIgYj1PYmplY3QuY3JlYXRlKG51bGwpO1BvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2JbZC5pZF09ZH0pO3JldHVybiBifSxfY2xvbmVJY29uOmZ1bmN0aW9uKGIsZCl7dGhpcy5faWNvbnM9dGhpcy5faWNvbnN8fHRoaXMuX2NyZWF0ZUljb25NYXAoKTtyZXR1cm4gdGhpcy5fcHJlcGFyZVN2Z0Nsb25lKHRoaXMuX2ljb25zW2JdLAp0aGlzLnNpemUsZCl9LF9wcmVwYXJlU3ZnQ2xvbmU6ZnVuY3Rpb24oYixkLGYpe2lmKGIpe2I9Yi5jbG9uZU5vZGUoITApO3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTtkPWIuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fCIwIDAgIitkKyIgIitkO3ZhciBrPSJwb2ludGVyLWV2ZW50czogbm9uZTsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IjtmJiZiLmhhc0F0dHJpYnV0ZSgibWlycm9yLWluLXJ0bCIpJiYoays9Ii13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwxKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsiKTtoLnNldEF0dHJpYnV0ZSgidmlld0JveCIsZCk7aC5zZXRBdHRyaWJ1dGUoInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0Iik7aC5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7aC5zdHlsZS5jc3NUZXh0PQprO2guYXBwZW5kQ2hpbGQoYikucmVtb3ZlQXR0cmlidXRlKCJpZCIpO3JldHVybiBofXJldHVybiBudWxsfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1zZWxlY3Rpb24uaHRtbC5qcwpQb2x5bWVyLklyb25TZWxlY3Rpb249ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3Rpb249W107dGhpcy5zZWxlY3RDYWxsYmFjaz1ifTsKUG9seW1lci5Jcm9uU2VsZWN0aW9uLnByb3RvdHlwZT17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsdGk/dGhpcy5zZWxlY3Rpb24uc2xpY2UoKTp0aGlzLnNlbGVjdGlvblswXX0sY2xlYXI6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3Rpb24uc2xpY2UoKS5mb3JFYWNoKGZ1bmN0aW9uKGQpeyghYnx8MD5iLmluZGV4T2YoZCkpJiZ0aGlzLnNldEl0ZW1TZWxlY3RlZChkLCExKX0sdGhpcyl9LGlzU2VsZWN0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIDA8PXRoaXMuc2VsZWN0aW9uLmluZGV4T2YoYil9LHNldEl0ZW1TZWxlY3RlZDpmdW5jdGlvbihiLGQpe2lmKG51bGwhPWImJmQhPT10aGlzLmlzU2VsZWN0ZWQoYikpe2lmKGQpdGhpcy5zZWxlY3Rpb24ucHVzaChiKTtlbHNle3ZhciBmPXRoaXMuc2VsZWN0aW9uLmluZGV4T2YoYik7MDw9ZiYmdGhpcy5zZWxlY3Rpb24uc3BsaWNlKGYsMSl9dGhpcy5zZWxlY3RDYWxsYmFjayYmdGhpcy5zZWxlY3RDYWxsYmFjayhiLGQpfX0sc2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMubXVsdGk/CnRoaXMudG9nZ2xlKGIpOnRoaXMuZ2V0KCkhPT1iJiYodGhpcy5zZXRJdGVtU2VsZWN0ZWQodGhpcy5nZXQoKSwhMSksdGhpcy5zZXRJdGVtU2VsZWN0ZWQoYiwhMCkpfSx0b2dnbGU6ZnVuY3Rpb24oYil7dGhpcy5zZXRJdGVtU2VsZWN0ZWQoYiwhdGhpcy5pc1NlbGVjdGVkKGIpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1zZWxlY3RhYmxlLmh0bWwuanMKUG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthdHRyRm9yU2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LHNlbGVjdGVkOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxhY3RpdmF0ZUV2ZW50Ont0eXBlOlN0cmluZyx2YWx1ZToidGFwIixvYnNlcnZlcjoiX2FjdGl2YXRlRXZlbnRDaGFuZ2VkIn0sc2VsZWN0YWJsZTpTdHJpbmcsc2VsZWN0ZWRDbGFzczp7dHlwZTpTdHJpbmcsdmFsdWU6Imlyb24tc2VsZWN0ZWQifSxzZWxlY3RlZEF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZmFsbGJhY2tTZWxlY3Rpb246e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGl0ZW1zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLG5vdGlmeTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX2V4Y2x1ZGVkTG9jYWxOYW1lczp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57dGVtcGxhdGU6MSwKImRvbS1iaW5kIjoxLCJkb20taWYiOjEsImRvbS1yZXBlYXQiOjF9fX19LG9ic2VydmVyczpbIl91cGRhdGVBdHRyRm9yU2VsZWN0ZWQoYXR0ckZvclNlbGVjdGVkKSIsIl91cGRhdGVTZWxlY3RlZChzZWxlY3RlZCkiLCJfY2hlY2tGYWxsYmFjayhmYWxsYmFja1NlbGVjdGlvbikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fYmluZEZpbHRlckl0ZW09dGhpcy5fZmlsdGVySXRlbS5iaW5kKHRoaXMpO3RoaXMuX3NlbGVjdGlvbj1uZXcgUG9seW1lci5Jcm9uU2VsZWN0aW9uKHRoaXMuX2FwcGx5U2VsZWN0aW9uLmJpbmQodGhpcykpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPXRoaXMuX29ic2VydmVJdGVtcyh0aGlzKTt0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLmFjdGl2YXRlRXZlbnQpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZQb2x5bWVyLmRvbSh0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlcik7dGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5hY3RpdmF0ZUV2ZW50KX0sCmluZGV4T2Y6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuaXRlbXM/dGhpcy5pdGVtcy5pbmRleE9mKGIpOi0xfSxzZWxlY3Q6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3RlZD1ifSxzZWxlY3RQcmV2aW91czpmdW5jdGlvbigpe3ZhciBiPXRoaXMuaXRlbXMubGVuZ3RoO2I9KE51bWJlcih0aGlzLl92YWx1ZVRvSW5kZXgodGhpcy5zZWxlY3RlZCkpLTErYiklYjt0aGlzLnNlbGVjdGVkPXRoaXMuX2luZGV4VG9WYWx1ZShiKX0sc2VsZWN0TmV4dDpmdW5jdGlvbigpe3ZhciBiPShOdW1iZXIodGhpcy5fdmFsdWVUb0luZGV4KHRoaXMuc2VsZWN0ZWQpKSsxKSV0aGlzLml0ZW1zLmxlbmd0aDt0aGlzLnNlbGVjdGVkPXRoaXMuX2luZGV4VG9WYWx1ZShiKX0sc2VsZWN0SW5kZXg6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3QodGhpcy5faW5kZXhUb1ZhbHVlKGIpKX0sZm9yY2VTeW5jaHJvbm91c0l0ZW1VcGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9vYnNlcnZlciYmImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9vYnNlcnZlci5mbHVzaD8KdGhpcy5fb2JzZXJ2ZXIuZmx1c2goKTp0aGlzLl91cGRhdGVJdGVtcygpfSxnZXQgX3Nob3VsZFVwZGF0ZVNlbGVjdGlvbigpe3JldHVybiBudWxsIT10aGlzLnNlbGVjdGVkfSxfY2hlY2tGYWxsYmFjazpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVNlbGVjdGVkKCl9LF9hZGRMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLmxpc3Rlbih0aGlzLGIsIl9hY3RpdmF0ZUhhbmRsZXIiKX0sX3JlbW92ZUxpc3RlbmVyOmZ1bmN0aW9uKGIpe3RoaXMudW5saXN0ZW4odGhpcyxiLCJfYWN0aXZhdGVIYW5kbGVyIil9LF9hY3RpdmF0ZUV2ZW50Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3RoaXMuX3JlbW92ZUxpc3RlbmVyKGQpO3RoaXMuX2FkZExpc3RlbmVyKGIpfSxfdXBkYXRlSXRlbXM6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHModGhpcy5zZWxlY3RhYmxlfHwiKiIpO2I9QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGIsdGhpcy5fYmluZEZpbHRlckl0ZW0pOwp0aGlzLl9zZXRJdGVtcyhiKX0sX3VwZGF0ZUF0dHJGb3JTZWxlY3RlZDpmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWRJdGVtJiYodGhpcy5zZWxlY3RlZD10aGlzLl92YWx1ZUZvckl0ZW0odGhpcy5zZWxlY3RlZEl0ZW0pKX0sX3VwZGF0ZVNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5fc2VsZWN0U2VsZWN0ZWQodGhpcy5zZWxlY3RlZCl9LF9zZWxlY3RTZWxlY3RlZDpmdW5jdGlvbigpe2lmKHRoaXMuaXRlbXMpe3ZhciBiPXRoaXMuX3ZhbHVlVG9JdGVtKHRoaXMuc2VsZWN0ZWQpO2I/dGhpcy5fc2VsZWN0aW9uLnNlbGVjdChiKTp0aGlzLl9zZWxlY3Rpb24uY2xlYXIoKTt0aGlzLmZhbGxiYWNrU2VsZWN0aW9uJiZ0aGlzLml0ZW1zLmxlbmd0aCYmdm9pZCAwPT09dGhpcy5fc2VsZWN0aW9uLmdldCgpJiYodGhpcy5zZWxlY3RlZD10aGlzLmZhbGxiYWNrU2VsZWN0aW9uKX19LF9maWx0ZXJJdGVtOmZ1bmN0aW9uKGIpe3JldHVybiF0aGlzLl9leGNsdWRlZExvY2FsTmFtZXNbYi5sb2NhbE5hbWVdfSwKX3ZhbHVlVG9JdGVtOmZ1bmN0aW9uKGIpe3JldHVybiBudWxsPT1iP251bGw6dGhpcy5pdGVtc1t0aGlzLl92YWx1ZVRvSW5kZXgoYildfSxfdmFsdWVUb0luZGV4OmZ1bmN0aW9uKGIpe2lmKHRoaXMuYXR0ckZvclNlbGVjdGVkKWZvcih2YXIgZD0wLGY7Zj10aGlzLml0ZW1zW2RdO2QrKyl7aWYodGhpcy5fdmFsdWVGb3JJdGVtKGYpPT1iKXJldHVybiBkfWVsc2UgcmV0dXJuIE51bWJlcihiKX0sX2luZGV4VG9WYWx1ZTpmdW5jdGlvbihiKXtpZih0aGlzLmF0dHJGb3JTZWxlY3RlZCl7aWYoYj10aGlzLml0ZW1zW2JdKXJldHVybiB0aGlzLl92YWx1ZUZvckl0ZW0oYil9ZWxzZSByZXR1cm4gYn0sX3ZhbHVlRm9ySXRlbTpmdW5jdGlvbihiKXtpZighYilyZXR1cm4gbnVsbDtpZighdGhpcy5hdHRyRm9yU2VsZWN0ZWQpcmV0dXJuIGI9dGhpcy5pbmRleE9mKGIpLC0xPT09Yj9udWxsOmI7dmFyIGQ9YltQb2x5bWVyLkNhc2VNYXAuZGFzaFRvQ2FtZWxDYXNlKHRoaXMuYXR0ckZvclNlbGVjdGVkKV07CnJldHVybiB2b2lkIDAhPWQ/ZDpiLmdldEF0dHJpYnV0ZSh0aGlzLmF0dHJGb3JTZWxlY3RlZCl9LF9hcHBseVNlbGVjdGlvbjpmdW5jdGlvbihiLGQpe3RoaXMuc2VsZWN0ZWRDbGFzcyYmdGhpcy50b2dnbGVDbGFzcyh0aGlzLnNlbGVjdGVkQ2xhc3MsZCxiKTt0aGlzLnNlbGVjdGVkQXR0cmlidXRlJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLnNlbGVjdGVkQXR0cmlidXRlLGQsYik7dGhpcy5fc2VsZWN0aW9uQ2hhbmdlKCk7dGhpcy5maXJlKCJpcm9uLSIrKGQ/InNlbGVjdCI6ImRlc2VsZWN0Iikse2l0ZW06Yn0pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHRoaXMuX3NlbGVjdGlvbi5nZXQoKSl9LF9vYnNlcnZlSXRlbXM6ZnVuY3Rpb24oYil7cmV0dXJuIFBvbHltZXIuZG9tKGIpLm9ic2VydmVOb2RlcyhmdW5jdGlvbihkKXt0aGlzLl91cGRhdGVJdGVtcygpO3RoaXMuX3VwZGF0ZVNlbGVjdGVkKCk7dGhpcy5maXJlKCJpcm9uLWl0ZW1zLWNoYW5nZWQiLApkLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITF9KX0pfSxfYWN0aXZhdGVIYW5kbGVyOmZ1bmN0aW9uKGIpe2I9Yi50YXJnZXQ7Zm9yKHZhciBkPXRoaXMuaXRlbXM7YiYmYiE9dGhpczspe3ZhciBmPWQuaW5kZXhPZihiKTtpZigwPD1mKXtkPXRoaXMuX2luZGV4VG9WYWx1ZShmKTt0aGlzLl9pdGVtQWN0aXZhdGUoZCxiKTticmVha31iPWIucGFyZW50Tm9kZX19LF9pdGVtQWN0aXZhdGU6ZnVuY3Rpb24oYixkKXt0aGlzLmZpcmUoImlyb24tYWN0aXZhdGUiLHtzZWxlY3RlZDpiLGl0ZW06ZH0se2NhbmNlbGFibGU6ITB9KS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLnNlbGVjdChiKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1tdWx0aS1zZWxlY3RhYmxlLmh0bWwuanMKUG9seW1lci5Jcm9uTXVsdGlTZWxlY3RhYmxlQmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOnttdWx0aTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJtdWx0aUNoYW5nZWQifSxzZWxlY3RlZFZhbHVlczp7dHlwZTpBcnJheSxub3RpZnk6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LHNlbGVjdGVkSXRlbXM6e3R5cGU6QXJyYXkscmVhZE9ubHk6ITAsbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZVNlbGVjdGVkKHNlbGVjdGVkVmFsdWVzLnNwbGljZXMpIl0sc2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMubXVsdGk/dGhpcy5fdG9nZ2xlU2VsZWN0ZWQoYik6dGhpcy5zZWxlY3RlZD1ifSxtdWx0aUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fc2VsZWN0aW9uLm11bHRpPWI7dGhpcy5fdXBkYXRlU2VsZWN0ZWQoKX0sZ2V0IF9zaG91bGRVcGRhdGVTZWxlY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5zZWxlY3RlZHx8Cm51bGwhPXRoaXMuc2VsZWN0ZWRWYWx1ZXMmJnRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RofSxfdXBkYXRlQXR0ckZvclNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJjA8dGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCYmKHRoaXMuc2VsZWN0ZWRWYWx1ZXM9dGhpcy5zZWxlY3RlZEl0ZW1zLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5faW5kZXhUb1ZhbHVlKHRoaXMuaW5kZXhPZihiKSl9LHRoaXMpLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gbnVsbCE9Yn0sdGhpcykpOlBvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvci5fdXBkYXRlQXR0ckZvclNlbGVjdGVkLmFwcGx5KHRoaXMpfSxfdXBkYXRlU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLm11bHRpP3RoaXMuX3NlbGVjdE11bHRpKHRoaXMuc2VsZWN0ZWRWYWx1ZXMpOnRoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0TXVsdGk6ZnVuY3Rpb24oYil7Yj0KYnx8W107Yj0odGhpcy5fdmFsdWVzVG9JdGVtcyhiKXx8W10pLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gbnVsbCE9PWYmJnZvaWQgMCE9PWZ9KTt0aGlzLl9zZWxlY3Rpb24uY2xlYXIoYik7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspdGhpcy5fc2VsZWN0aW9uLnNldEl0ZW1TZWxlY3RlZChiW2RdLCEwKTt0aGlzLmZhbGxiYWNrU2VsZWN0aW9uJiYhdGhpcy5fc2VsZWN0aW9uLmdldCgpLmxlbmd0aCYmdGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5mYWxsYmFja1NlbGVjdGlvbikmJnRoaXMuc2VsZWN0KHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fc2VsZWN0aW9uLmdldCgpO3RoaXMubXVsdGk/KHRoaXMuX3NldFNlbGVjdGVkSXRlbXMoYiksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKGIubGVuZ3RoP2JbMF06bnVsbCkpOm51bGwhPT1iJiZ2b2lkIDAhPT1iPyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKFtiXSksCnRoaXMuX3NldFNlbGVjdGVkSXRlbShiKSk6KHRoaXMuX3NldFNlbGVjdGVkSXRlbXMoW10pLHRoaXMuX3NldFNlbGVjdGVkSXRlbShudWxsKSl9LF90b2dnbGVTZWxlY3RlZDpmdW5jdGlvbihiKXt2YXIgZD10aGlzLnNlbGVjdGVkVmFsdWVzLmluZGV4T2YoYik7MD5kP3RoaXMucHVzaCgic2VsZWN0ZWRWYWx1ZXMiLGIpOnRoaXMuc3BsaWNlKCJzZWxlY3RlZFZhbHVlcyIsZCwxKX0sX3ZhbHVlc1RvSXRlbXM6ZnVuY3Rpb24oYil7cmV0dXJuIG51bGw9PWI/bnVsbDpiLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5fdmFsdWVUb0l0ZW0oZCl9LHRoaXMpfX07UG9seW1lci5Jcm9uTXVsdGlTZWxlY3RhYmxlQmVoYXZpb3I9W1BvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvcixQb2x5bWVyLklyb25NdWx0aVNlbGVjdGFibGVCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWVudS1iZWhhdmlvci9pcm9uLW1lbnUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOntmb2N1c2VkSXRlbTp7b2JzZXJ2ZXI6Il9mb2N1c2VkSXRlbUNoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6T2JqZWN0fSxhdHRyRm9ySXRlbVRpdGxlOnt0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxfTU9ESUZJRVJfS0VZUzoiQWx0IEFsdEdyYXBoIENhcHNMb2NrIENvbnRyb2wgRm4gRm5Mb2NrIEh5cGVyIE1ldGEgTnVtTG9jayBPUyBTY3JvbGxMb2NrIFNoaWZ0IFN1cGVyIFN5bWJvbCBTeW1ib2xMb2NrIi5zcGxpdCgiICIpLF9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUzoxRTMsX3ByZXZpb3VzVGFiSW5kZXg6MCxob3N0QXR0cmlidXRlczp7cm9sZToibWVudSJ9LG9ic2VydmVyczpbIl91cGRhdGVNdWx0aXNlbGVjdGFibGUobXVsdGkpIl0sbGlzdGVuZXJzOntmb2N1czoiX29uRm9jdXMiLGtleWRvd246Il9vbktleWRvd24iLAoiaXJvbi1pdGVtcy1jaGFuZ2VkIjoiX29uSXJvbkl0ZW1zQ2hhbmdlZCJ9LGtleUJpbmRpbmdzOnt1cDoiX29uVXBLZXkiLGRvd246Il9vbkRvd25LZXkiLGVzYzoiX29uRXNjS2V5Iiwic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0VGFiaW5kaWNlcygpfSxzZWxlY3Q6ZnVuY3Rpb24oYil7dGhpcy5fZGVmYXVsdEZvY3VzQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jKSx0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYz1udWxsKTt2YXIgZD10aGlzLl92YWx1ZVRvSXRlbShiKTtkJiZkLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8KHRoaXMuX3NldEZvY3VzZWRJdGVtKGQpLFBvbHltZXIuSXJvbk11bHRpU2VsZWN0YWJsZUJlaGF2aW9ySW1wbC5zZWxlY3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sX3Jlc2V0VGFiaW5kaWNlczpmdW5jdGlvbigpe3ZhciBiPXRoaXMubXVsdGk/CnRoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihkKXtkLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLGQ9PT1iPyIwIjoiLTEiKX0sdGhpcyl9LF91cGRhdGVNdWx0aXNlbGVjdGFibGU6ZnVuY3Rpb24oYil7Yj90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiLCJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxlY3RhYmxlIil9LF9mb2N1c1dpdGhLZXlib2FyZEV2ZW50OmZ1bmN0aW9uKGIpe2lmKC0xPT09dGhpcy5fTU9ESUZJRVJfS0VZUy5pbmRleE9mKGIua2V5KSl7dGhpcy5jYW5jZWxEZWJvdW5jZXIoIl9jbGVhclNlYXJjaFRleHQiKTt2YXIgZD10aGlzLl9zZWFyY2hUZXh0fHwiIjtkKz0oYi5rZXkmJjE9PWIua2V5Lmxlbmd0aD9iLmtleTpTdHJpbmcuZnJvbUNoYXJDb2RlKGIua2V5Q29kZSkpLnRvTG9jYWxlTG93ZXJDYXNlKCk7CmI9ZC5sZW5ndGg7Zm9yKHZhciBmPTAsaDtoPXRoaXMuaXRlbXNbZl07ZisrKWlmKCFoLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIGs9dGhpcy5hdHRyRm9ySXRlbVRpdGxlfHwidGV4dENvbnRlbnQiO2s9KGhba118fGguZ2V0QXR0cmlidXRlKGspfHwiIikudHJpbSgpO2lmKCEoay5sZW5ndGg8YikmJmsuc2xpY2UoMCxiKS50b0xvY2FsZUxvd2VyQ2FzZSgpPT1kKXt0aGlzLl9zZXRGb2N1c2VkSXRlbShoKTticmVha319dGhpcy5fc2VhcmNoVGV4dD1kO3RoaXMuZGVib3VuY2UoIl9jbGVhclNlYXJjaFRleHQiLHRoaXMuX2NsZWFyU2VhcmNoVGV4dCx0aGlzLl9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUyl9fSxfY2xlYXJTZWFyY2hUZXh0OmZ1bmN0aW9uKCl7dGhpcy5fc2VhcmNoVGV4dD0iIn0sX2ZvY3VzUHJldmlvdXM6ZnVuY3Rpb24oKXtmb3IodmFyIGI9dGhpcy5pdGVtcy5sZW5ndGgsZD1OdW1iZXIodGhpcy5pbmRleE9mKHRoaXMuZm9jdXNlZEl0ZW0pKSxmPTE7ZjwKYisxO2YrKyl7dmFyIGg9dGhpcy5pdGVtc1soZC1mK2IpJWJdO2lmKCFoLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIGs9UG9seW1lci5kb20oaCkuZ2V0T3duZXJSb290KCl8fGRvY3VtZW50O3RoaXMuX3NldEZvY3VzZWRJdGVtKGgpO2lmKFBvbHltZXIuZG9tKGspLmFjdGl2ZUVsZW1lbnQ9PWgpYnJlYWt9fX0sX2ZvY3VzTmV4dDpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLml0ZW1zLmxlbmd0aCxkPU51bWJlcih0aGlzLmluZGV4T2YodGhpcy5mb2N1c2VkSXRlbSkpLGY9MTtmPGIrMTtmKyspe3ZhciBoPXRoaXMuaXRlbXNbKGQrZiklYl07aWYoIWguaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgaz1Qb2x5bWVyLmRvbShoKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7dGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaCk7aWYoUG9seW1lci5kb20oaykuYWN0aXZlRWxlbWVudD09aClicmVha319fSxfYXBwbHlTZWxlY3Rpb246ZnVuY3Rpb24oYixkKXtkP2Iuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwKInRydWUiKTpiLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIpO1BvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvci5fYXBwbHlTZWxlY3Rpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfZm9jdXNlZEl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7ZCYmZC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTshYnx8Yi5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fHRoaXMuZGlzYWJsZWR8fChiLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksYi5mb2N1cygpKX0sX29uSXJvbkl0ZW1zQ2hhbmdlZDpmdW5jdGlvbihiKXtiLmRldGFpbC5hZGRlZE5vZGVzLmxlbmd0aCYmdGhpcy5fcmVzZXRUYWJpbmRpY2VzKCl9LF9vblNoaWZ0VGFiRG93bjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvckltcGwuX3NoaWZ0VGFiUHJlc3NlZD0hMDt0aGlzLl9zZXRGb2N1c2VkSXRlbShudWxsKTt0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLAoiLTEiKTt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixiKTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsLl9zaGlmdFRhYlByZXNzZWQ9ITF9LDEpfSxfb25Gb2N1czpmdW5jdGlvbihiKXshUG9seW1lci5Jcm9uTWVudUJlaGF2aW9ySW1wbC5fc2hpZnRUYWJQcmVzc2VkJiYoYj1Qb2x5bWVyLmRvbShiKS5yb290VGFyZ2V0LGI9PT10aGlzfHwidW5kZWZpbmVkIj09PXR5cGVvZiBiLnRhYkluZGV4fHx0aGlzLmlzTGlnaHREZXNjZW5kYW50KGIpKSYmKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jPXRoaXMuYXN5bmMoZnVuY3Rpb24oKXt2YXIgZD10aGlzLm11bHRpP3RoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuX3NldEZvY3VzZWRJdGVtKG51bGwpO2Q/dGhpcy5fc2V0Rm9jdXNlZEl0ZW0oZCk6dGhpcy5pdGVtc1swXSYmdGhpcy5fZm9jdXNOZXh0KCl9KSl9LF9vblVwS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzUHJldmlvdXMoKTsKYi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzTmV4dCgpO2IuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRXNjS2V5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5mb2N1c2VkSXRlbTtiJiZiLmJsdXIoKX0sX29uS2V5ZG93bjpmdW5jdGlvbihiKXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyhiLCJ1cCBkb3duIGVzYyIpfHx0aGlzLl9mb2N1c1dpdGhLZXlib2FyZEV2ZW50KGIpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9LF9hY3RpdmF0ZUhhbmRsZXI6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yLl9hY3RpdmF0ZUhhbmRsZXIuY2FsbCh0aGlzLGIpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9LF9kaXNhYmxlZENoYW5nZWQ6ZnVuY3Rpb24oYil7Yj8odGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKT90aGlzLnRhYkluZGV4OgowLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJ0YWJpbmRleCIpKTp0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4Iix0aGlzLl9wcmV2aW91c1RhYkluZGV4KX19O1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvckltcGwuX3NoaWZ0VGFiUHJlc3NlZD0hMTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3I9W1BvbHltZXIuSXJvbk11bHRpU2VsZWN0YWJsZUJlaGF2aW9yLFBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3IsUG9seW1lci5Jcm9uTWVudUJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaXRlbS9wYXBlci1pdGVtLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlckl0ZW1CZWhhdmlvckltcGw9e2hvc3RBdHRyaWJ1dGVzOntyb2xlOiJvcHRpb24iLHRhYmluZGV4OiIwIn19O1BvbHltZXIuUGFwZXJJdGVtQmVoYXZpb3I9W1BvbHltZXIuSXJvbkJ1dHRvblN0YXRlLFBvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLlBhcGVySXRlbUJlaGF2aW9ySW1wbF07CgovKgoKIExvZGFzaCA8aHR0cHM6Ly9sb2Rhc2guY29tLz4KIENvcHlyaWdodCBKUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vanMuZm91bmRhdGlvbi8+CiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+CiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPgogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzCiovCihmdW5jdGlvbigpe3ZhciB1bmRlZmluZWQ7dmFyIFZFUlNJT049IjQuMTcuNSI7dmFyIExBUkdFX0FSUkFZX1NJWkU9MjAwO3ZhciBDT1JFX0VSUk9SX1RFWFQ9IlVuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xXHgzZHBvbnlmaWxsLiIsRlVOQ19FUlJPUl9URVhUPSJFeHBlY3RlZCBhIGZ1bmN0aW9uIjt2YXIgSEFTSF9VTkRFRklORUQ9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iO3ZhciBNQVhfTUVNT0laRV9TSVpFPTUwMDt2YXIgUExBQ0VIT0xERVI9Il9fbG9kYXNoX3BsYWNlaG9sZGVyX18iO3ZhciBDTE9ORV9ERUVQX0ZMQUc9MSxDTE9ORV9GTEFUX0ZMQUc9MixDTE9ORV9TWU1CT0xTX0ZMQUc9NDt2YXIgQ09NUEFSRV9QQVJUSUFMX0ZMQUc9MSxDT01QQVJFX1VOT1JERVJFRF9GTEFHPTI7dmFyIFdSQVBfQklORF9GTEFHPTEsV1JBUF9CSU5EX0tFWV9GTEFHPTIsV1JBUF9DVVJSWV9CT1VORF9GTEFHPTQsV1JBUF9DVVJSWV9GTEFHPQo4LFdSQVBfQ1VSUllfUklHSFRfRkxBRz0xNixXUkFQX1BBUlRJQUxfRkxBRz0zMixXUkFQX1BBUlRJQUxfUklHSFRfRkxBRz02NCxXUkFQX0FSWV9GTEFHPTEyOCxXUkFQX1JFQVJHX0ZMQUc9MjU2LFdSQVBfRkxJUF9GTEFHPTUxMjt2YXIgREVGQVVMVF9UUlVOQ19MRU5HVEg9MzAsREVGQVVMVF9UUlVOQ19PTUlTU0lPTj0iLi4uIjt2YXIgSE9UX0NPVU5UPTgwMCxIT1RfU1BBTj0xNjt2YXIgTEFaWV9GSUxURVJfRkxBRz0xLExBWllfTUFQX0ZMQUc9MixMQVpZX1dISUxFX0ZMQUc9Mzt2YXIgSU5GSU5JVFk9MS8wLE1BWF9TQUZFX0lOVEVHRVI9OTAwNzE5OTI1NDc0MDk5MSxNQVhfSU5URUdFUj0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4LE5BTj0wLzA7dmFyIE1BWF9BUlJBWV9MRU5HVEg9NDI5NDk2NzI5NSxNQVhfQVJSQVlfSU5ERVg9TUFYX0FSUkFZX0xFTkdUSC0xLEhBTEZfTUFYX0FSUkFZX0xFTkdUSD1NQVhfQVJSQVlfTEVOR1RIPj4+MTt2YXIgd3JhcEZsYWdzPVtbImFyeSIsCldSQVBfQVJZX0ZMQUddLFsiYmluZCIsV1JBUF9CSU5EX0ZMQUddLFsiYmluZEtleSIsV1JBUF9CSU5EX0tFWV9GTEFHXSxbImN1cnJ5IixXUkFQX0NVUlJZX0ZMQUddLFsiY3VycnlSaWdodCIsV1JBUF9DVVJSWV9SSUdIVF9GTEFHXSxbImZsaXAiLFdSQVBfRkxJUF9GTEFHXSxbInBhcnRpYWwiLFdSQVBfUEFSVElBTF9GTEFHXSxbInBhcnRpYWxSaWdodCIsV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUddLFsicmVhcmciLFdSQVBfUkVBUkdfRkxBR11dO3ZhciBhcmdzVGFnPSJbb2JqZWN0IEFyZ3VtZW50c10iLGFycmF5VGFnPSJbb2JqZWN0IEFycmF5XSIsYXN5bmNUYWc9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLGJvb2xUYWc9IltvYmplY3QgQm9vbGVhbl0iLGRhdGVUYWc9IltvYmplY3QgRGF0ZV0iLGRvbUV4Y1RhZz0iW29iamVjdCBET01FeGNlcHRpb25dIixlcnJvclRhZz0iW29iamVjdCBFcnJvcl0iLGZ1bmNUYWc9IltvYmplY3QgRnVuY3Rpb25dIixnZW5UYWc9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIiwKbWFwVGFnPSJbb2JqZWN0IE1hcF0iLG51bWJlclRhZz0iW29iamVjdCBOdW1iZXJdIixudWxsVGFnPSJbb2JqZWN0IE51bGxdIixvYmplY3RUYWc9IltvYmplY3QgT2JqZWN0XSIscHJvbWlzZVRhZz0iW29iamVjdCBQcm9taXNlXSIscHJveHlUYWc9IltvYmplY3QgUHJveHldIixyZWdleHBUYWc9IltvYmplY3QgUmVnRXhwXSIsc2V0VGFnPSJbb2JqZWN0IFNldF0iLHN0cmluZ1RhZz0iW29iamVjdCBTdHJpbmddIixzeW1ib2xUYWc9IltvYmplY3QgU3ltYm9sXSIsdW5kZWZpbmVkVGFnPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHdlYWtNYXBUYWc9IltvYmplY3QgV2Vha01hcF0iLHdlYWtTZXRUYWc9IltvYmplY3QgV2Vha1NldF0iO3ZhciBhcnJheUJ1ZmZlclRhZz0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLGRhdGFWaWV3VGFnPSJbb2JqZWN0IERhdGFWaWV3XSIsZmxvYXQzMlRhZz0iW29iamVjdCBGbG9hdDMyQXJyYXldIixmbG9hdDY0VGFnPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLAppbnQ4VGFnPSJbb2JqZWN0IEludDhBcnJheV0iLGludDE2VGFnPSJbb2JqZWN0IEludDE2QXJyYXldIixpbnQzMlRhZz0iW29iamVjdCBJbnQzMkFycmF5XSIsdWludDhUYWc9IltvYmplY3QgVWludDhBcnJheV0iLHVpbnQ4Q2xhbXBlZFRhZz0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLHVpbnQxNlRhZz0iW29iamVjdCBVaW50MTZBcnJheV0iLHVpbnQzMlRhZz0iW29iamVjdCBVaW50MzJBcnJheV0iO3ZhciByZUVtcHR5U3RyaW5nTGVhZGluZz0vXGJfX3AgXCs9ICcnOy9nLHJlRW1wdHlTdHJpbmdNaWRkbGU9L1xiKF9fcCBcKz0pICcnIFwrL2cscmVFbXB0eVN0cmluZ1RyYWlsaW5nPS8oX19lXCguKj9cKXxcYl9fdFwpKSBcK1xuJyc7L2c7dmFyIHJlRXNjYXBlZEh0bWw9LyYoPzphbXB8bHR8Z3R8cXVvdHwjMzkpOy9nLHJlVW5lc2NhcGVkSHRtbD0vWyY8PiInXS9nLHJlSGFzRXNjYXBlZEh0bWw9UmVnRXhwKHJlRXNjYXBlZEh0bWwuc291cmNlKSxyZUhhc1VuZXNjYXBlZEh0bWw9ClJlZ0V4cChyZVVuZXNjYXBlZEh0bWwuc291cmNlKTt2YXIgcmVFc2NhcGU9LzwlLShbXHNcU10rPyklPi9nLHJlRXZhbHVhdGU9LzwlKFtcc1xTXSs/KSU+L2cscmVJbnRlcnBvbGF0ZT0vPCU9KFtcc1xTXSs/KSU+L2c7dmFyIHJlSXNEZWVwUHJvcD0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxyZUlzUGxhaW5Qcm9wPS9eXHcqJC8scmVQcm9wTmFtZT0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZzt2YXIgcmVSZWdFeHBDaGFyPS9bXFxeJC4qKz8oKVtcXXt9fF0vZyxyZUhhc1JlZ0V4cENoYXI9UmVnRXhwKHJlUmVnRXhwQ2hhci5zb3VyY2UpO3ZhciByZVRyaW09L15ccyt8XHMrJC9nLHJlVHJpbVN0YXJ0PS9eXHMrLyxyZVRyaW1FbmQ9L1xzKyQvO3ZhciByZVdyYXBDb21tZW50PS9ceyg/OlxuXC9cKiBcW3dyYXBwZWQgd2l0aCAuK1xdIFwqXC8pP1xuPy8sCnJlV3JhcERldGFpbHM9L1x7XG5cL1wqIFxbd3JhcHBlZCB3aXRoICguKylcXSBcKi8scmVTcGxpdERldGFpbHM9Lyw/ICYgLzt2YXIgcmVBc2NpaVdvcmQ9L1teXHgwMC1ceDJmXHgzYS1ceDQwXHg1Yi1ceDYwXHg3Yi1ceDdmXSsvZzt2YXIgcmVFc2NhcGVDaGFyPS9cXChcXCk/L2c7dmFyIHJlRXNUZW1wbGF0ZT0vXCRceyhbXlxcfV0qKD86XFwuW15cXH1dKikqKVx9L2c7dmFyIHJlRmxhZ3M9L1x3KiQvO3ZhciByZUlzQmFkSGV4PS9eWy0rXTB4WzAtOWEtZl0rJC9pO3ZhciByZUlzQmluYXJ5PS9eMGJbMDFdKyQvaTt2YXIgcmVJc0hvc3RDdG9yPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvO3ZhciByZUlzT2N0YWw9L14wb1swLTddKyQvaTt2YXIgcmVJc1VpbnQ9L14oPzowfFsxLTldXGQqKSQvO3ZhciByZUxhdGluPS9bXHhjMC1ceGQ2XHhkOC1ceGY2XHhmOC1ceGZmXHUwMTAwLVx1MDE3Zl0vZzt2YXIgcmVOb01hdGNoPS8oJF4pLzt2YXIgcmVVbmVzY2FwZWRTdHJpbmc9Ci9bJ1xuXHJcdTIwMjhcdTIwMjlcXF0vZzt2YXIgcnNBc3RyYWxSYW5nZT0iXFx1ZDgwMC1cXHVkZmZmIixyc0NvbWJvTWFya3NSYW5nZT0iXFx1MDMwMC1cXHUwMzZmIixyZUNvbWJvSGFsZk1hcmtzUmFuZ2U9IlxcdWZlMjAtXFx1ZmUyZiIscnNDb21ib1N5bWJvbHNSYW5nZT0iXFx1MjBkMC1cXHUyMGZmIixyc0NvbWJvUmFuZ2U9cnNDb21ib01hcmtzUmFuZ2UrcmVDb21ib0hhbGZNYXJrc1JhbmdlK3JzQ29tYm9TeW1ib2xzUmFuZ2UscnNEaW5nYmF0UmFuZ2U9IlxcdTI3MDAtXFx1MjdiZiIscnNMb3dlclJhbmdlPSJhLXpcXHhkZi1cXHhmNlxceGY4LVxceGZmIixyc01hdGhPcFJhbmdlPSJcXHhhY1xceGIxXFx4ZDdcXHhmNyIscnNOb25DaGFyUmFuZ2U9IlxceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceGJmIixyc1B1bmN0dWF0aW9uUmFuZ2U9IlxcdTIwMDAtXFx1MjA2ZiIscnNTcGFjZVJhbmdlPSIgXFx0XFx4MGJcXGZcXHhhMFxcdWZlZmZcXG5cXHJcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUxODBlXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwM1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMGFcXHUyMDJmXFx1MjA1ZlxcdTMwMDAiLApyc1VwcGVyUmFuZ2U9IkEtWlxceGMwLVxceGQ2XFx4ZDgtXFx4ZGUiLHJzVmFyUmFuZ2U9IlxcdWZlMGVcXHVmZTBmIixyc0JyZWFrUmFuZ2U9cnNNYXRoT3BSYW5nZStyc05vbkNoYXJSYW5nZStyc1B1bmN0dWF0aW9uUmFuZ2UrcnNTcGFjZVJhbmdlO3ZhciByc0Fwb3M9IlsnXHUyMDE5XSIscnNBc3RyYWw9IlsiK3JzQXN0cmFsUmFuZ2UrIl0iLHJzQnJlYWs9IlsiK3JzQnJlYWtSYW5nZSsiXSIscnNDb21ibz0iWyIrcnNDb21ib1JhbmdlKyJdIixyc0RpZ2l0cz0iXFxkKyIscnNEaW5nYmF0PSJbIityc0RpbmdiYXRSYW5nZSsiXSIscnNMb3dlcj0iWyIrcnNMb3dlclJhbmdlKyJdIixyc01pc2M9IlteIityc0FzdHJhbFJhbmdlK3JzQnJlYWtSYW5nZStyc0RpZ2l0cytyc0RpbmdiYXRSYW5nZStyc0xvd2VyUmFuZ2UrcnNVcHBlclJhbmdlKyJdIixyc0ZpdHo9IlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSIscnNNb2RpZmllcj0iKD86Iityc0NvbWJvKyJ8Iityc0ZpdHorIikiLHJzTm9uQXN0cmFsPQoiW14iK3JzQXN0cmFsUmFuZ2UrIl0iLHJzUmVnaW9uYWw9Iig/OlxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGZmXSl7Mn0iLHJzU3VyclBhaXI9IltcXHVkODAwLVxcdWRiZmZdW1xcdWRjMDAtXFx1ZGZmZl0iLHJzVXBwZXI9IlsiK3JzVXBwZXJSYW5nZSsiXSIscnNaV0o9IlxcdTIwMGQiO3ZhciByc01pc2NMb3dlcj0iKD86Iityc0xvd2VyKyJ8Iityc01pc2MrIikiLHJzTWlzY1VwcGVyPSIoPzoiK3JzVXBwZXIrInwiK3JzTWlzYysiKSIscnNPcHRDb250ckxvd2VyPSIoPzoiK3JzQXBvcysiKD86ZHxsbHxtfHJlfHN8dHx2ZSkpPyIscnNPcHRDb250clVwcGVyPSIoPzoiK3JzQXBvcysiKD86RHxMTHxNfFJFfFN8VHxWRSkpPyIscmVPcHRNb2Q9cnNNb2RpZmllcisiPyIscnNPcHRWYXI9IlsiK3JzVmFyUmFuZ2UrIl0/Iixyc09wdEpvaW49Iig/OiIrcnNaV0orIig/OiIrW3JzTm9uQXN0cmFsLHJzUmVnaW9uYWwscnNTdXJyUGFpcl0uam9pbigifCIpKyIpIityc09wdFZhcityZU9wdE1vZCsKIikqIixyc09yZExvd2VyPSJcXGQqKD86MXN0fDJuZHwzcmR8KD8hWzEyM10pXFxkdGgpKD9ceDNkXFxifFtBLVpfXSkiLHJzT3JkVXBwZXI9IlxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXGRUSCkoP1x4M2RcXGJ8W2Etel9dKSIscnNTZXE9cnNPcHRWYXIrcmVPcHRNb2QrcnNPcHRKb2luLHJzRW1vamk9Iig/OiIrW3JzRGluZ2JhdCxyc1JlZ2lvbmFsLHJzU3VyclBhaXJdLmpvaW4oInwiKSsiKSIrcnNTZXEscnNTeW1ib2w9Iig/OiIrW3JzTm9uQXN0cmFsK3JzQ29tYm8rIj8iLHJzQ29tYm8scnNSZWdpb25hbCxyc1N1cnJQYWlyLHJzQXN0cmFsXS5qb2luKCJ8IikrIikiO3ZhciByZUFwb3M9UmVnRXhwKHJzQXBvcywiZyIpO3ZhciByZUNvbWJvTWFyaz1SZWdFeHAocnNDb21ibywiZyIpO3ZhciByZVVuaWNvZGU9UmVnRXhwKHJzRml0eisiKD9ceDNkIityc0ZpdHorIil8Iityc1N5bWJvbCtyc1NlcSwiZyIpO3ZhciByZVVuaWNvZGVXb3JkPVJlZ0V4cChbcnNVcHBlcisiPyIrCnJzTG93ZXIrIisiK3JzT3B0Q29udHJMb3dlcisiKD9ceDNkIitbcnNCcmVhayxyc1VwcGVyLCIkIl0uam9pbigifCIpKyIpIixyc01pc2NVcHBlcisiKyIrcnNPcHRDb250clVwcGVyKyIoP1x4M2QiK1tyc0JyZWFrLHJzVXBwZXIrcnNNaXNjTG93ZXIsIiQiXS5qb2luKCJ8IikrIikiLHJzVXBwZXIrIj8iK3JzTWlzY0xvd2VyKyIrIityc09wdENvbnRyTG93ZXIscnNVcHBlcisiKyIrcnNPcHRDb250clVwcGVyLHJzT3JkVXBwZXIscnNPcmRMb3dlcixyc0RpZ2l0cyxyc0Vtb2ppXS5qb2luKCJ8IiksImciKTt2YXIgcmVIYXNVbmljb2RlPVJlZ0V4cCgiWyIrcnNaV0orcnNBc3RyYWxSYW5nZStyc0NvbWJvUmFuZ2UrcnNWYXJSYW5nZSsiXSIpO3ZhciByZUhhc1VuaWNvZGVXb3JkPS9bYS16XVtBLVpdfFtBLVpdezIsfVthLXpdfFswLTldW2EtekEtWl18W2EtekEtWl1bMC05XXxbXmEtekEtWjAtOSBdLzt2YXIgY29udGV4dFByb3BzPVsiQXJyYXkiLCJCdWZmZXIiLCJEYXRhVmlldyIsCiJEYXRlIiwiRXJyb3IiLCJGbG9hdDMyQXJyYXkiLCJGbG9hdDY0QXJyYXkiLCJGdW5jdGlvbiIsIkludDhBcnJheSIsIkludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiTWFwIiwiTWF0aCIsIk9iamVjdCIsIlByb21pc2UiLCJSZWdFeHAiLCJTZXQiLCJTdHJpbmciLCJTeW1ib2wiLCJUeXBlRXJyb3IiLCJVaW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiLCJVaW50MTZBcnJheSIsIlVpbnQzMkFycmF5IiwiV2Vha01hcCIsIl8iLCJjbGVhclRpbWVvdXQiLCJpc0Zpbml0ZSIsInBhcnNlSW50Iiwic2V0VGltZW91dCJdO3ZhciB0ZW1wbGF0ZUNvdW50ZXI9LTE7dmFyIHR5cGVkQXJyYXlUYWdzPXt9O3R5cGVkQXJyYXlUYWdzW2Zsb2F0MzJUYWddPXR5cGVkQXJyYXlUYWdzW2Zsb2F0NjRUYWddPXR5cGVkQXJyYXlUYWdzW2ludDhUYWddPXR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXT10eXBlZEFycmF5VGFnc1tpbnQzMlRhZ109dHlwZWRBcnJheVRhZ3NbdWludDhUYWddPXR5cGVkQXJyYXlUYWdzW3VpbnQ4Q2xhbXBlZFRhZ109CnR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ109dHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXT10cnVlO3R5cGVkQXJyYXlUYWdzW2FyZ3NUYWddPXR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXT10eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ109dHlwZWRBcnJheVRhZ3NbYm9vbFRhZ109dHlwZWRBcnJheVRhZ3NbZGF0YVZpZXdUYWddPXR5cGVkQXJyYXlUYWdzW2RhdGVUYWddPXR5cGVkQXJyYXlUYWdzW2Vycm9yVGFnXT10eXBlZEFycmF5VGFnc1tmdW5jVGFnXT10eXBlZEFycmF5VGFnc1ttYXBUYWddPXR5cGVkQXJyYXlUYWdzW251bWJlclRhZ109dHlwZWRBcnJheVRhZ3Nbb2JqZWN0VGFnXT10eXBlZEFycmF5VGFnc1tyZWdleHBUYWddPXR5cGVkQXJyYXlUYWdzW3NldFRhZ109dHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXT10eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXT1mYWxzZTt2YXIgY2xvbmVhYmxlVGFncz17fTtjbG9uZWFibGVUYWdzW2FyZ3NUYWddPWNsb25lYWJsZVRhZ3NbYXJyYXlUYWddPQpjbG9uZWFibGVUYWdzW2FycmF5QnVmZmVyVGFnXT1jbG9uZWFibGVUYWdzW2RhdGFWaWV3VGFnXT1jbG9uZWFibGVUYWdzW2Jvb2xUYWddPWNsb25lYWJsZVRhZ3NbZGF0ZVRhZ109Y2xvbmVhYmxlVGFnc1tmbG9hdDMyVGFnXT1jbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddPWNsb25lYWJsZVRhZ3NbaW50OFRhZ109Y2xvbmVhYmxlVGFnc1tpbnQxNlRhZ109Y2xvbmVhYmxlVGFnc1tpbnQzMlRhZ109Y2xvbmVhYmxlVGFnc1ttYXBUYWddPWNsb25lYWJsZVRhZ3NbbnVtYmVyVGFnXT1jbG9uZWFibGVUYWdzW29iamVjdFRhZ109Y2xvbmVhYmxlVGFnc1tyZWdleHBUYWddPWNsb25lYWJsZVRhZ3Nbc2V0VGFnXT1jbG9uZWFibGVUYWdzW3N0cmluZ1RhZ109Y2xvbmVhYmxlVGFnc1tzeW1ib2xUYWddPWNsb25lYWJsZVRhZ3NbdWludDhUYWddPWNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXT1jbG9uZWFibGVUYWdzW3VpbnQxNlRhZ109Y2xvbmVhYmxlVGFnc1t1aW50MzJUYWddPXRydWU7CmNsb25lYWJsZVRhZ3NbZXJyb3JUYWddPWNsb25lYWJsZVRhZ3NbZnVuY1RhZ109Y2xvbmVhYmxlVGFnc1t3ZWFrTWFwVGFnXT1mYWxzZTt2YXIgZGVidXJyZWRMZXR0ZXJzPXsiXHUwMGMwIjoiQSIsIlx1MDBjMSI6IkEiLCJcdTAwYzIiOiJBIiwiXHUwMGMzIjoiQSIsIlx1MDBjNCI6IkEiLCJcdTAwYzUiOiJBIiwiXHUwMGUwIjoiYSIsIlx1MDBlMSI6ImEiLCJcdTAwZTIiOiJhIiwiXHUwMGUzIjoiYSIsIlx1MDBlNCI6ImEiLCJcdTAwZTUiOiJhIiwiXHUwMGM3IjoiQyIsIlx1MDBlNyI6ImMiLCJcdTAwZDAiOiJEIiwiXHUwMGYwIjoiZCIsIlx1MDBjOCI6IkUiLCJcdTAwYzkiOiJFIiwiXHUwMGNhIjoiRSIsIlx1MDBjYiI6IkUiLCJcdTAwZTgiOiJlIiwiXHUwMGU5IjoiZSIsIlx1MDBlYSI6ImUiLCJcdTAwZWIiOiJlIiwiXHUwMGNjIjoiSSIsIlx1MDBjZCI6IkkiLCJcdTAwY2UiOiJJIiwiXHUwMGNmIjoiSSIsIlx1MDBlYyI6ImkiLCJcdTAwZWQiOiJpIiwiXHUwMGVlIjoiaSIsCiJcdTAwZWYiOiJpIiwiXHUwMGQxIjoiTiIsIlx1MDBmMSI6Im4iLCJcdTAwZDIiOiJPIiwiXHUwMGQzIjoiTyIsIlx1MDBkNCI6Ik8iLCJcdTAwZDUiOiJPIiwiXHUwMGQ2IjoiTyIsIlx1MDBkOCI6Ik8iLCJcdTAwZjIiOiJvIiwiXHUwMGYzIjoibyIsIlx1MDBmNCI6Im8iLCJcdTAwZjUiOiJvIiwiXHUwMGY2IjoibyIsIlx1MDBmOCI6Im8iLCJcdTAwZDkiOiJVIiwiXHUwMGRhIjoiVSIsIlx1MDBkYiI6IlUiLCJcdTAwZGMiOiJVIiwiXHUwMGY5IjoidSIsIlx1MDBmYSI6InUiLCJcdTAwZmIiOiJ1IiwiXHUwMGZjIjoidSIsIlx1MDBkZCI6IlkiLCJcdTAwZmQiOiJ5IiwiXHUwMGZmIjoieSIsIlx1MDBjNiI6IkFlIiwiXHUwMGU2IjoiYWUiLCJcdTAwZGUiOiJUaCIsIlx1MDBmZSI6InRoIiwiXHUwMGRmIjoic3MiLCJcdTAxMDAiOiJBIiwiXHUwMTAyIjoiQSIsIlx1MDEwNCI6IkEiLCJcdTAxMDEiOiJhIiwiXHUwMTAzIjoiYSIsIlx1MDEwNSI6ImEiLCJcdTAxMDYiOiJDIiwiXHUwMTA4IjoiQyIsCiJcdTAxMGEiOiJDIiwiXHUwMTBjIjoiQyIsIlx1MDEwNyI6ImMiLCJcdTAxMDkiOiJjIiwiXHUwMTBiIjoiYyIsIlx1MDEwZCI6ImMiLCJcdTAxMGUiOiJEIiwiXHUwMTEwIjoiRCIsIlx1MDEwZiI6ImQiLCJcdTAxMTEiOiJkIiwiXHUwMTEyIjoiRSIsIlx1MDExNCI6IkUiLCJcdTAxMTYiOiJFIiwiXHUwMTE4IjoiRSIsIlx1MDExYSI6IkUiLCJcdTAxMTMiOiJlIiwiXHUwMTE1IjoiZSIsIlx1MDExNyI6ImUiLCJcdTAxMTkiOiJlIiwiXHUwMTFiIjoiZSIsIlx1MDExYyI6IkciLCJcdTAxMWUiOiJHIiwiXHUwMTIwIjoiRyIsIlx1MDEyMiI6IkciLCJcdTAxMWQiOiJnIiwiXHUwMTFmIjoiZyIsIlx1MDEyMSI6ImciLCJcdTAxMjMiOiJnIiwiXHUwMTI0IjoiSCIsIlx1MDEyNiI6IkgiLCJcdTAxMjUiOiJoIiwiXHUwMTI3IjoiaCIsIlx1MDEyOCI6IkkiLCJcdTAxMmEiOiJJIiwiXHUwMTJjIjoiSSIsIlx1MDEyZSI6IkkiLCJcdTAxMzAiOiJJIiwiXHUwMTI5IjoiaSIsIlx1MDEyYiI6ImkiLAoiXHUwMTJkIjoiaSIsIlx1MDEyZiI6ImkiLCJcdTAxMzEiOiJpIiwiXHUwMTM0IjoiSiIsIlx1MDEzNSI6ImoiLCJcdTAxMzYiOiJLIiwiXHUwMTM3IjoiayIsIlx1MDEzOCI6ImsiLCJcdTAxMzkiOiJMIiwiXHUwMTNiIjoiTCIsIlx1MDEzZCI6IkwiLCJcdTAxM2YiOiJMIiwiXHUwMTQxIjoiTCIsIlx1MDEzYSI6ImwiLCJcdTAxM2MiOiJsIiwiXHUwMTNlIjoibCIsIlx1MDE0MCI6ImwiLCJcdTAxNDIiOiJsIiwiXHUwMTQzIjoiTiIsIlx1MDE0NSI6Ik4iLCJcdTAxNDciOiJOIiwiXHUwMTRhIjoiTiIsIlx1MDE0NCI6Im4iLCJcdTAxNDYiOiJuIiwiXHUwMTQ4IjoibiIsIlx1MDE0YiI6Im4iLCJcdTAxNGMiOiJPIiwiXHUwMTRlIjoiTyIsIlx1MDE1MCI6Ik8iLCJcdTAxNGQiOiJvIiwiXHUwMTRmIjoibyIsIlx1MDE1MSI6Im8iLCJcdTAxNTQiOiJSIiwiXHUwMTU2IjoiUiIsIlx1MDE1OCI6IlIiLCJcdTAxNTUiOiJyIiwiXHUwMTU3IjoiciIsIlx1MDE1OSI6InIiLCJcdTAxNWEiOiJTIiwKIlx1MDE1YyI6IlMiLCJcdTAxNWUiOiJTIiwiXHUwMTYwIjoiUyIsIlx1MDE1YiI6InMiLCJcdTAxNWQiOiJzIiwiXHUwMTVmIjoicyIsIlx1MDE2MSI6InMiLCJcdTAxNjIiOiJUIiwiXHUwMTY0IjoiVCIsIlx1MDE2NiI6IlQiLCJcdTAxNjMiOiJ0IiwiXHUwMTY1IjoidCIsIlx1MDE2NyI6InQiLCJcdTAxNjgiOiJVIiwiXHUwMTZhIjoiVSIsIlx1MDE2YyI6IlUiLCJcdTAxNmUiOiJVIiwiXHUwMTcwIjoiVSIsIlx1MDE3MiI6IlUiLCJcdTAxNjkiOiJ1IiwiXHUwMTZiIjoidSIsIlx1MDE2ZCI6InUiLCJcdTAxNmYiOiJ1IiwiXHUwMTcxIjoidSIsIlx1MDE3MyI6InUiLCJcdTAxNzQiOiJXIiwiXHUwMTc1IjoidyIsIlx1MDE3NiI6IlkiLCJcdTAxNzciOiJ5IiwiXHUwMTc4IjoiWSIsIlx1MDE3OSI6IloiLCJcdTAxN2IiOiJaIiwiXHUwMTdkIjoiWiIsIlx1MDE3YSI6InoiLCJcdTAxN2MiOiJ6IiwiXHUwMTdlIjoieiIsIlx1MDEzMiI6IklKIiwiXHUwMTMzIjoiaWoiLCJcdTAxNTIiOiJPZSIsCiJcdTAxNTMiOiJvZSIsIlx1MDE0OSI6IiduIiwiXHUwMTdmIjoicyJ9O3ZhciBodG1sRXNjYXBlcz17Ilx4MjYiOiJceDI2YW1wOyIsIlx4M2MiOiJceDI2bHQ7IiwiXHgzZSI6Ilx4MjZndDsiLCciJzoiXHgyNnF1b3Q7IiwiJyI6Ilx4MjYjMzk7In07dmFyIGh0bWxVbmVzY2FwZXM9eyJceDI2YW1wOyI6Ilx4MjYiLCJceDI2bHQ7IjoiXHgzYyIsIlx4MjZndDsiOiJceDNlIiwiXHgyNnF1b3Q7IjonIicsIlx4MjYjMzk7IjoiJyJ9O3ZhciBzdHJpbmdFc2NhcGVzPXsiXFwiOiJcXCIsIiciOiInIiwiXG4iOiJuIiwiXHIiOiJyIiwiXHUyMDI4IjoidTIwMjgiLCJcdTIwMjkiOiJ1MjAyOSJ9O3ZhciBmcmVlUGFyc2VGbG9hdD1wYXJzZUZsb2F0LGZyZWVQYXJzZUludD1wYXJzZUludDt2YXIgZnJlZUdsb2JhbD10eXBlb2YgZ2xvYmFsPT0ib2JqZWN0IiYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWw7dmFyIGZyZWVTZWxmPXR5cGVvZiBzZWxmPT0ib2JqZWN0IiYmCnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmO3ZhciByb290PWZyZWVHbG9iYWx8fGZyZWVTZWxmfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpO3ZhciBmcmVlRXhwb3J0cz10eXBlb2YgZXhwb3J0cz09Im9iamVjdCImJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzO3ZhciBmcmVlTW9kdWxlPWZyZWVFeHBvcnRzJiZ0eXBlb2YgbW9kdWxlPT0ib2JqZWN0IiYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGU7dmFyIG1vZHVsZUV4cG9ydHM9ZnJlZU1vZHVsZSYmZnJlZU1vZHVsZS5leHBvcnRzPT09ZnJlZUV4cG9ydHM7dmFyIGZyZWVQcm9jZXNzPW1vZHVsZUV4cG9ydHMmJmZyZWVHbG9iYWwucHJvY2Vzczt2YXIgbm9kZVV0aWw9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGZyZWVQcm9jZXNzJiZmcmVlUHJvY2Vzcy5iaW5kaW5nJiZmcmVlUHJvY2Vzcy5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2goZSl7fX0oKTt2YXIgbm9kZUlzQXJyYXlCdWZmZXI9bm9kZVV0aWwmJgpub2RlVXRpbC5pc0FycmF5QnVmZmVyLG5vZGVJc0RhdGU9bm9kZVV0aWwmJm5vZGVVdGlsLmlzRGF0ZSxub2RlSXNNYXA9bm9kZVV0aWwmJm5vZGVVdGlsLmlzTWFwLG5vZGVJc1JlZ0V4cD1ub2RlVXRpbCYmbm9kZVV0aWwuaXNSZWdFeHAsbm9kZUlzU2V0PW5vZGVVdGlsJiZub2RlVXRpbC5pc1NldCxub2RlSXNUeXBlZEFycmF5PW5vZGVVdGlsJiZub2RlVXRpbC5pc1R5cGVkQXJyYXk7ZnVuY3Rpb24gYXBwbHkoZnVuYyx0aGlzQXJnLGFyZ3Mpe3N3aXRjaChhcmdzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyk7Y2FzZSAxOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyxhcmdzWzBdKTtjYXNlIDI6cmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLGFyZ3NbMF0sYXJnc1sxXSk7Y2FzZSAzOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyxhcmdzWzBdLGFyZ3NbMV0sYXJnc1syXSl9cmV0dXJuIGZ1bmMuYXBwbHkodGhpc0FyZyxhcmdzKX1mdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksCnNldHRlcixpdGVyYXRlZSxhY2N1bXVsYXRvcil7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtzZXR0ZXIoYWNjdW11bGF0b3IsdmFsdWUsaXRlcmF0ZWUodmFsdWUpLGFycmF5KX1yZXR1cm4gYWNjdW11bGF0b3J9ZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LGl0ZXJhdGVlKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKGl0ZXJhdGVlKGFycmF5W2luZGV4XSxpbmRleCxhcnJheSk9PT1mYWxzZSlicmVhaztyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYXJyYXlFYWNoUmlnaHQoYXJyYXksaXRlcmF0ZWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7d2hpbGUobGVuZ3RoLS0paWYoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSxsZW5ndGgsYXJyYXkpPT09ZmFsc2UpYnJlYWs7CnJldHVybiBhcnJheX1mdW5jdGlvbiBhcnJheUV2ZXJ5KGFycmF5LHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aClpZighcHJlZGljYXRlKGFycmF5W2luZGV4XSxpbmRleCxhcnJheSkpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlfWZ1bmN0aW9uIGFycmF5RmlsdGVyKGFycmF5LHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aCxyZXNJbmRleD0wLHJlc3VsdD1bXTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihwcmVkaWNhdGUodmFsdWUsaW5kZXgsYXJyYXkpKXJlc3VsdFtyZXNJbmRleCsrXT12YWx1ZX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGFycmF5SW5jbHVkZXMoYXJyYXksdmFsdWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuISFsZW5ndGgmJmJhc2VJbmRleE9mKGFycmF5LAp2YWx1ZSwwKT4tMX1mdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSx2YWx1ZSxjb21wYXJhdG9yKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKGNvbXBhcmF0b3IodmFsdWUsYXJyYXlbaW5kZXhdKSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24gYXJyYXlNYXAoYXJyYXksaXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGgscmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0W2luZGV4XT1pdGVyYXRlZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYXJyYXlQdXNoKGFycmF5LHZhbHVlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD12YWx1ZXMubGVuZ3RoLG9mZnNldD1hcnJheS5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpYXJyYXlbb2Zmc2V0K2luZGV4XT0KdmFsdWVzW2luZGV4XTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksaXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGluaXRBY2N1bSYmbGVuZ3RoKWFjY3VtdWxhdG9yPWFycmF5WysraW5kZXhdO3doaWxlKCsraW5kZXg8bGVuZ3RoKWFjY3VtdWxhdG9yPWl0ZXJhdGVlKGFjY3VtdWxhdG9yLGFycmF5W2luZGV4XSxpbmRleCxhcnJheSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksaXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGluaXRBY2N1bSYmbGVuZ3RoKWFjY3VtdWxhdG9yPWFycmF5Wy0tbGVuZ3RoXTt3aGlsZShsZW5ndGgtLSlhY2N1bXVsYXRvcj1pdGVyYXRlZShhY2N1bXVsYXRvcixhcnJheVtsZW5ndGhdLGxlbmd0aCxhcnJheSk7CnJldHVybiBhY2N1bXVsYXRvcn1mdW5jdGlvbiBhcnJheVNvbWUoYXJyYXkscHJlZGljYXRlKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKHByZWRpY2F0ZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX12YXIgYXNjaWlTaXplPWJhc2VQcm9wZXJ0eSgibGVuZ3RoIik7ZnVuY3Rpb24gYXNjaWlUb0FycmF5KHN0cmluZyl7cmV0dXJuIHN0cmluZy5zcGxpdCgiIil9ZnVuY3Rpb24gYXNjaWlXb3JkcyhzdHJpbmcpe3JldHVybiBzdHJpbmcubWF0Y2gocmVBc2NpaVdvcmQpfHxbXX1mdW5jdGlvbiBiYXNlRmluZEtleShjb2xsZWN0aW9uLHByZWRpY2F0ZSxlYWNoRnVuYyl7dmFyIHJlc3VsdDtlYWNoRnVuYyhjb2xsZWN0aW9uLGZ1bmN0aW9uKHZhbHVlLGtleSxjb2xsZWN0aW9uKXtpZihwcmVkaWNhdGUodmFsdWUsa2V5LGNvbGxlY3Rpb24pKXtyZXN1bHQ9a2V5OwpyZXR1cm4gZmFsc2V9fSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmluZEluZGV4KGFycmF5LHByZWRpY2F0ZSxmcm9tSW5kZXgsZnJvbVJpZ2h0KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxpbmRleD1mcm9tSW5kZXgrKGZyb21SaWdodD8xOi0xKTt3aGlsZShmcm9tUmlnaHQ/aW5kZXgtLTorK2luZGV4PGxlbmd0aClpZihwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLGluZGV4LGFycmF5KSlyZXR1cm4gaW5kZXg7cmV0dXJuLTF9ZnVuY3Rpb24gYmFzZUluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXtyZXR1cm4gdmFsdWU9PT12YWx1ZT9zdHJpY3RJbmRleE9mKGFycmF5LHZhbHVlLGZyb21JbmRleCk6YmFzZUZpbmRJbmRleChhcnJheSxiYXNlSXNOYU4sZnJvbUluZGV4KX1mdW5jdGlvbiBiYXNlSW5kZXhPZldpdGgoYXJyYXksdmFsdWUsZnJvbUluZGV4LGNvbXBhcmF0b3Ipe3ZhciBpbmRleD1mcm9tSW5kZXgtMSxsZW5ndGg9YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8Cmxlbmd0aClpZihjb21wYXJhdG9yKGFycmF5W2luZGV4XSx2YWx1ZSkpcmV0dXJuIGluZGV4O3JldHVybi0xfWZ1bmN0aW9uIGJhc2VJc05hTih2YWx1ZSl7cmV0dXJuIHZhbHVlIT09dmFsdWV9ZnVuY3Rpb24gYmFzZU1lYW4oYXJyYXksaXRlcmF0ZWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU3VtKGFycmF5LGl0ZXJhdGVlKS9sZW5ndGg6TkFOfWZ1bmN0aW9uIGJhc2VQcm9wZXJ0eShrZXkpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfX1mdW5jdGlvbiBiYXNlUHJvcGVydHlPZihvYmplY3Qpe3JldHVybiBmdW5jdGlvbihrZXkpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfX1mdW5jdGlvbiBiYXNlUmVkdWNlKGNvbGxlY3Rpb24saXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtLGVhY2hGdW5jKXtlYWNoRnVuYyhjb2xsZWN0aW9uLApmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXthY2N1bXVsYXRvcj1pbml0QWNjdW0/KGluaXRBY2N1bT1mYWxzZSx2YWx1ZSk6aXRlcmF0ZWUoYWNjdW11bGF0b3IsdmFsdWUsaW5kZXgsY29sbGVjdGlvbil9KTtyZXR1cm4gYWNjdW11bGF0b3J9ZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSxjb21wYXJlcil7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7YXJyYXkuc29ydChjb21wYXJlcik7d2hpbGUobGVuZ3RoLS0pYXJyYXlbbGVuZ3RoXT1hcnJheVtsZW5ndGhdLnZhbHVlO3JldHVybiBhcnJheX1mdW5jdGlvbiBiYXNlU3VtKGFycmF5LGl0ZXJhdGVlKXt2YXIgcmVzdWx0LGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBjdXJyZW50PWl0ZXJhdGVlKGFycmF5W2luZGV4XSk7aWYoY3VycmVudCE9PXVuZGVmaW5lZClyZXN1bHQ9cmVzdWx0PT09dW5kZWZpbmVkP2N1cnJlbnQ6cmVzdWx0K2N1cnJlbnR9cmV0dXJuIHJlc3VsdH0KZnVuY3Rpb24gYmFzZVRpbWVzKG4saXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobik7d2hpbGUoKytpbmRleDxuKXJlc3VsdFtpbmRleF09aXRlcmF0ZWUoaW5kZXgpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZVRvUGFpcnMob2JqZWN0LHByb3BzKXtyZXR1cm4gYXJyYXlNYXAocHJvcHMsZnVuY3Rpb24oa2V5KXtyZXR1cm5ba2V5LG9iamVjdFtrZXldXX0pfWZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKXtyZXR1cm4gZnVuY3Rpb24odmFsdWUpe3JldHVybiBmdW5jKHZhbHVlKX19ZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QscHJvcHMpe3JldHVybiBhcnJheU1hcChwcm9wcyxmdW5jdGlvbihrZXkpe3JldHVybiBvYmplY3Rba2V5XX0pfWZ1bmN0aW9uIGNhY2hlSGFzKGNhY2hlLGtleSl7cmV0dXJuIGNhY2hlLmhhcyhrZXkpfWZ1bmN0aW9uIGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpe3ZhciBpbmRleD0tMSxsZW5ndGg9c3RyU3ltYm9scy5sZW5ndGg7CndoaWxlKCsraW5kZXg8bGVuZ3RoJiZiYXNlSW5kZXhPZihjaHJTeW1ib2xzLHN0clN5bWJvbHNbaW5kZXhdLDApPi0xKTtyZXR1cm4gaW5kZXh9ZnVuY3Rpb24gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpe3ZhciBpbmRleD1zdHJTeW1ib2xzLmxlbmd0aDt3aGlsZShpbmRleC0tJiZiYXNlSW5kZXhPZihjaHJTeW1ib2xzLHN0clN5bWJvbHNbaW5kZXhdLDApPi0xKTtyZXR1cm4gaW5kZXh9ZnVuY3Rpb24gY291bnRIb2xkZXJzKGFycmF5LHBsYWNlaG9sZGVyKXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxyZXN1bHQ9MDt3aGlsZShsZW5ndGgtLSlpZihhcnJheVtsZW5ndGhdPT09cGxhY2Vob2xkZXIpKytyZXN1bHQ7cmV0dXJuIHJlc3VsdH12YXIgZGVidXJyTGV0dGVyPWJhc2VQcm9wZXJ0eU9mKGRlYnVycmVkTGV0dGVycyk7dmFyIGVzY2FwZUh0bWxDaGFyPWJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtmdW5jdGlvbiBlc2NhcGVTdHJpbmdDaGFyKGNocil7cmV0dXJuIlxcIisKc3RyaW5nRXNjYXBlc1tjaHJdfWZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCxrZXkpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfWZ1bmN0aW9uIGhhc1VuaWNvZGUoc3RyaW5nKXtyZXR1cm4gcmVIYXNVbmljb2RlLnRlc3Qoc3RyaW5nKX1mdW5jdGlvbiBoYXNVbmljb2RlV29yZChzdHJpbmcpe3JldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKX1mdW5jdGlvbiBpdGVyYXRvclRvQXJyYXkoaXRlcmF0b3Ipe3ZhciBkYXRhLHJlc3VsdD1bXTt3aGlsZSghKGRhdGE9aXRlcmF0b3IubmV4dCgpKS5kb25lKXJlc3VsdC5wdXNoKGRhdGEudmFsdWUpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gbWFwVG9BcnJheShtYXApe3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobWFwLnNpemUpO21hcC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLGtleSl7cmVzdWx0WysraW5kZXhdPVtrZXksdmFsdWVdfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBvdmVyQXJnKGZ1bmMsCnRyYW5zZm9ybSl7cmV0dXJuIGZ1bmN0aW9uKGFyZyl7cmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpfX1mdW5jdGlvbiByZXBsYWNlSG9sZGVycyhhcnJheSxwbGFjZWhvbGRlcil7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGgscmVzSW5kZXg9MCxyZXN1bHQ9W107d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciB2YWx1ZT1hcnJheVtpbmRleF07aWYodmFsdWU9PT1wbGFjZWhvbGRlcnx8dmFsdWU9PT1QTEFDRUhPTERFUil7YXJyYXlbaW5kZXhdPVBMQUNFSE9MREVSO3Jlc3VsdFtyZXNJbmRleCsrXT1pbmRleH19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBzYWZlR2V0KG9iamVjdCxrZXkpe3JldHVybiBrZXk9PSJfX3Byb3RvX18iP3VuZGVmaW5lZDpvYmplY3Rba2V5XX1mdW5jdGlvbiBzZXRUb0FycmF5KHNldCl7dmFyIGluZGV4PS0xLHJlc3VsdD1BcnJheShzZXQuc2l6ZSk7c2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpe3Jlc3VsdFsrK2luZGV4XT12YWx1ZX0pOwpyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHNldFRvUGFpcnMoc2V0KXt2YXIgaW5kZXg9LTEscmVzdWx0PUFycmF5KHNldC5zaXplKTtzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSl7cmVzdWx0WysraW5kZXhdPVt2YWx1ZSx2YWx1ZV19KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXt2YXIgaW5kZXg9ZnJvbUluZGV4LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aClpZihhcnJheVtpbmRleF09PT12YWx1ZSlyZXR1cm4gaW5kZXg7cmV0dXJuLTF9ZnVuY3Rpb24gc3RyaWN0TGFzdEluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXt2YXIgaW5kZXg9ZnJvbUluZGV4KzE7d2hpbGUoaW5kZXgtLSlpZihhcnJheVtpbmRleF09PT12YWx1ZSlyZXR1cm4gaW5kZXg7cmV0dXJuIGluZGV4fWZ1bmN0aW9uIHN0cmluZ1NpemUoc3RyaW5nKXtyZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpP3VuaWNvZGVTaXplKHN0cmluZyk6CmFzY2lpU2l6ZShzdHJpbmcpfWZ1bmN0aW9uIHN0cmluZ1RvQXJyYXkoc3RyaW5nKXtyZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpP3VuaWNvZGVUb0FycmF5KHN0cmluZyk6YXNjaWlUb0FycmF5KHN0cmluZyl9dmFyIHVuZXNjYXBlSHRtbENoYXI9YmFzZVByb3BlcnR5T2YoaHRtbFVuZXNjYXBlcyk7ZnVuY3Rpb24gdW5pY29kZVNpemUoc3RyaW5nKXt2YXIgcmVzdWx0PXJlVW5pY29kZS5sYXN0SW5kZXg9MDt3aGlsZShyZVVuaWNvZGUudGVzdChzdHJpbmcpKSsrcmVzdWx0O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gdW5pY29kZVRvQXJyYXkoc3RyaW5nKXtyZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZSl8fFtdfWZ1bmN0aW9uIHVuaWNvZGVXb3JkcyhzdHJpbmcpe3JldHVybiBzdHJpbmcubWF0Y2gocmVVbmljb2RlV29yZCl8fFtdfXZhciBydW5JbkNvbnRleHQ9ZnVuY3Rpb24gcnVuSW5Db250ZXh0KGNvbnRleHQpe2NvbnRleHQ9Y29udGV4dD09bnVsbD9yb290Ol8uZGVmYXVsdHMocm9vdC5PYmplY3QoKSwKY29udGV4dCxfLnBpY2socm9vdCxjb250ZXh0UHJvcHMpKTt2YXIgQXJyYXk9Y29udGV4dC5BcnJheSxEYXRlPWNvbnRleHQuRGF0ZSxFcnJvcj1jb250ZXh0LkVycm9yLEZ1bmN0aW9uPWNvbnRleHQuRnVuY3Rpb24sTWF0aD1jb250ZXh0Lk1hdGgsT2JqZWN0PWNvbnRleHQuT2JqZWN0LFJlZ0V4cD1jb250ZXh0LlJlZ0V4cCxTdHJpbmc9Y29udGV4dC5TdHJpbmcsVHlwZUVycm9yPWNvbnRleHQuVHlwZUVycm9yO3ZhciBhcnJheVByb3RvPUFycmF5LnByb3RvdHlwZSxmdW5jUHJvdG89RnVuY3Rpb24ucHJvdG90eXBlLG9iamVjdFByb3RvPU9iamVjdC5wcm90b3R5cGU7dmFyIGNvcmVKc0RhdGE9Y29udGV4dFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGZ1bmNUb1N0cmluZz1mdW5jUHJvdG8udG9TdHJpbmc7dmFyIGhhc093blByb3BlcnR5PW9iamVjdFByb3RvLmhhc093blByb3BlcnR5O3ZhciBpZENvdW50ZXI9MDt2YXIgbWFza1NyY0tleT1mdW5jdGlvbigpe3ZhciB1aWQ9Ci9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSYmY29yZUpzRGF0YS5rZXlzJiZjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE98fCIiKTtyZXR1cm4gdWlkPyJTeW1ib2woc3JjKV8xLiIrdWlkOiIifSgpO3ZhciBuYXRpdmVPYmplY3RUb1N0cmluZz1vYmplY3RQcm90by50b1N0cmluZzt2YXIgb2JqZWN0Q3RvclN0cmluZz1mdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO3ZhciBvbGREYXNoPXJvb3QuXzt2YXIgcmVJc05hdGl2ZT1SZWdFeHAoIl4iK2Z1bmNUb1N0cmluZy5jYWxsKGhhc093blByb3BlcnR5KS5yZXBsYWNlKHJlUmVnRXhwQ2hhciwiXFwkXHgyNiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKTt2YXIgQnVmZmVyPW1vZHVsZUV4cG9ydHM/Y29udGV4dC5CdWZmZXI6dW5kZWZpbmVkLFN5bWJvbD1jb250ZXh0LlN5bWJvbCxVaW50OEFycmF5PWNvbnRleHQuVWludDhBcnJheSxhbGxvY1Vuc2FmZT0KQnVmZmVyP0J1ZmZlci5hbGxvY1Vuc2FmZTp1bmRlZmluZWQsZ2V0UHJvdG90eXBlPW92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLE9iamVjdCksb2JqZWN0Q3JlYXRlPU9iamVjdC5jcmVhdGUscHJvcGVydHlJc0VudW1lcmFibGU9b2JqZWN0UHJvdG8ucHJvcGVydHlJc0VudW1lcmFibGUsc3BsaWNlPWFycmF5UHJvdG8uc3BsaWNlLHNwcmVhZGFibGVTeW1ib2w9U3ltYm9sP1N5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGU6dW5kZWZpbmVkLHN5bUl0ZXJhdG9yPVN5bWJvbD9TeW1ib2wuaXRlcmF0b3I6dW5kZWZpbmVkLHN5bVRvU3RyaW5nVGFnPVN5bWJvbD9TeW1ib2wudG9TdHJpbmdUYWc6dW5kZWZpbmVkO3ZhciBkZWZpbmVQcm9wZXJ0eT1mdW5jdGlvbigpe3RyeXt2YXIgZnVuYz1nZXROYXRpdmUoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO2Z1bmMoe30sIiIse30pO3JldHVybiBmdW5jfWNhdGNoKGUpe319KCk7dmFyIGN0eENsZWFyVGltZW91dD1jb250ZXh0LmNsZWFyVGltZW91dCE9PQpyb290LmNsZWFyVGltZW91dCYmY29udGV4dC5jbGVhclRpbWVvdXQsY3R4Tm93PURhdGUmJkRhdGUubm93IT09cm9vdC5EYXRlLm5vdyYmRGF0ZS5ub3csY3R4U2V0VGltZW91dD1jb250ZXh0LnNldFRpbWVvdXQhPT1yb290LnNldFRpbWVvdXQmJmNvbnRleHQuc2V0VGltZW91dDt2YXIgbmF0aXZlQ2VpbD1NYXRoLmNlaWwsbmF0aXZlRmxvb3I9TWF0aC5mbG9vcixuYXRpdmVHZXRTeW1ib2xzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbmF0aXZlSXNCdWZmZXI9QnVmZmVyP0J1ZmZlci5pc0J1ZmZlcjp1bmRlZmluZWQsbmF0aXZlSXNGaW5pdGU9Y29udGV4dC5pc0Zpbml0ZSxuYXRpdmVKb2luPWFycmF5UHJvdG8uam9pbixuYXRpdmVLZXlzPW92ZXJBcmcoT2JqZWN0LmtleXMsT2JqZWN0KSxuYXRpdmVNYXg9TWF0aC5tYXgsbmF0aXZlTWluPU1hdGgubWluLG5hdGl2ZU5vdz1EYXRlLm5vdyxuYXRpdmVQYXJzZUludD1jb250ZXh0LnBhcnNlSW50LG5hdGl2ZVJhbmRvbT0KTWF0aC5yYW5kb20sbmF0aXZlUmV2ZXJzZT1hcnJheVByb3RvLnJldmVyc2U7dmFyIERhdGFWaWV3PWdldE5hdGl2ZShjb250ZXh0LCJEYXRhVmlldyIpLE1hcD1nZXROYXRpdmUoY29udGV4dCwiTWFwIiksUHJvbWlzZT1nZXROYXRpdmUoY29udGV4dCwiUHJvbWlzZSIpLFNldD1nZXROYXRpdmUoY29udGV4dCwiU2V0IiksV2Vha01hcD1nZXROYXRpdmUoY29udGV4dCwiV2Vha01hcCIpLG5hdGl2ZUNyZWF0ZT1nZXROYXRpdmUoT2JqZWN0LCJjcmVhdGUiKTt2YXIgbWV0YU1hcD1XZWFrTWFwJiZuZXcgV2Vha01hcDt2YXIgcmVhbE5hbWVzPXt9O3ZhciBkYXRhVmlld0N0b3JTdHJpbmc9dG9Tb3VyY2UoRGF0YVZpZXcpLG1hcEN0b3JTdHJpbmc9dG9Tb3VyY2UoTWFwKSxwcm9taXNlQ3RvclN0cmluZz10b1NvdXJjZShQcm9taXNlKSxzZXRDdG9yU3RyaW5nPXRvU291cmNlKFNldCksd2Vha01hcEN0b3JTdHJpbmc9dG9Tb3VyY2UoV2Vha01hcCk7dmFyIHN5bWJvbFByb3RvPVN5bWJvbD8KU3ltYm9sLnByb3RvdHlwZTp1bmRlZmluZWQsc3ltYm9sVmFsdWVPZj1zeW1ib2xQcm90bz9zeW1ib2xQcm90by52YWx1ZU9mOnVuZGVmaW5lZCxzeW1ib2xUb1N0cmluZz1zeW1ib2xQcm90bz9zeW1ib2xQcm90by50b1N0cmluZzp1bmRlZmluZWQ7ZnVuY3Rpb24gbG9kYXNoKHZhbHVlKXtpZihpc09iamVjdExpa2UodmFsdWUpJiYhaXNBcnJheSh2YWx1ZSkmJiEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikpe2lmKHZhbHVlIGluc3RhbmNlb2YgTG9kYXNoV3JhcHBlcilyZXR1cm4gdmFsdWU7aWYoaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwiX193cmFwcGVkX18iKSlyZXR1cm4gd3JhcHBlckNsb25lKHZhbHVlKX1yZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpfXZhciBiYXNlQ3JlYXRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gb2JqZWN0KCl7fXJldHVybiBmdW5jdGlvbihwcm90byl7aWYoIWlzT2JqZWN0KHByb3RvKSlyZXR1cm57fTtpZihvYmplY3RDcmVhdGUpcmV0dXJuIG9iamVjdENyZWF0ZShwcm90byk7Cm9iamVjdC5wcm90b3R5cGU9cHJvdG87dmFyIHJlc3VsdD1uZXcgb2JqZWN0O29iamVjdC5wcm90b3R5cGU9dW5kZWZpbmVkO3JldHVybiByZXN1bHR9fSgpO2Z1bmN0aW9uIGJhc2VMb2Rhc2goKXt9ZnVuY3Rpb24gTG9kYXNoV3JhcHBlcih2YWx1ZSxjaGFpbkFsbCl7dGhpcy5fX3dyYXBwZWRfXz12YWx1ZTt0aGlzLl9fYWN0aW9uc19fPVtdO3RoaXMuX19jaGFpbl9fPSEhY2hhaW5BbGw7dGhpcy5fX2luZGV4X189MDt0aGlzLl9fdmFsdWVzX189dW5kZWZpbmVkfWxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzPXsiZXNjYXBlIjpyZUVzY2FwZSwiZXZhbHVhdGUiOnJlRXZhbHVhdGUsImludGVycG9sYXRlIjpyZUludGVycG9sYXRlLCJ2YXJpYWJsZSI6IiIsImltcG9ydHMiOnsiXyI6bG9kYXNofX07bG9kYXNoLnByb3RvdHlwZT1iYXNlTG9kYXNoLnByb3RvdHlwZTtsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yPWxvZGFzaDtMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZT1iYXNlQ3JlYXRlKGJhc2VMb2Rhc2gucHJvdG90eXBlKTsKTG9kYXNoV3JhcHBlci5wcm90b3R5cGUuY29uc3RydWN0b3I9TG9kYXNoV3JhcHBlcjtmdW5jdGlvbiBMYXp5V3JhcHBlcih2YWx1ZSl7dGhpcy5fX3dyYXBwZWRfXz12YWx1ZTt0aGlzLl9fYWN0aW9uc19fPVtdO3RoaXMuX19kaXJfXz0xO3RoaXMuX19maWx0ZXJlZF9fPWZhbHNlO3RoaXMuX19pdGVyYXRlZXNfXz1bXTt0aGlzLl9fdGFrZUNvdW50X189TUFYX0FSUkFZX0xFTkdUSDt0aGlzLl9fdmlld3NfXz1bXX1mdW5jdGlvbiBsYXp5Q2xvbmUoKXt2YXIgcmVzdWx0PW5ldyBMYXp5V3JhcHBlcih0aGlzLl9fd3JhcHBlZF9fKTtyZXN1bHQuX19hY3Rpb25zX189Y29weUFycmF5KHRoaXMuX19hY3Rpb25zX18pO3Jlc3VsdC5fX2Rpcl9fPXRoaXMuX19kaXJfXztyZXN1bHQuX19maWx0ZXJlZF9fPXRoaXMuX19maWx0ZXJlZF9fO3Jlc3VsdC5fX2l0ZXJhdGVlc19fPWNvcHlBcnJheSh0aGlzLl9faXRlcmF0ZWVzX18pO3Jlc3VsdC5fX3Rha2VDb3VudF9fPXRoaXMuX190YWtlQ291bnRfXzsKcmVzdWx0Ll9fdmlld3NfXz1jb3B5QXJyYXkodGhpcy5fX3ZpZXdzX18pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gbGF6eVJldmVyc2UoKXtpZih0aGlzLl9fZmlsdGVyZWRfXyl7dmFyIHJlc3VsdD1uZXcgTGF6eVdyYXBwZXIodGhpcyk7cmVzdWx0Ll9fZGlyX189LTE7cmVzdWx0Ll9fZmlsdGVyZWRfXz10cnVlfWVsc2V7cmVzdWx0PXRoaXMuY2xvbmUoKTtyZXN1bHQuX19kaXJfXyo9LTF9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBsYXp5VmFsdWUoKXt2YXIgYXJyYXk9dGhpcy5fX3dyYXBwZWRfXy52YWx1ZSgpLGRpcj10aGlzLl9fZGlyX18saXNBcnI9aXNBcnJheShhcnJheSksaXNSaWdodD1kaXI8MCxhcnJMZW5ndGg9aXNBcnI/YXJyYXkubGVuZ3RoOjAsdmlldz1nZXRWaWV3KDAsYXJyTGVuZ3RoLHRoaXMuX192aWV3c19fKSxzdGFydD12aWV3LnN0YXJ0LGVuZD12aWV3LmVuZCxsZW5ndGg9ZW5kLXN0YXJ0LGluZGV4PWlzUmlnaHQ/ZW5kOnN0YXJ0LTEsaXRlcmF0ZWVzPXRoaXMuX19pdGVyYXRlZXNfXywKaXRlckxlbmd0aD1pdGVyYXRlZXMubGVuZ3RoLHJlc0luZGV4PTAsdGFrZUNvdW50PW5hdGl2ZU1pbihsZW5ndGgsdGhpcy5fX3Rha2VDb3VudF9fKTtpZighaXNBcnJ8fCFpc1JpZ2h0JiZhcnJMZW5ndGg9PWxlbmd0aCYmdGFrZUNvdW50PT1sZW5ndGgpcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUoYXJyYXksdGhpcy5fX2FjdGlvbnNfXyk7dmFyIHJlc3VsdD1bXTtvdXRlcjp3aGlsZShsZW5ndGgtLSYmcmVzSW5kZXg8dGFrZUNvdW50KXtpbmRleCs9ZGlyO3ZhciBpdGVySW5kZXg9LTEsdmFsdWU9YXJyYXlbaW5kZXhdO3doaWxlKCsraXRlckluZGV4PGl0ZXJMZW5ndGgpe3ZhciBkYXRhPWl0ZXJhdGVlc1tpdGVySW5kZXhdLGl0ZXJhdGVlPWRhdGEuaXRlcmF0ZWUsdHlwZT1kYXRhLnR5cGUsY29tcHV0ZWQ9aXRlcmF0ZWUodmFsdWUpO2lmKHR5cGU9PUxBWllfTUFQX0ZMQUcpdmFsdWU9Y29tcHV0ZWQ7ZWxzZSBpZighY29tcHV0ZWQpaWYodHlwZT09TEFaWV9GSUxURVJfRkxBRyljb250aW51ZSBvdXRlcjsKZWxzZSBicmVhayBvdXRlcn1yZXN1bHRbcmVzSW5kZXgrK109dmFsdWV9cmV0dXJuIHJlc3VsdH1MYXp5V3JhcHBlci5wcm90b3R5cGU9YmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7TGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yPUxhenlXcmFwcGVyO2Z1bmN0aW9uIEhhc2goZW50cmllcyl7dmFyIGluZGV4PS0xLGxlbmd0aD1lbnRyaWVzPT1udWxsPzA6ZW50cmllcy5sZW5ndGg7dGhpcy5jbGVhcigpO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgZW50cnk9ZW50cmllc1tpbmRleF07dGhpcy5zZXQoZW50cnlbMF0sZW50cnlbMV0pfX1mdW5jdGlvbiBoYXNoQ2xlYXIoKXt0aGlzLl9fZGF0YV9fPW5hdGl2ZUNyZWF0ZT9uYXRpdmVDcmVhdGUobnVsbCk6e307dGhpcy5zaXplPTB9ZnVuY3Rpb24gaGFzaERlbGV0ZShrZXkpe3ZhciByZXN1bHQ9dGhpcy5oYXMoa2V5KSYmZGVsZXRlIHRoaXMuX19kYXRhX19ba2V5XTt0aGlzLnNpemUtPXJlc3VsdD8xOjA7CnJldHVybiByZXN1bHR9ZnVuY3Rpb24gaGFzaEdldChrZXkpe3ZhciBkYXRhPXRoaXMuX19kYXRhX187aWYobmF0aXZlQ3JlYXRlKXt2YXIgcmVzdWx0PWRhdGFba2V5XTtyZXR1cm4gcmVzdWx0PT09SEFTSF9VTkRFRklORUQ/dW5kZWZpbmVkOnJlc3VsdH1yZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLGtleSk/ZGF0YVtrZXldOnVuZGVmaW5lZH1mdW5jdGlvbiBoYXNoSGFzKGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXztyZXR1cm4gbmF0aXZlQ3JlYXRlP2RhdGFba2V5XSE9PXVuZGVmaW5lZDpoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsa2V5KX1mdW5jdGlvbiBoYXNoU2V0KGtleSx2YWx1ZSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXzt0aGlzLnNpemUrPXRoaXMuaGFzKGtleSk/MDoxO2RhdGFba2V5XT1uYXRpdmVDcmVhdGUmJnZhbHVlPT09dW5kZWZpbmVkP0hBU0hfVU5ERUZJTkVEOnZhbHVlO3JldHVybiB0aGlzfUhhc2gucHJvdG90eXBlLmNsZWFyPWhhc2hDbGVhcjsKSGFzaC5wcm90b3R5cGVbImRlbGV0ZSJdPWhhc2hEZWxldGU7SGFzaC5wcm90b3R5cGUuZ2V0PWhhc2hHZXQ7SGFzaC5wcm90b3R5cGUuaGFzPWhhc2hIYXM7SGFzaC5wcm90b3R5cGUuc2V0PWhhc2hTZXQ7ZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpe3ZhciBpbmRleD0tMSxsZW5ndGg9ZW50cmllcz09bnVsbD8wOmVudHJpZXMubGVuZ3RoO3RoaXMuY2xlYXIoKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIGVudHJ5PWVudHJpZXNbaW5kZXhdO3RoaXMuc2V0KGVudHJ5WzBdLGVudHJ5WzFdKX19ZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKXt0aGlzLl9fZGF0YV9fPVtdO3RoaXMuc2l6ZT0wfWZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpe3ZhciBkYXRhPXRoaXMuX19kYXRhX18saW5kZXg9YXNzb2NJbmRleE9mKGRhdGEsa2V5KTtpZihpbmRleDwwKXJldHVybiBmYWxzZTt2YXIgbGFzdEluZGV4PWRhdGEubGVuZ3RoLTE7aWYoaW5kZXg9PWxhc3RJbmRleClkYXRhLnBvcCgpOwplbHNlIHNwbGljZS5jYWxsKGRhdGEsaW5kZXgsMSk7LS10aGlzLnNpemU7cmV0dXJuIHRydWV9ZnVuY3Rpb24gbGlzdENhY2hlR2V0KGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXyxpbmRleD1hc3NvY0luZGV4T2YoZGF0YSxrZXkpO3JldHVybiBpbmRleDwwP3VuZGVmaW5lZDpkYXRhW2luZGV4XVsxXX1mdW5jdGlvbiBsaXN0Q2FjaGVIYXMoa2V5KXtyZXR1cm4gYXNzb2NJbmRleE9mKHRoaXMuX19kYXRhX18sa2V5KT4tMX1mdW5jdGlvbiBsaXN0Q2FjaGVTZXQoa2V5LHZhbHVlKXt2YXIgZGF0YT10aGlzLl9fZGF0YV9fLGluZGV4PWFzc29jSW5kZXhPZihkYXRhLGtleSk7aWYoaW5kZXg8MCl7Kyt0aGlzLnNpemU7ZGF0YS5wdXNoKFtrZXksdmFsdWVdKX1lbHNlIGRhdGFbaW5kZXhdWzFdPXZhbHVlO3JldHVybiB0aGlzfUxpc3RDYWNoZS5wcm90b3R5cGUuY2xlYXI9bGlzdENhY2hlQ2xlYXI7TGlzdENhY2hlLnByb3RvdHlwZVsiZGVsZXRlIl09bGlzdENhY2hlRGVsZXRlO0xpc3RDYWNoZS5wcm90b3R5cGUuZ2V0PQpsaXN0Q2FjaGVHZXQ7TGlzdENhY2hlLnByb3RvdHlwZS5oYXM9bGlzdENhY2hlSGFzO0xpc3RDYWNoZS5wcm90b3R5cGUuc2V0PWxpc3RDYWNoZVNldDtmdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWVudHJpZXM9PW51bGw/MDplbnRyaWVzLmxlbmd0aDt0aGlzLmNsZWFyKCk7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBlbnRyeT1lbnRyaWVzW2luZGV4XTt0aGlzLnNldChlbnRyeVswXSxlbnRyeVsxXSl9fWZ1bmN0aW9uIG1hcENhY2hlQ2xlYXIoKXt0aGlzLnNpemU9MDt0aGlzLl9fZGF0YV9fPXsiaGFzaCI6bmV3IEhhc2gsIm1hcCI6bmV3IChNYXB8fExpc3RDYWNoZSksInN0cmluZyI6bmV3IEhhc2h9fWZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSl7dmFyIHJlc3VsdD1nZXRNYXBEYXRhKHRoaXMsa2V5KVsiZGVsZXRlIl0oa2V5KTt0aGlzLnNpemUtPXJlc3VsdD8xOjA7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpe3JldHVybiBnZXRNYXBEYXRhKHRoaXMsCmtleSkuZ2V0KGtleSl9ZnVuY3Rpb24gbWFwQ2FjaGVIYXMoa2V5KXtyZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLGtleSkuaGFzKGtleSl9ZnVuY3Rpb24gbWFwQ2FjaGVTZXQoa2V5LHZhbHVlKXt2YXIgZGF0YT1nZXRNYXBEYXRhKHRoaXMsa2V5KSxzaXplPWRhdGEuc2l6ZTtkYXRhLnNldChrZXksdmFsdWUpO3RoaXMuc2l6ZSs9ZGF0YS5zaXplPT1zaXplPzA6MTtyZXR1cm4gdGhpc31NYXBDYWNoZS5wcm90b3R5cGUuY2xlYXI9bWFwQ2FjaGVDbGVhcjtNYXBDYWNoZS5wcm90b3R5cGVbImRlbGV0ZSJdPW1hcENhY2hlRGVsZXRlO01hcENhY2hlLnByb3RvdHlwZS5nZXQ9bWFwQ2FjaGVHZXQ7TWFwQ2FjaGUucHJvdG90eXBlLmhhcz1tYXBDYWNoZUhhcztNYXBDYWNoZS5wcm90b3R5cGUuc2V0PW1hcENhY2hlU2V0O2Z1bmN0aW9uIFNldENhY2hlKHZhbHVlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD12YWx1ZXM9PW51bGw/MDp2YWx1ZXMubGVuZ3RoO3RoaXMuX19kYXRhX189bmV3IE1hcENhY2hlOwp3aGlsZSgrK2luZGV4PGxlbmd0aCl0aGlzLmFkZCh2YWx1ZXNbaW5kZXhdKX1mdW5jdGlvbiBzZXRDYWNoZUFkZCh2YWx1ZSl7dGhpcy5fX2RhdGFfXy5zZXQodmFsdWUsSEFTSF9VTkRFRklORUQpO3JldHVybiB0aGlzfWZ1bmN0aW9uIHNldENhY2hlSGFzKHZhbHVlKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModmFsdWUpfVNldENhY2hlLnByb3RvdHlwZS5hZGQ9U2V0Q2FjaGUucHJvdG90eXBlLnB1c2g9c2V0Q2FjaGVBZGQ7U2V0Q2FjaGUucHJvdG90eXBlLmhhcz1zZXRDYWNoZUhhcztmdW5jdGlvbiBTdGFjayhlbnRyaWVzKXt2YXIgZGF0YT10aGlzLl9fZGF0YV9fPW5ldyBMaXN0Q2FjaGUoZW50cmllcyk7dGhpcy5zaXplPWRhdGEuc2l6ZX1mdW5jdGlvbiBzdGFja0NsZWFyKCl7dGhpcy5fX2RhdGFfXz1uZXcgTGlzdENhY2hlO3RoaXMuc2l6ZT0wfWZ1bmN0aW9uIHN0YWNrRGVsZXRlKGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXyxyZXN1bHQ9ZGF0YVsiZGVsZXRlIl0oa2V5KTsKdGhpcy5zaXplPWRhdGEuc2l6ZTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHN0YWNrR2V0KGtleSl7cmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KGtleSl9ZnVuY3Rpb24gc3RhY2tIYXMoa2V5KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMoa2V5KX1mdW5jdGlvbiBzdGFja1NldChrZXksdmFsdWUpe3ZhciBkYXRhPXRoaXMuX19kYXRhX187aWYoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSl7dmFyIHBhaXJzPWRhdGEuX19kYXRhX187aWYoIU1hcHx8cGFpcnMubGVuZ3RoPExBUkdFX0FSUkFZX1NJWkUtMSl7cGFpcnMucHVzaChba2V5LHZhbHVlXSk7dGhpcy5zaXplPSsrZGF0YS5zaXplO3JldHVybiB0aGlzfWRhdGE9dGhpcy5fX2RhdGFfXz1uZXcgTWFwQ2FjaGUocGFpcnMpfWRhdGEuc2V0KGtleSx2YWx1ZSk7dGhpcy5zaXplPWRhdGEuc2l6ZTtyZXR1cm4gdGhpc31TdGFjay5wcm90b3R5cGUuY2xlYXI9c3RhY2tDbGVhcjtTdGFjay5wcm90b3R5cGVbImRlbGV0ZSJdPXN0YWNrRGVsZXRlOwpTdGFjay5wcm90b3R5cGUuZ2V0PXN0YWNrR2V0O1N0YWNrLnByb3RvdHlwZS5oYXM9c3RhY2tIYXM7U3RhY2sucHJvdG90eXBlLnNldD1zdGFja1NldDtmdW5jdGlvbiBhcnJheUxpa2VLZXlzKHZhbHVlLGluaGVyaXRlZCl7dmFyIGlzQXJyPWlzQXJyYXkodmFsdWUpLGlzQXJnPSFpc0FyciYmaXNBcmd1bWVudHModmFsdWUpLGlzQnVmZj0haXNBcnImJiFpc0FyZyYmaXNCdWZmZXIodmFsdWUpLGlzVHlwZT0haXNBcnImJiFpc0FyZyYmIWlzQnVmZiYmaXNUeXBlZEFycmF5KHZhbHVlKSxza2lwSW5kZXhlcz1pc0Fycnx8aXNBcmd8fGlzQnVmZnx8aXNUeXBlLHJlc3VsdD1za2lwSW5kZXhlcz9iYXNlVGltZXModmFsdWUubGVuZ3RoLFN0cmluZyk6W10sbGVuZ3RoPXJlc3VsdC5sZW5ndGg7Zm9yKHZhciBrZXkgaW4gdmFsdWUpaWYoKGluaGVyaXRlZHx8aGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSxrZXkpKSYmIShza2lwSW5kZXhlcyYmKGtleT09Imxlbmd0aCJ8fGlzQnVmZiYmKGtleT09CiJvZmZzZXQifHxrZXk9PSJwYXJlbnQiKXx8aXNUeXBlJiYoa2V5PT0iYnVmZmVyInx8a2V5PT0iYnl0ZUxlbmd0aCJ8fGtleT09ImJ5dGVPZmZzZXQiKXx8aXNJbmRleChrZXksbGVuZ3RoKSkpKXJlc3VsdC5wdXNoKGtleSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBhcnJheVNhbXBsZShhcnJheSl7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9hcnJheVtiYXNlUmFuZG9tKDAsbGVuZ3RoLTEpXTp1bmRlZmluZWR9ZnVuY3Rpb24gYXJyYXlTYW1wbGVTaXplKGFycmF5LG4pe3JldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpLGJhc2VDbGFtcChuLDAsYXJyYXkubGVuZ3RoKSl9ZnVuY3Rpb24gYXJyYXlTaHVmZmxlKGFycmF5KXtyZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSl9ZnVuY3Rpb24gYXNzaWduTWVyZ2VWYWx1ZShvYmplY3Qsa2V5LHZhbHVlKXtpZih2YWx1ZSE9PXVuZGVmaW5lZCYmIWVxKG9iamVjdFtrZXldLHZhbHVlKXx8CnZhbHVlPT09dW5kZWZpbmVkJiYhKGtleSBpbiBvYmplY3QpKWJhc2VBc3NpZ25WYWx1ZShvYmplY3Qsa2V5LHZhbHVlKX1mdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3Qsa2V5LHZhbHVlKXt2YXIgb2JqVmFsdWU9b2JqZWN0W2tleV07aWYoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpJiZlcShvYmpWYWx1ZSx2YWx1ZSkpfHx2YWx1ZT09PXVuZGVmaW5lZCYmIShrZXkgaW4gb2JqZWN0KSliYXNlQXNzaWduVmFsdWUob2JqZWN0LGtleSx2YWx1ZSl9ZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LGtleSl7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7d2hpbGUobGVuZ3RoLS0paWYoZXEoYXJyYXlbbGVuZ3RoXVswXSxrZXkpKXJldHVybiBsZW5ndGg7cmV0dXJuLTF9ZnVuY3Rpb24gYmFzZUFnZ3JlZ2F0b3IoY29sbGVjdGlvbixzZXR0ZXIsaXRlcmF0ZWUsYWNjdW11bGF0b3Ipe2Jhc2VFYWNoKGNvbGxlY3Rpb24sZnVuY3Rpb24odmFsdWUsa2V5LGNvbGxlY3Rpb24pe3NldHRlcihhY2N1bXVsYXRvciwKdmFsdWUsaXRlcmF0ZWUodmFsdWUpLGNvbGxlY3Rpb24pfSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LHNvdXJjZSl7cmV0dXJuIG9iamVjdCYmY29weU9iamVjdChzb3VyY2Usa2V5cyhzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gYmFzZUFzc2lnbkluKG9iamVjdCxzb3VyY2Upe3JldHVybiBvYmplY3QmJmNvcHlPYmplY3Qoc291cmNlLGtleXNJbihzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCxrZXksdmFsdWUpe2lmKGtleT09Il9fcHJvdG9fXyImJmRlZmluZVByb3BlcnR5KWRlZmluZVByb3BlcnR5KG9iamVjdCxrZXkseyJjb25maWd1cmFibGUiOnRydWUsImVudW1lcmFibGUiOnRydWUsInZhbHVlIjp2YWx1ZSwid3JpdGFibGUiOnRydWV9KTtlbHNlIG9iamVjdFtrZXldPXZhbHVlfWZ1bmN0aW9uIGJhc2VBdChvYmplY3QscGF0aHMpe3ZhciBpbmRleD0tMSxsZW5ndGg9cGF0aHMubGVuZ3RoLHJlc3VsdD0KQXJyYXkobGVuZ3RoKSxza2lwPW9iamVjdD09bnVsbDt3aGlsZSgrK2luZGV4PGxlbmd0aClyZXN1bHRbaW5kZXhdPXNraXA/dW5kZWZpbmVkOmdldChvYmplY3QscGF0aHNbaW5kZXhdKTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VDbGFtcChudW1iZXIsbG93ZXIsdXBwZXIpe2lmKG51bWJlcj09PW51bWJlcil7aWYodXBwZXIhPT11bmRlZmluZWQpbnVtYmVyPW51bWJlcjw9dXBwZXI/bnVtYmVyOnVwcGVyO2lmKGxvd2VyIT09dW5kZWZpbmVkKW51bWJlcj1udW1iZXI+PWxvd2VyP251bWJlcjpsb3dlcn1yZXR1cm4gbnVtYmVyfWZ1bmN0aW9uIGJhc2VDbG9uZSh2YWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsa2V5LG9iamVjdCxzdGFjayl7dmFyIHJlc3VsdCxpc0RlZXA9Yml0bWFzayZDTE9ORV9ERUVQX0ZMQUcsaXNGbGF0PWJpdG1hc2smQ0xPTkVfRkxBVF9GTEFHLGlzRnVsbD1iaXRtYXNrJkNMT05FX1NZTUJPTFNfRkxBRztpZihjdXN0b21pemVyKXJlc3VsdD1vYmplY3Q/CmN1c3RvbWl6ZXIodmFsdWUsa2V5LG9iamVjdCxzdGFjayk6Y3VzdG9taXplcih2YWx1ZSk7aWYocmVzdWx0IT09dW5kZWZpbmVkKXJldHVybiByZXN1bHQ7aWYoIWlzT2JqZWN0KHZhbHVlKSlyZXR1cm4gdmFsdWU7dmFyIGlzQXJyPWlzQXJyYXkodmFsdWUpO2lmKGlzQXJyKXtyZXN1bHQ9aW5pdENsb25lQXJyYXkodmFsdWUpO2lmKCFpc0RlZXApcmV0dXJuIGNvcHlBcnJheSh2YWx1ZSxyZXN1bHQpfWVsc2V7dmFyIHRhZz1nZXRUYWcodmFsdWUpLGlzRnVuYz10YWc9PWZ1bmNUYWd8fHRhZz09Z2VuVGFnO2lmKGlzQnVmZmVyKHZhbHVlKSlyZXR1cm4gY2xvbmVCdWZmZXIodmFsdWUsaXNEZWVwKTtpZih0YWc9PW9iamVjdFRhZ3x8dGFnPT1hcmdzVGFnfHxpc0Z1bmMmJiFvYmplY3Qpe3Jlc3VsdD1pc0ZsYXR8fGlzRnVuYz97fTppbml0Q2xvbmVPYmplY3QodmFsdWUpO2lmKCFpc0RlZXApcmV0dXJuIGlzRmxhdD9jb3B5U3ltYm9sc0luKHZhbHVlLGJhc2VBc3NpZ25JbihyZXN1bHQsCnZhbHVlKSk6Y29weVN5bWJvbHModmFsdWUsYmFzZUFzc2lnbihyZXN1bHQsdmFsdWUpKX1lbHNle2lmKCFjbG9uZWFibGVUYWdzW3RhZ10pcmV0dXJuIG9iamVjdD92YWx1ZTp7fTtyZXN1bHQ9aW5pdENsb25lQnlUYWcodmFsdWUsdGFnLGlzRGVlcCl9fXN0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTt2YXIgc3RhY2tlZD1zdGFjay5nZXQodmFsdWUpO2lmKHN0YWNrZWQpcmV0dXJuIHN0YWNrZWQ7c3RhY2suc2V0KHZhbHVlLHJlc3VsdCk7aWYoaXNTZXQodmFsdWUpKXt2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlKXtyZXN1bHQuYWRkKGJhc2VDbG9uZShzdWJWYWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsc3ViVmFsdWUsdmFsdWUsc3RhY2spKX0pO3JldHVybiByZXN1bHR9aWYoaXNNYXAodmFsdWUpKXt2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlLGtleSl7cmVzdWx0LnNldChrZXksYmFzZUNsb25lKHN1YlZhbHVlLGJpdG1hc2ssY3VzdG9taXplcixrZXksdmFsdWUsCnN0YWNrKSl9KTtyZXR1cm4gcmVzdWx0fXZhciBrZXlzRnVuYz1pc0Z1bGw/aXNGbGF0P2dldEFsbEtleXNJbjpnZXRBbGxLZXlzOmlzRmxhdD9rZXlzSW46a2V5czt2YXIgcHJvcHM9aXNBcnI/dW5kZWZpbmVkOmtleXNGdW5jKHZhbHVlKTthcnJheUVhY2gocHJvcHN8fHZhbHVlLGZ1bmN0aW9uKHN1YlZhbHVlLGtleSl7aWYocHJvcHMpe2tleT1zdWJWYWx1ZTtzdWJWYWx1ZT12YWx1ZVtrZXldfWFzc2lnblZhbHVlKHJlc3VsdCxrZXksYmFzZUNsb25lKHN1YlZhbHVlLGJpdG1hc2ssY3VzdG9taXplcixrZXksdmFsdWUsc3RhY2spKX0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZUNvbmZvcm1zKHNvdXJjZSl7dmFyIHByb3BzPWtleXMoc291cmNlKTtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXtyZXR1cm4gYmFzZUNvbmZvcm1zVG8ob2JqZWN0LHNvdXJjZSxwcm9wcyl9fWZ1bmN0aW9uIGJhc2VDb25mb3Jtc1RvKG9iamVjdCxzb3VyY2UscHJvcHMpe3ZhciBsZW5ndGg9cHJvcHMubGVuZ3RoOwppZihvYmplY3Q9PW51bGwpcmV0dXJuIWxlbmd0aDtvYmplY3Q9T2JqZWN0KG9iamVjdCk7d2hpbGUobGVuZ3RoLS0pe3ZhciBrZXk9cHJvcHNbbGVuZ3RoXSxwcmVkaWNhdGU9c291cmNlW2tleV0sdmFsdWU9b2JqZWN0W2tleV07aWYodmFsdWU9PT11bmRlZmluZWQmJiEoa2V5IGluIG9iamVjdCl8fCFwcmVkaWNhdGUodmFsdWUpKXJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBiYXNlRGVsYXkoZnVuYyx3YWl0LGFyZ3Mpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe2Z1bmMuYXBwbHkodW5kZWZpbmVkLGFyZ3MpfSx3YWl0KX1mdW5jdGlvbiBiYXNlRGlmZmVyZW5jZShhcnJheSx2YWx1ZXMsaXRlcmF0ZWUsY29tcGFyYXRvcil7dmFyIGluZGV4PS0xLGluY2x1ZGVzPWFycmF5SW5jbHVkZXMsaXNDb21tb249dHJ1ZSxsZW5ndGg9YXJyYXkubGVuZ3RoLApyZXN1bHQ9W10sdmFsdWVzTGVuZ3RoPXZhbHVlcy5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4gcmVzdWx0O2lmKGl0ZXJhdGVlKXZhbHVlcz1hcnJheU1hcCh2YWx1ZXMsYmFzZVVuYXJ5KGl0ZXJhdGVlKSk7aWYoY29tcGFyYXRvcil7aW5jbHVkZXM9YXJyYXlJbmNsdWRlc1dpdGg7aXNDb21tb249ZmFsc2V9ZWxzZSBpZih2YWx1ZXMubGVuZ3RoPj1MQVJHRV9BUlJBWV9TSVpFKXtpbmNsdWRlcz1jYWNoZUhhcztpc0NvbW1vbj1mYWxzZTt2YWx1ZXM9bmV3IFNldENhY2hlKHZhbHVlcyl9b3V0ZXI6d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciB2YWx1ZT1hcnJheVtpbmRleF0sY29tcHV0ZWQ9aXRlcmF0ZWU9PW51bGw/dmFsdWU6aXRlcmF0ZWUodmFsdWUpO3ZhbHVlPWNvbXBhcmF0b3J8fHZhbHVlIT09MD92YWx1ZTowO2lmKGlzQ29tbW9uJiZjb21wdXRlZD09PWNvbXB1dGVkKXt2YXIgdmFsdWVzSW5kZXg9dmFsdWVzTGVuZ3RoO3doaWxlKHZhbHVlc0luZGV4LS0paWYodmFsdWVzW3ZhbHVlc0luZGV4XT09PQpjb21wdXRlZCljb250aW51ZSBvdXRlcjtyZXN1bHQucHVzaCh2YWx1ZSl9ZWxzZSBpZighaW5jbHVkZXModmFsdWVzLGNvbXB1dGVkLGNvbXBhcmF0b3IpKXJlc3VsdC5wdXNoKHZhbHVlKX1yZXR1cm4gcmVzdWx0fXZhciBiYXNlRWFjaD1jcmVhdGVCYXNlRWFjaChiYXNlRm9yT3duKTt2YXIgYmFzZUVhY2hSaWdodD1jcmVhdGVCYXNlRWFjaChiYXNlRm9yT3duUmlnaHQsdHJ1ZSk7ZnVuY3Rpb24gYmFzZUV2ZXJ5KGNvbGxlY3Rpb24scHJlZGljYXRlKXt2YXIgcmVzdWx0PXRydWU7YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXtyZXN1bHQ9ISFwcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbik7cmV0dXJuIHJlc3VsdH0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LGl0ZXJhdGVlLGNvbXBhcmF0b3Ipe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9CmFycmF5W2luZGV4XSxjdXJyZW50PWl0ZXJhdGVlKHZhbHVlKTtpZihjdXJyZW50IT1udWxsJiYoY29tcHV0ZWQ9PT11bmRlZmluZWQ/Y3VycmVudD09PWN1cnJlbnQmJiFpc1N5bWJvbChjdXJyZW50KTpjb21wYXJhdG9yKGN1cnJlbnQsY29tcHV0ZWQpKSl2YXIgY29tcHV0ZWQ9Y3VycmVudCxyZXN1bHQ9dmFsdWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmlsbChhcnJheSx2YWx1ZSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXkubGVuZ3RoO3N0YXJ0PXRvSW50ZWdlcihzdGFydCk7aWYoc3RhcnQ8MClzdGFydD0tc3RhcnQ+bGVuZ3RoPzA6bGVuZ3RoK3N0YXJ0O2VuZD1lbmQ9PT11bmRlZmluZWR8fGVuZD5sZW5ndGg/bGVuZ3RoOnRvSW50ZWdlcihlbmQpO2lmKGVuZDwwKWVuZCs9bGVuZ3RoO2VuZD1zdGFydD5lbmQ/MDp0b0xlbmd0aChlbmQpO3doaWxlKHN0YXJ0PGVuZClhcnJheVtzdGFydCsrXT12YWx1ZTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLApwcmVkaWNhdGUpe3ZhciByZXN1bHQ9W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXtpZihwcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbikpcmVzdWx0LnB1c2godmFsdWUpfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmxhdHRlbihhcnJheSxkZXB0aCxwcmVkaWNhdGUsaXNTdHJpY3QscmVzdWx0KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDtwcmVkaWNhdGV8fChwcmVkaWNhdGU9aXNGbGF0dGVuYWJsZSk7cmVzdWx0fHwocmVzdWx0PVtdKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihkZXB0aD4wJiZwcmVkaWNhdGUodmFsdWUpKWlmKGRlcHRoPjEpYmFzZUZsYXR0ZW4odmFsdWUsZGVwdGgtMSxwcmVkaWNhdGUsaXNTdHJpY3QscmVzdWx0KTtlbHNlIGFycmF5UHVzaChyZXN1bHQsdmFsdWUpO2Vsc2UgaWYoIWlzU3RyaWN0KXJlc3VsdFtyZXN1bHQubGVuZ3RoXT0KdmFsdWV9cmV0dXJuIHJlc3VsdH12YXIgYmFzZUZvcj1jcmVhdGVCYXNlRm9yKCk7dmFyIGJhc2VGb3JSaWdodD1jcmVhdGVCYXNlRm9yKHRydWUpO2Z1bmN0aW9uIGJhc2VGb3JPd24ob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yKG9iamVjdCxpdGVyYXRlZSxrZXlzKX1mdW5jdGlvbiBiYXNlRm9yT3duUmlnaHQob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yUmlnaHQob2JqZWN0LGl0ZXJhdGVlLGtleXMpfWZ1bmN0aW9uIGJhc2VGdW5jdGlvbnMob2JqZWN0LHByb3BzKXtyZXR1cm4gYXJyYXlGaWx0ZXIocHJvcHMsZnVuY3Rpb24oa2V5KXtyZXR1cm4gaXNGdW5jdGlvbihvYmplY3Rba2V5XSl9KX1mdW5jdGlvbiBiYXNlR2V0KG9iamVjdCxwYXRoKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9MCxsZW5ndGg9cGF0aC5sZW5ndGg7d2hpbGUob2JqZWN0IT1udWxsJiZpbmRleDxsZW5ndGgpb2JqZWN0PW9iamVjdFt0b0tleShwYXRoW2luZGV4KytdKV07CnJldHVybiBpbmRleCYmaW5kZXg9PWxlbmd0aD9vYmplY3Q6dW5kZWZpbmVkfWZ1bmN0aW9uIGJhc2VHZXRBbGxLZXlzKG9iamVjdCxrZXlzRnVuYyxzeW1ib2xzRnVuYyl7dmFyIHJlc3VsdD1rZXlzRnVuYyhvYmplY3QpO3JldHVybiBpc0FycmF5KG9iamVjdCk/cmVzdWx0OmFycmF5UHVzaChyZXN1bHQsc3ltYm9sc0Z1bmMob2JqZWN0KSl9ZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSl7aWYodmFsdWU9PW51bGwpcmV0dXJuIHZhbHVlPT09dW5kZWZpbmVkP3VuZGVmaW5lZFRhZzpudWxsVGFnO3JldHVybiBzeW1Ub1N0cmluZ1RhZyYmc3ltVG9TdHJpbmdUYWcgaW4gT2JqZWN0KHZhbHVlKT9nZXRSYXdUYWcodmFsdWUpOm9iamVjdFRvU3RyaW5nKHZhbHVlKX1mdW5jdGlvbiBiYXNlR3QodmFsdWUsb3RoZXIpe3JldHVybiB2YWx1ZT5vdGhlcn1mdW5jdGlvbiBiYXNlSGFzKG9iamVjdCxrZXkpe3JldHVybiBvYmplY3QhPW51bGwmJmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LAprZXkpfWZ1bmN0aW9uIGJhc2VIYXNJbihvYmplY3Qsa2V5KXtyZXR1cm4gb2JqZWN0IT1udWxsJiZrZXkgaW4gT2JqZWN0KG9iamVjdCl9ZnVuY3Rpb24gYmFzZUluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl7cmV0dXJuIG51bWJlcj49bmF0aXZlTWluKHN0YXJ0LGVuZCkmJm51bWJlcjxuYXRpdmVNYXgoc3RhcnQsZW5kKX1mdW5jdGlvbiBiYXNlSW50ZXJzZWN0aW9uKGFycmF5cyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5jbHVkZXM9Y29tcGFyYXRvcj9hcnJheUluY2x1ZGVzV2l0aDphcnJheUluY2x1ZGVzLGxlbmd0aD1hcnJheXNbMF0ubGVuZ3RoLG90aExlbmd0aD1hcnJheXMubGVuZ3RoLG90aEluZGV4PW90aExlbmd0aCxjYWNoZXM9QXJyYXkob3RoTGVuZ3RoKSxtYXhMZW5ndGg9SW5maW5pdHkscmVzdWx0PVtdO3doaWxlKG90aEluZGV4LS0pe3ZhciBhcnJheT1hcnJheXNbb3RoSW5kZXhdO2lmKG90aEluZGV4JiZpdGVyYXRlZSlhcnJheT1hcnJheU1hcChhcnJheSwKYmFzZVVuYXJ5KGl0ZXJhdGVlKSk7bWF4TGVuZ3RoPW5hdGl2ZU1pbihhcnJheS5sZW5ndGgsbWF4TGVuZ3RoKTtjYWNoZXNbb3RoSW5kZXhdPSFjb21wYXJhdG9yJiYoaXRlcmF0ZWV8fGxlbmd0aD49MTIwJiZhcnJheS5sZW5ndGg+PTEyMCk/bmV3IFNldENhY2hlKG90aEluZGV4JiZhcnJheSk6dW5kZWZpbmVkfWFycmF5PWFycmF5c1swXTt2YXIgaW5kZXg9LTEsc2Vlbj1jYWNoZXNbMF07b3V0ZXI6d2hpbGUoKytpbmRleDxsZW5ndGgmJnJlc3VsdC5sZW5ndGg8bWF4TGVuZ3RoKXt2YXIgdmFsdWU9YXJyYXlbaW5kZXhdLGNvbXB1dGVkPWl0ZXJhdGVlP2l0ZXJhdGVlKHZhbHVlKTp2YWx1ZTt2YWx1ZT1jb21wYXJhdG9yfHx2YWx1ZSE9PTA/dmFsdWU6MDtpZighKHNlZW4/Y2FjaGVIYXMoc2Vlbixjb21wdXRlZCk6aW5jbHVkZXMocmVzdWx0LGNvbXB1dGVkLGNvbXBhcmF0b3IpKSl7b3RoSW5kZXg9b3RoTGVuZ3RoO3doaWxlKC0tb3RoSW5kZXgpe3ZhciBjYWNoZT1jYWNoZXNbb3RoSW5kZXhdOwppZighKGNhY2hlP2NhY2hlSGFzKGNhY2hlLGNvbXB1dGVkKTppbmNsdWRlcyhhcnJheXNbb3RoSW5kZXhdLGNvbXB1dGVkLGNvbXBhcmF0b3IpKSljb250aW51ZSBvdXRlcn1pZihzZWVuKXNlZW4ucHVzaChjb21wdXRlZCk7cmVzdWx0LnB1c2godmFsdWUpfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VJbnZlcnRlcihvYmplY3Qsc2V0dGVyLGl0ZXJhdGVlLGFjY3VtdWxhdG9yKXtiYXNlRm9yT3duKG9iamVjdCxmdW5jdGlvbih2YWx1ZSxrZXksb2JqZWN0KXtzZXR0ZXIoYWNjdW11bGF0b3IsaXRlcmF0ZWUodmFsdWUpLGtleSxvYmplY3QpfSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGJhc2VJbnZva2Uob2JqZWN0LHBhdGgsYXJncyl7cGF0aD1jYXN0UGF0aChwYXRoLG9iamVjdCk7b2JqZWN0PXBhcmVudChvYmplY3QscGF0aCk7dmFyIGZ1bmM9b2JqZWN0PT1udWxsP29iamVjdDpvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO3JldHVybiBmdW5jPT1udWxsP3VuZGVmaW5lZDoKYXBwbHkoZnVuYyxvYmplY3QsYXJncyl9ZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKXtyZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSYmYmFzZUdldFRhZyh2YWx1ZSk9PWFyZ3NUYWd9ZnVuY3Rpb24gYmFzZUlzQXJyYXlCdWZmZXIodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZiYXNlR2V0VGFnKHZhbHVlKT09YXJyYXlCdWZmZXJUYWd9ZnVuY3Rpb24gYmFzZUlzRGF0ZSh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1kYXRlVGFnfWZ1bmN0aW9uIGJhc2VJc0VxdWFsKHZhbHVlLG90aGVyLGJpdG1hc2ssY3VzdG9taXplcixzdGFjayl7aWYodmFsdWU9PT1vdGhlcilyZXR1cm4gdHJ1ZTtpZih2YWx1ZT09bnVsbHx8b3RoZXI9PW51bGx8fCFpc09iamVjdExpa2UodmFsdWUpJiYhaXNPYmplY3RMaWtlKG90aGVyKSlyZXR1cm4gdmFsdWUhPT12YWx1ZSYmb3RoZXIhPT1vdGhlcjtyZXR1cm4gYmFzZUlzRXF1YWxEZWVwKHZhbHVlLApvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsYmFzZUlzRXF1YWwsc3RhY2spfWZ1bmN0aW9uIGJhc2VJc0VxdWFsRGVlcChvYmplY3Qsb3RoZXIsYml0bWFzayxjdXN0b21pemVyLGVxdWFsRnVuYyxzdGFjayl7dmFyIG9iaklzQXJyPWlzQXJyYXkob2JqZWN0KSxvdGhJc0Fycj1pc0FycmF5KG90aGVyKSxvYmpUYWc9b2JqSXNBcnI/YXJyYXlUYWc6Z2V0VGFnKG9iamVjdCksb3RoVGFnPW90aElzQXJyP2FycmF5VGFnOmdldFRhZyhvdGhlcik7b2JqVGFnPW9ialRhZz09YXJnc1RhZz9vYmplY3RUYWc6b2JqVGFnO290aFRhZz1vdGhUYWc9PWFyZ3NUYWc/b2JqZWN0VGFnOm90aFRhZzt2YXIgb2JqSXNPYmo9b2JqVGFnPT1vYmplY3RUYWcsb3RoSXNPYmo9b3RoVGFnPT1vYmplY3RUYWcsaXNTYW1lVGFnPW9ialRhZz09b3RoVGFnO2lmKGlzU2FtZVRhZyYmaXNCdWZmZXIob2JqZWN0KSl7aWYoIWlzQnVmZmVyKG90aGVyKSlyZXR1cm4gZmFsc2U7b2JqSXNBcnI9dHJ1ZTtvYmpJc09iaj0KZmFsc2V9aWYoaXNTYW1lVGFnJiYhb2JqSXNPYmope3N0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTtyZXR1cm4gb2JqSXNBcnJ8fGlzVHlwZWRBcnJheShvYmplY3QpP2VxdWFsQXJyYXlzKG9iamVjdCxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKTplcXVhbEJ5VGFnKG9iamVjdCxvdGhlcixvYmpUYWcsYml0bWFzayxjdXN0b21pemVyLGVxdWFsRnVuYyxzdGFjayl9aWYoIShiaXRtYXNrJkNPTVBBUkVfUEFSVElBTF9GTEFHKSl7dmFyIG9iaklzV3JhcHBlZD1vYmpJc09iaiYmaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIl9fd3JhcHBlZF9fIiksb3RoSXNXcmFwcGVkPW90aElzT2JqJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCJfX3dyYXBwZWRfXyIpO2lmKG9iaklzV3JhcHBlZHx8b3RoSXNXcmFwcGVkKXt2YXIgb2JqVW53cmFwcGVkPW9iaklzV3JhcHBlZD9vYmplY3QudmFsdWUoKTpvYmplY3Qsb3RoVW53cmFwcGVkPW90aElzV3JhcHBlZD9vdGhlci52YWx1ZSgpOgpvdGhlcjtzdGFja3x8KHN0YWNrPW5ldyBTdGFjayk7cmV0dXJuIGVxdWFsRnVuYyhvYmpVbndyYXBwZWQsb3RoVW53cmFwcGVkLGJpdG1hc2ssY3VzdG9taXplcixzdGFjayl9fWlmKCFpc1NhbWVUYWcpcmV0dXJuIGZhbHNlO3N0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTtyZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKX1mdW5jdGlvbiBiYXNlSXNNYXAodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZnZXRUYWcodmFsdWUpPT1tYXBUYWd9ZnVuY3Rpb24gYmFzZUlzTWF0Y2gob2JqZWN0LHNvdXJjZSxtYXRjaERhdGEsY3VzdG9taXplcil7dmFyIGluZGV4PW1hdGNoRGF0YS5sZW5ndGgsbGVuZ3RoPWluZGV4LG5vQ3VzdG9taXplcj0hY3VzdG9taXplcjtpZihvYmplY3Q9PW51bGwpcmV0dXJuIWxlbmd0aDtvYmplY3Q9T2JqZWN0KG9iamVjdCk7d2hpbGUoaW5kZXgtLSl7dmFyIGRhdGE9bWF0Y2hEYXRhW2luZGV4XTsKaWYobm9DdXN0b21pemVyJiZkYXRhWzJdP2RhdGFbMV0hPT1vYmplY3RbZGF0YVswXV06IShkYXRhWzBdaW4gb2JqZWN0KSlyZXR1cm4gZmFsc2V9d2hpbGUoKytpbmRleDxsZW5ndGgpe2RhdGE9bWF0Y2hEYXRhW2luZGV4XTt2YXIga2V5PWRhdGFbMF0sb2JqVmFsdWU9b2JqZWN0W2tleV0sc3JjVmFsdWU9ZGF0YVsxXTtpZihub0N1c3RvbWl6ZXImJmRhdGFbMl0pe2lmKG9ialZhbHVlPT09dW5kZWZpbmVkJiYhKGtleSBpbiBvYmplY3QpKXJldHVybiBmYWxzZX1lbHNle3ZhciBzdGFjaz1uZXcgU3RhY2s7aWYoY3VzdG9taXplcil2YXIgcmVzdWx0PWN1c3RvbWl6ZXIob2JqVmFsdWUsc3JjVmFsdWUsa2V5LG9iamVjdCxzb3VyY2Usc3RhY2spO2lmKCEocmVzdWx0PT09dW5kZWZpbmVkP2Jhc2VJc0VxdWFsKHNyY1ZhbHVlLG9ialZhbHVlLENPTVBBUkVfUEFSVElBTF9GTEFHfENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcsY3VzdG9taXplcixzdGFjayk6cmVzdWx0KSlyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfQpmdW5jdGlvbiBiYXNlSXNOYXRpdmUodmFsdWUpe2lmKCFpc09iamVjdCh2YWx1ZSl8fGlzTWFza2VkKHZhbHVlKSlyZXR1cm4gZmFsc2U7dmFyIHBhdHRlcm49aXNGdW5jdGlvbih2YWx1ZSk/cmVJc05hdGl2ZTpyZUlzSG9zdEN0b3I7cmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpfWZ1bmN0aW9uIGJhc2VJc1JlZ0V4cCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1yZWdleHBUYWd9ZnVuY3Rpb24gYmFzZUlzU2V0KHZhbHVlKXtyZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSYmZ2V0VGFnKHZhbHVlKT09c2V0VGFnfWZ1bmN0aW9uIGJhc2VJc1R5cGVkQXJyYXkodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZpc0xlbmd0aCh2YWx1ZS5sZW5ndGgpJiYhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXX1mdW5jdGlvbiBiYXNlSXRlcmF0ZWUodmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09ImZ1bmN0aW9uIilyZXR1cm4gdmFsdWU7CmlmKHZhbHVlPT1udWxsKXJldHVybiBpZGVudGl0eTtpZih0eXBlb2YgdmFsdWU9PSJvYmplY3QiKXJldHVybiBpc0FycmF5KHZhbHVlKT9iYXNlTWF0Y2hlc1Byb3BlcnR5KHZhbHVlWzBdLHZhbHVlWzFdKTpiYXNlTWF0Y2hlcyh2YWx1ZSk7cmV0dXJuIHByb3BlcnR5KHZhbHVlKX1mdW5jdGlvbiBiYXNlS2V5cyhvYmplY3Qpe2lmKCFpc1Byb3RvdHlwZShvYmplY3QpKXJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7dmFyIHJlc3VsdD1bXTtmb3IodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSlpZihoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpJiZrZXkhPSJjb25zdHJ1Y3RvciIpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VLZXlzSW4ob2JqZWN0KXtpZighaXNPYmplY3Qob2JqZWN0KSlyZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7dmFyIGlzUHJvdG89aXNQcm90b3R5cGUob2JqZWN0KSxyZXN1bHQ9W107Zm9yKHZhciBrZXkgaW4gb2JqZWN0KWlmKCEoa2V5PT0KImNvbnN0cnVjdG9yIiYmKGlzUHJvdG98fCFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpKSkpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VMdCh2YWx1ZSxvdGhlcil7cmV0dXJuIHZhbHVlPG90aGVyfWZ1bmN0aW9uIGJhc2VNYXAoY29sbGVjdGlvbixpdGVyYXRlZSl7dmFyIGluZGV4PS0xLHJlc3VsdD1pc0FycmF5TGlrZShjb2xsZWN0aW9uKT9BcnJheShjb2xsZWN0aW9uLmxlbmd0aCk6W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxrZXksY29sbGVjdGlvbil7cmVzdWx0WysraW5kZXhdPWl0ZXJhdGVlKHZhbHVlLGtleSxjb2xsZWN0aW9uKX0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZU1hdGNoZXMoc291cmNlKXt2YXIgbWF0Y2hEYXRhPWdldE1hdGNoRGF0YShzb3VyY2UpO2lmKG1hdGNoRGF0YS5sZW5ndGg9PTEmJm1hdGNoRGF0YVswXVsyXSlyZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUobWF0Y2hEYXRhWzBdWzBdLAptYXRjaERhdGFbMF1bMV0pO3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBvYmplY3Q9PT1zb3VyY2V8fGJhc2VJc01hdGNoKG9iamVjdCxzb3VyY2UsbWF0Y2hEYXRhKX19ZnVuY3Rpb24gYmFzZU1hdGNoZXNQcm9wZXJ0eShwYXRoLHNyY1ZhbHVlKXtpZihpc0tleShwYXRoKSYmaXNTdHJpY3RDb21wYXJhYmxlKHNyY1ZhbHVlKSlyZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUodG9LZXkocGF0aCksc3JjVmFsdWUpO3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3ZhciBvYmpWYWx1ZT1nZXQob2JqZWN0LHBhdGgpO3JldHVybiBvYmpWYWx1ZT09PXVuZGVmaW5lZCYmb2JqVmFsdWU9PT1zcmNWYWx1ZT9oYXNJbihvYmplY3QscGF0aCk6YmFzZUlzRXF1YWwoc3JjVmFsdWUsb2JqVmFsdWUsQ09NUEFSRV9QQVJUSUFMX0ZMQUd8Q09NUEFSRV9VTk9SREVSRURfRkxBRyl9fWZ1bmN0aW9uIGJhc2VNZXJnZShvYmplY3Qsc291cmNlLHNyY0luZGV4LGN1c3RvbWl6ZXIsc3RhY2spe2lmKG9iamVjdD09PQpzb3VyY2UpcmV0dXJuO2Jhc2VGb3Ioc291cmNlLGZ1bmN0aW9uKHNyY1ZhbHVlLGtleSl7aWYoaXNPYmplY3Qoc3JjVmFsdWUpKXtzdGFja3x8KHN0YWNrPW5ldyBTdGFjayk7YmFzZU1lcmdlRGVlcChvYmplY3Qsc291cmNlLGtleSxzcmNJbmRleCxiYXNlTWVyZ2UsY3VzdG9taXplcixzdGFjayl9ZWxzZXt2YXIgbmV3VmFsdWU9Y3VzdG9taXplcj9jdXN0b21pemVyKHNhZmVHZXQob2JqZWN0LGtleSksc3JjVmFsdWUsa2V5KyIiLG9iamVjdCxzb3VyY2Usc3RhY2spOnVuZGVmaW5lZDtpZihuZXdWYWx1ZT09PXVuZGVmaW5lZCluZXdWYWx1ZT1zcmNWYWx1ZTthc3NpZ25NZXJnZVZhbHVlKG9iamVjdCxrZXksbmV3VmFsdWUpfX0sa2V5c0luKX1mdW5jdGlvbiBiYXNlTWVyZ2VEZWVwKG9iamVjdCxzb3VyY2Usa2V5LHNyY0luZGV4LG1lcmdlRnVuYyxjdXN0b21pemVyLHN0YWNrKXt2YXIgb2JqVmFsdWU9c2FmZUdldChvYmplY3Qsa2V5KSxzcmNWYWx1ZT1zYWZlR2V0KHNvdXJjZSwKa2V5KSxzdGFja2VkPXN0YWNrLmdldChzcmNWYWx1ZSk7aWYoc3RhY2tlZCl7YXNzaWduTWVyZ2VWYWx1ZShvYmplY3Qsa2V5LHN0YWNrZWQpO3JldHVybn12YXIgbmV3VmFsdWU9Y3VzdG9taXplcj9jdXN0b21pemVyKG9ialZhbHVlLHNyY1ZhbHVlLGtleSsiIixvYmplY3Qsc291cmNlLHN0YWNrKTp1bmRlZmluZWQ7dmFyIGlzQ29tbW9uPW5ld1ZhbHVlPT09dW5kZWZpbmVkO2lmKGlzQ29tbW9uKXt2YXIgaXNBcnI9aXNBcnJheShzcmNWYWx1ZSksaXNCdWZmPSFpc0FyciYmaXNCdWZmZXIoc3JjVmFsdWUpLGlzVHlwZWQ9IWlzQXJyJiYhaXNCdWZmJiZpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO25ld1ZhbHVlPXNyY1ZhbHVlO2lmKGlzQXJyfHxpc0J1ZmZ8fGlzVHlwZWQpaWYoaXNBcnJheShvYmpWYWx1ZSkpbmV3VmFsdWU9b2JqVmFsdWU7ZWxzZSBpZihpc0FycmF5TGlrZU9iamVjdChvYmpWYWx1ZSkpbmV3VmFsdWU9Y29weUFycmF5KG9ialZhbHVlKTtlbHNlIGlmKGlzQnVmZil7aXNDb21tb249CmZhbHNlO25ld1ZhbHVlPWNsb25lQnVmZmVyKHNyY1ZhbHVlLHRydWUpfWVsc2UgaWYoaXNUeXBlZCl7aXNDb21tb249ZmFsc2U7bmV3VmFsdWU9Y2xvbmVUeXBlZEFycmF5KHNyY1ZhbHVlLHRydWUpfWVsc2UgbmV3VmFsdWU9W107ZWxzZSBpZihpc1BsYWluT2JqZWN0KHNyY1ZhbHVlKXx8aXNBcmd1bWVudHMoc3JjVmFsdWUpKXtuZXdWYWx1ZT1vYmpWYWx1ZTtpZihpc0FyZ3VtZW50cyhvYmpWYWx1ZSkpbmV3VmFsdWU9dG9QbGFpbk9iamVjdChvYmpWYWx1ZSk7ZWxzZSBpZighaXNPYmplY3Qob2JqVmFsdWUpfHxzcmNJbmRleCYmaXNGdW5jdGlvbihvYmpWYWx1ZSkpbmV3VmFsdWU9aW5pdENsb25lT2JqZWN0KHNyY1ZhbHVlKX1lbHNlIGlzQ29tbW9uPWZhbHNlfWlmKGlzQ29tbW9uKXtzdGFjay5zZXQoc3JjVmFsdWUsbmV3VmFsdWUpO21lcmdlRnVuYyhuZXdWYWx1ZSxzcmNWYWx1ZSxzcmNJbmRleCxjdXN0b21pemVyLHN0YWNrKTtzdGFja1siZGVsZXRlIl0oc3JjVmFsdWUpfWFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LAprZXksbmV3VmFsdWUpfWZ1bmN0aW9uIGJhc2VOdGgoYXJyYXksbil7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm47bis9bjwwP2xlbmd0aDowO3JldHVybiBpc0luZGV4KG4sbGVuZ3RoKT9hcnJheVtuXTp1bmRlZmluZWR9ZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbixpdGVyYXRlZXMsb3JkZXJzKXt2YXIgaW5kZXg9LTE7aXRlcmF0ZWVzPWFycmF5TWFwKGl0ZXJhdGVlcy5sZW5ndGg/aXRlcmF0ZWVzOltpZGVudGl0eV0sYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTt2YXIgcmVzdWx0PWJhc2VNYXAoY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxrZXksY29sbGVjdGlvbil7dmFyIGNyaXRlcmlhPWFycmF5TWFwKGl0ZXJhdGVlcyxmdW5jdGlvbihpdGVyYXRlZSl7cmV0dXJuIGl0ZXJhdGVlKHZhbHVlKX0pO3JldHVybnsiY3JpdGVyaWEiOmNyaXRlcmlhLCJpbmRleCI6KytpbmRleCwidmFsdWUiOnZhbHVlfX0pO3JldHVybiBiYXNlU29ydEJ5KHJlc3VsdCwKZnVuY3Rpb24ob2JqZWN0LG90aGVyKXtyZXR1cm4gY29tcGFyZU11bHRpcGxlKG9iamVjdCxvdGhlcixvcmRlcnMpfSl9ZnVuY3Rpb24gYmFzZVBpY2sob2JqZWN0LHBhdGhzKXtyZXR1cm4gYmFzZVBpY2tCeShvYmplY3QscGF0aHMsZnVuY3Rpb24odmFsdWUscGF0aCl7cmV0dXJuIGhhc0luKG9iamVjdCxwYXRoKX0pfWZ1bmN0aW9uIGJhc2VQaWNrQnkob2JqZWN0LHBhdGhzLHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1wYXRocy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcGF0aD1wYXRoc1tpbmRleF0sdmFsdWU9YmFzZUdldChvYmplY3QscGF0aCk7aWYocHJlZGljYXRlKHZhbHVlLHBhdGgpKWJhc2VTZXQocmVzdWx0LGNhc3RQYXRoKHBhdGgsb2JqZWN0KSx2YWx1ZSl9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlR2V0KG9iamVjdCxwYXRoKX19CmZ1bmN0aW9uIGJhc2VQdWxsQWxsKGFycmF5LHZhbHVlcyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5kZXhPZj1jb21wYXJhdG9yP2Jhc2VJbmRleE9mV2l0aDpiYXNlSW5kZXhPZixpbmRleD0tMSxsZW5ndGg9dmFsdWVzLmxlbmd0aCxzZWVuPWFycmF5O2lmKGFycmF5PT09dmFsdWVzKXZhbHVlcz1jb3B5QXJyYXkodmFsdWVzKTtpZihpdGVyYXRlZSlzZWVuPWFycmF5TWFwKGFycmF5LGJhc2VVbmFyeShpdGVyYXRlZSkpO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgZnJvbUluZGV4PTAsdmFsdWU9dmFsdWVzW2luZGV4XSxjb21wdXRlZD1pdGVyYXRlZT9pdGVyYXRlZSh2YWx1ZSk6dmFsdWU7d2hpbGUoKGZyb21JbmRleD1pbmRleE9mKHNlZW4sY29tcHV0ZWQsZnJvbUluZGV4LGNvbXBhcmF0b3IpKT4tMSl7aWYoc2VlbiE9PWFycmF5KXNwbGljZS5jYWxsKHNlZW4sZnJvbUluZGV4LDEpO3NwbGljZS5jYWxsKGFycmF5LGZyb21JbmRleCwxKX19cmV0dXJuIGFycmF5fWZ1bmN0aW9uIGJhc2VQdWxsQXQoYXJyYXksCmluZGV4ZXMpe3ZhciBsZW5ndGg9YXJyYXk/aW5kZXhlcy5sZW5ndGg6MCxsYXN0SW5kZXg9bGVuZ3RoLTE7d2hpbGUobGVuZ3RoLS0pe3ZhciBpbmRleD1pbmRleGVzW2xlbmd0aF07aWYobGVuZ3RoPT1sYXN0SW5kZXh8fGluZGV4IT09cHJldmlvdXMpe3ZhciBwcmV2aW91cz1pbmRleDtpZihpc0luZGV4KGluZGV4KSlzcGxpY2UuY2FsbChhcnJheSxpbmRleCwxKTtlbHNlIGJhc2VVbnNldChhcnJheSxpbmRleCl9fXJldHVybiBhcnJheX1mdW5jdGlvbiBiYXNlUmFuZG9tKGxvd2VyLHVwcGVyKXtyZXR1cm4gbG93ZXIrbmF0aXZlRmxvb3IobmF0aXZlUmFuZG9tKCkqKHVwcGVyLWxvd2VyKzEpKX1mdW5jdGlvbiBiYXNlUmFuZ2Uoc3RhcnQsZW5kLHN0ZXAsZnJvbVJpZ2h0KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1heChuYXRpdmVDZWlsKChlbmQtc3RhcnQpLyhzdGVwfHwxKSksMCkscmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUobGVuZ3RoLS0pe3Jlc3VsdFtmcm9tUmlnaHQ/Cmxlbmd0aDorK2luZGV4XT1zdGFydDtzdGFydCs9c3RlcH1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VSZXBlYXQoc3RyaW5nLG4pe3ZhciByZXN1bHQ9IiI7aWYoIXN0cmluZ3x8bjwxfHxuPk1BWF9TQUZFX0lOVEVHRVIpcmV0dXJuIHJlc3VsdDtkb3tpZihuJTIpcmVzdWx0Kz1zdHJpbmc7bj1uYXRpdmVGbG9vcihuLzIpO2lmKG4pc3RyaW5nKz1zdHJpbmd9d2hpbGUobik7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlUmVzdChmdW5jLHN0YXJ0KXtyZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYyxzdGFydCxpZGVudGl0eSksZnVuYysiIil9ZnVuY3Rpb24gYmFzZVNhbXBsZShjb2xsZWN0aW9uKXtyZXR1cm4gYXJyYXlTYW1wbGUodmFsdWVzKGNvbGxlY3Rpb24pKX1mdW5jdGlvbiBiYXNlU2FtcGxlU2l6ZShjb2xsZWN0aW9uLG4pe3ZhciBhcnJheT12YWx1ZXMoY29sbGVjdGlvbik7cmV0dXJuIHNodWZmbGVTZWxmKGFycmF5LGJhc2VDbGFtcChuLDAsYXJyYXkubGVuZ3RoKSl9CmZ1bmN0aW9uIGJhc2VTZXQob2JqZWN0LHBhdGgsdmFsdWUsY3VzdG9taXplcil7aWYoIWlzT2JqZWN0KG9iamVjdCkpcmV0dXJuIG9iamVjdDtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9LTEsbGVuZ3RoPXBhdGgubGVuZ3RoLGxhc3RJbmRleD1sZW5ndGgtMSxuZXN0ZWQ9b2JqZWN0O3doaWxlKG5lc3RlZCE9bnVsbCYmKytpbmRleDxsZW5ndGgpe3ZhciBrZXk9dG9LZXkocGF0aFtpbmRleF0pLG5ld1ZhbHVlPXZhbHVlO2lmKGluZGV4IT1sYXN0SW5kZXgpe3ZhciBvYmpWYWx1ZT1uZXN0ZWRba2V5XTtuZXdWYWx1ZT1jdXN0b21pemVyP2N1c3RvbWl6ZXIob2JqVmFsdWUsa2V5LG5lc3RlZCk6dW5kZWZpbmVkO2lmKG5ld1ZhbHVlPT09dW5kZWZpbmVkKW5ld1ZhbHVlPWlzT2JqZWN0KG9ialZhbHVlKT9vYmpWYWx1ZTppc0luZGV4KHBhdGhbaW5kZXgrMV0pP1tdOnt9fWFzc2lnblZhbHVlKG5lc3RlZCxrZXksbmV3VmFsdWUpO25lc3RlZD1uZXN0ZWRba2V5XX1yZXR1cm4gb2JqZWN0fQp2YXIgYmFzZVNldERhdGE9IW1ldGFNYXA/aWRlbnRpdHk6ZnVuY3Rpb24oZnVuYyxkYXRhKXttZXRhTWFwLnNldChmdW5jLGRhdGEpO3JldHVybiBmdW5jfTt2YXIgYmFzZVNldFRvU3RyaW5nPSFkZWZpbmVQcm9wZXJ0eT9pZGVudGl0eTpmdW5jdGlvbihmdW5jLHN0cmluZyl7cmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsInRvU3RyaW5nIix7ImNvbmZpZ3VyYWJsZSI6dHJ1ZSwiZW51bWVyYWJsZSI6ZmFsc2UsInZhbHVlIjpjb25zdGFudChzdHJpbmcpLCJ3cml0YWJsZSI6dHJ1ZX0pfTtmdW5jdGlvbiBiYXNlU2h1ZmZsZShjb2xsZWN0aW9uKXtyZXR1cm4gc2h1ZmZsZVNlbGYodmFsdWVzKGNvbGxlY3Rpb24pKX1mdW5jdGlvbiBiYXNlU2xpY2UoYXJyYXksc3RhcnQsZW5kKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDtpZihzdGFydDwwKXN0YXJ0PS1zdGFydD5sZW5ndGg/MDpsZW5ndGgrc3RhcnQ7ZW5kPWVuZD5sZW5ndGg/bGVuZ3RoOmVuZDtpZihlbmQ8MCllbmQrPQpsZW5ndGg7bGVuZ3RoPXN0YXJ0PmVuZD8wOmVuZC1zdGFydD4+PjA7c3RhcnQ+Pj49MDt2YXIgcmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0W2luZGV4XT1hcnJheVtpbmRleCtzdGFydF07cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlU29tZShjb2xsZWN0aW9uLHByZWRpY2F0ZSl7dmFyIHJlc3VsdDtiYXNlRWFjaChjb2xsZWN0aW9uLGZ1bmN0aW9uKHZhbHVlLGluZGV4LGNvbGxlY3Rpb24pe3Jlc3VsdD1wcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbik7cmV0dXJuIXJlc3VsdH0pO3JldHVybiEhcmVzdWx0fWZ1bmN0aW9uIGJhc2VTb3J0ZWRJbmRleChhcnJheSx2YWx1ZSxyZXRIaWdoZXN0KXt2YXIgbG93PTAsaGlnaD1hcnJheT09bnVsbD9sb3c6YXJyYXkubGVuZ3RoO2lmKHR5cGVvZiB2YWx1ZT09Im51bWJlciImJnZhbHVlPT09dmFsdWUmJmhpZ2g8PUhBTEZfTUFYX0FSUkFZX0xFTkdUSCl7d2hpbGUobG93PGhpZ2gpe3ZhciBtaWQ9CmxvdytoaWdoPj4+MSxjb21wdXRlZD1hcnJheVttaWRdO2lmKGNvbXB1dGVkIT09bnVsbCYmIWlzU3ltYm9sKGNvbXB1dGVkKSYmKHJldEhpZ2hlc3Q/Y29tcHV0ZWQ8PXZhbHVlOmNvbXB1dGVkPHZhbHVlKSlsb3c9bWlkKzE7ZWxzZSBoaWdoPW1pZH1yZXR1cm4gaGlnaH1yZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksdmFsdWUsaWRlbnRpdHkscmV0SGlnaGVzdCl9ZnVuY3Rpb24gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksdmFsdWUsaXRlcmF0ZWUscmV0SGlnaGVzdCl7dmFsdWU9aXRlcmF0ZWUodmFsdWUpO3ZhciBsb3c9MCxoaWdoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoLHZhbElzTmFOPXZhbHVlIT09dmFsdWUsdmFsSXNOdWxsPXZhbHVlPT09bnVsbCx2YWxJc1N5bWJvbD1pc1N5bWJvbCh2YWx1ZSksdmFsSXNVbmRlZmluZWQ9dmFsdWU9PT11bmRlZmluZWQ7d2hpbGUobG93PGhpZ2gpe3ZhciBtaWQ9bmF0aXZlRmxvb3IoKGxvdytoaWdoKS8yKSxjb21wdXRlZD0KaXRlcmF0ZWUoYXJyYXlbbWlkXSksb3RoSXNEZWZpbmVkPWNvbXB1dGVkIT09dW5kZWZpbmVkLG90aElzTnVsbD1jb21wdXRlZD09PW51bGwsb3RoSXNSZWZsZXhpdmU9Y29tcHV0ZWQ9PT1jb21wdXRlZCxvdGhJc1N5bWJvbD1pc1N5bWJvbChjb21wdXRlZCk7aWYodmFsSXNOYU4pdmFyIHNldExvdz1yZXRIaWdoZXN0fHxvdGhJc1JlZmxleGl2ZTtlbHNlIGlmKHZhbElzVW5kZWZpbmVkKXNldExvdz1vdGhJc1JlZmxleGl2ZSYmKHJldEhpZ2hlc3R8fG90aElzRGVmaW5lZCk7ZWxzZSBpZih2YWxJc051bGwpc2V0TG93PW90aElzUmVmbGV4aXZlJiZvdGhJc0RlZmluZWQmJihyZXRIaWdoZXN0fHwhb3RoSXNOdWxsKTtlbHNlIGlmKHZhbElzU3ltYm9sKXNldExvdz1vdGhJc1JlZmxleGl2ZSYmb3RoSXNEZWZpbmVkJiYhb3RoSXNOdWxsJiYocmV0SGlnaGVzdHx8IW90aElzU3ltYm9sKTtlbHNlIGlmKG90aElzTnVsbHx8b3RoSXNTeW1ib2wpc2V0TG93PWZhbHNlO2Vsc2Ugc2V0TG93PQpyZXRIaWdoZXN0P2NvbXB1dGVkPD12YWx1ZTpjb21wdXRlZDx2YWx1ZTtpZihzZXRMb3cpbG93PW1pZCsxO2Vsc2UgaGlnaD1taWR9cmV0dXJuIG5hdGl2ZU1pbihoaWdoLE1BWF9BUlJBWV9JTkRFWCl9ZnVuY3Rpb24gYmFzZVNvcnRlZFVuaXEoYXJyYXksaXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXkubGVuZ3RoLHJlc0luZGV4PTAscmVzdWx0PVtdO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9YXJyYXlbaW5kZXhdLGNvbXB1dGVkPWl0ZXJhdGVlP2l0ZXJhdGVlKHZhbHVlKTp2YWx1ZTtpZighaW5kZXh8fCFlcShjb21wdXRlZCxzZWVuKSl7dmFyIHNlZW49Y29tcHV0ZWQ7cmVzdWx0W3Jlc0luZGV4KytdPXZhbHVlPT09MD8wOnZhbHVlfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSl7aWYodHlwZW9mIHZhbHVlPT0ibnVtYmVyIilyZXR1cm4gdmFsdWU7aWYoaXNTeW1ib2wodmFsdWUpKXJldHVybiBOQU47cmV0dXJuK3ZhbHVlfQpmdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09InN0cmluZyIpcmV0dXJuIHZhbHVlO2lmKGlzQXJyYXkodmFsdWUpKXJldHVybiBhcnJheU1hcCh2YWx1ZSxiYXNlVG9TdHJpbmcpKyIiO2lmKGlzU3ltYm9sKHZhbHVlKSlyZXR1cm4gc3ltYm9sVG9TdHJpbmc/c3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSk6IiI7dmFyIHJlc3VsdD12YWx1ZSsiIjtyZXR1cm4gcmVzdWx0PT0iMCImJjEvdmFsdWU9PS1JTkZJTklUWT8iLTAiOnJlc3VsdH1mdW5jdGlvbiBiYXNlVW5pcShhcnJheSxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5kZXg9LTEsaW5jbHVkZXM9YXJyYXlJbmNsdWRlcyxsZW5ndGg9YXJyYXkubGVuZ3RoLGlzQ29tbW9uPXRydWUscmVzdWx0PVtdLHNlZW49cmVzdWx0O2lmKGNvbXBhcmF0b3Ipe2lzQ29tbW9uPWZhbHNlO2luY2x1ZGVzPWFycmF5SW5jbHVkZXNXaXRofWVsc2UgaWYobGVuZ3RoPj1MQVJHRV9BUlJBWV9TSVpFKXt2YXIgc2V0PQppdGVyYXRlZT9udWxsOmNyZWF0ZVNldChhcnJheSk7aWYoc2V0KXJldHVybiBzZXRUb0FycmF5KHNldCk7aXNDb21tb249ZmFsc2U7aW5jbHVkZXM9Y2FjaGVIYXM7c2Vlbj1uZXcgU2V0Q2FjaGV9ZWxzZSBzZWVuPWl0ZXJhdGVlP1tdOnJlc3VsdDtvdXRlcjp3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XSxjb21wdXRlZD1pdGVyYXRlZT9pdGVyYXRlZSh2YWx1ZSk6dmFsdWU7dmFsdWU9Y29tcGFyYXRvcnx8dmFsdWUhPT0wP3ZhbHVlOjA7aWYoaXNDb21tb24mJmNvbXB1dGVkPT09Y29tcHV0ZWQpe3ZhciBzZWVuSW5kZXg9c2Vlbi5sZW5ndGg7d2hpbGUoc2VlbkluZGV4LS0paWYoc2VlbltzZWVuSW5kZXhdPT09Y29tcHV0ZWQpY29udGludWUgb3V0ZXI7aWYoaXRlcmF0ZWUpc2Vlbi5wdXNoKGNvbXB1dGVkKTtyZXN1bHQucHVzaCh2YWx1ZSl9ZWxzZSBpZighaW5jbHVkZXMoc2Vlbixjb21wdXRlZCxjb21wYXJhdG9yKSl7aWYoc2VlbiE9PXJlc3VsdClzZWVuLnB1c2goY29tcHV0ZWQpOwpyZXN1bHQucHVzaCh2YWx1ZSl9fXJldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZVVuc2V0KG9iamVjdCxwYXRoKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTtvYmplY3Q9cGFyZW50KG9iamVjdCxwYXRoKTtyZXR1cm4gb2JqZWN0PT1udWxsfHxkZWxldGUgb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXX1mdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCxwYXRoLHVwZGF0ZXIsY3VzdG9taXplcil7cmV0dXJuIGJhc2VTZXQob2JqZWN0LHBhdGgsdXBkYXRlcihiYXNlR2V0KG9iamVjdCxwYXRoKSksY3VzdG9taXplcil9ZnVuY3Rpb24gYmFzZVdoaWxlKGFycmF5LHByZWRpY2F0ZSxpc0Ryb3AsZnJvbVJpZ2h0KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxpbmRleD1mcm9tUmlnaHQ/bGVuZ3RoOi0xO3doaWxlKChmcm9tUmlnaHQ/aW5kZXgtLTorK2luZGV4PGxlbmd0aCkmJnByZWRpY2F0ZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpKTtyZXR1cm4gaXNEcm9wP2Jhc2VTbGljZShhcnJheSwKZnJvbVJpZ2h0PzA6aW5kZXgsZnJvbVJpZ2h0P2luZGV4KzE6bGVuZ3RoKTpiYXNlU2xpY2UoYXJyYXksZnJvbVJpZ2h0P2luZGV4KzE6MCxmcm9tUmlnaHQ/bGVuZ3RoOmluZGV4KX1mdW5jdGlvbiBiYXNlV3JhcHBlclZhbHVlKHZhbHVlLGFjdGlvbnMpe3ZhciByZXN1bHQ9dmFsdWU7aWYocmVzdWx0IGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpcmVzdWx0PXJlc3VsdC52YWx1ZSgpO3JldHVybiBhcnJheVJlZHVjZShhY3Rpb25zLGZ1bmN0aW9uKHJlc3VsdCxhY3Rpb24pe3JldHVybiBhY3Rpb24uZnVuYy5hcHBseShhY3Rpb24udGhpc0FyZyxhcnJheVB1c2goW3Jlc3VsdF0sYWN0aW9uLmFyZ3MpKX0scmVzdWx0KX1mdW5jdGlvbiBiYXNlWG9yKGFycmF5cyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgbGVuZ3RoPWFycmF5cy5sZW5ndGg7aWYobGVuZ3RoPDIpcmV0dXJuIGxlbmd0aD9iYXNlVW5pcShhcnJheXNbMF0pOltdO3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobGVuZ3RoKTsKd2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBhcnJheT1hcnJheXNbaW5kZXhdLG90aEluZGV4PS0xO3doaWxlKCsrb3RoSW5kZXg8bGVuZ3RoKWlmKG90aEluZGV4IT1pbmRleClyZXN1bHRbaW5kZXhdPWJhc2VEaWZmZXJlbmNlKHJlc3VsdFtpbmRleF18fGFycmF5LGFycmF5c1tvdGhJbmRleF0saXRlcmF0ZWUsY29tcGFyYXRvcil9cmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKHJlc3VsdCwxKSxpdGVyYXRlZSxjb21wYXJhdG9yKX1mdW5jdGlvbiBiYXNlWmlwT2JqZWN0KHByb3BzLHZhbHVlcyxhc3NpZ25GdW5jKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPXByb3BzLmxlbmd0aCx2YWxzTGVuZ3RoPXZhbHVlcy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9aW5kZXg8dmFsc0xlbmd0aD92YWx1ZXNbaW5kZXhdOnVuZGVmaW5lZDthc3NpZ25GdW5jKHJlc3VsdCxwcm9wc1tpbmRleF0sdmFsdWUpfXJldHVybiByZXN1bHR9ZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSl7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKT8KdmFsdWU6W119ZnVuY3Rpb24gY2FzdEZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gdHlwZW9mIHZhbHVlPT0iZnVuY3Rpb24iP3ZhbHVlOmlkZW50aXR5fWZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlLG9iamVjdCl7aWYoaXNBcnJheSh2YWx1ZSkpcmV0dXJuIHZhbHVlO3JldHVybiBpc0tleSh2YWx1ZSxvYmplY3QpP1t2YWx1ZV06c3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSl9dmFyIGNhc3RSZXN0PWJhc2VSZXN0O2Z1bmN0aW9uIGNhc3RTbGljZShhcnJheSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXkubGVuZ3RoO2VuZD1lbmQ9PT11bmRlZmluZWQ/bGVuZ3RoOmVuZDtyZXR1cm4hc3RhcnQmJmVuZD49bGVuZ3RoP2FycmF5OmJhc2VTbGljZShhcnJheSxzdGFydCxlbmQpfXZhciBjbGVhclRpbWVvdXQ9Y3R4Q2xlYXJUaW1lb3V0fHxmdW5jdGlvbihpZCl7cmV0dXJuIHJvb3QuY2xlYXJUaW1lb3V0KGlkKX07ZnVuY3Rpb24gY2xvbmVCdWZmZXIoYnVmZmVyLGlzRGVlcCl7aWYoaXNEZWVwKXJldHVybiBidWZmZXIuc2xpY2UoKTsKdmFyIGxlbmd0aD1idWZmZXIubGVuZ3RoLHJlc3VsdD1hbGxvY1Vuc2FmZT9hbGxvY1Vuc2FmZShsZW5ndGgpOm5ldyBidWZmZXIuY29uc3RydWN0b3IobGVuZ3RoKTtidWZmZXIuY29weShyZXN1bHQpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVBcnJheUJ1ZmZlcihhcnJheUJ1ZmZlcil7dmFyIHJlc3VsdD1uZXcgYXJyYXlCdWZmZXIuY29uc3RydWN0b3IoYXJyYXlCdWZmZXIuYnl0ZUxlbmd0aCk7KG5ldyBVaW50OEFycmF5KHJlc3VsdCkpLnNldChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVEYXRhVmlldyhkYXRhVmlldyxpc0RlZXApe3ZhciBidWZmZXI9aXNEZWVwP2Nsb25lQXJyYXlCdWZmZXIoZGF0YVZpZXcuYnVmZmVyKTpkYXRhVmlldy5idWZmZXI7cmV0dXJuIG5ldyBkYXRhVmlldy5jb25zdHJ1Y3RvcihidWZmZXIsZGF0YVZpZXcuYnl0ZU9mZnNldCxkYXRhVmlldy5ieXRlTGVuZ3RoKX1mdW5jdGlvbiBjbG9uZVJlZ0V4cChyZWdleHApe3ZhciByZXN1bHQ9Cm5ldyByZWdleHAuY29uc3RydWN0b3IocmVnZXhwLnNvdXJjZSxyZUZsYWdzLmV4ZWMocmVnZXhwKSk7cmVzdWx0Lmxhc3RJbmRleD1yZWdleHAubGFzdEluZGV4O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVTeW1ib2woc3ltYm9sKXtyZXR1cm4gc3ltYm9sVmFsdWVPZj9PYmplY3Qoc3ltYm9sVmFsdWVPZi5jYWxsKHN5bWJvbCkpOnt9fWZ1bmN0aW9uIGNsb25lVHlwZWRBcnJheSh0eXBlZEFycmF5LGlzRGVlcCl7dmFyIGJ1ZmZlcj1pc0RlZXA/Y2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcik6dHlwZWRBcnJheS5idWZmZXI7cmV0dXJuIG5ldyB0eXBlZEFycmF5LmNvbnN0cnVjdG9yKGJ1ZmZlcix0eXBlZEFycmF5LmJ5dGVPZmZzZXQsdHlwZWRBcnJheS5sZW5ndGgpfWZ1bmN0aW9uIGNvbXBhcmVBc2NlbmRpbmcodmFsdWUsb3RoZXIpe2lmKHZhbHVlIT09b3RoZXIpe3ZhciB2YWxJc0RlZmluZWQ9dmFsdWUhPT11bmRlZmluZWQsdmFsSXNOdWxsPXZhbHVlPT09Cm51bGwsdmFsSXNSZWZsZXhpdmU9dmFsdWU9PT12YWx1ZSx2YWxJc1N5bWJvbD1pc1N5bWJvbCh2YWx1ZSk7dmFyIG90aElzRGVmaW5lZD1vdGhlciE9PXVuZGVmaW5lZCxvdGhJc051bGw9b3RoZXI9PT1udWxsLG90aElzUmVmbGV4aXZlPW90aGVyPT09b3RoZXIsb3RoSXNTeW1ib2w9aXNTeW1ib2wob3RoZXIpO2lmKCFvdGhJc051bGwmJiFvdGhJc1N5bWJvbCYmIXZhbElzU3ltYm9sJiZ2YWx1ZT5vdGhlcnx8dmFsSXNTeW1ib2wmJm90aElzRGVmaW5lZCYmb3RoSXNSZWZsZXhpdmUmJiFvdGhJc051bGwmJiFvdGhJc1N5bWJvbHx8dmFsSXNOdWxsJiZvdGhJc0RlZmluZWQmJm90aElzUmVmbGV4aXZlfHwhdmFsSXNEZWZpbmVkJiZvdGhJc1JlZmxleGl2ZXx8IXZhbElzUmVmbGV4aXZlKXJldHVybiAxO2lmKCF2YWxJc051bGwmJiF2YWxJc1N5bWJvbCYmIW90aElzU3ltYm9sJiZ2YWx1ZTxvdGhlcnx8b3RoSXNTeW1ib2wmJnZhbElzRGVmaW5lZCYmdmFsSXNSZWZsZXhpdmUmJiF2YWxJc051bGwmJgohdmFsSXNTeW1ib2x8fG90aElzTnVsbCYmdmFsSXNEZWZpbmVkJiZ2YWxJc1JlZmxleGl2ZXx8IW90aElzRGVmaW5lZCYmdmFsSXNSZWZsZXhpdmV8fCFvdGhJc1JlZmxleGl2ZSlyZXR1cm4tMX1yZXR1cm4gMH1mdW5jdGlvbiBjb21wYXJlTXVsdGlwbGUob2JqZWN0LG90aGVyLG9yZGVycyl7dmFyIGluZGV4PS0xLG9iakNyaXRlcmlhPW9iamVjdC5jcml0ZXJpYSxvdGhDcml0ZXJpYT1vdGhlci5jcml0ZXJpYSxsZW5ndGg9b2JqQ3JpdGVyaWEubGVuZ3RoLG9yZGVyc0xlbmd0aD1vcmRlcnMubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcmVzdWx0PWNvbXBhcmVBc2NlbmRpbmcob2JqQ3JpdGVyaWFbaW5kZXhdLG90aENyaXRlcmlhW2luZGV4XSk7aWYocmVzdWx0KXtpZihpbmRleD49b3JkZXJzTGVuZ3RoKXJldHVybiByZXN1bHQ7dmFyIG9yZGVyPW9yZGVyc1tpbmRleF07cmV0dXJuIHJlc3VsdCoob3JkZXI9PSJkZXNjIj8tMToxKX19cmV0dXJuIG9iamVjdC5pbmRleC0Kb3RoZXIuaW5kZXh9ZnVuY3Rpb24gY29tcG9zZUFyZ3MoYXJncyxwYXJ0aWFscyxob2xkZXJzLGlzQ3VycmllZCl7dmFyIGFyZ3NJbmRleD0tMSxhcmdzTGVuZ3RoPWFyZ3MubGVuZ3RoLGhvbGRlcnNMZW5ndGg9aG9sZGVycy5sZW5ndGgsbGVmdEluZGV4PS0xLGxlZnRMZW5ndGg9cGFydGlhbHMubGVuZ3RoLHJhbmdlTGVuZ3RoPW5hdGl2ZU1heChhcmdzTGVuZ3RoLWhvbGRlcnNMZW5ndGgsMCkscmVzdWx0PUFycmF5KGxlZnRMZW5ndGgrcmFuZ2VMZW5ndGgpLGlzVW5jdXJyaWVkPSFpc0N1cnJpZWQ7d2hpbGUoKytsZWZ0SW5kZXg8bGVmdExlbmd0aClyZXN1bHRbbGVmdEluZGV4XT1wYXJ0aWFsc1tsZWZ0SW5kZXhdO3doaWxlKCsrYXJnc0luZGV4PGhvbGRlcnNMZW5ndGgpaWYoaXNVbmN1cnJpZWR8fGFyZ3NJbmRleDxhcmdzTGVuZ3RoKXJlc3VsdFtob2xkZXJzW2FyZ3NJbmRleF1dPWFyZ3NbYXJnc0luZGV4XTt3aGlsZShyYW5nZUxlbmd0aC0tKXJlc3VsdFtsZWZ0SW5kZXgrK109CmFyZ3NbYXJnc0luZGV4KytdO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLHBhcnRpYWxzLGhvbGRlcnMsaXNDdXJyaWVkKXt2YXIgYXJnc0luZGV4PS0xLGFyZ3NMZW5ndGg9YXJncy5sZW5ndGgsaG9sZGVyc0luZGV4PS0xLGhvbGRlcnNMZW5ndGg9aG9sZGVycy5sZW5ndGgscmlnaHRJbmRleD0tMSxyaWdodExlbmd0aD1wYXJ0aWFscy5sZW5ndGgscmFuZ2VMZW5ndGg9bmF0aXZlTWF4KGFyZ3NMZW5ndGgtaG9sZGVyc0xlbmd0aCwwKSxyZXN1bHQ9QXJyYXkocmFuZ2VMZW5ndGgrcmlnaHRMZW5ndGgpLGlzVW5jdXJyaWVkPSFpc0N1cnJpZWQ7d2hpbGUoKythcmdzSW5kZXg8cmFuZ2VMZW5ndGgpcmVzdWx0W2FyZ3NJbmRleF09YXJnc1thcmdzSW5kZXhdO3ZhciBvZmZzZXQ9YXJnc0luZGV4O3doaWxlKCsrcmlnaHRJbmRleDxyaWdodExlbmd0aClyZXN1bHRbb2Zmc2V0K3JpZ2h0SW5kZXhdPXBhcnRpYWxzW3JpZ2h0SW5kZXhdO3doaWxlKCsraG9sZGVyc0luZGV4PApob2xkZXJzTGVuZ3RoKWlmKGlzVW5jdXJyaWVkfHxhcmdzSW5kZXg8YXJnc0xlbmd0aClyZXN1bHRbb2Zmc2V0K2hvbGRlcnNbaG9sZGVyc0luZGV4XV09YXJnc1thcmdzSW5kZXgrK107cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb3B5QXJyYXkoc291cmNlLGFycmF5KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPXNvdXJjZS5sZW5ndGg7YXJyYXl8fChhcnJheT1BcnJheShsZW5ndGgpKTt3aGlsZSgrK2luZGV4PGxlbmd0aClhcnJheVtpbmRleF09c291cmNlW2luZGV4XTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UscHJvcHMsb2JqZWN0LGN1c3RvbWl6ZXIpe3ZhciBpc05ldz0hb2JqZWN0O29iamVjdHx8KG9iamVjdD17fSk7dmFyIGluZGV4PS0xLGxlbmd0aD1wcm9wcy5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBrZXk9cHJvcHNbaW5kZXhdO3ZhciBuZXdWYWx1ZT1jdXN0b21pemVyP2N1c3RvbWl6ZXIob2JqZWN0W2tleV0sc291cmNlW2tleV0sCmtleSxvYmplY3Qsc291cmNlKTp1bmRlZmluZWQ7aWYobmV3VmFsdWU9PT11bmRlZmluZWQpbmV3VmFsdWU9c291cmNlW2tleV07aWYoaXNOZXcpYmFzZUFzc2lnblZhbHVlKG9iamVjdCxrZXksbmV3VmFsdWUpO2Vsc2UgYXNzaWduVmFsdWUob2JqZWN0LGtleSxuZXdWYWx1ZSl9cmV0dXJuIG9iamVjdH1mdW5jdGlvbiBjb3B5U3ltYm9scyhzb3VyY2Usb2JqZWN0KXtyZXR1cm4gY29weU9iamVjdChzb3VyY2UsZ2V0U3ltYm9scyhzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gY29weVN5bWJvbHNJbihzb3VyY2Usb2JqZWN0KXtyZXR1cm4gY29weU9iamVjdChzb3VyY2UsZ2V0U3ltYm9sc0luKHNvdXJjZSksb2JqZWN0KX1mdW5jdGlvbiBjcmVhdGVBZ2dyZWdhdG9yKHNldHRlcixpbml0aWFsaXplcil7cmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlBZ2dyZWdhdG9yOmJhc2VBZ2dyZWdhdG9yLGFjY3VtdWxhdG9yPQppbml0aWFsaXplcj9pbml0aWFsaXplcigpOnt9O3JldHVybiBmdW5jKGNvbGxlY3Rpb24sc2V0dGVyLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpLGFjY3VtdWxhdG9yKX19ZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpe3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihvYmplY3Qsc291cmNlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD1zb3VyY2VzLmxlbmd0aCxjdXN0b21pemVyPWxlbmd0aD4xP3NvdXJjZXNbbGVuZ3RoLTFdOnVuZGVmaW5lZCxndWFyZD1sZW5ndGg+Mj9zb3VyY2VzWzJdOnVuZGVmaW5lZDtjdXN0b21pemVyPWFzc2lnbmVyLmxlbmd0aD4zJiZ0eXBlb2YgY3VzdG9taXplcj09ImZ1bmN0aW9uIj8obGVuZ3RoLS0sY3VzdG9taXplcik6dW5kZWZpbmVkO2lmKGd1YXJkJiZpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLHNvdXJjZXNbMV0sZ3VhcmQpKXtjdXN0b21pemVyPWxlbmd0aDwzP3VuZGVmaW5lZDpjdXN0b21pemVyO2xlbmd0aD0xfW9iamVjdD1PYmplY3Qob2JqZWN0KTsKd2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBzb3VyY2U9c291cmNlc1tpbmRleF07aWYoc291cmNlKWFzc2lnbmVyKG9iamVjdCxzb3VyY2UsaW5kZXgsY3VzdG9taXplcil9cmV0dXJuIG9iamVjdH0pfWZ1bmN0aW9uIGNyZWF0ZUJhc2VFYWNoKGVhY2hGdW5jLGZyb21SaWdodCl7cmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24saXRlcmF0ZWUpe2lmKGNvbGxlY3Rpb249PW51bGwpcmV0dXJuIGNvbGxlY3Rpb247aWYoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKXJldHVybiBlYWNoRnVuYyhjb2xsZWN0aW9uLGl0ZXJhdGVlKTt2YXIgbGVuZ3RoPWNvbGxlY3Rpb24ubGVuZ3RoLGluZGV4PWZyb21SaWdodD9sZW5ndGg6LTEsaXRlcmFibGU9T2JqZWN0KGNvbGxlY3Rpb24pO3doaWxlKGZyb21SaWdodD9pbmRleC0tOisraW5kZXg8bGVuZ3RoKWlmKGl0ZXJhdGVlKGl0ZXJhYmxlW2luZGV4XSxpbmRleCxpdGVyYWJsZSk9PT1mYWxzZSlicmVhaztyZXR1cm4gY29sbGVjdGlvbn19ZnVuY3Rpb24gY3JlYXRlQmFzZUZvcihmcm9tUmlnaHQpe3JldHVybiBmdW5jdGlvbihvYmplY3QsCml0ZXJhdGVlLGtleXNGdW5jKXt2YXIgaW5kZXg9LTEsaXRlcmFibGU9T2JqZWN0KG9iamVjdCkscHJvcHM9a2V5c0Z1bmMob2JqZWN0KSxsZW5ndGg9cHJvcHMubGVuZ3RoO3doaWxlKGxlbmd0aC0tKXt2YXIga2V5PXByb3BzW2Zyb21SaWdodD9sZW5ndGg6KytpbmRleF07aWYoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSxrZXksaXRlcmFibGUpPT09ZmFsc2UpYnJlYWt9cmV0dXJuIG9iamVjdH19ZnVuY3Rpb24gY3JlYXRlQmluZChmdW5jLGJpdG1hc2ssdGhpc0FyZyl7dmFyIGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGZuPXRoaXMmJnRoaXMhPT1yb290JiZ0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcj9DdG9yOmZ1bmM7cmV0dXJuIGZuLmFwcGx5KGlzQmluZD90aGlzQXJnOnRoaXMsYXJndW1lbnRzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVDYXNlRmlyc3QobWV0aG9kTmFtZSl7cmV0dXJuIGZ1bmN0aW9uKHN0cmluZyl7c3RyaW5nPQp0b1N0cmluZyhzdHJpbmcpO3ZhciBzdHJTeW1ib2xzPWhhc1VuaWNvZGUoc3RyaW5nKT9zdHJpbmdUb0FycmF5KHN0cmluZyk6dW5kZWZpbmVkO3ZhciBjaHI9c3RyU3ltYm9scz9zdHJTeW1ib2xzWzBdOnN0cmluZy5jaGFyQXQoMCk7dmFyIHRyYWlsaW5nPXN0clN5bWJvbHM/Y2FzdFNsaWNlKHN0clN5bWJvbHMsMSkuam9pbigiIik6c3RyaW5nLnNsaWNlKDEpO3JldHVybiBjaHJbbWV0aG9kTmFtZV0oKSt0cmFpbGluZ319ZnVuY3Rpb24gY3JlYXRlQ29tcG91bmRlcihjYWxsYmFjayl7cmV0dXJuIGZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIGFycmF5UmVkdWNlKHdvcmRzKGRlYnVycihzdHJpbmcpLnJlcGxhY2UocmVBcG9zLCIiKSksY2FsbGJhY2ssIiIpfX1mdW5jdGlvbiBjcmVhdGVDdG9yKEN0b3Ipe3JldHVybiBmdW5jdGlvbigpe3ZhciBhcmdzPWFyZ3VtZW50cztzd2l0Y2goYXJncy5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IEN0b3I7Y2FzZSAxOnJldHVybiBuZXcgQ3RvcihhcmdzWzBdKTsKY2FzZSAyOnJldHVybiBuZXcgQ3RvcihhcmdzWzBdLGFyZ3NbMV0pO2Nhc2UgMzpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0pO2Nhc2UgNDpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSk7Y2FzZSA1OnJldHVybiBuZXcgQ3RvcihhcmdzWzBdLGFyZ3NbMV0sYXJnc1syXSxhcmdzWzNdLGFyZ3NbNF0pO2Nhc2UgNjpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSxhcmdzWzRdLGFyZ3NbNV0pO2Nhc2UgNzpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSxhcmdzWzRdLGFyZ3NbNV0sYXJnc1s2XSl9dmFyIHRoaXNCaW5kaW5nPWJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLHJlc3VsdD1DdG9yLmFwcGx5KHRoaXNCaW5kaW5nLGFyZ3MpO3JldHVybiBpc09iamVjdChyZXN1bHQpP3Jlc3VsdDp0aGlzQmluZGluZ319ZnVuY3Rpb24gY3JlYXRlQ3VycnkoZnVuYywKYml0bWFzayxhcml0eSl7dmFyIEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGxlbmd0aD1hcmd1bWVudHMubGVuZ3RoLGFyZ3M9QXJyYXkobGVuZ3RoKSxpbmRleD1sZW5ndGgscGxhY2Vob2xkZXI9Z2V0SG9sZGVyKHdyYXBwZXIpO3doaWxlKGluZGV4LS0pYXJnc1tpbmRleF09YXJndW1lbnRzW2luZGV4XTt2YXIgaG9sZGVycz1sZW5ndGg8MyYmYXJnc1swXSE9PXBsYWNlaG9sZGVyJiZhcmdzW2xlbmd0aC0xXSE9PXBsYWNlaG9sZGVyP1tdOnJlcGxhY2VIb2xkZXJzKGFyZ3MscGxhY2Vob2xkZXIpO2xlbmd0aC09aG9sZGVycy5sZW5ndGg7aWYobGVuZ3RoPGFyaXR5KXJldHVybiBjcmVhdGVSZWN1cnJ5KGZ1bmMsYml0bWFzayxjcmVhdGVIeWJyaWQsd3JhcHBlci5wbGFjZWhvbGRlcix1bmRlZmluZWQsYXJncyxob2xkZXJzLHVuZGVmaW5lZCx1bmRlZmluZWQsYXJpdHktbGVuZ3RoKTt2YXIgZm49dGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZgp3cmFwcGVyP0N0b3I6ZnVuYztyZXR1cm4gYXBwbHkoZm4sdGhpcyxhcmdzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVGaW5kKGZpbmRJbmRleEZ1bmMpe3JldHVybiBmdW5jdGlvbihjb2xsZWN0aW9uLHByZWRpY2F0ZSxmcm9tSW5kZXgpe3ZhciBpdGVyYWJsZT1PYmplY3QoY29sbGVjdGlvbik7aWYoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKXt2YXIgaXRlcmF0ZWU9Z2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpO2NvbGxlY3Rpb249a2V5cyhjb2xsZWN0aW9uKTtwcmVkaWNhdGU9ZnVuY3Rpb24oa2V5KXtyZXR1cm4gaXRlcmF0ZWUoaXRlcmFibGVba2V5XSxrZXksaXRlcmFibGUpfX12YXIgaW5kZXg9ZmluZEluZGV4RnVuYyhjb2xsZWN0aW9uLHByZWRpY2F0ZSxmcm9tSW5kZXgpO3JldHVybiBpbmRleD4tMT9pdGVyYWJsZVtpdGVyYXRlZT9jb2xsZWN0aW9uW2luZGV4XTppbmRleF06dW5kZWZpbmVkfX1mdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCl7cmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmNzKXt2YXIgbGVuZ3RoPQpmdW5jcy5sZW5ndGgsaW5kZXg9bGVuZ3RoLHByZXJlcT1Mb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS50aHJ1O2lmKGZyb21SaWdodClmdW5jcy5yZXZlcnNlKCk7d2hpbGUoaW5kZXgtLSl7dmFyIGZ1bmM9ZnVuY3NbaW5kZXhdO2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtpZihwcmVyZXEmJiF3cmFwcGVyJiZnZXRGdW5jTmFtZShmdW5jKT09IndyYXBwZXIiKXZhciB3cmFwcGVyPW5ldyBMb2Rhc2hXcmFwcGVyKFtdLHRydWUpfWluZGV4PXdyYXBwZXI/aW5kZXg6bGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXtmdW5jPWZ1bmNzW2luZGV4XTt2YXIgZnVuY05hbWU9Z2V0RnVuY05hbWUoZnVuYyksZGF0YT1mdW5jTmFtZT09IndyYXBwZXIiP2dldERhdGEoZnVuYyk6dW5kZWZpbmVkO2lmKGRhdGEmJmlzTGF6aWFibGUoZGF0YVswXSkmJmRhdGFbMV09PShXUkFQX0FSWV9GTEFHfFdSQVBfQ1VSUllfRkxBR3xXUkFQX1BBUlRJQUxfRkxBR3wKV1JBUF9SRUFSR19GTEFHKSYmIWRhdGFbNF0ubGVuZ3RoJiZkYXRhWzldPT0xKXdyYXBwZXI9d3JhcHBlcltnZXRGdW5jTmFtZShkYXRhWzBdKV0uYXBwbHkod3JhcHBlcixkYXRhWzNdKTtlbHNlIHdyYXBwZXI9ZnVuYy5sZW5ndGg9PTEmJmlzTGF6aWFibGUoZnVuYyk/d3JhcHBlcltmdW5jTmFtZV0oKTp3cmFwcGVyLnRocnUoZnVuYyl9cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9YXJndW1lbnRzLHZhbHVlPWFyZ3NbMF07aWYod3JhcHBlciYmYXJncy5sZW5ndGg9PTEmJmlzQXJyYXkodmFsdWUpKXJldHVybiB3cmFwcGVyLnBsYW50KHZhbHVlKS52YWx1ZSgpO3ZhciBpbmRleD0wLHJlc3VsdD1sZW5ndGg/ZnVuY3NbaW5kZXhdLmFwcGx5KHRoaXMsYXJncyk6dmFsdWU7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0PWZ1bmNzW2luZGV4XS5jYWxsKHRoaXMscmVzdWx0KTtyZXR1cm4gcmVzdWx0fX0pfWZ1bmN0aW9uIGNyZWF0ZUh5YnJpZChmdW5jLGJpdG1hc2ssdGhpc0FyZywKcGFydGlhbHMsaG9sZGVycyxwYXJ0aWFsc1JpZ2h0LGhvbGRlcnNSaWdodCxhcmdQb3MsYXJ5LGFyaXR5KXt2YXIgaXNBcnk9Yml0bWFzayZXUkFQX0FSWV9GTEFHLGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLGlzQmluZEtleT1iaXRtYXNrJldSQVBfQklORF9LRVlfRkxBRyxpc0N1cnJpZWQ9Yml0bWFzayYoV1JBUF9DVVJSWV9GTEFHfFdSQVBfQ1VSUllfUklHSFRfRkxBRyksaXNGbGlwPWJpdG1hc2smV1JBUF9GTElQX0ZMQUcsQ3Rvcj1pc0JpbmRLZXk/dW5kZWZpbmVkOmNyZWF0ZUN0b3IoZnVuYyk7ZnVuY3Rpb24gd3JhcHBlcigpe3ZhciBsZW5ndGg9YXJndW1lbnRzLmxlbmd0aCxhcmdzPUFycmF5KGxlbmd0aCksaW5kZXg9bGVuZ3RoO3doaWxlKGluZGV4LS0pYXJnc1tpbmRleF09YXJndW1lbnRzW2luZGV4XTtpZihpc0N1cnJpZWQpdmFyIHBsYWNlaG9sZGVyPWdldEhvbGRlcih3cmFwcGVyKSxob2xkZXJzQ291bnQ9Y291bnRIb2xkZXJzKGFyZ3MscGxhY2Vob2xkZXIpOwppZihwYXJ0aWFscylhcmdzPWNvbXBvc2VBcmdzKGFyZ3MscGFydGlhbHMsaG9sZGVycyxpc0N1cnJpZWQpO2lmKHBhcnRpYWxzUmlnaHQpYXJncz1jb21wb3NlQXJnc1JpZ2h0KGFyZ3MscGFydGlhbHNSaWdodCxob2xkZXJzUmlnaHQsaXNDdXJyaWVkKTtsZW5ndGgtPWhvbGRlcnNDb3VudDtpZihpc0N1cnJpZWQmJmxlbmd0aDxhcml0eSl7dmFyIG5ld0hvbGRlcnM9cmVwbGFjZUhvbGRlcnMoYXJncyxwbGFjZWhvbGRlcik7cmV0dXJuIGNyZWF0ZVJlY3VycnkoZnVuYyxiaXRtYXNrLGNyZWF0ZUh5YnJpZCx3cmFwcGVyLnBsYWNlaG9sZGVyLHRoaXNBcmcsYXJncyxuZXdIb2xkZXJzLGFyZ1BvcyxhcnksYXJpdHktbGVuZ3RoKX12YXIgdGhpc0JpbmRpbmc9aXNCaW5kP3RoaXNBcmc6dGhpcyxmbj1pc0JpbmRLZXk/dGhpc0JpbmRpbmdbZnVuY106ZnVuYztsZW5ndGg9YXJncy5sZW5ndGg7aWYoYXJnUG9zKWFyZ3M9cmVvcmRlcihhcmdzLGFyZ1Bvcyk7ZWxzZSBpZihpc0ZsaXAmJmxlbmd0aD4KMSlhcmdzLnJldmVyc2UoKTtpZihpc0FyeSYmYXJ5PGxlbmd0aClhcmdzLmxlbmd0aD1hcnk7aWYodGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKWZuPUN0b3J8fGNyZWF0ZUN0b3IoZm4pO3JldHVybiBmbi5hcHBseSh0aGlzQmluZGluZyxhcmdzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVJbnZlcnRlcihzZXR0ZXIsdG9JdGVyYXRlZSl7cmV0dXJuIGZ1bmN0aW9uKG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIGJhc2VJbnZlcnRlcihvYmplY3Qsc2V0dGVyLHRvSXRlcmF0ZWUoaXRlcmF0ZWUpLHt9KX19ZnVuY3Rpb24gY3JlYXRlTWF0aE9wZXJhdGlvbihvcGVyYXRvcixkZWZhdWx0VmFsdWUpe3JldHVybiBmdW5jdGlvbih2YWx1ZSxvdGhlcil7dmFyIHJlc3VsdDtpZih2YWx1ZT09PXVuZGVmaW5lZCYmb3RoZXI9PT11bmRlZmluZWQpcmV0dXJuIGRlZmF1bHRWYWx1ZTtpZih2YWx1ZSE9PXVuZGVmaW5lZClyZXN1bHQ9dmFsdWU7aWYob3RoZXIhPT0KdW5kZWZpbmVkKXtpZihyZXN1bHQ9PT11bmRlZmluZWQpcmV0dXJuIG90aGVyO2lmKHR5cGVvZiB2YWx1ZT09InN0cmluZyJ8fHR5cGVvZiBvdGhlcj09InN0cmluZyIpe3ZhbHVlPWJhc2VUb1N0cmluZyh2YWx1ZSk7b3RoZXI9YmFzZVRvU3RyaW5nKG90aGVyKX1lbHNle3ZhbHVlPWJhc2VUb051bWJlcih2YWx1ZSk7b3RoZXI9YmFzZVRvTnVtYmVyKG90aGVyKX1yZXN1bHQ9b3BlcmF0b3IodmFsdWUsb3RoZXIpfXJldHVybiByZXN1bHR9fWZ1bmN0aW9uIGNyZWF0ZU92ZXIoYXJyYXlGdW5jKXtyZXR1cm4gZmxhdFJlc3QoZnVuY3Rpb24oaXRlcmF0ZWVzKXtpdGVyYXRlZXM9YXJyYXlNYXAoaXRlcmF0ZWVzLGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7cmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3Mpe3ZhciB0aGlzQXJnPXRoaXM7cmV0dXJuIGFycmF5RnVuYyhpdGVyYXRlZXMsZnVuY3Rpb24oaXRlcmF0ZWUpe3JldHVybiBhcHBseShpdGVyYXRlZSx0aGlzQXJnLGFyZ3MpfSl9KX0pfQpmdW5jdGlvbiBjcmVhdGVQYWRkaW5nKGxlbmd0aCxjaGFycyl7Y2hhcnM9Y2hhcnM9PT11bmRlZmluZWQ/IiAiOmJhc2VUb1N0cmluZyhjaGFycyk7dmFyIGNoYXJzTGVuZ3RoPWNoYXJzLmxlbmd0aDtpZihjaGFyc0xlbmd0aDwyKXJldHVybiBjaGFyc0xlbmd0aD9iYXNlUmVwZWF0KGNoYXJzLGxlbmd0aCk6Y2hhcnM7dmFyIHJlc3VsdD1iYXNlUmVwZWF0KGNoYXJzLG5hdGl2ZUNlaWwobGVuZ3RoL3N0cmluZ1NpemUoY2hhcnMpKSk7cmV0dXJuIGhhc1VuaWNvZGUoY2hhcnMpP2Nhc3RTbGljZShzdHJpbmdUb0FycmF5KHJlc3VsdCksMCxsZW5ndGgpLmpvaW4oIiIpOnJlc3VsdC5zbGljZSgwLGxlbmd0aCl9ZnVuY3Rpb24gY3JlYXRlUGFydGlhbChmdW5jLGJpdG1hc2ssdGhpc0FyZyxwYXJ0aWFscyl7dmFyIGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGFyZ3NJbmRleD0tMSxhcmdzTGVuZ3RoPQphcmd1bWVudHMubGVuZ3RoLGxlZnRJbmRleD0tMSxsZWZ0TGVuZ3RoPXBhcnRpYWxzLmxlbmd0aCxhcmdzPUFycmF5KGxlZnRMZW5ndGgrYXJnc0xlbmd0aCksZm49dGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyP0N0b3I6ZnVuYzt3aGlsZSgrK2xlZnRJbmRleDxsZWZ0TGVuZ3RoKWFyZ3NbbGVmdEluZGV4XT1wYXJ0aWFsc1tsZWZ0SW5kZXhdO3doaWxlKGFyZ3NMZW5ndGgtLSlhcmdzW2xlZnRJbmRleCsrXT1hcmd1bWVudHNbKythcmdzSW5kZXhdO3JldHVybiBhcHBseShmbixpc0JpbmQ/dGhpc0FyZzp0aGlzLGFyZ3MpfXJldHVybiB3cmFwcGVyfWZ1bmN0aW9uIGNyZWF0ZVJhbmdlKGZyb21SaWdodCl7cmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LGVuZCxzdGVwKXtpZihzdGVwJiZ0eXBlb2Ygc3RlcCE9Im51bWJlciImJmlzSXRlcmF0ZWVDYWxsKHN0YXJ0LGVuZCxzdGVwKSllbmQ9c3RlcD11bmRlZmluZWQ7c3RhcnQ9dG9GaW5pdGUoc3RhcnQpO2lmKGVuZD09PQp1bmRlZmluZWQpe2VuZD1zdGFydDtzdGFydD0wfWVsc2UgZW5kPXRvRmluaXRlKGVuZCk7c3RlcD1zdGVwPT09dW5kZWZpbmVkP3N0YXJ0PGVuZD8xOi0xOnRvRmluaXRlKHN0ZXApO3JldHVybiBiYXNlUmFuZ2Uoc3RhcnQsZW5kLHN0ZXAsZnJvbVJpZ2h0KX19ZnVuY3Rpb24gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihvcGVyYXRvcil7cmV0dXJuIGZ1bmN0aW9uKHZhbHVlLG90aGVyKXtpZighKHR5cGVvZiB2YWx1ZT09InN0cmluZyImJnR5cGVvZiBvdGhlcj09InN0cmluZyIpKXt2YWx1ZT10b051bWJlcih2YWx1ZSk7b3RoZXI9dG9OdW1iZXIob3RoZXIpfXJldHVybiBvcGVyYXRvcih2YWx1ZSxvdGhlcil9fWZ1bmN0aW9uIGNyZWF0ZVJlY3VycnkoZnVuYyxiaXRtYXNrLHdyYXBGdW5jLHBsYWNlaG9sZGVyLHRoaXNBcmcscGFydGlhbHMsaG9sZGVycyxhcmdQb3MsYXJ5LGFyaXR5KXt2YXIgaXNDdXJyeT1iaXRtYXNrJldSQVBfQ1VSUllfRkxBRyxuZXdIb2xkZXJzPWlzQ3Vycnk/CmhvbGRlcnM6dW5kZWZpbmVkLG5ld0hvbGRlcnNSaWdodD1pc0N1cnJ5P3VuZGVmaW5lZDpob2xkZXJzLG5ld1BhcnRpYWxzPWlzQ3Vycnk/cGFydGlhbHM6dW5kZWZpbmVkLG5ld1BhcnRpYWxzUmlnaHQ9aXNDdXJyeT91bmRlZmluZWQ6cGFydGlhbHM7Yml0bWFza3w9aXNDdXJyeT9XUkFQX1BBUlRJQUxfRkxBRzpXUkFQX1BBUlRJQUxfUklHSFRfRkxBRztiaXRtYXNrJj1+KGlzQ3Vycnk/V1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUc6V1JBUF9QQVJUSUFMX0ZMQUcpO2lmKCEoYml0bWFzayZXUkFQX0NVUlJZX0JPVU5EX0ZMQUcpKWJpdG1hc2smPX4oV1JBUF9CSU5EX0ZMQUd8V1JBUF9CSU5EX0tFWV9GTEFHKTt2YXIgbmV3RGF0YT1bZnVuYyxiaXRtYXNrLHRoaXNBcmcsbmV3UGFydGlhbHMsbmV3SG9sZGVycyxuZXdQYXJ0aWFsc1JpZ2h0LG5ld0hvbGRlcnNSaWdodCxhcmdQb3MsYXJ5LGFyaXR5XTt2YXIgcmVzdWx0PXdyYXBGdW5jLmFwcGx5KHVuZGVmaW5lZCxuZXdEYXRhKTtpZihpc0xhemlhYmxlKGZ1bmMpKXNldERhdGEocmVzdWx0LApuZXdEYXRhKTtyZXN1bHQucGxhY2Vob2xkZXI9cGxhY2Vob2xkZXI7cmV0dXJuIHNldFdyYXBUb1N0cmluZyhyZXN1bHQsZnVuYyxiaXRtYXNrKX1mdW5jdGlvbiBjcmVhdGVSb3VuZChtZXRob2ROYW1lKXt2YXIgZnVuYz1NYXRoW21ldGhvZE5hbWVdO3JldHVybiBmdW5jdGlvbihudW1iZXIscHJlY2lzaW9uKXtudW1iZXI9dG9OdW1iZXIobnVtYmVyKTtwcmVjaXNpb249cHJlY2lzaW9uPT1udWxsPzA6bmF0aXZlTWluKHRvSW50ZWdlcihwcmVjaXNpb24pLDI5Mik7aWYocHJlY2lzaW9uKXt2YXIgcGFpcj0odG9TdHJpbmcobnVtYmVyKSsiZSIpLnNwbGl0KCJlIiksdmFsdWU9ZnVuYyhwYWlyWzBdKyJlIisoK3BhaXJbMV0rcHJlY2lzaW9uKSk7cGFpcj0odG9TdHJpbmcodmFsdWUpKyJlIikuc3BsaXQoImUiKTtyZXR1cm4rKHBhaXJbMF0rImUiKygrcGFpclsxXS1wcmVjaXNpb24pKX1yZXR1cm4gZnVuYyhudW1iZXIpfX12YXIgY3JlYXRlU2V0PSEoU2V0JiYxL3NldFRvQXJyYXkobmV3IFNldChbLAotMF0pKVsxXT09SU5GSU5JVFkpP25vb3A6ZnVuY3Rpb24odmFsdWVzKXtyZXR1cm4gbmV3IFNldCh2YWx1ZXMpfTtmdW5jdGlvbiBjcmVhdGVUb1BhaXJzKGtleXNGdW5jKXtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXt2YXIgdGFnPWdldFRhZyhvYmplY3QpO2lmKHRhZz09bWFwVGFnKXJldHVybiBtYXBUb0FycmF5KG9iamVjdCk7aWYodGFnPT1zZXRUYWcpcmV0dXJuIHNldFRvUGFpcnMob2JqZWN0KTtyZXR1cm4gYmFzZVRvUGFpcnMob2JqZWN0LGtleXNGdW5jKG9iamVjdCkpfX1mdW5jdGlvbiBjcmVhdGVXcmFwKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzLGhvbGRlcnMsYXJnUG9zLGFyeSxhcml0eSl7dmFyIGlzQmluZEtleT1iaXRtYXNrJldSQVBfQklORF9LRVlfRkxBRztpZighaXNCaW5kS2V5JiZ0eXBlb2YgZnVuYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7dmFyIGxlbmd0aD1wYXJ0aWFscz9wYXJ0aWFscy5sZW5ndGg6CjA7aWYoIWxlbmd0aCl7Yml0bWFzayY9fihXUkFQX1BBUlRJQUxfRkxBR3xXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyk7cGFydGlhbHM9aG9sZGVycz11bmRlZmluZWR9YXJ5PWFyeT09PXVuZGVmaW5lZD9hcnk6bmF0aXZlTWF4KHRvSW50ZWdlcihhcnkpLDApO2FyaXR5PWFyaXR5PT09dW5kZWZpbmVkP2FyaXR5OnRvSW50ZWdlcihhcml0eSk7bGVuZ3RoLT1ob2xkZXJzP2hvbGRlcnMubGVuZ3RoOjA7aWYoYml0bWFzayZXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyl7dmFyIHBhcnRpYWxzUmlnaHQ9cGFydGlhbHMsaG9sZGVyc1JpZ2h0PWhvbGRlcnM7cGFydGlhbHM9aG9sZGVycz11bmRlZmluZWR9dmFyIGRhdGE9aXNCaW5kS2V5P3VuZGVmaW5lZDpnZXREYXRhKGZ1bmMpO3ZhciBuZXdEYXRhPVtmdW5jLGJpdG1hc2ssdGhpc0FyZyxwYXJ0aWFscyxob2xkZXJzLHBhcnRpYWxzUmlnaHQsaG9sZGVyc1JpZ2h0LGFyZ1BvcyxhcnksYXJpdHldO2lmKGRhdGEpbWVyZ2VEYXRhKG5ld0RhdGEsCmRhdGEpO2Z1bmM9bmV3RGF0YVswXTtiaXRtYXNrPW5ld0RhdGFbMV07dGhpc0FyZz1uZXdEYXRhWzJdO3BhcnRpYWxzPW5ld0RhdGFbM107aG9sZGVycz1uZXdEYXRhWzRdO2FyaXR5PW5ld0RhdGFbOV09bmV3RGF0YVs5XT09PXVuZGVmaW5lZD9pc0JpbmRLZXk/MDpmdW5jLmxlbmd0aDpuYXRpdmVNYXgobmV3RGF0YVs5XS1sZW5ndGgsMCk7aWYoIWFyaXR5JiZiaXRtYXNrJihXUkFQX0NVUlJZX0ZMQUd8V1JBUF9DVVJSWV9SSUdIVF9GTEFHKSliaXRtYXNrJj1+KFdSQVBfQ1VSUllfRkxBR3xXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpO2lmKCFiaXRtYXNrfHxiaXRtYXNrPT1XUkFQX0JJTkRfRkxBRyl2YXIgcmVzdWx0PWNyZWF0ZUJpbmQoZnVuYyxiaXRtYXNrLHRoaXNBcmcpO2Vsc2UgaWYoYml0bWFzaz09V1JBUF9DVVJSWV9GTEFHfHxiaXRtYXNrPT1XUkFQX0NVUlJZX1JJR0hUX0ZMQUcpcmVzdWx0PWNyZWF0ZUN1cnJ5KGZ1bmMsYml0bWFzayxhcml0eSk7ZWxzZSBpZigoYml0bWFzaz09CldSQVBfUEFSVElBTF9GTEFHfHxiaXRtYXNrPT0oV1JBUF9CSU5EX0ZMQUd8V1JBUF9QQVJUSUFMX0ZMQUcpKSYmIWhvbGRlcnMubGVuZ3RoKXJlc3VsdD1jcmVhdGVQYXJ0aWFsKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzKTtlbHNlIHJlc3VsdD1jcmVhdGVIeWJyaWQuYXBwbHkodW5kZWZpbmVkLG5ld0RhdGEpO3ZhciBzZXR0ZXI9ZGF0YT9iYXNlU2V0RGF0YTpzZXREYXRhO3JldHVybiBzZXRXcmFwVG9TdHJpbmcoc2V0dGVyKHJlc3VsdCxuZXdEYXRhKSxmdW5jLGJpdG1hc2spfWZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzQXNzaWduSW4ob2JqVmFsdWUsc3JjVmFsdWUsa2V5LG9iamVjdCl7aWYob2JqVmFsdWU9PT11bmRlZmluZWR8fGVxKG9ialZhbHVlLG9iamVjdFByb3RvW2tleV0pJiYhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3Qsa2V5KSlyZXR1cm4gc3JjVmFsdWU7cmV0dXJuIG9ialZhbHVlfWZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzTWVyZ2Uob2JqVmFsdWUsc3JjVmFsdWUsCmtleSxvYmplY3Qsc291cmNlLHN0YWNrKXtpZihpc09iamVjdChvYmpWYWx1ZSkmJmlzT2JqZWN0KHNyY1ZhbHVlKSl7c3RhY2suc2V0KHNyY1ZhbHVlLG9ialZhbHVlKTtiYXNlTWVyZ2Uob2JqVmFsdWUsc3JjVmFsdWUsdW5kZWZpbmVkLGN1c3RvbURlZmF1bHRzTWVyZ2Usc3RhY2spO3N0YWNrWyJkZWxldGUiXShzcmNWYWx1ZSl9cmV0dXJuIG9ialZhbHVlfWZ1bmN0aW9uIGN1c3RvbU9taXRDbG9uZSh2YWx1ZSl7cmV0dXJuIGlzUGxhaW5PYmplY3QodmFsdWUpP3VuZGVmaW5lZDp2YWx1ZX1mdW5jdGlvbiBlcXVhbEFycmF5cyhhcnJheSxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKXt2YXIgaXNQYXJ0aWFsPWJpdG1hc2smQ09NUEFSRV9QQVJUSUFMX0ZMQUcsYXJyTGVuZ3RoPWFycmF5Lmxlbmd0aCxvdGhMZW5ndGg9b3RoZXIubGVuZ3RoO2lmKGFyckxlbmd0aCE9b3RoTGVuZ3RoJiYhKGlzUGFydGlhbCYmb3RoTGVuZ3RoPmFyckxlbmd0aCkpcmV0dXJuIGZhbHNlOwp2YXIgc3RhY2tlZD1zdGFjay5nZXQoYXJyYXkpO2lmKHN0YWNrZWQmJnN0YWNrLmdldChvdGhlcikpcmV0dXJuIHN0YWNrZWQ9PW90aGVyO3ZhciBpbmRleD0tMSxyZXN1bHQ9dHJ1ZSxzZWVuPWJpdG1hc2smQ09NUEFSRV9VTk9SREVSRURfRkxBRz9uZXcgU2V0Q2FjaGU6dW5kZWZpbmVkO3N0YWNrLnNldChhcnJheSxvdGhlcik7c3RhY2suc2V0KG90aGVyLGFycmF5KTt3aGlsZSgrK2luZGV4PGFyckxlbmd0aCl7dmFyIGFyclZhbHVlPWFycmF5W2luZGV4XSxvdGhWYWx1ZT1vdGhlcltpbmRleF07aWYoY3VzdG9taXplcil2YXIgY29tcGFyZWQ9aXNQYXJ0aWFsP2N1c3RvbWl6ZXIob3RoVmFsdWUsYXJyVmFsdWUsaW5kZXgsb3RoZXIsYXJyYXksc3RhY2spOmN1c3RvbWl6ZXIoYXJyVmFsdWUsb3RoVmFsdWUsaW5kZXgsYXJyYXksb3RoZXIsc3RhY2spO2lmKGNvbXBhcmVkIT09dW5kZWZpbmVkKXtpZihjb21wYXJlZCljb250aW51ZTtyZXN1bHQ9ZmFsc2U7YnJlYWt9aWYoc2Vlbil7aWYoIWFycmF5U29tZShvdGhlciwKZnVuY3Rpb24ob3RoVmFsdWUsb3RoSW5kZXgpe2lmKCFjYWNoZUhhcyhzZWVuLG90aEluZGV4KSYmKGFyclZhbHVlPT09b3RoVmFsdWV8fGVxdWFsRnVuYyhhcnJWYWx1ZSxvdGhWYWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsc3RhY2spKSlyZXR1cm4gc2Vlbi5wdXNoKG90aEluZGV4KX0pKXtyZXN1bHQ9ZmFsc2U7YnJlYWt9fWVsc2UgaWYoIShhcnJWYWx1ZT09PW90aFZhbHVlfHxlcXVhbEZ1bmMoYXJyVmFsdWUsb3RoVmFsdWUsYml0bWFzayxjdXN0b21pemVyLHN0YWNrKSkpe3Jlc3VsdD1mYWxzZTticmVha319c3RhY2tbImRlbGV0ZSJdKGFycmF5KTtzdGFja1siZGVsZXRlIl0ob3RoZXIpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gZXF1YWxCeVRhZyhvYmplY3Qsb3RoZXIsdGFnLGJpdG1hc2ssY3VzdG9taXplcixlcXVhbEZ1bmMsc3RhY2spe3N3aXRjaCh0YWcpe2Nhc2UgZGF0YVZpZXdUYWc6aWYob2JqZWN0LmJ5dGVMZW5ndGghPW90aGVyLmJ5dGVMZW5ndGh8fG9iamVjdC5ieXRlT2Zmc2V0IT0Kb3RoZXIuYnl0ZU9mZnNldClyZXR1cm4gZmFsc2U7b2JqZWN0PW9iamVjdC5idWZmZXI7b3RoZXI9b3RoZXIuYnVmZmVyO2Nhc2UgYXJyYXlCdWZmZXJUYWc6aWYob2JqZWN0LmJ5dGVMZW5ndGghPW90aGVyLmJ5dGVMZW5ndGh8fCFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkob2JqZWN0KSxuZXcgVWludDhBcnJheShvdGhlcikpKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTtjYXNlIGJvb2xUYWc6Y2FzZSBkYXRlVGFnOmNhc2UgbnVtYmVyVGFnOnJldHVybiBlcSgrb2JqZWN0LCtvdGhlcik7Y2FzZSBlcnJvclRhZzpyZXR1cm4gb2JqZWN0Lm5hbWU9PW90aGVyLm5hbWUmJm9iamVjdC5tZXNzYWdlPT1vdGhlci5tZXNzYWdlO2Nhc2UgcmVnZXhwVGFnOmNhc2Ugc3RyaW5nVGFnOnJldHVybiBvYmplY3Q9PW90aGVyKyIiO2Nhc2UgbWFwVGFnOnZhciBjb252ZXJ0PW1hcFRvQXJyYXk7Y2FzZSBzZXRUYWc6dmFyIGlzUGFydGlhbD1iaXRtYXNrJkNPTVBBUkVfUEFSVElBTF9GTEFHO2NvbnZlcnR8fAooY29udmVydD1zZXRUb0FycmF5KTtpZihvYmplY3Quc2l6ZSE9b3RoZXIuc2l6ZSYmIWlzUGFydGlhbClyZXR1cm4gZmFsc2U7dmFyIHN0YWNrZWQ9c3RhY2suZ2V0KG9iamVjdCk7aWYoc3RhY2tlZClyZXR1cm4gc3RhY2tlZD09b3RoZXI7Yml0bWFza3w9Q09NUEFSRV9VTk9SREVSRURfRkxBRztzdGFjay5zZXQob2JqZWN0LG90aGVyKTt2YXIgcmVzdWx0PWVxdWFsQXJyYXlzKGNvbnZlcnQob2JqZWN0KSxjb252ZXJ0KG90aGVyKSxiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKTtzdGFja1siZGVsZXRlIl0ob2JqZWN0KTtyZXR1cm4gcmVzdWx0O2Nhc2Ugc3ltYm9sVGFnOmlmKHN5bWJvbFZhbHVlT2YpcmV0dXJuIHN5bWJvbFZhbHVlT2YuY2FsbChvYmplY3QpPT1zeW1ib2xWYWx1ZU9mLmNhbGwob3RoZXIpfXJldHVybiBmYWxzZX1mdW5jdGlvbiBlcXVhbE9iamVjdHMob2JqZWN0LG90aGVyLGJpdG1hc2ssY3VzdG9taXplcixlcXVhbEZ1bmMsc3RhY2spe3ZhciBpc1BhcnRpYWw9CmJpdG1hc2smQ09NUEFSRV9QQVJUSUFMX0ZMQUcsb2JqUHJvcHM9Z2V0QWxsS2V5cyhvYmplY3QpLG9iakxlbmd0aD1vYmpQcm9wcy5sZW5ndGgsb3RoUHJvcHM9Z2V0QWxsS2V5cyhvdGhlciksb3RoTGVuZ3RoPW90aFByb3BzLmxlbmd0aDtpZihvYmpMZW5ndGghPW90aExlbmd0aCYmIWlzUGFydGlhbClyZXR1cm4gZmFsc2U7dmFyIGluZGV4PW9iakxlbmd0aDt3aGlsZShpbmRleC0tKXt2YXIga2V5PW9ialByb3BzW2luZGV4XTtpZighKGlzUGFydGlhbD9rZXkgaW4gb3RoZXI6aGFzT3duUHJvcGVydHkuY2FsbChvdGhlcixrZXkpKSlyZXR1cm4gZmFsc2V9dmFyIHN0YWNrZWQ9c3RhY2suZ2V0KG9iamVjdCk7aWYoc3RhY2tlZCYmc3RhY2suZ2V0KG90aGVyKSlyZXR1cm4gc3RhY2tlZD09b3RoZXI7dmFyIHJlc3VsdD10cnVlO3N0YWNrLnNldChvYmplY3Qsb3RoZXIpO3N0YWNrLnNldChvdGhlcixvYmplY3QpO3ZhciBza2lwQ3Rvcj1pc1BhcnRpYWw7d2hpbGUoKytpbmRleDxvYmpMZW5ndGgpe2tleT0Kb2JqUHJvcHNbaW5kZXhdO3ZhciBvYmpWYWx1ZT1vYmplY3Rba2V5XSxvdGhWYWx1ZT1vdGhlcltrZXldO2lmKGN1c3RvbWl6ZXIpdmFyIGNvbXBhcmVkPWlzUGFydGlhbD9jdXN0b21pemVyKG90aFZhbHVlLG9ialZhbHVlLGtleSxvdGhlcixvYmplY3Qsc3RhY2spOmN1c3RvbWl6ZXIob2JqVmFsdWUsb3RoVmFsdWUsa2V5LG9iamVjdCxvdGhlcixzdGFjayk7aWYoIShjb21wYXJlZD09PXVuZGVmaW5lZD9vYmpWYWx1ZT09PW90aFZhbHVlfHxlcXVhbEZ1bmMob2JqVmFsdWUsb3RoVmFsdWUsYml0bWFzayxjdXN0b21pemVyLHN0YWNrKTpjb21wYXJlZCkpe3Jlc3VsdD1mYWxzZTticmVha31za2lwQ3Rvcnx8KHNraXBDdG9yPWtleT09ImNvbnN0cnVjdG9yIil9aWYocmVzdWx0JiYhc2tpcEN0b3Ipe3ZhciBvYmpDdG9yPW9iamVjdC5jb25zdHJ1Y3RvcixvdGhDdG9yPW90aGVyLmNvbnN0cnVjdG9yO2lmKG9iakN0b3IhPW90aEN0b3ImJigiY29uc3RydWN0b3IiaW4gb2JqZWN0JiYiY29uc3RydWN0b3IiaW4Kb3RoZXIpJiYhKHR5cGVvZiBvYmpDdG9yPT0iZnVuY3Rpb24iJiZvYmpDdG9yIGluc3RhbmNlb2Ygb2JqQ3RvciYmdHlwZW9mIG90aEN0b3I9PSJmdW5jdGlvbiImJm90aEN0b3IgaW5zdGFuY2VvZiBvdGhDdG9yKSlyZXN1bHQ9ZmFsc2V9c3RhY2tbImRlbGV0ZSJdKG9iamVjdCk7c3RhY2tbImRlbGV0ZSJdKG90aGVyKTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGZsYXRSZXN0KGZ1bmMpe3JldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLHVuZGVmaW5lZCxmbGF0dGVuKSxmdW5jKyIiKX1mdW5jdGlvbiBnZXRBbGxLZXlzKG9iamVjdCl7cmV0dXJuIGJhc2VHZXRBbGxLZXlzKG9iamVjdCxrZXlzLGdldFN5bWJvbHMpfWZ1bmN0aW9uIGdldEFsbEtleXNJbihvYmplY3Qpe3JldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3Qsa2V5c0luLGdldFN5bWJvbHNJbil9dmFyIGdldERhdGE9IW1ldGFNYXA/bm9vcDpmdW5jdGlvbihmdW5jKXtyZXR1cm4gbWV0YU1hcC5nZXQoZnVuYyl9OwpmdW5jdGlvbiBnZXRGdW5jTmFtZShmdW5jKXt2YXIgcmVzdWx0PWZ1bmMubmFtZSsiIixhcnJheT1yZWFsTmFtZXNbcmVzdWx0XSxsZW5ndGg9aGFzT3duUHJvcGVydHkuY2FsbChyZWFsTmFtZXMscmVzdWx0KT9hcnJheS5sZW5ndGg6MDt3aGlsZShsZW5ndGgtLSl7dmFyIGRhdGE9YXJyYXlbbGVuZ3RoXSxvdGhlckZ1bmM9ZGF0YS5mdW5jO2lmKG90aGVyRnVuYz09bnVsbHx8b3RoZXJGdW5jPT1mdW5jKXJldHVybiBkYXRhLm5hbWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBnZXRIb2xkZXIoZnVuYyl7dmFyIG9iamVjdD1oYXNPd25Qcm9wZXJ0eS5jYWxsKGxvZGFzaCwicGxhY2Vob2xkZXIiKT9sb2Rhc2g6ZnVuYztyZXR1cm4gb2JqZWN0LnBsYWNlaG9sZGVyfWZ1bmN0aW9uIGdldEl0ZXJhdGVlKCl7dmFyIHJlc3VsdD1sb2Rhc2guaXRlcmF0ZWV8fGl0ZXJhdGVlO3Jlc3VsdD1yZXN1bHQ9PT1pdGVyYXRlZT9iYXNlSXRlcmF0ZWU6cmVzdWx0O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPwpyZXN1bHQoYXJndW1lbnRzWzBdLGFyZ3VtZW50c1sxXSk6cmVzdWx0fWZ1bmN0aW9uIGdldE1hcERhdGEobWFwLGtleSl7dmFyIGRhdGE9bWFwLl9fZGF0YV9fO3JldHVybiBpc0tleWFibGUoa2V5KT9kYXRhW3R5cGVvZiBrZXk9PSJzdHJpbmciPyJzdHJpbmciOiJoYXNoIl06ZGF0YS5tYXB9ZnVuY3Rpb24gZ2V0TWF0Y2hEYXRhKG9iamVjdCl7dmFyIHJlc3VsdD1rZXlzKG9iamVjdCksbGVuZ3RoPXJlc3VsdC5sZW5ndGg7d2hpbGUobGVuZ3RoLS0pe3ZhciBrZXk9cmVzdWx0W2xlbmd0aF0sdmFsdWU9b2JqZWN0W2tleV07cmVzdWx0W2xlbmd0aF09W2tleSx2YWx1ZSxpc1N0cmljdENvbXBhcmFibGUodmFsdWUpXX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3Qsa2V5KXt2YXIgdmFsdWU9Z2V0VmFsdWUob2JqZWN0LGtleSk7cmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSk/dmFsdWU6dW5kZWZpbmVkfWZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSl7dmFyIGlzT3duPQpoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLHN5bVRvU3RyaW5nVGFnKSx0YWc9dmFsdWVbc3ltVG9TdHJpbmdUYWddO3RyeXt2YWx1ZVtzeW1Ub1N0cmluZ1RhZ109dW5kZWZpbmVkO3ZhciB1bm1hc2tlZD10cnVlfWNhdGNoKGUpe312YXIgcmVzdWx0PW5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO2lmKHVubWFza2VkKWlmKGlzT3duKXZhbHVlW3N5bVRvU3RyaW5nVGFnXT10YWc7ZWxzZSBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO3JldHVybiByZXN1bHR9dmFyIGdldFN5bWJvbHM9IW5hdGl2ZUdldFN5bWJvbHM/c3R1YkFycmF5OmZ1bmN0aW9uKG9iamVjdCl7aWYob2JqZWN0PT1udWxsKXJldHVybltdO29iamVjdD1PYmplY3Qob2JqZWN0KTtyZXR1cm4gYXJyYXlGaWx0ZXIobmF0aXZlR2V0U3ltYm9scyhvYmplY3QpLGZ1bmN0aW9uKHN5bWJvbCl7cmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LHN5bWJvbCl9KX07dmFyIGdldFN5bWJvbHNJbj0KIW5hdGl2ZUdldFN5bWJvbHM/c3R1YkFycmF5OmZ1bmN0aW9uKG9iamVjdCl7dmFyIHJlc3VsdD1bXTt3aGlsZShvYmplY3Qpe2FycmF5UHVzaChyZXN1bHQsZ2V0U3ltYm9scyhvYmplY3QpKTtvYmplY3Q9Z2V0UHJvdG90eXBlKG9iamVjdCl9cmV0dXJuIHJlc3VsdH07dmFyIGdldFRhZz1iYXNlR2V0VGFnO2lmKERhdGFWaWV3JiZnZXRUYWcobmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxKSkpIT1kYXRhVmlld1RhZ3x8TWFwJiZnZXRUYWcobmV3IE1hcCkhPW1hcFRhZ3x8UHJvbWlzZSYmZ2V0VGFnKFByb21pc2UucmVzb2x2ZSgpKSE9cHJvbWlzZVRhZ3x8U2V0JiZnZXRUYWcobmV3IFNldCkhPXNldFRhZ3x8V2Vha01hcCYmZ2V0VGFnKG5ldyBXZWFrTWFwKSE9d2Vha01hcFRhZylnZXRUYWc9ZnVuY3Rpb24odmFsdWUpe3ZhciByZXN1bHQ9YmFzZUdldFRhZyh2YWx1ZSksQ3Rvcj1yZXN1bHQ9PW9iamVjdFRhZz92YWx1ZS5jb25zdHJ1Y3Rvcjp1bmRlZmluZWQsY3RvclN0cmluZz0KQ3Rvcj90b1NvdXJjZShDdG9yKToiIjtpZihjdG9yU3RyaW5nKXN3aXRjaChjdG9yU3RyaW5nKXtjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzpyZXR1cm4gZGF0YVZpZXdUYWc7Y2FzZSBtYXBDdG9yU3RyaW5nOnJldHVybiBtYXBUYWc7Y2FzZSBwcm9taXNlQ3RvclN0cmluZzpyZXR1cm4gcHJvbWlzZVRhZztjYXNlIHNldEN0b3JTdHJpbmc6cmV0dXJuIHNldFRhZztjYXNlIHdlYWtNYXBDdG9yU3RyaW5nOnJldHVybiB3ZWFrTWFwVGFnfXJldHVybiByZXN1bHR9O2Z1bmN0aW9uIGdldFZpZXcoc3RhcnQsZW5kLHRyYW5zZm9ybXMpe3ZhciBpbmRleD0tMSxsZW5ndGg9dHJhbnNmb3Jtcy5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBkYXRhPXRyYW5zZm9ybXNbaW5kZXhdLHNpemU9ZGF0YS5zaXplO3N3aXRjaChkYXRhLnR5cGUpe2Nhc2UgImRyb3AiOnN0YXJ0Kz1zaXplO2JyZWFrO2Nhc2UgImRyb3BSaWdodCI6ZW5kLT1zaXplO2JyZWFrO2Nhc2UgInRha2UiOmVuZD1uYXRpdmVNaW4oZW5kLApzdGFydCtzaXplKTticmVhaztjYXNlICJ0YWtlUmlnaHQiOnN0YXJ0PW5hdGl2ZU1heChzdGFydCxlbmQtc2l6ZSk7YnJlYWt9fXJldHVybnsic3RhcnQiOnN0YXJ0LCJlbmQiOmVuZH19ZnVuY3Rpb24gZ2V0V3JhcERldGFpbHMoc291cmNlKXt2YXIgbWF0Y2g9c291cmNlLm1hdGNoKHJlV3JhcERldGFpbHMpO3JldHVybiBtYXRjaD9tYXRjaFsxXS5zcGxpdChyZVNwbGl0RGV0YWlscyk6W119ZnVuY3Rpb24gaGFzUGF0aChvYmplY3QscGF0aCxoYXNGdW5jKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9LTEsbGVuZ3RoPXBhdGgubGVuZ3RoLHJlc3VsdD1mYWxzZTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIGtleT10b0tleShwYXRoW2luZGV4XSk7aWYoIShyZXN1bHQ9b2JqZWN0IT1udWxsJiZoYXNGdW5jKG9iamVjdCxrZXkpKSlicmVhaztvYmplY3Q9b2JqZWN0W2tleV19aWYocmVzdWx0fHwrK2luZGV4IT1sZW5ndGgpcmV0dXJuIHJlc3VsdDtsZW5ndGg9Cm9iamVjdD09bnVsbD8wOm9iamVjdC5sZW5ndGg7cmV0dXJuISFsZW5ndGgmJmlzTGVuZ3RoKGxlbmd0aCkmJmlzSW5kZXgoa2V5LGxlbmd0aCkmJihpc0FycmF5KG9iamVjdCl8fGlzQXJndW1lbnRzKG9iamVjdCkpfWZ1bmN0aW9uIGluaXRDbG9uZUFycmF5KGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxyZXN1bHQ9bmV3IGFycmF5LmNvbnN0cnVjdG9yKGxlbmd0aCk7aWYobGVuZ3RoJiZ0eXBlb2YgYXJyYXlbMF09PSJzdHJpbmciJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKGFycmF5LCJpbmRleCIpKXtyZXN1bHQuaW5kZXg9YXJyYXkuaW5kZXg7cmVzdWx0LmlucHV0PWFycmF5LmlucHV0fXJldHVybiByZXN1bHR9ZnVuY3Rpb24gaW5pdENsb25lT2JqZWN0KG9iamVjdCl7cmV0dXJuIHR5cGVvZiBvYmplY3QuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiFpc1Byb3RvdHlwZShvYmplY3QpP2Jhc2VDcmVhdGUoZ2V0UHJvdG90eXBlKG9iamVjdCkpOnt9fWZ1bmN0aW9uIGluaXRDbG9uZUJ5VGFnKG9iamVjdCwKdGFnLGlzRGVlcCl7dmFyIEN0b3I9b2JqZWN0LmNvbnN0cnVjdG9yO3N3aXRjaCh0YWcpe2Nhc2UgYXJyYXlCdWZmZXJUYWc6cmV0dXJuIGNsb25lQXJyYXlCdWZmZXIob2JqZWN0KTtjYXNlIGJvb2xUYWc6Y2FzZSBkYXRlVGFnOnJldHVybiBuZXcgQ3Rvcigrb2JqZWN0KTtjYXNlIGRhdGFWaWV3VGFnOnJldHVybiBjbG9uZURhdGFWaWV3KG9iamVjdCxpc0RlZXApO2Nhc2UgZmxvYXQzMlRhZzpjYXNlIGZsb2F0NjRUYWc6Y2FzZSBpbnQ4VGFnOmNhc2UgaW50MTZUYWc6Y2FzZSBpbnQzMlRhZzpjYXNlIHVpbnQ4VGFnOmNhc2UgdWludDhDbGFtcGVkVGFnOmNhc2UgdWludDE2VGFnOmNhc2UgdWludDMyVGFnOnJldHVybiBjbG9uZVR5cGVkQXJyYXkob2JqZWN0LGlzRGVlcCk7Y2FzZSBtYXBUYWc6cmV0dXJuIG5ldyBDdG9yO2Nhc2UgbnVtYmVyVGFnOmNhc2Ugc3RyaW5nVGFnOnJldHVybiBuZXcgQ3RvcihvYmplY3QpO2Nhc2UgcmVnZXhwVGFnOnJldHVybiBjbG9uZVJlZ0V4cChvYmplY3QpOwpjYXNlIHNldFRhZzpyZXR1cm4gbmV3IEN0b3I7Y2FzZSBzeW1ib2xUYWc6cmV0dXJuIGNsb25lU3ltYm9sKG9iamVjdCl9fWZ1bmN0aW9uIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSxkZXRhaWxzKXt2YXIgbGVuZ3RoPWRldGFpbHMubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuIHNvdXJjZTt2YXIgbGFzdEluZGV4PWxlbmd0aC0xO2RldGFpbHNbbGFzdEluZGV4XT0obGVuZ3RoPjE/Ilx4MjYgIjoiIikrZGV0YWlsc1tsYXN0SW5kZXhdO2RldGFpbHM9ZGV0YWlscy5qb2luKGxlbmd0aD4yPyIsICI6IiAiKTtyZXR1cm4gc291cmNlLnJlcGxhY2UocmVXcmFwQ29tbWVudCwie1xuLyogW3dyYXBwZWQgd2l0aCAiK2RldGFpbHMrIl0gKi9cbiIpfWZ1bmN0aW9uIGlzRmxhdHRlbmFibGUodmFsdWUpe3JldHVybiBpc0FycmF5KHZhbHVlKXx8aXNBcmd1bWVudHModmFsdWUpfHwhIShzcHJlYWRhYmxlU3ltYm9sJiZ2YWx1ZSYmdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pfWZ1bmN0aW9uIGlzSW5kZXgodmFsdWUsCmxlbmd0aCl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO2xlbmd0aD1sZW5ndGg9PW51bGw/TUFYX1NBRkVfSU5URUdFUjpsZW5ndGg7cmV0dXJuISFsZW5ndGgmJih0eXBlPT0ibnVtYmVyInx8dHlwZSE9InN5bWJvbCImJnJlSXNVaW50LnRlc3QodmFsdWUpKSYmKHZhbHVlPi0xJiZ2YWx1ZSUxPT0wJiZ2YWx1ZTxsZW5ndGgpfWZ1bmN0aW9uIGlzSXRlcmF0ZWVDYWxsKHZhbHVlLGluZGV4LG9iamVjdCl7aWYoIWlzT2JqZWN0KG9iamVjdCkpcmV0dXJuIGZhbHNlO3ZhciB0eXBlPXR5cGVvZiBpbmRleDtpZih0eXBlPT0ibnVtYmVyIj9pc0FycmF5TGlrZShvYmplY3QpJiZpc0luZGV4KGluZGV4LG9iamVjdC5sZW5ndGgpOnR5cGU9PSJzdHJpbmciJiZpbmRleCBpbiBvYmplY3QpcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sdmFsdWUpO3JldHVybiBmYWxzZX1mdW5jdGlvbiBpc0tleSh2YWx1ZSxvYmplY3Qpe2lmKGlzQXJyYXkodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdHlwZT10eXBlb2YgdmFsdWU7CmlmKHR5cGU9PSJudW1iZXIifHx0eXBlPT0ic3ltYm9sInx8dHlwZT09ImJvb2xlYW4ifHx2YWx1ZT09bnVsbHx8aXNTeW1ib2wodmFsdWUpKXJldHVybiB0cnVlO3JldHVybiByZUlzUGxhaW5Qcm9wLnRlc3QodmFsdWUpfHwhcmVJc0RlZXBQcm9wLnRlc3QodmFsdWUpfHxvYmplY3QhPW51bGwmJnZhbHVlIGluIE9iamVjdChvYmplY3QpfWZ1bmN0aW9uIGlzS2V5YWJsZSh2YWx1ZSl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO3JldHVybiB0eXBlPT0ic3RyaW5nInx8dHlwZT09Im51bWJlciJ8fHR5cGU9PSJzeW1ib2wifHx0eXBlPT0iYm9vbGVhbiI/dmFsdWUhPT0iX19wcm90b19fIjp2YWx1ZT09PW51bGx9ZnVuY3Rpb24gaXNMYXppYWJsZShmdW5jKXt2YXIgZnVuY05hbWU9Z2V0RnVuY05hbWUoZnVuYyksb3RoZXI9bG9kYXNoW2Z1bmNOYW1lXTtpZih0eXBlb2Ygb3RoZXIhPSJmdW5jdGlvbiJ8fCEoZnVuY05hbWUgaW4gTGF6eVdyYXBwZXIucHJvdG90eXBlKSlyZXR1cm4gZmFsc2U7CmlmKGZ1bmM9PT1vdGhlcilyZXR1cm4gdHJ1ZTt2YXIgZGF0YT1nZXREYXRhKG90aGVyKTtyZXR1cm4hIWRhdGEmJmZ1bmM9PT1kYXRhWzBdfWZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpe3JldHVybiEhbWFza1NyY0tleSYmbWFza1NyY0tleSBpbiBmdW5jfXZhciBpc01hc2thYmxlPWNvcmVKc0RhdGE/aXNGdW5jdGlvbjpzdHViRmFsc2U7ZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpe3ZhciBDdG9yPXZhbHVlJiZ2YWx1ZS5jb25zdHJ1Y3Rvcixwcm90bz10eXBlb2YgQ3Rvcj09ImZ1bmN0aW9uIiYmQ3Rvci5wcm90b3R5cGV8fG9iamVjdFByb3RvO3JldHVybiB2YWx1ZT09PXByb3RvfWZ1bmN0aW9uIGlzU3RyaWN0Q29tcGFyYWJsZSh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09dmFsdWUmJiFpc09iamVjdCh2YWx1ZSl9ZnVuY3Rpb24gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUoa2V5LHNyY1ZhbHVlKXtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXtpZihvYmplY3Q9PW51bGwpcmV0dXJuIGZhbHNlOwpyZXR1cm4gb2JqZWN0W2tleV09PT1zcmNWYWx1ZSYmKHNyY1ZhbHVlIT09dW5kZWZpbmVkfHxrZXkgaW4gT2JqZWN0KG9iamVjdCkpfX1mdW5jdGlvbiBtZW1vaXplQ2FwcGVkKGZ1bmMpe3ZhciByZXN1bHQ9bWVtb2l6ZShmdW5jLGZ1bmN0aW9uKGtleSl7aWYoY2FjaGUuc2l6ZT09PU1BWF9NRU1PSVpFX1NJWkUpY2FjaGUuY2xlYXIoKTtyZXR1cm4ga2V5fSk7dmFyIGNhY2hlPXJlc3VsdC5jYWNoZTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG1lcmdlRGF0YShkYXRhLHNvdXJjZSl7dmFyIGJpdG1hc2s9ZGF0YVsxXSxzcmNCaXRtYXNrPXNvdXJjZVsxXSxuZXdCaXRtYXNrPWJpdG1hc2t8c3JjQml0bWFzayxpc0NvbW1vbj1uZXdCaXRtYXNrPChXUkFQX0JJTkRfRkxBR3xXUkFQX0JJTkRfS0VZX0ZMQUd8V1JBUF9BUllfRkxBRyk7dmFyIGlzQ29tYm89c3JjQml0bWFzaz09V1JBUF9BUllfRkxBRyYmYml0bWFzaz09V1JBUF9DVVJSWV9GTEFHfHxzcmNCaXRtYXNrPT1XUkFQX0FSWV9GTEFHJiYKYml0bWFzaz09V1JBUF9SRUFSR19GTEFHJiZkYXRhWzddLmxlbmd0aDw9c291cmNlWzhdfHxzcmNCaXRtYXNrPT0oV1JBUF9BUllfRkxBR3xXUkFQX1JFQVJHX0ZMQUcpJiZzb3VyY2VbN10ubGVuZ3RoPD1zb3VyY2VbOF0mJmJpdG1hc2s9PVdSQVBfQ1VSUllfRkxBRztpZighKGlzQ29tbW9ufHxpc0NvbWJvKSlyZXR1cm4gZGF0YTtpZihzcmNCaXRtYXNrJldSQVBfQklORF9GTEFHKXtkYXRhWzJdPXNvdXJjZVsyXTtuZXdCaXRtYXNrfD1iaXRtYXNrJldSQVBfQklORF9GTEFHPzA6V1JBUF9DVVJSWV9CT1VORF9GTEFHfXZhciB2YWx1ZT1zb3VyY2VbM107aWYodmFsdWUpe3ZhciBwYXJ0aWFscz1kYXRhWzNdO2RhdGFbM109cGFydGlhbHM/Y29tcG9zZUFyZ3MocGFydGlhbHMsdmFsdWUsc291cmNlWzRdKTp2YWx1ZTtkYXRhWzRdPXBhcnRpYWxzP3JlcGxhY2VIb2xkZXJzKGRhdGFbM10sUExBQ0VIT0xERVIpOnNvdXJjZVs0XX12YWx1ZT1zb3VyY2VbNV07aWYodmFsdWUpe3BhcnRpYWxzPQpkYXRhWzVdO2RhdGFbNV09cGFydGlhbHM/Y29tcG9zZUFyZ3NSaWdodChwYXJ0aWFscyx2YWx1ZSxzb3VyY2VbNl0pOnZhbHVlO2RhdGFbNl09cGFydGlhbHM/cmVwbGFjZUhvbGRlcnMoZGF0YVs1XSxQTEFDRUhPTERFUik6c291cmNlWzZdfXZhbHVlPXNvdXJjZVs3XTtpZih2YWx1ZSlkYXRhWzddPXZhbHVlO2lmKHNyY0JpdG1hc2smV1JBUF9BUllfRkxBRylkYXRhWzhdPWRhdGFbOF09PW51bGw/c291cmNlWzhdOm5hdGl2ZU1pbihkYXRhWzhdLHNvdXJjZVs4XSk7aWYoZGF0YVs5XT09bnVsbClkYXRhWzldPXNvdXJjZVs5XTtkYXRhWzBdPXNvdXJjZVswXTtkYXRhWzFdPW5ld0JpdG1hc2s7cmV0dXJuIGRhdGF9ZnVuY3Rpb24gbmF0aXZlS2V5c0luKG9iamVjdCl7dmFyIHJlc3VsdD1bXTtpZihvYmplY3QhPW51bGwpZm9yKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKHZhbHVlKXtyZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSl9CmZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsc3RhcnQsdHJhbnNmb3JtKXtzdGFydD1uYXRpdmVNYXgoc3RhcnQ9PT11bmRlZmluZWQ/ZnVuYy5sZW5ndGgtMTpzdGFydCwwKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHMsaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1heChhcmdzLmxlbmd0aC1zdGFydCwwKSxhcnJheT1BcnJheShsZW5ndGgpO3doaWxlKCsraW5kZXg8bGVuZ3RoKWFycmF5W2luZGV4XT1hcmdzW3N0YXJ0K2luZGV4XTtpbmRleD0tMTt2YXIgb3RoZXJBcmdzPUFycmF5KHN0YXJ0KzEpO3doaWxlKCsraW5kZXg8c3RhcnQpb3RoZXJBcmdzW2luZGV4XT1hcmdzW2luZGV4XTtvdGhlckFyZ3Nbc3RhcnRdPXRyYW5zZm9ybShhcnJheSk7cmV0dXJuIGFwcGx5KGZ1bmMsdGhpcyxvdGhlckFyZ3MpfX1mdW5jdGlvbiBwYXJlbnQob2JqZWN0LHBhdGgpe3JldHVybiBwYXRoLmxlbmd0aDwyP29iamVjdDpiYXNlR2V0KG9iamVjdCxiYXNlU2xpY2UocGF0aCwwLC0xKSl9CmZ1bmN0aW9uIHJlb3JkZXIoYXJyYXksaW5kZXhlcyl7dmFyIGFyckxlbmd0aD1hcnJheS5sZW5ndGgsbGVuZ3RoPW5hdGl2ZU1pbihpbmRleGVzLmxlbmd0aCxhcnJMZW5ndGgpLG9sZEFycmF5PWNvcHlBcnJheShhcnJheSk7d2hpbGUobGVuZ3RoLS0pe3ZhciBpbmRleD1pbmRleGVzW2xlbmd0aF07YXJyYXlbbGVuZ3RoXT1pc0luZGV4KGluZGV4LGFyckxlbmd0aCk/b2xkQXJyYXlbaW5kZXhdOnVuZGVmaW5lZH1yZXR1cm4gYXJyYXl9dmFyIHNldERhdGE9c2hvcnRPdXQoYmFzZVNldERhdGEpO3ZhciBzZXRUaW1lb3V0PWN0eFNldFRpbWVvdXR8fGZ1bmN0aW9uKGZ1bmMsd2FpdCl7cmV0dXJuIHJvb3Quc2V0VGltZW91dChmdW5jLHdhaXQpfTt2YXIgc2V0VG9TdHJpbmc9c2hvcnRPdXQoYmFzZVNldFRvU3RyaW5nKTtmdW5jdGlvbiBzZXRXcmFwVG9TdHJpbmcod3JhcHBlcixyZWZlcmVuY2UsYml0bWFzayl7dmFyIHNvdXJjZT1yZWZlcmVuY2UrIiI7cmV0dXJuIHNldFRvU3RyaW5nKHdyYXBwZXIsCmluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSx1cGRhdGVXcmFwRGV0YWlscyhnZXRXcmFwRGV0YWlscyhzb3VyY2UpLGJpdG1hc2spKSl9ZnVuY3Rpb24gc2hvcnRPdXQoZnVuYyl7dmFyIGNvdW50PTAsbGFzdENhbGxlZD0wO3JldHVybiBmdW5jdGlvbigpe3ZhciBzdGFtcD1uYXRpdmVOb3coKSxyZW1haW5pbmc9SE9UX1NQQU4tKHN0YW1wLWxhc3RDYWxsZWQpO2xhc3RDYWxsZWQ9c3RhbXA7aWYocmVtYWluaW5nPjApe2lmKCsrY291bnQ+PUhPVF9DT1VOVClyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2UgY291bnQ9MDtyZXR1cm4gZnVuYy5hcHBseSh1bmRlZmluZWQsYXJndW1lbnRzKX19ZnVuY3Rpb24gc2h1ZmZsZVNlbGYoYXJyYXksc2l6ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGgsbGFzdEluZGV4PWxlbmd0aC0xO3NpemU9c2l6ZT09PXVuZGVmaW5lZD9sZW5ndGg6c2l6ZTt3aGlsZSgrK2luZGV4PHNpemUpe3ZhciByYW5kPWJhc2VSYW5kb20oaW5kZXgsbGFzdEluZGV4KSwKdmFsdWU9YXJyYXlbcmFuZF07YXJyYXlbcmFuZF09YXJyYXlbaW5kZXhdO2FycmF5W2luZGV4XT12YWx1ZX1hcnJheS5sZW5ndGg9c2l6ZTtyZXR1cm4gYXJyYXl9dmFyIHN0cmluZ1RvUGF0aD1tZW1vaXplQ2FwcGVkKGZ1bmN0aW9uKHN0cmluZyl7dmFyIHJlc3VsdD1bXTtpZihzdHJpbmcuY2hhckNvZGVBdCgwKT09PTQ2KXJlc3VsdC5wdXNoKCIiKTtzdHJpbmcucmVwbGFjZShyZVByb3BOYW1lLGZ1bmN0aW9uKG1hdGNoLG51bWJlcixxdW90ZSxzdWJTdHJpbmcpe3Jlc3VsdC5wdXNoKHF1b3RlP3N1YlN0cmluZy5yZXBsYWNlKHJlRXNjYXBlQ2hhciwiJDEiKTpudW1iZXJ8fG1hdGNoKX0pO3JldHVybiByZXN1bHR9KTtmdW5jdGlvbiB0b0tleSh2YWx1ZSl7aWYodHlwZW9mIHZhbHVlPT0ic3RyaW5nInx8aXNTeW1ib2wodmFsdWUpKXJldHVybiB2YWx1ZTt2YXIgcmVzdWx0PXZhbHVlKyIiO3JldHVybiByZXN1bHQ9PSIwIiYmMS92YWx1ZT09LUlORklOSVRZPyItMCI6cmVzdWx0fQpmdW5jdGlvbiB0b1NvdXJjZShmdW5jKXtpZihmdW5jIT1udWxsKXt0cnl7cmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpfWNhdGNoKGUpe310cnl7cmV0dXJuIGZ1bmMrIiJ9Y2F0Y2goZSQwKXt9fXJldHVybiIifWZ1bmN0aW9uIHVwZGF0ZVdyYXBEZXRhaWxzKGRldGFpbHMsYml0bWFzayl7YXJyYXlFYWNoKHdyYXBGbGFncyxmdW5jdGlvbihwYWlyKXt2YXIgdmFsdWU9Il8uIitwYWlyWzBdO2lmKGJpdG1hc2smcGFpclsxXSYmIWFycmF5SW5jbHVkZXMoZGV0YWlscyx2YWx1ZSkpZGV0YWlscy5wdXNoKHZhbHVlKX0pO3JldHVybiBkZXRhaWxzLnNvcnQoKX1mdW5jdGlvbiB3cmFwcGVyQ2xvbmUod3JhcHBlcil7aWYod3JhcHBlciBpbnN0YW5jZW9mIExhenlXcmFwcGVyKXJldHVybiB3cmFwcGVyLmNsb25lKCk7dmFyIHJlc3VsdD1uZXcgTG9kYXNoV3JhcHBlcih3cmFwcGVyLl9fd3JhcHBlZF9fLHdyYXBwZXIuX19jaGFpbl9fKTtyZXN1bHQuX19hY3Rpb25zX189Y29weUFycmF5KHdyYXBwZXIuX19hY3Rpb25zX18pOwpyZXN1bHQuX19pbmRleF9fPXdyYXBwZXIuX19pbmRleF9fO3Jlc3VsdC5fX3ZhbHVlc19fPXdyYXBwZXIuX192YWx1ZXNfXztyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGNodW5rKGFycmF5LHNpemUsZ3VhcmQpe2lmKGd1YXJkP2lzSXRlcmF0ZWVDYWxsKGFycmF5LHNpemUsZ3VhcmQpOnNpemU9PT11bmRlZmluZWQpc2l6ZT0xO2Vsc2Ugc2l6ZT1uYXRpdmVNYXgodG9JbnRlZ2VyKHNpemUpLDApO3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aHx8c2l6ZTwxKXJldHVybltdO3ZhciBpbmRleD0wLHJlc0luZGV4PTAscmVzdWx0PUFycmF5KG5hdGl2ZUNlaWwobGVuZ3RoL3NpemUpKTt3aGlsZShpbmRleDxsZW5ndGgpcmVzdWx0W3Jlc0luZGV4KytdPWJhc2VTbGljZShhcnJheSxpbmRleCxpbmRleCs9c2l6ZSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb21wYWN0KGFycmF5KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoLApyZXNJbmRleD0wLHJlc3VsdD1bXTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZih2YWx1ZSlyZXN1bHRbcmVzSW5kZXgrK109dmFsdWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb25jYXQoKXt2YXIgbGVuZ3RoPWFyZ3VtZW50cy5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTt2YXIgYXJncz1BcnJheShsZW5ndGgtMSksYXJyYXk9YXJndW1lbnRzWzBdLGluZGV4PWxlbmd0aDt3aGlsZShpbmRleC0tKWFyZ3NbaW5kZXgtMV09YXJndW1lbnRzW2luZGV4XTtyZXR1cm4gYXJyYXlQdXNoKGlzQXJyYXkoYXJyYXkpP2NvcHlBcnJheShhcnJheSk6W2FycmF5XSxiYXNlRmxhdHRlbihhcmdzLDEpKX12YXIgZGlmZmVyZW5jZT1iYXNlUmVzdChmdW5jdGlvbihhcnJheSx2YWx1ZXMpe3JldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSk/YmFzZURpZmZlcmVuY2UoYXJyYXksYmFzZUZsYXR0ZW4odmFsdWVzLDEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSkpOgpbXX0pO3ZhciBkaWZmZXJlbmNlQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXt2YXIgaXRlcmF0ZWU9bGFzdCh2YWx1ZXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT11bmRlZmluZWQ7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KT9iYXNlRGlmZmVyZW5jZShhcnJheSxiYXNlRmxhdHRlbih2YWx1ZXMsMSxpc0FycmF5TGlrZU9iamVjdCx0cnVlKSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6W119KTt2YXIgZGlmZmVyZW5jZVdpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXt2YXIgY29tcGFyYXRvcj1sYXN0KHZhbHVlcyk7aWYoaXNBcnJheUxpa2VPYmplY3QoY29tcGFyYXRvcikpY29tcGFyYXRvcj11bmRlZmluZWQ7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KT9iYXNlRGlmZmVyZW5jZShhcnJheSxiYXNlRmxhdHRlbih2YWx1ZXMsMSxpc0FycmF5TGlrZU9iamVjdCx0cnVlKSx1bmRlZmluZWQsY29tcGFyYXRvcik6CltdfSk7ZnVuY3Rpb24gZHJvcChhcnJheSxuLGd1YXJkKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuW107bj1ndWFyZHx8bj09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihuKTtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LG48MD8wOm4sbGVuZ3RoKX1mdW5jdGlvbiBkcm9wUmlnaHQoYXJyYXksbixndWFyZCl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtpZighbGVuZ3RoKXJldHVybltdO249Z3VhcmR8fG49PT11bmRlZmluZWQ/MTp0b0ludGVnZXIobik7bj1sZW5ndGgtbjtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LDAsbjwwPzA6bil9ZnVuY3Rpb24gZHJvcFJpZ2h0V2hpbGUoYXJyYXkscHJlZGljYXRlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlV2hpbGUoYXJyYXksZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpLHRydWUsdHJ1ZSk6W119ZnVuY3Rpb24gZHJvcFdoaWxlKGFycmF5LHByZWRpY2F0ZSl7cmV0dXJuIGFycmF5JiYKYXJyYXkubGVuZ3RoP2Jhc2VXaGlsZShhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksdHJ1ZSk6W119ZnVuY3Rpb24gZmlsbChhcnJheSx2YWx1ZSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtpZihzdGFydCYmdHlwZW9mIHN0YXJ0IT0ibnVtYmVyIiYmaXNJdGVyYXRlZUNhbGwoYXJyYXksdmFsdWUsc3RhcnQpKXtzdGFydD0wO2VuZD1sZW5ndGh9cmV0dXJuIGJhc2VGaWxsKGFycmF5LHZhbHVlLHN0YXJ0LGVuZCl9ZnVuY3Rpb24gZmluZEluZGV4KGFycmF5LHByZWRpY2F0ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4tMTt2YXIgaW5kZXg9ZnJvbUluZGV4PT1udWxsPzA6dG9JbnRlZ2VyKGZyb21JbmRleCk7aWYoaW5kZXg8MClpbmRleD1uYXRpdmVNYXgobGVuZ3RoK2luZGV4LDApO3JldHVybiBiYXNlRmluZEluZGV4KGFycmF5LApnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksaW5kZXgpfWZ1bmN0aW9uIGZpbmRMYXN0SW5kZXgoYXJyYXkscHJlZGljYXRlLGZyb21JbmRleCl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtpZighbGVuZ3RoKXJldHVybi0xO3ZhciBpbmRleD1sZW5ndGgtMTtpZihmcm9tSW5kZXghPT11bmRlZmluZWQpe2luZGV4PXRvSW50ZWdlcihmcm9tSW5kZXgpO2luZGV4PWZyb21JbmRleDwwP25hdGl2ZU1heChsZW5ndGgraW5kZXgsMCk6bmF0aXZlTWluKGluZGV4LGxlbmd0aC0xKX1yZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksaW5kZXgsdHJ1ZSl9ZnVuY3Rpb24gZmxhdHRlbihhcnJheSl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtyZXR1cm4gbGVuZ3RoP2Jhc2VGbGF0dGVuKGFycmF5LDEpOltdfWZ1bmN0aW9uIGZsYXR0ZW5EZWVwKGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoOwpyZXR1cm4gbGVuZ3RoP2Jhc2VGbGF0dGVuKGFycmF5LElORklOSVRZKTpbXX1mdW5jdGlvbiBmbGF0dGVuRGVwdGgoYXJyYXksZGVwdGgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtkZXB0aD1kZXB0aD09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihkZXB0aCk7cmV0dXJuIGJhc2VGbGF0dGVuKGFycmF5LGRlcHRoKX1mdW5jdGlvbiBmcm9tUGFpcnMocGFpcnMpe3ZhciBpbmRleD0tMSxsZW5ndGg9cGFpcnM9PW51bGw/MDpwYWlycy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcGFpcj1wYWlyc1tpbmRleF07cmVzdWx0W3BhaXJbMF1dPXBhaXJbMV19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBoZWFkKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9hcnJheVswXTp1bmRlZmluZWR9ZnVuY3Rpb24gaW5kZXhPZihhcnJheSx2YWx1ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PQpudWxsPzA6YXJyYXkubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuLTE7dmFyIGluZGV4PWZyb21JbmRleD09bnVsbD8wOnRvSW50ZWdlcihmcm9tSW5kZXgpO2lmKGluZGV4PDApaW5kZXg9bmF0aXZlTWF4KGxlbmd0aCtpbmRleCwwKTtyZXR1cm4gYmFzZUluZGV4T2YoYXJyYXksdmFsdWUsaW5kZXgpfWZ1bmN0aW9uIGluaXRpYWwoYXJyYXkpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU2xpY2UoYXJyYXksMCwtMSk6W119dmFyIGludGVyc2VjdGlvbj1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3ZhciBtYXBwZWQ9YXJyYXlNYXAoYXJyYXlzLGNhc3RBcnJheUxpa2VPYmplY3QpO3JldHVybiBtYXBwZWQubGVuZ3RoJiZtYXBwZWRbMF09PT1hcnJheXNbMF0/YmFzZUludGVyc2VjdGlvbihtYXBwZWQpOltdfSk7dmFyIGludGVyc2VjdGlvbkJ5PWJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7dmFyIGl0ZXJhdGVlPWxhc3QoYXJyYXlzKSwKbWFwcGVkPWFycmF5TWFwKGFycmF5cyxjYXN0QXJyYXlMaWtlT2JqZWN0KTtpZihpdGVyYXRlZT09PWxhc3QobWFwcGVkKSlpdGVyYXRlZT11bmRlZmluZWQ7ZWxzZSBtYXBwZWQucG9wKCk7cmV0dXJuIG1hcHBlZC5sZW5ndGgmJm1hcHBlZFswXT09PWFycmF5c1swXT9iYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6W119KTt2YXIgaW50ZXJzZWN0aW9uV2l0aD1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3ZhciBjb21wYXJhdG9yPWxhc3QoYXJyYXlzKSxtYXBwZWQ9YXJyYXlNYXAoYXJyYXlzLGNhc3RBcnJheUxpa2VPYmplY3QpO2NvbXBhcmF0b3I9dHlwZW9mIGNvbXBhcmF0b3I9PSJmdW5jdGlvbiI/Y29tcGFyYXRvcjp1bmRlZmluZWQ7aWYoY29tcGFyYXRvciltYXBwZWQucG9wKCk7cmV0dXJuIG1hcHBlZC5sZW5ndGgmJm1hcHBlZFswXT09PWFycmF5c1swXT9iYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCx1bmRlZmluZWQsY29tcGFyYXRvcik6CltdfSk7ZnVuY3Rpb24gam9pbihhcnJheSxzZXBhcmF0b3Ipe3JldHVybiBhcnJheT09bnVsbD8iIjpuYXRpdmVKb2luLmNhbGwoYXJyYXksc2VwYXJhdG9yKX1mdW5jdGlvbiBsYXN0KGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3JldHVybiBsZW5ndGg/YXJyYXlbbGVuZ3RoLTFdOnVuZGVmaW5lZH1mdW5jdGlvbiBsYXN0SW5kZXhPZihhcnJheSx2YWx1ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4tMTt2YXIgaW5kZXg9bGVuZ3RoO2lmKGZyb21JbmRleCE9PXVuZGVmaW5lZCl7aW5kZXg9dG9JbnRlZ2VyKGZyb21JbmRleCk7aW5kZXg9aW5kZXg8MD9uYXRpdmVNYXgobGVuZ3RoK2luZGV4LDApOm5hdGl2ZU1pbihpbmRleCxsZW5ndGgtMSl9cmV0dXJuIHZhbHVlPT09dmFsdWU/c3RyaWN0TGFzdEluZGV4T2YoYXJyYXksdmFsdWUsaW5kZXgpOmJhc2VGaW5kSW5kZXgoYXJyYXksCmJhc2VJc05hTixpbmRleCx0cnVlKX1mdW5jdGlvbiBudGgoYXJyYXksbil7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZU50aChhcnJheSx0b0ludGVnZXIobikpOnVuZGVmaW5lZH12YXIgcHVsbD1iYXNlUmVzdChwdWxsQWxsKTtmdW5jdGlvbiBwdWxsQWxsKGFycmF5LHZhbHVlcyl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGgmJnZhbHVlcyYmdmFsdWVzLmxlbmd0aD9iYXNlUHVsbEFsbChhcnJheSx2YWx1ZXMpOmFycmF5fWZ1bmN0aW9uIHB1bGxBbGxCeShhcnJheSx2YWx1ZXMsaXRlcmF0ZWUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoJiZ2YWx1ZXMmJnZhbHVlcy5sZW5ndGg/YmFzZVB1bGxBbGwoYXJyYXksdmFsdWVzLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKTphcnJheX1mdW5jdGlvbiBwdWxsQWxsV2l0aChhcnJheSx2YWx1ZXMsY29tcGFyYXRvcil7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGgmJnZhbHVlcyYmdmFsdWVzLmxlbmd0aD9iYXNlUHVsbEFsbChhcnJheSwKdmFsdWVzLHVuZGVmaW5lZCxjb21wYXJhdG9yKTphcnJheX12YXIgcHVsbEF0PWZsYXRSZXN0KGZ1bmN0aW9uKGFycmF5LGluZGV4ZXMpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGgscmVzdWx0PWJhc2VBdChhcnJheSxpbmRleGVzKTtiYXNlUHVsbEF0KGFycmF5LGFycmF5TWFwKGluZGV4ZXMsZnVuY3Rpb24oaW5kZXgpe3JldHVybiBpc0luZGV4KGluZGV4LGxlbmd0aCk/K2luZGV4OmluZGV4fSkuc29ydChjb21wYXJlQXNjZW5kaW5nKSk7cmV0dXJuIHJlc3VsdH0pO2Z1bmN0aW9uIHJlbW92ZShhcnJheSxwcmVkaWNhdGUpe3ZhciByZXN1bHQ9W107aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm4gcmVzdWx0O3ZhciBpbmRleD0tMSxpbmRleGVzPVtdLGxlbmd0aD1hcnJheS5sZW5ndGg7cHJlZGljYXRlPWdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihwcmVkaWNhdGUodmFsdWUsCmluZGV4LGFycmF5KSl7cmVzdWx0LnB1c2godmFsdWUpO2luZGV4ZXMucHVzaChpbmRleCl9fWJhc2VQdWxsQXQoYXJyYXksaW5kZXhlcyk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiByZXZlcnNlKGFycmF5KXtyZXR1cm4gYXJyYXk9PW51bGw/YXJyYXk6bmF0aXZlUmV2ZXJzZS5jYWxsKGFycmF5KX1mdW5jdGlvbiBzbGljZShhcnJheSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtpZihlbmQmJnR5cGVvZiBlbmQhPSJudW1iZXIiJiZpc0l0ZXJhdGVlQ2FsbChhcnJheSxzdGFydCxlbmQpKXtzdGFydD0wO2VuZD1sZW5ndGh9ZWxzZXtzdGFydD1zdGFydD09bnVsbD8wOnRvSW50ZWdlcihzdGFydCk7ZW5kPWVuZD09PXVuZGVmaW5lZD9sZW5ndGg6dG9JbnRlZ2VyKGVuZCl9cmV0dXJuIGJhc2VTbGljZShhcnJheSxzdGFydCxlbmQpfWZ1bmN0aW9uIHNvcnRlZEluZGV4KGFycmF5LHZhbHVlKXtyZXR1cm4gYmFzZVNvcnRlZEluZGV4KGFycmF5LAp2YWx1ZSl9ZnVuY3Rpb24gc29ydGVkSW5kZXhCeShhcnJheSx2YWx1ZSxpdGVyYXRlZSl7cmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LHZhbHVlLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKX1mdW5jdGlvbiBzb3J0ZWRJbmRleE9mKGFycmF5LHZhbHVlKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGxlbmd0aCl7dmFyIGluZGV4PWJhc2VTb3J0ZWRJbmRleChhcnJheSx2YWx1ZSk7aWYoaW5kZXg8bGVuZ3RoJiZlcShhcnJheVtpbmRleF0sdmFsdWUpKXJldHVybiBpbmRleH1yZXR1cm4tMX1mdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXgoYXJyYXksdmFsdWUpe3JldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksdmFsdWUsdHJ1ZSl9ZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4QnkoYXJyYXksdmFsdWUsaXRlcmF0ZWUpe3JldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSx2YWx1ZSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSx0cnVlKX1mdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXhPZihhcnJheSwKdmFsdWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYobGVuZ3RoKXt2YXIgaW5kZXg9YmFzZVNvcnRlZEluZGV4KGFycmF5LHZhbHVlLHRydWUpLTE7aWYoZXEoYXJyYXlbaW5kZXhdLHZhbHVlKSlyZXR1cm4gaW5kZXh9cmV0dXJuLTF9ZnVuY3Rpb24gc29ydGVkVW5pcShhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVNvcnRlZFVuaXEoYXJyYXkpOltdfWZ1bmN0aW9uIHNvcnRlZFVuaXFCeShhcnJheSxpdGVyYXRlZSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVNvcnRlZFVuaXEoYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMikpOltdfWZ1bmN0aW9uIHRhaWwoYXJyYXkpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU2xpY2UoYXJyYXksMSxsZW5ndGgpOltdfWZ1bmN0aW9uIHRha2UoYXJyYXksbixndWFyZCl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTsKbj1ndWFyZHx8bj09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihuKTtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LDAsbjwwPzA6bil9ZnVuY3Rpb24gdGFrZVJpZ2h0KGFycmF5LG4sZ3VhcmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtuPWd1YXJkfHxuPT09dW5kZWZpbmVkPzE6dG9JbnRlZ2VyKG4pO249bGVuZ3RoLW47cmV0dXJuIGJhc2VTbGljZShhcnJheSxuPDA/MDpuLGxlbmd0aCl9ZnVuY3Rpb24gdGFrZVJpZ2h0V2hpbGUoYXJyYXkscHJlZGljYXRlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlV2hpbGUoYXJyYXksZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpLGZhbHNlLHRydWUpOltdfWZ1bmN0aW9uIHRha2VXaGlsZShhcnJheSxwcmVkaWNhdGUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VXaGlsZShhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMykpOltdfXZhciB1bmlvbj1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3JldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsCjEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSkpfSk7dmFyIHVuaW9uQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgaXRlcmF0ZWU9bGFzdChhcnJheXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT11bmRlZmluZWQ7cmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywxLGlzQXJyYXlMaWtlT2JqZWN0LHRydWUpLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKX0pO3ZhciB1bmlvbldpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgY29tcGFyYXRvcj1sYXN0KGFycmF5cyk7Y29tcGFyYXRvcj10eXBlb2YgY29tcGFyYXRvcj09ImZ1bmN0aW9uIj9jb21wYXJhdG9yOnVuZGVmaW5lZDtyZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4oYXJyYXlzLDEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSksdW5kZWZpbmVkLGNvbXBhcmF0b3IpfSk7ZnVuY3Rpb24gdW5pcShhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVVuaXEoYXJyYXkpOgpbXX1mdW5jdGlvbiB1bmlxQnkoYXJyYXksaXRlcmF0ZWUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VVbmlxKGFycmF5LGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKTpbXX1mdW5jdGlvbiB1bmlxV2l0aChhcnJheSxjb21wYXJhdG9yKXtjb21wYXJhdG9yPXR5cGVvZiBjb21wYXJhdG9yPT0iZnVuY3Rpb24iP2NvbXBhcmF0b3I6dW5kZWZpbmVkO3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VVbmlxKGFycmF5LHVuZGVmaW5lZCxjb21wYXJhdG9yKTpbXX1mdW5jdGlvbiB1bnppcChhcnJheSl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTt2YXIgbGVuZ3RoPTA7YXJyYXk9YXJyYXlGaWx0ZXIoYXJyYXksZnVuY3Rpb24oZ3JvdXApe2lmKGlzQXJyYXlMaWtlT2JqZWN0KGdyb3VwKSl7bGVuZ3RoPW5hdGl2ZU1heChncm91cC5sZW5ndGgsbGVuZ3RoKTtyZXR1cm4gdHJ1ZX19KTtyZXR1cm4gYmFzZVRpbWVzKGxlbmd0aCxmdW5jdGlvbihpbmRleCl7cmV0dXJuIGFycmF5TWFwKGFycmF5LApiYXNlUHJvcGVydHkoaW5kZXgpKX0pfWZ1bmN0aW9uIHVuemlwV2l0aChhcnJheSxpdGVyYXRlZSl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTt2YXIgcmVzdWx0PXVuemlwKGFycmF5KTtpZihpdGVyYXRlZT09bnVsbClyZXR1cm4gcmVzdWx0O3JldHVybiBhcnJheU1hcChyZXN1bHQsZnVuY3Rpb24oZ3JvdXApe3JldHVybiBhcHBseShpdGVyYXRlZSx1bmRlZmluZWQsZ3JvdXApfSl9dmFyIHdpdGhvdXQ9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXtyZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpP2Jhc2VEaWZmZXJlbmNlKGFycmF5LHZhbHVlcyk6W119KTt2YXIgeG9yPWJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7cmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLGlzQXJyYXlMaWtlT2JqZWN0KSl9KTt2YXIgeG9yQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgaXRlcmF0ZWU9bGFzdChhcnJheXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT0KdW5kZWZpbmVkO3JldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cyxpc0FycmF5TGlrZU9iamVjdCksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMikpfSk7dmFyIHhvcldpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgY29tcGFyYXRvcj1sYXN0KGFycmF5cyk7Y29tcGFyYXRvcj10eXBlb2YgY29tcGFyYXRvcj09ImZ1bmN0aW9uIj9jb21wYXJhdG9yOnVuZGVmaW5lZDtyZXR1cm4gYmFzZVhvcihhcnJheUZpbHRlcihhcnJheXMsaXNBcnJheUxpa2VPYmplY3QpLHVuZGVmaW5lZCxjb21wYXJhdG9yKX0pO3ZhciB6aXA9YmFzZVJlc3QodW56aXApO2Z1bmN0aW9uIHppcE9iamVjdChwcm9wcyx2YWx1ZXMpe3JldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzfHxbXSx2YWx1ZXN8fFtdLGFzc2lnblZhbHVlKX1mdW5jdGlvbiB6aXBPYmplY3REZWVwKHByb3BzLHZhbHVlcyl7cmV0dXJuIGJhc2VaaXBPYmplY3QocHJvcHN8fFtdLHZhbHVlc3x8W10sYmFzZVNldCl9dmFyIHppcFdpdGg9CmJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7dmFyIGxlbmd0aD1hcnJheXMubGVuZ3RoLGl0ZXJhdGVlPWxlbmd0aD4xP2FycmF5c1tsZW5ndGgtMV06dW5kZWZpbmVkO2l0ZXJhdGVlPXR5cGVvZiBpdGVyYXRlZT09ImZ1bmN0aW9uIj8oYXJyYXlzLnBvcCgpLGl0ZXJhdGVlKTp1bmRlZmluZWQ7cmV0dXJuIHVuemlwV2l0aChhcnJheXMsaXRlcmF0ZWUpfSk7ZnVuY3Rpb24gY2hhaW4odmFsdWUpe3ZhciByZXN1bHQ9bG9kYXNoKHZhbHVlKTtyZXN1bHQuX19jaGFpbl9fPXRydWU7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB0YXAodmFsdWUsaW50ZXJjZXB0b3Ipe2ludGVyY2VwdG9yKHZhbHVlKTtyZXR1cm4gdmFsdWV9ZnVuY3Rpb24gdGhydSh2YWx1ZSxpbnRlcmNlcHRvcil7cmV0dXJuIGludGVyY2VwdG9yKHZhbHVlKX12YXIgd3JhcHBlckF0PWZsYXRSZXN0KGZ1bmN0aW9uKHBhdGhzKXt2YXIgbGVuZ3RoPXBhdGhzLmxlbmd0aCxzdGFydD1sZW5ndGg/cGF0aHNbMF06MCx2YWx1ZT0KdGhpcy5fX3dyYXBwZWRfXyxpbnRlcmNlcHRvcj1mdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlQXQob2JqZWN0LHBhdGhzKX07aWYobGVuZ3RoPjF8fHRoaXMuX19hY3Rpb25zX18ubGVuZ3RofHwhKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpfHwhaXNJbmRleChzdGFydCkpcmV0dXJuIHRoaXMudGhydShpbnRlcmNlcHRvcik7dmFsdWU9dmFsdWUuc2xpY2Uoc3RhcnQsK3N0YXJ0KyhsZW5ndGg/MTowKSk7dmFsdWUuX19hY3Rpb25zX18ucHVzaCh7ImZ1bmMiOnRocnUsImFyZ3MiOltpbnRlcmNlcHRvcl0sInRoaXNBcmciOnVuZGVmaW5lZH0pO3JldHVybihuZXcgTG9kYXNoV3JhcHBlcih2YWx1ZSx0aGlzLl9fY2hhaW5fXykpLnRocnUoZnVuY3Rpb24oYXJyYXkpe2lmKGxlbmd0aCYmIWFycmF5Lmxlbmd0aClhcnJheS5wdXNoKHVuZGVmaW5lZCk7cmV0dXJuIGFycmF5fSl9KTtmdW5jdGlvbiB3cmFwcGVyQ2hhaW4oKXtyZXR1cm4gY2hhaW4odGhpcyl9ZnVuY3Rpb24gd3JhcHBlckNvbW1pdCgpe3JldHVybiBuZXcgTG9kYXNoV3JhcHBlcih0aGlzLnZhbHVlKCksCnRoaXMuX19jaGFpbl9fKX1mdW5jdGlvbiB3cmFwcGVyTmV4dCgpe2lmKHRoaXMuX192YWx1ZXNfXz09PXVuZGVmaW5lZCl0aGlzLl9fdmFsdWVzX189dG9BcnJheSh0aGlzLnZhbHVlKCkpO3ZhciBkb25lPXRoaXMuX19pbmRleF9fPj10aGlzLl9fdmFsdWVzX18ubGVuZ3RoLHZhbHVlPWRvbmU/dW5kZWZpbmVkOnRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXTtyZXR1cm57ImRvbmUiOmRvbmUsInZhbHVlIjp2YWx1ZX19ZnVuY3Rpb24gd3JhcHBlclRvSXRlcmF0b3IoKXtyZXR1cm4gdGhpc31mdW5jdGlvbiB3cmFwcGVyUGxhbnQodmFsdWUpe3ZhciByZXN1bHQscGFyZW50PXRoaXM7d2hpbGUocGFyZW50IGluc3RhbmNlb2YgYmFzZUxvZGFzaCl7dmFyIGNsb25lPXdyYXBwZXJDbG9uZShwYXJlbnQpO2Nsb25lLl9faW5kZXhfXz0wO2Nsb25lLl9fdmFsdWVzX189dW5kZWZpbmVkO2lmKHJlc3VsdClwcmV2aW91cy5fX3dyYXBwZWRfXz1jbG9uZTtlbHNlIHJlc3VsdD1jbG9uZTsKdmFyIHByZXZpb3VzPWNsb25lO3BhcmVudD1wYXJlbnQuX193cmFwcGVkX199cHJldmlvdXMuX193cmFwcGVkX189dmFsdWU7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB3cmFwcGVyUmV2ZXJzZSgpe3ZhciB2YWx1ZT10aGlzLl9fd3JhcHBlZF9fO2lmKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpe3ZhciB3cmFwcGVkPXZhbHVlO2lmKHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoKXdyYXBwZWQ9bmV3IExhenlXcmFwcGVyKHRoaXMpO3dyYXBwZWQ9d3JhcHBlZC5yZXZlcnNlKCk7d3JhcHBlZC5fX2FjdGlvbnNfXy5wdXNoKHsiZnVuYyI6dGhydSwiYXJncyI6W3JldmVyc2VdLCJ0aGlzQXJnIjp1bmRlZmluZWR9KTtyZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlZCx0aGlzLl9fY2hhaW5fXyl9cmV0dXJuIHRoaXMudGhydShyZXZlcnNlKX1mdW5jdGlvbiB3cmFwcGVyVmFsdWUoKXtyZXR1cm4gYmFzZVdyYXBwZXJWYWx1ZSh0aGlzLl9fd3JhcHBlZF9fLHRoaXMuX19hY3Rpb25zX18pfQp2YXIgY291bnRCeT1jcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LGtleSkpKytyZXN1bHRba2V5XTtlbHNlIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LDEpfSk7ZnVuY3Rpb24gZXZlcnkoY29sbGVjdGlvbixwcmVkaWNhdGUsZ3VhcmQpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlFdmVyeTpiYXNlRXZlcnk7aWYoZ3VhcmQmJmlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24scHJlZGljYXRlLGd1YXJkKSlwcmVkaWNhdGU9dW5kZWZpbmVkO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpKX1mdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbixwcmVkaWNhdGUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlGaWx0ZXI6YmFzZUZpbHRlcjtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSl9dmFyIGZpbmQ9CmNyZWF0ZUZpbmQoZmluZEluZGV4KTt2YXIgZmluZExhc3Q9Y3JlYXRlRmluZChmaW5kTGFzdEluZGV4KTtmdW5jdGlvbiBmbGF0TWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3JldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbixpdGVyYXRlZSksMSl9ZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbixpdGVyYXRlZSl7cmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLGl0ZXJhdGVlKSxJTkZJTklUWSl9ZnVuY3Rpb24gZmxhdE1hcERlcHRoKGNvbGxlY3Rpb24saXRlcmF0ZWUsZGVwdGgpe2RlcHRoPWRlcHRoPT09dW5kZWZpbmVkPzE6dG9JbnRlZ2VyKGRlcHRoKTtyZXR1cm4gYmFzZUZsYXR0ZW4obWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpLGRlcHRoKX1mdW5jdGlvbiBmb3JFYWNoKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlFYWNoOmJhc2VFYWNoO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjMpKX1mdW5jdGlvbiBmb3JFYWNoUmlnaHQoY29sbGVjdGlvbixpdGVyYXRlZSl7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheUVhY2hSaWdodDpiYXNlRWFjaFJpZ2h0O3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMykpfXZhciBncm91cEJ5PWNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0LHZhbHVlLGtleSl7aWYoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsa2V5KSlyZXN1bHRba2V5XS5wdXNoKHZhbHVlKTtlbHNlIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LFt2YWx1ZV0pfSk7ZnVuY3Rpb24gaW5jbHVkZXMoY29sbGVjdGlvbix2YWx1ZSxmcm9tSW5kZXgsZ3VhcmQpe2NvbGxlY3Rpb249aXNBcnJheUxpa2UoY29sbGVjdGlvbik/Y29sbGVjdGlvbjp2YWx1ZXMoY29sbGVjdGlvbik7ZnJvbUluZGV4PWZyb21JbmRleCYmIWd1YXJkP3RvSW50ZWdlcihmcm9tSW5kZXgpOjA7dmFyIGxlbmd0aD1jb2xsZWN0aW9uLmxlbmd0aDsKaWYoZnJvbUluZGV4PDApZnJvbUluZGV4PW5hdGl2ZU1heChsZW5ndGgrZnJvbUluZGV4LDApO3JldHVybiBpc1N0cmluZyhjb2xsZWN0aW9uKT9mcm9tSW5kZXg8PWxlbmd0aCYmY29sbGVjdGlvbi5pbmRleE9mKHZhbHVlLGZyb21JbmRleCk+LTE6ISFsZW5ndGgmJmJhc2VJbmRleE9mKGNvbGxlY3Rpb24sdmFsdWUsZnJvbUluZGV4KT4tMX12YXIgaW52b2tlTWFwPWJhc2VSZXN0KGZ1bmN0aW9uKGNvbGxlY3Rpb24scGF0aCxhcmdzKXt2YXIgaW5kZXg9LTEsaXNGdW5jPXR5cGVvZiBwYXRoPT0iZnVuY3Rpb24iLHJlc3VsdD1pc0FycmF5TGlrZShjb2xsZWN0aW9uKT9BcnJheShjb2xsZWN0aW9uLmxlbmd0aCk6W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSl7cmVzdWx0WysraW5kZXhdPWlzRnVuYz9hcHBseShwYXRoLHZhbHVlLGFyZ3MpOmJhc2VJbnZva2UodmFsdWUscGF0aCxhcmdzKX0pO3JldHVybiByZXN1bHR9KTt2YXIga2V5Qnk9Y3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsCnZhbHVlLGtleSl7YmFzZUFzc2lnblZhbHVlKHJlc3VsdCxrZXksdmFsdWUpfSk7ZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlNYXA6YmFzZU1hcDtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDMpKX1mdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24saXRlcmF0ZWVzLG9yZGVycyxndWFyZCl7aWYoY29sbGVjdGlvbj09bnVsbClyZXR1cm5bXTtpZighaXNBcnJheShpdGVyYXRlZXMpKWl0ZXJhdGVlcz1pdGVyYXRlZXM9PW51bGw/W106W2l0ZXJhdGVlc107b3JkZXJzPWd1YXJkP3VuZGVmaW5lZDpvcmRlcnM7aWYoIWlzQXJyYXkob3JkZXJzKSlvcmRlcnM9b3JkZXJzPT1udWxsP1tdOltvcmRlcnNdO3JldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLGl0ZXJhdGVlcyxvcmRlcnMpfXZhciBwYXJ0aXRpb249Y3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsdmFsdWUsCmtleSl7cmVzdWx0W2tleT8wOjFdLnB1c2godmFsdWUpfSxmdW5jdGlvbigpe3JldHVybltbXSxbXV19KTtmdW5jdGlvbiByZWR1Y2UoY29sbGVjdGlvbixpdGVyYXRlZSxhY2N1bXVsYXRvcil7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheVJlZHVjZTpiYXNlUmVkdWNlLGluaXRBY2N1bT1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbixnZXRJdGVyYXRlZShpdGVyYXRlZSw0KSxhY2N1bXVsYXRvcixpbml0QWNjdW0sYmFzZUVhY2gpfWZ1bmN0aW9uIHJlZHVjZVJpZ2h0KGNvbGxlY3Rpb24saXRlcmF0ZWUsYWNjdW11bGF0b3Ipe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlSZWR1Y2VSaWdodDpiYXNlUmVkdWNlLGluaXRBY2N1bT1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbixnZXRJdGVyYXRlZShpdGVyYXRlZSw0KSxhY2N1bXVsYXRvcixpbml0QWNjdW0sYmFzZUVhY2hSaWdodCl9ZnVuY3Rpb24gcmVqZWN0KGNvbGxlY3Rpb24sCnByZWRpY2F0ZSl7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheUZpbHRlcjpiYXNlRmlsdGVyO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sbmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSkpfWZ1bmN0aW9uIHNhbXBsZShjb2xsZWN0aW9uKXt2YXIgZnVuYz1pc0FycmF5KGNvbGxlY3Rpb24pP2FycmF5U2FtcGxlOmJhc2VTYW1wbGU7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbil9ZnVuY3Rpb24gc2FtcGxlU2l6ZShjb2xsZWN0aW9uLG4sZ3VhcmQpe2lmKGd1YXJkP2lzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sbixndWFyZCk6bj09PXVuZGVmaW5lZCluPTE7ZWxzZSBuPXRvSW50ZWdlcihuKTt2YXIgZnVuYz1pc0FycmF5KGNvbGxlY3Rpb24pP2FycmF5U2FtcGxlU2l6ZTpiYXNlU2FtcGxlU2l6ZTtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLG4pfWZ1bmN0aW9uIHNodWZmbGUoY29sbGVjdGlvbil7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheVNodWZmbGU6CmJhc2VTaHVmZmxlO3JldHVybiBmdW5jKGNvbGxlY3Rpb24pfWZ1bmN0aW9uIHNpemUoY29sbGVjdGlvbil7aWYoY29sbGVjdGlvbj09bnVsbClyZXR1cm4gMDtpZihpc0FycmF5TGlrZShjb2xsZWN0aW9uKSlyZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbik/c3RyaW5nU2l6ZShjb2xsZWN0aW9uKTpjb2xsZWN0aW9uLmxlbmd0aDt2YXIgdGFnPWdldFRhZyhjb2xsZWN0aW9uKTtpZih0YWc9PW1hcFRhZ3x8dGFnPT1zZXRUYWcpcmV0dXJuIGNvbGxlY3Rpb24uc2l6ZTtyZXR1cm4gYmFzZUtleXMoY29sbGVjdGlvbikubGVuZ3RofWZ1bmN0aW9uIHNvbWUoY29sbGVjdGlvbixwcmVkaWNhdGUsZ3VhcmQpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlTb21lOmJhc2VTb21lO2lmKGd1YXJkJiZpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLHByZWRpY2F0ZSxndWFyZCkpcHJlZGljYXRlPXVuZGVmaW5lZDtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwKMykpfXZhciBzb3J0Qnk9YmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbixpdGVyYXRlZXMpe2lmKGNvbGxlY3Rpb249PW51bGwpcmV0dXJuW107dmFyIGxlbmd0aD1pdGVyYXRlZXMubGVuZ3RoO2lmKGxlbmd0aD4xJiZpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLGl0ZXJhdGVlc1swXSxpdGVyYXRlZXNbMV0pKWl0ZXJhdGVlcz1bXTtlbHNlIGlmKGxlbmd0aD4yJiZpc0l0ZXJhdGVlQ2FsbChpdGVyYXRlZXNbMF0saXRlcmF0ZWVzWzFdLGl0ZXJhdGVlc1syXSkpaXRlcmF0ZWVzPVtpdGVyYXRlZXNbMF1dO3JldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLGJhc2VGbGF0dGVuKGl0ZXJhdGVlcywxKSxbXSl9KTt2YXIgbm93PWN0eE5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4gcm9vdC5EYXRlLm5vdygpfTtmdW5jdGlvbiBhZnRlcihuLGZ1bmMpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtuPXRvSW50ZWdlcihuKTsKcmV0dXJuIGZ1bmN0aW9uKCl7aWYoLS1uPDEpcmV0dXJuIGZ1bmMuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBhcnkoZnVuYyxuLGd1YXJkKXtuPWd1YXJkP3VuZGVmaW5lZDpuO249ZnVuYyYmbj09bnVsbD9mdW5jLmxlbmd0aDpuO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9BUllfRkxBRyx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsbil9ZnVuY3Rpb24gYmVmb3JlKG4sZnVuYyl7dmFyIHJlc3VsdDtpZih0eXBlb2YgZnVuYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7bj10b0ludGVnZXIobik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoLS1uPjApcmVzdWx0PWZ1bmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKG48PTEpZnVuYz11bmRlZmluZWQ7cmV0dXJuIHJlc3VsdH19dmFyIGJpbmQ9YmFzZVJlc3QoZnVuY3Rpb24oZnVuYyx0aGlzQXJnLHBhcnRpYWxzKXt2YXIgYml0bWFzaz1XUkFQX0JJTkRfRkxBRzsKaWYocGFydGlhbHMubGVuZ3RoKXt2YXIgaG9sZGVycz1yZXBsYWNlSG9sZGVycyhwYXJ0aWFscyxnZXRIb2xkZXIoYmluZCkpO2JpdG1hc2t8PVdSQVBfUEFSVElBTF9GTEFHfXJldHVybiBjcmVhdGVXcmFwKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzLGhvbGRlcnMpfSk7dmFyIGJpbmRLZXk9YmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LGtleSxwYXJ0aWFscyl7dmFyIGJpdG1hc2s9V1JBUF9CSU5EX0ZMQUd8V1JBUF9CSU5EX0tFWV9GTEFHO2lmKHBhcnRpYWxzLmxlbmd0aCl7dmFyIGhvbGRlcnM9cmVwbGFjZUhvbGRlcnMocGFydGlhbHMsZ2V0SG9sZGVyKGJpbmRLZXkpKTtiaXRtYXNrfD1XUkFQX1BBUlRJQUxfRkxBR31yZXR1cm4gY3JlYXRlV3JhcChrZXksYml0bWFzayxvYmplY3QscGFydGlhbHMsaG9sZGVycyl9KTtmdW5jdGlvbiBjdXJyeShmdW5jLGFyaXR5LGd1YXJkKXthcml0eT1ndWFyZD91bmRlZmluZWQ6YXJpdHk7dmFyIHJlc3VsdD1jcmVhdGVXcmFwKGZ1bmMsCldSQVBfQ1VSUllfRkxBRyx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkLGFyaXR5KTtyZXN1bHQucGxhY2Vob2xkZXI9Y3VycnkucGxhY2Vob2xkZXI7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjdXJyeVJpZ2h0KGZ1bmMsYXJpdHksZ3VhcmQpe2FyaXR5PWd1YXJkP3VuZGVmaW5lZDphcml0eTt2YXIgcmVzdWx0PWNyZWF0ZVdyYXAoZnVuYyxXUkFQX0NVUlJZX1JJR0hUX0ZMQUcsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCxhcml0eSk7cmVzdWx0LnBsYWNlaG9sZGVyPWN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBkZWJvdW5jZShmdW5jLHdhaXQsb3B0aW9ucyl7dmFyIGxhc3RBcmdzLGxhc3RUaGlzLG1heFdhaXQscmVzdWx0LHRpbWVySWQsbGFzdENhbGxUaW1lLGxhc3RJbnZva2VUaW1lPTAsbGVhZGluZz1mYWxzZSxtYXhpbmc9ZmFsc2UsdHJhaWxpbmc9dHJ1ZTsKaWYodHlwZW9mIGZ1bmMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO3dhaXQ9dG9OdW1iZXIod2FpdCl8fDA7aWYoaXNPYmplY3Qob3B0aW9ucykpe2xlYWRpbmc9ISFvcHRpb25zLmxlYWRpbmc7bWF4aW5nPSJtYXhXYWl0ImluIG9wdGlvbnM7bWF4V2FpdD1tYXhpbmc/bmF0aXZlTWF4KHRvTnVtYmVyKG9wdGlvbnMubWF4V2FpdCl8fDAsd2FpdCk6bWF4V2FpdDt0cmFpbGluZz0idHJhaWxpbmciaW4gb3B0aW9ucz8hIW9wdGlvbnMudHJhaWxpbmc6dHJhaWxpbmd9ZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKXt2YXIgYXJncz1sYXN0QXJncyx0aGlzQXJnPWxhc3RUaGlzO2xhc3RBcmdzPWxhc3RUaGlzPXVuZGVmaW5lZDtsYXN0SW52b2tlVGltZT10aW1lO3Jlc3VsdD1mdW5jLmFwcGx5KHRoaXNBcmcsYXJncyk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBsZWFkaW5nRWRnZSh0aW1lKXtsYXN0SW52b2tlVGltZT10aW1lO3RpbWVySWQ9c2V0VGltZW91dCh0aW1lckV4cGlyZWQsCndhaXQpO3JldHVybiBsZWFkaW5nP2ludm9rZUZ1bmModGltZSk6cmVzdWx0fWZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSl7dmFyIHRpbWVTaW5jZUxhc3RDYWxsPXRpbWUtbGFzdENhbGxUaW1lLHRpbWVTaW5jZUxhc3RJbnZva2U9dGltZS1sYXN0SW52b2tlVGltZSx0aW1lV2FpdGluZz13YWl0LXRpbWVTaW5jZUxhc3RDYWxsO3JldHVybiBtYXhpbmc/bmF0aXZlTWluKHRpbWVXYWl0aW5nLG1heFdhaXQtdGltZVNpbmNlTGFzdEludm9rZSk6dGltZVdhaXRpbmd9ZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpe3ZhciB0aW1lU2luY2VMYXN0Q2FsbD10aW1lLWxhc3RDYWxsVGltZSx0aW1lU2luY2VMYXN0SW52b2tlPXRpbWUtbGFzdEludm9rZVRpbWU7cmV0dXJuIGxhc3RDYWxsVGltZT09PXVuZGVmaW5lZHx8dGltZVNpbmNlTGFzdENhbGw+PXdhaXR8fHRpbWVTaW5jZUxhc3RDYWxsPDB8fG1heGluZyYmdGltZVNpbmNlTGFzdEludm9rZT49bWF4V2FpdH1mdW5jdGlvbiB0aW1lckV4cGlyZWQoKXt2YXIgdGltZT0Kbm93KCk7aWYoc2hvdWxkSW52b2tlKHRpbWUpKXJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7dGltZXJJZD1zZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCxyZW1haW5pbmdXYWl0KHRpbWUpKX1mdW5jdGlvbiB0cmFpbGluZ0VkZ2UodGltZSl7dGltZXJJZD11bmRlZmluZWQ7aWYodHJhaWxpbmcmJmxhc3RBcmdzKXJldHVybiBpbnZva2VGdW5jKHRpbWUpO2xhc3RBcmdzPWxhc3RUaGlzPXVuZGVmaW5lZDtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGNhbmNlbCgpe2lmKHRpbWVySWQhPT11bmRlZmluZWQpY2xlYXJUaW1lb3V0KHRpbWVySWQpO2xhc3RJbnZva2VUaW1lPTA7bGFzdEFyZ3M9bGFzdENhbGxUaW1lPWxhc3RUaGlzPXRpbWVySWQ9dW5kZWZpbmVkfWZ1bmN0aW9uIGZsdXNoKCl7cmV0dXJuIHRpbWVySWQ9PT11bmRlZmluZWQ/cmVzdWx0OnRyYWlsaW5nRWRnZShub3coKSl9ZnVuY3Rpb24gZGVib3VuY2VkKCl7dmFyIHRpbWU9bm93KCksaXNJbnZva2luZz1zaG91bGRJbnZva2UodGltZSk7Cmxhc3RBcmdzPWFyZ3VtZW50cztsYXN0VGhpcz10aGlzO2xhc3RDYWxsVGltZT10aW1lO2lmKGlzSW52b2tpbmcpe2lmKHRpbWVySWQ9PT11bmRlZmluZWQpcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7aWYobWF4aW5nKXt0aW1lcklkPXNldFRpbWVvdXQodGltZXJFeHBpcmVkLHdhaXQpO3JldHVybiBpbnZva2VGdW5jKGxhc3RDYWxsVGltZSl9fWlmKHRpbWVySWQ9PT11bmRlZmluZWQpdGltZXJJZD1zZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCx3YWl0KTtyZXR1cm4gcmVzdWx0fWRlYm91bmNlZC5jYW5jZWw9Y2FuY2VsO2RlYm91bmNlZC5mbHVzaD1mbHVzaDtyZXR1cm4gZGVib3VuY2VkfXZhciBkZWZlcj1iYXNlUmVzdChmdW5jdGlvbihmdW5jLGFyZ3Mpe3JldHVybiBiYXNlRGVsYXkoZnVuYywxLGFyZ3MpfSk7dmFyIGRlbGF5PWJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsd2FpdCxhcmdzKXtyZXR1cm4gYmFzZURlbGF5KGZ1bmMsdG9OdW1iZXIod2FpdCl8fDAsYXJncyl9KTsKZnVuY3Rpb24gZmxpcChmdW5jKXtyZXR1cm4gY3JlYXRlV3JhcChmdW5jLFdSQVBfRkxJUF9GTEFHKX1mdW5jdGlvbiBtZW1vaXplKGZ1bmMscmVzb2x2ZXIpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24ifHxyZXNvbHZlciE9bnVsbCYmdHlwZW9mIHJlc29sdmVyIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTt2YXIgbWVtb2l6ZWQ9ZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHMsa2V5PXJlc29sdmVyP3Jlc29sdmVyLmFwcGx5KHRoaXMsYXJncyk6YXJnc1swXSxjYWNoZT1tZW1vaXplZC5jYWNoZTtpZihjYWNoZS5oYXMoa2V5KSlyZXR1cm4gY2FjaGUuZ2V0KGtleSk7dmFyIHJlc3VsdD1mdW5jLmFwcGx5KHRoaXMsYXJncyk7bWVtb2l6ZWQuY2FjaGU9Y2FjaGUuc2V0KGtleSxyZXN1bHQpfHxjYWNoZTtyZXR1cm4gcmVzdWx0fTttZW1vaXplZC5jYWNoZT1uZXcgKG1lbW9pemUuQ2FjaGV8fE1hcENhY2hlKTtyZXR1cm4gbWVtb2l6ZWR9Cm1lbW9pemUuQ2FjaGU9TWFwQ2FjaGU7ZnVuY3Rpb24gbmVnYXRlKHByZWRpY2F0ZSl7aWYodHlwZW9mIHByZWRpY2F0ZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9YXJndW1lbnRzO3N3aXRjaChhcmdzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzKTtjYXNlIDE6cmV0dXJuIXByZWRpY2F0ZS5jYWxsKHRoaXMsYXJnc1swXSk7Y2FzZSAyOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzLGFyZ3NbMF0sYXJnc1sxXSk7Y2FzZSAzOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzLGFyZ3NbMF0sYXJnc1sxXSxhcmdzWzJdKX1yZXR1cm4hcHJlZGljYXRlLmFwcGx5KHRoaXMsYXJncyl9fWZ1bmN0aW9uIG9uY2UoZnVuYyl7cmV0dXJuIGJlZm9yZSgyLGZ1bmMpfXZhciBvdmVyQXJncz1jYXN0UmVzdChmdW5jdGlvbihmdW5jLHRyYW5zZm9ybXMpe3RyYW5zZm9ybXM9dHJhbnNmb3Jtcy5sZW5ndGg9PQoxJiZpc0FycmF5KHRyYW5zZm9ybXNbMF0pP2FycmF5TWFwKHRyYW5zZm9ybXNbMF0sYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTphcnJheU1hcChiYXNlRmxhdHRlbih0cmFuc2Zvcm1zLDEpLGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7dmFyIGZ1bmNzTGVuZ3RoPXRyYW5zZm9ybXMubGVuZ3RoO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1pbihhcmdzLmxlbmd0aCxmdW5jc0xlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpYXJnc1tpbmRleF09dHJhbnNmb3Jtc1tpbmRleF0uY2FsbCh0aGlzLGFyZ3NbaW5kZXhdKTtyZXR1cm4gYXBwbHkoZnVuYyx0aGlzLGFyZ3MpfSl9KTt2YXIgcGFydGlhbD1iYXNlUmVzdChmdW5jdGlvbihmdW5jLHBhcnRpYWxzKXt2YXIgaG9sZGVycz1yZXBsYWNlSG9sZGVycyhwYXJ0aWFscyxnZXRIb2xkZXIocGFydGlhbCkpO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9QQVJUSUFMX0ZMQUcsCnVuZGVmaW5lZCxwYXJ0aWFscyxob2xkZXJzKX0pO3ZhciBwYXJ0aWFsUmlnaHQ9YmFzZVJlc3QoZnVuY3Rpb24oZnVuYyxwYXJ0aWFscyl7dmFyIGhvbGRlcnM9cmVwbGFjZUhvbGRlcnMocGFydGlhbHMsZ2V0SG9sZGVyKHBhcnRpYWxSaWdodCkpO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcsdW5kZWZpbmVkLHBhcnRpYWxzLGhvbGRlcnMpfSk7dmFyIHJlYXJnPWZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmMsaW5kZXhlcyl7cmV0dXJuIGNyZWF0ZVdyYXAoZnVuYyxXUkFQX1JFQVJHX0ZMQUcsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsaW5kZXhlcyl9KTtmdW5jdGlvbiByZXN0KGZ1bmMsc3RhcnQpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtzdGFydD1zdGFydD09PXVuZGVmaW5lZD9zdGFydDp0b0ludGVnZXIoc3RhcnQpO3JldHVybiBiYXNlUmVzdChmdW5jLHN0YXJ0KX0KZnVuY3Rpb24gc3ByZWFkKGZ1bmMsc3RhcnQpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtzdGFydD1zdGFydD09bnVsbD8wOm5hdGl2ZU1heCh0b0ludGVnZXIoc3RhcnQpLDApO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgYXJyYXk9YXJnc1tzdGFydF0sb3RoZXJBcmdzPWNhc3RTbGljZShhcmdzLDAsc3RhcnQpO2lmKGFycmF5KWFycmF5UHVzaChvdGhlckFyZ3MsYXJyYXkpO3JldHVybiBhcHBseShmdW5jLHRoaXMsb3RoZXJBcmdzKX0pfWZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsd2FpdCxvcHRpb25zKXt2YXIgbGVhZGluZz10cnVlLHRyYWlsaW5nPXRydWU7aWYodHlwZW9mIGZ1bmMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO2lmKGlzT2JqZWN0KG9wdGlvbnMpKXtsZWFkaW5nPSJsZWFkaW5nImluIG9wdGlvbnM/ISFvcHRpb25zLmxlYWRpbmc6CmxlYWRpbmc7dHJhaWxpbmc9InRyYWlsaW5nImluIG9wdGlvbnM/ISFvcHRpb25zLnRyYWlsaW5nOnRyYWlsaW5nfXJldHVybiBkZWJvdW5jZShmdW5jLHdhaXQseyJsZWFkaW5nIjpsZWFkaW5nLCJtYXhXYWl0Ijp3YWl0LCJ0cmFpbGluZyI6dHJhaWxpbmd9KX1mdW5jdGlvbiB1bmFyeShmdW5jKXtyZXR1cm4gYXJ5KGZ1bmMsMSl9ZnVuY3Rpb24gd3JhcCh2YWx1ZSx3cmFwcGVyKXtyZXR1cm4gcGFydGlhbChjYXN0RnVuY3Rpb24od3JhcHBlciksdmFsdWUpfWZ1bmN0aW9uIGNhc3RBcnJheSgpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltdO3ZhciB2YWx1ZT1hcmd1bWVudHNbMF07cmV0dXJuIGlzQXJyYXkodmFsdWUpP3ZhbHVlOlt2YWx1ZV19ZnVuY3Rpb24gY2xvbmUodmFsdWUpe3JldHVybiBiYXNlQ2xvbmUodmFsdWUsQ0xPTkVfU1lNQk9MU19GTEFHKX1mdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsY3VzdG9taXplcil7Y3VzdG9taXplcj10eXBlb2YgY3VzdG9taXplcj09CiJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSxDTE9ORV9TWU1CT0xTX0ZMQUcsY3VzdG9taXplcil9ZnVuY3Rpb24gY2xvbmVEZWVwKHZhbHVlKXtyZXR1cm4gYmFzZUNsb25lKHZhbHVlLENMT05FX0RFRVBfRkxBR3xDTE9ORV9TWU1CT0xTX0ZMQUcpfWZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsY3VzdG9taXplcil7Y3VzdG9taXplcj10eXBlb2YgY3VzdG9taXplcj09ImZ1bmN0aW9uIj9jdXN0b21pemVyOnVuZGVmaW5lZDtyZXR1cm4gYmFzZUNsb25lKHZhbHVlLENMT05FX0RFRVBfRkxBR3xDTE9ORV9TWU1CT0xTX0ZMQUcsY3VzdG9taXplcil9ZnVuY3Rpb24gY29uZm9ybXNUbyhvYmplY3Qsc291cmNlKXtyZXR1cm4gc291cmNlPT1udWxsfHxiYXNlQ29uZm9ybXNUbyhvYmplY3Qsc291cmNlLGtleXMoc291cmNlKSl9ZnVuY3Rpb24gZXEodmFsdWUsb3RoZXIpe3JldHVybiB2YWx1ZT09PW90aGVyfHx2YWx1ZSE9PXZhbHVlJiYKb3RoZXIhPT1vdGhlcn12YXIgZ3Q9Y3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlR3QpO3ZhciBndGU9Y3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSxvdGhlcil7cmV0dXJuIHZhbHVlPj1vdGhlcn0pO3ZhciBpc0FyZ3VtZW50cz1iYXNlSXNBcmd1bWVudHMoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9iYXNlSXNBcmd1bWVudHM6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCJjYWxsZWUiKSYmIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsImNhbGxlZSIpfTt2YXIgaXNBcnJheT1BcnJheS5pc0FycmF5O3ZhciBpc0FycmF5QnVmZmVyPW5vZGVJc0FycmF5QnVmZmVyP2Jhc2VVbmFyeShub2RlSXNBcnJheUJ1ZmZlcik6YmFzZUlzQXJyYXlCdWZmZXI7ZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpe3JldHVybiB2YWx1ZSE9bnVsbCYmaXNMZW5ndGgodmFsdWUubGVuZ3RoKSYmCiFpc0Z1bmN0aW9uKHZhbHVlKX1mdW5jdGlvbiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmlzQXJyYXlMaWtlKHZhbHVlKX1mdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpe3JldHVybiB2YWx1ZT09PXRydWV8fHZhbHVlPT09ZmFsc2V8fGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1ib29sVGFnfXZhciBpc0J1ZmZlcj1uYXRpdmVJc0J1ZmZlcnx8c3R1YkZhbHNlO3ZhciBpc0RhdGU9bm9kZUlzRGF0ZT9iYXNlVW5hcnkobm9kZUlzRGF0ZSk6YmFzZUlzRGF0ZTtmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZ2YWx1ZS5ub2RlVHlwZT09PTEmJiFpc1BsYWluT2JqZWN0KHZhbHVlKX1mdW5jdGlvbiBpc0VtcHR5KHZhbHVlKXtpZih2YWx1ZT09bnVsbClyZXR1cm4gdHJ1ZTtpZihpc0FycmF5TGlrZSh2YWx1ZSkmJihpc0FycmF5KHZhbHVlKXx8dHlwZW9mIHZhbHVlPT0KInN0cmluZyJ8fHR5cGVvZiB2YWx1ZS5zcGxpY2U9PSJmdW5jdGlvbiJ8fGlzQnVmZmVyKHZhbHVlKXx8aXNUeXBlZEFycmF5KHZhbHVlKXx8aXNBcmd1bWVudHModmFsdWUpKSlyZXR1cm4hdmFsdWUubGVuZ3RoO3ZhciB0YWc9Z2V0VGFnKHZhbHVlKTtpZih0YWc9PW1hcFRhZ3x8dGFnPT1zZXRUYWcpcmV0dXJuIXZhbHVlLnNpemU7aWYoaXNQcm90b3R5cGUodmFsdWUpKXJldHVybiFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO2Zvcih2YXIga2V5IGluIHZhbHVlKWlmKGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsa2V5KSlyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9ZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSxvdGhlcil7cmV0dXJuIGJhc2VJc0VxdWFsKHZhbHVlLG90aGVyKX1mdW5jdGlvbiBpc0VxdWFsV2l0aCh2YWx1ZSxvdGhlcixjdXN0b21pemVyKXtjdXN0b21pemVyPXR5cGVvZiBjdXN0b21pemVyPT0iZnVuY3Rpb24iP2N1c3RvbWl6ZXI6dW5kZWZpbmVkO3ZhciByZXN1bHQ9CmN1c3RvbWl6ZXI/Y3VzdG9taXplcih2YWx1ZSxvdGhlcik6dW5kZWZpbmVkO3JldHVybiByZXN1bHQ9PT11bmRlZmluZWQ/YmFzZUlzRXF1YWwodmFsdWUsb3RoZXIsdW5kZWZpbmVkLGN1c3RvbWl6ZXIpOiEhcmVzdWx0fWZ1bmN0aW9uIGlzRXJyb3IodmFsdWUpe2lmKCFpc09iamVjdExpa2UodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdGFnPWJhc2VHZXRUYWcodmFsdWUpO3JldHVybiB0YWc9PWVycm9yVGFnfHx0YWc9PWRvbUV4Y1RhZ3x8dHlwZW9mIHZhbHVlLm1lc3NhZ2U9PSJzdHJpbmciJiZ0eXBlb2YgdmFsdWUubmFtZT09InN0cmluZyImJiFpc1BsYWluT2JqZWN0KHZhbHVlKX1mdW5jdGlvbiBpc0Zpbml0ZSh2YWx1ZSl7cmV0dXJuIHR5cGVvZiB2YWx1ZT09Im51bWJlciImJm5hdGl2ZUlzRmluaXRlKHZhbHVlKX1mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKXtpZighaXNPYmplY3QodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdGFnPWJhc2VHZXRUYWcodmFsdWUpO3JldHVybiB0YWc9PQpmdW5jVGFnfHx0YWc9PWdlblRhZ3x8dGFnPT1hc3luY1RhZ3x8dGFnPT1wcm94eVRhZ31mdW5jdGlvbiBpc0ludGVnZXIodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJudW1iZXIiJiZ2YWx1ZT09dG9JbnRlZ2VyKHZhbHVlKX1mdW5jdGlvbiBpc0xlbmd0aCh2YWx1ZSl7cmV0dXJuIHR5cGVvZiB2YWx1ZT09Im51bWJlciImJnZhbHVlPi0xJiZ2YWx1ZSUxPT0wJiZ2YWx1ZTw9TUFYX1NBRkVfSU5URUdFUn1mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO3JldHVybiB2YWx1ZSE9bnVsbCYmKHR5cGU9PSJvYmplY3QifHx0eXBlPT0iZnVuY3Rpb24iKX1mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpe3JldHVybiB2YWx1ZSE9bnVsbCYmdHlwZW9mIHZhbHVlPT0ib2JqZWN0In12YXIgaXNNYXA9bm9kZUlzTWFwP2Jhc2VVbmFyeShub2RlSXNNYXApOmJhc2VJc01hcDtmdW5jdGlvbiBpc01hdGNoKG9iamVjdCxzb3VyY2Upe3JldHVybiBvYmplY3Q9PT0Kc291cmNlfHxiYXNlSXNNYXRjaChvYmplY3Qsc291cmNlLGdldE1hdGNoRGF0YShzb3VyY2UpKX1mdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3Qsc291cmNlLGN1c3RvbWl6ZXIpe2N1c3RvbWl6ZXI9dHlwZW9mIGN1c3RvbWl6ZXI9PSJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIGJhc2VJc01hdGNoKG9iamVjdCxzb3VyY2UsZ2V0TWF0Y2hEYXRhKHNvdXJjZSksY3VzdG9taXplcil9ZnVuY3Rpb24gaXNOYU4odmFsdWUpe3JldHVybiBpc051bWJlcih2YWx1ZSkmJnZhbHVlIT0rdmFsdWV9ZnVuY3Rpb24gaXNOYXRpdmUodmFsdWUpe2lmKGlzTWFza2FibGUodmFsdWUpKXRocm93IG5ldyBFcnJvcihDT1JFX0VSUk9SX1RFWFQpO3JldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpfWZ1bmN0aW9uIGlzTnVsbCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09bnVsbH1mdW5jdGlvbiBpc05pbCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT1udWxsfWZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKXtyZXR1cm4gdHlwZW9mIHZhbHVlPT0KIm51bWJlciJ8fGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1udW1iZXJUYWd9ZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSl7aWYoIWlzT2JqZWN0TGlrZSh2YWx1ZSl8fGJhc2VHZXRUYWcodmFsdWUpIT1vYmplY3RUYWcpcmV0dXJuIGZhbHNlO3ZhciBwcm90bz1nZXRQcm90b3R5cGUodmFsdWUpO2lmKHByb3RvPT09bnVsbClyZXR1cm4gdHJ1ZTt2YXIgQ3Rvcj1oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCJjb25zdHJ1Y3RvciIpJiZwcm90by5jb25zdHJ1Y3RvcjtyZXR1cm4gdHlwZW9mIEN0b3I9PSJmdW5jdGlvbiImJkN0b3IgaW5zdGFuY2VvZiBDdG9yJiZmdW5jVG9TdHJpbmcuY2FsbChDdG9yKT09b2JqZWN0Q3RvclN0cmluZ312YXIgaXNSZWdFeHA9bm9kZUlzUmVnRXhwP2Jhc2VVbmFyeShub2RlSXNSZWdFeHApOmJhc2VJc1JlZ0V4cDtmdW5jdGlvbiBpc1NhZmVJbnRlZ2VyKHZhbHVlKXtyZXR1cm4gaXNJbnRlZ2VyKHZhbHVlKSYmdmFsdWU+PQotTUFYX1NBRkVfSU5URUdFUiYmdmFsdWU8PU1BWF9TQUZFX0lOVEVHRVJ9dmFyIGlzU2V0PW5vZGVJc1NldD9iYXNlVW5hcnkobm9kZUlzU2V0KTpiYXNlSXNTZXQ7ZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJzdHJpbmcifHwhaXNBcnJheSh2YWx1ZSkmJmlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1zdHJpbmdUYWd9ZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJzeW1ib2wifHxpc09iamVjdExpa2UodmFsdWUpJiZiYXNlR2V0VGFnKHZhbHVlKT09c3ltYm9sVGFnfXZhciBpc1R5cGVkQXJyYXk9bm9kZUlzVHlwZWRBcnJheT9iYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSk6YmFzZUlzVHlwZWRBcnJheTtmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09dW5kZWZpbmVkfWZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJgpnZXRUYWcodmFsdWUpPT13ZWFrTWFwVGFnfWZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT13ZWFrU2V0VGFnfXZhciBsdD1jcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGJhc2VMdCk7dmFyIGx0ZT1jcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGZ1bmN0aW9uKHZhbHVlLG90aGVyKXtyZXR1cm4gdmFsdWU8PW90aGVyfSk7ZnVuY3Rpb24gdG9BcnJheSh2YWx1ZSl7aWYoIXZhbHVlKXJldHVybltdO2lmKGlzQXJyYXlMaWtlKHZhbHVlKSlyZXR1cm4gaXNTdHJpbmcodmFsdWUpP3N0cmluZ1RvQXJyYXkodmFsdWUpOmNvcHlBcnJheSh2YWx1ZSk7aWYoc3ltSXRlcmF0b3ImJnZhbHVlW3N5bUl0ZXJhdG9yXSlyZXR1cm4gaXRlcmF0b3JUb0FycmF5KHZhbHVlW3N5bUl0ZXJhdG9yXSgpKTt2YXIgdGFnPWdldFRhZyh2YWx1ZSksZnVuYz10YWc9PW1hcFRhZz9tYXBUb0FycmF5OnRhZz09c2V0VGFnP3NldFRvQXJyYXk6CnZhbHVlcztyZXR1cm4gZnVuYyh2YWx1ZSl9ZnVuY3Rpb24gdG9GaW5pdGUodmFsdWUpe2lmKCF2YWx1ZSlyZXR1cm4gdmFsdWU9PT0wP3ZhbHVlOjA7dmFsdWU9dG9OdW1iZXIodmFsdWUpO2lmKHZhbHVlPT09SU5GSU5JVFl8fHZhbHVlPT09LUlORklOSVRZKXt2YXIgc2lnbj12YWx1ZTwwPy0xOjE7cmV0dXJuIHNpZ24qTUFYX0lOVEVHRVJ9cmV0dXJuIHZhbHVlPT09dmFsdWU/dmFsdWU6MH1mdW5jdGlvbiB0b0ludGVnZXIodmFsdWUpe3ZhciByZXN1bHQ9dG9GaW5pdGUodmFsdWUpLHJlbWFpbmRlcj1yZXN1bHQlMTtyZXR1cm4gcmVzdWx0PT09cmVzdWx0P3JlbWFpbmRlcj9yZXN1bHQtcmVtYWluZGVyOnJlc3VsdDowfWZ1bmN0aW9uIHRvTGVuZ3RoKHZhbHVlKXtyZXR1cm4gdmFsdWU/YmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksMCxNQVhfQVJSQVlfTEVOR1RIKTowfWZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKXtpZih0eXBlb2YgdmFsdWU9PSJudW1iZXIiKXJldHVybiB2YWx1ZTsKaWYoaXNTeW1ib2wodmFsdWUpKXJldHVybiBOQU47aWYoaXNPYmplY3QodmFsdWUpKXt2YXIgb3RoZXI9dHlwZW9mIHZhbHVlLnZhbHVlT2Y9PSJmdW5jdGlvbiI/dmFsdWUudmFsdWVPZigpOnZhbHVlO3ZhbHVlPWlzT2JqZWN0KG90aGVyKT9vdGhlcisiIjpvdGhlcn1pZih0eXBlb2YgdmFsdWUhPSJzdHJpbmciKXJldHVybiB2YWx1ZT09PTA/dmFsdWU6K3ZhbHVlO3ZhbHVlPXZhbHVlLnJlcGxhY2UocmVUcmltLCIiKTt2YXIgaXNCaW5hcnk9cmVJc0JpbmFyeS50ZXN0KHZhbHVlKTtyZXR1cm4gaXNCaW5hcnl8fHJlSXNPY3RhbC50ZXN0KHZhbHVlKT9mcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksaXNCaW5hcnk/Mjo4KTpyZUlzQmFkSGV4LnRlc3QodmFsdWUpP05BTjordmFsdWV9ZnVuY3Rpb24gdG9QbGFpbk9iamVjdCh2YWx1ZSl7cmV0dXJuIGNvcHlPYmplY3QodmFsdWUsa2V5c0luKHZhbHVlKSl9ZnVuY3Rpb24gdG9TYWZlSW50ZWdlcih2YWx1ZSl7cmV0dXJuIHZhbHVlPwpiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwtTUFYX1NBRkVfSU5URUdFUixNQVhfU0FGRV9JTlRFR0VSKTp2YWx1ZT09PTA/dmFsdWU6MH1mdW5jdGlvbiB0b1N0cmluZyh2YWx1ZSl7cmV0dXJuIHZhbHVlPT1udWxsPyIiOmJhc2VUb1N0cmluZyh2YWx1ZSl9dmFyIGFzc2lnbj1jcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3Qsc291cmNlKXtpZihpc1Byb3RvdHlwZShzb3VyY2UpfHxpc0FycmF5TGlrZShzb3VyY2UpKXtjb3B5T2JqZWN0KHNvdXJjZSxrZXlzKHNvdXJjZSksb2JqZWN0KTtyZXR1cm59Zm9yKHZhciBrZXkgaW4gc291cmNlKWlmKGhhc093blByb3BlcnR5LmNhbGwoc291cmNlLGtleSkpYXNzaWduVmFsdWUob2JqZWN0LGtleSxzb3VyY2Vba2V5XSl9KTt2YXIgYXNzaWduSW49Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSl7Y29weU9iamVjdChzb3VyY2Usa2V5c0luKHNvdXJjZSksb2JqZWN0KX0pO3ZhciBhc3NpZ25JbldpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LApzb3VyY2Usc3JjSW5kZXgsY3VzdG9taXplcil7Y29weU9iamVjdChzb3VyY2Usa2V5c0luKHNvdXJjZSksb2JqZWN0LGN1c3RvbWl6ZXIpfSk7dmFyIGFzc2lnbldpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKXtjb3B5T2JqZWN0KHNvdXJjZSxrZXlzKHNvdXJjZSksb2JqZWN0LGN1c3RvbWl6ZXIpfSk7dmFyIGF0PWZsYXRSZXN0KGJhc2VBdCk7ZnVuY3Rpb24gY3JlYXRlKHByb3RvdHlwZSxwcm9wZXJ0aWVzKXt2YXIgcmVzdWx0PWJhc2VDcmVhdGUocHJvdG90eXBlKTtyZXR1cm4gcHJvcGVydGllcz09bnVsbD9yZXN1bHQ6YmFzZUFzc2lnbihyZXN1bHQscHJvcGVydGllcyl9dmFyIGRlZmF1bHRzPWJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCxzb3VyY2VzKXtvYmplY3Q9T2JqZWN0KG9iamVjdCk7dmFyIGluZGV4PS0xO3ZhciBsZW5ndGg9c291cmNlcy5sZW5ndGg7dmFyIGd1YXJkPWxlbmd0aD4yP3NvdXJjZXNbMl06CnVuZGVmaW5lZDtpZihndWFyZCYmaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSxzb3VyY2VzWzFdLGd1YXJkKSlsZW5ndGg9MTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHNvdXJjZT1zb3VyY2VzW2luZGV4XTt2YXIgcHJvcHM9a2V5c0luKHNvdXJjZSk7dmFyIHByb3BzSW5kZXg9LTE7dmFyIHByb3BzTGVuZ3RoPXByb3BzLmxlbmd0aDt3aGlsZSgrK3Byb3BzSW5kZXg8cHJvcHNMZW5ndGgpe3ZhciBrZXk9cHJvcHNbcHJvcHNJbmRleF07dmFyIHZhbHVlPW9iamVjdFtrZXldO2lmKHZhbHVlPT09dW5kZWZpbmVkfHxlcSh2YWx1ZSxvYmplY3RQcm90b1trZXldKSYmIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LGtleSkpb2JqZWN0W2tleV09c291cmNlW2tleV19fXJldHVybiBvYmplY3R9KTt2YXIgZGVmYXVsdHNEZWVwPWJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3Mpe2FyZ3MucHVzaCh1bmRlZmluZWQsY3VzdG9tRGVmYXVsdHNNZXJnZSk7cmV0dXJuIGFwcGx5KG1lcmdlV2l0aCwKdW5kZWZpbmVkLGFyZ3MpfSk7ZnVuY3Rpb24gZmluZEtleShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSxiYXNlRm9yT3duKX1mdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSxiYXNlRm9yT3duUmlnaHQpfWZ1bmN0aW9uIGZvckluKG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZUZvcihvYmplY3QsZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyksa2V5c0luKX1mdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZUZvclJpZ2h0KG9iamVjdCxnZXRJdGVyYXRlZShpdGVyYXRlZSwzKSxrZXlzSW4pfWZ1bmN0aW9uIGZvck93bihvYmplY3QsaXRlcmF0ZWUpe3JldHVybiBvYmplY3QmJmJhc2VGb3JPd24ob2JqZWN0LApnZXRJdGVyYXRlZShpdGVyYXRlZSwzKSl9ZnVuY3Rpb24gZm9yT3duUmlnaHQob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yT3duUmlnaHQob2JqZWN0LGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDMpKX1mdW5jdGlvbiBmdW5jdGlvbnMob2JqZWN0KXtyZXR1cm4gb2JqZWN0PT1udWxsP1tdOmJhc2VGdW5jdGlvbnMob2JqZWN0LGtleXMob2JqZWN0KSl9ZnVuY3Rpb24gZnVuY3Rpb25zSW4ob2JqZWN0KXtyZXR1cm4gb2JqZWN0PT1udWxsP1tdOmJhc2VGdW5jdGlvbnMob2JqZWN0LGtleXNJbihvYmplY3QpKX1mdW5jdGlvbiBnZXQob2JqZWN0LHBhdGgsZGVmYXVsdFZhbHVlKXt2YXIgcmVzdWx0PW9iamVjdD09bnVsbD91bmRlZmluZWQ6YmFzZUdldChvYmplY3QscGF0aCk7cmV0dXJuIHJlc3VsdD09PXVuZGVmaW5lZD9kZWZhdWx0VmFsdWU6cmVzdWx0fWZ1bmN0aW9uIGhhcyhvYmplY3QscGF0aCl7cmV0dXJuIG9iamVjdCE9bnVsbCYmaGFzUGF0aChvYmplY3QsCnBhdGgsYmFzZUhhcyl9ZnVuY3Rpb24gaGFzSW4ob2JqZWN0LHBhdGgpe3JldHVybiBvYmplY3QhPW51bGwmJmhhc1BhdGgob2JqZWN0LHBhdGgsYmFzZUhhc0luKX12YXIgaW52ZXJ0PWNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKHZhbHVlIT1udWxsJiZ0eXBlb2YgdmFsdWUudG9TdHJpbmchPSJmdW5jdGlvbiIpdmFsdWU9bmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7cmVzdWx0W3ZhbHVlXT1rZXl9LGNvbnN0YW50KGlkZW50aXR5KSk7dmFyIGludmVydEJ5PWNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKHZhbHVlIT1udWxsJiZ0eXBlb2YgdmFsdWUudG9TdHJpbmchPSJmdW5jdGlvbiIpdmFsdWU9bmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7aWYoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsdmFsdWUpKXJlc3VsdFt2YWx1ZV0ucHVzaChrZXkpO2Vsc2UgcmVzdWx0W3ZhbHVlXT1ba2V5XX0sCmdldEl0ZXJhdGVlKTt2YXIgaW52b2tlPWJhc2VSZXN0KGJhc2VJbnZva2UpO2Z1bmN0aW9uIGtleXMob2JqZWN0KXtyZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KT9hcnJheUxpa2VLZXlzKG9iamVjdCk6YmFzZUtleXMob2JqZWN0KX1mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KXtyZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KT9hcnJheUxpa2VLZXlzKG9iamVjdCx0cnVlKTpiYXNlS2V5c0luKG9iamVjdCl9ZnVuY3Rpb24gbWFwS2V5cyhvYmplY3QsaXRlcmF0ZWUpe3ZhciByZXN1bHQ9e307aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyk7YmFzZUZvck93bihvYmplY3QsZnVuY3Rpb24odmFsdWUsa2V5LG9iamVjdCl7YmFzZUFzc2lnblZhbHVlKHJlc3VsdCxpdGVyYXRlZSh2YWx1ZSxrZXksb2JqZWN0KSx2YWx1ZSl9KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG1hcFZhbHVlcyhvYmplY3QsaXRlcmF0ZWUpe3ZhciByZXN1bHQ9e307aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjMpO2Jhc2VGb3JPd24ob2JqZWN0LGZ1bmN0aW9uKHZhbHVlLGtleSxvYmplY3Qpe2Jhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LGl0ZXJhdGVlKHZhbHVlLGtleSxvYmplY3QpKX0pO3JldHVybiByZXN1bHR9dmFyIG1lcmdlPWNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCxzb3VyY2Usc3JjSW5kZXgpe2Jhc2VNZXJnZShvYmplY3Qsc291cmNlLHNyY0luZGV4KX0pO3ZhciBtZXJnZVdpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKXtiYXNlTWVyZ2Uob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKX0pO3ZhciBvbWl0PWZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCxwYXRocyl7dmFyIHJlc3VsdD17fTtpZihvYmplY3Q9PW51bGwpcmV0dXJuIHJlc3VsdDt2YXIgaXNEZWVwPWZhbHNlO3BhdGhzPWFycmF5TWFwKHBhdGhzLGZ1bmN0aW9uKHBhdGgpe3BhdGg9Y2FzdFBhdGgocGF0aCxvYmplY3QpO2lzRGVlcHx8Cihpc0RlZXA9cGF0aC5sZW5ndGg+MSk7cmV0dXJuIHBhdGh9KTtjb3B5T2JqZWN0KG9iamVjdCxnZXRBbGxLZXlzSW4ob2JqZWN0KSxyZXN1bHQpO2lmKGlzRGVlcClyZXN1bHQ9YmFzZUNsb25lKHJlc3VsdCxDTE9ORV9ERUVQX0ZMQUd8Q0xPTkVfRkxBVF9GTEFHfENMT05FX1NZTUJPTFNfRkxBRyxjdXN0b21PbWl0Q2xvbmUpO3ZhciBsZW5ndGg9cGF0aHMubGVuZ3RoO3doaWxlKGxlbmd0aC0tKWJhc2VVbnNldChyZXN1bHQscGF0aHNbbGVuZ3RoXSk7cmV0dXJuIHJlc3VsdH0pO2Z1bmN0aW9uIG9taXRCeShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gcGlja0J5KG9iamVjdCxuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlKSkpfXZhciBwaWNrPWZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCxwYXRocyl7cmV0dXJuIG9iamVjdD09bnVsbD97fTpiYXNlUGljayhvYmplY3QscGF0aHMpfSk7ZnVuY3Rpb24gcGlja0J5KG9iamVjdCxwcmVkaWNhdGUpe2lmKG9iamVjdD09bnVsbClyZXR1cm57fTsKdmFyIHByb3BzPWFycmF5TWFwKGdldEFsbEtleXNJbihvYmplY3QpLGZ1bmN0aW9uKHByb3Ape3JldHVybltwcm9wXX0pO3ByZWRpY2F0ZT1nZXRJdGVyYXRlZShwcmVkaWNhdGUpO3JldHVybiBiYXNlUGlja0J5KG9iamVjdCxwcm9wcyxmdW5jdGlvbih2YWx1ZSxwYXRoKXtyZXR1cm4gcHJlZGljYXRlKHZhbHVlLHBhdGhbMF0pfSl9ZnVuY3Rpb24gcmVzdWx0KG9iamVjdCxwYXRoLGRlZmF1bHRWYWx1ZSl7cGF0aD1jYXN0UGF0aChwYXRoLG9iamVjdCk7dmFyIGluZGV4PS0xLGxlbmd0aD1wYXRoLmxlbmd0aDtpZighbGVuZ3RoKXtsZW5ndGg9MTtvYmplY3Q9dW5kZWZpbmVkfXdoaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9b2JqZWN0PT1udWxsP3VuZGVmaW5lZDpvYmplY3RbdG9LZXkocGF0aFtpbmRleF0pXTtpZih2YWx1ZT09PXVuZGVmaW5lZCl7aW5kZXg9bGVuZ3RoO3ZhbHVlPWRlZmF1bHRWYWx1ZX1vYmplY3Q9aXNGdW5jdGlvbih2YWx1ZSk/dmFsdWUuY2FsbChvYmplY3QpOgp2YWx1ZX1yZXR1cm4gb2JqZWN0fWZ1bmN0aW9uIHNldChvYmplY3QscGF0aCx2YWx1ZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZVNldChvYmplY3QscGF0aCx2YWx1ZSl9ZnVuY3Rpb24gc2V0V2l0aChvYmplY3QscGF0aCx2YWx1ZSxjdXN0b21pemVyKXtjdXN0b21pemVyPXR5cGVvZiBjdXN0b21pemVyPT0iZnVuY3Rpb24iP2N1c3RvbWl6ZXI6dW5kZWZpbmVkO3JldHVybiBvYmplY3Q9PW51bGw/b2JqZWN0OmJhc2VTZXQob2JqZWN0LHBhdGgsdmFsdWUsY3VzdG9taXplcil9dmFyIHRvUGFpcnM9Y3JlYXRlVG9QYWlycyhrZXlzKTt2YXIgdG9QYWlyc0luPWNyZWF0ZVRvUGFpcnMoa2V5c0luKTtmdW5jdGlvbiB0cmFuc2Zvcm0ob2JqZWN0LGl0ZXJhdGVlLGFjY3VtdWxhdG9yKXt2YXIgaXNBcnI9aXNBcnJheShvYmplY3QpLGlzQXJyTGlrZT1pc0Fycnx8aXNCdWZmZXIob2JqZWN0KXx8aXNUeXBlZEFycmF5KG9iamVjdCk7aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjQpO2lmKGFjY3VtdWxhdG9yPT1udWxsKXt2YXIgQ3Rvcj1vYmplY3QmJm9iamVjdC5jb25zdHJ1Y3RvcjtpZihpc0Fyckxpa2UpYWNjdW11bGF0b3I9aXNBcnI/bmV3IEN0b3I6W107ZWxzZSBpZihpc09iamVjdChvYmplY3QpKWFjY3VtdWxhdG9yPWlzRnVuY3Rpb24oQ3Rvcik/YmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSk6e307ZWxzZSBhY2N1bXVsYXRvcj17fX0oaXNBcnJMaWtlP2FycmF5RWFjaDpiYXNlRm9yT3duKShvYmplY3QsZnVuY3Rpb24odmFsdWUsaW5kZXgsb2JqZWN0KXtyZXR1cm4gaXRlcmF0ZWUoYWNjdW11bGF0b3IsdmFsdWUsaW5kZXgsb2JqZWN0KX0pO3JldHVybiBhY2N1bXVsYXRvcn1mdW5jdGlvbiB1bnNldChvYmplY3QscGF0aCl7cmV0dXJuIG9iamVjdD09bnVsbD90cnVlOmJhc2VVbnNldChvYmplY3QscGF0aCl9ZnVuY3Rpb24gdXBkYXRlKG9iamVjdCxwYXRoLHVwZGF0ZXIpe3JldHVybiBvYmplY3Q9PW51bGw/b2JqZWN0OmJhc2VVcGRhdGUob2JqZWN0LApwYXRoLGNhc3RGdW5jdGlvbih1cGRhdGVyKSl9ZnVuY3Rpb24gdXBkYXRlV2l0aChvYmplY3QscGF0aCx1cGRhdGVyLGN1c3RvbWl6ZXIpe2N1c3RvbWl6ZXI9dHlwZW9mIGN1c3RvbWl6ZXI9PSJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZVVwZGF0ZShvYmplY3QscGF0aCxjYXN0RnVuY3Rpb24odXBkYXRlciksY3VzdG9taXplcil9ZnVuY3Rpb24gdmFsdWVzKG9iamVjdCl7cmV0dXJuIG9iamVjdD09bnVsbD9bXTpiYXNlVmFsdWVzKG9iamVjdCxrZXlzKG9iamVjdCkpfWZ1bmN0aW9uIHZhbHVlc0luKG9iamVjdCl7cmV0dXJuIG9iamVjdD09bnVsbD9bXTpiYXNlVmFsdWVzKG9iamVjdCxrZXlzSW4ob2JqZWN0KSl9ZnVuY3Rpb24gY2xhbXAobnVtYmVyLGxvd2VyLHVwcGVyKXtpZih1cHBlcj09PXVuZGVmaW5lZCl7dXBwZXI9bG93ZXI7bG93ZXI9dW5kZWZpbmVkfWlmKHVwcGVyIT09dW5kZWZpbmVkKXt1cHBlcj0KdG9OdW1iZXIodXBwZXIpO3VwcGVyPXVwcGVyPT09dXBwZXI/dXBwZXI6MH1pZihsb3dlciE9PXVuZGVmaW5lZCl7bG93ZXI9dG9OdW1iZXIobG93ZXIpO2xvd2VyPWxvd2VyPT09bG93ZXI/bG93ZXI6MH1yZXR1cm4gYmFzZUNsYW1wKHRvTnVtYmVyKG51bWJlciksbG93ZXIsdXBwZXIpfWZ1bmN0aW9uIGluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl7c3RhcnQ9dG9GaW5pdGUoc3RhcnQpO2lmKGVuZD09PXVuZGVmaW5lZCl7ZW5kPXN0YXJ0O3N0YXJ0PTB9ZWxzZSBlbmQ9dG9GaW5pdGUoZW5kKTtudW1iZXI9dG9OdW1iZXIobnVtYmVyKTtyZXR1cm4gYmFzZUluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl9ZnVuY3Rpb24gcmFuZG9tKGxvd2VyLHVwcGVyLGZsb2F0aW5nKXtpZihmbG9hdGluZyYmdHlwZW9mIGZsb2F0aW5nIT0iYm9vbGVhbiImJmlzSXRlcmF0ZWVDYWxsKGxvd2VyLHVwcGVyLGZsb2F0aW5nKSl1cHBlcj1mbG9hdGluZz11bmRlZmluZWQ7aWYoZmxvYXRpbmc9PT11bmRlZmluZWQpaWYodHlwZW9mIHVwcGVyPT0KImJvb2xlYW4iKXtmbG9hdGluZz11cHBlcjt1cHBlcj11bmRlZmluZWR9ZWxzZSBpZih0eXBlb2YgbG93ZXI9PSJib29sZWFuIil7ZmxvYXRpbmc9bG93ZXI7bG93ZXI9dW5kZWZpbmVkfWlmKGxvd2VyPT09dW5kZWZpbmVkJiZ1cHBlcj09PXVuZGVmaW5lZCl7bG93ZXI9MDt1cHBlcj0xfWVsc2V7bG93ZXI9dG9GaW5pdGUobG93ZXIpO2lmKHVwcGVyPT09dW5kZWZpbmVkKXt1cHBlcj1sb3dlcjtsb3dlcj0wfWVsc2UgdXBwZXI9dG9GaW5pdGUodXBwZXIpfWlmKGxvd2VyPnVwcGVyKXt2YXIgdGVtcD1sb3dlcjtsb3dlcj11cHBlcjt1cHBlcj10ZW1wfWlmKGZsb2F0aW5nfHxsb3dlciUxfHx1cHBlciUxKXt2YXIgcmFuZD1uYXRpdmVSYW5kb20oKTtyZXR1cm4gbmF0aXZlTWluKGxvd2VyK3JhbmQqKHVwcGVyLWxvd2VyK2ZyZWVQYXJzZUZsb2F0KCIxZS0iKygocmFuZCsiIikubGVuZ3RoLTEpKSksdXBwZXIpfXJldHVybiBiYXNlUmFuZG9tKGxvd2VyLHVwcGVyKX12YXIgY2FtZWxDYXNlPQpjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCx3b3JkLGluZGV4KXt3b3JkPXdvcmQudG9Mb3dlckNhc2UoKTtyZXR1cm4gcmVzdWx0KyhpbmRleD9jYXBpdGFsaXplKHdvcmQpOndvcmQpfSk7ZnVuY3Rpb24gY2FwaXRhbGl6ZShzdHJpbmcpe3JldHVybiB1cHBlckZpcnN0KHRvU3RyaW5nKHN0cmluZykudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gZGVidXJyKHN0cmluZyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7cmV0dXJuIHN0cmluZyYmc3RyaW5nLnJlcGxhY2UocmVMYXRpbixkZWJ1cnJMZXR0ZXIpLnJlcGxhY2UocmVDb21ib01hcmssIiIpfWZ1bmN0aW9uIGVuZHNXaXRoKHN0cmluZyx0YXJnZXQscG9zaXRpb24pe3N0cmluZz10b1N0cmluZyhzdHJpbmcpO3RhcmdldD1iYXNlVG9TdHJpbmcodGFyZ2V0KTt2YXIgbGVuZ3RoPXN0cmluZy5sZW5ndGg7cG9zaXRpb249cG9zaXRpb249PT11bmRlZmluZWQ/bGVuZ3RoOmJhc2VDbGFtcCh0b0ludGVnZXIocG9zaXRpb24pLAowLGxlbmd0aCk7dmFyIGVuZD1wb3NpdGlvbjtwb3NpdGlvbi09dGFyZ2V0Lmxlbmd0aDtyZXR1cm4gcG9zaXRpb24+PTAmJnN0cmluZy5zbGljZShwb3NpdGlvbixlbmQpPT10YXJnZXR9ZnVuY3Rpb24gZXNjYXBlKHN0cmluZyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7cmV0dXJuIHN0cmluZyYmcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKT9zdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsZXNjYXBlSHRtbENoYXIpOnN0cmluZ31mdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtyZXR1cm4gc3RyaW5nJiZyZUhhc1JlZ0V4cENoYXIudGVzdChzdHJpbmcpP3N0cmluZy5yZXBsYWNlKHJlUmVnRXhwQ2hhciwiXFwkXHgyNiIpOnN0cmluZ312YXIga2ViYWJDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyItIjoiIikrd29yZC50b0xvd2VyQ2FzZSgpfSk7CnZhciBsb3dlckNhc2U9Y3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsd29yZCxpbmRleCl7cmV0dXJuIHJlc3VsdCsoaW5kZXg/IiAiOiIiKSt3b3JkLnRvTG93ZXJDYXNlKCl9KTt2YXIgbG93ZXJGaXJzdD1jcmVhdGVDYXNlRmlyc3QoInRvTG93ZXJDYXNlIik7ZnVuY3Rpb24gcGFkKHN0cmluZyxsZW5ndGgsY2hhcnMpe3N0cmluZz10b1N0cmluZyhzdHJpbmcpO2xlbmd0aD10b0ludGVnZXIobGVuZ3RoKTt2YXIgc3RyTGVuZ3RoPWxlbmd0aD9zdHJpbmdTaXplKHN0cmluZyk6MDtpZighbGVuZ3RofHxzdHJMZW5ndGg+PWxlbmd0aClyZXR1cm4gc3RyaW5nO3ZhciBtaWQ9KGxlbmd0aC1zdHJMZW5ndGgpLzI7cmV0dXJuIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSxjaGFycykrc3RyaW5nK2NyZWF0ZVBhZGRpbmcobmF0aXZlQ2VpbChtaWQpLGNoYXJzKX1mdW5jdGlvbiBwYWRFbmQoc3RyaW5nLGxlbmd0aCxjaGFycyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7Cmxlbmd0aD10b0ludGVnZXIobGVuZ3RoKTt2YXIgc3RyTGVuZ3RoPWxlbmd0aD9zdHJpbmdTaXplKHN0cmluZyk6MDtyZXR1cm4gbGVuZ3RoJiZzdHJMZW5ndGg8bGVuZ3RoP3N0cmluZytjcmVhdGVQYWRkaW5nKGxlbmd0aC1zdHJMZW5ndGgsY2hhcnMpOnN0cmluZ31mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsbGVuZ3RoLGNoYXJzKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtsZW5ndGg9dG9JbnRlZ2VyKGxlbmd0aCk7dmFyIHN0ckxlbmd0aD1sZW5ndGg/c3RyaW5nU2l6ZShzdHJpbmcpOjA7cmV0dXJuIGxlbmd0aCYmc3RyTGVuZ3RoPGxlbmd0aD9jcmVhdGVQYWRkaW5nKGxlbmd0aC1zdHJMZW5ndGgsY2hhcnMpK3N0cmluZzpzdHJpbmd9ZnVuY3Rpb24gcGFyc2VJbnQoc3RyaW5nLHJhZGl4LGd1YXJkKXtpZihndWFyZHx8cmFkaXg9PW51bGwpcmFkaXg9MDtlbHNlIGlmKHJhZGl4KXJhZGl4PStyYWRpeDtyZXR1cm4gbmF0aXZlUGFyc2VJbnQodG9TdHJpbmcoc3RyaW5nKS5yZXBsYWNlKHJlVHJpbVN0YXJ0LAoiIikscmFkaXh8fDApfWZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsbixndWFyZCl7aWYoZ3VhcmQ/aXNJdGVyYXRlZUNhbGwoc3RyaW5nLG4sZ3VhcmQpOm49PT11bmRlZmluZWQpbj0xO2Vsc2Ugbj10b0ludGVnZXIobik7cmV0dXJuIGJhc2VSZXBlYXQodG9TdHJpbmcoc3RyaW5nKSxuKX1mdW5jdGlvbiByZXBsYWNlKCl7dmFyIGFyZ3M9YXJndW1lbnRzLHN0cmluZz10b1N0cmluZyhhcmdzWzBdKTtyZXR1cm4gYXJncy5sZW5ndGg8Mz9zdHJpbmc6c3RyaW5nLnJlcGxhY2UoYXJnc1sxXSxhcmdzWzJdKX12YXIgc25ha2VDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyJfIjoiIikrd29yZC50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gc3BsaXQoc3RyaW5nLHNlcGFyYXRvcixsaW1pdCl7aWYobGltaXQmJnR5cGVvZiBsaW1pdCE9Im51bWJlciImJmlzSXRlcmF0ZWVDYWxsKHN0cmluZyxzZXBhcmF0b3IsbGltaXQpKXNlcGFyYXRvcj0KbGltaXQ9dW5kZWZpbmVkO2xpbWl0PWxpbWl0PT09dW5kZWZpbmVkP01BWF9BUlJBWV9MRU5HVEg6bGltaXQ+Pj4wO2lmKCFsaW1pdClyZXR1cm5bXTtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtpZihzdHJpbmcmJih0eXBlb2Ygc2VwYXJhdG9yPT0ic3RyaW5nInx8c2VwYXJhdG9yIT1udWxsJiYhaXNSZWdFeHAoc2VwYXJhdG9yKSkpe3NlcGFyYXRvcj1iYXNlVG9TdHJpbmcoc2VwYXJhdG9yKTtpZighc2VwYXJhdG9yJiZoYXNVbmljb2RlKHN0cmluZykpcmV0dXJuIGNhc3RTbGljZShzdHJpbmdUb0FycmF5KHN0cmluZyksMCxsaW1pdCl9cmV0dXJuIHN0cmluZy5zcGxpdChzZXBhcmF0b3IsbGltaXQpfXZhciBzdGFydENhc2U9Y3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsd29yZCxpbmRleCl7cmV0dXJuIHJlc3VsdCsoaW5kZXg/IiAiOiIiKSt1cHBlckZpcnN0KHdvcmQpfSk7ZnVuY3Rpb24gc3RhcnRzV2l0aChzdHJpbmcsdGFyZ2V0LHBvc2l0aW9uKXtzdHJpbmc9CnRvU3RyaW5nKHN0cmluZyk7cG9zaXRpb249cG9zaXRpb249PW51bGw/MDpiYXNlQ2xhbXAodG9JbnRlZ2VyKHBvc2l0aW9uKSwwLHN0cmluZy5sZW5ndGgpO3RhcmdldD1iYXNlVG9TdHJpbmcodGFyZ2V0KTtyZXR1cm4gc3RyaW5nLnNsaWNlKHBvc2l0aW9uLHBvc2l0aW9uK3RhcmdldC5sZW5ndGgpPT10YXJnZXR9ZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLG9wdGlvbnMsZ3VhcmQpe3ZhciBzZXR0aW5ncz1sb2Rhc2gudGVtcGxhdGVTZXR0aW5ncztpZihndWFyZCYmaXNJdGVyYXRlZUNhbGwoc3RyaW5nLG9wdGlvbnMsZ3VhcmQpKW9wdGlvbnM9dW5kZWZpbmVkO3N0cmluZz10b1N0cmluZyhzdHJpbmcpO29wdGlvbnM9YXNzaWduSW5XaXRoKHt9LG9wdGlvbnMsc2V0dGluZ3MsY3VzdG9tRGVmYXVsdHNBc3NpZ25Jbik7dmFyIGltcG9ydHM9YXNzaWduSW5XaXRoKHt9LG9wdGlvbnMuaW1wb3J0cyxzZXR0aW5ncy5pbXBvcnRzLGN1c3RvbURlZmF1bHRzQXNzaWduSW4pLGltcG9ydHNLZXlzPQprZXlzKGltcG9ydHMpLGltcG9ydHNWYWx1ZXM9YmFzZVZhbHVlcyhpbXBvcnRzLGltcG9ydHNLZXlzKTt2YXIgaXNFc2NhcGluZyxpc0V2YWx1YXRpbmcsaW5kZXg9MCxpbnRlcnBvbGF0ZT1vcHRpb25zLmludGVycG9sYXRlfHxyZU5vTWF0Y2gsc291cmNlPSJfX3AgK1x4M2QgJyI7dmFyIHJlRGVsaW1pdGVycz1SZWdFeHAoKG9wdGlvbnMuZXNjYXBlfHxyZU5vTWF0Y2gpLnNvdXJjZSsifCIraW50ZXJwb2xhdGUuc291cmNlKyJ8IisoaW50ZXJwb2xhdGU9PT1yZUludGVycG9sYXRlP3JlRXNUZW1wbGF0ZTpyZU5vTWF0Y2gpLnNvdXJjZSsifCIrKG9wdGlvbnMuZXZhbHVhdGV8fHJlTm9NYXRjaCkuc291cmNlKyJ8JCIsImciKTt2YXIgc291cmNlVVJMPSIvLyMgc291cmNlVVJMXHgzZCIrKCJzb3VyY2VVUkwiaW4gb3B0aW9ucz9vcHRpb25zLnNvdXJjZVVSTDoibG9kYXNoLnRlbXBsYXRlU291cmNlc1siKyArK3RlbXBsYXRlQ291bnRlcisiXSIpKyJcbiI7c3RyaW5nLnJlcGxhY2UocmVEZWxpbWl0ZXJzLApmdW5jdGlvbihtYXRjaCxlc2NhcGVWYWx1ZSxpbnRlcnBvbGF0ZVZhbHVlLGVzVGVtcGxhdGVWYWx1ZSxldmFsdWF0ZVZhbHVlLG9mZnNldCl7aW50ZXJwb2xhdGVWYWx1ZXx8KGludGVycG9sYXRlVmFsdWU9ZXNUZW1wbGF0ZVZhbHVlKTtzb3VyY2UrPXN0cmluZy5zbGljZShpbmRleCxvZmZzZXQpLnJlcGxhY2UocmVVbmVzY2FwZWRTdHJpbmcsZXNjYXBlU3RyaW5nQ2hhcik7aWYoZXNjYXBlVmFsdWUpe2lzRXNjYXBpbmc9dHJ1ZTtzb3VyY2UrPSInICtcbl9fZSgiK2VzY2FwZVZhbHVlKyIpICtcbicifWlmKGV2YWx1YXRlVmFsdWUpe2lzRXZhbHVhdGluZz10cnVlO3NvdXJjZSs9Iic7XG4iK2V2YWx1YXRlVmFsdWUrIjtcbl9fcCArXHgzZCAnIn1pZihpbnRlcnBvbGF0ZVZhbHVlKXNvdXJjZSs9IicgK1xuKChfX3QgXHgzZCAoIitpbnRlcnBvbGF0ZVZhbHVlKyIpKSBceDNkXHgzZCBudWxsID8gJycgOiBfX3QpICtcbiciO2luZGV4PW9mZnNldCttYXRjaC5sZW5ndGg7cmV0dXJuIG1hdGNofSk7CnNvdXJjZSs9Iic7XG4iO3ZhciB2YXJpYWJsZT1vcHRpb25zLnZhcmlhYmxlO2lmKCF2YXJpYWJsZSlzb3VyY2U9IndpdGggKG9iaikge1xuIitzb3VyY2UrIlxufVxuIjtzb3VyY2U9KGlzRXZhbHVhdGluZz9zb3VyY2UucmVwbGFjZShyZUVtcHR5U3RyaW5nTGVhZGluZywiIik6c291cmNlKS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdNaWRkbGUsIiQxIikucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsIiQxOyIpO3NvdXJjZT0iZnVuY3Rpb24oIisodmFyaWFibGV8fCJvYmoiKSsiKSB7XG4iKyh2YXJpYWJsZT8iIjoib2JqIHx8IChvYmogXHgzZCB7fSk7XG4iKSsidmFyIF9fdCwgX19wIFx4M2QgJyciKyhpc0VzY2FwaW5nPyIsIF9fZSBceDNkIF8uZXNjYXBlIjoiIikrKGlzRXZhbHVhdGluZz8iLCBfX2ogXHgzZCBBcnJheS5wcm90b3R5cGUuam9pbjtcbiIrImZ1bmN0aW9uIHByaW50KCkgeyBfX3AgK1x4M2QgX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfVxuIjoiO1xuIikrc291cmNlKwoicmV0dXJuIF9fcFxufSI7dmFyIHJlc3VsdD1hdHRlbXB0KGZ1bmN0aW9uKCl7cmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLHNvdXJjZVVSTCsicmV0dXJuICIrc291cmNlKS5hcHBseSh1bmRlZmluZWQsaW1wb3J0c1ZhbHVlcyl9KTtyZXN1bHQuc291cmNlPXNvdXJjZTtpZihpc0Vycm9yKHJlc3VsdCkpdGhyb3cgcmVzdWx0O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gdG9Mb3dlcih2YWx1ZSl7cmV0dXJuIHRvU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIHRvVXBwZXIodmFsdWUpe3JldHVybiB0b1N0cmluZyh2YWx1ZSkudG9VcHBlckNhc2UoKX1mdW5jdGlvbiB0cmltKHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltLCIiKTtpZighc3RyaW5nfHwhKGNoYXJzPWJhc2VUb1N0cmluZyhjaGFycykpKXJldHVybiBzdHJpbmc7CnZhciBzdHJTeW1ib2xzPXN0cmluZ1RvQXJyYXkoc3RyaW5nKSxjaHJTeW1ib2xzPXN0cmluZ1RvQXJyYXkoY2hhcnMpLHN0YXJ0PWNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpLGVuZD1jaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsY2hyU3ltYm9scykrMTtyZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsc3RhcnQsZW5kKS5qb2luKCIiKX1mdW5jdGlvbiB0cmltRW5kKHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltRW5kLCIiKTtpZighc3RyaW5nfHwhKGNoYXJzPWJhc2VUb1N0cmluZyhjaGFycykpKXJldHVybiBzdHJpbmc7dmFyIHN0clN5bWJvbHM9c3RyaW5nVG9BcnJheShzdHJpbmcpLGVuZD1jaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsc3RyaW5nVG9BcnJheShjaGFycykpKzE7cmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLAowLGVuZCkuam9pbigiIil9ZnVuY3Rpb24gdHJpbVN0YXJ0KHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltU3RhcnQsIiIpO2lmKCFzdHJpbmd8fCEoY2hhcnM9YmFzZVRvU3RyaW5nKGNoYXJzKSkpcmV0dXJuIHN0cmluZzt2YXIgc3RyU3ltYm9scz1zdHJpbmdUb0FycmF5KHN0cmluZyksc3RhcnQ9Y2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsc3RyaW5nVG9BcnJheShjaGFycykpO3JldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scyxzdGFydCkuam9pbigiIil9ZnVuY3Rpb24gdHJ1bmNhdGUoc3RyaW5nLG9wdGlvbnMpe3ZhciBsZW5ndGg9REVGQVVMVF9UUlVOQ19MRU5HVEgsb21pc3Npb249REVGQVVMVF9UUlVOQ19PTUlTU0lPTjtpZihpc09iamVjdChvcHRpb25zKSl7dmFyIHNlcGFyYXRvcj0ic2VwYXJhdG9yImluIG9wdGlvbnM/Cm9wdGlvbnMuc2VwYXJhdG9yOnNlcGFyYXRvcjtsZW5ndGg9Imxlbmd0aCJpbiBvcHRpb25zP3RvSW50ZWdlcihvcHRpb25zLmxlbmd0aCk6bGVuZ3RoO29taXNzaW9uPSJvbWlzc2lvbiJpbiBvcHRpb25zP2Jhc2VUb1N0cmluZyhvcHRpb25zLm9taXNzaW9uKTpvbWlzc2lvbn1zdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTt2YXIgc3RyTGVuZ3RoPXN0cmluZy5sZW5ndGg7aWYoaGFzVW5pY29kZShzdHJpbmcpKXt2YXIgc3RyU3ltYm9scz1zdHJpbmdUb0FycmF5KHN0cmluZyk7c3RyTGVuZ3RoPXN0clN5bWJvbHMubGVuZ3RofWlmKGxlbmd0aD49c3RyTGVuZ3RoKXJldHVybiBzdHJpbmc7dmFyIGVuZD1sZW5ndGgtc3RyaW5nU2l6ZShvbWlzc2lvbik7aWYoZW5kPDEpcmV0dXJuIG9taXNzaW9uO3ZhciByZXN1bHQ9c3RyU3ltYm9scz9jYXN0U2xpY2Uoc3RyU3ltYm9scywwLGVuZCkuam9pbigiIik6c3RyaW5nLnNsaWNlKDAsZW5kKTtpZihzZXBhcmF0b3I9PT11bmRlZmluZWQpcmV0dXJuIHJlc3VsdCsKb21pc3Npb247aWYoc3RyU3ltYm9scyllbmQrPXJlc3VsdC5sZW5ndGgtZW5kO2lmKGlzUmVnRXhwKHNlcGFyYXRvcikpe2lmKHN0cmluZy5zbGljZShlbmQpLnNlYXJjaChzZXBhcmF0b3IpKXt2YXIgbWF0Y2gsc3Vic3RyaW5nPXJlc3VsdDtpZighc2VwYXJhdG9yLmdsb2JhbClzZXBhcmF0b3I9UmVnRXhwKHNlcGFyYXRvci5zb3VyY2UsdG9TdHJpbmcocmVGbGFncy5leGVjKHNlcGFyYXRvcikpKyJnIik7c2VwYXJhdG9yLmxhc3RJbmRleD0wO3doaWxlKG1hdGNoPXNlcGFyYXRvci5leGVjKHN1YnN0cmluZykpdmFyIG5ld0VuZD1tYXRjaC5pbmRleDtyZXN1bHQ9cmVzdWx0LnNsaWNlKDAsbmV3RW5kPT09dW5kZWZpbmVkP2VuZDpuZXdFbmQpfX1lbHNlIGlmKHN0cmluZy5pbmRleE9mKGJhc2VUb1N0cmluZyhzZXBhcmF0b3IpLGVuZCkhPWVuZCl7dmFyIGluZGV4PXJlc3VsdC5sYXN0SW5kZXhPZihzZXBhcmF0b3IpO2lmKGluZGV4Pi0xKXJlc3VsdD1yZXN1bHQuc2xpY2UoMCxpbmRleCl9cmV0dXJuIHJlc3VsdCsKb21pc3Npb259ZnVuY3Rpb24gdW5lc2NhcGUoc3RyaW5nKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtyZXR1cm4gc3RyaW5nJiZyZUhhc0VzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKT9zdHJpbmcucmVwbGFjZShyZUVzY2FwZWRIdG1sLHVuZXNjYXBlSHRtbENoYXIpOnN0cmluZ312YXIgdXBwZXJDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyIgIjoiIikrd29yZC50b1VwcGVyQ2FzZSgpfSk7dmFyIHVwcGVyRmlyc3Q9Y3JlYXRlQ2FzZUZpcnN0KCJ0b1VwcGVyQ2FzZSIpO2Z1bmN0aW9uIHdvcmRzKHN0cmluZyxwYXR0ZXJuLGd1YXJkKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtwYXR0ZXJuPWd1YXJkP3VuZGVmaW5lZDpwYXR0ZXJuO2lmKHBhdHRlcm49PT11bmRlZmluZWQpcmV0dXJuIGhhc1VuaWNvZGVXb3JkKHN0cmluZyk/dW5pY29kZVdvcmRzKHN0cmluZyk6YXNjaWlXb3JkcyhzdHJpbmcpO3JldHVybiBzdHJpbmcubWF0Y2gocGF0dGVybil8fApbXX12YXIgYXR0ZW1wdD1iYXNlUmVzdChmdW5jdGlvbihmdW5jLGFyZ3Mpe3RyeXtyZXR1cm4gYXBwbHkoZnVuYyx1bmRlZmluZWQsYXJncyl9Y2F0Y2goZSl7cmV0dXJuIGlzRXJyb3IoZSk/ZTpuZXcgRXJyb3IoZSl9fSk7dmFyIGJpbmRBbGw9ZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LG1ldGhvZE5hbWVzKXthcnJheUVhY2gobWV0aG9kTmFtZXMsZnVuY3Rpb24oa2V5KXtrZXk9dG9LZXkoa2V5KTtiYXNlQXNzaWduVmFsdWUob2JqZWN0LGtleSxiaW5kKG9iamVjdFtrZXldLG9iamVjdCkpfSk7cmV0dXJuIG9iamVjdH0pO2Z1bmN0aW9uIGNvbmQocGFpcnMpe3ZhciBsZW5ndGg9cGFpcnM9PW51bGw/MDpwYWlycy5sZW5ndGgsdG9JdGVyYXRlZT1nZXRJdGVyYXRlZSgpO3BhaXJzPSFsZW5ndGg/W106YXJyYXlNYXAocGFpcnMsZnVuY3Rpb24ocGFpcil7aWYodHlwZW9mIHBhaXJbMV0hPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO3JldHVyblt0b0l0ZXJhdGVlKHBhaXJbMF0pLApwYWlyWzFdXX0pO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgaW5kZXg9LTE7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBwYWlyPXBhaXJzW2luZGV4XTtpZihhcHBseShwYWlyWzBdLHRoaXMsYXJncykpcmV0dXJuIGFwcGx5KHBhaXJbMV0sdGhpcyxhcmdzKX19KX1mdW5jdGlvbiBjb25mb3Jtcyhzb3VyY2Upe3JldHVybiBiYXNlQ29uZm9ybXMoYmFzZUNsb25lKHNvdXJjZSxDTE9ORV9ERUVQX0ZMQUcpKX1mdW5jdGlvbiBjb25zdGFudCh2YWx1ZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHZhbHVlfX1mdW5jdGlvbiBkZWZhdWx0VG8odmFsdWUsZGVmYXVsdFZhbHVlKXtyZXR1cm4gdmFsdWU9PW51bGx8fHZhbHVlIT09dmFsdWU/ZGVmYXVsdFZhbHVlOnZhbHVlfXZhciBmbG93PWNyZWF0ZUZsb3coKTt2YXIgZmxvd1JpZ2h0PWNyZWF0ZUZsb3codHJ1ZSk7ZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpe3JldHVybiB2YWx1ZX1mdW5jdGlvbiBpdGVyYXRlZShmdW5jKXtyZXR1cm4gYmFzZUl0ZXJhdGVlKHR5cGVvZiBmdW5jPT0KImZ1bmN0aW9uIj9mdW5jOmJhc2VDbG9uZShmdW5jLENMT05FX0RFRVBfRkxBRykpfWZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKXtyZXR1cm4gYmFzZU1hdGNoZXMoYmFzZUNsb25lKHNvdXJjZSxDTE9ORV9ERUVQX0ZMQUcpKX1mdW5jdGlvbiBtYXRjaGVzUHJvcGVydHkocGF0aCxzcmNWYWx1ZSl7cmV0dXJuIGJhc2VNYXRjaGVzUHJvcGVydHkocGF0aCxiYXNlQ2xvbmUoc3JjVmFsdWUsQ0xPTkVfREVFUF9GTEFHKSl9dmFyIG1ldGhvZD1iYXNlUmVzdChmdW5jdGlvbihwYXRoLGFyZ3Mpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlSW52b2tlKG9iamVjdCxwYXRoLGFyZ3MpfX0pO3ZhciBtZXRob2RPZj1iYXNlUmVzdChmdW5jdGlvbihvYmplY3QsYXJncyl7cmV0dXJuIGZ1bmN0aW9uKHBhdGgpe3JldHVybiBiYXNlSW52b2tlKG9iamVjdCxwYXRoLGFyZ3MpfX0pO2Z1bmN0aW9uIG1peGluKG9iamVjdCxzb3VyY2Usb3B0aW9ucyl7dmFyIHByb3BzPWtleXMoc291cmNlKSwKbWV0aG9kTmFtZXM9YmFzZUZ1bmN0aW9ucyhzb3VyY2UscHJvcHMpO2lmKG9wdGlvbnM9PW51bGwmJiEoaXNPYmplY3Qoc291cmNlKSYmKG1ldGhvZE5hbWVzLmxlbmd0aHx8IXByb3BzLmxlbmd0aCkpKXtvcHRpb25zPXNvdXJjZTtzb3VyY2U9b2JqZWN0O29iamVjdD10aGlzO21ldGhvZE5hbWVzPWJhc2VGdW5jdGlvbnMoc291cmNlLGtleXMoc291cmNlKSl9dmFyIGNoYWluPSEoaXNPYmplY3Qob3B0aW9ucykmJiJjaGFpbiJpbiBvcHRpb25zKXx8ISFvcHRpb25zLmNoYWluLGlzRnVuYz1pc0Z1bmN0aW9uKG9iamVjdCk7YXJyYXlFYWNoKG1ldGhvZE5hbWVzLGZ1bmN0aW9uKG1ldGhvZE5hbWUpe3ZhciBmdW5jPXNvdXJjZVttZXRob2ROYW1lXTtvYmplY3RbbWV0aG9kTmFtZV09ZnVuYztpZihpc0Z1bmMpb2JqZWN0LnByb3RvdHlwZVttZXRob2ROYW1lXT1mdW5jdGlvbigpe3ZhciBjaGFpbkFsbD10aGlzLl9fY2hhaW5fXztpZihjaGFpbnx8Y2hhaW5BbGwpe3ZhciByZXN1bHQ9Cm9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSxhY3Rpb25zPXJlc3VsdC5fX2FjdGlvbnNfXz1jb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7YWN0aW9ucy5wdXNoKHsiZnVuYyI6ZnVuYywiYXJncyI6YXJndW1lbnRzLCJ0aGlzQXJnIjpvYmplY3R9KTtyZXN1bHQuX19jaGFpbl9fPWNoYWluQWxsO3JldHVybiByZXN1bHR9cmV0dXJuIGZ1bmMuYXBwbHkob2JqZWN0LGFycmF5UHVzaChbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX19KTtyZXR1cm4gb2JqZWN0fWZ1bmN0aW9uIG5vQ29uZmxpY3QoKXtpZihyb290Ll89PT10aGlzKXJvb3QuXz1vbGREYXNoO3JldHVybiB0aGlzfWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gbnRoQXJnKG4pe249dG9JbnRlZ2VyKG4pO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXtyZXR1cm4gYmFzZU50aChhcmdzLG4pfSl9dmFyIG92ZXI9Y3JlYXRlT3ZlcihhcnJheU1hcCk7dmFyIG92ZXJFdmVyeT1jcmVhdGVPdmVyKGFycmF5RXZlcnkpOwp2YXIgb3ZlclNvbWU9Y3JlYXRlT3ZlcihhcnJheVNvbWUpO2Z1bmN0aW9uIHByb3BlcnR5KHBhdGgpe3JldHVybiBpc0tleShwYXRoKT9iYXNlUHJvcGVydHkodG9LZXkocGF0aCkpOmJhc2VQcm9wZXJ0eURlZXAocGF0aCl9ZnVuY3Rpb24gcHJvcGVydHlPZihvYmplY3Qpe3JldHVybiBmdW5jdGlvbihwYXRoKXtyZXR1cm4gb2JqZWN0PT1udWxsP3VuZGVmaW5lZDpiYXNlR2V0KG9iamVjdCxwYXRoKX19dmFyIHJhbmdlPWNyZWF0ZVJhbmdlKCk7dmFyIHJhbmdlUmlnaHQ9Y3JlYXRlUmFuZ2UodHJ1ZSk7ZnVuY3Rpb24gc3R1YkFycmF5KCl7cmV0dXJuW119ZnVuY3Rpb24gc3R1YkZhbHNlKCl7cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIHN0dWJPYmplY3QoKXtyZXR1cm57fX1mdW5jdGlvbiBzdHViU3RyaW5nKCl7cmV0dXJuIiJ9ZnVuY3Rpb24gc3R1YlRydWUoKXtyZXR1cm4gdHJ1ZX1mdW5jdGlvbiB0aW1lcyhuLGl0ZXJhdGVlKXtuPXRvSW50ZWdlcihuKTtpZihuPDF8fG4+TUFYX1NBRkVfSU5URUdFUilyZXR1cm5bXTsKdmFyIGluZGV4PU1BWF9BUlJBWV9MRU5HVEgsbGVuZ3RoPW5hdGl2ZU1pbihuLE1BWF9BUlJBWV9MRU5HVEgpO2l0ZXJhdGVlPWdldEl0ZXJhdGVlKGl0ZXJhdGVlKTtuLT1NQVhfQVJSQVlfTEVOR1RIO3ZhciByZXN1bHQ9YmFzZVRpbWVzKGxlbmd0aCxpdGVyYXRlZSk7d2hpbGUoKytpbmRleDxuKWl0ZXJhdGVlKGluZGV4KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHRvUGF0aCh2YWx1ZSl7aWYoaXNBcnJheSh2YWx1ZSkpcmV0dXJuIGFycmF5TWFwKHZhbHVlLHRvS2V5KTtyZXR1cm4gaXNTeW1ib2wodmFsdWUpP1t2YWx1ZV06Y29weUFycmF5KHN0cmluZ1RvUGF0aCh0b1N0cmluZyh2YWx1ZSkpKX1mdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpe3ZhciBpZD0rK2lkQ291bnRlcjtyZXR1cm4gdG9TdHJpbmcocHJlZml4KStpZH12YXIgYWRkPWNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24oYXVnZW5kLGFkZGVuZCl7cmV0dXJuIGF1Z2VuZCthZGRlbmR9LDApO3ZhciBjZWlsPWNyZWF0ZVJvdW5kKCJjZWlsIik7CnZhciBkaXZpZGU9Y3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihkaXZpZGVuZCxkaXZpc29yKXtyZXR1cm4gZGl2aWRlbmQvZGl2aXNvcn0sMSk7dmFyIGZsb29yPWNyZWF0ZVJvdW5kKCJmbG9vciIpO2Z1bmN0aW9uIG1heChhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZUV4dHJlbXVtKGFycmF5LGlkZW50aXR5LGJhc2VHdCk6dW5kZWZpbmVkfWZ1bmN0aW9uIG1heEJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlRXh0cmVtdW0oYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMiksYmFzZUd0KTp1bmRlZmluZWR9ZnVuY3Rpb24gbWVhbihhcnJheSl7cmV0dXJuIGJhc2VNZWFuKGFycmF5LGlkZW50aXR5KX1mdW5jdGlvbiBtZWFuQnkoYXJyYXksaXRlcmF0ZWUpe3JldHVybiBiYXNlTWVhbihhcnJheSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSl9ZnVuY3Rpb24gbWluKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD8KYmFzZUV4dHJlbXVtKGFycmF5LGlkZW50aXR5LGJhc2VMdCk6dW5kZWZpbmVkfWZ1bmN0aW9uIG1pbkJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlRXh0cmVtdW0oYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMiksYmFzZUx0KTp1bmRlZmluZWR9dmFyIG11bHRpcGx5PWNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obXVsdGlwbGllcixtdWx0aXBsaWNhbmQpe3JldHVybiBtdWx0aXBsaWVyKm11bHRpcGxpY2FuZH0sMSk7dmFyIHJvdW5kPWNyZWF0ZVJvdW5kKCJyb3VuZCIpO3ZhciBzdWJ0cmFjdD1jcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKG1pbnVlbmQsc3VidHJhaGVuZCl7cmV0dXJuIG1pbnVlbmQtc3VidHJhaGVuZH0sMCk7ZnVuY3Rpb24gc3VtKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlU3VtKGFycmF5LGlkZW50aXR5KTowfWZ1bmN0aW9uIHN1bUJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJgphcnJheS5sZW5ndGg/YmFzZVN1bShhcnJheSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6MH1sb2Rhc2guYWZ0ZXI9YWZ0ZXI7bG9kYXNoLmFyeT1hcnk7bG9kYXNoLmFzc2lnbj1hc3NpZ247bG9kYXNoLmFzc2lnbkluPWFzc2lnbkluO2xvZGFzaC5hc3NpZ25JbldpdGg9YXNzaWduSW5XaXRoO2xvZGFzaC5hc3NpZ25XaXRoPWFzc2lnbldpdGg7bG9kYXNoLmF0PWF0O2xvZGFzaC5iZWZvcmU9YmVmb3JlO2xvZGFzaC5iaW5kPWJpbmQ7bG9kYXNoLmJpbmRBbGw9YmluZEFsbDtsb2Rhc2guYmluZEtleT1iaW5kS2V5O2xvZGFzaC5jYXN0QXJyYXk9Y2FzdEFycmF5O2xvZGFzaC5jaGFpbj1jaGFpbjtsb2Rhc2guY2h1bms9Y2h1bms7bG9kYXNoLmNvbXBhY3Q9Y29tcGFjdDtsb2Rhc2guY29uY2F0PWNvbmNhdDtsb2Rhc2guY29uZD1jb25kO2xvZGFzaC5jb25mb3Jtcz1jb25mb3Jtcztsb2Rhc2guY29uc3RhbnQ9Y29uc3RhbnQ7bG9kYXNoLmNvdW50Qnk9Y291bnRCeTtsb2Rhc2guY3JlYXRlPQpjcmVhdGU7bG9kYXNoLmN1cnJ5PWN1cnJ5O2xvZGFzaC5jdXJyeVJpZ2h0PWN1cnJ5UmlnaHQ7bG9kYXNoLmRlYm91bmNlPWRlYm91bmNlO2xvZGFzaC5kZWZhdWx0cz1kZWZhdWx0cztsb2Rhc2guZGVmYXVsdHNEZWVwPWRlZmF1bHRzRGVlcDtsb2Rhc2guZGVmZXI9ZGVmZXI7bG9kYXNoLmRlbGF5PWRlbGF5O2xvZGFzaC5kaWZmZXJlbmNlPWRpZmZlcmVuY2U7bG9kYXNoLmRpZmZlcmVuY2VCeT1kaWZmZXJlbmNlQnk7bG9kYXNoLmRpZmZlcmVuY2VXaXRoPWRpZmZlcmVuY2VXaXRoO2xvZGFzaC5kcm9wPWRyb3A7bG9kYXNoLmRyb3BSaWdodD1kcm9wUmlnaHQ7bG9kYXNoLmRyb3BSaWdodFdoaWxlPWRyb3BSaWdodFdoaWxlO2xvZGFzaC5kcm9wV2hpbGU9ZHJvcFdoaWxlO2xvZGFzaC5maWxsPWZpbGw7bG9kYXNoLmZpbHRlcj1maWx0ZXI7bG9kYXNoLmZsYXRNYXA9ZmxhdE1hcDtsb2Rhc2guZmxhdE1hcERlZXA9ZmxhdE1hcERlZXA7bG9kYXNoLmZsYXRNYXBEZXB0aD1mbGF0TWFwRGVwdGg7CmxvZGFzaC5mbGF0dGVuPWZsYXR0ZW47bG9kYXNoLmZsYXR0ZW5EZWVwPWZsYXR0ZW5EZWVwO2xvZGFzaC5mbGF0dGVuRGVwdGg9ZmxhdHRlbkRlcHRoO2xvZGFzaC5mbGlwPWZsaXA7bG9kYXNoLmZsb3c9Zmxvdztsb2Rhc2guZmxvd1JpZ2h0PWZsb3dSaWdodDtsb2Rhc2guZnJvbVBhaXJzPWZyb21QYWlycztsb2Rhc2guZnVuY3Rpb25zPWZ1bmN0aW9ucztsb2Rhc2guZnVuY3Rpb25zSW49ZnVuY3Rpb25zSW47bG9kYXNoLmdyb3VwQnk9Z3JvdXBCeTtsb2Rhc2guaW5pdGlhbD1pbml0aWFsO2xvZGFzaC5pbnRlcnNlY3Rpb249aW50ZXJzZWN0aW9uO2xvZGFzaC5pbnRlcnNlY3Rpb25CeT1pbnRlcnNlY3Rpb25CeTtsb2Rhc2guaW50ZXJzZWN0aW9uV2l0aD1pbnRlcnNlY3Rpb25XaXRoO2xvZGFzaC5pbnZlcnQ9aW52ZXJ0O2xvZGFzaC5pbnZlcnRCeT1pbnZlcnRCeTtsb2Rhc2guaW52b2tlTWFwPWludm9rZU1hcDtsb2Rhc2guaXRlcmF0ZWU9aXRlcmF0ZWU7bG9kYXNoLmtleUJ5PQprZXlCeTtsb2Rhc2gua2V5cz1rZXlzO2xvZGFzaC5rZXlzSW49a2V5c0luO2xvZGFzaC5tYXA9bWFwO2xvZGFzaC5tYXBLZXlzPW1hcEtleXM7bG9kYXNoLm1hcFZhbHVlcz1tYXBWYWx1ZXM7bG9kYXNoLm1hdGNoZXM9bWF0Y2hlcztsb2Rhc2gubWF0Y2hlc1Byb3BlcnR5PW1hdGNoZXNQcm9wZXJ0eTtsb2Rhc2gubWVtb2l6ZT1tZW1vaXplO2xvZGFzaC5tZXJnZT1tZXJnZTtsb2Rhc2gubWVyZ2VXaXRoPW1lcmdlV2l0aDtsb2Rhc2gubWV0aG9kPW1ldGhvZDtsb2Rhc2gubWV0aG9kT2Y9bWV0aG9kT2Y7bG9kYXNoLm1peGluPW1peGluO2xvZGFzaC5uZWdhdGU9bmVnYXRlO2xvZGFzaC5udGhBcmc9bnRoQXJnO2xvZGFzaC5vbWl0PW9taXQ7bG9kYXNoLm9taXRCeT1vbWl0Qnk7bG9kYXNoLm9uY2U9b25jZTtsb2Rhc2gub3JkZXJCeT1vcmRlckJ5O2xvZGFzaC5vdmVyPW92ZXI7bG9kYXNoLm92ZXJBcmdzPW92ZXJBcmdzO2xvZGFzaC5vdmVyRXZlcnk9b3ZlckV2ZXJ5O2xvZGFzaC5vdmVyU29tZT0Kb3ZlclNvbWU7bG9kYXNoLnBhcnRpYWw9cGFydGlhbDtsb2Rhc2gucGFydGlhbFJpZ2h0PXBhcnRpYWxSaWdodDtsb2Rhc2gucGFydGl0aW9uPXBhcnRpdGlvbjtsb2Rhc2gucGljaz1waWNrO2xvZGFzaC5waWNrQnk9cGlja0J5O2xvZGFzaC5wcm9wZXJ0eT1wcm9wZXJ0eTtsb2Rhc2gucHJvcGVydHlPZj1wcm9wZXJ0eU9mO2xvZGFzaC5wdWxsPXB1bGw7bG9kYXNoLnB1bGxBbGw9cHVsbEFsbDtsb2Rhc2gucHVsbEFsbEJ5PXB1bGxBbGxCeTtsb2Rhc2gucHVsbEFsbFdpdGg9cHVsbEFsbFdpdGg7bG9kYXNoLnB1bGxBdD1wdWxsQXQ7bG9kYXNoLnJhbmdlPXJhbmdlO2xvZGFzaC5yYW5nZVJpZ2h0PXJhbmdlUmlnaHQ7bG9kYXNoLnJlYXJnPXJlYXJnO2xvZGFzaC5yZWplY3Q9cmVqZWN0O2xvZGFzaC5yZW1vdmU9cmVtb3ZlO2xvZGFzaC5yZXN0PXJlc3Q7bG9kYXNoLnJldmVyc2U9cmV2ZXJzZTtsb2Rhc2guc2FtcGxlU2l6ZT1zYW1wbGVTaXplO2xvZGFzaC5zZXQ9c2V0O2xvZGFzaC5zZXRXaXRoPQpzZXRXaXRoO2xvZGFzaC5zaHVmZmxlPXNodWZmbGU7bG9kYXNoLnNsaWNlPXNsaWNlO2xvZGFzaC5zb3J0Qnk9c29ydEJ5O2xvZGFzaC5zb3J0ZWRVbmlxPXNvcnRlZFVuaXE7bG9kYXNoLnNvcnRlZFVuaXFCeT1zb3J0ZWRVbmlxQnk7bG9kYXNoLnNwbGl0PXNwbGl0O2xvZGFzaC5zcHJlYWQ9c3ByZWFkO2xvZGFzaC50YWlsPXRhaWw7bG9kYXNoLnRha2U9dGFrZTtsb2Rhc2gudGFrZVJpZ2h0PXRha2VSaWdodDtsb2Rhc2gudGFrZVJpZ2h0V2hpbGU9dGFrZVJpZ2h0V2hpbGU7bG9kYXNoLnRha2VXaGlsZT10YWtlV2hpbGU7bG9kYXNoLnRhcD10YXA7bG9kYXNoLnRocm90dGxlPXRocm90dGxlO2xvZGFzaC50aHJ1PXRocnU7bG9kYXNoLnRvQXJyYXk9dG9BcnJheTtsb2Rhc2gudG9QYWlycz10b1BhaXJzO2xvZGFzaC50b1BhaXJzSW49dG9QYWlyc0luO2xvZGFzaC50b1BhdGg9dG9QYXRoO2xvZGFzaC50b1BsYWluT2JqZWN0PXRvUGxhaW5PYmplY3Q7bG9kYXNoLnRyYW5zZm9ybT0KdHJhbnNmb3JtO2xvZGFzaC51bmFyeT11bmFyeTtsb2Rhc2gudW5pb249dW5pb247bG9kYXNoLnVuaW9uQnk9dW5pb25CeTtsb2Rhc2gudW5pb25XaXRoPXVuaW9uV2l0aDtsb2Rhc2gudW5pcT11bmlxO2xvZGFzaC51bmlxQnk9dW5pcUJ5O2xvZGFzaC51bmlxV2l0aD11bmlxV2l0aDtsb2Rhc2gudW5zZXQ9dW5zZXQ7bG9kYXNoLnVuemlwPXVuemlwO2xvZGFzaC51bnppcFdpdGg9dW56aXBXaXRoO2xvZGFzaC51cGRhdGU9dXBkYXRlO2xvZGFzaC51cGRhdGVXaXRoPXVwZGF0ZVdpdGg7bG9kYXNoLnZhbHVlcz12YWx1ZXM7bG9kYXNoLnZhbHVlc0luPXZhbHVlc0luO2xvZGFzaC53aXRob3V0PXdpdGhvdXQ7bG9kYXNoLndvcmRzPXdvcmRzO2xvZGFzaC53cmFwPXdyYXA7bG9kYXNoLnhvcj14b3I7bG9kYXNoLnhvckJ5PXhvckJ5O2xvZGFzaC54b3JXaXRoPXhvcldpdGg7bG9kYXNoLnppcD16aXA7bG9kYXNoLnppcE9iamVjdD16aXBPYmplY3Q7bG9kYXNoLnppcE9iamVjdERlZXA9CnppcE9iamVjdERlZXA7bG9kYXNoLnppcFdpdGg9emlwV2l0aDtsb2Rhc2guZW50cmllcz10b1BhaXJzO2xvZGFzaC5lbnRyaWVzSW49dG9QYWlyc0luO2xvZGFzaC5leHRlbmQ9YXNzaWduSW47bG9kYXNoLmV4dGVuZFdpdGg9YXNzaWduSW5XaXRoO21peGluKGxvZGFzaCxsb2Rhc2gpO2xvZGFzaC5hZGQ9YWRkO2xvZGFzaC5hdHRlbXB0PWF0dGVtcHQ7bG9kYXNoLmNhbWVsQ2FzZT1jYW1lbENhc2U7bG9kYXNoLmNhcGl0YWxpemU9Y2FwaXRhbGl6ZTtsb2Rhc2guY2VpbD1jZWlsO2xvZGFzaC5jbGFtcD1jbGFtcDtsb2Rhc2guY2xvbmU9Y2xvbmU7bG9kYXNoLmNsb25lRGVlcD1jbG9uZURlZXA7bG9kYXNoLmNsb25lRGVlcFdpdGg9Y2xvbmVEZWVwV2l0aDtsb2Rhc2guY2xvbmVXaXRoPWNsb25lV2l0aDtsb2Rhc2guY29uZm9ybXNUbz1jb25mb3Jtc1RvO2xvZGFzaC5kZWJ1cnI9ZGVidXJyO2xvZGFzaC5kZWZhdWx0VG89ZGVmYXVsdFRvO2xvZGFzaC5kaXZpZGU9ZGl2aWRlO2xvZGFzaC5lbmRzV2l0aD0KZW5kc1dpdGg7bG9kYXNoLmVxPWVxO2xvZGFzaC5lc2NhcGU9ZXNjYXBlO2xvZGFzaC5lc2NhcGVSZWdFeHA9ZXNjYXBlUmVnRXhwO2xvZGFzaC5ldmVyeT1ldmVyeTtsb2Rhc2guZmluZD1maW5kO2xvZGFzaC5maW5kSW5kZXg9ZmluZEluZGV4O2xvZGFzaC5maW5kS2V5PWZpbmRLZXk7bG9kYXNoLmZpbmRMYXN0PWZpbmRMYXN0O2xvZGFzaC5maW5kTGFzdEluZGV4PWZpbmRMYXN0SW5kZXg7bG9kYXNoLmZpbmRMYXN0S2V5PWZpbmRMYXN0S2V5O2xvZGFzaC5mbG9vcj1mbG9vcjtsb2Rhc2guZm9yRWFjaD1mb3JFYWNoO2xvZGFzaC5mb3JFYWNoUmlnaHQ9Zm9yRWFjaFJpZ2h0O2xvZGFzaC5mb3JJbj1mb3JJbjtsb2Rhc2guZm9ySW5SaWdodD1mb3JJblJpZ2h0O2xvZGFzaC5mb3JPd249Zm9yT3duO2xvZGFzaC5mb3JPd25SaWdodD1mb3JPd25SaWdodDtsb2Rhc2guZ2V0PWdldDtsb2Rhc2guZ3Q9Z3Q7bG9kYXNoLmd0ZT1ndGU7bG9kYXNoLmhhcz1oYXM7bG9kYXNoLmhhc0luPWhhc0luOwpsb2Rhc2guaGVhZD1oZWFkO2xvZGFzaC5pZGVudGl0eT1pZGVudGl0eTtsb2Rhc2guaW5jbHVkZXM9aW5jbHVkZXM7bG9kYXNoLmluZGV4T2Y9aW5kZXhPZjtsb2Rhc2guaW5SYW5nZT1pblJhbmdlO2xvZGFzaC5pbnZva2U9aW52b2tlO2xvZGFzaC5pc0FyZ3VtZW50cz1pc0FyZ3VtZW50cztsb2Rhc2guaXNBcnJheT1pc0FycmF5O2xvZGFzaC5pc0FycmF5QnVmZmVyPWlzQXJyYXlCdWZmZXI7bG9kYXNoLmlzQXJyYXlMaWtlPWlzQXJyYXlMaWtlO2xvZGFzaC5pc0FycmF5TGlrZU9iamVjdD1pc0FycmF5TGlrZU9iamVjdDtsb2Rhc2guaXNCb29sZWFuPWlzQm9vbGVhbjtsb2Rhc2guaXNCdWZmZXI9aXNCdWZmZXI7bG9kYXNoLmlzRGF0ZT1pc0RhdGU7bG9kYXNoLmlzRWxlbWVudD1pc0VsZW1lbnQ7bG9kYXNoLmlzRW1wdHk9aXNFbXB0eTtsb2Rhc2guaXNFcXVhbD1pc0VxdWFsO2xvZGFzaC5pc0VxdWFsV2l0aD1pc0VxdWFsV2l0aDtsb2Rhc2guaXNFcnJvcj1pc0Vycm9yO2xvZGFzaC5pc0Zpbml0ZT0KaXNGaW5pdGU7bG9kYXNoLmlzRnVuY3Rpb249aXNGdW5jdGlvbjtsb2Rhc2guaXNJbnRlZ2VyPWlzSW50ZWdlcjtsb2Rhc2guaXNMZW5ndGg9aXNMZW5ndGg7bG9kYXNoLmlzTWFwPWlzTWFwO2xvZGFzaC5pc01hdGNoPWlzTWF0Y2g7bG9kYXNoLmlzTWF0Y2hXaXRoPWlzTWF0Y2hXaXRoO2xvZGFzaC5pc05hTj1pc05hTjtsb2Rhc2guaXNOYXRpdmU9aXNOYXRpdmU7bG9kYXNoLmlzTmlsPWlzTmlsO2xvZGFzaC5pc051bGw9aXNOdWxsO2xvZGFzaC5pc051bWJlcj1pc051bWJlcjtsb2Rhc2guaXNPYmplY3Q9aXNPYmplY3Q7bG9kYXNoLmlzT2JqZWN0TGlrZT1pc09iamVjdExpa2U7bG9kYXNoLmlzUGxhaW5PYmplY3Q9aXNQbGFpbk9iamVjdDtsb2Rhc2guaXNSZWdFeHA9aXNSZWdFeHA7bG9kYXNoLmlzU2FmZUludGVnZXI9aXNTYWZlSW50ZWdlcjtsb2Rhc2guaXNTZXQ9aXNTZXQ7bG9kYXNoLmlzU3RyaW5nPWlzU3RyaW5nO2xvZGFzaC5pc1N5bWJvbD1pc1N5bWJvbDtsb2Rhc2guaXNUeXBlZEFycmF5PQppc1R5cGVkQXJyYXk7bG9kYXNoLmlzVW5kZWZpbmVkPWlzVW5kZWZpbmVkO2xvZGFzaC5pc1dlYWtNYXA9aXNXZWFrTWFwO2xvZGFzaC5pc1dlYWtTZXQ9aXNXZWFrU2V0O2xvZGFzaC5qb2luPWpvaW47bG9kYXNoLmtlYmFiQ2FzZT1rZWJhYkNhc2U7bG9kYXNoLmxhc3Q9bGFzdDtsb2Rhc2gubGFzdEluZGV4T2Y9bGFzdEluZGV4T2Y7bG9kYXNoLmxvd2VyQ2FzZT1sb3dlckNhc2U7bG9kYXNoLmxvd2VyRmlyc3Q9bG93ZXJGaXJzdDtsb2Rhc2gubHQ9bHQ7bG9kYXNoLmx0ZT1sdGU7bG9kYXNoLm1heD1tYXg7bG9kYXNoLm1heEJ5PW1heEJ5O2xvZGFzaC5tZWFuPW1lYW47bG9kYXNoLm1lYW5CeT1tZWFuQnk7bG9kYXNoLm1pbj1taW47bG9kYXNoLm1pbkJ5PW1pbkJ5O2xvZGFzaC5zdHViQXJyYXk9c3R1YkFycmF5O2xvZGFzaC5zdHViRmFsc2U9c3R1YkZhbHNlO2xvZGFzaC5zdHViT2JqZWN0PXN0dWJPYmplY3Q7bG9kYXNoLnN0dWJTdHJpbmc9c3R1YlN0cmluZztsb2Rhc2guc3R1YlRydWU9CnN0dWJUcnVlO2xvZGFzaC5tdWx0aXBseT1tdWx0aXBseTtsb2Rhc2gubnRoPW50aDtsb2Rhc2gubm9Db25mbGljdD1ub0NvbmZsaWN0O2xvZGFzaC5ub29wPW5vb3A7bG9kYXNoLm5vdz1ub3c7bG9kYXNoLnBhZD1wYWQ7bG9kYXNoLnBhZEVuZD1wYWRFbmQ7bG9kYXNoLnBhZFN0YXJ0PXBhZFN0YXJ0O2xvZGFzaC5wYXJzZUludD1wYXJzZUludDtsb2Rhc2gucmFuZG9tPXJhbmRvbTtsb2Rhc2gucmVkdWNlPXJlZHVjZTtsb2Rhc2gucmVkdWNlUmlnaHQ9cmVkdWNlUmlnaHQ7bG9kYXNoLnJlcGVhdD1yZXBlYXQ7bG9kYXNoLnJlcGxhY2U9cmVwbGFjZTtsb2Rhc2gucmVzdWx0PXJlc3VsdDtsb2Rhc2gucm91bmQ9cm91bmQ7bG9kYXNoLnJ1bkluQ29udGV4dD1ydW5JbkNvbnRleHQ7bG9kYXNoLnNhbXBsZT1zYW1wbGU7bG9kYXNoLnNpemU9c2l6ZTtsb2Rhc2guc25ha2VDYXNlPXNuYWtlQ2FzZTtsb2Rhc2guc29tZT1zb21lO2xvZGFzaC5zb3J0ZWRJbmRleD1zb3J0ZWRJbmRleDtsb2Rhc2guc29ydGVkSW5kZXhCeT0Kc29ydGVkSW5kZXhCeTtsb2Rhc2guc29ydGVkSW5kZXhPZj1zb3J0ZWRJbmRleE9mO2xvZGFzaC5zb3J0ZWRMYXN0SW5kZXg9c29ydGVkTGFzdEluZGV4O2xvZGFzaC5zb3J0ZWRMYXN0SW5kZXhCeT1zb3J0ZWRMYXN0SW5kZXhCeTtsb2Rhc2guc29ydGVkTGFzdEluZGV4T2Y9c29ydGVkTGFzdEluZGV4T2Y7bG9kYXNoLnN0YXJ0Q2FzZT1zdGFydENhc2U7bG9kYXNoLnN0YXJ0c1dpdGg9c3RhcnRzV2l0aDtsb2Rhc2guc3VidHJhY3Q9c3VidHJhY3Q7bG9kYXNoLnN1bT1zdW07bG9kYXNoLnN1bUJ5PXN1bUJ5O2xvZGFzaC50ZW1wbGF0ZT10ZW1wbGF0ZTtsb2Rhc2gudGltZXM9dGltZXM7bG9kYXNoLnRvRmluaXRlPXRvRmluaXRlO2xvZGFzaC50b0ludGVnZXI9dG9JbnRlZ2VyO2xvZGFzaC50b0xlbmd0aD10b0xlbmd0aDtsb2Rhc2gudG9Mb3dlcj10b0xvd2VyO2xvZGFzaC50b051bWJlcj10b051bWJlcjtsb2Rhc2gudG9TYWZlSW50ZWdlcj10b1NhZmVJbnRlZ2VyO2xvZGFzaC50b1N0cmluZz0KdG9TdHJpbmc7bG9kYXNoLnRvVXBwZXI9dG9VcHBlcjtsb2Rhc2gudHJpbT10cmltO2xvZGFzaC50cmltRW5kPXRyaW1FbmQ7bG9kYXNoLnRyaW1TdGFydD10cmltU3RhcnQ7bG9kYXNoLnRydW5jYXRlPXRydW5jYXRlO2xvZGFzaC51bmVzY2FwZT11bmVzY2FwZTtsb2Rhc2gudW5pcXVlSWQ9dW5pcXVlSWQ7bG9kYXNoLnVwcGVyQ2FzZT11cHBlckNhc2U7bG9kYXNoLnVwcGVyRmlyc3Q9dXBwZXJGaXJzdDtsb2Rhc2guZWFjaD1mb3JFYWNoO2xvZGFzaC5lYWNoUmlnaHQ9Zm9yRWFjaFJpZ2h0O2xvZGFzaC5maXJzdD1oZWFkO21peGluKGxvZGFzaCxmdW5jdGlvbigpe3ZhciBzb3VyY2U9e307YmFzZUZvck93bihsb2Rhc2gsZnVuY3Rpb24oZnVuYyxtZXRob2ROYW1lKXtpZighaGFzT3duUHJvcGVydHkuY2FsbChsb2Rhc2gucHJvdG90eXBlLG1ldGhvZE5hbWUpKXNvdXJjZVttZXRob2ROYW1lXT1mdW5jfSk7cmV0dXJuIHNvdXJjZX0oKSx7ImNoYWluIjpmYWxzZX0pO2xvZGFzaC5WRVJTSU9OPQpWRVJTSU9OO2FycmF5RWFjaChbImJpbmQiLCJiaW5kS2V5IiwiY3VycnkiLCJjdXJyeVJpZ2h0IiwicGFydGlhbCIsInBhcnRpYWxSaWdodCJdLGZ1bmN0aW9uKG1ldGhvZE5hbWUpe2xvZGFzaFttZXRob2ROYW1lXS5wbGFjZWhvbGRlcj1sb2Rhc2h9KTthcnJheUVhY2goWyJkcm9wIiwidGFrZSJdLGZ1bmN0aW9uKG1ldGhvZE5hbWUsaW5kZXgpe0xhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXT1mdW5jdGlvbihuKXtuPW49PT11bmRlZmluZWQ/MTpuYXRpdmVNYXgodG9JbnRlZ2VyKG4pLDApO3ZhciByZXN1bHQ9dGhpcy5fX2ZpbHRlcmVkX18mJiFpbmRleD9uZXcgTGF6eVdyYXBwZXIodGhpcyk6dGhpcy5jbG9uZSgpO2lmKHJlc3VsdC5fX2ZpbHRlcmVkX18pcmVzdWx0Ll9fdGFrZUNvdW50X189bmF0aXZlTWluKG4scmVzdWx0Ll9fdGFrZUNvdW50X18pO2Vsc2UgcmVzdWx0Ll9fdmlld3NfXy5wdXNoKHsic2l6ZSI6bmF0aXZlTWluKG4sTUFYX0FSUkFZX0xFTkdUSCksCiJ0eXBlIjptZXRob2ROYW1lKyhyZXN1bHQuX19kaXJfXzwwPyJSaWdodCI6IiIpfSk7cmV0dXJuIHJlc3VsdH07TGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWUrIlJpZ2h0Il09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucmV2ZXJzZSgpW21ldGhvZE5hbWVdKG4pLnJldmVyc2UoKX19KTthcnJheUVhY2goWyJmaWx0ZXIiLCJtYXAiLCJ0YWtlV2hpbGUiXSxmdW5jdGlvbihtZXRob2ROYW1lLGluZGV4KXt2YXIgdHlwZT1pbmRleCsxLGlzRmlsdGVyPXR5cGU9PUxBWllfRklMVEVSX0ZMQUd8fHR5cGU9PUxBWllfV0hJTEVfRkxBRztMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oaXRlcmF0ZWUpe3ZhciByZXN1bHQ9dGhpcy5jbG9uZSgpO3Jlc3VsdC5fX2l0ZXJhdGVlc19fLnB1c2goeyJpdGVyYXRlZSI6Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyksInR5cGUiOnR5cGV9KTtyZXN1bHQuX19maWx0ZXJlZF9fPXJlc3VsdC5fX2ZpbHRlcmVkX198fAppc0ZpbHRlcjtyZXR1cm4gcmVzdWx0fX0pO2FycmF5RWFjaChbImhlYWQiLCJsYXN0Il0sZnVuY3Rpb24obWV0aG9kTmFtZSxpbmRleCl7dmFyIHRha2VOYW1lPSJ0YWtlIisoaW5kZXg/IlJpZ2h0IjoiIik7TGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdGFrZU5hbWVdKDEpLnZhbHVlKClbMF19fSk7YXJyYXlFYWNoKFsiaW5pdGlhbCIsInRhaWwiXSxmdW5jdGlvbihtZXRob2ROYW1lLGluZGV4KXt2YXIgZHJvcE5hbWU9ImRyb3AiKyhpbmRleD8iIjoiUmlnaHQiKTtMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2ZpbHRlcmVkX18/bmV3IExhenlXcmFwcGVyKHRoaXMpOnRoaXNbZHJvcE5hbWVdKDEpfX0pO0xhenlXcmFwcGVyLnByb3RvdHlwZS5jb21wYWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyKGlkZW50aXR5KX07TGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmQ9CmZ1bmN0aW9uKHByZWRpY2F0ZSl7cmV0dXJuIHRoaXMuZmlsdGVyKHByZWRpY2F0ZSkuaGVhZCgpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUuZmluZExhc3Q9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZChwcmVkaWNhdGUpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUuaW52b2tlTWFwPWJhc2VSZXN0KGZ1bmN0aW9uKHBhdGgsYXJncyl7aWYodHlwZW9mIHBhdGg9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBMYXp5V3JhcHBlcih0aGlzKTtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24odmFsdWUpe3JldHVybiBiYXNlSW52b2tlKHZhbHVlLHBhdGgsYXJncyl9KX0pO0xhenlXcmFwcGVyLnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5maWx0ZXIobmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSkpKX07TGF6eVdyYXBwZXIucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKHN0YXJ0LGVuZCl7c3RhcnQ9dG9JbnRlZ2VyKHN0YXJ0KTsKdmFyIHJlc3VsdD10aGlzO2lmKHJlc3VsdC5fX2ZpbHRlcmVkX18mJihzdGFydD4wfHxlbmQ8MCkpcmV0dXJuIG5ldyBMYXp5V3JhcHBlcihyZXN1bHQpO2lmKHN0YXJ0PDApcmVzdWx0PXJlc3VsdC50YWtlUmlnaHQoLXN0YXJ0KTtlbHNlIGlmKHN0YXJ0KXJlc3VsdD1yZXN1bHQuZHJvcChzdGFydCk7aWYoZW5kIT09dW5kZWZpbmVkKXtlbmQ9dG9JbnRlZ2VyKGVuZCk7cmVzdWx0PWVuZDwwP3Jlc3VsdC5kcm9wUmlnaHQoLWVuZCk6cmVzdWx0LnRha2UoZW5kLXN0YXJ0KX1yZXR1cm4gcmVzdWx0fTtMYXp5V3JhcHBlci5wcm90b3R5cGUudGFrZVJpZ2h0V2hpbGU9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkudGFrZVdoaWxlKHByZWRpY2F0ZSkucmV2ZXJzZSgpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRha2UoTUFYX0FSUkFZX0xFTkdUSCl9O2Jhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLApmdW5jdGlvbihmdW5jLG1ldGhvZE5hbWUpe3ZhciBjaGVja0l0ZXJhdGVlPS9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG1ldGhvZE5hbWUpLGlzVGFrZXI9L14oPzpoZWFkfGxhc3QpJC8udGVzdChtZXRob2ROYW1lKSxsb2Rhc2hGdW5jPWxvZGFzaFtpc1Rha2VyPyJ0YWtlIisobWV0aG9kTmFtZT09Imxhc3QiPyJSaWdodCI6IiIpOm1ldGhvZE5hbWVdLHJldFVud3JhcHBlZD1pc1Rha2VyfHwvXmZpbmQvLnRlc3QobWV0aG9kTmFtZSk7aWYoIWxvZGFzaEZ1bmMpcmV0dXJuO2xvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXt2YXIgdmFsdWU9dGhpcy5fX3dyYXBwZWRfXyxhcmdzPWlzVGFrZXI/WzFdOmFyZ3VtZW50cyxpc0xhenk9dmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcixpdGVyYXRlZT1hcmdzWzBdLHVzZUxhenk9aXNMYXp5fHxpc0FycmF5KHZhbHVlKTt2YXIgaW50ZXJjZXB0b3I9ZnVuY3Rpb24odmFsdWUpe3ZhciByZXN1bHQ9CmxvZGFzaEZ1bmMuYXBwbHkobG9kYXNoLGFycmF5UHVzaChbdmFsdWVdLGFyZ3MpKTtyZXR1cm4gaXNUYWtlciYmY2hhaW5BbGw/cmVzdWx0WzBdOnJlc3VsdH07aWYodXNlTGF6eSYmY2hlY2tJdGVyYXRlZSYmdHlwZW9mIGl0ZXJhdGVlPT0iZnVuY3Rpb24iJiZpdGVyYXRlZS5sZW5ndGghPTEpaXNMYXp5PXVzZUxhenk9ZmFsc2U7dmFyIGNoYWluQWxsPXRoaXMuX19jaGFpbl9fLGlzSHlicmlkPSEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsaXNVbndyYXBwZWQ9cmV0VW53cmFwcGVkJiYhY2hhaW5BbGwsb25seUxhenk9aXNMYXp5JiYhaXNIeWJyaWQ7aWYoIXJldFVud3JhcHBlZCYmdXNlTGF6eSl7dmFsdWU9b25seUxhenk/dmFsdWU6bmV3IExhenlXcmFwcGVyKHRoaXMpO3ZhciByZXN1bHQ9ZnVuYy5hcHBseSh2YWx1ZSxhcmdzKTtyZXN1bHQuX19hY3Rpb25zX18ucHVzaCh7ImZ1bmMiOnRocnUsImFyZ3MiOltpbnRlcmNlcHRvcl0sInRoaXNBcmciOnVuZGVmaW5lZH0pO3JldHVybiBuZXcgTG9kYXNoV3JhcHBlcihyZXN1bHQsCmNoYWluQWxsKX1pZihpc1Vud3JhcHBlZCYmb25seUxhenkpcmV0dXJuIGZ1bmMuYXBwbHkodGhpcyxhcmdzKTtyZXN1bHQ9dGhpcy50aHJ1KGludGVyY2VwdG9yKTtyZXR1cm4gaXNVbndyYXBwZWQ/aXNUYWtlcj9yZXN1bHQudmFsdWUoKVswXTpyZXN1bHQudmFsdWUoKTpyZXN1bHR9fSk7YXJyYXlFYWNoKFsicG9wIiwicHVzaCIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSxmdW5jdGlvbihtZXRob2ROYW1lKXt2YXIgZnVuYz1hcnJheVByb3RvW21ldGhvZE5hbWVdLGNoYWluTmFtZT0vXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSk/InRhcCI6InRocnUiLHJldFVud3JhcHBlZD0vXig/OnBvcHxzaGlmdCkkLy50ZXN0KG1ldGhvZE5hbWUpO2xvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHM7aWYocmV0VW53cmFwcGVkJiYhdGhpcy5fX2NoYWluX18pe3ZhciB2YWx1ZT10aGlzLnZhbHVlKCk7CnJldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpP3ZhbHVlOltdLGFyZ3MpfXJldHVybiB0aGlzW2NoYWluTmFtZV0oZnVuY3Rpb24odmFsdWUpe3JldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpP3ZhbHVlOltdLGFyZ3MpfSl9fSk7YmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsZnVuY3Rpb24oZnVuYyxtZXRob2ROYW1lKXt2YXIgbG9kYXNoRnVuYz1sb2Rhc2hbbWV0aG9kTmFtZV07aWYobG9kYXNoRnVuYyl7dmFyIGtleT1sb2Rhc2hGdW5jLm5hbWUrIiIsbmFtZXM9cmVhbE5hbWVzW2tleV18fChyZWFsTmFtZXNba2V5XT1bXSk7bmFtZXMucHVzaCh7Im5hbWUiOm1ldGhvZE5hbWUsImZ1bmMiOmxvZGFzaEZ1bmN9KX19KTtyZWFsTmFtZXNbY3JlYXRlSHlicmlkKHVuZGVmaW5lZCxXUkFQX0JJTkRfS0VZX0ZMQUcpLm5hbWVdPVt7Im5hbWUiOiJ3cmFwcGVyIiwiZnVuYyI6dW5kZWZpbmVkfV07TGF6eVdyYXBwZXIucHJvdG90eXBlLmNsb25lPWxhenlDbG9uZTsKTGF6eVdyYXBwZXIucHJvdG90eXBlLnJldmVyc2U9bGF6eVJldmVyc2U7TGF6eVdyYXBwZXIucHJvdG90eXBlLnZhbHVlPWxhenlWYWx1ZTtsb2Rhc2gucHJvdG90eXBlLmF0PXdyYXBwZXJBdDtsb2Rhc2gucHJvdG90eXBlLmNoYWluPXdyYXBwZXJDaGFpbjtsb2Rhc2gucHJvdG90eXBlLmNvbW1pdD13cmFwcGVyQ29tbWl0O2xvZGFzaC5wcm90b3R5cGUubmV4dD13cmFwcGVyTmV4dDtsb2Rhc2gucHJvdG90eXBlLnBsYW50PXdyYXBwZXJQbGFudDtsb2Rhc2gucHJvdG90eXBlLnJldmVyc2U9d3JhcHBlclJldmVyc2U7bG9kYXNoLnByb3RvdHlwZS50b0pTT049bG9kYXNoLnByb3RvdHlwZS52YWx1ZU9mPWxvZGFzaC5wcm90b3R5cGUudmFsdWU9d3JhcHBlclZhbHVlO2xvZGFzaC5wcm90b3R5cGUuZmlyc3Q9bG9kYXNoLnByb3RvdHlwZS5oZWFkO2lmKHN5bUl0ZXJhdG9yKWxvZGFzaC5wcm90b3R5cGVbc3ltSXRlcmF0b3JdPXdyYXBwZXJUb0l0ZXJhdG9yO3JldHVybiBsb2Rhc2h9Owp2YXIgXz1ydW5JbkNvbnRleHQoKTtpZih0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZ0eXBlb2YgZGVmaW5lLmFtZD09Im9iamVjdCImJmRlZmluZS5hbWQpe3Jvb3QuXz1fO2RlZmluZShmdW5jdGlvbigpe3JldHVybiBffSl9ZWxzZSBpZihmcmVlTW9kdWxlKXsoZnJlZU1vZHVsZS5leHBvcnRzPV8pLl89XztmcmVlRXhwb3J0cy5fPV99ZWxzZSByb290Ll89X30pLmNhbGwodGhpcyk7Ci8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1zb3J0aW5nL3NvcnRpbmcuanMKdmFyIGFjOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChrLHIpe2xldCBsOyhmdW5jdGlvbihtKXttW20uTkFUVVJBTD0wXT0iTkFUVVJBTCI7bVttLlJFQUw9MV09IlJFQUwiO21bbS5FWFBPTkVOVF9TSUdOPTJdPSJFWFBPTkVOVF9TSUdOIjttW20uRVhQT05FTlQ9M109IkVYUE9ORU5UIn0pKGx8fChsPXt9KSk7bGV0IHA9bC5OQVRVUkFMO2Zvcig7cjxrLmxlbmd0aDtyKyspaWYocD09PWwuTkFUVVJBTClpZigiLiI9PT1rW3JdKXA9bC5SRUFMO2Vsc2UgaWYoImUiPT09a1tyXXx8IkUiPT09a1tyXSlwPWwuRVhQT05FTlRfU0lHTjtlbHNle2lmKCFmKGtbcl0pKWJyZWFrfWVsc2UgaWYocD09PWwuUkVBTClpZigiZSI9PT1rW3JdfHwiRSI9PT1rW3JdKXA9bC5FWFBPTkVOVF9TSUdOO2Vsc2V7aWYoIWYoa1tyXSkpYnJlYWt9ZWxzZSBpZihwPT09bC5FWFBPTkVOVF9TSUdOKWlmKGYoa1tyXSl8fCIrIj09PWtbcl18fCItIj09PWtbcl0pcD1sLkVYUE9ORU5UO2Vsc2UgYnJlYWs7ZWxzZSBpZihwPT09bC5FWFBPTkVOVCYmCiFmKGtbcl0pKWJyZWFrO3JldHVybiByfWZ1bmN0aW9uIGYoayl7cmV0dXJuIjAiPD1rJiYiOSI+PWt9ZnVuY3Rpb24gaChrKXtyZXR1cm4iLyI9PT1rfHwiXyI9PT1rfHxmKGspfWIuY29tcGFyZVRhZ05hbWVzPWZ1bmN0aW9uKGsscil7bGV0IGw9MCxwPTA7Zm9yKDs7KXtpZihsPT09ay5sZW5ndGgpcmV0dXJuIHA9PT1yLmxlbmd0aD8wOi0xO2lmKHA9PT1yLmxlbmd0aClyZXR1cm4gMTtpZihmKGtbbF0pJiZmKHJbcF0pKXt2YXIgbT1sLG49cDtsPWQoayxsKzEpO3A9ZChyLHArMSk7bT1wYXJzZUZsb2F0KGsuc2xpY2UobSxsKSk7bj1wYXJzZUZsb2F0KHIuc2xpY2UobixwKSk7aWYobTxuKXJldHVybi0xO2lmKG0+bilyZXR1cm4gMX1lbHNle2lmKGgoa1tsXSkpe2lmKCFoKHJbcF0pKXJldHVybi0xfWVsc2V7aWYoaChyW3BdKSlyZXR1cm4gMTtpZihrW2xdPHJbcF0pcmV0dXJuLTE7aWYoa1tsXT5yW3BdKXJldHVybiAxfWwrKztwKyt9fX19KShhY3x8KGFjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9yZXF1ZXN0TWFuYWdlci5qcwp2YXIgZGM7CihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHEsdSx3LEEpe2NvbnN0IHk9bmV3IFhNTEh0dHBSZXF1ZXN0O3kub3BlbihxLHUpO3cmJih5LndpdGhDcmVkZW50aWFscz13KTtBJiZ5LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsQSk7cmV0dXJuIHl9ZnVuY3Rpb24gZihxKXtjb25zdCB1PW5ldyBtO2lmKCFxKXJldHVybiB1Lm1ldGhvZFR5cGU9cC5HRVQsdTt1Lm1ldGhvZFR5cGU9cC5QT1NUO3UuYm9keT1oKHEpO3JldHVybiB1fWZ1bmN0aW9uIGgocSl7Y29uc3QgdT1uZXcgRm9ybURhdGE7Zm9yKGxldCB3IGluIHEpdyYmdS5hcHBlbmQodyxxW3ddKTtyZXR1cm4gdX1jbGFzcyBrIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubmFtZT0iUmVxdWVzdENhbmNlbGxhdGlvbkVycm9yIn19Yi5SZXF1ZXN0Q2FuY2VsbGF0aW9uRXJyb3I9aztjbGFzcyByIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IocSl7c3VwZXIocSk7dGhpcy5uYW1lPQoiSW52YWxpZFJlcXVlc3RPcHRpb25zRXJyb3IiO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLHIucHJvdG90eXBlKX19Yi5JbnZhbGlkUmVxdWVzdE9wdGlvbnNFcnJvcj1yO2NsYXNzIGwgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihxLHUpe3N1cGVyKCk7dGhpcy5tZXNzYWdlPWBSZXF1ZXN0TmV0d29ya0Vycm9yOiAke3Euc3RhdHVzfSBhdCAke3V9YDt0aGlzLm5hbWU9IlJlcXVlc3ROZXR3b3JrRXJyb3IiO3RoaXMucmVxPXE7dGhpcy51cmw9dX19Yi5SZXF1ZXN0TmV0d29ya0Vycm9yPWw7bGV0IHA7KGZ1bmN0aW9uKHEpe3EuR0VUPSJHRVQiO3EuUE9TVD0iUE9TVCJ9KShwPWIuSHR0cE1ldGhvZFR5cGV8fChiLkh0dHBNZXRob2RUeXBlPXt9KSk7Y2xhc3MgbXt2YWxpZGF0ZSgpe2lmKHRoaXMubWV0aG9kVHlwZT09PXAuR0VUJiZ0aGlzLmJvZHkpdGhyb3cgbmV3IHIoImJvZHkgbXVzdCBiZSBtaXNzaW5nIGZvciBhIEdFVCByZXF1ZXN0LiIpO319Yi5SZXF1ZXN0T3B0aW9ucz0KbTtjbGFzcyBue2NvbnN0cnVjdG9yKHE9MUUzLHU9Myl7dGhpcy5fcXVldWU9W107dGhpcy5fbkFjdGl2ZVJlcXVlc3RzPTA7dGhpcy5fblNpbXVsdGFuZW91c1JlcXVlc3RzPXE7dGhpcy5fbWF4UmV0cmllcz11fXJlcXVlc3QocSx1KXt1PWYodSk7cmV0dXJuIHRoaXMucmVxdWVzdFdpdGhPcHRpb25zKHEsdSl9cmVxdWVzdFdpdGhPcHRpb25zKHEsdSl7dS52YWxpZGF0ZSgpO3JldHVybihuZXcgUHJvbWlzZSgodyxBKT0+e3RoaXMuX3F1ZXVlLnB1c2goe3Jlc29sdmU6dyxyZWplY3Q6QX0pO3RoaXMubGF1bmNoUmVxdWVzdHMoKX0pKS50aGVuKCgpPT50aGlzLnByb21pc2VXaXRoUmV0cmllcyhxLHRoaXMuX21heFJldHJpZXMsdSkpLnRoZW4odz0+e3RoaXMuX25BY3RpdmVSZXF1ZXN0cy0tO3RoaXMubGF1bmNoUmVxdWVzdHMoKTtyZXR1cm4gd30sdz0+eyJSZXF1ZXN0TmV0d29ya0Vycm9yIj09PXcubmFtZSYmKHRoaXMuX25BY3RpdmVSZXF1ZXN0cy0tLHRoaXMubGF1bmNoUmVxdWVzdHMoKSk7CnJldHVybiBQcm9taXNlLnJlamVjdCh3KX0pfWZldGNoKHEsdSl7cmV0dXJuKG5ldyBQcm9taXNlKCh3LEEpPT57dGhpcy5fcXVldWUucHVzaCh7cmVzb2x2ZTp3LHJlamVjdDpBfSk7dGhpcy5sYXVuY2hSZXF1ZXN0cygpfSkpLnRoZW4oKCk9PntsZXQgdz0xO3JldHVybiBuZXcgUHJvbWlzZShBPT57Y29uc3QgeT0oKT0+e2ZldGNoKHEsdSkudGhlbih4PT57IXgub2smJnRoaXMuX21heFJldHJpZXM+dz8odysrLHkoKSk6KEEoeCksdGhpcy5fbkFjdGl2ZVJlcXVlc3RzLS0sdGhpcy5sYXVuY2hSZXF1ZXN0cygpKX0pfTt5KCl9KX0pfWNsZWFyUXVldWUoKXtmb3IoOzA8dGhpcy5fcXVldWUubGVuZ3RoOyl0aGlzLl9xdWV1ZS5wb3AoKS5yZWplY3QobmV3IGsoIlJlcXVlc3QgY2FuY2VsbGVkIGJ5IGNsZWFyUXVldWUiKSl9YWN0aXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fbkFjdGl2ZVJlcXVlc3RzfW91dHN0YW5kaW5nUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fbkFjdGl2ZVJlcXVlc3RzKwp0aGlzLl9xdWV1ZS5sZW5ndGh9bGF1bmNoUmVxdWVzdHMoKXtmb3IoO3RoaXMuX25BY3RpdmVSZXF1ZXN0czx0aGlzLl9uU2ltdWx0YW5lb3VzUmVxdWVzdHMmJjA8dGhpcy5fcXVldWUubGVuZ3RoOyl0aGlzLl9uQWN0aXZlUmVxdWVzdHMrKyx0aGlzLl9xdWV1ZS5wb3AoKS5yZXNvbHZlKCl9cHJvbWlzZVdpdGhSZXRyaWVzKHEsdSx3KXtyZXR1cm4gdGhpcy5fcHJvbWlzZUZyb21VcmwocSx3KS50aGVuKEE9PkEsQT0+MDx1P3RoaXMucHJvbWlzZVdpdGhSZXRyaWVzKHEsdS0xLHcpOlByb21pc2UucmVqZWN0KEEpKX1fcHJvbWlzZUZyb21VcmwocSx1KXtyZXR1cm4gbmV3IFByb21pc2UoKHcsQSk9Pntjb25zdCB5PWQodS5tZXRob2RUeXBlLHEsdS53aXRoQ3JlZGVudGlhbHMsdS5jb250ZW50VHlwZSk7eS5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PT15LnN0YXR1cz93KEpTT04ucGFyc2UoeS5yZXNwb25zZVRleHQpKTpBKG5ldyBsKHkscSkpfTt5Lm9uZXJyb3I9ZnVuY3Rpb24oKXtBKG5ldyBsKHksCnEpKX07dS5ib2R5P3kuc2VuZCh1LmJvZHkpOnkuc2VuZCgpfSl9fWIuUmVxdWVzdE1hbmFnZXI9bn0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL3VybFBhdGhIZWxwZXJzLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvXCgvZywiJTI4IikucmVwbGFjZSgvXCkvZywiJTI5Iil9Yi5hZGRQYXJhbXM9ZnVuY3Rpb24oZixoKXt2YXIgaz1PYmplY3Qua2V5cyhoKS5zb3J0KCkuZmlsdGVyKGw9PnZvaWQgMCE9PWhbbF0pO2lmKCFrLmxlbmd0aClyZXR1cm4gZjtjb25zdCByPS0xIT09Zi5pbmRleE9mKCI/Iik/Ilx4MjYiOiI/IjtrPVtdLmNvbmNhdCguLi5rLm1hcChsPT57Y29uc3QgcD1oW2xdO3JldHVybihBcnJheS5pc0FycmF5KHApP3A6W3BdKS5tYXAobT0+YCR7bH09JHtkKG0pfWApfSkpLmpvaW4oIlx4MjYiKTtyZXR1cm4gZityK2t9fSkoZGN8fChkYz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJhY2tlbmQvcm91dGVyLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHI9ImRhdGEiLGw9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSl7Ii8iPT09cltyLmxlbmd0aC0xXSYmKHI9ci5zbGljZSgwLHIubGVuZ3RoLTEpKTtyZXR1cm57ZW52aXJvbm1lbnQ6KCk9PmYociwiL2Vudmlyb25tZW50IiksZXhwZXJpbWVudHM6KCk9PmYociwiL2V4cGVyaW1lbnRzIikscGx1Z2luUm91dGU6KHAsbSxuKT0+ZihyKyIvcGx1Z2luIixgLyR7cH0ke219YCxuKSxwbHVnaW5zTGlzdGluZzooKT0+ZihyLCIvcGx1Z2luc19saXN0aW5nIixoKHtbImV4cGVyaW1lbnRhbFBsdWdpbiJdOmwuZ2V0QWxsKCJleHBlcmltZW50YWxQbHVnaW4iKX0pKSxydW5zOigpPT5mKHIsIi9ydW5zIikscnVuc0ZvckV4cGVyaW1lbnQ6cD0+ZihyLCIvZXhwZXJpbWVudF9ydW5zIixoKHtleHBlcmltZW50OlN0cmluZyhwKX0pKX19ZnVuY3Rpb24gZihyLGwscD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtyKz1sO1N0cmluZyhwKSYmCihsPWwuaW5jbHVkZXMoIj8iKT8iXHgyNiI6Ij8iLHIrPWwrU3RyaW5nKHApKTtyZXR1cm4gcn1mdW5jdGlvbiBoKHI9e30pe2NvbnN0IGw9T2JqZWN0LmtleXMocikuc29ydCgpLmZpbHRlcihtPT5yW21dKSxwPW5ldyBVUkxTZWFyY2hQYXJhbXM7bC5mb3JFYWNoKG09Pntjb25zdCBuPXJbbV07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZvckVhY2gocT0+cC5hcHBlbmQobSxxKSl9KTtyZXR1cm4gcH1sZXQgaz1kKCk7Yi5jcmVhdGVSb3V0ZXI9ZDtiLmdldFJvdXRlcj1mdW5jdGlvbigpe3JldHVybiBrfTtiLnNldFJvdXRlcj1mdW5jdGlvbihyKXtpZihudWxsPT1yKXRocm93IEVycm9yKCJSb3V0ZXIgcmVxdWlyZWQsIGJ1dCBnb3Q6ICIrcik7az1yfTtiLmNyZWF0ZVNlYXJjaFBhcmFtPWh9KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9iYXNlU3RvcmUuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoaCl7dGhpcy5saXN0ZW5lcj1ofX1iLkxpc3RlbktleT1kO2NsYXNzIGZ7Y29uc3RydWN0b3IoKXt0aGlzLnJlcXVlc3RNYW5hZ2VyPW5ldyBiLlJlcXVlc3RNYW5hZ2VyKDEpO3RoaXMuX2xpc3RlbmVycz1uZXcgU2V0O3RoaXMuaW5pdGlhbGl6ZWQ9ITF9cmVmcmVzaCgpe3JldHVybiB0aGlzLmxvYWQoKS50aGVuKCgpPT57dGhpcy5pbml0aWFsaXplZD0hMH0pfWFkZExpc3RlbmVyKGgpe2g9bmV3IGQoaCk7dGhpcy5fbGlzdGVuZXJzLmFkZChoKTtyZXR1cm4gaH1yZW1vdmVMaXN0ZW5lckJ5S2V5KGgpe3RoaXMuX2xpc3RlbmVycy5kZWxldGUoaCl9ZW1pdENoYW5nZSgpe3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKGg9Pnt0cnl7aC5saXN0ZW5lcigpfWNhdGNoKGspe319KX19Yi5CYXNlU3RvcmU9Zn0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL2Vudmlyb25tZW50U3RvcmUuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGQgZXh0ZW5kcyBiLkJhc2VTdG9yZXtsb2FkKCl7Y29uc3QgZj1iLmdldFJvdXRlcigpLmVudmlyb25tZW50KCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChmKS50aGVuKGg9Pntjb25zdCBrPXtkYXRhTG9jYXRpb246aC5kYXRhX2xvY2F0aW9uLHdpbmRvd1RpdGxlOmgud2luZG93X3RpdGxlfTt2b2lkIDAhPT1oLmV4cGVyaW1lbnRfbmFtZSYmKGsuZXhwZXJpbWVudE5hbWU9aC5leHBlcmltZW50X25hbWUpO3ZvaWQgMCE9PWguZXhwZXJpbWVudF9kZXNjcmlwdGlvbiYmKGsuZXhwZXJpbWVudERlc2NyaXB0aW9uPWguZXhwZXJpbWVudF9kZXNjcmlwdGlvbik7dm9pZCAwIT09aC5jcmVhdGlvbl90aW1lJiYoay5jcmVhdGlvblRpbWU9aC5jcmVhdGlvbl90aW1lKTtfLmlzRXF1YWwodGhpcy5lbnZpcm9ubWVudCxrKXx8KHRoaXMuZW52aXJvbm1lbnQ9ayx0aGlzLmVtaXRDaGFuZ2UoKSl9KX1nZXREYXRhTG9jYXRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD8KdGhpcy5lbnZpcm9ubWVudC5kYXRhTG9jYXRpb246IiJ9Z2V0V2luZG93VGl0bGUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LndpbmRvd1RpdGxlOiIifWdldEV4cGVyaW1lbnROYW1lKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5leHBlcmltZW50TmFtZToiIn1nZXRFeHBlcmltZW50RGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmV4cGVyaW1lbnREZXNjcmlwdGlvbjoiIn1nZXRDcmVhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmNyZWF0aW9uVGltZTpudWxsfX1iLkVudmlyb25tZW50U3RvcmU9ZDtiLmVudmlyb25tZW50U3RvcmU9bmV3IGR9KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9leHBlcmltZW50c1N0b3JlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgYi5CYXNlU3RvcmV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuX2V4cGVyaW1lbnRzPVtdfWxvYWQoKXtjb25zdCBmPWIuZ2V0Um91dGVyKCkuZXhwZXJpbWVudHMoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGYpLnRoZW4oaD0+e18uaXNFcXVhbCh0aGlzLl9leHBlcmltZW50cyxoKXx8KHRoaXMuX2V4cGVyaW1lbnRzPWgsdGhpcy5lbWl0Q2hhbmdlKCkpfSl9Z2V0RXhwZXJpbWVudHMoKXtyZXR1cm4gdGhpcy5fZXhwZXJpbWVudHMuc2xpY2UoKX19Yi5FeHBlcmltZW50c1N0b3JlPWQ7Yi5leHBlcmltZW50c1N0b3JlPW5ldyBkfSkoZGN8fChkYz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJhY2tlbmQvcnVuc1N0b3JlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgYi5CYXNlU3RvcmV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuX3J1bnM9W119bG9hZCgpe2NvbnN0IGY9Yi5nZXRSb3V0ZXIoKS5ydW5zKCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChmKS50aGVuKGg9PntfLmlzRXF1YWwodGhpcy5fcnVucyxoKXx8KHRoaXMuX3J1bnM9aCx0aGlzLmVtaXRDaGFuZ2UoKSl9KX1nZXRSdW5zKCl7cmV0dXJuIHRoaXMuX3J1bnMuc2xpY2UoKX19Yi5SdW5zU3RvcmU9ZDtiLnJ1bnNTdG9yZT1uZXcgZH0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL2JhY2tlbmQuanMKKGZ1bmN0aW9uKGIpe2IuVFlQRVM9W107Yi5nZXRSdW5zTmFtZWQ9ZnVuY3Rpb24oZCl7cmV0dXJuIF8ua2V5cyhkKS5zb3J0KGFjLmNvbXBhcmVUYWdOYW1lcyl9O2IuZ2V0VGFncz1mdW5jdGlvbihkKXtyZXR1cm4gXy51bmlvbi5hcHBseShudWxsLF8udmFsdWVzKGQpKS5zb3J0KGFjLmNvbXBhcmVUYWdOYW1lcyl9O2IuZmlsdGVyVGFncz1mdW5jdGlvbihkLGYpe2xldCBoPVtdO2YuZm9yRWFjaChrPT5oPWguY29uY2F0KGRba10pKTtyZXR1cm4gXy51bmlxKGgpLnNvcnQoYWMuY29tcGFyZVRhZ05hbWVzKX19KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9jYW5jZWxsZXIuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoKXt0aGlzLmNhbmNlbGxhdGlvbkNvdW50PTB9Y2FuY2VsbGFibGUoZil7Y29uc3QgaD10aGlzLmNhbmNlbGxhdGlvbkNvdW50O3JldHVybiBrPT5mKHt2YWx1ZTprLGNhbmNlbGxlZDp0aGlzLmNhbmNlbGxhdGlvbkNvdW50IT09aH0pfWNhbmNlbEFsbCgpe3RoaXMuY2FuY2VsbGF0aW9uQ291bnQrK319Yi5DYW5jZWxsZXI9ZH0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jYXRlZ29yaXphdGlvbi11dGlscy9jYXRlZ29yaXphdGlvblV0aWxzLmpzCnZhciBrYzsKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQobSxuKXtjb25zdCBxPSgoKT0+e3RyeXtyZXR1cm4gbmV3IFJlZ0V4cChuKX1jYXRjaCh1KXtyZXR1cm4gbnVsbH19KSgpO3JldHVybntuYW1lOm4sbWV0YWRhdGE6e3R5cGU6cC5TRUFSQ0hfUkVTVUxUUyx2YWxpZFJlZ2V4OiEhcSx1bml2ZXJzYWxSZWdleDoiLioiPT09bn0saXRlbXM6cT9tLmZpbHRlcih1PT51Lm1hdGNoKHEpKTpbXX19ZnVuY3Rpb24gZihtLG49Ii8iKXtjb25zdCBxPVtdLHU9e307bS5mb3JFYWNoKHc9Pnt2YXIgQT13LmluZGV4T2Yobik7QT0wPD1BP3cuc2xpY2UoMCxBKTp3O2lmKCF1W0FdKXtjb25zdCB5PXtuYW1lOkEsbWV0YWRhdGE6e3R5cGU6cC5QUkVGSVhfR1JPVVB9LGl0ZW1zOltdfTt1W0FdPXk7cS5wdXNoKHkpfXVbQV0uaXRlbXMucHVzaCh3KX0pO3JldHVybiBxfWZ1bmN0aW9uIGgobSxuPSIiKXtuPVtkKG0sbildO209ZihtKTtyZXR1cm5bXS5jb25jYXQobixtKX1mdW5jdGlvbiBrKG0sbixxKXtjb25zdCB1PQpkYy5nZXRUYWdzKG0pO3E9aCh1LHEpO2NvbnN0IHc9cihfLnBpY2sobSxuKSk7cmV0dXJuIHEubWFwKCh7bmFtZTpBLG1ldGFkYXRhOnksaXRlbXM6eH0pPT4oe25hbWU6QSxtZXRhZGF0YTp5LGl0ZW1zOngubWFwKEM9Pih7dGFnOkMscnVuczoody5nZXQoQyl8fFtdKS5zbGljZSgpfSkpfSkpfWZ1bmN0aW9uIHIobSl7Y29uc3Qgbj1uZXcgTWFwO09iamVjdC5rZXlzKG0pLmZvckVhY2gocT0+e21bcV0uZm9yRWFjaCh1PT57Y29uc3Qgdz1uLmdldCh1KXx8W107dy5wdXNoKHEpO24uc2V0KHUsdyl9KX0pO3JldHVybiBufWZ1bmN0aW9uIGwobSxuKXtjb25zdCBxPWFjLmNvbXBhcmVUYWdOYW1lcyhtLnRhZyxuLnRhZyk7cmV0dXJuIDAhPXE/cTphYy5jb21wYXJlVGFnTmFtZXMobS5ydW4sbi5ydW4pfWxldCBwOyhmdW5jdGlvbihtKXttW20uU0VBUkNIX1JFU1VMVFM9MF09IlNFQVJDSF9SRVNVTFRTIjttW20uUFJFRklYX0dST1VQPTFdPSJQUkVGSVhfR1JPVVAifSkocD1iLkNhdGVnb3J5VHlwZXx8CihiLkNhdGVnb3J5VHlwZT17fSkpO2IuY2F0ZWdvcml6ZUJ5U2VhcmNoUXVlcnk9ZDtiLmNhdGVnb3JpemVCeVByZWZpeD1mO2IuY2F0ZWdvcml6ZT1oO2IuY2F0ZWdvcml6ZVRhZ3M9aztiLmNhdGVnb3JpemVSdW5UYWdDb21iaW5hdGlvbnM9ZnVuY3Rpb24obSxuLHEpe3JldHVybiBrKG0sbixxKS5tYXAoZnVuY3Rpb24odSl7Y29uc3Qgdz1fLmZsYXR0ZW4odS5pdGVtcy5tYXAoKHt0YWc6QSxydW5zOnl9KT0+eS5tYXAoeD0+KHt0YWc6QSxydW46eH0pKSkpO3cuc29ydChsKTtyZXR1cm57bmFtZTp1Lm5hbWUsbWV0YWRhdGE6dS5tZXRhZGF0YSxpdGVtczp3fX0pfX0pKGtjfHwoa2M9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1nbG9iYWxzL2dsb2JhbHMuanMKdmFyIHhjOyhmdW5jdGlvbihiKXtsZXQgZD0hMTtiLnNldFVzZUhhc2g9ZnVuY3Rpb24oaCl7ZD1ofTtiLnVzZUhhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gZH07bGV0IGY9IiI7Yi5zZXRGYWtlSGFzaD1mdW5jdGlvbihoKXtmPWh9O2IuZ2V0RmFrZUhhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gZn19KSh4Y3x8KHhjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ2xvYmFscy9nbG9iYWxzLXBvbHltZXIuanMKKGZ1bmN0aW9uKGIpe1BvbHltZXIoe2lzOiJ0Zi1nbG9iYWxzIixfdGVtcGxhdGU6bnVsbCx0Zl9nbG9iYWxzOmJ9KX0pKHhjfHwoeGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zdG9yYWdlL2xpc3RlbmVycy5qcwp2YXIgYmQ7CihmdW5jdGlvbihiKXtjbGFzcyBke2NvbnN0cnVjdG9yKGspe3RoaXMubGlzdGVuZXI9a319Yi5MaXN0ZW5LZXk9ZDtjb25zdCBmPW5ldyBTZXQsaD1uZXcgU2V0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIiwoKT0+e2YuZm9yRWFjaChrPT5rLmxpc3RlbmVyKCkpfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLCgpPT57aC5mb3JFYWNoKGs9PmsubGlzdGVuZXIoKSl9KTtiLmFkZEhhc2hMaXN0ZW5lcj1mdW5jdGlvbihrKXtrPW5ldyBkKGspO2YuYWRkKGspO3JldHVybiBrfTtiLmFkZFN0b3JhZ2VMaXN0ZW5lcj1mdW5jdGlvbihrKXtrPW5ldyBkKGspO2guYWRkKGspO3JldHVybiBrfTtiLmZpcmVTdG9yYWdlQ2hhbmdlZD1mdW5jdGlvbigpe2guZm9yRWFjaChrPT5rLmxpc3RlbmVyKCkpfTtiLnJlbW92ZUhhc2hMaXN0ZW5lckJ5S2V5PWZ1bmN0aW9uKGspe2YuZGVsZXRlKGspfTtiLnJlbW92ZVN0b3JhZ2VMaXN0ZW5lckJ5S2V5PWZ1bmN0aW9uKGspe2guZGVsZXRlKGspfX0pKGJkfHwKKGJkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtc3RvcmFnZS9zdG9yYWdlLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKG4scSl7ZnVuY3Rpb24gdSh4LEM9e30pe2NvbnN0IHtkZWZhdWx0VmFsdWU6Ryx1c2VMb2NhbFN0b3JhZ2U6RD0hMX09Qzt4PUQ/d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHgpOmwoaCgpKVt4XTtyZXR1cm4gdm9pZCAwPT14P18uY2xvbmVEZWVwKEcpOm4oeCl9ZnVuY3Rpb24gdyh4LEMsRz17fSl7Y29uc3Qge2RlZmF1bHRWYWx1ZTpELHVzZUxvY2FsU3RvcmFnZTpCPSExLHVzZUxvY2F0aW9uUmVwbGFjZTpIPSExfT1HO0c9cShDKTtCPyh3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oeCxHKSxiLmZpcmVTdG9yYWdlQ2hhbmdlZCgpKTpfLmlzRXF1YWwoQyx1KHgse3VzZUxvY2FsU3RvcmFnZTpCfSkpfHwoXy5pc0VxdWFsKEMsRCk/cCh4KTooQz1sKGgoKSksQ1t4XT1HLGsocihDKSxIKSkpfWNvbnN0IEE9W10seT1bXTtyZXR1cm57Z2V0OnUsc2V0OncsZ2V0SW5pdGlhbGl6ZXI6ZnVuY3Rpb24oeCxDKXtjb25zdCBHPU9iamVjdC5hc3NpZ24oe2RlZmF1bHRWYWx1ZTpDLmRlZmF1bHRWYWx1ZSwKcG9seW1lclByb3BlcnR5OngsdXNlTG9jYWxTdG9yYWdlOiExfSxDKTtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBEPWYodGhpcyx4KSxCPSgpPT57Y29uc3QgSz11KEQsRyk7Xy5pc0VxdWFsKEssdGhpc1tHLnBvbHltZXJQcm9wZXJ0eV0pfHwodGhpc1tHLnBvbHltZXJQcm9wZXJ0eV09Syl9LEg9KEcudXNlTG9jYWxTdG9yYWdlP2IuYWRkU3RvcmFnZUxpc3RlbmVyOmIuYWRkSGFzaExpc3RlbmVyKSgoKT0+QigpKTtHLnVzZUxvY2FsU3RvcmFnZT95LnB1c2goSCk6QS5wdXNoKEgpO0IoKTtyZXR1cm4gdGhpc1tHLnBvbHltZXJQcm9wZXJ0eV19fSxnZXRPYnNlcnZlcjpmdW5jdGlvbih4LEMpe2NvbnN0IEc9T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOkMuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp4LHVzZUxvY2FsU3RvcmFnZTohMX0sQyk7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgRD1mKHRoaXMseCk7dyhELHRoaXNbRy5wb2x5bWVyUHJvcGVydHldLEcpfX0sZGlzcG9zZUJpbmRpbmc6ZnVuY3Rpb24oKXtBLmZvckVhY2goeD0+CmIucmVtb3ZlSGFzaExpc3RlbmVyQnlLZXkoeCkpO3kuZm9yRWFjaCh4PT5iLnJlbW92ZVN0b3JhZ2VMaXN0ZW5lckJ5S2V5KHgpKX19fWZ1bmN0aW9uIGYobixxKXtuPW5bYi5ESVNBTUJJR1VBVE9SXTtyZXR1cm4obnVsbD09bj9bcV06W24scV0pLmpvaW4oIi4iKX1mdW5jdGlvbiBoKCl7cmV0dXJuIHhjLnVzZUhhc2goKT93aW5kb3cubG9jYXRpb24uaGFzaC5zbGljZSgxKTp4Yy5nZXRGYWtlSGFzaCgpfWZ1bmN0aW9uIGsobixxPSExKXt4Yy51c2VIYXNoKCk/cT93aW5kb3cubG9jYXRpb24ucmVwbGFjZSgiIyIrbik6d2luZG93LmxvY2F0aW9uLmhhc2g9bjp4Yy5zZXRGYWtlSGFzaChuKX1mdW5jdGlvbiByKG4pe2xldCBxPSIiO3ZvaWQgMCE9PW5bYi5UQUJdJiYocSs9bltiLlRBQl0pO2NvbnN0IHU9T2JqZWN0LmtleXMobikubWFwKHc9Plt3LG5bd11dKS5maWx0ZXIodz0+d1swXSE9PWIuVEFCKS5tYXAodz0+ZW5jb2RlVVJJQ29tcG9uZW50KHdbMF0pKyJceDNkIitlbmNvZGVVUklDb21wb25lbnQod1sxXSkpLmpvaW4oIlx4MjYiKTsKcmV0dXJuIDA8dS5sZW5ndGg/cSsiXHgyNiIrdTpxfWZ1bmN0aW9uIGwobil7Y29uc3QgcT17fTtuLnNwbGl0KCJceDI2IikuZm9yRWFjaCh1PT57dT11LnNwbGl0KCJceDNkIik7MT09PXUubGVuZ3RoP3FbYi5UQUJdPXVbMF06Mj09PXUubGVuZ3RoJiYocVtkZWNvZGVVUklDb21wb25lbnQodVswXSldPWRlY29kZVVSSUNvbXBvbmVudCh1WzFdKSl9KTtyZXR1cm4gcX1mdW5jdGlvbiBwKG4pe2NvbnN0IHE9bChoKCkpO2RlbGV0ZSBxW25dO2socihxKSl9Yi5UQUI9Il9fdGFiX18iO2IuRElTQU1CSUdVQVRPUj0iZGlzYW1iaWd1YXRvciI7Yi51cmxEaWN0PWwoaCgpKTtiLmFkZEhhc2hMaXN0ZW5lcigoKT0+e2IudXJsRGljdD1sKGgoKSl9KTt2YXIgbT1kKG49Pm4sbj0+bik7Yi5nZXRTdHJpbmc9bS5nZXQ7Yi5zZXRTdHJpbmc9bS5zZXQ7Yi5nZXRTdHJpbmdJbml0aWFsaXplcj1tLmdldEluaXRpYWxpemVyO2IuZ2V0U3RyaW5nT2JzZXJ2ZXI9bS5nZXRPYnNlcnZlcjtiLmRpc3Bvc2VTdHJpbmdCaW5kaW5nPQptLmRpc3Bvc2VCaW5kaW5nO209ZChuPT4idHJ1ZSI9PT1uPyEwOiJmYWxzZSI9PT1uPyExOnZvaWQgMCxuPT5uLnRvU3RyaW5nKCkpO2IuZ2V0Qm9vbGVhbj1tLmdldDtiLnNldEJvb2xlYW49bS5zZXQ7Yi5nZXRCb29sZWFuSW5pdGlhbGl6ZXI9bS5nZXRJbml0aWFsaXplcjtiLmdldEJvb2xlYW5PYnNlcnZlcj1tLmdldE9ic2VydmVyO2IuZGlzcG9zZUJvb2xlYW5CaW5kaW5nPW0uZGlzcG9zZUJpbmRpbmc7bT1kKG49PituLG49Pm4udG9TdHJpbmcoKSk7Yi5nZXROdW1iZXI9bS5nZXQ7Yi5zZXROdW1iZXI9bS5zZXQ7Yi5nZXROdW1iZXJJbml0aWFsaXplcj1tLmdldEluaXRpYWxpemVyO2IuZ2V0TnVtYmVyT2JzZXJ2ZXI9bS5nZXRPYnNlcnZlcjtiLmRpc3Bvc2VOdW1iZXJCaW5kaW5nPW0uZGlzcG9zZUJpbmRpbmc7bT1kKG49PkpTT04ucGFyc2UoYXRvYihuKSksbj0+YnRvYShKU09OLnN0cmluZ2lmeShuKSkpO2IuZ2V0T2JqZWN0PW0uZ2V0O2Iuc2V0T2JqZWN0PW0uc2V0O2IuZ2V0T2JqZWN0SW5pdGlhbGl6ZXI9Cm0uZ2V0SW5pdGlhbGl6ZXI7Yi5nZXRPYmplY3RPYnNlcnZlcj1tLmdldE9ic2VydmVyO2IuZGlzcG9zZU9iamVjdEJpbmRpbmc9bS5kaXNwb3NlQmluZGluZztiLm1ha2VCaW5kaW5ncz1kO2IubWlncmF0ZUxlZ2FjeVVSTFNjaGVtZT1mdW5jdGlvbigpe2NvbnN0IG49bmV3IFNldCgiZXhhbXBsZXNQYXRoIGhpZGVNb2RlbFBhbmUyIG1vZGVsTmFtZTEgbW9kZWxOYW1lMiBpbmZlcmVuY2VBZGRyZXNzMSBpbmZlcmVuY2VBZGRyZXNzMiBtb2RlbFR5cGUgbW9kZWxWZXJzaW9uMSBtb2RlbFZlcnNpb24yIG1vZGVsU2lnbmF0dXJlMSBtb2RlbFNpZ25hdHVyZTIgbWF4RXhhbXBsZXMgbGFiZWxWb2NhYlBhdGggbXVsdGlDbGFzcyBzZXF1ZW5jZUV4YW1wbGVzIG1heENsYXNzZXNUb0Rpc3BsYXkgc2FtcGxpbmdPZGRzIHVzZVByZWRpY3RBcGkgcHJlZGljdElucHV0VGVuc29yIHByZWRpY3RPdXRwdXRUZW5zb3IiLnNwbGl0KCIgIikpLHE9bChoKCkpO2lmKCJ3aGF0aWYiPT09cVtiLlRBQl0pZm9yKGxldCB1IG9mIG4pdSBpbgpxJiYocVtgcC53aGF0aWYuJHt1fWBdPXFbdV0pO2socihxKSk7dGhpcy51cmxEaWN0PXF9fSkoYmR8fChiZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vYXJyYXktdXBkYXRlLWhlbHBlci5qcwp2YXIgY2Q7KGZ1bmN0aW9uKGIpe2IuQXJyYXlVcGRhdGVIZWxwZXI9e3VwZGF0ZUFycmF5UHJvcChkLGYsaCl7bGV0IGs9dGhpcy5nZXQoZCk7aWYoIUFycmF5LmlzQXJyYXkoZikpdGhyb3cgUmFuZ2VFcnJvcihgRXhwZWN0ZWQgbmV3IHZhbHVlIHRvICcke2R9JyB0byBiZSBhbiBhcnJheS5gKTtBcnJheS5pc0FycmF5KGspfHwoaz1bXSx0aGlzLnNldChkLGspKTtjb25zdCByPW5ldyBTZXQoZi5tYXAoKG0sbik9PmgobSxuKSkpO2xldCBsPTAscD0wO2Zvcig7bDxrLmxlbmd0aCYmcDxmLmxlbmd0aDspci5oYXMoaChrW2xdLGwpKT8oaChrW2xdLGwpPT1oKGZbcF0scCk/dGhpcy5zZXQoYCR7ZH0uJHtsfWAsZltwXSk6dGhpcy5zcGxpY2UoZCxsLDAsZltwXSkscCsrLGwrKyk6dGhpcy5zcGxpY2UoZCxsLDEpO2w8ay5sZW5ndGgmJnRoaXMuc3BsaWNlKGQsbCk7cDxmLmxlbmd0aCYmdGhpcy5wdXNoKGQsLi4uZi5zbGljZShwKSl9fX0pKGNkfHwoY2Q9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wYWdpbmF0ZWQtdmlldy90Zi1kb20tcmVwZWF0Lmh0bWwuanMKdmFyIHJkOwooZnVuY3Rpb24oYil7Yi5UZkRvbVJlcGVhdEJlaGF2aW9yPVtjZC5BcnJheVVwZGF0ZUhlbHBlcix7cHJvcGVydGllczp7YXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpdGVtIn0sX2NvbnRlbnRBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX2RvbUJvb3RzdHJhcHBlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfY3Rvcjp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+bnVsbH0sX3JlbmRlcmVkSXRlbXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxfcmVuZGVyZWRUZW1wbGF0ZUluc3Q6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgTWFwfSxfbHJ1Q2FjaGVkSXRlbXM6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgTWFwfSxfY2FjaGVTaXplOnt0eXBlOk51bWJlcix2YWx1ZToxMH0sX2dldEl0ZW1LZXk6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9PmQ9PkpTT04uc3RyaW5naWZ5KGQpfX0sb2JzZXJ2ZXJzOlsiX2Jvb3RzdHJhcERvbShfaXRlbXNSZW5kZXJlZCwgaXNBdHRhY2hlZCkiLCJfdXBkYXRlRG9tKF9yZW5kZXJlZEl0ZW1zLiosIF9kb21Cb290c3RyYXBwZWQpIiwKIl91cGRhdGVBY3RpdmUoX2NvbnRlbnRBY3RpdmUpIiwiX3RyaW1DYWNoZShfY2FjaGVTaXplKSJdLHNldENhY2hlU2l6ZShkKXt0aGlzLl9jYWNoZVNpemU9ZH0sc2V0R2V0SXRlbUtleShkKXt0aGlzLl9nZXRJdGVtS2V5PWR9LHVwZGF0ZURvbShkKXt0aGlzLnVwZGF0ZUFycmF5UHJvcCgiX3JlbmRlcmVkSXRlbXMiLGQsdGhpcy5fZ2V0SXRlbUtleSl9LF9lbnN1cmVUZW1wbGF0aXplZCgpe2lmKCF0aGlzLmlzQXR0YWNoZWQpcmV0dXJuITE7dGhpcy5fY3Rvcnx8KHRoaXMuX2N0b3I9UG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGhpcy5xdWVyeVNlbGVjdG9yKCJ0ZW1wbGF0ZSIpLHRoaXMse3BhcmVudE1vZGVsOiEwLGluc3RhbmNlUHJvcHM6e1t0aGlzLmFzXTohMCxhY3RpdmU6dGhpcy5fY29udGVudEFjdGl2ZX0sZm9yd2FyZEhvc3RQcm9wOmZ1bmN0aW9uKGQsZil7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZm9yRWFjaChoPT57aC5mb3J3YXJkSG9zdFByb3AoZCwKZil9KX19KSk7cmV0dXJuITB9LF9ib290c3RyYXBEb20oKXt0aGlzLl9pdGVtc1JlbmRlcmVkJiZ0aGlzLl9lbnN1cmVUZW1wbGF0aXplZCgpJiYhdGhpcy5fZG9tQm9vdHN0cmFwcGVkJiYoQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5mb3JFYWNoKGQ9PntQb2x5bWVyLmRvbSh0aGlzKS5yZW1vdmVDaGlsZChkKX0pLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmNsZWFyKCksdGhpcy5fcmVuZGVyZWRJdGVtcy5mb3JFYWNoKChkLGYpPT50aGlzLl9pbnNlcnRJdGVtKGQsZikpLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMCl9LF91cGRhdGVBY3RpdmUoKXt0aGlzLl9kb21Cb290c3RyYXBwZWQmJkFycmF5LmZyb20odGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QudmFsdWVzKCkpLmZvckVhY2goZD0+e2Qubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKX0pfSxfdXBkYXRlRG9tKGQpe2lmKHRoaXMuX2RvbUJvb3RzdHJhcHBlZCYmIl9yZW5kZXJlZEl0ZW1zIiE9ZC5wYXRoJiYKIl9yZW5kZXJlZEl0ZW1zLmxlbmd0aCIhPWQucGF0aClpZigiX3JlbmRlcmVkSXRlbXMuc3BsaWNlcyI9PT1kLnBhdGgpZC52YWx1ZS5pbmRleFNwbGljZXMuZm9yRWFjaChmPT57Y29uc3QgaD1mLmluZGV4LGs9Zi5hZGRlZENvdW50LHI9Zi5vYmplY3Q7Zi5yZW1vdmVkLmZvckVhY2gobD0+e3RoaXMuX3JlbW92ZUl0ZW0obCx0aGlzLmNoaWxkcmVuW2hdKX0pO3Iuc2xpY2UoaCxoK2spLmZvckVhY2goKGwscCk9PnRoaXMuX2luc2VydEl0ZW0obCxoK3ApKTt0aGlzLl90cmltQ2FjaGUoKX0pO2Vsc2V7Y29uc3QgZj10aGlzLl9nZXRJdGVtS2V5KGQudmFsdWUpO3RoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LmhhcyhmKT90aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoZikubm90aWZ5UGF0aCh0aGlzLmFzLGQudmFsdWUpOmNvbnNvbGUud2FybihgRXhwZWN0ZWQgJyR7Zn0nIHRvIGV4aXN0IGluIHRoZSBET00gYnV0IGArImNvdWxkIG5vdCBmaW5kIG9uZS4iKX19LF9pbnNlcnRJdGVtKGQsCmYpe2lmKCF0aGlzLl9lbnN1cmVUZW1wbGF0aXplZCgpKXRocm93IEVycm9yKCJFeHBlY3RlZCB0ZW1wbGF0aXplZCBiZWZvcmUgaW5zZXJ0aW5nIGFuIGl0ZW0iKTtjb25zdCBoPXRoaXMuX2dldEl0ZW1LZXkoZCk7aWYodGhpcy5fbHJ1Q2FjaGVkSXRlbXMuaGFzKGgpKWQ9dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZ2V0KGgpLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZShoKSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoaCkubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKTtlbHNle2NvbnN0IGs9bmV3IHRoaXMuX2N0b3Ioe1t0aGlzLmFzXTpkLGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSk7ZD1rLnJvb3Q7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3Quc2V0KGgsayl9dGhpcy5jaGlsZHJlbltmXT9Qb2x5bWVyLmRvbSh0aGlzKS5pbnNlcnRCZWZvcmUoZCx0aGlzLmNoaWxkcmVuW2ZdKTooKGQubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT8KQXJyYXkuZnJvbShkLmNoaWxkcmVuKTpbZF0pLmZvckVhY2goaz0+ay5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpKSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZChkKSl9LF9yZW1vdmVJdGVtKGQsZil7UG9seW1lci5kb20oZi5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZChmKTtkPXRoaXMuX2dldEl0ZW1LZXkoZCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuc2V0KGQsZik7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KGQpLm5vdGlmeVBhdGgoImFjdGl2ZSIsITEpfSxfdHJpbUNhY2hlKCl7Zm9yKDt0aGlzLl9scnVDYWNoZWRJdGVtcy5zaXplPnRoaXMuX2NhY2hlU2l6ZTspe2NvbnN0IFtkXT10aGlzLl9scnVDYWNoZWRJdGVtcy5rZXlzKCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZGVsZXRlKGQpO3RoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LmRlbGV0ZShkKX19fV19KShyZHx8KHJkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcGFnaW5hdGVkLXZpZXcvcGFnaW5hdGVkVmlld1N0b3JlLmpzCnZhciBzZDsKKGZ1bmN0aW9uKGIpe2xldCBkPW51bGw7Y29uc3QgZj1uZXcgU2V0O2IuYWRkTGltaXRMaXN0ZW5lcj1mdW5jdGlvbihoKXtmLmFkZChoKX07Yi5yZW1vdmVMaW1pdExpc3RlbmVyPWZ1bmN0aW9uKGgpe2YuZGVsZXRlKGgpfTtiLmdldExpbWl0PWZ1bmN0aW9uKCl7bnVsbD09ZCYmKGQ9YmQuZ2V0TnVtYmVyKCJURi5UZW5zb3JCb2FyZC5QYWdpbmF0ZWRWaWV3LmxpbWl0Iix7dXNlTG9jYWxTdG9yYWdlOiEwfSksbnVsbD09ZHx8IWlzRmluaXRlKGQpfHwwPj1kKSYmKGQ9MTIpO3JldHVybiBkfTtiLnNldExpbWl0PWZ1bmN0aW9uKGgpe2lmKGghPT1NYXRoLmZsb29yKGgpKXRocm93IEVycm9yKGBsaW1pdCBtdXN0IGJlIGFuIGludGVnZXIsIGJ1dCBnb3Q6ICR7aH1gKTtpZigwPj1oKXRocm93IEVycm9yKGBsaW1pdCBtdXN0IGJlIHBvc2l0aXZlLCBidXQgZ290OiAke2h9YCk7aCE9PWQmJihkPWgsYmQuc2V0TnVtYmVyKCJURi5UZW5zb3JCb2FyZC5QYWdpbmF0ZWRWaWV3LmxpbWl0IixkLAp7dXNlTG9jYWxTdG9yYWdlOiEwfSksZi5mb3JFYWNoKGs9PntrKCl9KSl9fSkoc2R8fChzZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBhZ2luYXRlZC12aWV3L3RmLXBhZ2luYXRlZC12aWV3LXN0b3JlLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXBhZ2luYXRlZC12aWV3LXN0b3JlIixfdGVtcGxhdGU6bnVsbCx0Zl9wYWdpbmF0ZWRfdmlldzpzZH0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWRpYWxvZy1iZWhhdmlvci9wYXBlci1kaWFsb2ctYmVoYXZpb3IuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3JJbXBsPXtob3N0QXR0cmlidXRlczp7cm9sZToiZGlhbG9nIix0YWJpbmRleDoiLTEifSxwcm9wZXJ0aWVzOnttb2RhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfX3JlYWRpZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbIl9tb2RhbENoYW5nZWQobW9kYWwsIF9fcmVhZGllZCkiXSxsaXN0ZW5lcnM6e3RhcDoiX29uRGlhbG9nQ2xpY2sifSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX19wcmV2Tm9DYW5jZWxPbk91dHNpZGVDbGljaz10aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s7dGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleTt0aGlzLl9fcHJldldpdGhCYWNrZHJvcD10aGlzLndpdGhCYWNrZHJvcDt0aGlzLl9fcmVhZGllZD0hMH0sX21vZGFsQ2hhbmdlZDpmdW5jdGlvbihiLGQpe2QmJihiPyh0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9CnRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljayx0aGlzLl9fcHJldk5vQ2FuY2VsT25Fc2NLZXk9dGhpcy5ub0NhbmNlbE9uRXNjS2V5LHRoaXMuX19wcmV2V2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wLHRoaXMud2l0aEJhY2tkcm9wPXRoaXMubm9DYW5jZWxPbkVzY0tleT10aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9ITApOih0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrJiZ0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2ssdGhpcy5ub0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleSYmdGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5LHRoaXMud2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wJiZ0aGlzLl9fcHJldldpdGhCYWNrZHJvcCkpfSxfdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZDpmdW5jdGlvbihiKXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHwKe307dGhpcy5jbG9zaW5nUmVhc29uLmNvbmZpcm1lZD1ifSxfb25EaWFsb2dDbGljazpmdW5jdGlvbihiKXtmb3IodmFyIGQ9UG9seW1lci5kb20oYikucGF0aCxmPTAsaD1kLmluZGV4T2YodGhpcyk7ZjxoO2YrKyl7dmFyIGs9ZFtmXTtpZihrLmhhc0F0dHJpYnV0ZSYmKGsuaGFzQXR0cmlidXRlKCJkaWFsb2ctZGlzbWlzcyIpfHxrLmhhc0F0dHJpYnV0ZSgiZGlhbG9nLWNvbmZpcm0iKSkpe3RoaXMuX3VwZGF0ZUNsb3NpbmdSZWFzb25Db25maXJtZWQoay5oYXNBdHRyaWJ1dGUoImRpYWxvZy1jb25maXJtIikpO3RoaXMuY2xvc2UoKTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrfX19fTtQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3I9W1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcixQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3JJbXBsXX0pKCk7CgovLyBodHRwczovL2QzanMub3JnIHY1LjcuMCBDb3B5cmlnaHQgMjAxOCBNaWtlIEJvc3RvY2sKIWZ1bmN0aW9uKHQsbil7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9uKGV4cG9ydHMpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLG4pOm4odC5kMz10LmQzfHx7fSl9KHRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxuKXtyZXR1cm4gdDxuPy0xOnQ+bj8xOnQ+PW4/MDpOYU59ZnVuY3Rpb24gZSh0KXt2YXIgZTtyZXR1cm4gMT09PXQubGVuZ3RoJiYoZT10LHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gbihlKHQpLHIpfSkse2xlZnQ6ZnVuY3Rpb24obixlLHIsaSl7Zm9yKG51bGw9PXImJihyPTApLG51bGw9PWkmJihpPW4ubGVuZ3RoKTtyPGk7KXt2YXIgbz1yK2k+Pj4xO3QobltvXSxlKTwwP3I9bysxOmk9b31yZXR1cm4gcn0scmlnaHQ6ZnVuY3Rpb24obixlLHIsaSl7Zm9yKG51bGw9PXImJihyPTApLG51bGw9PWkmJihpPW4ubGVuZ3RoKTtyPGk7KXt2YXIgbz1yK2k+Pj4xO3QobltvXSxlKT4wP2k9bzpyPW8rMX1yZXR1cm4gcn19fXZhciByPWUobiksaT1yLnJpZ2h0LG89ci5sZWZ0O2Z1bmN0aW9uIGEodCxuKXtyZXR1cm5bdCxuXX1mdW5jdGlvbiB1KHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gZih0LG4pe3ZhciBlLHIsaT10Lmxlbmd0aCxvPTAsYT0tMSxmPTAsYz0wO2lmKG51bGw9PW4pZm9yKDsrK2E8aTspaXNOYU4oZT11KHRbYV0pKXx8KGMrPShyPWUtZikqKGUtKGYrPXIvKytvKSkpO2Vsc2UgZm9yKDsrK2E8aTspaXNOYU4oZT11KG4odFthXSxhLHQpKSl8fChjKz0ocj1lLWYpKihlLShmKz1yLysrbykpKTtpZihvPjEpcmV0dXJuIGMvKG8tMSl9ZnVuY3Rpb24gYyh0LG4pe3ZhciBlPWYodCxuKTtyZXR1cm4gZT9NYXRoLnNxcnQoZSk6ZX1mdW5jdGlvbiBzKHQsbil7dmFyIGUscixpLG89dC5sZW5ndGgsYT0tMTtpZihudWxsPT1uKXtmb3IoOysrYTxvOylpZihudWxsIT0oZT10W2FdKSYmZT49ZSlmb3Iocj1pPWU7KythPG87KW51bGwhPShlPXRbYV0pJiYocj5lJiYocj1lKSxpPGUmJihpPWUpKX1lbHNlIGZvcig7KythPG87KWlmKG51bGwhPShlPW4odFthXSxhLHQpKSYmZT49ZSlmb3Iocj1pPWU7KythPG87KW51bGwhPShlPW4odFthXSxhLHQpKSYmKHI+ZSYmKHI9ZSksaTxlJiYoaT1lKSk7cmV0dXJuW3IsaV19dmFyIGw9QXJyYXkucHJvdG90eXBlLGg9bC5zbGljZSxkPWwubWFwO2Z1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHYodCl7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0LG4sZSl7dD0rdCxuPStuLGU9KGk9YXJndW1lbnRzLmxlbmd0aCk8Mj8obj10LHQ9MCwxKTppPDM/MTorZTtmb3IodmFyIHI9LTEsaT0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChuLXQpL2UpKSxvPW5ldyBBcnJheShpKTsrK3I8aTspb1tyXT10K3IqZTtyZXR1cm4gb312YXIgeT1NYXRoLnNxcnQoNTApLF89TWF0aC5zcXJ0KDEwKSxiPU1hdGguc3FydCgyKTtmdW5jdGlvbiBtKHQsbixlKXt2YXIgcixpLG8sYSx1PS0xO2lmKGU9K2UsKHQ9K3QpPT09KG49K24pJiZlPjApcmV0dXJuW3RdO2lmKChyPW48dCkmJihpPXQsdD1uLG49aSksMD09PShhPXgodCxuLGUpKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxuPU1hdGguZmxvb3Iobi9hKSxvPW5ldyBBcnJheShpPU1hdGguY2VpbChuLXQrMSkpOysrdTxpOylvW3VdPSh0K3UpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksbj1NYXRoLmNlaWwobiphKSxvPW5ldyBBcnJheShpPU1hdGguY2VpbCh0LW4rMSkpOysrdTxpOylvW3VdPSh0LXUpL2E7cmV0dXJuIHImJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24geCh0LG4sZSl7dmFyIHI9KG4tdCkvTWF0aC5tYXgoMCxlKSxpPU1hdGguZmxvb3IoTWF0aC5sb2cocikvTWF0aC5MTjEwKSxvPXIvTWF0aC5wb3coMTAsaSk7cmV0dXJuIGk+PTA/KG8+PXk/MTA6bz49Xz81Om8+PWI/MjoxKSpNYXRoLnBvdygxMCxpKTotTWF0aC5wb3coMTAsLWkpLyhvPj15PzEwOm8+PV8/NTpvPj1iPzI6MSl9ZnVuY3Rpb24gdyh0LG4sZSl7dmFyIHI9TWF0aC5hYnMobi10KS9NYXRoLm1heCgwLGUpLGk9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhyKS9NYXRoLkxOMTApKSxvPXIvaTtyZXR1cm4gbz49eT9pKj0xMDpvPj1fP2kqPTU6bz49YiYmKGkqPTIpLG48dD8taTppfWZ1bmN0aW9uIE0odCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh0Lmxlbmd0aCkvTWF0aC5MTjIpKzF9ZnVuY3Rpb24gQSh0LG4sZSl7aWYobnVsbD09ZSYmKGU9dSkscj10Lmxlbmd0aCl7aWYoKG49K24pPD0wfHxyPDIpcmV0dXJuK2UodFswXSwwLHQpO2lmKG4+PTEpcmV0dXJuK2UodFtyLTFdLHItMSx0KTt2YXIgcixpPShyLTEpKm4sbz1NYXRoLmZsb29yKGkpLGE9K2UodFtvXSxvLHQpO3JldHVybiBhKygrZSh0W28rMV0sbysxLHQpLWEpKihpLW8pfX1mdW5jdGlvbiBUKHQsbil7dmFyIGUscixpPXQubGVuZ3RoLG89LTE7aWYobnVsbD09bil7Zm9yKDsrK288aTspaWYobnVsbCE9KGU9dFtvXSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9dFtvXSkmJmU+ciYmKHI9ZSl9ZWxzZSBmb3IoOysrbzxpOylpZihudWxsIT0oZT1uKHRbb10sbyx0KSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9bih0W29dLG8sdCkpJiZlPnImJihyPWUpO3JldHVybiByfWZ1bmN0aW9uIE4odCl7Zm9yKHZhciBuLGUscixpPXQubGVuZ3RoLG89LTEsYT0wOysrbzxpOylhKz10W29dLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkoYSk7LS1pPj0wOylmb3Iobj0ocj10W2ldKS5sZW5ndGg7LS1uPj0wOyllWy0tYV09cltuXTtyZXR1cm4gZX1mdW5jdGlvbiBTKHQsbil7dmFyIGUscixpPXQubGVuZ3RoLG89LTE7aWYobnVsbD09bil7Zm9yKDsrK288aTspaWYobnVsbCE9KGU9dFtvXSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9dFtvXSkmJnI+ZSYmKHI9ZSl9ZWxzZSBmb3IoOysrbzxpOylpZihudWxsIT0oZT1uKHRbb10sbyx0KSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9bih0W29dLG8sdCkpJiZyPmUmJihyPWUpO3JldHVybiByfWZ1bmN0aW9uIEUodCl7aWYoIShpPXQubGVuZ3RoKSlyZXR1cm5bXTtmb3IodmFyIG49LTEsZT1TKHQsaykscj1uZXcgQXJyYXkoZSk7KytuPGU7KWZvcih2YXIgaSxvPS0xLGE9cltuXT1uZXcgQXJyYXkoaSk7KytvPGk7KWFbb109dFtvXVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBrKHQpe3JldHVybiB0Lmxlbmd0aH12YXIgQz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gUCh0KXtyZXR1cm4gdH12YXIgej0xLFI9MixMPTMsRD00LFU9MWUtNjtmdW5jdGlvbiBxKHQpe3JldHVybiJ0cmFuc2xhdGUoIisodCsuNSkrIiwwKSJ9ZnVuY3Rpb24gTyh0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIFkoKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gQih0LG4pe3ZhciBlPVtdLHI9bnVsbCxpPW51bGwsbz02LGE9Nix1PTMsZj10PT09enx8dD09PUQ/LTE6MSxjPXQ9PT1EfHx0PT09Uj8ieCI6InkiLHM9dD09PXp8fHQ9PT1MP3E6TztmdW5jdGlvbiBsKGwpe3ZhciBoPW51bGw9PXI/bi50aWNrcz9uLnRpY2tzLmFwcGx5KG4sZSk6bi5kb21haW4oKTpyLGQ9bnVsbD09aT9uLnRpY2tGb3JtYXQ/bi50aWNrRm9ybWF0LmFwcGx5KG4sZSk6UDppLHA9TWF0aC5tYXgobywwKSt1LHY9bi5yYW5nZSgpLGc9K3ZbMF0rLjUseT0rdlt2Lmxlbmd0aC0xXSsuNSxfPShuLmJhbmR3aWR0aD9mdW5jdGlvbih0KXt2YXIgbj1NYXRoLm1heCgwLHQuYmFuZHdpZHRoKCktMSkvMjtyZXR1cm4gdC5yb3VuZCgpJiYobj1NYXRoLnJvdW5kKG4pKSxmdW5jdGlvbihlKXtyZXR1cm4rdChlKStufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybit0KG4pfX0pKG4uY29weSgpKSxiPWwuc2VsZWN0aW9uP2wuc2VsZWN0aW9uKCk6bCxtPWIuc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLHg9Yi5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShoLG4pLm9yZGVyKCksdz14LmV4aXQoKSxNPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxBPXguc2VsZWN0KCJsaW5lIiksVD14LnNlbGVjdCgidGV4dCIpO209bS5tZXJnZShtLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpKSx4PXgubWVyZ2UoTSksQT1BLm1lcmdlKE0uYXBwZW5kKCJsaW5lIikuYXR0cigic3Ryb2tlIiwiY3VycmVudENvbG9yIikuYXR0cihjKyIyIixmKm8pKSxUPVQubWVyZ2UoTS5hcHBlbmQoInRleHQiKS5hdHRyKCJmaWxsIiwiY3VycmVudENvbG9yIikuYXR0cihjLGYqcCkuYXR0cigiZHkiLHQ9PT16PyIwZW0iOnQ9PT1MPyIwLjcxZW0iOiIwLjMyZW0iKSksbCE9PWImJihtPW0udHJhbnNpdGlvbihsKSx4PXgudHJhbnNpdGlvbihsKSxBPUEudHJhbnNpdGlvbihsKSxUPVQudHJhbnNpdGlvbihsKSx3PXcudHJhbnNpdGlvbihsKS5hdHRyKCJvcGFjaXR5IixVKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PV8odCkpP3ModCk6dGhpcy5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSksTS5hdHRyKCJvcGFjaXR5IixVKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMucGFyZW50Tm9kZS5fX2F4aXM7cmV0dXJuIHMobiYmaXNGaW5pdGUobj1uKHQpKT9uOl8odCkpfSkpLHcucmVtb3ZlKCksbS5hdHRyKCJkIix0PT09RHx8dD09Uj9hPyJNIitmKmErIiwiK2crIkgwLjVWIit5KyJIIitmKmE6Ik0wLjUsIitnKyJWIit5OmE/Ik0iK2crIiwiK2YqYSsiVjAuNUgiK3krIlYiK2YqYToiTSIrZysiLDAuNUgiK3kpLHguYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4gcyhfKHQpKX0pLEEuYXR0cihjKyIyIixmKm8pLFQuYXR0cihjLGYqcCkudGV4dChkKSxiLmZpbHRlcihZKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIix0PT09Uj8ic3RhcnQiOnQ9PT1EPyJlbmQiOiJtaWRkbGUiKSxiLmVhY2goZnVuY3Rpb24oKXt0aGlzLl9fYXhpcz1ffSl9cmV0dXJuIGwuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxsKTpufSxsLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIGU9Qy5jYWxsKGFyZ3VtZW50cyksbH0sbC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/W106Qy5jYWxsKHQpLGwpOmUuc2xpY2UoKX0sbC50aWNrVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDpDLmNhbGwodCksbCk6ciYmci5zbGljZSgpfSxsLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxsKTppfSxsLnRpY2tTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWE9K3QsbCk6b30sbC50aWNrU2l6ZUlubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSt0LGwpOm99LGwudGlja1NpemVPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0rdCxsKTphfSxsLnRpY2tQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSt0LGwpOnV9LGx9dmFyIEY9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gSSgpe2Zvcih2YXIgdCxuPTAsZT1hcmd1bWVudHMubGVuZ3RoLHI9e307bjxlOysrbil7aWYoISh0PWFyZ3VtZW50c1tuXSsiIil8fHQgaW4gcil0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtyW3RdPVtdfXJldHVybiBuZXcgSChyKX1mdW5jdGlvbiBIKHQpe3RoaXMuXz10fWZ1bmN0aW9uIGoodCxuKXtmb3IodmFyIGUscj0wLGk9dC5sZW5ndGg7cjxpOysrcilpZigoZT10W3JdKS5uYW1lPT09bilyZXR1cm4gZS52YWx1ZX1mdW5jdGlvbiBYKHQsbixlKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTsrK3IpaWYodFtyXS5uYW1lPT09bil7dFtyXT1GLHQ9dC5zbGljZSgwLHIpLmNvbmNhdCh0LnNsaWNlKHIrMSkpO2JyZWFrfXJldHVybiBudWxsIT1lJiZ0LnB1c2goe25hbWU6bix2YWx1ZTplfSksdH1ILnByb3RvdHlwZT1JLnByb3RvdHlwZT17Y29uc3RydWN0b3I6SCxvbjpmdW5jdGlvbih0LG4pe3ZhciBlLHIsaT10aGlzLl8sbz0ocj1pLCh0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGU9dC5pbmRleE9mKCIuIik7aWYoZT49MCYmKG49dC5zbGljZShlKzEpLHQ9dC5zbGljZSgwLGUpKSx0JiYhci5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtyZXR1cm57dHlwZTp0LG5hbWU6bn19KSksYT0tMSx1PW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9biYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK24pO2Zvcig7KythPHU7KWlmKGU9KHQ9b1thXSkudHlwZSlpW2VdPVgoaVtlXSx0Lm5hbWUsbik7ZWxzZSBpZihudWxsPT1uKWZvcihlIGluIGkpaVtlXT1YKGlbZV0sdC5uYW1lLG51bGwpO3JldHVybiB0aGlzfWZvcig7KythPHU7KWlmKChlPSh0PW9bYV0pLnR5cGUpJiYoZT1qKGlbZV0sdC5uYW1lKSkpcmV0dXJuIGV9LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxuPXRoaXMuXztmb3IodmFyIGUgaW4gbil0W2VdPW5bZV0uc2xpY2UoKTtyZXR1cm4gbmV3IEgodCl9LGNhbGw6ZnVuY3Rpb24odCxuKXtpZigoZT1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBlLHIsaT1uZXcgQXJyYXkoZSksbz0wO288ZTsrK28paVtvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsZT0ocj10aGlzLl9bdF0pLmxlbmd0aDtvPGU7KytvKXJbb10udmFsdWUuYXBwbHkobixpKX0sYXBwbHk6ZnVuY3Rpb24odCxuLGUpe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciByPXRoaXMuX1t0XSxpPTAsbz1yLmxlbmd0aDtpPG87KytpKXJbaV0udmFsdWUuYXBwbHkobixlKX19O3ZhciBHPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIixWPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpHLHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gJCh0KXt2YXIgbj10Kz0iIixlPW4uaW5kZXhPZigiOiIpO3JldHVybiBlPj0wJiYieG1sbnMiIT09KG49dC5zbGljZSgwLGUpKSYmKHQ9dC5zbGljZShlKzEpKSxWLmhhc093blByb3BlcnR5KG4pP3tzcGFjZTpWW25dLGxvY2FsOnR9OnR9ZnVuY3Rpb24gVyh0KXt2YXIgbj0kKHQpO3JldHVybihuLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLm93bmVyRG9jdW1lbnQsZT10aGlzLm5hbWVzcGFjZVVSSTtyZXR1cm4gZT09PUcmJm4uZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PUc/bi5jcmVhdGVFbGVtZW50KHQpOm4uY3JlYXRlRWxlbWVudE5TKGUsdCl9fSkobil9ZnVuY3Rpb24gWigpe31mdW5jdGlvbiBRKHQpe3JldHVybiBudWxsPT10P1o6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBKKCl7cmV0dXJuW119ZnVuY3Rpb24gSyh0KXtyZXR1cm4gbnVsbD09dD9KOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19dmFyIHR0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgbnQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2lmKCFudC5tYXRjaGVzKXt2YXIgZXQ9bnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxudC5tc01hdGNoZXNTZWxlY3Rvcnx8bnQubW96TWF0Y2hlc1NlbGVjdG9yfHxudC5vTWF0Y2hlc1NlbGVjdG9yO3R0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBldC5jYWxsKHRoaXMsdCl9fX19dmFyIHJ0PXR0O2Z1bmN0aW9uIGl0KHQpe3JldHVybiBuZXcgQXJyYXkodC5sZW5ndGgpfWZ1bmN0aW9uIG90KHQsbil7dGhpcy5vd25lckRvY3VtZW50PXQub3duZXJEb2N1bWVudCx0aGlzLm5hbWVzcGFjZVVSST10Lm5hbWVzcGFjZVVSSSx0aGlzLl9uZXh0PW51bGwsdGhpcy5fcGFyZW50PXQsdGhpcy5fX2RhdGFfXz1ufW90LnByb3RvdHlwZT17Y29uc3RydWN0b3I6b3QsYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZvcmUodCx0aGlzLl9uZXh0KX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZvcmUodCxuKX0scXVlcnlTZWxlY3RvcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3IodCl9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yQWxsKHQpfX07dmFyIGF0PSIkIjtmdW5jdGlvbiB1dCh0LG4sZSxyLGksbyl7Zm9yKHZhciBhLHU9MCxmPW4ubGVuZ3RoLGM9by5sZW5ndGg7dTxjOysrdSkoYT1uW3VdKT8oYS5fX2RhdGFfXz1vW3VdLHJbdV09YSk6ZVt1XT1uZXcgb3QodCxvW3VdKTtmb3IoO3U8ZjsrK3UpKGE9blt1XSkmJihpW3VdPWEpfWZ1bmN0aW9uIGZ0KHQsbixlLHIsaSxvLGEpe3ZhciB1LGYsYyxzPXt9LGw9bi5sZW5ndGgsaD1vLmxlbmd0aCxkPW5ldyBBcnJheShsKTtmb3IodT0wO3U8bDsrK3UpKGY9blt1XSkmJihkW3VdPWM9YXQrYS5jYWxsKGYsZi5fX2RhdGFfXyx1LG4pLGMgaW4gcz9pW3VdPWY6c1tjXT1mKTtmb3IodT0wO3U8aDsrK3UpKGY9c1tjPWF0K2EuY2FsbCh0LG9bdV0sdSxvKV0pPyhyW3VdPWYsZi5fX2RhdGFfXz1vW3VdLHNbY109bnVsbCk6ZVt1XT1uZXcgb3QodCxvW3VdKTtmb3IodT0wO3U8bDsrK3UpKGY9blt1XSkmJnNbZFt1XV09PT1mJiYoaVt1XT1mKX1mdW5jdGlvbiBjdCh0LG4pe3JldHVybiB0PG4/LTE6dD5uPzE6dD49bj8wOk5hTn1mdW5jdGlvbiBzdCh0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHQuZG9jdW1lbnQmJnR8fHQuZGVmYXVsdFZpZXd9ZnVuY3Rpb24gbHQodCxuKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG4pfHxzdCh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShuKX1mdW5jdGlvbiBodCh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gZHQodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgcHQodCl9ZnVuY3Rpb24gcHQodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPWh0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gdnQodCxuKXtmb3IodmFyIGU9ZHQodCkscj0tMSxpPW4ubGVuZ3RoOysrcjxpOyllLmFkZChuW3JdKX1mdW5jdGlvbiBndCh0LG4pe2Zvcih2YXIgZT1kdCh0KSxyPS0xLGk9bi5sZW5ndGg7KytyPGk7KWUucmVtb3ZlKG5bcl0pfWZ1bmN0aW9uIHl0KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBfdCgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIGJ0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIG10KCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24geHQoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiB3dCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIE10KCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5jbG9uZU5vZGUoITEpLHRoaXMubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIEF0KCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5jbG9uZU5vZGUoITApLHRoaXMubmV4dFNpYmxpbmcpfXB0LnByb3RvdHlwZT17YWRkOmZ1bmN0aW9uKHQpe3RoaXMuX25hbWVzLmluZGV4T2YodCk8MCYmKHRoaXMuX25hbWVzLnB1c2godCksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX25hbWVzLmluZGV4T2YodCk7bj49MCYmKHRoaXMuX25hbWVzLnNwbGljZShuLDEpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LGNvbnRhaW5zOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9uYW1lcy5pbmRleE9mKHQpPj0wfX07dmFyIFR0PXt9Oyh0LmV2ZW50PW51bGwsInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCkmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFR0PXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBOdCh0LG4sZSl7cmV0dXJuIHQ9U3QodCxuLGUpLGZ1bmN0aW9uKG4pe3ZhciBlPW4ucmVsYXRlZFRhcmdldDtlJiYoZT09PXRoaXN8fDgmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLG4pfX1mdW5jdGlvbiBTdChuLGUscil7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBvPXQuZXZlbnQ7dC5ldmVudD1pO3RyeXtuLmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUscil9ZmluYWxseXt0LmV2ZW50PW99fX1mdW5jdGlvbiBFdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9fb247aWYobil7Zm9yKHZhciBlLHI9MCxpPS0xLG89bi5sZW5ndGg7cjxvOysrcillPW5bcl0sdC50eXBlJiZlLnR5cGUhPT10LnR5cGV8fGUubmFtZSE9PXQubmFtZT9uWysraV09ZTp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLGUubGlzdGVuZXIsZS5jYXB0dXJlKTsrK2k/bi5sZW5ndGg9aTpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24ga3QodCxuLGUpe3ZhciByPVR0Lmhhc093blByb3BlcnR5KHQudHlwZSk/TnQ6U3Q7cmV0dXJuIGZ1bmN0aW9uKGksbyxhKXt2YXIgdSxmPXRoaXMuX19vbixjPXIobixvLGEpO2lmKGYpZm9yKHZhciBzPTAsbD1mLmxlbmd0aDtzPGw7KytzKWlmKCh1PWZbc10pLnR5cGU9PT10LnR5cGUmJnUubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHUudHlwZSx1Lmxpc3RlbmVyLHUuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHUudHlwZSx1Lmxpc3RlbmVyPWMsdS5jYXB0dXJlPWUpLHZvaWQodS52YWx1ZT1uKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsZSksdT17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6bixsaXN0ZW5lcjpjLGNhcHR1cmU6ZX0sZj9mLnB1c2godSk6dGhpcy5fX29uPVt1XX19ZnVuY3Rpb24gQ3QobixlLHIsaSl7dmFyIG89dC5ldmVudDtuLnNvdXJjZUV2ZW50PXQuZXZlbnQsdC5ldmVudD1uO3RyeXtyZXR1cm4gZS5hcHBseShyLGkpfWZpbmFsbHl7dC5ldmVudD1vfX1mdW5jdGlvbiBQdCh0LG4sZSl7dmFyIHI9c3QodCksaT1yLkN1c3RvbUV2ZW50OyJmdW5jdGlvbiI9PXR5cGVvZiBpP2k9bmV3IGkobixlKTooaT1yLmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpLGU/KGkuaW5pdEV2ZW50KG4sZS5idWJibGVzLGUuY2FuY2VsYWJsZSksaS5kZXRhaWw9ZS5kZXRhaWwpOmkuaW5pdEV2ZW50KG4sITEsITEpKSx0LmRpc3BhdGNoRXZlbnQoaSl9dmFyIHp0PVtudWxsXTtmdW5jdGlvbiBSdCh0LG4pe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9bn1mdW5jdGlvbiBMdCgpe3JldHVybiBuZXcgUnQoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSx6dCl9ZnVuY3Rpb24gRHQodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBSdChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IFJ0KFtbdF1dLHp0KX1SdC5wcm90b3R5cGU9THQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpSdCxzZWxlY3Q6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVEodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSlmb3IodmFyIG8sYSx1PW5baV0sZj11Lmxlbmd0aCxjPXJbaV09bmV3IEFycmF5KGYpLHM9MDtzPGY7KytzKShvPXVbc10pJiYoYT10LmNhbGwobyxvLl9fZGF0YV9fLHMsdSkpJiYoIl9fZGF0YV9fImluIG8mJihhLl9fZGF0YV9fPW8uX19kYXRhX18pLGNbc109YSk7cmV0dXJuIG5ldyBSdChyLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUsodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPVtdLGk9W10sbz0wO288ZTsrK28pZm9yKHZhciBhLHU9bltvXSxmPXUubGVuZ3RoLGM9MDtjPGY7KytjKShhPXVbY10pJiYoci5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyx1KSksaS5wdXNoKGEpKTtyZXR1cm4gbmV3IFJ0KHIsaSl9LGZpbHRlcjpmdW5jdGlvbih0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cnQodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSlmb3IodmFyIG8sYT1uW2ldLHU9YS5sZW5ndGgsZj1yW2ldPVtdLGM9MDtjPHU7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmYucHVzaChvKTtyZXR1cm4gbmV3IFJ0KHIsdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24odCxuKXtpZighdClyZXR1cm4gcD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHM9LTEsdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3BbKytzXT10fSkscDt2YXIgZSxyPW4/ZnQ6dXQsaT10aGlzLl9wYXJlbnRzLG89dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoZT10LHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX0pO2Zvcih2YXIgYT1vLmxlbmd0aCx1PW5ldyBBcnJheShhKSxmPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSxzPTA7czxhOysrcyl7dmFyIGw9aVtzXSxoPW9bc10sZD1oLmxlbmd0aCxwPXQuY2FsbChsLGwmJmwuX19kYXRhX18scyxpKSx2PXAubGVuZ3RoLGc9ZltzXT1uZXcgQXJyYXkodikseT11W3NdPW5ldyBBcnJheSh2KTtyKGwsaCxnLHksY1tzXT1uZXcgQXJyYXkoZCkscCxuKTtmb3IodmFyIF8sYixtPTAseD0wO208djsrK20paWYoXz1nW21dKXtmb3IobT49eCYmKHg9bSsxKTshKGI9eVt4XSkmJisreDx2Oyk7Xy5fbmV4dD1ifHxudWxsfX1yZXR1cm4odT1uZXcgUnQodSxpKSkuX2VudGVyPWYsdS5fZXhpdD1jLHV9LGVudGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBSdCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcChpdCksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFJ0KHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAoaXQpLHRoaXMuX3BhcmVudHMpfSxtZXJnZTpmdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGU9dC5fZ3JvdXBzLHI9bi5sZW5ndGgsaT1lLmxlbmd0aCxvPU1hdGgubWluKHIsaSksYT1uZXcgQXJyYXkociksdT0wO3U8bzsrK3UpZm9yKHZhciBmLGM9blt1XSxzPWVbdV0sbD1jLmxlbmd0aCxoPWFbdV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShmPWNbZF18fHNbZF0pJiYoaFtkXT1mKTtmb3IoO3U8cjsrK3UpYVt1XT1uW3VdO3JldHVybiBuZXcgUnQoYSx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLG49LTEsZT10Lmxlbmd0aDsrK248ZTspZm9yKHZhciByLGk9dFtuXSxvPWkubGVuZ3RoLTEsYT1pW29dOy0tbz49MDspKHI9aVtvXSkmJihhJiZhIT09ci5uZXh0U2libGluZyYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGEpLGE9cik7cmV0dXJuIHRoaXN9LHNvcnQ6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuLGUpe3JldHVybiBuJiZlP3Qobi5fX2RhdGFfXyxlLl9fZGF0YV9fKTohbi0hZX10fHwodD1jdCk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxyPWUubGVuZ3RoLGk9bmV3IEFycmF5KHIpLG89MDtvPHI7KytvKXtmb3IodmFyIGEsdT1lW29dLGY9dS5sZW5ndGgsYz1pW29dPW5ldyBBcnJheShmKSxzPTA7czxmOysrcykoYT11W3NdKSYmKGNbc109YSk7Yy5zb3J0KG4pfXJldHVybiBuZXcgUnQoaSx0aGlzLl9wYXJlbnRzKS5vcmRlcigpfSxjYWxsOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbigpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksbj0tMTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dFsrK25dPXRoaXN9KSx0fSxub2RlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxuPTAsZT10Lmxlbmd0aDtuPGU7KytuKWZvcih2YXIgcj10W25dLGk9MCxvPXIubGVuZ3RoO2k8bzsrK2kpe3ZhciBhPXJbaV07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeysrdH0pLHR9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT0wLHI9bi5sZW5ndGg7ZTxyOysrZSlmb3IodmFyIGksbz1uW2VdLGE9MCx1PW8ubGVuZ3RoO2E8dTsrK2EpKGk9b1thXSkmJnQuY2FsbChpLGkuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbih0LG4pe3ZhciBlPSQodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgcj10aGlzLm5vZGUoKTtyZXR1cm4gZS5sb2NhbD9yLmdldEF0dHJpYnV0ZU5TKGUuc3BhY2UsZS5sb2NhbCk6ci5nZXRBdHRyaWJ1dGUoZSl9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09bj9lLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX06ImZ1bmN0aW9uIj09dHlwZW9mIG4/ZS5sb2NhbD9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWU/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1lP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSl9fTplLmxvY2FsP2Z1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fTpmdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsbil9fSkoZSxuKSl9LHN0eWxlOmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09bj9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX06ImZ1bmN0aW9uIj09dHlwZW9mIG4/ZnVuY3Rpb24odCxuLGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXI/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQscixlKX19OmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsbixlKX19KSh0LG4sbnVsbD09ZT8iIjplKSk6bHQodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PW4/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fToiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWU/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1lfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPW59fSkodCxuKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24odCxuKXt2YXIgZT1odCh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgcj1kdCh0aGlzLm5vZGUoKSksaT0tMSxvPWUubGVuZ3RoOysraTxvOylpZighci5jb250YWlucyhlW2ldKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpeyhuLmFwcGx5KHRoaXMsYXJndW1lbnRzKT92dDpndCkodGhpcyx0KX19Om4/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dnQodGhpcyx0KX19OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2d0KHRoaXMsdCl9fSkoZSxuKSl9LHRleHQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/eXQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09bj8iIjpufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX0pKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9fdDooImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5pbm5lckhUTUw9bnVsbD09bj8iIjpufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19KSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goYnQpfSxsb3dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2gobXQpfSxhcHBlbmQ6ZnVuY3Rpb24odCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpXKHQpO3JldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pfSxpbnNlcnQ6ZnVuY3Rpb24odCxuKXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlcodCkscj1udWxsPT1uP3h0OiJmdW5jdGlvbiI9PXR5cGVvZiBuP246UShuKTtyZXR1cm4gdGhpcy5zZWxlY3QoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSl9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2god3QpfSxjbG9uZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD9BdDpNdCl9LGRhdHVtOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24odCxuLGUpe3ZhciByLGksbz1mdW5jdGlvbih0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGU9dC5pbmRleE9mKCIuIik7cmV0dXJuIGU+PTAmJihuPXQuc2xpY2UoZSsxKSx0PXQuc2xpY2UoMCxlKSkse3R5cGU6dCxuYW1lOm59fSl9KHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3IodT1uP2t0OkV0LG51bGw9PWUmJihlPSExKSxyPTA7cjxhOysrcil0aGlzLmVhY2godShvW3JdLG4sZSkpO3JldHVybiB0aGlzfXZhciB1PXRoaXMubm9kZSgpLl9fb247aWYodSlmb3IodmFyIGYsYz0wLHM9dS5sZW5ndGg7YzxzOysrYylmb3Iocj0wLGY9dVtjXTtyPGE7KytyKWlmKChpPW9bcl0pLnR5cGU9PT1mLnR5cGUmJmkubmFtZT09PWYubmFtZSlyZXR1cm4gZi52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBQdCh0aGlzLHQsbi5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gUHQodGhpcyx0LG4pfX0pKHQsbikpfX07dmFyIFV0PTA7ZnVuY3Rpb24gcXQoKXtyZXR1cm4gbmV3IE90fWZ1bmN0aW9uIE90KCl7dGhpcy5fPSJAIisoKytVdCkudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIFl0KCl7Zm9yKHZhciBuLGU9dC5ldmVudDtuPWUuc291cmNlRXZlbnQ7KWU9bjtyZXR1cm4gZX1mdW5jdGlvbiBCdCh0LG4pe3ZhciBlPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKGUuY3JlYXRlU1ZHUG9pbnQpe3ZhciByPWUuY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gci54PW4uY2xpZW50WCxyLnk9bi5jbGllbnRZLFsocj1yLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsci55XX12YXIgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltuLmNsaWVudFgtaS5sZWZ0LXQuY2xpZW50TGVmdCxuLmNsaWVudFktaS50b3AtdC5jbGllbnRUb3BdfWZ1bmN0aW9uIEZ0KHQpe3ZhciBuPVl0KCk7cmV0dXJuIG4uY2hhbmdlZFRvdWNoZXMmJihuPW4uY2hhbmdlZFRvdWNoZXNbMF0pLEJ0KHQsbil9ZnVuY3Rpb24gSXQodCxuLGUpe2FyZ3VtZW50cy5sZW5ndGg8MyYmKGU9bixuPVl0KCkuY2hhbmdlZFRvdWNoZXMpO2Zvcih2YXIgcixpPTAsbz1uP24ubGVuZ3RoOjA7aTxvOysraSlpZigocj1uW2ldKS5pZGVudGlmaWVyPT09ZSlyZXR1cm4gQnQodCxyKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBIdCgpe3QuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24ganQoKXt0LmV2ZW50LnByZXZlbnREZWZhdWx0KCksdC5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBYdCh0KXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlPUR0KHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsanQsITApOyJvbnNlbGVjdHN0YXJ0ImluIG4/ZS5vbigic2VsZWN0c3RhcnQuZHJhZyIsanQsITApOihuLl9fbm9zZWxlY3Q9bi5zdHlsZS5Nb3pVc2VyU2VsZWN0LG4uc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIpfWZ1bmN0aW9uIEd0KHQsbil7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscj1EdCh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLG51bGwpO24mJihyLm9uKCJjbGljay5kcmFnIixqdCwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe3Iub24oImNsaWNrLmRyYWciLG51bGwpfSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gZT9yLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKTooZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PWUuX19ub3NlbGVjdCxkZWxldGUgZS5fX25vc2VsZWN0KX1mdW5jdGlvbiBWdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gJHQodCxuLGUscixpLG8sYSx1LGYsYyl7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9bix0aGlzLnN1YmplY3Q9ZSx0aGlzLmlkZW50aWZpZXI9cix0aGlzLmFjdGl2ZT1pLHRoaXMueD1vLHRoaXMueT1hLHRoaXMuZHg9dSx0aGlzLmR5PWYsdGhpcy5fPWN9ZnVuY3Rpb24gV3QoKXtyZXR1cm4hdC5ldmVudC5idXR0b259ZnVuY3Rpb24gWnQoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfWZ1bmN0aW9uIFF0KG4pe3JldHVybiBudWxsPT1uP3t4OnQuZXZlbnQueCx5OnQuZXZlbnQueX06bn1mdW5jdGlvbiBKdCgpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBLdCh0LG4sZSl7dC5wcm90b3R5cGU9bi5wcm90b3R5cGU9ZSxlLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gdG4odCxuKXt2YXIgZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIHIgaW4gbillW3JdPW5bcl07cmV0dXJuIGV9ZnVuY3Rpb24gbm4oKXt9T3QucHJvdG90eXBlPXF0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6T3QsZ2V0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLl87IShuIGluIHQpOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbih0LG4pe3JldHVybiB0W3RoaXMuX109bn0scmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl8gaW4gdCYmZGVsZXRlIHRbdGhpcy5fXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sJHQucHJvdG90eXBlLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fLm9uLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpO3JldHVybiB0PT09dGhpcy5fP3RoaXM6dH07dmFyIGVuPSJcXHMqKFsrLV0/XFxkKylcXHMqIixybj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixvbj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsYW49L14jKFswLTlhLWZdezN9KSQvLHVuPS9eIyhbMC05YS1mXXs2fSkkLyxmbj1uZXcgUmVnRXhwKCJecmdiXFwoIitbZW4sZW4sZW5dKyJcXCkkIiksY249bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW29uLG9uLG9uXSsiXFwpJCIpLHNuPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbZW4sZW4sZW4scm5dKyJcXCkkIiksbG49bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tvbixvbixvbixybl0rIlxcKSQiKSxobj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbcm4sb24sb25dKyJcXCkkIiksZG49bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tybixvbixvbixybl0rIlxcKSQiKSxwbj17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB2bih0KXt2YXIgbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKG49YW4uZXhlYyh0KSk/bmV3IG1uKChuPXBhcnNlSW50KG5bMV0sMTYpKT4+OCYxNXxuPj40JjI0MCxuPj40JjE1fDI0MCZuLCgxNSZuKTw8NHwxNSZuLDEpOihuPXVuLmV4ZWModCkpP2duKHBhcnNlSW50KG5bMV0sMTYpKToobj1mbi5leGVjKHQpKT9uZXcgbW4oblsxXSxuWzJdLG5bM10sMSk6KG49Y24uZXhlYyh0KSk/bmV3IG1uKDI1NSpuWzFdLzEwMCwyNTUqblsyXS8xMDAsMjU1Km5bM10vMTAwLDEpOihuPXNuLmV4ZWModCkpP3luKG5bMV0sblsyXSxuWzNdLG5bNF0pOihuPWxuLmV4ZWModCkpP3luKDI1NSpuWzFdLzEwMCwyNTUqblsyXS8xMDAsMjU1Km5bM10vMTAwLG5bNF0pOihuPWhuLmV4ZWModCkpP3duKG5bMV0sblsyXS8xMDAsblszXS8xMDAsMSk6KG49ZG4uZXhlYyh0KSk/d24oblsxXSxuWzJdLzEwMCxuWzNdLzEwMCxuWzRdKTpwbi5oYXNPd25Qcm9wZXJ0eSh0KT9nbihwblt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IG1uKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gZ24odCl7cmV0dXJuIG5ldyBtbih0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24geW4odCxuLGUscil7cmV0dXJuIHI8PTAmJih0PW49ZT1OYU4pLG5ldyBtbih0LG4sZSxyKX1mdW5jdGlvbiBfbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG5ufHwodD12bih0KSksdD9uZXcgbW4oKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IG1ufWZ1bmN0aW9uIGJuKHQsbixlLHIpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9fbih0KTpuZXcgbW4odCxuLGUsbnVsbD09cj8xOnIpfWZ1bmN0aW9uIG1uKHQsbixlLHIpe3RoaXMucj0rdCx0aGlzLmc9K24sdGhpcy5iPStlLHRoaXMub3BhY2l0eT0rcn1mdW5jdGlvbiB4bih0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHduKHQsbixlLHIpe3JldHVybiByPD0wP3Q9bj1lPU5hTjplPD0wfHxlPj0xP3Q9bj1OYU46bjw9MCYmKHQ9TmFOKSxuZXcgQW4odCxuLGUscil9ZnVuY3Rpb24gTW4odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBBbilyZXR1cm4gbmV3IEFuKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIG5ufHwodD12bih0KSksIXQpcmV0dXJuIG5ldyBBbjtpZih0IGluc3RhbmNlb2YgQW4pcmV0dXJuIHQ7dmFyIG49KHQ9dC5yZ2IoKSkuci8yNTUsZT10LmcvMjU1LHI9dC5iLzI1NSxpPU1hdGgubWluKG4sZSxyKSxvPU1hdGgubWF4KG4sZSxyKSxhPU5hTix1PW8taSxmPShvK2kpLzI7cmV0dXJuIHU/KGE9bj09PW8/KGUtcikvdSs2KihlPHIpOmU9PT1vPyhyLW4pL3UrMjoobi1lKS91KzQsdS89ZjwuNT9vK2k6Mi1vLWksYSo9NjApOnU9Zj4wJiZmPDE/MDphLG5ldyBBbihhLHUsZix0Lm9wYWNpdHkpfSh0KTpuZXcgQW4odCxuLGUsbnVsbD09cj8xOnIpfWZ1bmN0aW9uIEFuKHQsbixlLHIpe3RoaXMuaD0rdCx0aGlzLnM9K24sdGhpcy5sPStlLHRoaXMub3BhY2l0eT0rcn1mdW5jdGlvbiBUbih0LG4sZSl7cmV0dXJuIDI1NSoodDw2MD9uKyhlLW4pKnQvNjA6dDwxODA/ZTp0PDI0MD9uKyhlLW4pKigyNDAtdCkvNjA6bil9S3Qobm4sdm4se2Rpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuaGV4KCl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkrIiJ9fSksS3QobW4sYm4sdG4obm4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/MS8uNzpNYXRoLnBvdygxLy43LHQpLG5ldyBtbih0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8uNzpNYXRoLnBvdyguNyx0KSxuZXcgbW4odGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIDA8PXRoaXMuciYmdGhpcy5yPD0yNTUmJjA8PXRoaXMuZyYmdGhpcy5nPD0yNTUmJjA8PXRoaXMuYiYmdGhpcy5iPD0yNTUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6ZnVuY3Rpb24oKXtyZXR1cm4iIyIreG4odGhpcy5yKSt4bih0aGlzLmcpK3huKHRoaXMuYil9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8icmdiKCI6InJnYmEoIikrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLnIpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuZyl8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5iKXx8MCkpKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpLEt0KEFuLE1uLHRuKG5uLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10PzEvLjc6TWF0aC5wb3coMS8uNyx0KSxuZXcgQW4odGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8uNzpNYXRoLnBvdyguNyx0KSxuZXcgQW4odGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLG49aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsZT10aGlzLmwscj1lKyhlPC41P2U6MS1lKSpuLGk9MiplLXI7cmV0dXJuIG5ldyBtbihUbih0Pj0yNDA/dC0yNDA6dCsxMjAsaSxyKSxUbih0LGksciksVG4odDwxMjA/dCsyNDA6dC0xMjAsaSxyKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX19KSk7dmFyIE5uPU1hdGguUEkvMTgwLFNuPTE4MC9NYXRoLlBJLEVuPS45NjQyMixrbj0xLENuPS44MjUyMSxQbj00LzI5LHpuPTYvMjksUm49Myp6bip6bixMbj16bip6bip6bjtmdW5jdGlvbiBEbih0KXtpZih0IGluc3RhbmNlb2YgcW4pcmV0dXJuIG5ldyBxbih0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBqbil7aWYoaXNOYU4odC5oKSlyZXR1cm4gbmV3IHFuKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgbj10LmgqTm47cmV0dXJuIG5ldyBxbih0LmwsTWF0aC5jb3MobikqdC5jLE1hdGguc2luKG4pKnQuYyx0Lm9wYWNpdHkpfXQgaW5zdGFuY2VvZiBtbnx8KHQ9X24odCkpO3ZhciBlLHIsaT1Gbih0LnIpLG89Rm4odC5nKSxhPUZuKHQuYiksdT1PbigoLjIyMjUwNDUqaSsuNzE2ODc4NipvKy4wNjA2MTY5KmEpL2tuKTtyZXR1cm4gaT09PW8mJm89PT1hP2U9cj11OihlPU9uKCguNDM2MDc0NyppKy4zODUwNjQ5Km8rLjE0MzA4MDQqYSkvRW4pLHI9T24oKC4wMTM5MzIyKmkrLjA5NzEwNDUqbysuNzE0MTczMyphKS9DbikpLG5ldyBxbigxMTYqdS0xNiw1MDAqKGUtdSksMjAwKih1LXIpLHQub3BhY2l0eSl9ZnVuY3Rpb24gVW4odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0RuKHQpOm5ldyBxbih0LG4sZSxudWxsPT1yPzE6cil9ZnVuY3Rpb24gcW4odCxuLGUscil7dGhpcy5sPSt0LHRoaXMuYT0rbix0aGlzLmI9K2UsdGhpcy5vcGFjaXR5PStyfWZ1bmN0aW9uIE9uKHQpe3JldHVybiB0PkxuP01hdGgucG93KHQsMS8zKTp0L1JuK1BufWZ1bmN0aW9uIFluKHQpe3JldHVybiB0PnpuP3QqdCp0OlJuKih0LVBuKX1mdW5jdGlvbiBCbih0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIEZuKHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIEluKHQpe2lmKHQgaW5zdGFuY2VvZiBqbilyZXR1cm4gbmV3IGpuKHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHFufHwodD1Ebih0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IGpuKE5hTiwwLHQubCx0Lm9wYWNpdHkpO3ZhciBuPU1hdGguYXRhbjIodC5iLHQuYSkqU247cmV0dXJuIG5ldyBqbihuPDA/biszNjA6bixNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBIbih0LG4sZSxyKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/SW4odCk6bmV3IGpuKHQsbixlLG51bGw9PXI/MTpyKX1mdW5jdGlvbiBqbih0LG4sZSxyKXt0aGlzLmg9K3QsdGhpcy5jPStuLHRoaXMubD0rZSx0aGlzLm9wYWNpdHk9K3J9S3QocW4sVW4sdG4obm4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcW4odGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBxbih0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PSh0aGlzLmwrMTYpLzExNixuPWlzTmFOKHRoaXMuYSk/dDp0K3RoaXMuYS81MDAsZT1pc05hTih0aGlzLmIpP3Q6dC10aGlzLmIvMjAwO3JldHVybiBuZXcgbW4oQm4oMy4xMzM4NTYxKihuPUVuKlluKG4pKS0xLjYxNjg2NjcqKHQ9a24qWW4odCkpLS40OTA2MTQ2KihlPUNuKlluKGUpKSksQm4oLS45Nzg3Njg0Km4rMS45MTYxNDE1KnQrLjAzMzQ1NCplKSxCbiguMDcxOTQ1MypuLS4yMjg5OTE0KnQrMS40MDUyNDI3KmUpLHRoaXMub3BhY2l0eSl9fSkpLEt0KGpuLEhuLHRuKG5uLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGpuKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgam4odGhpcy5oLHRoaXMuYyx0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gRG4odGhpcykucmdiKCl9fSkpO3ZhciBYbj0tLjE0ODYxLEduPTEuNzgyNzcsVm49LS4yOTIyNywkbj0tLjkwNjQ5LFduPTEuOTcyOTQsWm49V24qJG4sUW49V24qR24sSm49R24qVm4tJG4qWG47ZnVuY3Rpb24gS24odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiB0ZSlyZXR1cm4gbmV3IHRlKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIG1ufHwodD1fbih0KSk7dmFyIG49dC5yLzI1NSxlPXQuZy8yNTUscj10LmIvMjU1LGk9KEpuKnIrWm4qbi1RbiplKS8oSm4rWm4tUW4pLG89ci1pLGE9KFduKihlLWkpLVZuKm8pLyRuLHU9TWF0aC5zcXJ0KGEqYStvKm8pLyhXbippKigxLWkpKSxmPXU/TWF0aC5hdGFuMihhLG8pKlNuLTEyMDpOYU47cmV0dXJuIG5ldyB0ZShmPDA/ZiszNjA6Zix1LGksdC5vcGFjaXR5KX0odCk6bmV3IHRlKHQsbixlLG51bGw9PXI/MTpyKX1mdW5jdGlvbiB0ZSh0LG4sZSxyKXt0aGlzLmg9K3QsdGhpcy5zPStuLHRoaXMubD0rZSx0aGlzLm9wYWNpdHk9K3J9ZnVuY3Rpb24gbmUodCxuLGUscixpKXt2YXIgbz10KnQsYT1vKnQ7cmV0dXJuKCgxLTMqdCszKm8tYSkqbisoNC02Km8rMyphKSplKygxKzMqdCszKm8tMyphKSpyK2EqaSkvNn1mdW5jdGlvbiBlZSh0KXt2YXIgbj10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1lPD0wP2U9MDplPj0xPyhlPTEsbi0xKTpNYXRoLmZsb29yKGUqbiksaT10W3JdLG89dFtyKzFdLGE9cj4wP3Rbci0xXToyKmktbyx1PXI8bi0xP3RbcisyXToyKm8taTtyZXR1cm4gbmUoKGUtci9uKSpuLGEsaSxvLHUpfX1mdW5jdGlvbiByZSh0KXt2YXIgbj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9TWF0aC5mbG9vcigoKGUlPTEpPDA/KytlOmUpKm4pLGk9dFsocituLTEpJW5dLG89dFtyJW5dLGE9dFsocisxKSVuXSx1PXRbKHIrMiklbl07cmV0dXJuIG5lKChlLXIvbikqbixpLG8sYSx1KX19ZnVuY3Rpb24gaWUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG9lKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0K2Uqbn19ZnVuY3Rpb24gYWUodCxuKXt2YXIgZT1uLXQ7cmV0dXJuIGU/b2UodCxlPjE4MHx8ZTwtMTgwP2UtMzYwKk1hdGgucm91bmQoZS8zNjApOmUpOmllKGlzTmFOKHQpP246dCl9ZnVuY3Rpb24gdWUodCl7cmV0dXJuIDE9PSh0PSt0KT9mZTpmdW5jdGlvbihuLGUpe3JldHVybiBlLW4/ZnVuY3Rpb24odCxuLGUpe3JldHVybiB0PU1hdGgucG93KHQsZSksbj1NYXRoLnBvdyhuLGUpLXQsZT0xL2UsZnVuY3Rpb24ocil7cmV0dXJuIE1hdGgucG93KHQrcipuLGUpfX0obixlLHQpOmllKGlzTmFOKG4pP2U6bil9fWZ1bmN0aW9uIGZlKHQsbil7dmFyIGU9bi10O3JldHVybiBlP29lKHQsZSk6aWUoaXNOYU4odCk/bjp0KX1LdCh0ZSxLbix0bihubix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IHRlKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IHRlKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpObixuPSt0aGlzLmwsZT1pc05hTih0aGlzLnMpPzA6dGhpcy5zKm4qKDEtbikscj1NYXRoLmNvcyh0KSxpPU1hdGguc2luKHQpO3JldHVybiBuZXcgbW4oMjU1KihuK2UqKFhuKnIrR24qaSkpLDI1NSoobitlKihWbipyKyRuKmkpKSwyNTUqKG4rZSooV24qcikpLHRoaXMub3BhY2l0eSl9fSkpO3ZhciBjZT1mdW5jdGlvbiB0KG4pe3ZhciBlPXVlKG4pO2Z1bmN0aW9uIHIodCxuKXt2YXIgcj1lKCh0PWJuKHQpKS5yLChuPWJuKG4pKS5yKSxpPWUodC5nLG4uZyksbz1lKHQuYixuLmIpLGE9ZmUodC5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0LnI9cihuKSx0Lmc9aShuKSx0LmI9byhuKSx0Lm9wYWNpdHk9YShuKSx0KyIifX1yZXR1cm4gci5nYW1tYT10LHJ9KDEpO2Z1bmN0aW9uIHNlKHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZSxyLGk9bi5sZW5ndGgsbz1uZXcgQXJyYXkoaSksYT1uZXcgQXJyYXkoaSksdT1uZXcgQXJyYXkoaSk7Zm9yKGU9MDtlPGk7KytlKXI9Ym4obltlXSksb1tlXT1yLnJ8fDAsYVtlXT1yLmd8fDAsdVtlXT1yLmJ8fDA7cmV0dXJuIG89dChvKSxhPXQoYSksdT10KHUpLHIub3BhY2l0eT0xLGZ1bmN0aW9uKHQpe3JldHVybiByLnI9byh0KSxyLmc9YSh0KSxyLmI9dSh0KSxyKyIifX19dmFyIGxlPXNlKGVlKSxoZT1zZShyZSk7ZnVuY3Rpb24gZGUodCxuKXt2YXIgZSxyPW4/bi5sZW5ndGg6MCxpPXQ/TWF0aC5taW4ocix0Lmxlbmd0aCk6MCxvPW5ldyBBcnJheShpKSxhPW5ldyBBcnJheShyKTtmb3IoZT0wO2U8aTsrK2Upb1tlXT1tZSh0W2VdLG5bZV0pO2Zvcig7ZTxyOysrZSlhW2VdPW5bZV07cmV0dXJuIGZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTxpOysrZSlhW2VdPW9bZV0odCk7cmV0dXJuIGF9fWZ1bmN0aW9uIHBlKHQsbil7dmFyIGU9bmV3IERhdGU7cmV0dXJuIG4tPXQ9K3QsZnVuY3Rpb24ocil7cmV0dXJuIGUuc2V0VGltZSh0K24qciksZX19ZnVuY3Rpb24gdmUodCxuKXtyZXR1cm4gbi09dD0rdCxmdW5jdGlvbihlKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIGdlKHQsbil7dmFyIGUscj17fSxpPXt9O2ZvcihlIGluIG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fCh0PXt9KSxudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBufHwobj17fSksbillIGluIHQ/cltlXT1tZSh0W2VdLG5bZV0pOmlbZV09bltlXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKGUgaW4gcilpW2VdPXJbZV0odCk7cmV0dXJuIGl9fXZhciB5ZT0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csX2U9bmV3IFJlZ0V4cCh5ZS5zb3VyY2UsImciKTtmdW5jdGlvbiBiZSh0LG4pe3ZhciBlLHIsaSxvPXllLmxhc3RJbmRleD1fZS5sYXN0SW5kZXg9MCxhPS0xLHU9W10sZj1bXTtmb3IodCs9IiIsbis9IiI7KGU9eWUuZXhlYyh0KSkmJihyPV9lLmV4ZWMobikpOykoaT1yLmluZGV4KT5vJiYoaT1uLnNsaWNlKG8saSksdVthXT91W2FdKz1pOnVbKythXT1pKSwoZT1lWzBdKT09PShyPXJbMF0pP3VbYV0/dVthXSs9cjp1WysrYV09cjoodVsrK2FdPW51bGwsZi5wdXNoKHtpOmEseDp2ZShlLHIpfSkpLG89X2UubGFzdEluZGV4O3JldHVybiBvPG4ubGVuZ3RoJiYoaT1uLnNsaWNlKG8pLHVbYV0/dVthXSs9aTp1WysrYV09aSksdS5sZW5ndGg8Mj9mWzBdP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuKSsiIn19KGZbMF0ueCk6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fShuKToobj1mLmxlbmd0aCxmdW5jdGlvbih0KXtmb3IodmFyIGUscj0wO3I8bjsrK3IpdVsoZT1mW3JdKS5pXT1lLngodCk7cmV0dXJuIHUuam9pbigiIil9KX1mdW5jdGlvbiBtZSh0LG4pe3ZhciBlLHI9dHlwZW9mIG47cmV0dXJuIG51bGw9PW58fCJib29sZWFuIj09PXI/aWUobik6KCJudW1iZXIiPT09cj92ZToic3RyaW5nIj09PXI/KGU9dm4obikpPyhuPWUsY2UpOmJlOm4gaW5zdGFuY2VvZiB2bj9jZTpuIGluc3RhbmNlb2YgRGF0ZT9wZTpBcnJheS5pc0FycmF5KG4pP2RlOiJmdW5jdGlvbiIhPXR5cGVvZiBuLnZhbHVlT2YmJiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRvU3RyaW5nfHxpc05hTihuKT9nZTp2ZSkodCxuKX1mdW5jdGlvbiB4ZSh0LG4pe3JldHVybiBuLT10PSt0LGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnJvdW5kKHQrbiplKX19dmFyIHdlLE1lLEFlLFRlLE5lPTE4MC9NYXRoLlBJLFNlPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIEVlKHQsbixlLHIsaSxvKXt2YXIgYSx1LGY7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtuKm4pKSYmKHQvPWEsbi89YSksKGY9dCplK24qcikmJihlLT10KmYsci09bipmKSwodT1NYXRoLnNxcnQoZSplK3IqcikpJiYoZS89dSxyLz11LGYvPXUpLHQqcjxuKmUmJih0PS10LG49LW4sZj0tZixhPS1hKSx7dHJhbnNsYXRlWDppLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihuLHQpKk5lLHNrZXdYOk1hdGguYXRhbihmKSpOZSxzY2FsZVg6YSxzY2FsZVk6dX19ZnVuY3Rpb24ga2UodCxuLGUscil7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHU9W10sZj1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSxmdW5jdGlvbih0LHIsaSxvLGEsdSl7aWYodCE9PWl8fHIhPT1vKXt2YXIgZj1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsbixudWxsLGUpO3UucHVzaCh7aTpmLTQseDp2ZSh0LGkpfSx7aTpmLTIseDp2ZShyLG8pfSl9ZWxzZShpfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIitpK24rbytlKX0oby50cmFuc2xhdGVYLG8udHJhbnNsYXRlWSxhLnRyYW5zbGF0ZVgsYS50cmFuc2xhdGVZLHUsZiksZnVuY3Rpb24odCxuLGUsbyl7dCE9PW4/KHQtbj4xODA/bis9MzYwOm4tdD4xODAmJih0Kz0zNjApLG8ucHVzaCh7aTplLnB1c2goaShlKSsicm90YXRlKCIsbnVsbCxyKS0yLHg6dmUodCxuKX0pKTpuJiZlLnB1c2goaShlKSsicm90YXRlKCIrbityKX0oby5yb3RhdGUsYS5yb3RhdGUsdSxmKSxmdW5jdGlvbih0LG4sZSxvKXt0IT09bj9vLnB1c2goe2k6ZS5wdXNoKGkoZSkrInNrZXdYKCIsbnVsbCxyKS0yLHg6dmUodCxuKX0pOm4mJmUucHVzaChpKGUpKyJza2V3WCgiK24rcil9KG8uc2tld1gsYS5za2V3WCx1LGYpLGZ1bmN0aW9uKHQsbixlLHIsbyxhKXtpZih0IT09ZXx8biE9PXIpe3ZhciB1PW8ucHVzaChpKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6dS00LHg6dmUodCxlKX0se2k6dS0yLHg6dmUobixyKX0pfWVsc2UgMT09PWUmJjE9PT1yfHxvLnB1c2goaShvKSsic2NhbGUoIitlKyIsIityKyIpIil9KG8uc2NhbGVYLG8uc2NhbGVZLGEuc2NhbGVYLGEuc2NhbGVZLHUsZiksbz1hPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGU9LTEscj1mLmxlbmd0aDsrK2U8cjspdVsobj1mW2VdKS5pXT1uLngodCk7cmV0dXJuIHUuam9pbigiIil9fX12YXIgQ2U9a2UoZnVuY3Rpb24odCl7cmV0dXJuIm5vbmUiPT09dD9TZTood2V8fCh3ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxNZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsQWU9ZG9jdW1lbnQuZGVmYXVsdFZpZXcpLHdlLnN0eWxlLnRyYW5zZm9ybT10LHQ9QWUuZ2V0Q29tcHV0ZWRTdHlsZShNZS5hcHBlbmRDaGlsZCh3ZSksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksTWUucmVtb3ZlQ2hpbGQod2UpLEVlKCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9LCJweCwgIiwicHgpIiwiZGVnKSIpLFBlPWtlKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P1NlOihUZXx8KFRlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIikpLFRlLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1UZS50cmFuc2Zvcm0uYmFzZVZhbC5jb25zb2xpZGF0ZSgpKT9FZSgodD10Lm1hdHJpeCkuYSx0LmIsdC5jLHQuZCx0LmUsdC5mKTpTZSl9LCIsICIsIikiLCIpIiksemU9TWF0aC5TUVJUMixSZT0yLExlPTQsRGU9MWUtMTI7ZnVuY3Rpb24gVWUodCl7cmV0dXJuKCh0PU1hdGguZXhwKHQpKSsxL3QpLzJ9ZnVuY3Rpb24gcWUodCxuKXt2YXIgZSxyLGk9dFswXSxvPXRbMV0sYT10WzJdLHU9blswXSxmPW5bMV0sYz1uWzJdLHM9dS1pLGw9Zi1vLGg9cypzK2wqbDtpZihoPERlKXI9TWF0aC5sb2coYy9hKS96ZSxlPWZ1bmN0aW9uKHQpe3JldHVybltpK3QqcyxvK3QqbCxhKk1hdGguZXhwKHplKnQqcildfTtlbHNle3ZhciBkPU1hdGguc3FydChoKSxwPShjKmMtYSphK0xlKmgpLygyKmEqUmUqZCksdj0oYypjLWEqYS1MZSpoKS8oMipjKlJlKmQpLGc9TWF0aC5sb2coTWF0aC5zcXJ0KHAqcCsxKS1wKSx5PU1hdGgubG9nKE1hdGguc3FydCh2KnYrMSktdik7cj0oeS1nKS96ZSxlPWZ1bmN0aW9uKHQpe3ZhciBuLGU9dCpyLHU9VWUoZyksZj1hLyhSZSpkKSoodSoobj16ZSplK2csKChuPU1hdGguZXhwKDIqbikpLTEpLyhuKzEpKS1mdW5jdGlvbih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0oZykpO3JldHVybltpK2YqcyxvK2YqbCxhKnUvVWUoemUqZStnKV19fXJldHVybiBlLmR1cmF0aW9uPTFlMypyLGV9ZnVuY3Rpb24gT2UodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9dCgobj1NbihuKSkuaCwoZT1NbihlKSkuaCksaT1mZShuLnMsZS5zKSxvPWZlKG4ubCxlLmwpLGE9ZmUobi5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmg9cih0KSxuLnM9aSh0KSxuLmw9byh0KSxuLm9wYWNpdHk9YSh0KSxuKyIifX19dmFyIFllPU9lKGFlKSxCZT1PZShmZSk7ZnVuY3Rpb24gRmUodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9dCgobj1IbihuKSkuaCwoZT1IbihlKSkuaCksaT1mZShuLmMsZS5jKSxvPWZlKG4ubCxlLmwpLGE9ZmUobi5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmg9cih0KSxuLmM9aSh0KSxuLmw9byh0KSxuLm9wYWNpdHk9YSh0KSxuKyIifX19dmFyIEllPUZlKGFlKSxIZT1GZShmZSk7ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gcihuLHIpe3ZhciBpPXQoKG49S24obikpLmgsKHI9S24ocikpLmgpLG89ZmUobi5zLHIucyksYT1mZShuLmwsci5sKSx1PWZlKG4ub3BhY2l0eSxyLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbi5oPWkodCksbi5zPW8odCksbi5sPWEoTWF0aC5wb3codCxlKSksbi5vcGFjaXR5PXUodCksbisiIn19cmV0dXJuIGU9K2Usci5nYW1tYT1uLHJ9KDEpfXZhciBYZT1qZShhZSksR2U9amUoZmUpO3ZhciBWZSwkZSxXZT0wLFplPTAsUWU9MCxKZT0xZTMsS2U9MCx0cj0wLG5yPTAsZXI9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUscnI9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gaXIoKXtyZXR1cm4gdHJ8fChycihvciksdHI9ZXIubm93KCkrbnIpfWZ1bmN0aW9uIG9yKCl7dHI9MH1mdW5jdGlvbiBhcigpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gdXIodCxuLGUpe3ZhciByPW5ldyBhcjtyZXR1cm4gci5yZXN0YXJ0KHQsbixlKSxyfWZ1bmN0aW9uIGZyKCl7aXIoKSwrK1dlO2Zvcih2YXIgdCxuPVZlO247KSh0PXRyLW4uX3RpbWUpPj0wJiZuLl9jYWxsLmNhbGwobnVsbCx0KSxuPW4uX25leHQ7LS1XZX1mdW5jdGlvbiBjcigpe3RyPShLZT1lci5ub3coKSkrbnIsV2U9WmU9MDt0cnl7ZnIoKX1maW5hbGx5e1dlPTAsZnVuY3Rpb24oKXt2YXIgdCxuLGU9VmUscj0xLzA7Zm9yKDtlOyllLl9jYWxsPyhyPmUuX3RpbWUmJihyPWUuX3RpbWUpLHQ9ZSxlPWUuX25leHQpOihuPWUuX25leHQsZS5fbmV4dD1udWxsLGU9dD90Ll9uZXh0PW46VmU9bik7JGU9dCxscihyKX0oKSx0cj0wfX1mdW5jdGlvbiBzcigpe3ZhciB0PWVyLm5vdygpLG49dC1LZTtuPkplJiYobnItPW4sS2U9dCl9ZnVuY3Rpb24gbHIodCl7V2V8fChaZSYmKFplPWNsZWFyVGltZW91dChaZSkpLHQtdHI+MjQ/KHQ8MS8wJiYoWmU9c2V0VGltZW91dChjcix0LWVyLm5vdygpLW5yKSksUWUmJihRZT1jbGVhckludGVydmFsKFFlKSkpOihRZXx8KEtlPWVyLm5vdygpLFFlPXNldEludGVydmFsKHNyLEplKSksV2U9MSxycihjcikpKX1mdW5jdGlvbiBocih0LG4sZSl7dmFyIHI9bmV3IGFyO3JldHVybiBuPW51bGw9PW4/MDorbixyLnJlc3RhcnQoZnVuY3Rpb24oZSl7ci5zdG9wKCksdChlK24pfSxuLGUpLHJ9YXIucHJvdG90eXBlPXVyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YXIscmVzdGFydDpmdW5jdGlvbih0LG4sZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtlPShudWxsPT1lP2lyKCk6K2UpKyhudWxsPT1uPzA6K24pLHRoaXMuX25leHR8fCRlPT09dGhpc3x8KCRlPyRlLl9uZXh0PXRoaXM6VmU9dGhpcywkZT10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1lLGxyKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLGxyKCkpfX07dmFyIGRyPUkoInN0YXJ0IiwiZW5kIiwiaW50ZXJydXB0IikscHI9W10sdnI9MCxncj0xLHlyPTIsX3I9Myxicj00LG1yPTUseHI9NjtmdW5jdGlvbiB3cih0LG4sZSxyLGksbyl7dmFyIGE9dC5fX3RyYW5zaXRpb247aWYoYSl7aWYoZSBpbiBhKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyFmdW5jdGlvbih0LG4sZSl7dmFyIHIsaT10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBvKGYpe3ZhciBjLHMsbCxoO2lmKGUuc3RhdGUhPT1ncilyZXR1cm4gdSgpO2ZvcihjIGluIGkpaWYoKGg9aVtjXSkubmFtZT09PWUubmFtZSl7aWYoaC5zdGF0ZT09PV9yKXJldHVybiBocihvKTtoLnN0YXRlPT09YnI/KGguc3RhdGU9eHIsaC50aW1lci5zdG9wKCksaC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxoLmluZGV4LGguZ3JvdXApLGRlbGV0ZSBpW2NdKTorYzxuJiYoaC5zdGF0ZT14cixoLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtjXSl9aWYoaHIoZnVuY3Rpb24oKXtlLnN0YXRlPT09X3ImJihlLnN0YXRlPWJyLGUudGltZXIucmVzdGFydChhLGUuZGVsYXksZS50aW1lKSxhKGYpKX0pLGUuc3RhdGU9eXIsZS5vbi5jYWxsKCJzdGFydCIsdCx0Ll9fZGF0YV9fLGUuaW5kZXgsZS5ncm91cCksZS5zdGF0ZT09PXlyKXtmb3IoZS5zdGF0ZT1fcixyPW5ldyBBcnJheShsPWUudHdlZW4ubGVuZ3RoKSxjPTAscz0tMTtjPGw7KytjKShoPWUudHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sZS5pbmRleCxlLmdyb3VwKSkmJihyWysrc109aCk7ci5sZW5ndGg9cysxfX1mdW5jdGlvbiBhKG4pe2Zvcih2YXIgaT1uPGUuZHVyYXRpb24/ZS5lYXNlLmNhbGwobnVsbCxuL2UuZHVyYXRpb24pOihlLnRpbWVyLnJlc3RhcnQodSksZS5zdGF0ZT1tciwxKSxvPS0xLGE9ci5sZW5ndGg7KytvPGE7KXJbb10uY2FsbChudWxsLGkpO2Uuc3RhdGU9PT1tciYmKGUub24uY2FsbCgiZW5kIix0LHQuX19kYXRhX18sZS5pbmRleCxlLmdyb3VwKSx1KCkpfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHIgaW4gZS5zdGF0ZT14cixlLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtuXSxpKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259aVtuXT1lLGUudGltZXI9dXIoZnVuY3Rpb24odCl7ZS5zdGF0ZT1ncixlLnRpbWVyLnJlc3RhcnQobyxlLmRlbGF5LGUudGltZSksZS5kZWxheTw9dCYmbyh0LWUuZGVsYXkpfSwwLGUudGltZSl9KHQsZSx7bmFtZTpuLGluZGV4OnIsZ3JvdXA6aSxvbjpkcix0d2Vlbjpwcix0aW1lOm8udGltZSxkZWxheTpvLmRlbGF5LGR1cmF0aW9uOm8uZHVyYXRpb24sZWFzZTpvLmVhc2UsdGltZXI6bnVsbCxzdGF0ZTp2cn0pfWZ1bmN0aW9uIE1yKHQsbil7dmFyIGU9VHIodCxuKTtpZihlLnN0YXRlPnZyKXRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgc2NoZWR1bGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gQXIodCxuKXt2YXIgZT1Ucih0LG4pO2lmKGUuc3RhdGU+eXIpdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzdGFydGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gVHIodCxuKXt2YXIgZT10Ll9fdHJhbnNpdGlvbjtpZighZXx8IShlPWVbbl0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gZX1mdW5jdGlvbiBOcih0LG4pe3ZhciBlLHIsaSxvPXQuX190cmFuc2l0aW9uLGE9ITA7aWYobyl7Zm9yKGkgaW4gbj1udWxsPT1uP251bGw6bisiIixvKShlPW9baV0pLm5hbWU9PT1uPyhyPWUuc3RhdGU+eXImJmUuc3RhdGU8bXIsZS5zdGF0ZT14cixlLnRpbWVyLnN0b3AoKSxyJiZlLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGUuaW5kZXgsZS5ncm91cCksZGVsZXRlIG9baV0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBTcih0LG4sZSl7dmFyIHI9dC5faWQ7cmV0dXJuIHQuZWFjaChmdW5jdGlvbigpe3ZhciB0PUFyKHRoaXMscik7KHQudmFsdWV8fCh0LnZhbHVlPXt9KSlbbl09ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxmdW5jdGlvbih0KXtyZXR1cm4gVHIodCxyKS52YWx1ZVtuXX19ZnVuY3Rpb24gRXIodCxuKXt2YXIgZTtyZXR1cm4oIm51bWJlciI9PXR5cGVvZiBuP3ZlOm4gaW5zdGFuY2VvZiB2bj9jZTooZT12bihuKSk/KG49ZSxjZSk6YmUpKHQsbil9dmFyIGtyPUx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcjt2YXIgQ3I9MDtmdW5jdGlvbiBQcih0LG4sZSxyKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPW4sdGhpcy5fbmFtZT1lLHRoaXMuX2lkPXJ9ZnVuY3Rpb24genIodCl7cmV0dXJuIEx0KCkudHJhbnNpdGlvbih0KX1mdW5jdGlvbiBScigpe3JldHVybisrQ3J9dmFyIExyPUx0LnByb3RvdHlwZTtmdW5jdGlvbiBEcih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdDotLXQqKDItdCkrMSkvMn1mdW5jdGlvbiBVcih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdCp0Oih0LT0yKSp0KnQrMikvMn1Qci5wcm90b3R5cGU9enIucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpQcixzZWxlY3Q6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fbmFtZSxlPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RKHQpKTtmb3IodmFyIHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz1uZXcgQXJyYXkoaSksYT0wO2E8aTsrK2EpZm9yKHZhciB1LGYsYz1yW2FdLHM9Yy5sZW5ndGgsbD1vW2FdPW5ldyBBcnJheShzKSxoPTA7aDxzOysraCkodT1jW2hdKSYmKGY9dC5jYWxsKHUsdS5fX2RhdGFfXyxoLGMpKSYmKCJfX2RhdGFfXyJpbiB1JiYoZi5fX2RhdGFfXz11Ll9fZGF0YV9fKSxsW2hdPWYsd3IobFtoXSxuLGUsaCxsLFRyKHUsZSkpKTtyZXR1cm4gbmV3IFByKG8sdGhpcy5fcGFyZW50cyxuLGUpfSxzZWxlY3RBbGw6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fbmFtZSxlPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1LKHQpKTtmb3IodmFyIHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz1bXSxhPVtdLHU9MDt1PGk7Kyt1KWZvcih2YXIgZixjPXJbdV0scz1jLmxlbmd0aCxsPTA7bDxzOysrbClpZihmPWNbbF0pe2Zvcih2YXIgaCxkPXQuY2FsbChmLGYuX19kYXRhX18sbCxjKSxwPVRyKGYsZSksdj0wLGc9ZC5sZW5ndGg7djxnOysrdikoaD1kW3ZdKSYmd3IoaCxuLGUsdixkLHApO28ucHVzaChkKSxhLnB1c2goZil9cmV0dXJuIG5ldyBQcihvLGEsbixlKX0sZmlsdGVyOmZ1bmN0aW9uKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1ydCh0KSk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxlPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGUpLGk9MDtpPGU7KytpKWZvcih2YXIgbyxhPW5baV0sdT1hLmxlbmd0aCxmPXJbaV09W10sYz0wO2M8dTsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmZi5wdXNoKG8pO3JldHVybiBuZXcgUHIocix0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxtZXJnZTpmdW5jdGlvbih0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGU9dC5fZ3JvdXBzLHI9bi5sZW5ndGgsaT1lLmxlbmd0aCxvPU1hdGgubWluKHIsaSksYT1uZXcgQXJyYXkociksdT0wO3U8bzsrK3UpZm9yKHZhciBmLGM9blt1XSxzPWVbdV0sbD1jLmxlbmd0aCxoPWFbdV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShmPWNbZF18fHNbZF0pJiYoaFtkXT1mKTtmb3IoO3U8cjsrK3UpYVt1XT1uW3VdO3JldHVybiBuZXcgUHIoYSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxzZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtyKHRoaXMuX2dyb3Vwcyx0aGlzLl9wYXJlbnRzKX0sdHJhbnNpdGlvbjpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9uYW1lLG49dGhpcy5faWQsZT1ScigpLHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz0wO288aTsrK28pZm9yKHZhciBhLHU9cltvXSxmPXUubGVuZ3RoLGM9MDtjPGY7KytjKWlmKGE9dVtjXSl7dmFyIHM9VHIoYSxuKTt3cihhLHQsZSxjLHUse3RpbWU6cy50aW1lK3MuZGVsYXkrcy5kdXJhdGlvbixkZWxheTowLGR1cmF0aW9uOnMuZHVyYXRpb24sZWFzZTpzLmVhc2V9KX1yZXR1cm4gbmV3IFByKHIsdGhpcy5fcGFyZW50cyx0LGUpfSxjYWxsOkxyLmNhbGwsbm9kZXM6THIubm9kZXMsbm9kZTpMci5ub2RlLHNpemU6THIuc2l6ZSxlbXB0eTpMci5lbXB0eSxlYWNoOkxyLmVhY2gsb246ZnVuY3Rpb24odCxuKXt2YXIgZT10aGlzLl9pZDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP1RyKHRoaXMubm9kZSgpLGUpLm9uLm9uKHQpOnRoaXMuZWFjaChmdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvPWZ1bmN0aW9uKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoZnVuY3Rpb24odCl7dmFyIG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJih0PXQuc2xpY2UoMCxuKSksIXR8fCJzdGFydCI9PT10fSl9KG4pP01yOkFyO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW8odGhpcyx0KSx1PWEub247dSE9PXImJihpPShyPXUpLmNvcHkoKSkub24obixlKSxhLm9uPWl9fShlLHQsbikpfSxhdHRyOmZ1bmN0aW9uKHQsbil7dmFyIGU9JCh0KSxyPSJ0cmFuc2Zvcm0iPT09ZT9QZTpFcjtyZXR1cm4gdGhpcy5hdHRyVHdlZW4odCwiZnVuY3Rpb24iPT10eXBlb2Ygbj8oZS5sb2NhbD9mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhLHU9ZSh0aGlzKTtpZihudWxsIT11KXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT11P251bGw6YT09PXImJnU9PT1pP286bz1uKHI9YSxpPXUpO3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEsdT1lKHRoaXMpO2lmKG51bGwhPXUpcmV0dXJuKGE9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09dT9udWxsOmE9PT1yJiZ1PT09aT9vOm89bihyPWEsaT11KTt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19KShlLHIsU3IodGhpcywiYXR0ci4iK3QsbikpOm51bGw9PW4/KGUubG9jYWw/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fSkoZSk6KGUubG9jYWw/ZnVuY3Rpb24odCxuLGUpe3ZhciByLGk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89dGhpcy5nZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPXRoaXMuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19KShlLHIsbisiIikpfSxhdHRyVHdlZW46ZnVuY3Rpb24odCxuKXt2YXIgZT0iYXR0ci4iK3Q7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT1uKXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yO3ZhciByPSQodCk7cmV0dXJuIHRoaXMudHdlZW4oZSwoci5sb2NhbD9mdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzLHI9bi5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKG4pe2Uuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLHIobikpfX1yZXR1cm4gZS5fdmFsdWU9bixlfTpmdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzLHI9bi5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKG4pe2Uuc2V0QXR0cmlidXRlKHQscihuKSl9fXJldHVybiBlLl92YWx1ZT1uLGV9KShyLG4pKX0sc3R5bGU6ZnVuY3Rpb24odCxuLGUpe3ZhciByPSJ0cmFuc2Zvcm0iPT0odCs9IiIpP0NlOkVyO3JldHVybiBudWxsPT1uP3RoaXMuc3R5bGVUd2Vlbih0LGZ1bmN0aW9uKHQsbil7dmFyIGUscixpO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWx0KHRoaXMsdCksYT0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxsdCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09ZSYmYT09PXI/aTppPW4oZT1vLHI9YSl9fSh0LHIpKS5vbigiZW5kLnN0eWxlLiIrdCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX0odCkpOnRoaXMuc3R5bGVUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBuP2Z1bmN0aW9uKHQsbixlKXt2YXIgcixpLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9bHQodGhpcyx0KSx1PWUodGhpcyk7cmV0dXJuIG51bGw9PXUmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLHU9bHQodGhpcyx0KSksYT09PXU/bnVsbDphPT09ciYmdT09PWk/bzpvPW4ocj1hLGk9dSl9fSh0LHIsU3IodGhpcywic3R5bGUuIit0LG4pKTpmdW5jdGlvbih0LG4sZSl7dmFyIHIsaTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1sdCh0aGlzLHQpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19KHQscixuKyIiKSxlKX0sc3R5bGVUd2VlbjpmdW5jdGlvbih0LG4sZSl7dmFyIHI9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKHI9dGhpcy50d2VlbihyKSkmJnIuX3ZhbHVlO2lmKG51bGw9PW4pcmV0dXJuIHRoaXMudHdlZW4ocixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4ocixmdW5jdGlvbih0LG4sZSl7ZnVuY3Rpb24gcigpe3ZhciByPXRoaXMsaT1uLmFwcGx5KHIsYXJndW1lbnRzKTtyZXR1cm4gaSYmZnVuY3Rpb24obil7ci5zdHlsZS5zZXRQcm9wZXJ0eSh0LGkobiksZSl9fXJldHVybiByLl92YWx1ZT1uLHJ9KHQsbixudWxsPT1lPyIiOmUpKX0sdGV4dDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PW4/IiI6bn19KFNyKHRoaXMsInRleHQiLHQpKTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fShudWxsPT10PyIiOnQrIiIpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub24oImVuZC5yZW1vdmUiLCh0PXRoaXMuX2lkLGZ1bmN0aW9uKCl7dmFyIG49dGhpcy5wYXJlbnROb2RlO2Zvcih2YXIgZSBpbiB0aGlzLl9fdHJhbnNpdGlvbilpZigrZSE9PXQpcmV0dXJuO24mJm4ucmVtb3ZlQ2hpbGQodGhpcyl9KSk7dmFyIHR9LHR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIGU9dGhpcy5faWQ7aWYodCs9IiIsYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIHIsaT1Ucih0aGlzLm5vZGUoKSxlKS50d2VlbixvPTAsYT1pLmxlbmd0aDtvPGE7KytvKWlmKChyPWlbb10pLm5hbWU9PT10KXJldHVybiByLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PW4/ZnVuY3Rpb24odCxuKXt2YXIgZSxyO3JldHVybiBmdW5jdGlvbigpe3ZhciBpPUFyKHRoaXMsdCksbz1pLnR3ZWVuO2lmKG8hPT1lKWZvcih2YXIgYT0wLHU9KHI9ZT1vKS5sZW5ndGg7YTx1OysrYSlpZihyW2FdLm5hbWU9PT1uKXsocj1yLnNsaWNlKCkpLnNwbGljZShhLDEpO2JyZWFrfWkudHdlZW49cn19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1Bcih0aGlzLHQpLGE9by50d2VlbjtpZihhIT09cil7aT0ocj1hKS5zbGljZSgpO2Zvcih2YXIgdT17bmFtZTpuLHZhbHVlOmV9LGY9MCxjPWkubGVuZ3RoO2Y8YzsrK2YpaWYoaVtmXS5uYW1lPT09bil7aVtmXT11O2JyZWFrfWY9PT1jJiZpLnB1c2godSl9by50d2Vlbj1pfX0pKGUsdCxuKSl9LGRlbGF5OmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtNcih0aGlzLHQpLmRlbGF5PStuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OmZ1bmN0aW9uKHQsbil7cmV0dXJuIG49K24sZnVuY3Rpb24oKXtNcih0aGlzLHQpLmRlbGF5PW59fSkobix0KSk6VHIodGhpcy5ub2RlKCksbikuZGVsYXl9LGR1cmF0aW9uOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtBcih0aGlzLHQpLmR1cmF0aW9uPStuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OmZ1bmN0aW9uKHQsbil7cmV0dXJuIG49K24sZnVuY3Rpb24oKXtBcih0aGlzLHQpLmR1cmF0aW9uPW59fSkobix0KSk6VHIodGhpcy5ub2RlKCksbikuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKGZ1bmN0aW9uKHQsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yO3JldHVybiBmdW5jdGlvbigpe0FyKHRoaXMsdCkuZWFzZT1ufX0obix0KSk6VHIodGhpcy5ub2RlKCksbikuZWFzZX19O3ZhciBxcj1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIE1hdGgucG93KHQsbil9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLE9yPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gMS1NYXRoLnBvdygxLXQsbil9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLFlyPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KHQsbik6Mi1NYXRoLnBvdygyLXQsbikpLzJ9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLEJyPU1hdGguUEksRnI9QnIvMjtmdW5jdGlvbiBJcih0KXtyZXR1cm4oMS1NYXRoLmNvcyhCcip0KSkvMn1mdW5jdGlvbiBIcih0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KDIsMTAqdC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKnQpKS8yfWZ1bmN0aW9uIGpyKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBYcj00LzExLEdyPTYvMTEsVnI9OC8xMSwkcj0uNzUsV3I9OS8xMSxacj0xMC8xMSxRcj0uOTM3NSxKcj0yMS8yMixLcj02My82NCx0aT0xL1hyL1hyO2Z1bmN0aW9uIG5pKHQpe3JldHVybih0PSt0KTxYcj90aSp0KnQ6dDxWcj90aSoodC09R3IpKnQrJHI6dDxacj90aSoodC09V3IpKnQrUXI6dGkqKHQtPUpyKSp0K0tyfXZhciBlaT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQqdCooKG4rMSkqdC1uKX1yZXR1cm4gbj0rbixlLm92ZXJzaG9vdD10LGV9KDEuNzAxNTgpLHJpPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4tLXQqdCooKG4rMSkqdCtuKSsxfXJldHVybiBuPStuLGUub3ZlcnNob290PXQsZX0oMS43MDE1OCksaWk9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3JldHVybigodCo9Mik8MT90KnQqKChuKzEpKnQtbik6KHQtPTIpKnQqKChuKzEpKnQrbikrMikvMn1yZXR1cm4gbj0rbixlLm92ZXJzaG9vdD10LGV9KDEuNzAxNTgpLG9pPTIqTWF0aC5QSSxhaT1mdW5jdGlvbiB0KG4sZSl7dmFyIHI9TWF0aC5hc2luKDEvKG49TWF0aC5tYXgoMSxuKSkpKihlLz1vaSk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbipNYXRoLnBvdygyLDEwKi0tdCkqTWF0aC5zaW4oKHItdCkvZSl9cmV0dXJuIGkuYW1wbGl0dWRlPWZ1bmN0aW9uKG4pe3JldHVybiB0KG4sZSpvaSl9LGkucGVyaW9kPWZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9LGl9KDEsLjMpLHVpPWZ1bmN0aW9uIHQobixlKXt2YXIgcj1NYXRoLmFzaW4oMS8obj1NYXRoLm1heCgxLG4pKSkqKGUvPW9pKTtmdW5jdGlvbiBpKHQpe3JldHVybiAxLW4qTWF0aC5wb3coMiwtMTAqKHQ9K3QpKSpNYXRoLnNpbigodCtyKS9lKX1yZXR1cm4gaS5hbXBsaXR1ZGU9ZnVuY3Rpb24obil7cmV0dXJuIHQobixlKm9pKX0saS5wZXJpb2Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHQobixlKX0saX0oMSwuMyksZmk9ZnVuY3Rpb24gdChuLGUpe3ZhciByPU1hdGguYXNpbigxLyhuPU1hdGgubWF4KDEsbikpKSooZS89b2kpO2Z1bmN0aW9uIGkodCl7cmV0dXJuKCh0PTIqdC0xKTwwP24qTWF0aC5wb3coMiwxMCp0KSpNYXRoLnNpbigoci10KS9lKToyLW4qTWF0aC5wb3coMiwtMTAqdCkqTWF0aC5zaW4oKHIrdCkvZSkpLzJ9cmV0dXJuIGkuYW1wbGl0dWRlPWZ1bmN0aW9uKG4pe3JldHVybiB0KG4sZSpvaSl9LGkucGVyaW9kPWZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9LGl9KDEsLjMpLGNpPXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpVcn07ZnVuY3Rpb24gc2kodCxuKXtmb3IodmFyIGU7IShlPXQuX190cmFuc2l0aW9uKXx8IShlPWVbbl0pOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm4gY2kudGltZT1pcigpLGNpO3JldHVybiBlfUx0LnByb3RvdHlwZS5pbnRlcnJ1cHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe05yKHRoaXMsdCl9KX0sTHQucHJvdG90eXBlLnRyYW5zaXRpb249ZnVuY3Rpb24odCl7dmFyIG4sZTt0IGluc3RhbmNlb2YgUHI/KG49dC5faWQsdD10Ll9uYW1lKToobj1ScigpLChlPWNpKS50aW1lPWlyKCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciByPXRoaXMuX2dyb3VwcyxpPXIubGVuZ3RoLG89MDtvPGk7KytvKWZvcih2YXIgYSx1PXJbb10sZj11Lmxlbmd0aCxjPTA7YzxmOysrYykoYT11W2NdKSYmd3IoYSx0LG4sYyx1LGV8fHNpKGEsbikpO3JldHVybiBuZXcgUHIocix0aGlzLl9wYXJlbnRzLHQsbil9O3ZhciBsaT1bbnVsbF07ZnVuY3Rpb24gaGkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGRpKHQsbixlKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1uLHRoaXMuc2VsZWN0aW9uPWV9ZnVuY3Rpb24gcGkoKXt0LmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIHZpKCl7dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpLHQuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9dmFyIGdpPXtuYW1lOiJkcmFnIn0seWk9e25hbWU6InNwYWNlIn0sX2k9e25hbWU6ImhhbmRsZSJ9LGJpPXtuYW1lOiJjZW50ZXIifSxtaT17bmFtZToieCIsaGFuZGxlczpbImUiLCJ3Il0ubWFwKEVpKSxpbnB1dDpmdW5jdGlvbih0LG4pe3JldHVybiB0JiZbW3RbMF0sblswXVsxXV0sW3RbMV0sblsxXVsxXV1dfSxvdXRwdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQmJlt0WzBdWzBdLHRbMV1bMF1dfX0seGk9e25hbWU6InkiLGhhbmRsZXM6WyJuIiwicyJdLm1hcChFaSksaW5wdXQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCYmW1tuWzBdWzBdLHRbMF1dLFtuWzFdWzBdLHRbMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVsxXSx0WzFdWzFdXX19LHdpPXtuYW1lOiJ4eSIsaGFuZGxlczpbIm4iLCJlIiwicyIsInciLCJudyIsIm5lIiwic2UiLCJzdyJdLm1hcChFaSksaW5wdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR9LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LE1pPXtvdmVybGF5OiJjcm9zc2hhaXIiLHNlbGVjdGlvbjoibW92ZSIsbjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxBaT17ZToidyIsdzoiZSIsbnc6Im5lIixuZToibnciLHNlOiJzdyIsc3c6InNlIn0sVGk9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LE5pPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjpudWxsLGU6MSxzOm51bGwsdzotMSxudzotMSxuZToxLHNlOjEsc3c6LTF9LFNpPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjotMSxlOm51bGwsczoxLHc6bnVsbCxudzotMSxuZTotMSxzZToxLHN3OjF9O2Z1bmN0aW9uIEVpKHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGtpKCl7cmV0dXJuIXQuZXZlbnQuYnV0dG9ufWZ1bmN0aW9uIENpKCl7dmFyIHQ9dGhpcy5vd25lclNWR0VsZW1lbnR8fHRoaXM7cmV0dXJuW1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dfWZ1bmN0aW9uIFBpKHQpe2Zvcig7IXQuX19icnVzaDspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuO3JldHVybiB0Ll9fYnJ1c2h9ZnVuY3Rpb24gemkodCl7cmV0dXJuIHRbMF1bMF09PT10WzFdWzBdfHx0WzBdWzFdPT09dFsxXVsxXX1mdW5jdGlvbiBSaShuKXt2YXIgZSxyPUNpLGk9a2ksbz1JKHUsInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxhPTY7ZnVuY3Rpb24gdSh0KXt2YXIgZT10LnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbRWkoIm92ZXJsYXkiKV0pO2UuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsIm92ZXJsYXkiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLmF0dHIoImN1cnNvciIsTWkub3ZlcmxheSkubWVyZ2UoZSkuZWFjaChmdW5jdGlvbigpe3ZhciB0PVBpKHRoaXMpLmV4dGVudDtEdCh0aGlzKS5hdHRyKCJ4Iix0WzBdWzBdKS5hdHRyKCJ5Iix0WzBdWzFdKS5hdHRyKCJ3aWR0aCIsdFsxXVswXS10WzBdWzBdKS5hdHRyKCJoZWlnaHQiLHRbMV1bMV0tdFswXVsxXSl9KSx0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiIpLmRhdGEoW0VpKCJzZWxlY3Rpb24iKV0pLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJzZWxlY3Rpb24iKS5hdHRyKCJjdXJzb3IiLE1pLnNlbGVjdGlvbikuYXR0cigiZmlsbCIsIiM3NzciKS5hdHRyKCJmaWxsLW9wYWNpdHkiLC4zKS5hdHRyKCJzdHJva2UiLCIjZmZmIikuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwiY3Jpc3BFZGdlcyIpO3ZhciByPXQuc2VsZWN0QWxsKCIuaGFuZGxlIikuZGF0YShuLmhhbmRsZXMsZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pO3IuZXhpdCgpLnJlbW92ZSgpLHIuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuImhhbmRsZSBoYW5kbGUtLSIrdC50eXBlfSkuYXR0cigiY3Vyc29yIixmdW5jdGlvbih0KXtyZXR1cm4gTWlbdC50eXBlXX0pLHQuZWFjaChmKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKS5vbigibW91c2Vkb3duLmJydXNoIHRvdWNoc3RhcnQuYnJ1c2giLGwpfWZ1bmN0aW9uIGYoKXt2YXIgdD1EdCh0aGlzKSxuPVBpKHRoaXMpLnNlbGVjdGlvbjtuPyh0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IixuWzBdWzBdKS5hdHRyKCJ5IixuWzBdWzFdKS5hdHRyKCJ3aWR0aCIsblsxXVswXS1uWzBdWzBdKS5hdHRyKCJoZWlnaHQiLG5bMV1bMV0tblswXVsxXSksdC5zZWxlY3RBbGwoIi5oYW5kbGUiKS5zdHlsZSgiZGlzcGxheSIsbnVsbCkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/blsxXVswXS1hLzI6blswXVswXS1hLzJ9KS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4icyI9PT10LnR5cGVbMF0/blsxXVsxXS1hLzI6blswXVsxXS1hLzJ9KS5hdHRyKCJ3aWR0aCIsZnVuY3Rpb24odCl7cmV0dXJuIm4iPT09dC50eXBlfHwicyI9PT10LnR5cGU/blsxXVswXS1uWzBdWzBdK2E6YX0pLmF0dHIoImhlaWdodCIsZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/blsxXVsxXS1uWzBdWzFdK2E6YX0pKTp0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiwuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigieCIsbnVsbCkuYXR0cigieSIsbnVsbCkuYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCl9ZnVuY3Rpb24gYyh0LG4pe3JldHVybiB0Ll9fYnJ1c2guZW1pdHRlcnx8bmV3IHModCxuKX1mdW5jdGlvbiBzKHQsbil7dGhpcy50aGF0PXQsdGhpcy5hcmdzPW4sdGhpcy5zdGF0ZT10Ll9fYnJ1c2gsdGhpcy5hY3RpdmU9MH1mdW5jdGlvbiBsKCl7aWYodC5ldmVudC50b3VjaGVzKXtpZih0LmV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aDx0LmV2ZW50LnRvdWNoZXMubGVuZ3RoKXJldHVybiB2aSgpfWVsc2UgaWYoZSlyZXR1cm47aWYoaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciByLG8sYSx1LHMsbCxoLGQscCx2LGcseSxfLGI9dGhpcyxtPXQuZXZlbnQudGFyZ2V0Ll9fZGF0YV9fLnR5cGUseD0ic2VsZWN0aW9uIj09PSh0LmV2ZW50Lm1ldGFLZXk/bT0ib3ZlcmxheSI6bSk/Z2k6dC5ldmVudC5hbHRLZXk/Ymk6X2ksdz1uPT09eGk/bnVsbDpOaVttXSxNPW49PT1taT9udWxsOlNpW21dLEE9UGkoYiksVD1BLmV4dGVudCxOPUEuc2VsZWN0aW9uLFM9VFswXVswXSxFPVRbMF1bMV0saz1UWzFdWzBdLEM9VFsxXVsxXSxQPXcmJk0mJnQuZXZlbnQuc2hpZnRLZXksej1GdChiKSxSPXosTD1jKGIsYXJndW1lbnRzKS5iZWZvcmVzdGFydCgpOyJvdmVybGF5Ij09PW0/QS5zZWxlY3Rpb249Tj1bW3I9bj09PXhpP1M6elswXSxhPW49PT1taT9FOnpbMV1dLFtzPW49PT14aT9rOnIsaD1uPT09bWk/QzphXV06KHI9TlswXVswXSxhPU5bMF1bMV0scz1OWzFdWzBdLGg9TlsxXVsxXSksbz1yLHU9YSxsPXMsZD1oO3ZhciBEPUR0KGIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLFU9RC5zZWxlY3RBbGwoIi5vdmVybGF5IikuYXR0cigiY3Vyc29yIixNaVttXSk7aWYodC5ldmVudC50b3VjaGVzKUQub24oInRvdWNobW92ZS5icnVzaCIsTywhMCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixCLCEwKTtlbHNle3ZhciBxPUR0KHQuZXZlbnQudmlldykub24oImtleWRvd24uYnJ1c2giLGZ1bmN0aW9uKCl7c3dpdGNoKHQuZXZlbnQua2V5Q29kZSl7Y2FzZSAxNjpQPXcmJk07YnJlYWs7Y2FzZSAxODp4PT09X2kmJih3JiYocz1sLXAqdyxyPW8rcCp3KSxNJiYoaD1kLXYqTSxhPXUrdipNKSx4PWJpLFkoKSk7YnJlYWs7Y2FzZSAzMjp4IT09X2kmJnghPT1iaXx8KHc8MD9zPWwtcDp3PjAmJihyPW8tcCksTTwwP2g9ZC12Ok0+MCYmKGE9dS12KSx4PXlpLFUuYXR0cigiY3Vyc29yIixNaS5zZWxlY3Rpb24pLFkoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59dmkoKX0sITApLm9uKCJrZXl1cC5icnVzaCIsZnVuY3Rpb24oKXtzd2l0Y2godC5ldmVudC5rZXlDb2RlKXtjYXNlIDE2OlAmJih5PV89UD0hMSxZKCkpO2JyZWFrO2Nhc2UgMTg6eD09PWJpJiYodzwwP3M9bDp3PjAmJihyPW8pLE08MD9oPWQ6TT4wJiYoYT11KSx4PV9pLFkoKSk7YnJlYWs7Y2FzZSAzMjp4PT09eWkmJih0LmV2ZW50LmFsdEtleT8odyYmKHM9bC1wKncscj1vK3AqdyksTSYmKGg9ZC12Kk0sYT11K3YqTSkseD1iaSk6KHc8MD9zPWw6dz4wJiYocj1vKSxNPDA/aD1kOk0+MCYmKGE9dSkseD1faSksVS5hdHRyKCJjdXJzb3IiLE1pW21dKSxZKCkpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufXZpKCl9LCEwKS5vbigibW91c2Vtb3ZlLmJydXNoIixPLCEwKS5vbigibW91c2V1cC5icnVzaCIsQiwhMCk7WHQodC5ldmVudC52aWV3KX1waSgpLE5yKGIpLGYuY2FsbChiKSxMLnN0YXJ0KCl9ZnVuY3Rpb24gTygpe3ZhciB0PUZ0KGIpOyFQfHx5fHxffHwoTWF0aC5hYnModFswXS1SWzBdKT5NYXRoLmFicyh0WzFdLVJbMV0pP189ITA6eT0hMCksUj10LGc9ITAsdmkoKSxZKCl9ZnVuY3Rpb24gWSgpe3ZhciB0O3N3aXRjaChwPVJbMF0telswXSx2PVJbMV0telsxXSx4KXtjYXNlIHlpOmNhc2UgZ2k6dyYmKHA9TWF0aC5tYXgoUy1yLE1hdGgubWluKGstcyxwKSksbz1yK3AsbD1zK3ApLE0mJih2PU1hdGgubWF4KEUtYSxNYXRoLm1pbihDLWgsdikpLHU9YSt2LGQ9aCt2KTticmVhaztjYXNlIF9pOnc8MD8ocD1NYXRoLm1heChTLXIsTWF0aC5taW4oay1yLHApKSxvPXIrcCxsPXMpOnc+MCYmKHA9TWF0aC5tYXgoUy1zLE1hdGgubWluKGstcyxwKSksbz1yLGw9cytwKSxNPDA/KHY9TWF0aC5tYXgoRS1hLE1hdGgubWluKEMtYSx2KSksdT1hK3YsZD1oKTpNPjAmJih2PU1hdGgubWF4KEUtaCxNYXRoLm1pbihDLWgsdikpLHU9YSxkPWgrdik7YnJlYWs7Y2FzZSBiaTp3JiYobz1NYXRoLm1heChTLE1hdGgubWluKGssci1wKncpKSxsPU1hdGgubWF4KFMsTWF0aC5taW4oayxzK3AqdykpKSxNJiYodT1NYXRoLm1heChFLE1hdGgubWluKEMsYS12Kk0pKSxkPU1hdGgubWF4KEUsTWF0aC5taW4oQyxoK3YqTSkpKX1sPG8mJih3Kj0tMSx0PXIscj1zLHM9dCx0PW8sbz1sLGw9dCxtIGluIEFpJiZVLmF0dHIoImN1cnNvciIsTWlbbT1BaVttXV0pKSxkPHUmJihNKj0tMSx0PWEsYT1oLGg9dCx0PXUsdT1kLGQ9dCxtIGluIFRpJiZVLmF0dHIoImN1cnNvciIsTWlbbT1UaVttXV0pKSxBLnNlbGVjdGlvbiYmKE49QS5zZWxlY3Rpb24pLHkmJihvPU5bMF1bMF0sbD1OWzFdWzBdKSxfJiYodT1OWzBdWzFdLGQ9TlsxXVsxXSksTlswXVswXT09PW8mJk5bMF1bMV09PT11JiZOWzFdWzBdPT09bCYmTlsxXVsxXT09PWR8fChBLnNlbGVjdGlvbj1bW28sdV0sW2wsZF1dLGYuY2FsbChiKSxMLmJydXNoKCkpfWZ1bmN0aW9uIEIoKXtpZihwaSgpLHQuZXZlbnQudG91Y2hlcyl7aWYodC5ldmVudC50b3VjaGVzLmxlbmd0aClyZXR1cm47ZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2U9bnVsbH0sNTAwKSxELm9uKCJ0b3VjaG1vdmUuYnJ1c2ggdG91Y2hlbmQuYnJ1c2ggdG91Y2hjYW5jZWwuYnJ1c2giLG51bGwpfWVsc2UgR3QodC5ldmVudC52aWV3LGcpLHEub24oImtleWRvd24uYnJ1c2gga2V5dXAuYnJ1c2ggbW91c2Vtb3ZlLmJydXNoIG1vdXNldXAuYnJ1c2giLG51bGwpO0QuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKSxVLmF0dHIoImN1cnNvciIsTWkub3ZlcmxheSksQS5zZWxlY3Rpb24mJihOPUEuc2VsZWN0aW9uKSx6aShOKSYmKEEuc2VsZWN0aW9uPW51bGwsZi5jYWxsKGIpKSxMLmVuZCgpfX1mdW5jdGlvbiBoKCl7dmFyIHQ9dGhpcy5fX2JydXNofHx7c2VsZWN0aW9uOm51bGx9O3JldHVybiB0LmV4dGVudD1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0LmRpbT1uLHR9cmV0dXJuIHUubW92ZT1mdW5jdGlvbih0LGUpe3Quc2VsZWN0aW9uP3Qub24oInN0YXJ0LmJydXNoIixmdW5jdGlvbigpe2ModGhpcyxhcmd1bWVudHMpLmJlZm9yZXN0YXJ0KCkuc3RhcnQoKX0pLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIixmdW5jdGlvbigpe2ModGhpcyxhcmd1bWVudHMpLmVuZCgpfSkudHdlZW4oImJydXNoIixmdW5jdGlvbigpe3ZhciB0PXRoaXMscj10Ll9fYnJ1c2gsaT1jKHQsYXJndW1lbnRzKSxvPXIuc2VsZWN0aW9uLGE9bi5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplLHIuZXh0ZW50KSx1PW1lKG8sYSk7ZnVuY3Rpb24gcyhuKXtyLnNlbGVjdGlvbj0xPT09biYmemkoYSk/bnVsbDp1KG4pLGYuY2FsbCh0KSxpLmJydXNoKCl9cmV0dXJuIG8mJmE/czpzKDEpfSk6dC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLHI9dGhpcy5fX2JydXNoLGk9bi5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsdCk6ZSxyLmV4dGVudCksbz1jKHRoaXMsdCkuYmVmb3Jlc3RhcnQoKTtOcih0aGlzKSxyLnNlbGVjdGlvbj1udWxsPT1pfHx6aShpKT9udWxsOmksZi5jYWxsKHRoaXMpLG8uc3RhcnQoKS5icnVzaCgpLmVuZCgpfSl9LHMucHJvdG90eXBlPXtiZWZvcmVzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5zdGF0ZS5lbWl0dGVyPXRoaXMsdGhpcy5zdGFydGluZz0hMCksdGhpc30sc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydGluZyYmKHRoaXMuc3RhcnRpbmc9ITEsdGhpcy5lbWl0KCJzdGFydCIpKSx0aGlzfSxicnVzaDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVtaXQoImJydXNoIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVyLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24odCl7Q3QobmV3IGRpKHUsdCxuLm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLG8uYXBwbHksbyxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSx1LmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmhpKFtbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dKSx1KTpyfSx1LmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmhpKCEhdCksdSk6aX0sdS5oYW5kbGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHUpOmF9LHUub249ZnVuY3Rpb24oKXt2YXIgdD1vLm9uLmFwcGx5KG8sYXJndW1lbnRzKTtyZXR1cm4gdD09PW8/dTp0fSx1fXZhciBMaT1NYXRoLmNvcyxEaT1NYXRoLnNpbixVaT1NYXRoLlBJLHFpPVVpLzIsT2k9MipVaSxZaT1NYXRoLm1heDt2YXIgQmk9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIEZpKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX12YXIgSWk9TWF0aC5QSSxIaT0yKklpLGppPUhpLTFlLTY7ZnVuY3Rpb24gWGkoKXt0aGlzLl94MD10aGlzLl95MD10aGlzLl94MT10aGlzLl95MT1udWxsLHRoaXMuXz0iIn1mdW5jdGlvbiBHaSgpe3JldHVybiBuZXcgWGl9ZnVuY3Rpb24gVmkodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uICRpKHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBXaSh0KXtyZXR1cm4gdC5yYWRpdXN9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiBRaSh0KXtyZXR1cm4gdC5lbmRBbmdsZX1YaS5wcm90b3R5cGU9R2kucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpYaSxtb3ZlVG86ZnVuY3Rpb24odCxuKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K24pfSxjbG9zZVBhdGg6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5feDEmJih0aGlzLl94MT10aGlzLl94MCx0aGlzLl95MT10aGlzLl95MCx0aGlzLl8rPSJaIil9LGxpbmVUbzpmdW5jdGlvbih0LG4pe3RoaXMuXys9IkwiKyh0aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MT0rbil9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24odCxuLGUscil7dGhpcy5fKz0iUSIrICt0KyIsIisgK24rIiwiKyh0aGlzLl94MT0rZSkrIiwiKyh0aGlzLl95MT0rcil9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxuLGUscixpLG8pe3RoaXMuXys9IkMiKyArdCsiLCIrICtuKyIsIisgK2UrIiwiKyArcisiLCIrKHRoaXMuX3gxPStpKSsiLCIrKHRoaXMuX3kxPStvKX0sYXJjVG86ZnVuY3Rpb24odCxuLGUscixpKXt0PSt0LG49K24sZT0rZSxyPStyLGk9K2k7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSx1PWUtdCxmPXItbixjPW8tdCxzPWEtbixsPWMqYytzKnM7aWYoaTwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK2kpO2lmKG51bGw9PT10aGlzLl94MSl0aGlzLl8rPSJNIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1uKTtlbHNlIGlmKGw+MWUtNilpZihNYXRoLmFicyhzKnUtZipjKT4xZS02JiZpKXt2YXIgaD1lLW8sZD1yLWEscD11KnUrZipmLHY9aCpoK2QqZCxnPU1hdGguc3FydChwKSx5PU1hdGguc3FydChsKSxfPWkqTWF0aC50YW4oKElpLU1hdGguYWNvcygocCtsLXYpLygyKmcqeSkpKS8yKSxiPV8veSxtPV8vZztNYXRoLmFicyhiLTEpPjFlLTYmJih0aGlzLl8rPSJMIisodCtiKmMpKyIsIisobitiKnMpKSx0aGlzLl8rPSJBIitpKyIsIitpKyIsMCwwLCIrICsocypoPmMqZCkrIiwiKyh0aGlzLl94MT10K20qdSkrIiwiKyh0aGlzLl95MT1uK20qZil9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1uKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsbixlLHIsaSxvKXt0PSt0LG49K247dmFyIGE9KGU9K2UpKk1hdGguY29zKHIpLHU9ZSpNYXRoLnNpbihyKSxmPXQrYSxjPW4rdSxzPTFebyxsPW8/ci1pOmktcjtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIrZSk7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2YrIiwiK2M6KE1hdGguYWJzKHRoaXMuX3gxLWYpPjFlLTZ8fE1hdGguYWJzKHRoaXMuX3kxLWMpPjFlLTYpJiYodGhpcy5fKz0iTCIrZisiLCIrYyksZSYmKGw8MCYmKGw9bCVIaStIaSksbD5qaT90aGlzLl8rPSJBIitlKyIsIitlKyIsMCwxLCIrcysiLCIrKHQtYSkrIiwiKyhuLXUpKyJBIitlKyIsIitlKyIsMCwxLCIrcysiLCIrKHRoaXMuX3gxPWYpKyIsIisodGhpcy5feTE9Yyk6bD4xZS02JiYodGhpcy5fKz0iQSIrZSsiLCIrZSsiLDAsIisgKyhsPj1JaSkrIiwiK3MrIiwiKyh0aGlzLl94MT10K2UqTWF0aC5jb3MoaSkpKyIsIisodGhpcy5feTE9bitlKk1hdGguc2luKGkpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsbixlLHIpe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rbikrImgiKyArZSsidiIrICtyKyJoIistZSsiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O2Z1bmN0aW9uIEppKCl7fWZ1bmN0aW9uIEtpKHQsbil7dmFyIGU9bmV3IEppO2lmKHQgaW5zdGFuY2VvZiBKaSl0LmVhY2goZnVuY3Rpb24odCxuKXtlLnNldChuLHQpfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgcixpPS0xLG89dC5sZW5ndGg7aWYobnVsbD09bilmb3IoOysraTxvOyllLnNldChpLHRbaV0pO2Vsc2UgZm9yKDsrK2k8bzspZS5zZXQobihyPXRbaV0saSx0KSxyKX1lbHNlIGlmKHQpZm9yKHZhciBhIGluIHQpZS5zZXQoYSx0W2FdKTtyZXR1cm4gZX1mdW5jdGlvbiB0bygpe3JldHVybnt9fWZ1bmN0aW9uIG5vKHQsbixlKXt0W25dPWV9ZnVuY3Rpb24gZW8oKXtyZXR1cm4gS2koKX1mdW5jdGlvbiBybyh0LG4sZSl7dC5zZXQobixlKX1mdW5jdGlvbiBpbygpe31KaS5wcm90b3R5cGU9S2kucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpKaSxoYXM6ZnVuY3Rpb24odCl7cmV0dXJuIiQiK3QgaW4gdGhpc30sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzWyIkIit0XX0sc2V0OmZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXNbIiQiK3RdPW4sdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBuPSIkIit0O3JldHVybiBuIGluIHRoaXMmJmRlbGV0ZSB0aGlzW25dfSxjbGVhcjpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKSIkIj09PXRbMF0mJmRlbGV0ZSB0aGlzW3RdfSxrZXlzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmdC5wdXNoKG4uc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIG4gaW4gdGhpcykiJCI9PT1uWzBdJiZ0LnB1c2godGhpc1tuXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIG4gaW4gdGhpcykiJCI9PT1uWzBdJiZ0LnB1c2goe2tleTpuLnNsaWNlKDEpLHZhbHVlOnRoaXNbbl19KTtyZXR1cm4gdH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKCIkIj09PXRbMF0pcmV0dXJuITE7cmV0dXJuITB9LGVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmdCh0aGlzW25dLG4uc2xpY2UoMSksdGhpcyl9fTt2YXIgb289S2kucHJvdG90eXBlO2Z1bmN0aW9uIGFvKHQsbil7dmFyIGU9bmV3IGlvO2lmKHQgaW5zdGFuY2VvZiBpbyl0LmVhY2goZnVuY3Rpb24odCl7ZS5hZGQodCl9KTtlbHNlIGlmKHQpe3ZhciByPS0xLGk9dC5sZW5ndGg7aWYobnVsbD09bilmb3IoOysrcjxpOyllLmFkZCh0W3JdKTtlbHNlIGZvcig7KytyPGk7KWUuYWRkKG4odFtyXSxyLHQpKX1yZXR1cm4gZX1pby5wcm90b3R5cGU9YW8ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjppbyxoYXM6b28uaGFzLGFkZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1siJCIrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6b28ucmVtb3ZlLGNsZWFyOm9vLmNsZWFyLHZhbHVlczpvby5rZXlzLHNpemU6b28uc2l6ZSxlbXB0eTpvby5lbXB0eSxlYWNoOm9vLmVhY2h9O3ZhciB1bz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gZm8odCxuKXtyZXR1cm4gdC1ufWZ1bmN0aW9uIGNvKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBzbyh0LG4pe2Zvcih2YXIgZSxyPS0xLGk9bi5sZW5ndGg7KytyPGk7KWlmKGU9bG8odCxuW3JdKSlyZXR1cm4gZTtyZXR1cm4gMH1mdW5jdGlvbiBsbyh0LG4pe2Zvcih2YXIgZT1uWzBdLHI9blsxXSxpPS0xLG89MCxhPXQubGVuZ3RoLHU9YS0xO288YTt1PW8rKyl7dmFyIGY9dFtvXSxjPWZbMF0scz1mWzFdLGw9dFt1XSxoPWxbMF0sZD1sWzFdO2lmKGhvKGYsbCxuKSlyZXR1cm4gMDtzPnIhPWQ+ciYmZTwoaC1jKSooci1zKS8oZC1zKStjJiYoaT0taSl9cmV0dXJuIGl9ZnVuY3Rpb24gaG8odCxuLGUpe3ZhciByLGksbyxhO3JldHVybiBmdW5jdGlvbih0LG4sZSl7cmV0dXJuKG5bMF0tdFswXSkqKGVbMV0tdFsxXSk9PShlWzBdLXRbMF0pKihuWzFdLXRbMV0pfSh0LG4sZSkmJihpPXRbcj0rKHRbMF09PT1uWzBdKV0sbz1lW3JdLGE9bltyXSxpPD1vJiZvPD1hfHxhPD1vJiZvPD1pKX1mdW5jdGlvbiBwbygpe312YXIgdm89W1tdLFtbWzEsMS41XSxbLjUsMV1dXSxbW1sxLjUsMV0sWzEsMS41XV1dLFtbWzEuNSwxXSxbLjUsMV1dXSxbW1sxLC41XSxbMS41LDFdXV0sW1tbMSwxLjVdLFsuNSwxXV0sW1sxLC41XSxbMS41LDFdXV0sW1tbMSwuNV0sWzEsMS41XV1dLFtbWzEsLjVdLFsuNSwxXV1dLFtbWy41LDFdLFsxLC41XV1dLFtbWzEsMS41XSxbMSwuNV1dXSxbW1suNSwxXSxbMSwuNV1dLFtbMS41LDFdLFsxLDEuNV1dXSxbW1sxLjUsMV0sWzEsLjVdXV0sW1tbLjUsMV0sWzEuNSwxXV1dLFtbWzEsMS41XSxbMS41LDFdXV0sW1tbLjUsMV0sWzEsMS41XV1dLFtdXTtmdW5jdGlvbiBnbygpe3ZhciB0PTEsbj0xLGU9TSxyPXU7ZnVuY3Rpb24gaSh0KXt2YXIgbj1lKHQpO2lmKEFycmF5LmlzQXJyYXkobikpbj1uLnNsaWNlKCkuc29ydChmbyk7ZWxzZXt2YXIgcj1zKHQpLGk9clswXSxhPXJbMV07bj13KGksYSxuKSxuPWcoTWF0aC5mbG9vcihpL24pKm4sTWF0aC5mbG9vcihhL24pKm4sbil9cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKHQsbil9KX1mdW5jdGlvbiBvKGUsaSl7dmFyIG89W10sdT1bXTtyZXR1cm4gZnVuY3Rpb24oZSxyLGkpe3ZhciBvLHUsZixjLHMsbCxoPW5ldyBBcnJheSxkPW5ldyBBcnJheTtvPXU9LTEsYz1lWzBdPj1yLHZvW2M8PDFdLmZvckVhY2gocCk7Zm9yKDsrK288dC0xOylmPWMsYz1lW28rMV0+PXIsdm9bZnxjPDwxXS5mb3JFYWNoKHApO3ZvW2M8PDBdLmZvckVhY2gocCk7Zm9yKDsrK3U8bi0xOyl7Zm9yKG89LTEsYz1lW3UqdCt0XT49cixzPWVbdSp0XT49cix2b1tjPDwxfHM8PDJdLmZvckVhY2gocCk7KytvPHQtMTspZj1jLGM9ZVt1KnQrdCtvKzFdPj1yLGw9cyxzPWVbdSp0K28rMV0+PXIsdm9bZnxjPDwxfHM8PDJ8bDw8M10uZm9yRWFjaChwKTt2b1tjfHM8PDNdLmZvckVhY2gocCl9bz0tMSxzPWVbdSp0XT49cix2b1tzPDwyXS5mb3JFYWNoKHApO2Zvcig7KytvPHQtMTspbD1zLHM9ZVt1KnQrbysxXT49cix2b1tzPDwyfGw8PDNdLmZvckVhY2gocCk7ZnVuY3Rpb24gcCh0KXt2YXIgbixlLHI9W3RbMF1bMF0rbyx0WzBdWzFdK3VdLGY9W3RbMV1bMF0rbyx0WzFdWzFdK3VdLGM9YShyKSxzPWEoZik7KG49ZFtjXSk/KGU9aFtzXSk/KGRlbGV0ZSBkW24uZW5kXSxkZWxldGUgaFtlLnN0YXJ0XSxuPT09ZT8obi5yaW5nLnB1c2goZiksaShuLnJpbmcpKTpoW24uc3RhcnRdPWRbZS5lbmRdPXtzdGFydDpuLnN0YXJ0LGVuZDplLmVuZCxyaW5nOm4ucmluZy5jb25jYXQoZS5yaW5nKX0pOihkZWxldGUgZFtuLmVuZF0sbi5yaW5nLnB1c2goZiksZFtuLmVuZD1zXT1uKToobj1oW3NdKT8oZT1kW2NdKT8oZGVsZXRlIGhbbi5zdGFydF0sZGVsZXRlIGRbZS5lbmRdLG49PT1lPyhuLnJpbmcucHVzaChmKSxpKG4ucmluZykpOmhbZS5zdGFydF09ZFtuLmVuZF09e3N0YXJ0OmUuc3RhcnQsZW5kOm4uZW5kLHJpbmc6ZS5yaW5nLmNvbmNhdChuLnJpbmcpfSk6KGRlbGV0ZSBoW24uc3RhcnRdLG4ucmluZy51bnNoaWZ0KHIpLGhbbi5zdGFydD1jXT1uKTpoW2NdPWRbc109e3N0YXJ0OmMsZW5kOnMscmluZzpbcixmXX19dm9bczw8M10uZm9yRWFjaChwKX0oZSxpLGZ1bmN0aW9uKHQpe3IodCxlLGkpLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wLGU9dC5sZW5ndGgscj10W2UtMV1bMV0qdFswXVswXS10W2UtMV1bMF0qdFswXVsxXTsrK248ZTspcis9dFtuLTFdWzFdKnRbbl1bMF0tdFtuLTFdWzBdKnRbbl1bMV07cmV0dXJuIHJ9KHQpPjA/by5wdXNoKFt0XSk6dS5wdXNoKHQpfSksdS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTAscj1vLmxlbmd0aDtlPHI7KytlKWlmKC0xIT09c28oKG49b1tlXSlbMF0sdCkpcmV0dXJuIHZvaWQgbi5wdXNoKHQpfSkse3R5cGU6Ik11bHRpUG9seWdvbiIsdmFsdWU6aSxjb29yZGluYXRlczpvfX1mdW5jdGlvbiBhKG4pe3JldHVybiAyKm5bMF0rblsxXSoodCsxKSo0fWZ1bmN0aW9uIHUoZSxyLGkpe2UuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbyxhPWVbMF0sdT1lWzFdLGY9MHxhLGM9MHx1LHM9cltjKnQrZl07YT4wJiZhPHQmJmY9PT1hJiYobz1yW2MqdCtmLTFdLGVbMF09YSsoaS1vKS8ocy1vKS0uNSksdT4wJiZ1PG4mJmM9PT11JiYobz1yWyhjLTEpKnQrZl0sZVsxXT11KyhpLW8pLyhzLW8pLS41KX0pfXJldHVybiBpLmNvbnRvdXI9byxpLnNpemU9ZnVuY3Rpb24oZSl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW3Qsbl07dmFyIHI9TWF0aC5jZWlsKGVbMF0pLG89TWF0aC5jZWlsKGVbMV0pO2lmKCEocj4wJiZvPjApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHQ9cixuPW8saX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9jbyh1by5jYWxsKHQpKTpjbyh0KSxpKTplfSxpLnNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10P3U6cG8saSk6cj09PXV9LGl9ZnVuY3Rpb24geW8odCxuLGUpe2Zvcih2YXIgcj10LndpZHRoLGk9dC5oZWlnaHQsbz0xKyhlPDwxKSxhPTA7YTxpOysrYSlmb3IodmFyIHU9MCxmPTA7dTxyK2U7Kyt1KXU8ciYmKGYrPXQuZGF0YVt1K2Eqcl0pLHU+PWUmJih1Pj1vJiYoZi09dC5kYXRhW3UtbythKnJdKSxuLmRhdGFbdS1lK2Eqcl09Zi9NYXRoLm1pbih1KzEsci0xK28tdSxvKSl9ZnVuY3Rpb24gX28odCxuLGUpe2Zvcih2YXIgcj10LndpZHRoLGk9dC5oZWlnaHQsbz0xKyhlPDwxKSxhPTA7YTxyOysrYSlmb3IodmFyIHU9MCxmPTA7dTxpK2U7Kyt1KXU8aSYmKGYrPXQuZGF0YVthK3Uqcl0pLHU+PWUmJih1Pj1vJiYoZi09dC5kYXRhW2ErKHUtbykqcl0pLG4uZGF0YVthKyh1LWUpKnJdPWYvTWF0aC5taW4odSsxLGktMStvLXUsbykpfWZ1bmN0aW9uIGJvKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIG1vKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIHhvKCl7cmV0dXJuIDF9dmFyIHdvPXt9LE1vPXt9LEFvPTM0LFRvPTEwLE5vPTEzO2Z1bmN0aW9uIFNvKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoZnVuY3Rpb24odCxuKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK24rIl0ifSkuam9pbigiLCIpKyJ9Iil9ZnVuY3Rpb24gRW8odCl7dmFyIG49bmV3IFJlZ0V4cCgnWyInK3QrIlxuXHJdIiksZT10LmNoYXJDb2RlQXQoMCk7ZnVuY3Rpb24gcih0LG4pe3ZhciByLGk9W10sbz10Lmxlbmd0aCxhPTAsdT0wLGY9bzw9MCxjPSExO2Z1bmN0aW9uIHMoKXtpZihmKXJldHVybiBNbztpZihjKXJldHVybiBjPSExLHdvO3ZhciBuLHIsaT1hO2lmKHQuY2hhckNvZGVBdChpKT09PUFvKXtmb3IoO2ErKzxvJiZ0LmNoYXJDb2RlQXQoYSkhPT1Bb3x8dC5jaGFyQ29kZUF0KCsrYSk9PT1BbzspO3JldHVybihuPWEpPj1vP2Y9ITA6KHI9dC5jaGFyQ29kZUF0KGErKykpPT09VG8/Yz0hMDpyPT09Tm8mJihjPSEwLHQuY2hhckNvZGVBdChhKT09PVRvJiYrK2EpLHQuc2xpY2UoaSsxLG4tMSkucmVwbGFjZSgvIiIvZywnIicpfWZvcig7YTxvOyl7aWYoKHI9dC5jaGFyQ29kZUF0KG49YSsrKSk9PT1UbyljPSEwO2Vsc2UgaWYocj09PU5vKWM9ITAsdC5jaGFyQ29kZUF0KGEpPT09VG8mJisrYTtlbHNlIGlmKHIhPT1lKWNvbnRpbnVlO3JldHVybiB0LnNsaWNlKGksbil9cmV0dXJuIGY9ITAsdC5zbGljZShpLG8pfWZvcih0LmNoYXJDb2RlQXQoby0xKT09PVRvJiYtLW8sdC5jaGFyQ29kZUF0KG8tMSk9PT1ObyYmLS1vOyhyPXMoKSkhPT1Nbzspe2Zvcih2YXIgbD1bXTtyIT09d28mJnIhPT1NbzspbC5wdXNoKHIpLHI9cygpO24mJm51bGw9PShsPW4obCx1KyspKXx8aS5wdXNoKGwpfXJldHVybiBpfWZ1bmN0aW9uIGkobil7cmV0dXJuIG4ubWFwKG8pLmpvaW4odCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbnVsbD09dD8iIjpuLnRlc3QodCs9IiIpPyciJyt0LnJlcGxhY2UoLyIvZywnIiInKSsnIic6dH1yZXR1cm57cGFyc2U6ZnVuY3Rpb24odCxuKXt2YXIgZSxpLG89cih0LGZ1bmN0aW9uKHQscil7aWYoZSlyZXR1cm4gZSh0LHItMSk7aT10LGU9bj9mdW5jdGlvbih0LG4pe3ZhciBlPVNvKHQpO3JldHVybiBmdW5jdGlvbihyLGkpe3JldHVybiBuKGUociksaSx0KX19KHQsbik6U28odCl9KTtyZXR1cm4gby5jb2x1bW5zPWl8fFtdLG99LHBhcnNlUm93czpyLGZvcm1hdDpmdW5jdGlvbihuLGUpe3JldHVybiBudWxsPT1lJiYoZT1mdW5jdGlvbih0KXt2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpLGU9W107cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbih0KXtmb3IodmFyIHIgaW4gdClyIGluIG58fGUucHVzaChuW3JdPXIpfSksZX0obikpLFtlLm1hcChvKS5qb2luKHQpXS5jb25jYXQobi5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvKG5bdF0pfSkuam9pbih0KX0pKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChpKS5qb2luKCJcbiIpfX19dmFyIGtvPUVvKCIsIiksQ289a28ucGFyc2UsUG89a28ucGFyc2VSb3dzLHpvPWtvLmZvcm1hdCxSbz1rby5mb3JtYXRSb3dzLExvPUVvKCJcdCIpLERvPUxvLnBhcnNlLFVvPUxvLnBhcnNlUm93cyxxbz1Mby5mb3JtYXQsT289TG8uZm9ybWF0Um93cztmdW5jdGlvbiBZbyh0KXtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IodC5zdGF0dXMrIiAiK3Quc3RhdHVzVGV4dCk7cmV0dXJuIHQuYmxvYigpfWZ1bmN0aW9uIEJvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5hcnJheUJ1ZmZlcigpfWZ1bmN0aW9uIEZvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC50ZXh0KCl9ZnVuY3Rpb24gSW8odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKEZvKX1mdW5jdGlvbiBIbyh0KXtyZXR1cm4gZnVuY3Rpb24obixlLHIpe3JldHVybiAyPT09YXJndW1lbnRzLmxlbmd0aCYmImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT12b2lkIDApLElvKG4sZSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gdChuLHIpfSl9fXZhciBqbz1IbyhDbyksWG89SG8oRG8pO2Z1bmN0aW9uIEdvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5qc29uKCl9ZnVuY3Rpb24gVm8odCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIElvKG4sZSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKG4sdCl9KX19dmFyICRvPVZvKCJhcHBsaWNhdGlvbi94bWwiKSxXbz1WbygidGV4dC9odG1sIiksWm89Vm8oImltYWdlL3N2Zyt4bWwiKTtmdW5jdGlvbiBRbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gSm8oKXtyZXR1cm4gMWUtNiooTWF0aC5yYW5kb20oKS0uNSl9ZnVuY3Rpb24gS28odCxuLGUscil7aWYoaXNOYU4obil8fGlzTmFOKGUpKXJldHVybiB0O3ZhciBpLG8sYSx1LGYsYyxzLGwsaCxkPXQuX3Jvb3QscD17ZGF0YTpyfSx2PXQuX3gwLGc9dC5feTAseT10Ll94MSxfPXQuX3kxO2lmKCFkKXJldHVybiB0Ll9yb290PXAsdDtmb3IoO2QubGVuZ3RoOylpZigoYz1uPj0obz0odit5KS8yKSk/dj1vOnk9bywocz1lPj0oYT0oZytfKS8yKSk/Zz1hOl89YSxpPWQsIShkPWRbbD1zPDwxfGNdKSlyZXR1cm4gaVtsXT1wLHQ7aWYodT0rdC5feC5jYWxsKG51bGwsZC5kYXRhKSxmPSt0Ll95LmNhbGwobnVsbCxkLmRhdGEpLG49PT11JiZlPT09ZilyZXR1cm4gcC5uZXh0PWQsaT9pW2xdPXA6dC5fcm9vdD1wLHQ7ZG97aT1pP2lbbF09bmV3IEFycmF5KDQpOnQuX3Jvb3Q9bmV3IEFycmF5KDQpLChjPW4+PShvPSh2K3kpLzIpKT92PW86eT1vLChzPWU+PShhPShnK18pLzIpKT9nPWE6Xz1hfXdoaWxlKChsPXM8PDF8Yyk9PShoPShmPj1hKTw8MXx1Pj1vKSk7cmV0dXJuIGlbaF09ZCxpW2xdPXAsdH1mdW5jdGlvbiB0YSh0LG4sZSxyLGkpe3RoaXMubm9kZT10LHRoaXMueDA9bix0aGlzLnkwPWUsdGhpcy54MT1yLHRoaXMueTE9aX1mdW5jdGlvbiBuYSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBlYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiByYSh0LG4sZSl7dmFyIHI9bmV3IGlhKG51bGw9PW4/bmE6bixudWxsPT1lP2VhOmUsTmFOLE5hTixOYU4sTmFOKTtyZXR1cm4gbnVsbD09dD9yOnIuYWRkQWxsKHQpfWZ1bmN0aW9uIGlhKHQsbixlLHIsaSxvKXt0aGlzLl94PXQsdGhpcy5feT1uLHRoaXMuX3gwPWUsdGhpcy5feTA9cix0aGlzLl94MT1pLHRoaXMuX3kxPW8sdGhpcy5fcm9vdD12b2lkIDB9ZnVuY3Rpb24gb2EodCl7Zm9yKHZhciBuPXtkYXRhOnQuZGF0YX0sZT1uO3Q9dC5uZXh0OyllPWUubmV4dD17ZGF0YTp0LmRhdGF9O3JldHVybiBufXZhciBhYT1yYS5wcm90b3R5cGU9aWEucHJvdG90eXBlO2Z1bmN0aW9uIHVhKHQpe3JldHVybiB0LngrdC52eH1mdW5jdGlvbiBmYSh0KXtyZXR1cm4gdC55K3Qudnl9ZnVuY3Rpb24gY2EodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gc2EodCxuKXt2YXIgZT10LmdldChuKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbik7cmV0dXJuIGV9ZnVuY3Rpb24gbGEodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBoYSh0KXtyZXR1cm4gdC55fWFhLmNvcHk9ZnVuY3Rpb24oKXt2YXIgdCxuLGU9bmV3IGlhKHRoaXMuX3gsdGhpcy5feSx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkscj10aGlzLl9yb290O2lmKCFyKXJldHVybiBlO2lmKCFyLmxlbmd0aClyZXR1cm4gZS5fcm9vdD1vYShyKSxlO2Zvcih0PVt7c291cmNlOnIsdGFyZ2V0OmUuX3Jvb3Q9bmV3IEFycmF5KDQpfV07cj10LnBvcCgpOylmb3IodmFyIGk9MDtpPDQ7KytpKShuPXIuc291cmNlW2ldKSYmKG4ubGVuZ3RoP3QucHVzaCh7c291cmNlOm4sdGFyZ2V0OnIudGFyZ2V0W2ldPW5ldyBBcnJheSg0KX0pOnIudGFyZ2V0W2ldPW9hKG4pKTtyZXR1cm4gZX0sYWEuYWRkPWZ1bmN0aW9uKHQpe3ZhciBuPSt0aGlzLl94LmNhbGwobnVsbCx0KSxlPSt0aGlzLl95LmNhbGwobnVsbCx0KTtyZXR1cm4gS28odGhpcy5jb3ZlcihuLGUpLG4sZSx0KX0sYWEuYWRkQWxsPWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpLG89dC5sZW5ndGgsYT1uZXcgQXJyYXkobyksdT1uZXcgQXJyYXkobyksZj0xLzAsYz0xLzAscz0tMS8wLGw9LTEvMDtmb3IoZT0wO2U8bzsrK2UpaXNOYU4ocj0rdGhpcy5feC5jYWxsKG51bGwsbj10W2VdKSl8fGlzTmFOKGk9K3RoaXMuX3kuY2FsbChudWxsLG4pKXx8KGFbZV09cix1W2VdPWkscjxmJiYoZj1yKSxyPnMmJihzPXIpLGk8YyYmKGM9aSksaT5sJiYobD1pKSk7Zm9yKHM8ZiYmKGY9dGhpcy5feDAscz10aGlzLl94MSksbDxjJiYoYz10aGlzLl95MCxsPXRoaXMuX3kxKSx0aGlzLmNvdmVyKGYsYykuY292ZXIocyxsKSxlPTA7ZTxvOysrZSlLbyh0aGlzLGFbZV0sdVtlXSx0W2VdKTtyZXR1cm4gdGhpc30sYWEuY292ZXI9ZnVuY3Rpb24odCxuKXtpZihpc05hTih0PSt0KXx8aXNOYU4obj0rbikpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy5feDAscj10aGlzLl95MCxpPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4oZSkpaT0oZT1NYXRoLmZsb29yKHQpKSsxLG89KHI9TWF0aC5mbG9vcihuKSkrMTtlbHNle2lmKCEoZT50fHx0Pml8fHI+bnx8bj5vKSlyZXR1cm4gdGhpczt2YXIgYSx1LGY9aS1lLGM9dGhpcy5fcm9vdDtzd2l0Y2godT0objwocitvKS8yKTw8MXx0PChlK2kpLzIpe2Nhc2UgMDpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKG89cisoZio9MiksdD4oaT1lK2YpfHxuPm8pO2JyZWFrO2Nhc2UgMTpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKG89cisoZio9MiksKGU9aS1mKT50fHxuPm8pO2JyZWFrO2Nhc2UgMjpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKHI9by0oZio9MiksdD4oaT1lK2YpfHxyPm4pO2JyZWFrO2Nhc2UgMzpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKHI9by0oZio9MiksKGU9aS1mKT50fHxyPm4pfXRoaXMuX3Jvb3QmJnRoaXMuX3Jvb3QubGVuZ3RoJiYodGhpcy5fcm9vdD1jKX1yZXR1cm4gdGhpcy5feDA9ZSx0aGlzLl95MD1yLHRoaXMuX3gxPWksdGhpcy5feTE9byx0aGlzfSxhYS5kYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMudmlzaXQoZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKWRve3QucHVzaChuLmRhdGEpfXdoaWxlKG49bi5uZXh0KX0pLHR9LGFhLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmNvdmVyKCt0WzBdWzBdLCt0WzBdWzFdKS5jb3ZlcigrdFsxXVswXSwrdFsxXVsxXSk6aXNOYU4odGhpcy5feDApP3ZvaWQgMDpbW3RoaXMuX3gwLHRoaXMuX3kwXSxbdGhpcy5feDEsdGhpcy5feTFdXX0sYWEuZmluZD1mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvLGEsdSxmLGMscz10aGlzLl94MCxsPXRoaXMuX3kwLGg9dGhpcy5feDEsZD10aGlzLl95MSxwPVtdLHY9dGhpcy5fcm9vdDtmb3IodiYmcC5wdXNoKG5ldyB0YSh2LHMsbCxoLGQpKSxudWxsPT1lP2U9MS8wOihzPXQtZSxsPW4tZSxoPXQrZSxkPW4rZSxlKj1lKTtmPXAucG9wKCk7KWlmKCEoISh2PWYubm9kZSl8fChpPWYueDApPmh8fChvPWYueTApPmR8fChhPWYueDEpPHN8fCh1PWYueTEpPGwpKWlmKHYubGVuZ3RoKXt2YXIgZz0oaSthKS8yLHk9KG8rdSkvMjtwLnB1c2gobmV3IHRhKHZbM10sZyx5LGEsdSksbmV3IHRhKHZbMl0saSx5LGcsdSksbmV3IHRhKHZbMV0sZyxvLGEseSksbmV3IHRhKHZbMF0saSxvLGcseSkpLChjPShuPj15KTw8MXx0Pj1nKSYmKGY9cFtwLmxlbmd0aC0xXSxwW3AubGVuZ3RoLTFdPXBbcC5sZW5ndGgtMS1jXSxwW3AubGVuZ3RoLTEtY109Zil9ZWxzZXt2YXIgXz10LSt0aGlzLl94LmNhbGwobnVsbCx2LmRhdGEpLGI9bi0rdGhpcy5feS5jYWxsKG51bGwsdi5kYXRhKSxtPV8qXytiKmI7aWYobTxlKXt2YXIgeD1NYXRoLnNxcnQoZT1tKTtzPXQteCxsPW4teCxoPXQreCxkPW4reCxyPXYuZGF0YX19cmV0dXJuIHJ9LGFhLnJlbW92ZT1mdW5jdGlvbih0KXtpZihpc05hTihvPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKGE9K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgbixlLHIsaSxvLGEsdSxmLGMscyxsLGgsZD10aGlzLl9yb290LHA9dGhpcy5feDAsdj10aGlzLl95MCxnPXRoaXMuX3gxLHk9dGhpcy5feTE7aWYoIWQpcmV0dXJuIHRoaXM7aWYoZC5sZW5ndGgpZm9yKDs7KXtpZigoYz1vPj0odT0ocCtnKS8yKSk/cD11Omc9dSwocz1hPj0oZj0odit5KS8yKSk/dj1mOnk9ZixuPWQsIShkPWRbbD1zPDwxfGNdKSlyZXR1cm4gdGhpcztpZighZC5sZW5ndGgpYnJlYWs7KG5bbCsxJjNdfHxuW2wrMiYzXXx8bltsKzMmM10pJiYoZT1uLGg9bCl9Zm9yKDtkLmRhdGEhPT10OylpZihyPWQsIShkPWQubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKGk9ZC5uZXh0KSYmZGVsZXRlIGQubmV4dCxyPyhpP3IubmV4dD1pOmRlbGV0ZSByLm5leHQsdGhpcyk6bj8oaT9uW2xdPWk6ZGVsZXRlIG5bbF0sKGQ9blswXXx8blsxXXx8blsyXXx8blszXSkmJmQ9PT0oblszXXx8blsyXXx8blsxXXx8blswXSkmJiFkLmxlbmd0aCYmKGU/ZVtoXT1kOnRoaXMuX3Jvb3Q9ZCksdGhpcyk6KHRoaXMuX3Jvb3Q9aSx0aGlzKX0sYWEucmVtb3ZlQWxsPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wLGU9dC5sZW5ndGg7bjxlOysrbil0aGlzLnJlbW92ZSh0W25dKTtyZXR1cm4gdGhpc30sYWEucm9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSxhYS5zaXplPWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihuKXtpZighbi5sZW5ndGgpZG97Kyt0fXdoaWxlKG49bi5uZXh0KX0pLHR9LGFhLnZpc2l0PWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpLG8sYSx1PVtdLGY9dGhpcy5fcm9vdDtmb3IoZiYmdS5wdXNoKG5ldyB0YShmLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7bj11LnBvcCgpOylpZighdChmPW4ubm9kZSxyPW4ueDAsaT1uLnkwLG89bi54MSxhPW4ueTEpJiZmLmxlbmd0aCl7dmFyIGM9KHIrbykvMixzPShpK2EpLzI7KGU9ZlszXSkmJnUucHVzaChuZXcgdGEoZSxjLHMsbyxhKSksKGU9ZlsyXSkmJnUucHVzaChuZXcgdGEoZSxyLHMsYyxhKSksKGU9ZlsxXSkmJnUucHVzaChuZXcgdGEoZSxjLGksbyxzKSksKGU9ZlswXSkmJnUucHVzaChuZXcgdGEoZSxyLGksYyxzKSl9cmV0dXJuIHRoaXN9LGFhLnZpc2l0QWZ0ZXI9ZnVuY3Rpb24odCl7dmFyIG4sZT1bXSxyPVtdO2Zvcih0aGlzLl9yb290JiZlLnB1c2gobmV3IHRhKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtuPWUucG9wKCk7KXt2YXIgaT1uLm5vZGU7aWYoaS5sZW5ndGgpe3ZhciBvLGE9bi54MCx1PW4ueTAsZj1uLngxLGM9bi55MSxzPShhK2YpLzIsbD0odStjKS8yOyhvPWlbMF0pJiZlLnB1c2gobmV3IHRhKG8sYSx1LHMsbCkpLChvPWlbMV0pJiZlLnB1c2gobmV3IHRhKG8scyx1LGYsbCkpLChvPWlbMl0pJiZlLnB1c2gobmV3IHRhKG8sYSxsLHMsYykpLChvPWlbM10pJiZlLnB1c2gobmV3IHRhKG8scyxsLGYsYykpfXIucHVzaChuKX1mb3IoO249ci5wb3AoKTspdChuLm5vZGUsbi54MCxuLnkwLG4ueDEsbi55MSk7cmV0dXJuIHRoaXN9LGFhLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxhYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIGRhPTEwLHBhPU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiB2YSh0LG4pe2lmKChlPSh0PW4/dC50b0V4cG9uZW50aWFsKG4tMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgZSxyPXQuc2xpY2UoMCxlKTtyZXR1cm5bci5sZW5ndGg+MT9yWzBdK3Iuc2xpY2UoMik6ciwrdC5zbGljZShlKzEpXX1mdW5jdGlvbiBnYSh0KXtyZXR1cm4odD12YShNYXRoLmFicyh0KSkpP3RbMV06TmFOfXZhciB5YSxfYT0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBiYSh0KXtyZXR1cm4gbmV3IG1hKHQpfWZ1bmN0aW9uIG1hKHQpe2lmKCEobj1fYS5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBuO3RoaXMuZmlsbD1uWzFdfHwiICIsdGhpcy5hbGlnbj1uWzJdfHwiPiIsdGhpcy5zaWduPW5bM118fCItIix0aGlzLnN5bWJvbD1uWzRdfHwiIix0aGlzLnplcm89ISFuWzVdLHRoaXMud2lkdGg9bls2XSYmK25bNl0sdGhpcy5jb21tYT0hIW5bN10sdGhpcy5wcmVjaXNpb249bls4XSYmK25bOF0uc2xpY2UoMSksdGhpcy50cmltPSEhbls5XSx0aGlzLnR5cGU9blsxMF18fCIifWZ1bmN0aW9uIHhhKHQsbil7dmFyIGU9dmEodCxuKTtpZighZSlyZXR1cm4gdCsiIjt2YXIgcj1lWzBdLGk9ZVsxXTtyZXR1cm4gaTwwPyIwLiIrbmV3IEFycmF5KC1pKS5qb2luKCIwIikrcjpyLmxlbmd0aD5pKzE/ci5zbGljZSgwLGkrMSkrIi4iK3Iuc2xpY2UoaSsxKTpyK25ldyBBcnJheShpLXIubGVuZ3RoKzIpLmpvaW4oIjAiKX1iYS5wcm90b3R5cGU9bWEucHJvdG90eXBlLG1hLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyhudWxsPT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsobnVsbD09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciB3YT17IiUiOmZ1bmN0aW9uKHQsbil7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKG4pfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LG4pe3JldHVybiB0LnRvRXhwb25lbnRpYWwobil9LGY6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdC50b0ZpeGVkKG4pfSxnOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHQudG9QcmVjaXNpb24obil9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxuKXtyZXR1cm4geGEoMTAwKnQsbil9LHI6eGEsczpmdW5jdGlvbih0LG4pe3ZhciBlPXZhKHQsbik7aWYoIWUpcmV0dXJuIHQrIiI7dmFyIHI9ZVswXSxpPWVbMV0sbz1pLSh5YT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihpLzMpKSkpKzEsYT1yLmxlbmd0aDtyZXR1cm4gbz09PWE/cjpvPmE/cituZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/ci5zbGljZSgwLG8pKyIuIityLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK3ZhKHQsTWF0aC5tYXgoMCxuK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19O2Z1bmN0aW9uIE1hKHQpe3JldHVybiB0fXZhciBBYSxUYT1bInkiLCJ6IiwiYSIsImYiLCJwIiwibiIsIsK1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl07ZnVuY3Rpb24gTmEodCl7dmFyIG4sZSxyPXQuZ3JvdXBpbmcmJnQudGhvdXNhbmRzPyhuPXQuZ3JvdXBpbmcsZT10LnRob3VzYW5kcyxmdW5jdGlvbih0LHIpe2Zvcih2YXIgaT10Lmxlbmd0aCxvPVtdLGE9MCx1PW5bMF0sZj0wO2k+MCYmdT4wJiYoZit1KzE+ciYmKHU9TWF0aC5tYXgoMSxyLWYpKSxvLnB1c2godC5zdWJzdHJpbmcoaS09dSxpK3UpKSwhKChmKz11KzEpPnIpKTspdT1uW2E9KGErMSklbi5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfSk6TWEsaT10LmN1cnJlbmN5LG89dC5kZWNpbWFsLGE9dC5udW1lcmFscz9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4ucmVwbGFjZSgvWzAtOV0vZyxmdW5jdGlvbihuKXtyZXR1cm4gdFsrbl19KX19KHQubnVtZXJhbHMpOk1hLHU9dC5wZXJjZW50fHwiJSI7ZnVuY3Rpb24gZih0KXt2YXIgbj0odD1iYSh0KSkuZmlsbCxlPXQuYWxpZ24sZj10LnNpZ24sYz10LnN5bWJvbCxzPXQuemVybyxsPXQud2lkdGgsaD10LmNvbW1hLGQ9dC5wcmVjaXNpb24scD10LnRyaW0sdj10LnR5cGU7Im4iPT09dj8oaD0hMCx2PSJnIik6d2Fbdl18fChudWxsPT1kJiYoZD0xMikscD0hMCx2PSJnIiksKHN8fCIwIj09PW4mJiI9Ij09PWUpJiYocz0hMCxuPSIwIixlPSI9Iik7dmFyIGc9IiQiPT09Yz9pWzBdOiIjIj09PWMmJi9bYm94WF0vLnRlc3Qodik/IjAiK3YudG9Mb3dlckNhc2UoKToiIix5PSIkIj09PWM/aVsxXTovWyVwXS8udGVzdCh2KT91OiIiLF89d2Fbdl0sYj0vW2RlZmdwcnMlXS8udGVzdCh2KTtmdW5jdGlvbiBtKHQpe3ZhciBpLHUsYyxtPWcseD15O2lmKCJjIj09PXYpeD1fKHQpK3gsdD0iIjtlbHNle3ZhciB3PSh0PSt0KTwwO2lmKHQ9XyhNYXRoLmFicyh0KSxkKSxwJiYodD1mdW5jdGlvbih0KXt0OmZvcih2YXIgbixlPXQubGVuZ3RoLHI9MSxpPS0xO3I8ZTsrK3Ipc3dpdGNoKHRbcl0pe2Nhc2UiLiI6aT1uPXI7YnJlYWs7Y2FzZSIwIjowPT09aSYmKGk9ciksbj1yO2JyZWFrO2RlZmF1bHQ6aWYoaT4wKXtpZighK3Rbcl0pYnJlYWsgdDtpPTB9fXJldHVybiBpPjA/dC5zbGljZSgwLGkpK3Quc2xpY2UobisxKTp0fSh0KSksdyYmMD09K3QmJih3PSExKSxtPSh3PyIoIj09PWY/ZjoiLSI6Ii0iPT09Znx8IigiPT09Zj8iIjpmKSttLHg9KCJzIj09PXY/VGFbOCt5YS8zXToiIikreCsodyYmIigiPT09Zj8iKSI6IiIpLGIpZm9yKGk9LTEsdT10Lmxlbmd0aDsrK2k8dTspaWYoNDg+KGM9dC5jaGFyQ29kZUF0KGkpKXx8Yz41Nyl7eD0oNDY9PT1jP28rdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK3gsdD10LnNsaWNlKDAsaSk7YnJlYWt9fWgmJiFzJiYodD1yKHQsMS8wKSk7dmFyIE09bS5sZW5ndGgrdC5sZW5ndGgreC5sZW5ndGgsQT1NPGw/bmV3IEFycmF5KGwtTSsxKS5qb2luKG4pOiIiO3N3aXRjaChoJiZzJiYodD1yKEErdCxBLmxlbmd0aD9sLXgubGVuZ3RoOjEvMCksQT0iIiksZSl7Y2FzZSI8Ijp0PW0rdCt4K0E7YnJlYWs7Y2FzZSI9Ijp0PW0rQSt0K3g7YnJlYWs7Y2FzZSJeIjp0PUEuc2xpY2UoMCxNPUEubGVuZ3RoPj4xKSttK3QreCtBLnNsaWNlKE0pO2JyZWFrO2RlZmF1bHQ6dD1BK20rdCt4fXJldHVybiBhKHQpfXJldHVybiBkPW51bGw9PWQ/NjovW2dwcnNdLy50ZXN0KHYpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsZCkpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsZCkpLG0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdCsiIn0sbX1yZXR1cm57Zm9ybWF0OmYsZm9ybWF0UHJlZml4OmZ1bmN0aW9uKHQsbil7dmFyIGU9ZigoKHQ9YmEodCkpLnR5cGU9ImYiLHQpKSxyPTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGdhKG4pLzMpKSksaT1NYXRoLnBvdygxMCwtciksbz1UYVs4K3IvM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlKGkqdCkrb319fX1mdW5jdGlvbiBTYShuKXtyZXR1cm4gQWE9TmEobiksdC5mb3JtYXQ9QWEuZm9ybWF0LHQuZm9ybWF0UHJlZml4PUFhLmZvcm1hdFByZWZpeCxBYX1mdW5jdGlvbiBFYSh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtZ2EoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBrYSh0LG4pe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGdhKG4pLzMpKSktZ2EoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBDYSh0LG4pe3JldHVybiB0PU1hdGguYWJzKHQpLG49TWF0aC5hYnMobiktdCxNYXRoLm1heCgwLGdhKG4pLWdhKHQpKSsxfWZ1bmN0aW9uIFBhKCl7cmV0dXJuIG5ldyB6YX1mdW5jdGlvbiB6YSgpe3RoaXMucmVzZXQoKX1TYSh7ZGVjaW1hbDoiLiIsdGhvdXNhbmRzOiIsIixncm91cGluZzpbM10sY3VycmVuY3k6WyIkIiwiIl19KSx6YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnphLHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5zPXRoaXMudD0wfSxhZGQ6ZnVuY3Rpb24odCl7TGEoUmEsdCx0aGlzLnQpLExhKHRoaXMsUmEucyx0aGlzLnMpLHRoaXMucz90aGlzLnQrPVJhLnQ6dGhpcy5zPVJhLnR9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zfX07dmFyIFJhPW5ldyB6YTtmdW5jdGlvbiBMYSh0LG4sZSl7dmFyIHI9dC5zPW4rZSxpPXItbixvPXItaTt0LnQ9bi1vKyhlLWkpfXZhciBEYT0xZS02LFVhPTFlLTEyLHFhPU1hdGguUEksT2E9cWEvMixZYT1xYS80LEJhPTIqcWEsRmE9MTgwL3FhLElhPXFhLzE4MCxIYT1NYXRoLmFicyxqYT1NYXRoLmF0YW4sWGE9TWF0aC5hdGFuMixHYT1NYXRoLmNvcyxWYT1NYXRoLmNlaWwsJGE9TWF0aC5leHAsV2E9TWF0aC5sb2csWmE9TWF0aC5wb3csUWE9TWF0aC5zaW4sSmE9TWF0aC5zaWdufHxmdW5jdGlvbih0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9LEthPU1hdGguc3FydCx0dT1NYXRoLnRhbjtmdW5jdGlvbiBudSh0KXtyZXR1cm4gdD4xPzA6dDwtMT9xYTpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gZXUodCl7cmV0dXJuIHQ+MT9PYTp0PC0xPy1PYTpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gcnUodCl7cmV0dXJuKHQ9UWEodC8yKSkqdH1mdW5jdGlvbiBpdSgpe31mdW5jdGlvbiBvdSh0LG4pe3QmJnV1Lmhhc093blByb3BlcnR5KHQudHlwZSkmJnV1W3QudHlwZV0odCxuKX12YXIgYXU9e0ZlYXR1cmU6ZnVuY3Rpb24odCxuKXtvdSh0Lmdlb21ldHJ5LG4pfSxGZWF0dXJlQ29sbGVjdGlvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmZlYXR1cmVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspb3UoZVtyXS5nZW9tZXRyeSxuKX19LHV1PXtTcGhlcmU6ZnVuY3Rpb24odCxuKXtuLnNwaGVyZSgpfSxQb2ludDpmdW5jdGlvbih0LG4pe3Q9dC5jb29yZGluYXRlcyxuLnBvaW50KHRbMF0sdFsxXSx0WzJdKX0sTXVsdGlQb2ludDpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspdD1lW3JdLG4ucG9pbnQodFswXSx0WzFdLHRbMl0pfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsbil7ZnUodC5jb29yZGluYXRlcyxuLDApfSxNdWx0aUxpbmVTdHJpbmc6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9dC5jb29yZGluYXRlcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KWZ1KGVbcl0sbiwwKX0sUG9seWdvbjpmdW5jdGlvbih0LG4pe2N1KHQuY29vcmRpbmF0ZXMsbil9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspY3UoZVtyXSxuKX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuZ2VvbWV0cmllcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KW91KGVbcl0sbil9fTtmdW5jdGlvbiBmdSh0LG4sZSl7dmFyIHIsaT0tMSxvPXQubGVuZ3RoLWU7Zm9yKG4ubGluZVN0YXJ0KCk7KytpPG87KXI9dFtpXSxuLnBvaW50KHJbMF0sclsxXSxyWzJdKTtuLmxpbmVFbmQoKX1mdW5jdGlvbiBjdSh0LG4pe3ZhciBlPS0xLHI9dC5sZW5ndGg7Zm9yKG4ucG9seWdvblN0YXJ0KCk7KytlPHI7KWZ1KHRbZV0sbiwxKTtuLnBvbHlnb25FbmQoKX1mdW5jdGlvbiBzdSh0LG4pe3QmJmF1Lmhhc093blByb3BlcnR5KHQudHlwZSk/YXVbdC50eXBlXSh0LG4pOm91KHQsbil9dmFyIGx1LGh1LGR1LHB1LHZ1LGd1PVBhKCkseXU9UGEoKSxfdT17cG9pbnQ6aXUsbGluZVN0YXJ0Oml1LGxpbmVFbmQ6aXUscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7Z3UucmVzZXQoKSxfdS5saW5lU3RhcnQ9YnUsX3UubGluZUVuZD1tdX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PStndTt5dS5hZGQodDwwP0JhK3Q6dCksdGhpcy5saW5lU3RhcnQ9dGhpcy5saW5lRW5kPXRoaXMucG9pbnQ9aXV9LHNwaGVyZTpmdW5jdGlvbigpe3l1LmFkZChCYSl9fTtmdW5jdGlvbiBidSgpe191LnBvaW50PXh1fWZ1bmN0aW9uIG11KCl7d3UobHUsaHUpfWZ1bmN0aW9uIHh1KHQsbil7X3UucG9pbnQ9d3UsbHU9dCxodT1uLGR1PXQqPUlhLHB1PUdhKG49KG4qPUlhKS8yK1lhKSx2dT1RYShuKX1mdW5jdGlvbiB3dSh0LG4pe3ZhciBlPSh0Kj1JYSktZHUscj1lPj0wPzE6LTEsaT1yKmUsbz1HYShuPShuKj1JYSkvMitZYSksYT1RYShuKSx1PXZ1KmEsZj1wdSpvK3UqR2EoaSksYz11KnIqUWEoaSk7Z3UuYWRkKFhhKGMsZikpLGR1PXQscHU9byx2dT1hfWZ1bmN0aW9uIE11KHQpe3JldHVybltYYSh0WzFdLHRbMF0pLGV1KHRbMl0pXX1mdW5jdGlvbiBBdSh0KXt2YXIgbj10WzBdLGU9dFsxXSxyPUdhKGUpO3JldHVybltyKkdhKG4pLHIqUWEobiksUWEoZSldfWZ1bmN0aW9uIFR1KHQsbil7cmV0dXJuIHRbMF0qblswXSt0WzFdKm5bMV0rdFsyXSpuWzJdfWZ1bmN0aW9uIE51KHQsbil7cmV0dXJuW3RbMV0qblsyXS10WzJdKm5bMV0sdFsyXSpuWzBdLXRbMF0qblsyXSx0WzBdKm5bMV0tdFsxXSpuWzBdXX1mdW5jdGlvbiBTdSh0LG4pe3RbMF0rPW5bMF0sdFsxXSs9blsxXSx0WzJdKz1uWzJdfWZ1bmN0aW9uIEV1KHQsbil7cmV0dXJuW3RbMF0qbix0WzFdKm4sdFsyXSpuXX1mdW5jdGlvbiBrdSh0KXt2YXIgbj1LYSh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSk7dFswXS89bix0WzFdLz1uLHRbMl0vPW59dmFyIEN1LFB1LHp1LFJ1LEx1LER1LFV1LHF1LE91LFl1LEJ1LEZ1LEl1LEh1LGp1LFh1LEd1LFZ1LCR1LFd1LFp1LFF1LEp1LEt1LHRmLG5mLGVmPVBhKCkscmY9e3BvaW50Om9mLGxpbmVTdGFydDp1ZixsaW5lRW5kOmZmLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3JmLnBvaW50PWNmLHJmLmxpbmVTdGFydD1zZixyZi5saW5lRW5kPWxmLGVmLnJlc2V0KCksX3UucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtfdS5wb2x5Z29uRW5kKCkscmYucG9pbnQ9b2YscmYubGluZVN0YXJ0PXVmLHJmLmxpbmVFbmQ9ZmYsZ3U8MD8oQ3U9LSh6dT0xODApLFB1PS0oUnU9OTApKTplZj5EYT9SdT05MDplZjwtRGEmJihQdT0tOTApLFl1WzBdPUN1LFl1WzFdPXp1fX07ZnVuY3Rpb24gb2YodCxuKXtPdS5wdXNoKFl1PVtDdT10LHp1PXRdKSxuPFB1JiYoUHU9biksbj5SdSYmKFJ1PW4pfWZ1bmN0aW9uIGFmKHQsbil7dmFyIGU9QXUoW3QqSWEsbipJYV0pO2lmKHF1KXt2YXIgcj1OdShxdSxlKSxpPU51KFtyWzFdLC1yWzBdLDBdLHIpO2t1KGkpLGk9TXUoaSk7dmFyIG8sYT10LUx1LHU9YT4wPzE6LTEsZj1pWzBdKkZhKnUsYz1IYShhKT4xODA7Y14odSpMdTxmJiZmPHUqdCk/KG89aVsxXSpGYSk+UnUmJihSdT1vKTpjXih1Kkx1PChmPShmKzM2MCklMzYwLTE4MCkmJmY8dSp0KT8obz0taVsxXSpGYSk8UHUmJihQdT1vKToobjxQdSYmKFB1PW4pLG4+UnUmJihSdT1uKSksYz90PEx1P2hmKEN1LHQpPmhmKEN1LHp1KSYmKHp1PXQpOmhmKHQsenUpPmhmKEN1LHp1KSYmKEN1PXQpOnp1Pj1DdT8odDxDdSYmKEN1PXQpLHQ+enUmJih6dT10KSk6dD5MdT9oZihDdSx0KT5oZihDdSx6dSkmJih6dT10KTpoZih0LHp1KT5oZihDdSx6dSkmJihDdT10KX1lbHNlIE91LnB1c2goWXU9W0N1PXQsenU9dF0pO248UHUmJihQdT1uKSxuPlJ1JiYoUnU9bikscXU9ZSxMdT10fWZ1bmN0aW9uIHVmKCl7cmYucG9pbnQ9YWZ9ZnVuY3Rpb24gZmYoKXtZdVswXT1DdSxZdVsxXT16dSxyZi5wb2ludD1vZixxdT1udWxsfWZ1bmN0aW9uIGNmKHQsbil7aWYocXUpe3ZhciBlPXQtTHU7ZWYuYWRkKEhhKGUpPjE4MD9lKyhlPjA/MzYwOi0zNjApOmUpfWVsc2UgRHU9dCxVdT1uO191LnBvaW50KHQsbiksYWYodCxuKX1mdW5jdGlvbiBzZigpe191LmxpbmVTdGFydCgpfWZ1bmN0aW9uIGxmKCl7Y2YoRHUsVXUpLF91LmxpbmVFbmQoKSxIYShlZik+RGEmJihDdT0tKHp1PTE4MCkpLFl1WzBdPUN1LFl1WzFdPXp1LHF1PW51bGx9ZnVuY3Rpb24gaGYodCxuKXtyZXR1cm4obi09dCk8MD9uKzM2MDpufWZ1bmN0aW9uIGRmKHQsbil7cmV0dXJuIHRbMF0tblswXX1mdW5jdGlvbiBwZih0LG4pe3JldHVybiB0WzBdPD10WzFdP3RbMF08PW4mJm48PXRbMV06bjx0WzBdfHx0WzFdPG59dmFyIHZmPXtzcGhlcmU6aXUscG9pbnQ6Z2YsbGluZVN0YXJ0Ol9mLGxpbmVFbmQ6eGYscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dmYubGluZVN0YXJ0PXdmLHZmLmxpbmVFbmQ9TWZ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt2Zi5saW5lU3RhcnQ9X2YsdmYubGluZUVuZD14Zn19O2Z1bmN0aW9uIGdmKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpO3lmKGUqR2EodCksZSpRYSh0KSxRYShuKSl9ZnVuY3Rpb24geWYodCxuLGUpe0l1Kz0odC1JdSkvKytCdSxIdSs9KG4tSHUpL0J1LGp1Kz0oZS1qdSkvQnV9ZnVuY3Rpb24gX2YoKXt2Zi5wb2ludD1iZn1mdW5jdGlvbiBiZih0LG4pe3QqPUlhO3ZhciBlPUdhKG4qPUlhKTtLdT1lKkdhKHQpLHRmPWUqUWEodCksbmY9UWEobiksdmYucG9pbnQ9bWYseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIG1mKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpLHI9ZSpHYSh0KSxpPWUqUWEodCksbz1RYShuKSxhPVhhKEthKChhPXRmKm8tbmYqaSkqYSsoYT1uZipyLUt1Km8pKmErKGE9S3UqaS10ZipyKSphKSxLdSpyK3RmKmkrbmYqbyk7RnUrPWEsWHUrPWEqKEt1KyhLdT1yKSksR3UrPWEqKHRmKyh0Zj1pKSksVnUrPWEqKG5mKyhuZj1vKSkseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIHhmKCl7dmYucG9pbnQ9Z2Z9ZnVuY3Rpb24gd2YoKXt2Zi5wb2ludD1BZn1mdW5jdGlvbiBNZigpe1RmKFF1LEp1KSx2Zi5wb2ludD1nZn1mdW5jdGlvbiBBZih0LG4pe1F1PXQsSnU9bix0Kj1JYSxuKj1JYSx2Zi5wb2ludD1UZjt2YXIgZT1HYShuKTtLdT1lKkdhKHQpLHRmPWUqUWEodCksbmY9UWEobikseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIFRmKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpLHI9ZSpHYSh0KSxpPWUqUWEodCksbz1RYShuKSxhPXRmKm8tbmYqaSx1PW5mKnItS3UqbyxmPUt1KmktdGYqcixjPUthKGEqYSt1KnUrZipmKSxzPWV1KGMpLGw9YyYmLXMvYzskdSs9bCphLFd1Kz1sKnUsWnUrPWwqZixGdSs9cyxYdSs9cyooS3UrKEt1PXIpKSxHdSs9cyoodGYrKHRmPWkpKSxWdSs9cyoobmYrKG5mPW8pKSx5ZihLdSx0ZixuZil9ZnVuY3Rpb24gTmYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFNmKHQsbil7ZnVuY3Rpb24gZShlLHIpe3JldHVybiBlPXQoZSxyKSxuKGVbMF0sZVsxXSl9cmV0dXJuIHQuaW52ZXJ0JiZuLmludmVydCYmKGUuaW52ZXJ0PWZ1bmN0aW9uKGUscil7cmV0dXJuKGU9bi5pbnZlcnQoZSxyKSkmJnQuaW52ZXJ0KGVbMF0sZVsxXSl9KSxlfWZ1bmN0aW9uIEVmKHQsbil7cmV0dXJuW3Q+cWE/dC1CYTp0PC1xYT90K0JhOnQsbl19ZnVuY3Rpb24ga2YodCxuLGUpe3JldHVybih0JT1CYSk/bnx8ZT9TZihQZih0KSx6ZihuLGUpKTpQZih0KTpufHxlP3pmKG4sZSk6RWZ9ZnVuY3Rpb24gQ2YodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuWyhuKz10KT5xYT9uLUJhOm48LXFhP24rQmE6bixlXX19ZnVuY3Rpb24gUGYodCl7dmFyIG49Q2YodCk7cmV0dXJuIG4uaW52ZXJ0PUNmKC10KSxufWZ1bmN0aW9uIHpmKHQsbil7dmFyIGU9R2EodCkscj1RYSh0KSxpPUdhKG4pLG89UWEobik7ZnVuY3Rpb24gYSh0LG4pe3ZhciBhPUdhKG4pLHU9R2EodCkqYSxmPVFhKHQpKmEsYz1RYShuKSxzPWMqZSt1KnI7cmV0dXJuW1hhKGYqaS1zKm8sdSplLWMqciksZXUocyppK2YqbyldfXJldHVybiBhLmludmVydD1mdW5jdGlvbih0LG4pe3ZhciBhPUdhKG4pLHU9R2EodCkqYSxmPVFhKHQpKmEsYz1RYShuKSxzPWMqaS1mKm87cmV0dXJuW1hhKGYqaStjKm8sdSplK3MqciksZXUocyplLXUqcildfSxhfWZ1bmN0aW9uIFJmKHQpe2Z1bmN0aW9uIG4obil7cmV0dXJuKG49dChuWzBdKklhLG5bMV0qSWEpKVswXSo9RmEsblsxXSo9RmEsbn1yZXR1cm4gdD1rZih0WzBdKklhLHRbMV0qSWEsdC5sZW5ndGg+Mj90WzJdKklhOjApLG4uaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybihuPXQuaW52ZXJ0KG5bMF0qSWEsblsxXSpJYSkpWzBdKj1GYSxuWzFdKj1GYSxufSxufWZ1bmN0aW9uIExmKHQsbixlLHIsaSxvKXtpZihlKXt2YXIgYT1HYShuKSx1PVFhKG4pLGY9ciplO251bGw9PWk/KGk9bityKkJhLG89bi1mLzIpOihpPURmKGEsaSksbz1EZihhLG8pLChyPjA/aTxvOmk+bykmJihpKz1yKkJhKSk7Zm9yKHZhciBjLHM9aTtyPjA/cz5vOnM8bztzLT1mKWM9TXUoW2EsLXUqR2EocyksLXUqUWEocyldKSx0LnBvaW50KGNbMF0sY1sxXSl9fWZ1bmN0aW9uIERmKHQsbil7KG49QXUobikpWzBdLT10LGt1KG4pO3ZhciBlPW51KC1uWzFdKTtyZXR1cm4oKC1uWzJdPDA/LWU6ZSkrQmEtRGEpJUJhfWZ1bmN0aW9uIFVmKCl7dmFyIHQsbj1bXTtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24obixlKXt0LnB1c2goW24sZV0pfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtuLnB1c2godD1bXSl9LGxpbmVFbmQ6aXUscmVqb2luOmZ1bmN0aW9uKCl7bi5sZW5ndGg+MSYmbi5wdXNoKG4ucG9wKCkuY29uY2F0KG4uc2hpZnQoKSkpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgZT1uO3JldHVybiBuPVtdLHQ9bnVsbCxlfX19ZnVuY3Rpb24gcWYodCxuKXtyZXR1cm4gSGEodFswXS1uWzBdKTxEYSYmSGEodFsxXS1uWzFdKTxEYX1mdW5jdGlvbiBPZih0LG4sZSxyKXt0aGlzLng9dCx0aGlzLno9bix0aGlzLm89ZSx0aGlzLmU9cix0aGlzLnY9ITEsdGhpcy5uPXRoaXMucD1udWxsfWZ1bmN0aW9uIFlmKHQsbixlLHIsaSl7dmFyIG8sYSx1PVtdLGY9W107aWYodC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCEoKG49dC5sZW5ndGgtMSk8PTApKXt2YXIgbixlLHI9dFswXSxhPXRbbl07aWYocWYocixhKSl7Zm9yKGkubGluZVN0YXJ0KCksbz0wO288bjsrK28paS5wb2ludCgocj10W29dKVswXSxyWzFdKTtpLmxpbmVFbmQoKX1lbHNlIHUucHVzaChlPW5ldyBPZihyLHQsbnVsbCwhMCkpLGYucHVzaChlLm89bmV3IE9mKHIsbnVsbCxlLCExKSksdS5wdXNoKGU9bmV3IE9mKGEsdCxudWxsLCExKSksZi5wdXNoKGUubz1uZXcgT2YoYSxudWxsLGUsITApKX19KSx1Lmxlbmd0aCl7Zm9yKGYuc29ydChuKSxCZih1KSxCZihmKSxvPTAsYT1mLmxlbmd0aDtvPGE7KytvKWZbb10uZT1lPSFlO2Zvcih2YXIgYyxzLGw9dVswXTs7KXtmb3IodmFyIGg9bCxkPSEwO2gudjspaWYoKGg9aC5uKT09PWwpcmV0dXJuO2M9aC56LGkubGluZVN0YXJ0KCk7ZG97aWYoaC52PWguby52PSEwLGguZSl7aWYoZClmb3Iobz0wLGE9Yy5sZW5ndGg7bzxhOysrbylpLnBvaW50KChzPWNbb10pWzBdLHNbMV0pO2Vsc2UgcihoLngsaC5uLngsMSxpKTtoPWgubn1lbHNle2lmKGQpZm9yKGM9aC5wLnosbz1jLmxlbmd0aC0xO28+PTA7LS1vKWkucG9pbnQoKHM9Y1tvXSlbMF0sc1sxXSk7ZWxzZSByKGgueCxoLnAueCwtMSxpKTtoPWgucH1jPShoPWgubykueixkPSFkfXdoaWxlKCFoLnYpO2kubGluZUVuZCgpfX19ZnVuY3Rpb24gQmYodCl7aWYobj10Lmxlbmd0aCl7Zm9yKHZhciBuLGUscj0wLGk9dFswXTsrK3I8bjspaS5uPWU9dFtyXSxlLnA9aSxpPWU7aS5uPWU9dFswXSxlLnA9aX19RWYuaW52ZXJ0PUVmO3ZhciBGZj1QYSgpO2Z1bmN0aW9uIElmKHQsbil7dmFyIGU9blswXSxyPW5bMV0saT1RYShyKSxvPVtRYShlKSwtR2EoZSksMF0sYT0wLHU9MDtGZi5yZXNldCgpLDE9PT1pP3I9T2ErRGE6LTE9PT1pJiYocj0tT2EtRGEpO2Zvcih2YXIgZj0wLGM9dC5sZW5ndGg7ZjxjOysrZilpZihsPShzPXRbZl0pLmxlbmd0aClmb3IodmFyIHMsbCxoPXNbbC0xXSxkPWhbMF0scD1oWzFdLzIrWWEsdj1RYShwKSxnPUdhKHApLHk9MDt5PGw7Kyt5LGQ9Yix2PXgsZz13LGg9Xyl7dmFyIF89c1t5XSxiPV9bMF0sbT1fWzFdLzIrWWEseD1RYShtKSx3PUdhKG0pLE09Yi1kLEE9TT49MD8xOi0xLFQ9QSpNLE49VD5xYSxTPXYqeDtpZihGZi5hZGQoWGEoUypBKlFhKFQpLGcqdytTKkdhKFQpKSksYSs9Tj9NK0EqQmE6TSxOXmQ+PWVeYj49ZSl7dmFyIEU9TnUoQXUoaCksQXUoXykpO2t1KEUpO3ZhciBrPU51KG8sRSk7a3Uoayk7dmFyIEM9KE5eTT49MD8tMToxKSpldShrWzJdKTsocj5DfHxyPT09QyYmKEVbMF18fEVbMV0pKSYmKHUrPU5eTT49MD8xOi0xKX19cmV0dXJuKGE8LURhfHxhPERhJiZGZjwtRGEpXjEmdX1mdW5jdGlvbiBIZih0LG4sZSxyKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG8sYSx1LGY9bihpKSxjPVVmKCkscz1uKGMpLGw9ITEsaD17cG9pbnQ6ZCxsaW5lU3RhcnQ6dixsaW5lRW5kOmcscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7aC5wb2ludD15LGgubGluZVN0YXJ0PV8saC5saW5lRW5kPWIsYT1bXSxvPVtdfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7aC5wb2ludD1kLGgubGluZVN0YXJ0PXYsaC5saW5lRW5kPWcsYT1OKGEpO3ZhciB0PUlmKG8scik7YS5sZW5ndGg/KGx8fChpLnBvbHlnb25TdGFydCgpLGw9ITApLFlmKGEsWGYsdCxlLGkpKTp0JiYobHx8KGkucG9seWdvblN0YXJ0KCksbD0hMCksaS5saW5lU3RhcnQoKSxlKG51bGwsbnVsbCwxLGkpLGkubGluZUVuZCgpKSxsJiYoaS5wb2x5Z29uRW5kKCksbD0hMSksYT1vPW51bGx9LHNwaGVyZTpmdW5jdGlvbigpe2kucG9seWdvblN0YXJ0KCksaS5saW5lU3RhcnQoKSxlKG51bGwsbnVsbCwxLGkpLGkubGluZUVuZCgpLGkucG9seWdvbkVuZCgpfX07ZnVuY3Rpb24gZChuLGUpe3QobixlKSYmaS5wb2ludChuLGUpfWZ1bmN0aW9uIHAodCxuKXtmLnBvaW50KHQsbil9ZnVuY3Rpb24gdigpe2gucG9pbnQ9cCxmLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGcoKXtoLnBvaW50PWQsZi5saW5lRW5kKCl9ZnVuY3Rpb24geSh0LG4pe3UucHVzaChbdCxuXSkscy5wb2ludCh0LG4pfWZ1bmN0aW9uIF8oKXtzLmxpbmVTdGFydCgpLHU9W119ZnVuY3Rpb24gYigpe3kodVswXVswXSx1WzBdWzFdKSxzLmxpbmVFbmQoKTt2YXIgdCxuLGUscixmPXMuY2xlYW4oKSxoPWMucmVzdWx0KCksZD1oLmxlbmd0aDtpZih1LnBvcCgpLG8ucHVzaCh1KSx1PW51bGwsZClpZigxJmYpe2lmKChuPShlPWhbMF0pLmxlbmd0aC0xKT4wKXtmb3IobHx8KGkucG9seWdvblN0YXJ0KCksbD0hMCksaS5saW5lU3RhcnQoKSx0PTA7dDxuOysrdClpLnBvaW50KChyPWVbdF0pWzBdLHJbMV0pO2kubGluZUVuZCgpfX1lbHNlIGQ+MSYmMiZmJiZoLnB1c2goaC5wb3AoKS5jb25jYXQoaC5zaGlmdCgpKSksYS5wdXNoKGguZmlsdGVyKGpmKSl9cmV0dXJuIGh9fWZ1bmN0aW9uIGpmKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIFhmKHQsbil7cmV0dXJuKCh0PXQueClbMF08MD90WzFdLU9hLURhOk9hLXRbMV0pLSgobj1uLngpWzBdPDA/blsxXS1PYS1EYTpPYS1uWzFdKX12YXIgR2Y9SGYoZnVuY3Rpb24oKXtyZXR1cm4hMH0sZnVuY3Rpb24odCl7dmFyIG4sZT1OYU4scj1OYU4saT1OYU47cmV0dXJue2xpbmVTdGFydDpmdW5jdGlvbigpe3QubGluZVN0YXJ0KCksbj0xfSxwb2ludDpmdW5jdGlvbihvLGEpe3ZhciB1PW8+MD9xYTotcWEsZj1IYShvLWUpO0hhKGYtcWEpPERhPyh0LnBvaW50KGUscj0ocithKS8yPjA/T2E6LU9hKSx0LnBvaW50KGksciksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KHUsciksdC5wb2ludChvLHIpLG49MCk6aSE9PXUmJmY+PXFhJiYoSGEoZS1pKTxEYSYmKGUtPWkqRGEpLEhhKG8tdSk8RGEmJihvLT11KkRhKSxyPWZ1bmN0aW9uKHQsbixlLHIpe3ZhciBpLG8sYT1RYSh0LWUpO3JldHVybiBIYShhKT5EYT9qYSgoUWEobikqKG89R2EocikpKlFhKGUpLVFhKHIpKihpPUdhKG4pKSpRYSh0KSkvKGkqbyphKSk6KG4rcikvMn0oZSxyLG8sYSksdC5wb2ludChpLHIpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludCh1LHIpLG49MCksdC5wb2ludChlPW8scj1hKSxpPXV9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxlPXI9TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLW59fX0sZnVuY3Rpb24odCxuLGUscil7dmFyIGk7aWYobnVsbD09dClpPWUqT2Esci5wb2ludCgtcWEsaSksci5wb2ludCgwLGkpLHIucG9pbnQocWEsaSksci5wb2ludChxYSwwKSxyLnBvaW50KHFhLC1pKSxyLnBvaW50KDAsLWkpLHIucG9pbnQoLXFhLC1pKSxyLnBvaW50KC1xYSwwKSxyLnBvaW50KC1xYSxpKTtlbHNlIGlmKEhhKHRbMF0tblswXSk+RGEpe3ZhciBvPXRbMF08blswXT9xYTotcWE7aT1lKm8vMixyLnBvaW50KC1vLGkpLHIucG9pbnQoMCxpKSxyLnBvaW50KG8saSl9ZWxzZSByLnBvaW50KG5bMF0sblsxXSl9LFstcWEsLU9hXSk7ZnVuY3Rpb24gVmYodCl7dmFyIG49R2EodCksZT02KklhLHI9bj4wLGk9SGEobik+RGE7ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBHYSh0KSpHYShlKT5ufWZ1bmN0aW9uIGEodCxlLHIpe3ZhciBpPVsxLDAsMF0sbz1OdShBdSh0KSxBdShlKSksYT1UdShvLG8pLHU9b1swXSxmPWEtdSp1O2lmKCFmKXJldHVybiFyJiZ0O3ZhciBjPW4qYS9mLHM9LW4qdS9mLGw9TnUoaSxvKSxoPUV1KGksYyk7U3UoaCxFdShvLHMpKTt2YXIgZD1sLHA9VHUoaCxkKSx2PVR1KGQsZCksZz1wKnAtdiooVHUoaCxoKS0xKTtpZighKGc8MCkpe3ZhciB5PUthKGcpLF89RXUoZCwoLXAteSkvdik7aWYoU3UoXyxoKSxfPU11KF8pLCFyKXJldHVybiBfO3ZhciBiLG09dFswXSx4PWVbMF0sdz10WzFdLE09ZVsxXTt4PG0mJihiPW0sbT14LHg9Yik7dmFyIEE9eC1tLFQ9SGEoQS1xYSk8RGE7aWYoIVQmJk08dyYmKGI9dyx3PU0sTT1iKSxUfHxBPERhP1Q/dytNPjBeX1sxXTwoSGEoX1swXS1tKTxEYT93Ok0pOnc8PV9bMV0mJl9bMV08PU06QT5xYV4obTw9X1swXSYmX1swXTw9eCkpe3ZhciBOPUV1KGQsKC1wK3kpL3YpO3JldHVybiBTdShOLGgpLFtfLE11KE4pXX19fWZ1bmN0aW9uIHUobixlKXt2YXIgaT1yP3Q6cWEtdCxvPTA7cmV0dXJuIG48LWk/b3w9MTpuPmkmJihvfD0yKSxlPC1pP298PTQ6ZT5pJiYob3w9OCksb31yZXR1cm4gSGYobyxmdW5jdGlvbih0KXt2YXIgbixlLGYsYyxzO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtjPWY9ITEscz0xfSxwb2ludDpmdW5jdGlvbihsLGgpe3ZhciBkLHA9W2wsaF0sdj1vKGwsaCksZz1yP3Y/MDp1KGwsaCk6dj91KGwrKGw8MD9xYTotcWEpLGgpOjA7aWYoIW4mJihjPWY9dikmJnQubGluZVN0YXJ0KCksdiE9PWYmJighKGQ9YShuLHApKXx8cWYobixkKXx8cWYocCxkKSkmJihwWzBdKz1EYSxwWzFdKz1EYSx2PW8ocFswXSxwWzFdKSksdiE9PWYpcz0wLHY/KHQubGluZVN0YXJ0KCksZD1hKHAsbiksdC5wb2ludChkWzBdLGRbMV0pKTooZD1hKG4scCksdC5wb2ludChkWzBdLGRbMV0pLHQubGluZUVuZCgpKSxuPWQ7ZWxzZSBpZihpJiZuJiZyXnYpe3ZhciB5O2cmZXx8ISh5PWEocCxuLCEwKSl8fChzPTAscj8odC5saW5lU3RhcnQoKSx0LnBvaW50KHlbMF1bMF0seVswXVsxXSksdC5wb2ludCh5WzFdWzBdLHlbMV1bMV0pLHQubGluZUVuZCgpKToodC5wb2ludCh5WzFdWzBdLHlbMV1bMV0pLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludCh5WzBdWzBdLHlbMF1bMV0pKSl9IXZ8fG4mJnFmKG4scCl8fHQucG9pbnQocFswXSxwWzFdKSxuPXAsZj12LGU9Z30sbGluZUVuZDpmdW5jdGlvbigpe2YmJnQubGluZUVuZCgpLG49bnVsbH0sY2xlYW46ZnVuY3Rpb24oKXtyZXR1cm4gc3woYyYmZik8PDF9fX0sZnVuY3Rpb24obixyLGksbyl7TGYobyx0LGUsaSxuLHIpfSxyP1swLC10XTpbLXFhLHQtcWFdKX12YXIgJGY9MWU5LFdmPS0kZjtmdW5jdGlvbiBaZih0LG4sZSxyKXtmdW5jdGlvbiBpKGksbyl7cmV0dXJuIHQ8PWkmJmk8PWUmJm48PW8mJm88PXJ9ZnVuY3Rpb24gbyhpLG8sdSxjKXt2YXIgcz0wLGw9MDtpZihudWxsPT1pfHwocz1hKGksdSkpIT09KGw9YShvLHUpKXx8ZihpLG8pPDBedT4wKWRve2MucG9pbnQoMD09PXN8fDM9PT1zP3Q6ZSxzPjE/cjpuKX13aGlsZSgocz0ocyt1KzQpJTQpIT09bCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShyLGkpe3JldHVybiBIYShyWzBdLXQpPERhP2k+MD8wOjM6SGEoclswXS1lKTxEYT9pPjA/MjoxOkhhKHJbMV0tbik8RGE/aT4wPzE6MDppPjA/MzoyfWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gZih0Lngsbi54KX1mdW5jdGlvbiBmKHQsbil7dmFyIGU9YSh0LDEpLHI9YShuLDEpO3JldHVybiBlIT09cj9lLXI6MD09PWU/blsxXS10WzFdOjE9PT1lP3RbMF0tblswXToyPT09ZT90WzFdLW5bMV06blswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgZixjLHMsbCxoLGQscCx2LGcseSxfLGI9YSxtPVVmKCkseD17cG9pbnQ6dyxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt4LnBvaW50PU0sYyYmYy5wdXNoKHM9W10pO3k9ITAsZz0hMSxwPXY9TmFOfSxsaW5lRW5kOmZ1bmN0aW9uKCl7ZiYmKE0obCxoKSxkJiZnJiZtLnJlam9pbigpLGYucHVzaChtLnJlc3VsdCgpKSk7eC5wb2ludD13LGcmJmIubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtiPW0sZj1bXSxjPVtdLF89ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbigpe2Zvcih2YXIgbj0wLGU9MCxpPWMubGVuZ3RoO2U8aTsrK2UpZm9yKHZhciBvLGEsdT1jW2VdLGY9MSxzPXUubGVuZ3RoLGw9dVswXSxoPWxbMF0sZD1sWzFdO2Y8czsrK2Ypbz1oLGE9ZCxsPXVbZl0saD1sWzBdLGQ9bFsxXSxhPD1yP2Q+ciYmKGgtbykqKHItYSk+KGQtYSkqKHQtbykmJisrbjpkPD1yJiYoaC1vKSooci1hKTwoZC1hKSoodC1vKSYmLS1uO3JldHVybiBufSgpLGU9XyYmbixpPShmPU4oZikpLmxlbmd0aDsoZXx8aSkmJihhLnBvbHlnb25TdGFydCgpLGUmJihhLmxpbmVTdGFydCgpLG8obnVsbCxudWxsLDEsYSksYS5saW5lRW5kKCkpLGkmJllmKGYsdSxuLG8sYSksYS5wb2x5Z29uRW5kKCkpO2I9YSxmPWM9cz1udWxsfX07ZnVuY3Rpb24gdyh0LG4pe2kodCxuKSYmYi5wb2ludCh0LG4pfWZ1bmN0aW9uIE0obyxhKXt2YXIgdT1pKG8sYSk7aWYoYyYmcy5wdXNoKFtvLGFdKSx5KWw9byxoPWEsZD11LHk9ITEsdSYmKGIubGluZVN0YXJ0KCksYi5wb2ludChvLGEpKTtlbHNlIGlmKHUmJmcpYi5wb2ludChvLGEpO2Vsc2V7dmFyIGY9W3A9TWF0aC5tYXgoV2YsTWF0aC5taW4oJGYscCkpLHY9TWF0aC5tYXgoV2YsTWF0aC5taW4oJGYsdikpXSxtPVtvPU1hdGgubWF4KFdmLE1hdGgubWluKCRmLG8pKSxhPU1hdGgubWF4KFdmLE1hdGgubWluKCRmLGEpKV07IWZ1bmN0aW9uKHQsbixlLHIsaSxvKXt2YXIgYSx1PXRbMF0sZj10WzFdLGM9MCxzPTEsbD1uWzBdLXUsaD1uWzFdLWY7aWYoYT1lLXUsbHx8IShhPjApKXtpZihhLz1sLGw8MCl7aWYoYTxjKXJldHVybjthPHMmJihzPWEpfWVsc2UgaWYobD4wKXtpZihhPnMpcmV0dXJuO2E+YyYmKGM9YSl9aWYoYT1pLXUsbHx8IShhPDApKXtpZihhLz1sLGw8MCl7aWYoYT5zKXJldHVybjthPmMmJihjPWEpfWVsc2UgaWYobD4wKXtpZihhPGMpcmV0dXJuO2E8cyYmKHM9YSl9aWYoYT1yLWYsaHx8IShhPjApKXtpZihhLz1oLGg8MCl7aWYoYTxjKXJldHVybjthPHMmJihzPWEpfWVsc2UgaWYoaD4wKXtpZihhPnMpcmV0dXJuO2E+YyYmKGM9YSl9aWYoYT1vLWYsaHx8IShhPDApKXtpZihhLz1oLGg8MCl7aWYoYT5zKXJldHVybjthPmMmJihjPWEpfWVsc2UgaWYoaD4wKXtpZihhPGMpcmV0dXJuO2E8cyYmKHM9YSl9cmV0dXJuIGM+MCYmKHRbMF09dStjKmwsdFsxXT1mK2MqaCksczwxJiYoblswXT11K3MqbCxuWzFdPWYrcypoKSwhMH19fX19KGYsbSx0LG4sZSxyKT91JiYoYi5saW5lU3RhcnQoKSxiLnBvaW50KG8sYSksXz0hMSk6KGd8fChiLmxpbmVTdGFydCgpLGIucG9pbnQoZlswXSxmWzFdKSksYi5wb2ludChtWzBdLG1bMV0pLHV8fGIubGluZUVuZCgpLF89ITEpfXA9byx2PWEsZz11fXJldHVybiB4fX12YXIgUWYsSmYsS2YsdGM9UGEoKSxuYz17c3BoZXJlOml1LHBvaW50Oml1LGxpbmVTdGFydDpmdW5jdGlvbigpe25jLnBvaW50PXJjLG5jLmxpbmVFbmQ9ZWN9LGxpbmVFbmQ6aXUscG9seWdvblN0YXJ0Oml1LHBvbHlnb25FbmQ6aXV9O2Z1bmN0aW9uIGVjKCl7bmMucG9pbnQ9bmMubGluZUVuZD1pdX1mdW5jdGlvbiByYyh0LG4pe1FmPXQqPUlhLEpmPVFhKG4qPUlhKSxLZj1HYShuKSxuYy5wb2ludD1pY31mdW5jdGlvbiBpYyh0LG4pe3QqPUlhO3ZhciBlPVFhKG4qPUlhKSxyPUdhKG4pLGk9SGEodC1RZiksbz1HYShpKSxhPXIqUWEoaSksdT1LZiplLUpmKnIqbyxmPUpmKmUrS2YqcipvO3RjLmFkZChYYShLYShhKmErdSp1KSxmKSksUWY9dCxKZj1lLEtmPXJ9ZnVuY3Rpb24gb2ModCl7cmV0dXJuIHRjLnJlc2V0KCksc3UodCxuYyksK3RjfXZhciBhYz1bbnVsbCxudWxsXSx1Yz17dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6YWN9O2Z1bmN0aW9uIGZjKHQsbil7cmV0dXJuIGFjWzBdPXQsYWNbMV09bixvYyh1Yyl9dmFyIGNjPXtGZWF0dXJlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGxjKHQuZ2VvbWV0cnksbil9LEZlYXR1cmVDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuZmVhdHVyZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihsYyhlW3JdLmdlb21ldHJ5LG4pKXJldHVybiEwO3JldHVybiExfX0sc2M9e1NwaGVyZTpmdW5jdGlvbigpe3JldHVybiEwfSxQb2ludDpmdW5jdGlvbih0LG4pe3JldHVybiBoYyh0LmNvb3JkaW5hdGVzLG4pfSxNdWx0aVBvaW50OmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuY29vcmRpbmF0ZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihoYyhlW3JdLG4pKXJldHVybiEwO3JldHVybiExfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGRjKHQuY29vcmRpbmF0ZXMsbil9LE11bHRpTGluZVN0cmluZzpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspaWYoZGMoZVtyXSxuKSlyZXR1cm4hMDtyZXR1cm4hMX0sUG9seWdvbjpmdW5jdGlvbih0LG4pe3JldHVybiBwYyh0LmNvb3JkaW5hdGVzLG4pfSxNdWx0aVBvbHlnb246ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9dC5jb29yZGluYXRlcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KWlmKHBjKGVbcl0sbikpcmV0dXJuITA7cmV0dXJuITF9LEdlb21ldHJ5Q29sbGVjdGlvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10Lmdlb21ldHJpZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihsYyhlW3JdLG4pKXJldHVybiEwO3JldHVybiExfX07ZnVuY3Rpb24gbGModCxuKXtyZXR1cm4hKCF0fHwhc2MuaGFzT3duUHJvcGVydHkodC50eXBlKSkmJnNjW3QudHlwZV0odCxuKX1mdW5jdGlvbiBoYyh0LG4pe3JldHVybiAwPT09ZmModCxuKX1mdW5jdGlvbiBkYyh0LG4pe3ZhciBlPWZjKHRbMF0sdFsxXSk7cmV0dXJuIGZjKHRbMF0sbikrZmMobix0WzFdKTw9ZStEYX1mdW5jdGlvbiBwYyh0LG4pe3JldHVybiEhSWYodC5tYXAodmMpLGdjKG4pKX1mdW5jdGlvbiB2Yyh0KXtyZXR1cm4odD10Lm1hcChnYykpLnBvcCgpLHR9ZnVuY3Rpb24gZ2ModCl7cmV0dXJuW3RbMF0qSWEsdFsxXSpJYV19ZnVuY3Rpb24geWModCxuLGUpe3ZhciByPWcodCxuLURhLGUpLmNvbmNhdChuKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHIubWFwKGZ1bmN0aW9uKG4pe3JldHVyblt0LG5dfSl9fWZ1bmN0aW9uIF9jKHQsbixlKXt2YXIgcj1nKHQsbi1EYSxlKS5jb25jYXQobik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLm1hcChmdW5jdGlvbihuKXtyZXR1cm5bbix0XX0pfX1mdW5jdGlvbiBiYygpe3ZhciB0LG4sZSxyLGksbyxhLHUsZixjLHMsbCxoPTEwLGQ9aCxwPTkwLHY9MzYwLHk9Mi41O2Z1bmN0aW9uIF8oKXtyZXR1cm57dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczpiKCl9fWZ1bmN0aW9uIGIoKXtyZXR1cm4gZyhWYShyL3ApKnAsZSxwKS5tYXAocykuY29uY2F0KGcoVmEodS92KSp2LGEsdikubWFwKGwpKS5jb25jYXQoZyhWYShuL2gpKmgsdCxoKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIEhhKHQlcCk+RGF9KS5tYXAoZikpLmNvbmNhdChnKFZhKG8vZCkqZCxpLGQpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gSGEodCV2KT5EYX0pLm1hcChjKSl9cmV0dXJuIF8ubGluZXM9ZnVuY3Rpb24oKXtyZXR1cm4gYigpLm1hcChmdW5jdGlvbih0KXtyZXR1cm57dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH19KX0sXy5vdXRsaW5lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOltzKHIpLmNvbmNhdChsKGEpLnNsaWNlKDEpLHMoZSkucmV2ZXJzZSgpLnNsaWNlKDEpLGwodSkucmV2ZXJzZSgpLnNsaWNlKDEpKV19fSxfLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLmV4dGVudE1ham9yKHQpLmV4dGVudE1pbm9yKHQpOl8uZXh0ZW50TWlub3IoKX0sXy5leHRlbnRNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXVswXSxlPSt0WzFdWzBdLHU9K3RbMF1bMV0sYT0rdFsxXVsxXSxyPmUmJih0PXIscj1lLGU9dCksdT5hJiYodD11LHU9YSxhPXQpLF8ucHJlY2lzaW9uKHkpKTpbW3IsdV0sW2UsYV1dfSxfLmV4dGVudE1pbm9yPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPStlWzBdWzBdLHQ9K2VbMV1bMF0sbz0rZVswXVsxXSxpPStlWzFdWzFdLG4+dCYmKGU9bixuPXQsdD1lKSxvPmkmJihlPW8sbz1pLGk9ZSksXy5wcmVjaXNpb24oeSkpOltbbixvXSxbdCxpXV19LF8uc3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLnN0ZXBNYWpvcih0KS5zdGVwTWlub3IodCk6Xy5zdGVwTWlub3IoKX0sXy5zdGVwTWFqb3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHA9K3RbMF0sdj0rdFsxXSxfKTpbcCx2XX0sXy5zdGVwTWlub3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9K3RbMF0sZD0rdFsxXSxfKTpbaCxkXX0sXy5wcmVjaXNpb249ZnVuY3Rpb24oaCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHk9K2gsZj15YyhvLGksOTApLGM9X2Mobix0LHkpLHM9eWModSxhLDkwKSxsPV9jKHIsZSx5KSxfKTp5fSxfLmV4dGVudE1ham9yKFtbLTE4MCwtOTArRGFdLFsxODAsOTAtRGFdXSkuZXh0ZW50TWlub3IoW1stMTgwLC04MC1EYV0sWzE4MCw4MCtEYV1dKX1mdW5jdGlvbiBtYyh0KXtyZXR1cm4gdH12YXIgeGMsd2MsTWMsQWMsVGM9UGEoKSxOYz1QYSgpLFNjPXtwb2ludDppdSxsaW5lU3RhcnQ6aXUsbGluZUVuZDppdSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtTYy5saW5lU3RhcnQ9RWMsU2MubGluZUVuZD1QY30scG9seWdvbkVuZDpmdW5jdGlvbigpe1NjLmxpbmVTdGFydD1TYy5saW5lRW5kPVNjLnBvaW50PWl1LFRjLmFkZChIYShOYykpLE5jLnJlc2V0KCl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PVRjLzI7cmV0dXJuIFRjLnJlc2V0KCksdH19O2Z1bmN0aW9uIEVjKCl7U2MucG9pbnQ9a2N9ZnVuY3Rpb24ga2ModCxuKXtTYy5wb2ludD1DYyx4Yz1NYz10LHdjPUFjPW59ZnVuY3Rpb24gQ2ModCxuKXtOYy5hZGQoQWMqdC1NYypuKSxNYz10LEFjPW59ZnVuY3Rpb24gUGMoKXtDYyh4Yyx3Yyl9dmFyIHpjPTEvMCxSYz16YyxMYz0temMsRGM9TGMsVWM9e3BvaW50OmZ1bmN0aW9uKHQsbil7dDx6YyYmKHpjPXQpO3Q+TGMmJihMYz10KTtuPFJjJiYoUmM9bik7bj5EYyYmKERjPW4pfSxsaW5lU3RhcnQ6aXUsbGluZUVuZDppdSxwb2x5Z29uU3RhcnQ6aXUscG9seWdvbkVuZDppdSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1bW3pjLFJjXSxbTGMsRGNdXTtyZXR1cm4gTGM9RGM9LShSYz16Yz0xLzApLHR9fTt2YXIgcWMsT2MsWWMsQmMsRmM9MCxJYz0wLEhjPTAsamM9MCxYYz0wLEdjPTAsVmM9MCwkYz0wLFdjPTAsWmM9e3BvaW50OlFjLGxpbmVTdGFydDpKYyxsaW5lRW5kOm5zLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe1pjLmxpbmVTdGFydD1lcyxaYy5saW5lRW5kPXJzfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7WmMucG9pbnQ9UWMsWmMubGluZVN0YXJ0PUpjLFpjLmxpbmVFbmQ9bnN9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PVdjP1tWYy9XYywkYy9XY106R2M/W2pjL0djLFhjL0djXTpIYz9bRmMvSGMsSWMvSGNdOltOYU4sTmFOXTtyZXR1cm4gRmM9SWM9SGM9amM9WGM9R2M9VmM9JGM9V2M9MCx0fX07ZnVuY3Rpb24gUWModCxuKXtGYys9dCxJYys9biwrK0hjfWZ1bmN0aW9uIEpjKCl7WmMucG9pbnQ9S2N9ZnVuY3Rpb24gS2ModCxuKXtaYy5wb2ludD10cyxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIHRzKHQsbil7dmFyIGU9dC1ZYyxyPW4tQmMsaT1LYShlKmUrcipyKTtqYys9aSooWWMrdCkvMixYYys9aSooQmMrbikvMixHYys9aSxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIG5zKCl7WmMucG9pbnQ9UWN9ZnVuY3Rpb24gZXMoKXtaYy5wb2ludD1pc31mdW5jdGlvbiBycygpe29zKHFjLE9jKX1mdW5jdGlvbiBpcyh0LG4pe1pjLnBvaW50PW9zLFFjKHFjPVljPXQsT2M9QmM9bil9ZnVuY3Rpb24gb3ModCxuKXt2YXIgZT10LVljLHI9bi1CYyxpPUthKGUqZStyKnIpO2pjKz1pKihZYyt0KS8yLFhjKz1pKihCYytuKS8yLEdjKz1pLFZjKz0oaT1CYyp0LVljKm4pKihZYyt0KSwkYys9aSooQmMrbiksV2MrPTMqaSxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIGFzKHQpe3RoaXMuX2NvbnRleHQ9dH1hcy5wcm90b3R5cGU9e19yYWRpdXM6NC41LHBvaW50UmFkaXVzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yYWRpdXM9dCx0aGlzfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA9PT10aGlzLl9saW5lJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX3BvaW50PU5hTn0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LG4pLHRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX2NvbnRleHQubGluZVRvKHQsbik7YnJlYWs7ZGVmYXVsdDp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0K3RoaXMuX3JhZGl1cyxuKSx0aGlzLl9jb250ZXh0LmFyYyh0LG4sdGhpcy5fcmFkaXVzLDAsQmEpfX0scmVzdWx0Oml1fTt2YXIgdXMsZnMsY3Msc3MsbHMsaHM9UGEoKSxkcz17cG9pbnQ6aXUsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ZHMucG9pbnQ9cHN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt1cyYmdnMoZnMsY3MpLGRzLnBvaW50PWl1fSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt1cz0hMH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3VzPW51bGx9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PStocztyZXR1cm4gaHMucmVzZXQoKSx0fX07ZnVuY3Rpb24gcHModCxuKXtkcy5wb2ludD12cyxmcz1zcz10LGNzPWxzPW59ZnVuY3Rpb24gdnModCxuKXtzcy09dCxscy09bixocy5hZGQoS2Eoc3Mqc3MrbHMqbHMpKSxzcz10LGxzPW59ZnVuY3Rpb24gZ3MoKXt0aGlzLl9zdHJpbmc9W119ZnVuY3Rpb24geXModCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9ZnVuY3Rpb24gX3ModCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPW5ldyBicztmb3IodmFyIHIgaW4gdCllW3JdPXRbcl07cmV0dXJuIGUuc3RyZWFtPW4sZX19ZnVuY3Rpb24gYnMoKXt9ZnVuY3Rpb24gbXModCxuLGUpe3ZhciByPXQuY2xpcEV4dGVudCYmdC5jbGlwRXh0ZW50KCk7cmV0dXJuIHQuc2NhbGUoMTUwKS50cmFuc2xhdGUoWzAsMF0pLG51bGwhPXImJnQuY2xpcEV4dGVudChudWxsKSxzdShlLHQuc3RyZWFtKFVjKSksbihVYy5yZXN1bHQoKSksbnVsbCE9ciYmdC5jbGlwRXh0ZW50KHIpLHR9ZnVuY3Rpb24geHModCxuLGUpe3JldHVybiBtcyh0LGZ1bmN0aW9uKGUpe3ZhciByPW5bMV1bMF0tblswXVswXSxpPW5bMV1bMV0tblswXVsxXSxvPU1hdGgubWluKHIvKGVbMV1bMF0tZVswXVswXSksaS8oZVsxXVsxXS1lWzBdWzFdKSksYT0rblswXVswXSsoci1vKihlWzFdWzBdK2VbMF1bMF0pKS8yLHU9K25bMF1bMV0rKGktbyooZVsxXVsxXStlWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpvKS50cmFuc2xhdGUoW2EsdV0pfSxlKX1mdW5jdGlvbiB3cyh0LG4sZSl7cmV0dXJuIHhzKHQsW1swLDBdLG5dLGUpfWZ1bmN0aW9uIE1zKHQsbixlKXtyZXR1cm4gbXModCxmdW5jdGlvbihlKXt2YXIgcj0rbixpPXIvKGVbMV1bMF0tZVswXVswXSksbz0oci1pKihlWzFdWzBdK2VbMF1bMF0pKS8yLGE9LWkqZVswXVsxXTt0LnNjYWxlKDE1MCppKS50cmFuc2xhdGUoW28sYV0pfSxlKX1mdW5jdGlvbiBBcyh0LG4sZSl7cmV0dXJuIG1zKHQsZnVuY3Rpb24oZSl7dmFyIHI9K24saT1yLyhlWzFdWzFdLWVbMF1bMV0pLG89LWkqZVswXVswXSxhPShyLWkqKGVbMV1bMV0rZVswXVsxXSkpLzI7dC5zY2FsZSgxNTAqaSkudHJhbnNsYXRlKFtvLGFdKX0sZSl9Z3MucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxfY2lyY2xlOnlzKDQuNSkscG9pbnRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9K3QpIT09dGhpcy5fcmFkaXVzJiYodGhpcy5fcmFkaXVzPXQsdGhpcy5fY2lyY2xlPW51bGwpLHRoaXN9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7MD09PXRoaXMuX2xpbmUmJnRoaXMuX3N0cmluZy5wdXNoKCJaIiksdGhpcy5fcG9pbnQ9TmFOfSxwb2ludDpmdW5jdGlvbih0LG4pe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3N0cmluZy5wdXNoKCJNIix0LCIsIixuKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9zdHJpbmcucHVzaCgiTCIsdCwiLCIsbik7YnJlYWs7ZGVmYXVsdDpudWxsPT10aGlzLl9jaXJjbGUmJih0aGlzLl9jaXJjbGU9eXModGhpcy5fcmFkaXVzKSksdGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLG4sdGhpcy5fY2lyY2xlKX19LHJlc3VsdDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0cmluZy5sZW5ndGgpe3ZhciB0PXRoaXMuX3N0cmluZy5qb2luKCIiKTtyZXR1cm4gdGhpcy5fc3RyaW5nPVtdLHR9cmV0dXJuIG51bGx9fSxicy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmJzLHBvaW50OmZ1bmN0aW9uKHQsbil7dGhpcy5zdHJlYW0ucG9pbnQodCxuKX0sc3BoZXJlOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25FbmQoKX19O3ZhciBUcz0xNixOcz1HYSgzMCpJYSk7ZnVuY3Rpb24gU3ModCxuKXtyZXR1cm4rbj9mdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUocixpLG8sYSx1LGYsYyxzLGwsaCxkLHAsdixnKXt2YXIgeT1jLXIsXz1zLWksYj15KnkrXypfO2lmKGI+NCpuJiZ2LS0pe3ZhciBtPWEraCx4PXUrZCx3PWYrcCxNPUthKG0qbSt4Kngrdyp3KSxBPWV1KHcvPU0pLFQ9SGEoSGEodyktMSk8RGF8fEhhKG8tbCk8RGE/KG8rbCkvMjpYYSh4LG0pLE49dChULEEpLFM9TlswXSxFPU5bMV0saz1TLXIsQz1FLWksUD1fKmsteSpDOyhQKlAvYj5ufHxIYSgoeSprK18qQykvYi0uNSk+LjN8fGEqaCt1KmQrZipwPE5zKSYmKGUocixpLG8sYSx1LGYsUyxFLFQsbS89TSx4Lz1NLHcsdixnKSxnLnBvaW50KFMsRSksZShTLEUsVCxtLHgsdyxjLHMsbCxoLGQscCx2LGcpKX19cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByLGksbyxhLHUsZixjLHMsbCxoLGQscCx2PXtwb2ludDpnLGxpbmVTdGFydDp5LGxpbmVFbmQ6Yixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtuLnBvbHlnb25TdGFydCgpLHYubGluZVN0YXJ0PW19LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtuLnBvbHlnb25FbmQoKSx2LmxpbmVTdGFydD15fX07ZnVuY3Rpb24gZyhlLHIpe2U9dChlLHIpLG4ucG9pbnQoZVswXSxlWzFdKX1mdW5jdGlvbiB5KCl7cz1OYU4sdi5wb2ludD1fLG4ubGluZVN0YXJ0KCl9ZnVuY3Rpb24gXyhyLGkpe3ZhciBvPUF1KFtyLGldKSxhPXQocixpKTtlKHMsbCxjLGgsZCxwLHM9YVswXSxsPWFbMV0sYz1yLGg9b1swXSxkPW9bMV0scD1vWzJdLFRzLG4pLG4ucG9pbnQocyxsKX1mdW5jdGlvbiBiKCl7di5wb2ludD1nLG4ubGluZUVuZCgpfWZ1bmN0aW9uIG0oKXt5KCksdi5wb2ludD14LHYubGluZUVuZD13fWZ1bmN0aW9uIHgodCxuKXtfKHI9dCxuKSxpPXMsbz1sLGE9aCx1PWQsZj1wLHYucG9pbnQ9X31mdW5jdGlvbiB3KCl7ZShzLGwsYyxoLGQscCxpLG8scixhLHUsZixUcyxuKSx2LmxpbmVFbmQ9YixiKCl9cmV0dXJuIHZ9fSh0LG4pOmZ1bmN0aW9uKHQpe3JldHVybiBfcyh7cG9pbnQ6ZnVuY3Rpb24obixlKXtuPXQobixlKSx0aGlzLnN0cmVhbS5wb2ludChuWzBdLG5bMV0pfX0pfSh0KX12YXIgRXM9X3Moe3BvaW50OmZ1bmN0aW9uKHQsbil7dGhpcy5zdHJlYW0ucG9pbnQodCpJYSxuKklhKX19KTtmdW5jdGlvbiBrcyh0LG4sZSxyKXt2YXIgaT1HYShyKSxvPVFhKHIpLGE9aSp0LHU9byp0LGY9aS90LGM9by90LHM9KG8qZS1pKm4pL3QsbD0obypuK2kqZSkvdDtmdW5jdGlvbiBoKHQscil7cmV0dXJuW2EqdC11KnIrbixlLXUqdC1hKnJdfXJldHVybiBoLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVybltmKnQtYypuK3MsbC1jKnQtZipuXX0saH1mdW5jdGlvbiBDcyh0KXtyZXR1cm4gUHMoZnVuY3Rpb24oKXtyZXR1cm4gdH0pKCl9ZnVuY3Rpb24gUHModCl7dmFyIG4sZSxyLGksbyxhLHUsZixjLHMsbD0xNTAsaD00ODAsZD0yNTAscD0wLHY9MCxnPTAseT0wLF89MCxiPTAsbT1udWxsLHg9R2Ysdz1udWxsLE09bWMsQT0uNTtmdW5jdGlvbiBUKHQpe3JldHVybiBmKHRbMF0qSWEsdFsxXSpJYSl9ZnVuY3Rpb24gTih0KXtyZXR1cm4odD1mLmludmVydCh0WzBdLHRbMV0pKSYmW3RbMF0qRmEsdFsxXSpGYV19ZnVuY3Rpb24gUygpe3ZhciB0PWtzKGwsMCwwLGIpLmFwcGx5KG51bGwsbihwLHYpKSxyPShiP2tzOmZ1bmN0aW9uKHQsbixlKXtmdW5jdGlvbiByKHIsaSl7cmV0dXJuW24rdCpyLGUtdCppXX1yZXR1cm4gci5pbnZlcnQ9ZnVuY3Rpb24ocixpKXtyZXR1cm5bKHItbikvdCwoZS1pKS90XX0scn0pKGwsaC10WzBdLGQtdFsxXSxiKTtyZXR1cm4gZT1rZihnLHksXyksdT1TZihuLHIpLGY9U2YoZSx1KSxhPVNzKHUsQSksRSgpfWZ1bmN0aW9uIEUoKXtyZXR1cm4gYz1zPW51bGwsVH1yZXR1cm4gVC5zdHJlYW09ZnVuY3Rpb24odCl7cmV0dXJuIGMmJnM9PT10P2M6Yz1FcyhmdW5jdGlvbih0KXtyZXR1cm4gX3Moe3BvaW50OmZ1bmN0aW9uKG4sZSl7dmFyIHI9dChuLGUpO3JldHVybiB0aGlzLnN0cmVhbS5wb2ludChyWzBdLHJbMV0pfX0pfShlKSh4KGEoTShzPXQpKSkpKX0sVC5wcmVjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh4PXQsbT12b2lkIDAsRSgpKTp4fSxULnBvc3RjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhNPXQsdz1yPWk9bz1udWxsLEUoKSk6TX0sVC5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHg9K3Q/VmYobT10KklhKToobT1udWxsLEdmKSxFKCkpOm0qRmF9LFQuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT1udWxsPT10Pyh3PXI9aT1vPW51bGwsbWMpOlpmKHc9K3RbMF1bMF0scj0rdFswXVsxXSxpPSt0WzFdWzBdLG89K3RbMV1bMV0pLEUoKSk6bnVsbD09dz9udWxsOltbdyxyXSxbaSxvXV19LFQuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9K3QsUygpKTpsfSxULnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD0rdFswXSxkPSt0WzFdLFMoKSk6W2gsZF19LFQuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPXRbMF0lMzYwKklhLHY9dFsxXSUzNjAqSWEsUygpKTpbcCpGYSx2KkZhXX0sVC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9dFswXSUzNjAqSWEseT10WzFdJTM2MCpJYSxfPXQubGVuZ3RoPjI/dFsyXSUzNjAqSWE6MCxTKCkpOltnKkZhLHkqRmEsXypGYV19LFQuYW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGI9dCUzNjAqSWEsUygpKTpiKkZhfSxULnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1Tcyh1LEE9dCp0KSxFKCkpOkthKEEpfSxULmZpdEV4dGVudD1mdW5jdGlvbih0LG4pe3JldHVybiB4cyhULHQsbil9LFQuZml0U2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiB3cyhULHQsbil9LFQuZml0V2lkdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMoVCx0LG4pfSxULmZpdEhlaWdodD1mdW5jdGlvbih0LG4pe3JldHVybiBBcyhULHQsbil9LGZ1bmN0aW9uKCl7cmV0dXJuIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksVC5pbnZlcnQ9bi5pbnZlcnQmJk4sUygpfX1mdW5jdGlvbiB6cyh0KXt2YXIgbj0wLGU9cWEvMyxyPVBzKHQpLGk9cihuLGUpO3JldHVybiBpLnBhcmFsbGVscz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9yKG49dFswXSpJYSxlPXRbMV0qSWEpOltuKkZhLGUqRmFdfSxpfWZ1bmN0aW9uIFJzKHQsbil7dmFyIGU9UWEodCkscj0oZStRYShuKSkvMjtpZihIYShyKTxEYSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49R2EodCk7ZnVuY3Rpb24gZSh0LGUpe3JldHVyblt0Km4sUWEoZSkvbl19cmV0dXJuIGUuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW3QvbixldShlKm4pXX0sZX0odCk7dmFyIGk9MStlKigyKnItZSksbz1LYShpKS9yO2Z1bmN0aW9uIGEodCxuKXt2YXIgZT1LYShpLTIqcipRYShuKSkvcjtyZXR1cm5bZSpRYSh0Kj1yKSxvLWUqR2EodCldfXJldHVybiBhLmludmVydD1mdW5jdGlvbih0LG4pe3ZhciBlPW8tbjtyZXR1cm5bWGEodCxIYShlKSkvcipKYShlKSxldSgoaS0odCp0K2UqZSkqcipyKS8oMipyKSldfSxhfWZ1bmN0aW9uIExzKCl7cmV0dXJuIHpzKFJzKS5zY2FsZSgxNTUuNDI0KS5jZW50ZXIoWzAsMzMuNjQ0Ml0pfWZ1bmN0aW9uIERzKCl7cmV0dXJuIExzKCkucGFyYWxsZWxzKFsyOS41LDQ1LjVdKS5zY2FsZSgxMDcwKS50cmFuc2xhdGUoWzQ4MCwyNTBdKS5yb3RhdGUoWzk2LDBdKS5jZW50ZXIoWy0uNiwzOC43XSl9ZnVuY3Rpb24gVXModCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9R2EobiksaT1HYShlKSxvPXQocippKTtyZXR1cm5bbyppKlFhKG4pLG8qUWEoZSldfX1mdW5jdGlvbiBxcyh0KXtyZXR1cm4gZnVuY3Rpb24obixlKXt2YXIgcj1LYShuKm4rZSplKSxpPXQociksbz1RYShpKSxhPUdhKGkpO3JldHVybltYYShuKm8sciphKSxldShyJiZlKm8vcildfX12YXIgT3M9VXMoZnVuY3Rpb24odCl7cmV0dXJuIEthKDIvKDErdCkpfSk7T3MuaW52ZXJ0PXFzKGZ1bmN0aW9uKHQpe3JldHVybiAyKmV1KHQvMil9KTt2YXIgWXM9VXMoZnVuY3Rpb24odCl7cmV0dXJuKHQ9bnUodCkpJiZ0L1FhKHQpfSk7ZnVuY3Rpb24gQnModCxuKXtyZXR1cm5bdCxXYSh0dSgoT2ErbikvMikpXX1mdW5jdGlvbiBGcyh0KXt2YXIgbixlLHIsaT1Dcyh0KSxvPWkuY2VudGVyLGE9aS5zY2FsZSx1PWkudHJhbnNsYXRlLGY9aS5jbGlwRXh0ZW50LGM9bnVsbDtmdW5jdGlvbiBzKCl7dmFyIG89cWEqYSgpLHU9aShSZihpLnJvdGF0ZSgpKS5pbnZlcnQoWzAsMF0pKTtyZXR1cm4gZihudWxsPT1jP1tbdVswXS1vLHVbMV0tb10sW3VbMF0rbyx1WzFdK29dXTp0PT09QnM/W1tNYXRoLm1heCh1WzBdLW8sYyksbl0sW01hdGgubWluKHVbMF0rbyxlKSxyXV06W1tjLE1hdGgubWF4KHVbMV0tbyxuKV0sW2UsTWF0aC5taW4odVsxXStvLHIpXV0pfXJldHVybiBpLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhKHQpLHMoKSk6YSgpfSxpLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odSh0KSxzKCkpOnUoKX0saS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG8odCkscygpKTpvKCl9LGkuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9jPW49ZT1yPW51bGw6KGM9K3RbMF1bMF0sbj0rdFswXVsxXSxlPSt0WzFdWzBdLHI9K3RbMV1bMV0pLHMoKSk6bnVsbD09Yz9udWxsOltbYyxuXSxbZSxyXV19LHMoKX1mdW5jdGlvbiBJcyh0KXtyZXR1cm4gdHUoKE9hK3QpLzIpfWZ1bmN0aW9uIEhzKHQsbil7dmFyIGU9R2EodCkscj10PT09bj9RYSh0KTpXYShlL0dhKG4pKS9XYShJcyhuKS9Jcyh0KSksaT1lKlphKElzKHQpLHIpL3I7aWYoIXIpcmV0dXJuIEJzO2Z1bmN0aW9uIG8odCxuKXtpPjA/bjwtT2ErRGEmJihuPS1PYStEYSk6bj5PYS1EYSYmKG49T2EtRGEpO3ZhciBlPWkvWmEoSXMobikscik7cmV0dXJuW2UqUWEocip0KSxpLWUqR2Eocip0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGU9aS1uLG89SmEocikqS2EodCp0K2UqZSk7cmV0dXJuW1hhKHQsSGEoZSkpL3IqSmEoZSksMipqYShaYShpL28sMS9yKSktT2FdfSxvfWZ1bmN0aW9uIGpzKHQsbil7cmV0dXJuW3Qsbl19ZnVuY3Rpb24gWHModCxuKXt2YXIgZT1HYSh0KSxyPXQ9PT1uP1FhKHQpOihlLUdhKG4pKS8obi10KSxpPWUvcit0O2lmKEhhKHIpPERhKXJldHVybiBqcztmdW5jdGlvbiBvKHQsbil7dmFyIGU9aS1uLG89cip0O3JldHVybltlKlFhKG8pLGktZSpHYShvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGU9aS1uO3JldHVybltYYSh0LEhhKGUpKS9yKkphKGUpLGktSmEocikqS2EodCp0K2UqZSldfSxvfVlzLmludmVydD1xcyhmdW5jdGlvbih0KXtyZXR1cm4gdH0pLEJzLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVyblt0LDIqamEoJGEobikpLU9hXX0sanMuaW52ZXJ0PWpzO3ZhciBHcz0xLjM0MDI2NCxWcz0tLjA4MTEwNiwkcz04OTNlLTYsV3M9LjAwMzc5Nixacz1LYSgzKS8yO2Z1bmN0aW9uIFFzKHQsbil7dmFyIGU9ZXUoWnMqUWEobikpLHI9ZSplLGk9cipyKnI7cmV0dXJuW3QqR2EoZSkvKFpzKihHcyszKlZzKnIraSooNyokcys5KldzKnIpKSksZSooR3MrVnMqcitpKigkcytXcypyKSldfWZ1bmN0aW9uIEpzKHQsbil7dmFyIGU9R2Eobikscj1HYSh0KSplO3JldHVybltlKlFhKHQpL3IsUWEobikvcl19ZnVuY3Rpb24gS3ModCxuLGUscil7cmV0dXJuIDE9PT10JiYxPT09biYmMD09PWUmJjA9PT1yP21jOl9zKHtwb2ludDpmdW5jdGlvbihpLG8pe3RoaXMuc3RyZWFtLnBvaW50KGkqdCtlLG8qbityKX19KX1mdW5jdGlvbiB0bCh0LG4pe3ZhciBlPW4qbixyPWUqZTtyZXR1cm5bdCooLjg3MDctLjEzMTk3OSplK3IqKHIqKC4wMDM5NzEqZS0uMDAxNTI5KnIpLS4wMTM3OTEpKSxuKigxLjAwNzIyNitlKiguMDE1MDg1K3IqKC4wMjg4NzQqZS0uMDQ0NDc1LS4wMDU5MTYqcikpKV19ZnVuY3Rpb24gbmwodCxuKXtyZXR1cm5bR2EobikqUWEodCksUWEobildfWZ1bmN0aW9uIGVsKHQsbil7dmFyIGU9R2Eobikscj0xK0dhKHQpKmU7cmV0dXJuW2UqUWEodCkvcixRYShuKS9yXX1mdW5jdGlvbiBybCh0LG4pe3JldHVybltXYSh0dSgoT2ErbikvMikpLC10XX1mdW5jdGlvbiBpbCh0LG4pe3JldHVybiB0LnBhcmVudD09PW4ucGFyZW50PzE6Mn1mdW5jdGlvbiBvbCh0LG4pe3JldHVybiB0K24ueH1mdW5jdGlvbiBhbCh0LG4pe3JldHVybiBNYXRoLm1heCh0LG4ueSl9ZnVuY3Rpb24gdWwodCl7dmFyIG49MCxlPXQuY2hpbGRyZW4scj1lJiZlLmxlbmd0aDtpZihyKWZvcig7LS1yPj0wOyluKz1lW3JdLnZhbHVlO2Vsc2Ugbj0xO3QudmFsdWU9bn1mdW5jdGlvbiBmbCh0LG4pe3ZhciBlLHIsaSxvLGEsdT1uZXcgaGwodCksZj0rdC52YWx1ZSYmKHUudmFsdWU9dC52YWx1ZSksYz1bdV07Zm9yKG51bGw9PW4mJihuPWNsKTtlPWMucG9wKCk7KWlmKGYmJihlLnZhbHVlPStlLmRhdGEudmFsdWUpLChpPW4oZS5kYXRhKSkmJihhPWkubGVuZ3RoKSlmb3IoZS5jaGlsZHJlbj1uZXcgQXJyYXkoYSksbz1hLTE7bz49MDstLW8pYy5wdXNoKHI9ZS5jaGlsZHJlbltvXT1uZXcgaGwoaVtvXSkpLHIucGFyZW50PWUsci5kZXB0aD1lLmRlcHRoKzE7cmV0dXJuIHUuZWFjaEJlZm9yZShsbCl9ZnVuY3Rpb24gY2wodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gc2wodCl7dC5kYXRhPXQuZGF0YS5kYXRhfWZ1bmN0aW9uIGxsKHQpe3ZhciBuPTA7ZG97dC5oZWlnaHQ9bn13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrbil9ZnVuY3Rpb24gaGwodCl7dGhpcy5kYXRhPXQsdGhpcy5kZXB0aD10aGlzLmhlaWdodD0wLHRoaXMucGFyZW50PW51bGx9UXMuaW52ZXJ0PWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlLHI9bixpPXIqcixvPWkqaSppLGE9MDthPDEyJiYobz0oaT0oci09ZT0ociooR3MrVnMqaStvKigkcytXcyppKSktbikvKEdzKzMqVnMqaStvKig3KiRzKzkqV3MqaSkpKSpyKSppKmksIShIYShlKTxVYSkpOysrYSk7cmV0dXJuW1pzKnQqKEdzKzMqVnMqaStvKig3KiRzKzkqV3MqaSkpL0dhKHIpLGV1KFFhKHIpL1pzKV19LEpzLmludmVydD1xcyhqYSksdGwuaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGUscj1uLGk9MjU7ZG97dmFyIG89cipyLGE9bypvO3ItPWU9KHIqKDEuMDA3MjI2K28qKC4wMTUwODUrYSooLjAyODg3NCpvLS4wNDQ0NzUtLjAwNTkxNiphKSkpLW4pLygxLjAwNzIyNitvKiguMDQ1MjU1K2EqKC4yNTk4NjYqby0uMzExMzI1LS4wMDU5MTYqMTEqYSkpKX13aGlsZShIYShlKT5EYSYmLS1pPjApO3JldHVyblt0LyguODcwNysobz1yKnIpKihvKihvKm8qbyooLjAwMzk3MS0uMDAxNTI5Km8pLS4wMTM3OTEpLS4xMzE5NzkpKSxyXX0sbmwuaW52ZXJ0PXFzKGV1KSxlbC5pbnZlcnQ9cXMoZnVuY3Rpb24odCl7cmV0dXJuIDIqamEodCl9KSxybC5pbnZlcnQ9ZnVuY3Rpb24odCxuKXtyZXR1cm5bLW4sMipqYSgkYSh0KSktT2FdfSxobC5wcm90b3R5cGU9ZmwucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpobCxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2hBZnRlcih1bCl9LGVhY2g6ZnVuY3Rpb24odCl7dmFyIG4sZSxyLGksbz10aGlzLGE9W29dO2Rve2ZvcihuPWEucmV2ZXJzZSgpLGE9W107bz1uLnBvcCgpOylpZih0KG8pLGU9by5jaGlsZHJlbilmb3Iocj0wLGk9ZS5sZW5ndGg7cjxpOysrcilhLnB1c2goZVtyXSl9d2hpbGUoYS5sZW5ndGgpO3JldHVybiB0aGlzfSxlYWNoQWZ0ZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscixpPXRoaXMsbz1baV0sYT1bXTtpPW8ucG9wKCk7KWlmKGEucHVzaChpKSxuPWkuY2hpbGRyZW4pZm9yKGU9MCxyPW4ubGVuZ3RoO2U8cjsrK2Upby5wdXNoKG5bZV0pO2Zvcig7aT1hLnBvcCgpOyl0KGkpO3JldHVybiB0aGlzfSxlYWNoQmVmb3JlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlLHI9dGhpcyxpPVtyXTtyPWkucG9wKCk7KWlmKHQociksbj1yLmNoaWxkcmVuKWZvcihlPW4ubGVuZ3RoLTE7ZT49MDstLWUpaS5wdXNoKG5bZV0pO3JldHVybiB0aGlzfSxzdW06ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaEFmdGVyKGZ1bmN0aW9uKG4pe2Zvcih2YXIgZT0rdChuLmRhdGEpfHwwLHI9bi5jaGlsZHJlbixpPXImJnIubGVuZ3RoOy0taT49MDspZSs9cltpXS52YWx1ZTtuLnZhbHVlPWV9KX0sc29ydDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG4pe24uY2hpbGRyZW4mJm4uY2hpbGRyZW4uc29ydCh0KX0pfSxwYXRoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLGU9ZnVuY3Rpb24odCxuKXtpZih0PT09bilyZXR1cm4gdDt2YXIgZT10LmFuY2VzdG9ycygpLHI9bi5hbmNlc3RvcnMoKSxpPW51bGw7Zm9yKHQ9ZS5wb3AoKSxuPXIucG9wKCk7dD09PW47KWk9dCx0PWUucG9wKCksbj1yLnBvcCgpO3JldHVybiBpfShuLHQpLHI9W25dO24hPT1lOyluPW4ucGFyZW50LHIucHVzaChuKTtmb3IodmFyIGk9ci5sZW5ndGg7dCE9PWU7KXIuc3BsaWNlKGksMCx0KSx0PXQucGFyZW50O3JldHVybiByfSxhbmNlc3RvcnM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxuPVt0XTt0PXQucGFyZW50OyluLnB1c2godCk7cmV0dXJuIG59LGRlc2NlbmRhbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXt0LnB1c2gobil9KSx0fSxsZWF2ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG4pe24uY2hpbGRyZW58fHQucHVzaChuKX0pLHR9LGxpbmtzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuPVtdO3JldHVybiB0LmVhY2goZnVuY3Rpb24oZSl7ZSE9PXQmJm4ucHVzaCh7c291cmNlOmUucGFyZW50LHRhcmdldDplfSl9KSxufSxjb3B5OmZ1bmN0aW9uKCl7cmV0dXJuIGZsKHRoaXMpLmVhY2hCZWZvcmUoc2wpfX07dmFyIGRsPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBwbCh0KXtmb3IodmFyIG4sZSxyPTAsaT0odD1mdW5jdGlvbih0KXtmb3IodmFyIG4sZSxyPXQubGVuZ3RoO3I7KWU9TWF0aC5yYW5kb20oKSpyLS18MCxuPXRbcl0sdFtyXT10W2VdLHRbZV09bjtyZXR1cm4gdH0oZGwuY2FsbCh0KSkpLmxlbmd0aCxvPVtdO3I8aTspbj10W3JdLGUmJnlsKGUsbik/KytyOihlPWJsKG89dmwobyxuKSkscj0wKTtyZXR1cm4gZX1mdW5jdGlvbiB2bCh0LG4pe3ZhciBlLHI7aWYoX2wobix0KSlyZXR1cm5bbl07Zm9yKGU9MDtlPHQubGVuZ3RoOysrZSlpZihnbChuLHRbZV0pJiZfbChtbCh0W2VdLG4pLHQpKXJldHVyblt0W2VdLG5dO2ZvcihlPTA7ZTx0Lmxlbmd0aC0xOysrZSlmb3Iocj1lKzE7cjx0Lmxlbmd0aDsrK3IpaWYoZ2wobWwodFtlXSx0W3JdKSxuKSYmZ2wobWwodFtlXSxuKSx0W3JdKSYmZ2wobWwodFtyXSxuKSx0W2VdKSYmX2woeGwodFtlXSx0W3JdLG4pLHQpKXJldHVyblt0W2VdLHRbcl0sbl07dGhyb3cgbmV3IEVycm9yfWZ1bmN0aW9uIGdsKHQsbil7dmFyIGU9dC5yLW4ucixyPW4ueC10LngsaT1uLnktdC55O3JldHVybiBlPDB8fGUqZTxyKnIraSppfWZ1bmN0aW9uIHlsKHQsbil7dmFyIGU9dC5yLW4ucisxZS02LHI9bi54LXQueCxpPW4ueS10Lnk7cmV0dXJuIGU+MCYmZSplPnIqcitpKml9ZnVuY3Rpb24gX2wodCxuKXtmb3IodmFyIGU9MDtlPG4ubGVuZ3RoOysrZSlpZigheWwodCxuW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBibCh0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm57eDoobj10WzBdKS54LHk6bi55LHI6bi5yfTtjYXNlIDI6cmV0dXJuIG1sKHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiB4bCh0WzBdLHRbMV0sdFsyXSl9dmFyIG59ZnVuY3Rpb24gbWwodCxuKXt2YXIgZT10Lngscj10LnksaT10LnIsbz1uLngsYT1uLnksdT1uLnIsZj1vLWUsYz1hLXIscz11LWksbD1NYXRoLnNxcnQoZipmK2MqYyk7cmV0dXJue3g6KGUrbytmL2wqcykvMix5OihyK2ErYy9sKnMpLzIscjoobCtpK3UpLzJ9fWZ1bmN0aW9uIHhsKHQsbixlKXt2YXIgcj10LngsaT10Lnksbz10LnIsYT1uLngsdT1uLnksZj1uLnIsYz1lLngscz1lLnksbD1lLnIsaD1yLWEsZD1yLWMscD1pLXUsdj1pLXMsZz1mLW8seT1sLW8sXz1yKnIraSppLW8qbyxiPV8tYSphLXUqdStmKmYsbT1fLWMqYy1zKnMrbCpsLHg9ZCpwLWgqdix3PShwKm0tdipiKS8oMip4KS1yLE09KHYqZy1wKnkpL3gsQT0oZCpiLWgqbSkvKDIqeCktaSxUPShoKnktZCpnKS94LE49TSpNK1QqVC0xLFM9Mioobyt3Kk0rQSpUKSxFPXcqdytBKkEtbypvLGs9LShOPyhTK01hdGguc3FydChTKlMtNCpOKkUpKS8oMipOKTpFL1MpO3JldHVybnt4OnIrdytNKmsseTppK0ErVCprLHI6a319ZnVuY3Rpb24gd2wodCxuLGUpe3ZhciByLGksbyxhLHU9dC54LW4ueCxmPXQueS1uLnksYz11KnUrZipmO2M/KGk9bi5yK2UucixpKj1pLGE9dC5yK2UucixpPihhKj1hKT8ocj0oYythLWkpLygyKmMpLG89TWF0aC5zcXJ0KE1hdGgubWF4KDAsYS9jLXIqcikpLGUueD10Lngtcip1LW8qZixlLnk9dC55LXIqZitvKnUpOihyPShjK2ktYSkvKDIqYyksbz1NYXRoLnNxcnQoTWF0aC5tYXgoMCxpL2MtcipyKSksZS54PW4ueCtyKnUtbypmLGUueT1uLnkrcipmK28qdSkpOihlLng9bi54K2UucixlLnk9bi55KX1mdW5jdGlvbiBNbCh0LG4pe3ZhciBlPXQucituLnItMWUtNixyPW4ueC10LngsaT1uLnktdC55O3JldHVybiBlPjAmJmUqZT5yKnIraSppfWZ1bmN0aW9uIEFsKHQpe3ZhciBuPXQuXyxlPXQubmV4dC5fLHI9bi5yK2UucixpPShuLngqZS5yK2UueCpuLnIpL3Isbz0obi55KmUucitlLnkqbi5yKS9yO3JldHVybiBpKmkrbypvfWZ1bmN0aW9uIFRsKHQpe3RoaXMuXz10LHRoaXMubmV4dD1udWxsLHRoaXMucHJldmlvdXM9bnVsbH1mdW5jdGlvbiBObCh0KXtpZighKGk9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBuLGUscixpLG8sYSx1LGYsYyxzLGw7aWYoKG49dFswXSkueD0wLG4ueT0wLCEoaT4xKSlyZXR1cm4gbi5yO2lmKGU9dFsxXSxuLng9LWUucixlLng9bi5yLGUueT0wLCEoaT4yKSlyZXR1cm4gbi5yK2Uucjt3bChlLG4scj10WzJdKSxuPW5ldyBUbChuKSxlPW5ldyBUbChlKSxyPW5ldyBUbChyKSxuLm5leHQ9ci5wcmV2aW91cz1lLGUubmV4dD1uLnByZXZpb3VzPXIsci5uZXh0PWUucHJldmlvdXM9bjt0OmZvcih1PTM7dTxpOysrdSl7d2wobi5fLGUuXyxyPXRbdV0pLHI9bmV3IFRsKHIpLGY9ZS5uZXh0LGM9bi5wcmV2aW91cyxzPWUuXy5yLGw9bi5fLnI7ZG97aWYoczw9bCl7aWYoTWwoZi5fLHIuXykpe2U9ZixuLm5leHQ9ZSxlLnByZXZpb3VzPW4sLS11O2NvbnRpbnVlIHR9cys9Zi5fLnIsZj1mLm5leHR9ZWxzZXtpZihNbChjLl8sci5fKSl7KG49YykubmV4dD1lLGUucHJldmlvdXM9biwtLXU7Y29udGludWUgdH1sKz1jLl8ucixjPWMucHJldmlvdXN9fXdoaWxlKGYhPT1jLm5leHQpO2ZvcihyLnByZXZpb3VzPW4sci5uZXh0PWUsbi5uZXh0PWUucHJldmlvdXM9ZT1yLG89QWwobik7KHI9ci5uZXh0KSE9PWU7KShhPUFsKHIpKTxvJiYobj1yLG89YSk7ZT1uLm5leHR9Zm9yKG49W2UuX10scj1lOyhyPXIubmV4dCkhPT1lOyluLnB1c2goci5fKTtmb3Iocj1wbChuKSx1PTA7dTxpOysrdSkobj10W3VdKS54LT1yLngsbi55LT1yLnk7cmV0dXJuIHIucn1mdW5jdGlvbiBTbCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24gRWwoKXtyZXR1cm4gMH1mdW5jdGlvbiBrbCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gQ2wodCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBQbCh0KXtyZXR1cm4gZnVuY3Rpb24obil7bi5jaGlsZHJlbnx8KG4ucj1NYXRoLm1heCgwLCt0KG4pfHwwKSl9fWZ1bmN0aW9uIHpsKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHI9ZS5jaGlsZHJlbil7dmFyIHIsaSxvLGE9ci5sZW5ndGgsdT10KGUpKm58fDA7aWYodSlmb3IoaT0wO2k8YTsrK2kpcltpXS5yKz11O2lmKG89TmwociksdSlmb3IoaT0wO2k8YTsrK2kpcltpXS5yLT11O2Uucj1vK3V9fX1mdW5jdGlvbiBSbCh0KXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9bi5wYXJlbnQ7bi5yKj10LGUmJihuLng9ZS54K3Qqbi54LG4ueT1lLnkrdCpuLnkpfX1mdW5jdGlvbiBMbCh0KXt0LngwPU1hdGgucm91bmQodC54MCksdC55MD1NYXRoLnJvdW5kKHQueTApLHQueDE9TWF0aC5yb3VuZCh0LngxKSx0LnkxPU1hdGgucm91bmQodC55MSl9ZnVuY3Rpb24gRGwodCxuLGUscixpKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHU9LTEsZj1hLmxlbmd0aCxjPXQudmFsdWUmJihyLW4pL3QudmFsdWU7Kyt1PGY7KShvPWFbdV0pLnkwPWUsby55MT1pLG8ueDA9bixvLngxPW4rPW8udmFsdWUqY312YXIgVWw9IiQiLHFsPXtkZXB0aDotMX0sT2w9e307ZnVuY3Rpb24gWWwodCl7cmV0dXJuIHQuaWR9ZnVuY3Rpb24gQmwodCl7cmV0dXJuIHQucGFyZW50SWR9ZnVuY3Rpb24gRmwodCxuKXtyZXR1cm4gdC5wYXJlbnQ9PT1uLnBhcmVudD8xOjJ9ZnVuY3Rpb24gSWwodCl7dmFyIG49dC5jaGlsZHJlbjtyZXR1cm4gbj9uWzBdOnQudH1mdW5jdGlvbiBIbCh0KXt2YXIgbj10LmNoaWxkcmVuO3JldHVybiBuP25bbi5sZW5ndGgtMV06dC50fWZ1bmN0aW9uIGpsKHQsbixlKXt2YXIgcj1lLyhuLmktdC5pKTtuLmMtPXIsbi5zKz1lLHQuYys9cixuLnorPWUsbi5tKz1lfWZ1bmN0aW9uIFhsKHQsbixlKXtyZXR1cm4gdC5hLnBhcmVudD09PW4ucGFyZW50P3QuYTplfWZ1bmN0aW9uIEdsKHQsbil7dGhpcy5fPXQsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPW51bGwsdGhpcy5BPW51bGwsdGhpcy5hPXRoaXMsdGhpcy56PTAsdGhpcy5tPTAsdGhpcy5jPTAsdGhpcy5zPTAsdGhpcy50PW51bGwsdGhpcy5pPW59ZnVuY3Rpb24gVmwodCxuLGUscixpKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHU9LTEsZj1hLmxlbmd0aCxjPXQudmFsdWUmJihpLWUpL3QudmFsdWU7Kyt1PGY7KShvPWFbdV0pLngwPW4sby54MT1yLG8ueTA9ZSxvLnkxPWUrPW8udmFsdWUqY31HbC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShobC5wcm90b3R5cGUpO3ZhciAkbD0oMStNYXRoLnNxcnQoNSkpLzI7ZnVuY3Rpb24gV2wodCxuLGUscixpLG8pe2Zvcih2YXIgYSx1LGYsYyxzLGwsaCxkLHAsdixnLHk9W10sXz1uLmNoaWxkcmVuLGI9MCxtPTAseD1fLmxlbmd0aCx3PW4udmFsdWU7Yjx4Oyl7Zj1pLWUsYz1vLXI7ZG97cz1fW20rK10udmFsdWV9d2hpbGUoIXMmJm08eCk7Zm9yKGw9aD1zLGc9cypzKih2PU1hdGgubWF4KGMvZixmL2MpLyh3KnQpKSxwPU1hdGgubWF4KGgvZyxnL2wpO208eDsrK20pe2lmKHMrPXU9X1ttXS52YWx1ZSx1PGwmJihsPXUpLHU+aCYmKGg9dSksZz1zKnMqdiwoZD1NYXRoLm1heChoL2csZy9sKSk+cCl7cy09dTticmVha31wPWR9eS5wdXNoKGE9e3ZhbHVlOnMsZGljZTpmPGMsY2hpbGRyZW46Xy5zbGljZShiLG0pfSksYS5kaWNlP0RsKGEsZSxyLGksdz9yKz1jKnMvdzpvKTpWbChhLGUscix3P2UrPWYqcy93Omksbyksdy09cyxiPW19cmV0dXJuIHl9dmFyIFpsPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUscixpLG8pe1dsKG4sdCxlLHIsaSxvKX1yZXR1cm4gZS5yYXRpbz1mdW5jdGlvbihuKXtyZXR1cm4gdCgobj0rbik+MT9uOjEpfSxlfSgkbCk7dmFyIFFsPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUscixpLG8pe2lmKChhPXQuX3NxdWFyaWZ5KSYmYS5yYXRpbz09PW4pZm9yKHZhciBhLHUsZixjLHMsbD0tMSxoPWEubGVuZ3RoLGQ9dC52YWx1ZTsrK2w8aDspe2ZvcihmPSh1PWFbbF0pLmNoaWxkcmVuLGM9dS52YWx1ZT0wLHM9Zi5sZW5ndGg7YzxzOysrYyl1LnZhbHVlKz1mW2NdLnZhbHVlO3UuZGljZT9EbCh1LGUscixpLHIrPShvLXIpKnUudmFsdWUvZCk6VmwodSxlLHIsZSs9KGktZSkqdS52YWx1ZS9kLG8pLGQtPXUudmFsdWV9ZWxzZSB0Ll9zcXVhcmlmeT1hPVdsKG4sdCxlLHIsaSxvKSxhLnJhdGlvPW59cmV0dXJuIGUucmF0aW89ZnVuY3Rpb24obil7cmV0dXJuIHQoKG49K24pPjE/bjoxKX0sZX0oJGwpO2Z1bmN0aW9uIEpsKHQsbil7cmV0dXJuIHRbMF0tblswXXx8dFsxXS1uWzFdfWZ1bmN0aW9uIEtsKHQpe2Zvcih2YXIgbixlLHIsaT10Lmxlbmd0aCxvPVswLDFdLGE9Mix1PTI7dTxpOysrdSl7Zm9yKDthPjEmJihuPXRbb1thLTJdXSxlPXRbb1thLTFdXSxyPXRbdV0sKGVbMF0tblswXSkqKHJbMV0tblsxXSktKGVbMV0tblsxXSkqKHJbMF0tblswXSk8PTApOyktLWE7b1thKytdPXV9cmV0dXJuIG8uc2xpY2UoMCxhKX1mdW5jdGlvbiB0aCgpe3JldHVybiBNYXRoLnJhbmRvbSgpfXZhciBuaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCxlKXtyZXR1cm4gdD1udWxsPT10PzA6K3QsZT1udWxsPT1lPzE6K2UsMT09PWFyZ3VtZW50cy5sZW5ndGg/KGU9dCx0PTApOmUtPXQsZnVuY3Rpb24oKXtyZXR1cm4gbigpKmUrdH19cmV0dXJuIGUuc291cmNlPXQsZX0odGgpLGVoPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUpe3ZhciByLGk7cmV0dXJuIHQ9bnVsbD09dD8wOit0LGU9bnVsbD09ZT8xOitlLGZ1bmN0aW9uKCl7dmFyIG87aWYobnVsbCE9cilvPXIscj1udWxsO2Vsc2UgZG97cj0yKm4oKS0xLG89MipuKCktMSxpPXIqcitvKm99d2hpbGUoIWl8fGk+MSk7cmV0dXJuIHQrZSpvKk1hdGguc3FydCgtMipNYXRoLmxvZyhpKS9pKX19cmV0dXJuIGUuc291cmNlPXQsZX0odGgpLHJoPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSgpe3ZhciB0PWVoLnNvdXJjZShuKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZXhwKHQoKSl9fXJldHVybiBlLnNvdXJjZT10LGV9KHRoKSxpaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTAscj0wO3I8dDsrK3IpZSs9bigpO3JldHVybiBlfX1yZXR1cm4gZS5zb3VyY2U9dCxlfSh0aCksb2g9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3ZhciBlPWloLnNvdXJjZShuKSh0KTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSgpL3R9fXJldHVybiBlLnNvdXJjZT10LGV9KHRoKSxhaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLU1hdGgubG9nKDEtbigpKS90fX1yZXR1cm4gZS5zb3VyY2U9dCxlfSh0aCksdWg9QXJyYXkucHJvdG90eXBlLGZoPXVoLm1hcCxjaD11aC5zbGljZSxzaD17bmFtZToiaW1wbGljaXQifTtmdW5jdGlvbiBsaCh0KXt2YXIgbj1LaSgpLGU9W10scj1zaDtmdW5jdGlvbiBpKGkpe3ZhciBvPWkrIiIsYT1uLmdldChvKTtpZighYSl7aWYociE9PXNoKXJldHVybiByO24uc2V0KG8sYT1lLnB1c2goaSkpfXJldHVybiB0WyhhLTEpJXQubGVuZ3RoXX1yZXR1cm4gdD1udWxsPT10P1tdOmNoLmNhbGwodCksaS5kb21haW49ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGUuc2xpY2UoKTtlPVtdLG49S2koKTtmb3IodmFyIHIsbyxhPS0xLHU9dC5sZW5ndGg7KythPHU7KW4uaGFzKG89KHI9dFthXSkrIiIpfHxuLnNldChvLGUucHVzaChyKSk7cmV0dXJuIGl9LGkucmFuZ2U9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9Y2guY2FsbChuKSxpKTp0LnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGkpOnJ9LGkuY29weT1mdW5jdGlvbigpe3JldHVybiBsaCgpLmRvbWFpbihlKS5yYW5nZSh0KS51bmtub3duKHIpfSxpfWZ1bmN0aW9uIGhoKCl7dmFyIHQsbixlPWxoKCkudW5rbm93bih2b2lkIDApLHI9ZS5kb21haW4saT1lLnJhbmdlLG89WzAsMV0sYT0hMSx1PTAsZj0wLGM9LjU7ZnVuY3Rpb24gcygpe3ZhciBlPXIoKS5sZW5ndGgscz1vWzFdPG9bMF0sbD1vW3MtMF0saD1vWzEtc107dD0oaC1sKS9NYXRoLm1heCgxLGUtdSsyKmYpLGEmJih0PU1hdGguZmxvb3IodCkpLGwrPShoLWwtdCooZS11KSkqYyxuPXQqKDEtdSksYSYmKGw9TWF0aC5yb3VuZChsKSxuPU1hdGgucm91bmQobikpO3ZhciBkPWcoZSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBsK3Qqbn0pO3JldHVybiBpKHM/ZC5yZXZlcnNlKCk6ZCl9cmV0dXJuIGRlbGV0ZSBlLnVua25vd24sZS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHIodCkscygpKTpyKCl9LGUucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89Wyt0WzBdLCt0WzFdXSxzKCkpOm8uc2xpY2UoKX0sZS5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvPVsrdFswXSwrdFsxXV0sYT0hMCxzKCl9LGUuYmFuZHdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGUuc3RlcD1mdW5jdGlvbigpe3JldHVybiB0fSxlLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSEhdCxzKCkpOmF9LGUucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1mPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkscygpKTp1fSxlLnBhZGRpbmdJbm5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHMoKSk6dX0sZS5wYWRkaW5nT3V0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxzKCkpOmZ9LGUuYWxpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxzKCkpOmN9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiBoaCgpLmRvbWFpbihyKCkpLnJhbmdlKG8pLnJvdW5kKGEpLnBhZGRpbmdJbm5lcih1KS5wYWRkaW5nT3V0ZXIoZikuYWxpZ24oYyl9LHMoKX1mdW5jdGlvbiBkaCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gcGgodCl7cmV0dXJuK3R9dmFyIHZoPVswLDFdO2Z1bmN0aW9uIGdoKHQsbil7cmV0dXJuKG4tPXQ9K3QpP2Z1bmN0aW9uKGUpe3JldHVybihlLXQpL259OmRoKG4pfWZ1bmN0aW9uIHloKHQsbixlLHIpe3ZhciBpPXRbMF0sbz10WzFdLGE9blswXSx1PW5bMV07cmV0dXJuIG88aT8oaT1lKG8saSksYT1yKHUsYSkpOihpPWUoaSxvKSxhPXIoYSx1KSksZnVuY3Rpb24odCl7cmV0dXJuIGEoaSh0KSl9fWZ1bmN0aW9uIF9oKHQsbixlLHIpe3ZhciBvPU1hdGgubWluKHQubGVuZ3RoLG4ubGVuZ3RoKS0xLGE9bmV3IEFycmF5KG8pLHU9bmV3IEFycmF5KG8pLGY9LTE7Zm9yKHRbb108dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxuPW4uc2xpY2UoKS5yZXZlcnNlKCkpOysrZjxvOylhW2ZdPWUodFtmXSx0W2YrMV0pLHVbZl09cihuW2ZdLG5bZisxXSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPWkodCxuLDEsbyktMTtyZXR1cm4gdVtlXShhW2VdKG4pKX19ZnVuY3Rpb24gYmgodCxuKXtyZXR1cm4gbi5kb21haW4odC5kb21haW4oKSkucmFuZ2UodC5yYW5nZSgpKS5pbnRlcnBvbGF0ZSh0LmludGVycG9sYXRlKCkpLmNsYW1wKHQuY2xhbXAoKSl9ZnVuY3Rpb24gbWgodCxuKXt2YXIgZSxyLGksbz12aCxhPXZoLHU9bWUsZj0hMTtmdW5jdGlvbiBjKCl7cmV0dXJuIGU9TWF0aC5taW4oby5sZW5ndGgsYS5sZW5ndGgpPjI/X2g6eWgscj1pPW51bGwsc31mdW5jdGlvbiBzKG4pe3JldHVybihyfHwocj1lKG8sYSxmP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciByPXQobj0rbixlPStlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQ8PW4/MDp0Pj1lPzE6cih0KX19fSh0KTp0LHUpKSkoK24pfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0KXtyZXR1cm4oaXx8KGk9ZShhLG8sZ2gsZj9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obixlKXt2YXIgcj10KG49K24sZT0rZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PD0wP246dD49MT9lOnIodCl9fX0obik6bikpKSgrdCl9LHMuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWZoLmNhbGwodCxwaCksYygpKTpvLnNsaWNlKCl9LHMucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9Y2guY2FsbCh0KSxjKCkpOmEuc2xpY2UoKX0scy5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhPWNoLmNhbGwodCksdT14ZSxjKCl9LHMuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ISF0LGMoKSk6Zn0scy5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LGMoKSk6dX0sYygpfWZ1bmN0aW9uIHhoKG4pe3ZhciBlPW4uZG9tYWluO3JldHVybiBuLnRpY2tzPWZ1bmN0aW9uKHQpe3ZhciBuPWUoKTtyZXR1cm4gbShuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sbi50aWNrRm9ybWF0PWZ1bmN0aW9uKG4scil7cmV0dXJuIGZ1bmN0aW9uKG4sZSxyKXt2YXIgaSxvPW5bMF0sYT1uW24ubGVuZ3RoLTFdLHU9dyhvLGEsbnVsbD09ZT8xMDplKTtzd2l0Y2goKHI9YmEobnVsbD09cj8iLGYiOnIpKS50eXBlKXtjYXNlInMiOnZhciBmPU1hdGgubWF4KE1hdGguYWJzKG8pLE1hdGguYWJzKGEpKTtyZXR1cm4gbnVsbCE9ci5wcmVjaXNpb258fGlzTmFOKGk9a2EodSxmKSl8fChyLnByZWNpc2lvbj1pKSx0LmZvcm1hdFByZWZpeChyLGYpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPXIucHJlY2lzaW9ufHxpc05hTihpPUNhKHUsTWF0aC5tYXgoTWF0aC5hYnMobyksTWF0aC5hYnMoYSkpKSl8fChyLnByZWNpc2lvbj1pLSgiZSI9PT1yLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9ci5wcmVjaXNpb258fGlzTmFOKGk9RWEodSkpfHwoci5wcmVjaXNpb249aS0yKigiJSI9PT1yLnR5cGUpKX1yZXR1cm4gdC5mb3JtYXQocil9KGUoKSxuLHIpfSxuLm5pY2U9ZnVuY3Rpb24odCl7bnVsbD09dCYmKHQ9MTApO3ZhciByLGk9ZSgpLG89MCxhPWkubGVuZ3RoLTEsdT1pW29dLGY9aVthXTtyZXR1cm4gZjx1JiYocj11LHU9ZixmPXIscj1vLG89YSxhPXIpLChyPXgodSxmLHQpKT4wP3I9eCh1PU1hdGguZmxvb3IodS9yKSpyLGY9TWF0aC5jZWlsKGYvcikqcix0KTpyPDAmJihyPXgodT1NYXRoLmNlaWwodSpyKS9yLGY9TWF0aC5mbG9vcihmKnIpL3IsdCkpLHI+MD8oaVtvXT1NYXRoLmZsb29yKHUvcikqcixpW2FdPU1hdGguY2VpbChmL3IpKnIsZShpKSk6cjwwJiYoaVtvXT1NYXRoLmNlaWwodSpyKS9yLGlbYV09TWF0aC5mbG9vcihmKnIpL3IsZShpKSksbn0sbn1mdW5jdGlvbiB3aCh0LG4pe3ZhciBlLHI9MCxpPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W3JdLGE9dFtpXTtyZXR1cm4gYTxvJiYoZT1yLHI9aSxpPWUsZT1vLG89YSxhPWUpLHRbcl09bi5mbG9vcihvKSx0W2ldPW4uY2VpbChhKSx0fWZ1bmN0aW9uIE1oKHQsbil7cmV0dXJuKG49TWF0aC5sb2cobi90KSk/ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgubG9nKGUvdCkvbn06ZGgobil9ZnVuY3Rpb24gQWgodCxuKXtyZXR1cm4gdDwwP2Z1bmN0aW9uKGUpe3JldHVybi1NYXRoLnBvdygtbixlKSpNYXRoLnBvdygtdCwxLWUpfTpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5wb3cobixlKSpNYXRoLnBvdyh0LDEtZSl9fWZ1bmN0aW9uIFRoKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBOaCh0KXtyZXR1cm4gMTA9PT10P1RoOnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24obil7cmV0dXJuIE1hdGgucG93KHQsbil9fWZ1bmN0aW9uIFNoKHQpe3JldHVybiB0PT09TWF0aC5FP01hdGgubG9nOjEwPT09dCYmTWF0aC5sb2cxMHx8Mj09PXQmJk1hdGgubG9nMnx8KHQ9TWF0aC5sb2codCksZnVuY3Rpb24obil7cmV0dXJuIE1hdGgubG9nKG4pL3R9KX1mdW5jdGlvbiBFaCh0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuLXQoLW4pfX1mdW5jdGlvbiBraCh0LG4pe3JldHVybiB0PDA/LU1hdGgucG93KC10LG4pOk1hdGgucG93KHQsbil9ZnVuY3Rpb24gQ2goKXt2YXIgdD0xLG49bWgoZnVuY3Rpb24obixlKXtyZXR1cm4oZT1raChlLHQpLShuPWtoKG4sdCkpKT9mdW5jdGlvbihyKXtyZXR1cm4oa2gocix0KS1uKS9lfTpkaChlKX0sZnVuY3Rpb24obixlKXtyZXR1cm4gZT1raChlLHQpLShuPWtoKG4sdCkpLGZ1bmN0aW9uKHIpe3JldHVybiBraChuK2UqciwxL3QpfX0pLGU9bi5kb21haW47cmV0dXJuIG4uZXhwb25lbnQ9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K24sZShlKCkpKTp0fSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gYmgobixDaCgpLmV4cG9uZW50KHQpKX0seGgobil9dmFyIFBoPW5ldyBEYXRlLHpoPW5ldyBEYXRlO2Z1bmN0aW9uIFJoKHQsbixlLHIpe2Z1bmN0aW9uIGkobil7cmV0dXJuIHQobj1uZXcgRGF0ZSgrbikpLG59cmV0dXJuIGkuZmxvb3I9aSxpLmNlaWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZT1uZXcgRGF0ZShlLTEpKSxuKGUsMSksdChlKSxlfSxpLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBuPWkodCksZT1pLmNlaWwodCk7cmV0dXJuIHQtbjxlLXQ/bjplfSxpLm9mZnNldD1mdW5jdGlvbih0LGUpe3JldHVybiBuKHQ9bmV3IERhdGUoK3QpLG51bGw9PWU/MTpNYXRoLmZsb29yKGUpKSx0fSxpLnJhbmdlPWZ1bmN0aW9uKGUscixvKXt2YXIgYSx1PVtdO2lmKGU9aS5jZWlsKGUpLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShlPHImJm8+MCkpcmV0dXJuIHU7ZG97dS5wdXNoKGE9bmV3IERhdGUoK2UpKSxuKGUsbyksdChlKX13aGlsZShhPGUmJmU8cik7cmV0dXJuIHV9LGkuZmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiBSaChmdW5jdGlvbihuKXtpZihuPj1uKWZvcig7dChuKSwhZShuKTspbi5zZXRUaW1lKG4tMSl9LGZ1bmN0aW9uKHQscil7aWYodD49dClpZihyPDApZm9yKDsrK3I8PTA7KWZvcig7bih0LC0xKSwhZSh0KTspO2Vsc2UgZm9yKDstLXI+PTA7KWZvcig7bih0LDEpLCFlKHQpOyk7fSl9LGUmJihpLmNvdW50PWZ1bmN0aW9uKG4scil7cmV0dXJuIFBoLnNldFRpbWUoK24pLHpoLnNldFRpbWUoK3IpLHQoUGgpLHQoemgpLE1hdGguZmxvb3IoZShQaCx6aCkpfSxpLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/aS5maWx0ZXIocj9mdW5jdGlvbihuKXtyZXR1cm4gcihuKSV0PT0wfTpmdW5jdGlvbihuKXtyZXR1cm4gaS5jb3VudCgwLG4pJXQ9PTB9KTppOm51bGx9KSxpfXZhciBMaD1SaChmdW5jdGlvbigpe30sZnVuY3Rpb24odCxuKXt0LnNldFRpbWUoK3Qrbil9LGZ1bmN0aW9uKHQsbil7cmV0dXJuIG4tdH0pO0xoLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/UmgoZnVuY3Rpb24obil7bi5zZXRUaW1lKE1hdGguZmxvb3Iobi90KSp0KX0sZnVuY3Rpb24obixlKXtuLnNldFRpbWUoK24rZSp0KX0sZnVuY3Rpb24obixlKXtyZXR1cm4oZS1uKS90fSk6TGg6bnVsbH07dmFyIERoPUxoLnJhbmdlLFVoPTZlNCxxaD02MDQ4ZTUsT2g9UmgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKDFlMypNYXRoLmZsb29yKHQvMWUzKSl9LGZ1bmN0aW9uKHQsbil7dC5zZXRUaW1lKCt0KzFlMypuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS8xZTN9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pLFloPU9oLnJhbmdlLEJoPVJoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZShNYXRoLmZsb29yKHQvVWgpKlVoKX0sZnVuY3Rpb24odCxuKXt0LnNldFRpbWUoK3QrbipVaCl9LGZ1bmN0aW9uKHQsbil7cmV0dXJuKG4tdCkvVWh9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX0pLEZoPUJoLnJhbmdlLEloPVJoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSpVaCUzNmU1O248MCYmKG4rPTM2ZTUpLHQuc2V0VGltZSgzNmU1Kk1hdGguZmxvb3IoKCt0LW4pLzM2ZTUpK24pfSxmdW5jdGlvbih0LG4pe3Quc2V0VGltZSgrdCszNmU1Km4pfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpLzM2ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9KSxIaD1JaC5yYW5nZSxqaD1SaChmdW5jdGlvbih0KXt0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0RGF0ZSh0LmdldERhdGUoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10LShuLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSpVaCkvODY0ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERhdGUoKS0xfSksWGg9amgucmFuZ2U7ZnVuY3Rpb24gR2godCl7cmV0dXJuIFJoKGZ1bmN0aW9uKG4pe24uc2V0RGF0ZShuLmdldERhdGUoKS0obi5nZXREYXkoKSs3LXQpJTcpLG4uc2V0SG91cnMoMCwwLDAsMCl9LGZ1bmN0aW9uKHQsbil7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqbil9LGZ1bmN0aW9uKHQsbil7cmV0dXJuKG4tdC0obi5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqVWgpL3FofSl9dmFyIFZoPUdoKDApLCRoPUdoKDEpLFdoPUdoKDIpLFpoPUdoKDMpLFFoPUdoKDQpLEpoPUdoKDUpLEtoPUdoKDYpLHRkPVZoLnJhbmdlLG5kPSRoLnJhbmdlLGVkPVdoLnJhbmdlLHJkPVpoLnJhbmdlLGlkPVFoLnJhbmdlLG9kPUpoLnJhbmdlLGFkPUtoLnJhbmdlLHVkPVJoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0TW9udGgodC5nZXRNb250aCgpK24pfSxmdW5jdGlvbih0LG4pe3JldHVybiBuLmdldE1vbnRoKCktdC5nZXRNb250aCgpKzEyKihuLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pLGZkPXVkLnJhbmdlLGNkPVJoKGZ1bmN0aW9uKHQpe3Quc2V0TW9udGgoMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK24pfSxmdW5jdGlvbih0LG4pe3JldHVybiBuLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRGdWxsWWVhcigpfSk7Y2QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9SaChmdW5jdGlvbihuKXtuLnNldEZ1bGxZZWFyKE1hdGguZmxvb3Iobi5nZXRGdWxsWWVhcigpL3QpKnQpLG4uc2V0TW9udGgoMCwxKSxuLnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbihuLGUpe24uc2V0RnVsbFllYXIobi5nZXRGdWxsWWVhcigpK2UqdCl9KTpudWxsfTt2YXIgc2Q9Y2QucmFuZ2UsbGQ9UmgoZnVuY3Rpb24odCl7dC5zZXRVVENTZWNvbmRzKDAsMCl9LGZ1bmN0aW9uKHQsbil7dC5zZXRUaW1lKCt0K24qVWgpfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpL1VofSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9KSxoZD1sZC5yYW5nZSxkZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0VGltZSgrdCszNmU1Km4pfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpLzM2ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0hvdXJzKCl9KSxwZD1kZC5yYW5nZSx2ZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS84NjRlNX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF0ZSgpLTF9KSxnZD12ZC5yYW5nZTtmdW5jdGlvbiB5ZCh0KXtyZXR1cm4gUmgoZnVuY3Rpb24obil7bi5zZXRVVENEYXRlKG4uZ2V0VVRDRGF0ZSgpLShuLmdldFVUQ0RheSgpKzctdCklNyksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNypuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS9xaH0pfXZhciBfZD15ZCgwKSxiZD15ZCgxKSxtZD15ZCgyKSx4ZD15ZCgzKSx3ZD15ZCg0KSxNZD15ZCg1KSxBZD15ZCg2KSxUZD1fZC5yYW5nZSxOZD1iZC5yYW5nZSxTZD1tZC5yYW5nZSxFZD14ZC5yYW5nZSxrZD13ZC5yYW5nZSxDZD1NZC5yYW5nZSxQZD1BZC5yYW5nZSx6ZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ0RhdGUoMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ01vbnRoKHQuZ2V0VVRDTW9udGgoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4gbi5nZXRVVENNb250aCgpLXQuZ2V0VVRDTW9udGgoKSsxMioobi5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01vbnRoKCl9KSxSZD16ZC5yYW5nZSxMZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4gbi5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pO0xkLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/UmgoZnVuY3Rpb24obil7bi5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKG4uZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxuLnNldFVUQ01vbnRoKDAsMSksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24obixlKXtuLnNldFVUQ0Z1bGxZZWFyKG4uZ2V0VVRDRnVsbFllYXIoKStlKnQpfSk6bnVsbH07dmFyIERkPUxkLnJhbmdlO2Z1bmN0aW9uIFVkKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIG49bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBuLnNldEZ1bGxZZWFyKHQueSksbn1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBxZCh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBuPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIG4uc2V0VVRDRnVsbFllYXIodC55KSxufXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBPZCh0KXtyZXR1cm57eTp0LG06MCxkOjEsSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBZZCh0KXt2YXIgbj10LmRhdGVUaW1lLGU9dC5kYXRlLHI9dC50aW1lLGk9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMsdT10Lm1vbnRocyxmPXQuc2hvcnRNb250aHMsYz1WZChpKSxzPSRkKGkpLGw9VmQobyksaD0kZChvKSxkPVZkKGEpLHA9JGQoYSksdj1WZCh1KSxnPSRkKHUpLHk9VmQoZiksXz0kZChmKSxiPXthOmZ1bmN0aW9uKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uKHQpe3JldHVybiBvW3QuZ2V0RGF5KCldfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBmW3QuZ2V0TW9udGgoKV19LEI6ZnVuY3Rpb24odCl7cmV0dXJuIHVbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6cHAsZTpwcCxmOmJwLEg6dnAsSTpncCxqOnlwLEw6X3AsbTptcCxNOnhwLHA6ZnVuY3Rpb24odCl7cmV0dXJuIGlbKyh0LmdldEhvdXJzKCk+PTEyKV19LFE6V3AsczpacCxTOndwLHU6TXAsVTpBcCxWOlRwLHc6TnAsVzpTcCx4Om51bGwsWDpudWxsLHk6RXAsWTprcCxaOkNwLCIlIjokcH0sbT17YTpmdW5jdGlvbih0KXtyZXR1cm4gYVt0LmdldFVUQ0RheSgpXX0sQTpmdW5jdGlvbih0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbih0KXtyZXR1cm4gZlt0LmdldFVUQ01vbnRoKCldfSxCOmZ1bmN0aW9uKHQpe3JldHVybiB1W3QuZ2V0VVRDTW9udGgoKV19LGM6bnVsbCxkOlBwLGU6UHAsZjpVcCxIOnpwLEk6UnAsajpMcCxMOkRwLG06cXAsTTpPcCxwOmZ1bmN0aW9uKHQpe3JldHVybiBpWysodC5nZXRVVENIb3VycygpPj0xMildfSxROldwLHM6WnAsUzpZcCx1OkJwLFU6RnAsVjpJcCx3OkhwLFc6anAseDpudWxsLFg6bnVsbCx5OlhwLFk6R3AsWjpWcCwiJSI6JHB9LHg9e2E6ZnVuY3Rpb24odCxuLGUpe3ZhciByPWQuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC53PXBbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sQTpmdW5jdGlvbih0LG4sZSl7dmFyIHI9bC5leGVjKG4uc2xpY2UoZSkpO3JldHVybiByPyh0Lnc9aFtyWzBdLnRvTG93ZXJDYXNlKCldLGUrclswXS5sZW5ndGgpOi0xfSxiOmZ1bmN0aW9uKHQsbixlKXt2YXIgcj15LmV4ZWMobi5zbGljZShlKSk7cmV0dXJuIHI/KHQubT1fW3JbMF0udG9Mb3dlckNhc2UoKV0sZStyWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24odCxuLGUpe3ZhciByPXYuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5tPWdbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sYzpmdW5jdGlvbih0LGUscil7cmV0dXJuIEEodCxuLGUscil9LGQ6aXAsZTppcCxmOnNwLEg6YXAsSTphcCxqOm9wLEw6Y3AsbTpycCxNOnVwLHA6ZnVuY3Rpb24odCxuLGUpe3ZhciByPWMuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5wPXNbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sUTpocCxzOmRwLFM6ZnAsdTpaZCxVOlFkLFY6SmQsdzpXZCxXOktkLHg6ZnVuY3Rpb24odCxuLHIpe3JldHVybiBBKHQsZSxuLHIpfSxYOmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gQSh0LHIsbixlKX0seTpucCxZOnRwLFo6ZXAsIiUiOmxwfTtmdW5jdGlvbiB3KHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByLGksbyxhPVtdLHU9LTEsZj0wLGM9dC5sZW5ndGg7Zm9yKGUgaW5zdGFuY2VvZiBEYXRlfHwoZT1uZXcgRGF0ZSgrZSkpOysrdTxjOykzNz09PXQuY2hhckNvZGVBdCh1KSYmKGEucHVzaCh0LnNsaWNlKGYsdSkpLG51bGwhPShpPUZkW3I9dC5jaGFyQXQoKyt1KV0pP3I9dC5jaGFyQXQoKyt1KTppPSJlIj09PXI/IiAiOiIwIiwobz1uW3JdKSYmKHI9byhlLGkpKSxhLnB1c2gociksZj11KzEpO3JldHVybiBhLnB1c2godC5zbGljZShmLHUpKSxhLmpvaW4oIiIpfX1mdW5jdGlvbiBNKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByLGksbz1PZCgxOTAwKTtpZihBKG8sdCxlKz0iIiwwKSE9ZS5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhpPShyPXFkKE9kKG8ueSkpKS5nZXRVVENEYXkoKSxyPWk+NHx8MD09PWk/YmQuY2VpbChyKTpiZChyKSxyPXZkLm9mZnNldChyLDcqKG8uVi0xKSksby55PXIuZ2V0VVRDRnVsbFllYXIoKSxvLm09ci5nZXRVVENNb250aCgpLG8uZD1yLmdldFVUQ0RhdGUoKSsoby53KzYpJTcpOihpPShyPW4oT2Qoby55KSkpLmdldERheSgpLHI9aT40fHwwPT09aT8kaC5jZWlsKHIpOiRoKHIpLHI9amgub2Zmc2V0KHIsNyooby5WLTEpKSxvLnk9ci5nZXRGdWxsWWVhcigpLG8ubT1yLmdldE1vbnRoKCksby5kPXIuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCksaT0iWiJpbiBvP3FkKE9kKG8ueSkpLmdldFVUQ0RheSgpOm4oT2Qoby55KSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShpKzUpJTc6by53Kzcqby5VLShpKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxxZChvKSk6bihvKX19ZnVuY3Rpb24gQSh0LG4sZSxyKXtmb3IodmFyIGksbyxhPTAsdT1uLmxlbmd0aCxmPWUubGVuZ3RoO2E8dTspe2lmKHI+PWYpcmV0dXJuLTE7aWYoMzc9PT0oaT1uLmNoYXJDb2RlQXQoYSsrKSkpe2lmKGk9bi5jaGFyQXQoYSsrKSwhKG89eFtpIGluIEZkP24uY2hhckF0KGErKyk6aV0pfHwocj1vKHQsZSxyKSk8MClyZXR1cm4tMX1lbHNlIGlmKGkhPWUuY2hhckNvZGVBdChyKyspKXJldHVybi0xfXJldHVybiByfXJldHVybiBiLng9dyhlLGIpLGIuWD13KHIsYiksYi5jPXcobixiKSxtLng9dyhlLG0pLG0uWD13KHIsbSksbS5jPXcobixtKSx7Zm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBuPXcodCs9IiIsYik7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0scGFyc2U6ZnVuY3Rpb24odCl7dmFyIG49TSh0Kz0iIixVZCk7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0sdXRjRm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBuPXcodCs9IiIsbSk7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0sdXRjUGFyc2U6ZnVuY3Rpb24odCl7dmFyIG49TSh0LHFkKTtyZXR1cm4gbi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxufX19dmFyIEJkLEZkPXsiLSI6IiIsXzoiICIsMDoiMCJ9LElkPS9eXHMqXGQrLyxIZD0vXiUvLGpkPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiBYZCh0LG4sZSl7dmFyIHI9dDwwPyItIjoiIixpPShyPy10OnQpKyIiLG89aS5sZW5ndGg7cmV0dXJuIHIrKG88ZT9uZXcgQXJyYXkoZS1vKzEpLmpvaW4obikraTppKX1mdW5jdGlvbiBHZCh0KXtyZXR1cm4gdC5yZXBsYWNlKGpkLCJcXCQmIil9ZnVuY3Rpb24gVmQodCl7cmV0dXJuIG5ldyBSZWdFeHAoIl4oPzoiK3QubWFwKEdkKS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gJGQodCl7Zm9yKHZhciBuPXt9LGU9LTEscj10Lmxlbmd0aDsrK2U8cjspblt0W2VdLnRvTG93ZXJDYXNlKCldPWU7cmV0dXJuIG59ZnVuY3Rpb24gV2QodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMSkpO3JldHVybiByPyh0Lnc9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gWmQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMSkpO3JldHVybiByPyh0LnU9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUWQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0LlU9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gSmQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0LlY9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gS2QodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0Llc9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdHAodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrNCkpO3JldHVybiByPyh0Lnk9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbnAodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0Lnk9K3JbMF0rKCtyWzBdPjY4PzE5MDA6MmUzKSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBlcCh0LG4sZSl7dmFyIHI9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMobi5zbGljZShlLGUrNikpO3JldHVybiByPyh0Llo9clsxXT8wOi0oclsyXSsoclszXXx8IjAwIikpLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHJwKHQsbixlKXt2YXIgcj1JZC5leGVjKG4uc2xpY2UoZSxlKzIpKTtyZXR1cm4gcj8odC5tPXJbMF0tMSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBpcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuZD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBvcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSszKSk7cmV0dXJuIHI/KHQubT0wLHQuZD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBhcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuSD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB1cCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuTT0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuUz0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBjcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSszKSk7cmV0dXJuIHI/KHQuTD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBzcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSs2KSk7cmV0dXJuIHI/KHQuTD1NYXRoLmZsb29yKHJbMF0vMWUzKSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBscCh0LG4sZSl7dmFyIHI9SGQuZXhlYyhuLnNsaWNlKGUsZSsxKSk7cmV0dXJuIHI/ZStyWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBocCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5RPStyWzBdLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGRwKHQsbixlKXt2YXIgcj1JZC5leGVjKG4uc2xpY2UoZSkpO3JldHVybiByPyh0LlE9MWUzKityWzBdLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHBwKHQsbil7cmV0dXJuIFhkKHQuZ2V0RGF0ZSgpLG4sMil9ZnVuY3Rpb24gdnAodCxuKXtyZXR1cm4gWGQodC5nZXRIb3VycygpLG4sMil9ZnVuY3Rpb24gZ3AodCxuKXtyZXR1cm4gWGQodC5nZXRIb3VycygpJTEyfHwxMixuLDIpfWZ1bmN0aW9uIHlwKHQsbil7cmV0dXJuIFhkKDEramguY291bnQoY2QodCksdCksbiwzKX1mdW5jdGlvbiBfcCh0LG4pe3JldHVybiBYZCh0LmdldE1pbGxpc2Vjb25kcygpLG4sMyl9ZnVuY3Rpb24gYnAodCxuKXtyZXR1cm4gX3AodCxuKSsiMDAwIn1mdW5jdGlvbiBtcCh0LG4pe3JldHVybiBYZCh0LmdldE1vbnRoKCkrMSxuLDIpfWZ1bmN0aW9uIHhwKHQsbil7cmV0dXJuIFhkKHQuZ2V0TWludXRlcygpLG4sMil9ZnVuY3Rpb24gd3AodCxuKXtyZXR1cm4gWGQodC5nZXRTZWNvbmRzKCksbiwyKX1mdW5jdGlvbiBNcCh0KXt2YXIgbj10LmdldERheSgpO3JldHVybiAwPT09bj83Om59ZnVuY3Rpb24gQXAodCxuKXtyZXR1cm4gWGQoVmguY291bnQoY2QodCksdCksbiwyKX1mdW5jdGlvbiBUcCh0LG4pe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIHQ9ZT49NHx8MD09PWU/UWgodCk6UWguY2VpbCh0KSxYZChRaC5jb3VudChjZCh0KSx0KSsoND09PWNkKHQpLmdldERheSgpKSxuLDIpfWZ1bmN0aW9uIE5wKHQpe3JldHVybiB0LmdldERheSgpfWZ1bmN0aW9uIFNwKHQsbil7cmV0dXJuIFhkKCRoLmNvdW50KGNkKHQpLHQpLG4sMil9ZnVuY3Rpb24gRXAodCxuKXtyZXR1cm4gWGQodC5nZXRGdWxsWWVhcigpJTEwMCxuLDIpfWZ1bmN0aW9uIGtwKHQsbil7cmV0dXJuIFhkKHQuZ2V0RnVsbFllYXIoKSUxZTQsbiw0KX1mdW5jdGlvbiBDcCh0KXt2YXIgbj10LmdldFRpbWV6b25lT2Zmc2V0KCk7cmV0dXJuKG4+MD8iLSI6KG4qPS0xLCIrIikpK1hkKG4vNjB8MCwiMCIsMikrWGQobiU2MCwiMCIsMil9ZnVuY3Rpb24gUHAodCxuKXtyZXR1cm4gWGQodC5nZXRVVENEYXRlKCksbiwyKX1mdW5jdGlvbiB6cCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0hvdXJzKCksbiwyKX1mdW5jdGlvbiBScCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0hvdXJzKCklMTJ8fDEyLG4sMil9ZnVuY3Rpb24gTHAodCxuKXtyZXR1cm4gWGQoMSt2ZC5jb3VudChMZCh0KSx0KSxuLDMpfWZ1bmN0aW9uIERwKHQsbil7cmV0dXJuIFhkKHQuZ2V0VVRDTWlsbGlzZWNvbmRzKCksbiwzKX1mdW5jdGlvbiBVcCh0LG4pe3JldHVybiBEcCh0LG4pKyIwMDAifWZ1bmN0aW9uIHFwKHQsbil7cmV0dXJuIFhkKHQuZ2V0VVRDTW9udGgoKSsxLG4sMil9ZnVuY3Rpb24gT3AodCxuKXtyZXR1cm4gWGQodC5nZXRVVENNaW51dGVzKCksbiwyKX1mdW5jdGlvbiBZcCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ1NlY29uZHMoKSxuLDIpfWZ1bmN0aW9uIEJwKHQpe3ZhciBuPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIDA9PT1uPzc6bn1mdW5jdGlvbiBGcCh0LG4pe3JldHVybiBYZChfZC5jb3VudChMZCh0KSx0KSxuLDIpfWZ1bmN0aW9uIElwKHQsbil7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gdD1lPj00fHwwPT09ZT93ZCh0KTp3ZC5jZWlsKHQpLFhkKHdkLmNvdW50KExkKHQpLHQpKyg0PT09TGQodCkuZ2V0VVRDRGF5KCkpLG4sMil9ZnVuY3Rpb24gSHAodCl7cmV0dXJuIHQuZ2V0VVRDRGF5KCl9ZnVuY3Rpb24ganAodCxuKXtyZXR1cm4gWGQoYmQuY291bnQoTGQodCksdCksbiwyKX1mdW5jdGlvbiBYcCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLG4sMil9ZnVuY3Rpb24gR3AodCxuKXtyZXR1cm4gWGQodC5nZXRVVENGdWxsWWVhcigpJTFlNCxuLDQpfWZ1bmN0aW9uIFZwKCl7cmV0dXJuIiswMDAwIn1mdW5jdGlvbiAkcCgpe3JldHVybiIlIn1mdW5jdGlvbiBXcCh0KXtyZXR1cm4rdH1mdW5jdGlvbiBacCh0KXtyZXR1cm4gTWF0aC5mbG9vcigrdC8xZTMpfWZ1bmN0aW9uIFFwKG4pe3JldHVybiBCZD1ZZChuKSx0LnRpbWVGb3JtYXQ9QmQuZm9ybWF0LHQudGltZVBhcnNlPUJkLnBhcnNlLHQudXRjRm9ybWF0PUJkLnV0Y0Zvcm1hdCx0LnV0Y1BhcnNlPUJkLnV0Y1BhcnNlLEJkfVFwKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7dmFyIEpwPURhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nP2Z1bmN0aW9uKHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9OnQudXRjRm9ybWF0KCIlWS0lbS0lZFQlSDolTTolUy4lTFoiKTt2YXIgS3A9K25ldyBEYXRlKCIyMDAwLTAxLTAxVDAwOjAwOjAwLjAwMFoiKT9mdW5jdGlvbih0KXt2YXIgbj1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4obik/bnVsbDpufTp0LnV0Y1BhcnNlKCIlWS0lbS0lZFQlSDolTTolUy4lTFoiKSx0dj0xZTMsbnY9NjAqdHYsZXY9NjAqbnYscnY9MjQqZXYsaXY9Nypydixvdj0zMCpydixhdj0zNjUqcnY7ZnVuY3Rpb24gdXYodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIGZ2KHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZT8rdDorbmV3IERhdGUoK3QpfWZ1bmN0aW9uIGN2KHQsbixyLGksbyxhLHUsZixjKXt2YXIgcz1taChnaCx2ZSksbD1zLmludmVydCxoPXMuZG9tYWluLGQ9YygiLiVMIikscD1jKCI6JVMiKSx2PWMoIiVJOiVNIiksZz1jKCIlSSAlcCIpLHk9YygiJWEgJWQiKSxfPWMoIiViICVkIiksYj1jKCIlQiIpLG09YygiJVkiKSx4PVtbdSwxLHR2XSxbdSw1LDUqdHZdLFt1LDE1LDE1KnR2XSxbdSwzMCwzMCp0dl0sW2EsMSxudl0sW2EsNSw1Km52XSxbYSwxNSwxNSpudl0sW2EsMzAsMzAqbnZdLFtvLDEsZXZdLFtvLDMsMypldl0sW28sNiw2KmV2XSxbbywxMiwxMipldl0sW2ksMSxydl0sW2ksMiwyKnJ2XSxbciwxLGl2XSxbbiwxLG92XSxbbiwzLDMqb3ZdLFt0LDEsYXZdXTtmdW5jdGlvbiBNKGUpe3JldHVybih1KGUpPGU/ZDphKGUpPGU/cDpvKGUpPGU/djppKGUpPGU/ZzpuKGUpPGU/cihlKTxlP3k6Xzp0KGUpPGU/YjptKShlKX1mdW5jdGlvbiBBKG4scixpLG8pe2lmKG51bGw9PW4mJihuPTEwKSwibnVtYmVyIj09dHlwZW9mIG4pe3ZhciBhPU1hdGguYWJzKGktcikvbix1PWUoZnVuY3Rpb24odCl7cmV0dXJuIHRbMl19KS5yaWdodCh4LGEpO3U9PT14Lmxlbmd0aD8obz13KHIvYXYsaS9hdixuKSxuPXQpOnU/KG89KHU9eFthL3hbdS0xXVsyXTx4W3VdWzJdL2E/dS0xOnVdKVsxXSxuPXVbMF0pOihvPU1hdGgubWF4KHcocixpLG4pLDEpLG49Zil9cmV0dXJuIG51bGw9PW8/bjpuLmV2ZXJ5KG8pfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IERhdGUobCh0KSl9LHMuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2goZmguY2FsbCh0LGZ2KSk6aCgpLm1hcCh1dil9LHMudGlja3M9ZnVuY3Rpb24odCxuKXt2YXIgZSxyPWgoKSxpPXJbMF0sbz1yW3IubGVuZ3RoLTFdLGE9bzxpO3JldHVybiBhJiYoZT1pLGk9byxvPWUpLGU9KGU9QSh0LGksbyxuKSk/ZS5yYW5nZShpLG8rMSk6W10sYT9lLnJldmVyc2UoKTplfSxzLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09bj9NOmMobil9LHMubmljZT1mdW5jdGlvbih0LG4pe3ZhciBlPWgoKTtyZXR1cm4odD1BKHQsZVswXSxlW2UubGVuZ3RoLTFdLG4pKT9oKHdoKGUsdCkpOnN9LHMuY29weT1mdW5jdGlvbigpe3JldHVybiBiaChzLGN2KHQsbixyLGksbyxhLHUsZixjKSl9LHN9ZnVuY3Rpb24gc3YodCl7Zm9yKHZhciBuPXQubGVuZ3RoLzZ8MCxlPW5ldyBBcnJheShuKSxyPTA7cjxuOyllW3JdPSIjIit0LnNsaWNlKDYqciw2Kisrcik7cmV0dXJuIGV9dmFyIGx2PXN2KCIxZjc3YjRmZjdmMGUyY2EwMmNkNjI3Mjg5NDY3YmQ4YzU2NGJlMzc3YzI3ZjdmN2ZiY2JkMjIxN2JlY2YiKSxodj1zdigiN2ZjOTdmYmVhZWQ0ZmRjMDg2ZmZmZjk5Mzg2Y2IwZjAwMjdmYmY1YjE3NjY2NjY2IiksZHY9c3YoIjFiOWU3N2Q5NWYwMjc1NzBiM2U3Mjk4YTY2YTYxZWU2YWIwMmE2NzYxZDY2NjY2NiIpLHB2PXN2KCJhNmNlZTMxZjc4YjRiMmRmOGEzM2EwMmNmYjlhOTllMzFhMWNmZGJmNmZmZjdmMDBjYWIyZDY2YTNkOWFmZmZmOTliMTU5MjgiKSx2dj1zdigiZmJiNGFlYjNjZGUzY2NlYmM1ZGVjYmU0ZmVkOWE2ZmZmZmNjZTVkOGJkZmRkYWVjZjJmMmYyIiksZ3Y9c3YoImIzZTJjZGZkY2RhY2NiZDVlOGY0Y2FlNGU2ZjVjOWZmZjJhZWYxZTJjY2NjY2NjYyIpLHl2PXN2KCJlNDFhMWMzNzdlYjg0ZGFmNGE5ODRlYTNmZjdmMDBmZmZmMzNhNjU2MjhmNzgxYmY5OTk5OTkiKSxfdj1zdigiNjZjMmE1ZmM4ZDYyOGRhMGNiZTc4YWMzYTZkODU0ZmZkOTJmZTVjNDk0YjNiM2IzIiksYnY9c3YoIjhkZDNjN2ZmZmZiM2JlYmFkYWZiODA3MjgwYjFkM2ZkYjQ2MmIzZGU2OWZjY2RlNWQ5ZDlkOWJjODBiZGNjZWJjNWZmZWQ2ZiIpO2Z1bmN0aW9uIG12KHQpe3JldHVybiBsZSh0W3QubGVuZ3RoLTFdKX12YXIgeHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZDhiMzY1ZjVmNWY1NWFiNGFjIiwiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwiOGM1MTBhZDhiMzY1ZjZlOGMzYzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIikubWFwKHN2KSx3dj1tdih4diksTXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiYWY4ZGMzZjdmN2Y3N2ZiZjdiIiwiN2IzMjk0YzJhNWNmYTZkYmEwMDA4ODM3IiwiN2IzMjk0YzJhNWNmZjdmN2Y3YTZkYmEwMDA4ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIikubWFwKHN2KSxBdj1tdihNdiksVHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwiZDAxYzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwiZDAxYzhiZjFiNmRhZjdmN2Y3YjhlMTg2NGRhYzI2IiwiYzUxYjdkZTlhM2M5ZmRlMGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IikubWFwKHN2KSxOdj1tdihUdiksU3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwiNWUzYzk5YjJhYmQyZjdmN2Y3ZmRiODYzZTY2MTAxIiwiNTQyNzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IikubWFwKHN2KSxFdj1tdihTdiksa3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZjdmN2Y3NjdhOWNmIiwiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwiY2EwMDIwZjRhNTgyZjdmN2Y3OTJjNWRlMDU3MWIwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIikubWFwKHN2KSxDdj1tdihrdiksUHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZmZmZmZmOTk5OTk5IiwiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQwIiwiY2EwMDIwZjRhNTgyZmZmZmZmYmFiYWJhNDA0MDQwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIikubWFwKHN2KSx6dj1tdihQdiksUnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFiZmRiIiwiZDcxOTFjZmRhZTYxYWJkOWU5MmM3YmI2IiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkOWU5MmM3YmI2IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IikubWFwKHN2KSxMdj1tdihSdiksRHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFjZjYwIiwiZDcxOTFjZmRhZTYxYTZkOTZhMWE5NjQxIiwiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZhMWE5NjQxIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZmZmZmJmZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IikubWFwKHN2KSxVdj1tdihEdikscXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTlkNTk0IiwiZDcxOTFjZmRhZTYxYWJkZGE0MmI4M2JhIiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4M2JhIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZmZmZmJmZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIikubWFwKHN2KSxPdj1tdihxdiksWXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWY5OTlkOGM5MmNhMjVmIiwiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKHN2KSxCdj1tdihZdiksRnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBlY2Y0OWViY2RhODg1NmE3IiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIikubWFwKHN2KSxJdj1tdihGdiksSHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBmM2RiYThkZGI1NDNhMmNhIiwiZjBmOWU4YmFlNGJjN2JjY2M0MmI4Y2JlIiwiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIikubWFwKHN2KSxqdj1tdihIdiksWHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlOGM4ZmRiYjg0ZTM0YTMzIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmYjMwMDAwN2YwMDAwIikubWFwKHN2KSxHdj1tdihYdiksVnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlMmYwYTZiZGRiMWM5MDk5IiwiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThhIiwiZjZlZmY3YmRjOWUxNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2IikubWFwKHN2KSwkdj1tdihWdiksV3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlN2YyYTZiZGRiMmI4Y2JlIiwiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwiZjFlZWY2YmRjOWUxNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IikubWFwKHN2KSxadj1tdihXdiksUXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTdlMWVmYzk5NGM3ZGQxYzc3IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwY2UxMjU2IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIikubWFwKHN2KSxKdj1tdihRdiksS3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmRlMGRkZmE5ZmI1YzUxYjhhIiwiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdlIiwiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3NDkwMDZhIikubWFwKHN2KSx0Zz1tdihLdiksbmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWRmOGIxN2ZjZGJiMmM3ZmI4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MjI1ZWE4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgxZDU4IikubWFwKHN2KSxlZz1tdihuZykscmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjdmY2I5YWRkZDhlMzFhMzU0IiwiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwiZmZmZmNjYzJlNjk5NzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IikubWFwKHN2KSxpZz1tdihyZyksb2c9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZmN2JjZmVjNDRmZDk1ZjBlIiwiZmZmZmQ0ZmVkOThlZmU5OTI5Y2M0YzAyIiwiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IikubWFwKHN2KSxhZz1tdihvZyksdWc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZlZGEwZmViMjRjZjAzYjIwIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZTMxYTFjIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IikubWFwKHN2KSxmZz1tdih1ZyksY2c9bmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKHN2KSxzZz1tdihjZyksbGc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWUwYTFkOTliMzFhMzU0IiwiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwiZWRmOGU5YmFlNGIzNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKHN2KSxoZz1tdihsZyksZGc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKHN2KSxwZz1tdihkZyksdmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWZlZGY1YmNiZGRjNzU2YmIxIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NmE1MWEzIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNTQyNzhmM2YwMDdkIikubWFwKHN2KSxnZz1tdih2ZykseWc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKHN2KSxfZz1tdih5ZyksYmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlNmNlZmRhZTZiZTY1NTBkIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZDk0NzAxIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxYTYzNjAzN2YyNzA0IikubWFwKHN2KSxtZz1tdihiZykseGc9R2UoS24oMzAwLC41LDApLEtuKC0yNDAsLjUsMSkpLHdnPUdlKEtuKC0xMDAsLjc1LC4zNSksS24oODAsMS41LC44KSksTWc9R2UoS24oMjYwLC43NSwuMzUpLEtuKDgwLDEuNSwuOCkpLEFnPUtuKCk7dmFyIFRnPWJuKCksTmc9TWF0aC5QSS8zLFNnPTIqTWF0aC5QSS8zO2Z1bmN0aW9uIEVnKHQpe3ZhciBuPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdFtNYXRoLm1heCgwLE1hdGgubWluKG4tMSxNYXRoLmZsb29yKGUqbikpKV19fXZhciBrZz1FZyhzdigiNDQwMTU0NDQwMjU2NDUwNDU3NDUwNTU5NDYwNzVhNDYwODVjNDYwYTVkNDYwYjVlNDcwZDYwNDcwZTYxNDcxMDYzNDcxMTY0NDcxMzY1NDgxNDY3NDgxNjY4NDgxNzY5NDgxODZhNDgxYTZjNDgxYjZkNDgxYzZlNDgxZDZmNDgxZjcwNDgyMDcxNDgyMTczNDgyMzc0NDgyNDc1NDgyNTc2NDgyNjc3NDgyODc4NDgyOTc5NDcyYTdhNDcyYzdhNDcyZDdiNDcyZTdjNDcyZjdkNDYzMDdlNDYzMjdlNDYzMzdmNDYzNDgwNDUzNTgxNDUzNzgxNDUzODgyNDQzOTgzNDQzYTgzNDQzYjg0NDMzZDg0NDMzZTg1NDIzZjg1NDI0MDg2NDI0MTg2NDE0Mjg3NDE0NDg3NDA0NTg4NDA0Njg4M2Y0Nzg4M2Y0ODg5M2U0OTg5M2U0YTg5M2U0YzhhM2Q0ZDhhM2Q0ZThhM2M0ZjhhM2M1MDhiM2I1MThiM2I1MjhiM2E1MzhiM2E1NDhjMzk1NThjMzk1NjhjMzg1ODhjMzg1OThjMzc1YThjMzc1YjhkMzY1YzhkMzY1ZDhkMzU1ZThkMzU1ZjhkMzQ2MDhkMzQ2MThkMzM2MjhkMzM2MzhkMzI2NDhlMzI2NThlMzE2NjhlMzE2NzhlMzE2ODhlMzA2OThlMzA2YThlMmY2YjhlMmY2YzhlMmU2ZDhlMmU2ZThlMmU2ZjhlMmQ3MDhlMmQ3MThlMmM3MThlMmM3MjhlMmM3MzhlMmI3NDhlMmI3NThlMmE3NjhlMmE3NzhlMmE3ODhlMjk3OThlMjk3YThlMjk3YjhlMjg3YzhlMjg3ZDhlMjc3ZThlMjc3ZjhlMjc4MDhlMjY4MThlMjY4MjhlMjY4MjhlMjU4MzhlMjU4NDhlMjU4NThlMjQ4NjhlMjQ4NzhlMjM4ODhlMjM4OThlMjM4YThkMjI4YjhkMjI4YzhkMjI4ZDhkMjE4ZThkMjE4ZjhkMjE5MDhkMjE5MThjMjA5MjhjMjA5MjhjMjA5MzhjMWY5NDhjMWY5NThiMWY5NjhiMWY5NzhiMWY5ODhiMWY5OThhMWY5YThhMWU5YjhhMWU5Yzg5MWU5ZDg5MWY5ZTg5MWY5Zjg4MWZhMDg4MWZhMTg4MWZhMTg3MWZhMjg3MjBhMzg2MjBhNDg2MjFhNTg1MjFhNjg1MjJhNzg1MjJhODg0MjNhOTgzMjRhYTgzMjVhYjgyMjVhYzgyMjZhZDgxMjdhZDgxMjhhZTgwMjlhZjdmMmFiMDdmMmNiMTdlMmRiMjdkMmViMzdjMmZiNDdjMzFiNTdiMzJiNjdhMzRiNjc5MzViNzc5MzdiODc4MzhiOTc3M2FiYTc2M2JiYjc1M2RiYzc0M2ZiYzczNDBiZDcyNDJiZTcxNDRiZjcwNDZjMDZmNDhjMTZlNGFjMTZkNGNjMjZjNGVjMzZiNTBjNDZhNTJjNTY5NTRjNTY4NTZjNjY3NThjNzY1NWFjODY0NWNjODYzNWVjOTYyNjBjYTYwNjNjYjVmNjVjYjVlNjdjYzVjNjljZDViNmNjZDVhNmVjZTU4NzBjZjU3NzNkMDU2NzVkMDU0NzdkMTUzN2FkMTUxN2NkMjUwN2ZkMzRlODFkMzRkODRkNDRiODZkNTQ5ODlkNTQ4OGJkNjQ2OGVkNjQ1OTBkNzQzOTNkNzQxOTVkODQwOThkODNlOWJkOTNjOWRkOTNiYTBkYTM5YTJkYTM3YTVkYjM2YThkYjM0YWFkYzMyYWRkYzMwYjBkZDJmYjJkZDJkYjVkZTJiYjhkZTI5YmFkZTI4YmRkZjI2YzBkZjI1YzJkZjIzYzVlMDIxYzhlMDIwY2FlMTFmY2RlMTFkZDBlMTFjZDJlMjFiZDVlMjFhZDhlMjE5ZGFlMzE5ZGRlMzE4ZGZlMzE4ZTJlNDE4ZTVlNDE5ZTdlNDE5ZWFlNTFhZWNlNTFiZWZlNTFjZjFlNTFkZjRlNjFlZjZlNjIwZjhlNjIxZmJlNzIzZmRlNzI1IikpLENnPUVnKHN2KCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMDkwMjAyMGIwMjAyMGQwMzAzMGYwMzAzMTIwNDA0MTQwNTA0MTYwNjA1MTgwNjA1MWEwNzA2MWMwODA3MWUwOTA3MjAwYTA4MjIwYjA5MjQwYzA5MjYwZDBhMjkwZTBiMmIxMDBiMmQxMTBjMmYxMjBkMzExMzBkMzQxNDBlMzYxNTBlMzgxNjBmM2IxODBmM2QxOTEwM2YxYTEwNDIxYzEwNDQxZDExNDcxZTExNDkyMDExNGIyMTExNGUyMjExNTAyNDEyNTMyNTEyNTUyNzEyNTgyOTExNWEyYTExNWMyYzExNWYyZDExNjEyZjExNjMzMTExNjUzMzEwNjczNDEwNjkzNjEwNmIzODEwNmMzOTBmNmUzYjBmNzAzZDBmNzEzZjBmNzI0MDBmNzQ0MjBmNzU0NDBmNzY0NTEwNzc0NzEwNzg0OTEwNzg0YTEwNzk0YzExN2E0ZTExN2I0ZjEyN2I1MTEyN2M1MjEzN2M1NDEzN2Q1NjE0N2Q1NzE1N2U1OTE1N2U1YTE2N2U1YzE2N2Y1ZDE3N2Y1ZjE4N2Y2MDE4ODA2MjE5ODA2NDFhODA2NTFhODA2NzFiODA2ODFjODE2YTFjODE2YjFkODE2ZDFkODE2ZTFlODE3MDFmODE3MjFmODE3MzIwODE3NTIxODE3NjIxODE3ODIyODE3OTIyODI3YjIzODI3YzIzODI3ZTI0ODI4MDI1ODI4MTI1ODE4MzI2ODE4NDI2ODE4NjI3ODE4ODI3ODE4OTI4ODE4YjI5ODE4YzI5ODE4ZTJhODE5MDJhODE5MTJiODE5MzJiODA5NDJjODA5NjJjODA5ODJkODA5OTJkODA5YjJlN2Y5YzJlN2Y5ZTJmN2ZhMDJmN2ZhMTMwN2VhMzMwN2VhNTMxN2VhNjMxN2RhODMyN2RhYTMzN2RhYjMzN2NhZDM0N2NhZTM0N2JiMDM1N2JiMjM1N2JiMzM2N2FiNTM2N2FiNzM3NzliODM3NzliYTM4NzhiYzM5NzhiZDM5NzdiZjNhNzdjMDNhNzZjMjNiNzVjNDNjNzVjNTNjNzRjNzNkNzNjODNlNzNjYTNlNzJjYzNmNzFjZDQwNzFjZjQwNzBkMDQxNmZkMjQyNmZkMzQzNmVkNTQ0NmRkNjQ1NmNkODQ1NmNkOTQ2NmJkYjQ3NmFkYzQ4NjlkZTQ5NjhkZjRhNjhlMDRjNjdlMjRkNjZlMzRlNjVlNDRmNjRlNTUwNjRlNzUyNjNlODUzNjJlOTU0NjJlYTU2NjFlYjU3NjBlYzU4NjBlZDVhNWZlZTViNWVlZjVkNWVmMDVmNWVmMTYwNWRmMjYyNWRmMjY0NWNmMzY1NWNmNDY3NWNmNDY5NWNmNTZiNWNmNjZjNWNmNjZlNWNmNzcwNWNmNzcyNWNmODc0NWNmODc2NWNmOTc4NWRmOTc5NWRmOTdiNWRmYTdkNWVmYTdmNWVmYTgxNWZmYjgzNWZmYjg1NjBmYjg3NjFmYzg5NjFmYzhhNjJmYzhjNjNmYzhlNjRmYzkwNjVmZDkyNjZmZDk0NjdmZDk2NjhmZDk4NjlmZDlhNmFmZDliNmJmZTlkNmNmZTlmNmRmZWExNmVmZWEzNmZmZWE1NzFmZWE3NzJmZWE5NzNmZWFhNzRmZWFjNzZmZWFlNzdmZWIwNzhmZWIyN2FmZWI0N2JmZWI2N2NmZWI3N2VmZWI5N2ZmZWJiODFmZWJkODJmZWJmODRmZWMxODVmZWMyODdmZWM0ODhmZWM2OGFmZWM4OGNmZWNhOGRmZWNjOGZmZWNkOTBmZWNmOTJmZWQxOTRmZWQzOTVmZWQ1OTdmZWQ3OTlmZWQ4OWFmZGRhOWNmZGRjOWVmZGRlYTBmZGUwYTFmZGUyYTNmZGUzYTVmZGU1YTdmZGU3YTlmZGU5YWFmZGViYWNmY2VjYWVmY2VlYjBmY2YwYjJmY2YyYjRmY2Y0YjZmY2Y2YjhmY2Y3YjlmY2Y5YmJmY2ZiYmRmY2ZkYmYiKSksUGc9RWcoc3YoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEwYTAyMDIwYzAyMDIwZTAzMDIxMDA0MDMxMjA0MDMxNDA1MDQxNzA2MDQxOTA3MDUxYjA4MDUxZDA5MDYxZjBhMDcyMjBiMDcyNDBjMDgyNjBkMDgyOTBlMDkyYjEwMDkyZDExMGEzMDEyMGEzMjE0MGIzNDE1MGIzNzE2MGIzOTE4MGMzYzE5MGMzZTFiMGM0MTFjMGM0MzFlMGM0NTFmMGM0ODIxMGM0YTIzMGM0YzI0MGM0ZjI2MGM1MTI4MGI1MzI5MGI1NTJiMGI1NzJkMGI1OTJmMGE1YjMxMGE1YzMyMGE1ZTM0MGE1ZjM2MDk2MTM4MDk2MjM5MDk2MzNiMDk2NDNkMDk2NTNlMDk2NjQwMGE2NzQyMGE2ODQ0MGE2ODQ1MGE2OTQ3MGI2YTQ5MGI2YTRhMGM2YjRjMGM2YjRkMGQ2YzRmMGQ2YzUxMGU2YzUyMGU2ZDU0MGY2ZDU1MGY2ZDU3MTA2ZTU5MTA2ZTVhMTE2ZTVjMTI2ZTVkMTI2ZTVmMTM2ZTYxMTM2ZTYyMTQ2ZTY0MTU2ZTY1MTU2ZTY3MTY2ZTY5MTY2ZTZhMTc2ZTZjMTg2ZTZkMTg2ZTZmMTk2ZTcxMTk2ZTcyMWE2ZTc0MWE2ZTc1MWI2ZTc3MWM2ZDc4MWM2ZDdhMWQ2ZDdjMWQ2ZDdkMWU2ZDdmMWU2YzgwMWY2YzgyMjA2Yzg0MjA2Yjg1MjE2Yjg3MjE2Yjg4MjI2YThhMjI2YThjMjM2OThkMjM2OThmMjQ2OTkwMjU2ODkyMjU2ODkzMjY2Nzk1MjY2Nzk3Mjc2Njk4Mjc2NjlhMjg2NTliMjk2NDlkMjk2NDlmMmE2M2EwMmE2M2EyMmI2MmEzMmM2MWE1MmM2MGE2MmQ2MGE4MmU1ZmE5MmU1ZWFiMmY1ZWFkMzA1ZGFlMzA1Y2IwMzE1YmIxMzI1YWIzMzI1YWI0MzM1OWI2MzQ1OGI3MzU1N2I5MzU1NmJhMzY1NWJjMzc1NGJkMzg1M2JmMzk1MmMwM2E1MWMxM2E1MGMzM2I0ZmM0M2M0ZWM2M2Q0ZGM3M2U0Y2M4M2Y0YmNhNDA0YWNiNDE0OWNjNDI0OGNlNDM0N2NmNDQ0NmQwNDU0NWQyNDY0NGQzNDc0M2Q0NDg0MmQ1NGE0MWQ3NGIzZmQ4NGMzZWQ5NGQzZGRhNGUzY2RiNTAzYmRkNTEzYWRlNTIzOGRmNTMzN2UwNTUzNmUxNTYzNWUyNTczNGUzNTkzM2U0NWEzMWU1NWMzMGU2NWQyZmU3NWUyZWU4NjAyZGU5NjEyYmVhNjMyYWViNjQyOWViNjYyOGVjNjcyNmVkNjkyNWVlNmEyNGVmNmMyM2VmNmUyMWYwNmYyMGYxNzExZmYxNzMxZGYyNzQxY2YzNzYxYmYzNzgxOWY0NzkxOGY1N2IxN2Y1N2QxNWY2N2UxNGY2ODAxM2Y3ODIxMmY3ODQxMGY4ODUwZmY4ODcwZWY4ODkwY2Y5OGIwYmY5OGMwYWY5OGUwOWZhOTAwOGZhOTIwN2ZhOTQwN2ZiOTYwNmZiOTcwNmZiOTkwNmZiOWIwNmZiOWQwN2ZjOWYwN2ZjYTEwOGZjYTMwOWZjYTUwYWZjYTYwY2ZjYTgwZGZjYWEwZmZjYWMxMWZjYWUxMmZjYjAxNGZjYjIxNmZjYjQxOGZiYjYxYWZiYjgxZGZiYmExZmZiYmMyMWZiYmUyM2ZhYzAyNmZhYzIyOGZhYzQyYWZhYzYyZGY5YzcyZmY5YzkzMmY5Y2IzNWY4Y2QzN2Y4Y2YzYWY3ZDEzZGY3ZDM0MGY2ZDU0M2Y2ZDc0NmY1ZDk0OWY1ZGI0Y2Y0ZGQ0ZmY0ZGY1M2Y0ZTE1NmYzZTM1YWYzZTU1ZGYyZTY2MWYyZTg2NWYyZWE2OWYxZWM2ZGYxZWQ3MWYxZWY3NWYxZjE3OWYyZjI3ZGYyZjQ4MmYzZjU4NmYzZjY4YWY0Zjg4ZWY1Zjk5MmY2ZmE5NmY4ZmI5YWY5ZmM5ZGZhZmRhMWZjZmZhNCIpKSx6Zz1FZyhzdigiMGQwODg3MTAwNzg4MTMwNzg5MTYwNzhhMTkwNjhjMWIwNjhkMWQwNjhlMjAwNjhmMjIwNjkwMjQwNjkxMjYwNTkxMjgwNTkyMmEwNTkzMmMwNTk0MmUwNTk1MmYwNTk2MzEwNTk3MzMwNTk3MzUwNDk4MzcwNDk5MzgwNDlhM2EwNDlhM2MwNDliM2UwNDljM2YwNDljNDEwNDlkNDMwMzllNDQwMzllNDYwMzlmNDgwMzlmNDkwM2EwNGIwM2ExNGMwMmExNGUwMmEyNTAwMmEyNTEwMmEzNTMwMmEzNTUwMmE0NTYwMWE0NTgwMWE0NTkwMWE1NWIwMWE1NWMwMWE2NWUwMWE2NjAwMWE2NjEwMGE3NjMwMGE3NjQwMGE3NjYwMGE3NjcwMGE4NjkwMGE4NmEwMGE4NmMwMGE4NmUwMGE4NmYwMGE4NzEwMGE4NzIwMWE4NzQwMWE4NzUwMWE4NzcwMWE4NzgwMWE4N2EwMmE4N2IwMmE4N2QwM2E4N2UwM2E4ODAwNGE4ODEwNGE3ODMwNWE3ODQwNWE3ODYwNmE2ODcwN2E2ODgwOGE2OGEwOWE1OGIwYWE1OGQwYmE1OGUwY2E0OGYwZGE0OTEwZWEzOTIwZmEzOTQxMGEyOTUxMWExOTYxM2ExOTgxNGEwOTkxNTlmOWExNjlmOWMxNzllOWQxODlkOWUxOTlkYTAxYTljYTExYjliYTIxZDlhYTMxZTlhYTUxZjk5YTYyMDk4YTcyMTk3YTgyMjk2YWEyMzk1YWIyNDk0YWMyNjk0YWQyNzkzYWUyODkyYjAyOTkxYjEyYTkwYjIyYjhmYjMyYzhlYjQyZThkYjUyZjhjYjYzMDhiYjczMThhYjgzMjg5YmEzMzg4YmIzNDg4YmMzNTg3YmQzNzg2YmUzODg1YmYzOTg0YzAzYTgzYzEzYjgyYzIzYzgxYzMzZDgwYzQzZTdmYzU0MDdlYzY0MTdkYzc0MjdjYzg0MzdiYzk0NDdhY2E0NTdhY2I0Njc5Y2M0Nzc4Y2M0OTc3Y2Q0YTc2Y2U0Yjc1Y2Y0Yzc0ZDA0ZDczZDE0ZTcyZDI0ZjcxZDM1MTcxZDQ1MjcwZDU1MzZmZDU1NDZlZDY1NTZkZDc1NjZjZDg1NzZiZDk1ODZhZGE1YTZhZGE1YjY5ZGI1YzY4ZGM1ZDY3ZGQ1ZTY2ZGU1ZjY1ZGU2MTY0ZGY2MjYzZTA2MzYzZTE2NDYyZTI2NTYxZTI2NjYwZTM2ODVmZTQ2OTVlZTU2YTVkZTU2YjVkZTY2YzVjZTc2ZTViZTc2ZjVhZTg3MDU5ZTk3MTU4ZTk3MjU3ZWE3NDU3ZWI3NTU2ZWI3NjU1ZWM3NzU0ZWQ3OTUzZWQ3YTUyZWU3YjUxZWY3YzUxZWY3ZTUwZjA3ZjRmZjA4MDRlZjE4MTRkZjE4MzRjZjI4NDRiZjM4NTRiZjM4NzRhZjQ4ODQ5ZjQ4OTQ4ZjU4YjQ3ZjU4YzQ2ZjY4ZDQ1ZjY4ZjQ0Zjc5MDQ0Zjc5MTQzZjc5MzQyZjg5NDQxZjg5NTQwZjk5NzNmZjk5ODNlZjk5YTNlZmE5YjNkZmE5YzNjZmE5ZTNiZmI5ZjNhZmJhMTM5ZmJhMjM4ZmNhMzM4ZmNhNTM3ZmNhNjM2ZmNhODM1ZmNhOTM0ZmRhYjMzZmRhYzMzZmRhZTMyZmRhZjMxZmRiMTMwZmRiMjJmZmRiNDJmZmRiNTJlZmViNzJkZmViODJjZmViYTJjZmViYjJiZmViZDJhZmViZTJhZmVjMDI5ZmRjMjI5ZmRjMzI4ZmRjNTI3ZmRjNjI3ZmRjODI3ZmRjYTI2ZmRjYjI2ZmNjZDI1ZmNjZTI1ZmNkMDI1ZmNkMjI1ZmJkMzI0ZmJkNTI0ZmJkNzI0ZmFkODI0ZmFkYTI0ZjlkYzI0ZjlkZDI1ZjhkZjI1ZjhlMTI1ZjdlMjI1ZjdlNDI1ZjZlNjI2ZjZlODI2ZjVlOTI2ZjVlYjI3ZjRlZDI3ZjNlZTI3ZjNmMDI3ZjJmMjI3ZjFmNDI2ZjFmNTI1ZjBmNzI0ZjBmOTIxIikpO2Z1bmN0aW9uIFJnKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX12YXIgTGc9TWF0aC5hYnMsRGc9TWF0aC5hdGFuMixVZz1NYXRoLmNvcyxxZz1NYXRoLm1heCxPZz1NYXRoLm1pbixZZz1NYXRoLnNpbixCZz1NYXRoLnNxcnQsRmc9MWUtMTIsSWc9TWF0aC5QSSxIZz1JZy8yLGpnPTIqSWc7ZnVuY3Rpb24gWGcodCl7cmV0dXJuIHQ+PTE/SGc6dDw9LTE/LUhnOk1hdGguYXNpbih0KX1mdW5jdGlvbiBHZyh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiBWZyh0KXtyZXR1cm4gdC5vdXRlclJhZGl1c31mdW5jdGlvbiAkZyh0KXtyZXR1cm4gdC5zdGFydEFuZ2xlfWZ1bmN0aW9uIFdnKHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIFpnKHQpe3JldHVybiB0JiZ0LnBhZEFuZ2xlfWZ1bmN0aW9uIFFnKHQsbixlLHIsaSxvLGEpe3ZhciB1PXQtZSxmPW4tcixjPShhP286LW8pL0JnKHUqdStmKmYpLHM9YypmLGw9LWMqdSxoPXQrcyxkPW4rbCxwPWUrcyx2PXIrbCxnPShoK3ApLzIseT0oZCt2KS8yLF89cC1oLGI9di1kLG09XypfK2IqYix4PWktbyx3PWgqdi1wKmQsTT0oYjwwPy0xOjEpKkJnKHFnKDAseCp4Km0tdyp3KSksQT0odypiLV8qTSkvbSxUPSgtdypfLWIqTSkvbSxOPSh3KmIrXypNKS9tLFM9KC13Kl8rYipNKS9tLEU9QS1nLGs9VC15LEM9Ti1nLFA9Uy15O3JldHVybiBFKkUrayprPkMqQytQKlAmJihBPU4sVD1TKSx7Y3g6QSxjeTpULHgwMTotcyx5MDE6LWwseDExOkEqKGkveC0xKSx5MTE6VCooaS94LTEpfX1mdW5jdGlvbiBKZyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gS2codCl7cmV0dXJuIG5ldyBKZyh0KX1mdW5jdGlvbiB0eSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBueSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBleSgpe3ZhciB0PXR5LG49bnksZT1SZyghMCkscj1udWxsLGk9S2csbz1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIHUsZixjLHM9YS5sZW5ndGgsbD0hMTtmb3IobnVsbD09ciYmKG89aShjPUdpKCkpKSx1PTA7dTw9czsrK3UpISh1PHMmJmUoZj1hW3VdLHUsYSkpPT09bCYmKChsPSFsKT9vLmxpbmVTdGFydCgpOm8ubGluZUVuZCgpKSxsJiZvLnBvaW50KCt0KGYsdSxhKSwrbihmLHUsYSkpO2lmKGMpcmV0dXJuIG89bnVsbCxjKyIifHxudWxsfXJldHVybiBhLng9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZygrbiksYSk6dH0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOm59LGEuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCEhdCksYSk6ZX0sYS5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LG51bGwhPXImJihvPWkocikpLGEpOml9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9yPW89bnVsbDpvPWkocj10KSxhKTpyfSxhfWZ1bmN0aW9uIHJ5KCl7dmFyIHQ9dHksbj1udWxsLGU9UmcoMCkscj1ueSxpPVJnKCEwKSxvPW51bGwsYT1LZyx1PW51bGw7ZnVuY3Rpb24gZihmKXt2YXIgYyxzLGwsaCxkLHA9Zi5sZW5ndGgsdj0hMSxnPW5ldyBBcnJheShwKSx5PW5ldyBBcnJheShwKTtmb3IobnVsbD09byYmKHU9YShkPUdpKCkpKSxjPTA7Yzw9cDsrK2Mpe2lmKCEoYzxwJiZpKGg9ZltjXSxjLGYpKT09PXYpaWYodj0hdilzPWMsdS5hcmVhU3RhcnQoKSx1LmxpbmVTdGFydCgpO2Vsc2V7Zm9yKHUubGluZUVuZCgpLHUubGluZVN0YXJ0KCksbD1jLTE7bD49czstLWwpdS5wb2ludChnW2xdLHlbbF0pO3UubGluZUVuZCgpLHUuYXJlYUVuZCgpfXYmJihnW2NdPSt0KGgsYyxmKSx5W2NdPStlKGgsYyxmKSx1LnBvaW50KG4/K24oaCxjLGYpOmdbY10scj8rcihoLGMsZik6eVtjXSkpfWlmKGQpcmV0dXJuIHU9bnVsbCxkKyIifHxudWxsfWZ1bmN0aW9uIGMoKXtyZXR1cm4gZXkoKS5kZWZpbmVkKGkpLmN1cnZlKGEpLmNvbnRleHQobyl9cmV0dXJuIGYueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlJnKCtlKSxuPW51bGwsZik6dH0sZi54MD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKCtuKSxmKTp0fSxmLngxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpufSxmLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCkscj1udWxsLGYpOmV9LGYueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6ZX0sZi55MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6cn0sZi5saW5lWDA9Zi5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShlKX0sZi5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShyKX0sZi5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngobikueShlKX0sZi5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoISF0KSxmKTppfSxmLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbnVsbCE9byYmKHU9YShvKSksZik6YX0sZi5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289dT1udWxsOnU9YShvPXQpLGYpOm99LGZ9ZnVuY3Rpb24gaXkodCxuKXtyZXR1cm4gbjx0Py0xOm4+dD8xOm4+PXQ/MDpOYU59ZnVuY3Rpb24gb3kodCl7cmV0dXJuIHR9SmcucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsbil9fX07dmFyIGF5PWZ5KEtnKTtmdW5jdGlvbiB1eSh0KXt0aGlzLl9jdXJ2ZT10fWZ1bmN0aW9uIGZ5KHQpe2Z1bmN0aW9uIG4obil7cmV0dXJuIG5ldyB1eSh0KG4pKX1yZXR1cm4gbi5fY3VydmU9dCxufWZ1bmN0aW9uIGN5KHQpe3ZhciBuPXQuY3VydmU7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9uKGZ5KHQpKTpuKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIHN5KCl7cmV0dXJuIGN5KGV5KCkuY3VydmUoYXkpKX1mdW5jdGlvbiBseSgpe3ZhciB0PXJ5KCkuY3VydmUoYXkpLG49dC5jdXJ2ZSxlPXQubGluZVgwLHI9dC5saW5lWDEsaT10LmxpbmVZMCxvPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gY3koZSgpKX0sZGVsZXRlIHQubGluZVgwLHQubGluZUVuZEFuZ2xlPWZ1bmN0aW9uKCl7cmV0dXJuIGN5KHIoKSl9LGRlbGV0ZSB0LmxpbmVYMSx0LmxpbmVJbm5lclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBjeShpKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gY3kobygpKX0sZGVsZXRlIHQubGluZVkxLHQuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihmeSh0KSk6bigpLl9jdXJ2ZX0sdH1mdW5jdGlvbiBoeSh0LG4pe3JldHVyblsobj0rbikqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxuKk1hdGguc2luKHQpXX11eS5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmFyZWFTdGFydCgpfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYUVuZCgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt0aGlzLl9jdXJ2ZS5wb2ludChuKk1hdGguc2luKHQpLG4qLU1hdGguY29zKHQpKX19O3ZhciBkeT1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gcHkodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIHZ5KHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBneSh0KXt2YXIgbj1weSxlPXZ5LHI9dHksaT1ueSxvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHU9ZHkuY2FsbChhcmd1bWVudHMpLGY9bi5hcHBseSh0aGlzLHUpLGM9ZS5hcHBseSh0aGlzLHUpO2lmKG98fChvPWE9R2koKSksdChvLCtyLmFwcGx5KHRoaXMsKHVbMF09Zix1KSksK2kuYXBwbHkodGhpcyx1KSwrci5hcHBseSh0aGlzLCh1WzBdPWMsdSkpLCtpLmFwcGx5KHRoaXMsdSkpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGEpOm59LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsYSk6ZX0sYS54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOnJ9LGEueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxhKTppfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX1mdW5jdGlvbiB5eSh0LG4sZSxyLGkpe3QubW92ZVRvKG4sZSksdC5iZXppZXJDdXJ2ZVRvKG49KG4rcikvMixlLG4saSxyLGkpfWZ1bmN0aW9uIF95KHQsbixlLHIsaSl7dC5tb3ZlVG8obixlKSx0LmJlemllckN1cnZlVG8obixlPShlK2kpLzIscixlLHIsaSl9ZnVuY3Rpb24gYnkodCxuLGUscixpKXt2YXIgbz1oeShuLGUpLGE9aHkobixlPShlK2kpLzIpLHU9aHkocixlKSxmPWh5KHIsaSk7dC5tb3ZlVG8ob1swXSxvWzFdKSx0LmJlemllckN1cnZlVG8oYVswXSxhWzFdLHVbMF0sdVsxXSxmWzBdLGZbMV0pfXZhciBteT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL0lnKTt0Lm1vdmVUbyhlLDApLHQuYXJjKDAsMCxlLDAsamcpfX0seHk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT1NYXRoLnNxcnQobi81KS8yO3QubW92ZVRvKC0zKmUsLWUpLHQubGluZVRvKC1lLC1lKSx0LmxpbmVUbygtZSwtMyplKSx0LmxpbmVUbyhlLC0zKmUpLHQubGluZVRvKGUsLWUpLHQubGluZVRvKDMqZSwtZSksdC5saW5lVG8oMyplLGUpLHQubGluZVRvKGUsZSksdC5saW5lVG8oZSwzKmUpLHQubGluZVRvKC1lLDMqZSksdC5saW5lVG8oLWUsZSksdC5saW5lVG8oLTMqZSxlKSx0LmNsb3NlUGF0aCgpfX0sd3k9TWF0aC5zcXJ0KDEvMyksTXk9Mip3eSxBeT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL015KSxyPWUqd3k7dC5tb3ZlVG8oMCwtZSksdC5saW5lVG8ociwwKSx0LmxpbmVUbygwLGUpLHQubGluZVRvKC1yLDApLHQuY2xvc2VQYXRoKCl9fSxUeT1NYXRoLnNpbihJZy8xMCkvTWF0aC5zaW4oNypJZy8xMCksTnk9TWF0aC5zaW4oamcvMTApKlR5LFN5PS1NYXRoLmNvcyhqZy8xMCkqVHksRXk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT1NYXRoLnNxcnQoLjg5MDgxMzA5MTUyOTI4NTIqbikscj1OeSplLGk9U3kqZTt0Lm1vdmVUbygwLC1lKSx0LmxpbmVUbyhyLGkpO2Zvcih2YXIgbz0xO288NTsrK28pe3ZhciBhPWpnKm8vNSx1PU1hdGguY29zKGEpLGY9TWF0aC5zaW4oYSk7dC5saW5lVG8oZiplLC11KmUpLHQubGluZVRvKHUqci1mKmksZipyK3UqaSl9dC5jbG9zZVBhdGgoKX19LGt5PXtkcmF3OmZ1bmN0aW9uKHQsbil7dmFyIGU9TWF0aC5zcXJ0KG4pLHI9LWUvMjt0LnJlY3QocixyLGUsZSl9fSxDeT1NYXRoLnNxcnQoMyksUHk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT0tTWF0aC5zcXJ0KG4vKDMqQ3kpKTt0Lm1vdmVUbygwLDIqZSksdC5saW5lVG8oLUN5KmUsLWUpLHQubGluZVRvKEN5KmUsLWUpLHQuY2xvc2VQYXRoKCl9fSx6eT1NYXRoLnNxcnQoMykvMixSeT0xL01hdGguc3FydCgxMiksTHk9MyooUnkvMisxKSxEeT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL0x5KSxyPWUvMixpPWUqUnksbz1yLGE9ZSpSeStlLHU9LW8sZj1hO3QubW92ZVRvKHIsaSksdC5saW5lVG8obyxhKSx0LmxpbmVUbyh1LGYpLHQubGluZVRvKC0uNSpyLXp5KmksenkqcistLjUqaSksdC5saW5lVG8oLS41Km8tenkqYSx6eSpvKy0uNSphKSx0LmxpbmVUbygtLjUqdS16eSpmLHp5KnUrLS41KmYpLHQubGluZVRvKC0uNSpyK3p5KmksLS41KmktenkqciksdC5saW5lVG8oLS41Km8renkqYSwtLjUqYS16eSpvKSx0LmxpbmVUbygtLjUqdSt6eSpmLC0uNSpmLXp5KnUpLHQuY2xvc2VQYXRoKCl9fSxVeT1bbXkseHksQXksa3ksRXksUHksRHldO2Z1bmN0aW9uIHF5KCl7fWZ1bmN0aW9uIE95KHQsbixlKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oKDIqdC5feDArdC5feDEpLzMsKDIqdC5feTArdC5feTEpLzMsKHQuX3gwKzIqdC5feDEpLzMsKHQuX3kwKzIqdC5feTEpLzMsKHQuX3gwKzQqdC5feDErbikvNiwodC5feTArNCp0Ll95MStlKS82KX1mdW5jdGlvbiBZeSh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gQnkodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIEZ5KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBJeSh0LG4pe3RoaXMuX2Jhc2lzPW5ldyBZeSh0KSx0aGlzLl9iZXRhPW59WXkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpPeSh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpPeSh0aGlzLHQsbil9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1ufX0sQnkucHJvdG90eXBlPXthcmVhU3RhcnQ6cXksYXJlYUVuZDpxeSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPW47YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1uO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9bix0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK24pLzYpO2JyZWFrO2RlZmF1bHQ6T3kodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9bn19LEZ5LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LG4pe3N3aXRjaCh0PSt0LG49K24sdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBlPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYscj0odGhpcy5feTArNCp0aGlzLl95MStuKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8oZSxyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhlLHIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6T3kodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9bn19LEl5LnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxuPXRoaXMuX3ksZT10Lmxlbmd0aC0xO2lmKGU+MClmb3IodmFyIHIsaT10WzBdLG89blswXSxhPXRbZV0taSx1PW5bZV0tbyxmPS0xOysrZjw9ZTspcj1mL2UsdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2ZdKygxLXRoaXMuX2JldGEpKihpK3IqYSksdGhpcy5fYmV0YSpuW2ZdKygxLXRoaXMuX2JldGEpKihvK3IqdSkpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrbil9fTt2YXIgSHk9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3JldHVybiAxPT09bj9uZXcgWXkodCk6bmV3IEl5KHQsbil9cmV0dXJuIGUuYmV0YT1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KC44NSk7ZnVuY3Rpb24gankodCxuLGUpe3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh0Ll94MSt0Ll9rKih0Ll94Mi10Ll94MCksdC5feTErdC5fayoodC5feTItdC5feTApLHQuX3gyK3QuX2sqKHQuX3gxLW4pLHQuX3kyK3QuX2sqKHQuX3kxLWUpLHQuX3gyLHQuX3kyKX1mdW5jdGlvbiBYeSh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLW4pLzZ9WHkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOmp5KHRoaXMsdGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl94MT10LHRoaXMuX3kxPW47YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTM7ZGVmYXVsdDpqeSh0aGlzLHQsbil9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1ufX07dmFyIEd5PWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFh5KHQsbil9cmV0dXJuIGUudGVuc2lvbj1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KDApO2Z1bmN0aW9uIFZ5KHQsbil7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtbikvNn1WeS5wcm90b3R5cGU9e2FyZWFTdGFydDpxeSxhcmVhRW5kOnF5LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1uO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9bik7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1uO2JyZWFrO2RlZmF1bHQ6ankodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciAkeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBWeSh0LG4pfXJldHVybiBlLnRlbnNpb249ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSgwKTtmdW5jdGlvbiBXeSh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLW4pLzZ9V3kucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6ankodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciBaeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBXeSh0LG4pfXJldHVybiBlLnRlbnNpb249ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSgwKTtmdW5jdGlvbiBReSh0LG4sZSl7dmFyIHI9dC5feDEsaT10Ll95MSxvPXQuX3gyLGE9dC5feTI7aWYodC5fbDAxX2E+Rmcpe3ZhciB1PTIqdC5fbDAxXzJhKzMqdC5fbDAxX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGY9Myp0Ll9sMDFfYSoodC5fbDAxX2ErdC5fbDEyX2EpO3I9KHIqdS10Ll94MCp0Ll9sMTJfMmErdC5feDIqdC5fbDAxXzJhKS9mLGk9KGkqdS10Ll95MCp0Ll9sMTJfMmErdC5feTIqdC5fbDAxXzJhKS9mfWlmKHQuX2wyM19hPkZnKXt2YXIgYz0yKnQuX2wyM18yYSszKnQuX2wyM19hKnQuX2wxMl9hK3QuX2wxMl8yYSxzPTMqdC5fbDIzX2EqKHQuX2wyM19hK3QuX2wxMl9hKTtvPShvKmMrdC5feDEqdC5fbDIzXzJhLW4qdC5fbDEyXzJhKS9zLGE9KGEqYyt0Ll95MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3N9dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHIsaSxvLGEsdC5feDIsdC5feTIpfWZ1bmN0aW9uIEp5KHQsbil7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPW59SnkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtpZih0PSt0LG49K24sdGhpcy5fcG9pbnQpe3ZhciBlPXRoaXMuX3gyLXQscj10aGlzLl95Mi1uO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3coZSplK3Iqcix0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsbik7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTM7ZGVmYXVsdDpReSh0aGlzLHQsbil9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciBLeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG4/bmV3IEp5KHQsbik6bmV3IFh5KHQsMCl9cmV0dXJuIGUuYWxwaGE9ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSguNSk7ZnVuY3Rpb24gdF8odCxuKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9bn10Xy5wcm90b3R5cGU9e2FyZWFTdGFydDpxeSxhcmVhRW5kOnF5LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsbil7aWYodD0rdCxuPStuLHRoaXMuX3BvaW50KXt2YXIgZT10aGlzLl94Mi10LHI9dGhpcy5feTItbjt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KGUqZStyKnIsdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9bjticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PW4pO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9bjticmVhaztkZWZhdWx0OlF5KHRoaXMsdCxuKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1ufX07dmFyIG5fPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbj9uZXcgdF8odCxuKTpuZXcgVnkodCwwKX1yZXR1cm4gZS5hbHBoYT1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KC41KTtmdW5jdGlvbiBlXyh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1ufWVfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LG4pe2lmKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7dmFyIGU9dGhpcy5feDItdCxyPXRoaXMuX3kyLW47dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhlKmUrcipyLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMuX3BvaW50PTQ7ZGVmYXVsdDpReSh0aGlzLHQsbil9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciByXz1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG4/bmV3IGVfKHQsbik6bmV3IFd5KHQsMCl9cmV0dXJuIGUuYWxwaGE9ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSguNSk7ZnVuY3Rpb24gaV8odCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIG9fKHQpe3JldHVybiB0PDA/LTE6MX1mdW5jdGlvbiBhXyh0LG4sZSl7dmFyIHI9dC5feDEtdC5feDAsaT1uLXQuX3gxLG89KHQuX3kxLXQuX3kwKS8ocnx8aTwwJiYtMCksYT0oZS10Ll95MSkvKGl8fHI8MCYmLTApLHU9KG8qaSthKnIpLyhyK2kpO3JldHVybihvXyhvKStvXyhhKSkqTWF0aC5taW4oTWF0aC5hYnMobyksTWF0aC5hYnMoYSksLjUqTWF0aC5hYnModSkpfHwwfWZ1bmN0aW9uIHVfKHQsbil7dmFyIGU9dC5feDEtdC5feDA7cmV0dXJuIGU/KDMqKHQuX3kxLXQuX3kwKS9lLW4pLzI6bn1mdW5jdGlvbiBmXyh0LG4sZSl7dmFyIHI9dC5feDAsaT10Ll95MCxvPXQuX3gxLGE9dC5feTEsdT0oby1yKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhyK3UsaSt1Km4sby11LGEtdSplLG8sYSl9ZnVuY3Rpb24gY18odCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHNfKHQpe3RoaXMuX2NvbnRleHQ9bmV3IGxfKHQpfWZ1bmN0aW9uIGxfKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBoXyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZF8odCl7dmFyIG4sZSxyPXQubGVuZ3RoLTEsaT1uZXcgQXJyYXkociksbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkocik7Zm9yKGlbMF09MCxvWzBdPTIsYVswXT10WzBdKzIqdFsxXSxuPTE7bjxyLTE7KytuKWlbbl09MSxvW25dPTQsYVtuXT00KnRbbl0rMip0W24rMV07Zm9yKGlbci0xXT0yLG9bci0xXT03LGFbci0xXT04KnRbci0xXSt0W3JdLG49MTtuPHI7KytuKWU9aVtuXS9vW24tMV0sb1tuXS09ZSxhW25dLT1lKmFbbi0xXTtmb3IoaVtyLTFdPWFbci0xXS9vW3ItMV0sbj1yLTI7bj49MDstLW4paVtuXT0oYVtuXS1pW24rMV0pL29bbl07Zm9yKG9bci0xXT0odFtyXStpW3ItMV0pLzIsbj0wO248ci0xOysrbilvW25dPTIqdFtuKzFdLWlbbisxXTtyZXR1cm5baSxvXX1mdW5jdGlvbiBwXyh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl90PW59ZnVuY3Rpb24gdl8odCxuKXtpZigoaT10Lmxlbmd0aCk+MSlmb3IodmFyIGUscixpLG89MSxhPXRbblswXV0sdT1hLmxlbmd0aDtvPGk7KytvKWZvcihyPWEsYT10W25bb11dLGU9MDtlPHU7KytlKWFbZV1bMV0rPWFbZV1bMF09aXNOYU4ocltlXVsxXSk/cltlXVswXTpyW2VdWzFdfWZ1bmN0aW9uIGdfKHQpe2Zvcih2YXIgbj10Lmxlbmd0aCxlPW5ldyBBcnJheShuKTstLW4+PTA7KWVbbl09bjtyZXR1cm4gZX1mdW5jdGlvbiB5Xyh0LG4pe3JldHVybiB0W25dfWZ1bmN0aW9uIF9fKHQpe3ZhciBuPXQubWFwKGJfKTtyZXR1cm4gZ18odCkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuW3RdLW5bZV19KX1mdW5jdGlvbiBiXyh0KXtmb3IodmFyIG4sZT0wLHI9LTEsaT10Lmxlbmd0aDsrK3I8aTspKG49K3Rbcl1bMV0pJiYoZSs9bik7cmV0dXJuIGV9ZnVuY3Rpb24gbV8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHhfKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHdfKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIE1fKCl7dGhpcy5fPW51bGx9ZnVuY3Rpb24gQV8odCl7dC5VPXQuQz10Lkw9dC5SPXQuUD10Lk49bnVsbH1mdW5jdGlvbiBUXyh0LG4pe3ZhciBlPW4scj1uLlIsaT1lLlU7aT9pLkw9PT1lP2kuTD1yOmkuUj1yOnQuXz1yLHIuVT1pLGUuVT1yLGUuUj1yLkwsZS5SJiYoZS5SLlU9ZSksci5MPWV9ZnVuY3Rpb24gTl8odCxuKXt2YXIgZT1uLHI9bi5MLGk9ZS5VO2k/aS5MPT09ZT9pLkw9cjppLlI9cjp0Ll89cixyLlU9aSxlLlU9cixlLkw9ci5SLGUuTCYmKGUuTC5VPWUpLHIuUj1lfWZ1bmN0aW9uIFNfKHQpe2Zvcig7dC5MOyl0PXQuTDtyZXR1cm4gdH1mdW5jdGlvbiBFXyh0LG4sZSxyKXt2YXIgaT1bbnVsbCxudWxsXSxvPUpfLnB1c2goaSktMTtyZXR1cm4gaS5sZWZ0PXQsaS5yaWdodD1uLGUmJkNfKGksdCxuLGUpLHImJkNfKGksbix0LHIpLFpfW3QuaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLFpfW24uaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLGl9ZnVuY3Rpb24ga18odCxuLGUpe3ZhciByPVtuLGVdO3JldHVybiByLmxlZnQ9dCxyfWZ1bmN0aW9uIENfKHQsbixlLHIpe3RbMF18fHRbMV0/dC5sZWZ0PT09ZT90WzFdPXI6dFswXT1yOih0WzBdPXIsdC5sZWZ0PW4sdC5yaWdodD1lKX1mdW5jdGlvbiBQXyh0LG4sZSxyLGkpe3ZhciBvLGE9dFswXSx1PXRbMV0sZj1hWzBdLGM9YVsxXSxzPTAsbD0xLGg9dVswXS1mLGQ9dVsxXS1jO2lmKG89bi1mLGh8fCEobz4wKSl7aWYoby89aCxoPDApe2lmKG88cylyZXR1cm47bzxsJiYobD1vKX1lbHNlIGlmKGg+MCl7aWYobz5sKXJldHVybjtvPnMmJihzPW8pfWlmKG89ci1mLGh8fCEobzwwKSl7aWYoby89aCxoPDApe2lmKG8+bClyZXR1cm47bz5zJiYocz1vKX1lbHNlIGlmKGg+MCl7aWYobzxzKXJldHVybjtvPGwmJihsPW8pfWlmKG89ZS1jLGR8fCEobz4wKSl7aWYoby89ZCxkPDApe2lmKG88cylyZXR1cm47bzxsJiYobD1vKX1lbHNlIGlmKGQ+MCl7aWYobz5sKXJldHVybjtvPnMmJihzPW8pfWlmKG89aS1jLGR8fCEobzwwKSl7aWYoby89ZCxkPDApe2lmKG8+bClyZXR1cm47bz5zJiYocz1vKX1lbHNlIGlmKGQ+MCl7aWYobzxzKXJldHVybjtvPGwmJihsPW8pfXJldHVybiEocz4wfHxsPDEpfHwocz4wJiYodFswXT1bZitzKmgsYytzKmRdKSxsPDEmJih0WzFdPVtmK2wqaCxjK2wqZF0pLCEwKX19fX19ZnVuY3Rpb24gel8odCxuLGUscixpKXt2YXIgbz10WzFdO2lmKG8pcmV0dXJuITA7dmFyIGEsdSxmPXRbMF0sYz10LmxlZnQscz10LnJpZ2h0LGw9Y1swXSxoPWNbMV0sZD1zWzBdLHA9c1sxXSx2PShsK2QpLzIsZz0oaCtwKS8yO2lmKHA9PT1oKXtpZih2PG58fHY+PXIpcmV0dXJuO2lmKGw+ZCl7aWYoZil7aWYoZlsxXT49aSlyZXR1cm59ZWxzZSBmPVt2LGVdO289W3YsaV19ZWxzZXtpZihmKXtpZihmWzFdPGUpcmV0dXJufWVsc2UgZj1bdixpXTtvPVt2LGVdfX1lbHNlIGlmKHU9Zy0oYT0obC1kKS8ocC1oKSkqdixhPC0xfHxhPjEpaWYobD5kKXtpZihmKXtpZihmWzFdPj1pKXJldHVybn1lbHNlIGY9WyhlLXUpL2EsZV07bz1bKGktdSkvYSxpXX1lbHNle2lmKGYpe2lmKGZbMV08ZSlyZXR1cm59ZWxzZSBmPVsoaS11KS9hLGldO289WyhlLXUpL2EsZV19ZWxzZSBpZihoPHApe2lmKGYpe2lmKGZbMF0+PXIpcmV0dXJufWVsc2UgZj1bbixhKm4rdV07bz1bcixhKnIrdV19ZWxzZXtpZihmKXtpZihmWzBdPG4pcmV0dXJufWVsc2UgZj1bcixhKnIrdV07bz1bbixhKm4rdV19cmV0dXJuIHRbMF09Zix0WzFdPW8sITB9ZnVuY3Rpb24gUl8odCxuKXt2YXIgZT10LnNpdGUscj1uLmxlZnQsaT1uLnJpZ2h0O3JldHVybiBlPT09aSYmKGk9cixyPWUpLGk/TWF0aC5hdGFuMihpWzFdLXJbMV0saVswXS1yWzBdKTooZT09PXI/KHI9blsxXSxpPW5bMF0pOihyPW5bMF0saT1uWzFdKSxNYXRoLmF0YW4yKHJbMF0taVswXSxpWzFdLXJbMV0pKX1mdW5jdGlvbiBMXyh0LG4pe3JldHVybiBuWysobi5sZWZ0IT09dC5zaXRlKV19ZnVuY3Rpb24gRF8odCxuKXtyZXR1cm4gblsrKG4ubGVmdD09PXQuc2l0ZSldfWlfLnByb3RvdHlwZT17YXJlYVN0YXJ0OnF5LGFyZWFFbmQ6cXksbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LG4pe3Q9K3Qsbj0rbix0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsbikpfX0sY18ucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5fdDA9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MSx0aGlzLl95MSk7YnJlYWs7Y2FzZSAzOmZfKHRoaXMsdGhpcy5fdDAsdV8odGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt2YXIgZT1OYU47aWYobj0rbiwodD0rdCkhPT10aGlzLl94MXx8biE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxuKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LG4pO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLGZfKHRoaXMsdV8odGhpcyxlPWFfKHRoaXMsdCxuKSksZSk7YnJlYWs7ZGVmYXVsdDpmXyh0aGlzLHRoaXMuX3QwLGU9YV8odGhpcyx0LG4pKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPW4sdGhpcy5fdDA9ZX19fSwoc18ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoY18ucHJvdG90eXBlKSkucG9pbnQ9ZnVuY3Rpb24odCxuKXtjXy5wcm90b3R5cGUucG9pbnQuY2FsbCh0aGlzLG4sdCl9LGxfLnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsbil7dGhpcy5fY29udGV4dC5tb3ZlVG8obix0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsbil7dGhpcy5fY29udGV4dC5saW5lVG8obix0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LG4sZSxyLGksbyl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKG4sdCxyLGUsbyxpKX19LGhfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsbj10aGlzLl95LGU9dC5sZW5ndGg7aWYoZSlpZih0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRbMF0sblswXSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odFswXSxuWzBdKSwyPT09ZSl0aGlzLl9jb250ZXh0LmxpbmVUbyh0WzFdLG5bMV0pO2Vsc2UgZm9yKHZhciByPWRfKHQpLGk9ZF8obiksbz0wLGE9MTthPGU7KytvLCsrYSl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oclswXVtvXSxpWzBdW29dLHJbMV1bb10saVsxXVtvXSx0W2FdLG5bYV0pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PWUpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LG4pe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtuKX19LHBfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9dGhpcy5feT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA8dGhpcy5fdCYmdGhpcy5fdDwxJiYyPT09dGhpcy5fcG9pbnQmJnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsdGhpcy5feSksKHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU+PTAmJih0aGlzLl90PTEtdGhpcy5fdCx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSl9LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsbik7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7ZGVmYXVsdDppZih0aGlzLl90PD0wKXRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsbiksdGhpcy5fY29udGV4dC5saW5lVG8odCxuKTtlbHNle3ZhciBlPXRoaXMuX3gqKDEtdGhpcy5fdCkrdCp0aGlzLl90O3RoaXMuX2NvbnRleHQubGluZVRvKGUsdGhpcy5feSksdGhpcy5fY29udGV4dC5saW5lVG8oZSxuKX19dGhpcy5feD10LHRoaXMuX3k9bn19LE1fLnByb3RvdHlwZT17Y29uc3RydWN0b3I6TV8saW5zZXJ0OmZ1bmN0aW9uKHQsbil7dmFyIGUscixpO2lmKHQpe2lmKG4uUD10LG4uTj10Lk4sdC5OJiYodC5OLlA9biksdC5OPW4sdC5SKXtmb3IodD10LlI7dC5MOyl0PXQuTDt0Lkw9bn1lbHNlIHQuUj1uO2U9dH1lbHNlIHRoaXMuXz8odD1TXyh0aGlzLl8pLG4uUD1udWxsLG4uTj10LHQuUD10Lkw9bixlPXQpOihuLlA9bi5OPW51bGwsdGhpcy5fPW4sZT1udWxsKTtmb3Iobi5MPW4uUj1udWxsLG4uVT1lLG4uQz0hMCx0PW47ZSYmZS5DOyllPT09KHI9ZS5VKS5MPyhpPXIuUikmJmkuQz8oZS5DPWkuQz0hMSxyLkM9ITAsdD1yKToodD09PWUuUiYmKFRfKHRoaXMsZSksZT0odD1lKS5VKSxlLkM9ITEsci5DPSEwLE5fKHRoaXMscikpOihpPXIuTCkmJmkuQz8oZS5DPWkuQz0hMSxyLkM9ITAsdD1yKToodD09PWUuTCYmKE5fKHRoaXMsZSksZT0odD1lKS5VKSxlLkM9ITEsci5DPSEwLFRfKHRoaXMscikpLGU9dC5VO3RoaXMuXy5DPSExfSxyZW1vdmU6ZnVuY3Rpb24odCl7dC5OJiYodC5OLlA9dC5QKSx0LlAmJih0LlAuTj10Lk4pLHQuTj10LlA9bnVsbDt2YXIgbixlLHIsaT10LlUsbz10LkwsYT10LlI7aWYoZT1vP2E/U18oYSk6bzphLGk/aS5MPT09dD9pLkw9ZTppLlI9ZTp0aGlzLl89ZSxvJiZhPyhyPWUuQyxlLkM9dC5DLGUuTD1vLG8uVT1lLGUhPT1hPyhpPWUuVSxlLlU9dC5VLHQ9ZS5SLGkuTD10LGUuUj1hLGEuVT1lKTooZS5VPWksaT1lLHQ9ZS5SKSk6KHI9dC5DLHQ9ZSksdCYmKHQuVT1pKSwhcilpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09aS5MKXtpZigobj1pLlIpLkMmJihuLkM9ITEsaS5DPSEwLFRfKHRoaXMsaSksbj1pLlIpLG4uTCYmbi5MLkN8fG4uUiYmbi5SLkMpe24uUiYmbi5SLkN8fChuLkwuQz0hMSxuLkM9ITAsTl8odGhpcyxuKSxuPWkuUiksbi5DPWkuQyxpLkM9bi5SLkM9ITEsVF8odGhpcyxpKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigobj1pLkwpLkMmJihuLkM9ITEsaS5DPSEwLE5fKHRoaXMsaSksbj1pLkwpLG4uTCYmbi5MLkN8fG4uUiYmbi5SLkMpe24uTCYmbi5MLkN8fChuLlIuQz0hMSxuLkM9ITAsVF8odGhpcyxuKSxuPWkuTCksbi5DPWkuQyxpLkM9bi5MLkM9ITEsTl8odGhpcyxpKSx0PXRoaXMuXzticmVha31uLkM9ITAsdD1pLGk9aS5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19O3ZhciBVXyxxXz1bXTtmdW5jdGlvbiBPXygpe0FfKHRoaXMpLHRoaXMueD10aGlzLnk9dGhpcy5hcmM9dGhpcy5zaXRlPXRoaXMuY3k9bnVsbH1mdW5jdGlvbiBZXyh0KXt2YXIgbj10LlAsZT10Lk47aWYobiYmZSl7dmFyIHI9bi5zaXRlLGk9dC5zaXRlLG89ZS5zaXRlO2lmKHIhPT1vKXt2YXIgYT1pWzBdLHU9aVsxXSxmPXJbMF0tYSxjPXJbMV0tdSxzPW9bMF0tYSxsPW9bMV0tdSxoPTIqKGYqbC1jKnMpO2lmKCEoaD49LXRiKSl7dmFyIGQ9ZipmK2MqYyxwPXMqcytsKmwsdj0obCpkLWMqcCkvaCxnPShmKnAtcypkKS9oLHk9cV8ucG9wKCl8fG5ldyBPXzt5LmFyYz10LHkuc2l0ZT1pLHkueD12K2EseS55PSh5LmN5PWcrdSkrTWF0aC5zcXJ0KHYqditnKmcpLHQuY2lyY2xlPXk7Zm9yKHZhciBfPW51bGwsYj1RXy5fO2I7KWlmKHkueTxiLnl8fHkueT09PWIueSYmeS54PD1iLngpe2lmKCFiLkwpe189Yi5QO2JyZWFrfWI9Yi5MfWVsc2V7aWYoIWIuUil7Xz1iO2JyZWFrfWI9Yi5SfVFfLmluc2VydChfLHkpLF98fChVXz15KX19fX1mdW5jdGlvbiBCXyh0KXt2YXIgbj10LmNpcmNsZTtuJiYobi5QfHwoVV89bi5OKSxRXy5yZW1vdmUobikscV8ucHVzaChuKSxBXyhuKSx0LmNpcmNsZT1udWxsKX12YXIgRl89W107ZnVuY3Rpb24gSV8oKXtBXyh0aGlzKSx0aGlzLmVkZ2U9dGhpcy5zaXRlPXRoaXMuY2lyY2xlPW51bGx9ZnVuY3Rpb24gSF8odCl7dmFyIG49Rl8ucG9wKCl8fG5ldyBJXztyZXR1cm4gbi5zaXRlPXQsbn1mdW5jdGlvbiBqXyh0KXtCXyh0KSxXXy5yZW1vdmUodCksRl8ucHVzaCh0KSxBXyh0KX1mdW5jdGlvbiBYXyh0KXt2YXIgbj10LmNpcmNsZSxlPW4ueCxyPW4uY3ksaT1bZSxyXSxvPXQuUCxhPXQuTix1PVt0XTtqXyh0KTtmb3IodmFyIGY9bztmLmNpcmNsZSYmTWF0aC5hYnMoZS1mLmNpcmNsZS54KTxLXyYmTWF0aC5hYnMoci1mLmNpcmNsZS5jeSk8S187KW89Zi5QLHUudW5zaGlmdChmKSxqXyhmKSxmPW87dS51bnNoaWZ0KGYpLEJfKGYpO2Zvcih2YXIgYz1hO2MuY2lyY2xlJiZNYXRoLmFicyhlLWMuY2lyY2xlLngpPEtfJiZNYXRoLmFicyhyLWMuY2lyY2xlLmN5KTxLXzspYT1jLk4sdS5wdXNoKGMpLGpfKGMpLGM9YTt1LnB1c2goYyksQl8oYyk7dmFyIHMsbD11Lmxlbmd0aDtmb3Iocz0xO3M8bDsrK3MpYz11W3NdLGY9dVtzLTFdLENfKGMuZWRnZSxmLnNpdGUsYy5zaXRlLGkpO2Y9dVswXSwoYz11W2wtMV0pLmVkZ2U9RV8oZi5zaXRlLGMuc2l0ZSxudWxsLGkpLFlfKGYpLFlfKGMpfWZ1bmN0aW9uIEdfKHQpe2Zvcih2YXIgbixlLHIsaSxvPXRbMF0sYT10WzFdLHU9V18uXzt1OylpZigocj1WXyh1LGEpLW8pPktfKXU9dS5MO2Vsc2V7aWYoISgoaT1vLSRfKHUsYSkpPktfKSl7cj4tS18/KG49dS5QLGU9dSk6aT4tS18/KG49dSxlPXUuTik6bj1lPXU7YnJlYWt9aWYoIXUuUil7bj11O2JyZWFrfXU9dS5SfSFmdW5jdGlvbih0KXtaX1t0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KHQpO3ZhciBmPUhfKHQpO2lmKFdfLmluc2VydChuLGYpLG58fGUpe2lmKG49PT1lKXJldHVybiBCXyhuKSxlPUhfKG4uc2l0ZSksV18uaW5zZXJ0KGYsZSksZi5lZGdlPWUuZWRnZT1FXyhuLnNpdGUsZi5zaXRlKSxZXyhuKSx2b2lkIFlfKGUpO2lmKGUpe0JfKG4pLEJfKGUpO3ZhciBjPW4uc2l0ZSxzPWNbMF0sbD1jWzFdLGg9dFswXS1zLGQ9dFsxXS1sLHA9ZS5zaXRlLHY9cFswXS1zLGc9cFsxXS1sLHk9MiooaCpnLWQqdiksXz1oKmgrZCpkLGI9dip2K2cqZyxtPVsoZypfLWQqYikveStzLChoKmItdipfKS95K2xdO0NfKGUuZWRnZSxjLHAsbSksZi5lZGdlPUVfKGMsdCxudWxsLG0pLGUuZWRnZT1FXyh0LHAsbnVsbCxtKSxZXyhuKSxZXyhlKX1lbHNlIGYuZWRnZT1FXyhuLnNpdGUsZi5zaXRlKX19ZnVuY3Rpb24gVl8odCxuKXt2YXIgZT10LnNpdGUscj1lWzBdLGk9ZVsxXSxvPWktbjtpZighbylyZXR1cm4gcjt2YXIgYT10LlA7aWYoIWEpcmV0dXJuLTEvMDt2YXIgdT0oZT1hLnNpdGUpWzBdLGY9ZVsxXSxjPWYtbjtpZighYylyZXR1cm4gdTt2YXIgcz11LXIsbD0xL28tMS9jLGg9cy9jO3JldHVybiBsPygtaCtNYXRoLnNxcnQoaCpoLTIqbCoocypzLygtMipjKS1mK2MvMitpLW8vMikpKS9sK3I6KHIrdSkvMn1mdW5jdGlvbiAkXyh0LG4pe3ZhciBlPXQuTjtpZihlKXJldHVybiBWXyhlLG4pO3ZhciByPXQuc2l0ZTtyZXR1cm4gclsxXT09PW4/clswXToxLzB9dmFyIFdfLFpfLFFfLEpfLEtfPTFlLTYsdGI9MWUtMTI7ZnVuY3Rpb24gbmIodCxuKXtyZXR1cm4gblsxXS10WzFdfHxuWzBdLXRbMF19ZnVuY3Rpb24gZWIodCxuKXt2YXIgZSxyLGksbz10LnNvcnQobmIpLnBvcCgpO2ZvcihKXz1bXSxaXz1uZXcgQXJyYXkodC5sZW5ndGgpLFdfPW5ldyBNXyxRXz1uZXcgTV87OylpZihpPVVfLG8mJighaXx8b1sxXTxpLnl8fG9bMV09PT1pLnkmJm9bMF08aS54KSlvWzBdPT09ZSYmb1sxXT09PXJ8fChHXyhvKSxlPW9bMF0scj1vWzFdKSxvPXQucG9wKCk7ZWxzZXtpZighaSlicmVhaztYXyhpLmFyYyl9aWYoZnVuY3Rpb24oKXtmb3IodmFyIHQsbixlLHIsaT0wLG89Wl8ubGVuZ3RoO2k8bzsrK2kpaWYoKHQ9Wl9baV0pJiYocj0obj10LmhhbGZlZGdlcykubGVuZ3RoKSl7dmFyIGE9bmV3IEFycmF5KHIpLHU9bmV3IEFycmF5KHIpO2ZvcihlPTA7ZTxyOysrZSlhW2VdPWUsdVtlXT1SXyh0LEpfW25bZV1dKTtmb3IoYS5zb3J0KGZ1bmN0aW9uKHQsbil7cmV0dXJuIHVbbl0tdVt0XX0pLGU9MDtlPHI7KytlKXVbZV09blthW2VdXTtmb3IoZT0wO2U8cjsrK2UpbltlXT11W2VdfX0oKSxuKXt2YXIgYT0rblswXVswXSx1PStuWzBdWzFdLGY9K25bMV1bMF0sYz0rblsxXVsxXTshZnVuY3Rpb24odCxuLGUscil7Zm9yKHZhciBpLG89Sl8ubGVuZ3RoO28tLTspel8oaT1KX1tvXSx0LG4sZSxyKSYmUF8oaSx0LG4sZSxyKSYmKE1hdGguYWJzKGlbMF1bMF0taVsxXVswXSk+S198fE1hdGguYWJzKGlbMF1bMV0taVsxXVsxXSk+S18pfHxkZWxldGUgSl9bb119KGEsdSxmLGMpLGZ1bmN0aW9uKHQsbixlLHIpe3ZhciBpLG8sYSx1LGYsYyxzLGwsaCxkLHAsdixnPVpfLmxlbmd0aCx5PSEwO2ZvcihpPTA7aTxnOysraSlpZihvPVpfW2ldKXtmb3IoYT1vLnNpdGUsdT0oZj1vLmhhbGZlZGdlcykubGVuZ3RoO3UtLTspSl9bZlt1XV18fGYuc3BsaWNlKHUsMSk7Zm9yKHU9MCxjPWYubGVuZ3RoO3U8YzspcD0oZD1EXyhvLEpfW2ZbdV1dKSlbMF0sdj1kWzFdLGw9KHM9TF8obyxKX1tmWysrdSVjXV0pKVswXSxoPXNbMV0sKE1hdGguYWJzKHAtbCk+S198fE1hdGguYWJzKHYtaCk+S18pJiYoZi5zcGxpY2UodSwwLEpfLnB1c2goa18oYSxkLE1hdGguYWJzKHAtdCk8S18mJnItdj5LXz9bdCxNYXRoLmFicyhsLXQpPEtfP2g6cl06TWF0aC5hYnModi1yKTxLXyYmZS1wPktfP1tNYXRoLmFicyhoLXIpPEtfP2w6ZSxyXTpNYXRoLmFicyhwLWUpPEtfJiZ2LW4+S18/W2UsTWF0aC5hYnMobC1lKTxLXz9oOm5dOk1hdGguYWJzKHYtbik8S18mJnAtdD5LXz9bTWF0aC5hYnMoaC1uKTxLXz9sOnQsbl06bnVsbCkpLTEpLCsrYyk7YyYmKHk9ITEpfWlmKHkpe3ZhciBfLGIsbSx4PTEvMDtmb3IoaT0wLHk9bnVsbDtpPGc7KytpKShvPVpfW2ldKSYmKG09KF89KGE9by5zaXRlKVswXS10KSpfKyhiPWFbMV0tbikqYik8eCYmKHg9bSx5PW8pO2lmKHkpe3ZhciB3PVt0LG5dLE09W3Qscl0sQT1bZSxyXSxUPVtlLG5dO3kuaGFsZmVkZ2VzLnB1c2goSl8ucHVzaChrXyhhPXkuc2l0ZSx3LE0pKS0xLEpfLnB1c2goa18oYSxNLEEpKS0xLEpfLnB1c2goa18oYSxBLFQpKS0xLEpfLnB1c2goa18oYSxULHcpKS0xKX19Zm9yKGk9MDtpPGc7KytpKShvPVpfW2ldKSYmKG8uaGFsZmVkZ2VzLmxlbmd0aHx8ZGVsZXRlIFpfW2ldKX0oYSx1LGYsYyl9dGhpcy5lZGdlcz1KXyx0aGlzLmNlbGxzPVpfLFdfPVFfPUpfPVpfPW51bGx9ZnVuY3Rpb24gcmIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGliKHQsbixlKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1uLHRoaXMudHJhbnNmb3JtPWV9ZnVuY3Rpb24gb2IodCxuLGUpe3RoaXMuaz10LHRoaXMueD1uLHRoaXMueT1lfWViLnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZWIscG9seWdvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLm1hcChmdW5jdGlvbihuKXt2YXIgZT1uLmhhbGZlZGdlcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIExfKG4sdFtlXSl9KTtyZXR1cm4gZS5kYXRhPW4uc2l0ZS5kYXRhLGV9KX0sdHJpYW5nbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9W10sbj10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oZSxyKXtpZihvPShpPWUuaGFsZmVkZ2VzKS5sZW5ndGgpZm9yKHZhciBpLG8sYSx1LGYsYyxzPWUuc2l0ZSxsPS0xLGg9bltpW28tMV1dLGQ9aC5sZWZ0PT09cz9oLnJpZ2h0OmgubGVmdDsrK2w8bzspYT1kLGQ9KGg9bltpW2xdXSkubGVmdD09PXM/aC5yaWdodDpoLmxlZnQsYSYmZCYmcjxhLmluZGV4JiZyPGQuaW5kZXgmJihmPWEsYz1kLCgodT1zKVswXS1jWzBdKSooZlsxXS11WzFdKS0odVswXS1mWzBdKSooY1sxXS11WzFdKTwwKSYmdC5wdXNoKFtzLmRhdGEsYS5kYXRhLGQuZGF0YV0pfSksdH0sbGlua3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQucmlnaHR9KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue3NvdXJjZTp0LmxlZnQuZGF0YSx0YXJnZXQ6dC5yaWdodC5kYXRhfX0pfSxmaW5kOmZ1bmN0aW9uKHQsbixlKXtmb3IodmFyIHIsaSxvPXRoaXMsYT1vLl9mb3VuZHx8MCx1PW8uY2VsbHMubGVuZ3RoOyEoaT1vLmNlbGxzW2FdKTspaWYoKythPj11KXJldHVybiBudWxsO3ZhciBmPXQtaS5zaXRlWzBdLGM9bi1pLnNpdGVbMV0scz1mKmYrYypjO2Rve2k9by5jZWxsc1tyPWFdLGE9bnVsbCxpLmhhbGZlZGdlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW8uZWRnZXNbZV0sdT1yLmxlZnQ7aWYodSE9PWkuc2l0ZSYmdXx8KHU9ci5yaWdodCkpe3ZhciBmPXQtdVswXSxjPW4tdVsxXSxsPWYqZitjKmM7bDxzJiYocz1sLGE9dS5pbmRleCl9fSl9d2hpbGUobnVsbCE9PWEpO3JldHVybiBvLl9mb3VuZD1yLG51bGw9PWV8fHM8PWUqZT9pLnNpdGU6bnVsbH19LG9iLnByb3RvdHlwZT17Y29uc3RydWN0b3I6b2Isc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IG9iKHRoaXMuayp0LHRoaXMueCx0aGlzLnkpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxuKXtyZXR1cm4gMD09PXQmMD09PW4/dGhpczpuZXcgb2IodGhpcy5rLHRoaXMueCt0aGlzLmsqdCx0aGlzLnkrdGhpcy5rKm4pfSxhcHBseTpmdW5jdGlvbih0KXtyZXR1cm5bdFswXSp0aGlzLmsrdGhpcy54LHRbMV0qdGhpcy5rK3RoaXMueV19LGFwcGx5WDpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy54fSxhcHBseVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQqdGhpcy5rK3RoaXMueX0saW52ZXJ0OmZ1bmN0aW9uKHQpe3JldHVyblsodFswXS10aGlzLngpL3RoaXMuaywodFsxXS10aGlzLnkpL3RoaXMua119LGludmVydFg6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy54KS90aGlzLmt9LGludmVydFk6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy55KS90aGlzLmt9LHJlc2NhbGVYOmZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoKS5kb21haW4odC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsdGhpcykubWFwKHQuaW52ZXJ0LHQpKX0scmVzY2FsZVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WSx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ0cmFuc2xhdGUoIit0aGlzLngrIiwiK3RoaXMueSsiKSBzY2FsZSgiK3RoaXMuaysiKSJ9fTt2YXIgYWI9bmV3IG9iKDEsMCwwKTtmdW5jdGlvbiB1Yih0KXtyZXR1cm4gdC5fX3pvb218fGFifWZ1bmN0aW9uIGZiKCl7dC5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjYigpe3QuZXZlbnQucHJldmVudERlZmF1bHQoKSx0LmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIHNiKCl7cmV0dXJuIXQuZXZlbnQuYnV0dG9ufWZ1bmN0aW9uIGxiKCl7dmFyIHQsbixlPXRoaXM7cmV0dXJuIGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50Pyh0PShlPWUub3duZXJTVkdFbGVtZW50fHxlKS53aWR0aC5iYXNlVmFsLnZhbHVlLG49ZS5oZWlnaHQuYmFzZVZhbC52YWx1ZSk6KHQ9ZS5jbGllbnRXaWR0aCxuPWUuY2xpZW50SGVpZ2h0KSxbWzAsMF0sW3Qsbl1dfWZ1bmN0aW9uIGhiKCl7cmV0dXJuIHRoaXMuX196b29tfHxhYn1mdW5jdGlvbiBkYigpe3JldHVybi10LmV2ZW50LmRlbHRhWSoodC5ldmVudC5kZWx0YU1vZGU/MTIwOjEpLzUwMH1mdW5jdGlvbiBwYigpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiB2Yih0LG4sZSl7dmFyIHI9dC5pbnZlcnRYKG5bMF1bMF0pLWVbMF1bMF0saT10LmludmVydFgoblsxXVswXSktZVsxXVswXSxvPXQuaW52ZXJ0WShuWzBdWzFdKS1lWzBdWzFdLGE9dC5pbnZlcnRZKG5bMV1bMV0pLWVbMV1bMV07cmV0dXJuIHQudHJhbnNsYXRlKGk+cj8ocitpKS8yOk1hdGgubWluKDAscil8fE1hdGgubWF4KDAsaSksYT5vPyhvK2EpLzI6TWF0aC5taW4oMCxvKXx8TWF0aC5tYXgoMCxhKSl9dWIucHJvdG90eXBlPW9iLnByb3RvdHlwZSx0LnZlcnNpb249IjUuNy4wIix0LmJpc2VjdD1pLHQuYmlzZWN0UmlnaHQ9aSx0LmJpc2VjdExlZnQ9byx0LmFzY2VuZGluZz1uLHQuYmlzZWN0b3I9ZSx0LmNyb3NzPWZ1bmN0aW9uKHQsbixlKXt2YXIgcixpLG8sdSxmPXQubGVuZ3RoLGM9bi5sZW5ndGgscz1uZXcgQXJyYXkoZipjKTtmb3IobnVsbD09ZSYmKGU9YSkscj1vPTA7cjxmOysrcilmb3IodT10W3JdLGk9MDtpPGM7KytpLCsrbylzW29dPWUodSxuW2ldKTtyZXR1cm4gc30sdC5kZXNjZW5kaW5nPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG48dD8tMTpuPnQ/MTpuPj10PzA6TmFOfSx0LmRldmlhdGlvbj1jLHQuZXh0ZW50PXMsdC5oaXN0b2dyYW09ZnVuY3Rpb24oKXt2YXIgdD12LG49cyxlPU07ZnVuY3Rpb24gcihyKXt2YXIgbyxhLHU9ci5sZW5ndGgsZj1uZXcgQXJyYXkodSk7Zm9yKG89MDtvPHU7KytvKWZbb109dChyW29dLG8scik7dmFyIGM9bihmKSxzPWNbMF0sbD1jWzFdLGg9ZShmLHMsbCk7QXJyYXkuaXNBcnJheShoKXx8KGg9dyhzLGwsaCksaD1nKE1hdGguY2VpbChzL2gpKmgsbCxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PXM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+bDspaC5wb3AoKSwtLWQ7dmFyIHAsdj1uZXcgQXJyYXkoZCsxKTtmb3Iobz0wO288PWQ7KytvKShwPXZbb109W10pLngwPW8+MD9oW28tMV06cyxwLngxPW88ZD9oW29dOmw7Zm9yKG89MDtvPHU7KytvKXM8PShhPWZbb10pJiZhPD1sJiZ2W2koaCxhLDAsZCldLnB1c2gocltvXSk7cmV0dXJuIHZ9cmV0dXJuIHIudmFsdWU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpwKG4pLHIpOnR9LHIuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cChbdFswXSx0WzFdXSkscik6bn0sci50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9wKGguY2FsbCh0KSk6cCh0KSxyKTplfSxyfSx0LnRocmVzaG9sZEZyZWVkbWFuRGlhY29uaXM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PWQuY2FsbCh0LHUpLnNvcnQobiksTWF0aC5jZWlsKChyLWUpLygyKihBKHQsLjc1KS1BKHQsLjI1KSkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdC50aHJlc2hvbGRTY290dD1mdW5jdGlvbih0LG4sZSl7cmV0dXJuIE1hdGguY2VpbCgoZS1uKS8oMy41KmModCkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdC50aHJlc2hvbGRTdHVyZ2VzPU0sdC5tYXg9VCx0Lm1lYW49ZnVuY3Rpb24odCxuKXt2YXIgZSxyPXQubGVuZ3RoLGk9cixvPS0xLGE9MDtpZihudWxsPT1uKWZvcig7KytvPHI7KWlzTmFOKGU9dSh0W29dKSk/LS1pOmErPWU7ZWxzZSBmb3IoOysrbzxyOylpc05hTihlPXUobih0W29dLG8sdCkpKT8tLWk6YSs9ZTtpZihpKXJldHVybiBhL2l9LHQubWVkaWFuPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaT10Lmxlbmd0aCxvPS0xLGE9W107aWYobnVsbD09ZSlmb3IoOysrbzxpOylpc05hTihyPXUodFtvXSkpfHxhLnB1c2gocik7ZWxzZSBmb3IoOysrbzxpOylpc05hTihyPXUoZSh0W29dLG8sdCkpKXx8YS5wdXNoKHIpO3JldHVybiBBKGEuc29ydChuKSwuNSl9LHQubWVyZ2U9Tix0Lm1pbj1TLHQucGFpcnM9ZnVuY3Rpb24odCxuKXtudWxsPT1uJiYobj1hKTtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLTEsaT10WzBdLG89bmV3IEFycmF5KHI8MD8wOnIpO2U8cjspb1tlXT1uKGksaT10WysrZV0pO3JldHVybiBvfSx0LnBlcm11dGU9ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9bi5sZW5ndGgscj1uZXcgQXJyYXkoZSk7ZS0tOylyW2VdPXRbbltlXV07cmV0dXJuIHJ9LHQucXVhbnRpbGU9QSx0LnJhbmdlPWcsdC5zY2FuPWZ1bmN0aW9uKHQsZSl7aWYocj10Lmxlbmd0aCl7dmFyIHIsaSxvPTAsYT0wLHU9dFthXTtmb3IobnVsbD09ZSYmKGU9bik7KytvPHI7KShlKGk9dFtvXSx1KTwwfHwwIT09ZSh1LHUpKSYmKHU9aSxhPW8pO3JldHVybiAwPT09ZSh1LHUpP2E6dm9pZCAwfX0sdC5zaHVmZmxlPWZ1bmN0aW9uKHQsbixlKXtmb3IodmFyIHIsaSxvPShudWxsPT1lP3QubGVuZ3RoOmUpLShuPW51bGw9PW4/MDorbik7bzspaT1NYXRoLnJhbmRvbSgpKm8tLXwwLHI9dFtvK25dLHRbbytuXT10W2krbl0sdFtpK25dPXI7cmV0dXJuIHR9LHQuc3VtPWZ1bmN0aW9uKHQsbil7dmFyIGUscj10Lmxlbmd0aCxpPS0xLG89MDtpZihudWxsPT1uKWZvcig7KytpPHI7KShlPSt0W2ldKSYmKG8rPWUpO2Vsc2UgZm9yKDsrK2k8cjspKGU9K24odFtpXSxpLHQpKSYmKG8rPWUpO3JldHVybiBvfSx0LnRpY2tzPW0sdC50aWNrSW5jcmVtZW50PXgsdC50aWNrU3RlcD13LHQudHJhbnNwb3NlPUUsdC52YXJpYW5jZT1mLHQuemlwPWZ1bmN0aW9uKCl7cmV0dXJuIEUoYXJndW1lbnRzKX0sdC5heGlzVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBCKHosdCl9LHQuYXhpc1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBCKFIsdCl9LHQuYXhpc0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gQihMLHQpfSx0LmF4aXNMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBCKEQsdCl9LHQuYnJ1c2g9ZnVuY3Rpb24oKXtyZXR1cm4gUmkod2kpfSx0LmJydXNoWD1mdW5jdGlvbigpe3JldHVybiBSaShtaSl9LHQuYnJ1c2hZPWZ1bmN0aW9uKCl7cmV0dXJuIFJpKHhpKX0sdC5icnVzaFNlbGVjdGlvbj1mdW5jdGlvbih0KXt2YXIgbj10Ll9fYnJ1c2g7cmV0dXJuIG4/bi5kaW0ub3V0cHV0KG4uc2VsZWN0aW9uKTpudWxsfSx0LmNob3JkPWZ1bmN0aW9uKCl7dmFyIHQ9MCxuPW51bGwsZT1udWxsLHI9bnVsbDtmdW5jdGlvbiBpKGkpe3ZhciBvLGEsdSxmLGMscyxsPWkubGVuZ3RoLGg9W10sZD1nKGwpLHA9W10sdj1bXSx5PXYuZ3JvdXBzPW5ldyBBcnJheShsKSxfPW5ldyBBcnJheShsKmwpO2ZvcihvPTAsYz0tMTsrK2M8bDspe2ZvcihhPTAscz0tMTsrK3M8bDspYSs9aVtjXVtzXTtoLnB1c2goYSkscC5wdXNoKGcobCkpLG8rPWF9Zm9yKG4mJmQuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKGhbdF0saFtlXSl9KSxlJiZwLmZvckVhY2goZnVuY3Rpb24odCxuKXt0LnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gZShpW25dW3RdLGlbbl1bcl0pfSl9KSxmPShvPVlpKDAsT2ktdCpsKS9vKT90Ok9pL2wsYT0wLGM9LTE7KytjPGw7KXtmb3IodT1hLHM9LTE7KytzPGw7KXt2YXIgYj1kW2NdLG09cFtiXVtzXSx4PWlbYl1bbV0sdz1hLE09YSs9eCpvO19bbSpsK2JdPXtpbmRleDpiLHN1YmluZGV4Om0sc3RhcnRBbmdsZTp3LGVuZEFuZ2xlOk0sdmFsdWU6eH19eVtiXT17aW5kZXg6YixzdGFydEFuZ2xlOnUsZW5kQW5nbGU6YSx2YWx1ZTpoW2JdfSxhKz1mfWZvcihjPS0xOysrYzxsOylmb3Iocz1jLTE7KytzPGw7KXt2YXIgQT1fW3MqbCtjXSxUPV9bYypsK3NdOyhBLnZhbHVlfHxULnZhbHVlKSYmdi5wdXNoKEEudmFsdWU8VC52YWx1ZT97c291cmNlOlQsdGFyZ2V0OkF9Ontzb3VyY2U6QSx0YXJnZXQ6VH0pfXJldHVybiByP3Yuc29ydChyKTp2fXJldHVybiBpLnBhZEFuZ2xlPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PVlpKDAsbiksaSk6dH0saS5zb3J0R3JvdXBzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsaSk6bn0saS5zb3J0U3ViZ3JvdXBzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsaSk6ZX0saS5zb3J0Q2hvcmRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P3I9bnVsbDoobj10LHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0LnNvdXJjZS52YWx1ZSt0LnRhcmdldC52YWx1ZSxlLnNvdXJjZS52YWx1ZStlLnRhcmdldC52YWx1ZSl9KS5fPXQsaSk6ciYmci5fO3ZhciBufSxpfSx0LnJpYmJvbj1mdW5jdGlvbigpe3ZhciB0PVZpLG49JGksZT1XaSxyPVppLGk9UWksbz1udWxsO2Z1bmN0aW9uIGEoKXt2YXIgYSx1PUJpLmNhbGwoYXJndW1lbnRzKSxmPXQuYXBwbHkodGhpcyx1KSxjPW4uYXBwbHkodGhpcyx1KSxzPStlLmFwcGx5KHRoaXMsKHVbMF09Zix1KSksbD1yLmFwcGx5KHRoaXMsdSktcWksaD1pLmFwcGx5KHRoaXMsdSktcWksZD1zKkxpKGwpLHA9cypEaShsKSx2PStlLmFwcGx5KHRoaXMsKHVbMF09Yyx1KSksZz1yLmFwcGx5KHRoaXMsdSktcWkseT1pLmFwcGx5KHRoaXMsdSktcWk7aWYob3x8KG89YT1HaSgpKSxvLm1vdmVUbyhkLHApLG8uYXJjKDAsMCxzLGwsaCksbD09PWcmJmg9PT15fHwoby5xdWFkcmF0aWNDdXJ2ZVRvKDAsMCx2KkxpKGcpLHYqRGkoZykpLG8uYXJjKDAsMCx2LGcseSkpLG8ucXVhZHJhdGljQ3VydmVUbygwLDAsZCxwKSxvLmNsb3NlUGF0aCgpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZpKCt0KSxhKTplfSxhLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpGaSgrdCksYSk6cn0sYS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZpKCt0KSxhKTppfSxhLnNvdXJjZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uLGEpOnR9LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsYSk6bn0sYS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPW51bGw9PXQ/bnVsbDp0LGEpOm99LGF9LHQubmVzdD1mdW5jdGlvbigpe3ZhciB0LG4sZSxyPVtdLGk9W107ZnVuY3Rpb24gbyhlLGksYSx1KXtpZihpPj1yLmxlbmd0aClyZXR1cm4gbnVsbCE9dCYmZS5zb3J0KHQpLG51bGwhPW4/bihlKTplO2Zvcih2YXIgZixjLHMsbD0tMSxoPWUubGVuZ3RoLGQ9cltpKytdLHA9S2koKSx2PWEoKTsrK2w8aDspKHM9cC5nZXQoZj1kKGM9ZVtsXSkrIiIpKT9zLnB1c2goYyk6cC5zZXQoZixbY10pO3JldHVybiBwLmVhY2goZnVuY3Rpb24odCxuKXt1KHYsbixvKHQsaSxhLHUpKX0pLHZ9cmV0dXJuIGU9e29iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4gbyh0LDAsdG8sbm8pfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCwwLGVvLHJvKX0sZW50cmllczpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24gdChlLG8pe2lmKCsrbz5yLmxlbmd0aClyZXR1cm4gZTt2YXIgYSx1PWlbby0xXTtyZXR1cm4gbnVsbCE9biYmbz49ci5sZW5ndGg/YT1lLmVudHJpZXMoKTooYT1bXSxlLmVhY2goZnVuY3Rpb24obixlKXthLnB1c2goe2tleTplLHZhbHVlczp0KG4sbyl9KX0pKSxudWxsIT11P2Euc29ydChmdW5jdGlvbih0LG4pe3JldHVybiB1KHQua2V5LG4ua2V5KX0pOmF9KG8odCwwLGVvLHJvKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiByLnB1c2godCksZX0sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIGlbci5sZW5ndGgtMV09dCxlfSxzb3J0VmFsdWVzOmZ1bmN0aW9uKG4pe3JldHVybiB0PW4sZX0scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBuPXQsZX19fSx0LnNldD1hbyx0Lm1hcD1LaSx0LmtleXM9ZnVuY3Rpb24odCl7dmFyIG49W107Zm9yKHZhciBlIGluIHQpbi5wdXNoKGUpO3JldHVybiBufSx0LnZhbHVlcz1mdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIGUgaW4gdCluLnB1c2godFtlXSk7cmV0dXJuIG59LHQuZW50cmllcz1mdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIGUgaW4gdCluLnB1c2goe2tleTplLHZhbHVlOnRbZV19KTtyZXR1cm4gbn0sdC5jb2xvcj12bix0LnJnYj1ibix0LmhzbD1Nbix0LmxhYj1Vbix0LmhjbD1Ibix0LmxjaD1mdW5jdGlvbih0LG4sZSxyKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/SW4odCk6bmV3IGpuKGUsbix0LG51bGw9PXI/MTpyKX0sdC5ncmF5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBxbih0LDAsMCxudWxsPT1uPzE6bil9LHQuY3ViZWhlbGl4PUtuLHQuY29udG91cnM9Z28sdC5jb250b3VyRGVuc2l0eT1mdW5jdGlvbigpe3ZhciB0PWJvLG49bW8sZT14byxyPTk2MCxpPTUwMCxvPTIwLGE9Mix1PTMqbyxmPXIrMip1Pj5hLGM9aSsyKnU+PmEscz1jbygyMCk7ZnVuY3Rpb24gbChyKXt2YXIgaT1uZXcgRmxvYXQzMkFycmF5KGYqYyksbD1uZXcgRmxvYXQzMkFycmF5KGYqYyk7ci5mb3JFYWNoKGZ1bmN0aW9uKHIsbyxzKXt2YXIgbD0rdChyLG8scykrdT4+YSxoPStuKHIsbyxzKSt1Pj5hLGQ9K2UocixvLHMpO2w+PTAmJmw8ZiYmaD49MCYmaDxjJiYoaVtsK2gqZl0rPWQpfSkseW8oe3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTppfSx7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOmx9LG8+PmEpLF9vKHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6bH0se3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTppfSxvPj5hKSx5byh7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOml9LHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6bH0sbz4+YSksX28oe3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTpsfSx7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOml9LG8+PmEpLHlvKHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6aX0se3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTpsfSxvPj5hKSxfbyh7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOmx9LHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6aX0sbz4+YSk7dmFyIGQ9cyhpKTtpZighQXJyYXkuaXNBcnJheShkKSl7dmFyIHA9VChpKTtkPXcoMCxwLGQpLChkPWcoMCxNYXRoLmZsb29yKHAvZCkqZCxkKSkuc2hpZnQoKX1yZXR1cm4gZ28oKS50aHJlc2hvbGRzKGQpLnNpemUoW2YsY10pKGkpLm1hcChoKX1mdW5jdGlvbiBoKHQpe3JldHVybiB0LnZhbHVlKj1NYXRoLnBvdygyLC0yKmEpLHQuY29vcmRpbmF0ZXMuZm9yRWFjaChkKSx0fWZ1bmN0aW9uIGQodCl7dC5mb3JFYWNoKHApfWZ1bmN0aW9uIHAodCl7dC5mb3JFYWNoKHYpfWZ1bmN0aW9uIHYodCl7dFswXT10WzBdKk1hdGgucG93KDIsYSktdSx0WzFdPXRbMV0qTWF0aC5wb3coMixhKS11fWZ1bmN0aW9uIHkoKXtyZXR1cm4gZj1yKzIqKHU9MypvKT4+YSxjPWkrMip1Pj5hLGx9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOmNvKCtuKSxsKTp0fSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjbygrdCksbCk6bn0sbC53ZWlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjbygrdCksbCk6ZX0sbC5zaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltyLGldO3ZhciBuPU1hdGguY2VpbCh0WzBdKSxlPU1hdGguY2VpbCh0WzFdKTtpZighKG4+PTB8fG4+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHI9bixpPWUseSgpfSxsLmNlbGxTaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiAxPDxhO2lmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2VsbCBzaXplIik7cmV0dXJuIGE9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMikseSgpfSxsLnRocmVzaG9sZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBcnJheS5pc0FycmF5KHQpP2NvKHVvLmNhbGwodCkpOmNvKHQpLGwpOnN9LGwuYmFuZHdpZHRoPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBNYXRoLnNxcnQobyoobysxKSk7aWYoISgodD0rdCk+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgiKTtyZXR1cm4gbz1NYXRoLnJvdW5kKChNYXRoLnNxcnQoNCp0KnQrMSktMSkvMikseSgpfSxsfSx0LmRpc3BhdGNoPUksdC5kcmFnPWZ1bmN0aW9uKCl7dmFyIG4sZSxyLGksbz1XdCxhPVp0LHU9UXQsZj1KdCxjPXt9LHM9SSgic3RhcnQiLCJkcmFnIiwiZW5kIiksbD0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIoZikub24oInRvdWNoc3RhcnQuZHJhZyIseSkub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIixiKS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHU9bSgibW91c2UiLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpLEZ0LHRoaXMsYXJndW1lbnRzKTt1JiYoRHQodC5ldmVudC52aWV3KS5vbigibW91c2Vtb3ZlLmRyYWciLHYsITApLm9uKCJtb3VzZXVwLmRyYWciLGcsITApLFh0KHQuZXZlbnQudmlldyksSHQoKSxyPSExLG49dC5ldmVudC5jbGllbnRYLGU9dC5ldmVudC5jbGllbnRZLHUoInN0YXJ0IikpfX1mdW5jdGlvbiB2KCl7aWYoanQoKSwhcil7dmFyIGk9dC5ldmVudC5jbGllbnRYLW4sbz10LmV2ZW50LmNsaWVudFktZTtyPWkqaStvKm8+aH1jLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gZygpe0R0KHQuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIG1vdXNldXAuZHJhZyIsbnVsbCksR3QodC5ldmVudC52aWV3LHIpLGp0KCksYy5tb3VzZSgiZW5kIil9ZnVuY3Rpb24geSgpe2lmKG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxpPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLHU9ci5sZW5ndGg7Zm9yKG49MDtuPHU7KytuKShlPW0ocltuXS5pZGVudGlmaWVyLGksSXQsdGhpcyxhcmd1bWVudHMpKSYmKEh0KCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxpPXIubGVuZ3RoO2ZvcihuPTA7bjxpOysrbikoZT1jW3Jbbl0uaWRlbnRpZmllcl0pJiYoanQoKSxlKCJkcmFnIikpfWZ1bmN0aW9uIGIoKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxvPXIubGVuZ3RoO2ZvcihpJiZjbGVhclRpbWVvdXQoaSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aT1udWxsfSw1MDApLG49MDtuPG87KytuKShlPWNbcltuXS5pZGVudGlmaWVyXSkmJihIdCgpLGUoImVuZCIpKX1mdW5jdGlvbiBtKG4sZSxyLGksbyl7dmFyIGEsZixoLHA9cihlLG4pLHY9cy5jb3B5KCk7aWYoQ3QobmV3ICR0KGQsImJlZm9yZXN0YXJ0IixhLG4sbCxwWzBdLHBbMV0sMCwwLHYpLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPSh0LmV2ZW50LnN1YmplY3Q9YT11LmFwcGx5KGksbykpJiYoZj1hLngtcFswXXx8MCxoPWEueS1wWzFdfHwwLCEwKX0pKXJldHVybiBmdW5jdGlvbiB0KHUpe3ZhciBzLGc9cDtzd2l0Y2godSl7Y2FzZSJzdGFydCI6Y1tuXT10LHM9bCsrO2JyZWFrO2Nhc2UiZW5kIjpkZWxldGUgY1tuXSwtLWw7Y2FzZSJkcmFnIjpwPXIoZSxuKSxzPWx9Q3QobmV3ICR0KGQsdSxhLG4scyxwWzBdK2YscFsxXStoLHBbMF0tZ1swXSxwWzFdLWdbMV0sdiksdi5hcHBseSx2LFt1LGksb10pfX1yZXR1cm4gZC5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpWdCghIXQpLGQpOm99LGQuY29udGFpbmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VnQodCksZCk6YX0sZC5zdWJqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VnQodCksZCk6dX0sZC50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpWdCghIXQpLGQpOmZ9LGQub249ZnVuY3Rpb24oKXt2YXIgdD1zLm9uLmFwcGx5KHMsYXJndW1lbnRzKTtyZXR1cm4gdD09PXM/ZDp0fSxkLmNsaWNrRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9KHQ9K3QpKnQsZCk6TWF0aC5zcXJ0KGgpfSxkfSx0LmRyYWdEaXNhYmxlPVh0LHQuZHJhZ0VuYWJsZT1HdCx0LmRzdkZvcm1hdD1Fbyx0LmNzdlBhcnNlPUNvLHQuY3N2UGFyc2VSb3dzPVBvLHQuY3N2Rm9ybWF0PXpvLHQuY3N2Rm9ybWF0Um93cz1Sbyx0LnRzdlBhcnNlPURvLHQudHN2UGFyc2VSb3dzPVVvLHQudHN2Rm9ybWF0PXFvLHQudHN2Rm9ybWF0Um93cz1Pbyx0LmVhc2VMaW5lYXI9ZnVuY3Rpb24odCl7cmV0dXJuK3R9LHQuZWFzZVF1YWQ9RHIsdC5lYXNlUXVhZEluPWZ1bmN0aW9uKHQpe3JldHVybiB0KnR9LHQuZWFzZVF1YWRPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQqKDItdCl9LHQuZWFzZVF1YWRJbk91dD1Ecix0LmVhc2VDdWJpYz1Vcix0LmVhc2VDdWJpY0luPWZ1bmN0aW9uKHQpe3JldHVybiB0KnQqdH0sdC5lYXNlQ3ViaWNPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuLS10KnQqdCsxfSx0LmVhc2VDdWJpY0luT3V0PVVyLHQuZWFzZVBvbHk9WXIsdC5lYXNlUG9seUluPXFyLHQuZWFzZVBvbHlPdXQ9T3IsdC5lYXNlUG9seUluT3V0PVlyLHQuZWFzZVNpbj1Jcix0LmVhc2VTaW5Jbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLmNvcyh0KkZyKX0sdC5lYXNlU2luT3V0PWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNpbih0KkZyKX0sdC5lYXNlU2luSW5PdXQ9SXIsdC5lYXNlRXhwPUhyLHQuZWFzZUV4cEluPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnBvdygyLDEwKnQtMTApfSx0LmVhc2VFeHBPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5wb3coMiwtMTAqdCl9LHQuZWFzZUV4cEluT3V0PUhyLHQuZWFzZUNpcmNsZT1qcix0LmVhc2VDaXJjbGVJbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfSx0LmVhc2VDaXJjbGVPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguc3FydCgxLSAtLXQqdCl9LHQuZWFzZUNpcmNsZUluT3V0PWpyLHQuZWFzZUJvdW5jZT1uaSx0LmVhc2VCb3VuY2VJbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1uaSgxLXQpfSx0LmVhc2VCb3VuY2VPdXQ9bmksdC5lYXNlQm91bmNlSW5PdXQ9ZnVuY3Rpb24odCl7cmV0dXJuKCh0Kj0yKTw9MT8xLW5pKDEtdCk6bmkodC0xKSsxKS8yfSx0LmVhc2VCYWNrPWlpLHQuZWFzZUJhY2tJbj1laSx0LmVhc2VCYWNrT3V0PXJpLHQuZWFzZUJhY2tJbk91dD1paSx0LmVhc2VFbGFzdGljPXVpLHQuZWFzZUVsYXN0aWNJbj1haSx0LmVhc2VFbGFzdGljT3V0PXVpLHQuZWFzZUVsYXN0aWNJbk91dD1maSx0LmJsb2I9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKFlvKX0sdC5idWZmZXI9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKEJvKX0sdC5kc3Y9ZnVuY3Rpb24odCxuLGUscil7Mz09PWFyZ3VtZW50cy5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9dm9pZCAwKTt2YXIgaT1Fbyh0KTtyZXR1cm4gSW8obixlKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBpLnBhcnNlKHQscil9KX0sdC5jc3Y9am8sdC50c3Y9WG8sdC5pbWFnZT1mdW5jdGlvbih0LG4pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLHIpe3ZhciBpPW5ldyBJbWFnZTtmb3IodmFyIG8gaW4gbilpW29dPW5bb107aS5vbmVycm9yPXIsaS5vbmxvYWQ9ZnVuY3Rpb24oKXtlKGkpfSxpLnNyYz10fSl9LHQuanNvbj1mdW5jdGlvbih0LG4pe3JldHVybiBmZXRjaCh0LG4pLnRoZW4oR28pfSx0LnRleHQ9SW8sdC54bWw9JG8sdC5odG1sPVdvLHQuc3ZnPVpvLHQuZm9yY2VDZW50ZXI9ZnVuY3Rpb24odCxuKXt2YXIgZTtmdW5jdGlvbiByKCl7dmFyIHIsaSxvPWUubGVuZ3RoLGE9MCx1PTA7Zm9yKHI9MDtyPG87KytyKWErPShpPWVbcl0pLngsdSs9aS55O2ZvcihhPWEvby10LHU9dS9vLW4scj0wO3I8bzsrK3IpKGk9ZVtyXSkueC09YSxpLnktPXV9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PW4mJihuPTApLHIuaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXR9LHIueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rbixyKTp0fSxyLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscik6bn0scn0sdC5mb3JjZUNvbGxpZGU9ZnVuY3Rpb24odCl7dmFyIG4sZSxyPTEsaT0xO2Z1bmN0aW9uIG8oKXtmb3IodmFyIHQsbyx1LGYsYyxzLGwsaD1uLmxlbmd0aCxkPTA7ZDxpOysrZClmb3Iobz1yYShuLHVhLGZhKS52aXNpdEFmdGVyKGEpLHQ9MDt0PGg7Kyt0KXU9blt0XSxzPWVbdS5pbmRleF0sbD1zKnMsZj11LngrdS52eCxjPXUueSt1LnZ5LG8udmlzaXQocCk7ZnVuY3Rpb24gcCh0LG4sZSxpLG8pe3ZhciBhPXQuZGF0YSxoPXQucixkPXMraDtpZighYSlyZXR1cm4gbj5mK2R8fGk8Zi1kfHxlPmMrZHx8bzxjLWQ7aWYoYS5pbmRleD51LmluZGV4KXt2YXIgcD1mLWEueC1hLnZ4LHY9Yy1hLnktYS52eSxnPXAqcCt2KnY7ZzxkKmQmJigwPT09cCYmKGcrPShwPUpvKCkpKnApLDA9PT12JiYoZys9KHY9Sm8oKSkqdiksZz0oZC0oZz1NYXRoLnNxcnQoZykpKS9nKnIsdS52eCs9KHAqPWcpKihkPShoKj1oKS8obCtoKSksdS52eSs9KHYqPWcpKmQsYS52eC09cCooZD0xLWQpLGEudnktPXYqZCl9fX1mdW5jdGlvbiBhKHQpe2lmKHQuZGF0YSlyZXR1cm4gdC5yPWVbdC5kYXRhLmluZGV4XTtmb3IodmFyIG49dC5yPTA7bjw0Oysrbil0W25dJiZ0W25dLnI+dC5yJiYodC5yPXRbbl0ucil9ZnVuY3Rpb24gdSgpe2lmKG4pe3ZhciByLGksbz1uLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkobykscj0wO3I8bzsrK3IpaT1uW3JdLGVbaS5pbmRleF09K3QoaSxyLG4pfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8obnVsbD09dD8xOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCx1KCl9LG8uaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LG8pOnJ9LG8ucmFkaXVzPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246UW8oK24pLHUoKSxvKTp0fSxvfSx0LmZvcmNlTGluaz1mdW5jdGlvbih0KXt2YXIgbixlLHIsaSxvLGE9Y2EsdT1mdW5jdGlvbih0KXtyZXR1cm4gMS9NYXRoLm1pbihpW3Quc291cmNlLmluZGV4XSxpW3QudGFyZ2V0LmluZGV4XSl9LGY9UW8oMzApLGM9MTtmdW5jdGlvbiBzKHIpe2Zvcih2YXIgaT0wLGE9dC5sZW5ndGg7aTxjOysraSlmb3IodmFyIHUsZixzLGwsaCxkLHAsdj0wO3Y8YTsrK3YpZj0odT10W3ZdKS5zb3VyY2UsbD0ocz11LnRhcmdldCkueCtzLnZ4LWYueC1mLnZ4fHxKbygpLGg9cy55K3MudnktZi55LWYudnl8fEpvKCksbCo9ZD0oKGQ9TWF0aC5zcXJ0KGwqbCtoKmgpKS1lW3ZdKS9kKnIqblt2XSxoKj1kLHMudngtPWwqKHA9b1t2XSkscy52eS09aCpwLGYudngrPWwqKHA9MS1wKSxmLnZ5Kz1oKnB9ZnVuY3Rpb24gbCgpe2lmKHIpe3ZhciB1LGYsYz1yLmxlbmd0aCxzPXQubGVuZ3RoLGw9S2kocixhKTtmb3IodT0wLGk9bmV3IEFycmF5KGMpO3U8czsrK3UpKGY9dFt1XSkuaW5kZXg9dSwib2JqZWN0IiE9dHlwZW9mIGYuc291cmNlJiYoZi5zb3VyY2U9c2EobCxmLnNvdXJjZSkpLCJvYmplY3QiIT10eXBlb2YgZi50YXJnZXQmJihmLnRhcmdldD1zYShsLGYudGFyZ2V0KSksaVtmLnNvdXJjZS5pbmRleF09KGlbZi5zb3VyY2UuaW5kZXhdfHwwKSsxLGlbZi50YXJnZXQuaW5kZXhdPShpW2YudGFyZ2V0LmluZGV4XXx8MCkrMTtmb3IodT0wLG89bmV3IEFycmF5KHMpO3U8czsrK3UpZj10W3VdLG9bdV09aVtmLnNvdXJjZS5pbmRleF0vKGlbZi5zb3VyY2UuaW5kZXhdK2lbZi50YXJnZXQuaW5kZXhdKTtuPW5ldyBBcnJheShzKSxoKCksZT1uZXcgQXJyYXkocyksZCgpfX1mdW5jdGlvbiBoKCl7aWYocilmb3IodmFyIGU9MCxpPXQubGVuZ3RoO2U8aTsrK2UpbltlXT0rdSh0W2VdLGUsdCl9ZnVuY3Rpb24gZCgpe2lmKHIpZm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7KytuKWVbbl09K2YodFtuXSxuLHQpfXJldHVybiBudWxsPT10JiYodD1bXSkscy5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe3I9dCxsKCl9LHMubGlua3M9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9bixsKCkscyk6dH0scy5pZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMpOmF9LHMuaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0rdCxzKTpjfSxzLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UW8oK3QpLGgoKSxzKTp1fSxzLmRpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UW8oK3QpLGQoKSxzKTpmfSxzfSx0LmZvcmNlTWFueUJvZHk9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscixpPVFvKC0zMCksbz0xLGE9MS8wLHU9LjgxO2Z1bmN0aW9uIGYocil7dmFyIGksbz10Lmxlbmd0aCxhPXJhKHQsbGEsaGEpLnZpc2l0QWZ0ZXIocyk7Zm9yKGU9cixpPTA7aTxvOysraSluPXRbaV0sYS52aXNpdChsKX1mdW5jdGlvbiBjKCl7aWYodCl7dmFyIG4sZSxvPXQubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShvKSxuPTA7bjxvOysrbillPXRbbl0scltlLmluZGV4XT0raShlLG4sdCl9fWZ1bmN0aW9uIHModCl7dmFyIG4sZSxpLG8sYSx1PTAsZj0wO2lmKHQubGVuZ3RoKXtmb3IoaT1vPWE9MDthPDQ7KythKShuPXRbYV0pJiYoZT1NYXRoLmFicyhuLnZhbHVlKSkmJih1Kz1uLnZhbHVlLGYrPWUsaSs9ZSpuLngsbys9ZSpuLnkpO3QueD1pL2YsdC55PW8vZn1lbHNleyhuPXQpLng9bi5kYXRhLngsbi55PW4uZGF0YS55O2Rve3UrPXJbbi5kYXRhLmluZGV4XX13aGlsZShuPW4ubmV4dCl9dC52YWx1ZT11fWZ1bmN0aW9uIGwodCxpLGYsYyl7aWYoIXQudmFsdWUpcmV0dXJuITA7dmFyIHM9dC54LW4ueCxsPXQueS1uLnksaD1jLWksZD1zKnMrbCpsO2lmKGgqaC91PGQpcmV0dXJuIGQ8YSYmKDA9PT1zJiYoZCs9KHM9Sm8oKSkqcyksMD09PWwmJihkKz0obD1KbygpKSpsKSxkPG8mJihkPU1hdGguc3FydChvKmQpKSxuLnZ4Kz1zKnQudmFsdWUqZS9kLG4udnkrPWwqdC52YWx1ZSplL2QpLCEwO2lmKCEodC5sZW5ndGh8fGQ+PWEpKXsodC5kYXRhIT09bnx8dC5uZXh0KSYmKDA9PT1zJiYoZCs9KHM9Sm8oKSkqcyksMD09PWwmJihkKz0obD1KbygpKSpsKSxkPG8mJihkPU1hdGguc3FydChvKmQpKSk7ZG97dC5kYXRhIT09biYmKGg9clt0LmRhdGEuaW5kZXhdKmUvZCxuLnZ4Kz1zKmgsbi52eSs9bCpoKX13aGlsZSh0PXQubmV4dCl9fXJldHVybiBmLmluaXRpYWxpemU9ZnVuY3Rpb24obil7dD1uLGMoKX0sZi5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxjKCksZik6aX0sZi5kaXN0YW5jZU1pbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10KnQsZik6TWF0aC5zcXJ0KG8pfSxmLmRpc3RhbmNlTWF4PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQqdCxmKTpNYXRoLnNxcnQoYSl9LGYudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCp0LGYpOk1hdGguc3FydCh1KX0sZn0sdC5mb3JjZVJhZGlhbD1mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvLGE9UW8oLjEpO2Z1bmN0aW9uIHUodCl7Zm9yKHZhciBhPTAsdT1yLmxlbmd0aDthPHU7KythKXt2YXIgZj1yW2FdLGM9Zi54LW58fDFlLTYscz1mLnktZXx8MWUtNixsPU1hdGguc3FydChjKmMrcypzKSxoPShvW2FdLWwpKmlbYV0qdC9sO2YudngrPWMqaCxmLnZ5Kz1zKmh9fWZ1bmN0aW9uIGYoKXtpZihyKXt2YXIgbixlPXIubGVuZ3RoO2ZvcihpPW5ldyBBcnJheShlKSxvPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilvW25dPSt0KHJbbl0sbixyKSxpW25dPWlzTmFOKG9bbl0pPzA6K2EocltuXSxuLHIpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8oK3QpKSxudWxsPT1uJiYobj0wKSxudWxsPT1lJiYoZT0wKSx1LmluaXRpYWxpemU9ZnVuY3Rpb24odCl7cj10LGYoKX0sdS5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxmKCksdSk6YX0sdS5yYWRpdXM9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpRbygrbiksZigpLHUpOnR9LHUueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCx1KTpufSx1Lnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsdSk6ZX0sdX0sdC5mb3JjZVNpbXVsYXRpb249ZnVuY3Rpb24odCl7dmFyIG4sZT0xLHI9LjAwMSxpPTEtTWF0aC5wb3cociwxLzMwMCksbz0wLGE9LjYsdT1LaSgpLGY9dXIocyksYz1JKCJ0aWNrIiwiZW5kIik7ZnVuY3Rpb24gcygpe2woKSxjLmNhbGwoInRpY2siLG4pLGU8ciYmKGYuc3RvcCgpLGMuY2FsbCgiZW5kIixuKSl9ZnVuY3Rpb24gbCgpe3ZhciBuLHIsZj10Lmxlbmd0aDtmb3IoZSs9KG8tZSkqaSx1LmVhY2goZnVuY3Rpb24odCl7dChlKX0pLG49MDtuPGY7KytuKW51bGw9PShyPXRbbl0pLmZ4P3IueCs9ci52eCo9YTooci54PXIuZngsci52eD0wKSxudWxsPT1yLmZ5P3IueSs9ci52eSo9YTooci55PXIuZnksci52eT0wKX1mdW5jdGlvbiBoKCl7Zm9yKHZhciBuLGU9MCxyPXQubGVuZ3RoO2U8cjsrK2Upe2lmKChuPXRbZV0pLmluZGV4PWUsaXNOYU4obi54KXx8aXNOYU4obi55KSl7dmFyIGk9ZGEqTWF0aC5zcXJ0KGUpLG89ZSpwYTtuLng9aSpNYXRoLmNvcyhvKSxuLnk9aSpNYXRoLnNpbihvKX0oaXNOYU4obi52eCl8fGlzTmFOKG4udnkpKSYmKG4udng9bi52eT0wKX19ZnVuY3Rpb24gZChuKXtyZXR1cm4gbi5pbml0aWFsaXplJiZuLmluaXRpYWxpemUodCksbn1yZXR1cm4gbnVsbD09dCYmKHQ9W10pLGgoKSxuPXt0aWNrOmwscmVzdGFydDpmdW5jdGlvbigpe3JldHVybiBmLnJlc3RhcnQocyksbn0sc3RvcDpmdW5jdGlvbigpe3JldHVybiBmLnN0b3AoKSxufSxub2RlczpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLGgoKSx1LmVhY2goZCksbik6dH0sYWxwaGE6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3Qsbik6ZX0sYWxwaGFNaW46ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbik6cn0sYWxwaGFEZWNheTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxuKToraX0sYWxwaGFUYXJnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3Qsbik6b30sdmVsb2NpdHlEZWNheTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0xLXQsbik6MS1hfSxmb3JjZTpmdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/KG51bGw9PWU/dS5yZW1vdmUodCk6dS5zZXQodCxkKGUpKSxuKTp1LmdldCh0KX0sZmluZDpmdW5jdGlvbihuLGUscil7dmFyIGksbyxhLHUsZixjPTAscz10Lmxlbmd0aDtmb3IobnVsbD09cj9yPTEvMDpyKj1yLGM9MDtjPHM7KytjKShhPShpPW4tKHU9dFtjXSkueCkqaSsobz1lLXUueSkqbyk8ciYmKGY9dSxyPWEpO3JldHVybiBmfSxvbjpmdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/KGMub24odCxlKSxuKTpjLm9uKHQpfX19LHQuZm9yY2VYPWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpPVFvKC4xKTtmdW5jdGlvbiBvKHQpe2Zvcih2YXIgaSxvPTAsYT1uLmxlbmd0aDtvPGE7KytvKShpPW5bb10pLnZ4Kz0ocltvXS1pLngpKmVbb10qdH1mdW5jdGlvbiBhKCl7aWYobil7dmFyIG8sYT1uLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkoYSkscj1uZXcgQXJyYXkoYSksbz0wO288YTsrK28pZVtvXT1pc05hTihyW29dPSt0KG5bb10sbyxuKSk/MDoraShuW29dLG8sbil9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RbyhudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7bj10LGEoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxhKCksbyk6aX0sby54PWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246UW8oK24pLGEoKSxvKTp0fSxvfSx0LmZvcmNlWT1mdW5jdGlvbih0KXt2YXIgbixlLHIsaT1RbyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGksbz0wLGE9bi5sZW5ndGg7bzxhOysrbykoaT1uW29dKS52eSs9KHJbb10taS55KSplW29dKnR9ZnVuY3Rpb24gYSgpe2lmKG4pe3ZhciBvLGE9bi5sZW5ndGg7Zm9yKGU9bmV3IEFycmF5KGEpLHI9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKWVbb109aXNOYU4ocltvXT0rdChuW29dLG8sbikpPzA6K2kobltvXSxvLG4pfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8obnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRbygrdCksYSgpLG8pOml9LG8ueT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlFvKCtuKSxhKCksbyk6dH0sb30sdC5mb3JtYXREZWZhdWx0TG9jYWxlPVNhLHQuZm9ybWF0TG9jYWxlPU5hLHQuZm9ybWF0U3BlY2lmaWVyPWJhLHQucHJlY2lzaW9uRml4ZWQ9RWEsdC5wcmVjaXNpb25QcmVmaXg9a2EsdC5wcmVjaXNpb25Sb3VuZD1DYSx0Lmdlb0FyZWE9ZnVuY3Rpb24odCl7cmV0dXJuIHl1LnJlc2V0KCksc3UodCxfdSksMip5dX0sdC5nZW9Cb3VuZHM9ZnVuY3Rpb24odCl7dmFyIG4sZSxyLGksbyxhLHU7aWYoUnU9enU9LShDdT1QdT0xLzApLE91PVtdLHN1KHQscmYpLGU9T3UubGVuZ3RoKXtmb3IoT3Uuc29ydChkZiksbj0xLG89W3I9T3VbMF1dO248ZTsrK24pcGYociwoaT1PdVtuXSlbMF0pfHxwZihyLGlbMV0pPyhoZihyWzBdLGlbMV0pPmhmKHJbMF0sclsxXSkmJihyWzFdPWlbMV0pLGhmKGlbMF0sclsxXSk+aGYoclswXSxyWzFdKSYmKHJbMF09aVswXSkpOm8ucHVzaChyPWkpO2ZvcihhPS0xLzAsbj0wLHI9b1tlPW8ubGVuZ3RoLTFdO248PWU7cj1pLCsrbilpPW9bbl0sKHU9aGYoclsxXSxpWzBdKSk+YSYmKGE9dSxDdT1pWzBdLHp1PXJbMV0pfXJldHVybiBPdT1ZdT1udWxsLEN1PT09MS8wfHxQdT09PTEvMD9bW05hTixOYU5dLFtOYU4sTmFOXV06W1tDdSxQdV0sW3p1LFJ1XV19LHQuZ2VvQ2VudHJvaWQ9ZnVuY3Rpb24odCl7QnU9RnU9SXU9SHU9anU9WHU9R3U9VnU9JHU9V3U9WnU9MCxzdSh0LHZmKTt2YXIgbj0kdSxlPVd1LHI9WnUsaT1uKm4rZSplK3IqcjtyZXR1cm4gaTxVYSYmKG49WHUsZT1HdSxyPVZ1LEZ1PERhJiYobj1JdSxlPUh1LHI9anUpLChpPW4qbitlKmUrcipyKTxVYSk/W05hTixOYU5dOltYYShlLG4pKkZhLGV1KHIvS2EoaSkpKkZhXX0sdC5nZW9DaXJjbGU9ZnVuY3Rpb24oKXt2YXIgdCxuLGU9TmYoWzAsMF0pLHI9TmYoOTApLGk9TmYoNiksbz17cG9pbnQ6ZnVuY3Rpb24oZSxyKXt0LnB1c2goZT1uKGUscikpLGVbMF0qPUZhLGVbMV0qPUZhfX07ZnVuY3Rpb24gYSgpe3ZhciBhPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHU9ci5hcHBseSh0aGlzLGFyZ3VtZW50cykqSWEsZj1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSpJYTtyZXR1cm4gdD1bXSxuPWtmKC1hWzBdKklhLC1hWzFdKklhLDApLmludmVydCxMZihvLHUsZiwxKSxhPXt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbdF19LHQ9bj1udWxsLGF9cmV0dXJuIGEuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmYoWyt0WzBdLCt0WzFdXSksYSk6ZX0sYS5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOZigrdCksYSk6cn0sYS5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOZigrdCksYSk6aX0sYX0sdC5nZW9DbGlwQW50aW1lcmlkaWFuPUdmLHQuZ2VvQ2xpcENpcmNsZT1WZix0Lmdlb0NsaXBFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscj0wLGk9MCxvPTk2MCxhPTUwMDtyZXR1cm4gZT17c3RyZWFtOmZ1bmN0aW9uKGUpe3JldHVybiB0JiZuPT09ZT90OnQ9WmYocixpLG8sYSkobj1lKX0sZXh0ZW50OmZ1bmN0aW9uKHUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt1WzBdWzBdLGk9K3VbMF1bMV0sbz0rdVsxXVswXSxhPSt1WzFdWzFdLHQ9bj1udWxsLGUpOltbcixpXSxbbyxhXV19fX0sdC5nZW9DbGlwUmVjdGFuZ2xlPVpmLHQuZ2VvQ29udGFpbnM9ZnVuY3Rpb24odCxuKXtyZXR1cm4odCYmY2MuaGFzT3duUHJvcGVydHkodC50eXBlKT9jY1t0LnR5cGVdOmxjKSh0LG4pfSx0Lmdlb0Rpc3RhbmNlPWZjLHQuZ2VvR3JhdGljdWxlPWJjLHQuZ2VvR3JhdGljdWxlMTA9ZnVuY3Rpb24oKXtyZXR1cm4gYmMoKSgpfSx0Lmdlb0ludGVycG9sYXRlPWZ1bmN0aW9uKHQsbil7dmFyIGU9dFswXSpJYSxyPXRbMV0qSWEsaT1uWzBdKklhLG89blsxXSpJYSxhPUdhKHIpLHU9UWEociksZj1HYShvKSxjPVFhKG8pLHM9YSpHYShlKSxsPWEqUWEoZSksaD1mKkdhKGkpLGQ9ZipRYShpKSxwPTIqZXUoS2EocnUoby1yKSthKmYqcnUoaS1lKSkpLHY9UWEocCksZz1wP2Z1bmN0aW9uKHQpe3ZhciBuPVFhKHQqPXApL3YsZT1RYShwLXQpL3Yscj1lKnMrbipoLGk9ZSpsK24qZCxvPWUqdStuKmM7cmV0dXJuW1hhKGkscikqRmEsWGEobyxLYShyKnIraSppKSkqRmFdfTpmdW5jdGlvbigpe3JldHVybltlKkZhLHIqRmFdfTtyZXR1cm4gZy5kaXN0YW5jZT1wLGd9LHQuZ2VvTGVuZ3RoPW9jLHQuZ2VvUGF0aD1mdW5jdGlvbih0LG4pe3ZhciBlLHIsaT00LjU7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmKCJmdW5jdGlvbiI9PXR5cGVvZiBpJiZyLnBvaW50UmFkaXVzKCtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksc3UodCxlKHIpKSksci5yZXN1bHQoKX1yZXR1cm4gby5hcmVhPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoU2MpKSxTYy5yZXN1bHQoKX0sby5tZWFzdXJlPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoZHMpKSxkcy5yZXN1bHQoKX0sby5ib3VuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHQsZShVYykpLFVjLnJlc3VsdCgpfSxvLmNlbnRyb2lkPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoWmMpKSxaYy5yZXN1bHQoKX0sby5wcm9qZWN0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PW4/KHQ9bnVsbCxtYyk6KHQ9bikuc3RyZWFtLG8pOnR9LG8uY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1udWxsPT10PyhuPW51bGwsbmV3IGdzKTpuZXcgYXMobj10KSwiZnVuY3Rpb24iIT10eXBlb2YgaSYmci5wb2ludFJhZGl1cyhpKSxvKTpufSxvLnBvaW50UmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6KHIucG9pbnRSYWRpdXMoK3QpLCt0KSxvKTppfSxvLnByb2plY3Rpb24odCkuY29udGV4dChuKX0sdC5nZW9BbGJlcnM9RHMsdC5nZW9BbGJlcnNVc2E9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscixpLG8sYT1EcygpLHU9THMoKS5yb3RhdGUoWzE1NCwwXSkuY2VudGVyKFstMiw1OC41XSkucGFyYWxsZWxzKFs1NSw2NV0pLGY9THMoKS5yb3RhdGUoWzE1NywwXSkuY2VudGVyKFstMywxOS45XSkucGFyYWxsZWxzKFs4LDE4XSksYz17cG9pbnQ6ZnVuY3Rpb24odCxuKXtvPVt0LG5dfX07ZnVuY3Rpb24gcyh0KXt2YXIgbj10WzBdLGE9dFsxXTtyZXR1cm4gbz1udWxsLGUucG9pbnQobixhKSxvfHwoci5wb2ludChuLGEpLG8pfHwoaS5wb2ludChuLGEpLG8pfWZ1bmN0aW9uIGwoKXtyZXR1cm4gdD1uPW51bGwsc31yZXR1cm4gcy5pbnZlcnQ9ZnVuY3Rpb24odCl7dmFyIG49YS5zY2FsZSgpLGU9YS50cmFuc2xhdGUoKSxyPSh0WzBdLWVbMF0pL24saT0odFsxXS1lWzFdKS9uO3JldHVybihpPj0uMTImJmk8LjIzNCYmcj49LS40MjUmJnI8LS4yMTQ/dTppPj0uMTY2JiZpPC4yMzQmJnI+PS0uMjE0JiZyPC0uMTE1P2Y6YSkuaW52ZXJ0KHQpfSxzLnN0cmVhbT1mdW5jdGlvbihlKXtyZXR1cm4gdCYmbj09PWU/dDoocj1bYS5zdHJlYW0obj1lKSx1LnN0cmVhbShlKSxmLnN0cmVhbShlKV0saT1yLmxlbmd0aCx0PXtwb2ludDpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT0tMTsrK2U8aTspcltlXS5wb2ludCh0LG4pfSxzcGhlcmU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9LTE7Kyt0PGk7KXJbdF0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5wb2x5Z29uRW5kKCl9fSk7dmFyIHIsaX0scy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEucHJlY2lzaW9uKHQpLHUucHJlY2lzaW9uKHQpLGYucHJlY2lzaW9uKHQpLGwoKSk6YS5wcmVjaXNpb24oKX0scy5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5zY2FsZSh0KSx1LnNjYWxlKC4zNSp0KSxmLnNjYWxlKHQpLHMudHJhbnNsYXRlKGEudHJhbnNsYXRlKCkpKTphLnNjYWxlKCl9LHMudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLnRyYW5zbGF0ZSgpO3ZhciBuPWEuc2NhbGUoKSxvPSt0WzBdLHM9K3RbMV07cmV0dXJuIGU9YS50cmFuc2xhdGUodCkuY2xpcEV4dGVudChbW28tLjQ1NSpuLHMtLjIzOCpuXSxbbysuNDU1Km4scysuMjM4Km5dXSkuc3RyZWFtKGMpLHI9dS50cmFuc2xhdGUoW28tLjMwNypuLHMrLjIwMSpuXSkuY2xpcEV4dGVudChbW28tLjQyNSpuK0RhLHMrLjEyKm4rRGFdLFtvLS4yMTQqbi1EYSxzKy4yMzQqbi1EYV1dKS5zdHJlYW0oYyksaT1mLnRyYW5zbGF0ZShbby0uMjA1Km4scysuMjEyKm5dKS5jbGlwRXh0ZW50KFtbby0uMjE0Km4rRGEscysuMTY2Km4rRGFdLFtvLS4xMTUqbi1EYSxzKy4yMzQqbi1EYV1dKS5zdHJlYW0oYyksbCgpfSxzLmZpdEV4dGVudD1mdW5jdGlvbih0LG4pe3JldHVybiB4cyhzLHQsbil9LHMuZml0U2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiB3cyhzLHQsbil9LHMuZml0V2lkdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMocyx0LG4pfSxzLmZpdEhlaWdodD1mdW5jdGlvbih0LG4pe3JldHVybiBBcyhzLHQsbil9LHMuc2NhbGUoMTA3MCl9LHQuZ2VvQXppbXV0aGFsRXF1YWxBcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIENzKE9zKS5zY2FsZSgxMjQuNzUpLmNsaXBBbmdsZSgxNzkuOTk5KX0sdC5nZW9BemltdXRoYWxFcXVhbEFyZWFSYXc9T3MsdC5nZW9BemltdXRoYWxFcXVpZGlzdGFudD1mdW5jdGlvbigpe3JldHVybiBDcyhZcykuc2NhbGUoNzkuNDE4OCkuY2xpcEFuZ2xlKDE3OS45OTkpfSx0Lmdlb0F6aW11dGhhbEVxdWlkaXN0YW50UmF3PVlzLHQuZ2VvQ29uaWNDb25mb3JtYWw9ZnVuY3Rpb24oKXtyZXR1cm4genMoSHMpLnNjYWxlKDEwOS41KS5wYXJhbGxlbHMoWzMwLDMwXSl9LHQuZ2VvQ29uaWNDb25mb3JtYWxSYXc9SHMsdC5nZW9Db25pY0VxdWFsQXJlYT1Mcyx0Lmdlb0NvbmljRXF1YWxBcmVhUmF3PVJzLHQuZ2VvQ29uaWNFcXVpZGlzdGFudD1mdW5jdGlvbigpe3JldHVybiB6cyhYcykuc2NhbGUoMTMxLjE1NCkuY2VudGVyKFswLDEzLjkzODldKX0sdC5nZW9Db25pY0VxdWlkaXN0YW50UmF3PVhzLHQuZ2VvRXF1YWxFYXJ0aD1mdW5jdGlvbigpe3JldHVybiBDcyhRcykuc2NhbGUoMTc3LjE1OCl9LHQuZ2VvRXF1YWxFYXJ0aFJhdz1Rcyx0Lmdlb0VxdWlyZWN0YW5ndWxhcj1mdW5jdGlvbigpe3JldHVybiBDcyhqcykuc2NhbGUoMTUyLjYzKX0sdC5nZW9FcXVpcmVjdGFuZ3VsYXJSYXc9anMsdC5nZW9Hbm9tb25pYz1mdW5jdGlvbigpe3JldHVybiBDcyhKcykuc2NhbGUoMTQ0LjA0OSkuY2xpcEFuZ2xlKDYwKX0sdC5nZW9Hbm9tb25pY1Jhdz1Kcyx0Lmdlb0lkZW50aXR5PWZ1bmN0aW9uKCl7dmFyIHQsbixlLHIsaSxvLGE9MSx1PTAsZj0wLGM9MSxzPTEsbD1tYyxoPW51bGwsZD1tYztmdW5jdGlvbiBwKCl7cmV0dXJuIHI9aT1udWxsLG99cmV0dXJuIG89e3N0cmVhbTpmdW5jdGlvbih0KXtyZXR1cm4gciYmaT09PXQ/cjpyPWwoZChpPXQpKX0scG9zdGNsaXA6ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9cixoPXQ9bj1lPW51bGwscCgpKTpkfSxjbGlwRXh0ZW50OmZ1bmN0aW9uKHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPW51bGw9PXI/KGg9dD1uPWU9bnVsbCxtYyk6WmYoaD0rclswXVswXSx0PStyWzBdWzFdLG49K3JbMV1bMF0sZT0rclsxXVsxXSkscCgpKTpudWxsPT1oP251bGw6W1toLHRdLFtuLGVdXX0sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoKGE9K3QpKmMsYSpzLHUsZikscCgpKTphfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoYSpjLGEqcyx1PSt0WzBdLGY9K3RbMV0pLHAoKSk6W3UsZl19LHJlZmxlY3RYOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPUtzKGEqKGM9dD8tMToxKSxhKnMsdSxmKSxwKCkpOmM8MH0scmVmbGVjdFk6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoYSpjLGEqKHM9dD8tMToxKSx1LGYpLHAoKSk6czwwfSxmaXRFeHRlbnQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4geHMobyx0LG4pfSxmaXRTaXplOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHdzKG8sdCxuKX0sZml0V2lkdGg6ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMobyx0LG4pfSxmaXRIZWlnaHQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gQXMobyx0LG4pfX19LHQuZ2VvUHJvamVjdGlvbj1Dcyx0Lmdlb1Byb2plY3Rpb25NdXRhdG9yPVBzLHQuZ2VvTWVyY2F0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gRnMoQnMpLnNjYWxlKDk2MS9CYSl9LHQuZ2VvTWVyY2F0b3JSYXc9QnMsdC5nZW9OYXR1cmFsRWFydGgxPWZ1bmN0aW9uKCl7cmV0dXJuIENzKHRsKS5zY2FsZSgxNzUuMjk1KX0sdC5nZW9OYXR1cmFsRWFydGgxUmF3PXRsLHQuZ2VvT3J0aG9ncmFwaGljPWZ1bmN0aW9uKCl7cmV0dXJuIENzKG5sKS5zY2FsZSgyNDkuNSkuY2xpcEFuZ2xlKDkwK0RhKX0sdC5nZW9PcnRob2dyYXBoaWNSYXc9bmwsdC5nZW9TdGVyZW9ncmFwaGljPWZ1bmN0aW9uKCl7cmV0dXJuIENzKGVsKS5zY2FsZSgyNTApLmNsaXBBbmdsZSgxNDIpfSx0Lmdlb1N0ZXJlb2dyYXBoaWNSYXc9ZWwsdC5nZW9UcmFuc3ZlcnNlTWVyY2F0b3I9ZnVuY3Rpb24oKXt2YXIgdD1GcyhybCksbj10LmNlbnRlcixlPXQucm90YXRlO3JldHVybiB0LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9uKFstdFsxXSx0WzBdXSk6Wyh0PW4oKSlbMV0sLXRbMF1dfSx0LnJvdGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKFt0WzBdLHRbMV0sdC5sZW5ndGg+Mj90WzJdKzkwOjkwXSk6Wyh0PWUoKSlbMF0sdFsxXSx0WzJdLTkwXX0sZShbMCwwLDkwXSkuc2NhbGUoMTU5LjE1NSl9LHQuZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yUmF3PXJsLHQuZ2VvUm90YXRpb249UmYsdC5nZW9TdHJlYW09c3UsdC5nZW9UcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJue3N0cmVhbTpfcyh0KX19LHQuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciB0PWlsLG49MSxlPTEscj0hMTtmdW5jdGlvbiBpKGkpe3ZhciBvLGE9MDtpLmVhY2hBZnRlcihmdW5jdGlvbihuKXt2YXIgZT1uLmNoaWxkcmVuO2U/KG4ueD1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2Uob2wsMCkvdC5sZW5ndGh9KGUpLG4ueT1mdW5jdGlvbih0KXtyZXR1cm4gMSt0LnJlZHVjZShhbCwwKX0oZSkpOihuLng9bz9hKz10KG4sbyk6MCxuLnk9MCxvPW4pfSk7dmFyIHU9ZnVuY3Rpb24odCl7Zm9yKHZhciBuO249dC5jaGlsZHJlbjspdD1uWzBdO3JldHVybiB0fShpKSxmPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbjtuPXQuY2hpbGRyZW47KXQ9bltuLmxlbmd0aC0xXTtyZXR1cm4gdH0oaSksYz11LngtdCh1LGYpLzIscz1mLngrdChmLHUpLzI7cmV0dXJuIGkuZWFjaEFmdGVyKHI/ZnVuY3Rpb24odCl7dC54PSh0LngtaS54KSpuLHQueT0oaS55LXQueSkqZX06ZnVuY3Rpb24odCl7dC54PSh0LngtYykvKHMtYykqbix0Lnk9KDEtKGkueT90LnkvaS55OjEpKSplfSl9cmV0dXJuIGkuc2VwYXJhdGlvbj1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uLGkpOnR9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hMSxuPSt0WzBdLGU9K3RbMV0saSk6cj9udWxsOltuLGVdfSxpLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSEwLG49K3RbMF0sZT0rdFsxXSxpKTpyP1tuLGVdOm51bGx9LGl9LHQuaGllcmFyY2h5PWZsLHQucGFjaz1mdW5jdGlvbigpe3ZhciB0PW51bGwsbj0xLGU9MSxyPUVsO2Z1bmN0aW9uIGkoaSl7cmV0dXJuIGkueD1uLzIsaS55PWUvMix0P2kuZWFjaEJlZm9yZShQbCh0KSkuZWFjaEFmdGVyKHpsKHIsLjUpKS5lYWNoQmVmb3JlKFJsKDEpKTppLmVhY2hCZWZvcmUoUGwoQ2wpKS5lYWNoQWZ0ZXIoemwoRWwsMSkpLmVhY2hBZnRlcih6bChyLGkuci9NYXRoLm1pbihuLGUpKSkuZWFjaEJlZm9yZShSbChNYXRoLm1pbihuLGUpLygyKmkucikpKSxpfXJldHVybiBpLnJhZGl1cz1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1udWxsPT0oZT1uKT9udWxsOlNsKGUpLGkpOnQ7dmFyIGV9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdFswXSxlPSt0WzFdLGkpOltuLGVdfSxpLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprbCgrdCksaSk6cn0saX0sdC5wYWNrU2libGluZ3M9ZnVuY3Rpb24odCl7cmV0dXJuIE5sKHQpLHR9LHQucGFja0VuY2xvc2U9cGwsdC5wYXJ0aXRpb249ZnVuY3Rpb24oKXt2YXIgdD0xLG49MSxlPTAscj0hMTtmdW5jdGlvbiBpKGkpe3ZhciBvPWkuaGVpZ2h0KzE7cmV0dXJuIGkueDA9aS55MD1lLGkueDE9dCxpLnkxPW4vbyxpLmVhY2hCZWZvcmUoZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7ci5jaGlsZHJlbiYmRGwocixyLngwLHQqKHIuZGVwdGgrMSkvbixyLngxLHQqKHIuZGVwdGgrMikvbik7dmFyIGk9ci54MCxvPXIueTAsYT1yLngxLWUsdT1yLnkxLWU7YTxpJiYoaT1hPShpK2EpLzIpLHU8byYmKG89dT0obyt1KS8yKSxyLngwPWksci55MD1vLHIueDE9YSxyLnkxPXV9fShuLG8pKSxyJiZpLmVhY2hCZWZvcmUoTGwpLGl9cmV0dXJuIGkucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ISF0LGkpOnJ9LGkuc2l6ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZVswXSxuPStlWzFdLGkpOlt0LG5dfSxpLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsaSk6ZX0saX0sdC5zdHJhdGlmeT1mdW5jdGlvbigpe3ZhciB0PVlsLG49Qmw7ZnVuY3Rpb24gZShlKXt2YXIgcixpLG8sYSx1LGYsYyxzPWUubGVuZ3RoLGw9bmV3IEFycmF5KHMpLGg9e307Zm9yKGk9MDtpPHM7KytpKXI9ZVtpXSx1PWxbaV09bmV3IGhsKHIpLG51bGwhPShmPXQocixpLGUpKSYmKGYrPSIiKSYmKGhbYz1VbCsodS5pZD1mKV09YyBpbiBoP09sOnUpO2ZvcihpPTA7aTxzOysraSlpZih1PWxbaV0sbnVsbCE9KGY9bihlW2ldLGksZSkpJiYoZis9IiIpKXtpZighKGE9aFtVbCtmXSkpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2YpO2lmKGE9PT1PbCl0aHJvdyBuZXcgRXJyb3IoImFtYmlndW91czogIitmKTthLmNoaWxkcmVuP2EuY2hpbGRyZW4ucHVzaCh1KTphLmNoaWxkcmVuPVt1XSx1LnBhcmVudD1hfWVsc2V7aWYobyl0aHJvdyBuZXcgRXJyb3IoIm11bHRpcGxlIHJvb3RzIik7bz11fWlmKCFvKXRocm93IG5ldyBFcnJvcigibm8gcm9vdCIpO2lmKG8ucGFyZW50PXFsLG8uZWFjaEJlZm9yZShmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS1zfSkuZWFjaEJlZm9yZShsbCksby5wYXJlbnQ9bnVsbCxzPjApdGhyb3cgbmV3IEVycm9yKCJjeWNsZSIpO3JldHVybiBvfXJldHVybiBlLmlkPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PVNsKG4pLGUpOnR9LGUucGFyZW50SWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49U2wodCksZSk6bn0sZX0sdC50cmVlPWZ1bmN0aW9uKCl7dmFyIHQ9Rmwsbj0xLGU9MSxyPW51bGw7ZnVuY3Rpb24gaShpKXt2YXIgZj1mdW5jdGlvbih0KXtmb3IodmFyIG4sZSxyLGksbyxhPW5ldyBHbCh0LDApLHU9W2FdO249dS5wb3AoKTspaWYocj1uLl8uY2hpbGRyZW4pZm9yKG4uY2hpbGRyZW49bmV3IEFycmF5KG89ci5sZW5ndGgpLGk9by0xO2k+PTA7LS1pKXUucHVzaChlPW4uY2hpbGRyZW5baV09bmV3IEdsKHJbaV0saSkpLGUucGFyZW50PW47cmV0dXJuKGEucGFyZW50PW5ldyBHbChudWxsLDApKS5jaGlsZHJlbj1bYV0sYX0oaSk7aWYoZi5lYWNoQWZ0ZXIobyksZi5wYXJlbnQubT0tZi56LGYuZWFjaEJlZm9yZShhKSxyKWkuZWFjaEJlZm9yZSh1KTtlbHNle3ZhciBjPWkscz1pLGw9aTtpLmVhY2hCZWZvcmUoZnVuY3Rpb24odCl7dC54PGMueCYmKGM9dCksdC54PnMueCYmKHM9dCksdC5kZXB0aD5sLmRlcHRoJiYobD10KX0pO3ZhciBoPWM9PT1zPzE6dChjLHMpLzIsZD1oLWMueCxwPW4vKHMueCtoK2QpLHY9ZS8obC5kZXB0aHx8MSk7aS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QueD0odC54K2QpKnAsdC55PXQuZGVwdGgqdn0pfXJldHVybiBpfWZ1bmN0aW9uIG8obil7dmFyIGU9bi5jaGlsZHJlbixyPW4ucGFyZW50LmNoaWxkcmVuLGk9bi5pP3Jbbi5pLTFdOm51bGw7aWYoZSl7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTAscj0wLGk9dC5jaGlsZHJlbixvPWkubGVuZ3RoOy0tbz49MDspKG49aVtvXSkueis9ZSxuLm0rPWUsZSs9bi5zKyhyKz1uLmMpfShuKTt2YXIgbz0oZVswXS56K2VbZS5sZW5ndGgtMV0ueikvMjtpPyhuLno9aS56K3Qobi5fLGkuXyksbi5tPW4uei1vKTpuLno9b31lbHNlIGkmJihuLno9aS56K3Qobi5fLGkuXykpO24ucGFyZW50LkE9ZnVuY3Rpb24obixlLHIpe2lmKGUpe2Zvcih2YXIgaSxvPW4sYT1uLHU9ZSxmPW8ucGFyZW50LmNoaWxkcmVuWzBdLGM9by5tLHM9YS5tLGw9dS5tLGg9Zi5tO3U9SGwodSksbz1JbChvKSx1JiZvOylmPUlsKGYpLChhPUhsKGEpKS5hPW4sKGk9dS56K2wtby56LWMrdCh1Ll8sby5fKSk+MCYmKGpsKFhsKHUsbixyKSxuLGkpLGMrPWkscys9aSksbCs9dS5tLGMrPW8ubSxoKz1mLm0scys9YS5tO3UmJiFIbChhKSYmKGEudD11LGEubSs9bC1zKSxvJiYhSWwoZikmJihmLnQ9byxmLm0rPWMtaCxyPW4pfXJldHVybiByfShuLGksbi5wYXJlbnQuQXx8clswXSl9ZnVuY3Rpb24gYSh0KXt0Ll8ueD10LnordC5wYXJlbnQubSx0Lm0rPXQucGFyZW50Lm19ZnVuY3Rpb24gdSh0KXt0LngqPW4sdC55PXQuZGVwdGgqZX1yZXR1cm4gaS5zZXBhcmF0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4saSk6dH0saS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSExLG49K3RbMF0sZT0rdFsxXSxpKTpyP251bGw6W24sZV19LGkubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ITAsbj0rdFswXSxlPSt0WzFdLGkpOnI/W24sZV06bnVsbH0saX0sdC50cmVlbWFwPWZ1bmN0aW9uKCl7dmFyIHQ9Wmwsbj0hMSxlPTEscj0xLGk9WzBdLG89RWwsYT1FbCx1PUVsLGY9RWwsYz1FbDtmdW5jdGlvbiBzKHQpe3JldHVybiB0LngwPXQueTA9MCx0LngxPWUsdC55MT1yLHQuZWFjaEJlZm9yZShsKSxpPVswXSxuJiZ0LmVhY2hCZWZvcmUoTGwpLHR9ZnVuY3Rpb24gbChuKXt2YXIgZT1pW24uZGVwdGhdLHI9bi54MCtlLHM9bi55MCtlLGw9bi54MS1lLGg9bi55MS1lO2w8ciYmKHI9bD0ocitsKS8yKSxoPHMmJihzPWg9KHMraCkvMiksbi54MD1yLG4ueTA9cyxuLngxPWwsbi55MT1oLG4uY2hpbGRyZW4mJihlPWlbbi5kZXB0aCsxXT1vKG4pLzIscis9YyhuKS1lLHMrPWEobiktZSwobC09dShuKS1lKTxyJiYocj1sPShyK2wpLzIpLChoLT1mKG4pLWUpPHMmJihzPWg9KHMraCkvMiksdChuLHIscyxsLGgpKX1yZXR1cm4gcy5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0hIXQscyk6bn0scy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLHI9K3RbMV0scyk6W2Uscl19LHMudGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1TbChuKSxzKTp0fSxzLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/cy5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnMucGFkZGluZ0lubmVyKCl9LHMucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOm99LHMucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3MucGFkZGluZ1RvcCh0KS5wYWRkaW5nUmlnaHQodCkucGFkZGluZ0JvdHRvbSh0KS5wYWRkaW5nTGVmdCh0KTpzLnBhZGRpbmdUb3AoKX0scy5wYWRkaW5nVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOmF9LHMucGFkZGluZ1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOnV9LHMucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmtsKCt0KSxzKTpmfSxzLnBhZGRpbmdMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOmN9LHN9LHQudHJlZW1hcEJpbmFyeT1mdW5jdGlvbih0LG4sZSxyLGkpe3ZhciBvLGEsdT10LmNoaWxkcmVuLGY9dS5sZW5ndGgsYz1uZXcgQXJyYXkoZisxKTtmb3IoY1swXT1hPW89MDtvPGY7KytvKWNbbysxXT1hKz11W29dLnZhbHVlOyFmdW5jdGlvbiB0KG4sZSxyLGksbyxhLGYpe2lmKG4+PWUtMSl7dmFyIHM9dVtuXTtyZXR1cm4gcy54MD1pLHMueTA9byxzLngxPWEsdm9pZChzLnkxPWYpfWZvcih2YXIgbD1jW25dLGg9ci8yK2wsZD1uKzEscD1lLTE7ZDxwOyl7dmFyIHY9ZCtwPj4+MTtjW3ZdPGg/ZD12KzE6cD12fWgtY1tkLTFdPGNbZF0taCYmbisxPGQmJi0tZDt2YXIgZz1jW2RdLWwseT1yLWc7aWYoYS1pPmYtbyl7dmFyIF89KGkqeSthKmcpL3I7dChuLGQsZyxpLG8sXyxmKSx0KGQsZSx5LF8sbyxhLGYpfWVsc2V7dmFyIGI9KG8qeStmKmcpL3I7dChuLGQsZyxpLG8sYSxiKSx0KGQsZSx5LGksYixhLGYpfX0oMCxmLHQudmFsdWUsbixlLHIsaSl9LHQudHJlZW1hcERpY2U9RGwsdC50cmVlbWFwU2xpY2U9VmwsdC50cmVlbWFwU2xpY2VEaWNlPWZ1bmN0aW9uKHQsbixlLHIsaSl7KDEmdC5kZXB0aD9WbDpEbCkodCxuLGUscixpKX0sdC50cmVlbWFwU3F1YXJpZnk9WmwsdC50cmVlbWFwUmVzcXVhcmlmeT1RbCx0LmludGVycG9sYXRlPW1lLHQuaW50ZXJwb2xhdGVBcnJheT1kZSx0LmludGVycG9sYXRlQmFzaXM9ZWUsdC5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkPXJlLHQuaW50ZXJwb2xhdGVEYXRlPXBlLHQuaW50ZXJwb2xhdGVEaXNjcmV0ZT1mdW5jdGlvbih0KXt2YXIgbj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHRbTWF0aC5tYXgoMCxNYXRoLm1pbihuLTEsTWF0aC5mbG9vcihlKm4pKSldfX0sdC5pbnRlcnBvbGF0ZUh1ZT1mdW5jdGlvbih0LG4pe3ZhciBlPWFlKCt0LCtuKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49ZSh0KTtyZXR1cm4gbi0zNjAqTWF0aC5mbG9vcihuLzM2MCl9fSx0LmludGVycG9sYXRlTnVtYmVyPXZlLHQuaW50ZXJwb2xhdGVPYmplY3Q9Z2UsdC5pbnRlcnBvbGF0ZVJvdW5kPXhlLHQuaW50ZXJwb2xhdGVTdHJpbmc9YmUsdC5pbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcz1DZSx0LmludGVycG9sYXRlVHJhbnNmb3JtU3ZnPVBlLHQuaW50ZXJwb2xhdGVab29tPXFlLHQuaW50ZXJwb2xhdGVSZ2I9Y2UsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzPWxlLHQuaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZD1oZSx0LmludGVycG9sYXRlSHNsPVllLHQuaW50ZXJwb2xhdGVIc2xMb25nPUJlLHQuaW50ZXJwb2xhdGVMYWI9ZnVuY3Rpb24odCxuKXt2YXIgZT1mZSgodD1Vbih0KSkubCwobj1VbihuKSkubCkscj1mZSh0LmEsbi5hKSxpPWZlKHQuYixuLmIpLG89ZmUodC5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0Lmw9ZShuKSx0LmE9cihuKSx0LmI9aShuKSx0Lm9wYWNpdHk9byhuKSx0KyIifX0sdC5pbnRlcnBvbGF0ZUhjbD1JZSx0LmludGVycG9sYXRlSGNsTG9uZz1IZSx0LmludGVycG9sYXRlQ3ViZWhlbGl4PVhlLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhMb25nPUdlLHQucGllY2V3aXNlPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPTAscj1uLmxlbmd0aC0xLGk9blswXSxvPW5ldyBBcnJheShyPDA/MDpyKTtlPHI7KW9bZV09dChpLGk9blsrK2VdKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49TWF0aC5tYXgoMCxNYXRoLm1pbihyLTEsTWF0aC5mbG9vcih0Kj1yKSkpO3JldHVybiBvW25dKHQtbil9fSx0LnF1YW50aXplPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcillW3JdPXQoci8obi0xKSk7cmV0dXJuIGV9LHQucGF0aD1HaSx0LnBvbHlnb25BcmVhPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPS0xLHI9dC5sZW5ndGgsaT10W3ItMV0sbz0wOysrZTxyOyluPWksaT10W2VdLG8rPW5bMV0qaVswXS1uWzBdKmlbMV07cmV0dXJuIG8vMn0sdC5wb2x5Z29uQ2VudHJvaWQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscj0tMSxpPXQubGVuZ3RoLG89MCxhPTAsdT10W2ktMV0sZj0wOysrcjxpOyluPXUsdT10W3JdLGYrPWU9blswXSp1WzFdLXVbMF0qblsxXSxvKz0oblswXSt1WzBdKSplLGErPShuWzFdK3VbMV0pKmU7cmV0dXJuW28vKGYqPTMpLGEvZl19LHQucG9seWdvbkh1bGw9ZnVuY3Rpb24odCl7aWYoKGU9dC5sZW5ndGgpPDMpcmV0dXJuIG51bGw7dmFyIG4sZSxyPW5ldyBBcnJheShlKSxpPW5ldyBBcnJheShlKTtmb3Iobj0wO248ZTsrK24pcltuXT1bK3Rbbl1bMF0sK3Rbbl1bMV0sbl07Zm9yKHIuc29ydChKbCksbj0wO248ZTsrK24paVtuXT1bcltuXVswXSwtcltuXVsxXV07dmFyIG89S2wociksYT1LbChpKSx1PWFbMF09PT1vWzBdLGY9YVthLmxlbmd0aC0xXT09PW9bby5sZW5ndGgtMV0sYz1bXTtmb3Iobj1vLmxlbmd0aC0xO24+PTA7LS1uKWMucHVzaCh0W3Jbb1tuXV1bMl1dKTtmb3Iobj0rdTtuPGEubGVuZ3RoLWY7KytuKWMucHVzaCh0W3JbYVtuXV1bMl1dKTtyZXR1cm4gY30sdC5wb2x5Z29uQ29udGFpbnM9ZnVuY3Rpb24odCxuKXtmb3IodmFyIGUscixpPXQubGVuZ3RoLG89dFtpLTFdLGE9blswXSx1PW5bMV0sZj1vWzBdLGM9b1sxXSxzPSExLGw9MDtsPGk7KytsKWU9KG89dFtsXSlbMF0sKHI9b1sxXSk+dSE9Yz51JiZhPChmLWUpKih1LXIpLyhjLXIpK2UmJihzPSFzKSxmPWUsYz1yO3JldHVybiBzfSx0LnBvbHlnb25MZW5ndGg9ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscj0tMSxpPXQubGVuZ3RoLG89dFtpLTFdLGE9b1swXSx1PW9bMV0sZj0wOysrcjxpOyluPWEsZT11LG4tPWE9KG89dFtyXSlbMF0sZS09dT1vWzFdLGYrPU1hdGguc3FydChuKm4rZSplKTtyZXR1cm4gZn0sdC5xdWFkdHJlZT1yYSx0LnJhbmRvbVVuaWZvcm09bmgsdC5yYW5kb21Ob3JtYWw9ZWgsdC5yYW5kb21Mb2dOb3JtYWw9cmgsdC5yYW5kb21CYXRlcz1vaCx0LnJhbmRvbUlyd2luSGFsbD1paCx0LnJhbmRvbUV4cG9uZW50aWFsPWFoLHQuc2NhbGVCYW5kPWhoLHQuc2NhbGVQb2ludD1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KG4pe3ZhciBlPW4uY29weTtyZXR1cm4gbi5wYWRkaW5nPW4ucGFkZGluZ091dGVyLGRlbGV0ZSBuLnBhZGRpbmdJbm5lcixkZWxldGUgbi5wYWRkaW5nT3V0ZXIsbi5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSgpKX0sbn0oaGgoKS5wYWRkaW5nSW5uZXIoMSkpfSx0LnNjYWxlSWRlbnRpdHk9ZnVuY3Rpb24gdCgpe3ZhciBuPVswLDFdO2Z1bmN0aW9uIGUodCl7cmV0dXJuK3R9cmV0dXJuIGUuaW52ZXJ0PWUsZS5kb21haW49ZS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1maC5jYWxsKHQscGgpLGUpOm4uc2xpY2UoKX0sZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4obil9LHhoKGUpfSx0LnNjYWxlTGluZWFyPWZ1bmN0aW9uIHQoKXt2YXIgbj1taChnaCx2ZSk7cmV0dXJuIG4uY29weT1mdW5jdGlvbigpe3JldHVybiBiaChuLHQoKSl9LHhoKG4pfSx0LnNjYWxlTG9nPWZ1bmN0aW9uIG4oKXt2YXIgZT1taChNaCxBaCkuZG9tYWluKFsxLDEwXSkscj1lLmRvbWFpbixpPTEwLG89U2goMTApLGE9TmgoMTApO2Z1bmN0aW9uIHUoKXtyZXR1cm4gbz1TaChpKSxhPU5oKGkpLHIoKVswXTwwJiYobz1FaChvKSxhPUVoKGEpKSxlfXJldHVybiBlLmJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3QsdSgpKTppfSxlLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocih0KSx1KCkpOnIoKX0sZS50aWNrcz1mdW5jdGlvbih0KXt2YXIgbixlPXIoKSx1PWVbMF0sZj1lW2UubGVuZ3RoLTFdOyhuPWY8dSkmJihoPXUsdT1mLGY9aCk7dmFyIGMscyxsLGg9byh1KSxkPW8oZikscD1udWxsPT10PzEwOit0LHY9W107aWYoIShpJTEpJiZkLWg8cCl7aWYoaD1NYXRoLnJvdW5kKGgpLTEsZD1NYXRoLnJvdW5kKGQpKzEsdT4wKXtmb3IoO2g8ZDsrK2gpZm9yKHM9MSxjPWEoaCk7czxpOysrcylpZighKChsPWMqcyk8dSkpe2lmKGw+ZilicmVhazt2LnB1c2gobCl9fWVsc2UgZm9yKDtoPGQ7KytoKWZvcihzPWktMSxjPWEoaCk7cz49MTstLXMpaWYoISgobD1jKnMpPHUpKXtpZihsPmYpYnJlYWs7di5wdXNoKGwpfX1lbHNlIHY9bShoLGQsTWF0aC5taW4oZC1oLHApKS5tYXAoYSk7cmV0dXJuIG4/di5yZXZlcnNlKCk6dn0sZS50aWNrRm9ybWF0PWZ1bmN0aW9uKG4scil7aWYobnVsbD09ciYmKHI9MTA9PT1pPyIuMGUiOiIsIiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPXQuZm9ybWF0KHIpKSxuPT09MS8wKXJldHVybiByO251bGw9PW4mJihuPTEwKTt2YXIgdT1NYXRoLm1heCgxLGkqbi9lLnRpY2tzKCkubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC9hKE1hdGgucm91bmQobyh0KSkpO3JldHVybiBuKmk8aS0uNSYmKG4qPWkpLG48PXU/cih0KToiIn19LGUubmljZT1mdW5jdGlvbigpe3JldHVybiByKHdoKHIoKSx7Zmxvb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGEoTWF0aC5mbG9vcihvKHQpKSl9LGNlaWw6ZnVuY3Rpb24odCl7cmV0dXJuIGEoTWF0aC5jZWlsKG8odCkpKX19KSl9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiBiaChlLG4oKS5iYXNlKGkpKX0sZX0sdC5zY2FsZU9yZGluYWw9bGgsdC5zY2FsZUltcGxpY2l0PXNoLHQuc2NhbGVQb3c9Q2gsdC5zY2FsZVNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQ2goKS5leHBvbmVudCguNSl9LHQuc2NhbGVRdWFudGlsZT1mdW5jdGlvbiB0KCl7dmFyIGU9W10scj1bXSxvPVtdO2Z1bmN0aW9uIGEoKXt2YXIgdD0wLG49TWF0aC5tYXgoMSxyLmxlbmd0aCk7Zm9yKG89bmV3IEFycmF5KG4tMSk7Kyt0PG47KW9bdC0xXT1BKGUsdC9uKTtyZXR1cm4gdX1mdW5jdGlvbiB1KHQpe2lmKCFpc05hTih0PSt0KSlyZXR1cm4gcltpKG8sdCldfXJldHVybiB1LmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgbj1yLmluZGV4T2YodCk7cmV0dXJuIG48MD9bTmFOLE5hTl06W24+MD9vW24tMV06ZVswXSxuPG8ubGVuZ3RoP29bbl06ZVtlLmxlbmd0aC0xXV19LHUuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIHIsaT0wLG89dC5sZW5ndGg7aTxvOysraSludWxsPT0ocj10W2ldKXx8aXNOYU4ocj0rcil8fGUucHVzaChyKTtyZXR1cm4gZS5zb3J0KG4pLGEoKX0sdS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1jaC5jYWxsKHQpLGEoKSk6ci5zbGljZSgpfSx1LnF1YW50aWxlcz1mdW5jdGlvbigpe3JldHVybiBvLnNsaWNlKCl9LHUuY29weT1mdW5jdGlvbigpe3JldHVybiB0KCkuZG9tYWluKGUpLnJhbmdlKHIpfSx1fSx0LnNjYWxlUXVhbnRpemU9ZnVuY3Rpb24gdCgpe3ZhciBuPTAsZT0xLHI9MSxvPVsuNV0sYT1bMCwxXTtmdW5jdGlvbiB1KHQpe2lmKHQ8PXQpcmV0dXJuIGFbaShvLHQsMCxyKV19ZnVuY3Rpb24gZigpe3ZhciB0PS0xO2ZvcihvPW5ldyBBcnJheShyKTsrK3Q8cjspb1t0XT0oKHQrMSkqZS0odC1yKSpuKS8ocisxKTtyZXR1cm4gdX1yZXR1cm4gdS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3RbMF0sZT0rdFsxXSxmKCkpOltuLGVdfSx1LnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPShhPWNoLmNhbGwodCkpLmxlbmd0aC0xLGYoKSk6YS5zbGljZSgpfSx1LmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgaT1hLmluZGV4T2YodCk7cmV0dXJuIGk8MD9bTmFOLE5hTl06aTwxP1tuLG9bMF1dOmk+PXI/W29bci0xXSxlXTpbb1tpLTFdLG9baV1dfSx1LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihbbixlXSkucmFuZ2UoYSl9LHhoKHUpfSx0LnNjYWxlVGhyZXNob2xkPWZ1bmN0aW9uIHQoKXt2YXIgbj1bLjVdLGU9WzAsMV0scj0xO2Z1bmN0aW9uIG8odCl7aWYodDw9dClyZXR1cm4gZVtpKG4sdCwwLHIpXX1yZXR1cm4gby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49Y2guY2FsbCh0KSxyPU1hdGgubWluKG4ubGVuZ3RoLGUubGVuZ3RoLTEpLG8pOm4uc2xpY2UoKX0sby5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1jaC5jYWxsKHQpLHI9TWF0aC5taW4obi5sZW5ndGgsZS5sZW5ndGgtMSksbyk6ZS5zbGljZSgpfSxvLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgcj1lLmluZGV4T2YodCk7cmV0dXJuW25bci0xXSxuW3JdXX0sby5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4obikucmFuZ2UoZSl9LG99LHQuc2NhbGVUaW1lPWZ1bmN0aW9uKCl7cmV0dXJuIGN2KGNkLHVkLFZoLGpoLEloLEJoLE9oLExoLHQudGltZUZvcm1hdCkuZG9tYWluKFtuZXcgRGF0ZSgyZTMsMCwxKSxuZXcgRGF0ZSgyZTMsMCwyKV0pfSx0LnNjYWxlVXRjPWZ1bmN0aW9uKCl7cmV0dXJuIGN2KExkLHpkLF9kLHZkLGRkLGxkLE9oLExoLHQudXRjRm9ybWF0KS5kb21haW4oW0RhdGUuVVRDKDJlMywwLDEpLERhdGUuVVRDKDJlMywwLDIpXSl9LHQuc2NhbGVTZXF1ZW50aWFsPWZ1bmN0aW9uIHQobil7dmFyIGU9MCxyPTEsaT0xLG89ITE7ZnVuY3Rpb24gYSh0KXt2YXIgcj0odC1lKSppO3JldHVybiBuKG8/TWF0aC5tYXgoMCxNYXRoLm1pbigxLHIpKTpyKX1yZXR1cm4gYS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3RbMF0scj0rdFsxXSxpPWU9PT1yPzA6MS8oci1lKSxhKTpbZSxyXX0sYS5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hIXQsYSk6b30sYS5pbnRlcnBvbGF0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufSxhLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdChuKS5kb21haW4oW2Uscl0pLmNsYW1wKG8pfSx4aChhKX0sdC5zY2FsZURpdmVyZ2luZz1mdW5jdGlvbiB0KG4pe3ZhciBlPTAscj0uNSxpPTEsbz0xLGE9MSx1PSExO2Z1bmN0aW9uIGYodCl7dmFyIGU9LjUrKCh0PSt0KS1yKSoodDxyP286YSk7cmV0dXJuIG4odT9NYXRoLm1heCgwLE1hdGgubWluKDEsZSkpOmUpfXJldHVybiBmLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxyPSt0WzFdLGk9K3RbMl0sbz1lPT09cj8wOi41LyhyLWUpLGE9cj09PWk/MDouNS8oaS1yKSxmKTpbZSxyLGldfSxmLmNsYW1wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSEhdCxmKTp1fSxmLmludGVycG9sYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGYpOm59LGYuY29weT1mdW5jdGlvbigpe3JldHVybiB0KG4pLmRvbWFpbihbZSxyLGldKS5jbGFtcCh1KX0seGgoZil9LHQuc2NoZW1lQ2F0ZWdvcnkxMD1sdix0LnNjaGVtZUFjY2VudD1odix0LnNjaGVtZURhcmsyPWR2LHQuc2NoZW1lUGFpcmVkPXB2LHQuc2NoZW1lUGFzdGVsMT12dix0LnNjaGVtZVBhc3RlbDI9Z3YsdC5zY2hlbWVTZXQxPXl2LHQuc2NoZW1lU2V0Mj1fdix0LnNjaGVtZVNldDM9YnYsdC5pbnRlcnBvbGF0ZUJyQkc9d3YsdC5zY2hlbWVCckJHPXh2LHQuaW50ZXJwb2xhdGVQUkduPUF2LHQuc2NoZW1lUFJHbj1Ndix0LmludGVycG9sYXRlUGlZRz1Odix0LnNjaGVtZVBpWUc9VHYsdC5pbnRlcnBvbGF0ZVB1T3I9RXYsdC5zY2hlbWVQdU9yPVN2LHQuaW50ZXJwb2xhdGVSZEJ1PUN2LHQuc2NoZW1lUmRCdT1rdix0LmludGVycG9sYXRlUmRHeT16dix0LnNjaGVtZVJkR3k9UHYsdC5pbnRlcnBvbGF0ZVJkWWxCdT1Mdix0LnNjaGVtZVJkWWxCdT1Sdix0LmludGVycG9sYXRlUmRZbEduPVV2LHQuc2NoZW1lUmRZbEduPUR2LHQuaW50ZXJwb2xhdGVTcGVjdHJhbD1Pdix0LnNjaGVtZVNwZWN0cmFsPXF2LHQuaW50ZXJwb2xhdGVCdUduPUJ2LHQuc2NoZW1lQnVHbj1Zdix0LmludGVycG9sYXRlQnVQdT1Jdix0LnNjaGVtZUJ1UHU9RnYsdC5pbnRlcnBvbGF0ZUduQnU9anYsdC5zY2hlbWVHbkJ1PUh2LHQuaW50ZXJwb2xhdGVPclJkPUd2LHQuc2NoZW1lT3JSZD1Ydix0LmludGVycG9sYXRlUHVCdUduPSR2LHQuc2NoZW1lUHVCdUduPVZ2LHQuaW50ZXJwb2xhdGVQdUJ1PVp2LHQuc2NoZW1lUHVCdT1Xdix0LmludGVycG9sYXRlUHVSZD1Kdix0LnNjaGVtZVB1UmQ9UXYsdC5pbnRlcnBvbGF0ZVJkUHU9dGcsdC5zY2hlbWVSZFB1PUt2LHQuaW50ZXJwb2xhdGVZbEduQnU9ZWcsdC5zY2hlbWVZbEduQnU9bmcsdC5pbnRlcnBvbGF0ZVlsR249aWcsdC5zY2hlbWVZbEduPXJnLHQuaW50ZXJwb2xhdGVZbE9yQnI9YWcsdC5zY2hlbWVZbE9yQnI9b2csdC5pbnRlcnBvbGF0ZVlsT3JSZD1mZyx0LnNjaGVtZVlsT3JSZD11Zyx0LmludGVycG9sYXRlQmx1ZXM9c2csdC5zY2hlbWVCbHVlcz1jZyx0LmludGVycG9sYXRlR3JlZW5zPWhnLHQuc2NoZW1lR3JlZW5zPWxnLHQuaW50ZXJwb2xhdGVHcmV5cz1wZyx0LnNjaGVtZUdyZXlzPWRnLHQuaW50ZXJwb2xhdGVQdXJwbGVzPWdnLHQuc2NoZW1lUHVycGxlcz12Zyx0LmludGVycG9sYXRlUmVkcz1fZyx0LnNjaGVtZVJlZHM9eWcsdC5pbnRlcnBvbGF0ZU9yYW5nZXM9bWcsdC5zY2hlbWVPcmFuZ2VzPWJnLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhEZWZhdWx0PXhnLHQuaW50ZXJwb2xhdGVSYWluYm93PWZ1bmN0aW9uKHQpeyh0PDB8fHQ+MSkmJih0LT1NYXRoLmZsb29yKHQpKTt2YXIgbj1NYXRoLmFicyh0LS41KTtyZXR1cm4gQWcuaD0zNjAqdC0xMDAsQWcucz0xLjUtMS41Km4sQWcubD0uOC0uOSpuLEFnKyIifSx0LmludGVycG9sYXRlV2FybT13Zyx0LmludGVycG9sYXRlQ29vbD1NZyx0LmludGVycG9sYXRlU2luZWJvdz1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4gdD0oLjUtdCkqTWF0aC5QSSxUZy5yPTI1NSoobj1NYXRoLnNpbih0KSkqbixUZy5nPTI1NSoobj1NYXRoLnNpbih0K05nKSkqbixUZy5iPTI1NSoobj1NYXRoLnNpbih0K1NnKSkqbixUZysiIn0sdC5pbnRlcnBvbGF0ZVZpcmlkaXM9a2csdC5pbnRlcnBvbGF0ZU1hZ21hPUNnLHQuaW50ZXJwb2xhdGVJbmZlcm5vPVBnLHQuaW50ZXJwb2xhdGVQbGFzbWE9emcsdC5jcmVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIER0KFcodCkuY2FsbChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX0sdC5jcmVhdG9yPVcsdC5sb2NhbD1xdCx0Lm1hdGNoZXI9cnQsdC5tb3VzZT1GdCx0Lm5hbWVzcGFjZT0kLHQubmFtZXNwYWNlcz1WLHQuY2xpZW50UG9pbnQ9QnQsdC5zZWxlY3Q9RHQsdC5zZWxlY3RBbGw9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBSdChbZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBSdChbbnVsbD09dD9bXTp0XSx6dCl9LHQuc2VsZWN0aW9uPUx0LHQuc2VsZWN0b3I9USx0LnNlbGVjdG9yQWxsPUssdC5zdHlsZT1sdCx0LnRvdWNoPUl0LHQudG91Y2hlcz1mdW5jdGlvbih0LG4pe251bGw9PW4mJihuPVl0KCkudG91Y2hlcyk7Zm9yKHZhciBlPTAscj1uP24ubGVuZ3RoOjAsaT1uZXcgQXJyYXkocik7ZTxyOysrZSlpW2VdPUJ0KHQsbltlXSk7cmV0dXJuIGl9LHQud2luZG93PXN0LHQuY3VzdG9tRXZlbnQ9Q3QsdC5hcmM9ZnVuY3Rpb24oKXt2YXIgdD1HZyxuPVZnLGU9UmcoMCkscj1udWxsLGk9JGcsbz1XZyxhPVpnLHU9bnVsbDtmdW5jdGlvbiBmKCl7dmFyIGYsYyxzLGw9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K24uYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9aS5hcHBseSh0aGlzLGFyZ3VtZW50cyktSGcscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1IZyx2PUxnKHAtZCksZz1wPmQ7aWYodXx8KHU9Zj1HaSgpKSxoPGwmJihjPWgsaD1sLGw9YyksaD5GZylpZih2PmpnLUZnKXUubW92ZVRvKGgqVWcoZCksaCpZZyhkKSksdS5hcmMoMCwwLGgsZCxwLCFnKSxsPkZnJiYodS5tb3ZlVG8obCpVZyhwKSxsKllnKHApKSx1LmFyYygwLDAsbCxwLGQsZykpO2Vsc2V7dmFyIHksXyxiPWQsbT1wLHg9ZCx3PXAsTT12LEE9dixUPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsTj1UPkZnJiYocj8rci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6QmcobCpsK2gqaCkpLFM9T2coTGcoaC1sKS8yLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksRT1TLGs9UztpZihOPkZnKXt2YXIgQz1YZyhOL2wqWWcoVCkpLFA9WGcoTi9oKllnKFQpKTsoTS09MipDKT5GZz8oeCs9Qyo9Zz8xOi0xLHctPUMpOihNPTAseD13PShkK3ApLzIpLChBLT0yKlApPkZnPyhiKz1QKj1nPzE6LTEsbS09UCk6KEE9MCxiPW09KGQrcCkvMil9dmFyIHo9aCpVZyhiKSxSPWgqWWcoYiksTD1sKlVnKHcpLEQ9bCpZZyh3KTtpZihTPkZnKXt2YXIgVT1oKlVnKG0pLHE9aCpZZyhtKSxPPWwqVWcoeCksWT1sKllnKHgpO2lmKHY8SWcpe3ZhciBCPU0+Rmc/ZnVuY3Rpb24odCxuLGUscixpLG8sYSx1KXt2YXIgZj1lLXQsYz1yLW4scz1hLWksbD11LW8saD0ocyoobi1vKS1sKih0LWkpKS8obCpmLXMqYyk7cmV0dXJuW3QraCpmLG4raCpjXX0oeixSLE8sWSxVLHEsTCxEKTpbTCxEXSxGPXotQlswXSxJPVItQlsxXSxIPVUtQlswXSxqPXEtQlsxXSxYPTEvWWcoKChzPShGKkgrSSpqKS8oQmcoRipGK0kqSSkqQmcoSCpIK2oqaikpKT4xPzA6czwtMT9JZzpNYXRoLmFjb3MocykpLzIpLEc9QmcoQlswXSpCWzBdK0JbMV0qQlsxXSk7RT1PZyhTLChsLUcpLyhYLTEpKSxrPU9nKFMsKGgtRykvKFgrMSkpfX1BPkZnP2s+Rmc/KHk9UWcoTyxZLHosUixoLGssZyksXz1RZyhVLHEsTCxELGgsayxnKSx1Lm1vdmVUbyh5LmN4K3kueDAxLHkuY3kreS55MDEpLGs8Uz91LmFyYyh5LmN4LHkuY3ksayxEZyh5LnkwMSx5LngwMSksRGcoXy55MDEsXy54MDEpLCFnKToodS5hcmMoeS5jeCx5LmN5LGssRGcoeS55MDEseS54MDEpLERnKHkueTExLHkueDExKSwhZyksdS5hcmMoMCwwLGgsRGcoeS5jeSt5LnkxMSx5LmN4K3kueDExKSxEZyhfLmN5K18ueTExLF8uY3grXy54MTEpLCFnKSx1LmFyYyhfLmN4LF8uY3ksayxEZyhfLnkxMSxfLngxMSksRGcoXy55MDEsXy54MDEpLCFnKSkpOih1Lm1vdmVUbyh6LFIpLHUuYXJjKDAsMCxoLGIsbSwhZykpOnUubW92ZVRvKHosUiksbD5GZyYmTT5GZz9FPkZnPyh5PVFnKEwsRCxVLHEsbCwtRSxnKSxfPVFnKHosUixPLFksbCwtRSxnKSx1LmxpbmVUbyh5LmN4K3kueDAxLHkuY3kreS55MDEpLEU8Uz91LmFyYyh5LmN4LHkuY3ksRSxEZyh5LnkwMSx5LngwMSksRGcoXy55MDEsXy54MDEpLCFnKToodS5hcmMoeS5jeCx5LmN5LEUsRGcoeS55MDEseS54MDEpLERnKHkueTExLHkueDExKSwhZyksdS5hcmMoMCwwLGwsRGcoeS5jeSt5LnkxMSx5LmN4K3kueDExKSxEZyhfLmN5K18ueTExLF8uY3grXy54MTEpLGcpLHUuYXJjKF8uY3gsXy5jeSxFLERnKF8ueTExLF8ueDExKSxEZyhfLnkwMSxfLngwMSksIWcpKSk6dS5hcmMoMCwwLGwsdyx4LGcpOnUubGluZVRvKEwsRCl9ZWxzZSB1Lm1vdmVUbygwLDApO2lmKHUuY2xvc2VQYXRoKCksZilyZXR1cm4gdT1udWxsLGYrIiJ8fG51bGx9cmV0dXJuIGYuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgZT0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArbi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIscj0oK2kuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzItSWcvMjtyZXR1cm5bVWcocikqZSxZZyhyKSplXX0sZi5pbm5lclJhZGl1cz1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKCtuKSxmKTp0fSxmLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOm59LGYuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOmV9LGYucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpyfSxmLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6aX0sZi5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpvfSxmLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOmF9LGYuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1udWxsPT10P251bGw6dCxmKTp1fSxmfSx0LmFyZWE9cnksdC5saW5lPWV5LHQucGllPWZ1bmN0aW9uKCl7dmFyIHQ9b3ksbj1peSxlPW51bGwscj1SZygwKSxpPVJnKGpnKSxvPVJnKDApO2Z1bmN0aW9uIGEoYSl7dmFyIHUsZixjLHMsbCxoPWEubGVuZ3RoLGQ9MCxwPW5ldyBBcnJheShoKSx2PW5ldyBBcnJheShoKSxnPStyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5PU1hdGgubWluKGpnLE1hdGgubWF4KC1qZyxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1nKSksXz1NYXRoLm1pbihNYXRoLmFicyh5KS9oLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxiPV8qKHk8MD8tMToxKTtmb3IodT0wO3U8aDsrK3UpKGw9dltwW3VdPXVdPSt0KGFbdV0sdSxhKSk+MCYmKGQrPWwpO2ZvcihudWxsIT1uP3Auc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKHZbdF0sdltlXSl9KTpudWxsIT1lJiZwLnNvcnQoZnVuY3Rpb24odCxuKXtyZXR1cm4gZShhW3RdLGFbbl0pfSksdT0wLGM9ZD8oeS1oKmIpL2Q6MDt1PGg7Kyt1LGc9cylmPXBbdV0scz1nKygobD12W2ZdKT4wP2wqYzowKStiLHZbZl09e2RhdGE6YVtmXSxpbmRleDp1LHZhbHVlOmwsc3RhcnRBbmdsZTpnLGVuZEFuZ2xlOnMscGFkQW5nbGU6X307cmV0dXJuIHZ9cmV0dXJuIGEudmFsdWU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZygrbiksYSk6dH0sYS5zb3J0VmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT1udWxsLGEpOm59LGEuc29ydD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxhKTplfSxhLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksYSk6cn0sYS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxhKTppfSxhLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOm99LGF9LHQuYXJlYVJhZGlhbD1seSx0LnJhZGlhbEFyZWE9bHksdC5saW5lUmFkaWFsPXN5LHQucmFkaWFsTGluZT1zeSx0LnBvaW50UmFkaWFsPWh5LHQubGlua0hvcml6b250YWw9ZnVuY3Rpb24oKXtyZXR1cm4gZ3koeXkpfSx0LmxpbmtWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiBneShfeSl9LHQubGlua1JhZGlhbD1mdW5jdGlvbigpe3ZhciB0PWd5KGJ5KTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0fSx0LnN5bWJvbD1mdW5jdGlvbigpe3ZhciB0PVJnKG15KSxuPVJnKDY0KSxlPW51bGw7ZnVuY3Rpb24gcigpe3ZhciByO2lmKGV8fChlPXI9R2koKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhlLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkscilyZXR1cm4gZT1udWxsLHIrIiJ8fG51bGx9cmV0dXJuIHIudHlwZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKG4pLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxyKTpufSxyLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOnQscik6ZX0scn0sdC5zeW1ib2xzPVV5LHQuc3ltYm9sQ2lyY2xlPW15LHQuc3ltYm9sQ3Jvc3M9eHksdC5zeW1ib2xEaWFtb25kPUF5LHQuc3ltYm9sU3F1YXJlPWt5LHQuc3ltYm9sU3Rhcj1FeSx0LnN5bWJvbFRyaWFuZ2xlPVB5LHQuc3ltYm9sV3llPUR5LHQuY3VydmVCYXNpc0Nsb3NlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEJ5KHQpfSx0LmN1cnZlQmFzaXNPcGVuPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRnkodCl9LHQuY3VydmVCYXNpcz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFl5KHQpfSx0LmN1cnZlQnVuZGxlPUh5LHQuY3VydmVDYXJkaW5hbENsb3NlZD0keSx0LmN1cnZlQ2FyZGluYWxPcGVuPVp5LHQuY3VydmVDYXJkaW5hbD1HeSx0LmN1cnZlQ2F0bXVsbFJvbUNsb3NlZD1uXyx0LmN1cnZlQ2F0bXVsbFJvbU9wZW49cl8sdC5jdXJ2ZUNhdG11bGxSb209S3ksdC5jdXJ2ZUxpbmVhckNsb3NlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGlfKHQpfSx0LmN1cnZlTGluZWFyPUtnLHQuY3VydmVNb25vdG9uZVg9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjXyh0KX0sdC5jdXJ2ZU1vbm90b25lWT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHNfKHQpfSx0LmN1cnZlTmF0dXJhbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGhfKHQpfSx0LmN1cnZlU3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHBfKHQsLjUpfSx0LmN1cnZlU3RlcEFmdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcF8odCwxKX0sdC5jdXJ2ZVN0ZXBCZWZvcmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwXyh0LDApfSx0LnN0YWNrPWZ1bmN0aW9uKCl7dmFyIHQ9UmcoW10pLG49Z18sZT12XyxyPXlfO2Z1bmN0aW9uIGkoaSl7dmFyIG8sYSx1PXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGY9aS5sZW5ndGgsYz11Lmxlbmd0aCxzPW5ldyBBcnJheShjKTtmb3Iobz0wO288YzsrK28pe2Zvcih2YXIgbCxoPXVbb10sZD1zW29dPW5ldyBBcnJheShmKSxwPTA7cDxmOysrcClkW3BdPWw9WzAsK3IoaVtwXSxoLHAsaSldLGwuZGF0YT1pW3BdO2Qua2V5PWh9Zm9yKG89MCxhPW4ocyk7bzxjOysrbylzW2Fbb11dLmluZGV4PW87cmV0dXJuIGUocyxhKSxzfXJldHVybiBpLmtleXM9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZyhkeS5jYWxsKG4pKSxpKTp0fSxpLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGkpOnJ9LGkub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9nXzoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKGR5LmNhbGwodCkpLGkpOm59LGkub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/dl86dCxpKTplfSxpfSx0LnN0YWNrT2Zmc2V0RXhwYW5kPWZ1bmN0aW9uKHQsbil7aWYoKHI9dC5sZW5ndGgpPjApe2Zvcih2YXIgZSxyLGksbz0wLGE9dFswXS5sZW5ndGg7bzxhOysrbyl7Zm9yKGk9ZT0wO2U8cjsrK2UpaSs9dFtlXVtvXVsxXXx8MDtpZihpKWZvcihlPTA7ZTxyOysrZSl0W2VdW29dWzFdLz1pfXZfKHQsbil9fSx0LnN0YWNrT2Zmc2V0RGl2ZXJnaW5nPWZ1bmN0aW9uKHQsbil7aWYoKHU9dC5sZW5ndGgpPjEpZm9yKHZhciBlLHIsaSxvLGEsdSxmPTAsYz10W25bMF1dLmxlbmd0aDtmPGM7KytmKWZvcihvPWE9MCxlPTA7ZTx1OysrZSkoaT0ocj10W25bZV1dW2ZdKVsxXS1yWzBdKT49MD8oclswXT1vLHJbMV09bys9aSk6aTwwPyhyWzFdPWEsclswXT1hKz1pKTpyWzBdPW99LHQuc3RhY2tPZmZzZXROb25lPXZfLHQuc3RhY2tPZmZzZXRTaWxob3VldHRlPWZ1bmN0aW9uKHQsbil7aWYoKGU9dC5sZW5ndGgpPjApe2Zvcih2YXIgZSxyPTAsaT10W25bMF1dLG89aS5sZW5ndGg7cjxvOysrcil7Zm9yKHZhciBhPTAsdT0wO2E8ZTsrK2EpdSs9dFthXVtyXVsxXXx8MDtpW3JdWzFdKz1pW3JdWzBdPS11LzJ9dl8odCxuKX19LHQuc3RhY2tPZmZzZXRXaWdnbGU9ZnVuY3Rpb24odCxuKXtpZigoaT10Lmxlbmd0aCk+MCYmKHI9KGU9dFtuWzBdXSkubGVuZ3RoKT4wKXtmb3IodmFyIGUscixpLG89MCxhPTE7YTxyOysrYSl7Zm9yKHZhciB1PTAsZj0wLGM9MDt1PGk7Kyt1KXtmb3IodmFyIHM9dFtuW3VdXSxsPXNbYV1bMV18fDAsaD0obC0oc1thLTFdWzFdfHwwKSkvMixkPTA7ZDx1OysrZCl7dmFyIHA9dFtuW2RdXTtoKz0ocFthXVsxXXx8MCktKHBbYS0xXVsxXXx8MCl9Zis9bCxjKz1oKmx9ZVthLTFdWzFdKz1lW2EtMV1bMF09byxmJiYoby09Yy9mKX1lW2EtMV1bMV0rPWVbYS0xXVswXT1vLHZfKHQsbil9fSx0LnN0YWNrT3JkZXJBc2NlbmRpbmc9X18sdC5zdGFja09yZGVyRGVzY2VuZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gX18odCkucmV2ZXJzZSgpfSx0LnN0YWNrT3JkZXJJbnNpZGVPdXQ9ZnVuY3Rpb24odCl7dmFyIG4sZSxyPXQubGVuZ3RoLGk9dC5tYXAoYl8pLG89Z18odCkuc29ydChmdW5jdGlvbih0LG4pe3JldHVybiBpW25dLWlbdF19KSxhPTAsdT0wLGY9W10sYz1bXTtmb3Iobj0wO248cjsrK24pZT1vW25dLGE8dT8oYSs9aVtlXSxmLnB1c2goZSkpOih1Kz1pW2VdLGMucHVzaChlKSk7cmV0dXJuIGMucmV2ZXJzZSgpLmNvbmNhdChmKX0sdC5zdGFja09yZGVyTm9uZT1nXyx0LnN0YWNrT3JkZXJSZXZlcnNlPWZ1bmN0aW9uKHQpe3JldHVybiBnXyh0KS5yZXZlcnNlKCl9LHQudGltZUludGVydmFsPVJoLHQudGltZU1pbGxpc2Vjb25kPUxoLHQudGltZU1pbGxpc2Vjb25kcz1EaCx0LnV0Y01pbGxpc2Vjb25kPUxoLHQudXRjTWlsbGlzZWNvbmRzPURoLHQudGltZVNlY29uZD1PaCx0LnRpbWVTZWNvbmRzPVloLHQudXRjU2Vjb25kPU9oLHQudXRjU2Vjb25kcz1ZaCx0LnRpbWVNaW51dGU9QmgsdC50aW1lTWludXRlcz1GaCx0LnRpbWVIb3VyPUloLHQudGltZUhvdXJzPUhoLHQudGltZURheT1qaCx0LnRpbWVEYXlzPVhoLHQudGltZVdlZWs9VmgsdC50aW1lV2Vla3M9dGQsdC50aW1lU3VuZGF5PVZoLHQudGltZVN1bmRheXM9dGQsdC50aW1lTW9uZGF5PSRoLHQudGltZU1vbmRheXM9bmQsdC50aW1lVHVlc2RheT1XaCx0LnRpbWVUdWVzZGF5cz1lZCx0LnRpbWVXZWRuZXNkYXk9WmgsdC50aW1lV2VkbmVzZGF5cz1yZCx0LnRpbWVUaHVyc2RheT1RaCx0LnRpbWVUaHVyc2RheXM9aWQsdC50aW1lRnJpZGF5PUpoLHQudGltZUZyaWRheXM9b2QsdC50aW1lU2F0dXJkYXk9S2gsdC50aW1lU2F0dXJkYXlzPWFkLHQudGltZU1vbnRoPXVkLHQudGltZU1vbnRocz1mZCx0LnRpbWVZZWFyPWNkLHQudGltZVllYXJzPXNkLHQudXRjTWludXRlPWxkLHQudXRjTWludXRlcz1oZCx0LnV0Y0hvdXI9ZGQsdC51dGNIb3Vycz1wZCx0LnV0Y0RheT12ZCx0LnV0Y0RheXM9Z2QsdC51dGNXZWVrPV9kLHQudXRjV2Vla3M9VGQsdC51dGNTdW5kYXk9X2QsdC51dGNTdW5kYXlzPVRkLHQudXRjTW9uZGF5PWJkLHQudXRjTW9uZGF5cz1OZCx0LnV0Y1R1ZXNkYXk9bWQsdC51dGNUdWVzZGF5cz1TZCx0LnV0Y1dlZG5lc2RheT14ZCx0LnV0Y1dlZG5lc2RheXM9RWQsdC51dGNUaHVyc2RheT13ZCx0LnV0Y1RodXJzZGF5cz1rZCx0LnV0Y0ZyaWRheT1NZCx0LnV0Y0ZyaWRheXM9Q2QsdC51dGNTYXR1cmRheT1BZCx0LnV0Y1NhdHVyZGF5cz1QZCx0LnV0Y01vbnRoPXpkLHQudXRjTW9udGhzPVJkLHQudXRjWWVhcj1MZCx0LnV0Y1llYXJzPURkLHQudGltZUZvcm1hdERlZmF1bHRMb2NhbGU9UXAsdC50aW1lRm9ybWF0TG9jYWxlPVlkLHQuaXNvRm9ybWF0PUpwLHQuaXNvUGFyc2U9S3AsdC5ub3c9aXIsdC50aW1lcj11cix0LnRpbWVyRmx1c2g9ZnIsdC50aW1lb3V0PWhyLHQuaW50ZXJ2YWw9ZnVuY3Rpb24odCxuLGUpe3ZhciByPW5ldyBhcixpPW47cmV0dXJuIG51bGw9PW4/KHIucmVzdGFydCh0LG4sZSkscik6KG49K24sZT1udWxsPT1lP2lyKCk6K2Usci5yZXN0YXJ0KGZ1bmN0aW9uIG8oYSl7YSs9aSxyLnJlc3RhcnQobyxpKz1uLGUpLHQoYSl9LG4sZSkscil9LHQudHJhbnNpdGlvbj16cix0LmFjdGl2ZT1mdW5jdGlvbih0LG4pe3ZhciBlLHIsaT10Ll9fdHJhbnNpdGlvbjtpZihpKWZvcihyIGluIG49bnVsbD09bj9udWxsOm4rIiIsaSlpZigoZT1pW3JdKS5zdGF0ZT5nciYmZS5uYW1lPT09bilyZXR1cm4gbmV3IFByKFtbdF1dLGxpLG4sK3IpO3JldHVybiBudWxsfSx0LmludGVycnVwdD1Ocix0LnZvcm9ub2k9ZnVuY3Rpb24oKXt2YXIgdD14XyxuPXdfLGU9bnVsbDtmdW5jdGlvbiByKHIpe3JldHVybiBuZXcgZWIoci5tYXAoZnVuY3Rpb24oZSxpKXt2YXIgbz1bTWF0aC5yb3VuZCh0KGUsaSxyKS9LXykqS18sTWF0aC5yb3VuZChuKGUsaSxyKS9LXykqS19dO3JldHVybiBvLmluZGV4PWksby5kYXRhPWUsb30pLGUpfXJldHVybiByLnBvbHlnb25zPWZ1bmN0aW9uKHQpe3JldHVybiByKHQpLnBvbHlnb25zKCl9LHIubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkubGlua3MoKX0sci50cmlhbmdsZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkudHJpYW5nbGVzKCl9LHIueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOm1fKCtuKSxyKTp0fSxyLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDptXygrdCkscik6bn0sci5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOltbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dLHIpOmUmJltbZVswXVswXSxlWzBdWzFdXSxbZVsxXVswXSxlWzFdWzFdXV19LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10P251bGw6W1swLDBdLFsrdFswXSwrdFsxXV1dLHIpOmUmJltlWzFdWzBdLWVbMF1bMF0sZVsxXVsxXS1lWzBdWzFdXX0scn0sdC56b29tPWZ1bmN0aW9uKCl7dmFyIG4sZSxyPXNiLGk9bGIsbz12YixhPWRiLHU9cGIsZj1bMCwxLzBdLGM9W1stMS8wLC0xLzBdLFsxLzAsMS8wXV0scz0yNTAsbD1xZSxoPVtdLGQ9SSgic3RhcnQiLCJ6b29tIiwiZW5kIikscD01MDAsdj0xNTAsZz0wO2Z1bmN0aW9uIHkodCl7dC5wcm9wZXJ0eSgiX196b29tIixoYikub24oIndoZWVsLnpvb20iLEEpLm9uKCJtb3VzZWRvd24uem9vbSIsVCkub24oImRibGNsaWNrLnpvb20iLE4pLmZpbHRlcih1KS5vbigidG91Y2hzdGFydC56b29tIixTKS5vbigidG91Y2htb3ZlLnpvb20iLEUpLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNoY2FuY2VsLnpvb20iLGspLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCJub25lIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKX1mdW5jdGlvbiBfKHQsbil7cmV0dXJuKG49TWF0aC5tYXgoZlswXSxNYXRoLm1pbihmWzFdLG4pKSk9PT10Lms/dDpuZXcgb2Iobix0LngsdC55KX1mdW5jdGlvbiBiKHQsbixlKXt2YXIgcj1uWzBdLWVbMF0qdC5rLGk9blsxXS1lWzFdKnQuaztyZXR1cm4gcj09PXQueCYmaT09PXQueT90Om5ldyBvYih0LmsscixpKX1mdW5jdGlvbiBtKHQpe3JldHVyblsoK3RbMF1bMF0rICt0WzFdWzBdKS8yLCgrdFswXVsxXSsgK3RbMV1bMV0pLzJdfWZ1bmN0aW9uIHgodCxuLGUpe3Qub24oInN0YXJ0Lnpvb20iLGZ1bmN0aW9uKCl7dyh0aGlzLGFyZ3VtZW50cykuc3RhcnQoKX0pLm9uKCJpbnRlcnJ1cHQuem9vbSBlbmQuem9vbSIsZnVuY3Rpb24oKXt3KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pLnR3ZWVuKCJ6b29tIixmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxyPXcodGhpcyx0KSxvPWkuYXBwbHkodGhpcyx0KSxhPWV8fG0obyksdT1NYXRoLm1heChvWzFdWzBdLW9bMF1bMF0sb1sxXVsxXS1vWzBdWzFdKSxmPXRoaXMuX196b29tLGM9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLHQpOm4scz1sKGYuaW52ZXJ0KGEpLmNvbmNhdCh1L2YuayksYy5pbnZlcnQoYSkuY29uY2F0KHUvYy5rKSk7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKDE9PT10KXQ9YztlbHNle3ZhciBuPXModCksZT11L25bMl07dD1uZXcgb2IoZSxhWzBdLW5bMF0qZSxhWzFdLW5bMV0qZSl9ci56b29tKG51bGwsdCl9fSl9ZnVuY3Rpb24gdyh0LG4pe2Zvcih2YXIgZSxyPTAsaT1oLmxlbmd0aDtyPGk7KytyKWlmKChlPWhbcl0pLnRoYXQ9PT10KXJldHVybiBlO3JldHVybiBuZXcgTSh0LG4pfWZ1bmN0aW9uIE0odCxuKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9bix0aGlzLmluZGV4PS0xLHRoaXMuYWN0aXZlPTAsdGhpcy5leHRlbnQ9aS5hcHBseSh0LG4pfWZ1bmN0aW9uIEEoKXtpZihyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9dyh0aGlzLGFyZ3VtZW50cyksbj10aGlzLl9fem9vbSxlPU1hdGgubWF4KGZbMF0sTWF0aC5taW4oZlsxXSxuLmsqTWF0aC5wb3coMixhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpKSxpPUZ0KHRoaXMpO2lmKHQud2hlZWwpdC5tb3VzZVswXVswXT09PWlbMF0mJnQubW91c2VbMF1bMV09PT1pWzFdfHwodC5tb3VzZVsxXT1uLmludmVydCh0Lm1vdXNlWzBdPWkpKSxjbGVhclRpbWVvdXQodC53aGVlbCk7ZWxzZXtpZihuLms9PT1lKXJldHVybjt0Lm1vdXNlPVtpLG4uaW52ZXJ0KGkpXSxOcih0aGlzKSx0LnN0YXJ0KCl9Y2IoKSx0LndoZWVsPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndoZWVsPW51bGwsdC5lbmQoKX0sdiksdC56b29tKCJtb3VzZSIsbyhiKF8obixlKSx0Lm1vdXNlWzBdLHQubW91c2VbMV0pLHQuZXh0ZW50LGMpKX19ZnVuY3Rpb24gVCgpe2lmKCFlJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG49dyh0aGlzLGFyZ3VtZW50cyksaT1EdCh0LmV2ZW50LnZpZXcpLm9uKCJtb3VzZW1vdmUuem9vbSIsZnVuY3Rpb24oKXtpZihjYigpLCFuLm1vdmVkKXt2YXIgZT10LmV2ZW50LmNsaWVudFgtdSxyPXQuZXZlbnQuY2xpZW50WS1mO24ubW92ZWQ9ZSplK3Iqcj5nfW4uem9vbSgibW91c2UiLG8oYihuLnRoYXQuX196b29tLG4ubW91c2VbMF09RnQobi50aGF0KSxuLm1vdXNlWzFdKSxuLmV4dGVudCxjKSl9LCEwKS5vbigibW91c2V1cC56b29tIixmdW5jdGlvbigpe2kub24oIm1vdXNlbW92ZS56b29tIG1vdXNldXAuem9vbSIsbnVsbCksR3QodC5ldmVudC52aWV3LG4ubW92ZWQpLGNiKCksbi5lbmQoKX0sITApLGE9RnQodGhpcyksdT10LmV2ZW50LmNsaWVudFgsZj10LmV2ZW50LmNsaWVudFk7WHQodC5ldmVudC52aWV3KSxmYigpLG4ubW91c2U9W2EsdGhpcy5fX3pvb20uaW52ZXJ0KGEpXSxOcih0aGlzKSxuLnN0YXJ0KCl9fWZ1bmN0aW9uIE4oKXtpZihyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG49dGhpcy5fX3pvb20sZT1GdCh0aGlzKSxhPW4uaW52ZXJ0KGUpLHU9bi5rKih0LmV2ZW50LnNoaWZ0S2V5Py41OjIpLGY9byhiKF8obix1KSxlLGEpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGMpO2NiKCkscz4wP0R0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihzKS5jYWxsKHgsZixlKTpEdCh0aGlzKS5jYWxsKHkudHJhbnNmb3JtLGYpfX1mdW5jdGlvbiBTKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciBlLGksbyxhLHU9dyh0aGlzLGFyZ3VtZW50cyksZj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLGM9Zi5sZW5ndGg7Zm9yKGZiKCksaT0wO2k8YzsrK2kpYT1bYT1JdCh0aGlzLGYsKG89ZltpXSkuaWRlbnRpZmllciksdGhpcy5fX3pvb20uaW52ZXJ0KGEpLG8uaWRlbnRpZmllcl0sdS50b3VjaDA/dS50b3VjaDF8fCh1LnRvdWNoMT1hKToodS50b3VjaDA9YSxlPSEwKTtpZihuJiYobj1jbGVhclRpbWVvdXQobiksIXUudG91Y2gxKSlyZXR1cm4gdS5lbmQoKSx2b2lkKChhPUR0KHRoaXMpLm9uKCJkYmxjbGljay56b29tIikpJiZhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSk7ZSYmKG49c2V0VGltZW91dChmdW5jdGlvbigpe249bnVsbH0scCksTnIodGhpcyksdS5zdGFydCgpKX19ZnVuY3Rpb24gRSgpe3ZhciBlLHIsaSxhLHU9dyh0aGlzLGFyZ3VtZW50cyksZj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLHM9Zi5sZW5ndGg7Zm9yKGNiKCksbiYmKG49Y2xlYXJUaW1lb3V0KG4pKSxlPTA7ZTxzOysrZSlpPUl0KHRoaXMsZiwocj1mW2VdKS5pZGVudGlmaWVyKSx1LnRvdWNoMCYmdS50b3VjaDBbMl09PT1yLmlkZW50aWZpZXI/dS50b3VjaDBbMF09aTp1LnRvdWNoMSYmdS50b3VjaDFbMl09PT1yLmlkZW50aWZpZXImJih1LnRvdWNoMVswXT1pKTtpZihyPXUudGhhdC5fX3pvb20sdS50b3VjaDEpe3ZhciBsPXUudG91Y2gwWzBdLGg9dS50b3VjaDBbMV0sZD11LnRvdWNoMVswXSxwPXUudG91Y2gxWzFdLHY9KHY9ZFswXS1sWzBdKSp2Kyh2PWRbMV0tbFsxXSkqdixnPShnPXBbMF0taFswXSkqZysoZz1wWzFdLWhbMV0pKmc7cj1fKHIsTWF0aC5zcXJ0KHYvZykpLGk9WyhsWzBdK2RbMF0pLzIsKGxbMV0rZFsxXSkvMl0sYT1bKGhbMF0rcFswXSkvMiwoaFsxXStwWzFdKS8yXX1lbHNle2lmKCF1LnRvdWNoMClyZXR1cm47aT11LnRvdWNoMFswXSxhPXUudG91Y2gwWzFdfXUuem9vbSgidG91Y2giLG8oYihyLGksYSksdS5leHRlbnQsYykpfWZ1bmN0aW9uIGsoKXt2YXIgbixyLGk9dyh0aGlzLGFyZ3VtZW50cyksbz10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLGE9by5sZW5ndGg7Zm9yKGZiKCksZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2U9bnVsbH0scCksbj0wO248YTsrK24pcj1vW25dLGkudG91Y2gwJiZpLnRvdWNoMFsyXT09PXIuaWRlbnRpZmllcj9kZWxldGUgaS50b3VjaDA6aS50b3VjaDEmJmkudG91Y2gxWzJdPT09ci5pZGVudGlmaWVyJiZkZWxldGUgaS50b3VjaDE7aS50b3VjaDEmJiFpLnRvdWNoMCYmKGkudG91Y2gwPWkudG91Y2gxLGRlbGV0ZSBpLnRvdWNoMSksaS50b3VjaDA/aS50b3VjaDBbMV09dGhpcy5fX3pvb20uaW52ZXJ0KGkudG91Y2gwWzBdKTppLmVuZCgpfXJldHVybiB5LnRyYW5zZm9ybT1mdW5jdGlvbih0LG4pe3ZhciBlPXQuc2VsZWN0aW9uP3Quc2VsZWN0aW9uKCk6dDtlLnByb3BlcnR5KCJfX3pvb20iLGhiKSx0IT09ZT94KHQsbik6ZS5pbnRlcnJ1cHQoKS5lYWNoKGZ1bmN0aW9uKCl7dyh0aGlzLGFyZ3VtZW50cykuc3RhcnQoKS56b29tKG51bGwsImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bikuZW5kKCl9KX0seS5zY2FsZUJ5PWZ1bmN0aW9uKHQsbil7eS5zY2FsZVRvKHQsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX3pvb20uayooImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bil9KX0seS5zY2FsZVRvPWZ1bmN0aW9uKHQsbil7eS50cmFuc2Zvcm0odCxmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGU9dGhpcy5fX3pvb20scj1tKHQpLGE9ZS5pbnZlcnQociksdT0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuO3JldHVybiBvKGIoXyhlLHUpLHIsYSksdCxjKX0pfSx5LnRyYW5zbGF0ZUJ5PWZ1bmN0aW9uKHQsbixlKXt5LnRyYW5zZm9ybSh0LGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcy5fX3pvb20udHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOm4sImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksYyl9KX0seS50cmFuc2xhdGVUbz1mdW5jdGlvbih0LG4sZSl7eS50cmFuc2Zvcm0odCxmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9dGhpcy5fX3pvb20sYT1tKHQpO3JldHVybiBvKGFiLnRyYW5zbGF0ZShhWzBdLGFbMV0pLnNjYWxlKHIuaykudHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBuPy1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTotbiwiZnVuY3Rpb24iPT10eXBlb2YgZT8tZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LWUpLHQsYyl9KX0sTS5wcm90b3R5cGU9e3N0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIDE9PSsrdGhpcy5hY3RpdmUmJih0aGlzLmluZGV4PWgucHVzaCh0aGlzKS0xLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sem9vbTpmdW5jdGlvbih0LG4pe3JldHVybiB0aGlzLm1vdXNlJiYibW91c2UiIT09dCYmKHRoaXMubW91c2VbMV09bi5pbnZlcnQodGhpcy5tb3VzZVswXSkpLHRoaXMudG91Y2gwJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gwWzFdPW4uaW52ZXJ0KHRoaXMudG91Y2gwWzBdKSksdGhpcy50b3VjaDEmJiJ0b3VjaCIhPT10JiYodGhpcy50b3VjaDFbMV09bi5pbnZlcnQodGhpcy50b3VjaDFbMF0pKSx0aGlzLnRoYXQuX196b29tPW4sdGhpcy5lbWl0KCJ6b29tIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihoLnNwbGljZSh0aGlzLmluZGV4LDEpLHRoaXMuaW5kZXg9LTEsdGhpcy5lbWl0KCJlbmQiKSksdGhpc30sZW1pdDpmdW5jdGlvbih0KXtDdChuZXcgaWIoeSx0LHRoaXMudGhhdC5fX3pvb20pLGQuYXBwbHksZCxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSx5LndoZWVsRGVsdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyYigrdCkseSk6YX0seS5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyYighIXQpLHkpOnJ9LHkudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cmIoISF0KSx5KTp1fSx5LmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnJiKFtbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dKSx5KTppfSx5LnNjYWxlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmWzBdPSt0WzBdLGZbMV09K3RbMV0seSk6W2ZbMF0sZlsxXV19LHkudHJhbnNsYXRlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjWzBdWzBdPSt0WzBdWzBdLGNbMV1bMF09K3RbMV1bMF0sY1swXVsxXT0rdFswXVsxXSxjWzFdWzFdPSt0WzFdWzFdLHkpOltbY1swXVswXSxjWzBdWzFdXSxbY1sxXVswXSxjWzFdWzFdXV19LHkuY29uc3RyYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQseSk6b30seS5kdXJhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCx5KTpzfSx5LmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPXQseSk6bH0seS5vbj1mdW5jdGlvbigpe3ZhciB0PWQub24uYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiB0PT09ZD95OnR9LHkuY2xpY2tEaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZz0odD0rdCkqdCx5KTpNYXRoLnNxcnQoZyl9LHl9LHQuem9vbVRyYW5zZm9ybT11Yix0Lnpvb21JZGVudGl0eT1hYixPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9yZWdpc3RyeS5qcwp2YXIgcGU7CihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7ZC5OT1RfTE9BREVEPSJOT1RfTE9BREVEIjtkLkxPQURFRD0iTE9BREVEIjtkLkZBSUxFRD0iRkFJTEVEIn0pKGIuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZXx8KGIuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZT17fSkpO2IuZGFzaGJvYXJkUmVnaXN0cnk9e307Yi5yZWdpc3RlckRhc2hib2FyZD1mdW5jdGlvbigpe3ZhciBkPXtwbHVnaW46ImJlaG9sZGVyIixlbGVtZW50TmFtZToidGYtYmVob2xkZXItZGFzaGJvYXJkIixzaG91bGRSZW1vdmVEb206ITB9O2lmKCFkLnBsdWdpbil0aHJvdyBFcnJvcigiRGFzaGJvYXJkLnBsdWdpbiBtdXN0IGJlIHByZXNlbnQiKTtpZighZC5lbGVtZW50TmFtZSl0aHJvdyBFcnJvcigiRGFzaGJvYXJkLmVsZW1lbnROYW1lIG11c3QgYmUgcHJlc2VudCIpO2lmKGQucGx1Z2luIGluIGIuZGFzaGJvYXJkUmVnaXN0cnkpdGhyb3cgRXJyb3IoYFBsdWdpbiBhbHJlYWR5IHJlZ2lzdGVyZWQ6ICR7ZC5wbHVnaW59YCk7ZC50YWJOYW1lfHwKKGQudGFiTmFtZT1kLnBsdWdpbik7Yi5kYXNoYm9hcmRSZWdpc3RyeVtkLnBsdWdpbl09ZH19KShwZXx8KHBlPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdXRpbHMvdXRpbHMuanMKdmFyIHJmOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChmLGgsayl7cmV0dXJuIDE9PT1mP2g6a31iLmFnZ3JlZ2F0ZVRhZ0luZm89ZnVuY3Rpb24oZixoKXtsZXQgaz12b2lkIDA7Y29uc3Qgcj17fTtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKHA9Pntjb25zdCBtPWZbcF07dm9pZCAwPT09ayYmKGs9bS5kaXNwbGF5TmFtZSk7ayE9PW0uZGlzcGxheU5hbWUmJihrPW51bGwpO3ZvaWQgMD09PXJbbS5kZXNjcmlwdGlvbl0mJihyW20uZGVzY3JpcHRpb25dPVtdKTtyW20uZGVzY3JpcHRpb25dLnB1c2gocCl9KTtoPW51bGwhPWs/azpoO2NvbnN0IGw9KCgpPT57Y29uc3QgcD1PYmplY3Qua2V5cyhyKTtyZXR1cm4gMD09PXAubGVuZ3RoPyIiOjE9PT1wLmxlbmd0aD9wWzBdOmAkeyJceDNjcFx4M2VceDNjc3Ryb25nXHgzZU11bHRpcGxlIGRlc2NyaXB0aW9uczpceDNjL3N0cm9uZ1x4M2VceDNjL3BceDNlIn08dWw+JHtwLm1hcChtPT57Y29uc3Qgbj1yW21dLm1hcCh1PT5gPGNvZGU+JHt1LnJlcGxhY2UoLzwvZywiXHgyNmx0OyIpLnJlcGxhY2UoLz4vZywKIlx4MjZndDsiKS5yZXBsYWNlKC8mL2csIlx4MjZhbXA7Iil9PC9jb2RlPmApLHE9MjxuLmxlbmd0aD9uLnNsaWNlKDAsbi5sZW5ndGgtMSkuam9pbigiLCAiKSsiLCBhbmQgIituW24ubGVuZ3RoLTFdOm4uam9pbigiIGFuZCAiKTtyZXR1cm5gPGxpPjxwPkZvciAke2Qobi5sZW5ndGgsInJ1biIsInJ1bnMiKX0gJHtxfTo8L3A+JHttfTwvbGk+YH0pLmpvaW4oIiIpfTwvdWw+YH0pKCk7cmV0dXJue2Rpc3BsYXlOYW1lOmgsZGVzY3JpcHRpb246bH19fSkocmZ8fChyZj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLXNwaW5uZXIvcGFwZXItc3Bpbm5lci1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuUGFwZXJTcGlubmVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2FjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX19hY3RpdmVDaGFuZ2VkIn0sYWx0Ont0eXBlOlN0cmluZyx2YWx1ZToibG9hZGluZyIsb2JzZXJ2ZXI6Il9fYWx0Q2hhbmdlZCJ9LF9fY29vbGluZ0Rvd246e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LF9fY29tcHV0ZUNvbnRhaW5lckNsYXNzZXM6ZnVuY3Rpb24oYixkKXtyZXR1cm5bYnx8ZD8iYWN0aXZlIjoiIixkPyJjb29sZG93biI6IiJdLmpvaW4oIiAiKX0sX19hY3RpdmVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dGhpcy5fX3NldEFyaWFIaWRkZW4oIWIpO3RoaXMuX19jb29saW5nRG93bj0hYiYmZH0sX19hbHRDaGFuZ2VkOmZ1bmN0aW9uKGIpeyJsb2FkaW5nIj09PWI/dGhpcy5hbHQ9dGhpcy5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKXx8YjoodGhpcy5fX3NldEFyaWFIaWRkZW4oIiI9PT0KYiksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGIpKX0sX19zZXRBcmlhSGlkZGVuOmZ1bmN0aW9uKGIpe2I/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpOnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpfSxfX3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fX2Nvb2xpbmdEb3duPXRoaXMuYWN0aXZlPSExfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGFzaGJvYXJkLWNvbW1vbi9kYXRhLWxvYWRlci1iZWhhdmlvci5qcwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGYpe2ZbZi5MT0FESU5HPTBdPSJMT0FESU5HIjtmW2YuTE9BREVEPTFdPSJMT0FERUQifSkoZHx8KGQ9e30pKTtiLkRhdGFMb2FkZXJCZWhhdmlvcj17cHJvcGVydGllczp7YWN0aXZlOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9sb2FkRGF0YUlmQWN0aXZlIn0sbG9hZEtleTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGRhdGFUb0xvYWQ6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9PmY9PlN0cmluZyhmKX0sbG9hZERhdGFDYWxsYmFjazpGdW5jdGlvbixyZXF1ZXN0RGF0YTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmPT50aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodGhpcy5nZXREYXRhTG9hZFVybChmKSl9fSxnZXREYXRhTG9hZFVybDpGdW5jdGlvbixkYXRhTG9hZGluZzp7dHlwZTpCb29sZWFuLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCwKdmFsdWU6ITF9LF9kYXRhTG9hZFN0YXRlOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IE1hcH0sX2NhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9sb2FkRGF0YUFzeW5jOnt0eXBlOk51bWJlcix2YWx1ZTpudWxsfX0sb2JzZXJ2ZXJzOlsiX2RhdGFUb0xvYWRDaGFuZ2VkKGlzQXR0YWNoZWQsIGRhdGFUb0xvYWQuKikiXSxvbkxvYWRGaW5pc2goKXt9LHJlbG9hZCgpe3RoaXMuX2RhdGFMb2FkU3RhdGUuY2xlYXIoKTt0aGlzLl9sb2FkRGF0YSgpfSxyZXNldCgpe251bGwhPXRoaXMuX2xvYWREYXRhQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCk7dGhpcy5fY2FuY2VsbGVyJiZ0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7dGhpcy5fZGF0YUxvYWRTdGF0ZSYmdGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpO3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbG9hZERhdGEoKX0sCl9kYXRhVG9Mb2FkQ2hhbmdlZCgpe3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbG9hZERhdGEoKX0sY3JlYXRlZCgpe3RoaXMuX2xvYWREYXRhPV8udGhyb3R0bGUodGhpcy5fbG9hZERhdGFJbXBsLDEwMCx7bGVhZGluZzohMCx0cmFpbGluZzohMH0pfSxkZXRhY2hlZCgpe251bGwhPXRoaXMuX2xvYWREYXRhQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCl9LF9sb2FkRGF0YUlmQWN0aXZlKCl7dGhpcy5hY3RpdmUmJnRoaXMuX2xvYWREYXRhKCl9LF9sb2FkRGF0YUltcGwoKXt0aGlzLmFjdGl2ZSYmKHRoaXMuY2FuY2VsQXN5bmModGhpcy5fbG9hZERhdGFBc3luYyksdGhpcy5fbG9hZERhdGFBc3luYz10aGlzLmFzeW5jKHRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShmPT57aWYoIWYuY2FuY2VsbGVkKXJldHVybiB0aGlzLl9zZXREYXRhTG9hZGluZyghMCksZj10aGlzLmRhdGFUb0xvYWQuZmlsdGVyKGg9Pgp7aD10aGlzLmdldERhdGFMb2FkTmFtZShoKTtyZXR1cm4hdGhpcy5fZGF0YUxvYWRTdGF0ZS5oYXMoaCl9KS5tYXAoaD0+e2NvbnN0IGs9dGhpcy5nZXREYXRhTG9hZE5hbWUoaCk7dGhpcy5fZGF0YUxvYWRTdGF0ZS5zZXQoayxkLkxPQURJTkcpO3JldHVybiB0aGlzLnJlcXVlc3REYXRhKGgpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHI9PntyLmNhbmNlbGxlZHx8KHRoaXMuX2RhdGFMb2FkU3RhdGUuc2V0KGssZC5MT0FERUQpLHRoaXMubG9hZERhdGFDYWxsYmFjayh0aGlzLGgsci52YWx1ZSkpO3JldHVybiBrfSkpfSksUHJvbWlzZS5hbGwoZikudGhlbih0aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoaD0+e2lmKCFoLmNhbmNlbGxlZCl7Y29uc3Qgaz1uZXcgU2V0KGgudmFsdWUpO2lmKHRoaXMuZGF0YVRvTG9hZC5zb21lKHI9PmsuaGFzKHRoaXMuZ2V0RGF0YUxvYWROYW1lKHIpKSkpdGhpcy5vbkxvYWRGaW5pc2goKX1BcnJheS5mcm9tKHRoaXMuX2RhdGFMb2FkU3RhdGUudmFsdWVzKCkpLnNvbWUoaz0+Cms9PT1kLkxPQURJTkcpfHx0aGlzLl9zZXREYXRhTG9hZGluZyghMSl9KSwoKT0+e30pLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh7Y2FuY2VsbGVkOmh9KT0+e2h8fCh0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwpfSkpfSkpKX19fSkoY2R8fChjZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWltcG9ydHMvcGxvdHRhYmxlLmpzCi8qCiBNSVQKIE1JVAogQGZpbGVvdmVydmlldyBJbXBsZW1lbnRzIHRoZSBTaWduYXR1cmUgQVBJIHRvIGhlbHAgaW4gY29tcGFyaW5nIHdoZW4gdHdvCiBQbG90dGFibGUgb2JqZWN0cyBoYXZlICJjaGFuZ2VkIi4KCiBNZW1vaXphdGlvbiBpbiBQbG90dGFibGUgaXMgY29tcGxpY2F0ZWQgYnkgbXV0YWJsZSBzY2FsZXMgYW5kIGRhdGFzZXRzLiBXZSBjYW5ub3Qgc2ltcGx5CiByZWZlcmVuY2UgY29tcGFyZSB0d28gZS5nLiBzY2FsZXMgc2luY2UgaXQgbWF5IGhhdmUgaW50ZXJuYWxseSBtdXRhdGVkLiBUbyByZXNvbHZlIHRoaXMsCiB3ZSB3cml0ZSBhIHJlY3Vyc2l2ZSBTaWduYXR1cmUgaW50ZXJmYWNlIHRoYXQgaG9sZHMgYW4gaW1tdXRhYmxlIHNuYXBzaG90IG9mIHdoYXRldmVyCiBzdGF0ZSB0aGUgc2NhbGUvZGF0YSB3YXMgaW4gYXQgdGhlIHRpbWUuIFRoZW4gb24gbWVtb2l6ZWQgZnVuY3Rpb24gaW52b2NhdGlvbiB3ZSBzaWduIHRoZQogbmV3IGlucHV0cyBhbmQgY29tcGFyZSB0aGUgc2lnbmF0dXJlcyB0byBkZWNpZGUgaWYgd2Ugc2hvdWxkIHJlY29tcHV0ZS4KCiBXZSBtdXN0IGhhbmQtd3JpdGUgYSBzaWduYXR1cmUgZm9yIGVhY2ggY3VzdG9tIGNsYXNzIHdlIHdpc2ggdG8gc3VwcG9ydC4KIE1JVAoKIEBmaWxlb3ZlcnZpZXcgbWFudWFsbHkgYWRkIGQzLXNlbGVjdGlvbi1tdWx0aSB0byBkMyBkZWZhdWx0IGJ1bmRsZS4gTW9zdCBvZiB0aGlzIGNvZGUgaXMKIGNvcGllZCBmcm9tIGQzLXNlbGVjdGlvbi1tdWx0aUAxLjAuMC4KIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZDMvZDMtc2VsZWN0aW9uLW11bHRpL2lzc3Vlcy8xMSBmb3Igd2h5IHdlIGhhdmUgdG8gZG8gdGhpcwogTUlUCiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBjb252ZW5pZW50IHRodW5rIGZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgY29tbW9uIGNhc2UKIG9mIGNyZWF0aW5nIGEgbWVtb2l6ZWQgZnVuY3Rpb24gdGhhdCB0YWtlcyBpdHMgaW5wdXRzIGZyb20gbXV0YWJsZSBjbGFzcyBwcm9wZXJ0aWVzLgogTUlUCiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBmdW5jdGlvbiBtZW1vaXplciB1c2luZyB0aGUgU2lnbmF0dXJlIEFQSS4KIFBsb3R0YWJsZSAzLjcuMCAoaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL3Bsb3R0YWJsZSkKIENvcHlyaWdodCAyMDE0LTIwMTcgUGFsYW50aXIgVGVjaG5vbG9naWVzCiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9wbG90dGFibGUvYmxvYi9tYXN0ZXIvTElDRU5TRSkKIGlzLXBsYWluLW9iamVjdCA8aHR0cHM6Ly9naXRodWIuY29tL2pvbnNjaGxpbmtlcnQvaXMtcGxhaW4tb2JqZWN0PgoKIENvcHlyaWdodCAoYykgMjAxNC0yMDE3LCBKb24gU2NobGlua2VydC4KIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KIGlzb2JqZWN0IDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9pc29iamVjdD4KCiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNywgSm9uIFNjaGxpbmtlcnQuCiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiovCihmdW5jdGlvbihiLGQpeyJvYmplY3QiPT09dHlwZW9mIGV4cG9ydHMmJiJvYmplY3QiPT09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1kKHJlcXVpcmUoImQzIikpOiJmdW5jdGlvbiI9PT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImQzIl0sZCk6Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLlBsb3R0YWJsZT1kKHJlcXVpcmUoImQzIikpOmIuUGxvdHRhYmxlPWQoYi5kMyl9KSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBmdW5jdGlvbihkKXtmdW5jdGlvbiBmKGspe2lmKGhba10pcmV0dXJuIGhba10uZXhwb3J0czt2YXIgcj1oW2tdPXtpOmssbDohMSxleHBvcnRzOnt9fTtkW2tdLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLGYpO3IubD0hMDtyZXR1cm4gci5leHBvcnRzfXZhciBoPXt9O2YubT1kO2YuYz1oO2YuaT1mdW5jdGlvbihrKXtyZXR1cm4ga307Zi5kPWZ1bmN0aW9uKGsscixsKXtmLm8oayxyKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGssCnIse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDpsfSl9O2Yubj1mdW5jdGlvbihrKXt2YXIgcj1rJiZrLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4ga1siZGVmYXVsdCJdfTpmdW5jdGlvbigpe3JldHVybiBrfTtmLmQociwiYSIscik7cmV0dXJuIHJ9O2Yubz1mdW5jdGlvbihrLHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoayxyKX07Zi5wPSIiO3JldHVybiBmKGYucz0xNDApfShbZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ZD1oKDEwNyk7Zi5BcnJheT1kO2Q9aCgxMTApO2YuQ29sb3I9ZDtkPWgoNTUpO2YuRE9NPWQ7ZD1oKDU2KTtmLk1hdGg9ZDtkPWgoMTEzKTtmLk9iamVjdD1kO2Q9aCg1Nyk7Zi5SVHJlZT1kO2Q9aCgxMTUpO2YuU3RhY2tpbmc9ZDtkPWgoMzUpO2YuV2luZG93PWQ7ayhoKDEwOCkpO2soaCgxMDkpKTtrKGgoMTIpKTsKayhoKDExMSkpO2soaCgxMTIpKTtrKGgoNTgpKTtrKGgoMTE2KSl9LGZ1bmN0aW9uKGQpe2QuZXhwb3J0cz1ifSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhHLEQsQil7dmFyIEg9RC5hY2Nlc3NvcjtEPUQuc2NhbGU7aWYobnVsbD09RClyZXR1cm5bXTt2YXIgSz1HLmRhdGEoKTtudWxsIT1CJiYoSz1LLmZpbHRlcihmdW5jdGlvbihMLEope3JldHVybiBCKEwsSixHKX0pKTtLPUsubWFwKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEgoTCxKLEcpfSk7cmV0dXJuIEQuZXh0ZW50T2ZWYWx1ZXMoSyl9dmFyIHI9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEcsRCl7ZnVuY3Rpb24gQigpe3RoaXMuY29uc3RydWN0b3I9R31mb3IodmFyIEggaW4gRClELmhhc093blByb3BlcnR5KEgpJiYoR1tIXT1EW0hdKTtHLnByb3RvdHlwZT1udWxsPT09RD9PYmplY3QuY3JlYXRlKEQpOihCLnByb3RvdHlwZT1ELnByb3RvdHlwZSxuZXcgQil9LGw9aCgxKSxwPWgoNyk7ZD1oKDQpO3ZhciBtPQpoKDE4KSxuPWgoNikscT1oKDkpLHU9aCgyMCksdz1oKDApLEE9aCgxMikseT1oKDEwKSx4PWgoNTEpLEM9aCg1Mik7Zi5SZW5kZXJlcj15Lm1ha2VFbnVtKFsic3ZnIiwiY2FudmFzIl0pO2g9ZnVuY3Rpb24oRyl7ZnVuY3Rpb24gRCgpe3ZhciBCPUcuY2FsbCh0aGlzKXx8dGhpcztCLl9kYXRhQ2hhbmdlZD0hMTtCLl9hdHRyRXh0ZW50cz17fTtCLl9hbmltYXRlPSExO0IuX2FuaW1hdG9ycz17fTtCLl9wcm9wZXJ0eUV4dGVudHM9e307Qi5fcmVzZXRFbnRpdHlTdG9yZT1mdW5jdGlvbigpe0IuX2NhY2hlZEVudGl0eVN0b3JlPXZvaWQgMH07Qi5fb3ZlcmZsb3dIaWRkZW49ITA7Qi5hZGRDbGFzcygicGxvdCIpO0IuX2RhdGFzZXRUb0RyYXdlcj1uZXcgdy5NYXA7Qi5fYXR0ckJpbmRpbmdzPWwubWFwKCk7Qi5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcj1mdW5jdGlvbihLLEwpe3JldHVybiBCLl9pbmNsdWRlZFZhbHVlc0ZvclNjYWxlKEssTCl9O0IuX3JlbmRlckNhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmVuZGVyKCl9OwpCLl9vbkRhdGFzZXRVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBCLl9vbkRhdGFzZXRVcGRhdGUoKX07Qi5fcHJvcGVydHlCaW5kaW5ncz1sLm1hcCgpO3ZhciBIPShuZXcgcC5FYXNpbmcpLm1heFRvdGFsRHVyYXRpb24oRC5fQU5JTUFUSU9OX01BWF9EVVJBVElPTik7Qi5hbmltYXRvcih4LkFuaW1hdG9yLk1BSU4sSCk7Qi5hbmltYXRvcih4LkFuaW1hdG9yLlJFU0VULG5ldyBwLk51bGwpO0IuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZT13LldpbmRvdy5kZWJvdW5jZShDLkRlZmVycmVkUmVuZGVyZXIuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZLEIuX3Jlc2V0RW50aXR5U3RvcmUpO3JldHVybiBCfXIoRCxHKTtELmdldFRvdGFsRHJhd1RpbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gSC5yZWR1Y2UoZnVuY3Rpb24oSyxMKXtyZXR1cm4gSytMLmFuaW1hdG9yLnRvdGFsVGltZShCLmxlbmd0aCl9LDApfTtELmFwcGx5RHJhd1N0ZXBzPWZ1bmN0aW9uKEIsSCl7cmV0dXJuIEIubWFwKGZ1bmN0aW9uKEspe3ZhciBMPQpLLmF0dHJUb1Byb2plY3RvcixKPXt9O09iamVjdC5rZXlzKEwpLmZvckVhY2goZnVuY3Rpb24oTyl7SltPXT1mdW5jdGlvbihTLE4pe3JldHVybiBMW09dKFMsTixIKX19KTtyZXR1cm57YXR0clRvQXBwbGllZFByb2plY3RvcjpKLGFuaW1hdG9yOksuYW5pbWF0b3J9fSl9O0QucHJvdG90eXBlLmFuY2hvcj1mdW5jdGlvbihCKXtCPUEuY29lcmNlRXh0ZXJuYWxEMyhCKTtHLnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLEIpO3RoaXMuX2RhdGFDaGFuZ2VkPSEwO3RoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKTt0aGlzLl91cGRhdGVFeHRlbnRzKCk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBCPXRoaXM7dGhpcy5faXNTZXR1cHx8KEcucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLG51bGwhPXRoaXMuX2NhbnZhcyYmdGhpcy5fYXBwZW5kQ2FudmFzTm9kZSgpLHRoaXMuX3JlbmRlckFyZWE9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgicmVuZGVyLWFyZWEiLAohMCksdGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEIuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldChIKX0pKX07RC5wcm90b3R5cGUuX2FwcGVuZENhbnZhc05vZGU9ZnVuY3Rpb24oKXt2YXIgQj10aGlzLmVsZW1lbnQoKS5zZWxlY3QoIi5wbG90LWNhbnZhcy1jb250YWluZXIiKTtCLmVtcHR5KCkmJihCPXRoaXMuZWxlbWVudCgpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgicGxvdC1jYW52YXMtY29udGFpbmVyIiwhMCksQi5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fY2FudmFzLm5vZGUoKSkpfTtELnByb3RvdHlwZS5zZXRCb3VuZHM9ZnVuY3Rpb24oQixILEssTCl7Ry5wcm90b3R5cGUuc2V0Qm91bmRzLmNhbGwodGhpcyxCLEgsSyxMKTt0aGlzLl9yZXNldEVudGl0eVN0b3JlKCk7bnVsbCE9dGhpcy5fY2FudmFzJiYodGhpcy5fYnVmZmVyQ2FudmFzJiYhdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQmJih0aGlzLl9idWZmZXJDYW52YXMuYXR0cigid2lkdGgiLAp0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiKSksdGhpcy5fYnVmZmVyQ2FudmFzLmF0dHIoImhlaWdodCIsdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIpKSwoSz10aGlzLl9idWZmZXJDYW52YXMubm9kZSgpLmdldENvbnRleHQoIjJkIikpJiZLLmRyYXdJbWFnZSh0aGlzLl9jYW52YXMubm9kZSgpLDAsMCksdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQ9ITApLEs9bnVsbCE9d2luZG93LmRldmljZVBpeGVsUmF0aW8/d2luZG93LmRldmljZVBpeGVsUmF0aW86MSx0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiLEIqSyksdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIsSCpLKSxMPXRoaXMuX2NhbnZhcy5ub2RlKCkuZ2V0Q29udGV4dCgiMmQiKSkmJihMLnNldFRyYW5zZm9ybShLLDAsMCxLLDAsMCksdGhpcy5fYnVmZmVyQ2FudmFzJiZMLmRyYXdJbWFnZSh0aGlzLl9idWZmZXJDYW52YXMubm9kZSgpLDAsMCxCLEgpKX07RC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBCPXRoaXM7CkcucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9zY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEgpe3JldHVybiBILm9mZlVwZGF0ZShCLl9yZW5kZXJDYWxsYmFjayl9KTt0aGlzLmRhdGFzZXRzKFtdKX07RC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihCKXtCPXRoaXMuX2RhdGFzZXRUb0RyYXdlci5nZXQoQik7InN2ZyI9PT10aGlzLnJlbmRlcmVyKCk/Qi51c2VTVkcodGhpcy5fcmVuZGVyQXJlYSk6Qi51c2VDYW52YXModGhpcy5fY2FudmFzKTtyZXR1cm4gQn07RC5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbi5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgcS5TVkdEcmF3ZXIoInBhdGgiLCIiKX0sZnVuY3Rpb24oQil7cmV0dXJuIG5ldyBtLkNhbnZhc0RyYXdlcihCLGZ1bmN0aW9uKCl7fSl9KX07RC5wcm90b3R5cGUuX2dldEFuaW1hdG9yPWZ1bmN0aW9uKEIpe3JldHVybiB0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCk/CnRoaXMuX2FuaW1hdG9yc1tCXXx8bmV3IHAuTnVsbDpuZXcgcC5OdWxsfTtELnByb3RvdHlwZS5fb25EYXRhc2V0VXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlRXh0ZW50cygpO3RoaXMuX2RhdGFDaGFuZ2VkPSEwO3RoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKTt0aGlzLnJlbmRlckxvd1ByaW9yaXR5KCl9O0QucHJvdG90eXBlLmF0dHI9ZnVuY3Rpb24oQixILEspe2lmKG51bGw9PUgpcmV0dXJuIHRoaXMuX2F0dHJCaW5kaW5ncy5nZXQoQik7dGhpcy5fYmluZEF0dHIoQixILEspO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLl9iaW5kUHJvcGVydHk9ZnVuY3Rpb24oQixILEssTCl7dmFyIEo9dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoQik7Sj1udWxsIT1KP0ouc2NhbGU6bnVsbDt0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLnNldChCLHthY2Nlc3NvcjoiZnVuY3Rpb24iPT09dHlwZW9mIEg/SDpmdW5jdGlvbigpe3JldHVybiBIfSxzY2FsZTpLLHBvc3RTY2FsZTpMfSk7Cm51bGwhPUomJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KEosQik7bnVsbCE9SyYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KEssQik7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfTtELnByb3RvdHlwZS5fYmluZEF0dHI9ZnVuY3Rpb24oQixILEspe3ZhciBMPXRoaXMuX2F0dHJCaW5kaW5ncy5nZXQoQik7TD1udWxsIT1MP0wuc2NhbGU6bnVsbDt0aGlzLl9hdHRyQmluZGluZ3Muc2V0KEIse2FjY2Vzc29yOiJmdW5jdGlvbiI9PT10eXBlb2YgSD9IOmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHNjYWxlOkt9KTtudWxsIT1MJiZ0aGlzLl91bmluc3RhbGxTY2FsZUZvcktleShMLEIpO251bGwhPUsmJnRoaXMuX2luc3RhbGxTY2FsZUZvcktleShLLEIpO3RoaXMuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGUoKX07RC5wcm90b3R5cGUuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGU9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yfTtELnByb3RvdHlwZS5fZ2V0QXR0clRvUHJvamVjdG9yPQpmdW5jdGlvbigpe251bGw9PXRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3RvciYmKHRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3Rvcj10aGlzLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3RvcigpKTtyZXR1cm4gdy5PYmplY3QuYXNzaWduKHt9LHRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3Rvcil9O0QucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe3ZhciBCPXt9O3RoaXMuX2F0dHJCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEssTCl7QltMXT1ELl9zY2FsZWRBY2Nlc3NvcihLKX0pO3ZhciBIPXRoaXMuX3Byb3BlcnR5UHJvamVjdG9ycygpO09iamVjdC5rZXlzKEgpLmZvckVhY2goZnVuY3Rpb24oSyl7bnVsbD09QltLXSYmKEJbS109SFtLXSl9KTtyZXR1cm4gQn07RC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtHLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3RoaXMuX2lzQW5jaG9yZWQmJih0aGlzLl9wYWludCgpLAp0aGlzLl9kYXRhQ2hhbmdlZD0hMSk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLnJlbmRlckxvd1ByaW9yaXR5PWZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyQ2FsbGJhY2soKX07RC5wcm90b3R5cGUuYW5pbWF0ZWQ9ZnVuY3Rpb24oQil7aWYobnVsbD09QilyZXR1cm4gdGhpcy5fYW5pbWF0ZTt0aGlzLl9hbmltYXRlPUI7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe0cucHJvdG90eXBlLmRldGFjaC5jYWxsKHRoaXMpO3RoaXMuX3VwZGF0ZUV4dGVudHMoKTtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX3NjYWxlcz1mdW5jdGlvbigpe3ZhciBCPVtdO3RoaXMuX2F0dHJCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEgpe0g9SC5zY2FsZTtudWxsIT1IJiYtMT09PUIuaW5kZXhPZihIKSYmQi5wdXNoKEgpfSk7dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEgpe0g9SC5zY2FsZTtudWxsIT1IJiYtMT09PUIuaW5kZXhPZihIKSYmQi5wdXNoKEgpfSk7CnJldHVybiBCfTtELnByb3RvdHlwZS5fdXBkYXRlRXh0ZW50cz1mdW5jdGlvbigpe3ZhciBCPXRoaXM7dGhpcy5fcmVzZXRFbnRpdHlTdG9yZSgpO3RoaXMuX3NjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEguYWRkSW5jbHVkZWRWYWx1ZXNQcm92aWRlcihCLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKX0pfTtELnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHk9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07RC5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvckF0dHI9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcztudWxsPT10aGlzLl9hdHRyRXh0ZW50c1tCXSYmKHRoaXMuX2F0dHJFeHRlbnRzW0JdPXUubWVtVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gSC5kYXRhc2V0cygpfSxmdW5jdGlvbigpe3JldHVybiBILl9hdHRyQmluZGluZ3MuZ2V0KEIpfSxmdW5jdGlvbihLLEwpe3JldHVybiBudWxsPT1MfHxudWxsPT1MLmFjY2Vzc29yP251bGw6Sy5tYXAoZnVuY3Rpb24oSil7cmV0dXJuIGsoSiwKTCxudWxsKX0pfSkpO3JldHVybiB0aGlzLl9hdHRyRXh0ZW50c1tCXSgpfTtELnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcztudWxsPT10aGlzLl9wcm9wZXJ0eUV4dGVudHNbQl0mJih0aGlzLl9wcm9wZXJ0eUV4dGVudHNbQl09dS5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiBILmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIEguX3Byb3BlcnR5QmluZGluZ3MuZ2V0KEIpfSxmdW5jdGlvbigpe3JldHVybiBILl9maWx0ZXJGb3JQcm9wZXJ0eShCKX0sZnVuY3Rpb24oSyxMLEope3JldHVybiBudWxsPT1MfHxudWxsPT1MLmFjY2Vzc29yP251bGw6Sy5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIGsoTyxMLEopfSl9KSk7cmV0dXJuIHRoaXMuX3Byb3BlcnR5RXh0ZW50c1tCXSgpfTtELnByb3RvdHlwZS5faW5jbHVkZWRWYWx1ZXNGb3JTY2FsZT1mdW5jdGlvbihCLEgpe3ZhciBLPXRoaXM7aWYoIXRoaXMuX2lzQW5jaG9yZWQmJgohSClyZXR1cm5bXTt2YXIgTD1bXTt0aGlzLl9hdHRyQmluZGluZ3MuZWFjaChmdW5jdGlvbihKLE8pe0ouc2NhbGU9PT1CJiYoSj1LLmdldEV4dGVudHNGb3JBdHRyKE8pLG51bGwhPUomJihMPUwuY29uY2F0KGwubWVyZ2UoSikpKSl9KTt0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmVhY2goZnVuY3Rpb24oSixPKXtKLnNjYWxlPT09QiYmKEo9Sy5nZXRFeHRlbnRzRm9yUHJvcGVydHkoTyksbnVsbCE9SiYmKEw9TC5jb25jYXQobC5tZXJnZShKKSkpKX0pO3JldHVybiBMfTtELnByb3RvdHlwZS5hbmltYXRvcj1mdW5jdGlvbihCLEgpe2lmKHZvaWQgMD09PUgpcmV0dXJuIHRoaXMuX2FuaW1hdG9yc1tCXTt0aGlzLl9hbmltYXRvcnNbQl09SDtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUucmVuZGVyZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09dGhpcy5fY2FudmFzPyJzdmciOiJjYW52YXMifTtELnByb3RvdHlwZS5hZGREYXRhc2V0PWZ1bmN0aW9uKEIpe3RoaXMuX2FkZERhdGFzZXQoQik7CnRoaXMuX29uRGF0YXNldFVwZGF0ZSgpfTtELnByb3RvdHlwZS5fYWRkRGF0YXNldD1mdW5jdGlvbihCKXt0aGlzLl9yZW1vdmVEYXRhc2V0KEIpO3ZhciBIPXRoaXMuX2NyZWF0ZURyYXdlcihCKTt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuc2V0KEIsSCk7dGhpcy5faXNTZXR1cCYmdGhpcy5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0KEIpO0Iub25VcGRhdGUodGhpcy5fb25EYXRhc2V0VXBkYXRlQ2FsbGJhY2spO3JldHVybiB0aGlzfTtELnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEIpe3RoaXMuX3JlbW92ZURhdGFzZXQoQik7dGhpcy5fb25EYXRhc2V0VXBkYXRlKCl9O0QucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEIpe2lmKC0xPT09dGhpcy5kYXRhc2V0cygpLmluZGV4T2YoQikpcmV0dXJuIHRoaXM7dGhpcy5fcmVtb3ZlRGF0YXNldE5vZGVzKEIpO0Iub2ZmVXBkYXRlKHRoaXMuX29uRGF0YXNldFVwZGF0ZUNhbGxiYWNrKTt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZGVsZXRlKEIpOwpyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihCKXt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KEIpLnJlbW92ZSgpfTtELnByb3RvdHlwZS5kYXRhc2V0cz1mdW5jdGlvbihCKXt2YXIgSD10aGlzLEs9W107dGhpcy5fZGF0YXNldFRvRHJhd2VyLmZvckVhY2goZnVuY3Rpb24oTCxKKXtyZXR1cm4gSy5wdXNoKEopfSk7aWYobnVsbD09QilyZXR1cm4gSztLLmZvckVhY2goZnVuY3Rpb24oTCl7cmV0dXJuIEguX3JlbW92ZURhdGFzZXQoTCl9KTtCLmZvckVhY2goZnVuY3Rpb24oTCl7cmV0dXJuIEguX2FkZERhdGFzZXQoTCl9KTt0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKTtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6bmV3IHAuTnVsbH1dfTtELnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PQpmdW5jdGlvbigpe307RC5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXM9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcyxLPVtdO0IuZm9yRWFjaChmdW5jdGlvbihMLEope3ZhciBPPUguX2RhdGFzZXRUb0RyYXdlci5nZXQoTCksUz0wO0wuZGF0YSgpLmZvckVhY2goZnVuY3Rpb24oTixSKXt2YXIgWD1ILl9waXhlbFBvaW50KE4sUixMKTt3Lk1hdGguaXNOYU4oWC54KXx8dy5NYXRoLmlzTmFOKFgueSl8fChLLnB1c2goe2RhdHVtOk4sZ2V0IHBvc2l0aW9uKCl7cmV0dXJuIEguX3BpeGVsUG9pbnQuY2FsbChILE4sUixMKX0saW5kZXg6UixkYXRhc2V0OkwsZGF0YXNldEluZGV4OkosY29tcG9uZW50OkgsZHJhd2VyOk8sdmFsaWREYXR1bUluZGV4OlN9KSxTKyspfSl9KTtyZXR1cm4gS307RC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgQj1uZXcgdy5NYXA7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEIuc2V0KEgsCkguZGF0YSgpKX0pO3JldHVybiBCfTtELnByb3RvdHlwZS5fcGFpbnQ9ZnVuY3Rpb24oKXt2YXIgQj10aGlzO2RlbGV0ZSB0aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3I7dmFyIEg9dGhpcy5fZ2VuZXJhdGVEcmF3U3RlcHMoKSxLPXRoaXMuX2dldERhdGFUb0RyYXcoKSxMPXRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIEIuX2RhdGFzZXRUb0RyYXdlci5nZXQoTyl9KTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSl7dmFyIEo9dGhpcy5fY2FudmFzLm5vZGUoKTtKLmdldENvbnRleHQoIjJkIikuY2xlYXJSZWN0KDAsMCxKLmNsaWVudFdpZHRoLEouY2xpZW50SGVpZ2h0KTt0aGlzLl9idWZmZXJDYW52YXNWYWxpZD0hMX10aGlzLmRhdGFzZXRzKCkuZm9yRWFjaChmdW5jdGlvbihPLFMpe3ZhciBOPUQuYXBwbHlEcmF3U3RlcHMoSCxPKTtMW1NdLmRyYXcoSy5nZXQoTyksTil9KTtKPXRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIEQuZ2V0VG90YWxEcmF3VGltZShLLmdldChPKSwKSCl9KTtKPXcuTWF0aC5tYXgoSiwwKTt0aGlzLl9hZGRpdGlvbmFsUGFpbnQoSil9O0QucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oQil7dmFyIEg9dGhpczt2b2lkIDA9PT1CJiYoQj10aGlzLmRhdGFzZXRzKCkpO2lmKCJjYW52YXMiPT09dGhpcy5yZW5kZXJlcigpKXJldHVybiBsLnNlbGVjdEFsbCgpO3ZhciBLPVtdO0IuZm9yRWFjaChmdW5jdGlvbihMKXtMPUguX2RhdGFzZXRUb0RyYXdlci5nZXQoTCk7bnVsbCE9TCYmKEw9TC5nZXRWaXN1YWxQcmltaXRpdmVzKCksSy5wdXNoLmFwcGx5KEssTCkpfSk7cmV0dXJuIGwuc2VsZWN0QWxsKEspfTtELnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO3JldHVybiB0aGlzLl9nZXRFbnRpdHlTdG9yZShCKS5lbnRpdGllcygpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSC5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KEspfSl9O0QucHJvdG90eXBlLl9nZXRFbnRpdHlTdG9yZT1mdW5jdGlvbihCKXtmdW5jdGlvbiBIKEope3JldHVybiBLLl9lbnRpdHlCb3VuZHMoSil9CnZhciBLPXRoaXM7aWYodm9pZCAwIT09Qil7dmFyIEw9bmV3IHcuRW50aXR5U3RvcmU7TC5hZGRBbGwodGhpcy5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcyhCKSxILHRoaXMuX2xvY2FsT3JpZ2luQm91bmRzKCkpO3JldHVybiBMfXZvaWQgMD09PXRoaXMuX2NhY2hlZEVudGl0eVN0b3JlJiYoTD1uZXcgdy5FbnRpdHlTdG9yZSxMLmFkZEFsbCh0aGlzLl9idWlsZExpZ2h0d2VpZ2h0UGxvdEVudGl0aWVzKHRoaXMuZGF0YXNldHMoKSksSCx0aGlzLl9sb2NhbE9yaWdpbkJvdW5kcygpKSx0aGlzLl9jYWNoZWRFbnRpdHlTdG9yZT1MKTtyZXR1cm4gdGhpcy5fY2FjaGVkRW50aXR5U3RvcmV9O0QucHJvdG90eXBlLl9sb2NhbE9yaWdpbkJvdW5kcz1mdW5jdGlvbigpe3JldHVybnt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDp0aGlzLndpZHRoKCkseTp0aGlzLmhlaWdodCgpfX19O0QucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQil7Qj10aGlzLl9waXhlbFBvaW50KEIuZGF0dW0sCkIuaW5kZXgsQi5kYXRhc2V0KTtyZXR1cm57eDpCLngseTpCLnksd2lkdGg6MCxoZWlnaHQ6MH19O0QucHJvdG90eXBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHk9ZnVuY3Rpb24oQil7cmV0dXJue2JvdW5kczp0aGlzLl9lbnRpdHlCb3VuZHMoQiksY29tcG9uZW50OkIuY29tcG9uZW50LGRhdGFzZXQ6Qi5kYXRhc2V0LGRhdGFzZXRJbmRleDpCLmRhdGFzZXRJbmRleCxkYXR1bTpCLmRhdHVtLGluZGV4OkIuaW5kZXgscG9zaXRpb246Qi5wb3NpdGlvbixzZWxlY3Rpb246bC5zZWxlY3QoQi5kcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlcygpW0IudmFsaWREYXR1bUluZGV4XSl9fTtELnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoInBsb3RzIG11c3QgaW1wbGVtZW50IGVudGl0aWVzQXQiKTt9O0QucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24oQil7Qj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3QoQik7CnJldHVybiB2b2lkIDA9PT1CP3ZvaWQgMDp0aGlzLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkoQil9O0QucHJvdG90eXBlLmVudGl0aWVzSW49ZnVuY3Rpb24oQixIKXtyZXR1cm4gdGhpcy5lbnRpdGllc0luQm91bmRzKG51bGw9PUg/e3g6Qi50b3BMZWZ0LngseTpCLnRvcExlZnQueSx3aWR0aDpCLmJvdHRvbVJpZ2h0LngtQi50b3BMZWZ0LngsaGVpZ2h0OkIuYm90dG9tUmlnaHQueS1CLnRvcExlZnQueX06e3g6Qi5taW4seTpILm1pbix3aWR0aDpCLm1heC1CLm1pbixoZWlnaHQ6SC5tYXgtSC5taW59KX07RC5wcm90b3R5cGUuZW50aXRpZXNJbkJvdW5kcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luQm91bmRzKEIpKXJldHVybiBCLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSC5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KEspfSl9O0QucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPQpmdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWEJvdW5kcyhCKSlyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEguX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShLKX0pfTtELnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWUJvdW5kcyhCKSlyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEguX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShLKX0pfTtELnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXk9ZnVuY3Rpb24oQil7Qi5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spO0Iub2ZmVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSk7Qi5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfTsKRC5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihCKXtCLm9uVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKTtCLm9uVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSk7Qi5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfTtELnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7cmV0dXJue319O0QuX3NjYWxlZEFjY2Vzc29yPWZ1bmN0aW9uKEIpe3ZhciBIPUIuc2NhbGUsSz1CLmFjY2Vzc29yLEw9Qi5wb3N0U2NhbGUsSj1udWxsPT1IP0s6ZnVuY3Rpb24oTyxTLE4pe3JldHVybiBILnNjYWxlKEsoTyxTLE4pKX07cmV0dXJuIG51bGw9PUw/SjpmdW5jdGlvbihPLFMsTil7cmV0dXJuIEwoSihPLFMsTiksTyxTLE4pfX07RC5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oKXtyZXR1cm57eDowLHk6MH19O0QucHJvdG90eXBlLl9hbmltYXRlT25OZXh0UmVuZGVyPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbmltYXRlJiZ0aGlzLl9kYXRhQ2hhbmdlZH07cmV0dXJuIER9KGQuQ29tcG9uZW50KTtoLl9BTklNQVRJT05fTUFYX0RVUkFUSU9OPTYwMDtmLlBsb3Q9aH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocCl7Zm9yKHZhciBtIGluIHApZi5oYXNPd25Qcm9wZXJ0eShtKXx8KGZbbV09cFttXSl9ZD1oKDEwNSk7Zi5UaWNrR2VuZXJhdG9ycz1kO2soaCg1NCkpO2soaCgxMDEpKTtrKGgoMTAyKSk7ayhoKDEwMykpO2soaCgxMDQpKTtrKGgoMTA2KSk7dmFyIHI9aCg1NCksbD1oKDExKTtmLmlzVHJhbnNmb3JtYWJsZT1mdW5jdGlvbihwKXtyZXR1cm4gcCBpbnN0YW5jZW9mIGwuUXVhbnRpdGF0aXZlU2NhbGV8fHAgaW5zdGFuY2VvZiByLkNhdGVnb3J5fX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMSkscj1oKDMwKSxsPWgoMCkscD1oKDEyKTtkPWgoMTApO2YuWEFsaWdubWVudD1kLm1ha2VFbnVtKFsibGVmdCIsImNlbnRlciIsInJpZ2h0Il0pOwpmLllBbGlnbm1lbnQ9ZC5tYWtlRW51bShbInRvcCIsImNlbnRlciIsImJvdHRvbSJdKTtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbSgpe3RoaXMuX292ZXJmbG93SGlkZGVuPSExO3RoaXMuX29yaWdpbj17eDowLHk6MH07dGhpcy5feEFsaWdubWVudD0ibGVmdCI7dGhpcy5feUFsaWdubWVudD0idG9wIjt0aGlzLl9pc0FuY2hvcmVkPXRoaXMuX2lzU2V0dXA9ITE7dGhpcy5fY3NzQ2xhc3Nlcz1uZXcgbC5TZXQ7dGhpcy5fZGVzdHJveWVkPSExO3RoaXMuX29uQW5jaG9yQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3RoaXMuX29uRGV0YWNoQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3RoaXMuX2Nzc0NsYXNzZXMuYWRkKCJjb21wb25lbnQiKX1tLnByb3RvdHlwZS5hbmNob3I9ZnVuY3Rpb24obil7bj1wLmNvZXJjZUV4dGVybmFsRDMobik7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IEVycm9yKCJDYW4ndCByZXVzZSBkZXN0cm95KCktZWQgQ29tcG9uZW50cyEiKTt0aGlzLmlzUm9vdCgpJiYKKHRoaXMuX3Jvb3RFbGVtZW50PW4sdGhpcy5fcm9vdEVsZW1lbnQuY2xhc3NlZCgicGxvdHRhYmxlIiwhMCkpO251bGwhPXRoaXMuX2VsZW1lbnQ/bi5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudC5ub2RlKCkpOih0aGlzLl9lbGVtZW50PW4uYXBwZW5kKCJkaXYiKSx0aGlzLl9zZXR1cCgpKTt0aGlzLl9pc0FuY2hvcmVkPSEwO3RoaXMuX29uQW5jaG9yQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uQW5jaG9yPWZ1bmN0aW9uKG4pe3RoaXMuX2lzQW5jaG9yZWQmJm4odGhpcyk7dGhpcy5fb25BbmNob3JDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZBbmNob3I9ZnVuY3Rpb24obil7dGhpcy5fb25BbmNob3JDYWxsYmFja3MuZGVsZXRlKG4pfTttLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuX2lzU2V0dXB8fCh0aGlzLl9jc3NDbGFzc2VzLmZvckVhY2goZnVuY3Rpb24ocSl7bi5fZWxlbWVudC5jbGFzc2VkKHEsCiEwKX0pLHRoaXMuX2Nzc0NsYXNzZXM9bmV3IGwuU2V0LHRoaXMuX2JhY2tncm91bmRDb250YWluZXI9dGhpcy5fZWxlbWVudC5hcHBlbmQoInN2ZyIpLmNsYXNzZWQoImJhY2tncm91bmQtY29udGFpbmVyIiwhMCksdGhpcy5fY29udGVudD10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiY29udGVudCIsITApLHRoaXMuX2ZvcmVncm91bmRDb250YWluZXI9dGhpcy5fZWxlbWVudC5hcHBlbmQoInN2ZyIpLmNsYXNzZWQoImZvcmVncm91bmQtY29udGFpbmVyIiwhMCksdGhpcy5fb3ZlcmZsb3dIaWRkZW4/dGhpcy5fY29udGVudC5jbGFzc2VkKCJjb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIiwhMCk6dGhpcy5fY29udGVudC5jbGFzc2VkKCJjb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSIsITApLHRoaXMuX2lzU2V0dXA9ITApfTttLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbigpe3JldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfX07bS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD0KZnVuY3Rpb24obixxLHUpe2lmKG51bGw9PW58fG51bGw9PXF8fG51bGw9PXUpe2lmKG51bGw9PXRoaXMuX2VsZW1lbnQpdGhyb3cgRXJyb3IoImFuY2hvcigpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb21wdXRlTGF5b3V0KCkiKTtpZihudWxsIT10aGlzLl9yb290RWxlbWVudCluPXt4OjAseTowfSx1PXRoaXMuX3Jvb3RFbGVtZW50Lm5vZGUoKSxxPWwuRE9NLmVsZW1lbnRXaWR0aCh1KSx1PWwuRE9NLmVsZW1lbnRIZWlnaHQodSk7ZWxzZSB0aHJvdyBFcnJvcigibnVsbCBhcmd1bWVudHMgY2Fubm90IGJlIHBhc3NlZCB0byBjb21wdXRlTGF5b3V0KCkgb24gYSBub24tcm9vdCwgdW5hbmNob3JlZCBub2RlIik7fXZhciB3PXRoaXMuX3NpemVGcm9tT2ZmZXIocSx1KSxBPXcuaGVpZ2h0O3c9dy53aWR0aDt0aGlzLnNldEJvdW5kcyh3LEEsbi54KyhxLXcpKm0uX3hBbGlnblRvUHJvcG9ydGlvblt0aGlzLl94QWxpZ25tZW50XSxuLnkrKHUtQSkqbS5feUFsaWduVG9Qcm9wb3J0aW9uW3RoaXMuX3lBbGlnbm1lbnRdKTsKcmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnNldEJvdW5kcz1mdW5jdGlvbihuLHEsdSx3KXt2b2lkIDA9PT11JiYodT0wKTt2b2lkIDA9PT13JiYodz0wKTt0aGlzLl93aWR0aD1uO3RoaXMuX2hlaWdodD1xO3RoaXMuX29yaWdpbj17eDp1LHk6d307bnVsbCE9dGhpcy5fZWxlbWVudCYmdGhpcy5fZWxlbWVudC5zdHlsZXMoe2xlZnQ6dSsicHgiLGhlaWdodDpxKyJweCIsdG9wOncrInB4Iix3aWR0aDpuKyJweCJ9KTtudWxsIT10aGlzLl9yZXNpemVIYW5kbGVyJiZ0aGlzLl9yZXNpemVIYW5kbGVyKHt3aWR0aDpuLGhlaWdodDpxfSl9O20ucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKG4scSl7dmFyIHU9dGhpcy5yZXF1ZXN0ZWRTcGFjZShuLHEpO3JldHVybnt3aWR0aDp0aGlzLmZpeGVkV2lkdGgoKT9NYXRoLm1pbihuLHUubWluV2lkdGgpOm4saGVpZ2h0OnRoaXMuZml4ZWRIZWlnaHQoKT9NYXRoLm1pbihxLHUubWluSGVpZ2h0KTpxfX07bS5wcm90b3R5cGUucmVuZGVyPQpmdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2lzU2V0dXAmJjA8PXRoaXMud2lkdGgoKSYmMDw9dGhpcy5oZWlnaHQoKSYmci5yZWdpc3RlclRvUmVuZGVyKHRoaXMpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5yZW5kZXJMb3dQcmlvcml0eT1mdW5jdGlvbigpe3RoaXMucmVuZGVyKCl9O20ucHJvdG90eXBlLl9zY2hlZHVsZUNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0FuY2hvcmVkJiZ0aGlzLl9pc1NldHVwJiZyLnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0QW5kUmVuZGVyKHRoaXMpfTttLnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbihuKXt0aGlzLl9yZXNpemVIYW5kbGVyPW47cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2lzU2V0dXAmJih0aGlzLmlzUm9vdCgpP3RoaXMuX3NjaGVkdWxlQ29tcHV0ZUxheW91dCgpOgp0aGlzLnBhcmVudCgpLnJlZHJhdygpKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7fTttLnByb3RvdHlwZS5yZW5kZXJUbz1mdW5jdGlvbihuKXt0aGlzLmRldGFjaCgpO2lmKG51bGwhPW4pe249InN0cmluZyI9PT10eXBlb2Ygbj9rLnNlbGVjdChuKTpuIGluc3RhbmNlb2YgRWxlbWVudD9rLnNlbGVjdChuKTpwLmNvZXJjZUV4dGVybmFsRDMobik7aWYoIW4ubm9kZSgpfHxudWxsPT1uLm5vZGUoKS5ub2RlTmFtZSl0aHJvdyBFcnJvcigiUGxvdHRhYmxlIHJlcXVpcmVzIGEgdmFsaWQgRWxlbWVudCB0byByZW5kZXJUbyIpO2lmKCJzdmciPT09bi5ub2RlKCkubm9kZU5hbWUpdGhyb3cgRXJyb3IoIlBsb3R0YWJsZSAzLnggYW5kIGxhdGVyIGNhbiBvbmx5IHJlbmRlclRvIGFuIEhUTUwgY29tcG9uZW50OyBwYXNzIGEgZGl2IGluc3RlYWQhIik7dGhpcy5hbmNob3Iobil9aWYobnVsbD09dGhpcy5fZWxlbWVudCl0aHJvdyBFcnJvcigiSWYgYSBDb21wb25lbnQgaGFzIG5ldmVyIGJlZW4gcmVuZGVyZWQgYmVmb3JlLCB0aGVuIHJlbmRlclRvIG11c3QgYmUgZ2l2ZW4gYSBub2RlIHRvIHJlbmRlciB0bywgb3IgYSBkMy5TZWxlY3Rpb24sIG9yIGEgc2VsZWN0b3Igc3RyaW5nIik7CnIucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXRBbmRSZW5kZXIodGhpcyk7ci5mbHVzaCgpfTttLnByb3RvdHlwZS54QWxpZ25tZW50PWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX3hBbGlnbm1lbnQ7bj1uLnRvTG93ZXJDYXNlKCk7aWYobnVsbD09bS5feEFsaWduVG9Qcm9wb3J0aW9uW25dKXRocm93IEVycm9yKCJVbnN1cHBvcnRlZCBhbGlnbm1lbnQ6ICIrbik7dGhpcy5feEFsaWdubWVudD1uO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnlBbGlnbm1lbnQ9ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5feUFsaWdubWVudDtuPW4udG9Mb3dlckNhc2UoKTtpZihudWxsPT1tLl95QWxpZ25Ub1Byb3BvcnRpb25bbl0pdGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIGFsaWdubWVudDogIituKTt0aGlzLl95QWxpZ25tZW50PW47dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuaGFzQ2xhc3M9ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PQpuPyExOm51bGw9PXRoaXMuX2VsZW1lbnQ/dGhpcy5fY3NzQ2xhc3Nlcy5oYXMobik6dGhpcy5fZWxlbWVudC5jbGFzc2VkKG4pfTttLnByb3RvdHlwZS5hZGRDbGFzcz1mdW5jdGlvbihuKXtudWxsIT1uJiYobnVsbD09dGhpcy5fZWxlbWVudD90aGlzLl9jc3NDbGFzc2VzLmFkZChuKTp0aGlzLl9lbGVtZW50LmNsYXNzZWQobiwhMCkpfTttLnByb3RvdHlwZS5yZW1vdmVDbGFzcz1mdW5jdGlvbihuKXtudWxsIT1uJiYobnVsbD09dGhpcy5fZWxlbWVudD90aGlzLl9jc3NDbGFzc2VzLmRlbGV0ZShuKTp0aGlzLl9lbGVtZW50LmNsYXNzZWQobiwhMSkpfTttLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITF9O20ucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITF9O20ucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3RoaXMucGFyZW50KG51bGwpO3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2VsZW1lbnQucmVtb3ZlKCk7dGhpcy5faXNBbmNob3JlZD0KITE7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25EZXRhY2g9ZnVuY3Rpb24obil7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZEZXRhY2g9ZnVuY3Rpb24obil7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuZGVsZXRlKG4pfTttLnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24obil7aWYodm9pZCAwPT09bilyZXR1cm4gdGhpcy5fcGFyZW50O2lmKG51bGwhPT1uJiYhbi5oYXModGhpcykpdGhyb3cgRXJyb3IoIlBhc3NlZCBpbnZhbGlkIHBhcmVudCIpO3RoaXMuX3BhcmVudD1uO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5ib3VuZHM9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm9yaWdpbigpO3JldHVybnt0b3BMZWZ0Om4sYm90dG9tUmlnaHQ6e3g6bi54K3RoaXMud2lkdGgoKSx5Om4ueSt0aGlzLmhlaWdodCgpfX19O20ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLl9kZXN0cm95ZWQ9CiEwO3RoaXMuZGV0YWNoKCl9O20ucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpZHRofTttLnByb3RvdHlwZS5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGVpZ2h0fTttLnByb3RvdHlwZS5vcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLl9vcmlnaW4ueCx5OnRoaXMuX29yaWdpbi55fX07bS5wcm90b3R5cGUub3JpZ2luVG9Sb290PWZ1bmN0aW9uKCl7Zm9yKHZhciBuPXRoaXMub3JpZ2luKCkscT10aGlzLnBhcmVudCgpO251bGwhPXE7KXt2YXIgdT1xLm9yaWdpbigpO24ueCs9dS54O24ueSs9dS55O3E9cS5wYXJlbnQoKX1yZXR1cm4gbn07bS5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe2Zvcih2YXIgbj10aGlzOyFuLmlzUm9vdCgpOyluPW4ucGFyZW50KCk7cmV0dXJuIG59O20ucHJvdG90eXBlLmlzUm9vdD1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLnBhcmVudCgpfTttLnByb3RvdHlwZS5mb3JlZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvcmVncm91bmRDb250YWluZXJ9OwptLnByb3RvdHlwZS5jb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnR9O20ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxlbWVudH07bS5wcm90b3R5cGUucm9vdEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290KCkuX3Jvb3RFbGVtZW50fTttLnByb3RvdHlwZS5iYWNrZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb250YWluZXJ9O3JldHVybiBtfSgpO2QuX3hBbGlnblRvUHJvcG9ydGlvbj17bGVmdDowLGNlbnRlcjouNSxyaWdodDoxfTtkLl95QWxpZ25Ub1Byb3BvcnRpb249e3RvcDowLGNlbnRlcjouNSxib3R0b206MX07Zi5Db21wb25lbnQ9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDU5KSk7ayhoKDYyKSk7ayhoKDEzMykpO2soaCgyMSkpO2soaCg2NCkpO2soaCg2NikpfSwKZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIpe3RoaXMuX3N2Z0RyYXdlckZhY3Rvcnk9azt0aGlzLl9jYW52YXNEcmF3ZXJGYWN0b3J5PXJ9aC5wcm90b3R5cGUudXNlU1ZHPWZ1bmN0aW9uKGspe251bGwhPXRoaXMuX2N1cnJlbnREcmF3ZXImJnRoaXMuX2N1cnJlbnREcmF3ZXIucmVtb3ZlKCk7dmFyIHI9dGhpcy5fc3ZnRHJhd2VyRmFjdG9yeSgpO3IuYXR0YWNoVG8oayk7dGhpcy5fY3VycmVudERyYXdlcj1yfTtoLnByb3RvdHlwZS51c2VDYW52YXM9ZnVuY3Rpb24oayl7bnVsbCE9dGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKTt0aGlzLl9jdXJyZW50RHJhd2VyPXRoaXMuX2NhbnZhc0RyYXdlckZhY3Rvcnkoay5ub2RlKCkuZ2V0Q29udGV4dCgiMmQiKSl9O2gucHJvdG90eXBlLmdldERyYXdlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyfTtoLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXtudWxsIT0KdGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKX07aC5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbihrLHIpe3RoaXMuX2N1cnJlbnREcmF3ZXIuZHJhdyhrLHIpfTtoLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnREcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlcygpfTtoLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGspe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgoayl9O3JldHVybiBofSgpO2YuUHJveHlEcmF3ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDcwKSk7ayhoKDcxKSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHApe3ZvaWQgMD09PXAmJihwPTMpO3IocCk7cmV0dXJuIGZ1bmN0aW9uKG0pe3JldHVybiBtLnRvRml4ZWQocCl9fQpmdW5jdGlvbiByKHApe2lmKDA+cHx8MjA8cCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjAiKTtpZihwIT09TWF0aC5mbG9vcihwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGFuIGludGVnZXIiKTt9dmFyIGw9aCgxKTtmLmN1cnJlbmN5PWZ1bmN0aW9uKHAsbSxuKXt2b2lkIDA9PT1wJiYocD0yKTt2b2lkIDA9PT1tJiYobT0iJCIpO3ZvaWQgMD09PW4mJihuPSEwKTt2YXIgcT1rKHApO3JldHVybiBmdW5jdGlvbih1KXt2YXIgdz1xKE1hdGguYWJzKHUpKTsiIiE9PXcmJih3PW4/bSt3OncrbSwwPnUmJih3PSItIit3KSk7cmV0dXJuIHd9fTtmLmZpeGVkPWs7Zi5nZW5lcmFsPWZ1bmN0aW9uKCl7dmFyIHA7dm9pZCAwPT09cCYmKHA9Myk7cihwKTtyZXR1cm4gZnVuY3Rpb24obSl7aWYoIm51bWJlciI9PT10eXBlb2YgbSl7dmFyIG49TWF0aC5wb3coMTAscCk7cmV0dXJuIFN0cmluZyhNYXRoLnJvdW5kKG0qCm4pL24pfXJldHVybiBTdHJpbmcobSl9fTtmLmlkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHApe3JldHVybiBTdHJpbmcocCl9fTtmLnBlcmNlbnRhZ2U9ZnVuY3Rpb24ocCl7dm9pZCAwPT09cCYmKHA9MCk7dmFyIG09ayhwKTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHE9bi50b1N0cmluZygpO3E9TWF0aC5wb3coMTAscS5sZW5ndGgtKHEuaW5kZXhPZigiLiIpKzEpKTtyZXR1cm4gbShwYXJzZUludCgoMTAwKm4qcSkudG9TdHJpbmcoKSwxMCkvcSkrIiUifX07Zi5zaVN1ZmZpeD1mdW5jdGlvbihwKXt2b2lkIDA9PT1wJiYocD0zKTtyKHApO3JldHVybiBmdW5jdGlvbihtKXtyZXR1cm4gbC5mb3JtYXQoIi4iK3ArInMiKShtKX19O2Yuc2hvcnRTY2FsZT1mdW5jdGlvbihwKXt2b2lkIDA9PT1wJiYocD0zKTtyKHApO3ZhciBtPWwuZm9ybWF0KCIuIitwKyJlIiksbj1sLmZvcm1hdCgiLiIrcCsiZiIpLHE9TWF0aC5wb3coMTAsMTgpLHU9TWF0aC5wb3coMTAsLXApOwpyZXR1cm4gZnVuY3Rpb24odyl7dmFyIEE9TWF0aC5hYnModyk7aWYoKEE8dXx8QT49cSkmJjAhPT1BKXJldHVybiBtKHcpO2Zvcih2YXIgeT0tMTtBPj1NYXRoLnBvdygxRTMseSsyKSYmND55Oyl5Kys7QT0tMT09PXk/bih3KTpuKHcvTWF0aC5wb3coMUUzLHkrMSkpKyJLTUJUUSJbeV07aWYoMDx3JiYiMTAwMCI9PT1BLnN1YnN0cigwLDQpfHwwPncmJiItMTAwMCI9PT1BLnN1YnN0cigwLDUpKTQ+eT8oeSsrLEE9bih3L01hdGgucG93KDFFMyx5KzEpKSsiS01CVFEiW3ldKTpBPW0odyk7cmV0dXJuIEF9fTtmLm11bHRpVGltZT1mdW5jdGlvbigpe3ZhciBwPVt7c3BlY2lmaWVyOiIuJUwiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0TWlsbGlzZWNvbmRzKCl9fSx7c3BlY2lmaWVyOiI6JVMiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0U2Vjb25kcygpfX0se3NwZWNpZmllcjoiJUk6JU0iLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PQptLmdldE1pbnV0ZXMoKX19LHtzcGVjaWZpZXI6IiVJICVwIixwcmVkaWNhdGU6ZnVuY3Rpb24obSl7cmV0dXJuIDAhPT1tLmdldEhvdXJzKCl9fSx7c3BlY2lmaWVyOiIlYSAlZCIscHJlZGljYXRlOmZ1bmN0aW9uKG0pe3JldHVybiAwIT09bS5nZXREYXkoKSYmMSE9PW0uZ2V0RGF0ZSgpfX0se3NwZWNpZmllcjoiJWIgJWQiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMSE9PW0uZ2V0RGF0ZSgpfX0se3NwZWNpZmllcjoiJWIiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0TW9udGgoKX19XTtyZXR1cm4gZnVuY3Rpb24obSl7dmFyIG49cC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIHEucHJlZGljYXRlKG0pfSk7cmV0dXJuIGwudGltZUZvcm1hdCgwPG4ubGVuZ3RoP25bMF0uc3BlY2lmaWVyOiIlWSIpKG0pfX07Zi50aW1lPWZ1bmN0aW9uKHApe3JldHVybiBsLnRpbWVGb3JtYXQocCl9fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKSxyPWgoMCk7CmQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKHAsbSl7dGhpcy5fcm9vdD1rLnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKTt0aGlzLl9jbGFzc05hbWU9bTt0aGlzLl9zdmdFbGVtZW50TmFtZT1wfWwucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24ocCxtKXt2YXIgbj10aGlzO3RoaXMuX2NyZWF0ZUFuZERlc3Ryb3lET01FbGVtZW50cyhwKTt2YXIgcT0wO20uZm9yRWFjaChmdW5jdGlvbih1KXtyLldpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2RyYXdTdGVwKHUpfSxxKTtxKz11LmFuaW1hdG9yLnRvdGFsVGltZShwLmxlbmd0aCl9KX07bC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe251bGw9PXRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2RlcyYmKHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlcz10aGlzLl9zZWxlY3Rpb24ubm9kZXMoKSk7cmV0dXJuIHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlc307CmwucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXg9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuZ2V0VmlzdWFsUHJpbWl0aXZlcygpW3BdfTtsLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLl9yb290LnJlbW92ZSgpfTtsLnByb3RvdHlwZS5hdHRhY2hUbz1mdW5jdGlvbihwKXtwLm5vZGUoKS5hcHBlbmRDaGlsZCh0aGlzLl9yb290Lm5vZGUoKSl9O2wucHJvdG90eXBlLmdldFJvb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm9vdH07bC5wcm90b3R5cGUuc2VsZWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3ZnRWxlbWVudE5hbWV9O2wucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKCl7fTtsLnByb3RvdHlwZS5fY3JlYXRlQW5kRGVzdHJveURPTUVsZW1lbnRzPWZ1bmN0aW9uKHApe3A9cC5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIG51bGwhPW19KTtwPXRoaXMuX3Jvb3Quc2VsZWN0QWxsKHRoaXMuc2VsZWN0b3IoKSkuZGF0YShwKTsKdGhpcy5fc2VsZWN0aW9uPXAuZW50ZXIoKS5hcHBlbmQodGhpcy5fc3ZnRWxlbWVudE5hbWUpLm1lcmdlKHApO3AuZXhpdCgpLnJlbW92ZSgpO3RoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlcz1udWxsO251bGwhPXRoaXMuX2NsYXNzTmFtZSYmdGhpcy5fc2VsZWN0aW9uLmNsYXNzZWQodGhpcy5fY2xhc3NOYW1lLCEwKTt0aGlzLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzKHRoaXMuX3NlbGVjdGlvbil9O2wucHJvdG90eXBlLl9kcmF3U3RlcD1mdW5jdGlvbihwKXt2YXIgbT10aGlzO1siZmlsbCIsInN0cm9rZSJdLmZvckVhY2goZnVuY3Rpb24obil7bnVsbCE9cC5hdHRyVG9BcHBsaWVkUHJvamVjdG9yW25dJiZtLl9zZWxlY3Rpb24uYXR0cihuLHAuYXR0clRvQXBwbGllZFByb2plY3RvcltuXSl9KTtwLmFuaW1hdG9yLmFuaW1hdGUodGhpcy5fc2VsZWN0aW9uLHAuYXR0clRvQXBwbGllZFByb2plY3Rvcik7bnVsbCE9dGhpcy5fY2xhc3NOYW1lJiZ0aGlzLl9zZWxlY3Rpb24uY2xhc3NlZCh0aGlzLl9jbGFzc05hbWUsCiEwKX07cmV0dXJuIGx9KCk7Zi5TVkdEcmF3ZXI9ZH0sZnVuY3Rpb24oZCxmKXtmLm1ha2VFbnVtPWZ1bmN0aW9uKGgpe3JldHVybiBoLnJlZHVjZShmdW5jdGlvbihrLHIpe2tbcl09cjtyZXR1cm4ga30se30pfX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihtLG4pe2Z1bmN0aW9uIHEoKXt0aGlzLmNvbnN0cnVjdG9yPW19Zm9yKHZhciB1IGluIG4pbi5oYXNPd25Qcm9wZXJ0eSh1KSYmKG1bdV09blt1XSk7bS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKToocS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHEpfSxyPWgoMSksbD1oKDI2KSxwPWgoMCk7ZD1mdW5jdGlvbihtKXtmdW5jdGlvbiBuKCl7dmFyIHE9bS5jYWxsKHRoaXMpfHx0aGlzO3EuX3RpY2tHZW5lcmF0b3I9ZnVuY3Rpb24odSl7cmV0dXJuIHUuZGVmYXVsdFRpY2tzKCl9O3EuX3BhZFByb3BvcnRpb249LjA1O3EuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD0KITA7cS5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnM9bmV3IHAuU2V0O3JldHVybiBxfWsobixtKTtuLnByb3RvdHlwZS5hdXRvRG9tYWluPWZ1bmN0aW9uKCl7dGhpcy5fZG9tYWluTWF4PXRoaXMuX2RvbWFpbk1pbj1udWxsO20ucHJvdG90eXBlLmF1dG9Eb21haW4uY2FsbCh0aGlzKX07bi5wcm90b3R5cGUuX2F1dG9Eb21haW5JZkF1dG9tYXRpY01vZGU9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLl9kb21haW5NaW4mJm51bGwhPXRoaXMuX2RvbWFpbk1heCl0aGlzLl9zZXREb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NYXhdKTtlbHNle3ZhciBxPXRoaXMuX2dldEV4dGVudCgpO251bGwhPXRoaXMuX2RvbWFpbk1pbj8ocT1xWzFdLHRoaXMuX2RvbWFpbk1pbj49cSYmKHE9dGhpcy5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NaW5dKVsxXSksdGhpcy5fc2V0RG9tYWluKFt0aGlzLl9kb21haW5NaW4scV0pKToKbnVsbCE9dGhpcy5fZG9tYWluTWF4PyhxPXFbMF0sdGhpcy5fZG9tYWluTWF4PD1xJiYocT10aGlzLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbihbdGhpcy5fZG9tYWluTWF4LHRoaXMuX2RvbWFpbk1heF0pWzBdKSx0aGlzLl9zZXREb21haW4oW3EsdGhpcy5fZG9tYWluTWF4XSkpOm0ucHJvdG90eXBlLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlLmNhbGwodGhpcyl9fTtuLnByb3RvdHlwZS5fZ2V0VW5ib3VuZGVkRXh0ZW50PWZ1bmN0aW9uKHEpe3ZvaWQgMD09PXEmJihxPSExKTtxPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKHEpO3ZhciB1PXRoaXMuX2RlZmF1bHRFeHRlbnQoKTswIT09cS5sZW5ndGgmJihxPVtwLk1hdGgubWluKHEsdVswXSkscC5NYXRoLm1heChxLHVbMV0pXSx1PXRoaXMuX3BhZERvbWFpbihxKSk7cmV0dXJuIHV9O24ucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgcT10aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoKTtudWxsIT10aGlzLl9kb21haW5NaW4mJgoocVswXT10aGlzLl9kb21haW5NaW4pO251bGwhPXRoaXMuX2RvbWFpbk1heCYmKHFbMV09dGhpcy5fZG9tYWluTWF4KTtyZXR1cm4gcX07bi5wcm90b3R5cGUuYWRkUGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcj1mdW5jdGlvbihxKXt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5hZGQocSk7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpfTtuLnByb3RvdHlwZS5yZW1vdmVQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyPWZ1bmN0aW9uKHEpe3RoaXMuX3BhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXJzLmRlbGV0ZShxKTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCl9O24ucHJvdG90eXBlLnBhZFByb3BvcnRpb249ZnVuY3Rpb24ocSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5fcGFkUHJvcG9ydGlvbjtpZigwPnEpdGhyb3cgRXJyb3IoInBhZFByb3BvcnRpb24gbXVzdCBiZSBub24tbmVnYXRpdmUiKTt0aGlzLl9wYWRQcm9wb3J0aW9uPXE7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpOwpyZXR1cm4gdGhpc307bi5wcm90b3R5cGUuX3BhZERvbWFpbj1mdW5jdGlvbihxKXt2YXIgdT10aGlzO2lmKHFbMF0udmFsdWVPZigpPT09cVsxXS52YWx1ZU9mKCkpcmV0dXJuIHRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKHEpO2lmKDA9PT10aGlzLl9wYWRQcm9wb3J0aW9uKXJldHVybiBxO3ZhciB3PXRoaXMuX3BhZFByb3BvcnRpb24vMixBPXFbMF0seT1xWzFdLHg9ITEsQz0hMTt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5mb3JFYWNoKGZ1bmN0aW9uKEQpe0QodSkuZm9yRWFjaChmdW5jdGlvbihCKXtCLnZhbHVlT2YoKT09PUEudmFsdWVPZigpJiYoeD0hMCk7Qi52YWx1ZU9mKCk9PT15LnZhbHVlT2YoKSYmKEM9ITApfSl9KTt2YXIgRz10aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKTt0aGlzLl9iYWNraW5nU2NhbGVEb21haW4ocSk7cT14P0E6dGhpcy5pbnZlcnQodGhpcy5zY2FsZShBKS0odGhpcy5zY2FsZSh5KS10aGlzLnNjYWxlKEEpKSp3KTt3PUM/Cnk6dGhpcy5pbnZlcnQodGhpcy5zY2FsZSh5KSsodGhpcy5zY2FsZSh5KS10aGlzLnNjYWxlKEEpKSp3KTt0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oRyk7cmV0dXJuIHRoaXMuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD90aGlzLl9uaWNlRG9tYWluKFtxLHddKTpbcSx3XX07bi5wcm90b3R5cGUuc25hcHBpbmdEb21haW5FbmFibGVkPWZ1bmN0aW9uKHEpe251bGwhPXEmJih0aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ9cSx0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCkpfTtuLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24ocSl7cmV0dXJuIHF9O24ucHJvdG90eXBlLmludmVydD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnQiKTt9O24ucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbihxKXtudWxsIT1xJiYodGhpcy5fZG9tYWluTWluPXFbMF0sdGhpcy5fZG9tYWluTWF4PXFbMV0pOwpyZXR1cm4gbS5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyxxKX07bi5wcm90b3R5cGUuZG9tYWluTWluPWZ1bmN0aW9uKHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuZG9tYWluKClbMF07dGhpcy5fZG9tYWluTWluPXE7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpO3JldHVybiB0aGlzfTtuLnByb3RvdHlwZS5kb21haW5NYXg9ZnVuY3Rpb24ocSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5kb21haW4oKVsxXTt0aGlzLl9kb21haW5NYXg9cTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCk7cmV0dXJuIHRoaXN9O24ucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHEpe3E9ci5leHRlbnQocS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHAuTWF0aC5pc1ZhbGlkTnVtYmVyKCt1KX0pKTtyZXR1cm4gbnVsbD09cVswXXx8bnVsbD09cVsxXT9bXTpxfTtuLnByb3RvdHlwZS56b29tPWZ1bmN0aW9uKHEsdSl7dmFyIHc9dGhpczt0aGlzLmRvbWFpbih0aGlzLnJhbmdlKCkubWFwKGZ1bmN0aW9uKEEpe3JldHVybiB3LmludmVydChsLnpvb21PdXQoQSwKcSx1KSl9KSl9O24ucHJvdG90eXBlLnBhbj1mdW5jdGlvbihxKXt2YXIgdT10aGlzO3RoaXMuZG9tYWluKHRoaXMucmFuZ2UoKS5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIHUuaW52ZXJ0KHcrcSl9KSl9O24ucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgc2NhbGVUcmFuc2Zvcm1hdGlvbiIpO307bi5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnRlZFRyYW5zZm9ybWF0aW9uIik7fTtuLnByb3RvdHlwZS5nZXRUcmFuc2Zvcm1hdGlvbkV4dGVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCIpO307bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4iKTsKfTtuLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbiIpO307bi5wcm90b3R5cGUuX3NldERvbWFpbj1mdW5jdGlvbihxKXtmdW5jdGlvbiB1KHcpe3JldHVybiBwLk1hdGguaXNOYU4odyl8fEluZmluaXR5PT09d3x8LUluZmluaXR5PT09d311KHFbMF0pfHx1KHFbMV0pP3AuV2luZG93Lndhcm4oIldhcm5pbmc6IFF1YW50aXRhdGl2ZVNjYWxlcyBjYW5ub3QgdGFrZSBOYU4gb3IgSW5maW5pdHkgYXMgYSBkb21haW4gdmFsdWUuIElnbm9yaW5nLiIpOm0ucHJvdG90eXBlLl9zZXREb21haW4uY2FsbCh0aGlzLHEpfTtuLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2dldERlZmF1bHRUaWNrcyIpO307bi5wcm90b3R5cGUudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0dlbmVyYXRvcih0aGlzKX07Cm4ucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIF9uaWNlRG9tYWluIik7fTtuLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZGVmYXVsdEV4dGVudCIpO307bi5wcm90b3R5cGUudGlja0dlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciBxPVBsb3R0YWJsZS5TY2FsZXMuVGlja0dlbmVyYXRvcnMuaW50ZWdlclRpY2tHZW5lcmF0b3IoKTtudWxsIT1xJiYodGhpcy5fdGlja0dlbmVyYXRvcj1xKX07cmV0dXJuIG59KGgoMTcpLlNjYWxlKTtkLl9ERUZBVUxUX05VTV9USUNLUz0xMDtmLlF1YW50aXRhdGl2ZVNjYWxlPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDEpO2YuY29lcmNlRXh0ZXJuYWxEMz1mdW5jdGlvbihyKXtpZihudWxsPT1yLmF0dHJzKXtpZihudWxsPT1yLm5vZGVzKXt2YXIgbD1bXTtyLmVhY2goZnVuY3Rpb24oKXtsLnB1c2godGhpcyl9KTsKcmV0dXJuIGsuc2VsZWN0QWxsKGwpfXJldHVybiBrLnNlbGVjdEFsbChyLm5vZGVzKCkpfXJldHVybiByfX0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDgzKSk7ayhoKDg0KSk7ayhoKDg1KSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg0NCkpO2soaCg0NSkpO2soaCg0NikpO2soaCgxOCkpO2soaCg2KSk7ayhoKDMzKSk7ayhoKDM0KSk7ayhoKDQ3KSk7ayhoKDkpKTtrKGgoNDgpKX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe3ZhciBrPXRoaXM7dGhpcy5fYW5jaG9yQ2FsbGJhY2s9ZnVuY3Rpb24ocil7cmV0dXJuIGsuX2FuY2hvcihyKX07dGhpcy5fZW5hYmxlZD0hMH1oLnByb3RvdHlwZS5hdHRhY2hUbz1mdW5jdGlvbihrKXt0aGlzLl9kaXNjb25uZWN0KCk7CnRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG89azt0aGlzLl9jb25uZWN0KCk7cmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmRldGFjaEZyb209ZnVuY3Rpb24oKXt0aGlzLmRldGFjaCgpfTtoLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oKXt0aGlzLl9kaXNjb25uZWN0KCk7dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbz1udWxsO3JldHVybiB0aGlzfTtoLnByb3RvdHlwZS5lbmFibGVkPWZ1bmN0aW9uKGspe2lmKG51bGw9PWspcmV0dXJuIHRoaXMuX2VuYWJsZWQ7KHRoaXMuX2VuYWJsZWQ9ayk/dGhpcy5fY29ubmVjdCgpOnRoaXMuX2Rpc2Nvbm5lY3QoKTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuX2FuY2hvcj1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQ9ITB9O2gucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQ9ITF9O2gucHJvdG90eXBlLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlPWZ1bmN0aW9uKGspe3ZhciByPXRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8ub3JpZ2luVG9Sb290KCk7CnJldHVybnt4OmsueC1yLngseTprLnktci55fX07aC5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PWZ1bmN0aW9uKGspe3JldHVybiAwPD1rLngmJjA8PWsueSYmay54PD10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJmsueTw9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX07aC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXtpZih0aGlzLmVuYWJsZWQoKSYmbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmIXRoaXMuX2lzQW5jaG9yZWQpdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5vbkFuY2hvcih0aGlzLl9hbmNob3JDYWxsYmFjayl9O2gucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5fdW5hbmNob3IoKTtudWxsIT10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvJiZ0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLm9mZkFuY2hvcih0aGlzLl9hbmNob3JDYWxsYmFjayl9O3JldHVybiBofSgpOwpmLkludGVyYWN0aW9uPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJihuW3ddPXFbd10pO24ucHJvdG90eXBlPW51bGw9PT1xP09iamVjdC5jcmVhdGUocSk6KHUucHJvdG90eXBlPXEucHJvdG90eXBlLG5ldyB1KX0scj1oKDMpLGw9aCgwKSxwPWgoNTIpLG09aCgyKTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj0hMTt1Ll9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPSExO3UuX2RlZmVycmVkUmVuZGVyaW5nPSExO3UuX2FwcGx5RGVmZXJyZWRSZW5kZXJpbmdUcmFuc2Zvcm09ZnVuY3Rpb24odyxBLHkseCl7dS5faXNBbmNob3JlZCYmKG51bGwhPXUuX3JlbmRlckFyZWEmJnUuX3JlbmRlckFyZWEuYXR0cigidHJhbnNmb3JtIiwKInRyYW5zbGF0ZSgiK3crIiwgIitBKyIpIHNjYWxlKCIreSsiLCAiK3grIikiKSxudWxsIT11Ll9jYW52YXMmJnUuX2NhbnZhcy5zdHlsZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdysicHgsICIrQSsicHgpIHNjYWxlKCIreSsiLCAiK3grIikiKSl9O3UuYWRkQ2xhc3MoInh5LXBsb3QiKTt1Ll9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIHUuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YKCl9O3UuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKX07dS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtpZih1LmRlZmVycmVkUmVuZGVyaW5nKCkpe3ZhciB3PXUueCgpJiZ1LngoKS5zY2FsZSxBPXUueSgpJiZ1LnkoKS5zY2FsZTt1Ll9kZWZlcnJlZFJlbmRlcmVyLnVwZGF0ZURvbWFpbnModyxBKX1lbHNlIHUucmVuZGVyKCl9Owp1Ll9kZWZlcnJlZFJlbmRlcmVyPW5ldyBwLkRlZmVycmVkUmVuZGVyZXIoZnVuY3Rpb24oKXtyZXR1cm4gdS5yZW5kZXIoKX0sdS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybSk7cmV0dXJuIHV9ayhxLG4pO3EucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3RoaXMuZGVmZXJyZWRSZW5kZXJpbmcoKSYmdGhpcy5fZGVmZXJyZWRSZW5kZXJlci5yZXNldFRyYW5zZm9ybXMoKTtyZXR1cm4gbi5wcm90b3R5cGUucmVuZGVyLmNhbGwodGhpcyl9O3EucHJvdG90eXBlLmRlZmVycmVkUmVuZGVyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlZmVycmVkUmVuZGVyaW5nfTtxLnByb3RvdHlwZS54PWZ1bmN0aW9uKHUsdyxBKXtpZihudWxsPT11KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChxLl9YX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KHEuX1hfS0VZLHUsdyxBKTt1PXRoaXMud2lkdGgoKTtudWxsIT13JiZudWxsIT11JiZ3LnJhbmdlKFswLHVdKTsKdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUueT1mdW5jdGlvbih1LHcsQSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQocS5fWV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eShxLl9ZX0tFWSx1LHcsQSk7dT10aGlzLmhlaWdodCgpO251bGwhPXcmJm51bGwhPXUmJih3IGluc3RhbmNlb2Ygci5DYXRlZ29yeT93LnJhbmdlKFswLHVdKTp3LnJhbmdlKFt1LDBdKSk7dGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWEV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PWZ1bmN0aW9uKHUpe3JldHVybiJ4Ij09PXUmJnRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW4/dGhpcy5fbWFrZUZpbHRlckJ5UHJvcGVydHkoInkiKToKInkiPT09dSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj90aGlzLl9tYWtlRmlsdGVyQnlQcm9wZXJ0eSgieCIpOm51bGx9O3EucHJvdG90eXBlLl9tYWtlRmlsdGVyQnlQcm9wZXJ0eT1mdW5jdGlvbih1KXt1PXRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KHUpO2lmKG51bGwhPXUpe3ZhciB3PXUuYWNjZXNzb3IsQT11LnNjYWxlO2lmKG51bGwhPUEpcmV0dXJuIGZ1bmN0aW9uKHkseCxDKXt2YXIgRz1BLnJhbmdlKCk7cmV0dXJuIGwuTWF0aC5pblJhbmdlKEEuc2NhbGUodyh5LHgsQykpLEdbMF0sR1sxXSl9fXJldHVybiBudWxsfTtxLnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXk9ZnVuY3Rpb24odSx3KXtuLnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXkuY2FsbCh0aGlzLHUsdyk7dS5vZmZVcGRhdGUodz09PXEuX1hfS0VZP3RoaXMuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YQ2FsbGJhY2s6dGhpcy5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVlDYWxsYmFjayl9OwpxLnByb3RvdHlwZS5faW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHUsdyl7bi5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsdSx3KTt1Lm9uVXBkYXRlKHc9PT1xLl9YX0tFWT90aGlzLl9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrOnRoaXMuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2spfTtxLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMueCgpLnNjYWxlJiZ0aGlzLngoKS5zY2FsZS5vZmZVcGRhdGUodGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjayk7dGhpcy55KCkuc2NhbGUmJnRoaXMueSgpLnNjYWxlLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYXV0b3JhbmdlTW9kZT1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPwoieCI6dGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj8ieSI6Im5vbmUiO3N3aXRjaCh1KXtjYXNlICJ4Ijp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSEwO3RoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITE7dGhpcy5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKTticmVhaztjYXNlICJ5Ijp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExO3RoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITA7dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVgoKTticmVhaztjYXNlICJub25lIjp0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPXRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW49ITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiSW52YWxpZCBzY2FsZSBuYW1lICciK3UrIicsIG11c3QgYmUgJ3gnLCAneScgb3IgJ25vbmUnIik7fXJldHVybiB0aGlzfTtxLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKHUsdyxBKXtuLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcywKdSx3LEEpO3U9KHU9dGhpcy54KCkpJiZ1LnNjYWxlO251bGwhPXUmJnUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk7dT0odT10aGlzLnkoKSkmJnUuc2NhbGU7bnVsbCE9dSYmKHUgaW5zdGFuY2VvZiByLkNhdGVnb3J5P3UucmFuZ2UoWzAsdGhpcy5oZWlnaHQoKV0pOnUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX3VwZGF0ZVhFeHRlbnRzQW5kQXV0b2RvbWFpbj1mdW5jdGlvbigpe3ZhciB1PXRoaXMueCgpLnNjYWxlO251bGwhPXUmJnUuYXV0b0RvbWFpbigpfTtxLnByb3RvdHlwZS5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluPWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy55KCkuc2NhbGU7bnVsbCE9dSYmdS5hdXRvRG9tYWluKCl9O3EucHJvdG90eXBlLnNob3dBbGxEYXRhPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlWEV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCk7cmV0dXJuIHRoaXN9OwpxLnByb3RvdHlwZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVg9ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCl9O3EucHJvdG90eXBlLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWT1mdW5jdGlvbigpe3RoaXMuX3Byb2plY3RvcnNSZWFkeSgpJiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKX07cS5wcm90b3R5cGUuX3Byb2plY3RvcnNSZWFkeT1mdW5jdGlvbigpe3ZhciB1PXRoaXMueCgpLHc9dGhpcy55KCk7cmV0dXJuIG51bGwhPXUmJm51bGwhPXUuYWNjZXNzb3ImJm51bGwhPXcmJm51bGwhPXcuYWNjZXNzb3J9O3EucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHUsdyxBKXt2YXIgeT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx4PW0uUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOwpyZXR1cm57eDp5KHUsdyxBKSx5OngodSx3LEEpfX07cS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXtmdW5jdGlvbiB1KHkseCxDKXt2YXIgRz1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHcueCgpKSh5LHgsQyk7eT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHcueSgpKSh5LHgsQyk7cmV0dXJuIGwuTWF0aC5pc1ZhbGlkTnVtYmVyKEcpJiZsLk1hdGguaXNWYWxpZE51bWJlcih5KX12YXIgdz10aGlzLEE9bi5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaChmdW5jdGlvbih5KXtBLnNldCh5LEEuZ2V0KHkpLmZpbHRlcihmdW5jdGlvbih4LEMpe3JldHVybiB1KHgsQyx5KX0pKX0pO3JldHVybiBBfTtyZXR1cm4gcX0obS5QbG90KTtkLl9YX0tFWT0ieCI7ZC5fWV9LRVk9InkiO2YuWFlQbG90PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7dGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9CiEwO3RoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITE7dGhpcy5fdXBkYXRlSWQ9MDt0aGlzLl9jYWxsYmFja3M9bmV3IGsuQ2FsbGJhY2tTZXQ7dGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnM9bmV3IGsuU2V0fXIucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuW119O3IucHJvdG90eXBlLl9nZXRBbGxJbmNsdWRlZFZhbHVlcz1mdW5jdGlvbihsKXt2YXIgcD10aGlzO3ZvaWQgMD09PWwmJihsPSExKTt2YXIgbT1bXTt0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVycy5mb3JFYWNoKGZ1bmN0aW9uKG4pe249bihwLGwpO209bS5jb25jYXQobil9KTtyZXR1cm4gbX07ci5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybltdfTtyLnByb3RvdHlwZS5vblVwZGF0ZT1mdW5jdGlvbihsKXt0aGlzLl9jYWxsYmFja3MuYWRkKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5vZmZVcGRhdGU9ZnVuY3Rpb24obCl7dGhpcy5fY2FsbGJhY2tzLmRlbGV0ZShsKTsKcmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLl9kaXNwYXRjaFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUlkKys7dGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9O3IucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXt0aGlzLl9hdXRvRG9tYWluQXV0b21hdGljYWxseT0hMDt0aGlzLl9zZXREb21haW4odGhpcy5fZ2V0RXh0ZW50KCkpfTtyLnByb3RvdHlwZS5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZT1mdW5jdGlvbigpe3RoaXMuX2F1dG9Eb21haW5BdXRvbWF0aWNhbGx5JiZ0aGlzLmF1dG9Eb21haW4oKX07ci5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgc2NhbGUiKTt9O3IucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9O3IucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9nZXREb21haW4oKTsKdGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITE7dGhpcy5fc2V0RG9tYWluKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIF9nZXREb21haW4iKTt9O3IucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24obCl7dGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzc3x8KHRoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITAsdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKGwpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCksdGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzcz0hMSl9O3IucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2JhY2tpbmdEb21haW4iKTt9O3IucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKGwpe2lmKG51bGw9PWwpcmV0dXJuIHRoaXMuX2dldFJhbmdlKCk7CnRoaXMuX3NldFJhbmdlKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2dldFJhbmdlIik7fTtyLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX3NldFJhbmdlIik7fTtyLnByb3RvdHlwZS5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyPWZ1bmN0aW9uKGwpe3RoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmFkZChsKTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLnJlbW92ZUluY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24obCl7dGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnMuZGVsZXRlKGwpO3RoaXMuX2F1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKX07ci5wcm90b3R5cGUudXBkYXRlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlSWR9OwpyZXR1cm4gcn0oKTtmLlNjYWxlPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHEsdSx3LEEpe2Zvcih2YXIgeT17fSx4PTA7eDx1Lmxlbmd0aDt4Kyspe3ZhciBDPXVbeF07cS5oYXNPd25Qcm9wZXJ0eShDKSYmKHlbQ109cVtDXSh3LEEpKX1yZXR1cm4geX1mdW5jdGlvbiByKHEpe3JldHVybihudWxsIT1xWyJzdHJva2Utb3BhY2l0eSJdP3BhcnNlRmxvYXQocVsic3Ryb2tlLW9wYWNpdHkiXSk6MSkqKG51bGwhPXEub3BhY2l0eT9wYXJzZUZsb2F0KHEub3BhY2l0eSk6MSl9ZnVuY3Rpb24gbChxKXtyZXR1cm4obnVsbCE9cVsiZmlsbC1vcGFjaXR5Il0/cGFyc2VGbG9hdChxWyJmaWxsLW9wYWNpdHkiXSk6MSkqKG51bGwhPXEub3BhY2l0eT9wYXJzZUZsb2F0KHEub3BhY2l0eSk6MSl9ZnVuY3Rpb24gcChxKXtyZXR1cm4gbnVsbCE9cVsic3Ryb2tlLXdpZHRoIl0/cGFyc2VGbG9hdChxWyJzdHJva2Utd2lkdGgiXSk6MX1mdW5jdGlvbiBtKHEsdSl7aWYodS5zdHJva2Upe3EubGluZVdpZHRoPQpwKHUpO3ZhciB3PW4uY29sb3IodS5zdHJva2UpO3cub3BhY2l0eSo9cih1KTtxLnN0cm9rZVN0eWxlPXcudG9TdHJpbmcoKTtxLnN0cm9rZSgpfXUuZmlsbCYmKHc9bi5jb2xvcih1LmZpbGwpLHcub3BhY2l0eSo9bCh1KSxxLmZpbGxTdHlsZT13LnRvU3RyaW5nKCkscS5maWxsKCkpfXZhciBuPWgoMSk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHEodSx3KXt0aGlzLl9jb250ZXh0PXU7dGhpcy5fZHJhd1N0ZXA9d31xLnByb3RvdHlwZS5nZXREcmF3U3RlcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kcmF3U3RlcH07cS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbih1LHcpe3c9d1t3Lmxlbmd0aC0xXS5hdHRyVG9BcHBsaWVkUHJvamVjdG9yO3RoaXMuX2NvbnRleHQuc2F2ZSgpO3RoaXMuX2RyYXdTdGVwKHRoaXMuX2NvbnRleHQsdSx3KTt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX07cS5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybltdfTtxLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PQpmdW5jdGlvbigpe3JldHVybiBudWxsfTtxLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt9O3JldHVybiBxfSgpO2YuQ2FudmFzRHJhd2VyPWQ7Zi5Db250ZXh0U3R5bGVBdHRycz0iZmlsbC1vcGFjaXR5IGZpbGwgb3BhY2l0eSBzdHJva2Utb3BhY2l0eSBzdHJva2Utd2lkdGggc3Ryb2tlIi5zcGxpdCgiICIpO2YucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzPWZ1bmN0aW9uKHEsdSx3LEEpe3JldHVybiBrKHEsZi5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQodSksdyxBKX07Zi5yZXNvbHZlQXR0cmlidXRlcz1rO2YuZ2V0U3Ryb2tlV2lkdGg9cDtmLnJlbmRlckFyZWE9ZnVuY3Rpb24ocSx1LHcsQSl7cS5zYXZlKCk7cS5iZWdpblBhdGgoKTt1LmNvbnRleHQocSk7dSh3KTtxLmxpbmVKb2luPSJyb3VuZCI7bShxLEEpO3EucmVzdG9yZSgpfTtmLnJlbmRlckxpbmU9ZnVuY3Rpb24ocSx1LHcsQSl7cS5zYXZlKCk7cS5iZWdpblBhdGgoKTt1LmNvbnRleHQocSk7dSh3KTsKcS5saW5lSm9pbj0icm91bmQiO20ocSxBKTtxLnJlc3RvcmUoKX07Zi5yZW5kZXJQYXRoV2l0aFN0eWxlPW19LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg1MCkpO2soaCgyNykpO2soaCg1MSkpO2soaCg5MykpO2soaCg1MykpO2soaCg5NCkpO2soaCg5NSkpO2soaCg5NikpO2soaCg5NykpO2soaCg5OCkpO2soaCg5OSkpO2soaCgxMDApKX0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDkyKSk7ayhoKDkxKSk7ZD1oKDQ5KTtmLnNpZ249ZC5zaWdufSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMTM0KSk7ayhoKDEzNSkpO2soaCgxMzYpKTtrKGgoMTM3KSl9LGZ1bmN0aW9uKGQsCmYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKG4scSl7ZnVuY3Rpb24gdSgpe3RoaXMuY29uc3RydWN0b3I9bn1mb3IodmFyIHcgaW4gcSlxLmhhc093blByb3BlcnR5KHcpJiYoblt3XT1xW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCgxKSxsPWgoNSk7ZD1oKDQpO3ZhciBwPWgoOCksbT1oKDApO2g9aCgxMCk7Zi5BeGlzT3JpZW50YXRpb249aC5tYWtlRW51bShbImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCJdKTtoPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEodSx3KXt2YXIgQT1uLmNhbGwodGhpcyl8fHRoaXM7QS5fZW5kVGlja0xlbmd0aD01O0EuX2lubmVyVGlja0xlbmd0aD01O0EuX3RpY2tMYWJlbFBhZGRpbmc9MTA7QS5fbWFyZ2luPTE1O0EuX3Nob3dFbmRUaWNrTGFiZWxzPSExO0EuX2Fubm90YXRpb25zRW5hYmxlZD0hMTtBLl9hbm5vdGF0aW9uVGllckNvdW50PQoxO2lmKG51bGw9PXV8fG51bGw9PXcpdGhyb3cgRXJyb3IoIkF4aXMgcmVxdWlyZXMgYSBzY2FsZSBhbmQgb3JpZW50YXRpb24iKTtBLl9zY2FsZT11O0Eub3JpZW50YXRpb24odyk7QS5fc2V0RGVmYXVsdEFsaWdubWVudCgpO0EuYWRkQ2xhc3MoImF4aXMiKTtBLmlzSG9yaXpvbnRhbCgpP0EuYWRkQ2xhc3MoIngtYXhpcyIpOkEuYWRkQ2xhc3MoInktYXhpcyIpO0EuZm9ybWF0dGVyKHAuaWRlbnRpdHkoKSk7QS5fcmVzY2FsZUNhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIEEuX3Jlc2NhbGUoKX07QS5fc2NhbGUub25VcGRhdGUoQS5fcmVzY2FsZUNhbGxiYWNrKTtBLl9hbm5vdGF0ZWRUaWNrcz1bXTtBLl9hbm5vdGF0aW9uRm9ybWF0dGVyPXAuaWRlbnRpdHkoKTtyZXR1cm4gQX1rKHEsbik7cS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe24ucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9zY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVzY2FsZUNhbGxiYWNrKX07CnEucHJvdG90eXBlLnRpY2tMYWJlbERhdGFPbkVsZW1lbnQ9ZnVuY3Rpb24odSl7aWYobnVsbCE9dSl7Zm9yKHZhciB3O251bGwhPXUmJnUuY2xhc3NMaXN0JiZ2b2lkIDA9PT13Oyl1LmNsYXNzTGlzdC5jb250YWlucyhxLlRJQ0tfTEFCRUxfQ0xBU1MpP3c9dTp1PXUucGFyZW50Tm9kZTtyZXR1cm4gdm9pZCAwPT09dT92b2lkIDA6ci5zZWxlY3QodSkuZGF0dW0oKX19O3EucHJvdG90eXBlLl9jb21wdXRlV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCl9O3EucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpfTtxLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbigpe3ZhciB1PTAsdz0wO2lmKHRoaXMuaXNIb3Jpem9udGFsKCkpe2lmKHc9dGhpcy5fY29tcHV0ZUhlaWdodCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpKXt2YXIgQT0KdGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQrMipxLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkc7dys9QSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKX19ZWxzZSB1PXRoaXMuX2NvbXB1dGVXaWR0aCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYoQT10aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCsyKnEuX0FOTk9UQVRJT05fTEFCRUxfUEFERElORyx1Kz1BKnRoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKTtyZXR1cm57bWluV2lkdGg6dSxtaW5IZWlnaHQ6d319O3EucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsKCl9O3EucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0hvcml6b250YWwoKX07cS5wcm90b3R5cGUuX3Jlc2NhbGU9ZnVuY3Rpb24oKXt0aGlzLnJlbmRlcigpfTtxLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PQpmdW5jdGlvbih1LHcsQSl7bi5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsdSx3LEEpO3RoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5fc2NhbGUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk6dGhpcy5fc2NhbGUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5fc2l6ZUZyb21PZmZlcj1mdW5jdGlvbih1LHcpe3ZhciBBPXRoaXMucmVxdWVzdGVkU3BhY2UodSx3KTtyZXR1cm4gdGhpcy5pc0hvcml6b250YWwoKT97d2lkdGg6dSxoZWlnaHQ6QS5taW5IZWlnaHR9OntoZWlnaHQ6dyx3aWR0aDpBLm1pbldpZHRofX07cS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fdGlja01hcmtDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLlRJQ0tfTUFSS19DTEFTUysiLWNvbnRhaW5lciIsITApO3RoaXMuX3RpY2tMYWJlbENvbnRhaW5lcj0KdGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKTt0aGlzLl9iYXNlbGluZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApO3RoaXMuX2Fubm90YXRpb25Db250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1jb250YWluZXIiLCEwKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tbGluZS1jb250YWluZXIiLCEwKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tY2lyY2xlLWNvbnRhaW5lciIsITApO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIsITApO3ZhciB1PXRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiLAohMCk7dT1uZXcgbC5TdmdDb250ZXh0KHUubm9kZSgpKTt0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih1KTt0aGlzLl9hbm5vdGF0aW9uV3JpdGVyPW5ldyBsLldyaXRlcih0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIsdSl9O3EucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuW119O3EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLHc9dGhpcy5fdGlja01hcmtDb250YWluZXIuc2VsZWN0QWxsKCIuIitxLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh1KSxBPXcuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKHEuVElDS19NQVJLX0NMQVNTLCEwKS5tZXJnZSh3KTtBLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpKTtyLnNlbGVjdChBLm5vZGVzKClbMF0pLmNsYXNzZWQocS5FTkRfVElDS19NQVJLX0NMQVNTLCEwKS5hdHRycyh0aGlzLl9nZW5lcmF0ZVRpY2tNYXJrQXR0ckhhc2goITApKTsKci5zZWxlY3QoQS5ub2RlcygpW3UubGVuZ3RoLTFdKS5jbGFzc2VkKHEuRU5EX1RJQ0tfTUFSS19DTEFTUywhMCkuYXR0cnModGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCEwKSk7dy5leGl0KCkucmVtb3ZlKCk7dGhpcy5fYmFzZWxpbmUuYXR0cnModGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCkpO3RoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5ub3RhdGVkVGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGVkVGlja3N9O3EucHJvdG90eXBlLmFubm90YXRpb25Gb3JtYXR0ZXI9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbkZvcm1hdHRlcjt0aGlzLl9hbm5vdGF0aW9uRm9ybWF0dGVyPXU7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5ub3RhdGlvbnNFbmFibGVkPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbm5vdGF0aW9uc0VuYWJsZWR9O3EucHJvdG90eXBlLmFubm90YXRpb25UaWVyQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvblRpZXJDb3VudH07cS5wcm90b3R5cGUuX2RyYXdBbm5vdGF0aW9ucz1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoZmEpe3N3aXRjaChDLm9yaWVudGF0aW9uKCkpe2Nhc2UgImJvdHRvbSI6Y2FzZSAicmlnaHQiOnJldHVybiB5KGZhKTtjYXNlICJ0b3AiOmNhc2UgImxlZnQiOnJldHVybiB5KGZhKS1ELmdldChmYSkuaGVpZ2h0fX1mdW5jdGlvbiB3KGZhKXtyZXR1cm4gTC5oYXMoZmEpPyJoaWRkZW4iOiJ2aXNpYmxlIn1mdW5jdGlvbiBBKGZhKXtyZXR1cm4gQy5fc2NhbGUuc2NhbGUoZmEpfWZ1bmN0aW9uIHkoZmEpe3N3aXRjaChDLm9yaWVudGF0aW9uKCkpe2Nhc2UgImJvdHRvbSI6Y2FzZSAicmlnaHQiOnJldHVybiBLLmdldChmYSkqSCtPO2Nhc2UgInRvcCI6Y2FzZSAibGVmdCI6cmV0dXJuIEotCk8tSy5nZXQoZmEpKkh9fWZ1bmN0aW9uIHgoZmEsb2EsWil7ZmE9ZmEuc2VsZWN0QWxsKCIuIitaKS5kYXRhKEIpO29hPWZhLmVudGVyKCkuYXBwZW5kKG9hKS5jbGFzc2VkKFosITApLm1lcmdlKGZhKTtmYS5leGl0KCkucmVtb3ZlKCk7cmV0dXJuIG9hfXZhciBDPXRoaXMsRz1xLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkcsRD1uZXcgbS5NYXAsQj10aGlzLl9hbm5vdGF0ZWRUaWNrc1RvUmVuZGVyKCk7Qi5mb3JFYWNoKGZ1bmN0aW9uKGZhKXt2YXIgb2E9Qy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoQy5hbm5vdGF0aW9uRm9ybWF0dGVyKCkoZmEpKTtELnNldChmYSx7d2lkdGg6b2Eud2lkdGgrMipHLGhlaWdodDpvYS5oZWlnaHQrMipHfSl9KTt2YXIgSD10aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCsyKkcsSz10aGlzLl9hbm5vdGF0aW9uVG9UaWVyKEQpLEw9bmV3IG0uU2V0LEo9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOgp0aGlzLndpZHRoKCksTz10aGlzLl9jb3JlU2l6ZSgpLFM9TWF0aC5taW4odGhpcy5hbm5vdGF0aW9uVGllckNvdW50KCksTWF0aC5mbG9vcigoSi1PKS9IKSk7Sy5mb3JFYWNoKGZ1bmN0aW9uKGZhLG9hKXsoLTE9PT1mYXx8ZmE+PVMpJiZMLmFkZChvYSl9KTtzd2l0Y2godGhpcy5vcmllbnRhdGlvbigpKXtjYXNlICJib3R0b20iOmNhc2UgInJpZ2h0Ijp2YXIgTj0wO2JyZWFrO2Nhc2UgInRvcCI6Tj10aGlzLmhlaWdodCgpO2JyZWFrO2Nhc2UgImxlZnQiOk49dGhpcy53aWR0aCgpfXZhciBSPXRoaXMuaXNIb3Jpem9udGFsKCk7eCh0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdCgiLmFubm90YXRpb24tbGluZS1jb250YWluZXIiKSwibGluZSIscS5BTk5PVEFUSU9OX0xJTkVfQ0xBU1MpLmF0dHJzKHt4MTpSP0E6Tix4MjpSP0E6eSx5MTpSP046QSx5MjpSP3k6QSx2aXNpYmlsaXR5Ond9KTt4KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1jaXJjbGUtY29udGFpbmVyIiksCiJjaXJjbGUiLHEuQU5OT1RBVElPTl9DSVJDTEVfQ0xBU1MpLmF0dHJzKHtjeDpSP0E6TixjeTpSP046QSxyOjN9KTt4KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIpLCJyZWN0IixxLkFOTk9UQVRJT05fUkVDVF9DTEFTUykuYXR0cnMoe3g6Uj9BOnUseTpSP3U6QSx3aWR0aDpSP2Z1bmN0aW9uKGZhKXtyZXR1cm4gRC5nZXQoZmEpLndpZHRofTpmdW5jdGlvbihmYSl7cmV0dXJuIEQuZ2V0KGZhKS5oZWlnaHR9LGhlaWdodDpSP2Z1bmN0aW9uKGZhKXtyZXR1cm4gRC5nZXQoZmEpLmhlaWdodH06ZnVuY3Rpb24oZmEpe3JldHVybiBELmdldChmYSkud2lkdGh9LHZpc2liaWxpdHk6d30pO3ZhciBYPXRoaXMuX2Fubm90YXRpb25Xcml0ZXIsYWE9dGhpcy5hbm5vdGF0aW9uRm9ybWF0dGVyKCk7Tj14KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiKSwiZyIscS5BTk5PVEFUSU9OX0xBQkVMX0NMQVNTKTsKTi5zZWxlY3RBbGwoIi50ZXh0LWNvbnRhaW5lciIpLnJlbW92ZSgpO04uYXR0cnMoe3RyYW5zZm9ybTpmdW5jdGlvbihmYSl7dmFyIG9hPVI/QShmYSk6dShmYSk7ZmE9Uj91KGZhKTpBKGZhKTtyZXR1cm4idHJhbnNsYXRlKCIrb2ErIiwiK2ZhKyIpIn0sdmlzaWJpbGl0eTp3fSkuZWFjaChmdW5jdGlvbihmYSl7WC53cml0ZShhYShmYSksUj9ELmdldChmYSkud2lkdGg6RC5nZXQoZmEpLmhlaWdodCxSP0QuZ2V0KGZhKS5oZWlnaHQ6RC5nZXQoZmEpLndpZHRoLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIiLHRleHRSb3RhdGlvbjpSPzA6OTB9LHIuc2VsZWN0KHRoaXMpLm5vZGUoKSl9KX07cS5wcm90b3R5cGUuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdT10aGlzLHc9dGhpcy5fc2NhbGUucmFuZ2UoKTtyZXR1cm4gbS5BcnJheS51bmlxKHRoaXMuYW5ub3RhdGVkVGlja3MoKS5maWx0ZXIoZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PUE/ITE6Cm0uTWF0aC5pblJhbmdlKHUuX3NjYWxlLnNjYWxlKEEpLHdbMF0sd1sxXSl9KSl9O3EucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB1PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksdz10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMuX2NvbXB1dGVIZWlnaHQoKTp0aGlzLl9jb21wdXRlV2lkdGgoKTtyZXR1cm4gTWF0aC5taW4odyx1KX07cS5wcm90b3R5cGUuX2Fubm90YXRpb25UaWVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqcS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HfTtxLnByb3RvdHlwZS5fYW5ub3RhdGlvblRvVGllcj1mdW5jdGlvbih1KXt2YXIgdz10aGlzLEE9W1tdXSx5PW5ldyBtLk1hcCx4PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy53aWR0aCgpOnRoaXMuaGVpZ2h0KCk7dGhpcy5fYW5ub3RhdGVkVGlja3NUb1JlbmRlcigpLmZvckVhY2goZnVuY3Rpb24oQyl7dmFyIEc9CncuX3NjYWxlLnNjYWxlKEMpLEQ9dS5nZXQoQykud2lkdGg7aWYoMD5HfHxHK0Q+eCl5LnNldChDLC0xKTtlbHNle2Zvcih2YXIgQj1mdW5jdGlvbihLKXtyZXR1cm4gQVtLXS5zb21lKGZ1bmN0aW9uKEwpe3ZhciBKPXcuX3NjYWxlLnNjYWxlKEwpO0w9dS5nZXQoTCkud2lkdGg7cmV0dXJuIEcrRD49SiYmRzw9SitMfSl9LEg9MDtCKEgpOylIKyssQS5sZW5ndGg9PT1IJiZBLnB1c2goW10pO0FbSF0ucHVzaChDKTt5LnNldChDLEgpfX0pO3JldHVybiB5fTtxLnByb3RvdHlwZS5fcmVtb3ZlQW5ub3RhdGlvbnM9ZnVuY3Rpb24oKXt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdEFsbCgiLmFubm90YXRpb24tbGluZSIpLnJlbW92ZSgpO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1jaXJjbGUiKS5yZW1vdmUoKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdEFsbCgiLmFubm90YXRpb24tcmVjdCIpLnJlbW92ZSgpO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1sYWJlbCIpLnJlbW92ZSgpfTsKcS5wcm90b3R5cGUuX2dlbmVyYXRlQmFzZWxpbmVBdHRySGFzaD1mdW5jdGlvbigpe3ZhciB1PXt4MTowLHkxOjAseDI6MCx5MjowfTtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6dS54Mj10aGlzLndpZHRoKCk7YnJlYWs7Y2FzZSAidG9wIjp1LngyPXRoaXMud2lkdGgoKTt1LnkxPXRoaXMuaGVpZ2h0KCk7dS55Mj10aGlzLmhlaWdodCgpO2JyZWFrO2Nhc2UgImxlZnQiOnUueDE9dGhpcy53aWR0aCgpO3UueDI9dGhpcy53aWR0aCgpO3UueTI9dGhpcy5oZWlnaHQoKTticmVhaztjYXNlICJyaWdodCI6dS55Mj10aGlzLmhlaWdodCgpfXJldHVybiB1fTtxLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoeCl7cmV0dXJuIEEuX3NjYWxlLnNjYWxlKHgpfXZhciBBPXRoaXM7dm9pZCAwPT09dSYmKHU9ITEpO3ZhciB5PXt4MTowLHkxOjAseDI6MCx5MjowfTt0aGlzLmlzSG9yaXpvbnRhbCgpPyh5LngxPQp3LHkueDI9dyk6KHkueTE9dyx5LnkyPXcpO3U9dT90aGlzLl9lbmRUaWNrTGVuZ3RoOnRoaXMuX2lubmVyVGlja0xlbmd0aDtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6eS55Mj11O2JyZWFrO2Nhc2UgInRvcCI6eS55MT10aGlzLmhlaWdodCgpO3kueTI9dGhpcy5oZWlnaHQoKS11O2JyZWFrO2Nhc2UgImxlZnQiOnkueDE9dGhpcy53aWR0aCgpO3kueDI9dGhpcy53aWR0aCgpLXU7YnJlYWs7Y2FzZSAicmlnaHQiOnkueDI9dX1yZXR1cm4geX07cS5wcm90b3R5cGUuX3NldERlZmF1bHRBbGlnbm1lbnQ9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6dGhpcy55QWxpZ25tZW50KCJ0b3AiKTticmVhaztjYXNlICJ0b3AiOnRoaXMueUFsaWdubWVudCgiYm90dG9tIik7YnJlYWs7Y2FzZSAibGVmdCI6dGhpcy54QWxpZ25tZW50KCJyaWdodCIpO2JyZWFrO2Nhc2UgInJpZ2h0Ijp0aGlzLnhBbGlnbm1lbnQoImxlZnQiKX19OwpxLnByb3RvdHlwZS5pc0hvcml6b250YWw9ZnVuY3Rpb24oKXtyZXR1cm4idG9wIj09PXRoaXMuX29yaWVudGF0aW9ufHwiYm90dG9tIj09PXRoaXMuX29yaWVudGF0aW9ufTtxLnByb3RvdHlwZS5nZXRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY2FsZX07cS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX2Zvcm1hdHRlcjt0aGlzLl9mb3JtYXR0ZXI9dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5pbm5lclRpY2tMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJUaWNrTGVuZ3RofTtxLnByb3RvdHlwZS5lbmRUaWNrTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuZFRpY2tMZW5ndGh9O3EucHJvdG90eXBlLl9tYXhMYWJlbFRpY2tMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaG93RW5kVGlja0xhYmVscygpP01hdGgubWF4KHRoaXMuaW5uZXJUaWNrTGVuZ3RoKCksCnRoaXMuZW5kVGlja0xlbmd0aCgpKTp0aGlzLmlubmVyVGlja0xlbmd0aCgpfTtxLnByb3RvdHlwZS50aWNrTGFiZWxQYWRkaW5nPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBhZGRpbmc7aWYoMD51KXRocm93IEVycm9yKCJ0aWNrIGxhYmVsIHBhZGRpbmcgbXVzdCBiZSBwb3NpdGl2ZSIpO3RoaXMuX3RpY2tMYWJlbFBhZGRpbmc9dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5tYXJnaW49ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fbWFyZ2luO2lmKDA+dSl0aHJvdyBFcnJvcigibWFyZ2luIHNpemUgbXVzdCBiZSBwb3NpdGl2ZSIpO3RoaXMuX21hcmdpbj11O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uO3U9dS50b0xvd2VyQ2FzZSgpO2lmKCJ0b3AiIT09dSYmImJvdHRvbSIhPT0KdSYmImxlZnQiIT09dSYmInJpZ2h0IiE9PXUpdGhyb3cgRXJyb3IoInVuc3VwcG9ydGVkIG9yaWVudGF0aW9uIik7dGhpcy5fb3JpZW50YXRpb249dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5zaG93RW5kVGlja0xhYmVscz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaG93RW5kVGlja0xhYmVsc307cS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTWFya3M9ZnVuY3Rpb24oKXt0aGlzLl90aWNrTWFya0NvbnRhaW5lci5zZWxlY3RBbGwoIi4iK3EuVElDS19NQVJLX0NMQVNTKS5lYWNoKGZ1bmN0aW9uKCl7ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KX07cS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKS5lYWNoKGZ1bmN0aW9uKCl7ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KX07CnEucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHc9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKTt3LmVtcHR5KCl8fHcuZWFjaChmdW5jdGlvbigpe20uRE9NLmNsaWVudFJlY3RJbnNpZGUodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1KXx8ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pfTtxLnByb3RvdHlwZS5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbD1mdW5jdGlvbigpe3ZhciB1PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX01BUktfQ0xBU1MpLHc9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgQT1yLnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpOwpyZXR1cm4iaW5oZXJpdCI9PT1BfHwidmlzaWJsZSI9PT1BfSkuZGF0YSgpO3UuZWFjaChmdW5jdGlvbihBKXstMT09PXcuaW5kZXhPZihBKSYmci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pfTtxLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXtuLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIucmVzZXQoKX07cmV0dXJuIHF9KGQuQ29tcG9uZW50KTtoLkVORF9USUNLX01BUktfQ0xBU1M9ImVuZC10aWNrLW1hcmsiO2guVElDS19NQVJLX0NMQVNTPSJ0aWNrLW1hcmsiO2guVElDS19MQUJFTF9DTEFTUz0idGljay1sYWJlbCI7aC5BTk5PVEFUSU9OX0xJTkVfQ0xBU1M9ImFubm90YXRpb24tbGluZSI7aC5BTk5PVEFUSU9OX1JFQ1RfQ0xBU1M9ImFubm90YXRpb24tcmVjdCI7aC5BTk5PVEFUSU9OX0NJUkNMRV9DTEFTUz0iYW5ub3RhdGlvbi1jaXJjbGUiO2guQU5OT1RBVElPTl9MQUJFTF9DTEFTUz0KImFubm90YXRpb24tbGFiZWwiO2guX0FOTk9UQVRJT05fTEFCRUxfUEFERElORz00O2YuQXhpcz1ofSxmdW5jdGlvbihkLGYpe2YuU0hPV19XQVJOSU5HUz0hMDtmLkFERF9USVRMRV9FTEVNRU5UUz0hMH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoKXt0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uPXt9O3RoaXMuX2V2ZW50VGFyZ2V0PWRvY3VtZW50O3RoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXQ9e307dGhpcy5fY29ubmVjdGVkPSExfXIucHJvdG90eXBlLl9oYXNOb0NhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgbD1PYmplY3Qua2V5cyh0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0KSxwPTA7cDxsLmxlbmd0aDtwKyspaWYoMCE9PXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbbFtwXV0uc2l6ZSlyZXR1cm4hMTtyZXR1cm4hMH07ci5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgbD10aGlzOwp0aGlzLl9jb25uZWN0ZWR8fChPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uKHApe2wuX2V2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIocCxsLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3BdKX0pLHRoaXMuX2Nvbm5lY3RlZD0hMCl9O3IucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGw9dGhpczt0aGlzLl9jb25uZWN0ZWQmJnRoaXMuX2hhc05vQ2FsbGJhY2tzKCkmJihPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uKHApe2wuX2V2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIocCxsLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3BdKX0pLHRoaXMuX2Nvbm5lY3RlZD0hMSl9O3IucHJvdG90eXBlLl9hZGRDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKGwscCl7bnVsbD09dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXSYmCih0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W2xdPW5ldyBrLkNhbGxiYWNrU2V0KTt0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W2xdLmFkZChwKTt0aGlzLl9jb25uZWN0KCl9O3IucHJvdG90eXBlLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKGwscCl7bnVsbCE9dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXSYmdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXS5kZWxldGUocCk7dGhpcy5fZGlzY29ubmVjdCgpfTtyLnByb3RvdHlwZS5fY2FsbENhbGxiYWNrc0ZvckV2ZW50PWZ1bmN0aW9uKGwpe2Zvcih2YXIgcD1bXSxtPTE7bTxhcmd1bWVudHMubGVuZ3RoO20rKylwW20tMV09YXJndW1lbnRzW21dO209dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXTtudWxsIT1tJiZtLmNhbGxDYWxsYmFja3MuYXBwbHkobSxwKX07cmV0dXJuIHJ9KCk7Zi5EaXNwYXRjaGVyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fAooZltsXT1yW2xdKX1rKGgoODcpKTtrKGgoODgpKTtrKGgoNDApKTtrKGgoODkpKTtrKGgoOTApKTtkPWgoMjYpO2Yuem9vbU91dD1kLnpvb21PdXR9LGZ1bmN0aW9uKGQsZil7ZnVuY3Rpb24gaChuLHEsdSl7cmV0dXJuIHUtKHUtbikqcX1mdW5jdGlvbiBrKG4scSx1KXtyZXR1cm4obipxLXUpLyhxLTEpfWZ1bmN0aW9uIHIobixxLHUsdyl7dmFyIEE9MTxxO3U9QT93OnU7aWYobnVsbD09dSlyZXR1cm4gcTtuPW4uZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTtyZXR1cm4oQT9NYXRoLm1pbjpNYXRoLm1heCkocSx1L01hdGguYWJzKG5bMV0tblswXSkpfWZ1bmN0aW9uIGwobixxLHUsdyxBKXtpZigxPj1xKXJldHVybntjZW50ZXJQb2ludDp1LHpvb21BbW91bnQ6cX07aWYobnVsbD09dyYmbnVsbD09QSlyZXR1cm57Y2VudGVyUG9pbnQ6dSx6b29tQW1vdW50OnF9O3ZhciB5PXAobikseD1tKG4pLEM9eD9JbmZpbml0eTotSW5maW5pdHk7eD14Py1JbmZpbml0eTpJbmZpbml0eTt3PW51bGw9PQp3P0M6dztBPW51bGw9PUE/eDpBO3g9bi5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpO0M9eFswXTt4PXhbMV07QT1uLnNjYWxlVHJhbnNmb3JtYXRpb24oQSk7eD1uLnNjYWxlVHJhbnNmb3JtYXRpb24oeCk7dmFyIEc9aCh4LHEsdSk7dz1uLnNjYWxlVHJhbnNmb3JtYXRpb24odyk7bj1uLnNjYWxlVHJhbnNmb3JtYXRpb24oQyk7Qz1oKG4scSx1KTtyZXR1cm4gTWF0aC5hYnMoRy1DKT5NYXRoLmFicyhBLXcpPyhxPShBLXcpLyh4LW4pLDEhPT1xP3tjZW50ZXJQb2ludDprKHgscSxBKSx6b29tQW1vdW50OnF9OntjZW50ZXJQb2ludDp1LHpvb21BbW91bnQ6cX0pOkc+QSE9eT97Y2VudGVyUG9pbnQ6ayh4LHEsQSksem9vbUFtb3VudDpxfTpDPHchPXk/e2NlbnRlclBvaW50OmsobixxLHcpLHpvb21BbW91bnQ6cX06e2NlbnRlclBvaW50OnUsem9vbUFtb3VudDpxfX1mdW5jdGlvbiBwKG4pe249bi5yYW5nZSgpO3JldHVybiBuWzFdPG5bMF19ZnVuY3Rpb24gbShuKXtuPW4uZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTsKcmV0dXJuIG5bMV08blswXX1mLnpvb21PdXQ9aDtmLmNvbnN0cmFpbmVkWm9vbT1mdW5jdGlvbihuLHEsdSx3LEEseSx4KXtxPXIobixxLHcsQSk7cmV0dXJuIGwobixxLHUseSx4KX07Zi5jb25zdHJhaW5ab29tRXh0ZW50cz1yO2YuY29uc3RyYWluWm9vbVZhbHVlcz1sO2YuY29uc3RyYWluZWRUcmFuc2xhdGlvbj1mdW5jdGlvbihuLHEsdSx3KXt2YXIgQT1uLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCkseT1BWzBdLHg9QVsxXTtBPXAobik7MDxxIT09QT8odT13LG51bGwhPXUmJih5PW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih4KSxuPW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih1KSxxPShBP01hdGgubWF4Ok1hdGgubWluKSh5K3EsbikteSkpOm51bGwhPXUmJih5PW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih5KSxuPW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih1KSxxPShBP01hdGgubWluOk1hdGgubWF4KSh5K3EsbikteSk7cmV0dXJuIHF9fSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhILApLLEwpe3ZhciBKPUguc2NhbGU7aWYoSiBpbnN0YW5jZW9mIHkuQ2F0ZWdvcnkpTD1KLnJhbmdlQmFuZCgpO2Vsc2V7dmFyIE89SC5hY2Nlc3NvcjtIPWwuc2V0KEMuQXJyYXkuZmxhdHRlbihLLm1hcChmdW5jdGlvbihTKXtyZXR1cm4gUy5kYXRhKCkubWFwKGZ1bmN0aW9uKE4sUil7cmV0dXJuIE8oTixSLFMpfSkuZmlsdGVyKGZ1bmN0aW9uKE4pe3JldHVybiBudWxsIT1OfSkubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLnZhbHVlT2YoKX0pfSkpKS52YWx1ZXMoKS5tYXAoZnVuY3Rpb24oUyl7cmV0dXJuK1N9KTtILnNvcnQoZnVuY3Rpb24oUyxOKXtyZXR1cm4gUy1OfSk7SD1ILm1hcChmdW5jdGlvbihTKXtyZXR1cm4gSi5zY2FsZShTKX0pO0g9bC5wYWlycyhIKTtMPUMuTWF0aC5taW4oSCxmdW5jdGlvbihTKXtyZXR1cm4gTWF0aC5hYnMoU1sxXS1TWzBdKX0sTCpCLl9TSU5HTEVfQkFSX0RJTUVOU0lPTl9SQVRJTyk7TCo9Qi5fQkFSX1RISUNLTkVTU19SQVRJT31yZXR1cm4gTH0KdmFyIHI9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEgsSyl7ZnVuY3Rpb24gTCgpe3RoaXMuY29uc3RydWN0b3I9SH1mb3IodmFyIEogaW4gSylLLmhhc093blByb3BlcnR5KEopJiYoSFtKXT1LW0pdKTtILnByb3RvdHlwZT1udWxsPT09Sz9PYmplY3QuY3JlYXRlKEspOihMLnByb3RvdHlwZT1LLnByb3RvdHlwZSxuZXcgTCl9LGw9aCgxKSxwPWgoNSksbT1oKDcpLG49aCg4KSxxPWgoMTQpLHU9aCg2KSx3PWgoMzQpLEE9aCgyMCkseT1oKDMpLHg9aCgxMSksQz1oKDApO2Q9aCgxMCk7dmFyIEc9aCgxOSksRD1oKDIpO2g9aCgxNik7Zi5CYXJPcmllbnRhdGlvbj1kLm1ha2VFbnVtKFsidmVydGljYWwiLCJob3Jpem9udGFsIl0pO2YuTGFiZWxzUG9zaXRpb249ZC5tYWtlRW51bShbInN0YXJ0IiwibWlkZGxlIiwiZW5kIiwib3V0c2lkZSJdKTtmLkJhckFsaWdubWVudD1kLm1ha2VFbnVtKFsic3RhcnQiLCJtaWRkbGUiLCJlbmQiXSk7dmFyIEI9ZnVuY3Rpb24oSCl7ZnVuY3Rpb24gSyhMKXt2b2lkIDA9PT0KTCYmKEw9InZlcnRpY2FsIik7dmFyIEo9SC5jYWxsKHRoaXMpfHx0aGlzO0ouX2xhYmVsRm9ybWF0dGVyPW4uaWRlbnRpdHkoKTtKLl9sYWJlbHNFbmFibGVkPSExO0ouX2xhYmVsc1Bvc2l0aW9uPWYuTGFiZWxzUG9zaXRpb24uZW5kO0ouX2hpZGVCYXJzSWZBbnlBcmVUb29XaWRlPSEwO0ouX2JhckFsaWdubWVudD0ibWlkZGxlIjtKLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3M9QS5tZW1vaXplKGspO0ouX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITA7Si5hZGRDbGFzcygiYmFyLXBsb3QiKTtpZigidmVydGljYWwiIT09TCYmImhvcml6b250YWwiIT09TCl0aHJvdyBFcnJvcihMKyIgaXMgbm90IGEgdmFsaWQgb3JpZW50YXRpb24gZm9yIFBsb3RzLkJhciIpO0ouX2lzVmVydGljYWw9InZlcnRpY2FsIj09PUw7Si5hbmltYXRvcigiYmFzZWxpbmUiLG5ldyBtLk51bGwpO0ouYXR0cigiZmlsbCIsKG5ldyB5LkNvbG9yKS5yYW5nZSgpWzBdKTtKLmF0dHIoSy5fQkFSX1RISUNLTkVTU19LRVksCmZ1bmN0aW9uKCl7cmV0dXJuIEouX2JhclBpeGVsVGhpY2tuZXNzKCl9KTtKLl9sYWJlbENvbmZpZz1uZXcgQy5NYXA7Si5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuW0ouYmFzZWxpbmVWYWx1ZSgpXX07cmV0dXJuIEp9cihLLEgpO0sucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oTCxKLE8pe0gucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLEwsSixPKTt0aGlzLl91cGRhdGVFeHRlbnRzKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLng9ZnVuY3Rpb24oTCxKKXtpZihudWxsPT1MKXJldHVybiBILnByb3RvdHlwZS54LmNhbGwodGhpcyk7bnVsbD09Sj9ILnByb3RvdHlwZS54LmNhbGwodGhpcyxMKTpILnByb3RvdHlwZS54LmNhbGwodGhpcyxMLEopO3RoaXMuX3VwZGF0ZVRoaWNrbmVzc0F0dHIoKTt0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpO3JldHVybiB0aGlzfTtLLnByb3RvdHlwZS55PWZ1bmN0aW9uKEwsSil7aWYobnVsbD09CkwpcmV0dXJuIEgucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtudWxsPT1KP0gucHJvdG90eXBlLnkuY2FsbCh0aGlzLEwpOkgucHJvdG90eXBlLnkuY2FsbCh0aGlzLEwsSik7dGhpcy5fdXBkYXRlTGVuZ3RoU2NhbGUoKTtyZXR1cm4gdGhpc307Sy5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/dGhpcy55KCk6dGhpcy54KCl9O0sucHJvdG90eXBlLnBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/dGhpcy54KCk6dGhpcy55KCl9O0sucHJvdG90eXBlLmJhckVuZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChLLl9CQVJfRU5EX0tFWSl9O0sucHJvdG90eXBlLmJhckFsaWdubWVudD1mdW5jdGlvbihMKXtpZihudWxsPT1MKXJldHVybiB0aGlzLl9iYXJBbGlnbm1lbnQ7dGhpcy5fYmFyQWxpZ25tZW50PUw7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7CnJldHVybiB0aGlzfTtLLnByb3RvdHlwZS5vcmllbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc1ZlcnRpY2FsPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifTtLLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1LlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB3LlJlY3RhbmdsZVNWR0RyYXdlcihLLl9CQVJfQVJFQV9DTEFTUyl9LGZ1bmN0aW9uKEwpe3JldHVybiBuZXcgcS5SZWN0YW5nbGVDYW52YXNEcmF3ZXIoTCl9KX07Sy5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7SC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfTtLLnByb3RvdHlwZS5iYXNlbGluZVZhbHVlPWZ1bmN0aW9uKCl7aWYobnVsbCE9dGhpcy5fYmFzZWxpbmVWYWx1ZSlyZXR1cm4gdGhpcy5fYmFzZWxpbmVWYWx1ZTtpZighdGhpcy5fcHJvamVjdG9yc1JlYWR5KCkpcmV0dXJuIDA7CnZhciBMPXRoaXMubGVuZ3RoKCkuc2NhbGU7cmV0dXJuIEw/TCBpbnN0YW5jZW9mIHkuVGltZT9uZXcgRGF0ZSgwKTowOjB9O0sucHJvdG90eXBlLmFkZERhdGFzZXQ9ZnVuY3Rpb24oTCl7SC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsTCl9O0sucHJvdG90eXBlLl9hZGREYXRhc2V0PWZ1bmN0aW9uKEwpe0gucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxMKTtyZXR1cm4gdGhpc307Sy5wcm90b3R5cGUucmVtb3ZlRGF0YXNldD1mdW5jdGlvbihMKXtILnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxMKX07Sy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oTCl7SC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQuY2FsbCh0aGlzLEwpO3JldHVybiB0aGlzfTtLLnByb3RvdHlwZS5kYXRhc2V0cz1mdW5jdGlvbihMKXtpZihudWxsPT1MKXJldHVybiBILnByb3RvdHlwZS5kYXRhc2V0cy5jYWxsKHRoaXMpO0gucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcywKTCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLmxhYmVsc0VuYWJsZWQ9ZnVuY3Rpb24oTCxKKXtpZihudWxsPT1MKXJldHVybiB0aGlzLl9sYWJlbHNFbmFibGVkO3RoaXMuX2xhYmVsc0VuYWJsZWQ9TDtudWxsIT1KJiYodGhpcy5fbGFiZWxzUG9zaXRpb249Sik7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLmxhYmVsRm9ybWF0dGVyPWZ1bmN0aW9uKEwpe2lmKG51bGw9PUwpcmV0dXJuIHRoaXMuX2xhYmVsRm9ybWF0dGVyO3RoaXMuX2xhYmVsRm9ybWF0dGVyPUw7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24oTCl7dmFyIEo9SC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldC5jYWxsKHRoaXMsTCksTz10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoSy5fTEFCRUxfQVJFQV9DTEFTUywKITApLFM9bmV3IHAuU3ZnQ29udGV4dChPLm5vZGUoKSksTj1uZXcgcC5DYWNoZU1lYXN1cmVyKFMpO1M9bmV3IHAuV3JpdGVyKE4sUyk7dGhpcy5fbGFiZWxDb25maWcuc2V0KEwse2xhYmVsQXJlYTpPLG1lYXN1cmVyOk4sd3JpdGVyOlN9KTtyZXR1cm4gSn07Sy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihMKXtILnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyxMKTt2YXIgSj10aGlzLl9sYWJlbENvbmZpZy5nZXQoTCk7bnVsbCE9SiYmKEoubGFiZWxBcmVhLnJlbW92ZSgpLHRoaXMuX2xhYmVsQ29uZmlnLmRlbGV0ZShMKSl9O0sucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24oTCl7dmFyIEo9dGhpcztyZXR1cm4gdGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gTyhiYSxrYSxXLEVhKXtyZXR1cm4gSi5fcGl4ZWxQb2ludEJhcihmYShiYSxrYSxXKSxvYSxFYSl9CnZhciBTPUouX2lzVmVydGljYWw/TC54OkwueSxOPUouX2lzVmVydGljYWw/TC55OkwueCxSPUouYm91bmRzKCksWD17bWluOjAsbWF4OlIuYm90dG9tUmlnaHQueC1SLnRvcExlZnQueH0sYWE9e21pbjowLG1heDpSLmJvdHRvbVJpZ2h0LnktUi50b3BMZWZ0Lnl9LGZhPUQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoSi5sZW5ndGgoKSksb2E9Si5sZW5ndGgoKS5zY2FsZS5zY2FsZShKLmJhc2VsaW5lVmFsdWUoKSksWj1JbmZpbml0eSxjYT1JbmZpbml0eSxqYTtKLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihiYSl7dmFyIGthPUouX2VudGl0eUJvdW5kcyhiYSk7aWYoQy5ET00uaW50ZXJzZWN0c0JCb3goWCxhYSxrYSkpe3ZhciBXPTAsRWE9MDtpZighQy5ET00uaW50ZXJzZWN0c0JCb3goTC54LEwueSxrYSwuNSkpe0VhPU8oYmEuZGF0dW0sYmEuaW5kZXgsYmEuZGF0YXNldCxrYSk7Vz1NYXRoLmFicyhTLShKLl9pc1ZlcnRpY2FsP0VhLng6RWEueSkpOwp2YXIgdmE9Si5faXNWZXJ0aWNhbD9rYS55OmthLng7a2E9dmErKEouX2lzVmVydGljYWw/a2EuaGVpZ2h0OmthLndpZHRoKTtFYT1OPj12YS0uNSYmTjw9a2ErLjU/MDpNYXRoLmFicyhOLShKLl9pc1ZlcnRpY2FsP0VhLnk6RWEueCkpfWlmKFc8Wnx8Vz09PVomJkVhPGNhKWphPWJhLFo9VyxjYT1FYX19KTtpZih2b2lkIDAhPT1qYSlyZXR1cm4gSi5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KGphKX0pfTtLLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEwpe3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyhMLngsTC55KX07Sy5wcm90b3R5cGUuX2VudGl0aWVzSW50ZXJzZWN0aW5nPWZ1bmN0aW9uKEwsSil7dmFyIE89dGhpcyxTPVtdO3RoaXMuX2dldEVudGl0eVN0b3JlKCkuZW50aXRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe0MuRE9NLmludGVyc2VjdHNCQm94KEwsSixPLl9lbnRpdHlCb3VuZHMoTikpJiZTLnB1c2goTy5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KE4pKX0pOwpyZXR1cm4gU307Sy5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aFNjYWxlPWZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvamVjdG9yc1JlYWR5KCkpe3ZhciBMPXRoaXMubGVuZ3RoKCkuc2NhbGU7TCBpbnN0YW5jZW9mIHguUXVhbnRpdGF0aXZlU2NhbGUmJihMLmFkZFBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSxMLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSl9fTtLLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBMPXRoaXM7dGhpcy5fYmFyUGl4ZWxUaGlja25lc3MoKTtyZXR1cm4gdGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKGZ1bmN0aW9uKCl7cmV0dXJuIEgucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwoTCl9KX07Sy5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihMKXt2YXIgSj10aGlzLE89dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSk7Ck89e3gxOnRoaXMuX2lzVmVydGljYWw/MDpPLHkxOnRoaXMuX2lzVmVydGljYWw/TzowLHgyOnRoaXMuX2lzVmVydGljYWw/dGhpcy53aWR0aCgpOk8seTI6dGhpcy5faXNWZXJ0aWNhbD9POnRoaXMuaGVpZ2h0KCl9O3RoaXMuX2dldEFuaW1hdG9yKCJiYXNlbGluZSIpLmFuaW1hdGUodGhpcy5fYmFzZWxpbmUsTyk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oUyl7cmV0dXJuIEouX2xhYmVsQ29uZmlnLmdldChTKS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KTt0aGlzLl9sYWJlbHNFbmFibGVkJiZDLldpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEouX2RyYXdMYWJlbHMoKX0sTCl9O0sucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihMKXt2YXIgSj10aGlzLE89SC5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyxMKTtpZigieCI9PT1MJiZ0aGlzLl9pc1ZlcnRpY2FsKUw9dGhpcy54KCk7CmVsc2V7aWYoInkiIT09THx8dGhpcy5faXNWZXJ0aWNhbClyZXR1cm4gTztMPXRoaXMueSgpfWlmKCEoTCYmTC5zY2FsZSYmTC5zY2FsZSBpbnN0YW5jZW9mIHguUXVhbnRpdGF0aXZlU2NhbGUpKXJldHVybiBPO3ZhciBTPUwuc2NhbGUsTj10aGlzLl9iYXJQaXhlbFRoaWNrbmVzcygpO3JldHVybiBPPU8ubWFwKGZ1bmN0aW9uKFIpe3JldHVybiBsLmV4dGVudChbUy5pbnZlcnQoSi5fZ2V0UG9zaXRpb25BdHRyKFMuc2NhbGUoUlswXSksTikpLFMuaW52ZXJ0KEouX2dldFBvc2l0aW9uQXR0cihTLnNjYWxlKFJbMF0pLE4pK04pLFMuaW52ZXJ0KEouX2dldFBvc2l0aW9uQXR0cihTLnNjYWxlKFJbMV0pLE4pKSxTLmludmVydChKLl9nZXRQb3NpdGlvbkF0dHIoUy5zY2FsZShSWzFdKSxOKStOKV0pfSl9O0sucHJvdG90eXBlLl9nZXRQb3NpdGlvbkF0dHI9ZnVuY3Rpb24oTCxKKXt0aGlzLl9pc1ZlcnRpY2FsfHwoTC09SixKKj0tMSk7c3dpdGNoKHRoaXMuX2JhckFsaWdubWVudCl7Y2FzZSAic3RhcnQiOnJldHVybiBMOwpjYXNlICJlbmQiOnJldHVybiBMLUo7ZGVmYXVsdDpyZXR1cm4gTC1KLzJ9fTtLLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBMPXRoaXMsSj10aGlzLl9nZXREYXRhVG9EcmF3KCksTz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxTPXRoaXMuZGF0YXNldHMoKS5zb21lKGZ1bmN0aW9uKE4pe3JldHVybiBKLmdldChOKS5zb21lKGZ1bmN0aW9uKFIsWCl7cmV0dXJuIG51bGw9PVI/ITE6TC5fZHJhd0xhYmVsKFIsWCxOLE8pfSl9KTt0aGlzLl9oaWRlQmFyc0lmQW55QXJlVG9vV2lkZSYmUyYmdGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oTil7cmV0dXJuIEwuX2xhYmVsQ29uZmlnLmdldChOKS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KX07Sy5wcm90b3R5cGUuX2RyYXdMYWJlbD1mdW5jdGlvbihMLEosTyxTKXt2YXIgTj10aGlzLl9sYWJlbENvbmZpZy5nZXQoTyksUj1OLmxhYmVsQXJlYSxYPU4ubWVhc3VyZXI7Tj1OLndyaXRlcjsKdmFyIGFhPXRoaXMubGVuZ3RoKCkuYWNjZXNzb3IsZmE9YWEoTCxKLE8pO2FhPXRoaXMubGVuZ3RoKCkuc2NhbGU7dmFyIG9hPW51bGwhPWFhP2FhLnNjYWxlKGZhKTpmYSxaPW51bGwhPWFhP2FhLnNjYWxlKHRoaXMuYmFzZWxpbmVWYWx1ZSgpKTp0aGlzLmJhc2VsaW5lVmFsdWUoKSxjYT17eDpTLngoTCxKLE8pLHk6Uy55KEwsSixPKX07YWE9e3dpZHRoOlMud2lkdGgoTCxKLE8pLGhlaWdodDpTLmhlaWdodChMLEosTyl9O2ZhPXRoaXMuX2xhYmVsRm9ybWF0dGVyKGZhLEwsSixPKTtYPVgubWVhc3VyZShmYSk7dmFyIGphPXRoaXMuX3Nob3VsZFNob3dMYWJlbE9uQmFyKGNhLGFhLFgpO2NhPXRoaXMuX2NhbGN1bGF0ZUxhYmVsUHJvcGVydGllcyhjYSxhYSxYLGphLHRoaXMuX2lzVmVydGljYWw/b2E8PVo6b2E8Wik7b2E9Y2EuY29udGFpbmVyRGltZW5zaW9ucztaPWNhLmxhYmVsQ29udGFpbmVyT3JpZ2luO2NhPWNhLmFsaWdubWVudDtMPVMuZmlsbChMLEosTyk7Uj10aGlzLl9jcmVhdGVMYWJlbENvbnRhaW5lcihSLApaLGphLEwpO04ud3JpdGUoZmEsb2Eud2lkdGgsb2EuaGVpZ2h0LHt4QWxpZ246Y2EueCx5QWxpZ246Y2EueX0sUi5ub2RlKCkpO3JldHVybiB0aGlzLl9pc1ZlcnRpY2FsP2FhLndpZHRoPFgud2lkdGg6YWEuaGVpZ2h0PFguaGVpZ2h0fTtLLnByb3RvdHlwZS5fc2hvdWxkU2hvd0xhYmVsT25CYXI9ZnVuY3Rpb24oTCxKLE8pe2lmKHRoaXMuX2xhYmVsc1Bvc2l0aW9uPT09Zi5MYWJlbHNQb3NpdGlvbi5vdXRzaWRlKXJldHVybiExO0w9dGhpcy5faXNWZXJ0aWNhbD9MLnk6TC54O3ZhciBTPXRoaXMuX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtKPXRoaXMuX2lzVmVydGljYWw/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCk7Tz10aGlzLl9pc1ZlcnRpY2FsP08uaGVpZ2h0Ok8ud2lkdGg7dmFyIE49TCtTO04+Sj9TPUotTDowPkwmJihTPU4pO3JldHVybiBPK0suX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSPD1TfTtLLnByb3RvdHlwZS5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzPQpmdW5jdGlvbihMLEosTyxTLE4pe2Z1bmN0aW9uIFIoa2Epe3N3aXRjaChrYSl7Y2FzZSAidG9wTGVmdCI6Wj1YLl9pc1ZlcnRpY2FsPyJ0b3AiOiJsZWZ0IjtqYSs9Sy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVI7YmErPUsuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSO2JyZWFrO2Nhc2UgImNlbnRlciI6YmErPShmYStvYSkvMjticmVhaztjYXNlICJib3R0b21SaWdodCI6Wj1YLl9pc1ZlcnRpY2FsPyJib3R0b20iOiJyaWdodCIsamEtPUsuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLGJhKz1jYS1LLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUi1vYX19dmFyIFg9dGhpcyxhYT10aGlzLl9pc1ZlcnRpY2FsP0wueTpMLngsZmE9dGhpcy5faXNWZXJ0aWNhbD9KLmhlaWdodDpKLndpZHRoLG9hPXRoaXMuX2lzVmVydGljYWw/Ty5oZWlnaHQ6Ty53aWR0aCxaPSJjZW50ZXIiLGNhPWZhLGphPWFhLGJhPWFhO2lmKFMpc3dpdGNoKHRoaXMuX2xhYmVsc1Bvc2l0aW9uKXtjYXNlIGYuTGFiZWxzUG9zaXRpb24uc3RhcnQ6Tj8KUigiYm90dG9tUmlnaHQiKTpSKCJ0b3BMZWZ0Iik7YnJlYWs7Y2FzZSBmLkxhYmVsc1Bvc2l0aW9uLm1pZGRsZTpSKCJjZW50ZXIiKTticmVhaztjYXNlIGYuTGFiZWxzUG9zaXRpb24uZW5kOk4/UigidG9wTGVmdCIpOlIoImJvdHRvbVJpZ2h0Iil9ZWxzZSBOPyhaPXRoaXMuX2lzVmVydGljYWw/InRvcCI6ImxlZnQiLGNhPWZhK0suX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSK29hLGphLT1LLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitvYSxiYS09Sy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrb2EpOihaPXRoaXMuX2lzVmVydGljYWw/ImJvdHRvbSI6InJpZ2h0IixjYT1mYStLLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitvYSxiYSs9ZmErSy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIpO3JldHVybntjb250YWluZXJEaW1lbnNpb25zOnt3aWR0aDp0aGlzLl9pc1ZlcnRpY2FsP0oud2lkdGg6Y2EsaGVpZ2h0OnRoaXMuX2lzVmVydGljYWw/Y2E6Si5oZWlnaHR9LGxhYmVsQ29udGFpbmVyT3JpZ2luOnt4OnRoaXMuX2lzVmVydGljYWw/CkwueDpqYSx5OnRoaXMuX2lzVmVydGljYWw/amE6TC55fSxsYWJlbE9yaWdpbjp7eDp0aGlzLl9pc1ZlcnRpY2FsP0wueCtKLndpZHRoLzItTy53aWR0aC8yOmJhLHk6dGhpcy5faXNWZXJ0aWNhbD9iYTpMLnkrSi5oZWlnaHQvMi1PLmhlaWdodC8yfSxhbGlnbm1lbnQ6e3g6dGhpcy5faXNWZXJ0aWNhbD8iY2VudGVyIjpaLHk6dGhpcy5faXNWZXJ0aWNhbD9aOiJjZW50ZXIifX19O0sucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbihMLEosTyxTKXtMPUwuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrSi54KyIsICIrSi55KyIpIik7Tz8oTC5jbGFzc2VkKCJvbi1iYXItbGFiZWwiLCEwKSxPPTEuNipDLkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsUyk8Qy5Db2xvci5jb250cmFzdCgiYmxhY2siLFMpLEwuY2xhc3NlZChPPyJkYXJrLWxhYmVsIjoibGlnaHQtbGFiZWwiLCEwKSk6TC5jbGFzc2VkKCJvZmYtYmFyLWxhYmVsIiwhMCk7cmV0dXJuIEx9OwpLLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgTD1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBKPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLE89dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksUz10aGlzLl9pc1ZlcnRpY2FsPyJoZWlnaHQiOiJ3aWR0aCI7Slt0aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCJdPWZ1bmN0aW9uKCl7cmV0dXJuIE99O0pbU109ZnVuY3Rpb24oKXtyZXR1cm4gMH07TC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6SixhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHLkFuaW1hdG9yLlJFU0VUKX0pfUwucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEcuQW5pbWF0b3IuTUFJTil9KTtyZXR1cm4gTH07Sy5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTChjYSwKamEsYmEpe3JldHVybiBNYXRoLmFicyhTLWFhKGNhLGphLGJhKSl9dmFyIEo9dGhpcyxPPUgucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvci5jYWxsKHRoaXMpLFM9dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksTj10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIsUj10aGlzLl9pc1ZlcnRpY2FsPyJ4IjoieSIsWD1ELlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMucG9zaXRpb24oKSksYWE9RC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLmxlbmd0aCgpKSxmYT1PW0suX0JBUl9USElDS05FU1NfS0VZXSxvYT1PLmdhcCxaPW51bGw9PW9hP2ZhOmZ1bmN0aW9uKGNhLGphLGJhKXtyZXR1cm4gZmEoY2EsamEsYmEpLW9hKGNhLGphLGJhKX07Ty53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP1o6TDtPLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP0w6WjtPW05dPWZ1bmN0aW9uKGNhLGphLGJhKXtjYT1hYShjYSxqYSxiYSk7cmV0dXJuIGNhPlM/ClM6Y2F9O09bUl09ZnVuY3Rpb24oY2EsamEsYmEpe3JldHVybiBKLl9nZXRQb3NpdGlvbkF0dHIoWChjYSxqYSxiYSksZmEoY2EsamEsYmEpKX07cmV0dXJuIE99O0sucHJvdG90eXBlLl91cGRhdGVUaGlja25lc3NBdHRyPWZ1bmN0aW9uKCl7dmFyIEw9dGhpcyxKPXRoaXMucG9zaXRpb24oKSxPPXRoaXMuYmFyRW5kKCk7bnVsbCE9SiYmbnVsbCE9Tz8odGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz0hMSx0aGlzLmF0dHIoSy5fQkFSX1RISUNLTkVTU19LRVksZnVuY3Rpb24oUyxOLFIpe3ZhciBYPUouYWNjZXNzb3IoUyxOLFIpO1M9Ty5hY2Nlc3NvcihTLE4sUik7WD1KLnNjYWxlP0ouc2NhbGUuc2NhbGUoWCk6WDtTPU8uc2NhbGU/Ty5zY2FsZS5zY2FsZShTKTpTO3JldHVybiBNYXRoLmFicyhTLVgpfSkpOih0aGlzLl9maXhlZEJhclBpeGVsVGhpY2tuZXNzPSEwLHRoaXMuYXR0cihLLl9CQVJfVEhJQ0tORVNTX0tFWSxmdW5jdGlvbigpe3JldHVybiBMLl9iYXJQaXhlbFRoaWNrbmVzcygpfSkpfTsKSy5wcm90b3R5cGUuX2JhclBpeGVsVGhpY2tuZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M/dGhpcy5fcHJvamVjdG9yc1JlYWR5KCk/dGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzKHRoaXMucG9zaXRpb24oKSx0aGlzLmRhdGFzZXRzKCksdGhpcy5faXNWZXJ0aWNhbD90aGlzLndpZHRoKCk6dGhpcy5oZWlnaHQoKSk6MDowfTtLLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihMKXt2b2lkIDA9PT1MJiYoTD10aGlzLmRhdGFzZXRzKCkpO3JldHVybiB0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKT9ILnByb3RvdHlwZS5lbnRpdGllcy5jYWxsKHRoaXMsTCk6W119O0sucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oTCl7cmV0dXJuIHRoaXMuX3BpeGVsQm91bmRzKEwuZGF0dW0sTC5pbmRleCxMLmRhdGFzZXQpfTtLLnByb3RvdHlwZS5fcGl4ZWxCb3VuZHM9ZnVuY3Rpb24oTCxKLE8pe3ZhciBTPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpOwpyZXR1cm57eDpTLngoTCxKLE8pLHk6Uy55KEwsSixPKSx3aWR0aDpTLndpZHRoKEwsSixPKSxoZWlnaHQ6Uy5oZWlnaHQoTCxKLE8pfX07Sy5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oTCxKLE8pe3ZhciBTPXRoaXMuX3BpeGVsQm91bmRzKEwsSixPKTtMPSh0aGlzLl9pc1ZlcnRpY2FsP0QuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOkQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpKShMLEosTyk7Sj0odGhpcy5faXNWZXJ0aWNhbD90aGlzLnkoKS5zY2FsZTp0aGlzLngoKS5zY2FsZSkuc2NhbGUodGhpcy5iYXNlbGluZVZhbHVlKCkpO3JldHVybiB0aGlzLl9waXhlbFBvaW50QmFyKEwsSixTKX07Sy5wcm90b3R5cGUuX3BpeGVsUG9pbnRCYXI9ZnVuY3Rpb24oTCxKLE8pe2lmKHRoaXMuX2lzVmVydGljYWwpe3ZhciBTPU8ueCtPLndpZHRoLzI7TD1MPD1KP08ueTpPLnkrTy5oZWlnaHR9ZWxzZSBTPUw+PUo/Ty54K08ud2lkdGg6Ty54LEw9Ty55K08uaGVpZ2h0LwoyO3JldHVybnt4OlMseTpMfX07Sy5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKEwsSil7SC5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5LmNhbGwodGhpcyxMLEopfTtLLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBMPXRoaXMsSj1uZXcgQy5NYXAsTz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxTPXRoaXMud2lkdGgoKSxOPXRoaXMuaGVpZ2h0KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oUil7dmFyIFg9Ui5kYXRhKCkubWFwKGZ1bmN0aW9uKGFhLGZhKXtyZXR1cm4gTC5faXNEYXR1bU9uU2NyZWVuKE8sUyxOLGFhLGZhLFIpP2FhOm51bGx9KTtKLnNldChSLFgpfSk7cmV0dXJuIEp9O0sucHJvdG90eXBlLl9pc0RhdHVtT25TY3JlZW49ZnVuY3Rpb24oTCxKLE8sUyxOLFIpe3ZhciBYPUwueChTLE4sUiksYWE9TC55KFMsTixSKSxmYT1MLndpZHRoKFMsTixSKTtMPUwuaGVpZ2h0KFMsTixSKTsKcmV0dXJuIEMuTWF0aC5pc1ZhbGlkTnVtYmVyKFgpJiZDLk1hdGguaXNWYWxpZE51bWJlcihhYSkmJkMuTWF0aC5pc1ZhbGlkTnVtYmVyKGZhKSYmQy5NYXRoLmlzVmFsaWROdW1iZXIoTCk/Qy5NYXRoLmJvdW5kc0ludGVyc2VjdHMoWCxhYSxmYSxMLEosTyk6ITF9O3JldHVybiBLfShoLlhZUGxvdCk7Qi5fQkFSX1RISUNLTkVTU19SQVRJTz0uOTU7Qi5fU0lOR0xFX0JBUl9ESU1FTlNJT05fUkFUSU89LjQ7Qi5fQkFSX0FSRUFfQ0xBU1M9ImJhci1hcmVhIjtCLl9CQVJfRU5EX0tFWT0iYmFyRW5kIjtCLl9CQVJfVEhJQ0tORVNTX0tFWT0id2lkdGgiO0IuX0xBQkVMX0FSRUFfQ0xBU1M9ImJhci1sYWJlbC10ZXh0LWFyZWEiO0IuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSPTEwO2YuQmFyPUJ9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24odyxBKXtmdW5jdGlvbiB5KCl7dGhpcy5jb25zdHJ1Y3Rvcj13fWZvcih2YXIgeCBpbiBBKUEuaGFzT3duUHJvcGVydHkoeCkmJgood1t4XT1BW3hdKTt3LnByb3RvdHlwZT1udWxsPT09QT9PYmplY3QuY3JlYXRlKEEpOih5LnByb3RvdHlwZT1BLnByb3RvdHlwZSxuZXcgeSl9LHI9aCgxKSxsPWgoNSkscD1oKDgpLG09aCgzKSxuPWgoMCk7ZD1oKDEwKTt2YXIgcT1oKDIyKTtmLlRpbWVJbnRlcnZhbD1kLm1ha2VFbnVtKCJzZWNvbmQgbWludXRlIGhvdXIgZGF5IHdlZWsgbW9udGggeWVhciIuc3BsaXQoIiAiKSk7Zi5UaW1lQXhpc09yaWVudGF0aW9uPWQubWFrZUVudW0oWyJ0b3AiLCJib3R0b20iXSk7Zi5UaWVyTGFiZWxQb3NpdGlvbj1kLm1ha2VFbnVtKFsiYmV0d2VlbiIsImNlbnRlciJdKTtoPWZ1bmN0aW9uKHcpe2Z1bmN0aW9uIEEoeSx4KXt5PXcuY2FsbCh0aGlzLHkseCl8fHRoaXM7eS5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uPW51bGw7eS5fdGllckxhYmVsUG9zaXRpb25zPVtdO3kuYWRkQ2xhc3MoInRpbWUtYXhpcyIpO3kudGlja0xhYmVsUGFkZGluZyg1KTt5LmF4aXNDb25maWd1cmF0aW9ucyhBLl9ERUZBVUxUX1RJTUVfQVhJU19DT05GSUdVUkFUSU9OUyk7CnkuYW5ub3RhdGlvbkZvcm1hdHRlcihwLnRpbWUoIiVhICViICVkLCAlWSIpKTtyZXR1cm4geX1rKEEsdyk7QS5wcm90b3R5cGUudGllckxhYmVsUG9zaXRpb25zPWZ1bmN0aW9uKHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX3RpZXJMYWJlbFBvc2l0aW9ucztpZigheS5ldmVyeShmdW5jdGlvbih4KXtyZXR1cm4iYmV0d2VlbiI9PT14LnRvTG93ZXJDYXNlKCl8fCJjZW50ZXIiPT09eC50b0xvd2VyQ2FzZSgpfSkpdGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIHBvc2l0aW9uIGZvciB0aWVyIGxhYmVscyIpO3RoaXMuX3RpZXJMYWJlbFBvc2l0aW9ucz15O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O0EucHJvdG90eXBlLm1heFRpbWVJbnRlcnZhbFByZWNpc2lvbj1mdW5jdGlvbih5KXtpZihudWxsPT15KXJldHVybiB0aGlzLl9tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb247dGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uPXk7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307QS5wcm90b3R5cGUuY3VycmVudEF4aXNDb25maWd1cmF0aW9uPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF19O0EucHJvdG90eXBlLmF4aXNDb25maWd1cmF0aW9ucz1mdW5jdGlvbih5KXtpZihudWxsIT15KXt0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnM9eTt0aGlzLl9udW1UaWVycz1uLk1hdGgubWF4KHRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucy5tYXAoZnVuY3Rpb24oRyl7cmV0dXJuIEcubGVuZ3RofSksMCk7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5fc2V0dXBEb21FbGVtZW50cygpO3k9dGhpcy50aWVyTGFiZWxQb3NpdGlvbnMoKTtmb3IodmFyIHg9W10sQz0wO0M8dGhpcy5fbnVtVGllcnM7QysrKXgucHVzaCh5W0NdfHwiYmV0d2VlbiIpO3RoaXMudGllckxhYmVsUG9zaXRpb25zKHgpO3RoaXMucmVkcmF3KCl9fTtBLnByb3RvdHlwZS5fZ2V0TW9zdFByZWNpc2VDb25maWd1cmF0aW9uSW5kZXg9CmZ1bmN0aW9uKCl7dmFyIHk9dGhpcyx4PXRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucy5sZW5ndGg7dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmZvckVhY2goZnVuY3Rpb24oQyxHKXtHPHgmJkMuZXZlcnkoZnVuY3Rpb24oRCl7cmV0dXJuIHkuX2NoZWNrVGltZUF4aXNUaWVyQ29uZmlndXJhdGlvbihEKX0pJiYoeD1HKX0pO3g9PT10aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnMubGVuZ3RoJiYobi5XaW5kb3cud2Fybigiem9vbWVkIG91dCB0b28gZmFyOiBjb3VsZCBub3QgZmluZCBzdWl0YWJsZSBpbnRlcnZhbCB0byBkaXNwbGF5IGxhYmVscyIpLC0teCk7cmV0dXJuIHh9O0EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHkpe2lmKHkmJigicmlnaHQiPT09eS50b0xvd2VyQ2FzZSgpfHwibGVmdCI9PT15LnRvTG93ZXJDYXNlKCkpKXRocm93IEVycm9yKHkrIiBpcyBub3QgYSBzdXBwb3J0ZWQgb3JpZW50YXRpb24gZm9yIFRpbWVBeGlzIC0gb25seSBob3Jpem9udGFsIG9yaWVudGF0aW9ucyBhcmUgc3VwcG9ydGVkIik7CnJldHVybiB3LnByb3RvdHlwZS5vcmllbnRhdGlvbi5jYWxsKHRoaXMseSl9O0EucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7dmFyIHk9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt0aGlzLl90aWVySGVpZ2h0cz1bXTtmb3IodmFyIHg9MDt4PHRoaXMuX251bVRpZXJzO3grKyl0aGlzLl90aWVySGVpZ2h0cy5wdXNoKHkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrKCJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT8wOnRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpKSk7cmV0dXJuIHIuc3VtKHRoaXMuX3RpZXJIZWlnaHRzKX07QS5wcm90b3R5cGUuX2dldEludGVydmFsTGVuZ3RoPWZ1bmN0aW9uKHkpe3ZhciB4PXRoaXMuX3NjYWxlLmRvbWFpbigpWzBdO3k9bS5UaW1lLnRpbWVJbnRlcnZhbFRvRDNUaW1lKHkuaW50ZXJ2YWwpLm9mZnNldCh4LHkuc3RlcCk7cmV0dXJuIHk+dGhpcy5fc2NhbGUuZG9tYWluKClbMV0/dGhpcy53aWR0aCgpOgpNYXRoLmFicyh0aGlzLl9zY2FsZS5zY2FsZSh5KS10aGlzLl9zY2FsZS5zY2FsZSh4KSl9O0EucHJvdG90eXBlLl9tYXhXaWR0aEZvckludGVydmFsPWZ1bmN0aW9uKHkpe3JldHVybiB0aGlzLl9tZWFzdXJlci5tZWFzdXJlKHkuZm9ybWF0dGVyKEEuX0xPTkdfREFURSkpLndpZHRofTtBLnByb3RvdHlwZS5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uPWZ1bmN0aW9uKHkpe2lmKG51bGwhPXRoaXMuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbil7dmFyIHg9QS5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVhbdGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uXSxDPUEuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYW3kuaW50ZXJ2YWxdO2lmKG51bGwhPXgmJm51bGwhPUMmJkM8eClyZXR1cm4hMX14PXRoaXMuX21heFdpZHRoRm9ySW50ZXJ2YWwoeSkrMip0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTtyZXR1cm4gTWF0aC5taW4odGhpcy5fZ2V0SW50ZXJ2YWxMZW5ndGgoeSksCnRoaXMud2lkdGgoKSk+PXh9O0EucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHkseCl7dmFyIEM9dy5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXIuY2FsbCh0aGlzLHkseCk7eT10aGlzLl90aWVySGVpZ2h0cy5yZWR1Y2UoZnVuY3Rpb24oRyxEKXtyZXR1cm4gRytEPkMuaGVpZ2h0P0c6RytEfSk7eD10aGlzLm1hcmdpbigpKyh0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpP3RoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKnRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk6MCk7Qy5oZWlnaHQ9TWF0aC5taW4oQy5oZWlnaHQseSt4KTtyZXR1cm4gQ307QS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dy5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fc2V0dXBEb21FbGVtZW50cygpfTtBLnByb3RvdHlwZS5fc2V0dXBEb21FbGVtZW50cz1mdW5jdGlvbigpe3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiLiIrQS5USU1FX0FYSVNfVElFUl9DTEFTUykucmVtb3ZlKCk7CnRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnM9W107dGhpcy5fdGllck1hcmtDb250YWluZXJzPVtdO3RoaXMuX3RpZXJCYXNlbGluZXM9W107dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnJlbW92ZSgpO3RoaXMuX2Jhc2VsaW5lLnJlbW92ZSgpO2Zvcih2YXIgeT0wO3k8dGhpcy5fbnVtVGllcnM7Kyt5KXt2YXIgeD10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKEEuVElNRV9BWElTX1RJRVJfQ0xBU1MsITApO3RoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnMucHVzaCh4LmFwcGVuZCgiZyIpLmNsYXNzZWQocS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKSk7dGhpcy5fdGllck1hcmtDb250YWluZXJzLnB1c2goeC5hcHBlbmQoImciKS5jbGFzc2VkKHEuQXhpcy5USUNLX01BUktfQ0xBU1MrIi1jb250YWluZXIiLCEwKSk7dGhpcy5fdGllckJhc2VsaW5lcy5wdXNoKHguYXBwZW5kKCJsaW5lIikuY2xhc3NlZCgiYmFzZWxpbmUiLCEwKSl9eT1uZXcgbC5TdmdDb250ZXh0KHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbMF0ubm9kZSgpKTsKdGhpcy5fbWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih5KX07QS5wcm90b3R5cGUuX2dldFRpY2tJbnRlcnZhbFZhbHVlcz1mdW5jdGlvbih5KXtyZXR1cm4gdGhpcy5fc2NhbGUudGlja0ludGVydmFsKHkuaW50ZXJ2YWwseS5zdGVwKX07QS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgeT10aGlzO3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF0ucmVkdWNlKGZ1bmN0aW9uKHgsQyl7cmV0dXJuIHguY29uY2F0KHkuX2dldFRpY2tJbnRlcnZhbFZhbHVlcyhDKSl9LFtdKX07QS5wcm90b3R5cGUuX2NsZWFuVGllcnM9ZnVuY3Rpb24oKXtmb3IodmFyIHk9MDt5PHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnMubGVuZ3RoO3krKyl0aGlzLl90aWVyTGFiZWxDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLnJlbW92ZSgpLHRoaXMuX3RpZXJNYXJrQ29udGFpbmVyc1t5XS5zZWxlY3RBbGwoIi4iKwpxLkF4aXMuVElDS19NQVJLX0NMQVNTKS5yZW1vdmUoKSx0aGlzLl90aWVyQmFzZWxpbmVzW3ldLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9O0EucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbj1mdW5jdGlvbih5KXt5PXRoaXMuX3NjYWxlLnRpY2tJbnRlcnZhbCh5LmludGVydmFsLHkuc3RlcCk7dmFyIHg9dGhpcy5fc2NhbGUuZG9tYWluKCksQz15Lm1hcChmdW5jdGlvbihHKXtyZXR1cm4gRy52YWx1ZU9mKCl9KTstMT09PUMuaW5kZXhPZih4WzBdLnZhbHVlT2YoKSkmJnkudW5zaGlmdCh4WzBdKTstMT09PUMuaW5kZXhPZih4WzFdLnZhbHVlT2YoKSkmJnkucHVzaCh4WzFdKTtyZXR1cm4geX07QS5wcm90b3R5cGUuX3JlbmRlclRpZXJMYWJlbHM9ZnVuY3Rpb24oeSx4LEMpe3ZhciBHPXRoaXMsRD10aGlzLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbih4KSxCPVtdOyJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tDXSYmCjE9PT14LnN0ZXA/RC5tYXAoZnVuY3Rpb24oTyxTKXtTKzE+PUQubGVuZ3RofHxCLnB1c2gobmV3IERhdGUoKERbUysxXS52YWx1ZU9mKCktRFtTXS52YWx1ZU9mKCkpLzIrRFtTXS52YWx1ZU9mKCkpKX0pOkI9RDt5PXkuc2VsZWN0QWxsKCIuIitxLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShCLGZ1bmN0aW9uKE8pe3JldHVybiBTdHJpbmcoTy52YWx1ZU9mKCkpfSk7dmFyIEg9eS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQocS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsITApO0guYXBwZW5kKCJ0ZXh0Iik7dmFyIEs9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbQ118fDE9PT14LnN0ZXA/MDp0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTt2YXIgTD0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT9yLnN1bSh0aGlzLl90aWVySGVpZ2h0cy5zbGljZSgwLEMrMSkpLXRoaXMudGlja0xhYmVsUGFkZGluZygpOiJjZW50ZXIiPT09dGhpcy5fdGllckxhYmVsUG9zaXRpb25zW0NdPwp0aGlzLmhlaWdodCgpLXIuc3VtKHRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsQykpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpOnRoaXMuaGVpZ2h0KCktci5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxDKSktdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7SD15Lm1lcmdlKEgpO3ZhciBKPUguc2VsZWN0QWxsKCJ0ZXh0Iik7MDxKLnNpemUoKSYmSi5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitLKyIsIitMKyIpIik7eS5leGl0KCkucmVtb3ZlKCk7SC5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKE8pe3JldHVybiJ0cmFuc2xhdGUoIitHLl9zY2FsZS5zY2FsZShPKSsiLDApIn0pO0M9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbQ118fDE9PT14LnN0ZXA/Im1pZGRsZSI6InN0YXJ0IjtILnNlbGVjdEFsbCgidGV4dCIpLnRleHQoeC5mb3JtYXR0ZXIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsQyl9O0EucHJvdG90eXBlLl9yZW5kZXJUaWNrTWFya3M9CmZ1bmN0aW9uKHkseCl7eT10aGlzLl90aWVyTWFya0NvbnRhaW5lcnNbeF0uc2VsZWN0QWxsKCIuIitxLkF4aXMuVElDS19NQVJLX0NMQVNTKS5kYXRhKHkpO3ZhciBDPXkuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKHEuQXhpcy5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKHkpLEc9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCksRD10aGlzLl90aWVySGVpZ2h0cy5zbGljZSgwLHgpLnJlZHVjZShmdW5jdGlvbihCLEgpe3JldHVybiBCK0h9LDApOyJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpPyhHLnkxPUQsRy55Mj1EKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT90aGlzLmlubmVyVGlja0xlbmd0aCgpOnRoaXMuX3RpZXJIZWlnaHRzW3hdKSk6KEcueTE9dGhpcy5oZWlnaHQoKS1ELEcueTI9dGhpcy5oZWlnaHQoKS0oRCsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbeF0/dGhpcy5pbm5lclRpY2tMZW5ndGgoKToKdGhpcy5fdGllckhlaWdodHNbeF0pKSk7Qy5hdHRycyhHKTsiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oRy55MT1ELEcueTI9RCsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbeF0/dGhpcy5lbmRUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbeF0pKTooRy55MT10aGlzLmhlaWdodCgpLUQsRy55Mj10aGlzLmhlaWdodCgpLShEKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT90aGlzLmVuZFRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1t4XSkpKTtyLnNlbGVjdChDLm5vZGVzKClbMF0pLmF0dHJzKEcpO3Iuc2VsZWN0KEMubm9kZXMoKVtDLnNpemUoKS0xXSkuYXR0cnMoRyk7ci5zZWxlY3QoQy5ub2RlcygpWzBdKS5jbGFzc2VkKHEuQXhpcy5FTkRfVElDS19NQVJLX0NMQVNTLCEwKTtyLnNlbGVjdChDLm5vZGVzKClbQy5zaXplKCktMV0pLmNsYXNzZWQocS5BeGlzLkVORF9USUNLX01BUktfQ0xBU1MsITApO3kuZXhpdCgpLnJlbW92ZSgpfTsKQS5wcm90b3R5cGUuX3JlbmRlckxhYmVsbGVzc1RpY2tNYXJrcz1mdW5jdGlvbih5KXt5PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh5KTt2YXIgeD15LmVudGVyKCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChxLkF4aXMuVElDS19NQVJLX0NMQVNTLCEwKS5tZXJnZSh5KSxDPXRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpO0MueTI9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/dGhpcy50aWNrTGFiZWxQYWRkaW5nKCk6dGhpcy5oZWlnaHQoKS10aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTt4LmF0dHJzKEMpO3kuZXhpdCgpLnJlbW92ZSgpfTtBLnByb3RvdHlwZS5fZ2VuZXJhdGVMYWJlbGxlc3NUaWNrcz1mdW5jdGlvbigpe3JldHVybiAxPnRoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXg/W106dGhpcy5fZ2V0VGlja0ludGVydmFsVmFsdWVzKHRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9uc1t0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4LQoxXVswXSl9O0EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHk9dGhpczt0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4PXRoaXMuX2dldE1vc3RQcmVjaXNlQ29uZmlndXJhdGlvbkluZGV4KCk7dmFyIHg9dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXhdO3RoaXMuX2NsZWFuVGllcnMoKTt4LmZvckVhY2goZnVuY3Rpb24oSCxLKXtyZXR1cm4geS5fcmVuZGVyVGllckxhYmVscyh5Ll90aWVyTGFiZWxDb250YWluZXJzW0tdLEgsSyl9KTtmb3IodmFyIEM9eC5tYXAoZnVuY3Rpb24oSCl7cmV0dXJuIHkuX2dldFRpY2tWYWx1ZXNGb3JDb25maWd1cmF0aW9uKEgpfSksRz0wLEQ9MDtEPE1hdGgubWF4KHgubGVuZ3RoLDEpOysrRCl7dmFyIEI9dGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCk7Qi55MSs9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/RzotRztCLnkyPUIueTE7CnRoaXMuX3RpZXJCYXNlbGluZXNbRF0uYXR0cnMoQikuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iik7Rys9dGhpcy5fdGllckhlaWdodHNbRF19Rz1bXTtEPXRoaXMuX3NjYWxlLmRvbWFpbigpO0Q9dGhpcy5fc2NhbGUuc2NhbGUoRFsxXSktdGhpcy5fc2NhbGUuc2NhbGUoRFswXSk7MS41KnRoaXMuX2dldEludGVydmFsTGVuZ3RoKHhbMF0pPj1EJiYoRz10aGlzLl9nZW5lcmF0ZUxhYmVsbGVzc1RpY2tzKCkpO3RoaXMuX3JlbmRlckxhYmVsbGVzc1RpY2tNYXJrcyhHKTt0aGlzLl9oaWRlT3ZlcmZsb3dpbmdUaWVycygpO2ZvcihEPTA7RDx4Lmxlbmd0aDsrK0QpdGhpcy5fcmVuZGVyVGlja01hcmtzKENbRF0sRCksdGhpcy5faGlkZU92ZXJsYXBwaW5nQW5kQ3V0T2ZmTGFiZWxzKEQpO3RoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKTtyZXR1cm4gdGhpc307QS5wcm90b3R5cGUuX2hpZGVPdmVyZmxvd2luZ1RpZXJzPQpmdW5jdGlvbigpe3ZhciB5PXRoaXMseD10aGlzLmhlaWdodCgpLEM9MDt0aGlzLmNvbnRlbnQoKS5zZWxlY3RBbGwoIi4iK0EuVElNRV9BWElTX1RJRVJfQ0xBU1MpLmF0dHIoInZpc2liaWxpdHkiLGZ1bmN0aW9uKEcsRCl7Qys9eS5fdGllckhlaWdodHNbRF07cmV0dXJuIEM8PXg/ImluaGVyaXQiOiJoaWRkZW4ifSl9O0EucHJvdG90eXBlLl9oaWRlT3ZlcmxhcHBpbmdBbmRDdXRPZmZMYWJlbHM9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geChIKXtyZXR1cm4gTWF0aC5mbG9vcihHLmxlZnQpPD1NYXRoLmNlaWwoSC5sZWZ0KSYmTWF0aC5mbG9vcihHLnRvcCk8PU1hdGguY2VpbChILnRvcCkmJk1hdGguZmxvb3IoSC5yaWdodCk8PU1hdGguY2VpbChHLmxlZnQrQy53aWR0aCgpKSYmTWF0aC5mbG9vcihILmJvdHRvbSk8PU1hdGguY2VpbChHLnRvcCtDLmhlaWdodCgpKX12YXIgQz10aGlzLEc9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEQ9dGhpcy5fdGllck1hcmtDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrCnEuQXhpcy5USUNLX01BUktfQ0xBU1MpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBIPXIuc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09SHx8ImluaGVyaXQiPT09SH0pLm5vZGVzKCkubWFwKGZ1bmN0aW9uKEgpe3JldHVybiBILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksQjt0aGlzLl90aWVyTGFiZWxDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBIPXIuc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09SHx8ImluaGVyaXQiPT09SH0pLmVhY2goZnVuY3Rpb24oSCxLKXtIPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIEw9ci5zZWxlY3QodGhpcyksSj1EW0tdLE89RFtLKzFdO0s9bnVsbCE9QiYmbi5ET00uY2xpZW50UmVjdHNPdmVybGFwKEgsQik7Sj1udWxsIT1KJiZuLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoSCwKSik7Tz1udWxsIT1PJiZuLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoSCxPKTsheChIKXx8S3x8Snx8Tz9MLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik6KEI9SCxMLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaW5oZXJpdCIpKX0pfTtBLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt3LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gQX0ocS5BeGlzKTtoLlRJTUVfQVhJU19USUVSX0NMQVNTPSJ0aW1lLWF4aXMtdGllciI7aC5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVg9KHU9e30sdVtmLlRpbWVJbnRlcnZhbC5zZWNvbmRdPTAsdVtmLlRpbWVJbnRlcnZhbC5taW51dGVdPTEsdVtmLlRpbWVJbnRlcnZhbC5ob3VyXT0yLHVbZi5UaW1lSW50ZXJ2YWwuZGF5XT0zLHVbZi5UaW1lSW50ZXJ2YWwud2Vla109NCx1W2YuVGltZUludGVydmFsLm1vbnRoXT01LHVbZi5UaW1lSW50ZXJ2YWwueWVhcl09CjYsdSk7aC5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlM9W1t7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6NSxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTAsZm9ybWF0dGVyOnAudGltZSgiJUk6JU06JVMgJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLnNlY29uZCxzdGVwOjE1LApmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MzAsZm9ybWF0dGVyOnAudGltZSgiJUk6JU06JVMgJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjUsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSwKW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5taW51dGUsc3RlcDoxMCxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubWludXRlLHN0ZXA6MTUsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjMwLGZvcm1hdHRlcjpwLnRpbWUoIiVJOiVNICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5ob3VyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlSSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LApzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLmhvdXIsc3RlcDozLGZvcm1hdHRlcjpwLnRpbWUoIiVJICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5ob3VyLHN0ZXA6Nixmb3JtYXR0ZXI6cC50aW1lKCIlSSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuaG91cixzdGVwOjEyLGZvcm1hdHRlcjpwLnRpbWUoIiVJICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVhICVlIil9LAp7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJWUiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlYiIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDozLGZvcm1hdHRlcjpwLnRpbWUoIiViIil9LAp7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDo2LGZvcm1hdHRlcjpwLnRpbWUoIiViIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIleSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MjUsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjUwLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSwKW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MTAwLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLnllYXIsc3RlcDoyMDAsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjUwMCxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MUUzLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XV07aC5fTE9OR19EQVRFPW5ldyBEYXRlKDk5OTksOCwyOSwxMiw1OSw5OTk5KTtmLlRpbWU9aDt2YXIgdX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9CnAucHJvdG90eXBlLG5ldyBtKX0scj1oKDEyKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAoKXt2YXIgbT1sLmNhbGwodGhpcyl8fHRoaXM7bS5fZGV0YWNoQ2FsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIG0ucmVtb3ZlKG4pfTtyZXR1cm4gbX1rKHAsbCk7cC5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKG0pe3ZhciBuPXRoaXM7bT1yLmNvZXJjZUV4dGVybmFsRDMobSk7bC5wcm90b3R5cGUuYW5jaG9yLmNhbGwodGhpcyxtKTt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBxLmFuY2hvcihuLmVsZW1lbnQoKSl9KTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7dGhpcy5fZm9yRWFjaChmdW5jdGlvbihtKXtyZXR1cm4gbS5yZW5kZXIoKX0pO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiaGFzKCkgaXMgbm90IGltcGxlbWVudGVkIG9uIENvbXBvbmVudENvbnRhaW5lciIpO307cC5wcm90b3R5cGUuX2Fkb3B0QW5kQW5jaG9yPQpmdW5jdGlvbihtKXttLnBhcmVudCh0aGlzKTttLm9uRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKTt0aGlzLl9pc0FuY2hvcmVkJiZtLmFuY2hvcih0aGlzLmVsZW1lbnQoKSl9O3AucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihtKXt0aGlzLmhhcyhtKSYmKG0ub2ZmRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKSx0aGlzLl9yZW1vdmUobSksbS5kZXRhY2goKSx0aGlzLnJlZHJhdygpKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbigpe307cC5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiX2ZvckVhY2goKSBpcyBub3QgaW1wbGVtZW50ZWQgb24gQ29tcG9uZW50Q29udGFpbmVyIik7fTtwLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX2ZvckVhY2goZnVuY3Rpb24obSl7cmV0dXJuIG0uZGVzdHJveSgpfSl9O3AucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT0KZnVuY3Rpb24oKXt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKG0pe3JldHVybiBtLmludmFsaWRhdGVDYWNoZSgpfSl9O3JldHVybiBwfShoKDQpLkNvbXBvbmVudCk7Zi5Db21wb25lbnRDb250YWluZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoQSl7bi5hZGQoQSk7bS5hZGQoQSk7cigpfWZ1bmN0aW9uIHIoKXtxfHwocT0hMCx3LnJlbmRlcigpKX12YXIgbD1oKDApO2Q9aCgxMCk7dmFyIHA9aCgzOSksbT1uZXcgbC5TZXQsbj1uZXcgbC5TZXQscT0hMSx1PSExO2YuUG9saWN5PWQubWFrZUVudW0oWyJpbW1lZGlhdGUiLCJhbmltYXRpb25GcmFtZSIsInRpbWVvdXQiXSk7dmFyIHc9bmV3IHAuQW5pbWF0aW9uRnJhbWU7Zi5yZW5kZXJQb2xpY3k9ZnVuY3Rpb24oQSl7aWYobnVsbD09QSlyZXR1cm4gdztzd2l0Y2goQSl7Y2FzZSBmLlBvbGljeS5pbW1lZGlhdGU6dz1uZXcgcC5JbW1lZGlhdGU7YnJlYWs7Y2FzZSBmLlBvbGljeS5hbmltYXRpb25GcmFtZTp3PW5ldyBwLkFuaW1hdGlvbkZyYW1lOwpicmVhaztjYXNlIGYuUG9saWN5LnRpbWVvdXQ6dz1uZXcgcC5UaW1lb3V0O2JyZWFrO2RlZmF1bHQ6bC5XaW5kb3cud2FybigiVW5yZWNvZ25pemVkIHJlbmRlclBvbGljeTogIitBKX19O2YucmVnaXN0ZXJUb1JlbmRlcj1mdW5jdGlvbihBKXt1JiZsLldpbmRvdy53YXJuKCJSZWdpc3RlcmVkIHRvIHJlbmRlciB3aGlsZSBvdGhlciBjb21wb25lbnRzIGFyZSBmbHVzaGluZzogcmVxdWVzdCBtYXkgYmUgaWdub3JlZCIpO20uYWRkKEEpO3IoKX07Zi5yZWdpc3RlclRvQ29tcHV0ZUxheW91dEFuZFJlbmRlcj1rO2YucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oQSl7ayhBKX07Zi5mbHVzaD1mdW5jdGlvbigpe2lmKHEpe24uZm9yRWFjaChmdW5jdGlvbih5KXtyZXR1cm4geS5jb21wdXRlTGF5b3V0KCl9KTttLmZvckVhY2goZnVuY3Rpb24oeSl7cmV0dXJuIHkucmVuZGVyKCl9KTt1PSEwO3ZhciBBPW5ldyBsLlNldDttLmZvckVhY2goZnVuY3Rpb24oeSl7dHJ5e3kucmVuZGVySW1tZWRpYXRlbHkoKX1jYXRjaCh4KXt3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IHg7Cn0sMCksQS5hZGQoeSl9fSk7bj1uZXcgbC5TZXQ7bT1BO3U9cT0hMX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKTtmLmNpcmNsZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gay5zeW1ib2woKS50eXBlKGsuc3ltYm9sQ2lyY2xlKS5zaXplKE1hdGguUEkqTWF0aC5wb3cobC8yLDIpKX19O2Yuc3F1YXJlPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xTcXVhcmUpLnNpemUoTWF0aC5wb3cobCwyKSl9fTtmLmNyb3NzPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xDcm9zcykuc2l6ZSg1LzkqTWF0aC5wb3cobCwyKSl9fTtmLmRpYW1vbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIGsuc3ltYm9sKCkudHlwZShrLnN5bWJvbERpYW1vbmQpLnNpemUoTWF0aC50YW4oTWF0aC5QSS82KSpNYXRoLnBvdyhsLDIpLwoyKX19O2YudHJpYW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIGsuc3ltYm9sKCkudHlwZShrLnN5bWJvbFRyaWFuZ2xlKS5zaXplKE1hdGguc3FydCgzKSpNYXRoLnBvdyhsLzIsMikpfX07Zi5zdGFyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xTdGFyKS5zaXplKC44OTA4MTMwOTE1MjkyODUyKk1hdGgucG93KGwvMiwyKSl9fTt2YXIgcj0zKigxL01hdGguc3FydCgxMikvMisxKTtmLnd5ZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gay5zeW1ib2woKS50eXBlKGsuc3ltYm9sV3llKS5zaXplKHIqTWF0aC5wb3cobC8yLjQsMikpfX19LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJihuW3ddPQpxW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCgyNSksbD1oKDApLHA9aCgxMiksbT1oKDM3KTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fZGV0ZWN0aW9uUmFkaXVzPTM7dS5fcmVzaXphYmxlPSExO3UuX21vdmFibGU9ITE7dS5faGFzQ29ybmVycz0hMDt1LmFkZENsYXNzKCJkcmFnLWJveC1sYXllciIpO3UuX2RyYWdJbnRlcmFjdGlvbj1uZXcgci5EcmFnO3UuX3NldFVwQ2FsbGJhY2tzKCk7dS5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHUpO3UuX2RyYWdTdGFydENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDt1Ll9kcmFnQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3UuX2RyYWdFbmRDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7cmV0dXJuIHV9ayhxLG4pO3EucHJvdG90eXBlLl9zZXRVcENhbGxiYWNrcz1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoSCwKSyl7MD09PUImJkgueD09PUsueCYmSC55PT09Sy55JiZ5LmJveFZpc2libGUoITEpO3kuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5LmJvdW5kcygpKX1mdW5jdGlvbiB3KEgsSyl7c3dpdGNoKEIpe2Nhc2UgMDpHLng9Sy54O0cueT1LLnk7YnJlYWs7Y2FzZSAxOnguYm90dG9tP0cueT1LLnk6eC50b3AmJihDLnk9Sy55KTt4LnJpZ2h0P0cueD1LLng6eC5sZWZ0JiYoQy54PUsueCk7YnJlYWs7Y2FzZSAyOkg9Sy54LUQueDt2YXIgTD1LLnktRC55O0MueCs9SDtDLnkrPUw7Ry54Kz1IO0cueSs9TDtEPUt9eS5fc2V0Qm91bmRzKHt0b3BMZWZ0OkMsYm90dG9tUmlnaHQ6R30pO3kuX3hCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueFNjYWxlKCkmJnkuX3NldFhFeHRlbnQoW3kueFNjYWxlKCkuaW52ZXJ0KEMueCkseS54U2NhbGUoKS5pbnZlcnQoRy54KV0pO3kuX3lCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueVNjYWxlKCkmJgp5Ll9zZXRZRXh0ZW50KFt5LnlTY2FsZSgpLmludmVydChDLnkpLHkueVNjYWxlKCkuaW52ZXJ0KEcueSldKTt5LnJlbmRlcigpO3kuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5LmJvdW5kcygpKX1mdW5jdGlvbiBBKEgpe3g9eS5fZ2V0UmVzaXppbmdFZGdlcyhIKTt2YXIgSz15LmJvdW5kcygpO0s9Sy50b3BMZWZ0Lng8PUgueCYmSC54PD1LLmJvdHRvbVJpZ2h0LngmJksudG9wTGVmdC55PD1ILnkmJkgueTw9Sy5ib3R0b21SaWdodC55O3kuYm94VmlzaWJsZSgpJiYoeC50b3B8fHguYm90dG9tfHx4LmxlZnR8fHgucmlnaHQpP0I9MTp5LmJveFZpc2libGUoKSYmeS5tb3ZhYmxlKCkmJks/Qj0yOihCPTAseS5fc2V0Qm91bmRzKHt0b3BMZWZ0OkgsYm90dG9tUmlnaHQ6SH0pLHkuX3hCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueFNjYWxlKCkmJnkuX3NldFhFeHRlbnQoW3kueFNjYWxlKCkuaW52ZXJ0KEgueCkseS54U2NhbGUoKS5pbnZlcnQoSC54KV0pLAp5Ll95Qm91bmRzTW9kZT09PW0uUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT15LnlTY2FsZSgpJiZ5Ll9zZXRZRXh0ZW50KFt5LnlTY2FsZSgpLmludmVydChILnkpLHkueVNjYWxlKCkuaW52ZXJ0KEgueSldKSx5LnJlbmRlcigpKTt5LmJveFZpc2libGUoITApO0s9eS5ib3VuZHMoKTtDPXt4OksudG9wTGVmdC54LHk6Sy50b3BMZWZ0Lnl9O0c9e3g6Sy5ib3R0b21SaWdodC54LHk6Sy5ib3R0b21SaWdodC55fTtEPUg7eS5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoSyl9dmFyIHk9dGhpcyx4LEMsRyxELEI9MDt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQoQSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZyh3KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKHUpO3RoaXMuX2Rpc2Nvbm5lY3RJbnRlcmFjdGlvbj1mdW5jdGlvbigpe3kuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnU3RhcnQoQSk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWcodyk7CnkuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKHUpO3kuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX19O3EucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoKXtyZXR1cm4gdy5fYm94LmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLHN0cm9rZToicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZVN0cm9rZSJ9KX12YXIgdz10aGlzO24ucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2RldGVjdGlvbkVkZ2VUPXUoKS5jbGFzc2VkKCJkcmFnLWVkZ2UtdGIiLCEwKTt0aGlzLl9kZXRlY3Rpb25FZGdlQj11KCkuY2xhc3NlZCgiZHJhZy1lZGdlLXRiIiwhMCk7dGhpcy5fZGV0ZWN0aW9uRWRnZUw9dSgpLmNsYXNzZWQoImRyYWctZWRnZS1sciIsITApO3RoaXMuX2RldGVjdGlvbkVkZ2VSPXUoKS5jbGFzc2VkKCJkcmFnLWVkZ2UtbHIiLCEwKTtpZih0aGlzLl9oYXNDb3JuZXJzKXt2YXIgQT1mdW5jdGlvbigpe3JldHVybiB3Ll9ib3guYXBwZW5kKCJjaXJjbGUiKS5zdHlsZXMoe29wYWNpdHk6MCwKZmlsbDoicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZUZpbGwifSl9O3RoaXMuX2RldGVjdGlvbkNvcm5lclRMPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci10bCIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lclRSPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci10ciIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lckJMPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci1ibCIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lckJSPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci1iciIsITApfX07cS5wcm90b3R5cGUuX2dldFJlc2l6aW5nRWRnZXM9ZnVuY3Rpb24odSl7dmFyIHc9e3RvcDohMSxib3R0b206ITEsbGVmdDohMSxyaWdodDohMX07aWYoIXRoaXMucmVzaXphYmxlKCkpcmV0dXJuIHc7dmFyIEE9dGhpcy5ib3VuZHMoKSx5PUEudG9wTGVmdC55LHg9QS5ib3R0b21SaWdodC55LEM9QS50b3BMZWZ0Lng7QT1BLmJvdHRvbVJpZ2h0Lng7dmFyIEc9dGhpcy5fZGV0ZWN0aW9uUmFkaXVzOwpDLUc8PXUueCYmdS54PD1BK0cmJih3LnRvcD15LUc8PXUueSYmdS55PD15K0csdy5ib3R0b209eC1HPD11LnkmJnUueTw9eCtHKTt5LUc8PXUueSYmdS55PD14K0cmJih3LmxlZnQ9Qy1HPD11LngmJnUueDw9QytHLHcucmlnaHQ9QS1HPD11LngmJnUueDw9QStHKTtyZXR1cm4gd307cS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtuLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO2lmKHRoaXMuYm94VmlzaWJsZSgpKXt2YXIgdT10aGlzLmJvdW5kcygpLHc9dS50b3BMZWZ0LnksQT11LmJvdHRvbVJpZ2h0LnkseT11LnRvcExlZnQueDt1PXUuYm90dG9tUmlnaHQueDt0aGlzLl9kZXRlY3Rpb25FZGdlVC5hdHRycyh7eDE6eSx5MTp3LHgyOnUseTI6dywic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pO3RoaXMuX2RldGVjdGlvbkVkZ2VCLmF0dHJzKHt4MTp5LHkxOkEseDI6dSx5MjpBLCJzdHJva2Utd2lkdGgiOjIqCnRoaXMuX2RldGVjdGlvblJhZGl1c30pO3RoaXMuX2RldGVjdGlvbkVkZ2VMLmF0dHJzKHt4MTp5LHkxOncseDI6eSx5MjpBLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSk7dGhpcy5fZGV0ZWN0aW9uRWRnZVIuYXR0cnMoe3gxOnUseTE6dyx4Mjp1LHkyOkEsInN0cm9rZS13aWR0aCI6Mip0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KTt0aGlzLl9oYXNDb3JuZXJzJiYodGhpcy5fZGV0ZWN0aW9uQ29ybmVyVEwuYXR0cnMoe2N4OnksY3k6dyxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkNvcm5lclRSLmF0dHJzKHtjeDp1LGN5Oncscjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCTC5hdHRycyh7Y3g6eSxjeTpBLHI6dGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uQ29ybmVyQlIuYXR0cnMoe2N4OnUsY3k6QSxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pKX1yZXR1cm4gdGhpc307CnEucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXN9O3EucHJvdG90eXBlLnJlc2l6YWJsZT1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9yZXNpemFibGU7dGhpcy5fcmVzaXphYmxlPXU7dGhpcy5fc2V0UmVzaXphYmxlQ2xhc3Nlcyh1KTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24odSl7dSYmdGhpcy5lbmFibGVkKCk/KHRoaXMuYWRkQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKSk6KHRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5yZW1vdmVDbGFzcygieS1yZXNpemFibGUiKSl9O3EucHJvdG90eXBlLm1vdmFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbW92YWJsZX07cS5wcm90b3R5cGUuX3NldE1vdmFibGVDbGFzcz1mdW5jdGlvbigpe3RoaXMubW92YWJsZSgpJiZ0aGlzLmVuYWJsZWQoKT8KdGhpcy5hZGRDbGFzcygibW92YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIm1vdmFibGUiKX07cS5wcm90b3R5cGUub25EcmFnU3RhcnQ9ZnVuY3Rpb24odSl7dGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZCh1KX07cS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodSl9O3EucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbih1KXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZCh1KTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbih1KXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh1KX07cS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKHUpfTtxLnByb3RvdHlwZS5vZmZEcmFnRW5kPWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKHUpfTtxLnByb3RvdHlwZS5kcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufTsKcS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCgpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKHUpO3RoaXMuX3NldFJlc2l6YWJsZUNsYXNzZXModGhpcy5yZXNpemFibGUoKSk7dGhpcy5fc2V0TW92YWJsZUNsYXNzKCk7cmV0dXJuIHRoaXN9O3EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdT10aGlzO24ucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbih3KXtyZXR1cm4gdS5fZHJhZ0NhbGxiYWNrcy5kZWxldGUodyl9KTt0aGlzLl9kcmFnQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24odyl7cmV0dXJuIHUuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHcpfSk7dGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHcpe3JldHVybiB1Ll9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZSh3KX0pOwp0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX07cS5wcm90b3R5cGUuZGV0YWNoPWZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRTdGF0ZSgpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKTtuLnByb3RvdHlwZS5kZXRhY2guY2FsbCh0aGlzKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKHUpe3U9cC5jb2VyY2VFeHRlcm5hbEQzKHUpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKTtuLnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLHUpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5fcmVzZXRTdGF0ZT1mdW5jdGlvbigpe3RoaXMuYm91bmRzKHt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDowLHk6MH19KX07cmV0dXJuIHF9KGgoNDMpLlNlbGVjdGlvbkJveExheWVyKTtmLkRyYWdCb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9CnB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3JldHVybiBwLmNhbGwodGhpcywicGF0aCIsImxpbmUiKXx8dGhpc31rKG0scCk7bS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24obil7bi5zdHlsZSgiZmlsbCIsIm5vbmUiKX07bS5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbigpe3JldHVybiBwLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX07cmV0dXJuIG19KGgoOSkuU1ZHRHJhd2VyKTtmLkxpbmVTVkdEcmF3ZXI9ZDt2YXIgbD1bIm9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSIsInN0cm9rZS13aWR0aCIsInN0cm9rZSJdO2YubWFrZUxpbmVDYW52YXNEcmF3U3RlcD0KZnVuY3Rpb24ocCl7cmV0dXJuIGZ1bmN0aW9uKG0sbixxKXtxPXIucmVzb2x2ZUF0dHJpYnV0ZXMocSxsLG5bMF0sMCk7ci5yZW5kZXJMaW5lKG0scCgpLG5bMF0scSl9fX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2b2lkIDA9PT1uJiYobj0iIik7dmFyIHE9cC5jYWxsKHRoaXMsInJlY3QiLCIiKXx8dGhpcztxLl9yb290Q2xhc3NOYW1lPW47cS5fcm9vdC5jbGFzc2VkKHEuX3Jvb3RDbGFzc05hbWUsITApO3JldHVybiBxfWsobSxwKTtyZXR1cm4gbX0oaCg5KS5TVkdEcmF3ZXIpO2YuUmVjdGFuZ2xlU1ZHRHJhd2VyPQpkO3ZhciBsPVsieCIsInkiLCJ3aWR0aCIsImhlaWdodCJdO2YuUmVjdGFuZ2xlQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24ocCxtLG4pe3Auc2F2ZSgpO20uZm9yRWFjaChmdW5jdGlvbihxLHUpe251bGwhPXEmJihxPXIucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzKG4sbCxxLHUpLHAuYmVnaW5QYXRoKCkscC5yZWN0KHEueCxxLnkscS53aWR0aCxxLmhlaWdodCksci5yZW5kZXJQYXRoV2l0aFN0eWxlKHAscSkpfSk7cC5yZXN0b3JlKCl9O2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXtyZXR1cm4gcC5jYWxsKHRoaXMsbixmLlJlY3RhbmdsZUNhbnZhc0RyYXdTdGVwKXx8dGhpc31rKG0scCk7cmV0dXJuIG19KHIuQ2FudmFzRHJhd2VyKTtmLlJlY3RhbmdsZUNhbnZhc0RyYXdlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhwKXtsLlNIT1dfV0FSTklOR1MmJmNvbnNvbGUud2FybihwKX1mdW5jdGlvbiByKHAsbSl7Zm9yKHZhciBuPVtdLHE9MjtxPGFyZ3VtZW50cy5sZW5ndGg7cSsrKW5bcS0KMl09YXJndW1lbnRzW3FdO3JldHVybiAwPT09bT8ocChuKSwtMSk6d2luZG93LnNldFRpbWVvdXQocCxtLG4pfXZhciBsPWgoMjMpO2Yud2Fybj1rO2Yuc2V0VGltZW91dD1yO2YuZGVib3VuY2U9ZnVuY3Rpb24ocCxtLG4pe2Z1bmN0aW9uIHEoKXttLmFwcGx5KG4sdyl9dmFyIHU9bnVsbCx3PVtdO3JldHVybiBmdW5jdGlvbigpe3c9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtjbGVhclRpbWVvdXQodSk7dT1yKHEscCl9fTtmLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24ocCxtLG4pe3ZvaWQgMD09PW4mJihuPSIiKTtrKCJNZXRob2QgIitwKyIgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB2ZXJzaW9uICIrbSsiLiBQbGVhc2UgcmVmZXIgdG8gdGhlIHJlbGVhc2Ugbm90ZXMuICIrbil9fSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGspe3RoaXMucnVsZXI9bnVsbCE9ay5jcmVhdGVSdWxlcj9rLmNyZWF0ZVJ1bGVyKCk6a31oLnByb3RvdHlwZS5tZWFzdXJlPQpmdW5jdGlvbihrKXt2b2lkIDA9PT1rJiYoaz1oLkhFSUdIVF9URVhUKTtyZXR1cm4gdGhpcy5ydWxlcihrKX07cmV0dXJuIGh9KCk7ZC5IRUlHSFRfVEVYVD0iYmRwcWwiO2YuQWJzdHJhY3RNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMzIpKTtrKGgoNzQpKTtrKGgoNzUpKTtrKGgoNDEpKTtrKGgoNDIpKTtrKGgoNzYpKTtrKGgoNzcpKTtrKGgoNzgpKTtrKGgoNzkpKTtrKGgoNDMpKTtrKGgoODApKTtrKGgoODEpKTtrKGgoODIpKX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHIobCxwKXt2b2lkIDA9PT1sJiYobD1bXSk7dm9pZCAwPT09cCYmKHA9e30pO3RoaXMuX3VwZGF0ZUlkPTA7dGhpcy5fZGF0YT1sO3RoaXMuX21ldGFkYXRhPXA7dGhpcy5fY2FsbGJhY2tzPW5ldyBrLkNhbGxiYWNrU2V0fXIucHJvdG90eXBlLm9uVXBkYXRlPQpmdW5jdGlvbihsKXt0aGlzLl9jYWxsYmFja3MuYWRkKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5vZmZVcGRhdGU9ZnVuY3Rpb24obCl7dGhpcy5fY2FsbGJhY2tzLmRlbGV0ZShsKTtyZXR1cm4gdGhpc307ci5wcm90b3R5cGUuZGF0YT1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9kYXRhO3RoaXMuX2RhdGE9bDt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5tZXRhZGF0YT1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9tZXRhZGF0YTt0aGlzLl9tZXRhZGF0YT1sO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLnVwZGF0ZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZUlkfTtyLnByb3RvdHlwZS5fZGlzcGF0Y2hVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVJZCsrO3RoaXMuX2NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMpfTtyZXR1cm4gcn0oKTsKZi5EYXRhc2V0PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApLHI9aCgzMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGwoKXt9bC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7ci5mbHVzaCgpfTtyZXR1cm4gbH0oKTtmLkltbWVkaWF0ZT1kO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKCl7fWwucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe2suRE9NLnJlcXVlc3RBbmltYXRpb25GcmFtZVBvbHlmaWxsKHIuZmx1c2gpfTtyZXR1cm4gbH0oKTtmLkFuaW1hdGlvbkZyYW1lPWQ7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGwoKXt0aGlzLl90aW1lb3V0TXNlYz1rLkRPTS5TQ1JFRU5fUkVGUkVTSF9SQVRFX01JTExJU0VDT05EU31sLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KHIuZmx1c2gsdGhpcy5fdGltZW91dE1zZWMpfTtyZXR1cm4gbH0oKTtmLlRpbWVvdXQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLAptKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1wfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDEzKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49bnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO24uX2tleVByZXNzQ2FsbGJhY2tzPXt9O24uX2tleVJlbGVhc2VDYWxsYmFja3M9e307bi5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4hMX07bi5fZG93bmVkS2V5cz1uZXcgbC5TZXQ7bi5fa2V5RG93bkNhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUtleURvd25FdmVudChxLHUpfTtuLl9rZXlVcENhbGxiYWNrPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9oYW5kbGVLZXlVcEV2ZW50KHEpfTtyZXR1cm4gbn1rKG0scCk7Cm0ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX2tleURpc3BhdGNoZXI9ci5LZXkuZ2V0RGlzcGF0Y2hlcigpO3RoaXMuX2tleURpc3BhdGNoZXIub25LZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayk7dGhpcy5fa2V5RGlzcGF0Y2hlci5vbktleVVwKHRoaXMuX2tleVVwQ2FsbGJhY2spfTttLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXIub2ZmTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXI9bnVsbDsKdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayk7dGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKTt0aGlzLl9rZXlEaXNwYXRjaGVyPW51bGx9O20ucHJvdG90eXBlLl9oYW5kbGVLZXlEb3duRXZlbnQ9ZnVuY3Rpb24obixxKXt2YXIgdT10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5sYXN0TW91c2VQb3NpdGlvbigpKTt0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh1KSYmIXEucmVwZWF0JiYodGhpcy5fa2V5UHJlc3NDYWxsYmFja3Nbbl0mJnRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLmNhbGxDYWxsYmFja3MobiksdGhpcy5fZG93bmVkS2V5cy5hZGQobikpfTttLnByb3RvdHlwZS5faGFuZGxlS2V5VXBFdmVudD1mdW5jdGlvbihuKXt0aGlzLl9kb3duZWRLZXlzLmhhcyhuKSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXS5jYWxsQ2FsbGJhY2tzKG4pOwp0aGlzLl9kb3duZWRLZXlzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25LZXlQcmVzcz1mdW5jdGlvbihuLHEpe3RoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dfHwodGhpcy5fa2V5UHJlc3NDYWxsYmFja3Nbbl09bmV3IGwuQ2FsbGJhY2tTZXQpO3RoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLmFkZChxKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmS2V5UHJlc3M9ZnVuY3Rpb24obixxKXt0aGlzLl9rZXlQcmVzc0NhbGxiYWNrc1tuXS5kZWxldGUocSk7MD09PXRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlQcmVzc0NhbGxiYWNrc1tuXTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25LZXlSZWxlYXNlPWZ1bmN0aW9uKG4scSl7dGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXXx8KHRoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl09bmV3IGwuQ2FsbGJhY2tTZXQpO3RoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl0uYWRkKHEpO3JldHVybiB0aGlzfTsKbS5wcm90b3R5cGUub2ZmS2V5UmVsZWFzZT1mdW5jdGlvbihuLHEpe3RoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl0uZGVsZXRlKHEpOzA9PT10aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW25dLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW25dO3JldHVybiB0aGlzfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2YuS2V5PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDApO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtKXt2b2lkIDA9PT1tJiYobT1bXSk7dmFyIG49bC5jYWxsKHRoaXMpfHx0aGlzO24uX2NvbXBvbmVudHM9CltdO24uYWRkQ2xhc3MoImNvbXBvbmVudC1ncm91cCIpO20uZm9yRWFjaChmdW5jdGlvbihxKXtyZXR1cm4gbi5hcHBlbmQocSl9KTtyZXR1cm4gbn1rKHAsbCk7cC5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24obSl7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaChtKX07cC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKG0pe3JldHVybiAwPD10aGlzLl9jb21wb25lbnRzLmluZGV4T2YobSl9O3AucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKG0sbil7dmFyIHE9dGhpcy5fY29tcG9uZW50cy5tYXAoZnVuY3Rpb24odSl7cmV0dXJuIHUucmVxdWVzdGVkU3BhY2UobSxuKX0pO3JldHVybnttaW5XaWR0aDpyLk1hdGgubWF4KHEsZnVuY3Rpb24odSl7cmV0dXJuIHUubWluV2lkdGh9LDApLG1pbkhlaWdodDpyLk1hdGgubWF4KHEsZnVuY3Rpb24odSl7cmV0dXJuIHUubWluSGVpZ2h0fSwwKX19O3AucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24obSxuLHEpe3ZhciB1PQp0aGlzO2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLG0sbixxKTt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKHcpe3cuY29tcHV0ZUxheW91dCh7eDowLHk6MH0sdS53aWR0aCgpLHUuaGVpZ2h0KCkpfSk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKG0sbil7cmV0dXJue3dpZHRoOm0saGVpZ2h0Om59fTtwLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuZXZlcnkoZnVuY3Rpb24obSl7cmV0dXJuIG0uZml4ZWRXaWR0aCgpfSl9O3AucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuZXZlcnkoZnVuY3Rpb24obSl7cmV0dXJuIG0uZml4ZWRIZWlnaHQoKX0pfTtwLnByb3RvdHlwZS5jb21wb25lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuc2xpY2UoKX07cC5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKG0pe251bGw9PQptfHx0aGlzLmhhcyhtKXx8KG0uZGV0YWNoKCksdGhpcy5fY29tcG9uZW50cy5wdXNoKG0pLHRoaXMuX2Fkb3B0QW5kQW5jaG9yKG0pLHRoaXMucmVkcmF3KCkpO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fcmVtb3ZlPWZ1bmN0aW9uKG0pe209dGhpcy5fY29tcG9uZW50cy5pbmRleE9mKG0pOzA8PW0mJnRoaXMuX2NvbXBvbmVudHMuc3BsaWNlKG0sMSl9O3JldHVybiBwfShoKDI5KS5Db21wb25lbnRDb250YWluZXIpO2YuR3JvdXA9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfTtoKDApO2Q9aCg0KTt2YXIgcjsoZnVuY3Rpb24obCl7bFtsLlZBTFVFPTBdPQoiVkFMVUUiO2xbbC5QSVhFTD0xXT0iUElYRUwifSkocnx8KHI9e30pKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSl7dmFyIG49bC5jYWxsKHRoaXMpfHx0aGlzO24uX21vZGU9ci5WQUxVRTtpZihtIT09cC5PUklFTlRBVElPTl9WRVJUSUNBTCYmbSE9PXAuT1JJRU5UQVRJT05fSE9SSVpPTlRBTCl0aHJvdyBFcnJvcihtKyIgaXMgbm90IGEgdmFsaWQgb3JpZW50YXRpb24gZm9yIEd1aWRlTGluZUxheWVyIik7bi5fb3JpZW50YXRpb249bTtuLl9vdmVyZmxvd0hpZGRlbj0hMDtuLmFkZENsYXNzKCJndWlkZS1saW5lLWxheWVyIik7bi5faXNWZXJ0aWNhbCgpP24uYWRkQ2xhc3MoInZlcnRpY2FsIik6bi5hZGRDbGFzcygiaG9yaXpvbnRhbCIpO24uX3NjYWxlVXBkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtuLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCk7bi5yZW5kZXIoKX07cmV0dXJuIG59ayhwLGwpO3AucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2wucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpOwp0aGlzLl9ndWlkZUxpbmU9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZCgiZ3VpZGUtbGluZSIsITApfTtwLnByb3RvdHlwZS5fc2l6ZUZyb21PZmZlcj1mdW5jdGlvbihtLG4pe3JldHVybnt3aWR0aDptLGhlaWdodDpufX07cC5wcm90b3R5cGUuX2lzVmVydGljYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb3JpZW50YXRpb249PT1wLk9SSUVOVEFUSU9OX1ZFUlRJQ0FMfTtwLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3AucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9O3AucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24obSxuLHEpe2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLG0sbixxKTtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5zY2FsZSgpLnJhbmdlKFswLHRoaXMud2lkdGgoKV0pOnRoaXMuc2NhbGUoKS5yYW5nZShbdGhpcy5oZWlnaHQoKSwKMF0pKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3RoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKTt0aGlzLl9ndWlkZUxpbmUuYXR0cnMoe3gxOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLnBpeGVsUG9zaXRpb24oKTowLHkxOnRoaXMuX2lzVmVydGljYWwoKT8wOnRoaXMucGl4ZWxQb3NpdGlvbigpLHgyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLnBpeGVsUG9zaXRpb24oKTp0aGlzLndpZHRoKCkseTI6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMuaGVpZ2h0KCk6dGhpcy5waXhlbFBvc2l0aW9uKCl9KTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWU9ZnVuY3Rpb24oKXtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9tb2RlPT09ci5WQUxVRSYmbnVsbCE9dGhpcy52YWx1ZSgpP3RoaXMuX3BpeGVsUG9zaXRpb249CnRoaXMuc2NhbGUoKS5zY2FsZSh0aGlzLnZhbHVlKCkpOnRoaXMuX21vZGU9PT1yLlBJWEVMJiZudWxsIT10aGlzLnBpeGVsUG9zaXRpb24oKSYmKHRoaXMuX3ZhbHVlPXRoaXMuc2NhbGUoKS5pbnZlcnQodGhpcy5waXhlbFBvc2l0aW9uKCkpKSl9O3AucHJvdG90eXBlLl9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZT1mdW5jdGlvbihtKXt0aGlzLl9waXhlbFBvc2l0aW9uPW07bnVsbCE9dGhpcy5zY2FsZSgpJiYodGhpcy5fdmFsdWU9dGhpcy5zY2FsZSgpLmludmVydCh0aGlzLnBpeGVsUG9zaXRpb24oKSkpO3RoaXMucmVuZGVyKCl9O3AucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKG0pe2lmKG51bGw9PW0pcmV0dXJuIHRoaXMuX3NjYWxlO3ZhciBuPXRoaXMuX3NjYWxlO251bGwhPW4mJm4ub2ZmVXBkYXRlKHRoaXMuX3NjYWxlVXBkYXRlQ2FsbGJhY2spO3RoaXMuX3NjYWxlPW07dGhpcy5fc2NhbGUub25VcGRhdGUodGhpcy5fc2NhbGVVcGRhdGVDYWxsYmFjayk7CnRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl92YWx1ZTt0aGlzLl92YWx1ZT1tO3RoaXMuX21vZGU9ci5WQUxVRTt0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucGl4ZWxQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9waXhlbFBvc2l0aW9ufTtwLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO251bGwhPXRoaXMuc2NhbGUoKSYmdGhpcy5zY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKX07cmV0dXJuIHB9KGQuQ29tcG9uZW50KTtkLk9SSUVOVEFUSU9OX1ZFUlRJQ0FMPSJ2ZXJ0aWNhbCI7ZC5PUklFTlRBVElPTl9IT1JJWk9OVEFMPSJob3Jpem9udGFsIjsKZi5HdWlkZUxpbmVMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgwKTtkPWgoNCk7dmFyIGw7KGZ1bmN0aW9uKHApe3BbcC5WQUxVRT0wXT0iVkFMVUUiO3BbcC5QSVhFTD0xXT0iUElYRUwifSkobD1mLlByb3BlcnR5TW9kZXx8KGYuUHJvcGVydHlNb2RlPXt9KSk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO24uX2JveFZpc2libGU9ITE7bi5fYm94Qm91bmRzPXt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDowLHk6MH19O24uX3hCb3VuZHNNb2RlPWwuUElYRUw7bi5feUJvdW5kc01vZGU9CmwuUElYRUw7bi5hZGRDbGFzcygic2VsZWN0aW9uLWJveC1sYXllciIpO24uX2FkanVzdEJvdW5kc0NhbGxiYWNrPWZ1bmN0aW9uKCl7bi5yZW5kZXIoKX07bi5fb3ZlcmZsb3dIaWRkZW49ITA7bi5feEV4dGVudD1bdm9pZCAwLHZvaWQgMF07bi5feUV4dGVudD1bdm9pZCAwLHZvaWQgMF07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3AucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2JveD10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJzZWxlY3Rpb24tYm94IiwhMCkucmVtb3ZlKCk7dGhpcy5fYm94QXJlYT10aGlzLl9ib3guYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgic2VsZWN0aW9uLWFyZWEiLCEwKX07bS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24obixxKXtyZXR1cm57d2lkdGg6bixoZWlnaHQ6cX19O20ucHJvdG90eXBlLmJvdW5kcz1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9nZXRCb3VuZHMoKTsKdGhpcy5fc2V0Qm91bmRzKG4pO3RoaXMuX3lCb3VuZHNNb2RlPXRoaXMuX3hCb3VuZHNNb2RlPWwuUElYRUw7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbihuKXt0aGlzLl9ib3hCb3VuZHM9e3RvcExlZnQ6e3g6TWF0aC5taW4obi50b3BMZWZ0Lngsbi5ib3R0b21SaWdodC54KSx5Ok1hdGgubWluKG4udG9wTGVmdC55LG4uYm90dG9tUmlnaHQueSl9LGJvdHRvbVJpZ2h0Ont4Ok1hdGgubWF4KG4udG9wTGVmdC54LG4uYm90dG9tUmlnaHQueCkseTpNYXRoLm1heChuLnRvcExlZnQueSxuLmJvdHRvbVJpZ2h0LnkpfX19O20ucHJvdG90eXBlLl9nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWwuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1pbih0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSwKdGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVsxXSkpLHk6dGhpcy5feUJvdW5kc01vZGU9PT1sLlBJWEVMP3RoaXMuX2JveEJvdW5kcy50b3BMZWZ0Lnk6bnVsbD09dGhpcy5feVNjYWxlPzA6TWF0aC5taW4odGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVswXSksdGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVsxXSkpfSxib3R0b21SaWdodDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWwuUElYRUw/dGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0Lng6bnVsbD09dGhpcy5feFNjYWxlPzA6TWF0aC5tYXgodGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVswXSksdGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVsxXSkpLHk6dGhpcy5feUJvdW5kc01vZGU9PT1sLlBJWEVMP3RoaXMuX2JveEJvdW5kcy5ib3R0b21SaWdodC55Om51bGw9PXRoaXMuX3lTY2FsZT8wOk1hdGgubWF4KHRoaXMueVNjYWxlKCkuc2NhbGUodGhpcy55RXh0ZW50KClbMF0pLAp0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzFdKSl9fX07bS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO2lmKHRoaXMuX2JveFZpc2libGUpe3ZhciBuPXRoaXMuYm91bmRzKCkscT1uLnRvcExlZnQueSx1PW4uYm90dG9tUmlnaHQueSx3PW4udG9wTGVmdC54O249bi5ib3R0b21SaWdodC54O2lmKCEoci5NYXRoLmlzVmFsaWROdW1iZXIocSkmJnIuTWF0aC5pc1ZhbGlkTnVtYmVyKHUpJiZyLk1hdGguaXNWYWxpZE51bWJlcih3KSYmci5NYXRoLmlzVmFsaWROdW1iZXIobikpKXRocm93IEVycm9yKCJib3VuZHMgaGF2ZSBub3QgYmVlbiBwcm9wZXJseSBzZXQiKTt0aGlzLl9ib3hBcmVhLmF0dHJzKHt4OncseTpxLHdpZHRoOm4tdyxoZWlnaHQ6dS1xfSk7dGhpcy5jb250ZW50KCkubm9kZSgpLmFwcGVuZENoaWxkKHRoaXMuX2JveC5ub2RlKCkpfWVsc2UgdGhpcy5fYm94LnJlbW92ZSgpOwpyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuYm94VmlzaWJsZT1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9ib3hWaXNpYmxlO3RoaXMuX2JveFZpc2libGU9bjt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9O20ucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9O20ucHJvdG90eXBlLnhTY2FsZT1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl94U2NhbGU7bnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTt0aGlzLl94U2NhbGU9bjt0aGlzLl94Qm91bmRzTW9kZT1sLlZBTFVFO3RoaXMuX3hTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUueVNjYWxlPWZ1bmN0aW9uKG4pe2lmKG51bGw9PQpuKXJldHVybiB0aGlzLl95U2NhbGU7bnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTt0aGlzLl95U2NhbGU9bjt0aGlzLl95Qm91bmRzTW9kZT1sLlZBTFVFO3RoaXMuX3lTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRYRXh0ZW50KCl9O20ucHJvdG90eXBlLl9nZXRYRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3hCb3VuZHNNb2RlPT09bC5WQUxVRT90aGlzLl94RXh0ZW50Om51bGw9PXRoaXMuX3hTY2FsZT9bdm9pZCAwLHZvaWQgMF06W3RoaXMuX3hTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLnRvcExlZnQueCksdGhpcy5feFNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueCldfTttLnByb3RvdHlwZS5fc2V0WEV4dGVudD0KZnVuY3Rpb24obil7dGhpcy5feEV4dGVudD1ufTttLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFlFeHRlbnQoKX07bS5wcm90b3R5cGUuX2dldFlFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feUJvdW5kc01vZGU9PT1sLlZBTFVFP3RoaXMuX3lFeHRlbnQ6bnVsbD09dGhpcy5feVNjYWxlP1t2b2lkIDAsdm9pZCAwXTpbdGhpcy5feVNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMudG9wTGVmdC55KSx0aGlzLl95U2NhbGUuaW52ZXJ0KHRoaXMuX2JveEJvdW5kcy5ib3R0b21SaWdodC55KV19O20ucHJvdG90eXBlLl9zZXRZRXh0ZW50PWZ1bmN0aW9uKG4pe3RoaXMuX3lFeHRlbnQ9bn07bS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3AucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTtudWxsIT10aGlzLl94U2NhbGUmJnRoaXMueFNjYWxlKCkub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTtudWxsIT10aGlzLl95U2NhbGUmJgp0aGlzLnlTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayl9O3JldHVybiBtfShkLkNvbXBvbmVudCk7Zi5TZWxlY3Rpb25Cb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3JldHVybiByLmNhbGwodGhpcywicGF0aCIsImFyYyBmaWxsIil8fHRoaXN9ayhsLHIpO2wucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKHApe3Auc3R5bGUoInN0cm9rZSIsIm5vbmUiKX07cmV0dXJuIGx9KGgoOSkuU1ZHRHJhd2VyKTtmLkFyY1NWR0RyYXdlcj0KZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAoKXt0aGlzLmNvbnN0cnVjdG9yPXJ9Zm9yKHZhciBtIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShtKSYmKHJbbV09bFttXSk7ci5wcm90b3R5cGU9bnVsbD09PWw/T2JqZWN0LmNyZWF0ZShsKToocC5wcm90b3R5cGU9bC5wcm90b3R5cGUsbmV3IHApfTtkPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtyZXR1cm4gci5jYWxsKHRoaXMsInBhdGgiLCJhcmMgb3V0bGluZSIpfHx0aGlzfWsobCxyKTtsLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbihwKXtwLnN0eWxlKCJmaWxsIiwibm9uZSIpfTtyZXR1cm4gbH0oaCg5KS5TVkdEcmF3ZXIpO2YuQXJjT3V0bGluZVNWR0RyYXdlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9CnB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3JldHVybiBwLmNhbGwodGhpcywicGF0aCIsImFyZWEiKXx8dGhpc31rKG0scCk7bS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24obil7bi5zdHlsZSgic3Ryb2tlIiwibm9uZSIpfTttLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKCl7cmV0dXJuIHAucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXguY2FsbCh0aGlzLDApfTtyZXR1cm4gbX0oaCg5KS5TVkdEcmF3ZXIpO2YuQXJlYVNWR0RyYXdlcj1kO3ZhciBsPVsiZmlsbCIsIm9wYWNpdHkiLCJmaWxsLW9wYWNpdHkiXTtmLm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24ocCl7cmV0dXJuIGZ1bmN0aW9uKG0sCm4scSl7cT1yLnJlc29sdmVBdHRyaWJ1dGVzKHEsbCxuWzBdLDApO3IucmVuZGVyQXJlYShtLHAoKSxuWzBdLHEpfX19LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7cmV0dXJuIHIuY2FsbCh0aGlzLCJsaW5lIiwiIil8fHRoaXN9ayhsLHIpO3JldHVybiBsfShoKDkpLlNWR0RyYXdlcik7Zi5TZWdtZW50U1ZHRHJhd2VyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKG4scSx1LHcsQSl7cmV0dXJuIDA8PXUrQSYmdS1BPD1uJiYwPD13K0EmJnctQTw9cX1mdW5jdGlvbiByKG4scSx1KXtpZihudWxsPT1uKXJldHVybiExOwpmb3IodmFyIHc9MDt3PHUubGVuZ3RoO3crKyl7dmFyIEE9dVt3XTtpZihuW0FdIT1xW0FdKXJldHVybiExfXJldHVybiEwfXZhciBsPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxwPWgoODYpLG09aCgxOCk7ZD1mdW5jdGlvbihuKXtmdW5jdGlvbiBxKCl7cmV0dXJuIG4uY2FsbCh0aGlzLCJwYXRoIiwic3ltYm9sIil8fHRoaXN9bChxLG4pO3JldHVybiBxfShoKDkpLlNWR0RyYXdlcik7Zi5TeW1ib2xTVkdEcmF3ZXI9ZDtmLm1ha2VTeW1ib2xDYW52YXNEcmF3U3RlcD1mdW5jdGlvbihuLHEsdSl7dmFyIHc9dGhpcztyZXR1cm4gZnVuY3Rpb24oQSx5LHgpe3ZhciBDPUEuY2FudmFzLEc9Qy5jbGllbnRXaWR0aDsKQz1DLmNsaWVudEhlaWdodDtmb3IodmFyIEQ9bmV3IHAuQ2FudmFzQnVmZmVyKDAsMCksQj1xKCksSD11KCksSz1udWxsLEw9bnVsbCxKPW51bGwsTz0wO088eS5sZW5ndGg7TysrKXt2YXIgUz15W09dO2lmKG51bGwhPVMpe3ZhciBOPW0ucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzKHgsWyJ4IiwieSJdLFMsTyksUj1IKFMsTyxuKTtpZihrKEcsQyxOLngsTi55LFIpKXt2YXIgWD1yKEssTixtLkNvbnRleHRTdHlsZUF0dHJzKTtTPUIoUyxPLHcuX2RhdGFzZXQpO1gmJko9PVImJkw9PVN8fChLPW0uZ2V0U3Ryb2tlV2lkdGgoTiksSz1SK0srMSwoSz5ELnNjcmVlbldpZHRofHxLPkQuc2NyZWVuSGVpZ2h0KSYmRC5yZXNpemUoSyxLLCEwKSxELmNsZWFyKCksSz1ELmN0eCxLLmJlZ2luUGF0aCgpLFMoUikuY29udGV4dChLKShudWxsKSxLLmNsb3NlUGF0aCgpLG0ucmVuZGVyUGF0aFdpdGhTdHlsZShLLE4pLEw9UyxKPVIsSz1OKTtELmJsaXRDZW50ZXIoQSxOLngsTi55KX19fX19fSwKZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoRCl7cmV0dXJuIEQgaW5zdGFuY2VvZiB5P0Q6RCBpbnN0YW5jZW9mIERhdGU/cChELnZhbHVlT2YoKSk6RCBpbnN0YW5jZW9mIEEuU2NhbGU/cihEKTpEIGluc3RhbmNlb2Ygdy5EYXRhc2V0P2woRCk6dShEKT9uKEQpOkFycmF5LmlzQXJyYXkoRCk/bShEKTpwKEQpfWZ1bmN0aW9uIHIoRCl7RD17ZG9tYWluOkQuZG9tYWluKCkscmFuZ2U6RC5yYW5nZSgpLHVwZGF0ZUlkOkQudXBkYXRlSWQoKSxyZWY6cChEKX07cmV0dXJuIG4oRCl9ZnVuY3Rpb24gbChEKXtEPXtyZWY6cChEKSx1cGRhdGVJZDpELnVwZGF0ZUlkKCl9O3JldHVybiBuKEQpfWZ1bmN0aW9uIHAoRCl7cmV0dXJuIG5ldyBDKEQpfWZ1bmN0aW9uIG0oRCl7cmV0dXJuIG5ldyB4KEQubWFwKGZ1bmN0aW9uKEIpe3JldHVybiBrKEIpfSkpfWZ1bmN0aW9uIG4oRCl7dmFyIEI9e30sSDtmb3IoSCBpbiBEKUQuaGFzT3duUHJvcGVydHkoSCkmJihCW0hdPWsoRFtIXSkpO3JldHVybiBuZXcgRyhCKX0KdmFyIHE9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEQsQil7ZnVuY3Rpb24gSCgpe3RoaXMuY29uc3RydWN0b3I9RH1mb3IodmFyIEsgaW4gQilCLmhhc093blByb3BlcnR5KEspJiYoRFtLXT1CW0tdKTtELnByb3RvdHlwZT1udWxsPT09Qj9PYmplY3QuY3JlYXRlKEIpOihILnByb3RvdHlwZT1CLnByb3RvdHlwZSxuZXcgSCl9LHU9aCgxMjgpLHc9aCgzOCksQT1oKDE3KTtmLnNpZ249aztmLnNpZ25TY2FsZT1yO2Yuc2lnbkRhdGFzZXQ9bDtmLnNpZ25SZWY9cDtmLnNpZ25BcnJheT1tO2Yuc2lnbk9iaj1uO3ZhciB5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gRCgpe31ELnByb3RvdHlwZS5pc0RpZmZlcmVudD1mdW5jdGlvbihCKXtyZXR1cm4gQiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/dGhpcy5pc1NpZ25hdHVyZURpZmZlcmVudChCKTohMH07cmV0dXJuIER9KCk7Zi5TaWduYXR1cmU9eTt2YXIgeD1mdW5jdGlvbihEKXtmdW5jdGlvbiBCKEgpe3ZhciBLPUQuY2FsbCh0aGlzKXx8CnRoaXM7Sy5hcnJheT1IO3JldHVybiBLfXEoQixEKTtCLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbihIKXtpZihILmFycmF5Lmxlbmd0aCE9PXRoaXMuYXJyYXkubGVuZ3RoKXJldHVybiEwO2Zvcih2YXIgSz0wO0s8dGhpcy5hcnJheS5sZW5ndGg7SysrKWlmKHRoaXMuYXJyYXlbS10uaXNEaWZmZXJlbnQoSC5hcnJheVtLXSkpcmV0dXJuITA7cmV0dXJuITF9O3JldHVybiBCfSh5KTtmLkFycmF5U2lnbmF0dXJlPXg7dmFyIEM9ZnVuY3Rpb24oRCl7ZnVuY3Rpb24gQihIKXt2YXIgSz1ELmNhbGwodGhpcyl8fHRoaXM7Sy5yZWY9SDtyZXR1cm4gS31xKEIsRCk7Qi5wcm90b3R5cGUuaXNTaWduYXR1cmVEaWZmZXJlbnQ9ZnVuY3Rpb24oSCl7cmV0dXJuIHRoaXMucmVmIT09SC5yZWZ9O3JldHVybiBCfSh5KTtmLlJlZmVyZW5jZVNpZ25hdHVyZT1DO3ZhciBHPWZ1bmN0aW9uKEQpe2Z1bmN0aW9uIEIoSCl7dmFyIEs9RC5jYWxsKHRoaXMpfHx0aGlzO0sub2JqPQpIO3JldHVybiBLfXEoQixEKTtCLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbihIKXt2YXIgSz1PYmplY3Qua2V5cyh0aGlzLm9iaiksTD1PYmplY3Qua2V5cyhILm9iaik7aWYoSy5sZW5ndGghPT1MLmxlbmd0aClyZXR1cm4hMDtmb3IoTD0wO0w8Sy5sZW5ndGg7TCsrKXt2YXIgSj1LW0xdO2lmKCFILm9iai5oYXNPd25Qcm9wZXJ0eShKKXx8dGhpcy5vYmpbSl0uaXNEaWZmZXJlbnQoSC5vYmpbSl0pKXJldHVybiEwfXJldHVybiExfTtyZXR1cm4gQn0oeSk7Zi5PYmplY3RTaWduYXR1cmU9R30sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih5LHgpe2Z1bmN0aW9uIEMoKXt0aGlzLmNvbnN0cnVjdG9yPXl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSwKcj1oKDEpLGw9aCgzKSxwPWgoMCksbT1oKDE0KSxuPWgoNDYpLHE9aCg2KSx1PWgoMzMpLHc9aCgxOSk7ZD1oKDUzKTt2YXIgQT1oKDIpO2g9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLmFkZENsYXNzKCJhcmVhLXBsb3QiKTtDLnkwKDApO0MuYXR0cigiZmlsbC1vcGFjaXR5IiwuMjUpO0MuYXR0cigiZmlsbCIsKG5ldyBsLkNvbG9yKS5yYW5nZSgpWzBdKTtDLl9saW5lRHJhd2Vycz1uZXcgcC5NYXA7cmV0dXJuIEN9ayh4LHkpO3gucHJvdG90eXBlLnk9ZnVuY3Rpb24oQyxHKXtpZihudWxsPT1DKXJldHVybiB5LnByb3RvdHlwZS55LmNhbGwodGhpcyk7bnVsbD09Rz95LnByb3RvdHlwZS55LmNhbGwodGhpcyxDKTp5LnByb3RvdHlwZS55LmNhbGwodGhpcyxDLEcpO251bGwhPUcmJihDPXRoaXMueTAoKS5hY2Nlc3NvcixudWxsIT1DJiZ0aGlzLl9iaW5kUHJvcGVydHkoeC5fWTBfS0VZLEMsRyksdGhpcy5fdXBkYXRlWVNjYWxlKCkpOwpyZXR1cm4gdGhpc307eC5wcm90b3R5cGUueTA9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fWTBfS0VZKTt2YXIgRz10aGlzLnkoKTt0aGlzLl9iaW5kUHJvcGVydHkoeC5fWTBfS0VZLEMsRyYmRy5zY2FsZSk7dGhpcy5fdXBkYXRlWVNjYWxlKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307eC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3kucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTt0aGlzLl91cGRhdGVZU2NhbGUoKX07eC5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpczt0aGlzLl9saW5lRHJhd2Vycy5zZXQoQyxuZXcgbS5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgdS5MaW5lU1ZHRHJhd2VyfSxmdW5jdGlvbihEKXtyZXR1cm4gbmV3IG0uQ2FudmFzRHJhd2VyKEQsdS5tYWtlTGluZUNhbnZhc0RyYXdTdGVwKGZ1bmN0aW9uKCl7dmFyIEI9CkEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoRy54KCkpLEg9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkoKSk7cmV0dXJuIEcuX2QzTGluZUZhY3RvcnkoQyxCLEgpfSkpfSkpO3kucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxDKTtyZXR1cm4gdGhpc307eC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihDKXt5LnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxDKTtDPXRoaXMuX2xpbmVEcmF3ZXJzLmdldChDKTsic3ZnIj09PXRoaXMucmVuZGVyZXIoKT9DLnVzZVNWRyh0aGlzLl9yZW5kZXJBcmVhKTpDLnVzZUNhbnZhcyh0aGlzLl9jYW52YXMpO3JldHVybiBDfTt4LnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzPWZ1bmN0aW9uKEMpe3kucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXMuY2FsbCh0aGlzLEMpO3RoaXMuX2xpbmVEcmF3ZXJzLmdldChDKS5yZW1vdmUoKX07eC5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD0KZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9dGhpcy5fZ2VuZXJhdGVMaW5lRHJhd1N0ZXBzKCksRD10aGlzLl9nZXREYXRhVG9EcmF3KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oQil7dmFyIEg9QS5QbG90LmFwcGx5RHJhd1N0ZXBzKEcsQik7Qy5fbGluZURyYXdlcnMuZ2V0KEIpLmRyYXcoRC5nZXQoQiksSCl9KX07eC5wcm90b3R5cGUuX2dlbmVyYXRlTGluZURyYXdTdGVwcz1mdW5jdGlvbigpe3ZhciBDPVtdO2lmKHRoaXMuX2FuaW1hdGVPbk5leHRSZW5kZXIoKSl7dmFyIEc9dGhpcy5fZ2VuZXJhdGVMaW5lQXR0clRvUHJvamVjdG9yKCk7Ry5kPXRoaXMuX2NvbnN0cnVjdExpbmVQcm9qZWN0b3IoQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksdGhpcy5fZ2V0UmVzZXRZRnVuY3Rpb24oKSk7Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6RyxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcih3LkFuaW1hdG9yLlJFU0VUKX0pfUMucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dlbmVyYXRlTGluZUF0dHJUb1Byb2plY3RvcigpLAphbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcih3LkFuaW1hdG9yLk1BSU4pfSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtDLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4gbmV3IHEuUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4uQXJlYVNWR0RyYXdlcn0sZnVuY3Rpb24oRCl7cmV0dXJuIG5ldyBtLkNhbnZhc0RyYXdlcihELG4ubWFrZUFyZWFDYW52YXNEcmF3U3RlcChmdW5jdGlvbigpe3ZhciBCPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoRy54KCkpLEg9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkoKSksCks9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkwKCkpO3JldHVybiBHLl9jcmVhdGVBcmVhR2VuZXJhdG9yKEIsSCxLLEcuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoQixIKSxDKX0pKX0pfTt4LnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgQz1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBHPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpO0cuZD10aGlzLl9jb25zdHJ1Y3RBcmVhUHJvamVjdG9yKEEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCksQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkwKCkpKTtDLnB1c2goe2F0dHJUb1Byb2plY3RvcjpHLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuUkVTRVQpfSl9Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3Iody5BbmltYXRvci5NQUlOKX0pOwpyZXR1cm4gQ307eC5wcm90b3R5cGUuX3VwZGF0ZVlTY2FsZT1mdW5jdGlvbigpe3ZhciBDPXRoaXMuZ2V0RXh0ZW50c0ZvclByb3BlcnR5KCJ5MCIpO0M9cC5BcnJheS51bmlxKHAuQXJyYXkuZmxhdHRlbihDKSk7dmFyIEc9MT09PUMubGVuZ3RoP0NbMF06bnVsbDtDPShDPXRoaXMueSgpKSYmQy5zY2FsZTtudWxsIT1DJiYobnVsbCE9dGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXImJihDLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXIpLHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyPW51bGwpLG51bGwhPUcmJih0aGlzLl9jb25zdGFudEJhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVybltHXX0sQy5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSkpfTt4LnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249CmZ1bmN0aW9uKCl7cmV0dXJuIEEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MCgpKX07eC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBDPXkucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtDLmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSkpO3JldHVybiBDfTt4LnByb3RvdHlwZS5zZWxlY3Rpb25zPWZ1bmN0aW9uKEMpe3ZhciBHPXRoaXM7dm9pZCAwPT09QyYmKEM9dGhpcy5kYXRhc2V0cygpKTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSlyZXR1cm4gci5zZWxlY3RBbGwoKTt2YXIgRD15LnByb3RvdHlwZS5zZWxlY3Rpb25zLmNhbGwodGhpcyxDKS5ub2RlcygpO0MubWFwKGZ1bmN0aW9uKEIpe3JldHVybiBHLl9saW5lRHJhd2Vycy5nZXQoQil9KS5maWx0ZXIoZnVuY3Rpb24oQil7cmV0dXJuIG51bGwhPQpCfSkuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gRC5wdXNoLmFwcGx5KEQsQi5nZXRWaXN1YWxQcmltaXRpdmVzKCkpfSk7cmV0dXJuIHIuc2VsZWN0QWxsKEQpfTt4LnByb3RvdHlwZS5fY29uc3RydWN0QXJlYVByb2plY3Rvcj1mdW5jdGlvbihDLEcsRCl7dmFyIEI9dGhpcyxIPXRoaXMuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpO3JldHVybiBmdW5jdGlvbihLLEwsSil7cmV0dXJuIEIuX2NyZWF0ZUFyZWFHZW5lcmF0b3IoQyxHLEQsSCxKKShLKX19O3gucHJvdG90eXBlLl9jcmVhdGVEZWZpbmVkUHJvamVjdG9yPWZ1bmN0aW9uKEMsRyl7cmV0dXJuIGZ1bmN0aW9uKEQsQixIKXt2YXIgSz1DKEQsQixIKTtEPUcoRCxCLEgpO3JldHVybiBwLk1hdGguaXNWYWxpZE51bWJlcihLKSYmcC5NYXRoLmlzVmFsaWROdW1iZXIoRCl9fTt4LnByb3RvdHlwZS5fY3JlYXRlQXJlYUdlbmVyYXRvcj0KZnVuY3Rpb24oQyxHLEQsQixIKXt2YXIgSz10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gci5hcmVhKCkueChmdW5jdGlvbihMLEope3JldHVybiBDKEwsSixIKX0pLnkxKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEcoTCxKLEgpfSkueTAoZnVuY3Rpb24oTCxKKXtyZXR1cm4gRChMLEosSCl9KS5jdXJ2ZShLKS5kZWZpbmVkKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEIoTCxKLEgpfSl9O3JldHVybiB4fShkLkxpbmUpO2guX1kwX0tFWT0ieTAiO2YuQXJlYT1ofSxmdW5jdGlvbihkLGYpeyhmdW5jdGlvbihoKXtoLk1BSU49Im1haW4iO2guUkVTRVQ9InJlc2V0In0pKGYuQW5pbWF0b3J8fChmLkFuaW1hdG9yPXt9KSl9LGZ1bmN0aW9uKGQsZil7dmFyIGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKCl7dmFyIHI9dGhpczt0aGlzLnRyYW5zbGF0ZT10aGlzLnNjYWxlPTA7dGhpcy5jYWNoZWREb21haW49W251bGwsbnVsbF07dGhpcy5sYXN0U2VlbkRvbWFpbj1bbnVsbCxudWxsXTt0aGlzLnVwZGF0ZURvbWFpbj0KZnVuY3Rpb24obCl7ci5sYXN0U2VlbkRvbWFpbj1sLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCk7dmFyIHA9bC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIuY2FjaGVkRG9tYWluWzFdKS1sLnNjYWxlVHJhbnNmb3JtYXRpb24oci5jYWNoZWREb21haW5bMF0pLG09bC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIubGFzdFNlZW5Eb21haW5bMV0pLWwuc2NhbGVUcmFuc2Zvcm1hdGlvbihyLmxhc3RTZWVuRG9tYWluWzBdKTtyLnNjYWxlPXAvbXx8MTtyLnRyYW5zbGF0ZT1sLnNjYWxlVHJhbnNmb3JtYXRpb24oci5jYWNoZWREb21haW5bMF0pLWwuc2NhbGVUcmFuc2Zvcm1hdGlvbihyLmxhc3RTZWVuRG9tYWluWzBdKSpyLnNjYWxlfHwwfX1rLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuc2NhbGU9MTt0aGlzLnRyYW5zbGF0ZT0wO3RoaXMuY2FjaGVkRG9tYWluPXRoaXMubGFzdFNlZW5Eb21haW59O2sucHJvdG90eXBlLnNldERvbWFpbj1mdW5jdGlvbihyKXt0aGlzLmNhY2hlZERvbWFpbj0Kci5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpfTtyZXR1cm4ga30oKTtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gayhyLGwpe3ZhciBwPXRoaXM7dGhpcy5yZW5kZXJDYWxsYmFjaz1yO3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjaz1sO3RoaXMuZG9tYWluVHJhbnNmb3JtWD1uZXcgaDt0aGlzLmRvbWFpblRyYW5zZm9ybVk9bmV3IGg7dGhpcy5yZW5kZXJEZWZlcnJlZD1mdW5jdGlvbigpe3AuYXBwbHlUcmFuc2Zvcm0oKTtjbGVhclRpbWVvdXQocC50aW1lb3V0VG9rZW4pO3AudGltZW91dFRva2VuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtwLnJlbmRlckNhbGxiYWNrKCl9LGsuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZKX19ay5wcm90b3R5cGUuc2V0RG9tYWlucz1mdW5jdGlvbihyLGwpe3ImJnRoaXMuZG9tYWluVHJhbnNmb3JtWC5zZXREb21haW4ocik7bCYmdGhpcy5kb21haW5UcmFuc2Zvcm1ZLnNldERvbWFpbihsKTt0aGlzLnJlbmRlckRlZmVycmVkKCl9O2sucHJvdG90eXBlLnVwZGF0ZURvbWFpbnM9CmZ1bmN0aW9uKHIsbCl7ciYmdGhpcy5kb21haW5UcmFuc2Zvcm1YLnVwZGF0ZURvbWFpbihyKTtsJiZ0aGlzLmRvbWFpblRyYW5zZm9ybVkudXBkYXRlRG9tYWluKGwpO3RoaXMucmVuZGVyRGVmZXJyZWQoKX07ay5wcm90b3R5cGUucmVzZXRUcmFuc2Zvcm1zPWZ1bmN0aW9uKCl7dGhpcy5kb21haW5UcmFuc2Zvcm1YLnJlc2V0KCk7dGhpcy5kb21haW5UcmFuc2Zvcm1ZLnJlc2V0KCk7dGhpcy5hcHBseVRyYW5zZm9ybSgpfTtrLnByb3RvdHlwZS5hcHBseVRyYW5zZm9ybT1mdW5jdGlvbigpe3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjayh0aGlzLmRvbWFpblRyYW5zZm9ybVgudHJhbnNsYXRlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS50cmFuc2xhdGUsdGhpcy5kb21haW5UcmFuc2Zvcm1YLnNjYWxlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS5zY2FsZSl9O3JldHVybiBrfSgpO2QuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZPTIwMDtmLkRlZmVycmVkUmVuZGVyZXI9ZH0sZnVuY3Rpb24oZCwKZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oQyxHKXtmdW5jdGlvbiBEKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWZvcih2YXIgQiBpbiBHKUcuaGFzT3duUHJvcGVydHkoQikmJihDW0JdPUdbQl0pO0MucHJvdG90eXBlPW51bGw9PT1HP09iamVjdC5jcmVhdGUoRyk6KEQucHJvdG90eXBlPUcucHJvdG90eXBlLG5ldyBEKX0scj1oKDEpLGw9aCg3KSxwPWgoMTQpLG09aCg2KSxuPWgoMzMpLHE9aCgzKSx1PWgoMTEpLHc9aCgwKTtkPWgoMTApO3ZhciBBPWgoMTkpLHk9aCgyKTtoPWgoMTYpO3ZhciB4PXtsaW5lYXI6ci5jdXJ2ZUxpbmVhcixsaW5lYXJDbG9zZWQ6ci5jdXJ2ZUxpbmVhckNsb3NlZCxzdGVwOnIuY3VydmVTdGVwLHN0ZXBCZWZvcmU6ci5jdXJ2ZVN0ZXBCZWZvcmUsc3RlcEFmdGVyOnIuY3VydmVTdGVwQWZ0ZXIsYmFzaXM6ci5jdXJ2ZUJhc2lzLGJhc2lzT3BlbjpyLmN1cnZlQmFzaXNPcGVuLGJhc2lzQ2xvc2VkOnIuY3VydmVCYXNpc0Nsb3NlZCwKYnVuZGxlOnIuY3VydmVCdW5kbGUsY2FyZGluYWw6ci5jdXJ2ZUNhcmRpbmFsLGNhcmRpbmFsT3BlbjpyLmN1cnZlQ2FyZGluYWxPcGVuLGNhcmRpbmFsQ2xvc2VkOnIuY3VydmVDYXJkaW5hbENsb3NlZCxtb25vdG9uZTpyLmN1cnZlTW9ub3RvbmVYfTtmLkN1cnZlTmFtZT1kLm1ha2VFbnVtKCJsaW5lYXIgbGluZWFyQ2xvc2VkIHN0ZXAgc3RlcEJlZm9yZSBzdGVwQWZ0ZXIgYmFzaXMgYmFzaXNPcGVuIGJhc2lzQ2xvc2VkIGJ1bmRsZSBjYXJkaW5hbCBjYXJkaW5hbE9wZW4gY2FyZGluYWxDbG9zZWQgbW9ub3RvbmUiLnNwbGl0KCIgIikpO2g9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gRygpe3ZhciBEPUMuY2FsbCh0aGlzKXx8dGhpcztELl9jdXJ2ZT0ibGluZWFyIjtELl9hdXRvcmFuZ2VTbW9vdGg9ITE7RC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQ9ITA7RC5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkPSExO0QuX2Rvd25zYW1wbGluZ0VuYWJsZWQ9ITE7RC5hZGRDbGFzcygibGluZS1wbG90Iik7CnZhciBCPW5ldyBsLkVhc2luZztCLnN0ZXBEdXJhdGlvbih5LlBsb3QuX0FOSU1BVElPTl9NQVhfRFVSQVRJT04pO0IuZWFzaW5nTW9kZSgiZXhwSW5PdXQiKTtCLm1heFRvdGFsRHVyYXRpb24oeS5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKTtELmFuaW1hdG9yKEEuQW5pbWF0b3IuTUFJTixCKTtELmF0dHIoInN0cm9rZSIsKG5ldyBxLkNvbG9yKS5yYW5nZSgpWzBdKTtELmF0dHIoInN0cm9rZS13aWR0aCIsIjJweCIpO3JldHVybiBEfWsoRyxDKTtHLnByb3RvdHlwZS54PWZ1bmN0aW9uKEQsQixIKXtpZihudWxsPT1EKXJldHVybiBDLnByb3RvdHlwZS54LmNhbGwodGhpcyk7Qy5wcm90b3R5cGUueC5jYWxsKHRoaXMsRCxCLEgpO3RoaXMuX3NldFNjYWxlU25hcHBpbmcoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUueT1mdW5jdGlvbihELEIsSCl7aWYobnVsbD09RClyZXR1cm4gQy5wcm90b3R5cGUueS5jYWxsKHRoaXMpO0MucHJvdG90eXBlLnkuY2FsbCh0aGlzLEQsQiwKSCk7dGhpcy5fc2V0U2NhbGVTbmFwcGluZygpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIEMucHJvdG90eXBlLmF1dG9yYW5nZU1vZGUuY2FsbCh0aGlzKTtDLnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlLmNhbGwodGhpcyxEKTt0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmF1dG9yYW5nZVNtb290aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hdXRvcmFuZ2VTbW9vdGh9O0cucHJvdG90eXBlLl9zZXRTY2FsZVNuYXBwaW5nPWZ1bmN0aW9uKCl7IngiPT09dGhpcy5hdXRvcmFuZ2VNb2RlKCkmJnRoaXMueCgpJiZ0aGlzLngoKS5zY2FsZSYmdGhpcy54KCkuc2NhbGUgaW5zdGFuY2VvZiB1LlF1YW50aXRhdGl2ZVNjYWxlJiZ0aGlzLngoKS5zY2FsZS5zbmFwcGluZ0RvbWFpbkVuYWJsZWQoIXRoaXMuYXV0b3JhbmdlU21vb3RoKCkpOyJ5Ij09PXRoaXMuYXV0b3JhbmdlTW9kZSgpJiYKdGhpcy55KCkmJnRoaXMueSgpLnNjYWxlJiZ0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIHUuUXVhbnRpdGF0aXZlU2NhbGUmJnRoaXMueSgpLnNjYWxlLnNuYXBwaW5nRG9tYWluRW5hYmxlZCghdGhpcy5hdXRvcmFuZ2VTbW9vdGgoKSl9O0cucHJvdG90eXBlLmN1cnZlPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2N1cnZlO3RoaXMuX2N1cnZlPUQ7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUuZG93bnNhbXBsaW5nRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkfTtHLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1mdW5jdGlvbihEKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZDt0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1EO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmNvbGxhcHNlRGVuc2VMaW5lc0VuYWJsZWQ9CmZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZDt0aGlzLl9jb2xsYXBzZURlbnNlVmVydGljYWxMaW5lc0VuYWJsZWQ9RDt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKEQpe3ZhciBCPXRoaXM7cmV0dXJuIG5ldyBtLlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuLkxpbmVTVkdEcmF3ZXJ9LGZ1bmN0aW9uKEgpe3JldHVybiBuZXcgcC5DYW52YXNEcmF3ZXIoSCxuLm1ha2VMaW5lQ2FudmFzRHJhd1N0ZXAoZnVuY3Rpb24oKXtyZXR1cm4gQi5fZDNMaW5lRmFjdG9yeShEKX0pKX0pfTtHLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oRCl7dmFyIEI9Qy5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyxEKTtpZighdGhpcy5fYXV0b3JhbmdlU21vb3RofHx0aGlzLmF1dG9yYW5nZU1vZGUoKSE9PQpEfHwieCIhPT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmInkiIT09dGhpcy5hdXRvcmFuZ2VNb2RlKCkpcmV0dXJuIEI7RD10aGlzLl9nZXRFZGdlSW50ZXJzZWN0aW9uUG9pbnRzKCk7dmFyIEg9InkiPT09dGhpcy5hdXRvcmFuZ2VNb2RlKCk/RC5sZWZ0LmNvbmNhdChELnJpZ2h0KS5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsueX0pOkQudG9wLmNvbmNhdChELmJvdHRvbSkubWFwKGZ1bmN0aW9uKEspe3JldHVybiBLLnh9KTtyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIHIuZXh0ZW50KHIubWVyZ2UoW0ssSF0pKX0pfTtHLnByb3RvdHlwZS5fZ2V0RWRnZUludGVyc2VjdGlvblBvaW50cz1mdW5jdGlvbigpe3ZhciBEPXRoaXM7aWYoISh0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIHUuUXVhbnRpdGF0aXZlU2NhbGUmJnRoaXMueCgpLnNjYWxlIGluc3RhbmNlb2YgdS5RdWFudGl0YXRpdmVTY2FsZSkpcmV0dXJue2xlZnQ6W10scmlnaHQ6W10sdG9wOltdLGJvdHRvbTpbXX07CnZhciBCPXRoaXMueSgpLnNjYWxlLEg9dGhpcy54KCkuc2NhbGUsSz17bGVmdDpbXSxyaWdodDpbXSx0b3A6W10sYm90dG9tOltdfSxMPUguc2NhbGUoSC5kb21haW4oKVswXSksSj1ILnNjYWxlKEguZG9tYWluKClbMV0pLE89Qi5zY2FsZShCLmRvbWFpbigpWzBdKSxTPUIuc2NhbGUoQi5kb21haW4oKVsxXSk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oTil7Zm9yKHZhciBSPU4uZGF0YSgpLFgsYWEsZmEsb2EsWixjYSxqYSxiYT0xO2JhPFIubGVuZ3RoO2JhKyspb2E9Y2F8fEguc2NhbGUoRC54KCkuYWNjZXNzb3IoUltiYS0xXSxiYS0xLE4pKSxaPWphfHxCLnNjYWxlKEQueSgpLmFjY2Vzc29yKFJbYmEtMV0sYmEtMSxOKSksY2E9SC5zY2FsZShELngoKS5hY2Nlc3NvcihSW2JhXSxiYSxOKSksamE9Qi5zY2FsZShELnkoKS5hY2Nlc3NvcihSW2JhXSxiYSxOKSksb2E8TD09PUw8PWNhJiYoWD1MLW9hLGFhPWNhLW9hLGZhPWphLVosWD1YKmZhL2FhLEsubGVmdC5wdXNoKHt4OkwsCnk6Qi5pbnZlcnQoWitYKX0pKSxvYTxKPT09Sjw9Y2EmJihYPUotb2EsYWE9Y2Etb2EsZmE9amEtWixYPVgqZmEvYWEsSy5yaWdodC5wdXNoKHt4OkoseTpCLmludmVydChaK1gpfSkpLFo8Uz09PVM8PWphJiYoYWE9Y2Etb2EsWD1TLVosZmE9amEtWixYPVgqYWEvZmEsSy50b3AucHVzaCh7eDpILmludmVydChvYStYKSx5OlN9KSksWjxPPT09Tzw9amEmJihhYT1jYS1vYSxYPU8tWixmYT1qYS1aLFg9WCphYS9mYSxLLmJvdHRvbS5wdXNoKHt4OkguaW52ZXJ0KG9hK1gpLHk6T30pKX0pO3JldHVybiBLfTtHLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXt2YXIgRD10aGlzLnkoKS5zY2FsZS5kb21haW4oKSxCPU1hdGgubWF4KERbMF0sRFsxXSk7RD1NYXRoLm1pbihEWzBdLERbMV0pO0I9MD5CJiZCfHwwPEQmJkR8fDA7dmFyIEg9dGhpcy55KCkuc2NhbGUuc2NhbGUoQik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEh9fTtHLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9CmZ1bmN0aW9uKCl7dmFyIEQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgQj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtCLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3Rvcih5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx0aGlzLl9nZXRSZXNldFlGdW5jdGlvbigpKTtELnB1c2goe2F0dHJUb1Byb2plY3RvcjpCLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEEuQW5pbWF0b3IuUkVTRVQpfSl9RC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoQS5BbmltYXRvci5NQUlOKX0pO3JldHVybiBEfTtHLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgRD1DLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe2lmKCJkIiE9PQpCKXt2YXIgSD1EW0JdO0RbQl09ZnVuY3Rpb24oSyxMLEope3JldHVybiAwPEsubGVuZ3RoP0goS1swXSxMLEopOm51bGx9fX0pO3JldHVybiBEfTtHLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEQpe0Q9dGhpcy5lbnRpdHlOZWFyZXN0QnlYVGhlblkoRCk7cmV0dXJuIG51bGwhPUQ/W0RdOltdfTtHLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0QnlYVGhlblk9ZnVuY3Rpb24oRCl7dmFyIEI9SW5maW5pdHksSD1JbmZpbml0eSxLLEw9dGhpcy5ib3VuZHMoKTt0aGlzLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihKKXtpZih3Lk1hdGgud2l0aGluKEoucG9zaXRpb24sTCkpe3ZhciBPPU1hdGguYWJzKEQueC1KLnBvc2l0aW9uLngpLFM9TWF0aC5hYnMoRC55LUoucG9zaXRpb24ueSk7aWYoTzxCfHxPPT09QiYmUzxIKUs9SixCPU8sSD1TfX0pO3JldHVybiBLfTtHLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIEQ9Qy5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpOwpELmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3Rvcih5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSk7cmV0dXJuIER9O0cucHJvdG90eXBlLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yPWZ1bmN0aW9uKEQsQil7dmFyIEg9dGhpcztyZXR1cm4gZnVuY3Rpb24oSyxMLEope3JldHVybiBILl9kM0xpbmVGYWN0b3J5KEosRCxCKShLKX19O0cucHJvdG90eXBlLl9kM0xpbmVGYWN0b3J5PWZ1bmN0aW9uKEQsQixIKXtmdW5jdGlvbiBLKEwsSixPKXt2YXIgUz1CKEwsSixPKTtMPUgoTCxKLE8pO3JldHVybiB3Lk1hdGguaXNWYWxpZE51bWJlcihTKSYmdy5NYXRoLmlzVmFsaWROdW1iZXIoTCl9dm9pZCAwPT09QiYmKEI9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSkpO3ZvaWQgMD09PUgmJihIPXkuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpKTtyZXR1cm4gci5saW5lKCkueChmdW5jdGlvbihMLEope3JldHVybiBCKEwsCkosRCl9KS55KGZ1bmN0aW9uKEwsSil7cmV0dXJuIEgoTCxKLEQpfSkuY3VydmUodGhpcy5fZ2V0Q3VydmVGYWN0b3J5KCkpLmRlZmluZWQoZnVuY3Rpb24oTCxKKXtyZXR1cm4gSyhMLEosRCl9KX07Ry5wcm90b3R5cGUuX2dldEN1cnZlRmFjdG9yeT1mdW5jdGlvbigpe3ZhciBEPXRoaXMuY3VydmUoKTtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBEPyhEPXhbRF0sbnVsbD09RD94LmxpbmVhcjpEKTpEfTtHLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBEPXRoaXMsQj1uZXcgdy5NYXA7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7dmFyIEs9SC5kYXRhKCk7aWYoRC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWR8fEQuX2Rvd25zYW1wbGluZ0VuYWJsZWQpe3ZhciBMPUsubWFwKGZ1bmN0aW9uKEosTyl7cmV0dXJuIE99KTtELl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZCYmKEw9RC5fZmlsdGVyQ3JvcHBlZFJlbmRlcmluZyhILEwpKTtELl9kb3duc2FtcGxpbmdFbmFibGVkJiYKKEw9RC5fZmlsdGVyRG93bnNhbXBsaW5nKEgsTCkpO0QuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZCYmKEw9RC5fZmlsdGVyRGVuc2VMaW5lcyhILEwpKTtCLnNldChILFtMLm1hcChmdW5jdGlvbihKKXtyZXR1cm4gS1tKXX0pXSl9ZWxzZSBCLnNldChILFtLXSl9KTtyZXR1cm4gQn07Ry5wcm90b3R5cGUuX2ZpbHRlckNyb3BwZWRSZW5kZXJpbmc9ZnVuY3Rpb24oRCxCKXtmdW5jdGlvbiBIKGZhLG9hKXtyZXR1cm4gdy5NYXRoLmluUmFuZ2UoZmEsMCxLLndpZHRoKCkpJiZ3Lk1hdGguaW5SYW5nZShvYSwwLEsuaGVpZ2h0KCkpfWZvcih2YXIgSz10aGlzLEw9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksSj15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxPPUQuZGF0YSgpLFM9W10sTj0wO048Qi5sZW5ndGg7TisrKXt2YXIgUj1MKE9bQltOXV0sQltOXSxEKSxYPUooT1tCW05dXSxCW05dLEQpO1I9SChSLFgpO2lmKCFSJiZudWxsIT1CW04tCjFdJiZudWxsIT1PW0JbTi0xXV0pe1g9TChPW0JbTi0xXV0sQltOLTFdLEQpO3ZhciBhYT1KKE9bQltOLTFdXSxCW04tMV0sRCk7Uj1SfHxIKFgsYWEpfVJ8fG51bGw9PUJbTisxXXx8bnVsbD09T1tCW04rMV1dfHwoWD1MKE9bQltOKzFdXSxCW04rMV0sRCksYWE9SihPW0JbTisxXV0sQltOKzFdLEQpLFI9Unx8SChYLGFhKSk7UiYmUy5wdXNoKEJbTl0pfXJldHVybiBTfTtHLnByb3RvdHlwZS5fZmlsdGVyRG93bnNhbXBsaW5nPWZ1bmN0aW9uKEQsQil7ZnVuY3Rpb24gSChqYSxiYSl7dmFyIGthPUwoS1tCW2phXV0sQltqYV0sRCksVz1KKEtbQltqYV1dLEJbamFdLEQpLEVhPUwoS1tCW2phKzFdXSxCW2phKzFdLEQpO2phPUooS1tCW2phKzFdXSxCW2phKzFdLEQpO3JldHVybiBJbmZpbml0eT09PWJhP01hdGguZmxvb3Ioa2EpPT09TWF0aC5mbG9vcihFYSk6TWF0aC5mbG9vcihqYSk9PT1NYXRoLmZsb29yKFcrKEVhLWthKSpiYSl9aWYoMD09PUIubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgSz0KRC5kYXRhKCksTD15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxKPXkuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLE89W0JbMF1dLFM9MDtTPEIubGVuZ3RoLTE7KXt2YXIgTj1CW1NdLFI9TChLW0JbU11dLEJbU10sRCksWD1KKEtbQltTXV0sQltTXSxEKSxhYT1MKEtbQltTKzFdXSxCW1MrMV0sRCksZmE9SihLW0JbUysxXV0sQltTKzFdLEQpO2ZhPU1hdGguZmxvb3IoUik9PT1NYXRoLmZsb29yKGFhKT9JbmZpbml0eTooZmEtWCkvKGFhLVIpO2FhPUJbU107WD1JbmZpbml0eT09PWZhP1g6UjtSPWFhO2Zvcih2YXIgb2E9WCxaPSEwO1M8Qi5sZW5ndGgtMSYmKFp8fEgoUyxmYSkpOyl7UysrO1o9ITE7dmFyIGNhPUluZmluaXR5PT09ZmE/SihLW0JbU11dLEJbU10sRCk6TChLW0JbU11dLEJbU10sRCk7Y2E+b2EmJihvYT1jYSxSPUJbU10pO2NhPFgmJihYPWNhLGFhPUJbU10pfWZhPUJbU107YWEhPT1OJiZPLnB1c2goYWEpO1IhPT1hYSYmUiE9PU4mJk8ucHVzaChSKTsKZmEhPT1OJiZmYSE9PWFhJiZmYSE9PVImJk8ucHVzaChmYSl9cmV0dXJuIE99O0cucHJvdG90eXBlLl9maWx0ZXJEZW5zZUxpbmVzPWZ1bmN0aW9uKEQsQil7aWYoMD09PUIubGVuZ3RoKXJldHVybltdO3ZhciBIPUQuZGF0YSgpLEs9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksTD15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm4gdGhpcy5fYnVja2V0QnlYKEQsQixmdW5jdGlvbihKKXtyZXR1cm4gSyhIW0pdLEosRCl9LGZ1bmN0aW9uKEope3JldHVybiBMKEhbSl0sSixEKX0pfTtHLnByb3RvdHlwZS5fYnVja2V0QnlYPWZ1bmN0aW9uKEQsQixILEspe3ZhciBMPVtdO0Q9RC5kYXRhKCk7Zm9yKHZhciBKPW51bGwsTz0wO088PUIubGVuZ3RoOysrTyl7dmFyIFM9QltPXTtpZihudWxsIT1EW1NdKXt2YXIgTj1NYXRoLmZsb29yKEgoUykpLFI9SyhTKTtudWxsPT1KP0o9bmV3IHcuQnVja2V0KFMsTixSKTpKLmlzSW5CdWNrZXQoTik/Si5hZGRUb0J1Y2tldChSLApTKTooTC5wdXNoLmFwcGx5KEwsSi5nZXRVbmlxdWVJbmRpY2VzKCkpLEo9bmV3IHcuQnVja2V0KFMsTixSKSl9fW51bGwhPUomJkwucHVzaC5hcHBseShMLEouZ2V0VW5pcXVlSW5kaWNlcygpKTtyZXR1cm4gTH07cmV0dXJuIEd9KGguWFlQbG90KTtmLkxpbmU9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxyPWgoMSksbD1oKDI2KSxwPWgoMCksbT1bMCwxXTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fcmFuZ2U9WzAsMV07dS5fZDNTY2FsZT1yLnNjYWxlQmFuZCgpO3UuX2QzU2NhbGUucmFuZ2UobSk7CnUuX2QzVHJhbnNmb3JtYXRpb25TY2FsZT1yLnNjYWxlTGluZWFyKCk7dS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbihtKTt1Ll9pbm5lclBhZGRpbmc9cS5fY29udmVydFRvUGxvdHRhYmxlSW5uZXJQYWRkaW5nKCk7dS5fb3V0ZXJQYWRkaW5nPXEuX2NvbnZlcnRUb1Bsb3R0YWJsZU91dGVyUGFkZGluZygpO3JldHVybiB1fWsocSxuKTtxLnByb3RvdHlwZS5jbG9uZVdpdGhvdXRQcm92aWRlcnM9ZnVuY3Rpb24oKXt2YXIgdT0obmV3IHEpLmRvbWFpbih0aGlzLmRvbWFpbigpKS5yYW5nZSh0aGlzLnJhbmdlKCkpLmlubmVyUGFkZGluZyh0aGlzLmlubmVyUGFkZGluZygpKS5vdXRlclBhZGRpbmcodGhpcy5vdXRlclBhZGRpbmcoKSk7dS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKCkpO3JldHVybiB1fTtxLnByb3RvdHlwZS5leHRlbnRPZlZhbHVlcz1mdW5jdGlvbih1KXtyZXR1cm4gcC5BcnJheS51bmlxKHUpfTsKcS5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybiBwLkFycmF5LnVuaXEodGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKSl9O3EucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbih1KXtyZXR1cm4gbi5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyx1KX07cS5wcm90b3R5cGUuaW52ZXJ0UmFuZ2U9ZnVuY3Rpb24oKXt2YXIgdSx3PXRoaXM7dm9pZCAwPT09dSYmKHU9dGhpcy5yYW5nZSgpKTt2YXIgQT10aGlzLl9kM1NjYWxlLmJhbmR3aWR0aCgpLHk9dGhpcy5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uKHVbMF0pLHg9dGhpcy5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uKHVbMV0pO3U9dGhpcy5fZDNTY2FsZS5kb21haW4oKTt2YXIgQz11Lm1hcChmdW5jdGlvbihHKXtyZXR1cm4gdy5fZDNTY2FsZShHKStBLzJ9KTt5PXIuYmlzZWN0KEMseSk7eD1yLmJpc2VjdChDLHgpO3JldHVybiB1LnNsaWNlKHkseCl9O3EucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKHUpe3JldHVybiBuLnByb3RvdHlwZS5yYW5nZS5jYWxsKHRoaXMsCnUpfTtxLl9jb252ZXJ0VG9QbG90dGFibGVJbm5lclBhZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gMS8uNy0xfTtxLl9jb252ZXJ0VG9QbG90dGFibGVPdXRlclBhZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4uNS8uN307cS5wcm90b3R5cGUuX3NldEJhbmRzPWZ1bmN0aW9uKCl7dmFyIHU9MS0xLygxK3RoaXMuaW5uZXJQYWRkaW5nKCkpLHc9dGhpcy5vdXRlclBhZGRpbmcoKS8oMSt0aGlzLmlubmVyUGFkZGluZygpKTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdJbm5lcih1KTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdPdXRlcih3KX07cS5wcm90b3R5cGUucmFuZ2VCYW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2NhbGVCYW5kKHRoaXMuX2QzU2NhbGUuYmFuZHdpZHRoKCkpfTtxLnByb3RvdHlwZS5zdGVwV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVzY2FsZUJhbmQodGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSooMSt0aGlzLmlubmVyUGFkZGluZygpKSl9O3EucHJvdG90eXBlLnRpY2tzPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbWFpbigpfTtxLnByb3RvdHlwZS5pbm5lclBhZGRpbmc9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5faW5uZXJQYWRkaW5nO3RoaXMuX2lubmVyUGFkZGluZz11O3RoaXMucmFuZ2UodGhpcy5yYW5nZSgpKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5vdXRlclBhZGRpbmc9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fb3V0ZXJQYWRkaW5nO3RoaXMuX291dGVyUGFkZGluZz11O3RoaXMucmFuZ2UodGhpcy5yYW5nZSgpKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih1KXt1PXRoaXMuX2QzU2NhbGUodSkrdGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKS8yO3JldHVybiB0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodSl9O3EucHJvdG90eXBlLnpvb209ZnVuY3Rpb24odSx3KXt2YXIgQT10aGlzOwp0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5yYW5nZSgpLm1hcChmdW5jdGlvbih5KXtyZXR1cm4gQS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChsLnpvb21PdXQoeSx1LHcpKX0pKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfTtxLnByb3RvdHlwZS5wYW49ZnVuY3Rpb24odSl7dmFyIHc9dGhpczt0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5yYW5nZSgpLm1hcChmdW5jdGlvbihBKXtyZXR1cm4gdy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChBK3UpfSkpO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9O3EucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odSl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZSh1KX07cS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih1KXtyZXR1cm4gdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydCh1KX07CnEucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG19O3EucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4oKX07cS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odSl7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih1KTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfTtxLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfTtxLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4odSk7dGhpcy5fc2V0QmFuZHMoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhbmdlfTsKcS5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKHUpe3RoaXMuX3JhbmdlPXU7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLnJhbmdlKHUpO3RoaXMuX3NldEJhbmRzKCl9O3EucHJvdG90eXBlLl9yZXNjYWxlQmFuZD1mdW5jdGlvbih1KXtyZXR1cm4gTWF0aC5hYnModGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlKHUpLXRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZSgwKSl9O3JldHVybiBxfShoKDE3KS5TY2FsZSk7Zi5DYXRlZ29yeT1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayh4KXt0cnl7dmFyIEM9eC5ub2RlKCkuZ2V0QkJveCgpfWNhdGNoKEcpe0M9e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH19cmV0dXJuIEN9ZnVuY3Rpb24gcih4KXtpZigibnVtYmVyIj09PXR5cGVvZiB4KXJldHVybnttaW46eCxtYXg6eH07aWYoeCBpbnN0YW5jZW9mIE9iamVjdCYmIm1pbiJpbiB4JiYibWF4ImluIHgpcmV0dXJuIHg7dGhyb3cgRXJyb3IoImlucHV0ICciK3grIicgY2FuJ3QgYmUgcGFyc2VkIGFzIGFuIFJhbmdlIik7Cn1mdW5jdGlvbiBsKHgsQyl7eD14LmdldFByb3BlcnR5VmFsdWUoQyk7cmV0dXJuIHBhcnNlRmxvYXQoeCl8fDB9ZnVuY3Rpb24gcCh4KXtpZihudWxsPT14fHwibm9uZSI9PT14KXJldHVybiBudWxsO3g9eC5tYXRjaChBKTtpZihudWxsPT14fHwyPngubGVuZ3RoKXJldHVybiBudWxsO3g9eFsxXS5zcGxpdCh5KS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIHBhcnNlRmxvYXQoQyl9KTtyZXR1cm4gNiE9eC5sZW5ndGg/bnVsbDp4fXZhciBtPWgoMSksbj1NYXRoO2YuY29udGFpbnM9ZnVuY3Rpb24oeCxDKXtmb3IoO251bGwhPUMmJkMhPT14OylDPUMucGFyZW50Tm9kZTtyZXR1cm4gQz09PXh9O2YuZWxlbWVudEJCb3g9aztmLmVudGl0eUJvdW5kcz1mdW5jdGlvbih4KXtyZXR1cm4geCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQ/ayhtLnNlbGVjdCh4KSk6eCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50Pyh4PXguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3g6eC5sZWZ0LHk6eC50b3Asd2lkdGg6eC53aWR0aCwKaGVpZ2h0OnguaGVpZ2h0fSk6e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH19O2YuU0NSRUVOX1JFRlJFU0hfUkFURV9NSUxMSVNFQ09ORFM9MUUzLzYwO2YucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGw9ZnVuY3Rpb24oeCl7bnVsbCE9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHgpOnNldFRpbWVvdXQoeCxmLlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTKX07Zi5lbGVtZW50V2lkdGg9ZnVuY3Rpb24oeCl7eD14IGluc3RhbmNlb2YgbS5zZWxlY3Rpb24/eC5ub2RlKCk6eDt4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHgpO3JldHVybiBsKHgsIndpZHRoIikrbCh4LCJwYWRkaW5nLWxlZnQiKStsKHgsInBhZGRpbmctcmlnaHQiKStsKHgsImJvcmRlci1sZWZ0LXdpZHRoIikrbCh4LCJib3JkZXItcmlnaHQtd2lkdGgiKX07Zi5lbGVtZW50SGVpZ2h0PWZ1bmN0aW9uKHgpe3g9eCBpbnN0YW5jZW9mIG0uc2VsZWN0aW9uPwp4Lm5vZGUoKTp4O3g9d2luZG93LmdldENvbXB1dGVkU3R5bGUoeCk7cmV0dXJuIGwoeCwiaGVpZ2h0IikrbCh4LCJwYWRkaW5nLXRvcCIpK2woeCwicGFkZGluZy1ib3R0b20iKStsKHgsImJvcmRlci10b3Atd2lkdGgiKStsKHgsImJvcmRlci1ib3R0b20td2lkdGgiKX07dmFyIHE9L3RyYW5zbGF0ZVxzKlwoXHMqKCg/OlstK10/WzAtOV0qXC4/WzAtOV0rKSkoPzooPzooPzpccyssP1xzKil8KD86LFxzKikpKCg/OlstK10/WzAtOV0qXC4/WzAtOV0rKSkpP1xzKlwpLyx1PS9yb3RhdGVccypcKFxzKigoPzpbLStdP1swLTldKlwuP1swLTldKykpXHMqXCkvLHc9L3NjYWxlXHMqXChccyooKD86Wy0rXT9bMC05XSpcLj9bMC05XSspKSg/Oig/Oig/OlxzKyw/XHMqKXwoPzosXHMqKSkoKD86Wy0rXT9bMC05XSpcLj9bMC05XSspKSk/XHMqXCkvO2YuZ2V0VHJhbnNsYXRlVmFsdWVzPWZ1bmN0aW9uKHgpe3g9cS5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO2lmKG51bGwhPXgpe3ZhciBDPQp4WzJdO3JldHVyblsreFsxXSwrKHZvaWQgMD09PUM/MDpDKV19cmV0dXJuWzAsMF19O2YuZ2V0Um90YXRlPWZ1bmN0aW9uKHgpe3g9dS5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO3JldHVybiBudWxsIT14Pyt4WzFdOjB9O2YuZ2V0U2NhbGVWYWx1ZXM9ZnVuY3Rpb24oeCl7dmFyIEM9dy5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO3JldHVybiBudWxsIT1DPyh4PUNbMV0sQz1DWzJdLFsreCxudWxsPT1DPyt4OitDXSk6WzAsMF19O2YuY2xpZW50UmVjdHNPdmVybGFwPWZ1bmN0aW9uKHgsQyl7cmV0dXJuIG4uZmxvb3IoeC5yaWdodCk8PW4uY2VpbChDLmxlZnQpfHxuLmNlaWwoeC5sZWZ0KT49bi5mbG9vcihDLnJpZ2h0KXx8bi5mbG9vcih4LmJvdHRvbSk8PW4uY2VpbChDLnRvcCl8fG4uY2VpbCh4LnRvcCk+PW4uZmxvb3IoQy5ib3R0b20pPyExOiEwfTtmLmV4cGFuZFJlY3Q9ZnVuY3Rpb24oeCxDKXtyZXR1cm57bGVmdDp4LmxlZnQtQyx0b3A6eC50b3AtQyxyaWdodDp4LnJpZ2h0KwpDLGJvdHRvbTp4LmJvdHRvbStDLHdpZHRoOngud2lkdGgrMipDLGhlaWdodDp4LmhlaWdodCsyKkN9fTtmLmNsaWVudFJlY3RJbnNpZGU9ZnVuY3Rpb24oeCxDKXtyZXR1cm4gbi5mbG9vcihDLmxlZnQpPD1uLmNlaWwoeC5sZWZ0KSYmbi5mbG9vcihDLnRvcCk8PW4uY2VpbCh4LnRvcCkmJm4uZmxvb3IoeC5yaWdodCk8PW4uY2VpbChDLnJpZ2h0KSYmbi5mbG9vcih4LmJvdHRvbSk8PW4uY2VpbChDLmJvdHRvbSl9O2YuaW50ZXJzZWN0c0JCb3g9ZnVuY3Rpb24oeCxDLEcsRCl7dm9pZCAwPT09RCYmKEQ9LjUpO3g9cih4KTtDPXIoQyk7cmV0dXJuIEcueCtHLndpZHRoPj14Lm1pbi1EJiZHLng8PXgubWF4K0QmJkcueStHLmhlaWdodD49Qy5taW4tRCYmRy55PD1DLm1heCtEfTtmLmdldEh0bWxFbGVtZW50QW5jZXN0b3JzPWZ1bmN0aW9uKHgpe2Zvcih2YXIgQz1bXTt4JiZ4IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7KUMucHVzaCh4KSx4PXgucGFyZW50RWxlbWVudDtyZXR1cm4gQ307CmYuZ2V0RWxlbWVudFRyYW5zZm9ybT1mdW5jdGlvbih4KXt4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHgsbnVsbCk7eD14LmdldFByb3BlcnR5VmFsdWUoIi13ZWJraXQtdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgiLW1vei10cmFuc2Zvcm0iKXx8eC5nZXRQcm9wZXJ0eVZhbHVlKCItbXMtdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgiLW8tdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIik7cmV0dXJuIHAoeCl9O3ZhciBBPS9ebWF0cml4XCgoW14pXSspXCkkLyx5PS9bLCBdKy99LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHUsdyl7cmV0dXJuW3VbMF0qd1swXSt1WzJdKndbMV0sdVsxXSp3WzBdK3VbM10qd1sxXSx1WzBdKndbMl0rdVsyXSp3WzNdLHVbMV0qd1syXSt1WzNdKndbM10sdVswXSp3WzRdK3VbMl0qd1s1XSt1WzRdLHVbMV0qd1s0XSt1WzNdKndbNV0rdVs1XV19ZnVuY3Rpb24gcih1LHcpe3JldHVyblt1WzBdLAp1WzFdLHVbMl0sdVszXSx1WzBdKndbMF0rdVsyXSp3WzFdK3VbNF0sdVsxXSp3WzBdK3VbM10qd1sxXSt1WzVdXX1mdW5jdGlvbiBsKHUpe3ZhciB3PXVbMF0qdVszXS11WzFdKnVbMl07aWYoMD09PXcpdGhyb3cgRXJyb3IoInNpbmd1bGFyIG1hdHJpeCIpO3c9MS93O3JldHVyblt3KnVbM10sdyotdVsxXSx3Ki11WzJdLHcqdVswXSx3KigtdVszXSp1WzRdK3VbMl0qdVs1XSksdyoodVsxXSp1WzRdKy11WzBdKnVbNV0pXX12YXIgcD1oKDEpLG09aCg1NSksbj1NYXRoLHE9WzEsMCwwLDEsMCwwXTtmLmluUmFuZ2U9ZnVuY3Rpb24odSx3LEEpe3JldHVybiBuLm1pbih3LEEpPD11JiZ1PD1uLm1heCh3LEEpfTtmLmNsYW1wPWZ1bmN0aW9uKHUsdyxBKXtyZXR1cm4gbi5taW4obi5tYXgodyx1KSxBKX07Zi5tYXg9ZnVuY3Rpb24odSx3LEEpe3ZhciB5PSJmdW5jdGlvbiI9PT10eXBlb2Ygdz93Om51bGw7dz1udWxsPT15P3c6QTt1PW51bGw9PXk/cC5tYXgodSk6cC5tYXgodSx5KTtyZXR1cm4gdm9pZCAwIT09CnU/dTp3fTtmLm1pbj1mdW5jdGlvbih1LHcsQSl7dmFyIHk9ImZ1bmN0aW9uIj09PXR5cGVvZiB3P3c6bnVsbDt3PW51bGw9PXk/dzpBO3U9bnVsbD09eT9wLm1pbih1KTpwLm1pbih1LHkpO3JldHVybiB2b2lkIDAhPT11P3U6d307Zi5pc05hTj1mdW5jdGlvbih1KXtyZXR1cm4gdSE9PXV9O2YuaXNWYWxpZE51bWJlcj1mdW5jdGlvbih1KXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiB1JiYxPnUtdX07Zi5yYW5nZT1mdW5jdGlvbih1LHcsQSl7dm9pZCAwPT09QSYmKEE9MSk7aWYoMD09PUEpdGhyb3cgRXJyb3IoInN0ZXAgY2Fubm90IGJlIDAiKTt3PW4ubWF4KG4uY2VpbCgody11KS9BKSwwKTtmb3IodmFyIHk9W10seD0wO3g8dzsrK3gpeVt4XT11K0EqeDtyZXR1cm4geX07Zi5kaXN0YW5jZVNxdWFyZWQ9ZnVuY3Rpb24odSx3KXtyZXR1cm4gbi5wb3cody55LXUueSwyKStuLnBvdyh3LngtdS54LDIpfTtmLmRlZ3JlZXNUb1JhZGlhbnM9ZnVuY3Rpb24odSl7cmV0dXJuIHUvMzYwKgpuLlBJKjJ9O2Yud2l0aGluPWZ1bmN0aW9uKHUsdyl7cmV0dXJuIHcudG9wTGVmdC54PD11LngmJncuYm90dG9tUmlnaHQueD49dS54JiZ3LnRvcExlZnQueTw9dS55JiZ3LmJvdHRvbVJpZ2h0Lnk+PXUueX07Zi5ib3VuZHNJbnRlcnNlY3RzPWZ1bmN0aW9uKHUsdyxBLHkseCxDKXtyZXR1cm4gdTw9MCt4JiYwPD11K0EmJnc8PTArQyYmMDw9dyt5fTtmLmdldEN1bXVsYXRpdmVUcmFuc2Zvcm09ZnVuY3Rpb24odSl7dT1tLmdldEh0bWxFbGVtZW50QW5jZXN0b3JzKHUpO2Zvcih2YXIgdz1xLEE9bnVsbCx5PTA7eTx1Lmxlbmd0aDt5Kyspe3ZhciB4PXVbeV0sQz1tLmdldEVsZW1lbnRUcmFuc2Zvcm0oeCk7aWYobnVsbCE9Qyl7dmFyIEc9eC5jbGllbnRXaWR0aC8yLEQ9eC5jbGllbnRIZWlnaHQvMjt3PXIodyxbRyxEXSk7dz1rKHcsbChDKSk7dz1yKHcsWy1HLC1EXSl9Qz14LnNjcm9sbExlZnQ7Rz14LnNjcm9sbFRvcDtpZihudWxsPT09QXx8eD09PUEpQy09eC5vZmZzZXRMZWZ0K3guY2xpZW50TGVmdCwKRy09eC5vZmZzZXRUb3AreC5jbGllbnRUb3AsQT14Lm9mZnNldFBhcmVudDt3PXIodyxbQyxHXSl9cmV0dXJuIHd9O2YubXVsdGlwbHlNYXRyaXg9aztmLnByZW11bHRpcGx5VHJhbnNsYXRlPWZ1bmN0aW9uKHUsdyl7cmV0dXJuW3dbMF0sd1sxXSx3WzJdLHdbM10sd1s0XSt1WzBdLHdbNV0rdVsxXV19O2YubXVsdGlwbHlUcmFuc2xhdGU9cjtmLmludmVydE1hdHJpeD1sO2YuYXBwbHlUcmFuc2Zvcm09ZnVuY3Rpb24odSx3KXtyZXR1cm57eDp1WzBdKncueCt1WzJdKncueSt1WzRdLHk6dVsxXSp3LngrdVszXSp3LnkrdVs1XX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9bmV3IChoKDExNCkuU3BsaXRTdHJhdGVneUxpbmVhcik7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHAobSxuKXt2b2lkIDA9PT1tJiYobT01KTt2b2lkIDA9PT1uJiYobj1rKTt0aGlzLm1heE5vZGVDaGlsZHJlbj1tO3RoaXMuc3BsaXRTdHJhdGVneT1uO3RoaXMucm9vdD1uZXcgcighMCk7dGhpcy5zaXplPTB9cC5wcm90b3R5cGUuZ2V0Um9vdD0KZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290fTtwLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMucm9vdD1uZXcgcighMCk7dGhpcy5zaXplPTB9O3AucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbihtLG4pe2Zvcih2YXIgcT10aGlzLnJvb3Q7IXEubGVhZjspcT1xLnN1YnRyZWUobSk7bT1yLnZhbHVlTm9kZShtLG4pO3EuaW5zZXJ0KG0pO2Zvcih0aGlzLnNpemUrPTE7cS5vdmVyZmxvdyh0aGlzLm1heE5vZGVDaGlsZHJlbik7KXE9cS5zcGxpdCh0aGlzLnNwbGl0U3RyYXRlZ3kpLG51bGw9PXEucGFyZW50JiYodGhpcy5yb290PXEpfTtwLnByb3RvdHlwZS5sb2NhdGU9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMucXVlcnkoZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbnMobSl9KX07cC5wcm90b3R5cGUuaW50ZXJzZWN0PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcEJvdW5kcyhuLG0pfSl9O3AucHJvdG90eXBlLmludGVyc2VjdFg9CmZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcFgobixtKX0pfTtwLnByb3RvdHlwZS5pbnRlcnNlY3RZPWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcFkobixtKX0pfTtwLnByb3RvdHlwZS5xdWVyeT1mdW5jdGlvbihtKXt2YXIgbj1bXTtpZihudWxsIT10aGlzLnJvb3QuYm91bmRzJiYhbSh0aGlzLnJvb3QuYm91bmRzKSlyZXR1cm4gbjtmb3IodmFyIHE9W3RoaXMucm9vdF07MDxxLmxlbmd0aDspZm9yKHZhciB1PXEuc2hpZnQoKSx3PTA7dzx1LmVudHJpZXMubGVuZ3RoO3crKyl7dmFyIEE9dS5lbnRyaWVzW3ddO20oQS5ib3VuZHMpJiYodS5sZWFmP24ucHVzaChBLnZhbHVlKTpxLnB1c2goQSkpfXJldHVybiBufTtyZXR1cm4gcH0oKTtmLlJUcmVlPWQ7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBwKG0pe3RoaXMubGVhZj1tO3RoaXMuYm91bmRzPQpudWxsO3RoaXMuZW50cmllcz1bXTt0aGlzLnZhbHVlPXRoaXMucGFyZW50PW51bGx9cC52YWx1ZU5vZGU9ZnVuY3Rpb24obSxuKXt2YXIgcT1uZXcgcCghMCk7cS5ib3VuZHM9bTtxLnZhbHVlPW47cmV0dXJuIHF9O3AucHJvdG90eXBlLm92ZXJmbG93PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLmVudHJpZXMubGVuZ3RoPm19O3AucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbihtKXt0aGlzLmVudHJpZXMucHVzaChtKTttLnBhcmVudD10aGlzO2Zvcih2YXIgbj10aGlzO251bGwhPW47KW4uYm91bmRzPWwudW5pb25BbGwoW24uYm91bmRzLG0uYm91bmRzXSksbj1uLnBhcmVudH07cC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKG0pe209dGhpcy5lbnRyaWVzLmluZGV4T2YobSk7aWYoMDw9bSlmb3IodGhpcy5lbnRyaWVzLnNwbGljZShtLDEpLG09dGhpcztudWxsIT1tOyltLmJvdW5kcz1sLnVuaW9uQWxsKG0uZW50cmllcy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYm91bmRzfSkpLAptPW0ucGFyZW50O3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5zdWJ0cmVlPWZ1bmN0aW9uKG0pe2Zvcih2YXIgbj1udWxsLHE9MDtxPHRoaXMuZW50cmllcy5sZW5ndGg7cSsrKXt2YXIgdT10aGlzLmVudHJpZXNbcV0sdz11LnVuaW9uQXJlYURpZmZlcmVuY2UobSk7aWYoSW5maW5pdHk+d3x8SW5maW5pdHk9PT13JiZudWxsIT1uJiZ1LmVudHJpZXMubGVuZ3RoPG4uZW50cmllcy5sZW5ndGgpbj11fXJldHVybiBufTtwLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihtKXtudWxsIT10aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlKHRoaXMpO3ZhciBuPVtuZXcgcCh0aGlzLmxlYWYpLG5ldyBwKHRoaXMubGVhZildO20uc3BsaXQodGhpcy5lbnRyaWVzLG4pO209bnVsbCE9dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQ6bmV3IHAoITEpO20uaW5zZXJ0KG5bMF0pO20uaW5zZXJ0KG5bMV0pO3JldHVybiBtfTtwLnByb3RvdHlwZS51bmlvbkFyZWFEaWZmZXJlbmNlPWZ1bmN0aW9uKG0pe3JldHVybiBNYXRoLmFicyhsLnVuaW9uKHRoaXMuYm91bmRzLAptKS5hcmVhKCktdGhpcy5ib3VuZHMuYXJlYSgpKX07cC5wcm90b3R5cGUubWF4RGVwdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZWFmPzE6MSt0aGlzLmVudHJpZXMubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtLm1heERlcHRoKCl9KS5yZWR1Y2UoZnVuY3Rpb24obSxuKXtyZXR1cm4gTWF0aC5tYXgobSxuKX0pfTtyZXR1cm4gcH0oKTtmLlJUcmVlTm9kZT1yO3ZhciBsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcChtLG4scSx1KXt0aGlzLnhsPW07dGhpcy55bD1uO3RoaXMueGg9cTt0aGlzLnloPXU7dGhpcy53aWR0aD10aGlzLnhoLXRoaXMueGw7dGhpcy5oZWlnaHQ9dGhpcy55aC10aGlzLnlsfXAueHl3aD1mdW5jdGlvbihtLG4scSx1KXtyZXR1cm4gbmV3IHAobSxuLG0rcSxuK3UpfTtwLmVudGl0eUJvdW5kcz1mdW5jdGlvbihtKXtyZXR1cm4gbmV3IHAobS54LG0ueSxtLngrbS53aWR0aCxtLnkrbS5oZWlnaHQpfTtwLmJvdW5kcz1mdW5jdGlvbihtKXtyZXR1cm4gcC5wb2ludFBhaXIobS50b3BMZWZ0LAptLmJvdHRvbVJpZ2h0KX07cC5wb2ludFBhaXI9ZnVuY3Rpb24obSxuKXtyZXR1cm4gbmV3IHAoTWF0aC5taW4obS54LG4ueCksTWF0aC5taW4obS55LG4ueSksTWF0aC5tYXgobS54LG4ueCksTWF0aC5tYXgobS55LG4ueSkpfTtwLnBvaW50cz1mdW5jdGlvbihtKXtpZigyPm0ubGVuZ3RoKXRocm93IEVycm9yKCJuZWVkIGF0IGxlYXN0IDIgcG9pbnRzIHRvIGNyZWF0ZSBib3VuZHMiKTt2YXIgbj1tLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gcS54fSk7bT1tLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gcS55fSk7cmV0dXJuIG5ldyBwKG4ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWluKHEsdSl9KSxtLnJlZHVjZShmdW5jdGlvbihxLHUpe3JldHVybiBNYXRoLm1pbihxLHUpfSksbi5yZWR1Y2UoZnVuY3Rpb24ocSx1KXtyZXR1cm4gTWF0aC5tYXgocSx1KX0pLG0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWF4KHEsdSl9KSl9O3AudW5pb249ZnVuY3Rpb24obSwKbil7cmV0dXJuIG5ldyBwKE1hdGgubWluKG0ueGwsbi54bCksTWF0aC5taW4obS55bCxuLnlsKSxNYXRoLm1heChtLnhoLG4ueGgpLE1hdGgubWF4KG0ueWgsbi55aCkpfTtwLnVuaW9uQWxsPWZ1bmN0aW9uKG0pe209bS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG51bGwhPW59KTtyZXR1cm4gMD09PW0ubGVuZ3RoP251bGw6bS5yZWR1Y2UoZnVuY3Rpb24obixxKXtyZXR1cm4gcC51bmlvbihuLHEpfSl9O3AuaXNCb3VuZHNPdmVybGFwQm91bmRzPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHAuaXNCb3VuZHNPdmVybGFwWChtLG4pJiZwLmlzQm91bmRzT3ZlcmxhcFkobSxuKX07cC5pc0JvdW5kc092ZXJsYXBYPWZ1bmN0aW9uKG0sbil7cmV0dXJuIShtLnhoPG4ueGwpJiYhKG0ueGw+bi54aCl9O3AuaXNCb3VuZHNPdmVybGFwWT1mdW5jdGlvbihtLG4pe3JldHVybiEobS55aDxuLnlsKSYmIShtLnlsPm4ueWgpfTtwLnByb3RvdHlwZS5hcmVhPWZ1bmN0aW9uKCl7bnVsbD09dGhpcy5hcmVhQ2FjaGVkJiYKKHRoaXMuYXJlYUNhY2hlZD0odGhpcy54aC10aGlzLnhsKSoodGhpcy55aC10aGlzLnlsKSk7cmV0dXJuIHRoaXMuYXJlYUNhY2hlZH07cC5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMueGw8PW0ueCYmdGhpcy54aD49bS54JiZ0aGlzLnlsPD1tLnkmJnRoaXMueWg+PW0ueX07cmV0dXJuIHB9KCk7Zi5SVHJlZUJvdW5kcz1sfSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuU2V0P3RoaXMuX2VzNlNldD1uZXcgd2luZG93LlNldDp0aGlzLl92YWx1ZXM9W107dGhpcy5zaXplPTB9aC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGspe2lmKG51bGwhPXRoaXMuX2VzNlNldClyZXR1cm4gdGhpcy5fZXM2U2V0LmFkZChrKSx0aGlzLnNpemU9dGhpcy5fZXM2U2V0LnNpemUsdGhpczt0aGlzLmhhcyhrKXx8KHRoaXMuX3ZhbHVlcy5wdXNoKGspLHRoaXMuc2l6ZT10aGlzLl92YWx1ZXMubGVuZ3RoKTsKcmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihrKXtpZihudWxsIT10aGlzLl9lczZTZXQpcmV0dXJuIGs9dGhpcy5fZXM2U2V0LmRlbGV0ZShrKSx0aGlzLnNpemU9dGhpcy5fZXM2U2V0LnNpemUsaztrPXRoaXMuX3ZhbHVlcy5pbmRleE9mKGspO3JldHVybi0xIT09az8odGhpcy5fdmFsdWVzLnNwbGljZShrLDEpLHRoaXMuc2l6ZT10aGlzLl92YWx1ZXMubGVuZ3RoLCEwKTohMX07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBudWxsIT10aGlzLl9lczZTZXQ/dGhpcy5fZXM2U2V0LmhhcyhrKTotMSE9PXRoaXMuX3ZhbHVlcy5pbmRleE9mKGspfTtoLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGsscil7dmFyIGw9dGhpcztudWxsIT10aGlzLl9lczZTZXQ/dGhpcy5fZXM2U2V0LmZvckVhY2goZnVuY3Rpb24ocCxtKXtyZXR1cm4gay5jYWxsKHIscCxtLGwpfSxyKTp0aGlzLl92YWx1ZXMuZm9yRWFjaChmdW5jdGlvbihwKXtrLmNhbGwociwKcCxwLGwpfSl9O3JldHVybiBofSgpO2YuU2V0PWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCgxMzEpKTtrKGgoMTMwKSl9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDIxKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2YXIgcT1sLmNhbGwodGhpcyxtLG4pfHx0aGlzO3EuY2FjaGU9bmV3IHIuQ2FjaGUoZnVuY3Rpb24odSl7cmV0dXJuIHEuX21lYXN1cmVDaGFyYWN0ZXJOb3RGcm9tQ2FjaGUodSl9KTtyZXR1cm4gcX1rKHAsbCk7cC5wcm90b3R5cGUuX21lYXN1cmVDaGFyYWN0ZXJOb3RGcm9tQ2FjaGU9CmZ1bmN0aW9uKG0pe3JldHVybiBsLnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlci5jYWxsKHRoaXMsbSl9O3AucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyPWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLmNhY2hlLmdldChtKX07cC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlLmNsZWFyKCl9O3JldHVybiBwfShoKDYxKS5DaGFyYWN0ZXJNZWFzdXJlcik7Zi5DYWNoZUNoYXJhY3Rlck1lYXN1cmVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHwKdGhpc31rKGwscik7bC5wcm90b3R5cGUuX21lYXN1cmVDaGFyYWN0ZXI9ZnVuY3Rpb24ocCl7cmV0dXJuIHIucHJvdG90eXBlLl9tZWFzdXJlTGluZS5jYWxsKHRoaXMscCl9O2wucHJvdG90eXBlLl9tZWFzdXJlTGluZT1mdW5jdGlvbihwKXt2YXIgbT10aGlzO3A9cC5zcGxpdCgiIikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBtLl9tZWFzdXJlQ2hhcmFjdGVyKG4pfSk7cmV0dXJue2hlaWdodDpwLnJlZHVjZShmdW5jdGlvbihuLHEpe3JldHVybiBNYXRoLm1heChuLHEuaGVpZ2h0KX0sMCksd2lkdGg6cC5yZWR1Y2UoZnVuY3Rpb24obixxKXtyZXR1cm4gbitxLndpZHRofSwwKX19O3JldHVybiBsfShoKDYzKS5NZWFzdXJlcik7Zi5DaGFyYWN0ZXJNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMzYpKTtrKGgoNjApKTtrKGgoMTMyKSk7ayhoKDYxKSk7ayhoKDYzKSl9LApmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKGwscCl7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9bH1mb3IodmFyIG4gaW4gcClwLmhhc093blByb3BlcnR5KG4pJiYobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCgzNik7ZD1mdW5jdGlvbihsKXtmdW5jdGlvbiBwKG0sbil7dm9pZCAwPT09biYmKG49ITEpO209bC5jYWxsKHRoaXMsbSl8fHRoaXM7bS51c2VHdWFyZHM9bjtyZXR1cm4gbX1rKHAsbCk7cC5wcm90b3R5cGUuX2FkZEd1YXJkcz1mdW5jdGlvbihtKXtyZXR1cm4gci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUK20rci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUfTtwLnByb3RvdHlwZS5fbWVhc3VyZUxpbmU9ZnVuY3Rpb24obSl7dmFyIG47dm9pZCAwPT09biYmKG49ITEpO249dGhpcy51c2VHdWFyZHN8fApufHwvXltcdCBdJC8udGVzdChtKTttPWwucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLG4/dGhpcy5fYWRkR3VhcmRzKG0pOm0pO20ud2lkdGgtPW4/Mip0aGlzLmdldEd1YXJkV2lkdGgoKTowO3JldHVybiBtfTtwLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKG0pe3ZhciBuPXRoaXM7dm9pZCAwPT09bSYmKG09ci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUKTtpZigiIj09PW0udHJpbSgpKXJldHVybnt3aWR0aDowLGhlaWdodDowfTttPW0udHJpbSgpLnNwbGl0KCJcbiIpLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUxpbmUocSl9KTtyZXR1cm57aGVpZ2h0Om0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIHErdS5oZWlnaHR9LDApLHdpZHRoOm0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWF4KHEsdS53aWR0aCl9LDApfX07cC5wcm90b3R5cGUuZ2V0R3VhcmRXaWR0aD1mdW5jdGlvbigpe251bGw9PXRoaXMuZ3VhcmRXaWR0aCYmCih0aGlzLmd1YXJkV2lkdGg9bC5wcm90b3R5cGUubWVhc3VyZS5jYWxsKHRoaXMpLndpZHRoKTtyZXR1cm4gdGhpcy5ndWFyZFdpZHRofTtyZXR1cm4gcH0oci5BYnN0cmFjdE1lYXN1cmVyKTtmLk1lYXN1cmVyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCgxMzgpKTtrKGgoNjUpKX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMjEpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7dGhpcy5tYXhMaW5lcyhJbmZpbml0eSk7dGhpcy50ZXh0VHJpbW1pbmcoKTt0aGlzLmFsbG93QnJlYWtpbmdXb3JkcygpO3RoaXMuX3Rva2VuaXplcj1uZXcgay5Ub2tlbml6ZXI7dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI9Ii0ifXIucHJvdG90eXBlLm1heExpbmVzPWZ1bmN0aW9uKGwpe2lmKG51bGw9PWwpcmV0dXJuIHRoaXMuX21heExpbmVzO3RoaXMuX21heExpbmVzPWw7cmV0dXJuIHRoaXN9OwpyLnByb3RvdHlwZS50ZXh0VHJpbW1pbmc9ZnVuY3Rpb24oKXt0aGlzLl90ZXh0VHJpbW1pbmc9ImVsbGlwc2lzIn07ci5wcm90b3R5cGUuYWxsb3dCcmVha2luZ1dvcmRzPWZ1bmN0aW9uKCl7dGhpcy5fYWxsb3dCcmVha2luZ1dvcmRzPSEwfTtyLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGwscCxtLG4pe3ZhciBxPXRoaXM7dm9pZCAwPT09biYmKG49SW5maW5pdHkpO3ZhciB1PXtub0Jyb2tlV29yZHM6MCxub0xpbmVzOjAsb3JpZ2luYWxUZXh0OmwsdHJ1bmNhdGVkVGV4dDoiIix3cmFwcGVkVGV4dDoiIn07bT17YXZhaWxhYmxlTGluZXM6TWF0aC5taW4oTWF0aC5mbG9vcihuL3AubWVhc3VyZSgpLmhlaWdodCksdGhpcy5fbWF4TGluZXMpLGF2YWlsYWJsZVdpZHRoOm0sY2FuRml0VGV4dDohMCxjdXJyZW50TGluZToiIix3cmFwcGluZzp1fTt2YXIgdz1sLnNwbGl0KCJcbiIpO3JldHVybiB3LnJlZHVjZShmdW5jdGlvbihBLHkseCl7cmV0dXJuIHEuYnJlYWtMaW5lVG9GaXRXaWR0aChBLAp5LHghPT13Lmxlbmd0aC0xLHApfSxtKS53cmFwcGluZ307ci5wcm90b3R5cGUuYnJlYWtMaW5lVG9GaXRXaWR0aD1mdW5jdGlvbihsLHAsbSxuKXt2YXIgcT10aGlzO2wuY2FuRml0VGV4dHx8IiI9PT1sLndyYXBwaW5nLnRydW5jYXRlZFRleHR8fChsLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPSJcbiIpO2w9dGhpcy5fdG9rZW5pemVyLnRva2VuaXplKHApLnJlZHVjZShmdW5jdGlvbih1LHcpe3JldHVybiBxLndyYXBOZXh0VG9rZW4odyx1LG4pfSxsKTtwPWsuU3RyaW5nTWV0aG9kcy50cmltRW5kKGwuY3VycmVudExpbmUpO2wud3JhcHBpbmcubm9MaW5lcys9KygiIiE9PXApO2wud3JhcHBpbmcubm9MaW5lcz09PWwuYXZhaWxhYmxlTGluZXMmJiJub25lIiE9PXRoaXMuX3RleHRUcmltbWluZyYmbT9sLmNhbkZpdFRleHQ9ITE6bC53cmFwcGluZy53cmFwcGVkVGV4dCs9cDtsLmN1cnJlbnRMaW5lPSJcbiI7cmV0dXJuIGx9O3IucHJvdG90eXBlLmNhbkZpdFRva2VuPWZ1bmN0aW9uKGwsCnAsbSl7dmFyIG49dGhpcyxxPXRoaXMuX2FsbG93QnJlYWtpbmdXb3Jkcz9sLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24odSx3KXtyZXR1cm4gdyE9PWwubGVuZ3RoLTE/dStuLl9icmVha2luZ0NoYXJhY3Rlcjp1fSk6W2xdO3JldHVybiBtLm1lYXN1cmUobCkud2lkdGg8PXB8fHEuZXZlcnkoZnVuY3Rpb24odSl7cmV0dXJuIG0ubWVhc3VyZSh1KS53aWR0aDw9cH0pfTtyLnByb3RvdHlwZS5hZGRFbGxpcHNpcz1mdW5jdGlvbihsLHAsbSl7aWYoIm5vbmUiPT09dGhpcy5fdGV4dFRyaW1taW5nKXJldHVybntyZW1haW5pbmdUb2tlbjoiIix3cmFwcGVkVG9rZW46bH07dmFyIG49bC5zdWJzdHJpbmcoMCkudHJpbSgpLHE9bS5tZWFzdXJlKG4pLndpZHRoLHU9bS5tZWFzdXJlKCIuLi4iKS53aWR0aCx3PTA8bC5sZW5ndGgmJiJcbiI9PT1sWzBdPyJcbiI6IiI7aWYocDw9dSlyZXR1cm57cmVtYWluaW5nVG9rZW46bCx3cmFwcGVkVG9rZW46dysiLi4uIi5zdWJzdHIoMCxNYXRoLmZsb29yKHAvCih1LzMpKSl9O2Zvcig7cSt1PnA7KW49ay5TdHJpbmdNZXRob2RzLnRyaW1FbmQobi5zdWJzdHIoMCxuLmxlbmd0aC0xKSkscT1tLm1lYXN1cmUobikud2lkdGg7cmV0dXJue3JlbWFpbmluZ1Rva2VuOmsuU3RyaW5nTWV0aG9kcy50cmltRW5kKGwuc3Vic3RyaW5nKG4ubGVuZ3RoKSwiLSIpLnRyaW0oKSx3cmFwcGVkVG9rZW46dytuKyIuLi4ifX07ci5wcm90b3R5cGUud3JhcE5leHRUb2tlbj1mdW5jdGlvbihsLHAsbSl7aWYoIXAuY2FuRml0VGV4dHx8cC5hdmFpbGFibGVMaW5lcz09PXAud3JhcHBpbmcubm9MaW5lc3x8IXRoaXMuY2FuRml0VG9rZW4obCxwLmF2YWlsYWJsZVdpZHRoLG0pKXJldHVybiB0aGlzLmZpbmlzaFdyYXBwaW5nKGwscCxtKTtmb3IoO2w7KXt2YXIgbj10aGlzLmJyZWFrVG9rZW5Ub0ZpdEluV2lkdGgobCxwLmN1cnJlbnRMaW5lLHAuYXZhaWxhYmxlV2lkdGgsbSk7cC5jdXJyZW50TGluZT1uLmxpbmU7bD1uLnJlbWFpbmluZ1Rva2VuO2lmKG51bGwhPWwpaWYocC53cmFwcGluZy5ub0Jyb2tlV29yZHMrPQorbi5icmVha1dvcmQsKytwLndyYXBwaW5nLm5vTGluZXMscC5hdmFpbGFibGVMaW5lcz09PXAud3JhcHBpbmcubm9MaW5lcyl7bT10aGlzLmFkZEVsbGlwc2lzKHAuY3VycmVudExpbmUscC5hdmFpbGFibGVXaWR0aCxtKTtwLndyYXBwaW5nLndyYXBwZWRUZXh0Kz1tLndyYXBwZWRUb2tlbjtwLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPW0ucmVtYWluaW5nVG9rZW4rbDtwLmN1cnJlbnRMaW5lPSJcbiI7YnJlYWt9ZWxzZSBwLndyYXBwaW5nLndyYXBwZWRUZXh0Kz1rLlN0cmluZ01ldGhvZHMudHJpbUVuZChwLmN1cnJlbnRMaW5lKSxwLmN1cnJlbnRMaW5lPSJcbiJ9cmV0dXJuIHB9O3IucHJvdG90eXBlLmZpbmlzaFdyYXBwaW5nPWZ1bmN0aW9uKGwscCxtKXtwLmNhbkZpdFRleHQmJnAuYXZhaWxhYmxlTGluZXMhPT1wLndyYXBwaW5nLm5vTGluZXMmJnRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcyYmIm5vbmUiIT09dGhpcy5fdGV4dFRyaW1taW5nPyhtPXRoaXMuYWRkRWxsaXBzaXMocC5jdXJyZW50TGluZSsKbCxwLmF2YWlsYWJsZVdpZHRoLG0pLHAud3JhcHBpbmcud3JhcHBlZFRleHQrPW0ud3JhcHBlZFRva2VuLHAud3JhcHBpbmcudHJ1bmNhdGVkVGV4dCs9bS5yZW1haW5pbmdUb2tlbixwLndyYXBwaW5nLm5vQnJva2VXb3Jkcys9KyhtLnJlbWFpbmluZ1Rva2VuLmxlbmd0aDxsLmxlbmd0aCkscC53cmFwcGluZy5ub0xpbmVzKz0rKDA8bS53cmFwcGVkVG9rZW4ubGVuZ3RoKSxwLmN1cnJlbnRMaW5lPSIiKTpwLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPWw7cC5jYW5GaXRUZXh0PSExO3JldHVybiBwfTtyLnByb3RvdHlwZS5icmVha1Rva2VuVG9GaXRJbldpZHRoPWZ1bmN0aW9uKGwscCxtLG4pe2lmKHZvaWQgMD09PXEpdmFyIHE9dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI7aWYobi5tZWFzdXJlKHArbCkud2lkdGg8PW0pcmV0dXJue2JyZWFrV29yZDohMSxsaW5lOnArbCxyZW1haW5pbmdUb2tlbjpudWxsfTtpZigiIj09PWwudHJpbSgpKXJldHVybnticmVha1dvcmQ6ITEsbGluZTpwLApyZW1haW5pbmdUb2tlbjoiIn07aWYoIXRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcylyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6cCxyZW1haW5pbmdUb2tlbjpsfTtmb3IodmFyIHU9MDt1PGwubGVuZ3RoOylpZihuLm1lYXN1cmUocCtsLnN1YnN0cmluZygwLHUrMSkrcSkud2lkdGg8PW0pKyt1O2Vsc2UgYnJlYWs7bT0iIjswPHUmJihtPXEpO3JldHVybnticmVha1dvcmQ6MDx1LGxpbmU6cCtsLnN1YnN0cmluZygwLHUpK20scmVtYWluaW5nVG9rZW46bC5zdWJzdHJpbmcodSl9fTtyZXR1cm4gcn0oKTtmLldyYXBwZXI9ZH0sZnVuY3Rpb24oZCxmLGgpeyhmdW5jdGlvbihrKXtmb3IodmFyIHIgaW4gaylmLmhhc093blByb3BlcnR5KHIpfHwoZltyXT1rW3JdKX0pKGgoMTM5KSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg3MikpO2soaCg3MykpO2soaCgyOCkpfSxmdW5jdGlvbihkLApmKXtmLnZlcnNpb249IjMuNy4wIn0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoeCxDKXtyZXR1cm4geC5lYWNoKGZ1bmN0aW9uKCl7dmFyIEc9Qy5hcHBseSh0aGlzLGFyZ3VtZW50cyksRD15LnNlbGVjdCh0aGlzKSxCO2ZvcihCIGluIEcpRC5hdHRyKEIsR1tCXSl9KX1mdW5jdGlvbiByKHgsQyl7Zm9yKHZhciBHIGluIEMpeC5hdHRyKEcsQ1tHXSk7cmV0dXJuIHh9ZnVuY3Rpb24gbCh4LEMsRyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBEPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEI9eS5zZWxlY3QodGhpcyksSDtmb3IoSCBpbiBEKUIuc3R5bGUoSCxEW0hdLEcpfSl9ZnVuY3Rpb24gcCh4LEMsRyl7Zm9yKHZhciBEIGluIEMpeC5zdHlsZShELENbRF0sRyk7cmV0dXJuIHh9ZnVuY3Rpb24gbSh4LEMpe3JldHVybiB4LmVhY2goZnVuY3Rpb24oKXt2YXIgRz1DLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxEPXkuc2VsZWN0KHRoaXMpLEI7Zm9yKEIgaW4gRylELnByb3BlcnR5KEIsCkdbQl0pfSl9ZnVuY3Rpb24gbih4LEMpe2Zvcih2YXIgRyBpbiBDKXgucHJvcGVydHkoRyxDW0ddKTtyZXR1cm4geH1mdW5jdGlvbiBxKHgsQyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBHPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEQ9eS5zZWxlY3QodGhpcykudHJhbnNpdGlvbih4KSxCO2ZvcihCIGluIEcpRC5hdHRyKEIsR1tCXSl9KX1mdW5jdGlvbiB1KHgsQyl7Zm9yKHZhciBHIGluIEMpeC5hdHRyKEcsQ1tHXSk7cmV0dXJuIHh9ZnVuY3Rpb24gdyh4LEMsRyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBEPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEI9eS5zZWxlY3QodGhpcykudHJhbnNpdGlvbih4KSxIO2ZvcihIIGluIEQpQi5zdHlsZShILERbSF0sRyl9KX1mdW5jdGlvbiBBKHgsQyxHKXtmb3IodmFyIEQgaW4gQyl4LnN0eWxlKEQsQ1tEXSxHKTtyZXR1cm4geH12YXIgeT1kPWgoMSk7eS5zZWxlY3Rpb24ucHJvdG90eXBlLmF0dHJzPWZ1bmN0aW9uKHgpe3JldHVybigiZnVuY3Rpb24iPT09CnR5cGVvZiB4P2s6cikodGhpcyx4KX07eS5zZWxlY3Rpb24ucHJvdG90eXBlLnN0eWxlcz1mdW5jdGlvbih4KXtyZXR1cm4oImZ1bmN0aW9uIj09PXR5cGVvZiB4P2w6cCkodGhpcyx4LCIiKX07eS5zZWxlY3Rpb24ucHJvdG90eXBlLnByb3BlcnRpZXM9ZnVuY3Rpb24oeCl7cmV0dXJuKCJmdW5jdGlvbiI9PT10eXBlb2YgeD9tOm4pKHRoaXMseCl9O2QudHJhbnNpdGlvbi5wcm90b3R5cGUuYXR0cnM9ZnVuY3Rpb24oeCl7cmV0dXJuKCJmdW5jdGlvbiI9PT10eXBlb2YgeD9xOnUpKHRoaXMseCl9O2QudHJhbnNpdGlvbi5wcm90b3R5cGUuc3R5bGVzPWZ1bmN0aW9uKHgpe3JldHVybigiZnVuY3Rpb24iPT09dHlwZW9mIHg/dzpBKSh0aGlzLHgsIiIpfX0sZnVuY3Rpb24oZCxmLGgpe2Q9aCgxMTcpO3ZhciBrPWgoMTIpO2g9aCgxMCk7dmFyIHI9e2xpbmVhcjpkLmVhc2VMaW5lYXIscXVhZDpkLmVhc2VRdWFkLHF1YWRJbjpkLmVhc2VRdWFkSW4scXVhZE91dDpkLmVhc2VRdWFkT3V0LApxdWFkSW5PdXQ6ZC5lYXNlUXVhZEluT3V0LGN1YmljOmQuZWFzZUN1YmljLGN1YmljSW46ZC5lYXNlQ3ViaWNJbixjdWJpY091dDpkLmVhc2VDdWJpY091dCxjdWJpY0luT3V0OmQuZWFzZUN1YmljSW5PdXQscG9seTpkLmVhc2VQb2x5LHBvbHlJbjpkLmVhc2VQb2x5SW4scG9seU91dDpkLmVhc2VQb2x5T3V0LHBvbHlJbk91dDpkLmVhc2VQb2x5SW5PdXQsc2luOmQuZWFzZVNpbixzaW5JbjpkLmVhc2VTaW5JbixzaW5PdXQ6ZC5lYXNlU2luT3V0LHNpbkluT3V0OmQuZWFzZVNpbkluT3V0LGV4cDpkLmVhc2VFeHAsZXhwSW46ZC5lYXNlRXhwSW4sZXhwT3V0OmQuZWFzZUV4cE91dCxleHBJbk91dDpkLmVhc2VFeHBJbk91dCxjaXJjbGU6ZC5lYXNlQ2lyY2xlLGNpcmNsZUluOmQuZWFzZUNpcmNsZUluLGNpcmNsZU91dDpkLmVhc2VDaXJjbGVPdXQsY2lyY2xlSW5PdXQ6ZC5lYXNlQ2lyY2xlSW5PdXQsYm91bmNlOmQuZWFzZUJvdW5jZSxib3VuY2VJbjpkLmVhc2VCb3VuY2VJbixib3VuY2VPdXQ6ZC5lYXNlQm91bmNlT3V0LApib3VuY2VJbk91dDpkLmVhc2VCb3VuY2VJbk91dCxiYWNrOmQuZWFzZUJhY2ssYmFja0luOmQuZWFzZUJhY2tJbixiYWNrT3V0OmQuZWFzZUJhY2tPdXQsYmFja0luT3V0OmQuZWFzZUJhY2tJbk91dCxlbGFzdGljOmQuZWFzZUVsYXN0aWMsZWxhc3RpY0luOmQuZWFzZUVsYXN0aWNJbixlbGFzdGljT3V0OmQuZWFzZUVsYXN0aWNPdXQsZWxhc3RpY0luT3V0OmQuZWFzZUVsYXN0aWNJbk91dH07Zi5FYXNlTmFtZT1oLm1ha2VFbnVtKCJsaW5lYXIgcXVhZCBxdWFkSW4gcXVhZE91dCBxdWFkSW5PdXQgY3ViaWMgY3ViaWNJbiBjdWJpY091dCBjdWJpY0luT3V0IHBvbHkgcG9seUluIHBvbHlPdXQgcG9seUluT3V0IHNpbiBzaW5JbiBzaW5PdXQgc2luSW5PdXQgZXhwIGV4cEluIGV4cE91dCBleHBJbk91dCBjaXJjbGUgY2lyY2xlSW4gY2lyY2xlT3V0IGNpcmNsZUluT3V0IGJvdW5jZSBib3VuY2VJbiBib3VuY2VPdXQgYm91bmNlSW5PdXQgYmFjayBiYWNrSW4gYmFja091dCBiYWNrSW5PdXQgZWxhc3RpYyBlbGFzdGljSW4gZWxhc3RpY091dCBlbGFzdGljSW5PdXQiLnNwbGl0KCIgIikpOwpoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbCgpe3RoaXMuX3N0YXJ0RGVsYXk9bC5fREVGQVVMVF9TVEFSVF9ERUxBWV9NSUxMSVNFQ09ORFM7dGhpcy5fc3RlcER1cmF0aW9uPWwuX0RFRkFVTFRfU1RFUF9EVVJBVElPTl9NSUxMSVNFQ09ORFM7dGhpcy5fc3RlcERlbGF5PWwuX0RFRkFVTFRfSVRFUkFUSVZFX0RFTEFZX01JTExJU0VDT05EUzt0aGlzLl9tYXhUb3RhbER1cmF0aW9uPWwuX0RFRkFVTFRfTUFYX1RPVEFMX0RVUkFUSU9OX01JTExJU0VDT05EUzt0aGlzLl9lYXNpbmdNb2RlPWwuX0RFRkFVTFRfRUFTSU5HX01PREV9bC5wcm90b3R5cGUudG90YWxUaW1lPWZ1bmN0aW9uKHApe3ZhciBtPXRoaXMuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXkocCk7cmV0dXJuIHRoaXMuc3RhcnREZWxheSgpK20qTWF0aC5tYXgocC0xLDApK3RoaXMuc3RlcER1cmF0aW9uKCl9O2wucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24ocCxtKXt2YXIgbj10aGlzO3A9ay5jb2VyY2VFeHRlcm5hbEQzKHApOwp2YXIgcT1wLnNpemUoKSx1PXRoaXMuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXkocSk7cmV0dXJuIHAudHJhbnNpdGlvbigpLmVhc2UodGhpcy5fZ2V0RWFzZUZhY3RvcnkoKSkuZHVyYXRpb24odGhpcy5zdGVwRHVyYXRpb24oKSkuZGVsYXkoZnVuY3Rpb24odyxBKXtyZXR1cm4gbi5zdGFydERlbGF5KCkrdSpBfSkuYXR0cnMobSl9O2wucHJvdG90eXBlLnN0YXJ0RGVsYXk9ZnVuY3Rpb24ocCl7aWYobnVsbD09cClyZXR1cm4gdGhpcy5fc3RhcnREZWxheTt0aGlzLl9zdGFydERlbGF5PXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnN0ZXBEdXJhdGlvbj1mdW5jdGlvbihwKXtpZihudWxsPT1wKXJldHVybiBNYXRoLm1pbih0aGlzLl9zdGVwRHVyYXRpb24sdGhpcy5fbWF4VG90YWxEdXJhdGlvbik7dGhpcy5fc3RlcER1cmF0aW9uPXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnN0ZXBEZWxheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdGVwRGVsYXl9O2wucHJvdG90eXBlLm1heFRvdGFsRHVyYXRpb249CmZ1bmN0aW9uKHApe2lmKG51bGw9PXApcmV0dXJuIHRoaXMuX21heFRvdGFsRHVyYXRpb247dGhpcy5fbWF4VG90YWxEdXJhdGlvbj1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS5lYXNpbmdNb2RlPWZ1bmN0aW9uKHApe2lmKG51bGw9PXApcmV0dXJuIHRoaXMuX2Vhc2luZ01vZGU7dGhpcy5fZWFzaW5nTW9kZT1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS5fZ2V0RWFzZUZhY3Rvcnk9ZnVuY3Rpb24oKXt2YXIgcD10aGlzLmVhc2luZ01vZGUoKTtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBwPyhwPXJbcF0sbnVsbD09cD9yLmxpbmVhcjpwKTpwfTtsLnByb3RvdHlwZS5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheT1mdW5jdGlvbihwKXt2YXIgbT10aGlzLm1heFRvdGFsRHVyYXRpb24oKS10aGlzLnN0ZXBEdXJhdGlvbigpO209TWF0aC5tYXgobSwwKTtwPW0vTWF0aC5tYXgocC0xLDEpO3JldHVybiBNYXRoLm1pbih0aGlzLnN0ZXBEZWxheSgpLHApfTtyZXR1cm4gbH0oKTtoLl9ERUZBVUxUX1NUQVJUX0RFTEFZX01JTExJU0VDT05EUz0KMDtoLl9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTPTMwMDtoLl9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFM9MTU7aC5fREVGQVVMVF9NQVhfVE9UQUxfRFVSQVRJT05fTUlMTElTRUNPTkRTPUluZmluaXR5O2guX0RFRkFVTFRfRUFTSU5HX01PREU9ImV4cE91dCI7Zi5FYXNpbmc9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMTIpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7fXIucHJvdG90eXBlLnRvdGFsVGltZT1mdW5jdGlvbigpe3JldHVybiAwfTtyLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGwscCl7bD1rLmNvZXJjZUV4dGVybmFsRDMobCk7cmV0dXJuIGwuYXR0cnMocCl9O3JldHVybiByfSgpO2YuTnVsbD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHEsdSl7ZnVuY3Rpb24gdygpe3RoaXMuY29uc3RydWN0b3I9cX1mb3IodmFyIEEgaW4gdSl1Lmhhc093blByb3BlcnR5KEEpJiYKKHFbQV09dVtBXSk7cS5wcm90b3R5cGU9bnVsbD09PXU/T2JqZWN0LmNyZWF0ZSh1KToody5wcm90b3R5cGU9dS5wcm90b3R5cGUsbmV3IHcpfSxyPWgoMSksbD1oKDUpLHA9aCg0KSxtPWgoMCksbj1oKDIyKTtkPWZ1bmN0aW9uKHEpe2Z1bmN0aW9uIHUodyxBKXt2b2lkIDA9PT1BJiYoQT0iYm90dG9tIik7dz1xLmNhbGwodGhpcyx3LEEpfHx0aGlzO3cuX3RpY2tMYWJlbEFuZ2xlPTA7dy5fdGlja0xhYmVsU2hlYXJBbmdsZT0wO3cuYWRkQ2xhc3MoImNhdGVnb3J5LWF4aXMiKTtyZXR1cm4gd31rKHUscSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLCJfd3JhcHBlciIse2dldDpmdW5jdGlvbigpe3ZhciB3PW5ldyBsLldyYXBwZXI7bnVsbCE9dGhpcy5fdGlja0xhYmVsTWF4TGluZXMmJncubWF4TGluZXModGhpcy5fdGlja0xhYmVsTWF4TGluZXMpO3JldHVybiB3fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSwKIl93cml0ZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGwuV3JpdGVyKHRoaXMuX21lYXN1cmVyLHRoaXMuX3R5cGVzZXR0ZXJDb250ZXh0LHRoaXMuX3dyYXBwZXIpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO3UucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3EucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3R5cGVzZXR0ZXJDb250ZXh0PW5ldyBsLlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih0aGlzLl90eXBlc2V0dGVyQ29udGV4dCl9O3UucHJvdG90eXBlLl9yZXNjYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVkcmF3KCl9O3UucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHcsQSl7dmFyIHk9dGhpcy5pc0hvcml6b250YWwoKT8wOnRoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCkrdGhpcy5tYXJnaW4oKSx4PXRoaXMuaXNIb3Jpem9udGFsKCk/CnRoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCkrdGhpcy5tYXJnaW4oKTowO2lmKDA9PT10aGlzLl9zY2FsZS5kb21haW4oKS5sZW5ndGgpcmV0dXJue21pbldpZHRoOjAsbWluSGVpZ2h0OjB9O2lmKHRoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCkpe3ZhciBDPXRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCkqdGhpcy5hbm5vdGF0aW9uVGllckNvdW50KCk7dGhpcy5pc0hvcml6b250YWwoKT94Kz1DOnkrPUN9dz10aGlzLl9tZWFzdXJlVGlja0xhYmVscyh3LEEpO3JldHVybnttaW5XaWR0aDp3LnVzZWRXaWR0aCt5LG1pbkhlaWdodDp3LnVzZWRIZWlnaHQreH19O3UucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB3PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksQT10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMucmVxdWVzdGVkU3BhY2UodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpLm1pbkhlaWdodDp0aGlzLnJlcXVlc3RlZFNwYWNlKHRoaXMud2lkdGgoKSwKdGhpcy5oZWlnaHQoKSkubWluV2lkdGgseT10aGlzLm1hcmdpbigpK3RoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk7cmV0dXJuIE1hdGgubWluKEEteSx3KX07dS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXREb3duc2FtcGxlSW5mbygpLmRvbWFpbn07dS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odyxBKXtyZXR1cm4gcC5Db21wb25lbnQucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyLmNhbGwodGhpcyx3LEEpfTt1LnByb3RvdHlwZS5nZXREb3duc2FtcGxlSW5mbz1mdW5jdGlvbih3KXt2YXIgQTt2b2lkIDA9PT13JiYodz10aGlzLl9zY2FsZSk7dm9pZCAwPT09QSYmKEE9dy5pbnZlcnRSYW5nZSgpKTt2YXIgeT1NYXRoLmNlaWwodS5fTUlOSU1VTV9XSURUSF9QRVJfTEFCRUxfUFgqKDA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT8xOjEvTWF0aC5jb3ModGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZS8xODAqTWF0aC5QSSkpLwp3LnN0ZXBXaWR0aCgpKTtyZXR1cm57ZG9tYWluOkEuZmlsdGVyKGZ1bmN0aW9uKHgsQyl7cmV0dXJuIDA9PT1DJXl9KSxzdGVwV2lkdGg6eSp3LnN0ZXBXaWR0aCgpfX07dS5wcm90b3R5cGUudGlja0xhYmVsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0xhYmVsQW5nbGU7dGhyb3cgRXJyb3IoIkFuZ2xlIHVuZGVmaW5lZCBub3Qgc3VwcG9ydGVkOyBvbmx5IDAsIDkwLCBhbmQgLTkwIGFyZSB2YWxpZCB2YWx1ZXMiKTt9O3UucHJvdG90eXBlLnRpY2tMYWJlbFNoZWFyQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZX07dS5wcm90b3R5cGUudGlja0xhYmVsTWF4V2lkdGg9ZnVuY3Rpb24odyl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbE1heFdpZHRoO3RoaXMuX3RpY2tMYWJlbE1heFdpZHRoPXc7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUudGlja0xhYmVsTWF4TGluZXM9CmZ1bmN0aW9uKHcpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90aWNrTGFiZWxNYXhMaW5lczt0aGlzLl90aWNrTGFiZWxNYXhMaW5lcz13O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLl90aWNrU3BhY2VSZXF1aXJlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSt0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKX07dS5wcm90b3R5cGUuX2RyYXdUaWNrcz1mdW5jdGlvbih3LEEpe3ZhciB5PXRoaXM7c3dpdGNoKHRoaXMudGlja0xhYmVsQW5nbGUoKSl7Y2FzZSAwOnZhciB4PXtsZWZ0OiJyaWdodCIscmlnaHQ6ImxlZnQiLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9O3ZhciBDPXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoiYm90dG9tIixib3R0b206InRvcCJ9O2JyZWFrO2Nhc2UgOTA6eD17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6InJpZ2h0Iixib3R0b206ImxlZnQifTsKQz17bGVmdDoidG9wIixyaWdodDoiYm90dG9tIix0b3A6ImNlbnRlciIsYm90dG9tOiJjZW50ZXIifTticmVhaztjYXNlIC05MDp4PXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoibGVmdCIsYm90dG9tOiJyaWdodCJ9LEM9e2xlZnQ6ImJvdHRvbSIscmlnaHQ6InRvcCIsdG9wOiJjZW50ZXIiLGJvdHRvbToiY2VudGVyIn19QS5lYWNoKGZ1bmN0aW9uKEcpe3ZhciBEPXIuc2VsZWN0KHRoaXMpLEI9eS5pc0hvcml6b250YWwoKT93Onkud2lkdGgoKS15Ll90aWNrU3BhY2VSZXF1aXJlZCgpLEg9eS5pc0hvcml6b250YWwoKT95LmhlaWdodCgpLXkuX3RpY2tTcGFjZVJlcXVpcmVkKCk6dyxLPXt4QWxpZ246eFt5Lm9yaWVudGF0aW9uKCldLHlBbGlnbjpDW3kub3JpZW50YXRpb24oKV0sdGV4dFJvdGF0aW9uOnkudGlja0xhYmVsQW5nbGUoKSx0ZXh0U2hlYXI6eS50aWNrTGFiZWxTaGVhckFuZ2xlKCl9O2lmKG51bGwhPXkuX3RpY2tMYWJlbE1heFdpZHRoKXtpZigibGVmdCI9PT0KeS5vcmllbnRhdGlvbigpJiZCPnkuX3RpY2tMYWJlbE1heFdpZHRoKXt2YXIgTD1CLXkuX3RpY2tMYWJlbE1heFdpZHRoO0w9RC5hdHRyKCJ0cmFuc2Zvcm0iKSsiIHRyYW5zbGF0ZSgiK0wrIiwgMCkiO0QuYXR0cigidHJhbnNmb3JtIixMKX1CPU1hdGgubWluKEIseS5fdGlja0xhYmVsTWF4V2lkdGgpfXkuX3dyaXRlci53cml0ZSh5LmZvcm1hdHRlcigpKEcpLEIsSCxLLEQubm9kZSgpKX0pfTt1LnByb3RvdHlwZS5fbWVhc3VyZVRpY2tMYWJlbHM9ZnVuY3Rpb24odyxBKXt2YXIgeT10aGlzLHg9dGhpcy5fc2NhbGUuY2xvbmVXaXRob3V0UHJvdmlkZXJzKCkucmFuZ2UoWzAsdGhpcy5pc0hvcml6b250YWwoKT93OkFdKSxDPXRoaXMuZ2V0RG93bnNhbXBsZUluZm8oeCk7eD1DLmRvbWFpbjtDPUMuc3RlcFdpZHRoO3ZhciBHPXctdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKTt0aGlzLmlzSG9yaXpvbnRhbCgpJiYoRz1DLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKEc9QS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSwKRz1NYXRoLm1heChHLDApKTt2YXIgRD1DO3RoaXMuaXNIb3Jpem9udGFsKCkmJihEPUEtdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSwwIT09dGhpcy5fdGlja0xhYmVsQW5nbGUmJihEPXctdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSksRD1NYXRoLm1heChELDApKTtudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKEc9TWF0aC5taW4oRyx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO0E9eC5tYXAoZnVuY3Rpb24oQil7cmV0dXJuIHkuX3dyYXBwZXIud3JhcCh5LmZvcm1hdHRlcigpKEIpLHkuX21lYXN1cmVyLEcsRCl9KTt3PXRoaXMuaXNIb3Jpem9udGFsKCkmJjA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT9yLnN1bTptLk1hdGgubWF4O3g9dGhpcy5pc0hvcml6b250YWwoKSYmMD09PXRoaXMuX3RpY2tMYWJlbEFuZ2xlP20uTWF0aC5tYXg6ci5zdW07dz13KEEsZnVuY3Rpb24oQil7cmV0dXJuIHkuX21lYXN1cmVyLm1lYXN1cmUoQi53cmFwcGVkVGV4dCkud2lkdGh9LDApOwpBPXgoQSxmdW5jdGlvbihCKXtyZXR1cm4geS5fbWVhc3VyZXIubWVhc3VyZShCLndyYXBwZWRUZXh0KS5oZWlnaHR9LDApOzAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKEE9W0Esd10sdz1BWzBdLEE9QVsxXSk7cmV0dXJue3VzZWRXaWR0aDp3LHVzZWRIZWlnaHQ6QX19O3UucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHc9dGhpcztxLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3ZhciBBPXRoaXMuX3NjYWxlLHk9dGhpcy5nZXREb3duc2FtcGxlSW5mbyhBKSx4PXkuZG9tYWluLEM9eT15LnN0ZXBXaWR0aDt0aGlzLmlzSG9yaXpvbnRhbCgpJiZudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKEM9TWF0aC5taW4oQyx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO3g9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmRhdGEoeCk7dmFyIEc9eC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsCiEwKS5tZXJnZSh4KTt4LmV4aXQoKS5yZW1vdmUoKTtHLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oRCl7dmFyIEI9QS5zY2FsZShEKS1DLzI7RD13LmlzSG9yaXpvbnRhbCgpP0I6MDtCPXcuaXNIb3Jpem9udGFsKCk/MDpCO3JldHVybiJ0cmFuc2xhdGUoIitEKyIsIitCKyIpIn0pO0cudGV4dCgiIik7dGhpcy5fZHJhd1RpY2tzKHksRyk7eT0icmlnaHQiPT09dGhpcy5vcmllbnRhdGlvbigpP3RoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCk6MDt4PSJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpP3RoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCk6MDt0aGlzLl90aWNrTGFiZWxDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIreSsiLCIreCsiKSIpO3RoaXMuX3Nob3dBbGxUaWNrTWFya3MoKTt0aGlzLl9zaG93QWxsVGlja0xhYmVscygpO3RoaXMuX2hpZGVUaWNrTWFya3NXaXRob3V0TGFiZWwoKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD0KZnVuY3Rpb24odyxBLHkpe3EucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLHcsQSx5KTt0aGlzLmlzSG9yaXpvbnRhbCgpfHx0aGlzLl9zY2FsZS5yYW5nZShbMCx0aGlzLmhlaWdodCgpXSk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3EucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpO3RoaXMuX21lYXN1cmVyLnJlc2V0KCl9O3JldHVybiB1fShuLkF4aXMpO2QuX01JTklNVU1fV0lEVEhfUEVSX0xBQkVMX1BYPTE1O2YuQ2F0ZWdvcnk9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihxLHUpe2Z1bmN0aW9uIHcoKXt0aGlzLmNvbnN0cnVjdG9yPXF9Zm9yKHZhciBBIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShBKSYmKHFbQV09dVtBXSk7cS5wcm90b3R5cGU9bnVsbD09PXU/T2JqZWN0LmNyZWF0ZSh1KToody5wcm90b3R5cGU9dS5wcm90b3R5cGUsbmV3IHcpfSwKcj1oKDEpLGw9aCg1KSxwPWgoOCksbT1oKDApLG49aCgyMik7ZD1mdW5jdGlvbihxKXtmdW5jdGlvbiB1KHcsQSl7dz1xLmNhbGwodGhpcyx3LEEpfHx0aGlzO3cuX3RpY2tMYWJlbFBvc2l0aW9uaW5nPSJjZW50ZXIiO3cuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSExO3cuZm9ybWF0dGVyKHAuZ2VuZXJhbCgpKTtyZXR1cm4gd31rKHUscSk7dS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cS5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIHc9bmV3IGwuU3ZnQ29udGV4dCh0aGlzLl90aWNrTGFiZWxDb250YWluZXIubm9kZSgpLG4uQXhpcy5USUNLX0xBQkVMX0NMQVNTKTt0aGlzLl9tZWFzdXJlcj1uZXcgbC5DYWNoZU1lYXN1cmVyKHcpO3RoaXMuX3dyYXBwZXI9KG5ldyBsLldyYXBwZXIpLm1heExpbmVzKDEpfTt1LnByb3RvdHlwZS5fY29tcHV0ZVdpZHRoPWZ1bmN0aW9uKCl7dmFyIHc9dGhpcy5fdXNlc1RleHRXaWR0aEFwcHJveGltYXRpb24/dGhpcy5fY29tcHV0ZUFwcHJveGltYXRlVGV4dFdpZHRoKCk6CnRoaXMuX2NvbXB1dGVFeGFjdFRleHRXaWR0aCgpO3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdzpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt3KX07dS5wcm90b3R5cGUuX2NvbXB1dGVFeGFjdFRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB3PXRoaXMsQT10aGlzLl9nZXRUaWNrVmFsdWVzKCkubWFwKGZ1bmN0aW9uKHkpe3k9dy5mb3JtYXR0ZXIoKSh5KTtyZXR1cm4gdy5fbWVhc3VyZXIubWVhc3VyZSh5KS53aWR0aH0pO3JldHVybiBtLk1hdGgubWF4KEEsMCl9O3UucHJvdG90eXBlLl9jb21wdXRlQXBwcm94aW1hdGVUZXh0V2lkdGg9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLEE9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLHk9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgiTSIpLndpZHRoO0E9QS5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuIHcuZm9ybWF0dGVyKCkoeCkubGVuZ3RoKgp5fSk7cmV0dXJuIG0uTWF0aC5tYXgoQSwwKX07dS5wcm90b3R5cGUuX2NvbXB1dGVIZWlnaHQ9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0O3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdzpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt3KX07dS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLl9zY2FsZSxBPXcuZG9tYWluKCkseT1BWzBdPD1BWzFdP0FbMF06QVsxXSx4PUFbMF0+PUFbMV0/QVswXTpBWzFdO3JldHVybiB3LnRpY2tzKCkuZmlsdGVyKGZ1bmN0aW9uKEMpe3JldHVybiBDPj15JiZDPD14fSl9O3UucHJvdG90eXBlLl9yZXNjYWxlPWZ1bmN0aW9uKCl7aWYodGhpcy5faXNTZXR1cCl7aWYoIXRoaXMuaXNIb3Jpem9udGFsKCkpe3ZhciB3PQp0aGlzLl9jb21wdXRlV2lkdGgoKTtpZih3PnRoaXMud2lkdGgoKXx8dzx0aGlzLndpZHRoKCktdGhpcy5tYXJnaW4oKSl7dGhpcy5yZWRyYXcoKTtyZXR1cm59fXRoaXMucmVuZGVyKCl9fTt1LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciB3PXRoaXM7cS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgQT17eDowLHk6MCxkeDoiMGVtIixkeToiMC4zZW0ifSx5PXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHg9dGhpcy50aWNrTGFiZWxQYWRkaW5nKCksQz0ibWlkZGxlIixHPTAsRD0wLEI9MCxIPTA7aWYodGhpcy5pc0hvcml6b250YWwoKSlzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UgImxlZnQiOkM9ImVuZCI7Rz0teDtIPXg7YnJlYWs7Y2FzZSAiY2VudGVyIjpIPXkreDticmVhaztjYXNlICJyaWdodCI6Qz0ic3RhcnQiLEg9Rz14fWVsc2Ugc3dpdGNoKHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nKXtjYXNlICJ0b3AiOkEuZHk9CiItMC4zZW0iO0I9eDtEPS14O2JyZWFrO2Nhc2UgImNlbnRlciI6Qj15K3g7YnJlYWs7Y2FzZSAiYm90dG9tIjpBLmR5PSIxZW0iLEQ9Qj14fXk9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCk7c3dpdGNoKHRoaXMub3JpZW50YXRpb24oKSl7Y2FzZSAiYm90dG9tIjpBLng9eS54MTtBLmR5PSIwLjk1ZW0iO0Q9eS55MStIO2JyZWFrO2Nhc2UgInRvcCI6QS54PXkueDE7QS5keT0iLS4yNWVtIjtEPXkueTEtSDticmVhaztjYXNlICJsZWZ0IjpDPSJlbmQiO0c9eS54MS1CO0EueT15LnkxO2JyZWFrO2Nhc2UgInJpZ2h0IjpDPSJzdGFydCIsRz15LngxK0IsQS55PXkueTF9Qj10aGlzLl9nZXRUaWNrVmFsdWVzKCk7Qj10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIituLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShCKTtCLmV4aXQoKS5yZW1vdmUoKTtCLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZChuLkF4aXMuVElDS19MQUJFTF9DTEFTUywKITApLm1lcmdlKEIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsQykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0IikuYXR0cnMoQSkudGV4dChmdW5jdGlvbihLKXtyZXR1cm4gdy5mb3JtYXR0ZXIoKShLKX0pO3RoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitHKyIsICIrRCsiKSIpO3RoaXMuX3Nob3dBbGxUaWNrTWFya3MoKTt0aGlzLnNob3dFbmRUaWNrTGFiZWxzKCl8fHRoaXMuX2hpZGVFbmRUaWNrTGFiZWxzKCk7dGhpcy5faGlkZU92ZXJmbG93aW5nVGlja0xhYmVscygpO3RoaXMuX2hpZGVPdmVybGFwcGluZ1RpY2tMYWJlbHMoKTsiY2VudGVyIiE9PXRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nJiZ0aGlzLl9oaWRlVGlja01hcmtzV2l0aG91dExhYmVsKCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLnRpY2tMYWJlbFBvc2l0aW9uPWZ1bmN0aW9uKHcpe2lmKG51bGw9PXcpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nOwp3PXcudG9Mb3dlckNhc2UoKTtpZih0aGlzLmlzSG9yaXpvbnRhbCgpKXtpZigibGVmdCIhPT13JiYiY2VudGVyIiE9PXcmJiJyaWdodCIhPT13KXRocm93IEVycm9yKHcrIiBpcyBub3QgYSB2YWxpZCB0aWNrIGxhYmVsIHBvc2l0aW9uIGZvciBhIGhvcml6b250YWwgTnVtZXJpY0F4aXMiKTt9ZWxzZSBpZigidG9wIiE9PXcmJiJjZW50ZXIiIT09dyYmImJvdHRvbSIhPT13KXRocm93IEVycm9yKHcrIiBpcyBub3QgYSB2YWxpZCB0aWNrIGxhYmVsIHBvc2l0aW9uIGZvciBhIHZlcnRpY2FsIE51bWVyaWNBeGlzIik7dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc9dzt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTt1LnByb3RvdHlwZS51c2VzVGV4dFdpZHRoQXBwcm94aW1hdGlvbj1mdW5jdGlvbigpe3RoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSEwfTt1LnByb3RvdHlwZS5faGlkZUVuZFRpY2tMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLmVsZW1lbnQoKS5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksCkE9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpO2lmKDAhPT1BLnNpemUoKSl7dmFyIHk9QS5ub2RlcygpWzBdO20uRE9NLmNsaWVudFJlY3RJbnNpZGUoeS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx3KXx8ci5zZWxlY3QoeSkuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKTtBPUEubm9kZXMoKVtBLnNpemUoKS0xXTttLkRPTS5jbGllbnRSZWN0SW5zaWRlKEEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdyl8fHIuc2VsZWN0KEEpLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9fTt1LnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nVGlja0xhYmVscz1mdW5jdGlvbigpe2Zvcih2YXIgdz10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIituLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHg9ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiKTtyZXR1cm4iaW5oZXJpdCI9PT0KeHx8InZpc2libGUiPT09eH0pLEE9dy5ub2RlcygpLm1hcChmdW5jdGlvbih4KXtyZXR1cm4geC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pLHk9MTshdGhpcy5faGFzT3ZlcmxhcFdpdGhJbnRlcnZhbCh5LEEpJiZ5PEEubGVuZ3RoOyl5Kz0xO3cuZWFjaChmdW5jdGlvbih4LEMpe3g9ci5zZWxlY3QodGhpcyk7MCE9PUMleSYmeC5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSl9O3UucHJvdG90eXBlLl9oYXNPdmVybGFwV2l0aEludGVydmFsPWZ1bmN0aW9uKHcsQSl7dmFyIHk9ImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTozKnRoaXMudGlja0xhYmVsUGFkZGluZygpO0E9QS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIG0uRE9NLmV4cGFuZFJlY3QoQyx5KX0pO2Zvcih2YXIgeD0wO3g8QS5sZW5ndGgtdzt4Kz13KWlmKG0uRE9NLmNsaWVudFJlY3RzT3ZlcmxhcChBW3hdLEFbeCt3XSkpcmV0dXJuITE7cmV0dXJuITB9Owp1LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXtxLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gdX0obi5BeGlzKTtmLk51bWVyaWM9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfTtkPWgoNDIpO3ZhciByPWgoMjUpLGw9aCgwKTtoPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0obil7ZnVuY3Rpb24gcSgpe3gmJih4PSExLHkuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gdShDLEcpe3gmJih5Ll9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZSh5Ll9pc1ZlcnRpY2FsKCk/CkcueDpHLnkpLHkuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gdyhDKXtBKEMpJiYoeD0hMCx5Ll9kcmFnU3RhcnRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gQShDKXtyZXR1cm4geS5faXNWZXJ0aWNhbCgpJiZ5LnBpeGVsUG9zaXRpb24oKS15LmRldGVjdGlvblJhZGl1cygpPD1DLngmJkMueDw9eS5waXhlbFBvc2l0aW9uKCkreS5kZXRlY3Rpb25SYWRpdXMoKXx8IXkuX2lzVmVydGljYWwoKSYmeS5waXhlbFBvc2l0aW9uKCkteS5kZXRlY3Rpb25SYWRpdXMoKTw9Qy55JiZDLnk8PXkucGl4ZWxQb3NpdGlvbigpK3kuZGV0ZWN0aW9uUmFkaXVzKCl9dmFyIHk9cC5jYWxsKHRoaXMsbil8fHRoaXM7eS5fZGV0ZWN0aW9uUmFkaXVzPTM7eS5fZW5hYmxlZD0hMDt5LmFkZENsYXNzKCJkcmFnLWxpbmUtbGF5ZXIiKTt5LmFkZENsYXNzKCJlbmFibGVkIik7eS5fZHJhZ0ludGVyYWN0aW9uPW5ldyByLkRyYWc7eS5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHkpOwp2YXIgeD0hMTt5Ll9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQodyk7eS5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZyh1KTt5Ll9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKHEpO3kuX2Rpc2Nvbm5lY3RJbnRlcmFjdGlvbj1mdW5jdGlvbigpe3kuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnU3RhcnQodyk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWcodSk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWdFbmQocSk7eS5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaCgpfTt5Ll9kcmFnU3RhcnRDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7eS5fZHJhZ0NhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDt5Ll9kcmFnRW5kQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3JldHVybiB5fWsobSxwKTttLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTt0aGlzLl9kZXRlY3Rpb25FZGdlPXRoaXMuY29udGVudCgpLmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLApzdHJva2U6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVTdHJva2UifSkuY2xhc3NlZCgiZHJhZy1lZGdlIiwhMCl9O20ucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl9kZXRlY3Rpb25FZGdlLmF0dHJzKHt4MTp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6MCx5MTp0aGlzLl9pc1ZlcnRpY2FsKCk/MDp0aGlzLnBpeGVsUG9zaXRpb24oKSx4Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6dGhpcy53aWR0aCgpLHkyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLmhlaWdodCgpOnRoaXMucGl4ZWxQb3NpdGlvbigpLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXN9OwptLnByb3RvdHlwZS5lbmFibGVkPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2VuYWJsZWQ7KHRoaXMuX2VuYWJsZWQ9bik/dGhpcy5hZGRDbGFzcygiZW5hYmxlZCIpOnRoaXMucmVtb3ZlQ2xhc3MoImVuYWJsZWQiKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25EcmFnU3RhcnQ9ZnVuY3Rpb24obil7dGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZChuKX07bS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUobil9O20ucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKG4pfTsKbS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbihuKXt0aGlzLl9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBuLl9kcmFnU3RhcnRDYWxsYmFja3MuZGVsZXRlKHEpfSk7dGhpcy5fZHJhZ0NhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBuLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShxKX0pO3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbihxKXtyZXR1cm4gbi5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUocSl9KTt0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX07cmV0dXJuIG19KGQuR3VpZGVMaW5lTGF5ZXIpO2YuRHJhZ0xpbmVMYXllcj1ofSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhsLHAsbSl7dmFyIG49Cnt9O2lmKHZvaWQgMCE9PW0pZm9yKHZhciBxPTA7cTxtLmxlbmd0aDtxKyspblttW3FdXT1tW3EtMV07cmV0dXJuIGZ1bmN0aW9uKHUpe3ZhciB3PWwuc2NhbGUodSk7aWYoIXApcmV0dXJuIHc7dmFyIEE7dT12b2lkIDA9PT1uW3VdP3ZvaWQgMDpsLnNjYWxlKG5bdV0pO3ZvaWQgMCE9PXUmJihBPXUrKHctdSkvMik7cmV0dXJuIEF9fXZhciByPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2YXIgcT1sLmNhbGwodGhpcyl8fHRoaXM7cS5hZGRDbGFzcygiZ3JpZGxpbmVzIik7cS5feFNjYWxlPW07cS5feVNjYWxlPW47cS5fcmVuZGVyQ2FsbGJhY2s9CmZ1bmN0aW9uKCl7cmV0dXJuIHEucmVuZGVyKCl9O2lmKHEuX3hTY2FsZSlxLl94U2NhbGUub25VcGRhdGUocS5fcmVuZGVyQ2FsbGJhY2spO2lmKHEuX3lTY2FsZSlxLl95U2NhbGUub25VcGRhdGUocS5fcmVuZGVyQ2FsbGJhY2spO3JldHVybiBxfXIocCxsKTtwLnByb3RvdHlwZS5iZXR3ZWVuWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iZXR3ZWVuWH07cC5wcm90b3R5cGUuYmV0d2Vlblk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmV0d2Vlbll9O3AucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKTt0aGlzLl95U2NhbGUmJnRoaXMuX3lTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTsKdGhpcy5feExpbmVzQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoIngtZ3JpZGxpbmVzIiwhMCk7dGhpcy5feUxpbmVzQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInktZ3JpZGxpbmVzIiwhMCl9O3AucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl9yZWRyYXdYTGluZXMoKTt0aGlzLl9yZWRyYXdZTGluZXMoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihtLG4scSl7bC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsbSxuLHEpO251bGwhPXRoaXMuX3hTY2FsZSYmdGhpcy5feFNjYWxlLnJhbmdlKFswLHRoaXMud2lkdGgoKV0pO251bGwhPXRoaXMuX3lTY2FsZSYmdGhpcy5feVNjYWxlLnJhbmdlKFt0aGlzLmhlaWdodCgpLDBdKTtyZXR1cm4gdGhpc307CnAucHJvdG90eXBlLl9yZWRyYXdYTGluZXM9ZnVuY3Rpb24oKXtpZih0aGlzLl94U2NhbGUpe3ZhciBtPXRoaXMuYmV0d2VlblgoKSxuPXRoaXMuX3hTY2FsZS50aWNrcygpLnNsaWNlKG0/MTowKTtuPXRoaXMuX3hMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKG4pO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsayh0aGlzLl94U2NhbGUsbSx0aGlzLl94U2NhbGUudGlja3MoKSkpLmF0dHIoInkxIiwwKS5hdHRyKCJ4MiIsayh0aGlzLl94U2NhbGUsbSx0aGlzLl94U2NhbGUudGlja3MoKSkpLmF0dHIoInkyIix0aGlzLmhlaWdodCgpKS5jbGFzc2VkKCJiZXR3ZWVubGluZSIsbSkuY2xhc3NlZCgiemVyb2xpbmUiLGZ1bmN0aW9uKHEpe3JldHVybiAwPT09cX0pO24uZXhpdCgpLnJlbW92ZSgpfX07cC5wcm90b3R5cGUuX3JlZHJhd1lMaW5lcz1mdW5jdGlvbigpe2lmKHRoaXMuX3lTY2FsZSl7dmFyIG09dGhpcy5iZXR3ZWVuWSgpLApuPXRoaXMuX3lTY2FsZS50aWNrcygpLnNsaWNlKG0/MTowKTtuPXRoaXMuX3lMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKG4pO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsMCkuYXR0cigieTEiLGsodGhpcy5feVNjYWxlLG0sdGhpcy5feVNjYWxlLnRpY2tzKCkpKS5hdHRyKCJ4MiIsdGhpcy53aWR0aCgpKS5hdHRyKCJ5MiIsayh0aGlzLl95U2NhbGUsbSx0aGlzLl95U2NhbGUudGlja3MoKSkpLmNsYXNzZWQoImJldHdlZW5saW5lIixtKS5jbGFzc2VkKCJ6ZXJvbGluZSIsZnVuY3Rpb24ocSl7cmV0dXJuIDA9PT1xfSk7bi5leGl0KCkucmVtb3ZlKCl9fTtyZXR1cm4gcH0oaCg0KS5Db21wb25lbnQpO2YuR3JpZGxpbmVzPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJgooblt3XT1xW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCg1KSxsPWgoMjMpLHA9aCg4KSxtPWgoMCk7ZD1mdW5jdGlvbihuKXtmdW5jdGlvbiBxKHUpe3ZhciB3PW4uY2FsbCh0aGlzKXx8dGhpczt3Ll90ZXh0UGFkZGluZz01O2lmKG51bGw9PXUpdGhyb3cgRXJyb3IoIkludGVycG9sYXRlZENvbG9yTGVnZW5kIHJlcXVpcmVzIGEgaW50ZXJwb2xhdGVkQ29sb3JTY2FsZSIpO3cuX3NjYWxlPXU7dy5fcmVkcmF3Q2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdy5yZWRyYXcoKX07dy5fc2NhbGUub25VcGRhdGUody5fcmVkcmF3Q2FsbGJhY2spO3cuX2Zvcm1hdHRlcj1wLmdlbmVyYWwoKTt3Ll9vcmllbnRhdGlvbj0iaG9yaXpvbnRhbCI7dy5fZXhwYW5kcz0hMTt3LmFkZENsYXNzKCJsZWdlbmQiKTt3LmFkZENsYXNzKCJpbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIik7cmV0dXJuIHd9ayhxLApuKTtxLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX3NjYWxlLm9mZlVwZGF0ZSh0aGlzLl9yZWRyYXdDYWxsYmFjayl9O3EucHJvdG90eXBlLmZvcm1hdHRlcj1mdW5jdGlvbih1KXtpZih2b2lkIDA9PT11KXJldHVybiB0aGlzLl9mb3JtYXR0ZXI7dGhpcy5fZm9ybWF0dGVyPXU7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuZXhwYW5kcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9leHBhbmRzfTtxLl9lbnN1cmVPcmllbnRhdGlvbj1mdW5jdGlvbih1KXt1PXUudG9Mb3dlckNhc2UoKTtpZigiaG9yaXpvbnRhbCI9PT11fHwibGVmdCI9PT11fHwicmlnaHQiPT09dSlyZXR1cm4gdTt0aHJvdyBFcnJvcignIicrdSsnIiBpcyBub3QgYSB2YWxpZCBvcmllbnRhdGlvbiBmb3IgSW50ZXJwb2xhdGVkQ29sb3JMZWdlbmQnKTt9O3EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHUpe2lmKG51bGw9PQp1KXJldHVybiB0aGlzLl9vcmllbnRhdGlvbjt0aGlzLl9vcmllbnRhdGlvbj1xLl9lbnN1cmVPcmllbnRhdGlvbih1KTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZXhwYW5kcygpfHx0aGlzLl9pc1ZlcnRpY2FsKCl9O3EucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZXhwYW5kcygpfHwhdGhpcy5faXNWZXJ0aWNhbCgpfTtxLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrcz1mdW5jdGlvbih1KXt2b2lkIDA9PT11JiYodT1xLl9ERUZBVUxUX05VTV9TV0FUQ0hFUyk7dmFyIHc9dGhpcy5fc2NhbGUuZG9tYWluKCk7aWYoMT09PXUpcmV0dXJuW3dbMF1dO2Zvcih2YXIgQT0od1sxXS13WzBdKS8odS0xKSx5PVtdLHg9MDt4PHU7eCsrKXkucHVzaCh3WzBdK0EqeCk7cmV0dXJuIHl9O3EucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe24ucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpOwp0aGlzLl9zd2F0Y2hDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic3dhdGNoLWNvbnRhaW5lciIsITApO3RoaXMuX3N3YXRjaEJvdW5kaW5nQm94PXRoaXMuY29udGVudCgpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInN3YXRjaC1ib3VuZGluZy1ib3giLCEwKTt0aGlzLl9sb3dlckxhYmVsPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQocS5MRUdFTkRfTEFCRUxfQ0xBU1MsITApO3RoaXMuX3VwcGVyTGFiZWw9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLkxFR0VORF9MQUJFTF9DTEFTUywhMCk7dmFyIHU9bmV3IHIuU3ZnQ29udGV4dCh0aGlzLmNvbnRlbnQoKS5ub2RlKCkpO3RoaXMuX21lYXN1cmVyPW5ldyByLk1lYXN1cmVyKHUpO3RoaXMuX3dyYXBwZXI9bmV3IHIuV3JhcHBlcjt0aGlzLl93cml0ZXI9bmV3IHIuV3JpdGVyKHRoaXMuX21lYXN1cmVyLHUsdGhpcy5fd3JhcHBlcil9O3EucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPQpmdW5jdGlvbigpe3ZhciB1PXRoaXMsdz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LEE9dGhpcy5fc2NhbGUuZG9tYWluKCkubWFwKGZ1bmN0aW9uKEMpe3JldHVybiB1Ll9tZWFzdXJlci5tZWFzdXJlKHUuX2Zvcm1hdHRlcihDKSkud2lkdGh9KSx5PXEuX0RFRkFVTFRfTlVNX1NXQVRDSEVTO2lmKHRoaXMuX2lzVmVydGljYWwoKSl7dmFyIHg9bS5NYXRoLm1heChBLDApO0E9dyt3K3RoaXMuX3RleHRQYWRkaW5nK3grdGhpcy5fdGV4dFBhZGRpbmc7eD15Knd9ZWxzZSB4PXcrdyt3LEE9dGhpcy5fdGV4dFBhZGRpbmcrQVswXSt5KncrQVsxXSt0aGlzLl90ZXh0UGFkZGluZztyZXR1cm57bWluV2lkdGg6QSxtaW5IZWlnaHQ6eH19O3EucHJvdG90eXBlLl9pc1ZlcnRpY2FsPWZ1bmN0aW9uKCl7cmV0dXJuImhvcml6b250YWwiIT09dGhpcy5fb3JpZW50YXRpb259O3EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHU9dGhpcztuLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpOwp2YXIgdz10aGlzLl9zY2FsZS5kb21haW4oKSxBPXRoaXMuX2Zvcm1hdHRlcih3WzBdKSx5PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoQSkud2lkdGgseD10aGlzLl9mb3JtYXR0ZXIod1sxXSk7dz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKHgpLndpZHRoO3ZhciBDPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQsRz10aGlzLl90ZXh0UGFkZGluZyxEPTAsQj0wLEg9MCxLPTAsTD17eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIix0ZXh0Um90YXRpb246MH0sSj17eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIix0ZXh0Um90YXRpb246MH0sTz17eDowLHk6MCx3aWR0aDowLGhlaWdodDowfTtpZih0aGlzLl9pc1ZlcnRpY2FsKCkpe3ZhciBTPU1hdGguZmxvb3IodGhpcy5oZWlnaHQoKSk7dmFyIE49TWF0aC5tYXgoeSx3KTt2YXIgUj0odGhpcy53aWR0aCgpLU4tMip0aGlzLl90ZXh0UGFkZGluZykvMjt3PU1hdGgubWF4KHRoaXMud2lkdGgoKS1SLTIqRy1OLDApOwpDPTE7dmFyIFg9ZnVuY3Rpb24oZmEsb2Epe3JldHVybiB1LmhlaWdodCgpLShvYSsxKX07Si55QWxpZ249InRvcCI7Qj0wO0wueUFsaWduPSJib3R0b20iO0s9MDtpZigibGVmdCI9PT10aGlzLl9vcmllbnRhdGlvbil7dmFyIGFhPWZ1bmN0aW9uKCl7cmV0dXJuIEcrTitHfTtKLnhBbGlnbj0icmlnaHQiO0Q9LShSK3crRyk7TC54QWxpZ249InJpZ2h0IjtIPS0oUit3K0cpfWVsc2UgYWE9ZnVuY3Rpb24oKXtyZXR1cm4gUn0sSi54QWxpZ249ImxlZnQiLEQ9Uit3K0csTC54QWxpZ249ImxlZnQiLEg9Uit3K0c7Ty53aWR0aD13O08uaGVpZ2h0PVMqQ31lbHNlIFI9TWF0aC5tYXgoRywodGhpcy5oZWlnaHQoKS1DKS8yKSxTPU1hdGgubWF4KE1hdGguZmxvb3IodGhpcy53aWR0aCgpLTQqRy15LXcpLDApLHc9MSxDPU1hdGgubWF4KHRoaXMuaGVpZ2h0KCktMipSLDApLGFhPWZ1bmN0aW9uKGZhLG9hKXtyZXR1cm4gTWF0aC5mbG9vcih5KzIqRykrb2F9LFg9ZnVuY3Rpb24oKXtyZXR1cm4gUn0sCkoueEFsaWduPSJyaWdodCIsRD0tRyxMLnhBbGlnbj0ibGVmdCIsSD1HLE8ueT1SLE8ud2lkdGg9Uyp3LE8uaGVpZ2h0PUM7Ty54PWFhKG51bGwsMCk7dGhpcy5fdXBwZXJMYWJlbC50ZXh0KCIiKTt0aGlzLl93cml0ZXIud3JpdGUoeCx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxKLHRoaXMuX3VwcGVyTGFiZWwubm9kZSgpKTt0aGlzLl91cHBlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0QrIiwgIitCKyIpIik7dGhpcy5fbG93ZXJMYWJlbC50ZXh0KCIiKTt0aGlzLl93cml0ZXIud3JpdGUoQSx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxMLHRoaXMuX2xvd2VyTGFiZWwubm9kZSgpKTt0aGlzLl9sb3dlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0grIiwgIitLKyIpIik7dGhpcy5fc3dhdGNoQm91bmRpbmdCb3guYXR0cnMoTyk7QT10aGlzLl9nZW5lcmF0ZVRpY2tzKFMpO0E9dGhpcy5fc3dhdGNoQ29udGFpbmVyLnNlbGVjdEFsbCgicmVjdC5zd2F0Y2giKS5kYXRhKEEpOwp4PUEuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKCJzd2F0Y2giLCEwKTtEPUEubWVyZ2UoeCk7QS5leGl0KCkucmVtb3ZlKCk7RC5hdHRycyh7ZmlsbDpmdW5jdGlvbihmYSl7cmV0dXJuIHUuX3NjYWxlLnNjYWxlKGZhKX0sd2lkdGg6dyxoZWlnaHQ6Qyx4OmFhLHk6WCwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KTtsLkFERF9USVRMRV9FTEVNRU5UUyYmeC5hcHBlbmQoInRpdGxlIikudGV4dChmdW5jdGlvbihmYSl7cmV0dXJuIHUuX2Zvcm1hdHRlcihmYSl9KTtyZXR1cm4gdGhpc307cmV0dXJuIHF9KGgoNCkuQ29tcG9uZW50KTtkLl9ERUZBVUxUX05VTV9TV0FUQ0hFUz0xMTtkLkxFR0VORF9MQUJFTF9DTEFTUz0ibGVnZW5kLWxhYmVsIjtmLkludGVycG9sYXRlZENvbG9yTGVnZW5kPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJgoobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCg1KTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2b2lkIDA9PT1tJiYobT0iIik7dm9pZCAwPT09biYmKG49MCk7dmFyIHE9bC5jYWxsKHRoaXMpfHx0aGlzO3EuYWRkQ2xhc3MoImxhYmVsIik7cS50ZXh0KG0pO3EuYW5nbGUobik7cS54QWxpZ25tZW50KCJjZW50ZXIiKS55QWxpZ25tZW50KCJjZW50ZXIiKTtxLl9wYWRkaW5nPTA7cmV0dXJuIHF9ayhwLGwpO3AucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKCl7dmFyIG09dGhpcy5fbWVhc3VyZXIubWVhc3VyZSh0aGlzLl90ZXh0KSxuPSgwPT09dGhpcy5hbmdsZSgpP20ud2lkdGg6bS5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCk7bT0oMD09PXRoaXMuYW5nbGUoKT9tLmhlaWdodDptLndpZHRoKSsyKnRoaXMucGFkZGluZygpO3JldHVybnttaW5XaWR0aDpuLAptaW5IZWlnaHQ6bX19O3AucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2wucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3RleHRDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIik7dmFyIG09bmV3IHIuU3ZnQ29udGV4dCh0aGlzLl90ZXh0Q29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IHIuQ2FjaGVNZWFzdXJlcihtKTt0aGlzLl93cmFwcGVyPW5ldyByLldyYXBwZXI7dGhpcy5fd3JpdGVyPW5ldyByLldyaXRlcih0aGlzLl9tZWFzdXJlcixtLHRoaXMuX3dyYXBwZXIpO3RoaXMudGV4dCh0aGlzLl90ZXh0KX07cC5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl90ZXh0O2lmKCJzdHJpbmciIT09dHlwZW9mIG0pdGhyb3cgRXJyb3IoIkxhYmVsLnRleHQoKSBvbmx5IHRha2VzIHN0cmluZ3MgYXMgaW5wdXQiKTt0aGlzLl90ZXh0PW07dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuYW5nbGU9CmZ1bmN0aW9uKG0pe2lmKG51bGw9PW0pcmV0dXJuIHRoaXMuX2FuZ2xlO20lPTM2MDsxODA8bT9tLT0zNjA6LTE4MD5tJiYobSs9MzYwKTtpZigtOTA9PT1tfHwwPT09bXx8OTA9PT1tKXRoaXMuX2FuZ2xlPW07ZWxzZSB0aHJvdyBFcnJvcihtKyIgaXMgbm90IGEgdmFsaWQgYW5nbGUgZm9yIExhYmVsIik7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucGFkZGluZz1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl9wYWRkaW5nO209K207aWYoMD5tKXRocm93IEVycm9yKG0rIiBpcyBub3QgYSB2YWxpZCBwYWRkaW5nIHZhbHVlLiBDYW5ub3QgYmUgbGVzcyB0aGFuIDAuIik7dGhpcy5fcGFkZGluZz1tO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07cC5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH07cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9CmZ1bmN0aW9uKCl7bC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl90ZXh0Q29udGFpbmVyLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpO3ZhciBtPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUodGhpcy5fdGV4dCksbj1NYXRoLm1heChNYXRoLm1pbigodGhpcy5oZWlnaHQoKS1tLmhlaWdodCkvMix0aGlzLnBhZGRpbmcoKSksMCk7bT1NYXRoLm1heChNYXRoLm1pbigodGhpcy53aWR0aCgpLW0ud2lkdGgpLzIsdGhpcy5wYWRkaW5nKCkpLDApO3RoaXMuX3RleHRDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbSsiLCIrbisiKSIpO209dGhpcy53aWR0aCgpLTIqbTtuPXRoaXMuaGVpZ2h0KCktMipuO3ZhciBxPXt4QWxpZ246dGhpcy54QWxpZ25tZW50KCkseUFsaWduOnRoaXMueUFsaWdubWVudCgpLHRleHRSb3RhdGlvbjp0aGlzLmFuZ2xlKCl9O3RoaXMuX3dyaXRlci53cml0ZSh0aGlzLl90ZXh0LG0sbixxKTtyZXR1cm4gdGhpc307CnAucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe2wucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpO3RoaXMuX21lYXN1cmVyLnJlc2V0KCl9O3JldHVybiBwfShoKDQpLkNvbXBvbmVudCk7Zi5MYWJlbD1kO2g9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtLG4pe209bC5jYWxsKHRoaXMsbSxuKXx8dGhpczttLmFkZENsYXNzKHAuVElUTEVfTEFCRUxfQ0xBU1MpO3JldHVybiBtfWsocCxsKTtyZXR1cm4gcH0oZCk7aC5USVRMRV9MQUJFTF9DTEFTUz0idGl0bGUtbGFiZWwiO2YuVGl0bGVMYWJlbD1oO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtLG4pe209bC5jYWxsKHRoaXMsbSxuKXx8dGhpczttLmFkZENsYXNzKHAuQVhJU19MQUJFTF9DTEFTUyk7cmV0dXJuIG19ayhwLGwpO3JldHVybiBwfShkKTtkLkFYSVNfTEFCRUxfQ0xBU1M9ImF4aXMtbGFiZWwiO2YuQXhpc0xhYmVsPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8CmZ1bmN0aW9uKEEseSl7ZnVuY3Rpb24geCgpe3RoaXMuY29uc3RydWN0b3I9QX1mb3IodmFyIEMgaW4geSl5Lmhhc093blByb3BlcnR5KEMpJiYoQVtDXT15W0NdKTtBLnByb3RvdHlwZT1udWxsPT09eT9PYmplY3QuY3JlYXRlKHkpOih4LnByb3RvdHlwZT15LnByb3RvdHlwZSxuZXcgeCl9LHI9aCgxKSxsPWgoNSkscD1oKDIzKSxtPWgoOCksbj1oKDMxKSxxPWgoMCk7ZD1oKDQpO3ZhciB1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSh5LHgsQyl7dm9pZCAwPT09eSYmKHk9W10pO3ZvaWQgMD09PXgmJih4PTApO3ZvaWQgMD09PUMmJihDPUluZmluaXR5KTt0aGlzLmNvbHVtbnM9eTt0aGlzLmJvdHRvbVBhZGRpbmc9eDt0aGlzLm1heFdpZHRoPUN9QS5wcm90b3R5cGUuYWRkQ29sdW1uPWZ1bmN0aW9uKHkpe3ZhciB4PXkud2lkdGgsQz10aGlzLmdldFdpZHRoQXZhaWxhYmxlKCk7eS53aWR0aD1NYXRoLm1pbihDLHgpO3RoaXMuY29sdW1ucy5wdXNoKHkpfTtBLnByb3RvdHlwZS5nZXRCb3VuZHM9CmZ1bmN0aW9uKHkpe2Zvcih2YXIgeD10aGlzLmNvbHVtbnNbeV0sQz0wLEc9MDtHPHk7RysrKUMrPXRoaXMuY29sdW1uc1tHXS53aWR0aDtyZXR1cm57dG9wTGVmdDp7eDpDLHk6MH0sYm90dG9tUmlnaHQ6e3g6Qyt4LndpZHRoLHk6eC5oZWlnaHR9fX07QS5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHEuTWF0aC5tYXgodGhpcy5jb2x1bW5zLm1hcChmdW5jdGlvbih5KXtyZXR1cm4geS5oZWlnaHR9KSwwKSt0aGlzLmJvdHRvbVBhZGRpbmd9O0EucHJvdG90eXBlLmdldFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluKHRoaXMuY29sdW1ucy5yZWR1Y2UoZnVuY3Rpb24oeSx4KXtyZXR1cm4geSt4LndpZHRofSwwKSx0aGlzLm1heFdpZHRoKX07QS5wcm90b3R5cGUuZ2V0V2lkdGhBdmFpbGFibGU9ZnVuY3Rpb24oKXt2YXIgeT10aGlzLmdldFdpZHRoKCk7cmV0dXJuIE1hdGgubWF4KHRoaXMubWF4V2lkdGgteSwwKX07cmV0dXJuIEF9KCksdz1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoeSwKeCxDLEcpe3ZvaWQgMD09PXkmJih5PUluZmluaXR5KTt2b2lkIDA9PT14JiYoeD1JbmZpbml0eSk7dm9pZCAwPT09QyYmKEM9MCk7dm9pZCAwPT09RyYmKEc9W10pO3RoaXMubWF4V2lkdGg9eTt0aGlzLm1heEhlaWdodD14O3RoaXMucGFkZGluZz1DO3RoaXMucm93cz1HfUEucHJvdG90eXBlLmFkZFJvdz1mdW5jdGlvbih5KXt5Lm1heFdpZHRoPXRoaXMubWF4V2lkdGgtMip0aGlzLnBhZGRpbmc7dGhpcy5yb3dzLnB1c2goeSl9O0EucHJvdG90eXBlLmdldENvbHVtbkJvdW5kcz1mdW5jdGlvbih5LHgpe3ZhciBDPXRoaXMuZ2V0Um93Qm91bmRzKHkpO3k9dGhpcy5yb3dzW3ldLmdldEJvdW5kcyh4KTt5LnRvcExlZnQueCs9Qy50b3BMZWZ0Lng7eS5ib3R0b21SaWdodC54Kz1DLnRvcExlZnQueDt5LnRvcExlZnQueSs9Qy50b3BMZWZ0Lnk7eS5ib3R0b21SaWdodC55Kz1DLnRvcExlZnQueTtyZXR1cm4geX07QS5wcm90b3R5cGUuZ2V0Um93Qm91bmRzPWZ1bmN0aW9uKHkpe2Zvcih2YXIgeD0KdGhpcy5wYWRkaW5nLEM9dGhpcy5wYWRkaW5nLEc9MDtHPHk7RysrKUMrPXRoaXMucm93c1tHXS5nZXRIZWlnaHQoKTtyZXR1cm57dG9wTGVmdDp7eCx5OkN9LGJvdHRvbVJpZ2h0Ont4OngrdGhpcy5yb3dzW3ldLmdldFdpZHRoKCkseTpDK3RoaXMucm93c1t5XS5nZXRIZWlnaHQoKX19fTtBLnByb3RvdHlwZS5nZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4odGhpcy5yb3dzLnJlZHVjZShmdW5jdGlvbih5LHgpe3JldHVybiB5K3guZ2V0SGVpZ2h0KCl9LDApKzIqdGhpcy5wYWRkaW5nLHRoaXMubWF4SGVpZ2h0KX07QS5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4ocS5NYXRoLm1heCh0aGlzLnJvd3MubWFwKGZ1bmN0aW9uKHkpe3JldHVybiB5LmdldFdpZHRoKCl9KSwwKSsyKnRoaXMucGFkZGluZyx0aGlzLm1heFdpZHRoKX07cmV0dXJuIEF9KCk7ZD1mdW5jdGlvbihBKXtmdW5jdGlvbiB5KHgpe3ZhciBDPUEuY2FsbCh0aGlzKXx8CnRoaXM7Qy5fcGFkZGluZz01O0MuX3Jvd0JvdHRvbVBhZGRpbmc9MztDLmFkZENsYXNzKCJsZWdlbmQiKTtDLm1heEVudHJpZXNQZXJSb3coMSk7aWYobnVsbD09eCl0aHJvdyBFcnJvcigiTGVnZW5kIHJlcXVpcmVzIGEgY29sb3JTY2FsZSIpO0MuX2NvbG9yU2NhbGU9eDtDLl9yZWRyYXdDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBDLnJlZHJhdygpfTtDLl9jb2xvclNjYWxlLm9uVXBkYXRlKEMuX3JlZHJhd0NhbGxiYWNrKTtDLl9mb3JtYXR0ZXI9bS5pZGVudGl0eSgpO0MubWF4TGluZXNQZXJFbnRyeSgxKTtDLnhBbGlnbm1lbnQoInJpZ2h0IikueUFsaWdubWVudCgidG9wIik7Qy5jb21wYXJhdG9yKGZ1bmN0aW9uKEcsRCl7dmFyIEI9Qy5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLm1hcChmdW5jdGlvbihIKXtyZXR1cm4gQy5fZm9ybWF0dGVyKEgpfSk7cmV0dXJuIEIuaW5kZXhPZihHKS1CLmluZGV4T2YoRCl9KTtDLl9zeW1ib2xGYWN0b3J5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gbi5jaXJjbGUoKX07CkMuX3N5bWJvbE9wYWNpdHlBY2Nlc3Nvcj1mdW5jdGlvbigpe3JldHVybiAxfTtyZXR1cm4gQ31rKHksQSk7eS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7QS5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIHg9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCh5LkxFR0VORF9ST1dfQ0xBU1MsITApO3guYXBwZW5kKCJnIikuY2xhc3NlZCh5LkxFR0VORF9FTlRSWV9DTEFTUywhMCkuYXBwZW5kKCJ0ZXh0Iik7eD1uZXcgbC5TdmdDb250ZXh0KHgubm9kZSgpLG51bGwscC5BRERfVElUTEVfRUxFTUVOVFMpO3RoaXMuX21lYXN1cmVyPW5ldyBsLkNhY2hlTWVhc3VyZXIoeCk7dGhpcy5fd3JhcHBlcj0obmV3IGwuV3JhcHBlcikubWF4TGluZXModGhpcy5tYXhMaW5lc1BlckVudHJ5KCkpO3RoaXMuX3dyaXRlcj1uZXcgbC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIseCx0aGlzLl93cmFwcGVyKX07eS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHgpe2lmKG51bGw9PQp4KXJldHVybiB0aGlzLl9mb3JtYXR0ZXI7dGhpcy5fZm9ybWF0dGVyPXg7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUubWF4RW50cmllc1BlclJvdz1mdW5jdGlvbih4KXtpZihudWxsPT14KXJldHVybiB0aGlzLl9tYXhFbnRyaWVzUGVyUm93O3RoaXMuX21heEVudHJpZXNQZXJSb3c9eDt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTt5LnByb3RvdHlwZS5tYXhMaW5lc1BlckVudHJ5PWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX21heExpbmVzUGVyRW50cnk7dGhpcy5fbWF4TGluZXNQZXJFbnRyeT14O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3kucHJvdG90eXBlLm1heFdpZHRoPWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX21heFdpZHRoO3RoaXMuX21heFdpZHRoPXg7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuY29tcGFyYXRvcj1mdW5jdGlvbih4KXtudWxsIT14JiYodGhpcy5fY29tcGFyYXRvcj0KeCx0aGlzLnJlZHJhdygpKX07eS5wcm90b3R5cGUuY29sb3JTY2FsZT1mdW5jdGlvbih4KXtyZXR1cm4gbnVsbCE9eD8odGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spLHRoaXMuX2NvbG9yU2NhbGU9eCx0aGlzLl9jb2xvclNjYWxlLm9uVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKSx0aGlzLnJlZHJhdygpLHRoaXMpOnRoaXMuX2NvbG9yU2NhbGV9O3kucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtBLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7dGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spfTt5LnByb3RvdHlwZS5fYnVpbGRMZWdlbmRUYWJsZT1mdW5jdGlvbih4LEMpe3ZhciBHPXRoaXMsRD10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LEI9bmV3IHcoeCxDLHRoaXMuX3BhZGRpbmcpO3g9dGhpcy5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLnNvcnQoZnVuY3Rpb24oSywKTCl7cmV0dXJuIEcuX2NvbXBhcmF0b3IoRy5fZm9ybWF0dGVyKEspLEcuX2Zvcm1hdHRlcihMKSl9KTt2YXIgSD1uZXcgdTtCLmFkZFJvdyhIKTtILmJvdHRvbVBhZGRpbmc9dGhpcy5fcm93Qm90dG9tUGFkZGluZzt4LmZvckVhY2goZnVuY3Rpb24oSyl7SC5jb2x1bW5zLmxlbmd0aC8yPT09Ry5tYXhFbnRyaWVzUGVyUm93KCkmJihIPW5ldyB1LEguYm90dG9tUGFkZGluZz1HLl9yb3dCb3R0b21QYWRkaW5nLEIuYWRkUm93KEgpKTt2YXIgTD1ILmdldFdpZHRoQXZhaWxhYmxlKCksSj1HLl9mb3JtYXR0ZXIoSyksTz1HLl9tZWFzdXJlci5tZWFzdXJlKEopLndpZHRoOzA+TC1ELU8mJjE8SC5jb2x1bW5zLmxlbmd0aCYmKEg9bmV3IHUsSC5ib3R0b21QYWRkaW5nPUcuX3Jvd0JvdHRvbVBhZGRpbmcsQi5hZGRSb3coSCkpO0guYWRkQ29sdW1uKHt3aWR0aDpELGhlaWdodDpELGRhdGE6e25hbWU6Syx0eXBlOiJzeW1ib2wifX0pO0w9SC5nZXRXaWR0aEF2YWlsYWJsZSgpO0w9TWF0aC5taW4oTCwKTyk7Ry5fd3JhcHBlci5tYXhMaW5lcyhHLm1heExpbmVzUGVyRW50cnkoKSk7Sj1HLl93cmFwcGVyLndyYXAoSixHLl9tZWFzdXJlcixMKS5ub0xpbmVzKkQ7SC5hZGRDb2x1bW4oe3dpZHRoOkwsaGVpZ2h0OkosZGF0YTp7bmFtZTpLLHR5cGU6InRleHQifX0pfSk7cmV0dXJuIEJ9O3kucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHgsQyl7eD10aGlzLl9idWlsZExlZ2VuZFRhYmxlKHEuTWF0aC5taW4oW3RoaXMubWF4V2lkdGgoKSx4XSx4KSxDKTtyZXR1cm57bWluSGVpZ2h0OnguZ2V0SGVpZ2h0KCksbWluV2lkdGg6eC5nZXRXaWR0aCgpfX07eS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih4KXt2YXIgQz10aGlzO2lmKCF0aGlzLl9pc1NldHVwKXJldHVybltdO3ZhciBHPXRoaXMuX2J1aWxkTGVnZW5kVGFibGUodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpO3JldHVybiBHLnJvd3MucmVkdWNlKGZ1bmN0aW9uKEQsQixIKXtpZigwIT09RC5sZW5ndGgpcmV0dXJuIEQ7CnZhciBLPUcuZ2V0Um93Qm91bmRzKEgpO3JldHVybiBxLk1hdGgud2l0aGluKHgsSyk/Qi5jb2x1bW5zLnJlZHVjZShmdW5jdGlvbihMLEosTyl7dmFyIFM9Ry5nZXRDb2x1bW5Cb3VuZHMoSCxPKTtpZihxLk1hdGgud2l0aGluKHgsUykpe0w9Qy5jb250ZW50KCkuc2VsZWN0QWxsKCIuIit5LkxFR0VORF9ST1dfQ0xBU1MpLm5vZGVzKClbSF07Tz1yLnNlbGVjdChMKS5zZWxlY3RBbGwoIi4iK3kuTEVHRU5EX0VOVFJZX0NMQVNTKS5ub2RlcygpW01hdGguZmxvb3IoTy8yKV07dmFyIE49ci5zZWxlY3QoTykuc2VsZWN0KCIuIit5LkxFR0VORF9TWU1CT0xfQ0xBU1MpO1M9cS5ET00uZ2V0VHJhbnNsYXRlVmFsdWVzKHIuc2VsZWN0KEwpKTtOPXEuRE9NLmdldFRyYW5zbGF0ZVZhbHVlcyhOKTtyZXR1cm5be2JvdW5kczpxLkRPTS5lbGVtZW50QkJveChyLnNlbGVjdChMKSksZGF0dW06Si5kYXRhLm5hbWUscG9zaXRpb246e3g6U1swXStOWzBdLHk6U1sxXStOWzFdfSxzZWxlY3Rpb246ci5zZWxlY3QoTyksCmNvbXBvbmVudDpDfV19cmV0dXJuIEx9LEQpOkR9LFtdKX07eS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtBLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3ZhciB4PXRoaXMuX2J1aWxkTGVnZW5kVGFibGUodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpO3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiKiIpLnJlbW92ZSgpO3ZhciBDPXRoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiZy4iK3kuTEVHRU5EX1JPV19DTEFTUykuZGF0YSh4LnJvd3MpLEc9Qy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoeS5MRUdFTkRfUk9XX0NMQVNTLCEwKS5tZXJnZShDKTtDLmV4aXQoKS5yZW1vdmUoKTtHLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oQixIKXtCPXguZ2V0Um93Qm91bmRzKEgpO3JldHVybiJ0cmFuc2xhdGUoIitCLnRvcExlZnQueCsiLCAiK0IudG9wTGVmdC55KyIpIn0pO3ZhciBEPXRoaXM7Ry5lYWNoKGZ1bmN0aW9uKEIsSCl7Zm9yKHZhciBLPQpbXSxMPTA7TDxCLmNvbHVtbnMubGVuZ3RoO0wrPTIpSy5wdXNoKFtCLmNvbHVtbnNbTF0sQi5jb2x1bW5zW0wrMV1dKTtCPXIuc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy4iK3kuTEVHRU5EX0VOVFJZX0NMQVNTKS5kYXRhKEspO0s9Qi5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoeS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLm1lcmdlKEIpO0suYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsZnVuY3Rpb24oSil7Sj1KWzBdO3JldHVybiBELnN5bWJvbCgpKEouZGF0YS5uYW1lLEgpKC42KkouaGVpZ2h0KShudWxsKX0pLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oSil7Sj1KWzBdO3JldHVybiJ0cmFuc2xhdGUoIisoeC5nZXRDb2x1bW5Cb3VuZHMoSCx4LnJvd3NbSF0uY29sdW1ucy5pbmRleE9mKEopKS50b3BMZWZ0LngrSi53aWR0aC8yKSsiLCAiK0ouaGVpZ2h0LzIrIikifSkuYXR0cigiZmlsbCIsZnVuY3Rpb24oSil7cmV0dXJuIEQuX2NvbG9yU2NhbGUuc2NhbGUoSlswXS5kYXRhLm5hbWUpfSkuYXR0cigib3BhY2l0eSIsCmZ1bmN0aW9uKEope3JldHVybiBELnN5bWJvbE9wYWNpdHkoKShKWzBdLmRhdGEubmFtZSxIKX0pLmNsYXNzZWQoeS5MRUdFTkRfU1lNQk9MX0NMQVNTLCEwKTtLLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRleHQtY29udGFpbmVyIiwhMCkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbihKKXtyZXR1cm4idHJhbnNsYXRlKCIreC5nZXRDb2x1bW5Cb3VuZHMoSCx4LnJvd3NbSF0uY29sdW1ucy5pbmRleE9mKEpbMV0pKS50b3BMZWZ0LngrIiwgMCkifSkuZWFjaChmdW5jdGlvbihKKXt2YXIgTz1yLnNlbGVjdCh0aGlzKTtKPUpbMV07RC5fd3JpdGVyLndyaXRlKEQuX2Zvcm1hdHRlcihKLmRhdGEubmFtZSksSi53aWR0aCxELmhlaWdodCgpLHt4QWxpZ246ImxlZnQiLHlBbGlnbjoidG9wIix0ZXh0Um90YXRpb246MH0sTy5ub2RlKCkpfSk7Qi5leGl0KCkucmVtb3ZlKCl9KTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX3N5bWJvbEZhY3RvcnlBY2Nlc3NvcjsKdGhpcy5fc3ltYm9sRmFjdG9yeUFjY2Vzc29yPXg7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuc3ltYm9sT3BhY2l0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3J9O3kucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eS5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7dGhpcy5fbWVhc3VyZXIucmVzZXQoKX07cmV0dXJuIHl9KGQuQ29tcG9uZW50KTtkLkxFR0VORF9ST1dfQ0xBU1M9ImxlZ2VuZC1yb3ciO2QuTEVHRU5EX0VOVFJZX0NMQVNTPSJsZWdlbmQtZW50cnkiO2QuTEVHRU5EX1NZTUJPTF9DTEFTUz0ibGVnZW5kLXN5bWJvbCI7Zi5MZWdlbmQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPQpwfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDIpLGw9aCgwKTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXtyZXR1cm4gbnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfWsobSxwKTttLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0PWZ1bmN0aW9uKG4pe3ZhciBxLHU9SW5maW5pdHk7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbih3KXt3PXcuZW50aXR5TmVhcmVzdChuKTtpZihudWxsIT13KXt2YXIgQT1sLk1hdGguZGlzdGFuY2VTcXVhcmVkKHcucG9zaXRpb24sbik7QTw9dSYmKHU9QSxxPXcpfX0pO3JldHVybiBxfTttLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24obil7aWYobnVsbCE9biYmIShuIGluc3RhbmNlb2Ygci5QbG90KSl0aHJvdyBFcnJvcigiUGxvdCBHcm91cCBvbmx5IGFjY2VwdHMgcGxvdHMiKTsKcC5wcm90b3R5cGUuYXBwZW5kLmNhbGwodGhpcyxuKTtyZXR1cm4gdGhpc307cmV0dXJuIG19KGgoNDEpLkdyb3VwKTtmLlBsb3RHcm91cD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgxKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKG4pe3ZvaWQgMD09PW4mJihuPVtdKTt2YXIgcT1wLmNhbGwodGhpcyl8fHRoaXM7cS5fcm93UGFkZGluZz0wO3EuX2NvbHVtblBhZGRpbmc9MDtxLl9yb3dzPVtdO3EuX3Jvd1dlaWdodHM9W107cS5fY29sdW1uV2VpZ2h0cz1bXTtxLl9uUm93cz0wO3EuX25Db2xzPTA7cS5fY2FsY3VsYXRlZExheW91dD0KbnVsbDtxLmFkZENsYXNzKCJ0YWJsZSIpO24uZm9yRWFjaChmdW5jdGlvbih1LHcpe3UuZm9yRWFjaChmdW5jdGlvbihBLHkpe251bGwhPUEmJnEuYWRkKEEsdyx5KX0pfSk7cmV0dXJuIHF9ayhtLHApO20ucHJvdG90eXBlLl9mb3JFYWNoPWZ1bmN0aW9uKG4pe2Zvcih2YXIgcT0wO3E8dGhpcy5fblJvd3M7cSsrKWZvcih2YXIgdT0wO3U8dGhpcy5fbkNvbHM7dSsrKW51bGwhPXRoaXMuX3Jvd3NbcV1bdV0mJm4odGhpcy5fcm93c1txXVt1XSl9O20ucHJvdG90eXBlLmhhcz1mdW5jdGlvbihuKXtmb3IodmFyIHE9MDtxPHRoaXMuX25Sb3dzO3ErKylmb3IodmFyIHU9MDt1PHRoaXMuX25Db2xzO3UrKylpZih0aGlzLl9yb3dzW3FdW3VdPT09bilyZXR1cm4hMDtyZXR1cm4hMX07bS5wcm90b3R5cGUuY29tcG9uZW50QXQ9ZnVuY3Rpb24obixxKXtyZXR1cm4gMD5ufHxuPj10aGlzLl9uUm93c3x8MD5xfHxxPj10aGlzLl9uQ29scz9udWxsOnRoaXMuX3Jvd3Nbbl1bcV19O20ucHJvdG90eXBlLmFkZD0KZnVuY3Rpb24obixxLHUpe2lmKG51bGw9PW4pdGhyb3cgRXJyb3IoIkNhbm5vdCBhZGQgbnVsbCB0byBhIHRhYmxlIGNlbGwiKTtpZighdGhpcy5oYXMobikpe2lmKG51bGwhPSh0aGlzLl9yb3dzW3FdJiZ0aGlzLl9yb3dzW3FdW3VdKSl0aHJvdyBFcnJvcigiY2VsbCBpcyBvY2N1cGllZCIpO24uZGV0YWNoKCk7dGhpcy5fblJvd3M9TWF0aC5tYXgocSsxLHRoaXMuX25Sb3dzKTt0aGlzLl9uQ29scz1NYXRoLm1heCh1KzEsdGhpcy5fbkNvbHMpO3RoaXMuX3BhZFRhYmxlVG9TaXplKHRoaXMuX25Sb3dzLHRoaXMuX25Db2xzKTt0aGlzLl9yb3dzW3FdW3VdPW47dGhpcy5fYWRvcHRBbmRBbmNob3Iobik7dGhpcy5yZWRyYXcoKX1yZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbihuKXtmb3IodmFyIHE9MDtxPHRoaXMuX25Sb3dzO3ErKylmb3IodmFyIHU9MDt1PHRoaXMuX25Db2xzO3UrKylpZih0aGlzLl9yb3dzW3FdW3VdPT09bil7dGhpcy5fcm93c1txXVt1XT0KbnVsbDtyZXR1cm59fTttLnByb3RvdHlwZS5faXRlcmF0ZUxheW91dD1mdW5jdGlvbihuLHEsdSl7dm9pZCAwPT09dSYmKHU9ITEpO3ZhciB3PXRoaXMuX3Jvd3MsQT1yLnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtuLT10aGlzLl9jb2x1bW5QYWRkaW5nKih0aGlzLl9uQ29scy0xKTtxLT10aGlzLl9yb3dQYWRkaW5nKih0aGlzLl9uUm93cy0xKTt3PW0uX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX3Jvd1dlaWdodHMsdyxmdW5jdGlvbihOKXtyZXR1cm4gbnVsbD09Tnx8Ti5maXhlZEhlaWdodCgpfSk7QT1tLl9jYWxjQ29tcG9uZW50V2VpZ2h0cyh0aGlzLl9jb2x1bW5XZWlnaHRzLEEsZnVuY3Rpb24oTil7cmV0dXJuIG51bGw9PU58fE4uZml4ZWRXaWR0aCgpfSk7dmFyIHk9QS5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIDA9PT1OPy41Ok59KSx4PXcubWFwKGZ1bmN0aW9uKE4pe3JldHVybiAwPT09Tj8uNTpOfSk7eT1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoeSxuKTt2YXIgQz1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoeCwKcSksRz1sLkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KDAsdGhpcy5fbkNvbHMpLEQ9bC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Sb3dzKTt4PTA7Zm9yKHZhciBCLEgsSzs7KXtEPWwuQXJyYXkuYWRkKEQsQyk7eT1sLkFycmF5LmFkZChHLHkpO0I9dGhpcy5fZGV0ZXJtaW5lR3VhcmFudGVlcyh5LEQsdSk7Rz1CLmd1YXJhbnRlZWRXaWR0aHM7RD1CLmd1YXJhbnRlZWRIZWlnaHRzO0g9Qi53YW50c1dpZHRoQXJyLnNvbWUoZnVuY3Rpb24oTil7cmV0dXJuIE59KTtLPUIud2FudHNIZWlnaHRBcnIuc29tZShmdW5jdGlvbihOKXtyZXR1cm4gTn0pO3ZhciBMPU8sSj1TO3ZhciBPPW4tci5zdW0oQi5ndWFyYW50ZWVkV2lkdGhzKTt2YXIgUz1xLXIuc3VtKEIuZ3VhcmFudGVlZEhlaWdodHMpO3k9dm9pZCAwO0g/KHk9Qi53YW50c1dpZHRoQXJyLm1hcChmdW5jdGlvbihOKXtyZXR1cm4gTj8uMTowfSkseT1sLkFycmF5LmFkZCh5LEEpKTp5PUE7Qz12b2lkIDA7Sz8oQz1CLndhbnRzSGVpZ2h0QXJyLm1hcChmdW5jdGlvbihOKXtyZXR1cm4gTj8KLjE6MH0pLEM9bC5BcnJheS5hZGQoQyx3KSk6Qz13O3k9bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKHksTyk7Qz1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoQyxTKTt4Kys7Sj0wPFMmJlMhPT1KO2lmKCEoMDxPJiZPIT09THx8SikpYnJlYWs7aWYoNTx4KWJyZWFrfU89bi1yLnN1bShCLmd1YXJhbnRlZWRXaWR0aHMpO1M9cS1yLnN1bShCLmd1YXJhbnRlZWRIZWlnaHRzKTt5PW0uX2NhbGNQcm9wb3J0aW9uYWxTcGFjZShBLE8pO0M9bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKHcsUyk7cmV0dXJue2NvbFByb3BvcnRpb25hbFNwYWNlOnkscm93UHJvcG9ydGlvbmFsU3BhY2U6QyxndWFyYW50ZWVkV2lkdGhzOkIuZ3VhcmFudGVlZFdpZHRocyxndWFyYW50ZWVkSGVpZ2h0czpCLmd1YXJhbnRlZWRIZWlnaHRzLHdhbnRzV2lkdGg6SCx3YW50c0hlaWdodDpLfX07bS5wcm90b3R5cGUuX2RldGVybWluZUd1YXJhbnRlZXM9ZnVuY3Rpb24obixxLHUpe3ZvaWQgMD09PXUmJih1PSExKTt2YXIgdz0KbC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Db2xzKSxBPWwuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uUm93cykseT1sLkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KCExLHRoaXMuX25Db2xzKSx4PWwuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoITEsdGhpcy5fblJvd3MpO3RoaXMuX3Jvd3MuZm9yRWFjaChmdW5jdGlvbihDLEcpe0MuZm9yRWFjaChmdW5jdGlvbihELEIpe0Q9bnVsbCE9RD9ELnJlcXVlc3RlZFNwYWNlKG5bQl0scVtHXSk6e21pbldpZHRoOjAsbWluSGVpZ2h0OjB9O3dbQl09TWF0aC5tYXgod1tCXSx1P01hdGgubWluKEQubWluV2lkdGgsbltCXSk6RC5taW5XaWR0aCk7QVtHXT1NYXRoLm1heChBW0ddLHU/TWF0aC5taW4oRC5taW5IZWlnaHQscVtHXSk6RC5taW5IZWlnaHQpO3ZhciBIPUQubWluV2lkdGg+bltCXTt5W0JdPXlbQl18fEg7Qj1ELm1pbkhlaWdodD5xW0ddO3hbR109eFtHXXx8Qn0pfSk7cmV0dXJue2d1YXJhbnRlZWRXaWR0aHM6dywKZ3VhcmFudGVlZEhlaWdodHM6QSx3YW50c1dpZHRoQXJyOnksd2FudHNIZWlnaHRBcnI6eH19O20ucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKG4scSl7dGhpcy5fY2FsY3VsYXRlZExheW91dD10aGlzLl9pdGVyYXRlTGF5b3V0KG4scSk7cmV0dXJue21pbldpZHRoOnIuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksbWluSGVpZ2h0OnIuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZEhlaWdodHMpfX07bS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihuLHEsdSl7dmFyIHc9dGhpcztwLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxuLHEsdSk7bj1yLnN1bSh0aGlzLl9jYWxjdWxhdGVkTGF5b3V0Lmd1YXJhbnRlZWRXaWR0aHMpO3E9ci5zdW0odGhpcy5fY2FsY3VsYXRlZExheW91dC5ndWFyYW50ZWVkSGVpZ2h0cyk7dT10aGlzLl9jYWxjdWxhdGVkTGF5b3V0O2lmKG4+dGhpcy53aWR0aCgpfHwKcT50aGlzLmhlaWdodCgpKXU9dGhpcy5faXRlcmF0ZUxheW91dCh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSwhMCk7dmFyIEE9MCx5PWwuQXJyYXkuYWRkKHUucm93UHJvcG9ydGlvbmFsU3BhY2UsdS5ndWFyYW50ZWVkSGVpZ2h0cykseD1sLkFycmF5LmFkZCh1LmNvbFByb3BvcnRpb25hbFNwYWNlLHUuZ3VhcmFudGVlZFdpZHRocyk7dGhpcy5fcm93cy5mb3JFYWNoKGZ1bmN0aW9uKEMsRyl7dmFyIEQ9MDtDLmZvckVhY2goZnVuY3Rpb24oQixIKXtudWxsIT1CJiZCLmNvbXB1dGVMYXlvdXQoe3g6RCx5OkF9LHhbSF0seVtHXSk7RCs9eFtIXSt3Ll9jb2x1bW5QYWRkaW5nfSk7QSs9eVtHXSt3Ll9yb3dQYWRkaW5nfSk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJvd1BhZGRpbmc9ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5fcm93UGFkZGluZztpZighbC5NYXRoLmlzVmFsaWROdW1iZXIobil8fDA+bil0aHJvdyBFcnJvcigicm93UGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpOwp0aGlzLl9yb3dQYWRkaW5nPW47dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuY29sdW1uUGFkZGluZz1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9jb2x1bW5QYWRkaW5nO2lmKCFsLk1hdGguaXNWYWxpZE51bWJlcihuKXx8MD5uKXRocm93IEVycm9yKCJjb2x1bW5QYWRkaW5nIG11c3QgYmUgYSBub24tbmVnYXRpdmUgZmluaXRlIHZhbHVlIik7dGhpcy5fY29sdW1uUGFkZGluZz1uO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJvd1dlaWdodD1mdW5jdGlvbihuLHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuX3Jvd1dlaWdodHNbbl07aWYoIWwuTWF0aC5pc1ZhbGlkTnVtYmVyKHEpfHwwPnEpdGhyb3cgRXJyb3IoInJvd1dlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3RoaXMuX3Jvd1dlaWdodHNbbl09cTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5jb2x1bW5XZWlnaHQ9CmZ1bmN0aW9uKG4scSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5fY29sdW1uV2VpZ2h0c1tuXTtpZighbC5NYXRoLmlzVmFsaWROdW1iZXIocSl8fDA+cSl0aHJvdyBFcnJvcigiY29sdW1uV2VpZ2h0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgZmluaXRlIHZhbHVlIik7dGhpcy5fY29sdW1uV2VpZ2h0c1tuXT1xO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXt2YXIgbj1yLnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtyZXR1cm4gbS5fZml4ZWRTcGFjZShuLGZ1bmN0aW9uKHEpe3JldHVybiBudWxsPT1xfHxxLmZpeGVkV2lkdGgoKX0pfTttLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiBtLl9maXhlZFNwYWNlKHRoaXMuX3Jvd3MsZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PW58fG4uZml4ZWRIZWlnaHQoKX0pfTttLnByb3RvdHlwZS5fcGFkVGFibGVUb1NpemU9ZnVuY3Rpb24obixxKXtmb3IodmFyIHU9CjA7dTxuO3UrKyl7dm9pZCAwPT09dGhpcy5fcm93c1t1XSYmKHRoaXMuX3Jvd3NbdV09W10sdGhpcy5fcm93V2VpZ2h0c1t1XT1udWxsKTtmb3IodmFyIHc9MDt3PHE7dysrKXZvaWQgMD09PXRoaXMuX3Jvd3NbdV1bd10mJih0aGlzLl9yb3dzW3VdW3ddPW51bGwpfWZvcih3PTA7dzxxO3crKyl2b2lkIDA9PT10aGlzLl9jb2x1bW5XZWlnaHRzW3ddJiYodGhpcy5fY29sdW1uV2VpZ2h0c1t3XT1udWxsKX07bS5fY2FsY0NvbXBvbmVudFdlaWdodHM9ZnVuY3Rpb24obixxLHUpe3JldHVybiBuLm1hcChmdW5jdGlvbih3LEEpe3JldHVybiBudWxsIT13P3c6cVtBXS5tYXAodSkucmVkdWNlKGZ1bmN0aW9uKHkseCl7cmV0dXJuIHkmJnh9LCEwKT8wOjF9KX07bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlPWZ1bmN0aW9uKG4scSl7dmFyIHU9ci5zdW0obik7cmV0dXJuIDA9PT11P2wuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCxuLmxlbmd0aCk6bi5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIHEqCncvdX0pfTttLl9maXhlZFNwYWNlPWZ1bmN0aW9uKG4scSl7ZnVuY3Rpb24gdSh3KXtyZXR1cm4gdy5yZWR1Y2UoZnVuY3Rpb24oQSx5KXtyZXR1cm4gQSYmeX0sITApfXJldHVybiB1KG4ubWFwKGZ1bmN0aW9uKHcpe3JldHVybiB1KHcubWFwKHEpKX0pKX07cmV0dXJuIG19KGgoMjkpLkNvbXBvbmVudENvbnRhaW5lcik7Zi5UYWJsZT1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3ZhciBwPXIuY2FsbCh0aGlzKXx8dGhpcztwLmFkZENsYXNzKCJ4LWRyYWctYm94LWxheWVyIik7cC5faGFzQ29ybmVycz0hMTsKcmV0dXJuIHB9ayhsLHIpO2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24ocCxtLG4pe3IucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLHAsbSxuKTt0aGlzLl9zZXRCb3VuZHModGhpcy5ib3VuZHMoKSk7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLl9zZXRCb3VuZHM9ZnVuY3Rpb24ocCl7ci5wcm90b3R5cGUuX3NldEJvdW5kcy5jYWxsKHRoaXMse3RvcExlZnQ6e3g6cC50b3BMZWZ0LngseTowfSxib3R0b21SaWdodDp7eDpwLmJvdHRvbVJpZ2h0LngseTp0aGlzLmhlaWdodCgpfX0pfTtsLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbihwKXtwJiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ4LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIil9O2wucHJvdG90eXBlLnlTY2FsZT1mdW5jdGlvbihwKXtpZihudWxsPT1wKXJldHVybiByLnByb3RvdHlwZS55U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBFcnJvcigieVNjYWxlcyBjYW5ub3QgYmUgc2V0IG9uIGFuIFhEcmFnQm94TGF5ZXIiKTsKfTtsLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHIucHJvdG90eXBlLnlFeHRlbnQuY2FsbCh0aGlzKTt0aHJvdyBFcnJvcigiWERyYWdCb3hMYXllciBoYXMgbm8geUV4dGVudCIpO307cmV0dXJuIGx9KGgoMzIpLkRyYWdCb3hMYXllcik7Zi5YRHJhZ0JveExheWVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7dmFyIHA9ci5jYWxsKHRoaXMpfHx0aGlzO3AuYWRkQ2xhc3MoInktZHJhZy1ib3gtbGF5ZXIiKTtwLl9oYXNDb3JuZXJzPSExO3JldHVybiBwfWsobCxyKTtsLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PQpmdW5jdGlvbihwLG0sbil7ci5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMscCxtLG4pO3RoaXMuX3NldEJvdW5kcyh0aGlzLmJvdW5kcygpKTtyZXR1cm4gdGhpc307bC5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbihwKXtyLnByb3RvdHlwZS5fc2V0Qm91bmRzLmNhbGwodGhpcyx7dG9wTGVmdDp7eDowLHk6cC50b3BMZWZ0Lnl9LGJvdHRvbVJpZ2h0Ont4OnRoaXMud2lkdGgoKSx5OnAuYm90dG9tUmlnaHQueX19KX07bC5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24ocCl7cCYmdGhpcy5lbmFibGVkKCk/dGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKTp0aGlzLnJlbW92ZUNsYXNzKCJ5LXJlc2l6YWJsZSIpfTtsLnByb3RvdHlwZS54U2NhbGU9ZnVuY3Rpb24ocCl7aWYobnVsbD09cClyZXR1cm4gci5wcm90b3R5cGUueFNjYWxlLmNhbGwodGhpcyk7dGhyb3cgRXJyb3IoInhTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBZRHJhZ0JveExheWVyIik7Cn07bC5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbigpe3JldHVybiByLnByb3RvdHlwZS54RXh0ZW50LmNhbGwodGhpcyk7dGhyb3cgRXJyb3IoIllEcmFnQm94TGF5ZXIgaGFzIG5vIHhFeHRlbnQiKTt9O3JldHVybiBsfShoKDMyKS5EcmFnQm94TGF5ZXIpO2YuWURyYWdCb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3ZhciBwPXIuY2FsbCh0aGlzKXx8dGhpcztwLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2wuX0tFWURPV05fRVZFTlRfTkFNRV09ZnVuY3Rpb24obSl7cmV0dXJuIHAuX3Byb2Nlc3NLZXlkb3duKG0pfTsKcC5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltsLl9LRVlVUF9FVkVOVF9OQU1FXT1mdW5jdGlvbihtKXtyZXR1cm4gcC5fcHJvY2Vzc0tleXVwKG0pfTtyZXR1cm4gcH1rKGwscik7bC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKCl7dmFyIHA9ZG9jdW1lbnRbbC5fRElTUEFUQ0hFUl9LRVldO251bGw9PXAmJihwPW5ldyBsLGRvY3VtZW50W2wuX0RJU1BBVENIRVJfS0VZXT1wKTtyZXR1cm4gcH07bC5wcm90b3R5cGUuX3Byb2Nlc3NLZXlkb3duPWZ1bmN0aW9uKHApe3RoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChsLl9LRVlET1dOX0VWRU5UX05BTUUscC5rZXlDb2RlLHApfTtsLnByb3RvdHlwZS5fcHJvY2Vzc0tleXVwPWZ1bmN0aW9uKHApe3RoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChsLl9LRVlVUF9FVkVOVF9OQU1FLHAua2V5Q29kZSxwKX07bC5wcm90b3R5cGUub25LZXlEb3duPWZ1bmN0aW9uKHApe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQobC5fS0VZRE9XTl9FVkVOVF9OQU1FLApwKX07bC5wcm90b3R5cGUub2ZmS2V5RG93bj1mdW5jdGlvbihwKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGwuX0tFWURPV05fRVZFTlRfTkFNRSxwKX07bC5wcm90b3R5cGUub25LZXlVcD1mdW5jdGlvbihwKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGwuX0tFWVVQX0VWRU5UX05BTUUscCl9O2wucHJvdG90eXBlLm9mZktleVVwPWZ1bmN0aW9uKHApe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQobC5fS0VZVVBfRVZFTlRfTkFNRSxwKX07cmV0dXJuIGx9KGgoMjQpLkRpc3BhdGNoZXIpO2QuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX0tleSI7ZC5fS0VZRE9XTl9FVkVOVF9OQU1FPSJrZXlkb3duIjtkLl9LRVlVUF9FVkVOVF9OQU1FPSJrZXl1cCI7Zi5LZXk9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmCihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDApO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtKXtmdW5jdGlvbiBuKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFTU9WRV9FVkVOVF9OQU1FLCJwYWdlIil9dmFyIHE9bC5jYWxsKHRoaXMpfHx0aGlzO3EuX2xhc3RNb3VzZVBvc2l0aW9uPXt4Oi0xLHk6LTF9O3EuX3RyYW5zbGF0b3I9ci5nZXRUcmFuc2xhdG9yKG0pO3EuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bcC5fTU9VU0VPVkVSX0VWRU5UX05BTUVdPW47cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRU1PVkVfRVZFTlRfTkFNRV09bjtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX01PVVNFT1VUX0VWRU5UX05BTUVdPW47cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRURPV05fRVZFTlRfTkFNRV09CmZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFRE9XTl9FVkVOVF9OQU1FKX07cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRVVQX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFVVBfRVZFTlRfTkFNRSwicGFnZSIpfTtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1dIRUVMX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX1dIRUVMX0VWRU5UX05BTUUpfTtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX0RCTENMSUNLX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX0RCTENMSUNLX0VWRU5UX05BTUUpfTtyZXR1cm4gcX1rKHAsbCk7cC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKG0pe3ZhciBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCksCnE9bltwLl9ESVNQQVRDSEVSX0tFWV07bnVsbD09cSYmKHE9bmV3IHAobSksbltwLl9ESVNQQVRDSEVSX0tFWV09cSk7cmV0dXJuIHF9O3AucHJvdG90eXBlLm9uTW91c2VNb3ZlPWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fTU9VU0VNT1ZFX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9mZk1vdXNlTW92ZT1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFTU9WRV9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFRE9XTl9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZNb3VzZURvd249ZnVuY3Rpb24obSl7dGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChwLl9NT1VTRURPV05fRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25Nb3VzZVVwPWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fTU9VU0VVUF9FVkVOVF9OQU1FLAptKX07cC5wcm90b3R5cGUub2ZmTW91c2VVcD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFVVBfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25XaGVlbD1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX1dIRUVMX0VWRU5UX05BTUUsbSk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLm9mZldoZWVsPWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fV0hFRUxfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25EYmxDbGljaz1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX0RCTENMSUNLX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9mZkRibENsaWNrPWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fREJMQ0xJQ0tfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUuX21lYXN1cmVBbmREaXNwYXRjaD1mdW5jdGlvbihtLG4scSwKdSl7dm9pZCAwPT09dSYmKHU9ImVsZW1lbnQiKTtpZigicGFnZSIhPT11JiYiZWxlbWVudCIhPT11KXRocm93IEVycm9yKCJJbnZhbGlkIHNjb3BlICciK3UrIicsIG11c3QgYmUgJ2VsZW1lbnQnIG9yICdwYWdlJyIpO2lmKCJwYWdlIj09PXV8fHRoaXMuZXZlbnRJbnNpZGUobSxuKSl0aGlzLl9sYXN0TW91c2VQb3NpdGlvbj10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbihuLmNsaWVudFgsbi5jbGllbnRZKSx0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQocSx0aGlzLmxhc3RNb3VzZVBvc2l0aW9uKCksbil9O3AucHJvdG90eXBlLmV2ZW50SW5zaWRlPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHIuVHJhbnNsYXRvci5pc0V2ZW50SW5zaWRlKG0sbil9O3AucHJvdG90eXBlLmxhc3RNb3VzZVBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhc3RNb3VzZVBvc2l0aW9ufTtyZXR1cm4gcH0oaCgyNCkuRGlzcGF0Y2hlcik7ZC5fRElTUEFUQ0hFUl9LRVk9Il9fUGxvdHRhYmxlX0Rpc3BhdGNoZXJfTW91c2UiOwpkLl9NT1VTRU9WRVJfRVZFTlRfTkFNRT0ibW91c2VvdmVyIjtkLl9NT1VTRU1PVkVfRVZFTlRfTkFNRT0ibW91c2Vtb3ZlIjtkLl9NT1VTRU9VVF9FVkVOVF9OQU1FPSJtb3VzZW91dCI7ZC5fTU9VU0VET1dOX0VWRU5UX05BTUU9Im1vdXNlZG93biI7ZC5fTU9VU0VVUF9FVkVOVF9OQU1FPSJtb3VzZXVwIjtkLl9XSEVFTF9FVkVOVF9OQU1FPSJ3aGVlbCI7ZC5fREJMQ0xJQ0tfRVZFTlRfTkFNRT0iZGJsY2xpY2siO2YuTW91c2U9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfSxyPWgoMCk7ZD1mdW5jdGlvbihsKXtmdW5jdGlvbiBwKG0pe3ZhciBuPWwuY2FsbCh0aGlzKXx8CnRoaXM7bi5fdHJhbnNsYXRvcj1yLmdldFRyYW5zbGF0b3IobSk7bi5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9UT1VDSFNUQVJUX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSxxLHAuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSwicGFnZSIpfTtuLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1RPVUNITU9WRV9FVkVOVF9OQU1FXT1mdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUFuZERpc3BhdGNoKG0scSxwLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSwicGFnZSIpfTtuLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1RPVUNIRU5EX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSxxLHAuX1RPVUNIRU5EX0VWRU5UX05BTUUsInBhZ2UiKX07bi5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FXT1mdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUFuZERpc3BhdGNoKG0sCnEscC5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRSwicGFnZSIpfTtyZXR1cm4gbn1rKHAsbCk7cC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKG0pe3ZhciBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCkscT1uW3AuX0RJU1BBVENIRVJfS0VZXTtudWxsPT1xJiYocT1uZXcgcChtKSxuW3AuX0RJU1BBVENIRVJfS0VZXT1xKTtyZXR1cm4gcX07cC5wcm90b3R5cGUub25Ub3VjaFN0YXJ0PWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaFN0YXJ0PWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vblRvdWNoTW92ZT1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNITU9WRV9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaE1vdmU9ZnVuY3Rpb24obSl7dGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSwKbSl9O3AucHJvdG90eXBlLm9uVG91Y2hFbmQ9ZnVuY3Rpb24obSl7dGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSEVORF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaEVuZD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNIRU5EX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9uVG91Y2hDYW5jZWw9ZnVuY3Rpb24obSl7dGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaENhbmNlbD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNIQ0FOQ0VMX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLl9tZWFzdXJlQW5kRGlzcGF0Y2g9ZnVuY3Rpb24obSxuLHEsdSl7dm9pZCAwPT09dSYmKHU9ImVsZW1lbnQiKTtpZigicGFnZSIhPT11JiYiZWxlbWVudCIhPT11KXRocm93IEVycm9yKCJJbnZhbGlkIHNjb3BlICciKwp1KyInLCBtdXN0IGJlICdlbGVtZW50JyBvciAncGFnZSciKTtpZigiZWxlbWVudCIhPT11fHx0aGlzLmV2ZW50SW5zaWRlKG0sbikpe209bi5jaGFuZ2VkVG91Y2hlczt1PXt9O2Zvcih2YXIgdz1bXSxBPTA7QTxtLmxlbmd0aDtBKyspe3ZhciB5PW1bQV0seD15LmlkZW50aWZpZXI7eT10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbih5LmNsaWVudFgseS5jbGllbnRZKTtudWxsIT15JiYodVt4XT15LHcucHVzaCh4KSl9MDx3Lmxlbmd0aCYmdGhpcy5fY2FsbENhbGxiYWNrc0ZvckV2ZW50KHEsdyx1LG4pfX07cC5wcm90b3R5cGUuZXZlbnRJbnNpZGU9ZnVuY3Rpb24obSxuKXtyZXR1cm4gci5UcmFuc2xhdG9yLmlzRXZlbnRJbnNpZGUobSxuKX07cmV0dXJuIHB9KGgoMjQpLkRpc3BhdGNoZXIpO2QuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX1RvdWNoIjtkLl9UT1VDSFNUQVJUX0VWRU5UX05BTUU9InRvdWNoc3RhcnQiO2QuX1RPVUNITU9WRV9FVkVOVF9OQU1FPQoidG91Y2htb3ZlIjtkLl9UT1VDSEVORF9FVkVOVF9OQU1FPSJ0b3VjaGVuZCI7ZC5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRT0idG91Y2hjYW5jZWwiO2YuVG91Y2g9ZH0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dm9pZCAwPT09bCYmKGw9d2luZG93LmRldmljZVBpeGVsUmF0aW8pO3RoaXMuc2NyZWVuV2lkdGg9azt0aGlzLnNjcmVlbkhlaWdodD1yO3RoaXMuZGV2aWNlUGl4ZWxSYXRpbz1sO3RoaXMucGl4ZWxXaWR0aD1rKmw7dGhpcy5waXhlbEhlaWdodD1yKmw7dGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7dGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKTtoLnNpemVQaXhlbHModGhpcy5jdHgsayxyLGwpfWguc2l6ZVBpeGVscz1mdW5jdGlvbihrLHIsbCxwKXt2YXIgbT1rLmNhbnZhczttLndpZHRoPXIqcDttLmhlaWdodD1sKnA7bS5zdHlsZS53aWR0aD1yKyJweCI7bS5zdHlsZS5oZWlnaHQ9CmwrInB4IjtrLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7ay5zY2FsZShwLHApfTtoLnByb3RvdHlwZS5ibGl0PWZ1bmN0aW9uKGsscixsKXt2b2lkIDA9PT1yJiYocj0wKTt2b2lkIDA9PT1sJiYobD0wKTtrLmRyYXdJbWFnZSh0aGlzLmNhbnZhcyxyLGwsdGhpcy5zY3JlZW5XaWR0aCx0aGlzLnNjcmVlbkhlaWdodCl9O2gucHJvdG90eXBlLmJsaXRDZW50ZXI9ZnVuY3Rpb24oayxyLGwpe3ZvaWQgMD09PXImJihyPTApO3ZvaWQgMD09PWwmJihsPTApO3RoaXMuYmxpdChrLE1hdGguZmxvb3Ioci10aGlzLnNjcmVlbldpZHRoLzIpLE1hdGguZmxvb3IobC10aGlzLnNjcmVlbkhlaWdodC8yKSl9O2gucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihrLHIsbCl7dm9pZCAwPT09bCYmKGw9ITEpO3ZhciBwPXRoaXMuZGV2aWNlUGl4ZWxSYXRpbzt0aGlzLnNjcmVlbldpZHRoPWs7dGhpcy5zY3JlZW5IZWlnaHQ9cjt0aGlzLnBpeGVsV2lkdGg9aypwO3RoaXMucGl4ZWxIZWlnaHQ9cipwOwpoLnNpemVQaXhlbHModGhpcy5jdHgsayxyLHApO2wmJnRoaXMuY3R4LnRyYW5zbGF0ZShrLzIsay8yKTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oayl7dmFyIHI9dGhpcy5waXhlbFdpZHRoLGw9dGhpcy5waXhlbEhlaWdodCxwPXRoaXMuY3R4O3Auc2F2ZSgpO3Auc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtudWxsPT1rP3AuY2xlYXJSZWN0KDAsMCxyLGwpOihwLmZpbGxTdHlsZT1rLHAuZmlsbFJlY3QoMCwwLHIsbCkpO3AucmVzdG9yZSgpO3JldHVybiB0aGlzfTtoLnByb3RvdHlwZS5nZXRJbWFnZURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLnBpeGVsV2lkdGgsdGhpcy5waXhlbEhlaWdodCl9O3JldHVybiBofSgpO2YuQ2FudmFzQnVmZmVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj0KcH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgxMyksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3ZhciBuPW51bGwhPT1wJiZwLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztuLl9jbGlja2VkRG93bj0hMTtuLl9kb3VibGVDbGlja2luZz0hMTtuLl9vbkNsaWNrQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O24uX29uRG91YmxlQ2xpY2tDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7bi5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24ocSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrRG93bihxKX07bi5fbW91c2VVcENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrVXAocSx1KX07bi5fZGJsQ2xpY2tDYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9oYW5kbGVEYmxDbGljayhxLAp1KX07bi5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrRG93bih1W3FbMF1dKX07bi5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrVXAodVtxWzBdXSx3KX07bi5fdG91Y2hDYW5jZWxDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLl9jbGlja2VkRG93bj0hMX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fbW91c2VEaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcihuKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25EYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKTsKdGhpcy5fdG91Y2hEaXNwYXRjaGVyPXIuVG91Y2guZ2V0RGlzcGF0Y2hlcihuKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9O20ucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3AucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZVVwKHRoaXMuX21vdXNlVXBDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZkRibENsaWNrKHRoaXMuX2RibENsaWNrQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayk7CnRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9O20ucHJvdG90eXBlLl9oYW5kbGVDbGlja0Rvd249ZnVuY3Rpb24obil7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYodGhpcy5fY2xpY2tlZERvd249ITAsdGhpcy5fY2xpY2tlZFBvaW50PW4pfTttLnByb3RvdHlwZS5faGFuZGxlQ2xpY2tVcD1mdW5jdGlvbihuLHEpe3ZhciB1PXRoaXMsdz10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3RoaXMuX2NsaWNrZWREb3duJiZtLl9wb2ludHNFcXVhbCh3LHRoaXMuX2NsaWNrZWRQb2ludCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt1Ll9kb3VibGVDbGlja2luZ3x8dS5fb25DbGlja0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHcsCnEpfSwwKTt0aGlzLl9jbGlja2VkRG93bj0hMX07bS5wcm90b3R5cGUuX2hhbmRsZURibENsaWNrPWZ1bmN0aW9uKG4scSl7dmFyIHU9dGhpcztuPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uobik7dGhpcy5fZG91YmxlQ2xpY2tpbmc9ITA7dGhpcy5fb25Eb3VibGVDbGlja0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKG4scSk7c2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB1Ll9kb3VibGVDbGlja2luZz0hMX0sMCl9O20uX3BvaW50c0VxdWFsPWZ1bmN0aW9uKG4scSl7cmV0dXJuIG4ueD09PXEueCYmbi55PT09cS55fTttLnByb3RvdHlwZS5vbkNsaWNrPWZ1bmN0aW9uKG4pe3RoaXMuX29uQ2xpY2tDYWxsYmFja3MuYWRkKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5vZmZDbGljaz1mdW5jdGlvbihuKXt0aGlzLl9vbkNsaWNrQ2FsbGJhY2tzLmRlbGV0ZShuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25Eb3VibGVDbGljaz1mdW5jdGlvbihuKXt0aGlzLl9vbkRvdWJsZUNsaWNrQ2FsbGJhY2tzLmFkZChuKX07Cm0ucHJvdG90eXBlLm9mZkRvdWJsZUNsaWNrPWZ1bmN0aW9uKG4pe3RoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuZGVsZXRlKG4pO3JldHVybiB0aGlzfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2YuQ2xpY2s9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTMpLGw9aCgwKTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXt2YXIgbj1udWxsIT09cCYmcC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7bi5fZHJhZ2dpbmc9ITE7bi5fY29uc3RyYWluZWRUb0NvbXBvbmVudD0hMDtuLl9tb3VzZUZpbHRlcj1tLl9ERUZBVUxUX01PVVNFX0ZJTFRFUjsKbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O24uX2RyYWdDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7bi5fZHJhZ0VuZENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9tb3VzZURvd25DYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9zdGFydERyYWcocSx1KX07bi5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24ocSl7cmV0dXJuIG4uX2RvRHJhZyhxKX07bi5fbW91c2VVcENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2VuZERyYWcocSx1KX07bi5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHEsdSx3KXtyZXR1cm4gbi5fc3RhcnREcmFnKHVbcVswXV0sdyl9O24uX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2RvRHJhZyh1W3FbMF1dKX07bi5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2VuZERyYWcodVtxWzBdXSx3KX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9CmZ1bmN0aW9uKG4pe3AucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLG4pO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1yLk1vdXNlLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9ci5Ub3VjaC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spfTsKbS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlRG93bih0aGlzLl9tb3VzZURvd25DYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbDt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bnVsbH07bS5wcm90b3R5cGUuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbj0KZnVuY3Rpb24obil7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3JldHVybiB0aGlzLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50P3t4OmwuTWF0aC5jbGFtcChuLngsMCx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkpLHk6bC5NYXRoLmNsYW1wKG4ueSwwLHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8uaGVpZ2h0KCkpfTpufTttLnByb3RvdHlwZS5fc3RhcnREcmFnPWZ1bmN0aW9uKG4scSl7cSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJiF0aGlzLl9tb3VzZUZpbHRlcihxKXx8KG49dGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShuKSx0aGlzLl9pc0luc2lkZUNvbXBvbmVudChuKSYmKHEucHJldmVudERlZmF1bHQoKSx0aGlzLl9kcmFnZ2luZz0hMCx0aGlzLl9kcmFnT3JpZ2luPW4sdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcy5fZHJhZ09yaWdpbikpKX07bS5wcm90b3R5cGUuX2RvRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnZ2luZyYmCnRoaXMuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luLHRoaXMuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbihuKSl9O20ucHJvdG90eXBlLl9lbmREcmFnPWZ1bmN0aW9uKG4scSl7cSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJjAhPT1xLmJ1dHRvbnx8IXRoaXMuX2RyYWdnaW5nfHwodGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMuX2RyYWdPcmlnaW4sdGhpcy5fdHJhbnNsYXRlQW5kQ29uc3RyYWluKG4pKSl9O20ucHJvdG90eXBlLmNvbnN0cmFpbmVkVG9Db21wb25lbnQ9ZnVuY3Rpb24oKXt0aGlzLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50PSExfTttLnByb3RvdHlwZS5tb3VzZUZpbHRlcj1mdW5jdGlvbihuKXswIT09YXJndW1lbnRzLmxlbmd0aCYmKHRoaXMuX21vdXNlRmlsdGVyPW4pfTttLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbihuKXt0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKG4pfTsKbS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUobil9O20ucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZEcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKG4pfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2QuX0RFRkFVTFRfTU9VU0VfRklMVEVSPWZ1bmN0aW9uKHApe3JldHVybiAwPT09cC5idXR0b259O2YuRHJhZz1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHUsdyl7ZnVuY3Rpb24gQSgpe3RoaXMuY29uc3RydWN0b3I9CnV9Zm9yKHZhciB5IGluIHcpdy5oYXNPd25Qcm9wZXJ0eSh5KSYmKHVbeV09d1t5XSk7dS5wcm90b3R5cGU9bnVsbD09PXc/T2JqZWN0LmNyZWF0ZSh3KTooQS5wcm90b3R5cGU9dy5wcm90b3R5cGUsbmV3IEEpfSxyPWgoMSksbD1oKDEzKSxwPWgoMyksbT1oKDApLG49aCgyNSk7ZD1oKDE1KTt2YXIgcT1oKDI2KTtoPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoQSx5KXt2YXIgeD11LmNhbGwodGhpcyl8fHRoaXM7eC5fd2hlZWxGaWx0ZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eC5fd2hlZWxDYWxsYmFjaz1mdW5jdGlvbihDLEcpe3JldHVybiB4Ll9oYW5kbGVXaGVlbEV2ZW50KEMsRyl9O3guX3RvdWNoU3RhcnRDYWxsYmFjaz1mdW5jdGlvbihDLEcpe3JldHVybiB4Ll9oYW5kbGVUb3VjaFN0YXJ0KEMsRyl9O3guX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKEMsRyl7cmV0dXJuIHguX2hhbmRsZVBpbmNoKEMsRyl9O3guX3RvdWNoRW5kQ2FsbGJhY2s9ZnVuY3Rpb24oQyl7cmV0dXJuIHguX2hhbmRsZVRvdWNoRW5kKEMpfTsKeC5fdG91Y2hDYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihDKXtyZXR1cm4geC5faGFuZGxlVG91Y2hFbmQoQyl9O3guX3BhbkVuZENhbGxiYWNrcz1uZXcgbS5DYWxsYmFja1NldDt4Ll96b29tRW5kQ2FsbGJhY2tzPW5ldyBtLkNhbGxiYWNrU2V0O3guX3Bhblpvb21VcGRhdGVDYWxsYmFja3M9bmV3IG0uQ2FsbGJhY2tTZXQ7eC5feFNjYWxlcz1uZXcgbS5TZXQ7eC5feVNjYWxlcz1uZXcgbS5TZXQ7eC5fZHJhZ0ludGVyYWN0aW9uPW5ldyBuLkRyYWc7eC5fc2V0dXBEcmFnSW50ZXJhY3Rpb24oKTt4Ll90b3VjaElkcz1yLm1hcCgpO3guX21pbkRvbWFpbkV4dGVudHM9bmV3IG0uTWFwO3guX21heERvbWFpbkV4dGVudHM9bmV3IG0uTWFwO3guX21pbkRvbWFpblZhbHVlcz1uZXcgbS5NYXA7eC5fbWF4RG9tYWluVmFsdWVzPW5ldyBtLk1hcDtudWxsIT1BJiZ4LmFkZFhTY2FsZShBKTtudWxsIT15JiZ4LmFkZFlTY2FsZSh5KTtyZXR1cm4geH1rKHcsdSk7dy5wcm90b3R5cGUuZHJhZ0ludGVyYWN0aW9uPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb259O3cucHJvdG90eXBlLndoZWVsRmlsdGVyPWZ1bmN0aW9uKEEpezAhPT1hcmd1bWVudHMubGVuZ3RoJiYodGhpcy5fd2hlZWxGaWx0ZXI9QSl9O3cucHJvdG90eXBlLnBhbj1mdW5jdGlvbihBKXt2YXIgeT10aGlzO3RoaXMueFNjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5wYW4oeS5fY29uc3RyYWluZWRUcmFuc2xhdGlvbih4LEEueCkpfSk7dGhpcy55U2NhbGVzKCkuZm9yRWFjaChmdW5jdGlvbih4KXt4LnBhbih5Ll9jb25zdHJhaW5lZFRyYW5zbGF0aW9uKHgsQS55KSl9KTt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKX07dy5wcm90b3R5cGUuem9vbT1mdW5jdGlvbihBLHkseCl7dmFyIEM9dGhpczt2b2lkIDA9PT14JiYoeD0hMCk7aWYobnVsbCE9eSl7dmFyIEc9eS54O3ZhciBEPXkueTt4JiYodGhpcy54U2NhbGVzKCkuZm9yRWFjaChmdW5jdGlvbihCKXtCPUMuX2NvbnN0cmFpbmVkWm9vbShCLApBLEcpO0c9Qi5jZW50ZXJQb2ludDtBPUIuem9vbUFtb3VudH0pLHRoaXMueVNjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oQil7Qj1DLl9jb25zdHJhaW5lZFpvb20oQixBLEQpO0Q9Qi5jZW50ZXJQb2ludDtBPUIuem9vbUFtb3VudH0pKX10aGlzLnhTY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3ZhciBIPUIucmFuZ2UoKTtCLnpvb20oQSxudWxsPT1HPyhIWzFdK0hbMF0pLzI6Ryl9KTt0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3ZhciBIPUIucmFuZ2UoKTtCLnpvb20oQSxudWxsPT1EPyhIWzFdK0hbMF0pLzI6RCl9KTt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKTtyZXR1cm57em9vbUFtb3VudDpBLGNlbnRlclZhbHVlOntjZW50ZXJYOkcsY2VudGVyWTpEfX19O3cucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oQSl7dS5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsQSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKEEpOwp0aGlzLl9tb3VzZURpc3BhdGNoZXI9bC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbldoZWVsKHRoaXMuX3doZWVsQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1sLlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9O3cucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3UucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZXaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKTsKdGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGw7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hNb3ZlKHRoaXMuX3RvdWNoTW92ZUNhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoQ2FuY2VsKHRoaXMuX3RvdWNoQ2FuY2VsQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1udWxsO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX07dy5wcm90b3R5cGUuX2hhbmRsZVRvdWNoU3RhcnQ9ZnVuY3Rpb24oQSx5KXtmb3IodmFyIHg9MDt4PEEubGVuZ3RoJiYyPnRoaXMuX3RvdWNoSWRzLnNpemUoKTt4Kyspe3ZhciBDPUFbeF07dGhpcy5fdG91Y2hJZHMuc2V0KEMudG9TdHJpbmcoKSx0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHlbQ10pKX19Owp3LnByb3RvdHlwZS5faGFuZGxlUGluY2g9ZnVuY3Rpb24oQSx5KXt2YXIgeD10aGlzO2lmKCEoMj50aGlzLl90b3VjaElkcy5zaXplKCkpKXt2YXIgQz10aGlzLl90b3VjaElkcy52YWx1ZXMoKTtpZih0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKENbMF0pKSYmdGhpcy5faXNJbnNpZGVDb21wb25lbnQodGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShDWzFdKSkpe3ZhciBHPXcuX3BvaW50RGlzdGFuY2UoQ1swXSxDWzFdKTtpZigwIT09Ryl7QS5mb3JFYWNoKGZ1bmN0aW9uKEwpe3guX3RvdWNoSWRzLmhhcyhMLnRvU3RyaW5nKCkpJiZ4Ll90b3VjaElkcy5zZXQoTC50b1N0cmluZygpLHguX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UoeVtMXSkpfSk7QT10aGlzLl90b3VjaElkcy52YWx1ZXMoKTt2YXIgRD13Ll9wb2ludERpc3RhbmNlKEFbMF0sQVsxXSk7aWYoMCE9PUQpe3ZhciBCPUcvRCxIPUEubWFwKGZ1bmN0aW9uKEwsCkope3JldHVybnt4OihMLngtQ1tKXS54KS9CLHk6KEwueS1DW0pdLnkpL0J9fSk7Rz13LmNlbnRlclBvaW50KENbMF0sQ1sxXSk7Rz10aGlzLnpvb20oQixHKTtBPUcuY2VudGVyVmFsdWU7dmFyIEs9Ry56b29tQW1vdW50O0c9QS5jZW50ZXJYO0E9QS5jZW50ZXJZO0Q9Qy5tYXAoZnVuY3Rpb24oTCxKKXtyZXR1cm57eDpIW0pdLngqSytMLngseTpIW0pdLnkqSytMLnl9fSk7dGhpcy5wYW4oe3g6Ry0oRFswXS54K0RbMV0ueCkvMix5OkEtKERbMF0ueStEWzFdLnkpLzJ9KX19fX19O3cuY2VudGVyUG9pbnQ9ZnVuY3Rpb24oQSx5KXtyZXR1cm57eDooTWF0aC5taW4oQS54LHkueCkrTWF0aC5tYXgoQS54LHkueCkpLzIseTooTWF0aC5tYXgoQS55LHkueSkrTWF0aC5taW4oQS55LHkueSkpLzJ9fTt3Ll9wb2ludERpc3RhbmNlPWZ1bmN0aW9uKEEseSl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhNYXRoLm1heChBLngseS54KS1NYXRoLm1pbihBLngseS54KSwyKStNYXRoLnBvdyhNYXRoLm1heChBLnksCnkueSktTWF0aC5taW4oQS55LHkueSksMikpfTt3LnByb3RvdHlwZS5faGFuZGxlVG91Y2hFbmQ9ZnVuY3Rpb24oQSl7dmFyIHk9dGhpcztBLmZvckVhY2goZnVuY3Rpb24oeCl7eS5fdG91Y2hJZHMucmVtb3ZlKHgudG9TdHJpbmcoKSl9KTswPHRoaXMuX3RvdWNoSWRzLnNpemUoKSYmdGhpcy5fem9vbUVuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9O3cucHJvdG90eXBlLl9oYW5kbGVXaGVlbEV2ZW50PWZ1bmN0aW9uKEEseSl7dGhpcy5fd2hlZWxGaWx0ZXIoeSkmJihBPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UoQSksdGhpcy5faXNJbnNpZGVDb21wb25lbnQoQSkmJih5LnByZXZlbnREZWZhdWx0KCksdGhpcy56b29tKE1hdGgucG93KDIsKDAhPT15LmRlbHRhWT95LmRlbHRhWTp5LmRlbHRhWCkqKHkuZGVsdGFNb2RlP3cuX1BJWEVMU19QRVJfTElORToxKSouMDAyKSxBKSx0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKSkpfTt3LnByb3RvdHlwZS5fY29uc3RyYWluZWRab29tPQpmdW5jdGlvbihBLHkseCl7cmV0dXJuIHEuY29uc3RyYWluZWRab29tKEEseSx4LHRoaXMubWluRG9tYWluRXh0ZW50KEEpLHRoaXMubWF4RG9tYWluRXh0ZW50KEEpLHRoaXMubWluRG9tYWluVmFsdWUoQSksdGhpcy5tYXhEb21haW5WYWx1ZShBKSl9O3cucHJvdG90eXBlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uPWZ1bmN0aW9uKEEseSl7cmV0dXJuIHEuY29uc3RyYWluZWRUcmFuc2xhdGlvbihBLHksdGhpcy5taW5Eb21haW5WYWx1ZShBKSx0aGlzLm1heERvbWFpblZhbHVlKEEpKX07dy5wcm90b3R5cGUuX3NldHVwRHJhZ0ludGVyYWN0aW9uPWZ1bmN0aW9uKCl7dmFyIEE9dGhpczt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uY29uc3RyYWluZWRUb0NvbXBvbmVudCgpO3ZhciB5O3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdTdGFydChmdW5jdGlvbigpe3JldHVybiB5PW51bGx9KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnKGZ1bmN0aW9uKHgsQyl7Mjw9QS5fdG91Y2hJZHMuc2l6ZSgpfHwKKEEucGFuKHt4OihudWxsPT15P3gueDp5LngpLUMueCx5OihudWxsPT15P3gueTp5LnkpLUMueX0pLHk9Qyl9KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKGZ1bmN0aW9uKCl7cmV0dXJuIEEuX3BhbkVuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9KX07dy5wcm90b3R5cGUuX25vbkxpbmVhclNjYWxlV2l0aEV4dGVudHM9ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGwhPXRoaXMubWluRG9tYWluRXh0ZW50KEEpJiZudWxsIT10aGlzLm1heERvbWFpbkV4dGVudChBKSYmIShBIGluc3RhbmNlb2YgcC5MaW5lYXIpJiYhKEEgaW5zdGFuY2VvZiBwLlRpbWUpfTt3LnByb3RvdHlwZS54U2NhbGVzPWZ1bmN0aW9uKCl7dmFyIEE9W107dGhpcy5feFNjYWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHkpe0EucHVzaCh5KX0pO3JldHVybiBBfTt3LnByb3RvdHlwZS55U2NhbGVzPWZ1bmN0aW9uKCl7dmFyIEE9W107dGhpcy5feVNjYWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHkpe0EucHVzaCh5KX0pOwpyZXR1cm4gQX07dy5wcm90b3R5cGUuYWRkWFNjYWxlPWZ1bmN0aW9uKEEpe3RoaXMuX3hTY2FsZXMuYWRkKEEpfTt3LnByb3RvdHlwZS5yZW1vdmVYU2NhbGU9ZnVuY3Rpb24oQSl7dGhpcy5feFNjYWxlcy5kZWxldGUoQSk7dGhpcy5fbWluRG9tYWluRXh0ZW50cy5kZWxldGUoQSk7dGhpcy5fbWF4RG9tYWluRXh0ZW50cy5kZWxldGUoQSk7dGhpcy5fbWluRG9tYWluVmFsdWVzLmRlbGV0ZShBKTt0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKEEpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5hZGRZU2NhbGU9ZnVuY3Rpb24oQSl7dGhpcy5feVNjYWxlcy5hZGQoQSl9O3cucHJvdG90eXBlLnJlbW92ZVlTY2FsZT1mdW5jdGlvbihBKXt0aGlzLl95U2NhbGVzLmRlbGV0ZShBKTt0aGlzLl9taW5Eb21haW5FeHRlbnRzLmRlbGV0ZShBKTt0aGlzLl9tYXhEb21haW5FeHRlbnRzLmRlbGV0ZShBKTt0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKEEpO3RoaXMuX21heERvbWFpblZhbHVlcy5kZWxldGUoQSk7CnJldHVybiB0aGlzfTt3LnByb3RvdHlwZS5taW5Eb21haW5FeHRlbnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX21pbkRvbWFpbkV4dGVudHMuZ2V0KEEpfTt3LnByb3RvdHlwZS5tYXhEb21haW5FeHRlbnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX21heERvbWFpbkV4dGVudHMuZ2V0KEEpfTt3LnByb3RvdHlwZS5taW5Eb21haW5WYWx1ZT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX21pbkRvbWFpblZhbHVlcy5nZXQoQSk7dGhpcy5fbWluRG9tYWluVmFsdWVzLnNldChBLHkpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5tYXhEb21haW5WYWx1ZT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX21heERvbWFpblZhbHVlcy5nZXQoQSk7dGhpcy5fbWF4RG9tYWluVmFsdWVzLnNldChBLHkpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5zZXRNaW5NYXhEb21haW5WYWx1ZXNUbz1mdW5jdGlvbihBKXt0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKEEpOwp0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKEEpO3ZhciB5PUEuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSx4PXlbMV07dGhpcy5taW5Eb21haW5WYWx1ZShBLHlbMF0pO3RoaXMubWF4RG9tYWluVmFsdWUoQSx4KTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub25QYW5FbmQ9ZnVuY3Rpb24oQSl7dGhpcy5fcGFuRW5kQ2FsbGJhY2tzLmFkZChBKX07dy5wcm90b3R5cGUub2ZmUGFuRW5kPWZ1bmN0aW9uKEEpe3RoaXMuX3BhbkVuZENhbGxiYWNrcy5kZWxldGUoQSk7cmV0dXJuIHRoaXN9O3cucHJvdG90eXBlLm9uWm9vbUVuZD1mdW5jdGlvbihBKXt0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmFkZChBKX07dy5wcm90b3R5cGUub2ZmWm9vbUVuZD1mdW5jdGlvbihBKXt0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmRlbGV0ZShBKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub25QYW5ab29tVXBkYXRlPWZ1bmN0aW9uKEEpe3RoaXMuX3Bhblpvb21VcGRhdGVDYWxsYmFja3MuYWRkKEEpOwpyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub2ZmUGFuWm9vbVVwZGF0ZT1mdW5jdGlvbihBKXt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmRlbGV0ZShBKTtyZXR1cm4gdGhpc307cmV0dXJuIHd9KGQuSW50ZXJhY3Rpb24pO2guX1BJWEVMU19QRVJfTElORT0xMjA7Zi5QYW5ab29tPWh9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1wfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDEzKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49bnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO24uX292ZXJDb21wb25lbnQ9ITE7bi5fcG9pbnRlckVudGVyQ2FsbGJhY2tzPQpuZXcgbC5DYWxsYmFja1NldDtuLl9wb2ludGVyTW92ZUNhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9wb2ludGVyRXhpdENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9tb3VzZU1vdmVDYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9oYW5kbGVNb3VzZUV2ZW50KHEsdSl9O24uX3RvdWNoU3RhcnRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2hhbmRsZVRvdWNoRXZlbnQodVtxWzBdXSx3KX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fbW91c2VEaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1yLlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7CnRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKX07bS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGw7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bnVsbH07bS5wcm90b3R5cGUuX2hhbmRsZU1vdXNlRXZlbnQ9ZnVuY3Rpb24obixxKXtxPXRoaXMuX21vdXNlRGlzcGF0Y2hlci5ldmVudEluc2lkZSh0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLHEpO3RoaXMuX2hhbmRsZVBvaW50ZXJFdmVudChuLHEpfTttLnByb3RvdHlwZS5faGFuZGxlVG91Y2hFdmVudD1mdW5jdGlvbihuLHEpe3E9dGhpcy5fdG91Y2hEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sCnEpO3RoaXMuX2hhbmRsZVBvaW50ZXJFdmVudChuLHEpfTttLnByb3RvdHlwZS5faGFuZGxlUG9pbnRlckV2ZW50PWZ1bmN0aW9uKG4scSl7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3ZhciB1PXRoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pO3UmJnE/KHRoaXMuX292ZXJDb21wb25lbnR8fHRoaXMuX3BvaW50ZXJFbnRlckNhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKG4pLHRoaXMuX3BvaW50ZXJNb3ZlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpOnRoaXMuX292ZXJDb21wb25lbnQmJnRoaXMuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3Mobik7dGhpcy5fb3ZlckNvbXBvbmVudD11JiZxfTttLnByb3RvdHlwZS5vblBvaW50ZXJFbnRlcj1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyRW50ZXJDYWxsYmFja3MuYWRkKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5vZmZQb2ludGVyRW50ZXI9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmRlbGV0ZShuKTsKcmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uUG9pbnRlck1vdmU9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlck1vdmVDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZQb2ludGVyTW92ZT1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyTW92ZUNhbGxiYWNrcy5kZWxldGUobik7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uUG9pbnRlckV4aXQ9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlckV4aXRDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZQb2ludGVyRXhpdD1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyRXhpdENhbGxiYWNrcy5kZWxldGUobik7cmV0dXJuIHRoaXN9O3JldHVybiBtfShoKDE1KS5JbnRlcmFjdGlvbik7Zi5Qb2ludGVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDIwKTtmLm1lbVRodW5rPWZ1bmN0aW9uKCl7Zm9yKHZhciByPVtdLGw9MDtsPGFyZ3VtZW50cy5sZW5ndGg7bCsrKXJbbF09YXJndW1lbnRzW2xdO3ZhciBwPXIuc2xpY2UoMCwKLTEpLG09ay5tZW1vaXplKHJbci5sZW5ndGgtMV0pO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXRoaXMscT1wLm1hcChmdW5jdGlvbih1KXtyZXR1cm4gdS5hcHBseShuKX0pO3JldHVybiBtLmFwcGx5KHZvaWQgMCxxKX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCg0OSk7Zi5tZW1vaXplPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtmb3IodmFyIHU9W10sdz0wO3c8YXJndW1lbnRzLmxlbmd0aDt3KyspdVt3XT1hcmd1bWVudHNbd107aWYobilyZXR1cm4gbTt3PWsuc2lnbkFycmF5KHUpO3ZvaWQgMD09PXB8fHAuaXNEaWZmZXJlbnQodyk/KHEmJmNvbnNvbGUubG9nKCJjYWNoZSBtaXNzISBjb21wdXRpbmciKSxwPXcsbT1yLmFwcGx5KHRoaXMsdSkpOnEmJmNvbnNvbGUubG9nKCJjYWNoZSBoaXQhIik7cmV0dXJuIG19dmFyIHA9dm9pZCAwLG0sbj0hMSxxPSExO2wuZG9Mb2NrZWQ9ZnVuY3Rpb24odSl7aWYobil0aHJvdyBFcnJvcigiTG9ja2luZyBhbiBhbHJlYWR5IGxvY2tlZCBtZW1vaXplIGZ1bmN0aW9uISIpOwpuPSEwO3U9dS5hcHBseSh0aGlzKTtuPSExO3JldHVybiB1fTtsLmxvZ1BlcmZvcm1hbmNlPWZ1bmN0aW9uKHUpe3ZvaWQgMD09PXUmJih1PSEwKTtxPXU7cmV0dXJuIHRoaXN9O3JldHVybiBsfX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxyPWgoMyksbD1oKDApLHA9aCgyNyksbT1oKDIpO2Q9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcSh1KXt2b2lkIDA9PT11JiYodT0idmVydGljYWwiKTt1PW4uY2FsbCh0aGlzLHUpfHx0aGlzO3UuX2NsdXN0ZXJPZmZzZXRzPW5ldyBsLk1hcDtyZXR1cm4gdX1rKHEsbik7cS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPQpmdW5jdGlvbigpe2Z1bmN0aW9uIHUoKXtyZXR1cm4geS5yYW5nZUJhbmQoKX12YXIgdz10aGlzLEE9bi5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcykseT10aGlzLl9tYWtlSW5uZXJTY2FsZSgpO0Eud2lkdGg9dGhpcy5faXNWZXJ0aWNhbD91OkEud2lkdGg7QS5oZWlnaHQ9dGhpcy5faXNWZXJ0aWNhbD9BLmhlaWdodDp1O3ZhciB4PUEueCxDPUEueTtBLng9dGhpcy5faXNWZXJ0aWNhbD9mdW5jdGlvbihHLEQsQil7cmV0dXJuIHgoRyxELEIpK3cuX2NsdXN0ZXJPZmZzZXRzLmdldChCKX06ZnVuY3Rpb24oRyxELEIpe3JldHVybiB4KEcsRCxCKX07QS55PXRoaXMuX2lzVmVydGljYWw/ZnVuY3Rpb24oRyxELEIpe3JldHVybiBDKEcsRCxCKX06ZnVuY3Rpb24oRyxELEIpe3JldHVybiBDKEcsRCxCKSt3Ll9jbHVzdGVyT2Zmc2V0cy5nZXQoQil9O3JldHVybiBBfTtxLnByb3RvdHlwZS5fdXBkYXRlQ2x1c3RlclBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIHU9CnRoaXMsdz10aGlzLl9tYWtlSW5uZXJTY2FsZSgpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEEseSl7cmV0dXJuIHUuX2NsdXN0ZXJPZmZzZXRzLnNldChBLHcuc2NhbGUoU3RyaW5nKHkpKS13LnJhbmdlQmFuZCgpLzIpfSl9O3EucHJvdG90eXBlLl9tYWtlSW5uZXJTY2FsZT1mdW5jdGlvbigpe3ZhciB1PW5ldyByLkNhdGVnb3J5O3UuZG9tYWluKHRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oQSx5KXtyZXR1cm4gU3RyaW5nKHkpfSkpO3ZhciB3PW0uUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5hdHRyKHAuQmFyLl9CQVJfVEhJQ0tORVNTX0tFWSkpO3UucmFuZ2UoWzAsdyhudWxsLDAsbnVsbCldKTtyZXR1cm4gdX07cS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVDbHVzdGVyUG9zaXRpb24oKTtyZXR1cm4gbi5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKX07cmV0dXJuIHF9KHAuQmFyKTtmLkNsdXN0ZXJlZEJhcj0KZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihDLEcpe2Z1bmN0aW9uIEQoKXt0aGlzLmNvbnN0cnVjdG9yPUN9Zm9yKHZhciBCIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShCKSYmKENbQl09R1tCXSk7Qy5wcm90b3R5cGU9bnVsbD09PUc/T2JqZWN0LmNyZWF0ZShHKTooRC5wcm90b3R5cGU9Ry5wcm90b3R5cGUsbmV3IEQpfSxyPWgoMSksbD1oKDUpLHA9aCg3KSxtPWgoOCksbj1oKDMpLHE9aCgwKSx1PWgoNDQpLHc9aCg0NSksQT1oKDYpLHk9aCgzNSkseD1oKDIpO2Q9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gRygpe3ZhciBEPUMuY2FsbCh0aGlzKXx8dGhpcztELl9zdGFydEFuZ2xlPTA7RC5fZW5kQW5nbGU9MipNYXRoLlBJO0QuX2xhYmVsRm9ybWF0dGVyPW0uaWRlbnRpdHkoKTtELl9sYWJlbHNFbmFibGVkPSExO0QuaW5uZXJSYWRpdXMoMCk7RC5vdXRlclJhZGl1cyhmdW5jdGlvbigpe3ZhciBCPUQuX3BpZUNlbnRlcigpO3JldHVybiBNYXRoLm1pbihNYXRoLm1heChELndpZHRoKCktCkIueCxCLngpLE1hdGgubWF4KEQuaGVpZ2h0KCktQi55LEIueSkpfSk7RC5hZGRDbGFzcygicGllLXBsb3QiKTtELmF0dHIoImZpbGwiLGZ1bmN0aW9uKEIsSCl7cmV0dXJuIFN0cmluZyhIKX0sbmV3IG4uQ29sb3IpO0QuX3N0cm9rZURyYXdlcnM9bmV3IHEuTWFwO3JldHVybiBEfWsoRyxDKTtHLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt2YXIgRD10aGlzO0MucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3N0cm9rZURyYXdlcnMuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gQi5hdHRhY2hUbyhELl9yZW5kZXJBcmVhKX0pfTtHLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKEQsQixIKXtDLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxELEIsSCk7RD10aGlzLl9waWVDZW50ZXIoKTt0aGlzLl9yZW5kZXJBcmVhLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0QueCsiLCIrRC55KyIpIik7RD1NYXRoLm1pbihNYXRoLm1heCh0aGlzLndpZHRoKCktCkQueCxELngpLE1hdGgubWF4KHRoaXMuaGVpZ2h0KCktRC55LEQueSkpO251bGwhPXRoaXMuaW5uZXJSYWRpdXMoKS5zY2FsZSYmdGhpcy5pbm5lclJhZGl1cygpLnNjYWxlLnJhbmdlKFswLERdKTtudWxsIT10aGlzLm91dGVyUmFkaXVzKCkuc2NhbGUmJnRoaXMub3V0ZXJSYWRpdXMoKS5zY2FsZS5yYW5nZShbMCxEXSk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmFkZERhdGFzZXQ9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsRCl9O0cucHJvdG90eXBlLl9hZGREYXRhc2V0PWZ1bmN0aW9uKEQpe2lmKDE9PT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXJldHVybiBxLldpbmRvdy53YXJuKCJPbmx5IG9uZSBkYXRhc2V0IGlzIHN1cHBvcnRlZCBpbiBQaWUgcGxvdHMiKSx0aGlzO3RoaXMuX3VwZGF0ZVBpZUFuZ2xlcygpO3ZhciBCPW5ldyB3LkFyY091dGxpbmVTVkdEcmF3ZXI7dGhpcy5faXNTZXR1cCYmQi5hdHRhY2hUbyh0aGlzLl9yZW5kZXJBcmVhKTsKdGhpcy5fc3Ryb2tlRHJhd2Vycy5zZXQoRCxCKTtDLnByb3RvdHlwZS5fYWRkRGF0YXNldC5jYWxsKHRoaXMsRCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnJlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUucmVtb3ZlRGF0YXNldC5jYWxsKHRoaXMsRCl9O0cucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcy5jYWxsKHRoaXMsRCk7dGhpcy5fc3Ryb2tlRHJhd2Vycy5nZXQoRCkucmVtb3ZlKCl9O0cucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEQpe0MucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxEKTt0aGlzLl9zdGFydEFuZ2xlcz1bXTt0aGlzLl9lbmRBbmdsZXM9W107cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oRCl7dmFyIEI9dGhpczt2b2lkIDA9PT1EJiYoRD10aGlzLmRhdGFzZXRzKCkpO3ZhciBIPUMucHJvdG90eXBlLnNlbGVjdGlvbnMuY2FsbCh0aGlzLApEKS5ub2RlcygpO0QuZm9yRWFjaChmdW5jdGlvbihLKXtLPUIuX3N0cm9rZURyYXdlcnMuZ2V0KEspO251bGwhPUsmJkgucHVzaC5hcHBseShILEsuZ2V0VmlzdWFsUHJpbWl0aXZlcygpKX0pO3JldHVybiByLnNlbGVjdEFsbChIKX07Ry5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe0MucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKTt0aGlzLnJlbmRlcigpfTtHLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBLlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1LkFyY1NWR0RyYXdlcn0sZnVuY3Rpb24oKXt5Lndhcm4oImNhbnZhcyByZW5kZXJlciBpcyBub3Qgc3VwcG9ydGVkIG9uIFBpZSBQbG90ISIpO3JldHVybiBudWxsfSl9O0cucHJvdG90eXBlLmVudGl0aWVzPWZ1bmN0aW9uKEQpe3ZhciBCPXRoaXM7dm9pZCAwPT09RCYmKEQ9dGhpcy5kYXRhc2V0cygpKTsKcmV0dXJuIEMucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyxEKS5tYXAoZnVuY3Rpb24oSCl7SC5wb3NpdGlvbi54Kz1CLndpZHRoKCkvMjtILnBvc2l0aW9uLnkrPUIuaGVpZ2h0KCkvMjt2YXIgSz1yLnNlbGVjdChCLl9zdHJva2VEcmF3ZXJzLmdldChILmRhdGFzZXQpLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgoSC5pbmRleCkpO0guc3Ryb2tlU2VsZWN0aW9uPUs7cmV0dXJuIEh9KX07Ry5wcm90b3R5cGUuc2VjdG9yVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoRy5fU0VDVE9SX1ZBTFVFX0tFWSl9O0cucHJvdG90eXBlLmlubmVyUmFkaXVzPWZ1bmN0aW9uKEQsQil7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoRy5fSU5ORVJfUkFESVVTX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KEcuX0lOTkVSX1JBRElVU19LRVksRCxCKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5vdXRlclJhZGl1cz0KZnVuY3Rpb24oRCxCKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChHLl9PVVRFUl9SQURJVVNfS0VZKTt0aGlzLl9iaW5kUHJvcGVydHkoRy5fT1VURVJfUkFESVVTX0tFWSxELEIpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnN0YXJ0QW5nbGU9ZnVuY3Rpb24oRCl7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fc3RhcnRBbmdsZTt0aGlzLl9zdGFydEFuZ2xlPUQ7dGhpcy5fdXBkYXRlUGllQW5nbGVzKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUuZW5kQW5nbGU9ZnVuY3Rpb24oRCl7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fZW5kQW5nbGU7dGhpcy5fZW5kQW5nbGU9RDt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5sYWJlbHNFbmFibGVkPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2xhYmVsc0VuYWJsZWQ7CnRoaXMuX2xhYmVsc0VuYWJsZWQ9RDt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5sYWJlbEZvcm1hdHRlcj1mdW5jdGlvbihEKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9sYWJlbEZvcm1hdHRlcjt0aGlzLl9sYWJlbEZvcm1hdHRlcj1EO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24oRCl7dmFyIEI9dGhpcy53aWR0aCgpLzIsSD10aGlzLmhlaWdodCgpLzI7RD10aGlzLl9zbGljZUluZGV4Rm9yUG9pbnQoe3g6RC54LUIseTpELnktSH0pO3JldHVybiBudWxsPT1EP1tdOlt0aGlzLmVudGl0aWVzKClbRF1dfTtHLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIEQ9dGhpcyxCPUMucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKSxIPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSxLPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5vdXRlclJhZGl1cygpKTsKQi5kPWZ1bmN0aW9uKEwsSixPKXtyZXR1cm4gci5hcmMoKS5pbm5lclJhZGl1cyhIKEwsSixPKSkub3V0ZXJSYWRpdXMoSyhMLEosTykpLnN0YXJ0QW5nbGUoRC5fc3RhcnRBbmdsZXNbSl0pLmVuZEFuZ2xlKEQuX2VuZEFuZ2xlc1tKXSkoTCxKKX07cmV0dXJuIEJ9O0cucHJvdG90eXBlLl91cGRhdGVQaWVBbmdsZXM9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLnNlY3RvclZhbHVlKCkmJjAhPT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXt2YXIgRD14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSksQj10aGlzLmRhdGFzZXRzKClbMF0sSD10aGlzLl9nZXREYXRhVG9EcmF3KCkuZ2V0KEIpO0g9ci5waWUoKS5zb3J0KG51bGwpLnN0YXJ0QW5nbGUodGhpcy5fc3RhcnRBbmdsZSkuZW5kQW5nbGUodGhpcy5fZW5kQW5nbGUpLnZhbHVlKGZ1bmN0aW9uKEssTCl7cmV0dXJuIEQoSyxMLEIpfSkoSCk7dGhpcy5fc3RhcnRBbmdsZXM9SC5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsuc3RhcnRBbmdsZX0pOwp0aGlzLl9lbmRBbmdsZXM9SC5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsuZW5kQW5nbGV9KX19O0cucHJvdG90eXBlLl9waWVDZW50ZXI9ZnVuY3Rpb24oKXt2YXIgRD10aGlzLl9zdGFydEFuZ2xlPHRoaXMuX2VuZEFuZ2xlP3RoaXMuX3N0YXJ0QW5nbGU6dGhpcy5fZW5kQW5nbGUsQj10aGlzLl9zdGFydEFuZ2xlPHRoaXMuX2VuZEFuZ2xlP3RoaXMuX2VuZEFuZ2xlOnRoaXMuX3N0YXJ0QW5nbGUsSD1NYXRoLnNpbihEKTtEPU1hdGguY29zKEQpO3ZhciBLPU1hdGguc2luKEIpO0I9TWF0aC5jb3MoQik7dmFyIEw7aWYoMDw9SCYmMDw9SylpZigwPD1EJiYwPD1CKXt2YXIgSj1EO3ZhciBPPUw9MDt2YXIgUz1LfWVsc2UgMD5EJiYwPkI/KEo9MCxMPS1CLE89MCxTPUgpOjA8PUQmJjA+Qj8oSj1ELEw9LUIsTz0wLFM9SCk6MD5EJiYwPD1CJiYoTz1MPUo9MSxTPU1hdGgubWF4KEgsSykpO2Vsc2UgMDw9SCYmMD5LPzA8PUQmJjA8PUI/KEo9TWF0aC5tYXgoRCxCKSxTPU89TD0xKTowPkQmJgowPkI/KEo9MCxMPTEsTz0tSyxTPUgpOjA8PUQmJjA+Qj8oSj1ELEw9MSxPPS1LLFM9MSk6MD5EJiYwPD1CJiYoSj1CLE89TD0xLFM9SCk6MD5IJiYwPD1LPzA8PUQmJjA8PUI/KEo9MSxMPTAsTz0tSCxTPUspOjA+RCYmMD5CPyhKPTEsTD1NYXRoLm1heCgtRCwtQiksUz1PPTEpOjA8PUQmJjA+Qj8oSj0xLEw9LUIsTz0tSCxTPTEpOjA+RCYmMDw9QiYmKEo9MSxMPS1ELE89MSxTPUspOjA+SCYmMD5LJiYoMDw9RCYmMDw9Qj8oSj1CLEw9MCxPPS1ILFM9MCk6MD5EJiYwPkI/KEo9MCxMPS1ELE89LUssUz0wKTowPD1EJiYwPkI/KEw9Sj0xLE89TWF0aC5tYXgoRCwtQiksUz0xKTowPkQmJjA8PUImJihKPUIsTD0tRCxPPTEsUz0wKSk7cmV0dXJue3g6MD09TytTPzA6Ty8oTytTKSp0aGlzLndpZHRoKCkseTowPT1KK0w/MDpKLyhKK0wpKnRoaXMuaGVpZ2h0KCl9fTtHLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBEPUMucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3LmNhbGwodGhpcyk7CmlmKDA9PT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXJldHVybiBEO3ZhciBCPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxIPXRoaXMuZGF0YXNldHMoKVswXSxLPUQuZ2V0KEgpLmZpbHRlcihmdW5jdGlvbihMLEope3JldHVybiBHLl9pc1ZhbGlkRGF0YShCKEwsSixIKSl9KTtELnNldChILEspO3JldHVybiBEfTtHLl9pc1ZhbGlkRGF0YT1mdW5jdGlvbihEKXtyZXR1cm4gcS5NYXRoLmlzVmFsaWROdW1iZXIoRCkmJjA8PUR9O0cucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKEQsQixIKXt2YXIgSz14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSk7aWYoIUcuX2lzVmFsaWREYXRhKEsoRCxCLEgpKSlyZXR1cm57eDpOYU4seTpOYU59O3ZhciBMPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKShELEIsSCk7RD14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMub3V0ZXJSYWRpdXMoKSkoRCwKQixIKTtMPShMK0QpLzI7RD1yLnBpZSgpLnNvcnQobnVsbCkudmFsdWUoZnVuY3Rpb24oSixPKXtKPUsoSixPLEgpO3JldHVybiBHLl9pc1ZhbGlkRGF0YShKKT9KOjB9KS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKShILmRhdGEoKSk7Qj0oRFtCXS5zdGFydEFuZ2xlK0RbQl0uZW5kQW5nbGUpLzI7cmV0dXJue3g6TCpNYXRoLnNpbihCKSx5Oi1MKk1hdGguY29zKEIpfX07Ry5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihEKXt2YXIgQj10aGlzO3RoaXMuX3JlbmRlckFyZWEuc2VsZWN0KCIubGFiZWwtYXJlYSIpLnJlbW92ZSgpO3RoaXMuX2xhYmVsc0VuYWJsZWQmJnEuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gQi5fZHJhd0xhYmVscygpfSxEKTt2YXIgSD10aGlzLl9nZW5lcmF0ZVN0cm9rZURyYXdTdGVwcygpLEs9dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe3ZhciBKPQp4LlBsb3QuYXBwbHlEcmF3U3RlcHMoSCxMKTtCLl9zdHJva2VEcmF3ZXJzLmdldChMKS5kcmF3KEsuZ2V0KEwpLEopfSl9O0cucHJvdG90eXBlLl9nZW5lcmF0ZVN0cm9rZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOm5ldyBwLk51bGx9XX07Ry5wcm90b3R5cGUuX3NsaWNlSW5kZXhGb3JQb2ludD1mdW5jdGlvbihEKXt2YXIgQj1NYXRoLnNxcnQoTWF0aC5wb3coRC54LDIpK01hdGgucG93KEQueSwyKSksSD1NYXRoLmFjb3MoLUQueS9CKTswPkQueCYmKEg9MipNYXRoLlBJLUgpO2ZvcihEPTA7RDx0aGlzLl9zdGFydEFuZ2xlcy5sZW5ndGg7RCsrKWlmKHRoaXMuX3N0YXJ0QW5nbGVzW0RdPEgmJnRoaXMuX2VuZEFuZ2xlc1tEXT5IKXt2YXIgSz1EO2JyZWFrfWlmKHZvaWQgMCE9PUspe0Q9dGhpcy5kYXRhc2V0cygpWzBdO3ZhciBMPUQuZGF0YSgpW0tdO0g9dGhpcy5pbm5lclJhZGl1cygpLmFjY2Vzc29yKEwsCkssRCk7RD10aGlzLm91dGVyUmFkaXVzKCkuYWNjZXNzb3IoTCxLLEQpO2lmKEI+SCYmQjxEKXJldHVybiBLfXJldHVybiBudWxsfTtHLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBEPXRoaXMsQj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxIPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLEs9bmV3IGwuU3ZnQ29udGV4dChILm5vZGUoKSksTD1uZXcgbC5DYWNoZU1lYXN1cmVyKEspLEo9bmV3IGwuV3JpdGVyKEwsSyksTz10aGlzLmRhdGFzZXRzKClbMF07dGhpcy5fZ2V0RGF0YVRvRHJhdygpLmdldChPKS5mb3JFYWNoKGZ1bmN0aW9uKFMsTil7dmFyIFI9RC5zZWN0b3JWYWx1ZSgpLmFjY2Vzc29yKFMsTixPKTtpZihxLk1hdGguaXNWYWxpZE51bWJlcihSKSl7Uj1ELl9sYWJlbEZvcm1hdHRlcihSLFMsTixPKTt2YXIgWD1MLm1lYXN1cmUoUiksYWE9KEQuX2VuZEFuZ2xlc1tOXStELl9zdGFydEFuZ2xlc1tOXSkvCjIsZmE9RC5vdXRlclJhZGl1cygpLmFjY2Vzc29yKFMsTixPKTtELm91dGVyUmFkaXVzKCkuc2NhbGUmJihmYT1ELm91dGVyUmFkaXVzKCkuc2NhbGUuc2NhbGUoZmEpKTt2YXIgb2E9RC5pbm5lclJhZGl1cygpLmFjY2Vzc29yKFMsTixPKTtELmlubmVyUmFkaXVzKCkuc2NhbGUmJihvYT1ELmlubmVyUmFkaXVzKCkuc2NhbGUuc2NhbGUob2EpKTtvYT0oZmErb2EpLzI7ZmE9TWF0aC5zaW4oYWEpKm9hLVgud2lkdGgvMjtvYT0tTWF0aC5jb3MoYWEpKm9hLVguaGVpZ2h0LzI7dmFyIFo9W3t4OmZhLHk6b2F9LHt4OmZhLHk6b2ErWC5oZWlnaHR9LHt4OmZhK1gud2lkdGgseTpvYX0se3g6ZmErWC53aWR0aCx5Om9hK1guaGVpZ2h0fV07KGFhPVouZXZlcnkoZnVuY3Rpb24oY2Epe3JldHVybiBNYXRoLmFicyhjYS54KTw9RC53aWR0aCgpLzImJk1hdGguYWJzKGNhLnkpPD1ELmhlaWdodCgpLzJ9KSkmJihhYT1aLm1hcChmdW5jdGlvbihjYSl7cmV0dXJuIEQuX3NsaWNlSW5kZXhGb3JQb2ludChjYSl9KS5ldmVyeShmdW5jdGlvbihjYSl7cmV0dXJuIGNhPT09Ck59KSk7Uz1CLmZpbGwoUyxOLE8pO1M9MS42KnEuQ29sb3IuY29udHJhc3QoIndoaXRlIixTKTxxLkNvbG9yLmNvbnRyYXN0KCJibGFjayIsUyk7ZmE9SC5hcHBlbmQoImciKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitmYSsiLCIrb2ErIikiKTtmYS5jbGFzc2VkKFM/ImRhcmstbGFiZWwiOiJsaWdodC1sYWJlbCIsITApO2ZhLnN0eWxlKCJ2aXNpYmlsaXR5IixhYT8iaW5oZXJpdCI6ImhpZGRlbiIpO0oud3JpdGUoUixYLndpZHRoLFguaGVpZ2h0LHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSxmYS5ub2RlKCkpfX0pfTtyZXR1cm4gR30oeC5QbG90KTtkLl9JTk5FUl9SQURJVVNfS0VZPSJpbm5lci1yYWRpdXMiO2QuX09VVEVSX1JBRElVU19LRVk9Im91dGVyLXJhZGl1cyI7ZC5fU0VDVE9SX1ZBTFVFX0tFWT0ic2VjdG9yLXZhbHVlIjtmLlBpZT1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHkseCl7ZnVuY3Rpb24gQygpe3RoaXMuY29uc3RydWN0b3I9Cnl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSxyPWgoMSksbD1oKDUpLHA9aCg3KSxtPWgoMTQpLG49aCg2KSxxPWgoMzQpLHU9aCgzKSx3PWgoMCksQT1oKDIpO2Q9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLl9sYWJlbHNFbmFibGVkPSExO0MuX2xhYmVsPW51bGw7Qy5hbmltYXRvcigicmVjdGFuZ2xlcyIsbmV3IHAuTnVsbCk7Qy5hZGRDbGFzcygicmVjdGFuZ2xlLXBsb3QiKTtDLmF0dHIoImZpbGwiLChuZXcgdS5Db2xvcikucmFuZ2UoKVswXSk7cmV0dXJuIEN9ayh4LHkpO3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4uUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHEuUmVjdGFuZ2xlU1ZHRHJhd2VyfSxmdW5jdGlvbihDKXtyZXR1cm4gbmV3IG0uUmVjdGFuZ2xlQ2FudmFzRHJhd2VyKEMpfSl9Owp4LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9eS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksRD1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxCPUdbeC5fWDJfS0VZXSxIPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLEs9R1t4Ll9ZMl9LRVldLEw9dGhpcy54KCkuc2NhbGUsSj10aGlzLnkoKS5zY2FsZTtudWxsIT1CPyhHLndpZHRoPWZ1bmN0aW9uKE8sUyxOKXtyZXR1cm4gTWF0aC5hYnMoQihPLFMsTiktRChPLFMsTikpfSxHLng9ZnVuY3Rpb24oTyxTLE4pe3JldHVybiBNYXRoLm1pbihCKE8sUyxOKSxEKE8sUyxOKSl9KTooRy53aWR0aD1mdW5jdGlvbigpe3JldHVybiBDLl9yZWN0YW5nbGVXaWR0aChMKX0sRy54PWZ1bmN0aW9uKE8sUyxOKXtyZXR1cm4gRChPLFMsTiktLjUqRy53aWR0aChPLFMsTil9KTtudWxsIT1LPyhHLmhlaWdodD1mdW5jdGlvbihPLApTLE4pe3JldHVybiBNYXRoLmFicyhLKE8sUyxOKS1IKE8sUyxOKSl9LEcueT1mdW5jdGlvbihPLFMsTil7cmV0dXJuIE1hdGgubWF4KEsoTyxTLE4pLEgoTyxTLE4pKS1HLmhlaWdodChPLFMsTil9KTooRy5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQy5fcmVjdGFuZ2xlV2lkdGgoSil9LEcueT1mdW5jdGlvbihPLFMsTil7cmV0dXJuIEgoTyxTLE4pLS41KkcuaGVpZ2h0KE8sUyxOKX0pO2RlbGV0ZSBHW3guX1gyX0tFWV07ZGVsZXRlIEdbeC5fWTJfS0VZXTtyZXR1cm4gR307eC5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoInJlY3RhbmdsZXMiKX1dfTt4LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHk9ZnVuY3Rpb24oQyl7cmV0dXJuIngyIj09PUM/eS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywKIngiKToieTIiPT09Qz95LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ5Iik6eS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcyxDKX07eC5wcm90b3R5cGUueD1mdW5jdGlvbihDLEcsRCl7aWYobnVsbD09QylyZXR1cm4geS5wcm90b3R5cGUueC5jYWxsKHRoaXMpO251bGw9PUc/eS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQyk6eS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQyxHLEQpO251bGwhPUcmJihEPShDPXRoaXMueDIoKSkmJkMuYWNjZXNzb3IsbnVsbCE9RCYmdGhpcy5fYmluZFByb3BlcnR5KHguX1gyX0tFWSxELEcsQy5wb3N0U2NhbGUpKTtHIGluc3RhbmNlb2YgdS5DYXRlZ29yeSYmRy5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS54Mj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh4Ll9YMl9LRVkpfTt4LnByb3RvdHlwZS55PWZ1bmN0aW9uKEMsCkcsRCl7aWYobnVsbD09QylyZXR1cm4geS5wcm90b3R5cGUueS5jYWxsKHRoaXMpO251bGw9PUc/eS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQyk6eS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQyxHLEQpO251bGwhPUcmJihEPShDPXRoaXMueTIoKSkmJkMuYWNjZXNzb3IsbnVsbCE9RCYmdGhpcy5fYmluZFByb3BlcnR5KHguX1kyX0tFWSxELEcsQy5wb3N0U2NhbGUpKTtHIGluc3RhbmNlb2YgdS5DYXRlZ29yeSYmRy5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS55Mj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh4Ll9ZMl9LRVkpfTt4LnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEMpe3ZhciBHPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpO3JldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKGZ1bmN0aW9uKEQpe3ZhciBCPUQuZGF0dW0sSD1ELmluZGV4LEs9RC5kYXRhc2V0O0Q9Ry54KEIsCkgsSyk7dmFyIEw9Ry55KEIsSCxLKSxKPUcud2lkdGgoQixILEspO0I9Ry5oZWlnaHQoQixILEspO3JldHVybiBEPD1DLngmJkMueDw9RCtKJiZMPD1DLnkmJkMueTw9TCtCfSl9O3gucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQyl7cmV0dXJuIHRoaXMuX2VudGl0eUJCb3goQy5kYXR1bSxDLmluZGV4LEMuZGF0YXNldCx0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSl9O3gucHJvdG90eXBlLl9lbnRpdHlCQm94PWZ1bmN0aW9uKEMsRyxELEIpe3JldHVybnt4OkIueChDLEcsRCkseTpCLnkoQyxHLEQpLHdpZHRoOkIud2lkdGgoQyxHLEQpLGhlaWdodDpCLmhlaWdodChDLEcsRCl9fTt4LnByb3RvdHlwZS5sYWJlbD1mdW5jdGlvbihDKXtpZihudWxsPT1DKXJldHVybiB0aGlzLl9sYWJlbDt0aGlzLl9sYWJlbD1DO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLmxhYmVsc0VuYWJsZWQ9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fbGFiZWxzRW5hYmxlZDsKdGhpcy5fbGFiZWxzRW5hYmxlZD1DO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXt2YXIgQz15LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyk7bnVsbCE9dGhpcy54MigpJiYoQy54Mj1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueDIoKSkpO251bGwhPXRoaXMueTIoKSYmKEMueTI9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkyKCkpKTtyZXR1cm4gQ307eC5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oQyxHLEQpe3ZhciBCPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLEg9Qi54KEMsRyxEKSxLPUIueShDLEcsRCksTD1CLndpZHRoKEMsRyxEKTtDPUIuaGVpZ2h0KEMsRyxEKTtyZXR1cm57eDpIK0wvMix5OksrQy8yfX07eC5wcm90b3R5cGUuX3JlY3RhbmdsZVdpZHRoPWZ1bmN0aW9uKEMpe2lmKEMgaW5zdGFuY2VvZiB1LkNhdGVnb3J5KXJldHVybiBDLnJhbmdlQmFuZCgpOwp2YXIgRz1DPT09dGhpcy54KCkuc2NhbGU/dGhpcy54KCkuYWNjZXNzb3I6dGhpcy55KCkuYWNjZXNzb3IsRD1yLnNldCh3LkFycmF5LmZsYXR0ZW4odGhpcy5kYXRhc2V0cygpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSy5kYXRhKCkubWFwKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEcoTCxKLEspLnZhbHVlT2YoKX0pfSkpKS52YWx1ZXMoKS5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuK0t9KSxCPXcuTWF0aC5taW4oRCwwKTtEPXcuTWF0aC5tYXgoRCwwKTt2YXIgSD1DLnNjYWxlKEIpO3JldHVybihDLnNjYWxlKEQpLUgpL01hdGguYWJzKEQtQil9O3gucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIEM9bmV3IHcuTWFwLEc9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oRCl7dmFyIEI9RC5kYXRhKCkubWFwKGZ1bmN0aW9uKEgsSyl7cmV0dXJuIHcuTWF0aC5pc1ZhbGlkTnVtYmVyKEcueChILEssRCkpJiYKdy5NYXRoLmlzVmFsaWROdW1iZXIoRy55KEgsSyxEKSkmJncuTWF0aC5pc1ZhbGlkTnVtYmVyKEcud2lkdGgoSCxLLEQpKSYmdy5NYXRoLmlzVmFsaWROdW1iZXIoRy5oZWlnaHQoSCxLLEQpKT9IOm51bGx9KTtDLnNldChELEIpfSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9hZGRpdGlvbmFsUGFpbnQ9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpczt0aGlzLl9yZW5kZXJBcmVhLnNlbGVjdEFsbCgiLmxhYmVsLWFyZWEiKS5yZW1vdmUoKTt0aGlzLl9sYWJlbHNFbmFibGVkJiZudWxsIT10aGlzLmxhYmVsKCkmJncuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gRy5fZHJhd0xhYmVscygpfSxDKX07eC5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEQsQil7cmV0dXJuIEMuX2RyYXdMYWJlbChHLEQsQil9KX07eC5wcm90b3R5cGUuX2RyYXdMYWJlbD0KZnVuY3Rpb24oQyxHLEQpe3ZhciBCPXRoaXMsSD10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxLPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLEw9bmV3IGwuU3ZnQ29udGV4dChLLm5vZGUoKSksSj1uZXcgbC5DYWNoZU1lYXN1cmVyKEwpLE89bmV3IGwuV3JpdGVyKEosTCk7TD10aGlzLngoKS5zY2FsZS5yYW5nZSgpO3ZhciBTPXRoaXMueSgpLnNjYWxlLnJhbmdlKCksTj1NYXRoLm1pbi5hcHBseShudWxsLEwpLFI9TWF0aC5tYXguYXBwbHkobnVsbCxMKSxYPU1hdGgubWluLmFwcGx5KG51bGwsUyksYWE9TWF0aC5tYXguYXBwbHkobnVsbCxTKTtDLmdldChHKS5mb3JFYWNoKGZ1bmN0aW9uKGZhLG9hKXtpZihudWxsIT1mYSl7dmFyIFo9IiIrQi5sYWJlbCgpKGZhLG9hLEcpLGNhPUoubWVhc3VyZShaKSxqYT1ILngoZmEsb2EsRyksYmE9SC55KGZhLG9hLEcpLGthPUgud2lkdGgoZmEsb2EsRyksVz1ILmhlaWdodChmYSxvYSxHKTsKY2EuaGVpZ2h0PD1XJiZjYS53aWR0aDw9a2EmJihXPShXLWNhLmhlaWdodCkvMixqYSs9KGthLWNhLndpZHRoKS8yLGJhKz1XLGthPXttaW46amEsbWF4OmphK2NhLndpZHRofSxXPXttaW46YmEsbWF4OmJhK2NhLmhlaWdodH0sa2EubWluPE58fGthLm1heD5SfHxXLm1pbjxYfHxXLm1heD5hYXx8Qi5fb3ZlcmxheUxhYmVsKGthLFcsb2EsRCxDKXx8KGZhPUguZmlsbChmYSxvYSxHKSxmYT0xLjYqdy5Db2xvci5jb250cmFzdCgid2hpdGUiLGZhKTx3LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsZmEpLGphPUsuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIramErIiwiK2JhKyIpIiksamEuY2xhc3NlZChmYT8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCksTy53cml0ZShaLGNhLndpZHRoLGNhLmhlaWdodCx7eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIn0samEubm9kZSgpKSkpfX0pfTt4LnByb3RvdHlwZS5fb3ZlcmxheUxhYmVsPWZ1bmN0aW9uKEMsCkcsRCxCLEgpe2Zvcih2YXIgSz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxMPXRoaXMuZGF0YXNldHMoKSxKPUI7SjxMLmxlbmd0aDtKKyspZm9yKHZhciBPPUxbSl0sUz1ILmdldChPKSxOPUo9PT1CP0QrMTowO048Uy5sZW5ndGg7TisrKWlmKHcuRE9NLmludGVyc2VjdHNCQm94KEMsRyx0aGlzLl9lbnRpdHlCQm94KFNbTl0sTixPLEspKSlyZXR1cm4hMDtyZXR1cm4hMX07cmV0dXJuIHh9KGgoMTYpLlhZUGxvdCk7ZC5fWDJfS0VZPSJ4MiI7ZC5fWTJfS0VZPSJ5MiI7Zi5SZWN0YW5nbGU9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih5LHgpe2Z1bmN0aW9uIEMoKXt0aGlzLmNvbnN0cnVjdG9yPXl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSxyPWgoMzEpLApsPWgoNikscD1oKDQ4KSxtPWgoNyksbj1oKDE0KSxxPWgoMyksdT1oKDApLHc9aCgxOSksQT1oKDIpO2Q9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLmFkZENsYXNzKCJzY2F0dGVyLXBsb3QiKTt2YXIgRz1uZXcgbS5FYXNpbmc7Ry5zdGFydERlbGF5KDUpO0cuc3RlcER1cmF0aW9uKDI1MCk7Ry5tYXhUb3RhbER1cmF0aW9uKEEuUGxvdC5fQU5JTUFUSU9OX01BWF9EVVJBVElPTik7Qy5hbmltYXRvcih3LkFuaW1hdG9yLk1BSU4sRyk7Qy5hdHRyKCJvcGFjaXR5IiwuNik7Qy5hdHRyKCJmaWxsIiwobmV3IHEuQ29sb3IpLnJhbmdlKClbMF0pO0Muc2l6ZSg2KTt2YXIgRD1yLmNpcmNsZSgpO0Muc3ltYm9sKGZ1bmN0aW9uKCl7cmV0dXJuIER9KTtyZXR1cm4gQ31rKHgseSk7eC5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXM9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4geS5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXMuY2FsbCh0aGlzLApDKS5tYXAoZnVuY3Rpb24oRCl7dmFyIEI9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnNpemUoKSkoRC5kYXR1bSxELmluZGV4LEQuZGF0YXNldCk7RC5kaWFtZXRlcj1CO3JldHVybiBEfSl9O3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4gbmV3IGwuUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHAuU3ltYm9sU1ZHRHJhd2VyfSxmdW5jdGlvbihEKXtyZXR1cm4gbmV3IG4uQ2FudmFzRHJhd2VyKEQscC5tYWtlU3ltYm9sQ2FudmFzRHJhd1N0ZXAoQyxmdW5jdGlvbigpe3JldHVybiBBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKEcuc3ltYm9sKCkpfSxmdW5jdGlvbigpe3JldHVybiBBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKEcuc2l6ZSgpKX0pKX0pfTt4LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKEMsRyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fU0laRV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eSh4Ll9TSVpFX0tFWSwKQyxHKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS5zeW1ib2w9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fU1lNQk9MX0tFWSk7dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5zZXQoeC5fU1lNQk9MX0tFWSx7YWNjZXNzb3I6Q30pO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3ZhciBDPVtdO2lmKHRoaXMuX2FuaW1hdGVPbk5leHRSZW5kZXIoKSl7dmFyIEc9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksRD1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc3ltYm9sKCkpO0cuZD1mdW5jdGlvbihCLEgsSyl7cmV0dXJuIEQoQixILEspKDApKG51bGwpfTtDLnB1c2goe2F0dHJUb1Byb2plY3RvcjpHLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuUkVTRVQpfSl9Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksCmFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuTUFJTil9KTtyZXR1cm4gQ307eC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBDPXkucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKSxHPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLEQ9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSk7Qy54PUc7Qy55PUQ7Qy50cmFuc2Zvcm09ZnVuY3Rpb24oQixILEspe3JldHVybiJ0cmFuc2xhdGUoIitHKEIsSCxLKSsiLCIrRChCLEgsSykrIikifTtDLmQ9dGhpcy5fY29uc3RydWN0U3ltYm9sR2VuZXJhdG9yKCk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9jb25zdHJ1Y3RTeW1ib2xHZW5lcmF0b3I9ZnVuY3Rpb24oKXt2YXIgQz1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc3ltYm9sKCkpLEc9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7cmV0dXJuIGZ1bmN0aW9uKEQsQiwKSCl7cmV0dXJuIEMoRCxCLEgpKEcoRCxCLEgpKShudWxsKX19O3gucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQyl7cmV0dXJue3g6Qy5wb3NpdGlvbi54LUMuZGlhbWV0ZXIvMix5OkMucG9zaXRpb24ueS1DLmRpYW1ldGVyLzIsd2lkdGg6Qy5kaWFtZXRlcixoZWlnaHQ6Qy5kaWFtZXRlcn19O3gucHJvdG90eXBlLl9lbnRpdHlWaXNpYmxlT25QbG90PWZ1bmN0aW9uKEMsRyl7dmFyIEQ9e21pbjpHLnRvcExlZnQueCxtYXg6Ry5ib3R0b21SaWdodC54fTtHPXttaW46Ry50b3BMZWZ0LnksbWF4OkcuYm90dG9tUmlnaHQueX07Qz10aGlzLl9lbnRpdHlCb3VuZHMoQyk7cmV0dXJuIHUuRE9NLmludGVyc2VjdHNCQm94KEQsRyxDKX07eC5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbihDKXt2YXIgRz1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxEPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLEI9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7CnJldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKGZ1bmN0aW9uKEgpe3ZhciBLPUguZGF0dW0sTD1ILmluZGV4LEo9SC5kYXRhc2V0O0g9RyhLLEwsSik7dmFyIE89RChLLEwsSik7Sz1CKEssTCxKKTtyZXR1cm4gSC1LLzI8PUMueCYmQy54PD1IK0svMiYmTy1LLzI8PUMueSYmQy55PD1PK0svMn0pfTtyZXR1cm4geH0oaCgxNikuWFlQbG90KTtkLl9TSVpFX0tFWT0ic2l6ZSI7ZC5fU1lNQk9MX0tFWT0ic3ltYm9sIjtmLlNjYXR0ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih1LHcpe2Z1bmN0aW9uIEEoKXt0aGlzLmNvbnN0cnVjdG9yPXV9Zm9yKHZhciB5IGluIHcpdy5oYXNPd25Qcm9wZXJ0eSh5KSYmKHVbeV09d1t5XSk7dS5wcm90b3R5cGU9bnVsbD09PXc/T2JqZWN0LmNyZWF0ZSh3KTooQS5wcm90b3R5cGU9dy5wcm90b3R5cGUsbmV3IEEpfSxyPWgoNyksbD1oKDYpLHA9aCg0NyksbT1oKDMpLG49aCgzNSkscT1oKDIpOwpkPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoKXt2YXIgQT11LmNhbGwodGhpcyl8fHRoaXM7QS5hZGRDbGFzcygic2VnbWVudC1wbG90Iik7QS5hdHRyKCJzdHJva2UiLChuZXcgbS5Db2xvcikucmFuZ2UoKVswXSk7QS5hdHRyKCJzdHJva2Utd2lkdGgiLCIycHgiKTtyZXR1cm4gQX1rKHcsdSk7dy5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbC5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgcC5TZWdtZW50U1ZHRHJhd2VyfSxmdW5jdGlvbigpe24ud2FybigiY2FudmFzIHJlbmRlcmVyIGlzIG5vdCBzdXBwb3J0ZWQgb24gU2VnbWVudCBQbG90ISIpO3JldHVybiBudWxsfSl9O3cucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOm5ldyByLk51bGx9XX07dy5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PQpmdW5jdGlvbihBKXtyZXR1cm4ieDIiPT09QT91LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ4Iik6InkyIj09PUE/dS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywieSIpOnUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsQSl9O3cucHJvdG90eXBlLng9ZnVuY3Rpb24oQSx5KXtpZihudWxsPT1BKXJldHVybiB1LnByb3RvdHlwZS54LmNhbGwodGhpcyk7bnVsbD09eT91LnByb3RvdHlwZS54LmNhbGwodGhpcyxBKToodS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQSx5KSxBPShBPXRoaXMueDIoKSkmJkEuYWNjZXNzb3IsbnVsbCE9QSYmdGhpcy5fYmluZFByb3BlcnR5KHcuX1gyX0tFWSxBLHkpKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUueDI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQody5fWDJfS0VZKX07dy5wcm90b3R5cGUueT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PQpBKXJldHVybiB1LnByb3RvdHlwZS55LmNhbGwodGhpcyk7bnVsbD09eT91LnByb3RvdHlwZS55LmNhbGwodGhpcyxBKToodS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQSx5KSxBPShBPXRoaXMueTIoKSkmJkEuYWNjZXNzb3IsbnVsbCE9QSYmdGhpcy5fYmluZFByb3BlcnR5KHcuX1kyX0tFWSxBLHkpKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUueTI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQody5fWTJfS0VZKX07dy5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBBPXUucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtBLngxPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpO0EueDI9bnVsbD09dGhpcy54MigpP3EuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpOnEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKTtBLnkxPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOwpBLnkyPW51bGw9PXRoaXMueTIoKT9xLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTpxLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTIoKSk7cmV0dXJuIEF9O3cucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24oQSl7QT10aGlzLmVudGl0eU5lYXJlc3QoQSk7cmV0dXJuIG51bGwhPUE/W0FdOltdfTt3LnByb3RvdHlwZS5lbnRpdGllc0luPWZ1bmN0aW9uKEEseSl7aWYobnVsbD09eSl7dmFyIHg9e21pbjpBLnRvcExlZnQueCxtYXg6QS5ib3R0b21SaWdodC54fTtBPXttaW46QS50b3BMZWZ0LnksbWF4OkEuYm90dG9tUmlnaHQueX19ZWxzZSB4PUEsQT15O3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyh4LEEpfTt3LnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24oQSx5KXt2YXIgeD10aGlzLEM9W10sRz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTt0aGlzLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihEKXt4Ll9saW5lSW50ZXJzZWN0c0JveChELApBLHksRykmJkMucHVzaChEKX0pO3JldHVybiBDfTt3LnByb3RvdHlwZS5fbGluZUludGVyc2VjdHNCb3g9ZnVuY3Rpb24oQSx5LHgsQyl7dmFyIEc9dGhpcyxEPUMueDEoQS5kYXR1bSxBLmluZGV4LEEuZGF0YXNldCksQj1DLngyKEEuZGF0dW0sQS5pbmRleCxBLmRhdGFzZXQpLEg9Qy55MShBLmRhdHVtLEEuaW5kZXgsQS5kYXRhc2V0KTtBPUMueTIoQS5kYXR1bSxBLmluZGV4LEEuZGF0YXNldCk7aWYoeS5taW48PUQmJkQ8PXkubWF4JiZ4Lm1pbjw9SCYmSDw9eC5tYXh8fHkubWluPD1CJiZCPD15Lm1heCYmeC5taW48PUEmJkE8PXgubWF4KXJldHVybiEwO3ZhciBLPXt4OkQseTpIfSxMPXt4OkIseTpBfSxKPVt7eDp5Lm1pbix5OngubWlufSx7eDp5Lm1pbix5OngubWF4fSx7eDp5Lm1heCx5OngubWF4fSx7eDp5Lm1heCx5OngubWlufV07cmV0dXJuIDA8Si5maWx0ZXIoZnVuY3Rpb24oTyxTKXtyZXR1cm4gMCE9PVM/Ry5fbGluZUludGVyc2VjdHNTZWdtZW50KEssTCxPLEpbUy0KMV0pJiZHLl9saW5lSW50ZXJzZWN0c1NlZ21lbnQoTyxKW1MtMV0sSyxMKTohMX0pLmxlbmd0aH07dy5wcm90b3R5cGUuX2xpbmVJbnRlcnNlY3RzU2VnbWVudD1mdW5jdGlvbihBLHkseCxDKXtmdW5jdGlvbiBHKEQsQixIKXtyZXR1cm4oQi54LUQueCkqKEgueS1CLnkpLShCLnktRC55KSooSC54LUIueCl9cmV0dXJuIDA+RyhBLHkseCkqRyhBLHksQyl9O3JldHVybiB3fShoKDE2KS5YWVBsb3QpO2QuX1gyX0tFWT0ieDIiO2QuX1kyX0tFWT0ieTIiO2YuU2VnbWVudD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHEsdSl7ZnVuY3Rpb24gdygpe3RoaXMuY29uc3RydWN0b3I9cX1mb3IodmFyIEEgaW4gdSl1Lmhhc093blByb3BlcnR5KEEpJiYocVtBXT11W0FdKTtxLnByb3RvdHlwZT1udWxsPT09dT9PYmplY3QuY3JlYXRlKHUpOih3LnByb3RvdHlwZT11LnByb3RvdHlwZSxuZXcgdyl9LHI9aCgxKSxsPWgoNykscD1oKDIwKSxtPQpoKDApO2Q9aCg1MCk7dmFyIG49aCgyKTtoPWZ1bmN0aW9uKHEpe2Z1bmN0aW9uIHUoKXt2YXIgdz1xLmNhbGwodGhpcyl8fHRoaXM7dy5fc3RhY2tpbmdSZXN1bHQ9cC5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiB3LmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIHcueCgpLmFjY2Vzc29yfSxmdW5jdGlvbigpe3JldHVybiB3LnkoKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4gdy5fc3RhY2tpbmdPcmRlcn0sZnVuY3Rpb24oQSx5LHgsQyl7cmV0dXJuIG0uU3RhY2tpbmcuc3RhY2soQSx5LHgsQyl9KTt3Ll9zdGFja2VkRXh0ZW50PXAubWVtVGh1bmsody5fc3RhY2tpbmdSZXN1bHQsZnVuY3Rpb24oKXtyZXR1cm4gdy54KCkuYWNjZXNzb3J9LGZ1bmN0aW9uKCl7cmV0dXJuIHcuX2ZpbHRlckZvclByb3BlcnR5KCJ5Iil9LGZ1bmN0aW9uKEEseSx4KXtyZXR1cm4gbS5TdGFja2luZy5zdGFja2VkRXh0ZW50KEEseSx4KX0pO3cuX2Jhc2VsaW5lVmFsdWU9MDt3Ll9zdGFja2luZ09yZGVyPQoiYm90dG9tdXAiO3cuYWRkQ2xhc3MoInN0YWNrZWQtYXJlYS1wbG90Iik7dy5hdHRyKCJmaWxsLW9wYWNpdHkiLDEpO3cuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVyblt3Ll9iYXNlbGluZVZhbHVlXX07dy5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZCghMSk7cmV0dXJuIHd9ayh1LHEpO3UucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkPWZ1bmN0aW9uKHcpe3JldHVybiBudWxsPT13P3EucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkLmNhbGwodGhpcyk6dz8obS5XaW5kb3cud2FybigiV2FybmluZzogU3RhY2tlZCBBcmVhIFBsb3QgZG9lcyBub3Qgc3VwcG9ydCBjcm9wcGVkIHJlbmRlcmluZy4iKSx0aGlzKTpxLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMsdyl9O3UucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbC5OdWxsfTt1LnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtxLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTsKdGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfTt1LnByb3RvdHlwZS54PWZ1bmN0aW9uKHcsQSl7aWYobnVsbD09dylyZXR1cm4gcS5wcm90b3R5cGUueC5jYWxsKHRoaXMpO251bGw9PUE/cS5wcm90b3R5cGUueC5jYWxsKHRoaXMsdyk6cS5wcm90b3R5cGUueC5jYWxsKHRoaXMsdyxBKTt0aGlzLl9jaGVja1NhbWVEb21haW4oKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUueT1mdW5jdGlvbih3LEEpe2lmKG51bGw9PXcpcmV0dXJuIHEucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtudWxsPT1BP3EucHJvdG90eXBlLnkuY2FsbCh0aGlzLHcpOnEucHJvdG90eXBlLnkuY2FsbCh0aGlzLHcsQSk7dGhpcy5fY2hlY2tTYW1lRG9tYWluKCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLnN0YWNraW5nT3JkZXI9ZnVuY3Rpb24odyl7aWYobnVsbD09dylyZXR1cm4gdGhpcy5fc3RhY2tpbmdPcmRlcjt0aGlzLl9zdGFja2luZ09yZGVyPQp3O3RoaXMuX29uRGF0YXNldFVwZGF0ZSgpO3JldHVybiB0aGlzfTt1LnByb3RvdHlwZS5kb3duc2FtcGxpbmdFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHEucHJvdG90eXBlLmRvd25zYW1wbGluZ0VuYWJsZWQuY2FsbCh0aGlzKX07dS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbigpe3ZhciB3PXRoaXMueSgpLnNjYWxlLnNjYWxlKHRoaXMuX2Jhc2VsaW5lVmFsdWUpO3c9e3gxOjAseTE6dyx4Mjp0aGlzLndpZHRoKCkseTI6d307dGhpcy5fZ2V0QW5pbWF0b3IoImJhc2VsaW5lIikuYW5pbWF0ZSh0aGlzLl9iYXNlbGluZSx3KX07dS5wcm90b3R5cGUuX3VwZGF0ZVlTY2FsZT1mdW5jdGlvbigpe3ZhciB3PXRoaXMueSgpO3c9dyYmdy5zY2FsZTtudWxsIT13JiYody5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlciksdy5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcikpfTsKdS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2NoZWNrU2FtZURvbWFpbigpO3EucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5PWZ1bmN0aW9uKHcpe3JldHVybiJ5Ij09PXc/W3RoaXMuX3N0YWNrZWRFeHRlbnQoKV06cS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyx3KX07dS5wcm90b3R5cGUuX2NoZWNrU2FtZURvbWFpbj1mdW5jdGlvbigpe2lmKHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXt2YXIgdz10aGlzLmRhdGFzZXRzKCksQT10aGlzLngoKS5hY2Nlc3Nvcix5PXcubWFwKGZ1bmN0aW9uKEMpe3JldHVybiByLnNldChDLmRhdGEoKS5tYXAoZnVuY3Rpb24oRyxEKXtyZXR1cm4gQShHLEQsQykudG9TdHJpbmcoKX0pKS52YWx1ZXMoKX0pLHg9dS5fZG9tYWluS2V5cyh3LEEpO3kuc29tZShmdW5jdGlvbihDKXtyZXR1cm4gQy5sZW5ndGghPT0KeC5sZW5ndGh9KSYmbS5XaW5kb3cud2FybigidGhlIGRvbWFpbnMgYWNyb3NzIHRoZSBkYXRhc2V0cyBhcmUgbm90IHRoZSBzYW1lLiBQbG90IG1heSBwcm9kdWNlIHVuaW50ZW5kZWQgYmVoYXZpb3IuIil9fTt1Ll9kb21haW5LZXlzPWZ1bmN0aW9uKHcsQSl7dmFyIHk9ci5zZXQoKTt3LmZvckVhY2goZnVuY3Rpb24oeCl7eC5kYXRhKCkuZm9yRWFjaChmdW5jdGlvbihDLEcpe3kuYWRkKEEoQyxHLHgpKX0pfSk7cmV0dXJuIHkudmFsdWVzKCl9O3UucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB3KEQsQixIKXtyZXR1cm4gbS5TdGFja2luZy5ub3JtYWxpemVLZXkoQyhELEIsSCkpfXZhciBBPXRoaXMseT1xLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcykseD10aGlzLnkoKS5hY2Nlc3NvcixDPXRoaXMueCgpLmFjY2Vzc29yLEc9dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTt5LmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihuLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSwKZnVuY3Rpb24oRCxCLEgpe3JldHVybiBBLnkoKS5zY2FsZS5zY2FsZSgreChELEIsSCkrRy5nZXQoSCkuZ2V0KHcoRCxCLEgpKS5vZmZzZXQpfSxmdW5jdGlvbihELEIsSCl7cmV0dXJuIEEueSgpLnNjYWxlLnNjYWxlKEcuZ2V0KEgpLmdldCh3KEQsQixIKSkub2Zmc2V0KX0pO3JldHVybiB5fTt1LnByb3RvdHlwZS5fcGl4ZWxQb2ludD1mdW5jdGlvbih3LEEseSl7dmFyIHg9cS5wcm90b3R5cGUuX3BpeGVsUG9pbnQuY2FsbCh0aGlzLHcsQSx5KSxDPXRoaXMueCgpLmFjY2Vzc29yKHcsQSx5KTt3PXRoaXMueSgpLmFjY2Vzc29yKHcsQSx5KTt5PXRoaXMueSgpLnNjYWxlLnNjYWxlKCt3K3RoaXMuX3N0YWNraW5nUmVzdWx0KCkuZ2V0KHkpLmdldChtLlN0YWNraW5nLm5vcm1hbGl6ZUtleShDKSkub2Zmc2V0KTtyZXR1cm57eDp4LngseX19O3JldHVybiB1fShkLkFyZWEpO2YuU3RhY2tlZEFyZWE9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih1LAp3KXtmdW5jdGlvbiBBKCl7dGhpcy5jb25zdHJ1Y3Rvcj11fWZvcih2YXIgeSBpbiB3KXcuaGFzT3duUHJvcGVydHkoeSkmJih1W3ldPXdbeV0pO3UucHJvdG90eXBlPW51bGw9PT13P09iamVjdC5jcmVhdGUodyk6KEEucHJvdG90eXBlPXcucHJvdG90eXBlLG5ldyBBKX0scj1oKDUpLGw9aCg4KSxwPWgoMjApLG09aCgwKSxuPWgoMjcpLHE9aCgyKTtkPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoQSl7dm9pZCAwPT09QSYmKEE9InZlcnRpY2FsIik7dmFyIHk9dS5jYWxsKHRoaXMsQSl8fHRoaXM7eS5fZXh0cmVtYUZvcm1hdHRlcj1sLmlkZW50aXR5KCk7eS5fc3RhY2tpbmdSZXN1bHQ9cC5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiB5LmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIHkucG9zaXRpb24oKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5sZW5ndGgoKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5fc3RhY2tpbmdPcmRlcn0sZnVuY3Rpb24oeCwKQyxHLEQpe3JldHVybiBtLlN0YWNraW5nLnN0YWNrKHgsQyxHLEQpfSk7eS5fc3RhY2tlZEV4dGVudD1wLm1lbVRodW5rKHkuX3N0YWNraW5nUmVzdWx0LGZ1bmN0aW9uKCl7cmV0dXJuIHkucG9zaXRpb24oKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5fZmlsdGVyRm9yUHJvcGVydHkoeS5faXNWZXJ0aWNhbD8ieSI6IngiKX0sZnVuY3Rpb24oeCxDLEcpe3JldHVybiBtLlN0YWNraW5nLnN0YWNrZWRFeHRlbnQoeCxDLEcpfSk7eS5hZGRDbGFzcygic3RhY2tlZC1iYXItcGxvdCIpO3kuX3N0YWNraW5nT3JkZXI9ImJvdHRvbXVwIjtyZXR1cm4geX1rKHcsdSk7dy5wcm90b3R5cGUuc3RhY2tpbmdPcmRlcj1mdW5jdGlvbihBKXtpZihudWxsPT1BKXJldHVybiB0aGlzLl9zdGFja2luZ09yZGVyO3RoaXMuX3N0YWNraW5nT3JkZXI9QTt0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUuZXh0cmVtYUZvcm1hdHRlcj1mdW5jdGlvbihBKXtpZigwPT09CmFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX2V4dHJlbWFGb3JtYXR0ZXI7dGhpcy5fZXh0cmVtYUZvcm1hdHRlcj1BO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3cucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3UucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2xhYmVsQXJlYT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5CYXIuX0xBQkVMX0FSRUFfQ0xBU1MsITApO3ZhciBBPW5ldyByLlN2Z0NvbnRleHQodGhpcy5fbGFiZWxBcmVhLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IHIuQ2FjaGVNZWFzdXJlcihBKTt0aGlzLl93cml0ZXI9bmV3IHIuV3JpdGVyKHRoaXMuX21lYXN1cmVyLEEpfTt3LnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoTCxKKXt2YXIgTz14Ll9nZW5lcmF0ZUF0dHJUb1Byb2plY3RvcigpLFM9eC53aWR0aCgpLE49eC5oZWlnaHQoKTtMLmZvckVhY2goZnVuY3Rpb24oUil7aWYoUi5leHRlbnQhPT0KQyl7dmFyIFg9eC5leHRyZW1hRm9ybWF0dGVyKCkoUi5leHRlbnQpLGFhPXguX21lYXN1cmVyLm1lYXN1cmUoWCksZmE9Ui5zdGFja2VkRGF0dW0sb2E9ZmEub3JpZ2luYWxEYXR1bSxaPWZhLm9yaWdpbmFsSW5kZXg7ZmE9ZmEub3JpZ2luYWxEYXRhc2V0O3guX2lzRGF0dW1PblNjcmVlbihPLFMsTixvYSxaLGZhKSYmKG9hPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoeC5hdHRyKG4uQmFyLl9CQVJfVEhJQ0tORVNTX0tFWSkpKG9hLFosZmEpLFo9RC5zY2FsZShSLmV4dGVudCksUj14Ll9nZXRQb3NpdGlvbkF0dHIoRy5zY2FsZShSLmF4aXNWYWx1ZSksb2EpK29hLzIsUj1KKHguX2lzVmVydGljYWw/e3g6Uix5Olp9Ont4OloseTpSfSxhYSxvYSksWD15KFgse3RvcExlZnQ6Uixib3R0b21SaWdodDp7eDpSLngrYWEud2lkdGgseTpSLnkrYWEuaGVpZ2h0fX0sb2EpLEsucHVzaChYKSl9fSl9ZnVuY3Rpb24geShMLEosTyl7dmFyIFM9Si50b3BMZWZ0LE49Uy54LFI9Uy55O1M9Si5ib3R0b21SaWdodC54LQpKLnRvcExlZnQueDtKPUouYm90dG9tUmlnaHQueS1KLnRvcExlZnQueTtPPXguX2lzVmVydGljYWw/Uz5POko+TztPfHwoTj14Ll9sYWJlbEFyZWEuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrTisiLCAiK1IrIikiKSxOLmNsYXNzZWQoInN0YWNrZWQtYmFyLWxhYmVsIiwhMCkseC5fd3JpdGVyLndyaXRlKEwsUyxKLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSxOLm5vZGUoKSkpO3JldHVybiBPfXZhciB4PXRoaXM7dS5wcm90b3R5cGUuX2RyYXdMYWJlbHMuY2FsbCh0aGlzKTt0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7dmFyIEM9K3RoaXMuYmFzZWxpbmVWYWx1ZSgpLEc9dGhpcy5wb3NpdGlvbigpLnNjYWxlLEQ9dGhpcy5sZW5ndGgoKS5zY2FsZSxCPW0uU3RhY2tpbmcuc3RhY2tlZEV4dGVudHModGhpcy5fc3RhY2tpbmdSZXN1bHQoKSksSD1CLm1pbmltdW1FeHRlbnRzLEs9W107QShCLm1heGltdW1FeHRlbnRzLApmdW5jdGlvbihMLEope3ZhciBPPXguX2lzVmVydGljYWw/Si53aWR0aDpKLmhlaWdodDtKPXguX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtyZXR1cm57eDp4Ll9pc1ZlcnRpY2FsP0wueC1PLzI6TC54K3cuX0VYVFJFTUFfTEFCRUxfTUFSR0lOX0ZST01fQkFSLHk6eC5faXNWZXJ0aWNhbD9MLnktSjpMLnktTy8yfX0pO0EoSCxmdW5jdGlvbihMLEope3ZhciBPPXguX2lzVmVydGljYWw/Si53aWR0aDpKLmhlaWdodDtKPXguX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtyZXR1cm57eDp4Ll9pc1ZlcnRpY2FsP0wueC1PLzI6TC54LUoseTp4Ll9pc1ZlcnRpY2FsP0wueSt3Ll9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUjpMLnktTy8yfX0pO0suc29tZShmdW5jdGlvbihMKXtyZXR1cm4gTH0pJiZ0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9O3cucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoUywKTixSKXtyZXR1cm4gMD4rTChTLE4sUik/QyhTLE4sUik6eChTLE4sUil9ZnVuY3Rpb24geShTLE4sUil7cmV0dXJuIE1hdGguYWJzKHgoUyxOLFIpLUMoUyxOLFIpKX1mdW5jdGlvbiB4KFMsTixSKXtyZXR1cm4gSy5zY2FsZSgrTChTLE4sUikrTy5nZXQoUikuZ2V0KEcoUyxOLFIpKS5vZmZzZXQpfWZ1bmN0aW9uIEMoUyxOLFIpe3JldHVybiBLLnNjYWxlKE8uZ2V0KFIpLmdldChHKFMsTixSKSkub2Zmc2V0KX1mdW5jdGlvbiBHKFMsTixSKXtyZXR1cm4gbS5TdGFja2luZy5ub3JtYWxpemVLZXkoSihTLE4sUikpfXZhciBEPXRoaXMsQj11LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKSxIPXRoaXMuX2lzVmVydGljYWw/InkiOiJ4IixLPXRoaXMubGVuZ3RoKCkuc2NhbGUsTD10aGlzLmxlbmd0aCgpLmFjY2Vzc29yLEo9dGhpcy5wb3NpdGlvbigpLmFjY2Vzc29yLE89dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTtCW3RoaXMuX2lzVmVydGljYWw/ImhlaWdodCI6CiJ3aWR0aCJdPXk7QltIXT1mdW5jdGlvbihTLE4sUil7cmV0dXJuIEQuX2lzVmVydGljYWw/QShTLE4sUik6QShTLE4sUikteShTLE4sUil9O3JldHVybiBCfTt3LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0odGhpcy5faXNWZXJ0aWNhbD8ieSI6IngiKT9bdGhpcy5fc3RhY2tlZEV4dGVudCgpXTp1LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLEEpfTt3LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt1LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gd30obi5CYXIpO2QuX0VYVFJFTUFfTEFCRUxfTUFSR0lOX0ZST01fQkFSPTU7Zi5TdGFja2VkQmFyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj0KcH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgwKTtkPWgoMjcpO3ZhciBsPWgoMik7aD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO24uX2Nvbm5lY3RvcnNFbmFibGVkPSExO24uYWRkQ2xhc3MoIndhdGVyZmFsbC1wbG90Iik7cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLmNvbm5lY3RvcnNFbmFibGVkPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2Nvbm5lY3RvcnNFbmFibGVkO3RoaXMuX2Nvbm5lY3RvcnNFbmFibGVkPW47cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnRvdGFsPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KG0uX1RPVEFMX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KG0uX1RPVEFMX0tFWSwKbixudWxsKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihuKXt2YXIgcT10aGlzO3RoaXMuX2Nvbm5lY3RvckFyZWEuc2VsZWN0QWxsKCJsaW5lIikucmVtb3ZlKCk7dGhpcy5fY29ubmVjdG9yc0VuYWJsZWQmJnIuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gcS5fZHJhd0Nvbm5lY3RvcnMoKX0sbil9O20ucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24obil7bj1wLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxuKTt0aGlzLl9jb25uZWN0b3JBcmVhPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZChtLl9DT05ORUNUT1JfQVJFQV9DTEFTUywhMCk7cmV0dXJuIG59O20ucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihuKXtyZXR1cm4ieSI9PT1uP1t0aGlzLl9leHRlbnRdOnAucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsCm4pfTttLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLHE9cC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksdT10aGlzLnkoKS5zY2FsZSx3PWwuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy50b3RhbCgpKTtudWxsPT10aGlzLmF0dHIoInkiKSYmKHEueT1mdW5jdGlvbihBLHkseCl7dmFyIEM9bi55KCkuYWNjZXNzb3IoQSx5LHgpO2lmKHcoQSx5LHgpKXJldHVybiBNYXRoLm1pbih1LnNjYWxlKEMpLHUuc2NhbGUoMCkpO0E9bi5fc3VidG90YWxzW3ldO2lmKDA9PT15KXJldHVybiAwPkM/dS5zY2FsZShBLUMpOnUuc2NhbGUoQSk7eT1uLl9zdWJ0b3RhbHNbeS0xXTtyZXR1cm4gQT55P3Uuc2NhbGUoQSk6dS5zY2FsZSh5KX0pO251bGw9PXRoaXMuYXR0cigiaGVpZ2h0IikmJihxLmhlaWdodD1mdW5jdGlvbihBLHkseCl7dmFyIEM9dyhBLHkseCk7QT1uLnkoKS5hY2Nlc3NvcihBLHkseCk7aWYoQylyZXR1cm4gTWF0aC5hYnModS5zY2FsZShBKS0KdS5zY2FsZSgwKSk7Qz1uLl9zdWJ0b3RhbHNbeV07aWYoMD09PXkpcmV0dXJuIE1hdGguYWJzKHUuc2NhbGUoQyktdS5zY2FsZShDLUEpKTt5PW4uX3N1YnRvdGFsc1t5LTFdO3JldHVybiBNYXRoLmFicyh1LnNjYWxlKEMpLXUuc2NhbGUoeSkpfSk7cVsiY2xhc3MiXT1mdW5jdGlvbihBLHkseCl7dmFyIEM9IiI7bnVsbCE9bi5hdHRyKCJjbGFzcyIpJiYoQz1uLmF0dHIoImNsYXNzIikuYWNjZXNzb3IoQSx5LHgpKyIgIik7aWYodyhBLHkseCkpcmV0dXJuIEMrbS5fQkFSX1RPVEFMX0NMQVNTO0E9bi55KCkuYWNjZXNzb3IoQSx5LHgpO3JldHVybiBDKygwPEE/bS5fQkFSX0dST1dUSF9DTEFTUzptLl9CQVJfREVDTElORV9DTEFTUyl9O3JldHVybiBxfTttLnByb3RvdHlwZS5fb25EYXRhc2V0VXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlU3VidG90YWxzKCk7cC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50PQpmdW5jdGlvbihuKXt2YXIgcT10aGlzLHU9TnVtYmVyLk1BWF9WQUxVRSx3PU51bWJlci5NSU5fVkFMVUUsQT0wLHk9ITE7bi5kYXRhKCkuZm9yRWFjaChmdW5jdGlvbih4LEMpe3ZhciBHPXEueSgpLmFjY2Vzc29yKHgsQyxuKTsoeD1xLnRvdGFsKCkuYWNjZXNzb3IoeCxDLG4pKSYmMCE9PUN8fChBKz1HKTtxLl9zdWJ0b3RhbHMucHVzaChBKTtBPHUmJih1PUEpO0E+dyYmKHc9QSk7eCYmKEc8dSYmKHU9RyksRz53JiYodz1HKSk7aWYoIXkmJngpe0M9Ry1BO2ZvcihHPTA7RzxxLl9zdWJ0b3RhbHMubGVuZ3RoO0crKylxLl9zdWJ0b3RhbHNbR10rPUM7eT0hMDtBKz1DO3UrPUM7dys9Q319KTt0aGlzLl9leHRlbnQ9W3Usd119O20ucHJvdG90eXBlLl9kcmF3Q29ubmVjdG9ycz1mdW5jdGlvbigpe2Zvcih2YXIgbj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxxPXRoaXMuZGF0YXNldHMoKVswXSx1PTE7dTxxLmRhdGEoKS5sZW5ndGg7dSsrKXt2YXIgdz11LTEsQT1xLmRhdGEoKVt1XSwKeT1xLmRhdGEoKVt3XTt5PW4ueCh5LHcscSk7dmFyIHg9bi54KEEsdSxxKStuLndpZHRoKEEsdSxxKSxDPW4ueShBLHUscSk7aWYoMDx0aGlzLl9zdWJ0b3RhbHNbdV0mJnRoaXMuX3N1YnRvdGFsc1t1XT50aGlzLl9zdWJ0b3RhbHNbd118fDA+dGhpcy5fc3VidG90YWxzW3VdJiZ0aGlzLl9zdWJ0b3RhbHNbdV0+PXRoaXMuX3N1YnRvdGFsc1t3XSlDPW4ueShBLHUscSkrbi5oZWlnaHQoQSx1LHEpO3RoaXMuX2Nvbm5lY3RvckFyZWEuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChtLl9DT05ORUNUT1JfQ0xBU1MsITApLmF0dHIoIngxIix5KS5hdHRyKCJ4MiIseCkuYXR0cigieTEiLEMpLmF0dHIoInkyIixDKX19O20ucHJvdG90eXBlLl91cGRhdGVTdWJ0b3RhbHM9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLmRhdGFzZXRzKCk7MDxuLmxlbmd0aCYmKG49bltuLmxlbmd0aC0xXSx0aGlzLl9zdWJ0b3RhbHM9W10sdGhpcy5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50KG4pKX07cmV0dXJuIG19KGQuQmFyKTsKaC5fQkFSX0RFQ0xJTkVfQ0xBU1M9IndhdGVyZmFsbC1kZWNsaW5lIjtoLl9CQVJfR1JPV1RIX0NMQVNTPSJ3YXRlcmZhbGwtZ3Jvd3RoIjtoLl9CQVJfVE9UQUxfQ0xBU1M9IndhdGVyZmFsbC10b3RhbCI7aC5fQ09OTkVDVE9SX0NMQVNTPSJjb25uZWN0b3IiO2guX0NPTk5FQ1RPUl9BUkVBX0NMQVNTPSJjb25uZWN0b3ItYXJlYSI7aC5fVE9UQUxfS0VZPSJ0b3RhbCI7Zi5XYXRlcmZhbGw9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2YXIgcT1wLmNhbGwodGhpcyl8fHRoaXM7CnN3aXRjaChuKXtjYXNlIG51bGw6Y2FzZSB2b2lkIDA6bnVsbD09bS5fcGxvdHRhYmxlQ29sb3JDYWNoZSYmKG0uX3Bsb3R0YWJsZUNvbG9yQ2FjaGU9bS5fZ2V0UGxvdHRhYmxlQ29sb3JzKCkpO249ci5zY2FsZU9yZGluYWwoKS5yYW5nZShtLl9wbG90dGFibGVDb2xvckNhY2hlKTticmVhaztjYXNlICJDYXRlZ29yeTEwIjpjYXNlICJjYXRlZ29yeTEwIjpjYXNlICIxMCI6bj1yLnNjYWxlT3JkaW5hbChyLnNjaGVtZUNhdGVnb3J5MTApO2JyZWFrO2Nhc2UgIkNhdGVnb3J5MjAiOmNhc2UgImNhdGVnb3J5MjAiOmNhc2UgIjIwIjpuPXIuc2NhbGVPcmRpbmFsKHIuc2NoZW1lQ2F0ZWdvcnkyMCk7YnJlYWs7Y2FzZSAiQ2F0ZWdvcnkyMGIiOmNhc2UgImNhdGVnb3J5MjBiIjpjYXNlICIyMGIiOm49ci5zY2FsZU9yZGluYWwoci5zY2hlbWVDYXRlZ29yeTIwYik7YnJlYWs7Y2FzZSAiQ2F0ZWdvcnkyMGMiOmNhc2UgImNhdGVnb3J5MjBjIjpjYXNlICIyMGMiOm49ci5zY2FsZU9yZGluYWwoci5zY2hlbWVDYXRlZ29yeTIwYyk7CmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIENvbG9yU2NhbGUgdHlwZSIpO31xLl9kM1NjYWxlPW47cmV0dXJuIHF9ayhtLHApO20ucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKG4pe3JldHVybiBsLkFycmF5LnVuaXEobil9O20ucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbC5BcnJheS51bmlxKHRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCkpfTttLmludmFsaWRhdGVDb2xvckNhY2hlPWZ1bmN0aW9uKCl7bS5fcGxvdHRhYmxlQ29sb3JDYWNoZT1udWxsfTttLl9nZXRQbG90dGFibGVDb2xvcnM9ZnVuY3Rpb24oKXtmb3IodmFyIG49W10scT1yLnNlbGVjdCgiYm9keSIpLmFwcGVuZCgicGxvdHRhYmxlLWNvbG9yLXRlc3RlciIpLHU9bC5Db2xvci5jb2xvclRlc3QocSwiIiksdz0wLEE9bC5Db2xvci5jb2xvclRlc3QocSwicGxvdHRhYmxlLWNvbG9ycy0wIik7bnVsbCE9QSYmdzx0aGlzLl9NQVhJTVVNX0NPTE9SU19GUk9NX0NTUyYmCihBIT09dXx8QSE9PW5bbi5sZW5ndGgtMV0pOyluLnB1c2goQSksdysrLEE9bC5Db2xvci5jb2xvclRlc3QocSwicGxvdHRhYmxlLWNvbG9ycy0iK3cpO3EucmVtb3ZlKCk7cmV0dXJuIG59O20ucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKG4pe3ZhciBxPXRoaXMuX2QzU2NhbGUobik7bj10aGlzLmRvbWFpbigpLmluZGV4T2Yobik7bj1NYXRoLmZsb29yKG4vdGhpcy5yYW5nZSgpLmxlbmd0aCk7cmV0dXJuIGwuQ29sb3IubGlnaHRlbkNvbG9yKHEsTWF0aC5sb2cobiptLl9MT09QX0xJR0hURU5fRkFDVE9SKzEpKX07bS5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX07bS5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9kM1NjYWxlLmRvbWFpbigpO3RoaXMuX2QzU2NhbGUuZG9tYWluKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5fZ2V0UmFuZ2U9CmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUucmFuZ2UoKX07bS5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKG4pe3RoaXMuX2QzU2NhbGUucmFuZ2Uobil9O3JldHVybiBtfShoKDE3KS5TY2FsZSk7ZC5fTE9PUF9MSUdIVEVOX0ZBQ1RPUj0xLjY7ZC5fTUFYSU1VTV9DT0xPUlNfRlJPTV9DU1M9MjU2O2YuQ29sb3I9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2b2lkIDA9PT1uJiYobj0ibGluZWFyIik7dmFyIHE9cC5jYWxsKHRoaXMpfHx0aGlzO3N3aXRjaChuKXtjYXNlICJsaW5lYXIiOnEuX2NvbG9yU2NhbGU9CnIuc2NhbGVMaW5lYXIoKTticmVhaztjYXNlICJsb2ciOnEuX2NvbG9yU2NhbGU9ci5zY2FsZUxvZygpO2JyZWFrO2Nhc2UgInNxcnQiOnEuX2NvbG9yU2NhbGU9ci5zY2FsZVNxcnQoKTticmVhaztjYXNlICJwb3ciOnEuX2NvbG9yU2NhbGU9ci5zY2FsZVBvdygpfWlmKG51bGw9PXEuX2NvbG9yU2NhbGUpdGhyb3cgRXJyb3IoInVua25vd24gUXVhbnRpdGF0aXZlU2NhbGUgc2NhbGUgdHlwZSAiK24pO3EucmFuZ2UobS5SRURTKTtyZXR1cm4gcX1rKG0scCk7bS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24obil7bj1yLmV4dGVudChuKTtyZXR1cm4gbnVsbD09blswXXx8bnVsbD09blsxXT9bXTpufTttLnByb3RvdHlwZS5fZDNJbnRlcnBvbGF0ZWRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlLnJhbmdlKFswLDFdKS5pbnRlcnBvbGF0ZSh0aGlzLl9pbnRlcnBvbGF0ZUNvbG9ycygpKX07bS5wcm90b3R5cGUuX2ludGVycG9sYXRlQ29sb3JzPQpmdW5jdGlvbigpe3ZhciBuPXRoaXMuX2NvbG9yUmFuZ2U7aWYoMj5uLmxlbmd0aCl0aHJvdyBFcnJvcigiQ29sb3Igc2NhbGUgYXJyYXlzIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gZWxlbWVudHMuIik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHEpe3E9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHEpKTtxKj1uLmxlbmd0aC0xO3ZhciB1PU1hdGguZmxvb3IocSksdz1xLXU7cmV0dXJuIHIuaW50ZXJwb2xhdGVMYWIoblt1XSxuW01hdGguY2VpbChxKV0pKHcpfX19O20ucHJvdG90eXBlLl9yZXNldFNjYWxlPWZ1bmN0aW9uKCl7dGhpcy5fZDNTY2FsZT10aGlzLl9kM0ludGVycG9sYXRlZFNjYWxlKCk7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9O20ucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9nZXRBbGxJbmNsdWRlZFZhbHVlcygpOzA8bi5sZW5ndGgmJnRoaXMuX3NldERvbWFpbihbbC5NYXRoLm1pbihuLAowKSxsLk1hdGgubWF4KG4sMCldKX07bS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUobil9O20ucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9O20ucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5fZDNTY2FsZS5kb21haW4oKTt0aGlzLl9kM1NjYWxlLmRvbWFpbihuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yUmFuZ2V9O20ucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbihuKXt0aGlzLl9jb2xvclJhbmdlPW47dGhpcy5fcmVzZXRTY2FsZSgpfTtyZXR1cm4gbX0oaCgxNykuU2NhbGUpO2QuUkVEUz0iI0ZGRkZGRiAjRkZGNkUxICNGRUY0QzAgI0ZFRDk3NiAjRkVCMjRDICNGRDhEM0MgI0ZDNEUyQSAjRTMxQTFDICNCMTAwMjYiLnNwbGl0KCIgIik7CmQuQkxVRVM9IiNGRkZGRkYgI0NDRkZGRiAjQTVGRkZEICM4NUY3RkIgIzZFRDNFRiAjNTVBN0UwICM0MTdGRDAgIzI1NDVEMyAjMEIwMkUxIi5zcGxpdCgiICIpO2QuUE9TTkVHPSIjMEIwMkUxICMyNTQ1RDMgIzQxN0ZEMCAjNTVBN0UwICM2RUQzRUYgIzg1RjdGQiAjQTVGRkZEICNDQ0ZGRkYgI0ZGRkZGRiAjRkZGNkUxICNGRUY0QzAgI0ZFRDk3NiAjRkVCMjRDICNGRDhEM0MgI0ZDNEUyQSAjRTMxQTFDICNCMTAwMjYiLnNwbGl0KCIgIik7Zi5JbnRlcnBvbGF0ZWRDb2xvcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKGwscCl7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9bH1mb3IodmFyIG4gaW4gcClwLmhhc093blByb3BlcnR5KG4pJiYobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCgxKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAoKXt2YXIgbT0KbC5jYWxsKHRoaXMpfHx0aGlzO20uX2QzU2NhbGU9ci5zY2FsZUxpbmVhcigpO3JldHVybiBtfWsocCxsKTtwLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3JldHVyblswLDFdfTtwLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24obSl7cmV0dXJuIG1bMF09PT1tWzFdP1ttWzBdLTEsbVsxXSsxXTptfTtwLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5fZDNTY2FsZShtKX07cC5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5zY2FsZShtKX07cC5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5pbnZlcnQobSl9O3AucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9O3AucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbWFpbigpfTtwLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbihtKXt0aGlzLmRvbWFpbihtKX07cC5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX07cC5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl9kM1NjYWxlLmRvbWFpbigpO3RoaXMuX2QzU2NhbGUuZG9tYWluKG0pO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfTtwLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24obSl7dGhpcy5fZDNTY2FsZS5yYW5nZShtKX07cC5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydChtKX07cC5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07CnAucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbihtKS5uaWNlKG4pLmRvbWFpbigpfTtyZXR1cm4gcH0oaCgxMSkuUXVhbnRpdGF0aXZlU2NhbGUpO2YuTGluZWFyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obSxuKXtmdW5jdGlvbiBxKCl7dGhpcy5jb25zdHJ1Y3Rvcj1tfWZvcih2YXIgdSBpbiBuKW4uaGFzT3duUHJvcGVydHkodSkmJihtW3VdPW5bdV0pO20ucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KHEucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBxKX0scj1oKDEpLGw9aCgwKSxwPWgoMyk7ZD1mdW5jdGlvbihtKXtmdW5jdGlvbiBuKHEpe3ZvaWQgMD09PXEmJihxPTEwKTt2YXIgdT1tLmNhbGwodGhpcyl8fHRoaXM7dS5fZDNTY2FsZT1yLnNjYWxlTGluZWFyKCk7dS5fYmFzZT1xO3UuX3Bpdm90PXUuX2Jhc2U7dS5fc2V0RG9tYWluKHUuX2RlZmF1bHRFeHRlbnQoKSk7CmlmKDE+PXEpdGhyb3cgRXJyb3IoIk1vZGlmaWVkTG9nU2NhbGU6IFRoZSBiYXNlIG11c3QgYmUgXHgzZSAxIik7cmV0dXJuIHV9ayhuLG0pO24ucHJvdG90eXBlLl9hZGp1c3RlZExvZz1mdW5jdGlvbihxKXt2YXIgdT0wPnE/LTE6MTtxKj11O3E8dGhpcy5fcGl2b3QmJihxKz0odGhpcy5fcGl2b3QtcSkvdGhpcy5fcGl2b3QpO3E9TWF0aC5sb2cocSkvTWF0aC5sb2codGhpcy5fYmFzZSk7cmV0dXJuIHEqdX07bi5wcm90b3R5cGUuX2ludmVydGVkQWRqdXN0ZWRMb2c9ZnVuY3Rpb24ocSl7dmFyIHU9MD5xPy0xOjE7cT1NYXRoLnBvdyh0aGlzLl9iYXNlLHEqdSk7cTx0aGlzLl9waXZvdCYmKHE9dGhpcy5fcGl2b3QqKHEtMSkvKHRoaXMuX3Bpdm90LTEpKTtyZXR1cm4gcSp1fTtuLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbihxKXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0aGlzLl9hZGp1c3RlZExvZyhxKSl9O24ucHJvdG90eXBlLmludmVydD1mdW5jdGlvbihxKXtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRBZGp1c3RlZExvZyh0aGlzLl9kM1NjYWxlLmludmVydChxKSl9OwpuLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLnNjYWxlKHEpfTtuLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLmludmVydChxKX07bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCEwKX07bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21haW4oKX07bi5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24ocSl7dGhpcy5kb21haW4ocSl9O24ucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbn07bi5wcm90b3R5cGUuX3NldERvbWFpbj1mdW5jdGlvbihxKXt0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluPXE7bS5wcm90b3R5cGUuX3NldERvbWFpbi5jYWxsKHRoaXMsClt0aGlzLl9hZGp1c3RlZExvZyhxWzBdKSx0aGlzLl9hZGp1c3RlZExvZyhxWzFdKV0pfTtuLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4ocSk7cmV0dXJuIHRoaXN9O24ucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcShHLEQsQil7cmV0dXJuW0csRCxCXS5zb3J0KGZ1bmN0aW9uKEgsSyl7cmV0dXJuIEgtS30pWzFdfXZhciB1PWwuTWF0aC5taW4odGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSx3PWwuTWF0aC5tYXgodGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSxBPXEodSx3LC10aGlzLl9waXZvdCkseT1xKHUsdyx0aGlzLl9waXZvdCk7QT10aGlzLl9sb2dUaWNrcygtQSwtdSkubWFwKGZ1bmN0aW9uKEcpe3JldHVybi1HfSkucmV2ZXJzZSgpO3k9dGhpcy5fbG9nVGlja3MoeSx3KTt2YXIgeD1NYXRoLm1heCh1LAotdGhpcy5fcGl2b3QpLEM9TWF0aC5taW4odyx0aGlzLl9waXZvdCk7eD1yLnNjYWxlTGluZWFyKCkuZG9tYWluKFt4LENdKS50aWNrcyh0aGlzLl9ob3dNYW55VGlja3MoeCxDKSk7QT1BLmNvbmNhdCh4KS5jb25jYXQoeSk7MT49QS5sZW5ndGgmJihBPXIuc2NhbGVMaW5lYXIoKS5kb21haW4oW3Usd10pLnRpY2tzKCkpO3JldHVybiBBfTtuLnByb3RvdHlwZS5fbG9nVGlja3M9ZnVuY3Rpb24ocSx1KXt2YXIgdz10aGlzLEE9dGhpcy5faG93TWFueVRpY2tzKHEsdSk7aWYoMD09PUEpcmV0dXJuW107dmFyIHk9TWF0aC5mbG9vcihNYXRoLmxvZyhxKS9NYXRoLmxvZyh0aGlzLl9iYXNlKSkseD1NYXRoLmNlaWwoTWF0aC5sb2codSkvTWF0aC5sb2codGhpcy5fYmFzZSkpO0E9ci5yYW5nZSh4LHksLU1hdGguY2VpbCgoeC15KS9BKSk7eT1yLnJhbmdlKHRoaXMuX2Jhc2UsMSwtKHRoaXMuX2Jhc2UtMSkpLm1hcChNYXRoLmZsb29yKTt2YXIgQz1sLkFycmF5LnVuaXEoeSk7QT1BLm1hcChmdW5jdGlvbihHKXtyZXR1cm4gQy5tYXAoZnVuY3Rpb24oRCl7cmV0dXJuIE1hdGgucG93KHcuX2Jhc2UsCkctMSkqRH0pfSk7cmV0dXJuIGwuQXJyYXkuZmxhdHRlbihBKS5maWx0ZXIoZnVuY3Rpb24oRyl7cmV0dXJuIHE8PUcmJkc8PXV9KS5zb3J0KGZ1bmN0aW9uKEcsRCl7cmV0dXJuIEctRH0pfTtuLnByb3RvdHlwZS5faG93TWFueVRpY2tzPWZ1bmN0aW9uKHEsdSl7dmFyIHc9dGhpcy5fYWRqdXN0ZWRMb2cobC5NYXRoLm1pbih0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxBPXRoaXMuX2FkanVzdGVkTG9nKGwuTWF0aC5tYXgodGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSk7cmV0dXJuIE1hdGguY2VpbCgodGhpcy5fYWRqdXN0ZWRMb2codSktdGhpcy5fYWRqdXN0ZWRMb2cocSkpLyhBLXcpKnAuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX07bi5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24ocSl7cmV0dXJuIHF9O24ucHJvdG90eXBlLl9kZWZhdWx0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuWzAsdGhpcy5fYmFzZV19O24ucHJvdG90eXBlLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbj0KZnVuY3Rpb24ocSl7cmV0dXJuIHFbMF09PT1xWzFdPyhxPXFbMF0sMDxxP1txL3RoaXMuX2Jhc2UscSp0aGlzLl9iYXNlXTowPT09cT9bLXRoaXMuX2Jhc2UsdGhpcy5fYmFzZV06W3EqdGhpcy5fYmFzZSxxL3RoaXMuX2Jhc2VdKTpxfTtuLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfTtuLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24ocSl7dGhpcy5fZDNTY2FsZS5yYW5nZShxKX07bi5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07cmV0dXJuIG59KGgoMTEpLlF1YW50aXRhdGl2ZVNjYWxlKTtmLk1vZGlmaWVkTG9nPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApO2YuaW50ZXJ2YWxUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uKHIpe2lmKDA+PXIpdGhyb3cgRXJyb3IoImludGVydmFsIG11c3QgYmUgcG9zaXRpdmUgbnVtYmVyIik7cmV0dXJuIGZ1bmN0aW9uKGwpe2w9CmwuZG9tYWluKCk7dmFyIHA9TWF0aC5taW4obFswXSxsWzFdKTtsPU1hdGgubWF4KGxbMF0sbFsxXSk7dmFyIG09TWF0aC5jZWlsKHAvcikqcjtwPTA9PT1wJXI/W106W3BdO3ZhciBuPWsuTWF0aC5yYW5nZSgwLE1hdGguZmxvb3IoKGwtbSkvcikrMSkubWFwKGZ1bmN0aW9uKHEpe3JldHVybiBtK3Eqcn0pO3JldHVybiBwLmNvbmNhdChuKS5jb25jYXQoMD09PWwlcj9bXTpbbF0pfX07Zi5pbnRlZ2VyVGlja0dlbmVyYXRvcj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgbD1yLmRlZmF1bHRUaWNrcygpO3JldHVybiBsLmZpbHRlcihmdW5jdGlvbihwLG0pe3JldHVybiAwPT09cCUxfHwwPT09bXx8bT09PWwubGVuZ3RoLTF9KX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTsKcC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDI4KTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXt2YXIgbj1wLmNhbGwodGhpcyl8fHRoaXM7bi5fZDNTY2FsZT1yLnNjYWxlVGltZSgpO24uYXV0b0RvbWFpbigpO3JldHVybiBufWsobSxwKTttLnByb3RvdHlwZS50aWNrSW50ZXJ2YWw9ZnVuY3Rpb24obixxKXt2b2lkIDA9PT1xJiYocT0xKTt2YXIgdT1yLnNjYWxlVGltZSgpO20udGltZUludGVydmFsVG9EM1RpbWUobikuZXZlcnkocSk7dS5kb21haW4odGhpcy5kb21haW4oKSk7dS5yYW5nZSh0aGlzLnJhbmdlKCkpO3JldHVybiB1LnRpY2tzKCl9O20ucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24obil7aWYoblsxXTxuWzBdKXRocm93IEVycm9yKCJTY2FsZS5UaW1lIGRvbWFpbiB2YWx1ZXMgbXVzdCBiZSBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyIik7cmV0dXJuIHAucHJvdG90eXBlLl9zZXREb21haW4uY2FsbCh0aGlzLApuKX07bS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bbmV3IERhdGUoIjE5NzAtMDEtMDEiKSxuZXcgRGF0ZSgiMTk3MC0wMS0wMiIpXX07bS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKG4pe3ZhciBxPW5bMF0uZ2V0VGltZSgpLHU9blsxXS5nZXRUaW1lKCk7cmV0dXJuIHE9PT11PyhuPW5ldyBEYXRlKHEpLG4uc2V0RGF0ZShuLmdldERhdGUoKS0xKSx1PW5ldyBEYXRlKHUpLHUuc2V0RGF0ZSh1LmdldERhdGUoKSsxKSxbbix1XSk6bn07bS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUobil9O20ucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuc2NhbGUobmV3IERhdGUobikpfTttLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmludmVydChuKS5nZXRUaW1lKCl9O20ucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PQpmdW5jdGlvbigpe3ZhciBuPXRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCk7cmV0dXJuW25bMF0udmFsdWVPZigpLG5bMV0udmFsdWVPZigpXX07bS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXt2YXIgbj10aGlzLmRvbWFpbigpO3JldHVybltuWzBdLnZhbHVlT2YoKSxuWzFdLnZhbHVlT2YoKV19O20ucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKG4pe3RoaXMuZG9tYWluKFtuZXcgRGF0ZShuWzBdKSxuZXcgRGF0ZShuWzFdKV0pfTttLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfTttLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4obik7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9OwptLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24obil7dGhpcy5fZDNTY2FsZS5yYW5nZShuKX07bS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydChuKX07bS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07bS5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbihuKS5uaWNlKCkuZG9tYWluKCl9O20udGltZUludGVydmFsVG9EM1RpbWU9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgbC5UaW1lSW50ZXJ2YWwuc2Vjb25kOnJldHVybiByLnRpbWVTZWNvbmQ7Y2FzZSBsLlRpbWVJbnRlcnZhbC5taW51dGU6cmV0dXJuIHIudGltZU1pbnV0ZTtjYXNlIGwuVGltZUludGVydmFsLmhvdXI6cmV0dXJuIHIudGltZUhvdXI7Y2FzZSBsLlRpbWVJbnRlcnZhbC5kYXk6cmV0dXJuIHIudGltZURheTsKY2FzZSBsLlRpbWVJbnRlcnZhbC53ZWVrOnJldHVybiByLnRpbWVXZWVrO2Nhc2UgbC5UaW1lSW50ZXJ2YWwubW9udGg6cmV0dXJuIHIudGltZU1vbnRoO2Nhc2UgbC5UaW1lSW50ZXJ2YWwueWVhcjpyZXR1cm4gci50aW1lWWVhcjtkZWZhdWx0OnRocm93IEVycm9yKCJUaW1lSW50ZXJ2YWwgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0OiAiK24pO319O3JldHVybiBtfShoKDExKS5RdWFudGl0YXRpdmVTY2FsZSk7Zi5UaW1lPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDEpLHI9QXJyYXk7Zi5hZGQ9ZnVuY3Rpb24obCxwKXtpZihsLmxlbmd0aCE9PXAubGVuZ3RoKXRocm93IEVycm9yKCJhdHRlbXB0ZWQgdG8gYWRkIGFycmF5cyBvZiB1bmVxdWFsIGxlbmd0aCIpO3JldHVybiBsLm1hcChmdW5jdGlvbihtLG4pe3JldHVybiBsW25dK3Bbbl19KX07Zi51bmlxPWZ1bmN0aW9uKGwpe3ZhciBwPWsuc2V0KCksbT1bXTtsLmZvckVhY2goZnVuY3Rpb24obil7cC5oYXMoU3RyaW5nKG4pKXx8CihwLmFkZChTdHJpbmcobikpLG0ucHVzaChuKSl9KTtyZXR1cm4gbX07Zi5mbGF0dGVuPWZ1bmN0aW9uKGwpe3JldHVybiByLnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sbCl9O2YuY3JlYXRlRmlsbGVkQXJyYXk9ZnVuY3Rpb24obCxwKXtmb3IodmFyIG09W10sbj0wO248cDtuKyspbVtuXT0iZnVuY3Rpb24iPT09dHlwZW9mIGw/bChuKTpsO3JldHVybiBtfX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dGhpcy5tYXhJbmRleD10aGlzLm1pbkluZGV4PXRoaXMuZXhpdEluZGV4PXRoaXMuZW50cnlJbmRleD1rO3RoaXMuYnVja2V0VmFsdWU9cjt0aGlzLm1heFZhbHVlPXRoaXMubWluVmFsdWU9bH1oLnByb3RvdHlwZS5pc0luQnVja2V0PWZ1bmN0aW9uKGspe3JldHVybiBrPT10aGlzLmJ1Y2tldFZhbHVlfTtoLnByb3RvdHlwZS5hZGRUb0J1Y2tldD1mdW5jdGlvbihrLHIpe2s8dGhpcy5taW5WYWx1ZSYmKHRoaXMubWluVmFsdWU9ayx0aGlzLm1pbkluZGV4PQpyKTtrPnRoaXMubWF4VmFsdWUmJih0aGlzLm1heFZhbHVlPWssdGhpcy5tYXhJbmRleD1yKTt0aGlzLmV4aXRJbmRleD1yfTtoLnByb3RvdHlwZS5nZXRVbmlxdWVJbmRpY2VzPWZ1bmN0aW9uKCl7dmFyIGs9W3RoaXMuZW50cnlJbmRleCx0aGlzLm1heEluZGV4LHRoaXMubWluSW5kZXgsdGhpcy5leGl0SW5kZXhdO3JldHVybiBrLmZpbHRlcihmdW5jdGlvbihyLGwpe3JldHVybiAwPT1sfHxyIT1rW2wtMV19KX07cmV0dXJuIGh9KCk7Zi5CdWNrZXQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAoKXt0aGlzLmNvbnN0cnVjdG9yPXJ9Zm9yKHZhciBtIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShtKSYmKHJbbV09bFttXSk7ci5wcm90b3R5cGU9bnVsbD09PWw/T2JqZWN0LmNyZWF0ZShsKToocC5wcm90b3R5cGU9bC5wcm90b3R5cGUsbmV3IHApfTtkPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtyZXR1cm4gbnVsbCE9PQpyJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31rKGwscik7bC5wcm90b3R5cGUuY2FsbENhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgcD10aGlzLG09W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspbVtuXT1hcmd1bWVudHNbbl07dGhpcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuYXBwbHkocCxtKX0pO3JldHVybiB0aGlzfTtyZXR1cm4gbH0oaCg1OCkuU2V0KTtmLkNhbGxiYWNrU2V0PWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHApe2Z1bmN0aW9uIG0odSl7dS89MjU1O3JldHVybi4wMzkyOD49dT91LzEyLjkyOmwucG93KCh1Ky4wNTUpLzEuMDU1LDIuNCl9dmFyIG49ci5yZ2IocCk7cD1tKG4ucik7dmFyIHE9bShuLmcpO249bShuLmIpO3JldHVybi4yMTI2KnArLjcxNTIqcSsuMDcyMipufXZhciByPWgoMSksbD1NYXRoO2YuY29udHJhc3Q9ZnVuY3Rpb24ocCxtKXtwPWsocCkrLjA1O209ayhtKSsuMDU7cmV0dXJuIHA+bT9wL206bS9wfTtmLmxpZ2h0ZW5Db2xvcj0KZnVuY3Rpb24ocCxtKXtyZXR1cm4gci5jb2xvcihwKS5icmlnaHRlcihtKS5yZ2IoKS50b1N0cmluZygpfTtmLmNvbG9yVGVzdD1mdW5jdGlvbihwLG0pe3AuY2xhc3NlZChtLCEwKTt2YXIgbj1wLnN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIik7aWYoInRyYW5zcGFyZW50Ij09PW4pcmV0dXJuIG51bGw7bj0vXCgoLispXCkvLmV4ZWMobik7aWYoIW4pcmV0dXJuIG51bGw7bj1uWzFdLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHEpe3E9K3E7dmFyIHU9cS50b1N0cmluZygxNik7cmV0dXJuIDE2PnE/IjAiK3U6dX0pO2lmKDQ9PT1uLmxlbmd0aCYmIjAwIj09PW5bM10pcmV0dXJuIG51bGw7bj0iIyIrbi5qb2luKCIiKTtwLmNsYXNzZWQobSwhMSk7cmV0dXJuIG59fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKSxyPWgoNTcpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKCl7dGhpcy5fZW50aXRpZXM9W107dGhpcy5fcnRyZWU9bmV3IHIuUlRyZWU7dGhpcy5fdHJlZT1rLnF1YWR0cmVlKCkueChmdW5jdGlvbihwKXtyZXR1cm4gTWF0aC5mbG9vcihwLnBvc2l0aW9uLngpfSkueShmdW5jdGlvbihwKXtyZXR1cm4gTWF0aC5mbG9vcihwLnBvc2l0aW9uLnkpfSl9CmwucHJvdG90eXBlLmFkZEFsbD1mdW5jdGlvbihwLG0sbil7KHc9dGhpcy5fZW50aXRpZXMpLnB1c2guYXBwbHkodyxwKTtpZih2b2lkIDAhPT1uKWZvcihuPXIuUlRyZWVCb3VuZHMuYm91bmRzKG4pLHc9MDt3PHAubGVuZ3RoO3crKyl7dmFyIHE9cFt3XSx1PXIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKG0ocSkpO3IuUlRyZWVCb3VuZHMuaXNCb3VuZHNPdmVybGFwQm91bmRzKG4sdSkmJih0aGlzLl90cmVlLmFkZChxKSx0aGlzLl9ydHJlZS5pbnNlcnQodSxxKSl9ZWxzZSBmb3IodGhpcy5fdHJlZS5hZGRBbGwocCksdz0wO3c8cC5sZW5ndGg7dysrKXE9cFt3XSx1PXIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKG0ocSkpLHRoaXMuX3J0cmVlLmluc2VydCh1LHEpO3ZhciB3fTtsLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0PWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLl90cmVlLmZpbmQocC54LHAueSl9O2wucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHM9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuX3J0cmVlLmludGVyc2VjdChyLlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhwKSl9OwpsLnByb3RvdHlwZS5lbnRpdGllc0luWEJvdW5kcz1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5fcnRyZWUuaW50ZXJzZWN0WChyLlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhwKSl9O2wucHJvdG90eXBlLmVudGl0aWVzSW5ZQm91bmRzPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3RZKHIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKHApKX07bC5wcm90b3R5cGUuZW50aXRpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW50aXRpZXN9O3JldHVybiBsfSgpO2YuRW50aXR5U3RvcmU9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoNTYpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuTWFwP3RoaXMuX2VzNk1hcD1uZXcgd2luZG93Lk1hcDp0aGlzLl9rZXlWYWx1ZVBhaXJzPVtdfXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihsLHApe2lmKGsuaXNOYU4obCkpdGhyb3cgRXJyb3IoIk5hTiBtYXkgbm90IGJlIHVzZWQgYXMgYSBrZXkgdG8gdGhlIE1hcCIpOwppZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5zZXQobCxwKSx0aGlzO2Zvcih2YXIgbT0wO208dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7bSsrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbbV0ua2V5PT09bClyZXR1cm4gdGhpcy5fa2V5VmFsdWVQYWlyc1ttXS52YWx1ZT1wLHRoaXM7dGhpcy5fa2V5VmFsdWVQYWlycy5wdXNoKHtrZXk6bCx2YWx1ZTpwfSk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLmdldD1mdW5jdGlvbihsKXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5nZXQobCk7Zm9yKHZhciBwPTA7cDx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtwKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1twXS5rZXk9PT1sKXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzW3BdLnZhbHVlfTtyLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24obCl7aWYobnVsbCE9dGhpcy5fZXM2TWFwKXJldHVybiB0aGlzLl9lczZNYXAuaGFzKGwpOwpmb3IodmFyIHA9MDtwPHRoaXMuX2tleVZhbHVlUGFpcnMubGVuZ3RoO3ArKylpZih0aGlzLl9rZXlWYWx1ZVBhaXJzW3BdLmtleT09PWwpcmV0dXJuITA7cmV0dXJuITF9O3IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24obCxwKXt2YXIgbT10aGlzO251bGwhPXRoaXMuX2VzNk1hcD90aGlzLl9lczZNYXAuZm9yRWFjaChmdW5jdGlvbihuLHEpe3JldHVybiBsLmNhbGwocCxuLHEsbSl9LHApOnRoaXMuX2tleVZhbHVlUGFpcnMuZm9yRWFjaChmdW5jdGlvbihuKXtsLmNhbGwocCxuLnZhbHVlLG4ua2V5LG0pfSl9O3IucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihsKXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5kZWxldGUobCk7Zm9yKHZhciBwPTA7cDx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtwKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1twXS5rZXk9PT1sKXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzLnNwbGljZShwLDEpLCEwO3JldHVybiExfTsKcmV0dXJuIHJ9KCk7Zi5NYXA9ZH0sZnVuY3Rpb24oZCxmKXtmLmFzc2lnbj1mdW5jdGlvbigpe2Zvcih2YXIgaD1bXSxrPTA7azxhcmd1bWVudHMubGVuZ3RoO2srKyloW2tdPWFyZ3VtZW50c1trXTtrPXt9O2Zvcih2YXIgcj0wO3I8aC5sZW5ndGg7cisrKWZvcih2YXIgbD1oW3JdLHA9MCxtPU9iamVjdC5rZXlzKGwpO3A8bS5sZW5ndGg7cCsrKXt2YXIgbj1tW3BdO2tbbl09bFtuXX1yZXR1cm4ga319LGZ1bmN0aW9uKGQsZil7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGgoKXt9aC5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9TWF0aC5jZWlsKGsubGVuZ3RoLzIpLHA9MDtwPGw7cCsrKXJbMF0uaW5zZXJ0KGtbcF0pO2ZvcihwPWw7cDxrLmxlbmd0aDtwKyspclsxXS5pbnNlcnQoa1twXSl9O3JldHVybiBofSgpO2YuU3BsaXRTdHJhdGVneVRyaXZpYWw9ZDtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe31oLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihrLHIpe2s9Cmsuc2xpY2UoKTtmb3IodGhpcy5jaG9vc2VGaXJzdFNwbGl0KGsscik7MDxrLmxlbmd0aDspdGhpcy5hZGROZXh0KGsscil9O2gucHJvdG90eXBlLmNob29zZUZpcnN0U3BsaXQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9MCxwPTAsbT1rLmxlbmd0aC0xLG49ay5sZW5ndGgtMSxxPTE7cTxrLmxlbmd0aC0xO3ErKyl7dmFyIHU9a1txXTt1LmJvdW5kcy54bD5rW21dLmJvdW5kcy54bD9tPXE6dS5ib3VuZHMueGg8a1tsXS5ib3VuZHMueGgmJihsPXEpO3UuYm91bmRzLnlsPmtbbl0uYm91bmRzLnlsP249cTp1LmJvdW5kcy55aDxrW3BdLmJvdW5kcy55aCYmKHA9cSl9cD1NYXRoLmFicyhrW2xdLmJvdW5kcy54aC1rW21dLmJvdW5kcy54bCk+TWF0aC5hYnMoa1twXS5ib3VuZHMueWgta1tuXS5ib3VuZHMueWwpP1tsLG1dOltwLG5dO2w9cFswXTtwPXBbMV07bD09PXAmJihsPTAscD1rLmxlbmd0aC0xKTtyWzBdLmluc2VydChrLnNwbGljZShNYXRoLm1heChsLHApLDEpWzBdKTtyWzFdLmluc2VydChrLnNwbGljZShNYXRoLm1pbihsLApwKSwxKVswXSl9O2gucHJvdG90eXBlLmFkZE5leHQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9bnVsbCxwPW51bGwsbT1udWxsLG49MDtuPGsubGVuZ3RoO24rKyl7dmFyIHE9a1tuXSx1PXJbMF0udW5pb25BcmVhRGlmZmVyZW5jZShxLmJvdW5kcyk7cT1yWzFdLnVuaW9uQXJlYURpZmZlcmVuY2UocS5ib3VuZHMpO2lmKHU8cHx8bnVsbD09bClsPW4scD11LG09clswXTtxPHAmJihsPW4scD1xLG09clsxXSl9bS5pbnNlcnQoay5zcGxpY2UobCwxKVswXSl9O3JldHVybiBofSgpO2YuU3BsaXRTdHJhdGVneUxpbmVhcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhtKXtyZXR1cm4gU3RyaW5nKG0pfXZhciByPWgoMSksbD1oKDApO2Q9aCgxMCk7Zi5JU3RhY2tpbmdPcmRlcj1kLm1ha2VFbnVtKFsidG9wZG93biIsImJvdHRvbXVwIl0pO3ZhciBwPU1hdGg7Zi5zdGFjaz1mdW5jdGlvbihtLG4scSx1KXt2b2lkIDA9PT11JiYodT0iYm90dG9tdXAiKTt2YXIgdz1yLm1hcCgpLEE9CnIubWFwKCkseT1uZXcgbC5NYXA7InRvcGRvd24iPT09dSYmKG09bS5zbGljZSgpLG0ucmV2ZXJzZSgpKTttLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIEM9bmV3IGwuTWFwO3guZGF0YSgpLmZvckVhY2goZnVuY3Rpb24oRyxEKXt2YXIgQj1rKG4oRyxELHgpKSxIPStxKEcsRCx4KSxLPTA8PUg/dzpBO2lmKEsuaGFzKEIpKXt2YXIgTD1LLmdldChCKTtLLnNldChCLEwrSCl9ZWxzZSBMPTAsSy5zZXQoQixIKTtDLnNldChCLHtvZmZzZXQ6TCx2YWx1ZTpILGF4aXNWYWx1ZTpuKEcsRCx4KSxvcmlnaW5hbERhdHVtOkcsb3JpZ2luYWxEYXRhc2V0Ongsb3JpZ2luYWxJbmRleDpEfSl9KTt5LnNldCh4LEMpfSk7cmV0dXJuIHl9O2Yuc3RhY2tlZEV4dGVudHM9ZnVuY3Rpb24obSl7dmFyIG49bmV3IGwuTWFwLHE9bmV3IGwuTWFwO20uZm9yRWFjaChmdW5jdGlvbih1KXt1LmZvckVhY2goZnVuY3Rpb24odyxBKXt2YXIgeT1sLk1hdGgubWF4KFt3Lm9mZnNldCt3LnZhbHVlLHcub2Zmc2V0XSwKdy5vZmZzZXQpLHg9bC5NYXRoLm1pbihbdy5vZmZzZXQrdy52YWx1ZSx3Lm9mZnNldF0sdy5vZmZzZXQpLEM9dy5heGlzVmFsdWU7bi5oYXMoQSk/bi5nZXQoQSkuZXh0ZW50PHkmJm4uc2V0KEEse2V4dGVudDp5LGF4aXNWYWx1ZTpDLHN0YWNrZWREYXR1bTp3fSk6bi5zZXQoQSx7ZXh0ZW50OnksYXhpc1ZhbHVlOkMsc3RhY2tlZERhdHVtOnd9KTtxLmhhcyhBKT9xLmdldChBKS5leHRlbnQ+eCYmcS5zZXQoQSx7ZXh0ZW50OngsYXhpc1ZhbHVlOkMsc3RhY2tlZERhdHVtOnd9KTpxLnNldChBLHtleHRlbnQ6eCxheGlzVmFsdWU6QyxzdGFja2VkRGF0dW06d30pfSl9KTtyZXR1cm57bWF4aW11bUV4dGVudHM6bixtaW5pbXVtRXh0ZW50czpxfX07Zi5zdGFja2VkRXh0ZW50PWZ1bmN0aW9uKG0sbixxKXt2YXIgdT1bXTttLmZvckVhY2goZnVuY3Rpb24oQSx5KXt5LmRhdGEoKS5mb3JFYWNoKGZ1bmN0aW9uKHgsQyl7aWYobnVsbD09cXx8cSh4LEMseSkpeD1BLmdldChrKG4oeCxDLHkpKSksCnUucHVzaCh4LnZhbHVlK3gub2Zmc2V0KX0pfSk7bT1sLk1hdGgubWF4KHUsMCk7dmFyIHc9bC5NYXRoLm1pbih1LDApO3JldHVybltwLm1pbih3LDApLHAubWF4KDAsbSldfTtmLm5vcm1hbGl6ZUtleT1rfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgwKTtmLmdldFRyYW5zbGF0b3I9ZnVuY3Rpb24obCl7bD1sLnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKTt2YXIgcD1sLl9fUGxvdHRhYmxlX0NsaWVudFRyYW5zbGF0b3I7bnVsbD09cCYmKHA9bmV3IHIobCksbC5fX1Bsb3R0YWJsZV9DbGllbnRUcmFuc2xhdG9yPXApO3JldHVybiBwfTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGwocCl7dGhpcy5fcm9vdEVsZW1lbnQ9cH1sLnByb3RvdHlwZS5jb21wdXRlUG9zaXRpb249ZnVuY3Rpb24ocCxtKXtwPXt4OnAseTptfTttPWsuTWF0aC5nZXRDdW11bGF0aXZlVHJhbnNmb3JtKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09bT9wOmsuTWF0aC5hcHBseVRyYW5zZm9ybShtLApwKX07bC5pc0V2ZW50SW5zaWRlPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIGsuRE9NLmNvbnRhaW5zKHAucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpLG0udGFyZ2V0KX07cmV0dXJuIGx9KCk7Zi5UcmFuc2xhdG9yPXJ9LGZ1bmN0aW9uKGQsZixoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGs9aCgxMjQpO2guZChmLCJlYXNlTGluZWFyIixmdW5jdGlvbigpe3JldHVybiBrLmF9KTt2YXIgcj1oKDEyNik7aC5kKGYsImVhc2VRdWFkIixmdW5jdGlvbigpe3JldHVybiByLmF9KTtoLmQoZiwiZWFzZVF1YWRJbiIsZnVuY3Rpb24oKXtyZXR1cm4gci5ifSk7aC5kKGYsImVhc2VRdWFkT3V0IixmdW5jdGlvbigpe3JldHVybiByLmN9KTtoLmQoZiwiZWFzZVF1YWRJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gci5hfSk7dmFyIGw9aCgxMjEpO2guZChmLCJlYXNlQ3ViaWMiLGZ1bmN0aW9uKCl7cmV0dXJuIGwuYX0pO2guZChmLCJlYXNlQ3ViaWNJbiIsCmZ1bmN0aW9uKCl7cmV0dXJuIGwuYn0pO2guZChmLCJlYXNlQ3ViaWNPdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIGwuY30pO2guZChmLCJlYXNlQ3ViaWNJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gbC5hfSk7dmFyIHA9aCgxMjUpO2guZChmLCJlYXNlUG9seSIsZnVuY3Rpb24oKXtyZXR1cm4gcC5hfSk7aC5kKGYsImVhc2VQb2x5SW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHAuYn0pO2guZChmLCJlYXNlUG9seU91dCIsZnVuY3Rpb24oKXtyZXR1cm4gcC5jfSk7aC5kKGYsImVhc2VQb2x5SW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIHAuYX0pO3ZhciBtPWgoMTI3KTtoLmQoZiwiZWFzZVNpbiIsZnVuY3Rpb24oKXtyZXR1cm4gbS5hfSk7aC5kKGYsImVhc2VTaW5JbiIsZnVuY3Rpb24oKXtyZXR1cm4gbS5ifSk7aC5kKGYsImVhc2VTaW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIG0uY30pO2guZChmLCJlYXNlU2luSW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIG0uYX0pO3ZhciBuPWgoMTIzKTtoLmQoZiwKImVhc2VFeHAiLGZ1bmN0aW9uKCl7cmV0dXJuIG4uYX0pO2guZChmLCJlYXNlRXhwSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIG4uYn0pO2guZChmLCJlYXNlRXhwT3V0IixmdW5jdGlvbigpe3JldHVybiBuLmN9KTtoLmQoZiwiZWFzZUV4cEluT3V0IixmdW5jdGlvbigpe3JldHVybiBuLmF9KTt2YXIgcT1oKDEyMCk7aC5kKGYsImVhc2VDaXJjbGUiLGZ1bmN0aW9uKCl7cmV0dXJuIHEuYX0pO2guZChmLCJlYXNlQ2lyY2xlSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHEuYn0pO2guZChmLCJlYXNlQ2lyY2xlT3V0IixmdW5jdGlvbigpe3JldHVybiBxLmN9KTtoLmQoZiwiZWFzZUNpcmNsZUluT3V0IixmdW5jdGlvbigpe3JldHVybiBxLmF9KTt2YXIgdT1oKDExOSk7aC5kKGYsImVhc2VCb3VuY2UiLGZ1bmN0aW9uKCl7cmV0dXJuIHUuYX0pO2guZChmLCJlYXNlQm91bmNlSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHUuYn0pO2guZChmLCJlYXNlQm91bmNlT3V0IixmdW5jdGlvbigpe3JldHVybiB1LmF9KTsKaC5kKGYsImVhc2VCb3VuY2VJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gdS5jfSk7dmFyIHc9aCgxMTgpO2guZChmLCJlYXNlQmFjayIsZnVuY3Rpb24oKXtyZXR1cm4gdy5hfSk7aC5kKGYsImVhc2VCYWNrSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHcuYn0pO2guZChmLCJlYXNlQmFja091dCIsZnVuY3Rpb24oKXtyZXR1cm4gdy5jfSk7aC5kKGYsImVhc2VCYWNrSW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIHcuYX0pO3ZhciBBPWgoMTIyKTtoLmQoZiwiZWFzZUVsYXN0aWMiLGZ1bmN0aW9uKCl7cmV0dXJuIEEuYX0pO2guZChmLCJlYXNlRWxhc3RpY0luIixmdW5jdGlvbigpe3JldHVybiBBLmJ9KTtoLmQoZiwiZWFzZUVsYXN0aWNPdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIEEuYX0pO2guZChmLCJlYXNlRWxhc3RpY0luT3V0IixmdW5jdGlvbigpe3JldHVybiBBLmN9KX0sZnVuY3Rpb24oZCxmLGgpe2guZChmLCJiIixmdW5jdGlvbigpe3JldHVybiBrfSk7aC5kKGYsImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KTsKaC5kKGYsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIGx9KTt2YXIgaz1mdW5jdGlvbiBuKG0pe2Z1bmN0aW9uIHEodSl7cmV0dXJuIHUqdSooKG0rMSkqdS1tKX1tPSttO3Eub3ZlcnNob290PW47cmV0dXJuIHF9KDEuNzAxNTgpLHI9ZnVuY3Rpb24gcShuKXtmdW5jdGlvbiB1KHcpe3JldHVybi0tdyp3KigobisxKSp3K24pKzF9bj0rbjt1Lm92ZXJzaG9vdD1xO3JldHVybiB1fSgxLjcwMTU4KSxsPWZ1bmN0aW9uIHUocSl7ZnVuY3Rpb24gdyhBKXtyZXR1cm4oMT4oQSo9Mik/QSpBKigocSsxKSpBLXEpOihBLT0yKSpBKigocSsxKSpBK3EpKzIpLzJ9cT0rcTt3Lm92ZXJzaG9vdD11O3JldHVybiB3fSgxLjcwMTU4KX0sZnVuY3Rpb24oZCxmKXtmdW5jdGlvbiBoKHkpe3JldHVybih5PSt5KTxrP0EqeSp5Onk8bD9BKih5LT1yKSp5K3A6eTxuP0EqKHktPW0pKnkrcTpBKih5LT11KSp5K3d9Zi5iPWZ1bmN0aW9uKHkpe3JldHVybiAxLWgoMS15KX07Zi5hPWg7Zi5jPWZ1bmN0aW9uKHkpe3JldHVybigxPj0KKHkqPTIpPzEtaCgxLXkpOmgoeS0xKSsxKS8yfTt2YXIgaz00LzExLHI9Ni8xMSxsPTgvMTEscD0uNzUsbT05LzExLG49MTAvMTEscT0uOTM3NSx1PTIxLzIyLHc9Ljk4NDM3NSxBPTEvay9rfSxmdW5jdGlvbihkLGYpe2YuYj1mdW5jdGlvbihoKXtyZXR1cm4gMS1NYXRoLnNxcnQoMS1oKmgpfTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIE1hdGguc3FydCgxLSAtLWgqaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpPzEtTWF0aC5zcXJ0KDEtaCpoKTpNYXRoLnNxcnQoMS0oaC09MikqaCkrMSkvMn19LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKGgpe3JldHVybiBoKmgqaH07Zi5jPWZ1bmN0aW9uKGgpe3JldHVybi0taCpoKmgrMX07Zi5hPWZ1bmN0aW9uKGgpe3JldHVybigxPj0oaCo9Mik/aCpoKmg6KGgtPTIpKmgqaCsyKS8yfX0sZnVuY3Rpb24oZCxmLGgpe2guZChmLCJiIixmdW5jdGlvbigpe3JldHVybiByfSk7aC5kKGYsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIGx9KTsKaC5kKGYsImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHB9KTt2YXIgaz0yKk1hdGguUEkscj1mdW5jdGlvbiB1KG4scSl7ZnVuY3Rpb24gdyh5KXtyZXR1cm4gbipNYXRoLnBvdygyLDEwKi0teSkqTWF0aC5zaW4oKEEteSkvcSl9dmFyIEE9TWF0aC5hc2luKDEvKG49TWF0aC5tYXgoMSxuKSkpKihxLz1rKTt3LmFtcGxpdHVkZT1mdW5jdGlvbih5KXtyZXR1cm4gdSh5LHEqayl9O3cucGVyaW9kPWZ1bmN0aW9uKHkpe3JldHVybiB1KG4seSl9O3JldHVybiB3fSgxLC4zKSxsPWZ1bmN0aW9uIHcocSx1KXtmdW5jdGlvbiBBKHgpe3JldHVybiAxLXEqTWF0aC5wb3coMiwtMTAqKHg9K3gpKSpNYXRoLnNpbigoeCt5KS91KX12YXIgeT1NYXRoLmFzaW4oMS8ocT1NYXRoLm1heCgxLHEpKSkqKHUvPWspO0EuYW1wbGl0dWRlPWZ1bmN0aW9uKHgpe3JldHVybiB3KHgsdSprKX07QS5wZXJpb2Q9ZnVuY3Rpb24oeCl7cmV0dXJuIHcocSx4KX07cmV0dXJuIEF9KDEsLjMpLHA9ZnVuY3Rpb24gQSh1LHcpe2Z1bmN0aW9uIHkoQyl7cmV0dXJuKDA+CihDPTIqQy0xKT91Kk1hdGgucG93KDIsMTAqQykqTWF0aC5zaW4oKHgtQykvdyk6Mi11Kk1hdGgucG93KDIsLTEwKkMpKk1hdGguc2luKCh4K0MpL3cpKS8yfXZhciB4PU1hdGguYXNpbigxLyh1PU1hdGgubWF4KDEsdSkpKSoody89ayk7eS5hbXBsaXR1ZGU9ZnVuY3Rpb24oQyl7cmV0dXJuIEEoQyx3KmspfTt5LnBlcmlvZD1mdW5jdGlvbihDKXtyZXR1cm4gQSh1LEMpfTtyZXR1cm4geX0oMSwuMyl9LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKGgpe3JldHVybiBNYXRoLnBvdygyLDEwKmgtMTApfTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIDEtTWF0aC5wb3coMiwtMTAqaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpP01hdGgucG93KDIsMTAqaC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKmgpKS8yfX0sZnVuY3Rpb24oZCxmKXtmLmE9ZnVuY3Rpb24oaCl7cmV0dXJuK2h9fSxmdW5jdGlvbihkLGYsaCl7aC5kKGYsImIiLGZ1bmN0aW9uKCl7cmV0dXJuIGt9KTtoLmQoZiwKImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KTtoLmQoZiwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gbH0pO3ZhciBrPWZ1bmN0aW9uIG4obSl7ZnVuY3Rpb24gcSh1KXtyZXR1cm4gTWF0aC5wb3codSxtKX1tPSttO3EuZXhwb25lbnQ9bjtyZXR1cm4gcX0oMykscj1mdW5jdGlvbiBxKG4pe2Z1bmN0aW9uIHUodyl7cmV0dXJuIDEtTWF0aC5wb3coMS13LG4pfW49K247dS5leHBvbmVudD1xO3JldHVybiB1fSgzKSxsPWZ1bmN0aW9uIHUocSl7ZnVuY3Rpb24gdyhBKXtyZXR1cm4oMT49KEEqPTIpP01hdGgucG93KEEscSk6Mi1NYXRoLnBvdygyLUEscSkpLzJ9cT0rcTt3LmV4cG9uZW50PXU7cmV0dXJuIHd9KDMpfSxmdW5jdGlvbihkLGYpe2YuYj1mdW5jdGlvbihoKXtyZXR1cm4gaCpofTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIGgqKDItaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpP2gqaDotLWgqKDItaCkrMSkvMn19LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKHIpe3JldHVybiAxLQpNYXRoLmNvcyhyKmspfTtmLmM9ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc2luKHIqayl9O2YuYT1mdW5jdGlvbihyKXtyZXR1cm4oMS1NYXRoLmNvcyhoKnIpKS8yfTt2YXIgaD1NYXRoLlBJLGs9aC8yfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhsKXtyZXR1cm4hMD09PXIobCkmJiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGwpfXZhciByPWgoMTI5KTtkLmV4cG9ydHM9ZnVuY3Rpb24obCl7aWYoITE9PT1rKGwpKXJldHVybiExO2w9bC5jb25zdHJ1Y3RvcjtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGwpcmV0dXJuITE7bD1sLnByb3RvdHlwZTtyZXR1cm4hMT09PWsobCl8fCExPT09bC5oYXNPd25Qcm9wZXJ0eSgiaXNQcm90b3R5cGVPZiIpPyExOiEwfX0sZnVuY3Rpb24oZCl7ZC5leHBvcnRzPWZ1bmN0aW9uKGYpe3JldHVybiBudWxsIT1mJiYib2JqZWN0Ij09PXR5cGVvZiBmJiYhMT09PUFycmF5LmlzQXJyYXkoZil9fSxmdW5jdGlvbihkLApmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dm9pZCAwPT09ciYmKHI9MTApO3ZvaWQgMD09PWwmJihsPXt9KTt2YXIgcD10aGlzO3RoaXMuY3R4PWs7dGhpcy5saW5lSGVpZ2h0PXI7dGhpcy5zdHlsZT1sO3RoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obSl7cC5jdHguZm9udD1wLnN0eWxlLmZvbnQ7cmV0dXJue3dpZHRoOnAuY3R4Lm1lYXN1cmVUZXh0KG0pLndpZHRoLGhlaWdodDpwLmxpbmVIZWlnaHR9fX07dGhpcy5jcmVhdGVQZW49ZnVuY3Rpb24obSxuLHEpe251bGw9PXEmJihxPXAuY3R4KTtxLnNhdmUoKTtxLnRyYW5zbGF0ZShuLnRyYW5zbGF0ZVswXSxuLnRyYW5zbGF0ZVsxXSk7cS5yb3RhdGUobi5yb3RhdGUqTWF0aC5QSS8xODApO3JldHVybiBwLmNyZWF0ZUNhbnZhc1BlbihxKX07dm9pZCAwPT09dGhpcy5zdHlsZS5maWxsJiYodGhpcy5zdHlsZS5maWxsPSIjNDQ0Iil9aC5wcm90b3R5cGUuY3JlYXRlQ2FudmFzUGVuPWZ1bmN0aW9uKGspe3ZhciByPQp0aGlzO3JldHVybntkZXN0cm95OmZ1bmN0aW9uKCl7ay5yZXN0b3JlKCl9LHdyaXRlOmZ1bmN0aW9uKGwscCxtLG4pe2sudGV4dEFsaWduPXA7bnVsbCE9ci5zdHlsZS5mb250JiYoay5mb250PXIuc3R5bGUuZm9udCk7bnVsbCE9ci5zdHlsZS5maWxsJiYoay5maWxsU3R5bGU9ci5zdHlsZS5maWxsLGsuZmlsbFRleHQobCxtLG4pKTtudWxsIT1yLnN0eWxlLnN0cm9rZSYmKGsuc3Ryb2tlU3R5bGU9ci5zdHlsZS5maWxsLGsuc3Ryb2tlVGV4dChsLG0sbikpfX19O3JldHVybiBofSgpO2YuQ2FudmFzQ29udGV4dD1kfSxmdW5jdGlvbihkLGYpe3ZhciBoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaygpe31rLmFwcGVuZD1mdW5jdGlvbihyLGwpe2Zvcih2YXIgcD1bXSxtPTI7bTxhcmd1bWVudHMubGVuZ3RoO20rKylwW20tMl09YXJndW1lbnRzW21dO3A9ay5jcmVhdGUuYXBwbHkoayxbbF0uY29uY2F0KHApKTtyLmFwcGVuZENoaWxkKHApO3JldHVybiBwfTtrLmNyZWF0ZT1mdW5jdGlvbihyKXtmb3IodmFyIGw9CltdLHA9MTtwPGFyZ3VtZW50cy5sZW5ndGg7cCsrKWxbcC0xXT1hcmd1bWVudHNbcF07cD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoay5TVkdfTlMscik7ay5hZGRDbGFzc2VzLmFwcGx5KGssW3BdLmNvbmNhdChsKSk7cmV0dXJuIHB9O2suYWRkQ2xhc3Nlcz1mdW5jdGlvbihyKXtmb3IodmFyIGw9W10scD0xO3A8YXJndW1lbnRzLmxlbmd0aDtwKyspbFtwLTFdPWFyZ3VtZW50c1twXTtsPWwuZmlsdGVyKGZ1bmN0aW9uKG0pe3JldHVybiBudWxsIT1tfSk7bnVsbCE9ci5jbGFzc0xpc3Q/bC5mb3JFYWNoKGZ1bmN0aW9uKG0pe3IuY2xhc3NMaXN0LmFkZChtKX0pOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsbC5qb2luKCIgIikpfTtrLmdldERpbWVuc2lvbnM9ZnVuY3Rpb24ocil7aWYoci5nZXRCQm94KXRyeXt2YXIgbD1yLmdldEJCb3goKTtyZXR1cm57d2lkdGg6bC53aWR0aCxoZWlnaHQ6bC5oZWlnaHR9fWNhdGNoKHApe31yZXR1cm57aGVpZ2h0OjAsd2lkdGg6MH19O3JldHVybiBrfSgpOwpoLlNWR19OUz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2YuU3ZnVXRpbHM9aDtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gayhyLGwscCl7dm9pZCAwPT09cCYmKHA9ITEpO3ZhciBtPXRoaXM7dGhpcy5lbGVtZW50PXI7dGhpcy5jbGFzc05hbWU9bDt0aGlzLmFkZFRpdGxlRWxlbWVudD1wO3RoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXt2YXIgbj1tLmdldFRleHRFbGVtZW50cyhtLmVsZW1lbnQpLHE9bi5wYXJlbnRFbGVtZW50LHU9bi5jb250YWluZXJFbGVtZW50LHc9bi50ZXh0RWxlbWVudDtyZXR1cm4gZnVuY3Rpb24oQSl7cS5hcHBlbmRDaGlsZCh1KTt3LnRleHRDb250ZW50PUE7QT1oLmdldERpbWVuc2lvbnModyk7cS5yZW1vdmVDaGlsZCh1KTtyZXR1cm4gQX19O3RoaXMuY3JlYXRlUGVuPWZ1bmN0aW9uKG4scSx1KXtudWxsPT11JiYodT1tLmVsZW1lbnQpO3U9aC5hcHBlbmQodSwiZyIsInRleHQtY29udGFpbmVyIixtLmNsYXNzTmFtZSk7bS5hZGRUaXRsZUVsZW1lbnQmJgooaC5hcHBlbmQodSwidGl0bGUiKS50ZXh0Q29udGVudD1uLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsbikpO249aC5hcHBlbmQodSwiZyIsInRleHQtYXJlYSIpO24uc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitxLnRyYW5zbGF0ZVswXSsiLCIrcS50cmFuc2xhdGVbMV0rIilyb3RhdGUoIisocS5yb3RhdGUrIikiKSk7cmV0dXJuIG0uY3JlYXRlU3ZnTGluZVBlbihuKX19ay5wcm90b3R5cGUuc2V0QWRkVGl0bGVFbGVtZW50PWZ1bmN0aW9uKHIpe3RoaXMuYWRkVGl0bGVFbGVtZW50PXJ9O2sucHJvdG90eXBlLmNyZWF0ZVN2Z0xpbmVQZW49ZnVuY3Rpb24ocil7cmV0dXJue3dyaXRlOmZ1bmN0aW9uKGwscCxtLG4pe3ZhciBxPWguYXBwZW5kKHIsInRleHQiLCJ0ZXh0LWxpbmUiKTtxLnRleHRDb250ZW50PWw7cS5zZXRBdHRyaWJ1dGUoInRleHQtYW5jaG9yIixwKTtxLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbSsiLCIrbisiKSIpO3Euc2V0QXR0cmlidXRlKCJ5IiwKIi0wLjI1ZW0iKX19fTtrLnByb3RvdHlwZS5nZXRUZXh0RWxlbWVudHM9ZnVuY3Rpb24ocil7aWYoInRleHQiPT09ci50YWdOYW1lKXt2YXIgbD1yLnBhcmVudEVsZW1lbnQ7bnVsbD09bCYmKGw9ci5wYXJlbnROb2RlKTtsLnJlbW92ZUNoaWxkKHIpO3JldHVybntjb250YWluZXJFbGVtZW50OnIscGFyZW50RWxlbWVudDpsLHRleHRFbGVtZW50OnJ9fXZhciBwPXIucXVlcnlTZWxlY3RvcigidGV4dCIpO2lmKG51bGwhPXApcmV0dXJuIGw9ci5wYXJlbnRFbGVtZW50LG51bGw9PWwmJihsPXIucGFyZW50Tm9kZSksbC5yZW1vdmVDaGlsZChyKSx7Y29udGFpbmVyRWxlbWVudDpyLHBhcmVudEVsZW1lbnQ6bCx0ZXh0RWxlbWVudDpwfTtsPWguY3JlYXRlKCJ0ZXh0Iix0aGlzLmNsYXNzTmFtZSk7cmV0dXJue2NvbnRhaW5lckVsZW1lbnQ6bCxwYXJlbnRFbGVtZW50OnIsdGV4dEVsZW1lbnQ6bH19O3JldHVybiBrfSgpO2YuU3ZnQ29udGV4dD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9CnRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMjEpLGw9aCgzNik7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKG4pe3ZhciBxPXAuY2FsbCh0aGlzLG4pfHx0aGlzO3EuZGltQ2FjaGU9bmV3IHIuQ2FjaGUoZnVuY3Rpb24odSl7cmV0dXJuIHEuX21lYXN1cmVOb3RGcm9tQ2FjaGUodSl9KTtyZXR1cm4gcX1rKG0scCk7bS5wcm90b3R5cGUuX21lYXN1cmVOb3RGcm9tQ2FjaGU9ZnVuY3Rpb24obil7cmV0dXJuIHAucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLG4pfTttLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKG4pe3ZvaWQgMD09PW4mJihuPWwuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCk7CnJldHVybiB0aGlzLmRpbUNhY2hlLmdldChuKX07bS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmRpbUNhY2hlLmNsZWFyKCk7cC5wcm90b3R5cGUucmVzZXQuY2FsbCh0aGlzKX07cmV0dXJuIG19KGgoNjApLkNhY2hlQ2hhcmFjdGVyTWVhc3VyZXIpO2YuQ2FjaGVNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCg1OSkscj1oKDYyKSxsPWgoNjQpLHA9aCg2Nik7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIG0obil7dGhpcy5jb250ZXh0PW47dGhpcy5tZWFzdXJlcj1uZXcgci5DYWNoZU1lYXN1cmVyKHRoaXMuY29udGV4dCk7dGhpcy53cmFwcGVyPW5ldyBsLldyYXBwZXI7dGhpcy53cml0ZXI9bmV3IHAuV3JpdGVyKHRoaXMubWVhc3VyZXIsdGhpcy5jb250ZXh0LHRoaXMud3JhcHBlcil9bS5zdmc9ZnVuY3Rpb24obixxLHUpe3JldHVybiBuZXcgbShuZXcgay5TdmdDb250ZXh0KG4scSx1KSl9O20uY2FudmFzPWZ1bmN0aW9uKG4scSx1KXtyZXR1cm4gbmV3IG0obmV3IGsuQ2FudmFzQ29udGV4dChuLApxLHUpKX07bS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24obixxLHUsdyxBKXt0aGlzLndyaXRlci53cml0ZShuLHEsdSx3LEEpfTttLnByb3RvdHlwZS5jbGVhck1lYXN1cmVyQ2FjaGU9ZnVuY3Rpb24oKXt0aGlzLm1lYXN1cmVyLnJlc2V0KCl9O3JldHVybiBtfSgpO2YuVHlwZXNldHRlcj1kfSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGspe3RoaXMuY2FjaGU9e307dGhpcy5jb21wdXRlPWt9aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3RoaXMuY2FjaGUuaGFzT3duUHJvcGVydHkoayl8fCh0aGlzLmNhY2hlW2tdPXRoaXMuY29tcHV0ZShrKSk7cmV0dXJuIHRoaXMuY2FjaGVba119O2gucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5jYWNoZT17fTtyZXR1cm4gdGhpc307cmV0dXJuIGh9KCk7Zi5DYWNoZT1kfSxmdW5jdGlvbihkLGYpe2YuTWV0aG9kcz1mdW5jdGlvbigpe2Z1bmN0aW9uIGgoKXt9aC5hcnJheUVxPWZ1bmN0aW9uKGsscil7aWYobnVsbD09Cmt8fG51bGw9PXIpcmV0dXJuIGs9PT1yO2lmKGsubGVuZ3RoIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBsPTA7bDxrLmxlbmd0aDtsKyspaWYoa1tsXSE9PXJbbF0pcmV0dXJuITE7cmV0dXJuITB9O2gub2JqRXE9ZnVuY3Rpb24oayxyKXtpZihudWxsPT1rfHxudWxsPT1yKXJldHVybiBrPT09cjt2YXIgbD1PYmplY3Qua2V5cyhrKS5zb3J0KCkscD1PYmplY3Qua2V5cyhyKS5zb3J0KCksbT1sLm1hcChmdW5jdGlvbihxKXtyZXR1cm4ga1txXX0pLG49cC5tYXAoZnVuY3Rpb24ocSl7cmV0dXJuIHJbcV19KTtyZXR1cm4gaC5hcnJheUVxKGwscCkmJmguYXJyYXlFcShtLG4pfTtoLnN0cmljdEVxPWZ1bmN0aW9uKGsscil7cmV0dXJuIGs9PT1yfTtoLmRlZmF1bHRzPWZ1bmN0aW9uKGspe2Zvcih2YXIgcj1bXSxsPTE7bDxhcmd1bWVudHMubGVuZ3RoO2wrKylyW2wtMV09YXJndW1lbnRzW2xdO2lmKG51bGw9PWspdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7CnZhciBwPU9iamVjdChrKTtyLmZvckVhY2goZnVuY3Rpb24obSl7aWYobnVsbCE9bSlmb3IodmFyIG4gaW4gbSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobSxuKSYmKHBbbl09bVtuXSl9KTtyZXR1cm4gcH07cmV0dXJuIGh9KCl9LGZ1bmN0aW9uKGQsZil7Zi5TdHJpbmdNZXRob2RzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe31oLmNvbWJpbmVXaGl0ZXNwYWNlPWZ1bmN0aW9uKGspe3JldHVybiBrLnJlcGxhY2UoL1sgXHRdKy9nLCIgIil9O2guaXNOb3RFbXB0eVN0cmluZz1mdW5jdGlvbihrKXtyZXR1cm4gayYmIiIhPT1rLnRyaW0oKX07aC50cmltU3RhcnQ9ZnVuY3Rpb24oayxyKXtpZighaylyZXR1cm4gaztrPWsuc3BsaXQoIiIpO3ZhciBsPXI/ZnVuY3Rpb24ocCl7cmV0dXJuIHAuc3BsaXQocikuc29tZShoLmlzTm90RW1wdHlTdHJpbmcpfTpoLmlzTm90RW1wdHlTdHJpbmc7cmV0dXJuIGsucmVkdWNlKGZ1bmN0aW9uKHAsbSl7cmV0dXJuIGwocCttKT8KcCttOnB9LCIiKX07aC50cmltRW5kPWZ1bmN0aW9uKGsscil7aWYoIWspcmV0dXJuIGs7az1rLnNwbGl0KCIiKTtrLnJldmVyc2UoKTtrPWgudHJpbVN0YXJ0KGsuam9pbigiIikscikuc3BsaXQoIiIpO2sucmV2ZXJzZSgpO3JldHVybiBrLmpvaW4oIiIpfTtyZXR1cm4gaH0oKX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe3RoaXMuV29yZERpdmlkZXJSZWdFeHA9L1xXLzt0aGlzLldoaXRlc3BhY2VSZWdFeHA9L1xzL31oLnByb3RvdHlwZS50b2tlbml6ZT1mdW5jdGlvbihrKXt2YXIgcj10aGlzO3JldHVybiBrLnNwbGl0KCIiKS5yZWR1Y2UoZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5zbGljZSgwLC0xKS5jb25jYXQoci5zaG91bGRDcmVhdGVOZXdUb2tlbihsW2wubGVuZ3RoLTFdLHApKX0sWyIiXSl9O2gucHJvdG90eXBlLnNob3VsZENyZWF0ZU5ld1Rva2VuPWZ1bmN0aW9uKGsscil7aWYoIWspcmV0dXJuW3JdO3ZhciBsPWtbay5sZW5ndGgtMV07cmV0dXJuIHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KGwpJiYKdGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3Qocik/W2srcl06dGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3QobCl8fHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KHIpP1trLHJdOnRoaXMuV29yZERpdmlkZXJSZWdFeHAudGVzdChsKXx8dGhpcy5Xb3JkRGl2aWRlclJlZ0V4cC50ZXN0KHIpP2w9PT1yP1trK3JdOltrLHJdOltrK3JdfTtyZXR1cm4gaH0oKTtmLlRva2VuaXplcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3JldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31rKGwscik7bC5wcm90b3R5cGUud3JhcD0KZnVuY3Rpb24ocCxtLG4scSl7ZnVuY3Rpb24gdShEKXtyZXR1cm4gci5wcm90b3R5cGUud3JhcC5jYWxsKHcscCxtLEQscSl9dmFyIHc9dGhpczt2b2lkIDA9PT1xJiYocT1JbmZpbml0eSk7aWYoMTxwLnNwbGl0KCJcbiIpLmxlbmd0aCl0aHJvdyBFcnJvcigiU2luZ2xlTGluZVdyYXBwZXIgaXMgZGVzaWduZWQgdG8gd29yayBvbmx5IG9uIHNpbmdsZSBsaW5lIik7dmFyIEE9dShuKTtpZigyPkEubm9MaW5lcylyZXR1cm4gQTtmb3IodmFyIHk9MCx4PTA7eDxsLk5PX1dSQVBfSVRFUkFUSU9OUyYmbj55OysreCl7dmFyIEM9KG4reSkvMixHPXUoQyk7dGhpcy5hcmVTYW1lUmVzdWx0cyhBLEcpPyhuPUMsQT1HKTp5PUN9cmV0dXJuIEF9O2wucHJvdG90eXBlLmFyZVNhbWVSZXN1bHRzPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIHAubm9MaW5lcz09PW0ubm9MaW5lcyYmcC50cnVuY2F0ZWRUZXh0PT09bS50cnVuY2F0ZWRUZXh0fTtyZXR1cm4gbH0oaCg2NSkuV3JhcHBlcik7ZC5OT19XUkFQX0lURVJBVElPTlM9CjU7Zi5TaW5nbGVMaW5lV3JhcHBlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgyMSkscj17dGV4dFJvdGF0aW9uOjAsdGV4dFNoZWFyOjAseEFsaWduOiJsZWZ0Iix5QWxpZ246InRvcCJ9O2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKHAsbSxuKXt0aGlzLl9tZWFzdXJlcj1wO3RoaXMuX3BlbkZhY3Rvcnk9bTt0aGlzLl93cmFwcGVyPW59bC5wcm90b3R5cGUubWVhc3VyZXI9ZnVuY3Rpb24ocCl7dGhpcy5fbWVhc3VyZXI9cDtyZXR1cm4gdGhpc307bC5wcm90b3R5cGUud3JhcHBlcj1mdW5jdGlvbihwKXt0aGlzLl93cmFwcGVyPXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnBlbkZhY3Rvcnk9ZnVuY3Rpb24ocCl7dGhpcy5fcGVuRmFjdG9yeT1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihwLG0sbixxLHUpe3ZvaWQgMD09PXEmJihxPXt9KTtxPWsuTWV0aG9kcy5kZWZhdWx0cyh7fSxyLHEpO2lmKC0xPT09bC5TdXBwb3J0ZWRSb3RhdGlvbi5pbmRleE9mKHEudGV4dFJvdGF0aW9uKSl0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgcm90YXRpb24gLSAiKwpxLnRleHRSb3RhdGlvbisiLiBTdXBwb3J0ZWQgcm90YXRpb25zIGFyZSAiK2wuU3VwcG9ydGVkUm90YXRpb24uam9pbigiLCAiKSk7aWYobnVsbCE9cS50ZXh0U2hlYXImJi04MD5xLnRleHRTaGVhcnx8ODA8cS50ZXh0U2hlYXIpdGhyb3cgRXJyb3IoInVuc3VwcG9ydGVkIHNoZWFyIGFuZ2xlIC0gIitxLnRleHRTaGVhcisiLiBNdXN0IGJlIGJldHdlZW4gLTgwIGFuZCA4MCIpO3ZhciB3PTQ1PE1hdGguYWJzKE1hdGguYWJzKHEudGV4dFJvdGF0aW9uKS05MCksQT13P206bix5PXc/bjptLHg9cS50ZXh0U2hlYXIsQz14Kk1hdGguUEkvMTgwO3c9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt2YXIgRz13Kk1hdGgudGFuKEMpO0E9QS9NYXRoLmNvcyhDKS1NYXRoLmFicyhHKTt2YXIgRD15Kk1hdGguY29zKEMpO3k9ay5TdHJpbmdNZXRob2RzLmNvbWJpbmVXaGl0ZXNwYWNlKHApO3k9KHRoaXMuX3dyYXBwZXI/dGhpcy5fd3JhcHBlci53cmFwKHksdGhpcy5fbWVhc3VyZXIsCkEsRCkud3JhcHBlZFRleHQ6eSkuc3BsaXQoIlxuIik7Qz1sLlhPZmZzZXRGYWN0b3JbcS54QWxpZ25dKkEqTWF0aC5zaW4oQyktbC5ZT2Zmc2V0RmFjdG9yW3EueUFsaWduXSooRC15Lmxlbmd0aCp3KTt4PXEudGV4dFJvdGF0aW9uK3g7c3dpdGNoKHEudGV4dFJvdGF0aW9uKXtjYXNlIDkwOm09W20rQywwXTticmVhaztjYXNlIC05MDptPVstQyxuXTticmVhaztjYXNlIDE4MDptPVttLG4rQ107YnJlYWs7ZGVmYXVsdDptPVswLC1DXX1wPXRoaXMuX3BlbkZhY3RvcnkuY3JlYXRlUGVuKHAse3RyYW5zbGF0ZTptLHJvdGF0ZTp4fSx1KTt0aGlzLndyaXRlTGluZXMoeSxwLEEsdyxHLHEueEFsaWduKTtudWxsIT1wLmRlc3Ryb3kmJnAuZGVzdHJveSgpfTtsLnByb3RvdHlwZS53cml0ZUxpbmVzPWZ1bmN0aW9uKHAsbSxuLHEsdSx3KXtwLmZvckVhY2goZnVuY3Rpb24oQSx5KXttLndyaXRlKEEsbC5BbmNob3JDb252ZXJ0ZXJbd10sKDA8dT8oeSsxKSp1OnkqdSkrbipsLlhPZmZzZXRGYWN0b3Jbd10sCih5KzEpKnEpfSl9O3JldHVybiBsfSgpO2QuU3VwcG9ydGVkUm90YXRpb249Wy05MCwwLDE4MCw5MF07ZC5BbmNob3JDb252ZXJ0ZXI9e2NlbnRlcjoibWlkZGxlIixsZWZ0OiJzdGFydCIscmlnaHQ6ImVuZCJ9O2QuWE9mZnNldEZhY3Rvcj17Y2VudGVyOi41LGxlZnQ6MCxyaWdodDoxfTtkLllPZmZzZXRGYWN0b3I9e2JvdHRvbToxLGNlbnRlcjouNSx0b3A6MH07Zi5Xcml0ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9aCg2OSk7ZD1oKDcpO2YuQW5pbWF0b3JzPWQ7ZD1oKDY3KTtmLkF4ZXM9ZDtkPWgoMzcpO2YuQ29tcG9uZW50cz1kO2Q9aCgyMyk7Zi5Db25maWdzPWQ7ZD1oKDgpO2YuRm9ybWF0dGVycz1kO2Q9aCgzMCk7Zi5SZW5kZXJDb250cm9sbGVyPWQ7ZD1oKDM5KTtmLlJlbmRlclBvbGljaWVzPWQ7ZD1oKDMxKTtmLlN5bWJvbEZhY3Rvcmllcz1kO2Q9aCgxMyk7Zi5EaXNwYXRjaGVycz0KZDtkPWgoMTQpO2YuRHJhd2Vycz1kO2Q9aCgyNSk7Zi5JbnRlcmFjdGlvbnM9ZDtkPWgoMTkpO2YuUGxvdHM9ZDtkPWgoMyk7Zi5TY2FsZXM9ZDtkPWgoMCk7Zi5VdGlscz1kO2soaCgyMikpO2Q9aCgyOCk7Zi5UaW1lSW50ZXJ2YWw9ZC5UaW1lSW50ZXJ2YWw7ayhoKDQpKTtrKGgoMjkpKTtrKGgoMzgpKTtkPWgoNjgpO2YudmVyc2lvbj1kLnZlcnNpb247ayhoKDI0KSk7ayhoKDYpKTtrKGgoMTUpKTtrKGgoNDApKTtrKGgoMTYpKTtrKGgoMikpO2soaCgxMSkpO2soaCgxNykpfV0pfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotY2hhcnQtaGVscGVycy9wbG90dGFibGUtaW50ZXJhY3Rpb25zLmpzCnZhciBzZjsKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQobSl7Y29uc3Qgbj1bXTtmb3IoO20mJm0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudDspaWYobi5wdXNoKG0pLG0uYXNzaWduZWRTbG90KW09bS5hc3NpZ25lZFNsb3Q7ZWxzZSBpZihtLnBhcmVudEVsZW1lbnQpbT1tLnBhcmVudEVsZW1lbnQ7ZWxzZXtjb25zdCBxPW0ucGFyZW50Tm9kZTttPXEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P3EuaG9zdDpxIT09bT9xOm51bGx9cmV0dXJuIG59ZnVuY3Rpb24gZihtKXt2YXIgbj1kKG0pO209aDtsZXQgcT1udWxsO2Zvcihjb25zdCB3IG9mIG4pe249UGxvdHRhYmxlLlV0aWxzLkRPTS5nZXRFbGVtZW50VHJhbnNmb3JtKHcpO2lmKG51bGwhPW4pe3ZhciB1PXcuY2xpZW50V2lkdGgvMjtjb25zdCBBPXcuY2xpZW50SGVpZ2h0LzI7bT1QbG90dGFibGUuVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShtLFt1LEFdKTttPVBsb3R0YWJsZS5VdGlscy5NYXRoLm11bHRpcGx5TWF0cml4KG0sUGxvdHRhYmxlLlV0aWxzLk1hdGguaW52ZXJ0TWF0cml4KG4pKTsKbT1QbG90dGFibGUuVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShtLFstdSwtQV0pfW49dy5zY3JvbGxMZWZ0O3U9dy5zY3JvbGxUb3A7aWYobnVsbD09PXF8fHc9PT1xKW4tPXcub2Zmc2V0TGVmdCt3LmNsaWVudExlZnQsdS09dy5vZmZzZXRUb3Ardy5jbGllbnRUb3AscT13Lm9mZnNldFBhcmVudDttPVBsb3R0YWJsZS5VdGlscy5NYXRoLm11bHRpcGx5VHJhbnNsYXRlKG0sW24sdV0pfXJldHVybiBtfWNvbnN0IGg9WzEsMCwwLDEsMCwwXTtjbGFzcyBrIGV4dGVuZHMgUGxvdHRhYmxlLlV0aWxzLlRyYW5zbGF0b3J7Y29tcHV0ZVBvc2l0aW9uKG0sbil7bT17eDptLHk6bn07bj1mKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09bj9tOlBsb3R0YWJsZS5VdGlscy5NYXRoLmFwcGx5VHJhbnNmb3JtKG4sbSl9fWNsYXNzIHIgZXh0ZW5kcyBQbG90dGFibGUuRGlzcGF0Y2hlcnMuTW91c2V7Y29uc3RydWN0b3IobSl7c3VwZXIobSk7dGhpcy5fZXZlbnRUYXJnZXQ9bS5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCk7CnRoaXMuX3RyYW5zbGF0b3I9bmV3IGsobS5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCkpfXN0YXRpYyBnZXREaXNwYXRjaGVyKG0pe2NvbnN0IG49bS5yb290KCkucm9vdEVsZW1lbnQoKTtsZXQgcT1uW3IuX0RJU1BBVENIRVJfS0VZXTtxfHwocT1uZXcgcihtKSxuW3IuX0RJU1BBVENIRVJfS0VZXT1xKTtyZXR1cm4gcX19Y2xhc3MgbCBleHRlbmRzIFBsb3R0YWJsZS5EaXNwYXRjaGVycy5Ub3VjaHtjb25zdHJ1Y3RvcihtKXtzdXBlcihtKTt0aGlzLl9ldmVudFRhcmdldD1tLnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKTt0aGlzLl90cmFuc2xhdG9yPW5ldyBrKG0ucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpKX1zdGF0aWMgZ2V0RGlzcGF0Y2hlcihtKXtjb25zdCBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCk7bGV0IHE9bltsLl9ESVNQQVRDSEVSX0tFWV07cXx8KHE9bmV3IGwobSksbltsLl9ESVNQQVRDSEVSX0tFWV09cSk7cmV0dXJuIHF9fVBsb3R0YWJsZS5JbnRlcmFjdGlvbi5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PQpmdW5jdGlvbihtKXtyZXR1cm4gMDw9bS54JiYwPD1tLnkmJm0ueDx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJm0ueTx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLmhlaWdodCgpfTtjbGFzcyBwIGV4dGVuZHMgUGxvdHRhYmxlLkludGVyYWN0aW9ucy5Qb2ludGVye19hbmNob3IoKXt0aGlzLl9pc0FuY2hvcmVkPSEwO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1yLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKX19Yi5Qb2ludGVySW50ZXJhY3Rpb249cH0pKHNmfHwoc2Y9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1jaGFydC1oZWxwZXJzL3Z6LWNoYXJ0LWhlbHBlcnMuanMKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXtsZXQgcj1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7ci50aWNrR2VuZXJhdG9yKCk7bGV0IGw9bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWMociwiYm90dG9tIik7bC5mb3JtYXR0ZXIoYi5zdGVwRm9ybWF0dGVyKTtyZXR1cm57c2NhbGU6cixheGlzOmwsYWNjZXNzb3I6cD0+cC5zdGVwfX1mdW5jdGlvbiBmKCl7bGV0IHI9bmV3IFBsb3R0YWJsZS5TY2FsZXMuVGltZTtyZXR1cm57c2NhbGU6cixheGlzOm5ldyBQbG90dGFibGUuQXhlcy5UaW1lKHIsImJvdHRvbSIpLGFjY2Vzc29yOmw9Pmwud2FsbF90aW1lfX1mdW5jdGlvbiBoKCl7bGV0IHI9bmV3IFBsb3R0YWJsZS5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTpyLGF4aXM6bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWMociwiYm90dG9tIiksYWNjZXNzb3I6Yi5yZWxhdGl2ZUFjY2Vzc29yfX1iLlNZTUJPTFNfTElTVD1be2NoYXJhY3RlcjoiXHUyNWZjIixtZXRob2Q6UGxvdHRhYmxlLlN5bWJvbEZhY3Rvcmllcy5zcXVhcmV9LAp7Y2hhcmFjdGVyOiJcdTI1YzYiLG1ldGhvZDpQbG90dGFibGUuU3ltYm9sRmFjdG9yaWVzLmRpYW1vbmR9LHtjaGFyYWN0ZXI6Ilx1MjViMiIsbWV0aG9kOlBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMudHJpYW5nbGV9LHtjaGFyYWN0ZXI6Ilx1MjYwNSIsbWV0aG9kOlBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMuc3Rhcn0se2NoYXJhY3RlcjoiXHUyNzFhIixtZXRob2Q6UGxvdHRhYmxlLlN5bWJvbEZhY3Rvcmllcy5jcm9zc31dO2xldCBrOyhmdW5jdGlvbihyKXtyLlNURVA9InN0ZXAiO3IuUkVMQVRJVkU9InJlbGF0aXZlIjtyLldBTExfVElNRT0id2FsbF90aW1lIn0pKGs9Yi5YVHlwZXx8KGIuWFR5cGU9e30pKTtiLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OPTQ7Yi5TVEVQX0ZPUk1BVFRFUl9QUkVDSVNJT049NDtiLllfQVhJU19GT1JNQVRURVJfUFJFQ0lTSU9OPTM7Yi5UT09MVElQX1lfUElYRUxfT0ZGU0VUPTIwO2IuVE9PTFRJUF9DSVJDTEVfU0laRT00O2IuTkFOX1NZTUJPTF9TSVpFPQo2O2IubXVsdGlzY2FsZUZvcm1hdHRlcj1mdW5jdGlvbihyKXtyZXR1cm4gbD0+e2xldCBwPU1hdGguYWJzKGwpOzFFLTE1PnAmJihwPTApO3JldHVybigxRTQ8PXA/ZDMuZm9ybWF0KCIuIityKyJ+ZSIpOjA8cCYmLjAxPnA/ZDMuZm9ybWF0KCIuIityKyJ+ZSIpOmQzLmZvcm1hdCgiLiIrcisifmciKSkobCl9fTtiLmNvbXB1dGVEb21haW49ZnVuY3Rpb24ocixsKXtyPXIuZmlsdGVyKG49PmlzRmluaXRlKG4pKTtpZigwPT09ci5sZW5ndGgpcmV0dXJuWy0uMSwxLjFdO2w/KHI9Xy5zb3J0QnkociksbD1kMy5xdWFudGlsZShyLC4wNSkscj1kMy5xdWFudGlsZShyLC45NSkpOihsPWQzLm1pbihyKSxyPWQzLm1heChyKSk7bGV0IHAsbT1yLWw7cD0wPT09bT8xLjEqTWF0aC5hYnMobCkrMS4xOi4yKm07bD1bMDw9bCYmbDxtPy0uMSpyOmwtcCxyK3BdO3JldHVybiBsPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGwpLm5pY2UoKS5kb21haW4oKX07Yi5hY2Nlc3Nvcml6ZT1mdW5jdGlvbihyKXtyZXR1cm4gbD0+Cmxbcl19O2Iuc3RlcEZvcm1hdHRlcj1kMy5mb3JtYXQoYC4ke2IuU1RFUF9GT1JNQVRURVJfUFJFQ0lTSU9OfX5zYCk7Yi5zdGVwWD1kO2IudGltZUZvcm1hdHRlcj1QbG90dGFibGUuRm9ybWF0dGVycy50aW1lKCIlYSAlYiAlZSwgJUg6JU06JVMiKTtiLndhbGxYPWY7Yi5yZWxhdGl2ZUFjY2Vzc29yPShyLGwscCk9PntpZihudWxsIT1yLnJlbGF0aXZlKXJldHVybiByLnJlbGF0aXZlO2w9cC5kYXRhKCk7cmV0dXJuKCtyLndhbGxfdGltZS0oMDxsLmxlbmd0aD8rbFswXS53YWxsX3RpbWU6MCkpLzM2RTV9O2IucmVsYXRpdmVGb3JtYXR0ZXI9cj0+e2xldCBsPSIiLHA9TWF0aC5mbG9vcihyLzI0KTtyLT0yNCpwO3AmJihsKz1wKyJkICIpO2xldCBtPU1hdGguZmxvb3Iocik7cj02MCooci1tKTtpZihtfHxwKWwrPW0rImggIjtsZXQgbj1NYXRoLmZsb29yKHIpO3I9NjAqKHItbik7aWYobnx8bXx8cClsKz1uKyJtICI7cmV0dXJuIGwrTWF0aC5mbG9vcihyKSsicyJ9O2IucmVsYXRpdmVYPQpoO2IuZ2V0WENvbXBvbmVudHM9ZnVuY3Rpb24ocil7c3dpdGNoKHIpe2Nhc2Ugay5TVEVQOnJldHVybiBkKCk7Y2FzZSBrLldBTExfVElNRTpyZXR1cm4gZigpO2Nhc2Ugay5SRUxBVElWRTpyZXR1cm4gaCgpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImludmFsaWQgeFR5cGU6ICIrcik7fX19KShzZnx8KHNmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotbGluZS1jaGFydC9kcmFnWm9vbUludGVyYWN0aW9uLmpzCnZhciB0ZzsKKGZ1bmN0aW9uKGIpe2NsYXNzIGQgZXh0ZW5kcyBQbG90dGFibGUuQ29tcG9uZW50cy5TZWxlY3Rpb25Cb3hMYXllcntjb25zdHJ1Y3RvcihmLGgsayl7c3VwZXIoKTt0aGlzLmVhc2VGbj1kMy5lYXNlQ3ViaWNJbk91dDt0aGlzLl9hbmltYXRpb25UaW1lPTc1MDt0aGlzLnhTY2FsZShmKTt0aGlzLnlTY2FsZShoKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb249bmV3IFBsb3R0YWJsZS5JbnRlcmFjdGlvbnMuRHJhZzt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uPW5ldyBQbG90dGFibGUuSW50ZXJhY3Rpb25zLkNsaWNrO3RoaXMuc2V0dXBDYWxsYmFja3MoKTt0aGlzLnVuem9vbU1ldGhvZD1rO3RoaXMub25EZXRhY2goKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmRldGFjaEZyb20oKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZGV0YWNoRnJvbSgpfSk7dGhpcy5vbkFuY2hvcigoKT0+e3RoaXMuX2RvdWJsZUNsaWNrSW50ZXJhY3Rpb24uYXR0YWNoVG8odGhpcyk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHRoaXMpfSl9aW50ZXJhY3Rpb25TdGFydChmKXt0aGlzLm9uU3RhcnQ9CmZ9aW50ZXJhY3Rpb25FbmQoZil7dGhpcy5vbkVuZD1mfWRyYWdJbnRlcmFjdGlvbigpe3JldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb259c2V0dXBDYWxsYmFja3MoKXtsZXQgZj0hMTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQoaD0+e3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6aH0pO3RoaXMub25TdGFydCgpfSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZygoaCxrKT0+e3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6a30pO3RoaXMuYm94VmlzaWJsZSghMCk7Zj0hMH0pO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdFbmQoKGgsayk9Pnt0aGlzLmJveFZpc2libGUoITEpO3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6a30pO2lmKGYpdGhpcy56b29tKCk7ZWxzZSB0aGlzLm9uRW5kKCk7Zj0hMX0pO3RoaXMuX2RvdWJsZUNsaWNrSW50ZXJhY3Rpb24ub25Eb3VibGVDbGljayh0aGlzLnVuem9vbS5iaW5kKHRoaXMpKX1hbmltYXRpb25UaW1lKGYpe2lmKG51bGw9PQpmKXJldHVybiB0aGlzLl9hbmltYXRpb25UaW1lO2lmKDA+Zil0aHJvdyBFcnJvcigiYW5pbWF0aW9uVGltZSBjYW5ub3QgYmUgbmVnYXRpdmUiKTt0aGlzLl9hbmltYXRpb25UaW1lPWY7cmV0dXJuIHRoaXN9ZWFzZShmKXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGYpdGhyb3cgRXJyb3IoImVhc2UgZnVuY3Rpb24gbXVzdCBiZSBhIGZ1bmN0aW9uIik7MD09PWYoMCkmJjE9PT1mKDEpfHxQbG90dGFibGUuVXRpbHMuV2luZG93Lndhcm4oIkVhc2luZyBmdW5jdGlvbiBkb2VzIG5vdCBtYWludGFpbiBpbnZhcmlhbnQgZigwKVx4M2RceDNkMCBceDI2XHgyNiBmKDEpXHgzZFx4M2QxLiBCYWQgYmVoYXZpb3IgbWF5IHJlc3VsdC4iKTt0aGlzLmVhc2VGbj1mO3JldHVybiB0aGlzfXpvb20oKXtsZXQgZj10aGlzLnhFeHRlbnQoKVswXS52YWx1ZU9mKCksaD10aGlzLnhFeHRlbnQoKVsxXS52YWx1ZU9mKCksaz10aGlzLnlFeHRlbnQoKVsxXS52YWx1ZU9mKCkscj10aGlzLnlFeHRlbnQoKVswXS52YWx1ZU9mKCk7CmYhPT1oJiZrIT09ciYmdGhpcy5pbnRlcnBvbGF0ZVpvb20oZixoLGsscil9dW56b29tKCl7dmFyIGY9dGhpcy54U2NhbGUoKTtmLl9kb21haW5NaW49bnVsbDtmLl9kb21haW5NYXg9bnVsbDtmPWYuX2dldEV4dGVudCgpO3RoaXMueFNjYWxlKCkuZG9tYWluKGYpO3RoaXMudW56b29tTWV0aG9kKCl9aXNab29taW5nKGYpe3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKCFmKTt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmVuYWJsZWQoIWYpfWludGVycG9sYXRlWm9vbShmLGgsayxyKXtsZXQgbD10aGlzLnhTY2FsZSgpLmRvbWFpbigpWzBdLnZhbHVlT2YoKSxwPXRoaXMueFNjYWxlKCkuZG9tYWluKClbMV0udmFsdWVPZigpLG09dGhpcy55U2NhbGUoKS5kb21haW4oKVswXS52YWx1ZU9mKCksbj10aGlzLnlTY2FsZSgpLmRvbWFpbigpWzFdLnZhbHVlT2YoKSxxPXRoaXMuZWFzZUZuLHU9KHkseCxDKT0+ZDMuaW50ZXJwb2xhdGVOdW1iZXIoeSx4KShxKEMpKTt0aGlzLmlzWm9vbWluZyghMCk7CmxldCB3PURhdGUubm93KCksQT0oKT0+e3ZhciB5PURhdGUubm93KCktdzt5PTA9PT10aGlzLl9hbmltYXRpb25UaW1lPzE6TWF0aC5taW4oMSx5L3RoaXMuX2FuaW1hdGlvblRpbWUpO2xldCB4PXUobCxmLHkpLEM9dShwLGgseSksRz11KG0sayx5KSxEPXUobixyLHkpO3RoaXMueFNjYWxlKCkuZG9tYWluKFt4LENdKTt0aGlzLnlTY2FsZSgpLmRvbWFpbihbRyxEXSk7MT55P1Bsb3R0YWJsZS5VdGlscy5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoQSk6KHRoaXMub25FbmQoKSx0aGlzLmlzWm9vbWluZyghMSkpfTtBKCl9fWIuRHJhZ1pvb21MYXllcj1kfSkodGd8fCh0Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3Bhblpvb21EcmFnTGF5ZXIuanMKdmFyIHVnOwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGgpe2hbaC5OT05FPTBdPSJOT05FIjtoW2guRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciO2hbaC5QQU5OSU5HPTJdPSJQQU5OSU5HIn0pKGR8fChkPXt9KSk7Y2xhc3MgZiBleHRlbmRzIFBsb3R0YWJsZS5Db21wb25lbnRzLkdyb3Vwe2NvbnN0cnVjdG9yKGgsayxyKXtzdXBlcigpO3RoaXMuc3RhdGU9ZC5OT05FO3RoaXMucGFuU3RhcnRDYWxsYmFjaz1uZXcgUGxvdHRhYmxlLlV0aWxzLkNhbGxiYWNrU2V0O3RoaXMucGFuRW5kQ2FsbGJhY2s9bmV3IFBsb3R0YWJsZS5VdGlscy5DYWxsYmFja1NldDt0aGlzLnBhblpvb209bmV3IFBsb3R0YWJsZS5JbnRlcmFjdGlvbnMuUGFuWm9vbShoLGspO3RoaXMucGFuWm9vbS5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcihwPT5mLmlzUGFuS2V5KHApJiYwPT09cC5idXR0b24pO3RoaXMucGFuWm9vbS53aGVlbEZpbHRlcih0aGlzLmNhblNjcm9sbFpvb20pO3RoaXMuZHJhZ1pvb21MYXllcj1uZXcgdGcuRHJhZ1pvb21MYXllcihoLAprLHIpO3RoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcihwPT4hZi5pc1BhbktleShwKSYmMD09PXAuYnV0dG9uKTt0aGlzLmFwcGVuZCh0aGlzLmRyYWdab29tTGF5ZXIpO2NvbnN0IGw9dGhpcy5vbldoZWVsLmJpbmQodGhpcyk7dGhpcy5vbkFuY2hvcigoKT0+e3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1QbG90dGFibGUuRGlzcGF0Y2hlcnMuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25XaGVlbChsKTt0aGlzLnBhblpvb20uYXR0YWNoVG8odGhpcyl9KTt0aGlzLm9uRGV0YWNoKCgpPT57dGhpcy5wYW5ab29tLmRldGFjaEZyb20oKTt0aGlzLl9tb3VzZURpc3BhdGNoZXImJih0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmV2hlZWwobCksdGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGwpfSk7dGhpcy5wYW5ab29tLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ1N0YXJ0KCgpPT57dGhpcy5zdGF0ZT09ZC5OT05FJiYKdGhpcy5zZXRTdGF0ZShkLlBBTk5JTkcpfSk7dGhpcy5wYW5ab29tLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ0VuZCgoKT0+e3RoaXMuc3RhdGU9PWQuUEFOTklORyYmdGhpcy5zZXRTdGF0ZShkLk5PTkUpfSk7dGhpcy5kcmFnWm9vbUxheWVyLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ1N0YXJ0KCgpPT57dGhpcy5zdGF0ZT09ZC5OT05FJiZ0aGlzLnNldFN0YXRlKGQuRFJBR19aT09NSU5HKX0pO3RoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdFbmQoKCk9Pnt0aGlzLnN0YXRlPT1kLkRSQUdfWk9PTUlORyYmdGhpcy5zZXRTdGF0ZShkLk5PTkUpfSl9b25XaGVlbChoLGspe2lmKCF0aGlzLmNhblNjcm9sbFpvb20oaykmJihoPXRoaXMuZWxlbWVudCgpLGguc2VsZWN0KCIuaGVscCIpLmVtcHR5KCkpKXt2YXIgcj1oLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgiaGVscCIsITApO3IuYXBwZW5kKCJzcGFuIikudGV4dCgiQWx0ICsgU2Nyb2xsIHRvIFpvb20iKTsKci5vbigiYW5pbWF0aW9uZW5kIiwoKT0+dm9pZCByLnJlbW92ZSgpKX19c3RhdGljIGlzUGFuS2V5KGgpe3JldHVybiEhaC5hbHRLZXl8fCEhaC5zaGlmdEtleX1jYW5TY3JvbGxab29tKGgpe3JldHVybiBoLmFsdEtleX1zZXRTdGF0ZShoKXtpZih0aGlzLnN0YXRlIT1oKXt2YXIgaz10aGlzLnN0YXRlO3RoaXMuc3RhdGU9aDt0aGlzLnJvb3QoKS5yZW1vdmVDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGspKTt0aGlzLnJvb3QoKS5hZGRDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGgpKTtrPT1kLlBBTk5JTkcmJnRoaXMucGFuRW5kQ2FsbGJhY2suY2FsbENhbGxiYWNrcygpO2g9PWQuUEFOTklORyYmdGhpcy5wYW5TdGFydENhbGxiYWNrLmNhbGxDYWxsYmFja3MoKX19c3RhdGVDbGFzc05hbWUoaCl7c3dpdGNoKGgpe2Nhc2UgZC5QQU5OSU5HOnJldHVybiJwYW5uaW5nIjtjYXNlIGQuRFJBR19aT09NSU5HOnJldHVybiJkcmFnLXpvb21pbmciO2RlZmF1bHQ6cmV0dXJuIiJ9fW9uUGFuU3RhcnQoaCl7dGhpcy5wYW5TdGFydENhbGxiYWNrLmFkZChoKX1vblBhbkVuZChoKXt0aGlzLnBhbkVuZENhbGxiYWNrLmFkZChoKX1vblNjcm9sbFpvb20oaCl7dGhpcy5wYW5ab29tLm9uWm9vbUVuZChoKX1vbkRyYWdab29tU3RhcnQoaCl7dGhpcy5kcmFnWm9vbUxheWVyLmludGVyYWN0aW9uU3RhcnQoaCl9b25EcmFnWm9vbUVuZChoKXt0aGlzLmRyYWdab29tTGF5ZXIuaW50ZXJhY3Rpb25FbmQoaCl9fQpiLlBhblpvb21EcmFnTGF5ZXI9Zn0pKHVnfHwodWc9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jYXJkLWhlYWRpbmcvdXRpbC5qcwp2YXIgSGg7KGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoZil7aWYoIWYpcmV0dXJuIG51bGw7bGV0IGg9Zi5tYXRjaCgvXiMoWzAtOWEtZl17MSwyfSkoWzAtOWEtZl17MSwyfSkoWzAtOWEtZl17MSwyfSkkLyk7aWYoIWgpcmV0dXJuIG51bGw7aWYoND09Zi5sZW5ndGgpZm9yKGY9MTszPj1mO2YrKyloW2ZdKz1oW2ZdO3JldHVybltwYXJzZUludChoWzFdLDE2KSxwYXJzZUludChoWzJdLDE2KSxwYXJzZUludChoWzNdLDE2KV19Yi5mb3JtYXREYXRlPWZ1bmN0aW9uKGYpe3JldHVybiBmP2YudG9TdHJpbmcoKS5yZXBsYWNlKC9HTVQtXGQrIFwoKFteKV0rKVwpLywiJDEiKToiIn07Yi5waWNrVGV4dENvbG9yPWZ1bmN0aW9uKGYpe3JldHVybihmPWQoZikpPzEyNTxNYXRoLnJvdW5kKCgyOTkqZlswXSs1ODcqZlsxXSsxMTQqZlsyXSkvMUUzKT8iaW5oZXJpdCI6IiNlZWUiOiJpbmhlcml0In19KShIaHx8KEhoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1yYW5nZS1iZWhhdmlvci9pcm9uLXJhbmdlLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5Jcm9uUmFuZ2VCZWhhdmlvcj17cHJvcGVydGllczp7dmFsdWU6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sbWluOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sbWF4Ont0eXBlOk51bWJlcix2YWx1ZToxMDAsbm90aWZ5OiEwfSxzdGVwOnt0eXBlOk51bWJlcix2YWx1ZToxLG5vdGlmeTohMH0scmF0aW86e3R5cGU6TnVtYmVyLHZhbHVlOjAscmVhZE9ubHk6ITAsbm90aWZ5OiEwfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZSh2YWx1ZSwgbWluLCBtYXgsIHN0ZXApIl0sX2NhbGNSYXRpbzpmdW5jdGlvbihiKXtyZXR1cm4odGhpcy5fY2xhbXBWYWx1ZShiKS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKX0sX2NsYW1wVmFsdWU6ZnVuY3Rpb24oYil7cmV0dXJuIE1hdGgubWluKHRoaXMubWF4LE1hdGgubWF4KHRoaXMubWluLHRoaXMuX2NhbGNTdGVwKGIpKSl9LF9jYWxjU3RlcDpmdW5jdGlvbihiKXtiPXBhcnNlRmxvYXQoYik7CmlmKCF0aGlzLnN0ZXApcmV0dXJuIGI7Yj1NYXRoLnJvdW5kKChiLXRoaXMubWluKS90aGlzLnN0ZXApO3JldHVybiAxPnRoaXMuc3RlcD9iLygxL3RoaXMuc3RlcCkrdGhpcy5taW46Yip0aGlzLnN0ZXArdGhpcy5taW59LF92YWxpZGF0ZVZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY2xhbXBWYWx1ZSh0aGlzLnZhbHVlKTt0aGlzLnZhbHVlPXRoaXMub2xkVmFsdWU9aXNOYU4oYik/dGhpcy5vbGRWYWx1ZTpiO3JldHVybiB0aGlzLnZhbHVlIT09Yn0sX3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX3ZhbGlkYXRlVmFsdWUoKTt0aGlzLl9zZXRSYXRpbygxMDAqdGhpcy5fY2FsY1JhdGlvKHRoaXMudmFsdWUpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkL3RmLWN1c3RvbS1zY2FsYXItaGVscGVycy5qcwp2YXIgSWg7CihmdW5jdGlvbihiKXtjbGFzcyBke2NvbnN0cnVjdG9yKGgsayxyLGwscCl7dGhpcy5ydW49aDt0aGlzLnRhZz1rO3RoaXMubmFtZT1yO3RoaXMuc2NhbGFyRGF0YT1sO3RoaXMuc3ltYm9sPXB9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9c2V0RGF0YShoKXt0aGlzLnNjYWxhckRhdGE9aH1nZXREYXRhKCl7cmV0dXJuIHRoaXMuc2NhbGFyRGF0YX1nZXRSdW4oKXtyZXR1cm4gdGhpcy5ydW59Z2V0VGFnKCl7cmV0dXJuIHRoaXMudGFnfWdldFN5bWJvbCgpe3JldHVybiB0aGlzLnN5bWJvbH19Yi5EYXRhU2VyaWVzPWQ7Yi5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lPWZ1bmN0aW9uKGgsayl7cmV0dXJuYCR7a30gKCR7aH0pYH07Y2xhc3MgZntjb25zdHJ1Y3RvcihoKXt0aGlzLnJ1bkJhc2VkQ29sb3JTY2FsZT1ofXNjYWxlKGgpe3JldHVybiB0aGlzLnJ1bkJhc2VkQ29sb3JTY2FsZS5zY2FsZSh0aGlzLnBhcnNlUnVuTmFtZShoKSl9cGFyc2VSdW5OYW1lKGgpe3JldHVybihoPWgubWF0Y2goL1woKC4qKVwpJC8pKT8KaFsxXToiIn19Yi5EYXRhU2VyaWVzQ29sb3JTY2FsZT1mfSkoSWh8fChJaD17fSkpOwoKKGZ1bmN0aW9uKGYpe2lmKHR5cGVvZiBleHBvcnRzPT09Im9iamVjdCImJnR5cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIiltb2R1bGUuZXhwb3J0cz1mKCk7ZWxzZSBpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZClkZWZpbmUoW10sZik7ZWxzZXt2YXIgZztpZih0eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCIpZz13aW5kb3c7ZWxzZSBpZih0eXBlb2YgZ2xvYmFsIT09InVuZGVmaW5lZCIpZz1nbG9iYWw7ZWxzZSBpZih0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiKWc9c2VsZjtlbHNlIGc9dGhpcztnLmdyYXBobGliPWYoKX19KShmdW5jdGlvbigpe3ZhciBkZWZpbmUsbW9kdWxlLGV4cG9ydHM7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7CnZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGY7fXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30oezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBsaWI9cmVxdWlyZSgiLi9saWIiKTttb2R1bGUuZXhwb3J0cz17R3JhcGg6bGliLkdyYXBoLGpzb246cmVxdWlyZSgiLi9saWIvanNvbiIpLGFsZzpyZXF1aXJlKCIuL2xpYi9hbGciKSx2ZXJzaW9uOmxpYi52ZXJzaW9ufX0seyIuL2xpYiI6MTcsIi4vbGliL2FsZyI6OCwiLi9saWIvanNvbiI6MTh9XSwKMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9Y29tcG9uZW50cztmdW5jdGlvbiBjb21wb25lbnRzKGcpe3ZhciB2aXNpdGVkPXt9LGNtcHRzPVtdLGNtcHQ7ZnVuY3Rpb24gZGZzKHYpe2lmKF8uaGFzKHZpc2l0ZWQsdikpcmV0dXJuO3Zpc2l0ZWRbdl09dHJ1ZTtjbXB0LnB1c2godik7Xy5lYWNoKGcuc3VjY2Vzc29ycyh2KSxkZnMpO18uZWFjaChnLnByZWRlY2Vzc29ycyh2KSxkZnMpfV8uZWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7Y21wdD1bXTtkZnModik7aWYoY21wdC5sZW5ndGgpY21wdHMucHVzaChjbXB0KX0pO3JldHVybiBjbXB0c319LHsiLi4vbG9kYXNoIjoxOX1dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWRmcztmdW5jdGlvbiBkZnMoZyx2cyxvcmRlcil7aWYoIV8uaXNBcnJheSh2cykpdnM9Clt2c107dmFyIG5hdmlnYXRpb249KGcuaXNEaXJlY3RlZCgpP2cuc3VjY2Vzc29yczpnLm5laWdoYm9ycykuYmluZChnKTt2YXIgYWNjPVtdLHZpc2l0ZWQ9e307Xy5lYWNoKHZzLGZ1bmN0aW9uKHYpe2lmKCFnLmhhc05vZGUodikpdGhyb3cgbmV3IEVycm9yKCJHcmFwaCBkb2VzIG5vdCBoYXZlIG5vZGU6ICIrdik7ZG9EZnMoZyx2LG9yZGVyPT09InBvc3QiLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2MpfSk7cmV0dXJuIGFjY31mdW5jdGlvbiBkb0RmcyhnLHYscG9zdG9yZGVyLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2Mpe2lmKCFfLmhhcyh2aXNpdGVkLHYpKXt2aXNpdGVkW3ZdPXRydWU7aWYoIXBvc3RvcmRlcilhY2MucHVzaCh2KTtfLmVhY2gobmF2aWdhdGlvbih2KSxmdW5jdGlvbih3KXtkb0RmcyhnLHcscG9zdG9yZGVyLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2MpfSk7aWYocG9zdG9yZGVyKWFjYy5wdXNoKHYpfX19LHsiLi4vbG9kYXNoIjoxOX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsCm1vZHVsZSxleHBvcnRzKXt2YXIgZGlqa3N0cmE9cmVxdWlyZSgiLi9kaWprc3RyYSIpLF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9ZGlqa3N0cmFBbGw7ZnVuY3Rpb24gZGlqa3N0cmFBbGwoZyx3ZWlnaHRGdW5jLGVkZ2VGdW5jKXtyZXR1cm4gXy50cmFuc2Zvcm0oZy5ub2RlcygpLGZ1bmN0aW9uKGFjYyx2KXthY2Nbdl09ZGlqa3N0cmEoZyx2LHdlaWdodEZ1bmMsZWRnZUZ1bmMpfSx7fSl9fSx7Ii4uL2xvZGFzaCI6MTksIi4vZGlqa3N0cmEiOjV9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKSxQcmlvcml0eVF1ZXVlPXJlcXVpcmUoIi4uL2RhdGEvcHJpb3JpdHktcXVldWUiKTttb2R1bGUuZXhwb3J0cz1kaWprc3RyYTt2YXIgREVGQVVMVF9XRUlHSFRfRlVOQz1fLmNvbnN0YW50KDEpO2Z1bmN0aW9uIGRpamtzdHJhKGcsc291cmNlLHdlaWdodEZuLGVkZ2VGbil7cmV0dXJuIHJ1bkRpamtzdHJhKGcsClN0cmluZyhzb3VyY2UpLHdlaWdodEZufHxERUZBVUxUX1dFSUdIVF9GVU5DLGVkZ2VGbnx8ZnVuY3Rpb24odil7cmV0dXJuIGcub3V0RWRnZXModil9KX1mdW5jdGlvbiBydW5EaWprc3RyYShnLHNvdXJjZSx3ZWlnaHRGbixlZGdlRm4pe3ZhciByZXN1bHRzPXt9LHBxPW5ldyBQcmlvcml0eVF1ZXVlLHYsdkVudHJ5O3ZhciB1cGRhdGVOZWlnaGJvcnM9ZnVuY3Rpb24oZWRnZSl7dmFyIHc9ZWRnZS52IT09dj9lZGdlLnY6ZWRnZS53LHdFbnRyeT1yZXN1bHRzW3ddLHdlaWdodD13ZWlnaHRGbihlZGdlKSxkaXN0YW5jZT12RW50cnkuZGlzdGFuY2Urd2VpZ2h0O2lmKHdlaWdodDwwKXRocm93IG5ldyBFcnJvcigiZGlqa3N0cmEgZG9lcyBub3QgYWxsb3cgbmVnYXRpdmUgZWRnZSB3ZWlnaHRzLiAiKyJCYWQgZWRnZTogIitlZGdlKyIgV2VpZ2h0OiAiK3dlaWdodCk7aWYoZGlzdGFuY2U8d0VudHJ5LmRpc3RhbmNlKXt3RW50cnkuZGlzdGFuY2U9ZGlzdGFuY2U7d0VudHJ5LnByZWRlY2Vzc29yPQp2O3BxLmRlY3JlYXNlKHcsZGlzdGFuY2UpfX07Zy5ub2RlcygpLmZvckVhY2goZnVuY3Rpb24odil7dmFyIGRpc3RhbmNlPXY9PT1zb3VyY2U/MDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmVzdWx0c1t2XT17ZGlzdGFuY2U6ZGlzdGFuY2V9O3BxLmFkZCh2LGRpc3RhbmNlKX0pO3doaWxlKHBxLnNpemUoKT4wKXt2PXBxLnJlbW92ZU1pbigpO3ZFbnRyeT1yZXN1bHRzW3ZdO2lmKHZFbnRyeS5kaXN0YW5jZT09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSlicmVhaztlZGdlRm4odikuZm9yRWFjaCh1cGRhdGVOZWlnaGJvcnMpfXJldHVybiByZXN1bHRzfX0seyIuLi9kYXRhL3ByaW9yaXR5LXF1ZXVlIjoxNSwiLi4vbG9kYXNoIjoxOX1dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLHRhcmphbj1yZXF1aXJlKCIuL3RhcmphbiIpO21vZHVsZS5leHBvcnRzPWZpbmRDeWNsZXM7ZnVuY3Rpb24gZmluZEN5Y2xlcyhnKXtyZXR1cm4gXy5maWx0ZXIodGFyamFuKGcpLApmdW5jdGlvbihjbXB0KXtyZXR1cm4gY21wdC5sZW5ndGg+MXx8Y21wdC5sZW5ndGg9PT0xJiZnLmhhc0VkZ2UoY21wdFswXSxjbXB0WzBdKX0pfX0seyIuLi9sb2Rhc2giOjE5LCIuL3RhcmphbiI6MTN9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1mbG95ZFdhcnNoYWxsO3ZhciBERUZBVUxUX1dFSUdIVF9GVU5DPV8uY29uc3RhbnQoMSk7ZnVuY3Rpb24gZmxveWRXYXJzaGFsbChnLHdlaWdodEZuLGVkZ2VGbil7cmV0dXJuIHJ1bkZsb3lkV2Fyc2hhbGwoZyx3ZWlnaHRGbnx8REVGQVVMVF9XRUlHSFRfRlVOQyxlZGdlRm58fGZ1bmN0aW9uKHYpe3JldHVybiBnLm91dEVkZ2VzKHYpfSl9ZnVuY3Rpb24gcnVuRmxveWRXYXJzaGFsbChnLHdlaWdodEZuLGVkZ2VGbil7dmFyIHJlc3VsdHM9e30sbm9kZXM9Zy5ub2RlcygpO25vZGVzLmZvckVhY2goZnVuY3Rpb24odil7cmVzdWx0c1t2XT0Ke307cmVzdWx0c1t2XVt2XT17ZGlzdGFuY2U6MH07bm9kZXMuZm9yRWFjaChmdW5jdGlvbih3KXtpZih2IT09dylyZXN1bHRzW3ZdW3ddPXtkaXN0YW5jZTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fSk7ZWRnZUZuKHYpLmZvckVhY2goZnVuY3Rpb24oZWRnZSl7dmFyIHc9ZWRnZS52PT09dj9lZGdlLnc6ZWRnZS52LGQ9d2VpZ2h0Rm4oZWRnZSk7cmVzdWx0c1t2XVt3XT17ZGlzdGFuY2U6ZCxwcmVkZWNlc3Nvcjp2fX0pfSk7bm9kZXMuZm9yRWFjaChmdW5jdGlvbihrKXt2YXIgcm93Sz1yZXN1bHRzW2tdO25vZGVzLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIHJvd0k9cmVzdWx0c1tpXTtub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGope3ZhciBpaz1yb3dJW2tdO3ZhciBraj1yb3dLW2pdO3ZhciBpaj1yb3dJW2pdO3ZhciBhbHREaXN0YW5jZT1pay5kaXN0YW5jZStrai5kaXN0YW5jZTtpZihhbHREaXN0YW5jZTxpai5kaXN0YW5jZSl7aWouZGlzdGFuY2U9YWx0RGlzdGFuY2U7aWoucHJlZGVjZXNzb3I9CmtqLnByZWRlY2Vzc29yfX0pfSl9KTtyZXR1cm4gcmVzdWx0c319LHsiLi4vbG9kYXNoIjoxOX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtjb21wb25lbnRzOnJlcXVpcmUoIi4vY29tcG9uZW50cyIpLGRpamtzdHJhOnJlcXVpcmUoIi4vZGlqa3N0cmEiKSxkaWprc3RyYUFsbDpyZXF1aXJlKCIuL2RpamtzdHJhLWFsbCIpLGZpbmRDeWNsZXM6cmVxdWlyZSgiLi9maW5kLWN5Y2xlcyIpLGZsb3lkV2Fyc2hhbGw6cmVxdWlyZSgiLi9mbG95ZC13YXJzaGFsbCIpLGlzQWN5Y2xpYzpyZXF1aXJlKCIuL2lzLWFjeWNsaWMiKSxwb3N0b3JkZXI6cmVxdWlyZSgiLi9wb3N0b3JkZXIiKSxwcmVvcmRlcjpyZXF1aXJlKCIuL3ByZW9yZGVyIikscHJpbTpyZXF1aXJlKCIuL3ByaW0iKSx0YXJqYW46cmVxdWlyZSgiLi90YXJqYW4iKSx0b3Bzb3J0OnJlcXVpcmUoIi4vdG9wc29ydCIpfX0seyIuL2NvbXBvbmVudHMiOjIsIi4vZGlqa3N0cmEiOjUsCiIuL2RpamtzdHJhLWFsbCI6NCwiLi9maW5kLWN5Y2xlcyI6NiwiLi9mbG95ZC13YXJzaGFsbCI6NywiLi9pcy1hY3ljbGljIjo5LCIuL3Bvc3RvcmRlciI6MTAsIi4vcHJlb3JkZXIiOjExLCIuL3ByaW0iOjEyLCIuL3RhcmphbiI6MTMsIi4vdG9wc29ydCI6MTR9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgdG9wc29ydD1yZXF1aXJlKCIuL3RvcHNvcnQiKTttb2R1bGUuZXhwb3J0cz1pc0FjeWNsaWM7ZnVuY3Rpb24gaXNBY3ljbGljKGcpe3RyeXt0b3Bzb3J0KGcpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiB0b3Bzb3J0LkN5Y2xlRXhjZXB0aW9uKXJldHVybiBmYWxzZTt0aHJvdyBlO31yZXR1cm4gdHJ1ZX19LHsiLi90b3Bzb3J0IjoxNH1dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgZGZzPXJlcXVpcmUoIi4vZGZzIik7bW9kdWxlLmV4cG9ydHM9cG9zdG9yZGVyO2Z1bmN0aW9uIHBvc3RvcmRlcihnLHZzKXtyZXR1cm4gZGZzKGcsCnZzLCJwb3N0Iil9fSx7Ii4vZGZzIjozfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBkZnM9cmVxdWlyZSgiLi9kZnMiKTttb2R1bGUuZXhwb3J0cz1wcmVvcmRlcjtmdW5jdGlvbiBwcmVvcmRlcihnLHZzKXtyZXR1cm4gZGZzKGcsdnMsInByZSIpfX0seyIuL2RmcyI6M31dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKSxHcmFwaD1yZXF1aXJlKCIuLi9ncmFwaCIpLFByaW9yaXR5UXVldWU9cmVxdWlyZSgiLi4vZGF0YS9wcmlvcml0eS1xdWV1ZSIpO21vZHVsZS5leHBvcnRzPXByaW07ZnVuY3Rpb24gcHJpbShnLHdlaWdodEZ1bmMpe3ZhciByZXN1bHQ9bmV3IEdyYXBoLHBhcmVudHM9e30scHE9bmV3IFByaW9yaXR5UXVldWUsdjtmdW5jdGlvbiB1cGRhdGVOZWlnaGJvcnMoZWRnZSl7dmFyIHc9ZWRnZS52PT09dj9lZGdlLnc6ZWRnZS52LHByaT1wcS5wcmlvcml0eSh3KTtpZihwcmkhPT0KdW5kZWZpbmVkKXt2YXIgZWRnZVdlaWdodD13ZWlnaHRGdW5jKGVkZ2UpO2lmKGVkZ2VXZWlnaHQ8cHJpKXtwYXJlbnRzW3ddPXY7cHEuZGVjcmVhc2UodyxlZGdlV2VpZ2h0KX19fWlmKGcubm9kZUNvdW50KCk9PT0wKXJldHVybiByZXN1bHQ7Xy5lYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtwcS5hZGQodixOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3Jlc3VsdC5zZXROb2RlKHYpfSk7cHEuZGVjcmVhc2UoZy5ub2RlcygpWzBdLDApO3ZhciBpbml0PWZhbHNlO3doaWxlKHBxLnNpemUoKT4wKXt2PXBxLnJlbW92ZU1pbigpO2lmKF8uaGFzKHBhcmVudHMsdikpcmVzdWx0LnNldEVkZ2UodixwYXJlbnRzW3ZdKTtlbHNlIGlmKGluaXQpdGhyb3cgbmV3IEVycm9yKCJJbnB1dCBncmFwaCBpcyBub3QgY29ubmVjdGVkOiAiK2cpO2Vsc2UgaW5pdD10cnVlO2cubm9kZUVkZ2VzKHYpLmZvckVhY2godXBkYXRlTmVpZ2hib3JzKX1yZXR1cm4gcmVzdWx0fX0seyIuLi9kYXRhL3ByaW9yaXR5LXF1ZXVlIjoxNSwKIi4uL2dyYXBoIjoxNiwiLi4vbG9kYXNoIjoxOX1dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz10YXJqYW47ZnVuY3Rpb24gdGFyamFuKGcpe3ZhciBpbmRleD0wLHN0YWNrPVtdLHZpc2l0ZWQ9e30scmVzdWx0cz1bXTtmdW5jdGlvbiBkZnModil7dmFyIGVudHJ5PXZpc2l0ZWRbdl09e29uU3RhY2s6dHJ1ZSxsb3dsaW5rOmluZGV4LGluZGV4OmluZGV4Kyt9O3N0YWNrLnB1c2godik7Zy5zdWNjZXNzb3JzKHYpLmZvckVhY2goZnVuY3Rpb24odyl7aWYoIV8uaGFzKHZpc2l0ZWQsdykpe2Rmcyh3KTtlbnRyeS5sb3dsaW5rPU1hdGgubWluKGVudHJ5Lmxvd2xpbmssdmlzaXRlZFt3XS5sb3dsaW5rKX1lbHNlIGlmKHZpc2l0ZWRbd10ub25TdGFjayllbnRyeS5sb3dsaW5rPU1hdGgubWluKGVudHJ5Lmxvd2xpbmssdmlzaXRlZFt3XS5pbmRleCl9KTtpZihlbnRyeS5sb3dsaW5rPT09ZW50cnkuaW5kZXgpe3ZhciBjbXB0PQpbXSx3O2Rve3c9c3RhY2sucG9wKCk7dmlzaXRlZFt3XS5vblN0YWNrPWZhbHNlO2NtcHQucHVzaCh3KX13aGlsZSh2IT09dyk7cmVzdWx0cy5wdXNoKGNtcHQpfX1nLm5vZGVzKCkuZm9yRWFjaChmdW5jdGlvbih2KXtpZighXy5oYXModmlzaXRlZCx2KSlkZnModil9KTtyZXR1cm4gcmVzdWx0c319LHsiLi4vbG9kYXNoIjoxOX1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz10b3Bzb3J0O3RvcHNvcnQuQ3ljbGVFeGNlcHRpb249Q3ljbGVFeGNlcHRpb247ZnVuY3Rpb24gdG9wc29ydChnKXt2YXIgdmlzaXRlZD17fSxzdGFjaz17fSxyZXN1bHRzPVtdO2Z1bmN0aW9uIHZpc2l0KG5vZGUpe2lmKF8uaGFzKHN0YWNrLG5vZGUpKXRocm93IG5ldyBDeWNsZUV4Y2VwdGlvbjtpZighXy5oYXModmlzaXRlZCxub2RlKSl7c3RhY2tbbm9kZV09dHJ1ZTt2aXNpdGVkW25vZGVdPXRydWU7Xy5lYWNoKGcucHJlZGVjZXNzb3JzKG5vZGUpLAp2aXNpdCk7ZGVsZXRlIHN0YWNrW25vZGVdO3Jlc3VsdHMucHVzaChub2RlKX19Xy5lYWNoKGcuc2lua3MoKSx2aXNpdCk7aWYoXy5zaXplKHZpc2l0ZWQpIT09Zy5ub2RlQ291bnQoKSl0aHJvdyBuZXcgQ3ljbGVFeGNlcHRpb247cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gQ3ljbGVFeGNlcHRpb24oKXt9fSx7Ii4uL2xvZGFzaCI6MTl9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9UHJpb3JpdHlRdWV1ZTtmdW5jdGlvbiBQcmlvcml0eVF1ZXVlKCl7dGhpcy5fYXJyPVtdO3RoaXMuX2tleUluZGljZXM9e319UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnIubGVuZ3RofTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fyci5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuIHgua2V5fSl9O1ByaW9yaXR5UXVldWUucHJvdG90eXBlLmhhcz0KZnVuY3Rpb24oa2V5KXtyZXR1cm4gXy5oYXModGhpcy5fa2V5SW5kaWNlcyxrZXkpfTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5wcmlvcml0eT1mdW5jdGlvbihrZXkpe3ZhciBpbmRleD10aGlzLl9rZXlJbmRpY2VzW2tleV07aWYoaW5kZXghPT11bmRlZmluZWQpcmV0dXJuIHRoaXMuX2FycltpbmRleF0ucHJpb3JpdHl9O1ByaW9yaXR5UXVldWUucHJvdG90eXBlLm1pbj1mdW5jdGlvbigpe2lmKHRoaXMuc2l6ZSgpPT09MCl0aHJvdyBuZXcgRXJyb3IoIlF1ZXVlIHVuZGVyZmxvdyIpO3JldHVybiB0aGlzLl9hcnJbMF0ua2V5fTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oa2V5LHByaW9yaXR5KXt2YXIga2V5SW5kaWNlcz10aGlzLl9rZXlJbmRpY2VzO2tleT1TdHJpbmcoa2V5KTtpZighXy5oYXMoa2V5SW5kaWNlcyxrZXkpKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgaW5kZXg9YXJyLmxlbmd0aDtrZXlJbmRpY2VzW2tleV09aW5kZXg7YXJyLnB1c2goe2tleTprZXksCnByaW9yaXR5OnByaW9yaXR5fSk7dGhpcy5fZGVjcmVhc2UoaW5kZXgpO3JldHVybiB0cnVlfXJldHVybiBmYWxzZX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUucmVtb3ZlTWluPWZ1bmN0aW9uKCl7dGhpcy5fc3dhcCgwLHRoaXMuX2Fyci5sZW5ndGgtMSk7dmFyIG1pbj10aGlzLl9hcnIucG9wKCk7ZGVsZXRlIHRoaXMuX2tleUluZGljZXNbbWluLmtleV07dGhpcy5faGVhcGlmeSgwKTtyZXR1cm4gbWluLmtleX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuZGVjcmVhc2U9ZnVuY3Rpb24oa2V5LHByaW9yaXR5KXt2YXIgaW5kZXg9dGhpcy5fa2V5SW5kaWNlc1trZXldO2lmKHByaW9yaXR5PnRoaXMuX2FycltpbmRleF0ucHJpb3JpdHkpdGhyb3cgbmV3IEVycm9yKCJOZXcgcHJpb3JpdHkgaXMgZ3JlYXRlciB0aGFuIGN1cnJlbnQgcHJpb3JpdHkuICIrIktleTogIitrZXkrIiBPbGQ6ICIrdGhpcy5fYXJyW2luZGV4XS5wcmlvcml0eSsiIE5ldzogIitwcmlvcml0eSk7dGhpcy5fYXJyW2luZGV4XS5wcmlvcml0eT0KcHJpb3JpdHk7dGhpcy5fZGVjcmVhc2UoaW5kZXgpfTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5faGVhcGlmeT1mdW5jdGlvbihpKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgbD0yKmkscj1sKzEsbGFyZ2VzdD1pO2lmKGw8YXJyLmxlbmd0aCl7bGFyZ2VzdD1hcnJbbF0ucHJpb3JpdHk8YXJyW2xhcmdlc3RdLnByaW9yaXR5P2w6bGFyZ2VzdDtpZihyPGFyci5sZW5ndGgpbGFyZ2VzdD1hcnJbcl0ucHJpb3JpdHk8YXJyW2xhcmdlc3RdLnByaW9yaXR5P3I6bGFyZ2VzdDtpZihsYXJnZXN0IT09aSl7dGhpcy5fc3dhcChpLGxhcmdlc3QpO3RoaXMuX2hlYXBpZnkobGFyZ2VzdCl9fX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuX2RlY3JlYXNlPWZ1bmN0aW9uKGluZGV4KXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgcHJpb3JpdHk9YXJyW2luZGV4XS5wcmlvcml0eTt2YXIgcGFyZW50O3doaWxlKGluZGV4IT09MCl7cGFyZW50PWluZGV4Pj4xO2lmKGFycltwYXJlbnRdLnByaW9yaXR5PHByaW9yaXR5KWJyZWFrOwp0aGlzLl9zd2FwKGluZGV4LHBhcmVudCk7aW5kZXg9cGFyZW50fX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuX3N3YXA9ZnVuY3Rpb24oaSxqKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIga2V5SW5kaWNlcz10aGlzLl9rZXlJbmRpY2VzO3ZhciBvcmlnQXJyST1hcnJbaV07dmFyIG9yaWdBcnJKPWFycltqXTthcnJbaV09b3JpZ0Fycko7YXJyW2pdPW9yaWdBcnJJO2tleUluZGljZXNbb3JpZ0Fyckoua2V5XT1pO2tleUluZGljZXNbb3JpZ0Fyckkua2V5XT1qfX0seyIuLi9sb2Rhc2giOjE5fV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9R3JhcGg7dmFyIERFRkFVTFRfRURHRV9OQU1FPSJceDAwIixHUkFQSF9OT0RFPSJceDAwIixFREdFX0tFWV9ERUxJTT0iXHUwMDAxIjtmdW5jdGlvbiBHcmFwaChvcHRzKXt0aGlzLl9pc0RpcmVjdGVkPV8uaGFzKG9wdHMsImRpcmVjdGVkIik/b3B0cy5kaXJlY3RlZDoKdHJ1ZTt0aGlzLl9pc011bHRpZ3JhcGg9Xy5oYXMob3B0cywibXVsdGlncmFwaCIpP29wdHMubXVsdGlncmFwaDpmYWxzZTt0aGlzLl9pc0NvbXBvdW5kPV8uaGFzKG9wdHMsImNvbXBvdW5kIik/b3B0cy5jb21wb3VuZDpmYWxzZTt0aGlzLl9sYWJlbD11bmRlZmluZWQ7dGhpcy5fZGVmYXVsdE5vZGVMYWJlbEZuPV8uY29uc3RhbnQodW5kZWZpbmVkKTt0aGlzLl9kZWZhdWx0RWRnZUxhYmVsRm49Xy5jb25zdGFudCh1bmRlZmluZWQpO3RoaXMuX25vZGVzPXt9O2lmKHRoaXMuX2lzQ29tcG91bmQpe3RoaXMuX3BhcmVudD17fTt0aGlzLl9jaGlsZHJlbj17fTt0aGlzLl9jaGlsZHJlbltHUkFQSF9OT0RFXT17fX10aGlzLl9pbj17fTt0aGlzLl9wcmVkcz17fTt0aGlzLl9vdXQ9e307dGhpcy5fc3Vjcz17fTt0aGlzLl9lZGdlT2Jqcz17fTt0aGlzLl9lZGdlTGFiZWxzPXt9fUdyYXBoLnByb3RvdHlwZS5fbm9kZUNvdW50PTA7R3JhcGgucHJvdG90eXBlLl9lZGdlQ291bnQ9MDtHcmFwaC5wcm90b3R5cGUuaXNEaXJlY3RlZD0KZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNEaXJlY3RlZH07R3JhcGgucHJvdG90eXBlLmlzTXVsdGlncmFwaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc011bHRpZ3JhcGh9O0dyYXBoLnByb3RvdHlwZS5pc0NvbXBvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzQ29tcG91bmR9O0dyYXBoLnByb3RvdHlwZS5zZXRHcmFwaD1mdW5jdGlvbihsYWJlbCl7dGhpcy5fbGFiZWw9bGFiZWw7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5ncmFwaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYWJlbH07R3JhcGgucHJvdG90eXBlLnNldERlZmF1bHROb2RlTGFiZWw9ZnVuY3Rpb24obmV3RGVmYXVsdCl7aWYoIV8uaXNGdW5jdGlvbihuZXdEZWZhdWx0KSluZXdEZWZhdWx0PV8uY29uc3RhbnQobmV3RGVmYXVsdCk7dGhpcy5fZGVmYXVsdE5vZGVMYWJlbEZuPW5ld0RlZmF1bHQ7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5ub2RlQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9kZUNvdW50fTsKR3JhcGgucHJvdG90eXBlLm5vZGVzPWZ1bmN0aW9uKCl7cmV0dXJuIF8ua2V5cyh0aGlzLl9ub2Rlcyl9O0dyYXBoLnByb3RvdHlwZS5zb3VyY2VzPWZ1bmN0aW9uKCl7dmFyIHNlbGY9dGhpcztyZXR1cm4gXy5maWx0ZXIodGhpcy5ub2RlcygpLGZ1bmN0aW9uKHYpe3JldHVybiBfLmlzRW1wdHkoc2VsZi5faW5bdl0pfSl9O0dyYXBoLnByb3RvdHlwZS5zaW5rcz1mdW5jdGlvbigpe3ZhciBzZWxmPXRoaXM7cmV0dXJuIF8uZmlsdGVyKHRoaXMubm9kZXMoKSxmdW5jdGlvbih2KXtyZXR1cm4gXy5pc0VtcHR5KHNlbGYuX291dFt2XSl9KX07R3JhcGgucHJvdG90eXBlLnNldE5vZGVzPWZ1bmN0aW9uKHZzLHZhbHVlKXt2YXIgYXJncz1hcmd1bWVudHM7dmFyIHNlbGY9dGhpcztfLmVhY2godnMsZnVuY3Rpb24odil7aWYoYXJncy5sZW5ndGg+MSlzZWxmLnNldE5vZGUodix2YWx1ZSk7ZWxzZSBzZWxmLnNldE5vZGUodil9KTtyZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLnNldE5vZGU9CmZ1bmN0aW9uKHYsdmFsdWUpe2lmKF8uaGFzKHRoaXMuX25vZGVzLHYpKXtpZihhcmd1bWVudHMubGVuZ3RoPjEpdGhpcy5fbm9kZXNbdl09dmFsdWU7cmV0dXJuIHRoaXN9dGhpcy5fbm9kZXNbdl09YXJndW1lbnRzLmxlbmd0aD4xP3ZhbHVlOnRoaXMuX2RlZmF1bHROb2RlTGFiZWxGbih2KTtpZih0aGlzLl9pc0NvbXBvdW5kKXt0aGlzLl9wYXJlbnRbdl09R1JBUEhfTk9ERTt0aGlzLl9jaGlsZHJlblt2XT17fTt0aGlzLl9jaGlsZHJlbltHUkFQSF9OT0RFXVt2XT10cnVlfXRoaXMuX2luW3ZdPXt9O3RoaXMuX3ByZWRzW3ZdPXt9O3RoaXMuX291dFt2XT17fTt0aGlzLl9zdWNzW3ZdPXt9OysrdGhpcy5fbm9kZUNvdW50O3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih2KXtyZXR1cm4gdGhpcy5fbm9kZXNbdl19O0dyYXBoLnByb3RvdHlwZS5oYXNOb2RlPWZ1bmN0aW9uKHYpe3JldHVybiBfLmhhcyh0aGlzLl9ub2Rlcyx2KX07R3JhcGgucHJvdG90eXBlLnJlbW92ZU5vZGU9CmZ1bmN0aW9uKHYpe3ZhciBzZWxmPXRoaXM7aWYoXy5oYXModGhpcy5fbm9kZXMsdikpe3ZhciByZW1vdmVFZGdlPWZ1bmN0aW9uKGUpe3NlbGYucmVtb3ZlRWRnZShzZWxmLl9lZGdlT2Jqc1tlXSl9O2RlbGV0ZSB0aGlzLl9ub2Rlc1t2XTtpZih0aGlzLl9pc0NvbXBvdW5kKXt0aGlzLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdCh2KTtkZWxldGUgdGhpcy5fcGFyZW50W3ZdO18uZWFjaCh0aGlzLmNoaWxkcmVuKHYpLGZ1bmN0aW9uKGNoaWxkKXtzZWxmLnNldFBhcmVudChjaGlsZCl9KTtkZWxldGUgdGhpcy5fY2hpbGRyZW5bdl19Xy5lYWNoKF8ua2V5cyh0aGlzLl9pblt2XSkscmVtb3ZlRWRnZSk7ZGVsZXRlIHRoaXMuX2luW3ZdO2RlbGV0ZSB0aGlzLl9wcmVkc1t2XTtfLmVhY2goXy5rZXlzKHRoaXMuX291dFt2XSkscmVtb3ZlRWRnZSk7ZGVsZXRlIHRoaXMuX291dFt2XTtkZWxldGUgdGhpcy5fc3Vjc1t2XTstLXRoaXMuX25vZGVDb3VudH1yZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLnNldFBhcmVudD0KZnVuY3Rpb24odixwYXJlbnQpe2lmKCF0aGlzLl9pc0NvbXBvdW5kKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBwYXJlbnQgaW4gYSBub24tY29tcG91bmQgZ3JhcGgiKTtpZihfLmlzVW5kZWZpbmVkKHBhcmVudCkpcGFyZW50PUdSQVBIX05PREU7ZWxzZXtwYXJlbnQrPSIiO2Zvcih2YXIgYW5jZXN0b3I9cGFyZW50OyFfLmlzVW5kZWZpbmVkKGFuY2VzdG9yKTthbmNlc3Rvcj10aGlzLnBhcmVudChhbmNlc3RvcikpaWYoYW5jZXN0b3I9PT12KXRocm93IG5ldyBFcnJvcigiU2V0dGluZyAiK3BhcmVudCsiIGFzIHBhcmVudCBvZiAiK3YrIiB3b3VsZCBjcmVhdGUgYSBjeWNsZSIpO3RoaXMuc2V0Tm9kZShwYXJlbnQpfXRoaXMuc2V0Tm9kZSh2KTt0aGlzLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdCh2KTt0aGlzLl9wYXJlbnRbdl09cGFyZW50O3RoaXMuX2NoaWxkcmVuW3BhcmVudF1bdl09dHJ1ZTtyZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdD0KZnVuY3Rpb24odil7ZGVsZXRlIHRoaXMuX2NoaWxkcmVuW3RoaXMuX3BhcmVudFt2XV1bdl19O0dyYXBoLnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24odil7aWYodGhpcy5faXNDb21wb3VuZCl7dmFyIHBhcmVudD10aGlzLl9wYXJlbnRbdl07aWYocGFyZW50IT09R1JBUEhfTk9ERSlyZXR1cm4gcGFyZW50fX07R3JhcGgucHJvdG90eXBlLmNoaWxkcmVuPWZ1bmN0aW9uKHYpe2lmKF8uaXNVbmRlZmluZWQodikpdj1HUkFQSF9OT0RFO2lmKHRoaXMuX2lzQ29tcG91bmQpe3ZhciBjaGlsZHJlbj10aGlzLl9jaGlsZHJlblt2XTtpZihjaGlsZHJlbilyZXR1cm4gXy5rZXlzKGNoaWxkcmVuKX1lbHNlIGlmKHY9PT1HUkFQSF9OT0RFKXJldHVybiB0aGlzLm5vZGVzKCk7ZWxzZSBpZih0aGlzLmhhc05vZGUodikpcmV0dXJuW119O0dyYXBoLnByb3RvdHlwZS5wcmVkZWNlc3NvcnM9ZnVuY3Rpb24odil7dmFyIHByZWRzVj10aGlzLl9wcmVkc1t2XTtpZihwcmVkc1YpcmV0dXJuIF8ua2V5cyhwcmVkc1YpfTsKR3JhcGgucHJvdG90eXBlLnN1Y2Nlc3NvcnM9ZnVuY3Rpb24odil7dmFyIHN1Y3NWPXRoaXMuX3N1Y3Nbdl07aWYoc3Vjc1YpcmV0dXJuIF8ua2V5cyhzdWNzVil9O0dyYXBoLnByb3RvdHlwZS5uZWlnaGJvcnM9ZnVuY3Rpb24odil7dmFyIHByZWRzPXRoaXMucHJlZGVjZXNzb3JzKHYpO2lmKHByZWRzKXJldHVybiBfLnVuaW9uKHByZWRzLHRoaXMuc3VjY2Vzc29ycyh2KSl9O0dyYXBoLnByb3RvdHlwZS5pc0xlYWY9ZnVuY3Rpb24odil7dmFyIG5laWdoYm9ycztpZih0aGlzLmlzRGlyZWN0ZWQoKSluZWlnaGJvcnM9dGhpcy5zdWNjZXNzb3JzKHYpO2Vsc2UgbmVpZ2hib3JzPXRoaXMubmVpZ2hib3JzKHYpO3JldHVybiBuZWlnaGJvcnMubGVuZ3RoPT09MH07R3JhcGgucHJvdG90eXBlLmZpbHRlck5vZGVzPWZ1bmN0aW9uKGZpbHRlcil7dmFyIGNvcHk9bmV3IHRoaXMuY29uc3RydWN0b3Ioe2RpcmVjdGVkOnRoaXMuX2lzRGlyZWN0ZWQsbXVsdGlncmFwaDp0aGlzLl9pc011bHRpZ3JhcGgsCmNvbXBvdW5kOnRoaXMuX2lzQ29tcG91bmR9KTtjb3B5LnNldEdyYXBoKHRoaXMuZ3JhcGgoKSk7dmFyIHNlbGY9dGhpcztfLmVhY2godGhpcy5fbm9kZXMsZnVuY3Rpb24odmFsdWUsdil7aWYoZmlsdGVyKHYpKWNvcHkuc2V0Tm9kZSh2LHZhbHVlKX0pO18uZWFjaCh0aGlzLl9lZGdlT2JqcyxmdW5jdGlvbihlKXtpZihjb3B5Lmhhc05vZGUoZS52KSYmY29weS5oYXNOb2RlKGUudykpY29weS5zZXRFZGdlKGUsc2VsZi5lZGdlKGUpKX0pO3ZhciBwYXJlbnRzPXt9O2Z1bmN0aW9uIGZpbmRQYXJlbnQodil7dmFyIHBhcmVudD1zZWxmLnBhcmVudCh2KTtpZihwYXJlbnQ9PT11bmRlZmluZWR8fGNvcHkuaGFzTm9kZShwYXJlbnQpKXtwYXJlbnRzW3ZdPXBhcmVudDtyZXR1cm4gcGFyZW50fWVsc2UgaWYocGFyZW50IGluIHBhcmVudHMpcmV0dXJuIHBhcmVudHNbcGFyZW50XTtlbHNlIHJldHVybiBmaW5kUGFyZW50KHBhcmVudCl9aWYodGhpcy5faXNDb21wb3VuZClfLmVhY2goY29weS5ub2RlcygpLApmdW5jdGlvbih2KXtjb3B5LnNldFBhcmVudCh2LGZpbmRQYXJlbnQodikpfSk7cmV0dXJuIGNvcHl9O0dyYXBoLnByb3RvdHlwZS5zZXREZWZhdWx0RWRnZUxhYmVsPWZ1bmN0aW9uKG5ld0RlZmF1bHQpe2lmKCFfLmlzRnVuY3Rpb24obmV3RGVmYXVsdCkpbmV3RGVmYXVsdD1fLmNvbnN0YW50KG5ld0RlZmF1bHQpO3RoaXMuX2RlZmF1bHRFZGdlTGFiZWxGbj1uZXdEZWZhdWx0O3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUuZWRnZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VkZ2VDb3VudH07R3JhcGgucHJvdG90eXBlLmVkZ2VzPWZ1bmN0aW9uKCl7cmV0dXJuIF8udmFsdWVzKHRoaXMuX2VkZ2VPYmpzKX07R3JhcGgucHJvdG90eXBlLnNldFBhdGg9ZnVuY3Rpb24odnMsdmFsdWUpe3ZhciBzZWxmPXRoaXMsYXJncz1hcmd1bWVudHM7Xy5yZWR1Y2UodnMsZnVuY3Rpb24odix3KXtpZihhcmdzLmxlbmd0aD4xKXNlbGYuc2V0RWRnZSh2LHcsdmFsdWUpO2Vsc2Ugc2VsZi5zZXRFZGdlKHYsCncpO3JldHVybiB3fSk7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5zZXRFZGdlPWZ1bmN0aW9uKCl7dmFyIHYsdyxuYW1lLHZhbHVlLHZhbHVlU3BlY2lmaWVkPWZhbHNlLGFyZzA9YXJndW1lbnRzWzBdO2lmKHR5cGVvZiBhcmcwPT09Im9iamVjdCImJmFyZzAhPT1udWxsJiYidiJpbiBhcmcwKXt2PWFyZzAudjt3PWFyZzAudztuYW1lPWFyZzAubmFtZTtpZihhcmd1bWVudHMubGVuZ3RoPT09Mil7dmFsdWU9YXJndW1lbnRzWzFdO3ZhbHVlU3BlY2lmaWVkPXRydWV9fWVsc2V7dj1hcmcwO3c9YXJndW1lbnRzWzFdO25hbWU9YXJndW1lbnRzWzNdO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mil7dmFsdWU9YXJndW1lbnRzWzJdO3ZhbHVlU3BlY2lmaWVkPXRydWV9fXY9IiIrdjt3PSIiK3c7aWYoIV8uaXNVbmRlZmluZWQobmFtZSkpbmFtZT0iIituYW1lO3ZhciBlPWVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKTtpZihfLmhhcyh0aGlzLl9lZGdlTGFiZWxzLAplKSl7aWYodmFsdWVTcGVjaWZpZWQpdGhpcy5fZWRnZUxhYmVsc1tlXT12YWx1ZTtyZXR1cm4gdGhpc31pZighXy5pc1VuZGVmaW5lZChuYW1lKSYmIXRoaXMuX2lzTXVsdGlncmFwaCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgYSBuYW1lZCBlZGdlIHdoZW4gaXNNdWx0aWdyYXBoIFx4M2QgZmFsc2UiKTt0aGlzLnNldE5vZGUodik7dGhpcy5zZXROb2RlKHcpO3RoaXMuX2VkZ2VMYWJlbHNbZV09dmFsdWVTcGVjaWZpZWQ/dmFsdWU6dGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuKHYsdyxuYW1lKTt2YXIgZWRnZU9iaj1lZGdlQXJnc1RvT2JqKHRoaXMuX2lzRGlyZWN0ZWQsdix3LG5hbWUpO3Y9ZWRnZU9iai52O3c9ZWRnZU9iai53O09iamVjdC5mcmVlemUoZWRnZU9iaik7dGhpcy5fZWRnZU9ianNbZV09ZWRnZU9iajtpbmNyZW1lbnRPckluaXRFbnRyeSh0aGlzLl9wcmVkc1t3XSx2KTtpbmNyZW1lbnRPckluaXRFbnRyeSh0aGlzLl9zdWNzW3ZdLHcpO3RoaXMuX2luW3ddW2VdPQplZGdlT2JqO3RoaXMuX291dFt2XVtlXT1lZGdlT2JqO3RoaXMuX2VkZ2VDb3VudCsrO3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUuZWRnZT1mdW5jdGlvbih2LHcsbmFtZSl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD09PTE/ZWRnZU9ialRvSWQodGhpcy5faXNEaXJlY3RlZCxhcmd1bWVudHNbMF0pOmVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKTtyZXR1cm4gdGhpcy5fZWRnZUxhYmVsc1tlXX07R3JhcGgucHJvdG90eXBlLmhhc0VkZ2U9ZnVuY3Rpb24odix3LG5hbWUpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg9PT0xP2VkZ2VPYmpUb0lkKHRoaXMuX2lzRGlyZWN0ZWQsYXJndW1lbnRzWzBdKTplZGdlQXJnc1RvSWQodGhpcy5faXNEaXJlY3RlZCx2LHcsbmFtZSk7cmV0dXJuIF8uaGFzKHRoaXMuX2VkZ2VMYWJlbHMsZSl9O0dyYXBoLnByb3RvdHlwZS5yZW1vdmVFZGdlPWZ1bmN0aW9uKHYsdyxuYW1lKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPT09MT8KZWRnZU9ialRvSWQodGhpcy5faXNEaXJlY3RlZCxhcmd1bWVudHNbMF0pOmVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKSxlZGdlPXRoaXMuX2VkZ2VPYmpzW2VdO2lmKGVkZ2Upe3Y9ZWRnZS52O3c9ZWRnZS53O2RlbGV0ZSB0aGlzLl9lZGdlTGFiZWxzW2VdO2RlbGV0ZSB0aGlzLl9lZGdlT2Jqc1tlXTtkZWNyZW1lbnRPclJlbW92ZUVudHJ5KHRoaXMuX3ByZWRzW3ddLHYpO2RlY3JlbWVudE9yUmVtb3ZlRW50cnkodGhpcy5fc3Vjc1t2XSx3KTtkZWxldGUgdGhpcy5faW5bd11bZV07ZGVsZXRlIHRoaXMuX291dFt2XVtlXTt0aGlzLl9lZGdlQ291bnQtLX1yZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLmluRWRnZXM9ZnVuY3Rpb24odix1KXt2YXIgaW5WPXRoaXMuX2luW3ZdO2lmKGluVil7dmFyIGVkZ2VzPV8udmFsdWVzKGluVik7aWYoIXUpcmV0dXJuIGVkZ2VzO3JldHVybiBfLmZpbHRlcihlZGdlcyxmdW5jdGlvbihlZGdlKXtyZXR1cm4gZWRnZS52PT09CnV9KX19O0dyYXBoLnByb3RvdHlwZS5vdXRFZGdlcz1mdW5jdGlvbih2LHcpe3ZhciBvdXRWPXRoaXMuX291dFt2XTtpZihvdXRWKXt2YXIgZWRnZXM9Xy52YWx1ZXMob3V0Vik7aWYoIXcpcmV0dXJuIGVkZ2VzO3JldHVybiBfLmZpbHRlcihlZGdlcyxmdW5jdGlvbihlZGdlKXtyZXR1cm4gZWRnZS53PT09d30pfX07R3JhcGgucHJvdG90eXBlLm5vZGVFZGdlcz1mdW5jdGlvbih2LHcpe3ZhciBpbkVkZ2VzPXRoaXMuaW5FZGdlcyh2LHcpO2lmKGluRWRnZXMpcmV0dXJuIGluRWRnZXMuY29uY2F0KHRoaXMub3V0RWRnZXModix3KSl9O2Z1bmN0aW9uIGluY3JlbWVudE9ySW5pdEVudHJ5KG1hcCxrKXtpZihtYXBba10pbWFwW2tdKys7ZWxzZSBtYXBba109MX1mdW5jdGlvbiBkZWNyZW1lbnRPclJlbW92ZUVudHJ5KG1hcCxrKXtpZighLS1tYXBba10pZGVsZXRlIG1hcFtrXX1mdW5jdGlvbiBlZGdlQXJnc1RvSWQoaXNEaXJlY3RlZCx2Xyx3XyxuYW1lKXt2YXIgdj0iIit2Xzt2YXIgdz0KIiIrd187aWYoIWlzRGlyZWN0ZWQmJnY+dyl7dmFyIHRtcD12O3Y9dzt3PXRtcH1yZXR1cm4gditFREdFX0tFWV9ERUxJTSt3K0VER0VfS0VZX0RFTElNKyhfLmlzVW5kZWZpbmVkKG5hbWUpP0RFRkFVTFRfRURHRV9OQU1FOm5hbWUpfWZ1bmN0aW9uIGVkZ2VBcmdzVG9PYmooaXNEaXJlY3RlZCx2Xyx3XyxuYW1lKXt2YXIgdj0iIit2Xzt2YXIgdz0iIit3XztpZighaXNEaXJlY3RlZCYmdj53KXt2YXIgdG1wPXY7dj13O3c9dG1wfXZhciBlZGdlT2JqPXt2OnYsdzp3fTtpZihuYW1lKWVkZ2VPYmoubmFtZT1uYW1lO3JldHVybiBlZGdlT2JqfWZ1bmN0aW9uIGVkZ2VPYmpUb0lkKGlzRGlyZWN0ZWQsZWRnZU9iail7cmV0dXJuIGVkZ2VBcmdzVG9JZChpc0RpcmVjdGVkLGVkZ2VPYmoudixlZGdlT2JqLncsZWRnZU9iai5uYW1lKX19LHsiLi9sb2Rhc2giOjE5fV0sMTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtHcmFwaDpyZXF1aXJlKCIuL2dyYXBoIiksCnZlcnNpb246cmVxdWlyZSgiLi92ZXJzaW9uIil9fSx7Ii4vZ3JhcGgiOjE2LCIuL3ZlcnNpb24iOjIwfV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaCIpO21vZHVsZS5leHBvcnRzPXt3cml0ZTp3cml0ZSxyZWFkOnJlYWR9O2Z1bmN0aW9uIHdyaXRlKGcpe3ZhciBqc29uPXtvcHRpb25zOntkaXJlY3RlZDpnLmlzRGlyZWN0ZWQoKSxtdWx0aWdyYXBoOmcuaXNNdWx0aWdyYXBoKCksY29tcG91bmQ6Zy5pc0NvbXBvdW5kKCl9LG5vZGVzOndyaXRlTm9kZXMoZyksZWRnZXM6d3JpdGVFZGdlcyhnKX07aWYoIV8uaXNVbmRlZmluZWQoZy5ncmFwaCgpKSlqc29uLnZhbHVlPV8uY2xvbmUoZy5ncmFwaCgpKTtyZXR1cm4ganNvbn1mdW5jdGlvbiB3cml0ZU5vZGVzKGcpe3JldHVybiBfLm1hcChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGVWYWx1ZT1nLm5vZGUodikscGFyZW50PQpnLnBhcmVudCh2KSxub2RlPXt2OnZ9O2lmKCFfLmlzVW5kZWZpbmVkKG5vZGVWYWx1ZSkpbm9kZS52YWx1ZT1ub2RlVmFsdWU7aWYoIV8uaXNVbmRlZmluZWQocGFyZW50KSlub2RlLnBhcmVudD1wYXJlbnQ7cmV0dXJuIG5vZGV9KX1mdW5jdGlvbiB3cml0ZUVkZ2VzKGcpe3JldHVybiBfLm1hcChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2VWYWx1ZT1nLmVkZ2UoZSksZWRnZT17djplLnYsdzplLnd9O2lmKCFfLmlzVW5kZWZpbmVkKGUubmFtZSkpZWRnZS5uYW1lPWUubmFtZTtpZighXy5pc1VuZGVmaW5lZChlZGdlVmFsdWUpKWVkZ2UudmFsdWU9ZWRnZVZhbHVlO3JldHVybiBlZGdlfSl9ZnVuY3Rpb24gcmVhZChqc29uKXt2YXIgZz0obmV3IEdyYXBoKGpzb24ub3B0aW9ucykpLnNldEdyYXBoKGpzb24udmFsdWUpO18uZWFjaChqc29uLm5vZGVzLGZ1bmN0aW9uKGVudHJ5KXtnLnNldE5vZGUoZW50cnkudixlbnRyeS52YWx1ZSk7aWYoZW50cnkucGFyZW50KWcuc2V0UGFyZW50KGVudHJ5LnYsCmVudHJ5LnBhcmVudCl9KTtfLmVhY2goanNvbi5lZGdlcyxmdW5jdGlvbihlbnRyeSl7Zy5zZXRFZGdlKHt2OmVudHJ5LnYsdzplbnRyeS53LG5hbWU6ZW50cnkubmFtZX0sZW50cnkudmFsdWUpfSk7cmV0dXJuIGd9fSx7Ii4vZ3JhcGgiOjE2LCIuL2xvZGFzaCI6MTl9XSwxOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIGxvZGFzaDtpZih0eXBlb2YgcmVxdWlyZT09PSJmdW5jdGlvbiIpdHJ5e2xvZGFzaD1yZXF1aXJlKCJsb2Rhc2giKX1jYXRjaChlKXt9aWYoIWxvZGFzaClsb2Rhc2g9d2luZG93Ll87bW9kdWxlLmV4cG9ydHM9bG9kYXNofSx7ImxvZGFzaCI6dW5kZWZpbmVkfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPSIyLjEuNSJ9LHt9XX0se30sWzFdKSgxKX0pOwooZnVuY3Rpb24oZil7aWYodHlwZW9mIGV4cG9ydHM9PT0ib2JqZWN0IiYmdHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKW1vZHVsZS5leHBvcnRzPWYoKTtlbHNlIGlmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKWRlZmluZShbXSxmKTtlbHNle3ZhciBnO2lmKHR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIilnPXdpbmRvdztlbHNlIGlmKHR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIilnPWdsb2JhbDtlbHNlIGlmKHR5cGVvZiBzZWxmIT09InVuZGVmaW5lZCIpZz1zZWxmO2Vsc2UgZz10aGlzO2cuZGFncmU9ZigpfX0pKGZ1bmN0aW9uKCl7dmFyIGRlZmluZSxtb2R1bGUsZXhwb3J0cztyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj0KbmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbysiJyIpO3Rocm93IGYuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZjt9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7bW9kdWxlLmV4cG9ydHM9e2dyYXBobGliOnJlcXVpcmUoIi4vbGliL2dyYXBobGliIiksbGF5b3V0OnJlcXVpcmUoIi4vbGliL2xheW91dCIpLGRlYnVnOnJlcXVpcmUoIi4vbGliL2RlYnVnIiksdXRpbDp7dGltZTpyZXF1aXJlKCIuL2xpYi91dGlsIikudGltZSxub3RpbWU6cmVxdWlyZSgiLi9saWIvdXRpbCIpLm5vdGltZX0sCnZlcnNpb246cmVxdWlyZSgiLi9saWIvdmVyc2lvbiIpfX0seyIuL2xpYi9kZWJ1ZyI6NiwiLi9saWIvZ3JhcGhsaWIiOjcsIi4vbGliL2xheW91dCI6OSwiLi9saWIvdXRpbCI6MjksIi4vbGliL3ZlcnNpb24iOjMwfV0sMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSxncmVlZHlGQVM9cmVxdWlyZSgiLi9ncmVlZHktZmFzIik7bW9kdWxlLmV4cG9ydHM9e3J1bjpydW4sdW5kbzp1bmRvfTtmdW5jdGlvbiBydW4oZyl7dmFyIGZhcz1nLmdyYXBoKCkuYWN5Y2xpY2VyPT09ImdyZWVkeSI/Z3JlZWR5RkFTKGcsd2VpZ2h0Rm4oZykpOmRmc0ZBUyhnKTtfLmZvckVhY2goZmFzLGZ1bmN0aW9uKGUpe3ZhciBsYWJlbD1nLmVkZ2UoZSk7Zy5yZW1vdmVFZGdlKGUpO2xhYmVsLmZvcndhcmROYW1lPWUubmFtZTtsYWJlbC5yZXZlcnNlZD10cnVlO2cuc2V0RWRnZShlLncsZS52LGxhYmVsLF8udW5pcXVlSWQoInJldiIpKX0pO2Z1bmN0aW9uIHdlaWdodEZuKGcpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZy5lZGdlKGUpLndlaWdodH19Cn1mdW5jdGlvbiBkZnNGQVMoZyl7dmFyIGZhcz1bXSxzdGFjaz17fSx2aXNpdGVkPXt9O2Z1bmN0aW9uIGRmcyh2KXtpZihfLmhhcyh2aXNpdGVkLHYpKXJldHVybjt2aXNpdGVkW3ZdPXRydWU7c3RhY2tbdl09dHJ1ZTtfLmZvckVhY2goZy5vdXRFZGdlcyh2KSxmdW5jdGlvbihlKXtpZihfLmhhcyhzdGFjayxlLncpKWZhcy5wdXNoKGUpO2Vsc2UgZGZzKGUudyl9KTtkZWxldGUgc3RhY2tbdl19Xy5mb3JFYWNoKGcubm9kZXMoKSxkZnMpO3JldHVybiBmYXN9ZnVuY3Rpb24gdW5kbyhnKXtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBsYWJlbD1nLmVkZ2UoZSk7aWYobGFiZWwucmV2ZXJzZWQpe2cucmVtb3ZlRWRnZShlKTt2YXIgZm9yd2FyZE5hbWU9bGFiZWwuZm9yd2FyZE5hbWU7ZGVsZXRlIGxhYmVsLnJldmVyc2VkO2RlbGV0ZSBsYWJlbC5mb3J3YXJkTmFtZTtnLnNldEVkZ2UoZS53LGUudixsYWJlbCxmb3J3YXJkTmFtZSl9fSl9fSx7Ii4vZ3JlZWR5LWZhcyI6OCwKIi4vbG9kYXNoIjoxMH1dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuL3V0aWwiKTttb2R1bGUuZXhwb3J0cz1hZGRCb3JkZXJTZWdtZW50cztmdW5jdGlvbiBhZGRCb3JkZXJTZWdtZW50cyhnKXtmdW5jdGlvbiBkZnModil7dmFyIGNoaWxkcmVuPWcuY2hpbGRyZW4odiksbm9kZT1nLm5vZGUodik7aWYoY2hpbGRyZW4ubGVuZ3RoKV8uZm9yRWFjaChjaGlsZHJlbixkZnMpO2lmKF8uaGFzKG5vZGUsIm1pblJhbmsiKSl7bm9kZS5ib3JkZXJMZWZ0PVtdO25vZGUuYm9yZGVyUmlnaHQ9W107Zm9yKHZhciByYW5rPW5vZGUubWluUmFuayxtYXhSYW5rPW5vZGUubWF4UmFuaysxO3Jhbms8bWF4UmFuazsrK3Jhbmspe2FkZEJvcmRlck5vZGUoZywiYm9yZGVyTGVmdCIsIl9ibCIsdixub2RlLHJhbmspO2FkZEJvcmRlck5vZGUoZywiYm9yZGVyUmlnaHQiLCJfYnIiLHYsbm9kZSxyYW5rKX19fV8uZm9yRWFjaChnLmNoaWxkcmVuKCksCmRmcyl9ZnVuY3Rpb24gYWRkQm9yZGVyTm9kZShnLHByb3AscHJlZml4LHNnLHNnTm9kZSxyYW5rKXt2YXIgbGFiZWw9e3dpZHRoOjAsaGVpZ2h0OjAscmFuazpyYW5rLGJvcmRlclR5cGU6cHJvcH0scHJldj1zZ05vZGVbcHJvcF1bcmFuay0xXSxjdXJyPXV0aWwuYWRkRHVtbXlOb2RlKGcsImJvcmRlciIsbGFiZWwscHJlZml4KTtzZ05vZGVbcHJvcF1bcmFua109Y3VycjtnLnNldFBhcmVudChjdXJyLHNnKTtpZihwcmV2KWcuc2V0RWRnZShwcmV2LGN1cnIse3dlaWdodDoxfSl9fSx7Ii4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9e2FkanVzdDphZGp1c3QsdW5kbzp1bmRvfTtmdW5jdGlvbiBhZGp1c3QoZyl7dmFyIHJhbmtEaXI9Zy5ncmFwaCgpLnJhbmtkaXIudG9Mb3dlckNhc2UoKTtpZihyYW5rRGlyPT09ImxyInx8cmFua0Rpcj09PSJybCIpc3dhcFdpZHRoSGVpZ2h0KGcpfQpmdW5jdGlvbiB1bmRvKGcpe3ZhciByYW5rRGlyPWcuZ3JhcGgoKS5yYW5rZGlyLnRvTG93ZXJDYXNlKCk7aWYocmFua0Rpcj09PSJidCJ8fHJhbmtEaXI9PT0icmwiKXJldmVyc2VZKGcpO2lmKHJhbmtEaXI9PT0ibHIifHxyYW5rRGlyPT09InJsIil7c3dhcFhZKGcpO3N3YXBXaWR0aEhlaWdodChnKX19ZnVuY3Rpb24gc3dhcFdpZHRoSGVpZ2h0KGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7c3dhcFdpZHRoSGVpZ2h0T25lKGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3N3YXBXaWR0aEhlaWdodE9uZShnLmVkZ2UoZSkpfSl9ZnVuY3Rpb24gc3dhcFdpZHRoSGVpZ2h0T25lKGF0dHJzKXt2YXIgdz1hdHRycy53aWR0aDthdHRycy53aWR0aD1hdHRycy5oZWlnaHQ7YXR0cnMuaGVpZ2h0PXd9ZnVuY3Rpb24gcmV2ZXJzZVkoZyl7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtyZXZlcnNlWU9uZShnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSwKZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpO18uZm9yRWFjaChlZGdlLnBvaW50cyxyZXZlcnNlWU9uZSk7aWYoXy5oYXMoZWRnZSwieSIpKXJldmVyc2VZT25lKGVkZ2UpfSl9ZnVuY3Rpb24gcmV2ZXJzZVlPbmUoYXR0cnMpe2F0dHJzLnk9LWF0dHJzLnl9ZnVuY3Rpb24gc3dhcFhZKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7c3dhcFhZT25lKGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtfLmZvckVhY2goZWRnZS5wb2ludHMsc3dhcFhZT25lKTtpZihfLmhhcyhlZGdlLCJ4Iikpc3dhcFhZT25lKGVkZ2UpfSl9ZnVuY3Rpb24gc3dhcFhZT25lKGF0dHJzKXt2YXIgeD1hdHRycy54O2F0dHJzLng9YXR0cnMueTthdHRycy55PXh9fSx7Ii4vbG9kYXNoIjoxMH1dLDU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPUxpc3Q7ZnVuY3Rpb24gTGlzdCgpe3ZhciBzZW50aW5lbD0Ke307c2VudGluZWwuX25leHQ9c2VudGluZWwuX3ByZXY9c2VudGluZWw7dGhpcy5fc2VudGluZWw9c2VudGluZWx9TGlzdC5wcm90b3R5cGUuZGVxdWV1ZT1mdW5jdGlvbigpe3ZhciBzZW50aW5lbD10aGlzLl9zZW50aW5lbCxlbnRyeT1zZW50aW5lbC5fcHJldjtpZihlbnRyeSE9PXNlbnRpbmVsKXt1bmxpbmsoZW50cnkpO3JldHVybiBlbnRyeX19O0xpc3QucHJvdG90eXBlLmVucXVldWU9ZnVuY3Rpb24oZW50cnkpe3ZhciBzZW50aW5lbD10aGlzLl9zZW50aW5lbDtpZihlbnRyeS5fcHJldiYmZW50cnkuX25leHQpdW5saW5rKGVudHJ5KTtlbnRyeS5fbmV4dD1zZW50aW5lbC5fbmV4dDtzZW50aW5lbC5fbmV4dC5fcHJldj1lbnRyeTtzZW50aW5lbC5fbmV4dD1lbnRyeTtlbnRyeS5fcHJldj1zZW50aW5lbH07TGlzdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgc3Rycz1bXSxzZW50aW5lbD10aGlzLl9zZW50aW5lbCxjdXJyPXNlbnRpbmVsLl9wcmV2O3doaWxlKGN1cnIhPT0Kc2VudGluZWwpe3N0cnMucHVzaChKU09OLnN0cmluZ2lmeShjdXJyLGZpbHRlck91dExpbmtzKSk7Y3Vycj1jdXJyLl9wcmV2fXJldHVybiJbIitzdHJzLmpvaW4oIiwgIikrIl0ifTtmdW5jdGlvbiB1bmxpbmsoZW50cnkpe2VudHJ5Ll9wcmV2Ll9uZXh0PWVudHJ5Ll9uZXh0O2VudHJ5Ll9uZXh0Ll9wcmV2PWVudHJ5Ll9wcmV2O2RlbGV0ZSBlbnRyeS5fbmV4dDtkZWxldGUgZW50cnkuX3ByZXZ9ZnVuY3Rpb24gZmlsdGVyT3V0TGlua3Moayx2KXtpZihrIT09Il9uZXh0IiYmayE9PSJfcHJldiIpcmV0dXJuIHZ9fSx7fV0sNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSx1dGlsPXJlcXVpcmUoIi4vdXRpbCIpLEdyYXBoPXJlcXVpcmUoIi4vZ3JhcGhsaWIiKS5HcmFwaDttb2R1bGUuZXhwb3J0cz17ZGVidWdPcmRlcmluZzpkZWJ1Z09yZGVyaW5nfTtmdW5jdGlvbiBkZWJ1Z09yZGVyaW5nKGcpe3ZhciBsYXllck1hdHJpeD0KdXRpbC5idWlsZExheWVyTWF0cml4KGcpO3ZhciBoPShuZXcgR3JhcGgoe2NvbXBvdW5kOnRydWUsbXVsdGlncmFwaDp0cnVlfSkpLnNldEdyYXBoKHt9KTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe2guc2V0Tm9kZSh2LHtsYWJlbDp2fSk7aC5zZXRQYXJlbnQodiwibGF5ZXIiK2cubm9kZSh2KS5yYW5rKX0pO18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7aC5zZXRFZGdlKGUudixlLncse30sZS5uYW1lKX0pO18uZm9yRWFjaChsYXllck1hdHJpeCxmdW5jdGlvbihsYXllcixpKXt2YXIgbGF5ZXJWPSJsYXllciIraTtoLnNldE5vZGUobGF5ZXJWLHtyYW5rOiJzYW1lIn0pO18ucmVkdWNlKGxheWVyLGZ1bmN0aW9uKHUsdil7aC5zZXRFZGdlKHUsdix7c3R5bGU6ImludmlzIn0pO3JldHVybiB2fSl9KTtyZXR1cm4gaH19LHsiLi9ncmFwaGxpYiI6NywiLi9sb2Rhc2giOjEwLCIuL3V0aWwiOjI5fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIGdyYXBobGliOwppZih0eXBlb2YgcmVxdWlyZT09PSJmdW5jdGlvbiIpdHJ5e2dyYXBobGliPXJlcXVpcmUoImdyYXBobGliIil9Y2F0Y2goZSl7fWlmKCFncmFwaGxpYilncmFwaGxpYj13aW5kb3cuZ3JhcGhsaWI7bW9kdWxlLmV4cG9ydHM9Z3JhcGhsaWJ9LHsiZ3JhcGhsaWIiOnVuZGVmaW5lZH1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaGxpYiIpLkdyYXBoLExpc3Q9cmVxdWlyZSgiLi9kYXRhL2xpc3QiKTttb2R1bGUuZXhwb3J0cz1ncmVlZHlGQVM7dmFyIERFRkFVTFRfV0VJR0hUX0ZOPV8uY29uc3RhbnQoMSk7ZnVuY3Rpb24gZ3JlZWR5RkFTKGcsd2VpZ2h0Rm4pe2lmKGcubm9kZUNvdW50KCk8PTEpcmV0dXJuW107dmFyIHN0YXRlPWJ1aWxkU3RhdGUoZyx3ZWlnaHRGbnx8REVGQVVMVF9XRUlHSFRfRk4pO3ZhciByZXN1bHRzPWRvR3JlZWR5RkFTKHN0YXRlLmdyYXBoLHN0YXRlLmJ1Y2tldHMsCnN0YXRlLnplcm9JZHgpO3JldHVybiBfLmZsYXR0ZW4oXy5tYXAocmVzdWx0cyxmdW5jdGlvbihlKXtyZXR1cm4gZy5vdXRFZGdlcyhlLnYsZS53KX0pLHRydWUpfWZ1bmN0aW9uIGRvR3JlZWR5RkFTKGcsYnVja2V0cyx6ZXJvSWR4KXt2YXIgcmVzdWx0cz1bXSxzb3VyY2VzPWJ1Y2tldHNbYnVja2V0cy5sZW5ndGgtMV0sc2lua3M9YnVja2V0c1swXTt2YXIgZW50cnk7d2hpbGUoZy5ub2RlQ291bnQoKSl7d2hpbGUoZW50cnk9c2lua3MuZGVxdWV1ZSgpKXJlbW92ZU5vZGUoZyxidWNrZXRzLHplcm9JZHgsZW50cnkpO3doaWxlKGVudHJ5PXNvdXJjZXMuZGVxdWV1ZSgpKXJlbW92ZU5vZGUoZyxidWNrZXRzLHplcm9JZHgsZW50cnkpO2lmKGcubm9kZUNvdW50KCkpZm9yKHZhciBpPWJ1Y2tldHMubGVuZ3RoLTI7aT4wOy0taSl7ZW50cnk9YnVja2V0c1tpXS5kZXF1ZXVlKCk7aWYoZW50cnkpe3Jlc3VsdHM9cmVzdWx0cy5jb25jYXQocmVtb3ZlTm9kZShnLGJ1Y2tldHMsemVyb0lkeCwKZW50cnksdHJ1ZSkpO2JyZWFrfX19cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gcmVtb3ZlTm9kZShnLGJ1Y2tldHMsemVyb0lkeCxlbnRyeSxjb2xsZWN0UHJlZGVjZXNzb3JzKXt2YXIgcmVzdWx0cz1jb2xsZWN0UHJlZGVjZXNzb3JzP1tdOnVuZGVmaW5lZDtfLmZvckVhY2goZy5pbkVkZ2VzKGVudHJ5LnYpLGZ1bmN0aW9uKGVkZ2Upe3ZhciB3ZWlnaHQ9Zy5lZGdlKGVkZ2UpLHVFbnRyeT1nLm5vZGUoZWRnZS52KTtpZihjb2xsZWN0UHJlZGVjZXNzb3JzKXJlc3VsdHMucHVzaCh7djplZGdlLnYsdzplZGdlLnd9KTt1RW50cnkub3V0LT13ZWlnaHQ7YXNzaWduQnVja2V0KGJ1Y2tldHMsemVyb0lkeCx1RW50cnkpfSk7Xy5mb3JFYWNoKGcub3V0RWRnZXMoZW50cnkudiksZnVuY3Rpb24oZWRnZSl7dmFyIHdlaWdodD1nLmVkZ2UoZWRnZSksdz1lZGdlLncsd0VudHJ5PWcubm9kZSh3KTt3RW50cnlbImluIl0tPXdlaWdodDthc3NpZ25CdWNrZXQoYnVja2V0cyx6ZXJvSWR4LHdFbnRyeSl9KTsKZy5yZW1vdmVOb2RlKGVudHJ5LnYpO3JldHVybiByZXN1bHRzfWZ1bmN0aW9uIGJ1aWxkU3RhdGUoZyx3ZWlnaHRGbil7dmFyIGZhc0dyYXBoPW5ldyBHcmFwaCxtYXhJbj0wLG1heE91dD0wO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7ZmFzR3JhcGguc2V0Tm9kZSh2LHt2OnYsImluIjowLG91dDowfSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBwcmV2V2VpZ2h0PWZhc0dyYXBoLmVkZ2UoZS52LGUudyl8fDAsd2VpZ2h0PXdlaWdodEZuKGUpLGVkZ2VXZWlnaHQ9cHJldldlaWdodCt3ZWlnaHQ7ZmFzR3JhcGguc2V0RWRnZShlLnYsZS53LGVkZ2VXZWlnaHQpO21heE91dD1NYXRoLm1heChtYXhPdXQsZmFzR3JhcGgubm9kZShlLnYpLm91dCs9d2VpZ2h0KTttYXhJbj1NYXRoLm1heChtYXhJbixmYXNHcmFwaC5ub2RlKGUudylbImluIl0rPXdlaWdodCl9KTt2YXIgYnVja2V0cz1fLnJhbmdlKG1heE91dCttYXhJbiszKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IExpc3R9KTsKdmFyIHplcm9JZHg9bWF4SW4rMTtfLmZvckVhY2goZmFzR3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXthc3NpZ25CdWNrZXQoYnVja2V0cyx6ZXJvSWR4LGZhc0dyYXBoLm5vZGUodikpfSk7cmV0dXJue2dyYXBoOmZhc0dyYXBoLGJ1Y2tldHM6YnVja2V0cyx6ZXJvSWR4Onplcm9JZHh9fWZ1bmN0aW9uIGFzc2lnbkJ1Y2tldChidWNrZXRzLHplcm9JZHgsZW50cnkpe2lmKCFlbnRyeS5vdXQpYnVja2V0c1swXS5lbnF1ZXVlKGVudHJ5KTtlbHNlIGlmKCFlbnRyeVsiaW4iXSlidWNrZXRzW2J1Y2tldHMubGVuZ3RoLTFdLmVucXVldWUoZW50cnkpO2Vsc2UgYnVja2V0c1tlbnRyeS5vdXQtZW50cnlbImluIl0remVyb0lkeF0uZW5xdWV1ZShlbnRyeSl9fSx7Ii4vZGF0YS9saXN0Ijo1LCIuL2dyYXBobGliIjo3LCIuL2xvZGFzaCI6MTB9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpLGFjeWNsaWM9cmVxdWlyZSgiLi9hY3ljbGljIiksCm5vcm1hbGl6ZT1yZXF1aXJlKCIuL25vcm1hbGl6ZSIpLHJhbms9cmVxdWlyZSgiLi9yYW5rIiksbm9ybWFsaXplUmFua3M9cmVxdWlyZSgiLi91dGlsIikubm9ybWFsaXplUmFua3MscGFyZW50RHVtbXlDaGFpbnM9cmVxdWlyZSgiLi9wYXJlbnQtZHVtbXktY2hhaW5zIikscmVtb3ZlRW1wdHlSYW5rcz1yZXF1aXJlKCIuL3V0aWwiKS5yZW1vdmVFbXB0eVJhbmtzLG5lc3RpbmdHcmFwaD1yZXF1aXJlKCIuL25lc3RpbmctZ3JhcGgiKSxhZGRCb3JkZXJTZWdtZW50cz1yZXF1aXJlKCIuL2FkZC1ib3JkZXItc2VnbWVudHMiKSxjb29yZGluYXRlU3lzdGVtPXJlcXVpcmUoIi4vY29vcmRpbmF0ZS1zeXN0ZW0iKSxvcmRlcj1yZXF1aXJlKCIuL29yZGVyIikscG9zaXRpb249cmVxdWlyZSgiLi9wb3NpdGlvbiIpLHV0aWw9cmVxdWlyZSgiLi91dGlsIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaGxpYiIpLkdyYXBoO21vZHVsZS5leHBvcnRzPWxheW91dDtmdW5jdGlvbiBsYXlvdXQoZyxvcHRzKXt2YXIgdGltZT0Kb3B0cyYmb3B0cy5kZWJ1Z1RpbWluZz91dGlsLnRpbWU6dXRpbC5ub3RpbWU7dGltZSgibGF5b3V0IixmdW5jdGlvbigpe3ZhciBsYXlvdXRHcmFwaD10aW1lKCIgIGJ1aWxkTGF5b3V0R3JhcGgiLGZ1bmN0aW9uKCl7cmV0dXJuIGJ1aWxkTGF5b3V0R3JhcGgoZyl9KTt0aW1lKCIgIHJ1bkxheW91dCIsZnVuY3Rpb24oKXtydW5MYXlvdXQobGF5b3V0R3JhcGgsdGltZSl9KTt0aW1lKCIgIHVwZGF0ZUlucHV0R3JhcGgiLGZ1bmN0aW9uKCl7dXBkYXRlSW5wdXRHcmFwaChnLGxheW91dEdyYXBoKX0pfSl9ZnVuY3Rpb24gcnVuTGF5b3V0KGcsdGltZSl7dGltZSgiICAgIG1ha2VTcGFjZUZvckVkZ2VMYWJlbHMiLGZ1bmN0aW9uKCl7bWFrZVNwYWNlRm9yRWRnZUxhYmVscyhnKX0pO3RpbWUoIiAgICByZW1vdmVTZWxmRWRnZXMiLGZ1bmN0aW9uKCl7cmVtb3ZlU2VsZkVkZ2VzKGcpfSk7dGltZSgiICAgIGFjeWNsaWMiLGZ1bmN0aW9uKCl7YWN5Y2xpYy5ydW4oZyl9KTt0aW1lKCIgICAgbmVzdGluZ0dyYXBoLnJ1biIsCmZ1bmN0aW9uKCl7bmVzdGluZ0dyYXBoLnJ1bihnKX0pO3RpbWUoIiAgICByYW5rIixmdW5jdGlvbigpe3JhbmsodXRpbC5hc05vbkNvbXBvdW5kR3JhcGgoZykpfSk7dGltZSgiICAgIGluamVjdEVkZ2VMYWJlbFByb3hpZXMiLGZ1bmN0aW9uKCl7aW5qZWN0RWRnZUxhYmVsUHJveGllcyhnKX0pO3RpbWUoIiAgICByZW1vdmVFbXB0eVJhbmtzIixmdW5jdGlvbigpe3JlbW92ZUVtcHR5UmFua3MoZyl9KTt0aW1lKCIgICAgbmVzdGluZ0dyYXBoLmNsZWFudXAiLGZ1bmN0aW9uKCl7bmVzdGluZ0dyYXBoLmNsZWFudXAoZyl9KTt0aW1lKCIgICAgbm9ybWFsaXplUmFua3MiLGZ1bmN0aW9uKCl7bm9ybWFsaXplUmFua3MoZyl9KTt0aW1lKCIgICAgYXNzaWduUmFua01pbk1heCIsZnVuY3Rpb24oKXthc3NpZ25SYW5rTWluTWF4KGcpfSk7dGltZSgiICAgIHJlbW92ZUVkZ2VMYWJlbFByb3hpZXMiLGZ1bmN0aW9uKCl7cmVtb3ZlRWRnZUxhYmVsUHJveGllcyhnKX0pO3RpbWUoIiAgICBub3JtYWxpemUucnVuIiwKZnVuY3Rpb24oKXtub3JtYWxpemUucnVuKGcpfSk7dGltZSgiICAgIHBhcmVudER1bW15Q2hhaW5zIixmdW5jdGlvbigpe3BhcmVudER1bW15Q2hhaW5zKGcpfSk7dGltZSgiICAgIGFkZEJvcmRlclNlZ21lbnRzIixmdW5jdGlvbigpe2FkZEJvcmRlclNlZ21lbnRzKGcpfSk7dGltZSgiICAgIG9yZGVyIixmdW5jdGlvbigpe29yZGVyKGcpfSk7dGltZSgiICAgIGluc2VydFNlbGZFZGdlcyIsZnVuY3Rpb24oKXtpbnNlcnRTZWxmRWRnZXMoZyl9KTt0aW1lKCIgICAgYWRqdXN0Q29vcmRpbmF0ZVN5c3RlbSIsZnVuY3Rpb24oKXtjb29yZGluYXRlU3lzdGVtLmFkanVzdChnKX0pO3RpbWUoIiAgICBwb3NpdGlvbiIsZnVuY3Rpb24oKXtwb3NpdGlvbihnKX0pO3RpbWUoIiAgICBwb3NpdGlvblNlbGZFZGdlcyIsZnVuY3Rpb24oKXtwb3NpdGlvblNlbGZFZGdlcyhnKX0pO3RpbWUoIiAgICByZW1vdmVCb3JkZXJOb2RlcyIsZnVuY3Rpb24oKXtyZW1vdmVCb3JkZXJOb2RlcyhnKX0pO3RpbWUoIiAgICBub3JtYWxpemUudW5kbyIsCmZ1bmN0aW9uKCl7bm9ybWFsaXplLnVuZG8oZyl9KTt0aW1lKCIgICAgZml4dXBFZGdlTGFiZWxDb29yZHMiLGZ1bmN0aW9uKCl7Zml4dXBFZGdlTGFiZWxDb29yZHMoZyl9KTt0aW1lKCIgICAgdW5kb0Nvb3JkaW5hdGVTeXN0ZW0iLGZ1bmN0aW9uKCl7Y29vcmRpbmF0ZVN5c3RlbS51bmRvKGcpfSk7dGltZSgiICAgIHRyYW5zbGF0ZUdyYXBoIixmdW5jdGlvbigpe3RyYW5zbGF0ZUdyYXBoKGcpfSk7dGltZSgiICAgIGFzc2lnbk5vZGVJbnRlcnNlY3RzIixmdW5jdGlvbigpe2Fzc2lnbk5vZGVJbnRlcnNlY3RzKGcpfSk7dGltZSgiICAgIHJldmVyc2VQb2ludHMiLGZ1bmN0aW9uKCl7cmV2ZXJzZVBvaW50c0ZvclJldmVyc2VkRWRnZXMoZyl9KTt0aW1lKCIgICAgYWN5Y2xpYy51bmRvIixmdW5jdGlvbigpe2FjeWNsaWMudW5kbyhnKX0pfWZ1bmN0aW9uIHVwZGF0ZUlucHV0R3JhcGgoaW5wdXRHcmFwaCxsYXlvdXRHcmFwaCl7Xy5mb3JFYWNoKGlucHV0R3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgaW5wdXRMYWJlbD0KaW5wdXRHcmFwaC5ub2RlKHYpLGxheW91dExhYmVsPWxheW91dEdyYXBoLm5vZGUodik7aWYoaW5wdXRMYWJlbCl7aW5wdXRMYWJlbC54PWxheW91dExhYmVsLng7aW5wdXRMYWJlbC55PWxheW91dExhYmVsLnk7aWYobGF5b3V0R3JhcGguY2hpbGRyZW4odikubGVuZ3RoKXtpbnB1dExhYmVsLndpZHRoPWxheW91dExhYmVsLndpZHRoO2lucHV0TGFiZWwuaGVpZ2h0PWxheW91dExhYmVsLmhlaWdodH19fSk7Xy5mb3JFYWNoKGlucHV0R3JhcGguZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgaW5wdXRMYWJlbD1pbnB1dEdyYXBoLmVkZ2UoZSksbGF5b3V0TGFiZWw9bGF5b3V0R3JhcGguZWRnZShlKTtpbnB1dExhYmVsLnBvaW50cz1sYXlvdXRMYWJlbC5wb2ludHM7aWYoXy5oYXMobGF5b3V0TGFiZWwsIngiKSl7aW5wdXRMYWJlbC54PWxheW91dExhYmVsLng7aW5wdXRMYWJlbC55PWxheW91dExhYmVsLnl9fSk7aW5wdXRHcmFwaC5ncmFwaCgpLndpZHRoPWxheW91dEdyYXBoLmdyYXBoKCkud2lkdGg7CmlucHV0R3JhcGguZ3JhcGgoKS5oZWlnaHQ9bGF5b3V0R3JhcGguZ3JhcGgoKS5oZWlnaHR9dmFyIGdyYXBoTnVtQXR0cnM9WyJub2Rlc2VwIiwiZWRnZXNlcCIsInJhbmtzZXAiLCJtYXJnaW54IiwibWFyZ2lueSJdLGdyYXBoRGVmYXVsdHM9e3JhbmtzZXA6NTAsZWRnZXNlcDoyMCxub2Rlc2VwOjUwLHJhbmtkaXI6InRiIn0sZ3JhcGhBdHRycz1bImFjeWNsaWNlciIsInJhbmtlciIsInJhbmtkaXIiLCJhbGlnbiJdLG5vZGVOdW1BdHRycz1bIndpZHRoIiwiaGVpZ2h0Il0sbm9kZURlZmF1bHRzPXt3aWR0aDowLGhlaWdodDowfSxlZGdlTnVtQXR0cnM9WyJtaW5sZW4iLCJ3ZWlnaHQiLCJ3aWR0aCIsImhlaWdodCIsImxhYmVsb2Zmc2V0Il0sZWRnZURlZmF1bHRzPXttaW5sZW46MSx3ZWlnaHQ6MSx3aWR0aDowLGhlaWdodDowLGxhYmVsb2Zmc2V0OjEwLGxhYmVscG9zOiJyIn0sZWRnZUF0dHJzPVsibGFiZWxwb3MiXTtmdW5jdGlvbiBidWlsZExheW91dEdyYXBoKGlucHV0R3JhcGgpe3ZhciBnPQpuZXcgR3JhcGgoe211bHRpZ3JhcGg6dHJ1ZSxjb21wb3VuZDp0cnVlfSksZ3JhcGg9Y2Fub25pY2FsaXplKGlucHV0R3JhcGguZ3JhcGgoKSk7Zy5zZXRHcmFwaChfLm1lcmdlKHt9LGdyYXBoRGVmYXVsdHMsc2VsZWN0TnVtYmVyQXR0cnMoZ3JhcGgsZ3JhcGhOdW1BdHRycyksXy5waWNrKGdyYXBoLGdyYXBoQXR0cnMpKSk7Xy5mb3JFYWNoKGlucHV0R3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1jYW5vbmljYWxpemUoaW5wdXRHcmFwaC5ub2RlKHYpKTtnLnNldE5vZGUodixfLmRlZmF1bHRzKHNlbGVjdE51bWJlckF0dHJzKG5vZGUsbm9kZU51bUF0dHJzKSxub2RlRGVmYXVsdHMpKTtnLnNldFBhcmVudCh2LGlucHV0R3JhcGgucGFyZW50KHYpKX0pO18uZm9yRWFjaChpbnB1dEdyYXBoLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Y2Fub25pY2FsaXplKGlucHV0R3JhcGguZWRnZShlKSk7Zy5zZXRFZGdlKGUsXy5tZXJnZSh7fSxlZGdlRGVmYXVsdHMsc2VsZWN0TnVtYmVyQXR0cnMoZWRnZSwKZWRnZU51bUF0dHJzKSxfLnBpY2soZWRnZSxlZGdlQXR0cnMpKSl9KTtyZXR1cm4gZ31mdW5jdGlvbiBtYWtlU3BhY2VGb3JFZGdlTGFiZWxzKGcpe3ZhciBncmFwaD1nLmdyYXBoKCk7Z3JhcGgucmFua3NlcC89MjtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtlZGdlLm1pbmxlbio9MjtpZihlZGdlLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkhPT0iYyIpaWYoZ3JhcGgucmFua2Rpcj09PSJUQiJ8fGdyYXBoLnJhbmtkaXI9PT0iQlQiKWVkZ2Uud2lkdGgrPWVkZ2UubGFiZWxvZmZzZXQ7ZWxzZSBlZGdlLmhlaWdodCs9ZWRnZS5sYWJlbG9mZnNldH0pfWZ1bmN0aW9uIGluamVjdEVkZ2VMYWJlbFByb3hpZXMoZyl7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoZWRnZS53aWR0aCYmZWRnZS5oZWlnaHQpe3ZhciB2PWcubm9kZShlLnYpLHc9Zy5ub2RlKGUudyksbGFiZWw9e3Jhbms6KHcucmFuay0Kdi5yYW5rKS8yK3YucmFuayxlOmV9O3V0aWwuYWRkRHVtbXlOb2RlKGcsImVkZ2UtcHJveHkiLGxhYmVsLCJfZXAiKX19KX1mdW5jdGlvbiBhc3NpZ25SYW5rTWluTWF4KGcpe3ZhciBtYXhSYW5rPTA7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodik7aWYobm9kZS5ib3JkZXJUb3Ape25vZGUubWluUmFuaz1nLm5vZGUobm9kZS5ib3JkZXJUb3ApLnJhbms7bm9kZS5tYXhSYW5rPWcubm9kZShub2RlLmJvcmRlckJvdHRvbSkucmFuazttYXhSYW5rPV8ubWF4KG1heFJhbmssbm9kZS5tYXhSYW5rKX19KTtnLmdyYXBoKCkubWF4UmFuaz1tYXhSYW5rfWZ1bmN0aW9uIHJlbW92ZUVkZ2VMYWJlbFByb3hpZXMoZyl7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodik7aWYobm9kZS5kdW1teT09PSJlZGdlLXByb3h5Iil7Zy5lZGdlKG5vZGUuZSkubGFiZWxSYW5rPW5vZGUucmFuaztnLnJlbW92ZU5vZGUodil9fSl9CmZ1bmN0aW9uIHRyYW5zbGF0ZUdyYXBoKGcpe3ZhciBtaW5YPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxtYXhYPTAsbWluWT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbWF4WT0wLGdyYXBoTGFiZWw9Zy5ncmFwaCgpLG1hcmdpblg9Z3JhcGhMYWJlbC5tYXJnaW54fHwwLG1hcmdpblk9Z3JhcGhMYWJlbC5tYXJnaW55fHwwO2Z1bmN0aW9uIGdldEV4dHJlbWVzKGF0dHJzKXt2YXIgeD1hdHRycy54LHk9YXR0cnMueSx3PWF0dHJzLndpZHRoLGg9YXR0cnMuaGVpZ2h0O21pblg9TWF0aC5taW4obWluWCx4LXcvMik7bWF4WD1NYXRoLm1heChtYXhYLHgrdy8yKTttaW5ZPU1hdGgubWluKG1pblkseS1oLzIpO21heFk9TWF0aC5tYXgobWF4WSx5K2gvMil9Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtnZXRFeHRyZW1lcyhnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoXy5oYXMoZWRnZSwieCIpKWdldEV4dHJlbWVzKGVkZ2UpfSk7Cm1pblgtPW1hcmdpblg7bWluWS09bWFyZ2luWTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KTtub2RlLngtPW1pblg7bm9kZS55LT1taW5ZfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7Xy5mb3JFYWNoKGVkZ2UucG9pbnRzLGZ1bmN0aW9uKHApe3AueC09bWluWDtwLnktPW1pbll9KTtpZihfLmhhcyhlZGdlLCJ4IikpZWRnZS54LT1taW5YO2lmKF8uaGFzKGVkZ2UsInkiKSllZGdlLnktPW1pbll9KTtncmFwaExhYmVsLndpZHRoPW1heFgtbWluWCttYXJnaW5YO2dyYXBoTGFiZWwuaGVpZ2h0PW1heFktbWluWSttYXJnaW5ZfWZ1bmN0aW9uIGFzc2lnbk5vZGVJbnRlcnNlY3RzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpLG5vZGVWPWcubm9kZShlLnYpLG5vZGVXPWcubm9kZShlLncpLHAxLHAyO2lmKCFlZGdlLnBvaW50cyl7ZWRnZS5wb2ludHM9CltdO3AxPW5vZGVXO3AyPW5vZGVWfWVsc2V7cDE9ZWRnZS5wb2ludHNbMF07cDI9ZWRnZS5wb2ludHNbZWRnZS5wb2ludHMubGVuZ3RoLTFdfWVkZ2UucG9pbnRzLnVuc2hpZnQodXRpbC5pbnRlcnNlY3RSZWN0KG5vZGVWLHAxKSk7ZWRnZS5wb2ludHMucHVzaCh1dGlsLmludGVyc2VjdFJlY3Qobm9kZVcscDIpKX0pfWZ1bmN0aW9uIGZpeHVwRWRnZUxhYmVsQ29vcmRzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpO2lmKF8uaGFzKGVkZ2UsIngiKSl7aWYoZWRnZS5sYWJlbHBvcz09PSJsInx8ZWRnZS5sYWJlbHBvcz09PSJyIillZGdlLndpZHRoLT1lZGdlLmxhYmVsb2Zmc2V0O3N3aXRjaChlZGdlLmxhYmVscG9zKXtjYXNlICJsIjplZGdlLngtPWVkZ2Uud2lkdGgvMitlZGdlLmxhYmVsb2Zmc2V0O2JyZWFrO2Nhc2UgInIiOmVkZ2UueCs9ZWRnZS53aWR0aC8yK2VkZ2UubGFiZWxvZmZzZXQ7YnJlYWt9fX0pfWZ1bmN0aW9uIHJldmVyc2VQb2ludHNGb3JSZXZlcnNlZEVkZ2VzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksCmZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtpZihlZGdlLnJldmVyc2VkKWVkZ2UucG9pbnRzLnJldmVyc2UoKX0pfWZ1bmN0aW9uIHJlbW92ZUJvcmRlck5vZGVzKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoZy5jaGlsZHJlbih2KS5sZW5ndGgpe3ZhciBub2RlPWcubm9kZSh2KSx0PWcubm9kZShub2RlLmJvcmRlclRvcCksYj1nLm5vZGUobm9kZS5ib3JkZXJCb3R0b20pLGw9Zy5ub2RlKF8ubGFzdChub2RlLmJvcmRlckxlZnQpKSxyPWcubm9kZShfLmxhc3Qobm9kZS5ib3JkZXJSaWdodCkpO25vZGUud2lkdGg9TWF0aC5hYnMoci54LWwueCk7bm9kZS5oZWlnaHQ9TWF0aC5hYnMoYi55LXQueSk7bm9kZS54PWwueCtub2RlLndpZHRoLzI7bm9kZS55PXQueStub2RlLmhlaWdodC8yfX0pO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoZy5ub2RlKHYpLmR1bW15PT09ImJvcmRlciIpZy5yZW1vdmVOb2RlKHYpfSl9ZnVuY3Rpb24gcmVtb3ZlU2VsZkVkZ2VzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksCmZ1bmN0aW9uKGUpe2lmKGUudj09PWUudyl7dmFyIG5vZGU9Zy5ub2RlKGUudik7aWYoIW5vZGUuc2VsZkVkZ2VzKW5vZGUuc2VsZkVkZ2VzPVtdO25vZGUuc2VsZkVkZ2VzLnB1c2goe2U6ZSxsYWJlbDpnLmVkZ2UoZSl9KTtnLnJlbW92ZUVkZ2UoZSl9fSl9ZnVuY3Rpb24gaW5zZXJ0U2VsZkVkZ2VzKGcpe3ZhciBsYXllcnM9dXRpbC5idWlsZExheWVyTWF0cml4KGcpO18uZm9yRWFjaChsYXllcnMsZnVuY3Rpb24obGF5ZXIpe3ZhciBvcmRlclNoaWZ0PTA7Xy5mb3JFYWNoKGxheWVyLGZ1bmN0aW9uKHYsaSl7dmFyIG5vZGU9Zy5ub2RlKHYpO25vZGUub3JkZXI9aStvcmRlclNoaWZ0O18uZm9yRWFjaChub2RlLnNlbGZFZGdlcyxmdW5jdGlvbihzZWxmRWRnZSl7dXRpbC5hZGREdW1teU5vZGUoZywic2VsZmVkZ2UiLHt3aWR0aDpzZWxmRWRnZS5sYWJlbC53aWR0aCxoZWlnaHQ6c2VsZkVkZ2UubGFiZWwuaGVpZ2h0LHJhbms6bm9kZS5yYW5rLG9yZGVyOmkrICsrb3JkZXJTaGlmdCwKZTpzZWxmRWRnZS5lLGxhYmVsOnNlbGZFZGdlLmxhYmVsfSwiX3NlIil9KTtkZWxldGUgbm9kZS5zZWxmRWRnZXN9KX0pfWZ1bmN0aW9uIHBvc2l0aW9uU2VsZkVkZ2VzKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGU9Zy5ub2RlKHYpO2lmKG5vZGUuZHVtbXk9PT0ic2VsZmVkZ2UiKXt2YXIgc2VsZk5vZGU9Zy5ub2RlKG5vZGUuZS52KSx4PXNlbGZOb2RlLngrc2VsZk5vZGUud2lkdGgvMix5PXNlbGZOb2RlLnksZHg9bm9kZS54LXgsZHk9c2VsZk5vZGUuaGVpZ2h0LzI7Zy5zZXRFZGdlKG5vZGUuZSxub2RlLmxhYmVsKTtnLnJlbW92ZU5vZGUodik7bm9kZS5sYWJlbC5wb2ludHM9W3t4OngrMipkeC8zLHk6eS1keX0se3g6eCs1KmR4LzYseTp5LWR5fSx7eDp4K2R4LHk6eX0se3g6eCs1KmR4LzYseTp5K2R5fSx7eDp4KzIqZHgvMyx5OnkrZHl9XTtub2RlLmxhYmVsLng9bm9kZS54O25vZGUubGFiZWwueT1ub2RlLnl9fSl9ZnVuY3Rpb24gc2VsZWN0TnVtYmVyQXR0cnMob2JqLAphdHRycyl7cmV0dXJuIF8ubWFwVmFsdWVzKF8ucGljayhvYmosYXR0cnMpLE51bWJlcil9ZnVuY3Rpb24gY2Fub25pY2FsaXplKGF0dHJzKXt2YXIgbmV3QXR0cnM9e307Xy5mb3JFYWNoKGF0dHJzLGZ1bmN0aW9uKHYsayl7bmV3QXR0cnNbay50b0xvd2VyQ2FzZSgpXT12fSk7cmV0dXJuIG5ld0F0dHJzfX0seyIuL2FjeWNsaWMiOjIsIi4vYWRkLWJvcmRlci1zZWdtZW50cyI6MywiLi9jb29yZGluYXRlLXN5c3RlbSI6NCwiLi9ncmFwaGxpYiI6NywiLi9sb2Rhc2giOjEwLCIuL25lc3RpbmctZ3JhcGgiOjExLCIuL25vcm1hbGl6ZSI6MTIsIi4vb3JkZXIiOjE3LCIuL3BhcmVudC1kdW1teS1jaGFpbnMiOjIyLCIuL3Bvc2l0aW9uIjoyNCwiLi9yYW5rIjoyNiwiLi91dGlsIjoyOX1dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgbG9kYXNoO2lmKHR5cGVvZiByZXF1aXJlPT09ImZ1bmN0aW9uIil0cnl7bG9kYXNoPXJlcXVpcmUoImxvZGFzaCIpfWNhdGNoKGUpe31pZighbG9kYXNoKWxvZGFzaD0Kd2luZG93Ll87bW9kdWxlLmV4cG9ydHM9bG9kYXNofSx7ImxvZGFzaCI6dW5kZWZpbmVkfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuL3V0aWwiKTttb2R1bGUuZXhwb3J0cz17cnVuOnJ1bixjbGVhbnVwOmNsZWFudXB9O2Z1bmN0aW9uIHJ1bihnKXt2YXIgcm9vdD11dGlsLmFkZER1bW15Tm9kZShnLCJyb290Iix7fSwiX3Jvb3QiKTt2YXIgZGVwdGhzPXRyZWVEZXB0aHMoZyk7dmFyIGhlaWdodD1fLm1heChfLnZhbHVlcyhkZXB0aHMpKS0xO3ZhciBub2RlU2VwPTIqaGVpZ2h0KzE7Zy5ncmFwaCgpLm5lc3RpbmdSb290PXJvb3Q7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXtnLmVkZ2UoZSkubWlubGVuKj1ub2RlU2VwfSk7dmFyIHdlaWdodD1zdW1XZWlnaHRzKGcpKzE7Xy5mb3JFYWNoKGcuY2hpbGRyZW4oKSxmdW5jdGlvbihjaGlsZCl7ZGZzKGcscm9vdCxub2RlU2VwLAp3ZWlnaHQsaGVpZ2h0LGRlcHRocyxjaGlsZCl9KTtnLmdyYXBoKCkubm9kZVJhbmtGYWN0b3I9bm9kZVNlcH1mdW5jdGlvbiBkZnMoZyxyb290LG5vZGVTZXAsd2VpZ2h0LGhlaWdodCxkZXB0aHMsdil7dmFyIGNoaWxkcmVuPWcuY2hpbGRyZW4odik7aWYoIWNoaWxkcmVuLmxlbmd0aCl7aWYodiE9PXJvb3QpZy5zZXRFZGdlKHJvb3Qsdix7d2VpZ2h0OjAsbWlubGVuOm5vZGVTZXB9KTtyZXR1cm59dmFyIHRvcD11dGlsLmFkZEJvcmRlck5vZGUoZywiX2J0IiksYm90dG9tPXV0aWwuYWRkQm9yZGVyTm9kZShnLCJfYmIiKSxsYWJlbD1nLm5vZGUodik7Zy5zZXRQYXJlbnQodG9wLHYpO2xhYmVsLmJvcmRlclRvcD10b3A7Zy5zZXRQYXJlbnQoYm90dG9tLHYpO2xhYmVsLmJvcmRlckJvdHRvbT1ib3R0b207Xy5mb3JFYWNoKGNoaWxkcmVuLGZ1bmN0aW9uKGNoaWxkKXtkZnMoZyxyb290LG5vZGVTZXAsd2VpZ2h0LGhlaWdodCxkZXB0aHMsY2hpbGQpO3ZhciBjaGlsZE5vZGU9Zy5ub2RlKGNoaWxkKSwKY2hpbGRUb3A9Y2hpbGROb2RlLmJvcmRlclRvcD9jaGlsZE5vZGUuYm9yZGVyVG9wOmNoaWxkLGNoaWxkQm90dG9tPWNoaWxkTm9kZS5ib3JkZXJCb3R0b20/Y2hpbGROb2RlLmJvcmRlckJvdHRvbTpjaGlsZCx0aGlzV2VpZ2h0PWNoaWxkTm9kZS5ib3JkZXJUb3A/d2VpZ2h0OjIqd2VpZ2h0LG1pbmxlbj1jaGlsZFRvcCE9PWNoaWxkQm90dG9tPzE6aGVpZ2h0LWRlcHRoc1t2XSsxO2cuc2V0RWRnZSh0b3AsY2hpbGRUb3Ase3dlaWdodDp0aGlzV2VpZ2h0LG1pbmxlbjptaW5sZW4sbmVzdGluZ0VkZ2U6dHJ1ZX0pO2cuc2V0RWRnZShjaGlsZEJvdHRvbSxib3R0b20se3dlaWdodDp0aGlzV2VpZ2h0LG1pbmxlbjptaW5sZW4sbmVzdGluZ0VkZ2U6dHJ1ZX0pfSk7aWYoIWcucGFyZW50KHYpKWcuc2V0RWRnZShyb290LHRvcCx7d2VpZ2h0OjAsbWlubGVuOmhlaWdodCtkZXB0aHNbdl19KX1mdW5jdGlvbiB0cmVlRGVwdGhzKGcpe3ZhciBkZXB0aHM9e307ZnVuY3Rpb24gZGZzKHYsZGVwdGgpe3ZhciBjaGlsZHJlbj0KZy5jaGlsZHJlbih2KTtpZihjaGlsZHJlbiYmY2hpbGRyZW4ubGVuZ3RoKV8uZm9yRWFjaChjaGlsZHJlbixmdW5jdGlvbihjaGlsZCl7ZGZzKGNoaWxkLGRlcHRoKzEpfSk7ZGVwdGhzW3ZdPWRlcHRofV8uZm9yRWFjaChnLmNoaWxkcmVuKCksZnVuY3Rpb24odil7ZGZzKHYsMSl9KTtyZXR1cm4gZGVwdGhzfWZ1bmN0aW9uIHN1bVdlaWdodHMoZyl7cmV0dXJuIF8ucmVkdWNlKGcuZWRnZXMoKSxmdW5jdGlvbihhY2MsZSl7cmV0dXJuIGFjYytnLmVkZ2UoZSkud2VpZ2h0fSwwKX1mdW5jdGlvbiBjbGVhbnVwKGcpe3ZhciBncmFwaExhYmVsPWcuZ3JhcGgoKTtnLnJlbW92ZU5vZGUoZ3JhcGhMYWJlbC5uZXN0aW5nUm9vdCk7ZGVsZXRlIGdyYXBoTGFiZWwubmVzdGluZ1Jvb3Q7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoZWRnZS5uZXN0aW5nRWRnZSlnLnJlbW92ZUVkZ2UoZSl9KX19LHsiLi9sb2Rhc2giOjEwLCIuL3V0aWwiOjI5fV0sCjEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpLHV0aWw9cmVxdWlyZSgiLi91dGlsIik7bW9kdWxlLmV4cG9ydHM9e3J1bjpydW4sdW5kbzp1bmRvfTtmdW5jdGlvbiBydW4oZyl7Zy5ncmFwaCgpLmR1bW15Q2hhaW5zPVtdO18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZWRnZSl7bm9ybWFsaXplRWRnZShnLGVkZ2UpfSl9ZnVuY3Rpb24gbm9ybWFsaXplRWRnZShnLGUpe3ZhciB2PWUudix2UmFuaz1nLm5vZGUodikucmFuayx3PWUudyx3UmFuaz1nLm5vZGUodykucmFuayxuYW1lPWUubmFtZSxlZGdlTGFiZWw9Zy5lZGdlKGUpLGxhYmVsUmFuaz1lZGdlTGFiZWwubGFiZWxSYW5rO2lmKHdSYW5rPT09dlJhbmsrMSlyZXR1cm47Zy5yZW1vdmVFZGdlKGUpO3ZhciBkdW1teSxhdHRycyxpO2ZvcihpPTAsKyt2UmFuazt2UmFuazx3UmFuazsrK2ksKyt2UmFuayl7ZWRnZUxhYmVsLnBvaW50cz1bXTthdHRycz17d2lkdGg6MCwKaGVpZ2h0OjAsZWRnZUxhYmVsOmVkZ2VMYWJlbCxlZGdlT2JqOmUscmFuazp2UmFua307ZHVtbXk9dXRpbC5hZGREdW1teU5vZGUoZywiZWRnZSIsYXR0cnMsIl9kIik7aWYodlJhbms9PT1sYWJlbFJhbmspe2F0dHJzLndpZHRoPWVkZ2VMYWJlbC53aWR0aDthdHRycy5oZWlnaHQ9ZWRnZUxhYmVsLmhlaWdodDthdHRycy5kdW1teT0iZWRnZS1sYWJlbCI7YXR0cnMubGFiZWxwb3M9ZWRnZUxhYmVsLmxhYmVscG9zfWcuc2V0RWRnZSh2LGR1bW15LHt3ZWlnaHQ6ZWRnZUxhYmVsLndlaWdodH0sbmFtZSk7aWYoaT09PTApZy5ncmFwaCgpLmR1bW15Q2hhaW5zLnB1c2goZHVtbXkpO3Y9ZHVtbXl9Zy5zZXRFZGdlKHYsdyx7d2VpZ2h0OmVkZ2VMYWJlbC53ZWlnaHR9LG5hbWUpfWZ1bmN0aW9uIHVuZG8oZyl7Xy5mb3JFYWNoKGcuZ3JhcGgoKS5kdW1teUNoYWlucyxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodiksb3JpZ0xhYmVsPW5vZGUuZWRnZUxhYmVsLHc7Zy5zZXRFZGdlKG5vZGUuZWRnZU9iaiwKb3JpZ0xhYmVsKTt3aGlsZShub2RlLmR1bW15KXt3PWcuc3VjY2Vzc29ycyh2KVswXTtnLnJlbW92ZU5vZGUodik7b3JpZ0xhYmVsLnBvaW50cy5wdXNoKHt4Om5vZGUueCx5Om5vZGUueX0pO2lmKG5vZGUuZHVtbXk9PT0iZWRnZS1sYWJlbCIpe29yaWdMYWJlbC54PW5vZGUueDtvcmlnTGFiZWwueT1ub2RlLnk7b3JpZ0xhYmVsLndpZHRoPW5vZGUud2lkdGg7b3JpZ0xhYmVsLmhlaWdodD1ub2RlLmhlaWdodH12PXc7bm9kZT1nLm5vZGUodil9fSl9fSx7Ii4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOX1dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1hZGRTdWJncmFwaENvbnN0cmFpbnRzO2Z1bmN0aW9uIGFkZFN1YmdyYXBoQ29uc3RyYWludHMoZyxjZyx2cyl7dmFyIHByZXY9e30scm9vdFByZXY7Xy5mb3JFYWNoKHZzLGZ1bmN0aW9uKHYpe3ZhciBjaGlsZD1nLnBhcmVudCh2KSxwYXJlbnQsCnByZXZDaGlsZDt3aGlsZShjaGlsZCl7cGFyZW50PWcucGFyZW50KGNoaWxkKTtpZihwYXJlbnQpe3ByZXZDaGlsZD1wcmV2W3BhcmVudF07cHJldltwYXJlbnRdPWNoaWxkfWVsc2V7cHJldkNoaWxkPXJvb3RQcmV2O3Jvb3RQcmV2PWNoaWxkfWlmKHByZXZDaGlsZCYmcHJldkNoaWxkIT09Y2hpbGQpe2NnLnNldEVkZ2UocHJldkNoaWxkLGNoaWxkKTtyZXR1cm59Y2hpbGQ9cGFyZW50fX0pfX0seyIuLi9sb2Rhc2giOjEwfV0sMTQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWJhcnljZW50ZXI7ZnVuY3Rpb24gYmFyeWNlbnRlcihnLG1vdmFibGUpe3JldHVybiBfLm1hcChtb3ZhYmxlLGZ1bmN0aW9uKHYpe3ZhciBpblY9Zy5pbkVkZ2VzKHYpO2lmKCFpblYubGVuZ3RoKXJldHVybnt2OnZ9O2Vsc2V7dmFyIHJlc3VsdD1fLnJlZHVjZShpblYsZnVuY3Rpb24oYWNjLGUpe3ZhciBlZGdlPWcuZWRnZShlKSwKbm9kZVU9Zy5ub2RlKGUudik7cmV0dXJue3N1bTphY2Muc3VtK2VkZ2Uud2VpZ2h0Km5vZGVVLm9yZGVyLHdlaWdodDphY2Mud2VpZ2h0K2VkZ2Uud2VpZ2h0fX0se3N1bTowLHdlaWdodDowfSk7cmV0dXJue3Y6dixiYXJ5Y2VudGVyOnJlc3VsdC5zdW0vcmVzdWx0LndlaWdodCx3ZWlnaHQ6cmVzdWx0LndlaWdodH19fSl9fSx7Ii4uL2xvZGFzaCI6MTB9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi4vZ3JhcGhsaWIiKS5HcmFwaDttb2R1bGUuZXhwb3J0cz1idWlsZExheWVyR3JhcGg7ZnVuY3Rpb24gYnVpbGRMYXllckdyYXBoKGcscmFuayxyZWxhdGlvbnNoaXApe3ZhciByb290PWNyZWF0ZVJvb3ROb2RlKGcpLHJlc3VsdD0obmV3IEdyYXBoKHtjb21wb3VuZDp0cnVlfSkpLnNldEdyYXBoKHtyb290OnJvb3R9KS5zZXREZWZhdWx0Tm9kZUxhYmVsKGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodil9KTsKXy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodikscGFyZW50PWcucGFyZW50KHYpO2lmKG5vZGUucmFuaz09PXJhbmt8fG5vZGUubWluUmFuazw9cmFuayYmcmFuazw9bm9kZS5tYXhSYW5rKXtyZXN1bHQuc2V0Tm9kZSh2KTtyZXN1bHQuc2V0UGFyZW50KHYscGFyZW50fHxyb290KTtfLmZvckVhY2goZ1tyZWxhdGlvbnNoaXBdKHYpLGZ1bmN0aW9uKGUpe3ZhciB1PWUudj09PXY/ZS53OmUudixlZGdlPXJlc3VsdC5lZGdlKHUsdiksd2VpZ2h0PSFfLmlzVW5kZWZpbmVkKGVkZ2UpP2VkZ2Uud2VpZ2h0OjA7cmVzdWx0LnNldEVkZ2UodSx2LHt3ZWlnaHQ6Zy5lZGdlKGUpLndlaWdodCt3ZWlnaHR9KX0pO2lmKF8uaGFzKG5vZGUsIm1pblJhbmsiKSlyZXN1bHQuc2V0Tm9kZSh2LHtib3JkZXJMZWZ0Om5vZGUuYm9yZGVyTGVmdFtyYW5rXSxib3JkZXJSaWdodDpub2RlLmJvcmRlclJpZ2h0W3JhbmtdfSl9fSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjcmVhdGVSb290Tm9kZShnKXt2YXIgdjsKd2hpbGUoZy5oYXNOb2RlKHY9Xy51bmlxdWVJZCgiX3Jvb3QiKSkpO3JldHVybiB2fX0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMH1dLDE2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1jcm9zc0NvdW50O2Z1bmN0aW9uIGNyb3NzQ291bnQoZyxsYXllcmluZyl7dmFyIGNjPTA7Zm9yKHZhciBpPTE7aTxsYXllcmluZy5sZW5ndGg7KytpKWNjKz10d29MYXllckNyb3NzQ291bnQoZyxsYXllcmluZ1tpLTFdLGxheWVyaW5nW2ldKTtyZXR1cm4gY2N9ZnVuY3Rpb24gdHdvTGF5ZXJDcm9zc0NvdW50KGcsbm9ydGhMYXllcixzb3V0aExheWVyKXt2YXIgc291dGhQb3M9Xy56aXBPYmplY3Qoc291dGhMYXllcixfLm1hcChzb3V0aExheWVyLGZ1bmN0aW9uKHYsaSl7cmV0dXJuIGl9KSk7dmFyIHNvdXRoRW50cmllcz1fLmZsYXR0ZW4oXy5tYXAobm9ydGhMYXllcixmdW5jdGlvbih2KXtyZXR1cm4gXy5jaGFpbihnLm91dEVkZ2VzKHYpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3Bvczpzb3V0aFBvc1tlLnddLAp3ZWlnaHQ6Zy5lZGdlKGUpLndlaWdodH19KS5zb3J0QnkoInBvcyIpLnZhbHVlKCl9KSx0cnVlKTt2YXIgZmlyc3RJbmRleD0xO3doaWxlKGZpcnN0SW5kZXg8c291dGhMYXllci5sZW5ndGgpZmlyc3RJbmRleDw8PTE7dmFyIHRyZWVTaXplPTIqZmlyc3RJbmRleC0xO2ZpcnN0SW5kZXgtPTE7dmFyIHRyZWU9Xy5tYXAobmV3IEFycmF5KHRyZWVTaXplKSxmdW5jdGlvbigpe3JldHVybiAwfSk7dmFyIGNjPTA7Xy5mb3JFYWNoKHNvdXRoRW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVudHJ5KXt2YXIgaW5kZXg9ZW50cnkucG9zK2ZpcnN0SW5kZXg7dHJlZVtpbmRleF0rPWVudHJ5LndlaWdodDt2YXIgd2VpZ2h0U3VtPTA7d2hpbGUoaW5kZXg+MCl7aWYoaW5kZXglMil3ZWlnaHRTdW0rPXRyZWVbaW5kZXgrMV07aW5kZXg9aW5kZXgtMT4+MTt0cmVlW2luZGV4XSs9ZW50cnkud2VpZ2h0fWNjKz1lbnRyeS53ZWlnaHQqd2VpZ2h0U3VtfSkpO3JldHVybiBjY319LHsiLi4vbG9kYXNoIjoxMH1dLAoxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksaW5pdE9yZGVyPXJlcXVpcmUoIi4vaW5pdC1vcmRlciIpLGNyb3NzQ291bnQ9cmVxdWlyZSgiLi9jcm9zcy1jb3VudCIpLHNvcnRTdWJncmFwaD1yZXF1aXJlKCIuL3NvcnQtc3ViZ3JhcGgiKSxidWlsZExheWVyR3JhcGg9cmVxdWlyZSgiLi9idWlsZC1sYXllci1ncmFwaCIpLGFkZFN1YmdyYXBoQ29uc3RyYWludHM9cmVxdWlyZSgiLi9hZGQtc3ViZ3JhcGgtY29uc3RyYWludHMiKSxHcmFwaD1yZXF1aXJlKCIuLi9ncmFwaGxpYiIpLkdyYXBoLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPW9yZGVyO2Z1bmN0aW9uIG9yZGVyKGcpe3ZhciBtYXhSYW5rPXV0aWwubWF4UmFuayhnKSxkb3duTGF5ZXJHcmFwaHM9YnVpbGRMYXllckdyYXBocyhnLF8ucmFuZ2UoMSxtYXhSYW5rKzEpLCJpbkVkZ2VzIiksdXBMYXllckdyYXBocz1idWlsZExheWVyR3JhcGhzKGcsCl8ucmFuZ2UobWF4UmFuay0xLC0xLC0xKSwib3V0RWRnZXMiKTt2YXIgbGF5ZXJpbmc9aW5pdE9yZGVyKGcpO2Fzc2lnbk9yZGVyKGcsbGF5ZXJpbmcpO3ZhciBiZXN0Q0M9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGJlc3Q7Zm9yKHZhciBpPTAsbGFzdEJlc3Q9MDtsYXN0QmVzdDw0OysraSwrK2xhc3RCZXN0KXtzd2VlcExheWVyR3JhcGhzKGklMj9kb3duTGF5ZXJHcmFwaHM6dXBMYXllckdyYXBocyxpJTQ+PTIpO2xheWVyaW5nPXV0aWwuYnVpbGRMYXllck1hdHJpeChnKTt2YXIgY2M9Y3Jvc3NDb3VudChnLGxheWVyaW5nKTtpZihjYzxiZXN0Q0Mpe2xhc3RCZXN0PTA7YmVzdD1fLmNsb25lRGVlcChsYXllcmluZyk7YmVzdENDPWNjfX1hc3NpZ25PcmRlcihnLGJlc3QpfWZ1bmN0aW9uIGJ1aWxkTGF5ZXJHcmFwaHMoZyxyYW5rcyxyZWxhdGlvbnNoaXApe3JldHVybiBfLm1hcChyYW5rcyxmdW5jdGlvbihyYW5rKXtyZXR1cm4gYnVpbGRMYXllckdyYXBoKGcscmFuayxyZWxhdGlvbnNoaXApfSl9CmZ1bmN0aW9uIHN3ZWVwTGF5ZXJHcmFwaHMobGF5ZXJHcmFwaHMsYmlhc1JpZ2h0KXt2YXIgY2c9bmV3IEdyYXBoO18uZm9yRWFjaChsYXllckdyYXBocyxmdW5jdGlvbihsZyl7dmFyIHJvb3Q9bGcuZ3JhcGgoKS5yb290O3ZhciBzb3J0ZWQ9c29ydFN1YmdyYXBoKGxnLHJvb3QsY2csYmlhc1JpZ2h0KTtfLmZvckVhY2goc29ydGVkLnZzLGZ1bmN0aW9uKHYsaSl7bGcubm9kZSh2KS5vcmRlcj1pfSk7YWRkU3ViZ3JhcGhDb25zdHJhaW50cyhsZyxjZyxzb3J0ZWQudnMpfSl9ZnVuY3Rpb24gYXNzaWduT3JkZXIoZyxsYXllcmluZyl7Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXtfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odixpKXtnLm5vZGUodikub3JkZXI9aX0pfSl9fSx7Ii4uL2dyYXBobGliIjo3LCIuLi9sb2Rhc2giOjEwLCIuLi91dGlsIjoyOSwiLi9hZGQtc3ViZ3JhcGgtY29uc3RyYWludHMiOjEzLCIuL2J1aWxkLWxheWVyLWdyYXBoIjoxNSwiLi9jcm9zcy1jb3VudCI6MTYsCiIuL2luaXQtb3JkZXIiOjE4LCIuL3NvcnQtc3ViZ3JhcGgiOjIwfV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWluaXRPcmRlcjtmdW5jdGlvbiBpbml0T3JkZXIoZyl7dmFyIHZpc2l0ZWQ9e30sc2ltcGxlTm9kZXM9Xy5maWx0ZXIoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3JldHVybiFnLmNoaWxkcmVuKHYpLmxlbmd0aH0pLG1heFJhbms9Xy5tYXgoXy5tYXAoc2ltcGxlTm9kZXMsZnVuY3Rpb24odil7cmV0dXJuIGcubm9kZSh2KS5yYW5rfSkpLGxheWVycz1fLm1hcChfLnJhbmdlKG1heFJhbmsrMSksZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2Z1bmN0aW9uIGRmcyh2KXtpZihfLmhhcyh2aXNpdGVkLHYpKXJldHVybjt2aXNpdGVkW3ZdPXRydWU7dmFyIG5vZGU9Zy5ub2RlKHYpO2xheWVyc1tub2RlLnJhbmtdLnB1c2godik7Xy5mb3JFYWNoKGcuc3VjY2Vzc29ycyh2KSxkZnMpfXZhciBvcmRlcmVkVnM9Cl8uc29ydEJ5KHNpbXBsZU5vZGVzLGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodikucmFua30pO18uZm9yRWFjaChvcmRlcmVkVnMsZGZzKTtyZXR1cm4gbGF5ZXJzfX0seyIuLi9sb2Rhc2giOjEwfV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPXJlc29sdmVDb25mbGljdHM7ZnVuY3Rpb24gcmVzb2x2ZUNvbmZsaWN0cyhlbnRyaWVzLGNnKXt2YXIgbWFwcGVkRW50cmllcz17fTtfLmZvckVhY2goZW50cmllcyxmdW5jdGlvbihlbnRyeSxpKXt2YXIgdG1wPW1hcHBlZEVudHJpZXNbZW50cnkudl09e2luZGVncmVlOjAsImluIjpbXSxvdXQ6W10sdnM6W2VudHJ5LnZdLGk6aX07aWYoIV8uaXNVbmRlZmluZWQoZW50cnkuYmFyeWNlbnRlcikpe3RtcC5iYXJ5Y2VudGVyPWVudHJ5LmJhcnljZW50ZXI7dG1wLndlaWdodD1lbnRyeS53ZWlnaHR9fSk7Xy5mb3JFYWNoKGNnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVudHJ5Vj0KbWFwcGVkRW50cmllc1tlLnZdLGVudHJ5Vz1tYXBwZWRFbnRyaWVzW2Uud107aWYoIV8uaXNVbmRlZmluZWQoZW50cnlWKSYmIV8uaXNVbmRlZmluZWQoZW50cnlXKSl7ZW50cnlXLmluZGVncmVlKys7ZW50cnlWLm91dC5wdXNoKG1hcHBlZEVudHJpZXNbZS53XSl9fSk7dmFyIHNvdXJjZVNldD1fLmZpbHRlcihtYXBwZWRFbnRyaWVzLGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4hZW50cnkuaW5kZWdyZWV9KTtyZXR1cm4gZG9SZXNvbHZlQ29uZmxpY3RzKHNvdXJjZVNldCl9ZnVuY3Rpb24gZG9SZXNvbHZlQ29uZmxpY3RzKHNvdXJjZVNldCl7dmFyIGVudHJpZXM9W107ZnVuY3Rpb24gaGFuZGxlSW4odkVudHJ5KXtyZXR1cm4gZnVuY3Rpb24odUVudHJ5KXtpZih1RW50cnkubWVyZ2VkKXJldHVybjtpZihfLmlzVW5kZWZpbmVkKHVFbnRyeS5iYXJ5Y2VudGVyKXx8Xy5pc1VuZGVmaW5lZCh2RW50cnkuYmFyeWNlbnRlcil8fHVFbnRyeS5iYXJ5Y2VudGVyPj12RW50cnkuYmFyeWNlbnRlciltZXJnZUVudHJpZXModkVudHJ5LAp1RW50cnkpfX1mdW5jdGlvbiBoYW5kbGVPdXQodkVudHJ5KXtyZXR1cm4gZnVuY3Rpb24od0VudHJ5KXt3RW50cnlbImluIl0ucHVzaCh2RW50cnkpO2lmKC0td0VudHJ5LmluZGVncmVlPT09MClzb3VyY2VTZXQucHVzaCh3RW50cnkpfX13aGlsZShzb3VyY2VTZXQubGVuZ3RoKXt2YXIgZW50cnk9c291cmNlU2V0LnBvcCgpO2VudHJpZXMucHVzaChlbnRyeSk7Xy5mb3JFYWNoKGVudHJ5WyJpbiJdLnJldmVyc2UoKSxoYW5kbGVJbihlbnRyeSkpO18uZm9yRWFjaChlbnRyeS5vdXQsaGFuZGxlT3V0KGVudHJ5KSl9cmV0dXJuIF8uY2hhaW4oZW50cmllcykuZmlsdGVyKGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4hZW50cnkubWVyZ2VkfSkubWFwKGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4gXy5waWNrKGVudHJ5LFsidnMiLCJpIiwiYmFyeWNlbnRlciIsIndlaWdodCJdKX0pLnZhbHVlKCl9ZnVuY3Rpb24gbWVyZ2VFbnRyaWVzKHRhcmdldCxzb3VyY2Upe3ZhciBzdW09MCx3ZWlnaHQ9MDsKaWYodGFyZ2V0LndlaWdodCl7c3VtKz10YXJnZXQuYmFyeWNlbnRlcip0YXJnZXQud2VpZ2h0O3dlaWdodCs9dGFyZ2V0LndlaWdodH1pZihzb3VyY2Uud2VpZ2h0KXtzdW0rPXNvdXJjZS5iYXJ5Y2VudGVyKnNvdXJjZS53ZWlnaHQ7d2VpZ2h0Kz1zb3VyY2Uud2VpZ2h0fXRhcmdldC52cz1zb3VyY2UudnMuY29uY2F0KHRhcmdldC52cyk7dGFyZ2V0LmJhcnljZW50ZXI9c3VtL3dlaWdodDt0YXJnZXQud2VpZ2h0PXdlaWdodDt0YXJnZXQuaT1NYXRoLm1pbihzb3VyY2UuaSx0YXJnZXQuaSk7c291cmNlLm1lcmdlZD10cnVlfX0seyIuLi9sb2Rhc2giOjEwfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLGJhcnljZW50ZXI9cmVxdWlyZSgiLi9iYXJ5Y2VudGVyIikscmVzb2x2ZUNvbmZsaWN0cz1yZXF1aXJlKCIuL3Jlc29sdmUtY29uZmxpY3RzIiksc29ydD1yZXF1aXJlKCIuL3NvcnQiKTttb2R1bGUuZXhwb3J0cz0Kc29ydFN1YmdyYXBoO2Z1bmN0aW9uIHNvcnRTdWJncmFwaChnLHYsY2csYmlhc1JpZ2h0KXt2YXIgbW92YWJsZT1nLmNoaWxkcmVuKHYpLG5vZGU9Zy5ub2RlKHYpLGJsPW5vZGU/bm9kZS5ib3JkZXJMZWZ0OnVuZGVmaW5lZCxicj1ub2RlP25vZGUuYm9yZGVyUmlnaHQ6dW5kZWZpbmVkLHN1YmdyYXBocz17fTtpZihibCltb3ZhYmxlPV8uZmlsdGVyKG1vdmFibGUsZnVuY3Rpb24odyl7cmV0dXJuIHchPT1ibCYmdyE9PWJyfSk7dmFyIGJhcnljZW50ZXJzPWJhcnljZW50ZXIoZyxtb3ZhYmxlKTtfLmZvckVhY2goYmFyeWNlbnRlcnMsZnVuY3Rpb24oZW50cnkpe2lmKGcuY2hpbGRyZW4oZW50cnkudikubGVuZ3RoKXt2YXIgc3ViZ3JhcGhSZXN1bHQ9c29ydFN1YmdyYXBoKGcsZW50cnkudixjZyxiaWFzUmlnaHQpO3N1YmdyYXBoc1tlbnRyeS52XT1zdWJncmFwaFJlc3VsdDtpZihfLmhhcyhzdWJncmFwaFJlc3VsdCwiYmFyeWNlbnRlciIpKW1lcmdlQmFyeWNlbnRlcnMoZW50cnksCnN1YmdyYXBoUmVzdWx0KX19KTt2YXIgZW50cmllcz1yZXNvbHZlQ29uZmxpY3RzKGJhcnljZW50ZXJzLGNnKTtleHBhbmRTdWJncmFwaHMoZW50cmllcyxzdWJncmFwaHMpO3ZhciByZXN1bHQ9c29ydChlbnRyaWVzLGJpYXNSaWdodCk7aWYoYmwpe3Jlc3VsdC52cz1fLmZsYXR0ZW4oW2JsLHJlc3VsdC52cyxicl0sdHJ1ZSk7aWYoZy5wcmVkZWNlc3NvcnMoYmwpLmxlbmd0aCl7dmFyIGJsUHJlZD1nLm5vZGUoZy5wcmVkZWNlc3NvcnMoYmwpWzBdKSxiclByZWQ9Zy5ub2RlKGcucHJlZGVjZXNzb3JzKGJyKVswXSk7aWYoIV8uaGFzKHJlc3VsdCwiYmFyeWNlbnRlciIpKXtyZXN1bHQuYmFyeWNlbnRlcj0wO3Jlc3VsdC53ZWlnaHQ9MH1yZXN1bHQuYmFyeWNlbnRlcj0ocmVzdWx0LmJhcnljZW50ZXIqcmVzdWx0LndlaWdodCtibFByZWQub3JkZXIrYnJQcmVkLm9yZGVyKS8ocmVzdWx0LndlaWdodCsyKTtyZXN1bHQud2VpZ2h0Kz0yfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGV4cGFuZFN1YmdyYXBocyhlbnRyaWVzLApzdWJncmFwaHMpe18uZm9yRWFjaChlbnRyaWVzLGZ1bmN0aW9uKGVudHJ5KXtlbnRyeS52cz1fLmZsYXR0ZW4oZW50cnkudnMubWFwKGZ1bmN0aW9uKHYpe2lmKHN1YmdyYXBoc1t2XSlyZXR1cm4gc3ViZ3JhcGhzW3ZdLnZzO3JldHVybiB2fSksdHJ1ZSl9KX1mdW5jdGlvbiBtZXJnZUJhcnljZW50ZXJzKHRhcmdldCxvdGhlcil7aWYoIV8uaXNVbmRlZmluZWQodGFyZ2V0LmJhcnljZW50ZXIpKXt0YXJnZXQuYmFyeWNlbnRlcj0odGFyZ2V0LmJhcnljZW50ZXIqdGFyZ2V0LndlaWdodCtvdGhlci5iYXJ5Y2VudGVyKm90aGVyLndlaWdodCkvKHRhcmdldC53ZWlnaHQrb3RoZXIud2VpZ2h0KTt0YXJnZXQud2VpZ2h0Kz1vdGhlci53ZWlnaHR9ZWxzZXt0YXJnZXQuYmFyeWNlbnRlcj1vdGhlci5iYXJ5Y2VudGVyO3RhcmdldC53ZWlnaHQ9b3RoZXIud2VpZ2h0fX19LHsiLi4vbG9kYXNoIjoxMCwiLi9iYXJ5Y2VudGVyIjoxNCwiLi9yZXNvbHZlLWNvbmZsaWN0cyI6MTksIi4vc29ydCI6MjF9XSwKMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPXNvcnQ7ZnVuY3Rpb24gc29ydChlbnRyaWVzLGJpYXNSaWdodCl7dmFyIHBhcnRzPXV0aWwucGFydGl0aW9uKGVudHJpZXMsZnVuY3Rpb24oZW50cnkpe3JldHVybiBfLmhhcyhlbnRyeSwiYmFyeWNlbnRlciIpfSk7dmFyIHNvcnRhYmxlPXBhcnRzLmxocyx1bnNvcnRhYmxlPV8uc29ydEJ5KHBhcnRzLnJocyxmdW5jdGlvbihlbnRyeSl7cmV0dXJuLWVudHJ5Lml9KSx2cz1bXSxzdW09MCx3ZWlnaHQ9MCx2c0luZGV4PTA7c29ydGFibGUuc29ydChjb21wYXJlV2l0aEJpYXMoISFiaWFzUmlnaHQpKTt2c0luZGV4PWNvbnN1bWVVbnNvcnRhYmxlKHZzLHVuc29ydGFibGUsdnNJbmRleCk7Xy5mb3JFYWNoKHNvcnRhYmxlLGZ1bmN0aW9uKGVudHJ5KXt2c0luZGV4Kz1lbnRyeS52cy5sZW5ndGg7dnMucHVzaChlbnRyeS52cyk7CnN1bSs9ZW50cnkuYmFyeWNlbnRlciplbnRyeS53ZWlnaHQ7d2VpZ2h0Kz1lbnRyeS53ZWlnaHQ7dnNJbmRleD1jb25zdW1lVW5zb3J0YWJsZSh2cyx1bnNvcnRhYmxlLHZzSW5kZXgpfSk7dmFyIHJlc3VsdD17dnM6Xy5mbGF0dGVuKHZzLHRydWUpfTtpZih3ZWlnaHQpe3Jlc3VsdC5iYXJ5Y2VudGVyPXN1bS93ZWlnaHQ7cmVzdWx0LndlaWdodD13ZWlnaHR9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb25zdW1lVW5zb3J0YWJsZSh2cyx1bnNvcnRhYmxlLGluZGV4KXt2YXIgbGFzdDt3aGlsZSh1bnNvcnRhYmxlLmxlbmd0aCYmKGxhc3Q9Xy5sYXN0KHVuc29ydGFibGUpKS5pPD1pbmRleCl7dW5zb3J0YWJsZS5wb3AoKTt2cy5wdXNoKGxhc3QudnMpO2luZGV4Kyt9cmV0dXJuIGluZGV4fWZ1bmN0aW9uIGNvbXBhcmVXaXRoQmlhcyhiaWFzKXtyZXR1cm4gZnVuY3Rpb24oZW50cnlWLGVudHJ5Vyl7aWYoZW50cnlWLmJhcnljZW50ZXI8ZW50cnlXLmJhcnljZW50ZXIpcmV0dXJuLTE7ZWxzZSBpZihlbnRyeVYuYmFyeWNlbnRlcj4KZW50cnlXLmJhcnljZW50ZXIpcmV0dXJuIDE7cmV0dXJuIWJpYXM/ZW50cnlWLmktZW50cnlXLmk6ZW50cnlXLmktZW50cnlWLml9fX0seyIuLi9sb2Rhc2giOjEwLCIuLi91dGlsIjoyOX1dLDIyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPXBhcmVudER1bW15Q2hhaW5zO2Z1bmN0aW9uIHBhcmVudER1bW15Q2hhaW5zKGcpe3ZhciBwb3N0b3JkZXJOdW1zPXBvc3RvcmRlcihnKTtfLmZvckVhY2goZy5ncmFwaCgpLmR1bW15Q2hhaW5zLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KSxlZGdlT2JqPW5vZGUuZWRnZU9iaixwYXRoRGF0YT1maW5kUGF0aChnLHBvc3RvcmRlck51bXMsZWRnZU9iai52LGVkZ2VPYmoudykscGF0aD1wYXRoRGF0YS5wYXRoLGxjYT1wYXRoRGF0YS5sY2EscGF0aElkeD0wLHBhdGhWPXBhdGhbcGF0aElkeF0sYXNjZW5kaW5nPXRydWU7d2hpbGUodiE9PWVkZ2VPYmoudyl7bm9kZT0KZy5ub2RlKHYpO2lmKGFzY2VuZGluZyl7d2hpbGUoKHBhdGhWPXBhdGhbcGF0aElkeF0pIT09bGNhJiZnLm5vZGUocGF0aFYpLm1heFJhbms8bm9kZS5yYW5rKXBhdGhJZHgrKztpZihwYXRoVj09PWxjYSlhc2NlbmRpbmc9ZmFsc2V9aWYoIWFzY2VuZGluZyl7d2hpbGUocGF0aElkeDxwYXRoLmxlbmd0aC0xJiZnLm5vZGUocGF0aFY9cGF0aFtwYXRoSWR4KzFdKS5taW5SYW5rPD1ub2RlLnJhbmspcGF0aElkeCsrO3BhdGhWPXBhdGhbcGF0aElkeF19Zy5zZXRQYXJlbnQodixwYXRoVik7dj1nLnN1Y2Nlc3NvcnModilbMF19fSl9ZnVuY3Rpb24gZmluZFBhdGgoZyxwb3N0b3JkZXJOdW1zLHYsdyl7dmFyIHZQYXRoPVtdLHdQYXRoPVtdLGxvdz1NYXRoLm1pbihwb3N0b3JkZXJOdW1zW3ZdLmxvdyxwb3N0b3JkZXJOdW1zW3ddLmxvdyksbGltPU1hdGgubWF4KHBvc3RvcmRlck51bXNbdl0ubGltLHBvc3RvcmRlck51bXNbd10ubGltKSxwYXJlbnQsbGNhO3BhcmVudD12O2Rve3BhcmVudD0KZy5wYXJlbnQocGFyZW50KTt2UGF0aC5wdXNoKHBhcmVudCl9d2hpbGUocGFyZW50JiYocG9zdG9yZGVyTnVtc1twYXJlbnRdLmxvdz5sb3d8fGxpbT5wb3N0b3JkZXJOdW1zW3BhcmVudF0ubGltKSk7bGNhPXBhcmVudDtwYXJlbnQ9dzt3aGlsZSgocGFyZW50PWcucGFyZW50KHBhcmVudCkpIT09bGNhKXdQYXRoLnB1c2gocGFyZW50KTtyZXR1cm57cGF0aDp2UGF0aC5jb25jYXQod1BhdGgucmV2ZXJzZSgpKSxsY2E6bGNhfX1mdW5jdGlvbiBwb3N0b3JkZXIoZyl7dmFyIHJlc3VsdD17fSxsaW09MDtmdW5jdGlvbiBkZnModil7dmFyIGxvdz1saW07Xy5mb3JFYWNoKGcuY2hpbGRyZW4odiksZGZzKTtyZXN1bHRbdl09e2xvdzpsb3csbGltOmxpbSsrfX1fLmZvckVhY2goZy5jaGlsZHJlbigpLGRmcyk7cmV0dXJuIHJlc3VsdH19LHsiLi9sb2Rhc2giOjEwfV0sMjM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLEdyYXBoPQpyZXF1aXJlKCIuLi9ncmFwaGxpYiIpLkdyYXBoLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPXtwb3NpdGlvblg6cG9zaXRpb25YLGZpbmRUeXBlMUNvbmZsaWN0czpmaW5kVHlwZTFDb25mbGljdHMsZmluZFR5cGUyQ29uZmxpY3RzOmZpbmRUeXBlMkNvbmZsaWN0cyxhZGRDb25mbGljdDphZGRDb25mbGljdCxoYXNDb25mbGljdDpoYXNDb25mbGljdCx2ZXJ0aWNhbEFsaWdubWVudDp2ZXJ0aWNhbEFsaWdubWVudCxob3Jpem9udGFsQ29tcGFjdGlvbjpob3Jpem9udGFsQ29tcGFjdGlvbixhbGlnbkNvb3JkaW5hdGVzOmFsaWduQ29vcmRpbmF0ZXMsZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQ6ZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQsYmFsYW5jZTpiYWxhbmNlfTtmdW5jdGlvbiBmaW5kVHlwZTFDb25mbGljdHMoZyxsYXllcmluZyl7dmFyIGNvbmZsaWN0cz17fTtmdW5jdGlvbiB2aXNpdExheWVyKHByZXZMYXllcixsYXllcil7dmFyIGswPTAsc2NhblBvcz0KMCxwcmV2TGF5ZXJMZW5ndGg9cHJldkxheWVyLmxlbmd0aCxsYXN0Tm9kZT1fLmxhc3QobGF5ZXIpO18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2LGkpe3ZhciB3PWZpbmRPdGhlcklubmVyU2VnbWVudE5vZGUoZyx2KSxrMT13P2cubm9kZSh3KS5vcmRlcjpwcmV2TGF5ZXJMZW5ndGg7aWYod3x8dj09PWxhc3ROb2RlKXtfLmZvckVhY2gobGF5ZXIuc2xpY2Uoc2NhblBvcyxpKzEpLGZ1bmN0aW9uKHNjYW5Ob2RlKXtfLmZvckVhY2goZy5wcmVkZWNlc3NvcnMoc2Nhbk5vZGUpLGZ1bmN0aW9uKHUpe3ZhciB1TGFiZWw9Zy5ub2RlKHUpLHVQb3M9dUxhYmVsLm9yZGVyO2lmKCh1UG9zPGswfHxrMTx1UG9zKSYmISh1TGFiZWwuZHVtbXkmJmcubm9kZShzY2FuTm9kZSkuZHVtbXkpKWFkZENvbmZsaWN0KGNvbmZsaWN0cyx1LHNjYW5Ob2RlKX0pfSk7c2NhblBvcz1pKzE7azA9azF9fSk7cmV0dXJuIGxheWVyfV8ucmVkdWNlKGxheWVyaW5nLHZpc2l0TGF5ZXIpO3JldHVybiBjb25mbGljdHN9CmZ1bmN0aW9uIGZpbmRUeXBlMkNvbmZsaWN0cyhnLGxheWVyaW5nKXt2YXIgY29uZmxpY3RzPXt9O2Z1bmN0aW9uIHNjYW4oc291dGgsc291dGhQb3Msc291dGhFbmQscHJldk5vcnRoQm9yZGVyLG5leHROb3J0aEJvcmRlcil7dmFyIHY7Xy5mb3JFYWNoKF8ucmFuZ2Uoc291dGhQb3Msc291dGhFbmQpLGZ1bmN0aW9uKGkpe3Y9c291dGhbaV07aWYoZy5ub2RlKHYpLmR1bW15KV8uZm9yRWFjaChnLnByZWRlY2Vzc29ycyh2KSxmdW5jdGlvbih1KXt2YXIgdU5vZGU9Zy5ub2RlKHUpO2lmKHVOb2RlLmR1bW15JiYodU5vZGUub3JkZXI8cHJldk5vcnRoQm9yZGVyfHx1Tm9kZS5vcmRlcj5uZXh0Tm9ydGhCb3JkZXIpKWFkZENvbmZsaWN0KGNvbmZsaWN0cyx1LHYpfSl9KX1mdW5jdGlvbiB2aXNpdExheWVyKG5vcnRoLHNvdXRoKXt2YXIgcHJldk5vcnRoUG9zPS0xLG5leHROb3J0aFBvcyxzb3V0aFBvcz0wO18uZm9yRWFjaChzb3V0aCxmdW5jdGlvbih2LHNvdXRoTG9va2FoZWFkKXtpZihnLm5vZGUodikuZHVtbXk9PT0KImJvcmRlciIpe3ZhciBwcmVkZWNlc3NvcnM9Zy5wcmVkZWNlc3NvcnModik7aWYocHJlZGVjZXNzb3JzLmxlbmd0aCl7bmV4dE5vcnRoUG9zPWcubm9kZShwcmVkZWNlc3NvcnNbMF0pLm9yZGVyO3NjYW4oc291dGgsc291dGhQb3Msc291dGhMb29rYWhlYWQscHJldk5vcnRoUG9zLG5leHROb3J0aFBvcyk7c291dGhQb3M9c291dGhMb29rYWhlYWQ7cHJldk5vcnRoUG9zPW5leHROb3J0aFBvc319c2Nhbihzb3V0aCxzb3V0aFBvcyxzb3V0aC5sZW5ndGgsbmV4dE5vcnRoUG9zLG5vcnRoLmxlbmd0aCl9KTtyZXR1cm4gc291dGh9Xy5yZWR1Y2UobGF5ZXJpbmcsdmlzaXRMYXllcik7cmV0dXJuIGNvbmZsaWN0c31mdW5jdGlvbiBmaW5kT3RoZXJJbm5lclNlZ21lbnROb2RlKGcsdil7aWYoZy5ub2RlKHYpLmR1bW15KXJldHVybiBfLmZpbmQoZy5wcmVkZWNlc3NvcnModiksZnVuY3Rpb24odSl7cmV0dXJuIGcubm9kZSh1KS5kdW1teX0pfWZ1bmN0aW9uIGFkZENvbmZsaWN0KGNvbmZsaWN0cywKdix3KXtpZih2Pncpe3ZhciB0bXA9djt2PXc7dz10bXB9dmFyIGNvbmZsaWN0c1Y9Y29uZmxpY3RzW3ZdO2lmKCFjb25mbGljdHNWKWNvbmZsaWN0c1t2XT1jb25mbGljdHNWPXt9O2NvbmZsaWN0c1Zbd109dHJ1ZX1mdW5jdGlvbiBoYXNDb25mbGljdChjb25mbGljdHMsdix3KXtpZih2Pncpe3ZhciB0bXA9djt2PXc7dz10bXB9cmV0dXJuIF8uaGFzKGNvbmZsaWN0c1t2XSx3KX1mdW5jdGlvbiB2ZXJ0aWNhbEFsaWdubWVudChnLGxheWVyaW5nLGNvbmZsaWN0cyxuZWlnaGJvckZuKXt2YXIgcm9vdD17fSxhbGlnbj17fSxwb3M9e307Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXtfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odixvcmRlcil7cm9vdFt2XT12O2FsaWduW3ZdPXY7cG9zW3ZdPW9yZGVyfSl9KTtfLmZvckVhY2gobGF5ZXJpbmcsZnVuY3Rpb24obGF5ZXIpe3ZhciBwcmV2SWR4PS0xO18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2KXt2YXIgd3M9bmVpZ2hib3JGbih2KTsKaWYod3MubGVuZ3RoKXt3cz1fLnNvcnRCeSh3cyxmdW5jdGlvbih3KXtyZXR1cm4gcG9zW3ddfSk7dmFyIG1wPSh3cy5sZW5ndGgtMSkvMjtmb3IodmFyIGk9TWF0aC5mbG9vcihtcCksaWw9TWF0aC5jZWlsKG1wKTtpPD1pbDsrK2kpe3ZhciB3PXdzW2ldO2lmKGFsaWduW3ZdPT09diYmcHJldklkeDxwb3Nbd10mJiFoYXNDb25mbGljdChjb25mbGljdHMsdix3KSl7YWxpZ25bd109djthbGlnblt2XT1yb290W3ZdPXJvb3Rbd107cHJldklkeD1wb3Nbd119fX19KX0pO3JldHVybntyb290OnJvb3QsYWxpZ246YWxpZ259fWZ1bmN0aW9uIGhvcml6b250YWxDb21wYWN0aW9uKGcsbGF5ZXJpbmcscm9vdCxhbGlnbixyZXZlcnNlU2VwKXt2YXIgeHM9e30sYmxvY2tHPWJ1aWxkQmxvY2tHcmFwaChnLGxheWVyaW5nLHJvb3QscmV2ZXJzZVNlcCksYm9yZGVyVHlwZT1yZXZlcnNlU2VwPyJib3JkZXJMZWZ0IjoiYm9yZGVyUmlnaHQiO2Z1bmN0aW9uIGl0ZXJhdGUoc2V0WHNGdW5jLG5leHROb2Rlc0Z1bmMpe3ZhciBzdGFjaz0KYmxvY2tHLm5vZGVzKCk7dmFyIGVsZW09c3RhY2sucG9wKCk7dmFyIHZpc2l0ZWQ9e307d2hpbGUoZWxlbSl7aWYodmlzaXRlZFtlbGVtXSlzZXRYc0Z1bmMoZWxlbSk7ZWxzZXt2aXNpdGVkW2VsZW1dPXRydWU7c3RhY2sucHVzaChlbGVtKTtzdGFjaz1zdGFjay5jb25jYXQobmV4dE5vZGVzRnVuYyhlbGVtKSl9ZWxlbT1zdGFjay5wb3AoKX19ZnVuY3Rpb24gcGFzczEoZWxlbSl7eHNbZWxlbV09YmxvY2tHLmluRWRnZXMoZWxlbSkucmVkdWNlKGZ1bmN0aW9uKGFjYyxlKXtyZXR1cm4gTWF0aC5tYXgoYWNjLHhzW2Uudl0rYmxvY2tHLmVkZ2UoZSkpfSwwKX1mdW5jdGlvbiBwYXNzMihlbGVtKXt2YXIgbWluPWJsb2NrRy5vdXRFZGdlcyhlbGVtKS5yZWR1Y2UoZnVuY3Rpb24oYWNjLGUpe3JldHVybiBNYXRoLm1pbihhY2MseHNbZS53XS1ibG9ja0cuZWRnZShlKSl9LE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7dmFyIG5vZGU9Zy5ub2RlKGVsZW0pO2lmKG1pbiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSYmCm5vZGUuYm9yZGVyVHlwZSE9PWJvcmRlclR5cGUpeHNbZWxlbV09TWF0aC5tYXgoeHNbZWxlbV0sbWluKX1pdGVyYXRlKHBhc3MxLF8uYmluZChibG9ja0cucHJlZGVjZXNzb3JzLGJsb2NrRykpO2l0ZXJhdGUocGFzczIsXy5iaW5kKGJsb2NrRy5zdWNjZXNzb3JzLGJsb2NrRykpO18uZm9yRWFjaChhbGlnbixmdW5jdGlvbih2KXt4c1t2XT14c1tyb290W3ZdXX0pO3JldHVybiB4c31mdW5jdGlvbiBidWlsZEJsb2NrR3JhcGgoZyxsYXllcmluZyxyb290LHJldmVyc2VTZXApe3ZhciBibG9ja0dyYXBoPW5ldyBHcmFwaCxncmFwaExhYmVsPWcuZ3JhcGgoKSxzZXBGbj1zZXAoZ3JhcGhMYWJlbC5ub2Rlc2VwLGdyYXBoTGFiZWwuZWRnZXNlcCxyZXZlcnNlU2VwKTtfLmZvckVhY2gobGF5ZXJpbmcsZnVuY3Rpb24obGF5ZXIpe3ZhciB1O18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2KXt2YXIgdlJvb3Q9cm9vdFt2XTtibG9ja0dyYXBoLnNldE5vZGUodlJvb3QpO2lmKHUpe3ZhciB1Um9vdD0Kcm9vdFt1XSxwcmV2TWF4PWJsb2NrR3JhcGguZWRnZSh1Um9vdCx2Um9vdCk7YmxvY2tHcmFwaC5zZXRFZGdlKHVSb290LHZSb290LE1hdGgubWF4KHNlcEZuKGcsdix1KSxwcmV2TWF4fHwwKSl9dT12fSl9KTtyZXR1cm4gYmxvY2tHcmFwaH1mdW5jdGlvbiBmaW5kU21hbGxlc3RXaWR0aEFsaWdubWVudChnLHhzcyl7cmV0dXJuIF8ubWluQnkoXy52YWx1ZXMoeHNzKSxmdW5jdGlvbih4cyl7dmFyIG1heD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7dmFyIG1pbj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7Xy5mb3JJbih4cyxmdW5jdGlvbih4LHYpe3ZhciBoYWxmV2lkdGg9d2lkdGgoZyx2KS8yO21heD1NYXRoLm1heCh4K2hhbGZXaWR0aCxtYXgpO21pbj1NYXRoLm1pbih4LWhhbGZXaWR0aCxtaW4pfSk7cmV0dXJuIG1heC1taW59KX1mdW5jdGlvbiBhbGlnbkNvb3JkaW5hdGVzKHhzcyxhbGlnblRvKXt2YXIgYWxpZ25Ub1ZhbHM9Xy52YWx1ZXMoYWxpZ25UbyksYWxpZ25Ub01pbj0KXy5taW4oYWxpZ25Ub1ZhbHMpLGFsaWduVG9NYXg9Xy5tYXgoYWxpZ25Ub1ZhbHMpO18uZm9yRWFjaChbInUiLCJkIl0sZnVuY3Rpb24odmVydCl7Xy5mb3JFYWNoKFsibCIsInIiXSxmdW5jdGlvbihob3Jpeil7dmFyIGFsaWdubWVudD12ZXJ0K2hvcml6LHhzPXhzc1thbGlnbm1lbnRdLGRlbHRhO2lmKHhzPT09YWxpZ25UbylyZXR1cm47dmFyIHhzVmFscz1fLnZhbHVlcyh4cyk7ZGVsdGE9aG9yaXo9PT0ibCI/YWxpZ25Ub01pbi1fLm1pbih4c1ZhbHMpOmFsaWduVG9NYXgtXy5tYXgoeHNWYWxzKTtpZihkZWx0YSl4c3NbYWxpZ25tZW50XT1fLm1hcFZhbHVlcyh4cyxmdW5jdGlvbih4KXtyZXR1cm4geCtkZWx0YX0pfSl9KX1mdW5jdGlvbiBiYWxhbmNlKHhzcyxhbGlnbil7cmV0dXJuIF8ubWFwVmFsdWVzKHhzcy51bCxmdW5jdGlvbihpZ25vcmUsdil7aWYoYWxpZ24pcmV0dXJuIHhzc1thbGlnbi50b0xvd2VyQ2FzZSgpXVt2XTtlbHNle3ZhciB4cz1fLnNvcnRCeShfLm1hcCh4c3MsCnYpKTtyZXR1cm4oeHNbMV0reHNbMl0pLzJ9fSl9ZnVuY3Rpb24gcG9zaXRpb25YKGcpe3ZhciBsYXllcmluZz11dGlsLmJ1aWxkTGF5ZXJNYXRyaXgoZyksY29uZmxpY3RzPV8ubWVyZ2UoZmluZFR5cGUxQ29uZmxpY3RzKGcsbGF5ZXJpbmcpLGZpbmRUeXBlMkNvbmZsaWN0cyhnLGxheWVyaW5nKSk7dmFyIHhzcz17fSxhZGp1c3RlZExheWVyaW5nO18uZm9yRWFjaChbInUiLCJkIl0sZnVuY3Rpb24odmVydCl7YWRqdXN0ZWRMYXllcmluZz12ZXJ0PT09InUiP2xheWVyaW5nOl8udmFsdWVzKGxheWVyaW5nKS5yZXZlcnNlKCk7Xy5mb3JFYWNoKFsibCIsInIiXSxmdW5jdGlvbihob3Jpeil7aWYoaG9yaXo9PT0iciIpYWRqdXN0ZWRMYXllcmluZz1fLm1hcChhZGp1c3RlZExheWVyaW5nLGZ1bmN0aW9uKGlubmVyKXtyZXR1cm4gXy52YWx1ZXMoaW5uZXIpLnJldmVyc2UoKX0pO3ZhciBuZWlnaGJvckZuPV8uYmluZCh2ZXJ0PT09InUiP2cucHJlZGVjZXNzb3JzOmcuc3VjY2Vzc29ycywKZyk7dmFyIGFsaWduPXZlcnRpY2FsQWxpZ25tZW50KGcsYWRqdXN0ZWRMYXllcmluZyxjb25mbGljdHMsbmVpZ2hib3JGbik7dmFyIHhzPWhvcml6b250YWxDb21wYWN0aW9uKGcsYWRqdXN0ZWRMYXllcmluZyxhbGlnbi5yb290LGFsaWduLmFsaWduLGhvcml6PT09InIiKTtpZihob3Jpej09PSJyIil4cz1fLm1hcFZhbHVlcyh4cyxmdW5jdGlvbih4KXtyZXR1cm4teH0pO3hzc1t2ZXJ0K2hvcml6XT14c30pfSk7dmFyIHNtYWxsZXN0V2lkdGg9ZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQoZyx4c3MpO2FsaWduQ29vcmRpbmF0ZXMoeHNzLHNtYWxsZXN0V2lkdGgpO3JldHVybiBiYWxhbmNlKHhzcyxnLmdyYXBoKCkuYWxpZ24pfWZ1bmN0aW9uIHNlcChub2RlU2VwLGVkZ2VTZXAscmV2ZXJzZVNlcCl7cmV0dXJuIGZ1bmN0aW9uKGcsdix3KXt2YXIgdkxhYmVsPWcubm9kZSh2KSx3TGFiZWw9Zy5ub2RlKHcpLHN1bT0wLGRlbHRhO3N1bSs9dkxhYmVsLndpZHRoLzI7aWYoXy5oYXModkxhYmVsLAoibGFiZWxwb3MiKSlzd2l0Y2godkxhYmVsLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkpe2Nhc2UgImwiOmRlbHRhPS12TGFiZWwud2lkdGgvMjticmVhaztjYXNlICJyIjpkZWx0YT12TGFiZWwud2lkdGgvMjticmVha31pZihkZWx0YSlzdW0rPXJldmVyc2VTZXA/ZGVsdGE6LWRlbHRhO2RlbHRhPTA7c3VtKz0odkxhYmVsLmR1bW15P2VkZ2VTZXA6bm9kZVNlcCkvMjtzdW0rPSh3TGFiZWwuZHVtbXk/ZWRnZVNlcDpub2RlU2VwKS8yO3N1bSs9d0xhYmVsLndpZHRoLzI7aWYoXy5oYXMod0xhYmVsLCJsYWJlbHBvcyIpKXN3aXRjaCh3TGFiZWwubGFiZWxwb3MudG9Mb3dlckNhc2UoKSl7Y2FzZSAibCI6ZGVsdGE9d0xhYmVsLndpZHRoLzI7YnJlYWs7Y2FzZSAiciI6ZGVsdGE9LXdMYWJlbC53aWR0aC8yO2JyZWFrfWlmKGRlbHRhKXN1bSs9cmV2ZXJzZVNlcD9kZWx0YTotZGVsdGE7ZGVsdGE9MDtyZXR1cm4gc3VtfX1mdW5jdGlvbiB3aWR0aChnLHYpe3JldHVybiBnLm5vZGUodikud2lkdGh9Cn0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMCwiLi4vdXRpbCI6Mjl9XSwyNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuLi91dGlsIikscG9zaXRpb25YPXJlcXVpcmUoIi4vYmsiKS5wb3NpdGlvblg7bW9kdWxlLmV4cG9ydHM9cG9zaXRpb247ZnVuY3Rpb24gcG9zaXRpb24oZyl7Zz11dGlsLmFzTm9uQ29tcG91bmRHcmFwaChnKTtwb3NpdGlvblkoZyk7Xy5mb3JFYWNoKHBvc2l0aW9uWChnKSxmdW5jdGlvbih4LHYpe2cubm9kZSh2KS54PXh9KX1mdW5jdGlvbiBwb3NpdGlvblkoZyl7dmFyIGxheWVyaW5nPXV0aWwuYnVpbGRMYXllck1hdHJpeChnKSxyYW5rU2VwPWcuZ3JhcGgoKS5yYW5rc2VwLHByZXZZPTA7Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXt2YXIgbWF4SGVpZ2h0PV8ubWF4KF8ubWFwKGxheWVyLGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodikuaGVpZ2h0fSkpOwpfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odil7Zy5ub2RlKHYpLnk9cHJldlkrbWF4SGVpZ2h0LzJ9KTtwcmV2WSs9bWF4SGVpZ2h0K3JhbmtTZXB9KX19LHsiLi4vbG9kYXNoIjoxMCwiLi4vdXRpbCI6MjksIi4vYmsiOjIzfV0sMjU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLEdyYXBoPXJlcXVpcmUoIi4uL2dyYXBobGliIikuR3JhcGgsc2xhY2s9cmVxdWlyZSgiLi91dGlsIikuc2xhY2s7bW9kdWxlLmV4cG9ydHM9ZmVhc2libGVUcmVlO2Z1bmN0aW9uIGZlYXNpYmxlVHJlZShnKXt2YXIgdD1uZXcgR3JhcGgoe2RpcmVjdGVkOmZhbHNlfSk7dmFyIHN0YXJ0PWcubm9kZXMoKVswXSxzaXplPWcubm9kZUNvdW50KCk7dC5zZXROb2RlKHN0YXJ0LHt9KTt2YXIgZWRnZSxkZWx0YTt3aGlsZSh0aWdodFRyZWUodCxnKTxzaXplKXtlZGdlPWZpbmRNaW5TbGFja0VkZ2UodCxnKTtkZWx0YT10Lmhhc05vZGUoZWRnZS52KT8Kc2xhY2soZyxlZGdlKTotc2xhY2soZyxlZGdlKTtzaGlmdFJhbmtzKHQsZyxkZWx0YSl9cmV0dXJuIHR9ZnVuY3Rpb24gdGlnaHRUcmVlKHQsZyl7ZnVuY3Rpb24gZGZzKHYpe18uZm9yRWFjaChnLm5vZGVFZGdlcyh2KSxmdW5jdGlvbihlKXt2YXIgZWRnZVY9ZS52LHc9dj09PWVkZ2VWP2UudzplZGdlVjtpZighdC5oYXNOb2RlKHcpJiYhc2xhY2soZyxlKSl7dC5zZXROb2RlKHcse30pO3Quc2V0RWRnZSh2LHcse30pO2Rmcyh3KX19KX1fLmZvckVhY2godC5ub2RlcygpLGRmcyk7cmV0dXJuIHQubm9kZUNvdW50KCl9ZnVuY3Rpb24gZmluZE1pblNsYWNrRWRnZSh0LGcpe3JldHVybiBfLm1pbkJ5KGcuZWRnZXMoKSxmdW5jdGlvbihlKXtpZih0Lmhhc05vZGUoZS52KSE9PXQuaGFzTm9kZShlLncpKXJldHVybiBzbGFjayhnLGUpfSl9ZnVuY3Rpb24gc2hpZnRSYW5rcyh0LGcsZGVsdGEpe18uZm9yRWFjaCh0Lm5vZGVzKCksZnVuY3Rpb24odil7Zy5ub2RlKHYpLnJhbmsrPWRlbHRhfSl9Cn0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOH1dLDI2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgcmFua1V0aWw9cmVxdWlyZSgiLi91dGlsIiksbG9uZ2VzdFBhdGg9cmFua1V0aWwubG9uZ2VzdFBhdGgsZmVhc2libGVUcmVlPXJlcXVpcmUoIi4vZmVhc2libGUtdHJlZSIpLG5ldHdvcmtTaW1wbGV4PXJlcXVpcmUoIi4vbmV0d29yay1zaW1wbGV4Iik7bW9kdWxlLmV4cG9ydHM9cmFuaztmdW5jdGlvbiByYW5rKGcpe3N3aXRjaChnLmdyYXBoKCkucmFua2VyKXtjYXNlICJuZXR3b3JrLXNpbXBsZXgiOm5ldHdvcmtTaW1wbGV4UmFua2VyKGcpO2JyZWFrO2Nhc2UgInRpZ2h0LXRyZWUiOnRpZ2h0VHJlZVJhbmtlcihnKTticmVhaztjYXNlICJsb25nZXN0LXBhdGgiOmxvbmdlc3RQYXRoUmFua2VyKGcpO2JyZWFrO2RlZmF1bHQ6bmV0d29ya1NpbXBsZXhSYW5rZXIoZyl9fXZhciBsb25nZXN0UGF0aFJhbmtlcj1sb25nZXN0UGF0aDsKZnVuY3Rpb24gdGlnaHRUcmVlUmFua2VyKGcpe2xvbmdlc3RQYXRoKGcpO2ZlYXNpYmxlVHJlZShnKX1mdW5jdGlvbiBuZXR3b3JrU2ltcGxleFJhbmtlcihnKXtuZXR3b3JrU2ltcGxleChnKX19LHsiLi9mZWFzaWJsZS10cmVlIjoyNSwiLi9uZXR3b3JrLXNpbXBsZXgiOjI3LCIuL3V0aWwiOjI4fV0sMjc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLGZlYXNpYmxlVHJlZT1yZXF1aXJlKCIuL2ZlYXNpYmxlLXRyZWUiKSxzbGFjaz1yZXF1aXJlKCIuL3V0aWwiKS5zbGFjayxpbml0UmFuaz1yZXF1aXJlKCIuL3V0aWwiKS5sb25nZXN0UGF0aCxwcmVvcmRlcj1yZXF1aXJlKCIuLi9ncmFwaGxpYiIpLmFsZy5wcmVvcmRlcixwb3N0b3JkZXI9cmVxdWlyZSgiLi4vZ3JhcGhsaWIiKS5hbGcucG9zdG9yZGVyLHNpbXBsaWZ5PXJlcXVpcmUoIi4uL3V0aWwiKS5zaW1wbGlmeTttb2R1bGUuZXhwb3J0cz1uZXR3b3JrU2ltcGxleDsKbmV0d29ya1NpbXBsZXguaW5pdExvd0xpbVZhbHVlcz1pbml0TG93TGltVmFsdWVzO25ldHdvcmtTaW1wbGV4LmluaXRDdXRWYWx1ZXM9aW5pdEN1dFZhbHVlcztuZXR3b3JrU2ltcGxleC5jYWxjQ3V0VmFsdWU9Y2FsY0N1dFZhbHVlO25ldHdvcmtTaW1wbGV4LmxlYXZlRWRnZT1sZWF2ZUVkZ2U7bmV0d29ya1NpbXBsZXguZW50ZXJFZGdlPWVudGVyRWRnZTtuZXR3b3JrU2ltcGxleC5leGNoYW5nZUVkZ2VzPWV4Y2hhbmdlRWRnZXM7ZnVuY3Rpb24gbmV0d29ya1NpbXBsZXgoZyl7Zz1zaW1wbGlmeShnKTtpbml0UmFuayhnKTt2YXIgdD1mZWFzaWJsZVRyZWUoZyk7aW5pdExvd0xpbVZhbHVlcyh0KTtpbml0Q3V0VmFsdWVzKHQsZyk7dmFyIGUsZjt3aGlsZShlPWxlYXZlRWRnZSh0KSl7Zj1lbnRlckVkZ2UodCxnLGUpO2V4Y2hhbmdlRWRnZXModCxnLGUsZil9fWZ1bmN0aW9uIGluaXRDdXRWYWx1ZXModCxnKXt2YXIgdnM9cG9zdG9yZGVyKHQsdC5ub2RlcygpKTt2cz12cy5zbGljZSgwLAp2cy5sZW5ndGgtMSk7Xy5mb3JFYWNoKHZzLGZ1bmN0aW9uKHYpe2Fzc2lnbkN1dFZhbHVlKHQsZyx2KX0pfWZ1bmN0aW9uIGFzc2lnbkN1dFZhbHVlKHQsZyxjaGlsZCl7dmFyIGNoaWxkTGFiPXQubm9kZShjaGlsZCkscGFyZW50PWNoaWxkTGFiLnBhcmVudDt0LmVkZ2UoY2hpbGQscGFyZW50KS5jdXR2YWx1ZT1jYWxjQ3V0VmFsdWUodCxnLGNoaWxkKX1mdW5jdGlvbiBjYWxjQ3V0VmFsdWUodCxnLGNoaWxkKXt2YXIgY2hpbGRMYWI9dC5ub2RlKGNoaWxkKSxwYXJlbnQ9Y2hpbGRMYWIucGFyZW50LGNoaWxkSXNUYWlsPXRydWUsZ3JhcGhFZGdlPWcuZWRnZShjaGlsZCxwYXJlbnQpLGN1dFZhbHVlPTA7aWYoIWdyYXBoRWRnZSl7Y2hpbGRJc1RhaWw9ZmFsc2U7Z3JhcGhFZGdlPWcuZWRnZShwYXJlbnQsY2hpbGQpfWN1dFZhbHVlPWdyYXBoRWRnZS53ZWlnaHQ7Xy5mb3JFYWNoKGcubm9kZUVkZ2VzKGNoaWxkKSxmdW5jdGlvbihlKXt2YXIgaXNPdXRFZGdlPWUudj09PWNoaWxkLG90aGVyPQppc091dEVkZ2U/ZS53OmUudjtpZihvdGhlciE9PXBhcmVudCl7dmFyIHBvaW50c1RvSGVhZD1pc091dEVkZ2U9PT1jaGlsZElzVGFpbCxvdGhlcldlaWdodD1nLmVkZ2UoZSkud2VpZ2h0O2N1dFZhbHVlKz1wb2ludHNUb0hlYWQ/b3RoZXJXZWlnaHQ6LW90aGVyV2VpZ2h0O2lmKGlzVHJlZUVkZ2UodCxjaGlsZCxvdGhlcikpe3ZhciBvdGhlckN1dFZhbHVlPXQuZWRnZShjaGlsZCxvdGhlcikuY3V0dmFsdWU7Y3V0VmFsdWUrPXBvaW50c1RvSGVhZD8tb3RoZXJDdXRWYWx1ZTpvdGhlckN1dFZhbHVlfX19KTtyZXR1cm4gY3V0VmFsdWV9ZnVuY3Rpb24gaW5pdExvd0xpbVZhbHVlcyh0cmVlLHJvb3Qpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Milyb290PXRyZWUubm9kZXMoKVswXTtkZnNBc3NpZ25Mb3dMaW0odHJlZSx7fSwxLHJvb3QpfWZ1bmN0aW9uIGRmc0Fzc2lnbkxvd0xpbSh0cmVlLHZpc2l0ZWQsbmV4dExpbSx2LHBhcmVudCl7dmFyIGxvdz1uZXh0TGltLGxhYmVsPXRyZWUubm9kZSh2KTsKdmlzaXRlZFt2XT10cnVlO18uZm9yRWFjaCh0cmVlLm5laWdoYm9ycyh2KSxmdW5jdGlvbih3KXtpZighXy5oYXModmlzaXRlZCx3KSluZXh0TGltPWRmc0Fzc2lnbkxvd0xpbSh0cmVlLHZpc2l0ZWQsbmV4dExpbSx3LHYpfSk7bGFiZWwubG93PWxvdztsYWJlbC5saW09bmV4dExpbSsrO2lmKHBhcmVudClsYWJlbC5wYXJlbnQ9cGFyZW50O2Vsc2UgZGVsZXRlIGxhYmVsLnBhcmVudDtyZXR1cm4gbmV4dExpbX1mdW5jdGlvbiBsZWF2ZUVkZ2UodHJlZSl7cmV0dXJuIF8uZmluZCh0cmVlLmVkZ2VzKCksZnVuY3Rpb24oZSl7cmV0dXJuIHRyZWUuZWRnZShlKS5jdXR2YWx1ZTwwfSl9ZnVuY3Rpb24gZW50ZXJFZGdlKHQsZyxlZGdlKXt2YXIgdj1lZGdlLnYsdz1lZGdlLnc7aWYoIWcuaGFzRWRnZSh2LHcpKXt2PWVkZ2Uudzt3PWVkZ2Uudn12YXIgdkxhYmVsPXQubm9kZSh2KSx3TGFiZWw9dC5ub2RlKHcpLHRhaWxMYWJlbD12TGFiZWwsZmxpcD1mYWxzZTtpZih2TGFiZWwubGltPndMYWJlbC5saW0pe3RhaWxMYWJlbD0Kd0xhYmVsO2ZsaXA9dHJ1ZX12YXIgY2FuZGlkYXRlcz1fLmZpbHRlcihnLmVkZ2VzKCksZnVuY3Rpb24oZWRnZSl7cmV0dXJuIGZsaXA9PT1pc0Rlc2NlbmRhbnQodCx0Lm5vZGUoZWRnZS52KSx0YWlsTGFiZWwpJiZmbGlwIT09aXNEZXNjZW5kYW50KHQsdC5ub2RlKGVkZ2UudyksdGFpbExhYmVsKX0pO3JldHVybiBfLm1pbkJ5KGNhbmRpZGF0ZXMsZnVuY3Rpb24oZWRnZSl7cmV0dXJuIHNsYWNrKGcsZWRnZSl9KX1mdW5jdGlvbiBleGNoYW5nZUVkZ2VzKHQsZyxlLGYpe3ZhciB2PWUudix3PWUudzt0LnJlbW92ZUVkZ2Uodix3KTt0LnNldEVkZ2UoZi52LGYudyx7fSk7aW5pdExvd0xpbVZhbHVlcyh0KTtpbml0Q3V0VmFsdWVzKHQsZyk7dXBkYXRlUmFua3ModCxnKX1mdW5jdGlvbiB1cGRhdGVSYW5rcyh0LGcpe3ZhciByb290PV8uZmluZCh0Lm5vZGVzKCksZnVuY3Rpb24odil7cmV0dXJuIWcubm9kZSh2KS5wYXJlbnR9KSx2cz1wcmVvcmRlcih0LHJvb3QpO3ZzPXZzLnNsaWNlKDEpOwpfLmZvckVhY2godnMsZnVuY3Rpb24odil7dmFyIHBhcmVudD10Lm5vZGUodikucGFyZW50LGVkZ2U9Zy5lZGdlKHYscGFyZW50KSxmbGlwcGVkPWZhbHNlO2lmKCFlZGdlKXtlZGdlPWcuZWRnZShwYXJlbnQsdik7ZmxpcHBlZD10cnVlfWcubm9kZSh2KS5yYW5rPWcubm9kZShwYXJlbnQpLnJhbmsrKGZsaXBwZWQ/ZWRnZS5taW5sZW46LWVkZ2UubWlubGVuKX0pfWZ1bmN0aW9uIGlzVHJlZUVkZ2UodHJlZSx1LHYpe3JldHVybiB0cmVlLmhhc0VkZ2UodSx2KX1mdW5jdGlvbiBpc0Rlc2NlbmRhbnQodHJlZSx2TGFiZWwscm9vdExhYmVsKXtyZXR1cm4gcm9vdExhYmVsLmxvdzw9dkxhYmVsLmxpbSYmdkxhYmVsLmxpbTw9cm9vdExhYmVsLmxpbX19LHsiLi4vZ3JhcGhsaWIiOjcsIi4uL2xvZGFzaCI6MTAsIi4uL3V0aWwiOjI5LCIuL2ZlYXNpYmxlLXRyZWUiOjI1LCIuL3V0aWwiOjI4fV0sMjg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpOwptb2R1bGUuZXhwb3J0cz17bG9uZ2VzdFBhdGg6bG9uZ2VzdFBhdGgsc2xhY2s6c2xhY2t9O2Z1bmN0aW9uIGxvbmdlc3RQYXRoKGcpe3ZhciB2aXNpdGVkPXt9O2Z1bmN0aW9uIGRmcyh2KXt2YXIgbGFiZWw9Zy5ub2RlKHYpO2lmKF8uaGFzKHZpc2l0ZWQsdikpcmV0dXJuIGxhYmVsLnJhbms7dmlzaXRlZFt2XT10cnVlO3ZhciByYW5rPV8ubWluQnkoXy5tYXAoZy5vdXRFZGdlcyh2KSxmdW5jdGlvbihlKXtyZXR1cm4gZGZzKGUudyktZy5lZGdlKGUpLm1pbmxlbn0pKTtpZihyYW5rPT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfHxyYW5rPT09dW5kZWZpbmVkfHxyYW5rPT09bnVsbClyYW5rPTA7cmV0dXJuIGxhYmVsLnJhbms9cmFua31fLmZvckVhY2goZy5zb3VyY2VzKCksZGZzKX1mdW5jdGlvbiBzbGFjayhnLGUpe3JldHVybiBnLm5vZGUoZS53KS5yYW5rLWcubm9kZShlLnYpLnJhbmstZy5lZGdlKGUpLm1pbmxlbn19LHsiLi4vbG9kYXNoIjoxMH1dLDI5OltmdW5jdGlvbihyZXF1aXJlLAptb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSxHcmFwaD1yZXF1aXJlKCIuL2dyYXBobGliIikuR3JhcGg7bW9kdWxlLmV4cG9ydHM9e2FkZER1bW15Tm9kZTphZGREdW1teU5vZGUsc2ltcGxpZnk6c2ltcGxpZnksYXNOb25Db21wb3VuZEdyYXBoOmFzTm9uQ29tcG91bmRHcmFwaCxzdWNjZXNzb3JXZWlnaHRzOnN1Y2Nlc3NvcldlaWdodHMscHJlZGVjZXNzb3JXZWlnaHRzOnByZWRlY2Vzc29yV2VpZ2h0cyxpbnRlcnNlY3RSZWN0OmludGVyc2VjdFJlY3QsYnVpbGRMYXllck1hdHJpeDpidWlsZExheWVyTWF0cml4LG5vcm1hbGl6ZVJhbmtzOm5vcm1hbGl6ZVJhbmtzLHJlbW92ZUVtcHR5UmFua3M6cmVtb3ZlRW1wdHlSYW5rcyxhZGRCb3JkZXJOb2RlOmFkZEJvcmRlck5vZGUsbWF4UmFuazptYXhSYW5rLHBhcnRpdGlvbjpwYXJ0aXRpb24sdGltZTp0aW1lLG5vdGltZTpub3RpbWV9O2Z1bmN0aW9uIGFkZER1bW15Tm9kZShnLHR5cGUsYXR0cnMsbmFtZSl7dmFyIHY7CmRvIHY9Xy51bmlxdWVJZChuYW1lKTt3aGlsZShnLmhhc05vZGUodikpO2F0dHJzLmR1bW15PXR5cGU7Zy5zZXROb2RlKHYsYXR0cnMpO3JldHVybiB2fWZ1bmN0aW9uIHNpbXBsaWZ5KGcpe3ZhciBzaW1wbGlmaWVkPShuZXcgR3JhcGgpLnNldEdyYXBoKGcuZ3JhcGgoKSk7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtzaW1wbGlmaWVkLnNldE5vZGUodixnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgc2ltcGxlTGFiZWw9c2ltcGxpZmllZC5lZGdlKGUudixlLncpfHx7d2VpZ2h0OjAsbWlubGVuOjF9LGxhYmVsPWcuZWRnZShlKTtzaW1wbGlmaWVkLnNldEVkZ2UoZS52LGUudyx7d2VpZ2h0OnNpbXBsZUxhYmVsLndlaWdodCtsYWJlbC53ZWlnaHQsbWlubGVuOk1hdGgubWF4KHNpbXBsZUxhYmVsLm1pbmxlbixsYWJlbC5taW5sZW4pfSl9KTtyZXR1cm4gc2ltcGxpZmllZH1mdW5jdGlvbiBhc05vbkNvbXBvdW5kR3JhcGgoZyl7dmFyIHNpbXBsaWZpZWQ9CihuZXcgR3JhcGgoe211bHRpZ3JhcGg6Zy5pc011bHRpZ3JhcGgoKX0pKS5zZXRHcmFwaChnLmdyYXBoKCkpO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoIWcuY2hpbGRyZW4odikubGVuZ3RoKXNpbXBsaWZpZWQuc2V0Tm9kZSh2LGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3NpbXBsaWZpZWQuc2V0RWRnZShlLGcuZWRnZShlKSl9KTtyZXR1cm4gc2ltcGxpZmllZH1mdW5jdGlvbiBzdWNjZXNzb3JXZWlnaHRzKGcpe3ZhciB3ZWlnaHRNYXA9Xy5tYXAoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBzdWNzPXt9O18uZm9yRWFjaChnLm91dEVkZ2VzKHYpLGZ1bmN0aW9uKGUpe3N1Y3NbZS53XT0oc3Vjc1tlLnddfHwwKStnLmVkZ2UoZSkud2VpZ2h0fSk7cmV0dXJuIHN1Y3N9KTtyZXR1cm4gXy56aXBPYmplY3QoZy5ub2RlcygpLHdlaWdodE1hcCl9ZnVuY3Rpb24gcHJlZGVjZXNzb3JXZWlnaHRzKGcpe3ZhciB3ZWlnaHRNYXA9Xy5tYXAoZy5ub2RlcygpLApmdW5jdGlvbih2KXt2YXIgcHJlZHM9e307Xy5mb3JFYWNoKGcuaW5FZGdlcyh2KSxmdW5jdGlvbihlKXtwcmVkc1tlLnZdPShwcmVkc1tlLnZdfHwwKStnLmVkZ2UoZSkud2VpZ2h0fSk7cmV0dXJuIHByZWRzfSk7cmV0dXJuIF8uemlwT2JqZWN0KGcubm9kZXMoKSx3ZWlnaHRNYXApfWZ1bmN0aW9uIGludGVyc2VjdFJlY3QocmVjdCxwb2ludCl7dmFyIHg9cmVjdC54O3ZhciB5PXJlY3QueTt2YXIgZHg9cG9pbnQueC14O3ZhciBkeT1wb2ludC55LXk7dmFyIHc9cmVjdC53aWR0aC8yO3ZhciBoPXJlY3QuaGVpZ2h0LzI7aWYoIWR4JiYhZHkpdGhyb3cgbmV3IEVycm9yKCJOb3QgcG9zc2libGUgdG8gZmluZCBpbnRlcnNlY3Rpb24gaW5zaWRlIG9mIHRoZSByZWN0YW5nbGUiKTt2YXIgc3gsc3k7aWYoTWF0aC5hYnMoZHkpKnc+TWF0aC5hYnMoZHgpKmgpe2lmKGR5PDApaD0taDtzeD1oKmR4L2R5O3N5PWh9ZWxzZXtpZihkeDwwKXc9LXc7c3g9dztzeT13KmR5L2R4fXJldHVybnt4OngrCnN4LHk6eStzeX19ZnVuY3Rpb24gYnVpbGRMYXllck1hdHJpeChnKXt2YXIgbGF5ZXJpbmc9Xy5tYXAoXy5yYW5nZShtYXhSYW5rKGcpKzEpLGZ1bmN0aW9uKCl7cmV0dXJuW119KTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KSxyYW5rPW5vZGUucmFuaztpZighXy5pc1VuZGVmaW5lZChyYW5rKSlsYXllcmluZ1tyYW5rXVtub2RlLm9yZGVyXT12fSk7cmV0dXJuIGxheWVyaW5nfWZ1bmN0aW9uIG5vcm1hbGl6ZVJhbmtzKGcpe3ZhciBtaW49Xy5taW5CeShfLm1hcChnLm5vZGVzKCksZnVuY3Rpb24odil7cmV0dXJuIGcubm9kZSh2KS5yYW5rfSkpO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGU9Zy5ub2RlKHYpO2lmKF8uaGFzKG5vZGUsInJhbmsiKSlub2RlLnJhbmstPW1pbn0pfWZ1bmN0aW9uIHJlbW92ZUVtcHR5UmFua3MoZyl7dmFyIG9mZnNldD1fLm1pbkJ5KF8ubWFwKGcubm9kZXMoKSxmdW5jdGlvbih2KXtyZXR1cm4gZy5ub2RlKHYpLnJhbmt9KSk7CnZhciBsYXllcnM9W107Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgcmFuaz1nLm5vZGUodikucmFuay1vZmZzZXQ7aWYoIWxheWVyc1tyYW5rXSlsYXllcnNbcmFua109W107bGF5ZXJzW3JhbmtdLnB1c2godil9KTt2YXIgZGVsdGE9MCxub2RlUmFua0ZhY3Rvcj1nLmdyYXBoKCkubm9kZVJhbmtGYWN0b3I7Xy5mb3JFYWNoKGxheWVycyxmdW5jdGlvbih2cyxpKXtpZihfLmlzVW5kZWZpbmVkKHZzKSYmaSVub2RlUmFua0ZhY3RvciE9PTApLS1kZWx0YTtlbHNlIGlmKGRlbHRhKV8uZm9yRWFjaCh2cyxmdW5jdGlvbih2KXtnLm5vZGUodikucmFuays9ZGVsdGF9KX0pfWZ1bmN0aW9uIGFkZEJvcmRlck5vZGUoZyxwcmVmaXgscmFuayxvcmRlcil7dmFyIG5vZGU9e3dpZHRoOjAsaGVpZ2h0OjB9O2lmKGFyZ3VtZW50cy5sZW5ndGg+PTQpe25vZGUucmFuaz1yYW5rO25vZGUub3JkZXI9b3JkZXJ9cmV0dXJuIGFkZER1bW15Tm9kZShnLCJib3JkZXIiLG5vZGUscHJlZml4KX0KZnVuY3Rpb24gbWF4UmFuayhnKXtyZXR1cm4gXy5tYXgoXy5tYXAoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciByYW5rPWcubm9kZSh2KS5yYW5rO2lmKCFfLmlzVW5kZWZpbmVkKHJhbmspKXJldHVybiByYW5rfSkpfWZ1bmN0aW9uIHBhcnRpdGlvbihjb2xsZWN0aW9uLGZuKXt2YXIgcmVzdWx0PXtsaHM6W10scmhzOltdfTtfLmZvckVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSl7aWYoZm4odmFsdWUpKXJlc3VsdC5saHMucHVzaCh2YWx1ZSk7ZWxzZSByZXN1bHQucmhzLnB1c2godmFsdWUpfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB0aW1lKG5hbWUsZm4pe3ZhciBzdGFydD1fLm5vdygpO3RyeXtyZXR1cm4gZm4oKX1maW5hbGx5e2NvbnNvbGUubG9nKG5hbWUrIiB0aW1lOiAiKyhfLm5vdygpLXN0YXJ0KSsibXMiKX19ZnVuY3Rpb24gbm90aW1lKG5hbWUsZm4pe3JldHVybiBmbigpfX0seyIuL2dyYXBobGliIjo3LCIuL2xvZGFzaCI6MTB9XSwzMDpbZnVuY3Rpb24ocmVxdWlyZSwKbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPSIwLjguMiJ9LHt9XX0se30sWzFdKSgxKX0pOwovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2Fubm90YXRpb24uanMKdmFyIHRmOwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXsoZnVuY3Rpb24oaCl7ZnVuY3Rpb24gayhxKXtyZXR1cm4oZC5yZW5kZXIuQW5ub3RhdGlvblR5cGVbcV18fCIiKS50b0xvd2VyQ2FzZSgpfHxudWxsfWZ1bmN0aW9uIHIocSx1KXt1LmFubm90YXRpb25UeXBlPT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU1VNTUFSWT9mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQocSwidXNlIikuYXR0cigiY2xhc3MiLCJzdW1tYXJ5IikuYXR0cigieGxpbms6aHJlZiIsIiNzdW1tYXJ5LWljb24iKS5hdHRyKCJjdXJzb3IiLCJwb2ludGVyIik6KHE9Zi5ub2RlLmJ1aWxkU2hhcGUocSx1LGYuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKSxmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQocSwidGl0bGUiKS50ZXh0KHUubm9kZS5uYW1lKSl9ZnVuY3Rpb24gbChxLHUpe2xldCB3PXUubm9kZS5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHAocSx3W3cubGVuZ3RoLTFdLHUsbnVsbCl9ZnVuY3Rpb24gcChxLHUsCncsQSl7bGV0IHk9Zi5DbGFzcy5Bbm5vdGF0aW9uLkxBQkVMO0EmJih5Kz0iICIrQSk7cT1xLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIix5KS5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLHcuaXNJbj8iZW5kIjoic3RhcnQiKS50ZXh0KHUpO3JldHVybiBiLmdyYXBoLnNjZW5lLm5vZGUuZW5mb3JjZUxhYmVsV2lkdGgocSwtMSl9ZnVuY3Rpb24gbShxLHUsdyxBKXtxLm9uKCJtb3VzZW92ZXIiLHk9PntBLmZpcmUoImFubm90YXRpb24taGlnaGxpZ2h0Iix7bmFtZTp5Lm5vZGUubmFtZSxob3N0TmFtZTp1Lm5vZGUubmFtZX0pfSkub24oIm1vdXNlb3V0Iix5PT57QS5maXJlKCJhbm5vdGF0aW9uLXVuaGlnaGxpZ2h0Iix7bmFtZTp5Lm5vZGUubmFtZSxob3N0TmFtZTp1Lm5vZGUubmFtZX0pfSkub24oImNsaWNrIix5PT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7QS5maXJlKCJhbm5vdGF0aW9uLXNlbGVjdCIse25hbWU6eS5ub2RlLm5hbWUsaG9zdE5hbWU6dS5ub2RlLm5hbWV9KX0pOwppZih3LmFubm90YXRpb25UeXBlIT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU1VNTUFSWSYmdy5hbm5vdGF0aW9uVHlwZSE9PWQucmVuZGVyLkFubm90YXRpb25UeXBlLkNPTlNUQU5UKXEub24oImNvbnRleHRtZW51IixmLmNvbnRleHRtZW51LmdldE1lbnUoQSxmLm5vZGUuZ2V0Q29udGV4dE1lbnUody5ub2RlLEEpKSl9ZnVuY3Rpb24gbihxLHUsdyxBKXtsZXQgeT1kLmxheW91dC5jb21wdXRlQ1hQb3NpdGlvbk9mTm9kZVNoYXBlKHUpO3cucmVuZGVyTm9kZUluZm8mJncuYW5ub3RhdGlvblR5cGUhPT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5FTExJUFNJUyYmZi5ub2RlLnN0eWxpemUocSx3LnJlbmRlck5vZGVJbmZvLEEsZi5DbGFzcy5Bbm5vdGF0aW9uLk5PREUpO3cuYW5ub3RhdGlvblR5cGU9PT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5TVU1NQVJZJiYody53aWR0aCs9MTApO3Euc2VsZWN0KCJ0ZXh0LiIrZi5DbGFzcy5Bbm5vdGF0aW9uLkxBQkVMKS50cmFuc2l0aW9uKCkuYXR0cigieCIsCnkrdy5keCsody5pc0luPy0xOjEpKih3LndpZHRoLzIrdy5sYWJlbE9mZnNldCkpLmF0dHIoInkiLHUueSt3LmR5KTtxLnNlbGVjdCgidXNlLnN1bW1hcnkiKS50cmFuc2l0aW9uKCkuYXR0cigieCIseSt3LmR4LTMpLmF0dHIoInkiLHUueSt3LmR5LTYpO2YucG9zaXRpb25FbGxpcHNlKHEuc2VsZWN0KCIuIitmLkNsYXNzLkFubm90YXRpb24uTk9ERSsiIGVsbGlwc2UiKSx5K3cuZHgsdS55K3cuZHksdy53aWR0aCx3LmhlaWdodCk7Zi5wb3NpdGlvblJlY3QocS5zZWxlY3QoIi4iK2YuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKyIgcmVjdCIpLHkrdy5keCx1Lnkrdy5keSx3LndpZHRoLHcuaGVpZ2h0KTtmLnBvc2l0aW9uUmVjdChxLnNlbGVjdCgiLiIrZi5DbGFzcy5Bbm5vdGF0aW9uLk5PREUrIiB1c2UiKSx5K3cuZHgsdS55K3cuZHksdy53aWR0aCx3LmhlaWdodCk7cS5zZWxlY3QoInBhdGguIitmLkNsYXNzLkFubm90YXRpb24uRURHRSkudHJhbnNpdGlvbigpLmF0dHIoImQiLHg9Pgp7eD14LnBvaW50cy5tYXAoQz0+KHt4OkMuZHgreSx5OkMuZHkrdS55fSkpO3JldHVybiBmLmVkZ2UuaW50ZXJwb2xhdGUoeCl9KX1oLmJ1aWxkR3JvdXA9ZnVuY3Rpb24ocSx1LHcsQSl7cT1xLnNlbGVjdEFsbChmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9KS5kYXRhKHUubGlzdCx5PT55Lm5vZGUubmFtZSk7cS5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImRhdGEtbmFtZSIseT0+eS5ub2RlLm5hbWUpLmVhY2goZnVuY3Rpb24oeSl7bGV0IHg9ZDMuc2VsZWN0KHRoaXMpO0EuYWRkQW5ub3RhdGlvbkdyb3VwKHksdyx4KTtsZXQgQz1mLkNsYXNzLkFubm90YXRpb24uRURHRSxHPXkucmVuZGVyTWV0YWVkZ2VJbmZvJiZ5LnJlbmRlck1ldGFlZGdlSW5mby5tZXRhZWRnZTtHJiYhRy5udW1SZWd1bGFyRWRnZXMmJihDKz0iICIrZi5DbGFzcy5Bbm5vdGF0aW9uLkNPTlRST0xfRURHRSk7RyYmRy5udW1SZWZFZGdlcyYmKEMrPSIgIitmLkNsYXNzLkVkZ2UuUkVGX0xJTkUpOwpmLmVkZ2UuYXBwZW5kRWRnZSh4LHksQSxDKTt5LmFubm90YXRpb25UeXBlIT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuRUxMSVBTSVM/KGwoeCx5KSxyKHgseSkpOnAoeCx5Lm5vZGUubmFtZSx5LGYuQ2xhc3MuQW5ub3RhdGlvbi5FTExJUFNJUyl9KS5tZXJnZShxKS5hdHRyKCJjbGFzcyIseT0+Zi5DbGFzcy5Bbm5vdGF0aW9uLkdST1VQKyIgIitrKHkuYW5ub3RhdGlvblR5cGUpKyIgIitmLm5vZGUubm9kZUNsYXNzKHkpKS5lYWNoKGZ1bmN0aW9uKHkpe2xldCB4PWQzLnNlbGVjdCh0aGlzKTtuKHgsdyx5LEEpO3kuYW5ub3RhdGlvblR5cGUhPT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5FTExJUFNJUyYmbSh4LHcseSxBKX0pO3EuZXhpdCgpLmVhY2goZnVuY3Rpb24oeSl7bGV0IHg9ZDMuc2VsZWN0KHRoaXMpO0EucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKHksdyx4KX0pLnJlbW92ZSgpO3JldHVybiBxfX0pKGYuYW5ub3RhdGlvbnx8KGYuYW5ub3RhdGlvbj17fSkpfSkoZC5zY2VuZXx8CihkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9jb2xvcnMuanMKKGZ1bmN0aW9uKGIpe2IuQ09MT1JTPVt7bmFtZToiR29vZ2xlIEJsdWUiLGNvbG9yOiIjNDE4NGYzIixhY3RpdmU6IiMzYTUzYzUiLGRpc2FibGVkOiIjY2FkOGZjIn0se25hbWU6Ikdvb2dsZSBSZWQiLGNvbG9yOiIjZGI0NDM3IixhY3RpdmU6IiM4ZjJhMGMiLGRpc2FibGVkOiIjZThjNmMxIn0se25hbWU6Ikdvb2dsZSBZZWxsb3ciLGNvbG9yOiIjZjRiNDAwIixhY3RpdmU6IiNkYjkyMDAiLGRpc2FibGVkOiIjZjdlOGIwIn0se25hbWU6Ikdvb2dsZSBHcmVlbiIsY29sb3I6IiMwZjlkNTgiLGFjdGl2ZToiIzQ4ODA0NiIsZGlzYWJsZWQ6IiNjMmUxY2MifSx7bmFtZToiUHVycGxlIixjb2xvcjoiI2FhNDZiYiIsYWN0aXZlOiIjNWMxMzk4IixkaXNhYmxlZDoiI2Q3YmNlNiJ9LHtuYW1lOiJUZWFsIixjb2xvcjoiIzAwYWJjMCIsYWN0aXZlOiIjNDc4MjhlIixkaXNhYmxlZDoiI2MyZWFmMiJ9LHtuYW1lOiJEZWVwIE9yYW5nZSIsY29sb3I6IiNmZjZmNDIiLGFjdGl2ZToiI2NhNGEwNiIsCmRpc2FibGVkOiIjZjJjYmJhIn0se25hbWU6IkxpbWUiLGNvbG9yOiIjOWQ5YzIzIixhY3RpdmU6IiM3Zjc3MWQiLGRpc2FibGVkOiIjZjFmNGMyIn0se25hbWU6IkluZGlnbyIsY29sb3I6IiM1YjZhYmYiLGFjdGl2ZToiIzNlNDdhOSIsZGlzYWJsZWQ6IiNjNWM4ZTgifSx7bmFtZToiUGluayIsY29sb3I6IiNlZjYxOTEiLGFjdGl2ZToiI2NhMWM2MCIsZGlzYWJsZWQ6IiNlOWI5Y2UifSx7bmFtZToiRGVlcCBUZWFsIixjb2xvcjoiIzAwNzg2YSIsYWN0aXZlOiIjMmI0ZjQzIixkaXNhYmxlZDoiI2JlZGVkYSJ9LHtuYW1lOiJEZWVwIFBpbmsiLGNvbG9yOiIjYzExNzVhIixhY3RpdmU6IiM3NTA4NGYiLGRpc2FibGVkOiIjZGU4Y2FlIn0se25hbWU6IkdyYXkiLGNvbG9yOiIjOUU5RTlFIixhY3RpdmU6IiM0MjQyNDIiLGRpc2FibGVkOiJGNUY1RjUifV0ucmVkdWNlKChkLGYpPT57ZFtmLm5hbWVdPWY7cmV0dXJuIGR9LHt9KTtiLk9QX0dST1VQX0NPTE9SUz1be2NvbG9yOiJHb29nbGUgUmVkIiwKZ3JvdXBzOiJnZW5fbGVnYWN5X29wcyBsZWdhY3lfb3BzIGxlZ2FjeV9mbG9nc19pbnB1dCBsZWdhY3lfaW1hZ2VfaW5wdXQgbGVnYWN5X2lucHV0X2V4YW1wbGVfaW5wdXQgbGVnYWN5X3NlcXVlbmNlX2lucHV0IGxlZ2FjeV9zZXRpX2lucHV0X2lucHV0Ii5zcGxpdCgiICIpfSx7Y29sb3I6IkRlZXAgT3JhbmdlIixncm91cHM6WyJjb25zdGFudF9vcHMiXX0se2NvbG9yOiJJbmRpZ28iLGdyb3VwczpbInN0YXRlX29wcyJdfSx7Y29sb3I6IlB1cnBsZSIsZ3JvdXBzOlsibm5fb3BzIiwibm4iXX0se2NvbG9yOiJHb29nbGUgR3JlZW4iLGdyb3VwczpbIm1hdGhfb3BzIl19LHtjb2xvcjoiTGltZSIsZ3JvdXBzOlsiYXJyYXlfb3BzIl19LHtjb2xvcjoiVGVhbCIsZ3JvdXBzOlsiY29udHJvbF9mbG93X29wcyIsImRhdGFfZmxvd19vcHMiXX0se2NvbG9yOiJQaW5rIixncm91cHM6WyJzdW1tYXJ5X29wcyJdfSx7Y29sb3I6IkRlZXAgUGluayIsZ3JvdXBzOlsiaW9fb3BzIl19XS5yZWR1Y2UoKGQsCmYpPT57Zi5ncm91cHMuZm9yRWFjaChmdW5jdGlvbihoKXtkW2hdPWYuY29sb3J9KTtyZXR1cm4gZH0se30pfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9jb21tb24uanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi5PUF9HUkFQSD0ib3BfZ3JhcGgiO2YuQ09OQ0VQVFVBTF9HUkFQSD0iY29uY2VwdHVhbF9ncmFwaCI7Zi5QUk9GSUxFPSJwcm9maWxlIn0pKGQuU2VsZWN0aW9uVHlwZXx8KGQuU2VsZWN0aW9uVHlwZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vY29udGV4dG1lbnUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7KGZ1bmN0aW9uKGgpe2Z1bmN0aW9uIGsocil7bGV0IGw9MCxwPTA7Zm9yKDtyJiYwPD1yLm9mZnNldExlZnQmJjA8PXIub2Zmc2V0VG9wOylsKz1yLm9mZnNldExlZnQtci5zY3JvbGxMZWZ0LHArPXIub2Zmc2V0VG9wLXIuc2Nyb2xsVG9wLHI9ci5vZmZzZXRQYXJlbnQ7cmV0dXJue2xlZnQ6bCx0b3A6cH19aC5nZXRNZW51PWZ1bmN0aW9uKHIsbCl7Y29uc3QgcD1yLmdldENvbnRleHRNZW51KCksbT1kMy5zZWxlY3Qoci5nZXRDb250ZXh0TWVudSgpKTtyZXR1cm4gZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KHkpe3kmJnkuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMocCl8fChtLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix1LHtjYXB0dXJlOiEwfSkpfWxldCB3PWQzLmV2ZW50O2NvbnN0IEE9ayhyKTttLnN0eWxlKCJkaXNwbGF5IiwiYmxvY2siKS5zdHlsZSgibGVmdCIsCncuY2xpZW50WC1BLmxlZnQrMSsicHgiKS5zdHlsZSgidG9wIix3LmNsaWVudFktQS50b3ArMSsicHgiKTt3LnByZXZlbnREZWZhdWx0KCk7dy5zdG9wUHJvcGFnYXRpb24oKTtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdSx7Y2FwdHVyZTohMH0pO20uaHRtbCgiIik7bS5hcHBlbmQoInVsIikuc2VsZWN0QWxsKCJsaSIpLmRhdGEobCkuZW50ZXIoKS5hcHBlbmQoImxpIikub24oImNsaWNrIix5PT57eS5hY3Rpb24odGhpcyxuLHEpO3UoKX0pLmh0bWwoZnVuY3Rpb24oeSl7cmV0dXJuIHkudGl0bGUobil9KX19fSkoZi5jb250ZXh0bWVudXx8KGYuY29udGV4dG1lbnU9e30pKX0pKGQuc2NlbmV8fChkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9lZGdlLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpeyhmdW5jdGlvbihoKXtmdW5jdGlvbiBrKHkpe3JldHVybiB5LnYrZC5FREdFX0tFWV9ERUxJTSt5Lnd9ZnVuY3Rpb24gcih5LHgpe3g9eC5nZXROb2RlQnlOYW1lKHkudik7aWYobnVsbD09eC5vdXRwdXRTaGFwZXN8fF8uaXNFbXB0eSh4Lm91dHB1dFNoYXBlcykpcmV0dXJuIG51bGw7eT14Lm91dHB1dFNoYXBlc1t5Lm91dHB1dFRlbnNvcktleV07cmV0dXJuIG51bGw9PXk/bnVsbDowPT09eS5sZW5ndGg/InNjYWxhciI6eS5tYXAoQz0+LTE9PT1DPyI/IjpDKS5qb2luKCJcdTAwZDciKX1mdW5jdGlvbiBsKHkseCl7cmV0dXJuIHguZWRnZUxhYmVsRnVuY3Rpb24/eC5lZGdlTGFiZWxGdW5jdGlvbih5LHgpOjE8eS5iYXNlRWRnZUxpc3QubGVuZ3RoP3kuYmFzZUVkZ2VMaXN0Lmxlbmd0aCsiIHRlbnNvcnMiOnIoeS5iYXNlRWRnZUxpc3RbMF0seCl9ZnVuY3Rpb24gcCh5LHgsQyl7Y29uc3QgRz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYi5ncmFwaC5zY2VuZS5TVkdfTkFNRVNQQUNFLAoicGF0aCIpO2ZvcihsZXQgRD0xO0Q8eS5sZW5ndGg7RCsrKWlmKEcuc2V0QXR0cmlidXRlKCJkIixDKHkuc2xpY2UoMCxEKSkpLEcuZ2V0VG90YWxMZW5ndGgoKT54KXJldHVybiBELTE7cmV0dXJuIHkubGVuZ3RoLTF9ZnVuY3Rpb24gbSh5LHgsQyl7dmFyIEc9ZDMubGluZSgpLngoSz0+Sy54KS55KEs9PksueSksRD1kMy5zZWxlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdGgiKSkuYXR0cigiZCIsRyh5KSksQj0reC5hdHRyKCJtYXJrZXJXaWR0aCIpLEg9eC5hdHRyKCJ2aWV3Qm94Iikuc3BsaXQoIiAiKS5tYXAoTnVtYmVyKTtIPUhbMl0tSFswXTt4PSt4LmF0dHIoInJlZlgiKTtEPUQubm9kZSgpO2lmKEMpcmV0dXJuIEIqPTEteC9ILEM9RC5nZXRQb2ludEF0TGVuZ3RoKEIpLEc9cCh5LEIsRykseVtHLTFdPXt4OkMueCx5OkMueX0seS5zbGljZShHLTEpO0M9MS14L0g7Qj1ELmdldFRvdGFsTGVuZ3RoKCktQipDO0M9CkQuZ2V0UG9pbnRBdExlbmd0aChCKTtHPXAoeSxCLEcpO3lbR109e3g6Qy54LHk6Qy55fTtyZXR1cm4geS5zbGljZSgwLEcrMSl9ZnVuY3Rpb24gbih5LHgsQyxHKXtHPUd8fGYuQ2xhc3MuRWRnZS5MSU5FO3gubGFiZWwmJngubGFiZWwuc3RydWN0dXJhbCYmKEcrPSIgIitmLkNsYXNzLkVkZ2UuU1RSVUNUVVJBTCk7eC5sYWJlbCYmeC5sYWJlbC5tZXRhZWRnZSYmeC5sYWJlbC5tZXRhZWRnZS5udW1SZWZFZGdlcyYmKEcrPSIgIitmLkNsYXNzLkVkZ2UuUkVGRVJFTkNFX0VER0UpO0MuaGFuZGxlRWRnZVNlbGVjdGVkJiYoRys9IiAiK2YuQ2xhc3MuRWRnZS5TRUxFQ1RBQkxFKTtsZXQgRD0icGF0aF8iK2soeCk7aWYoQy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoRnVuY3Rpb24pdmFyIEI9Qy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoRnVuY3Rpb24oeCxHKTtlbHNlIEI9MSxudWxsIT14LmxhYmVsJiZudWxsIT14LmxhYmVsLm1ldGFlZGdlJiYoQj14LmxhYmVsLm1ldGFlZGdlLnRvdGFsU2l6ZSksCkI9Qy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoU2l6ZWRCYXNlZFNjYWxlKEIpO0c9eS5hcHBlbmQoInBhdGgiKS5hdHRyKCJpZCIsRCkuYXR0cigiY2xhc3MiLEcpLnN0eWxlKCJzdHJva2Utd2lkdGgiLEIrInB4Iik7eC5sYWJlbCYmeC5sYWJlbC5tZXRhZWRnZSYmKHgubGFiZWwubWV0YWVkZ2UubnVtUmVmRWRnZXM/KEI9YHJlZmVyZW5jZS1hcnJvd2hlYWQtJHtBKEIpfWAsRy5zdHlsZSgibWFya2VyLXN0YXJ0IixgdXJsKCMke0J9KWApLHgubGFiZWwuc3RhcnRNYXJrZXJJZD1CKTooQj1gZGF0YWZsb3ctYXJyb3doZWFkLSR7QShCKX1gLEcuc3R5bGUoIm1hcmtlci1lbmQiLGB1cmwoIyR7Qn0pYCkseC5sYWJlbC5lbmRNYXJrZXJJZD1CKSk7bnVsbCE9eC5sYWJlbCYmbnVsbCE9eC5sYWJlbC5tZXRhZWRnZSYmKHg9bCh4LmxhYmVsLm1ldGFlZGdlLEMucmVuZGVySGllcmFyY2h5KSxudWxsIT14JiZ5LmFwcGVuZCgidGV4dCIpLmFwcGVuZCgidGV4dFBhdGgiKS5hdHRyKCJ4bGluazpocmVmIiwKIiMiK0QpLmF0dHIoInN0YXJ0T2Zmc2V0IiwiNTAlIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJkb21pbmFudC1iYXNlbGluZSIsImNlbnRyYWwiKS50ZXh0KHgpKX1mdW5jdGlvbiBxKHkseCxDLEcsRCl7Rz1DLmxhYmVsO2xldCBCPUcuYWRqb2luaW5nTWV0YWVkZ2UsSD1HLnBvaW50czt5PXkuc2hhZG93Um9vdDtDLmxhYmVsLnN0YXJ0TWFya2VySWQmJihIPW0oSCxkMy5zZWxlY3QoeS5xdWVyeVNlbGVjdG9yKCIjIitDLmxhYmVsLnN0YXJ0TWFya2VySWQpKSwhMCkpO0MubGFiZWwuZW5kTWFya2VySWQmJihIPW0oSCxkMy5zZWxlY3QoeS5xdWVyeVNlbGVjdG9yKCIjIitDLmxhYmVsLmVuZE1hcmtlcklkKSksITEpKTtpZighQilyZXR1cm4gZDMuaW50ZXJwb2xhdGUoRCxoLmludGVycG9sYXRlKEgpKTtsZXQgSz1CLmVkZ2VHcm91cC5ub2RlKCkuZmlyc3RDaGlsZCxMPUcubWV0YWVkZ2UuaW5ib3VuZDtyZXR1cm4gZnVuY3Rpb24oKXtsZXQgSj1LLmdldFBvaW50QXRMZW5ndGgoTD8KSy5nZXRUb3RhbExlbmd0aCgpOjApLm1hdHJpeFRyYW5zZm9ybShLLmdldENUTSgpKS5tYXRyaXhUcmFuc2Zvcm0oeC5nZXRDVE0oKS5pbnZlcnNlKCkpLE89TD8wOkgubGVuZ3RoLTE7SFtPXS54PUoueDtIW09dLnk9Si55O3JldHVybiBoLmludGVycG9sYXRlKEgpfX1mdW5jdGlvbiB1KHkseCl7ZDMuc2VsZWN0KHgpLnNlbGVjdCgicGF0aC4iK2YuQ2xhc3MuRWRnZS5MSU5FKS50cmFuc2l0aW9uKCkuYXR0clR3ZWVuKCJkIixmdW5jdGlvbihDLEcsRCl7cmV0dXJuIHEoeSx0aGlzLEMsRyxEKX0pfWZ1bmN0aW9uIHcoeSx4KXt5LmNsYXNzZWQoImZhZGVkIix4LmxhYmVsLmlzRmFkZWRPdXQpO3g9eC5sYWJlbC5tZXRhZWRnZTt5LnNlbGVjdCgicGF0aC4iK2YuQ2xhc3MuRWRnZS5MSU5FKS5jbGFzc2VkKCJjb250cm9sLWRlcCIseCYmIXgubnVtUmVndWxhckVkZ2VzKX1oLk1JTl9FREdFX1dJRFRIPS43NTtoLk1BWF9FREdFX1dJRFRIPTEyO2guRURHRV9XSURUSF9TSVpFX0JBU0VEX1NDQUxFPQpkMy5zY2FsZVBvdygpLmV4cG9uZW50KC4zKS5kb21haW4oWzEsNUU2XSkucmFuZ2UoW2guTUlOX0VER0VfV0lEVEgsaC5NQVhfRURHRV9XSURUSF0pLmNsYW1wKCEwKTtsZXQgQT1kMy5zY2FsZVF1YW50aXplKCkuZG9tYWluKFtoLk1JTl9FREdFX1dJRFRILGguTUFYX0VER0VfV0lEVEhdKS5yYW5nZShbInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4bGFyZ2UiXSk7aC5nZXRFZGdlS2V5PWs7aC5idWlsZEdyb3VwPWZ1bmN0aW9uKHkseCxDKXtsZXQgRz1bXTtHPV8ucmVkdWNlKHguZWRnZXMoKSwoRCxCKT0+e2xldCBIPXguZWRnZShCKTtELnB1c2goe3Y6Qi52LHc6Qi53LGxhYmVsOkh9KTtyZXR1cm4gRH0sRyk7eT1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoeSwiZyIsZi5DbGFzcy5FZGdlLkNPTlRBSU5FUikuc2VsZWN0QWxsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pLmRhdGEoRyxrKTt5LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLGYuQ2xhc3MuRWRnZS5HUk9VUCkuYXR0cigiZGF0YS1lZGdlIiwKaykuZWFjaChmdW5jdGlvbihEKXtsZXQgQj1kMy5zZWxlY3QodGhpcyk7RC5sYWJlbC5lZGdlR3JvdXA9QjtDLl9lZGdlR3JvdXBJbmRleFtrKEQpXT1CO2lmKEMuaGFuZGxlRWRnZVNlbGVjdGVkKUIub24oImNsaWNrIixIPT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Qy5maXJlKCJlZGdlLXNlbGVjdCIse2VkZ2VEYXRhOkgsZWRnZUdyb3VwOkJ9KX0pO24oQixELEMpfSkubWVyZ2UoeSkuZWFjaChmdW5jdGlvbigpe3UoQyx0aGlzKX0pLmVhY2goZnVuY3Rpb24oRCl7dyhkMy5zZWxlY3QodGhpcyksRCxDKX0pO3kuZXhpdCgpLmVhY2goRD0+e2RlbGV0ZSBDLl9lZGdlR3JvdXBJbmRleFtrKEQpXX0pLnJlbW92ZSgpO3JldHVybiB5fTtoLmdldExhYmVsRm9yQmFzZUVkZ2U9cjtoLmdldExhYmVsRm9yRWRnZT1sO2guYXBwZW5kRWRnZT1uO2guaW50ZXJwb2xhdGU9ZDMubGluZSgpLmN1cnZlKGQzLmN1cnZlQmFzaXMpLngoeT0+eS54KS55KHk9PnkueSl9KShmLmVkZ2V8fChmLmVkZ2U9Cnt9KSl9KShkLnNjZW5lfHwoZC5zY2VuZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vZXh0ZXJucy5qcwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9ncmFwaC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGYoSixPLFMsTixSKXtyZXR1cm4oUz9TKyIvIjoiIikrKEorKCJ1bmRlZmluZWQiIT09dHlwZW9mIE4mJiJ1bmRlZmluZWQiIT09dHlwZW9mIFI/IlsiK04rIi0iK1IrIl0iOiIjIikrTyl9ZnVuY3Rpb24gaChKKXtpZighSilyZXR1cm4gbnVsbDtmb3IobGV0IE89MDtPPEoubGVuZ3RoO08rKyl7bGV0IHtrZXk6Uyx2YWx1ZTpOfT1KW09dO2lmKCJfb3V0cHV0X3NoYXBlcyI9PT1TKXtpZighTi5saXN0LnNoYXBlKWJyZWFrO2xldCBSPU4ubGlzdC5zaGFwZS5tYXAoWD0+WC51bmtub3duX3Jhbms/bnVsbDpudWxsPT1YLmRpbXx8MT09PVguZGltLmxlbmd0aCYmbnVsbD09WC5kaW1bMF0uc2l6ZT9bXTpYLmRpbS5tYXAoYWE9PmFhLnNpemUpKTtKLnNwbGljZShPLDEpO3JldHVybiBSfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBrKEope2lmKCFKKXJldHVybiBudWxsO2ZvcihsZXQgTz0wO088Si5sZW5ndGg7TysrKWlmKCJfWGxhQ2x1c3RlciI9PT0KSltPXS5rZXkpcmV0dXJuIEpbT10udmFsdWUuc3x8bnVsbDtyZXR1cm4gbnVsbH1mdW5jdGlvbiByKEope2xldCBPPVtdO18uZWFjaChKLFM9PntsZXQgTj0iXiI9PT1TWzBdO04mJihTPVMuc3Vic3RyaW5nKDEpKTtsZXQgUj1TLFg9IjAiLGFhPVMubWF0Y2goLyguKik6KFx3KzpcZCspJC8pO2lmKGFhKVI9YWFbMV0sWD1hYVsyXTtlbHNlIGlmKGFhPVMubWF0Y2goLyguKik6KFxkKykkLykpUj1hYVsxXSxYPWFhWzJdOzAhPT1PLmxlbmd0aCYmUj09PU9bTy5sZW5ndGgtMV0ubmFtZXx8Ty5wdXNoKHtuYW1lOlIsb3V0cHV0VGVuc29yS2V5OlgsaXNDb250cm9sRGVwZW5kZW5jeTpOfSl9KTtyZXR1cm4gT31mdW5jdGlvbiBsKEosTyxTLE4sUixYKXtPIT09Uy5uYW1lJiZKLmVkZ2VzLnB1c2goe3Y6Tyx3OlMubmFtZSxvdXRwdXRUZW5zb3JLZXk6Ti5vdXRwdXRUZW5zb3JLZXksaXNDb250cm9sRGVwZW5kZW5jeTpOLmlzQ29udHJvbERlcGVuZGVuY3ksaXNSZWZlcmVuY2VFZGdlOiEwPT09ClIucmVmRWRnZXNbUy5vcCsiICIrWF19KX1mdW5jdGlvbiBwKEosTyxTKXtTPVN8fHt9O2xldCBOPW5ldyBncmFwaGxpYi5HcmFwaChTKTtOLnNldEdyYXBoKHtuYW1lOkoscmFua2RpcjpTLnJhbmtkaXJ8fCJCVCIsdHlwZTpPfSk7cmV0dXJuIE59ZnVuY3Rpb24gbShKKXtyZXR1cm4gZnVuY3Rpb24oTyl7Zm9yKGxldCBTPTA7UzxKLmxlbmd0aDtTKyspe2xldCBOPW5ldyBSZWdFeHAoSltTXSk7aWYoInN0cmluZyI9PT10eXBlb2YgTy5vcCYmTy5vcC5tYXRjaChOKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gbihKKXtsZXQgTz1KLnNwbGl0KGQuTkFNRVNQQUNFX0RFTElNKTtyZXR1cm4gSitkLk5BTUVTUEFDRV9ERUxJTSsiKCIrT1tPLmxlbmd0aC0xXSsiKSJ9ZnVuY3Rpb24gcShKLE8pe2xldCBTPXt9LE49e307Si5zb3J0KCk7Zm9yKGxldCBSPTA7UjxKLmxlbmd0aC0xOysrUil7bGV0IFg9SltSXTtfLmVhY2godyhYKS5zbGljZSgwLC0xKSxhYT0+e05bYWFdPSEwfSk7Zm9yKGxldCBhYT0KUisxO2FhPEoubGVuZ3RoOysrYWEpe2xldCBmYT1KW2FhXTtpZihfLnN0YXJ0c1dpdGgoZmEsWCkpe2lmKGZhLmxlbmd0aD5YLmxlbmd0aCYmZmEuY2hhckF0KFgubGVuZ3RoKT09PWQuTkFNRVNQQUNFX0RFTElNKXtTW1hdPW4oWCk7YnJlYWt9fWVsc2UgYnJlYWt9fV8uZWFjaChPLFI9PntSIGluIE4mJihTW1JdPW4oUikpfSk7cmV0dXJuIFN9ZnVuY3Rpb24gdShKKXtsZXQgTz1KLm5vZGVzKCkubWFwKGZ1bmN0aW9uKFMpe3JldHVybiBKLm5laWdoYm9ycyhTKS5sZW5ndGh9KTtPLnNvcnQoKTtyZXR1cm4gT31mdW5jdGlvbiB3KEosTyl7bGV0IFM9W10sTj1KLmluZGV4T2YoZC5OQU1FU1BBQ0VfREVMSU0pO2Zvcig7MDw9TjspUy5wdXNoKEouc3Vic3RyaW5nKDAsTikpLE49Si5pbmRleE9mKGQuTkFNRVNQQUNFX0RFTElNLE4rMSk7TyYmKE89T1tKXSkmJlMucHVzaChPKTtTLnB1c2goSik7cmV0dXJuIFN9ZC5OQU1FU1BBQ0VfREVMSU09Ii8iO2QuUk9PVF9OQU1FPSJfX3Jvb3RfXyI7CmQuRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWD0iX19mdW5jdGlvbl9saWJyYXJ5X18iO2QuTEFSR0VfQVRUUlNfS0VZPSJfdG9vX2xhcmdlX2F0dHJzIjtkLkxJTUlUX0FUVFJfU0laRT0xMDI0O2QuRURHRV9LRVlfREVMSU09Ii0tIjtsZXQgQTsoZnVuY3Rpb24oSil7SltKLkZVTEw9MF09IkZVTEwiO0pbSi5FTUJFRERFRD0xXT0iRU1CRURERUQiO0pbSi5NRVRBPTJdPSJNRVRBIjtKW0ouU0VSSUVTPTNdPSJTRVJJRVMiO0pbSi5DT1JFPTRdPSJDT1JFIjtKW0ouU0hBRE9XPTVdPSJTSEFET1ciO0pbSi5CUklER0U9Nl09IkJSSURHRSI7SltKLkVER0U9N109IkVER0UifSkoQT1kLkdyYXBoVHlwZXx8KGQuR3JhcGhUeXBlPXt9KSk7bGV0IHk7KGZ1bmN0aW9uKEope0pbSi5NRVRBPTBdPSJNRVRBIjtKW0ouT1A9MV09Ik9QIjtKW0ouU0VSSUVTPTJdPSJTRVJJRVMiO0pbSi5CUklER0U9M109IkJSSURHRSI7SltKLkVMTElQU0lTPTRdPSJFTExJUFNJUyJ9KSh5PWQuTm9kZVR5cGV8fAooZC5Ob2RlVHlwZT17fSkpO2xldCB4OyhmdW5jdGlvbihKKXtKW0ouSU5DTFVERT0wXT0iSU5DTFVERSI7SltKLkVYQ0xVREU9MV09IkVYQ0xVREUiO0pbSi5VTlNQRUNJRklFRD0yXT0iVU5TUEVDSUZJRUQifSkoeD1kLkluY2x1c2lvblR5cGV8fChkLkluY2x1c2lvblR5cGU9e30pKTsoZnVuY3Rpb24oSil7SltKLkdST1VQPTBdPSJHUk9VUCI7SltKLlVOR1JPVVA9MV09IlVOR1JPVVAifSkoZC5TZXJpZXNHcm91cGluZ1R5cGV8fChkLlNlcmllc0dyb3VwaW5nVHlwZT17fSkpO2NsYXNzIEN7Y29uc3RydWN0b3IoKXt0aGlzLm5vZGVzPXt9O3RoaXMuZWRnZXM9W119fWQuU2xpbUdyYXBoPUM7Y2xhc3MgR3tjb25zdHJ1Y3RvcihKKXt0aGlzLnR5cGU9eS5FTExJUFNJUzt0aGlzLmlzR3JvdXBOb2RlPSExO3RoaXMuY2FyZGluYWxpdHk9MTt0aGlzLnN0YXRzPXRoaXMucGFyZW50Tm9kZT1udWxsO3RoaXMuc2V0TnVtTW9yZU5vZGVzKEopO3RoaXMuaW5jbHVkZT14LlVOU1BFQ0lGSUVEfXNldE51bU1vcmVOb2RlcyhKKXt0aGlzLm51bU1vcmVOb2Rlcz0KSjt0aGlzLm5hbWU9Ii4uLiAiK0orIiBtb3JlIn19ZC5FbGxpcHNpc05vZGVJbXBsPUc7Y2xhc3MgRHtjb25zdHJ1Y3RvcihKKXt0aGlzLm9wPUoub3A7dGhpcy5uYW1lPUoubmFtZTt0aGlzLmRldmljZT1KLmRldmljZTt0aGlzLmF0dHI9Si5hdHRyO3RoaXMuaW5wdXRzPXIoSi5pbnB1dCk7dGhpcy5vdXRwdXRTaGFwZXM9aChKLmF0dHIpO3RoaXMueGxhQ2x1c3Rlcj1rKEouYXR0cik7dGhpcy5jb21wYXRpYmxlPSExO3RoaXMudHlwZT15Lk9QO3RoaXMuaXNHcm91cE5vZGU9ITE7dGhpcy5jYXJkaW5hbGl0eT0xO3RoaXMuaW5FbWJlZGRpbmdzPVtdO3RoaXMub3V0RW1iZWRkaW5ncz1bXTt0aGlzLnBhcmVudE5vZGU9bnVsbDt0aGlzLmluY2x1ZGU9eC5VTlNQRUNJRklFRDt0aGlzLm93bmluZ1Nlcmllcz1udWxsfX1kLk9wTm9kZUltcGw9RDtkLmNyZWF0ZU1ldGFub2RlPWZ1bmN0aW9uKEosTz17fSl7cmV0dXJuIG5ldyBIKEosTyl9O2Quam9pblN0YXRzSW5mb1dpdGhHcmFwaD1mdW5jdGlvbihKLApPLFMpe18uZWFjaChKLm5vZGVzLE49PntOLnN0YXRzPW51bGx9KTtfLmVhY2goTy5kZXZfc3RhdHMsTj0+e1MmJiFTW04uZGV2aWNlXXx8Xy5lYWNoKE4ubm9kZV9zdGF0cyxSPT57bGV0IFg9Ui5ub2RlX25hbWUgaW4gSi5ub2Rlcz9SLm5vZGVfbmFtZTpuKFIubm9kZV9uYW1lKTtpZihYIGluIEoubm9kZXMpe3ZhciBhYT0wO1IubWVtb3J5JiZfLmVhY2goUi5tZW1vcnksb2E9PntvYS50b3RhbF9ieXRlcyYmKDA8b2EudG90YWxfYnl0ZXM/YWErPU51bWJlcihvYS50b3RhbF9ieXRlcyk6Y29uc29sZS5sb2coImlnbm9yaW5nIG5lZ2F0aXZlIG1lbW9yeSBhbGxvY2F0aW9uIGZvciAiK1gpKX0pO3ZhciBmYT1udWxsO1Iub3V0cHV0JiYoZmE9Xy5tYXAoUi5vdXRwdXQsb2E9Pl8ubWFwKG9hLnRlbnNvcl9kZXNjcmlwdGlvbi5zaGFwZS5kaW0sWj0+TnVtYmVyKFouc2l6ZSkpKSk7Si5ub2Rlc1tYXS5kZXZpY2U9Ti5kZXZpY2U7bnVsbD09Si5ub2Rlc1tYXS5zdGF0cyYmKEoubm9kZXNbWF0uc3RhdHM9Cm5ldyBCKGZhKSk7Si5ub2Rlc1tYXS5zdGF0cy5hZGRCeXRlc0FsbG9jYXRpb24oYWEpO1IuYWxsX2VuZF9yZWxfbWljcm9zJiYoMDxSLmFsbF9lbmRfcmVsX21pY3Jvcz9KLm5vZGVzW1hdLnN0YXRzLmFkZEV4ZWN1dGlvblRpbWUoUi5hbGxfc3RhcnRfbWljcm9zLFIuYWxsX3N0YXJ0X21pY3JvcytSLmFsbF9lbmRfcmVsX21pY3Jvcyk6Y29uc29sZS5sb2coImlnbm9yaW5nIG5lZ2F0aXZlIHJ1bnRpbWUgZm9yICIrWCkpfX0pfSl9O2NsYXNzIEJ7Y29uc3RydWN0b3IoSil7dGhpcy50b3RhbEJ5dGVzPTA7dGhpcy5vdXRwdXRTaXplPUp9YWRkRXhlY3V0aW9uVGltZShKLE8pe3RoaXMuc3RhcnRUaW1lPW51bGwhPXRoaXMuc3RhcnRUaW1lP01hdGgubWluKHRoaXMuc3RhcnRUaW1lLEopOko7dGhpcy5lbmRUaW1lPW51bGwhPXRoaXMuZW5kVGltZT9NYXRoLm1heCh0aGlzLmVuZFRpbWUsTyk6T31hZGRCeXRlc0FsbG9jYXRpb24oSil7dGhpcy50b3RhbEJ5dGVzPW51bGwhPXRoaXMudG90YWxCeXRlcz8KTWF0aC5tYXgodGhpcy50b3RhbEJ5dGVzLEopOkp9Y29tYmluZShKKXtudWxsIT1KLnRvdGFsQnl0ZXMmJih0aGlzLnRvdGFsQnl0ZXMrPUoudG90YWxCeXRlcyk7bnVsbCE9Si5nZXRUb3RhbE1pY3JvcygpJiZ0aGlzLmFkZEV4ZWN1dGlvblRpbWUoSi5zdGFydFRpbWUsSi5lbmRUaW1lKX1nZXRUb3RhbE1pY3Jvcygpe3JldHVybiBudWxsPT10aGlzLnN0YXJ0VGltZXx8bnVsbD09dGhpcy5lbmRUaW1lP251bGw6dGhpcy5lbmRUaW1lLXRoaXMuc3RhcnRUaW1lfX1kLk5vZGVTdGF0cz1CO2NsYXNzIEh7Y29uc3RydWN0b3IoSixPPXt9KXt0aGlzLm5hbWU9Sjt0aGlzLnR5cGU9eS5NRVRBO3RoaXMuZGVwdGg9MTt0aGlzLmlzR3JvdXBOb2RlPSEwO3RoaXMuY2FyZGluYWxpdHk9MDt0aGlzLm1ldGFncmFwaD1wKEosQS5NRVRBLE8pO3RoaXMuYnJpZGdlZ3JhcGg9bnVsbDt0aGlzLm9wSGlzdG9ncmFtPXt9O3RoaXMuZGV2aWNlSGlzdG9ncmFtPXt9O3RoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT0Ke307dGhpcy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtPXtjb21wYXRpYmxlOjAsaW5jb21wYXRpYmxlOjB9O3RoaXMucGFyZW50Tm9kZT10aGlzLnRlbXBsYXRlSWQ9bnVsbDt0aGlzLmhhc05vbkNvbnRyb2xFZGdlcz0hMTt0aGlzLmluY2x1ZGU9eC5VTlNQRUNJRklFRDt0aGlzLmFzc29jaWF0ZWRGdW5jdGlvbj0iIn1nZXRGaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5tZXRhZ3JhcGgubm9kZXMoKVswXSl9Z2V0Um9vdE9wKCl7bGV0IEo9dGhpcy5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5uYW1lKyIvKCIrSltKLmxlbmd0aC0xXSsiKSIpfWxlYXZlcygpe2xldCBKPVtdLE89W3RoaXNdLFM7Zm9yKDtPLmxlbmd0aDspe2xldCBOPU8uc2hpZnQoKTtOLmlzR3JvdXBOb2RlPyhTPU4ubWV0YWdyYXBoLF8uZWFjaChTLm5vZGVzKCksUj0+Ty5wdXNoKFMubm9kZShSKSkpKTpKLnB1c2goTi5uYW1lKX1yZXR1cm4gSn19CmQuTWV0YW5vZGVJbXBsPUg7ZC5jcmVhdGVNZXRhZWRnZT1mdW5jdGlvbihKLE8pe3JldHVybiBuZXcgSyhKLE8pfTtjbGFzcyBLe2NvbnN0cnVjdG9yKEosTyl7dGhpcy52PUo7dGhpcy53PU87dGhpcy5iYXNlRWRnZUxpc3Q9W107dGhpcy5pbmJvdW5kPW51bGw7dGhpcy50b3RhbFNpemU9dGhpcy5udW1SZWZFZGdlcz10aGlzLm51bUNvbnRyb2xFZGdlcz10aGlzLm51bVJlZ3VsYXJFZGdlcz0wfWFkZEJhc2VFZGdlKEosTyl7dGhpcy5iYXNlRWRnZUxpc3QucHVzaChKKTtKLmlzQ29udHJvbERlcGVuZGVuY3k/dGhpcy5udW1Db250cm9sRWRnZXMrPTE6dGhpcy5udW1SZWd1bGFyRWRnZXMrPTE7Si5pc1JlZmVyZW5jZUVkZ2UmJih0aGlzLm51bVJlZkVkZ2VzKz0xKTt0aGlzLnRvdGFsU2l6ZSs9Sy5jb21wdXRlU2l6ZU9mRWRnZShKLE8pO08ubWF4TWV0YUVkZ2VTaXplPU1hdGgubWF4KE8ubWF4TWV0YUVkZ2VTaXplLHRoaXMudG90YWxTaXplKX1zdGF0aWMgY29tcHV0ZVNpemVPZkVkZ2UoSiwKTyl7bGV0IFM9Ty5ub2RlKEoudik7aWYoIVMub3V0cHV0U2hhcGVzKXJldHVybiAxO08uaGFzU2hhcGVJbmZvPSEwO0o9T2JqZWN0LmtleXMoUy5vdXRwdXRTaGFwZXMpLm1hcChOPT5TLm91dHB1dFNoYXBlc1tOXSkubWFwKE49Pm51bGw9PU4/MTpOLnJlZHVjZSgoUixYKT0+ey0xPT09WCYmKFg9MSk7cmV0dXJuIFIqWH0sMSkpO3JldHVybiBfLnN1bShKKX19ZC5NZXRhZWRnZUltcGw9SztkLmNyZWF0ZVNlcmllc05vZGU9ZnVuY3Rpb24oSixPLFMsTixSLFgpe3JldHVybiBuZXcgTChKLE8sUyxOLFIsWCl9O2QuZ2V0U2VyaWVzTm9kZU5hbWU9ZjtjbGFzcyBMe2NvbnN0cnVjdG9yKEosTyxTLE4sUixYKXt0aGlzLm5hbWU9Unx8ZihKLE8sUyk7dGhpcy50eXBlPXkuU0VSSUVTO3RoaXMuaGFzTG9vcD0hMTt0aGlzLnByZWZpeD1KO3RoaXMuc3VmZml4PU87dGhpcy5jbHVzdGVySWQ9Tjt0aGlzLmlkcz1bXTt0aGlzLnBhcmVudD1TO3RoaXMuaXNHcm91cE5vZGU9ITA7dGhpcy5jYXJkaW5hbGl0eT0KMDt0aGlzLm1ldGFncmFwaD1wKFIsQS5TRVJJRVMsWCk7dGhpcy5wYXJlbnROb2RlPXRoaXMuYnJpZGdlZ3JhcGg9bnVsbDt0aGlzLmRldmljZUhpc3RvZ3JhbT17fTt0aGlzLnhsYUNsdXN0ZXJIaXN0b2dyYW09e307dGhpcy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtPXtjb21wYXRpYmxlOjAsaW5jb21wYXRpYmxlOjB9O3RoaXMuaGFzTm9uQ29udHJvbEVkZ2VzPSExO3RoaXMuaW5jbHVkZT14LlVOU1BFQ0lGSUVEfX1kLkRlZmF1bHRCdWlsZFBhcmFtcz17ZW5hYmxlRW1iZWRkaW5nOiEwLGluRW1iZWRkaW5nVHlwZXM6WyJDb25zdCJdLG91dEVtYmVkZGluZ1R5cGVzOlsiXlthLXpBLVpdK1N1bW1hcnkkIl0scmVmRWRnZXM6eyJBc3NpZ24gMCI6ITAsIkFzc2lnbkFkZCAwIjohMCwiQXNzaWduU3ViIDAiOiEwLCJhc3NpZ24gMCI6ITAsImFzc2lnbl9hZGQgMCI6ITAsImFzc2lnbl9zdWIgMCI6ITAsImNvdW50X3VwX3RvIDAiOiEwLCJTY2F0dGVyQWRkIDAiOiEwLCJTY2F0dGVyU3ViIDAiOiEwLAoiU2NhdHRlclVwZGF0ZSAwIjohMCwic2NhdHRlcl9hZGQgMCI6ITAsInNjYXR0ZXJfc3ViIDAiOiEwLCJzY2F0dGVyX3VwZGF0ZSAwIjohMH19O2QuYnVpbGQ9ZnVuY3Rpb24oSixPLFMpe2xldCBOPXt9LFI9e30sWD17fSxhYT1tKE8uaW5FbWJlZGRpbmdUeXBlcyksZmE9bShPLm91dEVtYmVkZGluZ1R5cGVzKSxvYT1bXSxaPUoubm9kZSxjYT1BcnJheShaLmxlbmd0aCk7cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIk5vcm1hbGl6aW5nIG5hbWVzIiwzMCwoKT0+e2xldCBqYT1BcnJheShaLmxlbmd0aCksYmE9MDtjb25zdCBrYT1FYT0+e2xldCB2YT1uZXcgRChFYSk7aWYoYWEodmEpKXJldHVybiBvYS5wdXNoKHZhLm5hbWUpLE5bdmEubmFtZV09dmE7aWYoZmEodmEpKXJldHVybiBvYS5wdXNoKHZhLm5hbWUpLFJbdmEubmFtZV09dmEsXy5lYWNoKHZhLmlucHV0cyx5YT0+e3lhPXlhLm5hbWU7WFt5YV09WFt5YV18fFtdO1hbeWFdLnB1c2godmEpfSksdmE7amFbYmFdPQp2YTtjYVtiYV09dmEubmFtZTtiYSsrO3JldHVybiB2YX07Xy5lYWNoKFosa2EpO2NvbnN0IFc9RWE9Pntjb25zdCB2YT1kLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgrRWEuc2lnbmF0dXJlLm5hbWU7a2Eoe25hbWU6dmEsaW5wdXQ6W10sZGV2aWNlOiIiLG9wOiIiLGF0dHI6W119KTtpZihFYS5zaWduYXR1cmUuaW5wdXRfYXJnKXtsZXQgeGE9MDt2YXIgeWE9U2E9PntrYSh7bmFtZTp2YStkLk5BTUVTUEFDRV9ERUxJTStTYS5uYW1lLGlucHV0OltdLGRldmljZToiIixvcDoiaW5wdXRfYXJnIixhdHRyOlt7a2V5OiJUIix2YWx1ZTp7dHlwZTpTYS50eXBlfX1dfSkuZnVuY3Rpb25JbnB1dEluZGV4PXhhO3hhKyt9O0VhLnNpZ25hdHVyZS5pbnB1dF9hcmcubmFtZT95YShFYS5zaWduYXR1cmUuaW5wdXRfYXJnKTpfLmVhY2goRWEuc2lnbmF0dXJlLmlucHV0X2FyZyx5YSl9bGV0IEFhPTA7Y29uc3QgRmE9e307RWEuc2lnbmF0dXJlLm91dHB1dF9hcmcmJih5YT14YT0+e0ZhW3ZhKwpkLk5BTUVTUEFDRV9ERUxJTSt4YS5uYW1lXT1BYTtBYSsrfSxFYS5zaWduYXR1cmUub3V0cHV0X2FyZy5uYW1lP3lhKEVhLnNpZ25hdHVyZS5vdXRwdXRfYXJnKTpfLmVhY2goRWEuc2lnbmF0dXJlLm91dHB1dF9hcmcseWEpKTtfLmVhY2goRWEubm9kZV9kZWYseGE9Pnt4YS5uYW1lPXZhKyIvIit4YS5uYW1lOyJzdHJpbmciPT09dHlwZW9mIHhhLmlucHV0JiYoeGEuaW5wdXQ9W3hhLmlucHV0XSk7Y29uc3QgU2E9a2EoeGEpO18uaXNOdW1iZXIoRmFbeGEubmFtZV0pJiYoU2EuZnVuY3Rpb25PdXRwdXRJbmRleD1GYVt4YS5uYW1lXSk7Xy5lYWNoKFNhLmlucHV0cyxYYT0+e1hhLm5hbWU9dmErZC5OQU1FU1BBQ0VfREVMSU0rWGEubmFtZX0pfSl9O0oubGlicmFyeSYmSi5saWJyYXJ5LmZ1bmN0aW9uJiZfLmVhY2goSi5saWJyYXJ5LmZ1bmN0aW9uLFcpO2phLnNwbGljZShiYSk7Y2Euc3BsaWNlKGJhKTtyZXR1cm4gamF9LFMpLnRoZW4oamE9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkJ1aWxkaW5nIHRoZSBkYXRhIHN0cnVjdHVyZSIsCjcwLCgpPT57bGV0IGJhPXEoY2Esb2EpLGthPW5ldyBDO18uZWFjaChqYSxXPT57bGV0IEVhPWJhW1cubmFtZV18fFcubmFtZTtrYS5ub2Rlc1tFYV09VztXLm5hbWUgaW4gWCYmKFcub3V0RW1iZWRkaW5ncz1YW1cubmFtZV0sXy5lYWNoKFcub3V0RW1iZWRkaW5ncyx2YT0+e3ZhLm5hbWU9YmFbdmEubmFtZV18fHZhLm5hbWV9KSk7Vy5uYW1lPUVhfSk7Xy5lYWNoKGphLFc9PntfLmVhY2goVy5pbnB1dHMsKEVhLHZhKT0+e2xldCB5YT1FYS5uYW1lO2lmKHlhIGluIE4pe0VhPU5beWFdO1cuaW5FbWJlZGRpbmdzLnB1c2goRWEpO2Zvcih2YXIgQWEgb2YgRWEuaW5wdXRzKWwoa2EsYmFbQWEubmFtZV18fEFhLm5hbWUsVyxBYSxPLHZhKX1lbHNlIGlmKHlhIGluIFIpe0FhPVJbeWFdO2ZvcihsZXQgRmEgb2YgQWEuaW5wdXRzKWwoa2EsYmFbRmEubmFtZV18fEZhLm5hbWUsVyxFYSxPLHZhKX1lbHNlIGwoa2EsYmFbeWFdfHx5YSxXLEVhLE8sdmEpfSl9KTtfLmVhY2goTixXPT57Vy5uYW1lPQpiYVtXLm5hbWVdfHxXLm5hbWV9KTtyZXR1cm4ga2F9LFMpKX07ZC5jcmVhdGVHcmFwaD1wO2QuZ2V0U3RyaWN0TmFtZT1uO2QuaGFzU2ltaWxhckRlZ3JlZVNlcXVlbmNlPWZ1bmN0aW9uKEosTyl7Sj11KEopO089dShPKTtmb3IobGV0IFM9MDtTPEoubGVuZ3RoO1MrKylpZihKW1NdIT09T1tTXSlyZXR1cm4hMTtyZXR1cm4hMH07ZC5nZXRIaWVyYXJjaGljYWxQYXRoPXc7ZC5nZXRJbmNsdWRlTm9kZUJ1dHRvblN0cmluZz1mdW5jdGlvbihKKXtyZXR1cm4gSj09PWIuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFPyJBZGQgdG8gbWFpbiBncmFwaCI6IlJlbW92ZSBmcm9tIG1haW4gZ3JhcGgifTtkLmdldEdyb3VwU2VyaWVzTm9kZUJ1dHRvblN0cmluZz1mdW5jdGlvbihKKXtyZXR1cm4gSj09PWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQPyJVbmdyb3VwIHRoaXMgc2VyaWVzIG9mIG5vZGVzIjoiR3JvdXAgdGhpcyBzZXJpZXMgb2Ygbm9kZXMifTtkLnRvZ2dsZU5vZGVTZXJpZXNHcm91cD0KZnVuY3Rpb24oSixPKXtKW09dPU8gaW4gSiYmSltPXSE9PWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQP2IuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQOmIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLlVOR1JPVVB9fSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vaGllcmFyY2h5LmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgodyxBLHkseCl7QT15P3cuaW5FZGdlcyhBLm5hbWUpOncub3V0RWRnZXMoQS5uYW1lKTtfLmVhY2goQSxDPT57Qz13LmVkZ2UoQyk7KEMubnVtUmVndWxhckVkZ2VzP3gucmVndWxhcjp4LmNvbnRyb2wpLnB1c2goQyl9KX1mdW5jdGlvbiBrKHcsQSl7Y29uc3QgeT17fTtfLmVhY2goQS5ub2Rlcyx4PT57bGV0IEM9ZC5nZXRIaWVyYXJjaGljYWxQYXRoKHgubmFtZSksRz13LnJvb3Q7Ry5kZXB0aD1NYXRoLm1heChDLmxlbmd0aCxHLmRlcHRoKTt5W3gub3BdfHwoeVt4Lm9wXT1bXSk7eVt4Lm9wXS5wdXNoKHgpO2ZvcihsZXQgQj0wO0I8Qy5sZW5ndGg7QisrKXtHLmRlcHRoPU1hdGgubWF4KEcuZGVwdGgsQy5sZW5ndGgtQik7Ry5jYXJkaW5hbGl0eSs9eC5jYXJkaW5hbGl0eTtHLm9wSGlzdG9ncmFtW3gub3BdPShHLm9wSGlzdG9ncmFtW3gub3BdfHwwKSsxO251bGwhPXguZGV2aWNlJiYoRy5kZXZpY2VIaXN0b2dyYW1beC5kZXZpY2VdPQooRy5kZXZpY2VIaXN0b2dyYW1beC5kZXZpY2VdfHwwKSsxKTtudWxsIT14LnhsYUNsdXN0ZXImJihHLnhsYUNsdXN0ZXJIaXN0b2dyYW1beC54bGFDbHVzdGVyXT0oRy54bGFDbHVzdGVySGlzdG9ncmFtW3gueGxhQ2x1c3Rlcl18fDApKzEpO3guY29tcGF0aWJsZT9HLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMTtfLmVhY2goeC5pbkVtYmVkZGluZ3MsSz0+e0suY29tcGF0aWJsZT9HLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8CjApKzF9KTtfLmVhY2goeC5vdXRFbWJlZGRpbmdzLEs9PntLLmNvbXBhdGlibGU/Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU9KEcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlfHwwKSsxOkcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU9KEcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGV8fDApKzF9KTtpZihCPT09Qy5sZW5ndGgtMSlicmVhazt2YXIgRD1DW0JdO2xldCBIPXcubm9kZShEKTtIfHwoSD1kLmNyZWF0ZU1ldGFub2RlKEQsdy5ncmFwaE9wdGlvbnMpLEgucGFyZW50Tm9kZT1HLHcuc2V0Tm9kZShELEgpLEcubWV0YWdyYXBoLnNldE5vZGUoRCxIKSwwPT09RC5pbmRleE9mKGIuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCkmJkcubmFtZT09PWIuZ3JhcGguUk9PVF9OQU1FJiYoRD1ELnN1YnN0cmluZyhiLmdyYXBoLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgubGVuZ3RoKSx5W0RdfHwKKHlbRF09W10pLHcubGlicmFyeUZ1bmN0aW9uc1tEXT17bm9kZTpILHVzYWdlczp5W0RdfSxILmFzc29jaWF0ZWRGdW5jdGlvbj1EKSk7Rz1IfXcuc2V0Tm9kZSh4Lm5hbWUseCk7eC5wYXJlbnROb2RlPUc7Ry5tZXRhZ3JhcGguc2V0Tm9kZSh4Lm5hbWUseCk7Xy5lYWNoKHguaW5FbWJlZGRpbmdzLGZ1bmN0aW9uKEIpe3cuc2V0Tm9kZShCLm5hbWUsQik7Qi5wYXJlbnROb2RlPXh9KTtfLmVhY2goeC5vdXRFbWJlZGRpbmdzLGZ1bmN0aW9uKEIpe3cuc2V0Tm9kZShCLm5hbWUsQik7Qi5wYXJlbnROb2RlPXh9KX0pfWZ1bmN0aW9uIHIodyxBKXtsZXQgeT13LmdldE5vZGVNYXAoKSx4PVtdLEM9W10sRz0oRCxCKT0+e2xldCBIPTA7Zm9yKDtEOylCW0grK109RC5uYW1lLEQ9RC5wYXJlbnROb2RlO3JldHVybiBILTF9O18uZWFjaChBLmVkZ2VzLEQ9Pnt2YXIgQj1HKEEubm9kZXNbRC52XSx4KSxIPUcoQS5ub2Rlc1tELnddLEMpO2lmKC0xIT09QiYmLTEhPT1IKXtmb3IoO3hbQl09PT1DW0hdOylpZihCLS0sCkgtLSwwPkJ8fDA+SCl0aHJvdyBFcnJvcigiTm8gZGlmZmVyZW5jZSBmb3VuZCBiZXR3ZWVuIGFuY2VzdG9yIHBhdGhzLiIpO3ZhciBLPXlbeFtCKzFdXTtCPXhbQl07SD1DW0hdO3ZhciBMPUsubWV0YWdyYXBoLmVkZ2UoQixIKTtMfHwoTD1kLmNyZWF0ZU1ldGFlZGdlKEIsSCksSy5tZXRhZ3JhcGguc2V0RWRnZShCLEgsTCkpO0suaGFzTm9uQ29udHJvbEVkZ2VzfHxELmlzQ29udHJvbERlcGVuZGVuY3l8fChLLmhhc05vbkNvbnRyb2xFZGdlcz0hMCk7TC5hZGRCYXNlRWRnZShELHcpfX0pfWZ1bmN0aW9uIGwodyxBLHkseCxDLEcpe2xldCBEPXcubWV0YWdyYXBoO18uZWFjaChELm5vZGVzKCksQj0+e0I9RC5ub2RlKEIpO0IudHlwZT09PWIuZ3JhcGguTm9kZVR5cGUuTUVUQSYmbChCLEEseSx4LEMsRyl9KTt3PXAoRCk7dz0oRz9uOm0pKHcsRCxBLmdyYXBoT3B0aW9ucyk7Xy5lYWNoKHcsZnVuY3Rpb24oQixIKXtsZXQgSz1CLm1ldGFncmFwaC5ub2RlcygpO18uZWFjaChLLEw9Pgp7TD1ELm5vZGUoTCk7TC5vd25pbmdTZXJpZXN8fChMLm93bmluZ1Nlcmllcz1IKX0pO0subGVuZ3RoPHgmJiEoQi5uYW1lIGluIEMpJiYoQ1tCLm5hbWVdPWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLlVOR1JPVVApO0IubmFtZSBpbiBDJiZDW0IubmFtZV09PT1iLmdyYXBoLlNlcmllc0dyb3VwaW5nVHlwZS5VTkdST1VQfHwoQS5zZXROb2RlKEgsQiksRC5zZXROb2RlKEgsQiksXy5lYWNoKEssTD0+e2xldCBKPUQubm9kZShMKTtCLm1ldGFncmFwaC5zZXROb2RlKEwsSik7Qi5wYXJlbnROb2RlPUoucGFyZW50Tm9kZTtCLmNhcmRpbmFsaXR5Kys7bnVsbCE9Si5kZXZpY2UmJihCLmRldmljZUhpc3RvZ3JhbVtKLmRldmljZV09KEIuZGV2aWNlSGlzdG9ncmFtW0ouZGV2aWNlXXx8MCkrMSk7bnVsbCE9Si54bGFDbHVzdGVyJiYoQi54bGFDbHVzdGVySGlzdG9ncmFtW0oueGxhQ2x1c3Rlcl09KEIueGxhQ2x1c3Rlckhpc3RvZ3JhbVtKLnhsYUNsdXN0ZXJdfHwwKSsxKTtKLmNvbXBhdGlibGU/CkIuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxO18uZWFjaChKLmluRW1iZWRkaW5ncyxPPT57Ty5jb21wYXRpYmxlP0IuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxfSk7Xy5lYWNoKEoub3V0RW1iZWRkaW5ncyxPPT57Ty5jb21wYXRpYmxlP0IuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPQooQi5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pO0oucGFyZW50Tm9kZT1CO3lbTF09SDtELnJlbW92ZU5vZGUoTCl9KSl9KX1mdW5jdGlvbiBwKHcpe3JldHVybiBfLnJlZHVjZSh3Lm5vZGVzKCksKEEseSk9Pnt5PXcubm9kZSh5KTtpZih5LnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEpcmV0dXJuIEE7bGV0IHg9eS5vcDt4JiYoQVt4XT1BW3hdfHxbXSxBW3hdLnB1c2goeS5uYW1lKSk7cmV0dXJuIEF9LHt9KX1mdW5jdGlvbiBtKHcsQSx5KXtsZXQgeD17fTtfLmVhY2godyxmdW5jdGlvbihDLEcpe2lmKCEoMT49Qy5sZW5ndGgpKXt2YXIgRD17fTtfLmVhY2goQyxmdW5jdGlvbihCKXt2YXIgSD0iKiI9PT1CLmNoYXJBdChCLmxlbmd0aC0xKSxLPUIuc3BsaXQoIi8iKSxMPUtbSy5sZW5ndGgtMV07Sz1LLnNsaWNlKDAsSy5sZW5ndGgtMSkuam9pbigiLyIpO3ZhciBKPUwubWF0Y2goL14oXEQqKV8oXGQrKSQvKTtsZXQgTz0iIjtKPyhMPUpbMV0sSj1KWzJdKToKKEw9SD9MLnN1YnN0cigwLEwubGVuZ3RoLTEpOkwsSj0wLE89SD8iKiI6IiIpO0g9ZC5nZXRTZXJpZXNOb2RlTmFtZShMLE8sSyk7RFtIXT1EW0hdfHxbXTtCPWQuY3JlYXRlU2VyaWVzTm9kZShMLE8sSywrSixCLHkpO0RbSF0ucHVzaChCKX0pO18uZWFjaChELGZ1bmN0aW9uKEIpe2lmKCEoMj5CLmxlbmd0aCkpe0Iuc29ydChmdW5jdGlvbihLLEwpe3JldHVybitLLmNsdXN0ZXJJZC0rTC5jbHVzdGVySWR9KTt2YXIgSD1bQlswXV07Zm9yKGxldCBLPTE7SzxCLmxlbmd0aDtLKyspe2xldCBMPUJbS107TC5jbHVzdGVySWQ9PT1IW0gubGVuZ3RoLTFdLmNsdXN0ZXJJZCsxP0gucHVzaChMKToocShILHgsK0csQSx5KSxIPVtMXSl9cShILHgsK0csQSx5KX19KX19KTtyZXR1cm4geH1mdW5jdGlvbiBuKHcsQSx5KXtsZXQgeD17fTtfLmVhY2godyxmdW5jdGlvbihDLEcpe2lmKCEoMT49Qy5sZW5ndGgpKXt2YXIgRD17fSxCPXt9O18uZWFjaChDLGZ1bmN0aW9uKEspe2xldCBMPSIqIj09PQpLLmNoYXJBdChLLmxlbmd0aC0xKTt2YXIgSj1LLnNwbGl0KCIvIik7bGV0IE89SltKLmxlbmd0aC0xXTtKPUouc2xpY2UoMCxKLmxlbmd0aC0xKS5qb2luKCIvIik7Y29uc3QgUz0vKFxkKykvZzt2YXIgTjtsZXQgUixYLGFhLGZhPTA7Zm9yKDtOPVMuZXhlYyhPKTspKytmYSxSPU8uc2xpY2UoMCxOLmluZGV4KSxYPU5bMF0sTj1PLnNsaWNlKE4uaW5kZXgrTlswXS5sZW5ndGgpLGFhPWQuZ2V0U2VyaWVzTm9kZU5hbWUoUixOLEopLERbYWFdPURbYWFdLERbYWFdfHwoRFthYV09ZC5jcmVhdGVTZXJpZXNOb2RlKFIsTixKLCtYLEsseSkpLERbYWFdLmlkcy5wdXNoKFgpLEJbS109QltLXXx8W10sQltLXS5wdXNoKFthYSxYXSk7MT5mYSYmKFI9TD9PLnN1YnN0cigwLE8ubGVuZ3RoLTEpOk8sWD0wLE49TD8iKiI6IiIsYWE9ZC5nZXRTZXJpZXNOb2RlTmFtZShSLE4sSiksRFthYV09RFthYV0sRFthYV18fChEW2FhXT1kLmNyZWF0ZVNlcmllc05vZGUoUixOLEosK1gsSyx5KSksRFthYV0uaWRzLnB1c2goWCksCkJbS109QltLXXx8W10sQltLXS5wdXNoKFthYSxYXSkpfSk7dmFyIEg9e307Xy5lYWNoKEIsZnVuY3Rpb24oSyxMKXtLLnNvcnQoZnVuY3Rpb24oUyxOKXtyZXR1cm4gRFtOWzBdXS5pZHMubGVuZ3RoLURbU1swXV0uaWRzLmxlbmd0aH0pO3ZhciBKPUtbMF1bMF07Sz1LWzBdWzFdO0hbSl09SFtKXXx8W107Y29uc3QgTz1MLnNwbGl0KCIvIik7TD1kLmNyZWF0ZVNlcmllc05vZGUoRFtKXS5wcmVmaXgsRFtKXS5zdWZmaXgsTy5zbGljZSgwLE8ubGVuZ3RoLTEpLmpvaW4oIi8iKSwrSyxMLHkpO0hbSl0ucHVzaChMKX0pO18uZWFjaChILGZ1bmN0aW9uKEspe2lmKCEoMj5LLmxlbmd0aCkpe0suc29ydChmdW5jdGlvbihKLE8pe3JldHVybitKLmNsdXN0ZXJJZC0rTy5jbHVzdGVySWR9KTt2YXIgTD1bS1swXV07Zm9yKGxldCBKPTE7SjxLLmxlbmd0aDtKKyspe2xldCBPPUtbSl07Ty5jbHVzdGVySWQ9PT1MW0wubGVuZ3RoLTFdLmNsdXN0ZXJJZCsxP0wucHVzaChPKToocShMLHgsK0csQSwKeSksTD1bT10pfXEoTCx4LCtHLEEseSl9fSl9fSk7cmV0dXJuIHh9ZnVuY3Rpb24gcSh3LEEseSx4LEMpe2lmKDE8dy5sZW5ndGgpe2xldCBHPWQuZ2V0U2VyaWVzTm9kZU5hbWUod1swXS5wcmVmaXgsd1swXS5zdWZmaXgsd1swXS5wYXJlbnQsd1swXS5jbHVzdGVySWQsd1t3Lmxlbmd0aC0xXS5jbHVzdGVySWQpLEQ9ZC5jcmVhdGVTZXJpZXNOb2RlKHdbMF0ucHJlZml4LHdbMF0uc3VmZml4LHdbMF0ucGFyZW50LHksRyxDKTtfLmVhY2godyxmdW5jdGlvbihCKXtELmlkcy5wdXNoKEIuY2x1c3RlcklkKTtELm1ldGFncmFwaC5zZXROb2RlKEIubmFtZSx4Lm5vZGUoQi5uYW1lKSl9KTtBW0ddPUR9fWNsYXNzIHV7Y29uc3RydWN0b3Iodyl7dGhpcy5oYXNTaGFwZUluZm89ITE7dGhpcy5tYXhNZXRhRWRnZVNpemU9MTt0aGlzLmdyYXBoT3B0aW9ucz13fHx7fTt0aGlzLmdyYXBoT3B0aW9ucy5jb21wb3VuZD0hMDt0aGlzLnJvb3Q9ZC5jcmVhdGVNZXRhbm9kZShkLlJPT1RfTkFNRSx0aGlzLmdyYXBoT3B0aW9ucyk7CnRoaXMubGlicmFyeUZ1bmN0aW9ucz17fTt0aGlzLnhsYUNsdXN0ZXJzPXRoaXMuZGV2aWNlcz10aGlzLnRlbXBsYXRlcz1udWxsO3RoaXMuaW5kZXg9e307dGhpcy5pbmRleFtkLlJPT1RfTkFNRV09dGhpcy5yb290O3RoaXMub3JkZXJpbmdzPXt9fWdldE5vZGVNYXAoKXtyZXR1cm4gdGhpcy5pbmRleH1ub2RlKHcpe3JldHVybiB0aGlzLmluZGV4W3ddfXNldE5vZGUodyxBKXt0aGlzLmluZGV4W3ddPUF9Z2V0QnJpZGdlZ3JhcGgodyl7dmFyIEE9dGhpcy5pbmRleFt3XTtpZighQSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSBpbiBoaWVyYXJjaHk6ICIrdyk7aWYoISgibWV0YWdyYXBoImluIEEpKXJldHVybiBudWxsO2lmKEEuYnJpZGdlZ3JhcGgpcmV0dXJuIEEuYnJpZGdlZ3JhcGg7bGV0IHk9QS5icmlkZ2VncmFwaD1kLmNyZWF0ZUdyYXBoKCJCUklER0VHUkFQSCIsZC5HcmFwaFR5cGUuQlJJREdFLHRoaXMuZ3JhcGhPcHRpb25zKTtpZighKEEucGFyZW50Tm9kZSYmCiJtZXRhZ3JhcGgiaW4gQS5wYXJlbnROb2RlKSlyZXR1cm4geTt2YXIgeD1BLnBhcmVudE5vZGU7QT14Lm1ldGFncmFwaDt4PXRoaXMuZ2V0QnJpZGdlZ3JhcGgoeC5uYW1lKTtfLmVhY2goW0EseF0sQz0+e0MuZWRnZXMoKS5maWx0ZXIoRz0+Ry52PT09d3x8Ry53PT09dykuZm9yRWFjaChHPT57bGV0IEQ9Ry53PT09dyxCPUMuZWRnZShHKTtfLmVhY2goQi5iYXNlRWRnZUxpc3QsSD0+e2xldCBbSyxMXT1EP1tILncsRy52XTpbSC52LEcud107dmFyIEo9dGhpcy5nZXRDaGlsZE5hbWUodyxLKTtKPXt2OkQ/TDpKLHc6RD9KOkx9O2xldCBPPXkuZWRnZShKKTtPfHwoTz1kLmNyZWF0ZU1ldGFlZGdlKEoudixKLncpLE8uaW5ib3VuZD1ELHkuc2V0RWRnZShKLnYsSi53LE8pKTtPLmFkZEJhc2VFZGdlKEgsdGhpcyl9KX0pfSk7cmV0dXJuIHl9Z2V0Q2hpbGROYW1lKHcsQSl7bGV0IHk9dGhpcy5pbmRleFtBXTtmb3IoO3k7KXtpZih5LnBhcmVudE5vZGUmJnkucGFyZW50Tm9kZS5uYW1lPT09CncpcmV0dXJuIHkubmFtZTt5PXkucGFyZW50Tm9kZX10aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgaW1tZWRpYXRlIGNoaWxkIGZvciBkZXNjZW5kYW50OiAiK0EpO31nZXRQcmVkZWNlc3NvcnModyl7bGV0IEE9dGhpcy5pbmRleFt3XTtpZighQSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSB3aXRoIG5hbWU6ICIrdyk7bGV0IHk9dGhpcy5nZXRPbmVXYXlFZGdlcyhBLCEwKTtBLmlzR3JvdXBOb2RlfHxfLmVhY2goQS5pbkVtYmVkZGluZ3MseD0+e18uZWFjaChBLmlucHV0cyxDPT57aWYoQy5uYW1lPT09eC5uYW1lKXtsZXQgRz1uZXcgZC5NZXRhZWRnZUltcGwoeC5uYW1lLHcpO0cuYWRkQmFzZUVkZ2Uoe2lzQ29udHJvbERlcGVuZGVuY3k6Qy5pc0NvbnRyb2xEZXBlbmRlbmN5LG91dHB1dFRlbnNvcktleTpDLm91dHB1dFRlbnNvcktleSxpc1JlZmVyZW5jZUVkZ2U6ITEsdjp4Lm5hbWUsd30sdGhpcyk7eS5yZWd1bGFyLnB1c2goRyl9fSl9KTtyZXR1cm4geX1nZXRTdWNjZXNzb3JzKHcpe2xldCBBPQp0aGlzLmluZGV4W3ddO2lmKCFBKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIHdpdGggbmFtZTogIit3KTtsZXQgeT10aGlzLmdldE9uZVdheUVkZ2VzKEEsITEpO0EuaXNHcm91cE5vZGV8fF8uZWFjaChBLm91dEVtYmVkZGluZ3MseD0+e18uZWFjaCh4LmlucHV0cyxDPT57aWYoQy5uYW1lPT09dyl7bGV0IEc9bmV3IGQuTWV0YWVkZ2VJbXBsKHcseC5uYW1lKTtHLmFkZEJhc2VFZGdlKHtpc0NvbnRyb2xEZXBlbmRlbmN5OkMuaXNDb250cm9sRGVwZW5kZW5jeSxvdXRwdXRUZW5zb3JLZXk6Qy5vdXRwdXRUZW5zb3JLZXksaXNSZWZlcmVuY2VFZGdlOiExLHY6dyx3OngubmFtZX0sdGhpcyk7eS5yZWd1bGFyLnB1c2goRyl9fSl9KTtyZXR1cm4geX1nZXRPbmVXYXlFZGdlcyh3LEEpe2xldCB5PXtjb250cm9sOltdLHJlZ3VsYXI6W119O2lmKCF3LnBhcmVudE5vZGV8fCF3LnBhcmVudE5vZGUuaXNHcm91cE5vZGUpcmV0dXJuIHk7dmFyIHg9dy5wYXJlbnROb2RlO2xldCBDPQp4Lm1ldGFncmFwaDt4PXRoaXMuZ2V0QnJpZGdlZ3JhcGgoeC5uYW1lKTtoKEMsdyxBLHkpO2goeCx3LEEseSk7cmV0dXJuIHl9Z2V0VG9wb2xvZ2ljYWxPcmRlcmluZyh3KXt2YXIgQT10aGlzLmluZGV4W3ddO2lmKCFBKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIHdpdGggbmFtZTogIit3KTtpZighQS5pc0dyb3VwTm9kZSlyZXR1cm4gbnVsbDtpZih3IGluIHRoaXMub3JkZXJpbmdzKXJldHVybiB0aGlzLm9yZGVyaW5nc1t3XTtsZXQgeT17fSx4PXt9LEM9QS5tZXRhZ3JhcGg7Xy5lYWNoKEMuZWRnZXMoKSxEPT57Qy5lZGdlKEQpLm51bVJlZ3VsYXJFZGdlcyYmKEQudiBpbiB5fHwoeVtELnZdPVtdKSx5W0Qudl0ucHVzaChELncpLHhbRC53XT0hMCl9KTtsZXQgRz1fLmRpZmZlcmVuY2UoXy5rZXlzKHkpLF8ua2V5cyh4KSk7dz10aGlzLm9yZGVyaW5nc1t3XT17fTtmb3IoQT0wO0cubGVuZ3RoOyl7bGV0IEQ9Ry5zaGlmdCgpO3dbRF09QSsrO18uZWFjaCh5W0RdLEI9PgpHLnB1c2goQikpO2RlbGV0ZSB5W0RdfXJldHVybiB3fWdldFRlbXBsYXRlSW5kZXgoKXtsZXQgdz1kMy5rZXlzKHRoaXMudGVtcGxhdGVzKSxBPWQzLnNjYWxlT3JkaW5hbCgpLmRvbWFpbih3KS5yYW5nZShkMy5yYW5nZSgwLHcubGVuZ3RoKSk7cmV0dXJuIHk9PkEoeSl9fWYuRGVmYXVsdEhpZXJhcmNoeVBhcmFtcz17dmVyaWZ5VGVtcGxhdGU6ITAsc2VyaWVzTm9kZU1pblNpemU6NSxzZXJpZXNNYXA6e30scmFua0RpcmVjdGlvbjoiQlQiLHVzZUdlbmVyYWxpemVkU2VyaWVzUGF0dGVybnM6ITF9O2YuYnVpbGQ9ZnVuY3Rpb24odyxBLHkpe2xldCB4PW5ldyB1KHtyYW5rZGlyOkEucmFua0RpcmVjdGlvbn0pLEM9e307cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkFkZGluZyBub2RlcyIsMjAsKCk9PntsZXQgRz17fSxEPXt9O18uZWFjaCh3Lm5vZGVzLEI9PntCLmRldmljZSYmKEdbQi5kZXZpY2VdPSEwKTtCLnhsYUNsdXN0ZXImJihEW0IueGxhQ2x1c3Rlcl09ITApfSk7CnguZGV2aWNlcz1fLmtleXMoRyk7eC54bGFDbHVzdGVycz1fLmtleXMoRCk7ayh4LHcpfSx5KS50aGVuKCgpPT5iLmdyYXBoLnV0aWwucnVuQXN5bmNUYXNrKCJEZXRlY3Qgc2VyaWVzIiwyMCwoKT0+ezA8QS5zZXJpZXNOb2RlTWluU2l6ZSYmbCh4LnJvb3QseCxDLEEuc2VyaWVzTm9kZU1pblNpemUsQS5zZXJpZXNNYXAsQS51c2VHZW5lcmFsaXplZFNlcmllc1BhdHRlcm5zKX0seSkpLnRoZW4oKCk9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkFkZGluZyBlZGdlcyIsMzAsKCk9PntyKHgsdyxDKX0seSkpLnRoZW4oKCk9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkZpbmRpbmcgc2ltaWxhciBzdWJncmFwaHMiLDMwLCgpPT57eC50ZW1wbGF0ZXM9ZC50ZW1wbGF0ZS5kZXRlY3QoeCxBLnZlcmlmeVRlbXBsYXRlKX0seSkpLnRoZW4oKCk9PngpfTtmLmpvaW5BbmRBZ2dyZWdhdGVTdGF0cz1mdW5jdGlvbih3KXtsZXQgQT17fSx5PXt9O18uZWFjaCh3LnJvb3QubGVhdmVzKCksCng9Pnt4PXcubm9kZSh4KTtudWxsIT14LmRldmljZSYmKEFbeC5kZXZpY2VdPSEwKTtudWxsIT14LnhsYUNsdXN0ZXImJih5W3gueGxhQ2x1c3Rlcl09ITApfSk7dy5kZXZpY2VzPV8ua2V5cyhBKTt3LnhsYUNsdXN0ZXJzPV8ua2V5cyh5KTtfLmVhY2gody5nZXROb2RlTWFwKCkseD0+e3guaXNHcm91cE5vZGUmJih4LnN0YXRzPW5ldyBkLk5vZGVTdGF0cyhudWxsKSx4LmRldmljZUhpc3RvZ3JhbT17fSl9KTtfLmVhY2gody5yb290LmxlYXZlcygpLHg9PntsZXQgQz14PXcubm9kZSh4KTtmb3IoO251bGwhPUMucGFyZW50Tm9kZTspe2lmKG51bGwhPXguZGV2aWNlKXt2YXIgRz1DLnBhcmVudE5vZGUuZGV2aWNlSGlzdG9ncmFtO0dbeC5kZXZpY2VdPShHW3guZGV2aWNlXXx8MCkrMX1udWxsIT14LnhsYUNsdXN0ZXImJihHPUMucGFyZW50Tm9kZS54bGFDbHVzdGVySGlzdG9ncmFtLEdbeC54bGFDbHVzdGVyXT0oR1t4LnhsYUNsdXN0ZXJdfHwwKSsxKTtudWxsIT14LnN0YXRzJiZDLnBhcmVudE5vZGUuc3RhdHMuY29tYmluZSh4LnN0YXRzKTsKQz1DLnBhcmVudE5vZGV9fSl9O2YuZ2V0SW5jb21wYXRpYmxlT3BzPWZ1bmN0aW9uKHcsQSl7bGV0IHk9W10seD17fTtfLmVhY2gody5yb290LmxlYXZlcygpLEM9PntDPXcubm9kZShDKTtpZihDLnR5cGU9PWQuTm9kZVR5cGUuT1Ape2lmKCFDLmNvbXBhdGlibGUpaWYoQy5vd25pbmdTZXJpZXMpaWYoQSYmQS5zZXJpZXNNYXBbQy5vd25pbmdTZXJpZXNdPT09Yi5ncmFwaC5TZXJpZXNHcm91cGluZ1R5cGUuVU5HUk9VUCl5LnB1c2goQyk7ZWxzZXtpZigheFtDLm93bmluZ1Nlcmllc10pe2xldCBHPXcubm9kZShDLm93bmluZ1Nlcmllcyk7RyYmKHhbQy5vd25pbmdTZXJpZXNdPUcseS5wdXNoKEcpKX19ZWxzZSB5LnB1c2goQyk7Xy5lYWNoKEMuaW5FbWJlZGRpbmdzLEc9PntHLmNvbXBhdGlibGV8fHkucHVzaChHKX0pO18uZWFjaChDLm91dEVtYmVkZGluZ3MsRz0+e0cuY29tcGF0aWJsZXx8eS5wdXNoKEcpfSl9fSk7cmV0dXJuIHl9fSkoZC5oaWVyYXJjaHl8fChkLmhpZXJhcmNoeT0Ke30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2xheW91dC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtmdW5jdGlvbiBoKHgpe3gubm9kZS5pc0dyb3VwTm9kZSYmcih4KTt4Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQT9wKHgpOngubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMmJm0oeCl9ZnVuY3Rpb24gayh4KXt4LmluYm94V2lkdGg9MDx4LmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg/Zi5QQVJBTVMuYW5ub3RhdGlvbnMuaW5ib3hXaWR0aDowO3gub3V0Ym94V2lkdGg9MDx4Lm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoP2YuUEFSQU1TLmFubm90YXRpb25zLm91dGJveFdpZHRoOjA7eC5jb3JlQm94LndpZHRoPXgud2lkdGg7eC5jb3JlQm94LmhlaWdodD14LmhlaWdodDt4LndpZHRoPU1hdGgubWF4KHguY29yZUJveC53aWR0aCt4LmluYm94V2lkdGgreC5vdXRib3hXaWR0aCwzKnguZGlzcGxheU5hbWUubGVuZ3RoKX1mdW5jdGlvbiByKHgpe2xldCBDPXguY29yZUdyYXBoLm5vZGVzKCkubWFwKEc9Pgp4LmNvcmVHcmFwaC5ub2RlKEcpKS5jb25jYXQoeC5pc29sYXRlZEluRXh0cmFjdCx4Lmlzb2xhdGVkT3V0RXh0cmFjdCx4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0KTtfLmVhY2goQyxHPT57c3dpdGNoKEcubm9kZS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuT1A6Xy5leHRlbmQoRyxmLlBBUkFNUy5ub2RlU2l6ZS5vcCk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpfLmV4dGVuZChHLGYuUEFSQU1TLm5vZGVTaXplLmJyaWRnZSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLk1FVEE6Ry5leHBhbmRlZD9oKEcpOihfLmV4dGVuZChHLGYuUEFSQU1TLm5vZGVTaXplLm1ldGEpLEcuaGVpZ2h0PWYuUEFSQU1TLm5vZGVTaXplLm1ldGEuaGVpZ2h0KEcubm9kZS5jYXJkaW5hbGl0eSkpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5TRVJJRVM6Ry5leHBhbmRlZD8oXy5leHRlbmQoRyxmLlBBUkFNUy5ub2RlU2l6ZS5zZXJpZXMuZXhwYW5kZWQpLGgoRykpOl8uZXh0ZW5kKEcsRy5ub2RlLmhhc05vbkNvbnRyb2xFZGdlcz8KZi5QQVJBTVMubm9kZVNpemUuc2VyaWVzLnZlcnRpY2FsOmYuUEFSQU1TLm5vZGVTaXplLnNlcmllcy5ob3Jpem9udGFsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK0cubm9kZS50eXBlKTt9Ry5leHBhbmRlZHx8ayhHKTtuKEcpfSl9ZnVuY3Rpb24gbCh4LEMpe18uZXh0ZW5kKHguZ3JhcGgoKSx7bm9kZXNlcDpDLm5vZGVTZXAscmFua3NlcDpDLnJhbmtTZXAsZWRnZXNlcDpDLmVkZ2VTZXB9KTtsZXQgRz1bXSxEPVtdO18uZWFjaCh4Lm5vZGVzKCksSj0+e3gubm9kZShKKS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLkJSSURHRT9HLnB1c2goSik6RC5wdXNoKEopfSk7aWYoIUQubGVuZ3RoKXJldHVybnt3aWR0aDowLGhlaWdodDowfTtkYWdyZS5sYXlvdXQoeCk7bGV0IEI9SW5maW5pdHksSD1JbmZpbml0eSxLPS1JbmZpbml0eSxMPS1JbmZpbml0eTtfLmVhY2goRCxKPT57Sj14Lm5vZGUoSik7dmFyIE89LjUqSi53aWR0aCxTPUoueC0KTztPPUoueCtPO0I9UzxCP1M6QjtLPU8+Sz9POks7Tz0uNSpKLmhlaWdodDtTPUoueS1PO0o9Si55K087SD1TPEg/UzpIO0w9Sj5MP0o6TH0pO18uZWFjaCh4LmVkZ2VzKCksSj0+e0o9eC5lZGdlKEopO2lmKCFKLnN0cnVjdHVyYWwpe3ZhciBPPXgubm9kZShKLm1ldGFlZGdlLnYpLFM9eC5ub2RlKEoubWV0YWVkZ2Uudyk7aWYoMz09PUoucG9pbnRzLmxlbmd0aCYmQShKLnBvaW50cykpe2lmKG51bGwhPU8pe3ZhciBOPU8uZXhwYW5kZWQ/Ty54OnUoTyk7Si5wb2ludHNbMF0ueD1OfW51bGwhPVMmJihOPVMuZXhwYW5kZWQ/Uy54OnUoUyksSi5wb2ludHNbMl0ueD1OKTtKLnBvaW50cz1bSi5wb2ludHNbMF0sSi5wb2ludHNbMV1dfU49Si5wb2ludHNbSi5wb2ludHMubGVuZ3RoLTJdO251bGwhPVMmJihKLnBvaW50c1tKLnBvaW50cy5sZW5ndGgtMV09eShOLFMpKTtTPUoucG9pbnRzWzFdO251bGwhPU8mJihKLnBvaW50c1swXT15KFMsTykpO18uZWFjaChKLnBvaW50cyxSPT57Qj1SLng8CkI/Ui54OkI7Sz1SLng+Sz9SLng6SztIPVIueTxIP1IueTpIO0w9Ui55Pkw/Ui55Okx9KX19KTtfLmVhY2goeC5ub2RlcygpLEo9PntKPXgubm9kZShKKTtKLngtPUI7Si55LT1IfSk7Xy5lYWNoKHguZWRnZXMoKSxKPT57Xy5lYWNoKHguZWRnZShKKS5wb2ludHMsTz0+e08ueC09QjtPLnktPUh9KX0pO3JldHVybnt3aWR0aDpLLUIsaGVpZ2h0OkwtSH19ZnVuY3Rpb24gcCh4KXtsZXQgQz1mLlBBUkFNUy5zdWJzY2VuZS5tZXRhO18uZXh0ZW5kKHgsQyk7Xy5leHRlbmQoeC5jb3JlQm94LGwoeC5jb3JlR3JhcGgsZi5QQVJBTVMuZ3JhcGgubWV0YSkpO3ZhciBHPXguaXNvbGF0ZWRJbkV4dHJhY3QubGVuZ3RoP18ubWF4KHguaXNvbGF0ZWRJbkV4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4LmluRXh0cmFjdEJveC53aWR0aD1udWxsIT1HP0c6MDt4LmluRXh0cmFjdEJveC5oZWlnaHQ9Xy5yZWR1Y2UoeC5pc29sYXRlZEluRXh0cmFjdCwoQixILEspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDoKMDtILng9MDtILnk9QitLK0guaGVpZ2h0LzI7cmV0dXJuIEIrSytILmhlaWdodH0sMCk7Rz14Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/Xy5tYXgoeC5pc29sYXRlZE91dEV4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4Lm91dEV4dHJhY3RCb3gud2lkdGg9bnVsbCE9Rz9HOjA7eC5vdXRFeHRyYWN0Qm94LmhlaWdodD1fLnJlZHVjZSh4Lmlzb2xhdGVkT3V0RXh0cmFjdCwoQixILEspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDowO0gueD0wO0gueT1CK0srSC5oZWlnaHQvMjtyZXR1cm4gQitLK0guaGVpZ2h0fSwwKTtHPXgubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QubGVuZ3RoP18ubWF4KHgubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGg9bnVsbCE9Rz9HOjA7eC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodD1fLnJlZHVjZSh4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LChCLEgsCkspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDowO0gueD0wO0gueT1CK0srSC5oZWlnaHQvMjtyZXR1cm4gQitLK0guaGVpZ2h0fSwwKTtHPTA7MDx4Lmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aCYmRysrOzA8eC5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoJiZHKys7MDx4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0Lmxlbmd0aCYmRysrOzA8eC5jb3JlR3JhcGgubm9kZUNvdW50KCkmJkcrKztsZXQgRD1mLlBBUkFNUy5zdWJzY2VuZS5tZXRhLmV4dHJhY3RYT2Zmc2V0O0c9MT49Rz8wOkcqRDt4LmNvcmVCb3gud2lkdGgrPU1hdGgubWF4KGYuTUlOX0FVWF9XSURUSCx4LmluRXh0cmFjdEJveC53aWR0aCt4Lm91dEV4dHJhY3RCb3gud2lkdGgpK0creC5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoK0c7eC5jb3JlQm94LmhlaWdodD1DLmxhYmVsSGVpZ2h0K01hdGgubWF4KHguaW5FeHRyYWN0Qm94LmhlaWdodCx4LmNvcmVCb3guaGVpZ2h0LHgubGlicmFyeUZ1bmN0aW9uc0JveC5oZWlnaHQsCngub3V0RXh0cmFjdEJveC5oZWlnaHQpO3gud2lkdGg9eC5jb3JlQm94LndpZHRoK0MucGFkZGluZ0xlZnQrQy5wYWRkaW5nUmlnaHQ7eC5oZWlnaHQ9eC5wYWRkaW5nVG9wK3guY29yZUJveC5oZWlnaHQreC5wYWRkaW5nQm90dG9tfWZ1bmN0aW9uIG0oeCl7bGV0IEM9eC5jb3JlR3JhcGgsRz1mLlBBUkFNUy5zdWJzY2VuZS5zZXJpZXM7Xy5leHRlbmQoeCxHKTtfLmV4dGVuZCh4LmNvcmVCb3gsbCh4LmNvcmVHcmFwaCxmLlBBUkFNUy5ncmFwaC5zZXJpZXMpKTtfLmVhY2goQy5ub2RlcygpLEQ9PntDLm5vZGUoRCkuZXhjbHVkZWQ9ITF9KTt4LndpZHRoPXguY29yZUJveC53aWR0aCtHLnBhZGRpbmdMZWZ0K0cucGFkZGluZ1JpZ2h0O3guaGVpZ2h0PXguY29yZUJveC5oZWlnaHQrRy5wYWRkaW5nVG9wK0cucGFkZGluZ0JvdHRvbX1mdW5jdGlvbiBuKHgpe2lmKCF4LmV4cGFuZGVkKXt2YXIgQz14LmluQW5ub3RhdGlvbnMubGlzdCxHPXgub3V0QW5ub3RhdGlvbnMubGlzdDtfLmVhY2goQywKTz0+cShPKSk7Xy5lYWNoKEcsTz0+cShPKSk7dmFyIEQ9Zi5QQVJBTVMuYW5ub3RhdGlvbnMsQj1fLnJlZHVjZShDLChPLFMsTik9PntOPTA8Tj9ELnlPZmZzZXQ6MDtTLmR4PS0oeC5jb3JlQm94LndpZHRoK1Mud2lkdGgpLzItRC54T2Zmc2V0O1MuZHk9TytOK1MuaGVpZ2h0LzI7cmV0dXJuIE8rTitTLmhlaWdodH0sMCk7Xy5lYWNoKEMsTz0+e08uZHktPUIvMjtPLmxhYmVsT2Zmc2V0PUQubGFiZWxPZmZzZXR9KTt2YXIgSD1fLnJlZHVjZShHLChPLFMsTik9PntOPTA8Tj9ELnlPZmZzZXQ6MDtTLmR4PSh4LmNvcmVCb3gud2lkdGgrUy53aWR0aCkvMitELnhPZmZzZXQ7Uy5keT1PK04rUy5oZWlnaHQvMjtyZXR1cm4gTytOK1MuaGVpZ2h0fSwwKTtfLmVhY2goRyxPPT57Ty5keS09SC8yO08ubGFiZWxPZmZzZXQ9RC5sYWJlbE9mZnNldH0pO3ZhciBLPU1hdGgubWluKHguaGVpZ2h0LzIteC5yYWRpdXMsQi8yKTtLPTA+Sz8wOks7dmFyIEw9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsCkMubGVuZ3RoLTFdKS5yYW5nZShbLUssS10pO18uZWFjaChDLChPLFMpPT57Ty5wb2ludHM9W3tkeDpPLmR4K08ud2lkdGgvMixkeTpPLmR5fSx7ZHg6LXguY29yZUJveC53aWR0aC8yLGR5OjE8Qy5sZW5ndGg/TChTKTowfV19KTtLPU1hdGgubWluKHguaGVpZ2h0LzIteC5yYWRpdXMsSC8yKTtLPTA+Sz8wOks7dmFyIEo9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsRy5sZW5ndGgtMV0pLnJhbmdlKFstSyxLXSk7Xy5lYWNoKEcsKE8sUyk9PntPLnBvaW50cz1be2R4OnguY29yZUJveC53aWR0aC8yLGR5OjE8Ry5sZW5ndGg/SihTKTowfSx7ZHg6Ty5keC1PLndpZHRoLzIsZHk6Ty5keX1dfSk7eC5oZWlnaHQ9TWF0aC5tYXgoeC5oZWlnaHQsQixIKX19ZnVuY3Rpb24gcSh4KXtzd2l0Y2goeC5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBkLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5DT05TVEFOVDpfLmV4dGVuZCh4LGYuUEFSQU1TLmNvbnN0YW50LnNpemUpO2JyZWFrO2Nhc2UgZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU0hPUlRDVVQ6aWYoeC5ub2RlLnR5cGU9PT0KZC5Ob2RlVHlwZS5PUClfLmV4dGVuZCh4LGYuUEFSQU1TLnNob3J0Y3V0U2l6ZS5vcCk7ZWxzZSBpZih4Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQSlfLmV4dGVuZCh4LGYuUEFSQU1TLnNob3J0Y3V0U2l6ZS5tZXRhKTtlbHNlIGlmKHgubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMpXy5leHRlbmQoeCxmLlBBUkFNUy5zaG9ydGN1dFNpemUuc2VyaWVzKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIG5vZGUgdHlwZTogIit4Lm5vZGUudHlwZSk7YnJlYWs7Y2FzZSBkLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5TVU1NQVJZOl8uZXh0ZW5kKHgsZi5QQVJBTVMuY29uc3RhbnQuc2l6ZSl9fWZ1bmN0aW9uIHUoeCl7cmV0dXJuIHguZXhwYW5kZWQ/eC54OngueC14LndpZHRoLzIrKHguaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD94LmluYm94V2lkdGg6MCkreC5jb3JlQm94LndpZHRoLzJ9ZnVuY3Rpb24gdyh4LEMpe3JldHVybiAxODAqTWF0aC5hdGFuKChDLnkteC55KS8oQy54LQp4LngpKS9NYXRoLlBJfWZ1bmN0aW9uIEEoeCl7bGV0IEM9dyh4WzBdLHhbMV0pO2ZvcihsZXQgRz0xO0c8eC5sZW5ndGgtMTtHKyspe2xldCBEPXcoeFtHXSx4W0crMV0pO2lmKDE8TWF0aC5hYnMoRC1DKSlyZXR1cm4hMTtDPUR9cmV0dXJuITB9ZnVuY3Rpb24geSh4LEMpe2xldCBHPUMuZXhwYW5kZWQ/Qy54OnUoQyksRD1DLnk7dmFyIEI9eC54LUc7eD14LnktRDtsZXQgSD1DLmV4cGFuZGVkP0Mud2lkdGg6Qy5jb3JlQm94LndpZHRoLEs9Qy5leHBhbmRlZD9DLmhlaWdodDpDLmNvcmVCb3guaGVpZ2h0O01hdGguYWJzKHgpKkgvMj5NYXRoLmFicyhCKSpLLzI/KDA+eCYmKEs9LUspLEM9MD09PXg/MDpLLzIqQi94LEI9Sy8yKTooMD5CJiYoSD0tSCksQz1ILzIsQj0wPT09Qj8wOkgvMip4L0IpO3JldHVybnt4OkcrQyx5OkQrQn19Zi5QQVJBTVM9e2FuaW1hdGlvbjp7ZHVyYXRpb246MjUwfSxncmFwaDp7bWV0YTp7bm9kZVNlcDo1LHJhbmtTZXA6MjUsZWRnZVNlcDo1fSxzZXJpZXM6e25vZGVTZXA6NSwKcmFua1NlcDoyNSxlZGdlU2VwOjV9LHBhZGRpbmc6e3BhZGRpbmdUb3A6NDAscGFkZGluZ0xlZnQ6MjB9fSxzdWJzY2VuZTp7bWV0YTp7cGFkZGluZ1RvcDoxMCxwYWRkaW5nQm90dG9tOjEwLHBhZGRpbmdMZWZ0OjEwLHBhZGRpbmdSaWdodDoxMCxsYWJlbEhlaWdodDoyMCxleHRyYWN0WE9mZnNldDoxNSxleHRyYWN0WU9mZnNldDoyMH0sc2VyaWVzOntwYWRkaW5nVG9wOjEwLHBhZGRpbmdCb3R0b206MTAscGFkZGluZ0xlZnQ6MTAscGFkZGluZ1JpZ2h0OjEwLGxhYmVsSGVpZ2h0OjEwfX0sbm9kZVNpemU6e21ldGE6e3JhZGl1czo1LHdpZHRoOjYwLG1heExhYmVsV2lkdGg6NTIsaGVpZ2h0OmQzLnNjYWxlTGluZWFyKCkuZG9tYWluKFsxLDIwMF0pLnJhbmdlKFsxNSw2MF0pLmNsYW1wKCEwKSxleHBhbmRCdXR0b25SYWRpdXM6M30sb3A6e3dpZHRoOjE1LGhlaWdodDo2LHJhZGl1czozLGxhYmVsT2Zmc2V0Oi04LG1heExhYmVsV2lkdGg6MzB9LHNlcmllczp7ZXhwYW5kZWQ6e3JhZGl1czoxMCwKbGFiZWxPZmZzZXQ6MH0sdmVydGljYWw6e3dpZHRoOjE2LGhlaWdodDoxMyxsYWJlbE9mZnNldDotMTN9LGhvcml6b250YWw6e3dpZHRoOjI0LGhlaWdodDo4LHJhZGl1czoxMCxsYWJlbE9mZnNldDotMTB9fSxicmlkZ2U6e3dpZHRoOjIwLGhlaWdodDoyMCxyYWRpdXM6MixsYWJlbE9mZnNldDowfX0sc2hvcnRjdXRTaXplOntvcDp7d2lkdGg6MTAsaGVpZ2h0OjR9LG1ldGE6e3dpZHRoOjEyLGhlaWdodDo0LHJhZGl1czoxfSxzZXJpZXM6e3dpZHRoOjE0LGhlaWdodDo0fX0sYW5ub3RhdGlvbnM6e2luYm94V2lkdGg6NTAsb3V0Ym94V2lkdGg6NTAseE9mZnNldDoxMCx5T2Zmc2V0OjMsbGFiZWxPZmZzZXQ6MixtYXhMYWJlbFdpZHRoOjEyMH0sY29uc3RhbnQ6e3NpemU6e3dpZHRoOjQsaGVpZ2h0OjR9fSxzZXJpZXM6e21heFN0YWNrQ291bnQ6MyxwYXJhbGxlbFN0YWNrT2Zmc2V0UmF0aW86LjIsdG93ZXJTdGFja09mZnNldFJhdGlvOi41fSxtaW5pbWFwOntzaXplOjE1MH19O2YuTUlOX0FVWF9XSURUSD0KMTQwO2YubGF5b3V0U2NlbmU9aDtmLmNvbXB1dGVDWFBvc2l0aW9uT2ZOb2RlU2hhcGU9dX0pKGQubGF5b3V0fHwoZC5sYXlvdXQ9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2xvYWRlci5qcwp2YXIgSmg9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGIsZCxmLGgpe3JldHVybiBuZXcgKGZ8fChmPVByb21pc2UpKShmdW5jdGlvbihrLHIpe2Z1bmN0aW9uIGwobil7dHJ5e20oaC5uZXh0KG4pKX1jYXRjaChxKXtyKHEpfX1mdW5jdGlvbiBwKG4pe3RyeXttKGhbInRocm93Il0obikpfWNhdGNoKHEpe3IocSl9fWZ1bmN0aW9uIG0obil7bi5kb25lP2sobi52YWx1ZSk6KG5ldyBmKGZ1bmN0aW9uKHEpe3Eobi52YWx1ZSl9KSkudGhlbihsLHApfW0oKGg9aC5hcHBseShiLGR8fFtdKSkubmV4dCgpKX0pfTsKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi5mZXRjaEFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoPWZ1bmN0aW9uKGgsayxyLGw9bmV3IGQub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyLHA9ZC5oaWVyYXJjaHkuRGVmYXVsdEhpZXJhcmNoeVBhcmFtcyl7Y29uc3QgbT1kLnV0aWwuZ2V0U3VidGFza1RyYWNrZXIoaCwyMCwiR3JhcGgiKSxuPWQudXRpbC5nZXRTdWJ0YXNrVHJhY2tlcihoLDUwLCJOYW1lc3BhY2UgaGllcmFyY2h5Iik7cmV0dXJuIGQucGFyc2VyLmZldGNoQW5kUGFyc2VHcmFwaERhdGEoayxyLGQudXRpbC5nZXRTdWJ0YXNrVHJhY2tlcihoLDMwLCJEYXRhIikpLnRoZW4oZnVuY3Rpb24ocSl7aWYoIXEubm9kZSl0aHJvdyBFcnJvcigiVGhlIGdyYXBoIGlzIGVtcHR5LiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBUZW5zb3JGbG93IGNvdWxkIG5vdCB0cmFjZSBhbnkgZ3JhcGguIFBsZWFzZSByZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvMTk2MSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iKTsKcmV0dXJuIGQuYnVpbGQocSxkLkRlZmF1bHRCdWlsZFBhcmFtcyxtKX0sKCk9Pnt0aHJvdyBFcnJvcigiTWFsZm9ybWVkIEdyYXBoRGVmLiBUaGlzIGNhbiBzb21ldGltZXMgYmUgY2F1c2VkIGJ5IGEgYmFkIG5ldHdvcmsgY29ubmVjdGlvbiBvciBkaWZmaWN1bHR5IHJlY29uY2lsaW5nIG11bHRpcGxlIEdyYXBoRGVmczsgZm9yIHRoZSBsYXR0ZXIgY2FzZSwgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy8xOTI5LiIpO30pLnRoZW4ocT0+SmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2Qub3AuY2hlY2tPcHNGb3JDb21wYXRpYmlsaXR5KHEsbCk7Y29uc3QgdT15aWVsZCBkLmhpZXJhcmNoeS5idWlsZChxLHAsbik7cmV0dXJue2dyYXBoOnEsZ3JhcGhIaWVyYXJjaHk6dX19KSkuY2F0Y2gocT0+e2gucmVwb3J0RXJyb3IoYEdyYXBoIHZpc3VhbGl6YXRpb24gZmFpbGVkLlxuXG4ke3F9YCxxKTt0aHJvdyBxOwp9KX19KShkLmxvYWRlcnx8KGQubG9hZGVyPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9ub2RlLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpeyhmdW5jdGlvbihoKXtmdW5jdGlvbiBrKFosY2EsamEpe2lmKGNhLm5vZGUuaXNHcm91cE5vZGUpe2lmKGNhLmV4cGFuZGVkKXJldHVybiBmLmJ1aWxkR3JvdXAoWixjYSxqYSxmLkNsYXNzLlN1YnNjZW5lLkdST1VQKTtmLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuU3Vic2NlbmUuR1JPVVApLnJlbW92ZSgpfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoWixjYSl7bGV0IGphPWNhLngtY2Eud2lkdGgvMitjYS5wYWRkaW5nTGVmdDtjYT1jYS55LWNhLmhlaWdodC8yK2NhLnBhZGRpbmdUb3A7Wj1mLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuU3Vic2NlbmUuR1JPVVApO2YudHJhbnNsYXRlKFosamEsY2EpfWZ1bmN0aW9uIGwoWixjYSxqYSl7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZyIsZi5DbGFzcy5Ob2RlLkJVVFRPTl9DT05UQUlORVIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJjaXJjbGUiLGYuQ2xhc3MuTm9kZS5CVVRUT05fQ0lSQ0xFKTsKZi5zZWxlY3RPckNyZWF0ZUNoaWxkKFosInBhdGgiLGYuQ2xhc3MuTm9kZS5FWFBBTkRfQlVUVE9OKS5hdHRyKCJkIiwiTTAsLTIuMiBWMi4yIE0tMi4yLDAgSDIuMiIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJwYXRoIixmLkNsYXNzLk5vZGUuQ09MTEFQU0VfQlVUVE9OKS5hdHRyKCJkIiwiTS0yLjIsMCBIMi4yIik7Wi5vbigiY2xpY2siLGJhPT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7amEuZmlyZSgibm9kZS10b2dnbGUtZXhwYW5kIix7bmFtZTpiYS5ub2RlLm5hbWV9KX0pO2YucG9zaXRpb25CdXR0b24oWixjYSl9ZnVuY3Rpb24gcChaLGNhLGphLGJhKXtpZihiYSlaLmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpO2Vsc2V7dmFyIGthPWYuY29udGV4dG1lbnUuZ2V0TWVudShqYSxtKGNhLm5vZGUsamEpKTtaLm9uKCJkYmxjbGljayIsVz0+e2phLmZpcmUoIm5vZGUtdG9nZ2xlLWV4cGFuZCIse25hbWU6Vy5ub2RlLm5hbWV9KX0pLm9uKCJtb3VzZW92ZXIiLApXPT57amEuaXNOb2RlRXhwYW5kZWQoVyl8fGphLmZpcmUoIm5vZGUtaGlnaGxpZ2h0Iix7bmFtZTpXLm5vZGUubmFtZX0pfSkub24oIm1vdXNlb3V0IixXPT57amEuaXNOb2RlRXhwYW5kZWQoVyl8fGphLmZpcmUoIm5vZGUtdW5oaWdobGlnaHQiLHtuYW1lOlcubm9kZS5uYW1lfSl9KS5vbigiY2xpY2siLFc9PntkMy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKTtqYS5maXJlKCJub2RlLXNlbGVjdCIse25hbWU6Vy5ub2RlLm5hbWV9KX0pLm9uKCJjb250ZXh0bWVudSIsKFcsRWEpPT57amEuZmlyZSgibm9kZS1zZWxlY3QiLHtuYW1lOlcubm9kZS5uYW1lfSk7a2EuY2FsbChXLEVhKX0pfX1mdW5jdGlvbiBtKFosY2Epe2xldCBqYT1be3RpdGxlOigpPT5kLmdldEluY2x1ZGVOb2RlQnV0dG9uU3RyaW5nKFouaW5jbHVkZSksYWN0aW9uOigpPT57Y2EuZmlyZSgibm9kZS10b2dnbGUtZXh0cmFjdCIse25hbWU6Wi5uYW1lfSl9fV07Y2Eubm9kZUNvbnRleHRNZW51SXRlbXMmJihqYT1qYS5jb25jYXQoY2Eubm9kZUNvbnRleHRNZW51SXRlbXMpKTsKbihaKSYmamEucHVzaCh7dGl0bGU6KCk9PncoWiksYWN0aW9uOigpPT57Y2EuZmlyZSgibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHtuYW1lOnEoWil9KX19KTtyZXR1cm4gamF9ZnVuY3Rpb24gbihaKXtyZXR1cm4gbnVsbCE9PXEoWil9ZnVuY3Rpb24gcShaKXtyZXR1cm4gWj9aLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9aLm5hbWU6Wi50eXBlPT09ZC5Ob2RlVHlwZS5PUD9aLm93bmluZ1NlcmllczpudWxsOm51bGx9ZnVuY3Rpb24gdShaKXtsZXQgY2E9bnVsbDtpZighWilyZXR1cm4gbnVsbDtaLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9jYT1aOloucGFyZW50Tm9kZSYmWi5wYXJlbnROb2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUyYmKGNhPVoucGFyZW50Tm9kZSk7cmV0dXJuIGNhfWZ1bmN0aW9uIHcoWil7cmV0dXJuIGIuZ3JhcGguZ2V0R3JvdXBTZXJpZXNOb2RlQnV0dG9uU3RyaW5nKG51bGwhPT11KFopP2IuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQOgpiLmdyYXBoLlNlcmllc0dyb3VwaW5nVHlwZS5VTkdST1VQKX1mdW5jdGlvbiBBKFosY2EsamEpe3ZhciBiYT1jYS5kaXNwbGF5TmFtZTtsZXQga2E9Y2Eubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiYhY2EuZXhwYW5kZWQ7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwidGV4dCIsZi5DbGFzcy5Ob2RlLkxBQkVMKTtsZXQgVz1aLm5vZGUoKTtXLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoVyk7Wi5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKTtrYSYmKGJhLmxlbmd0aD5qYS5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoJiYoYmE9YmEuc3Vic3RyKDAsamEubWF4TWV0YW5vZGVMYWJlbExlbmd0aC0yKSsiLi4uIiksamE9eChqYSksWi5hdHRyKCJmb250LXNpemUiLGphKGJhLmxlbmd0aCkrInB4IikpO2JhPVoudGV4dChiYSk7eShiYSxjYS5ub2RlLnR5cGUsY2EpO3JldHVybiBafWZ1bmN0aW9uIHkoWixjYSxqYSl7bGV0IGJhPVoubm9kZSgpO3ZhciBrYT0KYmEuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7bGV0IFc9YmEudGV4dENvbnRlbnQsRWE9bnVsbDtzd2l0Y2goY2Epe2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOmphJiYhamEuZXhwYW5kZWQmJihFYT1kLmxheW91dC5QQVJBTVMubm9kZVNpemUubWV0YS5tYXhMYWJlbFdpZHRoKTticmVhaztjYXNlIGQuTm9kZVR5cGUuT1A6RWE9ZC5sYXlvdXQuUEFSQU1TLm5vZGVTaXplLm9wLm1heExhYmVsV2lkdGg7YnJlYWs7Y2FzZSAtMTpFYT1kLmxheW91dC5QQVJBTVMuYW5ub3RhdGlvbnMubWF4TGFiZWxXaWR0aH1pZighKG51bGw9PT1FYXx8a2E8PUVhKSl7Zm9yKGthPTE7YmEuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsa2EpPEVhOylrYSsrO2NhPWJhLnRleHRDb250ZW50LnN1YnN0cigwLGthKTtkbyBjYT1jYS5zdWJzdHIoMCxjYS5sZW5ndGgtMSksYmEudGV4dENvbnRlbnQ9Y2ErIi4uLiIsa2E9YmEuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7d2hpbGUoa2E+RWEmJjA8Y2EubGVuZ3RoKTtyZXR1cm4gWi5hcHBlbmQoInRpdGxlIikudGV4dChXKX19CmZ1bmN0aW9uIHgoWil7ZmF8fChmYT1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbWi5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoTGFyZ2VGb250LFoubWF4TWV0YW5vZGVMYWJlbExlbmd0aF0pLnJhbmdlKFtaLm1heE1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZSxaLm1pbk1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZV0pLmNsYW1wKCEwKSk7cmV0dXJuIGZhfWZ1bmN0aW9uIEMoWixjYSxqYSxiYSl7Zi5zZWxlY3RDaGlsZChaLCJ0ZXh0IixmLkNsYXNzLk5vZGUuTEFCRUwpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixjYSkuYXR0cigieSIsamErYmEpfWZ1bmN0aW9uIEcoWixjYSxqYSl7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZyIsamEpO3N3aXRjaChjYS5ub2RlLnR5cGUpe2Nhc2UgZC5Ob2RlVHlwZS5PUDpjYT1jYS5ub2RlO2lmKF8uaXNOdW1iZXIoY2EuZnVuY3Rpb25JbnB1dEluZGV4KXx8Xy5pc051bWJlcihjYS5mdW5jdGlvbk91dHB1dEluZGV4KSl7Zi5zZWxlY3RPckNyZWF0ZUNoaWxkKFosCiJwb2x5Z29uIixmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKTticmVha31mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZWxsaXBzZSIsZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpqYT0iYW5ub3RhdGlvbiI7Y2EuY29yZUdyYXBoJiYoamE9Y2Eubm9kZS5oYXNOb25Db250cm9sRWRnZXM/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIpO2xldCBiYT1bZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVF07Y2EuaXNGYWRlZE91dCYmYmEucHVzaCgiZmFkZWQtZWxsaXBzZSIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJ1c2UiLGJhKS5hdHRyKCJ4bGluazpocmVmIiwiI29wLXNlcmllcy0iK2phKyItc3RhbXAiKTtmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwicmVjdCIsZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVCkuYXR0cigicngiLGNhLnJhZGl1cykuYXR0cigicnkiLGNhLnJhZGl1cyk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwKInJlY3QiLGYuQ2xhc3MuTm9kZS5DT0xPUl9UQVJHRVQpLmF0dHIoInJ4IixjYS5yYWRpdXMpLmF0dHIoInJ5IixjYS5yYWRpdXMpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOmYuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJyZWN0IixmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKS5hdHRyKCJyeCIsY2EucmFkaXVzKS5hdHRyKCJyeSIsY2EucmFkaXVzKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK2NhLm5vZGUudHlwZSk7fXJldHVybiBafWZ1bmN0aW9uIEQoWil7c3dpdGNoKFoubm9kZS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuT1A6cmV0dXJuIGYuQ2xhc3MuT1BOT0RFO2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOnJldHVybiBmLkNsYXNzLk1FVEFOT0RFO2Nhc2UgZC5Ob2RlVHlwZS5TRVJJRVM6cmV0dXJuIGYuQ2xhc3MuU0VSSUVTTk9ERTtjYXNlIGQuTm9kZVR5cGUuQlJJREdFOnJldHVybiBmLkNsYXNzLkJSSURHRU5PREU7Y2FzZSBkLk5vZGVUeXBlLkVMTElQU0lTOnJldHVybiBmLkNsYXNzLkVMTElQU0lTTk9ERX10aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIG5vZGUgdHlwZTogIisKWi5ub2RlLnR5cGUpO31mdW5jdGlvbiBCKFosY2Epe3ZhciBqYT1mLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuTm9kZS5TSEFQRSk7bGV0IGJhPWQubGF5b3V0LmNvbXB1dGVDWFBvc2l0aW9uT2ZOb2RlU2hhcGUoY2EpO3N3aXRjaChjYS5ub2RlLnR5cGUpe2Nhc2UgZC5Ob2RlVHlwZS5PUDp7Y29uc3Qga2E9Y2Eubm9kZTtfLmlzTnVtYmVyKGthLmZ1bmN0aW9uSW5wdXRJbmRleCl8fF8uaXNOdW1iZXIoa2EuZnVuY3Rpb25PdXRwdXRJbmRleCk/KGphPWYuc2VsZWN0Q2hpbGQoamEsInBvbHlnb24iKSxmLnBvc2l0aW9uVHJpYW5nbGUoamEsY2EueCxjYS55LGNhLmNvcmVCb3gud2lkdGgsY2EuY29yZUJveC5oZWlnaHQpKTooamE9Zi5zZWxlY3RDaGlsZChqYSwiZWxsaXBzZSIpLGYucG9zaXRpb25FbGxpcHNlKGphLGJhLGNhLnksY2EuY29yZUJveC53aWR0aCxjYS5jb3JlQm94LmhlaWdodCkpO0MoWixiYSxjYS55LGNhLmxhYmVsT2Zmc2V0KTticmVha31jYXNlIGQuTm9kZVR5cGUuTUVUQTpqYT0KamEuc2VsZWN0QWxsKCJyZWN0Iik7Y2EuZXhwYW5kZWQ/KGYucG9zaXRpb25SZWN0KGphLGNhLngsY2EueSxjYS53aWR0aCxjYS5oZWlnaHQpLHIoWixjYSksQyhaLGJhLGNhLnksLWNhLmhlaWdodC8yK2NhLmxhYmVsSGVpZ2h0LzIpKTooZi5wb3NpdGlvblJlY3QoamEsYmEsY2EueSxjYS5jb3JlQm94LndpZHRoLGNhLmNvcmVCb3guaGVpZ2h0KSxDKFosYmEsY2EueSwwKSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpqYT1mLnNlbGVjdENoaWxkKGphLCJ1c2UiKTtjYS5leHBhbmRlZD8oZi5wb3NpdGlvblJlY3QoamEsY2EueCxjYS55LGNhLndpZHRoLGNhLmhlaWdodCkscihaLGNhKSxDKFosYmEsY2EueSwtY2EuaGVpZ2h0LzIrY2EubGFiZWxIZWlnaHQvMikpOihmLnBvc2l0aW9uUmVjdChqYSxiYSxjYS55LGNhLmNvcmVCb3gud2lkdGgsY2EuY29yZUJveC5oZWlnaHQpLEMoWixiYSxjYS55LGNhLmxhYmVsT2Zmc2V0KSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpaPQpmLnNlbGVjdENoaWxkKGphLCJyZWN0Iik7Zi5wb3NpdGlvblJlY3QoWixjYS54LGNhLnksY2Eud2lkdGgsY2EuaGVpZ2h0KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK2NhLm5vZGUudHlwZSk7fX1mdW5jdGlvbiBIKFosY2EsamEpe2xldCBiYT1iLmdyYXBoLnV0aWwuZXNjYXBlUXVlcnlTZWxlY3RvcihaKTtpZighamEpcmV0dXJuYHVybCgjJHtiYX0pYDtqYT1kMy5zZWxlY3QoamEpO2xldCBrYT1qYS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpO2thLmVtcHR5KCkmJihrYT1qYS5hcHBlbmQoImRlZnMiKS5hdHRyKCJpZCIsIl9ncmFwaC1ncmFkaWVudHMiKSk7bGV0IFc9a2Euc2VsZWN0KCJsaW5lYXJHcmFkaWVudCMiK2JhKTtpZihXLmVtcHR5KCkpe1c9a2EuYXBwZW5kKCJsaW5lYXJHcmFkaWVudCIpLmF0dHIoImlkIixaKTtXLnNlbGVjdEFsbCgiKiIpLnJlbW92ZSgpO2xldCBFYT0wO18uZWFjaChjYSx2YT0+e2xldCB5YT0KdmEuY29sb3I7Vy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLEVhKS5hdHRyKCJzdG9wLWNvbG9yIix5YSk7Vy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLEVhK3ZhLnByb3BvcnRpb24pLmF0dHIoInN0b3AtY29sb3IiLHlhKTtFYSs9dmEucHJvcG9ydGlvbn0pfXJldHVybmB1cmwoIyR7YmF9KWB9ZnVuY3Rpb24gSyhaLGNhLGphLGJhLGthKXtsZXQgVz1kLnJlbmRlci5NZXRhbm9kZUNvbG9ycztzd2l0Y2goY2Epe2Nhc2Ugb2EuU1RSVUNUVVJFOnJldHVybiBqYS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLk1FVEE/KGNhPWphLm5vZGUudGVtcGxhdGVJZCxudWxsPT09Y2E/Vy5VTktOT1dOOlcuU1RSVUNUVVJFX1BBTEVUVEUoWihjYSksYmEpKTpqYS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9iYT9XLkVYUEFOREVEX0NPTE9SOiJ3aGl0ZSI6amEubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5CUklER0U/amEuc3RydWN0dXJhbD8iI2YwZSI6amEubm9kZS5pbmJvdW5kPwoiIzBlZiI6IiNmZTAiOl8uaXNOdW1iZXIoamEubm9kZS5mdW5jdGlvbklucHV0SW5kZXgpPyIjNzk1NTQ4IjpfLmlzTnVtYmVyKGphLm5vZGUuZnVuY3Rpb25PdXRwdXRJbmRleCk/IiMwMDk2ODgiOiJ3aGl0ZSI7Y2FzZSBvYS5ERVZJQ0U6cmV0dXJuIG51bGw9PWphLmRldmljZUNvbG9ycz9XLlVOS05PV046YmE/Vy5FWFBBTkRFRF9DT0xPUjpIKCJkZXZpY2UtIitqYS5ub2RlLm5hbWUsamEuZGV2aWNlQ29sb3JzLGthKTtjYXNlIG9hLlhMQV9DTFVTVEVSOnJldHVybiBudWxsPT1qYS54bGFDbHVzdGVyQ29sb3JzP1cuVU5LTk9XTjpiYT9XLkVYUEFOREVEX0NPTE9SOkgoInhsYS0iK2phLm5vZGUubmFtZSxqYS54bGFDbHVzdGVyQ29sb3JzLGthKTtjYXNlIG9hLkNPTVBVVEVfVElNRTpyZXR1cm4gYmE/Vy5FWFBBTkRFRF9DT0xPUjpqYS5jb21wdXRlVGltZUNvbG9yfHxXLlVOS05PV047Y2FzZSBvYS5NRU1PUlk6cmV0dXJuIGJhP1cuRVhQQU5ERURfQ09MT1I6amEubWVtb3J5Q29sb3J8fApXLlVOS05PV047Y2FzZSBvYS5PUF9DT01QQVRJQklMSVRZOnJldHVybiBudWxsPT1qYS5jb21wYXRpYmlsaXR5Q29sb3JzP1cuVU5LTk9XTjpiYT9XLkVYUEFOREVEX0NPTE9SOkgoIm9wLWNvbXBhdC0iK2phLm5vZGUubmFtZSxqYS5jb21wYXRpYmlsaXR5Q29sb3JzLGthKTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIGNhc2UgdG8gY29sb3Igbm9kZXMgYnkiKTt9fWZ1bmN0aW9uIEwoWixjYSxqYSxiYSl7YmE9YmF8fGYuQ2xhc3MuTm9kZS5TSEFQRTtsZXQga2E9amEuaXNOb2RlU2VsZWN0ZWQoY2Eubm9kZS5uYW1lKSxXPWNhLmlzSW5FeHRyYWN0fHxjYS5pc091dEV4dHJhY3R8fGNhLmlzTGlicmFyeUZ1bmN0aW9uLEVhPWNhLmV4cGFuZGVkJiZiYSE9PWYuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFLHZhPWNhLmlzRmFkZWRPdXQ7Wi5jbGFzc2VkKCJoaWdobGlnaHRlZCIsamEuaXNOb2RlSGlnaGxpZ2h0ZWQoY2Eubm9kZS5uYW1lKSk7Wi5jbGFzc2VkKCJzZWxlY3RlZCIsa2EpOwpaLmNsYXNzZWQoImV4dHJhY3QiLFcpO1ouY2xhc3NlZCgiZXhwYW5kZWQiLEVhKTtaLmNsYXNzZWQoImZhZGVkIix2YSk7Wj1aLnNlbGVjdCgiLiIrYmErIiAuIitmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKTtjYT1LKGphLnRlbXBsYXRlSW5kZXgsb2FbamEuY29sb3JCeS50b1VwcGVyQ2FzZSgpXSxjYSxFYSxqYS5nZXRHcmFwaFN2Z1Jvb3QoKSk7Wi5zdHlsZSgiZmlsbCIsY2EpO1ouc3R5bGUoInN0cm9rZSIsa2E/bnVsbDpKKGNhKSl9ZnVuY3Rpb24gSihaKXtyZXR1cm4idXJsIj09PVouc3Vic3RyaW5nKDAsMyk/ZC5yZW5kZXIuTWV0YW5vZGVDb2xvcnMuR1JBRElFTlRfT1VUTElORTpkMy5yZ2IoWikuZGFya2VyKCkudG9TdHJpbmcoKX1mdW5jdGlvbiBPKFosY2Epe2xldCBqYT1bXTtaPWNhLmdldE5vZGVCeU5hbWUoWik7aWYoWiBpbnN0YW5jZW9mIGIuZ3JhcGguT3BOb2RlSW1wbClyZXR1cm5bWl0uY29uY2F0KFouaW5FbWJlZGRpbmdzKTtaPVoubWV0YWdyYXBoLm5vZGVzKCk7Cl8uZWFjaChaLGZ1bmN0aW9uKGJhKXtqYT1qYS5jb25jYXQoTyhiYSxjYSkpfSk7cmV0dXJuIGphfWZ1bmN0aW9uIFMoWixjYSxqYSxiYSl7aWYoYmFbamEubmFtZV0pcmV0dXJuIGJhO2JhW2phLm5hbWVdPSEwO3ZhciBrYT1qYS5pbnB1dHM7bGV0IFc9YWEoY2EsamEpO2QzLnNlbGVjdChaKS5zZWxlY3QoYC5ub2RlW2RhdGEtbmFtZT0iJHtXLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1oaWdobGlnaHQiLCEwKTtsZXQgRWE9e307Xy5lYWNoKGthLGZ1bmN0aW9uKEFhKXtBYT1jYS5nZXROb2RlQnlOYW1lKEFhLm5hbWUpO2lmKHZvaWQgMCE9PUFhKXtBYSBpbnN0YW5jZW9mIGQuTWV0YW5vZGVJbXBsJiYoQWE9Yi5ncmFwaC5nZXRTdHJpY3ROYW1lKEFhLm5hbWUpLEFhPWNhLmdldE5vZGVCeU5hbWUoQWEpKTt2YXIgRmE9YWEoY2EsQWEpLHhhPUVhW0ZhLm5hbWVdO3hhP3hhLm9wTm9kZXMucHVzaChBYSk6RWFbRmEubmFtZV09e3Zpc2libGVQYXJlbnQ6RmEsb3BOb2RlczpbQWFdfX19KTsKbGV0IHZhPXt9LHlhPVtXXTt2YVtXLm5hbWVdPXt0cmFjZWQ6ITEsaW5kZXg6MCxjb25uZWN0aW9uRW5kcG9pbnRzOltdfTtqYT1XO2ZvcihrYT0xO2phLm5hbWUhPT1iLmdyYXBoLlJPT1RfTkFNRTtrYSsrKWphPWphLnBhcmVudE5vZGUsdmFbamEubmFtZV09e3RyYWNlZDohMSxpbmRleDprYSxjb25uZWN0aW9uRW5kcG9pbnRzOltdfSx5YVtrYV09amE7Xy5mb3JPd24oRWEsZnVuY3Rpb24oQWEpe2xldCBGYT1BYS52aXNpYmxlUGFyZW50O18uZWFjaChBYS5vcE5vZGVzLGZ1bmN0aW9uKHhhKXtiYT1TKFosY2EseGEsYmEpfSk7RmEubmFtZSE9PVcubmFtZSYmTihaLEZhLHZhLHlhKX0pO3JldHVybiBiYX1mdW5jdGlvbiBOKFosY2EsamEsYmEpe3ZhciBrYT1jYSxXPWNhO2ZvcihjYT1bXTshamFba2EubmFtZV07KVcubmFtZSE9PWthLm5hbWUmJmNhLnB1c2goW1csa2FdKSxXPWthLGthPWthLnBhcmVudE5vZGU7amE9amFba2EubmFtZV0uaW5kZXg7bGV0IEVhPWJhW01hdGgubWF4KGphLQoxLDApXS5uYW1lO1c9a2E9Vy5uYW1lO2NvbnN0IHZhPWQzLnNlbGVjdChaKTt2YS5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7V30tLSR7RWF9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApO18uZWFjaChjYSxmdW5jdGlvbih5YSl7dmEuc2VsZWN0QWxsKGBbZGF0YS1lZGdlPSIke3lhWzBdLm5hbWV9LS0ke0VhfWArYH5+JHt5YVsxXS5uYW1lfX5+T1VUIl1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfSk7Zm9yKFo9MTtaPGphO1orKyl2YS5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7a2F9fn4ke2JhW1pdLm5hbWV9YCtgfn5JTi0tJHtiYVtaLTFdLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfWZ1bmN0aW9uIFIoWixjYSl7bGV0IGphPXt9O18uZWFjaChjYSxmdW5jdGlvbihiYSl7YmE9Wi5nZXROb2RlQnlOYW1lKGJhKTtiYT1hYShaLGJhKTtqYVtiYS5uYW1lXT1iYX0pO3JldHVybiBqYX1mdW5jdGlvbiBYKFosCmNhKXtfLmZvck93bihjYSxmdW5jdGlvbihqYSl7Zm9yKDtqYS5uYW1lIT09Yi5ncmFwaC5ST09UX05BTUU7KXtjb25zdCBiYT1kMy5zZWxlY3QoWikuc2VsZWN0KGAubm9kZVtkYXRhLW5hbWU9IiR7amEubmFtZX0iXWApOyFiYS5ub2RlcygpLmxlbmd0aHx8YmEuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0Iil8fGJhLmNsYXNzZWQoInNlbGVjdGVkIil8fGJhLmNsYXNzZWQoIm9wIil8fGJhLmNsYXNzZWQoImlucHV0LXBhcmVudCIsITApO2phPWphLnBhcmVudE5vZGV9fSl9ZnVuY3Rpb24gYWEoWixjYSl7bGV0IGphPSExLGJhPWNhO2Zvcig7IWphOylpZihjYT1iYSxiYT1jYS5wYXJlbnROb2RlLHZvaWQgMD09PWJhKWphPSEwO2Vsc2V7bGV0IGthPVouZ2V0UmVuZGVyTm9kZUJ5TmFtZShiYS5uYW1lKTtrYSYmKGthLmV4cGFuZGVkfHxiYSBpbnN0YW5jZW9mIGQuT3BOb2RlSW1wbCkmJihqYT0hMCl9cmV0dXJuIGNhfWguYnVpbGRHcm91cD1mdW5jdGlvbihaLGNhLGphKXtaPWYuc2VsZWN0T3JDcmVhdGVDaGlsZChaLAoiZyIsZi5DbGFzcy5Ob2RlLkNPTlRBSU5FUikuc2VsZWN0QWxsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pLmRhdGEoY2EsYmE9PmJhLm5vZGUubmFtZSsiOiIrYmEubm9kZS50eXBlKTtaLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiZGF0YS1uYW1lIixiYT0+YmEubm9kZS5uYW1lKS5lYWNoKGZ1bmN0aW9uKGJhKXtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpO2phLmFkZE5vZGVHcm91cChiYS5ub2RlLm5hbWUsa2EpfSkubWVyZ2UoWikuYXR0cigiY2xhc3MiLGJhPT5mLkNsYXNzLk5vZGUuR1JPVVArIiAiK0QoYmEpKS5lYWNoKGZ1bmN0aW9uKGJhKXtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpO3ZhciBXPWYuc2VsZWN0T3JDcmVhdGVDaGlsZChrYSwiZyIsZi5DbGFzcy5Bbm5vdGF0aW9uLklOQk9YKTtmLmFubm90YXRpb24uYnVpbGRHcm91cChXLGJhLmluQW5ub3RhdGlvbnMsYmEsamEpO1c9Zi5zZWxlY3RPckNyZWF0ZUNoaWxkKGthLCJnIixmLkNsYXNzLkFubm90YXRpb24uT1VUQk9YKTsKZi5hbm5vdGF0aW9uLmJ1aWxkR3JvdXAoVyxiYS5vdXRBbm5vdGF0aW9ucyxiYSxqYSk7Vz1HKGthLGJhLGYuQ2xhc3MuTm9kZS5TSEFQRSk7YmEubm9kZS5pc0dyb3VwTm9kZSYmbChXLGJhLGphKTtwKFcsYmEsamEpO2soa2EsYmEsamEpO1c9QShrYSxiYSxqYSk7cChXLGJhLGphLGJhLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQSk7TChrYSxiYSxqYSk7QihrYSxiYSl9KTtaLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKGJhKXtqYS5yZW1vdmVOb2RlR3JvdXAoYmEubm9kZS5uYW1lKTtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpOzA8YmEuaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aCYma2Euc2VsZWN0KCIuIitmLkNsYXNzLkFubm90YXRpb24uSU5CT1gpLnNlbGVjdEFsbCgiLiIrZi5DbGFzcy5Bbm5vdGF0aW9uLkdST1VQKS5lYWNoKFc9PntqYS5yZW1vdmVBbm5vdGF0aW9uR3JvdXAoVyxiYSl9KTswPGJhLm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoJiZrYS5zZWxlY3QoIi4iK2YuQ2xhc3MuQW5ub3RhdGlvbi5PVVRCT1gpLnNlbGVjdEFsbCgiLiIrCmYuQ2xhc3MuQW5ub3RhdGlvbi5HUk9VUCkuZWFjaChXPT57amEucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKFcsYmEpfSl9KS5yZW1vdmUoKTtyZXR1cm4gWn07aC5nZXRDb250ZXh0TWVudT1tO2guY2FuQmVJblNlcmllcz1uO2guZ2V0U2VyaWVzTmFtZT1xO2guZ2V0R3JvdXBTZXR0aW5nTGFiZWw9dztoLmVuZm9yY2VMYWJlbFdpZHRoPXk7bGV0IGZhPW51bGw7aC5idWlsZFNoYXBlPUc7aC5ub2RlQ2xhc3M9RDtsZXQgb2E7KGZ1bmN0aW9uKFope1pbWi5TVFJVQ1RVUkU9MF09IlNUUlVDVFVSRSI7WltaLkRFVklDRT0xXT0iREVWSUNFIjtaW1ouWExBX0NMVVNURVI9Ml09IlhMQV9DTFVTVEVSIjtaW1ouQ09NUFVURV9USU1FPTNdPSJDT01QVVRFX1RJTUUiO1pbWi5NRU1PUlk9NF09Ik1FTU9SWSI7WltaLk9QX0NPTVBBVElCSUxJVFk9NV09Ik9QX0NPTVBBVElCSUxJVFkifSkob2E9aC5Db2xvckJ5fHwoaC5Db2xvckJ5PXt9KSk7aC5yZW1vdmVHcmFkaWVudERlZmluaXRpb25zPWZ1bmN0aW9uKFope2QzLnNlbGVjdChaKS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpLnJlbW92ZSgpfTsKaC5nZXRGaWxsRm9yTm9kZT1LO2guc3R5bGl6ZT1MO2guZ2V0U3Ryb2tlRm9yRmlsbD1KO2gudXBkYXRlSW5wdXRUcmFjZT1mdW5jdGlvbihaLGNhLGphLGJhKXtjb25zdCBrYT1kMy5zZWxlY3QoWik7a2Euc2VsZWN0QWxsKCIuaW5wdXQtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0IiwhMSk7a2Euc2VsZWN0QWxsKCIubm9uLWlucHV0IikuY2xhc3NlZCgibm9uLWlucHV0IiwhMSk7a2Euc2VsZWN0QWxsKCIuaW5wdXQtcGFyZW50IikuY2xhc3NlZCgiaW5wdXQtcGFyZW50IiwhMSk7a2Euc2VsZWN0QWxsKCIuaW5wdXQtY2hpbGQiKS5jbGFzc2VkKCJpbnB1dC1jaGlsZCIsITEpO2thLnNlbGVjdEFsbCgiLmlucHV0LWVkZ2UtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKTtrYS5zZWxlY3RBbGwoIi5ub24taW5wdXQtZWRnZS1oaWdobGlnaHQiKS5jbGFzc2VkKCJub24taW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKTtrYS5zZWxlY3RBbGwoIi5pbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQiKS5jbGFzc2VkKCJpbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQiLAohMSk7aWYoY2EmJmJhJiZqYSl7amE9TyhqYSxjYSk7dmFyIFc9e307Xy5lYWNoKGphLGZ1bmN0aW9uKEVhKXtXPVMoWixjYSxFYSxXKX0pO2phPU9iamVjdC5rZXlzKFcpO2phPVIoY2EsamEpO1goWixqYSk7a2Euc2VsZWN0QWxsKCJnLm5vZGU6bm90KC5zZWxlY3RlZCk6bm90KC5pbnB1dC1oaWdobGlnaHQpOm5vdCguaW5wdXQtcGFyZW50KTpub3QoLmlucHV0LWNoaWxkcmVuKSIpLmNsYXNzZWQoIm5vbi1pbnB1dCIsITApLmVhY2goZnVuY3Rpb24oRWEpe2thLnNlbGVjdEFsbChgW2RhdGEtbmFtZT0iJHtFYS5ub2RlLm5hbWV9Il1gKS5jbGFzc2VkKCJub24taW5wdXQiLCEwKX0pO2thLnNlbGVjdEFsbCgiZy5lZGdlOm5vdCguaW5wdXQtZWRnZS1oaWdobGlnaHQpIikuY2xhc3NlZCgibm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9fTtoLmdldFZpc2libGVQYXJlbnQ9YWF9KShmLm5vZGV8fChmLm5vZGU9e30pKX0pKGQuc2NlbmV8fChkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwKKGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vb3AuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Y2xhc3MgaHtpc05vdFRwdU9wKGspe3JldHVybi0xIT1rLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJjcHU6Iil8fC0xIT1rLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJncHU6Iik/ITA6LTE9PWsudG9Mb3dlckNhc2UoKS5zZWFyY2goInRwdSIpfW9wVmFsaWQoayl7cmV0dXJuIDA9PWsubmFtZS5zZWFyY2goZC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKXx8IWsub3B8fGsuZGV2aWNlJiZ0aGlzLmlzTm90VHB1T3Aoay5kZXZpY2UpfHxrLmRldmljZSYmLTEhPWsuZGV2aWNlLnNlYXJjaCgiVFBVX1NZU1RFTSIpPyEwOl8uaW5jbHVkZXMoaC5XSElURUxJU1Qsay5vcCl9fWguV0hJVEVMSVNUPSJBYnMgQWNvcyBBY29zaCBBZGQgQWRkTiBBZGp1c3RDb250cmFzdHYyIEFkanVzdEh1ZSBBZGp1c3RTYXR1cmF0aW9uIEFsbCBBbmdsZSBBbnkgQXBwcm94aW1hdGVFcXVhbCBBcmdNYXggQXJnTWluIEFzaW4gQXNpbmggQXNzZXJ0IEFzc2lnbkFkZFZhcmlhYmxlT3AgQXNzaWduU3ViVmFyaWFibGVPcCBBc3NpZ25WYXJpYWJsZU9wIEF0YW4gQXRhbjIgQXRhbmggQXZnUG9vbCBBdmdQb29sM0QgQXZnUG9vbDNER3JhZCBBdmdQb29sR3JhZCBCYXRjaE1hdE11bCBCYXRjaFRvU3BhY2UgQmF0Y2hUb1NwYWNlTkQgQmlhc0FkZCBCaWFzQWRkR3JhZCBCaWFzQWRkVjEgQml0Y2FzdCBCaXR3aXNlQW5kIEJpdHdpc2VPciBCaXR3aXNlWG9yIEJyb2FkY2FzdEFyZ3MgQnJvYWRjYXN0R3JhZGllbnRBcmdzIEJ1Y2tldGl6ZSBDYXN0IENlaWwgQ2hlY2tOdW1lcmljcyBDaG9sZXNreSBDbGlwQnlWYWx1ZSBDb21wbGV4IENvbXBsZXhBYnMgQ29uY2F0IENvbmNhdE9mZnNldCBDb25jYXRWMiBDb25qIENvbmp1Z2F0ZVRyYW5zcG9zZSBDb25zdCBDb250cm9sVHJpZ2dlciBDb252MkQgQ29udjJEQmFja3Byb3BGaWx0ZXIgQ29udjJEQmFja3Byb3BJbnB1dCBDb252M0QgQ29udjNEQmFja3Byb3BGaWx0ZXJWMiBDb252M0RCYWNrcHJvcElucHV0VjIgQ29zIENvc2ggQ3Jvc3MgQ3Jvc3NSZXBsaWNhU3VtIEN1bXByb2QgQ3Vtc3VtIERlcHRoVG9TcGFjZSBEZXB0aHdpc2VDb252MmROYXRpdmUgRGVwdGh3aXNlQ29udjJkTmF0aXZlQmFja3Byb3BGaWx0ZXIgRGVwdGh3aXNlQ29udjJkTmF0aXZlQmFja3Byb3BJbnB1dCBEaWFnIERpYWdQYXJ0IERpZ2FtbWEgRGl2IER5bmFtaWNTdGl0Y2ggRWx1IEVsdUdyYWQgRW1wdHkgRXF1YWwgRXJmIEVyZmMgRXhwIEV4cGFuZERpbXMgRXhwbTEgRXh0cmFjdEltYWdlUGF0Y2hlcyBGRlQgRkZUMkQgRkZUM0QgRmFrZVF1YW50V2l0aE1pbk1heEFyZ3MgRmFrZVF1YW50V2l0aE1pbk1heEFyZ3NHcmFkaWVudCBGYWtlUXVhbnRXaXRoTWluTWF4VmFycyBGYWtlUXVhbnRXaXRoTWluTWF4VmFyc0dyYWRpZW50IEZpbGwgRmxvb3IgRmxvb3JEaXYgRmxvb3JNb2QgRnVzZWRCYXRjaE5vcm0gRnVzZWRCYXRjaE5vcm1HcmFkIEZ1c2VkQmF0Y2hOb3JtR3JhZFYyIEZ1c2VkQmF0Y2hOb3JtVjIgR2F0aGVyIEdhdGhlck5kIEdhdGhlclYyIEdldEl0ZW0gR3JlYXRlciBHcmVhdGVyRXF1YWwgSFNWVG9SR0IgSUZGVCBJRkZUMkQgSUZGVDNEIElSRkZUIElSRkZUMkQgSVJGRlQzRCBJZGVudGl0eSBJZGVudGl0eU4gSWYgSW1hZyBJbmZlZWREZXF1ZXVlIEluZmVlZERlcXVldWVUdXBsZSBJbnBsYWNlQWRkIElucGxhY2VVcGRhdGUgSW52IEludmVydCBJbnZlcnRQZXJtdXRhdGlvbiBJc0Zpbml0ZSBJc0luZiBJc05hbiBMMkxvc3MgTFJOIExSTkdyYWQgTGVmdFNoaWZ0IExlc3MgTGVzc0VxdWFsIExnYW1tYSBMaW5TcGFjZSBMaXN0RGlmZiBMb2cgTG9nMXAgTG9nU29mdG1heCBMb2dpY2FsQW5kIExvZ2ljYWxOb3QgTG9naWNhbE9yIE1hdE11bCBNYXRyaXhCYW5kUGFydCBNYXRyaXhEaWFnIE1hdHJpeERpYWdQYXJ0IE1hdHJpeFNldERpYWcgTWF0cml4VHJpYW5ndWxhclNvbHZlIE1heCBNYXhQb29sIE1heFBvb2wzRCBNYXhQb29sM0RHcmFkIE1heFBvb2wzREdyYWRHcmFkIE1heFBvb2xHcmFkIE1heFBvb2xHcmFkR3JhZCBNYXhQb29sR3JhZEdyYWRWMiBNYXhQb29sR3JhZFYyIE1heFBvb2xWMiBNYXhpbXVtIE1lYW4gTWluIE1pbmltdW0gTWlycm9yUGFkIE1vZCBNdWwgTXVsdGlub21pYWwgTmVnIE5vT3AgTm9uTWF4U3VwcHJlc3Npb25WNCBOb3RFcXVhbCBPbmVIb3QgT25lc0xpa2UgT3V0ZmVlZEVucXVldWUgT3V0ZmVlZEVucXVldWVUdXBsZSBQYWNrIFBhZCBQYWRWMiBQYXJhbGxlbER5bmFtaWNTdGl0Y2ggUGxhY2Vob2xkZXJXaXRoRGVmYXVsdCBQb3cgUHJldmVudEdyYWRpZW50IFByb2QgUXIgUXVhbnRpemVBbmREZXF1YW50aXplVjIgUXVhbnRpemVBbmREZXF1YW50aXplVjMgUkZGVCBSRkZUMkQgUkZGVDNEIFJHQlRvSFNWIFJhbmRvbVNodWZmbGUgUmFuZG9tU3RhbmRhcmROb3JtYWwgUmFuZG9tVW5pZm9ybSBSYW5kb21Vbmlmb3JtSW50IFJhbmdlIFJhbmsgUmVhZFZhcmlhYmxlT3AgUmVhbCBSZWFsRGl2IFJlY2lwcm9jYWwgUmVjaXByb2NhbEdyYWQgUmVjdlRQVUVtYmVkZGluZ0FjdGl2YXRpb25zIFJlbHUgUmVsdTYgUmVsdTZHcmFkIFJlbHVHcmFkIFJlc2hhcGUgUmVzaXplQmlsaW5lYXIgUmVzaXplQmlsaW5lYXJHcmFkIFJlc291cmNlQXBwbHlBZGFNYXggUmVzb3VyY2VBcHBseUFkYWRlbHRhIFJlc291cmNlQXBwbHlBZGFncmFkIFJlc291cmNlQXBwbHlBZGFncmFkREEgUmVzb3VyY2VBcHBseUFkYW0gUmVzb3VyY2VBcHBseUFkZFNpZ24gUmVzb3VyY2VBcHBseUNlbnRlcmVkUk1TUHJvcCBSZXNvdXJjZUFwcGx5RnRybCBSZXNvdXJjZUFwcGx5RnRybFYyIFJlc291cmNlQXBwbHlHcmFkaWVudERlc2NlbnQgUmVzb3VyY2VBcHBseU1vbWVudHVtIFJlc291cmNlQXBwbHlQb3dlclNpZ24gUmVzb3VyY2VBcHBseVByb3hpbWFsQWRhZ3JhZCBSZXNvdXJjZUFwcGx5UHJveGltYWxHcmFkaWVudERlc2NlbnQgUmVzb3VyY2VBcHBseVJNU1Byb3AgUmVzb3VyY2VHYXRoZXIgUmVzb3VyY2VTY2F0dGVyQWRkIFJlc291cmNlU2NhdHRlckRpdiBSZXNvdXJjZVNjYXR0ZXJNYXggUmVzb3VyY2VTY2F0dGVyTWluIFJlc291cmNlU2NhdHRlck11bCBSZXNvdXJjZVNjYXR0ZXJOZEFkZCBSZXNvdXJjZVNjYXR0ZXJOZFVwZGF0ZSBSZXNvdXJjZVNjYXR0ZXJTdWIgUmVzb3VyY2VTY2F0dGVyVXBkYXRlIFJlc291cmNlU3RyaWRlZFNsaWNlQXNzaWduIFJldmVyc2UgUmV2ZXJzZVNlcXVlbmNlIFJldmVyc2VWMiBSaWdodFNoaWZ0IFJpbnQgUm91bmQgUnNxcnQgUnNxcnRHcmFkIFNjYXR0ZXJOZCBTZWxlY3QgU2VsdSBTZWx1R3JhZCBTZW5kVFBVRW1iZWRkaW5nR3JhZGllbnRzIFNoYXBlIFNoYXBlTiBTaWdtb2lkIFNpZ21vaWRHcmFkIFNpZ24gU2luIFNpbmggU2l6ZSBTbGljZSBTbmFwc2hvdCBTb2Z0bWF4IFNvZnRtYXhDcm9zc0VudHJvcHlXaXRoTG9naXRzIFNvZnRwbHVzIFNvZnRwbHVzR3JhZCBTb2Z0c2lnbiBTb2Z0c2lnbkdyYWQgU3BhY2VUb0JhdGNoIFNwYWNlVG9CYXRjaE5EIFNwYWNlVG9EZXB0aCBTcGFyc2VNYXRNdWwgU3BhcnNlU29mdG1heENyb3NzRW50cm9weVdpdGhMb2dpdHMgU3BhcnNlVG9EZW5zZSBTcGxpdCBTcGxpdFYgU3FydCBTcXJ0R3JhZCBTcXVhcmUgU3F1YXJlZERpZmZlcmVuY2UgU3F1ZWV6ZSBTdGFja0Nsb3NlVjIgU3RhY2tQb3BWMiBTdGFja1B1c2hWMiBTdGFja1YyIFN0YXRlbGVzc0lmIFN0YXRlbGVzc1JhbmRvbU5vcm1hbCBTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtIFN0YXRlbGVzc1RydW5jYXRlZE5vcm1hbCBTdGF0ZWxlc3NXaGlsZSBTdG9wR3JhZGllbnQgU3RyaWRlZFNsaWNlIFN0cmlkZWRTbGljZUdyYWQgU3ViIFN1bSBTeW1ib2xpY0dyYWRpZW50IFRQVUVtYmVkZGluZ0FjdGl2YXRpb25zIFRhbiBUYW5oIFRhbmhHcmFkIFRlbnNvckFycmF5Q2xvc2VWMyBUZW5zb3JBcnJheUNvbmNhdFYzIFRlbnNvckFycmF5R2F0aGVyVjMgVGVuc29yQXJyYXlHcmFkVjMgVGVuc29yQXJyYXlSZWFkVjMgVGVuc29yQXJyYXlTY2F0dGVyVjMgVGVuc29yQXJyYXlTaXplVjMgVGVuc29yQXJyYXlTcGxpdFYzIFRlbnNvckFycmF5VjMgVGVuc29yQXJyYXlXcml0ZVYzIFRpbGUgVG9wS1YyIFRyYW5zcG9zZSBUcnVuY2F0ZURpdiBUcnVuY2F0ZU1vZCBUcnVuY2F0ZWROb3JtYWwgVW5wYWNrIFVuc29ydGVkU2VnbWVudE1heCBVbnNvcnRlZFNlZ21lbnRNaW4gVW5zb3J0ZWRTZWdtZW50UHJvZCBVbnNvcnRlZFNlZ21lbnRTdW0gVmFySXNJbml0aWFsaXplZE9wIFZhcmlhYmxlU2hhcGUgV2hpbGUgWGxhRHluYW1pY1VwZGF0ZVNsaWNlIFhsYUhvc3RDb21wdXRlIFhsYUlmIFhsYVJlY3YgWGxhUmVkdWNlV2luZG93IFhsYVNlbmQgWGxhU29ydCBYbGFXaGlsZSBaZXJvc0xpa2UgRW50ZXIgRXhpdCBMb29wQ29uZCBNZXJnZSBOZXh0SXRlcmF0aW9uIFN3aXRjaCBfQXJnIF9QYXJhbGxlbENvbmNhdFVwZGF0ZSBfUmV0dmFsIF9UUFVDb21waWxlIF9UUFVFeGVjdXRlIFRQVUNvbXBpbGF0aW9uUmVzdWx0IFRQVVJlcGxpY2F0ZWRJbnB1dCBUUFVSZXBsaWNhdGVkT3V0cHV0IFRQVVJlcGxpY2F0ZU1ldGFkYXRhIE1lcmdlVjJDaGVja3BvaW50cyBSZXN0b3JlVjIgU2F2ZVYyIEFib3J0IEFzc2VydCBBc3NpZ24gUGxhY2Vob2xkZXIgUGxhY2Vob2xkZXJWMiBTaGFyZGVkRmlsZW5hbWUgU3RyaW5nSm9pbiBWYXJpYWJsZSBWYXJpYWJsZVYyIFZhckhhbmRsZU9wIEF1ZGlvU3VtbWFyeSBBdWRpb1N1bW1hcnlWMiBEZWJ1Z051bWVyaWNTdW1tYXJ5IEhpc3RvZ3JhbVN1bW1hcnkgSW1hZ2VTdW1tYXJ5IE1lcmdlU3VtbWFyeSBTY2FsYXJTdW1tYXJ5IFN0YXRzQWdncmVnYXRvclN1bW1hcnkiLnNwbGl0KCIgIik7CmYuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyPWg7Zi5jaGVja09wc0ZvckNvbXBhdGliaWxpdHk9ZnVuY3Rpb24oayxyKXtpZihudWxsPT09cil0aHJvdyBFcnJvcigiQ29tcGF0aWJpbGl0eSBwcm92aWRlciByZXF1aXJlZCwgYnV0IGdvdDogIityKTtfLmVhY2goay5ub2RlcyxsPT57bC5jb21wYXRpYmxlPXIub3BWYWxpZChsKTtfLmVhY2gobC5pbkVtYmVkZGluZ3MscD0+e3AuY29tcGF0aWJsZT1yLm9wVmFsaWQocCl9KTtfLmVhY2gobC5vdXRFbWJlZGRpbmdzLHA9PntwLmNvbXBhdGlibGU9ci5vcFZhbGlkKHApfSl9KX19KShkLm9wfHwoZC5vcD17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vcGFyc2VyLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgodSl7aWYoInRydWUiPT09dSlyZXR1cm4hMDtpZigiZmFsc2UiPT09dSlyZXR1cm4hMTtpZignIic9PT11WzBdKXJldHVybiB1LnN1YnN0cmluZygxLHUubGVuZ3RoLTEpO2xldCB3PXBhcnNlRmxvYXQodSk7cmV0dXJuIGlzTmFOKHcpP3U6d31mdW5jdGlvbiBrKHUpe3JldHVybiBuZXcgUHJvbWlzZSgodyxBKT0+e2ZldGNoKHUpLnRoZW4oeT0+e3kub2s/eS5hcnJheUJ1ZmZlcigpLnRoZW4odyxBKTp5LnRleHQoKS50aGVuKEEsQSl9KX0pfWZ1bmN0aW9uIHIodSx3LEE9MUU2LHk9IlxuIil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHgsQyl7ZnVuY3Rpb24gRyhELEIsSCl7dmFyIEs9SD49dS5ieXRlTGVuZ3RoO0I9Qi5zcGxpdCh5KTtCWzBdPUQrQlswXTtjb25zdCBMPUs/IiI6Qi5wb3AoKTtmb3IobGV0IEogb2YgQil0cnl7dyhKKX1jYXRjaChPKXtDKE8pO3JldHVybn1LP3goITApOgooRD1uZXcgQmxvYihbdS5zbGljZShILEgrQSldKSxLPW5ldyBGaWxlUmVhZGVyLEsub25sb2FkPWZ1bmN0aW9uKEope0coTCxKLnRhcmdldC5yZXN1bHQsSCtBKX0sSy5yZWFkQXNUZXh0KEQpKX1HKCIiLCIiLDApfSl9ZnVuY3Rpb24gbCh1KXtyZXR1cm4gbSh1LG4pfWZ1bmN0aW9uIHAodSl7cmV0dXJuIG0odSxxKS50aGVuKHc9Pncuc3RlcF9zdGF0cyl9ZnVuY3Rpb24gbSh1LHcpe2Z1bmN0aW9uIEEoQil7bGV0IEg9Qi5pbmRleE9mKCI6IiksSz1CLnN1YnN0cmluZygwLEgpLnRyaW0oKTtCPWgoQi5zdWJzdHJpbmcoSCsyKS50cmltKCkpO3JldHVybntuYW1lOkssdmFsdWU6Qn19ZnVuY3Rpb24geShCLEgsSyxMKXtsZXQgSj1CW0hdO251bGw9PUo/QltIXT1MLmpvaW4oIi4iKWluIHc/W0tdOks6QXJyYXkuaXNBcnJheShKKT9KLnB1c2goSyk6QltIXT1bSixLXX1sZXQgeD17fSxDPVtdLEc9W10sRD14O3JldHVybiByKHUsZnVuY3Rpb24oQil7aWYoQilzd2l0Y2goQj1CLnRyaW0oKSwKQltCLmxlbmd0aC0xXSl7Y2FzZSAieyI6Qj1CLnN1YnN0cmluZygwLEIubGVuZ3RoLTIpLnRyaW0oKTtsZXQgSD17fTtDLnB1c2goRCk7Ry5wdXNoKEIpO3koRCxCLEgsRyk7RD1IO2JyZWFrO2Nhc2UgIn0iOkQ9Qy5wb3AoKTtHLnBvcCgpO2JyZWFrO2RlZmF1bHQ6Qj1BKEIpLHkoRCxCLm5hbWUsQi52YWx1ZSxHLmNvbmNhdChCLm5hbWUpKX19KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHh9KX1mLmZldGNoUGJUeHQ9aztmLmZldGNoQW5kUGFyc2VNZXRhZGF0YT1mdW5jdGlvbih1LHcpe3JldHVybiBiLmdyYXBoLnV0aWwucnVuVGFzaygoKT0+bnVsbD09dT9Qcm9taXNlLnJlc29sdmUobnVsbCk6ayh1KSx3KS50aGVuKEE9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Byb21pc2VUYXNrKCJQYXJzaW5nIG1ldGFkYXRhLnBidHh0Iiw2MCwoKT0+bnVsbCE9QT9wKEEpOlByb21pc2UucmVzb2x2ZShudWxsKSx3KSl9O2YuZmV0Y2hBbmRQYXJzZUdyYXBoRGF0YT1mdW5jdGlvbih1LHcsQSl7cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Byb21pc2VUYXNrKCJSZWFkaW5nIGdyYXBoIHBidHh0IiwKNDAsKCk9Pnc/bmV3IFByb21pc2UoZnVuY3Rpb24oeSx4KXtsZXQgQz1uZXcgRmlsZVJlYWRlcjtDLm9ubG9hZD0oKT0+eShDLnJlc3VsdCk7Qy5vbmVycm9yPSgpPT54KEMuZXJyb3IpO0MucmVhZEFzQXJyYXlCdWZmZXIodyl9KTprKHUpLEEpLnRoZW4oeT0+Yi5ncmFwaC51dGlsLnJ1bkFzeW5jUHJvbWlzZVRhc2soIlBhcnNpbmcgZ3JhcGgucGJ0eHQiLDYwLCgpPT5sKHkpLEEpKX07Zi5zdHJlYW1QYXJzZT1yO2NvbnN0IG49eyJsaWJyYXJ5LmZ1bmN0aW9uIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuaW5wdXQiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5iIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LmZ1bmMiOiEwLAoibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuaSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnMiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5zaGFwZSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnNoYXBlLmRpbSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnRlbnNvciI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnR5cGUiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUuc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLnRlbnNvci5zdHJpbmdfdmFsIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLnRlbnNvci50ZW5zb3Jfc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5zaWduYXR1cmUuaW5wdXRfYXJnIjohMCwKImxpYnJhcnkuZnVuY3Rpb24uc2lnbmF0dXJlLm91dHB1dF9hcmciOiEwLCJsaWJyYXJ5LnZlcnNpb25zIjohMCxub2RlOiEwLCJub2RlLmlucHV0IjohMCwibm9kZS5hdHRyIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuYiI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmYiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5mdW5jIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuaSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnMiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zaGFwZSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnNoYXBlLmRpbSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnRlbnNvciI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnR5cGUiOiEwLCJub2RlLmF0dHIudmFsdWUuc2hhcGUuZGltIjohMCwibm9kZS5hdHRyLnZhbHVlLnRlbnNvci5zdHJpbmdfdmFsIjohMCwibm9kZS5hdHRyLnZhbHVlLnRlbnNvci50ZW5zb3Jfc2hhcGUuZGltIjohMH0scT17InN0ZXBfc3RhdHMuZGV2X3N0YXRzIjohMCwKInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMiOiEwLCJzdGVwX3N0YXRzLmRldl9zdGF0cy5ub2RlX3N0YXRzLm91dHB1dCI6ITAsInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMubWVtb3J5IjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cy5vdXRwdXQudGVuc29yX2Rlc2NyaXB0aW9uLnNoYXBlLmRpbSI6ITB9O2YucGFyc2VHcmFwaFBiVHh0PWw7Zi5wYXJzZVN0YXRzUGJUeHQ9cH0pKGQucGFyc2VyfHwoZC5wYXJzZXI9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3Byb3RvLmpzCgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3JlbmRlci5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtmdW5jdGlvbiBoKE4sUixYLGFhLGZhKXtSPW5ldyBIKFIsWCxhYSxmYSwhMCk7Ti5pbkFubm90YXRpb25zLnB1c2goUil9ZnVuY3Rpb24gayhOLFIsWCxhYSxmYSl7Uj1uZXcgSChSLFgsYWEsZmEsITEpO04ub3V0QW5ub3RhdGlvbnMucHVzaChSKX1mdW5jdGlvbiByKE4sUil7Xy5lYWNoKE4ubm9kZXMoKSxYPT57WD1OLm5vZGUoWCk7WC5leHBhbmRlZD0xPFI7aWYoMDxSKXN3aXRjaChYLm5vZGUudHlwZSl7Y2FzZSBkLk5vZGVUeXBlLk1FVEE6Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpsKFgsUi0xKX19KX1mdW5jdGlvbiBsKE4sUil7Ti5jb3JlR3JhcGgmJnIoTi5jb3JlR3JhcGgsUil9ZnVuY3Rpb24gcChOLFIsWCl7bGV0IGFhPU4ubm9kZShSKSxmYT1OLm5vZGUoWCksb2E9Ti5lZGdlKFIsWCk7aWYoYWEubm9kZS5pbmNsdWRlIT09ZC5JbmNsdXNpb25UeXBlLklOQ0xVREUmJmZhLm5vZGUuaW5jbHVkZSE9PWQuSW5jbHVzaW9uVHlwZS5JTkNMVURFfHwKYWEubm9kZS5pbmNsdWRlPT09ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREV8fGZhLm5vZGUuaW5jbHVkZT09PWQuSW5jbHVzaW9uVHlwZS5FWENMVURFKWsoYWEsZmEubm9kZSxmYSxvYSxLLlNIT1JUQ1VUKSxoKGZhLGFhLm5vZGUsYWEsb2EsSy5TSE9SVENVVCksTi5yZW1vdmVFZGdlKFIsWCl9ZnVuY3Rpb24gbShOLFIsWCl7bGV0IGFhPU4uY29yZUdyYXBoLGZhPWFhLm5vZGUoUik7ZmEuaXNPdXRFeHRyYWN0PSEwO18uZWFjaChhYS5wcmVkZWNlc3NvcnMoUiksb2E9PntwKGFhLG9hLFIpfSk7KEcuZGV0YWNoQWxsRWRnZXNGb3JIaWdoRGVncmVlfHxYKSYmXy5lYWNoKGFhLnN1Y2Nlc3NvcnMoUiksb2E9PntwKGFhLFIsb2EpfSk7MD09PWFhLm5laWdoYm9ycyhSKS5sZW5ndGgmJihmYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsTi5pc29sYXRlZE91dEV4dHJhY3QucHVzaChmYSksYWEucmVtb3ZlTm9kZShSKSl9ZnVuY3Rpb24gbihOLFIsWCl7bGV0IGFhPU4uY29yZUdyYXBoLApmYT1hYS5ub2RlKFIpO2ZhLmlzSW5FeHRyYWN0PSEwO18uZWFjaChhYS5zdWNjZXNzb3JzKFIpLG9hPT57cChhYSxSLG9hKX0pOyhHLmRldGFjaEFsbEVkZ2VzRm9ySGlnaERlZ3JlZXx8WCkmJl8uZWFjaChhYS5wcmVkZWNlc3NvcnMoUiksb2E9PntwKGFhLG9hLFIpfSk7MD09PWFhLm5laWdoYm9ycyhSKS5sZW5ndGgmJihmYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGZhKSxhYS5yZW1vdmVOb2RlKFIpKX1mdW5jdGlvbiBxKE4sUil7aWYoTi50eXBlPT09ZC5Ob2RlVHlwZS5PUClmb3IodmFyIFg9MDtYPFIubGVuZ3RoO1grKyl7aWYoTi5vcD09PVJbWF0pcmV0dXJuITB9ZWxzZSBpZihOLnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEmJihOPU4uZ2V0Um9vdE9wKCkpKWZvcihYPTA7WDxSLmxlbmd0aDtYKyspaWYoTi5vcD09PVJbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdShOKXtsZXQgUj1OLmNvcmVHcmFwaDsKXy5lYWNoKFIubm9kZXMoKSxYPT57Ui5ub2RlKFgpLm5vZGUuaW5jbHVkZSE9PWQuSW5jbHVzaW9uVHlwZS5FWENMVURFfHxYLnN0YXJ0c1dpdGgoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKXx8KE4uY29yZUdyYXBoLm91dEVkZ2VzKFgpLmxlbmd0aD5OLmNvcmVHcmFwaC5pbkVkZ2VzKFgpLmxlbmd0aD9tKE4sWCwhMCk6bihOLFgsITApKX0pfWZ1bmN0aW9uIHcoTil7bGV0IFI9Ti5jb3JlR3JhcGg7Xy5lYWNoKFIubm9kZXMoKSxYPT57bGV0IGFhPVIubm9kZShYKTthYS5ub2RlLmluY2x1ZGU9PT1kLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUQmJnEoYWEubm9kZSxHLm91dEV4dHJhY3RUeXBlcykmJm0oTixYKX0pfWZ1bmN0aW9uIEEoTil7bGV0IFI9Ti5jb3JlR3JhcGg7Xy5lYWNoKFIubm9kZXMoKSxYPT57bGV0IGFhPVIubm9kZShYKTthYS5ub2RlLmluY2x1ZGU9PT1kLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUQmJnEoYWEubm9kZSxHLmluRXh0cmFjdFR5cGVzKSYmCm4oTixYKX0pfWZ1bmN0aW9uIHkoTil7bGV0IFI9Ti5jb3JlR3JhcGgsWD17fSxhYT17fSxmYT0wO18uZWFjaChSLm5vZGVzKCksa2E9PntpZihSLm5vZGUoa2EpLm5vZGUuaW5jbHVkZT09PWQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCl7dmFyIFc9Xy5yZWR1Y2UoUi5wcmVkZWNlc3NvcnMoa2EpLCh2YSx5YSk9Pnt5YT1SLmVkZ2UoeWEsa2EpLm1ldGFlZGdlO3JldHVybiB2YSsoeWEubnVtUmVndWxhckVkZ2VzPzE6MCl9LDApOzA9PT1XJiYwPFIucHJlZGVjZXNzb3JzKGthKS5sZW5ndGgmJihXPVIucHJlZGVjZXNzb3JzKGthKS5sZW5ndGgpO3ZhciBFYT1fLnJlZHVjZShSLnN1Y2Nlc3NvcnMoa2EpLCh2YSx5YSk9Pnt5YT1SLmVkZ2Uoa2EseWEpLm1ldGFlZGdlO3JldHVybiB2YSsoeWEubnVtUmVndWxhckVkZ2VzPzE6MCl9LDApOzA9PT1FYSYmMDxSLnN1Y2Nlc3NvcnMoa2EpLmxlbmd0aCYmKEVhPVIuc3VjY2Vzc29ycyhrYSkubGVuZ3RoKTtYW2thXT1XO2FhW2thXT1FYTsKZmErK319KTtpZighKGZhPEcubWluTm9kZUNvdW50Rm9yRXh0cmFjdGlvbikpe3ZhciBvYT1HLm1pbkRlZ3JlZUZvckV4dHJhY3Rpb24tMSxaPU1hdGgucm91bmQoLjc1KmZhKSxjYT1NYXRoLnJvdW5kKC4yNSpmYSksamE9T2JqZWN0LmtleXMoWCkuc29ydCgoa2EsVyk9Plhba2FdLVhbV10pLGJhPVhbamFbWl1dO2JhPWJhK2JhLVhbamFbY2FdXTtiYT1NYXRoLm1heChiYSxvYSk7Zm9yKGxldCBrYT1mYS0xO1hbamFba2FdXT5iYTtrYS0tKW4oTixqYVtrYV0pO2phPU9iamVjdC5rZXlzKGFhKS5zb3J0KChrYSxXKT0+YWFba2FdLWFhW1ddKTtaPWFhW2phW1pdXTtjYT1aKzQqKFotYWFbamFbY2FdXSk7Y2E9TWF0aC5tYXgoY2Esb2EpO2ZvcihvYT1mYS0xO2FhW2phW29hXV0+Y2E7b2EtLSkoWj1SLm5vZGUoamFbb2FdKSkmJiFaLmlzSW5FeHRyYWN0JiZtKE4samFbb2FdKX19ZnVuY3Rpb24geChOKXtsZXQgUj1OLmNvcmVHcmFwaCxYPXt9O18uZWFjaChSLmVkZ2VzKCksYWE9PntSLmVkZ2UoYWEpLm1ldGFlZGdlLm51bVJlZ3VsYXJFZGdlc3x8CigoWFthYS52XT1YW2FhLnZdfHxbXSkucHVzaChhYSksKFhbYWEud109WFthYS53XXx8W10pLnB1c2goYWEpKX0pO18uZWFjaChYLGFhPT57YWEubGVuZ3RoPkcubWF4Q29udHJvbERlZ3JlZSYmXy5lYWNoKGFhLGZhPT5wKFIsZmEudixmYS53KSl9KX1mdW5jdGlvbiBDKE4pe3UoTik7Ry5vdXRFeHRyYWN0VHlwZXMmJncoTik7Ry5pbkV4dHJhY3RUeXBlcyYmQShOKTt5KE4pO0cubWF4Q29udHJvbERlZ3JlZSYmeChOKTtsZXQgUj1OLmNvcmVHcmFwaDtfLmVhY2goUi5ub2RlcygpLFg9PntsZXQgYWE9Ui5ub2RlKFgpO3ZhciBmYT1SLm5laWdoYm9ycyhYKS5sZW5ndGg7aWYoYWEubm9kZS5pbmNsdWRlPT09ZC5JbmNsdXNpb25UeXBlLlVOU1BFQ0lGSUVEJiYwPT09ZmEpe2ZhPTA8YWEub3V0QW5ub3RhdGlvbnMubGlzdC5sZW5ndGg7bGV0IG9hPTA8YWEuaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aDthYS5pc0luRXh0cmFjdD8oTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9CmQuSW5jbHVzaW9uVHlwZS5FWENMVURFLFIucmVtb3ZlTm9kZShYKSk6YWEuaXNPdXRFeHRyYWN0PyhOLmlzb2xhdGVkT3V0RXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsUi5yZW1vdmVOb2RlKFgpKTpHLmV4dHJhY3RJc29sYXRlZE5vZGVzV2l0aEFubm90YXRpb25zT25PbmVTaWRlJiYoZmEmJiFvYT8oYWEuaXNJbkV4dHJhY3Q9ITAsTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsUi5yZW1vdmVOb2RlKFgpKTpvYSYmIWZhJiYoYWEuaXNPdXRFeHRyYWN0PSEwLE4uaXNvbGF0ZWRPdXRFeHRyYWN0LnB1c2goYWEpLGFhLm5vZGUuaW5jbHVkZT1kLkluY2x1c2lvblR5cGUuRVhDTFVERSxSLnJlbW92ZU5vZGUoWCkpKX19KX1mLk9wTm9kZUNvbG9ycz17REVGQVVMVF9GSUxMOiIjZmZmZmZmIixERUZBVUxUX1NUUk9LRToiI2IyYjJiMiIsQ09NUEFUSUJMRToiIzBmOWQ1OCIsCklOQ09NUEFUSUJMRToiI2RiNDQzNyJ9O2YuTWV0YW5vZGVDb2xvcnM9e0RFRkFVTFRfRklMTDoiI2Q5ZDlkOSIsREVGQVVMVF9TVFJPS0U6IiNhNmE2YTYiLFNBVFVSQVRJT046LjYsTElHSFRORVNTOi44NSxFWFBBTkRFRF9DT0xPUjoiI2YwZjBmMCIsSFVFUzpbMjIwLDEwMCwxODAsNDAsMjAsMzQwLDI2MCwzMDAsMTQwLDYwXSxTVFJVQ1RVUkVfUEFMRVRURShOLFIpe3ZhciBYPWYuTWV0YW5vZGVDb2xvcnMuSFVFUztOPVhbTiVYLmxlbmd0aF07WD1NYXRoLnNpbihOKk1hdGguUEkvMzYwKTtyZXR1cm4gZDMuaHNsKE4sLjAxKihSPzMwOjkwLTYwKlgpLC4wMSooUj85NTo4MCkpLnRvU3RyaW5nKCl9LERFVklDRV9QQUxFVFRFKE4pe3JldHVybiBmLk1ldGFub2RlQ29sb3JzLlNUUlVDVFVSRV9QQUxFVFRFKE4pfSxYTEFfQ0xVU1RFUl9QQUxFVFRFKE4pe3JldHVybiBmLk1ldGFub2RlQ29sb3JzLlNUUlVDVFVSRV9QQUxFVFRFKE4pfSxVTktOT1dOOiIjZWVlIixHUkFESUVOVF9PVVRMSU5FOiIjODg4In07CmYuU2VyaWVzTm9kZUNvbG9ycz17REVGQVVMVF9GSUxMOiJ3aGl0ZSIsREVGQVVMVF9TVFJPS0U6IiNiMmIyYjIifTtjb25zdCBHPXtlbmFibGVFeHRyYWN0aW9uOiEwLG1pbk5vZGVDb3VudEZvckV4dHJhY3Rpb246MTUsbWluRGVncmVlRm9yRXh0cmFjdGlvbjo1LG1heENvbnRyb2xEZWdyZWU6NCxtYXhCcmlkZ2VQYXRoRGVncmVlOjQsb3V0RXh0cmFjdFR5cGVzOlsiTm9PcCJdLGluRXh0cmFjdFR5cGVzOltdLGRldGFjaEFsbEVkZ2VzRm9ySGlnaERlZ3JlZTohMCxleHRyYWN0SXNvbGF0ZWROb2Rlc1dpdGhBbm5vdGF0aW9uc09uT25lU2lkZTohMCxlbmFibGVCcmlkZ2VncmFwaDohMCxtaW5NYXhDb2xvcnM6WyIjZmZmNWYwIiwiI2ZiNmE0YSJdLG1heEFubm90YXRpb25zOjV9LEQ9bmV3IFJlZ0V4cCgiXig/OiIrYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKyIpPyhcXHcrKV9bYS16MC05XXs4fSg/Ol9cXGQrKT8kIik7Y2xhc3MgQntjb25zdHJ1Y3RvcihOLApSKXt0aGlzLmhpZXJhcmNoeT1OO3RoaXMuZGlzcGxheWluZ1N0YXRzPVI7dGhpcy5pbmRleD17fTt0aGlzLnJlbmRlcmVkT3BOYW1lcz1bXTt0aGlzLmNvbXB1dGVTY2FsZXMoKTt0aGlzLmhhc1N1YmhpZXJhcmNoeT17fTt0aGlzLnJvb3Q9bmV3IFMoTi5yb290LE4uZ3JhcGhPcHRpb25zKTt0aGlzLmluZGV4W04ucm9vdC5uYW1lXT10aGlzLnJvb3Q7dGhpcy5yZW5kZXJlZE9wTmFtZXMucHVzaChOLnJvb3QubmFtZSk7dGhpcy5idWlsZFN1YmhpZXJhcmNoeShOLnJvb3QubmFtZSk7dGhpcy5yb290LmV4cGFuZGVkPSEwO3RoaXMudHJhY2VJbnB1dHM9ITF9Y29tcHV0ZVNjYWxlcygpe3RoaXMuZGV2aWNlQ29sb3JNYXA9ZDMuc2NhbGVPcmRpbmFsKCkuZG9tYWluKHRoaXMuaGllcmFyY2h5LmRldmljZXMpLnJhbmdlKF8ubWFwKGQzLnJhbmdlKHRoaXMuaGllcmFyY2h5LmRldmljZXMubGVuZ3RoKSxmLk1ldGFub2RlQ29sb3JzLkRFVklDRV9QQUxFVFRFKSk7dGhpcy54bGFDbHVzdGVyQ29sb3JNYXA9CmQzLnNjYWxlT3JkaW5hbCgpLmRvbWFpbih0aGlzLmhpZXJhcmNoeS54bGFDbHVzdGVycykucmFuZ2UoXy5tYXAoZDMucmFuZ2UodGhpcy5oaWVyYXJjaHkueGxhQ2x1c3RlcnMubGVuZ3RoKSxmLk1ldGFub2RlQ29sb3JzLlhMQV9DTFVTVEVSX1BBTEVUVEUpKTtsZXQgTj10aGlzLmhpZXJhcmNoeS5yb290Lm1ldGFncmFwaDt2YXIgUj1kMy5tYXgoTi5ub2RlcygpLFg9PntYPU4ubm9kZShYKTtpZihudWxsIT1YLnN0YXRzKXJldHVybiBYLnN0YXRzLnRvdGFsQnl0ZXN9KTt0aGlzLm1lbW9yeVVzYWdlU2NhbGU9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsUl0pLnJhbmdlKEcubWluTWF4Q29sb3JzKTtSPWQzLm1heChOLm5vZGVzKCksWD0+e1g9Ti5ub2RlKFgpO2lmKG51bGwhPVguc3RhdHMpcmV0dXJuIFguc3RhdHMuZ2V0VG90YWxNaWNyb3MoKX0pO3RoaXMuY29tcHV0ZVRpbWVTY2FsZT1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMCxSXSkucmFuZ2UoRy5taW5NYXhDb2xvcnMpOwp0aGlzLmVkZ2VXaWR0aFNpemVkQmFzZWRTY2FsZT10aGlzLmhpZXJhcmNoeS5oYXNTaGFwZUluZm8/ZC5zY2VuZS5lZGdlLkVER0VfV0lEVEhfU0laRV9CQVNFRF9TQ0FMRTpkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMSx0aGlzLmhpZXJhcmNoeS5tYXhNZXRhRWRnZVNpemVdKS5yYW5nZShbZC5zY2VuZS5lZGdlLk1JTl9FREdFX1dJRFRILGQuc2NlbmUuZWRnZS5NQVhfRURHRV9XSURUSF0pfWdldFJlbmRlck5vZGVCeU5hbWUoTil7cmV0dXJuIHRoaXMuaW5kZXhbTl19Z2V0Tm9kZUJ5TmFtZShOKXtyZXR1cm4gdGhpcy5oaWVyYXJjaHkubm9kZShOKX1jb2xvckhpc3RvZ3JhbShOLFIpe2lmKDA8T2JqZWN0LmtleXMoTikubGVuZ3RoKXtjb25zdCBYPV8uc3VtKE9iamVjdC5rZXlzKE4pLm1hcChhYT0+TlthYV0pKTtyZXR1cm4gT2JqZWN0LmtleXMoTikubWFwKGFhPT4oe2NvbG9yOlIoYWEpLHByb3BvcnRpb246TlthYV0vWH0pKX1jb25zb2xlLmluZm8oIm5vIHBhaXJzIGZvdW5kISIpOwpyZXR1cm4gbnVsbH1nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUoTil7aWYoIU4pcmV0dXJuIG51bGw7aWYoTiBpbiB0aGlzLmluZGV4KXJldHVybiB0aGlzLmluZGV4W05dO3ZhciBSPXRoaXMuaGllcmFyY2h5Lm5vZGUoTik7aWYoIVIpcmV0dXJuIG51bGw7bGV0IFg9Ui5pc0dyb3VwTm9kZT9uZXcgUyhSLHRoaXMuaGllcmFyY2h5LmdyYXBoT3B0aW9ucyk6bmV3IEooUik7dGhpcy5pbmRleFtOXT1YO3RoaXMucmVuZGVyZWRPcE5hbWVzLnB1c2goTik7Ui5zdGF0cyYmKFgubWVtb3J5Q29sb3I9dGhpcy5tZW1vcnlVc2FnZVNjYWxlKFIuc3RhdHMudG90YWxCeXRlcyksWC5jb21wdXRlVGltZUNvbG9yPXRoaXMuY29tcHV0ZVRpbWVTY2FsZShSLnN0YXRzLmdldFRvdGFsTWljcm9zKCkpKTtYLmlzRmFkZWRPdXQ9dGhpcy5kaXNwbGF5aW5nU3RhdHMmJiFiLmdyYXBoLnV0aWwuaGFzRGlzcGxheWFibGVOb2RlU3RhdHMoUi5zdGF0cyk7dmFyIGFhPW51bGwsZmE9bnVsbCxvYT1udWxsOwppZihSLmlzR3JvdXBOb2RlKXthYT1SLmRldmljZUhpc3RvZ3JhbTtmYT1SLnhsYUNsdXN0ZXJIaXN0b2dyYW07dmFyIFo9Ui5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU7Uj1SLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlO2lmKDAhPVp8fDAhPVIpb2E9Wi8oWitSKX1lbHNlKFo9WC5ub2RlLmRldmljZSkmJihhYT17W1pdOjF9KSwoWj1YLm5vZGUueGxhQ2x1c3RlcikmJihmYT17W1pdOjF9KSxYLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuT1AmJihvYT1YLm5vZGUuY29tcGF0aWJsZT8xOjApO2FhJiYoWC5kZXZpY2VDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShhYSx0aGlzLmRldmljZUNvbG9yTWFwKSk7ZmEmJihYLnhsYUNsdXN0ZXJDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShmYSx0aGlzLnhsYUNsdXN0ZXJDb2xvck1hcCkpO251bGwhPW9hJiYoWC5jb21wYXRpYmlsaXR5Q29sb3JzPVt7Y29sb3I6Yi5ncmFwaC5yZW5kZXIuT3BOb2RlQ29sb3JzLkNPTVBBVElCTEUsCnByb3BvcnRpb246b2F9LHtjb2xvcjpiLmdyYXBoLnJlbmRlci5PcE5vZGVDb2xvcnMuSU5DT01QQVRJQkxFLHByb3BvcnRpb246MS1vYX1dKTtyZXR1cm4gdGhpcy5pbmRleFtOXX1nZXROZWFyZXN0VmlzaWJsZUFuY2VzdG9yKE4pe3ZhciBSPWQuZ2V0SGllcmFyY2hpY2FsUGF0aChOKTtsZXQgWD0wLGFhPW51bGw7Zm9yKDtYPFIubGVuZ3RoJiYoTj1SW1hdLGFhPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZShOKSxhYS5leHBhbmRlZCk7WCsrKTtyZXR1cm4gWD09Ui5sZW5ndGgtMiYmKFI9UltYKzFdLGFhLmluQW5ub3RhdGlvbnMubm9kZU5hbWVzW1JdfHxhYS5vdXRBbm5vdGF0aW9ucy5ub2RlTmFtZXNbUl0pP1I6Tn1zZXREZXB0aChOKXtsKHRoaXMucm9vdCwrTil9aXNOb2RlQXV4aWxpYXJ5KE4pe2xldCBSPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZShOLm5vZGUucGFyZW50Tm9kZS5uYW1lKSxYPV8uZmluZChSLmlzb2xhdGVkSW5FeHRyYWN0LGFhPT5hYS5ub2RlLm5hbWU9PT0KTi5ub2RlLm5hbWUpO2lmKFgpcmV0dXJuITA7WD1fLmZpbmQoUi5pc29sYXRlZE91dEV4dHJhY3QsYWE9PmFhLm5vZGUubmFtZT09PU4ubm9kZS5uYW1lKTtyZXR1cm4hIVh9Z2V0TmFtZXNPZlJlbmRlcmVkT3BzKCl7cmV0dXJuIHRoaXMucmVuZGVyZWRPcE5hbWVzfWNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUoTixSLFgsYWEpe3ZhciBmYT1YLm5hbWUucmVwbGFjZShSLGFhKTtsZXQgb2E9Ti5tZXRhZ3JhcGgubm9kZShmYSk7aWYob2EpcmV0dXJuIG9hO29hPW5ldyBkLk9wTm9kZUltcGwoe25hbWU6ZmEsaW5wdXQ6W10sZGV2aWNlOlguZGV2aWNlLG9wOlgub3AsYXR0cjpfLmNsb25lRGVlcChYLmF0dHIpfSk7b2EuY2FyZGluYWxpdHk9WC5jYXJkaW5hbGl0eTtvYS5pbmNsdWRlPVguaW5jbHVkZTtvYS5vdXRwdXRTaGFwZXM9Xy5jbG9uZURlZXAoWC5vdXRwdXRTaGFwZXMpO29hLnhsYUNsdXN0ZXI9WC54bGFDbHVzdGVyO29hLmZ1bmN0aW9uSW5wdXRJbmRleD1YLmZ1bmN0aW9uSW5wdXRJbmRleDsKb2EuZnVuY3Rpb25PdXRwdXRJbmRleD1YLmZ1bmN0aW9uT3V0cHV0SW5kZXg7b2EuaW5wdXRzPVguaW5wdXRzLm1hcChaPT57Y29uc3QgY2E9Xy5jbG9uZShaKTtjYS5uYW1lPVoubmFtZS5yZXBsYWNlKFIsYWEpO3JldHVybiBjYX0pO29hLnBhcmVudE5vZGU9TjtOLm1ldGFncmFwaC5zZXROb2RlKG9hLm5hbWUsb2EpO3RoaXMuaGllcmFyY2h5LnNldE5vZGUob2EubmFtZSxvYSk7ZmE9Wj0+dGhpcy5jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKE4sUixaLGFhKTtvYS5pbkVtYmVkZGluZ3M9WC5pbkVtYmVkZGluZ3MubWFwKGZhKTtvYS5vdXRFbWJlZGRpbmdzPVgub3V0RW1iZWRkaW5ncy5tYXAoZmEpO3JldHVybiBvYX1jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlKE4sUixYLGFhLGZhKXtjb25zdCBvYT17fTtOPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZUhlbHBlcihOLFIsWCxhYSxmYSxvYSk7Xy5pc0VtcHR5KG9hKXx8dGhpcy5wYXRjaEVkZ2VzRnJvbUZ1bmN0aW9uT3V0cHV0cyhSLApvYSk7cmV0dXJuIE59Y2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZUhlbHBlcihOLFIsWCxhYSxmYSxvYSl7Y29uc3QgWj1iLmdyYXBoLmNyZWF0ZU1ldGFub2RlKFgubmFtZS5yZXBsYWNlKGFhLGZhKSk7Wi5kZXB0aD1YLmRlcHRoO1ouY2FyZGluYWxpdHk9WC5jYXJkaW5hbGl0eTtaLnRlbXBsYXRlSWQ9WC50ZW1wbGF0ZUlkO1oub3BIaXN0b2dyYW09Xy5jbG9uZShYLm9wSGlzdG9ncmFtKTtaLmRldmljZUhpc3RvZ3JhbT1fLmNsb25lKFguZGV2aWNlSGlzdG9ncmFtKTtaLnhsYUNsdXN0ZXJIaXN0b2dyYW09Xy5jbG9uZShYLnhsYUNsdXN0ZXJIaXN0b2dyYW0pO1ouaGFzTm9uQ29udHJvbEVkZ2VzPVguaGFzTm9uQ29udHJvbEVkZ2VzO1ouaW5jbHVkZT1YLmluY2x1ZGU7Wi5ub2RlQXR0cmlidXRlcz1fLmNsb25lKFgubm9kZUF0dHJpYnV0ZXMpO1ouYXNzb2NpYXRlZEZ1bmN0aW9uPVguYXNzb2NpYXRlZEZ1bmN0aW9uO18uZWFjaChYLm1ldGFncmFwaC5ub2RlcygpLGNhPT4Ke2NhPVgubWV0YWdyYXBoLm5vZGUoY2EpO3N3aXRjaChjYS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuTUVUQTpjYT10aGlzLmNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGVIZWxwZXIoTixSLGNhLGFhLGZhLG9hKTtjYS5wYXJlbnROb2RlPVo7Wi5tZXRhZ3JhcGguc2V0Tm9kZShjYS5uYW1lLGNhKTt0aGlzLmhpZXJhcmNoeS5zZXROb2RlKGNhLm5hbWUsY2EpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5PUDpjYT10aGlzLmNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUoWixhYSxjYSxmYSk7Xy5pc051bWJlcihjYS5mdW5jdGlvbklucHV0SW5kZXgpJiZ0aGlzLnBhdGNoRWRnZXNJbnRvRnVuY3Rpb25JbnB1dHMoUixjYSk7Xy5pc051bWJlcihjYS5mdW5jdGlvbk91dHB1dEluZGV4KSYmKG9hW2NhLmZ1bmN0aW9uT3V0cHV0SW5kZXhdPWNhKTticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybihjYS5uYW1lKyIgaXMgb2RkbHkgbmVpdGhlciBhIG1ldGFub2RlIG5vciBhbiBvcG5vZGUuIil9fSk7CnRoaXMuY2xvbmVMaWJyYXJ5TWV0YW5vZGVFZGdlcyhYLFosYWEsZmEpO3JldHVybiBafWNsb25lTGlicmFyeU1ldGFub2RlRWRnZXMoTixSLFgsYWEpe18uZWFjaChOLm1ldGFncmFwaC5lZGdlcygpLGZhPT57ZmE9Ti5tZXRhZ3JhcGguZWRnZShmYSk7Y29uc3Qgb2E9ZmEudi5yZXBsYWNlKFgsYWEpLFo9ZmEudy5yZXBsYWNlKFgsYWEpLGNhPW5ldyBkLk1ldGFlZGdlSW1wbChvYSxaKTtjYS5pbmJvdW5kPWZhLmluYm91bmQ7Y2EubnVtUmVndWxhckVkZ2VzPWZhLm51bVJlZ3VsYXJFZGdlcztjYS5udW1Db250cm9sRWRnZXM9ZmEubnVtQ29udHJvbEVkZ2VzO2NhLm51bVJlZkVkZ2VzPWZhLm51bVJlZkVkZ2VzO2NhLnRvdGFsU2l6ZT1mYS50b3RhbFNpemU7ZmEuYmFzZUVkZ2VMaXN0JiYoY2EuYmFzZUVkZ2VMaXN0PWZhLmJhc2VFZGdlTGlzdC5tYXAoamE9Pntjb25zdCBiYT1fLmNsb25lKGphKTtiYS52PWphLnYucmVwbGFjZShYLGFhKTtiYS53PWphLncucmVwbGFjZShYLGFhKTsKcmV0dXJuIGJhfSkpO1IubWV0YWdyYXBoLm5vZGUoWik/Ui5tZXRhZ3JhcGguc2V0RWRnZShvYSxaLGNhKTpSLm1ldGFncmFwaC5zZXRFZGdlKFosb2EsY2EpfSl9cGF0Y2hFZGdlc0ludG9GdW5jdGlvbklucHV0cyhOLFIpe2xldCBYPU1hdGgubWluKFIuZnVuY3Rpb25JbnB1dEluZGV4LE4uaW5wdXRzLmxlbmd0aC0xKTtmb3IodmFyIGFhPV8uY2xvbmUoTi5pbnB1dHNbWF0pO2FhLmlzQ29udHJvbERlcGVuZGVuY3k7KVgrKyxhYT1OLmlucHV0c1tYXTtSLmlucHV0cy5wdXNoKGFhKTthYT10aGlzLmhpZXJhcmNoeS5nZXRQcmVkZWNlc3NvcnMoTi5uYW1lKTtsZXQgZmEsb2E9MDtfLmVhY2goYWEucmVndWxhcixaPT57b2ErPVoubnVtUmVndWxhckVkZ2VzO2lmKG9hPlgpcmV0dXJuIGZhPVosITF9KTtfLmVhY2goZmEuYmFzZUVkZ2VMaXN0LFo9PntaLnc9PT1OLm5hbWUmJihaLnc9Ui5uYW1lKTtaLnY9PT1OLm5hbWUmJihaLnY9Ui5uYW1lKX0pfXBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKE4sClIpe2NvbnN0IFg9dGhpcy5oaWVyYXJjaHkuZ2V0U3VjY2Vzc29ycyhOLm5hbWUpO18uZWFjaChYLnJlZ3VsYXIsYWE9PntfLmVhY2goYWEuYmFzZUVkZ2VMaXN0LGZhPT57Y29uc3Qgb2E9dGhpcy5oaWVyYXJjaHkubm9kZShmYS53KTtfLmVhY2gob2EuaW5wdXRzLFo9PntaLm5hbWU9PT1OLm5hbWUmJihaLm5hbWU9UltaLm91dHB1dFRlbnNvcktleV0ubmFtZSxaLm91dHB1dFRlbnNvcktleT1mYS5vdXRwdXRUZW5zb3JLZXkpfSl9KTtfLmVhY2goYWEuYmFzZUVkZ2VMaXN0LGZhPT57ZmEudj1SW2ZhLm91dHB1dFRlbnNvcktleV0ubmFtZTtmYS5vdXRwdXRUZW5zb3JLZXk9IjAifSl9KX1idWlsZFN1YmhpZXJhcmNoeShOKXtpZighKE4gaW4gdGhpcy5oYXNTdWJoaWVyYXJjaHkpKXt0aGlzLmhhc1N1YmhpZXJhcmNoeVtOXT0hMDt2YXIgUj10aGlzLmluZGV4W05dO2lmKFIubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBfHxSLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuU0VSSUVTKXt2YXIgWD0KUi5ub2RlLm1ldGFncmFwaCxhYT1SLmNvcmVHcmFwaCxmYT1bXSxvYT1bXTtfLmlzRW1wdHkodGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9ucyl8fChfLmVhY2goWC5ub2RlcygpLHlhPT57Y29uc3QgQWE9WC5ub2RlKHlhKSxGYT10aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW0FhLm9wXTtGYSYmMCE9PXlhLmluZGV4T2YoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKSYmKHlhPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZShYLEFhLEZhLm5vZGUsRmEubm9kZS5uYW1lLEFhLm5hbWUpLGZhLnB1c2goQWEpLG9hLnB1c2goeWEpKX0pLF8uZWFjaChvYSwoeWEsQWEpPT57QWE9ZmFbQWFdO3lhLnBhcmVudE5vZGU9QWEucGFyZW50Tm9kZTtYLnNldE5vZGUoQWEubmFtZSx5YSk7dGhpcy5oaWVyYXJjaHkuc2V0Tm9kZShBYS5uYW1lLHlhKX0pKTtfLmVhY2goWC5ub2RlcygpLHlhPT57bGV0IEFhPXRoaXMuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHlhKSwKRmE9QWEubm9kZTthYS5zZXROb2RlKHlhLEFhKTtGYS5pc0dyb3VwTm9kZXx8KF8uZWFjaChGYS5pbkVtYmVkZGluZ3MseGE9PntsZXQgU2E9bmV3IE8obnVsbCksWGE9bmV3IEooeGEpO2goQWEseGEsWGEsU2EsSy5DT05TVEFOVCk7dGhpcy5pbmRleFt4YS5uYW1lXT1YYX0pLF8uZWFjaChGYS5vdXRFbWJlZGRpbmdzLHhhPT57bGV0IFNhPW5ldyBPKG51bGwpLFhhPW5ldyBKKHhhKTtrKEFhLHhhLFhhLFNhLEsuU1VNTUFSWSk7dGhpcy5pbmRleFt4YS5uYW1lXT1YYX0pKX0pO18uZWFjaChYLmVkZ2VzKCkseWE9Pnt2YXIgQWE9WC5lZGdlKHlhKTtBYT1uZXcgTyhBYSk7QWEuaXNGYWRlZE91dD10aGlzLmluZGV4W3lhLnZdLmlzRmFkZWRPdXR8fHRoaXMuaW5kZXhbeWEud10uaXNGYWRlZE91dDthYS5zZXRFZGdlKHlhLnYseWEudyxBYSl9KTtHLmVuYWJsZUV4dHJhY3Rpb24mJlIubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiZDKFIpO18uaXNFbXB0eSh0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zKXx8CnRoaXMuYnVpbGRTdWJoaWVyYXJjaGllc0Zvck5lZWRlZEZ1bmN0aW9ucyhYKTtOPT09Yi5ncmFwaC5ST09UX05BTUUmJl8uZm9yT3duKHRoaXMuaGllcmFyY2h5LmxpYnJhcnlGdW5jdGlvbnMseWE9Pnt5YT15YS5ub2RlO2NvbnN0IEFhPXRoaXMuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHlhLm5hbWUpO1IubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QucHVzaChBYSk7QWEubm9kZS5pbmNsdWRlPWQuSW5jbHVzaW9uVHlwZS5FWENMVURFO2FhLnJlbW92ZU5vZGUoeWEubmFtZSl9KTt2YXIgWj1SLm5vZGUucGFyZW50Tm9kZTtpZihaKXt2YXIgY2E9dGhpcy5pbmRleFtaLm5hbWVdLGphPSh5YSwuLi5BYSk9PkFhLmNvbmNhdChbeWE/IklOIjoiT1VUIl0pLmpvaW4oIn5+IiksYmE9dGhpcy5oaWVyYXJjaHkuZ2V0QnJpZGdlZ3JhcGgoTiksa2E9e30sVz17fSxFYT17fTtfLmVhY2goYmEuZWRnZXMoKSx5YT0+e2xldCBBYT0hIVgubm9kZSh5YS53KSxGYT1BYT95YS52OnlhLnc7YmEuZWRnZSh5YSkubnVtUmVndWxhckVkZ2VzPwpBYT9XW0ZhXT0oV1tGYV18fDApKzE6a2FbRmFdPShrYVtGYV18fDApKzE6RWFbRmFdPShFYVtGYV18fDApKzF9KTt2YXIgdmE9dGhpcy5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO18uZWFjaChiYS5lZGdlcygpLHlhPT57dmFyIEFhPWJhLmVkZ2UoeWEpO2xldCBGYT0hIVgubm9kZSh5YS53KSxbeGEsU2FdPUZhP1t5YS53LHlhLnZdOlt5YS52LHlhLnddO3ZhciBYYT10aGlzLmluZGV4W3hhXSx1Yj10aGlzLmluZGV4W1NhXSxCYj11Yj91Yi5ub2RlOnZhW1NhXSxxYj0hQWEubnVtUmVndWxhckVkZ2VzJiZFYVtTYV0+Ry5tYXhDb250cm9sRGVncmVlLFssemJdPUZhP1tSLmluQW5ub3RhdGlvbnMsWGEuaW5Bbm5vdGF0aW9uc106W1Iub3V0QW5ub3RhdGlvbnMsWGEub3V0QW5ub3RhdGlvbnNdO2xldCB2Yj0oRmE/VzprYSlbU2FdPkcubWF4QnJpZGdlUGF0aERlZ3JlZTt5YT1udWxsO3ZhciBHYj0hMTtHLmVuYWJsZUJyaWRnZWdyYXBoJiYhdmImJiFxYiYmWGEuaXNJbkNvcmUoKSYmKEdiPQpPYj0+Y2EuY29yZUdyYXBoLmVkZ2UoRmE/e3Y6T2IsdzpOfTp7djpOLHc6T2J9KSwoeWE9R2IoU2EpKXx8KHlhPUdiKGphKEZhLFNhLFoubmFtZSkpKSxHYj0hIXlhKTtYYT0hMTtpZih5YSYmIUFhLm51bVJlZ3VsYXJFZGdlcyl7WGE9eWE7Zm9yKHFiPWNhLm5vZGU7WGEuYWRqb2luaW5nTWV0YWVkZ2U7KVhhPVhhLmFkam9pbmluZ01ldGFlZGdlLHFiPXFiLnBhcmVudE5vZGU7cWI9dGhpcy5oaWVyYXJjaHkuZ2V0VG9wb2xvZ2ljYWxPcmRlcmluZyhxYi5uYW1lKTtYYT1YYS5tZXRhZWRnZTtYYT1xYltYYS52XT5xYltYYS53XX1HYiYmIVhhPyhCYj1qYShGYSxOKSx1Yj1qYShGYSxTYSxOKSx6Yj1hYS5ub2RlKHViKSx6Ynx8KEdiPWFhLm5vZGUoQmIpLEdifHwoR2I9bmV3IEooe25hbWU6QmIsdHlwZTpkLk5vZGVUeXBlLkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eTowLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ZC5JbmNsdXNpb25UeXBlLlVOU1BFQ0lGSUVELAppbmJvdW5kOkZhLG5vZGVBdHRyaWJ1dGVzOnt9fSksdGhpcy5pbmRleFtCYl09R2IsYWEuc2V0Tm9kZShCYixHYikpLHpiPW5ldyBKKHtuYW1lOnViLHR5cGU6ZC5Ob2RlVHlwZS5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCxpbmJvdW5kOkZhLG5vZGVBdHRyaWJ1dGVzOnt9fSksdGhpcy5pbmRleFt1Yl09emIsYWEuc2V0Tm9kZSh1Yix6YiksYWEuc2V0UGFyZW50KHViLEJiKSxHYi5ub2RlLmNhcmRpbmFsaXR5KyspLEFhPW5ldyBPKEFhKSxBYS5hZGpvaW5pbmdNZXRhZWRnZT15YSxGYT9hYS5zZXRFZGdlKHViLHhhLEFhKTphYS5zZXRFZGdlKHhhLHViLEFhKSk6emIucHVzaChuZXcgSChCYix1YixuZXcgTyhBYSksSy5TSE9SVENVVCxGYSkpfSk7Xy5lYWNoKFshMCwhMV0seWE9PntsZXQgQWE9amEoeWEsTiksRmE9YWEubm9kZShBYSk7RmEmJl8uZWFjaChhYS5ub2RlcygpLAp4YT0+e2lmKGFhLm5vZGUoeGEpLm5vZGUudHlwZSE9PWQuTm9kZVR5cGUuQlJJREdFJiYoeWE/IWFhLnByZWRlY2Vzc29ycyh4YSkubGVuZ3RoOiFhYS5zdWNjZXNzb3JzKHhhKS5sZW5ndGgpKXt2YXIgU2E9amEoeWEsTiwiU1RSVUNUVVJBTF9UQVJHRVQiKSxYYT1hYS5ub2RlKFNhKTtYYXx8KFhhPW5ldyBKKHtuYW1lOlNhLHR5cGU6ZC5Ob2RlVHlwZS5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCxpbmJvdW5kOnlhLG5vZGVBdHRyaWJ1dGVzOnt9fSksWGEuc3RydWN0dXJhbD0hMCx0aGlzLmluZGV4W1NhXT1YYSxhYS5zZXROb2RlKFNhLFhhKSxGYS5ub2RlLmNhcmRpbmFsaXR5KyssYWEuc2V0UGFyZW50KFNhLEFhKSk7WGE9bmV3IE8obnVsbCk7WGEuc3RydWN0dXJhbD0hMDtYYS53ZWlnaHQtLTt5YT9hYS5zZXRFZGdlKFNhLHhhLFhhKTphYS5zZXRFZGdlKHhhLApTYSxYYSl9fSl9KX19fX1idWlsZFN1YmhpZXJhcmNoaWVzRm9yTmVlZGVkRnVuY3Rpb25zKE4pe18uZWFjaChOLmVkZ2VzKCksUj0+e1I9Ti5lZGdlKFIpO1I9bmV3IE8oUik7Xy5mb3JFYWNoKFIubWV0YWVkZ2UuYmFzZUVkZ2VMaXN0LFg9Pnt2YXIgYWE9WC52LnNwbGl0KGIuZ3JhcGguTkFNRVNQQUNFX0RFTElNKTtmb3IodmFyIGZhPWFhLmxlbmd0aDswPD1mYTtmYS0tKXtYPWFhLnNsaWNlKDAsZmEpO2NvbnN0IG9hPXRoaXMuaGllcmFyY2h5Lm5vZGUoWC5qb2luKGIuZ3JhcGguTkFNRVNQQUNFX0RFTElNKSk7aWYob2Epe2lmKG9hLnR5cGU9PT1kLk5vZGVUeXBlLk9QJiZ0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW29hLm9wXSlmb3IoYWE9MTthYTxYLmxlbmd0aDthYSsrKShmYT1YLnNsaWNlKDAsYWEpLmpvaW4oYi5ncmFwaC5OQU1FU1BBQ0VfREVMSU0pKSYmdGhpcy5idWlsZFN1YmhpZXJhcmNoeShmYSk7YnJlYWt9fX0pfSl9fWYuUmVuZGVyR3JhcGhJbmZvPUI7CmNsYXNzIEh7Y29uc3RydWN0b3IoTixSLFgsYWEsZmEpe3RoaXMubm9kZT1OO3RoaXMucmVuZGVyTm9kZUluZm89Ujt0aGlzLnJlbmRlck1ldGFlZGdlSW5mbz1YO3RoaXMuYW5ub3RhdGlvblR5cGU9YWE7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD10aGlzLmR5PXRoaXMuZHg9MDtYJiZYLm1ldGFlZGdlJiYodGhpcy52PVgubWV0YWVkZ2Uudix0aGlzLnc9WC5tZXRhZWRnZS53KTt0aGlzLmlzSW49ZmE7dGhpcy5wb2ludHM9W119fWYuQW5ub3RhdGlvbj1IO2xldCBLOyhmdW5jdGlvbihOKXtOW04uU0hPUlRDVVQ9MF09IlNIT1JUQ1VUIjtOW04uQ09OU1RBTlQ9MV09IkNPTlNUQU5UIjtOW04uU1VNTUFSWT0yXT0iU1VNTUFSWSI7TltOLkVMTElQU0lTPTNdPSJFTExJUFNJUyJ9KShLPWYuQW5ub3RhdGlvblR5cGV8fChmLkFubm90YXRpb25UeXBlPXt9KSk7Y2xhc3MgTHtjb25zdHJ1Y3Rvcigpe3RoaXMubGlzdD1bXTt0aGlzLm5vZGVOYW1lcz17fX1wdXNoKE4pe2lmKCEoTi5ub2RlLm5hbWUgaW4KdGhpcy5ub2RlTmFtZXMpKWlmKHRoaXMubm9kZU5hbWVzW04ubm9kZS5uYW1lXT0hMCx0aGlzLmxpc3QubGVuZ3RoPEcubWF4QW5ub3RhdGlvbnMpdGhpcy5saXN0LnB1c2goTik7ZWxzZXt2YXIgUj10aGlzLmxpc3RbdGhpcy5saXN0Lmxlbmd0aC0xXTtSLmFubm90YXRpb25UeXBlPT09Sy5FTExJUFNJUz8oTj1SLm5vZGUsTi5zZXROdW1Nb3JlTm9kZXMoKytOLm51bU1vcmVOb2RlcykpOihSPW5ldyBiLmdyYXBoLkVsbGlwc2lzTm9kZUltcGwoMSksdGhpcy5saXN0LnB1c2gobmV3IEgoUixuZXcgSihSKSxudWxsLEsuRUxMSVBTSVMsTi5pc0luKSkpfX19Zi5Bbm5vdGF0aW9uTGlzdD1MO2NsYXNzIEp7Y29uc3RydWN0b3IoTil7dGhpcy5ub2RlPU47dGhpcy5leHBhbmRlZD0hMTt0aGlzLmluQW5ub3RhdGlvbnM9bmV3IEw7dGhpcy5vdXRBbm5vdGF0aW9ucz1uZXcgTDt0aGlzLm91dGJveFdpZHRoPXRoaXMuaW5ib3hXaWR0aD10aGlzLmhlaWdodD10aGlzLndpZHRoPXRoaXMueT10aGlzLng9CjA7dGhpcy5zdHJ1Y3R1cmFsPXRoaXMuZXhjbHVkZWQ9ITE7dGhpcy5wYWRkaW5nQm90dG9tPXRoaXMucGFkZGluZ1JpZ2h0PXRoaXMucGFkZGluZ0xlZnQ9dGhpcy5wYWRkaW5nVG9wPXRoaXMubGFiZWxIZWlnaHQ9dGhpcy5yYWRpdXM9dGhpcy5sYWJlbE9mZnNldD0wO3RoaXMuaXNPdXRFeHRyYWN0PXRoaXMuaXNJbkV4dHJhY3Q9ITE7dGhpcy5jb3JlQm94PXt3aWR0aDowLGhlaWdodDowfTt0aGlzLmlzRmFkZWRPdXQ9ITE7dGhpcy5kaXNwbGF5TmFtZT1OLm5hbWUuc3Vic3RyaW5nKE4ubmFtZS5sYXN0SW5kZXhPZihiLmdyYXBoLk5BTUVTUEFDRV9ERUxJTSkrMSk7Ti50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiZOLmFzc29jaWF0ZWRGdW5jdGlvbiYmKChOPXRoaXMuZGlzcGxheU5hbWUubWF0Y2goRCkpP3RoaXMuZGlzcGxheU5hbWU9TlsxXTpfLnN0YXJ0c1dpdGgodGhpcy5kaXNwbGF5TmFtZSxiLmdyYXBoLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgpJiYodGhpcy5kaXNwbGF5TmFtZT0KdGhpcy5kaXNwbGF5TmFtZS5zdWJzdHJpbmcoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYLmxlbmd0aCkpKX1pc0luQ29yZSgpe3JldHVybiF0aGlzLmlzSW5FeHRyYWN0JiYhdGhpcy5pc091dEV4dHJhY3QmJiF0aGlzLmlzTGlicmFyeUZ1bmN0aW9ufX1mLlJlbmRlck5vZGVJbmZvPUo7Y2xhc3MgT3tjb25zdHJ1Y3RvcihOKXt0aGlzLm1ldGFlZGdlPU47dGhpcy5hZGpvaW5pbmdNZXRhZWRnZT1udWxsO3RoaXMuc3RydWN0dXJhbD0hMTt0aGlzLndlaWdodD0xO3RoaXMuaXNGYWRlZE91dD0hMX19Zi5SZW5kZXJNZXRhZWRnZUluZm89TztjbGFzcyBTIGV4dGVuZHMgSntjb25zdHJ1Y3RvcihOLFIpe3N1cGVyKE4pO049Ti5tZXRhZ3JhcGguZ3JhcGgoKTtSLmNvbXBvdW5kPSEwO3RoaXMuY29yZUdyYXBoPWQuY3JlYXRlR3JhcGgoTi5uYW1lLGQuR3JhcGhUeXBlLkNPUkUsUik7dGhpcy5pbkV4dHJhY3RCb3g9e3dpZHRoOjAsaGVpZ2h0OjB9O3RoaXMub3V0RXh0cmFjdEJveD0Ke3dpZHRoOjAsaGVpZ2h0OjB9O3RoaXMubGlicmFyeUZ1bmN0aW9uc0JveD17d2lkdGg6MCxoZWlnaHQ6MH07dGhpcy5pc29sYXRlZEluRXh0cmFjdD1bXTt0aGlzLmlzb2xhdGVkT3V0RXh0cmFjdD1bXTt0aGlzLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0PVtdfX1mLlJlbmRlckdyb3VwTm9kZUluZm89UztmLm1ha2VJbkV4dHJhY3Q9bjtmLm1hcEluZGV4VG9IdWU9ZnVuY3Rpb24oTil7cmV0dXJuIDErNTc5LjI1NjE2Nzk3MjUqTiUzNTh9O2YuZXhwYW5kVW50aWxOb2RlSXNTaG93bj1mdW5jdGlvbihOLFIpe3ZhciBYPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2VuZSIpO1I9Ui5zcGxpdCgiLyIpO3ZhciBhYT1SW1IubGVuZ3RoLTFdLm1hdGNoKC8oLiopOlx3Ky8pOzI9PT1hYS5sZW5ndGgmJihSW1IubGVuZ3RoLTFdPWFhWzFdKTthYT1SWzBdO2xldCBmYT1OLmdldFJlbmRlck5vZGVCeU5hbWUoYWEpO2ZvcihsZXQgb2E9MTtvYTxSLmxlbmd0aCYmZmEubm9kZS50eXBlIT09CmIuZ3JhcGguTm9kZVR5cGUuT1A7b2ErKylOLmJ1aWxkU3ViaGllcmFyY2h5KGFhKSxmYS5leHBhbmRlZD0hMCxYLnNldE5vZGVFeHBhbmRlZChmYSksYWErPSIvIitSW29hXSxmYT1OLmdldFJlbmRlck5vZGVCeU5hbWUoYWEpO3JldHVybiBmYS5ub2RlLm5hbWV9fSkoZC5yZW5kZXJ8fChkLnJlbmRlcj17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vc2NlbmUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChxLHUsdyxBKXt2YXIgeT1rKHEsdSx3KTtpZigheS5lbXB0eSgpKXJldHVybiB5O3U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdSk7aWYodyBpbnN0YW5jZW9mIEFycmF5KWZvcih5PTA7eTx3Lmxlbmd0aDt5KyspdS5jbGFzc0xpc3QuYWRkKHdbeV0pO2Vsc2UgdS5jbGFzc0xpc3QuYWRkKHcpO0E/cS5ub2RlKCkuaW5zZXJ0QmVmb3JlKHUsQSk6cS5ub2RlKCkuYXBwZW5kQ2hpbGQodSk7cmV0dXJuIGQzLnNlbGVjdCh1KS5kYXR1bShxLmRhdHVtKCkpfWZ1bmN0aW9uIGsocSx1LHcpe3E9cS5ub2RlKCkuY2hpbGROb2Rlcztmb3IobGV0IEE9MDtBPHEubGVuZ3RoO0ErKyl7bGV0IHk9cVtBXTtpZih5LnRhZ05hbWU9PT11KWlmKHcgaW5zdGFuY2VvZiBBcnJheSl7bGV0IHg9ITA7Zm9yKGxldCBDPTA7Qzx3Lmxlbmd0aDtDKyspeD14JiZ5LmNsYXNzTGlzdC5jb250YWlucyh3W0NdKTsKaWYoeClyZXR1cm4gZDMuc2VsZWN0KHkpfWVsc2UgaWYoIXd8fHkuY2xhc3NMaXN0LmNvbnRhaW5zKHcpKXJldHVybiBkMy5zZWxlY3QoeSl9cmV0dXJuIGQzLnNlbGVjdChudWxsKX1mdW5jdGlvbiByKHEsdSl7bGV0IHc9dS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz8wOmQubGF5b3V0LlBBUkFNUy5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0O2woayhxLCJnIixmLkNsYXNzLlNjZW5lLkNPUkUpLDAsdyk7dmFyIEE9MDx1Lmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aCx5PTA8dS5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoO2xldCB4PTA8dS5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGgsQz1kLmxheW91dC5QQVJBTVMuc3Vic2NlbmUubWV0YS5leHRyYWN0WE9mZnNldCxHPTA7QSYmKEcrPXUub3V0RXh0cmFjdEJveC53aWR0aCk7eSYmKEcrPXUub3V0RXh0cmFjdEJveC53aWR0aCk7QSYmKEE9dS5jb3JlQm94LndpZHRoLEE9RzxkLmxheW91dC5NSU5fQVVYX1dJRFRIPwpBLWQubGF5b3V0Lk1JTl9BVVhfV0lEVEgrdS5pbkV4dHJhY3RCb3gud2lkdGgvMjpBLXUuaW5FeHRyYWN0Qm94LndpZHRoLzItdS5vdXRFeHRyYWN0Qm94LndpZHRoLSh5P0M6MCksQT1BLXUubGlicmFyeUZ1bmN0aW9uc0JveC53aWR0aC0oeD9DOjApLGwoayhxLCJnIixmLkNsYXNzLlNjZW5lLklORVhUUkFDVCksQSx3KSk7eSYmKHk9dS5jb3JlQm94LndpZHRoLHk9RzxkLmxheW91dC5NSU5fQVVYX1dJRFRIP3ktZC5sYXlvdXQuTUlOX0FVWF9XSURUSCt1Lm91dEV4dHJhY3RCb3gud2lkdGgvMjp5LXUub3V0RXh0cmFjdEJveC53aWR0aC8yLHk9eS11LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgtKHg/QzowKSxsKGsocSwiZyIsZi5DbGFzcy5TY2VuZS5PVVRFWFRSQUNUKSx5LHcpKTt4JiYodT11LmNvcmVCb3gud2lkdGgtdS5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoLzIsbChrKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSksdSx3KSl9ZnVuY3Rpb24gbChxLAp1LHcpe251bGwhPXEuYXR0cigidHJhbnNmb3JtIikmJihxPXEudHJhbnNpdGlvbigicG9zaXRpb24iKSk7cS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit1KyIsIit3KyIpIil9ZnVuY3Rpb24gcChxLHUpe3JldHVybiB1P3EudG9GaXhlZCgwKToxPD1NYXRoLmFicyhxKT9xLnRvRml4ZWQoMSk6cS50b0V4cG9uZW50aWFsKDEpfWZ1bmN0aW9uIG0ocSx1LHcsQSl7bGV0IHk9IkRldmljZTogIitxLmRldmljZV9uYW1lKyJcbiI7eSs9ImR0eXBlOiAiK3EuZHR5cGUrIlxuIjtsZXQgeD0iKHNjYWxhcikiOzA8cS5zaGFwZS5sZW5ndGgmJih4PSIoIitxLnNoYXBlLmpvaW4oIiwiKSsiKSIpO3k9eSsoIlxuc2hhcGU6ICIreCsiXG5cbiMoZWxlbWVudHMpOiAiKSsodSsiXG4iKTtxPVtdO2Zvcih1PTA7dTx3Lmxlbmd0aDt1KyspMDx3W3VdJiZxLnB1c2goIiMoIitmLmhlYWx0aFBpbGxFbnRyaWVzW3VdLmxhYmVsKyIpOiAiK3dbdV0pO3krPXEuam9pbigiLCAiKSsiXG5cbiI7QS5tYXg+PQpBLm1pbiYmKHkrPSJtaW46ICIrQS5taW4rIiwgbWF4OiAiK0EubWF4KyJcbiIseSs9Im1lYW46ICIrQS5tZWFuKyIsIHN0ZGRldjogIitBLnN0ZGRldik7cmV0dXJuIHl9ZnVuY3Rpb24gbihxLHUsdyxBLHk9NjAseD0xMCxDPTAsRyl7ZDMuc2VsZWN0KHEucGFyZW50Tm9kZSkuc2VsZWN0QWxsKCIuaGVhbHRoLXBpbGwiKS5yZW1vdmUoKTtpZih1KXt2YXIgRD11LnZhbHVlLEI9RC5zbGljZSgyLDgpLEg9QlswXSxLPUJbMV0sTD1CWzVdLEo9RFsxXSxPPXttaW46RFs4XSxtYXg6RFs5XSxtZWFuOkRbMTBdLHN0ZGRldjpNYXRoLnNxcnQoRFsxMV0pfTtudWxsPT15JiYoeT02MCk7bnVsbD09eCYmKHg9MTApO251bGw9PUMmJihDPTApO251bGwhPXcmJncubm9kZS50eXBlPT09Yi5ncmFwaC5Ob2RlVHlwZS5PUCYmKHkvPTIseC89Mik7RD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZi5TVkdfTkFNRVNQQUNFLCJnIik7RC5jbGFzc0xpc3QuYWRkKCJoZWFsdGgtcGlsbCIpO3ZhciBTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLlNWR19OQU1FU1BBQ0UsCiJkZWZzIik7RC5hcHBlbmRDaGlsZChTKTt2YXIgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZi5TVkdfTkFNRVNQQUNFLCJsaW5lYXJHcmFkaWVudCIpO0E9ImhlYWx0aC1waWxsLWdyYWRpZW50LSIrQTtOLnNldEF0dHJpYnV0ZSgiaWQiLEEpO3ZhciBSPTAsWD0iMCUiO2ZvcihsZXQgZmE9MDtmYTxCLmxlbmd0aDtmYSsrKWlmKEJbZmFdKXtSKz1CW2ZhXTt2YXIgYWE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwic3RvcCIpO2FhLnNldEF0dHJpYnV0ZSgib2Zmc2V0IixYKTthYS5zZXRBdHRyaWJ1dGUoInN0b3AtY29sb3IiLGYuaGVhbHRoUGlsbEVudHJpZXNbZmFdLmJhY2tncm91bmRfY29sb3IpO04uYXBwZW5kQ2hpbGQoYWEpO1g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwic3RvcCIpO2FhPTEwMCpSL0orIiUiO1guc2V0QXR0cmlidXRlKCJvZmZzZXQiLGFhKTtYLnNldEF0dHJpYnV0ZSgic3RvcC1jb2xvciIsZi5oZWFsdGhQaWxsRW50cmllc1tmYV0uYmFja2dyb3VuZF9jb2xvcik7Ck4uYXBwZW5kQ2hpbGQoWCk7WD1hYX1TLmFwcGVuZENoaWxkKE4pO1M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwicmVjdCIpO1Muc2V0QXR0cmlidXRlKCJmaWxsIiwidXJsKCMiK0ErIikiKTtTLnNldEF0dHJpYnV0ZSgid2lkdGgiLFN0cmluZyh5KSk7Uy5zZXRBdHRyaWJ1dGUoImhlaWdodCIsU3RyaW5nKHgpKTtTLnNldEF0dHJpYnV0ZSgieSIsU3RyaW5nKEMpKTtELmFwcGVuZENoaWxkKFMpO1M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwidGl0bGUiKTtTLnRleHRDb250ZW50PW0odSxKLEIsTyk7RC5hcHBlbmRDaGlsZChTKTt1PSExO2lmKG51bGwhPXcmJihTPXcueC15LzIseD13LnkteC13LmhlaWdodC8yLTIsMD53LmxhYmVsT2Zmc2V0JiYoeCs9dy5sYWJlbE9mZnNldCksRC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK1MrIiwgIit4KyIpIiksKEJbMl18fEJbM118fEJbNF0pJiYodz13Lm5vZGUuYXR0cikmJgp3Lmxlbmd0aCkpZm9yKEI9MDtCPHcubGVuZ3RoO0IrKylpZigiVCI9PT13W0JdLmtleSl7dT0odz13W0JdLnZhbHVlLnR5cGUpJiYvXkRUXyhCT09MfElOVHxVSU5UKS8udGVzdCh3KTticmVha313PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLlNWR19OQU1FU1BBQ0UsInRleHQiKTtpZihOdW1iZXIuaXNGaW5pdGUoTy5taW4pJiZOdW1iZXIuaXNGaW5pdGUoTy5tYXgpKXtpZihCPXAoTy5taW4sdSksTz1wKE8ubWF4LHUpLHcudGV4dENvbnRlbnQ9MTxKP0IrIiB+ICIrTzpCLDA8SHx8MDxLfHwwPEwpdy50ZXh0Q29udGVudCs9IiAoIixKPVtdLDA8SCYmSi5wdXNoKGBOYU5cdTAwZDcke0h9YCksMDxLJiZKLnB1c2goYC1cdTIyMWVcdTAwZDcke0t9YCksMDxMJiZKLnB1c2goYCtcdTIyMWVcdTAwZDcke0x9YCksdy50ZXh0Q29udGVudCs9Si5qb2luKCI7ICIpKyIpIn1lbHNlIHcudGV4dENvbnRlbnQ9IihObyBmaW5pdGUgZWxlbWVudHMpIjt3LmNsYXNzTGlzdC5hZGQoImhlYWx0aC1waWxsLXN0YXRzIik7Cm51bGw9PUcmJihHPXkvMik7dy5zZXRBdHRyaWJ1dGUoIngiLFN0cmluZyhHKSk7dy5zZXRBdHRyaWJ1dGUoInkiLFN0cmluZyhDLTIpKTtELmFwcGVuZENoaWxkKHcpO1BvbHltZXIuZG9tKHEucGFyZW50Tm9kZSkuYXBwZW5kQ2hpbGQoRCl9fWYuU1ZHX05BTUVTUEFDRT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2YuQ2xhc3M9e05vZGU6e0NPTlRBSU5FUjoibm9kZXMiLEdST1VQOiJub2RlIixTSEFQRToibm9kZXNoYXBlIixDT0xPUl9UQVJHRVQ6Im5vZGVjb2xvcnRhcmdldCIsTEFCRUw6Im5vZGVsYWJlbCIsQlVUVE9OX0NPTlRBSU5FUjoiYnV0dG9uY29udGFpbmVyIixCVVRUT05fQ0lSQ0xFOiJidXR0b25jaXJjbGUiLEVYUEFORF9CVVRUT046ImV4cGFuZGJ1dHRvbiIsQ09MTEFQU0VfQlVUVE9OOiJjb2xsYXBzZWJ1dHRvbiJ9LEVkZ2U6e0NPTlRBSU5FUjoiZWRnZXMiLEdST1VQOiJlZGdlIixMSU5FOiJlZGdlbGluZSIsUkVGRVJFTkNFX0VER0U6InJlZmVyZW5jZWVkZ2UiLApSRUZfTElORToicmVmbGluZSIsU0VMRUNUQUJMRToic2VsZWN0YWJsZWVkZ2UiLFNFTEVDVEVEOiJzZWxlY3RlZGVkZ2UiLFNUUlVDVFVSQUw6InN0cnVjdHVyYWwifSxBbm5vdGF0aW9uOntPVVRCT1g6Im91dC1hbm5vdGF0aW9ucyIsSU5CT1g6ImluLWFubm90YXRpb25zIixHUk9VUDoiYW5ub3RhdGlvbiIsTk9ERToiYW5ub3RhdGlvbi1ub2RlIixFREdFOiJhbm5vdGF0aW9uLWVkZ2UiLENPTlRST0xfRURHRToiYW5ub3RhdGlvbi1jb250cm9sLWVkZ2UiLExBQkVMOiJhbm5vdGF0aW9uLWxhYmVsIixFTExJUFNJUzoiYW5ub3RhdGlvbi1lbGxpcHNpcyJ9LFNjZW5lOntHUk9VUDoic2NlbmUiLENPUkU6ImNvcmUiLEZVTkNUSU9OX0xJQlJBUlk6ImZ1bmN0aW9uLWxpYnJhcnkiLElORVhUUkFDVDoiaW4tZXh0cmFjdCIsT1VURVhUUkFDVDoib3V0LWV4dHJhY3QifSxTdWJzY2VuZTp7R1JPVVA6InN1YnNjZW5lIn0sT1BOT0RFOiJvcCIsTUVUQU5PREU6Im1ldGEiLFNFUklFU05PREU6InNlcmllcyIsCkJSSURHRU5PREU6ImJyaWRnZSIsRUxMSVBTSVNOT0RFOiJlbGxpcHNpcyJ9O2YuaGVhbHRoUGlsbEVudHJpZXM9W3tiYWNrZ3JvdW5kX2NvbG9yOiIjQ0MyRjJDIixsYWJlbDoiTmFOIn0se2JhY2tncm91bmRfY29sb3I6IiNGRjhEMDAiLGxhYmVsOiItXHUyMjFlIn0se2JhY2tncm91bmRfY29sb3I6IiNFQUVBRUEiLGxhYmVsOiItIn0se2JhY2tncm91bmRfY29sb3I6IiNBNUE1QTUiLGxhYmVsOiIwIn0se2JhY2tncm91bmRfY29sb3I6IiMyNjI2MjYiLGxhYmVsOiIrIn0se2JhY2tncm91bmRfY29sb3I6IiMwMDNFRDQiLGxhYmVsOiIrXHUyMjFlIn1dO2YuZml0PWZ1bmN0aW9uKHEsdSx3LEEpe3ZhciB5PXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IHg9bnVsbDt0cnl7aWYoeD11LmdldEJCb3goKSwwPT09eC53aWR0aClyZXR1cm59Y2F0Y2goQyl7cmV0dXJufXU9ZC5sYXlvdXQuUEFSQU1TLmdyYXBoO3k9ZDMuem9vbUlkZW50aXR5LnNjYWxlKC45Kk1hdGgubWluKHkud2lkdGgvCngud2lkdGgseS5oZWlnaHQveC5oZWlnaHQsMikpLnRyYW5zbGF0ZSh1LnBhZGRpbmcucGFkZGluZ0xlZnQsdS5wYWRkaW5nLnBhZGRpbmdUb3ApO2QzLnNlbGVjdChxKS50cmFuc2l0aW9uKCkuZHVyYXRpb24oNTAwKS5jYWxsKHcudHJhbnNmb3JtLHkpLm9uKCJlbmQuZml0dGVkIiwoKT0+e3cub24oImVuZC5maXR0ZWQiLG51bGwpO0EoKX0pfTtmLnBhblRvTm9kZT1mdW5jdGlvbihxLHUsdyxBKXt3PWQzLnNlbGVjdCh1KS5zZWxlY3QoYFtkYXRhLW5hbWU9IiR7cX0iXWApLm5vZGUoKTtpZighdylyZXR1cm4gY29uc29sZS53YXJuKGBwYW5Ub05vZGUoKSBmYWlsZWQgZm9yIG5vZGUgbmFtZSAiJHtxfSJgKSwhMTt2YXIgeT13LmdldEJCb3goKSx4PXcuZ2V0U2NyZWVuQ1RNKCk7cT11LmNyZWF0ZVNWR1BvaW50KCk7dz11LmNyZWF0ZVNWR1BvaW50KCk7cS54PXkueDtxLnk9eS55O3cueD15LngreS53aWR0aDt3Lnk9eS55K3kuaGVpZ2h0O3E9cS5tYXRyaXhUcmFuc2Zvcm0oeCk7dz0Kdy5tYXRyaXhUcmFuc2Zvcm0oeCk7eD0oRyxELEIsSCk9PiEoRz5CJiZEPEgpO3k9dS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBDPXkudG9wK3kuaGVpZ2h0LTE1MDtyZXR1cm4geChxLngsdy54LHkubGVmdCx5LmxlZnQreS53aWR0aC0zMjApfHx4KHEueSx3LnkseS50b3AsQyk/KHg9eS5sZWZ0K3kud2lkdGgvMi0ocS54K3cueCkvMixxPXkudG9wK3kuaGVpZ2h0LzItKHEueSt3LnkpLzIsdz1kMy56b29tVHJhbnNmb3JtKHUpLGQzLnNlbGVjdCh1KS50cmFuc2l0aW9uKCkuZHVyYXRpb24oNTAwKS5jYWxsKEEudHJhbnNsYXRlQnkseC93LmsscS93LmspLCEwKTohMX07Zi5zZWxlY3RPckNyZWF0ZUNoaWxkPWg7Zi5zZWxlY3RDaGlsZD1rO2YuYnVpbGRHcm91cD1mdW5jdGlvbihxLHUsdyxBKXtBPUF8fGYuQ2xhc3MuU2NlbmUuR1JPVVA7bGV0IHk9ayhxLCJnIixBKS5lbXB0eSgpO3E9aChxLCJnIixBKTtBPWgocSwiZyIsZi5DbGFzcy5TY2VuZS5DT1JFKTtsZXQgeD1fLnJlZHVjZSh1LmNvcmVHcmFwaC5ub2RlcygpLAooQyxHKT0+e0c9dS5jb3JlR3JhcGgubm9kZShHKTtHLmV4Y2x1ZGVkfHxDLnB1c2goRyk7cmV0dXJuIEN9LFtdKTt1Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuU0VSSUVTJiZ4LnJldmVyc2UoKTtmLmVkZ2UuYnVpbGRHcm91cChBLHUuY29yZUdyYXBoLHcpO2Yubm9kZS5idWlsZEdyb3VwKEEseCx3KTswPHUuaXNvbGF0ZWRJbkV4dHJhY3QubGVuZ3RoPyhBPWgocSwiZyIsZi5DbGFzcy5TY2VuZS5JTkVYVFJBQ1QpLGYubm9kZS5idWlsZEdyb3VwKEEsdS5pc29sYXRlZEluRXh0cmFjdCx3KSk6ayhxLCJnIixmLkNsYXNzLlNjZW5lLklORVhUUkFDVCkucmVtb3ZlKCk7MDx1Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/KEE9aChxLCJnIixmLkNsYXNzLlNjZW5lLk9VVEVYVFJBQ1QpLGYubm9kZS5idWlsZEdyb3VwKEEsdS5pc29sYXRlZE91dEV4dHJhY3QsdykpOmsocSwiZyIsZi5DbGFzcy5TY2VuZS5PVVRFWFRSQUNUKS5yZW1vdmUoKTswPHUubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QubGVuZ3RoPwooQT1oKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSksZi5ub2RlLmJ1aWxkR3JvdXAoQSx1LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LHcpKTprKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSkucmVtb3ZlKCk7cihxLHUpO3kmJnEuYXR0cigib3BhY2l0eSIsMCkudHJhbnNpdGlvbigpLmF0dHIoIm9wYWNpdHkiLDEpO3JldHVybiBxfTtmLmFkZEdyYXBoQ2xpY2tMaXN0ZW5lcj1mdW5jdGlvbihxLHUpe2QzLnNlbGVjdChxKS5vbigiY2xpY2siLCgpPT57dS5maXJlKCJncmFwaC1zZWxlY3QiKX0pfTtmLnRyYW5zbGF0ZT1sO2YucG9zaXRpb25SZWN0PWZ1bmN0aW9uKHEsdSx3LEEseSl7cS50cmFuc2l0aW9uKCkuYXR0cigieCIsdS1BLzIpLmF0dHIoInkiLHcteS8yKS5hdHRyKCJ3aWR0aCIsQSkuYXR0cigiaGVpZ2h0Iix5KX07Zi5wb3NpdGlvblRyaWFuZ2xlPWZ1bmN0aW9uKHEsdSx3LEEseSl7eS89MjtBLz0yO3U9W1t1LHcteV0sW3UrQSwKdyt5XSxbdS1BLHcreV1dO3EudHJhbnNpdGlvbigpLmF0dHIoInBvaW50cyIsdS5tYXAoeD0+eC5qb2luKCIsIikpLmpvaW4oIiAiKSl9O2YucG9zaXRpb25CdXR0b249ZnVuY3Rpb24ocSx1KXtsZXQgdz1kLmxheW91dC5jb21wdXRlQ1hQb3NpdGlvbk9mTm9kZVNoYXBlKHUpKyh1LmV4cGFuZGVkP3Uud2lkdGg6dS5jb3JlQm94LndpZHRoKS8yLTYsQT11LnktKHUuZXhwYW5kZWQ/dS5oZWlnaHQ6dS5jb3JlQm94LmhlaWdodCkvMis2O3Uubm9kZS50eXBlIT09ZC5Ob2RlVHlwZS5TRVJJRVN8fHUuZXhwYW5kZWR8fCh3Kz0xMCxBLT0yKTt1PSJ0cmFuc2xhdGUoIit3KyIsIitBKyIpIjtxLnNlbGVjdEFsbCgicGF0aCIpLnRyYW5zaXRpb24oKS5hdHRyKCJ0cmFuc2Zvcm0iLHUpO3Euc2VsZWN0KCJjaXJjbGUiKS50cmFuc2l0aW9uKCkuYXR0cih7Y3g6dyxjeTpBLHI6ZC5sYXlvdXQuUEFSQU1TLm5vZGVTaXplLm1ldGEuZXhwYW5kQnV0dG9uUmFkaXVzfSl9O2YucG9zaXRpb25FbGxpcHNlPQpmdW5jdGlvbihxLHUsdyxBLHkpe3EudHJhbnNpdGlvbigpLmF0dHIoImN4Iix1KS5hdHRyKCJjeSIsdykuYXR0cigicngiLEEvMikuYXR0cigicnkiLHkvMil9O2YuaHVtYW5pemVIZWFsdGhQaWxsU3RhdD1wO2YuYWRkSGVhbHRoUGlsbD1uO2YuYWRkSGVhbHRoUGlsbHM9ZnVuY3Rpb24ocSx1LHcpe2lmKHUpe3ZhciBBPTE7ZDMuc2VsZWN0KHEpLnNlbGVjdEFsbCgiZy5ub2Rlc2hhcGUiKS5lYWNoKGZ1bmN0aW9uKHkpe2NvbnN0IHg9dVt5Lm5vZGUubmFtZV07bih0aGlzLHg/eFt3XTpudWxsLHksQSsrKX0pfX19KShkLnNjZW5lfHwoZC5zY2VuZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vdGVtcGxhdGUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChuKXtsZXQgcT1fLm1hcCh7ZGVwdGg6bi5kZXB0aCwifFZ8IjpuLm1ldGFncmFwaC5ub2RlcygpLmxlbmd0aCwifEV8IjpuLm1ldGFncmFwaC5lZGdlcygpLmxlbmd0aH0sZnVuY3Rpb24odSx3KXtyZXR1cm4gdysiXHgzZCIrdX0pLmpvaW4oIiAiKTtuPV8ubWFwKG4ub3BIaXN0b2dyYW0sZnVuY3Rpb24odSx3KXtyZXR1cm4gdysiXHgzZCIrdX0pLmpvaW4oIiwiKTtyZXR1cm4gcSsiIFtvcHNdICIrbn1mdW5jdGlvbiBrKG4pe2NvbnN0IHE9bi5nZXROb2RlTWFwKCk7bGV0IHU9T2JqZWN0LmtleXMocSkucmVkdWNlKCh3LEEpPT57Y29uc3QgeT1xW0FdO2lmKHkudHlwZSE9PWQuTm9kZVR5cGUuTUVUQSlyZXR1cm4gdztBPUEuc3BsaXQoIi8iKS5sZW5ndGgtMTtsZXQgeD1oKHkpLEM9d1t4XXx8e25vZGVzOltdLGxldmVsOkF9O3dbeF09QztDLm5vZGVzLnB1c2goeSk7Qy5sZXZlbD5BJiYoQy5sZXZlbD0KQSk7cmV0dXJuIHd9LHt9KTtyZXR1cm4gT2JqZWN0LmtleXModSkubWFwKHc9Plt3LHVbd11dKS5maWx0ZXIoKFssd10pPT57dz13Lm5vZGVzO2lmKDE8dy5sZW5ndGgpcmV0dXJuITA7dz13WzBdO3JldHVybiB3LnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEmJncuYXNzb2NpYXRlZEZ1bmN0aW9ufSkuc29ydCgoWyx3XSk9Pncubm9kZXNbMF0uZGVwdGgpfWZ1bmN0aW9uIHIobixxKXtyZXR1cm4gXy5yZWR1Y2UobixmdW5jdGlvbih1LHcpe2xldCBBPXdbMF0seT1bXTt3WzFdLm5vZGVzLmZvckVhY2goZnVuY3Rpb24oeCl7Zm9yKGxldCBDPTA7Qzx5Lmxlbmd0aDtDKyspaWYoIXF8fHAoeVtDXS5tZXRhbm9kZS5tZXRhZ3JhcGgseC5tZXRhZ3JhcGgpKXt4LnRlbXBsYXRlSWQ9eVtDXS5tZXRhbm9kZS50ZW1wbGF0ZUlkO3lbQ10ubWVtYmVycy5wdXNoKHgubmFtZSk7cmV0dXJufXgudGVtcGxhdGVJZD1BKyJbIit5Lmxlbmd0aCsiXSI7eS5wdXNoKHttZXRhbm9kZTp4LG1lbWJlcnM6W3gubmFtZV19KX0pOwp5LmZvckVhY2goZnVuY3Rpb24oeCl7dVt4Lm1ldGFub2RlLnRlbXBsYXRlSWRdPXtsZXZlbDp3WzFdLmxldmVsLG5vZGVzOngubWVtYmVyc319KTtyZXR1cm4gdX0se30pfWZ1bmN0aW9uIGwobixxLHUpe3JldHVybiBfLnNvcnRCeShuLFt3PT5xLm5vZGUodykub3Asdz0+cS5ub2RlKHcpLnRlbXBsYXRlSWQsdz0+cS5uZWlnaGJvcnModykubGVuZ3RoLHc9PnEucHJlZGVjZXNzb3JzKHcpLmxlbmd0aCx3PT5xLnN1Y2Nlc3NvcnModykubGVuZ3RoLHc9Pncuc3Vic3RyKHUubGVuZ3RoKV0pfWZ1bmN0aW9uIHAobixxKXtmdW5jdGlvbiB1KEgsSyl7bGV0IEw9SC5zdWJzdHIody5sZW5ndGgpLEo9Sy5zdWJzdHIoQS5sZW5ndGgpO2lmKHlbTF1eeFtKXSlyZXR1cm4gY29uc29sZS53YXJuKCJkaWZmZXJlbnQgdmlzaXQgcGF0dGVybiIsIlsiK3crIl0iLEwsIlsiK0ErIl0iLEopLCEwO3lbTF18fCh5W0xdPXhbSl09ITAsQy5wdXNoKHtuMTpILG4yOkt9KSk7cmV0dXJuITF9aWYoIWIuZ3JhcGguaGFzU2ltaWxhckRlZ3JlZVNlcXVlbmNlKG4sCnEpKXJldHVybiExO2xldCB3PW4uZ3JhcGgoKS5uYW1lLEE9cS5ncmFwaCgpLm5hbWUseT17fSx4PXt9LEM9W107dmFyIEc9bi5zb3VyY2VzKCksRD1xLnNvdXJjZXMoKTtpZihHLmxlbmd0aCE9PUQubGVuZ3RoKXJldHVybiBjb25zb2xlLmxvZygiZGlmZmVyZW50IHNvdXJjZSBsZW5ndGgiKSwhMTtHPWwoRyxuLHcpO0Q9bChELHEsQSk7Zm9yKHZhciBCPTA7QjxHLmxlbmd0aDtCKyspaWYodShHW0JdLERbQl0pKXJldHVybiExO2Zvcig7MDxDLmxlbmd0aDspe0Q9Qy5wb3AoKTtpZighbShuLm5vZGUoRC5uMSkscS5ub2RlKEQubjIpKSlyZXR1cm4hMTtHPW4uc3VjY2Vzc29ycyhELm4xKTtEPXEuc3VjY2Vzc29ycyhELm4yKTtpZihHLmxlbmd0aCE9PUQubGVuZ3RoKXJldHVybiBjb25zb2xlLmxvZygiIyBvZiBzdWNjZXNzb3JzIG1pc21hdGNoIixHLEQpLCExO0c9bChHLG4sdyk7RD1sKEQscSxBKTtmb3IoQj0wO0I8Ry5sZW5ndGg7QisrKWlmKHUoR1tCXSxEW0JdKSlyZXR1cm4hMX1yZXR1cm4hMH0KZnVuY3Rpb24gbShuLHEpe2lmKG4udHlwZT09PWQuTm9kZVR5cGUuTUVUQSlyZXR1cm4gbi50ZW1wbGF0ZUlkJiZxLnRlbXBsYXRlSWQmJm4udGVtcGxhdGVJZD09PXEudGVtcGxhdGVJZDtpZihuLnR5cGU9PT1kLk5vZGVUeXBlLk9QJiZxLnR5cGU9PT1kLk5vZGVUeXBlLk9QKXJldHVybiBuLm9wPT09cS5vcDtpZihuLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUyYmcS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMpe2xldCB1PW4ubWV0YWdyYXBoLm5vZGVDb3VudCgpO3JldHVybiB1PT09cS5tZXRhZ3JhcGgubm9kZUNvdW50KCkmJigwPT09dXx8bi5tZXRhZ3JhcGgubm9kZShuLm1ldGFncmFwaC5ub2RlcygpWzBdKS5vcD09PXEubWV0YWdyYXBoLm5vZGUocS5tZXRhZ3JhcGgubm9kZXMoKVswXSkub3ApfXJldHVybiExfWYuZGV0ZWN0PWZ1bmN0aW9uKG4scSl7bj1rKG4pO2xldCB1PXIobixxKTtyZXR1cm4gT2JqZWN0LmtleXModSkuc29ydCh3PT51W3ddLmxldmVsKS5yZWR1Y2UoKHcsCkEpPT57d1tBXT11W0FdO3JldHVybiB3fSx7fSl9fSkoZC50ZW1wbGF0ZXx8KGQudGVtcGxhdGU9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3V0aWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi50aW1lPWZ1bmN0aW9uKGgsayl7bGV0IHI9RGF0ZS5ub3coKTtrPWsoKTtjb25zb2xlLmxvZyhoLCI6IixEYXRlLm5vdygpLXIsIm1zIik7cmV0dXJuIGt9O2YuZ2V0VHJhY2tlcj1mdW5jdGlvbihoKXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihrKXtoLnNldCgicHJvZ3Jlc3MiLHt2YWx1ZTpoLnByb2dyZXNzLnZhbHVlLG1zZzprfSl9LHVwZGF0ZVByb2dyZXNzOmZ1bmN0aW9uKGspe2guc2V0KCJwcm9ncmVzcyIse3ZhbHVlOmgucHJvZ3Jlc3MudmFsdWUrayxtc2c6aC5wcm9ncmVzcy5tc2d9KX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oayxyKXtjb25zb2xlLmVycm9yKHIuc3RhY2spO2guc2V0KCJwcm9ncmVzcyIse3ZhbHVlOmgucHJvZ3Jlc3MudmFsdWUsbXNnOmssZXJyb3I6ITB9KX19fTtmLmdldFN1YnRhc2tUcmFja2VyPWZ1bmN0aW9uKGgsayxyKXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihsKXtoLnNldE1lc3NhZ2UocisKIjogIitsKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24obCl7aC51cGRhdGVQcm9ncmVzcyhsKmsvMTAwKX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24obCxwKXtoLnJlcG9ydEVycm9yKHIrIjogIitsLHApfX19O2YucnVuVGFzaz1mdW5jdGlvbihoLGspe2suc2V0TWVzc2FnZSgiUmVhZGluZyBtZXRhZGF0YSBwYnR4dCIpO3RyeXtsZXQgcj1iLmdyYXBoLnV0aWwudGltZSgiUmVhZGluZyBtZXRhZGF0YSBwYnR4dCIsaCk7ay51cGRhdGVQcm9ncmVzcyg0MCk7cmV0dXJuIHJ9Y2F0Y2gocil7ay5yZXBvcnRFcnJvcigiRmFpbGVkIFJlYWRpbmcgbWV0YWRhdGEgcGJ0eHQiLHIpfX07Zi5ydW5Bc3luY1Rhc2s9ZnVuY3Rpb24oaCxrLHIsbCl7cmV0dXJuIG5ldyBQcm9taXNlKHA9PntsLnNldE1lc3NhZ2UoaCk7c2V0VGltZW91dChmdW5jdGlvbigpe3RyeXtsZXQgbT1iLmdyYXBoLnV0aWwudGltZShoLHIpO2wudXBkYXRlUHJvZ3Jlc3Moayk7cChtKX1jYXRjaChtKXtsLnJlcG9ydEVycm9yKCJGYWlsZWQgIisKaCxtKX19LDIwKX0pfTtmLnJ1bkFzeW5jUHJvbWlzZVRhc2s9ZnVuY3Rpb24oaCxrLHIsbCl7cmV0dXJuIG5ldyBQcm9taXNlKChwLG0pPT57ZnVuY3Rpb24gbihxKXtsLnJlcG9ydEVycm9yKCJGYWlsZWQgIitoLHEpO20ocSl9bC5zZXRNZXNzYWdlKGgpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7bGV0IHE9RGF0ZS5ub3coKTtyKCkudGhlbihmdW5jdGlvbih1KXtjb25zb2xlLmxvZyhoLCI6IixEYXRlLm5vdygpLXEsIm1zIik7bC51cGRhdGVQcm9ncmVzcyhrKTtwKHUpfSkuY2F0Y2gobil9Y2F0Y2gocSl7bihxKX19LDIwKX0pfTtmLmVzY2FwZVF1ZXJ5U2VsZWN0b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIGgucmVwbGFjZSgvKFs6LlxbXF0sL1xcXChcKV0pL2csIlxcJDEiKX07Zi5NRU1PUllfVU5JVFM9W3tzeW1ib2w6IkIifSx7c3ltYm9sOiJLQiIsbnVtVW5pdHM6MTAyNH0se3N5bWJvbDoiTUIiLG51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IkdCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJUQiIsCm51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IlBCIixudW1Vbml0czoxMDI0fV07Zi5USU1FX1VOSVRTPVt7c3ltYm9sOiJcdTAwYjVzIn0se3N5bWJvbDoibXMiLG51bVVuaXRzOjFFM30se3N5bWJvbDoicyIsbnVtVW5pdHM6MUUzfSx7c3ltYm9sOiJtaW4iLG51bVVuaXRzOjYwfSx7c3ltYm9sOiJociIsbnVtVW5pdHM6NjB9LHtzeW1ib2w6ImRheXMiLG51bVVuaXRzOjI0fV07Zi5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGU9ZnVuY3Rpb24oaCxrLHI9MCl7cmV0dXJuIHIrMTxrLmxlbmd0aCYmaD49a1tyKzFdLm51bVVuaXRzP2IuZ3JhcGgudXRpbC5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGUoaC9rW3IrMV0ubnVtVW5pdHMsayxyKzEpOk51bWJlcihoLnRvUHJlY2lzaW9uKDMpKSsiICIra1tyXS5zeW1ib2x9O2YuaGFzRGlzcGxheWFibGVOb2RlU3RhdHM9ZnVuY3Rpb24oaCl7cmV0dXJuIGgmJigwPGgudG90YWxCeXRlc3x8MDxoLmdldFRvdGFsTWljcm9zKCl8fGgub3V0cHV0U2l6ZSk/CiEwOiExfTtmLnJlbW92ZUNvbW1vblByZWZpeD1mdW5jdGlvbihoKXtpZigyPmgubGVuZ3RoKXJldHVybiBoO2xldCBrPTAscj0wLGw9Xy5taW4oXy5tYXAoaCxwPT5wLmxlbmd0aCkpO2Zvcig7Oyl7aysrO2xldCBwPV8ubWFwKGgsbT0+bS5zdWJzdHJpbmcoMCxrKSk7aWYocC5ldmVyeSgobSxuKT0+MD09PW4/ITA6bT09PXBbbi0xXSkpe2lmKGs+PWwpcmV0dXJuIGg7cj1rfWVsc2UgYnJlYWt9cmV0dXJuIF8ubWFwKGgscD0+cC5zdWJzdHJpbmcocikpfTtmLmNvbXB1dGVIdW1hbkZyaWVuZGx5VGltZT1mdW5jdGlvbihoKXtoPStuZXcgRGF0ZS0rbmV3IERhdGUoaC8xRTMpO3JldHVybiAzRTQ+aD8ianVzdCBub3ciOjZFND5oP01hdGguZmxvb3IoaC8xRTMpKyIgc2Vjb25kcyBhZ28iOjEyRTQ+aD8iYSBtaW51dGUgYWdvIjozNkU1Pmg/TWF0aC5mbG9vcihoLzZFNCkrIiBtaW51dGVzIGFnbyI6MT09TWF0aC5mbG9vcihoLzM2RTUpPyJhbiBob3VyIGFnbyI6ODY0RTU+aD9NYXRoLmZsb29yKGgvCjM2RTUpKyIgaG91cnMgYWdvIjoxNzI4RTU+aD8ieWVzdGVyZGF5IjpNYXRoLmZsb29yKGgvODY0RTUpKyIgZGF5cyBhZ28ifX0pKGQudXRpbHx8KGQudXRpbD17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vbWluaW1hcC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2NsYXNzIGZ7Y29uc3RydWN0b3IoaCxrLHIsbCxwLG0pe3RoaXMuc3ZnPWg7dGhpcy5sYWJlbFBhZGRpbmc9bTt0aGlzLnpvb21HPWs7dGhpcy5tYWluWm9vbT1yO3RoaXMubWF4V2FuZEg9cDtoPWQzLnNlbGVjdChsLnNoYWRvd1Jvb3QpO2xldCBuPWguc2VsZWN0KCJzdmciKSxxPW4uc2VsZWN0KCJyZWN0Iik7dGhpcy52aWV3cG9pbnRDb29yZD17eDowLHk6MH07az1kMy5kcmFnKCkuc3ViamVjdChPYmplY3QpLm9uKCJkcmFnIiwoKT0+e3RoaXMudmlld3BvaW50Q29vcmQueD1kMy5ldmVudC54O3RoaXMudmlld3BvaW50Q29vcmQueT1kMy5ldmVudC55O3RoaXMudXBkYXRlVmlld3BvaW50KCl9KTtxLmRhdHVtKHRoaXMudmlld3BvaW50Q29vcmQpLmNhbGwoayk7bi5vbigiY2xpY2siLCgpPT57aWYoIWQzLmV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpe3ZhciB1PU51bWJlcihxLmF0dHIoIndpZHRoIikpLHc9TnVtYmVyKHEuYXR0cigiaGVpZ2h0IikpLApBPWQzLm1vdXNlKG4ubm9kZSgpKTt0aGlzLnZpZXdwb2ludENvb3JkLng9QVswXS11LzI7dGhpcy52aWV3cG9pbnRDb29yZC55PUFbMV0tdy8yO3RoaXMudXBkYXRlVmlld3BvaW50KCl9fSk7dGhpcy52aWV3cG9pbnQ9cS5ub2RlKCk7dGhpcy5taW5pbWFwU3ZnPW4ubm9kZSgpO3RoaXMubWluaW1hcD1sO3RoaXMuY2FudmFzPWguc2VsZWN0KCJjYW52YXMuZmlyc3QiKS5ub2RlKCk7dGhpcy5jYW52YXNCdWZmZXI9aC5zZWxlY3QoImNhbnZhcy5zZWNvbmQiKS5ub2RlKCk7dGhpcy5kb3dubG9hZENhbnZhcz1oLnNlbGVjdCgiY2FudmFzLmRvd25sb2FkIikubm9kZSgpO2QzLnNlbGVjdCh0aGlzLmRvd25sb2FkQ2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKTt0aGlzLnVwZGF0ZSgpfXVwZGF0ZVZpZXdwb2ludCgpe2QzLnNlbGVjdCh0aGlzLnZpZXdwb2ludCkuYXR0cigieCIsdGhpcy52aWV3cG9pbnRDb29yZC54KS5hdHRyKCJ5Iix0aGlzLnZpZXdwb2ludENvb3JkLnkpO2xldCBoPQotdGhpcy52aWV3cG9pbnRDb29yZC54KnRoaXMuc2NhbGVNYWluL3RoaXMuc2NhbGVNaW5pbWFwLGs9LXRoaXMudmlld3BvaW50Q29vcmQueSp0aGlzLnNjYWxlTWFpbi90aGlzLnNjYWxlTWluaW1hcDtkMy5zZWxlY3QodGhpcy5zdmcpLmNhbGwodGhpcy5tYWluWm9vbS50cmFuc2Zvcm0sZDMuem9vbUlkZW50aXR5LnRyYW5zbGF0ZShoLGspLnNjYWxlKHRoaXMuc2NhbGVNYWluKSl9dXBkYXRlKCl7bGV0IGg9bnVsbDt0cnl7aWYoaD10aGlzLnpvb21HLmdldEJCb3goKSwwPT09aC53aWR0aClyZXR1cm59Y2F0Y2godSl7cmV0dXJufXZhciBrPWQzLnNlbGVjdCgiI2dyYXBoZG93bmxvYWQiKTt0aGlzLmRvd25sb2FkPWsubm9kZSgpO2sub24oImNsaWNrIiwoKT0+e1VSTC5yZXZva2VPYmplY3RVUkwodGhpcy5kb3dubG9hZC5ocmVmKTt2YXIgdT10aGlzLmRvd25sb2FkQ2FudmFzLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIik7Y29uc3Qgdz11LnNsaWNlKDAsdS5pbmRleE9mKCIsIikpO2lmKHcuZW5kc1dpdGgoIjtiYXNlNjQiKSl7dmFyIEE9CmF0b2IodS5zbGljZSh1LmluZGV4T2YoIiwiKSsxKSk7dT0obmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpKS5tYXAoKHkseCk9PkEuY2hhckNvZGVBdCh4KSk7dGhpcy5kb3dubG9hZC5ocmVmPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW3VdLHt0eXBlOiJpbWFnZS9wbmcifSkpfWVsc2UgY29uc29sZS53YXJuKGBub24tYmFzZTY0IGRhdGEgVVJMICgke3d9KTsgY2Fubm90IHVzZSBibG9iIGRvd25sb2FkYCksdGhpcy5kb3dubG9hZC5ocmVmPXV9KTtrPWQzLnNlbGVjdCh0aGlzLnN2Zyk7dmFyIHI9IiIsbD10aGlzLnN2ZztsPShsLmdldFJvb3ROb2RlP2wuZ2V0Um9vdE5vZGUoKTp0aGlzLnN2Zy5wYXJlbnROb2RlKS5zdHlsZVNoZWV0cztmb3IodmFyIHA9MDtwPGwubGVuZ3RoO3ArKyl0cnl7dmFyIG09bFtwXS5jc3NSdWxlc3x8bFtwXS5ydWxlcztpZihudWxsIT1tKWZvcihsZXQgdT0wO3U8bS5sZW5ndGg7dSsrKXIrPW1bdV0uY3NzVGV4dC5yZXBsYWNlKC8gP3RmLVtcdy1dKyA/L2csCiIiKSsiXG4ifWNhdGNoKHUpe2lmKCJTZWN1cml0eUVycm9yIiE9PXUubmFtZSl0aHJvdyB1O31tPWsuYXBwZW5kKCJzdHlsZSIpO20udGV4dChyKTtyPWQzLnNlbGVjdCh0aGlzLnpvb21HKTtsPXIuYXR0cigidHJhbnNmb3JtIik7ci5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpO2guaGVpZ2h0Kz1oLnk7aC53aWR0aCs9aC54O2guaGVpZ2h0Kz0yKnRoaXMubGFiZWxQYWRkaW5nO2gud2lkdGgrPTIqdGhpcy5sYWJlbFBhZGRpbmc7ay5hdHRyKCJ3aWR0aCIsaC53aWR0aCkuYXR0cigiaGVpZ2h0IixoLmhlaWdodCk7dGhpcy5zY2FsZU1pbmltYXA9dGhpcy5tYXhXYW5kSC9NYXRoLm1heChoLndpZHRoLGguaGVpZ2h0KTt0aGlzLm1pbmltYXBTaXplPXt3aWR0aDpoLndpZHRoKnRoaXMuc2NhbGVNaW5pbWFwLGhlaWdodDpoLmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcH07ZDMuc2VsZWN0KHRoaXMubWluaW1hcFN2ZykuYXR0cih0aGlzLm1pbmltYXBTaXplKTtkMy5zZWxlY3QodGhpcy5jYW52YXNCdWZmZXIpLmF0dHIodGhpcy5taW5pbWFwU2l6ZSk7CnA9ZDMuc2VsZWN0KHRoaXMuZG93bmxvYWRDYW52YXMpO3Auc3R5bGUoIndpZHRoIixoLndpZHRoKTtwLnN0eWxlKCJoZWlnaHQiLGguaGVpZ2h0KTtwLmF0dHIoIndpZHRoIiwzKmgud2lkdGgpO3AuYXR0cigiaGVpZ2h0IiwzKmguaGVpZ2h0KTtudWxsIT10aGlzLnRyYW5zbGF0ZSYmbnVsbCE9dGhpcy56b29tJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnRoaXMuem9vbSgpKTtsZXQgbj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKHRoaXMuc3ZnKTttLnJlbW92ZSgpO2suYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCk7ci5hdHRyKCJ0cmFuc2Zvcm0iLGwpO2xldCBxPW5ldyBJbWFnZTtxLm9ubG9hZD0oKT0+e3ZhciB1PXRoaXMuY2FudmFzQnVmZmVyLmdldENvbnRleHQoIjJkIik7dS5jbGVhclJlY3QoMCwwLHRoaXMuY2FudmFzQnVmZmVyLndpZHRoLHRoaXMuY2FudmFzQnVmZmVyLmhlaWdodCk7dS5kcmF3SW1hZ2UocSwwLDAsdGhpcy5taW5pbWFwU2l6ZS53aWR0aCwKdGhpcy5taW5pbWFwU2l6ZS5oZWlnaHQpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2QzLnNlbGVjdCh0aGlzLmNhbnZhc0J1ZmZlcikuc3R5bGUoImRpc3BsYXkiLG51bGwpO2QzLnNlbGVjdCh0aGlzLmNhbnZhcykuc3R5bGUoImRpc3BsYXkiLCJub25lIik7W3RoaXMuY2FudmFzLHRoaXMuY2FudmFzQnVmZmVyXT1bdGhpcy5jYW52YXNCdWZmZXIsdGhpcy5jYW52YXNdfSk7dT10aGlzLmRvd25sb2FkQ2FudmFzLmdldENvbnRleHQoIjJkIik7dS5jbGVhclJlY3QoMCwwLHRoaXMuZG93bmxvYWRDYW52YXMud2lkdGgsdGhpcy5kb3dubG9hZENhbnZhcy5oZWlnaHQpO3UuZHJhd0ltYWdlKHEsMCwwLHRoaXMuZG93bmxvYWRDYW52YXMud2lkdGgsdGhpcy5kb3dubG9hZENhbnZhcy5oZWlnaHQpfTtxLm9uZXJyb3I9KCk9PntxLnNyYz1VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtuXSx7dHlwZToiaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0XHgzZHV0Zi04In0pKX07cS5zcmM9CiJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldFx4M2R1dGYtOCwiK2VuY29kZVVSSUNvbXBvbmVudChuKX16b29tKGgpe2lmKG51bGwhPXRoaXMuc2NhbGVNaW5pbWFwKXtoJiYodGhpcy50cmFuc2xhdGU9W2gueCxoLnldLHRoaXMuc2NhbGVNYWluPWguayk7dmFyIGs9dGhpcy5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj1kMy5zZWxlY3QodGhpcy52aWV3cG9pbnQpO3RoaXMudmlld3BvaW50Q29vcmQueD0tdGhpcy50cmFuc2xhdGVbMF0qdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47dGhpcy52aWV3cG9pbnRDb29yZC55PS10aGlzLnRyYW5zbGF0ZVsxXSp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbjtoPWsud2lkdGgqdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47az1rLmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbjtyLmF0dHIoIngiLHRoaXMudmlld3BvaW50Q29vcmQueCkuYXR0cigieSIsdGhpcy52aWV3cG9pbnRDb29yZC55KS5hdHRyKCJ3aWR0aCIsCmgpLmF0dHIoImhlaWdodCIsayk7cj10aGlzLm1pbmltYXBTaXplLndpZHRoO3ZhciBsPXRoaXMubWluaW1hcFNpemUuaGVpZ2h0LHA9dGhpcy52aWV3cG9pbnRDb29yZC54LG09dGhpcy52aWV3cG9pbnRDb29yZC55Oy44PihNYXRoLm1pbihNYXRoLm1heCgwLHAraCksciktTWF0aC5taW4oTWF0aC5tYXgoMCxwKSxyKSkqKE1hdGgubWluKE1hdGgubWF4KDAsbStrKSxsKS1NYXRoLm1pbihNYXRoLm1heCgwLG0pLGwpKS8ocipsKT90aGlzLm1pbmltYXAuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6dGhpcy5taW5pbWFwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfX19ZC5NaW5pbWFwPWZ9KShiLnNjZW5lfHwoYi5zY2VuZT17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWxvYWRlci90Zi1ncmFwaC1sb2FkZXIuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtZ3JhcGgtbG9hZGVyIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntkYXRhc2V0czpBcnJheSxzZWxlY3RlZERhdGE6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LHNlbGVjdGVkRmlsZTpPYmplY3QsY29tcGF0aWJpbGl0eVByb3ZpZGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGIuZ3JhcGgub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyfSxvdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHt9KX0scHJvZ3Jlc3M6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sb3V0R3JhcGhIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sb3V0R3JhcGg6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sb3V0SGllcmFyY2h5UGFyYW1zOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfbG9hZERhdGEoZGF0YXNldHMsIHNlbGVjdGVkRGF0YSwgb3ZlcnJpZGluZ0hpZXJhcmNoeVBhcmFtcywgY29tcGF0aWJpbGl0eVByb3ZpZGVyKSIsCiJfbG9hZEZpbGUoc2VsZWN0ZWRGaWxlLCBvdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIl0sX2xvYWREYXRhKCl7dGhpcy5kZWJvdW5jZSgibG9hZCIsKCk9Pntjb25zdCBmPXRoaXMuZGF0YXNldHNbdGhpcy5zZWxlY3RlZERhdGFdO2YmJnRoaXMuX3BhcnNlQW5kQ29uc3RydWN0SGllcmFyY2hpY2FsR3JhcGgoZi5wYXRoKX0pfSxfcGFyc2VBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChmLGgpe2NvbnN0IGs9dGhpcy5vdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zLHI9dGhpcy5jb21wYXRpYmlsaXR5UHJvdmlkZXI7dGhpcy5wcm9ncmVzcz17dmFsdWU6MCxtc2c6IiJ9O2NvbnN0IGw9Yi5ncmFwaC51dGlsLmdldFRyYWNrZXIodGhpcykscD1PYmplY3QuYXNzaWduKHt9LGIuZ3JhcGguaGllcmFyY2h5LkRlZmF1bHRIaWVyYXJjaHlQYXJhbXMsayk7Yi5ncmFwaC5sb2FkZXIuZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChsLApmLGgscixwKS50aGVuKCh7Z3JhcGg6bSxncmFwaEhpZXJhcmNoeTpufSk9Pnt0aGlzLl9zZXRPdXRIaWVyYXJjaHlQYXJhbXMocCk7dGhpcy5fc2V0T3V0R3JhcGgobSk7dGhpcy5fc2V0T3V0R3JhcGhIaWVyYXJjaHkobil9KX0sX2xvYWRGaWxlKGYpe2lmKGYpe2Y9Zi50YXJnZXQ7dmFyIGg9Zi5maWxlc1swXTtoJiYoZi52YWx1ZT0iIix0aGlzLl9wYXJzZUFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoKG51bGwsaCkpfX19KX0pKGQubG9hZGVyfHwoZC5sb2FkZXI9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL2hlYWx0aC1waWxscy5qcwp2YXIgS2g7CihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGsscil7aWYobnVsbD09ayl0aHJvdyBFcnJvcihgTWlzc2luZyByZWZWYWx1ZSBmb3IgY29uZGl0aW9uICgke3J9KS5gKTt9ZnVuY3Rpb24gZihrKXtyZXR1cm4gbnVsbD09a3x8MD09ay5sZW5ndGh8fDEhPT1rWzBdfWNvbnN0IGg9e0lORl9PUl9OQU46e2Rlc2NyaXB0aW9uOiJDb250YWlucyArLy1cdTIyMWUgb3IgTmFOIixwcmVkaWNhdGU6az0+MDxrWzJdfHwwPGtbM118fDA8a1s3XX0sSU5GOntkZXNjcmlwdGlvbjoiQ29udGFpbnMgKy8tXHUyMjFlIixwcmVkaWNhdGU6az0+MDxrWzNdfHwwPGtbN119LE5BTjp7ZGVzY3JpcHRpb246IkNvbnRhaW5zIE5hTiIscHJlZGljYXRlOms9PjA8a1syXX0sTUFYX0dUOntkZXNjcmlwdGlvbjoiTWF4IFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUFYX0dUIik7cmV0dXJuIGtbOV0+cn19LE1BWF9MVDp7ZGVzY3JpcHRpb246Ik1heCBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1BWF9MVCIpOwpyZXR1cm4ga1s5XTxyfX0sTUlOX0dUOntkZXNjcmlwdGlvbjoiTWluIFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUlOX0dUIik7cmV0dXJuIGtbOF0+cn19LE1JTl9MVDp7ZGVzY3JpcHRpb246Ik1pbiBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1JTl9MVCIpO3JldHVybiBrWzhdPHJ9fSxNRUFOX0dUOntkZXNjcmlwdGlvbjoiTWVhbiBceDNlIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1FQU5fR1QiKTtyZXR1cm4ga1sxMF0+cn19LE1FQU5fTFQ6e2Rlc2NyaXB0aW9uOiJNZWFuIFx4M2MiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUVBTl9MVCIpO3JldHVybiBrWzEwXTxyfX0sUkFOR0VfR1Q6e2Rlc2NyaXB0aW9uOiJNYXggLSBNaW4gXHgzZSIscHJlZGljYXRlOihrLHIpPT57ZChyLCJSQU5HRV9HVCIpO3JldHVybiBrWzldLWtbOF0+cn19LFJBTkdFX0xUOntkZXNjcmlwdGlvbjoiTWF4IC0gTWluIFx4M2MiLHByZWRpY2F0ZTooayxyKT0+e2QociwiUkFOR0VfTFQiKTsKcmV0dXJuIGtbOV0ta1s4XTxyfX0sU1REREVWX0dUOntkZXNjcmlwdGlvbjoiU3RhbmRhcmQgZGV2aWF0aW9uIFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiU1REREVWX0dUIik7cmV0dXJuIE1hdGguc3FydChrWzExXSk+cn19LFNURERFVl9MVDp7ZGVzY3JpcHRpb246IlN0YW5kYXJkIGRldmlhdGlvbiBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIlNURERFVl9MVCIpO3JldHVybiBNYXRoLnNxcnQoa1sxMV0pPHJ9fX07Yi50ZW5zb3JDb25kaXRpb25EZXNjcmlwdGlvbjJLZXk9ZnVuY3Rpb24oayl7Zm9yKGNvbnN0IHIgaW4gaClpZihoLmhhc093blByb3BlcnR5KHIpJiZoW3JdLmRlc2NyaXB0aW9uPT09aylyZXR1cm4gcjtyZXR1cm4gbnVsbH07Yi5jaGVja0hlYWx0aFBpbGxBZ2FpbnN0VGVuc29yQ29uZGl0aW9uS2V5PWZ1bmN0aW9uKGsscixsKXtpZihmKHIpKXJldHVybiExO2s9aFtrXS5wcmVkaWNhdGU7cmV0dXJuIGsocixsKX19KShLaHx8KEtoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGVuc29yLXdpZGdldC90ZW5zb3Jfd2lkZ2V0X2JpbmFyeS5qcwpmdW5jdGlvbiBMaChiKXtyZXR1cm4gbnVsbCE9PWIubWF0Y2goL15pbnRbMC05XSskLyl8fG51bGwhPT1iLm1hdGNoKC9edWludFswLTldKyQvKX1mdW5jdGlvbiBNaChiKXtyZXR1cm4gbnVsbCE9PWIubWF0Y2goL15mbG9hdFswLTldKyQvKXx8bnVsbCE9PWIubWF0Y2goL15iZmxvYXRbMC05XSskLyl9ZnVuY3Rpb24gWWkoYil7cmV0dXJuImJvb2wiPT09Yi50b0xvd2VyQ2FzZSgpfHwiYm9vbGVhbiI9PT1iLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gWmkoYil7cmV0dXJuInN0ciI9PT1iLnRvTG93ZXJDYXNlKCl8fCJzdHJpbmciPT09Yi50b0xvd2VyQ2FzZSgpfQpjbGFzcyAkaXtjb25zdHJ1Y3RvcihiKXt0aGlzLmlzU2hvd249ITE7dGhpcy5ibHVySGlkZUZ1bmN0aW9uPW51bGw7dGhpcy5kcm9wZG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duIik7dGhpcy5kcm9wZG93bi5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO3RoaXMuZHJvcGRvd24uc3R5bGUuZGlzcGxheT0ibm9uZSI7Yi5hcHBlbmRDaGlsZCh0aGlzLmRyb3Bkb3duKX1zaG93KGIsZCxmKXtmLmZvckVhY2goaz0+e2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0iKTtyLnRleHRDb250ZW50PWsuY2FwdGlvbjt0aGlzLmRyb3Bkb3duLmFwcGVuZENoaWxkKHIpO2suZGlzYWJsZWQ/ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0tZGlzYWJsZWQiKToKKHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGw9PntsLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZHJvcGRvd24uY2xpY2soKTtpZihudWxsIT09ay5vbkNsaWNrKWsub25DbGljayhsKTt0aGlzLmhpZGUoKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsbD0+e2lmKG51bGwhPT1rLm9uSG92ZXIpay5vbkhvdmVyKGwpO3IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpfSksci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e3IuY2xhc3NMaXN0LnJlbW92ZSgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpO2lmKG51bGwhPT1rLm9uSG92ZXIpe3ZhciBsPVtdO2ZvcihsZXQgcD0wO3A8ci5jaGlsZHJlbi5sZW5ndGg7KytwKXtjb25zdCBtPXIuY2hpbGRyZW5bcF07bS5jbGFzc0xpc3QuY29udGFpbnMoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duIikmJmwucHVzaChtKX1sLmZvckVhY2gocD0+CnIucmVtb3ZlQ2hpbGQocCkpfX0pKX0pO3RoaXMuZHJvcGRvd24uc3R5bGUuZGlzcGxheT0iYmxvY2siO3RoaXMuZHJvcGRvd24uc3R5bGUudG9wPWIrInB4Ijt0aGlzLmRyb3Bkb3duLnN0eWxlLmxlZnQ9ZCsicHgiO2Y9dGhpcy5kcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBoPWYubGVmdC1kO3RoaXMuZHJvcGRvd24uc3R5bGUudG9wPShiLShmLnRvcC1iKSkudG9GaXhlZCgxKSsicHgiO3RoaXMuZHJvcGRvd24uc3R5bGUubGVmdD0oZC1oKS50b0ZpeGVkKDEpKyJweCI7dGhpcy5pc1Nob3duPSEwO3RoaXMuYmx1ckhpZGVGdW5jdGlvbj0oKT0+e3RoaXMuaGlkZSgpfTtzZXRUaW1lb3V0KCgpPT53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuYmx1ckhpZGVGdW5jdGlvbiksNTApfWhpZGUoKXtmb3IodGhpcy5kcm9wZG93bi5zdHlsZS5kaXNwbGF5PSJub25lIjt0aGlzLmRyb3Bkb3duLmZpcnN0Q2hpbGQ7KXRoaXMuZHJvcGRvd24ucmVtb3ZlQ2hpbGQodGhpcy5kcm9wZG93bi5maXJzdENoaWxkKTsKdGhpcy5pc1Nob3duPSExO251bGwhPXRoaXMuYmx1ckhpZGVGdW5jdGlvbiYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmJsdXJIaWRlRnVuY3Rpb24pfXNob3duKCl7cmV0dXJuIHRoaXMuaXNTaG93bn19CmNsYXNzIGFqe2NvbnN0cnVjdG9yKGIsZCl7dGhpcy5jb25maWc9Yjt0aGlzLnBhcmVudEVsZW1lbnQ9ZDt0aGlzLmJhc2VGbGF0TWVudT1uZXcgJGkodGhpcy5wYXJlbnRFbGVtZW50KTt0aGlzLmN1cnJlbnRDaG9pY2VTZWxlY3Rpb25zPXt9O3RoaXMuY29uZmlnLml0ZW1zLmZvckVhY2goKGYsaCk9PntudWxsIT1mLm9wdGlvbnMmJih0aGlzLmN1cnJlbnRDaG9pY2VTZWxlY3Rpb25zW2hdPWYuZGVmYXVsdFNlbGVjdGlvbil9KX1zaG93KGIsZCl7Y29uc3QgZj1bXTt0aGlzLmNvbmZpZy5pdGVtcy5mb3JFYWNoKChoLGspPT57Y29uc3Qgcj17Y2FwdGlvbjpoLmNhcHRpb24sb25DbGljazpudWxsLG9uSG92ZXI6bnVsbH07aWYobnVsbCE9aC5vcHRpb25zKXtjb25zdCBsPXRoaXMuY3VycmVudENob2ljZVNlbGVjdGlvbnNba107ci5vbkhvdmVyPXA9Pnt2YXIgbT1wLnRhcmdldDtjb25zdCBuPVtdO2gub3B0aW9ucy5mb3JFYWNoKChxLHUpPT57bi5wdXNoKHtjYXB0aW9uOnU9PT1sPwpxKyIgKFx1MjcxMykiOnEsb25DbGljazooKT0+e2whPT11JiYodGhpcy5jdXJyZW50Q2hvaWNlU2VsZWN0aW9uc1trXT11LGguY2FsbGJhY2sodSkpfSxvbkhvdmVyOm51bGx9KX0pO3A9bmV3ICRpKG0pO209bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtwLnNob3cobS50b3AsbS5yaWdodCxuKX19ZWxzZSByLm9uQ2xpY2s9aC5jYWxsYmFjaztudWxsPT1oLmlzRW5hYmxlZHx8aC5pc0VuYWJsZWQoKXx8KHIuZGlzYWJsZWQ9ITApO2YucHVzaChyKX0pO3RoaXMuYmFzZUZsYXRNZW51LnNob3coYixkLGYpfWhpZGUoKXt0aGlzLmJhc2VGbGF0TWVudS5oaWRlKCl9c2hvd24oKXtyZXR1cm4gdGhpcy5iYXNlRmxhdE1lbnUuc2hvd24oKX19ZnVuY3Rpb24gYmooYil7bGV0IGQ9MTtiLmZvckVhY2goZj0+e2QqPWZ9KTtyZXR1cm4gZH1mdW5jdGlvbiBjaihiKXtyZXR1cm4gMD09PWIubGVuZ3RoPyJzY2FsYXIiOmBbJHtifV1gfQpmdW5jdGlvbiBkaihiKXtjb25zdCBkPXtzbGljaW5nRGltc0FuZEluZGljZXM6W10sdmlld2luZ0RpbXM6W10sdmVydGljYWxSYW5nZTpudWxsLGhvcml6b250YWxSYW5nZTpudWxsfTt2YXIgZj1iLmxlbmd0aDtpZigxPT09ZilkLnZpZXdpbmdEaW1zPVswXTtlbHNlIGlmKDE8Zil7aWYoMjxmKWZvcihsZXQgaD0wO2g8Zi0yOysraClkLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5wdXNoKHtkaW06aCxpbmRleDowPT09YltoXT9udWxsOjB9KTtmb3IoZj1iLmxlbmd0aC0yO2Y8Yi5sZW5ndGg7KytmKWQudmlld2luZ0RpbXMucHVzaChmKX1yZXR1cm4gZH0KZnVuY3Rpb24gZWooYixkKXtpZihiLnZpZXdpbmdEaW1zWzBdIT09ZC52aWV3aW5nRGltc1swXXx8Yi52aWV3aW5nRGltc1sxXSE9PWQudmlld2luZ0RpbXNbMV0pcmV0dXJuITE7ZD1iLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5tYXAoZj0+Zi5kaW0pO2Quc29ydCgpO2I9Yi5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKGY9PmYuZGltKTtiLnNvcnQoKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZCk9PT1KU09OLnN0cmluZ2lmeShiKX12YXIgZmo7KGZ1bmN0aW9uKGIpe2JbYi5VUD0xXT0iVVAiO2JbYi5ET1dOPTJdPSJET1dOIjtiW2IuTEVGVD0zXT0iTEVGVCI7YltiLlJJR0hUPTRdPSJSSUdIVCJ9KShmanx8KGZqPXt9KSk7CmNsYXNzIGdqe2NvbnN0cnVjdG9yKGIsZCxmLGgsayxyKXt0aGlzLnNoYXBlPWI7dGhpcy5zbGljZURpbXM9W107dGhpcy5zbGljZUluZGljZXM9W107aWYoMD09PWJqKHRoaXMuc2hhcGUpKXRocm93IEVycm9yKCJUZW5zb3JFbGVtZW50U2VsZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCB0ZW5zb3Igd2l0aCB6ZXJvIGVsZW1lbnRzLiIpO2ZvcihiPTA7YjxkLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5sZW5ndGg7KytiKXt0aGlzLnNsaWNlRGltcy5wdXNoKGQuc2xpY2luZ0RpbXNBbmRJbmRpY2VzW2JdLmRpbSk7Y29uc3QgbD1kLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1tiXS5pbmRleDtpZihudWxsPT09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBUZW5zb3JFbGVtZW50U2VsZWN0aW9uIGR1ZSB0byAiK2B1bmRldGVybWluZWQgc2xpY2luZyBpbmRleCBhdCBkaW1lbnNpb24gJHtifWApO3RoaXMuc2xpY2VJbmRpY2VzLnB1c2gobCl9dGhpcy5yYW5rPXRoaXMuc2hhcGUubGVuZ3RoOwppZigwPHRoaXMucmFuayYmdGhpcy5zbGljZURpbXMubGVuZ3RoPj10aGlzLnJhbmspdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHNsaWNlRGltcyB0byBoYXZlIGEgbGVuZ3RoIGxlc3MgdGhhbiByYW5rICR7dGhpcy5yYW5rfSwgYCtgYnV0IGdvdCBsZW5ndGggJHt0aGlzLnNsaWNlRGltcy5sZW5ndGh9YCk7dGhpcy52aWV3RGltcz1bXTtmb3IoZD0wO2Q8dGhpcy5yYW5rOysrZCktMT09PXRoaXMuc2xpY2VEaW1zLmluZGV4T2YoZCkmJnRoaXMudmlld0RpbXMucHVzaChkKTtpZigyPHRoaXMudmlld0RpbXMubGVuZ3RoKXRocm93IEVycm9yKCJPbmx5IHNlbGVjdGlvbnMgaW4gMUQgYW5kIDJEIGFyZSBzdXBwb3J0ZWQuIik7dGhpcy5yb3dTdGFydD1udWxsPT1mPzA6Zjt0aGlzLmNvbFN0YXJ0PW51bGw9PWg/MDpoO3RoaXMucm93Q291bnQ9bnVsbD09az8xOms7dGhpcy5jb2xDb3VudD1udWxsPT1yPzE6cn1nZXRFbGVtZW50U3RhdHVzKGIpe2lmKGIubGVuZ3RoIT09dGhpcy5yYW5rKXRocm93IEVycm9yKGBFeHBlY3RlZCBpbmRpY2VzIHRvIGhhdmUgYSByYW5rIG9mICR7dGhpcy5yYW5rfSwgYCsKYGJ1dCBnb3QgJHtiLmxlbmd0aH0gKFske2J9XSlgKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZClpZigtMSE9PXRoaXMuc2xpY2VEaW1zLmluZGV4T2YoZCkmJmJbZF0hPT10aGlzLnNsaWNlSW5kaWNlc1t0aGlzLnNsaWNlRGltcy5pbmRleE9mKGQpXSlyZXR1cm4gbnVsbDtkPW51bGw7Y29uc3QgZj10aGlzLnJvd1N0YXJ0K3RoaXMucm93Q291bnQ7dmFyIGg9dGhpcy5jb2xTdGFydCt0aGlzLmNvbENvdW50O2lmKDA9PT10aGlzLnZpZXdEaW1zLmxlbmd0aCkwPT09Yi5sZW5ndGgmJihkPXt0b3BFZGdlOiEwLGJvdHRvbUVkZ2U6ITAsbGVmdEVkZ2U6ITAscmlnaHRFZGdlOiEwfSk7ZWxzZSBpZigxPT09dGhpcy52aWV3RGltcy5sZW5ndGgpaD10aGlzLnZpZXdEaW1zWzBdLGJbaF0+PXRoaXMucm93U3RhcnQmJmJbaF08ZiYmKGQ9e3RvcEVkZ2U6YltoXT09PXRoaXMucm93U3RhcnQsYm90dG9tRWRnZTpiW2hdPT09Zi0xLGxlZnRFZGdlOiEwLHJpZ2h0RWRnZTohMH0pO2Vsc2UgaWYoMj09PQp0aGlzLnZpZXdEaW1zLmxlbmd0aCl7Y29uc3Qgaz10aGlzLnZpZXdEaW1zWzBdLHI9dGhpcy52aWV3RGltc1sxXTtiW2tdPj10aGlzLnJvd1N0YXJ0JiZiW2tdPGYmJmJbcl0+PXRoaXMuY29sU3RhcnQmJmJbcl08aCYmKGQ9e3RvcEVkZ2U6YltrXT09PXRoaXMucm93U3RhcnQsYm90dG9tRWRnZTpiW2tdPT09Zi0xLGxlZnRFZGdlOmJbcl09PT10aGlzLmNvbFN0YXJ0LHJpZ2h0RWRnZTpiW3JdPT09aC0xfSl9ZWxzZSB0aHJvdyBFcnJvcihgVW5leHBlY3RlZCBsZW5ndGggb2Ygdmlld0RpbXM6ICR7dGhpcy52aWV3RGltc31gKTtyZXR1cm4gZH1tb3ZlKGIsZCl7bGV0IGY9bnVsbDtpZigwPT09dGhpcy5yYW5rfHwxPT09dGhpcy5yYW5rJiYoYj09PWZqLkxFRlR8fGI9PT1mai5SSUdIVCkpcmV0dXJuIG51bGw7aWYobnVsbD09PWQudmVydGljYWxSYW5nZXx8bnVsbD09PWQudmVydGljYWxSYW5nZVsxXSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIG1vdmUgZHVlIHRvIHVuZGV0ZXJtaW5lZCB2ZXJ0aWNhbCByYW5nZS4iKTsKYj09PWZqLlVQPzA8dGhpcy5yb3dTdGFydCYmKHRoaXMucm93U3RhcnQtLSxudWxsIT1kLnZlcnRpY2FsUmFuZ2UmJnRoaXMucm93U3RhcnQ8ZC52ZXJ0aWNhbFJhbmdlWzBdJiYoZj1mai5VUCkpOmI9PT1mai5ET1dOP251bGwhPWQudmlld2luZ0RpbXMmJm51bGwhPWQudmlld2luZ0RpbXNbMF0mJnRoaXMucm93U3RhcnQ8dGhpcy5zaGFwZVtkLnZpZXdpbmdEaW1zWzBdXS0xJiYodGhpcy5yb3dTdGFydCsrLG51bGwhPWQudmVydGljYWxSYW5nZSYmdGhpcy5yb3dTdGFydD49ZC52ZXJ0aWNhbFJhbmdlWzFdJiYoZj1mai5ET1dOKSk6Yj09PWZqLkxFRlQ/MDx0aGlzLmNvbFN0YXJ0JiYodGhpcy5jb2xTdGFydC0tLG51bGwhPWQuaG9yaXpvbnRhbFJhbmdlJiZ0aGlzLmNvbFN0YXJ0PGQuaG9yaXpvbnRhbFJhbmdlWzBdJiYoZj1mai5MRUZUKSk6Yj09PWZqLlJJR0hUJiZudWxsIT1kLnZpZXdpbmdEaW1zJiZudWxsIT1kLnZpZXdpbmdEaW1zWzFdJiZ0aGlzLmNvbFN0YXJ0PHRoaXMuc2hhcGVbZC52aWV3aW5nRGltc1sxXV0tCjEmJih0aGlzLmNvbFN0YXJ0KyssbnVsbCE9ZC5ob3Jpem9udGFsUmFuZ2UmJnRoaXMuY29sU3RhcnQ+PWQuaG9yaXpvbnRhbFJhbmdlWzFdJiYoZj1mai5SSUdIVCkpO3RoaXMuY29sQ291bnQ9dGhpcy5yb3dDb3VudD0xO3JldHVybiBmfWdldFJvd1N0YXJ0KCl7cmV0dXJuIHRoaXMucm93U3RhcnR9Z2V0Um93Q291bnQoKXtyZXR1cm4gdGhpcy5yb3dDb3VudH1nZXRDb2xTdGFydCgpe3JldHVybiB0aGlzLmNvbFN0YXJ0fWdldENvbENvdW50KCl7cmV0dXJuIHRoaXMuY29sQ291bnR9fQpjbGFzcyBoantjb25zdHJ1Y3RvcihiLGQsZj0oKT0+e30pe3RoaXMucm9vdERpdj1iO3RoaXMuc2hhcGU9ZDt0aGlzLm9uU2xpY2luZ1NwZWNDaGFuZ2U9Zjt0aGlzLmRpbUNvbnRyb2xzPVtdO3RoaXMuZGltSW5wdXRzPVtdO3RoaXMuY29tbWFzPVtdO3RoaXMuZHJvcGRvd25zPVtdO3RoaXMuYnJhY2tldERpdnM9W251bGwsbnVsbF07dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWQ9W107dGhpcy5yYW5rPXRoaXMuc2hhcGUubGVuZ3RoO2lmKDM+dGhpcy5yYW5rKXRocm93IEVycm9yKCJEaW1lbnNpb24gY29udHJvbCBpcyBub3QgYXBwbGljYWJsZSB0byB0ZW5zb3Igc2hhcGVzIGxlc3MgdGhhbiAiK2AzRDogcmVjZWl2ZWQgJHt0aGlzLnJhbmt9RCB0ZW5zb3Igc2hhcGU6IGArYCR7SlNPTi5zdHJpbmdpZnkodGhpcy5zaGFwZSl9LmApO3RoaXMuY3JlYXRlQ29tcG9uZW50cygpO3RoaXMuc2xpY2luZ1NwZWM9ZGooZCl9Y3JlYXRlQ29tcG9uZW50cygpe2Zvcig7dGhpcy5yb290RGl2LmZpcnN0Q2hpbGQ7KXRoaXMucm9vdERpdi5yZW1vdmVDaGlsZCh0aGlzLnJvb3REaXYuZmlyc3RDaGlsZCk7CnRoaXMuZGltQ29udHJvbHM9W107dGhpcy5kaW1JbnB1dHM9W107dGhpcy5jb21tYXM9W107dGhpcy5kcm9wZG93bnM9W107dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWQ9W107dGhpcy5icmFja2V0RGl2c1swXT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmJyYWNrZXREaXZzWzBdLnRleHRDb250ZW50PSJTbGljaW5nOiBbIjt0aGlzLmJyYWNrZXREaXZzWzBdLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWJyYWNrZXRzIik7dGhpcy5yb290RGl2LmFwcGVuZENoaWxkKHRoaXMuYnJhY2tldERpdnNbMF0pO2ZvcihsZXQgZD0wO2Q8dGhpcy5yYW5rOysrZCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbSIpO2IudGl0bGU9YERpbWVuc2lvbiAke2R9OiBzaXplPSR7dGhpcy5zaGFwZVtkXX1gO3RoaXMucm9vdERpdi5hcHBlbmRDaGlsZChiKTt0aGlzLmRpbUNvbnRyb2xzLnB1c2goYik7CnRoaXMuZGltQ29udHJvbHNMaXN0ZW5lckF0dGFjaGVkLnB1c2goITEpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltIik7Yi5zdHlsZS5kaXNwbGF5PSJub25lIjt0aGlzLnJvb3REaXYuYXBwZW5kQ2hpbGQoYik7dGhpcy5kaW1JbnB1dHMucHVzaChiKTtkPHRoaXMucmFuay0xJiYoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWNvbW1hIiksYi50ZXh0Q29udGVudD0iLCIsdGhpcy5yb290RGl2LmFwcGVuZENoaWxkKGIpLHRoaXMuY29tbWFzLnB1c2goYikpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93biIpO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5yb290RGl2LmFwcGVuZENoaWxkKGIpO3RoaXMuZHJvcGRvd25zLnB1c2goYil9dGhpcy5icmFja2V0RGl2c1sxXT0KZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5icmFja2V0RGl2c1sxXS50ZXh0Q29udGVudD0iXSI7dGhpcy5icmFja2V0RGl2c1sxXS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1icmFja2V0cyIpO3RoaXMucm9vdERpdi5hcHBlbmRDaGlsZCh0aGlzLmJyYWNrZXREaXZzWzFdKTt0aGlzLnJvb3REaXYuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9Pnt0aGlzLmNsZWFyQWxsRHJvcGRvd25zKCl9KX1yZW5kZXIoYil7bnVsbCE9YiYmKHRoaXMuc2xpY2luZ1NwZWM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShiKSkpO2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjKXRocm93IEVycm9yKCJTbGljaW5nIGNvbnRyb2wgcmVuZGVyaW5nIGZhaWxlZCBkdWUgdG8gbWlzc2luZyBzbGljaW5nIHNwZWMuIik7Y29uc3QgZD10aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5tYXAoZj0+Zi5kaW0pO2I9dGhpcy5zbGljaW5nU3BlYy5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKGY9PgpmLmluZGV4KTtmb3IobGV0IGY9MDtmPHRoaXMucmFuazsrK2Ype2NvbnN0IGg9dGhpcy5kaW1Db250cm9sc1tmXSxrPXRoaXMuZGltSW5wdXRzW2ZdLHI9dGhpcy5kcm9wZG93bnNbZl07aWYoIm5vbmUiIT09ay5zdHlsZS5kaXNwbGF5KWNvbnRpbnVlO2NvbnN0IGw9dGhpcy5zaGFwZVtmXTtpZigtMSE9PWQuaW5kZXhPZihmKSl7Y29uc3QgcD1iW2QuaW5kZXhPZihmKV07aC50ZXh0Q29udGVudD1TdHJpbmcocCk7ay5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbSIpO2sudHlwZT0ibnVtYmVyIjtrLm1pbj0iMCI7ay5tYXg9U3RyaW5nKGwtMSk7ay52YWx1ZT1TdHJpbmcocCk7dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWRbZl18fChoLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuY2xlYXJBbGxEcm9wZG93bnMoKTtoLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2suc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwKKCk9PntpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYyl0aHJvdyBFcnJvcigiU2xpY2luZyBjb250cm9sIGNoYW5nZSBjYWxsYmFjayBmYWlsZWQgZHVlIHRvIG1pc3Npbmcgc3BlYy4iKTtjb25zdCBtPXBhcnNlSW50KGsudmFsdWUsMTApOyFpc0Zpbml0ZShtKXx8MD5tfHxtPj1sfHxNYXRoLmZsb29yKGwpIT1sP2sudmFsdWU9U3RyaW5nKHRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzW2QuaW5kZXhPZihmKV0uaW5kZXgpOih0aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1tkLmluZGV4T2YoZildLmluZGV4PW0saC50ZXh0Q29udGVudD1TdHJpbmcobSksdGhpcy5vblNsaWNpbmdTcGVjQ2hhbmdlKHRoaXMuc2xpY2luZ1NwZWMpKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntrLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2guc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn0pLHRoaXMuZGltQ29udHJvbHNMaXN0ZW5lckF0dGFjaGVkW2ZdPQohMCl9ZWxzZXtpZih0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdPT09Zil7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcigiTWlzc2luZyB2ZXJ0aWNhbCByYW5nZS4iKTtoLnRleHRDb250ZW50PWBcdTIxOTUgJHt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF19OmArYCR7dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlWzFdfWB9ZWxzZXtpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgaG9yaXpvbnRhbCByYW5nZS4iKTtoLnRleHRDb250ZW50PWBcdTIxOTQgJHt0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZVswXX06YCtgJHt0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZVsxXX1gfWguY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kaW0iKTt0aGlzLmRpbUNvbnRyb2xzTGlzdGVuZXJBdHRhY2hlZFtmXXx8KGguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLAooKT0+e2NvbnN0IHA9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLnJlbmRlckRyb3Bkb3duTWVudUl0ZW1zKHIscC5ib3R0b20scC5sZWZ0LGYpfSksdGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWRbZl09ITApfX19cmVuZGVyRHJvcGRvd25NZW51SXRlbXMoYixkLGYsaCl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIlNsaWNpbmcgY29udHJvbCBjYW5ub3QgcmVuZGVyIGRyb3Bkb3duIG1lbnUgaXRlbXMgZHVlIHRvIG1pc3Npbmcgc2xpY2luZyBzcGVjLiIpO3RoaXMuY2xlYXJBbGxEcm9wZG93bnMoKTtjb25zdCBrPXRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChyPT5yLmRpbSk7Zm9yKGxldCByPTA7cjx0aGlzLnJhbms7KytyKXtpZigtMT09PWsuaW5kZXhPZihyKSljb250aW51ZTtpZihoPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXSYmcjw9dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXXx8Cmg9PXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF0mJnI+PXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMV0pY29udGludWU7Y29uc3QgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbSIpO2wudGV4dENvbnRlbnQ9YFN3YXAgd2l0aCBkaW1lbnNpb24gJHtyfWA7Yi5hcHBlbmRDaGlsZChsKTtsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCgpPT57bC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0tYWN0aXZlIik7dGhpcy5kaW1Db250cm9sc1tyXS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1oaWdobGlnaHRlZCIpfSk7bC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e2wuY2xhc3NMaXN0LnJlbW92ZSgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpOwp0aGlzLmRpbUNvbnRyb2xzW3JdLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtZGltLWhpZ2hsaWdodGVkIil9KTtjb25zdCBwPXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF09PT1oO2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIkRpbWVuc2lvbiBzd2FwcGluZyBmYWlsZWQgZHVlIHRvIG1pc3Npbmcgc2xpY2luZyBzcGVjIik7Y29uc3QgbT1rLmluZGV4T2Yocik7dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1twPzA6MV09cjt0aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1ttXT17ZGltOmgsaW5kZXg6MH07dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlPW51bGw7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2U9bnVsbDtpZih0aGlzLm9uU2xpY2luZ1NwZWNDaGFuZ2UpdGhpcy5vblNsaWNpbmdTcGVjQ2hhbmdlKHRoaXMuc2xpY2luZ1NwZWMpfSl9Yi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKKCk9PntiLnN0eWxlLmRpc3BsYXk9Im5vbmUifSk7aWYoYi5maXJzdENoaWxkKXtiLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCI7Yi5zdHlsZS50b3A9YCR7ZH1weGA7Yi5zdHlsZS5sZWZ0PWAke2Z9cHhgO2Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO2NvbnN0IHI9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxsPXIubGVmdC1mO2Iuc3R5bGUudG9wPShkLShyLnRvcC1kKSkudG9GaXhlZCgxKSsicHgiO2Iuc3R5bGUubGVmdD0oZi1sKS50b0ZpeGVkKDEpKyJweCJ9fXNldFNsaWNpbmdTcGVjKGIpe3RoaXMuc2xpY2luZ1NwZWM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShiKSk7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXQgc2xpY2luZyBzcGVjIHRvIG51bGwuIik7dGhpcy5yZW5kZXIodGhpcy5zbGljaW5nU3BlYyl9Y2xlYXJBbGxEcm9wZG93bnMoKXt0aGlzLmRyb3Bkb3ducy5mb3JFYWNoKGI9PntpZihudWxsIT1iKXtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpOwpiLnN0eWxlLmRpc3BsYXk9Im5vbmUifX0pfX1mdW5jdGlvbiBRayhiKXtyZXR1cm4gMjA+PWIubGVuZ3RoP2I6Yi5zbGljZSgwLDEwKSsiLi4uIitiLnNsaWNlKGIubGVuZ3RoLTcsYi5sZW5ndGgpfWZ1bmN0aW9uIFJrKGIsZCl7aWYoaXNOYU4oYikpcmV0dXJuIk5hTiI7aWYoLUluZmluaXR5PT09YilyZXR1cm4iLVx1MjIxZSI7aWYoSW5maW5pdHk9PT1iKXJldHVybiIrXHUyMjFlIjtpZihudWxsPT1mKXt2YXIgZj1NYXRoLmFicyhiKTtmPTFFMz5mJiYuMDE8PWZ8fDA9PT1mPyJmaXhlZCI6ImV4cG9uZW50aWFsIn1yZXR1cm4gbnVsbD09Znx8ImZpeGVkIj09PWY/ZD9gJHtifWA6Yi50b0ZpeGVkKDIpOmIudG9FeHBvbmVudGlhbCgyKX1mdW5jdGlvbiBTayhiLGQ9ITApe3JldHVybiBiP2Q/IlQiOiJUcnVlIjpkPyJGIjoiRmFsc2UifWZ1bmN0aW9uIFRrKGIsZD00KXtyZXR1cm4gbnVsbD09PWR8fGIubGVuZ3RoPD1kP2I6Yi5zbGljZSgwLGQtMSkrIlx1MjAyNiJ9CmNsYXNzIFVre2NvbnN0cnVjdG9yKGIpe3RoaXMuY29uZmlnPWI7aWYoIWlzRmluaXRlKGIubWluKSl0aHJvdyBFcnJvcihgbWluIHZhbHVlICgke2IubWlufSkgaXMgbm90IGZpbml0ZWApO2lmKCFpc0Zpbml0ZShiLm1heCkpdGhyb3cgRXJyb3IoYG1heCB2YWx1ZSAoJHtiLm1heH0pIGlzIG5vdCBmaW5pdGVgKTtpZihiLm1heDxiLm1pbil0aHJvdyBFcnJvcihgbWF4ICgke2IubWF4fSkgaXMgPCBtaW4gKCR7Yi5taW59KWApO31yZW5kZXIoYixkKXtpZih0aGlzLmNvbmZpZy5taW4hPT10aGlzLmNvbmZpZy5tYXgpe3ZhciBmPWIuZ2V0Q29udGV4dCgiMmQiKTtpZihudWxsIT1mKXt2YXIgaD1iLndpZHRoLzEwMCxrPWIuaGVpZ2h0LHI9LjYqaztmb3IobGV0IGw9MDsxMDA+bDsrK2wpe2NvbnN0IHA9aCpsLG09LjIqayxbbixxLHVdPXRoaXMuZ2V0UkdCKGwvMTAwKih0aGlzLmNvbmZpZy5tYXgtdGhpcy5jb25maWcubWluKSt0aGlzLmNvbmZpZy5taW4pO2YuYmVnaW5QYXRoKCk7Zi5maWxsU3R5bGU9CmByZ2JhKCR7bn0sICR7cX0sICR7dX0sIDEpYDtmLmZpbGxSZWN0KHAsbSxoLHIpO2Yuc3Ryb2tlKCl9bnVsbCE9ZCYmZD49dGhpcy5jb25maWcubWluJiZkPD10aGlzLmNvbmZpZy5tYXgmJihiPShkLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pKmIud2lkdGgsZi5iZWdpblBhdGgoKSxmLmZpbGxTdHlsZT0icmdiYSgwLCAwLCAwLCAxKSIsZi5tb3ZlVG8oYiwuMiprKSxmLmxpbmVUbyhiLTQsMCksZi5saW5lVG8oYis0LDApLGYuZmlsbCgpLGYuYmVnaW5QYXRoKCksZi5tb3ZlVG8oYiwuOCprKSxmLmxpbmVUbyhiLTQsayksZi5saW5lVG8oYis0LGspLGYuZmlsbCgpKX19fX0KY2xhc3MgVmsgZXh0ZW5kcyBVa3tnZXRSR0IoYil7aWYoaXNOYU4oYikpcmV0dXJuWzI1NSwwLDBdO2lmKCFpc0Zpbml0ZShiKSlyZXR1cm4gMDxiP1swLDAsMjU1XTpbMjU1LDEyNy41LDBdO2I9dGhpcy5jb25maWcubWluPT09dGhpcy5jb25maWcubWF4Py41OihiLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pO2I9TWF0aC5tYXgoTWF0aC5taW4oYiwxKSwwKTtyZXR1cm5bMjU1KmIsMjU1KmIsMjU1KmJdfX0KY2xhc3MgV2sgZXh0ZW5kcyBVa3tnZXRSR0IoYil7aWYoaXNOYU4oYikpcmV0dXJuWzYzLjc1LDYzLjc1LDYzLjc1XTtpZighaXNGaW5pdGUoYikpcmV0dXJuIDA+Yj9bMTI3LjUsMTI3LjUsMTI3LjVdOlsxOTEuMjUsMTkxLjI1LDE5MS4yNV07bGV0IGQ9MCxmPTAsaD0wO2I9dGhpcy5jb25maWcubWluPT09dGhpcy5jb25maWcubWF4Py41OihiLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pO2I9TWF0aC5tYXgoTWF0aC5taW4oYiwxKSwwKTsuMzU+PWI/KGY9Yi8uMzUsaD0xKTouMzU8YiYmLjY1Pj1iPyhkPShiLS4zNSkvKC42NS0uMzUpLGY9MSxoPSguNjUtYikvKC42NS0uMzUpKTouNjU8YiYmKGQ9MSxmPSgxLWIpLy4zNSk7cmV0dXJuWzI1NSpkLDI1NSpmLDI1NSpoXX19CkpoPWZ1bmN0aW9uKGIsZCxmLGgpe2Z1bmN0aW9uIGsocil7cmV0dXJuIHIgaW5zdGFuY2VvZiBmP3I6bmV3IGYoZnVuY3Rpb24obCl7bChyKX0pfXJldHVybiBuZXcgKGZ8fChmPVByb21pc2UpKShmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAocSl7dHJ5e24oaC5uZXh0KHEpKX1jYXRjaCh1KXtsKHUpfX1mdW5jdGlvbiBtKHEpe3RyeXtuKGhbInRocm93Il0ocSkpfWNhdGNoKHUpe2wodSl9fWZ1bmN0aW9uIG4ocSl7cS5kb25lP3IocS52YWx1ZSk6ayhxLnZhbHVlKS50aGVuKHAsbSl9bigoaD1oLmFwcGx5KGIsZHx8W10pKS5uZXh0KCkpfSl9O3ZhciBYazsoZnVuY3Rpb24oYil7YltiLlRFWFQ9MV09IlRFWFQiO2JbYi5JTUFHRT0yXT0iSU1BR0UifSkoWGt8fChYaz17fSkpO2NvbnN0IFlrPXtHcmF5c2NhbGU6VmssSmV0OldrfTsKY2xhc3MgWmt7Y29uc3RydWN0b3IoYixkLGYpe3RoaXMucm9vdEVsZW1lbnQ9Yjt0aGlzLnRlbnNvclZpZXc9ZDt0aGlzLmJhc2VSdWxlclRpY2s9dGhpcy50b3BSdWxlcj10aGlzLnZhbHVlU2VjdGlvbj10aGlzLnNsaWNpbmdTcGVjUm9vdD10aGlzLm1lbnVUaHVtYj10aGlzLmluZm9TdWJzZWN0aW9uPXRoaXMuaGVhZGVyU2VjdGlvbj1udWxsO3RoaXMudG9wUnVsZXJUaWNrcz1bXTt0aGlzLmxlZnRSdWxlclRpY2tzPVtdO3RoaXMudmFsdWVSb3dzPVtdO3RoaXMudmFsdWVEaXZzPVtdO3RoaXMuc2xpY2luZ0NvbnRyb2w9dGhpcy52YWx1ZVRvb2x0aXA9bnVsbDt0aGlzLmNvbHNDdXRvZmY9dGhpcy5yb3dzQ3V0b2ZmPSExO3RoaXMubWVudT10aGlzLm1lbnVDb25maWc9dGhpcy5zZWxlY3Rpb249bnVsbDt0aGlzLmNvbG9yTWFwTmFtZT0iR3JheXNjYWxlIjt0aGlzLmNvbG9yTWFwPW51bGw7dGhpcy5zaG93SW5kaWNlc09uVGlja3M9ITE7dGhpcy5pbWFnZUNlbGxTaXplPTE2O3RoaXMubWluSW1hZ2VDZWxsU2l6ZT0KNDt0aGlzLm1heEltYWdlQ2VsbFNpemU9NDA7dGhpcy56b29tU3RlcFJhdGlvPTEuMjt0aGlzLm51bWVyaWNTdW1tYXJ5PW51bGw7dGhpcy5vcHRpb25zPWZ8fHt9O3RoaXMuc2xpY2luZ1NwZWM9ZGoodGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGUpO3RoaXMucmFuaz10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZS5sZW5ndGg7dGhpcy52YWx1ZVJlbmRlck1vZGU9WGsuVEVYVH1yZW5kZXIoKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RoaXMucm9vdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldCIpO3RoaXMucmVuZGVySGVhZGVyKCk7aWYoIShMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSl8fE1oKHRoaXMudGVuc29yVmlldy5zcGVjLmR0eXBlKXx8WWkodGhpcy50ZW5zb3JWaWV3LnNwZWMuZHR5cGUpfHxaaSh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSkpKXRocm93IEVycm9yKGBSZW5kZXJpbmcgZHR5cGUgJHt0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZX0gaXMgbm90IHN1cHBvcnRlZCB5ZXQuYCk7CnlpZWxkIHRoaXMucmVuZGVyVmFsdWVzKCl9KX1yZW5kZXJIZWFkZXIoKXtudWxsPT10aGlzLmhlYWRlclNlY3Rpb24mJih0aGlzLmhlYWRlclNlY3Rpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5oZWFkZXJTZWN0aW9uLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtaGVhZGVyIiksdGhpcy5yb290RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmhlYWRlclNlY3Rpb24pLHRoaXMuY3JlYXRlTWVudSgpKTt0aGlzLnJlbmRlckluZm8oKX1yZW5kZXJJbmZvKCl7aWYobnVsbD09PXRoaXMuaGVhZGVyU2VjdGlvbil0aHJvdyBFcnJvcigiUmVuZGVyaW5nIHRlbnNvciBpbmZvIGZhaWxlZCBkdWUgdG8gbWlzaW5nIGhlYWRlciBzZWN0aW9uIik7bnVsbD09dGhpcy5pbmZvU3Vic2VjdGlvbiYmKHRoaXMuaW5mb1N1YnNlY3Rpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5pbmZvU3Vic2VjdGlvbi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWluZm8iKSwKdGhpcy5oZWFkZXJTZWN0aW9uLmFwcGVuZENoaWxkKHRoaXMuaW5mb1N1YnNlY3Rpb24pKTtmb3IoO3RoaXMuaW5mb1N1YnNlY3Rpb24uZmlyc3RDaGlsZDspdGhpcy5pbmZvU3Vic2VjdGlvbi5yZW1vdmVDaGlsZCh0aGlzLmluZm9TdWJzZWN0aW9uLmZpcnN0Q2hpbGQpO3RoaXMucmVuZGVyTmFtZSgpO3RoaXMucmVuZGVyRFR5cGUoKTt0aGlzLnJlbmRlclNoYXBlKCl9cmVuZGVyTmFtZSgpe2lmKG51bGw9PXRoaXMuaW5mb1N1YnNlY3Rpb24pdGhyb3cgRXJyb3IoIlJlbmRlcmluZyB0ZW5zb3IgbmFtZSBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaW5mbyBzdWJzZWN0aW9uLiIpO2lmKG51bGwhPXRoaXMub3B0aW9ucy5uYW1lJiYwIT09dGhpcy5vcHRpb25zLm5hbWUubGVuZ3RoKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdGVuc29yLW5hbWUiKTtiLnRleHRDb250ZW50PVFrKHRoaXMub3B0aW9ucy5uYW1lKTsKYi50aXRsZT10aGlzLm9wdGlvbnMubmFtZTt0aGlzLmluZm9TdWJzZWN0aW9uLmFwcGVuZENoaWxkKGIpfX1yZW5kZXJEVHlwZSgpe2lmKG51bGw9PXRoaXMuaW5mb1N1YnNlY3Rpb24pdGhyb3cgRXJyb3IoIlJlbmRlcmluZyB0ZW5zb3IgZHR5cGUgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIGluZm8gc3Vic2VjdGlvbi4iKTtjb25zdCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kdHlwZSIpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtkLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZHR5cGUtbGFiZWwiKTtkLnRleHRDb250ZW50PSJkdHlwZToiO2IuYXBwZW5kQ2hpbGQoZCk7ZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZC50ZXh0Q29udGVudD10aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZTtiLmFwcGVuZENoaWxkKGQpO3RoaXMuaW5mb1N1YnNlY3Rpb24uYXBwZW5kQ2hpbGQoYil9cmVuZGVyU2hhcGUoKXtpZihudWxsPT0KdGhpcy5pbmZvU3Vic2VjdGlvbil0aHJvdyBFcnJvcigiUmVuZGVyaW5nIHRlbnNvciBzaGFwZSBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaW5mbyBzdWJzZWN0aW9uLiIpO2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlIik7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlLWxhYmVsIik7ZC50ZXh0Q29udGVudD0ic2hhcGU6IjtiLmFwcGVuZENoaWxkKGQpO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlLXZhbHVlIik7ZC50ZXh0Q29udGVudD1jaih0aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZSk7Yi5hcHBlbmRDaGlsZChkKTt0aGlzLmluZm9TdWJzZWN0aW9uLmFwcGVuZENoaWxkKGIpfWNyZWF0ZU1lbnUoKXt0aGlzLm1lbnVDb25maWc9e2l0ZW1zOltdfTsKaWYoTWgodGhpcy50ZW5zb3JWaWV3LnNwZWMuZHR5cGUpfHxMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSl8fFlpKHRoaXMudGVuc29yVmlldy5zcGVjLmR0eXBlKSl0aGlzLm1lbnVDb25maWcuaXRlbXMucHVzaCh7Y2FwdGlvbjoiU2VsZWN0IGRpc3BsYXkgbW9kZS4uLiIsb3B0aW9uczpbIlRleHQiLCJJbWFnZSJdLGRlZmF1bHRTZWxlY3Rpb246MCxjYWxsYmFjazpiPT57MD09PWI/KHRoaXMudmFsdWVSZW5kZXJNb2RlPVhrLlRFWFQsdGhpcy5yZW5kZXJWYWx1ZXMoKSk6KHRoaXMudmFsdWVSZW5kZXJNb2RlPVhrLklNQUdFLHRoaXMudGVuc29yVmlldy5nZXROdW1lcmljU3VtbWFyeSgpLnRoZW4oZD0+e3RoaXMubnVtZXJpY1N1bW1hcnk9ZDt0aGlzLnJlbmRlclZhbHVlcygpfSkpfX0pLHRoaXMubWVudUNvbmZpZy5pdGVtcy5wdXNoKHtjYXB0aW9uOiJTZWxlY3QgY29sb3IgbWFwLi4uIixvcHRpb25zOk9iamVjdC5rZXlzKFlrKSxkZWZhdWx0U2VsZWN0aW9uOjAsY2FsbGJhY2s6Yj0+Cnt0aGlzLmNvbG9yTWFwTmFtZT1PYmplY3Qua2V5cyhZaylbYl07dGhpcy5yZW5kZXJWYWx1ZXMoKX0saXNFbmFibGVkOigpPT50aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFfSksdGhpcy5tZW51Q29uZmlnLml0ZW1zLnB1c2goe2NhcHRpb246Ilpvb20gaW4gKEltYWdlIG1vZGUpIixjYWxsYmFjazooKT0+e3RoaXMuem9vbUluT25lU3RlcEFuZFJlbmRlclZhbHVlcygpfSxpc0VuYWJsZWQ6KCk9PnRoaXMudmFsdWVSZW5kZXJNb2RlPT09WGsuSU1BR0V9KSx0aGlzLm1lbnVDb25maWcuaXRlbXMucHVzaCh7Y2FwdGlvbjoiWm9vbSBvdXQgKEltYWdlIG1vZGUpIixjYWxsYmFjazooKT0+e3RoaXMuem9vbU91dE9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKX0saXNFbmFibGVkOigpPT50aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFfSk7bnVsbCE9PXRoaXMubWVudUNvbmZpZyYmMDx0aGlzLm1lbnVDb25maWcuaXRlbXMubGVuZ3RoJiYodGhpcy5tZW51PW5ldyBhaih0aGlzLm1lbnVDb25maWcsCnRoaXMuaGVhZGVyU2VjdGlvbiksdGhpcy5yZW5kZXJNZW51VGh1bWIoKSl9em9vbUluT25lU3RlcEFuZFJlbmRlclZhbHVlcygpe3RoaXMuaW1hZ2VDZWxsU2l6ZSp0aGlzLnpvb21TdGVwUmF0aW88PXRoaXMubWF4SW1hZ2VDZWxsU2l6ZSYmKHRoaXMuaW1hZ2VDZWxsU2l6ZSo9dGhpcy56b29tU3RlcFJhdGlvLHRoaXMucmVuZGVyVmFsdWVzKCkpfXpvb21PdXRPbmVTdGVwQW5kUmVuZGVyVmFsdWVzKCl7dGhpcy5pbWFnZUNlbGxTaXplL3RoaXMuem9vbVN0ZXBSYXRpbz49dGhpcy5taW5JbWFnZUNlbGxTaXplJiYodGhpcy5pbWFnZUNlbGxTaXplLz10aGlzLnpvb21TdGVwUmF0aW8sdGhpcy5yZW5kZXJWYWx1ZXMoKSl9cmVuZGVyTWVudVRodW1iKCl7aWYobnVsbD09dGhpcy5oZWFkZXJTZWN0aW9uKXRocm93IEVycm9yKCJSZW5kZXJpbmcgbWVudSB0aHVtYiBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaGVhZGVyIHNlY3Rpb24uIik7dGhpcy5tZW51VGh1bWI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CnRoaXMubWVudVRodW1iLnRleHRDb250ZW50PSJcdTIyZWUiO3RoaXMubWVudVRodW1iLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtbWVudS10aHVtYiIpO3RoaXMuaGVhZGVyU2VjdGlvbi5hcHBlbmRDaGlsZCh0aGlzLm1lbnVUaHVtYik7dGhpcy5tZW51VGh1bWIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aWYobnVsbCE9PXRoaXMubWVudSlpZih0aGlzLm1lbnUuc2hvd24oKSl0aGlzLm1lbnUuaGlkZSgpO2Vsc2V7Y29uc3QgYj10aGlzLm1lbnVUaHVtYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLm1lbnUuc2hvdyhiLmJvdHRvbSxiLmxlZnQpfX0pfXJlbmRlclZhbHVlcygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7Mjx0aGlzLnJhbmsmJm51bGw9PT10aGlzLnNsaWNpbmdTcGVjUm9vdCYmKHRoaXMuc2xpY2luZ1NwZWNSb290PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuc2xpY2luZ1NwZWNSb290LmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtc2xpY2luZy1ncm91cCIpLAp0aGlzLnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2xpY2luZ1NwZWNSb290KSk7bnVsbD09dGhpcy52YWx1ZVNlY3Rpb24mJih0aGlzLnZhbHVlU2VjdGlvbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnZhbHVlU2VjdGlvbi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLXNlY3Rpb24iKSx0aGlzLnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudmFsdWVTZWN0aW9uKSx0aGlzLnZhbHVlU2VjdGlvbi5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsYj0+SmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2xldCBkPSExO251bGw9PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXl8fCJjdHJsIj09PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXk/ZD1iLmN0cmxLZXk6ImFsdCI9PT10aGlzLm9wdGlvbnMud2hlZWxab29tS2V5P2Q9Yi5hbHRLZXk6InNoaWZ0Ij09PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXkmJihkPWIuc2hpZnRLZXkpOwpkJiZ0aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFPyhiLnN0b3BQcm9wYWdhdGlvbigpLGIucHJldmVudERlZmF1bHQoKSwwPGIuZGVsdGFZP3RoaXMuem9vbU91dE9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKTp0aGlzLnpvb21Jbk9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKSk6bnVsbCE9dGhpcy5zZWxlY3Rpb24mJihiLnN0b3BQcm9wYWdhdGlvbigpLGIucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKSx5aWVsZCB0aGlzLnNjcm9sbFVwT3JEb3duKDA8Yi5kZWx0YVk/ZmouRE9XTjpmai5VUCkpfSkpLHRoaXMudmFsdWVTZWN0aW9uLnRhYkluZGV4PTEwMjQsdGhpcy52YWx1ZVNlY3Rpb24uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYj0+e3ZhciBkPVszOCw0MCwzNywzOV07aWYobnVsbCE9dGhpcy5zZWxlY3Rpb24mJi0xIT09ZC5pbmRleE9mKGIua2V5Q29kZSkpe2Iuc3RvcFByb3BhZ2F0aW9uKCk7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuaGlkZVZhbHVlVG9vbHRpcCgpOwpsZXQgZj1kPW51bGw7Mzg9PT1iLmtleUNvZGU/Zj1mai5VUDo0MD09PWIua2V5Q29kZT9mPWZqLkRPV046Mzc9PT1iLmtleUNvZGU/Zj1mai5MRUZUOjM5PT09Yi5rZXlDb2RlJiYoZj1mai5SSUdIVCk7bnVsbCE9PWYmJihkPXRoaXMuc2VsZWN0aW9uLm1vdmUoZix0aGlzLnNsaWNpbmdTcGVjKSk7bnVsbD09PWQ/dGhpcy5yZW5kZXJTZWxlY3Rpb24oKTpkPT09ZmouVVB8fGQ9PT1mai5ET1dOP3RoaXMuc2Nyb2xsVXBPckRvd24oZCk6KGQ9PT1mai5MRUZUfHxkPT09ZmouUklHSFQpJiZ0aGlzLnNjcm9sbExlZnRPclJpZ2h0KGQpfX0pKTt0aGlzLmNsZWFyVmFsdWVTZWN0aW9uKCk7dGhpcy5jcmVhdGVUb3BSdWxlcigpO3RoaXMuY3JlYXRlTGVmdFJ1bGVyKCk7dGhpcy5jcmVhdGVWYWx1ZURpdnMoKTt5aWVsZCB0aGlzLnJlbmRlclJ1bGVyc0FuZFZhbHVlRGl2cygpOzI8dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nQ29udHJvbD1uZXcgaGoodGhpcy5zbGljaW5nU3BlY1Jvb3QsdGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGUsCmI9PkpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtlaih0aGlzLnNsaWNpbmdTcGVjLGIpPyh0aGlzLnNsaWNpbmdTcGVjPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYikpLHlpZWxkIHRoaXMucmVuZGVyUnVsZXJzQW5kVmFsdWVEaXZzKCkpOih0aGlzLnNsaWNpbmdTcGVjPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYikpLHlpZWxkIHRoaXMucmVuZGVyKCkpfSkpLHRoaXMuc2xpY2luZ0NvbnRyb2wucmVuZGVyKHRoaXMuc2xpY2luZ1NwZWMpKX0pfWNsZWFyVmFsdWVTZWN0aW9uKCl7aWYobnVsbCE9PXRoaXMudmFsdWVTZWN0aW9uKXtmb3IoO3RoaXMudmFsdWVTZWN0aW9uLmZpcnN0Q2hpbGQ7KXRoaXMudmFsdWVTZWN0aW9uLnJlbW92ZUNoaWxkKHRoaXMudmFsdWVTZWN0aW9uLmZpcnN0Q2hpbGQpO3RoaXMudG9wUnVsZXI9bnVsbDt0aGlzLnZhbHVlUm93cz1bXX19Y3JlYXRlVG9wUnVsZXIoKXtpZihudWxsPT09dGhpcy52YWx1ZVNlY3Rpb24pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgdG9wIHJ1bGVyIGR1ZSB0byBtaXNzaW5nIHZhbHVlIHNlY3Rpb24uIik7Cm51bGw9PXRoaXMudG9wUnVsZXImJih0aGlzLnRvcFJ1bGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMudG9wUnVsZXIuY2xhc3NMaXN0LmFkZCgidGVuZXNvci13aWRnZXQtdG9wLXJ1bGVyIiksdGhpcy50b3BSdWxlci5zdHlsZS53aGl0ZVNwYWNlPSJub3dyYXAiLHRoaXMudmFsdWVTZWN0aW9uLmFwcGVuZENoaWxkKHRoaXMudG9wUnVsZXIpLHRoaXMudG9wUnVsZXJUaWNrcz1bXSx0aGlzLnRvcFJ1bGVyLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixmPT5KaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7bnVsbCE9dGhpcy5zZWxlY3Rpb24mJihmLnN0b3BQcm9wYWdhdGlvbigpLGYucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKSx5aWVsZCB0aGlzLnNjcm9sbExlZnRPclJpZ2h0KDA8Zi5kZWx0YVk/ZmouUklHSFQ6ZmouTEVGVCkpfSkpKTtmb3IoO3RoaXMudG9wUnVsZXIuZmlyc3RDaGlsZDspdGhpcy50b3BSdWxlci5yZW1vdmVDaGlsZCh0aGlzLnRvcFJ1bGVyLmZpcnN0Q2hpbGQpOwp0aGlzLmJhc2VSdWxlclRpY2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5iYXNlUnVsZXJUaWNrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2siKTt0aGlzLnRvcFJ1bGVyLmFwcGVuZENoaWxkKHRoaXMuYmFzZVJ1bGVyVGljayk7Mjw9dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2U9WzAsbnVsbF0pO2xldCBiO2I9MT49dGhpcy5yYW5rPzE6dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07Y29uc3QgZD10aGlzLnJvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0O3RoaXMuY29sc0N1dG9mZj0hMTtmb3IobGV0IGY9MDtmPGI7KytmKXtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC10b3AtcnVsZXItdGljayIpO3RoaXMudmFsdWVSZW5kZXJNb2RlPT09ClhrLklNQUdFJiYoaC5zdHlsZS53aWR0aD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgKTt0aGlzLnRvcFJ1bGVyLmFwcGVuZENoaWxkKGgpO3RoaXMudG9wUnVsZXJUaWNrcy5wdXNoKGgpO2lmKGguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ+PWQpe2lmKDI8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlKXRocm93IEVycm9yKGBNaXNzaW5nIGhvcml6b250YWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPWYrMTt0aGlzLmNvbHNDdXRvZmY9ITB9YnJlYWt9fWlmKCF0aGlzLmNvbHNDdXRvZmYmJjI8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlKXRocm93IEVycm9yKGBNaXNzaW5nIGhvcml6b250YWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPQpifX1jcmVhdGVMZWZ0UnVsZXIoKXtpZihudWxsPT09dGhpcy52YWx1ZVNlY3Rpb24pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgbGVmdCBydWxlciBkdWUgdG8gbWlzc2luZyB2YWx1ZSBzZWN0aW9uLiIpO3RoaXMudmFsdWVSb3dzPVtdO3RoaXMubGVmdFJ1bGVyVGlja3M9W107MTw9dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlPVswLG51bGxdKTtsZXQgYjtiPTA9PT10aGlzLnJhbms/MTp0aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTt0aGlzLnJvd3NDdXRvZmY9ITE7Y29uc3QgZD10aGlzLnJvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTtmb3IobGV0IGY9MDtmPGI7KytmKXtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS1yb3ciKTt0aGlzLnZhbHVlUmVuZGVyTW9kZT09PQpYay5JTUFHRSYmKGguc3R5bGUuaGVpZ2h0PWAke3RoaXMuaW1hZ2VDZWxsU2l6ZX1weGAsaC5zdHlsZS5saW5lSGVpZ2h0PWAke3RoaXMuaW1hZ2VDZWxsU2l6ZX1weGApO3RoaXMudmFsdWVTZWN0aW9uLmFwcGVuZENoaWxkKGgpO3RoaXMudmFsdWVSb3dzLnB1c2goaCk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2siKTt0aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFJiYoay5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCxrLnN0eWxlLmxpbmVIZWlnaHQ9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCk7aC5hcHBlbmRDaGlsZChrKTt0aGlzLmxlZnRSdWxlclRpY2tzLnB1c2goayk7aWYoay5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20+PWQpe2lmKDE8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyB2ZXJ0aWNhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7CnRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1mKzE7dGhpcy5yb3dzQ3V0b2ZmPSEwfWJyZWFrfX1pZighdGhpcy5yb3dzQ3V0b2ZmJiYxPD10aGlzLnJhbmspe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGljYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1ifX1jcmVhdGVWYWx1ZURpdnMoKXtpZihudWxsPT09dGhpcy52YWx1ZVJvd3MpdGhyb3cgRXJyb3IoIlZhbHVlIHJvd3MgYXJlIHVuZXhwZWN0ZWRseSB1bmluaXRpYWxpemVkLiIpO3RoaXMudmFsdWVEaXZzPVtdO2NvbnN0IGI9dGhpcy50b3BSdWxlclRpY2tzLmxlbmd0aCxkPXRoaXMudmFsdWVSb3dzLmxlbmd0aDtmb3IobGV0IGY9MDtmPGQ7KytmKXt0aGlzLnZhbHVlRGl2c1tmXT1bXTtmb3IobGV0IGg9MDtoPGI7KytoKXtjb25zdCBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwprLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2Iik7dGhpcy52YWx1ZVJlbmRlck1vZGU9PT1Yay5JTUFHRSYmKGsuc3R5bGUud2lkdGg9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCxrLnN0eWxlLmhlaWdodD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgLGsuc3R5bGUubGluZUhlaWdodD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgKTt0aGlzLnZhbHVlUm93c1tmXS5hcHBlbmRDaGlsZChrKTt0aGlzLnZhbHVlRGl2c1tmXS5wdXNoKGspO2suYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5zZWxlY3Rpb249bmV3IGdqKHRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlLHRoaXMuc2xpY2luZ1NwZWMsbnVsbD09dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlfHxudWxsPT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0/MDp0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0rZixudWxsPT10aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZXx8Cm51bGw9PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdPzA6dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF0raCwxLDEpO3RoaXMucmVuZGVyU2VsZWN0aW9uKCl9KTtrLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCgpPT57Y29uc3Qgcj1rLmdldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiKTtpZihudWxsIT09cil7dmFyIGw9dGhpcy5yb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPWsuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbT1wLmJvdHRvbS1wLnRvcCxuPXAucmlnaHQtcC5sZWZ0LHE9dGhpcy5jYWxjdWxhdGVJbmRpY2VzKGYsaCk7dGhpcy5kcmF3VmFsdWVUb29sdGlwKHEscixwLnRvcC1sLnRvcCsuOCptLHAubGVmdC1sLmxlZnQrLjc1Km4pfX0pO2suYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9Pnt0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKX0pfX19cmVuZGVyVG9wUnVsZXIoKXtpZigyPD10aGlzLnJhbmspe2NvbnN0IGI9CnRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlW3RoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMV1dO2ZvcihsZXQgZD0wO2Q8dGhpcy50b3BSdWxlclRpY2tzLmxlbmd0aDsrK2Qpe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyBob3Jpem9udGFsIHJhbmdlIGZvciAke3RoaXMucmFua31EIHRlbnNvci5gKTtjb25zdCBmPXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdK2Q7dGhpcy5zaG93SW5kaWNlc09uVGlja3MmJih0aGlzLnRvcFJ1bGVyVGlja3NbZF0udGV4dENvbnRlbnQ9ZjxiP2Ake2Z9YDoiIil9fX1yZW5kZXJMZWZ0UnVsZXIoKXtpZigxPD10aGlzLnJhbmspe2NvbnN0IGI9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXV07Zm9yKGxldCBkPTA7ZDx0aGlzLmxlZnRSdWxlclRpY2tzLmxlbmd0aDsrK2Qpe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGNpYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApOwpjb25zdCBmPXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVswXStkO3RoaXMuc2hvd0luZGljZXNPblRpY2tzJiYodGhpcy5sZWZ0UnVsZXJUaWNrc1tkXS50ZXh0Q29udGVudD1mPGI/YCR7Zn1gOiIiKX19fXJlbmRlclZhbHVlRGl2cygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7Y29uc3QgYj10aGlzLnZhbHVlRGl2cy5sZW5ndGgsZD10aGlzLnZhbHVlRGl2c1swXS5sZW5ndGg7bGV0IGY9eWllbGQgdGhpcy50ZW5zb3JWaWV3LnZpZXcodGhpcy5zbGljaW5nU3BlYyk7MD09PXRoaXMucmFuaz9mPVtbZl1dOjE9PT10aGlzLnJhbmsmJihmPWYubWFwKHA9PltwXSkpO2NvbnN0IGg9dGhpcy5nZXRWYWx1ZUNsYXNzKCksaz10aGlzLnZhbHVlUmVuZGVyTW9kZTtpZihrPT09WGsuSU1BR0Upe2lmKG51bGw9PXRoaXMubnVtZXJpY1N1bW1hcnkpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZW5kZXIgaW1hZ2UgcmVwcmVzZW50YXRpb24gb2YgdGVuc29yIGR1ZSB0byBtaXNzaW5nIG51bWVyaWMgc3VtbWFyeSIpOwp2YXIgcj10aGlzLm51bWVyaWNTdW1tYXJ5Lm1pbmltdW0sbD10aGlzLm51bWVyaWNTdW1tYXJ5Lm1heGltdW07aWYobnVsbD09cnx8bnVsbD09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIHJlbmRlciBpbWFnZSByZXByZXNlbnRhdGlvbiBvZiB0ZW5zb3IgZHVlIHRvIG1pc3NpbmcgbWluaW11bSBvciBtYXhpbXVtIHZhbHVlcyBpbiBudW1lcmljIHN1bW1hcnkiKTtyPXttaW46cixtYXg6bH07dGhpcy5jb2xvck1hcD10aGlzLmNvbG9yTWFwTmFtZSBpbiBZaz9uZXcgWWtbdGhpcy5jb2xvck1hcE5hbWVdKHIpOm5ldyBWayhyKX1mb3Iocj0wO3I8YjsrK3IpZm9yKGw9MDtsPGQ7KytsKXtjb25zdCBwPXRoaXMudmFsdWVEaXZzW3JdW2xdO2lmKHI8Zi5sZW5ndGgmJmw8ZltyXS5sZW5ndGgpe2NvbnN0IG09ZltyXVtsXTtpZihrPT09WGsuSU1BR0Upe2NvbnN0IFtuLHEsdV09dGhpcy5jb2xvck1hcC5nZXRSR0IobSk7cC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9YHJnYigke259LCAke3F9LCAke3V9KWB9ZWxzZSJudW1lcmljIj09PQpoP3AudGV4dENvbnRlbnQ9UmsobSxMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSkpOiJib29sZWFuIj09PWg/cC50ZXh0Q29udGVudD1TayhtKToic3RyaW5nIj09PWgmJihwLnRleHRDb250ZW50PVRrKG0pKTtwLnNldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiLHRoaXMuZ2V0RGV0YWlsZWRWYWx1ZVRvb2x0aXBTdHJpbmcobSkpfWVsc2UgcC50ZXh0Q29udGVudD0iIixwLnNldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiLCIiKX10aGlzLnJlbmRlclNlbGVjdGlvbigpfSl9Z2V0RGV0YWlsZWRWYWx1ZVRvb2x0aXBTdHJpbmcoYil7cmV0dXJuImJvb2xlYW4iPT09dGhpcy5nZXRWYWx1ZUNsYXNzKCk/U2soYiwhMSk6InN0cmluZyI9PT10aGlzLmdldFZhbHVlQ2xhc3MoKT9gTGVuZ3RoLSR7Yi5sZW5ndGh9IHN0cmluZzogIiR7VGsoYiw1MDApfSJgOlN0cmluZyhiKX1yZW5kZXJTZWxlY3Rpb24oKXtpZihudWxsIT10aGlzLnNlbGVjdGlvbil7dmFyIGI9dGhpcy52YWx1ZURpdnMubGVuZ3RoLApkPXRoaXMudmFsdWVEaXZzWzBdLmxlbmd0aDtmb3IobGV0IGg9MDtoPGI7KytoKWZvcihsZXQgaz0wO2s8ZDsrK2spe2NvbnN0IHI9dGhpcy52YWx1ZURpdnNbaF1ba107ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24iKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi10b3AiKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1ib3R0b20iKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1sZWZ0Iik7ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tcmlnaHQiKTt2YXIgZj10aGlzLmNhbGN1bGF0ZUluZGljZXMoaCxrKTtmPXRoaXMuc2VsZWN0aW9uLmdldEVsZW1lbnRTdGF0dXMoZik7bnVsbCE9PWYmJihyLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbiIpLApmLnRvcEVkZ2UmJnIuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXRvcCIpLGYuYm90dG9tRWRnZSYmci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tYm90dG9tIiksZi5sZWZ0RWRnZSYmci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tbGVmdCIpLGYucmlnaHRFZGdlJiZyLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1yaWdodCIpKX19fWNhbGN1bGF0ZUluZGljZXMoYixkKXtjb25zdCBmPVtdLGg9dGhpcy5zbGljaW5nU3BlYy5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKHI9PnIuZGltKSxrPXRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChyPT5yLmluZGV4KTtmb3IobGV0IHI9MDtyPHRoaXMucmFuazsrK3IpaWYoLTEhPT1oLmluZGV4T2Yocikpe2NvbnN0IGw9a1toLmluZGV4T2YocildOwppZihudWxsPT09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNhbGN1bGF0ZSBpbmRpY2VzOiAiK2BVbmRldGVybWluZWQgaW5kZXggYXQgZGltZW5zaW9uICR7cn1gKTtmLnB1c2gobCl9ZWxzZSBpZihyPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXSl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZXx8bnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVswXSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNhbGN1bGF0ZSBpbmRpY2VzIGR1ZSB0byB1bmRlcnRlcm1pbmVkIHZlcnRpY2FsIHJhbmdlLiIpO2YucHVzaCh0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0rYil9ZWxzZSBpZihyPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXSl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlfHxudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF0pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjYWxjdWxhdGUgaW5kaWNlcyBkdWUgdG8gdW5kZXJ0ZXJtaW5lZCB2ZXJ0aWNhbCByYW5nZS4iKTsKZi5wdXNoKHRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdK2QpfXJldHVybiBmfWRyYXdWYWx1ZVRvb2x0aXAoYixkLGYsaCl7bnVsbD09PXRoaXMudmFsdWVUb29sdGlwJiYodGhpcy52YWx1ZVRvb2x0aXA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy52YWx1ZVRvb2x0aXAuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwIiksdGhpcy5yb290RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnZhbHVlVG9vbHRpcCkpO2Zvcig7dGhpcy52YWx1ZVRvb2x0aXAuZmlyc3RDaGlsZDspdGhpcy52YWx1ZVRvb2x0aXAucmVtb3ZlQ2hpbGQodGhpcy52YWx1ZVRvb2x0aXAuZmlyc3RDaGlsZCk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC1pbmRpY2VzIik7ay50ZXh0Q29udGVudD1gSW5kaWNlczogJHtKU09OLnN0cmluZ2lmeShiKX1gOwp0aGlzLnZhbHVlVG9vbHRpcC5hcHBlbmRDaGlsZChrKTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLXZhbHVlIik7Yi50ZXh0Q29udGVudD1kO3RoaXMudmFsdWVUb29sdGlwLmFwcGVuZENoaWxkKGIpO3RoaXMudmFsdWVUb29sdGlwLnN0eWxlLnRvcD1gJHtmfXB4YDt0aGlzLnZhbHVlVG9vbHRpcC5zdHlsZS5sZWZ0PWAke2h9cHhgO3RoaXMudmFsdWVUb29sdGlwLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjt0aGlzLnZhbHVlUmVuZGVyTW9kZT09WGsuSU1BR0UmJm51bGwhPXRoaXMuY29sb3JNYXAmJihmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGYuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWNvbG9yYmFyIiksdGhpcy52YWx1ZVRvb2x0aXAuYXBwZW5kQ2hpbGQoZiksdGhpcy5jb2xvck1hcC5yZW5kZXIoZixwYXJzZUZsb2F0KGQpKSl9aGlkZVZhbHVlVG9vbHRpcCgpe251bGwhPQp0aGlzLnZhbHVlVG9vbHRpcCYmKHRoaXMudmFsdWVUb29sdGlwLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX1yZW5kZXJSdWxlcnNBbmRWYWx1ZURpdnMoKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe251bGwhPXRoaXMuc2xpY2luZ0NvbnRyb2wmJnRoaXMuc2xpY2luZ0NvbnRyb2wuc2V0U2xpY2luZ1NwZWModGhpcy5zbGljaW5nU3BlYyk7dGhpcy5jYWxjdWxhdGVTaG93SW5kaWNlc09uUnVsZXJUaWNrcygpO3RoaXMucmVuZGVyVG9wUnVsZXIoKTt0aGlzLnJlbmRlckxlZnRSdWxlcigpO3lpZWxkIHRoaXMucmVuZGVyVmFsdWVEaXZzKCl9KX1jYWxjdWxhdGVTaG93SW5kaWNlc09uUnVsZXJUaWNrcygpe2lmKDI8PXRoaXMucmFuayl7dmFyIGI9dGhpcy50b3BSdWxlclRpY2tzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc2hvd0luZGljZXNPblRpY2tzPWIucmlnaHQtYi5sZWZ0PjkqTWF0aC5jZWlsKE1hdGgubG9nKHRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlW3RoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF1dKS8KTWF0aC5MTjEwKX1lbHNlIDE9PT10aGlzLnJhbms/KGI9dGhpcy5sZWZ0UnVsZXJUaWNrc1swXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0aGlzLnNob3dJbmRpY2VzT25UaWNrcz0xNjxiLmJvdHRvbS1iLnRvcCk6dGhpcy5zaG93SW5kaWNlc09uVGlja3M9ITF9c2Nyb2xsSG9yaXpvbnRhbGx5KGIpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYoISgxPj10aGlzLnJhbmspKXtpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgaG9yaXpvbnRhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7dmFyIGQ9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07aWYoMD5ifHxiPj1kKXRocm93IEVycm9yKGBJbmRleCBvdXQgb2YgYm91bmQ6ICR7Yn0gaXMgb3V0c2lkZSBbMCwgJHtkfV0pYCk7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF09CmI7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMV09Yit0aGlzLnRvcFJ1bGVyVGlja3MubGVuZ3RoO2Q9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMV0+ZCYmKHRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPWQpO3lpZWxkIHRoaXMucmVuZGVyUnVsZXJzQW5kVmFsdWVEaXZzKCl9fSl9c2Nyb2xsVmVydGljYWxseShiKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2lmKDAhPT10aGlzLnJhbmspe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGljYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO2lmKG51bGw9PT10aGlzLnZhbHVlUm93cyl0aHJvdyBFcnJvcigiVmVydGljYWwgc2Nyb2xsaW5nIGZhaWxlZCBkdWUgdG8gbWlzc2luZyB2YWx1ZSByb3dzLiIpOwp2YXIgZD10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTtpZigwPmJ8fGI+PWQpdGhyb3cgRXJyb3IoYEluZGV4IG91dCBvZiBib3VuZDogJHtifSBpcyBvdXRzaWRlIFswLCAke2R9XSlgKTt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF09Yjt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMV09Yit0aGlzLnZhbHVlUm93cy5sZW5ndGg7ZD10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMV0+ZCYmKHRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1kKTt5aWVsZCB0aGlzLnJlbmRlclJ1bGVyc0FuZFZhbHVlRGl2cygpfX0pfXNjcm9sbFVwT3JEb3duKGIpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYoMCE9PXRoaXMucmFuayYmdGhpcy5yb3dzQ3V0b2ZmKXtpZihudWxsPT09CnRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyB2ZXJ0aWNhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7aWYobnVsbD09PXRoaXMudmFsdWVSb3dzKXRocm93IEVycm9yKCJWZXJ0aWNhbCBzY3JvbGxpbmcgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIHZhbHVlIHJvd3MuIik7dmFyIGQ9dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlWzBdO2I9PT1mai5ET1dOP2Q8dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXV0tKHRoaXMudmFsdWVSb3dzLmxlbmd0aC0xKSYmKHlpZWxkIHRoaXMuc2Nyb2xsVmVydGljYWxseShkKzEpKTowPD1kLTEmJih5aWVsZCB0aGlzLnNjcm9sbFZlcnRpY2FsbHkoZC0xKSl9fSl9c2Nyb2xsTGVmdE9yUmlnaHQoYil7cmV0dXJuIEpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZighKDE+PXRoaXMucmFuaykmJnRoaXMuY29sc0N1dG9mZil7aWYobnVsbD09PQp0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZSl0aHJvdyBFcnJvcigiSG9yaXpvbnRhbCBzY3JvbGxpbmcgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIGhvcml6b250YWwgcmFuZ2UuIik7dmFyIGQ9dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF07Yj09PWZqLlJJR0hUP2Q8dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV0tKHRoaXMudG9wUnVsZXJUaWNrcy5sZW5ndGgtMSkmJih5aWVsZCB0aGlzLnNjcm9sbEhvcml6b250YWxseShkKzEpKTowPD1kLTEmJih5aWVsZCB0aGlzLnNjcm9sbEhvcml6b250YWxseShkLTEpKX19KX1uYXZpZ2F0ZVRvSW5kaWNlcygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dGhyb3cgRXJyb3IoIm5hdmlnYXRlVG9JbmRpY2VzKCkgaXMgbm90IGltcGxlbWVudGVkIHlldC4iKTt9KX1nZXRWYWx1ZUNsYXNzKCl7Y29uc3QgYj10aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZTsKcmV0dXJuIExoKGIpfHxNaChiKT8ibnVtZXJpYyI6WWkoYik/ImJvb2xlYW4iOiJzdHJpbmcifX12YXIgJGs9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsdGVuc29yV2lkZ2V0OmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4gbmV3IFprKGIsZCxmKX0sVkVSU0lPTjoiMC4wLjAifSk7d2luZG93LnRlbnNvcl93aWRnZXQ9JGs7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1zY3JvbGwtdGFyZ2V0LWJlaGF2aW9yL2lyb24tc2Nyb2xsLXRhcmdldC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvblNjcm9sbFRhcmdldEJlaGF2aW9yPXtwcm9wZXJ0aWVzOntzY3JvbGxUYXJnZXQ6e3R5cGU6SFRNTEVsZW1lbnQsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFNjcm9sbFRhcmdldH19fSxvYnNlcnZlcnM6WyJfc2Nyb2xsVGFyZ2V0Q2hhbmdlZChzY3JvbGxUYXJnZXQsIGlzQXR0YWNoZWQpIl0sX3Nob3VsZEhhdmVMaXN0ZW5lcjohMCxfc2Nyb2xsVGFyZ2V0Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3RoaXMuX29sZFNjcm9sbFRhcmdldCYmKHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKCExLHRoaXMuX29sZFNjcm9sbFRhcmdldCksdGhpcy5fb2xkU2Nyb2xsVGFyZ2V0PW51bGwpO2QmJigiZG9jdW1lbnQiPT09Yj90aGlzLnNjcm9sbFRhcmdldD10aGlzLl9kb2M6InN0cmluZyI9PT10eXBlb2YgYj90aGlzLnNjcm9sbFRhcmdldD0oZD10aGlzLmRvbUhvc3QpJiZkLiQ/ZC4kW2JdOlBvbHltZXIuZG9tKHRoaXMub3duZXJEb2N1bWVudCkucXVlcnlTZWxlY3RvcigiIyIrCmIpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuX29sZFNjcm9sbFRhcmdldD1iLHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKHRoaXMuX3Nob3VsZEhhdmVMaXN0ZW5lcixiKSkpfSxfc2Nyb2xsSGFuZGxlcjpmdW5jdGlvbigpe30sZ2V0IF9kZWZhdWx0U2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuX2RvY30sZ2V0IF9kb2MoKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudH0sZ2V0IF9zY3JvbGxUb3AoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5wYWdlWU9mZnNldDp0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A6MH0sZ2V0IF9zY3JvbGxMZWZ0KCl7cmV0dXJuIHRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKT90aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cucGFnZVhPZmZzZXQ6dGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsTGVmdDoKMH0sc2V0IF9zY3JvbGxUb3AoYil7dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnNjcm9sbFRvKHdpbmRvdy5wYWdlWE9mZnNldCxiKTp0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9Yil9LHNldCBfc2Nyb2xsTGVmdChiKXt0aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuc2Nyb2xsVG8oYix3aW5kb3cucGFnZVlPZmZzZXQpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9Yil9LHNjcm9sbDpmdW5jdGlvbihiLGQpe3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyhiLGQpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9Yix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9ZCl9LGdldCBfc2Nyb2xsVGFyZ2V0V2lkdGgoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpPwp0aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuaW5uZXJXaWR0aDp0aGlzLnNjcm9sbFRhcmdldC5vZmZzZXRXaWR0aDowfSxnZXQgX3Njcm9sbFRhcmdldEhlaWdodCgpe3JldHVybiB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCk/dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LmlubmVySGVpZ2h0OnRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodDowfSxfaXNWYWxpZFNjcm9sbFRhcmdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fSxfdG9nZ2xlU2Nyb2xsTGlzdGVuZXI6ZnVuY3Rpb24oYixkKXtkPWQ9PT10aGlzLl9kb2M/d2luZG93OmQ7Yj90aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXJ8fCh0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9dGhpcy5fc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLGQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIpKToKdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyJiYoZC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2JvdW5kU2Nyb2xsSGFuZGxlciksdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyPW51bGwpfSx0b2dnbGVTY3JvbGxMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLl9zaG91bGRIYXZlTGlzdGVuZXI9Yjt0aGlzLl90b2dnbGVTY3JvbGxMaXN0ZW5lcihiLHRoaXMuc2Nyb2xsVGFyZ2V0KX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWVudS1iZWhhdmlvci9pcm9uLW1lbnViYXItYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsPXtob3N0QXR0cmlidXRlczp7cm9sZToibWVudWJhciJ9LGtleUJpbmRpbmdzOntsZWZ0OiJfb25MZWZ0S2V5IixyaWdodDoiX29uUmlnaHRLZXkifSxfb25VcEtleTpmdW5jdGlvbihiKXt0aGlzLmZvY3VzZWRJdGVtLmNsaWNrKCk7Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuZm9jdXNlZEl0ZW0uY2xpY2soKTtiLmRldGFpbC5rZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCl9LGdldCBfaXNSVEwoKXtyZXR1cm4icnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbn0sX29uTGVmdEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD90aGlzLl9mb2N1c05leHQoKTp0aGlzLl9mb2N1c1ByZXZpb3VzKCk7Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25SaWdodEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD8KdGhpcy5fZm9jdXNQcmV2aW91cygpOnRoaXMuX2ZvY3VzTmV4dCgpO2IuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uS2V5ZG93bjpmdW5jdGlvbihiKXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyhiLCJ1cCBkb3duIGxlZnQgcmlnaHQgZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQoYil9fTtQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3I9W1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvcixQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsXTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1sb2FkZXIvdGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlci5qcwpKaD10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oYixkLGYsaCl7cmV0dXJuIG5ldyAoZnx8KGY9UHJvbWlzZSkpKGZ1bmN0aW9uKGsscil7ZnVuY3Rpb24gbChuKXt0cnl7bShoLm5leHQobikpfWNhdGNoKHEpe3IocSl9fWZ1bmN0aW9uIHAobil7dHJ5e20oaFsidGhyb3ciXShuKSl9Y2F0Y2gocSl7cihxKX19ZnVuY3Rpb24gbShuKXtuLmRvbmU/ayhuLnZhbHVlKToobmV3IGYoZnVuY3Rpb24ocSl7cShuLnZhbHVlKX0pKS50aGVuKGwscCl9bSgoaD1oLmFwcGx5KGIsZHx8W10pKS5uZXh0KCkpfSl9OwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntkYXRhc2V0czpBcnJheSxwcm9ncmVzczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3Rpb246T2JqZWN0LHNlbGVjdGVkRmlsZTpPYmplY3QsY29tcGF0aWJpbGl0eVByb3ZpZGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGIuZ3JhcGgub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyfSxoaWVyYXJjaHlQYXJhbXM6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5iLmdyYXBoLmhpZXJhcmNoeS5EZWZhdWx0SGllcmFyY2h5UGFyYW1zfSxvdXRHcmFwaEhpZXJhcmNoeTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxvdXRHcmFwaDp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxvdXRTdGF0czp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSwKX2dyYXBoUnVuVGFnOk9iamVjdH0sb2JzZXJ2ZXJzOlsiX3NlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIiwiX3NlbGVjdGVkRmlsZUNoYW5nZWQoc2VsZWN0ZWRGaWxlLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIl0sX3NlbGVjdGlvbkNoYW5nZWQoKXt0aGlzLmRlYm91bmNlKCJzZWxlY3Rpb25jaGFuZ2UiLCgpPT57dGhpcy5fbG9hZCh0aGlzLnNlbGVjdGlvbil9KX0sX2xvYWQ6ZnVuY3Rpb24oZil7Y29uc3QgaD1mLnJ1bixrPWYudGFnO2Y9Zi50eXBlO3N3aXRjaChmKXtjYXNlIGIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSDpjYXNlIGIuZ3JhcGguU2VsZWN0aW9uVHlwZS5DT05DRVBUVUFMX0dSQVBIOnRoaXMuX3NldE91dFN0YXRzKG51bGwpO3ZhciByPW5ldyBVUkxTZWFyY2hQYXJhbXM7ci5zZXQoInJ1biIsaCk7ci5zZXQoImNvbmNlcHR1YWwiLFN0cmluZyhmPT09Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLkNPTkNFUFRVQUxfR1JBUEgpKTsKayYmci5zZXQoInRhZyIsayk7Zj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL2dyYXBoIixyKTtyZXR1cm4gdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChmKS50aGVuKCgpPT57dGhpcy5fZ3JhcGhSdW5UYWc9e3J1bjpoLHRhZzprfX0pO2Nhc2UgYi5ncmFwaC5TZWxlY3Rpb25UeXBlLlBST0ZJTEU6eyh7dGFnczpmfT10aGlzLmRhdGFzZXRzLmZpbmQoKHtuYW1lOm19KT0+bT09PWgpKTtjb25zdCBsPWYuZmluZChtPT5tLnRhZz09PWspLm9wR3JhcGg/azpudWxsO2NvbnNvbGUuYXNzZXJ0KGYuZmluZChtPT5tLnRhZz09PWwpLGBSZXF1aXJlZCB0YWcgKCR7bH0pIGlzIG1pc3NpbmcuYCk7Zj10aGlzLl9ncmFwaFJ1blRhZyYmdGhpcy5fZ3JhcGhSdW5UYWcucnVuPT09aCYmdGhpcy5fZ3JhcGhSdW5UYWcudGFnPT09bD9Qcm9taXNlLnJlc29sdmUoKTp0aGlzLl9sb2FkKHtydW46aCx0YWc6bCx0eXBlOmIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSH0pOwpyPW5ldyBVUkxTZWFyY2hQYXJhbXM7ci5zZXQoInRhZyIsayk7ci5zZXQoInJ1biIsaCk7Y29uc3QgcD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL3J1bl9tZXRhZGF0YSIscik7cmV0dXJuIGYudGhlbigoKT0+dGhpcy5fcmVhZEFuZFBhcnNlTWV0YWRhdGEocCkpfWRlZmF1bHQ6cmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKGBVbmtub3duIHNlbGVjdGlvbiB0eXBlOiAke2Z9YCkpfX0sX3JlYWRBbmRQYXJzZU1ldGFkYXRhOmZ1bmN0aW9uKGYpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7Yi5ncmFwaC5wYXJzZXIuZmV0Y2hBbmRQYXJzZU1ldGFkYXRhKGYsYi5ncmFwaC51dGlsLmdldFRyYWNrZXIodGhpcykpLnRoZW4oaD0+e3RoaXMuX3NldE91dFN0YXRzKGgpfSl9LF9mZXRjaEFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoOmZ1bmN0aW9uKGYsaCl7cmV0dXJuIEpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0aGlzLnNldCgicHJvZ3Jlc3MiLAp7dmFsdWU6MCxtc2c6IiJ9KTtyZXR1cm4gYi5ncmFwaC5sb2FkZXIuZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChiLmdyYXBoLnV0aWwuZ2V0VHJhY2tlcih0aGlzKSxmLGgsdGhpcy5jb21wYXRpYmlsaXR5UHJvdmlkZXIsdGhpcy5oaWVyYXJjaHlQYXJhbXMpLnRoZW4oKHtncmFwaDprLGdyYXBoSGllcmFyY2h5OnJ9KT0+e3RoaXMuX3NldE91dEdyYXBoKGspO3RoaXMuX3NldE91dEdyYXBoSGllcmFyY2h5KHIpfSl9KX0sX3NlbGVjdGVkRmlsZUNoYW5nZWQ6ZnVuY3Rpb24oZil7aWYoZil7Zj1mLnRhcmdldDt2YXIgaD1mLmZpbGVzWzBdO2gmJihmLnZhbHVlPSIiLHRoaXMuX2ZldGNoQW5kQ29uc3RydWN0SGllcmFyY2hpY2FsR3JhcGgobnVsbCxoKSl9fX0pfSkoZC5sb2FkZXJ8fChkLmxvYWRlcj17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkL2hpc3RvZ3JhbUNvcmUuanMKdmFyIGVsOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChoKXtjb25zdCBbayxyLGxdPWg7cmV0dXJue3dhbGxfdGltZTprLHN0ZXA6cixtaW46ZDMubWluKGwubWFwKChbcF0pPT5wKSksbWF4OmQzLm1heChsLm1hcCgoWyxwXSk9PnApKSxidWNrZXRzOmwubWFwKChbcCxtLG5dKT0+KHtsZWZ0OnAscmlnaHQ6bSxjb3VudDpufSkpfX1mdW5jdGlvbiBmKGgsayxyLGw9MzApe3I9PT1rJiYocj0xLjEqaysxLGs9ay8xLjEtMSk7Y29uc3QgcD0oci1rKS9sO2xldCBtPTA7cmV0dXJuIGQzLnJhbmdlKGsscixwKS5tYXAobj0+e2NvbnN0IHE9bitwO2xldCB1PTA7Zm9yKDttPGguYnVja2V0cy5sZW5ndGg7KXtjb25zdCBBPU1hdGgubWluKHIsaC5idWNrZXRzW21dLnJpZ2h0KTt2YXIgdz1NYXRoLm1heChrLGguYnVja2V0c1ttXS5sZWZ0KTtjb25zdCB5PU1hdGgubWluKEEscSktTWF0aC5tYXgodyxuKTt3PXkvKEEtdykqaC5idWNrZXRzW21dLmNvdW50O3UrPTA8eT93OjA7aWYoQT5xKWJyZWFrO20rK31yZXR1cm57eDpuLApkeDpwLHk6dX19KX1iLmJhY2tlbmRUb0ludGVybWVkaWF0ZT1kO2IuaW50ZXJtZWRpYXRlVG9EMz1mO2IuYmFja2VuZFRvVno9ZnVuY3Rpb24oaCl7aD1oLm1hcChkKTtjb25zdCBrPWQzLm1pbihoLGw9PmwubWluKSxyPWQzLm1heChoLGw9PmwubWF4KTtyZXR1cm4gaC5tYXAobD0+KHt3YWxsX3RpbWU6bC53YWxsX3RpbWUsc3RlcDpsLnN0ZXAsYmluczpmKGwsayxyKX0pKX19KShlbHx8KGVsPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy11dGlscy90Zi1ocGFyYW1zLXV0aWxzLmh0bWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChCKXtyZXR1cm4iIiE9PUIuZGlzcGxheU5hbWUmJnZvaWQgMCE9PUIuZGlzcGxheU5hbWU/Qi5kaXNwbGF5TmFtZTpCLm5hbWV9ZnVuY3Rpb24gayhCKXtpZigiIiE9PUIuZGlzcGxheU5hbWUmJnZvaWQgMCE9PUIuZGlzcGxheU5hbWUpcmV0dXJuIEIuZGlzcGxheU5hbWU7bGV0IEg9Qi5uYW1lLmdyb3VwO0I9Qi5uYW1lLnRhZzt2b2lkIDA9PT1IJiYoSD0iIik7dm9pZCAwPT09QiYmKEI9IiIpO3JldHVybiIiPT09SD9COkgrIi4iK0J9ZnVuY3Rpb24gcihCKXtyZXR1cm4gQi5ocGFyYW1Db2x1bW5zLmxlbmd0aH1mdW5jdGlvbiBsKEIpe3JldHVybiBCLm1ldHJpY0NvbHVtbnMubGVuZ3RofWZ1bmN0aW9uIHAoQixIKXtyZXR1cm4gQltIXX1mdW5jdGlvbiBtKEIsSCl7cmV0dXJuIEIuZmluZChLPT5fLmlzRXF1YWwoSy5uYW1lLEgpKX1mdW5jdGlvbiBuKEIsSCxLKXtyZXR1cm4gSC5ocGFyYW1zW0IuaHBhcmFtQ29sdW1uc1tLXS5ocGFyYW1JbmZvLm5hbWVdfQpmdW5jdGlvbiBxKEIsSCxLKXtCPW0oSC5tZXRyaWNWYWx1ZXMsQi5tZXRyaWNDb2x1bW5zW0tdLm1ldHJpY0luZm8ubmFtZSk7cmV0dXJuIHZvaWQgMD09PUI/dm9pZCAwOkIudmFsdWV9ZnVuY3Rpb24gdShCLEgsSyl7cmV0dXJuIEs8Qi5ocGFyYW1Db2x1bW5zLmxlbmd0aD9uKEIsSCxLKTpxKEIsSCxLLUIuaHBhcmFtQ29sdW1ucy5sZW5ndGgpfWZ1bmN0aW9uIHcoQil7cmV0dXJuIEIuaHBhcmFtSW5mb3MubGVuZ3RofWZ1bmN0aW9uIEEoQil7cmV0dXJuIEIubWV0cmljSW5mb3MubGVuZ3RofWZ1bmN0aW9uIHkoQixILEspe3JldHVybiBILmhwYXJhbXNbQi5ocGFyYW1JbmZvc1tLXS5uYW1lXX1mdW5jdGlvbiB4KEIsSCxLKXtCPW0oSC5tZXRyaWNWYWx1ZXMsQi5tZXRyaWNJbmZvc1tLXS5uYW1lKTtyZXR1cm4gdm9pZCAwPT09Qj92b2lkIDA6Qi52YWx1ZX1mdW5jdGlvbiBDKEIsSCxLKXtyZXR1cm4gSzxCLmhwYXJhbUluZm9zLmxlbmd0aD95KEIsSCxLKTp4KEIsSCxLLUIuaHBhcmFtSW5mb3MubGVuZ3RoKX0KZnVuY3Rpb24gRyhCKXtyZXR1cm4gXy5pc051bWJlcihCKT9CLnRvUHJlY2lzaW9uKDUpOnZvaWQgMD09PUI/IiI6Qi50b1N0cmluZygpfWZ1bmN0aW9uIEQoQixIKXtyZXR1cm4gQipCK0gqSH1mLmhwYXJhbU5hbWU9aDtmLm1ldHJpY05hbWU9aztmLnNjaGVtYUNvbHVtbk5hbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gSDxCLmhwYXJhbUNvbHVtbnMubGVuZ3RoP2goQi5ocGFyYW1Db2x1bW5zW0hdLmhwYXJhbUluZm8pOmsoQi5tZXRyaWNDb2x1bW5zW0gtQi5ocGFyYW1Db2x1bW5zLmxlbmd0aF0ubWV0cmljSW5mbyl9O2YubnVtSFBhcmFtcz1yO2YubnVtTWV0cmljcz1sO2YubnVtQ29sdW1ucz1mdW5jdGlvbihCKXtyZXR1cm4gcihCKStsKEIpfTtmLmhwYXJhbVZhbHVlQnlOYW1lPXA7Zi5tZXRyaWNWYWx1ZUJ5TmFtZT1tO2YuaHBhcmFtVmFsdWVCeUluZGV4PW47Zi5tZXRyaWNWYWx1ZUJ5SW5kZXg9cTtmLmNvbHVtblZhbHVlQnlJbmRleD11O2YubnVtZXJpY0NvbHVtbkV4dGVudD0KZnVuY3Rpb24oQixILEspe3JldHVybiBkMy5leHRlbnQoSCxMPT51KEIsTCxLKSl9O2YuZ2V0QWJzb2x1dGVDb2x1bW5JbmRleD1mdW5jdGlvbihCLEgsSyl7aWYoSzxILmhwYXJhbUluZm9zLmxlbmd0aClCPUIuaHBhcmFtQ29sdW1ucy5maW5kSW5kZXgoTD0+TC5ocGFyYW1JbmZvLm5hbWU9PT1ILmhwYXJhbUluZm9zW0tdLm5hbWUpO2Vsc2V7Y29uc3QgTD1ILm1ldHJpY0luZm9zW0stSC5ocGFyYW1JbmZvcy5sZW5ndGhdLm5hbWU7Qj1CLmhwYXJhbUNvbHVtbnMubGVuZ3RoK0IubWV0cmljQ29sdW1ucy5maW5kSW5kZXgoSj0+Si5tZXRyaWNJbmZvLm5hbWU9PT1MKX1jb25zb2xlLmFzc2VydCgtMSE9PUIpO3JldHVybiBCfTtmLnNjaGVtYVZpc2libGVDb2x1bW5OYW1lPWZ1bmN0aW9uKEIsSCl7cmV0dXJuIEg8Qi5ocGFyYW1JbmZvcy5sZW5ndGg/aChCLmhwYXJhbUluZm9zW0hdKTprKEIubWV0cmljSW5mb3NbSC1CLmhwYXJhbUluZm9zLmxlbmd0aF0pfTtmLm51bVZpc2libGVIUGFyYW1zPQp3O2YubnVtVmlzaWJsZU1ldHJpY3M9QTtmLm51bVZpc2libGVDb2x1bW5zPWZ1bmN0aW9uKEIpe3JldHVybiB3KEIpK0EoQil9O2YudmlzaWJsZU51bWVyaWNDb2x1bW5FeHRlbnQ9ZnVuY3Rpb24oQixILEspe3JldHVybiBkMy5leHRlbnQoSCxMPT5DKEIsTCxLKSl9O2YucHJldHR5UHJpbnRIUGFyYW1WYWx1ZUJ5TmFtZT1mdW5jdGlvbihCLEgpe3JldHVybiBHKHAoQixIKSl9O2YucHJldHR5UHJpbnRNZXRyaWNWYWx1ZUJ5TmFtZT1mdW5jdGlvbihCLEgpe3JldHVybiBHKG0oQixIKSl9O2Yuc2Vzc2lvbkdyb3VwV2l0aE5hbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gQi5maW5kKEs9PksubmFtZT09PUgpfTtmLmhwYXJhbVZhbHVlQnlWaXNpYmxlSW5kZXg9eTtmLm1ldHJpY1ZhbHVlQnlWaXNpYmxlSW5kZXg9eDtmLmNvbHVtblZhbHVlQnlWaXNpYmxlSW5kZXg9QztmLnByZXR0eVByaW50PUc7Zi5sMk5vcm1TcXVhcmVkPUQ7Zi5ldWNsaWRlYW5EaXN0PWZ1bmN0aW9uKEIsSCxLLEwpe3JldHVybiBNYXRoLnNxcnQoRChCLQpLLEgtTCkpfTtmLnBvaW50VG9SZWN0YW5nbGVEaXN0PWZ1bmN0aW9uKEIsSCxLLEwsSixPKXtpZihCPEsmJkg8TClyZXR1cm4gZi5ldWNsaWRlYW5EaXN0KEIsSCxLLEwpO2lmKEs8PUImJkI8SiYmSDxMKXJldHVybiBMLUg7aWYoSjw9QiYmSDxMKXJldHVybiBmLmV1Y2xpZGVhbkRpc3QoQixILEosTCk7aWYoQjxLJiZMPD1IJiZIPE8pcmV0dXJuIEstQjtpZihLPD1CJiZCPEomJkw8PUgmJkg8TylyZXR1cm4gMDtpZihKPD1CJiZMPD1IJiZIPE8pcmV0dXJuIEItSjtpZihCPEsmJk88PUgpcmV0dXJuIGYuZXVjbGlkZWFuRGlzdChCLEgsSyxPKTtpZihLPD1CJiZCPEomJk88PUgpcmV0dXJuIEgtTztpZihKPD1CJiZPPD1IKXJldHVybiBmLmV1Y2xpZGVhbkRpc3QoQixILEosTyk7dGhyb3ciUG9pbnQgKHgseSkgbXVzdCBiZSBpbiBvbmUgb2YgdGhlIHJlZ2lvbnMgZGVmaW5lZCBhYm92ZS4iO307Zi50cmFuc2xhdGVTdHI9ZnVuY3Rpb24oQixIKXtyZXR1cm4gdm9pZCAwPT09SD8idHJhbnNsYXRlKCIrCkIrIikiOiJ0cmFuc2xhdGUoIitCKyIsIitIKyIpIn07Zi5yb3RhdGVTdHI9ZnVuY3Rpb24oQixIKXtsZXQgSz0icm90YXRlKDkwIjt2b2lkIDAhPT1CJiZ2b2lkIDAhPT1IJiYoSz1LKyIsIitCKyIsIitIKTtyZXR1cm4gSysiKSJ9O2YuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24oQil7cmV0dXJuIG51bGw9PT1CfHx2b2lkIDA9PT1CfTtmLnF1YWRUcmVlVmlzaXRQb2ludHNJblJlY3Q9ZnVuY3Rpb24oQixILEssTCxKLE8pe0IudmlzaXQoKFMsTixSLFgsYWEpPT57aWYodm9pZCAwPT09Uy5sZW5ndGgpe2RvIE49Qi54KCkoUy5kYXRhKSxSPUIueSgpKFMuZGF0YSksSDw9TiYmTjxMJiZLPD1SJiZSPEomJk8oUy5kYXRhKTt3aGlsZShTPVMubmV4dCk7cmV0dXJuITB9cmV0dXJuIE4+PUx8fFg8PUh8fFI+PUp8fGFhPD1LfSl9O2YucXVhZFRyZWVWaXNpdFBvaW50c0luRGlzaz1mdW5jdGlvbihCLEgsSyxMLEope0IudmlzaXQoKE8sUyxOLFIsWCk9PntpZih2b2lkIDA9PT1PLmxlbmd0aCl7ZG8gUz0KQi54KCkoTy5kYXRhKSxOPUIueSgpKE8uZGF0YSksUz1mLmV1Y2xpZGVhbkRpc3QoSCxLLFMsTiksUzw9TCYmSihPLmRhdGEsUyk7d2hpbGUoTz1PLm5leHQpO3JldHVybiEwfXJldHVybiBmLnBvaW50VG9SZWN0YW5nbGVEaXN0KEgsSyxTLE4sUixYKT5MfSl9O2YuZmlsdGVyU2V0PWZ1bmN0aW9uKEIsSCl7Y29uc3QgSz1uZXcgU2V0O0IuZm9yRWFjaChMPT57SChMKSYmSy5hZGQoTCl9KTtyZXR1cm4gS307Zi5zZXRBcnJheU9ic2VydmFibHk9ZnVuY3Rpb24oQixIKXtjb25zdCBLPUIuZ2V0KCJzZXNzaW9uR3JvdXBzIixCKTtBcnJheS5pc0FycmF5KEspP0Iuc3BsaWNlLmFwcGx5KEIsWyJzZXNzaW9uR3JvdXBzIiwwLEsubGVuZ3RoXS5jb25jYXQoSCkpOkIuc2V0KCJzZXNzaW9uR3JvdXBzIixIKX07Zi5oYXNoT2ZTdHJpbmc9ZnVuY3Rpb24oQil7bGV0IEg9MDtmb3IobGV0IEs9MDtLPEIubGVuZ3RoOysrSylIPTMxKkgrQi5jaGFyQ29kZUF0KEspJjQyOTQ5NjcyOTU7cmV0dXJuIEgrCk1hdGgucG93KDIsMzEpfX0pKGQudXRpbHN8fChkLnV0aWxzPXt9KSl9KShiLmhwYXJhbXN8fChiLmhwYXJhbXM9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1jZWxsLWNsaWNrLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkNlbGxDbGlja0JlaGF2aW9yPXtsaXN0ZW5lcnM6e2NsaWNrOiJfb25DbGljayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fY2VsbENvbnRlbnRGb2N1c0hhbmRsZXI9ZnVuY3Rpb24oYil7Yi50YXJnZXQhPT10aGlzLl9jZWxsQ29udGVudCYmdGhpcy5maXJlKCJjZWxsLWNvbnRlbnQtZm9jdXMiLHtjZWxsOnRoaXN9KX0uYmluZCh0aGlzKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9jZWxsQ29udGVudEZvY3VzSGFuZGxlciwhMCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fY2VsbENvbnRlbnRGb2N1c0hhbmRsZXIsITApfSxfb25DbGljazpmdW5jdGlvbihiKXsidmFhZGluLWdyaWQtc29ydGVyIiE9PXRoaXMubG9jYWxOYW1lJiZ0aGlzLmZpcmUoImNlbGwtZm9jdXMiLHtjZWxsOnRoaXN9KTtpZih0aGlzLl9jZWxsQ2xpY2spe3ZhciBkPVBvbHltZXIuZG9tKGIpLmxvY2FsVGFyZ2V0OwpkLmdldERpc3RyaWJ1dGVkTm9kZXMmJihkPVBvbHltZXIuZG9tKGQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXSk7dmFyIGY9UG9seW1lci5kb20oYikucGF0aDtmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGYsMCxmLmluZGV4T2YoZCkrMSk7ZC5jb250YWlucyh0aGlzLnRhcmdldCYmdGhpcy50YXJnZXQucm9vdC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50KXx8Zi5zb21lKHRoaXMuX2lzRm9jdXNhYmxlKXx8dGhpcy5fY2VsbENsaWNrKGIpfX0sX2lzRm9jdXNhYmxlOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLnBhcmVudE5vZGU7ZD0tMSE9PUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoUG9seW1lci5kb20oZCkucXVlcnlTZWxlY3RvckFsbCgiW3RhYmluZGV4XSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgb2JqZWN0LCBpZnJhbWUsIGxhYmVsLCBhW2hyZWZdLCBhcmVhW2hyZWZdIiksYik7cmV0dXJuIWIuZGlzYWJsZWQmJgpkfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZm9jdXNhYmxlLWNlbGwtY29udGFpbmVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkZvY3VzYWJsZUNlbGxDb250YWluZXJCZWhhdmlvcj17cHJvcGVydGllczp7Zm9jdXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX2ZvY3VzZWRSb3c6T2JqZWN0LF9mb2N1c2VkUm93SW5kZXg6TnVtYmVyLF9mb2N1c2VkQ2VsbDpPYmplY3QsX2ZvY3VzZWRDZWxsSW5kZXg6TnVtYmVyLF9sYXN0Rm9jdXNlZENlbGw6T2JqZWN0fSxvYnNlcnZlcnM6WyJfYW5ub3VuY2VGb2N1c2VkQ2VsbChfZm9jdXNlZENlbGwsIGZvY3VzZWQpIiwiX2Rpc3BhdGNoRXZlbnRzKF9mb2N1c2VkQ2VsbCwgZm9jdXNlZCkiLCJfZm9jdXNlZENlbGxDaGFuZ2VkKF9mb2N1c2VkUm93SW5kZXgsIF9mb2N1c2VkQ2VsbEluZGV4KSJdLF9hbm5vdW5jZUZvY3VzZWRDZWxsOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmdGhpcy5kb21Ib3N0Lm5hdmlnYXRpbmcmJmQmJihkPVBvbHltZXIuRWxlbWVudD9iLl9jZWxsQ29udGVudC5nZXRBdHRyaWJ1dGUoInNsb3QiKToKYi5fY2VsbENvbnRlbnQuaWQsInZhYWRpbi1ncmlkLXRhYmxlLWJvZHkiIT09dGhpcy5pc3x8Yi5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIil8fChiPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoUG9seW1lci5kb20oYi5wYXJlbnRFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtY2VsbCIpLGIpLGQ9dGhpcy5kb21Ib3N0LiQuaGVhZGVyLmxhc3RFbGVtZW50Q2hpbGQuY2hpbGRyZW5bYl0uX2NlbGxDb250ZW50LmlkKyIgIitkKSx0aGlzLmRvbUhvc3QuJC5mb290ZXJGb2N1c1RyYXAuYWN0aXZlVGFyZ2V0PWQpfSxfZGlzcGF0Y2hFdmVudHM6ZnVuY3Rpb24oYixkKXt2b2lkIDAhPT1iJiZ2b2lkIDAhPT1kJiYodGhpcy5fbGFzdEZvY3VzZWRDZWxsJiYodGhpcy5fbGFzdEZvY3VzZWRDZWxsLl9jZWxsQ29udGVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbC1mb2N1c291dCIpKSx0aGlzLl9sYXN0Rm9jdXNlZENlbGw9dm9pZCAwKSwKZCYmKGIuX2NlbGxDb250ZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjZWxsLWZvY3VzaW4iKSksdGhpcy5fbGFzdEZvY3VzZWRDZWxsPWIpKX0sX2ZvY3VzZWRDZWxsQ2hhbmdlZDpmdW5jdGlvbihiLGQpe3ZvaWQgMCE9PWImJnZvaWQgMCE9PWQmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcykuY2hpbGRyZW4sZnVuY3Rpb24oZixoKXtmLmZvY3VzZWQ9aD09PWI7Zi5mb2N1c2VkJiYodGhpcy5fZm9jdXNlZFJvdz1mLHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXg9TWF0aC5taW4oZCxmLmNoaWxkcmVuLmxlbmd0aC0xKSx0aGlzLl9mb2N1c2VkQ2VsbD1mLmNoaWxkcmVuW3RoaXMuX2ZvY3VzZWRDZWxsSW5kZXhdKTtmLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oayxyKXtrLmZvY3VzZWQ9cj09PXRoaXMuX2ZvY3VzZWRDZWxsSW5kZXh9LmJpbmQodGhpcykpfS5iaW5kKHRoaXMpKX0sZm9jdXNMZWZ0OmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZvY3VzZWRDZWxsLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSl7dmFyIGI9CnRoaXMuX3Zpc2libGVDZWxsSW5kZXhlcygpOzA8Yi5sZW5ndGgmJih0aGlzLl9mb2N1c2VkQ2VsbEluZGV4PWJbTWF0aC5tYXgoMCxiLmluZGV4T2YodGhpcy5fZm9jdXNlZENlbGxJbmRleCktMSldKX19LGZvY3VzRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD1NYXRoLm1pbih0aGlzLl9mb2N1c2VkUm93SW5kZXgrMSx0aGlzLmNoaWxkcmVuLmxlbmd0aC0xKX0sX3Zpc2libGVDZWxsSW5kZXhlczpmdW5jdGlvbigpe3ZhciBiPVtdO2lmKHRoaXMuX2ZvY3VzZWRSb3cmJnRoaXMuX2ZvY3VzZWRSb3cuY2hpbGRyZW4pe2Zvcih2YXIgZD10aGlzLl9mb2N1c2VkUm93LmNoaWxkcmVuLGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdLmhpZGRlbnx8ZFtmXT09PXRoaXMuX2ZvY3VzZWRSb3cuX3Jvd0RldGFpbHNDZWxsfHxiLnB1c2goZik7Yi5zb3J0KGZ1bmN0aW9uKGgsayl7cmV0dXJuIGRbaF0uY29sdW1uLl9vcmRlcjxkW2tdLmNvbHVtbi5fb3JkZXI/LTE6MX0pfXJldHVybiBifSwKZm9jdXNQYWdlRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD1NYXRoLm1pbih0aGlzLl9mb2N1c2VkUm93SW5kZXgrMTAsdGhpcy5jaGlsZHJlbi5sZW5ndGgtMSl9LGZvY3VzUGFnZVVwOmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PU1hdGgubWF4KDAsdGhpcy5fZm9jdXNlZFJvd0luZGV4LTEwKX0sZm9jdXNSaWdodDpmdW5jdGlvbigpe2lmKCF0aGlzLl9mb2N1c2VkQ2VsbC5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe3ZhciBiPXRoaXMuX3Zpc2libGVDZWxsSW5kZXhlcygpOzA8Yi5sZW5ndGgmJih0aGlzLl9mb2N1c2VkQ2VsbEluZGV4PWJbTWF0aC5taW4oYi5pbmRleE9mKHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXgpKzEsYi5sZW5ndGgtMSldKX19LGZvY3VzVXA6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5tYXgoMCx0aGlzLl9mb2N1c2VkUm93SW5kZXgtMSl9LGZvY3VzSG9tZTpmdW5jdGlvbigpe2lmKCF0aGlzLl9mb2N1c2VkQ2VsbC5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe3ZhciBiPQp0aGlzLl92aXNpYmxlQ2VsbEluZGV4ZXMoKTswPGIubGVuZ3RoJiYodGhpcy5fZm9jdXNlZENlbGxJbmRleD1iWzBdKX19LGZvY3VzRW5kOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZvY3VzZWRDZWxsLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSl7dmFyIGI9dGhpcy5fdmlzaWJsZUNlbGxJbmRleGVzKCk7MDxiLmxlbmd0aCYmKHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXg9YltiLmxlbmd0aC0xXSl9fSxmb2N1c0ZpcnN0OmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PTA7dGhpcy5mb2N1c0hvbWUoKX0sZm9jdXNMYXN0OmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PXRoaXMuY2hpbGRyZW4ubGVuZ3RoLTE7dGhpcy5mb2N1c0VuZCgpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLWZvb3Rlci5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPXtwcm9wZXJ0aWVzOntjb2x1bW5UcmVlOkFycmF5LHRhcmdldDpPYmplY3QsX3Jvd3M6QXJyYXl9LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlLCB0YXJnZXQpIiwiX3Jvd3NDaGFuZ2VkKF9yb3dzKSJdLF9jb2x1bW5UcmVlQ2hhbmdlZDpmdW5jdGlvbihkLGYpe2lmKHZvaWQgMCE9PWQmJnZvaWQgMCE9PWYpe3RoaXMuX3Jvd3MmJnRoaXMuX3Jvd3MuZm9yRWFjaChmdW5jdGlvbihsKXtQb2x5bWVyLmRvbShsKS5pbm5lckhUTUw9IiJ9KTtmb3IodmFyIGg9W10saz0wO2s8ZC5sZW5ndGg7aysrKXt2YXIgcj10aGlzLl9jcmVhdGVSb3coKTtyLnRhcmdldD1mO3IuX2lzQ29sdW1uUm93PWs9PWQubGVuZ3RoLTE7ci5jb2x1bW5zPWRba107aC5wdXNoKHIpfXRoaXMuX3Jvd3M9InZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlciI9PT10aGlzLmxvY2FsTmFtZT9oOmgucmV2ZXJzZSgpfX0sX3Jvd3NDaGFuZ2VkOmZ1bmN0aW9uKGQpe1BvbHltZXIuZG9tKHRoaXMpLmlubmVySFRNTD0KIiI7ZC5mb3JFYWNoKGZ1bmN0aW9uKGYpe1BvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGYpfS5iaW5kKHRoaXMpKX19O1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXIiLGJlaGF2aW9yczpbYix2YWFkaW4uZWxlbWVudHMuZ3JpZC5Gb2N1c2FibGVDZWxsQ29udGFpbmVyQmVoYXZpb3JdLF9jcmVhdGVSb3c6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLXJvdyIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IixiZWhhdmlvcnM6W3ZhYWRpbi5lbGVtZW50cy5ncmlkLkZvY3VzYWJsZUNlbGxDb250YWluZXJCZWhhdmlvcl0sb2JzZXJ2ZXJzOlsiX2Fubm91bmNlRm9jdXNlZFJvdyhfZm9jdXNlZFJvdykiXSxfYW5ub3VuY2VGb2N1c2VkUm93OmZ1bmN0aW9uKGQpe3RoaXMuZmlyZSgiaXJvbi1hbm5vdW5jZSIse3RleHQ6IlJvdyAiKyhkLmluZGV4KzEpKyIgb2YgIisKdGhpcy5kb21Ib3N0LnNpemV9KX0sX21vdmVGb2N1c1RvRGV0YWlsc0NlbGw6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkQ2VsbC5mb2N1c2VkPSExO3RoaXMuX2ZvY3VzZWRSb3cuX3Jvd0RldGFpbHNDZWxsLmZvY3VzZWQ9ITA7dGhpcy5fZm9jdXNlZENlbGw9dGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGx9LF9mb2N1c2VkUm93SGFzRGV0YWlsc0NlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9jdXNlZFJvdyYmdGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGwmJnRoaXMuX2ZvY3VzZWRDZWxsIT09dGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGx9LGZvY3VzRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dIYXNEZXRhaWxzQ2VsbCgpP3RoaXMuX21vdmVGb2N1c1RvRGV0YWlsc0NlbGwoKTp0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5taW4odGhpcy5fZm9jdXNlZFJvd0luZGV4KzEsdGhpcy5kb21Ib3N0LnNpemUtMSl9LGZvY3VzVXA6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkUm93JiYKdGhpcy5fZm9jdXNlZENlbGw9PT10aGlzLl9mb2N1c2VkUm93Ll9yb3dEZXRhaWxzQ2VsbD90aGlzLl9mb2N1c2VkQ2VsbENoYW5nZWQodGhpcy5fZm9jdXNlZFJvd0luZGV4LHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXgpOih0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5tYXgoMCx0aGlzLl9mb2N1c2VkUm93SW5kZXgtMSksdGhpcy5fZm9jdXNlZFJvd0hhc0RldGFpbHNDZWxsKCkmJnRoaXMuX21vdmVGb2N1c1RvRGV0YWlsc0NlbGwoKSl9LGZvY3VzTGFzdDpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD10aGlzLmRvbUhvc3Quc2l6ZS0xO3RoaXMuZm9jdXNFbmQoKX0sX2ZvY3VzZWRDZWxsQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcykuY2hpbGRyZW4sZnVuY3Rpb24oaCl7aC5mb2N1c2VkPWguaW5kZXg9PT1kO2guaW5kZXg9PT1kJiYodGhpcy5fZm9jdXNlZFJvdz0KaCx0aGlzLl9mb2N1c2VkQ2VsbD1oLmNoaWxkcmVuW2ZdKTtoLml0ZXJhdGVDZWxscyhmdW5jdGlvbihrLHIpe2suZm9jdXNlZD1yPT09Zn0pfS5iaW5kKHRoaXMpKX19KTtQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIixiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRm9jdXNhYmxlQ2VsbENvbnRhaW5lckJlaGF2aW9yXSxfY3JlYXRlUm93OmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLXRhYmxlLWZvb3Rlci1yb3ciKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGVtcGxhdGl6ZXIuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZC5UZW1wbGF0aXplcj1mdW5jdGlvbigpe307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlRlbXBsYXRpemVyPVBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10ZW1wbGF0aXplciIsYmVoYXZpb3JzOltQb2x5bWVyLlRlbXBsYXRpemVyXSxwcm9wZXJ0aWVzOntkYXRhSG9zdDpPYmplY3QsdGVtcGxhdGU6T2JqZWN0LF90ZW1wbGF0ZUluc3RhbmNlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3BhcmVudFBhdGhWYWx1ZXM6e3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sb2JzZXJ2ZXJzOlsiX3RlbXBsYXRlSW5zdGFuY2VzQ2hhbmdlZChfdGVtcGxhdGVJbnN0YW5jZXMuKiwgX3BhcmVudFBhdGhWYWx1ZXMuKikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fcGFyZW50TW9kZWw9ITA7dGhpcy5faW5zdGFuY2VQcm9wcz17ZXhwYW5kZWQ6ITAsaW5kZXg6ITAsaXRlbTohMCxzZWxlY3RlZDohMH19LGNyZWF0ZUluc3RhbmNlOmZ1bmN0aW9uKCl7dGhpcy5fZW5zdXJlVGVtcGxhdGl6ZWQoKTt2YXIgYj10aGlzLnN0YW1wKHt9KTsKdGhpcy5hZGRJbnN0YW5jZShiKTtyZXR1cm4gYn0sYWRkSW5zdGFuY2U6ZnVuY3Rpb24oYil7LTE9PT10aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5pbmRleE9mKGIpJiZ0aGlzLnB1c2goIl90ZW1wbGF0ZUluc3RhbmNlcyIsYil9LHJlbW92ZUluc3RhbmNlOmZ1bmN0aW9uKGIpe3RoaXMuc3BsaWNlKCJfdGVtcGxhdGVJbnN0YW5jZXMiLHRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmluZGV4T2YoYiksMSl9LF9lbnN1cmVUZW1wbGF0aXplZDpmdW5jdGlvbigpe3RoaXMudGVtcGxhdGUuX3RlbXBsYXRpemVkfHwodGhpcy50ZW1wbGF0ZS5fdGVtcGxhdGl6ZWQ9ITAsdGhpcy50ZW1wbGF0aXplKHRoaXMudGVtcGxhdGUpLHRoaXMuX3BhcmVudFByb3BzPXRoaXMuX3BhcmVudFByb3BzfHx7fSxQb2x5bWVyLkVsZW1lbnR8fE9iamVjdC5rZXlzKHRoaXMuX3BhcmVudFByb3BzKS5mb3JFYWNoKGZ1bmN0aW9uKCl7fSx0aGlzKSl9LF9mb3J3YXJkSW5zdGFuY2VQcm9wOmZ1bmN0aW9uKGIsZCxmKXt2b2lkIDAhPT0KYlsiX18iK2QrIl9fIl0mJmJbIl9fIitkKyJfXyJdIT09ZiYmdGhpcy5maXJlKCJ0ZW1wbGF0ZS1pbnN0YW5jZS1jaGFuZ2VkIix7cHJvcDpkLHZhbHVlOmYsaW5zdDpifSl9LF9mb3J3YXJkSW5zdGFuY2VQYXRoOmZ1bmN0aW9uKGIsZCxmKXswIT09ZC5pbmRleE9mKCJpdGVtLiIpfHx0aGlzLl9zdXBwcmVzc0l0ZW1DaGFuZ2VFdmVudHx8dGhpcy5maXJlKCJpdGVtLWNoYW5nZWQiLHtpdGVtOmIuaXRlbSxwYXRoOmQuc3Vic3RyaW5nKDUpLHZhbHVlOmZ9KX0sX25vdGlmeUluc3RhbmNlUHJvcFYyOmZ1bmN0aW9uKGIsZCxmKXt0aGlzLl9mb3J3YXJkSW5zdGFuY2VQcm9wKGIsZCxmKTt0aGlzLl9mb3J3YXJkSW5zdGFuY2VQYXRoKGIsZCxmKX0sX2ZvcndhcmRQYXJlbnRQcm9wOmZ1bmN0aW9uKGIsZCl7dGhpcy5fcGFyZW50UGF0aFZhbHVlc1tiXT1kO3RoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmZvckVhY2goZnVuY3Rpb24oZil7Zi5zZXQoYixkKX0sdGhpcyl9LF9mb3J3YXJkUGFyZW50UGF0aDpmdW5jdGlvbihiLApkKXt0aGlzLnNldChbIl9wYXJlbnRQYXRoVmFsdWVzIixiXSxkKTt0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2Yubm90aWZ5UGF0aChiLGQpfSx0aGlzKX0sX2ZvcndhcmRIb3N0UHJvcFYyOmZ1bmN0aW9uKGIsZCl7dGhpcy5fZm9yd2FyZFBhcmVudFByb3AoYixkKTt0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcyYmdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuZm9yRWFjaChmdW5jdGlvbihmKXtmLm5vdGlmeVBhdGgoYixkKX0sdGhpcyl9LF90ZW1wbGF0ZUluc3RhbmNlc0NoYW5nZWQ6ZnVuY3Rpb24oYil7aWYoIl90ZW1wbGF0ZUluc3RhbmNlcyI9PT1iLnBhdGgpe3ZhciBkPTA7dmFyIGY9dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMubGVuZ3RofWVsc2UgaWYoIl90ZW1wbGF0ZUluc3RhbmNlcy5zcGxpY2VzIj09PWIucGF0aClkPWIudmFsdWUuaW5kZXgsZj1iLnZhbHVlLmFkZGVkQ291bnQ7ZWxzZSByZXR1cm47T2JqZWN0LmtleXModGhpcy5fcGFyZW50UGF0aFZhbHVlc3x8Cnt9KS5mb3JFYWNoKGZ1bmN0aW9uKGgpe2Zvcih2YXIgaz1kO2s8ZCtmO2srKyl0aGlzLl90ZW1wbGF0ZUluc3RhbmNlc1trXS5zZXQoaCx0aGlzLl9wYXJlbnRQYXRoVmFsdWVzW2hdKX0sdGhpcyl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtc2VsZWN0aW9uLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlNlbGVjdGlvbkJlaGF2aW9yPXtwcm9wZXJ0aWVzOntzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSxvYnNlcnZlcnM6WyJfc2VsZWN0ZWRJdGVtc0NoYW5nZWQoc2VsZWN0ZWRJdGVtcy4qKSJdLGxpc3RlbmVyczp7InRlbXBsYXRlLWluc3RhbmNlLWNoYW5nZWQiOiJfdGVtcGxhdGVJbnN0YW5jZUNoYW5nZWRTZWxlY3Rpb24ifSxfdGVtcGxhdGVJbnN0YW5jZUNoYW5nZWRTZWxlY3Rpb246ZnVuY3Rpb24oYil7aWYoInNlbGVjdGVkIj09PWIuZGV0YWlsLnByb3Ape3ZhciBkPWIuZGV0YWlsLmluc3QuaXRlbTsodGhpcy5faXNTZWxlY3RlZChkKT90aGlzLmRlc2VsZWN0SXRlbTp0aGlzLnNlbGVjdEl0ZW0pLmJpbmQodGhpcykoZCk7dGhpcy5maXJlKCJpcm9uLWFubm91bmNlIix7dGV4dDoodGhpcy5faXNTZWxlY3RlZChkKT8iU2VsZWN0ZWQiOiJEZXNlbGVjdGVkIikrIiBSb3cgIisKKGIuZGV0YWlsLmluc3QuaW5kZXgrMSkrIiBvZiAiK3RoaXMuc2l6ZX0pO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSxfaXNTZWxlY3RlZDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zJiYtMTx0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihiKX0sc2VsZWN0SXRlbTpmdW5jdGlvbihiKXtiPXRoaXMuX3Rha2VJdGVtKGIpO3RoaXMuX2lzU2VsZWN0ZWQoYil8fHRoaXMucHVzaCgic2VsZWN0ZWRJdGVtcyIsYil9LGRlc2VsZWN0SXRlbTpmdW5jdGlvbihiKXtiPXRoaXMuX3Rha2VJdGVtKGIpO2I9dGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoYik7LTE8YiYmdGhpcy5zcGxpY2UoInNlbGVjdGVkSXRlbXMiLGIsMSl9LF90b2dnbGVJdGVtOmZ1bmN0aW9uKGIpe2I9dGhpcy5fdGFrZUl0ZW0oYik7LTE9PT10aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihiKT90aGlzLnNlbGVjdEl0ZW0oYik6dGhpcy5kZXNlbGVjdEl0ZW0oYil9LF90YWtlSXRlbTpmdW5jdGlvbihiKXtyZXR1cm4ibnVtYmVyIj09PQp0eXBlb2YgYiYmMDw9YiYmdGhpcy5pdGVtcyYmdGhpcy5pdGVtcy5sZW5ndGg+Yj90aGlzLml0ZW1zW2JdOmJ9LF9zZWxlY3RlZEl0ZW1zQ2hhbmdlZDpmdW5jdGlvbihiKXshdGhpcy4kLnNjcm9sbGVyLl9waHlzaWNhbEl0ZW1zfHwic2VsZWN0ZWRJdGVtcyIhPT1iLnBhdGgmJiJzZWxlY3RlZEl0ZW1zLnNwbGljZXMiIT09Yi5wYXRofHx0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMuZm9yRWFjaChmdW5jdGlvbihkKXtkLnNlbGVjdGVkPXRoaXMuX2lzU2VsZWN0ZWQoZC5pdGVtKX0uYmluZCh0aGlzKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC9pcm9uLWxpc3QtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvckltcGw9ZnVuY3Rpb24oKXt2YXIgYj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLGQ9YiYmODw9YlsxXTtyZXR1cm57aXM6Imlyb24tbGlzdCIscHJvcGVydGllczp7bWF4UGh5c2ljYWxDb3VudDp7dHlwZTpOdW1iZXIsdmFsdWU6NTAwfSxhczp7dHlwZTpTdHJpbmcsdmFsdWU6Iml0ZW0ifSxpbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5kZXgifX0sX3JhdGlvOi41LF9zY3JvbGxlclBhZGRpbmdUb3A6MCxfc2Nyb2xsUG9zaXRpb246MCxfcGh5c2ljYWxTaXplOjAsX3BoeXNpY2FsQXZlcmFnZTowLF9waHlzaWNhbEF2ZXJhZ2VDb3VudDowLF9waHlzaWNhbFRvcDowLF92aXJ0dWFsQ291bnQ6MCxfcGh5c2ljYWxJbmRleEZvcktleTpudWxsLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCwKX3BoeXNpY2FsSXRlbXM6bnVsbCxfcGh5c2ljYWxTaXplczpudWxsLF9maXJzdFZpc2libGVJbmRleFZhbDpudWxsLF9sYXN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2NvbGxlY3Rpb246bnVsbCxfaXRlbXNSZW5kZXJlZDohMSxfbGFzdFBhZ2U6bnVsbCxfbWF4UGFnZXM6MyxfaXRlbXNQZXJSb3c6MSxfaXRlbVdpZHRoOjAsX3Jvd0hlaWdodDowLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTaXplLXRoaXMuX3ZpZXdwb3J0SGVpZ2h0fSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtCnRoaXMuX3ZpZXdwb3J0SGVpZ2h0K3RoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcH0sX21pblZpcnR1YWxTdGFydDowLGdldCBfbWF4VmlydHVhbFN0YXJ0KCl7cmV0dXJuIE1hdGgubWF4KDAsdGhpcy5fdmlydHVhbENvdW50LXRoaXMuX3BoeXNpY2FsQ291bnQpfSxfdmlydHVhbFN0YXJ0VmFsOjAsc2V0IF92aXJ0dWFsU3RhcnQoZil7dGhpcy5fdmlydHVhbFN0YXJ0VmFsPU1hdGgubWluKHRoaXMuX21heFZpcnR1YWxTdGFydCxNYXRoLm1heCh0aGlzLl9taW5WaXJ0dWFsU3RhcnQsZikpfSxnZXQgX3ZpcnR1YWxTdGFydCgpe3JldHVybiB0aGlzLl92aXJ0dWFsU3RhcnRWYWx8fDB9LF9waHlzaWNhbFN0YXJ0VmFsOjAsc2V0IF9waHlzaWNhbFN0YXJ0KGYpe3RoaXMuX3BoeXNpY2FsU3RhcnRWYWw9ZiV0aGlzLl9waHlzaWNhbENvdW50OzA+dGhpcy5fcGh5c2ljYWxTdGFydFZhbCYmKHRoaXMuX3BoeXNpY2FsU3RhcnRWYWw9dGhpcy5fcGh5c2ljYWxDb3VudCt0aGlzLl9waHlzaWNhbFN0YXJ0VmFsKTsKdGhpcy5fcGh5c2ljYWxFbmQ9KHRoaXMuX3BoeXNpY2FsU3RhcnQrdGhpcy5fcGh5c2ljYWxDb3VudC0xKSV0aGlzLl9waHlzaWNhbENvdW50fSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sX3BoeXNpY2FsQ291bnRWYWw6MCxzZXQgX3BoeXNpY2FsQ291bnQoZil7dGhpcy5fcGh5c2ljYWxDb3VudFZhbD1mO3RoaXMuX3BoeXNpY2FsRW5kPSh0aGlzLl9waHlzaWNhbFN0YXJ0K3RoaXMuX3BoeXNpY2FsQ291bnQtMSkldGhpcy5fcGh5c2ljYWxDb3VudH0sZ2V0IF9waHlzaWNhbENvdW50KCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsQ291bnRWYWx9LF9waHlzaWNhbEVuZDowLGdldCBfb3B0UGh5c2ljYWxTaXplKCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0SGVpZ2h0KnRoaXMuX21heFBhZ2VzfSxnZXQgX29wdFBoeXNpY2FsQ291bnQoKXtyZXR1cm4gdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdyp0aGlzLl9tYXhQYWdlc30sCmdldCBfaXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuc2Nyb2xsVGFyZ2V0JiYhKCF0aGlzLnNjcm9sbFRhcmdldC5vZmZzZXRXaWR0aCYmIXRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodCl9LGdldCBmaXJzdFZpc2libGVJbmRleCgpe2lmKG51bGw9PT10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbCl7dmFyIGY9TWF0aC5mbG9vcih0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3ApO3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihoLGspe2YrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChoKTtpZihmPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiBrfSl8fDB9cmV0dXJuIHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsfSxnZXQgbGFzdFZpc2libGVJbmRleCgpe2lmKG51bGw9PT10aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsKXt2YXIgZj10aGlzLl9waHlzaWNhbFRvcDt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24oaCwKayl7aWYoZjx0aGlzLl9zY3JvbGxCb3R0b20pdGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1rO2Vsc2UgcmV0dXJuITA7Zis9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGgpfSl9cmV0dXJuIHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWx9LGdldCBfZGVmYXVsdFNjcm9sbFRhcmdldCgpe3JldHVybiB0aGlzfSxnZXQgX3ZpcnR1YWxSb3dDb3VudCgpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fdmlydHVhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9lc3RSb3dzSW5WaWV3KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC90aGlzLl9yb3dIZWlnaHQpfSxnZXQgX3BoeXNpY2FsUm93cygpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fcGh5c2ljYWxDb3VudC90aGlzLl9pdGVtc1BlclJvdyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXMoKTt0aGlzLl9yZW5kZXIoKTt0aGlzLmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsCiJfcmVzaXplSGFuZGxlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2l0ZW1zUmVuZGVyZWQ9ITE7dGhpcy51bmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIil9LHVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllczpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcD10aGlzLnNjcm9sbFRhcmdldD09PXRoaXM/MDpwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKVsicGFkZGluZy10b3AiXXx8MCwxMCk7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0fSxfdXBkYXRlOmZ1bmN0aW9uKGYsaCl7dGhpcy5fYXNzaWduTW9kZWxzKGYpO3RoaXMuX3VwZGF0ZU1ldHJpY3MoZik7aWYoaClmb3IoO2gubGVuZ3RoOylmPWgucG9wKCksdGhpcy5fcGh5c2ljYWxUb3AtPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChmKTt0aGlzLl9wb3NpdGlvbkl0ZW1zKCk7dGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCk7CnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCl9LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbigpe2lmKDA9PT10aGlzLl92aWV3cG9ydEhlaWdodClyZXR1cm4hMTt2YXIgZj10aGlzLl9waHlzaWNhbFNpemVzLnJlZHVjZShmdW5jdGlvbihrLHIpe3JldHVybiBrKyhyfHwxMDApfSwwKSxoPWY+dGhpcy5fdmlld3BvcnRIZWlnaHQ7aWYoZj49dGhpcy5fb3B0UGh5c2ljYWxTaXplJiZoKXJldHVybiExO2Y9TWF0aC5mbG9vcih0aGlzLl9waHlzaWNhbFNpemUvdGhpcy5fdmlld3BvcnRIZWlnaHQpOzA9PT1mP3RoaXMuX2RlYm91bmNlVGVtcGxhdGUodGhpcy5faW5jcmVhc2VQb29sLmJpbmQodGhpcyxNYXRoLnJvdW5kKC41KnRoaXMuX3BoeXNpY2FsQ291bnQpKSk6dGhpcy5fbGFzdFBhZ2UhPT1mJiZoP1BvbHltZXIuZG9tLmFkZERlYm91bmNlcih0aGlzLmRlYm91bmNlKCJfZGVib3VuY2VUZW1wbGF0ZSIsdGhpcy5faW5jcmVhc2VQb29sLmJpbmQodGhpcyx0aGlzLl9pdGVtc1BlclJvdyksCjE2KSk6dGhpcy5fZGVib3VuY2VUZW1wbGF0ZSh0aGlzLl9pbmNyZWFzZVBvb2wuYmluZCh0aGlzLE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC8odGhpcy5fcGh5c2ljYWxTaXplL3RoaXMuX3BoeXNpY2FsQ291bnQpKnRoaXMuX21heFBhZ2VzLXRoaXMuX3BoeXNpY2FsQ291bnQpfHwxKSk7dGhpcy5fbGFzdFBhZ2U9ZjtyZXR1cm4hMH0sX2RlYm91bmNlVGVtcGxhdGU6ZnVuY3Rpb24oZil7UG9seW1lci5kb20uYWRkRGVib3VuY2VyKHRoaXMuZGVib3VuY2UoIl9kZWJvdW5jZVRlbXBsYXRlIixmKSl9LF9pbmNyZWFzZVBvb2w6ZnVuY3Rpb24oZil7dmFyIGg9dGhpcy5fcGh5c2ljYWxDb3VudDtmPU1hdGgubWluKHRoaXMuX3BoeXNpY2FsQ291bnQrZix0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fdmlydHVhbFN0YXJ0LE1hdGgubWF4KHRoaXMubWF4UGh5c2ljYWxDb3VudCwyNSkpLWg7MD49Znx8KFtdLnB1c2guYXBwbHkodGhpcy5fcGh5c2ljYWxJdGVtcyx0aGlzLl9jcmVhdGVQb29sKGYpKSwKW10ucHVzaC5hcHBseSh0aGlzLl9waHlzaWNhbFNpemVzLEFycmF5KGYpKSx0aGlzLl9waHlzaWNhbENvdW50PWgrZix0aGlzLl91cGRhdGUoKSl9LF9yZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZj0wPHRoaXMuX3ZpcnR1YWxDb3VudHx8MDx0aGlzLl9waHlzaWNhbENvdW50O3RoaXMuaXNBdHRhY2hlZCYmIXRoaXMuX2l0ZW1zUmVuZGVyZWQmJnRoaXMuX2lzVmlzaWJsZSYmZiYmKHRoaXMuX2xhc3RQYWdlPTAsdGhpcy5fdXBkYXRlKCksdGhpcy5faXRlbXNSZW5kZXJlZD0hMCl9LF9pdGVyYXRlSXRlbXM6ZnVuY3Rpb24oZixoKXt2YXIgayxyO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoJiZoKWZvcihyPTA7cjxoLmxlbmd0aDtyKyspe3ZhciBsPWhbcl07dmFyIHA9dGhpcy5fY29tcHV0ZVZpZHgobCk7aWYobnVsbCE9KGs9Zi5jYWxsKHRoaXMsbCxwKSkpcmV0dXJuIGt9ZWxzZXtsPXRoaXMuX3BoeXNpY2FsU3RhcnQ7Zm9yKHA9dGhpcy5fdmlydHVhbFN0YXJ0O2w8dGhpcy5fcGh5c2ljYWxDb3VudDtsKyssCnArKylpZihudWxsIT0oaz1mLmNhbGwodGhpcyxsLHApKSlyZXR1cm4gaztmb3IobD0wO2w8dGhpcy5fcGh5c2ljYWxTdGFydDtsKysscCsrKWlmKG51bGwhPShrPWYuY2FsbCh0aGlzLGwscCkpKXJldHVybiBrfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKGYpe3JldHVybiBmPj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsoZi10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrZn0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24oZil7dGhpcy5zY3JvbGxpbmcmJlBvbHltZXIuZG9tLmZsdXNoKCk7dmFyIGg9MCxrPTAscj10aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCxsPXRoaXMuX3BoeXNpY2FsQXZlcmFnZTt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24ocCl7ays9dGhpcy5fcGh5c2ljYWxTaXplc1twXXx8MDt0aGlzLl9waHlzaWNhbFNpemVzW3BdPXRoaXMuX3BoeXNpY2FsSXRlbXNbcF0ub2Zmc2V0SGVpZ2h0OwpoKz10aGlzLl9waHlzaWNhbFNpemVzW3BdO3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50Kz10aGlzLl9waHlzaWNhbFNpemVzW3BdPzE6MH0sZik7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0O3RoaXMuX3BoeXNpY2FsU2l6ZT10aGlzLl9waHlzaWNhbFNpemUraC1rO3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50IT09ciYmKHRoaXMuX3BoeXNpY2FsQXZlcmFnZT1NYXRoLnJvdW5kKChsKnIraCkvdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQpKX0sX3Bvc2l0aW9uSXRlbXM6ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3RTY3JvbGxQb3NpdGlvbigpO3ZhciBmPXRoaXMuX3BoeXNpY2FsVG9wO3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihoKXt0aGlzLl9waHlzaWNhbEl0ZW1zW2hdLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoMCxmKTtmKz10aGlzLl9waHlzaWNhbFNpemVzW2hdfSl9LF9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24oZil7cmV0dXJuIHRoaXMuX3BoeXNpY2FsU2l6ZXNbZl19LApfc2hvdWxkUmVuZGVyTmV4dFJvdzpmdW5jdGlvbihmKXtyZXR1cm4gZiV0aGlzLl9pdGVtc1BlclJvdz09PXRoaXMuX2l0ZW1zUGVyUm93LTF9LF9hZGp1c3RTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBmPTA9PT10aGlzLl92aXJ0dWFsU3RhcnQ/dGhpcy5fcGh5c2ljYWxUb3A6TWF0aC5taW4odGhpcy5fc2Nyb2xsUG9zaXRpb24rdGhpcy5fcGh5c2ljYWxUb3AsMCk7ZiYmKHRoaXMuX3BoeXNpY2FsVG9wLT1mLGR8fDA9PT10aGlzLl9waHlzaWNhbFRvcHx8dGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9zY3JvbGxUb3AtZikpfSxfcmVzZXRTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbihmKXt0aGlzLnNjcm9sbFRhcmdldCYmKHRoaXMuX3Njcm9sbFBvc2l0aW9uPXRoaXMuX3Njcm9sbFRvcD1mKX0sX3VwZGF0ZVNjcm9sbGVyU2l6ZTpmdW5jdGlvbihmKXt0aGlzLl9lc3RTY3JvbGxIZWlnaHQ9dGhpcy5fcGh5c2ljYWxCb3R0b20rTWF0aC5tYXgodGhpcy5fdmlydHVhbENvdW50LQp0aGlzLl9waHlzaWNhbENvdW50LXRoaXMuX3ZpcnR1YWxTdGFydCwwKSp0aGlzLl9waHlzaWNhbEF2ZXJhZ2U7aWYoKGY9KGY9Znx8MD09PXRoaXMuX3Njcm9sbEhlaWdodCl8fHRoaXMuX3Njcm9sbFBvc2l0aW9uPj10aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fcGh5c2ljYWxTaXplKXx8TWF0aC5hYnModGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3Njcm9sbEhlaWdodCk+PXRoaXMuX29wdFBoeXNpY2FsU2l6ZSl0aGlzLiQuaXRlbXMuc3R5bGUuaGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodCsicHgiLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9lc3RTY3JvbGxIZWlnaHR9LHNjcm9sbFRvSW5kZXg6ZnVuY3Rpb24oZil7UG9seW1lci5kb20uZmx1c2goKTtmPU1hdGgubWluKE1hdGgubWF4KGYsMCksdGhpcy5fdmlydHVhbENvdW50LTEpO2lmKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQoZil8fGY+PXRoaXMuX21heFZpcnR1YWxTdGFydCl0aGlzLl92aXJ0dWFsU3RhcnQ9CmYtMTt0aGlzLl9hc3NpZ25Nb2RlbHMoKTt0aGlzLl91cGRhdGVNZXRyaWNzKCk7dGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtmb3IodmFyIGg9dGhpcy5fcGh5c2ljYWxTdGFydCxrPXRoaXMuX3ZpcnR1YWxTdGFydCxyPTAsbD10aGlzLl9oaWRkZW5Db250ZW50U2l6ZTtrPGYmJnI8PWw7KXIrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChoKSxoPShoKzEpJXRoaXMuX3BoeXNpY2FsQ291bnQsaysrO3RoaXMuX3VwZGF0ZVNjcm9sbGVyU2l6ZSghMCk7dGhpcy5fcG9zaXRpb25JdGVtcygpO3RoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24odGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wK3IpO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCk7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD0KbnVsbH0sX3Jlc2V0QXZlcmFnZTpmdW5jdGlvbigpe3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50PXRoaXMuX3BoeXNpY2FsQXZlcmFnZT0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe1BvbHltZXIuZG9tLmFkZERlYm91bmNlcih0aGlzLmRlYm91bmNlKCJfZGVib3VuY2VUZW1wbGF0ZSIsZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpO3RoaXMuX3JlbmRlcigpO3RoaXMuX2l0ZW1zUmVuZGVyZWQmJnRoaXMuX3BoeXNpY2FsSXRlbXMmJnRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX3Jlc2V0QXZlcmFnZSgpLHRoaXMuc2Nyb2xsVG9JbmRleCh0aGlzLmZpcnN0VmlzaWJsZUluZGV4KSl9LmJpbmQodGhpcyksMSkpfSx1cGRhdGVTaXplRm9ySXRlbTpmdW5jdGlvbihmKXtmPXRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbZl07bnVsbCE9ZiYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW2ZdKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCkpfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKGYpe3JldHVybiBmPj0KdGhpcy5fdmlydHVhbFN0YXJ0JiZmPD10aGlzLl92aXJ0dWFsRW5kfSxfaXNJbmRleFZpc2libGU6ZnVuY3Rpb24oZil7cmV0dXJuIGY+PXRoaXMuZmlyc3RWaXNpYmxlSW5kZXgmJmY8PXRoaXMubGFzdFZpc2libGVJbmRleH19fSgpO3ZhYWRpbi5lbGVtZW50cy5ncmlkLklyb25MaXN0QmVoYXZpb3I9W1BvbHltZXIuVGVtcGxhdGl6ZXIsUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWNvbHVtbi5odG1sLmpzCndpbmRvdy52YWFkaW49d2luZG93LnZhYWRpbnx8e307dmFhZGluLmVsZW1lbnRzPXZhYWRpbi5lbGVtZW50c3x8e307dmFhZGluLmVsZW1lbnRzLmdyaWQ9dmFhZGluLmVsZW1lbnRzLmdyaWR8fHt9Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5Db2x1bW5CYXNlQmVoYXZpb3I9e3Byb3BlcnRpZXM6e3Jlc2l6YWJsZTp7dHlwZTpCb29sZWFuLHZhbHVlOmZ1bmN0aW9uKCl7aWYoInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCIhPT10aGlzLmxvY2FsTmFtZSl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZTtyZXR1cm4gYiYmInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT1iLmxvY2FsTmFtZT9iLnJlc2l6YWJsZXx8ITE6ITF9fX0saGVhZGVyVGVtcGxhdGU6e3R5cGU6T2JqZWN0fSxmb290ZXJUZW1wbGF0ZTp7dHlwZTpPYmplY3R9LGZyb3plbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0saGlkZGVuOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSxfbGFzdEZyb3plbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0sX29yZGVyOk51bWJlcixfcmVvcmRlclN0YXR1czpCb29sZWFufSxvYnNlcnZlcnM6WyJfZm9vdGVyVGVtcGxhdGVDaGFuZ2VkKGZvb3RlclRlbXBsYXRlKSIsCiJfaGVhZGVyVGVtcGxhdGVDaGFuZ2VkKGhlYWRlclRlbXBsYXRlKSIsIl9sYXN0RnJvemVuQ2hhbmdlZChfbGFzdEZyb3plbikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihkKXswPD1kLmFkZGVkTm9kZXMubGVuZ3RoJiYodGhpcy5oZWFkZXJUZW1wbGF0ZT10aGlzLl9wcmVwYXJlSGVhZGVyVGVtcGxhdGUoKSx0aGlzLmZvb3RlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpLHRoaXMudGVtcGxhdGU9dGhpcy5fcHJlcGFyZUJvZHlUZW1wbGF0ZSgpKX10aGlzLl90ZW1wbGF0ZU9ic2VydmVyPVBvbHltZXIuRWxlbWVudD9uZXcgUG9seW1lci5GbGF0dGVuZWROb2Rlc09ic2VydmVyKHRoaXMsYik6UG9seW1lci5kb20odGhpcykub2JzZXJ2ZU5vZGVzKGIpfSxfcHJlcGFyZUhlYWRlclRlbXBsYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ByZXBhcmVUZW1wbGF0aXplcih0aGlzLl9maW5kVGVtcGxhdGUoInRlbXBsYXRlLmhlYWRlciIpfHxudWxsLAp7fSl9LF9wcmVwYXJlRm9vdGVyVGVtcGxhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJlcGFyZVRlbXBsYXRpemVyKHRoaXMuX2ZpbmRUZW1wbGF0ZSgidGVtcGxhdGUuZm9vdGVyIil8fG51bGwse30pfSxfcHJlcGFyZUJvZHlUZW1wbGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCJ0ZW1wbGF0ZTpub3QoLmhlYWRlcik6bm90KC5mb290ZXIpIix7fSkpfSxfcHJlcGFyZVRlbXBsYXRpemVyOmZ1bmN0aW9uKGIsZCl7aWYoYiYmIWIudGVtcGxhdGl6ZXIpe3ZhciBmPW5ldyB2YWFkaW4uZWxlbWVudHMuZ3JpZC5UZW1wbGF0aXplcjtmLmRhdGFIb3N0PXRoaXMuZGF0YUhvc3Q7Zi5faW5zdGFuY2VQcm9wcz1kfHxmLl9pbnN0YW5jZVByb3BzO2YudGVtcGxhdGU9YjtiLnRlbXBsYXRpemVyPWZ9cmV0dXJuIGJ9LF9zZWxlY3RGaXJzdFRlbXBsYXRlOmZ1bmN0aW9uKGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoUG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvckFsbChiKSwKZnVuY3Rpb24oZCl7cmV0dXJuIFBvbHltZXIuZG9tKGQpLnBhcmVudE5vZGU9PT10aGlzfS5iaW5kKHRoaXMpKVswXX0sX2ZpbmRUZW1wbGF0ZTpmdW5jdGlvbihiKXsoYj10aGlzLl9zZWxlY3RGaXJzdFRlbXBsYXRlKGIpKSYmdGhpcy5kYXRhSG9zdCYmKGIuX3Jvb3REYXRhSG9zdD10aGlzLmRhdGFIb3N0Ll9yb290RGF0YUhvc3R8fHRoaXMuZGF0YUhvc3QpO3JldHVybiBifSxfaGVhZGVyVGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6ImhlYWRlclRlbXBsYXRlIix2YWx1ZTpifSl9LF9mb290ZXJUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoiZm9vdGVyVGVtcGxhdGUiLHZhbHVlOmJ9KX0sX2ZsZXhHcm93Q2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLHtwYXRoOiJmbGV4R3JvdyIsdmFsdWU6Yn0pfSxfd2lkdGhDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIsCntwYXRoOiJ3aWR0aCIsdmFsdWU6Yn0pfSxfbGFzdEZyb3plbkNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoibGFzdEZyb3plbiIsdmFsdWU6Yn0pfX07CnZhYWRpbi5lbGVtZW50cy5ncmlkLkNvbHVtbkJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7d2lkdGg6e3R5cGU6U3RyaW5nLHZhbHVlOiIxMDBweCJ9LGZsZXhHcm93Ont0eXBlOk51bWJlcix2YWx1ZToxfSx0ZW1wbGF0ZTp7dHlwZTpPYmplY3R9fSxvYnNlcnZlcnM6Il9mbGV4R3Jvd0NoYW5nZWQoZmxleEdyb3cpO193aWR0aENoYW5nZWQod2lkdGgpO190ZW1wbGF0ZUNoYW5nZWQodGVtcGxhdGUpO19mcm96ZW5DaGFuZ2VkKGZyb3plbiwgaXNBdHRhY2hlZCk7X2hpZGRlbkNoYW5nZWQoaGlkZGVuKTtfb3JkZXJDaGFuZ2VkKF9vcmRlcik7X3Jlb3JkZXJTdGF0dXNDaGFuZ2VkKF9yZW9yZGVyU3RhdHVzKTtfcmVzaXphYmxlQ2hhbmdlZChyZXNpemFibGUpIi5zcGxpdCgiOyIpLF9mcm96ZW5DaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmKHZvaWQgMD09PXRoaXMuX29sZEZyb3plbiYmITE9PT1ifHx0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLAp7cGF0aDoiZnJvemVuIix2YWx1ZTpifSksdGhpcy5fb2xkRnJvemVuPWIpfSxfdGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJmIudGVtcGxhdGl6ZXImJlBvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQoYi50ZW1wbGF0aXplcik7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoidGVtcGxhdGUiLHZhbHVlOmJ9LHtidWJibGVzOiExfSl9LF9oaWRkZW5DaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6ImhpZGRlbiIsdmFsdWU6Yn0pfSxfb3JkZXJDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6Im9yZGVyIix2YWx1ZTpifSl9LF9yZW9yZGVyU3RhdHVzQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLHtwYXRoOiJyZW9yZGVyU3RhdHVzIix2YWx1ZTpifSl9LF9yZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIsCntwYXRoOiJyZXNpemFibGUiLHZhbHVlOmJ9KX19O3ZhYWRpbi5lbGVtZW50cy5ncmlkLkNvbHVtbkJlaGF2aW9yPVt2YWFkaW4uZWxlbWVudHMuZ3JpZC5Db2x1bW5CYXNlQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uQmVoYXZpb3JJbXBsXTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1hcnJheS1kYXRhLXByb3ZpZGVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkFycmF5RGF0YVByb3ZpZGVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2l0ZW1zOkFycmF5fSxvYnNlcnZlcnM6WyJfaXRlbXNDaGFuZ2VkKGl0ZW1zLCBpdGVtcy4qKSJdLF9pdGVtc0NoYW5nZWQ6ZnVuY3Rpb24oYixkKXt2b2lkIDAhPT1iJiZ2b2lkIDAhPT1kJiYodGhpcy5zaXplPShifHxbXSkubGVuZ3RoLHRoaXMuZGF0YVByb3ZpZGVyPXRoaXMuZGF0YVByb3ZpZGVyfHx0aGlzLl9hcnJheURhdGFQcm92aWRlcix0aGlzLmNsZWFyQ2FjaGUoKSl9LF9hcnJheURhdGFQcm92aWRlcjpmdW5jdGlvbihiLGQpe3ZhciBmPSh0aGlzLml0ZW1zfHxbXSkuc2xpY2UoMCk7dGhpcy5fY2hlY2tQYXRocyh0aGlzLl9maWx0ZXJzLCJmaWx0ZXJpbmciLGYpJiYoZj10aGlzLl9maWx0ZXIoZikpO3RoaXMuc2l6ZT1mLmxlbmd0aDtiLnNvcnRPcmRlcnMubGVuZ3RoJiZ0aGlzLl9jaGVja1BhdGhzKHRoaXMuX3NvcnRlcnMsInNvcnRpbmciLGYpJiYoZj1mLnNvcnQodGhpcy5fbXVsdGlTb3J0LmJpbmQodGhpcykpKTsKdmFyIGg9Yi5wYWdlKmIucGFnZVNpemU7ZChmLnNsaWNlKGgsaCtiLnBhZ2VTaXplKSxmLmxlbmd0aCl9LF9jaGVja1BhdGhzOmZ1bmN0aW9uKGIsZCxmKXtpZighZi5sZW5ndGgpcmV0dXJuITE7dmFyIGg9ITAsaztmb3IoayBpbiBiKXt2YXIgcj1iW2tdLnBhdGg7aWYociYmLTEhPT1yLmluZGV4T2YoIi4iKSl7dmFyIGw9ci5yZXBsYWNlKC9cLlteXC5dKiQvLCIiKTt2b2lkIDA9PT1Qb2x5bWVyLkJhc2UuZ2V0KGwsZlswXSkmJihjb25zb2xlLndhcm4oJ1BhdGggIicrcisnIiB1c2VkIGZvciAnK2QrIiBkb2VzIG5vdCBleGlzdCBpbiBhbGwgb2YgdGhlIGl0ZW1zLCAiK2QrIiBpcyBkaXNhYmxlZC4iKSxoPSExKX19cmV0dXJuIGh9LF9tdWx0aVNvcnQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoZnVuY3Rpb24oZil7cmV0dXJuImFzYyI9PT1mLmRpcmVjdGlvbj90aGlzLl9jb21wYXJlKFBvbHltZXIuQmFzZS5nZXQoZi5wYXRoLGIpLFBvbHltZXIuQmFzZS5nZXQoZi5wYXRoLApkKSk6ImRlc2MiPT09Zi5kaXJlY3Rpb24/dGhpcy5fY29tcGFyZShQb2x5bWVyLkJhc2UuZ2V0KGYucGF0aCxkKSxQb2x5bWVyLkJhc2UuZ2V0KGYucGF0aCxiKSk6MH0sdGhpcykucmVkdWNlKGZ1bmN0aW9uKGYsaCl7cmV0dXJuIGY/ZjpofSwwKX0sX25vcm1hbGl6ZUVtcHR5VmFsdWU6ZnVuY3Rpb24oYil7cmV0dXJuIDA8PVt2b2lkIDAsbnVsbF0uaW5kZXhPZihiKT8iIjppc05hTihiKT9iLnRvU3RyaW5nKCk6Yn0sX2NvbXBhcmU6ZnVuY3Rpb24oYixkKXtiPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoYik7ZD10aGlzLl9ub3JtYWxpemVFbXB0eVZhbHVlKGQpO3JldHVybiBiPGQ/LTE6Yj5kPzE6MH0sX2ZpbHRlcjpmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIDA9PT10aGlzLl9maWx0ZXJzLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4tMT09PXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoUG9seW1lci5CYXNlLmdldChmLnBhdGgsZCkpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGYudmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKX0uYmluZCh0aGlzKSkubGVuZ3RofSwKdGhpcyl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1keW5hbWljLWNvbHVtbnMtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuRHluYW1pY0NvbHVtbnNCZWhhdmlvcj17cmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9hZGROb2RlT2JzZXJ2ZXIoKX0sX2hhc0NvbHVtbkdyb3VwczpmdW5jdGlvbihiKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylpZigidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWJbZF0ubG9jYWxOYW1lKXJldHVybiEwO3JldHVybiExfSxfZ2V0Q2hpbGRDb2x1bW5zOmZ1bmN0aW9uKGIpe3JldHVybiBQb2x5bWVyLmRvbShiKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHMoInZhYWRpbi1ncmlkLWNvbHVtbiwgdmFhZGluLWdyaWQtY29sdW1uLWdyb3VwLCB2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIil9LF9mbGF0dGVuQ29sdW1uR3JvdXBzOmZ1bmN0aW9uKGIpe3JldHVybiBiLm1hcChmdW5jdGlvbihkKXtyZXR1cm4idmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWQubG9jYWxOYW1lP3RoaXMuX2dldENoaWxkQ29sdW1ucyhkKTpbZF19LHRoaXMpLnJlZHVjZShmdW5jdGlvbihkLApmKXtyZXR1cm4gZC5jb25jYXQoZil9LFtdKX0sX2dldENvbHVtblRyZWU6ZnVuY3Rpb24oKXtmb3IodmFyIGI9W10sZD10aGlzLnF1ZXJ5QWxsRWZmZWN0aXZlQ2hpbGRyZW4oInZhYWRpbi1ncmlkLWNvbHVtbiwgdmFhZGluLWdyaWQtY29sdW1uLWdyb3VwLCB2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIik7Oyl7Yi5wdXNoKGQpO2lmKCF0aGlzLl9oYXNDb2x1bW5Hcm91cHMoZCkpYnJlYWs7ZD10aGlzLl9mbGF0dGVuQ29sdW1uR3JvdXBzKGQpfXJldHVybiBifSxfdXBkYXRlQ29sdW1uVHJlZTpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX2dldENvbHVtblRyZWUoKTt0aGlzLl9hcnJheUVxdWFscyhiLHRoaXMuX2NvbHVtblRyZWUpfHwodGhpcy5fY29sdW1uVHJlZT1iKX0sX2FkZE5vZGVPYnNlcnZlcjpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPVBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2RlcyhmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGYpe3JldHVybiBmLm5vZGVUeXBlPT09Ck5vZGUuRUxFTUVOVF9OT0RFJiYvXnZhYWRpbi1ncmlkLShjb2x1bW58c2VsZWN0aW9uKS9pLnRlc3QoZi5sb2NhbE5hbWUpfSgwPGIuYWRkZWROb2Rlcy5maWx0ZXIoZCkubGVuZ3RofHwwPGIucmVtb3ZlZE5vZGVzLmZpbHRlcihkKS5sZW5ndGgpJiZ0aGlzLl91cGRhdGVDb2x1bW5UcmVlKCk7KFBvbHltZXIuU2V0dGluZ3MudXNlTmF0aXZlU2hhZG93fHxQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdykmJlBvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKHRoaXMuJC5mb290ZXJGb2N1c1RyYXApO3RoaXMuZGVib3VuY2UoImNoZWNrLWltcG9ydHMiLHRoaXMuX2NoZWNrSW1wb3J0cywyRTMpfS5iaW5kKHRoaXMpKX0sX2FycmF5RXF1YWxzOmZ1bmN0aW9uKGIsZCl7aWYoIWJ8fCFkfHxiLmxlbmd0aCE9ZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBmPTAsaD1iLmxlbmd0aDtmPGg7ZisrKWlmKGJbZl1pbnN0YW5jZW9mIEFycmF5JiZkW2ZdaW5zdGFuY2VvZiBBcnJheSl7aWYoIXRoaXMuX2FycmF5RXF1YWxzKGJbZl0sCmRbZl0pKXJldHVybiExfWVsc2UgaWYoYltmXSE9ZFtmXSlyZXR1cm4hMTtyZXR1cm4hMH0sX2NoZWNrSW1wb3J0czpmdW5jdGlvbigpe1sidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiwidmFhZGluLWdyaWQtc29ydGVyIiwidmFhZGluLWdyaWQtZmlsdGVyIiwidmFhZGluLWdyaWQtc2VsZWN0aW9uLWNvbHVtbiJdLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIGQ9UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvcihiKTshZHx8KFBvbHltZXIuaXNJbnN0YW5jZT9Qb2x5bWVyLmlzSW5zdGFuY2UoZCk6ZCBpbnN0YW5jZW9mIFBvbHltZXIuRWxlbWVudCl8fGNvbnNvbGUud2FybigiTWFrZSBzdXJlIHlvdSBoYXZlIGltcG9ydGVkIHRoZSByZXF1aXJlZCBtb2R1bGUgZm9yIFx4M2MiK2IrIlx4M2UgZWxlbWVudC4iKX0sdGhpcyl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1zb3J0LWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlNvcnRCZWhhdmlvcj17cHJvcGVydGllczp7bXVsdGlTb3J0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9zb3J0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfcHJldmlvdXNTb3J0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsic29ydGVyLWNoYW5nZWQiOiJfb25Tb3J0ZXJDaGFuZ2VkIn0scmVhZHk6ZnVuY3Rpb24oKXtQb2x5bWVyLkVsZW1lbnQmJiFQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZVNoYWRvdyYmdGhpcy5hc3luYyhmdW5jdGlvbigpe3ZhciBiPVBvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoInZhYWRpbi1ncmlkLXNvcnRlciIpO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYixmdW5jdGlvbihkKXtkLmZpcmUmJmQuZmlyZSgic29ydGVyLWNoYW5nZWQiKX0pfSl9LF9vblNvcnRlckNoYW5nZWQ6ZnVuY3Rpb24oYil7dmFyIGQ9CmIudGFyZ2V0O3RoaXMuX3JlbW92ZUFycmF5SXRlbSh0aGlzLl9zb3J0ZXJzLGQpO2QuX29yZGVyPW51bGw7dGhpcy5tdWx0aVNvcnQ/KGQuZGlyZWN0aW9uJiZ0aGlzLl9zb3J0ZXJzLnVuc2hpZnQoZCksdGhpcy5fc29ydGVycy5mb3JFYWNoKGZ1bmN0aW9uKGYsaCl7Zi5fb3JkZXI9MTx0aGlzLl9zb3J0ZXJzLmxlbmd0aD9oOm51bGx9LHRoaXMpKToodGhpcy5fc29ydGVycy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuX29yZGVyPW51bGw7Zi5kaXJlY3Rpb249bnVsbH0pLGQuZGlyZWN0aW9uJiYodGhpcy5fc29ydGVycz1bZF0pKTtiLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZGF0YVByb3ZpZGVyJiZKU09OLnN0cmluZ2lmeSh0aGlzLl9wcmV2aW91c1NvcnRlcnMpIT09SlNPTi5zdHJpbmdpZnkodGhpcy5fbWFwU29ydGVycygpKSYmdGhpcy5jbGVhckNhY2hlKCk7dGhpcy5fcHJldmlvdXNTb3J0ZXJzPXRoaXMuX21hcFNvcnRlcnMoKX0sX21hcFNvcnRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoZnVuY3Rpb24oYil7cmV0dXJue3BhdGg6Yi5wYXRoLApkaXJlY3Rpb246Yi5kaXJlY3Rpb259fSl9LF9yZW1vdmVBcnJheUl0ZW06ZnVuY3Rpb24oYixkKXtkPWIuaW5kZXhPZihkKTstMTxkJiZiLnNwbGljZShkLDEpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZmlsdGVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307dmFhZGluLmVsZW1lbnRzLmdyaWQuRmlsdGVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e19maWx0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsiZmlsdGVyLWNoYW5nZWQiOiJfZmlsdGVyQ2hhbmdlZCJ9LF9maWx0ZXJDaGFuZ2VkOmZ1bmN0aW9uKGIpey0xPT09dGhpcy5fZmlsdGVycy5pbmRleE9mKGIudGFyZ2V0KSYmdGhpcy5fZmlsdGVycy5wdXNoKGIudGFyZ2V0KTtiLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZGF0YVByb3ZpZGVyJiZ0aGlzLmNsZWFyQ2FjaGUoKX0sX21hcEZpbHRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZmlsdGVycy5tYXAoZnVuY3Rpb24oYil7cmV0dXJue3BhdGg6Yi5wYXRoLHZhbHVlOmIudmFsdWV9fSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90L3V0aWxzLmh0bWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChrLHIsbCl7ZnVuY3Rpb24gcCgpe2lmKDA9PT1rLmxlbmd0aClyZXR1cm5bMSwyXTtjb25zdCBbbSxuXT1kMy5leHRlbnQoayk7cmV0dXJuIG0hPT1uP1ttLG5dOjA8bT9bLjUqbSwxLjUqbV06MD5tP1sxLjUqbSwuNSptXTpbLTEsMV19aWYoIkxJTkVBUiI9PT1sKXJldHVybiBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihwKCkpLnJhbmdlKFtyLDBdKTtpZigiTE9HIj09PWwpcmV0dXJuIGw9cCgpLDA+PWxbMF0mJjA8PWxbMV0/aChrLHIsIkxJTkVBUiIpOmQzLnNjYWxlTG9nKCkuZG9tYWluKGwpLnJhbmdlKFtyLDBdKTtpZigiUVVBTlRJTEUiPT09bClyZXR1cm4gbD1kMy5yYW5nZSgyMCkubWFwKG09PnItbSpyLzE5KSwwPT09ay5sZW5ndGgmJihrPVsxXSksZDMuc2NhbGVRdWFudGlsZSgpLmRvbWFpbihfLnVuaXEoaykpLnJhbmdlKGwpO2lmKCJOT05fTlVNRVJJQyI9PT1sKXJldHVybiBkMy5zY2FsZVBvaW50KCkuZG9tYWluKF8udW5pcShrLnNvcnQoKSkpLnJhbmdlKFtyLAowXSkucGFkZGluZyguMSk7dGhyb3cgUmFuZ2VFcnJvcigiVW5rbm93biBzY2FsZTogIitsKTt9Zi5maW5kQ2xvc2VzdFBhdGg9ZnVuY3Rpb24oayxyLGwpe2Z1bmN0aW9uIHAoeSx4LEMsRyl7Y29uc3QgRD15LUMsQj14LUc7Qz1tLUM7Rz1uLUc7Y29uc3QgSD0oRCpDK0IqRykvKEQqRCtCKkIpO3JldHVybiAwPj1IP2IuaHBhcmFtcy51dGlscy5sMk5vcm1TcXVhcmVkKEMsRyk6MTw9SD9iLmhwYXJhbXMudXRpbHMubDJOb3JtU3F1YXJlZCh5LW0seC1uKTpiLmhwYXJhbXMudXRpbHMubDJOb3JtU3F1YXJlZChDLUgqRCxHLUgqQil9aWYoMj5yLmxlbmd0aClyZXR1cm4gY29uc29sZS5lcnJvcigiTGVzcyB0aGFuIHR3byBheGVzIGluIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QuIiksbnVsbDtjb25zdCBtPWxbMF0sbj1sWzFdO2lmKG08PXJbMF18fG0+PXJbci5sZW5ndGgtMV0pcmV0dXJuIG51bGw7Y29uc3QgcT1fLnNvcnRlZEluZGV4KHIsbSk7Y29uc29sZS5hc3NlcnQoMDxxKTsKY29uc29sZS5hc3NlcnQocTxyLmxlbmd0aCk7Y29uc3QgdT1xLTE7bGV0IHc9bnVsbCxBPW51bGw7ay5mb3JFYWNoKHk9Pntjb25zdCB4PXAoeS5jb250cm9sUG9pbnRzW3VdWzBdLHkuY29udHJvbFBvaW50c1t1XVsxXSx5LmNvbnRyb2xQb2ludHNbcV1bMF0seS5jb250cm9sUG9pbnRzW3FdWzFdKTsxMDA8eHx8IShudWxsPT09d3x8eDx3KXx8KHc9eCxBPXkpfSk7cmV0dXJuIEF9O2YucG9pbnRTY2FsZUludmVyc2VJbWFnZT1mdW5jdGlvbihrLHIsbCl7cmV0dXJuIGsuZG9tYWluKCkuZmlsdGVyKHA9PntwPWsocCk7cmV0dXJuIHI8PXAmJnA8PWx9KX07Zi5xdWFudGlsZVNjYWxlSW52ZXJzZUltYWdlPWZ1bmN0aW9uKGsscixsKXtjb25zdCBwPWsucmFuZ2UoKSxtPXAuZmlsdGVyKG49PnI8PW4mJm48PWwpLm1hcChuPT57Y29uc3QgcT1rLmludmVydEV4dGVudChuKTtyZXR1cm4gbj09PXBbcC5sZW5ndGgtMV0/W3FbMF0scVsxXSsxXTpxfSk7cmV0dXJuIDA9PW0ubGVuZ3RoP1swLAowXTpkMy5leHRlbnQoZDMubWVyZ2UobSkpfTtmLmNvbnRpbnVvdXNTY2FsZUludmVyc2VJbWFnZT1mdW5jdGlvbihrLHIsbCl7cmV0dXJuW2suaW52ZXJ0KHIpLGsuaW52ZXJ0KGwpXS5zb3J0KChwLG0pPT5wLW0pfTtmLmNyZWF0ZUF4aXNTY2FsZT1ofSkoZC5wYXJhbGxlbF9jb29yZHNfcGxvdHx8KGQucGFyYWxsZWxfY29vcmRzX3Bsb3Q9e30pKX0pKGIuaHBhcmFtc3x8KGIuaHBhcmFtcz17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyL3RmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyIixoYW5kbGVFdmVudDpmdW5jdGlvbigpe319KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1iYWNrZW5kL3RmLWhwYXJhbXMtYmFja2VuZC5odG1sLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7Y2xhc3MgZntjb25zdHJ1Y3RvcihoLGsscj0hMCl7dGhpcy5fYXBpVXJsPWg7dGhpcy5fcmVxdWVzdE1hbmFnZXI9azt0aGlzLl91c2VIdHRwR2V0PXJ9Z2V0RXhwZXJpbWVudChoKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImV4cGVyaW1lbnQiLGgpfWdldERvd25sb2FkVXJsKGgsayxyKXtyZXR1cm4gdGhpcy5fYXBpVXJsKyIvZG93bmxvYWRfZGF0YT8iK25ldyBVUkxTZWFyY2hQYXJhbXMoe2Zvcm1hdDpoLGNvbHVtbnNWaXNpYmlsaXR5OkpTT04uc3RyaW5naWZ5KHIpLHJlcXVlc3Q6SlNPTi5zdHJpbmdpZnkoayl9KX1saXN0U2Vzc2lvbkdyb3VwcyhoKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInNlc3Npb25fZ3JvdXBzIixoKX1saXN0TWV0cmljRXZhbHMoaCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJtZXRyaWNfZXZhbHMiLGgpfV9zZW5kUmVxdWVzdChoLGspe2lmKHRoaXMuX3VzZUh0dHBHZXQpcmV0dXJuIGs9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGspKSwKdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0aGlzLl9hcGlVcmwrIi8iK2grIj9yZXF1ZXN0XHgzZCIrayk7Y29uc3Qgcj1uZXcgZGMuUmVxdWVzdE9wdGlvbnM7ci53aXRoQ3JlZGVudGlhbHM9ITA7ci5tZXRob2RUeXBlPSJQT1NUIjtyLmNvbnRlbnRUeXBlPSJ0ZXh0L3BsYWluIjtyLmJvZHk9SlNPTi5zdHJpbmdpZnkoayk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3RXaXRoT3B0aW9ucyh0aGlzLl9hcGlVcmwrIi8iK2gscil9fWQuQmFja2VuZD1mfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy90aHJlZS5qcwooZnVuY3Rpb24oYixkKXsib2JqZWN0Ij09PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBtb2R1bGU/ZChleHBvcnRzKToiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sZCk6KGI9Ynx8c2VsZixkKGIuVEhSRUU9e30pKX0pKHRoaXMsZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBmKGEsYyl7dGhpcy54PWF8fDA7dGhpcy55PWN8fDB9ZnVuY3Rpb24gaChhLGMsZSxnKXt0aGlzLl94PWF8fDA7dGhpcy5feT1jfHwwO3RoaXMuX3o9ZXx8MDt0aGlzLl93PXZvaWQgMCE9PWc/ZzoxfWZ1bmN0aW9uIGsoYSxjLGUpe3RoaXMueD1hfHwwO3RoaXMueT1jfHwwO3RoaXMuej1lfHwwfWZ1bmN0aW9uIHIoKXt0aGlzLmVsZW1lbnRzPVsxLDAsMCwwLDEsMCwwLDAsMV07MDxhcmd1bWVudHMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfQpmdW5jdGlvbiBsKGEsYyxlLGcsdCx2LHosRSxGLEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmhsKyt9KTt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy5uYW1lPSIiO3RoaXMuaW1hZ2U9dm9pZCAwIT09YT9hOmwuREVGQVVMVF9JTUFHRTt0aGlzLm1pcG1hcHM9W107dGhpcy5tYXBwaW5nPXZvaWQgMCE9PWM/YzpsLkRFRkFVTFRfTUFQUElORzt0aGlzLndyYXBTPXZvaWQgMCE9PWU/ZToxMDAxO3RoaXMud3JhcFQ9dm9pZCAwIT09Zz9nOjEwMDE7dGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09dD90OjEwMDY7dGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09dj92OjEwMDg7dGhpcy5hbmlzb3Ryb3B5PXZvaWQgMCE9PUY/RjoxO3RoaXMuZm9ybWF0PXZvaWQgMCE9PXo/ejoxMDIzO3RoaXMudHlwZT12b2lkIDAhPT1FP0U6MTAwOTt0aGlzLm9mZnNldD1uZXcgZigwLDApO3RoaXMucmVwZWF0PW5ldyBmKDEsMSk7dGhpcy5jZW50ZXI9bmV3IGYoMCwwKTsKdGhpcy5yb3RhdGlvbj0wO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMDt0aGlzLm1hdHJpeD1uZXcgcjt0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMDt0aGlzLnByZW11bHRpcGx5QWxwaGE9ITE7dGhpcy5mbGlwWT0hMDt0aGlzLnVucGFja0FsaWdubWVudD00O3RoaXMuZW5jb2Rpbmc9dm9pZCAwIT09ST9JOjNFMzt0aGlzLnZlcnNpb249MDt0aGlzLm9uVXBkYXRlPW51bGx9ZnVuY3Rpb24gcChhLGMsZSxnKXt0aGlzLng9YXx8MDt0aGlzLnk9Y3x8MDt0aGlzLno9ZXx8MDt0aGlzLnc9dm9pZCAwIT09Zz9nOjF9ZnVuY3Rpb24gbShhLGMsZSl7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWM7dGhpcy5zY2lzc29yPW5ldyBwKDAsMCxhLGMpO3RoaXMuc2Npc3NvclRlc3Q9ITE7dGhpcy52aWV3cG9ydD1uZXcgcCgwLDAsYSxjKTtlPWV8fHt9O3RoaXMudGV4dHVyZT1uZXcgbCh2b2lkIDAsdm9pZCAwLGUud3JhcFMsZS53cmFwVCxlLm1hZ0ZpbHRlcixlLm1pbkZpbHRlcixlLmZvcm1hdCxlLnR5cGUsCmUuYW5pc290cm9weSxlLmVuY29kaW5nKTt0aGlzLnRleHR1cmUuaW1hZ2U9e307dGhpcy50ZXh0dXJlLmltYWdlLndpZHRoPWE7dGhpcy50ZXh0dXJlLmltYWdlLmhlaWdodD1jO3RoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dm9pZCAwIT09ZS5nZW5lcmF0ZU1pcG1hcHM/ZS5nZW5lcmF0ZU1pcG1hcHM6ITE7dGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1lLm1pbkZpbHRlcj9lLm1pbkZpbHRlcjoxMDA2O3RoaXMuZGVwdGhCdWZmZXI9dm9pZCAwIT09ZS5kZXB0aEJ1ZmZlcj9lLmRlcHRoQnVmZmVyOiEwO3RoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1lLnN0ZW5jaWxCdWZmZXI/ZS5zdGVuY2lsQnVmZmVyOiEwO3RoaXMuZGVwdGhUZXh0dXJlPXZvaWQgMCE9PWUuZGVwdGhUZXh0dXJlP2UuZGVwdGhUZXh0dXJlOm51bGx9ZnVuY3Rpb24gbihhLGMsZSl7bS5jYWxsKHRoaXMsYSxjLGUpO3RoaXMuc2FtcGxlcz00fWZ1bmN0aW9uIHEoKXt0aGlzLmVsZW1lbnRzPQpbMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07MDxhcmd1bWVudHMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfWZ1bmN0aW9uIHUoYSxjLGUsZyl7dGhpcy5feD1hfHwwO3RoaXMuX3k9Y3x8MDt0aGlzLl96PWV8fDA7dGhpcy5fb3JkZXI9Z3x8dS5EZWZhdWx0T3JkZXJ9ZnVuY3Rpb24gdygpe3RoaXMubWFzaz0xfWZ1bmN0aW9uIEEoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTppbCsrfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ik9iamVjdDNEIjt0aGlzLnBhcmVudD1udWxsO3RoaXMuY2hpbGRyZW49W107dGhpcy51cD1BLkRlZmF1bHRVcC5jbG9uZSgpO3ZhciBhPW5ldyBrLGM9bmV3IHUsZT1uZXcgaCxnPW5ldyBrKDEsMSwxKTtjLl9vbkNoYW5nZShmdW5jdGlvbigpe2Uuc2V0RnJvbUV1bGVyKGMsCiExKX0pO2UuX29uQ2hhbmdlKGZ1bmN0aW9uKCl7Yy5zZXRGcm9tUXVhdGVybmlvbihlLHZvaWQgMCwhMSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLHtwb3NpdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6YX0scm90YXRpb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmN9LHF1YXRlcm5pb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmV9LHNjYWxlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpnfSxtb2RlbFZpZXdNYXRyaXg6e3ZhbHVlOm5ldyBxfSxub3JtYWxNYXRyaXg6e3ZhbHVlOm5ldyByfX0pO3RoaXMubWF0cml4PW5ldyBxO3RoaXMubWF0cml4V29ybGQ9bmV3IHE7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPUEuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExO3RoaXMubGF5ZXJzPW5ldyB3O3RoaXMudmlzaWJsZT0hMDsKdGhpcy5yZWNlaXZlU2hhZG93PXRoaXMuY2FzdFNoYWRvdz0hMTt0aGlzLmZydXN0dW1DdWxsZWQ9ITA7dGhpcy5yZW5kZXJPcmRlcj0wO3RoaXMudXNlckRhdGE9e319ZnVuY3Rpb24geSgpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNjZW5lIjt0aGlzLm92ZXJyaWRlTWF0ZXJpYWw9dGhpcy5mb2c9dGhpcy5iYWNrZ3JvdW5kPW51bGw7dGhpcy5hdXRvVXBkYXRlPSEwOyJ1bmRlZmluZWQiIT09dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9ZnVuY3Rpb24geChhLGMpe3RoaXMubWluPXZvaWQgMCE9PWE/YTpuZXcgayhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSk7dGhpcy5tYXg9dm9pZCAwIT09Yz9jOm5ldyBrKC1JbmZpbml0eSwtSW5maW5pdHksLUluZmluaXR5KX1mdW5jdGlvbiBDKGEsYyxlLGcsdCl7dmFyIHY7dmFyIHo9MDtmb3Iodj1hLmxlbmd0aC0KMzt6PD12O3orPTMpe01kLmZyb21BcnJheShhLHopO3ZhciBFPWMuZG90KE1kKSxGPWUuZG90KE1kKSxJPWcuZG90KE1kKTtpZihNYXRoLm1heCgtTWF0aC5tYXgoRSxGLEkpLE1hdGgubWluKEUsRixJKSk+dC54Kk1hdGguYWJzKE1kLngpK3QueSpNYXRoLmFicyhNZC55KSt0LnoqTWF0aC5hYnMoTWQueikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gRyhhLGMpe3RoaXMuY2VudGVyPXZvaWQgMCE9PWE/YTpuZXcgazt0aGlzLnJhZGl1cz12b2lkIDAhPT1jP2M6MH1mdW5jdGlvbiBEKGEsYyl7dGhpcy5vcmlnaW49dm9pZCAwIT09YT9hOm5ldyBrO3RoaXMuZGlyZWN0aW9uPXZvaWQgMCE9PWM/YzpuZXcga31mdW5jdGlvbiBCKGEsYyxlKXt0aGlzLmE9dm9pZCAwIT09YT9hOm5ldyBrO3RoaXMuYj12b2lkIDAhPT1jP2M6bmV3IGs7dGhpcy5jPXZvaWQgMCE9PWU/ZTpuZXcga31mdW5jdGlvbiBIKGEsYyxlKXtyZXR1cm4gdm9pZCAwPT09YyYmdm9pZCAwPT09ZT90aGlzLnNldChhKToKdGhpcy5zZXRSR0IoYSxjLGUpfWZ1bmN0aW9uIEsoYSxjLGUpezA+ZSYmKGUrPTEpOzE8ZSYmLS1lO3JldHVybiBlPDEvNj9hKzYqKGMtYSkqZTouNT5lP2M6ZTwyLzM/YSs2KihjLWEpKigyLzMtZSk6YX1mdW5jdGlvbiBMKGEpe3JldHVybi4wNDA0NT5hPy4wNzczOTkzODA4KmE6TWF0aC5wb3coLjk0Nzg2NzI5ODYqYSsuMDUyMTMyNzAxNCwyLjQpfWZ1bmN0aW9uIEooYSl7cmV0dXJuLjAwMzEzMDg+YT8xMi45MiphOjEuMDU1Kk1hdGgucG93KGEsLjQxNjY2KS0uMDU1fWZ1bmN0aW9uIE8oYSxjLGUsZyx0LHYpe3RoaXMuYT1hO3RoaXMuYj1jO3RoaXMuYz1lO3RoaXMubm9ybWFsPWcmJmcuaXNWZWN0b3IzP2c6bmV3IGs7dGhpcy52ZXJ0ZXhOb3JtYWxzPUFycmF5LmlzQXJyYXkoZyk/ZzpbXTt0aGlzLmNvbG9yPXQmJnQuaXNDb2xvcj90Om5ldyBIO3RoaXMudmVydGV4Q29sb3JzPUFycmF5LmlzQXJyYXkodCk/dDpbXTt0aGlzLm1hdGVyaWFsSW5kZXg9dm9pZCAwIT09dj92OjB9CmZ1bmN0aW9uIFMoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpqbCsrfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ik1hdGVyaWFsIjt0aGlzLmxpZ2h0cz10aGlzLmZvZz0hMDt0aGlzLmJsZW5kaW5nPTE7dGhpcy5zaWRlPTA7dGhpcy52ZXJ0ZXhUYW5nZW50cz10aGlzLmZsYXRTaGFkaW5nPSExO3RoaXMudmVydGV4Q29sb3JzPTA7dGhpcy5vcGFjaXR5PTE7dGhpcy50cmFuc3BhcmVudD0hMTt0aGlzLmJsZW5kU3JjPTIwNDt0aGlzLmJsZW5kRHN0PTIwNTt0aGlzLmJsZW5kRXF1YXRpb249MTAwO3RoaXMuYmxlbmRFcXVhdGlvbkFscGhhPXRoaXMuYmxlbmREc3RBbHBoYT10aGlzLmJsZW5kU3JjQWxwaGE9bnVsbDt0aGlzLmRlcHRoRnVuYz0zO3RoaXMuZGVwdGhXcml0ZT10aGlzLmRlcHRoVGVzdD0hMDt0aGlzLnN0ZW5jaWxGdW5jPTUxOTt0aGlzLnN0ZW5jaWxSZWY9MDt0aGlzLnN0ZW5jaWxNYXNrPQoyNTU7dGhpcy5zdGVuY2lsWlBhc3M9dGhpcy5zdGVuY2lsWkZhaWw9dGhpcy5zdGVuY2lsRmFpbD03NjgwO3RoaXMuc3RlbmNpbFdyaXRlPSExO3RoaXMuY2xpcHBpbmdQbGFuZXM9bnVsbDt0aGlzLmNsaXBTaGFkb3dzPXRoaXMuY2xpcEludGVyc2VjdGlvbj0hMTt0aGlzLnNoYWRvd1NpZGU9bnVsbDt0aGlzLmNvbG9yV3JpdGU9ITA7dGhpcy5wcmVjaXNpb249bnVsbDt0aGlzLnBvbHlnb25PZmZzZXQ9ITE7dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yPTA7dGhpcy5kaXRoZXJpbmc9ITE7dGhpcy5hbHBoYVRlc3Q9MDt0aGlzLnByZW11bHRpcGxpZWRBbHBoYT0hMTt0aGlzLnRvbmVNYXBwZWQ9dGhpcy52aXNpYmxlPSEwO3RoaXMudXNlckRhdGE9e307dGhpcy5uZWVkc1VwZGF0ZT0hMH1mdW5jdGlvbiBOKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ik1lc2hCYXNpY01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmxpZ2h0TWFwPQp0aGlzLm1hcD1udWxsO3RoaXMubGlnaHRNYXBJbnRlbnNpdHk9MTt0aGlzLmFvTWFwPW51bGw7dGhpcy5hb01hcEludGVuc2l0eT0xO3RoaXMuZW52TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5zcGVjdWxhck1hcD1udWxsO3RoaXMuY29tYmluZT0wO3RoaXMucmVmbGVjdGl2aXR5PTE7dGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4O3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIjt0aGlzLmxpZ2h0cz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIFIoYSxjLGUpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTt0aGlzLm5hbWU9IiI7dGhpcy5hcnJheT1hO3RoaXMuaXRlbVNpemU9CmM7dGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL2M6MDt0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1lO3RoaXMuZHluYW1pYz0hMTt0aGlzLnVwZGF0ZVJhbmdlPXtvZmZzZXQ6MCxjb3VudDotMX07dGhpcy52ZXJzaW9uPTB9ZnVuY3Rpb24gWChhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDhBcnJheShhKSxjLGUpfWZ1bmN0aW9uIGFhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDhBcnJheShhKSxjLGUpfWZ1bmN0aW9uIGZhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDhDbGFtcGVkQXJyYXkoYSksYyxlKX1mdW5jdGlvbiBvYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDE2QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBaKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDE2QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBjYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDMyQXJyYXkoYSksYyxlKX1mdW5jdGlvbiBqYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IFVpbnQzMkFycmF5KGEpLApjLGUpfWZ1bmN0aW9uIGJhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgRmxvYXQzMkFycmF5KGEpLGMsZSl9ZnVuY3Rpb24ga2EoYSxjLGUpe1IuY2FsbCh0aGlzLG5ldyBGbG9hdDY0QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBXKCl7dGhpcy52ZXJ0aWNlcz1bXTt0aGlzLm5vcm1hbHM9W107dGhpcy5jb2xvcnM9W107dGhpcy51dnM9W107dGhpcy51dnMyPVtdO3RoaXMuZ3JvdXBzPVtdO3RoaXMubW9ycGhUYXJnZXRzPXt9O3RoaXMuc2tpbldlaWdodHM9W107dGhpcy5za2luSW5kaWNlcz1bXTt0aGlzLmJvdW5kaW5nU3BoZXJlPXRoaXMuYm91bmRpbmdCb3g9bnVsbDt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9dGhpcy51dnNOZWVkVXBkYXRlPXRoaXMuY29sb3JzTmVlZFVwZGF0ZT10aGlzLm5vcm1hbHNOZWVkVXBkYXRlPXRoaXMudmVydGljZXNOZWVkVXBkYXRlPSExfWZ1bmN0aW9uIEVhKGEpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4tSW5maW5pdHk7Zm9yKHZhciBjPWFbMF0sZT0xLGc9CmEubGVuZ3RoO2U8ZzsrK2UpYVtlXT5jJiYoYz1hW2VdKTtyZXR1cm4gY31mdW5jdGlvbiB2YSgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmtsKz0yfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9IkJ1ZmZlckdlb21ldHJ5Ijt0aGlzLmluZGV4PW51bGw7dGhpcy5hdHRyaWJ1dGVzPXt9O3RoaXMubW9ycGhBdHRyaWJ1dGVzPXt9O3RoaXMuZ3JvdXBzPVtdO3RoaXMuYm91bmRpbmdTcGhlcmU9dGhpcy5ib3VuZGluZ0JveD1udWxsO3RoaXMuZHJhd1JhbmdlPXtzdGFydDowLGNvdW50OkluZmluaXR5fTt0aGlzLnVzZXJEYXRhPXt9fWZ1bmN0aW9uIHlhKGEsYyl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTWVzaCI7dGhpcy5nZW9tZXRyeT12b2lkIDAhPT1hP2E6bmV3IHZhO3RoaXMubWF0ZXJpYWw9dm9pZCAwIT09Yz9jOm5ldyBOKHtjb2xvcjoxNjc3NzIxNSpNYXRoLnJhbmRvbSgpfSk7dGhpcy5kcmF3TW9kZT0KMDt0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWZ1bmN0aW9uIEFhKGEsYyxlLGcsdCx2LHosRSl7aWYobnVsbD09PSgxPT09Yy5zaWRlP2cuaW50ZXJzZWN0VHJpYW5nbGUoeix2LHQsITAsRSk6Zy5pbnRlcnNlY3RUcmlhbmdsZSh0LHYseiwyIT09Yy5zaWRlLEUpKSlyZXR1cm4gbnVsbDt2Zy5jb3B5KEUpO3ZnLmFwcGx5TWF0cml4NChhLm1hdHJpeFdvcmxkKTtjPWUucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKHZnKTtyZXR1cm4gYzxlLm5lYXJ8fGM+ZS5mYXI/bnVsbDp7ZGlzdGFuY2U6Yyxwb2ludDp2Zy5jbG9uZSgpLG9iamVjdDphfX1mdW5jdGlvbiBGYShhLGMsZSxnLHQsdix6LEUsRixJLE0pe05kLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxGKTtPZC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsSSk7UGQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LE0pO3Q9YS5tb3JwaFRhcmdldEluZmx1ZW5jZXM7aWYoYy5tb3JwaFRhcmdldHMmJnYmJnQpe05oLnNldCgwLDAsMCk7T2guc2V0KDAsMCwwKTsKUGguc2V0KDAsMCwwKTtmb3IodmFyIFA9MCxRPXYubGVuZ3RoO1A8UTtQKyspe3ZhciBVPXRbUF0sVj12W1BdOzAhPT1VJiYoaWouZnJvbUJ1ZmZlckF0dHJpYnV0ZShWLEYpLGpqLmZyb21CdWZmZXJBdHRyaWJ1dGUoVixJKSxrai5mcm9tQnVmZmVyQXR0cmlidXRlKFYsTSksTmguYWRkU2NhbGVkVmVjdG9yKGlqLnN1YihOZCksVSksT2guYWRkU2NhbGVkVmVjdG9yKGpqLnN1YihPZCksVSksUGguYWRkU2NhbGVkVmVjdG9yKGtqLnN1YihQZCksVSkpfU5kLmFkZChOaCk7T2QuYWRkKE9oKTtQZC5hZGQoUGgpfWlmKGE9QWEoYSxjLGUsZyxOZCxPZCxQZCx1ZikpeiYmKHFlLmZyb21CdWZmZXJBdHRyaWJ1dGUoeixGKSxyZS5mcm9tQnVmZmVyQXR0cmlidXRlKHosSSksc2UuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh6LE0pLGEudXY9Qi5nZXRVVih1ZixOZCxPZCxQZCxxZSxyZSxzZSxuZXcgZikpLEUmJihxZS5mcm9tQnVmZmVyQXR0cmlidXRlKEUsRikscmUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShFLApJKSxzZS5mcm9tQnVmZmVyQXR0cmlidXRlKEUsTSksYS51djI9Qi5nZXRVVih1ZixOZCxPZCxQZCxxZSxyZSxzZSxuZXcgZikpLHo9bmV3IE8oRixJLE0pLEIuZ2V0Tm9ybWFsKE5kLE9kLFBkLHoubm9ybWFsKSxhLmZhY2U9ejtyZXR1cm4gYX1mdW5jdGlvbiB4YSgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmxsKz0yfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ikdlb21ldHJ5Ijt0aGlzLnZlcnRpY2VzPVtdO3RoaXMuY29sb3JzPVtdO3RoaXMuZmFjZXM9W107dGhpcy5mYWNlVmVydGV4VXZzPVtbXV07dGhpcy5tb3JwaFRhcmdldHM9W107dGhpcy5tb3JwaE5vcm1hbHM9W107dGhpcy5za2luV2VpZ2h0cz1bXTt0aGlzLnNraW5JbmRpY2VzPVtdO3RoaXMubGluZURpc3RhbmNlcz1bXTt0aGlzLmJvdW5kaW5nU3BoZXJlPXRoaXMuYm91bmRpbmdCb3g9bnVsbDt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9dGhpcy5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZT0KdGhpcy5jb2xvcnNOZWVkVXBkYXRlPXRoaXMubm9ybWFsc05lZWRVcGRhdGU9dGhpcy51dnNOZWVkVXBkYXRlPXRoaXMudmVydGljZXNOZWVkVXBkYXRlPXRoaXMuZWxlbWVudHNOZWVkVXBkYXRlPSExfWZ1bmN0aW9uIFNhKGEsYyxlLGcsdCx2KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQm94R2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17d2lkdGg6YSxoZWlnaHQ6YyxkZXB0aDplLHdpZHRoU2VnbWVudHM6ZyxoZWlnaHRTZWdtZW50czp0LGRlcHRoU2VnbWVudHM6dn07dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFhhKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gWGEoYSxjLGUsZyx0LHYpe2Z1bmN0aW9uIHooVixlYSxkYSxyYSxwYSxxYSx1YSxuYSx0YSxCYSxUYSl7dmFyIFVhPXFhL3RhLENhPXVhL0JhLEhhPXFhLzIsRGE9dWEvMixNYT1uYS8yO3VhPXRhKzE7dmFyIGRiPUJhKzEsdGI9cWE9MCxLYSxiYixqYj1uZXcgaztmb3IoYmI9CjA7YmI8ZGI7YmIrKyl7dmFyIEViPWJiKkNhLURhO2ZvcihLYT0wO0thPHVhO0thKyspamJbVl09KEthKlVhLUhhKSpyYSxqYltlYV09RWIqcGEsamJbZGFdPU1hLEkucHVzaChqYi54LGpiLnksamIueiksamJbVl09MCxqYltlYV09MCxqYltkYV09MDxuYT8xOi0xLE0ucHVzaChqYi54LGpiLnksamIueiksUC5wdXNoKEthL3RhKSxQLnB1c2goMS1iYi9CYSkscWErPTF9Zm9yKGJiPTA7YmI8QmE7YmIrKylmb3IoS2E9MDtLYTx0YTtLYSsrKVY9UStLYSt1YSooYmIrMSksZWE9USsoS2ErMSkrdWEqKGJiKzEpLGRhPVErKEthKzEpK3VhKmJiLEYucHVzaChRK0thK3VhKmJiLFYsZGEpLEYucHVzaChWLGVhLGRhKSx0Yis9NjtFLmFkZEdyb3VwKFUsdGIsVGEpO1UrPXRiO1ErPXFhfXZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJCb3hCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLGRlcHRoOmUsd2lkdGhTZWdtZW50czpnLGhlaWdodFNlZ21lbnRzOnQsCmRlcHRoU2VnbWVudHM6dn07dmFyIEU9dGhpczthPWF8fDE7Yz1jfHwxO2U9ZXx8MTtnPU1hdGguZmxvb3IoZyl8fDE7dD1NYXRoLmZsb29yKHQpfHwxO3Y9TWF0aC5mbG9vcih2KXx8MTt2YXIgRj1bXSxJPVtdLE09W10sUD1bXSxRPTAsVT0wO3ooInoiLCJ5IiwieCIsLTEsLTEsZSxjLGEsdix0LDApO3ooInoiLCJ5IiwieCIsMSwtMSxlLGMsLWEsdix0LDEpO3ooIngiLCJ6IiwieSIsMSwxLGEsZSxjLGcsdiwyKTt6KCJ4IiwieiIsInkiLDEsLTEsYSxlLC1jLGcsdiwzKTt6KCJ4IiwieSIsInoiLDEsLTEsYSxjLGUsZyx0LDQpO3ooIngiLCJ5IiwieiIsLTEsLTEsYSxjLC1lLGcsdCw1KTt0aGlzLnNldEluZGV4KEYpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKEksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShNLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYShQLDIpKX1mdW5jdGlvbiB1YihhKXt2YXIgYz17fSxlO2ZvcihlIGluIGEpe2NbZV09Cnt9O2Zvcih2YXIgZyBpbiBhW2VdKXt2YXIgdD1hW2VdW2ddO2NbZV1bZ109dCYmKHQuaXNDb2xvcnx8dC5pc01hdHJpeDN8fHQuaXNNYXRyaXg0fHx0LmlzVmVjdG9yMnx8dC5pc1ZlY3RvcjN8fHQuaXNWZWN0b3I0fHx0LmlzVGV4dHVyZSk/dC5jbG9uZSgpOkFycmF5LmlzQXJyYXkodCk/dC5zbGljZSgpOnR9fXJldHVybiBjfWZ1bmN0aW9uIEJiKGEpe2Zvcih2YXIgYz17fSxlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBnPXViKGFbZV0pLHQ7Zm9yKHQgaW4gZyljW3RdPWdbdF19cmV0dXJuIGN9ZnVuY3Rpb24gcWIoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU2hhZGVyTWF0ZXJpYWwiO3RoaXMuZGVmaW5lcz17fTt0aGlzLnVuaWZvcm1zPXt9O3RoaXMudmVydGV4U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uIFx4M2QgcHJvamVjdGlvbk1hdHJpeCAqIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcbn0iO3RoaXMuZnJhZ21lbnRTaGFkZXI9CiJ2b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIDEuMCwgMC4wLCAwLjAsIDEuMCApO1xufSI7dGhpcy5saW5ld2lkdGg9MTt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9dGhpcy5jbGlwcGluZz10aGlzLmxpZ2h0cz10aGlzLmZvZz0hMTt0aGlzLmV4dGVuc2lvbnM9e2Rlcml2YXRpdmVzOiExLGZyYWdEZXB0aDohMSxkcmF3QnVmZmVyczohMSxzaGFkZXJUZXh0dXJlTE9EOiExfTt0aGlzLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM9e2NvbG9yOlsxLDEsMV0sdXY6WzAsMF0sdXYyOlswLDBdfTt0aGlzLmluZGV4MEF0dHJpYnV0ZU5hbWU9dm9pZCAwO3RoaXMudW5pZm9ybXNOZWVkVXBkYXRlPSExO3ZvaWQgMCE9PWEmJih2b2lkIDAhPT1hLmF0dHJpYnV0ZXMmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlNoYWRlck1hdGVyaWFsOiBhdHRyaWJ1dGVzIHNob3VsZCBub3cgYmUgZGVmaW5lZCBpbiBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpLAp0aGlzLnNldFZhbHVlcyhhKSl9ZnVuY3Rpb24gemIoKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJDYW1lcmEiO3RoaXMubWF0cml4V29ybGRJbnZlcnNlPW5ldyBxO3RoaXMucHJvamVjdGlvbk1hdHJpeD1uZXcgcTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlPW5ldyBxfWZ1bmN0aW9uIHZiKGEsYyxlLGcpe3piLmNhbGwodGhpcyk7dGhpcy50eXBlPSJQZXJzcGVjdGl2ZUNhbWVyYSI7dGhpcy5mb3Y9dm9pZCAwIT09YT9hOjUwO3RoaXMuem9vbT0xO3RoaXMubmVhcj12b2lkIDAhPT1lP2U6LjE7dGhpcy5mYXI9dm9pZCAwIT09Zz9nOjJFMzt0aGlzLmZvY3VzPTEwO3RoaXMuYXNwZWN0PXZvaWQgMCE9PWM/YzoxO3RoaXMudmlldz1udWxsO3RoaXMuZmlsbUdhdWdlPTM1O3RoaXMuZmlsbU9mZnNldD0wO3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWZ1bmN0aW9uIEdiKGEsYyxlLGcpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkN1YmVDYW1lcmEiO3ZhciB0PW5ldyB2Yig5MCwKMSxhLGMpO3QudXAuc2V0KDAsLTEsMCk7dC5sb29rQXQobmV3IGsoMSwwLDApKTt0aGlzLmFkZCh0KTt2YXIgdj1uZXcgdmIoOTAsMSxhLGMpO3YudXAuc2V0KDAsLTEsMCk7di5sb29rQXQobmV3IGsoLTEsMCwwKSk7dGhpcy5hZGQodik7dmFyIHo9bmV3IHZiKDkwLDEsYSxjKTt6LnVwLnNldCgwLDAsMSk7ei5sb29rQXQobmV3IGsoMCwxLDApKTt0aGlzLmFkZCh6KTt2YXIgRT1uZXcgdmIoOTAsMSxhLGMpO0UudXAuc2V0KDAsMCwtMSk7RS5sb29rQXQobmV3IGsoMCwtMSwwKSk7dGhpcy5hZGQoRSk7dmFyIEY9bmV3IHZiKDkwLDEsYSxjKTtGLnVwLnNldCgwLC0xLDApO0YubG9va0F0KG5ldyBrKDAsMCwxKSk7dGhpcy5hZGQoRik7dmFyIEk9bmV3IHZiKDkwLDEsYSxjKTtJLnVwLnNldCgwLC0xLDApO0kubG9va0F0KG5ldyBrKDAsMCwtMSkpO3RoaXMuYWRkKEkpO2c9Z3x8e2Zvcm1hdDoxMDIyLG1hZ0ZpbHRlcjoxMDA2LG1pbkZpbHRlcjoxMDA2fTt0aGlzLnJlbmRlclRhcmdldD0KbmV3IE9iKGUsZSxnKTt0aGlzLnJlbmRlclRhcmdldC50ZXh0dXJlLm5hbWU9IkN1YmVDYW1lcmEiO3RoaXMudXBkYXRlPWZ1bmN0aW9uKE0sUCl7bnVsbD09PXRoaXMucGFyZW50JiZ0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCk7dmFyIFE9TS5nZXRSZW5kZXJUYXJnZXQoKSxVPXRoaXMucmVuZGVyVGFyZ2V0LFY9VS50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcztVLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPSExO00uc2V0UmVuZGVyVGFyZ2V0KFUsMCk7TS5yZW5kZXIoUCx0KTtNLnNldFJlbmRlclRhcmdldChVLDEpO00ucmVuZGVyKFAsdik7TS5zZXRSZW5kZXJUYXJnZXQoVSwyKTtNLnJlbmRlcihQLHopO00uc2V0UmVuZGVyVGFyZ2V0KFUsMyk7TS5yZW5kZXIoUCxFKTtNLnNldFJlbmRlclRhcmdldChVLDQpO00ucmVuZGVyKFAsRik7VS50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1WO00uc2V0UmVuZGVyVGFyZ2V0KFUsNSk7TS5yZW5kZXIoUCxJKTtNLnNldFJlbmRlclRhcmdldChRKX07CnRoaXMuY2xlYXI9ZnVuY3Rpb24oTSxQLFEsVSl7Zm9yKHZhciBWPU0uZ2V0UmVuZGVyVGFyZ2V0KCksZWE9dGhpcy5yZW5kZXJUYXJnZXQsZGE9MDs2PmRhO2RhKyspTS5zZXRSZW5kZXJUYXJnZXQoZWEsZGEpLE0uY2xlYXIoUCxRLFUpO00uc2V0UmVuZGVyVGFyZ2V0KFYpfX1mdW5jdGlvbiBPYihhLGMsZSl7bS5jYWxsKHRoaXMsYSxjLGUpfWZ1bmN0aW9uIEFiKGEsYyxlLGcsdCx2LHosRSxGLEksTSxQKXtsLmNhbGwodGhpcyxudWxsLHYseixFLEYsSSxnLHQsTSxQKTt0aGlzLmltYWdlPXtkYXRhOmEsd2lkdGg6YyxoZWlnaHQ6ZX07dGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09Rj9GOjEwMDM7dGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09ST9JOjEwMDM7dGhpcy5mbGlwWT10aGlzLmdlbmVyYXRlTWlwbWFwcz0hMTt0aGlzLnVucGFja0FsaWdubWVudD0xfWZ1bmN0aW9uIEhiKGEsYyl7dGhpcy5ub3JtYWw9dm9pZCAwIT09YT9hOm5ldyBrKDEsMCwwKTt0aGlzLmNvbnN0YW50PXZvaWQgMCE9PQpjP2M6MH1mdW5jdGlvbiBsYyhhLGMsZSxnLHQsdil7dGhpcy5wbGFuZXM9W3ZvaWQgMCE9PWE/YTpuZXcgSGIsdm9pZCAwIT09Yz9jOm5ldyBIYix2b2lkIDAhPT1lP2U6bmV3IEhiLHZvaWQgMCE9PWc/ZzpuZXcgSGIsdm9pZCAwIT09dD90Om5ldyBIYix2b2lkIDAhPT12P3Y6bmV3IEhiXX1mdW5jdGlvbiBlYygpe2Z1bmN0aW9uIGEodCx2KXshMSE9PWUmJihnKHQsdiksYy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYSkpfXZhciBjPW51bGwsZT0hMSxnPW51bGw7cmV0dXJue3N0YXJ0OmZ1bmN0aW9uKCl7ITAhPT1lJiZudWxsIT09ZyYmKGMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEpLGU9ITApfSxzdG9wOmZ1bmN0aW9uKCl7ZT0hMX0sc2V0QW5pbWF0aW9uTG9vcDpmdW5jdGlvbih0KXtnPXR9LHNldENvbnRleHQ6ZnVuY3Rpb24odCl7Yz10fX19ZnVuY3Rpb24gUWQoYSl7ZnVuY3Rpb24gYyh0LHYpe3ZhciB6PXQuYXJyYXksRT10LmR5bmFtaWM/MzUwNDg6MzUwNDQsRj1hLmNyZWF0ZUJ1ZmZlcigpOwphLmJpbmRCdWZmZXIodixGKTthLmJ1ZmZlckRhdGEodix6LEUpO3Qub25VcGxvYWRDYWxsYmFjaygpO3Y9NTEyNjt6IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5P3Y9NTEyNjp6IGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5P2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xBdHRyaWJ1dGVzOiBVbnN1cHBvcnRlZCBkYXRhIGJ1ZmZlciBmb3JtYXQ6IEZsb2F0NjRBcnJheS4iKTp6IGluc3RhbmNlb2YgVWludDE2QXJyYXk/dj01MTIzOnogaW5zdGFuY2VvZiBJbnQxNkFycmF5P3Y9NTEyMjp6IGluc3RhbmNlb2YgVWludDMyQXJyYXk/dj01MTI1OnogaW5zdGFuY2VvZiBJbnQzMkFycmF5P3Y9NTEyNDp6IGluc3RhbmNlb2YgSW50OEFycmF5P3Y9NTEyMDp6IGluc3RhbmNlb2YgVWludDhBcnJheSYmKHY9NTEyMSk7cmV0dXJue2J1ZmZlcjpGLHR5cGU6dixieXRlc1BlckVsZW1lbnQ6ei5CWVRFU19QRVJfRUxFTUVOVCx2ZXJzaW9uOnQudmVyc2lvbn19ZnVuY3Rpb24gZSh0LHYseil7dmFyIEU9CnYuYXJyYXksRj12LnVwZGF0ZVJhbmdlO2EuYmluZEJ1ZmZlcih6LHQpOyExPT09di5keW5hbWljP2EuYnVmZmVyRGF0YSh6LEUsMzUwNDQpOi0xPT09Ri5jb3VudD9hLmJ1ZmZlclN1YkRhdGEoeiwwLEUpOjA9PT1GLmNvdW50P2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMT2JqZWN0cy51cGRhdGVCdWZmZXI6IGR5bmFtaWMgVEhSRUUuQnVmZmVyQXR0cmlidXRlIG1hcmtlZCBhcyBuZWVkc1VwZGF0ZSBidXQgdXBkYXRlUmFuZ2UuY291bnQgaXMgMCwgZW5zdXJlIHlvdSBhcmUgdXNpbmcgc2V0IG1ldGhvZHMgb3IgdXBkYXRpbmcgbWFudWFsbHkuIik6KGEuYnVmZmVyU3ViRGF0YSh6LEYub2Zmc2V0KkUuQllURVNfUEVSX0VMRU1FTlQsRS5zdWJhcnJheShGLm9mZnNldCxGLm9mZnNldCtGLmNvdW50KSksRi5jb3VudD0tMSl9dmFyIGc9bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbih0KXt0LmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJih0PXQuZGF0YSk7cmV0dXJuIGcuZ2V0KHQpfSwKcmVtb3ZlOmZ1bmN0aW9uKHQpe3QuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKHQ9dC5kYXRhKTt2YXIgdj1nLmdldCh0KTt2JiYoYS5kZWxldGVCdWZmZXIodi5idWZmZXIpLGcuZGVsZXRlKHQpKX0sdXBkYXRlOmZ1bmN0aW9uKHQsdil7dC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYodD10LmRhdGEpO3ZhciB6PWcuZ2V0KHQpO3ZvaWQgMD09PXo/Zy5zZXQodCxjKHQsdikpOnoudmVyc2lvbjx0LnZlcnNpb24mJihlKHouYnVmZmVyLHQsdiksei52ZXJzaW9uPXQudmVyc2lvbil9fX1mdW5jdGlvbiB0ZChhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGxhbmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLHdpZHRoU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgTmMoYSxjLGUsZykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIE5jKGEsYyxlLGcpe3ZhLmNhbGwodGhpcyk7CnRoaXMudHlwZT0iUGxhbmVCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLHdpZHRoU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnfTthPWF8fDE7Yz1jfHwxO3ZhciB0PWEvMix2PWMvMjtlPU1hdGguZmxvb3IoZSl8fDE7Zz1NYXRoLmZsb29yKGcpfHwxO3ZhciB6PWUrMSxFPWcrMSxGPWEvZSxJPWMvZyxNPVtdLFA9W10sUT1bXSxVPVtdO2ZvcihhPTA7YTxFO2ErKyl7dmFyIFY9YSpJLXY7Zm9yKGM9MDtjPHo7YysrKVAucHVzaChjKkYtdCwtViwwKSxRLnB1c2goMCwwLDEpLFUucHVzaChjL2UpLFUucHVzaCgxLWEvZyl9Zm9yKGE9MDthPGc7YSsrKWZvcihjPTA7YzxlO2MrKyl0PWMreiooYSsxKSx2PWMrMSt6KihhKzEpLEU9YysxK3oqYSxNLnB1c2goYyt6KmEsdCxFKSxNLnB1c2godCx2LEUpO3RoaXMuc2V0SW5kZXgoTSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoUCwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsCm5ldyBiYShRLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYShVLDIpKX1mdW5jdGlvbiB1ZChhLGMsZSxnKXtmdW5jdGlvbiB0KFAsUSl7Yy5idWZmZXJzLmNvbG9yLnNldENsZWFyKFAucixQLmcsUC5iLFEsZyl9dmFyIHY9bmV3IEgoMCksej0wLEUsRixJPW51bGwsTT0wO3JldHVybntnZXRDbGVhckNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LHNldENsZWFyQ29sb3I6ZnVuY3Rpb24oUCxRKXt2LnNldChQKTt6PXZvaWQgMCE9PVE/UToxO3Qodix6KX0sZ2V0Q2xlYXJBbHBoYTpmdW5jdGlvbigpe3JldHVybiB6fSxzZXRDbGVhckFscGhhOmZ1bmN0aW9uKFApe3o9UDt0KHYseil9LHJlbmRlcjpmdW5jdGlvbihQLFEsVSxWKXtRPVEuYmFja2dyb3VuZDtVPWEudnI7KFU9VS5nZXRTZXNzaW9uJiZVLmdldFNlc3Npb24oKSkmJiJhZGRpdGl2ZSI9PT1VLmVudmlyb25tZW50QmxlbmRNb2RlJiYoUT1udWxsKTtudWxsPT09UT8odCh2LHopLEk9bnVsbCxNPTApOlEmJlEuaXNDb2xvciYmCih0KFEsMSksVj0hMCxJPW51bGwsTT0wKTsoYS5hdXRvQ2xlYXJ8fFYpJiZhLmNsZWFyKGEuYXV0b0NsZWFyQ29sb3IsYS5hdXRvQ2xlYXJEZXB0aCxhLmF1dG9DbGVhclN0ZW5jaWwpO2lmKFEmJihRLmlzQ3ViZVRleHR1cmV8fFEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpKXt2b2lkIDA9PT1GJiYoRj1uZXcgeWEobmV3IFhhKDEsMSwxKSxuZXcgcWIoe3R5cGU6IkJhY2tncm91bmRDdWJlTWF0ZXJpYWwiLHVuaWZvcm1zOnViKE9jLmN1YmUudW5pZm9ybXMpLHZlcnRleFNoYWRlcjpPYy5jdWJlLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpPYy5jdWJlLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSksRi5nZW9tZXRyeS5yZW1vdmVBdHRyaWJ1dGUoIm5vcm1hbCIpLEYuZ2VvbWV0cnkucmVtb3ZlQXR0cmlidXRlKCJ1diIpLEYub25CZWZvcmVSZW5kZXI9ZnVuY3Rpb24oZWEsZGEscmEpe3RoaXMubWF0cml4V29ybGQuY29weVBvc2l0aW9uKHJhLm1hdHJpeFdvcmxkKX0sCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShGLm1hdGVyaWFsLCJtYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy50Q3ViZS52YWx1ZX19KSxlLnVwZGF0ZShGKSk7Vj1RLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlP1EudGV4dHVyZTpRO0YubWF0ZXJpYWwudW5pZm9ybXMudEN1YmUudmFsdWU9VjtGLm1hdGVyaWFsLnVuaWZvcm1zLnRGbGlwLnZhbHVlPVEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmU/MTotMTtpZihJIT09UXx8TSE9PVYudmVyc2lvbilGLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLEk9USxNPVYudmVyc2lvbjtQLnVuc2hpZnQoRixGLmdlb21ldHJ5LEYubWF0ZXJpYWwsMCwwLG51bGwpfWVsc2UgaWYoUSYmUS5pc1RleHR1cmUpe3ZvaWQgMD09PUUmJihFPW5ldyB5YShuZXcgTmMoMiwyKSxuZXcgcWIoe3R5cGU6IkJhY2tncm91bmRNYXRlcmlhbCIsdW5pZm9ybXM6dWIoT2MuYmFja2dyb3VuZC51bmlmb3JtcyksdmVydGV4U2hhZGVyOk9jLmJhY2tncm91bmQudmVydGV4U2hhZGVyLApmcmFnbWVudFNoYWRlcjpPYy5iYWNrZ3JvdW5kLmZyYWdtZW50U2hhZGVyLHNpZGU6MCxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSksRS5nZW9tZXRyeS5yZW1vdmVBdHRyaWJ1dGUoIm5vcm1hbCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFLm1hdGVyaWFsLCJtYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy50MkQudmFsdWV9fSksZS51cGRhdGUoRSkpO0UubWF0ZXJpYWwudW5pZm9ybXMudDJELnZhbHVlPVE7ITA9PT1RLm1hdHJpeEF1dG9VcGRhdGUmJlEudXBkYXRlTWF0cml4KCk7RS5tYXRlcmlhbC51bmlmb3Jtcy51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KFEubWF0cml4KTtpZihJIT09UXx8TSE9PVEudmVyc2lvbilFLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLEk9USxNPVEudmVyc2lvbjtQLnVuc2hpZnQoRSxFLmdlb21ldHJ5LEUubWF0ZXJpYWwsMCwwLG51bGwpfX19fWZ1bmN0aW9uIHNhKGEsYyxlLGcpe3ZhciB0O3RoaXMuc2V0TW9kZT0KZnVuY3Rpb24odil7dD12fTt0aGlzLnJlbmRlcj1mdW5jdGlvbih2LHope2EuZHJhd0FycmF5cyh0LHYseik7ZS51cGRhdGUoeix0KX07dGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24odix6LEUpe2lmKGcuaXNXZWJHTDIpe3ZhciBGPWE7dmFyIEk9ImRyYXdBcnJheXNJbnN0YW5jZWQifWVsc2UgaWYoRj1jLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpLEk9ImRyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PUYpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO3JldHVybn1GW0ldKHQseixFLHYubWF4SW5zdGFuY2VkQ291bnQpO2UudXBkYXRlKEUsdCx2Lm1heEluc3RhbmNlZENvdW50KX19ZnVuY3Rpb24gTmIoYSxjLGUpe2Z1bmN0aW9uIGcocWEpe2lmKCJoaWdocCI9PT0KcWEpe2lmKDA8YS5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzMsMzYzMzgpLnByZWNpc2lvbiYmMDxhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMiwzNjMzOCkucHJlY2lzaW9uKXJldHVybiJoaWdocCI7cWE9Im1lZGl1bXAifXJldHVybiJtZWRpdW1wIj09PXFhJiYwPGEuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM3KS5wcmVjaXNpb24mJjA8YS5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzcpLnByZWNpc2lvbj8ibWVkaXVtcCI6Imxvd3AifXZhciB0LHY9InVuZGVmaW5lZCIhPT10eXBlb2YgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCYmYSBpbnN0YW5jZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsej12b2lkIDAhPT1lLnByZWNpc2lvbj9lLnByZWNpc2lvbjoiaGlnaHAiLEU9Zyh6KTtFIT09eiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjoiLHosIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixFLCJpbnN0ZWFkLiIpLAp6PUUpO2U9ITA9PT1lLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7RT1hLmdldFBhcmFtZXRlcigzNDkzMCk7dmFyIEY9YS5nZXRQYXJhbWV0ZXIoMzU2NjApLEk9YS5nZXRQYXJhbWV0ZXIoMzM3OSksTT1hLmdldFBhcmFtZXRlcigzNDA3NiksUD1hLmdldFBhcmFtZXRlcigzNDkyMSksUT1hLmdldFBhcmFtZXRlcigzNjM0NyksVT1hLmdldFBhcmFtZXRlcigzNjM0OCksVj1hLmdldFBhcmFtZXRlcigzNjM0OSksZWE9MDxGLGRhPXZ8fCEhYy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0IikscmE9ZWEmJmRhLHBhPXY/YS5nZXRQYXJhbWV0ZXIoMzYxODMpOjA7cmV0dXJue2lzV2ViR0wyOnYsZ2V0TWF4QW5pc290cm9weTpmdW5jdGlvbigpe2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7dmFyIHFhPWMuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtyZXR1cm4gdD1udWxsIT09cWE/YS5nZXRQYXJhbWV0ZXIocWEuTUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhUKTowfSwKZ2V0TWF4UHJlY2lzaW9uOmcscHJlY2lzaW9uOnosbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjplLG1heFRleHR1cmVzOkUsbWF4VmVydGV4VGV4dHVyZXM6RixtYXhUZXh0dXJlU2l6ZTpJLG1heEN1YmVtYXBTaXplOk0sbWF4QXR0cmlidXRlczpQLG1heFZlcnRleFVuaWZvcm1zOlEsbWF4VmFyeWluZ3M6VSxtYXhGcmFnbWVudFVuaWZvcm1zOlYsdmVydGV4VGV4dHVyZXM6ZWEsZmxvYXRGcmFnbWVudFRleHR1cmVzOmRhLGZsb2F0VmVydGV4VGV4dHVyZXM6cmEsbWF4U2FtcGxlczpwYX19ZnVuY3Rpb24geWMoKXtmdW5jdGlvbiBhKCl7SS52YWx1ZSE9PWcmJihJLnZhbHVlPWcsSS5uZWVkc1VwZGF0ZT0wPHQpO2UubnVtUGxhbmVzPXQ7ZS5udW1JbnRlcnNlY3Rpb249MH1mdW5jdGlvbiBjKE0sUCxRLFUpe3ZhciBWPW51bGwhPT1NP00ubGVuZ3RoOjAsZWE9bnVsbDtpZigwIT09Vil7ZWE9SS52YWx1ZTtpZighMCE9PVV8fG51bGw9PT1lYSl7VT1RKzQqVjtQPVAubWF0cml4V29ybGRJbnZlcnNlOwpGLmdldE5vcm1hbE1hdHJpeChQKTtpZihudWxsPT09ZWF8fGVhLmxlbmd0aDxVKWVhPW5ldyBGbG9hdDMyQXJyYXkoVSk7Zm9yKFU9MDtVIT09VjsrK1UsUSs9NClFLmNvcHkoTVtVXSkuYXBwbHlNYXRyaXg0KFAsRiksRS5ub3JtYWwudG9BcnJheShlYSxRKSxlYVtRKzNdPUUuY29uc3RhbnR9SS52YWx1ZT1lYTtJLm5lZWRzVXBkYXRlPSEwfWUubnVtUGxhbmVzPVY7cmV0dXJuIGVhfXZhciBlPXRoaXMsZz1udWxsLHQ9MCx2PSExLHo9ITEsRT1uZXcgSGIsRj1uZXcgcixJPXt2YWx1ZTpudWxsLG5lZWRzVXBkYXRlOiExfTt0aGlzLnVuaWZvcm09STt0aGlzLm51bUludGVyc2VjdGlvbj10aGlzLm51bVBsYW5lcz0wO3RoaXMuaW5pdD1mdW5jdGlvbihNLFAsUSl7dmFyIFU9MCE9PU0ubGVuZ3RofHxQfHwwIT09dHx8djt2PVA7Zz1jKE0sUSwwKTt0PU0ubGVuZ3RoO3JldHVybiBVfTt0aGlzLmJlZ2luU2hhZG93cz1mdW5jdGlvbigpe3o9ITA7YyhudWxsKX07dGhpcy5lbmRTaGFkb3dzPQpmdW5jdGlvbigpe3o9ITE7YSgpfTt0aGlzLnNldFN0YXRlPWZ1bmN0aW9uKE0sUCxRLFUsVixlYSl7aWYoIXZ8fG51bGw9PT1NfHwwPT09TS5sZW5ndGh8fHomJiFRKXo/YyhudWxsKTphKCk7ZWxzZXtRPXo/MDp0O3ZhciBkYT00KlEscmE9Vi5jbGlwcGluZ1N0YXRlfHxudWxsO0kudmFsdWU9cmE7cmE9YyhNLFUsZGEsZWEpO2ZvcihNPTA7TSE9PWRhOysrTSlyYVtNXT1nW01dO1YuY2xpcHBpbmdTdGF0ZT1yYTt0aGlzLm51bUludGVyc2VjdGlvbj1QP3RoaXMubnVtUGxhbmVzOjA7dGhpcy5udW1QbGFuZXMrPVF9fX1mdW5jdGlvbiBkZChhKXt2YXIgYz17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWNbZV0pcmV0dXJuIGNbZV07c3dpdGNoKGUpe2Nhc2UgIldFQkdMX2RlcHRoX3RleHR1cmUiOnZhciBnPWEuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIil8fGEuZ2V0RXh0ZW5zaW9uKCJNT1pfV0VCR0xfZGVwdGhfdGV4dHVyZSIpfHxhLmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUiKTsKYnJlYWs7Y2FzZSAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIjpnPWEuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8YS5nZXRFeHRlbnNpb24oIk1PWl9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8YS5nZXRFeHRlbnNpb24oIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTticmVhaztjYXNlICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyI6Zz1hLmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8YS5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHxhLmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIik7YnJlYWs7Y2FzZSAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIjpnPWEuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiKXx8CmEuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIik7YnJlYWs7ZGVmYXVsdDpnPWEuZ2V0RXh0ZW5zaW9uKGUpfW51bGw9PT1nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrZSsiIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiBjW2VdPWd9fX1mdW5jdGlvbiB2ZChhLGMsZSl7ZnVuY3Rpb24gZyhFKXt2YXIgRj1FLnRhcmdldDtFPXYuZ2V0KEYpO251bGwhPT1FLmluZGV4JiZjLnJlbW92ZShFLmluZGV4KTtmb3IodmFyIEkgaW4gRS5hdHRyaWJ1dGVzKWMucmVtb3ZlKEUuYXR0cmlidXRlc1tJXSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixnKTt2LmRlbGV0ZShGKTtpZihJPXouZ2V0KEUpKWMucmVtb3ZlKEkpLHouZGVsZXRlKEUpO2UubWVtb3J5Lmdlb21ldHJpZXMtLX1mdW5jdGlvbiB0KEUpe3ZhciBGPVtdLEk9RS5pbmRleCxNPUUuYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09Ckkpe3ZhciBQPUkuYXJyYXk7ST1JLnZlcnNpb247TT0wO2Zvcih2YXIgUT1QLmxlbmd0aDtNPFE7TSs9Myl7dmFyIFU9UFtNKzBdLFY9UFtNKzFdLGVhPVBbTSsyXTtGLnB1c2goVSxWLFYsZWEsZWEsVSl9fWVsc2UgZm9yKFA9TS5hcnJheSxJPU0udmVyc2lvbixNPTAsUT1QLmxlbmd0aC8zLTE7TTxRO00rPTMpVT1NKzAsVj1NKzEsZWE9TSsyLEYucHVzaChVLFYsVixlYSxlYSxVKTtGPW5ldyAoNjU1MzU8RWEoRik/amE6WikoRiwxKTtGLnZlcnNpb249STtjLnVwZGF0ZShGLDM0OTYzKTsoUD16LmdldChFKSkmJmMucmVtb3ZlKFApO3ouc2V0KEUsRil9dmFyIHY9bmV3IFdlYWtNYXAsej1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uKEUsRil7dmFyIEk9di5nZXQoRik7aWYoSSlyZXR1cm4gSTtGLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGcpO0YuaXNCdWZmZXJHZW9tZXRyeT9JPUY6Ri5pc0dlb21ldHJ5JiYodm9pZCAwPT09Ri5fYnVmZmVyR2VvbWV0cnkmJihGLl9idWZmZXJHZW9tZXRyeT0KKG5ldyB2YSkuc2V0RnJvbU9iamVjdChFKSksST1GLl9idWZmZXJHZW9tZXRyeSk7di5zZXQoRixJKTtlLm1lbW9yeS5nZW9tZXRyaWVzKys7cmV0dXJuIEl9LHVwZGF0ZTpmdW5jdGlvbihFKXt2YXIgRj1FLmluZGV4LEk9RS5hdHRyaWJ1dGVzO251bGwhPT1GJiZjLnVwZGF0ZShGLDM0OTYzKTtmb3IodmFyIE0gaW4gSSljLnVwZGF0ZShJW01dLDM0OTYyKTtFPUUubW9ycGhBdHRyaWJ1dGVzO2ZvcihNIGluIEUpe0Y9RVtNXTtJPTA7Zm9yKHZhciBQPUYubGVuZ3RoO0k8UDtJKyspYy51cGRhdGUoRltJXSwzNDk2Mil9fSxnZXRXaXJlZnJhbWVBdHRyaWJ1dGU6ZnVuY3Rpb24oRSl7dmFyIEY9ei5nZXQoRSk7aWYoRil7dmFyIEk9RS5pbmRleDtudWxsIT09SSYmRi52ZXJzaW9uPEkudmVyc2lvbiYmdChFKX1lbHNlIHQoRSk7cmV0dXJuIHouZ2V0KEUpfX19ZnVuY3Rpb24gd2coYSxjLGUsZyl7dmFyIHQsdix6O3RoaXMuc2V0TW9kZT1mdW5jdGlvbihFKXt0PUV9O3RoaXMuc2V0SW5kZXg9CmZ1bmN0aW9uKEUpe3Y9RS50eXBlO3o9RS5ieXRlc1BlckVsZW1lbnR9O3RoaXMucmVuZGVyPWZ1bmN0aW9uKEUsRil7YS5kcmF3RWxlbWVudHModCxGLHYsRSp6KTtlLnVwZGF0ZShGLHQpfTt0aGlzLnJlbmRlckluc3RhbmNlcz1mdW5jdGlvbihFLEYsSSl7aWYoZy5pc1dlYkdMMil7dmFyIE09YTt2YXIgUD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkIn1lbHNlIGlmKE09Yy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxQPSJkcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PU0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMSW5kZXhlZEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtyZXR1cm59TVtQXSh0LEksdixGKnosRS5tYXhJbnN0YW5jZWRDb3VudCk7ZS51cGRhdGUoSSx0LEUubWF4SW5zdGFuY2VkQ291bnQpfX0KZnVuY3Rpb24gbWwoKXt2YXIgYT17ZnJhbWU6MCxjYWxsczowLHRyaWFuZ2xlczowLHBvaW50czowLGxpbmVzOjB9O3JldHVybnttZW1vcnk6e2dlb21ldHJpZXM6MCx0ZXh0dXJlczowfSxyZW5kZXI6YSxwcm9ncmFtczpudWxsLGF1dG9SZXNldDohMCxyZXNldDpmdW5jdGlvbigpe2EuZnJhbWUrKzthLmNhbGxzPTA7YS50cmlhbmdsZXM9MDthLnBvaW50cz0wO2EubGluZXM9MH0sdXBkYXRlOmZ1bmN0aW9uKGMsZSxnKXtnPWd8fDE7YS5jYWxscysrO3N3aXRjaChlKXtjYXNlIDQ6YS50cmlhbmdsZXMrPWMvMypnO2JyZWFrO2Nhc2UgNTpjYXNlIDY6YS50cmlhbmdsZXMrPWcqKGMtMik7YnJlYWs7Y2FzZSAxOmEubGluZXMrPWMvMipnO2JyZWFrO2Nhc2UgMzphLmxpbmVzKz1nKihjLTEpO2JyZWFrO2Nhc2UgMjphLmxpbmVzKz1nKmM7YnJlYWs7Y2FzZSAwOmEucG9pbnRzKz1nKmM7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEluZm86IFVua25vd24gZHJhdyBtb2RlOiIsCmUpfX19fWZ1bmN0aW9uIG5sKGEsYyl7cmV0dXJuIE1hdGguYWJzKGNbMV0pLU1hdGguYWJzKGFbMV0pfWZ1bmN0aW9uIG9sKGEpe3ZhciBjPXt9LGU9bmV3IEZsb2F0MzJBcnJheSg4KTtyZXR1cm57dXBkYXRlOmZ1bmN0aW9uKGcsdCx2LHope3ZhciBFPWcubW9ycGhUYXJnZXRJbmZsdWVuY2VzLEY9RS5sZW5ndGg7Zz1jW3QuaWRdO2lmKHZvaWQgMD09PWcpe2c9W107Zm9yKHZhciBJPTA7STxGO0krKylnW0ldPVtJLDBdO2NbdC5pZF09Z312YXIgTT12Lm1vcnBoVGFyZ2V0cyYmdC5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247dj12Lm1vcnBoTm9ybWFscyYmdC5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsO2ZvcihJPTA7STxGO0krKyl7dmFyIFA9Z1tJXTswIT09UFsxXSYmKE0mJnQucmVtb3ZlQXR0cmlidXRlKCJtb3JwaFRhcmdldCIrSSksdiYmdC5yZW1vdmVBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIitJKSl9Zm9yKEk9MDtJPEY7SSsrKVA9Z1tJXSxQWzBdPUksUFsxXT1FW0ldO2cuc29ydChubCk7CmZvcihJPTA7OD5JO0krKyl7aWYoUD1nW0ldKWlmKEU9UFswXSxGPVBbMV0pe00mJnQuYWRkQXR0cmlidXRlKCJtb3JwaFRhcmdldCIrSSxNW0VdKTt2JiZ0LmFkZEF0dHJpYnV0ZSgibW9ycGhOb3JtYWwiK0ksdltFXSk7ZVtJXT1GO2NvbnRpbnVlfWVbSV09MH16LmdldFVuaWZvcm1zKCkuc2V0VmFsdWUoYSwibW9ycGhUYXJnZXRJbmZsdWVuY2VzIixlKX19fWZ1bmN0aW9uIHBsKGEsYyl7dmFyIGU9e307cmV0dXJue3VwZGF0ZTpmdW5jdGlvbihnKXt2YXIgdD1jLnJlbmRlci5mcmFtZSx2PWcuZ2VvbWV0cnksej1hLmdldChnLHYpO2Vbei5pZF0hPT10JiYodi5pc0dlb21ldHJ5JiZ6LnVwZGF0ZUZyb21PYmplY3QoZyksYS51cGRhdGUoeiksZVt6LmlkXT10KTtyZXR1cm4gen0sZGlzcG9zZTpmdW5jdGlvbigpe2U9e319fX1mdW5jdGlvbiBlZChhLGMsZSxnLHQsdix6LEUsRixJKXthPXZvaWQgMCE9PWE/YTpbXTtsLmNhbGwodGhpcyxhLHZvaWQgMCE9PWM/YzozMDEsZSxnLHQsdiwKdm9pZCAwIT09ej96OjEwMjIsRSxGLEkpO3RoaXMuZmxpcFk9ITF9ZnVuY3Rpb24gdGUoYSxjLGUsZyl7bC5jYWxsKHRoaXMsbnVsbCk7dGhpcy5pbWFnZT17ZGF0YTphLHdpZHRoOmMsaGVpZ2h0OmUsZGVwdGg6Z307dGhpcy5taW5GaWx0ZXI9dGhpcy5tYWdGaWx0ZXI9MTAwMzt0aGlzLndyYXBSPTEwMDE7dGhpcy5mbGlwWT10aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX1mdW5jdGlvbiB1ZShhLGMsZSxnKXtsLmNhbGwodGhpcyxudWxsKTt0aGlzLmltYWdlPXtkYXRhOmEsd2lkdGg6YyxoZWlnaHQ6ZSxkZXB0aDpnfTt0aGlzLm1pbkZpbHRlcj10aGlzLm1hZ0ZpbHRlcj0xMDAzO3RoaXMud3JhcFI9MTAwMTt0aGlzLmZsaXBZPXRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExfWZ1bmN0aW9uIHZlKGEsYyxlKXt2YXIgZz1hWzBdO2lmKDA+PWd8fDA8ZylyZXR1cm4gYTt2YXIgdD1jKmUsdj1salt0XTt2b2lkIDA9PT12JiYodj1uZXcgRmxvYXQzMkFycmF5KHQpLGxqW3RdPXYpO2lmKDAhPT1jKWZvcihnLnRvQXJyYXkodiwKMCksZz0xLHQ9MDtnIT09YzsrK2cpdCs9ZSxhW2ddLnRvQXJyYXkodix0KTtyZXR1cm4gdn1mdW5jdGlvbiB1YyhhLGMpe2lmKGEubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWlmKGFbZV0hPT1jW2VdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHBjKGEsYyl7Zm9yKHZhciBlPTAsZz1jLmxlbmd0aDtlPGc7ZSsrKWFbZV09Y1tlXX1mdW5jdGlvbiBtaihhLGMpe3ZhciBlPW5qW2NdO3ZvaWQgMD09PWUmJihlPW5ldyBJbnQzMkFycmF5KGMpLG5qW2NdPWUpO2Zvcih2YXIgZz0wO2chPT1jOysrZyllW2ddPWEuYWxsb2NhdGVUZXh0dXJlVW5pdCgpO3JldHVybiBlfWZ1bmN0aW9uIHFsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtlWzBdIT09YyYmKGEudW5pZm9ybTFmKHRoaXMuYWRkcixjKSxlWzBdPWMpfWZ1bmN0aW9uIHJsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1jLngpe2lmKGVbMF0hPT1jLnh8fGVbMV0hPT0KYy55KWEudW5pZm9ybTJmKHRoaXMuYWRkcixjLngsYy55KSxlWzBdPWMueCxlWzFdPWMueX1lbHNlIHVjKGUsYyl8fChhLnVuaWZvcm0yZnYodGhpcy5hZGRyLGMpLHBjKGUsYykpfWZ1bmN0aW9uIHNsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1jLngpe2lmKGVbMF0hPT1jLnh8fGVbMV0hPT1jLnl8fGVbMl0hPT1jLnopYS51bmlmb3JtM2YodGhpcy5hZGRyLGMueCxjLnksYy56KSxlWzBdPWMueCxlWzFdPWMueSxlWzJdPWMuen1lbHNlIGlmKHZvaWQgMCE9PWMucil7aWYoZVswXSE9PWMucnx8ZVsxXSE9PWMuZ3x8ZVsyXSE9PWMuYilhLnVuaWZvcm0zZih0aGlzLmFkZHIsYy5yLGMuZyxjLmIpLGVbMF09Yy5yLGVbMV09Yy5nLGVbMl09Yy5ifWVsc2UgdWMoZSxjKXx8KGEudW5pZm9ybTNmdih0aGlzLmFkZHIsYykscGMoZSxjKSl9ZnVuY3Rpb24gdGwoYSxjKXt2YXIgZT10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWMueCl7aWYoZVswXSE9PWMueHx8ZVsxXSE9PWMueXx8CmVbMl0hPT1jLnp8fGVbM10hPT1jLncpYS51bmlmb3JtNGYodGhpcy5hZGRyLGMueCxjLnksYy56LGMudyksZVswXT1jLngsZVsxXT1jLnksZVsyXT1jLnosZVszXT1jLnd9ZWxzZSB1YyhlLGMpfHwoYS51bmlmb3JtNGZ2KHRoaXMuYWRkcixjKSxwYyhlLGMpKX1mdW5jdGlvbiB1bChhLGMpe3ZhciBlPXRoaXMuY2FjaGUsZz1jLmVsZW1lbnRzO3ZvaWQgMD09PWc/dWMoZSxjKXx8KGEudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEsYykscGMoZSxjKSk6dWMoZSxnKXx8KG9qLnNldChnKSxhLnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLG9qKSxwYyhlLGcpKX1mdW5jdGlvbiB2bChhLGMpe3ZhciBlPXRoaXMuY2FjaGUsZz1jLmVsZW1lbnRzO3ZvaWQgMD09PWc/dWMoZSxjKXx8KGEudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsYykscGMoZSxjKSk6dWMoZSxnKXx8KHBqLnNldChnKSxhLnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLHBqKSxwYyhlLGcpKX0KZnVuY3Rpb24gd2woYSxjKXt2YXIgZT10aGlzLmNhY2hlLGc9Yy5lbGVtZW50czt2b2lkIDA9PT1nP3VjKGUsYyl8fChhLnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLGMpLHBjKGUsYykpOnVjKGUsZyl8fChxai5zZXQoZyksYS51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwhMSxxaikscGMoZSxnKSl9ZnVuY3Rpb24geGwoYSxjLGUpe3ZhciBnPXRoaXMuY2FjaGUsdD1lLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtnWzBdIT09dCYmKGEudW5pZm9ybTFpKHRoaXMuYWRkcix0KSxnWzBdPXQpO2Uuc2FmZVNldFRleHR1cmUyRChjfHxyaix0KX1mdW5jdGlvbiB5bChhLGMsZSl7dmFyIGc9dGhpcy5jYWNoZSx0PWUuYWxsb2NhdGVUZXh0dXJlVW5pdCgpO2dbMF0hPT10JiYoYS51bmlmb3JtMWkodGhpcy5hZGRyLHQpLGdbMF09dCk7ZS5zZXRUZXh0dXJlMkRBcnJheShjfHx6bCx0KX1mdW5jdGlvbiBBbChhLGMsZSl7dmFyIGc9dGhpcy5jYWNoZSx0PWUuYWxsb2NhdGVUZXh0dXJlVW5pdCgpOwpnWzBdIT09dCYmKGEudW5pZm9ybTFpKHRoaXMuYWRkcix0KSxnWzBdPXQpO2Uuc2V0VGV4dHVyZTNEKGN8fEJsLHQpfWZ1bmN0aW9uIENsKGEsYyxlKXt2YXIgZz10aGlzLmNhY2hlLHQ9ZS5hbGxvY2F0ZVRleHR1cmVVbml0KCk7Z1swXSE9PXQmJihhLnVuaWZvcm0xaSh0aGlzLmFkZHIsdCksZ1swXT10KTtlLnNhZmVTZXRUZXh0dXJlQ3ViZShjfHxzaix0KX1mdW5jdGlvbiBEbChhLGMpe3ZhciBlPXRoaXMuY2FjaGU7ZVswXSE9PWMmJihhLnVuaWZvcm0xaSh0aGlzLmFkZHIsYyksZVswXT1jKX1mdW5jdGlvbiBFbChhLGMpe3ZhciBlPXRoaXMuY2FjaGU7dWMoZSxjKXx8KGEudW5pZm9ybTJpdih0aGlzLmFkZHIsYykscGMoZSxjKSl9ZnVuY3Rpb24gRmwoYSxjKXt2YXIgZT10aGlzLmNhY2hlO3VjKGUsYyl8fChhLnVuaWZvcm0zaXYodGhpcy5hZGRyLGMpLHBjKGUsYykpfWZ1bmN0aW9uIEdsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTt1YyhlLGMpfHwoYS51bmlmb3JtNGl2KHRoaXMuYWRkciwKYykscGMoZSxjKSl9ZnVuY3Rpb24gSGwoYSl7c3dpdGNoKGEpe2Nhc2UgNTEyNjpyZXR1cm4gcWw7Y2FzZSAzNTY2NDpyZXR1cm4gcmw7Y2FzZSAzNTY2NTpyZXR1cm4gc2w7Y2FzZSAzNTY2NjpyZXR1cm4gdGw7Y2FzZSAzNTY3NDpyZXR1cm4gdWw7Y2FzZSAzNTY3NTpyZXR1cm4gdmw7Y2FzZSAzNTY3NjpyZXR1cm4gd2w7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OnJldHVybiB4bDtjYXNlIDM1Njc5OnJldHVybiBBbDtjYXNlIDM1NjgwOnJldHVybiBDbDtjYXNlIDM2Mjg5OnJldHVybiB5bDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gRGw7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBFbDtjYXNlIDM1NjY4OmNhc2UgMzU2NzI6cmV0dXJuIEZsO2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gR2x9fWZ1bmN0aW9uIElsKGEsYyl7YS51bmlmb3JtMWZ2KHRoaXMuYWRkcixjKX1mdW5jdGlvbiBKbChhLGMpe2EudW5pZm9ybTFpdih0aGlzLmFkZHIsYyl9ZnVuY3Rpb24gS2woYSwKYyl7YS51bmlmb3JtMml2KHRoaXMuYWRkcixjKX1mdW5jdGlvbiBMbChhLGMpe2EudW5pZm9ybTNpdih0aGlzLmFkZHIsYyl9ZnVuY3Rpb24gTWwoYSxjKXthLnVuaWZvcm00aXYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIE5sKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwyKTthLnVuaWZvcm0yZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIE9sKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwzKTthLnVuaWZvcm0zZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIFBsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw0KTthLnVuaWZvcm00ZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIFFsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw0KTthLnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLGMpfWZ1bmN0aW9uIFJsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw5KTthLnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLGMpfWZ1bmN0aW9uIFNsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwxNik7YS51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwKITEsYyl9ZnVuY3Rpb24gVGwoYSxjLGUpe3ZhciBnPWMubGVuZ3RoLHQ9bWooZSxnKTthLnVuaWZvcm0xaXYodGhpcy5hZGRyLHQpO2ZvcihhPTA7YSE9PWc7KythKWUuc2FmZVNldFRleHR1cmUyRChjW2FdfHxyaix0W2FdKX1mdW5jdGlvbiBVbChhLGMsZSl7dmFyIGc9Yy5sZW5ndGgsdD1taihlLGcpO2EudW5pZm9ybTFpdih0aGlzLmFkZHIsdCk7Zm9yKGE9MDthIT09ZzsrK2EpZS5zYWZlU2V0VGV4dHVyZUN1YmUoY1thXXx8c2osdFthXSl9ZnVuY3Rpb24gVmwoYSl7c3dpdGNoKGEpe2Nhc2UgNTEyNjpyZXR1cm4gSWw7Y2FzZSAzNTY2NDpyZXR1cm4gTmw7Y2FzZSAzNTY2NTpyZXR1cm4gT2w7Y2FzZSAzNTY2NjpyZXR1cm4gUGw7Y2FzZSAzNTY3NDpyZXR1cm4gUWw7Y2FzZSAzNTY3NTpyZXR1cm4gUmw7Y2FzZSAzNTY3NjpyZXR1cm4gU2w7Y2FzZSAzNTY3ODpyZXR1cm4gVGw7Y2FzZSAzNTY4MDpyZXR1cm4gVWw7Y2FzZSA1MTI0OmNhc2UgMzU2NzA6cmV0dXJuIEpsO2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gS2w7CmNhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gTGw7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiBNbH19ZnVuY3Rpb24gV2woYSxjLGUpe3RoaXMuaWQ9YTt0aGlzLmFkZHI9ZTt0aGlzLmNhY2hlPVtdO3RoaXMuc2V0VmFsdWU9SGwoYy50eXBlKX1mdW5jdGlvbiB0aihhLGMsZSl7dGhpcy5pZD1hO3RoaXMuYWRkcj1lO3RoaXMuY2FjaGU9W107dGhpcy5zaXplPWMuc2l6ZTt0aGlzLnNldFZhbHVlPVZsKGMudHlwZSl9ZnVuY3Rpb24gdWooYSl7dGhpcy5pZD1hO3RoaXMuc2VxPVtdO3RoaXMubWFwPXt9fWZ1bmN0aW9uIHZqKGEsYyl7YS5zZXEucHVzaChjKTthLm1hcFtjLmlkXT1jfWZ1bmN0aW9uIFhsKGEsYyxlKXt2YXIgZz1hLm5hbWUsdD1nLmxlbmd0aDtmb3IoUWgubGFzdEluZGV4PTA7Oyl7dmFyIHY9UWguZXhlYyhnKSx6PVFoLmxhc3RJbmRleCxFPXZbMV0sRj12WzNdOyJdIj09PXZbMl0mJihFfD0wKTtpZih2b2lkIDA9PT1GfHwiWyI9PT1GJiZ6KzI9PT10KXt2aihlLAp2b2lkIDA9PT1GP25ldyBXbChFLGEsYyk6bmV3IHRqKEUsYSxjKSk7YnJlYWt9ZWxzZSB2PWUubWFwW0VdLHZvaWQgMD09PXYmJih2PW5ldyB1aihFKSx2aihlLHYpKSxlPXZ9fWZ1bmN0aW9uIHdkKGEsYyl7dGhpcy5zZXE9W107dGhpcy5tYXA9e307Zm9yKHZhciBlPWEuZ2V0UHJvZ3JhbVBhcmFtZXRlcihjLDM1NzE4KSxnPTA7ZzxlOysrZyl7dmFyIHQ9YS5nZXRBY3RpdmVVbmlmb3JtKGMsZyk7WGwodCxhLmdldFVuaWZvcm1Mb2NhdGlvbihjLHQubmFtZSksdGhpcyl9fWZ1bmN0aW9uIHdqKGEsYyxlKXtjPWEuY3JlYXRlU2hhZGVyKGMpO2Euc2hhZGVyU291cmNlKGMsZSk7YS5jb21waWxlU2hhZGVyKGMpO3JldHVybiBjfWZ1bmN0aW9uIFlsKGEpe2E9YS5zcGxpdCgiXG4iKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPWMrMSsiOiAiK2FbY107cmV0dXJuIGEuam9pbigiXG4iKX1mdW5jdGlvbiB4aihhKXtzd2l0Y2goYSl7Y2FzZSAzRTM6cmV0dXJuWyJMaW5lYXIiLAoiKCB2YWx1ZSApIl07Y2FzZSAzMDAxOnJldHVyblsic1JHQiIsIiggdmFsdWUgKSJdO2Nhc2UgMzAwMjpyZXR1cm5bIlJHQkUiLCIoIHZhbHVlICkiXTtjYXNlIDMwMDQ6cmV0dXJuWyJSR0JNIiwiKCB2YWx1ZSwgNy4wICkiXTtjYXNlIDMwMDU6cmV0dXJuWyJSR0JNIiwiKCB2YWx1ZSwgMTYuMCApIl07Y2FzZSAzMDA2OnJldHVyblsiUkdCRCIsIiggdmFsdWUsIDI1Ni4wICkiXTtjYXNlIDMwMDc6cmV0dXJuWyJHYW1tYSIsIiggdmFsdWUsIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApIl07Y2FzZSAzMDAzOnJldHVyblsiTG9nTHV2IiwiKCB2YWx1ZSApIl07ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgZW5jb2Rpbmc6ICIrYSk7fX1mdW5jdGlvbiB5aihhLGMsZSl7dmFyIGc9YS5nZXRTaGFkZXJQYXJhbWV0ZXIoYywzNTcxMyksdD1hLmdldFNoYWRlckluZm9Mb2coYykudHJpbSgpO3JldHVybiBnJiYiIj09PXQ/IiI6IlRIUkVFLldlYkdMU2hhZGVyOiBnbC5nZXRTaGFkZXJJbmZvTG9nKCkgIisKZSsiXG4iK3QrWWwoYS5nZXRTaGFkZXJTb3VyY2UoYykpfWZ1bmN0aW9uIHhnKGEsYyl7Yz14aihjKTtyZXR1cm4idmVjNCAiK2ErIiggdmVjNCB2YWx1ZSApIHsgcmV0dXJuICIrY1swXSsiVG9MaW5lYXIiK2NbMV0rIjsgfSJ9ZnVuY3Rpb24gWmwoYSxjKXtjPXhqKGMpO3JldHVybiJ2ZWM0ICIrYSsiKCB2ZWM0IHZhbHVlICkgeyByZXR1cm4gTGluZWFyVG8iK2NbMF0rY1sxXSsiOyB9In1mdW5jdGlvbiAkbChhLGMpe3N3aXRjaChjKXtjYXNlIDE6Yz0iTGluZWFyIjticmVhaztjYXNlIDI6Yz0iUmVpbmhhcmQiO2JyZWFrO2Nhc2UgMzpjPSJVbmNoYXJ0ZWQyIjticmVhaztjYXNlIDQ6Yz0iT3B0aW1pemVkQ2luZW9uIjticmVhaztjYXNlIDU6Yz0iQUNFU0ZpbG1pYyI7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgdG9uZU1hcHBpbmc6ICIrYyk7fXJldHVybiJ2ZWMzICIrYSsiKCB2ZWMzIGNvbG9yICkgeyByZXR1cm4gIitjKyJUb25lTWFwcGluZyggY29sb3IgKTsgfSJ9CmZ1bmN0aW9uIGFtKGEsYyxlKXthPWF8fHt9O3JldHVyblthLmRlcml2YXRpdmVzfHxjLmVudk1hcEN1YmVVVnx8Yy5idW1wTWFwfHxjLnRhbmdlbnRTcGFjZU5vcm1hbE1hcHx8Yy5jbGVhcmNvYXROb3JtYWxNYXB8fGMuZmxhdFNoYWRpbmc/IiNleHRlbnNpb24gR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIDogZW5hYmxlIjoiIiwoYS5mcmFnRGVwdGh8fGMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcikmJmUuZ2V0KCJFWFRfZnJhZ19kZXB0aCIpPyIjZXh0ZW5zaW9uIEdMX0VYVF9mcmFnX2RlcHRoIDogZW5hYmxlIjoiIixhLmRyYXdCdWZmZXJzJiZlLmdldCgiV0VCR0xfZHJhd19idWZmZXJzIik/IiNleHRlbnNpb24gR0xfRVhUX2RyYXdfYnVmZmVycyA6IHJlcXVpcmUiOiIiLChhLnNoYWRlclRleHR1cmVMT0R8fGMuZW52TWFwKSYmZS5nZXQoIkVYVF9zaGFkZXJfdGV4dHVyZV9sb2QiKT8iI2V4dGVuc2lvbiBHTF9FWFRfc2hhZGVyX3RleHR1cmVfbG9kIDogZW5hYmxlIjoiIl0uZmlsdGVyKHZmKS5qb2luKCJcbiIpfQpmdW5jdGlvbiBibShhKXt2YXIgYz1bXSxlO2ZvcihlIGluIGEpe3ZhciBnPWFbZV07ITEhPT1nJiZjLnB1c2goIiNkZWZpbmUgIitlKyIgIitnKX1yZXR1cm4gYy5qb2luKCJcbiIpfWZ1bmN0aW9uIGNtKGEsYyl7Zm9yKHZhciBlPXt9LGc9YS5nZXRQcm9ncmFtUGFyYW1ldGVyKGMsMzU3MjEpLHQ9MDt0PGc7dCsrKXt2YXIgdj1hLmdldEFjdGl2ZUF0dHJpYihjLHQpLm5hbWU7ZVt2XT1hLmdldEF0dHJpYkxvY2F0aW9uKGMsdil9cmV0dXJuIGV9ZnVuY3Rpb24gdmYoYSl7cmV0dXJuIiIhPT1hfWZ1bmN0aW9uIHpqKGEsYyl7cmV0dXJuIGEucmVwbGFjZSgvTlVNX0RJUl9MSUdIVFMvZyxjLm51bURpckxpZ2h0cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRTL2csYy5udW1TcG90TGlnaHRzKS5yZXBsYWNlKC9OVU1fUkVDVF9BUkVBX0xJR0hUUy9nLGMubnVtUmVjdEFyZWFMaWdodHMpLnJlcGxhY2UoL05VTV9QT0lOVF9MSUdIVFMvZyxjLm51bVBvaW50TGlnaHRzKS5yZXBsYWNlKC9OVU1fSEVNSV9MSUdIVFMvZywKYy5udW1IZW1pTGlnaHRzKS5yZXBsYWNlKC9OVU1fRElSX0xJR0hUX1NIQURPV1MvZyxjLm51bURpckxpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRfU0hBRE9XUy9nLGMubnVtU3BvdExpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MvZyxjLm51bVBvaW50TGlnaHRTaGFkb3dzKX1mdW5jdGlvbiBBaihhLGMpe3JldHVybiBhLnJlcGxhY2UoL05VTV9DTElQUElOR19QTEFORVMvZyxjLm51bUNsaXBwaW5nUGxhbmVzKS5yZXBsYWNlKC9VTklPTl9DTElQUElOR19QTEFORVMvZyxjLm51bUNsaXBwaW5nUGxhbmVzLWMubnVtQ2xpcEludGVyc2VjdGlvbil9ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIGEucmVwbGFjZSgvXlsgXHRdKiNpbmNsdWRlICs8KFtcd1xkLi9dKyk+L2dtLGZ1bmN0aW9uKGMsZSl7Yz1yYltlXTtpZih2b2lkIDA9PT1jKXRocm93IEVycm9yKCJDYW4gbm90IHJlc29sdmUgI2luY2x1ZGUgXHgzYyIrZSsiXHgzZSIpO3JldHVybiBSaChjKX0pfQpmdW5jdGlvbiBCaihhKXtyZXR1cm4gYS5yZXBsYWNlKC8jcHJhZ21hIHVucm9sbF9sb29wW1xzXSs/Zm9yIFwoIGludCBpID0gKFxkKyk7IGkgPCAoXGQrKTsgaSBcK1wrIFwpIFx7KFtcc1xTXSs/KSg/PVx9KVx9L2csZnVuY3Rpb24oYyxlLGcsdCl7Yz0iIjtmb3IoZT1wYXJzZUludChlKTtlPHBhcnNlSW50KGcpO2UrKyljKz10LnJlcGxhY2UoL1xbIGkgXF0vZywiWyAiK2UrIiBdIikucmVwbGFjZSgvVU5ST0xMRURfTE9PUF9JTkRFWC9nLGUpO3JldHVybiBjfSl9ZnVuY3Rpb24gZG0oYSxjLGUsZyx0LHYseil7dmFyIEU9YS5nZXRDb250ZXh0KCksRj1nLmRlZmluZXMsST10LnZlcnRleFNoYWRlcixNPXQuZnJhZ21lbnRTaGFkZXIsUD0iU0hBRE9XTUFQX1RZUEVfQkFTSUMiOzE9PT12LnNoYWRvd01hcFR5cGU/UD0iU0hBRE9XTUFQX1RZUEVfUENGIjoyPT09di5zaGFkb3dNYXBUeXBlP1A9IlNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIjozPT09di5zaGFkb3dNYXBUeXBlJiYoUD0KIlNIQURPV01BUF9UWVBFX1ZTTSIpO3ZhciBRPSJFTlZNQVBfVFlQRV9DVUJFIixVPSJFTlZNQVBfTU9ERV9SRUZMRUNUSU9OIixWPSJFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFkiO2lmKHYuZW52TWFwKXtzd2l0Y2goZy5lbnZNYXAubWFwcGluZyl7Y2FzZSAzMDE6Y2FzZSAzMDI6UT0iRU5WTUFQX1RZUEVfQ1VCRSI7YnJlYWs7Y2FzZSAzMDY6Y2FzZSAzMDc6UT0iRU5WTUFQX1RZUEVfQ1VCRV9VViI7YnJlYWs7Y2FzZSAzMDM6Y2FzZSAzMDQ6UT0iRU5WTUFQX1RZUEVfRVFVSVJFQyI7YnJlYWs7Y2FzZSAzMDU6UT0iRU5WTUFQX1RZUEVfU1BIRVJFIn1zd2l0Y2goZy5lbnZNYXAubWFwcGluZyl7Y2FzZSAzMDI6Y2FzZSAzMDQ6VT0iRU5WTUFQX01PREVfUkVGUkFDVElPTiJ9c3dpdGNoKGcuY29tYmluZSl7Y2FzZSAwOlY9IkVOVk1BUF9CTEVORElOR19NVUxUSVBMWSI7YnJlYWs7Y2FzZSAxOlY9IkVOVk1BUF9CTEVORElOR19NSVgiO2JyZWFrO2Nhc2UgMjpWPSJFTlZNQVBfQkxFTkRJTkdfQUREIn19dmFyIGVhPQowPGEuZ2FtbWFGYWN0b3I/YS5nYW1tYUZhY3RvcjoxLGRhPXouaXNXZWJHTDI/IiI6YW0oZy5leHRlbnNpb25zLHYsYykscmE9Ym0oRikscGE9RS5jcmVhdGVQcm9ncmFtKCk7Zy5pc1Jhd1NoYWRlck1hdGVyaWFsPyhGPVtyYV0uZmlsdGVyKHZmKS5qb2luKCJcbiIpLDA8Ri5sZW5ndGgmJihGKz0iXG4iKSxjPVtkYSxyYV0uZmlsdGVyKHZmKS5qb2luKCJcbiIpLDA8Yy5sZW5ndGgmJihjKz0iXG4iKSk6KEY9WyJwcmVjaXNpb24gIit2LnByZWNpc2lvbisiIGZsb2F0OyIsInByZWNpc2lvbiAiK3YucHJlY2lzaW9uKyIgaW50OyIsImhpZ2hwIj09PXYucHJlY2lzaW9uPyIjZGVmaW5lIEhJR0hfUFJFQ0lTSU9OIjoiIiwiI2RlZmluZSBTSEFERVJfTkFNRSAiK3QubmFtZSxyYSx2LnN1cHBvcnRzVmVydGV4VGV4dHVyZXM/IiNkZWZpbmUgVkVSVEVYX1RFWFRVUkVTIjoiIiwiI2RlZmluZSBHQU1NQV9GQUNUT1IgIitlYSwiI2RlZmluZSBNQVhfQk9ORVMgIit2Lm1heEJvbmVzLHYudXNlRm9nJiYKdi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsdi51c2VGb2cmJnYuZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsdi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgIitVOiIiLHYubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIix2LmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsdi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLHYuYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsdi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsdi5ub3JtYWxNYXAmJnYub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIix2Lm5vcm1hbE1hcCYmdi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsdi5jbGVhcmNvYXROb3JtYWxNYXA/CiIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIix2LmRpc3BsYWNlbWVudE1hcCYmdi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFVTRV9ESVNQTEFDRU1FTlRNQVAiOiIiLHYuc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIix2LnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIix2Lm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIix2LmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsdi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsdi52ZXJ0ZXhDb2xvcnM/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIix2LnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLHYuZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLHYuc2tpbm5pbmc/IiNkZWZpbmUgVVNFX1NLSU5OSU5HIjoiIix2LnVzZVZlcnRleFRleHR1cmU/IiNkZWZpbmUgQk9ORV9URVhUVVJFIjoKIiIsdi5tb3JwaFRhcmdldHM/IiNkZWZpbmUgVVNFX01PUlBIVEFSR0VUUyI6IiIsdi5tb3JwaE5vcm1hbHMmJiExPT09di5mbGF0U2hhZGluZz8iI2RlZmluZSBVU0VfTU9SUEhOT1JNQUxTIjoiIix2LmRvdWJsZVNpZGVkPyIjZGVmaW5lIERPVUJMRV9TSURFRCI6IiIsdi5mbGlwU2lkZWQ/IiNkZWZpbmUgRkxJUF9TSURFRCI6IiIsdi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lIFVTRV9TSEFET1dNQVAiOiIiLHYuc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSAiK1A6IiIsdi5zaXplQXR0ZW51YXRpb24/IiNkZWZpbmUgVVNFX1NJWkVBVFRFTlVBVElPTiI6IiIsdi5sb2dhcml0aG1pY0RlcHRoQnVmZmVyPyIjZGVmaW5lIFVTRV9MT0dERVBUSEJVRiI6IiIsdi5sb2dhcml0aG1pY0RlcHRoQnVmZmVyJiYoei5pc1dlYkdMMnx8Yy5nZXQoIkVYVF9mcmFnX2RlcHRoIikpPyIjZGVmaW5lIFVTRV9MT0dERVBUSEJVRl9FWFQiOiIiLCJ1bmlmb3JtIG1hdDQgbW9kZWxNYXRyaXg7IiwidW5pZm9ybSBtYXQ0IG1vZGVsVmlld01hdHJpeDsiLAoidW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQzIG5vcm1hbE1hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwiYXR0cmlidXRlIHZlYzMgcG9zaXRpb247IiwiYXR0cmlidXRlIHZlYzMgbm9ybWFsOyIsImF0dHJpYnV0ZSB2ZWMyIHV2OyIsIiNpZmRlZiBVU0VfVEFOR0VOVCIsIlx0YXR0cmlidXRlIHZlYzQgdGFuZ2VudDsiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX0NPTE9SIiwiXHRhdHRyaWJ1dGUgdmVjMyBjb2xvcjsiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX01PUlBIVEFSR0VUUyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQwOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQxOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQyOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQzOyIsIlx0I2lmZGVmIFVTRV9NT1JQSE5PUk1BTFMiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwwOyIsCiJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwxOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDI7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMzsiLCJcdCNlbHNlIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ1OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDY7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NzsiLCJcdCNlbmRpZiIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfU0tJTk5JTkciLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5JbmRleDsiLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5XZWlnaHQ7IiwiI2VuZGlmIiwiXG4iXS5maWx0ZXIodmYpLmpvaW4oIlxuIiksYz1bZGEsInByZWNpc2lvbiAiK3YucHJlY2lzaW9uKyIgZmxvYXQ7IiwicHJlY2lzaW9uICIrdi5wcmVjaXNpb24rIiBpbnQ7IiwiaGlnaHAiPT09di5wcmVjaXNpb24/IiNkZWZpbmUgSElHSF9QUkVDSVNJT04iOgoiIiwiI2RlZmluZSBTSEFERVJfTkFNRSAiK3QubmFtZSxyYSx2LmFscGhhVGVzdD8iI2RlZmluZSBBTFBIQVRFU1QgIit2LmFscGhhVGVzdCsodi5hbHBoYVRlc3QlMT8iIjoiLjAiKToiIiwiI2RlZmluZSBHQU1NQV9GQUNUT1IgIitlYSx2LnVzZUZvZyYmdi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsdi51c2VGb2cmJnYuZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsdi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsdi5tYXRjYXA/IiNkZWZpbmUgVVNFX01BVENBUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgIitROiIiLHYuZW52TWFwPyIjZGVmaW5lICIrVToiIix2LmVudk1hcD8iI2RlZmluZSAiK1Y6IiIsdi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLHYuYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIix2LmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsdi5idW1wTWFwPwoiI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsdi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsdi5ub3JtYWxNYXAmJnYub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIix2Lm5vcm1hbE1hcCYmdi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsdi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLHYuc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIix2LnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIix2Lm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIix2LmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsdi5zaGVlbj8iI2RlZmluZSBVU0VfU0hFRU4iOiIiLHYudmVydGV4VGFuZ2VudHM/IiNkZWZpbmUgVVNFX1RBTkdFTlQiOgoiIix2LnZlcnRleENvbG9ycz8iI2RlZmluZSBVU0VfQ09MT1IiOiIiLHYudmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsdi5ncmFkaWVudE1hcD8iI2RlZmluZSBVU0VfR1JBRElFTlRNQVAiOiIiLHYuZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLHYuZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIix2LmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIix2LnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsdi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrUDoiIix2LnByZW11bHRpcGxpZWRBbHBoYT8iI2RlZmluZSBQUkVNVUxUSVBMSUVEX0FMUEhBIjoiIix2LnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPyIjZGVmaW5lIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMiOiIiLHYubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLHYubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmCih6LmlzV2ViR0wyfHxjLmdldCgiRVhUX2ZyYWdfZGVwdGgiKSk/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsKGcuZXh0ZW5zaW9ucyYmZy5leHRlbnNpb25zLnNoYWRlclRleHR1cmVMT0R8fHYuZW52TWFwKSYmKHouaXNXZWJHTDJ8fGMuZ2V0KCJFWFRfc2hhZGVyX3RleHR1cmVfbG9kIikpPyIjZGVmaW5lIFRFWFRVUkVfTE9EX0VYVCI6IiIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gdmVjMyBjYW1lcmFQb3NpdGlvbjsiLDAhPT12LnRvbmVNYXBwaW5nPyIjZGVmaW5lIFRPTkVfTUFQUElORyI6IiIsMCE9PXYudG9uZU1hcHBpbmc/cmIudG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiIiwwIT09di50b25lTWFwcGluZz8kbCgidG9uZU1hcHBpbmciLHYudG9uZU1hcHBpbmcpOiIiLHYuZGl0aGVyaW5nPyIjZGVmaW5lIERJVEhFUklORyI6IiIsdi5vdXRwdXRFbmNvZGluZ3x8di5tYXBFbmNvZGluZ3x8di5tYXRjYXBFbmNvZGluZ3x8di5lbnZNYXBFbmNvZGluZ3x8CnYuZW1pc3NpdmVNYXBFbmNvZGluZz9yYi5lbmNvZGluZ3NfcGFyc19mcmFnbWVudDoiIix2Lm1hcEVuY29kaW5nP3hnKCJtYXBUZXhlbFRvTGluZWFyIix2Lm1hcEVuY29kaW5nKToiIix2Lm1hdGNhcEVuY29kaW5nP3hnKCJtYXRjYXBUZXhlbFRvTGluZWFyIix2Lm1hdGNhcEVuY29kaW5nKToiIix2LmVudk1hcEVuY29kaW5nP3hnKCJlbnZNYXBUZXhlbFRvTGluZWFyIix2LmVudk1hcEVuY29kaW5nKToiIix2LmVtaXNzaXZlTWFwRW5jb2Rpbmc/eGcoImVtaXNzaXZlTWFwVGV4ZWxUb0xpbmVhciIsdi5lbWlzc2l2ZU1hcEVuY29kaW5nKToiIix2Lm91dHB1dEVuY29kaW5nP1psKCJsaW5lYXJUb091dHB1dFRleGVsIix2Lm91dHB1dEVuY29kaW5nKToiIix2LmRlcHRoUGFja2luZz8iI2RlZmluZSBERVBUSF9QQUNLSU5HICIrZy5kZXB0aFBhY2tpbmc6IiIsIlxuIl0uZmlsdGVyKHZmKS5qb2luKCJcbiIpKTtJPVJoKEkpO0k9emooSSx2KTtJPUFqKEksdik7TT1SaChNKTtNPXpqKE0sCnYpO009QWooTSx2KTtJPUJqKEkpO009QmooTSk7ei5pc1dlYkdMMiYmIWcuaXNSYXdTaGFkZXJNYXRlcmlhbCYmKHo9ITEsUD0vXlxzKiN2ZXJzaW9uXHMrMzAwXHMrZXNccypcbi8sZy5pc1NoYWRlck1hdGVyaWFsJiZudWxsIT09SS5tYXRjaChQKSYmbnVsbCE9PU0ubWF0Y2goUCkmJih6PSEwLEk9SS5yZXBsYWNlKFAsIiIpLE09TS5yZXBsYWNlKFAsIiIpKSxGPSIjdmVyc2lvbiAzMDAgZXNcblxuI2RlZmluZSBhdHRyaWJ1dGUgaW5cbiNkZWZpbmUgdmFyeWluZyBvdXRcbiNkZWZpbmUgdGV4dHVyZTJEIHRleHR1cmVcbiIrRixjPVsiI3ZlcnNpb24gMzAwIGVzXG5cbiNkZWZpbmUgdmFyeWluZyBpbiIsej8iIjoib3V0IGhpZ2hwIHZlYzQgcGNfZnJhZ0NvbG9yOyIsej8iIjoiI2RlZmluZSBnbF9GcmFnQ29sb3IgcGNfZnJhZ0NvbG9yIiwiI2RlZmluZSBnbF9GcmFnRGVwdGhFWFQgZ2xfRnJhZ0RlcHRoXG4jZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlXG4jZGVmaW5lIHRleHR1cmVDdWJlIHRleHR1cmVcbiNkZWZpbmUgdGV4dHVyZTJEUHJvaiB0ZXh0dXJlUHJvalxuI2RlZmluZSB0ZXh0dXJlMkRMb2RFWFQgdGV4dHVyZUxvZFxuI2RlZmluZSB0ZXh0dXJlMkRQcm9qTG9kRVhUIHRleHR1cmVQcm9qTG9kXG4jZGVmaW5lIHRleHR1cmVDdWJlTG9kRVhUIHRleHR1cmVMb2RcbiNkZWZpbmUgdGV4dHVyZTJER3JhZEVYVCB0ZXh0dXJlR3JhZFxuI2RlZmluZSB0ZXh0dXJlMkRQcm9qR3JhZEVYVCB0ZXh0dXJlUHJvakdyYWRcbiNkZWZpbmUgdGV4dHVyZUN1YmVHcmFkRVhUIHRleHR1cmVHcmFkIl0uam9pbigiXG4iKSsKIlxuIitjKTtNPWMrTTtJPXdqKEUsMzU2MzMsRitJKTtNPXdqKEUsMzU2MzIsTSk7RS5hdHRhY2hTaGFkZXIocGEsSSk7RS5hdHRhY2hTaGFkZXIocGEsTSk7dm9pZCAwIT09Zy5pbmRleDBBdHRyaWJ1dGVOYW1lP0UuYmluZEF0dHJpYkxvY2F0aW9uKHBhLDAsZy5pbmRleDBBdHRyaWJ1dGVOYW1lKTohMD09PXYubW9ycGhUYXJnZXRzJiZFLmJpbmRBdHRyaWJMb2NhdGlvbihwYSwwLCJwb3NpdGlvbiIpO0UubGlua1Byb2dyYW0ocGEpO2lmKGEuZGVidWcuY2hlY2tTaGFkZXJFcnJvcnMpe2E9RS5nZXRQcm9ncmFtSW5mb0xvZyhwYSkudHJpbSgpO3Y9RS5nZXRTaGFkZXJJbmZvTG9nKEkpLnRyaW0oKTt6PUUuZ2V0U2hhZGVySW5mb0xvZyhNKS50cmltKCk7UT1QPSEwO2lmKCExPT09RS5nZXRQcm9ncmFtUGFyYW1ldGVyKHBhLDM1NzE0KSlQPSExLFU9eWooRSxJLCJ2ZXJ0ZXgiKSxWPXlqKEUsTSwiZnJhZ21lbnQiKSxjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFByb2dyYW06IHNoYWRlciBlcnJvcjogIiwKRS5nZXRFcnJvcigpLCIzNTcxNSIsRS5nZXRQcm9ncmFtUGFyYW1ldGVyKHBhLDM1NzE1KSwiZ2wuZ2V0UHJvZ3JhbUluZm9Mb2ciLGEsVSxWKTtlbHNlIGlmKCIiIT09YSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogZ2wuZ2V0UHJvZ3JhbUluZm9Mb2coKSIsYSk7ZWxzZSBpZigiIj09PXZ8fCIiPT09eilRPSExO1EmJih0aGlzLmRpYWdub3N0aWNzPXtydW5uYWJsZTpQLG1hdGVyaWFsOmcscHJvZ3JhbUxvZzphLHZlcnRleFNoYWRlcjp7bG9nOnYscHJlZml4OkZ9LGZyYWdtZW50U2hhZGVyOntsb2c6eixwcmVmaXg6Y319KX1FLmRlbGV0ZVNoYWRlcihJKTtFLmRlbGV0ZVNoYWRlcihNKTt2YXIgcWE7dGhpcy5nZXRVbmlmb3Jtcz1mdW5jdGlvbigpe3ZvaWQgMD09PXFhJiYocWE9bmV3IHdkKEUscGEpKTtyZXR1cm4gcWF9O3ZhciB1YTt0aGlzLmdldEF0dHJpYnV0ZXM9ZnVuY3Rpb24oKXt2b2lkIDA9PT11YSYmKHVhPWNtKEUscGEpKTtyZXR1cm4gdWF9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oKXtFLmRlbGV0ZVByb2dyYW0ocGEpO3RoaXMucHJvZ3JhbT12b2lkIDB9O3RoaXMubmFtZT10Lm5hbWU7dGhpcy5pZD1lbSsrO3RoaXMuY29kZT1lO3RoaXMudXNlZFRpbWVzPTE7dGhpcy5wcm9ncmFtPXBhO3RoaXMudmVydGV4U2hhZGVyPUk7dGhpcy5mcmFnbWVudFNoYWRlcj1NO3JldHVybiB0aGlzfWZ1bmN0aW9uIGZtKGEsYyxlKXtmdW5jdGlvbiBnKEYpe0Y9Ri5za2VsZXRvbi5ib25lcztpZihlLmZsb2F0VmVydGV4VGV4dHVyZXMpcmV0dXJuIDEwMjQ7dmFyIEk9TWF0aC5taW4oTWF0aC5mbG9vcigoZS5tYXhWZXJ0ZXhVbmlmb3Jtcy0yMCkvNCksRi5sZW5ndGgpO3JldHVybiBJPEYubGVuZ3RoPyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFNrZWxldG9uIGhhcyAiK0YubGVuZ3RoKyIgYm9uZXMuIFRoaXMgR1BVIHN1cHBvcnRzICIrSSsiLiIpLDApOkl9ZnVuY3Rpb24gdChGLEkpe2lmKEYpRi5pc1RleHR1cmU/TT1GLmVuY29kaW5nOkYuaXNXZWJHTFJlbmRlclRhcmdldCYmCihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbXMuZ2V0VGV4dHVyZUVuY29kaW5nRnJvbU1hcDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxNPUYudGV4dHVyZS5lbmNvZGluZyk7ZWxzZSB2YXIgTT0zRTM7M0UzPT09TSYmSSYmKE09MzAwNyk7cmV0dXJuIE19dmFyIHY9W10sej17TWVzaERlcHRoTWF0ZXJpYWw6ImRlcHRoIixNZXNoRGlzdGFuY2VNYXRlcmlhbDoiZGlzdGFuY2VSR0JBIixNZXNoTm9ybWFsTWF0ZXJpYWw6Im5vcm1hbCIsTWVzaEJhc2ljTWF0ZXJpYWw6ImJhc2ljIixNZXNoTGFtYmVydE1hdGVyaWFsOiJsYW1iZXJ0IixNZXNoUGhvbmdNYXRlcmlhbDoicGhvbmciLE1lc2hUb29uTWF0ZXJpYWw6InBob25nIixNZXNoU3RhbmRhcmRNYXRlcmlhbDoicGh5c2ljYWwiLE1lc2hQaHlzaWNhbE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaE1hdGNhcE1hdGVyaWFsOiJtYXRjYXAiLApMaW5lQmFzaWNNYXRlcmlhbDoiYmFzaWMiLExpbmVEYXNoZWRNYXRlcmlhbDoiZGFzaGVkIixQb2ludHNNYXRlcmlhbDoicG9pbnRzIixTaGFkb3dNYXRlcmlhbDoic2hhZG93IixTcHJpdGVNYXRlcmlhbDoic3ByaXRlIn0sRT0icHJlY2lzaW9uIHN1cHBvcnRzVmVydGV4VGV4dHVyZXMgbWFwIG1hcEVuY29kaW5nIG1hdGNhcCBtYXRjYXBFbmNvZGluZyBlbnZNYXAgZW52TWFwTW9kZSBlbnZNYXBFbmNvZGluZyBsaWdodE1hcCBhb01hcCBlbWlzc2l2ZU1hcCBlbWlzc2l2ZU1hcEVuY29kaW5nIGJ1bXBNYXAgbm9ybWFsTWFwIG9iamVjdFNwYWNlTm9ybWFsTWFwIHRhbmdlbnRTcGFjZU5vcm1hbE1hcCBjbGVhcmNvYXROb3JtYWxNYXAgZGlzcGxhY2VtZW50TWFwIHNwZWN1bGFyTWFwIHJvdWdobmVzc01hcCBtZXRhbG5lc3NNYXAgZ3JhZGllbnRNYXAgYWxwaGFNYXAgY29tYmluZSB2ZXJ0ZXhDb2xvcnMgdmVydGV4VGFuZ2VudHMgZm9nIHVzZUZvZyBmb2dFeHAyIGZsYXRTaGFkaW5nIHNpemVBdHRlbnVhdGlvbiBsb2dhcml0aG1pY0RlcHRoQnVmZmVyIHNraW5uaW5nIG1heEJvbmVzIHVzZVZlcnRleFRleHR1cmUgbW9ycGhUYXJnZXRzIG1vcnBoTm9ybWFscyBtYXhNb3JwaFRhcmdldHMgbWF4TW9ycGhOb3JtYWxzIHByZW11bHRpcGxpZWRBbHBoYSBudW1EaXJMaWdodHMgbnVtUG9pbnRMaWdodHMgbnVtU3BvdExpZ2h0cyBudW1IZW1pTGlnaHRzIG51bVJlY3RBcmVhTGlnaHRzIHNoYWRvd01hcEVuYWJsZWQgc2hhZG93TWFwVHlwZSB0b25lTWFwcGluZyBwaHlzaWNhbGx5Q29ycmVjdExpZ2h0cyBhbHBoYVRlc3QgZG91YmxlU2lkZWQgZmxpcFNpZGVkIG51bUNsaXBwaW5nUGxhbmVzIG51bUNsaXBJbnRlcnNlY3Rpb24gZGVwdGhQYWNraW5nIGRpdGhlcmluZyBzaGVlbiIuc3BsaXQoIiAiKTsKdGhpcy5nZXRQYXJhbWV0ZXJzPWZ1bmN0aW9uKEYsSSxNLFAsUSxVLFYpe3ZhciBlYT16W0YudHlwZV0sZGE9Vi5pc1NraW5uZWRNZXNoP2coVik6MCxyYT1lLnByZWNpc2lvbjtudWxsIT09Ri5wcmVjaXNpb24mJihyYT1lLmdldE1heFByZWNpc2lvbihGLnByZWNpc2lvbikscmEhPT1GLnByZWNpc2lvbiYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW0uZ2V0UGFyYW1ldGVyczoiLEYucHJlY2lzaW9uLCJub3Qgc3VwcG9ydGVkLCB1c2luZyIscmEsImluc3RlYWQuIikpO3ZhciBwYT1hLmdldFJlbmRlclRhcmdldCgpO3JldHVybntzaGFkZXJJRDplYSxwcmVjaXNpb246cmEsc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlczplLnZlcnRleFRleHR1cmVzLG91dHB1dEVuY29kaW5nOnQocGE/cGEudGV4dHVyZTpudWxsLGEuZ2FtbWFPdXRwdXQpLG1hcDohIUYubWFwLG1hcEVuY29kaW5nOnQoRi5tYXAsYS5nYW1tYUlucHV0KSxtYXRjYXA6ISFGLm1hdGNhcCxtYXRjYXBFbmNvZGluZzp0KEYubWF0Y2FwLAphLmdhbW1hSW5wdXQpLGVudk1hcDohIUYuZW52TWFwLGVudk1hcE1vZGU6Ri5lbnZNYXAmJkYuZW52TWFwLm1hcHBpbmcsZW52TWFwRW5jb2Rpbmc6dChGLmVudk1hcCxhLmdhbW1hSW5wdXQpLGVudk1hcEN1YmVVVjohIUYuZW52TWFwJiYoMzA2PT09Ri5lbnZNYXAubWFwcGluZ3x8MzA3PT09Ri5lbnZNYXAubWFwcGluZyksbGlnaHRNYXA6ISFGLmxpZ2h0TWFwLGFvTWFwOiEhRi5hb01hcCxlbWlzc2l2ZU1hcDohIUYuZW1pc3NpdmVNYXAsZW1pc3NpdmVNYXBFbmNvZGluZzp0KEYuZW1pc3NpdmVNYXAsYS5nYW1tYUlucHV0KSxidW1wTWFwOiEhRi5idW1wTWFwLG5vcm1hbE1hcDohIUYubm9ybWFsTWFwLG9iamVjdFNwYWNlTm9ybWFsTWFwOjE9PT1GLm5vcm1hbE1hcFR5cGUsdGFuZ2VudFNwYWNlTm9ybWFsTWFwOjA9PT1GLm5vcm1hbE1hcFR5cGUsY2xlYXJjb2F0Tm9ybWFsTWFwOiEhRi5jbGVhcmNvYXROb3JtYWxNYXAsZGlzcGxhY2VtZW50TWFwOiEhRi5kaXNwbGFjZW1lbnRNYXAsCnJvdWdobmVzc01hcDohIUYucm91Z2huZXNzTWFwLG1ldGFsbmVzc01hcDohIUYubWV0YWxuZXNzTWFwLHNwZWN1bGFyTWFwOiEhRi5zcGVjdWxhck1hcCxhbHBoYU1hcDohIUYuYWxwaGFNYXAsZ3JhZGllbnRNYXA6ISFGLmdyYWRpZW50TWFwLHNoZWVuOiEhRi5zaGVlbixjb21iaW5lOkYuY29tYmluZSx2ZXJ0ZXhUYW5nZW50czpGLm5vcm1hbE1hcCYmRi52ZXJ0ZXhUYW5nZW50cyx2ZXJ0ZXhDb2xvcnM6Ri52ZXJ0ZXhDb2xvcnMsdmVydGV4VXZzOiEhRi5tYXB8fCEhRi5idW1wTWFwfHwhIUYubm9ybWFsTWFwfHwhIUYuc3BlY3VsYXJNYXB8fCEhRi5hbHBoYU1hcHx8ISFGLmVtaXNzaXZlTWFwfHwhIUYucm91Z2huZXNzTWFwfHwhIUYubWV0YWxuZXNzTWFwfHwhIUYuY2xlYXJjb2F0Tm9ybWFsTWFwLGZvZzohIVAsdXNlRm9nOkYuZm9nLGZvZ0V4cDI6UCYmUC5pc0ZvZ0V4cDIsZmxhdFNoYWRpbmc6Ri5mbGF0U2hhZGluZyxzaXplQXR0ZW51YXRpb246Ri5zaXplQXR0ZW51YXRpb24sCmxvZ2FyaXRobWljRGVwdGhCdWZmZXI6ZS5sb2dhcml0aG1pY0RlcHRoQnVmZmVyLHNraW5uaW5nOkYuc2tpbm5pbmcmJjA8ZGEsbWF4Qm9uZXM6ZGEsdXNlVmVydGV4VGV4dHVyZTplLmZsb2F0VmVydGV4VGV4dHVyZXMsbW9ycGhUYXJnZXRzOkYubW9ycGhUYXJnZXRzLG1vcnBoTm9ybWFsczpGLm1vcnBoTm9ybWFscyxtYXhNb3JwaFRhcmdldHM6YS5tYXhNb3JwaFRhcmdldHMsbWF4TW9ycGhOb3JtYWxzOmEubWF4TW9ycGhOb3JtYWxzLG51bURpckxpZ2h0czpJLmRpcmVjdGlvbmFsLmxlbmd0aCxudW1Qb2ludExpZ2h0czpJLnBvaW50Lmxlbmd0aCxudW1TcG90TGlnaHRzOkkuc3BvdC5sZW5ndGgsbnVtUmVjdEFyZWFMaWdodHM6SS5yZWN0QXJlYS5sZW5ndGgsbnVtSGVtaUxpZ2h0czpJLmhlbWkubGVuZ3RoLG51bURpckxpZ2h0U2hhZG93czpJLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aCxudW1Qb2ludExpZ2h0U2hhZG93czpJLnBvaW50U2hhZG93TWFwLmxlbmd0aCxudW1TcG90TGlnaHRTaGFkb3dzOkkuc3BvdFNoYWRvd01hcC5sZW5ndGgsCm51bUNsaXBwaW5nUGxhbmVzOlEsbnVtQ2xpcEludGVyc2VjdGlvbjpVLGRpdGhlcmluZzpGLmRpdGhlcmluZyxzaGFkb3dNYXBFbmFibGVkOmEuc2hhZG93TWFwLmVuYWJsZWQmJlYucmVjZWl2ZVNoYWRvdyYmMDxNLmxlbmd0aCxzaGFkb3dNYXBUeXBlOmEuc2hhZG93TWFwLnR5cGUsdG9uZU1hcHBpbmc6Ri50b25lTWFwcGVkP2EudG9uZU1hcHBpbmc6MCxwaHlzaWNhbGx5Q29ycmVjdExpZ2h0czphLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzLHByZW11bHRpcGxpZWRBbHBoYTpGLnByZW11bHRpcGxpZWRBbHBoYSxhbHBoYVRlc3Q6Ri5hbHBoYVRlc3QsZG91YmxlU2lkZWQ6Mj09PUYuc2lkZSxmbGlwU2lkZWQ6MT09PUYuc2lkZSxkZXB0aFBhY2tpbmc6dm9pZCAwIT09Ri5kZXB0aFBhY2tpbmc/Ri5kZXB0aFBhY2tpbmc6ITF9fTt0aGlzLmdldFByb2dyYW1Db2RlPWZ1bmN0aW9uKEYsSSl7dmFyIE09W107SS5zaGFkZXJJRD9NLnB1c2goSS5zaGFkZXJJRCk6KE0ucHVzaChGLmZyYWdtZW50U2hhZGVyKSwKTS5wdXNoKEYudmVydGV4U2hhZGVyKSk7aWYodm9pZCAwIT09Ri5kZWZpbmVzKWZvcih2YXIgUCBpbiBGLmRlZmluZXMpTS5wdXNoKFApLE0ucHVzaChGLmRlZmluZXNbUF0pO2ZvcihQPTA7UDxFLmxlbmd0aDtQKyspTS5wdXNoKElbRVtQXV0pO00ucHVzaChGLm9uQmVmb3JlQ29tcGlsZS50b1N0cmluZygpKTtNLnB1c2goYS5nYW1tYU91dHB1dCk7TS5wdXNoKGEuZ2FtbWFGYWN0b3IpO3JldHVybiBNLmpvaW4oKX07dGhpcy5hY3F1aXJlUHJvZ3JhbT1mdW5jdGlvbihGLEksTSxQKXtmb3IodmFyIFEsVT0wLFY9di5sZW5ndGg7VTxWO1UrKyl7dmFyIGVhPXZbVV07aWYoZWEuY29kZT09PVApe1E9ZWE7KytRLnVzZWRUaW1lczticmVha319dm9pZCAwPT09USYmKFE9bmV3IGRtKGEsYyxQLEYsSSxNLGUpLHYucHVzaChRKSk7cmV0dXJuIFF9O3RoaXMucmVsZWFzZVByb2dyYW09ZnVuY3Rpb24oRil7MD09PS0tRi51c2VkVGltZXMmJih2W3YuaW5kZXhPZihGKV09dlt2Lmxlbmd0aC0xXSwKdi5wb3AoKSxGLmRlc3Ryb3koKSl9O3RoaXMucHJvZ3JhbXM9dn1mdW5jdGlvbiBnbSgpe3ZhciBhPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oYyl7dmFyIGU9YS5nZXQoYyk7dm9pZCAwPT09ZSYmKGU9e30sYS5zZXQoYyxlKSk7cmV0dXJuIGV9LHJlbW92ZTpmdW5jdGlvbihjKXthLmRlbGV0ZShjKX0sdXBkYXRlOmZ1bmN0aW9uKGMsZSxnKXthLmdldChjKVtlXT1nfSxkaXNwb3NlOmZ1bmN0aW9uKCl7YT1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIGhtKGEsYyl7cmV0dXJuIGEuZ3JvdXBPcmRlciE9PWMuZ3JvdXBPcmRlcj9hLmdyb3VwT3JkZXItYy5ncm91cE9yZGVyOmEucmVuZGVyT3JkZXIhPT1jLnJlbmRlck9yZGVyP2EucmVuZGVyT3JkZXItYy5yZW5kZXJPcmRlcjphLnByb2dyYW0hPT1jLnByb2dyYW0/YS5wcm9ncmFtLmlkLWMucHJvZ3JhbS5pZDphLm1hdGVyaWFsLmlkIT09Yy5tYXRlcmlhbC5pZD9hLm1hdGVyaWFsLmlkLWMubWF0ZXJpYWwuaWQ6YS56IT09CmMuej9hLnotYy56OmEuaWQtYy5pZH1mdW5jdGlvbiBpbShhLGMpe3JldHVybiBhLmdyb3VwT3JkZXIhPT1jLmdyb3VwT3JkZXI/YS5ncm91cE9yZGVyLWMuZ3JvdXBPcmRlcjphLnJlbmRlck9yZGVyIT09Yy5yZW5kZXJPcmRlcj9hLnJlbmRlck9yZGVyLWMucmVuZGVyT3JkZXI6YS56IT09Yy56P2Muei1hLno6YS5pZC1jLmlkfWZ1bmN0aW9uIENqKCl7ZnVuY3Rpb24gYSh6LEUsRixJLE0sUCl7dmFyIFE9Y1tlXTt2b2lkIDA9PT1RPyhRPXtpZDp6LmlkLG9iamVjdDp6LGdlb21ldHJ5OkUsbWF0ZXJpYWw6Rixwcm9ncmFtOkYucHJvZ3JhbXx8dixncm91cE9yZGVyOkkscmVuZGVyT3JkZXI6ei5yZW5kZXJPcmRlcix6Ok0sZ3JvdXA6UH0sY1tlXT1RKTooUS5pZD16LmlkLFEub2JqZWN0PXosUS5nZW9tZXRyeT1FLFEubWF0ZXJpYWw9RixRLnByb2dyYW09Ri5wcm9ncmFtfHx2LFEuZ3JvdXBPcmRlcj1JLFEucmVuZGVyT3JkZXI9ei5yZW5kZXJPcmRlcixRLno9TSxRLmdyb3VwPVApOwplKys7cmV0dXJuIFF9dmFyIGM9W10sZT0wLGc9W10sdD1bXSx2PXtpZDotMX07cmV0dXJue29wYXF1ZTpnLHRyYW5zcGFyZW50OnQsaW5pdDpmdW5jdGlvbigpe2U9MDtnLmxlbmd0aD0wO3QubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oeixFLEYsSSxNLFApe3o9YSh6LEUsRixJLE0sUCk7KCEwPT09Ri50cmFuc3BhcmVudD90OmcpLnB1c2goeil9LHVuc2hpZnQ6ZnVuY3Rpb24oeixFLEYsSSxNLFApe3o9YSh6LEUsRixJLE0sUCk7KCEwPT09Ri50cmFuc3BhcmVudD90OmcpLnVuc2hpZnQoeil9LHNvcnQ6ZnVuY3Rpb24oKXsxPGcubGVuZ3RoJiZnLnNvcnQoaG0pOzE8dC5sZW5ndGgmJnQuc29ydChpbSl9fX1mdW5jdGlvbiBqbSgpe2Z1bmN0aW9uIGEoZSl7ZT1lLnRhcmdldDtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpO2MuZGVsZXRlKGUpfXZhciBjPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oZSxnKXt2YXIgdD1jLmdldChlKTtpZih2b2lkIDA9PT0KdCl7dmFyIHY9bmV3IENqO2Muc2V0KGUsbmV3IFdlYWtNYXApO2MuZ2V0KGUpLnNldChnLHYpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSl9ZWxzZSB2PXQuZ2V0KGcpLHZvaWQgMD09PXYmJih2PW5ldyBDaix0LnNldChnLHYpKTtyZXR1cm4gdn0sZGlzcG9zZTpmdW5jdGlvbigpe2M9bmV3IFdlYWtNYXB9fX1mdW5jdGlvbiBrbSgpe3ZhciBhPXt9O3JldHVybntnZXQ6ZnVuY3Rpb24oYyl7aWYodm9pZCAwIT09YVtjLmlkXSlyZXR1cm4gYVtjLmlkXTtzd2l0Y2goYy50eXBlKXtjYXNlICJEaXJlY3Rpb25hbExpZ2h0Ijp2YXIgZT17ZGlyZWN0aW9uOm5ldyBrLGNvbG9yOm5ldyBILHNoYWRvdzohMSxzaGFkb3dCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZn07YnJlYWs7Y2FzZSAiU3BvdExpZ2h0IjplPXtwb3NpdGlvbjpuZXcgayxkaXJlY3Rpb246bmV3IGssY29sb3I6bmV3IEgsZGlzdGFuY2U6MCxjb25lQ29zOjAscGVudW1icmFDb3M6MCxkZWNheTowLApzaGFkb3c6ITEsc2hhZG93QmlhczowLHNoYWRvd1JhZGl1czoxLHNoYWRvd01hcFNpemU6bmV3IGZ9O2JyZWFrO2Nhc2UgIlBvaW50TGlnaHQiOmU9e3Bvc2l0aW9uOm5ldyBrLGNvbG9yOm5ldyBILGRpc3RhbmNlOjAsZGVjYXk6MCxzaGFkb3c6ITEsc2hhZG93QmlhczowLHNoYWRvd1JhZGl1czoxLHNoYWRvd01hcFNpemU6bmV3IGYsc2hhZG93Q2FtZXJhTmVhcjoxLHNoYWRvd0NhbWVyYUZhcjoxRTN9O2JyZWFrO2Nhc2UgIkhlbWlzcGhlcmVMaWdodCI6ZT17ZGlyZWN0aW9uOm5ldyBrLHNreUNvbG9yOm5ldyBILGdyb3VuZENvbG9yOm5ldyBIfTticmVhaztjYXNlICJSZWN0QXJlYUxpZ2h0IjplPXtjb2xvcjpuZXcgSCxwb3NpdGlvbjpuZXcgayxoYWxmV2lkdGg6bmV3IGssaGFsZkhlaWdodDpuZXcga319cmV0dXJuIGFbYy5pZF09ZX19fWZ1bmN0aW9uIGxtKGEsYyl7cmV0dXJuKGMuY2FzdFNoYWRvdz8xOjApLShhLmNhc3RTaGFkb3c/MTowKX1mdW5jdGlvbiBtbSgpe2Zvcih2YXIgYT0KbmV3IGttLGM9e3ZlcnNpb246MCxoYXNoOntkaXJlY3Rpb25hbExlbmd0aDotMSxwb2ludExlbmd0aDotMSxzcG90TGVuZ3RoOi0xLHJlY3RBcmVhTGVuZ3RoOi0xLGhlbWlMZW5ndGg6LTEsbnVtRGlyZWN0aW9uYWxTaGFkb3dzOi0xLG51bVBvaW50U2hhZG93czotMSxudW1TcG90U2hhZG93czotMX0sYW1iaWVudDpbMCwwLDBdLHByb2JlOltdLGRpcmVjdGlvbmFsOltdLGRpcmVjdGlvbmFsU2hhZG93TWFwOltdLGRpcmVjdGlvbmFsU2hhZG93TWF0cml4OltdLHNwb3Q6W10sc3BvdFNoYWRvd01hcDpbXSxzcG90U2hhZG93TWF0cml4OltdLHJlY3RBcmVhOltdLHBvaW50OltdLHBvaW50U2hhZG93TWFwOltdLHBvaW50U2hhZG93TWF0cml4OltdLGhlbWk6W10sbnVtRGlyZWN0aW9uYWxTaGFkb3dzOi0xLG51bVBvaW50U2hhZG93czotMSxudW1TcG90U2hhZG93czotMX0sZT0wOzk+ZTtlKyspYy5wcm9iZS5wdXNoKG5ldyBrKTt2YXIgZz1uZXcgayx0PW5ldyBxLHY9bmV3IHE7cmV0dXJue3NldHVwOmZ1bmN0aW9uKHosCkUsRil7Zm9yKHZhciBJPTAsTT0wLFA9MCxRPTA7OT5RO1ErKyljLnByb2JlW1FdLnNldCgwLDAsMCk7dmFyIFU9RT0wLFY9MCxlYT0wLGRhPTAscmE9MCxwYT0wLHFhPTA7Rj1GLm1hdHJpeFdvcmxkSW52ZXJzZTt6LnNvcnQobG0pO1E9MDtmb3IodmFyIHVhPXoubGVuZ3RoO1E8dWE7USsrKXt2YXIgbmE9eltRXSx0YT1uYS5jb2xvcixCYT1uYS5pbnRlbnNpdHksVGE9bmEuZGlzdGFuY2UsVWE9bmEuc2hhZG93JiZuYS5zaGFkb3cubWFwP25hLnNoYWRvdy5tYXAudGV4dHVyZTpudWxsO2lmKG5hLmlzQW1iaWVudExpZ2h0KUkrPXRhLnIqQmEsTSs9dGEuZypCYSxQKz10YS5iKkJhO2Vsc2UgaWYobmEuaXNMaWdodFByb2JlKWZvcihVYT0wOzk+VWE7VWErKyljLnByb2JlW1VhXS5hZGRTY2FsZWRWZWN0b3IobmEuc2guY29lZmZpY2llbnRzW1VhXSxCYSk7ZWxzZSBpZihuYS5pc0RpcmVjdGlvbmFsTGlnaHQpe3ZhciBDYT1hLmdldChuYSk7Q2EuY29sb3IuY29weShuYS5jb2xvcikubXVsdGlwbHlTY2FsYXIobmEuaW50ZW5zaXR5KTsKQ2EuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCk7Zy5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEudGFyZ2V0Lm1hdHJpeFdvcmxkKTtDYS5kaXJlY3Rpb24uc3ViKGcpO0NhLmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oRik7aWYoQ2Euc2hhZG93PW5hLmNhc3RTaGFkb3cpQmE9bmEuc2hhZG93LENhLnNoYWRvd0JpYXM9QmEuYmlhcyxDYS5zaGFkb3dSYWRpdXM9QmEucmFkaXVzLENhLnNoYWRvd01hcFNpemU9QmEubWFwU2l6ZSxjLmRpcmVjdGlvbmFsU2hhZG93TWFwW0VdPVVhLGMuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbRV09bmEuc2hhZG93Lm1hdHJpeCxyYSsrO2MuZGlyZWN0aW9uYWxbRV09Q2E7RSsrfWVsc2UgaWYobmEuaXNTcG90TGlnaHQpe0NhPWEuZ2V0KG5hKTtDYS5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEubWF0cml4V29ybGQpO0NhLnBvc2l0aW9uLmFwcGx5TWF0cml4NChGKTtDYS5jb2xvci5jb3B5KHRhKS5tdWx0aXBseVNjYWxhcihCYSk7CkNhLmRpc3RhbmNlPVRhO0NhLmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEubWF0cml4V29ybGQpO2cuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG5hLnRhcmdldC5tYXRyaXhXb3JsZCk7Q2EuZGlyZWN0aW9uLnN1YihnKTtDYS5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKEYpO0NhLmNvbmVDb3M9TWF0aC5jb3MobmEuYW5nbGUpO0NhLnBlbnVtYnJhQ29zPU1hdGguY29zKG5hLmFuZ2xlKigxLW5hLnBlbnVtYnJhKSk7Q2EuZGVjYXk9bmEuZGVjYXk7aWYoQ2Euc2hhZG93PW5hLmNhc3RTaGFkb3cpQmE9bmEuc2hhZG93LENhLnNoYWRvd0JpYXM9QmEuYmlhcyxDYS5zaGFkb3dSYWRpdXM9QmEucmFkaXVzLENhLnNoYWRvd01hcFNpemU9QmEubWFwU2l6ZSxjLnNwb3RTaGFkb3dNYXBbVl09VWEsYy5zcG90U2hhZG93TWF0cml4W1ZdPW5hLnNoYWRvdy5tYXRyaXgscWErKztjLnNwb3RbVl09Q2E7VisrfWVsc2UgaWYobmEuaXNSZWN0QXJlYUxpZ2h0KUNhPWEuZ2V0KG5hKSwKQ2EuY29sb3IuY29weSh0YSkubXVsdGlwbHlTY2FsYXIoQmEpLENhLnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCksQ2EucG9zaXRpb24uYXBwbHlNYXRyaXg0KEYpLHYuaWRlbnRpdHkoKSx0LmNvcHkobmEubWF0cml4V29ybGQpLHQucHJlbXVsdGlwbHkoRiksdi5leHRyYWN0Um90YXRpb24odCksQ2EuaGFsZldpZHRoLnNldCguNSpuYS53aWR0aCwwLDApLENhLmhhbGZIZWlnaHQuc2V0KDAsLjUqbmEuaGVpZ2h0LDApLENhLmhhbGZXaWR0aC5hcHBseU1hdHJpeDQodiksQ2EuaGFsZkhlaWdodC5hcHBseU1hdHJpeDQodiksYy5yZWN0QXJlYVtlYV09Q2EsZWErKztlbHNlIGlmKG5hLmlzUG9pbnRMaWdodCl7Q2E9YS5nZXQobmEpO0NhLnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCk7Q2EucG9zaXRpb24uYXBwbHlNYXRyaXg0KEYpO0NhLmNvbG9yLmNvcHkobmEuY29sb3IpLm11bHRpcGx5U2NhbGFyKG5hLmludGVuc2l0eSk7CkNhLmRpc3RhbmNlPW5hLmRpc3RhbmNlO0NhLmRlY2F5PW5hLmRlY2F5O2lmKENhLnNoYWRvdz1uYS5jYXN0U2hhZG93KUJhPW5hLnNoYWRvdyxDYS5zaGFkb3dCaWFzPUJhLmJpYXMsQ2Euc2hhZG93UmFkaXVzPUJhLnJhZGl1cyxDYS5zaGFkb3dNYXBTaXplPUJhLm1hcFNpemUsQ2Euc2hhZG93Q2FtZXJhTmVhcj1CYS5jYW1lcmEubmVhcixDYS5zaGFkb3dDYW1lcmFGYXI9QmEuY2FtZXJhLmZhcixjLnBvaW50U2hhZG93TWFwW1VdPVVhLGMucG9pbnRTaGFkb3dNYXRyaXhbVV09bmEuc2hhZG93Lm1hdHJpeCxwYSsrO2MucG9pbnRbVV09Q2E7VSsrfWVsc2UgbmEuaXNIZW1pc3BoZXJlTGlnaHQmJihDYT1hLmdldChuYSksQ2EuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCksQ2EuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihGKSxDYS5kaXJlY3Rpb24ubm9ybWFsaXplKCksQ2Euc2t5Q29sb3IuY29weShuYS5jb2xvcikubXVsdGlwbHlTY2FsYXIoQmEpLApDYS5ncm91bmRDb2xvci5jb3B5KG5hLmdyb3VuZENvbG9yKS5tdWx0aXBseVNjYWxhcihCYSksYy5oZW1pW2RhXT1DYSxkYSsrKX1jLmFtYmllbnRbMF09STtjLmFtYmllbnRbMV09TTtjLmFtYmllbnRbMl09UDt6PWMuaGFzaDtpZih6LmRpcmVjdGlvbmFsTGVuZ3RoIT09RXx8ei5wb2ludExlbmd0aCE9PVV8fHouc3BvdExlbmd0aCE9PVZ8fHoucmVjdEFyZWFMZW5ndGghPT1lYXx8ei5oZW1pTGVuZ3RoIT09ZGF8fHoubnVtRGlyZWN0aW9uYWxTaGFkb3dzIT09cmF8fHoubnVtUG9pbnRTaGFkb3dzIT09cGF8fHoubnVtU3BvdFNoYWRvd3MhPT1xYSljLmRpcmVjdGlvbmFsLmxlbmd0aD1FLGMuc3BvdC5sZW5ndGg9VixjLnJlY3RBcmVhLmxlbmd0aD1lYSxjLnBvaW50Lmxlbmd0aD1VLGMuaGVtaS5sZW5ndGg9ZGEsYy5kaXJlY3Rpb25hbFNoYWRvd01hcC5sZW5ndGg9cmEsYy5wb2ludFNoYWRvd01hcC5sZW5ndGg9cGEsYy5zcG90U2hhZG93TWFwLmxlbmd0aD1xYSxjLmRpcmVjdGlvbmFsU2hhZG93TWF0cml4Lmxlbmd0aD0KcmEsYy5wb2ludFNoYWRvd01hdHJpeC5sZW5ndGg9cGEsYy5zcG90U2hhZG93TWF0cml4Lmxlbmd0aD1xYSx6LmRpcmVjdGlvbmFsTGVuZ3RoPUUsei5wb2ludExlbmd0aD1VLHouc3BvdExlbmd0aD1WLHoucmVjdEFyZWFMZW5ndGg9ZWEsei5oZW1pTGVuZ3RoPWRhLHoubnVtRGlyZWN0aW9uYWxTaGFkb3dzPXJhLHoubnVtUG9pbnRTaGFkb3dzPXBhLHoubnVtU3BvdFNoYWRvd3M9cWEsYy52ZXJzaW9uPW5tKyt9LHN0YXRlOmN9fWZ1bmN0aW9uIERqKCl7dmFyIGE9bmV3IG1tLGM9W10sZT1bXTtyZXR1cm57aW5pdDpmdW5jdGlvbigpe2MubGVuZ3RoPTA7ZS5sZW5ndGg9MH0sc3RhdGU6e2xpZ2h0c0FycmF5OmMsc2hhZG93c0FycmF5OmUsbGlnaHRzOmF9LHNldHVwTGlnaHRzOmZ1bmN0aW9uKGcpe2Euc2V0dXAoYyxlLGcpfSxwdXNoTGlnaHQ6ZnVuY3Rpb24oZyl7Yy5wdXNoKGcpfSxwdXNoU2hhZG93OmZ1bmN0aW9uKGcpe2UucHVzaChnKX19fWZ1bmN0aW9uIG9tKCl7ZnVuY3Rpb24gYShlKXtlPQplLnRhcmdldDtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpO2MuZGVsZXRlKGUpfXZhciBjPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oZSxnKXtpZighMT09PWMuaGFzKGUpKXt2YXIgdD1uZXcgRGo7Yy5zZXQoZSxuZXcgV2Vha01hcCk7Yy5nZXQoZSkuc2V0KGcsdCk7ZS5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIixhKX1lbHNlITE9PT1jLmdldChlKS5oYXMoZyk/KHQ9bmV3IERqLGMuZ2V0KGUpLnNldChnLHQpKTp0PWMuZ2V0KGUpLmdldChnKTtyZXR1cm4gdH0sZGlzcG9zZTpmdW5jdGlvbigpe2M9bmV3IFdlYWtNYXB9fX1mdW5jdGlvbiB4ZChhKXtTLmNhbGwodGhpcyk7dGhpcy50eXBlPSJNZXNoRGVwdGhNYXRlcmlhbCI7dGhpcy5kZXB0aFBhY2tpbmc9MzIwMDt0aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuZGlzcGxhY2VtZW50TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPQoxO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz0wO3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24geWQoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTWVzaERpc3RhbmNlTWF0ZXJpYWwiO3RoaXMucmVmZXJlbmNlUG9zaXRpb249bmV3IGs7dGhpcy5uZWFyRGlzdGFuY2U9MTt0aGlzLmZhckRpc3RhbmNlPTFFMzt0aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuZGlzcGxhY2VtZW50TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTE7dGhpcy5kaXNwbGFjZW1lbnRCaWFzPTA7dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gRWooYSxjLGUpe2Z1bmN0aW9uIGcodGEsQmEpe3ZhciBUYT1jLnVwZGF0ZShyYSk7Vi51bmlmb3Jtcy5zaGFkb3dfcGFzcy52YWx1ZT0KdGEubWFwLnRleHR1cmU7Vi51bmlmb3Jtcy5yZXNvbHV0aW9uLnZhbHVlPXRhLm1hcFNpemU7Vi51bmlmb3Jtcy5yYWRpdXMudmFsdWU9dGEucmFkaXVzO2Euc2V0UmVuZGVyVGFyZ2V0KHRhLm1hcFBhc3MpO2EuY2xlYXIoKTthLnJlbmRlckJ1ZmZlckRpcmVjdChCYSxudWxsLFRhLFYscmEsbnVsbCk7ZWEudW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9dGEubWFwUGFzcy50ZXh0dXJlO2VhLnVuaWZvcm1zLnJlc29sdXRpb24udmFsdWU9dGEubWFwU2l6ZTtlYS51bmlmb3Jtcy5yYWRpdXMudmFsdWU9dGEucmFkaXVzO2Euc2V0UmVuZGVyVGFyZ2V0KHRhLm1hcCk7YS5jbGVhcigpO2EucmVuZGVyQnVmZmVyRGlyZWN0KEJhLG51bGwsVGEsZWEscmEsbnVsbCl9ZnVuY3Rpb24gdCh0YSxCYSxUYSxVYSxDYSxIYSl7dmFyIERhPXRhLmdlb21ldHJ5O3ZhciBNYT1NO3ZhciBkYj10YS5jdXN0b21EZXB0aE1hdGVyaWFsO1RhLmlzUG9pbnRMaWdodCYmKE1hPVAsZGI9dGEuY3VzdG9tRGlzdGFuY2VNYXRlcmlhbCk7CmRiP01hPWRiOihkYj0hMSxCYS5tb3JwaFRhcmdldHMmJihEYSYmRGEuaXNCdWZmZXJHZW9tZXRyeT9kYj1EYS5tb3JwaEF0dHJpYnV0ZXMmJkRhLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbiYmMDxEYS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24ubGVuZ3RoOkRhJiZEYS5pc0dlb21ldHJ5JiYoZGI9RGEubW9ycGhUYXJnZXRzJiYwPERhLm1vcnBoVGFyZ2V0cy5sZW5ndGgpKSx0YS5pc1NraW5uZWRNZXNoJiYhMT09PUJhLnNraW5uaW5nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiBUSFJFRS5Ta2lubmVkTWVzaCB3aXRoIG1hdGVyaWFsLnNraW5uaW5nIHNldCB0byBmYWxzZToiLHRhKSx0YT10YS5pc1NraW5uZWRNZXNoJiZCYS5za2lubmluZyxEYT0wLGRiJiYoRGF8PTEpLHRhJiYoRGF8PTIpLE1hPU1hW0RhXSk7YS5sb2NhbENsaXBwaW5nRW5hYmxlZCYmITA9PT1CYS5jbGlwU2hhZG93cyYmMCE9PUJhLmNsaXBwaW5nUGxhbmVzLmxlbmd0aCYmKERhPU1hLnV1aWQsCmRiPUJhLnV1aWQsdGE9UVtEYV0sdm9pZCAwPT09dGEmJih0YT17fSxRW0RhXT10YSksRGE9dGFbZGJdLHZvaWQgMD09PURhJiYoRGE9TWEuY2xvbmUoKSx0YVtkYl09RGEpLE1hPURhKTtNYS52aXNpYmxlPUJhLnZpc2libGU7TWEud2lyZWZyYW1lPUJhLndpcmVmcmFtZTtNYS5zaWRlPTM9PT1IYT9udWxsIT1CYS5zaGFkb3dTaWRlP0JhLnNoYWRvd1NpZGU6QmEuc2lkZTpudWxsIT1CYS5zaGFkb3dTaWRlP0JhLnNoYWRvd1NpZGU6VVtCYS5zaWRlXTtNYS5jbGlwU2hhZG93cz1CYS5jbGlwU2hhZG93cztNYS5jbGlwcGluZ1BsYW5lcz1CYS5jbGlwcGluZ1BsYW5lcztNYS5jbGlwSW50ZXJzZWN0aW9uPUJhLmNsaXBJbnRlcnNlY3Rpb247TWEud2lyZWZyYW1lTGluZXdpZHRoPUJhLndpcmVmcmFtZUxpbmV3aWR0aDtNYS5saW5ld2lkdGg9QmEubGluZXdpZHRoO1RhLmlzUG9pbnRMaWdodCYmTWEuaXNNZXNoRGlzdGFuY2VNYXRlcmlhbCYmKE1hLnJlZmVyZW5jZVBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihUYS5tYXRyaXhXb3JsZCksCk1hLm5lYXJEaXN0YW5jZT1VYSxNYS5mYXJEaXN0YW5jZT1DYSk7cmV0dXJuIE1hfWZ1bmN0aW9uIHYodGEsQmEsVGEsVWEsQ2Epe2lmKCExIT09dGEudmlzaWJsZSl7aWYodGEubGF5ZXJzLnRlc3QoQmEubGF5ZXJzKSYmKHRhLmlzTWVzaHx8dGEuaXNMaW5lfHx0YS5pc1BvaW50cykmJih0YS5jYXN0U2hhZG93fHx0YS5yZWNlaXZlU2hhZG93JiYzPT09Q2EpJiYoIXRhLmZydXN0dW1DdWxsZWR8fHouaW50ZXJzZWN0c09iamVjdCh0YSkpKXt0YS5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhUYS5tYXRyaXhXb3JsZEludmVyc2UsdGEubWF0cml4V29ybGQpO3ZhciBIYT1jLnVwZGF0ZSh0YSksRGE9dGEubWF0ZXJpYWw7aWYoQXJyYXkuaXNBcnJheShEYSkpZm9yKHZhciBNYT1IYS5ncm91cHMsZGI9MCx0Yj1NYS5sZW5ndGg7ZGI8dGI7ZGIrKyl7dmFyIEthPU1hW2RiXSxiYj1EYVtLYS5tYXRlcmlhbEluZGV4XTtiYiYmYmIudmlzaWJsZSYmKGJiPXQodGEsYmIsVWEsVGEubmVhciwKVGEuZmFyLENhKSxhLnJlbmRlckJ1ZmZlckRpcmVjdChUYSxudWxsLEhhLGJiLHRhLEthKSl9ZWxzZSBEYS52aXNpYmxlJiYoYmI9dCh0YSxEYSxVYSxUYS5uZWFyLFRhLmZhcixDYSksYS5yZW5kZXJCdWZmZXJEaXJlY3QoVGEsbnVsbCxIYSxiYix0YSxudWxsKSl9dGE9dGEuY2hpbGRyZW47SGE9MDtmb3IoRGE9dGEubGVuZ3RoO0hhPERhO0hhKyspdih0YVtIYV0sQmEsVGEsVWEsQ2EpfX12YXIgej1uZXcgbGMsRT1uZXcgZixGPW5ldyBmLEk9bmV3IHAsTT1BcnJheSg0KSxQPUFycmF5KDQpLFE9e30sVT17MDoxLDE6MCwyOjJ9LFY9bmV3IHFiKHtkZWZpbmVzOntTQU1QTEVfUkFURTouMjUsSEFMRl9TQU1QTEVfUkFURTouMTI1fSx1bmlmb3Jtczp7c2hhZG93X3Bhc3M6e3ZhbHVlOm51bGx9LHJlc29sdXRpb246e3ZhbHVlOm5ldyBmfSxyYWRpdXM6e3ZhbHVlOjR9fSx2ZXJ0ZXhTaGFkZXI6InZvaWQgbWFpbigpIHtcblx0Z2xfUG9zaXRpb24gXHgzZCB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IiwKZnJhZ21lbnRTaGFkZXI6InVuaWZvcm0gc2FtcGxlcjJEIHNoYWRvd19wYXNzO1xudW5pZm9ybSB2ZWMyIHJlc29sdXRpb247XG51bmlmb3JtIGZsb2F0IHJhZGl1cztcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxudm9pZCBtYWluKCkge1xuICBmbG9hdCBtZWFuIFx4M2QgMC4wO1xuICBmbG9hdCBzcXVhcmVkX21lYW4gXHgzZCAwLjA7XG4gIFxuXHRmbG9hdCBkZXB0aCBceDNkIHVucGFja1JHQkFUb0RlcHRoKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSAgKSAvIHJlc29sdXRpb24gKSApO1xuICBmb3IgKCBmbG9hdCBpIFx4M2QgLTEuMDsgaSBceDNjIDEuMCA7IGkgK1x4M2QgU0FNUExFX1JBVEUpIHtcbiAgICAjaWZkZWYgSE9SSVpPTkFMX1BBU1NcbiAgICAgIHZlYzIgZGlzdHJpYnV0aW9uIFx4M2QgZGVjb2RlSGFsZlJHQkEgKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIGksIDAuMCApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcbiAgICAgIG1lYW4gK1x4M2QgZGlzdHJpYnV0aW9uLng7XG4gICAgICBzcXVhcmVkX21lYW4gK1x4M2QgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSArIGRpc3RyaWJ1dGlvbi54ICogZGlzdHJpYnV0aW9uLng7XG4gICAgI2Vsc2VcbiAgICAgIGZsb2F0IGRlcHRoIFx4M2QgdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICsgdmVjMiggMC4wLCAgaSApICAqIHJhZGl1cyApIC8gcmVzb2x1dGlvbiApICk7XG4gICAgICBtZWFuICtceDNkIGRlcHRoO1xuICAgICAgc3F1YXJlZF9tZWFuICtceDNkIGRlcHRoICogZGVwdGg7XG4gICAgI2VuZGlmXG4gIH1cbiAgbWVhbiBceDNkIG1lYW4gKiBIQUxGX1NBTVBMRV9SQVRFO1xuICBzcXVhcmVkX21lYW4gXHgzZCBzcXVhcmVkX21lYW4gKiBIQUxGX1NBTVBMRV9SQVRFO1xuICBmbG9hdCBzdGRfZGV2IFx4M2QgcG93KCBzcXVhcmVkX21lYW4gLSBtZWFuICogbWVhbiwgMC41ICk7XG4gIGdsX0ZyYWdDb2xvciBceDNkIGVuY29kZUhhbGZSR0JBKCB2ZWMyKCBtZWFuLCBzdGRfZGV2ICkgKTtcbn0ifSksCmVhPVYuY2xvbmUoKTtlYS5kZWZpbmVzLkhPUklaT05BTF9QQVNTPTE7dmFyIGRhPW5ldyB2YTtkYS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgUihuZXcgRmxvYXQzMkFycmF5KFstMSwtMSwuNSwzLC0xLC41LC0xLDMsLjVdKSwzKSk7dmFyIHJhPW5ldyB5YShkYSxWKTtmb3IoZGE9MDs0IT09ZGE7KytkYSl7dmFyIHBhPTAhPT0oZGEmMSkscWE9MCE9PShkYSYyKSx1YT1uZXcgeGQoe2RlcHRoUGFja2luZzozMjAxLG1vcnBoVGFyZ2V0czpwYSxza2lubmluZzpxYX0pO01bZGFdPXVhO3BhPW5ldyB5ZCh7bW9ycGhUYXJnZXRzOnBhLHNraW5uaW5nOnFhfSk7UFtkYV09cGF9dmFyIG5hPXRoaXM7dGhpcy5lbmFibGVkPSExO3RoaXMuYXV0b1VwZGF0ZT0hMDt0aGlzLm5lZWRzVXBkYXRlPSExO3RoaXMudHlwZT0xO3RoaXMucmVuZGVyPWZ1bmN0aW9uKHRhLEJhLFRhKXtpZighMSE9PW5hLmVuYWJsZWQmJighMSE9PW5hLmF1dG9VcGRhdGV8fCExIT09bmEubmVlZHNVcGRhdGUpJiYKMCE9PXRhLmxlbmd0aCl7dmFyIFVhPWEuZ2V0UmVuZGVyVGFyZ2V0KCksQ2E9YS5nZXRBY3RpdmVDdWJlRmFjZSgpLEhhPWEuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKSxEYT1hLnN0YXRlO0RhLnNldEJsZW5kaW5nKDApO0RhLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIoMSwxLDEsMSk7RGEuYnVmZmVycy5kZXB0aC5zZXRUZXN0KCEwKTtEYS5zZXRTY2lzc29yVGVzdCghMSk7Zm9yKHZhciBNYT0wLGRiPXRhLmxlbmd0aDtNYTxkYjtNYSsrKXt2YXIgdGI9dGFbTWFdLEthPXRiLnNoYWRvdztpZih2b2lkIDA9PT1LYSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiIsdGIsImhhcyBubyBzaGFkb3cuIik7ZWxzZXtFLmNvcHkoS2EubWFwU2l6ZSk7dmFyIGJiPUthLmdldEZyYW1lRXh0ZW50cygpO0UubXVsdGlwbHkoYmIpO0YuY29weShLYS5tYXBTaXplKTtpZihFLng+ZXx8RS55PmUpY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFNoYWRvd01hcDoiLHRiLCJoYXMgc2hhZG93IGV4Y2VlZGluZyBtYXggdGV4dHVyZSBzaXplLCByZWR1Y2luZyIpLApFLng+ZSYmKEYueD1NYXRoLmZsb29yKGUvYmIueCksRS54PUYueCpiYi54LEthLm1hcFNpemUueD1GLngpLEUueT5lJiYoRi55PU1hdGguZmxvb3IoZS9iYi55KSxFLnk9Ri55KmJiLnksS2EubWFwU2l6ZS55PUYueSk7bnVsbCE9PUthLm1hcHx8S2EuaXNQb2ludExpZ2h0U2hhZG93fHwzIT09dGhpcy50eXBlfHwoYmI9e21pbkZpbHRlcjoxMDA2LG1hZ0ZpbHRlcjoxMDA2LGZvcm1hdDoxMDIzfSxLYS5tYXA9bmV3IG0oRS54LEUueSxiYiksS2EubWFwLnRleHR1cmUubmFtZT10Yi5uYW1lKyIuc2hhZG93TWFwIixLYS5tYXBQYXNzPW5ldyBtKEUueCxFLnksYmIpLEthLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpO251bGw9PT1LYS5tYXAmJihiYj17bWluRmlsdGVyOjEwMDMsbWFnRmlsdGVyOjEwMDMsZm9ybWF0OjEwMjN9LEthLm1hcD1uZXcgbShFLngsRS55LGJiKSxLYS5tYXAudGV4dHVyZS5uYW1lPXRiLm5hbWUrIi5zaGFkb3dNYXAiLEthLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpOwphLnNldFJlbmRlclRhcmdldChLYS5tYXApO2EuY2xlYXIoKTtiYj1LYS5nZXRWaWV3cG9ydENvdW50KCk7Zm9yKHZhciBqYj0wO2piPGJiO2piKyspe3ZhciBFYj1LYS5nZXRWaWV3cG9ydChqYik7SS5zZXQoRi54KkViLngsRi55KkViLnksRi54KkViLnosRi55KkViLncpO0RhLnZpZXdwb3J0KEkpO0thLnVwZGF0ZU1hdHJpY2VzKHRiLFRhLGpiKTt6PUthLmdldEZydXN0dW0oKTt2KEJhLFRhLEthLmNhbWVyYSx0Yix0aGlzLnR5cGUpfUthLmlzUG9pbnRMaWdodFNoYWRvd3x8MyE9PXRoaXMudHlwZXx8ZyhLYSxUYSl9fW5hLm5lZWRzVXBkYXRlPSExO2Euc2V0UmVuZGVyVGFyZ2V0KFVhLENhLEhhKX19fWZ1bmN0aW9uIHBtKGEsYyxlLGcpe2Z1bmN0aW9uIHQoaWEsR2EsTGEpe3ZhciBuYj1uZXcgVWludDhBcnJheSg0KSxWYT1hLmNyZWF0ZVRleHR1cmUoKTthLmJpbmRUZXh0dXJlKGlhLFZhKTthLnRleFBhcmFtZXRlcmkoaWEsMTAyNDEsOTcyOCk7YS50ZXhQYXJhbWV0ZXJpKGlhLAoxMDI0MCw5NzI4KTtmb3IoaWE9MDtpYTxMYTtpYSsrKWEudGV4SW1hZ2UyRChHYStpYSwwLDY0MDgsMSwxLDAsNjQwOCw1MTIxLG5iKTtyZXR1cm4gVmF9ZnVuY3Rpb24gdihpYSxHYSl7cmFbaWFdPTE7MD09PXBhW2lhXSYmKGEuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoaWEpLHBhW2lhXT0xKTtxYVtpYV0hPT1HYSYmKChnLmlzV2ViR0wyP2E6Yy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlbZy5pc1dlYkdMMj8idmVydGV4QXR0cmliRGl2aXNvciI6InZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSJdKGlhLEdhKSxxYVtpYV09R2EpfWZ1bmN0aW9uIHooaWEpeyEwIT09dWFbaWFdJiYoYS5lbmFibGUoaWEpLHVhW2lhXT0hMCl9ZnVuY3Rpb24gRShpYSl7ITEhPT11YVtpYV0mJihhLmRpc2FibGUoaWEpLHVhW2lhXT0hMSl9ZnVuY3Rpb24gRihpYSxHYSxMYSxuYixWYSxpYixrYixRYSl7aWYoMD09PWlhKUJhJiYoRSgzMDQyKSxCYT0hMSk7ZWxzZSBpZihCYXx8KHooMzA0MiksCkJhPSEwKSw1IT09aWEpe2lmKGlhIT09VGF8fFFhIT09dGIpe2lmKDEwMCE9PVVhfHwxMDAhPT1EYSlhLmJsZW5kRXF1YXRpb24oMzI3NzQpLERhPVVhPTEwMDtpZihRYSlzd2l0Y2goaWEpe2Nhc2UgMTphLmJsZW5kRnVuY1NlcGFyYXRlKDEsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6YS5ibGVuZEZ1bmMoMSwxKTticmVhaztjYXNlIDM6YS5ibGVuZEZ1bmNTZXBhcmF0ZSgwLDAsNzY5LDc3MSk7YnJlYWs7Y2FzZSA0OmEuYmxlbmRGdW5jU2VwYXJhdGUoMCw3NjgsMCw3NzApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZTogSW52YWxpZCBibGVuZGluZzogIixpYSl9ZWxzZSBzd2l0Y2goaWEpe2Nhc2UgMTphLmJsZW5kRnVuY1NlcGFyYXRlKDc3MCw3NzEsMSw3NzEpO2JyZWFrO2Nhc2UgMjphLmJsZW5kRnVuYyg3NzAsMSk7YnJlYWs7Y2FzZSAzOmEuYmxlbmRGdW5jKDAsNzY5KTticmVhaztjYXNlIDQ6YS5ibGVuZEZ1bmMoMCw3NjgpO2JyZWFrOwpkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsaWEpfWRiPU1hPUhhPUNhPW51bGw7VGE9aWE7dGI9UWF9fWVsc2V7VmE9VmF8fEdhO2liPWlifHxMYTtrYj1rYnx8bmI7aWYoR2EhPT1VYXx8VmEhPT1EYSlhLmJsZW5kRXF1YXRpb25TZXBhcmF0ZShlLmNvbnZlcnQoR2EpLGUuY29udmVydChWYSkpLFVhPUdhLERhPVZhO2lmKExhIT09Q2F8fG5iIT09SGF8fGliIT09TWF8fGtiIT09ZGIpYS5ibGVuZEZ1bmNTZXBhcmF0ZShlLmNvbnZlcnQoTGEpLGUuY29udmVydChuYiksZS5jb252ZXJ0KGliKSxlLmNvbnZlcnQoa2IpKSxDYT1MYSxIYT1uYixNYT1pYixkYj1rYjtUYT1pYTt0Yj1udWxsfX1mdW5jdGlvbiBJKGlhKXtLYSE9PWlhJiYoaWE/YS5mcm9udEZhY2UoMjMwNCk6YS5mcm9udEZhY2UoMjMwNSksS2E9aWEpfWZ1bmN0aW9uIE0oaWEpezAhPT1pYT8oeigyODg0KSxpYSE9PWJiJiYoMT09PWlhP2EuY3VsbEZhY2UoMTAyOSk6CjI9PT1pYT9hLmN1bGxGYWNlKDEwMjgpOmEuY3VsbEZhY2UoMTAzMikpKTpFKDI4ODQpO2JiPWlhfWZ1bmN0aW9uIFAoaWEsR2EsTGEpe2lmKGlhKXtpZih6KDMyODIzKSxFYiE9PUdhfHx4YiE9PUxhKWEucG9seWdvbk9mZnNldChHYSxMYSksRWI9R2EseGI9TGF9ZWxzZSBFKDMyODIzKX1mdW5jdGlvbiBRKGlhKXt2b2lkIDA9PT1pYSYmKGlhPTMzOTg0K2hhLTEpO3phIT09aWEmJihhLmFjdGl2ZVRleHR1cmUoaWEpLHphPWlhKX12YXIgVT1uZXcgZnVuY3Rpb24oKXt2YXIgaWE9ITEsR2E9bmV3IHAsTGE9bnVsbCxuYj1uZXcgcCgwLDAsMCwwKTtyZXR1cm57c2V0TWFzazpmdW5jdGlvbihWYSl7TGE9PT1WYXx8aWF8fChhLmNvbG9yTWFzayhWYSxWYSxWYSxWYSksTGE9VmEpfSxzZXRMb2NrZWQ6ZnVuY3Rpb24oVmEpe2lhPVZhfSxzZXRDbGVhcjpmdW5jdGlvbihWYSxpYixrYixRYSxlYil7ITA9PT1lYiYmKFZhKj1RYSxpYio9UWEsa2IqPVFhKTtHYS5zZXQoVmEsaWIsa2IsUWEpOwohMT09PW5iLmVxdWFscyhHYSkmJihhLmNsZWFyQ29sb3IoVmEsaWIsa2IsUWEpLG5iLmNvcHkoR2EpKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtMYT1udWxsO25iLnNldCgtMSwwLDAsMCl9fX0sVj1uZXcgZnVuY3Rpb24oKXt2YXIgaWE9ITEsR2E9bnVsbCxMYT1udWxsLG5iPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24oVmEpe1ZhP3ooMjkyOSk6RSgyOTI5KX0sc2V0TWFzazpmdW5jdGlvbihWYSl7R2E9PT1WYXx8aWF8fChhLmRlcHRoTWFzayhWYSksR2E9VmEpfSxzZXRGdW5jOmZ1bmN0aW9uKFZhKXtpZihMYSE9PVZhKXtpZihWYSlzd2l0Y2goVmEpe2Nhc2UgMDphLmRlcHRoRnVuYyg1MTIpO2JyZWFrO2Nhc2UgMTphLmRlcHRoRnVuYyg1MTkpO2JyZWFrO2Nhc2UgMjphLmRlcHRoRnVuYyg1MTMpO2JyZWFrO2Nhc2UgMzphLmRlcHRoRnVuYyg1MTUpO2JyZWFrO2Nhc2UgNDphLmRlcHRoRnVuYyg1MTQpO2JyZWFrO2Nhc2UgNTphLmRlcHRoRnVuYyg1MTgpO2JyZWFrO2Nhc2UgNjphLmRlcHRoRnVuYyg1MTYpOwpicmVhaztjYXNlIDc6YS5kZXB0aEZ1bmMoNTE3KTticmVhaztkZWZhdWx0OmEuZGVwdGhGdW5jKDUxNSl9ZWxzZSBhLmRlcHRoRnVuYyg1MTUpO0xhPVZhfX0sc2V0TG9ja2VkOmZ1bmN0aW9uKFZhKXtpYT1WYX0sc2V0Q2xlYXI6ZnVuY3Rpb24oVmEpe25iIT09VmEmJihhLmNsZWFyRGVwdGgoVmEpLG5iPVZhKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtuYj1MYT1HYT1udWxsfX19LGVhPW5ldyBmdW5jdGlvbigpe3ZhciBpYT0hMSxHYT1udWxsLExhPW51bGwsbmI9bnVsbCxWYT1udWxsLGliPW51bGwsa2I9bnVsbCxRYT1udWxsLGViPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24obWIpe2lhfHwobWI/eigyOTYwKTpFKDI5NjApKX0sc2V0TWFzazpmdW5jdGlvbihtYil7R2E9PT1tYnx8aWF8fChhLnN0ZW5jaWxNYXNrKG1iKSxHYT1tYil9LHNldEZ1bmM6ZnVuY3Rpb24obWIscGIsc2Ipe2lmKExhIT09bWJ8fG5iIT09cGJ8fFZhIT09c2IpYS5zdGVuY2lsRnVuYyhtYixwYiwKc2IpLExhPW1iLG5iPXBiLFZhPXNifSxzZXRPcDpmdW5jdGlvbihtYixwYixzYil7aWYoaWIhPT1tYnx8a2IhPT1wYnx8UWEhPT1zYilhLnN0ZW5jaWxPcChtYixwYixzYiksaWI9bWIsa2I9cGIsUWE9c2J9LHNldExvY2tlZDpmdW5jdGlvbihtYil7aWE9bWJ9LHNldENsZWFyOmZ1bmN0aW9uKG1iKXtlYiE9PW1iJiYoYS5jbGVhclN0ZW5jaWwobWIpLGViPW1iKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtlYj1RYT1rYj1pYj1WYT1uYj1MYT1HYT1udWxsfX19LGRhPWEuZ2V0UGFyYW1ldGVyKDM0OTIxKSxyYT1uZXcgVWludDhBcnJheShkYSkscGE9bmV3IFVpbnQ4QXJyYXkoZGEpLHFhPW5ldyBVaW50OEFycmF5KGRhKSx1YT17fSxuYT1udWxsLHRhPW51bGwsQmE9bnVsbCxUYT1udWxsLFVhPW51bGwsQ2E9bnVsbCxIYT1udWxsLERhPW51bGwsTWE9bnVsbCxkYj1udWxsLHRiPSExLEthPW51bGwsYmI9bnVsbCxqYj1udWxsLEViPW51bGwseGI9bnVsbCxoYT1hLmdldFBhcmFtZXRlcigzNTY2MSksCm1hPSExO2RhPTA7ZGE9YS5nZXRQYXJhbWV0ZXIoNzkzOCk7LTEhPT1kYS5pbmRleE9mKCJXZWJHTCIpPyhkYT1wYXJzZUZsb2F0KC9eV2ViR0wgKFswLTldKS8uZXhlYyhkYSlbMV0pLG1hPTE8PWRhKTotMSE9PWRhLmluZGV4T2YoIk9wZW5HTCBFUyIpJiYoZGE9cGFyc2VGbG9hdCgvXk9wZW5HTCBFUyAoWzAtOV0pLy5leGVjKGRhKVsxXSksbWE9Mjw9ZGEpO3ZhciB6YT1udWxsLEphPXt9LFlhPW5ldyBwLE5hPW5ldyBwLGNiPXt9O2NiWzM1NTNdPXQoMzU1MywzNTUzLDEpO2NiWzM0MDY3XT10KDM0MDY3LDM0MDY5LDYpO1Uuc2V0Q2xlYXIoMCwwLDAsMSk7Vi5zZXRDbGVhcigxKTtlYS5zZXRDbGVhcigwKTt6KDI5MjkpO1Yuc2V0RnVuYygzKTtJKCExKTtNKDEpO3ooMjg4NCk7RigwKTtyZXR1cm57YnVmZmVyczp7Y29sb3I6VSxkZXB0aDpWLHN0ZW5jaWw6ZWF9LGluaXRBdHRyaWJ1dGVzOmZ1bmN0aW9uKCl7Zm9yKHZhciBpYT0wLEdhPXJhLmxlbmd0aDtpYTxHYTtpYSsrKXJhW2lhXT0KMH0sZW5hYmxlQXR0cmlidXRlOmZ1bmN0aW9uKGlhKXt2KGlhLDApfSxlbmFibGVBdHRyaWJ1dGVBbmREaXZpc29yOnYsZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXM6ZnVuY3Rpb24oKXtmb3IodmFyIGlhPTAsR2E9cGEubGVuZ3RoO2lhIT09R2E7KytpYSlwYVtpYV0hPT1yYVtpYV0mJihhLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShpYSkscGFbaWFdPTApfSxlbmFibGU6eixkaXNhYmxlOkUsZ2V0Q29tcHJlc3NlZFRleHR1cmVGb3JtYXRzOmZ1bmN0aW9uKCl7aWYobnVsbD09PW5hJiYobmE9W10sYy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfHxjLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8Yy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMxIil8fGMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpKSlmb3IodmFyIGlhPWEuZ2V0UGFyYW1ldGVyKDM0NDY3KSxHYT0wO0dhPGlhLmxlbmd0aDtHYSsrKW5hLnB1c2goaWFbR2FdKTsKcmV0dXJuIG5hfSx1c2VQcm9ncmFtOmZ1bmN0aW9uKGlhKXtyZXR1cm4gdGEhPT1pYT8oYS51c2VQcm9ncmFtKGlhKSx0YT1pYSwhMCk6ITF9LHNldEJsZW5kaW5nOkYsc2V0TWF0ZXJpYWw6ZnVuY3Rpb24oaWEsR2EpezI9PT1pYS5zaWRlP0UoMjg4NCk6eigyODg0KTt2YXIgTGE9MT09PWlhLnNpZGU7R2EmJihMYT0hTGEpO0koTGEpOzE9PT1pYS5ibGVuZGluZyYmITE9PT1pYS50cmFuc3BhcmVudD9GKDApOkYoaWEuYmxlbmRpbmcsaWEuYmxlbmRFcXVhdGlvbixpYS5ibGVuZFNyYyxpYS5ibGVuZERzdCxpYS5ibGVuZEVxdWF0aW9uQWxwaGEsaWEuYmxlbmRTcmNBbHBoYSxpYS5ibGVuZERzdEFscGhhLGlhLnByZW11bHRpcGxpZWRBbHBoYSk7Vi5zZXRGdW5jKGlhLmRlcHRoRnVuYyk7Vi5zZXRUZXN0KGlhLmRlcHRoVGVzdCk7Vi5zZXRNYXNrKGlhLmRlcHRoV3JpdGUpO1Uuc2V0TWFzayhpYS5jb2xvcldyaXRlKTtHYT1pYS5zdGVuY2lsV3JpdGU7ZWEuc2V0VGVzdChHYSk7R2EmJgooZWEuc2V0RnVuYyhpYS5zdGVuY2lsRnVuYyxpYS5zdGVuY2lsUmVmLGlhLnN0ZW5jaWxNYXNrKSxlYS5zZXRPcChpYS5zdGVuY2lsRmFpbCxpYS5zdGVuY2lsWkZhaWwsaWEuc3RlbmNpbFpQYXNzKSk7UChpYS5wb2x5Z29uT2Zmc2V0LGlhLnBvbHlnb25PZmZzZXRGYWN0b3IsaWEucG9seWdvbk9mZnNldFVuaXRzKX0sc2V0RmxpcFNpZGVkOkksc2V0Q3VsbEZhY2U6TSxzZXRMaW5lV2lkdGg6ZnVuY3Rpb24oaWEpe2lhIT09amImJihtYSYmYS5saW5lV2lkdGgoaWEpLGpiPWlhKX0sc2V0UG9seWdvbk9mZnNldDpQLHNldFNjaXNzb3JUZXN0OmZ1bmN0aW9uKGlhKXtpYT96KDMwODkpOkUoMzA4OSl9LGFjdGl2ZVRleHR1cmU6USxiaW5kVGV4dHVyZTpmdW5jdGlvbihpYSxHYSl7bnVsbD09PXphJiZRKCk7dmFyIExhPUphW3phXTt2b2lkIDA9PT1MYSYmKExhPXt0eXBlOnZvaWQgMCx0ZXh0dXJlOnZvaWQgMH0sSmFbemFdPUxhKTtpZihMYS50eXBlIT09aWF8fExhLnRleHR1cmUhPT0KR2EpYS5iaW5kVGV4dHVyZShpYSxHYXx8Y2JbaWFdKSxMYS50eXBlPWlhLExhLnRleHR1cmU9R2F9LGNvbXByZXNzZWRUZXhJbWFnZTJEOmZ1bmN0aW9uKCl7dHJ5e2EuY29tcHJlc3NlZFRleEltYWdlMkQuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sdGV4SW1hZ2UyRDpmdW5jdGlvbigpe3RyeXthLnRleEltYWdlMkQuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sdGV4SW1hZ2UzRDpmdW5jdGlvbigpe3RyeXthLnRleEltYWdlM0QuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sc2Npc3NvcjpmdW5jdGlvbihpYSl7ITE9PT1ZYS5lcXVhbHMoaWEpJiYoYS5zY2lzc29yKGlhLngsaWEueSxpYS56LGlhLncpLFlhLmNvcHkoaWEpKX0sdmlld3BvcnQ6ZnVuY3Rpb24oaWEpeyExPT09Ck5hLmVxdWFscyhpYSkmJihhLnZpZXdwb3J0KGlhLngsaWEueSxpYS56LGlhLncpLE5hLmNvcHkoaWEpKX0scmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGlhPTA7aWE8cGEubGVuZ3RoO2lhKyspMT09PXBhW2lhXSYmKGEuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGlhKSxwYVtpYV09MCk7dWE9e307emE9bmE9bnVsbDtKYT17fTtiYj1LYT1UYT10YT1udWxsO1UucmVzZXQoKTtWLnJlc2V0KCk7ZWEucmVzZXQoKX19fWZ1bmN0aW9uIHFtKGEsYyxlLGcsdCx2LHope2Z1bmN0aW9uIEUoaGEsbWEpe3JldHVybiBiYj9uZXcgT2Zmc2NyZWVuQ2FudmFzKGhhLG1hKTpkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKX1mdW5jdGlvbiBGKGhhLG1hLHphLEphKXt2YXIgWWE9MTtpZihoYS53aWR0aD5KYXx8aGEuaGVpZ2h0PkphKVlhPUphL01hdGgubWF4KGhhLndpZHRoLGhhLmhlaWdodCk7aWYoMT5ZYXx8ITA9PT1tYSl7aWYoInVuZGVmaW5lZCIhPT0KdHlwZW9mIEhUTUxJbWFnZUVsZW1lbnQmJmhhIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPT10eXBlb2YgSFRNTENhbnZhc0VsZW1lbnQmJmhhIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnR8fCJ1bmRlZmluZWQiIT09dHlwZW9mIEltYWdlQml0bWFwJiZoYSBpbnN0YW5jZW9mIEltYWdlQml0bWFwKXJldHVybiBKYT1tYT9oYi5mbG9vclBvd2VyT2ZUd286TWF0aC5mbG9vcixtYT1KYShZYSpoYS53aWR0aCksWWE9SmEoWWEqaGEuaGVpZ2h0KSx2b2lkIDA9PT1LYSYmKEthPUUobWEsWWEpKSx6YT16YT9FKG1hLFlhKTpLYSx6YS53aWR0aD1tYSx6YS5oZWlnaHQ9WWEsemEuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoaGEsMCwwLG1hLFlhKSxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaGFzIGJlZW4gcmVzaXplZCBmcm9tICgiK2hhLndpZHRoKyJ4IitoYS5oZWlnaHQrIikgdG8gKCIrbWErIngiK1lhKyIpLiIpLAp6YTsiZGF0YSJpbiBoYSYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBJbWFnZSBpbiBEYXRhVGV4dHVyZSBpcyB0b28gYmlnICgiK2hhLndpZHRoKyJ4IitoYS5oZWlnaHQrIikuIil9cmV0dXJuIGhhfWZ1bmN0aW9uIEkoaGEpe3JldHVybiBoYi5pc1Bvd2VyT2ZUd28oaGEud2lkdGgpJiZoYi5pc1Bvd2VyT2ZUd28oaGEuaGVpZ2h0KX1mdW5jdGlvbiBNKGhhKXtyZXR1cm4gdC5pc1dlYkdMMj8hMToxMDAxIT09aGEud3JhcFN8fDEwMDEhPT1oYS53cmFwVHx8MTAwMyE9PWhhLm1pbkZpbHRlciYmMTAwNiE9PWhhLm1pbkZpbHRlcn1mdW5jdGlvbiBQKGhhLG1hKXtyZXR1cm4gaGEuZ2VuZXJhdGVNaXBtYXBzJiZtYSYmMTAwMyE9PWhhLm1pbkZpbHRlciYmMTAwNiE9PWhhLm1pbkZpbHRlcn1mdW5jdGlvbiBRKGhhLG1hLHphLEphKXthLmdlbmVyYXRlTWlwbWFwKGhhKTtnLmdldChtYSkuX19tYXhNaXBMZXZlbD1NYXRoLmxvZyhNYXRoLm1heCh6YSxKYSkpKk1hdGguTE9HMkV9CmZ1bmN0aW9uIFUoaGEsbWEpe2lmKCF0LmlzV2ViR0wyKXJldHVybiBoYTt2YXIgemE9aGE7NjQwMz09PWhhJiYoNTEyNj09PW1hJiYoemE9MzMzMjYpLDUxMzE9PT1tYSYmKHphPTMzMzI1KSw1MTIxPT09bWEmJih6YT0zMzMyMSkpOzY0MDc9PT1oYSYmKDUxMjY9PT1tYSYmKHphPTM0ODM3KSw1MTMxPT09bWEmJih6YT0zNDg0MyksNTEyMT09PW1hJiYoemE9MzI4NDkpKTs2NDA4PT09aGEmJig1MTI2PT09bWEmJih6YT0zNDgzNiksNTEzMT09PW1hJiYoemE9MzQ4NDIpLDUxMjE9PT1tYSYmKHphPTMyODU2KSk7MzMzMjU9PT16YXx8MzMzMjY9PT16YXx8MzQ4NDI9PT16YXx8MzQ4MzY9PT16YT9jLmdldCgiRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIpOigzNDg0Mz09PXphfHwzNDgzNz09PXphKSYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBGbG9hdGluZyBwb2ludCB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHVzZSBSR0JBIGluc3RlYWQuIik7CnJldHVybiB6YX1mdW5jdGlvbiBWKGhhKXtyZXR1cm4gMTAwMz09PWhhfHwxMDA0PT09aGF8fDEwMDU9PT1oYT85NzI4Ojk3Mjl9ZnVuY3Rpb24gZWEoaGEpe2hhPWhhLnRhcmdldDtoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixlYSk7cmEoaGEpO2hhLmlzVmlkZW9UZXh0dXJlJiZ0Yi5kZWxldGUoaGEpO3oubWVtb3J5LnRleHR1cmVzLS19ZnVuY3Rpb24gZGEoaGEpe2hhPWhhLnRhcmdldDtoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixkYSk7cGEoaGEpO3oubWVtb3J5LnRleHR1cmVzLS19ZnVuY3Rpb24gcmEoaGEpe3ZhciBtYT1nLmdldChoYSk7dm9pZCAwIT09bWEuX193ZWJnbEluaXQmJihhLmRlbGV0ZVRleHR1cmUobWEuX193ZWJnbFRleHR1cmUpLGcucmVtb3ZlKGhhKSl9ZnVuY3Rpb24gcGEoaGEpe3ZhciBtYT1nLmdldChoYSksemE9Zy5nZXQoaGEudGV4dHVyZSk7aWYoaGEpe3ZvaWQgMCE9PXphLl9fd2ViZ2xUZXh0dXJlJiZhLmRlbGV0ZVRleHR1cmUoemEuX193ZWJnbFRleHR1cmUpOwpoYS5kZXB0aFRleHR1cmUmJmhhLmRlcHRoVGV4dHVyZS5kaXNwb3NlKCk7aWYoaGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpZm9yKHphPTA7Nj56YTt6YSsrKWEuZGVsZXRlRnJhbWVidWZmZXIobWEuX193ZWJnbEZyYW1lYnVmZmVyW3phXSksbWEuX193ZWJnbERlcHRoYnVmZmVyJiZhLmRlbGV0ZVJlbmRlcmJ1ZmZlcihtYS5fX3dlYmdsRGVwdGhidWZmZXJbemFdKTtlbHNlIGEuZGVsZXRlRnJhbWVidWZmZXIobWEuX193ZWJnbEZyYW1lYnVmZmVyKSxtYS5fX3dlYmdsRGVwdGhidWZmZXImJmEuZGVsZXRlUmVuZGVyYnVmZmVyKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcik7Zy5yZW1vdmUoaGEudGV4dHVyZSk7Zy5yZW1vdmUoaGEpfX1mdW5jdGlvbiBxYShoYSxtYSl7dmFyIHphPWcuZ2V0KGhhKTtoYS5pc1ZpZGVvVGV4dHVyZSYmZGIoaGEpO2lmKDA8aGEudmVyc2lvbiYmemEuX192ZXJzaW9uIT09aGEudmVyc2lvbil7dmFyIEphPWhhLmltYWdlO2lmKHZvaWQgMD09PUphKWNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVGV4dHVyZSBtYXJrZWQgZm9yIHVwZGF0ZSBidXQgaW1hZ2UgaXMgdW5kZWZpbmVkIik7CmVsc2UgaWYoITE9PT1KYS5jb21wbGV0ZSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKTtlbHNle1RhKHphLGhhLG1hKTtyZXR1cm59fWUuYWN0aXZlVGV4dHVyZSgzMzk4NCttYSk7ZS5iaW5kVGV4dHVyZSgzNTUzLHphLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiB1YShoYSxtYSl7aWYoNj09PWhhLmltYWdlLmxlbmd0aCl7dmFyIHphPWcuZ2V0KGhhKTtpZigwPGhhLnZlcnNpb24mJnphLl9fdmVyc2lvbiE9PWhhLnZlcnNpb24pe0JhKHphLGhhKTtlLmFjdGl2ZVRleHR1cmUoMzM5ODQrbWEpO2UuYmluZFRleHR1cmUoMzQwNjcsemEuX193ZWJnbFRleHR1cmUpO2EucGl4ZWxTdG9yZWkoMzc0NDAsaGEuZmxpcFkpO3ZhciBKYT1oYSYmaGEuaXNDb21wcmVzc2VkVGV4dHVyZTttYT1oYS5pbWFnZVswXSYmaGEuaW1hZ2VbMF0uaXNEYXRhVGV4dHVyZTtmb3IodmFyIFlhPVtdLApOYT0wOzY+TmE7TmErKylZYVtOYV09SmF8fG1hP21hP2hhLmltYWdlW05hXS5pbWFnZTpoYS5pbWFnZVtOYV06RihoYS5pbWFnZVtOYV0sITEsITAsdC5tYXhDdWJlbWFwU2l6ZSk7dmFyIGNiPVlhWzBdLGlhPUkoY2IpfHx0LmlzV2ViR0wyLEdhPXYuY29udmVydChoYS5mb3JtYXQpLExhPXYuY29udmVydChoYS50eXBlKSxuYj1VKEdhLExhKTt0YSgzNDA2NyxoYSxpYSk7aWYoSmEpe2ZvcihOYT0wOzY+TmE7TmErKyl7dmFyIFZhPVlhW05hXS5taXBtYXBzO2ZvcihKYT0wO0phPFZhLmxlbmd0aDtKYSsrKXt2YXIgaWI9VmFbSmFdOzEwMjMhPT1oYS5mb3JtYXQmJjEwMjIhPT1oYS5mb3JtYXQ/LTE8ZS5nZXRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMoKS5pbmRleE9mKEdhKT9lLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K05hLEphLG5iLGliLndpZHRoLGliLmhlaWdodCwwLGliLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKToKZS50ZXhJbWFnZTJEKDM0MDY5K05hLEphLG5iLGliLndpZHRoLGliLmhlaWdodCwwLEdhLExhLGliLmRhdGEpfX16YS5fX21heE1pcExldmVsPVZhLmxlbmd0aC0xfWVsc2V7VmE9aGEubWlwbWFwcztmb3IoTmE9MDs2Pk5hO05hKyspaWYobWEpZm9yKGUudGV4SW1hZ2UyRCgzNDA2OStOYSwwLG5iLFlhW05hXS53aWR0aCxZYVtOYV0uaGVpZ2h0LDAsR2EsTGEsWWFbTmFdLmRhdGEpLEphPTA7SmE8VmEubGVuZ3RoO0phKyspaWI9VmFbSmFdLGliPWliLmltYWdlW05hXS5pbWFnZSxlLnRleEltYWdlMkQoMzQwNjkrTmEsSmErMSxuYixpYi53aWR0aCxpYi5oZWlnaHQsMCxHYSxMYSxpYi5kYXRhKTtlbHNlIGZvcihlLnRleEltYWdlMkQoMzQwNjkrTmEsMCxuYixHYSxMYSxZYVtOYV0pLEphPTA7SmE8VmEubGVuZ3RoO0phKyspaWI9VmFbSmFdLGUudGV4SW1hZ2UyRCgzNDA2OStOYSxKYSsxLG5iLEdhLExhLGliLmltYWdlW05hXSk7emEuX19tYXhNaXBMZXZlbD1WYS5sZW5ndGh9UChoYSwKaWEpJiZRKDM0MDY3LGhhLGNiLndpZHRoLGNiLmhlaWdodCk7emEuX192ZXJzaW9uPWhhLnZlcnNpb247aWYoaGEub25VcGRhdGUpaGEub25VcGRhdGUoaGEpfWVsc2UgZS5hY3RpdmVUZXh0dXJlKDMzOTg0K21hKSxlLmJpbmRUZXh0dXJlKDM0MDY3LHphLl9fd2ViZ2xUZXh0dXJlKX19ZnVuY3Rpb24gbmEoaGEsbWEpe2UuYWN0aXZlVGV4dHVyZSgzMzk4NCttYSk7ZS5iaW5kVGV4dHVyZSgzNDA2NyxnLmdldChoYSkuX193ZWJnbFRleHR1cmUpfWZ1bmN0aW9uIHRhKGhhLG1hLHphKXt6YT8oYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQyLHYuY29udmVydChtYS53cmFwUykpLGEudGV4UGFyYW1ldGVyaShoYSwxMDI0Myx2LmNvbnZlcnQobWEud3JhcFQpKSwzMjg3OSE9PWhhJiYzNTg2NiE9PWhhfHxhLnRleFBhcmFtZXRlcmkoaGEsMzI4ODIsdi5jb252ZXJ0KG1hLndyYXBSKSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQwLHYuY29udmVydChtYS5tYWdGaWx0ZXIpKSxhLnRleFBhcmFtZXRlcmkoaGEsCjEwMjQxLHYuY29udmVydChtYS5taW5GaWx0ZXIpKSk6KGEudGV4UGFyYW1ldGVyaShoYSwxMDI0MiwzMzA3MSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQzLDMzMDcxKSwzMjg3OSE9PWhhJiYzNTg2NiE9PWhhfHxhLnRleFBhcmFtZXRlcmkoaGEsMzI4ODIsMzMwNzEpLDEwMDE9PT1tYS53cmFwUyYmMTAwMT09PW1hLndyYXBUfHxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS53cmFwUyBhbmQgVGV4dHVyZS53cmFwVCBzaG91bGQgYmUgc2V0IHRvIFRIUkVFLkNsYW1wVG9FZGdlV3JhcHBpbmcuIiksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQwLFYobWEubWFnRmlsdGVyKSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQxLFYobWEubWluRmlsdGVyKSksMTAwMyE9PW1hLm1pbkZpbHRlciYmMTAwNiE9PW1hLm1pbkZpbHRlciYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUubWluRmlsdGVyIHNob3VsZCBiZSBzZXQgdG8gVEhSRUUuTmVhcmVzdEZpbHRlciBvciBUSFJFRS5MaW5lYXJGaWx0ZXIuIikpOwohKHphPWMuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKSl8fDEwMTU9PT1tYS50eXBlJiZudWxsPT09Yy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpfHwxMDE2PT09bWEudHlwZSYmbnVsbD09PSh0LmlzV2ViR0wyfHxjLmdldCgiT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiKSl8fCEoMTxtYS5hbmlzb3Ryb3B5fHxnLmdldChtYSkuX19jdXJyZW50QW5pc290cm9weSl8fChhLnRleFBhcmFtZXRlcmYoaGEsemEuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsTWF0aC5taW4obWEuYW5pc290cm9weSx0LmdldE1heEFuaXNvdHJvcHkoKSkpLGcuZ2V0KG1hKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PW1hLmFuaXNvdHJvcHkpfWZ1bmN0aW9uIEJhKGhhLG1hKXt2b2lkIDA9PT1oYS5fX3dlYmdsSW5pdCYmKGhhLl9fd2ViZ2xJbml0PSEwLG1hLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGVhKSxoYS5fX3dlYmdsVGV4dHVyZT1hLmNyZWF0ZVRleHR1cmUoKSwKei5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gVGEoaGEsbWEsemEpe3ZhciBKYT0zNTUzO21hLmlzRGF0YVRleHR1cmUyREFycmF5JiYoSmE9MzU4NjYpO21hLmlzRGF0YVRleHR1cmUzRCYmKEphPTMyODc5KTtCYShoYSxtYSk7ZS5hY3RpdmVUZXh0dXJlKDMzOTg0K3phKTtlLmJpbmRUZXh0dXJlKEphLGhhLl9fd2ViZ2xUZXh0dXJlKTthLnBpeGVsU3RvcmVpKDM3NDQwLG1hLmZsaXBZKTthLnBpeGVsU3RvcmVpKDM3NDQxLG1hLnByZW11bHRpcGx5QWxwaGEpO2EucGl4ZWxTdG9yZWkoMzMxNyxtYS51bnBhY2tBbGlnbm1lbnQpO3phPU0obWEpJiYhMT09PUkobWEuaW1hZ2UpO3phPUYobWEuaW1hZ2UsemEsITEsdC5tYXhUZXh0dXJlU2l6ZSk7dmFyIFlhPUkoemEpfHx0LmlzV2ViR0wyLE5hPXYuY29udmVydChtYS5mb3JtYXQpLGNiPXYuY29udmVydChtYS50eXBlKSxpYT1VKE5hLGNiKTt0YShKYSxtYSxZYSk7dmFyIEdhPW1hLm1pcG1hcHM7aWYobWEuaXNEZXB0aFRleHR1cmUpe2lhPQo2NDAyO2lmKDEwMTU9PT1tYS50eXBlKXtpZighdC5pc1dlYkdMMil0aHJvdyBFcnJvcigiRmxvYXQgRGVwdGggVGV4dHVyZSBvbmx5IHN1cHBvcnRlZCBpbiBXZWJHTDIuMCIpO2lhPTM2MDEyfWVsc2UgdC5pc1dlYkdMMiYmKGlhPTMzMTg5KTsxMDI2PT09bWEuZm9ybWF0JiY2NDAyPT09aWEmJjEwMTIhPT1tYS50eXBlJiYxMDE0IT09bWEudHlwZSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLG1hLnR5cGU9MTAxMixjYj12LmNvbnZlcnQobWEudHlwZSkpOzEwMjc9PT1tYS5mb3JtYXQmJihpYT0zNDA0MSwxMDIwIT09bWEudHlwZSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkSW50MjQ4VHlwZSBmb3IgRGVwdGhTdGVuY2lsRm9ybWF0IERlcHRoVGV4dHVyZS4iKSxtYS50eXBlPTEwMjAsY2I9CnYuY29udmVydChtYS50eXBlKSkpO2UudGV4SW1hZ2UyRCgzNTUzLDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LDAsTmEsY2IsbnVsbCl9ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlKWlmKDA8R2EubGVuZ3RoJiZZYSl7Zm9yKHZhciBMYT0wLG5iPUdhLmxlbmd0aDtMYTxuYjtMYSsrKUphPUdhW0xhXSxlLnRleEltYWdlMkQoMzU1MyxMYSxpYSxKYS53aWR0aCxKYS5oZWlnaHQsMCxOYSxjYixKYS5kYXRhKTttYS5nZW5lcmF0ZU1pcG1hcHM9ITE7aGEuX19tYXhNaXBMZXZlbD1HYS5sZW5ndGgtMX1lbHNlIGUudGV4SW1hZ2UyRCgzNTUzLDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LDAsTmEsY2IsemEuZGF0YSksaGEuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYobWEuaXNDb21wcmVzc2VkVGV4dHVyZSl7TGE9MDtmb3IobmI9R2EubGVuZ3RoO0xhPG5iO0xhKyspSmE9R2FbTGFdLDEwMjMhPT1tYS5mb3JtYXQmJjEwMjIhPT1tYS5mb3JtYXQ/LTE8ZS5nZXRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMoKS5pbmRleE9mKE5hKT8KZS5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLExhLGlhLEphLndpZHRoLEphLmhlaWdodCwwLEphLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnVwbG9hZFRleHR1cmUoKSIpOmUudGV4SW1hZ2UyRCgzNTUzLExhLGlhLEphLndpZHRoLEphLmhlaWdodCwwLE5hLGNiLEphLmRhdGEpO2hhLl9fbWF4TWlwTGV2ZWw9R2EubGVuZ3RoLTF9ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlMkRBcnJheSllLnRleEltYWdlM0QoMzU4NjYsMCxpYSx6YS53aWR0aCx6YS5oZWlnaHQsemEuZGVwdGgsMCxOYSxjYix6YS5kYXRhKSxoYS5fX21heE1pcExldmVsPTA7ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlM0QpZS50ZXhJbWFnZTNEKDMyODc5LDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LHphLmRlcHRoLDAsTmEsY2IsemEuZGF0YSksaGEuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoMDwKR2EubGVuZ3RoJiZZYSl7TGE9MDtmb3IobmI9R2EubGVuZ3RoO0xhPG5iO0xhKyspSmE9R2FbTGFdLGUudGV4SW1hZ2UyRCgzNTUzLExhLGlhLE5hLGNiLEphKTttYS5nZW5lcmF0ZU1pcG1hcHM9ITE7aGEuX19tYXhNaXBMZXZlbD1HYS5sZW5ndGgtMX1lbHNlIGUudGV4SW1hZ2UyRCgzNTUzLDAsaWEsTmEsY2IsemEpLGhhLl9fbWF4TWlwTGV2ZWw9MDtQKG1hLFlhKSYmUSgzNTUzLG1hLHphLndpZHRoLHphLmhlaWdodCk7aGEuX192ZXJzaW9uPW1hLnZlcnNpb247aWYobWEub25VcGRhdGUpbWEub25VcGRhdGUobWEpfWZ1bmN0aW9uIFVhKGhhLG1hLHphLEphKXt2YXIgWWE9di5jb252ZXJ0KG1hLnRleHR1cmUuZm9ybWF0KSxOYT12LmNvbnZlcnQobWEudGV4dHVyZS50eXBlKSxjYj1VKFlhLE5hKTtlLnRleEltYWdlMkQoSmEsMCxjYixtYS53aWR0aCxtYS5oZWlnaHQsMCxZYSxOYSxudWxsKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxoYSk7YS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwKemEsSmEsZy5nZXQobWEudGV4dHVyZSkuX193ZWJnbFRleHR1cmUsMCk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24gQ2EoaGEsbWEsemEpe2EuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxoYSk7aWYobWEuZGVwdGhCdWZmZXImJiFtYS5zdGVuY2lsQnVmZmVyKXphPyh6YT1NYShtYSksYS5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsemEsMzMxODksbWEud2lkdGgsbWEuaGVpZ2h0KSk6YS5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDMzMTg5LG1hLndpZHRoLG1hLmhlaWdodCksYS5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigzNjE2MCwzNjA5NiwzNjE2MSxoYSk7ZWxzZSBpZihtYS5kZXB0aEJ1ZmZlciYmbWEuc3RlbmNpbEJ1ZmZlcil6YT8oemE9TWEobWEpLGEucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLHphLDM1MDU2LG1hLndpZHRoLG1hLmhlaWdodCkpOmEucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSwzNDA0MSwKbWEud2lkdGgsbWEuaGVpZ2h0KSxhLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDMzMzA2LDM2MTYxLGhhKTtlbHNle2hhPXYuY29udmVydChtYS50ZXh0dXJlLmZvcm1hdCk7dmFyIEphPXYuY29udmVydChtYS50ZXh0dXJlLnR5cGUpO2hhPVUoaGEsSmEpO3phPyh6YT1NYShtYSksYS5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsemEsaGEsbWEud2lkdGgsbWEuaGVpZ2h0KSk6YS5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLGhhLG1hLndpZHRoLG1hLmhlaWdodCl9YS5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIEhhKGhhLG1hKXtpZihtYSYmbWEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpdGhyb3cgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxoYSk7aWYoIW1hLmRlcHRoVGV4dHVyZXx8IW1hLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBFcnJvcigicmVuZGVyVGFyZ2V0LmRlcHRoVGV4dHVyZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRIUkVFLkRlcHRoVGV4dHVyZSIpOwpnLmdldChtYS5kZXB0aFRleHR1cmUpLl9fd2ViZ2xUZXh0dXJlJiZtYS5kZXB0aFRleHR1cmUuaW1hZ2Uud2lkdGg9PT1tYS53aWR0aCYmbWEuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD09PW1hLmhlaWdodHx8KG1hLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1tYS53aWR0aCxtYS5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PW1hLmhlaWdodCxtYS5kZXB0aFRleHR1cmUubmVlZHNVcGRhdGU9ITApO3FhKG1hLmRlcHRoVGV4dHVyZSwwKTtoYT1nLmdldChtYS5kZXB0aFRleHR1cmUpLl9fd2ViZ2xUZXh0dXJlO2lmKDEwMjY9PT1tYS5kZXB0aFRleHR1cmUuZm9ybWF0KWEuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1MyxoYSwwKTtlbHNlIGlmKDEwMjc9PT1tYS5kZXB0aFRleHR1cmUuZm9ybWF0KWEuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzMzMDYsMzU1MyxoYSwwKTtlbHNlIHRocm93IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTsKfWZ1bmN0aW9uIERhKGhhKXt2YXIgbWE9Zy5nZXQoaGEpLHphPSEwPT09aGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmU7aWYoaGEuZGVwdGhUZXh0dXJlKXtpZih6YSl0aHJvdyBFcnJvcigidGFyZ2V0LmRlcHRoVGV4dHVyZSBub3Qgc3VwcG9ydGVkIGluIEN1YmUgcmVuZGVyIHRhcmdldHMiKTtIYShtYS5fX3dlYmdsRnJhbWVidWZmZXIsaGEpfWVsc2UgaWYoemEpZm9yKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcj1bXSx6YT0wOzY+emE7emErKylhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxtYS5fX3dlYmdsRnJhbWVidWZmZXJbemFdKSxtYS5fX3dlYmdsRGVwdGhidWZmZXJbemFdPWEuY3JlYXRlUmVuZGVyYnVmZmVyKCksQ2EobWEuX193ZWJnbERlcHRoYnVmZmVyW3phXSxoYSk7ZWxzZSBhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxtYS5fX3dlYmdsRnJhbWVidWZmZXIpLG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcj1hLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLENhKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlciwKaGEpO2EuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIE1hKGhhKXtyZXR1cm4gdC5pc1dlYkdMMiYmaGEuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P01hdGgubWluKHQubWF4U2FtcGxlcyxoYS5zYW1wbGVzKTowfWZ1bmN0aW9uIGRiKGhhKXt2YXIgbWE9ei5yZW5kZXIuZnJhbWU7dGIuZ2V0KGhhKSE9PW1hJiYodGIuc2V0KGhhLG1hKSxoYS51cGRhdGUoKSl9dmFyIHRiPW5ldyBXZWFrTWFwLEthLGJiPSJ1bmRlZmluZWQiIT09dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyxqYj0wLEViPSExLHhiPSExO3RoaXMuYWxsb2NhdGVUZXh0dXJlVW5pdD1mdW5jdGlvbigpe3ZhciBoYT1qYjtoYT49dC5tYXhUZXh0dXJlcyYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIraGErIiB0ZXh0dXJlIHVuaXRzIHdoaWxlIHRoaXMgR1BVIHN1cHBvcnRzIG9ubHkgIit0Lm1heFRleHR1cmVzKTtqYis9MTtyZXR1cm4gaGF9O3RoaXMucmVzZXRUZXh0dXJlVW5pdHM9CmZ1bmN0aW9uKCl7amI9MH07dGhpcy5zZXRUZXh0dXJlMkQ9cWE7dGhpcy5zZXRUZXh0dXJlMkRBcnJheT1mdW5jdGlvbihoYSxtYSl7dmFyIHphPWcuZ2V0KGhhKTswPGhhLnZlcnNpb24mJnphLl9fdmVyc2lvbiE9PWhhLnZlcnNpb24/VGEoemEsaGEsbWEpOihlLmFjdGl2ZVRleHR1cmUoMzM5ODQrbWEpLGUuYmluZFRleHR1cmUoMzU4NjYsemEuX193ZWJnbFRleHR1cmUpKX07dGhpcy5zZXRUZXh0dXJlM0Q9ZnVuY3Rpb24oaGEsbWEpe3ZhciB6YT1nLmdldChoYSk7MDxoYS52ZXJzaW9uJiZ6YS5fX3ZlcnNpb24hPT1oYS52ZXJzaW9uP1RhKHphLGhhLG1hKTooZS5hY3RpdmVUZXh0dXJlKDMzOTg0K21hKSxlLmJpbmRUZXh0dXJlKDMyODc5LHphLl9fd2ViZ2xUZXh0dXJlKSl9O3RoaXMuc2V0VGV4dHVyZUN1YmU9dWE7dGhpcy5zZXRUZXh0dXJlQ3ViZUR5bmFtaWM9bmE7dGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbihoYSl7dmFyIG1hPWcuZ2V0KGhhKSx6YT1nLmdldChoYS50ZXh0dXJlKTsKaGEuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsZGEpO3phLl9fd2ViZ2xUZXh0dXJlPWEuY3JlYXRlVGV4dHVyZSgpO3oubWVtb3J5LnRleHR1cmVzKys7dmFyIEphPSEwPT09aGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUsWWE9ITA9PT1oYS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsTmE9SShoYSl8fHQuaXNXZWJHTDI7aWYoSmEpZm9yKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcj1bXSxZYT0wOzY+WWE7WWErKyltYS5fX3dlYmdsRnJhbWVidWZmZXJbWWFdPWEuY3JlYXRlRnJhbWVidWZmZXIoKTtlbHNlIGlmKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcj1hLmNyZWF0ZUZyYW1lYnVmZmVyKCksWWEpaWYodC5pc1dlYkdMMil7bWEuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPWEuY3JlYXRlRnJhbWVidWZmZXIoKTttYS5fX3dlYmdsQ29sb3JSZW5kZXJidWZmZXI9YS5jcmVhdGVSZW5kZXJidWZmZXIoKTthLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbWEuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKTsKWWE9di5jb252ZXJ0KGhhLnRleHR1cmUuZm9ybWF0KTt2YXIgY2I9di5jb252ZXJ0KGhhLnRleHR1cmUudHlwZSk7WWE9VShZYSxjYik7Y2I9TWEoaGEpO2EucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLGNiLFlhLGhhLndpZHRoLGhhLmhlaWdodCk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbWEuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKTthLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLG1hLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7YS5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpO2hhLmRlcHRoQnVmZmVyJiYobWEuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPWEuY3JlYXRlUmVuZGVyYnVmZmVyKCksQ2EobWEuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyLGhhLCEwKSk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTsKaWYoSmEpe2UuYmluZFRleHR1cmUoMzQwNjcsemEuX193ZWJnbFRleHR1cmUpO3RhKDM0MDY3LGhhLnRleHR1cmUsTmEpO2ZvcihZYT0wOzY+WWE7WWErKylVYShtYS5fX3dlYmdsRnJhbWVidWZmZXJbWWFdLGhhLDM2MDY0LDM0MDY5K1lhKTtQKGhhLnRleHR1cmUsTmEpJiZRKDM0MDY3LGhhLnRleHR1cmUsaGEud2lkdGgsaGEuaGVpZ2h0KTtlLmJpbmRUZXh0dXJlKDM0MDY3LG51bGwpfWVsc2UgZS5iaW5kVGV4dHVyZSgzNTUzLHphLl9fd2ViZ2xUZXh0dXJlKSx0YSgzNTUzLGhhLnRleHR1cmUsTmEpLFVhKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcixoYSwzNjA2NCwzNTUzKSxQKGhhLnRleHR1cmUsTmEpJiZRKDM1NTMsaGEudGV4dHVyZSxoYS53aWR0aCxoYS5oZWlnaHQpLGUuYmluZFRleHR1cmUoMzU1MyxudWxsKTtoYS5kZXB0aEJ1ZmZlciYmRGEoaGEpfTt0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbihoYSl7dmFyIG1hPWhhLnRleHR1cmUsemE9SShoYSl8fAp0LmlzV2ViR0wyO2lmKFAobWEsemEpKXt6YT1oYS5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZT8zNDA2NzozNTUzO3ZhciBKYT1nLmdldChtYSkuX193ZWJnbFRleHR1cmU7ZS5iaW5kVGV4dHVyZSh6YSxKYSk7USh6YSxtYSxoYS53aWR0aCxoYS5oZWlnaHQpO2UuYmluZFRleHR1cmUoemEsbnVsbCl9fTt0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKGhhKXtpZihoYS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYodC5pc1dlYkdMMil7dmFyIG1hPWcuZ2V0KGhhKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxtYS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpO2EuYmluZEZyYW1lYnVmZmVyKDM2MDA5LG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcik7bWE9aGEud2lkdGg7dmFyIHphPWhhLmhlaWdodCxKYT0xNjM4NDtoYS5kZXB0aEJ1ZmZlciYmKEphfD0yNTYpO2hhLnN0ZW5jaWxCdWZmZXImJihKYXw9MTAyNCk7YS5ibGl0RnJhbWVidWZmZXIoMCwKMCxtYSx6YSwwLDAsbWEsemEsSmEsOTcyOCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKX07dGhpcy5zYWZlU2V0VGV4dHVyZTJEPWZ1bmN0aW9uKGhhLG1hKXtoYSYmaGEuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09RWImJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMVGV4dHVyZXMuc2FmZVNldFRleHR1cmUyRDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxFYj0hMCksaGE9aGEudGV4dHVyZSk7cWEoaGEsbWEpfTt0aGlzLnNhZmVTZXRUZXh0dXJlQ3ViZT1mdW5jdGlvbihoYSxtYSl7aGEmJmhhLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlJiYoITE9PT14YiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZUN1YmU6IGRvbid0IHVzZSBjdWJlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSwKeGI9ITApLGhhPWhhLnRleHR1cmUpO2hhJiZoYS5pc0N1YmVUZXh0dXJlfHxBcnJheS5pc0FycmF5KGhhLmltYWdlKSYmNj09PWhhLmltYWdlLmxlbmd0aD91YShoYSxtYSk6bmEoaGEsbWEpfX1mdW5jdGlvbiBGaihhLGMsZSl7cmV0dXJue2NvbnZlcnQ6ZnVuY3Rpb24oZyl7aWYoMUUzPT09ZylyZXR1cm4gMTA0OTc7aWYoMTAwMT09PWcpcmV0dXJuIDMzMDcxO2lmKDEwMDI9PT1nKXJldHVybiAzMzY0ODtpZigxMDAzPT09ZylyZXR1cm4gOTcyODtpZigxMDA0PT09ZylyZXR1cm4gOTk4NDtpZigxMDA1PT09ZylyZXR1cm4gOTk4NjtpZigxMDA2PT09ZylyZXR1cm4gOTcyOTtpZigxMDA3PT09ZylyZXR1cm4gOTk4NTtpZigxMDA4PT09ZylyZXR1cm4gOTk4NztpZigxMDA5PT09ZylyZXR1cm4gNTEyMTtpZigxMDE3PT09ZylyZXR1cm4gMzI4MTk7aWYoMTAxOD09PWcpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT1nKXJldHVybiAzMzYzNTtpZigxMDEwPT09ZylyZXR1cm4gNTEyMDtpZigxMDExPT09CmcpcmV0dXJuIDUxMjI7aWYoMTAxMj09PWcpcmV0dXJuIDUxMjM7aWYoMTAxMz09PWcpcmV0dXJuIDUxMjQ7aWYoMTAxND09PWcpcmV0dXJuIDUxMjU7aWYoMTAxNT09PWcpcmV0dXJuIDUxMjY7aWYoMTAxNj09PWcpe2lmKGUuaXNXZWJHTDIpcmV0dXJuIDUxMzE7dmFyIHQ9Yy5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKTtpZihudWxsIT09dClyZXR1cm4gdC5IQUxGX0ZMT0FUX09FU31pZigxMDIxPT09ZylyZXR1cm4gNjQwNjtpZigxMDIyPT09ZylyZXR1cm4gNjQwNztpZigxMDIzPT09ZylyZXR1cm4gNjQwODtpZigxMDI0PT09ZylyZXR1cm4gNjQwOTtpZigxMDI1PT09ZylyZXR1cm4gNjQxMDtpZigxMDI2PT09ZylyZXR1cm4gNjQwMjtpZigxMDI3PT09ZylyZXR1cm4gMzQwNDE7aWYoMTAyOD09PWcpcmV0dXJuIDY0MDM7aWYoMTAwPT09ZylyZXR1cm4gMzI3NzQ7aWYoMTAxPT09ZylyZXR1cm4gMzI3Nzg7aWYoMTAyPT09ZylyZXR1cm4gMzI3Nzk7aWYoMjAwPT09ZylyZXR1cm4gMDsKaWYoMjAxPT09ZylyZXR1cm4gMTtpZigyMDI9PT1nKXJldHVybiA3Njg7aWYoMjAzPT09ZylyZXR1cm4gNzY5O2lmKDIwND09PWcpcmV0dXJuIDc3MDtpZigyMDU9PT1nKXJldHVybiA3NzE7aWYoMjA2PT09ZylyZXR1cm4gNzcyO2lmKDIwNz09PWcpcmV0dXJuIDc3MztpZigyMDg9PT1nKXJldHVybiA3NzQ7aWYoMjA5PT09ZylyZXR1cm4gNzc1O2lmKDIxMD09PWcpcmV0dXJuIDc3NjtpZigzMzc3Nj09PWd8fDMzNzc3PT09Z3x8MzM3Nzg9PT1nfHwzMzc3OT09PWcpaWYodD1jLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKSxudWxsIT09dCl7aWYoMzM3NzY9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQ7aWYoMzM3Nzc9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUO2lmKDMzNzc4PT09ZylyZXR1cm4gdC5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVDtpZigzMzc3OT09PWcpcmV0dXJuIHQuQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFR9aWYoMzU4NDA9PT0KZ3x8MzU4NDE9PT1nfHwzNTg0Mj09PWd8fDM1ODQzPT09ZylpZih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiKSxudWxsIT09dCl7aWYoMzU4NDA9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUc7aWYoMzU4NDE9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc7aWYoMzU4NDI9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKDM1ODQzPT09ZylyZXR1cm4gdC5DT01QUkVTU0VEX1JHQkFfUFZSVENfMkJQUFYxX0lNR31pZigzNjE5Nj09PWcmJih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSIpLG51bGwhPT10KSlyZXR1cm4gdC5DT01QUkVTU0VEX1JHQl9FVEMxX1dFQkdMO2lmKDM3ODA4PT09Z3x8Mzc4MDk9PT1nfHwzNzgxMD09PWd8fDM3ODExPT09Z3x8Mzc4MTI9PT1nfHwzNzgxMz09PWd8fDM3ODE0PT09Z3x8Mzc4MTU9PT1nfHwzNzgxNj09PQpnfHwzNzgxNz09PWd8fDM3ODE4PT09Z3x8Mzc4MTk9PT1nfHwzNzgyMD09PWd8fDM3ODIxPT09ZylpZih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpLG51bGwhPT10KXJldHVybiBnO2lmKDEwMz09PWd8fDEwND09PWcpe2lmKGUuaXNXZWJHTDIpe2lmKDEwMz09PWcpcmV0dXJuIDMyNzc1O2lmKDEwND09PWcpcmV0dXJuIDMyNzc2fXQ9Yy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKTtpZihudWxsIT09dCl7aWYoMTAzPT09ZylyZXR1cm4gdC5NSU5fRVhUO2lmKDEwND09PWcpcmV0dXJuIHQuTUFYX0VYVH19aWYoMTAyMD09PWcpe2lmKGUuaXNXZWJHTDIpcmV0dXJuIDM0MDQyO3Q9Yy5nZXQoIldFQkdMX2RlcHRoX3RleHR1cmUiKTtpZihudWxsIT09dClyZXR1cm4gdC5VTlNJR05FRF9JTlRfMjRfOF9XRUJHTH1yZXR1cm4gMH19fWZ1bmN0aW9uIHdlKCl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iR3JvdXAifWZ1bmN0aW9uIHdmKGEpe3ZiLmNhbGwodGhpcyk7CnRoaXMuY2FtZXJhcz1hfHxbXX1mdW5jdGlvbiBHaihhLGMsZSl7SGouc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGMubWF0cml4V29ybGQpO0lqLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKTt2YXIgZz1Iai5kaXN0YW5jZVRvKElqKSx0PWMucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyx2PWUucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyx6PXRbMTRdLyh0WzEwXS0xKTtlPXRbMTRdLyh0WzEwXSsxKTt2YXIgRT0odFs5XSsxKS90WzVdLEY9KHRbOV0tMSkvdFs1XSxJPSh0WzhdLTEpL3RbMF0sTT0odls4XSsxKS92WzBdO3Q9eipJO3Y9eipNO009Zy8oLUkrTSk7ST1NKi1JO2MubWF0cml4V29ybGQuZGVjb21wb3NlKGEucG9zaXRpb24sYS5xdWF0ZXJuaW9uLGEuc2NhbGUpO2EudHJhbnNsYXRlWChJKTthLnRyYW5zbGF0ZVooTSk7YS5tYXRyaXhXb3JsZC5jb21wb3NlKGEucG9zaXRpb24sYS5xdWF0ZXJuaW9uLGEuc2NhbGUpO2EubWF0cml4V29ybGRJbnZlcnNlLmdldEludmVyc2UoYS5tYXRyaXhXb3JsZCk7CmM9eitNO3o9ZStNO2EucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUodC1JLHYrKGctSSksRSplL3oqYyxGKmUveipjLGMseil9ZnVuY3Rpb24gU2goYSl7ZnVuY3Rpb24gYygpe3JldHVybiBudWxsIT09SSYmITA9PT1JLmlzUHJlc2VudGluZ31mdW5jdGlvbiBlKCl7aWYoYygpKXt2YXIgSGE9SS5nZXRFeWVQYXJhbWV0ZXJzKCJsZWZ0Iik7ej0yKkhhLnJlbmRlcldpZHRoKmVhO0U9SGEucmVuZGVySGVpZ2h0KmVhO1RhPWEuZ2V0UGl4ZWxSYXRpbygpO2EuZ2V0U2l6ZShCYSk7YS5zZXREcmF3aW5nQnVmZmVyU2l6ZSh6LEUsMSk7dWEudmlld3BvcnQuc2V0KDAsMCx6LzIsRSk7bmEudmlld3BvcnQuc2V0KHovMiwwLHovMixFKTtDYS5zdGFydCgpO0YuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbnN0YXJ0In0pfWVsc2UgRi5lbmFibGVkJiZhLnNldERyYXdpbmdCdWZmZXJTaXplKEJhLndpZHRoLEJhLmhlaWdodCxUYSksQ2Euc3RvcCgpLEYuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbmVuZCJ9KX0KZnVuY3Rpb24gZyhIYSl7Zm9yKHZhciBEYT1uYXZpZ2F0b3IuZ2V0R2FtZXBhZHMmJm5hdmlnYXRvci5nZXRHYW1lcGFkcygpLE1hPTAsZGI9MCx0Yj1EYS5sZW5ndGg7TWE8dGI7TWErKyl7dmFyIEthPURhW01hXTtpZihLYSYmKCJEYXlkcmVhbSBDb250cm9sbGVyIj09PUthLmlkfHwiR2VhciBWUiBDb250cm9sbGVyIj09PUthLmlkfHwiT2N1bHVzIEdvIENvbnRyb2xsZXIiPT09S2EuaWR8fCJPcGVuVlIgR2FtZXBhZCI9PT1LYS5pZHx8S2EuaWQuc3RhcnRzV2l0aCgiT2N1bHVzIFRvdWNoIil8fEthLmlkLnN0YXJ0c1dpdGgoIkhUQyBWaXZlIEZvY3VzIil8fEthLmlkLnN0YXJ0c1dpdGgoIlNwYXRpYWwgQ29udHJvbGxlciIpKSl7aWYoZGI9PT1IYSlyZXR1cm4gS2E7ZGIrK319fWZ1bmN0aW9uIHQoKXtmb3IodmFyIEhhPTA7SGE8US5sZW5ndGg7SGErKyl7dmFyIERhPVFbSGFdLE1hPWcoSGEpO2lmKHZvaWQgMCE9PU1hJiZ2b2lkIDAhPT1NYS5wb3NlKXtpZihudWxsPT09TWEucG9zZSlicmVhazsKdmFyIGRiPU1hLnBvc2U7ITE9PT1kYi5oYXNQb3NpdGlvbiYmRGEucG9zaXRpb24uc2V0KC4yLC0uNiwtLjA1KTtudWxsIT09ZGIucG9zaXRpb24mJkRhLnBvc2l0aW9uLmZyb21BcnJheShkYi5wb3NpdGlvbik7bnVsbCE9PWRiLm9yaWVudGF0aW9uJiZEYS5xdWF0ZXJuaW9uLmZyb21BcnJheShkYi5vcmllbnRhdGlvbik7RGEubWF0cml4LmNvbXBvc2UoRGEucG9zaXRpb24sRGEucXVhdGVybmlvbixEYS5zY2FsZSk7RGEubWF0cml4LnByZW11bHRpcGx5KFUpO0RhLm1hdHJpeC5kZWNvbXBvc2UoRGEucG9zaXRpb24sRGEucXVhdGVybmlvbixEYS5zY2FsZSk7RGEubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMDtEYS52aXNpYmxlPSEwO2RiPSJEYXlkcmVhbSBDb250cm9sbGVyIj09PU1hLmlkPzA6MTt2b2lkIDA9PT1VYVtIYV0mJihVYVtIYV09ITEpO1VhW0hhXSE9PU1hLmJ1dHRvbnNbZGJdLnByZXNzZWQmJihVYVtIYV09TWEuYnV0dG9uc1tkYl0ucHJlc3NlZCwhMD09PVVhW0hhXT8KRGEuZGlzcGF0Y2hFdmVudCh7dHlwZToic2VsZWN0c3RhcnQifSk6KERhLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlbGVjdGVuZCJ9KSxEYS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZWxlY3QifSkpKX1lbHNlIERhLnZpc2libGU9ITF9fWZ1bmN0aW9uIHYoSGEsRGEpe251bGwhPT1EYSYmND09PURhLmxlbmd0aCYmSGEuc2V0KERhWzBdKnosRGFbMV0qRSxEYVsyXSp6LERhWzNdKkUpfXZhciB6LEUsRj10aGlzLEk9bnVsbCxNPW51bGwsUD1udWxsLFE9W10sVT1uZXcgcSxWPW5ldyBxLGVhPTEsZGE9ImxvY2FsLWZsb29yIjsidW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cmJiJWUkZyYW1lRGF0YSJpbiB3aW5kb3cmJihNPW5ldyB3aW5kb3cuVlJGcmFtZURhdGEsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiLGUsITEpKTt2YXIgcmE9bmV3IHEscGE9bmV3IGgscWE9bmV3IGssdWE9bmV3IHZiO3VhLnZpZXdwb3J0PW5ldyBwO3VhLmxheWVycy5lbmFibGUoMSk7CnZhciBuYT1uZXcgdmI7bmEudmlld3BvcnQ9bmV3IHA7bmEubGF5ZXJzLmVuYWJsZSgyKTt2YXIgdGE9bmV3IHdmKFt1YSxuYV0pO3RhLmxheWVycy5lbmFibGUoMSk7dGEubGF5ZXJzLmVuYWJsZSgyKTt2YXIgQmE9bmV3IGYsVGEsVWE9W107dGhpcy5lbmFibGVkPSExO3RoaXMuZ2V0Q29udHJvbGxlcj1mdW5jdGlvbihIYSl7dmFyIERhPVFbSGFdO3ZvaWQgMD09PURhJiYoRGE9bmV3IHdlLERhLm1hdHJpeEF1dG9VcGRhdGU9ITEsRGEudmlzaWJsZT0hMSxRW0hhXT1EYSk7cmV0dXJuIERhfTt0aGlzLmdldERldmljZT1mdW5jdGlvbigpe3JldHVybiBJfTt0aGlzLnNldERldmljZT1mdW5jdGlvbihIYSl7dm9pZCAwIT09SGEmJihJPUhhKTtDYS5zZXRDb250ZXh0KEhhKX07dGhpcy5zZXRGcmFtZWJ1ZmZlclNjYWxlRmFjdG9yPWZ1bmN0aW9uKEhhKXtlYT1IYX07dGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24oSGEpe2RhPUhhfTt0aGlzLnNldFBvc2VUYXJnZXQ9ZnVuY3Rpb24oSGEpe3ZvaWQgMCE9PQpIYSYmKFA9SGEpfTt0aGlzLmdldENhbWVyYT1mdW5jdGlvbihIYSl7dmFyIERhPSJsb2NhbC1mbG9vciI9PT1kYT8xLjY6MDtpZighMT09PWMoKSlyZXR1cm4gSGEucG9zaXRpb24uc2V0KDAsRGEsMCksSGEucm90YXRpb24uc2V0KDAsMCwwKSxIYTtJLmRlcHRoTmVhcj1IYS5uZWFyO0kuZGVwdGhGYXI9SGEuZmFyO0kuZ2V0RnJhbWVEYXRhKE0pO2lmKCJsb2NhbC1mbG9vciI9PT1kYSl7dmFyIE1hPUkuc3RhZ2VQYXJhbWV0ZXJzO01hP1UuZnJvbUFycmF5KE1hLnNpdHRpbmdUb1N0YW5kaW5nVHJhbnNmb3JtKTpVLm1ha2VUcmFuc2xhdGlvbigwLERhLDApfURhPU0ucG9zZTtNYT1udWxsIT09UD9QOkhhO01hLm1hdHJpeC5jb3B5KFUpO01hLm1hdHJpeC5kZWNvbXBvc2UoTWEucG9zaXRpb24sTWEucXVhdGVybmlvbixNYS5zY2FsZSk7bnVsbCE9PURhLm9yaWVudGF0aW9uJiYocGEuZnJvbUFycmF5KERhLm9yaWVudGF0aW9uKSxNYS5xdWF0ZXJuaW9uLm11bHRpcGx5KHBhKSk7bnVsbCE9PQpEYS5wb3NpdGlvbiYmKHBhLnNldEZyb21Sb3RhdGlvbk1hdHJpeChVKSxxYS5mcm9tQXJyYXkoRGEucG9zaXRpb24pLHFhLmFwcGx5UXVhdGVybmlvbihwYSksTWEucG9zaXRpb24uYWRkKHFhKSk7TWEudXBkYXRlTWF0cml4V29ybGQoKTt1YS5uZWFyPUhhLm5lYXI7bmEubmVhcj1IYS5uZWFyO3VhLmZhcj1IYS5mYXI7bmEuZmFyPUhhLmZhcjt1YS5tYXRyaXhXb3JsZEludmVyc2UuZnJvbUFycmF5KE0ubGVmdFZpZXdNYXRyaXgpO25hLm1hdHJpeFdvcmxkSW52ZXJzZS5mcm9tQXJyYXkoTS5yaWdodFZpZXdNYXRyaXgpO1YuZ2V0SW52ZXJzZShVKTsibG9jYWwtZmxvb3IiPT09ZGEmJih1YS5tYXRyaXhXb3JsZEludmVyc2UubXVsdGlwbHkoViksbmEubWF0cml4V29ybGRJbnZlcnNlLm11bHRpcGx5KFYpKTtIYT1NYS5wYXJlbnQ7bnVsbCE9PUhhJiYocmEuZ2V0SW52ZXJzZShIYS5tYXRyaXhXb3JsZCksdWEubWF0cml4V29ybGRJbnZlcnNlLm11bHRpcGx5KHJhKSxuYS5tYXRyaXhXb3JsZEludmVyc2UubXVsdGlwbHkocmEpKTsKdWEubWF0cml4V29ybGQuZ2V0SW52ZXJzZSh1YS5tYXRyaXhXb3JsZEludmVyc2UpO25hLm1hdHJpeFdvcmxkLmdldEludmVyc2UobmEubWF0cml4V29ybGRJbnZlcnNlKTt1YS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShNLmxlZnRQcm9qZWN0aW9uTWF0cml4KTtuYS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShNLnJpZ2h0UHJvamVjdGlvbk1hdHJpeCk7R2oodGEsdWEsbmEpO0hhPUkuZ2V0TGF5ZXJzKCk7SGEubGVuZ3RoJiYoSGE9SGFbMF0sdih1YS52aWV3cG9ydCxIYS5sZWZ0Qm91bmRzKSx2KG5hLnZpZXdwb3J0LEhhLnJpZ2h0Qm91bmRzKSk7dCgpO3JldHVybiB0YX07dGhpcy5nZXRTdGFuZGluZ01hdHJpeD1mdW5jdGlvbigpe3JldHVybiBVfTt0aGlzLmlzUHJlc2VudGluZz1jO3ZhciBDYT1uZXcgZWM7dGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKEhhKXtDYS5zZXRBbmltYXRpb25Mb29wKEhhKTtjKCkmJkNhLnN0YXJ0KCl9O3RoaXMuc3VibWl0RnJhbWU9CmZ1bmN0aW9uKCl7YygpJiZJLnN1Ym1pdEZyYW1lKCl9O3RoaXMuZGlzcG9zZT1mdW5jdGlvbigpeyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdyYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiLGUpfTt0aGlzLnNldEZyYW1lT2ZSZWZlcmVuY2VUeXBlPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJWUk1hbmFnZXI6IHNldEZyYW1lT2ZSZWZlcmVuY2VUeXBlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX19ZnVuY3Rpb24gSmooYSxjKXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT1GJiZudWxsIT09SX1mdW5jdGlvbiBnKHFhKXtmb3IodmFyIHVhPTA7dWE8US5sZW5ndGg7dWErKylVW3VhXT09PXFhLmlucHV0U291cmNlJiZRW3VhXS5kaXNwYXRjaEV2ZW50KHt0eXBlOnFhLnR5cGV9KX1mdW5jdGlvbiB0KCl7YS5zZXRGcmFtZWJ1ZmZlcihudWxsKTthLnNldFJlbmRlclRhcmdldChhLmdldFJlbmRlclRhcmdldCgpKTsKcGEuc3RvcCgpO0UuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbmVuZCJ9KX1mdW5jdGlvbiB2KHFhKXtJPXFhO3BhLnNldENvbnRleHQoRik7cGEuc3RhcnQoKTtFLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25zdGFydCJ9KX1mdW5jdGlvbiB6KHFhLHVhKXtudWxsPT09dWE/cWEubWF0cml4V29ybGQuY29weShxYS5tYXRyaXgpOnFhLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModWEubWF0cml4V29ybGQscWEubWF0cml4KTtxYS5tYXRyaXhXb3JsZEludmVyc2UuZ2V0SW52ZXJzZShxYS5tYXRyaXhXb3JsZCl9dmFyIEU9dGhpcyxGPW51bGwsST1udWxsLE09ImxvY2FsLWZsb29yIixQPW51bGwsUT1bXSxVPVtdLFY9bmV3IHZiO1YubGF5ZXJzLmVuYWJsZSgxKTtWLnZpZXdwb3J0PW5ldyBwO3ZhciBlYT1uZXcgdmI7ZWEubGF5ZXJzLmVuYWJsZSgyKTtlYS52aWV3cG9ydD1uZXcgcDt2YXIgZGE9bmV3IHdmKFtWLGVhXSk7ZGEubGF5ZXJzLmVuYWJsZSgxKTtkYS5sYXllcnMuZW5hYmxlKDIpOwp0aGlzLmVuYWJsZWQ9ITE7dGhpcy5nZXRDb250cm9sbGVyPWZ1bmN0aW9uKHFhKXt2YXIgdWE9UVtxYV07dm9pZCAwPT09dWEmJih1YT1uZXcgd2UsdWEubWF0cml4QXV0b1VwZGF0ZT0hMSx1YS52aXNpYmxlPSExLFFbcWFdPXVhKTtyZXR1cm4gdWF9O3RoaXMuc2V0RnJhbWVidWZmZXJTY2FsZUZhY3Rvcj1mdW5jdGlvbigpe307dGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24ocWEpe009cWF9O3RoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBGfTt0aGlzLnNldFNlc3Npb249ZnVuY3Rpb24ocWEpe0Y9cWE7bnVsbCE9PUYmJihGLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdCIsZyksRi5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RzdGFydCIsZyksRi5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlbmQiLGcpLEYuYWRkRXZlbnRMaXN0ZW5lcigiZW5kIix0KSxGLnVwZGF0ZVJlbmRlclN0YXRlKHtiYXNlTGF5ZXI6bmV3IFhSV2ViR0xMYXllcihGLGMpfSksRi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoTSkudGhlbih2KSwKVT1GLmlucHV0U291cmNlcyxGLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0c291cmNlc2NoYW5nZSIsZnVuY3Rpb24oKXtVPUYuaW5wdXRTb3VyY2VzO2NvbnNvbGUubG9nKFUpO2Zvcih2YXIgdWE9MDt1YTxRLmxlbmd0aDt1YSsrKVFbdWFdLnVzZXJEYXRhLmlucHV0U291cmNlPVVbdWFdfSkpfTt0aGlzLmdldENhbWVyYT1mdW5jdGlvbihxYSl7aWYoZSgpKXt2YXIgdWE9cWEucGFyZW50LG5hPWRhLmNhbWVyYXM7eihkYSx1YSk7Zm9yKHZhciB0YT0wO3RhPG5hLmxlbmd0aDt0YSsrKXoobmFbdGFdLHVhKTtxYS5tYXRyaXhXb3JsZC5jb3B5KGRhLm1hdHJpeFdvcmxkKTtxYT1xYS5jaGlsZHJlbjt0YT0wO2Zvcih1YT1xYS5sZW5ndGg7dGE8dWE7dGErKylxYVt0YV0udXBkYXRlTWF0cml4V29ybGQoITApO0dqKGRhLFYsZWEpO3JldHVybiBkYX1yZXR1cm4gcWF9O3RoaXMuaXNQcmVzZW50aW5nPWU7dmFyIHJhPW51bGwscGE9bmV3IGVjO3BhLnNldEFuaW1hdGlvbkxvb3AoZnVuY3Rpb24ocWEsCnVhKXtQPXVhLmdldFZpZXdlclBvc2UoSSk7aWYobnVsbCE9PVApe3ZhciBuYT1QLnZpZXdzLHRhPUYucmVuZGVyU3RhdGUuYmFzZUxheWVyO2Euc2V0RnJhbWVidWZmZXIodGEuZnJhbWVidWZmZXIpO2Zvcih2YXIgQmE9MDtCYTxuYS5sZW5ndGg7QmErKyl7dmFyIFRhPW5hW0JhXSxVYT10YS5nZXRWaWV3cG9ydChUYSksQ2E9ZGEuY2FtZXJhc1tCYV07Q2EubWF0cml4LmZyb21BcnJheShUYS50cmFuc2Zvcm0uaW52ZXJzZS5tYXRyaXgpLmdldEludmVyc2UoQ2EubWF0cml4KTtDYS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShUYS5wcm9qZWN0aW9uTWF0cml4KTtDYS52aWV3cG9ydC5zZXQoVWEueCxVYS55LFVhLndpZHRoLFVhLmhlaWdodCk7MD09PUJhJiZkYS5tYXRyaXguY29weShDYS5tYXRyaXgpfX1mb3IoQmE9MDtCYTxRLmxlbmd0aDtCYSsrKXtuYT1RW0JhXTtpZih0YT1VW0JhXSlpZih0YT11YS5nZXRQb3NlKHRhLnRhcmdldFJheVNwYWNlLEkpLG51bGwhPT10YSl7bmEubWF0cml4LmZyb21BcnJheSh0YS50cmFuc2Zvcm0ubWF0cml4KTsKbmEubWF0cml4LmRlY29tcG9zZShuYS5wb3NpdGlvbixuYS5yb3RhdGlvbixuYS5zY2FsZSk7bmEudmlzaWJsZT0hMDtjb250aW51ZX1uYS52aXNpYmxlPSExfXJhJiZyYShxYSl9KTt0aGlzLnNldEFuaW1hdGlvbkxvb3A9ZnVuY3Rpb24ocWEpe3JhPXFhfTt0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt9O3RoaXMuZ2V0U3RhbmRpbmdNYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogZ2V0U3RhbmRpbmdNYXRyaXgoKSBpcyBubyBsb25nZXIgbmVlZGVkLiIpO3JldHVybiBuZXcgcX07dGhpcy5nZXREZXZpY2U9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogZ2V0RGV2aWNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX07dGhpcy5zZXREZXZpY2U9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogc2V0RGV2aWNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX07dGhpcy5zZXRGcmFtZU9mUmVmZXJlbmNlVHlwZT0KZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogc2V0RnJhbWVPZlJlZmVyZW5jZVR5cGUoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiIpfTt0aGlzLnN1Ym1pdEZyYW1lPWZ1bmN0aW9uKCl7fX1mdW5jdGlvbiBUaChhKXt2YXIgYztmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGw9PT1pYj9mYzoxfWZ1bmN0aW9uIGcoKXtNYj1uZXcgZGQoUmEpO2djPW5ldyBOYihSYSxNYixhKTtnYy5pc1dlYkdMMnx8KE1iLmdldCgiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLE1iLmdldCgiT0VTX3RleHR1cmVfZmxvYXQiKSxNYi5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxNYi5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksTWIuZ2V0KCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKSxNYi5nZXQoIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKSxNYi5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSk7TWIuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKTsKUGM9bmV3IEZqKFJhLE1iLGdjKTt5Yj1uZXcgcG0oUmEsTWIsUGMsZ2MpO3liLnNjaXNzb3IoVGIuY29weSh4ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpO3liLnZpZXdwb3J0KExiLmNvcHkoeWUpLm11bHRpcGx5U2NhbGFyKGZjKS5mbG9vcigpKTt6ZD1uZXcgbWwoUmEpO2hjPW5ldyBnbTtRYz1uZXcgcW0oUmEsTWIseWIsaGMsZ2MsUGMsemQpO3lnPW5ldyBRZChSYSk7VWg9bmV3IHZkKFJhLHlnLHpkKTt6ZT1uZXcgcGwoVWgsemQpO0tqPW5ldyBvbChSYSk7UmQ9bmV3IGZtKGlhLE1iLGdjKTt6Zz1uZXcgam07QWU9bmV3IG9tO0FkPW5ldyB1ZChpYSx5Yix6ZSxtYSk7TGo9bmV3IHNhKFJhLE1iLHpkLGdjKTtNaj1uZXcgd2coUmEsTWIsemQsZ2MpO3pkLnByb2dyYW1zPVJkLnByb2dyYW1zO2lhLmNhcGFiaWxpdGllcz1nYztpYS5leHRlbnNpb25zPU1iO2lhLnByb3BlcnRpZXM9aGM7aWEucmVuZGVyTGlzdHM9emc7aWEuc3RhdGU9eWI7aWEuaW5mbz16ZH1mdW5jdGlvbiB0KFQpe1QucHJldmVudERlZmF1bHQoKTsKY29uc29sZS5sb2coIlRIUkVFLldlYkdMUmVuZGVyZXI6IENvbnRleHQgTG9zdC4iKTtHYT0hMH1mdW5jdGlvbiB2KCl7Y29uc29sZS5sb2coIlRIUkVFLldlYkdMUmVuZGVyZXI6IENvbnRleHQgUmVzdG9yZWQuIik7R2E9ITE7ZygpfWZ1bmN0aW9uIHooVCl7VD1ULnRhcmdldDtULnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHopO0UoVCl9ZnVuY3Rpb24gRShUKXtGKFQpO2hjLnJlbW92ZShUKX1mdW5jdGlvbiBGKFQpe3ZhciBZPWhjLmdldChUKS5wcm9ncmFtO1QucHJvZ3JhbT12b2lkIDA7dm9pZCAwIT09WSYmUmQucmVsZWFzZVByb2dyYW0oWSl9ZnVuY3Rpb24gSShULFkpe1QucmVuZGVyKGZ1bmN0aW9uKGxhKXtpYS5yZW5kZXJCdWZmZXJJbW1lZGlhdGUobGEsWSl9KX1mdW5jdGlvbiBNKFQsWSxsYSl7aWYobGEmJmxhLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnkmJiFnYy5pc1dlYkdMMiYmbnVsbD09PU1iLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpKWNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIuc2V0dXBWZXJ0ZXhBdHRyaWJ1dGVzOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTsKZWxzZXt5Yi5pbml0QXR0cmlidXRlcygpO3ZhciBJYT1sYS5hdHRyaWJ1dGVzO1k9WS5nZXRBdHRyaWJ1dGVzKCk7VD1ULmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM7Zm9yKHZhciBPYSBpbiBZKXt2YXIgYWI9WVtPYV07aWYoMDw9YWIpe3ZhciBQYT1JYVtPYV07aWYodm9pZCAwIT09UGEpe3ZhciBmYj1QYS5ub3JtYWxpemVkLENiPVBhLml0ZW1TaXplLG9iPXlnLmdldChQYSk7aWYodm9pZCAwIT09b2Ipe3ZhciAkYT1vYi5idWZmZXIsUmM9b2IudHlwZTtvYj1vYi5ieXRlc1BlckVsZW1lbnQ7aWYoUGEuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSl7dmFyIHpjPVBhLmRhdGEsQmU9emMuc3RyaWRlO1BhPVBhLm9mZnNldDt6YyYmemMuaXNJbnN0YW5jZWRJbnRlcmxlYXZlZEJ1ZmZlcj8oeWIuZW5hYmxlQXR0cmlidXRlQW5kRGl2aXNvcihhYix6Yy5tZXNoUGVyQXR0cmlidXRlKSx2b2lkIDA9PT1sYS5tYXhJbnN0YW5jZWRDb3VudCYmKGxhLm1heEluc3RhbmNlZENvdW50PXpjLm1lc2hQZXJBdHRyaWJ1dGUqCnpjLmNvdW50KSk6eWIuZW5hYmxlQXR0cmlidXRlKGFiKTtSYS5iaW5kQnVmZmVyKDM0OTYyLCRhKTtSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKGFiLENiLFJjLGZiLEJlKm9iLFBhKm9iKX1lbHNlIFBhLmlzSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlPyh5Yi5lbmFibGVBdHRyaWJ1dGVBbmREaXZpc29yKGFiLFBhLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PWxhLm1heEluc3RhbmNlZENvdW50JiYobGEubWF4SW5zdGFuY2VkQ291bnQ9UGEubWVzaFBlckF0dHJpYnV0ZSpQYS5jb3VudCkpOnliLmVuYWJsZUF0dHJpYnV0ZShhYiksUmEuYmluZEJ1ZmZlcigzNDk2MiwkYSksUmEudmVydGV4QXR0cmliUG9pbnRlcihhYixDYixSYyxmYiwwLDApfX1lbHNlIGlmKHZvaWQgMCE9PVQmJihmYj1UW09hXSx2b2lkIDAhPT1mYikpc3dpdGNoKGZiLmxlbmd0aCl7Y2FzZSAyOlJhLnZlcnRleEF0dHJpYjJmdihhYixmYik7YnJlYWs7Y2FzZSAzOlJhLnZlcnRleEF0dHJpYjNmdihhYixmYik7YnJlYWs7CmNhc2UgNDpSYS52ZXJ0ZXhBdHRyaWI0ZnYoYWIsZmIpO2JyZWFrO2RlZmF1bHQ6UmEudmVydGV4QXR0cmliMWZ2KGFiLGZiKX19fXliLmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCl9fWZ1bmN0aW9uIFAoVCxZLGxhLElhKXtpZighMSE9PVQudmlzaWJsZSl7aWYoVC5sYXllcnMudGVzdChZLmxheWVycykpaWYoVC5pc0dyb3VwKWxhPVQucmVuZGVyT3JkZXI7ZWxzZSBpZihULmlzTE9EKSEwPT09VC5hdXRvVXBkYXRlJiZULnVwZGF0ZShZKTtlbHNlIGlmKFQuaXNMaWdodCljYi5wdXNoTGlnaHQoVCksVC5jYXN0U2hhZG93JiZjYi5wdXNoU2hhZG93KFQpO2Vsc2UgaWYoVC5pc1Nwcml0ZSl7aWYoIVQuZnJ1c3R1bUN1bGxlZHx8VmguaW50ZXJzZWN0c1Nwcml0ZShUKSl7SWEmJkJkLnNldEZyb21NYXRyaXhQb3NpdGlvbihULm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoeGYpO3ZhciBPYT16ZS51cGRhdGUoVCksYWI9VC5tYXRlcmlhbDthYi52aXNpYmxlJiZOYS5wdXNoKFQsT2EsYWIsCmxhLEJkLnosbnVsbCl9fWVsc2UgaWYoVC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdClJYSYmQmQuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKFQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NCh4ZiksTmEucHVzaChULG51bGwsVC5tYXRlcmlhbCxsYSxCZC56LG51bGwpO2Vsc2UgaWYoVC5pc01lc2h8fFQuaXNMaW5lfHxULmlzUG9pbnRzKWlmKFQuaXNTa2lubmVkTWVzaCYmVC5za2VsZXRvbi51cGRhdGUoKSwhVC5mcnVzdHVtQ3VsbGVkfHxWaC5pbnRlcnNlY3RzT2JqZWN0KFQpKWlmKElhJiZCZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oVC5tYXRyaXhXb3JsZCkuYXBwbHlNYXRyaXg0KHhmKSxPYT16ZS51cGRhdGUoVCksYWI9VC5tYXRlcmlhbCxBcnJheS5pc0FycmF5KGFiKSlmb3IodmFyIFBhPU9hLmdyb3VwcyxmYj0wLENiPVBhLmxlbmd0aDtmYjxDYjtmYisrKXt2YXIgb2I9UGFbZmJdLCRhPWFiW29iLm1hdGVyaWFsSW5kZXhdOyRhJiYkYS52aXNpYmxlJiZOYS5wdXNoKFQsT2EsJGEsCmxhLEJkLnosb2IpfWVsc2UgYWIudmlzaWJsZSYmTmEucHVzaChULE9hLGFiLGxhLEJkLnosbnVsbCk7VD1ULmNoaWxkcmVuO2ZiPTA7Zm9yKENiPVQubGVuZ3RoO2ZiPENiO2ZiKyspUChUW2ZiXSxZLGxhLElhKX19ZnVuY3Rpb24gUShULFksbGEsSWEpe2Zvcih2YXIgT2E9MCxhYj1ULmxlbmd0aDtPYTxhYjtPYSsrKXt2YXIgUGE9VFtPYV0sZmI9UGEub2JqZWN0LENiPVBhLmdlb21ldHJ5LG9iPXZvaWQgMD09PUlhP1BhLm1hdGVyaWFsOklhO1BhPVBhLmdyb3VwO2lmKGxhLmlzQXJyYXlDYW1lcmEpe3NiPWxhO2Zvcih2YXIgJGE9bGEuY2FtZXJhcyxSYz0wLHpjPSRhLmxlbmd0aDtSYzx6YztSYysrKXt2YXIgQmU9JGFbUmNdO2ZiLmxheWVycy50ZXN0KEJlLmxheWVycykmJih5Yi52aWV3cG9ydChMYi5jb3B5KEJlLnZpZXdwb3J0KSksY2Iuc2V0dXBMaWdodHMoQmUpLFUoZmIsWSxCZSxDYixvYixQYSkpfX1lbHNlIHNiPW51bGwsVShmYixZLGxhLENiLG9iLFBhKX19ZnVuY3Rpb24gVShULApZLGxhLElhLE9hLGFiKXtULm9uQmVmb3JlUmVuZGVyKGlhLFksbGEsSWEsT2EsYWIpO2NiPUFlLmdldChZLHNifHxsYSk7VC5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhsYS5tYXRyaXhXb3JsZEludmVyc2UsVC5tYXRyaXhXb3JsZCk7VC5ub3JtYWxNYXRyaXguZ2V0Tm9ybWFsTWF0cml4KFQubW9kZWxWaWV3TWF0cml4KTtULmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0Pyh5Yi5zZXRNYXRlcmlhbChPYSksSWE9ZWEobGEsWS5mb2csT2EsVCksZWI9Yz1udWxsLG1iPSExLEkoVCxJYSkpOmlhLnJlbmRlckJ1ZmZlckRpcmVjdChsYSxZLmZvZyxJYSxPYSxULGFiKTtjYj1BZS5nZXQoWSxzYnx8bGEpfWZ1bmN0aW9uIFYoVCxZLGxhKXt2YXIgSWE9aGMuZ2V0KFQpLE9hPWNiLnN0YXRlLmxpZ2h0cyxhYj1PYS5zdGF0ZS52ZXJzaW9uO2xhPVJkLmdldFBhcmFtZXRlcnMoVCxPYS5zdGF0ZSxjYi5zdGF0ZS5zaGFkb3dzQXJyYXksWSxBYy5udW1QbGFuZXMsQWMubnVtSW50ZXJzZWN0aW9uLApsYSk7dmFyIFBhPVJkLmdldFByb2dyYW1Db2RlKFQsbGEpLGZiPUlhLnByb2dyYW0sQ2I9ITA7aWYodm9pZCAwPT09ZmIpVC5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIix6KTtlbHNlIGlmKGZiLmNvZGUhPT1QYSlGKFQpO2Vsc2V7aWYoSWEubGlnaHRzU3RhdGVWZXJzaW9uIT09YWIpSWEubGlnaHRzU3RhdGVWZXJzaW9uPWFiO2Vsc2UgaWYodm9pZCAwIT09bGEuc2hhZGVySUQpcmV0dXJuO0NiPSExfUNiJiYobGEuc2hhZGVySUQ/KFBhPU9jW2xhLnNoYWRlcklEXSxJYS5zaGFkZXI9e25hbWU6VC50eXBlLHVuaWZvcm1zOnViKFBhLnVuaWZvcm1zKSx2ZXJ0ZXhTaGFkZXI6UGEudmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOlBhLmZyYWdtZW50U2hhZGVyfSk6SWEuc2hhZGVyPXtuYW1lOlQudHlwZSx1bmlmb3JtczpULnVuaWZvcm1zLHZlcnRleFNoYWRlcjpULnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpULmZyYWdtZW50U2hhZGVyfSxQYT1SZC5nZXRQcm9ncmFtQ29kZShULApsYSksZmI9UmQuYWNxdWlyZVByb2dyYW0oVCxJYS5zaGFkZXIsbGEsUGEpLElhLnByb2dyYW09ZmIsVC5wcm9ncmFtPWZiKTtsYT1mYi5nZXRBdHRyaWJ1dGVzKCk7aWYoVC5tb3JwaFRhcmdldHMpZm9yKFBhPVQubnVtU3VwcG9ydGVkTW9ycGhUYXJnZXRzPTA7UGE8aWEubWF4TW9ycGhUYXJnZXRzO1BhKyspMDw9bGFbIm1vcnBoVGFyZ2V0IitQYV0mJlQubnVtU3VwcG9ydGVkTW9ycGhUYXJnZXRzKys7aWYoVC5tb3JwaE5vcm1hbHMpZm9yKFBhPVQubnVtU3VwcG9ydGVkTW9ycGhOb3JtYWxzPTA7UGE8aWEubWF4TW9ycGhOb3JtYWxzO1BhKyspMDw9bGFbIm1vcnBoTm9ybWFsIitQYV0mJlQubnVtU3VwcG9ydGVkTW9ycGhOb3JtYWxzKys7bGE9SWEuc2hhZGVyLnVuaWZvcm1zO2lmKCFULmlzU2hhZGVyTWF0ZXJpYWwmJiFULmlzUmF3U2hhZGVyTWF0ZXJpYWx8fCEwPT09VC5jbGlwcGluZylJYS5udW1DbGlwcGluZ1BsYW5lcz1BYy5udW1QbGFuZXMsSWEubnVtSW50ZXJzZWN0aW9uPQpBYy5udW1JbnRlcnNlY3Rpb24sbGEuY2xpcHBpbmdQbGFuZXM9QWMudW5pZm9ybTtJYS5mb2c9WTtJYS5saWdodHNTdGF0ZVZlcnNpb249YWI7VC5saWdodHMmJihsYS5hbWJpZW50TGlnaHRDb2xvci52YWx1ZT1PYS5zdGF0ZS5hbWJpZW50LGxhLmxpZ2h0UHJvYmUudmFsdWU9T2Euc3RhdGUucHJvYmUsbGEuZGlyZWN0aW9uYWxMaWdodHMudmFsdWU9T2Euc3RhdGUuZGlyZWN0aW9uYWwsbGEuc3BvdExpZ2h0cy52YWx1ZT1PYS5zdGF0ZS5zcG90LGxhLnJlY3RBcmVhTGlnaHRzLnZhbHVlPU9hLnN0YXRlLnJlY3RBcmVhLGxhLnBvaW50TGlnaHRzLnZhbHVlPU9hLnN0YXRlLnBvaW50LGxhLmhlbWlzcGhlcmVMaWdodHMudmFsdWU9T2Euc3RhdGUuaGVtaSxsYS5kaXJlY3Rpb25hbFNoYWRvd01hcC52YWx1ZT1PYS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hcCxsYS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeC52YWx1ZT1PYS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeCxsYS5zcG90U2hhZG93TWFwLnZhbHVlPQpPYS5zdGF0ZS5zcG90U2hhZG93TWFwLGxhLnNwb3RTaGFkb3dNYXRyaXgudmFsdWU9T2Euc3RhdGUuc3BvdFNoYWRvd01hdHJpeCxsYS5wb2ludFNoYWRvd01hcC52YWx1ZT1PYS5zdGF0ZS5wb2ludFNoYWRvd01hcCxsYS5wb2ludFNoYWRvd01hdHJpeC52YWx1ZT1PYS5zdGF0ZS5wb2ludFNoYWRvd01hdHJpeCk7VD1JYS5wcm9ncmFtLmdldFVuaWZvcm1zKCk7VD13ZC5zZXFXaXRoVmFsdWUoVC5zZXEsbGEpO0lhLnVuaWZvcm1zTGlzdD1UfWZ1bmN0aW9uIGVhKFQsWSxsYSxJYSl7UWMucmVzZXRUZXh0dXJlVW5pdHMoKTt2YXIgT2E9aGMuZ2V0KGxhKSxhYj1jYi5zdGF0ZS5saWdodHM7QWcmJihXaHx8VCE9PXBiKSYmQWMuc2V0U3RhdGUobGEuY2xpcHBpbmdQbGFuZXMsbGEuY2xpcEludGVyc2VjdGlvbixsYS5jbGlwU2hhZG93cyxULE9hLFQ9PT1wYiYmbGEuaWQ9PT1RYSk7ITE9PT1sYS5uZWVkc1VwZGF0ZSYmKHZvaWQgMD09PU9hLnByb2dyYW0/bGEubmVlZHNVcGRhdGU9ITA6CmxhLmZvZyYmT2EuZm9nIT09WT9sYS5uZWVkc1VwZGF0ZT0hMDpsYS5saWdodHMmJk9hLmxpZ2h0c1N0YXRlVmVyc2lvbiE9PWFiLnN0YXRlLnZlcnNpb24/bGEubmVlZHNVcGRhdGU9ITA6dm9pZCAwPT09T2EubnVtQ2xpcHBpbmdQbGFuZXN8fE9hLm51bUNsaXBwaW5nUGxhbmVzPT09QWMubnVtUGxhbmVzJiZPYS5udW1JbnRlcnNlY3Rpb249PT1BYy5udW1JbnRlcnNlY3Rpb258fChsYS5uZWVkc1VwZGF0ZT0hMCkpO2xhLm5lZWRzVXBkYXRlJiYoVihsYSxZLElhKSxsYS5uZWVkc1VwZGF0ZT0hMSk7dmFyIFBhPSExLGZiPWFiPSExLENiPU9hLnByb2dyYW0sb2I9Q2IuZ2V0VW5pZm9ybXMoKSwkYT1PYS5zaGFkZXIudW5pZm9ybXM7eWIudXNlUHJvZ3JhbShDYi5wcm9ncmFtKSYmKGZiPWFiPVBhPSEwKTtsYS5pZCE9PVFhJiYoUWE9bGEuaWQsYWI9ITApO2lmKFBhfHxwYiE9PVQpe29iLnNldFZhbHVlKFJhLCJwcm9qZWN0aW9uTWF0cml4IixULnByb2plY3Rpb25NYXRyaXgpO2djLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJgpvYi5zZXRWYWx1ZShSYSwibG9nRGVwdGhCdWZGQyIsMi8oTWF0aC5sb2coVC5mYXIrMSkvTWF0aC5MTjIpKTtwYiE9PVQmJihwYj1ULGZiPWFiPSEwKTtpZihsYS5pc1NoYWRlck1hdGVyaWFsfHxsYS5pc01lc2hQaG9uZ01hdGVyaWFsfHxsYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxsYS5lbnZNYXApUGE9b2IubWFwLmNhbWVyYVBvc2l0aW9uLHZvaWQgMCE9PVBhJiZQYS5zZXRWYWx1ZShSYSxCZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oVC5tYXRyaXhXb3JsZCkpOyhsYS5pc01lc2hQaG9uZ01hdGVyaWFsfHxsYS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fGxhLmlzTWVzaEJhc2ljTWF0ZXJpYWx8fGxhLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fGxhLmlzU2hhZGVyTWF0ZXJpYWx8fGxhLnNraW5uaW5nKSYmb2Iuc2V0VmFsdWUoUmEsInZpZXdNYXRyaXgiLFQubWF0cml4V29ybGRJbnZlcnNlKX1pZihsYS5za2lubmluZyYmKG9iLnNldE9wdGlvbmFsKFJhLElhLCJiaW5kTWF0cml4IiksCm9iLnNldE9wdGlvbmFsKFJhLElhLCJiaW5kTWF0cml4SW52ZXJzZSIpLFQ9SWEuc2tlbGV0b24pKWlmKFBhPVQuYm9uZXMsZ2MuZmxvYXRWZXJ0ZXhUZXh0dXJlcyl7aWYodm9pZCAwPT09VC5ib25lVGV4dHVyZSl7UGE9TWF0aC5zcXJ0KDQqUGEubGVuZ3RoKTtQYT1oYi5jZWlsUG93ZXJPZlR3byhQYSk7UGE9TWF0aC5tYXgoUGEsNCk7dmFyIFJjPW5ldyBGbG9hdDMyQXJyYXkoUGEqUGEqNCk7UmMuc2V0KFQuYm9uZU1hdHJpY2VzKTt2YXIgemM9bmV3IEFiKFJjLFBhLFBhLDEwMjMsMTAxNSk7emMubmVlZHNVcGRhdGU9ITA7VC5ib25lTWF0cmljZXM9UmM7VC5ib25lVGV4dHVyZT16YztULmJvbmVUZXh0dXJlU2l6ZT1QYX1vYi5zZXRWYWx1ZShSYSwiYm9uZVRleHR1cmUiLFQuYm9uZVRleHR1cmUsUWMpO29iLnNldFZhbHVlKFJhLCJib25lVGV4dHVyZVNpemUiLFQuYm9uZVRleHR1cmVTaXplKX1lbHNlIG9iLnNldE9wdGlvbmFsKFJhLFQsImJvbmVNYXRyaWNlcyIpO2FiJiYob2Iuc2V0VmFsdWUoUmEsCiJ0b25lTWFwcGluZ0V4cG9zdXJlIixpYS50b25lTWFwcGluZ0V4cG9zdXJlKSxvYi5zZXRWYWx1ZShSYSwidG9uZU1hcHBpbmdXaGl0ZVBvaW50IixpYS50b25lTWFwcGluZ1doaXRlUG9pbnQpLGxhLmxpZ2h0cyYmdGIoJGEsZmIpLFkmJmxhLmZvZyYmbmEoJGEsWSksbGEuaXNNZXNoQmFzaWNNYXRlcmlhbD9kYSgkYSxsYSk6bGEuaXNNZXNoTGFtYmVydE1hdGVyaWFsPyhkYSgkYSxsYSksdGEoJGEsbGEpKTpsYS5pc01lc2hQaG9uZ01hdGVyaWFsPyhkYSgkYSxsYSksbGEuaXNNZXNoVG9vbk1hdGVyaWFsP1RhKCRhLGxhKTpCYSgkYSxsYSkpOmxhLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/KGRhKCRhLGxhKSxsYS5pc01lc2hQaHlzaWNhbE1hdGVyaWFsP0NhKCRhLGxhKTpVYSgkYSxsYSkpOmxhLmlzTWVzaE1hdGNhcE1hdGVyaWFsPyhkYSgkYSxsYSksSGEoJGEsbGEpKTpsYS5pc01lc2hEZXB0aE1hdGVyaWFsPyhkYSgkYSxsYSksRGEoJGEsbGEpKTpsYS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPwooZGEoJGEsbGEpLE1hKCRhLGxhKSk6bGEuaXNNZXNoTm9ybWFsTWF0ZXJpYWw/KGRhKCRhLGxhKSxkYigkYSxsYSkpOmxhLmlzTGluZUJhc2ljTWF0ZXJpYWw/KHJhKCRhLGxhKSxsYS5pc0xpbmVEYXNoZWRNYXRlcmlhbCYmcGEoJGEsbGEpKTpsYS5pc1BvaW50c01hdGVyaWFsP3FhKCRhLGxhKTpsYS5pc1Nwcml0ZU1hdGVyaWFsP3VhKCRhLGxhKTpsYS5pc1NoYWRvd01hdGVyaWFsJiYoJGEuY29sb3IudmFsdWUuY29weShsYS5jb2xvciksJGEub3BhY2l0eS52YWx1ZT1sYS5vcGFjaXR5KSx2b2lkIDAhPT0kYS5sdGNfMSYmKCRhLmx0Y18xLnZhbHVlPVdhLkxUQ18xKSx2b2lkIDAhPT0kYS5sdGNfMiYmKCRhLmx0Y18yLnZhbHVlPVdhLkxUQ18yKSx3ZC51cGxvYWQoUmEsT2EudW5pZm9ybXNMaXN0LCRhLFFjKSk7bGEuaXNTaGFkZXJNYXRlcmlhbCYmITA9PT1sYS51bmlmb3Jtc05lZWRVcGRhdGUmJih3ZC51cGxvYWQoUmEsT2EudW5pZm9ybXNMaXN0LCRhLFFjKSxsYS51bmlmb3Jtc05lZWRVcGRhdGU9CiExKTtsYS5pc1Nwcml0ZU1hdGVyaWFsJiZvYi5zZXRWYWx1ZShSYSwiY2VudGVyIixJYS5jZW50ZXIpO29iLnNldFZhbHVlKFJhLCJtb2RlbFZpZXdNYXRyaXgiLElhLm1vZGVsVmlld01hdHJpeCk7b2Iuc2V0VmFsdWUoUmEsIm5vcm1hbE1hdHJpeCIsSWEubm9ybWFsTWF0cml4KTtvYi5zZXRWYWx1ZShSYSwibW9kZWxNYXRyaXgiLElhLm1hdHJpeFdvcmxkKTtyZXR1cm4gQ2J9ZnVuY3Rpb24gZGEoVCxZKXtULm9wYWNpdHkudmFsdWU9WS5vcGFjaXR5O1kuY29sb3ImJlQuZGlmZnVzZS52YWx1ZS5jb3B5KFkuY29sb3IpO1kuZW1pc3NpdmUmJlQuZW1pc3NpdmUudmFsdWUuY29weShZLmVtaXNzaXZlKS5tdWx0aXBseVNjYWxhcihZLmVtaXNzaXZlSW50ZW5zaXR5KTtZLm1hcCYmKFQubWFwLnZhbHVlPVkubWFwKTtZLmFscGhhTWFwJiYoVC5hbHBoYU1hcC52YWx1ZT1ZLmFscGhhTWFwKTtZLnNwZWN1bGFyTWFwJiYoVC5zcGVjdWxhck1hcC52YWx1ZT1ZLnNwZWN1bGFyTWFwKTtZLmVudk1hcCYmCihULmVudk1hcC52YWx1ZT1ZLmVudk1hcCxULmZsaXBFbnZNYXAudmFsdWU9WS5lbnZNYXAuaXNDdWJlVGV4dHVyZT8tMToxLFQucmVmbGVjdGl2aXR5LnZhbHVlPVkucmVmbGVjdGl2aXR5LFQucmVmcmFjdGlvblJhdGlvLnZhbHVlPVkucmVmcmFjdGlvblJhdGlvLFQubWF4TWlwTGV2ZWwudmFsdWU9aGMuZ2V0KFkuZW52TWFwKS5fX21heE1pcExldmVsKTtZLmxpZ2h0TWFwJiYoVC5saWdodE1hcC52YWx1ZT1ZLmxpZ2h0TWFwLFQubGlnaHRNYXBJbnRlbnNpdHkudmFsdWU9WS5saWdodE1hcEludGVuc2l0eSk7WS5hb01hcCYmKFQuYW9NYXAudmFsdWU9WS5hb01hcCxULmFvTWFwSW50ZW5zaXR5LnZhbHVlPVkuYW9NYXBJbnRlbnNpdHkpO2lmKFkubWFwKXZhciBsYT1ZLm1hcDtlbHNlIFkuc3BlY3VsYXJNYXA/bGE9WS5zcGVjdWxhck1hcDpZLmRpc3BsYWNlbWVudE1hcD9sYT1ZLmRpc3BsYWNlbWVudE1hcDpZLm5vcm1hbE1hcD9sYT1ZLm5vcm1hbE1hcDpZLmJ1bXBNYXA/bGE9WS5idW1wTWFwOgpZLnJvdWdobmVzc01hcD9sYT1ZLnJvdWdobmVzc01hcDpZLm1ldGFsbmVzc01hcD9sYT1ZLm1ldGFsbmVzc01hcDpZLmFscGhhTWFwP2xhPVkuYWxwaGFNYXA6WS5lbWlzc2l2ZU1hcCYmKGxhPVkuZW1pc3NpdmVNYXApO3ZvaWQgMCE9PWxhJiYobGEuaXNXZWJHTFJlbmRlclRhcmdldCYmKGxhPWxhLnRleHR1cmUpLCEwPT09bGEubWF0cml4QXV0b1VwZGF0ZSYmbGEudXBkYXRlTWF0cml4KCksVC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KGxhLm1hdHJpeCkpfWZ1bmN0aW9uIHJhKFQsWSl7VC5kaWZmdXNlLnZhbHVlLmNvcHkoWS5jb2xvcik7VC5vcGFjaXR5LnZhbHVlPVkub3BhY2l0eX1mdW5jdGlvbiBwYShULFkpe1QuZGFzaFNpemUudmFsdWU9WS5kYXNoU2l6ZTtULnRvdGFsU2l6ZS52YWx1ZT1ZLmRhc2hTaXplK1kuZ2FwU2l6ZTtULnNjYWxlLnZhbHVlPVkuc2NhbGV9ZnVuY3Rpb24gcWEoVCxZKXtULmRpZmZ1c2UudmFsdWUuY29weShZLmNvbG9yKTtULm9wYWNpdHkudmFsdWU9Clkub3BhY2l0eTtULnNpemUudmFsdWU9WS5zaXplKmZjO1Quc2NhbGUudmFsdWU9LjUqQmM7VC5tYXAudmFsdWU9WS5tYXA7bnVsbCE9PVkubWFwJiYoITA9PT1ZLm1hcC5tYXRyaXhBdXRvVXBkYXRlJiZZLm1hcC51cGRhdGVNYXRyaXgoKSxULnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkoWS5tYXAubWF0cml4KSl9ZnVuY3Rpb24gdWEoVCxZKXtULmRpZmZ1c2UudmFsdWUuY29weShZLmNvbG9yKTtULm9wYWNpdHkudmFsdWU9WS5vcGFjaXR5O1Qucm90YXRpb24udmFsdWU9WS5yb3RhdGlvbjtULm1hcC52YWx1ZT1ZLm1hcDtudWxsIT09WS5tYXAmJighMD09PVkubWFwLm1hdHJpeEF1dG9VcGRhdGUmJlkubWFwLnVwZGF0ZU1hdHJpeCgpLFQudXZUcmFuc2Zvcm0udmFsdWUuY29weShZLm1hcC5tYXRyaXgpKX1mdW5jdGlvbiBuYShULFkpe1QuZm9nQ29sb3IudmFsdWUuY29weShZLmNvbG9yKTtZLmlzRm9nPyhULmZvZ05lYXIudmFsdWU9WS5uZWFyLFQuZm9nRmFyLnZhbHVlPVkuZmFyKToKWS5pc0ZvZ0V4cDImJihULmZvZ0RlbnNpdHkudmFsdWU9WS5kZW5zaXR5KX1mdW5jdGlvbiB0YShULFkpe1kuZW1pc3NpdmVNYXAmJihULmVtaXNzaXZlTWFwLnZhbHVlPVkuZW1pc3NpdmVNYXApfWZ1bmN0aW9uIEJhKFQsWSl7VC5zcGVjdWxhci52YWx1ZS5jb3B5KFkuc3BlY3VsYXIpO1Quc2hpbmluZXNzLnZhbHVlPU1hdGgubWF4KFkuc2hpbmluZXNzLDFFLTQpO1kuZW1pc3NpdmVNYXAmJihULmVtaXNzaXZlTWFwLnZhbHVlPVkuZW1pc3NpdmVNYXApO1kuYnVtcE1hcCYmKFQuYnVtcE1hcC52YWx1ZT1ZLmJ1bXBNYXAsVC5idW1wU2NhbGUudmFsdWU9WS5idW1wU2NhbGUsMT09PVkuc2lkZSYmKFQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO1kubm9ybWFsTWFwJiYoVC5ub3JtYWxNYXAudmFsdWU9WS5ub3JtYWxNYXAsVC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KFkubm9ybWFsU2NhbGUpLDE9PT1ZLnNpZGUmJlQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO1kuZGlzcGxhY2VtZW50TWFwJiYKKFQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPVkuZGlzcGxhY2VtZW50TWFwLFQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9WS5kaXNwbGFjZW1lbnRTY2FsZSxULmRpc3BsYWNlbWVudEJpYXMudmFsdWU9WS5kaXNwbGFjZW1lbnRCaWFzKX1mdW5jdGlvbiBUYShULFkpe0JhKFQsWSk7WS5ncmFkaWVudE1hcCYmKFQuZ3JhZGllbnRNYXAudmFsdWU9WS5ncmFkaWVudE1hcCl9ZnVuY3Rpb24gVWEoVCxZKXtULnJvdWdobmVzcy52YWx1ZT1ZLnJvdWdobmVzcztULm1ldGFsbmVzcy52YWx1ZT1ZLm1ldGFsbmVzcztZLnJvdWdobmVzc01hcCYmKFQucm91Z2huZXNzTWFwLnZhbHVlPVkucm91Z2huZXNzTWFwKTtZLm1ldGFsbmVzc01hcCYmKFQubWV0YWxuZXNzTWFwLnZhbHVlPVkubWV0YWxuZXNzTWFwKTtZLmVtaXNzaXZlTWFwJiYoVC5lbWlzc2l2ZU1hcC52YWx1ZT1ZLmVtaXNzaXZlTWFwKTtZLmJ1bXBNYXAmJihULmJ1bXBNYXAudmFsdWU9WS5idW1wTWFwLFQuYnVtcFNjYWxlLnZhbHVlPQpZLmJ1bXBTY2FsZSwxPT09WS5zaWRlJiYoVC5idW1wU2NhbGUudmFsdWUqPS0xKSk7WS5ub3JtYWxNYXAmJihULm5vcm1hbE1hcC52YWx1ZT1ZLm5vcm1hbE1hcCxULm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5ub3JtYWxTY2FsZSksMT09PVkuc2lkZSYmVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPVkuZGlzcGxhY2VtZW50Qmlhcyk7WS5lbnZNYXAmJihULmVudk1hcEludGVuc2l0eS52YWx1ZT1ZLmVudk1hcEludGVuc2l0eSl9ZnVuY3Rpb24gQ2EoVCxZKXtVYShULFkpO1QucmVmbGVjdGl2aXR5LnZhbHVlPVkucmVmbGVjdGl2aXR5O1QuY2xlYXJjb2F0LnZhbHVlPVkuY2xlYXJjb2F0O1QuY2xlYXJjb2F0Um91Z2huZXNzLnZhbHVlPVkuY2xlYXJjb2F0Um91Z2huZXNzOwpZLnNoZWVuJiZULnNoZWVuLnZhbHVlLmNvcHkoWS5zaGVlbik7WS5jbGVhcmNvYXROb3JtYWxNYXAmJihULmNsZWFyY29hdE5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5jbGVhcmNvYXROb3JtYWxTY2FsZSksVC5jbGVhcmNvYXROb3JtYWxNYXAudmFsdWU9WS5jbGVhcmNvYXROb3JtYWxNYXAsMT09PVkuc2lkZSYmVC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7VC50cmFuc3BhcmVuY3kudmFsdWU9WS50cmFuc3BhcmVuY3l9ZnVuY3Rpb24gSGEoVCxZKXtZLm1hdGNhcCYmKFQubWF0Y2FwLnZhbHVlPVkubWF0Y2FwKTtZLmJ1bXBNYXAmJihULmJ1bXBNYXAudmFsdWU9WS5idW1wTWFwLFQuYnVtcFNjYWxlLnZhbHVlPVkuYnVtcFNjYWxlLDE9PT1ZLnNpZGUmJihULmJ1bXBTY2FsZS52YWx1ZSo9LTEpKTtZLm5vcm1hbE1hcCYmKFQubm9ybWFsTWFwLnZhbHVlPVkubm9ybWFsTWFwLFQubm9ybWFsU2NhbGUudmFsdWUuY29weShZLm5vcm1hbFNjYWxlKSwxPT09WS5zaWRlJiYKVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPVkuZGlzcGxhY2VtZW50Qmlhcyl9ZnVuY3Rpb24gRGEoVCxZKXtZLmRpc3BsYWNlbWVudE1hcCYmKFQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPVkuZGlzcGxhY2VtZW50TWFwLFQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9WS5kaXNwbGFjZW1lbnRTY2FsZSxULmRpc3BsYWNlbWVudEJpYXMudmFsdWU9WS5kaXNwbGFjZW1lbnRCaWFzKX1mdW5jdGlvbiBNYShULFkpe1kuZGlzcGxhY2VtZW50TWFwJiYoVC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9WS5kaXNwbGFjZW1lbnRNYXAsVC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1ZLmRpc3BsYWNlbWVudFNjYWxlLFQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT0KWS5kaXNwbGFjZW1lbnRCaWFzKTtULnJlZmVyZW5jZVBvc2l0aW9uLnZhbHVlLmNvcHkoWS5yZWZlcmVuY2VQb3NpdGlvbik7VC5uZWFyRGlzdGFuY2UudmFsdWU9WS5uZWFyRGlzdGFuY2U7VC5mYXJEaXN0YW5jZS52YWx1ZT1ZLmZhckRpc3RhbmNlfWZ1bmN0aW9uIGRiKFQsWSl7WS5idW1wTWFwJiYoVC5idW1wTWFwLnZhbHVlPVkuYnVtcE1hcCxULmJ1bXBTY2FsZS52YWx1ZT1ZLmJ1bXBTY2FsZSwxPT09WS5zaWRlJiYoVC5idW1wU2NhbGUudmFsdWUqPS0xKSk7WS5ub3JtYWxNYXAmJihULm5vcm1hbE1hcC52YWx1ZT1ZLm5vcm1hbE1hcCxULm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5ub3JtYWxTY2FsZSksMT09PVkuc2lkZSYmVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPQpZLmRpc3BsYWNlbWVudEJpYXMpfWZ1bmN0aW9uIHRiKFQsWSl7VC5hbWJpZW50TGlnaHRDb2xvci5uZWVkc1VwZGF0ZT1ZO1QubGlnaHRQcm9iZS5uZWVkc1VwZGF0ZT1ZO1QuZGlyZWN0aW9uYWxMaWdodHMubmVlZHNVcGRhdGU9WTtULnBvaW50TGlnaHRzLm5lZWRzVXBkYXRlPVk7VC5zcG90TGlnaHRzLm5lZWRzVXBkYXRlPVk7VC5yZWN0QXJlYUxpZ2h0cy5uZWVkc1VwZGF0ZT1ZO1QuaGVtaXNwaGVyZUxpZ2h0cy5uZWVkc1VwZGF0ZT1ZfWE9YXx8e307dmFyIEthPXZvaWQgMCE9PWEuY2FudmFzP2EuY2FudmFzOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImNhbnZhcyIpLGJiPXZvaWQgMCE9PWEuY29udGV4dD9hLmNvbnRleHQ6bnVsbCxqYj12b2lkIDAhPT1hLmFscGhhP2EuYWxwaGE6ITEsRWI9dm9pZCAwIT09YS5kZXB0aD9hLmRlcHRoOiEwLHhiPXZvaWQgMCE9PWEuc3RlbmNpbD9hLnN0ZW5jaWw6ITAsaGE9dm9pZCAwIT09CmEuYW50aWFsaWFzP2EuYW50aWFsaWFzOiExLG1hPXZvaWQgMCE9PWEucHJlbXVsdGlwbGllZEFscGhhP2EucHJlbXVsdGlwbGllZEFscGhhOiEwLHphPXZvaWQgMCE9PWEucHJlc2VydmVEcmF3aW5nQnVmZmVyP2EucHJlc2VydmVEcmF3aW5nQnVmZmVyOiExLEphPXZvaWQgMCE9PWEucG93ZXJQcmVmZXJlbmNlP2EucG93ZXJQcmVmZXJlbmNlOiJkZWZhdWx0IixZYT12b2lkIDAhPT1hLmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ/YS5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0OiExLE5hPW51bGwsY2I9bnVsbDt0aGlzLmRvbUVsZW1lbnQ9S2E7dGhpcy5kZWJ1Zz17Y2hlY2tTaGFkZXJFcnJvcnM6ITB9O3RoaXMuc29ydE9iamVjdHM9dGhpcy5hdXRvQ2xlYXJTdGVuY2lsPXRoaXMuYXV0b0NsZWFyRGVwdGg9dGhpcy5hdXRvQ2xlYXJDb2xvcj10aGlzLmF1dG9DbGVhcj0hMDt0aGlzLmNsaXBwaW5nUGxhbmVzPVtdO3RoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQ9ITE7dGhpcy5nYW1tYUZhY3Rvcj0KMjt0aGlzLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPXRoaXMuZ2FtbWFPdXRwdXQ9dGhpcy5nYW1tYUlucHV0PSExO3RoaXMudG9uZU1hcHBpbmdXaGl0ZVBvaW50PXRoaXMudG9uZU1hcHBpbmdFeHBvc3VyZT10aGlzLnRvbmVNYXBwaW5nPTE7dGhpcy5tYXhNb3JwaFRhcmdldHM9ODt0aGlzLm1heE1vcnBoTm9ybWFscz00O3ZhciBpYT10aGlzLEdhPSExLExhPW51bGwsbmI9MCxWYT0wLGliPW51bGwsa2I9bnVsbCxRYT0tMTt2YXIgZWI9Yz1udWxsO3ZhciBtYj0hMTt2YXIgcGI9bnVsbCxzYj1udWxsLExiPW5ldyBwLFRiPW5ldyBwLHFjPW51bGwsU2M9S2Eud2lkdGgsQmM9S2EuaGVpZ2h0LGZjPTEseWU9bmV3IHAoMCwwLFNjLEJjKSx4ZT1uZXcgcCgwLDAsU2MsQmMpLFhoPSExLFZoPW5ldyBsYyxBYz1uZXcgeWMsQWc9ITEsV2g9ITEseGY9bmV3IHEsQmQ9bmV3IGs7dHJ5e2piPXthbHBoYTpqYixkZXB0aDpFYixzdGVuY2lsOnhiLGFudGlhbGlhczpoYSxwcmVtdWx0aXBsaWVkQWxwaGE6bWEsCnByZXNlcnZlRHJhd2luZ0J1ZmZlcjp6YSxwb3dlclByZWZlcmVuY2U6SmEsZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDpZYSx4ckNvbXBhdGlibGU6ITB9O0thLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLHQsITEpO0thLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIix2LCExKTt2YXIgUmE9YmJ8fEthLmdldENvbnRleHQoIndlYmdsIixqYil8fEthLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIsamIpO2lmKG51bGw9PT1SYSl7aWYobnVsbCE9PUthLmdldENvbnRleHQoIndlYmdsIikpdGhyb3cgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQgd2l0aCB5b3VyIHNlbGVjdGVkIGF0dHJpYnV0ZXMuIik7dGhyb3cgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQuIik7fXZvaWQgMD09PVJhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCYmKFJhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdD1mdW5jdGlvbigpe3JldHVybntyYW5nZU1pbjoxLApyYW5nZU1heDoxLHByZWNpc2lvbjoxfX0pfWNhdGNoKFQpe3Rocm93IGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrVC5tZXNzYWdlKSxUO312YXIgTWIsZ2MseWIsemQsaGMsUWMseWcsVWgsemUsUmQsemcsQWUsQWQsS2osTGosTWosUGM7ZygpO3ZhciBmZD0idW5kZWZpbmVkIiE9PXR5cGVvZiBuYXZpZ2F0b3ImJiJ4ciJpbiBuYXZpZ2F0b3ImJiJzdXBwb3J0c1Nlc3Npb24iaW4gbmF2aWdhdG9yLnhyP25ldyBKaihpYSxSYSk6bmV3IFNoKGlhKTt0aGlzLnZyPWZkO3ZhciBOaj1uZXcgRWooaWEsemUsZ2MubWF4VGV4dHVyZVNpemUpO3RoaXMuc2hhZG93TWFwPU5qO3RoaXMuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiBSYX07dGhpcy5nZXRDb250ZXh0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBSYS5nZXRDb250ZXh0QXR0cmlidXRlcygpfTt0aGlzLmZvcmNlQ29udGV4dExvc3M9ZnVuY3Rpb24oKXt2YXIgVD1NYi5nZXQoIldFQkdMX2xvc2VfY29udGV4dCIpOwpUJiZULmxvc2VDb250ZXh0KCl9O3RoaXMuZm9yY2VDb250ZXh0UmVzdG9yZT1mdW5jdGlvbigpe3ZhciBUPU1iLmdldCgiV0VCR0xfbG9zZV9jb250ZXh0Iik7VCYmVC5yZXN0b3JlQ29udGV4dCgpfTt0aGlzLmdldFBpeGVsUmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gZmN9O3RoaXMuc2V0UGl4ZWxSYXRpbz1mdW5jdGlvbigpe3ZhciBUPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3ZvaWQgMCE9PVQmJihmYz1ULHRoaXMuc2V0U2l6ZShTYyxCYywhMSkpfTt0aGlzLmdldFNpemU9ZnVuY3Rpb24oVCl7dm9pZCAwPT09VCYmKGNvbnNvbGUud2FybigiV2ViR0xSZW5kZXJlcjogLmdldHNpemUoKSBub3cgcmVxdWlyZXMgYSBWZWN0b3IyIGFzIGFuIGFyZ3VtZW50IiksVD1uZXcgZik7cmV0dXJuIFQuc2V0KFNjLEJjKX07dGhpcy5zZXRTaXplPWZ1bmN0aW9uKFQsWSxsYSl7ZmQuaXNQcmVzZW50aW5nKCk/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDYW4ndCBjaGFuZ2Ugc2l6ZSB3aGlsZSBWUiBkZXZpY2UgaXMgcHJlc2VudGluZy4iKToKKFNjPVQsQmM9WSxLYS53aWR0aD1NYXRoLmZsb29yKFQqZmMpLEthLmhlaWdodD1NYXRoLmZsb29yKFkqZmMpLCExIT09bGEmJihLYS5zdHlsZS53aWR0aD1UKyJweCIsS2Euc3R5bGUuaGVpZ2h0PVkrInB4IiksdGhpcy5zZXRWaWV3cG9ydChULFkpKX07dGhpcy5nZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbihUKXt2b2lkIDA9PT1UJiYoY29uc29sZS53YXJuKCJXZWJHTFJlbmRlcmVyOiAuZ2V0ZHJhd2luZ0J1ZmZlclNpemUoKSBub3cgcmVxdWlyZXMgYSBWZWN0b3IyIGFzIGFuIGFyZ3VtZW50IiksVD1uZXcgZik7cmV0dXJuIFQuc2V0KFNjKmZjLEJjKmZjKS5mbG9vcigpfTt0aGlzLnNldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKFQsWSxsYSl7U2M9VDtCYz1ZO2ZjPWxhO0thLndpZHRoPU1hdGguZmxvb3IoVCpsYSk7S2EuaGVpZ2h0PU1hdGguZmxvb3IoWSpsYSk7dGhpcy5zZXRWaWV3cG9ydChULFkpfTt0aGlzLmdldEN1cnJlbnRWaWV3cG9ydD1mdW5jdGlvbihUKXt2b2lkIDA9PT0KVCYmKGNvbnNvbGUud2FybigiV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRWaWV3cG9ydCgpIG5vdyByZXF1aXJlcyBhIFZlY3RvcjQgYXMgYW4gYXJndW1lbnQiKSxUPW5ldyBwKTtyZXR1cm4gVC5jb3B5KExiKX07dGhpcy5nZXRWaWV3cG9ydD1mdW5jdGlvbihUKXtyZXR1cm4gVC5jb3B5KHllKX07dGhpcy5zZXRWaWV3cG9ydD1mdW5jdGlvbihULFkpeygwKS5pc1ZlY3RvcjQ/eWUuc2V0KCgwKS54LCgwKS55LCgwKS56LCgwKS53KTp5ZS5zZXQoMCwwLFQsWSk7eWIudmlld3BvcnQoTGIuY29weSh5ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpfTt0aGlzLmdldFNjaXNzb3I9ZnVuY3Rpb24oVCl7cmV0dXJuIFQuY29weSh4ZSl9O3RoaXMuc2V0U2Npc3Nvcj1mdW5jdGlvbihULFksbGEsSWEpe1QuaXNWZWN0b3I0P3hlLnNldChULngsVC55LFQueixULncpOnhlLnNldChULFksbGEsSWEpO3liLnNjaXNzb3IoVGIuY29weSh4ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpfTsKdGhpcy5nZXRTY2lzc29yVGVzdD1mdW5jdGlvbigpe3JldHVybiBYaH07dGhpcy5zZXRTY2lzc29yVGVzdD1mdW5jdGlvbihUKXt5Yi5zZXRTY2lzc29yVGVzdChYaD1UKX07dGhpcy5nZXRDbGVhckNvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIEFkLmdldENsZWFyQ29sb3IoKX07dGhpcy5zZXRDbGVhckNvbG9yPWZ1bmN0aW9uKCl7QWQuc2V0Q2xlYXJDb2xvci5hcHBseShBZCxhcmd1bWVudHMpfTt0aGlzLmdldENsZWFyQWxwaGE9ZnVuY3Rpb24oKXtyZXR1cm4gQWQuZ2V0Q2xlYXJBbHBoYSgpfTt0aGlzLnNldENsZWFyQWxwaGE9ZnVuY3Rpb24oKXtBZC5zZXRDbGVhckFscGhhLmFwcGx5KEFkLGFyZ3VtZW50cyl9O3RoaXMuY2xlYXI9ZnVuY3Rpb24oVCxZLGxhKXt2YXIgSWE9MDtpZih2b2lkIDA9PT1UfHxUKUlhfD0xNjM4NDtpZih2b2lkIDA9PT1ZfHxZKUlhfD0yNTY7aWYodm9pZCAwPT09bGF8fGxhKUlhfD0xMDI0O1JhLmNsZWFyKElhKX07dGhpcy5jbGVhckNvbG9yPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMCwKITEsITEpfTt0aGlzLmNsZWFyRGVwdGg9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCExLCEwLCExKX07dGhpcy5jbGVhclN0ZW5jaWw9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCExLCExLCEwKX07dGhpcy5kaXNwb3NlPWZ1bmN0aW9uKCl7S2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsdCwhMSk7S2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLHYsITEpO3pnLmRpc3Bvc2UoKTtBZS5kaXNwb3NlKCk7aGMuZGlzcG9zZSgpO3plLmRpc3Bvc2UoKTtmZC5kaXNwb3NlKCk7Qmcuc3RvcCgpfTt0aGlzLnJlbmRlckJ1ZmZlckltbWVkaWF0ZT1mdW5jdGlvbihULFkpe3liLmluaXRBdHRyaWJ1dGVzKCk7dmFyIGxhPWhjLmdldChUKTtULmhhc1Bvc2l0aW9ucyYmIWxhLnBvc2l0aW9uJiYobGEucG9zaXRpb249UmEuY3JlYXRlQnVmZmVyKCkpO1QuaGFzTm9ybWFscyYmIWxhLm5vcm1hbCYmKGxhLm5vcm1hbD1SYS5jcmVhdGVCdWZmZXIoKSk7ClQuaGFzVXZzJiYhbGEudXYmJihsYS51dj1SYS5jcmVhdGVCdWZmZXIoKSk7VC5oYXNDb2xvcnMmJiFsYS5jb2xvciYmKGxhLmNvbG9yPVJhLmNyZWF0ZUJ1ZmZlcigpKTtZPVkuZ2V0QXR0cmlidXRlcygpO1QuaGFzUG9zaXRpb25zJiYoUmEuYmluZEJ1ZmZlcigzNDk2MixsYS5wb3NpdGlvbiksUmEuYnVmZmVyRGF0YSgzNDk2MixULnBvc2l0aW9uQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLnBvc2l0aW9uKSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkucG9zaXRpb24sMyw1MTI2LCExLDAsMCkpO1QuaGFzTm9ybWFscyYmKFJhLmJpbmRCdWZmZXIoMzQ5NjIsbGEubm9ybWFsKSxSYS5idWZmZXJEYXRhKDM0OTYyLFQubm9ybWFsQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLm5vcm1hbCksUmEudmVydGV4QXR0cmliUG9pbnRlcihZLm5vcm1hbCwzLDUxMjYsITEsMCwwKSk7VC5oYXNVdnMmJihSYS5iaW5kQnVmZmVyKDM0OTYyLGxhLnV2KSxSYS5idWZmZXJEYXRhKDM0OTYyLApULnV2QXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLnV2KSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkudXYsMiw1MTI2LCExLDAsMCkpO1QuaGFzQ29sb3JzJiYoUmEuYmluZEJ1ZmZlcigzNDk2MixsYS5jb2xvciksUmEuYnVmZmVyRGF0YSgzNDk2MixULmNvbG9yQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLmNvbG9yKSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkuY29sb3IsMyw1MTI2LCExLDAsMCkpO3liLmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCk7UmEuZHJhd0FycmF5cyg0LDAsVC5jb3VudCk7VC5jb3VudD0wfTt0aGlzLnJlbmRlckJ1ZmZlckRpcmVjdD1mdW5jdGlvbihULFksbGEsSWEsT2EsYWIpe3liLnNldE1hdGVyaWFsKElhLE9hLmlzTWVzaCYmMD5PYS5tYXRyaXhXb3JsZC5kZXRlcm1pbmFudCgpKTt2YXIgUGE9ZWEoVCxZLElhLE9hKSxmYj0hMTtpZihjIT09bGEuaWR8fGViIT09UGEuaWR8fG1iIT09KCEwPT09SWEud2lyZWZyYW1lKSljPQpsYS5pZCxlYj1QYS5pZCxtYj0hMD09PUlhLndpcmVmcmFtZSxmYj0hMDtPYS5tb3JwaFRhcmdldEluZmx1ZW5jZXMmJihLai51cGRhdGUoT2EsbGEsSWEsUGEpLGZiPSEwKTt2YXIgQ2I9bGEuaW5kZXgsb2I9bGEuYXR0cmlidXRlcy5wb3NpdGlvbjtZPTE7ITA9PT1JYS53aXJlZnJhbWUmJihDYj1VaC5nZXRXaXJlZnJhbWVBdHRyaWJ1dGUobGEpLFk9Mik7VD1MajtpZihudWxsIT09Q2Ipe3ZhciAkYT15Zy5nZXQoQ2IpO1Q9TWo7VC5zZXRJbmRleCgkYSl9ZmImJihNKElhLFBhLGxhKSxudWxsIT09Q2ImJlJhLmJpbmRCdWZmZXIoMzQ5NjMsJGEuYnVmZmVyKSk7JGE9SW5maW5pdHk7bnVsbCE9PUNiPyRhPUNiLmNvdW50OnZvaWQgMCE9PW9iJiYoJGE9b2IuY291bnQpO29iPWxhLmRyYXdSYW5nZS5zdGFydCpZO1BhPW51bGwhPT1hYj9hYi5zdGFydCpZOjA7Q2I9TWF0aC5tYXgob2IsUGEpO2FiPU1hdGgubWF4KDAsTWF0aC5taW4oJGEsb2IrbGEuZHJhd1JhbmdlLmNvdW50KlksUGErCihudWxsIT09YWI/YWIuY291bnQqWTpJbmZpbml0eSkpLTEtQ2IrMSk7aWYoMCE9PWFiKXtpZihPYS5pc01lc2gpaWYoITA9PT1JYS53aXJlZnJhbWUpeWIuc2V0TGluZVdpZHRoKElhLndpcmVmcmFtZUxpbmV3aWR0aCplKCkpLFQuc2V0TW9kZSgxKTtlbHNlIHN3aXRjaChPYS5kcmF3TW9kZSl7Y2FzZSAwOlQuc2V0TW9kZSg0KTticmVhaztjYXNlIDE6VC5zZXRNb2RlKDUpO2JyZWFrO2Nhc2UgMjpULnNldE1vZGUoNil9ZWxzZSBPYS5pc0xpbmU/KElhPUlhLmxpbmV3aWR0aCx2b2lkIDA9PT1JYSYmKElhPTEpLHliLnNldExpbmVXaWR0aChJYSplKCkpLE9hLmlzTGluZVNlZ21lbnRzP1Quc2V0TW9kZSgxKTpPYS5pc0xpbmVMb29wP1Quc2V0TW9kZSgyKTpULnNldE1vZGUoMykpOk9hLmlzUG9pbnRzP1Quc2V0TW9kZSgwKTpPYS5pc1Nwcml0ZSYmVC5zZXRNb2RlKDQpO2xhJiZsYS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PzA8bGEubWF4SW5zdGFuY2VkQ291bnQmJlQucmVuZGVySW5zdGFuY2VzKGxhLApDYixhYik6VC5yZW5kZXIoQ2IsYWIpfX07dGhpcy5jb21waWxlPWZ1bmN0aW9uKFQsWSl7Y2I9QWUuZ2V0KFQsWSk7Y2IuaW5pdCgpO1QudHJhdmVyc2UoZnVuY3Rpb24obGEpe2xhLmlzTGlnaHQmJihjYi5wdXNoTGlnaHQobGEpLGxhLmNhc3RTaGFkb3cmJmNiLnB1c2hTaGFkb3cobGEpKX0pO2NiLnNldHVwTGlnaHRzKFkpO1QudHJhdmVyc2UoZnVuY3Rpb24obGEpe2lmKGxhLm1hdGVyaWFsKWlmKEFycmF5LmlzQXJyYXkobGEubWF0ZXJpYWwpKWZvcih2YXIgSWE9MDtJYTxsYS5tYXRlcmlhbC5sZW5ndGg7SWErKylWKGxhLm1hdGVyaWFsW0lhXSxULmZvZyxsYSk7ZWxzZSBWKGxhLm1hdGVyaWFsLFQuZm9nLGxhKX0pfTt2YXIgWWg9bnVsbCxCZz1uZXcgZWM7Qmcuc2V0QW5pbWF0aW9uTG9vcChmdW5jdGlvbihUKXtmZC5pc1ByZXNlbnRpbmcoKXx8WWgmJlloKFQpfSk7InVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93JiZCZy5zZXRDb250ZXh0KHdpbmRvdyk7dGhpcy5zZXRBbmltYXRpb25Mb29wPQpmdW5jdGlvbihUKXtZaD1UO2ZkLnNldEFuaW1hdGlvbkxvb3AoVCk7Qmcuc3RhcnQoKX07dGhpcy5yZW5kZXI9ZnVuY3Rpb24oVCxZLGxhLElhKXtpZih2b2lkIDAhPT1sYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlbmRlcigpOiB0aGUgcmVuZGVyVGFyZ2V0IGFyZ3VtZW50IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuc2V0UmVuZGVyVGFyZ2V0KCkgaW5zdGVhZC4iKTt2YXIgT2E9bGF9aWYodm9pZCAwIT09SWEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZW5kZXIoKTogdGhlIGZvcmNlQ2xlYXIgYXJndW1lbnQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5jbGVhcigpIGluc3RlYWQuIik7dmFyIGFiPUlhfVkmJlkuaXNDYW1lcmE/R2F8fChlYj1jPW51bGwsbWI9ITEsUWE9LTEscGI9bnVsbCwhMD09PVQuYXV0b1VwZGF0ZSYmVC51cGRhdGVNYXRyaXhXb3JsZCgpLG51bGw9PT1ZLnBhcmVudCYmWS51cGRhdGVNYXRyaXhXb3JsZCgpLGZkLmVuYWJsZWQmJgooWT1mZC5nZXRDYW1lcmEoWSkpLGNiPUFlLmdldChULFkpLGNiLmluaXQoKSxULm9uQmVmb3JlUmVuZGVyKGlhLFQsWSxPYXx8aWIpLHhmLm11bHRpcGx5TWF0cmljZXMoWS5wcm9qZWN0aW9uTWF0cml4LFkubWF0cml4V29ybGRJbnZlcnNlKSxWaC5zZXRGcm9tTWF0cml4KHhmKSxXaD10aGlzLmxvY2FsQ2xpcHBpbmdFbmFibGVkLEFnPUFjLmluaXQodGhpcy5jbGlwcGluZ1BsYW5lcyxXaCxZKSxOYT16Zy5nZXQoVCxZKSxOYS5pbml0KCksUChULFksMCxpYS5zb3J0T2JqZWN0cyksITA9PT1pYS5zb3J0T2JqZWN0cyYmTmEuc29ydCgpLEFnJiZBYy5iZWdpblNoYWRvd3MoKSxOai5yZW5kZXIoY2Iuc3RhdGUuc2hhZG93c0FycmF5LFQsWSksY2Iuc2V0dXBMaWdodHMoWSksQWcmJkFjLmVuZFNoYWRvd3MoKSx0aGlzLmluZm8uYXV0b1Jlc2V0JiZ0aGlzLmluZm8ucmVzZXQoKSx2b2lkIDAhPT1PYSYmdGhpcy5zZXRSZW5kZXJUYXJnZXQoT2EpLEFkLnJlbmRlcihOYSxULFksYWIpLGxhPQpOYS5vcGFxdWUsSWE9TmEudHJhbnNwYXJlbnQsVC5vdmVycmlkZU1hdGVyaWFsPyhPYT1ULm92ZXJyaWRlTWF0ZXJpYWwsbGEubGVuZ3RoJiZRKGxhLFQsWSxPYSksSWEubGVuZ3RoJiZRKElhLFQsWSxPYSkpOihsYS5sZW5ndGgmJlEobGEsVCxZKSxJYS5sZW5ndGgmJlEoSWEsVCxZKSksbnVsbCE9PWliJiYoUWMudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKGliKSxRYy51cGRhdGVNdWx0aXNhbXBsZVJlbmRlclRhcmdldChpYikpLHliLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCkseWIuYnVmZmVycy5kZXB0aC5zZXRNYXNrKCEwKSx5Yi5idWZmZXJzLmNvbG9yLnNldE1hc2soITApLHliLnNldFBvbHlnb25PZmZzZXQoITEpLGZkLmVuYWJsZWQmJmZkLnN1Ym1pdEZyYW1lKCksY2I9TmE9bnVsbCk6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZW5kZXI6IGNhbWVyYSBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuQ2FtZXJhLiIpfTt0aGlzLnNldEZyYW1lYnVmZmVyPQpmdW5jdGlvbihUKXtMYSE9PVQmJlJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxUKTtMYT1UfTt0aGlzLmdldEFjdGl2ZUN1YmVGYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ifTt0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIFZhfTt0aGlzLmdldFJlbmRlclRhcmdldD1mdW5jdGlvbigpe3JldHVybiBpYn07dGhpcy5zZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24oVCxZLGxhKXtpYj1UO25iPVk7VmE9bGE7VCYmdm9pZCAwPT09aGMuZ2V0KFQpLl9fd2ViZ2xGcmFtZWJ1ZmZlciYmUWMuc2V0dXBSZW5kZXJUYXJnZXQoVCk7dmFyIElhPUxhLE9hPSExO1Q/KElhPWhjLmdldChUKS5fX3dlYmdsRnJhbWVidWZmZXIsVC5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZT8oSWE9SWFbWXx8MF0sT2E9ITApOklhPVQuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P2hjLmdldChUKS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXI6SWEsTGIuY29weShULnZpZXdwb3J0KSwKVGIuY29weShULnNjaXNzb3IpLHFjPVQuc2Npc3NvclRlc3QpOihMYi5jb3B5KHllKS5tdWx0aXBseVNjYWxhcihmYykuZmxvb3IoKSxUYi5jb3B5KHhlKS5tdWx0aXBseVNjYWxhcihmYykuZmxvb3IoKSxxYz1YaCk7a2IhPT1JYSYmKFJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxJYSksa2I9SWEpO3liLnZpZXdwb3J0KExiKTt5Yi5zY2lzc29yKFRiKTt5Yi5zZXRTY2lzc29yVGVzdChxYyk7T2EmJihUPWhjLmdldChULnRleHR1cmUpLFJhLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM0MDY5KyhZfHwwKSxULl9fd2ViZ2xUZXh0dXJlLGxhfHwwKSl9O3RoaXMucmVhZFJlbmRlclRhcmdldFBpeGVscz1mdW5jdGlvbihULFksbGEsSWEsT2EsYWIsUGEpe2lmKFQmJlQuaXNXZWJHTFJlbmRlclRhcmdldCl7dmFyIGZiPWhjLmdldChUKS5fX3dlYmdsRnJhbWVidWZmZXI7VC5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZSYmdm9pZCAwIT09UGEmJihmYj1mYltQYV0pO2lmKGZiKXtQYT0KITE7ZmIhPT1rYiYmKFJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxmYiksUGE9ITApO3RyeXt2YXIgQ2I9VC50ZXh0dXJlLG9iPUNiLmZvcm1hdCwkYT1DYi50eXBlOzEwMjMhPT1vYiYmUGMuY29udmVydChvYikhPT1SYS5nZXRQYXJhbWV0ZXIoMzU3MzkpP2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBpbiBSR0JBIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQgZm9ybWF0LiIpOjEwMDk9PT0kYXx8UGMuY29udmVydCgkYSk9PT1SYS5nZXRQYXJhbWV0ZXIoMzU3MzgpfHwxMDE1PT09JGEmJihnYy5pc1dlYkdMMnx8TWIuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdCIpfHxNYi5nZXQoIldFQkdMX2NvbG9yX2J1ZmZlcl9mbG9hdCIpKXx8MTAxNj09PSRhJiYoZ2MuaXNXZWJHTDI/TWIuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0Iik6TWIuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKSk/CjM2MDUzPT09UmEuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk/MDw9WSYmWTw9VC53aWR0aC1JYSYmMDw9bGEmJmxhPD1ULmhlaWdodC1PYSYmUmEucmVhZFBpeGVscyhZLGxhLElhLE9hLFBjLmNvbnZlcnQob2IpLFBjLmNvbnZlcnQoJGEpLGFiKTpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlYWRQaXhlbHMgZnJvbSByZW5kZXJUYXJnZXQgZmFpbGVkLiBGcmFtZWJ1ZmZlciBub3QgY29tcGxldGUuIik6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IGluIFVuc2lnbmVkQnl0ZVR5cGUgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0eXBlLiIpfWZpbmFsbHl7UGEmJlJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxrYil9fX1lbHNlIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBUSFJFRS5XZWJHTFJlbmRlclRhcmdldC4iKX07CnRoaXMuY29weUZyYW1lYnVmZmVyVG9UZXh0dXJlPWZ1bmN0aW9uKFQsWSxsYSl7dmFyIElhPVkuaW1hZ2Uud2lkdGgsT2E9WS5pbWFnZS5oZWlnaHQsYWI9UGMuY29udmVydChZLmZvcm1hdCk7UWMuc2V0VGV4dHVyZTJEKFksMCk7UmEuY29weVRleEltYWdlMkQoMzU1MyxsYXx8MCxhYixULngsVC55LElhLE9hLDApfTt0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlPWZ1bmN0aW9uKFQsWSxsYSxJYSl7dmFyIE9hPVkuaW1hZ2Uud2lkdGgsYWI9WS5pbWFnZS5oZWlnaHQsUGE9UGMuY29udmVydChsYS5mb3JtYXQpLGZiPVBjLmNvbnZlcnQobGEudHlwZSk7UWMuc2V0VGV4dHVyZTJEKGxhLDApO1kuaXNEYXRhVGV4dHVyZT9SYS50ZXhTdWJJbWFnZTJEKDM1NTMsSWF8fDAsVC54LFQueSxPYSxhYixQYSxmYixZLmltYWdlLmRhdGEpOlJhLnRleFN1YkltYWdlMkQoMzU1MyxJYXx8MCxULngsVC55LFBhLGZiLFkuaW1hZ2UpfTsidW5kZWZpbmVkIiE9PXR5cGVvZiBfX1RIUkVFX0RFVlRPT0xTX18mJgpfX1RIUkVFX0RFVlRPT0xTX18uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm9ic2VydmUiLHtkZXRhaWw6dGhpc30pKX1mdW5jdGlvbiBDZyhhLGMpe3RoaXMubmFtZT0iIjt0aGlzLmNvbG9yPW5ldyBIKGEpO3RoaXMuZGVuc2l0eT12b2lkIDAhPT1jP2M6Mi41RS00fWZ1bmN0aW9uIERnKGEsYyxlKXt0aGlzLm5hbWU9IiI7dGhpcy5jb2xvcj1uZXcgSChhKTt0aGlzLm5lYXI9dm9pZCAwIT09Yz9jOjE7dGhpcy5mYXI9dm9pZCAwIT09ZT9lOjFFM31mdW5jdGlvbiBTZChhLGMpe3RoaXMuYXJyYXk9YTt0aGlzLnN0cmlkZT1jO3RoaXMuY291bnQ9dm9pZCAwIT09YT9hLmxlbmd0aC9jOjA7dGhpcy5keW5hbWljPSExO3RoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfTt0aGlzLnZlcnNpb249MH1mdW5jdGlvbiB5ZihhLGMsZSxnKXt0aGlzLmRhdGE9YTt0aGlzLml0ZW1TaXplPWM7dGhpcy5vZmZzZXQ9ZTt0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1nfWZ1bmN0aW9uIENkKGEpe1MuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJTcHJpdGVNYXRlcmlhbCI7dGhpcy5jb2xvcj1uZXcgSCgxNjc3NzIxNSk7dGhpcy5tYXA9bnVsbDt0aGlzLnJvdGF0aW9uPTA7dGhpcy5zaXplQXR0ZW51YXRpb249ITA7dGhpcy5saWdodHM9ITE7dGhpcy50cmFuc3BhcmVudD0hMDt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiB6ZihhKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJTcHJpdGUiO2lmKHZvaWQgMD09PUNlKXtDZT1uZXcgdmE7dmFyIGM9bmV3IFNkKG5ldyBGbG9hdDMyQXJyYXkoWy0uNSwtLjUsMCwwLDAsLjUsLS41LDAsMSwwLC41LC41LDAsMSwxLC0uNSwuNSwwLDAsMV0pLDUpO0NlLnNldEluZGV4KFswLDEsMiwwLDIsM10pO0NlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyB5ZihjLDMsMCwhMSkpO0NlLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyB5ZihjLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9Q2U7dGhpcy5tYXRlcmlhbD12b2lkIDAhPT1hP2E6bmV3IENkO3RoaXMuY2VudGVyPW5ldyBmKC41LAouNSl9ZnVuY3Rpb24gRWcoYSxjLGUsZyx0LHYpe0RlLnN1YlZlY3RvcnMoYSxlKS5hZGRTY2FsYXIoLjUpLm11bHRpcGx5KGcpO3ZvaWQgMCE9PXQ/KEFmLng9dipEZS54LXQqRGUueSxBZi55PXQqRGUueCt2KkRlLnkpOkFmLmNvcHkoRGUpO2EuY29weShjKTthLngrPUFmLng7YS55Kz1BZi55O2EuYXBwbHlNYXRyaXg0KE9qKX1mdW5jdGlvbiBCZigpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxPRCI7T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7bGV2ZWxzOntlbnVtZXJhYmxlOiEwLHZhbHVlOltdfX0pO3RoaXMuYXV0b1VwZGF0ZT0hMH1mdW5jdGlvbiBDZihhLGMpe2EmJmEuaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2ggbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTt5YS5jYWxsKHRoaXMsYSxjKTt0aGlzLnR5cGU9IlNraW5uZWRNZXNoIjt0aGlzLmJpbmRNb2RlPQoiYXR0YWNoZWQiO3RoaXMuYmluZE1hdHJpeD1uZXcgcTt0aGlzLmJpbmRNYXRyaXhJbnZlcnNlPW5ldyBxfWZ1bmN0aW9uIEZnKGEsYyl7YT1hfHxbXTt0aGlzLmJvbmVzPWEuc2xpY2UoMCk7dGhpcy5ib25lTWF0cmljZXM9bmV3IEZsb2F0MzJBcnJheSgxNip0aGlzLmJvbmVzLmxlbmd0aCk7aWYodm9pZCAwPT09Yyl0aGlzLmNhbGN1bGF0ZUludmVyc2VzKCk7ZWxzZSBpZih0aGlzLmJvbmVzLmxlbmd0aD09PWMubGVuZ3RoKXRoaXMuYm9uZUludmVyc2VzPWMuc2xpY2UoMCk7ZWxzZSBmb3IoY29uc29sZS53YXJuKCJUSFJFRS5Ta2VsZXRvbiBib25lSW52ZXJzZXMgaXMgdGhlIHdyb25nIGxlbmd0aC4iKSx0aGlzLmJvbmVJbnZlcnNlcz1bXSxhPTAsYz10aGlzLmJvbmVzLmxlbmd0aDthPGM7YSsrKXRoaXMuYm9uZUludmVyc2VzLnB1c2gobmV3IHEpfWZ1bmN0aW9uIFpoKCl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQm9uZSJ9ZnVuY3Rpb24gRmIoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0KIkxpbmVCYXNpY01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmxpbmV3aWR0aD0xO3RoaXMubGluZWpvaW49dGhpcy5saW5lY2FwPSJyb3VuZCI7dGhpcy5saWdodHM9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gWGIoYSxjLGUpezE9PT1lJiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lOiBwYXJhbWV0ZXIgVEhSRUUuTGluZVBpZWNlcyBubyBsb25nZXIgc3VwcG9ydGVkLiBVc2UgVEhSRUUuTGluZVNlZ21lbnRzIGluc3RlYWQuIik7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTGluZSI7dGhpcy5nZW9tZXRyeT12b2lkIDAhPT1hP2E6bmV3IHZhO3RoaXMubWF0ZXJpYWw9dm9pZCAwIT09Yz9jOm5ldyBGYih7Y29sb3I6MTY3NzcyMTUqTWF0aC5yYW5kb20oKX0pfWZ1bmN0aW9uIEliKGEsYyl7WGIuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJMaW5lU2VnbWVudHMifWZ1bmN0aW9uIEdnKGEsYyl7WGIuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPQoiTGluZUxvb3AifWZ1bmN0aW9uIENjKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLm1hcD1udWxsO3RoaXMuc2l6ZT0xO3RoaXMuc2l6ZUF0dGVudWF0aW9uPSEwO3RoaXMubGlnaHRzPXRoaXMubW9ycGhUYXJnZXRzPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIEVlKGEsYyl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUG9pbnRzIjt0aGlzLmdlb21ldHJ5PXZvaWQgMCE9PWE/YTpuZXcgdmE7dGhpcy5tYXRlcmlhbD12b2lkIDAhPT1jP2M6bmV3IENjKHtjb2xvcjoxNjc3NzIxNSpNYXRoLnJhbmRvbSgpfSk7dGhpcy51cGRhdGVNb3JwaFRhcmdldHMoKX1mdW5jdGlvbiAkaChhLGMsZSxnLHQsdix6KXt2YXIgRT1haS5kaXN0YW5jZVNxVG9Qb2ludChhKTtFPGUmJihlPW5ldyBrLGFpLmNsb3Nlc3RQb2ludFRvUG9pbnQoYSxlKSxlLmFwcGx5TWF0cml4NChnKSxhPXQucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKGUpLAphPHQubmVhcnx8YT50LmZhcnx8di5wdXNoKHtkaXN0YW5jZTphLGRpc3RhbmNlVG9SYXk6TWF0aC5zcXJ0KEUpLHBvaW50OmUsaW5kZXg6YyxmYWNlOm51bGwsb2JqZWN0Onp9KSl9ZnVuY3Rpb24gYmkoYSxjLGUsZyx0LHYseixFLEYpe2wuY2FsbCh0aGlzLGEsYyxlLGcsdCx2LHosRSxGKTt0aGlzLmZvcm1hdD12b2lkIDAhPT16P3o6MTAyMjt0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT12P3Y6MTAwNjt0aGlzLm1hZ0ZpbHRlcj12b2lkIDAhPT10P3Q6MTAwNjt0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX1mdW5jdGlvbiBGZShhLGMsZSxnLHQsdix6LEUsRixJLE0sUCl7bC5jYWxsKHRoaXMsbnVsbCx2LHosRSxGLEksZyx0LE0sUCk7dGhpcy5pbWFnZT17d2lkdGg6YyxoZWlnaHQ6ZX07dGhpcy5taXBtYXBzPWE7dGhpcy5nZW5lcmF0ZU1pcG1hcHM9dGhpcy5mbGlwWT0hMX1mdW5jdGlvbiBEZihhLGMsZSxnLHQsdix6LEUsRil7bC5jYWxsKHRoaXMsYSxjLGUsZyx0LHYseixFLEYpO3RoaXMubmVlZHNVcGRhdGU9CiEwfWZ1bmN0aW9uIEVmKGEsYyxlLGcsdCx2LHosRSxGLEkpe0k9dm9pZCAwIT09ST9JOjEwMjY7aWYoMTAyNiE9PUkmJjEwMjchPT1JKXRocm93IEVycm9yKCJEZXB0aFRleHR1cmUgZm9ybWF0IG11c3QgYmUgZWl0aGVyIFRIUkVFLkRlcHRoRm9ybWF0IG9yIFRIUkVFLkRlcHRoU3RlbmNpbEZvcm1hdCIpO3ZvaWQgMD09PWUmJjEwMjY9PT1JJiYoZT0xMDEyKTt2b2lkIDA9PT1lJiYxMDI3PT09SSYmKGU9MTAyMCk7bC5jYWxsKHRoaXMsbnVsbCxnLHQsdix6LEUsSSxlLEYpO3RoaXMuaW1hZ2U9e3dpZHRoOmEsaGVpZ2h0OmN9O3RoaXMubWFnRmlsdGVyPXZvaWQgMCE9PXo/ejoxMDAzO3RoaXMubWluRmlsdGVyPXZvaWQgMCE9PUU/RToxMDAzO3RoaXMuZ2VuZXJhdGVNaXBtYXBzPXRoaXMuZmxpcFk9ITF9ZnVuY3Rpb24gR2UoYSl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IldpcmVmcmFtZUdlb21ldHJ5Ijt2YXIgYz1bXSxlLGcsdCx2PVswLDBdLHo9e30sRT1bImEiLCJiIiwiYyJdOwppZihhJiZhLmlzR2VvbWV0cnkpe3ZhciBGPWEuZmFjZXM7dmFyIEk9MDtmb3IoZz1GLmxlbmd0aDtJPGc7SSsrKXt2YXIgTT1GW0ldO2ZvcihlPTA7Mz5lO2UrKyl7dmFyIFA9TVtFW2VdXTt2YXIgUT1NW0VbKGUrMSklM11dO3ZbMF09TWF0aC5taW4oUCxRKTt2WzFdPU1hdGgubWF4KFAsUSk7UD12WzBdKyIsIit2WzFdO3ZvaWQgMD09PXpbUF0mJih6W1BdPXtpbmRleDE6dlswXSxpbmRleDI6dlsxXX0pfX1mb3IoUCBpbiB6KUk9eltQXSxFPWEudmVydGljZXNbSS5pbmRleDFdLGMucHVzaChFLngsRS55LEUueiksRT1hLnZlcnRpY2VzW0kuaW5kZXgyXSxjLnB1c2goRS54LEUueSxFLnopfWVsc2UgaWYoYSYmYS5pc0J1ZmZlckdlb21ldHJ5KWlmKEU9bmV3IGssbnVsbCE9PWEuaW5kZXgpe0Y9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uO009YS5pbmRleDt2YXIgVT1hLmdyb3VwczswPT09VS5sZW5ndGgmJihVPVt7c3RhcnQ6MCxjb3VudDpNLmNvdW50LG1hdGVyaWFsSW5kZXg6MH1dKTsKYT0wO2Zvcih0PVUubGVuZ3RoO2E8dDsrK2EpZm9yKEk9VVthXSxlPUkuc3RhcnQsZz1JLmNvdW50LEk9ZSxnPWUrZztJPGc7SSs9Mylmb3IoZT0wOzM+ZTtlKyspUD1NLmdldFgoSStlKSxRPU0uZ2V0WChJKyhlKzEpJTMpLHZbMF09TWF0aC5taW4oUCxRKSx2WzFdPU1hdGgubWF4KFAsUSksUD12WzBdKyIsIit2WzFdLHZvaWQgMD09PXpbUF0mJih6W1BdPXtpbmRleDE6dlswXSxpbmRleDI6dlsxXX0pO2ZvcihQIGluIHopST16W1BdLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLEkuaW5kZXgxKSxjLnB1c2goRS54LEUueSxFLnopLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLEkuaW5kZXgyKSxjLnB1c2goRS54LEUueSxFLnopfWVsc2UgZm9yKEY9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uLEk9MCxnPUYuY291bnQvMztJPGc7SSsrKWZvcihlPTA7Mz5lO2UrKyl6PTMqSStlLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLHopLGMucHVzaChFLngsRS55LEUueiksej0zKkkrKGUrMSklMyxFLmZyb21CdWZmZXJBdHRyaWJ1dGUoRiwKeiksYy5wdXNoKEUueCxFLnksRS56KTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShjLDMpKX1mdW5jdGlvbiBGZihhLGMsZSl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBhcmFtZXRyaWNHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtmdW5jOmEsc2xpY2VzOmMsc3RhY2tzOmV9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBIZShhLGMsZSkpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIEhlKGEsYyxlKXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e2Z1bmM6YSxzbGljZXM6YyxzdGFja3M6ZX07dmFyIGc9W10sdD1bXSx2PVtdLHo9W10sRT1uZXcgayxGPW5ldyBrLEk9bmV3IGssTT1uZXcgayxQPW5ldyBrLFEsVTszPmEubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5QYXJhbWV0cmljR2VvbWV0cnk6IEZ1bmN0aW9uIG11c3Qgbm93IG1vZGlmeSBhIFZlY3RvcjMgYXMgdGhpcmQgcGFyYW1ldGVyLiIpOwp2YXIgVj1jKzE7Zm9yKFE9MDtRPD1lO1ErKyl7dmFyIGVhPVEvZTtmb3IoVT0wO1U8PWM7VSsrKXt2YXIgZGE9VS9jO2EoZGEsZWEsRik7dC5wdXNoKEYueCxGLnksRi56KTswPD1kYS0xRS01PyhhKGRhLTFFLTUsZWEsSSksTS5zdWJWZWN0b3JzKEYsSSkpOihhKGRhKzFFLTUsZWEsSSksTS5zdWJWZWN0b3JzKEksRikpOzA8PWVhLTFFLTU/KGEoZGEsZWEtMUUtNSxJKSxQLnN1YlZlY3RvcnMoRixJKSk6KGEoZGEsZWErMUUtNSxJKSxQLnN1YlZlY3RvcnMoSSxGKSk7RS5jcm9zc1ZlY3RvcnMoTSxQKS5ub3JtYWxpemUoKTt2LnB1c2goRS54LEUueSxFLnopO3oucHVzaChkYSxlYSl9fWZvcihRPTA7UTxlO1ErKylmb3IoVT0wO1U8YztVKyspYT1RKlYrVSsxLEU9KFErMSkqVitVKzEsRj0oUSsxKSpWK1UsZy5wdXNoKFEqVitVLGEsRiksZy5wdXNoKGEsRSxGKTt0aGlzLnNldEluZGV4KGcpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHQsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLApuZXcgYmEodiwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoeiwyKSl9ZnVuY3Rpb24gR2YoYSxjLGUsZyl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvbHloZWRyb25HZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt2ZXJ0aWNlczphLGluZGljZXM6YyxyYWRpdXM6ZSxkZXRhaWw6Z307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IG1jKGEsYyxlLGcpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBtYyhhLGMsZSxnKXtmdW5jdGlvbiB0KFYsZWEsZGEscmEpe3JhPU1hdGgucG93KDIscmEpO3ZhciBwYT1bXSxxYSx1YTtmb3IocWE9MDtxYTw9cmE7cWErKyl7cGFbcWFdPVtdO3ZhciBuYT1WLmNsb25lKCkubGVycChkYSxxYS9yYSksdGE9ZWEuY2xvbmUoKS5sZXJwKGRhLHFhL3JhKSxCYT1yYS1xYTtmb3IodWE9MDt1YTw9QmE7dWErKylwYVtxYV1bdWFdPTA9PT11YSYmcWE9PT1yYT9uYTpuYS5jbG9uZSgpLmxlcnAodGEsdWEvQmEpfWZvcihxYT0wO3FhPApyYTtxYSsrKWZvcih1YT0wO3VhPDIqKHJhLXFhKS0xO3VhKyspVj1NYXRoLmZsb29yKHVhLzIpLDA9PT11YSUyPyh6KHBhW3FhXVtWKzFdKSx6KHBhW3FhKzFdW1ZdKSx6KHBhW3FhXVtWXSkpOih6KHBhW3FhXVtWKzFdKSx6KHBhW3FhKzFdW1YrMV0pLHoocGFbcWErMV1bVl0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciBWPTA7VjxVLmxlbmd0aDtWKz02KXt2YXIgZWE9VVtWKzBdLGRhPVVbVisyXSxyYT1VW1YrNF0scGE9TWF0aC5taW4oZWEsZGEscmEpOy45PE1hdGgubWF4KGVhLGRhLHJhKSYmLjE+cGEmJiguMj5lYSYmKFVbViswXSs9MSksLjI+ZGEmJihVW1YrMl0rPTEpLC4yPnJhJiYoVVtWKzRdKz0xKSl9fWZ1bmN0aW9uIHooVil7US5wdXNoKFYueCxWLnksVi56KX1mdW5jdGlvbiBFKFYsZWEpe1YqPTM7ZWEueD1hW1YrMF07ZWEueT1hW1YrMV07ZWEuej1hW1YrMl19ZnVuY3Rpb24gRigpe2Zvcih2YXIgVj1uZXcgayxlYT1uZXcgayxkYT1uZXcgayxyYT1uZXcgayxwYT1uZXcgZiwKcWE9bmV3IGYsdWE9bmV3IGYsbmE9MCx0YT0wO25hPFEubGVuZ3RoO25hKz05LHRhKz02KXtWLnNldChRW25hKzBdLFFbbmErMV0sUVtuYSsyXSk7ZWEuc2V0KFFbbmErM10sUVtuYSs0XSxRW25hKzVdKTtkYS5zZXQoUVtuYSs2XSxRW25hKzddLFFbbmErOF0pO3BhLnNldChVW3RhKzBdLFVbdGErMV0pO3FhLnNldChVW3RhKzJdLFVbdGErM10pO3VhLnNldChVW3RhKzRdLFVbdGErNV0pO3JhLmNvcHkoVikuYWRkKGVhKS5hZGQoZGEpLmRpdmlkZVNjYWxhcigzKTt2YXIgQmE9TShyYSk7SShwYSx0YSswLFYsQmEpO0kocWEsdGErMixlYSxCYSk7SSh1YSx0YSs0LGRhLEJhKX19ZnVuY3Rpb24gSShWLGVhLGRhLHJhKXswPnJhJiYxPT09Vi54JiYoVVtlYV09Vi54LTEpOzA9PT1kYS54JiYwPT09ZGEueiYmKFVbZWFdPXJhLzIvTWF0aC5QSSsuNSl9ZnVuY3Rpb24gTShWKXtyZXR1cm4gTWF0aC5hdGFuMihWLnosLVYueCl9ZnVuY3Rpb24gUChWKXtyZXR1cm4gTWF0aC5hdGFuMigtVi55LApNYXRoLnNxcnQoVi54KlYueCtWLnoqVi56KSl9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvbHloZWRyb25CdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt2ZXJ0aWNlczphLGluZGljZXM6YyxyYWRpdXM6ZSxkZXRhaWw6Z307ZT1lfHwxO2c9Z3x8MDt2YXIgUT1bXSxVPVtdOyhmdW5jdGlvbihWKXtmb3IodmFyIGVhPW5ldyBrLGRhPW5ldyBrLHJhPW5ldyBrLHBhPTA7cGE8Yy5sZW5ndGg7cGErPTMpRShjW3BhKzBdLGVhKSxFKGNbcGErMV0sZGEpLEUoY1twYSsyXSxyYSksdChlYSxkYSxyYSxWKX0pKGcpOyhmdW5jdGlvbihWKXtmb3IodmFyIGVhPW5ldyBrLGRhPTA7ZGE8US5sZW5ndGg7ZGErPTMpZWEueD1RW2RhKzBdLGVhLnk9UVtkYSsxXSxlYS56PVFbZGErMl0sZWEubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoViksUVtkYSswXT1lYS54LFFbZGErMV09ZWEueSxRW2RhKzJdPWVhLnp9KShlKTsoZnVuY3Rpb24oKXtmb3IodmFyIFY9bmV3IGssZWE9MDtlYTwKUS5sZW5ndGg7ZWErPTMpe1YueD1RW2VhKzBdO1YueT1RW2VhKzFdO1Yuej1RW2VhKzJdO3ZhciBkYT1NKFYpLzIvTWF0aC5QSSsuNSxyYT1QKFYpL01hdGguUEkrLjU7VS5wdXNoKGRhLDEtcmEpfUYoKTt2KCl9KSgpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKFEsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShRLnNsaWNlKCksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKFUsMikpOzA9PT1nP3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTp0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKX1mdW5jdGlvbiBIZihhLGMpe3hhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJUZXRyYWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgSWUoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gSWUoYSxjKXttYy5jYWxsKHRoaXMsWzEsMSwxLAotMSwtMSwxLC0xLDEsLTEsMSwtMSwtMV0sWzIsMSwwLDAsMywyLDEsMywwLDIsMywxXSxhLGMpO3RoaXMudHlwZT0iVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSxkZXRhaWw6Y319ZnVuY3Rpb24gSWYoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iT2N0YWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgVGQoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gVGQoYSxjKXttYy5jYWxsKHRoaXMsWzEsMCwwLC0xLDAsMCwwLDEsMCwwLC0xLDAsMCwwLDEsMCwwLC0xXSxbMCwyLDQsMCw0LDMsMCwzLDUsMCw1LDIsMSwyLDUsMSw1LDMsMSwzLDQsMSw0LDJdLGEsYyk7dGhpcy50eXBlPSJPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsZGV0YWlsOmN9fWZ1bmN0aW9uIEpmKGEsYyl7eGEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJJY29zYWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgSmUoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gSmUoYSxjKXt2YXIgZT0oMStNYXRoLnNxcnQoNSkpLzI7bWMuY2FsbCh0aGlzLFstMSxlLDAsMSxlLDAsLTEsLWUsMCwxLC1lLDAsMCwtMSxlLDAsMSxlLDAsLTEsLWUsMCwxLC1lLGUsMCwtMSxlLDAsMSwtZSwwLC0xLC1lLDAsMV0sWzAsMTEsNSwwLDUsMSwwLDEsNywwLDcsMTAsMCwxMCwxMSwxLDUsOSw1LDExLDQsMTEsMTAsMiwxMCw3LDYsNywxLDgsMyw5LDQsMyw0LDIsMywyLDYsMyw2LDgsMyw4LDksNCw5LDUsMiw0LDExLDYsMiwxMCw4LDYsNyw5LDgsMV0sYSxjKTt0aGlzLnR5cGU9Ikljb3NhaGVkcm9uQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsZGV0YWlsOmN9fWZ1bmN0aW9uIEtmKGEsYyl7eGEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJEb2RlY2FoZWRyb25HZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSxkZXRhaWw6Y307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IEtlKGEsYykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIEtlKGEsYyl7dmFyIGU9KDErTWF0aC5zcXJ0KDUpKS8yLGc9MS9lO21jLmNhbGwodGhpcyxbLTEsLTEsLTEsLTEsLTEsMSwtMSwxLC0xLC0xLDEsMSwxLC0xLC0xLDEsLTEsMSwxLDEsLTEsMSwxLDEsMCwtZywtZSwwLC1nLGUsMCxnLC1lLDAsZyxlLC1nLC1lLDAsLWcsZSwwLGcsLWUsMCxnLGUsMCwtZSwwLC1nLGUsMCwtZywtZSwwLGcsZSwwLGddLFszLDExLDcsMyw3LDE1LDMsMTUsMTMsNywxOSwxNyw3LDE3LDYsNyw2LDE1LDE3LDQsOCwxNyw4LDEwLDE3LDEwLDYsOCwwLDE2LDgsMTYsMiw4LDIsMTAsMCwxMiwxLDAsMSwxOCwwLDE4LDE2LDYsMTAsMiw2LDIsMTMsNiwxMywxNSwyLDE2LDE4LDIsMTgsMywyLDMsMTMsMTgsMSw5LDE4LDksCjExLDE4LDExLDMsNCwxNCwxMiw0LDEyLDAsNCwwLDgsMTEsOSw1LDExLDUsMTksMTEsMTksNywxOSw1LDE0LDE5LDE0LDQsMTksNCwxNywxLDEyLDE0LDEsMTQsNSwxLDUsOV0sYSxjKTt0aGlzLnR5cGU9IkRvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfX1mdW5jdGlvbiBMZihhLGMsZSxnLHQsdil7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlR1YmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwYXRoOmEsdHVidWxhclNlZ21lbnRzOmMscmFkaXVzOmUscmFkaWFsU2VnbWVudHM6ZyxjbG9zZWQ6dH07dm9pZCAwIT09diYmY29uc29sZS53YXJuKCJUSFJFRS5UdWJlR2VvbWV0cnk6IHRhcGVyIGhhcyBiZWVuIHJlbW92ZWQuIik7YT1uZXcgVWQoYSxjLGUsZyx0KTt0aGlzLnRhbmdlbnRzPWEudGFuZ2VudHM7dGhpcy5ub3JtYWxzPWEubm9ybWFsczt0aGlzLmJpbm9ybWFscz1hLmJpbm9ybWFsczt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShhKTsKdGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gVWQoYSxjLGUsZyx0KXtmdW5jdGlvbiB2KHFhKXtRPWEuZ2V0UG9pbnRBdChxYS9jLFEpO3ZhciB1YT1GLm5vcm1hbHNbcWFdO3FhPUYuYmlub3JtYWxzW3FhXTtmb3IoVj0wO1Y8PWc7VisrKXt2YXIgbmE9Vi9nKk1hdGguUEkqMix0YT1NYXRoLnNpbihuYSk7bmE9LU1hdGguY29zKG5hKTtNLng9bmEqdWEueCt0YSpxYS54O00ueT1uYSp1YS55K3RhKnFhLnk7TS56PW5hKnVhLnordGEqcWEuejtNLm5vcm1hbGl6ZSgpO2RhLnB1c2goTS54LE0ueSxNLnopO0kueD1RLngrZSpNLng7SS55PVEueStlKk0ueTtJLno9US56K2UqTS56O2VhLnB1c2goSS54LEkueSxJLnopfX1mdW5jdGlvbiB6KCl7Zm9yKFY9MTtWPD1jO1YrKylmb3IoVT0xO1U8PWc7VSsrKXt2YXIgcWE9KGcrMSkqVisoVS0xKSx1YT0oZysxKSpWK1UsbmE9KGcrMSkqKFYtMSkrVTtwYS5wdXNoKChnKzEpKihWLTEpKyhVLTEpLHFhLG5hKTtwYS5wdXNoKHFhLHVhLG5hKX19CmZ1bmN0aW9uIEUoKXtmb3IoVT0wO1U8PWM7VSsrKWZvcihWPTA7Vjw9ZztWKyspUC54PVUvYyxQLnk9Vi9nLHJhLnB1c2goUC54LFAueSl9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlR1YmVCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwYXRoOmEsdHVidWxhclNlZ21lbnRzOmMscmFkaXVzOmUscmFkaWFsU2VnbWVudHM6ZyxjbG9zZWQ6dH07Yz1jfHw2NDtlPWV8fDE7Zz1nfHw4O3Q9dHx8ITE7dmFyIEY9YS5jb21wdXRlRnJlbmV0RnJhbWVzKGMsdCk7dGhpcy50YW5nZW50cz1GLnRhbmdlbnRzO3RoaXMubm9ybWFscz1GLm5vcm1hbHM7dGhpcy5iaW5vcm1hbHM9Ri5iaW5vcm1hbHM7dmFyIEk9bmV3IGssTT1uZXcgayxQPW5ldyBmLFE9bmV3IGssVSxWLGVhPVtdLGRhPVtdLHJhPVtdLHBhPVtdOyhmdW5jdGlvbigpe2ZvcihVPTA7VTxjO1UrKyl2KFUpO3YoITE9PT10P2M6MCk7RSgpO3ooKX0pKCk7dGhpcy5zZXRJbmRleChwYSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIiwKbmV3IGJhKGVhLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoZGEsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKHJhLDIpKX1mdW5jdGlvbiBNZihhLGMsZSxnLHQsdix6KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iVG9ydXNLbm90R2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsdHViZTpjLHR1YnVsYXJTZWdtZW50czplLHJhZGlhbFNlZ21lbnRzOmcscDp0LHE6dn07dm9pZCAwIT09eiYmY29uc29sZS53YXJuKCJUSFJFRS5Ub3J1c0tub3RHZW9tZXRyeTogaGVpZ2h0U2NhbGUgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC5zY2FsZSggeCwgeSwgeiApIGluc3RlYWQuIik7dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IExlKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gTGUoYSxjLGUsZyx0LHYpe2Z1bmN0aW9uIHoodGEsQmEsVGEsVWEsQ2Epe3ZhciBIYT1NYXRoLnNpbih0YSk7QmE9VGEvCkJhKnRhO1RhPU1hdGguY29zKEJhKTtDYS54PVVhKigyK1RhKSouNSpNYXRoLmNvcyh0YSk7Q2EueT1VYSooMitUYSkqSGEqLjU7Q2Euej1VYSpNYXRoLnNpbihCYSkqLjV9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLHR1YmU6Yyx0dWJ1bGFyU2VnbWVudHM6ZSxyYWRpYWxTZWdtZW50czpnLHA6dCxxOnZ9O2E9YXx8MTtjPWN8fC40O2U9TWF0aC5mbG9vcihlKXx8NjQ7Zz1NYXRoLmZsb29yKGcpfHw4O3Q9dHx8Mjt2PXZ8fDM7dmFyIEU9W10sRj1bXSxJPVtdLE09W10sUCxRPW5ldyBrLFU9bmV3IGssVj1uZXcgayxlYT1uZXcgayxkYT1uZXcgayxyYT1uZXcgayxwYT1uZXcgaztmb3IoUD0wO1A8PWU7KytQKXt2YXIgcWE9UC9lKnQqTWF0aC5QSSoyO3oocWEsdCx2LGEsVik7eihxYSsuMDEsdCx2LGEsZWEpO3JhLnN1YlZlY3RvcnMoZWEsVik7cGEuYWRkVmVjdG9ycyhlYSxWKTtkYS5jcm9zc1ZlY3RvcnMocmEsCnBhKTtwYS5jcm9zc1ZlY3RvcnMoZGEscmEpO2RhLm5vcm1hbGl6ZSgpO3BhLm5vcm1hbGl6ZSgpO2ZvcihxYT0wO3FhPD1nOysrcWEpe3ZhciB1YT1xYS9nKk1hdGguUEkqMixuYT0tYypNYXRoLmNvcyh1YSk7dWE9YypNYXRoLnNpbih1YSk7US54PVYueCsobmEqcGEueCt1YSpkYS54KTtRLnk9Vi55KyhuYSpwYS55K3VhKmRhLnkpO1Euej1WLnorKG5hKnBhLnordWEqZGEueik7Ri5wdXNoKFEueCxRLnksUS56KTtVLnN1YlZlY3RvcnMoUSxWKS5ub3JtYWxpemUoKTtJLnB1c2goVS54LFUueSxVLnopO00ucHVzaChQL2UpO00ucHVzaChxYS9nKX19Zm9yKHFhPTE7cWE8PWU7cWErKylmb3IoUD0xO1A8PWc7UCsrKWE9KGcrMSkqcWErKFAtMSksYz0oZysxKSpxYStQLHQ9KGcrMSkqKHFhLTEpK1AsRS5wdXNoKChnKzEpKihxYS0xKSsoUC0xKSxhLHQpLEUucHVzaChhLGMsdCk7dGhpcy5zZXRJbmRleChFKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShGLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIiwKbmV3IGJhKEksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKE0sMikpfWZ1bmN0aW9uIE5mKGEsYyxlLGcsdCl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlRvcnVzR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsdHViZTpjLHJhZGlhbFNlZ21lbnRzOmUsdHVidWxhclNlZ21lbnRzOmcsYXJjOnR9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBNZShhLGMsZSxnLHQpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBNZShhLGMsZSxnLHQpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJUb3J1c0J1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLHR1YmU6YyxyYWRpYWxTZWdtZW50czplLHR1YnVsYXJTZWdtZW50czpnLGFyYzp0fTthPWF8fDE7Yz1jfHwuNDtlPU1hdGguZmxvb3IoZSl8fDg7Zz1NYXRoLmZsb29yKGcpfHw2O3Q9dHx8MipNYXRoLlBJO3ZhciB2PVtdLHo9W10sRT1bXSxGPVtdLEk9bmV3IGssTT1uZXcgaywKUD1uZXcgayxRLFU7Zm9yKFE9MDtRPD1lO1ErKylmb3IoVT0wO1U8PWc7VSsrKXt2YXIgVj1VL2cqdCxlYT1RL2UqTWF0aC5QSSoyO00ueD0oYStjKk1hdGguY29zKGVhKSkqTWF0aC5jb3MoVik7TS55PShhK2MqTWF0aC5jb3MoZWEpKSpNYXRoLnNpbihWKTtNLno9YypNYXRoLnNpbihlYSk7ei5wdXNoKE0ueCxNLnksTS56KTtJLng9YSpNYXRoLmNvcyhWKTtJLnk9YSpNYXRoLnNpbihWKTtQLnN1YlZlY3RvcnMoTSxJKS5ub3JtYWxpemUoKTtFLnB1c2goUC54LFAueSxQLnopO0YucHVzaChVL2cpO0YucHVzaChRL2UpfWZvcihRPTE7UTw9ZTtRKyspZm9yKFU9MTtVPD1nO1UrKylhPShnKzEpKihRLTEpK1UtMSxjPShnKzEpKihRLTEpK1UsdD0oZysxKSpRK1Usdi5wdXNoKChnKzEpKlErVS0xLGEsdCksdi5wdXNoKGEsYyx0KTt0aGlzLnNldEluZGV4KHYpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHosMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShFLAozKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoRiwyKSl9ZnVuY3Rpb24gUGooYSxjLGUsZyx0KXtpZih0PT09MDxybShhLGMsZSxnKSlmb3IodD1jO3Q8ZTt0Kz1nKXZhciB2PVFqKHQsYVt0XSxhW3QrMV0sdik7ZWxzZSBmb3IodD1lLWc7dD49Yzt0LT1nKXY9UWoodCxhW3RdLGFbdCsxXSx2KTt2JiZWZCh2LHYubmV4dCkmJihPZih2KSx2PXYubmV4dCk7cmV0dXJuIHZ9ZnVuY3Rpb24gUGYoYSxjKXtpZighYSlyZXR1cm4gYTtjfHwoYz1hKTtkb3t2YXIgZT0hMTtpZihhLnN0ZWluZXJ8fCFWZChhLGEubmV4dCkmJjAhPT1ZYihhLnByZXYsYSxhLm5leHQpKWE9YS5uZXh0O2Vsc2V7T2YoYSk7YT1jPWEucHJldjtpZihhPT09YS5uZXh0KWJyZWFrO2U9ITB9fXdoaWxlKGV8fGEhPT1jKTtyZXR1cm4gY31mdW5jdGlvbiBRZihhLGMsZSxnLHQsdix6KXtpZihhKXsheiYmdiYmc20oYSxnLHQsdik7Zm9yKHZhciBFPWEsRixJO2EucHJldiE9PWEubmV4dDspaWYoRj1hLnByZXYsCkk9YS5uZXh0LHY/dG0oYSxnLHQsdik6dW0oYSkpYy5wdXNoKEYuaS9lKSxjLnB1c2goYS5pL2UpLGMucHVzaChJLmkvZSksT2YoYSksRT1hPUkubmV4dDtlbHNlIGlmKGE9SSxhPT09RSl7ej8xPT09ej8oYT12bShhLGMsZSksUWYoYSxjLGUsZyx0LHYsMikpOjI9PT16JiZ3bShhLGMsZSxnLHQsdik6UWYoUGYoYSksYyxlLGcsdCx2LDEpO2JyZWFrfX19ZnVuY3Rpb24gdW0oYSl7dmFyIGM9YS5wcmV2LGU9YS5uZXh0O2lmKDA8PVliKGMsYSxlKSlyZXR1cm4hMTtmb3IodmFyIGc9YS5uZXh0Lm5leHQ7ZyE9PWEucHJldjspe2lmKE5lKGMueCxjLnksYS54LGEueSxlLngsZS55LGcueCxnLnkpJiYwPD1ZYihnLnByZXYsZyxnLm5leHQpKXJldHVybiExO2c9Zy5uZXh0fXJldHVybiEwfWZ1bmN0aW9uIHRtKGEsYyxlLGcpe3ZhciB0PWEucHJldix2PWEubmV4dDtpZigwPD1ZYih0LGEsdikpcmV0dXJuITE7dmFyIHo9dC54PmEueD90Lng+di54P3QueDp2Lng6YS54PnYueD9hLng6di54LApFPXQueT5hLnk/dC55PnYueT90Lnk6di55OmEueT52Lnk/YS55OnYueSxGPWNpKHQueDxhLng/dC54PHYueD90Lng6di54OmEueDx2Lng/YS54OnYueCx0Lnk8YS55P3QueTx2Lnk/dC55OnYueTphLnk8di55P2EueTp2LnksYyxlLGcpO2M9Y2koeixFLGMsZSxnKTtlPWEucHJldlo7Zm9yKGc9YS5uZXh0WjtlJiZlLno+PUYmJmcmJmcuejw9Yzspe2lmKGUhPT1hLnByZXYmJmUhPT1hLm5leHQmJk5lKHQueCx0LnksYS54LGEueSx2Lngsdi55LGUueCxlLnkpJiYwPD1ZYihlLnByZXYsZSxlLm5leHQpKXJldHVybiExO2U9ZS5wcmV2WjtpZihnIT09YS5wcmV2JiZnIT09YS5uZXh0JiZOZSh0LngsdC55LGEueCxhLnksdi54LHYueSxnLngsZy55KSYmMDw9WWIoZy5wcmV2LGcsZy5uZXh0KSlyZXR1cm4hMTtnPWcubmV4dFp9Zm9yKDtlJiZlLno+PUY7KXtpZihlIT09YS5wcmV2JiZlIT09YS5uZXh0JiZOZSh0LngsdC55LGEueCxhLnksdi54LHYueSxlLngsZS55KSYmMDw9WWIoZS5wcmV2LAplLGUubmV4dCkpcmV0dXJuITE7ZT1lLnByZXZafWZvcig7ZyYmZy56PD1jOyl7aWYoZyE9PWEucHJldiYmZyE9PWEubmV4dCYmTmUodC54LHQueSxhLngsYS55LHYueCx2LnksZy54LGcueSkmJjA8PVliKGcucHJldixnLGcubmV4dCkpcmV0dXJuITE7Zz1nLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIHZtKGEsYyxlKXt2YXIgZz1hO2Rve3ZhciB0PWcucHJldix2PWcubmV4dC5uZXh0OyFWZCh0LHYpJiZSaih0LGcsZy5uZXh0LHYpJiZSZih0LHYpJiZSZih2LHQpJiYoYy5wdXNoKHQuaS9lKSxjLnB1c2goZy5pL2UpLGMucHVzaCh2LmkvZSksT2YoZyksT2YoZy5uZXh0KSxnPWE9dik7Zz1nLm5leHR9d2hpbGUoZyE9PWEpO3JldHVybiBnfWZ1bmN0aW9uIHdtKGEsYyxlLGcsdCx2KXt2YXIgej1hO2Rve2Zvcih2YXIgRT16Lm5leHQubmV4dDtFIT09ei5wcmV2Oyl7aWYoei5pIT09RS5pJiZ4bSh6LEUpKXthPVNqKHosRSk7ej1QZih6LHoubmV4dCk7YT1QZihhLGEubmV4dCk7UWYoeiwKYyxlLGcsdCx2KTtRZihhLGMsZSxnLHQsdik7cmV0dXJufUU9RS5uZXh0fXo9ei5uZXh0fXdoaWxlKHohPT1hKX1mdW5jdGlvbiB5bShhLGMsZSxnKXt2YXIgdD1bXSx2O3ZhciB6PTA7Zm9yKHY9Yy5sZW5ndGg7ejx2O3orKyl7dmFyIEU9Y1t6XSpnO3ZhciBGPXo8di0xP2NbeisxXSpnOmEubGVuZ3RoO0U9UGooYSxFLEYsZywhMSk7RT09PUUubmV4dCYmKEUuc3RlaW5lcj0hMCk7dC5wdXNoKHptKEUpKX10LnNvcnQoQW0pO2Zvcih6PTA7ejx0Lmxlbmd0aDt6KyspQm0odFt6XSxlKSxlPVBmKGUsZS5uZXh0KTtyZXR1cm4gZX1mdW5jdGlvbiBBbShhLGMpe3JldHVybiBhLngtYy54fWZ1bmN0aW9uIEJtKGEsYyl7aWYoYz1DbShhLGMpKWE9U2ooYyxhKSxQZihhLGEubmV4dCl9ZnVuY3Rpb24gQ20oYSxjKXt2YXIgZT1jLGc9YS54LHQ9YS55LHY9LUluZmluaXR5O2Rve2lmKHQ8PWUueSYmdD49ZS5uZXh0LnkmJmUubmV4dC55IT09ZS55KXt2YXIgej1lLngrKHQtZS55KSooZS5uZXh0LngtCmUueCkvKGUubmV4dC55LWUueSk7aWYoejw9ZyYmej52KXt2PXo7aWYoej09PWcpe2lmKHQ9PT1lLnkpcmV0dXJuIGU7aWYodD09PWUubmV4dC55KXJldHVybiBlLm5leHR9dmFyIEU9ZS54PGUubmV4dC54P2U6ZS5uZXh0fX1lPWUubmV4dH13aGlsZShlIT09Yyk7aWYoIUUpcmV0dXJuIG51bGw7aWYoZz09PXYpcmV0dXJuIEUucHJldjtjPUU7ej1FLng7dmFyIEY9RS55LEk9SW5maW5pdHk7Zm9yKGU9RS5uZXh0O2UhPT1jOyl7aWYoZz49ZS54JiZlLng+PXomJmchPT1lLngmJk5lKHQ8Rj9nOnYsdCx6LEYsdDxGP3Y6Zyx0LGUueCxlLnkpKXt2YXIgTT1NYXRoLmFicyh0LWUueSkvKGctZS54KTsoTTxJfHxNPT09SSYmZS54PkUueCkmJlJmKGUsYSkmJihFPWUsST1NKX1lPWUubmV4dH1yZXR1cm4gRX1mdW5jdGlvbiBzbShhLGMsZSxnKXt2YXIgdD1hO2RvIG51bGw9PT10LnomJih0Lno9Y2kodC54LHQueSxjLGUsZykpLHQucHJldlo9dC5wcmV2LHQ9dC5uZXh0Wj10Lm5leHQ7d2hpbGUodCE9PQphKTt0LnByZXZaLm5leHRaPW51bGw7dC5wcmV2Wj1udWxsO0RtKHQpfWZ1bmN0aW9uIERtKGEpe3ZhciBjLGUsZyx0LHY9MTtkb3t2YXIgej1hO3ZhciBFPWE9bnVsbDtmb3IoZT0wO3o7KXtlKys7dmFyIEY9ejtmb3IoYz1nPTA7Yzx2JiYoZysrLEY9Ri5uZXh0WixGKTtjKyspO2Zvcih0PXY7MDxnfHwwPHQmJkY7KTAhPT1nJiYoMD09PXR8fCFGfHx6Lno8PUYueik/KGM9eix6PXoubmV4dFosZy0tKTooYz1GLEY9Ri5uZXh0Wix0LS0pLEU/RS5uZXh0Wj1jOmE9YyxjLnByZXZaPUUsRT1jO3o9Rn1FLm5leHRaPW51bGw7dio9Mn13aGlsZSgxPGUpO3JldHVybiBhfWZ1bmN0aW9uIGNpKGEsYyxlLGcsdCl7YT0zMjc2NyooYS1lKSp0O2M9MzI3NjcqKGMtZykqdDthPShhfGE8PDgpJjE2NzExOTM1O2E9KGF8YTw8NCkmMjUyNjQ1MTM1O2E9KGF8YTw8MikmODU4OTkzNDU5O2M9KGN8Yzw8OCkmMTY3MTE5MzU7Yz0oY3xjPDw0KSYyNTI2NDUxMzU7Yz0oY3xjPDwyKSY4NTg5OTM0NTk7cmV0dXJuKGF8CmE8PDEpJjE0MzE2NTU3NjV8KChjfGM8PDEpJjE0MzE2NTU3NjUpPDwxfWZ1bmN0aW9uIHptKGEpe3ZhciBjPWEsZT1hO2Rve2lmKGMueDxlLnh8fGMueD09PWUueCYmYy55PGUueSllPWM7Yz1jLm5leHR9d2hpbGUoYyE9PWEpO3JldHVybiBlfWZ1bmN0aW9uIE5lKGEsYyxlLGcsdCx2LHosRSl7cmV0dXJuIDA8PSh0LXopKihjLUUpLShhLXopKih2LUUpJiYwPD0oYS16KSooZy1FKS0oZS16KSooYy1FKSYmMDw9KGUteikqKHYtRSktKHQteikqKGctRSl9ZnVuY3Rpb24geG0oYSxjKXtyZXR1cm4gYS5uZXh0LmkhPT1jLmkmJmEucHJldi5pIT09Yy5pJiYhRW0oYSxjKSYmUmYoYSxjKSYmUmYoYyxhKSYmRm0oYSxjKX1mdW5jdGlvbiBZYihhLGMsZSl7cmV0dXJuKGMueS1hLnkpKihlLngtYy54KS0oYy54LWEueCkqKGUueS1jLnkpfWZ1bmN0aW9uIFZkKGEsYyl7cmV0dXJuIGEueD09PWMueCYmYS55PT09Yy55fWZ1bmN0aW9uIFJqKGEsYyxlLGcpe3JldHVybiBWZChhLGUpJiZWZChjLApnKXx8VmQoYSxnKSYmVmQoZSxjKT8hMDowPFliKGEsYyxlKSE9PTA8WWIoYSxjLGcpJiYwPFliKGUsZyxhKSE9PTA8WWIoZSxnLGMpfWZ1bmN0aW9uIEVtKGEsYyl7dmFyIGU9YTtkb3tpZihlLmkhPT1hLmkmJmUubmV4dC5pIT09YS5pJiZlLmkhPT1jLmkmJmUubmV4dC5pIT09Yy5pJiZSaihlLGUubmV4dCxhLGMpKXJldHVybiEwO2U9ZS5uZXh0fXdoaWxlKGUhPT1hKTtyZXR1cm4hMX1mdW5jdGlvbiBSZihhLGMpe3JldHVybiAwPlliKGEucHJldixhLGEubmV4dCk/MDw9WWIoYSxjLGEubmV4dCkmJjA8PVliKGEsYS5wcmV2LGMpOjA+WWIoYSxjLGEucHJldil8fDA+WWIoYSxhLm5leHQsYyl9ZnVuY3Rpb24gRm0oYSxjKXt2YXIgZT1hLGc9ITEsdD0oYS54K2MueCkvMjtjPShhLnkrYy55KS8yO2RvIGUueT5jIT09ZS5uZXh0Lnk+YyYmZS5uZXh0LnkhPT1lLnkmJnQ8KGUubmV4dC54LWUueCkqKGMtZS55KS8oZS5uZXh0LnktZS55KStlLngmJihnPSFnKSxlPWUubmV4dDt3aGlsZShlIT09CmEpO3JldHVybiBnfWZ1bmN0aW9uIFNqKGEsYyl7dmFyIGU9bmV3IGRpKGEuaSxhLngsYS55KSxnPW5ldyBkaShjLmksYy54LGMueSksdD1hLm5leHQsdj1jLnByZXY7YS5uZXh0PWM7Yy5wcmV2PWE7ZS5uZXh0PXQ7dC5wcmV2PWU7Zy5uZXh0PWU7ZS5wcmV2PWc7di5uZXh0PWc7Zy5wcmV2PXY7cmV0dXJuIGd9ZnVuY3Rpb24gUWooYSxjLGUsZyl7YT1uZXcgZGkoYSxjLGUpO2c/KGEubmV4dD1nLm5leHQsYS5wcmV2PWcsZy5uZXh0LnByZXY9YSxnLm5leHQ9YSk6KGEucHJldj1hLGEubmV4dD1hKTtyZXR1cm4gYX1mdW5jdGlvbiBPZihhKXthLm5leHQucHJldj1hLnByZXY7YS5wcmV2Lm5leHQ9YS5uZXh0O2EucHJldlomJihhLnByZXZaLm5leHRaPWEubmV4dFopO2EubmV4dFomJihhLm5leHRaLnByZXZaPWEucHJldlopfWZ1bmN0aW9uIGRpKGEsYyxlKXt0aGlzLmk9YTt0aGlzLng9Yzt0aGlzLnk9ZTt0aGlzLm5leHRaPXRoaXMucHJldlo9dGhpcy56PXRoaXMubmV4dD10aGlzLnByZXY9Cm51bGw7dGhpcy5zdGVpbmVyPSExfWZ1bmN0aW9uIHJtKGEsYyxlLGcpe2Zvcih2YXIgdD0wLHY9ZS1nO2M8ZTtjKz1nKXQrPShhW3ZdLWFbY10pKihhW2MrMV0rYVt2KzFdKSx2PWM7cmV0dXJuIHR9ZnVuY3Rpb24gVGooYSl7dmFyIGM9YS5sZW5ndGg7MjxjJiZhW2MtMV0uZXF1YWxzKGFbMF0pJiZhLnBvcCgpfWZ1bmN0aW9uIFVqKGEsYyl7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspYS5wdXNoKGNbZV0ueCksYS5wdXNoKGNbZV0ueSl9ZnVuY3Rpb24gV2QoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRXh0cnVkZUdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczphLG9wdGlvbnM6Y307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFRjKGEsYykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIFRjKGEsYyl7ZnVuY3Rpb24gZShGKXtmdW5jdGlvbiBJKFFhLGViLG1iKXtlYnx8Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiB2ZWMgZG9lcyBub3QgZXhpc3QiKTsKcmV0dXJuIGViLmNsb25lKCkubXVsdGlwbHlTY2FsYXIobWIpLmFkZChRYSl9ZnVuY3Rpb24gTShRYSxlYixtYil7dmFyIHBiPVFhLngtZWIueDt2YXIgc2I9UWEueS1lYi55O3ZhciBMYj1tYi54LVFhLng7dmFyIFRiPW1iLnktUWEueSxxYz1wYipwYitzYipzYjtpZihNYXRoLmFicyhwYipUYi1zYipMYik+TnVtYmVyLkVQU0lMT04pe3ZhciBTYz1NYXRoLnNxcnQocWMpLEJjPU1hdGguc3FydChMYipMYitUYipUYik7cWM9ZWIueC1zYi9TYztlYj1lYi55K3BiL1NjO1RiPSgobWIueC1UYi9CYy1xYykqVGItKG1iLnkrTGIvQmMtZWIpKkxiKS8ocGIqVGItc2IqTGIpO0xiPXFjK3BiKlRiLVFhLng7cGI9ZWIrc2IqVGItUWEueTtzYj1MYipMYitwYipwYjtpZigyPj1zYilyZXR1cm4gbmV3IGYoTGIscGIpO3NiPU1hdGguc3FydChzYi8yKX1lbHNlIFFhPSExLHBiPk51bWJlci5FUFNJTE9OP0xiPk51bWJlci5FUFNJTE9OJiYoUWE9ITApOnBiPC1OdW1iZXIuRVBTSUxPTj9MYjwtTnVtYmVyLkVQU0lMT04mJgooUWE9ITApOk1hdGguc2lnbihzYik9PT1NYXRoLnNpZ24oVGIpJiYoUWE9ITApLFFhPyhMYj0tc2Isc2I9TWF0aC5zcXJ0KHFjKSk6KExiPXBiLHBiPXNiLHNiPU1hdGguc3FydChxYy8yKSk7cmV0dXJuIG5ldyBmKExiL3NiLHBiL3NiKX1mdW5jdGlvbiBQKFFhLGViKXtmb3IoaWE9UWEubGVuZ3RoOzA8PS0taWE7KXt2YXIgbWI9aWE7dmFyIHBiPWlhLTE7MD5wYiYmKHBiPVFhLmxlbmd0aC0xKTt2YXIgc2IsTGI9cWErMipVYTtmb3Ioc2I9MDtzYjxMYjtzYisrKXt2YXIgVGI9WWEqc2IscWM9WWEqKHNiKzEpO1YoZWIrbWIrVGIsZWIrcGIrVGIsZWIrcGIrcWMsZWIrbWIrcWMpfX19ZnVuY3Rpb24gUShRYSxlYixtYil7cmEucHVzaChRYSk7cmEucHVzaChlYik7cmEucHVzaChtYil9ZnVuY3Rpb24gVShRYSxlYixtYil7ZWEoUWEpO2VhKGViKTtlYShtYik7UWE9dC5sZW5ndGgvMztRYT1IYS5nZW5lcmF0ZVRvcFVWKGcsdCxRYS0zLFFhLTIsUWEtMSk7ZGEoUWFbMF0pO2RhKFFhWzFdKTsKZGEoUWFbMl0pfWZ1bmN0aW9uIFYoUWEsZWIsbWIscGIpe2VhKFFhKTtlYShlYik7ZWEocGIpO2VhKGViKTtlYShtYik7ZWEocGIpO1FhPXQubGVuZ3RoLzM7UWE9SGEuZ2VuZXJhdGVTaWRlV2FsbFVWKGcsdCxRYS02LFFhLTMsUWEtMixRYS0xKTtkYShRYVswXSk7ZGEoUWFbMV0pO2RhKFFhWzNdKTtkYShRYVsxXSk7ZGEoUWFbMl0pO2RhKFFhWzNdKX1mdW5jdGlvbiBlYShRYSl7dC5wdXNoKHJhWzMqUWFdKTt0LnB1c2gocmFbMypRYSsxXSk7dC5wdXNoKHJhWzMqUWErMl0pfWZ1bmN0aW9uIGRhKFFhKXt2LnB1c2goUWEueCk7di5wdXNoKFFhLnkpfXZhciByYT1bXSxwYT12b2lkIDAhPT1jLmN1cnZlU2VnbWVudHM/Yy5jdXJ2ZVNlZ21lbnRzOjEyLHFhPXZvaWQgMCE9PWMuc3RlcHM/Yy5zdGVwczoxLHVhPXZvaWQgMCE9PWMuZGVwdGg/Yy5kZXB0aDoxMDAsbmE9dm9pZCAwIT09Yy5iZXZlbEVuYWJsZWQ/Yy5iZXZlbEVuYWJsZWQ6ITAsdGE9dm9pZCAwIT09Yy5iZXZlbFRoaWNrbmVzcz8KYy5iZXZlbFRoaWNrbmVzczo2LEJhPXZvaWQgMCE9PWMuYmV2ZWxTaXplP2MuYmV2ZWxTaXplOnRhLTIsVGE9dm9pZCAwIT09Yy5iZXZlbE9mZnNldD9jLmJldmVsT2Zmc2V0OjAsVWE9dm9pZCAwIT09Yy5iZXZlbFNlZ21lbnRzP2MuYmV2ZWxTZWdtZW50czozLENhPWMuZXh0cnVkZVBhdGgsSGE9dm9pZCAwIT09Yy5VVkdlbmVyYXRvcj9jLlVWR2VuZXJhdG9yOkdtO3ZvaWQgMCE9PWMuYW1vdW50JiYoY29uc29sZS53YXJuKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IGFtb3VudCBoYXMgYmVlbiByZW5hbWVkIHRvIGRlcHRoLiIpLHVhPWMuYW1vdW50KTt2YXIgRGE9ITE7aWYoQ2Epe3ZhciBNYT1DYS5nZXRTcGFjZWRQb2ludHMocWEpO0RhPSEwO25hPSExO3ZhciBkYj1DYS5jb21wdXRlRnJlbmV0RnJhbWVzKHFhLCExKTt2YXIgdGI9bmV3IGs7dmFyIEthPW5ldyBrO3ZhciBiYj1uZXcga31uYXx8KFRhPUJhPXRhPVVhPTApO3ZhciBqYjtwYT1GLmV4dHJhY3RQb2ludHMocGEpOwpGPXBhLnNoYXBlO3ZhciBFYj1wYS5ob2xlcztpZighZ2QuaXNDbG9ja1dpc2UoRikpe0Y9Ri5yZXZlcnNlKCk7dmFyIHhiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKXt2YXIgaGE9RWJbeGJdO2dkLmlzQ2xvY2tXaXNlKGhhKSYmKEViW3hiXT1oYS5yZXZlcnNlKCkpfX12YXIgbWE9Z2QudHJpYW5ndWxhdGVTaGFwZShGLEViKSx6YT1GO3hiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKWhhPUViW3hiXSxGPUYuY29uY2F0KGhhKTt2YXIgSmEsWWE9Ri5sZW5ndGgsTmEsY2I9bWEubGVuZ3RoO3BhPVtdO3ZhciBpYT0wO3ZhciBHYT16YS5sZW5ndGg7dmFyIExhPUdhLTE7Zm9yKEphPWlhKzE7aWE8R2E7aWErKyxMYSsrLEphKyspTGE9PT1HYSYmKExhPTApLEphPT09R2EmJihKYT0wKSxwYVtpYV09TSh6YVtpYV0semFbTGFdLHphW0phXSk7Q2E9W107dmFyIG5iPXBhLmNvbmNhdCgpO3hiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKXtoYT1FYlt4Yl07dmFyIFZhPQpbXTtpYT0wO0dhPWhhLmxlbmd0aDtMYT1HYS0xO2ZvcihKYT1pYSsxO2lhPEdhO2lhKyssTGErKyxKYSsrKUxhPT09R2EmJihMYT0wKSxKYT09PUdhJiYoSmE9MCksVmFbaWFdPU0oaGFbaWFdLGhhW0xhXSxoYVtKYV0pO0NhLnB1c2goVmEpO25iPW5iLmNvbmNhdChWYSl9Zm9yKExhPTA7TGE8VWE7TGErKyl7R2E9TGEvVWE7dmFyIGliPXRhKk1hdGguY29zKEdhKk1hdGguUEkvMik7SmE9QmEqTWF0aC5zaW4oR2EqTWF0aC5QSS8yKStUYTtpYT0wO2ZvcihHYT16YS5sZW5ndGg7aWE8R2E7aWErKyl7dmFyIGtiPUkoemFbaWFdLHBhW2lhXSxKYSk7UShrYi54LGtiLnksLWliKX14Yj0wO2ZvcihqYj1FYi5sZW5ndGg7eGI8amI7eGIrKylmb3IoaGE9RWJbeGJdLFZhPUNhW3hiXSxpYT0wLEdhPWhhLmxlbmd0aDtpYTxHYTtpYSsrKWtiPUkoaGFbaWFdLFZhW2lhXSxKYSksUShrYi54LGtiLnksLWliKX1KYT1CYStUYTtmb3IoaWE9MDtpYTxZYTtpYSsrKWtiPW5hP0koRltpYV0sbmJbaWFdLApKYSk6RltpYV0sRGE/KEthLmNvcHkoZGIubm9ybWFsc1swXSkubXVsdGlwbHlTY2FsYXIoa2IueCksdGIuY29weShkYi5iaW5vcm1hbHNbMF0pLm11bHRpcGx5U2NhbGFyKGtiLnkpLGJiLmNvcHkoTWFbMF0pLmFkZChLYSkuYWRkKHRiKSxRKGJiLngsYmIueSxiYi56KSk6UShrYi54LGtiLnksMCk7Zm9yKEdhPTE7R2E8PXFhO0dhKyspZm9yKGlhPTA7aWE8WWE7aWErKylrYj1uYT9JKEZbaWFdLG5iW2lhXSxKYSk6RltpYV0sRGE/KEthLmNvcHkoZGIubm9ybWFsc1tHYV0pLm11bHRpcGx5U2NhbGFyKGtiLngpLHRiLmNvcHkoZGIuYmlub3JtYWxzW0dhXSkubXVsdGlwbHlTY2FsYXIoa2IueSksYmIuY29weShNYVtHYV0pLmFkZChLYSkuYWRkKHRiKSxRKGJiLngsYmIueSxiYi56KSk6UShrYi54LGtiLnksdWEvcWEqR2EpO2ZvcihMYT1VYS0xOzA8PUxhO0xhLS0pe0dhPUxhL1VhO2liPXRhKk1hdGguY29zKEdhKk1hdGguUEkvMik7SmE9QmEqTWF0aC5zaW4oR2EqTWF0aC5QSS8yKSsKVGE7aWE9MDtmb3IoR2E9emEubGVuZ3RoO2lhPEdhO2lhKyspa2I9SSh6YVtpYV0scGFbaWFdLEphKSxRKGtiLngsa2IueSx1YStpYik7eGI9MDtmb3IoamI9RWIubGVuZ3RoO3hiPGpiO3hiKyspZm9yKGhhPUViW3hiXSxWYT1DYVt4Yl0saWE9MCxHYT1oYS5sZW5ndGg7aWE8R2E7aWErKylrYj1JKGhhW2lhXSxWYVtpYV0sSmEpLERhP1Eoa2IueCxrYi55K01hW3FhLTFdLnksTWFbcWEtMV0ueCtpYik6UShrYi54LGtiLnksdWEraWIpfShmdW5jdGlvbigpe3ZhciBRYT10Lmxlbmd0aC8zO2lmKG5hKXt2YXIgZWI9MCpZYTtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPW1hW2lhXSxVKE5hWzJdK2ViLE5hWzFdK2ViLE5hWzBdK2ViKTtlYj1ZYSoocWErMipVYSk7Zm9yKGlhPTA7aWE8Y2I7aWErKylOYT1tYVtpYV0sVShOYVswXStlYixOYVsxXStlYixOYVsyXStlYil9ZWxzZXtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPW1hW2lhXSxVKE5hWzJdLE5hWzFdLE5hWzBdKTtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPQptYVtpYV0sVShOYVswXStZYSpxYSxOYVsxXStZYSpxYSxOYVsyXStZYSpxYSl9Zy5hZGRHcm91cChRYSx0Lmxlbmd0aC8zLVFhLDApfSkoKTsoZnVuY3Rpb24oKXt2YXIgUWE9dC5sZW5ndGgvMyxlYj0wO1AoemEsZWIpO2ViKz16YS5sZW5ndGg7eGI9MDtmb3IoamI9RWIubGVuZ3RoO3hiPGpiO3hiKyspaGE9RWJbeGJdLFAoaGEsZWIpLGViKz1oYS5sZW5ndGg7Zy5hZGRHcm91cChRYSx0Lmxlbmd0aC8zLVFhLDEpfSkoKX12YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRXh0cnVkZUJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczphLG9wdGlvbnM6Y307YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2Zvcih2YXIgZz10aGlzLHQ9W10sdj1bXSx6PTAsRT1hLmxlbmd0aDt6PEU7eisrKWUoYVt6XSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEodCwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEodiwyKSk7dGhpcy5jb21wdXRlVmVydGV4Tm9ybWFscygpfQpmdW5jdGlvbiBWaihhLGMsZSl7ZS5zaGFwZXM9W107aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGc9MCx0PWEubGVuZ3RoO2c8dDtnKyspZS5zaGFwZXMucHVzaChhW2ddLnV1aWQpO2Vsc2UgZS5zaGFwZXMucHVzaChhLnV1aWQpO3ZvaWQgMCE9PWMuZXh0cnVkZVBhdGgmJihlLm9wdGlvbnMuZXh0cnVkZVBhdGg9Yy5leHRydWRlUGF0aC50b0pTT04oKSk7cmV0dXJuIGV9ZnVuY3Rpb24gU2YoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iVGV4dEdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3RleHQ6YSxwYXJhbWV0ZXJzOmN9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBPZShhLGMpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBPZShhLGMpe2M9Y3x8e307dmFyIGU9Yy5mb250O2lmKCFlfHwhZS5pc0ZvbnQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlRleHRHZW9tZXRyeTogZm9udCBwYXJhbWV0ZXIgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkZvbnQuIiksCm5ldyB4YTthPWUuZ2VuZXJhdGVTaGFwZXMoYSxjLnNpemUpO2MuZGVwdGg9dm9pZCAwIT09Yy5oZWlnaHQ/Yy5oZWlnaHQ6NTA7dm9pZCAwPT09Yy5iZXZlbFRoaWNrbmVzcyYmKGMuYmV2ZWxUaGlja25lc3M9MTApO3ZvaWQgMD09PWMuYmV2ZWxTaXplJiYoYy5iZXZlbFNpemU9OCk7dm9pZCAwPT09Yy5iZXZlbEVuYWJsZWQmJihjLmJldmVsRW5hYmxlZD0hMSk7VGMuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJUZXh0QnVmZmVyR2VvbWV0cnkifWZ1bmN0aW9uIFRmKGEsYyxlLGcsdCx2LHope3hhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJTcGhlcmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSx3aWR0aFNlZ21lbnRzOmMsaGVpZ2h0U2VnbWVudHM6ZSxwaGlTdGFydDpnLHBoaUxlbmd0aDp0LHRoZXRhU3RhcnQ6dix0aGV0YUxlbmd0aDp6fTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgRGQoYSxjLGUsZyx0LHYseikpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfQpmdW5jdGlvbiBEZChhLGMsZSxnLHQsdix6KXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU3BoZXJlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsd2lkdGhTZWdtZW50czpjLGhlaWdodFNlZ21lbnRzOmUscGhpU3RhcnQ6ZyxwaGlMZW5ndGg6dCx0aGV0YVN0YXJ0OnYsdGhldGFMZW5ndGg6en07YT1hfHwxO2M9TWF0aC5tYXgoMyxNYXRoLmZsb29yKGMpfHw4KTtlPU1hdGgubWF4KDIsTWF0aC5mbG9vcihlKXx8Nik7Zz12b2lkIDAhPT1nP2c6MDt0PXZvaWQgMCE9PXQ/dDoyKk1hdGguUEk7dj12b2lkIDAhPT12P3Y6MDt6PXZvaWQgMCE9PXo/ejpNYXRoLlBJO3ZhciBFPU1hdGgubWluKHYreixNYXRoLlBJKSxGLEksTT0wLFA9W10sUT1uZXcgayxVPW5ldyBrLFY9W10sZWE9W10sZGE9W10scmE9W107Zm9yKEk9MDtJPD1lO0krKyl7dmFyIHBhPVtdLHFhPUkvZSx1YT0wOzA9PUkmJjA9PXY/dWE9LjUvYzpJPT1lJiZFPT1NYXRoLlBJJiYodWE9LS41L2MpOwpmb3IoRj0wO0Y8PWM7RisrKXt2YXIgbmE9Ri9jO1EueD0tYSpNYXRoLmNvcyhnK25hKnQpKk1hdGguc2luKHYrcWEqeik7US55PWEqTWF0aC5jb3ModitxYSp6KTtRLno9YSpNYXRoLnNpbihnK25hKnQpKk1hdGguc2luKHYrcWEqeik7ZWEucHVzaChRLngsUS55LFEueik7VS5jb3B5KFEpLm5vcm1hbGl6ZSgpO2RhLnB1c2goVS54LFUueSxVLnopO3JhLnB1c2gobmErdWEsMS1xYSk7cGEucHVzaChNKyspfVAucHVzaChwYSl9Zm9yKEk9MDtJPGU7SSsrKWZvcihGPTA7RjxjO0YrKylhPVBbSV1bRisxXSxnPVBbSV1bRl0sdD1QW0krMV1bRl0sej1QW0krMV1bRisxXSwoMCE9PUl8fDA8dikmJlYucHVzaChhLGcseiksKEkhPT1lLTF8fEU8TWF0aC5QSSkmJlYucHVzaChnLHQseik7dGhpcy5zZXRJbmRleChWKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShlYSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGJhKGRhLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLApuZXcgYmEocmEsMikpfWZ1bmN0aW9uIFVmKGEsYyxlLGcsdCx2KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUmluZ0dlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e2lubmVyUmFkaXVzOmEsb3V0ZXJSYWRpdXM6Yyx0aGV0YVNlZ21lbnRzOmUscGhpU2VnbWVudHM6Zyx0aGV0YVN0YXJ0OnQsdGhldGFMZW5ndGg6dn07dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFBlKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gUGUoYSxjLGUsZyx0LHYpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJSaW5nQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17aW5uZXJSYWRpdXM6YSxvdXRlclJhZGl1czpjLHRoZXRhU2VnbWVudHM6ZSxwaGlTZWdtZW50czpnLHRoZXRhU3RhcnQ6dCx0aGV0YUxlbmd0aDp2fTthPWF8fC41O2M9Y3x8MTt0PXZvaWQgMCE9PXQ/dDowO3Y9dm9pZCAwIT09dj92OjIqTWF0aC5QSTtlPXZvaWQgMCE9PWU/TWF0aC5tYXgoMywKZSk6ODtnPXZvaWQgMCE9PWc/TWF0aC5tYXgoMSxnKToxO3ZhciB6PVtdLEU9W10sRj1bXSxJPVtdLE09YSxQPShjLWEpL2csUT1uZXcgayxVPW5ldyBmLFYsZWE7Zm9yKFY9MDtWPD1nO1YrKyl7Zm9yKGVhPTA7ZWE8PWU7ZWErKylhPXQrZWEvZSp2LFEueD1NKk1hdGguY29zKGEpLFEueT1NKk1hdGguc2luKGEpLEUucHVzaChRLngsUS55LFEueiksRi5wdXNoKDAsMCwxKSxVLng9KFEueC9jKzEpLzIsVS55PShRLnkvYysxKS8yLEkucHVzaChVLngsVS55KTtNKz1QfWZvcihWPTA7VjxnO1YrKylmb3IoYz1WKihlKzEpLGVhPTA7ZWE8ZTtlYSsrKWE9ZWErYyx0PWErZSsxLHY9YStlKzIsTT1hKzEsei5wdXNoKGEsdCxNKSx6LnB1c2godCx2LE0pO3RoaXMuc2V0SW5kZXgoeik7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoRSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGJhKEYsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKEksMikpfQpmdW5jdGlvbiBWZihhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTGF0aGVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwb2ludHM6YSxzZWdtZW50czpjLHBoaVN0YXJ0OmUscGhpTGVuZ3RoOmd9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBRZShhLGMsZSxnKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gUWUoYSxjLGUsZyl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxhdGhlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cG9pbnRzOmEsc2VnbWVudHM6YyxwaGlTdGFydDplLHBoaUxlbmd0aDpnfTtjPU1hdGguZmxvb3IoYyl8fDEyO2U9ZXx8MDtnPWd8fDIqTWF0aC5QSTtnPWhiLmNsYW1wKGcsMCwyKk1hdGguUEkpO3ZhciB0PVtdLHY9W10sej1bXSxFPTEvYyxGPW5ldyBrLEk9bmV3IGYsTTtmb3IoTT0wO008PWM7TSsrKXt2YXIgUD1lK00qRSpnO3ZhciBRPU1hdGguc2luKFApLFU9TWF0aC5jb3MoUCk7Zm9yKFA9MDtQPD1hLmxlbmd0aC0KMTtQKyspRi54PWFbUF0ueCpRLEYueT1hW1BdLnksRi56PWFbUF0ueCpVLHYucHVzaChGLngsRi55LEYueiksSS54PU0vYyxJLnk9UC8oYS5sZW5ndGgtMSksei5wdXNoKEkueCxJLnkpfWZvcihNPTA7TTxjO00rKylmb3IoUD0wO1A8YS5sZW5ndGgtMTtQKyspZT1QK00qYS5sZW5ndGgsRT1lK2EubGVuZ3RoLEY9ZSthLmxlbmd0aCsxLEk9ZSsxLHQucHVzaChlLEUsSSksdC5wdXNoKEUsRixJKTt0aGlzLnNldEluZGV4KHQpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHYsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKHosMikpO3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtpZihnPT09MipNYXRoLlBJKWZvcihnPXRoaXMuYXR0cmlidXRlcy5ub3JtYWwuYXJyYXksdD1uZXcgayx2PW5ldyBrLHo9bmV3IGssZT1jKmEubGVuZ3RoKjMsUD1NPTA7TTxhLmxlbmd0aDtNKyssUCs9Myl0Lng9Z1tQKzBdLHQueT1nW1ArMV0sdC56PWdbUCsyXSx2Lng9CmdbZStQKzBdLHYueT1nW2UrUCsxXSx2Lno9Z1tlK1ArMl0sei5hZGRWZWN0b3JzKHQsdikubm9ybWFsaXplKCksZ1tQKzBdPWdbZStQKzBdPXoueCxnW1ArMV09Z1tlK1ArMV09ei55LGdbUCsyXT1nW2UrUCsyXT16Lnp9ZnVuY3Rpb24gWGQoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU2hhcGVHZW9tZXRyeSI7Im9iamVjdCI9PT10eXBlb2YgYyYmKGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGVHZW9tZXRyeTogT3B0aW9ucyBwYXJhbWV0ZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKSxjPWMuY3VydmVTZWdtZW50cyk7dGhpcy5wYXJhbWV0ZXJzPXtzaGFwZXM6YSxjdXJ2ZVNlZ21lbnRzOmN9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBZZChhLGMpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBZZChhLGMpe2Z1bmN0aW9uIGUoTSl7dmFyIFAsUT10Lmxlbmd0aC8zO009TS5leHRyYWN0UG9pbnRzKGMpO3ZhciBVPU0uc2hhcGUsVj1NLmhvbGVzOyExPT09Z2QuaXNDbG9ja1dpc2UoVSkmJgooVT1VLnJldmVyc2UoKSk7TT0wO2ZvcihQPVYubGVuZ3RoO008UDtNKyspe3ZhciBlYT1WW01dOyEwPT09Z2QuaXNDbG9ja1dpc2UoZWEpJiYoVltNXT1lYS5yZXZlcnNlKCkpfXZhciBkYT1nZC50cmlhbmd1bGF0ZVNoYXBlKFUsVik7TT0wO2ZvcihQPVYubGVuZ3RoO008UDtNKyspZWE9VltNXSxVPVUuY29uY2F0KGVhKTtNPTA7Zm9yKFA9VS5sZW5ndGg7TTxQO00rKyllYT1VW01dLHQucHVzaChlYS54LGVhLnksMCksdi5wdXNoKDAsMCwxKSx6LnB1c2goZWEueCxlYS55KTtNPTA7Zm9yKFA9ZGEubGVuZ3RoO008UDtNKyspVT1kYVtNXSxnLnB1c2goVVswXStRLFVbMV0rUSxVWzJdK1EpLEYrPTN9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNoYXBlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17c2hhcGVzOmEsY3VydmVTZWdtZW50czpjfTtjPWN8fDEyO3ZhciBnPVtdLHQ9W10sdj1bXSx6PVtdLEU9MCxGPTA7aWYoITE9PT1BcnJheS5pc0FycmF5KGEpKWUoYSk7ZWxzZSBmb3IodmFyIEk9CjA7STxhLmxlbmd0aDtJKyspZShhW0ldKSx0aGlzLmFkZEdyb3VwKEUsRixJKSxFKz1GLEY9MDt0aGlzLnNldEluZGV4KGcpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHQsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYSh2LDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYSh6LDIpKX1mdW5jdGlvbiBXaihhLGMpe2Muc2hhcGVzPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWMuc2hhcGVzLnB1c2goYVtlXS51dWlkKTtlbHNlIGMuc2hhcGVzLnB1c2goYS51dWlkKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhLGMpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJFZGdlc0dlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3RocmVzaG9sZEFuZ2xlOmN9O3ZhciBlPVtdO2M9TWF0aC5jb3MoaGIuREVHMlJBRCoodm9pZCAwIT09Yz9jOjEpKTt2YXIgZz1bMCwwXSx0PXt9LHY9WyJhIiwiYiIsImMiXTsKaWYoYS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgej1uZXcgeGE7ei5mcm9tQnVmZmVyR2VvbWV0cnkoYSl9ZWxzZSB6PWEuY2xvbmUoKTt6Lm1lcmdlVmVydGljZXMoKTt6LmNvbXB1dGVGYWNlTm9ybWFscygpO2E9ei52ZXJ0aWNlczt6PXouZmFjZXM7Zm9yKHZhciBFPTAsRj16Lmxlbmd0aDtFPEY7RSsrKWZvcih2YXIgST16W0VdLE09MDszPk07TSsrKXt2YXIgUD1JW3ZbTV1dO3ZhciBRPUlbdlsoTSsxKSUzXV07Z1swXT1NYXRoLm1pbihQLFEpO2dbMV09TWF0aC5tYXgoUCxRKTtQPWdbMF0rIiwiK2dbMV07dm9pZCAwPT09dFtQXT90W1BdPXtpbmRleDE6Z1swXSxpbmRleDI6Z1sxXSxmYWNlMTpFLGZhY2UyOnZvaWQgMH06dFtQXS5mYWNlMj1FfWZvcihQIGluIHQpaWYoZz10W1BdLHZvaWQgMD09PWcuZmFjZTJ8fHpbZy5mYWNlMV0ubm9ybWFsLmRvdCh6W2cuZmFjZTJdLm5vcm1hbCk8PWMpdj1hW2cuaW5kZXgxXSxlLnB1c2godi54LHYueSx2LnopLHY9YVtnLmluZGV4Ml0sZS5wdXNoKHYueCwKdi55LHYueik7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoZSwzKSl9ZnVuY3Rpb24gWmQoYSxjLGUsZyx0LHYseixFKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3lsaW5kZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXNUb3A6YSxyYWRpdXNCb3R0b206YyxoZWlnaHQ6ZSxyYWRpYWxTZWdtZW50czpnLGhlaWdodFNlZ21lbnRzOnQsb3BlbkVuZGVkOnYsdGhldGFTdGFydDp6LHRoZXRhTGVuZ3RoOkV9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBoZChhLGMsZSxnLHQsdix6LEUpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBoZChhLGMsZSxnLHQsdix6LEUpe2Z1bmN0aW9uIEYocGEpe3ZhciBxYSx1YT1uZXcgZixuYT1uZXcgayx0YT0wLEJhPSEwPT09cGE/YTpjLFRhPSEwPT09cGE/MTotMTt2YXIgVWE9Vjtmb3IocWE9MTtxYTw9ZztxYSsrKVAucHVzaCgwLGRhKlRhLDApLFEucHVzaCgwLFRhLDApLFUucHVzaCguNSwuNSksClYrKzt2YXIgQ2E9Vjtmb3IocWE9MDtxYTw9ZztxYSsrKXt2YXIgSGE9cWEvZypFK3osRGE9TWF0aC5jb3MoSGEpO0hhPU1hdGguc2luKEhhKTtuYS54PUJhKkhhO25hLnk9ZGEqVGE7bmEuej1CYSpEYTtQLnB1c2gobmEueCxuYS55LG5hLnopO1EucHVzaCgwLFRhLDApO3VhLng9LjUqRGErLjU7dWEueT0uNSpIYSpUYSsuNTtVLnB1c2godWEueCx1YS55KTtWKyt9Zm9yKHFhPTA7cWE8ZztxYSsrKXVhPVVhK3FhLG5hPUNhK3FhLCEwPT09cGE/TS5wdXNoKG5hLG5hKzEsdWEpOk0ucHVzaChuYSsxLG5hLHVhKSx0YSs9MztJLmFkZEdyb3VwKHJhLHRhLCEwPT09cGE/MToyKTtyYSs9dGF9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkN5bGluZGVyQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzVG9wOmEscmFkaXVzQm90dG9tOmMsaGVpZ2h0OmUscmFkaWFsU2VnbWVudHM6ZyxoZWlnaHRTZWdtZW50czp0LG9wZW5FbmRlZDp2LHRoZXRhU3RhcnQ6eix0aGV0YUxlbmd0aDpFfTsKdmFyIEk9dGhpczthPXZvaWQgMCE9PWE/YToxO2M9dm9pZCAwIT09Yz9jOjE7ZT1lfHwxO2c9TWF0aC5mbG9vcihnKXx8ODt0PU1hdGguZmxvb3IodCl8fDE7dj12b2lkIDAhPT12P3Y6ITE7ej12b2lkIDAhPT16P3o6MDtFPXZvaWQgMCE9PUU/RToyKk1hdGguUEk7dmFyIE09W10sUD1bXSxRPVtdLFU9W10sVj0wLGVhPVtdLGRhPWUvMixyYT0wOyhmdW5jdGlvbigpe3ZhciBwYSxxYSx1YT1uZXcgayxuYT1uZXcgayx0YT0wLEJhPShjLWEpL2U7Zm9yKHFhPTA7cWE8PXQ7cWErKyl7dmFyIFRhPVtdLFVhPXFhL3QsQ2E9VWEqKGMtYSkrYTtmb3IocGE9MDtwYTw9ZztwYSsrKXt2YXIgSGE9cGEvZyxEYT1IYSpFK3osTWE9TWF0aC5zaW4oRGEpO0RhPU1hdGguY29zKERhKTtuYS54PUNhKk1hO25hLnk9LVVhKmUrZGE7bmEuej1DYSpEYTtQLnB1c2gobmEueCxuYS55LG5hLnopO3VhLnNldChNYSxCYSxEYSkubm9ybWFsaXplKCk7US5wdXNoKHVhLngsdWEueSx1YS56KTtVLnB1c2goSGEsCjEtVWEpO1RhLnB1c2goVisrKX1lYS5wdXNoKFRhKX1mb3IocGE9MDtwYTxnO3BhKyspZm9yKHFhPTA7cWE8dDtxYSsrKXVhPWVhW3FhKzFdW3BhXSxuYT1lYVtxYSsxXVtwYSsxXSxCYT1lYVtxYV1bcGErMV0sTS5wdXNoKGVhW3FhXVtwYV0sdWEsQmEpLE0ucHVzaCh1YSxuYSxCYSksdGErPTY7SS5hZGRHcm91cChyYSx0YSwwKTtyYSs9dGF9KSgpOyExPT09diYmKDA8YSYmRighMCksMDxjJiZGKCExKSk7dGhpcy5zZXRJbmRleChNKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShQLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoUSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoVSwyKSl9ZnVuY3Rpb24gV2YoYSxjLGUsZyx0LHYseil7WmQuY2FsbCh0aGlzLDAsYSxjLGUsZyx0LHYseik7dGhpcy50eXBlPSJDb25lR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsaGVpZ2h0OmMscmFkaWFsU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnLApvcGVuRW5kZWQ6dCx0aGV0YVN0YXJ0OnYsdGhldGFMZW5ndGg6en19ZnVuY3Rpb24gWGYoYSxjLGUsZyx0LHYseil7aGQuY2FsbCh0aGlzLDAsYSxjLGUsZyx0LHYseik7dGhpcy50eXBlPSJDb25lQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsaGVpZ2h0OmMscmFkaWFsU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnLG9wZW5FbmRlZDp0LHRoZXRhU3RhcnQ6dix0aGV0YUxlbmd0aDp6fX1mdW5jdGlvbiBZZihhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2lyY2xlR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsc2VnbWVudHM6Yyx0aGV0YVN0YXJ0OmUsdGhldGFMZW5ndGg6Z307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFNlKGEsYyxlLGcpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBTZShhLGMsZSxnKXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2lyY2xlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz0Ke3JhZGl1czphLHNlZ21lbnRzOmMsdGhldGFTdGFydDplLHRoZXRhTGVuZ3RoOmd9O2E9YXx8MTtjPXZvaWQgMCE9PWM/TWF0aC5tYXgoMyxjKTo4O2U9dm9pZCAwIT09ZT9lOjA7Zz12b2lkIDAhPT1nP2c6MipNYXRoLlBJO3ZhciB0PVtdLHY9W10sej1bXSxFPVtdLEYsST1uZXcgayxNPW5ldyBmO3YucHVzaCgwLDAsMCk7ei5wdXNoKDAsMCwxKTtFLnB1c2goLjUsLjUpO3ZhciBQPTA7Zm9yKEY9MztQPD1jO1ArKyxGKz0zKXt2YXIgUT1lK1AvYypnO0kueD1hKk1hdGguY29zKFEpO0kueT1hKk1hdGguc2luKFEpO3YucHVzaChJLngsSS55LEkueik7ei5wdXNoKDAsMCwxKTtNLng9KHZbRl0vYSsxKS8yO00ueT0odltGKzFdL2ErMSkvMjtFLnB1c2goTS54LE0ueSl9Zm9yKEY9MTtGPD1jO0YrKyl0LnB1c2goRixGKzEsMCk7dGhpcy5zZXRJbmRleCh0KTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYSh2LDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoeiwKMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKEUsMikpfWZ1bmN0aW9uICRkKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNoYWRvd01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDApO3RoaXMudHJhbnNwYXJlbnQ9ITA7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gVGUoYSl7cWIuY2FsbCh0aGlzLGEpO3RoaXMudHlwZT0iUmF3U2hhZGVyTWF0ZXJpYWwifWZ1bmN0aW9uIFVjKGEpe1MuY2FsbCh0aGlzKTt0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifTt0aGlzLnR5cGU9Ik1lc2hTdGFuZGFyZE1hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLm1ldGFsbmVzcz10aGlzLnJvdWdobmVzcz0uNTt0aGlzLmxpZ2h0TWFwPXRoaXMubWFwPW51bGw7dGhpcy5saWdodE1hcEludGVuc2l0eT0xO3RoaXMuYW9NYXA9bnVsbDt0aGlzLmFvTWFwSW50ZW5zaXR5PTE7dGhpcy5lbWlzc2l2ZT1uZXcgSCgwKTt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTE7CnRoaXMuYnVtcE1hcD10aGlzLmVtaXNzaXZlTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMubWV0YWxuZXNzTWFwPXRoaXMucm91Z2huZXNzTWFwPW51bGw7dGhpcy5lbnZNYXBJbnRlbnNpdHk9MTt0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTg7dGhpcy53aXJlZnJhbWU9ITE7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MTt0aGlzLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gYWUoYSl7VWMuY2FsbCh0aGlzKTsKdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn07dGhpcy50eXBlPSJNZXNoUGh5c2ljYWxNYXRlcmlhbCI7dGhpcy5yZWZsZWN0aXZpdHk9LjU7dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9dGhpcy5jbGVhcmNvYXQ9MDt0aGlzLnNoZWVuPW51bGw7dGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZT1uZXcgZigxLDEpO3RoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPW51bGw7dGhpcy50cmFuc3BhcmVuY3k9MDt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiBEYyhhKXtTLmNhbGwodGhpcyk7dGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCI7dGhpcy5jb2xvcj1uZXcgSCgxNjc3NzIxNSk7dGhpcy5zcGVjdWxhcj1uZXcgSCgxMTE4NDgxKTt0aGlzLnNoaW5pbmVzcz0zMDt0aGlzLmxpZ2h0TWFwPXRoaXMubWFwPW51bGw7dGhpcy5saWdodE1hcEludGVuc2l0eT0xO3RoaXMuYW9NYXA9bnVsbDt0aGlzLmFvTWFwSW50ZW5zaXR5PTE7dGhpcy5lbWlzc2l2ZT1uZXcgSCgwKTt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PQoxO3RoaXMuYnVtcE1hcD10aGlzLmVtaXNzaXZlTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMuc3BlY3VsYXJNYXA9bnVsbDt0aGlzLmNvbWJpbmU9MDt0aGlzLnJlZmxlY3Rpdml0eT0xO3RoaXMucmVmcmFjdGlvblJhdGlvPS45ODt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMud2lyZWZyYW1lTGluZWpvaW49dGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCI7dGhpcy5tb3JwaE5vcm1hbHM9dGhpcy5tb3JwaFRhcmdldHM9dGhpcy5za2lubmluZz0hMTt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiBiZShhKXtEYy5jYWxsKHRoaXMpOwp0aGlzLmRlZmluZXM9e1RPT046IiJ9O3RoaXMudHlwZT0iTWVzaFRvb25NYXRlcmlhbCI7dGhpcy5ncmFkaWVudE1hcD1udWxsO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGNlKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ik1lc2hOb3JtYWxNYXRlcmlhbCI7dGhpcy5idW1wTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gZGUoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0KIk1lc2hMYW1iZXJ0TWF0ZXJpYWwiO3RoaXMuY29sb3I9bmV3IEgoMTY3NzcyMTUpO3RoaXMubGlnaHRNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTE7dGhpcy5hb01hcD1udWxsO3RoaXMuYW9NYXBJbnRlbnNpdHk9MTt0aGlzLmVtaXNzaXZlPW5ldyBIKDApO3RoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MTt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMuc3BlY3VsYXJNYXA9dGhpcy5lbWlzc2l2ZU1hcD1udWxsO3RoaXMuY29tYmluZT0wO3RoaXMucmVmbGVjdGl2aXR5PTE7dGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4O3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIjt0aGlzLm1vcnBoTm9ybWFscz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGVlKGEpe1MuY2FsbCh0aGlzKTsKdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9O3RoaXMudHlwZT0iTWVzaE1hdGNhcE1hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmJ1bXBNYXA9dGhpcy5tYXA9dGhpcy5tYXRjYXA9bnVsbDt0aGlzLmJ1bXBTY2FsZT0xO3RoaXMubm9ybWFsTWFwPW51bGw7dGhpcy5ub3JtYWxNYXBUeXBlPTA7dGhpcy5ub3JtYWxTY2FsZT1uZXcgZigxLDEpO3RoaXMuZGlzcGxhY2VtZW50TWFwPW51bGw7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz0wO3RoaXMuYWxwaGFNYXA9bnVsbDt0aGlzLmxpZ2h0cz10aGlzLm1vcnBoTm9ybWFscz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGZlKGEpe0ZiLmNhbGwodGhpcyk7dGhpcy50eXBlPSJMaW5lRGFzaGVkTWF0ZXJpYWwiO3RoaXMuc2NhbGU9MTt0aGlzLmRhc2hTaXplPTM7dGhpcy5nYXBTaXplPTE7dGhpcy5zZXRWYWx1ZXMoYSl9CmZ1bmN0aW9uIHJjKGEsYyxlLGcpe3RoaXMucGFyYW1ldGVyUG9zaXRpb25zPWE7dGhpcy5fY2FjaGVkSW5kZXg9MDt0aGlzLnJlc3VsdEJ1ZmZlcj12b2lkIDAhPT1nP2c6bmV3IGMuY29uc3RydWN0b3IoZSk7dGhpcy5zYW1wbGVWYWx1ZXM9Yzt0aGlzLnZhbHVlU2l6ZT1lfWZ1bmN0aW9uIEhnKGEsYyxlLGcpe3JjLmNhbGwodGhpcyxhLGMsZSxnKTt0aGlzLl9vZmZzZXROZXh0PXRoaXMuX3dlaWdodE5leHQ9dGhpcy5fb2Zmc2V0UHJldj10aGlzLl93ZWlnaHRQcmV2PS0wfWZ1bmN0aW9uIFpmKGEsYyxlLGcpe3JjLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBJZyhhLGMsZSxnKXtyYy5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gWmIoYSxjLGUsZyl7aWYodm9pZCAwPT09YSl0aHJvdyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgbmFtZSBpcyB1bmRlZmluZWQiKTtpZih2b2lkIDA9PT1jfHwwPT09Yy5sZW5ndGgpdGhyb3cgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IG5vIGtleWZyYW1lcyBpbiB0cmFjayBuYW1lZCAiKwphKTt0aGlzLm5hbWU9YTt0aGlzLnRpbWVzPVZiLmNvbnZlcnRBcnJheShjLHRoaXMuVGltZUJ1ZmZlclR5cGUpO3RoaXMudmFsdWVzPVZiLmNvbnZlcnRBcnJheShlLHRoaXMuVmFsdWVCdWZmZXJUeXBlKTt0aGlzLnNldEludGVycG9sYXRpb24oZ3x8dGhpcy5EZWZhdWx0SW50ZXJwb2xhdGlvbil9ZnVuY3Rpb24gSmcoYSxjLGUpe1piLmNhbGwodGhpcyxhLGMsZSl9ZnVuY3Rpb24gS2coYSxjLGUsZyl7WmIuY2FsbCh0aGlzLGEsYyxlLGcpfWZ1bmN0aW9uIFVlKGEsYyxlLGcpe1piLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBMZyhhLGMsZSxnKXtyYy5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gJGYoYSxjLGUsZyl7WmIuY2FsbCh0aGlzLGEsYyxlLGcpfWZ1bmN0aW9uIE1nKGEsYyxlLGcpe1piLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBWZShhLGMsZSxnKXtaYi5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gdmMoYSxjLGUpe3RoaXMubmFtZT1hO3RoaXMudHJhY2tzPQplO3RoaXMuZHVyYXRpb249dm9pZCAwIT09Yz9jOi0xO3RoaXMudXVpZD1oYi5nZW5lcmF0ZVVVSUQoKTswPnRoaXMuZHVyYXRpb24mJnRoaXMucmVzZXREdXJhdGlvbigpfWZ1bmN0aW9uIEhtKGEpe3N3aXRjaChhLnRvTG93ZXJDYXNlKCkpe2Nhc2UgInNjYWxhciI6Y2FzZSAiZG91YmxlIjpjYXNlICJmbG9hdCI6Y2FzZSAibnVtYmVyIjpjYXNlICJpbnRlZ2VyIjpyZXR1cm4gVWU7Y2FzZSAidmVjdG9yIjpjYXNlICJ2ZWN0b3IyIjpjYXNlICJ2ZWN0b3IzIjpjYXNlICJ2ZWN0b3I0IjpyZXR1cm4gVmU7Y2FzZSAiY29sb3IiOnJldHVybiBLZztjYXNlICJxdWF0ZXJuaW9uIjpyZXR1cm4gJGY7Y2FzZSAiYm9vbCI6Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIEpnO2Nhc2UgInN0cmluZyI6cmV0dXJuIE1nfXRocm93IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBVbnN1cHBvcnRlZCB0eXBlTmFtZTogIithKTt9ZnVuY3Rpb24gSW0oYSl7aWYodm9pZCAwPT09YS50eXBlKXRocm93IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiB0cmFjayB0eXBlIHVuZGVmaW5lZCwgY2FuIG5vdCBwYXJzZSIpOwp2YXIgYz1IbShhLnR5cGUpO2lmKHZvaWQgMD09PWEudGltZXMpe3ZhciBlPVtdLGc9W107VmIuZmxhdHRlbkpTT04oYS5rZXlzLGUsZywidmFsdWUiKTthLnRpbWVzPWU7YS52YWx1ZXM9Z31yZXR1cm4gdm9pZCAwIT09Yy5wYXJzZT9jLnBhcnNlKGEpOm5ldyBjKGEubmFtZSxhLnRpbWVzLGEudmFsdWVzLGEuaW50ZXJwb2xhdGlvbil9ZnVuY3Rpb24gZWkoYSxjLGUpe3ZhciBnPXRoaXMsdD0hMSx2PTAsej0wLEU9dm9pZCAwO3RoaXMub25TdGFydD12b2lkIDA7dGhpcy5vbkxvYWQ9YTt0aGlzLm9uUHJvZ3Jlc3M9Yzt0aGlzLm9uRXJyb3I9ZTt0aGlzLml0ZW1TdGFydD1mdW5jdGlvbihGKXt6Kys7aWYoITE9PT10JiZ2b2lkIDAhPT1nLm9uU3RhcnQpZy5vblN0YXJ0KEYsdix6KTt0PSEwfTt0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24oRil7disrO2lmKHZvaWQgMCE9PWcub25Qcm9ncmVzcylnLm9uUHJvZ3Jlc3MoRix2LHopO2lmKHY9PT16JiYodD0hMSx2b2lkIDAhPT1nLm9uTG9hZCkpZy5vbkxvYWQoKX07CnRoaXMuaXRlbUVycm9yPWZ1bmN0aW9uKEYpe2lmKHZvaWQgMCE9PWcub25FcnJvcilnLm9uRXJyb3IoRil9O3RoaXMucmVzb2x2ZVVSTD1mdW5jdGlvbihGKXtyZXR1cm4gRT9FKEYpOkZ9O3RoaXMuc2V0VVJMTW9kaWZpZXI9ZnVuY3Rpb24oRil7RT1GO3JldHVybiB0aGlzfX1mdW5jdGlvbiBEYihhKXt0aGlzLm1hbmFnZXI9dm9pZCAwIT09YT9hOlhqO3RoaXMuY3Jvc3NPcmlnaW49ImFub255bW91cyI7dGhpcy5yZXNvdXJjZVBhdGg9dGhpcy5wYXRoPSIifWZ1bmN0aW9uIHdjKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBmaShhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gZ2koYSl7RGIuY2FsbCh0aGlzLGEpO3RoaXMuX3BhcnNlcj1udWxsfWZ1bmN0aW9uIE5nKGEpe0RiLmNhbGwodGhpcyxhKTt0aGlzLl9wYXJzZXI9bnVsbH1mdW5jdGlvbiBXZShhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gT2coYSl7RGIuY2FsbCh0aGlzLGEpfWZ1bmN0aW9uIFBnKGEpe0RiLmNhbGwodGhpcywKYSl9ZnVuY3Rpb24gWmEoKXt0aGlzLnR5cGU9IkN1cnZlIjt0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz0yMDB9ZnVuY3Rpb24gc2MoYSxjLGUsZyx0LHYseixFKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRWxsaXBzZUN1cnZlIjt0aGlzLmFYPWF8fDA7dGhpcy5hWT1jfHwwO3RoaXMueFJhZGl1cz1lfHwxO3RoaXMueVJhZGl1cz1nfHwxO3RoaXMuYVN0YXJ0QW5nbGU9dHx8MDt0aGlzLmFFbmRBbmdsZT12fHwyKk1hdGguUEk7dGhpcy5hQ2xvY2t3aXNlPXp8fCExO3RoaXMuYVJvdGF0aW9uPUV8fDB9ZnVuY3Rpb24gWGUoYSxjLGUsZyx0LHYpe3NjLmNhbGwodGhpcyxhLGMsZSxlLGcsdCx2KTt0aGlzLnR5cGU9IkFyY0N1cnZlIn1mdW5jdGlvbiBoaSgpe2Z1bmN0aW9uIGEodix6LEUsRil7Yz12O2U9RTtnPS0zKnYrMyp6LTIqRS1GO3Q9Mip2LTIqeitFK0Z9dmFyIGM9MCxlPTAsZz0wLHQ9MDtyZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odix6LEUsRixJKXthKHosRSxJKgooRS12KSxJKihGLXopKX0saW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tOmZ1bmN0aW9uKHYseixFLEYsSSxNLFApe2EoeixFLCgoei12KS9JLShFLXYpLyhJK00pKyhFLXopL00pKk0sKChFLXopL00tKEYteikvKE0rUCkrKEYtRSkvUCkqTSl9LGNhbGM6ZnVuY3Rpb24odil7dmFyIHo9dip2O3JldHVybiBjK2UqditnKnordCp6KnZ9fX1mdW5jdGlvbiBiYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyI7dGhpcy5wb2ludHM9YXx8W107dGhpcy5jbG9zZWQ9Y3x8ITE7dGhpcy5jdXJ2ZVR5cGU9ZXx8ImNlbnRyaXBldGFsIjt0aGlzLnRlbnNpb249Z3x8LjV9ZnVuY3Rpb24gWWooYSxjLGUsZyx0KXtjPS41KihnLWMpO3Q9LjUqKHQtZSk7dmFyIHY9YSphO3JldHVybigyKmUtMipnK2MrdCkqYSp2KygtMyplKzMqZy0yKmMtdCkqditjKmErZX1mdW5jdGlvbiBKbShhLGMpe2E9MS1hO3JldHVybiBhKmEqY31mdW5jdGlvbiBLbShhLGMpe3JldHVybiAyKgooMS1hKSphKmN9ZnVuY3Rpb24gTG0oYSxjKXtyZXR1cm4gYSphKmN9ZnVuY3Rpb24gYWcoYSxjLGUsZyl7cmV0dXJuIEptKGEsYykrS20oYSxlKStMbShhLGcpfWZ1bmN0aW9uIE1tKGEsYyl7YT0xLWE7cmV0dXJuIGEqYSphKmN9ZnVuY3Rpb24gTm0oYSxjKXt2YXIgZT0xLWE7cmV0dXJuIDMqZSplKmEqY31mdW5jdGlvbiBPbShhLGMpe3JldHVybiAzKigxLWEpKmEqYSpjfWZ1bmN0aW9uIFBtKGEsYyl7cmV0dXJuIGEqYSphKmN9ZnVuY3Rpb24gYmcoYSxjLGUsZyx0KXtyZXR1cm4gTW0oYSxjKStObShhLGUpK09tKGEsZykrUG0oYSx0KX1mdW5jdGlvbiBFYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZSI7dGhpcy52MD1hfHxuZXcgZjt0aGlzLnYxPWN8fG5ldyBmO3RoaXMudjI9ZXx8bmV3IGY7dGhpcy52Mz1nfHxuZXcgZn1mdW5jdGlvbiBWYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiOwp0aGlzLnYwPWF8fG5ldyBrO3RoaXMudjE9Y3x8bmV3IGs7dGhpcy52Mj1lfHxuZXcgazt0aGlzLnYzPWd8fG5ldyBrfWZ1bmN0aW9uIG5jKGEsYyl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpbmVDdXJ2ZSI7dGhpcy52MT1hfHxuZXcgZjt0aGlzLnYyPWN8fG5ldyBmfWZ1bmN0aW9uIEZjKGEsYyl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpbmVDdXJ2ZTMiO3RoaXMudjE9YXx8bmV3IGs7dGhpcy52Mj1jfHxuZXcga31mdW5jdGlvbiBHYyhhLGMsZSl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIjt0aGlzLnYwPWF8fG5ldyBmO3RoaXMudjE9Y3x8bmV3IGY7dGhpcy52Mj1lfHxuZXcgZn1mdW5jdGlvbiBXYyhhLGMsZSl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlMyI7dGhpcy52MD1hfHxuZXcgazt0aGlzLnYxPWN8fG5ldyBrO3RoaXMudjI9ZXx8bmV3IGt9ZnVuY3Rpb24gSGMoYSl7WmEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJTcGxpbmVDdXJ2ZSI7dGhpcy5wb2ludHM9YXx8W119ZnVuY3Rpb24gaWQoKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3VydmVQYXRoIjt0aGlzLmN1cnZlcz1bXTt0aGlzLmF1dG9DbG9zZT0hMX1mdW5jdGlvbiBJYyhhKXtpZC5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGF0aCI7dGhpcy5jdXJyZW50UG9pbnQ9bmV3IGY7YSYmdGhpcy5zZXRGcm9tUG9pbnRzKGEpfWZ1bmN0aW9uIEVkKGEpe0ljLmNhbGwodGhpcyxhKTt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy50eXBlPSJTaGFwZSI7dGhpcy5ob2xlcz1bXX1mdW5jdGlvbiBLYihhLGMpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpZ2h0Ijt0aGlzLmNvbG9yPW5ldyBIKGEpO3RoaXMuaW50ZW5zaXR5PXZvaWQgMCE9PWM/YzoxO3RoaXMucmVjZWl2ZVNoYWRvdz12b2lkIDB9ZnVuY3Rpb24gUWcoYSxjLGUpe0tiLmNhbGwodGhpcyxhLGUpO3RoaXMudHlwZT0iSGVtaXNwaGVyZUxpZ2h0Ijt0aGlzLmNhc3RTaGFkb3c9CnZvaWQgMDt0aGlzLnBvc2l0aW9uLmNvcHkoQS5EZWZhdWx0VXApO3RoaXMudXBkYXRlTWF0cml4KCk7dGhpcy5ncm91bmRDb2xvcj1uZXcgSChjKX1mdW5jdGlvbiBYYyhhKXt0aGlzLmNhbWVyYT1hO3RoaXMuYmlhcz0wO3RoaXMucmFkaXVzPTE7dGhpcy5tYXBTaXplPW5ldyBmKDUxMiw1MTIpO3RoaXMubWFwUGFzcz10aGlzLm1hcD1udWxsO3RoaXMubWF0cml4PW5ldyBxO3RoaXMuX2ZydXN0dW09bmV3IGxjO3RoaXMuX2ZyYW1lRXh0ZW50cz1uZXcgZigxLDEpO3RoaXMuX3ZpZXdwb3J0Q291bnQ9MTt0aGlzLl92aWV3cG9ydHM9W25ldyBwKDAsMCwxLDEpXX1mdW5jdGlvbiBSZygpe1hjLmNhbGwodGhpcyxuZXcgdmIoNTAsMSwuNSw1MDApKX1mdW5jdGlvbiBTZyhhLGMsZSxnLHQsdil7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJTcG90TGlnaHQiO3RoaXMucG9zaXRpb24uY29weShBLkRlZmF1bHRVcCk7dGhpcy51cGRhdGVNYXRyaXgoKTt0aGlzLnRhcmdldD1uZXcgQTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInBvd2VyIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9LHNldDpmdW5jdGlvbih6KXt0aGlzLmludGVuc2l0eT16L01hdGguUEl9fSk7dGhpcy5kaXN0YW5jZT12b2lkIDAhPT1lP2U6MDt0aGlzLmFuZ2xlPXZvaWQgMCE9PWc/ZzpNYXRoLlBJLzM7dGhpcy5wZW51bWJyYT12b2lkIDAhPT10P3Q6MDt0aGlzLmRlY2F5PXZvaWQgMCE9PXY/djoxO3RoaXMuc2hhZG93PW5ldyBSZ31mdW5jdGlvbiBpaSgpe1hjLmNhbGwodGhpcyxuZXcgdmIoOTAsMSwuNSw1MDApKTt0aGlzLl9mcmFtZUV4dGVudHM9bmV3IGYoNCwyKTt0aGlzLl92aWV3cG9ydENvdW50PTY7dGhpcy5fdmlld3BvcnRzPVtuZXcgcCgyLDEsMSwxKSxuZXcgcCgwLDEsMSwxKSxuZXcgcCgzLDEsMSwxKSxuZXcgcCgxLDEsMSwxKSxuZXcgcCgzLDAsMSwxKSxuZXcgcCgxLDAsMSwxKV07dGhpcy5fY3ViZURpcmVjdGlvbnM9W25ldyBrKDEsCjAsMCksbmV3IGsoLTEsMCwwKSxuZXcgaygwLDAsMSksbmV3IGsoMCwwLC0xKSxuZXcgaygwLDEsMCksbmV3IGsoMCwtMSwwKV07dGhpcy5fY3ViZVVwcz1bbmV3IGsoMCwxLDApLG5ldyBrKDAsMSwwKSxuZXcgaygwLDEsMCksbmV3IGsoMCwxLDApLG5ldyBrKDAsMCwxKSxuZXcgaygwLDAsLTEpXX1mdW5jdGlvbiBUZyhhLGMsZSxnKXtLYi5jYWxsKHRoaXMsYSxjKTt0aGlzLnR5cGU9IlBvaW50TGlnaHQiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJwb3dlciIse2dldDpmdW5jdGlvbigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9LHNldDpmdW5jdGlvbih0KXt0aGlzLmludGVuc2l0eT10Lyg0Kk1hdGguUEkpfX0pO3RoaXMuZGlzdGFuY2U9dm9pZCAwIT09ZT9lOjA7dGhpcy5kZWNheT12b2lkIDAhPT1nP2c6MTt0aGlzLnNoYWRvdz1uZXcgaWl9ZnVuY3Rpb24gY2coYSxjLGUsZyx0LHYpe3piLmNhbGwodGhpcyk7dGhpcy50eXBlPSJPcnRob2dyYXBoaWNDYW1lcmEiOwp0aGlzLnpvb209MTt0aGlzLnZpZXc9bnVsbDt0aGlzLmxlZnQ9dm9pZCAwIT09YT9hOi0xO3RoaXMucmlnaHQ9dm9pZCAwIT09Yz9jOjE7dGhpcy50b3A9dm9pZCAwIT09ZT9lOjE7dGhpcy5ib3R0b209dm9pZCAwIT09Zz9nOi0xO3RoaXMubmVhcj12b2lkIDAhPT10P3Q6LjE7dGhpcy5mYXI9dm9pZCAwIT09dj92OjJFMzt0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1mdW5jdGlvbiBVZygpe1hjLmNhbGwodGhpcyxuZXcgY2coLTUsNSw1LC01LC41LDUwMCkpfWZ1bmN0aW9uIFZnKGEsYyl7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJEaXJlY3Rpb25hbExpZ2h0Ijt0aGlzLnBvc2l0aW9uLmNvcHkoQS5EZWZhdWx0VXApO3RoaXMudXBkYXRlTWF0cml4KCk7dGhpcy50YXJnZXQ9bmV3IEE7dGhpcy5zaGFkb3c9bmV3IFVnfWZ1bmN0aW9uIFdnKGEsYyl7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJBbWJpZW50TGlnaHQiO3RoaXMuY2FzdFNoYWRvdz12b2lkIDB9CmZ1bmN0aW9uIFhnKGEsYyxlLGcpe0tiLmNhbGwodGhpcyxhLGMpO3RoaXMudHlwZT0iUmVjdEFyZWFMaWdodCI7dGhpcy53aWR0aD12b2lkIDAhPT1lP2U6MTA7dGhpcy5oZWlnaHQ9dm9pZCAwIT09Zz9nOjEwfWZ1bmN0aW9uIFlnKGEpe0RiLmNhbGwodGhpcyxhKTt0aGlzLnRleHR1cmVzPXt9fWZ1bmN0aW9uIFpnKCl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ikluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5Ijt0aGlzLm1heEluc3RhbmNlZENvdW50PXZvaWQgMH1mdW5jdGlvbiAkZyhhLGMsZSxnKXsibnVtYmVyIj09PXR5cGVvZiBlJiYoZz1lLGU9ITEsY29uc29sZS5lcnJvcigiVEhSRUUuSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlOiBUaGUgY29uc3RydWN0b3Igbm93IGV4cGVjdHMgbm9ybWFsaXplZCBhcyB0aGUgdGhpcmQgYXJndW1lbnQuIikpO1IuY2FsbCh0aGlzLGEsYyxlKTt0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9Z3x8MX1mdW5jdGlvbiBhaChhKXtEYi5jYWxsKHRoaXMsYSl9CmZ1bmN0aW9uIGJoKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBqaShhKXsidW5kZWZpbmVkIj09PXR5cGVvZiBjcmVhdGVJbWFnZUJpdG1hcCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogY3JlYXRlSW1hZ2VCaXRtYXAoKSBub3Qgc3VwcG9ydGVkLiIpOyJ1bmRlZmluZWQiPT09dHlwZW9mIGZldGNoJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBmZXRjaCgpIG5vdCBzdXBwb3J0ZWQuIik7RGIuY2FsbCh0aGlzLGEpO3RoaXMub3B0aW9ucz12b2lkIDB9ZnVuY3Rpb24ga2koKXt0aGlzLnR5cGU9IlNoYXBlUGF0aCI7dGhpcy5jb2xvcj1uZXcgSDt0aGlzLnN1YlBhdGhzPVtdO3RoaXMuY3VycmVudFBhdGg9bnVsbH1mdW5jdGlvbiBsaShhKXt0aGlzLnR5cGU9IkZvbnQiO3RoaXMuZGF0YT1hfWZ1bmN0aW9uIFFtKGEsYyxlKXthPUFycmF5LmZyb20/QXJyYXkuZnJvbShhKTpTdHJpbmcoYSkuc3BsaXQoIiIpO2MvPWUucmVzb2x1dGlvbjsKZm9yKHZhciBnPShlLmJvdW5kaW5nQm94LnlNYXgtZS5ib3VuZGluZ0JveC55TWluK2UudW5kZXJsaW5lVGhpY2tuZXNzKSpjLHQ9W10sdj0wLHo9MCxFPTA7RTxhLmxlbmd0aDtFKyspe3ZhciBGPWFbRV07IlxuIj09PUY/KHY9MCx6LT1nKTooRj1SbShGLGMsdix6LGUpLHYrPUYub2Zmc2V0WCx0LnB1c2goRi5wYXRoKSl9cmV0dXJuIHR9ZnVuY3Rpb24gUm0oYSxjLGUsZyx0KXt2YXIgdj10LmdseXBoc1thXXx8dC5nbHlwaHNbIj8iXTtpZih2KXthPW5ldyBraTtpZih2Lm8pe3Q9di5fY2FjaGVkT3V0bGluZXx8KHYuX2NhY2hlZE91dGxpbmU9di5vLnNwbGl0KCIgIikpO2Zvcih2YXIgej0wLEU9dC5sZW5ndGg7ejxFOylzd2l0Y2godFt6KytdKXtjYXNlICJtIjp2YXIgRj10W3orK10qYytlO3ZhciBJPXRbeisrXSpjK2c7YS5tb3ZlVG8oRixJKTticmVhaztjYXNlICJsIjpGPXRbeisrXSpjK2U7ST10W3orK10qYytnO2EubGluZVRvKEYsSSk7YnJlYWs7Y2FzZSAicSI6Rj10W3orK10qCmMrZTtJPXRbeisrXSpjK2c7dmFyIE09dFt6KytdKmMrZTt2YXIgUD10W3orK10qYytnO2EucXVhZHJhdGljQ3VydmVUbyhNLFAsRixJKTticmVhaztjYXNlICJiIjpGPXRbeisrXSpjK2U7ST10W3orK10qYytnO009dFt6KytdKmMrZTtQPXRbeisrXSpjK2c7dmFyIFE9dFt6KytdKmMrZTt2YXIgVT10W3orK10qYytnO2EuYmV6aWVyQ3VydmVUbyhNLFAsUSxVLEYsSSl9fXJldHVybntvZmZzZXRYOnYuaGEqYyxwYXRoOmF9fWNvbnNvbGUuZXJyb3IoJ1RIUkVFLkZvbnQ6IGNoYXJhY3RlciAiJythKyciIGRvZXMgbm90IGV4aXN0cyBpbiBmb250IGZhbWlseSAnK3QuZmFtaWx5TmFtZSsiLiIpfWZ1bmN0aW9uIG1pKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBjaChhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gZGgoKXt0aGlzLmNvZWZmaWNpZW50cz1bXTtmb3IodmFyIGE9MDs5PmE7YSsrKXRoaXMuY29lZmZpY2llbnRzLnB1c2gobmV3IGspfWZ1bmN0aW9uIEpjKGEsYyl7S2IuY2FsbCh0aGlzLAp2b2lkIDAsYyk7dGhpcy5zaD12b2lkIDAhPT1hP2E6bmV3IGRofWZ1bmN0aW9uIG5pKGEsYyxlKXtKYy5jYWxsKHRoaXMsdm9pZCAwLGUpO2E9KG5ldyBIKS5zZXQoYSk7ZT0obmV3IEgpLnNldChjKTtjPW5ldyBrKGEucixhLmcsYS5iKTthPW5ldyBrKGUucixlLmcsZS5iKTtlPU1hdGguc3FydChNYXRoLlBJKTt2YXIgZz1lKk1hdGguc3FydCguNzUpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLmNvcHkoYykuYWRkKGEpLm11bHRpcGx5U2NhbGFyKGUpO3RoaXMuc2guY29lZmZpY2llbnRzWzFdLmNvcHkoYykuc3ViKGEpLm11bHRpcGx5U2NhbGFyKGcpfWZ1bmN0aW9uIG9pKGEsYyl7SmMuY2FsbCh0aGlzLHZvaWQgMCxjKTthPShuZXcgSCkuc2V0KGEpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLnNldChhLnIsYS5nLGEuYikubXVsdGlwbHlTY2FsYXIoMipNYXRoLnNxcnQoTWF0aC5QSSkpfWZ1bmN0aW9uIFpqKCl7dGhpcy50eXBlPSJTdGVyZW9DYW1lcmEiO3RoaXMuYXNwZWN0PTE7CnRoaXMuZXllU2VwPS4wNjQ7dGhpcy5jYW1lcmFMPW5ldyB2Yjt0aGlzLmNhbWVyYUwubGF5ZXJzLmVuYWJsZSgxKTt0aGlzLmNhbWVyYUwubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmNhbWVyYVI9bmV3IHZiO3RoaXMuY2FtZXJhUi5sYXllcnMuZW5hYmxlKDIpO3RoaXMuY2FtZXJhUi5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuX2NhY2hlPXtmb2N1czpudWxsLGZvdjpudWxsLGFzcGVjdDpudWxsLG5lYXI6bnVsbCxmYXI6bnVsbCx6b29tOm51bGwsZXllU2VwOm51bGx9fWZ1bmN0aW9uIHBpKGEpe3RoaXMuYXV0b1N0YXJ0PXZvaWQgMCE9PWE/YTohMDt0aGlzLmVsYXBzZWRUaW1lPXRoaXMub2xkVGltZT10aGlzLnN0YXJ0VGltZT0wO3RoaXMucnVubmluZz0hMX1mdW5jdGlvbiBxaSgpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkF1ZGlvTGlzdGVuZXIiO3RoaXMuY29udGV4dD1yaS5nZXRDb250ZXh0KCk7dGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCk7dGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKTsKdGhpcy5maWx0ZXI9bnVsbDt0aGlzLnRpbWVEZWx0YT0wO3RoaXMuX2Nsb2NrPW5ldyBwaX1mdW5jdGlvbiBZZShhKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJBdWRpbyI7dGhpcy5saXN0ZW5lcj1hO3RoaXMuY29udGV4dD1hLmNvbnRleHQ7dGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCk7dGhpcy5nYWluLmNvbm5lY3QoYS5nZXRJbnB1dCgpKTt0aGlzLmF1dG9wbGF5PSExO3RoaXMuYnVmZmVyPW51bGw7dGhpcy5kZXR1bmU9MDt0aGlzLmxvb3A9ITE7dGhpcy5vZmZzZXQ9dGhpcy5zdGFydFRpbWU9MDt0aGlzLmR1cmF0aW9uPXZvaWQgMDt0aGlzLnBsYXliYWNrUmF0ZT0xO3RoaXMuaXNQbGF5aW5nPSExO3RoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwO3RoaXMuc291cmNlVHlwZT0iZW1wdHkiO3RoaXMuZmlsdGVycz1bXX1mdW5jdGlvbiBzaShhKXtZZS5jYWxsKHRoaXMsYSk7dGhpcy5wYW5uZXI9dGhpcy5jb250ZXh0LmNyZWF0ZVBhbm5lcigpO3RoaXMucGFubmVyLnBhbm5pbmdNb2RlbD0KIkhSVEYiO3RoaXMucGFubmVyLmNvbm5lY3QodGhpcy5nYWluKX1mdW5jdGlvbiB0aShhLGMpe3RoaXMuYW5hbHlzZXI9YS5jb250ZXh0LmNyZWF0ZUFuYWx5c2VyKCk7dGhpcy5hbmFseXNlci5mZnRTaXplPXZvaWQgMCE9PWM/YzoyMDQ4O3RoaXMuZGF0YT1uZXcgVWludDhBcnJheSh0aGlzLmFuYWx5c2VyLmZyZXF1ZW5jeUJpbkNvdW50KTthLmdldE91dHB1dCgpLmNvbm5lY3QodGhpcy5hbmFseXNlcil9ZnVuY3Rpb24gdWkoYSxjLGUpe3RoaXMuYmluZGluZz1hO3RoaXMudmFsdWVTaXplPWU7YT1GbG9hdDY0QXJyYXk7c3dpdGNoKGMpe2Nhc2UgInF1YXRlcm5pb24iOmM9dGhpcy5fc2xlcnA7YnJlYWs7Y2FzZSAic3RyaW5nIjpjYXNlICJib29sIjphPUFycmF5O2M9dGhpcy5fc2VsZWN0O2JyZWFrO2RlZmF1bHQ6Yz10aGlzLl9sZXJwfXRoaXMuYnVmZmVyPW5ldyBhKDQqZSk7dGhpcy5fbWl4QnVmZmVyUmVnaW9uPWM7dGhpcy5yZWZlcmVuY2VDb3VudD10aGlzLnVzZUNvdW50PQp0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MH1mdW5jdGlvbiBhayhhLGMsZSl7ZT1lfHxjYy5wYXJzZVRyYWNrTmFtZShjKTt0aGlzLl90YXJnZXRHcm91cD1hO3RoaXMuX2JpbmRpbmdzPWEuc3Vic2NyaWJlXyhjLGUpfWZ1bmN0aW9uIGNjKGEsYyxlKXt0aGlzLnBhdGg9Yzt0aGlzLnBhcnNlZFBhdGg9ZXx8Y2MucGFyc2VUcmFja05hbWUoYyk7dGhpcy5ub2RlPWNjLmZpbmROb2RlKGEsdGhpcy5wYXJzZWRQYXRoLm5vZGVOYW1lKXx8YTt0aGlzLnJvb3ROb2RlPWF9ZnVuY3Rpb24gYmsoKXt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy5fb2JqZWN0cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3RoaXMubkNhY2hlZE9iamVjdHNfPTA7dmFyIGE9e307dGhpcy5faW5kaWNlc0J5VVVJRD1hO2Zvcih2YXIgYz0wLGU9YXJndW1lbnRzLmxlbmd0aDtjIT09ZTsrK2MpYVthcmd1bWVudHNbY10udXVpZF09Yzt0aGlzLl9wYXRocz1bXTt0aGlzLl9wYXJzZWRQYXRocz0KW107dGhpcy5fYmluZGluZ3M9W107dGhpcy5fYmluZGluZ3NJbmRpY2VzQnlQYXRoPXt9O3ZhciBnPXRoaXM7dGhpcy5zdGF0cz17b2JqZWN0czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGcuX29iamVjdHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdGhpcy50b3RhbC1nLm5DYWNoZWRPYmplY3RzX319LGdldCBiaW5kaW5nc1Blck9iamVjdCgpe3JldHVybiBnLl9iaW5kaW5ncy5sZW5ndGh9fX1mdW5jdGlvbiBjayhhLGMsZSl7dGhpcy5fbWl4ZXI9YTt0aGlzLl9jbGlwPWM7dGhpcy5fbG9jYWxSb290PWV8fG51bGw7YT1jLnRyYWNrcztjPWEubGVuZ3RoO2U9QXJyYXkoYyk7Zm9yKHZhciBnPXtlbmRpbmdTdGFydDoyNDAwLGVuZGluZ0VuZDoyNDAwfSx0PTA7dCE9PWM7Kyt0KXt2YXIgdj1hW3RdLmNyZWF0ZUludGVycG9sYW50KG51bGwpO2VbdF09djt2LnNldHRpbmdzPWd9dGhpcy5faW50ZXJwb2xhbnRTZXR0aW5ncz1nO3RoaXMuX2ludGVycG9sYW50cz1lO3RoaXMuX3Byb3BlcnR5QmluZGluZ3M9CkFycmF5KGMpO3RoaXMuX3dlaWdodEludGVycG9sYW50PXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50PXRoaXMuX2J5Q2xpcENhY2hlSW5kZXg9dGhpcy5fY2FjaGVJbmRleD1udWxsO3RoaXMubG9vcD0yMjAxO3RoaXMuX2xvb3BDb3VudD0tMTt0aGlzLl9zdGFydFRpbWU9bnVsbDt0aGlzLnRpbWU9MDt0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9dGhpcy53ZWlnaHQ9dGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlPXRoaXMudGltZVNjYWxlPTE7dGhpcy5yZXBldGl0aW9ucz1JbmZpbml0eTt0aGlzLnBhdXNlZD0hMTt0aGlzLmVuYWJsZWQ9ITA7dGhpcy5jbGFtcFdoZW5GaW5pc2hlZD0hMTt0aGlzLnplcm9TbG9wZUF0RW5kPXRoaXMuemVyb1Nsb3BlQXRTdGFydD0hMH1mdW5jdGlvbiB2aShhKXt0aGlzLl9yb290PWE7dGhpcy5faW5pdE1lbW9yeU1hbmFnZXIoKTt0aGlzLnRpbWU9dGhpcy5fYWNjdUluZGV4PTA7dGhpcy50aW1lU2NhbGU9MX1mdW5jdGlvbiBlaChhLGMpeyJzdHJpbmciPT09CnR5cGVvZiBhJiYoY29uc29sZS53YXJuKCJUSFJFRS5Vbmlmb3JtOiBUeXBlIHBhcmFtZXRlciBpcyBubyBsb25nZXIgbmVlZGVkLiIpLGE9Yyk7dGhpcy52YWx1ZT1hfWZ1bmN0aW9uIHdpKGEsYyxlKXtTZC5jYWxsKHRoaXMsYSxjKTt0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9ZXx8MX1mdW5jdGlvbiBkayhhLGMsZSxnKXt0aGlzLnJheT1uZXcgRChhLGMpO3RoaXMubmVhcj1lfHwwO3RoaXMuZmFyPWd8fEluZmluaXR5O3RoaXMuY2FtZXJhPW51bGw7dGhpcy5wYXJhbXM9e01lc2g6e30sTGluZTp7fSxMT0Q6e30sUG9pbnRzOnt0aHJlc2hvbGQ6MX0sU3ByaXRlOnt9fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLnBhcmFtcyx7UG9pbnRDbG91ZDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5SYXljYXN0ZXI6IHBhcmFtcy5Qb2ludENsb3VkIGhhcyBiZWVuIHJlbmFtZWQgdG8gcGFyYW1zLlBvaW50cy4iKTtyZXR1cm4gdGhpcy5Qb2ludHN9fX0pfWZ1bmN0aW9uIGVrKGEsCmMpe3JldHVybiBhLmRpc3RhbmNlLWMuZGlzdGFuY2V9ZnVuY3Rpb24geGkoYSxjLGUsZyl7aWYoITEhPT1hLnZpc2libGUmJihhLnJheWNhc3QoYyxlKSwhMD09PWcpKXthPWEuY2hpbGRyZW47Zz0wO2Zvcih2YXIgdD1hLmxlbmd0aDtnPHQ7ZysrKXhpKGFbZ10sYyxlLCEwKX19ZnVuY3Rpb24gZmsoYSxjLGUpe3RoaXMucmFkaXVzPXZvaWQgMCE9PWE/YToxO3RoaXMucGhpPXZvaWQgMCE9PWM/YzowO3RoaXMudGhldGE9dm9pZCAwIT09ZT9lOjA7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZ2soYSxjLGUpe3RoaXMucmFkaXVzPXZvaWQgMCE9PWE/YToxO3RoaXMudGhldGE9dm9pZCAwIT09Yz9jOjA7dGhpcy55PXZvaWQgMCE9PWU/ZTowO3JldHVybiB0aGlzfWZ1bmN0aW9uIHlpKGEsYyl7dGhpcy5taW49dm9pZCAwIT09YT9hOm5ldyBmKEluZmluaXR5LEluZmluaXR5KTt0aGlzLm1heD12b2lkIDAhPT1jP2M6bmV3IGYoLUluZmluaXR5LC1JbmZpbml0eSl9ZnVuY3Rpb24gemkoYSxjKXt0aGlzLnN0YXJ0PQp2b2lkIDAhPT1hP2E6bmV3IGs7dGhpcy5lbmQ9dm9pZCAwIT09Yz9jOm5ldyBrfWZ1bmN0aW9uIGRnKGEpe0EuY2FsbCh0aGlzKTt0aGlzLm1hdGVyaWFsPWE7dGhpcy5yZW5kZXI9ZnVuY3Rpb24oKXt9fWZ1bmN0aW9uIGVnKGEsYyxlLGcpe3RoaXMub2JqZWN0PWE7dGhpcy5zaXplPXZvaWQgMCE9PWM/YzoxO2E9dm9pZCAwIT09ZT9lOjE2NzExNjgwO2c9dm9pZCAwIT09Zz9nOjE7Yz0wOyhlPXRoaXMub2JqZWN0Lmdlb21ldHJ5KSYmZS5pc0dlb21ldHJ5P2M9MyplLmZhY2VzLmxlbmd0aDplJiZlLmlzQnVmZmVyR2VvbWV0cnkmJihjPWUuYXR0cmlidXRlcy5ub3JtYWwuY291bnQpO2U9bmV3IHZhO2M9bmV3IGJhKDYqYywzKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGMpO0liLmNhbGwodGhpcyxlLG5ldyBGYih7Y29sb3I6YSxsaW5ld2lkdGg6Z30pKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBaZShhLGMpe0EuY2FsbCh0aGlzKTsKdGhpcy5saWdodD1hO3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmNvbG9yPWM7YT1uZXcgdmE7Yz1bMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDEsMCwwLDAsLTEsMCwxLDAsMCwwLDAsMSwxLDAsMCwwLDAsLTEsMV07Zm9yKHZhciBlPTAsZz0xOzMyPmU7ZSsrLGcrKyl7dmFyIHQ9ZS8zMipNYXRoLlBJKjIsdj1nLzMyKk1hdGguUEkqMjtjLnB1c2goTWF0aC5jb3ModCksTWF0aC5zaW4odCksMSxNYXRoLmNvcyh2KSxNYXRoLnNpbih2KSwxKX1hLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShjLDMpKTtjPW5ldyBGYih7Zm9nOiExfSk7dGhpcy5jb25lPW5ldyBJYihhLGMpO3RoaXMuYWRkKHRoaXMuY29uZSk7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBoayhhKXt2YXIgYz1bXTthJiZhLmlzQm9uZSYmYy5wdXNoKGEpO2Zvcih2YXIgZT0wO2U8YS5jaGlsZHJlbi5sZW5ndGg7ZSsrKWMucHVzaC5hcHBseShjLApoayhhLmNoaWxkcmVuW2VdKSk7cmV0dXJuIGN9ZnVuY3Rpb24gJGUoYSl7Zm9yKHZhciBjPWhrKGEpLGU9bmV3IHZhLGc9W10sdD1bXSx2PW5ldyBIKDAsMCwxKSx6PW5ldyBIKDAsMSwwKSxFPTA7RTxjLmxlbmd0aDtFKyspe3ZhciBGPWNbRV07Ri5wYXJlbnQmJkYucGFyZW50LmlzQm9uZSYmKGcucHVzaCgwLDAsMCksZy5wdXNoKDAsMCwwKSx0LnB1c2godi5yLHYuZyx2LmIpLHQucHVzaCh6LnIsei5nLHouYikpfWUuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKGcsMykpO2UuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKHQsMykpO2c9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6MixkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSx0cmFuc3BhcmVudDohMH0pO0liLmNhbGwodGhpcyxlLGcpO3RoaXMucm9vdD1hO3RoaXMuYm9uZXM9Yzt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMX1mdW5jdGlvbiBhZihhLGMsZSl7dGhpcy5saWdodD0KYTt0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCk7dGhpcy5jb2xvcj1lO2E9bmV3IERkKGMsNCwyKTtjPW5ldyBOKHt3aXJlZnJhbWU6ITAsZm9nOiExfSk7eWEuY2FsbCh0aGlzLGEsYyk7dGhpcy5tYXRyaXg9dGhpcy5saWdodC5tYXRyaXhXb3JsZDt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBiZihhLGMpe3RoaXMudHlwZT0iUmVjdEFyZWFMaWdodEhlbHBlciI7dGhpcy5saWdodD1hO3RoaXMuY29sb3I9YzthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDAsLTEsMSwwLC0xLC0xLDAsMSwtMSwwLDEsMSwwXSwzKSk7YS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTtjPW5ldyBGYih7Zm9nOiExfSk7WGIuY2FsbCh0aGlzLGEsYyk7YT1uZXcgdmE7YS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzEsMSwwLC0xLDEsMCwtMSwtMSwwLDEsMSwwLC0xLC0xLDAsMSwtMSwwXSwzKSk7YS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTsKdGhpcy5hZGQobmV3IHlhKGEsbmV3IE4oe3NpZGU6MSxmb2c6ITF9KSkpO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gY2YoYSxjLGUpe0EuY2FsbCh0aGlzKTt0aGlzLmxpZ2h0PWE7dGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpO3RoaXMubWF0cml4PWEubWF0cml4V29ybGQ7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuY29sb3I9ZTthPW5ldyBUZChjKTthLnJvdGF0ZVkoLjUqTWF0aC5QSSk7dGhpcy5tYXRlcmlhbD1uZXcgTih7d2lyZWZyYW1lOiEwLGZvZzohMX0pO3ZvaWQgMD09PXRoaXMuY29sb3ImJih0aGlzLm1hdGVyaWFsLnZlcnRleENvbG9ycz0yKTtjPWEuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2EuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmMuY291bnQpLDMpKTt0aGlzLmFkZChuZXcgeWEoYSx0aGlzLm1hdGVyaWFsKSk7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBkZihhLGMpe3RoaXMubGlnaHRQcm9iZT1hO3RoaXMuc2l6ZT0KYzthPW5ldyBxYih7ZGVmaW5lczp7R0FNTUFfT1VUUFVUOiIifSx1bmlmb3Jtczp7c2g6e3ZhbHVlOnRoaXMubGlnaHRQcm9iZS5zaC5jb2VmZmljaWVudHN9LGludGVuc2l0eTp7dmFsdWU6dGhpcy5saWdodFByb2JlLmludGVuc2l0eX19LHZlcnRleFNoYWRlcjoidmFyeWluZyB2ZWMzIHZOb3JtYWw7XG52b2lkIG1haW4oKSB7XG5cdHZOb3JtYWwgXHgzZCBub3JtYWxpemUoIG5vcm1hbE1hdHJpeCAqIG5vcm1hbCApO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IixmcmFnbWVudFNoYWRlcjoiI2RlZmluZSBSRUNJUFJPQ0FMX1BJIDAuMzE4MzA5ODg2XG52ZWMzIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgbm9ybWFsLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0Ly8gbWF0cml4IGlzIGFzc3VtZWQgdG8gYmUgb3J0aG9nb25hbFxuXHRyZXR1cm4gbm9ybWFsaXplKCAoIHZlYzQoIG5vcm1hbCwgMC4wICkgKiBtYXRyaXggKS54eXogKTtcbn1cbnZlYzMgbGluZWFyVG9PdXRwdXQoIGluIHZlYzMgYSApIHtcblx0I2lmZGVmIEdBTU1BX09VVFBVVFxuXHRcdHJldHVybiBwb3coIGEsIHZlYzMoIDEuMCAvIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApICk7XG5cdCNlbHNlXG5cdFx0cmV0dXJuIGE7XG5cdCNlbmRpZlxufVxuLy8gc291cmNlOiBodHRwczovL2dyYXBoaWNzLnN0YW5mb3JkLmVkdS9wYXBlcnMvZW52bWFwL2Vudm1hcC5wZGZcbnZlYzMgc2hHZXRJcnJhZGlhbmNlQXQoIGluIHZlYzMgbm9ybWFsLCBpbiB2ZWMzIHNoQ29lZmZpY2llbnRzWyA5IF0gKSB7XG5cdC8vIG5vcm1hbCBpcyBhc3N1bWVkIHRvIGhhdmUgdW5pdCBsZW5ndGhcblx0ZmxvYXQgeCBceDNkIG5vcm1hbC54LCB5IFx4M2Qgbm9ybWFsLnksIHogXHgzZCBub3JtYWwuejtcblx0Ly8gYmFuZCAwXG5cdHZlYzMgcmVzdWx0IFx4M2Qgc2hDb2VmZmljaWVudHNbIDAgXSAqIDAuODg2MjI3O1xuXHQvLyBiYW5kIDFcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0Ly8gYmFuZCAyXG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNCBdICogMi4wICogMC40MjkwNDMgKiB4ICogeTtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA1IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHkgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDYgXSAqICggMC43NDMxMjUgKiB6ICogeiAtIDAuMjQ3NzA4ICk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNyBdICogMi4wICogMC40MjkwNDMgKiB4ICogejtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA4IF0gKiAwLjQyOTA0MyAqICggeCAqIHggLSB5ICogeSApO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxudW5pZm9ybSB2ZWMzIHNoWyA5IF07IC8vIHNoIGNvZWZmaWNpZW50c1xudW5pZm9ybSBmbG9hdCBpbnRlbnNpdHk7IC8vIGxpZ2h0IHByb2JlIGludGVuc2l0eVxudmFyeWluZyB2ZWMzIHZOb3JtYWw7XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgbm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2Tm9ybWFsICk7XG5cdHZlYzMgd29ybGROb3JtYWwgXHgzZCBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2Qgc2hHZXRJcnJhZGlhbmNlQXQoIHdvcmxkTm9ybWFsLCBzaCApO1xuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCBSRUNJUFJPQ0FMX1BJICogaXJyYWRpYW5jZSAqIGludGVuc2l0eTtcblx0b3V0Z29pbmdMaWdodCBceDNkIGxpbmVhclRvT3V0cHV0KCBvdXRnb2luZ0xpZ2h0ICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIG91dGdvaW5nTGlnaHQsIDEuMCApO1xufSJ9KTsKYz1uZXcgRGQoMSwzMiwxNik7eWEuY2FsbCh0aGlzLGMsYSk7dGhpcy5vbkJlZm9yZVJlbmRlcigpfWZ1bmN0aW9uIGZoKGEsYyxlLGcpe2E9YXx8MTA7Yz1jfHwxMDtlPW5ldyBIKHZvaWQgMCE9PWU/ZTo0NDczOTI0KTtnPW5ldyBIKHZvaWQgMCE9PWc/Zzo4OTQ3ODQ4KTt2YXIgdD1jLzIsdj1hL2Msej1hLzI7YT1bXTtmb3IodmFyIEU9W10sRj0wLEk9MCxNPS16O0Y8PWM7RisrLE0rPXYpe2EucHVzaCgteiwwLE0seiwwLE0pO2EucHVzaChNLDAsLXosTSwwLHopO3ZhciBQPUY9PT10P2U6ZztQLnRvQXJyYXkoRSxJKTtJKz0zO1AudG9BcnJheShFLEkpO0krPTM7UC50b0FycmF5KEUsSSk7SSs9MztQLnRvQXJyYXkoRSxJKTtJKz0zfWM9bmV3IHZhO2MuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKGEsMykpO2MuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKEUsMykpO2U9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6Mn0pO0liLmNhbGwodGhpcyxjLGUpfWZ1bmN0aW9uIGdoKGEsCmMsZSxnLHQsdil7YT1hfHwxMDtjPWN8fDE2O2U9ZXx8ODtnPWd8fDY0O3Q9bmV3IEgodm9pZCAwIT09dD90OjQ0NzM5MjQpO3Y9bmV3IEgodm9pZCAwIT09dj92Ojg5NDc4NDgpO3ZhciB6PVtdLEU9W10sRjtmb3IoRj0wO0Y8PWM7RisrKXt2YXIgST1GL2MqMipNYXRoLlBJO3ZhciBNPU1hdGguc2luKEkpKmE7ST1NYXRoLmNvcyhJKSphO3oucHVzaCgwLDAsMCk7ei5wdXNoKE0sMCxJKTt2YXIgUD1GJjE/dDp2O0UucHVzaChQLnIsUC5nLFAuYik7RS5wdXNoKFAucixQLmcsUC5iKX1mb3IoRj0wO0Y8PWU7RisrKXtQPUYmMT90OnY7dmFyIFE9YS1hL2UqRjtmb3IoYz0wO2M8ZztjKyspST1jL2cqMipNYXRoLlBJLE09TWF0aC5zaW4oSSkqUSxJPU1hdGguY29zKEkpKlEsei5wdXNoKE0sMCxJKSxFLnB1c2goUC5yLFAuZyxQLmIpLEk9KGMrMSkvZyoyKk1hdGguUEksTT1NYXRoLnNpbihJKSpRLEk9TWF0aC5jb3MoSSkqUSx6LnB1c2goTSwwLEkpLEUucHVzaChQLnIsUC5nLFAuYil9YT0KbmV3IHZhO2EuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHosMykpO2EuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKEUsMykpO3o9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6Mn0pO0liLmNhbGwodGhpcyxhLHopfWZ1bmN0aW9uIGVmKGEsYyxlLGcpe3RoaXMuYXVkaW89YTt0aGlzLnJhbmdlPWN8fDE7dGhpcy5kaXZpc2lvbnNJbm5lckFuZ2xlPWV8fDE2O3RoaXMuZGl2aXNpb25zT3V0ZXJBbmdsZT1nfHwyO2E9bmV3IHZhO2EuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKigzKih0aGlzLmRpdmlzaW9uc0lubmVyQW5nbGUrMip0aGlzLmRpdmlzaW9uc091dGVyQW5nbGUpKzMpKSwzKSk7Yz1uZXcgRmIoe2NvbG9yOjY1MjgwfSk7ZT1uZXcgRmIoe2NvbG9yOjE2Nzc2OTYwfSk7WGIuY2FsbCh0aGlzLGEsW2UsY10pO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gZmcoYSxjLGUsZyl7dGhpcy5vYmplY3Q9YTt0aGlzLnNpemU9dm9pZCAwIT09CmM/YzoxO2E9dm9pZCAwIT09ZT9lOjE2Nzc2OTYwO2c9dm9pZCAwIT09Zz9nOjE7Yz0wOyhlPXRoaXMub2JqZWN0Lmdlb21ldHJ5KSYmZS5pc0dlb21ldHJ5P2M9ZS5mYWNlcy5sZW5ndGg6Y29uc29sZS53YXJuKCJUSFJFRS5GYWNlTm9ybWFsc0hlbHBlcjogb25seSBUSFJFRS5HZW9tZXRyeSBpcyBzdXBwb3J0ZWQuIFVzZSBUSFJFRS5WZXJ0ZXhOb3JtYWxzSGVscGVyLCBpbnN0ZWFkLiIpO2U9bmV3IHZhO2M9bmV3IGJhKDYqYywzKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGMpO0liLmNhbGwodGhpcyxlLG5ldyBGYih7Y29sb3I6YSxsaW5ld2lkdGg6Z30pKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBmZihhLGMsZSl7QS5jYWxsKHRoaXMpO3RoaXMubGlnaHQ9YTt0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCk7dGhpcy5tYXRyaXg9YS5tYXRyaXhXb3JsZDt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy5jb2xvcj1lOwp2b2lkIDA9PT1jJiYoYz0xKTthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbLWMsYywwLGMsYywwLGMsLWMsMCwtYywtYywwLC1jLGMsMF0sMykpO2M9bmV3IEZiKHtmb2c6ITF9KTt0aGlzLmxpZ2h0UGxhbmU9bmV3IFhiKGEsYyk7dGhpcy5hZGQodGhpcy5saWdodFBsYW5lKTthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMCwwLDAsMCwwLDFdLDMpKTt0aGlzLnRhcmdldExpbmU9bmV3IFhiKGEsYyk7dGhpcy5hZGQodGhpcy50YXJnZXRMaW5lKTt0aGlzLnVwZGF0ZSgpfWZ1bmN0aW9uIGdnKGEpe2Z1bmN0aW9uIGMoVSxWLGVhKXtlKFUsZWEpO2UoVixlYSl9ZnVuY3Rpb24gZShVLFYpe3YucHVzaCgwLDAsMCk7ei5wdXNoKFYucixWLmcsVi5iKTt2b2lkIDA9PT1FW1VdJiYoRVtVXT1bXSk7RVtVXS5wdXNoKHYubGVuZ3RoLzMtMSl9dmFyIGc9bmV3IHZhLHQ9bmV3IEZiKHtjb2xvcjoxNjc3NzIxNSx2ZXJ0ZXhDb2xvcnM6MX0pLAp2PVtdLHo9W10sRT17fSxGPW5ldyBIKDE2NzU1MjAwKSxJPW5ldyBIKDE2NzExNjgwKSxNPW5ldyBIKDQzNzc1KSxQPW5ldyBIKDE2Nzc3MjE1KSxRPW5ldyBIKDMzNTU0NDMpO2MoIm4xIiwibjIiLEYpO2MoIm4yIiwibjQiLEYpO2MoIm40IiwibjMiLEYpO2MoIm4zIiwibjEiLEYpO2MoImYxIiwiZjIiLEYpO2MoImYyIiwiZjQiLEYpO2MoImY0IiwiZjMiLEYpO2MoImYzIiwiZjEiLEYpO2MoIm4xIiwiZjEiLEYpO2MoIm4yIiwiZjIiLEYpO2MoIm4zIiwiZjMiLEYpO2MoIm40IiwiZjQiLEYpO2MoInAiLCJuMSIsSSk7YygicCIsIm4yIixJKTtjKCJwIiwibjMiLEkpO2MoInAiLCJuNCIsSSk7YygidTEiLCJ1MiIsTSk7YygidTIiLCJ1MyIsTSk7YygidTMiLCJ1MSIsTSk7YygiYyIsInQiLFApO2MoInAiLCJjIixRKTtjKCJjbjEiLCJjbjIiLFEpO2MoImNuMyIsImNuNCIsUSk7YygiY2YxIiwiY2YyIixRKTtjKCJjZjMiLCJjZjQiLFEpO2cuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsCm5ldyBiYSh2LDMpKTtnLmFkZEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiYSh6LDMpKTtJYi5jYWxsKHRoaXMsZyx0KTt0aGlzLmNhbWVyYT1hO3RoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgmJnRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLnBvaW50TWFwPUU7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBRYihhLGMsZSxnLHQsdix6KXtoaC5zZXQodCx2LHopLnVucHJvamVjdChnKTthPWNbYV07aWYodm9pZCAwIT09YSlmb3IoZT1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKSxjPTAsZz1hLmxlbmd0aDtjPGc7YysrKWUuc2V0WFlaKGFbY10saGgueCxoaC55LGhoLnopfWZ1bmN0aW9uIGpkKGEsYyl7dGhpcy5vYmplY3Q9YTt2b2lkIDA9PT1jJiYoYz0xNjc3Njk2MCk7YT1uZXcgVWludDE2QXJyYXkoWzAsMSwxLDIsMiwzLDMsMCw0LDUsNSw2LDYsNyw3LAo0LDAsNCwxLDUsMiw2LDMsN10pO3ZhciBlPW5ldyBGbG9hdDMyQXJyYXkoMjQpLGc9bmV3IHZhO2cuc2V0SW5kZXgobmV3IFIoYSwxKSk7Zy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgUihlLDMpKTtJYi5jYWxsKHRoaXMsZyxuZXcgRmIoe2NvbG9yOmN9KSk7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gaGcoYSxjKXt0aGlzLnR5cGU9IkJveDNIZWxwZXIiO3RoaXMuYm94PWE7Yz1jfHwxNjc3Njk2MDthPW5ldyBVaW50MTZBcnJheShbMCwxLDEsMiwyLDMsMywwLDQsNSw1LDYsNiw3LDcsNCwwLDQsMSw1LDIsNiwzLDddKTt2YXIgZT1uZXcgdmE7ZS5zZXRJbmRleChuZXcgUihhLDEpKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwtMSwxLDEsMSwtMSwtMSwxLC0xLC0xLC0xLC0xLDEsLTEsLTFdLDMpKTtJYi5jYWxsKHRoaXMsZSxuZXcgRmIoe2NvbG9yOmN9KSk7dGhpcy5nZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKX0KZnVuY3Rpb24gaWcoYSxjLGUpe3RoaXMudHlwZT0iUGxhbmVIZWxwZXIiO3RoaXMucGxhbmU9YTt0aGlzLnNpemU9dm9pZCAwPT09Yz8xOmM7YT12b2lkIDAhPT1lP2U6MTY3NzY5NjA7Yz1uZXcgdmE7Yy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzEsLTEsMSwtMSwxLDEsLTEsLTEsMSwxLDEsMSwtMSwxLDEsLTEsLTEsMSwxLC0xLDEsMSwxLDEsMCwwLDEsMCwwLDBdLDMpKTtjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO1hiLmNhbGwodGhpcyxjLG5ldyBGYih7Y29sb3I6YX0pKTtjPW5ldyB2YTtjLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsLTEsMSwxLC0xLDFdLDMpKTtjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3RoaXMuYWRkKG5ldyB5YShjLG5ldyBOKHtjb2xvcjphLG9wYWNpdHk6LjIsdHJhbnNwYXJlbnQ6ITAsZGVwdGhXcml0ZTohMX0pKSl9ZnVuY3Rpb24ga2QoYSxjLGUsZyx0LHYpe0EuY2FsbCh0aGlzKTsKdm9pZCAwPT09YSYmKGE9bmV3IGsoMCwwLDEpKTt2b2lkIDA9PT1jJiYoYz1uZXcgaygwLDAsMCkpO3ZvaWQgMD09PWUmJihlPTEpO3ZvaWQgMD09PWcmJihnPTE2Nzc2OTYwKTt2b2lkIDA9PT10JiYodD0uMiplKTt2b2lkIDA9PT12JiYodj0uMip0KTt2b2lkIDA9PT1paCYmKGloPW5ldyB2YSxpaC5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzAsMCwwLDAsMSwwXSwzKSksQWk9bmV3IGhkKDAsLjUsMSw1LDEpLEFpLnRyYW5zbGF0ZSgwLC0uNSwwKSk7dGhpcy5wb3NpdGlvbi5jb3B5KGMpO3RoaXMubGluZT1uZXcgWGIoaWgsbmV3IEZiKHtjb2xvcjpnfSkpO3RoaXMubGluZS5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuYWRkKHRoaXMubGluZSk7dGhpcy5jb25lPW5ldyB5YShBaSxuZXcgTih7Y29sb3I6Z30pKTt0aGlzLmNvbmUubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmFkZCh0aGlzLmNvbmUpO3RoaXMuc2V0RGlyZWN0aW9uKGEpO3RoaXMuc2V0TGVuZ3RoKGUsCnQsdil9ZnVuY3Rpb24gamcoYSl7YT1hfHwxO3ZhciBjPVswLDAsMCxhLDAsMCwwLDAsMCwwLGEsMCwwLDAsMCwwLDAsYV07YT1uZXcgdmE7YS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoYywzKSk7YS5hZGRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYmEoWzEsMCwwLDEsLjYsMCwwLDEsMCwuNiwxLDAsMCwwLDEsMCwuNiwxXSwzKSk7Yz1uZXcgRmIoe3ZlcnRleENvbG9yczoyfSk7SWIuY2FsbCh0aGlzLGEsYyl9ZnVuY3Rpb24gaWsoYSl7Y29uc29sZS53YXJuKCJUSFJFRS5DbG9zZWRTcGxpbmVDdXJ2ZTMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkNhdG11bGxSb21DdXJ2ZTMgaW5zdGVhZC4iKTtiYy5jYWxsKHRoaXMsYSk7dGhpcy50eXBlPSJjYXRtdWxscm9tIjt0aGlzLmNsb3NlZD0hMH1mdW5jdGlvbiBqayhhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNwbGluZUN1cnZlMyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ2F0bXVsbFJvbUN1cnZlMyBpbnN0ZWFkLiIpOwpiYy5jYWxsKHRoaXMsYSk7dGhpcy50eXBlPSJjYXRtdWxscm9tIn1mdW5jdGlvbiBCaShhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNwbGluZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuQ2F0bXVsbFJvbUN1cnZlMyBpbnN0ZWFkLiIpO2JjLmNhbGwodGhpcyxhKTt0aGlzLnR5cGU9ImNhdG11bGxyb20ifXZvaWQgMD09PU51bWJlci5FUFNJTE9OJiYoTnVtYmVyLkVQU0lMT049TWF0aC5wb3coMiwtNTIpKTt2b2lkIDA9PT1OdW1iZXIuaXNJbnRlZ2VyJiYoTnVtYmVyLmlzSW50ZWdlcj1mdW5jdGlvbihhKXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBhJiZpc0Zpbml0ZShhKSYmTWF0aC5mbG9vcihhKT09PWF9KTt2b2lkIDA9PT1NYXRoLnNpZ24mJihNYXRoLnNpZ249ZnVuY3Rpb24oYSl7cmV0dXJuIDA+YT8tMTowPGE/MTorYX0pOyExPT09Im5hbWUiaW4gRnVuY3Rpb24ucHJvdG90eXBlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCJuYW1lIiwKe2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKCkubWF0Y2goL15ccypmdW5jdGlvblxzKihbXlwoXHNdKikvKVsxXX19KTt2b2lkIDA9PT1PYmplY3QuYXNzaWduJiYoT2JqZWN0LmFzc2lnbj1mdW5jdGlvbihhKXtpZih2b2lkIDA9PT1hfHxudWxsPT09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QiKTtmb3IodmFyIGM9T2JqZWN0KGEpLGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgZz1hcmd1bWVudHNbZV07aWYodm9pZCAwIT09ZyYmbnVsbCE9PWcpZm9yKHZhciB0IGluIGcpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGcsdCkmJihjW3RdPWdbdF0pfXJldHVybiBjfSk7T2JqZWN0LmFzc2lnbihkLnByb3RvdHlwZSx7YWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PXRoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycz17fSk7dmFyIGU9CnRoaXMuX2xpc3RlbmVyczt2b2lkIDA9PT1lW2FdJiYoZVthXT1bXSk7LTE9PT1lW2FdLmluZGV4T2YoYykmJmVbYV0ucHVzaChjKX0saGFzRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMD09PXRoaXMuX2xpc3RlbmVycylyZXR1cm4hMTt2YXIgZT10aGlzLl9saXN0ZW5lcnM7cmV0dXJuIHZvaWQgMCE9PWVbYV0mJi0xIT09ZVthXS5pbmRleE9mKGMpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYyl7dm9pZCAwIT09dGhpcy5fbGlzdGVuZXJzJiYoYT10aGlzLl9saXN0ZW5lcnNbYV0sdm9pZCAwIT09YSYmKGM9YS5pbmRleE9mKGMpLC0xIT09YyYmYS5zcGxpY2UoYywxKSkpfSxkaXNwYXRjaEV2ZW50OmZ1bmN0aW9uKGEpe2lmKHZvaWQgMCE9PXRoaXMuX2xpc3RlbmVycyl7dmFyIGM9dGhpcy5fbGlzdGVuZXJzW2EudHlwZV07aWYodm9pZCAwIT09Yyl7YS50YXJnZXQ9dGhpcztjPWMuc2xpY2UoMCk7Zm9yKHZhciBlPTAsZz1jLmxlbmd0aDtlPGc7ZSsrKWNbZV0uY2FsbCh0aGlzLAphKX19fX0pO2Zvcih2YXIgJGI9W10sa2c9MDsyNTY+a2c7a2crKykkYltrZ109KDE2PmtnPyIwIjoiIikra2cudG9TdHJpbmcoMTYpO3ZhciBoYj17REVHMlJBRDpNYXRoLlBJLzE4MCxSQUQyREVHOjE4MC9NYXRoLlBJLGdlbmVyYXRlVVVJRDpmdW5jdGlvbigpe3ZhciBhPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLGM9NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsZT00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxnPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwO3JldHVybigkYlthJjI1NV0rJGJbYT4+OCYyNTVdKyRiW2E+PjE2JjI1NV0rJGJbYT4+MjQmMjU1XSsiLSIrJGJbYyYyNTVdKyRiW2M+PjgmMjU1XSsiLSIrJGJbYz4+MTYmMTV8NjRdKyRiW2M+PjI0JjI1NV0rIi0iKyRiW2UmNjN8MTI4XSskYltlPj44JjI1NV0rIi0iKyRiW2U+PjE2JjI1NV0rJGJbZT4+MjQmMjU1XSskYltnJjI1NV0rJGJbZz4+OCYyNTVdKyRiW2c+PjE2JjI1NV0rJGJbZz4+MjQmMjU1XSkudG9VcHBlckNhc2UoKX0sCmNsYW1wOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gTWF0aC5tYXgoYyxNYXRoLm1pbihlLGEpKX0sZXVjbGlkZWFuTW9kdWxvOmZ1bmN0aW9uKGEsYyl7cmV0dXJuKGElYytjKSVjfSxtYXBMaW5lYXI6ZnVuY3Rpb24oYSxjLGUsZyx0KXtyZXR1cm4gZysoYS1jKSoodC1nKS8oZS1jKX0sbGVycDpmdW5jdGlvbihhLGMsZSl7cmV0dXJuKDEtZSkqYStlKmN9LHNtb290aHN0ZXA6ZnVuY3Rpb24oYSxjLGUpe2lmKGE8PWMpcmV0dXJuIDA7aWYoYT49ZSlyZXR1cm4gMTthPShhLWMpLyhlLWMpO3JldHVybiBhKmEqKDMtMiphKX0sc21vb3RoZXJzdGVwOmZ1bmN0aW9uKGEsYyxlKXtpZihhPD1jKXJldHVybiAwO2lmKGE+PWUpcmV0dXJuIDE7YT0oYS1jKS8oZS1jKTtyZXR1cm4gYSphKmEqKGEqKDYqYS0xNSkrMTApfSxyYW5kSW50OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGErTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihjLWErMSkpfSxyYW5kRmxvYXQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYSsKTWF0aC5yYW5kb20oKSooYy1hKX0scmFuZEZsb2F0U3ByZWFkOmZ1bmN0aW9uKGEpe3JldHVybiBhKiguNS1NYXRoLnJhbmRvbSgpKX0sZGVnVG9SYWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEqaGIuREVHMlJBRH0scmFkVG9EZWc6ZnVuY3Rpb24oYSl7cmV0dXJuIGEqaGIuUkFEMkRFR30saXNQb3dlck9mVHdvOmZ1bmN0aW9uKGEpe3JldHVybiAwPT09KGEmYS0xKSYmMCE9PWF9LGNlaWxQb3dlck9mVHdvOmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnBvdygyLE1hdGguY2VpbChNYXRoLmxvZyhhKS9NYXRoLkxOMikpfSxmbG9vclBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLkxOMikpfX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZi5wcm90b3R5cGUse3dpZHRoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy54PWF9fSxoZWlnaHQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnl9LApzZXQ6ZnVuY3Rpb24oYSl7dGhpcy55PWF9fX0pO09iamVjdC5hc3NpZ24oZi5wcm90b3R5cGUse2lzVmVjdG9yMjohMCxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLng9YTt0aGlzLnk9YztyZXR1cm4gdGhpc30sc2V0U2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueT10aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WDpmdW5jdGlvbihhKXt0aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WTpmdW5jdGlvbihhKXt0aGlzLnk9YTtyZXR1cm4gdGhpc30sc2V0Q29tcG9uZW50OmZ1bmN0aW9uKGEsYyl7c3dpdGNoKGEpe2Nhc2UgMDp0aGlzLng9YzticmVhaztjYXNlIDE6dGhpcy55PWM7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK2EpO31yZXR1cm4gdGhpc30sZ2V0Q29tcG9uZW50OmZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIHRoaXMueDtjYXNlIDE6cmV0dXJuIHRoaXMueTtkZWZhdWx0OnRocm93IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrCmEpO319LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMueCx0aGlzLnkpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMueD1hLng7dGhpcy55PWEueTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uKGEsYyl7aWYodm9pZCAwIT09YylyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuYWRkKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuYWRkVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5hZGRWZWN0b3JzKGEsYyk7dGhpcy54Kz1hLng7dGhpcy55Kz1hLnk7cmV0dXJuIHRoaXN9LGFkZFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngrPWE7dGhpcy55Kz1hO3JldHVybiB0aGlzfSxhZGRWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy54PWEueCtjLng7dGhpcy55PWEueStjLnk7cmV0dXJuIHRoaXN9LGFkZFNjYWxlZFZlY3RvcjpmdW5jdGlvbihhLGMpe3RoaXMueCs9YS54KmM7dGhpcy55Kz1hLnkqYztyZXR1cm4gdGhpc30sCnN1YjpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLnN1YigpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLnN1YlZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuc3ViVmVjdG9ycyhhLGMpO3RoaXMueC09YS54O3RoaXMueS09YS55O3JldHVybiB0aGlzfSxzdWJTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54LT1hO3RoaXMueS09YTtyZXR1cm4gdGhpc30sc3ViVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngtYy54O3RoaXMueT1hLnktYy55O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhKXt0aGlzLngqPWEueDt0aGlzLnkqPWEueTtyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54Kj1hO3RoaXMueSo9YTtyZXR1cm4gdGhpc30sZGl2aWRlOmZ1bmN0aW9uKGEpe3RoaXMueC89YS54O3RoaXMueS89YS55O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LGFwcGx5TWF0cml4MzpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnk7YT1hLmVsZW1lbnRzO3RoaXMueD1hWzBdKmMrYVszXSplK2FbNl07dGhpcy55PWFbMV0qYythWzRdKmUrYVs3XTtyZXR1cm4gdGhpc30sbWluOmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1pbih0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5taW4odGhpcy55LGEueSk7cmV0dXJuIHRoaXN9LG1heDpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5tYXgodGhpcy54LGEueCk7dGhpcy55PU1hdGgubWF4KHRoaXMueSxhLnkpO3JldHVybiB0aGlzfSxjbGFtcDpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLngsTWF0aC5taW4oYy54LHRoaXMueCkpO3RoaXMueT1NYXRoLm1heChhLnksTWF0aC5taW4oYy55LHRoaXMueSkpO3JldHVybiB0aGlzfSxjbGFtcFNjYWxhcjpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEsTWF0aC5taW4oYywKdGhpcy55KSk7cmV0dXJuIHRoaXN9LGNsYW1wTGVuZ3RoOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIoZXx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgoYSxNYXRoLm1pbihjLGUpKSl9LGZsb29yOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfSxjZWlsOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc30scm91bmQ6ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9LHJvdW5kVG9aZXJvOmZ1bmN0aW9uKCl7dGhpcy54PTA+dGhpcy54P01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9MD50aGlzLnk/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpOwpyZXR1cm4gdGhpc30sbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy54PS10aGlzLng7dGhpcy55PS10aGlzLnk7cmV0dXJuIHRoaXN9LGRvdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueCt0aGlzLnkqYS55fSxjcm9zczpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueS10aGlzLnkqYS54fSxsZW5ndGhTcTpmdW5jdGlvbigpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9LGxlbmd0aDpmdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfSxhbmdsZTpmdW5jdGlvbigpe3ZhciBhPU1hdGguYXRhbjIodGhpcy55LHRoaXMueCk7MD5hJiYoYSs9MipNYXRoLlBJKTtyZXR1cm4gYX0sCmRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKGEpKX0sZGlzdGFuY2VUb1NxdWFyZWQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LWEueDthPXRoaXMueS1hLnk7cmV0dXJuIGMqYythKmF9LG1hbmhhdHRhbkRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC1hLngpK01hdGguYWJzKHRoaXMueS1hLnkpfSxzZXRMZW5ndGg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoYSl9LGxlcnA6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPShhLngtdGhpcy54KSpjO3RoaXMueSs9KGEueS10aGlzLnkpKmM7cmV0dXJuIHRoaXN9LGxlcnBWZWN0b3JzOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gdGhpcy5zdWJWZWN0b3JzKGMsYSkubXVsdGlwbHlTY2FsYXIoZSkuYWRkKGEpfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEueD09PXRoaXMueCYmYS55PT09dGhpcy55fSwKZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy54PWFbY107dGhpcy55PWFbYysxXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTthW2NdPXRoaXMueDthW2MrMV09dGhpcy55O3JldHVybiBhfSxmcm9tQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXt2b2lkIDAhPT1lJiZjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IG9mZnNldCBoYXMgYmVlbiByZW1vdmVkIGZyb20gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKTt0aGlzLng9YS5nZXRYKGMpO3RoaXMueT1hLmdldFkoYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZUFyb3VuZDpmdW5jdGlvbihhLGMpe3ZhciBlPU1hdGguY29zKGMpO2M9TWF0aC5zaW4oYyk7dmFyIGc9dGhpcy54LWEueCx0PXRoaXMueS1hLnk7dGhpcy54PWcqZS10KmMrYS54O3RoaXMueT1nKmMrdCplK2EueTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKGgsCntzbGVycDpmdW5jdGlvbihhLGMsZSxnKXtyZXR1cm4gZS5jb3B5KGEpLnNsZXJwKGMsZyl9LHNsZXJwRmxhdDpmdW5jdGlvbihhLGMsZSxnLHQsdix6KXt2YXIgRT1lW2crMF0sRj1lW2crMV0sST1lW2crMl07ZT1lW2crM107Zz10W3YrMF07dmFyIE09dFt2KzFdLFA9dFt2KzJdO3Q9dFt2KzNdO2lmKGUhPT10fHxFIT09Z3x8RiE9PU18fEkhPT1QKXt2PTEtejt2YXIgUT1FKmcrRipNK0kqUCtlKnQsVT0wPD1RPzE6LTEsVj0xLVEqUTtWPk51bWJlci5FUFNJTE9OJiYoVj1NYXRoLnNxcnQoViksUT1NYXRoLmF0YW4yKFYsUSpVKSx2PU1hdGguc2luKHYqUSkvVix6PU1hdGguc2luKHoqUSkvVik7VSo9ejtFPUUqditnKlU7Rj1GKnYrTSpVO0k9SSp2K1AqVTtlPWUqdit0KlU7dj09PTEteiYmKHo9MS9NYXRoLnNxcnQoRSpFK0YqRitJKkkrZSplKSxFKj16LEYqPXosSSo9eixlKj16KX1hW2NdPUU7YVtjKzFdPUY7YVtjKzJdPUk7YVtjKzNdPWV9fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaC5wcm90b3R5cGUsCnt4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feX0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3k9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx6OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fen0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3o9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx3OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd30sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3c9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fX0pO09iamVjdC5hc3NpZ24oaC5wcm90b3R5cGUse2lzUXVhdGVybmlvbjohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5feD1hO3RoaXMuX3k9Yzt0aGlzLl96PWU7dGhpcy5fdz1nO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCwKdGhpcy5feSx0aGlzLl96LHRoaXMuX3cpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YS54O3RoaXMuX3k9YS55O3RoaXMuX3o9YS56O3RoaXMuX3c9YS53O3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sc2V0RnJvbUV1bGVyOmZ1bmN0aW9uKGEsYyl7aWYoIWF8fCFhLmlzRXVsZXIpdGhyb3cgRXJyb3IoIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO3ZhciBlPWEuX3gsZz1hLl95LHQ9YS5fejthPWEub3JkZXI7dmFyIHY9TWF0aC5jb3Msej1NYXRoLnNpbixFPXYoZS8yKSxGPXYoZy8yKTt2PXYodC8yKTtlPXooZS8yKTtnPXooZy8yKTt0PXoodC8yKTsiWFlaIj09PWE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0K2UqZyp2LHRoaXMuX3c9RSpGKnYtZSpnKnQpOiJZWFoiPT09CmE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0LWUqZyp2LHRoaXMuX3c9RSpGKnYrZSpnKnQpOiJaWFkiPT09YT8odGhpcy5feD1lKkYqdi1FKmcqdCx0aGlzLl95PUUqZyp2K2UqRip0LHRoaXMuX3o9RSpGKnQrZSpnKnYsdGhpcy5fdz1FKkYqdi1lKmcqdCk6IlpZWCI9PT1hPyh0aGlzLl94PWUqRip2LUUqZyp0LHRoaXMuX3k9RSpnKnYrZSpGKnQsdGhpcy5fej1FKkYqdC1lKmcqdix0aGlzLl93PUUqRip2K2UqZyp0KToiWVpYIj09PWE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqditlKkYqdCx0aGlzLl96PUUqRip0LWUqZyp2LHRoaXMuX3c9RSpGKnYtZSpnKnQpOiJYWlkiPT09YSYmKHRoaXMuX3g9ZSpGKnYtRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0K2UqZyp2LHRoaXMuX3c9RSpGKnYrZSpnKnQpOyExIT09YyYmdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzZXRGcm9tQXhpc0FuZ2xlOmZ1bmN0aW9uKGEsCmMpe2MvPTI7dmFyIGU9TWF0aC5zaW4oYyk7dGhpcy5feD1hLngqZTt0aGlzLl95PWEueSplO3RoaXMuX3o9YS56KmU7dGhpcy5fdz1NYXRoLmNvcyhjKTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHNldEZyb21Sb3RhdGlvbk1hdHJpeDpmdW5jdGlvbihhKXt2YXIgYz1hLmVsZW1lbnRzLGU9Y1swXTthPWNbNF07dmFyIGc9Y1s4XSx0PWNbMV0sdj1jWzVdLHo9Y1s5XSxFPWNbMl0sRj1jWzZdO2M9Y1sxMF07dmFyIEk9ZSt2K2M7MDxJPyhlPS41L01hdGguc3FydChJKzEpLHRoaXMuX3c9LjI1L2UsdGhpcy5feD0oRi16KSplLHRoaXMuX3k9KGctRSkqZSx0aGlzLl96PSh0LWEpKmUpOmU+diYmZT5jPyhlPTIqTWF0aC5zcXJ0KDErZS12LWMpLHRoaXMuX3c9KEYteikvZSx0aGlzLl94PS4yNSplLHRoaXMuX3k9KGErdCkvZSx0aGlzLl96PShnK0UpL2UpOnY+Yz8oZT0yKk1hdGguc3FydCgxK3YtZS1jKSx0aGlzLl93PShnLUUpL2UsdGhpcy5feD0oYSt0KS9lLAp0aGlzLl95PS4yNSplLHRoaXMuX3o9KHorRikvZSk6KGU9MipNYXRoLnNxcnQoMStjLWUtdiksdGhpcy5fdz0odC1hKS9lLHRoaXMuX3g9KGcrRSkvZSx0aGlzLl95PSh6K0YpL2UsdGhpcy5fej0uMjUqZSk7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzZXRGcm9tVW5pdFZlY3RvcnM6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLmRvdChjKSsxOzFFLTY+ZT8oZT0wLE1hdGguYWJzKGEueCk+TWF0aC5hYnMoYS56KT8odGhpcy5feD0tYS55LHRoaXMuX3k9YS54LHRoaXMuX3o9MCk6KHRoaXMuX3g9MCx0aGlzLl95PS1hLnosdGhpcy5fej1hLnkpKToodGhpcy5feD1hLnkqYy56LWEueipjLnksdGhpcy5feT1hLnoqYy54LWEueCpjLnosdGhpcy5fej1hLngqYy55LWEueSpjLngpO3RoaXMuX3c9ZTtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKX0sYW5nbGVUbzpmdW5jdGlvbihhKXtyZXR1cm4gMipNYXRoLmFjb3MoTWF0aC5hYnMoaGIuY2xhbXAodGhpcy5kb3QoYSksLTEsCjEpKSl9LHJvdGF0ZVRvd2FyZHM6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmFuZ2xlVG8oYSk7aWYoMD09PWUpcmV0dXJuIHRoaXM7dGhpcy5zbGVycChhLE1hdGgubWluKDEsYy9lKSk7cmV0dXJuIHRoaXN9LGludmVyc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25qdWdhdGUoKX0sY29uanVnYXRlOmZ1bmN0aW9uKCl7dGhpcy5feCo9LTE7dGhpcy5feSo9LTE7dGhpcy5feio9LTE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxkb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3gqYS5feCt0aGlzLl95KmEuX3krdGhpcy5feiphLl96K3RoaXMuX3cqYS5fd30sbGVuZ3RoU3E6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93fSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuX3gqdGhpcy5feCt0aGlzLl95KnRoaXMuX3krdGhpcy5feioKdGhpcy5feit0aGlzLl93KnRoaXMuX3cpfSxub3JtYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmxlbmd0aCgpOzA9PT1hPyh0aGlzLl96PXRoaXMuX3k9dGhpcy5feD0wLHRoaXMuX3c9MSk6KGE9MS9hLHRoaXMuX3gqPWEsdGhpcy5feSo9YSx0aGlzLl96Kj1hLHRoaXMuX3cqPWEpO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sbXVsdGlwbHk6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdm9pZCAwIT09Yz8oY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVF1YXRlcm5pb25zKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoYSxjKSk6dGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHRoaXMsYSl9LHByZW11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoYSx0aGlzKX0sbXVsdGlwbHlRdWF0ZXJuaW9uczpmdW5jdGlvbihhLApjKXt2YXIgZT1hLl94LGc9YS5feSx0PWEuX3o7YT1hLl93O3ZhciB2PWMuX3gsej1jLl95LEU9Yy5fejtjPWMuX3c7dGhpcy5feD1lKmMrYSp2K2cqRS10Kno7dGhpcy5feT1nKmMrYSp6K3Qqdi1lKkU7dGhpcy5fej10KmMrYSpFK2Uqei1nKnY7dGhpcy5fdz1hKmMtZSp2LWcqei10KkU7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzbGVycDpmdW5jdGlvbihhLGMpe2lmKDA9PT1jKXJldHVybiB0aGlzO2lmKDE9PT1jKXJldHVybiB0aGlzLmNvcHkoYSk7dmFyIGU9dGhpcy5feCxnPXRoaXMuX3ksdD10aGlzLl96LHY9dGhpcy5fdyx6PXYqYS5fdytlKmEuX3grZyphLl95K3QqYS5fejswPno/KHRoaXMuX3c9LWEuX3csdGhpcy5feD0tYS5feCx0aGlzLl95PS1hLl95LHRoaXMuX3o9LWEuX3osej0teik6dGhpcy5jb3B5KGEpO2lmKDE8PXopcmV0dXJuIHRoaXMuX3c9dix0aGlzLl94PWUsdGhpcy5feT1nLHRoaXMuX3o9dCx0aGlzO2E9MS16Kno7aWYoYTw9TnVtYmVyLkVQU0lMT04pcmV0dXJuIHo9CjEtYyx0aGlzLl93PXoqditjKnRoaXMuX3csdGhpcy5feD16KmUrYyp0aGlzLl94LHRoaXMuX3k9eipnK2MqdGhpcy5feSx0aGlzLl96PXoqdCtjKnRoaXMuX3osdGhpcy5ub3JtYWxpemUoKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpczthPU1hdGguc3FydChhKTt2YXIgRT1NYXRoLmF0YW4yKGEseik7ej1NYXRoLnNpbigoMS1jKSpFKS9hO2M9TWF0aC5zaW4oYypFKS9hO3RoaXMuX3c9dip6K3RoaXMuX3cqYzt0aGlzLl94PWUqeit0aGlzLl94KmM7dGhpcy5feT1nKnordGhpcy5feSpjO3RoaXMuX3o9dCp6K3RoaXMuX3oqYzt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5feD09PXRoaXMuX3gmJmEuX3k9PT10aGlzLl95JiZhLl96PT09dGhpcy5feiYmYS5fdz09PXRoaXMuX3d9LGZyb21BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMuX3g9YVtjXTt0aGlzLl95PWFbYysxXTsKdGhpcy5fej1hW2MrMl07dGhpcy5fdz1hW2MrM107dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YSYmKGE9W10pO3ZvaWQgMD09PWMmJihjPTApO2FbY109dGhpcy5feDthW2MrMV09dGhpcy5feTthW2MrMl09dGhpcy5fejthW2MrM109dGhpcy5fdztyZXR1cm4gYX0sX29uQ2hhbmdlOmZ1bmN0aW9uKGEpe3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9YTtyZXR1cm4gdGhpc30sX29uQ2hhbmdlQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9fSk7dmFyIENpPW5ldyBrLGtrPW5ldyBoO09iamVjdC5hc3NpZ24oay5wcm90b3R5cGUse2lzVmVjdG9yMzohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMueD1hO3RoaXMueT1jO3RoaXMuej1lO3JldHVybiB0aGlzfSxzZXRTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy56PXRoaXMueT10aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WDpmdW5jdGlvbihhKXt0aGlzLng9YTtyZXR1cm4gdGhpc30sCnNldFk6ZnVuY3Rpb24oYSl7dGhpcy55PWE7cmV0dXJuIHRoaXN9LHNldFo6ZnVuY3Rpb24oYSl7dGhpcy56PWE7cmV0dXJuIHRoaXN9LHNldENvbXBvbmVudDpmdW5jdGlvbihhLGMpe3N3aXRjaChhKXtjYXNlIDA6dGhpcy54PWM7YnJlYWs7Y2FzZSAxOnRoaXMueT1jO2JyZWFrO2Nhc2UgMjp0aGlzLno9YzticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrYSk7fXJldHVybiB0aGlzfSxnZXRDb21wb25lbnQ6ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4gdGhpcy54O2Nhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueil9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy54PWEueDt0aGlzLnk9YS55Owp0aGlzLno9YS56O3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hZGQoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5hZGRWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmFkZFZlY3RvcnMoYSxjKTt0aGlzLngrPWEueDt0aGlzLnkrPWEueTt0aGlzLnorPWEuejtyZXR1cm4gdGhpc30sYWRkU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueCs9YTt0aGlzLnkrPWE7dGhpcy56Kz1hO3JldHVybiB0aGlzfSxhZGRWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy54PWEueCtjLng7dGhpcy55PWEueStjLnk7dGhpcy56PWEueitjLno7cmV0dXJuIHRoaXN9LGFkZFNjYWxlZFZlY3RvcjpmdW5jdGlvbihhLGMpe3RoaXMueCs9YS54KmM7dGhpcy55Kz1hLnkqYzt0aGlzLnorPWEueipjO3JldHVybiB0aGlzfSxzdWI6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSwKdGhpcy5zdWJWZWN0b3JzKGEsYyk7dGhpcy54LT1hLng7dGhpcy55LT1hLnk7dGhpcy56LT1hLno7cmV0dXJuIHRoaXN9LHN1YlNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngtPWE7dGhpcy55LT1hO3RoaXMuei09YTtyZXR1cm4gdGhpc30sc3ViVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngtYy54O3RoaXMueT1hLnktYy55O3RoaXMuej1hLnotYy56O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5VmVjdG9ycyhhLGMpO3RoaXMueCo9YS54O3RoaXMueSo9YS55O3RoaXMueio9YS56O3JldHVybiB0aGlzfSxtdWx0aXBseVNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngqPWE7dGhpcy55Kj1hO3RoaXMueio9CmE7cmV0dXJuIHRoaXN9LG11bHRpcGx5VmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngqYy54O3RoaXMueT1hLnkqYy55O3RoaXMuej1hLnoqYy56O3JldHVybiB0aGlzfSxhcHBseUV1bGVyOmZ1bmN0aW9uKGEpe2EmJmEuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLmFwcGx5RXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihray5zZXRGcm9tRXVsZXIoYSkpfSxhcHBseUF4aXNBbmdsZTpmdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihray5zZXRGcm9tQXhpc0FuZ2xlKGEsYykpfSxhcHBseU1hdHJpeDM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56O2E9YS5lbGVtZW50czt0aGlzLng9YVswXSpjK2FbM10qZSthWzZdKmc7dGhpcy55PWFbMV0qYythWzRdKmUrYVs3XSoKZzt0aGlzLno9YVsyXSpjK2FbNV0qZSthWzhdKmc7cmV0dXJuIHRoaXN9LGFwcGx5TWF0cml4NDpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnksZz10aGlzLno7YT1hLmVsZW1lbnRzO3ZhciB0PTEvKGFbM10qYythWzddKmUrYVsxMV0qZythWzE1XSk7dGhpcy54PShhWzBdKmMrYVs0XSplK2FbOF0qZythWzEyXSkqdDt0aGlzLnk9KGFbMV0qYythWzVdKmUrYVs5XSpnK2FbMTNdKSp0O3RoaXMuej0oYVsyXSpjK2FbNl0qZSthWzEwXSpnK2FbMTRdKSp0O3JldHVybiB0aGlzfSxhcHBseVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56LHQ9YS54LHY9YS55LHo9YS56O2E9YS53O3ZhciBFPWEqYyt2KmcteiplLEY9YSplK3oqYy10KmcsST1hKmcrdCplLXYqYztjPS10KmMtdiplLXoqZzt0aGlzLng9RSphK2MqLXQrRiotei1JKi12O3RoaXMueT1GKmErYyotditJKi10LUUqLXo7dGhpcy56PUkqYStjKi16K0UqLXYtRiotdDtyZXR1cm4gdGhpc30sCnByb2plY3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGRJbnZlcnNlKS5hcHBseU1hdHJpeDQoYS5wcm9qZWN0aW9uTWF0cml4KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFwcGx5TWF0cml4NChhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKS5hcHBseU1hdHJpeDQoYS5tYXRyaXhXb3JsZCl9LHRyYW5zZm9ybURpcmVjdGlvbjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnksZz10aGlzLno7YT1hLmVsZW1lbnRzO3RoaXMueD1hWzBdKmMrYVs0XSplK2FbOF0qZzt0aGlzLnk9YVsxXSpjK2FbNV0qZSthWzldKmc7dGhpcy56PWFbMl0qYythWzZdKmUrYVsxMF0qZztyZXR1cm4gdGhpcy5ub3JtYWxpemUoKX0sZGl2aWRlOmZ1bmN0aW9uKGEpe3RoaXMueC89YS54O3RoaXMueS89YS55O3RoaXMuei89YS56O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LG1pbjpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5taW4odGhpcy54LGEueCk7dGhpcy55PU1hdGgubWluKHRoaXMueSxhLnkpO3RoaXMuej1NYXRoLm1pbih0aGlzLnosYS56KTtyZXR1cm4gdGhpc30sbWF4OmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1heCh0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5tYXgodGhpcy55LGEueSk7dGhpcy56PU1hdGgubWF4KHRoaXMueixhLnopO3JldHVybiB0aGlzfSxjbGFtcDpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLngsTWF0aC5taW4oYy54LHRoaXMueCkpO3RoaXMueT1NYXRoLm1heChhLnksTWF0aC5taW4oYy55LHRoaXMueSkpO3RoaXMuej1NYXRoLm1heChhLnosTWF0aC5taW4oYy56LHRoaXMueikpO3JldHVybiB0aGlzfSxjbGFtcFNjYWxhcjpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEsTWF0aC5taW4oYyx0aGlzLnkpKTt0aGlzLno9TWF0aC5tYXgoYSwKTWF0aC5taW4oYyx0aGlzLnopKTtyZXR1cm4gdGhpc30sY2xhbXBMZW5ndGg6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcihlfHwxKS5tdWx0aXBseVNjYWxhcihNYXRoLm1heChhLE1hdGgubWluKGMsZSkpKX0sZmxvb3I6ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT1NYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PU1hdGguZmxvb3IodGhpcy56KTtyZXR1cm4gdGhpc30sY2VpbDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7dGhpcy56PU1hdGguY2VpbCh0aGlzLnopO3JldHVybiB0aGlzfSxyb3VuZDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KTt0aGlzLno9TWF0aC5yb3VuZCh0aGlzLnopO3JldHVybiB0aGlzfSxyb3VuZFRvWmVybzpmdW5jdGlvbigpe3RoaXMueD0KMD50aGlzLng/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT0wPnRoaXMueT9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PTA+dGhpcy56P01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KTtyZXR1cm4gdGhpc30sbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy54PS10aGlzLng7dGhpcy55PS10aGlzLnk7dGhpcy56PS10aGlzLno7cmV0dXJuIHRoaXN9LGRvdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueCt0aGlzLnkqYS55K3RoaXMueiphLnp9LGxlbmd0aFNxOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56fSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KSsKTWF0aC5hYnModGhpcy56KX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfSxzZXRMZW5ndGg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoYSl9LGxlcnA6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPShhLngtdGhpcy54KSpjO3RoaXMueSs9KGEueS10aGlzLnkpKmM7dGhpcy56Kz0oYS56LXRoaXMueikqYztyZXR1cm4gdGhpc30sbGVycFZlY3RvcnM6ZnVuY3Rpb24oYSxjLGUpe3JldHVybiB0aGlzLnN1YlZlY3RvcnMoYyxhKS5tdWx0aXBseVNjYWxhcihlKS5hZGQoYSl9LGNyb3NzOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIHZvaWQgMCE9PWM/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmNyb3NzKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuY3Jvc3NWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmNyb3NzVmVjdG9ycyhhLGMpKTp0aGlzLmNyb3NzVmVjdG9ycyh0aGlzLAphKX0sY3Jvc3NWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS54LGc9YS55O2E9YS56O3ZhciB0PWMueCx2PWMueTtjPWMuejt0aGlzLng9ZypjLWEqdjt0aGlzLnk9YSp0LWUqYzt0aGlzLno9ZSp2LWcqdDtyZXR1cm4gdGhpc30scHJvamVjdE9uVmVjdG9yOmZ1bmN0aW9uKGEpe3ZhciBjPWEuZG90KHRoaXMpL2EubGVuZ3RoU3EoKTtyZXR1cm4gdGhpcy5jb3B5KGEpLm11bHRpcGx5U2NhbGFyKGMpfSxwcm9qZWN0T25QbGFuZTpmdW5jdGlvbihhKXtDaS5jb3B5KHRoaXMpLnByb2plY3RPblZlY3RvcihhKTtyZXR1cm4gdGhpcy5zdWIoQ2kpfSxyZWZsZWN0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN1YihDaS5jb3B5KGEpLm11bHRpcGx5U2NhbGFyKDIqdGhpcy5kb3QoYSkpKX0sYW5nbGVUbzpmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5hY29zKGhiLmNsYW1wKHRoaXMuZG90KGEpL01hdGguc3FydCh0aGlzLmxlbmd0aFNxKCkqYS5sZW5ndGhTcSgpKSwtMSwxKSl9LGRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKGEpKX0sCmRpc3RhbmNlVG9TcXVhcmVkOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMueC1hLngsZT10aGlzLnktYS55O2E9dGhpcy56LWEuejtyZXR1cm4gYypjK2UqZSthKmF9LG1hbmhhdHRhbkRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC1hLngpK01hdGguYWJzKHRoaXMueS1hLnkpK01hdGguYWJzKHRoaXMuei1hLnopfSxzZXRGcm9tU3BoZXJpY2FsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21TcGhlcmljYWxDb29yZHMoYS5yYWRpdXMsYS5waGksYS50aGV0YSl9LHNldEZyb21TcGhlcmljYWxDb29yZHM6ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPU1hdGguc2luKGMpKmE7dGhpcy54PWcqTWF0aC5zaW4oZSk7dGhpcy55PU1hdGguY29zKGMpKmE7dGhpcy56PWcqTWF0aC5jb3MoZSk7cmV0dXJuIHRoaXN9LHNldEZyb21DeWxpbmRyaWNhbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHMoYS5yYWRpdXMsYS50aGV0YSwKYS55KX0sc2V0RnJvbUN5bGluZHJpY2FsQ29vcmRzOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLng9YSpNYXRoLnNpbihjKTt0aGlzLnk9ZTt0aGlzLno9YSpNYXRoLmNvcyhjKTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeFBvc2l0aW9uOmZ1bmN0aW9uKGEpe2E9YS5lbGVtZW50czt0aGlzLng9YVsxMl07dGhpcy55PWFbMTNdO3RoaXMuej1hWzE0XTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeFNjYWxlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbihhLDApLmxlbmd0aCgpLGU9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGEsMSkubGVuZ3RoKCk7YT10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4oYSwyKS5sZW5ndGgoKTt0aGlzLng9Yzt0aGlzLnk9ZTt0aGlzLno9YTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeENvbHVtbjpmdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmZyb21BcnJheShhLmVsZW1lbnRzLDQqYyl9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS54PT09CnRoaXMueCYmYS55PT09dGhpcy55JiZhLno9PT10aGlzLnp9LGZyb21BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMueD1hW2NdO3RoaXMueT1hW2MrMV07dGhpcy56PWFbYysyXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTthW2NdPXRoaXMueDthW2MrMV09dGhpcy55O2FbYysyXT10aGlzLno7cmV0dXJuIGF9LGZyb21CdWZmZXJBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3RoaXMueD1hLmdldFgoYyk7dGhpcy55PWEuZ2V0WShjKTt0aGlzLno9YS5nZXRaKGMpO3JldHVybiB0aGlzfX0pO3ZhciBnZT1uZXcgaztPYmplY3QuYXNzaWduKHIucHJvdG90eXBlLHtpc01hdHJpeDM6ITAsc2V0OmZ1bmN0aW9uKGEsCmMsZSxnLHQsdix6LEUsRil7dmFyIEk9dGhpcy5lbGVtZW50cztJWzBdPWE7SVsxXT1nO0lbMl09ejtJWzNdPWM7SVs0XT10O0lbNV09RTtJWzZdPWU7SVs3XT12O0lbOF09RjtyZXR1cm4gdGhpc30saWRlbnRpdHk6ZnVuY3Rpb24oKXt0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9LGNvcHk6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Y1swXT1hWzBdO2NbMV09YVsxXTtjWzJdPWFbMl07Y1szXT1hWzNdO2NbNF09YVs0XTtjWzVdPWFbNV07Y1s2XT1hWzZdO2NbN109YVs3XTtjWzhdPWFbOF07cmV0dXJuIHRoaXN9LHNldEZyb21NYXRyaXg0OmZ1bmN0aW9uKGEpe2E9YS5lbGVtZW50czt0aGlzLnNldChhWzBdLGFbNF0sYVs4XSxhWzFdLGFbNV0sYVs5XSxhWzJdLGFbNl0sYVsxMF0pO3JldHVybiB0aGlzfSwKYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9MCxlPWEuY291bnQ7YzxlO2MrKylnZS54PWEuZ2V0WChjKSxnZS55PWEuZ2V0WShjKSxnZS56PWEuZ2V0WihjKSxnZS5hcHBseU1hdHJpeDModGhpcyksYS5zZXRYWVooYyxnZS54LGdlLnksZ2Uueik7cmV0dXJuIGF9LG11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXModGhpcyxhKX0scHJlbXVsdGlwbHk6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyhhLHRoaXMpfSxtdWx0aXBseU1hdHJpY2VzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS5lbGVtZW50cyxnPWMuZWxlbWVudHM7Yz10aGlzLmVsZW1lbnRzO2E9ZVswXTt2YXIgdD1lWzNdLHY9ZVs2XSx6PWVbMV0sRT1lWzRdLEY9ZVs3XSxJPWVbMl0sTT1lWzVdO2U9ZVs4XTt2YXIgUD1nWzBdLFE9Z1szXSxVPWdbNl0sVj1nWzFdLGVhPWdbNF0sZGE9Z1s3XSxyYT1nWzJdLHBhPWdbNV07Zz1nWzhdOwpjWzBdPWEqUCt0KlYrdipyYTtjWzNdPWEqUSt0KmVhK3YqcGE7Y1s2XT1hKlUrdCpkYSt2Kmc7Y1sxXT16KlArRSpWK0YqcmE7Y1s0XT16KlErRSplYStGKnBhO2NbN109eipVK0UqZGErRipnO2NbMl09SSpQK00qVitlKnJhO2NbNV09SSpRK00qZWErZSpwYTtjWzhdPUkqVStNKmRhK2UqZztyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50cztjWzBdKj1hO2NbM10qPWE7Y1s2XSo9YTtjWzFdKj1hO2NbNF0qPWE7Y1s3XSo9YTtjWzJdKj1hO2NbNV0qPWE7Y1s4XSo9YTtyZXR1cm4gdGhpc30sZGV0ZXJtaW5hbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzLGM9YVswXSxlPWFbMV0sZz1hWzJdLHQ9YVszXSx2PWFbNF0sej1hWzVdLEU9YVs2XSxGPWFbN107YT1hWzhdO3JldHVybiBjKnYqYS1jKnoqRi1lKnQqYStlKnoqRStnKnQqRi1nKnYqRX0sZ2V0SW52ZXJzZTpmdW5jdGlvbihhLGMpe2EmJmEuaXNNYXRyaXg0JiYKY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBubyBsb25nZXIgdGFrZXMgYSBNYXRyaXg0IGFyZ3VtZW50LiIpO3ZhciBlPWEuZWxlbWVudHM7YT10aGlzLmVsZW1lbnRzO3ZhciBnPWVbMF0sdD1lWzFdLHY9ZVsyXSx6PWVbM10sRT1lWzRdLEY9ZVs1XSxJPWVbNl0sTT1lWzddO2U9ZVs4XTt2YXIgUD1lKkUtRipNLFE9RipJLWUqeixVPU0qei1FKkksVj1nKlArdCpRK3YqVTtpZigwPT09Vil7aWYoITA9PT1jKXRocm93IEVycm9yKCJUSFJFRS5NYXRyaXgzOiAuZ2V0SW52ZXJzZSgpIGNhbid0IGludmVydCBtYXRyaXgsIGRldGVybWluYW50IGlzIDAiKTtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDM6IC5nZXRJbnZlcnNlKCkgY2FuJ3QgaW52ZXJ0IG1hdHJpeCwgZGV0ZXJtaW5hbnQgaXMgMCIpO3JldHVybiB0aGlzLmlkZW50aXR5KCl9Yz0xL1Y7YVswXT1QKmM7YVsxXT0odipNLWUqdCkqYzthWzJdPShGKnQtdipFKSpjO2FbM109USpjO2FbNF09CihlKmctdipJKSpjO2FbNV09KHYqei1GKmcpKmM7YVs2XT1VKmM7YVs3XT0odCpJLU0qZykqYzthWzhdPShFKmctdCp6KSpjO3JldHVybiB0aGlzfSx0cmFuc3Bvc2U6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzO3ZhciBjPWFbMV07YVsxXT1hWzNdO2FbM109YztjPWFbMl07YVsyXT1hWzZdO2FbNl09YztjPWFbNV07YVs1XT1hWzddO2FbN109YztyZXR1cm4gdGhpc30sZ2V0Tm9ybWFsTWF0cml4OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21NYXRyaXg0KGEpLmdldEludmVyc2UodGhpcykudHJhbnNwb3NlKCl9LHRyYW5zcG9zZUludG9BcnJheTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2FbMF09Y1swXTthWzFdPWNbM107YVsyXT1jWzZdO2FbM109Y1sxXTthWzRdPWNbNF07YVs1XT1jWzddO2FbNl09Y1syXTthWzddPWNbNV07YVs4XT1jWzhdO3JldHVybiB0aGlzfSxzZXRVdlRyYW5zZm9ybTpmdW5jdGlvbihhLGMsZSxnLHQsdix6KXt2YXIgRT0KTWF0aC5jb3ModCk7dD1NYXRoLnNpbih0KTt0aGlzLnNldChlKkUsZSp0LC1lKihFKnYrdCp6KSt2K2EsLWcqdCxnKkUsLWcqKC10KnYrRSp6KSt6K2MsMCwwLDEpfSxzY2FsZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZWxlbWVudHM7ZVswXSo9YTtlWzNdKj1hO2VbNl0qPWE7ZVsxXSo9YztlWzRdKj1jO2VbN10qPWM7cmV0dXJuIHRoaXN9LHJvdGF0ZTpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3ZhciBlPXRoaXMuZWxlbWVudHMsZz1lWzBdLHQ9ZVszXSx2PWVbNl0sej1lWzFdLEU9ZVs0XSxGPWVbN107ZVswXT1jKmcrYSp6O2VbM109Yyp0K2EqRTtlWzZdPWMqdithKkY7ZVsxXT0tYSpnK2MqejtlWzRdPS1hKnQrYypFO2VbN109LWEqditjKkY7cmV0dXJuIHRoaXN9LHRyYW5zbGF0ZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZWxlbWVudHM7ZVswXSs9YSplWzJdO2VbM10rPWEqZVs1XTtlWzZdKz1hKmVbOF07ZVsxXSs9YyplWzJdO2VbNF0rPQpjKmVbNV07ZVs3XSs9YyplWzhdO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Zm9yKHZhciBlPTA7OT5lO2UrKylpZihjW2VdIT09YVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPTA7OT5lO2UrKyl0aGlzLmVsZW1lbnRzW2VdPWFbZStjXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTt2YXIgZT10aGlzLmVsZW1lbnRzO2FbY109ZVswXTthW2MrMV09ZVsxXTthW2MrMl09ZVsyXTthW2MrM109ZVszXTthW2MrNF09ZVs0XTthW2MrNV09ZVs1XTthW2MrNl09ZVs2XTthW2MrN109ZVs3XTthW2MrOF09ZVs4XTtyZXR1cm4gYX19KTt2YXIgZ2YsRmQ9e2dldERhdGFVUkw6ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gYS5zcmM7CmlmKCEoYSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSl7dm9pZCAwPT09Z2YmJihnZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSk7Z2Yud2lkdGg9YS53aWR0aDtnZi5oZWlnaHQ9YS5oZWlnaHQ7dmFyIGM9Z2YuZ2V0Q29udGV4dCgiMmQiKTthIGluc3RhbmNlb2YgSW1hZ2VEYXRhP2MucHV0SW1hZ2VEYXRhKGEsMCwwKTpjLmRyYXdJbWFnZShhLDAsMCxhLndpZHRoLGEuaGVpZ2h0KTthPWdmfXJldHVybiAyMDQ4PGEud2lkdGh8fDIwNDg8YS5oZWlnaHQ/YS50b0RhdGFVUkwoImltYWdlL2pwZWciLC42KTphLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fSxobD0wO2wuREVGQVVMVF9JTUFHRT12b2lkIDA7bC5ERUZBVUxUX01BUFBJTkc9MzAwO2wucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmwsaXNUZXh0dXJlOiEwLHVwZGF0ZU1hdHJpeDpmdW5jdGlvbigpe3RoaXMubWF0cml4LnNldFV2VHJhbnNmb3JtKHRoaXMub2Zmc2V0LngsCnRoaXMub2Zmc2V0LnksdGhpcy5yZXBlYXQueCx0aGlzLnJlcGVhdC55LHRoaXMucm90YXRpb24sdGhpcy5jZW50ZXIueCx0aGlzLmNlbnRlci55KX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmltYWdlPWEuaW1hZ2U7dGhpcy5taXBtYXBzPWEubWlwbWFwcy5zbGljZSgwKTt0aGlzLm1hcHBpbmc9YS5tYXBwaW5nO3RoaXMud3JhcFM9YS53cmFwUzt0aGlzLndyYXBUPWEud3JhcFQ7dGhpcy5tYWdGaWx0ZXI9YS5tYWdGaWx0ZXI7dGhpcy5taW5GaWx0ZXI9YS5taW5GaWx0ZXI7dGhpcy5hbmlzb3Ryb3B5PWEuYW5pc290cm9weTt0aGlzLmZvcm1hdD1hLmZvcm1hdDt0aGlzLnR5cGU9YS50eXBlO3RoaXMub2Zmc2V0LmNvcHkoYS5vZmZzZXQpO3RoaXMucmVwZWF0LmNvcHkoYS5yZXBlYXQpO3RoaXMuY2VudGVyLmNvcHkoYS5jZW50ZXIpO3RoaXMucm90YXRpb249CmEucm90YXRpb247dGhpcy5tYXRyaXhBdXRvVXBkYXRlPWEubWF0cml4QXV0b1VwZGF0ZTt0aGlzLm1hdHJpeC5jb3B5KGEubWF0cml4KTt0aGlzLmdlbmVyYXRlTWlwbWFwcz1hLmdlbmVyYXRlTWlwbWFwczt0aGlzLnByZW11bHRpcGx5QWxwaGE9YS5wcmVtdWx0aXBseUFscGhhO3RoaXMuZmxpcFk9YS5mbGlwWTt0aGlzLnVucGFja0FsaWdubWVudD1hLnVucGFja0FsaWdubWVudDt0aGlzLmVuY29kaW5nPWEuZW5jb2Rpbmc7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXt2YXIgYz12b2lkIDA9PT1hfHwic3RyaW5nIj09PXR5cGVvZiBhO2lmKCFjJiZ2b2lkIDAhPT1hLnRleHR1cmVzW3RoaXMudXVpZF0pcmV0dXJuIGEudGV4dHVyZXNbdGhpcy51dWlkXTt2YXIgZT17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IlRleHR1cmUiLGdlbmVyYXRvcjoiVGV4dHVyZS50b0pTT04ifSx1dWlkOnRoaXMudXVpZCxuYW1lOnRoaXMubmFtZSxtYXBwaW5nOnRoaXMubWFwcGluZywKcmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe3ZhciBnPXRoaXMuaW1hZ2U7dm9pZCAwPT09Zy51dWlkJiYoZy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpKTtpZighYyYmdm9pZCAwPT09YS5pbWFnZXNbZy51dWlkXSl7aWYoQXJyYXkuaXNBcnJheShnKSl7dmFyIHQ9CltdO2Zvcih2YXIgdj0wLHo9Zy5sZW5ndGg7djx6O3YrKyl0LnB1c2goRmQuZ2V0RGF0YVVSTChnW3ZdKSl9ZWxzZSB0PUZkLmdldERhdGFVUkwoZyk7YS5pbWFnZXNbZy51dWlkXT17dXVpZDpnLnV1aWQsdXJsOnR9fWUuaW1hZ2U9Zy51dWlkfWN8fChhLnRleHR1cmVzW3RoaXMudXVpZF09ZSk7cmV0dXJuIGV9LGRpc3Bvc2U6ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9LHRyYW5zZm9ybVV2OmZ1bmN0aW9uKGEpe2lmKDMwMCE9PXRoaXMubWFwcGluZylyZXR1cm4gYTthLmFwcGx5TWF0cml4Myh0aGlzLm1hdHJpeCk7aWYoMD5hLnh8fDE8YS54KXN3aXRjaCh0aGlzLndyYXBTKXtjYXNlIDFFMzphLngtPU1hdGguZmxvb3IoYS54KTticmVhaztjYXNlIDEwMDE6YS54PTA+YS54PzA6MTticmVhaztjYXNlIDEwMDI6YS54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKGEueCklMik/TWF0aC5jZWlsKGEueCktYS54OmEueC1NYXRoLmZsb29yKGEueCl9aWYoMD4KYS55fHwxPGEueSlzd2l0Y2godGhpcy53cmFwVCl7Y2FzZSAxRTM6YS55LT1NYXRoLmZsb29yKGEueSk7YnJlYWs7Y2FzZSAxMDAxOmEueT0wPmEueT8wOjE7YnJlYWs7Y2FzZSAxMDAyOmEueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcihhLnkpJTIpP01hdGguY2VpbChhLnkpLWEueTphLnktTWF0aC5mbG9vcihhLnkpfXRoaXMuZmxpcFkmJihhLnk9MS1hLnkpO3JldHVybiBhfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShsLnByb3RvdHlwZSwibmVlZHNVcGRhdGUiLHtzZXQ6ZnVuY3Rpb24oYSl7ITA9PT1hJiZ0aGlzLnZlcnNpb24rK319KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhwLnByb3RvdHlwZSx7d2lkdGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnp9LHNldDpmdW5jdGlvbihhKXt0aGlzLno9YX19LGhlaWdodDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud30sc2V0OmZ1bmN0aW9uKGEpe3RoaXMudz1hfX19KTtPYmplY3QuYXNzaWduKHAucHJvdG90eXBlLAp7aXNWZWN0b3I0OiEwLHNldDpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLng9YTt0aGlzLnk9Yzt0aGlzLno9ZTt0aGlzLnc9ZztyZXR1cm4gdGhpc30sc2V0U2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMudz10aGlzLno9dGhpcy55PXRoaXMueD1hO3JldHVybiB0aGlzfSxzZXRYOmZ1bmN0aW9uKGEpe3RoaXMueD1hO3JldHVybiB0aGlzfSxzZXRZOmZ1bmN0aW9uKGEpe3RoaXMueT1hO3JldHVybiB0aGlzfSxzZXRaOmZ1bmN0aW9uKGEpe3RoaXMuej1hO3JldHVybiB0aGlzfSxzZXRXOmZ1bmN0aW9uKGEpe3RoaXMudz1hO3JldHVybiB0aGlzfSxzZXRDb21wb25lbnQ6ZnVuY3Rpb24oYSxjKXtzd2l0Y2goYSl7Y2FzZSAwOnRoaXMueD1jO2JyZWFrO2Nhc2UgMTp0aGlzLnk9YzticmVhaztjYXNlIDI6dGhpcy56PWM7YnJlYWs7Y2FzZSAzOnRoaXMudz1jO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9cmV0dXJuIHRoaXN9LGdldENvbXBvbmVudDpmdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiB0aGlzLng7CmNhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2Nhc2UgMzpyZXR1cm4gdGhpcy53O2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueix0aGlzLncpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMueD1hLng7dGhpcy55PWEueTt0aGlzLno9YS56O3RoaXMudz12b2lkIDAhPT1hLnc/YS53OjE7cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyhhLGMpO3RoaXMueCs9YS54O3RoaXMueSs9YS55O3RoaXMueis9YS56O3RoaXMudys9YS53O3JldHVybiB0aGlzfSwKYWRkU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueCs9YTt0aGlzLnkrPWE7dGhpcy56Kz1hO3RoaXMudys9YTtyZXR1cm4gdGhpc30sYWRkVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngrYy54O3RoaXMueT1hLnkrYy55O3RoaXMuej1hLnorYy56O3RoaXMudz1hLncrYy53O3JldHVybiB0aGlzfSxhZGRTY2FsZWRWZWN0b3I6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPWEueCpjO3RoaXMueSs9YS55KmM7dGhpcy56Kz1hLnoqYzt0aGlzLncrPWEudypjO3JldHVybiB0aGlzfSxzdWI6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLnN1YlZlY3RvcnMoYSxjKTt0aGlzLngtPWEueDt0aGlzLnktPWEueTt0aGlzLnotPWEuejt0aGlzLnctPWEudztyZXR1cm4gdGhpc30sc3ViU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueC09CmE7dGhpcy55LT1hO3RoaXMuei09YTt0aGlzLnctPWE7cmV0dXJuIHRoaXN9LHN1YlZlY3RvcnM6ZnVuY3Rpb24oYSxjKXt0aGlzLng9YS54LWMueDt0aGlzLnk9YS55LWMueTt0aGlzLno9YS56LWMuejt0aGlzLnc9YS53LWMudztyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54Kj1hO3RoaXMueSo9YTt0aGlzLnoqPWE7dGhpcy53Kj1hO3JldHVybiB0aGlzfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56LHQ9dGhpcy53O2E9YS5lbGVtZW50czt0aGlzLng9YVswXSpjK2FbNF0qZSthWzhdKmcrYVsxMl0qdDt0aGlzLnk9YVsxXSpjK2FbNV0qZSthWzldKmcrYVsxM10qdDt0aGlzLno9YVsyXSpjK2FbNl0qZSthWzEwXSpnK2FbMTRdKnQ7dGhpcy53PWFbM10qYythWzddKmUrYVsxMV0qZythWzE1XSp0O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LHNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMudz0yKk1hdGguYWNvcyhhLncpO3ZhciBjPU1hdGguc3FydCgxLWEudyphLncpOzFFLTQ+Yz8odGhpcy54PTEsdGhpcy56PXRoaXMueT0wKToodGhpcy54PWEueC9jLHRoaXMueT1hLnkvYyx0aGlzLno9YS56L2MpO3JldHVybiB0aGlzfSxzZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXg6ZnVuY3Rpb24oYSl7YT1hLmVsZW1lbnRzO3ZhciBjPWFbMF07dmFyIGU9YVs0XTt2YXIgZz1hWzhdLHQ9YVsxXSx2PWFbNV0sej1hWzldO3ZhciBFPWFbMl07dmFyIEY9YVs2XTt2YXIgST1hWzEwXTtpZiguMDE+TWF0aC5hYnMoZS10KSYmLjAxPk1hdGguYWJzKGctRSkmJi4wMT5NYXRoLmFicyh6LUYpKXtpZiguMT5NYXRoLmFicyhlK3QpJiYuMT5NYXRoLmFicyhnK0UpJiYuMT5NYXRoLmFicyh6K0YpJiYuMT5NYXRoLmFicyhjK3YrSS0zKSlyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCksdGhpczthPU1hdGguUEk7CmM9KGMrMSkvMjt2PSh2KzEpLzI7ST0oSSsxKS8yO2U9KGUrdCkvNDtnPShnK0UpLzQ7ej0oeitGKS80O2M+diYmYz5JPy4wMT5jPyhGPTAsZT1FPS43MDcxMDY3ODEpOihGPU1hdGguc3FydChjKSxFPWUvRixlPWcvRik6dj5JPy4wMT52PyhGPS43MDcxMDY3ODEsRT0wLGU9LjcwNzEwNjc4MSk6KEU9TWF0aC5zcXJ0KHYpLEY9ZS9FLGU9ei9FKTouMDE+ST8oRT1GPS43MDcxMDY3ODEsZT0wKTooZT1NYXRoLnNxcnQoSSksRj1nL2UsRT16L2UpO3RoaXMuc2V0KEYsRSxlLGEpO3JldHVybiB0aGlzfWE9TWF0aC5zcXJ0KChGLXopKihGLXopKyhnLUUpKihnLUUpKyh0LWUpKih0LWUpKTsuMDAxPk1hdGguYWJzKGEpJiYoYT0xKTt0aGlzLng9KEYteikvYTt0aGlzLnk9KGctRSkvYTt0aGlzLno9KHQtZSkvYTt0aGlzLnc9TWF0aC5hY29zKChjK3YrSS0xKS8yKTtyZXR1cm4gdGhpc30sbWluOmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1pbih0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5taW4odGhpcy55LAphLnkpO3RoaXMuej1NYXRoLm1pbih0aGlzLnosYS56KTt0aGlzLnc9TWF0aC5taW4odGhpcy53LGEudyk7cmV0dXJuIHRoaXN9LG1heDpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5tYXgodGhpcy54LGEueCk7dGhpcy55PU1hdGgubWF4KHRoaXMueSxhLnkpO3RoaXMuej1NYXRoLm1heCh0aGlzLnosYS56KTt0aGlzLnc9TWF0aC5tYXgodGhpcy53LGEudyk7cmV0dXJuIHRoaXN9LGNsYW1wOmZ1bmN0aW9uKGEsYyl7dGhpcy54PU1hdGgubWF4KGEueCxNYXRoLm1pbihjLngsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEueSxNYXRoLm1pbihjLnksdGhpcy55KSk7dGhpcy56PU1hdGgubWF4KGEueixNYXRoLm1pbihjLnosdGhpcy56KSk7dGhpcy53PU1hdGgubWF4KGEudyxNYXRoLm1pbihjLncsdGhpcy53KSk7cmV0dXJuIHRoaXN9LGNsYW1wU2NhbGFyOmZ1bmN0aW9uKGEsYyl7dGhpcy54PU1hdGgubWF4KGEsTWF0aC5taW4oYyx0aGlzLngpKTt0aGlzLnk9TWF0aC5tYXgoYSxNYXRoLm1pbihjLAp0aGlzLnkpKTt0aGlzLno9TWF0aC5tYXgoYSxNYXRoLm1pbihjLHRoaXMueikpO3RoaXMudz1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy53KSk7cmV0dXJuIHRoaXN9LGNsYW1wTGVuZ3RoOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIoZXx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgoYSxNYXRoLm1pbihjLGUpKSl9LGZsb29yOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3RoaXMuej1NYXRoLmZsb29yKHRoaXMueik7dGhpcy53PU1hdGguZmxvb3IodGhpcy53KTtyZXR1cm4gdGhpc30sY2VpbDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7dGhpcy56PU1hdGguY2VpbCh0aGlzLnopO3RoaXMudz1NYXRoLmNlaWwodGhpcy53KTtyZXR1cm4gdGhpc30scm91bmQ6ZnVuY3Rpb24oKXt0aGlzLng9Ck1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3RoaXMuej1NYXRoLnJvdW5kKHRoaXMueik7dGhpcy53PU1hdGgucm91bmQodGhpcy53KTtyZXR1cm4gdGhpc30scm91bmRUb1plcm86ZnVuY3Rpb24oKXt0aGlzLng9MD50aGlzLng/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT0wPnRoaXMueT9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PTA+dGhpcy56P01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KTt0aGlzLnc9MD50aGlzLnc/TWF0aC5jZWlsKHRoaXMudyk6TWF0aC5mbG9vcih0aGlzLncpO3JldHVybiB0aGlzfSxuZWdhdGU6ZnVuY3Rpb24oKXt0aGlzLng9LXRoaXMueDt0aGlzLnk9LXRoaXMueTt0aGlzLno9LXRoaXMuejt0aGlzLnc9LXRoaXMudztyZXR1cm4gdGhpc30sZG90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLngqYS54K3RoaXMueSphLnkrdGhpcy56KgphLnordGhpcy53KmEud30sbGVuZ3RoU3E6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud30sbGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkrdGhpcy56KnRoaXMueit0aGlzLncqdGhpcy53KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KStNYXRoLmFicyh0aGlzLnopK01hdGguYWJzKHRoaXMudyl9LG5vcm1hbGl6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX0sc2V0TGVuZ3RoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKGEpfSxsZXJwOmZ1bmN0aW9uKGEsYyl7dGhpcy54Kz0oYS54LXRoaXMueCkqYzt0aGlzLnkrPShhLnktdGhpcy55KSpjO3RoaXMueis9KGEuei0KdGhpcy56KSpjO3RoaXMudys9KGEudy10aGlzLncpKmM7cmV0dXJuIHRoaXN9LGxlcnBWZWN0b3JzOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gdGhpcy5zdWJWZWN0b3JzKGMsYSkubXVsdGlwbHlTY2FsYXIoZSkuYWRkKGEpfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEueD09PXRoaXMueCYmYS55PT09dGhpcy55JiZhLno9PT10aGlzLnomJmEudz09PXRoaXMud30sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy54PWFbY107dGhpcy55PWFbYysxXTt0aGlzLno9YVtjKzJdO3RoaXMudz1hW2MrM107cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7YVtjXT10aGlzLng7YVtjKzFdPXRoaXMueTthW2MrMl09dGhpcy56O2FbYyszXT10aGlzLnc7cmV0dXJuIGF9LGZyb21CdWZmZXJBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpOwp0aGlzLng9YS5nZXRYKGMpO3RoaXMueT1hLmdldFkoYyk7dGhpcy56PWEuZ2V0WihjKTt0aGlzLnc9YS5nZXRXKGMpO3JldHVybiB0aGlzfX0pO20ucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm0saXNXZWJHTFJlbmRlclRhcmdldDohMCxzZXRTaXplOmZ1bmN0aW9uKGEsYyl7aWYodGhpcy53aWR0aCE9PWF8fHRoaXMuaGVpZ2h0IT09Yyl0aGlzLndpZHRoPWEsdGhpcy5oZWlnaHQ9Yyx0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9YSx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWMsdGhpcy5kaXNwb3NlKCk7dGhpcy52aWV3cG9ydC5zZXQoMCwwLGEsYyk7dGhpcy5zY2lzc29yLnNldCgwLDAsYSxjKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy53aWR0aD1hLndpZHRoO3RoaXMuaGVpZ2h0PWEuaGVpZ2h0O3RoaXMudmlld3BvcnQuY29weShhLnZpZXdwb3J0KTsKdGhpcy50ZXh0dXJlPWEudGV4dHVyZS5jbG9uZSgpO3RoaXMuZGVwdGhCdWZmZXI9YS5kZXB0aEJ1ZmZlcjt0aGlzLnN0ZW5jaWxCdWZmZXI9YS5zdGVuY2lsQnVmZmVyO3RoaXMuZGVwdGhUZXh0dXJlPWEuZGVwdGhUZXh0dXJlO3JldHVybiB0aGlzfSxkaXNwb3NlOmZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pO24ucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShtLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm4saXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0OiEwLGNvcHk6ZnVuY3Rpb24oYSl7bS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5zYW1wbGVzPWEuc2FtcGxlcztyZXR1cm4gdGhpc319KTt2YXIgdGM9bmV3IGssUmI9bmV3IHEsU209bmV3IGsoMCwwLDApLFRtPW5ldyBrKDEsMSwxKSxHZD1uZXcgayxqaD1uZXcgayxpYz1uZXcgaztPYmplY3QuYXNzaWduKHEucHJvdG90eXBlLHtpc01hdHJpeDQ6ITAsCnNldDpmdW5jdGlvbihhLGMsZSxnLHQsdix6LEUsRixJLE0sUCxRLFUsVixlYSl7dmFyIGRhPXRoaXMuZWxlbWVudHM7ZGFbMF09YTtkYVs0XT1jO2RhWzhdPWU7ZGFbMTJdPWc7ZGFbMV09dDtkYVs1XT12O2RhWzldPXo7ZGFbMTNdPUU7ZGFbMl09RjtkYVs2XT1JO2RhWzEwXT1NO2RhWzE0XT1QO2RhWzNdPVE7ZGFbN109VTtkYVsxMV09VjtkYVsxNV09ZWE7cmV0dXJuIHRoaXN9LGlkZW50aXR5OmZ1bmN0aW9uKCl7dGhpcy5zZXQoMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBxKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9LGNvcHk6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Y1swXT1hWzBdO2NbMV09YVsxXTtjWzJdPWFbMl07Y1szXT1hWzNdO2NbNF09YVs0XTtjWzVdPWFbNV07Y1s2XT1hWzZdO2NbN109YVs3XTtjWzhdPWFbOF07Y1s5XT1hWzldO2NbMTBdPQphWzEwXTtjWzExXT1hWzExXTtjWzEyXT1hWzEyXTtjWzEzXT1hWzEzXTtjWzE0XT1hWzE0XTtjWzE1XT1hWzE1XTtyZXR1cm4gdGhpc30sY29weVBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuZWxlbWVudHM7YT1hLmVsZW1lbnRzO2NbMTJdPWFbMTJdO2NbMTNdPWFbMTNdO2NbMTRdPWFbMTRdO3JldHVybiB0aGlzfSxleHRyYWN0QmFzaXM6ZnVuY3Rpb24oYSxjLGUpe2Euc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDApO2Muc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDEpO2Uuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDIpO3JldHVybiB0aGlzfSxtYWtlQmFzaXM6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuc2V0KGEueCxjLngsZS54LDAsYS55LGMueSxlLnksMCxhLnosYy56LGUueiwwLDAsMCwwLDEpO3JldHVybiB0aGlzfSxleHRyYWN0Um90YXRpb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50cyxlPWEuZWxlbWVudHMsZz0xL3RjLnNldEZyb21NYXRyaXhDb2x1bW4oYSwKMCkubGVuZ3RoKCksdD0xL3RjLnNldEZyb21NYXRyaXhDb2x1bW4oYSwxKS5sZW5ndGgoKTthPTEvdGMuc2V0RnJvbU1hdHJpeENvbHVtbihhLDIpLmxlbmd0aCgpO2NbMF09ZVswXSpnO2NbMV09ZVsxXSpnO2NbMl09ZVsyXSpnO2NbM109MDtjWzRdPWVbNF0qdDtjWzVdPWVbNV0qdDtjWzZdPWVbNl0qdDtjWzddPTA7Y1s4XT1lWzhdKmE7Y1s5XT1lWzldKmE7Y1sxMF09ZVsxMF0qYTtjWzExXT0wO2NbMTJdPTA7Y1sxM109MDtjWzE0XT0wO2NbMTVdPTE7cmV0dXJuIHRoaXN9LG1ha2VSb3RhdGlvbkZyb21FdWxlcjpmdW5jdGlvbihhKXthJiZhLmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tYWtlUm90YXRpb25Gcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhIEV1bGVyIHJvdGF0aW9uIHJhdGhlciB0aGFuIGEgVmVjdG9yMyBhbmQgb3JkZXIuIik7dmFyIGM9dGhpcy5lbGVtZW50cyxlPWEueCxnPWEueSx0PWEueix2PU1hdGguY29zKGUpO2U9TWF0aC5zaW4oZSk7CnZhciB6PU1hdGguY29zKGcpO2c9TWF0aC5zaW4oZyk7dmFyIEU9TWF0aC5jb3ModCk7dD1NYXRoLnNpbih0KTtpZigiWFlaIj09PWEub3JkZXIpe2E9dipFO3ZhciBGPXYqdCxJPWUqRSxNPWUqdDtjWzBdPXoqRTtjWzRdPS16KnQ7Y1s4XT1nO2NbMV09RitJKmc7Y1s1XT1hLU0qZztjWzldPS1lKno7Y1syXT1NLWEqZztjWzZdPUkrRipnO2NbMTBdPXYqen1lbHNlIllYWiI9PT1hLm9yZGVyPyhhPXoqRSxGPXoqdCxJPWcqRSxNPWcqdCxjWzBdPWErTSplLGNbNF09SSplLUYsY1s4XT12KmcsY1sxXT12KnQsY1s1XT12KkUsY1s5XT0tZSxjWzJdPUYqZS1JLGNbNl09TSthKmUsY1sxMF09dip6KToiWlhZIj09PWEub3JkZXI/KGE9eipFLEY9eip0LEk9ZypFLE09Zyp0LGNbMF09YS1NKmUsY1s0XT0tdip0LGNbOF09SStGKmUsY1sxXT1GK0kqZSxjWzVdPXYqRSxjWzldPU0tYSplLGNbMl09LXYqZyxjWzZdPWUsY1sxMF09dip6KToiWllYIj09PWEub3JkZXI/KGE9dipFLEY9dip0LEk9ZSoKRSxNPWUqdCxjWzBdPXoqRSxjWzRdPUkqZy1GLGNbOF09YSpnK00sY1sxXT16KnQsY1s1XT1NKmcrYSxjWzldPUYqZy1JLGNbMl09LWcsY1s2XT1lKnosY1sxMF09dip6KToiWVpYIj09PWEub3JkZXI/KGE9dip6LEY9dipnLEk9ZSp6LE09ZSpnLGNbMF09eipFLGNbNF09TS1hKnQsY1s4XT1JKnQrRixjWzFdPXQsY1s1XT12KkUsY1s5XT0tZSpFLGNbMl09LWcqRSxjWzZdPUYqdCtJLGNbMTBdPWEtTSp0KToiWFpZIj09PWEub3JkZXImJihhPXYqeixGPXYqZyxJPWUqeixNPWUqZyxjWzBdPXoqRSxjWzRdPS10LGNbOF09ZypFLGNbMV09YSp0K00sY1s1XT12KkUsY1s5XT1GKnQtSSxjWzJdPUkqdC1GLGNbNl09ZSpFLGNbMTBdPU0qdCthKTtjWzNdPTA7Y1s3XT0wO2NbMTFdPTA7Y1sxMl09MDtjWzEzXT0wO2NbMTRdPTA7Y1sxNV09MTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuY29tcG9zZShTbSxhLFRtKX0sbG9va0F0OmZ1bmN0aW9uKGEsCmMsZSl7dmFyIGc9dGhpcy5lbGVtZW50cztpYy5zdWJWZWN0b3JzKGEsYyk7MD09PWljLmxlbmd0aFNxKCkmJihpYy56PTEpO2ljLm5vcm1hbGl6ZSgpO0dkLmNyb3NzVmVjdG9ycyhlLGljKTswPT09R2QubGVuZ3RoU3EoKSYmKDE9PT1NYXRoLmFicyhlLnopP2ljLngrPTFFLTQ6aWMueis9MUUtNCxpYy5ub3JtYWxpemUoKSxHZC5jcm9zc1ZlY3RvcnMoZSxpYykpO0dkLm5vcm1hbGl6ZSgpO2poLmNyb3NzVmVjdG9ycyhpYyxHZCk7Z1swXT1HZC54O2dbNF09amgueDtnWzhdPWljLng7Z1sxXT1HZC55O2dbNV09amgueTtnWzldPWljLnk7Z1syXT1HZC56O2dbNl09amguejtnWzEwXT1pYy56O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhLGMpe3JldHVybiB2b2lkIDAhPT1jPyhjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5TWF0cmljZXMoIGEsIGIgKSBpbnN0ZWFkLiIpLAp0aGlzLm11bHRpcGx5TWF0cmljZXMoYSxjKSk6dGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsYSl9LHByZW11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXMoYSx0aGlzKX0sbXVsdGlwbHlNYXRyaWNlczpmdW5jdGlvbihhLGMpe3ZhciBlPWEuZWxlbWVudHMsZz1jLmVsZW1lbnRzO2M9dGhpcy5lbGVtZW50czthPWVbMF07dmFyIHQ9ZVs0XSx2PWVbOF0sej1lWzEyXSxFPWVbMV0sRj1lWzVdLEk9ZVs5XSxNPWVbMTNdLFA9ZVsyXSxRPWVbNl0sVT1lWzEwXSxWPWVbMTRdLGVhPWVbM10sZGE9ZVs3XSxyYT1lWzExXTtlPWVbMTVdO3ZhciBwYT1nWzBdLHFhPWdbNF0sdWE9Z1s4XSxuYT1nWzEyXSx0YT1nWzFdLEJhPWdbNV0sVGE9Z1s5XSxVYT1nWzEzXSxDYT1nWzJdLEhhPWdbNl0sRGE9Z1sxMF0sTWE9Z1sxNF0sZGI9Z1szXSx0Yj1nWzddLEthPWdbMTFdO2c9Z1sxNV07Y1swXT1hKnBhK3QqdGErdipDYSt6KmRiO2NbNF09YSpxYSt0KkJhK3YqCkhhK3oqdGI7Y1s4XT1hKnVhK3QqVGErdipEYSt6KkthO2NbMTJdPWEqbmErdCpVYSt2Kk1hK3oqZztjWzFdPUUqcGErRip0YStJKkNhK00qZGI7Y1s1XT1FKnFhK0YqQmErSSpIYStNKnRiO2NbOV09RSp1YStGKlRhK0kqRGErTSpLYTtjWzEzXT1FKm5hK0YqVWErSSpNYStNKmc7Y1syXT1QKnBhK1EqdGErVSpDYStWKmRiO2NbNl09UCpxYStRKkJhK1UqSGErVip0YjtjWzEwXT1QKnVhK1EqVGErVSpEYStWKkthO2NbMTRdPVAqbmErUSpVYStVKk1hK1YqZztjWzNdPWVhKnBhK2RhKnRhK3JhKkNhK2UqZGI7Y1s3XT1lYSpxYStkYSpCYStyYSpIYStlKnRiO2NbMTFdPWVhKnVhK2RhKlRhK3JhKkRhK2UqS2E7Y1sxNV09ZWEqbmErZGEqVWErcmEqTWErZSpnO3JldHVybiB0aGlzfSxtdWx0aXBseVNjYWxhcjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2NbMF0qPWE7Y1s0XSo9YTtjWzhdKj1hO2NbMTJdKj1hO2NbMV0qPWE7Y1s1XSo9YTtjWzldKj1hO2NbMTNdKj1hO2NbMl0qPQphO2NbNl0qPWE7Y1sxMF0qPWE7Y1sxNF0qPWE7Y1szXSo9YTtjWzddKj1hO2NbMTFdKj1hO2NbMTVdKj1hO3JldHVybiB0aGlzfSxhcHBseVRvQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wLGU9YS5jb3VudDtjPGU7YysrKXRjLng9YS5nZXRYKGMpLHRjLnk9YS5nZXRZKGMpLHRjLno9YS5nZXRaKGMpLHRjLmFwcGx5TWF0cml4NCh0aGlzKSxhLnNldFhZWihjLHRjLngsdGMueSx0Yy56KTtyZXR1cm4gYX0sZGV0ZXJtaW5hbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzLGM9YVswXSxlPWFbNF0sZz1hWzhdLHQ9YVsxMl0sdj1hWzFdLHo9YVs1XSxFPWFbOV0sRj1hWzEzXSxJPWFbMl0sTT1hWzZdLFA9YVsxMF0sUT1hWzE0XTtyZXR1cm4gYVszXSooK3QqRSpNLWcqRipNLXQqeipQK2UqRipQK2cqeipRLWUqRSpRKSthWzddKigrYypFKlEtYypGKlArdCp2KlAtZyp2KlErZypGKkktdCpFKkkpK2FbMTFdKigrYypGKk0tYyp6KlEtdCp2Kk0rZSp2KlErCnQqeipJLWUqRipJKSthWzE1XSooLWcqeipJLWMqRSpNK2MqeipQK2cqdipNLWUqdipQK2UqRSpJKX0sdHJhbnNwb3NlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtZW50czt2YXIgYz1hWzFdO2FbMV09YVs0XTthWzRdPWM7Yz1hWzJdO2FbMl09YVs4XTthWzhdPWM7Yz1hWzZdO2FbNl09YVs5XTthWzldPWM7Yz1hWzNdO2FbM109YVsxMl07YVsxMl09YztjPWFbN107YVs3XT1hWzEzXTthWzEzXT1jO2M9YVsxMV07YVsxMV09YVsxNF07YVsxNF09YztyZXR1cm4gdGhpc30sc2V0UG9zaXRpb246ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuZWxlbWVudHM7YS5pc1ZlY3RvcjM/KGdbMTJdPWEueCxnWzEzXT1hLnksZ1sxNF09YS56KTooZ1sxMl09YSxnWzEzXT1jLGdbMTRdPWUpO3JldHVybiB0aGlzfSxnZXRJbnZlcnNlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5lbGVtZW50cyxnPWEuZWxlbWVudHM7YT1nWzBdO3ZhciB0PWdbMV0sdj1nWzJdLHo9Z1szXSxFPWdbNF0sRj1nWzVdLApJPWdbNl0sTT1nWzddLFA9Z1s4XSxRPWdbOV0sVT1nWzEwXSxWPWdbMTFdLGVhPWdbMTJdLGRhPWdbMTNdLHJhPWdbMTRdO2c9Z1sxNV07dmFyIHBhPVEqcmEqTS1kYSpVKk0rZGEqSSpWLUYqcmEqVi1RKkkqZytGKlUqZyxxYT1lYSpVKk0tUCpyYSpNLWVhKkkqVitFKnJhKlYrUCpJKmctRSpVKmcsdWE9UCpkYSpNLWVhKlEqTStlYSpGKlYtRSpkYSpWLVAqRipnK0UqUSpnLG5hPWVhKlEqSS1QKmRhKkktZWEqRipVK0UqZGEqVStQKkYqcmEtRSpRKnJhLHRhPWEqcGErdCpxYSt2KnVhK3oqbmE7aWYoMD09PXRhKXtpZighMD09PWMpdGhyb3cgRXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5nZXRJbnZlcnNlKCkgY2FuJ3QgaW52ZXJ0IG1hdHJpeCwgZGV0ZXJtaW5hbnQgaXMgMCIpO2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmdldEludmVyc2UoKSBjYW4ndCBpbnZlcnQgbWF0cml4LCBkZXRlcm1pbmFudCBpcyAwIik7cmV0dXJuIHRoaXMuaWRlbnRpdHkoKX1jPTEvdGE7ZVswXT0KcGEqYztlWzFdPShkYSpVKnotUSpyYSp6LWRhKnYqVit0KnJhKlYrUSp2KmctdCpVKmcpKmM7ZVsyXT0oRipyYSp6LWRhKkkqeitkYSp2Kk0tdCpyYSpNLUYqdipnK3QqSSpnKSpjO2VbM109KFEqSSp6LUYqVSp6LVEqdipNK3QqVSpNK0YqdipWLXQqSSpWKSpjO2VbNF09cWEqYztlWzVdPShQKnJhKnotZWEqVSp6K2VhKnYqVi1hKnJhKlYtUCp2KmcrYSpVKmcpKmM7ZVs2XT0oZWEqSSp6LUUqcmEqei1lYSp2Kk0rYSpyYSpNK0UqdipnLWEqSSpnKSpjO2VbN109KEUqVSp6LVAqSSp6K1AqdipNLWEqVSpNLUUqdipWK2EqSSpWKSpjO2VbOF09dWEqYztlWzldPShlYSpRKnotUCpkYSp6LWVhKnQqVithKmRhKlYrUCp0KmctYSpRKmcpKmM7ZVsxMF09KEUqZGEqei1lYSpGKnorZWEqdCpNLWEqZGEqTS1FKnQqZythKkYqZykqYztlWzExXT0oUCpGKnotRSpRKnotUCp0Kk0rYSpRKk0rRSp0KlYtYSpGKlYpKmM7ZVsxMl09bmEqYztlWzEzXT0oUCpkYSp2LWVhKlEqditlYSp0KlUtYSpkYSpVLQpQKnQqcmErYSpRKnJhKSpjO2VbMTRdPShlYSpGKnYtRSpkYSp2LWVhKnQqSSthKmRhKkkrRSp0KnJhLWEqRipyYSkqYztlWzE1XT0oRSpRKnYtUCpGKnYrUCp0KkktYSpRKkktRSp0KlUrYSpGKlUpKmM7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuZWxlbWVudHMsZT1hLngsZz1hLnk7YT1hLno7Y1swXSo9ZTtjWzRdKj1nO2NbOF0qPWE7Y1sxXSo9ZTtjWzVdKj1nO2NbOV0qPWE7Y1syXSo9ZTtjWzZdKj1nO2NbMTBdKj1hO2NbM10qPWU7Y1s3XSo9ZztjWzExXSo9YTtyZXR1cm4gdGhpc30sZ2V0TWF4U2NhbGVPbkF4aXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzO3JldHVybiBNYXRoLnNxcnQoTWF0aC5tYXgoYVswXSphWzBdK2FbMV0qYVsxXSthWzJdKmFbMl0sYVs0XSphWzRdK2FbNV0qYVs1XSthWzZdKmFbNl0sYVs4XSphWzhdK2FbOV0qYVs5XSthWzEwXSphWzEwXSkpfSxtYWtlVHJhbnNsYXRpb246ZnVuY3Rpb24oYSxjLGUpe3RoaXMuc2V0KDEsCjAsMCxhLDAsMSwwLGMsMCwwLDEsZSwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWDpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KDEsMCwwLDAsMCxjLC1hLDAsMCxhLGMsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWTpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KGMsMCxhLDAsMCwxLDAsMCwtYSwwLGMsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWjpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KGMsLWEsMCwwLGEsYywwLDAsMCwwLDEsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uQXhpczpmdW5jdGlvbihhLGMpe3ZhciBlPU1hdGguY29zKGMpO2M9TWF0aC5zaW4oYyk7dmFyIGc9MS1lLHQ9YS54LHY9YS55O2E9YS56O3ZhciB6PWcqdCxFPWcqdjt0aGlzLnNldCh6Kgp0K2Useip2LWMqYSx6KmErYyp2LDAseip2K2MqYSxFKnYrZSxFKmEtYyp0LDAseiphLWMqdixFKmErYyp0LGcqYSphK2UsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVNjYWxlOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnNldChhLDAsMCwwLDAsYywwLDAsMCwwLGUsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVNoZWFyOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnNldCgxLGMsZSwwLGEsMSxlLDAsYSxjLDEsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sY29tcG9zZTpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5lbGVtZW50cyx0PWMuX3gsdj1jLl95LHo9Yy5feixFPWMuX3csRj10K3QsST12K3YsTT16K3o7Yz10KkY7dmFyIFA9dCpJO3QqPU07dmFyIFE9dipJO3YqPU07eio9TTtGKj1FO0kqPUU7RSo9TTtNPWUueDt2YXIgVT1lLnk7ZT1lLno7Z1swXT0oMS0oUSt6KSkqTTtnWzFdPShQK0UpKk07Z1syXT0odC1JKSpNO2dbM109MDtnWzRdPShQLUUpKlU7Z1s1XT0oMS0oYyt6KSkqClU7Z1s2XT0oditGKSpVO2dbN109MDtnWzhdPSh0K0kpKmU7Z1s5XT0odi1GKSplO2dbMTBdPSgxLShjK1EpKSplO2dbMTFdPTA7Z1sxMl09YS54O2dbMTNdPWEueTtnWzE0XT1hLno7Z1sxNV09MTtyZXR1cm4gdGhpc30sZGVjb21wb3NlOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLmVsZW1lbnRzLHQ9dGMuc2V0KGdbMF0sZ1sxXSxnWzJdKS5sZW5ndGgoKSx2PXRjLnNldChnWzRdLGdbNV0sZ1s2XSkubGVuZ3RoKCksej10Yy5zZXQoZ1s4XSxnWzldLGdbMTBdKS5sZW5ndGgoKTswPnRoaXMuZGV0ZXJtaW5hbnQoKSYmKHQ9LXQpO2EueD1nWzEyXTthLnk9Z1sxM107YS56PWdbMTRdO1JiLmNvcHkodGhpcyk7YT0xL3Q7Zz0xL3Y7dmFyIEU9MS96O1JiLmVsZW1lbnRzWzBdKj1hO1JiLmVsZW1lbnRzWzFdKj1hO1JiLmVsZW1lbnRzWzJdKj1hO1JiLmVsZW1lbnRzWzRdKj1nO1JiLmVsZW1lbnRzWzVdKj1nO1JiLmVsZW1lbnRzWzZdKj1nO1JiLmVsZW1lbnRzWzhdKj1FO1JiLmVsZW1lbnRzWzldKj0KRTtSYi5lbGVtZW50c1sxMF0qPUU7Yy5zZXRGcm9tUm90YXRpb25NYXRyaXgoUmIpO2UueD10O2UueT12O2Uuej16O3JldHVybiB0aGlzfSxtYWtlUGVyc3BlY3RpdmU6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3ZvaWQgMD09PXYmJmNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VQZXJzcGVjdGl2ZSgpIGhhcyBiZWVuIHJlZGVmaW5lZCBhbmQgaGFzIGEgbmV3IHNpZ25hdHVyZS4gUGxlYXNlIGNoZWNrIHRoZSBkb2NzLiIpO3ZhciB6PXRoaXMuZWxlbWVudHM7elswXT0yKnQvKGMtYSk7els0XT0wO3pbOF09KGMrYSkvKGMtYSk7elsxMl09MDt6WzFdPTA7els1XT0yKnQvKGUtZyk7els5XT0oZStnKS8oZS1nKTt6WzEzXT0wO3pbMl09MDt6WzZdPTA7elsxMF09LSh2K3QpLyh2LXQpO3pbMTRdPS0yKnYqdC8odi10KTt6WzNdPTA7els3XT0wO3pbMTFdPS0xO3pbMTVdPTA7cmV0dXJuIHRoaXN9LG1ha2VPcnRob2dyYXBoaWM6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3ZhciB6PQp0aGlzLmVsZW1lbnRzLEU9MS8oYy1hKSxGPTEvKGUtZyksST0xLyh2LXQpO3pbMF09MipFO3pbNF09MDt6WzhdPTA7elsxMl09LSgoYythKSpFKTt6WzFdPTA7els1XT0yKkY7els5XT0wO3pbMTNdPS0oKGUrZykqRik7elsyXT0wO3pbNl09MDt6WzEwXT0tMipJO3pbMTRdPS0oKHYrdCkqSSk7elszXT0wO3pbN109MDt6WzExXT0wO3pbMTVdPTE7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2E9YS5lbGVtZW50cztmb3IodmFyIGU9MDsxNj5lO2UrKylpZihjW2VdIT09YVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPTA7MTY+ZTtlKyspdGhpcy5lbGVtZW50c1tlXT1hW2UrY107cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7dmFyIGU9dGhpcy5lbGVtZW50czthW2NdPWVbMF07CmFbYysxXT1lWzFdO2FbYysyXT1lWzJdO2FbYyszXT1lWzNdO2FbYys0XT1lWzRdO2FbYys1XT1lWzVdO2FbYys2XT1lWzZdO2FbYys3XT1lWzddO2FbYys4XT1lWzhdO2FbYys5XT1lWzldO2FbYysxMF09ZVsxMF07YVtjKzExXT1lWzExXTthW2MrMTJdPWVbMTJdO2FbYysxM109ZVsxM107YVtjKzE0XT1lWzE0XTthW2MrMTVdPWVbMTVdO3JldHVybiBhfX0pO3ZhciBsaz1uZXcgcSxtaz1uZXcgaDt1LlJvdGF0aW9uT3JkZXJzPSJYWVogWVpYIFpYWSBYWlkgWVhaIFpZWCIuc3BsaXQoIiAiKTt1LkRlZmF1bHRPcmRlcj0iWFlaIjtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh1LnByb3RvdHlwZSx7eDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3h9LHNldDpmdW5jdGlvbihhKXt0aGlzLl94PWE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfX0seTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3l9LHNldDpmdW5jdGlvbihhKXt0aGlzLl95PWE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfX0sCno6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl96fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5fej1hO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX19LG9yZGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb3JkZXJ9LHNldDpmdW5jdGlvbihhKXt0aGlzLl9vcmRlcj1hO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX19fSk7T2JqZWN0LmFzc2lnbih1LnByb3RvdHlwZSx7aXNFdWxlcjohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5feD1hO3RoaXMuX3k9Yzt0aGlzLl96PWU7dGhpcy5fb3JkZXI9Z3x8dGhpcy5fb3JkZXI7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLl94LHRoaXMuX3ksdGhpcy5feix0aGlzLl9vcmRlcil9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5feD1hLl94O3RoaXMuX3k9YS5feTt0aGlzLl96PWEuX3o7dGhpcy5fb3JkZXI9YS5fb3JkZXI7CnRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sc2V0RnJvbVJvdGF0aW9uTWF0cml4OmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz1oYi5jbGFtcCx0PWEuZWxlbWVudHM7YT10WzBdO3ZhciB2PXRbNF0sej10WzhdLEU9dFsxXSxGPXRbNV0sST10WzldLE09dFsyXSxQPXRbNl07dD10WzEwXTtjPWN8fHRoaXMuX29yZGVyOyJYWVoiPT09Yz8odGhpcy5feT1NYXRoLmFzaW4oZyh6LC0xLDEpKSwuOTk5OTk5OT5NYXRoLmFicyh6KT8odGhpcy5feD1NYXRoLmF0YW4yKC1JLHQpLHRoaXMuX3o9TWF0aC5hdGFuMigtdixhKSk6KHRoaXMuX3g9TWF0aC5hdGFuMihQLEYpLHRoaXMuX3o9MCkpOiJZWFoiPT09Yz8odGhpcy5feD1NYXRoLmFzaW4oLWcoSSwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoSSk/KHRoaXMuX3k9TWF0aC5hdGFuMih6LHQpLHRoaXMuX3o9TWF0aC5hdGFuMihFLEYpKToodGhpcy5feT1NYXRoLmF0YW4yKC1NLGEpLHRoaXMuX3o9MCkpOiJaWFkiPT09Yz8odGhpcy5feD0KTWF0aC5hc2luKGcoUCwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoUCk/KHRoaXMuX3k9TWF0aC5hdGFuMigtTSx0KSx0aGlzLl96PU1hdGguYXRhbjIoLXYsRikpOih0aGlzLl95PTAsdGhpcy5fej1NYXRoLmF0YW4yKEUsYSkpKToiWllYIj09PWM/KHRoaXMuX3k9TWF0aC5hc2luKC1nKE0sLTEsMSkpLC45OTk5OTk5Pk1hdGguYWJzKE0pPyh0aGlzLl94PU1hdGguYXRhbjIoUCx0KSx0aGlzLl96PU1hdGguYXRhbjIoRSxhKSk6KHRoaXMuX3g9MCx0aGlzLl96PU1hdGguYXRhbjIoLXYsRikpKToiWVpYIj09PWM/KHRoaXMuX3o9TWF0aC5hc2luKGcoRSwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoRSk/KHRoaXMuX3g9TWF0aC5hdGFuMigtSSxGKSx0aGlzLl95PU1hdGguYXRhbjIoLU0sYSkpOih0aGlzLl94PTAsdGhpcy5feT1NYXRoLmF0YW4yKHosdCkpKToiWFpZIj09PWM/KHRoaXMuX3o9TWF0aC5hc2luKC1nKHYsLTEsMSkpLC45OTk5OTk5Pk1hdGguYWJzKHYpPyh0aGlzLl94PQpNYXRoLmF0YW4yKFAsRiksdGhpcy5feT1NYXRoLmF0YW4yKHosYSkpOih0aGlzLl94PU1hdGguYXRhbjIoLUksdCksdGhpcy5feT0wKSk6Y29uc29sZS53YXJuKCJUSFJFRS5FdWxlcjogLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGdpdmVuIHVuc3VwcG9ydGVkIG9yZGVyOiAiK2MpO3RoaXMuX29yZGVyPWM7ITEhPT1lJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHNldEZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEsYyxlKXtsay5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbihhKTtyZXR1cm4gdGhpcy5zZXRGcm9tUm90YXRpb25NYXRyaXgobGssYyxlKX0sc2V0RnJvbVZlY3RvcjM6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdGhpcy5zZXQoYS54LGEueSxhLnosY3x8dGhpcy5fb3JkZXIpfSxyZW9yZGVyOmZ1bmN0aW9uKGEpe21rLnNldEZyb21FdWxlcih0aGlzKTtyZXR1cm4gdGhpcy5zZXRGcm9tUXVhdGVybmlvbihtayxhKX0sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLl94PT09CnRoaXMuX3gmJmEuX3k9PT10aGlzLl95JiZhLl96PT09dGhpcy5feiYmYS5fb3JkZXI9PT10aGlzLl9vcmRlcn0sZnJvbUFycmF5OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YVswXTt0aGlzLl95PWFbMV07dGhpcy5fej1hWzJdO3ZvaWQgMCE9PWFbM10mJih0aGlzLl9vcmRlcj1hWzNdKTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7YVtjXT10aGlzLl94O2FbYysxXT10aGlzLl95O2FbYysyXT10aGlzLl96O2FbYyszXT10aGlzLl9vcmRlcjtyZXR1cm4gYX0sdG9WZWN0b3IzOmZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2V0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KTpuZXcgayh0aGlzLl94LHRoaXMuX3ksdGhpcy5feil9LF9vbkNoYW5nZTpmdW5jdGlvbihhKXt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrPWE7cmV0dXJuIHRoaXN9LF9vbkNoYW5nZUNhbGxiYWNrOmZ1bmN0aW9uKCl7fX0pOwpPYmplY3QuYXNzaWduKHcucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5tYXNrPTE8PGF8MH0sZW5hYmxlOmZ1bmN0aW9uKGEpe3RoaXMubWFzaz10aGlzLm1hc2t8MTw8YXwwfSxlbmFibGVBbGw6ZnVuY3Rpb24oKXt0aGlzLm1hc2s9LTF9LHRvZ2dsZTpmdW5jdGlvbihhKXt0aGlzLm1hc2tePTE8PGF8MH0sZGlzYWJsZTpmdW5jdGlvbihhKXt0aGlzLm1hc2smPX4oMTw8YXwwKX0sZGlzYWJsZUFsbDpmdW5jdGlvbigpe3RoaXMubWFzaz0wfSx0ZXN0OmZ1bmN0aW9uKGEpe3JldHVybiAwIT09KHRoaXMubWFzayZhLm1hc2spfX0pO3ZhciBpbD0wLG5rPW5ldyBrLGhmPW5ldyBoLGxkPW5ldyBxLGtoPW5ldyBrLGxnPW5ldyBrLFVtPW5ldyBrLFZtPW5ldyBoLG9rPW5ldyBrKDEsMCwwKSxwaz1uZXcgaygwLDEsMCkscWs9bmV3IGsoMCwwLDEpLFdtPXt0eXBlOiJhZGRlZCJ9LFhtPXt0eXBlOiJyZW1vdmVkIn07QS5EZWZhdWx0VXA9bmV3IGsoMCwxLDApO0EuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU9CiEwO0EucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkEsaXNPYmplY3QzRDohMCxvbkJlZm9yZVJlbmRlcjpmdW5jdGlvbigpe30sb25BZnRlclJlbmRlcjpmdW5jdGlvbigpe30sYXBwbHlNYXRyaXg6ZnVuY3Rpb24oYSl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpO3RoaXMubWF0cml4LnByZW11bHRpcGx5KGEpO3RoaXMubWF0cml4LmRlY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKX0sYXBwbHlRdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShhKTtyZXR1cm4gdGhpc30sc2V0Um90YXRpb25Gcm9tQXhpc0FuZ2xlOmZ1bmN0aW9uKGEsYyl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUoYSxjKX0sc2V0Um90YXRpb25Gcm9tRXVsZXI6ZnVuY3Rpb24oYSl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21FdWxlcihhLAohMCl9LHNldFJvdGF0aW9uRnJvbU1hdHJpeDpmdW5jdGlvbihhKXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KGEpfSxzZXRSb3RhdGlvbkZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMucXVhdGVybmlvbi5jb3B5KGEpfSxyb3RhdGVPbkF4aXM6ZnVuY3Rpb24oYSxjKXtoZi5zZXRGcm9tQXhpc0FuZ2xlKGEsYyk7dGhpcy5xdWF0ZXJuaW9uLm11bHRpcGx5KGhmKTtyZXR1cm4gdGhpc30scm90YXRlT25Xb3JsZEF4aXM6ZnVuY3Rpb24oYSxjKXtoZi5zZXRGcm9tQXhpc0FuZ2xlKGEsYyk7dGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KGhmKTtyZXR1cm4gdGhpc30scm90YXRlWDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMob2ssYSl9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKHBrLGEpfSxyb3RhdGVaOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhxayxhKX0sdHJhbnNsYXRlT25BeGlzOmZ1bmN0aW9uKGEsCmMpe25rLmNvcHkoYSkuYXBwbHlRdWF0ZXJuaW9uKHRoaXMucXVhdGVybmlvbik7dGhpcy5wb3NpdGlvbi5hZGQobmsubXVsdGlwbHlTY2FsYXIoYykpO3JldHVybiB0aGlzfSx0cmFuc2xhdGVYOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyhvayxhKX0sdHJhbnNsYXRlWTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMocGssYSl9LHRyYW5zbGF0ZVo6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKHFrLGEpfSxsb2NhbFRvV29ybGQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpfSx3b3JsZFRvTG9jYWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KGxkLmdldEludmVyc2UodGhpcy5tYXRyaXhXb3JsZCkpfSxsb29rQXQ6ZnVuY3Rpb24oYSxjLGUpe2EuaXNWZWN0b3IzP2toLmNvcHkoYSk6a2guc2V0KGEsYyxlKTthPXRoaXMucGFyZW50O3RoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsCiExKTtsZy5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7dGhpcy5pc0NhbWVyYXx8dGhpcy5pc0xpZ2h0P2xkLmxvb2tBdChsZyxraCx0aGlzLnVwKTpsZC5sb29rQXQoa2gsbGcsdGhpcy51cCk7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeChsZCk7YSYmKGxkLmV4dHJhY3RSb3RhdGlvbihhLm1hdHJpeFdvcmxkKSxoZi5zZXRGcm9tUm90YXRpb25NYXRyaXgobGQpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShoZi5pbnZlcnNlKCkpKX0sYWRkOmZ1bmN0aW9uKGEpe2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7Zm9yKHZhciBjPTA7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl0aGlzLmFkZChhcmd1bWVudHNbY10pO3JldHVybiB0aGlzfWlmKGE9PT10aGlzKXJldHVybiBjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBjYW4ndCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIGl0c2VsZi4iLGEpLHRoaXM7YSYmYS5pc09iamVjdDNEPwoobnVsbCE9PWEucGFyZW50JiZhLnBhcmVudC5yZW1vdmUoYSksYS5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkcmVuLnB1c2goYSksYS5kaXNwYXRjaEV2ZW50KFdtKSk6Y29uc29sZS5lcnJvcigiVEhSRUUuT2JqZWN0M0QuYWRkOiBvYmplY3Qgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLk9iamVjdDNELiIsYSk7cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbihhKXtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe2Zvcih2YXIgYz0wO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspdGhpcy5yZW1vdmUoYXJndW1lbnRzW2NdKTtyZXR1cm4gdGhpc31jPXRoaXMuY2hpbGRyZW4uaW5kZXhPZihhKTstMSE9PWMmJihhLnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW4uc3BsaWNlKGMsMSksYS5kaXNwYXRjaEV2ZW50KFhtKSk7cmV0dXJuIHRoaXN9LGF0dGFjaDpmdW5jdGlvbihhKXt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTtsZC5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpO251bGwhPT0KYS5wYXJlbnQmJihhLnBhcmVudC51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksbGQubXVsdGlwbHkoYS5wYXJlbnQubWF0cml4V29ybGQpKTthLmFwcGx5TWF0cml4KGxkKTthLnVwZGF0ZVdvcmxkTWF0cml4KCExLCExKTt0aGlzLmFkZChhKTtyZXR1cm4gdGhpc30sZ2V0T2JqZWN0QnlJZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJpZCIsYSl9LGdldE9iamVjdEJ5TmFtZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJuYW1lIixhKX0sZ2V0T2JqZWN0QnlQcm9wZXJ0eTpmdW5jdGlvbihhLGMpe2lmKHRoaXNbYV09PT1jKXJldHVybiB0aGlzO2Zvcih2YXIgZT0wLGc9dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9dGhpcy5jaGlsZHJlbltlXS5nZXRPYmplY3RCeVByb3BlcnR5KGEsYyk7aWYodm9pZCAwIT09dClyZXR1cm4gdH19LGdldFdvcmxkUG9zaXRpb246ZnVuY3Rpb24oYSl7dm9pZCAwPT09CmEmJihjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0V29ybGRQb3NpdGlvbigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTt0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTtyZXR1cm4gYS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCl9LGdldFdvcmxkUXVhdGVybmlvbjpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUXVhdGVybmlvbigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBoKTt0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTt0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShsZyxhLFVtKTtyZXR1cm4gYX0sZ2V0V29ybGRTY2FsZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkU2NhbGUoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYT1uZXcgayk7dGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCk7CnRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKGxnLFZtLGEpO3JldHVybiBhfSxnZXRXb3JsZERpcmVjdGlvbjpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkRGlyZWN0aW9uKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9bmV3IGspO3RoaXMudXBkYXRlTWF0cml4V29ybGQoITApO3ZhciBjPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIGEuc2V0KGNbOF0sY1s5XSxjWzEwXSkubm9ybWFsaXplKCl9LHJheWNhc3Q6ZnVuY3Rpb24oKXt9LHRyYXZlcnNlOmZ1bmN0aW9uKGEpe2EodGhpcyk7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyljW2VdLnRyYXZlcnNlKGEpfSx0cmF2ZXJzZVZpc2libGU6ZnVuY3Rpb24oYSl7aWYoITEhPT10aGlzLnZpc2libGUpe2EodGhpcyk7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyljW2VdLnRyYXZlcnNlVmlzaWJsZShhKX19LAp0cmF2ZXJzZUFuY2VzdG9yczpmdW5jdGlvbihhKXt2YXIgYz10aGlzLnBhcmVudDtudWxsIT09YyYmKGEoYyksYy50cmF2ZXJzZUFuY2VzdG9ycyhhKSl9LHVwZGF0ZU1hdHJpeDpmdW5jdGlvbigpe3RoaXMubWF0cml4LmNvbXBvc2UodGhpcy5wb3NpdGlvbix0aGlzLnF1YXRlcm5pb24sdGhpcy5zY2FsZSk7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfSx1cGRhdGVNYXRyaXhXb3JsZDpmdW5jdGlvbihhKXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCk7aWYodGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlfHxhKW51bGw9PT10aGlzLnBhcmVudD90aGlzLm1hdHJpeFdvcmxkLmNvcHkodGhpcy5tYXRyaXgpOnRoaXMubWF0cml4V29ybGQubXVsdGlwbHlNYXRyaWNlcyh0aGlzLnBhcmVudC5tYXRyaXhXb3JsZCx0aGlzLm1hdHJpeCksdGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExLGE9ITA7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0KMCxnPWMubGVuZ3RoO2U8ZztlKyspY1tlXS51cGRhdGVNYXRyaXhXb3JsZChhKX0sdXBkYXRlV29ybGRNYXRyaXg6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLnBhcmVudDshMD09PWEmJm51bGwhPT1lJiZlLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCk7bnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KTtpZighMD09PWMpZm9yKGE9dGhpcy5jaGlsZHJlbixjPTAsZT1hLmxlbmd0aDtjPGU7YysrKWFbY10udXBkYXRlV29ybGRNYXRyaXgoITEsITApfSx0b0pTT046ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyhNLFApe3ZvaWQgMD09PU1bUC51dWlkXSYmKE1bUC51dWlkXT1QLnRvSlNPTihhKSk7cmV0dXJuIFAudXVpZH1mdW5jdGlvbiBlKE0pe3ZhciBQPQpbXSxRO2ZvcihRIGluIE0pe3ZhciBVPU1bUV07ZGVsZXRlIFUubWV0YWRhdGE7UC5wdXNoKFUpfXJldHVybiBQfXZhciBnPXZvaWQgMD09PWF8fCJzdHJpbmciPT09dHlwZW9mIGEsdD17fTtnJiYoYT17Z2VvbWV0cmllczp7fSxtYXRlcmlhbHM6e30sdGV4dHVyZXM6e30saW1hZ2VzOnt9LHNoYXBlczp7fX0sdC5tZXRhZGF0YT17dmVyc2lvbjo0LjUsdHlwZToiT2JqZWN0IixnZW5lcmF0b3I6Ik9iamVjdDNELnRvSlNPTiJ9KTt2YXIgdj17fTt2LnV1aWQ9dGhpcy51dWlkO3YudHlwZT10aGlzLnR5cGU7IiIhPT10aGlzLm5hbWUmJih2Lm5hbWU9dGhpcy5uYW1lKTshMD09PXRoaXMuY2FzdFNoYWRvdyYmKHYuY2FzdFNoYWRvdz0hMCk7ITA9PT10aGlzLnJlY2VpdmVTaGFkb3cmJih2LnJlY2VpdmVTaGFkb3c9ITApOyExPT09dGhpcy52aXNpYmxlJiYodi52aXNpYmxlPSExKTshMT09PXRoaXMuZnJ1c3R1bUN1bGxlZCYmKHYuZnJ1c3R1bUN1bGxlZD0hMSk7MCE9PXRoaXMucmVuZGVyT3JkZXImJgoodi5yZW5kZXJPcmRlcj10aGlzLnJlbmRlck9yZGVyKTsie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJih2LnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO3YubGF5ZXJzPXRoaXMubGF5ZXJzLm1hc2s7di5tYXRyaXg9dGhpcy5tYXRyaXgudG9BcnJheSgpOyExPT09dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiYodi5tYXRyaXhBdXRvVXBkYXRlPSExKTt0aGlzLmlzTWVzaCYmMCE9PXRoaXMuZHJhd01vZGUmJih2LmRyYXdNb2RlPXRoaXMuZHJhd01vZGUpO2lmKHRoaXMuaXNNZXNofHx0aGlzLmlzTGluZXx8dGhpcy5pc1BvaW50cyl7di5nZW9tZXRyeT1jKGEuZ2VvbWV0cmllcyx0aGlzLmdlb21ldHJ5KTt2YXIgej10aGlzLmdlb21ldHJ5LnBhcmFtZXRlcnM7aWYodm9pZCAwIT09eiYmdm9pZCAwIT09ei5zaGFwZXMpaWYoej16LnNoYXBlcyxBcnJheS5pc0FycmF5KHopKWZvcih2YXIgRT0wLEY9ei5sZW5ndGg7RTxGO0UrKyljKGEuc2hhcGVzLHpbRV0pO2Vsc2UgYyhhLnNoYXBlcywKeil9aWYodm9pZCAwIT09dGhpcy5tYXRlcmlhbClpZihBcnJheS5pc0FycmF5KHRoaXMubWF0ZXJpYWwpKXt6PVtdO0U9MDtmb3IoRj10aGlzLm1hdGVyaWFsLmxlbmd0aDtFPEY7RSsrKXoucHVzaChjKGEubWF0ZXJpYWxzLHRoaXMubWF0ZXJpYWxbRV0pKTt2Lm1hdGVyaWFsPXp9ZWxzZSB2Lm1hdGVyaWFsPWMoYS5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbCk7aWYoMDx0aGlzLmNoaWxkcmVuLmxlbmd0aClmb3Iodi5jaGlsZHJlbj1bXSxFPTA7RTx0aGlzLmNoaWxkcmVuLmxlbmd0aDtFKyspdi5jaGlsZHJlbi5wdXNoKHRoaXMuY2hpbGRyZW5bRV0udG9KU09OKGEpLm9iamVjdCk7aWYoZyl7Zz1lKGEuZ2VvbWV0cmllcyk7RT1lKGEubWF0ZXJpYWxzKTtGPWUoYS50ZXh0dXJlcyk7dmFyIEk9ZShhLmltYWdlcyk7ej1lKGEuc2hhcGVzKTswPGcubGVuZ3RoJiYodC5nZW9tZXRyaWVzPWcpOzA8RS5sZW5ndGgmJih0Lm1hdGVyaWFscz1FKTswPEYubGVuZ3RoJiYodC50ZXh0dXJlcz1GKTsKMDxJLmxlbmd0aCYmKHQuaW1hZ2VzPUkpOzA8ei5sZW5ndGgmJih0LnNoYXBlcz16KX10Lm9iamVjdD12O3JldHVybiB0fSxjbG9uZTpmdW5jdGlvbihhKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyxhKX0sY29weTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPSEwKTt0aGlzLm5hbWU9YS5uYW1lO3RoaXMudXAuY29weShhLnVwKTt0aGlzLnBvc2l0aW9uLmNvcHkoYS5wb3NpdGlvbik7dGhpcy5xdWF0ZXJuaW9uLmNvcHkoYS5xdWF0ZXJuaW9uKTt0aGlzLnNjYWxlLmNvcHkoYS5zY2FsZSk7dGhpcy5tYXRyaXguY29weShhLm1hdHJpeCk7dGhpcy5tYXRyaXhXb3JsZC5jb3B5KGEubWF0cml4V29ybGQpO3RoaXMubWF0cml4QXV0b1VwZGF0ZT1hLm1hdHJpeEF1dG9VcGRhdGU7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPWEubWF0cml4V29ybGROZWVkc1VwZGF0ZTt0aGlzLmxheWVycy5tYXNrPWEubGF5ZXJzLm1hc2s7dGhpcy52aXNpYmxlPWEudmlzaWJsZTsKdGhpcy5jYXN0U2hhZG93PWEuY2FzdFNoYWRvdzt0aGlzLnJlY2VpdmVTaGFkb3c9YS5yZWNlaXZlU2hhZG93O3RoaXMuZnJ1c3R1bUN1bGxlZD1hLmZydXN0dW1DdWxsZWQ7dGhpcy5yZW5kZXJPcmRlcj1hLnJlbmRlck9yZGVyO3RoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhLnVzZXJEYXRhKSk7aWYoITA9PT1jKWZvcihjPTA7YzxhLmNoaWxkcmVuLmxlbmd0aDtjKyspdGhpcy5hZGQoYS5jaGlsZHJlbltjXS5jbG9uZSgpKTtyZXR1cm4gdGhpc319KTt5LnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp5LGlzU2NlbmU6ITAsY29weTpmdW5jdGlvbihhLGMpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEsYyk7bnVsbCE9PWEuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD1hLmJhY2tncm91bmQuY2xvbmUoKSk7bnVsbCE9PWEuZm9nJiYodGhpcy5mb2c9YS5mb2cuY2xvbmUoKSk7Cm51bGwhPT1hLm92ZXJyaWRlTWF0ZXJpYWwmJih0aGlzLm92ZXJyaWRlTWF0ZXJpYWw9YS5vdmVycmlkZU1hdGVyaWFsLmNsb25lKCkpO3RoaXMuYXV0b1VwZGF0ZT1hLmF1dG9VcGRhdGU7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPWEubWF0cml4QXV0b1VwZGF0ZTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKGEpe3ZhciBjPUEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7bnVsbCE9PXRoaXMuYmFja2dyb3VuZCYmKGMub2JqZWN0LmJhY2tncm91bmQ9dGhpcy5iYWNrZ3JvdW5kLnRvSlNPTihhKSk7bnVsbCE9PXRoaXMuZm9nJiYoYy5vYmplY3QuZm9nPXRoaXMuZm9nLnRvSlNPTigpKTtyZXR1cm4gY30sZGlzcG9zZTpmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19KTt2YXIgbWQ9W25ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrXSxZYz1uZXcgayxqZj1uZXcgayxrZj1uZXcgayxsZj1uZXcgaywKSGQ9bmV3IGssSWQ9bmV3IGssaGU9bmV3IGssbWc9bmV3IGssbGg9bmV3IGssbWg9bmV3IGssTWQ9bmV3IGs7T2JqZWN0LmFzc2lnbih4LnByb3RvdHlwZSx7aXNCb3gzOiEwLHNldDpmdW5jdGlvbihhLGMpe3RoaXMubWluLmNvcHkoYSk7dGhpcy5tYXguY29weShjKTtyZXR1cm4gdGhpc30sc2V0RnJvbUFycmF5OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1JbmZpbml0eSxlPUluZmluaXR5LGc9SW5maW5pdHksdD0tSW5maW5pdHksdj0tSW5maW5pdHksej0tSW5maW5pdHksRT0wLEY9YS5sZW5ndGg7RTxGO0UrPTMpe3ZhciBJPWFbRV0sTT1hW0UrMV0sUD1hW0UrMl07STxjJiYoYz1JKTtNPGUmJihlPU0pO1A8ZyYmKGc9UCk7ST50JiYodD1JKTtNPnYmJih2PU0pO1A+eiYmKHo9UCl9dGhpcy5taW4uc2V0KGMsZSxnKTt0aGlzLm1heC5zZXQodCx2LHopO3JldHVybiB0aGlzfSxzZXRGcm9tQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1JbmZpbml0eSxlPUluZmluaXR5LApnPUluZmluaXR5LHQ9LUluZmluaXR5LHY9LUluZmluaXR5LHo9LUluZmluaXR5LEU9MCxGPWEuY291bnQ7RTxGO0UrKyl7dmFyIEk9YS5nZXRYKEUpLE09YS5nZXRZKEUpLFA9YS5nZXRaKEUpO0k8YyYmKGM9SSk7TTxlJiYoZT1NKTtQPGcmJihnPVApO0k+dCYmKHQ9SSk7TT52JiYodj1NKTtQPnomJih6PVApfXRoaXMubWluLnNldChjLGUsZyk7dGhpcy5tYXguc2V0KHQsdix6KTtyZXR1cm4gdGhpc30sc2V0RnJvbVBvaW50czpmdW5jdGlvbihhKXt0aGlzLm1ha2VFbXB0eSgpO2Zvcih2YXIgYz0wLGU9YS5sZW5ndGg7YzxlO2MrKyl0aGlzLmV4cGFuZEJ5UG9pbnQoYVtjXSk7cmV0dXJuIHRoaXN9LHNldEZyb21DZW50ZXJBbmRTaXplOmZ1bmN0aW9uKGEsYyl7Yz1ZYy5jb3B5KGMpLm11bHRpcGx5U2NhbGFyKC41KTt0aGlzLm1pbi5jb3B5KGEpLnN1YihjKTt0aGlzLm1heC5jb3B5KGEpLmFkZChjKTtyZXR1cm4gdGhpc30sc2V0RnJvbU9iamVjdDpmdW5jdGlvbihhKXt0aGlzLm1ha2VFbXB0eSgpOwpyZXR1cm4gdGhpcy5leHBhbmRCeU9iamVjdChhKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5taW4uY29weShhLm1pbik7dGhpcy5tYXguY29weShhLm1heCk7cmV0dXJuIHRoaXN9LG1ha2VFbXB0eTpmdW5jdGlvbigpe3RoaXMubWluLng9dGhpcy5taW4ueT10aGlzLm1pbi56PUluZmluaXR5O3RoaXMubWF4Lng9dGhpcy5tYXgueT10aGlzLm1heC56PS1JbmZpbml0eTtyZXR1cm4gdGhpc30saXNFbXB0eTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heC54PHRoaXMubWluLnh8fHRoaXMubWF4Lnk8dGhpcy5taW4ueXx8dGhpcy5tYXguejx0aGlzLm1pbi56fSxnZXRDZW50ZXI6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/CmEuc2V0KDAsMCwwKTphLmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX0sZ2V0U2l6ZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZ2V0U2l6ZSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwLDApOmEuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9LGV4cGFuZEJ5UG9pbnQ6ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEpO3RoaXMubWF4Lm1heChhKTtyZXR1cm4gdGhpc30sZXhwYW5kQnlWZWN0b3I6ZnVuY3Rpb24oYSl7dGhpcy5taW4uc3ViKGEpO3RoaXMubWF4LmFkZChhKTtyZXR1cm4gdGhpc30sZXhwYW5kQnlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy5taW4uYWRkU2NhbGFyKC1hKTt0aGlzLm1heC5hZGRTY2FsYXIoYSk7cmV0dXJuIHRoaXN9LGV4cGFuZEJ5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBjO2EudXBkYXRlV29ybGRNYXRyaXgoITEsCiExKTt2YXIgZT1hLmdlb21ldHJ5O2lmKHZvaWQgMCE9PWUpaWYoZS5pc0dlb21ldHJ5KXt2YXIgZz1lLnZlcnRpY2VzO2U9MDtmb3IoYz1nLmxlbmd0aDtlPGM7ZSsrKVljLmNvcHkoZ1tlXSksWWMuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpLHRoaXMuZXhwYW5kQnlQb2ludChZYyl9ZWxzZSBpZihlLmlzQnVmZmVyR2VvbWV0cnkmJihnPWUuYXR0cmlidXRlcy5wb3NpdGlvbix2b2lkIDAhPT1nKSlmb3IoZT0wLGM9Zy5jb3VudDtlPGM7ZSsrKVljLmZyb21CdWZmZXJBdHRyaWJ1dGUoZyxlKS5hcHBseU1hdHJpeDQoYS5tYXRyaXhXb3JsZCksdGhpcy5leHBhbmRCeVBvaW50KFljKTthPWEuY2hpbGRyZW47ZT0wO2ZvcihjPWEubGVuZ3RoO2U8YztlKyspdGhpcy5leHBhbmRCeU9iamVjdChhW2VdKTtyZXR1cm4gdGhpc30sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gYS54PHRoaXMubWluLnh8fGEueD50aGlzLm1heC54fHxhLnk8dGhpcy5taW4ueXx8YS55PnRoaXMubWF4Lnl8fAphLno8dGhpcy5taW4uenx8YS56PnRoaXMubWF4Lno/ITE6ITB9LGNvbnRhaW5zQm94OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1pbi54PD1hLm1pbi54JiZhLm1heC54PD10aGlzLm1heC54JiZ0aGlzLm1pbi55PD1hLm1pbi55JiZhLm1heC55PD10aGlzLm1heC55JiZ0aGlzLm1pbi56PD1hLm1pbi56JiZhLm1heC56PD10aGlzLm1heC56fSxnZXRQYXJhbWV0ZXI6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZ2V0UGFyYW1ldGVyKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO3JldHVybiBjLnNldCgoYS54LXRoaXMubWluLngpLyh0aGlzLm1heC54LXRoaXMubWluLngpLChhLnktdGhpcy5taW4ueSkvKHRoaXMubWF4LnktdGhpcy5taW4ueSksKGEuei10aGlzLm1pbi56KS8odGhpcy5tYXguei10aGlzLm1pbi56KSl9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWF4Lng8dGhpcy5taW4ueHx8CmEubWluLng+dGhpcy5tYXgueHx8YS5tYXgueTx0aGlzLm1pbi55fHxhLm1pbi55PnRoaXMubWF4Lnl8fGEubWF4Lno8dGhpcy5taW4uenx8YS5taW4uej50aGlzLm1heC56PyExOiEwfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3RoaXMuY2xhbXBQb2ludChhLmNlbnRlcixZYyk7cmV0dXJuIFljLmRpc3RhbmNlVG9TcXVhcmVkKGEuY2VudGVyKTw9YS5yYWRpdXMqYS5yYWRpdXN9LGludGVyc2VjdHNQbGFuZTpmdW5jdGlvbihhKXtpZigwPGEubm9ybWFsLngpe3ZhciBjPWEubm9ybWFsLngqdGhpcy5taW4ueDt2YXIgZT1hLm5vcm1hbC54KnRoaXMubWF4Lnh9ZWxzZSBjPWEubm9ybWFsLngqdGhpcy5tYXgueCxlPWEubm9ybWFsLngqdGhpcy5taW4ueDswPGEubm9ybWFsLnk/KGMrPWEubm9ybWFsLnkqdGhpcy5taW4ueSxlKz1hLm5vcm1hbC55KnRoaXMubWF4LnkpOihjKz1hLm5vcm1hbC55KnRoaXMubWF4LnksZSs9YS5ub3JtYWwueSp0aGlzLm1pbi55KTswPGEubm9ybWFsLno/CihjKz1hLm5vcm1hbC56KnRoaXMubWluLnosZSs9YS5ub3JtYWwueip0aGlzLm1heC56KTooYys9YS5ub3JtYWwueip0aGlzLm1heC56LGUrPWEubm9ybWFsLnoqdGhpcy5taW4ueik7cmV0dXJuIGM8PS1hLmNvbnN0YW50JiZlPj0tYS5jb25zdGFudH0saW50ZXJzZWN0c1RyaWFuZ2xlOmZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiExO3RoaXMuZ2V0Q2VudGVyKG1nKTtsaC5zdWJWZWN0b3JzKHRoaXMubWF4LG1nKTtqZi5zdWJWZWN0b3JzKGEuYSxtZyk7a2Yuc3ViVmVjdG9ycyhhLmIsbWcpO2xmLnN1YlZlY3RvcnMoYS5jLG1nKTtIZC5zdWJWZWN0b3JzKGtmLGpmKTtJZC5zdWJWZWN0b3JzKGxmLGtmKTtoZS5zdWJWZWN0b3JzKGpmLGxmKTthPVswLC1IZC56LEhkLnksMCwtSWQueixJZC55LDAsLWhlLnosaGUueSxIZC56LDAsLUhkLngsSWQueiwwLC1JZC54LGhlLnosMCwtaGUueCwtSGQueSxIZC54LDAsLUlkLnksSWQueCwwLC1oZS55LGhlLngsMF07aWYoIUMoYSwKamYsa2YsbGYsbGgpKXJldHVybiExO2E9WzEsMCwwLDAsMSwwLDAsMCwxXTtpZighQyhhLGpmLGtmLGxmLGxoKSlyZXR1cm4hMTttaC5jcm9zc1ZlY3RvcnMoSGQsSWQpO2E9W21oLngsbWgueSxtaC56XTtyZXR1cm4gQyhhLGpmLGtmLGxmLGxoKX0sY2xhbXBQb2ludDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5jbGFtcFBvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO3JldHVybiBjLmNvcHkoYSkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpfSxkaXN0YW5jZVRvUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFljLmNvcHkoYSkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpLnN1YihhKS5sZW5ndGgoKX0sZ2V0Qm91bmRpbmdTcGhlcmU6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmY29uc29sZS5lcnJvcigiVEhSRUUuQm94MzogLmdldEJvdW5kaW5nU3BoZXJlKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpO3RoaXMuZ2V0Q2VudGVyKGEuY2VudGVyKTsKYS5yYWRpdXM9LjUqdGhpcy5nZXRTaXplKFljKS5sZW5ndGgoKTtyZXR1cm4gYX0saW50ZXJzZWN0OmZ1bmN0aW9uKGEpe3RoaXMubWluLm1heChhLm1pbik7dGhpcy5tYXgubWluKGEubWF4KTt0aGlzLmlzRW1wdHkoKSYmdGhpcy5tYWtlRW1wdHkoKTtyZXR1cm4gdGhpc30sdW5pb246ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEubWluKTt0aGlzLm1heC5tYXgoYS5tYXgpO3JldHVybiB0aGlzfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXM7bWRbMF0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQoYSk7bWRbMV0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQoYSk7bWRbMl0uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQoYSk7bWRbM10uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQoYSk7Cm1kWzRdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KGEpO21kWzVdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KGEpO21kWzZdLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KGEpO21kWzddLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KGEpO3RoaXMuc2V0RnJvbVBvaW50cyhtZCk7cmV0dXJuIHRoaXN9LHRyYW5zbGF0ZTpmdW5jdGlvbihhKXt0aGlzLm1pbi5hZGQoYSk7dGhpcy5tYXguYWRkKGEpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWluLmVxdWFscyh0aGlzLm1pbikmJmEubWF4LmVxdWFscyh0aGlzLm1heCl9fSk7dmFyIFltPW5ldyB4O09iamVjdC5hc3NpZ24oRy5wcm90b3R5cGUse3NldDpmdW5jdGlvbihhLGMpe3RoaXMuY2VudGVyLmNvcHkoYSk7dGhpcy5yYWRpdXM9CmM7cmV0dXJuIHRoaXN9LHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmNlbnRlcjt2b2lkIDAhPT1jP2UuY29weShjKTpZbS5zZXRGcm9tUG9pbnRzKGEpLmdldENlbnRlcihlKTtmb3IodmFyIGc9Yz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyljPU1hdGgubWF4KGMsZS5kaXN0YW5jZVRvU3F1YXJlZChhW2ddKSk7dGhpcy5yYWRpdXM9TWF0aC5zcXJ0KGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLmNlbnRlci5jb3B5KGEuY2VudGVyKTt0aGlzLnJhZGl1cz1hLnJhZGl1cztyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD49dGhpcy5yYWRpdXN9LGNvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD10aGlzLnJhZGl1cyp0aGlzLnJhZGl1c30sZGlzdGFuY2VUb1BvaW50OmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc3RhbmNlVG8odGhpcy5jZW50ZXIpLQp0aGlzLnJhZGl1c30saW50ZXJzZWN0c1NwaGVyZTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLnJhZGl1cythLnJhZGl1cztyZXR1cm4gYS5jZW50ZXIuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD1jKmN9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW50ZXJzZWN0c1NwaGVyZSh0aGlzKX0saW50ZXJzZWN0c1BsYW5lOmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlVG9Qb2ludCh0aGlzLmNlbnRlcikpPD10aGlzLnJhZGl1c30sY2xhbXBQb2ludDpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKGEpO3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmNsYW1wUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7Yy5jb3B5KGEpO2U+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMmJihjLnN1Yih0aGlzLmNlbnRlcikubm9ybWFsaXplKCksYy5tdWx0aXBseVNjYWxhcih0aGlzLnJhZGl1cykuYWRkKHRoaXMuY2VudGVyKSk7CnJldHVybiBjfSxnZXRCb3VuZGluZ0JveDpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5TcGhlcmU6IC5nZXRCb3VuZGluZ0JveCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyB4KTthLnNldCh0aGlzLmNlbnRlcix0aGlzLmNlbnRlcik7YS5leHBhbmRCeVNjYWxhcih0aGlzLnJhZGl1cyk7cmV0dXJuIGF9LGFwcGx5TWF0cml4NDpmdW5jdGlvbihhKXt0aGlzLmNlbnRlci5hcHBseU1hdHJpeDQoYSk7dGhpcy5yYWRpdXMqPWEuZ2V0TWF4U2NhbGVPbkF4aXMoKTtyZXR1cm4gdGhpc30sdHJhbnNsYXRlOmZ1bmN0aW9uKGEpe3RoaXMuY2VudGVyLmFkZChhKTtyZXR1cm4gdGhpc30sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNlbnRlci5lcXVhbHModGhpcy5jZW50ZXIpJiZhLnJhZGl1cz09PXRoaXMucmFkaXVzfX0pO3ZhciBuZD1uZXcgayxEaT1uZXcgayxuaD1uZXcgayxKZD1uZXcgayxFaT1uZXcgayxvaD1uZXcgayxGaT1uZXcgazsKT2JqZWN0LmFzc2lnbihELnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5vcmlnaW4uY29weShhKTt0aGlzLmRpcmVjdGlvbi5jb3B5KGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm9yaWdpbi5jb3B5KGEub3JpZ2luKTt0aGlzLmRpcmVjdGlvbi5jb3B5KGEuZGlyZWN0aW9uKTtyZXR1cm4gdGhpc30sYXQ6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5hdCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxjPW5ldyBrKTtyZXR1cm4gYy5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy5vcmlnaW4pfSxsb29rQXQ6ZnVuY3Rpb24oYSl7dGhpcy5kaXJlY3Rpb24uY29weShhKS5zdWIodGhpcy5vcmlnaW4pLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzfSxyZWNhc3Q6ZnVuY3Rpb24oYSl7dGhpcy5vcmlnaW4uY29weSh0aGlzLmF0KGEsCm5kKSk7cmV0dXJuIHRoaXN9LGNsb3Nlc3RQb2ludFRvUG9pbnQ6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5jbG9zZXN0UG9pbnRUb1BvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO2Muc3ViVmVjdG9ycyhhLHRoaXMub3JpZ2luKTthPWMuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gMD5hP2MuY29weSh0aGlzLm9yaWdpbik6Yy5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy5vcmlnaW4pfSxkaXN0YW5jZVRvUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlU3FUb1BvaW50KGEpKX0sZGlzdGFuY2VTcVRvUG9pbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9bmQuc3ViVmVjdG9ycyhhLHRoaXMub3JpZ2luKS5kb3QodGhpcy5kaXJlY3Rpb24pO2lmKDA+YylyZXR1cm4gdGhpcy5vcmlnaW4uZGlzdGFuY2VUb1NxdWFyZWQoYSk7bmQuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoYykuYWRkKHRoaXMub3JpZ2luKTsKcmV0dXJuIG5kLmRpc3RhbmNlVG9TcXVhcmVkKGEpfSxkaXN0YW5jZVNxVG9TZWdtZW50OmZ1bmN0aW9uKGEsYyxlLGcpe0RpLmNvcHkoYSkuYWRkKGMpLm11bHRpcGx5U2NhbGFyKC41KTtuaC5jb3B5KGMpLnN1YihhKS5ub3JtYWxpemUoKTtKZC5jb3B5KHRoaXMub3JpZ2luKS5zdWIoRGkpO3ZhciB0PS41KmEuZGlzdGFuY2VUbyhjKSx2PS10aGlzLmRpcmVjdGlvbi5kb3QobmgpLHo9SmQuZG90KHRoaXMuZGlyZWN0aW9uKSxFPS1KZC5kb3QobmgpLEY9SmQubGVuZ3RoU3EoKSxJPU1hdGguYWJzKDEtdip2KTtpZigwPEkpe2E9dipFLXo7Yz12KnotRTt2YXIgTT10Kkk7MDw9YT9jPj0tTT9jPD1NPyh0PTEvSSxhKj10LGMqPXQsdj1hKihhK3YqYysyKnopK2MqKHYqYStjKzIqRSkrRik6KGM9dCxhPU1hdGgubWF4KDAsLSh2KmMreikpLHY9LWEqYStjKihjKzIqRSkrRik6KGM9LXQsYT1NYXRoLm1heCgwLC0odipjK3opKSx2PS1hKmErYyooYysyKkUpK0YpOmM8PS1NPyhhPU1hdGgubWF4KDAsCi0oLXYqdCt6KSksYz0wPGE/LXQ6TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9LWEqYStjKihjKzIqRSkrRik6Yzw9TT8oYT0wLGM9TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9YyooYysyKkUpK0YpOihhPU1hdGgubWF4KDAsLSh2KnQreikpLGM9MDxhP3Q6TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9LWEqYStjKihjKzIqRSkrRil9ZWxzZSBjPTA8dj8tdDp0LGE9TWF0aC5tYXgoMCwtKHYqYyt6KSksdj0tYSphK2MqKGMrMipFKStGO2UmJmUuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoYSkuYWRkKHRoaXMub3JpZ2luKTtnJiZnLmNvcHkobmgpLm11bHRpcGx5U2NhbGFyKGMpLmFkZChEaSk7cmV0dXJuIHZ9LGludGVyc2VjdFNwaGVyZTpmdW5jdGlvbihhLGMpe25kLnN1YlZlY3RvcnMoYS5jZW50ZXIsdGhpcy5vcmlnaW4pO3ZhciBlPW5kLmRvdCh0aGlzLmRpcmVjdGlvbiksZz1uZC5kb3QobmQpLWUqZTthPWEucmFkaXVzKmEucmFkaXVzOwppZihnPmEpcmV0dXJuIG51bGw7YT1NYXRoLnNxcnQoYS1nKTtnPWUtYTtlKz1hO3JldHVybiAwPmcmJjA+ZT9udWxsOjA+Zz90aGlzLmF0KGUsYyk6dGhpcy5hdChnLGMpfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRpc3RhbmNlU3FUb1BvaW50KGEuY2VudGVyKTw9YS5yYWRpdXMqYS5yYWRpdXN9LGRpc3RhbmNlVG9QbGFuZTpmdW5jdGlvbihhKXt2YXIgYz1hLm5vcm1hbC5kb3QodGhpcy5kaXJlY3Rpb24pO2lmKDA9PT1jKXJldHVybiAwPT09YS5kaXN0YW5jZVRvUG9pbnQodGhpcy5vcmlnaW4pPzA6bnVsbDthPS0odGhpcy5vcmlnaW4uZG90KGEubm9ybWFsKSthLmNvbnN0YW50KS9jO3JldHVybiAwPD1hP2E6bnVsbH0saW50ZXJzZWN0UGxhbmU6ZnVuY3Rpb24oYSxjKXthPXRoaXMuZGlzdGFuY2VUb1BsYW5lKGEpO3JldHVybiBudWxsPT09YT9udWxsOnRoaXMuYXQoYSxjKX0saW50ZXJzZWN0c1BsYW5lOmZ1bmN0aW9uKGEpe3ZhciBjPWEuZGlzdGFuY2VUb1BvaW50KHRoaXMub3JpZ2luKTsKcmV0dXJuIDA9PT1jfHwwPmEubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbikqYz8hMDohMX0saW50ZXJzZWN0Qm94OmZ1bmN0aW9uKGEsYyl7dmFyIGU9MS90aGlzLmRpcmVjdGlvbi54O3ZhciBnPTEvdGhpcy5kaXJlY3Rpb24ueTt2YXIgdD0xL3RoaXMuZGlyZWN0aW9uLnosdj10aGlzLm9yaWdpbjtpZigwPD1lKXt2YXIgej0oYS5taW4ueC12LngpKmU7ZSo9YS5tYXgueC12Lnh9ZWxzZSB6PShhLm1heC54LXYueCkqZSxlKj1hLm1pbi54LXYueDtpZigwPD1nKXt2YXIgRT0oYS5taW4ueS12LnkpKmc7Zyo9YS5tYXgueS12Lnl9ZWxzZSBFPShhLm1heC55LXYueSkqZyxnKj1hLm1pbi55LXYueTtpZih6Pmd8fEU+ZSlyZXR1cm4gbnVsbDtpZihFPnp8fHohPT16KXo9RTtpZihnPGV8fGUhPT1lKWU9ZzswPD10PyhFPShhLm1pbi56LXYueikqdCxhPShhLm1heC56LXYueikqdCk6KEU9KGEubWF4Lnotdi56KSp0LGE9KGEubWluLnotdi56KSp0KTtpZih6PmF8fEU+ZSlyZXR1cm4gbnVsbDsKaWYoRT56fHx6IT09eil6PUU7aWYoYTxlfHxlIT09ZSllPWE7cmV0dXJuIDA+ZT9udWxsOnRoaXMuYXQoMDw9ej96OmUsYyl9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT10aGlzLmludGVyc2VjdEJveChhLG5kKX0saW50ZXJzZWN0VHJpYW5nbGU6ZnVuY3Rpb24oYSxjLGUsZyx0KXtFaS5zdWJWZWN0b3JzKGMsYSk7b2guc3ViVmVjdG9ycyhlLGEpO0ZpLmNyb3NzVmVjdG9ycyhFaSxvaCk7Yz10aGlzLmRpcmVjdGlvbi5kb3QoRmkpO2lmKDA8Yyl7aWYoZylyZXR1cm4gbnVsbDtnPTF9ZWxzZSBpZigwPmMpZz0tMSxjPS1jO2Vsc2UgcmV0dXJuIG51bGw7SmQuc3ViVmVjdG9ycyh0aGlzLm9yaWdpbixhKTthPWcqdGhpcy5kaXJlY3Rpb24uZG90KG9oLmNyb3NzVmVjdG9ycyhKZCxvaCkpO2lmKDA+YSlyZXR1cm4gbnVsbDtlPWcqdGhpcy5kaXJlY3Rpb24uZG90KEVpLmNyb3NzKEpkKSk7aWYoMD5lfHxhK2U+YylyZXR1cm4gbnVsbDthPS1nKkpkLmRvdChGaSk7CnJldHVybiAwPmE/bnVsbDp0aGlzLmF0KGEvYyx0KX0sYXBwbHlNYXRyaXg0OmZ1bmN0aW9uKGEpe3RoaXMub3JpZ2luLmFwcGx5TWF0cml4NChhKTt0aGlzLmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oYSk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5vcmlnaW4uZXF1YWxzKHRoaXMub3JpZ2luKSYmYS5kaXJlY3Rpb24uZXF1YWxzKHRoaXMuZGlyZWN0aW9uKX19KTt2YXIgS2M9bmV3IGssb2Q9bmV3IGssR2k9bmV3IGsscGQ9bmV3IGssbWY9bmV3IGssbmY9bmV3IGsscms9bmV3IGssSGk9bmV3IGssSWk9bmV3IGssSmk9bmV3IGs7T2JqZWN0LmFzc2lnbihCLHtnZXROb3JtYWw6ZnVuY3Rpb24oYSxjLGUsZyl7dm9pZCAwPT09ZyYmKGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5nZXROb3JtYWwoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksZz1uZXcgayk7Zy5zdWJWZWN0b3JzKGUsYyk7S2Muc3ViVmVjdG9ycyhhLGMpO2cuY3Jvc3MoS2MpOwphPWcubGVuZ3RoU3EoKTtyZXR1cm4gMDxhP2cubXVsdGlwbHlTY2FsYXIoMS9NYXRoLnNxcnQoYSkpOmcuc2V0KDAsMCwwKX0sZ2V0QmFyeWNvb3JkOmZ1bmN0aW9uKGEsYyxlLGcsdCl7S2Muc3ViVmVjdG9ycyhnLGMpO29kLnN1YlZlY3RvcnMoZSxjKTtHaS5zdWJWZWN0b3JzKGEsYyk7YT1LYy5kb3QoS2MpO2M9S2MuZG90KG9kKTtlPUtjLmRvdChHaSk7dmFyIHY9b2QuZG90KG9kKTtnPW9kLmRvdChHaSk7dmFyIHo9YSp2LWMqYzt2b2lkIDA9PT10JiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmdldEJhcnljb29yZCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSx0PW5ldyBrKTtpZigwPT09eilyZXR1cm4gdC5zZXQoLTIsLTEsLTEpO3o9MS96O3Y9KHYqZS1jKmcpKno7YT0oYSpnLWMqZSkqejtyZXR1cm4gdC5zZXQoMS12LWEsYSx2KX0sY29udGFpbnNQb2ludDpmdW5jdGlvbihhLGMsZSxnKXtCLmdldEJhcnljb29yZChhLGMsZSxnLHBkKTtyZXR1cm4gMDw9cGQueCYmCjA8PXBkLnkmJjE+PXBkLngrcGQueX0sZ2V0VVY6ZnVuY3Rpb24oYSxjLGUsZyx0LHYseixFKXt0aGlzLmdldEJhcnljb29yZChhLGMsZSxnLHBkKTtFLnNldCgwLDApO0UuYWRkU2NhbGVkVmVjdG9yKHQscGQueCk7RS5hZGRTY2FsZWRWZWN0b3IodixwZC55KTtFLmFkZFNjYWxlZFZlY3Rvcih6LHBkLnopO3JldHVybiBFfSxpc0Zyb250RmFjaW5nOmZ1bmN0aW9uKGEsYyxlLGcpe0tjLnN1YlZlY3RvcnMoZSxjKTtvZC5zdWJWZWN0b3JzKGEsYyk7cmV0dXJuIDA+S2MuY3Jvc3Mob2QpLmRvdChnKT8hMDohMX19KTtPYmplY3QuYXNzaWduKEIucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuYS5jb3B5KGEpO3RoaXMuYi5jb3B5KGMpO3RoaXMuYy5jb3B5KGUpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzQW5kSW5kaWNlczpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLmEuY29weShhW2NdKTt0aGlzLmIuY29weShhW2VdKTt0aGlzLmMuY29weShhW2ddKTtyZXR1cm4gdGhpc30sCmNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYS5jb3B5KGEuYSk7dGhpcy5iLmNvcHkoYS5iKTt0aGlzLmMuY29weShhLmMpO3JldHVybiB0aGlzfSxnZXRBcmVhOmZ1bmN0aW9uKCl7S2Muc3ViVmVjdG9ycyh0aGlzLmMsdGhpcy5iKTtvZC5zdWJWZWN0b3JzKHRoaXMuYSx0aGlzLmIpO3JldHVybi41KktjLmNyb3NzKG9kKS5sZW5ndGgoKX0sZ2V0TWlkcG9pbnQ6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5nZXRNaWRwb2ludCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5hZGRWZWN0b3JzKHRoaXMuYSx0aGlzLmIpLmFkZCh0aGlzLmMpLm11bHRpcGx5U2NhbGFyKDEvMyl9LGdldE5vcm1hbDpmdW5jdGlvbihhKXtyZXR1cm4gQi5nZXROb3JtYWwodGhpcy5hLHRoaXMuYix0aGlzLmMsYSl9LGdldFBsYW5lOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmdldFBsYW5lKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9bmV3IGspO3JldHVybiBhLnNldEZyb21Db3BsYW5hclBvaW50cyh0aGlzLmEsdGhpcy5iLHRoaXMuYyl9LGdldEJhcnljb29yZDpmdW5jdGlvbihhLGMpe3JldHVybiBCLmdldEJhcnljb29yZChhLHRoaXMuYSx0aGlzLmIsdGhpcy5jLGMpfSxnZXRVVjpmdW5jdGlvbihhLGMsZSxnLHQpe3JldHVybiBCLmdldFVWKGEsdGhpcy5hLHRoaXMuYix0aGlzLmMsYyxlLGcsdCl9LGNvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEIuY29udGFpbnNQb2ludChhLHRoaXMuYSx0aGlzLmIsdGhpcy5jKX0saXNGcm9udEZhY2luZzpmdW5jdGlvbihhKXtyZXR1cm4gQi5pc0Zyb250RmFjaW5nKHRoaXMuYSx0aGlzLmIsdGhpcy5jLGEpfSxpbnRlcnNlY3RzQm94OmZ1bmN0aW9uKGEpe3JldHVybiBhLmludGVyc2VjdHNUcmlhbmdsZSh0aGlzKX0sY2xvc2VzdFBvaW50VG9Qb2ludDpmdW5jdGlvbihhLApjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmNsb3Nlc3RQb2ludFRvUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7dmFyIGU9dGhpcy5hLGc9dGhpcy5iLHQ9dGhpcy5jO21mLnN1YlZlY3RvcnMoZyxlKTtuZi5zdWJWZWN0b3JzKHQsZSk7SGkuc3ViVmVjdG9ycyhhLGUpO3ZhciB2PW1mLmRvdChIaSksej1uZi5kb3QoSGkpO2lmKDA+PXYmJjA+PXopcmV0dXJuIGMuY29weShlKTtJaS5zdWJWZWN0b3JzKGEsZyk7dmFyIEU9bWYuZG90KElpKSxGPW5mLmRvdChJaSk7aWYoMDw9RSYmRjw9RSlyZXR1cm4gYy5jb3B5KGcpO3ZhciBJPXYqRi1FKno7aWYoMD49SSYmMDw9diYmMD49RSlyZXR1cm4gZz12Lyh2LUUpLGMuY29weShlKS5hZGRTY2FsZWRWZWN0b3IobWYsZyk7Smkuc3ViVmVjdG9ycyhhLHQpO2E9bWYuZG90KEppKTt2YXIgTT1uZi5kb3QoSmkpO2lmKDA8PU0mJmE8PU0pcmV0dXJuIGMuY29weSh0KTt2PWEqei0KdipNO2lmKDA+PXYmJjA8PXomJjA+PU0pcmV0dXJuIEk9ei8oei1NKSxjLmNvcHkoZSkuYWRkU2NhbGVkVmVjdG9yKG5mLEkpO3o9RSpNLWEqRjtpZigwPj16JiYwPD1GLUUmJjA8PWEtTSlyZXR1cm4gcmsuc3ViVmVjdG9ycyh0LGcpLEk9KEYtRSkvKEYtRSsoYS1NKSksYy5jb3B5KGcpLmFkZFNjYWxlZFZlY3RvcihyayxJKTt0PTEvKHorditJKTtnPXYqdDtJKj10O3JldHVybiBjLmNvcHkoZSkuYWRkU2NhbGVkVmVjdG9yKG1mLGcpLmFkZFNjYWxlZFZlY3RvcihuZixJKX0sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmEuZXF1YWxzKHRoaXMuYSkmJmEuYi5lcXVhbHModGhpcy5iKSYmYS5jLmVxdWFscyh0aGlzLmMpfX0pO3ZhciBabT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSwKYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LApkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsCmxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NywKbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LApyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9LG9jPXtoOjAsCnM6MCxsOjB9LHBoPXtoOjAsczowLGw6MH07T2JqZWN0LmFzc2lnbihILnByb3RvdHlwZSx7aXNDb2xvcjohMCxyOjEsZzoxLGI6MSxzZXQ6ZnVuY3Rpb24oYSl7YSYmYS5pc0NvbG9yP3RoaXMuY29weShhKToibnVtYmVyIj09PXR5cGVvZiBhP3RoaXMuc2V0SGV4KGEpOiJzdHJpbmciPT09dHlwZW9mIGEmJnRoaXMuc2V0U3R5bGUoYSk7cmV0dXJuIHRoaXN9LHNldFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLmI9dGhpcy5nPXRoaXMucj1hO3JldHVybiB0aGlzfSxzZXRIZXg6ZnVuY3Rpb24oYSl7YT1NYXRoLmZsb29yKGEpO3RoaXMucj0oYT4+MTYmMjU1KS8yNTU7dGhpcy5nPShhPj44JjI1NSkvMjU1O3RoaXMuYj0oYSYyNTUpLzI1NTtyZXR1cm4gdGhpc30sc2V0UkdCOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnI9YTt0aGlzLmc9Yzt0aGlzLmI9ZTtyZXR1cm4gdGhpc30sc2V0SFNMOmZ1bmN0aW9uKGEsYyxlKXthPWhiLmV1Y2xpZGVhbk1vZHVsbyhhLDEpO2M9aGIuY2xhbXAoYywwLAoxKTtlPWhiLmNsYW1wKGUsMCwxKTswPT09Yz90aGlzLnI9dGhpcy5nPXRoaXMuYj1lOihjPS41Pj1lP2UqKDErYyk6ZStjLWUqYyxlPTIqZS1jLHRoaXMucj1LKGUsYyxhKzEvMyksdGhpcy5nPUsoZSxjLGEpLHRoaXMuYj1LKGUsYyxhLTEvMykpO3JldHVybiB0aGlzfSxzZXRTdHlsZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBjKHope3ZvaWQgMCE9PXomJjE+cGFyc2VGbG9hdCh6KSYmY29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogQWxwaGEgY29tcG9uZW50IG9mICIrYSsiIHdpbGwgYmUgaWdub3JlZC4iKX12YXIgZTtpZihlPS9eKCg/OnJnYnxoc2wpYT8pXChccyooW15cKV0qKVwpLy5leGVjKGEpKXt2YXIgZz1lWzJdO3N3aXRjaChlWzFdKXtjYXNlICJyZ2IiOmNhc2UgInJnYmEiOmlmKGU9L14oXGQrKVxzKixccyooXGQrKVxzKixccyooXGQrKVxzKigsXHMqKFswLTldKlwuP1swLTldKylccyopPyQvLmV4ZWMoZykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigyNTUscGFyc2VJbnQoZVsxXSwKMTApKS8yNTUsdGhpcy5nPU1hdGgubWluKDI1NSxwYXJzZUludChlWzJdLDEwKSkvMjU1LHRoaXMuYj1NYXRoLm1pbigyNTUscGFyc2VJbnQoZVszXSwxMCkpLzI1NSxjKGVbNV0pLHRoaXM7aWYoZT0vXihcZCspJVxzKixccyooXGQrKSVccyosXHMqKFxkKyklXHMqKCxccyooWzAtOV0qXC4/WzAtOV0rKVxzKik/JC8uZXhlYyhnKSlyZXR1cm4gdGhpcy5yPU1hdGgubWluKDEwMCxwYXJzZUludChlWzFdLDEwKSkvMTAwLHRoaXMuZz1NYXRoLm1pbigxMDAscGFyc2VJbnQoZVsyXSwxMCkpLzEwMCx0aGlzLmI9TWF0aC5taW4oMTAwLHBhcnNlSW50KGVbM10sMTApKS8xMDAsYyhlWzVdKSx0aGlzO2JyZWFrO2Nhc2UgImhzbCI6Y2FzZSAiaHNsYSI6aWYoZT0vXihbMC05XSpcLj9bMC05XSspXHMqLFxzKihcZCspJVxzKixccyooXGQrKSVccyooLFxzKihbMC05XSpcLj9bMC05XSspXHMqKT8kLy5leGVjKGcpKXtnPXBhcnNlRmxvYXQoZVsxXSkvMzYwO3ZhciB0PXBhcnNlSW50KGVbMl0sCjEwKS8xMDAsdj1wYXJzZUludChlWzNdLDEwKS8xMDA7YyhlWzVdKTtyZXR1cm4gdGhpcy5zZXRIU0woZyx0LHYpfX19ZWxzZSBpZihlPS9eIyhbQS1GYS1mMC05XSspJC8uZXhlYyhhKSl7ZT1lWzFdO2c9ZS5sZW5ndGg7aWYoMz09PWcpcmV0dXJuIHRoaXMucj1wYXJzZUludChlLmNoYXJBdCgwKStlLmNoYXJBdCgwKSwxNikvMjU1LHRoaXMuZz1wYXJzZUludChlLmNoYXJBdCgxKStlLmNoYXJBdCgxKSwxNikvMjU1LHRoaXMuYj1wYXJzZUludChlLmNoYXJBdCgyKStlLmNoYXJBdCgyKSwxNikvMjU1LHRoaXM7aWYoNj09PWcpcmV0dXJuIHRoaXMucj1wYXJzZUludChlLmNoYXJBdCgwKStlLmNoYXJBdCgxKSwxNikvMjU1LHRoaXMuZz1wYXJzZUludChlLmNoYXJBdCgyKStlLmNoYXJBdCgzKSwxNikvMjU1LHRoaXMuYj1wYXJzZUludChlLmNoYXJBdCg0KStlLmNoYXJBdCg1KSwxNikvMjU1LHRoaXN9YSYmMDxhLmxlbmd0aCYmKGU9Wm1bYV0sdm9pZCAwIT09ZT90aGlzLnNldEhleChlKToKY29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogVW5rbm93biBjb2xvciAiK2EpKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5yLHRoaXMuZyx0aGlzLmIpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMucj1hLnI7dGhpcy5nPWEuZzt0aGlzLmI9YS5iO3JldHVybiB0aGlzfSxjb3B5R2FtbWFUb0xpbmVhcjpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTIpO3RoaXMucj1NYXRoLnBvdyhhLnIsYyk7dGhpcy5nPU1hdGgucG93KGEuZyxjKTt0aGlzLmI9TWF0aC5wb3coYS5iLGMpO3JldHVybiB0aGlzfSxjb3B5TGluZWFyVG9HYW1tYTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTIpO2M9MDxjPzEvYzoxO3RoaXMucj1NYXRoLnBvdyhhLnIsYyk7dGhpcy5nPU1hdGgucG93KGEuZyxjKTt0aGlzLmI9TWF0aC5wb3coYS5iLGMpO3JldHVybiB0aGlzfSxjb252ZXJ0R2FtbWFUb0xpbmVhcjpmdW5jdGlvbihhKXt0aGlzLmNvcHlHYW1tYVRvTGluZWFyKHRoaXMsCmEpO3JldHVybiB0aGlzfSxjb252ZXJ0TGluZWFyVG9HYW1tYTpmdW5jdGlvbihhKXt0aGlzLmNvcHlMaW5lYXJUb0dhbW1hKHRoaXMsYSk7cmV0dXJuIHRoaXN9LGNvcHlTUkdCVG9MaW5lYXI6ZnVuY3Rpb24oYSl7dGhpcy5yPUwoYS5yKTt0aGlzLmc9TChhLmcpO3RoaXMuYj1MKGEuYik7cmV0dXJuIHRoaXN9LGNvcHlMaW5lYXJUb1NSR0I6ZnVuY3Rpb24oYSl7dGhpcy5yPUooYS5yKTt0aGlzLmc9SihhLmcpO3RoaXMuYj1KKGEuYik7cmV0dXJuIHRoaXN9LGNvbnZlcnRTUkdCVG9MaW5lYXI6ZnVuY3Rpb24oKXt0aGlzLmNvcHlTUkdCVG9MaW5lYXIodGhpcyk7cmV0dXJuIHRoaXN9LGNvbnZlcnRMaW5lYXJUb1NSR0I6ZnVuY3Rpb24oKXt0aGlzLmNvcHlMaW5lYXJUb1NSR0IodGhpcyk7cmV0dXJuIHRoaXN9LGdldEhleDpmdW5jdGlvbigpe3JldHVybiAyNTUqdGhpcy5yPDwxNl4yNTUqdGhpcy5nPDw4XjI1NSp0aGlzLmI8PDB9LGdldEhleFN0cmluZzpmdW5jdGlvbigpe3JldHVybigiMDAwMDAwIisKdGhpcy5nZXRIZXgoKS50b1N0cmluZygxNikpLnNsaWNlKC02KX0sZ2V0SFNMOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihjb25zb2xlLndhcm4oIlRIUkVFLkNvbG9yOiAuZ2V0SFNMKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9e2g6MCxzOjAsbDowfSk7dmFyIGM9dGhpcy5yLGU9dGhpcy5nLGc9dGhpcy5iLHQ9TWF0aC5tYXgoYyxlLGcpLHY9TWF0aC5taW4oYyxlLGcpLHosRT0odit0KS8yO2lmKHY9PT10KXY9ej0wO2Vsc2V7dmFyIEY9dC12O3Y9LjU+PUU/Ri8odCt2KTpGLygyLXQtdik7c3dpdGNoKHQpe2Nhc2UgYzp6PShlLWcpL0YrKGU8Zz82OjApO2JyZWFrO2Nhc2UgZTp6PShnLWMpL0YrMjticmVhaztjYXNlIGc6ej0oYy1lKS9GKzR9ei89Nn1hLmg9ejthLnM9djthLmw9RTtyZXR1cm4gYX0sZ2V0U3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm4icmdiKCIrKDI1NSp0aGlzLnJ8MCkrIiwiKygyNTUqdGhpcy5nfDApKyIsIisoMjU1KnRoaXMuYnwwKSsiKSJ9LG9mZnNldEhTTDpmdW5jdGlvbihhLApjLGUpe3RoaXMuZ2V0SFNMKG9jKTtvYy5oKz1hO29jLnMrPWM7b2MubCs9ZTt0aGlzLnNldEhTTChvYy5oLG9jLnMsb2MubCk7cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihhKXt0aGlzLnIrPWEucjt0aGlzLmcrPWEuZzt0aGlzLmIrPWEuYjtyZXR1cm4gdGhpc30sYWRkQ29sb3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy5yPWEucitjLnI7dGhpcy5nPWEuZytjLmc7dGhpcy5iPWEuYitjLmI7cmV0dXJuIHRoaXN9LGFkZFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLnIrPWE7dGhpcy5nKz1hO3RoaXMuYis9YTtyZXR1cm4gdGhpc30sc3ViOmZ1bmN0aW9uKGEpe3RoaXMucj1NYXRoLm1heCgwLHRoaXMuci1hLnIpO3RoaXMuZz1NYXRoLm1heCgwLHRoaXMuZy1hLmcpO3RoaXMuYj1NYXRoLm1heCgwLHRoaXMuYi1hLmIpO3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhKXt0aGlzLnIqPWEucjt0aGlzLmcqPWEuZzt0aGlzLmIqPWEuYjtyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy5yKj0KYTt0aGlzLmcqPWE7dGhpcy5iKj1hO3JldHVybiB0aGlzfSxsZXJwOmZ1bmN0aW9uKGEsYyl7dGhpcy5yKz0oYS5yLXRoaXMucikqYzt0aGlzLmcrPShhLmctdGhpcy5nKSpjO3RoaXMuYis9KGEuYi10aGlzLmIpKmM7cmV0dXJuIHRoaXN9LGxlcnBIU0w6ZnVuY3Rpb24oYSxjKXt0aGlzLmdldEhTTChvYyk7YS5nZXRIU0wocGgpO2E9aGIubGVycChvYy5oLHBoLmgsYyk7dmFyIGU9aGIubGVycChvYy5zLHBoLnMsYyk7Yz1oYi5sZXJwKG9jLmwscGgubCxjKTt0aGlzLnNldEhTTChhLGUsYyk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5yPT09dGhpcy5yJiZhLmc9PT10aGlzLmcmJmEuYj09PXRoaXMuYn0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy5yPWFbY107dGhpcy5nPWFbYysxXTt0aGlzLmI9YVtjKzJdO3JldHVybiB0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YSYmKGE9W10pO3ZvaWQgMD09PQpjJiYoYz0wKTthW2NdPXRoaXMucjthW2MrMV09dGhpcy5nO2FbYysyXT10aGlzLmI7cmV0dXJuIGF9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEhleCgpfX0pO09iamVjdC5hc3NpZ24oTy5wcm90b3R5cGUse2Nsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYT1hLmE7dGhpcy5iPWEuYjt0aGlzLmM9YS5jO3RoaXMubm9ybWFsLmNvcHkoYS5ub3JtYWwpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hdGVyaWFsSW5kZXg9YS5tYXRlcmlhbEluZGV4O2Zvcih2YXIgYz0wLGU9YS52ZXJ0ZXhOb3JtYWxzLmxlbmd0aDtjPGU7YysrKXRoaXMudmVydGV4Tm9ybWFsc1tjXT1hLnZlcnRleE5vcm1hbHNbY10uY2xvbmUoKTtjPTA7Zm9yKGU9YS52ZXJ0ZXhDb2xvcnMubGVuZ3RoO2M8ZTtjKyspdGhpcy52ZXJ0ZXhDb2xvcnNbY109YS52ZXJ0ZXhDb2xvcnNbY10uY2xvbmUoKTsKcmV0dXJuIHRoaXN9fSk7dmFyIGpsPTA7Uy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6Uyxpc01hdGVyaWFsOiEwLG9uQmVmb3JlQ29tcGlsZTpmdW5jdGlvbigpe30sc2V0VmFsdWVzOmZ1bmN0aW9uKGEpe2lmKHZvaWQgMCE9PWEpZm9yKHZhciBjIGluIGEpe3ZhciBlPWFbY107aWYodm9pZCAwPT09ZSljb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAnIitjKyInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuIik7ZWxzZSBpZigic2hhZGluZyI9PT1jKWNvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpLHRoaXMuZmxhdFNoYWRpbmc9MT09PWU/ITA6ITE7ZWxzZXt2YXIgZz10aGlzW2NdO3ZvaWQgMD09PWc/Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAnIitjKyInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuIik6CmcmJmcuaXNDb2xvcj9nLnNldChlKTpnJiZnLmlzVmVjdG9yMyYmZSYmZS5pc1ZlY3RvcjM/Zy5jb3B5KGUpOnRoaXNbY109ZX19fSx0b0pTT046ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyh0KXt2YXIgdj1bXSx6O2Zvcih6IGluIHQpe3ZhciBFPXRbel07ZGVsZXRlIEUubWV0YWRhdGE7di5wdXNoKEUpfXJldHVybiB2fXZhciBlPXZvaWQgMD09PWF8fCJzdHJpbmciPT09dHlwZW9mIGE7ZSYmKGE9e3RleHR1cmVzOnt9LGltYWdlczp7fX0pO3ZhciBnPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiTWF0ZXJpYWwiLGdlbmVyYXRvcjoiTWF0ZXJpYWwudG9KU09OIn19O2cudXVpZD10aGlzLnV1aWQ7Zy50eXBlPXRoaXMudHlwZTsiIiE9PXRoaXMubmFtZSYmKGcubmFtZT10aGlzLm5hbWUpO3RoaXMuY29sb3ImJnRoaXMuY29sb3IuaXNDb2xvciYmKGcuY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSk7dm9pZCAwIT09dGhpcy5yb3VnaG5lc3MmJihnLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyk7CnZvaWQgMCE9PXRoaXMubWV0YWxuZXNzJiYoZy5tZXRhbG5lc3M9dGhpcy5tZXRhbG5lc3MpO3RoaXMuZW1pc3NpdmUmJnRoaXMuZW1pc3NpdmUuaXNDb2xvciYmKGcuZW1pc3NpdmU9dGhpcy5lbWlzc2l2ZS5nZXRIZXgoKSk7dGhpcy5lbWlzc2l2ZUludGVuc2l0eSYmMSE9PXRoaXMuZW1pc3NpdmVJbnRlbnNpdHkmJihnLmVtaXNzaXZlSW50ZW5zaXR5PXRoaXMuZW1pc3NpdmVJbnRlbnNpdHkpO3RoaXMuc3BlY3VsYXImJnRoaXMuc3BlY3VsYXIuaXNDb2xvciYmKGcuc3BlY3VsYXI9dGhpcy5zcGVjdWxhci5nZXRIZXgoKSk7dm9pZCAwIT09dGhpcy5zaGluaW5lc3MmJihnLnNoaW5pbmVzcz10aGlzLnNoaW5pbmVzcyk7dm9pZCAwIT09dGhpcy5jbGVhcmNvYXQmJihnLmNsZWFyY29hdD10aGlzLmNsZWFyY29hdCk7dm9pZCAwIT09dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3MmJihnLmNsZWFyY29hdFJvdWdobmVzcz10aGlzLmNsZWFyY29hdFJvdWdobmVzcyk7dGhpcy5jbGVhcmNvYXROb3JtYWxNYXAmJgp0aGlzLmNsZWFyY29hdE5vcm1hbE1hcC5pc1RleHR1cmUmJihnLmNsZWFyY29hdE5vcm1hbE1hcD10aGlzLmNsZWFyY29hdE5vcm1hbE1hcC50b0pTT04oYSkudXVpZCxnLmNsZWFyY29hdE5vcm1hbFNjYWxlPXRoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGUudG9BcnJheSgpKTt0aGlzLm1hcCYmdGhpcy5tYXAuaXNUZXh0dXJlJiYoZy5tYXA9dGhpcy5tYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubWF0Y2FwJiZ0aGlzLm1hdGNhcC5pc1RleHR1cmUmJihnLm1hdGNhcD10aGlzLm1hdGNhcC50b0pTT04oYSkudXVpZCk7dGhpcy5hbHBoYU1hcCYmdGhpcy5hbHBoYU1hcC5pc1RleHR1cmUmJihnLmFscGhhTWFwPXRoaXMuYWxwaGFNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubGlnaHRNYXAmJnRoaXMubGlnaHRNYXAuaXNUZXh0dXJlJiYoZy5saWdodE1hcD10aGlzLmxpZ2h0TWFwLnRvSlNPTihhKS51dWlkKTt0aGlzLmFvTWFwJiZ0aGlzLmFvTWFwLmlzVGV4dHVyZSYmKGcuYW9NYXA9dGhpcy5hb01hcC50b0pTT04oYSkudXVpZCwKZy5hb01hcEludGVuc2l0eT10aGlzLmFvTWFwSW50ZW5zaXR5KTt0aGlzLmJ1bXBNYXAmJnRoaXMuYnVtcE1hcC5pc1RleHR1cmUmJihnLmJ1bXBNYXA9dGhpcy5idW1wTWFwLnRvSlNPTihhKS51dWlkLGcuYnVtcFNjYWxlPXRoaXMuYnVtcFNjYWxlKTt0aGlzLm5vcm1hbE1hcCYmdGhpcy5ub3JtYWxNYXAuaXNUZXh0dXJlJiYoZy5ub3JtYWxNYXA9dGhpcy5ub3JtYWxNYXAudG9KU09OKGEpLnV1aWQsZy5ub3JtYWxNYXBUeXBlPXRoaXMubm9ybWFsTWFwVHlwZSxnLm5vcm1hbFNjYWxlPXRoaXMubm9ybWFsU2NhbGUudG9BcnJheSgpKTt0aGlzLmRpc3BsYWNlbWVudE1hcCYmdGhpcy5kaXNwbGFjZW1lbnRNYXAuaXNUZXh0dXJlJiYoZy5kaXNwbGFjZW1lbnRNYXA9dGhpcy5kaXNwbGFjZW1lbnRNYXAudG9KU09OKGEpLnV1aWQsZy5kaXNwbGFjZW1lbnRTY2FsZT10aGlzLmRpc3BsYWNlbWVudFNjYWxlLGcuZGlzcGxhY2VtZW50Qmlhcz10aGlzLmRpc3BsYWNlbWVudEJpYXMpO3RoaXMucm91Z2huZXNzTWFwJiYKdGhpcy5yb3VnaG5lc3NNYXAuaXNUZXh0dXJlJiYoZy5yb3VnaG5lc3NNYXA9dGhpcy5yb3VnaG5lc3NNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubWV0YWxuZXNzTWFwJiZ0aGlzLm1ldGFsbmVzc01hcC5pc1RleHR1cmUmJihnLm1ldGFsbmVzc01hcD10aGlzLm1ldGFsbmVzc01hcC50b0pTT04oYSkudXVpZCk7dGhpcy5lbWlzc2l2ZU1hcCYmdGhpcy5lbWlzc2l2ZU1hcC5pc1RleHR1cmUmJihnLmVtaXNzaXZlTWFwPXRoaXMuZW1pc3NpdmVNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMuc3BlY3VsYXJNYXAmJnRoaXMuc3BlY3VsYXJNYXAuaXNUZXh0dXJlJiYoZy5zcGVjdWxhck1hcD10aGlzLnNwZWN1bGFyTWFwLnRvSlNPTihhKS51dWlkKTt0aGlzLmVudk1hcCYmdGhpcy5lbnZNYXAuaXNUZXh0dXJlJiYoZy5lbnZNYXA9dGhpcy5lbnZNYXAudG9KU09OKGEpLnV1aWQsZy5yZWZsZWN0aXZpdHk9dGhpcy5yZWZsZWN0aXZpdHksZy5yZWZyYWN0aW9uUmF0aW89dGhpcy5yZWZyYWN0aW9uUmF0aW8sCnZvaWQgMCE9PXRoaXMuY29tYmluZSYmKGcuY29tYmluZT10aGlzLmNvbWJpbmUpLHZvaWQgMCE9PXRoaXMuZW52TWFwSW50ZW5zaXR5JiYoZy5lbnZNYXBJbnRlbnNpdHk9dGhpcy5lbnZNYXBJbnRlbnNpdHkpKTt0aGlzLmdyYWRpZW50TWFwJiZ0aGlzLmdyYWRpZW50TWFwLmlzVGV4dHVyZSYmKGcuZ3JhZGllbnRNYXA9dGhpcy5ncmFkaWVudE1hcC50b0pTT04oYSkudXVpZCk7dm9pZCAwIT09dGhpcy5zaXplJiYoZy5zaXplPXRoaXMuc2l6ZSk7dm9pZCAwIT09dGhpcy5zaXplQXR0ZW51YXRpb24mJihnLnNpemVBdHRlbnVhdGlvbj10aGlzLnNpemVBdHRlbnVhdGlvbik7MSE9PXRoaXMuYmxlbmRpbmcmJihnLmJsZW5kaW5nPXRoaXMuYmxlbmRpbmcpOyEwPT09dGhpcy5mbGF0U2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9dGhpcy5mbGF0U2hhZGluZyk7MCE9PXRoaXMuc2lkZSYmKGcuc2lkZT10aGlzLnNpZGUpOzAhPT10aGlzLnZlcnRleENvbG9ycyYmKGcudmVydGV4Q29sb3JzPQp0aGlzLnZlcnRleENvbG9ycyk7MT50aGlzLm9wYWNpdHkmJihnLm9wYWNpdHk9dGhpcy5vcGFjaXR5KTshMD09PXRoaXMudHJhbnNwYXJlbnQmJihnLnRyYW5zcGFyZW50PXRoaXMudHJhbnNwYXJlbnQpO2cuZGVwdGhGdW5jPXRoaXMuZGVwdGhGdW5jO2cuZGVwdGhUZXN0PXRoaXMuZGVwdGhUZXN0O2cuZGVwdGhXcml0ZT10aGlzLmRlcHRoV3JpdGU7Zy5zdGVuY2lsV3JpdGU9dGhpcy5zdGVuY2lsV3JpdGU7Zy5zdGVuY2lsRnVuYz10aGlzLnN0ZW5jaWxGdW5jO2cuc3RlbmNpbFJlZj10aGlzLnN0ZW5jaWxSZWY7Zy5zdGVuY2lsTWFzaz10aGlzLnN0ZW5jaWxNYXNrO2cuc3RlbmNpbEZhaWw9dGhpcy5zdGVuY2lsRmFpbDtnLnN0ZW5jaWxaRmFpbD10aGlzLnN0ZW5jaWxaRmFpbDtnLnN0ZW5jaWxaUGFzcz10aGlzLnN0ZW5jaWxaUGFzczt0aGlzLnJvdGF0aW9uJiYwIT09dGhpcy5yb3RhdGlvbiYmKGcucm90YXRpb249dGhpcy5yb3RhdGlvbik7ITA9PT10aGlzLnBvbHlnb25PZmZzZXQmJgooZy5wb2x5Z29uT2Zmc2V0PSEwKTswIT09dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYoZy5wb2x5Z29uT2Zmc2V0RmFjdG9yPXRoaXMucG9seWdvbk9mZnNldEZhY3Rvcik7MCE9PXRoaXMucG9seWdvbk9mZnNldFVuaXRzJiYoZy5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMpO3RoaXMubGluZXdpZHRoJiYxIT09dGhpcy5saW5ld2lkdGgmJihnLmxpbmV3aWR0aD10aGlzLmxpbmV3aWR0aCk7dm9pZCAwIT09dGhpcy5kYXNoU2l6ZSYmKGcuZGFzaFNpemU9dGhpcy5kYXNoU2l6ZSk7dm9pZCAwIT09dGhpcy5nYXBTaXplJiYoZy5nYXBTaXplPXRoaXMuZ2FwU2l6ZSk7dm9pZCAwIT09dGhpcy5zY2FsZSYmKGcuc2NhbGU9dGhpcy5zY2FsZSk7ITA9PT10aGlzLmRpdGhlcmluZyYmKGcuZGl0aGVyaW5nPSEwKTswPHRoaXMuYWxwaGFUZXN0JiYoZy5hbHBoYVRlc3Q9dGhpcy5hbHBoYVRlc3QpOyEwPT09dGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEmJihnLnByZW11bHRpcGxpZWRBbHBoYT0KdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEpOyEwPT09dGhpcy53aXJlZnJhbWUmJihnLndpcmVmcmFtZT10aGlzLndpcmVmcmFtZSk7MTx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aCYmKGcud2lyZWZyYW1lTGluZXdpZHRoPXRoaXMud2lyZWZyYW1lTGluZXdpZHRoKTsicm91bmQiIT09dGhpcy53aXJlZnJhbWVMaW5lY2FwJiYoZy53aXJlZnJhbWVMaW5lY2FwPXRoaXMud2lyZWZyYW1lTGluZWNhcCk7InJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWpvaW4mJihnLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWpvaW4pOyEwPT09dGhpcy5tb3JwaFRhcmdldHMmJihnLm1vcnBoVGFyZ2V0cz0hMCk7ITA9PT10aGlzLm1vcnBoTm9ybWFscyYmKGcubW9ycGhOb3JtYWxzPSEwKTshMD09PXRoaXMuc2tpbm5pbmcmJihnLnNraW5uaW5nPSEwKTshMT09PXRoaXMudmlzaWJsZSYmKGcudmlzaWJsZT0hMSk7ITE9PT10aGlzLnRvbmVNYXBwZWQmJihnLnRvbmVNYXBwZWQ9ITEpOwoie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJihnLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO2UmJihlPWMoYS50ZXh0dXJlcyksYT1jKGEuaW1hZ2VzKSwwPGUubGVuZ3RoJiYoZy50ZXh0dXJlcz1lKSwwPGEubGVuZ3RoJiYoZy5pbWFnZXM9YSkpO3JldHVybiBnfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm5hbWU9YS5uYW1lO3RoaXMuZm9nPWEuZm9nO3RoaXMubGlnaHRzPWEubGlnaHRzO3RoaXMuYmxlbmRpbmc9YS5ibGVuZGluZzt0aGlzLnNpZGU9YS5zaWRlO3RoaXMuZmxhdFNoYWRpbmc9YS5mbGF0U2hhZGluZzt0aGlzLnZlcnRleENvbG9ycz1hLnZlcnRleENvbG9yczt0aGlzLm9wYWNpdHk9YS5vcGFjaXR5O3RoaXMudHJhbnNwYXJlbnQ9YS50cmFuc3BhcmVudDt0aGlzLmJsZW5kU3JjPWEuYmxlbmRTcmM7dGhpcy5ibGVuZERzdD1hLmJsZW5kRHN0O3RoaXMuYmxlbmRFcXVhdGlvbj0KYS5ibGVuZEVxdWF0aW9uO3RoaXMuYmxlbmRTcmNBbHBoYT1hLmJsZW5kU3JjQWxwaGE7dGhpcy5ibGVuZERzdEFscGhhPWEuYmxlbmREc3RBbHBoYTt0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT1hLmJsZW5kRXF1YXRpb25BbHBoYTt0aGlzLmRlcHRoRnVuYz1hLmRlcHRoRnVuYzt0aGlzLmRlcHRoVGVzdD1hLmRlcHRoVGVzdDt0aGlzLmRlcHRoV3JpdGU9YS5kZXB0aFdyaXRlO3RoaXMuc3RlbmNpbFdyaXRlPWEuc3RlbmNpbFdyaXRlO3RoaXMuc3RlbmNpbEZ1bmM9YS5zdGVuY2lsRnVuYzt0aGlzLnN0ZW5jaWxSZWY9YS5zdGVuY2lsUmVmO3RoaXMuc3RlbmNpbE1hc2s9YS5zdGVuY2lsTWFzazt0aGlzLnN0ZW5jaWxGYWlsPWEuc3RlbmNpbEZhaWw7dGhpcy5zdGVuY2lsWkZhaWw9YS5zdGVuY2lsWkZhaWw7dGhpcy5zdGVuY2lsWlBhc3M9YS5zdGVuY2lsWlBhc3M7dGhpcy5jb2xvcldyaXRlPWEuY29sb3JXcml0ZTt0aGlzLnByZWNpc2lvbj1hLnByZWNpc2lvbjt0aGlzLnBvbHlnb25PZmZzZXQ9CmEucG9seWdvbk9mZnNldDt0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9YS5wb2x5Z29uT2Zmc2V0RmFjdG9yO3RoaXMucG9seWdvbk9mZnNldFVuaXRzPWEucG9seWdvbk9mZnNldFVuaXRzO3RoaXMuZGl0aGVyaW5nPWEuZGl0aGVyaW5nO3RoaXMuYWxwaGFUZXN0PWEuYWxwaGFUZXN0O3RoaXMucHJlbXVsdGlwbGllZEFscGhhPWEucHJlbXVsdGlwbGllZEFscGhhO3RoaXMudmlzaWJsZT1hLnZpc2libGU7dGhpcy50b25lTWFwcGVkPWEudG9uZU1hcHBlZDt0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYS51c2VyRGF0YSkpO3RoaXMuY2xpcFNoYWRvd3M9YS5jbGlwU2hhZG93czt0aGlzLmNsaXBJbnRlcnNlY3Rpb249YS5jbGlwSW50ZXJzZWN0aW9uO3ZhciBjPWEuY2xpcHBpbmdQbGFuZXMsZT1udWxsO2lmKG51bGwhPT1jKXt2YXIgZz1jLmxlbmd0aDtlPUFycmF5KGcpO2Zvcih2YXIgdD0wO3QhPT1nOysrdCllW3RdPWNbdF0uY2xvbmUoKX10aGlzLmNsaXBwaW5nUGxhbmVzPQplO3RoaXMuc2hhZG93U2lkZT1hLnNoYWRvd1NpZGU7cmV0dXJuIHRoaXN9LGRpc3Bvc2U6ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fSk7Ti5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7Ti5wcm90b3R5cGUuY29uc3RydWN0b3I9TjtOLnByb3RvdHlwZS5pc01lc2hCYXNpY01hdGVyaWFsPSEwO04ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMubWFwPWEubWFwO3RoaXMubGlnaHRNYXA9YS5saWdodE1hcDt0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PWEubGlnaHRNYXBJbnRlbnNpdHk7dGhpcy5hb01hcD1hLmFvTWFwO3RoaXMuYW9NYXBJbnRlbnNpdHk9YS5hb01hcEludGVuc2l0eTt0aGlzLnNwZWN1bGFyTWFwPWEuc3BlY3VsYXJNYXA7dGhpcy5hbHBoYU1hcD1hLmFscGhhTWFwO3RoaXMuZW52TWFwPWEuZW52TWFwOwp0aGlzLmNvbWJpbmU9YS5jb21iaW5lO3RoaXMucmVmbGVjdGl2aXR5PWEucmVmbGVjdGl2aXR5O3RoaXMucmVmcmFjdGlvblJhdGlvPWEucmVmcmFjdGlvblJhdGlvO3RoaXMud2lyZWZyYW1lPWEud2lyZWZyYW1lO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPWEud2lyZWZyYW1lTGluZXdpZHRoO3RoaXMud2lyZWZyYW1lTGluZWNhcD1hLndpcmVmcmFtZUxpbmVjYXA7dGhpcy53aXJlZnJhbWVMaW5lam9pbj1hLndpcmVmcmFtZUxpbmVqb2luO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0cztyZXR1cm4gdGhpc307T2JqZWN0LmRlZmluZVByb3BlcnR5KFIucHJvdG90eXBlLCJuZWVkc1VwZGF0ZSIse3NldDpmdW5jdGlvbihhKXshMD09PWEmJnRoaXMudmVyc2lvbisrfX0pO09iamVjdC5hc3NpZ24oUi5wcm90b3R5cGUse2lzQnVmZmVyQXR0cmlidXRlOiEwLG9uVXBsb2FkQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LHNldEFycmF5OmZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTsKdGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL3RoaXMuaXRlbVNpemU6MDt0aGlzLmFycmF5PWE7cmV0dXJuIHRoaXN9LHNldER5bmFtaWM6ZnVuY3Rpb24oYSl7dGhpcy5keW5hbWljPWE7cmV0dXJuIHRoaXN9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmFycmF5PW5ldyBhLmFycmF5LmNvbnN0cnVjdG9yKGEuYXJyYXkpO3RoaXMuaXRlbVNpemU9YS5pdGVtU2l6ZTt0aGlzLmNvdW50PWEuY291bnQ7dGhpcy5ub3JtYWxpemVkPWEubm9ybWFsaXplZDt0aGlzLmR5bmFtaWM9YS5keW5hbWljO3JldHVybiB0aGlzfSxjb3B5QXQ6ZnVuY3Rpb24oYSxjLGUpe2EqPXRoaXMuaXRlbVNpemU7ZSo9Yy5pdGVtU2l6ZTtmb3IodmFyIGc9MCx0PXRoaXMuaXRlbVNpemU7Zzx0O2crKyl0aGlzLmFycmF5W2ErZ109Yy5hcnJheVtlK2ddO3JldHVybiB0aGlzfSxjb3B5QXJyYXk6ZnVuY3Rpb24oYSl7dGhpcy5hcnJheS5zZXQoYSk7cmV0dXJuIHRoaXN9LGNvcHlDb2xvcnNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9CnRoaXMuYXJyYXksZT0wLGc9MCx0PWEubGVuZ3RoO2c8dDtnKyspe3ZhciB2PWFbZ107dm9pZCAwPT09diYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlDb2xvcnNBcnJheSgpOiBjb2xvciBpcyB1bmRlZmluZWQiLGcpLHY9bmV3IEgpO2NbZSsrXT12LnI7Y1tlKytdPXYuZztjW2UrK109di5ifXJldHVybiB0aGlzfSxjb3B5VmVjdG9yMnNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9YVtnXTt2b2lkIDA9PT12JiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjJzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsZyksdj1uZXcgZik7Y1tlKytdPXYueDtjW2UrK109di55fXJldHVybiB0aGlzfSxjb3B5VmVjdG9yM3NBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9CmFbZ107dm9pZCAwPT09diYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlWZWN0b3Izc0FycmF5KCk6IHZlY3RvciBpcyB1bmRlZmluZWQiLGcpLHY9bmV3IGspO2NbZSsrXT12Lng7Y1tlKytdPXYueTtjW2UrK109di56fXJldHVybiB0aGlzfSxjb3B5VmVjdG9yNHNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9YVtnXTt2b2lkIDA9PT12JiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjRzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsZyksdj1uZXcgcCk7Y1tlKytdPXYueDtjW2UrK109di55O2NbZSsrXT12Lno7Y1tlKytdPXYud31yZXR1cm4gdGhpc30sc2V0OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy5hcnJheS5zZXQoYSxjKTtyZXR1cm4gdGhpc30sZ2V0WDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hcnJheVthKgp0aGlzLml0ZW1TaXplXX0sc2V0WDpmdW5jdGlvbihhLGMpe3RoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplXT1jO3JldHVybiB0aGlzfSxnZXRZOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFycmF5W2EqdGhpcy5pdGVtU2l6ZSsxXX0sc2V0WTpmdW5jdGlvbihhLGMpe3RoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplKzFdPWM7cmV0dXJuIHRoaXN9LGdldFo6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplKzJdfSxzZXRaOmZ1bmN0aW9uKGEsYyl7dGhpcy5hcnJheVthKnRoaXMuaXRlbVNpemUrMl09YztyZXR1cm4gdGhpc30sZ2V0VzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hcnJheVthKnRoaXMuaXRlbVNpemUrM119LHNldFc6ZnVuY3Rpb24oYSxjKXt0aGlzLmFycmF5W2EqdGhpcy5pdGVtU2l6ZSszXT1jO3JldHVybiB0aGlzfSxzZXRYWTpmdW5jdGlvbihhLGMsZSl7YSo9dGhpcy5pdGVtU2l6ZTt0aGlzLmFycmF5W2ErMF09Yzt0aGlzLmFycmF5W2ErCjFdPWU7cmV0dXJuIHRoaXN9LHNldFhZWjpmdW5jdGlvbihhLGMsZSxnKXthKj10aGlzLml0ZW1TaXplO3RoaXMuYXJyYXlbYSswXT1jO3RoaXMuYXJyYXlbYSsxXT1lO3RoaXMuYXJyYXlbYSsyXT1nO3JldHVybiB0aGlzfSxzZXRYWVpXOmZ1bmN0aW9uKGEsYyxlLGcsdCl7YSo9dGhpcy5pdGVtU2l6ZTt0aGlzLmFycmF5W2ErMF09Yzt0aGlzLmFycmF5W2ErMV09ZTt0aGlzLmFycmF5W2ErMl09Zzt0aGlzLmFycmF5W2ErM109dDtyZXR1cm4gdGhpc30sb25VcGxvYWQ6ZnVuY3Rpb24oYSl7dGhpcy5vblVwbG9hZENhbGxiYWNrPWE7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuYXJyYXksdGhpcy5pdGVtU2l6ZSkpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuYXJyYXkpLApub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fSk7WC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7WC5wcm90b3R5cGUuY29uc3RydWN0b3I9WDthYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7YWEucHJvdG90eXBlLmNvbnN0cnVjdG9yPWFhO2ZhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtmYS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZmE7b2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO29hLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1vYTtaLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtaLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1aO2NhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtjYS5wcm90b3R5cGUuY29uc3RydWN0b3I9Y2E7amEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO2phLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qYTsKYmEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO2JhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1iYTtrYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7a2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWthO09iamVjdC5hc3NpZ24oVy5wcm90b3R5cGUse2NvbXB1dGVHcm91cHM6ZnVuY3Rpb24oYSl7dmFyIGM9W10sZT12b2lkIDA7YT1hLmZhY2VzO2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgdD1hW2ddO2lmKHQubWF0ZXJpYWxJbmRleCE9PWUpe2U9dC5tYXRlcmlhbEluZGV4O3ZvaWQgMCE9PXYmJih2LmNvdW50PTMqZy12LnN0YXJ0LGMucHVzaCh2KSk7dmFyIHY9e3N0YXJ0OjMqZyxtYXRlcmlhbEluZGV4OmV9fX12b2lkIDAhPT12JiYodi5jb3VudD0zKmctdi5zdGFydCxjLnB1c2godikpO3RoaXMuZ3JvdXBzPWN9LGZyb21HZW9tZXRyeTpmdW5jdGlvbihhKXt2YXIgYz1hLmZhY2VzLGU9YS52ZXJ0aWNlcyxnPWEuZmFjZVZlcnRleFV2cywKdD1nWzBdJiYwPGdbMF0ubGVuZ3RoLHY9Z1sxXSYmMDxnWzFdLmxlbmd0aCx6PWEubW9ycGhUYXJnZXRzLEU9ei5sZW5ndGg7aWYoMDxFKXt2YXIgRj1bXTtmb3IodmFyIEk9MDtJPEU7SSsrKUZbSV09e25hbWU6eltJXS5uYW1lLGRhdGE6W119O3RoaXMubW9ycGhUYXJnZXRzLnBvc2l0aW9uPUZ9dmFyIE09YS5tb3JwaE5vcm1hbHMsUD1NLmxlbmd0aDtpZigwPFApe3ZhciBRPVtdO2ZvcihJPTA7STxQO0krKylRW0ldPXtuYW1lOk1bSV0ubmFtZSxkYXRhOltdfTt0aGlzLm1vcnBoVGFyZ2V0cy5ub3JtYWw9UX12YXIgVT1hLnNraW5JbmRpY2VzLFY9YS5za2luV2VpZ2h0cyxlYT1VLmxlbmd0aD09PWUubGVuZ3RoLGRhPVYubGVuZ3RoPT09ZS5sZW5ndGg7MDxlLmxlbmd0aCYmMD09PWMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5EaXJlY3RHZW9tZXRyeTogRmFjZWxlc3MgZ2VvbWV0cmllcyBhcmUgbm90IHN1cHBvcnRlZC4iKTtmb3IoST0wO0k8Yy5sZW5ndGg7SSsrKXt2YXIgcmE9CmNbSV07dGhpcy52ZXJ0aWNlcy5wdXNoKGVbcmEuYV0sZVtyYS5iXSxlW3JhLmNdKTt2YXIgcGE9cmEudmVydGV4Tm9ybWFsczszPT09cGEubGVuZ3RoP3RoaXMubm9ybWFscy5wdXNoKHBhWzBdLHBhWzFdLHBhWzJdKToocGE9cmEubm9ybWFsLHRoaXMubm9ybWFscy5wdXNoKHBhLHBhLHBhKSk7cGE9cmEudmVydGV4Q29sb3JzOzM9PT1wYS5sZW5ndGg/dGhpcy5jb2xvcnMucHVzaChwYVswXSxwYVsxXSxwYVsyXSk6KHBhPXJhLmNvbG9yLHRoaXMuY29sb3JzLnB1c2gocGEscGEscGEpKTshMD09PXQmJihwYT1nWzBdW0ldLHZvaWQgMCE9PXBhP3RoaXMudXZzLnB1c2gocGFbMF0scGFbMV0scGFbMl0pOihjb25zb2xlLndhcm4oIlRIUkVFLkRpcmVjdEdlb21ldHJ5LmZyb21HZW9tZXRyeSgpOiBVbmRlZmluZWQgdmVydGV4VXYgIixJKSx0aGlzLnV2cy5wdXNoKG5ldyBmLG5ldyBmLG5ldyBmKSkpOyEwPT09diYmKHBhPWdbMV1bSV0sdm9pZCAwIT09cGE/dGhpcy51dnMyLnB1c2gocGFbMF0sCnBhWzFdLHBhWzJdKTooY29uc29sZS53YXJuKCJUSFJFRS5EaXJlY3RHZW9tZXRyeS5mcm9tR2VvbWV0cnkoKTogVW5kZWZpbmVkIHZlcnRleFV2MiAiLEkpLHRoaXMudXZzMi5wdXNoKG5ldyBmLG5ldyBmLG5ldyBmKSkpO2ZvcihwYT0wO3BhPEU7cGErKyl7dmFyIHFhPXpbcGFdLnZlcnRpY2VzO0ZbcGFdLmRhdGEucHVzaChxYVtyYS5hXSxxYVtyYS5iXSxxYVtyYS5jXSl9Zm9yKHBhPTA7cGE8UDtwYSsrKXFhPU1bcGFdLnZlcnRleE5vcm1hbHNbSV0sUVtwYV0uZGF0YS5wdXNoKHFhLmEscWEuYixxYS5jKTtlYSYmdGhpcy5za2luSW5kaWNlcy5wdXNoKFVbcmEuYV0sVVtyYS5iXSxVW3JhLmNdKTtkYSYmdGhpcy5za2luV2VpZ2h0cy5wdXNoKFZbcmEuYV0sVltyYS5iXSxWW3JhLmNdKX10aGlzLmNvbXB1dGVHcm91cHMoYSk7dGhpcy52ZXJ0aWNlc05lZWRVcGRhdGU9YS52ZXJ0aWNlc05lZWRVcGRhdGU7dGhpcy5ub3JtYWxzTmVlZFVwZGF0ZT1hLm5vcm1hbHNOZWVkVXBkYXRlOwp0aGlzLmNvbG9yc05lZWRVcGRhdGU9YS5jb2xvcnNOZWVkVXBkYXRlO3RoaXMudXZzTmVlZFVwZGF0ZT1hLnV2c05lZWRVcGRhdGU7dGhpcy5ncm91cHNOZWVkVXBkYXRlPWEuZ3JvdXBzTmVlZFVwZGF0ZTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9YS5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtudWxsIT09YS5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9YS5ib3VuZGluZ0JveC5jbG9uZSgpKTtyZXR1cm4gdGhpc319KTt2YXIga2w9MSxaYz1uZXcgcSxLaT1uZXcgQSxxaD1uZXcgayxpZT1uZXcgeCxMaT1uZXcgeCxMYz1uZXcgazt2YS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6dmEsaXNCdWZmZXJHZW9tZXRyeTohMCxnZXRJbmRleDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmluZGV4fSxzZXRJbmRleDpmdW5jdGlvbihhKXt0aGlzLmluZGV4PUFycmF5LmlzQXJyYXkoYSk/Cm5ldyAoNjU1MzU8RWEoYSk/amE6WikoYSwxKTphfSxhZGRBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe2lmKCEoYyYmYy5pc0J1ZmZlckF0dHJpYnV0ZXx8YyYmYy5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKSlyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZEF0dHJpYnV0ZSgpIG5vdyBleHBlY3RzICggbmFtZSwgYXR0cmlidXRlICkuIiksdGhpcy5hZGRBdHRyaWJ1dGUoYSxuZXcgUihjLGUpKTtpZigiaW5kZXgiPT09YSlyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5hZGRBdHRyaWJ1dGU6IFVzZSAuc2V0SW5kZXgoKSBmb3IgaW5kZXggYXR0cmlidXRlLiIpLHRoaXMuc2V0SW5kZXgoYyksdGhpczt0aGlzLmF0dHJpYnV0ZXNbYV09YztyZXR1cm4gdGhpc30sZ2V0QXR0cmlidXRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXNbYV19LHJlbW92ZUF0dHJpYnV0ZTpmdW5jdGlvbihhKXtkZWxldGUgdGhpcy5hdHRyaWJ1dGVzW2FdOwpyZXR1cm4gdGhpc30sYWRkR3JvdXA6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuZ3JvdXBzLnB1c2goe3N0YXJ0OmEsY291bnQ6YyxtYXRlcmlhbEluZGV4OnZvaWQgMCE9PWU/ZTowfSl9LGNsZWFyR3JvdXBzOmZ1bmN0aW9uKCl7dGhpcy5ncm91cHM9W119LHNldERyYXdSYW5nZTpmdW5jdGlvbihhLGMpe3RoaXMuZHJhd1JhbmdlLnN0YXJ0PWE7dGhpcy5kcmF3UmFuZ2UuY291bnQ9Y30sYXBwbHlNYXRyaXg6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZvaWQgMCE9PWMmJihhLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoYyksYy5uZWVkc1VwZGF0ZT0hMCk7dmFyIGU9dGhpcy5hdHRyaWJ1dGVzLm5vcm1hbDt2b2lkIDAhPT1lJiYoYz0obmV3IHIpLmdldE5vcm1hbE1hdHJpeChhKSxjLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoZSksZS5uZWVkc1VwZGF0ZT0hMCk7ZT10aGlzLmF0dHJpYnV0ZXMudGFuZ2VudDt2b2lkIDAhPT1lJiYoYz0obmV3IHIpLmdldE5vcm1hbE1hdHJpeChhKSwKYy5hcHBseVRvQnVmZmVyQXR0cmlidXRlKGUpLGUubmVlZHNVcGRhdGU9ITApO251bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpO251bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3JldHVybiB0aGlzfSxyb3RhdGVYOmZ1bmN0aW9uKGEpe1pjLm1ha2VSb3RhdGlvblgoYSk7dGhpcy5hcHBseU1hdHJpeChaYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7WmMubWFrZVJvdGF0aW9uWShhKTt0aGlzLmFwcGx5TWF0cml4KFpjKTtyZXR1cm4gdGhpc30scm90YXRlWjpmdW5jdGlvbihhKXtaYy5tYWtlUm90YXRpb25aKGEpO3RoaXMuYXBwbHlNYXRyaXgoWmMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSxjLGUpe1pjLm1ha2VUcmFuc2xhdGlvbihhLGMsZSk7dGhpcy5hcHBseU1hdHJpeChaYyk7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEsYyxlKXtaYy5tYWtlU2NhbGUoYSwKYyxlKTt0aGlzLmFwcGx5TWF0cml4KFpjKTtyZXR1cm4gdGhpc30sbG9va0F0OmZ1bmN0aW9uKGEpe0tpLmxvb2tBdChhKTtLaS51cGRhdGVNYXRyaXgoKTt0aGlzLmFwcGx5TWF0cml4KEtpLm1hdHJpeCk7cmV0dXJuIHRoaXN9LGNlbnRlcjpmdW5jdGlvbigpe3RoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCk7dGhpcy5ib3VuZGluZ0JveC5nZXRDZW50ZXIocWgpLm5lZ2F0ZSgpO3RoaXMudHJhbnNsYXRlKHFoLngscWgueSxxaC56KTtyZXR1cm4gdGhpc30sc2V0RnJvbU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYz1hLmdlb21ldHJ5O2lmKGEuaXNQb2ludHN8fGEuaXNMaW5lKXthPW5ldyBiYSgzKmMudmVydGljZXMubGVuZ3RoLDMpO3ZhciBlPW5ldyBiYSgzKmMuY29sb3JzLmxlbmd0aCwzKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGEuY29weVZlY3RvcjNzQXJyYXkoYy52ZXJ0aWNlcykpO3RoaXMuYWRkQXR0cmlidXRlKCJjb2xvciIsZS5jb3B5Q29sb3JzQXJyYXkoYy5jb2xvcnMpKTsKYy5saW5lRGlzdGFuY2VzJiZjLmxpbmVEaXN0YW5jZXMubGVuZ3RoPT09Yy52ZXJ0aWNlcy5sZW5ndGgmJihhPW5ldyBiYShjLmxpbmVEaXN0YW5jZXMubGVuZ3RoLDEpLHRoaXMuYWRkQXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLGEuY29weUFycmF5KGMubGluZURpc3RhbmNlcykpKTtudWxsIT09Yy5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9Yy5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtudWxsIT09Yy5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9Yy5ib3VuZGluZ0JveC5jbG9uZSgpKX1lbHNlIGEuaXNNZXNoJiZjJiZjLmlzR2VvbWV0cnkmJnRoaXMuZnJvbUdlb21ldHJ5KGMpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD1hW2VdO2MucHVzaCh0LngsdC55LHQuenx8MCl9dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoYywzKSk7CnJldHVybiB0aGlzfSx1cGRhdGVGcm9tT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBjPWEuZ2VvbWV0cnk7aWYoYS5pc01lc2gpe3ZhciBlPWMuX19kaXJlY3RHZW9tZXRyeTshMD09PWMuZWxlbWVudHNOZWVkVXBkYXRlJiYoZT12b2lkIDAsYy5lbGVtZW50c05lZWRVcGRhdGU9ITEpO2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXMuZnJvbUdlb21ldHJ5KGMpO2UudmVydGljZXNOZWVkVXBkYXRlPWMudmVydGljZXNOZWVkVXBkYXRlO2Uubm9ybWFsc05lZWRVcGRhdGU9Yy5ub3JtYWxzTmVlZFVwZGF0ZTtlLmNvbG9yc05lZWRVcGRhdGU9Yy5jb2xvcnNOZWVkVXBkYXRlO2UudXZzTmVlZFVwZGF0ZT1jLnV2c05lZWRVcGRhdGU7ZS5ncm91cHNOZWVkVXBkYXRlPWMuZ3JvdXBzTmVlZFVwZGF0ZTtjLnZlcnRpY2VzTmVlZFVwZGF0ZT0hMTtjLm5vcm1hbHNOZWVkVXBkYXRlPSExO2MuY29sb3JzTmVlZFVwZGF0ZT0hMTtjLnV2c05lZWRVcGRhdGU9ITE7Yy5ncm91cHNOZWVkVXBkYXRlPSExOwpjPWV9ITA9PT1jLnZlcnRpY2VzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLHZvaWQgMCE9PWUmJihlLmNvcHlWZWN0b3Izc0FycmF5KGMudmVydGljZXMpLGUubmVlZHNVcGRhdGU9ITApLGMudmVydGljZXNOZWVkVXBkYXRlPSExKTshMD09PWMubm9ybWFsc05lZWRVcGRhdGUmJihlPXRoaXMuYXR0cmlidXRlcy5ub3JtYWwsdm9pZCAwIT09ZSYmKGUuY29weVZlY3RvcjNzQXJyYXkoYy5ub3JtYWxzKSxlLm5lZWRzVXBkYXRlPSEwKSxjLm5vcm1hbHNOZWVkVXBkYXRlPSExKTshMD09PWMuY29sb3JzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLmNvbG9yLHZvaWQgMCE9PWUmJihlLmNvcHlDb2xvcnNBcnJheShjLmNvbG9ycyksZS5uZWVkc1VwZGF0ZT0hMCksYy5jb2xvcnNOZWVkVXBkYXRlPSExKTtjLnV2c05lZWRVcGRhdGUmJihlPXRoaXMuYXR0cmlidXRlcy51dix2b2lkIDAhPT1lJiYoZS5jb3B5VmVjdG9yMnNBcnJheShjLnV2cyksZS5uZWVkc1VwZGF0ZT0KITApLGMudXZzTmVlZFVwZGF0ZT0hMSk7Yy5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLmxpbmVEaXN0YW5jZSx2b2lkIDAhPT1lJiYoZS5jb3B5QXJyYXkoYy5saW5lRGlzdGFuY2VzKSxlLm5lZWRzVXBkYXRlPSEwKSxjLmxpbmVEaXN0YW5jZXNOZWVkVXBkYXRlPSExKTtjLmdyb3Vwc05lZWRVcGRhdGUmJihjLmNvbXB1dGVHcm91cHMoYS5nZW9tZXRyeSksdGhpcy5ncm91cHM9Yy5ncm91cHMsYy5ncm91cHNOZWVkVXBkYXRlPSExKTtyZXR1cm4gdGhpc30sZnJvbUdlb21ldHJ5OmZ1bmN0aW9uKGEpe2EuX19kaXJlY3RHZW9tZXRyeT0obmV3IFcpLmZyb21HZW9tZXRyeShhKTtyZXR1cm4gdGhpcy5mcm9tRGlyZWN0R2VvbWV0cnkoYS5fX2RpcmVjdEdlb21ldHJ5KX0sZnJvbURpcmVjdEdlb21ldHJ5OmZ1bmN0aW9uKGEpe3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsKG5ldyBSKG5ldyBGbG9hdDMyQXJyYXkoMyphLnZlcnRpY2VzLmxlbmd0aCksCjMpKS5jb3B5VmVjdG9yM3NBcnJheShhLnZlcnRpY2VzKSk7MDxhLm5vcm1hbHMubGVuZ3RoJiZ0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIiwobmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmEubm9ybWFscy5sZW5ndGgpLDMpKS5jb3B5VmVjdG9yM3NBcnJheShhLm5vcm1hbHMpKTswPGEuY29sb3JzLmxlbmd0aCYmdGhpcy5hZGRBdHRyaWJ1dGUoImNvbG9yIiwobmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmEuY29sb3JzLmxlbmd0aCksMykpLmNvcHlDb2xvcnNBcnJheShhLmNvbG9ycykpOzA8YS51dnMubGVuZ3RoJiZ0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLChuZXcgUihuZXcgRmxvYXQzMkFycmF5KDIqYS51dnMubGVuZ3RoKSwyKSkuY29weVZlY3RvcjJzQXJyYXkoYS51dnMpKTswPGEudXZzMi5sZW5ndGgmJnRoaXMuYWRkQXR0cmlidXRlKCJ1djIiLChuZXcgUihuZXcgRmxvYXQzMkFycmF5KDIqYS51dnMyLmxlbmd0aCksMikpLmNvcHlWZWN0b3Iyc0FycmF5KGEudXZzMikpOwp0aGlzLmdyb3Vwcz1hLmdyb3Vwcztmb3IodmFyIGMgaW4gYS5tb3JwaFRhcmdldHMpe2Zvcih2YXIgZT1bXSxnPWEubW9ycGhUYXJnZXRzW2NdLHQ9MCx2PWcubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWdbdF0sRT1uZXcgYmEoMyp6LmRhdGEubGVuZ3RoLDMpO0UubmFtZT16Lm5hbWU7ZS5wdXNoKEUuY29weVZlY3RvcjNzQXJyYXkoei5kYXRhKSl9dGhpcy5tb3JwaEF0dHJpYnV0ZXNbY109ZX0wPGEuc2tpbkluZGljZXMubGVuZ3RoJiYoYz1uZXcgYmEoNCphLnNraW5JbmRpY2VzLmxlbmd0aCw0KSx0aGlzLmFkZEF0dHJpYnV0ZSgic2tpbkluZGV4IixjLmNvcHlWZWN0b3I0c0FycmF5KGEuc2tpbkluZGljZXMpKSk7MDxhLnNraW5XZWlnaHRzLmxlbmd0aCYmKGM9bmV3IGJhKDQqYS5za2luV2VpZ2h0cy5sZW5ndGgsNCksdGhpcy5hZGRBdHRyaWJ1dGUoInNraW5XZWlnaHQiLGMuY29weVZlY3RvcjRzQXJyYXkoYS5za2luV2VpZ2h0cykpKTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmCih0aGlzLmJvdW5kaW5nU3BoZXJlPWEuYm91bmRpbmdTcGhlcmUuY2xvbmUoKSk7bnVsbCE9PWEuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PWEuYm91bmRpbmdCb3guY2xvbmUoKSk7cmV0dXJuIHRoaXN9LGNvbXB1dGVCb3VuZGluZ0JveDpmdW5jdGlvbigpe251bGw9PT10aGlzLmJvdW5kaW5nQm94JiYodGhpcy5ib3VuZGluZ0JveD1uZXcgeCk7dmFyIGE9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGM9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodm9pZCAwIT09YSl7aWYodGhpcy5ib3VuZGluZ0JveC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGEpLGMpe2E9MDtmb3IodmFyIGU9Yy5sZW5ndGg7YTxlO2ErKylpZS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGNbYV0pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChpZS5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChpZS5tYXgpfX1lbHNlIHRoaXMuYm91bmRpbmdCb3gubWFrZUVtcHR5KCk7Cihpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi54KXx8aXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueSl8fGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLnopKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nQm94OiBDb21wdXRlZCBtaW4vbWF4IGhhdmUgTmFOIHZhbHVlcy4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX0sY29tcHV0ZUJvdW5kaW5nU3BoZXJlOmZ1bmN0aW9uKCl7bnVsbD09PXRoaXMuYm91bmRpbmdTcGhlcmUmJih0aGlzLmJvdW5kaW5nU3BoZXJlPW5ldyBHKTt2YXIgYT10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sYz10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZihhKXt2YXIgZT10aGlzLmJvdW5kaW5nU3BoZXJlLmNlbnRlcjtpZS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGEpO2lmKGMpZm9yKHZhciBnPTAsdD1jLmxlbmd0aDtnPHQ7ZysrKXt2YXIgdj0KY1tnXTtMaS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHYpO2llLmV4cGFuZEJ5UG9pbnQoTGkubWluKTtpZS5leHBhbmRCeVBvaW50KExpLm1heCl9aWUuZ2V0Q2VudGVyKGUpO3ZhciB6PTA7Zz0wO2Zvcih0PWEuY291bnQ7Zzx0O2crKylMYy5mcm9tQnVmZmVyQXR0cmlidXRlKGEsZyksej1NYXRoLm1heCh6LGUuZGlzdGFuY2VUb1NxdWFyZWQoTGMpKTtpZihjKWZvcihnPTAsdD1jLmxlbmd0aDtnPHQ7ZysrKXt2PWNbZ107YT0wO2Zvcih2YXIgRT12LmNvdW50O2E8RTthKyspTGMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh2LGEpLHo9TWF0aC5tYXgoeixlLmRpc3RhbmNlVG9TcXVhcmVkKExjKSl9dGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXM9TWF0aC5zcXJ0KHopO2lzTmFOKHRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCk6IENvbXB1dGVkIHJhZGl1cyBpcyBOYU4uIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsCnRoaXMpfX0sY29tcHV0ZUZhY2VOb3JtYWxzOmZ1bmN0aW9uKCl7fSxjb21wdXRlVmVydGV4Tm9ybWFsczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuaW5kZXgsYz10aGlzLmF0dHJpYnV0ZXM7aWYoYy5wb3NpdGlvbil7dmFyIGU9Yy5wb3NpdGlvbi5hcnJheTtpZih2b2lkIDA9PT1jLm5vcm1hbCl0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgUihuZXcgRmxvYXQzMkFycmF5KGUubGVuZ3RoKSwzKSk7ZWxzZSBmb3IodmFyIGc9Yy5ub3JtYWwuYXJyYXksdD0wLHY9Zy5sZW5ndGg7dDx2O3QrKylnW3RdPTA7Zz1jLm5vcm1hbC5hcnJheTt2YXIgej1uZXcgayxFPW5ldyBrLEY9bmV3IGssST1uZXcgayxNPW5ldyBrO2lmKGEpe3ZhciBQPWEuYXJyYXk7dD0wO2Zvcih2PWEuY291bnQ7dDx2O3QrPTMpe2E9MypQW3QrMF07dmFyIFE9MypQW3QrMV07dmFyIFU9MypQW3QrMl07ei5mcm9tQXJyYXkoZSxhKTtFLmZyb21BcnJheShlLFEpO0YuZnJvbUFycmF5KGUsVSk7SS5zdWJWZWN0b3JzKEYsCkUpO00uc3ViVmVjdG9ycyh6LEUpO0kuY3Jvc3MoTSk7Z1thXSs9SS54O2dbYSsxXSs9SS55O2dbYSsyXSs9SS56O2dbUV0rPUkueDtnW1ErMV0rPUkueTtnW1ErMl0rPUkuejtnW1VdKz1JLng7Z1tVKzFdKz1JLnk7Z1tVKzJdKz1JLnp9fWVsc2UgZm9yKHQ9MCx2PWUubGVuZ3RoO3Q8djt0Kz05KXouZnJvbUFycmF5KGUsdCksRS5mcm9tQXJyYXkoZSx0KzMpLEYuZnJvbUFycmF5KGUsdCs2KSxJLnN1YlZlY3RvcnMoRixFKSxNLnN1YlZlY3RvcnMoeixFKSxJLmNyb3NzKE0pLGdbdF09SS54LGdbdCsxXT1JLnksZ1t0KzJdPUkueixnW3QrM109SS54LGdbdCs0XT1JLnksZ1t0KzVdPUkueixnW3QrNl09SS54LGdbdCs3XT1JLnksZ1t0KzhdPUkuejt0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKTtjLm5vcm1hbC5uZWVkc1VwZGF0ZT0hMH19LG1lcmdlOmZ1bmN0aW9uKGEsYyl7aWYoYSYmYS5pc0J1ZmZlckdlb21ldHJ5KXt2b2lkIDA9PT1jJiYoYz0wLGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogT3ZlcndyaXRpbmcgb3JpZ2luYWwgZ2VvbWV0cnksIHN0YXJ0aW5nIGF0IG9mZnNldFx4M2QwLiBVc2UgQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoKSBmb3IgbG9zc2xlc3MgbWVyZ2UuIikpOwp2YXIgZT10aGlzLmF0dHJpYnV0ZXMsZztmb3IoZyBpbiBlKWlmKHZvaWQgMCE9PWEuYXR0cmlidXRlc1tnXSl7dmFyIHQ9ZVtnXS5hcnJheSx2PWEuYXR0cmlidXRlc1tnXSx6PXYuYXJyYXksRT12Lml0ZW1TaXplKmM7dj1NYXRoLm1pbih6Lmxlbmd0aCx0Lmxlbmd0aC1FKTtmb3IodmFyIEY9MDtGPHY7RisrLEUrKyl0W0VdPXpbRl19cmV0dXJuIHRoaXN9Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogZ2VvbWV0cnkgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkJ1ZmZlckdlb21ldHJ5LiIsYSl9LG5vcm1hbGl6ZU5vcm1hbHM6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5hdHRyaWJ1dGVzLm5vcm1hbCxjPTAsZT1hLmNvdW50O2M8ZTtjKyspTGMueD1hLmdldFgoYyksTGMueT1hLmdldFkoYyksTGMuej1hLmdldFooYyksTGMubm9ybWFsaXplKCksYS5zZXRYWVooYyxMYy54LExjLnksTGMueil9LHRvTm9uSW5kZXhlZDpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoTSwKUCl7dmFyIFE9TS5hcnJheTtNPU0uaXRlbVNpemU7Zm9yKHZhciBVPW5ldyBRLmNvbnN0cnVjdG9yKFAubGVuZ3RoKk0pLFYsZWE9MCxkYT0wLHJhPVAubGVuZ3RoO2RhPHJhO2RhKyspe1Y9UFtkYV0qTTtmb3IodmFyIHBhPTA7cGE8TTtwYSsrKVVbZWErK109UVtWKytdfXJldHVybiBuZXcgUihVLE0pfWlmKG51bGw9PT10aGlzLmluZGV4KXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5LnRvTm9uSW5kZXhlZCgpOiBHZW9tZXRyeSBpcyBhbHJlYWR5IG5vbi1pbmRleGVkLiIpLHRoaXM7dmFyIGM9bmV3IHZhLGU9dGhpcy5pbmRleC5hcnJheSxnPXRoaXMuYXR0cmlidXRlcyx0O2Zvcih0IGluIGcpe3ZhciB2PWdbdF07dj1hKHYsZSk7Yy5hZGRBdHRyaWJ1dGUodCx2KX12YXIgej10aGlzLm1vcnBoQXR0cmlidXRlcztmb3IodCBpbiB6KXt2YXIgRT1bXSxGPXpbdF07Zz0wO2Zvcih2YXIgST1GLmxlbmd0aDtnPEk7ZysrKXY9RltnXSx2PWEodixlKSxFLnB1c2godik7CmMubW9ycGhBdHRyaWJ1dGVzW3RdPUV9ZT10aGlzLmdyb3VwcztnPTA7Zm9yKHQ9ZS5sZW5ndGg7Zzx0O2crKyl2PWVbZ10sYy5hZGRHcm91cCh2LnN0YXJ0LHYuY291bnQsdi5tYXRlcmlhbEluZGV4KTtyZXR1cm4gY30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJCdWZmZXJHZW9tZXRyeSIsZ2VuZXJhdG9yOiJCdWZmZXJHZW9tZXRyeS50b0pTT04ifX07YS51dWlkPXRoaXMudXVpZDthLnR5cGU9dGhpcy50eXBlOyIiIT09dGhpcy5uYW1lJiYoYS5uYW1lPXRoaXMubmFtZSk7MDxPYmplY3Qua2V5cyh0aGlzLnVzZXJEYXRhKS5sZW5ndGgmJihhLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO2lmKHZvaWQgMCE9PXRoaXMucGFyYW1ldGVycyl7dmFyIGM9dGhpcy5wYXJhbWV0ZXJzO2ZvcihJIGluIGMpdm9pZCAwIT09Y1tJXSYmKGFbSV09Y1tJXSk7cmV0dXJuIGF9YS5kYXRhPXthdHRyaWJ1dGVzOnt9fTtjPXRoaXMuaW5kZXg7bnVsbCE9PQpjJiYoYS5kYXRhLmluZGV4PXt0eXBlOmMuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjLmFycmF5KX0pO3ZhciBlPXRoaXMuYXR0cmlidXRlcztmb3IoSSBpbiBlKXtjPWVbSV07dmFyIGc9Yy50b0pTT04oKTsiIiE9PWMubmFtZSYmKGcubmFtZT1jLm5hbWUpO2EuZGF0YS5hdHRyaWJ1dGVzW0ldPWd9ZT17fTt2YXIgdD0hMTtmb3IoSSBpbiB0aGlzLm1vcnBoQXR0cmlidXRlcyl7Zm9yKHZhciB2PXRoaXMubW9ycGhBdHRyaWJ1dGVzW0ldLHo9W10sRT0wLEY9di5sZW5ndGg7RTxGO0UrKyljPXZbRV0sZz1jLnRvSlNPTigpLCIiIT09Yy5uYW1lJiYoZy5uYW1lPWMubmFtZSksei5wdXNoKGcpOzA8ei5sZW5ndGgmJihlW0ldPXosdD0hMCl9dCYmKGEuZGF0YS5tb3JwaEF0dHJpYnV0ZXM9ZSk7dmFyIEk9dGhpcy5ncm91cHM7MDxJLmxlbmd0aCYmKGEuZGF0YS5ncm91cHM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShJKSkpO0k9CnRoaXMuYm91bmRpbmdTcGhlcmU7bnVsbCE9PUkmJihhLmRhdGEuYm91bmRpbmdTcGhlcmU9e2NlbnRlcjpJLmNlbnRlci50b0FycmF5KCkscmFkaXVzOkkucmFkaXVzfSk7cmV0dXJuIGF9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB2YSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt2YXIgYzt0aGlzLmluZGV4PW51bGw7dGhpcy5hdHRyaWJ1dGVzPXt9O3RoaXMubW9ycGhBdHRyaWJ1dGVzPXt9O3RoaXMuZ3JvdXBzPVtdO3RoaXMuYm91bmRpbmdTcGhlcmU9dGhpcy5ib3VuZGluZ0JveD1udWxsO3RoaXMubmFtZT1hLm5hbWU7dmFyIGU9YS5pbmRleDtudWxsIT09ZSYmdGhpcy5zZXRJbmRleChlLmNsb25lKCkpO2U9YS5hdHRyaWJ1dGVzO2Zvcih6IGluIGUpdGhpcy5hZGRBdHRyaWJ1dGUoeixlW3pdLmNsb25lKCkpO3ZhciBnPWEubW9ycGhBdHRyaWJ1dGVzO2Zvcih6IGluIGcpe3ZhciB0PVtdLHY9Z1t6XTtlPTA7Zm9yKGM9di5sZW5ndGg7ZTxjO2UrKyl0LnB1c2godltlXS5jbG9uZSgpKTsKdGhpcy5tb3JwaEF0dHJpYnV0ZXNbel09dH12YXIgej1hLmdyb3VwcztlPTA7Zm9yKGM9ei5sZW5ndGg7ZTxjO2UrKylnPXpbZV0sdGhpcy5hZGRHcm91cChnLnN0YXJ0LGcuY291bnQsZy5tYXRlcmlhbEluZGV4KTt6PWEuYm91bmRpbmdCb3g7bnVsbCE9PXomJih0aGlzLmJvdW5kaW5nQm94PXouY2xvbmUoKSk7ej1hLmJvdW5kaW5nU3BoZXJlO251bGwhPT16JiYodGhpcy5ib3VuZGluZ1NwaGVyZT16LmNsb25lKCkpO3RoaXMuZHJhd1JhbmdlLnN0YXJ0PWEuZHJhd1JhbmdlLnN0YXJ0O3RoaXMuZHJhd1JhbmdlLmNvdW50PWEuZHJhd1JhbmdlLmNvdW50O3RoaXMudXNlckRhdGE9YS51c2VyRGF0YTtyZXR1cm4gdGhpc30sZGlzcG9zZTpmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19KTt2YXIgc2s9bmV3IHEsamU9bmV3IEQsTWk9bmV3IEcsTmQ9bmV3IGssT2Q9bmV3IGssUGQ9bmV3IGssaWo9bmV3IGssamo9bmV3IGssa2o9bmV3IGssTmg9Cm5ldyBrLE9oPW5ldyBrLFBoPW5ldyBrLHFlPW5ldyBmLHJlPW5ldyBmLHNlPW5ldyBmLHVmPW5ldyBrLHZnPW5ldyBrO3lhLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp5YSxpc01lc2g6ITAsc2V0RHJhd01vZGU6ZnVuY3Rpb24oYSl7dGhpcy5kcmF3TW9kZT1hfSxjb3B5OmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZHJhd01vZGU9YS5kcmF3TW9kZTt2b2lkIDAhPT1hLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyYmKHRoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPWEubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnNsaWNlKCkpO3ZvaWQgMCE9PWEubW9ycGhUYXJnZXREaWN0aW9uYXJ5JiYodGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9T2JqZWN0LmFzc2lnbih7fSxhLm1vcnBoVGFyZ2V0RGljdGlvbmFyeSkpO3JldHVybiB0aGlzfSx1cGRhdGVNb3JwaFRhcmdldHM6ZnVuY3Rpb24oKXt2YXIgYT0KdGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpe2E9YS5tb3JwaEF0dHJpYnV0ZXM7dmFyIGM9T2JqZWN0LmtleXMoYSk7aWYoMDxjLmxlbmd0aCl7dmFyIGU9YVtjWzBdXTtpZih2b2lkIDAhPT1lKWZvcih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT17fSxhPTAsYz1lLmxlbmd0aDthPGM7YSsrKXt2YXIgZz1lW2FdLm5hbWV8fFN0cmluZyhhKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApO3RoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W2ddPWF9fX1lbHNlIGE9YS5tb3JwaFRhcmdldHMsdm9pZCAwIT09YSYmMDxhLmxlbmd0aCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaC51cGRhdGVNb3JwaFRhcmdldHMoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfSxyYXljYXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5nZW9tZXRyeSwKZz10aGlzLm1hdGVyaWFsLHQ9dGhpcy5tYXRyaXhXb3JsZDtpZih2b2lkIDAhPT1nJiYobnVsbD09PWUuYm91bmRpbmdTcGhlcmUmJmUuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksTWkuY29weShlLmJvdW5kaW5nU3BoZXJlKSxNaS5hcHBseU1hdHJpeDQodCksITEhPT1hLnJheS5pbnRlcnNlY3RzU3BoZXJlKE1pKSYmKHNrLmdldEludmVyc2UodCksamUuY29weShhLnJheSkuYXBwbHlNYXRyaXg0KHNrKSxudWxsPT09ZS5ib3VuZGluZ0JveHx8ITEhPT1qZS5pbnRlcnNlY3RzQm94KGUuYm91bmRpbmdCb3gpKSkpaWYoZS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgdj1lLmluZGV4O3Q9ZS5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZhciB6PWUubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uLEU9ZS5hdHRyaWJ1dGVzLnV2LEY9ZS5hdHRyaWJ1dGVzLnV2MixJPWUuZ3JvdXBzLE09ZS5kcmF3UmFuZ2UsUCxRO2lmKG51bGwhPT12KWlmKEFycmF5LmlzQXJyYXkoZykpe3ZhciBVPTA7Zm9yKFA9SS5sZW5ndGg7VTwKUDtVKyspe3ZhciBWPUlbVV07dmFyIGVhPWdbVi5tYXRlcmlhbEluZGV4XTt2YXIgZGE9TWF0aC5tYXgoVi5zdGFydCxNLnN0YXJ0KTtmb3IoUT1lPU1hdGgubWluKFYuc3RhcnQrVi5jb3VudCxNLnN0YXJ0K00uY291bnQpO2RhPFE7ZGErPTMpe2U9di5nZXRYKGRhKTt2YXIgcmE9di5nZXRYKGRhKzEpO3ZhciBwYT12LmdldFgoZGErMik7aWYoZT1GYSh0aGlzLGVhLGEsamUsdCx6LEUsRixlLHJhLHBhKSllLmZhY2VJbmRleD1NYXRoLmZsb29yKGRhLzMpLGUuZmFjZS5tYXRlcmlhbEluZGV4PVYubWF0ZXJpYWxJbmRleCxjLnB1c2goZSl9fX1lbHNlIGZvcihkYT1NYXRoLm1heCgwLE0uc3RhcnQpLGU9TWF0aC5taW4odi5jb3VudCxNLnN0YXJ0K00uY291bnQpLFU9ZGEsUD1lO1U8UDtVKz0zKXtpZihlPXYuZ2V0WChVKSxyYT12LmdldFgoVSsxKSxwYT12LmdldFgoVSsyKSxlPUZhKHRoaXMsZyxhLGplLHQseixFLEYsZSxyYSxwYSkpZS5mYWNlSW5kZXg9TWF0aC5mbG9vcihVLzMpLApjLnB1c2goZSl9ZWxzZSBpZih2b2lkIDAhPT10KWlmKEFycmF5LmlzQXJyYXkoZykpZm9yKFU9MCxQPUkubGVuZ3RoO1U8UDtVKyspZm9yKFY9SVtVXSxlYT1nW1YubWF0ZXJpYWxJbmRleF0sZGE9TWF0aC5tYXgoVi5zdGFydCxNLnN0YXJ0KSxRPWU9TWF0aC5taW4oVi5zdGFydCtWLmNvdW50LE0uc3RhcnQrTS5jb3VudCk7ZGE8UTtkYSs9Myl7aWYoZT1kYSxyYT1kYSsxLHBhPWRhKzIsZT1GYSh0aGlzLGVhLGEsamUsdCx6LEUsRixlLHJhLHBhKSllLmZhY2VJbmRleD1NYXRoLmZsb29yKGRhLzMpLGUuZmFjZS5tYXRlcmlhbEluZGV4PVYubWF0ZXJpYWxJbmRleCxjLnB1c2goZSl9ZWxzZSBmb3IoZGE9TWF0aC5tYXgoMCxNLnN0YXJ0KSxlPU1hdGgubWluKHQuY291bnQsTS5zdGFydCtNLmNvdW50KSxVPWRhLFA9ZTtVPFA7VSs9MylpZihlPVUscmE9VSsxLHBhPVUrMixlPUZhKHRoaXMsZyxhLGplLHQseixFLEYsZSxyYSxwYSkpZS5mYWNlSW5kZXg9TWF0aC5mbG9vcihVLzMpLGMucHVzaChlKX1lbHNlIGlmKGUuaXNHZW9tZXRyeSlmb3IodD0KQXJyYXkuaXNBcnJheShnKSx6PWUudmVydGljZXMsRT1lLmZhY2VzLGU9ZS5mYWNlVmVydGV4VXZzWzBdLDA8ZS5sZW5ndGgmJih2PWUpLFU9MCxQPUUubGVuZ3RoO1U8UDtVKyspaWYoVj1FW1VdLGU9dD9nW1YubWF0ZXJpYWxJbmRleF06Zyx2b2lkIDAhPT1lJiYoRj16W1YuYV0sST16W1YuYl0sTT16W1YuY10sZT1BYSh0aGlzLGUsYSxqZSxGLEksTSx1ZikpKXYmJnZbVV0mJihlYT12W1VdLHFlLmNvcHkoZWFbMF0pLHJlLmNvcHkoZWFbMV0pLHNlLmNvcHkoZWFbMl0pLGUudXY9Qi5nZXRVVih1ZixGLEksTSxxZSxyZSxzZSxuZXcgZikpLGUuZmFjZT1WLGUuZmFjZUluZGV4PVUsYy5wdXNoKGUpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLmdlb21ldHJ5LHRoaXMubWF0ZXJpYWwpKS5jb3B5KHRoaXMpfX0pO3ZhciBsbD0wLCRjPW5ldyBxLE5pPW5ldyBBLHJoPW5ldyBrO3hhLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6eGEsaXNHZW9tZXRyeTohMCxhcHBseU1hdHJpeDpmdW5jdGlvbihhKXtmb3IodmFyIGM9KG5ldyByKS5nZXROb3JtYWxNYXRyaXgoYSksZT0wLGc9dGhpcy52ZXJ0aWNlcy5sZW5ndGg7ZTxnO2UrKyl0aGlzLnZlcnRpY2VzW2VdLmFwcGx5TWF0cml4NChhKTtlPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7ZTxnO2UrKyl7YT10aGlzLmZhY2VzW2VdO2Eubm9ybWFsLmFwcGx5TWF0cml4MyhjKS5ub3JtYWxpemUoKTtmb3IodmFyIHQ9MCx2PWEudmVydGV4Tm9ybWFscy5sZW5ndGg7dDx2O3QrKylhLnZlcnRleE5vcm1hbHNbdF0uYXBwbHlNYXRyaXgzKGMpLm5vcm1hbGl6ZSgpfW51bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpO251bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3RoaXMubm9ybWFsc05lZWRVcGRhdGU9dGhpcy52ZXJ0aWNlc05lZWRVcGRhdGU9ITA7cmV0dXJuIHRoaXN9LApyb3RhdGVYOmZ1bmN0aW9uKGEpeyRjLm1ha2VSb3RhdGlvblgoYSk7dGhpcy5hcHBseU1hdHJpeCgkYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7JGMubWFrZVJvdGF0aW9uWShhKTt0aGlzLmFwcGx5TWF0cml4KCRjKTtyZXR1cm4gdGhpc30scm90YXRlWjpmdW5jdGlvbihhKXskYy5tYWtlUm90YXRpb25aKGEpO3RoaXMuYXBwbHlNYXRyaXgoJGMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSxjLGUpeyRjLm1ha2VUcmFuc2xhdGlvbihhLGMsZSk7dGhpcy5hcHBseU1hdHJpeCgkYyk7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEsYyxlKXskYy5tYWtlU2NhbGUoYSxjLGUpO3RoaXMuYXBwbHlNYXRyaXgoJGMpO3JldHVybiB0aGlzfSxsb29rQXQ6ZnVuY3Rpb24oYSl7TmkubG9va0F0KGEpO05pLnVwZGF0ZU1hdHJpeCgpO3RoaXMuYXBwbHlNYXRyaXgoTmkubWF0cml4KTtyZXR1cm4gdGhpc30sZnJvbUJ1ZmZlckdlb21ldHJ5OmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoVSwKVixlYSxkYSl7dmFyIHJhPXZvaWQgMD09PUU/W106W2UuY29sb3JzW1VdLmNsb25lKCksZS5jb2xvcnNbVl0uY2xvbmUoKSxlLmNvbG9yc1tlYV0uY2xvbmUoKV0scGE9dm9pZCAwPT09ej9bXTpbKG5ldyBrKS5mcm9tQXJyYXkoeiwzKlUpLChuZXcgaykuZnJvbUFycmF5KHosMypWKSwobmV3IGspLmZyb21BcnJheSh6LDMqZWEpXTtkYT1uZXcgTyhVLFYsZWEscGEscmEsZGEpO2UuZmFjZXMucHVzaChkYSk7dm9pZCAwIT09RiYmZS5mYWNlVmVydGV4VXZzWzBdLnB1c2goWyhuZXcgZikuZnJvbUFycmF5KEYsMipVKSwobmV3IGYpLmZyb21BcnJheShGLDIqViksKG5ldyBmKS5mcm9tQXJyYXkoRiwyKmVhKV0pO3ZvaWQgMCE9PUkmJmUuZmFjZVZlcnRleFV2c1sxXS5wdXNoKFsobmV3IGYpLmZyb21BcnJheShJLDIqVSksKG5ldyBmKS5mcm9tQXJyYXkoSSwyKlYpLChuZXcgZikuZnJvbUFycmF5KEksMiplYSldKX12YXIgZT10aGlzLGc9bnVsbCE9PWEuaW5kZXg/YS5pbmRleC5hcnJheToKdm9pZCAwLHQ9YS5hdHRyaWJ1dGVzLHY9dC5wb3NpdGlvbi5hcnJheSx6PXZvaWQgMCE9PXQubm9ybWFsP3Qubm9ybWFsLmFycmF5OnZvaWQgMCxFPXZvaWQgMCE9PXQuY29sb3I/dC5jb2xvci5hcnJheTp2b2lkIDAsRj12b2lkIDAhPT10LnV2P3QudXYuYXJyYXk6dm9pZCAwLEk9dm9pZCAwIT09dC51djI/dC51djIuYXJyYXk6dm9pZCAwO3ZvaWQgMCE9PUkmJih0aGlzLmZhY2VWZXJ0ZXhVdnNbMV09W10pO2Zvcih0PTA7dDx2Lmxlbmd0aDt0Kz0zKWUudmVydGljZXMucHVzaCgobmV3IGspLmZyb21BcnJheSh2LHQpKSx2b2lkIDAhPT1FJiZlLmNvbG9ycy5wdXNoKChuZXcgSCkuZnJvbUFycmF5KEUsdCkpO3ZhciBNPWEuZ3JvdXBzO2lmKDA8TS5sZW5ndGgpZm9yKHQ9MDt0PE0ubGVuZ3RoO3QrKyl7dj1NW3RdO3ZhciBQPXYuc3RhcnQsUT1QO2ZvcihQKz12LmNvdW50O1E8UDtRKz0zKXZvaWQgMCE9PWc/YyhnW1FdLGdbUSsxXSxnW1ErMl0sdi5tYXRlcmlhbEluZGV4KTpjKFEsClErMSxRKzIsdi5tYXRlcmlhbEluZGV4KX1lbHNlIGlmKHZvaWQgMCE9PWcpZm9yKHQ9MDt0PGcubGVuZ3RoO3QrPTMpYyhnW3RdLGdbdCsxXSxnW3QrMl0pO2Vsc2UgZm9yKHQ9MDt0PHYubGVuZ3RoLzM7dCs9MyljKHQsdCsxLHQrMik7dGhpcy5jb21wdXRlRmFjZU5vcm1hbHMoKTtudWxsIT09YS5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9YS5ib3VuZGluZ0JveC5jbG9uZSgpKTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9YS5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtyZXR1cm4gdGhpc30sY2VudGVyOmZ1bmN0aW9uKCl7dGhpcy5jb21wdXRlQm91bmRpbmdCb3goKTt0aGlzLmJvdW5kaW5nQm94LmdldENlbnRlcihyaCkubmVnYXRlKCk7dGhpcy50cmFuc2xhdGUocmgueCxyaC55LHJoLnopO3JldHVybiB0aGlzfSxub3JtYWxpemU6ZnVuY3Rpb24oKXt0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3ZhciBhPXRoaXMuYm91bmRpbmdTcGhlcmUuY2VudGVyLApjPXRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzO2M9MD09PWM/MToxL2M7dmFyIGU9bmV3IHE7ZS5zZXQoYywwLDAsLWMqYS54LDAsYywwLC1jKmEueSwwLDAsYywtYyphLnosMCwwLDAsMSk7dGhpcy5hcHBseU1hdHJpeChlKTtyZXR1cm4gdGhpc30sY29tcHV0ZUZhY2VOb3JtYWxzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBrLGM9bmV3IGssZT0wLGc9dGhpcy5mYWNlcy5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9dGhpcy5mYWNlc1tlXSx2PXRoaXMudmVydGljZXNbdC5hXSx6PXRoaXMudmVydGljZXNbdC5iXTthLnN1YlZlY3RvcnModGhpcy52ZXJ0aWNlc1t0LmNdLHopO2Muc3ViVmVjdG9ycyh2LHopO2EuY3Jvc3MoYyk7YS5ub3JtYWxpemUoKTt0Lm5vcm1hbC5jb3B5KGEpfX0sY29tcHV0ZVZlcnRleE5vcm1hbHM6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGE9ITApO3ZhciBjO3ZhciBlPUFycmF5KHRoaXMudmVydGljZXMubGVuZ3RoKTt2YXIgZz0wO2ZvcihjPXRoaXMudmVydGljZXMubGVuZ3RoO2c8CmM7ZysrKWVbZ109bmV3IGs7aWYoYSl7dmFyIHQ9bmV3IGssdj1uZXcgazthPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyl7Yz10aGlzLmZhY2VzW2FdO3ZhciB6PXRoaXMudmVydGljZXNbYy5hXTt2YXIgRT10aGlzLnZlcnRpY2VzW2MuYl07dmFyIEY9dGhpcy52ZXJ0aWNlc1tjLmNdO3Quc3ViVmVjdG9ycyhGLEUpO3Yuc3ViVmVjdG9ycyh6LEUpO3QuY3Jvc3Modik7ZVtjLmFdLmFkZCh0KTtlW2MuYl0uYWRkKHQpO2VbYy5jXS5hZGQodCl9fWVsc2UgZm9yKHRoaXMuY29tcHV0ZUZhY2VOb3JtYWxzKCksYT0wLGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyljPXRoaXMuZmFjZXNbYV0sZVtjLmFdLmFkZChjLm5vcm1hbCksZVtjLmJdLmFkZChjLm5vcm1hbCksZVtjLmNdLmFkZChjLm5vcm1hbCk7Zz0wO2ZvcihjPXRoaXMudmVydGljZXMubGVuZ3RoO2c8YztnKyspZVtnXS5ub3JtYWxpemUoKTthPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyljPQp0aGlzLmZhY2VzW2FdLHo9Yy52ZXJ0ZXhOb3JtYWxzLDM9PT16Lmxlbmd0aD8oelswXS5jb3B5KGVbYy5hXSkselsxXS5jb3B5KGVbYy5iXSkselsyXS5jb3B5KGVbYy5jXSkpOih6WzBdPWVbYy5hXS5jbG9uZSgpLHpbMV09ZVtjLmJdLmNsb25lKCkselsyXT1lW2MuY10uY2xvbmUoKSk7MDx0aGlzLmZhY2VzLmxlbmd0aCYmKHRoaXMubm9ybWFsc05lZWRVcGRhdGU9ITApfSxjb21wdXRlRmxhdFZlcnRleE5vcm1hbHM6ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmNvbXB1dGVGYWNlTm9ybWFscygpO3ZhciBjPTA7Zm9yKGE9dGhpcy5mYWNlcy5sZW5ndGg7YzxhO2MrKyl7dmFyIGU9dGhpcy5mYWNlc1tjXTt2YXIgZz1lLnZlcnRleE5vcm1hbHM7Mz09PWcubGVuZ3RoPyhnWzBdLmNvcHkoZS5ub3JtYWwpLGdbMV0uY29weShlLm5vcm1hbCksZ1syXS5jb3B5KGUubm9ybWFsKSk6KGdbMF09ZS5ub3JtYWwuY2xvbmUoKSxnWzFdPWUubm9ybWFsLmNsb25lKCksZ1syXT1lLm5vcm1hbC5jbG9uZSgpKX0wPAp0aGlzLmZhY2VzLmxlbmd0aCYmKHRoaXMubm9ybWFsc05lZWRVcGRhdGU9ITApfSxjb21wdXRlTW9ycGhOb3JtYWxzOmZ1bmN0aW9uKCl7dmFyIGEsYzt2YXIgZT0wO2ZvcihjPXRoaXMuZmFjZXMubGVuZ3RoO2U8YztlKyspe3ZhciBnPXRoaXMuZmFjZXNbZV07Zy5fX29yaWdpbmFsRmFjZU5vcm1hbD9nLl9fb3JpZ2luYWxGYWNlTm9ybWFsLmNvcHkoZy5ub3JtYWwpOmcuX19vcmlnaW5hbEZhY2VOb3JtYWw9Zy5ub3JtYWwuY2xvbmUoKTtnLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzfHwoZy5fX29yaWdpbmFsVmVydGV4Tm9ybWFscz1bXSk7dmFyIHQ9MDtmb3IoYT1nLnZlcnRleE5vcm1hbHMubGVuZ3RoO3Q8YTt0KyspZy5fX29yaWdpbmFsVmVydGV4Tm9ybWFsc1t0XT9nLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzW3RdLmNvcHkoZy52ZXJ0ZXhOb3JtYWxzW3RdKTpnLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzW3RdPWcudmVydGV4Tm9ybWFsc1t0XS5jbG9uZSgpfXZhciB2PW5ldyB4YTsKdi5mYWNlcz10aGlzLmZhY2VzO3Q9MDtmb3IoYT10aGlzLm1vcnBoVGFyZ2V0cy5sZW5ndGg7dDxhO3QrKyl7aWYoIXRoaXMubW9ycGhOb3JtYWxzW3RdKXt0aGlzLm1vcnBoTm9ybWFsc1t0XT17fTt0aGlzLm1vcnBoTm9ybWFsc1t0XS5mYWNlTm9ybWFscz1bXTt0aGlzLm1vcnBoTm9ybWFsc1t0XS52ZXJ0ZXhOb3JtYWxzPVtdO2c9dGhpcy5tb3JwaE5vcm1hbHNbdF0uZmFjZU5vcm1hbHM7dmFyIHo9dGhpcy5tb3JwaE5vcm1hbHNbdF0udmVydGV4Tm9ybWFscztlPTA7Zm9yKGM9dGhpcy5mYWNlcy5sZW5ndGg7ZTxjO2UrKyl7dmFyIEU9bmV3IGs7dmFyIEY9e2E6bmV3IGssYjpuZXcgayxjOm5ldyBrfTtnLnB1c2goRSk7ei5wdXNoKEYpfX16PXRoaXMubW9ycGhOb3JtYWxzW3RdO3YudmVydGljZXM9dGhpcy5tb3JwaFRhcmdldHNbdF0udmVydGljZXM7di5jb21wdXRlRmFjZU5vcm1hbHMoKTt2LmNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCk7ZT0wO2ZvcihjPXRoaXMuZmFjZXMubGVuZ3RoO2U8CmM7ZSsrKWc9dGhpcy5mYWNlc1tlXSxFPXouZmFjZU5vcm1hbHNbZV0sRj16LnZlcnRleE5vcm1hbHNbZV0sRS5jb3B5KGcubm9ybWFsKSxGLmEuY29weShnLnZlcnRleE5vcm1hbHNbMF0pLEYuYi5jb3B5KGcudmVydGV4Tm9ybWFsc1sxXSksRi5jLmNvcHkoZy52ZXJ0ZXhOb3JtYWxzWzJdKX1lPTA7Zm9yKGM9dGhpcy5mYWNlcy5sZW5ndGg7ZTxjO2UrKylnPXRoaXMuZmFjZXNbZV0sZy5ub3JtYWw9Zy5fX29yaWdpbmFsRmFjZU5vcm1hbCxnLnZlcnRleE5vcm1hbHM9Zy5fX29yaWdpbmFsVmVydGV4Tm9ybWFsc30sY29tcHV0ZUJvdW5kaW5nQm94OmZ1bmN0aW9uKCl7bnVsbD09PXRoaXMuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PW5ldyB4KTt0aGlzLmJvdW5kaW5nQm94LnNldEZyb21Qb2ludHModGhpcy52ZXJ0aWNlcyl9LGNvbXB1dGVCb3VuZGluZ1NwaGVyZTpmdW5jdGlvbigpe251bGw9PT10aGlzLmJvdW5kaW5nU3BoZXJlJiYodGhpcy5ib3VuZGluZ1NwaGVyZT0KbmV3IEcpO3RoaXMuYm91bmRpbmdTcGhlcmUuc2V0RnJvbVBvaW50cyh0aGlzLnZlcnRpY2VzKX0sbWVyZ2U6ZnVuY3Rpb24oYSxjLGUpe2lmKGEmJmEuaXNHZW9tZXRyeSl7dmFyIGcsdD10aGlzLnZlcnRpY2VzLmxlbmd0aCx2PXRoaXMudmVydGljZXMsej1hLnZlcnRpY2VzLEU9dGhpcy5mYWNlcyxGPWEuZmFjZXMsST10aGlzLmNvbG9ycyxNPWEuY29sb3JzO3ZvaWQgMD09PWUmJihlPTApO3ZvaWQgMCE9PWMmJihnPShuZXcgcikuZ2V0Tm9ybWFsTWF0cml4KGMpKTtmb3IodmFyIFA9MCxRPXoubGVuZ3RoO1A8UTtQKyspe3ZhciBVPXpbUF0uY2xvbmUoKTt2b2lkIDAhPT1jJiZVLmFwcGx5TWF0cml4NChjKTt2LnB1c2goVSl9UD0wO2ZvcihRPU0ubGVuZ3RoO1A8UTtQKyspSS5wdXNoKE1bUF0uY2xvbmUoKSk7UD0wO2ZvcihRPUYubGVuZ3RoO1A8UTtQKyspe3o9RltQXTt2YXIgVj16LnZlcnRleE5vcm1hbHM7TT16LnZlcnRleENvbG9ycztJPW5ldyBPKHouYSt0LHouYit0LHouYysKdCk7SS5ub3JtYWwuY29weSh6Lm5vcm1hbCk7dm9pZCAwIT09ZyYmSS5ub3JtYWwuYXBwbHlNYXRyaXgzKGcpLm5vcm1hbGl6ZSgpO2M9MDtmb3Iodj1WLmxlbmd0aDtjPHY7YysrKVU9VltjXS5jbG9uZSgpLHZvaWQgMCE9PWcmJlUuYXBwbHlNYXRyaXgzKGcpLm5vcm1hbGl6ZSgpLEkudmVydGV4Tm9ybWFscy5wdXNoKFUpO0kuY29sb3IuY29weSh6LmNvbG9yKTtjPTA7Zm9yKHY9TS5sZW5ndGg7Yzx2O2MrKylVPU1bY10sSS52ZXJ0ZXhDb2xvcnMucHVzaChVLmNsb25lKCkpO0kubWF0ZXJpYWxJbmRleD16Lm1hdGVyaWFsSW5kZXgrZTtFLnB1c2goSSl9UD0wO2ZvcihRPWEuZmFjZVZlcnRleFV2cy5sZW5ndGg7UDxRO1ArKylmb3IoZT1hLmZhY2VWZXJ0ZXhVdnNbUF0sdm9pZCAwPT09dGhpcy5mYWNlVmVydGV4VXZzW1BdJiYodGhpcy5mYWNlVmVydGV4VXZzW1BdPVtdKSxjPTAsdj1lLmxlbmd0aDtjPHY7YysrKXtnPWVbY107dD1bXTtFPTA7Zm9yKEY9Zy5sZW5ndGg7RTxGO0UrKyl0LnB1c2goZ1tFXS5jbG9uZSgpKTsKdGhpcy5mYWNlVmVydGV4VXZzW1BdLnB1c2godCl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuR2VvbWV0cnkubWVyZ2UoKTogZ2VvbWV0cnkgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkdlb21ldHJ5LiIsYSl9LG1lcmdlTWVzaDpmdW5jdGlvbihhKXthJiZhLmlzTWVzaD8oYS5tYXRyaXhBdXRvVXBkYXRlJiZhLnVwZGF0ZU1hdHJpeCgpLHRoaXMubWVyZ2UoYS5nZW9tZXRyeSxhLm1hdHJpeCkpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLkdlb21ldHJ5Lm1lcmdlTWVzaCgpOiBtZXNoIG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5NZXNoLiIsYSl9LG1lcmdlVmVydGljZXM6ZnVuY3Rpb24oKXt2YXIgYT17fSxjPVtdLGU9W10sZz1NYXRoLnBvdygxMCw0KSx0O3ZhciB2PTA7Zm9yKHQ9dGhpcy52ZXJ0aWNlcy5sZW5ndGg7djx0O3YrKyl7dmFyIHo9dGhpcy52ZXJ0aWNlc1t2XTt6PU1hdGgucm91bmQoei54KmcpKyJfIitNYXRoLnJvdW5kKHoueSpnKSsiXyIrTWF0aC5yb3VuZCh6LnoqCmcpO3ZvaWQgMD09PWFbel0/KGFbel09dixjLnB1c2godGhpcy52ZXJ0aWNlc1t2XSksZVt2XT1jLmxlbmd0aC0xKTplW3ZdPWVbYVt6XV19YT1bXTt2PTA7Zm9yKHQ9dGhpcy5mYWNlcy5sZW5ndGg7djx0O3YrKylmb3IoZz10aGlzLmZhY2VzW3ZdLGcuYT1lW2cuYV0sZy5iPWVbZy5iXSxnLmM9ZVtnLmNdLGc9W2cuYSxnLmIsZy5jXSx6PTA7Mz56O3orKylpZihnW3pdPT09Z1soeisxKSUzXSl7YS5wdXNoKHYpO2JyZWFrfWZvcih2PWEubGVuZ3RoLTE7MDw9djt2LS0pZm9yKGc9YVt2XSx0aGlzLmZhY2VzLnNwbGljZShnLDEpLGU9MCx0PXRoaXMuZmFjZVZlcnRleFV2cy5sZW5ndGg7ZTx0O2UrKyl0aGlzLmZhY2VWZXJ0ZXhVdnNbZV0uc3BsaWNlKGcsMSk7dj10aGlzLnZlcnRpY2VzLmxlbmd0aC1jLmxlbmd0aDt0aGlzLnZlcnRpY2VzPWM7cmV0dXJuIHZ9LHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSl7dGhpcy52ZXJ0aWNlcz1bXTtmb3IodmFyIGM9MCxlPWEubGVuZ3RoO2M8ZTtjKyspe3ZhciBnPQphW2NdO3RoaXMudmVydGljZXMucHVzaChuZXcgayhnLngsZy55LGcuenx8MCkpfXJldHVybiB0aGlzfSxzb3J0RmFjZXNCeU1hdGVyaWFsSW5kZXg6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5mYWNlcyxjPWEubGVuZ3RoLGU9MDtlPGM7ZSsrKWFbZV0uX2lkPWU7YS5zb3J0KGZ1bmN0aW9uKEYsSSl7cmV0dXJuIEYubWF0ZXJpYWxJbmRleC1JLm1hdGVyaWFsSW5kZXh9KTt2YXIgZz10aGlzLmZhY2VWZXJ0ZXhVdnNbMF0sdD10aGlzLmZhY2VWZXJ0ZXhVdnNbMV0sdix6O2cmJmcubGVuZ3RoPT09YyYmKHY9W10pO3QmJnQubGVuZ3RoPT09YyYmKHo9W10pO2ZvcihlPTA7ZTxjO2UrKyl7dmFyIEU9YVtlXS5faWQ7diYmdi5wdXNoKGdbRV0pO3omJnoucHVzaCh0W0VdKX12JiYodGhpcy5mYWNlVmVydGV4VXZzWzBdPXYpO3omJih0aGlzLmZhY2VWZXJ0ZXhVdnNbMV09eil9LHRvSlNPTjpmdW5jdGlvbigpe2Z1bmN0aW9uIGEobmEsdGEsQmEpe3JldHVybiBCYT9uYXwxPDx0YTpuYSYKfigxPDx0YSl9ZnVuY3Rpb24gYyhuYSl7dmFyIHRhPW5hLngudG9TdHJpbmcoKStuYS55LnRvU3RyaW5nKCkrbmEuei50b1N0cmluZygpO2lmKHZvaWQgMCE9PUlbdGFdKXJldHVybiBJW3RhXTtJW3RhXT1GLmxlbmd0aC8zO0YucHVzaChuYS54LG5hLnksbmEueik7cmV0dXJuIElbdGFdfWZ1bmN0aW9uIGUobmEpe3ZhciB0YT1uYS5yLnRvU3RyaW5nKCkrbmEuZy50b1N0cmluZygpK25hLmIudG9TdHJpbmcoKTtpZih2b2lkIDAhPT1QW3RhXSlyZXR1cm4gUFt0YV07UFt0YV09TS5sZW5ndGg7TS5wdXNoKG5hLmdldEhleCgpKTtyZXR1cm4gUFt0YV19ZnVuY3Rpb24gZyhuYSl7dmFyIHRhPW5hLngudG9TdHJpbmcoKStuYS55LnRvU3RyaW5nKCk7aWYodm9pZCAwIT09VVt0YV0pcmV0dXJuIFVbdGFdO1VbdGFdPVEubGVuZ3RoLzI7US5wdXNoKG5hLngsbmEueSk7cmV0dXJuIFVbdGFdfXZhciB0PXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiR2VvbWV0cnkiLGdlbmVyYXRvcjoiR2VvbWV0cnkudG9KU09OIn19Owp0LnV1aWQ9dGhpcy51dWlkO3QudHlwZT10aGlzLnR5cGU7IiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKTtpZih2b2lkIDAhPT10aGlzLnBhcmFtZXRlcnMpe3ZhciB2PXRoaXMucGFyYW1ldGVycyx6O2Zvcih6IGluIHYpdm9pZCAwIT09dlt6XSYmKHRbel09dlt6XSk7cmV0dXJuIHR9dj1bXTtmb3Ioej0wO3o8dGhpcy52ZXJ0aWNlcy5sZW5ndGg7eisrKXt2YXIgRT10aGlzLnZlcnRpY2VzW3pdO3YucHVzaChFLngsRS55LEUueil9RT1bXTt2YXIgRj1bXSxJPXt9LE09W10sUD17fSxRPVtdLFU9e307Zm9yKHo9MDt6PHRoaXMuZmFjZXMubGVuZ3RoO3orKyl7dmFyIFY9dGhpcy5mYWNlc1t6XSxlYT12b2lkIDAhPT10aGlzLmZhY2VWZXJ0ZXhVdnNbMF1bel0sZGE9MDxWLm5vcm1hbC5sZW5ndGgoKSxyYT0wPFYudmVydGV4Tm9ybWFscy5sZW5ndGgscGE9MSE9PVYuY29sb3Iucnx8MSE9PVYuY29sb3IuZ3x8MSE9PVYuY29sb3IuYixxYT0wPFYudmVydGV4Q29sb3JzLmxlbmd0aCwKdWE9MDt1YT1hKHVhLDAsMCk7dWE9YSh1YSwxLCEwKTt1YT1hKHVhLDIsITEpO3VhPWEodWEsMyxlYSk7dWE9YSh1YSw0LGRhKTt1YT1hKHVhLDUscmEpO3VhPWEodWEsNixwYSk7dWE9YSh1YSw3LHFhKTtFLnB1c2godWEpO0UucHVzaChWLmEsVi5iLFYuYyk7RS5wdXNoKFYubWF0ZXJpYWxJbmRleCk7ZWEmJihlYT10aGlzLmZhY2VWZXJ0ZXhVdnNbMF1bel0sRS5wdXNoKGcoZWFbMF0pLGcoZWFbMV0pLGcoZWFbMl0pKSk7ZGEmJkUucHVzaChjKFYubm9ybWFsKSk7cmEmJihkYT1WLnZlcnRleE5vcm1hbHMsRS5wdXNoKGMoZGFbMF0pLGMoZGFbMV0pLGMoZGFbMl0pKSk7cGEmJkUucHVzaChlKFYuY29sb3IpKTtxYSYmKFY9Vi52ZXJ0ZXhDb2xvcnMsRS5wdXNoKGUoVlswXSksZShWWzFdKSxlKFZbMl0pKSl9dC5kYXRhPXt9O3QuZGF0YS52ZXJ0aWNlcz12O3QuZGF0YS5ub3JtYWxzPUY7MDxNLmxlbmd0aCYmKHQuZGF0YS5jb2xvcnM9TSk7MDxRLmxlbmd0aCYmKHQuZGF0YS51dnM9CltRXSk7dC5kYXRhLmZhY2VzPUU7cmV0dXJuIHR9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB4YSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt2YXIgYyxlLGc7dGhpcy52ZXJ0aWNlcz1bXTt0aGlzLmNvbG9ycz1bXTt0aGlzLmZhY2VzPVtdO3RoaXMuZmFjZVZlcnRleFV2cz1bW11dO3RoaXMubW9ycGhUYXJnZXRzPVtdO3RoaXMubW9ycGhOb3JtYWxzPVtdO3RoaXMuc2tpbldlaWdodHM9W107dGhpcy5za2luSW5kaWNlcz1bXTt0aGlzLmxpbmVEaXN0YW5jZXM9W107dGhpcy5ib3VuZGluZ1NwaGVyZT10aGlzLmJvdW5kaW5nQm94PW51bGw7dGhpcy5uYW1lPWEubmFtZTt2YXIgdD1hLnZlcnRpY2VzO3ZhciB2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLnZlcnRpY2VzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEuY29sb3JzO3Y9MDtmb3IoYz10Lmxlbmd0aDt2PGM7disrKXRoaXMuY29sb3JzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEuZmFjZXM7dj0wO2ZvcihjPQp0Lmxlbmd0aDt2PGM7disrKXRoaXMuZmFjZXMucHVzaCh0W3ZdLmNsb25lKCkpO3Y9MDtmb3IoYz1hLmZhY2VWZXJ0ZXhVdnMubGVuZ3RoO3Y8Yzt2Kyspe3ZhciB6PWEuZmFjZVZlcnRleFV2c1t2XTt2b2lkIDA9PT10aGlzLmZhY2VWZXJ0ZXhVdnNbdl0mJih0aGlzLmZhY2VWZXJ0ZXhVdnNbdl09W10pO3Q9MDtmb3IoZT16Lmxlbmd0aDt0PGU7dCsrKXt2YXIgRT16W3RdLEY9W107dmFyIEk9MDtmb3IoZz1FLmxlbmd0aDtJPGc7SSsrKUYucHVzaChFW0ldLmNsb25lKCkpO3RoaXMuZmFjZVZlcnRleFV2c1t2XS5wdXNoKEYpfX1JPWEubW9ycGhUYXJnZXRzO3Y9MDtmb3IoYz1JLmxlbmd0aDt2PGM7disrKXtnPXt9O2cubmFtZT1JW3ZdLm5hbWU7aWYodm9pZCAwIT09SVt2XS52ZXJ0aWNlcylmb3IoZy52ZXJ0aWNlcz1bXSx0PTAsZT1JW3ZdLnZlcnRpY2VzLmxlbmd0aDt0PGU7dCsrKWcudmVydGljZXMucHVzaChJW3ZdLnZlcnRpY2VzW3RdLmNsb25lKCkpO2lmKHZvaWQgMCE9PUlbdl0ubm9ybWFscylmb3IoZy5ub3JtYWxzPQpbXSx0PTAsZT1JW3ZdLm5vcm1hbHMubGVuZ3RoO3Q8ZTt0KyspZy5ub3JtYWxzLnB1c2goSVt2XS5ub3JtYWxzW3RdLmNsb25lKCkpO3RoaXMubW9ycGhUYXJnZXRzLnB1c2goZyl9ST1hLm1vcnBoTm9ybWFsczt2PTA7Zm9yKGM9SS5sZW5ndGg7djxjO3YrKyl7Zz17fTtpZih2b2lkIDAhPT1JW3ZdLnZlcnRleE5vcm1hbHMpZm9yKGcudmVydGV4Tm9ybWFscz1bXSx0PTAsZT1JW3ZdLnZlcnRleE5vcm1hbHMubGVuZ3RoO3Q8ZTt0Kyspej1JW3ZdLnZlcnRleE5vcm1hbHNbdF0sRT17fSxFLmE9ei5hLmNsb25lKCksRS5iPXouYi5jbG9uZSgpLEUuYz16LmMuY2xvbmUoKSxnLnZlcnRleE5vcm1hbHMucHVzaChFKTtpZih2b2lkIDAhPT1JW3ZdLmZhY2VOb3JtYWxzKWZvcihnLmZhY2VOb3JtYWxzPVtdLHQ9MCxlPUlbdl0uZmFjZU5vcm1hbHMubGVuZ3RoO3Q8ZTt0KyspZy5mYWNlTm9ybWFscy5wdXNoKElbdl0uZmFjZU5vcm1hbHNbdF0uY2xvbmUoKSk7dGhpcy5tb3JwaE5vcm1hbHMucHVzaChnKX10PQphLnNraW5XZWlnaHRzO3Y9MDtmb3IoYz10Lmxlbmd0aDt2PGM7disrKXRoaXMuc2tpbldlaWdodHMucHVzaCh0W3ZdLmNsb25lKCkpO3Q9YS5za2luSW5kaWNlczt2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLnNraW5JbmRpY2VzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEubGluZURpc3RhbmNlczt2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLmxpbmVEaXN0YW5jZXMucHVzaCh0W3ZdKTt2PWEuYm91bmRpbmdCb3g7bnVsbCE9PXYmJih0aGlzLmJvdW5kaW5nQm94PXYuY2xvbmUoKSk7dj1hLmJvdW5kaW5nU3BoZXJlO251bGwhPT12JiYodGhpcy5ib3VuZGluZ1NwaGVyZT12LmNsb25lKCkpO3RoaXMuZWxlbWVudHNOZWVkVXBkYXRlPWEuZWxlbWVudHNOZWVkVXBkYXRlO3RoaXMudmVydGljZXNOZWVkVXBkYXRlPWEudmVydGljZXNOZWVkVXBkYXRlO3RoaXMudXZzTmVlZFVwZGF0ZT1hLnV2c05lZWRVcGRhdGU7dGhpcy5ub3JtYWxzTmVlZFVwZGF0ZT1hLm5vcm1hbHNOZWVkVXBkYXRlOwp0aGlzLmNvbG9yc05lZWRVcGRhdGU9YS5jb2xvcnNOZWVkVXBkYXRlO3RoaXMubGluZURpc3RhbmNlc05lZWRVcGRhdGU9YS5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZTt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9YS5ncm91cHNOZWVkVXBkYXRlO3JldHVybiB0aGlzfSxkaXNwb3NlOmZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pO1NhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7U2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNhO1hhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7WGEucHJvdG90eXBlLmNvbnN0cnVjdG9yPVhhO3ZhciAkbT17Y2xvbmU6dWIsbWVyZ2U6QmJ9O3FiLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtxYi5wcm90b3R5cGUuY29uc3RydWN0b3I9cWI7cWIucHJvdG90eXBlLmlzU2hhZGVyTWF0ZXJpYWw9ITA7cWIucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsCmEpO3RoaXMuZnJhZ21lbnRTaGFkZXI9YS5mcmFnbWVudFNoYWRlcjt0aGlzLnZlcnRleFNoYWRlcj1hLnZlcnRleFNoYWRlcjt0aGlzLnVuaWZvcm1zPXViKGEudW5pZm9ybXMpO3RoaXMuZGVmaW5lcz1PYmplY3QuYXNzaWduKHt9LGEuZGVmaW5lcyk7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7dGhpcy5saWdodHM9YS5saWdodHM7dGhpcy5jbGlwcGluZz1hLmNsaXBwaW5nO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czt0aGlzLm1vcnBoTm9ybWFscz1hLm1vcnBoTm9ybWFsczt0aGlzLmV4dGVuc2lvbnM9YS5leHRlbnNpb25zO3JldHVybiB0aGlzfTtxYi5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKGEpe3ZhciBjPVMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7Yy51bmlmb3Jtcz17fTtmb3IodmFyIGUgaW4gdGhpcy51bmlmb3Jtcyl7dmFyIGc9CnRoaXMudW5pZm9ybXNbZV0udmFsdWU7Yy51bmlmb3Jtc1tlXT1nJiZnLmlzVGV4dHVyZT97dHlwZToidCIsdmFsdWU6Zy50b0pTT04oYSkudXVpZH06ZyYmZy5pc0NvbG9yP3t0eXBlOiJjIix2YWx1ZTpnLmdldEhleCgpfTpnJiZnLmlzVmVjdG9yMj97dHlwZToidjIiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzVmVjdG9yMz97dHlwZToidjMiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzVmVjdG9yND97dHlwZToidjQiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzTWF0cml4Mz97dHlwZToibTMiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzTWF0cml4ND97dHlwZToibTQiLHZhbHVlOmcudG9BcnJheSgpfTp7dmFsdWU6Z319MDxPYmplY3Qua2V5cyh0aGlzLmRlZmluZXMpLmxlbmd0aCYmKGMuZGVmaW5lcz10aGlzLmRlZmluZXMpO2MudmVydGV4U2hhZGVyPXRoaXMudmVydGV4U2hhZGVyO2MuZnJhZ21lbnRTaGFkZXI9dGhpcy5mcmFnbWVudFNoYWRlcjthPXt9O2Zvcih2YXIgdCBpbiB0aGlzLmV4dGVuc2lvbnMpITA9PT0KdGhpcy5leHRlbnNpb25zW3RdJiYoYVt0XT0hMCk7MDxPYmplY3Qua2V5cyhhKS5sZW5ndGgmJihjLmV4dGVuc2lvbnM9YSk7cmV0dXJuIGN9O3piLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp6Yixpc0NhbWVyYTohMCxjb3B5OmZ1bmN0aW9uKGEsYyl7QS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSxjKTt0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KGEubWF0cml4V29ybGRJbnZlcnNlKTt0aGlzLnByb2plY3Rpb25NYXRyaXguY29weShhLnByb2plY3Rpb25NYXRyaXgpO3RoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2UuY29weShhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKTtyZXR1cm4gdGhpc30sZ2V0V29ybGREaXJlY3Rpb246ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQ2FtZXJhOiAuZ2V0V29ybGREaXJlY3Rpb24oKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksCmE9bmV3IGspO3RoaXMudXBkYXRlTWF0cml4V29ybGQoITApO3ZhciBjPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIGEuc2V0KC1jWzhdLC1jWzldLC1jWzEwXSkubm9ybWFsaXplKCl9LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcyxhKTt0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19KTt2Yi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOnZiLGlzUGVyc3BlY3RpdmVDYW1lcmE6ITAsY29weTpmdW5jdGlvbihhLGMpe3piLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhLGMpO3RoaXMuZm92PWEuZm92O3RoaXMuem9vbT1hLnpvb207dGhpcy5uZWFyPWEubmVhcjt0aGlzLmZhcj0KYS5mYXI7dGhpcy5mb2N1cz1hLmZvY3VzO3RoaXMuYXNwZWN0PWEuYXNwZWN0O3RoaXMudmlldz1udWxsPT09YS52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSxhLnZpZXcpO3RoaXMuZmlsbUdhdWdlPWEuZmlsbUdhdWdlO3RoaXMuZmlsbU9mZnNldD1hLmZpbG1PZmZzZXQ7cmV0dXJuIHRoaXN9LHNldEZvY2FsTGVuZ3RoOmZ1bmN0aW9uKGEpe3RoaXMuZm92PTIqaGIuUkFEMkRFRypNYXRoLmF0YW4oLjUqdGhpcy5nZXRGaWxtSGVpZ2h0KCkvYSk7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LGdldEZvY2FsTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuLjUqdGhpcy5nZXRGaWxtSGVpZ2h0KCkvTWF0aC50YW4oLjUqaGIuREVHMlJBRCp0aGlzLmZvdil9LGdldEVmZmVjdGl2ZUZPVjpmdW5jdGlvbigpe3JldHVybiAyKmhiLlJBRDJERUcqTWF0aC5hdGFuKE1hdGgudGFuKC41KmhiLkRFRzJSQUQqdGhpcy5mb3YpL3RoaXMuem9vbSl9LGdldEZpbG1XaWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbG1HYXVnZSoKTWF0aC5taW4odGhpcy5hc3BlY3QsMSl9LGdldEZpbG1IZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWxtR2F1Z2UvTWF0aC5tYXgodGhpcy5hc3BlY3QsMSl9LHNldFZpZXdPZmZzZXQ6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3RoaXMuYXNwZWN0PWEvYztudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KTt0aGlzLnZpZXcuZW5hYmxlZD0hMDt0aGlzLnZpZXcuZnVsbFdpZHRoPWE7dGhpcy52aWV3LmZ1bGxIZWlnaHQ9Yzt0aGlzLnZpZXcub2Zmc2V0WD1lO3RoaXMudmlldy5vZmZzZXRZPWc7dGhpcy52aWV3LndpZHRoPXQ7dGhpcy52aWV3LmhlaWdodD12O3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfSxjbGVhclZpZXdPZmZzZXQ6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy52aWV3JiYodGhpcy52aWV3LmVuYWJsZWQ9ITEpO3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfSwKdXBkYXRlUHJvamVjdGlvbk1hdHJpeDpmdW5jdGlvbigpe3ZhciBhPXRoaXMubmVhcixjPWEqTWF0aC50YW4oLjUqaGIuREVHMlJBRCp0aGlzLmZvdikvdGhpcy56b29tLGU9MipjLGc9dGhpcy5hc3BlY3QqZSx0PS0uNSpnLHY9dGhpcy52aWV3O2lmKG51bGwhPT10aGlzLnZpZXcmJnRoaXMudmlldy5lbmFibGVkKXt2YXIgej12LmZ1bGxXaWR0aCxFPXYuZnVsbEhlaWdodDt0Kz12Lm9mZnNldFgqZy96O2MtPXYub2Zmc2V0WSplL0U7Zyo9di53aWR0aC96O2UqPXYuaGVpZ2h0L0V9dj10aGlzLmZpbG1PZmZzZXQ7MCE9PXYmJih0Kz1hKnYvdGhpcy5nZXRGaWxtV2lkdGgoKSk7dGhpcy5wcm9qZWN0aW9uTWF0cml4Lm1ha2VQZXJzcGVjdGl2ZSh0LHQrZyxjLGMtZSxhLHRoaXMuZmFyKTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmdldEludmVyc2UodGhpcy5wcm9qZWN0aW9uTWF0cml4KX0sdG9KU09OOmZ1bmN0aW9uKGEpe2E9QS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcywKYSk7YS5vYmplY3QuZm92PXRoaXMuZm92O2Eub2JqZWN0Lnpvb209dGhpcy56b29tO2Eub2JqZWN0Lm5lYXI9dGhpcy5uZWFyO2Eub2JqZWN0LmZhcj10aGlzLmZhcjthLm9iamVjdC5mb2N1cz10aGlzLmZvY3VzO2Eub2JqZWN0LmFzcGVjdD10aGlzLmFzcGVjdDtudWxsIT09dGhpcy52aWV3JiYoYS5vYmplY3Qudmlldz1PYmplY3QuYXNzaWduKHt9LHRoaXMudmlldykpO2Eub2JqZWN0LmZpbG1HYXVnZT10aGlzLmZpbG1HYXVnZTthLm9iamVjdC5maWxtT2Zmc2V0PXRoaXMuZmlsbU9mZnNldDtyZXR1cm4gYX19KTtHYi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSk7R2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPUdiO09iLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG0ucHJvdG90eXBlKTtPYi5wcm90b3R5cGUuY29uc3RydWN0b3I9T2I7T2IucHJvdG90eXBlLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlPSEwO09iLnByb3RvdHlwZS5mcm9tRXF1aXJlY3Rhbmd1bGFyVGV4dHVyZT0KZnVuY3Rpb24oYSxjKXt0aGlzLnRleHR1cmUudHlwZT1jLnR5cGU7dGhpcy50ZXh0dXJlLmZvcm1hdD1jLmZvcm1hdDt0aGlzLnRleHR1cmUuZW5jb2Rpbmc9Yy5lbmNvZGluZzt2YXIgZT1uZXcgeSxnPW5ldyBxYih7dHlwZToiQ3ViZW1hcEZyb21FcXVpcmVjdCIsdW5pZm9ybXM6dWIoe3RFcXVpcmVjdDp7dmFsdWU6bnVsbH19KSx2ZXJ0ZXhTaGFkZXI6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG52ZWMzIHRyYW5zZm9ybURpcmVjdGlvbiggaW4gdmVjMyBkaXIsIGluIG1hdDQgbWF0cml4ICkge1xuXHRyZXR1cm4gbm9ybWFsaXplKCAoIG1hdHJpeCAqIHZlYzQoIGRpciwgMC4wICkgKS54eXogKTtcbn1cbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxufSIsCmZyYWdtZW50U2hhZGVyOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2RlZmluZSBSRUNJUFJPQ0FMX1BJIDAuMzE4MzA5ODg2MThcbiNkZWZpbmUgUkVDSVBST0NBTF9QSTIgMC4xNTkxNTQ5NFxudm9pZCBtYWluKCkge1xuXHR2ZWMzIGRpcmVjdGlvbiBceDNkIG5vcm1hbGl6ZSggdldvcmxkRGlyZWN0aW9uICk7XG5cdHZlYzIgc2FtcGxlVVY7XG5cdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggZGlyZWN0aW9uLnksIC0gMS4wLCAxLjAgKSApICogUkVDSVBST0NBTF9QSSArIDAuNTtcblx0c2FtcGxlVVYueCBceDNkIGF0YW4oIGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueCApICogUkVDSVBST0NBTF9QSTIgKyAwLjU7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHRleHR1cmUyRCggdEVxdWlyZWN0LCBzYW1wbGVVViApO1xufSIsc2lkZToxLGJsZW5kaW5nOjB9KTtnLnVuaWZvcm1zLnRFcXVpcmVjdC52YWx1ZT1jOwpjPW5ldyB5YShuZXcgWGEoNSw1LDUpLGcpO2UuYWRkKGMpO2c9bmV3IEdiKDEsMTAsMSk7Zy5yZW5kZXJUYXJnZXQ9dGhpcztnLnJlbmRlclRhcmdldC50ZXh0dXJlLm5hbWU9IkN1YmVDYW1lcmFUZXh0dXJlIjtnLnVwZGF0ZShhLGUpO2MuZ2VvbWV0cnkuZGlzcG9zZSgpO2MubWF0ZXJpYWwuZGlzcG9zZSgpO3JldHVybiB0aGlzfTtBYi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShsLnByb3RvdHlwZSk7QWIucHJvdG90eXBlLmNvbnN0cnVjdG9yPUFiO0FiLnByb3RvdHlwZS5pc0RhdGFUZXh0dXJlPSEwO3ZhciBPaT1uZXcgayxhbj1uZXcgayxibj1uZXcgcjtPYmplY3QuYXNzaWduKEhiLnByb3RvdHlwZSx7aXNQbGFuZTohMCxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLm5vcm1hbC5jb3B5KGEpO3RoaXMuY29uc3RhbnQ9YztyZXR1cm4gdGhpc30sc2V0Q29tcG9uZW50czpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLm5vcm1hbC5zZXQoYSxjLGUpO3RoaXMuY29uc3RhbnQ9ZztyZXR1cm4gdGhpc30sCnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50OmZ1bmN0aW9uKGEsYyl7dGhpcy5ub3JtYWwuY29weShhKTt0aGlzLmNvbnN0YW50PS1jLmRvdCh0aGlzLm5vcm1hbCk7cmV0dXJuIHRoaXN9LHNldEZyb21Db3BsYW5hclBvaW50czpmdW5jdGlvbihhLGMsZSl7Yz1PaS5zdWJWZWN0b3JzKGUsYykuY3Jvc3MoYW4uc3ViVmVjdG9ycyhhLGMpKS5ub3JtYWxpemUoKTt0aGlzLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KGMsYSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMubm9ybWFsLmNvcHkoYS5ub3JtYWwpO3RoaXMuY29uc3RhbnQ9YS5jb25zdGFudDtyZXR1cm4gdGhpc30sbm9ybWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9MS90aGlzLm5vcm1hbC5sZW5ndGgoKTt0aGlzLm5vcm1hbC5tdWx0aXBseVNjYWxhcihhKTt0aGlzLmNvbnN0YW50Kj1hO3JldHVybiB0aGlzfSwKbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb25zdGFudCo9LTE7dGhpcy5ub3JtYWwubmVnYXRlKCk7cmV0dXJuIHRoaXN9LGRpc3RhbmNlVG9Qb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub3JtYWwuZG90KGEpK3RoaXMuY29uc3RhbnR9LGRpc3RhbmNlVG9TcGhlcmU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGlzdGFuY2VUb1BvaW50KGEuY2VudGVyKS1hLnJhZGl1c30scHJvamVjdFBvaW50OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGNvbnNvbGUud2FybigiVEhSRUUuUGxhbmU6IC5wcm9qZWN0UG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7cmV0dXJuIGMuY29weSh0aGlzLm5vcm1hbCkubXVsdGlwbHlTY2FsYXIoLXRoaXMuZGlzdGFuY2VUb1BvaW50KGEpKS5hZGQoYSl9LGludGVyc2VjdExpbmU6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmludGVyc2VjdExpbmUoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksCmM9bmV3IGspO3ZhciBlPWEuZGVsdGEoT2kpLGc9dGhpcy5ub3JtYWwuZG90KGUpO2lmKDA9PT1nKXtpZigwPT09dGhpcy5kaXN0YW5jZVRvUG9pbnQoYS5zdGFydCkpcmV0dXJuIGMuY29weShhLnN0YXJ0KX1lbHNlIGlmKGc9LShhLnN0YXJ0LmRvdCh0aGlzLm5vcm1hbCkrdGhpcy5jb25zdGFudCkvZywhKDA+Z3x8MTxnKSlyZXR1cm4gYy5jb3B5KGUpLm11bHRpcGx5U2NhbGFyKGcpLmFkZChhLnN0YXJ0KX0saW50ZXJzZWN0c0xpbmU6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5kaXN0YW5jZVRvUG9pbnQoYS5zdGFydCk7YT10aGlzLmRpc3RhbmNlVG9Qb2ludChhLmVuZCk7cmV0dXJuIDA+YyYmMDxhfHwwPmEmJjA8Y30saW50ZXJzZWN0c0JveDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pbnRlcnNlY3RzUGxhbmUodGhpcyl9LGludGVyc2VjdHNTcGhlcmU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW50ZXJzZWN0c1BsYW5lKHRoaXMpfSxjb3BsYW5hclBvaW50OmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmNvcGxhbmFyUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYT1uZXcgayk7cmV0dXJuIGEuY29weSh0aGlzLm5vcm1hbCkubXVsdGlwbHlTY2FsYXIoLXRoaXMuY29uc3RhbnQpfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSxjKXtjPWN8fGJuLmdldE5vcm1hbE1hdHJpeChhKTthPXRoaXMuY29wbGFuYXJQb2ludChPaSkuYXBwbHlNYXRyaXg0KGEpO2M9dGhpcy5ub3JtYWwuYXBwbHlNYXRyaXgzKGMpLm5vcm1hbGl6ZSgpO3RoaXMuY29uc3RhbnQ9LWEuZG90KGMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSl7dGhpcy5jb25zdGFudC09YS5kb3QodGhpcy5ub3JtYWwpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9ybWFsLmVxdWFscyh0aGlzLm5vcm1hbCkmJmEuY29uc3RhbnQ9PT10aGlzLmNvbnN0YW50fX0pO3ZhciBvZj1uZXcgRyxzaD1uZXcgaztPYmplY3QuYXNzaWduKGxjLnByb3RvdHlwZSwKe3NldDpmdW5jdGlvbihhLGMsZSxnLHQsdil7dmFyIHo9dGhpcy5wbGFuZXM7elswXS5jb3B5KGEpO3pbMV0uY29weShjKTt6WzJdLmNvcHkoZSk7elszXS5jb3B5KGcpO3pbNF0uY29weSh0KTt6WzVdLmNvcHkodik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz10aGlzLnBsYW5lcyxlPTA7Nj5lO2UrKyljW2VdLmNvcHkoYS5wbGFuZXNbZV0pO3JldHVybiB0aGlzfSxzZXRGcm9tTWF0cml4OmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGxhbmVzLGU9YS5lbGVtZW50czthPWVbMF07dmFyIGc9ZVsxXSx0PWVbMl0sdj1lWzNdLHo9ZVs0XSxFPWVbNV0sRj1lWzZdLEk9ZVs3XSxNPWVbOF0sUD1lWzldLFE9ZVsxMF0sVT1lWzExXSxWPWVbMTJdLGVhPWVbMTNdLGRhPWVbMTRdO2U9ZVsxNV07Y1swXS5zZXRDb21wb25lbnRzKHYtYSxJLXosVS1NLGUtVikubm9ybWFsaXplKCk7CmNbMV0uc2V0Q29tcG9uZW50cyh2K2EsSSt6LFUrTSxlK1YpLm5vcm1hbGl6ZSgpO2NbMl0uc2V0Q29tcG9uZW50cyh2K2csSStFLFUrUCxlK2VhKS5ub3JtYWxpemUoKTtjWzNdLnNldENvbXBvbmVudHModi1nLEktRSxVLVAsZS1lYSkubm9ybWFsaXplKCk7Y1s0XS5zZXRDb21wb25lbnRzKHYtdCxJLUYsVS1RLGUtZGEpLm5vcm1hbGl6ZSgpO2NbNV0uc2V0Q29tcG9uZW50cyh2K3QsSStGLFUrUSxlK2RhKS5ub3JtYWxpemUoKTtyZXR1cm4gdGhpc30saW50ZXJzZWN0c09iamVjdDpmdW5jdGlvbihhKXt2YXIgYz1hLmdlb21ldHJ5O251bGw9PT1jLmJvdW5kaW5nU3BoZXJlJiZjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO29mLmNvcHkoYy5ib3VuZGluZ1NwaGVyZSkuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUob2YpfSxpbnRlcnNlY3RzU3ByaXRlOmZ1bmN0aW9uKGEpe29mLmNlbnRlci5zZXQoMCwwLDApO29mLnJhZGl1cz0KLjcwNzEwNjc4MTE4NjU0NzY7b2YuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUob2YpfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGxhbmVzLGU9YS5jZW50ZXI7YT0tYS5yYWRpdXM7Zm9yKHZhciBnPTA7Nj5nO2crKylpZihjW2ddLmRpc3RhbmNlVG9Qb2ludChlKTxhKXJldHVybiExO3JldHVybiEwfSxpbnRlcnNlY3RzQm94OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz10aGlzLnBsYW5lcyxlPTA7Nj5lO2UrKyl7dmFyIGc9Y1tlXTtzaC54PTA8Zy5ub3JtYWwueD9hLm1heC54OmEubWluLng7c2gueT0wPGcubm9ybWFsLnk/YS5tYXgueTphLm1pbi55O3NoLno9MDxnLm5vcm1hbC56P2EubWF4Lno6YS5taW4uejtpZigwPmcuZGlzdGFuY2VUb1BvaW50KHNoKSlyZXR1cm4hMX1yZXR1cm4hMH0sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5wbGFuZXMsZT0wOzY+ZTtlKyspaWYoMD4KY1tlXS5kaXN0YW5jZVRvUG9pbnQoYSkpcmV0dXJuITE7cmV0dXJuITB9fSk7dmFyIHJiPXthbHBoYW1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHRkaWZmdXNlQ29sb3IuYSAqXHgzZCB0ZXh0dXJlMkQoIGFscGhhTWFwLCB2VXYgKS5nO1xuI2VuZGlmIixhbHBoYW1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FMUEhBTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGFscGhhTWFwO1xuI2VuZGlmIixhbHBoYXRlc3RfZnJhZ21lbnQ6IiNpZmRlZiBBTFBIQVRFU1Rcblx0aWYgKCBkaWZmdXNlQ29sb3IuYSBceDNjIEFMUEhBVEVTVCApIGRpc2NhcmQ7XG4jZW5kaWYiLGFvbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FPTUFQXG5cdGZsb2F0IGFtYmllbnRPY2NsdXNpb24gXHgzZCAoIHRleHR1cmUyRCggYW9NYXAsIHZVdjIgKS5yIC0gMS4wICkgKiBhb01hcEludGVuc2l0eSArIDEuMDtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICpceDNkIGFtYmllbnRPY2NsdXNpb247XG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgXHgyNlx4MjYgZGVmaW5lZCggU1RBTkRBUkQgKVxuXHRcdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICpceDNkIGNvbXB1dGVTcGVjdWxhck9jY2x1c2lvbiggZG90TlYsIGFtYmllbnRPY2NsdXNpb24sIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzICk7XG5cdCNlbmRpZlxuI2VuZGlmIiwKYW9tYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhb01hcDtcblx0dW5pZm9ybSBmbG9hdCBhb01hcEludGVuc2l0eTtcbiNlbmRpZiIsYmVnaW5fdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkIFx4M2QgdmVjMyggcG9zaXRpb24gKTsiLGJlZ2lubm9ybWFsX3ZlcnRleDoidmVjMyBvYmplY3ROb3JtYWwgXHgzZCB2ZWMzKCBub3JtYWwgKTtcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIG9iamVjdFRhbmdlbnQgXHgzZCB2ZWMzKCB0YW5nZW50Lnh5eiApO1xuI2VuZGlmIixic2RmczoidmVjMiBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IHZlYzQgYzAgXHgzZCB2ZWM0KCAtIDEsIC0gMC4wMjc1LCAtIDAuNTcyLCAwLjAyMiApO1xuXHRjb25zdCB2ZWM0IGMxIFx4M2QgdmVjNCggMSwgMC4wNDI1LCAxLjA0LCAtIDAuMDQgKTtcblx0dmVjNCByIFx4M2Qgcm91Z2huZXNzICogYzAgKyBjMTtcblx0ZmxvYXQgYTAwNCBceDNkIG1pbiggci54ICogci54LCBleHAyKCAtIDkuMjggKiBkb3ROViApICkgKiByLnggKyByLnk7XG5cdHJldHVybiB2ZWMyKCAtMS4wNCwgMS4wNCApICogYTAwNCArIHIuenc7XG59XG5mbG9hdCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBjb25zdCBpbiBmbG9hdCBsaWdodERpc3RhbmNlLCBjb25zdCBpbiBmbG9hdCBjdXRvZmZEaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgZGVjYXlFeHBvbmVudCApIHtcbiNpZiBkZWZpbmVkICggUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUUyApXG5cdGZsb2F0IGRpc3RhbmNlRmFsbG9mZiBceDNkIDEuMCAvIG1heCggcG93KCBsaWdodERpc3RhbmNlLCBkZWNheUV4cG9uZW50ICksIDAuMDEgKTtcblx0aWYoIGN1dG9mZkRpc3RhbmNlIFx4M2UgMC4wICkge1xuXHRcdGRpc3RhbmNlRmFsbG9mZiAqXHgzZCBwb3cyKCBzYXR1cmF0ZSggMS4wIC0gcG93NCggbGlnaHREaXN0YW5jZSAvIGN1dG9mZkRpc3RhbmNlICkgKSApO1xuXHR9XG5cdHJldHVybiBkaXN0YW5jZUZhbGxvZmY7XG4jZWxzZVxuXHRpZiggY3V0b2ZmRGlzdGFuY2UgXHgzZSAwLjAgXHgyNlx4MjYgZGVjYXlFeHBvbmVudCBceDNlIDAuMCApIHtcblx0XHRyZXR1cm4gcG93KCBzYXR1cmF0ZSggLWxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSArIDEuMCApLCBkZWNheUV4cG9uZW50ICk7XG5cdH1cblx0cmV0dXJuIDEuMDtcbiNlbmRpZlxufVxudmVjMyBCUkRGX0RpZmZ1c2VfTGFtYmVydCggY29uc3QgaW4gdmVjMyBkaWZmdXNlQ29sb3IgKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogZGlmZnVzZUNvbG9yO1xufVxudmVjMyBGX1NjaGxpY2soIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgZG90TEggKSB7XG5cdGZsb2F0IGZyZXNuZWwgXHgzZCBleHAyKCAoIC01LjU1NDczICogZG90TEggLSA2Ljk4MzE2ICkgKiBkb3RMSCApO1xuXHRyZXR1cm4gKCAxLjAgLSBzcGVjdWxhckNvbG9yICkgKiBmcmVzbmVsICsgc3BlY3VsYXJDb2xvcjtcbn1cbnZlYzMgRl9TY2hsaWNrX1JvdWdobmVzc0RlcGVuZGVudCggY29uc3QgaW4gdmVjMyBGMCwgY29uc3QgaW4gZmxvYXQgZG90TlYsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgZnJlc25lbCBceDNkIGV4cDIoICggLTUuNTU0NzMgKiBkb3ROViAtIDYuOTgzMTYgKSAqIGRvdE5WICk7XG5cdHZlYzMgRnIgXHgzZCBtYXgoIHZlYzMoIDEuMCAtIHJvdWdobmVzcyApLCBGMCApIC0gRjA7XG5cdHJldHVybiBGciAqIGZyZXNuZWwgKyBGMDtcbn1cbmZsb2F0IEdfR0dYX1NtaXRoKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkwsIGNvbnN0IGluIGZsb2F0IGRvdE5WICkge1xuXHRmbG9hdCBhMiBceDNkIHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGdsIFx4M2QgZG90TkwgKyBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5MICkgKTtcblx0ZmxvYXQgZ3YgXHgzZCBkb3ROViArIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TlYgKSApO1xuXHRyZXR1cm4gMS4wIC8gKCBnbCAqIGd2ICk7XG59XG5mbG9hdCBHX0dHWF9TbWl0aENvcnJlbGF0ZWQoIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROTCwgY29uc3QgaW4gZmxvYXQgZG90TlYgKSB7XG5cdGZsb2F0IGEyIFx4M2QgcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZ3YgXHgzZCBkb3ROTCAqIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TlYgKSApO1xuXHRmbG9hdCBnbCBceDNkIGRvdE5WICogc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROTCApICk7XG5cdHJldHVybiAwLjUgLyBtYXgoIGd2ICsgZ2wsIEVQU0lMT04gKTtcbn1cbmZsb2F0IERfR0dYKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkggKSB7XG5cdGZsb2F0IGEyIFx4M2QgcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZGVub20gXHgzZCBwb3cyKCBkb3ROSCApICogKCBhMiAtIDEuMCApICsgMS4wO1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqIGEyIC8gcG93MiggZGVub20gKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9HR1goIGNvbnN0IGluIEluY2lkZW50TGlnaHQgaW5jaWRlbnRMaWdodCwgY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGFscGhhIFx4M2QgcG93Miggcm91Z2huZXNzICk7XG5cdHZlYzMgaGFsZkRpciBceDNkIG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyB2aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0ZmxvYXQgZG90TkggXHgzZCBzYXR1cmF0ZSggZG90KCBub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCBceDNkIHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrKCBzcGVjdWxhckNvbG9yLCBkb3RMSCApO1xuXHRmbG9hdCBHIFx4M2QgR19HR1hfU21pdGhDb3JyZWxhdGVkKCBhbHBoYSwgZG90TkwsIGRvdE5WICk7XG5cdGZsb2F0IEQgXHgzZCBEX0dHWCggYWxwaGEsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxudmVjMiBMVENfVXYoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IGZsb2F0IExVVF9TSVpFICBceDNkIDY0LjA7XG5cdGNvbnN0IGZsb2F0IExVVF9TQ0FMRSBceDNkICggTFVUX1NJWkUgLSAxLjAgKSAvIExVVF9TSVpFO1xuXHRjb25zdCBmbG9hdCBMVVRfQklBUyAgXHgzZCAwLjUgLyBMVVRfU0laRTtcblx0ZmxvYXQgZG90TlYgXHgzZCBzYXR1cmF0ZSggZG90KCBOLCBWICkgKTtcblx0dmVjMiB1diBceDNkIHZlYzIoIHJvdWdobmVzcywgc3FydCggMS4wIC0gZG90TlYgKSApO1xuXHR1diBceDNkIHV2ICogTFVUX1NDQUxFICsgTFVUX0JJQVM7XG5cdHJldHVybiB1djtcbn1cbmZsb2F0IExUQ19DbGlwcGVkU3BoZXJlRm9ybUZhY3RvciggY29uc3QgaW4gdmVjMyBmICkge1xuXHRmbG9hdCBsIFx4M2QgbGVuZ3RoKCBmICk7XG5cdHJldHVybiBtYXgoICggbCAqIGwgKyBmLnogKSAvICggbCArIDEuMCApLCAwLjAgKTtcbn1cbnZlYzMgTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb25zdCBpbiB2ZWMzIHYxLCBjb25zdCBpbiB2ZWMzIHYyICkge1xuXHRmbG9hdCB4IFx4M2QgZG90KCB2MSwgdjIgKTtcblx0ZmxvYXQgeSBceDNkIGFicyggeCApO1xuXHRmbG9hdCBhIFx4M2QgMC44NTQzOTg1ICsgKCAwLjQ5NjUxNTUgKyAwLjAxNDUyMDYgKiB5ICkgKiB5O1xuXHRmbG9hdCBiIFx4M2QgMy40MTc1OTQwICsgKCA0LjE2MTY3MjQgKyB5ICkgKiB5O1xuXHRmbG9hdCB2IFx4M2QgYSAvIGI7XG5cdGZsb2F0IHRoZXRhX3NpbnRoZXRhIFx4M2QgKCB4IFx4M2UgMC4wICkgPyB2IDogMC41ICogaW52ZXJzZXNxcnQoIG1heCggMS4wIC0geCAqIHgsIDFlLTcgKSApIC0gdjtcblx0cmV0dXJuIGNyb3NzKCB2MSwgdjIgKSAqIHRoZXRhX3NpbnRoZXRhO1xufVxudmVjMyBMVENfRXZhbHVhdGUoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiB2ZWMzIFAsIGNvbnN0IGluIG1hdDMgbUludiwgY29uc3QgaW4gdmVjMyByZWN0Q29vcmRzWyA0IF0gKSB7XG5cdHZlYzMgdjEgXHgzZCByZWN0Q29vcmRzWyAxIF0gLSByZWN0Q29vcmRzWyAwIF07XG5cdHZlYzMgdjIgXHgzZCByZWN0Q29vcmRzWyAzIF0gLSByZWN0Q29vcmRzWyAwIF07XG5cdHZlYzMgbGlnaHROb3JtYWwgXHgzZCBjcm9zcyggdjEsIHYyICk7XG5cdGlmKCBkb3QoIGxpZ2h0Tm9ybWFsLCBQIC0gcmVjdENvb3Jkc1sgMCBdICkgXHgzYyAwLjAgKSByZXR1cm4gdmVjMyggMC4wICk7XG5cdHZlYzMgVDEsIFQyO1xuXHRUMSBceDNkIG5vcm1hbGl6ZSggViAtIE4gKiBkb3QoIFYsIE4gKSApO1xuXHRUMiBceDNkIC0gY3Jvc3MoIE4sIFQxICk7XG5cdG1hdDMgbWF0IFx4M2QgbUludiAqIHRyYW5zcG9zZU1hdDMoIG1hdDMoIFQxLCBUMiwgTiApICk7XG5cdHZlYzMgY29vcmRzWyA0IF07XG5cdGNvb3Jkc1sgMCBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAwIF0gLSBQICk7XG5cdGNvb3Jkc1sgMSBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAxIF0gLSBQICk7XG5cdGNvb3Jkc1sgMiBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAyIF0gLSBQICk7XG5cdGNvb3Jkc1sgMyBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAzIF0gLSBQICk7XG5cdGNvb3Jkc1sgMCBdIFx4M2Qgbm9ybWFsaXplKCBjb29yZHNbIDAgXSApO1xuXHRjb29yZHNbIDEgXSBceDNkIG5vcm1hbGl6ZSggY29vcmRzWyAxIF0gKTtcblx0Y29vcmRzWyAyIF0gXHgzZCBub3JtYWxpemUoIGNvb3Jkc1sgMiBdICk7XG5cdGNvb3Jkc1sgMyBdIFx4M2Qgbm9ybWFsaXplKCBjb29yZHNbIDMgXSApO1xuXHR2ZWMzIHZlY3RvckZvcm1GYWN0b3IgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjdG9yRm9ybUZhY3RvciArXHgzZCBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMCBdLCBjb29yZHNbIDEgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICtceDNkIExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAxIF0sIGNvb3Jkc1sgMiBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgK1x4M2QgTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDIgXSwgY29vcmRzWyAzIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArXHgzZCBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMyBdLCBjb29yZHNbIDAgXSApO1xuXHRmbG9hdCByZXN1bHQgXHgzZCBMVENfQ2xpcHBlZFNwaGVyZUZvcm1GYWN0b3IoIHZlY3RvckZvcm1GYWN0b3IgKTtcblx0cmV0dXJuIHZlYzMoIHJlc3VsdCApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0dHWF9FbnZpcm9ubWVudCggY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0dmVjMiBicmRmIFx4M2QgaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHJldHVybiBzcGVjdWxhckNvbG9yICogYnJkZi54ICsgYnJkZi55O1xufVxudm9pZCBCUkRGX1NwZWN1bGFyX011bHRpc2NhdHRlcmluZ19FbnZpcm9ubWVudCggY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGlub3V0IHZlYzMgc2luZ2xlU2NhdHRlciwgaW5vdXQgdmVjMyBtdWx0aVNjYXR0ZXIgKSB7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrX1JvdWdobmVzc0RlcGVuZGVudCggc3BlY3VsYXJDb2xvciwgZG90TlYsIHJvdWdobmVzcyApO1xuXHR2ZWMyIGJyZGYgXHgzZCBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0dmVjMyBGc3NFc3MgXHgzZCBGICogYnJkZi54ICsgYnJkZi55O1xuXHRmbG9hdCBFc3MgXHgzZCBicmRmLnggKyBicmRmLnk7XG5cdGZsb2F0IEVtcyBceDNkIDEuMCAtIEVzcztcblx0dmVjMyBGYXZnIFx4M2Qgc3BlY3VsYXJDb2xvciArICggMS4wIC0gc3BlY3VsYXJDb2xvciApICogMC4wNDc2MTk7XHR2ZWMzIEZtcyBceDNkIEZzc0VzcyAqIEZhdmcgLyAoIDEuMCAtIEVtcyAqIEZhdmcgKTtcblx0c2luZ2xlU2NhdHRlciArXHgzZCBGc3NFc3M7XG5cdG11bHRpU2NhdHRlciArXHgzZCBGbXMgKiBFbXM7XG59XG5mbG9hdCBHX0JsaW5uUGhvbmdfSW1wbGljaXQoICkge1xuXHRyZXR1cm4gMC4yNTtcbn1cbmZsb2F0IERfQmxpbm5QaG9uZyggY29uc3QgaW4gZmxvYXQgc2hpbmluZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROSCApIHtcblx0cmV0dXJuIFJFQ0lQUk9DQUxfUEkgKiAoIHNoaW5pbmVzcyAqIDAuNSArIDEuMCApICogcG93KCBkb3ROSCwgc2hpbmluZXNzICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfQmxpbm5QaG9uZyggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBpbmNpZGVudExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHNoaW5pbmVzcyApIHtcblx0dmVjMyBoYWxmRGlyIFx4M2Qgbm9ybWFsaXplKCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiArIGdlb21ldHJ5LnZpZXdEaXIgKTtcblx0ZmxvYXQgZG90TkggXHgzZCBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCBceDNkIHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrKCBzcGVjdWxhckNvbG9yLCBkb3RMSCApO1xuXHRmbG9hdCBHIFx4M2QgR19CbGlublBob25nX0ltcGxpY2l0KCApO1xuXHRmbG9hdCBEIFx4M2QgRF9CbGlublBob25nKCBzaGluaW5lc3MsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxuZmxvYXQgR0dYUm91Z2huZXNzVG9CbGlubkV4cG9uZW50KCBjb25zdCBpbiBmbG9hdCBnZ3hSb3VnaG5lc3MgKSB7XG5cdHJldHVybiAoIDIuMCAvIHBvdzIoIGdneFJvdWdobmVzcyArIDAuMDAwMSApIC0gMi4wICk7XG59XG5mbG9hdCBCbGlubkV4cG9uZW50VG9HR1hSb3VnaG5lc3MoIGNvbnN0IGluIGZsb2F0IGJsaW5uRXhwb25lbnQgKSB7XG5cdHJldHVybiBzcXJ0KCAyLjAgLyAoIGJsaW5uRXhwb25lbnQgKyAyLjAgKSApO1xufVxuI2lmIGRlZmluZWQoIFVTRV9TSEVFTiApXG5mbG9hdCBEX0NoYXJsaWUoZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBOb0gpIHtcblx0ZmxvYXQgaW52QWxwaGEgIFx4M2QgMS4wIC8gcm91Z2huZXNzO1xuXHRmbG9hdCBjb3MyaCBceDNkIE5vSCAqIE5vSDtcblx0ZmxvYXQgc2luMmggXHgzZCBtYXgoMS4wIC0gY29zMmgsIDAuMDA3ODEyNSk7XHRyZXR1cm4gKDIuMCArIGludkFscGhhKSAqIHBvdyhzaW4yaCwgaW52QWxwaGEgKiAwLjUpIC8gKDIuMCAqIFBJKTtcbn1cbmZsb2F0IFZfTmV1YmVsdChmbG9hdCBOb1YsIGZsb2F0IE5vTCkge1xuXHRyZXR1cm4gc2F0dXJhdGUoMS4wIC8gKDQuMCAqIChOb0wgKyBOb1YgLSBOb0wgKiBOb1YpKSk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfU2hlZW4oIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gdmVjMyBMLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCB2ZWMzIHNwZWN1bGFyQ29sb3IgKSB7XG5cdHZlYzMgTiBceDNkIGdlb21ldHJ5Lm5vcm1hbDtcblx0dmVjMyBWIFx4M2QgZ2VvbWV0cnkudmlld0Rpcjtcblx0dmVjMyBIIFx4M2Qgbm9ybWFsaXplKCBWICsgTCApO1xuXHRmbG9hdCBkb3ROSCBceDNkIHNhdHVyYXRlKCBkb3QoIE4sIEggKSApO1xuXHRyZXR1cm4gc3BlY3VsYXJDb2xvciAqIERfQ2hhcmxpZSggcm91Z2huZXNzLCBkb3ROSCApICogVl9OZXViZWx0KCBkb3QoTiwgViksIGRvdChOLCBMKSApO1xufVxuI2VuZGlmIiwKYnVtcG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0JVTVBNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYnVtcE1hcDtcblx0dW5pZm9ybSBmbG9hdCBidW1wU2NhbGU7XG5cdHZlYzIgZEhkeHlfZndkKCkge1xuXHRcdHZlYzIgZFNUZHggXHgzZCBkRmR4KCB2VXYgKTtcblx0XHR2ZWMyIGRTVGR5IFx4M2QgZEZkeSggdlV2ICk7XG5cdFx0ZmxvYXQgSGxsIFx4M2QgYnVtcFNjYWxlICogdGV4dHVyZTJEKCBidW1wTWFwLCB2VXYgKS54O1xuXHRcdGZsb2F0IGRCeCBceDNkIGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHggKS54IC0gSGxsO1xuXHRcdGZsb2F0IGRCeSBceDNkIGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHkgKS54IC0gSGxsO1xuXHRcdHJldHVybiB2ZWMyKCBkQngsIGRCeSApO1xuXHR9XG5cdHZlYzMgcGVydHVyYk5vcm1hbEFyYiggdmVjMyBzdXJmX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgZEhkeHkgKSB7XG5cdFx0dmVjMyB2U2lnbWFYIFx4M2QgdmVjMyggZEZkeCggc3VyZl9wb3MueCApLCBkRmR4KCBzdXJmX3Bvcy55ICksIGRGZHgoIHN1cmZfcG9zLnogKSApO1xuXHRcdHZlYzMgdlNpZ21hWSBceDNkIHZlYzMoIGRGZHkoIHN1cmZfcG9zLnggKSwgZEZkeSggc3VyZl9wb3MueSApLCBkRmR5KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZOIFx4M2Qgc3VyZl9ub3JtO1xuXHRcdHZlYzMgUjEgXHgzZCBjcm9zcyggdlNpZ21hWSwgdk4gKTtcblx0XHR2ZWMzIFIyIFx4M2QgY3Jvc3MoIHZOLCB2U2lnbWFYICk7XG5cdFx0ZmxvYXQgZkRldCBceDNkIGRvdCggdlNpZ21hWCwgUjEgKTtcblx0XHRmRGV0ICpceDNkICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0XHR2ZWMzIHZHcmFkIFx4M2Qgc2lnbiggZkRldCApICogKCBkSGR4eS54ICogUjEgKyBkSGR4eS55ICogUjIgKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKCBhYnMoIGZEZXQgKSAqIHN1cmZfbm9ybSAtIHZHcmFkICk7XG5cdH1cbiNlbmRpZiIsCmNsaXBwaW5nX3BsYW5lc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgXHgzZSAwXG5cdHZlYzQgcGxhbmU7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpICsrICkge1xuXHRcdHBsYW5lIFx4M2QgY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRpZiAoIGRvdCggdlZpZXdQb3NpdGlvbiwgcGxhbmUueHl6ICkgXHgzZSBwbGFuZS53ICkgZGlzY2FyZDtcblx0fVxuXHQjaWYgVU5JT05fQ0xJUFBJTkdfUExBTkVTIFx4M2MgTlVNX0NMSVBQSU5HX1BMQU5FU1xuXHRcdGJvb2wgY2xpcHBlZCBceDNkIHRydWU7XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRcdGZvciAoIGludCBpIFx4M2QgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpIFx4M2MgTlVNX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRcdHBsYW5lIFx4M2QgY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRcdGNsaXBwZWQgXHgzZCAoIGRvdCggdlZpZXdQb3NpdGlvbiwgcGxhbmUueHl6ICkgXHgzZSBwbGFuZS53ICkgXHgyNlx4MjYgY2xpcHBlZDtcblx0XHR9XG5cdFx0aWYgKCBjbGlwcGVkICkgZGlzY2FyZDtcblx0I2VuZGlmXG4jZW5kaWYiLApjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgXHgzZSAwXG5cdCNpZiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0XHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcblx0I2VuZGlmXG5cdHVuaWZvcm0gdmVjNCBjbGlwcGluZ1BsYW5lc1sgTlVNX0NMSVBQSU5HX1BMQU5FUyBdO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTIFx4M2UgMCBceDI2XHgyNiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTIFx4M2UgMCBceDI2XHgyNiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0dlZpZXdQb3NpdGlvbiBceDNkIC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWYiLApjb2xvcl9mcmFnbWVudDoiI2lmZGVmIFVTRV9DT0xPUlxuXHRkaWZmdXNlQ29sb3IucmdiICpceDNkIHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DT0xPUlxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9DT0xPUlxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl92ZXJ0ZXg6IiNpZmRlZiBVU0VfQ09MT1Jcblx0dkNvbG9yLnh5eiBceDNkIGNvbG9yLnh5ejtcbiNlbmRpZiIsY29tbW9uOiIjZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTlcbiNkZWZpbmUgUEkyIDYuMjgzMTg1MzA3MThcbiNkZWZpbmUgUElfSEFMRiAxLjU3MDc5NjMyNjc5NDlcbiNkZWZpbmUgUkVDSVBST0NBTF9QSSAwLjMxODMwOTg4NjE4XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkyIDAuMTU5MTU0OTRcbiNkZWZpbmUgTE9HMiAxLjQ0MjY5NVxuI2RlZmluZSBFUFNJTE9OIDFlLTZcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNkZWZpbmUgd2hpdGVDb21wbGVtZW50KGEpICggMS4wIC0gc2F0dXJhdGUoIGEgKSApXG5mbG9hdCBwb3cyKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4OyB9XG5mbG9hdCBwb3czKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4Kng7IH1cbmZsb2F0IHBvdzQoIGNvbnN0IGluIGZsb2F0IHggKSB7IGZsb2F0IHgyIFx4M2QgeCp4OyByZXR1cm4geDIqeDI7IH1cbmZsb2F0IGF2ZXJhZ2UoIGNvbnN0IGluIHZlYzMgY29sb3IgKSB7IHJldHVybiBkb3QoIGNvbG9yLCB2ZWMzKCAwLjMzMzMgKSApOyB9XG5oaWdocCBmbG9hdCByYW5kKCBjb25zdCBpbiB2ZWMyIHV2ICkge1xuXHRjb25zdCBoaWdocCBmbG9hdCBhIFx4M2QgMTIuOTg5OCwgYiBceDNkIDc4LjIzMywgYyBceDNkIDQzNzU4LjU0NTM7XG5cdGhpZ2hwIGZsb2F0IGR0IFx4M2QgZG90KCB1di54eSwgdmVjMiggYSxiICkgKSwgc24gXHgzZCBtb2QoIGR0LCBQSSApO1xuXHRyZXR1cm4gZnJhY3Qoc2luKHNuKSAqIGMpO1xufVxuI2lmZGVmIEhJR0hfUFJFQ0lTSU9OXG5cdGZsb2F0IHByZWNpc2lvblNhZmVMZW5ndGgoIHZlYzMgdiApIHsgcmV0dXJuIGxlbmd0aCggdiApOyB9XG4jZWxzZVxuXHRmbG9hdCBtYXgzKCB2ZWMzIHYgKSB7IHJldHVybiBtYXgoIG1heCggdi54LCB2LnkgKSwgdi56ICk7IH1cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkge1xuXHRcdGZsb2F0IG1heENvbXBvbmVudCBceDNkIG1heDMoIGFicyggdiApICk7XG5cdFx0cmV0dXJuIGxlbmd0aCggdiAvIG1heENvbXBvbmVudCApICogbWF4Q29tcG9uZW50O1xuXHR9XG4jZW5kaWZcbnN0cnVjdCBJbmNpZGVudExpZ2h0IHtcblx0dmVjMyBjb2xvcjtcblx0dmVjMyBkaXJlY3Rpb247XG5cdGJvb2wgdmlzaWJsZTtcbn07XG5zdHJ1Y3QgUmVmbGVjdGVkTGlnaHQge1xuXHR2ZWMzIGRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgZGlyZWN0U3BlY3VsYXI7XG5cdHZlYzMgaW5kaXJlY3REaWZmdXNlO1xuXHR2ZWMzIGluZGlyZWN0U3BlY3VsYXI7XG59O1xuc3RydWN0IEdlb21ldHJpY0NvbnRleHQge1xuXHR2ZWMzIHBvc2l0aW9uO1xuXHR2ZWMzIG5vcm1hbDtcblx0dmVjMyB2aWV3RGlyO1xuI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxufTtcbnZlYzMgdHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xufVxudmVjMyBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggdmVjNCggZGlyLCAwLjAgKSAqIG1hdHJpeCApLnh5eiApO1xufVxudmVjMyBwcm9qZWN0T25QbGFuZShpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0ZmxvYXQgZGlzdGFuY2UgXHgzZCBkb3QoIHBsYW5lTm9ybWFsLCBwb2ludCAtIHBvaW50T25QbGFuZSApO1xuXHRyZXR1cm4gLSBkaXN0YW5jZSAqIHBsYW5lTm9ybWFsICsgcG9pbnQ7XG59XG5mbG9hdCBzaWRlT2ZQbGFuZSggaW4gdmVjMyBwb2ludCwgaW4gdmVjMyBwb2ludE9uUGxhbmUsIGluIHZlYzMgcGxhbmVOb3JtYWwgKSB7XG5cdHJldHVybiBzaWduKCBkb3QoIHBvaW50IC0gcG9pbnRPblBsYW5lLCBwbGFuZU5vcm1hbCApICk7XG59XG52ZWMzIGxpbmVQbGFuZUludGVyc2VjdCggaW4gdmVjMyBwb2ludE9uTGluZSwgaW4gdmVjMyBsaW5lRGlyZWN0aW9uLCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIGxpbmVEaXJlY3Rpb24gKiAoIGRvdCggcGxhbmVOb3JtYWwsIHBvaW50T25QbGFuZSAtIHBvaW50T25MaW5lICkgLyBkb3QoIHBsYW5lTm9ybWFsLCBsaW5lRGlyZWN0aW9uICkgKSArIHBvaW50T25MaW5lO1xufVxubWF0MyB0cmFuc3Bvc2VNYXQzKCBjb25zdCBpbiBtYXQzIG0gKSB7XG5cdG1hdDMgdG1wO1xuXHR0bXBbIDAgXSBceDNkIHZlYzMoIG1bIDAgXS54LCBtWyAxIF0ueCwgbVsgMiBdLnggKTtcblx0dG1wWyAxIF0gXHgzZCB2ZWMzKCBtWyAwIF0ueSwgbVsgMSBdLnksIG1bIDIgXS55ICk7XG5cdHRtcFsgMiBdIFx4M2QgdmVjMyggbVsgMCBdLnosIG1bIDEgXS56LCBtWyAyIF0ueiApO1xuXHRyZXR1cm4gdG1wO1xufVxuZmxvYXQgbGluZWFyVG9SZWxhdGl2ZUx1bWluYW5jZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHtcblx0dmVjMyB3ZWlnaHRzIFx4M2QgdmVjMyggMC4yMTI2LCAwLjcxNTIsIDAuMDcyMiApO1xuXHRyZXR1cm4gZG90KCB3ZWlnaHRzLCBjb2xvci5yZ2IgKTtcbn0iLApjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ6IiNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFX1VWXG4jZGVmaW5lIGN1YmVVVl90ZXh0dXJlU2l6ZSAoMTAyNC4wKVxuaW50IGdldEZhY2VGcm9tRGlyZWN0aW9uKHZlYzMgZGlyZWN0aW9uKSB7XG5cdHZlYzMgYWJzRGlyZWN0aW9uIFx4M2QgYWJzKGRpcmVjdGlvbik7XG5cdGludCBmYWNlIFx4M2QgLTE7XG5cdGlmKCBhYnNEaXJlY3Rpb24ueCBceDNlIGFic0RpcmVjdGlvbi56ICkge1xuXHRcdGlmKGFic0RpcmVjdGlvbi54IFx4M2UgYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0ZmFjZSBceDNkIGRpcmVjdGlvbi54IFx4M2UgMC4wID8gMCA6IDM7XG5cdFx0ZWxzZVxuXHRcdFx0ZmFjZSBceDNkIGRpcmVjdGlvbi55IFx4M2UgMC4wID8gMSA6IDQ7XG5cdH1cblx0ZWxzZSB7XG5cdFx0aWYoYWJzRGlyZWN0aW9uLnogXHgzZSBhYnNEaXJlY3Rpb24ueSApXG5cdFx0XHRmYWNlIFx4M2QgZGlyZWN0aW9uLnogXHgzZSAwLjAgPyAyIDogNTtcblx0XHRlbHNlXG5cdFx0XHRmYWNlIFx4M2QgZGlyZWN0aW9uLnkgXHgzZSAwLjAgPyAxIDogNDtcblx0fVxuXHRyZXR1cm4gZmFjZTtcbn1cbiNkZWZpbmUgY3ViZVVWX21heExvZHMxICAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAxLjApXG4jZGVmaW5lIGN1YmVVVl9yYW5nZUNsYW1wIChleHAyKCg2LjAgLSAxLjApICogMi4wKSlcbnZlYzIgTWlwTGV2ZWxJbmZvKCB2ZWMzIHZlYywgZmxvYXQgcm91Z2huZXNzTGV2ZWwsIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgc2NhbGUgXHgzZCBleHAyKGN1YmVVVl9tYXhMb2RzMSAtIHJvdWdobmVzc0xldmVsKTtcblx0ZmxvYXQgZHhSb3VnaG5lc3MgXHgzZCBkRmR4KHJvdWdobmVzcyk7XG5cdGZsb2F0IGR5Um91Z2huZXNzIFx4M2QgZEZkeShyb3VnaG5lc3MpO1xuXHR2ZWMzIGR4IFx4M2QgZEZkeCggdmVjICogc2NhbGUgKiBkeFJvdWdobmVzcyApO1xuXHR2ZWMzIGR5IFx4M2QgZEZkeSggdmVjICogc2NhbGUgKiBkeVJvdWdobmVzcyApO1xuXHRmbG9hdCBkIFx4M2QgbWF4KCBkb3QoIGR4LCBkeCApLCBkb3QoIGR5LCBkeSApICk7XG5cdGQgXHgzZCBjbGFtcChkLCAxLjAsIGN1YmVVVl9yYW5nZUNsYW1wKTtcblx0ZmxvYXQgbWlwTGV2ZWwgXHgzZCAwLjUgKiBsb2cyKGQpO1xuXHRyZXR1cm4gdmVjMihmbG9vcihtaXBMZXZlbCksIGZyYWN0KG1pcExldmVsKSk7XG59XG4jZGVmaW5lIGN1YmVVVl9tYXhMb2RzMiAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAyLjApXG4jZGVmaW5lIGN1YmVVVl9yY3BUZXh0dXJlU2l6ZSAoMS4wIC8gY3ViZVVWX3RleHR1cmVTaXplKVxudmVjMiBnZXRDdWJlVVYodmVjMyBkaXJlY3Rpb24sIGZsb2F0IHJvdWdobmVzc0xldmVsLCBmbG9hdCBtaXBMZXZlbCkge1xuXHRtaXBMZXZlbCBceDNkIHJvdWdobmVzc0xldmVsIFx4M2UgY3ViZVVWX21heExvZHMyIC0gMy4wID8gMC4wIDogbWlwTGV2ZWw7XG5cdGZsb2F0IGEgXHgzZCAxNi4wICogY3ViZVVWX3JjcFRleHR1cmVTaXplO1xuXHR2ZWMyIGV4cDJfcGFja2VkIFx4M2QgZXhwMiggdmVjMiggcm91Z2huZXNzTGV2ZWwsIG1pcExldmVsICkgKTtcblx0dmVjMiByY3BfZXhwMl9wYWNrZWQgXHgzZCB2ZWMyKCAxLjAgKSAvIGV4cDJfcGFja2VkO1xuXHRmbG9hdCBwb3dTY2FsZSBceDNkIGV4cDJfcGFja2VkLnggKiBleHAyX3BhY2tlZC55O1xuXHRmbG9hdCBzY2FsZSBceDNkIHJjcF9leHAyX3BhY2tlZC54ICogcmNwX2V4cDJfcGFja2VkLnkgKiAwLjI1O1xuXHRmbG9hdCBtaXBPZmZzZXQgXHgzZCAwLjc1KigxLjAgLSByY3BfZXhwMl9wYWNrZWQueSkgKiByY3BfZXhwMl9wYWNrZWQueDtcblx0Ym9vbCBiUmVzIFx4M2QgbWlwTGV2ZWwgXHgzZFx4M2QgMC4wO1xuXHRzY2FsZSBceDNkICBiUmVzIFx4MjZceDI2IChzY2FsZSBceDNjIGEpID8gYSA6IHNjYWxlO1xuXHR2ZWMzIHI7XG5cdHZlYzIgb2Zmc2V0O1xuXHRpbnQgZmFjZSBceDNkIGdldEZhY2VGcm9tRGlyZWN0aW9uKGRpcmVjdGlvbik7XG5cdGZsb2F0IHJjcFBvd1NjYWxlIFx4M2QgMS4wIC8gcG93U2NhbGU7XG5cdGlmKCBmYWNlIFx4M2RceDNkIDApIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueCwgLWRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueSk7XG5cdFx0b2Zmc2V0IFx4M2QgdmVjMigwLjArbWlwT2Zmc2V0LDAuNzUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IGEgOiBvZmZzZXQueTtcblx0fVxuXHRlbHNlIGlmKCBmYWNlIFx4M2RceDNkIDEpIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueSwgZGlyZWN0aW9uLngsIGRpcmVjdGlvbi56KTtcblx0XHRvZmZzZXQgXHgzZCB2ZWMyKHNjYWxlK21pcE9mZnNldCwgMC43NSAqIHJjcFBvd1NjYWxlKTtcblx0XHRvZmZzZXQueSBceDNkIGJSZXMgXHgyNlx4MjYgKG9mZnNldC55IFx4M2MgMi4wKmEpID8gYSA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgMikge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkpO1xuXHRcdG9mZnNldCBceDNkIHZlYzIoMi4wKnNjYWxlK21pcE9mZnNldCwgMC43NSAqIHJjcFBvd1NjYWxlKTtcblx0XHRvZmZzZXQueSBceDNkIGJSZXMgXHgyNlx4MjYgKG9mZnNldC55IFx4M2MgMi4wKmEpID8gYSA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgMykge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkpO1xuXHRcdG9mZnNldCBceDNkIHZlYzIoMC4wK21pcE9mZnNldCwwLjUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IDAuMCA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgNCkge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi55LCBkaXJlY3Rpb24ueCwgLWRpcmVjdGlvbi56KTtcblx0XHRvZmZzZXQgXHgzZCB2ZWMyKHNjYWxlK21pcE9mZnNldCwgMC41ICogcmNwUG93U2NhbGUpO1xuXHRcdG9mZnNldC55IFx4M2QgYlJlcyBceDI2XHgyNiAob2Zmc2V0LnkgXHgzYyAyLjAqYSkgPyAwLjAgOiBvZmZzZXQueTtcblx0fVxuXHRlbHNlIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueiwgLWRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSk7XG5cdFx0b2Zmc2V0IFx4M2QgdmVjMigyLjAqc2NhbGUrbWlwT2Zmc2V0LCAwLjUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IDAuMCA6IG9mZnNldC55O1xuXHR9XG5cdHIgXHgzZCBub3JtYWxpemUocik7XG5cdGZsb2F0IHRleGVsT2Zmc2V0IFx4M2QgMC41ICogY3ViZVVWX3JjcFRleHR1cmVTaXplO1xuXHR2ZWMyIHMgXHgzZCAoIHIueXogLyBhYnMoIHIueCApICsgdmVjMiggMS4wICkgKSAqIDAuNTtcblx0dmVjMiBiYXNlIFx4M2Qgb2Zmc2V0ICsgdmVjMiggdGV4ZWxPZmZzZXQgKTtcblx0cmV0dXJuIGJhc2UgKyBzICogKCBzY2FsZSAtIDIuMCAqIHRleGVsT2Zmc2V0ICk7XG59XG4jZGVmaW5lIGN1YmVVVl9tYXhMb2RzMyAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAzLjApXG52ZWM0IHRleHR1cmVDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgcmVmbGVjdGVkRGlyZWN0aW9uLCBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IHJvdWdobmVzc1ZhbCBceDNkIHJvdWdobmVzcyogY3ViZVVWX21heExvZHMzO1xuXHRmbG9hdCByMSBceDNkIGZsb29yKHJvdWdobmVzc1ZhbCk7XG5cdGZsb2F0IHIyIFx4M2QgcjEgKyAxLjA7XG5cdGZsb2F0IHQgXHgzZCBmcmFjdChyb3VnaG5lc3NWYWwpO1xuXHR2ZWMyIG1pcEluZm8gXHgzZCBNaXBMZXZlbEluZm8ocmVmbGVjdGVkRGlyZWN0aW9uLCByMSwgcm91Z2huZXNzKTtcblx0ZmxvYXQgcyBceDNkIG1pcEluZm8ueTtcblx0ZmxvYXQgbGV2ZWwwIFx4M2QgbWlwSW5mby54O1xuXHRmbG9hdCBsZXZlbDEgXHgzZCBsZXZlbDAgKyAxLjA7XG5cdGxldmVsMSBceDNkIGxldmVsMSBceDNlIDUuMCA/IDUuMCA6IGxldmVsMTtcblx0bGV2ZWwwICtceDNkIG1pbiggZmxvb3IoIHMgKyAwLjUgKSwgNS4wICk7XG5cdHZlYzIgdXZfMTAgXHgzZCBnZXRDdWJlVVYocmVmbGVjdGVkRGlyZWN0aW9uLCByMSwgbGV2ZWwwKTtcblx0dmVjNCBjb2xvcjEwIFx4M2QgZW52TWFwVGV4ZWxUb0xpbmVhcih0ZXh0dXJlMkQoZW52TWFwLCB1dl8xMCkpO1xuXHR2ZWMyIHV2XzIwIFx4M2QgZ2V0Q3ViZVVWKHJlZmxlY3RlZERpcmVjdGlvbiwgcjIsIGxldmVsMCk7XG5cdHZlYzQgY29sb3IyMCBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIodGV4dHVyZTJEKGVudk1hcCwgdXZfMjApKTtcblx0dmVjNCByZXN1bHQgXHgzZCBtaXgoY29sb3IxMCwgY29sb3IyMCwgdCk7XG5cdHJldHVybiB2ZWM0KHJlc3VsdC5yZ2IsIDEuMCk7XG59XG4jZW5kaWYiLApkZWZhdWx0bm9ybWFsX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCBceDNkIG5vcm1hbE1hdHJpeCAqIG9iamVjdE5vcm1hbDtcbiNpZmRlZiBGTElQX1NJREVEXG5cdHRyYW5zZm9ybWVkTm9ybWFsIFx4M2QgLSB0cmFuc2Zvcm1lZE5vcm1hbDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9UQU5HRU5UXG5cdHZlYzMgdHJhbnNmb3JtZWRUYW5nZW50IFx4M2Qgbm9ybWFsTWF0cml4ICogb2JqZWN0VGFuZ2VudDtcblx0I2lmZGVmIEZMSVBfU0lERURcblx0XHR0cmFuc2Zvcm1lZFRhbmdlbnQgXHgzZCAtIHRyYW5zZm9ybWVkVGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWYiLGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZGlzcGxhY2VtZW50TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGRpc3BsYWNlbWVudFNjYWxlO1xuXHR1bmlmb3JtIGZsb2F0IGRpc3BsYWNlbWVudEJpYXM7XG4jZW5kaWYiLGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg6IiNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdHRyYW5zZm9ybWVkICtceDNkIG5vcm1hbGl6ZSggb2JqZWN0Tm9ybWFsICkgKiAoIHRleHR1cmUyRCggZGlzcGxhY2VtZW50TWFwLCB1diApLnggKiBkaXNwbGFjZW1lbnRTY2FsZSArIGRpc3BsYWNlbWVudEJpYXMgKTtcbiNlbmRpZiIsCmVtaXNzaXZlbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VNSVNTSVZFTUFQXG5cdHZlYzQgZW1pc3NpdmVDb2xvciBceDNkIHRleHR1cmUyRCggZW1pc3NpdmVNYXAsIHZVdiApO1xuXHRlbWlzc2l2ZUNvbG9yLnJnYiBceDNkIGVtaXNzaXZlTWFwVGV4ZWxUb0xpbmVhciggZW1pc3NpdmVDb2xvciApLnJnYjtcblx0dG90YWxFbWlzc2l2ZVJhZGlhbmNlICpceDNkIGVtaXNzaXZlQ29sb3IucmdiO1xuI2VuZGlmIixlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VNSVNTSVZFTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGVtaXNzaXZlTWFwO1xuI2VuZGlmIixlbmNvZGluZ3NfZnJhZ21lbnQ6ImdsX0ZyYWdDb2xvciBceDNkIGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApOyIsZW5jb2RpbmdzX3BhcnNfZnJhZ21lbnQ6IlxudmVjNCBMaW5lYXJUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZhbHVlO1xufVxudmVjNCBHYW1tYVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBnYW1tYUZhY3RvciApIHtcblx0cmV0dXJuIHZlYzQoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCBnYW1tYUZhY3RvciApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgTGluZWFyVG9HYW1tYSggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgZ2FtbWFGYWN0b3IgKSB7XG5cdHJldHVybiB2ZWM0KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggMS4wIC8gZ2FtbWFGYWN0b3IgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IHNSR0JUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIG1peCggcG93KCB2YWx1ZS5yZ2IgKiAwLjk0Nzg2NzI5ODYgKyB2ZWMzKCAwLjA1MjEzMjcwMTQgKSwgdmVjMyggMi40ICkgKSwgdmFsdWUucmdiICogMC4wNzczOTkzODA4LCB2ZWMzKCBsZXNzVGhhbkVxdWFsKCB2YWx1ZS5yZ2IsIHZlYzMoIDAuMDQwNDUgKSApICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBMaW5lYXJUb3NSR0IoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCBtaXgoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCAwLjQxNjY2ICkgKSAqIDEuMDU1IC0gdmVjMyggMC4wNTUgKSwgdmFsdWUucmdiICogMTIuOTIsIHZlYzMoIGxlc3NUaGFuRXF1YWwoIHZhbHVlLnJnYiwgdmVjMyggMC4wMDMxMzA4ICkgKSApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgUkdCRVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogZXhwMiggdmFsdWUuYSAqIDI1NS4wIC0gMTI4LjAgKSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCRSggaW4gdmVjNCB2YWx1ZSApIHtcblx0ZmxvYXQgbWF4Q29tcG9uZW50IFx4M2QgbWF4KCBtYXgoIHZhbHVlLnIsIHZhbHVlLmcgKSwgdmFsdWUuYiApO1xuXHRmbG9hdCBmRXhwIFx4M2QgY2xhbXAoIGNlaWwoIGxvZzIoIG1heENvbXBvbmVudCApICksIC0xMjguMCwgMTI3LjAgKTtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAvIGV4cDIoIGZFeHAgKSwgKCBmRXhwICsgMTI4LjAgKSAvIDI1NS4wICk7XG59XG52ZWM0IFJHQk1Ub0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiB2YWx1ZS5hICogbWF4UmFuZ2UsIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQk0oIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRmbG9hdCBtYXhSR0IgXHgzZCBtYXgoIHZhbHVlLnIsIG1heCggdmFsdWUuZywgdmFsdWUuYiApICk7XG5cdGZsb2F0IE0gXHgzZCBjbGFtcCggbWF4UkdCIC8gbWF4UmFuZ2UsIDAuMCwgMS4wICk7XG5cdE0gXHgzZCBjZWlsKCBNICogMjU1LjAgKSAvIDI1NS4wO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiIC8gKCBNICogbWF4UmFuZ2UgKSwgTSApO1xufVxudmVjNCBSR0JEVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCAoIG1heFJhbmdlIC8gMjU1LjAgKSAvIHZhbHVlLmEgKSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCRCggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdGZsb2F0IG1heFJHQiBceDNkIG1heCggdmFsdWUuciwgbWF4KCB2YWx1ZS5nLCB2YWx1ZS5iICkgKTtcblx0ZmxvYXQgRCBceDNkIG1heCggbWF4UmFuZ2UgLyBtYXhSR0IsIDEuMCApO1xuXHREIFx4M2QgbWluKCBmbG9vciggRCApIC8gMjU1LjAsIDEuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCBEICogKCAyNTUuMCAvIG1heFJhbmdlICkgKSwgRCApO1xufVxuY29uc3QgbWF0MyBjTG9nTHV2TSBceDNkIG1hdDMoIDAuMjIwOSwgMC4zMzkwLCAwLjQxODQsIDAuMTEzOCwgMC42NzgwLCAwLjczMTksIDAuMDEwMiwgMC4xMTMwLCAwLjI5NjkgKTtcbnZlYzQgTGluZWFyVG9Mb2dMdXYoIGluIHZlYzQgdmFsdWUgKSAge1xuXHR2ZWMzIFhwX1lfWFlacCBceDNkIGNMb2dMdXZNICogdmFsdWUucmdiO1xuXHRYcF9ZX1hZWnAgXHgzZCBtYXgoIFhwX1lfWFlacCwgdmVjMyggMWUtNiwgMWUtNiwgMWUtNiApICk7XG5cdHZlYzQgdlJlc3VsdDtcblx0dlJlc3VsdC54eSBceDNkIFhwX1lfWFlacC54eSAvIFhwX1lfWFlacC56O1xuXHRmbG9hdCBMZSBceDNkIDIuMCAqIGxvZzIoWHBfWV9YWVpwLnkpICsgMTI3LjA7XG5cdHZSZXN1bHQudyBceDNkIGZyYWN0KCBMZSApO1xuXHR2UmVzdWx0LnogXHgzZCAoIExlIC0gKCBmbG9vciggdlJlc3VsdC53ICogMjU1LjAgKSApIC8gMjU1LjAgKSAvIDI1NS4wO1xuXHRyZXR1cm4gdlJlc3VsdDtcbn1cbmNvbnN0IG1hdDMgY0xvZ0x1dkludmVyc2VNIFx4M2QgbWF0MyggNi4wMDE0LCAtMi43MDA4LCAtMS43OTk2LCAtMS4zMzIwLCAzLjEwMjksIC01Ljc3MjEsIDAuMzAwOCwgLTEuMDg4MiwgNS42MjY4ICk7XG52ZWM0IExvZ0x1dlRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRmbG9hdCBMZSBceDNkIHZhbHVlLnogKiAyNTUuMCArIHZhbHVlLnc7XG5cdHZlYzMgWHBfWV9YWVpwO1xuXHRYcF9ZX1hZWnAueSBceDNkIGV4cDIoICggTGUgLSAxMjcuMCApIC8gMi4wICk7XG5cdFhwX1lfWFlacC56IFx4M2QgWHBfWV9YWVpwLnkgLyB2YWx1ZS55O1xuXHRYcF9ZX1hZWnAueCBceDNkIHZhbHVlLnggKiBYcF9ZX1hZWnAuejtcblx0dmVjMyB2UkdCIFx4M2QgY0xvZ0x1dkludmVyc2VNICogWHBfWV9YWVpwLnJnYjtcblx0cmV0dXJuIHZlYzQoIG1heCggdlJHQiwgMC4wICksIDEuMCApO1xufSIsCmVudm1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmZGVmIEVOVl9XT1JMRFBPU1xuXHRcdHZlYzMgY2FtZXJhVG9WZXJ0ZXggXHgzZCBub3JtYWxpemUoIHZXb3JsZFBvc2l0aW9uIC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggbm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZlYzMgcmVmbGVjdFZlYyBceDNkIHJlZmxlY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZyYWN0KCBjYW1lcmFUb1ZlcnRleCwgd29ybGROb3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHQjZWxzZVxuXHRcdHZlYzMgcmVmbGVjdFZlYyBceDNkIHZSZWZsZWN0O1xuXHQjZW5kaWZcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR2ZWM0IGVudkNvbG9yIFx4M2QgdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0VRVUlSRUMgKVxuXHRcdHZlYzIgc2FtcGxlVVY7XG5cdFx0cmVmbGVjdFZlYyBceDNkIG5vcm1hbGl6ZSggcmVmbGVjdFZlYyApO1xuXHRcdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggcmVmbGVjdFZlYy55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdFx0c2FtcGxlVVYueCBceDNkIGF0YW4oIHJlZmxlY3RWZWMueiwgcmVmbGVjdFZlYy54ICkgKiBSRUNJUFJPQ0FMX1BJMiArIDAuNTtcblx0XHR2ZWM0IGVudkNvbG9yIFx4M2QgdGV4dHVyZTJEKCBlbnZNYXAsIHNhbXBsZVVWICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX1NQSEVSRSApXG5cdFx0cmVmbGVjdFZlYyBceDNkIG5vcm1hbGl6ZSggcmVmbGVjdFZlYyApO1xuXHRcdHZlYzMgcmVmbGVjdFZpZXcgXHgzZCBub3JtYWxpemUoICggdmlld01hdHJpeCAqIHZlYzQoIHJlZmxlY3RWZWMsIDAuMCApICkueHl6ICsgdmVjMyggMC4wLCAwLjAsIDEuMCApICk7XG5cdFx0dmVjNCBlbnZDb2xvciBceDNkIHRleHR1cmUyRCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSApO1xuXHQjZWxzZVxuXHRcdHZlYzQgZW52Q29sb3IgXHgzZCB2ZWM0KCAwLjAgKTtcblx0I2VuZGlmXG5cdGVudkNvbG9yIFx4M2QgZW52TWFwVGV4ZWxUb0xpbmVhciggZW52Q29sb3IgKTtcblx0I2lmZGVmIEVOVk1BUF9CTEVORElOR19NVUxUSVBMWVxuXHRcdG91dGdvaW5nTGlnaHQgXHgzZCBtaXgoIG91dGdvaW5nTGlnaHQsIG91dGdvaW5nTGlnaHQgKiBlbnZDb2xvci54eXosIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHkgKTtcblx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX0JMRU5ESU5HX01JWCApXG5cdFx0b3V0Z29pbmdMaWdodCBceDNkIG1peCggb3V0Z29pbmdMaWdodCwgZW52Q29sb3IueHl6LCBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5ICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9CTEVORElOR19BREQgKVxuXHRcdG91dGdvaW5nTGlnaHQgK1x4M2QgZW52Q29sb3IueHl6ICogc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eTtcblx0I2VuZGlmXG4jZW5kaWYiLAplbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgZW52TWFwSW50ZW5zaXR5O1xuXHR1bmlmb3JtIGZsb2F0IGZsaXBFbnZNYXA7XG5cdHVuaWZvcm0gaW50IG1heE1pcExldmVsO1xuXHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdHVuaWZvcm0gc2FtcGxlckN1YmUgZW52TWFwO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0I2VuZGlmXG5cdFxuI2VuZGlmIixlbnZtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG5cdCNpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFVTRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHQjZW5kaWZcbiNlbmRpZiIsCmVudm1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmIGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVVNFX05PUk1BTE1BUCApIHx8ZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0XG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApXG5cdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZSQUNUSU9OXG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbmRpZlxuXHR2ZWMzIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggZ2VvbWV0cnkubm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmVDdWJlTG9kRVhUKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmVDdWJlKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgXHgzZCBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRcdHZlYzMgcXVlcnlWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdHZlYzQgZW52TWFwQ29sb3IgXHgzZCB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHF1ZXJ5VmVjLCAxLjAgKTtcblx0XHQjZWxzZVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHZlYzQoIDAuMCApO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBQSSAqIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuXHRmbG9hdCBnZXRTcGVjdWxhck1JUExldmVsKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHRmbG9hdCBtYXhNSVBMZXZlbFNjYWxhciBceDNkIGZsb2F0KCBtYXhNSVBMZXZlbCApO1xuXHRcdGZsb2F0IHNpZ21hIFx4M2QgUEkgKiByb3VnaG5lc3MgKiByb3VnaG5lc3MgLyAoIDEuMCArIHJvdWdobmVzcyApO1xuXHRcdGZsb2F0IGRlc2lyZWRNSVBMZXZlbCBceDNkIG1heE1JUExldmVsU2NhbGFyICsgbG9nMiggc2lnbWEgKTtcblx0XHRyZXR1cm4gY2xhbXAoIGRlc2lyZWRNSVBMZXZlbCwgMC4wLCBtYXhNSVBMZXZlbFNjYWxhciApO1xuXHR9XG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0ICB2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZsZWN0KCAtdmlld0Rpciwgbm9ybWFsICk7XG5cdFx0ICByZWZsZWN0VmVjIFx4M2Qgbm9ybWFsaXplKCBtaXgoIHJlZmxlY3RWZWMsIG5vcm1hbCwgcm91Z2huZXNzICogcm91Z2huZXNzKSApO1xuXHRcdCNlbHNlXG5cdFx0ICB2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZyYWN0KCAtdmlld0Rpciwgbm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0XHRyZWZsZWN0VmVjIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggcmVmbGVjdFZlYywgdmlld01hdHJpeCApO1xuXHRcdGZsb2F0IHNwZWN1bGFyTUlQTGV2ZWwgXHgzZCBnZXRTcGVjdWxhck1JUExldmVsKCByb3VnaG5lc3MsIG1heE1JUExldmVsICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlSZWZsZWN0VmVjIFx4M2QgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjMyBxdWVyeVJlZmxlY3RWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogcmVmbGVjdFZlYy54LCByZWZsZWN0VmVjLnl6ICk7XG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmVVViggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHJvdWdobmVzcyApO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0VRVUlSRUMgKVxuXHRcdFx0dmVjMiBzYW1wbGVVVjtcblx0XHRcdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggcmVmbGVjdFZlYy55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdFx0XHRzYW1wbGVVVi54IFx4M2QgYXRhbiggcmVmbGVjdFZlYy56LCByZWZsZWN0VmVjLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZTJETG9kRVhUKCBlbnZNYXAsIHNhbXBsZVVWLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZTJEKCBlbnZNYXAsIHNhbXBsZVVWLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX1NQSEVSRSApXG5cdFx0XHR2ZWMzIHJlZmxlY3RWaWV3IFx4M2Qgbm9ybWFsaXplKCAoIHZpZXdNYXRyaXggKiB2ZWM0KCByZWZsZWN0VmVjLCAwLjAgKSApLnh5eiArIHZlYzMoIDAuMCwwLjAsMS4wICkgKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmUyRExvZEVYVCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSwgc3BlY3VsYXJNSVBMZXZlbCApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmUyRCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSwgc3BlY3VsYXJNSVBMZXZlbCApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgXHgzZCBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZW5kaWZcblx0XHRyZXR1cm4gZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG4jZW5kaWYiLAplbnZtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dldvcmxkUG9zaXRpb24gXHgzZCB3b3JsZFBvc2l0aW9uLnh5ejtcblx0I2Vsc2Vcblx0XHR2ZWMzIGNhbWVyYVRvVmVydGV4IFx4M2Qgbm9ybWFsaXplKCB3b3JsZFBvc2l0aW9uLnh5eiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCBceDNkIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZSZWZsZWN0IFx4M2QgcmVmbGVjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZSZWZsZWN0IFx4M2QgcmVmcmFjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWYiLGZvZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdGZvZ0RlcHRoIFx4M2QgLW12UG9zaXRpb24uejtcbiNlbmRpZiIsCmZvZ19wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9GT0dcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcbiNlbmRpZiIsZm9nX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0ZPR1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHRmbG9hdCBmb2dGYWN0b3IgXHgzZCAxLjAgLSBleHAoIC0gZm9nRGVuc2l0eSAqIGZvZ0RlbnNpdHkgKiBmb2dEZXB0aCAqIGZvZ0RlcHRoICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgZm9nRmFjdG9yIFx4M2Qgc21vb3Roc3RlcCggZm9nTmVhciwgZm9nRmFyLCBmb2dEZXB0aCApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yLnJnYiBceDNkIG1peCggZ2xfRnJhZ0NvbG9yLnJnYiwgZm9nQ29sb3IsIGZvZ0ZhY3RvciApO1xuI2VuZGlmIixmb2dfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0dW5pZm9ybSB2ZWMzIGZvZ0NvbG9yO1xuXHR2YXJ5aW5nIGZsb2F0IGZvZ0RlcHRoO1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0RlbnNpdHk7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dOZWFyO1xuXHRcdHVuaWZvcm0gZmxvYXQgZm9nRmFyO1xuXHQjZW5kaWZcbiNlbmRpZiIsCmdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBUT09OXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGdyYWRpZW50TWFwO1xuXHR2ZWMzIGdldEdyYWRpZW50SXJyYWRpYW5jZSggdmVjMyBub3JtYWwsIHZlYzMgbGlnaHREaXJlY3Rpb24gKSB7XG5cdFx0ZmxvYXQgZG90TkwgXHgzZCBkb3QoIG5vcm1hbCwgbGlnaHREaXJlY3Rpb24gKTtcblx0XHR2ZWMyIGNvb3JkIFx4M2QgdmVjMiggZG90TkwgKiAwLjUgKyAwLjUsIDAuMCApO1xuXHRcdCNpZmRlZiBVU0VfR1JBRElFTlRNQVBcblx0XHRcdHJldHVybiB0ZXh0dXJlMkQoIGdyYWRpZW50TWFwLCBjb29yZCApLnJnYjtcblx0XHQjZWxzZVxuXHRcdFx0cmV0dXJuICggY29vcmQueCBceDNjIDAuNyApID8gdmVjMyggMC43ICkgOiB2ZWMzKCAxLjAgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIixsaWdodG1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgUEkgKiB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICkueHl6ICogbGlnaHRNYXBJbnRlbnNpdHk7XG4jZW5kaWYiLApsaWdodG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGxpZ2h0TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodHNfbGFtYmVydF92ZXJ0ZXg6InZlYzMgZGlmZnVzZSBceDNkIHZlYzMoIDEuMCApO1xuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uIFx4M2QgbXZQb3NpdGlvbi54eXo7XG5nZW9tZXRyeS5ub3JtYWwgXHgzZCBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5nZW9tZXRyeS52aWV3RGlyIFx4M2Qgbm9ybWFsaXplKCAtbXZQb3NpdGlvbi54eXogKTtcbkdlb21ldHJpY0NvbnRleHQgYmFja0dlb21ldHJ5O1xuYmFja0dlb21ldHJ5LnBvc2l0aW9uIFx4M2QgZ2VvbWV0cnkucG9zaXRpb247XG5iYWNrR2VvbWV0cnkubm9ybWFsIFx4M2QgLWdlb21ldHJ5Lm5vcm1hbDtcbmJhY2tHZW9tZXRyeS52aWV3RGlyIFx4M2QgZ2VvbWV0cnkudmlld0RpcjtcbnZMaWdodEZyb250IFx4M2QgdmVjMyggMC4wICk7XG52SW5kaXJlY3RGcm9udCBceDNkIHZlYzMoIDAuMCApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2TGlnaHRCYWNrIFx4M2QgdmVjMyggMC4wICk7XG5cdHZJbmRpcmVjdEJhY2sgXHgzZCB2ZWMzKCAwLjAgKTtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbmZsb2F0IGRvdE5MO1xudmVjMyBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG4jaWYgTlVNX1BPSU5UX0xJR0hUUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCBceDNkIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgXHgzZCBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICtceDNkIHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgK1x4M2Qgc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fU1BPVF9MSUdIVFMgXHgzZSAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgXHgzZCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlIFx4M2QgUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArXHgzZCBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICtceDNkIHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmXG4jaWYgTlVNX0RJUl9MSUdIVFMgXHgzZSAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MIFx4M2QgZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSBceDNkIFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgK1x4M2Qgc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArXHgzZCBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0dkluZGlyZWN0RnJvbnQgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZJbmRpcmVjdEJhY2sgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBiYWNrR2VvbWV0cnkgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIiwKbGlnaHRzX3BhcnNfYmVnaW46InVuaWZvcm0gdmVjMyBhbWJpZW50TGlnaHRDb2xvcjtcbnVuaWZvcm0gdmVjMyBsaWdodFByb2JlWyA5IF07XG52ZWMzIHNoR2V0SXJyYWRpYW5jZUF0KCBpbiB2ZWMzIG5vcm1hbCwgaW4gdmVjMyBzaENvZWZmaWNpZW50c1sgOSBdICkge1xuXHRmbG9hdCB4IFx4M2Qgbm9ybWFsLngsIHkgXHgzZCBub3JtYWwueSwgeiBceDNkIG5vcm1hbC56O1xuXHR2ZWMzIHJlc3VsdCBceDNkIHNoQ29lZmZpY2llbnRzWyAwIF0gKiAwLjg4NjIyNztcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA0IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB5O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDUgXSAqIDIuMCAqIDAuNDI5MDQzICogeSAqIHo7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNiBdICogKCAwLjc0MzEyNSAqIHogKiB6IC0gMC4yNDc3MDggKTtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA3IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDggXSAqIDAuNDI5MDQzICogKCB4ICogeCAtIHkgKiB5ICk7XG5cdHJldHVybiByZXN1bHQ7XG59XG52ZWMzIGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGxpZ2h0UHJvYmVbIDkgXSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSApIHtcblx0dmVjMyB3b3JsZE5vcm1hbCBceDNkIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGdlb21ldHJ5Lm5vcm1hbCwgdmlld01hdHJpeCApO1xuXHR2ZWMzIGlycmFkaWFuY2UgXHgzZCBzaEdldElycmFkaWFuY2VBdCggd29ybGROb3JtYWwsIGxpZ2h0UHJvYmUgKTtcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG52ZWMzIGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgYW1iaWVudExpZ2h0Q29sb3IgKSB7XG5cdHZlYzMgaXJyYWRpYW5jZSBceDNkIGFtYmllbnRMaWdodENvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHQjZW5kaWZcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG4jaWYgTlVNX0RJUl9MSUdIVFMgXHgzZSAwXG5cdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGludCBzaGFkb3c7XG5cdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHR9O1xuXHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodHNbIE5VTV9ESVJfTElHSFRTIF07XG5cdHZvaWQgZ2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgXHgzZCBkaXJlY3Rpb25hbExpZ2h0LmNvbG9yO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiBceDNkIGRpcmVjdGlvbmFsTGlnaHQuZGlyZWN0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgXHgzZCB0cnVlO1xuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTIFx4M2UgMFxuXHRzdHJ1Y3QgUG9pbnRMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHRcdGludCBzaGFkb3c7XG5cdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHR9O1xuXHR1bmlmb3JtIFBvaW50TGlnaHQgcG9pbnRMaWdodHNbIE5VTV9QT0lOVF9MSUdIVFMgXTtcblx0dm9pZCBnZXRQb2ludERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gUG9pbnRMaWdodCBwb2ludExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBvdXQgSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCApIHtcblx0XHR2ZWMzIGxWZWN0b3IgXHgzZCBwb2ludExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uIFx4M2Qgbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSBceDNkIGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yIFx4M2QgcG9pbnRMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqXHgzZCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBwb2ludExpZ2h0LmRpc3RhbmNlLCBwb2ludExpZ2h0LmRlY2F5ICk7XG5cdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSBceDNkICggZGlyZWN0TGlnaHQuY29sb3IgIVx4M2QgdmVjMyggMC4wICkgKTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1NQT1RfTElHSFRTIFx4M2UgMFxuXHRzdHJ1Y3QgU3BvdExpZ2h0IHtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgZGlyZWN0aW9uO1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0ZmxvYXQgZGlzdGFuY2U7XG5cdFx0ZmxvYXQgZGVjYXk7XG5cdFx0ZmxvYXQgY29uZUNvcztcblx0XHRmbG9hdCBwZW51bWJyYUNvcztcblx0XHRpbnQgc2hhZG93O1xuXHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0fTtcblx0dW5pZm9ybSBTcG90TGlnaHQgc3BvdExpZ2h0c1sgTlVNX1NQT1RfTElHSFRTIF07XG5cdHZvaWQgZ2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gU3BvdExpZ2h0IHNwb3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgICkge1xuXHRcdHZlYzMgbFZlY3RvciBceDNkIHNwb3RMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiBceDNkIG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgXHgzZCBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRmbG9hdCBhbmdsZUNvcyBceDNkIGRvdCggZGlyZWN0TGlnaHQuZGlyZWN0aW9uLCBzcG90TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0aWYgKCBhbmdsZUNvcyBceDNlIHNwb3RMaWdodC5jb25lQ29zICkge1xuXHRcdFx0ZmxvYXQgc3BvdEVmZmVjdCBceDNkIHNtb290aHN0ZXAoIHNwb3RMaWdodC5jb25lQ29zLCBzcG90TGlnaHQucGVudW1icmFDb3MsIGFuZ2xlQ29zICk7XG5cdFx0XHRkaXJlY3RMaWdodC5jb2xvciBceDNkIHNwb3RMaWdodC5jb2xvcjtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yICpceDNkIHNwb3RFZmZlY3QgKiBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBzcG90TGlnaHQuZGlzdGFuY2UsIHNwb3RMaWdodC5kZWNheSApO1xuXHRcdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSBceDNkIHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yIFx4M2QgdmVjMyggMC4wICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlIFx4M2QgZmFsc2U7XG5cdFx0fVxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyBceDNlIDBcblx0c3RydWN0IFJlY3RBcmVhTGlnaHQge1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQ7XG5cdH07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIGx0Y18xO1x0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzI7XG5cdHVuaWZvcm0gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0c1sgTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXTtcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyBceDNlIDBcblx0c3RydWN0IEhlbWlzcGhlcmVMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBza3lDb2xvcjtcblx0XHR2ZWMzIGdyb3VuZENvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIEhlbWlzcGhlcmVMaWdodCBoZW1pc3BoZXJlTGlnaHRzWyBOVU1fSEVNSV9MSUdIVFMgXTtcblx0dmVjMyBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBIZW1pc3BoZXJlTGlnaHQgaGVtaUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5ICkge1xuXHRcdGZsb2F0IGRvdE5MIFx4M2QgZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhlbWlMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBoZW1pRGlmZnVzZVdlaWdodCBceDNkIDAuNSAqIGRvdE5MICsgMC41O1xuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIG1peCggaGVtaUxpZ2h0Lmdyb3VuZENvbG9yLCBoZW1pTGlnaHQuc2t5Q29sb3IsIGhlbWlEaWZmdXNlV2VpZ2h0ICk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBpcnJhZGlhbmNlO1xuXHR9XG4jZW5kaWYiLApsaWdodHNfcGhvbmdfZnJhZ21lbnQ6IkJsaW5uUGhvbmdNYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciBceDNkIGRpZmZ1c2VDb2xvci5yZ2I7XG5tYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2Qgc3BlY3VsYXI7XG5tYXRlcmlhbC5zcGVjdWxhclNoaW5pbmVzcyBceDNkIHNoaW5pbmVzcztcbm1hdGVyaWFsLnNwZWN1bGFyU3RyZW5ndGggXHgzZCBzcGVjdWxhclN0cmVuZ3RoOyIsbGlnaHRzX3Bob25nX3BhcnNfZnJhZ21lbnQ6InZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuc3RydWN0IEJsaW5uUGhvbmdNYXRlcmlhbCB7XG5cdHZlYzNcdGRpZmZ1c2VDb2xvcjtcblx0dmVjM1x0c3BlY3VsYXJDb2xvcjtcblx0ZmxvYXRcdHNwZWN1bGFyU2hpbmluZXNzO1xuXHRmbG9hdFx0c3BlY3VsYXJTdHJlbmd0aDtcbn07XG52b2lkIFJFX0RpcmVjdF9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHQjaWZkZWYgVE9PTlxuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIGdldEdyYWRpZW50SXJyYWRpYW5jZSggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGRvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIGRvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNlbmRpZlxuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArXHgzZCBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArXHgzZCBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9CbGlublBob25nKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IsIG1hdGVyaWFsLnNwZWN1bGFyU2hpbmluZXNzICkgKiBtYXRlcmlhbC5zcGVjdWxhclN0cmVuZ3RoO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfQmxpbm5QaG9uZyggY29uc3QgaW4gdmVjMyBpcnJhZGlhbmNlLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbiNkZWZpbmUgUkVfRGlyZWN0XHRcdFx0XHRSRV9EaXJlY3RfQmxpbm5QaG9uZ1xuI2RlZmluZSBSRV9JbmRpcmVjdERpZmZ1c2VcdFx0UkVfSW5kaXJlY3REaWZmdXNlX0JsaW5uUGhvbmdcbiNkZWZpbmUgTWF0ZXJpYWxfTGlnaHRQcm9iZUxPRCggbWF0ZXJpYWwgKVx0KDApIiwKbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50OiJQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yIFx4M2QgZGlmZnVzZUNvbG9yLnJnYiAqICggMS4wIC0gbWV0YWxuZXNzRmFjdG9yICk7XG5tYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyBceDNkIGNsYW1wKCByb3VnaG5lc3NGYWN0b3IsIDAuMDQsIDEuMCApO1xuI2lmZGVmIFJFRkxFQ1RJVklUWVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2QgbWl4KCB2ZWMzKCBNQVhJTVVNX1NQRUNVTEFSX0NPRUZGSUNJRU5UICogcG93MiggcmVmbGVjdGl2aXR5ICkgKSwgZGlmZnVzZUNvbG9yLnJnYiwgbWV0YWxuZXNzRmFjdG9yICk7XG4jZWxzZVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2QgbWl4KCB2ZWMzKCBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UICksIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdG1hdGVyaWFsLmNsZWFyY29hdCBceDNkIHNhdHVyYXRlKCBjbGVhcmNvYXQgKTtcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyBceDNkIGNsYW1wKCBjbGVhcmNvYXRSb3VnaG5lc3MsIDAuMDQsIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdG1hdGVyaWFsLnNoZWVuQ29sb3IgXHgzZCBzaGVlbjtcbiNlbmRpZiIsCmxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiJzdHJ1Y3QgUGh5c2ljYWxNYXRlcmlhbCB7XG5cdHZlYzNcdGRpZmZ1c2VDb2xvcjtcblx0ZmxvYXRcdHNwZWN1bGFyUm91Z2huZXNzO1xuXHR2ZWMzXHRzcGVjdWxhckNvbG9yO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRmbG9hdCBjbGVhcmNvYXQ7XG5cdGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR2ZWMzIHNoZWVuQ29sb3I7XG4jZW5kaWZcbn07XG4jZGVmaW5lIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4xNlxuI2RlZmluZSBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UIDAuMDRcbmZsb2F0IGNsZWFyY29hdERIUkFwcHJveCggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROTCApIHtcblx0cmV0dXJuIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKyAoIDEuMCAtIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSAqICggcG93KCAxLjAgLSBkb3ROTCwgNS4wICkgKiBwb3coIDEuMCAtIHJvdWdobmVzcywgMi4wICkgKTtcbn1cbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyBceDNlIDBcblx0dm9pZCBSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWwoIGNvbnN0IGluIFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdFx0dmVjMyBub3JtYWwgXHgzZCBnZW9tZXRyeS5ub3JtYWw7XG5cdFx0dmVjMyB2aWV3RGlyIFx4M2QgZ2VvbWV0cnkudmlld0Rpcjtcblx0XHR2ZWMzIHBvc2l0aW9uIFx4M2QgZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0dmVjMyBsaWdodFBvcyBceDNkIHJlY3RBcmVhTGlnaHQucG9zaXRpb247XG5cdFx0dmVjMyBoYWxmV2lkdGggXHgzZCByZWN0QXJlYUxpZ2h0LmhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQgXHgzZCByZWN0QXJlYUxpZ2h0LmhhbGZIZWlnaHQ7XG5cdFx0dmVjMyBsaWdodENvbG9yIFx4M2QgcmVjdEFyZWFMaWdodC5jb2xvcjtcblx0XHRmbG9hdCByb3VnaG5lc3MgXHgzZCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcztcblx0XHR2ZWMzIHJlY3RDb29yZHNbIDQgXTtcblx0XHRyZWN0Q29vcmRzWyAwIF0gXHgzZCBsaWdodFBvcyArIGhhbGZXaWR0aCAtIGhhbGZIZWlnaHQ7XHRcdHJlY3RDb29yZHNbIDEgXSBceDNkIGxpZ2h0UG9zIC0gaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAyIF0gXHgzZCBsaWdodFBvcyAtIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0cmVjdENvb3Jkc1sgMyBdIFx4M2QgbGlnaHRQb3MgKyBoYWxmV2lkdGggKyBoYWxmSGVpZ2h0O1xuXHRcdHZlYzIgdXYgXHgzZCBMVENfVXYoIG5vcm1hbCwgdmlld0Rpciwgcm91Z2huZXNzICk7XG5cdFx0dmVjNCB0MSBceDNkIHRleHR1cmUyRCggbHRjXzEsIHV2ICk7XG5cdFx0dmVjNCB0MiBceDNkIHRleHR1cmUyRCggbHRjXzIsIHV2ICk7XG5cdFx0bWF0MyBtSW52IFx4M2QgbWF0Myhcblx0XHRcdHZlYzMoIHQxLngsIDAsIHQxLnkgKSxcblx0XHRcdHZlYzMoICAgIDAsIDEsICAgIDAgKSxcblx0XHRcdHZlYzMoIHQxLnosIDAsIHQxLncgKVxuXHRcdCk7XG5cdFx0dmVjMyBmcmVzbmVsIFx4M2QgKCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICogdDIueCArICggdmVjMyggMS4wICkgLSBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICkgKiB0Mi55ICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgK1x4M2QgbGlnaHRDb2xvciAqIGZyZXNuZWwgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1JbnYsIHJlY3RDb29yZHMgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICtceDNkIGxpZ2h0Q29sb3IgKiBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1hdDMoIDEuMCApLCByZWN0Q29vcmRzICk7XG5cdH1cbiNlbmRpZlxudm9pZCBSRV9EaXJlY3RfUGh5c2ljYWwoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCBceDNkIHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2QgZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqXHgzZCBQSTtcblx0I2VuZGlmXG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgY2NJcnJhZGlhbmNlIFx4M2QgY2NEb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdFx0Y2NJcnJhZGlhbmNlICpceDNkIFBJO1xuXHRcdCNlbmRpZlxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiBceDNkIG1hdGVyaWFsLmNsZWFyY29hdCAqIGNsZWFyY29hdERIUkFwcHJveCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBjY0RvdE5MICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgK1x4M2QgY2NJcnJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1goIGRpcmVjdExpZ2h0LCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSIFx4M2QgMC4wO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9TSEVFTlxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICtceDNkICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9TaGVlbihcblx0XHRcdG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLFxuXHRcdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uLFxuXHRcdFx0Z2VvbWV0cnksXG5cdFx0XHRtYXRlcmlhbC5zaGVlbkNvbG9yXG5cdFx0KTtcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArXHgzZCAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfR0dYKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkubm9ybWFsLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICtceDNkICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWwoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArXHgzZCBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIHJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0KSB7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICtceDNkIGNsZWFyY29hdFJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKTtcblx0XHRmbG9hdCBjY0RvdE5MIFx4M2QgY2NEb3ROVjtcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgXHgzZCBtYXRlcmlhbC5jbGVhcmNvYXQgKiBjbGVhcmNvYXRESFJBcHByb3goIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgY2NEb3ROTCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiBceDNkIDAuMDtcblx0I2VuZGlmXG5cdGZsb2F0IGNsZWFyY29hdEludiBceDNkIDEuMCAtIGNsZWFyY29hdERIUjtcblx0dmVjMyBzaW5nbGVTY2F0dGVyaW5nIFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzMgbXVsdGlTY2F0dGVyaW5nIFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzMgY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlIFx4M2QgaXJyYWRpYW5jZSAqIFJFQ0lQUk9DQUxfUEk7XG5cdEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIHNpbmdsZVNjYXR0ZXJpbmcsIG11bHRpU2NhdHRlcmluZyApO1xuXHR2ZWMzIGRpZmZ1c2UgXHgzZCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiAoIDEuMCAtICggc2luZ2xlU2NhdHRlcmluZyArIG11bHRpU2NhdHRlcmluZyApICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgK1x4M2QgY2xlYXJjb2F0SW52ICogcmFkaWFuY2UgKiBzaW5nbGVTY2F0dGVyaW5nO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgbXVsdGlTY2F0dGVyaW5nICogY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgZGlmZnVzZSAqIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZTtcbn1cbiNkZWZpbmUgUkVfRGlyZWN0XHRcdFx0XHRSRV9EaXJlY3RfUGh5c2ljYWxcbiNkZWZpbmUgUkVfRGlyZWN0X1JlY3RBcmVhXHRcdFJFX0RpcmVjdF9SZWN0QXJlYV9QaHlzaWNhbFxuI2RlZmluZSBSRV9JbmRpcmVjdERpZmZ1c2VcdFx0UkVfSW5kaXJlY3REaWZmdXNlX1BoeXNpY2FsXG4jZGVmaW5lIFJFX0luZGlyZWN0U3BlY3VsYXJcdFx0UkVfSW5kaXJlY3RTcGVjdWxhcl9QaHlzaWNhbFxuZmxvYXQgY29tcHV0ZVNwZWN1bGFyT2NjbHVzaW9uKCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgYW1iaWVudE9jY2x1c2lvbiwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRyZXR1cm4gc2F0dXJhdGUoIHBvdyggZG90TlYgKyBhbWJpZW50T2NjbHVzaW9uLCBleHAyKCAtIDE2LjAgKiByb3VnaG5lc3MgLSAxLjAgKSApIC0gMS4wICsgYW1iaWVudE9jY2x1c2lvbiApO1xufSIsCmxpZ2h0c19mcmFnbWVudF9iZWdpbjoiXG5HZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5O1xuZ2VvbWV0cnkucG9zaXRpb24gXHgzZCAtIHZWaWV3UG9zaXRpb247XG5nZW9tZXRyeS5ub3JtYWwgXHgzZCBub3JtYWw7XG5nZW9tZXRyeS52aWV3RGlyIFx4M2Qgbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCBceDNkIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbiNpZiAoIE5VTV9QT0lOVF9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0UG9pbnRMaWdodCBwb2ludExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCBceDNkIHBvaW50TGlnaHRzWyBpIF07XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgXHgyNlx4MjYgKCBVTlJPTExFRF9MT09QX0lOREVYIFx4M2MgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgKVxuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICpceDNkIGFsbCggYnZlYzIoIHBvaW50TGlnaHQuc2hhZG93LCBkaXJlY3RMaWdodC52aXNpYmxlICkgKSA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHQuc2hhZG93QmlhcywgcG9pbnRMaWdodC5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX1NQT1RfTElHSFRTIFx4M2UgMCApIFx4MjZceDI2IGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFNwb3RMaWdodCBzcG90TGlnaHQ7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCBceDNkIHNwb3RMaWdodHNbIGkgXTtcblx0XHRnZXRTcG90RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBzcG90TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgXHgyNlx4MjYgKCBVTlJPTExFRF9MT09QX0lOREVYIFx4M2MgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyApXG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKlx4M2QgYWxsKCBidmVjMiggc3BvdExpZ2h0LnNoYWRvdywgZGlyZWN0TGlnaHQudmlzaWJsZSApICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodC5zaGFkb3dCaWFzLCBzcG90TGlnaHQuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX0RJUl9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9ESVJfTElHSFRTOyBpICsrICkge1xuXHRcdGRpcmVjdGlvbmFsTGlnaHQgXHgzZCBkaXJlY3Rpb25hbExpZ2h0c1sgaSBdO1xuXHRcdGdldERpcmVjdGlvbmFsRGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBkaXJlY3Rpb25hbExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApIFx4MjZceDI2ICggVU5ST0xMRURfTE9PUF9JTkRFWCBceDNjIE5VTV9ESVJfTElHSFRfU0hBRE9XUyApXG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKlx4M2QgYWxsKCBidmVjMiggZGlyZWN0aW9uYWxMaWdodC5zaGFkb3csIGRpcmVjdExpZ2h0LnZpc2libGUgKSApID8gZ2V0U2hhZG93KCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgaSBdLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd01hcFNpemUsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93QmlhcywgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dSYWRpdXMsIHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0X1JlY3RBcmVhIClcblx0UmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9SRUNUX0FSRUFfTElHSFRTOyBpICsrICkge1xuXHRcdHJlY3RBcmVhTGlnaHQgXHgzZCByZWN0QXJlYUxpZ2h0c1sgaSBdO1xuXHRcdFJFX0RpcmVjdF9SZWN0QXJlYSggcmVjdEFyZWFMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHR2ZWMzIGlibElycmFkaWFuY2UgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2QgZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0aXJyYWRpYW5jZSArXHgzZCBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkgKTtcblx0I2lmICggTlVNX0hFTUlfTElHSFRTIFx4M2UgMCApXG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRcdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHRcdGlycmFkaWFuY2UgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdH1cblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0dmVjMyByYWRpYW5jZSBceDNkIHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNsZWFyY29hdFJhZGlhbmNlIFx4M2QgdmVjMyggMC4wICk7XG4jZW5kaWYiLApsaWdodHNfZnJhZ21lbnRfbWFwczoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdCNpZmRlZiBVU0VfTElHSFRNQVBcblx0XHR2ZWMzIGxpZ2h0TWFwSXJyYWRpYW5jZSBceDNkIHRleHR1cmUyRCggbGlnaHRNYXAsIHZVdjIgKS54eXogKiBsaWdodE1hcEludGVuc2l0eTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGxpZ2h0TWFwSXJyYWRpYW5jZSAqXHgzZCBQSTtcblx0XHQjZW5kaWZcblx0XHRpcnJhZGlhbmNlICtceDNkIGxpZ2h0TWFwSXJyYWRpYW5jZTtcblx0I2VuZGlmXG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgXHgyNlx4MjYgZGVmaW5lZCggU1RBTkRBUkQgKSBceDI2XHgyNiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRpYmxJcnJhZGlhbmNlICtceDNkIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGdlb21ldHJ5LCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSBceDI2XHgyNiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0cmFkaWFuY2UgK1x4M2QgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRjbGVhcmNvYXRSYWRpYW5jZSArXHgzZCBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNlbmRpZlxuI2VuZGlmIiwKbGlnaHRzX2ZyYWdtZW50X2VuZDoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdFJFX0luZGlyZWN0RGlmZnVzZSggaXJyYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdFJFX0luZGlyZWN0U3BlY3VsYXIoIHJhZGlhbmNlLCBpYmxJcnJhZGlhbmNlLCBjbGVhcmNvYXRSYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApIFx4MjZceDI2IGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHRnbF9GcmFnRGVwdGhFWFQgXHgzZCBsb2cyKCB2RnJhZ0RlcHRoICkgKiBsb2dEZXB0aEJ1ZkZDICogMC41O1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGICkgXHgyNlx4MjYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGX0VYVCApXG5cdHVuaWZvcm0gZmxvYXQgbG9nRGVwdGhCdWZGQztcblx0dmFyeWluZyBmbG9hdCB2RnJhZ0RlcHRoO1xuI2VuZGlmIiwKbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHQjZW5kaWZcbiNlbmRpZiIsbG9nZGVwdGhidWZfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dkZyYWdEZXB0aCBceDNkIDEuMCArIGdsX1Bvc2l0aW9uLnc7XG5cdCNlbHNlXG5cdFx0Z2xfUG9zaXRpb24ueiBceDNkIGxvZzIoIG1heCggRVBTSUxPTiwgZ2xfUG9zaXRpb24udyArIDEuMCApICkgKiBsb2dEZXB0aEJ1ZkZDIC0gMS4wO1xuXHRcdGdsX1Bvc2l0aW9uLnogKlx4M2QgZ2xfUG9zaXRpb24udztcblx0I2VuZGlmXG4jZW5kaWYiLG1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dmVjNCB0ZXhlbENvbG9yIFx4M2QgdGV4dHVyZTJEKCBtYXAsIHZVdiApO1xuXHR0ZXhlbENvbG9yIFx4M2QgbWFwVGV4ZWxUb0xpbmVhciggdGV4ZWxDb2xvciApO1xuXHRkaWZmdXNlQ29sb3IgKlx4M2QgdGV4ZWxDb2xvcjtcbiNlbmRpZiIsCm1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtYXA7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dmVjMiB1diBceDNkICggdXZUcmFuc2Zvcm0gKiB2ZWMzKCBnbF9Qb2ludENvb3JkLngsIDEuMCAtIGdsX1BvaW50Q29vcmQueSwgMSApICkueHk7XG5cdHZlYzQgbWFwVGV4ZWwgXHgzZCB0ZXh0dXJlMkQoIG1hcCwgdXYgKTtcblx0ZGlmZnVzZUNvbG9yICpceDNkIG1hcFRleGVsVG9MaW5lYXIoIG1hcFRleGVsICk7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1hcDtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCBtZXRhbG5lc3NGYWN0b3IgXHgzZCBtZXRhbG5lc3M7XG4jaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR2ZWM0IHRleGVsTWV0YWxuZXNzIFx4M2QgdGV4dHVyZTJEKCBtZXRhbG5lc3NNYXAsIHZVdiApO1xuXHRtZXRhbG5lc3NGYWN0b3IgKlx4M2QgdGV4ZWxNZXRhbG5lc3MuYjtcbiNlbmRpZiIsCm1ldGFsbmVzc21hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtZXRhbG5lc3NNYXA7XG4jZW5kaWYiLG1vcnBobm9ybWFsX3ZlcnRleDoiI2lmZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwwIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDAgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwxIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwyIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwzIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDMgXTtcbiNlbmRpZiIsbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgOCBdO1xuXHQjZWxzZVxuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsCm1vcnBodGFyZ2V0X3ZlcnRleDoiI2lmZGVmIFVTRV9NT1JQSFRBUkdFVFNcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDAgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdHRyYW5zZm9ybWVkICtceDNkICggbW9ycGhUYXJnZXQxIC0gcG9zaXRpb24gKSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0MiAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDMgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0NCAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDQgXTtcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDUgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyA1IF07XG5cdHRyYW5zZm9ybWVkICtceDNkICggbW9ycGhUYXJnZXQ2IC0gcG9zaXRpb24gKSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNiBdO1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0NyAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDcgXTtcblx0I2VuZGlmXG4jZW5kaWYiLApub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBGTEFUX1NIQURFRFxuXHR2ZWMzIGZkeCBceDNkIHZlYzMoIGRGZHgoIHZWaWV3UG9zaXRpb24ueCApLCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnkgKSwgZEZkeCggdlZpZXdQb3NpdGlvbi56ICkgKTtcblx0dmVjMyBmZHkgXHgzZCB2ZWMzKCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeSggdlZpZXdQb3NpdGlvbi55ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgbm9ybWFsIFx4M2Qgbm9ybWFsaXplKCBjcm9zcyggZmR4LCBmZHkgKSApO1xuI2Vsc2Vcblx0dmVjMyBub3JtYWwgXHgzZCBub3JtYWxpemUoIHZOb3JtYWwgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCBceDNkIG5vcm1hbCAqICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZlYzMgdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdlRhbmdlbnQgKTtcblx0XHR2ZWMzIGJpdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdkJpdGFuZ2VudCApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHRhbmdlbnQgXHgzZCB0YW5nZW50ICogKCBmbG9hdCggZ2xfRnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xuXHRcdFx0Yml0YW5nZW50IFx4M2QgYml0YW5nZW50ICogKCBmbG9hdCggZ2xfRnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xuXHRcdCNlbmRpZlxuXHQjZW5kaWZcbiNlbmRpZlxudmVjMyBnZW9tZXRyeU5vcm1hbCBceDNkIG5vcm1hbDsiLApub3JtYWxfZnJhZ21lbnRfbWFwczoiI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHRub3JtYWwgXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdG5vcm1hbCBceDNkIC0gbm9ybWFsO1xuXHQjZW5kaWZcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCBceDNkIG5vcm1hbCAqICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0I2VuZGlmXG5cdG5vcm1hbCBceDNkIG5vcm1hbGl6ZSggbm9ybWFsTWF0cml4ICogbm9ybWFsICk7XG4jZWxpZiBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0bWF0MyB2VEJOIFx4M2QgbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBub3JtYWwgKTtcblx0XHR2ZWMzIG1hcE4gXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRcdG1hcE4ueHkgXHgzZCBub3JtYWxTY2FsZSAqIG1hcE4ueHk7XG5cdFx0bm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2VEJOICogbWFwTiApO1xuXHQjZWxzZVxuXHRcdG5vcm1hbCBceDNkIHBlcnR1cmJOb3JtYWwyQXJiKCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBub3JtYWxTY2FsZSwgbm9ybWFsTWFwICk7XG5cdCNlbmRpZlxuI2VsaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKVxuXHRub3JtYWwgXHgzZCBwZXJ0dXJiTm9ybWFsQXJiKCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBkSGR4eV9md2QoKSApO1xuI2VuZGlmIiwKbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIG5vcm1hbFNjYWxlO1xuI2VuZGlmXG4jaWZkZWYgT0JKRUNUU1BBQ0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7XG4jZW5kaWZcbiNpZiAhIGRlZmluZWQgKCBVU0VfVEFOR0VOVCApIFx4MjZceDI2ICggZGVmaW5lZCAoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkICggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKSApXG5cdHZlYzMgcGVydHVyYk5vcm1hbDJBcmIoIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgbm9ybWFsU2NhbGUsIGluIHNhbXBsZXIyRCBub3JtYWxNYXAgKSB7XG5cdFx0dmVjMyBxMCBceDNkIHZlYzMoIGRGZHgoIGV5ZV9wb3MueCApLCBkRmR4KCBleWVfcG9zLnkgKSwgZEZkeCggZXllX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHExIFx4M2QgdmVjMyggZEZkeSggZXllX3Bvcy54ICksIGRGZHkoIGV5ZV9wb3MueSApLCBkRmR5KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzIgc3QwIFx4M2QgZEZkeCggdlV2LnN0ICk7XG5cdFx0dmVjMiBzdDEgXHgzZCBkRmR5KCB2VXYuc3QgKTtcblx0XHRmbG9hdCBzY2FsZSBceDNkIHNpZ24oIHN0MS50ICogc3QwLnMgLSBzdDAudCAqIHN0MS5zICk7XG5cdFx0dmVjMyBTIFx4M2Qgbm9ybWFsaXplKCAoIHEwICogc3QxLnQgLSBxMSAqIHN0MC50ICkgKiBzY2FsZSApO1xuXHRcdHZlYzMgVCBceDNkIG5vcm1hbGl6ZSggKCAtIHEwICogc3QxLnMgKyBxMSAqIHN0MC5zICkgKiBzY2FsZSApO1xuXHRcdHZlYzMgTiBceDNkIG5vcm1hbGl6ZSggc3VyZl9ub3JtICk7XG5cdFx0dmVjMyBtYXBOIFx4M2QgdGV4dHVyZTJEKCBub3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0XHRtYXBOLnh5ICpceDNkIG5vcm1hbFNjYWxlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZlYzMgTmZyb21TVCBceDNkIGNyb3NzKCBTLCBUICk7XG5cdFx0XHRpZiggZG90KCBOZnJvbVNULCBOICkgXHgzZSAwLjAgKSB7XG5cdFx0XHRcdFMgKlx4M2QgLTEuMDtcblx0XHRcdFx0VCAqXHgzZCAtMS4wO1xuXHRcdFx0fVxuXHRcdCNlbHNlXG5cdFx0XHRtYXBOLnh5ICpceDNkICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0XHQjZW5kaWZcblx0XHRtYXQzIHRzbiBceDNkIG1hdDMoIFMsIFQsIE4gKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKCB0c24gKiBtYXBOICk7XG5cdH1cbiNlbmRpZiIsCmNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBDTEVBUkNPQVRcblx0dmVjMyBjbGVhcmNvYXROb3JtYWwgXHgzZCBnZW9tZXRyeU5vcm1hbDtcbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9tYXBzOiIjaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0bWF0MyB2VEJOIFx4M2QgbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBjbGVhcmNvYXROb3JtYWwgKTtcblx0XHR2ZWMzIG1hcE4gXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRcdG1hcE4ueHkgXHgzZCBjbGVhcmNvYXROb3JtYWxTY2FsZSAqIG1hcE4ueHk7XG5cdFx0Y2xlYXJjb2F0Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2VEJOICogbWFwTiApO1xuXHQjZWxzZVxuXHRcdGNsZWFyY29hdE5vcm1hbCBceDNkIHBlcnR1cmJOb3JtYWwyQXJiKCAtIHZWaWV3UG9zaXRpb24sIGNsZWFyY29hdE5vcm1hbCwgY2xlYXJjb2F0Tm9ybWFsU2NhbGUsIGNsZWFyY29hdE5vcm1hbE1hcCApO1xuXHQjZW5kaWZcbiNlbmRpZiIsCmNsZWFyY29hdF9ub3JtYWxtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuI2VuZGlmIixwYWNraW5nOiJ2ZWMzIHBhY2tOb3JtYWxUb1JHQiggY29uc3QgaW4gdmVjMyBub3JtYWwgKSB7XG5cdHJldHVybiBub3JtYWxpemUoIG5vcm1hbCApICogMC41ICsgMC41O1xufVxudmVjMyB1bnBhY2tSR0JUb05vcm1hbCggY29uc3QgaW4gdmVjMyByZ2IgKSB7XG5cdHJldHVybiAyLjAgKiByZ2IueHl6IC0gMS4wO1xufVxuY29uc3QgZmxvYXQgUGFja1Vwc2NhbGUgXHgzZCAyNTYuIC8gMjU1Ljtjb25zdCBmbG9hdCBVbnBhY2tEb3duc2NhbGUgXHgzZCAyNTUuIC8gMjU2LjtcbmNvbnN0IHZlYzMgUGFja0ZhY3RvcnMgXHgzZCB2ZWMzKCAyNTYuICogMjU2LiAqIDI1Ni4sIDI1Ni4gKiAyNTYuLCAgMjU2LiApO1xuY29uc3QgdmVjNCBVbnBhY2tGYWN0b3JzIFx4M2QgVW5wYWNrRG93bnNjYWxlIC8gdmVjNCggUGFja0ZhY3RvcnMsIDEuICk7XG5jb25zdCBmbG9hdCBTaGlmdFJpZ2h0OCBceDNkIDEuIC8gMjU2LjtcbnZlYzQgcGFja0RlcHRoVG9SR0JBKCBjb25zdCBpbiBmbG9hdCB2ICkge1xuXHR2ZWM0IHIgXHgzZCB2ZWM0KCBmcmFjdCggdiAqIFBhY2tGYWN0b3JzICksIHYgKTtcblx0ci55encgLVx4M2Qgci54eXogKiBTaGlmdFJpZ2h0ODtcdHJldHVybiByICogUGFja1Vwc2NhbGU7XG59XG5mbG9hdCB1bnBhY2tSR0JBVG9EZXB0aCggY29uc3QgaW4gdmVjNCB2ICkge1xuXHRyZXR1cm4gZG90KCB2LCBVbnBhY2tGYWN0b3JzICk7XG59XG52ZWM0IGVuY29kZUhhbGZSR0JBICggdmVjMiB2ICkge1xuXHR2ZWM0IGVuY29kZWQgXHgzZCB2ZWM0KCAwLjAgKTtcblx0Y29uc3QgdmVjMiBvZmZzZXQgXHgzZCB2ZWMyKCAxLjAgLyAyNTUuMCwgMC4wICk7XG5cdGVuY29kZWQueHkgXHgzZCB2ZWMyKCB2LngsIGZyYWN0KCB2LnggKiAyNTUuMCApICk7XG5cdGVuY29kZWQueHkgXHgzZCBlbmNvZGVkLnh5IC0gKCBlbmNvZGVkLnl5ICogb2Zmc2V0ICk7XG5cdGVuY29kZWQuencgXHgzZCB2ZWMyKCB2LnksIGZyYWN0KCB2LnkgKiAyNTUuMCApICk7XG5cdGVuY29kZWQuencgXHgzZCBlbmNvZGVkLnp3IC0gKCBlbmNvZGVkLnd3ICogb2Zmc2V0ICk7XG5cdHJldHVybiBlbmNvZGVkO1xufVxudmVjMiBkZWNvZGVIYWxmUkdCQSggdmVjNCB2ICkge1xuXHRyZXR1cm4gdmVjMiggdi54ICsgKCB2LnkgLyAyNTUuMCApLCB2LnogKyAoIHYudyAvIDI1NS4wICkgKTtcbn1cbmZsb2F0IHZpZXdaVG9PcnRob2dyYXBoaWNEZXB0aCggY29uc3QgaW4gZmxvYXQgdmlld1osIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICggdmlld1ogKyBuZWFyICkgLyAoIG5lYXIgLSBmYXIgKTtcbn1cbmZsb2F0IG9ydGhvZ3JhcGhpY0RlcHRoVG9WaWV3WiggY29uc3QgaW4gZmxvYXQgbGluZWFyQ2xpcFosIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuIGxpbmVhckNsaXBaICogKCBuZWFyIC0gZmFyICkgLSBuZWFyO1xufVxuZmxvYXQgdmlld1pUb1BlcnNwZWN0aXZlRGVwdGgoIGNvbnN0IGluIGZsb2F0IHZpZXdaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoKCBuZWFyICsgdmlld1ogKSAqIGZhciApIC8gKCggZmFyIC0gbmVhciApICogdmlld1ogKTtcbn1cbmZsb2F0IHBlcnNwZWN0aXZlRGVwdGhUb1ZpZXdaKCBjb25zdCBpbiBmbG9hdCBpbnZDbGlwWiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCBuZWFyICogZmFyICkgLyAoICggZmFyIC0gbmVhciApICogaW52Q2xpcFogLSBmYXIgKTtcbn0iLApwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50OiIjaWZkZWYgUFJFTVVMVElQTElFRF9BTFBIQVxuXHRnbF9GcmFnQ29sb3IucmdiICpceDNkIGdsX0ZyYWdDb2xvci5hO1xuI2VuZGlmIixwcm9qZWN0X3ZlcnRleDoidmVjNCBtdlBvc2l0aW9uIFx4M2QgbW9kZWxWaWV3TWF0cml4ICogdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuZ2xfUG9zaXRpb24gXHgzZCBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjsiLGRpdGhlcmluZ19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHRnbF9GcmFnQ29sb3IucmdiIFx4M2QgZGl0aGVyaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50OiIjaWZkZWYgRElUSEVSSU5HXG5cdHZlYzMgZGl0aGVyaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRcdGZsb2F0IGdyaWRfcG9zaXRpb24gXHgzZCByYW5kKCBnbF9GcmFnQ29vcmQueHkgKTtcblx0XHR2ZWMzIGRpdGhlcl9zaGlmdF9SR0IgXHgzZCB2ZWMzKCAwLjI1IC8gMjU1LjAsIC0wLjI1IC8gMjU1LjAsIDAuMjUgLyAyNTUuMCApO1xuXHRcdGRpdGhlcl9zaGlmdF9SR0IgXHgzZCBtaXgoIDIuMCAqIGRpdGhlcl9zaGlmdF9SR0IsIC0yLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCBncmlkX3Bvc2l0aW9uICk7XG5cdFx0cmV0dXJuIGNvbG9yICsgZGl0aGVyX3NoaWZ0X1JHQjtcblx0fVxuI2VuZGlmIiwKcm91Z2huZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCByb3VnaG5lc3NGYWN0b3IgXHgzZCByb3VnaG5lc3M7XG4jaWZkZWYgVVNFX1JPVUdITkVTU01BUFxuXHR2ZWM0IHRleGVsUm91Z2huZXNzIFx4M2QgdGV4dHVyZTJEKCByb3VnaG5lc3NNYXAsIHZVdiApO1xuXHRyb3VnaG5lc3NGYWN0b3IgKlx4M2QgdGV4ZWxSb3VnaG5lc3MuZztcbiNlbmRpZiIscm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIHJvdWdobmVzc01hcDtcbiNlbmRpZiIsc2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgZGlyZWN0aW9uYWxTaGFkb3dNYXBbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcG90U2hhZG93TWFwWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBwb2ludFNoYWRvd01hcFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHRmbG9hdCB0ZXh0dXJlMkRDb21wYXJlKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICkge1xuXHRcdHJldHVybiBzdGVwKCBjb21wYXJlLCB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBkZXB0aHMsIHV2ICkgKSApO1xuXHR9XG5cdHZlYzIgdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2ICkge1xuXHRcdHJldHVybiBkZWNvZGVIYWxmUkdCQSggdGV4dHVyZTJEKCBzaGFkb3csIHV2ICkgKTtcblx0fVxuXHRmbG9hdCBWU01TaGFkb3cgKHNhbXBsZXIyRCBzaGFkb3csIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKXtcblx0XHRmbG9hdCBvY2NsdXNpb24gXHgzZCAxLjA7XG5cdFx0dmVjMiBkaXN0cmlidXRpb24gXHgzZCB0ZXh0dXJlMkREaXN0cmlidXRpb24oIHNoYWRvdywgdXYgKTtcblx0XHRmbG9hdCBoYXJkX3NoYWRvdyBceDNkIHN0ZXAoIGNvbXBhcmUgLCBkaXN0cmlidXRpb24ueCApO1xuXHRcdGlmIChoYXJkX3NoYWRvdyAhXHgzZCAxLjAgKSB7XG5cdFx0XHRmbG9hdCBkaXN0YW5jZSBceDNkIGNvbXBhcmUgLSBkaXN0cmlidXRpb24ueCA7XG5cdFx0XHRmbG9hdCB2YXJpYW5jZSBceDNkIG1heCggMC4wMDAwMCwgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSApO1xuXHRcdFx0ZmxvYXQgc29mdG5lc3NfcHJvYmFiaWxpdHkgXHgzZCB2YXJpYW5jZSAvICh2YXJpYW5jZSArIGRpc3RhbmNlICogZGlzdGFuY2UgKTtcdFx0XHRzb2Z0bmVzc19wcm9iYWJpbGl0eSBceDNkIGNsYW1wKCAoIHNvZnRuZXNzX3Byb2JhYmlsaXR5IC0gMC4zICkgLyAoIDAuOTUgLSAwLjMgKSwgMC4wLCAxLjAgKTtcdFx0XHRvY2NsdXNpb24gXHgzZCBjbGFtcCggbWF4KCBoYXJkX3NoYWRvdywgc29mdG5lc3NfcHJvYmFiaWxpdHkgKSwgMC4wLCAxLjAgKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9jY2x1c2lvbjtcblx0fVxuXHRmbG9hdCB0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHNpemUsIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKSB7XG5cdFx0Y29uc3QgdmVjMiBvZmZzZXQgXHgzZCB2ZWMyKCAwLjAsIDEuMCApO1xuXHRcdHZlYzIgdGV4ZWxTaXplIFx4M2QgdmVjMiggMS4wICkgLyBzaXplO1xuXHRcdHZlYzIgY2VudHJvaWRVViBceDNkICggZmxvb3IoIHV2ICogc2l6ZSAtIDAuNSApICsgMC41ICkgKiB0ZXhlbFNpemU7XG5cdFx0ZmxvYXQgbGIgXHgzZCB0ZXh0dXJlMkRDb21wYXJlKCBkZXB0aHMsIGNlbnRyb2lkVVYgKyB0ZXhlbFNpemUgKiBvZmZzZXQueHgsIGNvbXBhcmUgKTtcblx0XHRmbG9hdCBsdCBceDNkIHRleHR1cmUyRENvbXBhcmUoIGRlcHRocywgY2VudHJvaWRVViArIHRleGVsU2l6ZSAqIG9mZnNldC54eSwgY29tcGFyZSApO1xuXHRcdGZsb2F0IHJiIFx4M2QgdGV4dHVyZTJEQ29tcGFyZSggZGVwdGhzLCBjZW50cm9pZFVWICsgdGV4ZWxTaXplICogb2Zmc2V0Lnl4LCBjb21wYXJlICk7XG5cdFx0ZmxvYXQgcnQgXHgzZCB0ZXh0dXJlMkRDb21wYXJlKCBkZXB0aHMsIGNlbnRyb2lkVVYgKyB0ZXhlbFNpemUgKiBvZmZzZXQueXksIGNvbXBhcmUgKTtcblx0XHR2ZWMyIGYgXHgzZCBmcmFjdCggdXYgKiBzaXplICsgMC41ICk7XG5cdFx0ZmxvYXQgYSBceDNkIG1peCggbGIsIGx0LCBmLnkgKTtcblx0XHRmbG9hdCBiIFx4M2QgbWl4KCByYiwgcnQsIGYueSApO1xuXHRcdGZsb2F0IGMgXHgzZCBtaXgoIGEsIGIsIGYueCApO1xuXHRcdHJldHVybiBjO1xuXHR9XG5cdGZsb2F0IGdldFNoYWRvdyggc2FtcGxlcjJEIHNoYWRvd01hcCwgdmVjMiBzaGFkb3dNYXBTaXplLCBmbG9hdCBzaGFkb3dCaWFzLCBmbG9hdCBzaGFkb3dSYWRpdXMsIHZlYzQgc2hhZG93Q29vcmQgKSB7XG5cdFx0ZmxvYXQgc2hhZG93IFx4M2QgMS4wO1xuXHRcdHNoYWRvd0Nvb3JkLnh5eiAvXHgzZCBzaGFkb3dDb29yZC53O1xuXHRcdHNoYWRvd0Nvb3JkLnogK1x4M2Qgc2hhZG93Qmlhcztcblx0XHRidmVjNCBpbkZydXN0dW1WZWMgXHgzZCBidmVjNCAoIHNoYWRvd0Nvb3JkLnggXHgzZVx4M2QgMC4wLCBzaGFkb3dDb29yZC54IFx4M2NceDNkIDEuMCwgc2hhZG93Q29vcmQueSBceDNlXHgzZCAwLjAsIHNoYWRvd0Nvb3JkLnkgXHgzY1x4M2QgMS4wICk7XG5cdFx0Ym9vbCBpbkZydXN0dW0gXHgzZCBhbGwoIGluRnJ1c3R1bVZlYyApO1xuXHRcdGJ2ZWMyIGZydXN0dW1UZXN0VmVjIFx4M2QgYnZlYzIoIGluRnJ1c3R1bSwgc2hhZG93Q29vcmQueiBceDNjXHgzZCAxLjAgKTtcblx0XHRib29sIGZydXN0dW1UZXN0IFx4M2QgYWxsKCBmcnVzdHVtVGVzdFZlYyApO1xuXHRcdGlmICggZnJ1c3R1bVRlc3QgKSB7XG5cdFx0I2lmIGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1BDRiApXG5cdFx0XHR2ZWMyIHRleGVsU2l6ZSBceDNkIHZlYzIoIDEuMCApIC8gc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IGR4MCBceDNkIC0gdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTAgXHgzZCAtIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgxIFx4M2QgKyB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MSBceDNkICsgdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeDIgXHgzZCBkeDAgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeTIgXHgzZCBkeTAgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeDMgXHgzZCBkeDEgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeTMgXHgzZCBkeTEgLyAyLjA7XG5cdFx0XHRzaGFkb3cgXHgzZCAoXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCBkeTEgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIGR5MSApLCBzaGFkb3dDb29yZC56IClcblx0XHRcdCkgKiAoIDEuMCAvIDE3LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApXG5cdFx0XHR2ZWMyIHRleGVsU2l6ZSBceDNkIHZlYzIoIDEuMCApIC8gc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IGR4MCBceDNkIC0gdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTAgXHgzZCAtIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgxIFx4M2QgKyB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MSBceDNkICsgdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRzaGFkb3cgXHgzZCAoXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEU2hhZG93TGVycCggc2hhZG93TWFwLCBzaGFkb3dNYXBTaXplLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEU2hhZG93TGVycCggc2hhZG93TWFwLCBzaGFkb3dNYXBTaXplLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTEgKSwgc2hhZG93Q29vcmQueiApXG5cdFx0XHQpICogKCAxLjAgLyA5LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0c2hhZG93IFx4M2QgVlNNU2hhZG93KCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHNoYWRvdyBceDNkIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKTtcblx0XHQjZW5kaWZcblx0XHR9XG5cdFx0cmV0dXJuIHNoYWRvdztcblx0fVxuXHR2ZWMyIGN1YmVUb1VWKCB2ZWMzIHYsIGZsb2F0IHRleGVsU2l6ZVkgKSB7XG5cdFx0dmVjMyBhYnNWIFx4M2QgYWJzKCB2ICk7XG5cdFx0ZmxvYXQgc2NhbGVUb0N1YmUgXHgzZCAxLjAgLyBtYXgoIGFic1YueCwgbWF4KCBhYnNWLnksIGFic1YueiApICk7XG5cdFx0YWJzViAqXHgzZCBzY2FsZVRvQ3ViZTtcblx0XHR2ICpceDNkIHNjYWxlVG9DdWJlICogKCAxLjAgLSAyLjAgKiB0ZXhlbFNpemVZICk7XG5cdFx0dmVjMiBwbGFuYXIgXHgzZCB2Lnh5O1xuXHRcdGZsb2F0IGFsbW9zdEFUZXhlbCBceDNkIDEuNSAqIHRleGVsU2l6ZVk7XG5cdFx0ZmxvYXQgYWxtb3N0T25lIFx4M2QgMS4wIC0gYWxtb3N0QVRleGVsO1xuXHRcdGlmICggYWJzVi56IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGlmICggdi56IFx4M2UgMC4wIClcblx0XHRcdFx0cGxhbmFyLnggXHgzZCA0LjAgLSB2Lng7XG5cdFx0fSBlbHNlIGlmICggYWJzVi54IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25YIFx4M2Qgc2lnbiggdi54ICk7XG5cdFx0XHRwbGFuYXIueCBceDNkIHYueiAqIHNpZ25YICsgMi4wICogc2lnblg7XG5cdFx0fSBlbHNlIGlmICggYWJzVi55IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25ZIFx4M2Qgc2lnbiggdi55ICk7XG5cdFx0XHRwbGFuYXIueCBceDNkIHYueCArIDIuMCAqIHNpZ25ZICsgMi4wO1xuXHRcdFx0cGxhbmFyLnkgXHgzZCB2LnogKiBzaWduWSAtIDIuMDtcblx0XHR9XG5cdFx0cmV0dXJuIHZlYzIoIDAuMTI1LCAwLjI1ICkgKiBwbGFuYXIgKyB2ZWMyKCAwLjM3NSwgMC43NSApO1xuXHR9XG5cdGZsb2F0IGdldFBvaW50U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCwgZmxvYXQgc2hhZG93Q2FtZXJhTmVhciwgZmxvYXQgc2hhZG93Q2FtZXJhRmFyICkge1xuXHRcdHZlYzIgdGV4ZWxTaXplIFx4M2QgdmVjMiggMS4wICkgLyAoIHNoYWRvd01hcFNpemUgKiB2ZWMyKCA0LjAsIDIuMCApICk7XG5cdFx0dmVjMyBsaWdodFRvUG9zaXRpb24gXHgzZCBzaGFkb3dDb29yZC54eXo7XG5cdFx0ZmxvYXQgZHAgXHgzZCAoIGxlbmd0aCggbGlnaHRUb1Bvc2l0aW9uICkgLSBzaGFkb3dDYW1lcmFOZWFyICkgLyAoIHNoYWRvd0NhbWVyYUZhciAtIHNoYWRvd0NhbWVyYU5lYXIgKTtcdFx0ZHAgK1x4M2Qgc2hhZG93Qmlhcztcblx0XHR2ZWMzIGJkM0QgXHgzZCBub3JtYWxpemUoIGxpZ2h0VG9Qb3NpdGlvbiApO1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApIHx8IGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1ZTTSApXG5cdFx0XHR2ZWMyIG9mZnNldCBceDNkIHZlYzIoIC0gMSwgMSApICogc2hhZG93UmFkaXVzICogdGV4ZWxTaXplLnk7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXl5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eCwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXh5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eCwgdGV4ZWxTaXplLnkgKSwgZHAgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHJldHVybiB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWYiLApzaGFkb3dtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBtYXQ0IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBtYXQ0IHNwb3RTaGFkb3dNYXRyaXhbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlNwb3RTaGFkb3dDb29yZFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRcdHVuaWZvcm0gbWF0NCBwb2ludFNoYWRvd01hdHJpeFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuI2VuZGlmIiwKc2hhZG93bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0dkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSBceDNkIGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBpIF0gKiB3b3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHZTcG90U2hhZG93Q29vcmRbIGkgXSBceDNkIHNwb3RTaGFkb3dNYXRyaXhbIGkgXSAqIHdvcmxkUG9zaXRpb247XG5cdH1cblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHR2UG9pbnRTaGFkb3dDb29yZFsgaSBdIFx4M2QgcG9pbnRTaGFkb3dNYXRyaXhbIGkgXSAqIHdvcmxkUG9zaXRpb247XG5cdH1cblx0I2VuZGlmXG4jZW5kaWYiLApzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ6ImZsb2F0IGdldFNoYWRvd01hc2soKSB7XG5cdGZsb2F0IHNoYWRvdyBceDNkIDEuMDtcblx0I2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0IFx4M2QgZGlyZWN0aW9uYWxMaWdodHNbIGkgXTtcblx0XHRzaGFkb3cgKlx4M2QgYm9vbCggZGlyZWN0aW9uYWxMaWdodC5zaGFkb3cgKSA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRTcG90TGlnaHQgc3BvdExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9TUE9UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0IFx4M2Qgc3BvdExpZ2h0c1sgaSBdO1xuXHRcdHNoYWRvdyAqXHgzZCBib29sKCBzcG90TGlnaHQuc2hhZG93ICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodC5zaGFkb3dCaWFzLCBzcG90TGlnaHQuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0fVxuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRQb2ludExpZ2h0IHBvaW50TGlnaHQ7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCBceDNkIHBvaW50TGlnaHRzWyBpIF07XG5cdFx0c2hhZG93ICpceDNkIGJvb2woIHBvaW50TGlnaHQuc2hhZG93ICkgPyBnZXRQb2ludFNoYWRvdyggcG9pbnRTaGFkb3dNYXBbIGkgXSwgcG9pbnRMaWdodC5zaGFkb3dNYXBTaXplLCBwb2ludExpZ2h0LnNoYWRvd0JpYXMsIHBvaW50TGlnaHQuc2hhZG93UmFkaXVzLCB2UG9pbnRTaGFkb3dDb29yZFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd0NhbWVyYU5lYXIsIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhRmFyICkgOiAxLjA7XG5cdH1cblx0I2VuZGlmXG5cdCNlbmRpZlxuXHRyZXR1cm4gc2hhZG93O1xufSIsCnNraW5iYXNlX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IGJvbmVNYXRYIFx4M2QgZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnggKTtcblx0bWF0NCBib25lTWF0WSBceDNkIGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC55ICk7XG5cdG1hdDQgYm9uZU1hdFogXHgzZCBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueiApO1xuXHRtYXQ0IGJvbmVNYXRXIFx4M2QgZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LncgKTtcbiNlbmRpZiIsc2tpbm5pbmdfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dW5pZm9ybSBtYXQ0IGJpbmRNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4SW52ZXJzZTtcblx0I2lmZGVmIEJPTkVfVEVYVFVSRVxuXHRcdHVuaWZvcm0gaGlnaHAgc2FtcGxlcjJEIGJvbmVUZXh0dXJlO1xuXHRcdHVuaWZvcm0gaW50IGJvbmVUZXh0dXJlU2l6ZTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRmbG9hdCBqIFx4M2QgaSAqIDQuMDtcblx0XHRcdGZsb2F0IHggXHgzZCBtb2QoIGosIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgeSBceDNkIGZsb29yKCBqIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApICk7XG5cdFx0XHRmbG9hdCBkeCBceDNkIDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdGZsb2F0IGR5IFx4M2QgMS4wIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApO1xuXHRcdFx0eSBceDNkIGR5ICogKCB5ICsgMC41ICk7XG5cdFx0XHR2ZWM0IHYxIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAwLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYyIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAxLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYzIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAyLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHY0IFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAzLjUgKSwgeSApICk7XG5cdFx0XHRtYXQ0IGJvbmUgXHgzZCBtYXQ0KCB2MSwgdjIsIHYzLCB2NCApO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZWxzZVxuXHRcdHVuaWZvcm0gbWF0NCBib25lTWF0cmljZXNbIE1BWF9CT05FUyBdO1xuXHRcdG1hdDQgZ2V0Qm9uZU1hdHJpeCggY29uc3QgaW4gZmxvYXQgaSApIHtcblx0XHRcdG1hdDQgYm9uZSBceDNkIGJvbmVNYXRyaWNlc1sgaW50KGkpIF07XG5cdFx0XHRyZXR1cm4gYm9uZTtcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIiwKc2tpbm5pbmdfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHZlYzQgc2tpblZlcnRleCBceDNkIGJpbmRNYXRyaXggKiB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdHZlYzQgc2tpbm5lZCBceDNkIHZlYzQoIDAuMCApO1xuXHRza2lubmVkICtceDNkIGJvbmVNYXRYICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueDtcblx0c2tpbm5lZCArXHgzZCBib25lTWF0WSAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lnk7XG5cdHNraW5uZWQgK1x4M2QgYm9uZU1hdFogKiBza2luVmVydGV4ICogc2tpbldlaWdodC56O1xuXHRza2lubmVkICtceDNkIGJvbmVNYXRXICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQudztcblx0dHJhbnNmb3JtZWQgXHgzZCAoIGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbm5lZCApLnh5ejtcbiNlbmRpZiIsc2tpbm5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBza2luTWF0cml4IFx4M2QgbWF0NCggMC4wICk7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC54ICogYm9uZU1hdFg7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC55ICogYm9uZU1hdFk7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC56ICogYm9uZU1hdFo7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC53ICogYm9uZU1hdFc7XG5cdHNraW5NYXRyaXggIFx4M2QgYmluZE1hdHJpeEludmVyc2UgKiBza2luTWF0cml4ICogYmluZE1hdHJpeDtcblx0b2JqZWN0Tm9ybWFsIFx4M2QgdmVjNCggc2tpbk1hdHJpeCAqIHZlYzQoIG9iamVjdE5vcm1hbCwgMC4wICkgKS54eXo7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdG9iamVjdFRhbmdlbnQgXHgzZCB2ZWM0KCBza2luTWF0cml4ICogdmVjNCggb2JqZWN0VGFuZ2VudCwgMC4wICkgKS54eXo7XG5cdCNlbmRpZlxuI2VuZGlmIiwKc3BlY3VsYXJtYXBfZnJhZ21lbnQ6ImZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG4jaWZkZWYgVVNFX1NQRUNVTEFSTUFQXG5cdHZlYzQgdGV4ZWxTcGVjdWxhciBceDNkIHRleHR1cmUyRCggc3BlY3VsYXJNYXAsIHZVdiApO1xuXHRzcGVjdWxhclN0cmVuZ3RoIFx4M2QgdGV4ZWxTcGVjdWxhci5yO1xuI2Vsc2Vcblx0c3BlY3VsYXJTdHJlbmd0aCBceDNkIDEuMDtcbiNlbmRpZiIsc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhck1hcDtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBUT05FX01BUFBJTkcgKVxuXHRnbF9GcmFnQ29sb3IucmdiIFx4M2QgdG9uZU1hcHBpbmcoIGdsX0ZyYWdDb2xvci5yZ2IgKTtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiI2lmbmRlZiBzYXR1cmF0ZVxuXHQjZGVmaW5lIHNhdHVyYXRlKGEpIGNsYW1wKCBhLCAwLjAsIDEuMCApXG4jZW5kaWZcbnVuaWZvcm0gZmxvYXQgdG9uZU1hcHBpbmdFeHBvc3VyZTtcbnVuaWZvcm0gZmxvYXQgdG9uZU1hcHBpbmdXaGl0ZVBvaW50O1xudmVjMyBMaW5lYXJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0cmV0dXJuIHRvbmVNYXBwaW5nRXhwb3N1cmUgKiBjb2xvcjtcbn1cbnZlYzMgUmVpbmhhcmRUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciAvICggdmVjMyggMS4wICkgKyBjb2xvciApICk7XG59XG4jZGVmaW5lIFVuY2hhcnRlZDJIZWxwZXIoIHggKSBtYXgoICggKCB4ICogKCAwLjE1ICogeCArIDAuMTAgKiAwLjUwICkgKyAwLjIwICogMC4wMiApIC8gKCB4ICogKCAwLjE1ICogeCArIDAuNTAgKSArIDAuMjAgKiAwLjMwICkgKSAtIDAuMDIgLyAwLjMwLCB2ZWMzKCAwLjAgKSApXG52ZWMzIFVuY2hhcnRlZDJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBVbmNoYXJ0ZWQySGVscGVyKCBjb2xvciApIC8gVW5jaGFydGVkMkhlbHBlciggdmVjMyggdG9uZU1hcHBpbmdXaGl0ZVBvaW50ICkgKSApO1xufVxudmVjMyBPcHRpbWl6ZWRDaW5lb25Ub25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0Y29sb3IgXHgzZCBtYXgoIHZlYzMoIDAuMCApLCBjb2xvciAtIDAuMDA0ICk7XG5cdHJldHVybiBwb3coICggY29sb3IgKiAoIDYuMiAqIGNvbG9yICsgMC41ICkgKSAvICggY29sb3IgKiAoIDYuMiAqIGNvbG9yICsgMS43ICkgKyAwLjA2ICksIHZlYzMoIDIuMiApICk7XG59XG52ZWMzIEFDRVNGaWxtaWNUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCAoIGNvbG9yICogKCAyLjUxICogY29sb3IgKyAwLjAzICkgKSAvICggY29sb3IgKiAoIDIuNDMgKiBjb2xvciArIDAuNTkgKSArIDAuMTQgKSApO1xufSIsCnV2X3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVVZcblx0dmFyeWluZyB2ZWMyIHZVdjtcbiNlbmRpZiIsdXZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dmFyeWluZyB2ZWMyIHZVdjtcblx0dW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xuI2VuZGlmIix1dl92ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dlV2IFx4M2QgKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcbiNlbmRpZiIsdXYyX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0YXR0cmlidXRlIHZlYzIgdXYyO1xuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZVdjIgXHgzZCB1djI7XG4jZW5kaWYiLAp3b3JsZHBvc192ZXJ0ZXg6IiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgfHwgZGVmaW5lZCggRElTVEFOQ0UgKSB8fCBkZWZpbmVkICggVVNFX1NIQURPV01BUCApXG5cdHZlYzQgd29ybGRQb3NpdGlvbiBceDNkIG1vZGVsTWF0cml4ICogdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuI2VuZGlmIixiYWNrZ3JvdW5kX2ZyYWc6InVuaWZvcm0gc2FtcGxlcjJEIHQyRDtcbnZhcnlpbmcgdmVjMiB2VXY7XG52b2lkIG1haW4oKSB7XG5cdHZlYzQgdGV4Q29sb3IgXHgzZCB0ZXh0dXJlMkQoIHQyRCwgdlV2ICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcbn0iLGJhY2tncm91bmRfdmVydDoidmFyeWluZyB2ZWMyIHZVdjtcbnVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbnZvaWQgbWFpbigpIHtcblx0dlV2IFx4M2QgKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcblx0Z2xfUG9zaXRpb24gXHgzZCB2ZWM0KCBwb3NpdGlvbi54eSwgMS4wLCAxLjAgKTtcbn0iLApjdWJlX2ZyYWc6InVuaWZvcm0gc2FtcGxlckN1YmUgdEN1YmU7XG51bmlmb3JtIGZsb2F0IHRGbGlwO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbnZvaWQgbWFpbigpIHtcblx0dmVjNCB0ZXhDb2xvciBceDNkIHRleHR1cmVDdWJlKCB0Q3ViZSwgdmVjMyggdEZsaXAgKiB2V29ybGREaXJlY3Rpb24ueCwgdldvcmxkRGlyZWN0aW9uLnl6ICkgKTtcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0Z2xfRnJhZ0NvbG9yLmEgKlx4M2Qgb3BhY2l0eTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxufSIsY3ViZV92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHRnbF9Qb3NpdGlvbi56IFx4M2QgZ2xfUG9zaXRpb24udztcbn0iLApkZXB0aF9mcmFnOiIjaWYgREVQVEhfUEFDS0lORyBceDNkXHgzZCAzMjAwXG5cdHVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIDEuMCApO1xuXHQjaWYgREVQVEhfUEFDS0lORyBceDNkXHgzZCAzMjAwXG5cdFx0ZGlmZnVzZUNvbG9yLmEgXHgzZCBvcGFjaXR5O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGF0ZXN0X2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpZiBERVBUSF9QQUNLSU5HIFx4M2RceDNkIDMyMDBcblx0XHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCB2ZWMzKCAxLjAgLSBnbF9GcmFnQ29vcmQueiApLCBvcGFjaXR5ICk7XG5cdCNlbGlmIERFUFRIX1BBQ0tJTkcgXHgzZFx4M2QgMzIwMVxuXHRcdGdsX0ZyYWdDb2xvciBceDNkIHBhY2tEZXB0aFRvUkdCQSggZ2xfRnJhZ0Nvb3JkLnogKTtcblx0I2VuZGlmXG59IiwKZGVwdGhfdmVydDoiI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2tpbm5pbmdfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHRcdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdFx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0XHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcbn0iLApkaXN0YW5jZVJHQkFfZnJhZzoiI2RlZmluZSBESVNUQU5DRVxudW5pZm9ybSB2ZWMzIHJlZmVyZW5jZVBvc2l0aW9uO1xudW5pZm9ybSBmbG9hdCBuZWFyRGlzdGFuY2U7XG51bmlmb3JtIGZsb2F0IGZhckRpc3RhbmNlO1xudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbiAoKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggMS4wICk7XG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0ZmxvYXQgZGlzdCBceDNkIGxlbmd0aCggdldvcmxkUG9zaXRpb24gLSByZWZlcmVuY2VQb3NpdGlvbiApO1xuXHRkaXN0IFx4M2QgKCBkaXN0IC0gbmVhckRpc3RhbmNlICkgLyAoIGZhckRpc3RhbmNlIC0gbmVhckRpc3RhbmNlICk7XG5cdGRpc3QgXHgzZCBzYXR1cmF0ZSggZGlzdCApO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCBwYWNrRGVwdGhUb1JHQkEoIGRpc3QgKTtcbn0iLApkaXN0YW5jZVJHQkFfdmVydDoiI2RlZmluZSBESVNUQU5DRVxudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2tpbm5pbmdfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHRcdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdFx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0XHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjd29ybGRwb3NfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0dldvcmxkUG9zaXRpb24gXHgzZCB3b3JsZFBvc2l0aW9uLnh5ejtcbn0iLAplcXVpcmVjdF9mcmFnOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dmVjMyBkaXJlY3Rpb24gXHgzZCBub3JtYWxpemUoIHZXb3JsZERpcmVjdGlvbiApO1xuXHR2ZWMyIHNhbXBsZVVWO1xuXHRzYW1wbGVVVi55IFx4M2QgYXNpbiggY2xhbXAoIGRpcmVjdGlvbi55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdHNhbXBsZVVWLnggXHgzZCBhdGFuKCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHR2ZWM0IHRleENvbG9yIFx4M2QgdGV4dHVyZTJEKCB0RXF1aXJlY3QsIHNhbXBsZVVWICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcbn0iLAplcXVpcmVjdF92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxufSIsbGluZWRhc2hlZF9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gZmxvYXQgZGFzaFNpemU7XG51bmlmb3JtIGZsb2F0IHRvdGFsU2l6ZTtcbnZhcnlpbmcgZmxvYXQgdkxpbmVEaXN0YW5jZTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHRpZiAoIG1vZCggdkxpbmVEaXN0YW5jZSwgdG90YWxTaXplICkgXHgzZSBkYXNoU2l6ZSApIHtcblx0XHRkaXNjYXJkO1xuXHR9XG5cdHZlYzMgb3V0Z29pbmdMaWdodCBceDNkIHZlYzMoIDAuMCApO1xuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCmxpbmVkYXNoZWRfdmVydDoidW5pZm9ybSBmbG9hdCBzY2FsZTtcbmF0dHJpYnV0ZSBmbG9hdCBsaW5lRGlzdGFuY2U7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY2NvbG9yX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2ZvZ19wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2Njb2xvcl92ZXJ0ZXhceDNlXG5cdHZMaW5lRGlzdGFuY2UgXHgzZCBzY2FsZSAqIGxpbmVEaXN0YW5jZTtcblx0dmVjNCBtdlBvc2l0aW9uIFx4M2QgbW9kZWxWaWV3TWF0cml4ICogdmVjNCggcG9zaXRpb24sIDEuMCApO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtdlBvc2l0aW9uO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKbWVzaGJhc2ljX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2Vudm1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2ZvZ19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGFtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NzcGVjdWxhcm1hcF9mcmFnbWVudFx4M2Vcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArXHgzZCB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICkueHl6ICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICtceDNkIHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2FvbWFwX2ZyYWdtZW50XHgzZVxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKlx4M2QgZGlmZnVzZUNvbG9yLnJnYjtcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlO1xuXHQjaW5jbHVkZSBceDNjZW52bWFwX2ZyYWdtZW50XHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2hiYXNpY192ZXJ0OiIjaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY3V2X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3V2Ml92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Njb2xvcl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2luYmFzZV92ZXJ0ZXhceDNlXG5cdCNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RlZmF1bHRub3JtYWxfdmVydGV4XHgzZVxuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjd29ybGRwb3NfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxufSIsCm1lc2hsYW1iZXJ0X2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZMaWdodEZyb250O1xudmFyeWluZyB2ZWMzIHZJbmRpcmVjdEZyb250O1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2YXJ5aW5nIHZlYzMgdkxpZ2h0QmFjaztcblx0dmFyeWluZyB2ZWMzIHZJbmRpcmVjdEJhY2s7XG4jZW5kaWZcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2NkaXRoZXJpbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnNkZnNceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFza19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0IFx4M2QgUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlIFx4M2QgZW1pc3NpdmU7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGFtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NzcGVjdWxhcm1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VtaXNzaXZlbWFwX2ZyYWdtZW50XHgzZVxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgXHgzZCBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBhbWJpZW50TGlnaHRDb2xvciApO1xuXHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICtceDNkICggZ2xfRnJvbnRGYWNpbmcgKSA/IHZJbmRpcmVjdEZyb250IDogdkluZGlyZWN0QmFjaztcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgdkluZGlyZWN0RnJvbnQ7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjbGlnaHRtYXBfZnJhZ21lbnRceDNlXG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSAqXHgzZCBCUkRGX0RpZmZ1c2VfTGFtYmVydCggZGlmZnVzZUNvbG9yLnJnYiApO1xuXHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSBceDNkICggZ2xfRnJvbnRGYWNpbmcgKSA/IHZMaWdodEZyb250IDogdkxpZ2h0QmFjaztcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlIFx4M2QgdkxpZ2h0RnJvbnQ7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICpceDNkIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBkaWZmdXNlQ29sb3IucmdiICkgKiBnZXRTaGFkb3dNYXNrKCk7XG5cdCNpbmNsdWRlIFx4M2Nhb21hcF9mcmFnbWVudFx4M2Vcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF9mcmFnbWVudFx4M2Vcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RpdGhlcmluZ19mcmFnbWVudFx4M2Vcbn0iLAptZXNobGFtYmVydF92ZXJ0OiIjZGVmaW5lIExBTUJFUlRcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjYnNkZnNceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NsaWdodHNfbGFtYmVydF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX3ZlcnRleFx4M2Vcbn0iLAptZXNobWF0Y2FwX2ZyYWc6IiNkZWZpbmUgTUFUQ0FQXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gc2FtcGxlcjJEIG1hdGNhcDtcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2FscGhhbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHR2ZWMzIHZpZXdEaXIgXHgzZCBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcblx0dmVjMyB4IFx4M2Qgbm9ybWFsaXplKCB2ZWMzKCB2aWV3RGlyLnosIDAuMCwgLSB2aWV3RGlyLnggKSApO1xuXHR2ZWMzIHkgXHgzZCBjcm9zcyggdmlld0RpciwgeCApO1xuXHR2ZWMyIHV2IFx4M2QgdmVjMiggZG90KCB4LCBub3JtYWwgKSwgZG90KCB5LCBub3JtYWwgKSApICogMC40OTUgKyAwLjU7XG5cdCNpZmRlZiBVU0VfTUFUQ0FQXG5cdFx0dmVjNCBtYXRjYXBDb2xvciBceDNkIHRleHR1cmUyRCggbWF0Y2FwLCB1diApO1xuXHRcdG1hdGNhcENvbG9yIFx4M2QgbWF0Y2FwVGV4ZWxUb0xpbmVhciggbWF0Y2FwQ29sb3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IG1hdGNhcENvbG9yIFx4M2QgdmVjNCggMS4wICk7XG5cdCNlbmRpZlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiICogbWF0Y2FwQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2htYXRjYXBfdmVydDoiI2RlZmluZSBNQVRDQVBcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY3V2X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5iYXNlX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGVmYXVsdG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpZm5kZWYgRkxBVF9TSEFERURcblx0XHR2Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nwcm9qZWN0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcbn0iLAptZXNocGhvbmdfZnJhZzoiI2RlZmluZSBQSE9OR1xudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIHZlYzMgc3BlY3VsYXI7XG51bmlmb3JtIGZsb2F0IHNoaW5pbmVzcztcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2NkaXRoZXJpbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZ3JhZGllbnRtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nic2Rmc1x4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGFyc19iZWdpblx4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NidW1wbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgXHgzZCBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbm9ybWFsX2ZyYWdtZW50X2JlZ2luXHgzZVxuXHQjaW5jbHVkZSBceDNjbm9ybWFsX2ZyYWdtZW50X21hcHNceDNlXG5cdCNpbmNsdWRlIFx4M2NlbWlzc2l2ZW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19waG9uZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19mcmFnbWVudF9tYXBzXHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X2VuZFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FvbWFwX2ZyYWdtZW50XHgzZVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSBceDNjZW52bWFwX2ZyYWdtZW50XHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjdG9uZW1hcHBpbmdfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NlbmNvZGluZ3NfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZGl0aGVyaW5nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2hwaG9uZ192ZXJ0OiIjZGVmaW5lIFBIT05HXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjdXZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2VcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0dlZpZXdQb3NpdGlvbiBceDNkIC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIFx4M2N3b3JsZHBvc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NlbnZtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2hhZG93bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKbWVzaHBoeXNpY2FsX2ZyYWc6IiNkZWZpbmUgU1RBTkRBUkRcbiNpZmRlZiBQSFlTSUNBTFxuXHQjZGVmaW5lIFJFRkxFQ1RJVklUWVxuXHQjZGVmaW5lIENMRUFSQ09BVFxuXHQjZGVmaW5lIFRSQU5TUEFSRU5DWVxuI2VuZGlmXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgcm91Z2huZXNzO1xudW5pZm9ybSBmbG9hdCBtZXRhbG5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZkZWYgVFJBTlNQQVJFTkNZXG5cdHVuaWZvcm0gZmxvYXQgdHJhbnNwYXJlbmN5O1xuI2VuZGlmXG4jaWZkZWYgUkVGTEVDVElWSVRZXG5cdHVuaWZvcm0gZmxvYXQgcmVmbGVjdGl2aXR5O1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdHVuaWZvcm0gZmxvYXQgY2xlYXJjb2F0O1xuXHR1bmlmb3JtIGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR1bmlmb3JtIHZlYzMgc2hlZW47XG4jZW5kaWZcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY2RpdGhlcmluZ19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NvbG9yX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2N1djJfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NhbHBoYW1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2FvbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2JzZGZzXHgzZVxuI2luY2x1ZGUgXHgzY2N1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsZWFyY29hdF9ub3JtYWxtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgXHgzZCBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3JvdWdobmVzc21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21ldGFsbmVzc21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHQjaW5jbHVkZSBceDNjY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfbWFwc1x4M2Vcblx0I2luY2x1ZGUgXHgzY2VtaXNzaXZlbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X2JlZ2luXHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X21hcHNceDNlXG5cdCNpbmNsdWRlIFx4M2NsaWdodHNfZnJhZ21lbnRfZW5kXHgzZVxuXHQjaW5jbHVkZSBceDNjYW9tYXBfZnJhZ21lbnRceDNlXG5cdHZlYzMgb3V0Z29pbmdMaWdodCBceDNkIHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKyB0b3RhbEVtaXNzaXZlUmFkaWFuY2U7XG5cdCNpZmRlZiBUUkFOU1BBUkVOQ1lcblx0XHRkaWZmdXNlQ29sb3IuYSAqXHgzZCBzYXR1cmF0ZSggMS4gLSB0cmFuc3BhcmVuY3kgKyBsaW5lYXJUb1JlbGF0aXZlTHVtaW5hbmNlKCByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKSApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RpdGhlcmluZ19mcmFnbWVudFx4M2Vcbn0iLAptZXNocGh5c2ljYWxfdmVydDoiI2RlZmluZSBTVEFOREFSRFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2VcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgXHgzZCBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgXHgzZCBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIFx4M2NiZWdpbl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaHRhcmdldF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubmluZ192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJvamVjdF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfdmVydGV4XHgzZVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NoYWRvd21hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxufSIsCm5vcm1hbF9mcmFnOiIjZGVmaW5lIE5PUk1BTFxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWZcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBwYWNrTm9ybWFsVG9SR0IoIG5vcm1hbCApLCBvcGFjaXR5ICk7XG59IiwKbm9ybWFsX3ZlcnQ6IiNkZWZpbmUgTk9STUFMXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Ntb3JwaHRhcmdldF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nza2lubmluZ19wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2luYmFzZV92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RlZmF1bHRub3JtYWxfdmVydGV4XHgzZVxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2VGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWRUYW5nZW50ICk7XG5cdFx0dkJpdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggY3Jvc3MoIHZOb3JtYWwsIHZUYW5nZW50ICkgKiB0YW5nZW50LncgKTtcblx0I2VuZGlmXG4jZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nwcm9qZWN0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc192ZXJ0ZXhceDNlXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcbiNlbmRpZlxufSIsCnBvaW50c19mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9wYXJ0aWNsZV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGF0ZXN0X2ZyYWdtZW50XHgzZVxuXHRvdXRnb2luZ0xpZ2h0IFx4M2QgZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3ByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ19mcmFnbWVudFx4M2Vcbn0iLApwb2ludHNfdmVydDoidW5pZm9ybSBmbG9hdCBzaXplO1xudW5pZm9ybSBmbG9hdCBzY2FsZTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NvbG9yX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHRnbF9Qb2ludFNpemUgXHgzZCBzaXplO1xuXHQjaWZkZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSBceDNkICggcHJvamVjdGlvbk1hdHJpeFsgMiBdWyAzIF0gXHgzZFx4M2QgLSAxLjAgKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBnbF9Qb2ludFNpemUgKlx4M2QgKCBzY2FsZSAvIC0gbXZQb3NpdGlvbi56ICk7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKc2hhZG93X2ZyYWc6InVuaWZvcm0gdmVjMyBjb2xvcjtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nic2Rmc1x4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGFyc19iZWdpblx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIGNvbG9yLCBvcGFjaXR5ICogKCAxLjAgLSBnZXRTaGFkb3dNYXNrKCkgKSApO1xuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsc2hhZG93X3ZlcnQ6IiNpbmNsdWRlIFx4M2Nmb2dfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJvamVjdF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N3b3JsZHBvc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX3ZlcnRleFx4M2Vcbn0iLApzcHJpdGVfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjdG9uZW1hcHBpbmdfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NlbmNvZGluZ3NfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfZnJhZ21lbnRceDNlXG59IiwKc3ByaXRlX3ZlcnQ6InVuaWZvcm0gZmxvYXQgcm90YXRpb247XG51bmlmb3JtIHZlYzIgY2VudGVyO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHR2ZWM0IG12UG9zaXRpb24gXHgzZCBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0dmVjMiBzY2FsZTtcblx0c2NhbGUueCBceDNkIGxlbmd0aCggdmVjMyggbW9kZWxNYXRyaXhbIDAgXS54LCBtb2RlbE1hdHJpeFsgMCBdLnksIG1vZGVsTWF0cml4WyAwIF0ueiApICk7XG5cdHNjYWxlLnkgXHgzZCBsZW5ndGgoIHZlYzMoIG1vZGVsTWF0cml4WyAxIF0ueCwgbW9kZWxNYXRyaXhbIDEgXS55LCBtb2RlbE1hdHJpeFsgMSBdLnogKSApO1xuXHQjaWZuZGVmIFVTRV9TSVpFQVRURU5VQVRJT05cblx0XHRib29sIGlzUGVyc3BlY3RpdmUgXHgzZCAoIHByb2plY3Rpb25NYXRyaXhbIDIgXVsgMyBdIFx4M2RceDNkIC0gMS4wICk7XG5cdFx0aWYgKCBpc1BlcnNwZWN0aXZlICkgc2NhbGUgKlx4M2QgLSBtdlBvc2l0aW9uLno7XG5cdCNlbmRpZlxuXHR2ZWMyIGFsaWduZWRQb3NpdGlvbiBceDNkICggcG9zaXRpb24ueHkgLSAoIGNlbnRlciAtIHZlYzIoIDAuNSApICkgKSAqIHNjYWxlO1xuXHR2ZWMyIHJvdGF0ZWRQb3NpdGlvbjtcblx0cm90YXRlZFBvc2l0aW9uLnggXHgzZCBjb3MoIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueCAtIHNpbiggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi55O1xuXHRyb3RhdGVkUG9zaXRpb24ueSBceDNkIHNpbiggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi54ICsgY29zKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnk7XG5cdG12UG9zaXRpb24ueHkgK1x4M2Qgcm90YXRlZFBvc2l0aW9uO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtdlBvc2l0aW9uO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59In0sCldhPXtjb21tb246e2RpZmZ1c2U6e3ZhbHVlOm5ldyBIKDE1NjU4NzM0KX0sb3BhY2l0eTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSx1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IHJ9LGFscGhhTWFwOnt2YWx1ZTpudWxsfX0sc3BlY3VsYXJtYXA6e3NwZWN1bGFyTWFwOnt2YWx1ZTpudWxsfX0sZW52bWFwOntlbnZNYXA6e3ZhbHVlOm51bGx9LGZsaXBFbnZNYXA6e3ZhbHVlOi0xfSxyZWZsZWN0aXZpdHk6e3ZhbHVlOjF9LHJlZnJhY3Rpb25SYXRpbzp7dmFsdWU6Ljk4fSxtYXhNaXBMZXZlbDp7dmFsdWU6MH19LGFvbWFwOnthb01hcDp7dmFsdWU6bnVsbH0sYW9NYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fSxsaWdodG1hcDp7bGlnaHRNYXA6e3ZhbHVlOm51bGx9LGxpZ2h0TWFwSW50ZW5zaXR5Ont2YWx1ZToxfX0sZW1pc3NpdmVtYXA6e2VtaXNzaXZlTWFwOnt2YWx1ZTpudWxsfX0sYnVtcG1hcDp7YnVtcE1hcDp7dmFsdWU6bnVsbH0sYnVtcFNjYWxlOnt2YWx1ZToxfX0sbm9ybWFsbWFwOntub3JtYWxNYXA6e3ZhbHVlOm51bGx9LApub3JtYWxTY2FsZTp7dmFsdWU6bmV3IGYoMSwxKX19LGRpc3BsYWNlbWVudG1hcDp7ZGlzcGxhY2VtZW50TWFwOnt2YWx1ZTpudWxsfSxkaXNwbGFjZW1lbnRTY2FsZTp7dmFsdWU6MX0sZGlzcGxhY2VtZW50Qmlhczp7dmFsdWU6MH19LHJvdWdobmVzc21hcDp7cm91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfX0sbWV0YWxuZXNzbWFwOnttZXRhbG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxncmFkaWVudG1hcDp7Z3JhZGllbnRNYXA6e3ZhbHVlOm51bGx9fSxmb2c6e2ZvZ0RlbnNpdHk6e3ZhbHVlOjIuNUUtNH0sZm9nTmVhcjp7dmFsdWU6MX0sZm9nRmFyOnt2YWx1ZToyRTN9LGZvZ0NvbG9yOnt2YWx1ZTpuZXcgSCgxNjc3NzIxNSl9fSxsaWdodHM6e2FtYmllbnRMaWdodENvbG9yOnt2YWx1ZTpbXX0sbGlnaHRQcm9iZTp7dmFsdWU6W119LGRpcmVjdGlvbmFsTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sY29sb3I6e30sc2hhZG93Ont9LHNoYWRvd0JpYXM6e30sCnNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sZGlyZWN0aW9uYWxTaGFkb3dNYXA6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDp7dmFsdWU6W119LHNwb3RMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRpcmVjdGlvbjp7fSxkaXN0YW5jZTp7fSxjb25lQ29zOnt9LHBlbnVtYnJhQ29zOnt9LGRlY2F5Ont9LHNoYWRvdzp7fSxzaGFkb3dCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sc3BvdFNoYWRvd01hcDp7dmFsdWU6W119LHNwb3RTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxwb2ludExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sZGVjYXk6e30sZGlzdGFuY2U6e30sc2hhZG93Ont9LHNoYWRvd0JpYXM6e30sc2hhZG93UmFkaXVzOnt9LHNoYWRvd01hcFNpemU6e30sc2hhZG93Q2FtZXJhTmVhcjp7fSxzaGFkb3dDYW1lcmFGYXI6e319fSwKcG9pbnRTaGFkb3dNYXA6e3ZhbHVlOltdfSxwb2ludFNoYWRvd01hdHJpeDp7dmFsdWU6W119LGhlbWlzcGhlcmVMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2RpcmVjdGlvbjp7fSxza3lDb2xvcjp7fSxncm91bmRDb2xvcjp7fX19LHJlY3RBcmVhTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSx3aWR0aDp7fSxoZWlnaHQ6e319fX0scG9pbnRzOntkaWZmdXNlOnt2YWx1ZTpuZXcgSCgxNTY1ODczNCl9LG9wYWNpdHk6e3ZhbHVlOjF9LHNpemU6e3ZhbHVlOjF9LHNjYWxlOnt2YWx1ZToxfSxtYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgcn19LHNwcml0ZTp7ZGlmZnVzZTp7dmFsdWU6bmV3IEgoMTU2NTg3MzQpfSxvcGFjaXR5Ont2YWx1ZToxfSxjZW50ZXI6e3ZhbHVlOm5ldyBmKC41LC41KX0scm90YXRpb246e3ZhbHVlOjB9LG1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyByfX19LE9jPQp7YmFzaWM6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2Euc3BlY3VsYXJtYXAsV2EuZW52bWFwLFdhLmFvbWFwLFdhLmxpZ2h0bWFwLFdhLmZvZ10pLHZlcnRleFNoYWRlcjpyYi5tZXNoYmFzaWNfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNoYmFzaWNfZnJhZ30sbGFtYmVydDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5zcGVjdWxhcm1hcCxXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuZm9nLFdhLmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBIKDApfX1dKSx2ZXJ0ZXhTaGFkZXI6cmIubWVzaGxhbWJlcnRfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNobGFtYmVydF9mcmFnfSxwaG9uZzp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5zcGVjdWxhcm1hcCxXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLFdhLmdyYWRpZW50bWFwLApXYS5mb2csV2EubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IEgoMCl9LHNwZWN1bGFyOnt2YWx1ZTpuZXcgSCgxMTE4NDgxKX0sc2hpbmluZXNzOnt2YWx1ZTozMH19XSksdmVydGV4U2hhZGVyOnJiLm1lc2hwaG9uZ192ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLm1lc2hwaG9uZ19mcmFnfSxzdGFuZGFyZDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLFdhLnJvdWdobmVzc21hcCxXYS5tZXRhbG5lc3NtYXAsV2EuZm9nLFdhLmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBIKDApfSxyb3VnaG5lc3M6e3ZhbHVlOi41fSxtZXRhbG5lc3M6e3ZhbHVlOi41fSxlbnZNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfZnJhZ30sCm1hdGNhcDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5idW1wbWFwLFdhLm5vcm1hbG1hcCxXYS5kaXNwbGFjZW1lbnRtYXAsV2EuZm9nLHttYXRjYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNobWF0Y2FwX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIubWVzaG1hdGNhcF9mcmFnfSxwb2ludHM6e3VuaWZvcm1zOkJiKFtXYS5wb2ludHMsV2EuZm9nXSksdmVydGV4U2hhZGVyOnJiLnBvaW50c192ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLnBvaW50c19mcmFnfSxkYXNoZWQ6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuZm9nLHtzY2FsZTp7dmFsdWU6MX0sZGFzaFNpemU6e3ZhbHVlOjF9LHRvdGFsU2l6ZTp7dmFsdWU6Mn19XSksdmVydGV4U2hhZGVyOnJiLmxpbmVkYXNoZWRfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5saW5lZGFzaGVkX2ZyYWd9LGRlcHRoOnt1bmlmb3JtczpCYihbV2EuY29tbW9uLFdhLmRpc3BsYWNlbWVudG1hcF0pLHZlcnRleFNoYWRlcjpyYi5kZXB0aF92ZXJ0LApmcmFnbWVudFNoYWRlcjpyYi5kZXB0aF9mcmFnfSxub3JtYWw6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLHtvcGFjaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6cmIubm9ybWFsX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIubm9ybWFsX2ZyYWd9LHNwcml0ZTp7dW5pZm9ybXM6QmIoW1dhLnNwcml0ZSxXYS5mb2ddKSx2ZXJ0ZXhTaGFkZXI6cmIuc3ByaXRlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIuc3ByaXRlX2ZyYWd9LGJhY2tncm91bmQ6e3VuaWZvcm1zOnt1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IHJ9LHQyRDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjpyYi5iYWNrZ3JvdW5kX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIuYmFja2dyb3VuZF9mcmFnfSxjdWJlOnt1bmlmb3Jtczp7dEN1YmU6e3ZhbHVlOm51bGx9LHRGbGlwOnt2YWx1ZTotMX0sb3BhY2l0eTp7dmFsdWU6MX19LHZlcnRleFNoYWRlcjpyYi5jdWJlX3ZlcnQsCmZyYWdtZW50U2hhZGVyOnJiLmN1YmVfZnJhZ30sZXF1aXJlY3Q6e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6cmIuZXF1aXJlY3RfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5lcXVpcmVjdF9mcmFnfSxkaXN0YW5jZVJHQkE6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuZGlzcGxhY2VtZW50bWFwLHtyZWZlcmVuY2VQb3NpdGlvbjp7dmFsdWU6bmV3IGt9LG5lYXJEaXN0YW5jZTp7dmFsdWU6MX0sZmFyRGlzdGFuY2U6e3ZhbHVlOjFFM319XSksdmVydGV4U2hhZGVyOnJiLmRpc3RhbmNlUkdCQV92ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLmRpc3RhbmNlUkdCQV9mcmFnfSxzaGFkb3c6e3VuaWZvcm1zOkJiKFtXYS5saWdodHMsV2EuZm9nLHtjb2xvcjp7dmFsdWU6bmV3IEgoMCl9LG9wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpyYi5zaGFkb3dfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5zaGFkb3dfZnJhZ319O09jLnBoeXNpY2FsPQp7dW5pZm9ybXM6QmIoW09jLnN0YW5kYXJkLnVuaWZvcm1zLHt0cmFuc3BhcmVuY3k6e3ZhbHVlOjB9LGNsZWFyY29hdDp7dmFsdWU6MH0sY2xlYXJjb2F0Um91Z2huZXNzOnt2YWx1ZTowfSxzaGVlbjp7dmFsdWU6bmV3IEgoMCl9LGNsZWFyY29hdE5vcm1hbFNjYWxlOnt2YWx1ZTpuZXcgZigxLDEpfSxjbGVhcmNvYXROb3JtYWxNYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfZnJhZ307dGQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTt0ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9dGQ7TmMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtOYy5wcm90b3R5cGUuY29uc3RydWN0b3I9TmM7ZWQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO2VkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lZDtlZC5wcm90b3R5cGUuaXNDdWJlVGV4dHVyZT0KITA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGVkLnByb3RvdHlwZSwiaW1hZ2VzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2V9LHNldDpmdW5jdGlvbihhKXt0aGlzLmltYWdlPWF9fSk7dGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO3RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10ZTt0ZS5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTJEQXJyYXk9ITA7dWUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO3VlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj11ZTt1ZS5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTNEPSEwO3ZhciByaj1uZXcgbCx6bD1uZXcgdGUsQmw9bmV3IHVlLHNqPW5ldyBlZCxsaj1bXSxuaj1bXSxxaj1uZXcgRmxvYXQzMkFycmF5KDE2KSxwaj1uZXcgRmxvYXQzMkFycmF5KDkpLG9qPW5ldyBGbG9hdDMyQXJyYXkoNCk7dGoucHJvdG90eXBlLnVwZGF0ZUNhY2hlPWZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuY2FjaGU7YSBpbnN0YW5jZW9mCkZsb2F0MzJBcnJheSYmYy5sZW5ndGghPT1hLmxlbmd0aCYmKHRoaXMuY2FjaGU9bmV3IEZsb2F0MzJBcnJheShhLmxlbmd0aCkpO3BjKGMsYSl9O3VqLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbihhLGMsZSl7Zm9yKHZhciBnPXRoaXMuc2VxLHQ9MCx2PWcubGVuZ3RoO3QhPT12OysrdCl7dmFyIHo9Z1t0XTt6LnNldFZhbHVlKGEsY1t6LmlkXSxlKX19O3ZhciBRaD0vKFtcd1xkX10rKShcXSk/KFxbfFwuKT8vZzt3ZC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSxjLGUsZyl7Yz10aGlzLm1hcFtjXTt2b2lkIDAhPT1jJiZjLnNldFZhbHVlKGEsZSxnKX07d2QucHJvdG90eXBlLnNldE9wdGlvbmFsPWZ1bmN0aW9uKGEsYyxlKXtjPWNbZV07dm9pZCAwIT09YyYmdGhpcy5zZXRWYWx1ZShhLGUsYyl9O3dkLnVwbG9hZD1mdW5jdGlvbihhLGMsZSxnKXtmb3IodmFyIHQ9MCx2PWMubGVuZ3RoO3QhPT12OysrdCl7dmFyIHo9Y1t0XSxFPWVbei5pZF07ITEhPT1FLm5lZWRzVXBkYXRlJiYKei5zZXRWYWx1ZShhLEUudmFsdWUsZyl9fTt3ZC5zZXFXaXRoVmFsdWU9ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9W10sZz0wLHQ9YS5sZW5ndGg7ZyE9PXQ7KytnKXt2YXIgdj1hW2ddO3YuaWQgaW4gYyYmZS5wdXNoKHYpfXJldHVybiBlfTt2YXIgZW09MCxubT0wO3hkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTt4ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9eGQ7eGQucHJvdG90eXBlLmlzTWVzaERlcHRoTWF0ZXJpYWw9ITA7eGQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kZXB0aFBhY2tpbmc9YS5kZXB0aFBhY2tpbmc7dGhpcy5za2lubmluZz1hLnNraW5uaW5nO3RoaXMubW9ycGhUYXJnZXRzPWEubW9ycGhUYXJnZXRzO3RoaXMubWFwPWEubWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmRpc3BsYWNlbWVudE1hcD1hLmRpc3BsYWNlbWVudE1hcDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPQphLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7cmV0dXJuIHRoaXN9O3lkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTt5ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9eWQ7eWQucHJvdG90eXBlLmlzTWVzaERpc3RhbmNlTWF0ZXJpYWw9ITA7eWQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5yZWZlcmVuY2VQb3NpdGlvbi5jb3B5KGEucmVmZXJlbmNlUG9zaXRpb24pO3RoaXMubmVhckRpc3RhbmNlPWEubmVhckRpc3RhbmNlO3RoaXMuZmFyRGlzdGFuY2U9YS5mYXJEaXN0YW5jZTt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tYXA9YS5tYXA7dGhpcy5hbHBoYU1hcD0KYS5hbHBoYU1hcDt0aGlzLmRpc3BsYWNlbWVudE1hcD1hLmRpc3BsYWNlbWVudE1hcDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPWEuZGlzcGxhY2VtZW50U2NhbGU7dGhpcy5kaXNwbGFjZW1lbnRCaWFzPWEuZGlzcGxhY2VtZW50QmlhcztyZXR1cm4gdGhpc307d2UucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndlLGlzR3JvdXA6ITB9KTt3Zi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHZiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndmLGlzQXJyYXlDYW1lcmE6ITB9KTt2YXIgSGo9bmV3IGssSWo9bmV3IGs7T2JqZWN0LmFzc2lnbihTaC5wcm90b3R5cGUsZC5wcm90b3R5cGUpO09iamVjdC5hc3NpZ24oSmoucHJvdG90eXBlLGQucHJvdG90eXBlKTtPYmplY3QuYXNzaWduKENnLnByb3RvdHlwZSx7aXNGb2dFeHAyOiEwLGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBDZyh0aGlzLmNvbG9yLAp0aGlzLmRlbnNpdHkpfSx0b0pTT046ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiRm9nRXhwMiIsY29sb3I6dGhpcy5jb2xvci5nZXRIZXgoKSxkZW5zaXR5OnRoaXMuZGVuc2l0eX19fSk7T2JqZWN0LmFzc2lnbihEZy5wcm90b3R5cGUse2lzRm9nOiEwLGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEZyh0aGlzLmNvbG9yLHRoaXMubmVhcix0aGlzLmZhcil9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybnt0eXBlOiJGb2ciLGNvbG9yOnRoaXMuY29sb3IuZ2V0SGV4KCksbmVhcjp0aGlzLm5lYXIsZmFyOnRoaXMuZmFyfX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoU2QucHJvdG90eXBlLCJuZWVkc1VwZGF0ZSIse3NldDpmdW5jdGlvbihhKXshMD09PWEmJnRoaXMudmVyc2lvbisrfX0pO09iamVjdC5hc3NpZ24oU2QucHJvdG90eXBlLHtpc0ludGVybGVhdmVkQnVmZmVyOiEwLG9uVXBsb2FkQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LHNldEFycmF5OmZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTsKdGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL3RoaXMuc3RyaWRlOjA7dGhpcy5hcnJheT1hO3JldHVybiB0aGlzfSxzZXREeW5hbWljOmZ1bmN0aW9uKGEpe3RoaXMuZHluYW1pYz1hO3JldHVybiB0aGlzfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYXJyYXk9bmV3IGEuYXJyYXkuY29uc3RydWN0b3IoYS5hcnJheSk7dGhpcy5jb3VudD1hLmNvdW50O3RoaXMuc3RyaWRlPWEuc3RyaWRlO3RoaXMuZHluYW1pYz1hLmR5bmFtaWM7cmV0dXJuIHRoaXN9LGNvcHlBdDpmdW5jdGlvbihhLGMsZSl7YSo9dGhpcy5zdHJpZGU7ZSo9Yy5zdHJpZGU7Zm9yKHZhciBnPTAsdD10aGlzLnN0cmlkZTtnPHQ7ZysrKXRoaXMuYXJyYXlbYStnXT1jLmFycmF5W2UrZ107cmV0dXJuIHRoaXN9LHNldDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMuYXJyYXkuc2V0KGEsYyk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSwKb25VcGxvYWQ6ZnVuY3Rpb24oYSl7dGhpcy5vblVwbG9hZENhbGxiYWNrPWE7cmV0dXJuIHRoaXN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeWYucHJvdG90eXBlLHtjb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH19LGFycmF5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fX19KTtPYmplY3QuYXNzaWduKHlmLnByb3RvdHlwZSx7aXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZTohMCxzZXRYOmZ1bmN0aW9uKGEsYyl7dGhpcy5kYXRhLmFycmF5W2EqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldF09YztyZXR1cm4gdGhpc30sc2V0WTpmdW5jdGlvbihhLGMpe3RoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09YztyZXR1cm4gdGhpc30sc2V0WjpmdW5jdGlvbihhLGMpe3RoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl09YztyZXR1cm4gdGhpc30sCnNldFc6ZnVuY3Rpb24oYSxjKXt0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWM7cmV0dXJuIHRoaXN9LGdldFg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdfSxnZXRZOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfSxnZXRaOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzJdfSxnZXRXOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdfSxzZXRYWTpmdW5jdGlvbihhLGMsZSl7YT1hKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7dGhpcy5kYXRhLmFycmF5W2ErMF09Yzt0aGlzLmRhdGEuYXJyYXlbYSsxXT1lO3JldHVybiB0aGlzfSxzZXRYWVo6ZnVuY3Rpb24oYSwKYyxlLGcpe2E9YSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0O3RoaXMuZGF0YS5hcnJheVthKzBdPWM7dGhpcy5kYXRhLmFycmF5W2ErMV09ZTt0aGlzLmRhdGEuYXJyYXlbYSsyXT1nO3JldHVybiB0aGlzfSxzZXRYWVpXOmZ1bmN0aW9uKGEsYyxlLGcsdCl7YT1hKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7dGhpcy5kYXRhLmFycmF5W2ErMF09Yzt0aGlzLmRhdGEuYXJyYXlbYSsxXT1lO3RoaXMuZGF0YS5hcnJheVthKzJdPWc7dGhpcy5kYXRhLmFycmF5W2ErM109dDtyZXR1cm4gdGhpc319KTtDZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7Q2QucHJvdG90eXBlLmNvbnN0cnVjdG9yPUNkO0NkLnByb3RvdHlwZS5pc1Nwcml0ZU1hdGVyaWFsPSEwO0NkLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hcD1hLm1hcDt0aGlzLnJvdGF0aW9uPQphLnJvdGF0aW9uO3RoaXMuc2l6ZUF0dGVudWF0aW9uPWEuc2l6ZUF0dGVudWF0aW9uO3JldHVybiB0aGlzfTt2YXIgQ2Usbmc9bmV3IGsscGY9bmV3IGsscWY9bmV3IGssRGU9bmV3IGYsQWY9bmV3IGYsT2o9bmV3IHEsdGg9bmV3IGssb2c9bmV3IGssdWg9bmV3IGssdGs9bmV3IGYsUGk9bmV3IGYsdWs9bmV3IGY7emYucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOnpmLGlzU3ByaXRlOiEwLHJheWNhc3Q6ZnVuY3Rpb24oYSxjKXtudWxsPT09YS5jYW1lcmEmJmNvbnNvbGUuZXJyb3IoJ1RIUkVFLlNwcml0ZTogIlJheWNhc3Rlci5jYW1lcmEiIG5lZWRzIHRvIGJlIHNldCBpbiBvcmRlciB0byByYXljYXN0IGFnYWluc3Qgc3ByaXRlcy4nKTtwZi5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCk7T2ouY29weShhLmNhbWVyYS5tYXRyaXhXb3JsZCk7dGhpcy5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhhLmNhbWVyYS5tYXRyaXhXb3JsZEludmVyc2UsCnRoaXMubWF0cml4V29ybGQpO3FmLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1vZGVsVmlld01hdHJpeCk7YS5jYW1lcmEuaXNQZXJzcGVjdGl2ZUNhbWVyYSYmITE9PT10aGlzLm1hdGVyaWFsLnNpemVBdHRlbnVhdGlvbiYmcGYubXVsdGlwbHlTY2FsYXIoLXFmLnopO3ZhciBlPXRoaXMubWF0ZXJpYWwucm90YXRpb247aWYoMCE9PWUpe3ZhciBnPU1hdGguY29zKGUpO3ZhciB0PU1hdGguc2luKGUpfWU9dGhpcy5jZW50ZXI7RWcodGguc2V0KC0uNSwtLjUsMCkscWYsZSxwZix0LGcpO0VnKG9nLnNldCguNSwtLjUsMCkscWYsZSxwZix0LGcpO0VnKHVoLnNldCguNSwuNSwwKSxxZixlLHBmLHQsZyk7dGsuc2V0KDAsMCk7UGkuc2V0KDEsMCk7dWsuc2V0KDEsMSk7dmFyIHY9YS5yYXkuaW50ZXJzZWN0VHJpYW5nbGUodGgsb2csdWgsITEsbmcpO2lmKG51bGw9PT12JiYoRWcob2cuc2V0KC0uNSwuNSwwKSxxZixlLHBmLHQsZyksUGkuc2V0KDAsMSksdj1hLnJheS5pbnRlcnNlY3RUcmlhbmdsZSh0aCwKdWgsb2csITEsbmcpLG51bGw9PT12KSlyZXR1cm47dD1hLnJheS5vcmlnaW4uZGlzdGFuY2VUbyhuZyk7dDxhLm5lYXJ8fHQ+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6dCxwb2ludDpuZy5jbG9uZSgpLHV2OkIuZ2V0VVYobmcsdGgsb2csdWgsdGssUGksdWssbmV3IGYpLGZhY2U6bnVsbCxvYmplY3Q6dGhpc30pfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt2b2lkIDAhPT1hLmNlbnRlciYmdGhpcy5jZW50ZXIuY29weShhLmNlbnRlcik7cmV0dXJuIHRoaXN9fSk7dmFyIHZoPW5ldyBrLHZrPW5ldyBrO0JmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpCZixpc0xPRDohMCxjb3B5OmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphLCExKTthPWEubGV2ZWxzO2Zvcih2YXIgYz0wLGU9YS5sZW5ndGg7YzxlO2MrKyl7dmFyIGc9YVtjXTt0aGlzLmFkZExldmVsKGcub2JqZWN0LmNsb25lKCksZy5kaXN0YW5jZSl9cmV0dXJuIHRoaXN9LGFkZExldmVsOmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Yz1NYXRoLmFicyhjKTtmb3IodmFyIGU9dGhpcy5sZXZlbHMsZz0wO2c8ZS5sZW5ndGgmJiEoYzxlW2ddLmRpc3RhbmNlKTtnKyspO2Uuc3BsaWNlKGcsMCx7ZGlzdGFuY2U6YyxvYmplY3Q6YX0pO3RoaXMuYWRkKGEpO3JldHVybiB0aGlzfSxnZXRPYmplY3RGb3JEaXN0YW5jZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5sZXZlbHMsZT0xLGc9Yy5sZW5ndGg7ZTxnJiYhKGE8Y1tlXS5kaXN0YW5jZSk7ZSsrKTtyZXR1cm4gY1tlLTFdLm9iamVjdH0scmF5Y2FzdDpmdW5jdGlvbihhLGMpe3ZoLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKTt0aGlzLmdldE9iamVjdEZvckRpc3RhbmNlKGEucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKHZoKSkucmF5Y2FzdChhLApjKX0sdXBkYXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMubGV2ZWxzO2lmKDE8Yy5sZW5ndGgpe3ZoLnNldEZyb21NYXRyaXhQb3NpdGlvbihhLm1hdHJpeFdvcmxkKTt2ay5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7YT12aC5kaXN0YW5jZVRvKHZrKTtjWzBdLm9iamVjdC52aXNpYmxlPSEwO2Zvcih2YXIgZT0xLGc9Yy5sZW5ndGg7ZTxnO2UrKylpZihhPj1jW2VdLmRpc3RhbmNlKWNbZS0xXS5vYmplY3QudmlzaWJsZT0hMSxjW2VdLm9iamVjdC52aXNpYmxlPSEwO2Vsc2UgYnJlYWs7Zm9yKDtlPGc7ZSsrKWNbZV0ub2JqZWN0LnZpc2libGU9ITF9fSx0b0pTT046ZnVuY3Rpb24oYSl7YT1BLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LmxldmVscz1bXTtmb3IodmFyIGM9dGhpcy5sZXZlbHMsZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9Y1tlXTthLm9iamVjdC5sZXZlbHMucHVzaCh7b2JqZWN0OnQub2JqZWN0LnV1aWQsCmRpc3RhbmNlOnQuZGlzdGFuY2V9KX1yZXR1cm4gYX19KTtDZi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkNmLGlzU2tpbm5lZE1lc2g6ITAsYmluZDpmdW5jdGlvbihhLGMpe3RoaXMuc2tlbGV0b249YTt2b2lkIDA9PT1jJiYodGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCksdGhpcy5za2VsZXRvbi5jYWxjdWxhdGVJbnZlcnNlcygpLGM9dGhpcy5tYXRyaXhXb3JsZCk7dGhpcy5iaW5kTWF0cml4LmNvcHkoYyk7dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5nZXRJbnZlcnNlKGMpfSxwb3NlOmZ1bmN0aW9uKCl7dGhpcy5za2VsZXRvbi5wb3NlKCl9LG5vcm1hbGl6ZVNraW5XZWlnaHRzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBwLGM9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQsZT0wLGc9Yy5jb3VudDtlPGc7ZSsrKXthLng9Yy5nZXRYKGUpO2EueT1jLmdldFkoZSk7YS56PWMuZ2V0WihlKTsKYS53PWMuZ2V0VyhlKTt2YXIgdD0xL2EubWFuaGF0dGFuTGVuZ3RoKCk7SW5maW5pdHkhPT10P2EubXVsdGlwbHlTY2FsYXIodCk6YS5zZXQoMSwwLDAsMCk7Yy5zZXRYWVpXKGUsYS54LGEueSxhLnosYS53KX19LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe3lhLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSk7ImF0dGFjaGVkIj09PXRoaXMuYmluZE1vZGU/dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpOiJkZXRhY2hlZCI9PT10aGlzLmJpbmRNb2RlP3RoaXMuYmluZE1hdHJpeEludmVyc2UuZ2V0SW52ZXJzZSh0aGlzLmJpbmRNYXRyaXgpOmNvbnNvbGUud2FybigiVEhSRUUuU2tpbm5lZE1lc2g6IFVucmVjb2duaXplZCBiaW5kTW9kZTogIit0aGlzLmJpbmRNb2RlKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTsKdmFyIHdrPW5ldyBxLGNuPW5ldyBxO09iamVjdC5hc3NpZ24oRmcucHJvdG90eXBlLHtjYWxjdWxhdGVJbnZlcnNlczpmdW5jdGlvbigpe3RoaXMuYm9uZUludmVyc2VzPVtdO2Zvcih2YXIgYT0wLGM9dGhpcy5ib25lcy5sZW5ndGg7YTxjO2ErKyl7dmFyIGU9bmV3IHE7dGhpcy5ib25lc1thXSYmZS5nZXRJbnZlcnNlKHRoaXMuYm9uZXNbYV0ubWF0cml4V29ybGQpO3RoaXMuYm9uZUludmVyc2VzLnB1c2goZSl9fSxwb3NlOmZ1bmN0aW9uKCl7dmFyIGEsYzt2YXIgZT0wO2ZvcihjPXRoaXMuYm9uZXMubGVuZ3RoO2U8YztlKyspKGE9dGhpcy5ib25lc1tlXSkmJmEubWF0cml4V29ybGQuZ2V0SW52ZXJzZSh0aGlzLmJvbmVJbnZlcnNlc1tlXSk7ZT0wO2ZvcihjPXRoaXMuYm9uZXMubGVuZ3RoO2U8YztlKyspaWYoYT10aGlzLmJvbmVzW2VdKWEucGFyZW50JiZhLnBhcmVudC5pc0JvbmU/KGEubWF0cml4LmdldEludmVyc2UoYS5wYXJlbnQubWF0cml4V29ybGQpLGEubWF0cml4Lm11bHRpcGx5KGEubWF0cml4V29ybGQpKToKYS5tYXRyaXguY29weShhLm1hdHJpeFdvcmxkKSxhLm1hdHJpeC5kZWNvbXBvc2UoYS5wb3NpdGlvbixhLnF1YXRlcm5pb24sYS5zY2FsZSl9LHVwZGF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmJvbmVzLGM9dGhpcy5ib25lSW52ZXJzZXMsZT10aGlzLmJvbmVNYXRyaWNlcyxnPXRoaXMuYm9uZVRleHR1cmUsdD0wLHY9YS5sZW5ndGg7dDx2O3QrKyl3ay5tdWx0aXBseU1hdHJpY2VzKGFbdF0/YVt0XS5tYXRyaXhXb3JsZDpjbixjW3RdKSx3ay50b0FycmF5KGUsMTYqdCk7dm9pZCAwIT09ZyYmKGcubmVlZHNVcGRhdGU9ITApfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgRmcodGhpcy5ib25lcyx0aGlzLmJvbmVJbnZlcnNlcyl9LGdldEJvbmVCeU5hbWU6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPTAsZT10aGlzLmJvbmVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz10aGlzLmJvbmVzW2NdO2lmKGcubmFtZT09PWEpcmV0dXJuIGd9fX0pO1poLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6WmgsaXNCb25lOiEwfSk7RmIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO0ZiLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1GYjtGYi5wcm90b3R5cGUuaXNMaW5lQmFzaWNNYXRlcmlhbD0hMDtGYi5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtTLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5saW5ld2lkdGg9YS5saW5ld2lkdGg7dGhpcy5saW5lY2FwPWEubGluZWNhcDt0aGlzLmxpbmVqb2luPWEubGluZWpvaW47cmV0dXJuIHRoaXN9O3ZhciB4az1uZXcgayx5az1uZXcgayx6az1uZXcgcSx3aD1uZXcgRCxwZz1uZXcgRztYYi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6WGIsaXNMaW5lOiEwLGNvbXB1dGVMaW5lRGlzdGFuY2VzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpaWYobnVsbD09PQphLmluZGV4KXtmb3IodmFyIGM9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9WzBdLGc9MSx0PWMuY291bnQ7Zzx0O2crKyl4ay5mcm9tQnVmZmVyQXR0cmlidXRlKGMsZy0xKSx5ay5mcm9tQnVmZmVyQXR0cmlidXRlKGMsZyksZVtnXT1lW2ctMV0sZVtnXSs9eGsuZGlzdGFuY2VUbyh5ayk7YS5hZGRBdHRyaWJ1dGUoImxpbmVEaXN0YW5jZSIsbmV3IGJhKGUsMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCk6IENvbXB1dGF0aW9uIG9ubHkgcG9zc2libGUgd2l0aCBub24taW5kZXhlZCBCdWZmZXJHZW9tZXRyeS4iKTtlbHNlIGlmKGEuaXNHZW9tZXRyeSlmb3IoYz1hLnZlcnRpY2VzLGU9YS5saW5lRGlzdGFuY2VzLGVbMF09MCxnPTEsdD1jLmxlbmd0aDtnPHQ7ZysrKWVbZ109ZVtnLTFdLGVbZ10rPWNbZy0xXS5kaXN0YW5jZVRvKGNbZ10pO3JldHVybiB0aGlzfSxyYXljYXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS5saW5lUHJlY2lzaW9uLApnPXRoaXMuZ2VvbWV0cnksdD10aGlzLm1hdHJpeFdvcmxkO251bGw9PT1nLmJvdW5kaW5nU3BoZXJlJiZnLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3BnLmNvcHkoZy5ib3VuZGluZ1NwaGVyZSk7cGcuYXBwbHlNYXRyaXg0KHQpO3BnLnJhZGl1cys9ZTtpZighMSE9PWEucmF5LmludGVyc2VjdHNTcGhlcmUocGcpKXt6ay5nZXRJbnZlcnNlKHQpO3doLmNvcHkoYS5yYXkpLmFwcGx5TWF0cml4NCh6ayk7ZS89KHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zO2UqPWU7dmFyIHY9bmV3IGssej1uZXcgazt0PW5ldyBrO3ZhciBFPW5ldyBrLEY9dGhpcyYmdGhpcy5pc0xpbmVTZWdtZW50cz8yOjE7aWYoZy5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgST1nLmluZGV4LE09Zy5hdHRyaWJ1dGVzLnBvc2l0aW9uLmFycmF5O2lmKG51bGwhPT1JKXtJPUkuYXJyYXk7Zz0wO2Zvcih2YXIgUD1JLmxlbmd0aC0xO2c8UDtnKz1GKXt2YXIgUT1JW2crMV07di5mcm9tQXJyYXkoTSwKMypJW2ddKTt6LmZyb21BcnJheShNLDMqUSk7UT13aC5kaXN0YW5jZVNxVG9TZWdtZW50KHYseixFLHQpO1E+ZXx8KEUuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLFE9YS5yYXkub3JpZ2luLmRpc3RhbmNlVG8oRSksUTxhLm5lYXJ8fFE+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6USxwb2ludDp0LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4OmcsZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSkpfX1lbHNlIGZvcihnPTAsUD1NLmxlbmd0aC8zLTE7ZzxQO2crPUYpdi5mcm9tQXJyYXkoTSwzKmcpLHouZnJvbUFycmF5KE0sMypnKzMpLFE9d2guZGlzdGFuY2VTcVRvU2VnbWVudCh2LHosRSx0KSxRPmV8fChFLmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKSxRPWEucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKEUpLFE8YS5uZWFyfHxRPmEuZmFyfHxjLnB1c2goe2Rpc3RhbmNlOlEscG9pbnQ6dC5jbG9uZSgpLmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKSwKaW5kZXg6ZyxmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KSl9ZWxzZSBpZihnLmlzR2VvbWV0cnkpZm9yKHY9Zy52ZXJ0aWNlcyx6PXYubGVuZ3RoLGc9MDtnPHotMTtnKz1GKVE9d2guZGlzdGFuY2VTcVRvU2VnbWVudCh2W2ddLHZbZysxXSxFLHQpLFE+ZXx8KEUuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLFE9YS5yYXkub3JpZ2luLmRpc3RhbmNlVG8oRSksUTxhLm5lYXJ8fFE+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6USxwb2ludDp0LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4OmcsZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSkpfX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTt2YXIgeGg9bmV3IGsseWg9bmV3IGs7SWIucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6SWIsaXNMaW5lU2VnbWVudHM6ITAsY29tcHV0ZUxpbmVEaXN0YW5jZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdlb21ldHJ5O2lmKGEuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09YS5pbmRleCl7Zm9yKHZhciBjPWEuYXR0cmlidXRlcy5wb3NpdGlvbixlPVtdLGc9MCx0PWMuY291bnQ7Zzx0O2crPTIpeGguZnJvbUJ1ZmZlckF0dHJpYnV0ZShjLGcpLHloLmZyb21CdWZmZXJBdHRyaWJ1dGUoYyxnKzEpLGVbZ109MD09PWc/MDplW2ctMV0sZVtnKzFdPWVbZ10reGguZGlzdGFuY2VUbyh5aCk7YS5hZGRBdHRyaWJ1dGUoImxpbmVEaXN0YW5jZSIsbmV3IGJhKGUsMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgaWYoYS5pc0dlb21ldHJ5KWZvcihjPWEudmVydGljZXMsZT0KYS5saW5lRGlzdGFuY2VzLGc9MCx0PWMubGVuZ3RoO2c8dDtnKz0yKXhoLmNvcHkoY1tnXSkseWguY29weShjW2crMV0pLGVbZ109MD09PWc/MDplW2ctMV0sZVtnKzFdPWVbZ10reGguZGlzdGFuY2VUbyh5aCk7cmV0dXJuIHRoaXN9fSk7R2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpHZyxpc0xpbmVMb29wOiEwfSk7Q2MucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO0NjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1DYztDYy5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtDYy5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtTLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5tYXA9YS5tYXA7dGhpcy5zaXplPWEuc2l6ZTt0aGlzLnNpemVBdHRlbnVhdGlvbj1hLnNpemVBdHRlbnVhdGlvbjt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czsKcmV0dXJuIHRoaXN9O3ZhciBBaz1uZXcgcSxhaT1uZXcgRCxxZz1uZXcgRyx6aD1uZXcgaztFZS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6RWUsaXNQb2ludHM6ITAscmF5Y2FzdDpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZ2VvbWV0cnksZz10aGlzLm1hdHJpeFdvcmxkLHQ9YS5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZDtudWxsPT09ZS5ib3VuZGluZ1NwaGVyZSYmZS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTtxZy5jb3B5KGUuYm91bmRpbmdTcGhlcmUpO3FnLmFwcGx5TWF0cml4NChnKTtxZy5yYWRpdXMrPXQ7aWYoITEhPT1hLnJheS5pbnRlcnNlY3RzU3BoZXJlKHFnKSlpZihBay5nZXRJbnZlcnNlKGcpLGFpLmNvcHkoYS5yYXkpLmFwcGx5TWF0cml4NChBayksdC89KHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zLHQqPXQsZS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgdj1lLmluZGV4OwplPWUuYXR0cmlidXRlcy5wb3NpdGlvbi5hcnJheTtpZihudWxsIT09dil7dmFyIHo9di5hcnJheTt2PTA7Zm9yKHZhciBFPXoubGVuZ3RoO3Y8RTt2Kyspe3ZhciBGPXpbdl07emguZnJvbUFycmF5KGUsMypGKTskaCh6aCxGLHQsZyxhLGMsdGhpcyl9fWVsc2UgZm9yKHY9MCx6PWUubGVuZ3RoLzM7djx6O3YrKyl6aC5mcm9tQXJyYXkoZSwzKnYpLCRoKHpoLHYsdCxnLGEsYyx0aGlzKX1lbHNlIGZvcihlPWUudmVydGljZXMsdj0wLHo9ZS5sZW5ndGg7djx6O3YrKykkaChlW3ZdLHYsdCxnLGEsYyx0aGlzKX0sdXBkYXRlTW9ycGhUYXJnZXRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpe2E9YS5tb3JwaEF0dHJpYnV0ZXM7dmFyIGM9T2JqZWN0LmtleXMoYSk7aWYoMDxjLmxlbmd0aCl7dmFyIGU9YVtjWzBdXTtpZih2b2lkIDAhPT1lKWZvcih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT0Ke30sYT0wLGM9ZS5sZW5ndGg7YTxjO2ErKyl7dmFyIGc9ZVthXS5uYW1lfHxTdHJpbmcoYSk7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXMucHVzaCgwKTt0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtnXT1hfX19ZWxzZSBhPWEubW9ycGhUYXJnZXRzLHZvaWQgMCE9PWEmJjA8YS5sZW5ndGgmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlBvaW50cy51cGRhdGVNb3JwaFRhcmdldHMoKSBkb2VzIG5vdCBzdXBwb3J0IFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTtiaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGwucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6YmksaXNWaWRlb1RleHR1cmU6ITAsdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5pbWFnZTthLnJlYWR5U3RhdGU+PQphLkhBVkVfQ1VSUkVOVF9EQVRBJiYodGhpcy5uZWVkc1VwZGF0ZT0hMCl9fSk7RmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO0ZlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1GZTtGZS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDtEZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShsLnByb3RvdHlwZSk7RGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPURmO0RmLnByb3RvdHlwZS5pc0NhbnZhc1RleHR1cmU9ITA7RWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO0VmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FZjtFZi5wcm90b3R5cGUuaXNEZXB0aFRleHR1cmU9ITA7R2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtHZS5wcm90b3R5cGUuY29uc3RydWN0b3I9R2U7RmYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTtGZi5wcm90b3R5cGUuY29uc3RydWN0b3I9RmY7SGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTsKSGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhlO0dmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7R2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPUdmO21jLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7bWMucHJvdG90eXBlLmNvbnN0cnVjdG9yPW1jO0hmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhmO0llLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG1jLnByb3RvdHlwZSk7SWUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUllO0lmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPUlmO1RkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG1jLnByb3RvdHlwZSk7VGQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRkO0pmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpKZjtKZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShtYy5wcm90b3R5cGUpO0plLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1KZTtLZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO0tmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1LZjtLZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShtYy5wcm90b3R5cGUpO0tlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1LZTtMZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO0xmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MZjtVZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1VkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VZDtVZC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9dmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucGF0aD10aGlzLnBhcmFtZXRlcnMucGF0aC50b0pTT04oKTtyZXR1cm4gYX07TWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTsKTWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPU1mO0xlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7TGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUxlO05mLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7TmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPU5mO01lLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7TWUucHJvdG90eXBlLmNvbnN0cnVjdG9yPU1lO3ZhciBkbj17dHJpYW5ndWxhdGU6ZnVuY3Rpb24oYSxjLGUpe2U9ZXx8Mjt2YXIgZz1jJiZjLmxlbmd0aCx0PWc/Y1swXSplOmEubGVuZ3RoLHY9UGooYSwwLHQsZSwhMCksej1bXTtpZighdnx8di5uZXh0PT09di5wcmV2KXJldHVybiB6O2cmJih2PXltKGEsYyx2LGUpKTtpZihhLmxlbmd0aD44MCplKXt2YXIgRT1jPWFbMF07dmFyIEY9Zz1hWzFdO2Zvcih2YXIgST1lO0k8dDtJKz1lKXt2YXIgTT1hW0ldO3ZhciBQPWFbSSsxXTtNPEUmJihFPU0pO1A8RiYmKEY9UCk7Ck0+YyYmKGM9TSk7UD5nJiYoZz1QKX1NPU1hdGgubWF4KGMtRSxnLUYpO009MCE9PU0/MS9NOjB9UWYodix6LGUsRSxGLE0pO3JldHVybiB6fX0sZ2Q9e2FyZWE6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPWEubGVuZ3RoLGU9MCxnPWMtMSx0PTA7dDxjO2c9dCsrKWUrPWFbZ10ueCphW3RdLnktYVt0XS54KmFbZ10ueTtyZXR1cm4uNSplfSxpc0Nsb2NrV2lzZTpmdW5jdGlvbihhKXtyZXR1cm4gMD5nZC5hcmVhKGEpfSx0cmlhbmd1bGF0ZVNoYXBlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9W10sZz1bXSx0PVtdO1RqKGEpO1VqKGUsYSk7dmFyIHY9YS5sZW5ndGg7Yy5mb3JFYWNoKFRqKTtmb3IoYT0wO2E8Yy5sZW5ndGg7YSsrKWcucHVzaCh2KSx2Kz1jW2FdLmxlbmd0aCxVaihlLGNbYV0pO2M9ZG4udHJpYW5ndWxhdGUoZSxnKTtmb3IoYT0wO2E8Yy5sZW5ndGg7YSs9Myl0LnB1c2goYy5zbGljZShhLGErMykpO3JldHVybiB0fX07V2QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTsKV2QucHJvdG90eXBlLmNvbnN0cnVjdG9yPVdkO1dkLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT14YS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7cmV0dXJuIFZqKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsYSl9O1RjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7VGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRjO1RjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT12YS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7cmV0dXJuIFZqKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsYSl9O3ZhciBHbT17Z2VuZXJhdGVUb3BVVjpmdW5jdGlvbihhLGMsZSxnLHQpe2E9Y1szKmddO2c9Y1szKmcrMV07dmFyIHY9Y1szKnRdO3Q9Y1szKnQrMV07cmV0dXJuW25ldyBmKGNbMyplXSxjWzMqZSsxXSksbmV3IGYoYSxnKSxuZXcgZih2LHQpXX0sZ2VuZXJhdGVTaWRlV2FsbFVWOmZ1bmN0aW9uKGEsCmMsZSxnLHQsdil7YT1jWzMqZV07dmFyIHo9Y1szKmUrMV07ZT1jWzMqZSsyXTt2YXIgRT1jWzMqZ10sRj1jWzMqZysxXTtnPWNbMypnKzJdO3ZhciBJPWNbMyp0XSxNPWNbMyp0KzFdO3Q9Y1szKnQrMl07dmFyIFA9Y1szKnZdLFE9Y1szKnYrMV07Yz1jWzMqdisyXTtyZXR1cm4uMDE+TWF0aC5hYnMoei1GKT9bbmV3IGYoYSwxLWUpLG5ldyBmKEUsMS1nKSxuZXcgZihJLDEtdCksbmV3IGYoUCwxLWMpXTpbbmV3IGYoeiwxLWUpLG5ldyBmKEYsMS1nKSxuZXcgZihNLDEtdCksbmV3IGYoUSwxLWMpXX19O1NmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7U2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNmO09lLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFRjLnByb3RvdHlwZSk7T2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPU9lO1RmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7VGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRmO0RkLnByb3RvdHlwZT0KT2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO0RkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EZDtVZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1VmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VZjtQZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1BlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1QZTtWZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1ZmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1WZjtRZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1FlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1RZTtYZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1hkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1YZDtYZC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9eGEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO3JldHVybiBXaih0aGlzLnBhcmFtZXRlcnMuc2hhcGVzLAphKX07WWQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtZZC5wcm90b3R5cGUuY29uc3RydWN0b3I9WWQ7WWQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciBhPXZhLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTtyZXR1cm4gV2oodGhpcy5wYXJhbWV0ZXJzLnNoYXBlcyxhKX07UmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtSZS5wcm90b3R5cGUuY29uc3RydWN0b3I9UmU7WmQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTtaZC5wcm90b3R5cGUuY29uc3RydWN0b3I9WmQ7aGQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtoZC5wcm90b3R5cGUuY29uc3RydWN0b3I9aGQ7V2YucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmQucHJvdG90eXBlKTtXZi5wcm90b3R5cGUuY29uc3RydWN0b3I9V2Y7WGYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoaGQucHJvdG90eXBlKTtYZi5wcm90b3R5cGUuY29uc3RydWN0b3I9ClhmO1lmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7WWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPVlmO1NlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7U2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNlO3ZhciBqYz1PYmplY3QuZnJlZXplKHtXaXJlZnJhbWVHZW9tZXRyeTpHZSxQYXJhbWV0cmljR2VvbWV0cnk6RmYsUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5OkhlLFRldHJhaGVkcm9uR2VvbWV0cnk6SGYsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTpJZSxPY3RhaGVkcm9uR2VvbWV0cnk6SWYsT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5OlRkLEljb3NhaGVkcm9uR2VvbWV0cnk6SmYsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTpKZSxEb2RlY2FoZWRyb25HZW9tZXRyeTpLZixEb2RlY2FoZWRyb25CdWZmZXJHZW9tZXRyeTpLZSxQb2x5aGVkcm9uR2VvbWV0cnk6R2YsUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5Om1jLFR1YmVHZW9tZXRyeTpMZiwKVHViZUJ1ZmZlckdlb21ldHJ5OlVkLFRvcnVzS25vdEdlb21ldHJ5Ok1mLFRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5OkxlLFRvcnVzR2VvbWV0cnk6TmYsVG9ydXNCdWZmZXJHZW9tZXRyeTpNZSxUZXh0R2VvbWV0cnk6U2YsVGV4dEJ1ZmZlckdlb21ldHJ5Ok9lLFNwaGVyZUdlb21ldHJ5OlRmLFNwaGVyZUJ1ZmZlckdlb21ldHJ5OkRkLFJpbmdHZW9tZXRyeTpVZixSaW5nQnVmZmVyR2VvbWV0cnk6UGUsUGxhbmVHZW9tZXRyeTp0ZCxQbGFuZUJ1ZmZlckdlb21ldHJ5Ok5jLExhdGhlR2VvbWV0cnk6VmYsTGF0aGVCdWZmZXJHZW9tZXRyeTpRZSxTaGFwZUdlb21ldHJ5OlhkLFNoYXBlQnVmZmVyR2VvbWV0cnk6WWQsRXh0cnVkZUdlb21ldHJ5OldkLEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpUYyxFZGdlc0dlb21ldHJ5OlJlLENvbmVHZW9tZXRyeTpXZixDb25lQnVmZmVyR2VvbWV0cnk6WGYsQ3lsaW5kZXJHZW9tZXRyeTpaZCxDeWxpbmRlckJ1ZmZlckdlb21ldHJ5OmhkLENpcmNsZUdlb21ldHJ5OllmLApDaXJjbGVCdWZmZXJHZW9tZXRyeTpTZSxCb3hHZW9tZXRyeTpTYSxCb3hCdWZmZXJHZW9tZXRyeTpYYX0pOyRkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTskZC5wcm90b3R5cGUuY29uc3RydWN0b3I9JGQ7JGQucHJvdG90eXBlLmlzU2hhZG93TWF0ZXJpYWw9ITA7JGQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3JldHVybiB0aGlzfTtUZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShxYi5wcm90b3R5cGUpO1RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1UZTtUZS5wcm90b3R5cGUuaXNSYXdTaGFkZXJNYXRlcmlhbD0hMDtVYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7VWMucHJvdG90eXBlLmNvbnN0cnVjdG9yPVVjO1VjLnByb3RvdHlwZS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsPSEwO1VjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphKTt0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5yb3VnaG5lc3M9YS5yb3VnaG5lc3M7dGhpcy5tZXRhbG5lc3M9YS5tZXRhbG5lc3M7dGhpcy5tYXA9YS5tYXA7dGhpcy5saWdodE1hcD1hLmxpZ2h0TWFwO3RoaXMubGlnaHRNYXBJbnRlbnNpdHk9YS5saWdodE1hcEludGVuc2l0eTt0aGlzLmFvTWFwPWEuYW9NYXA7dGhpcy5hb01hcEludGVuc2l0eT1hLmFvTWFwSW50ZW5zaXR5O3RoaXMuZW1pc3NpdmUuY29weShhLmVtaXNzaXZlKTt0aGlzLmVtaXNzaXZlTWFwPWEuZW1pc3NpdmVNYXA7dGhpcy5lbWlzc2l2ZUludGVuc2l0eT1hLmVtaXNzaXZlSW50ZW5zaXR5O3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7CnRoaXMuZGlzcGxhY2VtZW50TWFwPWEuZGlzcGxhY2VtZW50TWFwO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9YS5kaXNwbGFjZW1lbnRTY2FsZTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9YS5kaXNwbGFjZW1lbnRCaWFzO3RoaXMucm91Z2huZXNzTWFwPWEucm91Z2huZXNzTWFwO3RoaXMubWV0YWxuZXNzTWFwPWEubWV0YWxuZXNzTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD1hLmVudk1hcDt0aGlzLmVudk1hcEludGVuc2l0eT1hLmVudk1hcEludGVuc2l0eTt0aGlzLnJlZnJhY3Rpb25SYXRpbz1hLnJlZnJhY3Rpb25SYXRpbzt0aGlzLndpcmVmcmFtZT1hLndpcmVmcmFtZTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD1hLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9CmEubW9ycGhUYXJnZXRzO3RoaXMubW9ycGhOb3JtYWxzPWEubW9ycGhOb3JtYWxzO3JldHVybiB0aGlzfTthZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShVYy5wcm90b3R5cGUpO2FlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hZTthZS5wcm90b3R5cGUuaXNNZXNoUGh5c2ljYWxNYXRlcmlhbD0hMDthZS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtVYy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn07dGhpcy5yZWZsZWN0aXZpdHk9YS5yZWZsZWN0aXZpdHk7dGhpcy5jbGVhcmNvYXQ9YS5jbGVhcmNvYXQ7dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9YS5jbGVhcmNvYXRSb3VnaG5lc3M7dGhpcy5zaGVlbj1hLnNoZWVuPyh0aGlzLnNoZWVufHxuZXcgSCkuY29weShhLnNoZWVuKTpudWxsO3RoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPWEuY2xlYXJjb2F0Tm9ybWFsTWFwO3RoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGUuY29weShhLmNsZWFyY29hdE5vcm1hbFNjYWxlKTsKdGhpcy50cmFuc3BhcmVuY3k9YS50cmFuc3BhcmVuY3k7cmV0dXJuIHRoaXN9O0RjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtEYy5wcm90b3R5cGUuY29uc3RydWN0b3I9RGM7RGMucHJvdG90eXBlLmlzTWVzaFBob25nTWF0ZXJpYWw9ITA7RGMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMuc3BlY3VsYXIuY29weShhLnNwZWN1bGFyKTt0aGlzLnNoaW5pbmVzcz1hLnNoaW5pbmVzczt0aGlzLm1hcD1hLm1hcDt0aGlzLmxpZ2h0TWFwPWEubGlnaHRNYXA7dGhpcy5saWdodE1hcEludGVuc2l0eT1hLmxpZ2h0TWFwSW50ZW5zaXR5O3RoaXMuYW9NYXA9YS5hb01hcDt0aGlzLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHk7dGhpcy5lbWlzc2l2ZS5jb3B5KGEuZW1pc3NpdmUpO3RoaXMuZW1pc3NpdmVNYXA9YS5lbWlzc2l2ZU1hcDt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PQphLmVtaXNzaXZlSW50ZW5zaXR5O3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy5zcGVjdWxhck1hcD1hLnNwZWN1bGFyTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD1hLmVudk1hcDt0aGlzLmNvbWJpbmU9YS5jb21iaW5lO3RoaXMucmVmbGVjdGl2aXR5PWEucmVmbGVjdGl2aXR5O3RoaXMucmVmcmFjdGlvblJhdGlvPWEucmVmcmFjdGlvblJhdGlvO3RoaXMud2lyZWZyYW1lPWEud2lyZWZyYW1lO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPQphLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHM7cmV0dXJuIHRoaXN9O2JlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKERjLnByb3RvdHlwZSk7YmUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJlO2JlLnByb3RvdHlwZS5pc01lc2hUb29uTWF0ZXJpYWw9ITA7YmUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7RGMucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ3JhZGllbnRNYXA9YS5ncmFkaWVudE1hcDtyZXR1cm4gdGhpc307Y2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO2NlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1jZTtjZS5wcm90b3R5cGUuaXNNZXNoTm9ybWFsTWF0ZXJpYWw9CiEwO2NlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7dGhpcy5za2lubmluZz1hLnNraW5uaW5nO3RoaXMubW9ycGhUYXJnZXRzPWEubW9ycGhUYXJnZXRzO3RoaXMubW9ycGhOb3JtYWxzPWEubW9ycGhOb3JtYWxzO3JldHVybiB0aGlzfTsKZGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO2RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1kZTtkZS5wcm90b3R5cGUuaXNNZXNoTGFtYmVydE1hdGVyaWFsPSEwO2RlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hcD1hLm1hcDt0aGlzLmxpZ2h0TWFwPWEubGlnaHRNYXA7dGhpcy5saWdodE1hcEludGVuc2l0eT1hLmxpZ2h0TWFwSW50ZW5zaXR5O3RoaXMuYW9NYXA9YS5hb01hcDt0aGlzLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHk7dGhpcy5lbWlzc2l2ZS5jb3B5KGEuZW1pc3NpdmUpO3RoaXMuZW1pc3NpdmVNYXA9YS5lbWlzc2l2ZU1hcDt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PWEuZW1pc3NpdmVJbnRlbnNpdHk7dGhpcy5zcGVjdWxhck1hcD1hLnNwZWN1bGFyTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD0KYS5lbnZNYXA7dGhpcy5jb21iaW5lPWEuY29tYmluZTt0aGlzLnJlZmxlY3Rpdml0eT1hLnJlZmxlY3Rpdml0eTt0aGlzLnJlZnJhY3Rpb25SYXRpbz1hLnJlZnJhY3Rpb25SYXRpbzt0aGlzLndpcmVmcmFtZT1hLndpcmVmcmFtZTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD1hLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHM7cmV0dXJuIHRoaXN9O2VlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtlZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZWU7ZWUucHJvdG90eXBlLmlzTWVzaE1hdGNhcE1hdGVyaWFsPSEwO2VlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphKTt0aGlzLmRlZmluZXM9e01BVENBUDoiIn07dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMubWF0Y2FwPWEubWF0Y2FwO3RoaXMubWFwPWEubWFwO3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy5hbHBoYU1hcD1hLmFscGhhTWFwO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czt0aGlzLm1vcnBoTm9ybWFscz1hLm1vcnBoTm9ybWFscztyZXR1cm4gdGhpc307ZmUucHJvdG90eXBlPQpPYmplY3QuY3JlYXRlKEZiLnByb3RvdHlwZSk7ZmUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWZlO2ZlLnByb3RvdHlwZS5pc0xpbmVEYXNoZWRNYXRlcmlhbD0hMDtmZS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtGYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5zY2FsZT1hLnNjYWxlO3RoaXMuZGFzaFNpemU9YS5kYXNoU2l6ZTt0aGlzLmdhcFNpemU9YS5nYXBTaXplO3JldHVybiB0aGlzfTt2YXIgZW49T2JqZWN0LmZyZWV6ZSh7U2hhZG93TWF0ZXJpYWw6JGQsU3ByaXRlTWF0ZXJpYWw6Q2QsUmF3U2hhZGVyTWF0ZXJpYWw6VGUsU2hhZGVyTWF0ZXJpYWw6cWIsUG9pbnRzTWF0ZXJpYWw6Q2MsTWVzaFBoeXNpY2FsTWF0ZXJpYWw6YWUsTWVzaFN0YW5kYXJkTWF0ZXJpYWw6VWMsTWVzaFBob25nTWF0ZXJpYWw6RGMsTWVzaFRvb25NYXRlcmlhbDpiZSxNZXNoTm9ybWFsTWF0ZXJpYWw6Y2UsTWVzaExhbWJlcnRNYXRlcmlhbDpkZSxNZXNoRGVwdGhNYXRlcmlhbDp4ZCwKTWVzaERpc3RhbmNlTWF0ZXJpYWw6eWQsTWVzaEJhc2ljTWF0ZXJpYWw6TixNZXNoTWF0Y2FwTWF0ZXJpYWw6ZWUsTGluZURhc2hlZE1hdGVyaWFsOmZlLExpbmVCYXNpY01hdGVyaWFsOkZiLE1hdGVyaWFsOlN9KSxWYj17YXJyYXlTbGljZTpmdW5jdGlvbihhLGMsZSl7cmV0dXJuIFZiLmlzVHlwZWRBcnJheShhKT9uZXcgYS5jb25zdHJ1Y3RvcihhLnN1YmFycmF5KGMsdm9pZCAwIT09ZT9lOmEubGVuZ3RoKSk6YS5zbGljZShjLGUpfSxjb252ZXJ0QXJyYXk6ZnVuY3Rpb24oYSxjLGUpe3JldHVybiFhfHwhZSYmYS5jb25zdHJ1Y3Rvcj09PWM/YToibnVtYmVyIj09PXR5cGVvZiBjLkJZVEVTX1BFUl9FTEVNRU5UP25ldyBjKGEpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfSxpc1R5cGVkQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyhhKSYmIShhIGluc3RhbmNlb2YgRGF0YVZpZXcpfSxnZXRLZXlmcmFtZU9yZGVyOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0KYS5sZW5ndGgsZT1BcnJheShjKSxnPTA7ZyE9PWM7KytnKWVbZ109ZztlLnNvcnQoZnVuY3Rpb24odCx2KXtyZXR1cm4gYVt0XS1hW3ZdfSk7cmV0dXJuIGV9LHNvcnRlZEFycmF5OmZ1bmN0aW9uKGEsYyxlKXtmb3IodmFyIGc9YS5sZW5ndGgsdD1uZXcgYS5jb25zdHJ1Y3RvcihnKSx2PTAsej0wO3ohPT1nOysrdilmb3IodmFyIEU9ZVt2XSpjLEY9MDtGIT09YzsrK0YpdFt6KytdPWFbRStGXTtyZXR1cm4gdH0sZmxhdHRlbkpTT046ZnVuY3Rpb24oYSxjLGUsZyl7Zm9yKHZhciB0PTEsdj1hWzBdO3ZvaWQgMCE9PXYmJnZvaWQgMD09PXZbZ107KXY9YVt0KytdO2lmKHZvaWQgMCE9PXYpe3ZhciB6PXZbZ107aWYodm9pZCAwIT09eilpZihBcnJheS5pc0FycmF5KHopKXtkbyB6PXZbZ10sdm9pZCAwIT09eiYmKGMucHVzaCh2LnRpbWUpLGUucHVzaC5hcHBseShlLHopKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX1lbHNlIGlmKHZvaWQgMCE9PXoudG9BcnJheSl7ZG8gej12W2ddLAp2b2lkIDAhPT16JiYoYy5wdXNoKHYudGltZSksei50b0FycmF5KGUsZS5sZW5ndGgpKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX1lbHNle2RvIHo9dltnXSx2b2lkIDAhPT16JiYoYy5wdXNoKHYudGltZSksZS5wdXNoKHopKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX19fX07T2JqZWN0LmFzc2lnbihyYy5wcm90b3R5cGUse2V2YWx1YXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGFyYW1ldGVyUG9zaXRpb25zLGU9dGhpcy5fY2FjaGVkSW5kZXgsZz1jW2VdLHQ9Y1tlLTFdO2E6e2I6e2M6e2Q6aWYoIShhPGcpKXtmb3IodmFyIHY9ZSsyOzspe2lmKHZvaWQgMD09PWcpe2lmKGE8dClicmVhayBkO3RoaXMuX2NhY2hlZEluZGV4PWU9Yy5sZW5ndGg7cmV0dXJuIHRoaXMuYWZ0ZXJFbmRfKGUtMSxhLHQpfWlmKGU9PT12KWJyZWFrO3Q9ZztnPWNbKytlXTtpZihhPGcpYnJlYWsgYn1nPWMubGVuZ3RoO2JyZWFrIGN9aWYoYT49dClicmVhayBhO2Vsc2V7dj1jWzFdO2E8diYmCihlPTIsdD12KTtmb3Iodj1lLTI7Oyl7aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLGEsZyk7aWYoZT09PXYpYnJlYWs7Zz10O3Q9Y1stLWUtMV07aWYoYT49dClicmVhayBifWc9ZTtlPTB9fWZvcig7ZTxnOyl0PWUrZz4+PjEsYTxjW3RdP2c9dDplPXQrMTtnPWNbZV07dD1jW2UtMV07aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLGEsZyk7aWYodm9pZCAwPT09ZylyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9ZT1jLmxlbmd0aCx0aGlzLmFmdGVyRW5kXyhlLTEsdCxhKX10aGlzLl9jYWNoZWRJbmRleD1lO3RoaXMuaW50ZXJ2YWxDaGFuZ2VkXyhlLHQsZyl9cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVfKGUsdCxhLGcpfSxzZXR0aW5nczpudWxsLERlZmF1bHRTZXR0aW5nc186e30sZ2V0U2V0dGluZ3NfOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3N8fAp0aGlzLkRlZmF1bHRTZXR0aW5nc199LGNvcHlTYW1wbGVWYWx1ZV86ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5yZXN1bHRCdWZmZXIsZT10aGlzLnNhbXBsZVZhbHVlcyxnPXRoaXMudmFsdWVTaXplO2EqPWc7Zm9yKHZhciB0PTA7dCE9PWc7Kyt0KWNbdF09ZVthK3RdO3JldHVybiBjfSxpbnRlcnBvbGF0ZV86ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiY2FsbCB0byBhYnN0cmFjdCBtZXRob2QiKTt9LGludGVydmFsQ2hhbmdlZF86ZnVuY3Rpb24oKXt9fSk7T2JqZWN0LmFzc2lnbihyYy5wcm90b3R5cGUse2JlZm9yZVN0YXJ0XzpyYy5wcm90b3R5cGUuY29weVNhbXBsZVZhbHVlXyxhZnRlckVuZF86cmMucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV99KTtIZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHJjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkhnLERlZmF1bHRTZXR0aW5nc186e2VuZGluZ1N0YXJ0OjI0MDAsZW5kaW5nRW5kOjI0MDB9LGludGVydmFsQ2hhbmdlZF86ZnVuY3Rpb24oYSwKYyxlKXt2YXIgZz10aGlzLnBhcmFtZXRlclBvc2l0aW9ucyx0PWEtMix2PWErMSx6PWdbdF0sRT1nW3ZdO2lmKHZvaWQgMD09PXopc3dpdGNoKHRoaXMuZ2V0U2V0dGluZ3NfKCkuZW5kaW5nU3RhcnQpe2Nhc2UgMjQwMTp0PWE7ej0yKmMtZTticmVhaztjYXNlIDI0MDI6dD1nLmxlbmd0aC0yO3o9YytnW3RdLWdbdCsxXTticmVhaztkZWZhdWx0OnQ9YSx6PWV9aWYodm9pZCAwPT09RSlzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdFbmQpe2Nhc2UgMjQwMTp2PWE7RT0yKmUtYzticmVhaztjYXNlIDI0MDI6dj0xO0U9ZStnWzFdLWdbMF07YnJlYWs7ZGVmYXVsdDp2PWEtMSxFPWN9YT0uNSooZS1jKTtnPXRoaXMudmFsdWVTaXplO3RoaXMuX3dlaWdodFByZXY9YS8oYy16KTt0aGlzLl93ZWlnaHROZXh0PWEvKEUtZSk7dGhpcy5fb2Zmc2V0UHJldj10Kmc7dGhpcy5fb2Zmc2V0TmV4dD12Kmd9LGludGVycG9sYXRlXzpmdW5jdGlvbihhLGMsZSxnKXt2YXIgdD10aGlzLnJlc3VsdEJ1ZmZlciwKdj10aGlzLnNhbXBsZVZhbHVlcyx6PXRoaXMudmFsdWVTaXplO2EqPXo7dmFyIEU9YS16LEY9dGhpcy5fb2Zmc2V0UHJldixJPXRoaXMuX29mZnNldE5leHQsTT10aGlzLl93ZWlnaHRQcmV2LFA9dGhpcy5fd2VpZ2h0TmV4dCxRPShlLWMpLyhnLWMpO2U9USpRO2c9ZSpRO2M9LU0qZysyKk0qZS1NKlE7TT0oMStNKSpnKygtMS41LTIqTSkqZSsoLS41K00pKlErMTtRPSgtMS1QKSpnKygxLjUrUCkqZSsuNSpRO1A9UCpnLVAqZTtmb3IoZT0wO2UhPT16OysrZSl0W2VdPWMqdltGK2VdK00qdltFK2VdK1EqdlthK2VdK1AqdltJK2VdO3JldHVybiB0fX0pO1pmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6WmYsaW50ZXJwb2xhdGVfOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMucmVzdWx0QnVmZmVyLHY9dGhpcy5zYW1wbGVWYWx1ZXMsej10aGlzLnZhbHVlU2l6ZTthKj16O3ZhciBFPWEtejtjPShlLWMpLyhnLQpjKTtlPTEtYztmb3IoZz0wO2chPT16OysrZyl0W2ddPXZbRStnXSplK3ZbYStnXSpjO3JldHVybiB0fX0pO0lnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6SWcsaW50ZXJwb2xhdGVfOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmNvcHlTYW1wbGVWYWx1ZV8oYS0xKX19KTtPYmplY3QuYXNzaWduKFpiLHt0b0pTT046ZnVuY3Rpb24oYSl7dmFyIGM9YS5jb25zdHJ1Y3RvcjtpZih2b2lkIDAhPT1jLnRvSlNPTiljPWMudG9KU09OKGEpO2Vsc2V7Yz17bmFtZTphLm5hbWUsdGltZXM6VmIuY29udmVydEFycmF5KGEudGltZXMsQXJyYXkpLHZhbHVlczpWYi5jb252ZXJ0QXJyYXkoYS52YWx1ZXMsQXJyYXkpfTt2YXIgZT1hLmdldEludGVycG9sYXRpb24oKTtlIT09YS5EZWZhdWx0SW50ZXJwb2xhdGlvbiYmKGMuaW50ZXJwb2xhdGlvbj1lKX1jLnR5cGU9YS5WYWx1ZVR5cGVOYW1lO3JldHVybiBjfX0pO09iamVjdC5hc3NpZ24oWmIucHJvdG90eXBlLAp7Y29uc3RydWN0b3I6WmIsVGltZUJ1ZmZlclR5cGU6RmxvYXQzMkFycmF5LFZhbHVlQnVmZmVyVHlwZTpGbG9hdDMyQXJyYXksRGVmYXVsdEludGVycG9sYXRpb246MjMwMSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2REaXNjcmV0ZTpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IElnKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSxhKX0sSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBuZXcgWmYodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLGEpfSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIZyh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksYSl9LHNldEludGVycG9sYXRpb246ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjMwMDp2YXIgYz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlOwpicmVhaztjYXNlIDIzMDE6Yz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjticmVhaztjYXNlIDIzMDI6Yz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aH1pZih2b2lkIDA9PT1jKXtjPSJ1bnN1cHBvcnRlZCBpbnRlcnBvbGF0aW9uIGZvciAiK3RoaXMuVmFsdWVUeXBlTmFtZSsiIGtleWZyYW1lIHRyYWNrIG5hbWVkICIrdGhpcy5uYW1lO2lmKHZvaWQgMD09PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpaWYoYSE9PXRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pdGhpcy5zZXRJbnRlcnBvbGF0aW9uKHRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pO2Vsc2UgdGhyb3cgRXJyb3IoYyk7Y29uc29sZS53YXJuKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiIsYyk7cmV0dXJuIHRoaXN9dGhpcy5jcmVhdGVJbnRlcnBvbGFudD1jO3JldHVybiB0aGlzfSxnZXRJbnRlcnBvbGF0aW9uOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpe2Nhc2UgdGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2REaXNjcmV0ZTpyZXR1cm4gMjMwMDsKY2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjpyZXR1cm4gMjMwMTtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoOnJldHVybiAyMzAyfX0sZ2V0VmFsdWVTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aC90aGlzLnRpbWVzLmxlbmd0aH0sc2hpZnQ6ZnVuY3Rpb24oYSl7aWYoMCE9PWEpZm9yKHZhciBjPXRoaXMudGltZXMsZT0wLGc9Yy5sZW5ndGg7ZSE9PWc7KytlKWNbZV0rPWE7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEpe2lmKDEhPT1hKWZvcih2YXIgYz10aGlzLnRpbWVzLGU9MCxnPWMubGVuZ3RoO2UhPT1nOysrZSljW2VdKj1hO3JldHVybiB0aGlzfSx0cmltOmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBlPXRoaXMudGltZXMsZz1lLmxlbmd0aCx0PTAsdj1nLTE7dCE9PWcmJmVbdF08YTspKyt0O2Zvcig7LTEhPT12JiZlW3ZdPmM7KS0tdjsrK3Y7aWYoMCE9PXR8fHYhPT1nKXQ+PXYmJih2PU1hdGgubWF4KHYsCjEpLHQ9di0xKSxhPXRoaXMuZ2V0VmFsdWVTaXplKCksdGhpcy50aW1lcz1WYi5hcnJheVNsaWNlKGUsdCx2KSx0aGlzLnZhbHVlcz1WYi5hcnJheVNsaWNlKHRoaXMudmFsdWVzLHQqYSx2KmEpO3JldHVybiB0aGlzfSx2YWxpZGF0ZTpmdW5jdGlvbigpe3ZhciBhPSEwLGM9dGhpcy5nZXRWYWx1ZVNpemUoKTswIT09Yy1NYXRoLmZsb29yKGMpJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogSW52YWxpZCB2YWx1ZSBzaXplIGluIHRyYWNrLiIsdGhpcyksYT0hMSk7dmFyIGU9dGhpcy50aW1lcztjPXRoaXMudmFsdWVzO3ZhciBnPWUubGVuZ3RoOzA9PT1nJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVHJhY2sgaXMgZW1wdHkuIix0aGlzKSxhPSExKTtmb3IodmFyIHQ9bnVsbCx2PTA7diE9PWc7disrKXt2YXIgej1lW3ZdO2lmKCJudW1iZXIiPT09dHlwZW9mIHomJmlzTmFOKHopKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBUaW1lIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLAp0aGlzLHYseik7YT0hMTticmVha31pZihudWxsIT09dCYmdD56KXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBPdXQgb2Ygb3JkZXIga2V5cy4iLHRoaXMsdix6LHQpO2E9ITE7YnJlYWt9dD16fWlmKHZvaWQgMCE9PWMmJlZiLmlzVHlwZWRBcnJheShjKSlmb3Iodj0wLGU9Yy5sZW5ndGg7diE9PWU7Kyt2KWlmKGc9Y1t2XSxpc05hTihnKSl7Y29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVmFsdWUgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiIsdGhpcyx2LGcpO2E9ITE7YnJlYWt9cmV0dXJuIGF9LG9wdGltaXplOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMudGltZXMsYz10aGlzLnZhbHVlcyxlPXRoaXMuZ2V0VmFsdWVTaXplKCksZz0yMzAyPT09dGhpcy5nZXRJbnRlcnBvbGF0aW9uKCksdD0xLHY9YS5sZW5ndGgtMSx6PTE7ejx2Oysreil7dmFyIEU9ITEsRj1hW3pdO2lmKEYhPT1hW3orMV0mJigxIT09enx8RiE9PUZbMF0pKWlmKGcpRT0hMDsKZWxzZXt2YXIgST16KmUsTT1JLWUsUD1JK2U7Zm9yKEY9MDtGIT09ZTsrK0Ype3ZhciBRPWNbSStGXTtpZihRIT09Y1tNK0ZdfHxRIT09Y1tQK0ZdKXtFPSEwO2JyZWFrfX19aWYoRSl7aWYoeiE9PXQpZm9yKGFbdF09YVt6XSxFPXoqZSxJPXQqZSxGPTA7RiE9PWU7KytGKWNbSStGXT1jW0UrRl07Kyt0fX1pZigwPHYpe2FbdF09YVt2XTtFPXYqZTtJPXQqZTtmb3IoRj0wO0YhPT1lOysrRiljW0krRl09Y1tFK0ZdOysrdH10IT09YS5sZW5ndGgmJih0aGlzLnRpbWVzPVZiLmFycmF5U2xpY2UoYSwwLHQpLHRoaXMudmFsdWVzPVZiLmFycmF5U2xpY2UoYywwLHQqZSkpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3ZhciBhPVZiLmFycmF5U2xpY2UodGhpcy50aW1lcywwKSxjPVZiLmFycmF5U2xpY2UodGhpcy52YWx1ZXMsMCk7YT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLm5hbWUsYSxjKTthLmNyZWF0ZUludGVycG9sYW50PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQ7cmV0dXJuIGF9fSk7CkpnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6SmcsVmFsdWVUeXBlTmFtZToiYm9vbCIsVmFsdWVCdWZmZXJUeXBlOkFycmF5LERlZmF1bHRJbnRlcnBvbGF0aW9uOjIzMDAsSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOnZvaWQgMCxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6dm9pZCAwfSk7S2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShaYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpLZyxWYWx1ZVR5cGVOYW1lOiJjb2xvciJ9KTtVZS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKFpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlVlLFZhbHVlVHlwZU5hbWU6Im51bWJlciJ9KTtMZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHJjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkxnLGludGVycG9sYXRlXzpmdW5jdGlvbihhLApjLGUsZyl7dmFyIHQ9dGhpcy5yZXN1bHRCdWZmZXIsdj10aGlzLnNhbXBsZVZhbHVlcyx6PXRoaXMudmFsdWVTaXplO2EqPXo7Yz0oZS1jKS8oZy1jKTtmb3IoZT1hK3o7YSE9PWU7YSs9NCloLnNsZXJwRmxhdCh0LDAsdixhLXosdixhLGMpO3JldHVybiB0fX0pOyRmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6JGYsVmFsdWVUeXBlTmFtZToicXVhdGVybmlvbiIsRGVmYXVsdEludGVycG9sYXRpb246MjMwMSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBMZyh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksYSl9LEludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aDp2b2lkIDB9KTtNZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKFpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOk1nLFZhbHVlVHlwZU5hbWU6InN0cmluZyIsClZhbHVlQnVmZmVyVHlwZTpBcnJheSxEZWZhdWx0SW50ZXJwb2xhdGlvbjoyMzAwLEludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjp2b2lkIDAsSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoOnZvaWQgMH0pO1ZlLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6VmUsVmFsdWVUeXBlTmFtZToidmVjdG9yIn0pO09iamVjdC5hc3NpZ24odmMse3BhcnNlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPWEudHJhY2tzLGc9MS8oYS5mcHN8fDEpLHQ9MCx2PWUubGVuZ3RoO3QhPT12OysrdCljLnB1c2goSW0oZVt0XSkuc2NhbGUoZykpO3JldHVybiBuZXcgdmMoYS5uYW1lLGEuZHVyYXRpb24sYyl9LHRvSlNPTjpmdW5jdGlvbihhKXt2YXIgYz1bXSxlPWEudHJhY2tzO2E9e25hbWU6YS5uYW1lLGR1cmF0aW9uOmEuZHVyYXRpb24sdHJhY2tzOmMsdXVpZDphLnV1aWR9O2Zvcih2YXIgZz0wLHQ9ZS5sZW5ndGg7ZyE9PQp0OysrZyljLnB1c2goWmIudG9KU09OKGVbZ10pKTtyZXR1cm4gYX0sQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2U6ZnVuY3Rpb24oYSxjLGUsZyl7Zm9yKHZhciB0PWMubGVuZ3RoLHY9W10sej0wO3o8dDt6Kyspe3ZhciBFPVtdLEY9W107RS5wdXNoKCh6K3QtMSkldCx6LCh6KzEpJXQpO0YucHVzaCgwLDEsMCk7dmFyIEk9VmIuZ2V0S2V5ZnJhbWVPcmRlcihFKTtFPVZiLnNvcnRlZEFycmF5KEUsMSxJKTtGPVZiLnNvcnRlZEFycmF5KEYsMSxJKTtnfHwwIT09RVswXXx8KEUucHVzaCh0KSxGLnB1c2goRlswXSkpO3YucHVzaCgobmV3IFVlKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VzWyIrY1t6XS5uYW1lKyJdIixFLEYpKS5zY2FsZSgxL2UpKX1yZXR1cm4gbmV3IHZjKGEsLTEsdil9LGZpbmRCeU5hbWU6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hO0FycmF5LmlzQXJyYXkoYSl8fChlPWEuZ2VvbWV0cnkmJmEuZ2VvbWV0cnkuYW5pbWF0aW9uc3x8YS5hbmltYXRpb25zKTtmb3IoYT0KMDthPGUubGVuZ3RoO2ErKylpZihlW2FdLm5hbWU9PT1jKXJldHVybiBlW2FdO3JldHVybiBudWxsfSxDcmVhdGVDbGlwc0Zyb21Nb3JwaFRhcmdldFNlcXVlbmNlczpmdW5jdGlvbihhLGMsZSl7Zm9yKHZhciBnPXt9LHQ9L14oW1x3LV0qPykoW1xkXSspJC8sdj0wLHo9YS5sZW5ndGg7djx6O3YrKyl7dmFyIEU9YVt2XSxGPUUubmFtZS5tYXRjaCh0KTtpZihGJiYxPEYubGVuZ3RoKXt2YXIgST1GWzFdOyhGPWdbSV0pfHwoZ1tJXT1GPVtdKTtGLnB1c2goRSl9fWE9W107Zm9yKEkgaW4gZylhLnB1c2godmMuQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2UoSSxnW0ldLGMsZSkpO3JldHVybiBhfSxwYXJzZUFuaW1hdGlvbjpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGUoZWEsZGEscmEscGEscWEpe2lmKDAhPT1yYS5sZW5ndGgpe3ZhciB1YT1bXSxuYT1bXTtWYi5mbGF0dGVuSlNPTihyYSx1YSxuYSxwYSk7MCE9PXVhLmxlbmd0aCYmcWEucHVzaChuZXcgZWEoZGEsdWEsbmEpKX19CmlmKCFhKXJldHVybiBjb25zb2xlLmVycm9yKCJUSFJFRS5BbmltYXRpb25DbGlwOiBObyBhbmltYXRpb24gaW4gSlNPTkxvYWRlciBkYXRhLiIpLG51bGw7dmFyIGc9W10sdD1hLm5hbWV8fCJkZWZhdWx0Iix2PWEubGVuZ3RofHwtMSx6PWEuZnBzfHwzMDthPWEuaGllcmFyY2h5fHxbXTtmb3IodmFyIEU9MDtFPGEubGVuZ3RoO0UrKyl7dmFyIEY9YVtFXS5rZXlzO2lmKEYmJjAhPT1GLmxlbmd0aClpZihGWzBdLm1vcnBoVGFyZ2V0cyl7dj17fTtmb3IodmFyIEk9MDtJPEYubGVuZ3RoO0krKylpZihGW0ldLm1vcnBoVGFyZ2V0cylmb3IodmFyIE09MDtNPEZbSV0ubW9ycGhUYXJnZXRzLmxlbmd0aDtNKyspdltGW0ldLm1vcnBoVGFyZ2V0c1tNXV09LTE7Zm9yKHZhciBQIGluIHYpe3ZhciBRPVtdLFU9W107Zm9yKE09MDtNIT09RltJXS5tb3JwaFRhcmdldHMubGVuZ3RoOysrTSl7dmFyIFY9RltJXTtRLnB1c2goVi50aW1lKTtVLnB1c2goVi5tb3JwaFRhcmdldD09PVA/MTowKX1nLnB1c2gobmV3IFVlKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VbIisKUCsiXSIsUSxVKSl9dj12Lmxlbmd0aCooenx8MSl9ZWxzZSBJPSIuYm9uZXNbIitjW0VdLm5hbWUrIl0iLGUoVmUsSSsiLnBvc2l0aW9uIixGLCJwb3MiLGcpLGUoJGYsSSsiLnF1YXRlcm5pb24iLEYsInJvdCIsZyksZShWZSxJKyIuc2NhbGUiLEYsInNjbCIsZyl9cmV0dXJuIDA9PT1nLmxlbmd0aD9udWxsOm5ldyB2Yyh0LHYsZyl9fSk7T2JqZWN0LmFzc2lnbih2Yy5wcm90b3R5cGUse3Jlc2V0RHVyYXRpb246ZnVuY3Rpb24oKXtmb3IodmFyIGE9MCxjPTAsZT10aGlzLnRyYWNrcy5sZW5ndGg7YyE9PWU7KytjKXt2YXIgZz10aGlzLnRyYWNrc1tjXTthPU1hdGgubWF4KGEsZy50aW1lc1tnLnRpbWVzLmxlbmd0aC0xXSl9dGhpcy5kdXJhdGlvbj1hO3JldHVybiB0aGlzfSx0cmltOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTx0aGlzLnRyYWNrcy5sZW5ndGg7YSsrKXRoaXMudHJhY2tzW2FdLnRyaW0oMCx0aGlzLmR1cmF0aW9uKTtyZXR1cm4gdGhpc30sdmFsaWRhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIGE9CiEwLGM9MDtjPHRoaXMudHJhY2tzLmxlbmd0aDtjKyspYT1hJiZ0aGlzLnRyYWNrc1tjXS52YWxpZGF0ZSgpO3JldHVybiBhfSxvcHRpbWl6ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy50cmFja3MubGVuZ3RoO2ErKyl0aGlzLnRyYWNrc1thXS5vcHRpbWl6ZSgpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxjPTA7Yzx0aGlzLnRyYWNrcy5sZW5ndGg7YysrKWEucHVzaCh0aGlzLnRyYWNrc1tjXS5jbG9uZSgpKTtyZXR1cm4gbmV3IHZjKHRoaXMubmFtZSx0aGlzLmR1cmF0aW9uLGEpfX0pO3ZhciBrZT17ZW5hYmxlZDohMSxmaWxlczp7fSxhZGQ6ZnVuY3Rpb24oYSxjKXshMSE9PXRoaXMuZW5hYmxlZCYmKHRoaXMuZmlsZXNbYV09Yyl9LGdldDpmdW5jdGlvbihhKXtpZighMSE9PXRoaXMuZW5hYmxlZClyZXR1cm4gdGhpcy5maWxlc1thXX0scmVtb3ZlOmZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmZpbGVzW2FdfSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuZmlsZXM9Cnt9fX0sWGo9bmV3IGVpO09iamVjdC5hc3NpZ24oRGIucHJvdG90eXBlLHtsb2FkOmZ1bmN0aW9uKCl7fSxwYXJzZTpmdW5jdGlvbigpe30sc2V0Q3Jvc3NPcmlnaW46ZnVuY3Rpb24oYSl7dGhpcy5jcm9zc09yaWdpbj1hO3JldHVybiB0aGlzfSxzZXRQYXRoOmZ1bmN0aW9uKGEpe3RoaXMucGF0aD1hO3JldHVybiB0aGlzfSxzZXRSZXNvdXJjZVBhdGg6ZnVuY3Rpb24oYSl7dGhpcy5yZXNvdXJjZVBhdGg9YTtyZXR1cm4gdGhpc319KTtEYi5IYW5kbGVycz17aGFuZGxlcnM6W10sYWRkOmZ1bmN0aW9uKGEsYyl7dGhpcy5oYW5kbGVycy5wdXNoKGEsYyl9LGdldDpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5oYW5kbGVycyxlPTAsZz1jLmxlbmd0aDtlPGc7ZSs9Mil7dmFyIHQ9Y1tlKzFdO2lmKGNbZV0udGVzdChhKSlyZXR1cm4gdH1yZXR1cm4gbnVsbH19O3ZhciBNYz17fTt3Yy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndjLApsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZvaWQgMD09PWEmJihhPSIiKTt2b2lkIDAhPT10aGlzLnBhdGgmJihhPXRoaXMucGF0aCthKTthPXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKGEpO3ZhciB0PXRoaXMsdj1rZS5nZXQoYSk7aWYodm9pZCAwIT09dilyZXR1cm4gdC5tYW5hZ2VyLml0ZW1TdGFydChhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmYyh2KTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sMCksdjtpZih2b2lkIDAhPT1NY1thXSlNY1thXS5wdXNoKHtvbkxvYWQ6YyxvblByb2dyZXNzOmUsb25FcnJvcjpnfSk7ZWxzZXt2YXIgej1hLm1hdGNoKC9eZGF0YTooLio/KSg7YmFzZTY0KT8sKC4qKSQvKTtpZih6KXtlPXpbMV07dmFyIEU9ISF6WzJdO3o9elszXTt6PWRlY29kZVVSSUNvbXBvbmVudCh6KTtFJiYoej1hdG9iKHopKTt0cnl7dmFyIEY9KHRoaXMucmVzcG9uc2VUeXBlfHwiIikudG9Mb3dlckNhc2UoKTtzd2l0Y2goRil7Y2FzZSAiYXJyYXlidWZmZXIiOmNhc2UgImJsb2IiOnZhciBJPQpuZXcgVWludDhBcnJheSh6Lmxlbmd0aCk7Zm9yKEU9MDtFPHoubGVuZ3RoO0UrKylJW0VdPXouY2hhckNvZGVBdChFKTt2YXIgTT0iYmxvYiI9PT1GP25ldyBCbG9iKFtJLmJ1ZmZlcl0se3R5cGU6ZX0pOkkuYnVmZmVyO2JyZWFrO2Nhc2UgImRvY3VtZW50IjpNPShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoeixlKTticmVhaztjYXNlICJqc29uIjpNPUpTT04ucGFyc2Uoeik7YnJlYWs7ZGVmYXVsdDpNPXp9c2V0VGltZW91dChmdW5jdGlvbigpe2MmJmMoTSk7dC5tYW5hZ2VyLml0ZW1FbmQoYSl9LDApfWNhdGNoKFEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtnJiZnKFEpO3QubWFuYWdlci5pdGVtRXJyb3IoYSk7dC5tYW5hZ2VyLml0ZW1FbmQoYSl9LDApfX1lbHNle01jW2FdPVtdO01jW2FdLnB1c2goe29uTG9hZDpjLG9uUHJvZ3Jlc3M6ZSxvbkVycm9yOmd9KTt2YXIgUD1uZXcgWE1MSHR0cFJlcXVlc3Q7UC5vcGVuKCJHRVQiLGEsITApO1AuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsCmZ1bmN0aW9uKFEpe3ZhciBVPXRoaXMucmVzcG9uc2U7a2UuYWRkKGEsVSk7dmFyIFY9TWNbYV07ZGVsZXRlIE1jW2FdO2lmKDIwMD09PXRoaXMuc3RhdHVzfHwwPT09dGhpcy5zdGF0dXMpezA9PT10aGlzLnN0YXR1cyYmY29uc29sZS53YXJuKCJUSFJFRS5GaWxlTG9hZGVyOiBIVFRQIFN0YXR1cyAwIHJlY2VpdmVkLiIpO2Zvcih2YXIgZWE9MCxkYT1WLmxlbmd0aDtlYTxkYTtlYSsrKXt2YXIgcmE9VltlYV07aWYocmEub25Mb2FkKXJhLm9uTG9hZChVKX19ZWxzZXtlYT0wO2ZvcihkYT1WLmxlbmd0aDtlYTxkYTtlYSsrKWlmKHJhPVZbZWFdLHJhLm9uRXJyb3IpcmEub25FcnJvcihRKTt0Lm1hbmFnZXIuaXRlbUVycm9yKGEpfXQubWFuYWdlci5pdGVtRW5kKGEpfSwhMSk7UC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24oUSl7Zm9yKHZhciBVPU1jW2FdLFY9MCxlYT1VLmxlbmd0aDtWPGVhO1YrKyl7dmFyIGRhPVVbVl07aWYoZGEub25Qcm9ncmVzcylkYS5vblByb2dyZXNzKFEpfX0sCiExKTtQLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihRKXt2YXIgVT1NY1thXTtkZWxldGUgTWNbYV07Zm9yKHZhciBWPTAsZWE9VS5sZW5ndGg7VjxlYTtWKyspe3ZhciBkYT1VW1ZdO2lmKGRhLm9uRXJyb3IpZGEub25FcnJvcihRKX10Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3QubWFuYWdlci5pdGVtRW5kKGEpfSwhMSk7UC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsZnVuY3Rpb24oUSl7dmFyIFU9TWNbYV07ZGVsZXRlIE1jW2FdO2Zvcih2YXIgVj0wLGVhPVUubGVuZ3RoO1Y8ZWE7VisrKXt2YXIgZGE9VVtWXTtpZihkYS5vbkVycm9yKWRhLm9uRXJyb3IoUSl9dC5tYW5hZ2VyLml0ZW1FcnJvcihhKTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sITEpO3ZvaWQgMCE9PXRoaXMucmVzcG9uc2VUeXBlJiYoUC5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVR5cGUpO3ZvaWQgMCE9PXRoaXMud2l0aENyZWRlbnRpYWxzJiYoUC53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMpOwpQLm92ZXJyaWRlTWltZVR5cGUmJlAub3ZlcnJpZGVNaW1lVHlwZSh2b2lkIDAhPT10aGlzLm1pbWVUeXBlP3RoaXMubWltZVR5cGU6InRleHQvcGxhaW4iKTtmb3IoRSBpbiB0aGlzLnJlcXVlc3RIZWFkZXIpUC5zZXRSZXF1ZXN0SGVhZGVyKEUsdGhpcy5yZXF1ZXN0SGVhZGVyW0VdKTtQLnNlbmQobnVsbCl9dC5tYW5hZ2VyLml0ZW1TdGFydChhKTtyZXR1cm4gUH19LHNldFJlc3BvbnNlVHlwZTpmdW5jdGlvbihhKXt0aGlzLnJlc3BvbnNlVHlwZT1hO3JldHVybiB0aGlzfSxzZXRXaXRoQ3JlZGVudGlhbHM6ZnVuY3Rpb24oYSl7dGhpcy53aXRoQ3JlZGVudGlhbHM9YTtyZXR1cm4gdGhpc30sc2V0TWltZVR5cGU6ZnVuY3Rpb24oYSl7dGhpcy5taW1lVHlwZT1hO3JldHVybiB0aGlzfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEpe3RoaXMucmVxdWVzdEhlYWRlcj1hO3JldHVybiB0aGlzfX0pO2ZpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoRGIucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOmZpLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0Lm1hbmFnZXIpO3Yuc2V0UGF0aCh0LnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope2ModC5wYXJzZShKU09OLnBhcnNlKHopKSl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBnPXZjLnBhcnNlKGFbZV0pO2MucHVzaChnKX1yZXR1cm4gY319KTtnaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmdpLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7ZnVuY3Rpb24gdChRKXtGLmxvYWQoYVtRXSxmdW5jdGlvbihVKXtVPXYuX3BhcnNlcihVLCEwKTt6W1FdPXt3aWR0aDpVLndpZHRoLGhlaWdodDpVLmhlaWdodCxmb3JtYXQ6VS5mb3JtYXQsbWlwbWFwczpVLm1pcG1hcHN9O0krPTE7Nj09PUkmJigxPT09VS5taXBtYXBDb3VudCYmKEUubWluRmlsdGVyPQoxMDA2KSxFLmZvcm1hdD1VLmZvcm1hdCxFLm5lZWRzVXBkYXRlPSEwLGMmJmMoRSkpfSxlLGcpfXZhciB2PXRoaXMsej1bXSxFPW5ldyBGZTtFLmltYWdlPXo7dmFyIEY9bmV3IHdjKHRoaXMubWFuYWdlcik7Ri5zZXRQYXRoKHRoaXMucGF0aCk7Ri5zZXRSZXNwb25zZVR5cGUoImFycmF5YnVmZmVyIik7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIEk9MCxNPTAsUD1hLmxlbmd0aDtNPFA7KytNKXQoTSk7ZWxzZSBGLmxvYWQoYSxmdW5jdGlvbihRKXtRPXYuX3BhcnNlcihRLCEwKTtpZihRLmlzQ3ViZW1hcClmb3IodmFyIFU9US5taXBtYXBzLmxlbmd0aC9RLm1pcG1hcENvdW50LFY9MDtWPFU7VisrKXt6W1ZdPXttaXBtYXBzOltdfTtmb3IodmFyIGVhPTA7ZWE8US5taXBtYXBDb3VudDtlYSsrKXpbVl0ubWlwbWFwcy5wdXNoKFEubWlwbWFwc1tWKlEubWlwbWFwQ291bnQrZWFdKSx6W1ZdLmZvcm1hdD1RLmZvcm1hdCx6W1ZdLndpZHRoPVEud2lkdGgseltWXS5oZWlnaHQ9US5oZWlnaHR9ZWxzZSBFLmltYWdlLndpZHRoPQpRLndpZHRoLEUuaW1hZ2UuaGVpZ2h0PVEuaGVpZ2h0LEUubWlwbWFwcz1RLm1pcG1hcHM7MT09PVEubWlwbWFwQ291bnQmJihFLm1pbkZpbHRlcj0xMDA2KTtFLmZvcm1hdD1RLmZvcm1hdDtFLm5lZWRzVXBkYXRlPSEwO2MmJmMoRSl9LGUsZyk7cmV0dXJuIEV9fSk7TmcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpOZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj1uZXcgQWIsej1uZXcgd2ModGhpcy5tYW5hZ2VyKTt6LnNldFJlc3BvbnNlVHlwZSgiYXJyYXlidWZmZXIiKTt6LnNldFBhdGgodGhpcy5wYXRoKTt6LmxvYWQoYSxmdW5jdGlvbihFKXtpZihFPXQuX3BhcnNlcihFKSl2b2lkIDAhPT1FLmltYWdlP3YuaW1hZ2U9RS5pbWFnZTp2b2lkIDAhPT1FLmRhdGEmJih2LmltYWdlLndpZHRoPUUud2lkdGgsdi5pbWFnZS5oZWlnaHQ9RS5oZWlnaHQsdi5pbWFnZS5kYXRhPUUuZGF0YSksdi53cmFwUz0Kdm9pZCAwIT09RS53cmFwUz9FLndyYXBTOjEwMDEsdi53cmFwVD12b2lkIDAhPT1FLndyYXBUP0Uud3JhcFQ6MTAwMSx2Lm1hZ0ZpbHRlcj12b2lkIDAhPT1FLm1hZ0ZpbHRlcj9FLm1hZ0ZpbHRlcjoxMDA2LHYubWluRmlsdGVyPXZvaWQgMCE9PUUubWluRmlsdGVyP0UubWluRmlsdGVyOjEwMDgsdi5hbmlzb3Ryb3B5PXZvaWQgMCE9PUUuYW5pc290cm9weT9FLmFuaXNvdHJvcHk6MSx2b2lkIDAhPT1FLmZvcm1hdCYmKHYuZm9ybWF0PUUuZm9ybWF0KSx2b2lkIDAhPT1FLnR5cGUmJih2LnR5cGU9RS50eXBlKSx2b2lkIDAhPT1FLm1pcG1hcHMmJih2Lm1pcG1hcHM9RS5taXBtYXBzKSwxPT09RS5taXBtYXBDb3VudCYmKHYubWluRmlsdGVyPTEwMDYpLHYubmVlZHNVcGRhdGU9ITAsYyYmYyh2LEUpfSxlLGcpO3JldHVybiB2fX0pO1dlLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoRGIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6V2UsbG9hZDpmdW5jdGlvbihhLApjLGUsZyl7ZnVuY3Rpb24gdCgpe0YucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdCwhMSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdiwhMSk7a2UuYWRkKGEsdGhpcyk7YyYmYyh0aGlzKTt6Lm1hbmFnZXIuaXRlbUVuZChhKX1mdW5jdGlvbiB2KEkpe0YucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdCwhMSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdiwhMSk7ZyYmZyhJKTt6Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3oubWFuYWdlci5pdGVtRW5kKGEpfXZvaWQgMCE9PXRoaXMucGF0aCYmKGE9dGhpcy5wYXRoK2EpO2E9dGhpcy5tYW5hZ2VyLnJlc29sdmVVUkwoYSk7dmFyIHo9dGhpcyxFPWtlLmdldChhKTtpZih2b2lkIDAhPT1FKXJldHVybiB6Lm1hbmFnZXIuaXRlbVN0YXJ0KGEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjJiZjKEUpO3oubWFuYWdlci5pdGVtRW5kKGEpfSwwKSxFO3ZhciBGPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsCiJpbWciKTtGLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHQsITEpO0YuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHYsITEpOyJkYXRhOiIhPT1hLnN1YnN0cigwLDUpJiZ2b2lkIDAhPT10aGlzLmNyb3NzT3JpZ2luJiYoRi5jcm9zc09yaWdpbj10aGlzLmNyb3NzT3JpZ2luKTt6Lm1hbmFnZXIuaXRlbVN0YXJ0KGEpO0Yuc3JjPWE7cmV0dXJuIEZ9fSk7T2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpPZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe2Z1bmN0aW9uIHQoRil7ei5sb2FkKGFbRl0sZnVuY3Rpb24oSSl7di5pbWFnZXNbRl09STtFKys7Nj09PUUmJih2Lm5lZWRzVXBkYXRlPSEwLGMmJmModikpfSx2b2lkIDAsZyl9dmFyIHY9bmV3IGVkLHo9bmV3IFdlKHRoaXMubWFuYWdlcik7ei5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTt6LnNldFBhdGgodGhpcy5wYXRoKTt2YXIgRT0wO2ZvcihlPQowO2U8YS5sZW5ndGg7KytlKXQoZSk7cmV0dXJuIHZ9fSk7UGcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpQZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PW5ldyBsLHY9bmV3IFdlKHRoaXMubWFuYWdlcik7di5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTt2LnNldFBhdGgodGhpcy5wYXRoKTt2LmxvYWQoYSxmdW5jdGlvbih6KXt0LmltYWdlPXo7ej0wPGEuc2VhcmNoKC9cLmpwZT9nKCR8XD8pL2kpfHwwPT09YS5zZWFyY2goL15kYXRhOmltYWdlXC9qcGVnLyk7dC5mb3JtYXQ9ej8xMDIyOjEwMjM7dC5uZWVkc1VwZGF0ZT0hMDt2b2lkIDAhPT1jJiZjKHQpfSxlLGcpO3JldHVybiB0fX0pO09iamVjdC5hc3NpZ24oWmEucHJvdG90eXBlLHtnZXRQb2ludDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQ3VydmU6IC5nZXRQb2ludCgpIG5vdCBpbXBsZW1lbnRlZC4iKTtyZXR1cm4gbnVsbH0sCmdldFBvaW50QXQ6ZnVuY3Rpb24oYSxjKXthPXRoaXMuZ2V0VXRvVG1hcHBpbmcoYSk7cmV0dXJuIHRoaXMuZ2V0UG9pbnQoYSxjKX0sZ2V0UG9pbnRzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihhPTUpO2Zvcih2YXIgYz1bXSxlPTA7ZTw9YTtlKyspYy5wdXNoKHRoaXMuZ2V0UG9pbnQoZS9hKSk7cmV0dXJuIGN9LGdldFNwYWNlZFBvaW50czpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoYT01KTtmb3IodmFyIGM9W10sZT0wO2U8PWE7ZSsrKWMucHVzaCh0aGlzLmdldFBvaW50QXQoZS9hKSk7cmV0dXJuIGN9LGdldExlbmd0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0TGVuZ3RocygpO3JldHVybiBhW2EubGVuZ3RoLTFdfSxnZXRMZW5ndGhzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihhPXRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zKTtpZih0aGlzLmNhY2hlQXJjTGVuZ3RocyYmdGhpcy5jYWNoZUFyY0xlbmd0aHMubGVuZ3RoPT09YSsxJiYhdGhpcy5uZWVkc1VwZGF0ZSlyZXR1cm4gdGhpcy5jYWNoZUFyY0xlbmd0aHM7CnRoaXMubmVlZHNVcGRhdGU9ITE7dmFyIGM9W10sZT10aGlzLmdldFBvaW50KDApLGcsdD0wO2MucHVzaCgwKTtmb3IoZz0xO2c8PWE7ZysrKXt2YXIgdj10aGlzLmdldFBvaW50KGcvYSk7dCs9di5kaXN0YW5jZVRvKGUpO2MucHVzaCh0KTtlPXZ9cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWN9LHVwZGF0ZUFyY0xlbmd0aHM6ZnVuY3Rpb24oKXt0aGlzLm5lZWRzVXBkYXRlPSEwO3RoaXMuZ2V0TGVuZ3RocygpfSxnZXRVdG9UbWFwcGluZzpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZ2V0TGVuZ3RocygpLGc9ZS5sZW5ndGg7Yz1jP2M6YSplW2ctMV07Zm9yKHZhciB0PTAsdj1nLTEsejt0PD12OylpZihhPU1hdGguZmxvb3IodCsodi10KS8yKSx6PWVbYV0tYywwPnopdD1hKzE7ZWxzZSBpZigwPHopdj1hLTE7ZWxzZXt2PWE7YnJlYWt9YT12O2lmKGVbYV09PT1jKXJldHVybiBhLyhnLTEpO3Q9ZVthXTtyZXR1cm4oYSsoYy10KS8oZVthKzFdLXQpKS8oZy0xKX0sZ2V0VGFuZ2VudDpmdW5jdGlvbihhKXt2YXIgYz0KYS0xRS00O2ErPTFFLTQ7MD5jJiYoYz0wKTsxPGEmJihhPTEpO2M9dGhpcy5nZXRQb2ludChjKTtyZXR1cm4gdGhpcy5nZXRQb2ludChhKS5jbG9uZSgpLnN1YihjKS5ub3JtYWxpemUoKX0sZ2V0VGFuZ2VudEF0OmZ1bmN0aW9uKGEpe2E9dGhpcy5nZXRVdG9UbWFwcGluZyhhKTtyZXR1cm4gdGhpcy5nZXRUYW5nZW50KGEpfSxjb21wdXRlRnJlbmV0RnJhbWVzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bmV3IGssZz1bXSx0PVtdLHY9W10sej1uZXcgayxFPW5ldyBxLEY7Zm9yKEY9MDtGPD1hO0YrKyl7dmFyIEk9Ri9hO2dbRl09dGhpcy5nZXRUYW5nZW50QXQoSSk7Z1tGXS5ub3JtYWxpemUoKX10WzBdPW5ldyBrO3ZbMF09bmV3IGs7Rj1OdW1iZXIuTUFYX1ZBTFVFO0k9TWF0aC5hYnMoZ1swXS54KTt2YXIgTT1NYXRoLmFicyhnWzBdLnkpLFA9TWF0aC5hYnMoZ1swXS56KTtJPD1GJiYoRj1JLGUuc2V0KDEsMCwwKSk7TTw9RiYmKEY9TSxlLnNldCgwLDEsMCkpO1A8PUYmJmUuc2V0KDAsCjAsMSk7ei5jcm9zc1ZlY3RvcnMoZ1swXSxlKS5ub3JtYWxpemUoKTt0WzBdLmNyb3NzVmVjdG9ycyhnWzBdLHopO3ZbMF0uY3Jvc3NWZWN0b3JzKGdbMF0sdFswXSk7Zm9yKEY9MTtGPD1hO0YrKyl0W0ZdPXRbRi0xXS5jbG9uZSgpLHZbRl09dltGLTFdLmNsb25lKCksei5jcm9zc1ZlY3RvcnMoZ1tGLTFdLGdbRl0pLHoubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04mJih6Lm5vcm1hbGl6ZSgpLGU9TWF0aC5hY29zKGhiLmNsYW1wKGdbRi0xXS5kb3QoZ1tGXSksLTEsMSkpLHRbRl0uYXBwbHlNYXRyaXg0KEUubWFrZVJvdGF0aW9uQXhpcyh6LGUpKSksdltGXS5jcm9zc1ZlY3RvcnMoZ1tGXSx0W0ZdKTtpZighMD09PWMpZm9yKGU9TWF0aC5hY29zKGhiLmNsYW1wKHRbMF0uZG90KHRbYV0pLC0xLDEpKSxlLz1hLDA8Z1swXS5kb3Qoei5jcm9zc1ZlY3RvcnModFswXSx0W2FdKSkmJihlPS1lKSxGPTE7Rjw9YTtGKyspdFtGXS5hcHBseU1hdHJpeDQoRS5tYWtlUm90YXRpb25BeGlzKGdbRl0sCmUqRikpLHZbRl0uY3Jvc3NWZWN0b3JzKGdbRl0sdFtGXSk7cmV0dXJue3RhbmdlbnRzOmcsbm9ybWFsczp0LGJpbm9ybWFsczp2fX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnM9YS5hcmNMZW5ndGhEaXZpc2lvbnM7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiQ3VydmUiLGdlbmVyYXRvcjoiQ3VydmUudG9KU09OIn19O2EuYXJjTGVuZ3RoRGl2aXNpb25zPXRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zO2EudHlwZT10aGlzLnR5cGU7cmV0dXJuIGF9LGZyb21KU09OOmZ1bmN0aW9uKGEpe3RoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPWEuYXJjTGVuZ3RoRGl2aXNpb25zO3JldHVybiB0aGlzfX0pO3NjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7c2MucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpzYztzYy5wcm90b3R5cGUuaXNFbGxpcHNlQ3VydmU9ITA7c2MucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHxuZXcgZjtmb3IodmFyIGU9MipNYXRoLlBJLGc9dGhpcy5hRW5kQW5nbGUtdGhpcy5hU3RhcnRBbmdsZSx0PU1hdGguYWJzKGcpPE51bWJlci5FUFNJTE9OOzA+ZzspZys9ZTtmb3IoO2c+ZTspZy09ZTtnPE51bWJlci5FUFNJTE9OJiYoZz10PzA6ZSk7ITAhPT10aGlzLmFDbG9ja3dpc2V8fHR8fChnPWc9PT1lPy1lOmctZSk7ZT10aGlzLmFTdGFydEFuZ2xlK2EqZzthPXRoaXMuYVgrdGhpcy54UmFkaXVzKk1hdGguY29zKGUpO3ZhciB2PXRoaXMuYVkrdGhpcy55UmFkaXVzKk1hdGguc2luKGUpOzAhPT10aGlzLmFSb3RhdGlvbiYmKGU9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGc9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLHQ9YS10aGlzLmFYLHYtPXRoaXMuYVksYT10KmUtdipnK3RoaXMuYVgsdj10KmcrdiplK3RoaXMuYVkpO3JldHVybiBjLnNldChhLAp2KX07c2MucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuYVg9YS5hWDt0aGlzLmFZPWEuYVk7dGhpcy54UmFkaXVzPWEueFJhZGl1czt0aGlzLnlSYWRpdXM9YS55UmFkaXVzO3RoaXMuYVN0YXJ0QW5nbGU9YS5hU3RhcnRBbmdsZTt0aGlzLmFFbmRBbmdsZT1hLmFFbmRBbmdsZTt0aGlzLmFDbG9ja3dpc2U9YS5hQ2xvY2t3aXNlO3RoaXMuYVJvdGF0aW9uPWEuYVJvdGF0aW9uO3JldHVybiB0aGlzfTtzYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EuYVg9dGhpcy5hWDthLmFZPXRoaXMuYVk7YS54UmFkaXVzPXRoaXMueFJhZGl1czthLnlSYWRpdXM9dGhpcy55UmFkaXVzO2EuYVN0YXJ0QW5nbGU9dGhpcy5hU3RhcnRBbmdsZTthLmFFbmRBbmdsZT10aGlzLmFFbmRBbmdsZTthLmFDbG9ja3dpc2U9dGhpcy5hQ2xvY2t3aXNlO2EuYVJvdGF0aW9uPQp0aGlzLmFSb3RhdGlvbjtyZXR1cm4gYX07c2MucHJvdG90eXBlLmZyb21KU09OPWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5mcm9tSlNPTi5jYWxsKHRoaXMsYSk7dGhpcy5hWD1hLmFYO3RoaXMuYVk9YS5hWTt0aGlzLnhSYWRpdXM9YS54UmFkaXVzO3RoaXMueVJhZGl1cz1hLnlSYWRpdXM7dGhpcy5hU3RhcnRBbmdsZT1hLmFTdGFydEFuZ2xlO3RoaXMuYUVuZEFuZ2xlPWEuYUVuZEFuZ2xlO3RoaXMuYUNsb2Nrd2lzZT1hLmFDbG9ja3dpc2U7dGhpcy5hUm90YXRpb249YS5hUm90YXRpb247cmV0dXJuIHRoaXN9O1hlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHNjLnByb3RvdHlwZSk7WGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPVhlO1hlLnByb3RvdHlwZS5pc0FyY0N1cnZlPSEwO3ZhciBBaD1uZXcgayxRaT1uZXcgaGksUmk9bmV3IGhpLFNpPW5ldyBoaTtiYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO2JjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1iYzsKYmMucHJvdG90eXBlLmlzQ2F0bXVsbFJvbUN1cnZlMz0hMDtiYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBrO3ZhciBlPXRoaXMucG9pbnRzLGc9ZS5sZW5ndGg7YSo9Zy0odGhpcy5jbG9zZWQ/MDoxKTt2YXIgdD1NYXRoLmZsb29yKGEpO2EtPXQ7dGhpcy5jbG9zZWQ/dCs9MDx0PzA6KE1hdGguZmxvb3IoTWF0aC5hYnModCkvZykrMSkqZzowPT09YSYmdD09PWctMSYmKHQ9Zy0yLGE9MSk7aWYodGhpcy5jbG9zZWR8fDA8dCl2YXIgdj1lWyh0LTEpJWddO2Vsc2UgQWguc3ViVmVjdG9ycyhlWzBdLGVbMV0pLmFkZChlWzBdKSx2PUFoO3ZhciB6PWVbdCVnXTt2YXIgRT1lWyh0KzEpJWddO3RoaXMuY2xvc2VkfHx0KzI8Zz9lPWVbKHQrMiklZ106KEFoLnN1YlZlY3RvcnMoZVtnLTFdLGVbZy0yXSkuYWRkKGVbZy0xXSksZT1BaCk7aWYoImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7dmFyIEY9CiJjaG9yZGFsIj09PXRoaXMuY3VydmVUeXBlPy41Oi4yNTtnPU1hdGgucG93KHYuZGlzdGFuY2VUb1NxdWFyZWQoeiksRik7dD1NYXRoLnBvdyh6LmRpc3RhbmNlVG9TcXVhcmVkKEUpLEYpO0Y9TWF0aC5wb3coRS5kaXN0YW5jZVRvU3F1YXJlZChlKSxGKTsxRS00PnQmJih0PTEpOzFFLTQ+ZyYmKGc9dCk7MUUtND5GJiYoRj10KTtRaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi54LHoueCxFLngsZS54LGcsdCxGKTtSaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi55LHoueSxFLnksZS55LGcsdCxGKTtTaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi56LHoueixFLnosZS56LGcsdCxGKX1lbHNlImNhdG11bGxyb20iPT09dGhpcy5jdXJ2ZVR5cGUmJihRaS5pbml0Q2F0bXVsbFJvbSh2Lngsei54LEUueCxlLngsdGhpcy50ZW5zaW9uKSxSaS5pbml0Q2F0bXVsbFJvbSh2Lnksei55LEUueSxlLnksdGhpcy50ZW5zaW9uKSxTaS5pbml0Q2F0bXVsbFJvbSh2Lnosei56LEUueiwKZS56LHRoaXMudGVuc2lvbikpO2Muc2V0KFFpLmNhbGMoYSksUmkuY2FsYyhhKSxTaS5jYWxjKGEpKTtyZXR1cm4gY307YmMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9YS5wb2ludHMubGVuZ3RoO2M8ZTtjKyspdGhpcy5wb2ludHMucHVzaChhLnBvaW50c1tjXS5jbG9uZSgpKTt0aGlzLmNsb3NlZD1hLmNsb3NlZDt0aGlzLmN1cnZlVHlwZT1hLmN1cnZlVHlwZTt0aGlzLnRlbnNpb249YS50ZW5zaW9uO3JldHVybiB0aGlzfTtiYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9dGhpcy5wb2ludHMubGVuZ3RoO2M8ZTtjKyspYS5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tjXS50b0FycmF5KCkpO2EuY2xvc2VkPXRoaXMuY2xvc2VkO2EuY3VydmVUeXBlPXRoaXMuY3VydmVUeXBlOwphLnRlbnNpb249dGhpcy50ZW5zaW9uO3JldHVybiBhfTtiYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLnBvaW50c1tjXTt0aGlzLnBvaW50cy5wdXNoKChuZXcgaykuZnJvbUFycmF5KGcpKX10aGlzLmNsb3NlZD1hLmNsb3NlZDt0aGlzLmN1cnZlVHlwZT1hLmN1cnZlVHlwZTt0aGlzLnRlbnNpb249YS50ZW5zaW9uO3JldHVybiB0aGlzfTtFYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO0VjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FYztFYy5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlPSEwO0VjLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7dmFyIGU9dGhpcy52MCxnPXRoaXMudjEsdD10aGlzLnYyLHY9dGhpcy52MztjLnNldChiZyhhLAplLngsZy54LHQueCx2LngpLGJnKGEsZS55LGcueSx0Lnksdi55KSk7cmV0dXJuIGN9O0VjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYwLmNvcHkoYS52MCk7dGhpcy52MS5jb3B5KGEudjEpO3RoaXMudjIuY29weShhLnYyKTt0aGlzLnYzLmNvcHkoYS52Myk7cmV0dXJuIHRoaXN9O0VjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MD10aGlzLnYwLnRvQXJyYXkoKTthLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7YS52Mz10aGlzLnYzLnRvQXJyYXkoKTtyZXR1cm4gYX07RWMucHJvdG90eXBlLmZyb21KU09OPWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5mcm9tSlNPTi5jYWxsKHRoaXMsYSk7dGhpcy52MC5mcm9tQXJyYXkoYS52MCk7dGhpcy52MS5mcm9tQXJyYXkoYS52MSk7dGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7CnRoaXMudjMuZnJvbUFycmF5KGEudjMpO3JldHVybiB0aGlzfTtWYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO1ZjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1WYztWYy5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtWYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBrO3ZhciBlPXRoaXMudjAsZz10aGlzLnYxLHQ9dGhpcy52Mix2PXRoaXMudjM7Yy5zZXQoYmcoYSxlLngsZy54LHQueCx2LngpLGJnKGEsZS55LGcueSx0Lnksdi55KSxiZyhhLGUueixnLnosdC56LHYueikpO3JldHVybiBjfTtWYy5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy52MC5jb3B5KGEudjApO3RoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7dGhpcy52My5jb3B5KGEudjMpO3JldHVybiB0aGlzfTtWYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9ClphLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTthLnYwPXRoaXMudjAudG9BcnJheSgpO2EudjE9dGhpcy52MS50b0FycmF5KCk7YS52Mj10aGlzLnYyLnRvQXJyYXkoKTthLnYzPXRoaXMudjMudG9BcnJheSgpO3JldHVybiBhfTtWYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYwLmZyb21BcnJheShhLnYwKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTt0aGlzLnYyLmZyb21BcnJheShhLnYyKTt0aGlzLnYzLmZyb21BcnJheShhLnYzKTtyZXR1cm4gdGhpc307bmMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKTtuYy5wcm90b3R5cGUuY29uc3RydWN0b3I9bmM7bmMucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO25jLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7MT09PWE/Yy5jb3B5KHRoaXMudjIpOihjLmNvcHkodGhpcy52Mikuc3ViKHRoaXMudjEpLApjLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnYxKSk7cmV0dXJuIGN9O25jLnByb3RvdHlwZS5nZXRQb2ludEF0PWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMuZ2V0UG9pbnQoYSxjKX07bmMucHJvdG90eXBlLmdldFRhbmdlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52Mi5jbG9uZSgpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKX07bmMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7cmV0dXJuIHRoaXN9O25jLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MT10aGlzLnYxLnRvQXJyYXkoKTthLnYyPXRoaXMudjIudG9BcnJheSgpO3JldHVybiBhfTtuYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTsKdGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7cmV0dXJuIHRoaXN9O0ZjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7RmMucHJvdG90eXBlLmNvbnN0cnVjdG9yPUZjO0ZjLnByb3RvdHlwZS5pc0xpbmVDdXJ2ZTM9ITA7RmMucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHxuZXcgazsxPT09YT9jLmNvcHkodGhpcy52Mik6KGMuY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksYy5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy52MSkpO3JldHVybiBjfTtGYy5wcm90b3R5cGUuZ2V0UG9pbnRBdD1mdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmdldFBvaW50KGEsYyl9O0ZjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYxLmNvcHkoYS52MSk7dGhpcy52Mi5jb3B5KGEudjIpO3JldHVybiB0aGlzfTtGYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpOwphLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7cmV0dXJuIGF9O0ZjLnByb3RvdHlwZS5mcm9tSlNPTj1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuZnJvbUpTT04uY2FsbCh0aGlzLGEpO3RoaXMudjEuZnJvbUFycmF5KGEudjEpO3RoaXMudjIuZnJvbUFycmF5KGEudjIpO3JldHVybiB0aGlzfTtHYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO0djLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1HYztHYy5wcm90b3R5cGUuaXNRdWFkcmF0aWNCZXppZXJDdXJ2ZT0hMDtHYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBmO3ZhciBlPXRoaXMudjAsZz10aGlzLnYxLHQ9dGhpcy52MjtjLnNldChhZyhhLGUueCxnLngsdC54KSxhZyhhLGUueSxnLnksdC55KSk7cmV0dXJuIGN9O0djLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYwLmNvcHkoYS52MCk7CnRoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7cmV0dXJuIHRoaXN9O0djLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MD10aGlzLnYwLnRvQXJyYXkoKTthLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7cmV0dXJuIGF9O0djLnByb3RvdHlwZS5mcm9tSlNPTj1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuZnJvbUpTT04uY2FsbCh0aGlzLGEpO3RoaXMudjAuZnJvbUFycmF5KGEudjApO3RoaXMudjEuZnJvbUFycmF5KGEudjEpO3RoaXMudjIuZnJvbUFycmF5KGEudjIpO3JldHVybiB0aGlzfTtXYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO1djLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1XYztXYy5wcm90b3R5cGUuaXNRdWFkcmF0aWNCZXppZXJDdXJ2ZTM9ITA7V2MucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHwKbmV3IGs7dmFyIGU9dGhpcy52MCxnPXRoaXMudjEsdD10aGlzLnYyO2Muc2V0KGFnKGEsZS54LGcueCx0LngpLGFnKGEsZS55LGcueSx0LnkpLGFnKGEsZS56LGcueix0LnopKTtyZXR1cm4gY307V2MucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMudjAuY29weShhLnYwKTt0aGlzLnYxLmNvcHkoYS52MSk7dGhpcy52Mi5jb3B5KGEudjIpO3JldHVybiB0aGlzfTtXYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EudjA9dGhpcy52MC50b0FycmF5KCk7YS52MT10aGlzLnYxLnRvQXJyYXkoKTthLnYyPXRoaXMudjIudG9BcnJheSgpO3JldHVybiBhfTtXYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYwLmZyb21BcnJheShhLnYwKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTsKdGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7cmV0dXJuIHRoaXN9O0hjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7SGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhjO0hjLnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO0hjLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7dmFyIGU9dGhpcy5wb2ludHMsZz0oZS5sZW5ndGgtMSkqYTthPU1hdGguZmxvb3IoZyk7Zy09YTt2YXIgdD1lWzA9PT1hP2E6YS0xXSx2PWVbYV0sej1lW2E+ZS5sZW5ndGgtMj9lLmxlbmd0aC0xOmErMV07ZT1lW2E+ZS5sZW5ndGgtMz9lLmxlbmd0aC0xOmErMl07Yy5zZXQoWWooZyx0Lngsdi54LHoueCxlLngpLFlqKGcsdC55LHYueSx6LnksZS55KSk7cmV0dXJuIGN9O0hjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPAplO2MrKyl0aGlzLnBvaW50cy5wdXNoKGEucG9pbnRzW2NdLmNsb25lKCkpO3JldHVybiB0aGlzfTtIYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9dGhpcy5wb2ludHMubGVuZ3RoO2M8ZTtjKyspYS5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tjXS50b0FycmF5KCkpO3JldHVybiBhfTtIYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLnBvaW50c1tjXTt0aGlzLnBvaW50cy5wdXNoKChuZXcgZikuZnJvbUFycmF5KGcpKX1yZXR1cm4gdGhpc307dmFyIFRpPU9iamVjdC5mcmVlemUoe0FyY0N1cnZlOlhlLENhdG11bGxSb21DdXJ2ZTM6YmMsQ3ViaWNCZXppZXJDdXJ2ZTpFYyxDdWJpY0JlemllckN1cnZlMzpWYywKRWxsaXBzZUN1cnZlOnNjLExpbmVDdXJ2ZTpuYyxMaW5lQ3VydmUzOkZjLFF1YWRyYXRpY0JlemllckN1cnZlOkdjLFF1YWRyYXRpY0JlemllckN1cnZlMzpXYyxTcGxpbmVDdXJ2ZTpIY30pO2lkLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6aWQsYWRkOmZ1bmN0aW9uKGEpe3RoaXMuY3VydmVzLnB1c2goYSl9LGNsb3NlUGF0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY3VydmVzWzBdLmdldFBvaW50KDApLGM9dGhpcy5jdXJ2ZXNbdGhpcy5jdXJ2ZXMubGVuZ3RoLTFdLmdldFBvaW50KDEpO2EuZXF1YWxzKGMpfHx0aGlzLmN1cnZlcy5wdXNoKG5ldyBuYyhjLGEpKX0sZ2V0UG9pbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9YSp0aGlzLmdldExlbmd0aCgpLGU9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtmb3IoYT0wO2E8ZS5sZW5ndGg7KXtpZihlW2FdPj1jKXJldHVybiBjPWVbYV0tYyxhPXRoaXMuY3VydmVzW2FdLGU9CmEuZ2V0TGVuZ3RoKCksYS5nZXRQb2ludEF0KDA9PT1lPzA6MS1jL2UpO2ErK31yZXR1cm4gbnVsbH0sZ2V0TGVuZ3RoOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtyZXR1cm4gYVthLmxlbmd0aC0xXX0sdXBkYXRlQXJjTGVuZ3RoczpmdW5jdGlvbigpe3RoaXMubmVlZHNVcGRhdGU9ITA7dGhpcy5jYWNoZUxlbmd0aHM9bnVsbDt0aGlzLmdldEN1cnZlTGVuZ3RocygpfSxnZXRDdXJ2ZUxlbmd0aHM6ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlTGVuZ3RocyYmdGhpcy5jYWNoZUxlbmd0aHMubGVuZ3RoPT09dGhpcy5jdXJ2ZXMubGVuZ3RoKXJldHVybiB0aGlzLmNhY2hlTGVuZ3Rocztmb3IodmFyIGE9W10sYz0wLGU9MCxnPXRoaXMuY3VydmVzLmxlbmd0aDtlPGc7ZSsrKWMrPXRoaXMuY3VydmVzW2VdLmdldExlbmd0aCgpLGEucHVzaChjKTtyZXR1cm4gdGhpcy5jYWNoZUxlbmd0aHM9YX0sZ2V0U3BhY2VkUG9pbnRzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoYT00MCk7Zm9yKHZhciBjPVtdLGU9MDtlPD1hO2UrKyljLnB1c2godGhpcy5nZXRQb2ludChlL2EpKTt0aGlzLmF1dG9DbG9zZSYmYy5wdXNoKGNbMF0pO3JldHVybiBjfSxnZXRQb2ludHM6ZnVuY3Rpb24oYSl7YT1hfHwxMjtmb3IodmFyIGM9W10sZSxnPTAsdD10aGlzLmN1cnZlcztnPHQubGVuZ3RoO2crKyl7dmFyIHY9dFtnXTt2PXYuZ2V0UG9pbnRzKHYmJnYuaXNFbGxpcHNlQ3VydmU/MiphOnYmJih2LmlzTGluZUN1cnZlfHx2LmlzTGluZUN1cnZlMyk/MTp2JiZ2LmlzU3BsaW5lQ3VydmU/YSp2LnBvaW50cy5sZW5ndGg6YSk7Zm9yKHZhciB6PTA7ejx2Lmxlbmd0aDt6Kyspe3ZhciBFPXZbel07ZSYmZS5lcXVhbHMoRSl8fChjLnB1c2goRSksZT1FKX19dGhpcy5hdXRvQ2xvc2UmJjE8Yy5sZW5ndGgmJiFjW2MubGVuZ3RoLTFdLmVxdWFscyhjWzBdKSYmYy5wdXNoKGNbMF0pO3JldHVybiBjfSxjb3B5OmZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcywKYSk7dGhpcy5jdXJ2ZXM9W107Zm9yKHZhciBjPTAsZT1hLmN1cnZlcy5sZW5ndGg7YzxlO2MrKyl0aGlzLmN1cnZlcy5wdXNoKGEuY3VydmVzW2NdLmNsb25lKCkpO3RoaXMuYXV0b0Nsb3NlPWEuYXV0b0Nsb3NlO3JldHVybiB0aGlzfSx0b0pTT046ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS5hdXRvQ2xvc2U9dGhpcy5hdXRvQ2xvc2U7YS5jdXJ2ZXM9W107Zm9yKHZhciBjPTAsZT10aGlzLmN1cnZlcy5sZW5ndGg7YzxlO2MrKylhLmN1cnZlcy5wdXNoKHRoaXMuY3VydmVzW2NdLnRvSlNPTigpKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLmF1dG9DbG9zZT1hLmF1dG9DbG9zZTt0aGlzLmN1cnZlcz1bXTtmb3IodmFyIGM9MCxlPWEuY3VydmVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLmN1cnZlc1tjXTt0aGlzLmN1cnZlcy5wdXNoKChuZXcgVGlbZy50eXBlXSkuZnJvbUpTT04oZykpfXJldHVybiB0aGlzfX0pOwpJYy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGlkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkljLHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSl7dGhpcy5tb3ZlVG8oYVswXS54LGFbMF0ueSk7Zm9yKHZhciBjPTEsZT1hLmxlbmd0aDtjPGU7YysrKXRoaXMubGluZVRvKGFbY10ueCxhW2NdLnkpfSxtb3ZlVG86ZnVuY3Rpb24oYSxjKXt0aGlzLmN1cnJlbnRQb2ludC5zZXQoYSxjKX0sbGluZVRvOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bmV3IG5jKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IGYoYSxjKSk7dGhpcy5jdXJ2ZXMucHVzaChlKTt0aGlzLmN1cnJlbnRQb2ludC5zZXQoYSxjKX0scXVhZHJhdGljQ3VydmVUbzpmdW5jdGlvbihhLGMsZSxnKXthPW5ldyBHYyh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBmKGEsYyksbmV3IGYoZSxnKSk7dGhpcy5jdXJ2ZXMucHVzaChhKTt0aGlzLmN1cnJlbnRQb2ludC5zZXQoZSxnKX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbihhLApjLGUsZyx0LHYpe2E9bmV3IEVjKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IGYoYSxjKSxuZXcgZihlLGcpLG5ldyBmKHQsdikpO3RoaXMuY3VydmVzLnB1c2goYSk7dGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsdil9LHNwbGluZVRocnU6ZnVuY3Rpb24oYSl7dmFyIGM9W3RoaXMuY3VycmVudFBvaW50LmNsb25lKCldLmNvbmNhdChhKTtjPW5ldyBIYyhjKTt0aGlzLmN1cnZlcy5wdXNoKGMpO3RoaXMuY3VycmVudFBvaW50LmNvcHkoYVthLmxlbmd0aC0xXSl9LGFyYzpmdW5jdGlvbihhLGMsZSxnLHQsdil7dGhpcy5hYnNhcmMoYSt0aGlzLmN1cnJlbnRQb2ludC54LGMrdGhpcy5jdXJyZW50UG9pbnQueSxlLGcsdCx2KX0sYWJzYXJjOmZ1bmN0aW9uKGEsYyxlLGcsdCx2KXt0aGlzLmFic2VsbGlwc2UoYSxjLGUsZSxnLHQsdil9LGVsbGlwc2U6ZnVuY3Rpb24oYSxjLGUsZyx0LHYseixFKXt0aGlzLmFic2VsbGlwc2UoYSt0aGlzLmN1cnJlbnRQb2ludC54LGMrdGhpcy5jdXJyZW50UG9pbnQueSwKZSxnLHQsdix6LEUpfSxhYnNlbGxpcHNlOmZ1bmN0aW9uKGEsYyxlLGcsdCx2LHosRSl7YT1uZXcgc2MoYSxjLGUsZyx0LHYseixFKTswPHRoaXMuY3VydmVzLmxlbmd0aCYmKGM9YS5nZXRQb2ludCgwKSxjLmVxdWFscyh0aGlzLmN1cnJlbnRQb2ludCl8fHRoaXMubGluZVRvKGMueCxjLnkpKTt0aGlzLmN1cnZlcy5wdXNoKGEpO2E9YS5nZXRQb2ludCgxKTt0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGEpfSxjb3B5OmZ1bmN0aW9uKGEpe2lkLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGEuY3VycmVudFBvaW50KTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9aWQucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EuY3VycmVudFBvaW50PXRoaXMuY3VycmVudFBvaW50LnRvQXJyYXkoKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7aWQucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLmN1cnJlbnRQb2ludC5mcm9tQXJyYXkoYS5jdXJyZW50UG9pbnQpOwpyZXR1cm4gdGhpc319KTtFZC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEljLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkVkLGdldFBvaW50c0hvbGVzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTAsZz10aGlzLmhvbGVzLmxlbmd0aDtlPGc7ZSsrKWNbZV09dGhpcy5ob2xlc1tlXS5nZXRQb2ludHMoYSk7cmV0dXJuIGN9LGV4dHJhY3RQb2ludHM6ZnVuY3Rpb24oYSl7cmV0dXJue3NoYXBlOnRoaXMuZ2V0UG9pbnRzKGEpLGhvbGVzOnRoaXMuZ2V0UG9pbnRzSG9sZXMoYSl9fSxjb3B5OmZ1bmN0aW9uKGEpe0ljLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmhvbGVzPVtdO2Zvcih2YXIgYz0wLGU9YS5ob2xlcy5sZW5ndGg7YzxlO2MrKyl0aGlzLmhvbGVzLnB1c2goYS5ob2xlc1tjXS5jbG9uZSgpKTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9SWMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EudXVpZD10aGlzLnV1aWQ7CmEuaG9sZXM9W107Zm9yKHZhciBjPTAsZT10aGlzLmhvbGVzLmxlbmd0aDtjPGU7YysrKWEuaG9sZXMucHVzaCh0aGlzLmhvbGVzW2NdLnRvSlNPTigpKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7SWMucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnV1aWQ9YS51dWlkO3RoaXMuaG9sZXM9W107Zm9yKHZhciBjPTAsZT1hLmhvbGVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLmhvbGVzW2NdO3RoaXMuaG9sZXMucHVzaCgobmV3IEljKS5mcm9tSlNPTihnKSl9cmV0dXJuIHRoaXN9fSk7S2IucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOktiLGlzTGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5pbnRlbnNpdHk9YS5pbnRlbnNpdHk7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXthPQpBLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCk7YS5vYmplY3QuaW50ZW5zaXR5PXRoaXMuaW50ZW5zaXR5O3ZvaWQgMCE9PXRoaXMuZ3JvdW5kQ29sb3ImJihhLm9iamVjdC5ncm91bmRDb2xvcj10aGlzLmdyb3VuZENvbG9yLmdldEhleCgpKTt2b2lkIDAhPT10aGlzLmRpc3RhbmNlJiYoYS5vYmplY3QuZGlzdGFuY2U9dGhpcy5kaXN0YW5jZSk7dm9pZCAwIT09dGhpcy5hbmdsZSYmKGEub2JqZWN0LmFuZ2xlPXRoaXMuYW5nbGUpO3ZvaWQgMCE9PXRoaXMuZGVjYXkmJihhLm9iamVjdC5kZWNheT10aGlzLmRlY2F5KTt2b2lkIDAhPT10aGlzLnBlbnVtYnJhJiYoYS5vYmplY3QucGVudW1icmE9dGhpcy5wZW51bWJyYSk7dm9pZCAwIT09dGhpcy5zaGFkb3cmJihhLm9iamVjdC5zaGFkb3c9dGhpcy5zaGFkb3cudG9KU09OKCkpO3JldHVybiBhfX0pO1FnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoS2IucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOlFnLGlzSGVtaXNwaGVyZUxpZ2h0OiEwLGNvcHk6ZnVuY3Rpb24oYSl7S2IucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ3JvdW5kQ29sb3IuY29weShhLmdyb3VuZENvbG9yKTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKFhjLnByb3RvdHlwZSx7X3Byb2pTY3JlZW5NYXRyaXg6bmV3IHEsX2xpZ2h0UG9zaXRpb25Xb3JsZDpuZXcgayxfbG9va1RhcmdldDpuZXcgayxnZXRWaWV3cG9ydENvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0Q291bnR9LGdldEZydXN0dW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZnJ1c3R1bX0sdXBkYXRlTWF0cmljZXM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5jYW1lcmEsZT10aGlzLm1hdHJpeCxnPXRoaXMuX3Byb2pTY3JlZW5NYXRyaXgsdD10aGlzLl9sb29rVGFyZ2V0LHY9dGhpcy5fbGlnaHRQb3NpdGlvbldvcmxkO3Yuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEubWF0cml4V29ybGQpOwpjLnBvc2l0aW9uLmNvcHkodik7dC5zZXRGcm9tTWF0cml4UG9zaXRpb24oYS50YXJnZXQubWF0cml4V29ybGQpO2MubG9va0F0KHQpO2MudXBkYXRlTWF0cml4V29ybGQoKTtnLm11bHRpcGx5TWF0cmljZXMoYy5wcm9qZWN0aW9uTWF0cml4LGMubWF0cml4V29ybGRJbnZlcnNlKTt0aGlzLl9mcnVzdHVtLnNldEZyb21NYXRyaXgoZyk7ZS5zZXQoLjUsMCwwLC41LDAsLjUsMCwuNSwwLDAsLjUsLjUsMCwwLDAsMSk7ZS5tdWx0aXBseShjLnByb2plY3Rpb25NYXRyaXgpO2UubXVsdGlwbHkoYy5tYXRyaXhXb3JsZEludmVyc2UpfSxnZXRWaWV3cG9ydDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fdmlld3BvcnRzW2FdfSxnZXRGcmFtZUV4dGVudHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZnJhbWVFeHRlbnRzfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuY2FtZXJhPWEuY2FtZXJhLmNsb25lKCk7dGhpcy5iaWFzPWEuYmlhczt0aGlzLnJhZGl1cz1hLnJhZGl1czt0aGlzLm1hcFNpemUuY29weShhLm1hcFNpemUpOwpyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXt9OzAhPT10aGlzLmJpYXMmJihhLmJpYXM9dGhpcy5iaWFzKTsxIT09dGhpcy5yYWRpdXMmJihhLnJhZGl1cz10aGlzLnJhZGl1cyk7aWYoNTEyIT09dGhpcy5tYXBTaXplLnh8fDUxMiE9PXRoaXMubWFwU2l6ZS55KWEubWFwU2l6ZT10aGlzLm1hcFNpemUudG9BcnJheSgpO2EuY2FtZXJhPXRoaXMuY2FtZXJhLnRvSlNPTighMSkub2JqZWN0O2RlbGV0ZSBhLmNhbWVyYS5tYXRyaXg7cmV0dXJuIGF9fSk7UmcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYy5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpSZyxpc1Nwb3RMaWdodFNoYWRvdzohMCx1cGRhdGVNYXRyaWNlczpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5jYW1lcmEsdD0yKmhiLlJBRDJERUcqYS5hbmdsZSx2PXRoaXMubWFwU2l6ZS53aWR0aC8KdGhpcy5tYXBTaXplLmhlaWdodCx6PWEuZGlzdGFuY2V8fGcuZmFyO2lmKHQhPT1nLmZvdnx8diE9PWcuYXNwZWN0fHx6IT09Zy5mYXIpZy5mb3Y9dCxnLmFzcGVjdD12LGcuZmFyPXosZy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7WGMucHJvdG90eXBlLnVwZGF0ZU1hdHJpY2VzLmNhbGwodGhpcyxhLGMsZSl9fSk7U2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShLYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpTZyxpc1Nwb3RMaWdodDohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmRpc3RhbmNlPWEuZGlzdGFuY2U7dGhpcy5hbmdsZT1hLmFuZ2xlO3RoaXMucGVudW1icmE9YS5wZW51bWJyYTt0aGlzLmRlY2F5PWEuZGVjYXk7dGhpcy50YXJnZXQ9YS50YXJnZXQuY2xvbmUoKTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO2lpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWGMucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOmlpLGlzUG9pbnRMaWdodFNoYWRvdzohMCx1cGRhdGVNYXRyaWNlczpmdW5jdGlvbihhLGMsZSl7Yz10aGlzLmNhbWVyYTt2YXIgZz10aGlzLm1hdHJpeCx0PXRoaXMuX2xpZ2h0UG9zaXRpb25Xb3JsZCx2PXRoaXMuX2xvb2tUYXJnZXQsej10aGlzLl9wcm9qU2NyZWVuTWF0cml4O3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEubWF0cml4V29ybGQpO2MucG9zaXRpb24uY29weSh0KTt2LmNvcHkoYy5wb3NpdGlvbik7di5hZGQodGhpcy5fY3ViZURpcmVjdGlvbnNbZV0pO2MudXAuY29weSh0aGlzLl9jdWJlVXBzW2VdKTtjLmxvb2tBdCh2KTtjLnVwZGF0ZU1hdHJpeFdvcmxkKCk7Zy5tYWtlVHJhbnNsYXRpb24oLXQueCwtdC55LC10LnopO3oubXVsdGlwbHlNYXRyaWNlcyhjLnByb2plY3Rpb25NYXRyaXgsYy5tYXRyaXhXb3JsZEludmVyc2UpO3RoaXMuX2ZydXN0dW0uc2V0RnJvbU1hdHJpeCh6KX19KTtUZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpUZyxpc1BvaW50TGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtLYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kaXN0YW5jZT1hLmRpc3RhbmNlO3RoaXMuZGVjYXk9YS5kZWNheTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO2NnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoemIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6Y2csaXNPcnRob2dyYXBoaWNDYW1lcmE6ITAsY29weTpmdW5jdGlvbihhLGMpe3piLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhLGMpO3RoaXMubGVmdD1hLmxlZnQ7dGhpcy5yaWdodD1hLnJpZ2h0O3RoaXMudG9wPWEudG9wO3RoaXMuYm90dG9tPWEuYm90dG9tO3RoaXMubmVhcj1hLm5lYXI7dGhpcy5mYXI9YS5mYXI7dGhpcy56b29tPWEuem9vbTt0aGlzLnZpZXc9bnVsbD09PWEudmlldz9udWxsOk9iamVjdC5hc3NpZ24oe30sYS52aWV3KTtyZXR1cm4gdGhpc30sCnNldFZpZXdPZmZzZXQ6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe251bGw9PT10aGlzLnZpZXcmJih0aGlzLnZpZXc9e2VuYWJsZWQ6ITAsZnVsbFdpZHRoOjEsZnVsbEhlaWdodDoxLG9mZnNldFg6MCxvZmZzZXRZOjAsd2lkdGg6MSxoZWlnaHQ6MX0pO3RoaXMudmlldy5lbmFibGVkPSEwO3RoaXMudmlldy5mdWxsV2lkdGg9YTt0aGlzLnZpZXcuZnVsbEhlaWdodD1jO3RoaXMudmlldy5vZmZzZXRYPWU7dGhpcy52aWV3Lm9mZnNldFk9Zzt0aGlzLnZpZXcud2lkdGg9dDt0aGlzLnZpZXcuaGVpZ2h0PXY7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LGNsZWFyVmlld09mZnNldDpmdW5jdGlvbigpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSk7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LHVwZGF0ZVByb2plY3Rpb25NYXRyaXg6ZnVuY3Rpb24oKXt2YXIgYT0odGhpcy5yaWdodC10aGlzLmxlZnQpLygyKnRoaXMuem9vbSksYz0odGhpcy50b3AtCnRoaXMuYm90dG9tKS8oMip0aGlzLnpvb20pLGU9KHRoaXMucmlnaHQrdGhpcy5sZWZ0KS8yLGc9KHRoaXMudG9wK3RoaXMuYm90dG9tKS8yLHQ9ZS1hO2UrPWE7YT1nK2M7Yz1nLWM7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2U9dGhpcy56b29tLyh0aGlzLnZpZXcud2lkdGgvdGhpcy52aWV3LmZ1bGxXaWR0aCk7Yz10aGlzLnpvb20vKHRoaXMudmlldy5oZWlnaHQvdGhpcy52aWV3LmZ1bGxIZWlnaHQpO3ZhciB2PSh0aGlzLnJpZ2h0LXRoaXMubGVmdCkvdGhpcy52aWV3LndpZHRoO2c9KHRoaXMudG9wLXRoaXMuYm90dG9tKS90aGlzLnZpZXcuaGVpZ2h0O3QrPXRoaXMudmlldy5vZmZzZXRYL2UqdjtlPXQrdGhpcy52aWV3LndpZHRoL2UqdjthLT10aGlzLnZpZXcub2Zmc2V0WS9jKmc7Yz1hLXRoaXMudmlldy5oZWlnaHQvYypnfXRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlT3J0aG9ncmFwaGljKHQsZSxhLGMsdGhpcy5uZWFyLHRoaXMuZmFyKTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmdldEludmVyc2UodGhpcy5wcm9qZWN0aW9uTWF0cml4KX0sCnRvSlNPTjpmdW5jdGlvbihhKXthPUEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7YS5vYmplY3Quem9vbT10aGlzLnpvb207YS5vYmplY3QubGVmdD10aGlzLmxlZnQ7YS5vYmplY3QucmlnaHQ9dGhpcy5yaWdodDthLm9iamVjdC50b3A9dGhpcy50b3A7YS5vYmplY3QuYm90dG9tPXRoaXMuYm90dG9tO2Eub2JqZWN0Lm5lYXI9dGhpcy5uZWFyO2Eub2JqZWN0LmZhcj10aGlzLmZhcjtudWxsIT09dGhpcy52aWV3JiYoYS5vYmplY3Qudmlldz1PYmplY3QuYXNzaWduKHt9LHRoaXMudmlldykpO3JldHVybiBhfX0pO1VnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWGMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6VWcsaXNEaXJlY3Rpb25hbExpZ2h0U2hhZG93OiEwLHVwZGF0ZU1hdHJpY2VzOmZ1bmN0aW9uKGEsYyxlKXtYYy5wcm90b3R5cGUudXBkYXRlTWF0cmljZXMuY2FsbCh0aGlzLGEsYyxlKX19KTtWZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpWZyxpc0RpcmVjdGlvbmFsTGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtLYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy50YXJnZXQ9YS50YXJnZXQuY2xvbmUoKTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO1dnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoS2IucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6V2csaXNBbWJpZW50TGlnaHQ6ITB9KTtYZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlhnLGlzUmVjdEFyZWFMaWdodDohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLndpZHRoPWEud2lkdGg7dGhpcy5oZWlnaHQ9YS5oZWlnaHQ7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXthPUtiLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LndpZHRoPQp0aGlzLndpZHRoO2Eub2JqZWN0LmhlaWdodD10aGlzLmhlaWdodDtyZXR1cm4gYX19KTtZZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOllnLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0Lm1hbmFnZXIpO3Yuc2V0UGF0aCh0LnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope2ModC5wYXJzZShKU09OLnBhcnNlKHopKSl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoRSl7dm9pZCAwPT09ZVtFXSYmY29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbExvYWRlcjogVW5kZWZpbmVkIHRleHR1cmUiLEUpO3JldHVybiBlW0VdfXZhciBlPXRoaXMudGV4dHVyZXMsZz1uZXcgZW5bYS50eXBlXTt2b2lkIDAhPT1hLnV1aWQmJihnLnV1aWQ9YS51dWlkKTt2b2lkIDAhPT1hLm5hbWUmJihnLm5hbWU9YS5uYW1lKTt2b2lkIDAhPT1hLmNvbG9yJiZnLmNvbG9yLnNldEhleChhLmNvbG9yKTsKdm9pZCAwIT09YS5yb3VnaG5lc3MmJihnLnJvdWdobmVzcz1hLnJvdWdobmVzcyk7dm9pZCAwIT09YS5tZXRhbG5lc3MmJihnLm1ldGFsbmVzcz1hLm1ldGFsbmVzcyk7dm9pZCAwIT09YS5lbWlzc2l2ZSYmZy5lbWlzc2l2ZS5zZXRIZXgoYS5lbWlzc2l2ZSk7dm9pZCAwIT09YS5zcGVjdWxhciYmZy5zcGVjdWxhci5zZXRIZXgoYS5zcGVjdWxhcik7dm9pZCAwIT09YS5zaGluaW5lc3MmJihnLnNoaW5pbmVzcz1hLnNoaW5pbmVzcyk7dm9pZCAwIT09YS5jbGVhcmNvYXQmJihnLmNsZWFyY29hdD1hLmNsZWFyY29hdCk7dm9pZCAwIT09YS5jbGVhcmNvYXRSb3VnaG5lc3MmJihnLmNsZWFyY29hdFJvdWdobmVzcz1hLmNsZWFyY29hdFJvdWdobmVzcyk7dm9pZCAwIT09YS52ZXJ0ZXhDb2xvcnMmJihnLnZlcnRleENvbG9ycz1hLnZlcnRleENvbG9ycyk7dm9pZCAwIT09YS5mb2cmJihnLmZvZz1hLmZvZyk7dm9pZCAwIT09YS5mbGF0U2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9YS5mbGF0U2hhZGluZyk7CnZvaWQgMCE9PWEuYmxlbmRpbmcmJihnLmJsZW5kaW5nPWEuYmxlbmRpbmcpO3ZvaWQgMCE9PWEuY29tYmluZSYmKGcuY29tYmluZT1hLmNvbWJpbmUpO3ZvaWQgMCE9PWEuc2lkZSYmKGcuc2lkZT1hLnNpZGUpO3ZvaWQgMCE9PWEub3BhY2l0eSYmKGcub3BhY2l0eT1hLm9wYWNpdHkpO3ZvaWQgMCE9PWEudHJhbnNwYXJlbnQmJihnLnRyYW5zcGFyZW50PWEudHJhbnNwYXJlbnQpO3ZvaWQgMCE9PWEuYWxwaGFUZXN0JiYoZy5hbHBoYVRlc3Q9YS5hbHBoYVRlc3QpO3ZvaWQgMCE9PWEuZGVwdGhUZXN0JiYoZy5kZXB0aFRlc3Q9YS5kZXB0aFRlc3QpO3ZvaWQgMCE9PWEuZGVwdGhXcml0ZSYmKGcuZGVwdGhXcml0ZT1hLmRlcHRoV3JpdGUpO3ZvaWQgMCE9PWEuY29sb3JXcml0ZSYmKGcuY29sb3JXcml0ZT1hLmNvbG9yV3JpdGUpO3ZvaWQgMCE9PWEud2lyZWZyYW1lJiYoZy53aXJlZnJhbWU9YS53aXJlZnJhbWUpO3ZvaWQgMCE9PWEud2lyZWZyYW1lTGluZXdpZHRoJiYoZy53aXJlZnJhbWVMaW5ld2lkdGg9CmEud2lyZWZyYW1lTGluZXdpZHRoKTt2b2lkIDAhPT1hLndpcmVmcmFtZUxpbmVjYXAmJihnLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwKTt2b2lkIDAhPT1hLndpcmVmcmFtZUxpbmVqb2luJiYoZy53aXJlZnJhbWVMaW5lam9pbj1hLndpcmVmcmFtZUxpbmVqb2luKTt2b2lkIDAhPT1hLnJvdGF0aW9uJiYoZy5yb3RhdGlvbj1hLnJvdGF0aW9uKTsxIT09YS5saW5ld2lkdGgmJihnLmxpbmV3aWR0aD1hLmxpbmV3aWR0aCk7dm9pZCAwIT09YS5kYXNoU2l6ZSYmKGcuZGFzaFNpemU9YS5kYXNoU2l6ZSk7dm9pZCAwIT09YS5nYXBTaXplJiYoZy5nYXBTaXplPWEuZ2FwU2l6ZSk7dm9pZCAwIT09YS5zY2FsZSYmKGcuc2NhbGU9YS5zY2FsZSk7dm9pZCAwIT09YS5wb2x5Z29uT2Zmc2V0JiYoZy5wb2x5Z29uT2Zmc2V0PWEucG9seWdvbk9mZnNldCk7dm9pZCAwIT09YS5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYoZy5wb2x5Z29uT2Zmc2V0RmFjdG9yPWEucG9seWdvbk9mZnNldEZhY3Rvcik7CnZvaWQgMCE9PWEucG9seWdvbk9mZnNldFVuaXRzJiYoZy5wb2x5Z29uT2Zmc2V0VW5pdHM9YS5wb2x5Z29uT2Zmc2V0VW5pdHMpO3ZvaWQgMCE9PWEuc2tpbm5pbmcmJihnLnNraW5uaW5nPWEuc2tpbm5pbmcpO3ZvaWQgMCE9PWEubW9ycGhUYXJnZXRzJiYoZy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHMpO3ZvaWQgMCE9PWEubW9ycGhOb3JtYWxzJiYoZy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHMpO3ZvaWQgMCE9PWEuZGl0aGVyaW5nJiYoZy5kaXRoZXJpbmc9YS5kaXRoZXJpbmcpO3ZvaWQgMCE9PWEudmlzaWJsZSYmKGcudmlzaWJsZT1hLnZpc2libGUpO3ZvaWQgMCE9PWEudG9uZU1hcHBlZCYmKGcudG9uZU1hcHBlZD1hLnRvbmVNYXBwZWQpO3ZvaWQgMCE9PWEudXNlckRhdGEmJihnLnVzZXJEYXRhPWEudXNlckRhdGEpO2lmKHZvaWQgMCE9PWEudW5pZm9ybXMpZm9yKHZhciB0IGluIGEudW5pZm9ybXMpe3ZhciB2PWEudW5pZm9ybXNbdF07Zy51bmlmb3Jtc1t0XT0Ke307c3dpdGNoKHYudHlwZSl7Y2FzZSAidCI6Zy51bmlmb3Jtc1t0XS52YWx1ZT1jKHYudmFsdWUpO2JyZWFrO2Nhc2UgImMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBIKS5zZXRIZXgodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjIiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBmKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBrKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjQiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBwKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAibTMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyByKS5mcm9tQXJyYXkodi52YWx1ZSk7Y2FzZSAibTQiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBxKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7ZGVmYXVsdDpnLnVuaWZvcm1zW3RdLnZhbHVlPXYudmFsdWV9fXZvaWQgMCE9PWEuZGVmaW5lcyYmKGcuZGVmaW5lcz1hLmRlZmluZXMpOwp2b2lkIDAhPT1hLnZlcnRleFNoYWRlciYmKGcudmVydGV4U2hhZGVyPWEudmVydGV4U2hhZGVyKTt2b2lkIDAhPT1hLmZyYWdtZW50U2hhZGVyJiYoZy5mcmFnbWVudFNoYWRlcj1hLmZyYWdtZW50U2hhZGVyKTtpZih2b2lkIDAhPT1hLmV4dGVuc2lvbnMpZm9yKHZhciB6IGluIGEuZXh0ZW5zaW9ucylnLmV4dGVuc2lvbnNbel09YS5leHRlbnNpb25zW3pdO3ZvaWQgMCE9PWEuc2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9MT09PWEuc2hhZGluZyk7dm9pZCAwIT09YS5zaXplJiYoZy5zaXplPWEuc2l6ZSk7dm9pZCAwIT09YS5zaXplQXR0ZW51YXRpb24mJihnLnNpemVBdHRlbnVhdGlvbj1hLnNpemVBdHRlbnVhdGlvbik7dm9pZCAwIT09YS5tYXAmJihnLm1hcD1jKGEubWFwKSk7dm9pZCAwIT09YS5tYXRjYXAmJihnLm1hdGNhcD1jKGEubWF0Y2FwKSk7dm9pZCAwIT09YS5hbHBoYU1hcCYmKGcuYWxwaGFNYXA9YyhhLmFscGhhTWFwKSxnLnRyYW5zcGFyZW50PSEwKTt2b2lkIDAhPT0KYS5idW1wTWFwJiYoZy5idW1wTWFwPWMoYS5idW1wTWFwKSk7dm9pZCAwIT09YS5idW1wU2NhbGUmJihnLmJ1bXBTY2FsZT1hLmJ1bXBTY2FsZSk7dm9pZCAwIT09YS5ub3JtYWxNYXAmJihnLm5vcm1hbE1hcD1jKGEubm9ybWFsTWFwKSk7dm9pZCAwIT09YS5ub3JtYWxNYXBUeXBlJiYoZy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZSk7dm9pZCAwIT09YS5ub3JtYWxTY2FsZSYmKHQ9YS5ub3JtYWxTY2FsZSwhMT09PUFycmF5LmlzQXJyYXkodCkmJih0PVt0LHRdKSxnLm5vcm1hbFNjYWxlPShuZXcgZikuZnJvbUFycmF5KHQpKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudE1hcCYmKGcuZGlzcGxhY2VtZW50TWFwPWMoYS5kaXNwbGFjZW1lbnRNYXApKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudFNjYWxlJiYoZy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudEJpYXMmJihnLmRpc3BsYWNlbWVudEJpYXM9YS5kaXNwbGFjZW1lbnRCaWFzKTsKdm9pZCAwIT09YS5yb3VnaG5lc3NNYXAmJihnLnJvdWdobmVzc01hcD1jKGEucm91Z2huZXNzTWFwKSk7dm9pZCAwIT09YS5tZXRhbG5lc3NNYXAmJihnLm1ldGFsbmVzc01hcD1jKGEubWV0YWxuZXNzTWFwKSk7dm9pZCAwIT09YS5lbWlzc2l2ZU1hcCYmKGcuZW1pc3NpdmVNYXA9YyhhLmVtaXNzaXZlTWFwKSk7dm9pZCAwIT09YS5lbWlzc2l2ZUludGVuc2l0eSYmKGcuZW1pc3NpdmVJbnRlbnNpdHk9YS5lbWlzc2l2ZUludGVuc2l0eSk7dm9pZCAwIT09YS5zcGVjdWxhck1hcCYmKGcuc3BlY3VsYXJNYXA9YyhhLnNwZWN1bGFyTWFwKSk7dm9pZCAwIT09YS5lbnZNYXAmJihnLmVudk1hcD1jKGEuZW52TWFwKSk7dm9pZCAwIT09YS5lbnZNYXBJbnRlbnNpdHkmJihnLmVudk1hcEludGVuc2l0eT1hLmVudk1hcEludGVuc2l0eSk7dm9pZCAwIT09YS5yZWZsZWN0aXZpdHkmJihnLnJlZmxlY3Rpdml0eT1hLnJlZmxlY3Rpdml0eSk7dm9pZCAwIT09YS5yZWZyYWN0aW9uUmF0aW8mJihnLnJlZnJhY3Rpb25SYXRpbz0KYS5yZWZyYWN0aW9uUmF0aW8pO3ZvaWQgMCE9PWEubGlnaHRNYXAmJihnLmxpZ2h0TWFwPWMoYS5saWdodE1hcCkpO3ZvaWQgMCE9PWEubGlnaHRNYXBJbnRlbnNpdHkmJihnLmxpZ2h0TWFwSW50ZW5zaXR5PWEubGlnaHRNYXBJbnRlbnNpdHkpO3ZvaWQgMCE9PWEuYW9NYXAmJihnLmFvTWFwPWMoYS5hb01hcCkpO3ZvaWQgMCE9PWEuYW9NYXBJbnRlbnNpdHkmJihnLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHkpO3ZvaWQgMCE9PWEuZ3JhZGllbnRNYXAmJihnLmdyYWRpZW50TWFwPWMoYS5ncmFkaWVudE1hcCkpO3ZvaWQgMCE9PWEuY2xlYXJjb2F0Tm9ybWFsTWFwJiYoZy5jbGVhcmNvYXROb3JtYWxNYXA9YyhhLmNsZWFyY29hdE5vcm1hbE1hcCkpO3ZvaWQgMCE9PWEuY2xlYXJjb2F0Tm9ybWFsU2NhbGUmJihnLmNsZWFyY29hdE5vcm1hbFNjYWxlPShuZXcgZikuZnJvbUFycmF5KGEuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpKTtyZXR1cm4gZ30sc2V0VGV4dHVyZXM6ZnVuY3Rpb24oYSl7dGhpcy50ZXh0dXJlcz0KYTtyZXR1cm4gdGhpc319KTt2YXIgVWk9e2RlY29kZVRleHQ6ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgVGV4dERlY29kZXIpcmV0dXJuKG5ldyBUZXh0RGVjb2RlcikuZGVjb2RlKGEpO2Zvcih2YXIgYz0iIixlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWMrPVN0cmluZy5mcm9tQ2hhckNvZGUoYVtlXSk7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGMpKX1jYXRjaCh0KXtyZXR1cm4gY319LGV4dHJhY3RVcmxCYXNlOmZ1bmN0aW9uKGEpe3ZhciBjPWEubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PWM/Ii4vIjphLnN1YnN0cigwLGMrMSl9fTtaZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlpnLGlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk6ITAsY29weTpmdW5jdGlvbihhKXt2YS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5tYXhJbnN0YW5jZWRDb3VudD0KYS5tYXhJbnN0YW5jZWRDb3VudDtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXZhLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTthLm1heEluc3RhbmNlZENvdW50PXRoaXMubWF4SW5zdGFuY2VkQ291bnQ7YS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PSEwO3JldHVybiBhfX0pOyRnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjokZyxpc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTohMCxjb3B5OmZ1bmN0aW9uKGEpe1IucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMubWVzaFBlckF0dHJpYnV0ZT1hLm1lc2hQZXJBdHRyaWJ1dGU7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPVIucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EubWVzaFBlckF0dHJpYnV0ZT0KdGhpcy5tZXNoUGVyQXR0cmlidXRlO2EuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU9ITA7cmV0dXJuIGF9fSk7YWgucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjphaCxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj1uZXcgd2ModC5tYW5hZ2VyKTt2LnNldFBhdGgodC5wYXRoKTt2LmxvYWQoYSxmdW5jdGlvbih6KXtjKHQucGFyc2UoSlNPTi5wYXJzZSh6KSkpfSxlLGcpfSxwYXJzZTpmdW5jdGlvbihhKXt2YXIgYz1hLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk/bmV3IFpnOm5ldyB2YSxlPWEuZGF0YS5pbmRleDtpZih2b2lkIDAhPT1lKXt2YXIgZz1uZXcgVmlbZS50eXBlXShlLmFycmF5KTtjLnNldEluZGV4KG5ldyBSKGcsMSkpfWU9YS5kYXRhLmF0dHJpYnV0ZXM7Zm9yKHZhciB0IGluIGUpe3ZhciB2PWVbdF07Zz1uZXcgVmlbdi50eXBlXSh2LmFycmF5KTtnPW5ldyAodi5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT8KJGc6UikoZyx2Lml0ZW1TaXplLHYubm9ybWFsaXplZCk7dm9pZCAwIT09di5uYW1lJiYoZy5uYW1lPXYubmFtZSk7Yy5hZGRBdHRyaWJ1dGUodCxnKX12YXIgej1hLmRhdGEubW9ycGhBdHRyaWJ1dGVzO2lmKHopZm9yKHQgaW4geil7dmFyIEU9elt0XSxGPVtdO2U9MDtmb3IodmFyIEk9RS5sZW5ndGg7ZTxJO2UrKyl2PUVbZV0sZz1uZXcgVmlbdi50eXBlXSh2LmFycmF5KSxnPW5ldyBSKGcsdi5pdGVtU2l6ZSx2Lm5vcm1hbGl6ZWQpLHZvaWQgMCE9PXYubmFtZSYmKGcubmFtZT12Lm5hbWUpLEYucHVzaChnKTtjLm1vcnBoQXR0cmlidXRlc1t0XT1GfXQ9YS5kYXRhLmdyb3Vwc3x8YS5kYXRhLmRyYXdjYWxsc3x8YS5kYXRhLm9mZnNldHM7aWYodm9pZCAwIT09dClmb3IoZT0wLHY9dC5sZW5ndGg7ZSE9PXY7KytlKWc9dFtlXSxjLmFkZEdyb3VwKGcuc3RhcnQsZy5jb3VudCxnLm1hdGVyaWFsSW5kZXgpO2U9YS5kYXRhLmJvdW5kaW5nU3BoZXJlO3ZvaWQgMCE9PWUmJih0PW5ldyBrLAp2b2lkIDAhPT1lLmNlbnRlciYmdC5mcm9tQXJyYXkoZS5jZW50ZXIpLGMuYm91bmRpbmdTcGhlcmU9bmV3IEcodCxlLnJhZGl1cykpO2EubmFtZSYmKGMubmFtZT1hLm5hbWUpO2EudXNlckRhdGEmJihjLnVzZXJEYXRhPWEudXNlckRhdGEpO3JldHVybiBjfX0pO3ZhciBWaT17SW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXk6InVuZGVmaW5lZCIhPT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXk/VWludDhDbGFtcGVkQXJyYXk6VWludDhBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheX07YmgucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpiaCxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj0iIj09PXRoaXMucGF0aD9VaS5leHRyYWN0VXJsQmFzZShhKTp0aGlzLnBhdGg7dGhpcy5yZXNvdXJjZVBhdGg9CnRoaXMucmVzb3VyY2VQYXRofHx2O3Y9bmV3IHdjKHQubWFuYWdlcik7di5zZXRQYXRoKHRoaXMucGF0aCk7di5sb2FkKGEsZnVuY3Rpb24oeil7dmFyIEU9bnVsbDt0cnl7RT1KU09OLnBhcnNlKHopfWNhdGNoKEYpe3ZvaWQgMCE9PWcmJmcoRik7Y29uc29sZS5lcnJvcigiVEhSRUU6T2JqZWN0TG9hZGVyOiBDYW4ndCBwYXJzZSAiK2ErIi4iLEYubWVzc2FnZSk7cmV0dXJufXo9RS5tZXRhZGF0YTt2b2lkIDA9PT16fHx2b2lkIDA9PT16LnR5cGV8fCJnZW9tZXRyeSI9PT16LnR5cGUudG9Mb3dlckNhc2UoKT9jb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3RMb2FkZXI6IENhbid0IGxvYWQgIithKTp0LnBhcnNlKEUsYyl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5wYXJzZVNoYXBlKGEuc2hhcGVzKTtlPXRoaXMucGFyc2VHZW9tZXRyaWVzKGEuZ2VvbWV0cmllcyxlKTt2YXIgZz10aGlzLnBhcnNlSW1hZ2VzKGEuaW1hZ2VzLGZ1bmN0aW9uKCl7dm9pZCAwIT09CmMmJmModCl9KTtnPXRoaXMucGFyc2VUZXh0dXJlcyhhLnRleHR1cmVzLGcpO2c9dGhpcy5wYXJzZU1hdGVyaWFscyhhLm1hdGVyaWFscyxnKTt2YXIgdD10aGlzLnBhcnNlT2JqZWN0KGEub2JqZWN0LGUsZyk7YS5hbmltYXRpb25zJiYodC5hbmltYXRpb25zPXRoaXMucGFyc2VBbmltYXRpb25zKGEuYW5pbWF0aW9ucykpO3ZvaWQgMCE9PWEuaW1hZ2VzJiYwIT09YS5pbWFnZXMubGVuZ3RofHx2b2lkIDA9PT1jfHxjKHQpO3JldHVybiB0fSxwYXJzZVNoYXBlOmZ1bmN0aW9uKGEpe3ZhciBjPXt9O2lmKHZvaWQgMCE9PWEpZm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD0obmV3IEVkKS5mcm9tSlNPTihhW2VdKTtjW3QudXVpZF09dH1yZXR1cm4gY30scGFyc2VHZW9tZXRyaWVzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9e307aWYodm9pZCAwIT09YSlmb3IodmFyIGc9bmV3IGFoLHQ9MCx2PWEubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWFbdF07c3dpdGNoKHoudHlwZSl7Y2FzZSAiUGxhbmVHZW9tZXRyeSI6Y2FzZSAiUGxhbmVCdWZmZXJHZW9tZXRyeSI6dmFyIEU9Cm5ldyBqY1t6LnR5cGVdKHoud2lkdGgsei5oZWlnaHQsei53aWR0aFNlZ21lbnRzLHouaGVpZ2h0U2VnbWVudHMpO2JyZWFrO2Nhc2UgIkJveEdlb21ldHJ5IjpjYXNlICJCb3hCdWZmZXJHZW9tZXRyeSI6Y2FzZSAiQ3ViZUdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoud2lkdGgsei5oZWlnaHQsei5kZXB0aCx6LndpZHRoU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6LmRlcHRoU2VnbWVudHMpO2JyZWFrO2Nhc2UgIkNpcmNsZUdlb21ldHJ5IjpjYXNlICJDaXJjbGVCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnJhZGl1cyx6LnNlZ21lbnRzLHoudGhldGFTdGFydCx6LnRoZXRhTGVuZ3RoKTticmVhaztjYXNlICJDeWxpbmRlckdlb21ldHJ5IjpjYXNlICJDeWxpbmRlckJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzVG9wLHoucmFkaXVzQm90dG9tLHouaGVpZ2h0LHoucmFkaWFsU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6Lm9wZW5FbmRlZCwKei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIkNvbmVHZW9tZXRyeSI6Y2FzZSAiQ29uZUJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHouaGVpZ2h0LHoucmFkaWFsU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6Lm9wZW5FbmRlZCx6LnRoZXRhU3RhcnQsei50aGV0YUxlbmd0aCk7YnJlYWs7Y2FzZSAiU3BoZXJlR2VvbWV0cnkiOmNhc2UgIlNwaGVyZUJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHoud2lkdGhTZWdtZW50cyx6LmhlaWdodFNlZ21lbnRzLHoucGhpU3RhcnQsei5waGlMZW5ndGgsei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIkRvZGVjYWhlZHJvbkdlb21ldHJ5IjpjYXNlICJEb2RlY2FoZWRyb25CdWZmZXJHZW9tZXRyeSI6Y2FzZSAiSWNvc2FoZWRyb25HZW9tZXRyeSI6Y2FzZSAiSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeSI6Y2FzZSAiT2N0YWhlZHJvbkdlb21ldHJ5IjpjYXNlICJPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnkiOmNhc2UgIlRldHJhaGVkcm9uR2VvbWV0cnkiOmNhc2UgIlRldHJhaGVkcm9uQnVmZmVyR2VvbWV0cnkiOkU9Cm5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHouZGV0YWlsKTticmVhaztjYXNlICJSaW5nR2VvbWV0cnkiOmNhc2UgIlJpbmdCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LmlubmVyUmFkaXVzLHoub3V0ZXJSYWRpdXMsei50aGV0YVNlZ21lbnRzLHoucGhpU2VnbWVudHMsei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIlRvcnVzR2VvbWV0cnkiOmNhc2UgIlRvcnVzQnVmZmVyR2VvbWV0cnkiOkU9bmV3IGpjW3oudHlwZV0oei5yYWRpdXMsei50dWJlLHoucmFkaWFsU2VnbWVudHMsei50dWJ1bGFyU2VnbWVudHMsei5hcmMpO2JyZWFrO2Nhc2UgIlRvcnVzS25vdEdlb21ldHJ5IjpjYXNlICJUb3J1c0tub3RCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnJhZGl1cyx6LnR1YmUsei50dWJ1bGFyU2VnbWVudHMsei5yYWRpYWxTZWdtZW50cyx6LnAsei5xKTticmVhaztjYXNlICJUdWJlR2VvbWV0cnkiOmNhc2UgIlR1YmVCdWZmZXJHZW9tZXRyeSI6RT0KbmV3IGpjW3oudHlwZV0oKG5ldyBUaVt6LnBhdGgudHlwZV0pLmZyb21KU09OKHoucGF0aCksei50dWJ1bGFyU2VnbWVudHMsei5yYWRpdXMsei5yYWRpYWxTZWdtZW50cyx6LmNsb3NlZCk7YnJlYWs7Y2FzZSAiTGF0aGVHZW9tZXRyeSI6Y2FzZSAiTGF0aGVCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnBvaW50cyx6LnNlZ21lbnRzLHoucGhpU3RhcnQsei5waGlMZW5ndGgpO2JyZWFrO2Nhc2UgIlBvbHloZWRyb25HZW9tZXRyeSI6Y2FzZSAiUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoudmVydGljZXMsei5pbmRpY2VzLHoucmFkaXVzLHouZGV0YWlscyk7YnJlYWs7Y2FzZSAiU2hhcGVHZW9tZXRyeSI6Y2FzZSAiU2hhcGVCdWZmZXJHZW9tZXRyeSI6RT1bXTtmb3IodmFyIEY9MCxJPXouc2hhcGVzLmxlbmd0aDtGPEk7RisrKXt2YXIgTT1jW3ouc2hhcGVzW0ZdXTtFLnB1c2goTSl9RT1uZXcgamNbei50eXBlXShFLHouY3VydmVTZWdtZW50cyk7CmJyZWFrO2Nhc2UgIkV4dHJ1ZGVHZW9tZXRyeSI6Y2FzZSAiRXh0cnVkZUJ1ZmZlckdlb21ldHJ5IjpFPVtdO0Y9MDtmb3IoST16LnNoYXBlcy5sZW5ndGg7RjxJO0YrKylNPWNbei5zaGFwZXNbRl1dLEUucHVzaChNKTtGPXoub3B0aW9ucy5leHRydWRlUGF0aDt2b2lkIDAhPT1GJiYoei5vcHRpb25zLmV4dHJ1ZGVQYXRoPShuZXcgVGlbRi50eXBlXSkuZnJvbUpTT04oRikpO0U9bmV3IGpjW3oudHlwZV0oRSx6Lm9wdGlvbnMpO2JyZWFrO2Nhc2UgIkJ1ZmZlckdlb21ldHJ5IjpjYXNlICJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSI6RT1nLnBhcnNlKHopO2JyZWFrO2Nhc2UgIkdlb21ldHJ5IjoiVEhSRUUiaW4gd2luZG93JiYiTGVnYWN5SlNPTkxvYWRlciJpbiBUSFJFRT9FPShuZXcgVEhSRUUuTGVnYWN5SlNPTkxvYWRlcikucGFyc2Uoeix0aGlzLnJlc291cmNlUGF0aCkuZ2VvbWV0cnk6Y29uc29sZS5lcnJvcignVEhSRUUuT2JqZWN0TG9hZGVyOiBZb3UgaGF2ZSB0byBpbXBvcnQgTGVnYWN5SlNPTkxvYWRlciBpbiBvcmRlciBsb2FkIGdlb21ldHJ5IGRhdGEgb2YgdHlwZSAiR2VvbWV0cnkiLicpOwpicmVhaztkZWZhdWx0OmNvbnNvbGUud2FybignVEhSRUUuT2JqZWN0TG9hZGVyOiBVbnN1cHBvcnRlZCBnZW9tZXRyeSB0eXBlICInK3oudHlwZSsnIicpO2NvbnRpbnVlfUUudXVpZD16LnV1aWQ7dm9pZCAwIT09ei5uYW1lJiYoRS5uYW1lPXoubmFtZSk7ITA9PT1FLmlzQnVmZmVyR2VvbWV0cnkmJnZvaWQgMCE9PXoudXNlckRhdGEmJihFLnVzZXJEYXRhPXoudXNlckRhdGEpO2Vbei51dWlkXT1FfXJldHVybiBlfSxwYXJzZU1hdGVyaWFsczpmdW5jdGlvbihhLGMpe3ZhciBlPXt9LGc9e307aWYodm9pZCAwIT09YSl7dmFyIHQ9bmV3IFlnO3Quc2V0VGV4dHVyZXMoYyk7Yz0wO2Zvcih2YXIgdj1hLmxlbmd0aDtjPHY7YysrKXt2YXIgej1hW2NdO2lmKCJNdWx0aU1hdGVyaWFsIj09PXoudHlwZSl7Zm9yKHZhciBFPVtdLEY9MDtGPHoubWF0ZXJpYWxzLmxlbmd0aDtGKyspe3ZhciBJPXoubWF0ZXJpYWxzW0ZdO3ZvaWQgMD09PWVbSS51dWlkXSYmKGVbSS51dWlkXT10LnBhcnNlKEkpKTsKRS5wdXNoKGVbSS51dWlkXSl9Z1t6LnV1aWRdPUV9ZWxzZSB2b2lkIDA9PT1lW3oudXVpZF0mJihlW3oudXVpZF09dC5wYXJzZSh6KSksZ1t6LnV1aWRdPWVbei51dWlkXX19cmV0dXJuIGd9LHBhcnNlQW5pbWF0aW9uczpmdW5jdGlvbihhKXtmb3IodmFyIGM9W10sZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgZz1hW2VdLHQ9dmMucGFyc2UoZyk7dm9pZCAwIT09Zy51dWlkJiYodC51dWlkPWcudXVpZCk7Yy5wdXNoKHQpfXJldHVybiBjfSxwYXJzZUltYWdlczpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGUoUSl7Zy5tYW5hZ2VyLml0ZW1TdGFydChRKTtyZXR1cm4gdi5sb2FkKFEsZnVuY3Rpb24oKXtnLm1hbmFnZXIuaXRlbUVuZChRKX0sdm9pZCAwLGZ1bmN0aW9uKCl7Zy5tYW5hZ2VyLml0ZW1FcnJvcihRKTtnLm1hbmFnZXIuaXRlbUVuZChRKX0pfXZhciBnPXRoaXMsdD17fTtpZih2b2lkIDAhPT1hJiYwPGEubGVuZ3RoKXtjPW5ldyBlaShjKTt2YXIgdj1uZXcgV2UoYyk7di5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTsKYz0wO2Zvcih2YXIgej1hLmxlbmd0aDtjPHo7YysrKXt2YXIgRT1hW2NdLEY9RS51cmw7aWYoQXJyYXkuaXNBcnJheShGKSl7dFtFLnV1aWRdPVtdO2Zvcih2YXIgST0wLE09Ri5sZW5ndGg7STxNO0krKyl7dmFyIFA9RltJXTtQPS9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KFApP1A6Zy5yZXNvdXJjZVBhdGgrUDt0W0UudXVpZF0ucHVzaChlKFApKX19ZWxzZSBQPS9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KEUudXJsKT9FLnVybDpnLnJlc291cmNlUGF0aCtFLnVybCx0W0UudXVpZF09ZShQKX19cmV0dXJuIHR9LHBhcnNlVGV4dHVyZXM6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBlKEYsSSl7aWYoIm51bWJlciI9PT10eXBlb2YgRilyZXR1cm4gRjtjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlci5wYXJzZVRleHR1cmU6IENvbnN0YW50IHNob3VsZCBiZSBpbiBudW1lcmljIGZvcm0uIixGKTtyZXR1cm4gSVtGXX12YXIgZz17fTtpZih2b2lkIDAhPT0KYSlmb3IodmFyIHQ9MCx2PWEubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWFbdF07dm9pZCAwPT09ei5pbWFnZSYmY29uc29sZS53YXJuKCdUSFJFRS5PYmplY3RMb2FkZXI6IE5vICJpbWFnZSIgc3BlY2lmaWVkIGZvcicsei51dWlkKTt2b2lkIDA9PT1jW3ouaW1hZ2VdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIGltYWdlIix6LmltYWdlKTt2YXIgRT1BcnJheS5pc0FycmF5KGNbei5pbWFnZV0pP25ldyBlZChjW3ouaW1hZ2VdKTpuZXcgbChjW3ouaW1hZ2VdKTtFLm5lZWRzVXBkYXRlPSEwO0UudXVpZD16LnV1aWQ7dm9pZCAwIT09ei5uYW1lJiYoRS5uYW1lPXoubmFtZSk7dm9pZCAwIT09ei5tYXBwaW5nJiYoRS5tYXBwaW5nPWUoei5tYXBwaW5nLGZuKSk7dm9pZCAwIT09ei5vZmZzZXQmJkUub2Zmc2V0LmZyb21BcnJheSh6Lm9mZnNldCk7dm9pZCAwIT09ei5yZXBlYXQmJkUucmVwZWF0LmZyb21BcnJheSh6LnJlcGVhdCk7dm9pZCAwIT09ei5jZW50ZXImJgpFLmNlbnRlci5mcm9tQXJyYXkoei5jZW50ZXIpO3ZvaWQgMCE9PXoucm90YXRpb24mJihFLnJvdGF0aW9uPXoucm90YXRpb24pO3ZvaWQgMCE9PXoud3JhcCYmKEUud3JhcFM9ZSh6LndyYXBbMF0sQmspLEUud3JhcFQ9ZSh6LndyYXBbMV0sQmspKTt2b2lkIDAhPT16LmZvcm1hdCYmKEUuZm9ybWF0PXouZm9ybWF0KTt2b2lkIDAhPT16LnR5cGUmJihFLnR5cGU9ei50eXBlKTt2b2lkIDAhPT16LmVuY29kaW5nJiYoRS5lbmNvZGluZz16LmVuY29kaW5nKTt2b2lkIDAhPT16Lm1pbkZpbHRlciYmKEUubWluRmlsdGVyPWUoei5taW5GaWx0ZXIsQ2spKTt2b2lkIDAhPT16Lm1hZ0ZpbHRlciYmKEUubWFnRmlsdGVyPWUoei5tYWdGaWx0ZXIsQ2spKTt2b2lkIDAhPT16LmFuaXNvdHJvcHkmJihFLmFuaXNvdHJvcHk9ei5hbmlzb3Ryb3B5KTt2b2lkIDAhPT16LmZsaXBZJiYoRS5mbGlwWT16LmZsaXBZKTt2b2lkIDAhPT16LnByZW11bHRpcGx5QWxwaGEmJihFLnByZW11bHRpcGx5QWxwaGE9CnoucHJlbXVsdGlwbHlBbHBoYSk7dm9pZCAwIT09ei51bnBhY2tBbGlnbm1lbnQmJihFLnVucGFja0FsaWdubWVudD16LnVucGFja0FsaWdubWVudCk7Z1t6LnV1aWRdPUV9cmV0dXJuIGd9LHBhcnNlT2JqZWN0OmZ1bmN0aW9uKGEsYyxlKXtmdW5jdGlvbiBnKEkpe3ZvaWQgMD09PWNbSV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgZ2VvbWV0cnkiLEkpO3JldHVybiBjW0ldfWZ1bmN0aW9uIHQoSSl7aWYodm9pZCAwIT09SSl7aWYoQXJyYXkuaXNBcnJheShJKSl7Zm9yKHZhciBNPVtdLFA9MCxRPUkubGVuZ3RoO1A8UTtQKyspe3ZhciBVPUlbUF07dm9pZCAwPT09ZVtVXSYmY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3RMb2FkZXI6IFVuZGVmaW5lZCBtYXRlcmlhbCIsVSk7TS5wdXNoKGVbVV0pfXJldHVybiBNfXZvaWQgMD09PWVbSV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgbWF0ZXJpYWwiLEkpO3JldHVybiBlW0ldfX0Kc3dpdGNoKGEudHlwZSl7Y2FzZSAiU2NlbmUiOnZhciB2PW5ldyB5O3ZvaWQgMCE9PWEuYmFja2dyb3VuZCYmTnVtYmVyLmlzSW50ZWdlcihhLmJhY2tncm91bmQpJiYodi5iYWNrZ3JvdW5kPW5ldyBIKGEuYmFja2dyb3VuZCkpO3ZvaWQgMCE9PWEuZm9nJiYoIkZvZyI9PT1hLmZvZy50eXBlP3YuZm9nPW5ldyBEZyhhLmZvZy5jb2xvcixhLmZvZy5uZWFyLGEuZm9nLmZhcik6IkZvZ0V4cDIiPT09YS5mb2cudHlwZSYmKHYuZm9nPW5ldyBDZyhhLmZvZy5jb2xvcixhLmZvZy5kZW5zaXR5KSkpO2JyZWFrO2Nhc2UgIlBlcnNwZWN0aXZlQ2FtZXJhIjp2PW5ldyB2YihhLmZvdixhLmFzcGVjdCxhLm5lYXIsYS5mYXIpO3ZvaWQgMCE9PWEuZm9jdXMmJih2LmZvY3VzPWEuZm9jdXMpO3ZvaWQgMCE9PWEuem9vbSYmKHYuem9vbT1hLnpvb20pO3ZvaWQgMCE9PWEuZmlsbUdhdWdlJiYodi5maWxtR2F1Z2U9YS5maWxtR2F1Z2UpO3ZvaWQgMCE9PWEuZmlsbU9mZnNldCYmKHYuZmlsbU9mZnNldD0KYS5maWxtT2Zmc2V0KTt2b2lkIDAhPT1hLnZpZXcmJih2LnZpZXc9T2JqZWN0LmFzc2lnbih7fSxhLnZpZXcpKTticmVhaztjYXNlICJPcnRob2dyYXBoaWNDYW1lcmEiOnY9bmV3IGNnKGEubGVmdCxhLnJpZ2h0LGEudG9wLGEuYm90dG9tLGEubmVhcixhLmZhcik7dm9pZCAwIT09YS56b29tJiYodi56b29tPWEuem9vbSk7dm9pZCAwIT09YS52aWV3JiYodi52aWV3PU9iamVjdC5hc3NpZ24oe30sYS52aWV3KSk7YnJlYWs7Y2FzZSAiQW1iaWVudExpZ2h0Ijp2PW5ldyBXZyhhLmNvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJEaXJlY3Rpb25hbExpZ2h0Ijp2PW5ldyBWZyhhLmNvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJQb2ludExpZ2h0Ijp2PW5ldyBUZyhhLmNvbG9yLGEuaW50ZW5zaXR5LGEuZGlzdGFuY2UsYS5kZWNheSk7YnJlYWs7Y2FzZSAiUmVjdEFyZWFMaWdodCI6dj1uZXcgWGcoYS5jb2xvcixhLmludGVuc2l0eSxhLndpZHRoLGEuaGVpZ2h0KTticmVhazsKY2FzZSAiU3BvdExpZ2h0Ijp2PW5ldyBTZyhhLmNvbG9yLGEuaW50ZW5zaXR5LGEuZGlzdGFuY2UsYS5hbmdsZSxhLnBlbnVtYnJhLGEuZGVjYXkpO2JyZWFrO2Nhc2UgIkhlbWlzcGhlcmVMaWdodCI6dj1uZXcgUWcoYS5jb2xvcixhLmdyb3VuZENvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJTa2lubmVkTWVzaCI6Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3RMb2FkZXIucGFyc2VPYmplY3QoKSBkb2VzIG5vdCBzdXBwb3J0IFNraW5uZWRNZXNoIHlldC4iKTtjYXNlICJNZXNoIjp2PWcoYS5nZW9tZXRyeSk7dmFyIHo9dChhLm1hdGVyaWFsKTt2PXYuYm9uZXMmJjA8di5ib25lcy5sZW5ndGg/bmV3IENmKHYseik6bmV3IHlhKHYseik7dm9pZCAwIT09YS5kcmF3TW9kZSYmdi5zZXREcmF3TW9kZShhLmRyYXdNb2RlKTticmVhaztjYXNlICJMT0QiOnY9bmV3IEJmO2JyZWFrO2Nhc2UgIkxpbmUiOnY9bmV3IFhiKGcoYS5nZW9tZXRyeSksdChhLm1hdGVyaWFsKSxhLm1vZGUpOwpicmVhaztjYXNlICJMaW5lTG9vcCI6dj1uZXcgR2coZyhhLmdlb21ldHJ5KSx0KGEubWF0ZXJpYWwpKTticmVhaztjYXNlICJMaW5lU2VnbWVudHMiOnY9bmV3IEliKGcoYS5nZW9tZXRyeSksdChhLm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSAiUG9pbnRDbG91ZCI6Y2FzZSAiUG9pbnRzIjp2PW5ldyBFZShnKGEuZ2VvbWV0cnkpLHQoYS5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UgIlNwcml0ZSI6dj1uZXcgemYodChhLm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSAiR3JvdXAiOnY9bmV3IHdlO2JyZWFrO2RlZmF1bHQ6dj1uZXcgQX12LnV1aWQ9YS51dWlkO3ZvaWQgMCE9PWEubmFtZSYmKHYubmFtZT1hLm5hbWUpO3ZvaWQgMCE9PWEubWF0cml4Pyh2Lm1hdHJpeC5mcm9tQXJyYXkoYS5tYXRyaXgpLHZvaWQgMCE9PWEubWF0cml4QXV0b1VwZGF0ZSYmKHYubWF0cml4QXV0b1VwZGF0ZT1hLm1hdHJpeEF1dG9VcGRhdGUpLHYubWF0cml4QXV0b1VwZGF0ZSYmdi5tYXRyaXguZGVjb21wb3NlKHYucG9zaXRpb24sCnYucXVhdGVybmlvbix2LnNjYWxlKSk6KHZvaWQgMCE9PWEucG9zaXRpb24mJnYucG9zaXRpb24uZnJvbUFycmF5KGEucG9zaXRpb24pLHZvaWQgMCE9PWEucm90YXRpb24mJnYucm90YXRpb24uZnJvbUFycmF5KGEucm90YXRpb24pLHZvaWQgMCE9PWEucXVhdGVybmlvbiYmdi5xdWF0ZXJuaW9uLmZyb21BcnJheShhLnF1YXRlcm5pb24pLHZvaWQgMCE9PWEuc2NhbGUmJnYuc2NhbGUuZnJvbUFycmF5KGEuc2NhbGUpKTt2b2lkIDAhPT1hLmNhc3RTaGFkb3cmJih2LmNhc3RTaGFkb3c9YS5jYXN0U2hhZG93KTt2b2lkIDAhPT1hLnJlY2VpdmVTaGFkb3cmJih2LnJlY2VpdmVTaGFkb3c9YS5yZWNlaXZlU2hhZG93KTthLnNoYWRvdyYmKHZvaWQgMCE9PWEuc2hhZG93LmJpYXMmJih2LnNoYWRvdy5iaWFzPWEuc2hhZG93LmJpYXMpLHZvaWQgMCE9PWEuc2hhZG93LnJhZGl1cyYmKHYuc2hhZG93LnJhZGl1cz1hLnNoYWRvdy5yYWRpdXMpLHZvaWQgMCE9PWEuc2hhZG93Lm1hcFNpemUmJgp2LnNoYWRvdy5tYXBTaXplLmZyb21BcnJheShhLnNoYWRvdy5tYXBTaXplKSx2b2lkIDAhPT1hLnNoYWRvdy5jYW1lcmEmJih2LnNoYWRvdy5jYW1lcmE9dGhpcy5wYXJzZU9iamVjdChhLnNoYWRvdy5jYW1lcmEpKSk7dm9pZCAwIT09YS52aXNpYmxlJiYodi52aXNpYmxlPWEudmlzaWJsZSk7dm9pZCAwIT09YS5mcnVzdHVtQ3VsbGVkJiYodi5mcnVzdHVtQ3VsbGVkPWEuZnJ1c3R1bUN1bGxlZCk7dm9pZCAwIT09YS5yZW5kZXJPcmRlciYmKHYucmVuZGVyT3JkZXI9YS5yZW5kZXJPcmRlcik7dm9pZCAwIT09YS51c2VyRGF0YSYmKHYudXNlckRhdGE9YS51c2VyRGF0YSk7dm9pZCAwIT09YS5sYXllcnMmJih2LmxheWVycy5tYXNrPWEubGF5ZXJzKTtpZih2b2lkIDAhPT1hLmNoaWxkcmVuKXt6PWEuY2hpbGRyZW47Zm9yKHZhciBFPTA7RTx6Lmxlbmd0aDtFKyspdi5hZGQodGhpcy5wYXJzZU9iamVjdCh6W0VdLGMsZSkpfWlmKCJMT0QiPT09YS50eXBlKWZvcihhPWEubGV2ZWxzLHo9CjA7ejxhLmxlbmd0aDt6Kyspe0U9YVt6XTt2YXIgRj12LmdldE9iamVjdEJ5UHJvcGVydHkoInV1aWQiLEUub2JqZWN0KTt2b2lkIDAhPT1GJiZ2LmFkZExldmVsKEYsRS5kaXN0YW5jZSl9cmV0dXJuIHZ9fSk7dmFyIGZuPXtVVk1hcHBpbmc6MzAwLEN1YmVSZWZsZWN0aW9uTWFwcGluZzozMDEsQ3ViZVJlZnJhY3Rpb25NYXBwaW5nOjMwMixFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzozMDMsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6MzA0LFNwaGVyaWNhbFJlZmxlY3Rpb25NYXBwaW5nOjMwNSxDdWJlVVZSZWZsZWN0aW9uTWFwcGluZzozMDYsQ3ViZVVWUmVmcmFjdGlvbk1hcHBpbmc6MzA3fSxCaz17UmVwZWF0V3JhcHBpbmc6MUUzLENsYW1wVG9FZGdlV3JhcHBpbmc6MTAwMSxNaXJyb3JlZFJlcGVhdFdyYXBwaW5nOjEwMDJ9LENrPXtOZWFyZXN0RmlsdGVyOjEwMDMsTmVhcmVzdE1pcG1hcE5lYXJlc3RGaWx0ZXI6MTAwNCxOZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyOjEwMDUsCkxpbmVhckZpbHRlcjoxMDA2LExpbmVhck1pcG1hcE5lYXJlc3RGaWx0ZXI6MTAwNyxMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXI6MTAwOH07amkucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpqaSxzZXRPcHRpb25zOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9ucz1hO3JldHVybiB0aGlzfSxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZvaWQgMD09PWEmJihhPSIiKTt2b2lkIDAhPT10aGlzLnBhdGgmJihhPXRoaXMucGF0aCthKTthPXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKGEpO3ZhciB0PXRoaXMsdj1rZS5nZXQoYSk7aWYodm9pZCAwIT09dilyZXR1cm4gdC5tYW5hZ2VyLml0ZW1TdGFydChhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmYyh2KTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sMCksdjtmZXRjaChhKS50aGVuKGZ1bmN0aW9uKHope3JldHVybiB6LmJsb2IoKX0pLnRoZW4oZnVuY3Rpb24oeil7cmV0dXJuIHZvaWQgMD09PQp0Lm9wdGlvbnM/Y3JlYXRlSW1hZ2VCaXRtYXAoeik6Y3JlYXRlSW1hZ2VCaXRtYXAoeix0Lm9wdGlvbnMpfSkudGhlbihmdW5jdGlvbih6KXtrZS5hZGQoYSx6KTtjJiZjKHopO3QubWFuYWdlci5pdGVtRW5kKGEpfSkuY2F0Y2goZnVuY3Rpb24oeil7ZyYmZyh6KTt0Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3QubWFuYWdlci5pdGVtRW5kKGEpfSk7dC5tYW5hZ2VyLml0ZW1TdGFydChhKX19KTtPYmplY3QuYXNzaWduKGtpLnByb3RvdHlwZSx7bW92ZVRvOmZ1bmN0aW9uKGEsYyl7dGhpcy5jdXJyZW50UGF0aD1uZXcgSWM7dGhpcy5zdWJQYXRocy5wdXNoKHRoaXMuY3VycmVudFBhdGgpO3RoaXMuY3VycmVudFBhdGgubW92ZVRvKGEsYyl9LGxpbmVUbzpmdW5jdGlvbihhLGMpe3RoaXMuY3VycmVudFBhdGgubGluZVRvKGEsYyl9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5jdXJyZW50UGF0aC5xdWFkcmF0aWNDdXJ2ZVRvKGEsYyxlLGcpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKGEsCmMsZSxnLHQsdil7dGhpcy5jdXJyZW50UGF0aC5iZXppZXJDdXJ2ZVRvKGEsYyxlLGcsdCx2KX0sc3BsaW5lVGhydTpmdW5jdGlvbihhKXt0aGlzLmN1cnJlbnRQYXRoLnNwbGluZVRocnUoYSl9LHRvU2hhcGVzOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gZShkYSl7Zm9yKHZhciByYT1bXSxwYT0wLHFhPWRhLmxlbmd0aDtwYTxxYTtwYSsrKXt2YXIgdWE9ZGFbcGFdLG5hPW5ldyBFZDtuYS5jdXJ2ZXM9dWEuY3VydmVzO3JhLnB1c2gobmEpfXJldHVybiByYX1mdW5jdGlvbiBnKGRhLHJhKXtmb3IodmFyIHBhPXJhLmxlbmd0aCxxYT0hMSx1YT1wYS0xLG5hPTA7bmE8cGE7dWE9bmErKyl7dmFyIHRhPXJhW3VhXSxCYT1yYVtuYV0sVGE9QmEueC10YS54LFVhPUJhLnktdGEueTtpZihNYXRoLmFicyhVYSk+TnVtYmVyLkVQU0lMT04pe2lmKDA+VWEmJih0YT1yYVtuYV0sVGE9LVRhLEJhPXJhW3VhXSxVYT0tVWEpLCEoZGEueTx0YS55fHxkYS55PkJhLnkpKWlmKGRhLnk9PT10YS55KXtpZihkYS54PT09CnRhLngpcmV0dXJuITB9ZWxzZXt1YT1VYSooZGEueC10YS54KS1UYSooZGEueS10YS55KTtpZigwPT09dWEpcmV0dXJuITA7MD51YXx8KHFhPSFxYSl9fWVsc2UgaWYoZGEueT09PXRhLnkmJihCYS54PD1kYS54JiZkYS54PD10YS54fHx0YS54PD1kYS54JiZkYS54PD1CYS54KSlyZXR1cm4hMH1yZXR1cm4gcWF9dmFyIHQ9Z2QuaXNDbG9ja1dpc2Usdj10aGlzLnN1YlBhdGhzO2lmKDA9PT12Lmxlbmd0aClyZXR1cm5bXTtpZighMD09PWMpcmV0dXJuIGUodik7Yz1bXTtpZigxPT09di5sZW5ndGgpe3ZhciB6PXZbMF07dmFyIEU9bmV3IEVkO0UuY3VydmVzPXouY3VydmVzO2MucHVzaChFKTtyZXR1cm4gY312YXIgRj0hdCh2WzBdLmdldFBvaW50cygpKTtGPWE/IUY6RjtFPVtdO3ZhciBJPVtdLE09W10sUD0wO0lbUF09dm9pZCAwO01bUF09W107Zm9yKHZhciBRPTAsVT12Lmxlbmd0aDtRPFU7USsrKXt6PXZbUV07dmFyIFY9ei5nZXRQb2ludHMoKTt2YXIgZWE9dChWKTsoZWE9YT8hZWE6CmVhKT8oIUYmJklbUF0mJlArKyxJW1BdPXtzOm5ldyBFZCxwOlZ9LElbUF0ucy5jdXJ2ZXM9ei5jdXJ2ZXMsRiYmUCsrLE1bUF09W10pOk1bUF0ucHVzaCh7aDp6LHA6VlswXX0pfWlmKCFJWzBdKXJldHVybiBlKHYpO2lmKDE8SS5sZW5ndGgpe1E9ITE7YT1bXTt0PTA7Zm9yKHY9SS5sZW5ndGg7dDx2O3QrKylFW3RdPVtdO3Q9MDtmb3Iodj1JLmxlbmd0aDt0PHY7dCsrKWZvcih6PU1bdF0sZWE9MDtlYTx6Lmxlbmd0aDtlYSsrKXtGPXpbZWFdO1A9ITA7Zm9yKFY9MDtWPEkubGVuZ3RoO1YrKylnKEYucCxJW1ZdLnApJiYodCE9PVYmJmEucHVzaCh7ZnJvbXM6dCx0b3M6Vixob2xlOmVhfSksUD8oUD0hMSxFW1ZdLnB1c2goRikpOlE9ITApO1AmJkVbdF0ucHVzaChGKX0wPGEubGVuZ3RoJiYoUXx8KE09RSkpfVE9MDtmb3IodD1JLmxlbmd0aDtRPHQ7USsrKWZvcihFPUlbUV0ucyxjLnB1c2goRSksYT1NW1FdLHY9MCx6PWEubGVuZ3RoO3Y8ejt2KyspRS5ob2xlcy5wdXNoKGFbdl0uaCk7CnJldHVybiBjfX0pO09iamVjdC5hc3NpZ24obGkucHJvdG90eXBlLHtpc0ZvbnQ6ITAsZ2VuZXJhdGVTaGFwZXM6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoYz0xMDApO3ZhciBlPVtdO2E9UW0oYSxjLHRoaXMuZGF0YSk7Yz0wO2Zvcih2YXIgZz1hLmxlbmd0aDtjPGc7YysrKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUsYVtjXS50b1NoYXBlcygpKTtyZXR1cm4gZX19KTttaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm1pLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0aGlzLm1hbmFnZXIpO3Yuc2V0UGF0aCh0aGlzLnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope3RyeXt2YXIgRT1KU09OLnBhcnNlKHopfWNhdGNoKEYpe2NvbnNvbGUud2FybigiVEhSRUUuRm9udExvYWRlcjogdHlwZWZhY2UuanMgc3VwcG9ydCBpcyBiZWluZyBkZXByZWNhdGVkLiBVc2UgdHlwZWZhY2UuanNvbiBpbnN0ZWFkLiIpLApFPUpTT04ucGFyc2Uoei5zdWJzdHJpbmcoNjUsei5sZW5ndGgtMikpfXo9dC5wYXJzZShFKTtjJiZjKHopfSxlLGcpfSxwYXJzZTpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IGxpKGEpfX0pO3ZhciBCaCxyaT17Z2V0Q29udGV4dDpmdW5jdGlvbigpe3ZvaWQgMD09PUJoJiYoQmg9bmV3ICh3aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0KSk7cmV0dXJuIEJofSxzZXRDb250ZXh0OmZ1bmN0aW9uKGEpe0JoPWF9fTtjaC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmNoLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9bmV3IHdjKHRoaXMubWFuYWdlcik7dC5zZXRSZXNwb25zZVR5cGUoImFycmF5YnVmZmVyIik7dC5zZXRQYXRoKHRoaXMucGF0aCk7dC5sb2FkKGEsZnVuY3Rpb24odil7dj12LnNsaWNlKDApO3JpLmdldENvbnRleHQoKS5kZWNvZGVBdWRpb0RhdGEodixmdW5jdGlvbih6KXtjKHopfSl9LAplLGcpfX0pO09iamVjdC5hc3NpZ24oZGgucHJvdG90eXBlLHtpc1NwaGVyaWNhbEhhcm1vbmljczM6ITAsc2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wOzk+YztjKyspdGhpcy5jb2VmZmljaWVudHNbY10uY29weShhW2NdKTtyZXR1cm4gdGhpc30semVybzpmdW5jdGlvbigpe2Zvcih2YXIgYT0wOzk+YTthKyspdGhpcy5jb2VmZmljaWVudHNbYV0uc2V0KDAsMCwwKTtyZXR1cm4gdGhpc30sZ2V0QXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLngsZz1hLnk7YT1hLno7dmFyIHQ9dGhpcy5jb2VmZmljaWVudHM7Yy5jb3B5KHRbMF0pLm11bHRpcGx5U2NhbGFyKC4yODIwOTUpO2MuYWRkU2NhbGUodFsxXSwuNDg4NjAzKmcpO2MuYWRkU2NhbGUodFsyXSwuNDg4NjAzKmEpO2MuYWRkU2NhbGUodFszXSwuNDg4NjAzKmUpO2MuYWRkU2NhbGUodFs0XSwxLjA5MjU0OCplKmcpO2MuYWRkU2NhbGUodFs1XSwxLjA5MjU0OCpnKmEpO2MuYWRkU2NhbGUodFs2XSwuMzE1MzkyKigzKmEqYS0xKSk7CmMuYWRkU2NhbGUodFs3XSwxLjA5MjU0OCplKmEpO2MuYWRkU2NhbGUodFs4XSwuNTQ2Mjc0KihlKmUtZypnKSk7cmV0dXJuIGN9LGdldElycmFkaWFuY2VBdDpmdW5jdGlvbihhLGMpe3ZhciBlPWEueCxnPWEueTthPWEuejt2YXIgdD10aGlzLmNvZWZmaWNpZW50cztjLmNvcHkodFswXSkubXVsdGlwbHlTY2FsYXIoLjg4NjIyNyk7Yy5hZGRTY2FsZSh0WzFdLDEuMDIzMzI4KmcpO2MuYWRkU2NhbGUodFsyXSwxLjAyMzMyOCphKTtjLmFkZFNjYWxlKHRbM10sMS4wMjMzMjgqZSk7Yy5hZGRTY2FsZSh0WzRdLC44NTgwODYqZSpnKTtjLmFkZFNjYWxlKHRbNV0sLjg1ODA4NipnKmEpO2MuYWRkU2NhbGUodFs2XSwuNzQzMTI1KmEqYS0uMjQ3NzA4KTtjLmFkZFNjYWxlKHRbN10sLjg1ODA4NiplKmEpO2MuYWRkU2NhbGUodFs4XSwuNDI5MDQzKihlKmUtZypnKSk7cmV0dXJuIGN9LGFkZDpmdW5jdGlvbihhKXtmb3IodmFyIGM9MDs5PmM7YysrKXRoaXMuY29lZmZpY2llbnRzW2NdLmFkZChhLmNvZWZmaWNpZW50c1tjXSk7CnJldHVybiB0aGlzfSxzY2FsZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9MDs5PmM7YysrKXRoaXMuY29lZmZpY2llbnRzW2NdLm11bHRpcGx5U2NhbGFyKGEpO3JldHVybiB0aGlzfSxsZXJwOmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBlPTA7OT5lO2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5sZXJwKGEuY29lZmZpY2llbnRzW2VdLGMpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPTA7OT5jO2MrKylpZighdGhpcy5jb2VmZmljaWVudHNbY10uZXF1YWxzKGEuY29lZmZpY2llbnRzW2NdKSlyZXR1cm4hMTtyZXR1cm4hMH0sY29weTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXQoYS5jb2VmZmljaWVudHMpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPXRoaXMuY29lZmZpY2llbnRzLGc9MDs5Pmc7ZysrKWVbZ10uZnJvbUFycmF5KGEsCmMrMypnKTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTtmb3IodmFyIGU9dGhpcy5jb2VmZmljaWVudHMsZz0wOzk+ZztnKyspZVtnXS50b0FycmF5KGEsYyszKmcpO3JldHVybiBhfX0pO09iamVjdC5hc3NpZ24oZGgse2dldEJhc2lzQXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLngsZz1hLnk7YT1hLno7Y1swXT0uMjgyMDk1O2NbMV09LjQ4ODYwMypnO2NbMl09LjQ4ODYwMyphO2NbM109LjQ4ODYwMyplO2NbNF09MS4wOTI1NDgqZSpnO2NbNV09MS4wOTI1NDgqZyphO2NbNl09LjMxNTM5MiooMyphKmEtMSk7Y1s3XT0xLjA5MjU0OCplKmE7Y1s4XT0uNTQ2Mjc0KihlKmUtZypnKX19KTtKYy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkpjLGlzTGlnaHRQcm9iZTohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcywKYSk7dGhpcy5zaC5jb3B5KGEuc2gpO3RoaXMuaW50ZW5zaXR5PWEuaW50ZW5zaXR5O3JldHVybiB0aGlzfSx0b0pTT046ZnVuY3Rpb24oYSl7cmV0dXJuIEtiLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpfX0pO25pLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoSmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6bmksaXNIZW1pc3BoZXJlTGlnaHRQcm9iZTohMCxjb3B5OmZ1bmN0aW9uKGEpe0pjLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKGEpe3JldHVybiBKYy5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyxhKX19KTtvaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEpjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm9pLGlzQW1iaWVudExpZ2h0UHJvYmU6ITAsY29weTpmdW5jdGlvbihhKXtKYy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXtyZXR1cm4gSmMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsCmEpfX0pO3ZhciBEaz1uZXcgcSxFaz1uZXcgcTtPYmplY3QuYXNzaWduKFpqLnByb3RvdHlwZSx7dXBkYXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2NhY2hlO2lmKGMuZm9jdXMhPT1hLmZvY3VzfHxjLmZvdiE9PWEuZm92fHxjLmFzcGVjdCE9PWEuYXNwZWN0KnRoaXMuYXNwZWN0fHxjLm5lYXIhPT1hLm5lYXJ8fGMuZmFyIT09YS5mYXJ8fGMuem9vbSE9PWEuem9vbXx8Yy5leWVTZXAhPT10aGlzLmV5ZVNlcCl7Yy5mb2N1cz1hLmZvY3VzO2MuZm92PWEuZm92O2MuYXNwZWN0PWEuYXNwZWN0KnRoaXMuYXNwZWN0O2MubmVhcj1hLm5lYXI7Yy5mYXI9YS5mYXI7Yy56b29tPWEuem9vbTtjLmV5ZVNlcD10aGlzLmV5ZVNlcDt2YXIgZT1hLnByb2plY3Rpb25NYXRyaXguY2xvbmUoKSxnPWMuZXllU2VwLzIsdD1nKmMubmVhci9jLmZvY3VzLHY9Yy5uZWFyKk1hdGgudGFuKGhiLkRFRzJSQUQqYy5mb3YqLjUpL2Muem9vbTtFay5lbGVtZW50c1sxMl09LWc7RGsuZWxlbWVudHNbMTJdPQpnO2c9LXYqYy5hc3BlY3QrdDt2YXIgej12KmMuYXNwZWN0K3Q7ZS5lbGVtZW50c1swXT0yKmMubmVhci8oei1nKTtlLmVsZW1lbnRzWzhdPSh6K2cpLyh6LWcpO3RoaXMuY2FtZXJhTC5wcm9qZWN0aW9uTWF0cml4LmNvcHkoZSk7Zz0tdipjLmFzcGVjdC10O3o9dipjLmFzcGVjdC10O2UuZWxlbWVudHNbMF09MipjLm5lYXIvKHotZyk7ZS5lbGVtZW50c1s4XT0oeitnKS8oei1nKTt0aGlzLmNhbWVyYVIucHJvamVjdGlvbk1hdHJpeC5jb3B5KGUpfXRoaXMuY2FtZXJhTC5tYXRyaXhXb3JsZC5jb3B5KGEubWF0cml4V29ybGQpLm11bHRpcGx5KEVrKTt0aGlzLmNhbWVyYVIubWF0cml4V29ybGQuY29weShhLm1hdHJpeFdvcmxkKS5tdWx0aXBseShEayl9fSk7T2JqZWN0LmFzc2lnbihwaS5wcm90b3R5cGUse3N0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5vbGRUaW1lPXRoaXMuc3RhcnRUaW1lPSgidW5kZWZpbmVkIj09PXR5cGVvZiBwZXJmb3JtYW5jZT9EYXRlOnBlcmZvcm1hbmNlKS5ub3coKTsKdGhpcy5lbGFwc2VkVGltZT0wO3RoaXMucnVubmluZz0hMH0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZ2V0RWxhcHNlZFRpbWUoKTt0aGlzLmF1dG9TdGFydD10aGlzLnJ1bm5pbmc9ITF9LGdldEVsYXBzZWRUaW1lOmZ1bmN0aW9uKCl7dGhpcy5nZXREZWx0YSgpO3JldHVybiB0aGlzLmVsYXBzZWRUaW1lfSxnZXREZWx0YTpmdW5jdGlvbigpe3ZhciBhPTA7aWYodGhpcy5hdXRvU3RhcnQmJiF0aGlzLnJ1bm5pbmcpcmV0dXJuIHRoaXMuc3RhcnQoKSwwO2lmKHRoaXMucnVubmluZyl7dmFyIGM9KCJ1bmRlZmluZWQiPT09dHlwZW9mIHBlcmZvcm1hbmNlP0RhdGU6cGVyZm9ybWFuY2UpLm5vdygpO2E9KGMtdGhpcy5vbGRUaW1lKS8xRTM7dGhpcy5vbGRUaW1lPWM7dGhpcy5lbGFwc2VkVGltZSs9YX1yZXR1cm4gYX19KTt2YXIgbGU9bmV3IGssRms9bmV3IGgsZ249bmV3IGssbWU9bmV3IGs7cWkucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpxaSxnZXRJbnB1dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdhaW59LHJlbW92ZUZpbHRlcjpmdW5jdGlvbigpe251bGwhPT10aGlzLmZpbHRlciYmKHRoaXMuZ2Fpbi5kaXNjb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5kaXNjb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsKTtyZXR1cm4gdGhpc30sZ2V0RmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyfSxzZXRGaWx0ZXI6ZnVuY3Rpb24oYSl7bnVsbCE9PXRoaXMuZmlsdGVyPyh0aGlzLmdhaW4uZGlzY29ubmVjdCh0aGlzLmZpbHRlciksdGhpcy5maWx0ZXIuZGlzY29ubmVjdCh0aGlzLmNvbnRleHQuZGVzdGluYXRpb24pKTp0aGlzLmdhaW4uZGlzY29ubmVjdCh0aGlzLmNvbnRleHQuZGVzdGluYXRpb24pO3RoaXMuZmlsdGVyPWE7dGhpcy5nYWluLmNvbm5lY3QodGhpcy5maWx0ZXIpOwp0aGlzLmZpbHRlci5jb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbik7cmV0dXJuIHRoaXN9LGdldE1hc3RlclZvbHVtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX0sc2V0TWFzdGVyVm9sdW1lOmZ1bmN0aW9uKGEpe3RoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZShhLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpO3JldHVybiB0aGlzfSx1cGRhdGVNYXRyaXhXb3JsZDpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSk7YT10aGlzLmNvbnRleHQubGlzdGVuZXI7dmFyIGM9dGhpcy51cDt0aGlzLnRpbWVEZWx0YT10aGlzLl9jbG9jay5nZXREZWx0YSgpO3RoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKGxlLEZrLGduKTttZS5zZXQoMCwwLC0xKS5hcHBseVF1YXRlcm5pb24oRmspO2lmKGEucG9zaXRpb25YKXt2YXIgZT10aGlzLmNvbnRleHQuY3VycmVudFRpbWUrdGhpcy50aW1lRGVsdGE7CmEucG9zaXRpb25YLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKGxlLngsZSk7YS5wb3NpdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobGUueSxlKTthLnBvc2l0aW9uWi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShsZS56LGUpO2EuZm9yd2FyZFgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWUueCxlKTthLmZvcndhcmRZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG1lLnksZSk7YS5mb3J3YXJkWi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShtZS56LGUpO2EudXBYLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKGMueCxlKTthLnVwWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShjLnksZSk7YS51cFoubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoYy56LGUpfWVsc2UgYS5zZXRQb3NpdGlvbihsZS54LGxlLnksbGUueiksYS5zZXRPcmllbnRhdGlvbihtZS54LG1lLnksbWUueixjLngsYy55LGMueil9fSk7WWUucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpZZSxnZXRPdXRwdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nYWlufSxzZXROb2RlU291cmNlOmZ1bmN0aW9uKGEpe3RoaXMuaGFzUGxheWJhY2tDb250cm9sPSExO3RoaXMuc291cmNlVHlwZT0iYXVkaW9Ob2RlIjt0aGlzLnNvdXJjZT1hO3RoaXMuY29ubmVjdCgpO3JldHVybiB0aGlzfSxzZXRNZWRpYUVsZW1lbnRTb3VyY2U6ZnVuY3Rpb24oYSl7dGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITE7dGhpcy5zb3VyY2VUeXBlPSJtZWRpYU5vZGUiO3RoaXMuc291cmNlPXRoaXMuY29udGV4dC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UoYSk7dGhpcy5jb25uZWN0KCk7cmV0dXJuIHRoaXN9LHNldEJ1ZmZlcjpmdW5jdGlvbihhKXt0aGlzLmJ1ZmZlcj1hO3RoaXMuc291cmNlVHlwZT0iYnVmZmVyIjt0aGlzLmF1dG9wbGF5JiZ0aGlzLnBsYXkoKTtyZXR1cm4gdGhpc30scGxheTpmdW5jdGlvbigpe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpOwplbHNlIGlmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTtlbHNle3ZhciBhPXRoaXMuY29udGV4dC5jcmVhdGVCdWZmZXJTb3VyY2UoKTthLmJ1ZmZlcj10aGlzLmJ1ZmZlcjthLmxvb3A9dGhpcy5sb29wO2Eub25lbmRlZD10aGlzLm9uRW5kZWQuYmluZCh0aGlzKTt0aGlzLnN0YXJ0VGltZT10aGlzLmNvbnRleHQuY3VycmVudFRpbWU7YS5zdGFydCh0aGlzLnN0YXJ0VGltZSx0aGlzLm9mZnNldCx0aGlzLmR1cmF0aW9uKTt0aGlzLmlzUGxheWluZz0hMDt0aGlzLnNvdXJjZT1hO3RoaXMuc2V0RGV0dW5lKHRoaXMuZGV0dW5lKTt0aGlzLnNldFBsYXliYWNrUmF0ZSh0aGlzLnBsYXliYWNrUmF0ZSk7cmV0dXJuIHRoaXMuY29ubmVjdCgpfX0scGF1c2U6ZnVuY3Rpb24oKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7CmVsc2UgcmV0dXJuITA9PT10aGlzLmlzUGxheWluZyYmKHRoaXMuc291cmNlLnN0b3AoKSx0aGlzLnNvdXJjZS5vbmVuZGVkPW51bGwsdGhpcy5vZmZzZXQrPSh0aGlzLmNvbnRleHQuY3VycmVudFRpbWUtdGhpcy5zdGFydFRpbWUpKnRoaXMucGxheWJhY2tSYXRlLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzfSxzdG9wOmZ1bmN0aW9uKCl7aWYoITE9PT10aGlzLmhhc1BsYXliYWNrQ29udHJvbCljb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpO2Vsc2UgcmV0dXJuIHRoaXMuc291cmNlLnN0b3AoKSx0aGlzLnNvdXJjZS5vbmVuZGVkPW51bGwsdGhpcy5vZmZzZXQ9MCx0aGlzLmlzUGxheWluZz0hMSx0aGlzfSxjb25uZWN0OmZ1bmN0aW9uKCl7aWYoMDx0aGlzLmZpbHRlcnMubGVuZ3RoKXt0aGlzLnNvdXJjZS5jb25uZWN0KHRoaXMuZmlsdGVyc1swXSk7Zm9yKHZhciBhPTEsYz10aGlzLmZpbHRlcnMubGVuZ3RoO2E8YzthKyspdGhpcy5maWx0ZXJzW2EtCjFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW2FdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpc30sZGlzY29ubmVjdDpmdW5jdGlvbigpe2lmKDA8dGhpcy5maWx0ZXJzLmxlbmd0aCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2Zvcih2YXIgYT0xLGM9dGhpcy5maWx0ZXJzLmxlbmd0aDthPGM7YSsrKXRoaXMuZmlsdGVyc1thLTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW2FdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpc30sZ2V0RmlsdGVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcnN9LHNldEZpbHRlcnM6ZnVuY3Rpb24oYSl7YXx8CihhPVtdKTshMD09PXRoaXMuaXNQbGF5aW5nPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9YSx0aGlzLmNvbm5lY3QoKSk6dGhpcy5maWx0ZXJzPWE7cmV0dXJuIHRoaXN9LHNldERldHVuZTpmdW5jdGlvbihhKXt0aGlzLmRldHVuZT1hO2lmKHZvaWQgMCE9PXRoaXMuc291cmNlLmRldHVuZSlyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5kZXR1bmUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMuZGV0dW5lLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9LGdldERldHVuZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRldHVuZX0sZ2V0RmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfSxzZXRGaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2V0RmlsdGVycyhhP1thXTpbXSl9LHNldFBsYXliYWNrUmF0ZTpmdW5jdGlvbihhKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7CmVsc2UgcmV0dXJuIHRoaXMucGxheWJhY2tSYXRlPWEsITA9PT10aGlzLmlzUGxheWluZyYmdGhpcy5zb3VyY2UucGxheWJhY2tSYXRlLnNldFRhcmdldEF0VGltZSh0aGlzLnBsYXliYWNrUmF0ZSx0aGlzLmNvbnRleHQuY3VycmVudFRpbWUsLjAxKSx0aGlzfSxnZXRQbGF5YmFja1JhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9LG9uRW5kZWQ6ZnVuY3Rpb24oKXt0aGlzLmlzUGxheWluZz0hMX0sZ2V0TG9vcDpmdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2w/KGNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIiksITEpOnRoaXMubG9vcH0sc2V0TG9vcDpmdW5jdGlvbihhKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7ZWxzZSByZXR1cm4gdGhpcy5sb29wPQphLCEwPT09dGhpcy5pc1BsYXlpbmcmJih0aGlzLnNvdXJjZS5sb29wPXRoaXMubG9vcCksdGhpc30sZ2V0Vm9sdW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnZhbHVlfSxzZXRWb2x1bWU6ZnVuY3Rpb24oYSl7dGhpcy5nYWluLmdhaW4uc2V0VGFyZ2V0QXRUaW1lKGEsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSk7cmV0dXJuIHRoaXN9fSk7dmFyIG5lPW5ldyBrLEdrPW5ldyBoLGhuPW5ldyBrLG9lPW5ldyBrO3NpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWWUucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6c2ksZ2V0T3V0cHV0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFubmVyfSxnZXRSZWZEaXN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhbm5lci5yZWZEaXN0YW5jZX0sc2V0UmVmRGlzdGFuY2U6ZnVuY3Rpb24oYSl7dGhpcy5wYW5uZXIucmVmRGlzdGFuY2U9YTtyZXR1cm4gdGhpc30sZ2V0Um9sbG9mZkZhY3RvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yfSwKc2V0Um9sbG9mZkZhY3RvcjpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yPWE7cmV0dXJuIHRoaXN9LGdldERpc3RhbmNlTW9kZWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYW5uZXIuZGlzdGFuY2VNb2RlbH0sc2V0RGlzdGFuY2VNb2RlbDpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5kaXN0YW5jZU1vZGVsPWE7cmV0dXJuIHRoaXN9LGdldE1heERpc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFubmVyLm1heERpc3RhbmNlfSxzZXRNYXhEaXN0YW5jZTpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5tYXhEaXN0YW5jZT1hO3JldHVybiB0aGlzfSxzZXREaXJlY3Rpb25hbENvbmU6ZnVuY3Rpb24oYSxjLGUpe3RoaXMucGFubmVyLmNvbmVJbm5lckFuZ2xlPWE7dGhpcy5wYW5uZXIuY29uZU91dGVyQW5nbGU9Yzt0aGlzLnBhbm5lci5jb25lT3V0ZXJHYWluPWU7cmV0dXJuIHRoaXN9LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcywKYSk7aWYoITAhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbHx8ITEhPT10aGlzLmlzUGxheWluZylpZih0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShuZSxHayxobiksb2Uuc2V0KDAsMCwxKS5hcHBseVF1YXRlcm5pb24oR2spLGE9dGhpcy5wYW5uZXIsYS5wb3NpdGlvblgpe3ZhciBjPXRoaXMuY29udGV4dC5jdXJyZW50VGltZSt0aGlzLmxpc3RlbmVyLnRpbWVEZWx0YTthLnBvc2l0aW9uWC5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShuZS54LGMpO2EucG9zaXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG5lLnksYyk7YS5wb3NpdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobmUueixjKTthLm9yaWVudGF0aW9uWC5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShvZS54LGMpO2Eub3JpZW50YXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG9lLnksYyk7YS5vcmllbnRhdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUob2UueixjKX1lbHNlIGEuc2V0UG9zaXRpb24obmUueCwKbmUueSxuZS56KSxhLnNldE9yaWVudGF0aW9uKG9lLngsb2UueSxvZS56KX19KTtPYmplY3QuYXNzaWduKHRpLnByb3RvdHlwZSx7Z2V0RnJlcXVlbmN5RGF0YTpmdW5jdGlvbigpe3RoaXMuYW5hbHlzZXIuZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEodGhpcy5kYXRhKTtyZXR1cm4gdGhpcy5kYXRhfSxnZXRBdmVyYWdlRnJlcXVlbmN5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYz10aGlzLmdldEZyZXF1ZW5jeURhdGEoKSxlPTA7ZTxjLmxlbmd0aDtlKyspYSs9Y1tlXTtyZXR1cm4gYS9jLmxlbmd0aH19KTtPYmplY3QuYXNzaWduKHVpLnByb3RvdHlwZSx7YWNjdW11bGF0ZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuYnVmZmVyLGc9dGhpcy52YWx1ZVNpemU7YT1hKmcrZzt2YXIgdD10aGlzLmN1bXVsYXRpdmVXZWlnaHQ7aWYoMD09PXQpe2Zvcih0PTA7dCE9PWc7Kyt0KWVbYSt0XT1lW3RdO3Q9Y31lbHNlIHQrPWMsdGhpcy5fbWl4QnVmZmVyUmVnaW9uKGUsYSwwLGMvdCxnKTt0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9CnR9LGFwcGx5OmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMudmFsdWVTaXplLGU9dGhpcy5idWZmZXI7YT1hKmMrYzt2YXIgZz10aGlzLmN1bXVsYXRpdmVXZWlnaHQsdD10aGlzLmJpbmRpbmc7dGhpcy5jdW11bGF0aXZlV2VpZ2h0PTA7MT5nJiZ0aGlzLl9taXhCdWZmZXJSZWdpb24oZSxhLDMqYywxLWcsYyk7Zz1jO2Zvcih2YXIgdj1jK2M7ZyE9PXY7KytnKWlmKGVbZ10hPT1lW2crY10pe3Quc2V0VmFsdWUoZSxhKTticmVha319LHNhdmVPcmlnaW5hbFN0YXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5idWZmZXIsYz10aGlzLnZhbHVlU2l6ZSxlPTMqYzt0aGlzLmJpbmRpbmcuZ2V0VmFsdWUoYSxlKTtmb3IodmFyIGc9YztnIT09ZTsrK2cpYVtnXT1hW2UrZyVjXTt0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MH0scmVzdG9yZU9yaWdpbmFsU3RhdGU6ZnVuY3Rpb24oKXt0aGlzLmJpbmRpbmcuc2V0VmFsdWUodGhpcy5idWZmZXIsMyp0aGlzLnZhbHVlU2l6ZSl9LF9zZWxlY3Q6ZnVuY3Rpb24oYSwKYyxlLGcsdCl7aWYoLjU8PWcpZm9yKGc9MDtnIT09dDsrK2cpYVtjK2ddPWFbZStnXX0sX3NsZXJwOmZ1bmN0aW9uKGEsYyxlLGcpe2guc2xlcnBGbGF0KGEsYyxhLGMsYSxlLGcpfSxfbGVycDpmdW5jdGlvbihhLGMsZSxnLHQpe2Zvcih2YXIgdj0xLWcsej0wO3ohPT10Oysreil7dmFyIEU9Yyt6O2FbRV09YVtFXSp2K2FbZSt6XSpnfX19KTt2YXIgam49L1tcW1xdXC46XC9dL2csa249IlteIisiXFxbXFxdXFwuOlxcLyIucmVwbGFjZSgiXFwuIiwiIikrIl0iLGxuPS8oKD86V0MrW1wvOl0pKikvLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxtbj0vKFdDT0QrKT8vLnNvdXJjZS5yZXBsYWNlKCJXQ09EIixrbiksbm49Lyg/OlwuKFdDKykoPzpcWyguKylcXSk/KT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxvbj0vXC4oV0MrKSg/OlxbKC4rKVxdKT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxwbj0KbmV3IFJlZ0V4cCgiXiIrbG4rbW4rbm4rb24rIiQiKSxxbj1bIm1hdGVyaWFsIiwibWF0ZXJpYWxzIiwiYm9uZXMiXTtPYmplY3QuYXNzaWduKGFrLnByb3RvdHlwZSx7Z2V0VmFsdWU6ZnVuY3Rpb24oYSxjKXt0aGlzLmJpbmQoKTt2YXIgZT10aGlzLl9iaW5kaW5nc1t0aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c19dO3ZvaWQgMCE9PWUmJmUuZ2V0VmFsdWUoYSxjKX0sc2V0VmFsdWU6ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9dGhpcy5fYmluZGluZ3MsZz10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sdD1lLmxlbmd0aDtnIT09dDsrK2cpZVtnXS5zZXRWYWx1ZShhLGMpfSxiaW5kOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuX2JpbmRpbmdzLGM9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLGU9YS5sZW5ndGg7YyE9PWU7KytjKWFbY10uYmluZCgpfSx1bmJpbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5fYmluZGluZ3MsYz10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sCmU9YS5sZW5ndGg7YyE9PWU7KytjKWFbY10udW5iaW5kKCl9fSk7T2JqZWN0LmFzc2lnbihjYyx7Q29tcG9zaXRlOmFrLGNyZWF0ZTpmdW5jdGlvbihhLGMsZSl7cmV0dXJuIGEmJmEuaXNBbmltYXRpb25PYmplY3RHcm91cD9uZXcgY2MuQ29tcG9zaXRlKGEsYyxlKTpuZXcgY2MoYSxjLGUpfSxzYW5pdGl6ZU5vZGVOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKGpuLCIiKX0scGFyc2VUcmFja05hbWU6ZnVuY3Rpb24oYSl7dmFyIGM9cG4uZXhlYyhhKTtpZighYyl0aHJvdyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBDYW5ub3QgcGFyc2UgdHJhY2tOYW1lOiAiK2EpO2M9e25vZGVOYW1lOmNbMl0sb2JqZWN0TmFtZTpjWzNdLG9iamVjdEluZGV4OmNbNF0scHJvcGVydHlOYW1lOmNbNV0scHJvcGVydHlJbmRleDpjWzZdfTt2YXIgZT1jLm5vZGVOYW1lJiZjLm5vZGVOYW1lLmxhc3RJbmRleE9mKCIuIik7aWYodm9pZCAwIT09ZSYmLTEhPT0KZSl7dmFyIGc9Yy5ub2RlTmFtZS5zdWJzdHJpbmcoZSsxKTstMSE9PXFuLmluZGV4T2YoZykmJihjLm5vZGVOYW1lPWMubm9kZU5hbWUuc3Vic3RyaW5nKDAsZSksYy5vYmplY3ROYW1lPWcpfWlmKG51bGw9PT1jLnByb3BlcnR5TmFtZXx8MD09PWMucHJvcGVydHlOYW1lLmxlbmd0aCl0aHJvdyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBjYW4gbm90IHBhcnNlIHByb3BlcnR5TmFtZSBmcm9tIHRyYWNrTmFtZTogIithKTtyZXR1cm4gY30sZmluZE5vZGU6ZnVuY3Rpb24oYSxjKXtpZighY3x8IiI9PT1jfHwicm9vdCI9PT1jfHwiLiI9PT1jfHwtMT09PWN8fGM9PT1hLm5hbWV8fGM9PT1hLnV1aWQpcmV0dXJuIGE7aWYoYS5za2VsZXRvbil7dmFyIGU9YS5za2VsZXRvbi5nZXRCb25lQnlOYW1lKGMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9aWYoYS5jaGlsZHJlbil7dmFyIGc9ZnVuY3Rpb24odCl7Zm9yKHZhciB2PTA7djx0Lmxlbmd0aDt2Kyspe3ZhciB6PXRbdl07aWYoei5uYW1lPT09CmN8fHoudXVpZD09PWMpcmV0dXJuIHo7aWYoej1nKHouY2hpbGRyZW4pKXJldHVybiB6fXJldHVybiBudWxsfTtpZihhPWcoYS5jaGlsZHJlbikpcmV0dXJuIGF9cmV0dXJuIG51bGx9fSk7T2JqZWN0LmFzc2lnbihjYy5wcm90b3R5cGUse19nZXRWYWx1ZV91bmF2YWlsYWJsZTpmdW5jdGlvbigpe30sX3NldFZhbHVlX3VuYXZhaWxhYmxlOmZ1bmN0aW9uKCl7fSxCaW5kaW5nVHlwZTp7RGlyZWN0OjAsRW50aXJlQXJyYXk6MSxBcnJheUVsZW1lbnQ6MixIYXNGcm9tVG9BcnJheTozfSxWZXJzaW9uaW5nOntOb25lOjAsTmVlZHNVcGRhdGU6MSxNYXRyaXhXb3JsZE5lZWRzVXBkYXRlOjJ9LEdldHRlckJ5QmluZGluZ1R5cGU6W2Z1bmN0aW9uKGEsYyl7YVtjXT10aGlzLm5vZGVbdGhpcy5wcm9wZXJ0eU5hbWVdfSxmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksZz0wLHQ9ZS5sZW5ndGg7ZyE9PXQ7KytnKWFbYysrXT1lW2ddfSxmdW5jdGlvbihhLGMpe2FbY109CnRoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS50b0FycmF5KGEsYyl9XSxTZXR0ZXJCeUJpbmRpbmdUeXBlQW5kVmVyc2lvbmluZzpbW2Z1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY119LGZ1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY107dGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9LGZ1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1dLFtmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksZz0wLHQ9ZS5sZW5ndGg7ZyE9PXQ7KytnKWVbZ109YVtjKytdfSxmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksCmc9MCx0PWUubGVuZ3RoO2chPT10OysrZyllW2ddPWFbYysrXTt0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH0sZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9dGhpcy5yZXNvbHZlZFByb3BlcnR5LGc9MCx0PWUubGVuZ3RoO2chPT10OysrZyllW2ddPWFbYysrXTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV0sW2Z1bmN0aW9uKGEsYyl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09YVtjXX0sZnVuY3Rpb24oYSxjKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT1hW2NdO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdPWFbY107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1dLFtmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkoYSwKYyl9LGZ1bmN0aW9uKGEsYyl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheShhLGMpO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkoYSxjKTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV1dLGdldFZhbHVlOmZ1bmN0aW9uKGEsYyl7dGhpcy5iaW5kKCk7dGhpcy5nZXRWYWx1ZShhLGMpfSxzZXRWYWx1ZTpmdW5jdGlvbihhLGMpe3RoaXMuYmluZCgpO3RoaXMuc2V0VmFsdWUoYSxjKX0sYmluZDpmdW5jdGlvbigpe3ZhciBhPXRoaXMubm9kZSxjPXRoaXMucGFyc2VkUGF0aCxlPWMub2JqZWN0TmFtZSxnPWMucHJvcGVydHlOYW1lLHQ9Yy5wcm9wZXJ0eUluZGV4O2F8fCh0aGlzLm5vZGU9YT1jYy5maW5kTm9kZSh0aGlzLnJvb3ROb2RlLGMubm9kZU5hbWUpfHx0aGlzLnJvb3ROb2RlKTt0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYXZhaWxhYmxlOwp0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYXZhaWxhYmxlO2lmKGEpe2lmKGUpe3ZhciB2PWMub2JqZWN0SW5kZXg7c3dpdGNoKGUpe2Nhc2UgIm1hdGVyaWFscyI6aWYoIWEubWF0ZXJpYWwpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1hdGVyaWFsIGFzIG5vZGUgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFsLiIsdGhpcyk7cmV0dXJufWlmKCFhLm1hdGVyaWFsLm1hdGVyaWFscyl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwubWF0ZXJpYWxzIGFzIG5vZGUubWF0ZXJpYWwgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFscyBhcnJheS4iLHRoaXMpO3JldHVybn1hPWEubWF0ZXJpYWwubWF0ZXJpYWxzO2JyZWFrO2Nhc2UgImJvbmVzIjppZighYS5za2VsZXRvbil7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gYm9uZXMgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgc2tlbGV0b24uIiwKdGhpcyk7cmV0dXJufWE9YS5za2VsZXRvbi5ib25lcztmb3IoZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ubmFtZT09PXYpe3Y9ZTticmVha31icmVhaztkZWZhdWx0OmlmKHZvaWQgMD09PWFbZV0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG9iamVjdE5hbWUgb2Ygbm9kZSB1bmRlZmluZWQuIix0aGlzKTtyZXR1cm59YT1hW2VdfWlmKHZvaWQgMCE9PXYpe2lmKHZvaWQgMD09PWFbdl0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIGJpbmQgdG8gb2JqZWN0SW5kZXggb2Ygb2JqZWN0TmFtZSwgYnV0IGlzIHVuZGVmaW5lZC4iLHRoaXMsYSk7cmV0dXJufWE9YVt2XX19dj1hW2ddO2lmKHZvaWQgMD09PXYpY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBUcnlpbmcgdG8gdXBkYXRlIHByb3BlcnR5IGZvciB0cmFjazogIitjLm5vZGVOYW1lKyIuIitnKyIgYnV0IGl0IHdhc24ndCBmb3VuZC4iLAphKTtlbHNle2M9dGhpcy5WZXJzaW9uaW5nLk5vbmU7dGhpcy50YXJnZXRPYmplY3Q9YTt2b2lkIDAhPT1hLm5lZWRzVXBkYXRlP2M9dGhpcy5WZXJzaW9uaW5nLk5lZWRzVXBkYXRlOnZvaWQgMCE9PWEubWF0cml4V29ybGROZWVkc1VwZGF0ZSYmKGM9dGhpcy5WZXJzaW9uaW5nLk1hdHJpeFdvcmxkTmVlZHNVcGRhdGUpO2U9dGhpcy5CaW5kaW5nVHlwZS5EaXJlY3Q7aWYodm9pZCAwIT09dCl7aWYoIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyI9PT1nKXtpZighYS5nZW9tZXRyeSl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkuIix0aGlzKTtyZXR1cm59aWYoYS5nZW9tZXRyeS5pc0J1ZmZlckdlb21ldHJ5KXtpZighYS5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1vcnBoVGFyZ2V0SW5mbHVlbmNlcyBiZWNhdXNlIG5vZGUgZG9lcyBub3QgaGF2ZSBhIGdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy4iLAp0aGlzKTtyZXR1cm59Zm9yKGU9MDtlPHRoaXMubm9kZS5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24ubGVuZ3RoO2UrKylpZihhLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbltlXS5uYW1lPT09dCl7dD1lO2JyZWFrfX1lbHNle2lmKCFhLmdlb21ldHJ5Lm1vcnBoVGFyZ2V0cyl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkubW9ycGhUYXJnZXRzLiIsdGhpcyk7cmV0dXJufWZvcihlPTA7ZTx0aGlzLm5vZGUuZ2VvbWV0cnkubW9ycGhUYXJnZXRzLmxlbmd0aDtlKyspaWYoYS5nZW9tZXRyeS5tb3JwaFRhcmdldHNbZV0ubmFtZT09PXQpe3Q9ZTticmVha319fWU9dGhpcy5CaW5kaW5nVHlwZS5BcnJheUVsZW1lbnQ7dGhpcy5yZXNvbHZlZFByb3BlcnR5PXY7dGhpcy5wcm9wZXJ0eUluZGV4PXR9ZWxzZSB2b2lkIDAhPT0Kdi5mcm9tQXJyYXkmJnZvaWQgMCE9PXYudG9BcnJheT8oZT10aGlzLkJpbmRpbmdUeXBlLkhhc0Zyb21Ub0FycmF5LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT12KTpBcnJheS5pc0FycmF5KHYpPyhlPXRoaXMuQmluZGluZ1R5cGUuRW50aXJlQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PXYpOnRoaXMucHJvcGVydHlOYW1lPWc7dGhpcy5nZXRWYWx1ZT10aGlzLkdldHRlckJ5QmluZGluZ1R5cGVbZV07dGhpcy5zZXRWYWx1ZT10aGlzLlNldHRlckJ5QmluZGluZ1R5cGVBbmRWZXJzaW9uaW5nW2VdW2NdfX1lbHNlIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBub2RlIGZvciB0cmFjazogIit0aGlzLnBhdGgrIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIpfSx1bmJpbmQ6ZnVuY3Rpb24oKXt0aGlzLm5vZGU9bnVsbDt0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYm91bmQ7dGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmJvdW5kfX0pOwpPYmplY3QuYXNzaWduKGNjLnByb3RvdHlwZSx7X2dldFZhbHVlX3VuYm91bmQ6Y2MucHJvdG90eXBlLmdldFZhbHVlLF9zZXRWYWx1ZV91bmJvdW5kOmNjLnByb3RvdHlwZS5zZXRWYWx1ZX0pO09iamVjdC5hc3NpZ24oYmsucHJvdG90eXBlLHtpc0FuaW1hdGlvbk9iamVjdEdyb3VwOiEwLGFkZDpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl9vYmplY3RzLGM9YS5sZW5ndGgsZT10aGlzLm5DYWNoZWRPYmplY3RzXyxnPXRoaXMuX2luZGljZXNCeVVVSUQsdD10aGlzLl9wYXRocyx2PXRoaXMuX3BhcnNlZFBhdGhzLHo9dGhpcy5fYmluZGluZ3MsRT16Lmxlbmd0aCxGPXZvaWQgMCxJPTAsTT1hcmd1bWVudHMubGVuZ3RoO0khPT1NOysrSSl7dmFyIFA9YXJndW1lbnRzW0ldLFE9UC51dWlkLFU9Z1tRXTtpZih2b2lkIDA9PT1VKXtVPWMrKztnW1FdPVU7YS5wdXNoKFApO1E9MDtmb3IodmFyIFY9RTtRIT09VjsrK1EpeltRXS5wdXNoKG5ldyBjYyhQLHRbUV0sdltRXSkpfWVsc2UgaWYoVTwKZSl7Rj1hW1VdO3ZhciBlYT0tLWU7Vj1hW2VhXTtnW1YudXVpZF09VTthW1VdPVY7Z1tRXT1lYTthW2VhXT1QO1E9MDtmb3IoVj1FO1EhPT1WOysrUSl7dmFyIGRhPXpbUV0scmE9ZGFbVV07ZGFbVV09ZGFbZWFdO3ZvaWQgMD09PXJhJiYocmE9bmV3IGNjKFAsdFtRXSx2W1FdKSk7ZGFbZWFdPXJhfX1lbHNlIGFbVV0hPT1GJiZjb25zb2xlLmVycm9yKCJUSFJFRS5BbmltYXRpb25PYmplY3RHcm91cDogRGlmZmVyZW50IG9iamVjdHMgd2l0aCB0aGUgc2FtZSBVVUlEIGRldGVjdGVkLiBDbGVhbiB0aGUgY2FjaGVzIG9yIHJlY3JlYXRlIHlvdXIgaW5mcmFzdHJ1Y3R1cmUgd2hlbiByZWxvYWRpbmcgc2NlbmVzLiIpfXRoaXMubkNhY2hlZE9iamVjdHNfPWV9LHJlbW92ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl9vYmplY3RzLGM9dGhpcy5uQ2FjaGVkT2JqZWN0c18sZT10aGlzLl9pbmRpY2VzQnlVVUlELGc9dGhpcy5fYmluZGluZ3MsdD1nLmxlbmd0aCx2PTAsej1hcmd1bWVudHMubGVuZ3RoO3YhPT0KejsrK3Ype3ZhciBFPWFyZ3VtZW50c1t2XSxGPUUudXVpZCxJPWVbRl07aWYodm9pZCAwIT09SSYmST49Yyl7dmFyIE09YysrLFA9YVtNXTtlW1AudXVpZF09STthW0ldPVA7ZVtGXT1NO2FbTV09RTtFPTA7Zm9yKEY9dDtFIT09RjsrK0Upe1A9Z1tFXTt2YXIgUT1QW0ldO1BbSV09UFtNXTtQW01dPVF9fX10aGlzLm5DYWNoZWRPYmplY3RzXz1jfSx1bmNhY2hlOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuX29iamVjdHMsYz1hLmxlbmd0aCxlPXRoaXMubkNhY2hlZE9iamVjdHNfLGc9dGhpcy5faW5kaWNlc0J5VVVJRCx0PXRoaXMuX2JpbmRpbmdzLHY9dC5sZW5ndGgsej0wLEU9YXJndW1lbnRzLmxlbmd0aDt6IT09RTsrK3ope3ZhciBGPWFyZ3VtZW50c1t6XS51dWlkLEk9Z1tGXTtpZih2b2lkIDAhPT1JKWlmKGRlbGV0ZSBnW0ZdLEk8ZSl7Rj0tLWU7dmFyIE09YVtGXSxQPS0tYyxRPWFbUF07Z1tNLnV1aWRdPUk7YVtJXT1NO2dbUS51dWlkXT1GO2FbRl09UTthLnBvcCgpO009CjA7Zm9yKFE9djtNIT09UTsrK00pe3ZhciBVPXRbTV0sVj1VW1BdO1VbSV09VVtGXTtVW0ZdPVY7VS5wb3AoKX19ZWxzZSBmb3IoUD0tLWMsUT1hW1BdLGdbUS51dWlkXT1JLGFbSV09USxhLnBvcCgpLE09MCxRPXY7TSE9PVE7KytNKVU9dFtNXSxVW0ldPVVbUF0sVS5wb3AoKX10aGlzLm5DYWNoZWRPYmplY3RzXz1lfSxzdWJzY3JpYmVfOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5fYmluZGluZ3NJbmRpY2VzQnlQYXRoLGc9ZVthXSx0PXRoaXMuX2JpbmRpbmdzO2lmKHZvaWQgMCE9PWcpcmV0dXJuIHRbZ107dmFyIHY9dGhpcy5fcGF0aHMsej10aGlzLl9wYXJzZWRQYXRocyxFPXRoaXMuX29iamVjdHMsRj10aGlzLm5DYWNoZWRPYmplY3RzXyxJPUFycmF5KEUubGVuZ3RoKTtnPXQubGVuZ3RoO2VbYV09Zzt2LnB1c2goYSk7ei5wdXNoKGMpO3QucHVzaChJKTtlPUY7Zm9yKGc9RS5sZW5ndGg7ZSE9PWc7KytlKUlbZV09bmV3IGNjKEVbZV0sYSxjKTtyZXR1cm4gSX0sdW5zdWJzY3JpYmVfOmZ1bmN0aW9uKGEpe3ZhciBjPQp0aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGgsZT1jW2FdO2lmKHZvaWQgMCE9PWUpe3ZhciBnPXRoaXMuX3BhdGhzLHQ9dGhpcy5fcGFyc2VkUGF0aHMsdj10aGlzLl9iaW5kaW5ncyx6PXYubGVuZ3RoLTEsRT12W3pdO2NbYVt6XV09ZTt2W2VdPUU7di5wb3AoKTt0W2VdPXRbel07dC5wb3AoKTtnW2VdPWdbel07Zy5wb3AoKX19fSk7T2JqZWN0LmFzc2lnbihjay5wcm90b3R5cGUse3BsYXk6ZnVuY3Rpb24oKXt0aGlzLl9taXhlci5fYWN0aXZhdGVBY3Rpb24odGhpcyk7cmV0dXJuIHRoaXN9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9taXhlci5fZGVhY3RpdmF0ZUFjdGlvbih0aGlzKTtyZXR1cm4gdGhpcy5yZXNldCgpfSxyZXNldDpmdW5jdGlvbigpe3RoaXMucGF1c2VkPSExO3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWU9MDt0aGlzLl9sb29wQ291bnQ9LTE7dGhpcy5fc3RhcnRUaW1lPW51bGw7cmV0dXJuIHRoaXMuc3RvcEZhZGluZygpLnN0b3BXYXJwaW5nKCl9LGlzUnVubmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuYWJsZWQmJgohdGhpcy5wYXVzZWQmJjAhPT10aGlzLnRpbWVTY2FsZSYmbnVsbD09PXRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fbWl4ZXIuX2lzQWN0aXZlQWN0aW9uKHRoaXMpfSxpc1NjaGVkdWxlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9LHN0YXJ0QXQ6ZnVuY3Rpb24oYSl7dGhpcy5fc3RhcnRUaW1lPWE7cmV0dXJuIHRoaXN9LHNldExvb3A6ZnVuY3Rpb24oYSxjKXt0aGlzLmxvb3A9YTt0aGlzLnJlcGV0aXRpb25zPWM7cmV0dXJuIHRoaXN9LHNldEVmZmVjdGl2ZVdlaWdodDpmdW5jdGlvbihhKXt0aGlzLndlaWdodD1hO3RoaXMuX2VmZmVjdGl2ZVdlaWdodD10aGlzLmVuYWJsZWQ/YTowO3JldHVybiB0aGlzLnN0b3BGYWRpbmcoKX0sZ2V0RWZmZWN0aXZlV2VpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodH0sZmFkZUluOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zY2hlZHVsZUZhZGluZyhhLDAsMSl9LGZhZGVPdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKGEsCjEsMCl9LGNyb3NzRmFkZUZyb206ZnVuY3Rpb24oYSxjLGUpe2EuZmFkZU91dChjKTt0aGlzLmZhZGVJbihjKTtpZihlKXtlPXRoaXMuX2NsaXAuZHVyYXRpb247dmFyIGc9YS5fY2xpcC5kdXJhdGlvbix0PWUvZzthLndhcnAoMSxnL2UsYyk7dGhpcy53YXJwKHQsMSxjKX1yZXR1cm4gdGhpc30sY3Jvc3NGYWRlVG86ZnVuY3Rpb24oYSxjLGUpe3JldHVybiBhLmNyb3NzRmFkZUZyb20odGhpcyxjLGUpfSxzdG9wRmFkaW5nOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7bnVsbCE9PWEmJih0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD1udWxsLHRoaXMuX21peGVyLl90YWtlQmFja0NvbnRyb2xJbnRlcnBvbGFudChhKSk7cmV0dXJuIHRoaXN9LHNldEVmZmVjdGl2ZVRpbWVTY2FsZTpmdW5jdGlvbihhKXt0aGlzLnRpbWVTY2FsZT1hO3RoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT10aGlzLnBhdXNlZD8wOmE7cmV0dXJuIHRoaXMuc3RvcFdhcnBpbmcoKX0sZ2V0RWZmZWN0aXZlVGltZVNjYWxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZX0sCnNldER1cmF0aW9uOmZ1bmN0aW9uKGEpe3RoaXMudGltZVNjYWxlPXRoaXMuX2NsaXAuZHVyYXRpb24vYTtyZXR1cm4gdGhpcy5zdG9wV2FycGluZygpfSxzeW5jV2l0aDpmdW5jdGlvbihhKXt0aGlzLnRpbWU9YS50aW1lO3RoaXMudGltZVNjYWxlPWEudGltZVNjYWxlO3JldHVybiB0aGlzLnN0b3BXYXJwaW5nKCl9LGhhbHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMud2FycCh0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGUsMCxhKX0sd2FycDpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5fbWl4ZXIsdD1nLnRpbWUsdj10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudCx6PXRoaXMudGltZVNjYWxlO251bGw9PT12JiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9dj1nLl9sZW5kQ29udHJvbEludGVycG9sYW50KCkpO2c9di5wYXJhbWV0ZXJQb3NpdGlvbnM7dj12LnNhbXBsZVZhbHVlcztnWzBdPXQ7Z1sxXT10K2U7dlswXT1hL3o7dlsxXT1jL3o7cmV0dXJuIHRoaXN9LHN0b3BXYXJwaW5nOmZ1bmN0aW9uKCl7dmFyIGE9CnRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O251bGwhPT1hJiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQoYSkpO3JldHVybiB0aGlzfSxnZXRNaXhlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taXhlcn0sZ2V0Q2xpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jbGlwfSxnZXRSb290OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvY2FsUm9vdHx8dGhpcy5fbWl4ZXIuX3Jvb3R9LF91cGRhdGU6ZnVuY3Rpb24oYSxjLGUsZyl7aWYodGhpcy5lbmFibGVkKXt2YXIgdD10aGlzLl9zdGFydFRpbWU7aWYobnVsbCE9PXQpe2M9KGEtdCkqZTtpZigwPmN8fDA9PT1lKXJldHVybjt0aGlzLl9zdGFydFRpbWU9bnVsbDtjKj1lfWMqPXRoaXMuX3VwZGF0ZVRpbWVTY2FsZShhKTtlPXRoaXMuX3VwZGF0ZVRpbWUoYyk7YT10aGlzLl91cGRhdGVXZWlnaHQoYSk7aWYoMDxhKXtjPXRoaXMuX2ludGVycG9sYW50czsKdD10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzO2Zvcih2YXIgdj0wLHo9Yy5sZW5ndGg7diE9PXo7Kyt2KWNbdl0uZXZhbHVhdGUoZSksdFt2XS5hY2N1bXVsYXRlKGcsYSl9fWVsc2UgdGhpcy5fdXBkYXRlV2VpZ2h0KGEpfSxfdXBkYXRlV2VpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBjPTA7aWYodGhpcy5lbmFibGVkKXtjPXRoaXMud2VpZ2h0O3ZhciBlPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1lKXt2YXIgZz1lLmV2YWx1YXRlKGEpWzBdO2MqPWc7YT5lLnBhcmFtZXRlclBvc2l0aW9uc1sxXSYmKHRoaXMuc3RvcEZhZGluZygpLDA9PT1nJiYodGhpcy5lbmFibGVkPSExKSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9Y30sX3VwZGF0ZVRpbWVTY2FsZTpmdW5jdGlvbihhKXt2YXIgYz0wO2lmKCF0aGlzLnBhdXNlZCl7Yz10aGlzLnRpbWVTY2FsZTt2YXIgZT10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudDtpZihudWxsIT09ZSl7dmFyIGc9ZS5ldmFsdWF0ZShhKVswXTsKYyo9ZzthPmUucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wV2FycGluZygpLDA9PT1jP3RoaXMucGF1c2VkPSEwOnRoaXMudGltZVNjYWxlPWMpfX1yZXR1cm4gdGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlPWN9LF91cGRhdGVUaW1lOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMudGltZSthLGU9dGhpcy5fY2xpcC5kdXJhdGlvbixnPXRoaXMubG9vcCx0PXRoaXMuX2xvb3BDb3VudCx2PTIyMDI9PT1nO2lmKDA9PT1hKXJldHVybi0xPT09dD9jOnYmJjE9PT0odCYxKT9lLWM6YztpZigyMjAwPT09ZylhOntpZigtMT09PXQmJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSksYz49ZSljPWU7ZWxzZSBpZigwPmMpYz0wO2Vsc2V7dGhpcy50aW1lPWM7YnJlYWsgYX10aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMTt0aGlzLnRpbWU9Yzt0aGlzLl9taXhlci5kaXNwYXRjaEV2ZW50KHt0eXBlOiJmaW5pc2hlZCIsCmFjdGlvbjp0aGlzLGRpcmVjdGlvbjowPmE/LTE6MX0pfWVsc2V7LTE9PT10JiYoMDw9YT8odD0wLHRoaXMuX3NldEVuZGluZ3MoITAsMD09PXRoaXMucmVwZXRpdGlvbnMsdikpOnRoaXMuX3NldEVuZGluZ3MoMD09PXRoaXMucmVwZXRpdGlvbnMsITAsdikpO2lmKGM+PWV8fDA+Yyl7Zz1NYXRoLmZsb29yKGMvZSk7Yy09ZSpnO3QrPU1hdGguYWJzKGcpO3ZhciB6PXRoaXMucmVwZXRpdGlvbnMtdDswPj16Pyh0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSx0aGlzLnRpbWU9Yz0wPGE/ZTowLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246MDxhPzE6LTF9KSk6KDE9PT16PyhhPTA+YSx0aGlzLl9zZXRFbmRpbmdzKGEsIWEsdikpOnRoaXMuX3NldEVuZGluZ3MoITEsITEsdiksdGhpcy5fbG9vcENvdW50PXQsdGhpcy50aW1lPWMsdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsCmFjdGlvbjp0aGlzLGxvb3BEZWx0YTpnfSkpfWVsc2UgdGhpcy50aW1lPWM7aWYodiYmMT09PSh0JjEpKXJldHVybiBlLWN9cmV0dXJuIGN9LF9zZXRFbmRpbmdzOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLl9pbnRlcnBvbGFudFNldHRpbmdzO2U/KGcuZW5kaW5nU3RhcnQ9MjQwMSxnLmVuZGluZ0VuZD0yNDAxKTooZy5lbmRpbmdTdGFydD1hP3RoaXMuemVyb1Nsb3BlQXRTdGFydD8yNDAxOjI0MDA6MjQwMixnLmVuZGluZ0VuZD1jP3RoaXMuemVyb1Nsb3BlQXRFbmQ/MjQwMToyNDAwOjI0MDIpfSxfc2NoZWR1bGVGYWRpbmc6ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuX21peGVyLHQ9Zy50aW1lLHY9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7bnVsbD09PXYmJih0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD12PWcuX2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKSk7Zz12LnBhcmFtZXRlclBvc2l0aW9uczt2PXYuc2FtcGxlVmFsdWVzO2dbMF09dDt2WzBdPWM7Z1sxXT10K2E7dlsxXT0KZTtyZXR1cm4gdGhpc319KTt2aS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6dmksX2JpbmRBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLl9sb2NhbFJvb3R8fHRoaXMuX3Jvb3QsZz1hLl9jbGlwLnRyYWNrcyx0PWcubGVuZ3RoLHY9YS5fcHJvcGVydHlCaW5kaW5nczthPWEuX2ludGVycG9sYW50czt2YXIgej1lLnV1aWQsRT10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsRj1FW3pdO3ZvaWQgMD09PUYmJihGPXt9LEVbel09Rik7Zm9yKEU9MDtFIT09dDsrK0Upe3ZhciBJPWdbRV0sTT1JLm5hbWUsUD1GW01dO2lmKHZvaWQgMD09PVApe1A9dltFXTtpZih2b2lkIDAhPT1QKXtudWxsPT09UC5fY2FjaGVJbmRleCYmKCsrUC5yZWZlcmVuY2VDb3VudCx0aGlzLl9hZGRJbmFjdGl2ZUJpbmRpbmcoUCx6LE0pKTtjb250aW51ZX1QPW5ldyB1aShjYy5jcmVhdGUoZSxNLGMmJmMuX3Byb3BlcnR5QmluZGluZ3NbRV0uYmluZGluZy5wYXJzZWRQYXRoKSwKSS5WYWx1ZVR5cGVOYW1lLEkuZ2V0VmFsdWVTaXplKCkpOysrUC5yZWZlcmVuY2VDb3VudDt0aGlzLl9hZGRJbmFjdGl2ZUJpbmRpbmcoUCx6LE0pfXZbRV09UDthW0VdLnJlc3VsdEJ1ZmZlcj1QLmJ1ZmZlcn19LF9hY3RpdmF0ZUFjdGlvbjpmdW5jdGlvbihhKXtpZighdGhpcy5faXNBY3RpdmVBY3Rpb24oYSkpe2lmKG51bGw9PT1hLl9jYWNoZUluZGV4KXt2YXIgYz0oYS5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLGU9YS5fY2xpcC51dWlkLGc9dGhpcy5fYWN0aW9uc0J5Q2xpcFtlXTt0aGlzLl9iaW5kQWN0aW9uKGEsZyYmZy5rbm93bkFjdGlvbnNbMF0pO3RoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGEsZSxjKX1jPWEuX3Byb3BlcnR5QmluZGluZ3M7ZT0wO2ZvcihnPWMubGVuZ3RoO2UhPT1nOysrZSl7dmFyIHQ9Y1tlXTswPT09dC51c2VDb3VudCsrJiYodGhpcy5fbGVuZEJpbmRpbmcodCksdC5zYXZlT3JpZ2luYWxTdGF0ZSgpKX10aGlzLl9sZW5kQWN0aW9uKGEpfX0sCl9kZWFjdGl2YXRlQWN0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKGEpKXtmb3IodmFyIGM9YS5fcHJvcGVydHlCaW5kaW5ncyxlPTAsZz1jLmxlbmd0aDtlIT09ZzsrK2Upe3ZhciB0PWNbZV07MD09PS0tdC51c2VDb3VudCYmKHQucmVzdG9yZU9yaWdpbmFsU3RhdGUoKSx0aGlzLl90YWtlQmFja0JpbmRpbmcodCkpfXRoaXMuX3Rha2VCYWNrQWN0aW9uKGEpfX0sX2luaXRNZW1vcnlNYW5hZ2VyOmZ1bmN0aW9uKCl7dGhpcy5fYWN0aW9ucz1bXTt0aGlzLl9uQWN0aXZlQWN0aW9ucz0wO3RoaXMuX2FjdGlvbnNCeUNsaXA9e307dGhpcy5fYmluZGluZ3M9W107dGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTA7dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9O3RoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W107dGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDt2YXIgYT10aGlzO3RoaXMuc3RhdHM9e2FjdGlvbnM6e2dldCB0b3RhbCgpe3JldHVybiBhLl9hY3Rpb25zLmxlbmd0aH0sCmdldCBpblVzZSgpe3JldHVybiBhLl9uQWN0aXZlQWN0aW9uc319LGJpbmRpbmdzOntnZXQgdG90YWwoKXtyZXR1cm4gYS5fYmluZGluZ3MubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gYS5fbkFjdGl2ZUJpbmRpbmdzfX0sY29udHJvbEludGVycG9sYW50czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGEuX2NvbnRyb2xJbnRlcnBvbGFudHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gYS5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHN9fX19LF9pc0FjdGl2ZUFjdGlvbjpmdW5jdGlvbihhKXthPWEuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1hJiZhPHRoaXMuX25BY3RpdmVBY3Rpb25zfSxfYWRkSW5hY3RpdmVBY3Rpb246ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuX2FjdGlvbnMsdD10aGlzLl9hY3Rpb25zQnlDbGlwLHY9dFtjXTt2b2lkIDA9PT12Pyh2PXtrbm93bkFjdGlvbnM6W2FdLGFjdGlvbkJ5Um9vdDp7fX0sYS5fYnlDbGlwQ2FjaGVJbmRleD0wLHRbY109dik6KGM9CnYua25vd25BY3Rpb25zLGEuX2J5Q2xpcENhY2hlSW5kZXg9Yy5sZW5ndGgsYy5wdXNoKGEpKTthLl9jYWNoZUluZGV4PWcubGVuZ3RoO2cucHVzaChhKTt2LmFjdGlvbkJ5Um9vdFtlXT1hfSxfcmVtb3ZlSW5hY3RpdmVBY3Rpb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5fYWN0aW9ucyxlPWNbYy5sZW5ndGgtMV0sZz1hLl9jYWNoZUluZGV4O2UuX2NhY2hlSW5kZXg9ZztjW2ddPWU7Yy5wb3AoKTthLl9jYWNoZUluZGV4PW51bGw7Yz1hLl9jbGlwLnV1aWQ7ZT10aGlzLl9hY3Rpb25zQnlDbGlwO2c9ZVtjXTt2YXIgdD1nLmtub3duQWN0aW9ucyx2PXRbdC5sZW5ndGgtMV0sej1hLl9ieUNsaXBDYWNoZUluZGV4O3YuX2J5Q2xpcENhY2hlSW5kZXg9ejt0W3pdPXY7dC5wb3AoKTthLl9ieUNsaXBDYWNoZUluZGV4PW51bGw7ZGVsZXRlIGcuYWN0aW9uQnlSb290WyhhLl9sb2NhbFJvb3R8fHRoaXMuX3Jvb3QpLnV1aWRdOzA9PT10Lmxlbmd0aCYmZGVsZXRlIGVbY107dGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nc0ZvckFjdGlvbihhKX0sCl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uOmZ1bmN0aW9uKGEpe2E9YS5fcHJvcGVydHlCaW5kaW5ncztmb3IodmFyIGM9MCxlPWEubGVuZ3RoO2MhPT1lOysrYyl7dmFyIGc9YVtjXTswPT09LS1nLnJlZmVyZW5jZUNvdW50JiZ0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmcoZyl9fSxfbGVuZEFjdGlvbjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9hY3Rpb25zLGU9YS5fY2FjaGVJbmRleCxnPXRoaXMuX25BY3RpdmVBY3Rpb25zKyssdD1jW2ddO2EuX2NhY2hlSW5kZXg9ZztjW2ddPWE7dC5fY2FjaGVJbmRleD1lO2NbZV09dH0sX3Rha2VCYWNrQWN0aW9uOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2FjdGlvbnMsZT1hLl9jYWNoZUluZGV4LGc9LS10aGlzLl9uQWN0aXZlQWN0aW9ucyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfYWRkSW5hY3RpdmVCaW5kaW5nOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsCnQ9Z1tjXSx2PXRoaXMuX2JpbmRpbmdzO3ZvaWQgMD09PXQmJih0PXt9LGdbY109dCk7dFtlXT1hO2EuX2NhY2hlSW5kZXg9di5sZW5ndGg7di5wdXNoKGEpfSxfcmVtb3ZlSW5hY3RpdmVCaW5kaW5nOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2JpbmRpbmdzLGU9YS5iaW5kaW5nLGc9ZS5yb290Tm9kZS51dWlkO2U9ZS5wYXRoO3ZhciB0PXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZSx2PXRbZ10sej1jW2MubGVuZ3RoLTFdO2E9YS5fY2FjaGVJbmRleDt6Ll9jYWNoZUluZGV4PWE7Y1thXT16O2MucG9wKCk7ZGVsZXRlIHZbZV07MD09PU9iamVjdC5rZXlzKHYpLmxlbmd0aCYmZGVsZXRlIHRbZ119LF9sZW5kQmluZGluZzpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9iaW5kaW5ncyxlPWEuX2NhY2hlSW5kZXgsZz10aGlzLl9uQWN0aXZlQmluZGluZ3MrKyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfdGFrZUJhY2tCaW5kaW5nOmZ1bmN0aW9uKGEpe3ZhciBjPQp0aGlzLl9iaW5kaW5ncyxlPWEuX2NhY2hlSW5kZXgsZz0tLXRoaXMuX25BY3RpdmVCaW5kaW5ncyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfbGVuZENvbnRyb2xJbnRlcnBvbGFudDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsYz10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrLGU9YVtjXTt2b2lkIDA9PT1lJiYoZT1uZXcgWmYobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksZS5fX2NhY2hlSW5kZXg9YyxhW2NdPWUpO3JldHVybiBlfSxfdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxlPWEuX19jYWNoZUluZGV4LGc9LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyx0PWNbZ107YS5fX2NhY2hlSW5kZXg9Cmc7Y1tnXT1hO3QuX19jYWNoZUluZGV4PWU7Y1tlXT10fSxfY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlcjpuZXcgRmxvYXQzMkFycmF5KDEpLGNsaXBBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1jfHx0aGlzLl9yb290LGc9ZS51dWlkO2U9InN0cmluZyI9PT10eXBlb2YgYT92Yy5maW5kQnlOYW1lKGUsYSk6YTthPW51bGwhPT1lP2UudXVpZDphO3ZhciB0PXRoaXMuX2FjdGlvbnNCeUNsaXBbYV0sdj1udWxsO2lmKHZvaWQgMCE9PXQpe3Y9dC5hY3Rpb25CeVJvb3RbZ107aWYodm9pZCAwIT09dilyZXR1cm4gdjt2PXQua25vd25BY3Rpb25zWzBdO251bGw9PT1lJiYoZT12Ll9jbGlwKX1pZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjPW5ldyBjayh0aGlzLGUsYyk7dGhpcy5fYmluZEFjdGlvbihjLHYpO3RoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMsYSxnKTtyZXR1cm4gY30sZXhpc3RpbmdBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1jfHx0aGlzLl9yb290O2M9ZS51dWlkOwplPSJzdHJpbmciPT09dHlwZW9mIGE/dmMuZmluZEJ5TmFtZShlLGEpOmE7YT10aGlzLl9hY3Rpb25zQnlDbGlwW2U/ZS51dWlkOmFdO3JldHVybiB2b2lkIDAhPT1hP2EuYWN0aW9uQnlSb290W2NdfHxudWxsOm51bGx9LHN0b3BBbGxBY3Rpb246ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5fYWN0aW9ucyxjPXRoaXMuX25BY3RpdmVBY3Rpb25zLGU9dGhpcy5fYmluZGluZ3MsZz10aGlzLl9uQWN0aXZlQmluZGluZ3MsdD10aGlzLl9uQWN0aXZlQmluZGluZ3M9dGhpcy5fbkFjdGl2ZUFjdGlvbnM9MDt0IT09YzsrK3QpYVt0XS5yZXNldCgpO2Zvcih0PTA7dCE9PWc7Kyt0KWVbdF0udXNlQ291bnQ9MDtyZXR1cm4gdGhpc30sdXBkYXRlOmZ1bmN0aW9uKGEpe2EqPXRoaXMudGltZVNjYWxlO2Zvcih2YXIgYz10aGlzLl9hY3Rpb25zLGU9dGhpcy5fbkFjdGl2ZUFjdGlvbnMsZz10aGlzLnRpbWUrPWEsdD1NYXRoLnNpZ24oYSksdj10aGlzLl9hY2N1SW5kZXhePTEsej0wO3ohPT1lOysreiljW3pdLl91cGRhdGUoZywKYSx0LHYpO2E9dGhpcy5fYmluZGluZ3M7Yz10aGlzLl9uQWN0aXZlQmluZGluZ3M7Zm9yKHo9MDt6IT09YzsrK3opYVt6XS5hcHBseSh2KTtyZXR1cm4gdGhpc30sZ2V0Um9vdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSx1bmNhY2hlQ2xpcDpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9hY3Rpb25zO2E9YS51dWlkO3ZhciBlPXRoaXMuX2FjdGlvbnNCeUNsaXAsZz1lW2FdO2lmKHZvaWQgMCE9PWcpe2c9Zy5rbm93bkFjdGlvbnM7Zm9yKHZhciB0PTAsdj1nLmxlbmd0aDt0IT09djsrK3Qpe3ZhciB6PWdbdF07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbih6KTt2YXIgRT16Ll9jYWNoZUluZGV4LEY9Y1tjLmxlbmd0aC0xXTt6Ll9jYWNoZUluZGV4PW51bGw7ei5fYnlDbGlwQ2FjaGVJbmRleD1udWxsO0YuX2NhY2hlSW5kZXg9RTtjW0VdPUY7Yy5wb3AoKTt0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHopfWRlbGV0ZSBlW2FdfX0sdW5jYWNoZVJvb3Q6ZnVuY3Rpb24oYSl7YT0KYS51dWlkO3ZhciBjPXRoaXMuX2FjdGlvbnNCeUNsaXA7Zm9yKGcgaW4gYyl7dmFyIGU9Y1tnXS5hY3Rpb25CeVJvb3RbYV07dm9pZCAwIT09ZSYmKHRoaXMuX2RlYWN0aXZhdGVBY3Rpb24oZSksdGhpcy5fcmVtb3ZlSW5hY3RpdmVBY3Rpb24oZSkpfXZhciBnPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVthXTtpZih2b2lkIDAhPT1nKWZvcih2YXIgdCBpbiBnKWE9Z1t0XSxhLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGEpfSx1bmNhY2hlQWN0aW9uOmZ1bmN0aW9uKGEsYyl7YT10aGlzLmV4aXN0aW5nQWN0aW9uKGEsYyk7bnVsbCE9PWEmJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKGEpLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKGEpKX19KTtlaC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGVoKHZvaWQgMD09PXRoaXMudmFsdWUuY2xvbmU/dGhpcy52YWx1ZTp0aGlzLnZhbHVlLmNsb25lKCkpfTt3aS5wcm90b3R5cGU9Ck9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShTZC5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp3aSxpc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyOiEwLGNvcHk6ZnVuY3Rpb24oYSl7U2QucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMubWVzaFBlckF0dHJpYnV0ZT1hLm1lc2hQZXJBdHRyaWJ1dGU7cmV0dXJuIHRoaXN9fSk7T2JqZWN0LmFzc2lnbihkay5wcm90b3R5cGUse2xpbmVQcmVjaXNpb246MSxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLnJheS5zZXQoYSxjKX0sc2V0RnJvbUNhbWVyYTpmdW5jdGlvbihhLGMpe2MmJmMuaXNQZXJzcGVjdGl2ZUNhbWVyYT8odGhpcy5yYXkub3JpZ2luLnNldEZyb21NYXRyaXhQb3NpdGlvbihjLm1hdHJpeFdvcmxkKSx0aGlzLnJheS5kaXJlY3Rpb24uc2V0KGEueCxhLnksLjUpLnVucHJvamVjdChjKS5zdWIodGhpcy5yYXkub3JpZ2luKS5ub3JtYWxpemUoKSx0aGlzLmNhbWVyYT1jKTpjJiZjLmlzT3J0aG9ncmFwaGljQ2FtZXJhPwoodGhpcy5yYXkub3JpZ2luLnNldChhLngsYS55LChjLm5lYXIrYy5mYXIpLyhjLm5lYXItYy5mYXIpKS51bnByb2plY3QoYyksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCgwLDAsLTEpLnRyYW5zZm9ybURpcmVjdGlvbihjLm1hdHJpeFdvcmxkKSx0aGlzLmNhbWVyYT1jKTpjb25zb2xlLmVycm9yKCJUSFJFRS5SYXljYXN0ZXI6IFVuc3VwcG9ydGVkIGNhbWVyYSB0eXBlLiIpfSxpbnRlcnNlY3RPYmplY3Q6ZnVuY3Rpb24oYSxjLGUpe2U9ZXx8W107eGkoYSx0aGlzLGUsYyk7ZS5zb3J0KGVrKTtyZXR1cm4gZX0saW50ZXJzZWN0T2JqZWN0czpmdW5jdGlvbihhLGMsZSl7ZT1lfHxbXTtpZighMT09PUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUmF5Y2FzdGVyLmludGVyc2VjdE9iamVjdHM6IG9iamVjdHMgaXMgbm90IGFuIEFycmF5LiIpLGU7Zm9yKHZhciBnPTAsdD1hLmxlbmd0aDtnPHQ7ZysrKXhpKGFbZ10sdGhpcyxlLGMpO2Uuc29ydChlayk7cmV0dXJuIGV9fSk7Ck9iamVjdC5hc3NpZ24oZmsucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMucmFkaXVzPWE7dGhpcy5waGk9Yzt0aGlzLnRoZXRhPWU7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMucmFkaXVzPWEucmFkaXVzO3RoaXMucGhpPWEucGhpO3RoaXMudGhldGE9YS50aGV0YTtyZXR1cm4gdGhpc30sbWFrZVNhZmU6ZnVuY3Rpb24oKXt0aGlzLnBoaT1NYXRoLm1heCgxRS02LE1hdGgubWluKE1hdGguUEktMUUtNix0aGlzLnBoaSkpO3JldHVybiB0aGlzfSxzZXRGcm9tVmVjdG9yMzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKGEueCxhLnksYS56KX0sc2V0RnJvbUNhcnRlc2lhbkNvb3JkczpmdW5jdGlvbihhLGMsZSl7dGhpcy5yYWRpdXM9TWF0aC5zcXJ0KGEqYStjKmMrZSplKTswPT09dGhpcy5yYWRpdXM/dGhpcy5waGk9CnRoaXMudGhldGE9MDoodGhpcy50aGV0YT1NYXRoLmF0YW4yKGEsZSksdGhpcy5waGk9TWF0aC5hY29zKGhiLmNsYW1wKGMvdGhpcy5yYWRpdXMsLTEsMSkpKTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKGdrLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnJhZGl1cz1hO3RoaXMudGhldGE9Yzt0aGlzLnk9ZTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5yYWRpdXM9YS5yYWRpdXM7dGhpcy50aGV0YT1hLnRoZXRhO3RoaXMueT1hLnk7cmV0dXJuIHRoaXN9LHNldEZyb21WZWN0b3IzOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21DYXJ0ZXNpYW5Db29yZHMoYS54LGEueSxhLnopfSxzZXRGcm9tQ2FydGVzaWFuQ29vcmRzOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnJhZGl1cz1NYXRoLnNxcnQoYSphK2UqZSk7dGhpcy50aGV0YT1NYXRoLmF0YW4yKGEsCmUpO3RoaXMueT1jO3JldHVybiB0aGlzfX0pO3ZhciBIaz1uZXcgZjtPYmplY3QuYXNzaWduKHlpLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5taW4uY29weShhKTt0aGlzLm1heC5jb3B5KGMpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe3RoaXMubWFrZUVtcHR5KCk7Zm9yKHZhciBjPTAsZT1hLmxlbmd0aDtjPGU7YysrKXRoaXMuZXhwYW5kQnlQb2ludChhW2NdKTtyZXR1cm4gdGhpc30sc2V0RnJvbUNlbnRlckFuZFNpemU6ZnVuY3Rpb24oYSxjKXtjPUhrLmNvcHkoYykubXVsdGlwbHlTY2FsYXIoLjUpO3RoaXMubWluLmNvcHkoYSkuc3ViKGMpO3RoaXMubWF4LmNvcHkoYSkuYWRkKGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm1pbi5jb3B5KGEubWluKTt0aGlzLm1heC5jb3B5KGEubWF4KTtyZXR1cm4gdGhpc30sCm1ha2VFbXB0eTpmdW5jdGlvbigpe3RoaXMubWluLng9dGhpcy5taW4ueT1JbmZpbml0eTt0aGlzLm1heC54PXRoaXMubWF4Lnk9LUluZmluaXR5O3JldHVybiB0aGlzfSxpc0VtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fSxnZXRDZW50ZXI6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBmKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwKTphLmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX0sZ2V0U2l6ZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZ2V0U2l6ZSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBmKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwKTphLnN1YlZlY3RvcnModGhpcy5tYXgsCnRoaXMubWluKX0sZXhwYW5kQnlQb2ludDpmdW5jdGlvbihhKXt0aGlzLm1pbi5taW4oYSk7dGhpcy5tYXgubWF4KGEpO3JldHVybiB0aGlzfSxleHBhbmRCeVZlY3RvcjpmdW5jdGlvbihhKXt0aGlzLm1pbi5zdWIoYSk7dGhpcy5tYXguYWRkKGEpO3JldHVybiB0aGlzfSxleHBhbmRCeVNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLm1pbi5hZGRTY2FsYXIoLWEpO3RoaXMubWF4LmFkZFNjYWxhcihhKTtyZXR1cm4gdGhpc30sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gYS54PHRoaXMubWluLnh8fGEueD50aGlzLm1heC54fHxhLnk8dGhpcy5taW4ueXx8YS55PnRoaXMubWF4Lnk/ITE6ITB9LGNvbnRhaW5zQm94OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1pbi54PD1hLm1pbi54JiZhLm1heC54PD10aGlzLm1heC54JiZ0aGlzLm1pbi55PD1hLm1pbi55JiZhLm1heC55PD10aGlzLm1heC55fSxnZXRQYXJhbWV0ZXI6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZ2V0UGFyYW1ldGVyKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLApjPW5ldyBmKTtyZXR1cm4gYy5zZXQoKGEueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwoYS55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpKX0saW50ZXJzZWN0c0JveDpmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXgueDx0aGlzLm1pbi54fHxhLm1pbi54PnRoaXMubWF4Lnh8fGEubWF4Lnk8dGhpcy5taW4ueXx8YS5taW4ueT50aGlzLm1heC55PyExOiEwfSxjbGFtcFBvaW50OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmNsYW1wUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgZik7cmV0dXJuIGMuY29weShhKS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCl9LGRpc3RhbmNlVG9Qb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gSGsuY29weShhKS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCkuc3ViKGEpLmxlbmd0aCgpfSxpbnRlcnNlY3Q6ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWF4KGEubWluKTsKdGhpcy5tYXgubWluKGEubWF4KTtyZXR1cm4gdGhpc30sdW5pb246ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEubWluKTt0aGlzLm1heC5tYXgoYS5tYXgpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSl7dGhpcy5taW4uYWRkKGEpO3RoaXMubWF4LmFkZChhKTtyZXR1cm4gdGhpc30sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLm1pbi5lcXVhbHModGhpcy5taW4pJiZhLm1heC5lcXVhbHModGhpcy5tYXgpfX0pO3ZhciBJaz1uZXcgayxDaD1uZXcgaztPYmplY3QuYXNzaWduKHppLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5zdGFydC5jb3B5KGEpO3RoaXMuZW5kLmNvcHkoYyk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuc3RhcnQuY29weShhLnN0YXJ0KTt0aGlzLmVuZC5jb3B5KGEuZW5kKTtyZXR1cm4gdGhpc30sZ2V0Q2VudGVyOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5MaW5lMzogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5hZGRWZWN0b3JzKHRoaXMuc3RhcnQsdGhpcy5lbmQpLm11bHRpcGx5U2NhbGFyKC41KX0sZGVsdGE6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuTGluZTM6IC5kZWx0YSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpfSxkaXN0YW5jZVNxOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5lbmQpfSxkaXN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0LmRpc3RhbmNlVG8odGhpcy5lbmQpfSxhdDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuYXQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz0KbmV3IGspO3JldHVybiB0aGlzLmRlbHRhKGMpLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnN0YXJ0KX0sY2xvc2VzdFBvaW50VG9Qb2ludFBhcmFtZXRlcjpmdW5jdGlvbihhLGMpe0lrLnN1YlZlY3RvcnMoYSx0aGlzLnN0YXJ0KTtDaC5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpO2E9Q2guZG90KElrKS9DaC5kb3QoQ2gpO2MmJihhPWhiLmNsYW1wKGEsMCwxKSk7cmV0dXJuIGF9LGNsb3Nlc3RQb2ludFRvUG9pbnQ6ZnVuY3Rpb24oYSxjLGUpe2E9dGhpcy5jbG9zZXN0UG9pbnRUb1BvaW50UGFyYW1ldGVyKGEsYyk7dm9pZCAwPT09ZSYmKGNvbnNvbGUud2FybigiVEhSRUUuTGluZTM6IC5jbG9zZXN0UG9pbnRUb1BvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGU9bmV3IGspO3JldHVybiB0aGlzLmRlbHRhKGUpLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnN0YXJ0KX0sYXBwbHlNYXRyaXg0OmZ1bmN0aW9uKGEpe3RoaXMuc3RhcnQuYXBwbHlNYXRyaXg0KGEpOwp0aGlzLmVuZC5hcHBseU1hdHJpeDQoYSk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydC5lcXVhbHModGhpcy5zdGFydCkmJmEuZW5kLmVxdWFscyh0aGlzLmVuZCl9fSk7ZGcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpO2RnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1kZztkZy5wcm90b3R5cGUuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Q9ITA7dmFyIGFkPW5ldyBrLHFkPW5ldyBrLFdpPW5ldyByLHJuPVsiYSIsImIiLCJjIl07ZWcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSWIucHJvdG90eXBlKTtlZy5wcm90b3R5cGUuY29uc3RydWN0b3I9ZWc7ZWcucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMub2JqZWN0LnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTtXaS5nZXROb3JtYWxNYXRyaXgodGhpcy5vYmplY3QubWF0cml4V29ybGQpO3ZhciBhPXRoaXMub2JqZWN0Lm1hdHJpeFdvcmxkLGM9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLAplPXRoaXMub2JqZWN0Lmdlb21ldHJ5O2lmKGUmJmUuaXNHZW9tZXRyeSlmb3IodmFyIGc9ZS52ZXJ0aWNlcyx0PWUuZmFjZXMsdj1lPTAsej10Lmxlbmd0aDt2PHo7disrKWZvcih2YXIgRT10W3ZdLEY9MCxJPUUudmVydGV4Tm9ybWFscy5sZW5ndGg7RjxJO0YrKyl7dmFyIE09RS52ZXJ0ZXhOb3JtYWxzW0ZdO2FkLmNvcHkoZ1tFW3JuW0ZdXV0pLmFwcGx5TWF0cml4NChhKTtxZC5jb3B5KE0pLmFwcGx5TWF0cml4MyhXaSkubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKS5hZGQoYWQpO2Muc2V0WFlaKGUsYWQueCxhZC55LGFkLnopO2UrPTE7Yy5zZXRYWVooZSxxZC54LHFkLnkscWQueik7ZSs9MX1lbHNlIGlmKGUmJmUuaXNCdWZmZXJHZW9tZXRyeSlmb3IoZz1lLmF0dHJpYnV0ZXMucG9zaXRpb24sdD1lLmF0dHJpYnV0ZXMubm9ybWFsLEY9ZT0wLEk9Zy5jb3VudDtGPEk7RisrKWFkLnNldChnLmdldFgoRiksZy5nZXRZKEYpLGcuZ2V0WihGKSkuYXBwbHlNYXRyaXg0KGEpLApxZC5zZXQodC5nZXRYKEYpLHQuZ2V0WShGKSx0LmdldFooRikpLHFkLmFwcGx5TWF0cml4MyhXaSkubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKS5hZGQoYWQpLGMuc2V0WFlaKGUsYWQueCxhZC55LGFkLnopLGUrPTEsYy5zZXRYWVooZSxxZC54LHFkLnkscWQueiksZSs9MTtjLm5lZWRzVXBkYXRlPSEwfTt2YXIgSms9bmV3IGs7WmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpO1plLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1aZTtaZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuY29uZS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jb25lLm1hdGVyaWFsLmRpc3Bvc2UoKX07WmUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTt2YXIgYT10aGlzLmxpZ2h0LmRpc3RhbmNlP3RoaXMubGlnaHQuZGlzdGFuY2U6MUUzLGM9YSpNYXRoLnRhbih0aGlzLmxpZ2h0LmFuZ2xlKTsKdGhpcy5jb25lLnNjYWxlLnNldChjLGMsYSk7Smsuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubGlnaHQudGFyZ2V0Lm1hdHJpeFdvcmxkKTt0aGlzLmNvbmUubG9va0F0KEprKTt2b2lkIDAhPT10aGlzLmNvbG9yP3RoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik6dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9O3ZhciBLZD1uZXcgayxEaD1uZXcgcSxYaT1uZXcgcTskZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpOyRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj0kZTskZS5wcm90b3R5cGUudXBkYXRlTWF0cml4V29ybGQ9ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5ib25lcyxlPXRoaXMuZ2VvbWV0cnksZz1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKTtYaS5nZXRJbnZlcnNlKHRoaXMucm9vdC5tYXRyaXhXb3JsZCk7Zm9yKHZhciB0PTAsdj0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgej1jW3RdO3oucGFyZW50JiYKei5wYXJlbnQuaXNCb25lJiYoRGgubXVsdGlwbHlNYXRyaWNlcyhYaSx6Lm1hdHJpeFdvcmxkKSxLZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGgpLGcuc2V0WFlaKHYsS2QueCxLZC55LEtkLnopLERoLm11bHRpcGx5TWF0cmljZXMoWGksei5wYXJlbnQubWF0cml4V29ybGQpLEtkLnNldEZyb21NYXRyaXhQb3NpdGlvbihEaCksZy5zZXRYWVoodisxLEtkLngsS2QueSxLZC56KSx2Kz0yKX1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKS5uZWVkc1VwZGF0ZT0hMDtBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSl9O2FmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSk7YWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWFmO2FmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9O2FmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLmNvbG9yPwp0aGlzLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKTp0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9O2JmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFhiLnByb3RvdHlwZSk7YmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJmO2JmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLnNjYWxlLnNldCguNSp0aGlzLmxpZ2h0LndpZHRoLC41KnRoaXMubGlnaHQuaGVpZ2h0LDEpO2lmKHZvaWQgMCE9PXRoaXMuY29sb3IpdGhpcy5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvciksdGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik7ZWxzZXt0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcikubXVsdGlwbHlTY2FsYXIodGhpcy5saWdodC5pbnRlbnNpdHkpO3ZhciBhPXRoaXMubWF0ZXJpYWwuY29sb3IsYz1NYXRoLm1heChhLnIsYS5nLGEuYik7MTxjJiZhLm11bHRpcGx5U2NhbGFyKDEvCmMpO3RoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLm1hdGVyaWFsLmNvbG9yKX19O2JmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5kaXNwb3NlKCl9O3ZhciBzbj1uZXcgayxLaz1uZXcgSCxMaz1uZXcgSDtjZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSk7Y2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPWNmO2NmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5jaGlsZHJlblswXS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5kaXNwb3NlKCl9O2NmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoaWxkcmVuWzBdO2lmKHZvaWQgMCE9PXRoaXMuY29sb3IpdGhpcy5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik7CmVsc2V7dmFyIGM9YS5nZW9tZXRyeS5nZXRBdHRyaWJ1dGUoImNvbG9yIik7S2suY29weSh0aGlzLmxpZ2h0LmNvbG9yKTtMay5jb3B5KHRoaXMubGlnaHQuZ3JvdW5kQ29sb3IpO2Zvcih2YXIgZT0wLGc9Yy5jb3VudDtlPGc7ZSsrKXt2YXIgdD1lPGcvMj9LazpMaztjLnNldFhZWihlLHQucix0LmcsdC5iKX1jLm5lZWRzVXBkYXRlPSEwfWEubG9va0F0KHNuLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKS5uZWdhdGUoKSl9O2RmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSk7ZGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWRmO2RmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9O2RmLnByb3RvdHlwZS5vbkJlZm9yZVJlbmRlcj1mdW5jdGlvbigpe3RoaXMucG9zaXRpb24uY29weSh0aGlzLmxpZ2h0UHJvYmUucG9zaXRpb24pO3RoaXMuc2NhbGUuc2V0KDEsCjEsMSkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKTt0aGlzLm1hdGVyaWFsLnVuaWZvcm1zLmludGVuc2l0eS52YWx1ZT10aGlzLmxpZ2h0UHJvYmUuaW50ZW5zaXR5fTtmaC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmZoLGNvcHk6ZnVuY3Rpb24oYSl7SWIucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ2VvbWV0cnkuY29weShhLmdlb21ldHJ5KTt0aGlzLm1hdGVyaWFsLmNvcHkoYS5tYXRlcmlhbCk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX0pO2doLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSk7Z2gucHJvdG90eXBlLmNvbnN0cnVjdG9yPWdoO2VmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFhiLnByb3RvdHlwZSk7ZWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWVmO2VmLnByb3RvdHlwZS51cGRhdGU9CmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShWLGVhLGRhLHJhKXtkYT0oZWEtVikvZGE7VS5zZXRYWVooRiwwLDAsMCk7SSsrO2ZvcihNPVY7TTxlYTtNKz1kYSlQPUYrSSxVLnNldFhZWihQLE1hdGguc2luKE0pKmUsMCxNYXRoLmNvcyhNKSplKSxVLnNldFhZWihQKzEsTWF0aC5zaW4oTWF0aC5taW4oTStkYSxlYSkpKmUsMCxNYXRoLmNvcyhNYXRoLm1pbihNK2RhLGVhKSkqZSksVS5zZXRYWVooUCsyLDAsMCwwKSxJKz0zO1EuYWRkR3JvdXAoRixJLHJhKTtGKz1JO0k9MH12YXIgYz10aGlzLmF1ZGlvLGU9dGhpcy5yYW5nZSxnPXRoaXMuZGl2aXNpb25zSW5uZXJBbmdsZSx0PXRoaXMuZGl2aXNpb25zT3V0ZXJBbmdsZSx2PWhiLmRlZ1RvUmFkKGMucGFubmVyLmNvbmVJbm5lckFuZ2xlKTtjPWhiLmRlZ1RvUmFkKGMucGFubmVyLmNvbmVPdXRlckFuZ2xlKTt2YXIgej12LzIsRT1jLzIsRj0wLEk9MCxNLFAsUT10aGlzLmdlb21ldHJ5LFU9US5hdHRyaWJ1dGVzLnBvc2l0aW9uO1EuY2xlYXJHcm91cHMoKTsKYSgtRSwteix0LDApO2EoLXoseixnLDEpO2EoeixFLHQsMCk7VS5uZWVkc1VwZGF0ZT0hMDt2PT09YyYmKHRoaXMubWF0ZXJpYWxbMF0udmlzaWJsZT0hMSl9O2VmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbFswXS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbFsxXS5kaXNwb3NlKCl9O3ZhciByZz1uZXcgayxFaD1uZXcgayxNaz1uZXcgcjtmZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2ZnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1mZztmZy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5vYmplY3QudXBkYXRlTWF0cml4V29ybGQoITApO01rLmdldE5vcm1hbE1hdHJpeCh0aGlzLm9iamVjdC5tYXRyaXhXb3JsZCk7dmFyIGE9dGhpcy5vYmplY3QubWF0cml4V29ybGQsYz10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm9iamVjdC5nZW9tZXRyeSxnPQplLnZlcnRpY2VzO2U9ZS5mYWNlcztmb3IodmFyIHQ9MCx2PTAsej1lLmxlbmd0aDt2PHo7disrKXt2YXIgRT1lW3ZdLEY9RS5ub3JtYWw7cmcuY29weShnW0UuYV0pLmFkZChnW0UuYl0pLmFkZChnW0UuY10pLmRpdmlkZVNjYWxhcigzKS5hcHBseU1hdHJpeDQoYSk7RWguY29weShGKS5hcHBseU1hdHJpeDMoTWspLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHRoaXMuc2l6ZSkuYWRkKHJnKTtjLnNldFhZWih0LHJnLngscmcueSxyZy56KTt0Kz0xO2Muc2V0WFlaKHQsRWgueCxFaC55LEVoLnopO3QrPTF9Yy5uZWVkc1VwZGF0ZT0hMH07dmFyIE5rPW5ldyBrLEZoPW5ldyBrLE9rPW5ldyBrO2ZmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKTtmZi5wcm90b3R5cGUuY29uc3RydWN0b3I9ZmY7ZmYucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmxpZ2h0UGxhbmUuZ2VvbWV0cnkuZGlzcG9zZSgpO3RoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5kaXNwb3NlKCk7CnRoaXMudGFyZ2V0TGluZS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmRpc3Bvc2UoKX07ZmYucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe05rLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKTtGaC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpO09rLnN1YlZlY3RvcnMoRmgsTmspO3RoaXMubGlnaHRQbGFuZS5sb29rQXQoRmgpO3ZvaWQgMCE9PXRoaXMuY29sb3I/KHRoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvciksdGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKSk6KHRoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5jb2xvci5jb3B5KHRoaXMubGlnaHQuY29sb3IpLHRoaXMudGFyZ2V0TGluZS5tYXRlcmlhbC5jb2xvci5jb3B5KHRoaXMubGlnaHQuY29sb3IpKTt0aGlzLnRhcmdldExpbmUubG9va0F0KEZoKTsKdGhpcy50YXJnZXRMaW5lLnNjYWxlLno9T2subGVuZ3RoKCl9O3ZhciBoaD1uZXcgayxQYj1uZXcgemI7Z2cucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSWIucHJvdG90eXBlKTtnZy5wcm90b3R5cGUuY29uc3RydWN0b3I9Z2c7Z2cucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2VvbWV0cnksYz10aGlzLnBvaW50TWFwO1BiLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5jYW1lcmEucHJvamVjdGlvbk1hdHJpeEludmVyc2UpO1FiKCJjIixjLGEsUGIsMCwwLC0xKTtRYigidCIsYyxhLFBiLDAsMCwxKTtRYigibjEiLGMsYSxQYiwtMSwtMSwtMSk7UWIoIm4yIixjLGEsUGIsMSwtMSwtMSk7UWIoIm4zIixjLGEsUGIsLTEsMSwtMSk7UWIoIm40IixjLGEsUGIsMSwxLC0xKTtRYigiZjEiLGMsYSxQYiwtMSwtMSwxKTtRYigiZjIiLGMsYSxQYiwxLC0xLDEpO1FiKCJmMyIsYyxhLFBiLC0xLDEsMSk7UWIoImY0IixjLGEsUGIsMSwxLDEpO1FiKCJ1MSIsCmMsYSxQYiwuNywxLjEsLTEpO1FiKCJ1MiIsYyxhLFBiLC0uNywxLjEsLTEpO1FiKCJ1MyIsYyxhLFBiLDAsMiwtMSk7UWIoImNmMSIsYyxhLFBiLC0xLDAsMSk7UWIoImNmMiIsYyxhLFBiLDEsMCwxKTtRYigiY2YzIixjLGEsUGIsMCwtMSwxKTtRYigiY2Y0IixjLGEsUGIsMCwxLDEpO1FiKCJjbjEiLGMsYSxQYiwtMSwwLC0xKTtRYigiY24yIixjLGEsUGIsMSwwLC0xKTtRYigiY24zIixjLGEsUGIsMCwtMSwtMSk7UWIoImNuNCIsYyxhLFBiLDAsMSwtMSk7YS5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITB9O3ZhciBHaD1uZXcgeDtqZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2pkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qZDtqZC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGEpe3ZvaWQgMCE9PWEmJmNvbnNvbGUud2FybigiVEhSRUUuQm94SGVscGVyOiAudXBkYXRlKCkgaGFzIG5vIGxvbmdlciBhcmd1bWVudHMuIik7dm9pZCAwIT09CnRoaXMub2JqZWN0JiZHaC5zZXRGcm9tT2JqZWN0KHRoaXMub2JqZWN0KTtpZighR2guaXNFbXB0eSgpKXthPUdoLm1pbjt2YXIgYz1HaC5tYXgsZT10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24sZz1lLmFycmF5O2dbMF09Yy54O2dbMV09Yy55O2dbMl09Yy56O2dbM109YS54O2dbNF09Yy55O2dbNV09Yy56O2dbNl09YS54O2dbN109YS55O2dbOF09Yy56O2dbOV09Yy54O2dbMTBdPWEueTtnWzExXT1jLno7Z1sxMl09Yy54O2dbMTNdPWMueTtnWzE0XT1hLno7Z1sxNV09YS54O2dbMTZdPWMueTtnWzE3XT1hLno7Z1sxOF09YS54O2dbMTldPWEueTtnWzIwXT1hLno7Z1syMV09Yy54O2dbMjJdPWEueTtnWzIzXT1hLno7ZS5uZWVkc1VwZGF0ZT0hMDt0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfX07amQucHJvdG90eXBlLnNldEZyb21PYmplY3Q9ZnVuY3Rpb24oYSl7dGhpcy5vYmplY3Q9YTt0aGlzLnVwZGF0ZSgpO3JldHVybiB0aGlzfTtqZC5wcm90b3R5cGUuY29weT0KZnVuY3Rpb24oYSl7SWIucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMub2JqZWN0PWEub2JqZWN0O3JldHVybiB0aGlzfTtqZC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9O2hnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSk7aGcucHJvdG90eXBlLmNvbnN0cnVjdG9yPWhnO2hnLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZD1mdW5jdGlvbihhKXt2YXIgYz10aGlzLmJveDtjLmlzRW1wdHkoKXx8KGMuZ2V0Q2VudGVyKHRoaXMucG9zaXRpb24pLGMuZ2V0U2l6ZSh0aGlzLnNjYWxlKSx0aGlzLnNjYWxlLm11bHRpcGx5U2NhbGFyKC41KSxBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSkpfTtpZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpO2lnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1pZztpZy5wcm90b3R5cGUudXBkYXRlTWF0cml4V29ybGQ9CmZ1bmN0aW9uKGEpe3ZhciBjPS10aGlzLnBsYW5lLmNvbnN0YW50OzFFLTg+TWF0aC5hYnMoYykmJihjPTFFLTgpO3RoaXMuc2NhbGUuc2V0KC41KnRoaXMuc2l6ZSwuNSp0aGlzLnNpemUsYyk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5zaWRlPTA+Yz8xOjA7dGhpcy5sb29rQXQodGhpcy5wbGFuZS5ub3JtYWwpO0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcyxhKX07dmFyIFBrPW5ldyBrLGloLEFpO2tkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKTtrZC5wcm90b3R5cGUuY29uc3RydWN0b3I9a2Q7a2QucHJvdG90eXBlLnNldERpcmVjdGlvbj1mdW5jdGlvbihhKXsuOTk5OTk8YS55P3RoaXMucXVhdGVybmlvbi5zZXQoMCwwLDAsMSk6LS45OTk5OT5hLnk/dGhpcy5xdWF0ZXJuaW9uLnNldCgxLDAsMCwwKTooUGsuc2V0KGEueiwwLC1hLngpLm5vcm1hbGl6ZSgpLHRoaXMucXVhdGVybmlvbi5zZXRGcm9tQXhpc0FuZ2xlKFBrLE1hdGguYWNvcyhhLnkpKSl9OwprZC5wcm90b3R5cGUuc2V0TGVuZ3RoPWZ1bmN0aW9uKGEsYyxlKXt2b2lkIDA9PT1jJiYoYz0uMiphKTt2b2lkIDA9PT1lJiYoZT0uMipjKTt0aGlzLmxpbmUuc2NhbGUuc2V0KDEsTWF0aC5tYXgoMCxhLWMpLDEpO3RoaXMubGluZS51cGRhdGVNYXRyaXgoKTt0aGlzLmNvbmUuc2NhbGUuc2V0KGUsYyxlKTt0aGlzLmNvbmUucG9zaXRpb24ueT1hO3RoaXMuY29uZS51cGRhdGVNYXRyaXgoKX07a2QucHJvdG90eXBlLnNldENvbG9yPWZ1bmN0aW9uKGEpe3RoaXMubGluZS5tYXRlcmlhbC5jb2xvci5zZXQoYSk7dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLnNldChhKX07a2QucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7QS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSwhMSk7dGhpcy5saW5lLmNvcHkoYS5saW5lKTt0aGlzLmNvbmUuY29weShhLmNvbmUpO3JldHVybiB0aGlzfTtrZC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9OwpqZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2pnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qZztaYS5jcmVhdGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLmxvZygiVEhSRUUuQ3VydmUuY3JlYXRlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCIpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EucHJvdG90eXBlLmdldFBvaW50PWM7cmV0dXJuIGF9O09iamVjdC5hc3NpZ24oaWQucHJvdG90eXBlLHtjcmVhdGVQb2ludHNHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlUGF0aDogLmNyZWF0ZVBvaW50c0dlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5HZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoIHBvaW50cyApIGluc3RlYWQuIik7YT10aGlzLmdldFBvaW50cyhhKTtyZXR1cm4gdGhpcy5jcmVhdGVHZW9tZXRyeShhKX0sY3JlYXRlU3BhY2VkUG9pbnRzR2VvbWV0cnk6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5DdXJ2ZVBhdGg6IC5jcmVhdGVTcGFjZWRQb2ludHNHZW9tZXRyeSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKCBwb2ludHMgKSBpbnN0ZWFkLiIpOwphPXRoaXMuZ2V0U3BhY2VkUG9pbnRzKGEpO3JldHVybiB0aGlzLmNyZWF0ZUdlb21ldHJ5KGEpfSxjcmVhdGVHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlUGF0aDogLmNyZWF0ZUdlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5HZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoIHBvaW50cyApIGluc3RlYWQuIik7Zm9yKHZhciBjPW5ldyB4YSxlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD1hW2VdO2MudmVydGljZXMucHVzaChuZXcgayh0LngsdC55LHQuenx8MCkpfXJldHVybiBjfX0pO09iamVjdC5hc3NpZ24oSWMucHJvdG90eXBlLHtmcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUGF0aDogLmZyb21Qb2ludHMoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUG9pbnRzKCkuIik7dGhpcy5zZXRGcm9tUG9pbnRzKGEpfX0pO2lrLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJjLnByb3RvdHlwZSk7CmprLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJjLnByb3RvdHlwZSk7QmkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoYmMucHJvdG90eXBlKTtPYmplY3QuYXNzaWduKEJpLnByb3RvdHlwZSx7aW5pdEZyb21BcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNwbGluZTogLmluaXRGcm9tQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnZXRDb250cm9sUG9pbnRzQXJyYXk6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TcGxpbmU6IC5nZXRDb250cm9sUG9pbnRzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxyZXBhcmFtZXRyaXplQnlBcmNMZW5ndGg6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TcGxpbmU6IC5yZXBhcmFtZXRyaXplQnlBcmNMZW5ndGgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO2ZoLnByb3RvdHlwZS5zZXRDb2xvcnM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5HcmlkSGVscGVyOiBzZXRDb2xvcnMoKSBoYXMgYmVlbiBkZXByZWNhdGVkLCBwYXNzIHRoZW0gaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuIil9OwokZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tlbGV0b25IZWxwZXI6IHVwZGF0ZSgpIG5vIGxvbmdlciBuZWVkcyB0byBiZSBjYWxsZWQuIil9O09iamVjdC5hc3NpZ24oRGIucHJvdG90eXBlLHtleHRyYWN0VXJsQmFzZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxvYWRlcjogLmV4dHJhY3RVcmxCYXNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkxvYWRlclV0aWxzLmV4dHJhY3RVcmxCYXNlKCkgaW5zdGVhZC4iKTtyZXR1cm4gVWkuZXh0cmFjdFVybEJhc2UoYSl9fSk7T2JqZWN0LmFzc2lnbihiaC5wcm90b3R5cGUse3NldFRleHR1cmVQYXRoOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiAuc2V0VGV4dHVyZVBhdGgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRSZXNvdXJjZVBhdGgoKS4iKTtyZXR1cm4gdGhpcy5zZXRSZXNvdXJjZVBhdGgoYSl9fSk7T2JqZWN0LmFzc2lnbih5aS5wcm90b3R5cGUsCntjZW50ZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIik7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKGEpfSxlbXB0eTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpO3JldHVybiB0aGlzLmlzRW1wdHkoKX0saXNJbnRlcnNlY3Rpb25Cb3g6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuaXNJbnRlcnNlY3Rpb25Cb3goKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzQm94KCkuIik7cmV0dXJuIHRoaXMuaW50ZXJzZWN0c0JveChhKX0sc2l6ZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDI6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpO3JldHVybiB0aGlzLmdldFNpemUoYSl9fSk7T2JqZWN0LmFzc2lnbih4LnByb3RvdHlwZSwKe2NlbnRlcjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5jZW50ZXIoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRDZW50ZXIoKS4iKTtyZXR1cm4gdGhpcy5nZXRDZW50ZXIoYSl9LGVtcHR5OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZW1wdHkoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pc0VtcHR5KCkuIik7cmV0dXJuIHRoaXMuaXNFbXB0eSgpfSxpc0ludGVyc2VjdGlvbkJveDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKTtyZXR1cm4gdGhpcy5pbnRlcnNlY3RzQm94KGEpfSxpc0ludGVyc2VjdGlvblNwaGVyZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKTtyZXR1cm4gdGhpcy5pbnRlcnNlY3RzU3BoZXJlKGEpfSwKc2l6ZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpO3JldHVybiB0aGlzLmdldFNpemUoYSl9fSk7emkucHJvdG90eXBlLmNlbnRlcj1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIik7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKGEpfTtPYmplY3QuYXNzaWduKGhiLHtyYW5kb20xNjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0aDogLnJhbmRvbTE2KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIE1hdGgucmFuZG9tKCkgaW5zdGVhZC4iKTtyZXR1cm4gTWF0aC5yYW5kb20oKX0sbmVhcmVzdFBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoOiAubmVhcmVzdFBvd2VyT2ZUd28oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mbG9vclBvd2VyT2ZUd28oKS4iKTsKcmV0dXJuIGhiLmZsb29yUG93ZXJPZlR3byhhKX0sbmV4dFBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoOiAubmV4dFBvd2VyT2ZUd28oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5jZWlsUG93ZXJPZlR3bygpLiIpO3JldHVybiBoYi5jZWlsUG93ZXJPZlR3byhhKX19KTtPYmplY3QuYXNzaWduKHIucHJvdG90eXBlLHtmbGF0dGVuVG9BcnJheU9mZnNldDpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy50b0FycmF5KGEsYyl9LG11bHRpcGx5VmVjdG9yMzpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDM6IC5tdWx0aXBseVZlY3RvcjMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKTtyZXR1cm4gYS5hcHBseU1hdHJpeDModGhpcyl9LAptdWx0aXBseVZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDM6IC5tdWx0aXBseVZlY3RvcjNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGFwcGx5VG9CdWZmZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuYXBwbHlUb0J1ZmZlcigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXguYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZSggYXR0cmlidXRlICkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5hcHBseVRvQnVmZmVyQXR0cmlidXRlKGEpfSxhcHBseVRvVmVjdG9yM0FycmF5OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO09iamVjdC5hc3NpZ24ocS5wcm90b3R5cGUse2V4dHJhY3RQb3NpdGlvbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5leHRyYWN0UG9zaXRpb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5jb3B5UG9zaXRpb24oKS4iKTsKcmV0dXJuIHRoaXMuY29weVBvc2l0aW9uKGEpfSxmbGF0dGVuVG9BcnJheU9mZnNldDpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy50b0FycmF5KGEsYyl9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0UG9zaXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVmVjdG9yMy5zZXRGcm9tTWF0cml4UG9zaXRpb24oIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuKG5ldyBrKS5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMyl9LHNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuc2V0Um90YXRpb25Gcm9tUXVhdGVybmlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKCkuIik7CnJldHVybiB0aGlzLm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKGEpfSxtdWx0aXBseVRvQXJyYXk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseVRvQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxtdWx0aXBseVZlY3RvcjM6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSxtdWx0aXBseVZlY3RvcjQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSxtdWx0aXBseVZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseVZlY3RvcjNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LApyb3RhdGVBeGlzOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZUF4aXMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVmVjdG9yMy50cmFuc2Zvcm1EaXJlY3Rpb24oIG1hdHJpeCApIGluc3RlYWQuIik7YS50cmFuc2Zvcm1EaXJlY3Rpb24odGhpcyl9LGNyb3NzVmVjdG9yOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmNyb3NzVmVjdG9yKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0scm90YXRlWDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVYKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0scm90YXRlWTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVZKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sCnJvdGF0ZVo6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWigpIGhhcyBiZWVuIHJlbW92ZWQuIil9LHJvdGF0ZUJ5QXhpczpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVCeUF4aXMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhcHBseVRvQnVmZmVyOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmFwcGx5VG9CdWZmZXIoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4LmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoIGF0dHJpYnV0ZSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZShhKX0sYXBwbHlUb1ZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbWFrZUZydXN0dW06ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKTsKcmV0dXJuIHRoaXMubWFrZVBlcnNwZWN0aXZlKGEsYyxnLGUsdCx2KX19KTtIYi5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25MaW5lPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUGxhbmU6IC5pc0ludGVyc2VjdGlvbkxpbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzTGluZSgpLiIpO3JldHVybiB0aGlzLmludGVyc2VjdHNMaW5lKGEpfTtoLnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGlzIG5vdyB2ZWN0b3IuYXBwbHlRdWF0ZXJuaW9uKCBxdWF0ZXJuaW9uICkgaW5zdGVhZC4iKTtyZXR1cm4gYS5hcHBseVF1YXRlcm5pb24odGhpcyl9O09iamVjdC5hc3NpZ24oRC5wcm90b3R5cGUse2lzSW50ZXJzZWN0aW9uQm94OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUmF5OiAuaXNJbnRlcnNlY3Rpb25Cb3goKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzQm94KCkuIik7CnJldHVybiB0aGlzLmludGVyc2VjdHNCb3goYSl9LGlzSW50ZXJzZWN0aW9uUGxhbmU6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblBsYW5lKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1BsYW5lKCkuIik7cmV0dXJuIHRoaXMuaW50ZXJzZWN0c1BsYW5lKGEpfSxpc0ludGVyc2VjdGlvblNwaGVyZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUoYSl9fSk7T2JqZWN0LmFzc2lnbihCLnByb3RvdHlwZSx7YXJlYTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5hcmVhKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0QXJlYSgpLiIpO3JldHVybiB0aGlzLmdldEFyZWEoKX0sYmFyeWNvb3JkRnJvbVBvaW50OmZ1bmN0aW9uKGEsCmMpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5iYXJ5Y29vcmRGcm9tUG9pbnQoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRCYXJ5Y29vcmQoKS4iKTtyZXR1cm4gdGhpcy5nZXRCYXJ5Y29vcmQoYSxjKX0sbWlkcG9pbnQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm1pZHBvaW50KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0TWlkcG9pbnQoKS4iKTtyZXR1cm4gdGhpcy5nZXRNaWRwb2ludChhKX0sbm9ybWFsOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5ub3JtYWwoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXROb3JtYWwoKS4iKTtyZXR1cm4gdGhpcy5nZXROb3JtYWwoYSl9LHBsYW5lOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5wbGFuZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldFBsYW5lKCkuIik7cmV0dXJuIHRoaXMuZ2V0UGxhbmUoYSl9fSk7T2JqZWN0LmFzc2lnbihCLAp7YmFyeWNvb3JkRnJvbVBvaW50OmZ1bmN0aW9uKGEsYyxlLGcsdCl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpO3JldHVybiBCLmdldEJhcnljb29yZChhLGMsZSxnLHQpfSxub3JtYWw6ZnVuY3Rpb24oYSxjLGUsZyl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpO3JldHVybiBCLmdldE5vcm1hbChhLGMsZSxnKX19KTtPYmplY3QuYXNzaWduKEVkLnByb3RvdHlwZSx7ZXh0cmFjdEFsbFBvaW50czpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cmFjdEFsbFBvaW50cygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuZXh0cmFjdFBvaW50cygpIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuZXh0cmFjdFBvaW50cyhhKX0sZXh0cnVkZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpOwpyZXR1cm4gbmV3IFdkKHRoaXMsYSl9LG1ha2VHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAubWFrZUdlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFNoYXBlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgWGQodGhpcyxhKX19KTtPYmplY3QuYXNzaWduKGYucHJvdG90eXBlLHtmcm9tQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3JldHVybiB0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxjLGUpfSxkaXN0YW5jZVRvTWFuaGF0dGFuOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmRpc3RhbmNlVG9NYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5EaXN0YW5jZVRvKCkuIik7cmV0dXJuIHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyhhKX0sCmxlbmd0aE1hbmhhdHRhbjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfX0pO09iamVjdC5hc3NpZ24oay5wcm90b3R5cGUse3NldEV1bGVyRnJvbVJvdGF0aW9uTWF0cml4OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVJvdGF0aW9uTWF0cml4KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEV1bGVyLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGluc3RlYWQuIil9LHNldEV1bGVyRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUXVhdGVybmlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFdWxlci5zZXRGcm9tUXVhdGVybmlvbigpIGluc3RlYWQuIil9LGdldFBvc2l0aW9uRnJvbU1hdHJpeDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRQb3NpdGlvbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4UG9zaXRpb24oKS4iKTsKcmV0dXJuIHRoaXMuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEpfSxnZXRTY2FsZUZyb21NYXRyaXg6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0U2NhbGVGcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFNjYWxlKCkuIik7cmV0dXJuIHRoaXMuc2V0RnJvbU1hdHJpeFNjYWxlKGEpfSxnZXRDb2x1bW5Gcm9tTWF0cml4OmZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0Q29sdW1uRnJvbU1hdHJpeCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnNldEZyb21NYXRyaXhDb2x1bW4oKS4iKTtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGMsYSl9LGFwcGx5UHJvamVjdGlvbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KGEpfSwKZnJvbUF0dHJpYnV0ZTpmdW5jdGlvbihhLGMsZSl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKTtyZXR1cm4gdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKGEsYyxlKX0sZGlzdGFuY2VUb01hbmhhdHRhbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8oYSl9LGxlbmd0aE1hbmhhdHRhbjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfX0pO09iamVjdC5hc3NpZ24ocC5wcm90b3R5cGUsCntmcm9tQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3JldHVybiB0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxjLGUpfSxsZW5ndGhNYW5oYXR0YW46ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKTtyZXR1cm4gdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX19KTtPYmplY3QuYXNzaWduKHhhLnByb3RvdHlwZSx7Y29tcHV0ZVRhbmdlbnRzOmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuR2VvbWV0cnk6IC5jb21wdXRlVGFuZ2VudHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxjb21wdXRlTGluZURpc3RhbmNlczpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkdlb21ldHJ5OiAuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuTGluZS5jb21wdXRlTGluZURpc3RhbmNlcygpIGluc3RlYWQuIil9fSk7Ck9iamVjdC5hc3NpZ24oQS5wcm90b3R5cGUse2dldENoaWxkQnlOYW1lOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5nZXRDaGlsZEJ5TmFtZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE9iamVjdEJ5TmFtZSgpLiIpO3JldHVybiB0aGlzLmdldE9iamVjdEJ5TmFtZShhKX0scmVuZGVyRGVwdGg6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAucmVuZGVyRGVwdGggaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5yZW5kZXJPcmRlciwgaW5zdGVhZC4iKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnRyYW5zbGF0ZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAudHJhbnNsYXRlT25BeGlzKCBheGlzLCBkaXN0YW5jZSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKGMsYSl9LGdldFdvcmxkUm90YXRpb246ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfX0pOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhBLnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmV1bGVyT3JkZXIgaXMgbm93IC5yb3RhdGlvbi5vcmRlci4iKTtyZXR1cm4gdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIik7dGhpcy5yb3RhdGlvbi5vcmRlcj1hfX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEJmLnByb3RvdHlwZSx7b2JqZWN0czp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MT0Q6IC5vYmplY3RzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmxldmVscy4iKTtyZXR1cm4gdGhpcy5sZXZlbHN9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShGZy5wcm90b3R5cGUsInVzZVZlcnRleFRleHR1cmUiLHtnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlNrZWxldG9uOiB1c2VWZXJ0ZXhUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuU2tlbGV0b246IHVzZVZlcnRleFRleHR1cmUgaGFzIGJlZW4gcmVtb3ZlZC4iKX19KTtDZi5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShaYS5wcm90b3R5cGUsCiJfX2FyY0xlbmd0aERpdmlzaW9ucyIse2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQ3VydmU6IC5fX2FyY0xlbmd0aERpdmlzaW9ucyBpcyBub3cgLmFyY0xlbmd0aERpdmlzaW9ucy4iKTtyZXR1cm4gdGhpcy5hcmNMZW5ndGhEaXZpc2lvbnN9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuX19hcmNMZW5ndGhEaXZpc2lvbnMgaXMgbm93IC5hcmNMZW5ndGhEaXZpc2lvbnMuIik7dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnM9YX19KTt2Yi5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKTt2b2lkIDAhPT1jJiYodGhpcy5maWxtR2F1Z2U9Yyk7dGhpcy5zZXRGb2NhbExlbmd0aChhKX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoS2IucHJvdG90eXBlLAp7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKTt0aGlzLnNoYWRvdy5jYW1lcmEuZm92PWF9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIik7dGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9YX19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKTt0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9YX19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKTsKdGhpcy5zaGFkb3cuY2FtZXJhLnRvcD1hfX0sc2hhZG93Q2FtZXJhQm90dG9tOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUJvdHRvbSBpcyBub3cgLnNoYWRvdy5jYW1lcmEuYm90dG9tLiIpO3RoaXMuc2hhZG93LmNhbWVyYS5ib3R0b209YX19LHNoYWRvd0NhbWVyYU5lYXI6e3NldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhTmVhciBpcyBub3cgLnNoYWRvdy5jYW1lcmEubmVhci4iKTt0aGlzLnNoYWRvdy5jYW1lcmEubmVhcj1hfX0sc2hhZG93Q2FtZXJhRmFyOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUZhciBpcyBub3cgLnNoYWRvdy5jYW1lcmEuZmFyLiIpO3RoaXMuc2hhZG93LmNhbWVyYS5mYXI9YX19LHNoYWRvd0NhbWVyYVZpc2libGU6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFWaXNpYmxlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuQ2FtZXJhSGVscGVyKCBsaWdodC5zaGFkb3cuY2FtZXJhICkgaW5zdGVhZC4iKX19LApzaGFkb3dCaWFzOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0JpYXMgaXMgbm93IC5zaGFkb3cuYmlhcy4iKTt0aGlzLnNoYWRvdy5iaWFzPWF9fSxzaGFkb3dEYXJrbmVzczp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0RhcmtuZXNzIGhhcyBiZWVuIHJlbW92ZWQuIil9fSxzaGFkb3dNYXBXaWR0aDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dNYXBXaWR0aCBpcyBub3cgLnNoYWRvdy5tYXBTaXplLndpZHRoLiIpO3RoaXMuc2hhZG93Lm1hcFNpemUud2lkdGg9YX19LHNoYWRvd01hcEhlaWdodDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dNYXBIZWlnaHQgaXMgbm93IC5zaGFkb3cubWFwU2l6ZS5oZWlnaHQuIik7dGhpcy5zaGFkb3cubWFwU2l6ZS5oZWlnaHQ9YX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUi5wcm90b3R5cGUsCntsZW5ndGg6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5hcnJheS5sZW5ndGh9fSxjb3B5SW5kaWNlc0FycmF5OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuY29weUluZGljZXNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9fSk7T2JqZWN0LmFzc2lnbih2YS5wcm90b3R5cGUse2FkZEluZGV4OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRJbmRleCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnNldEluZGV4KCkuIik7dGhpcy5zZXRJbmRleChhKX0sYWRkRHJhd0NhbGw6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGREcmF3Q2FsbCgpIG5vIGxvbmdlciBzdXBwb3J0cyBpbmRleE9mZnNldC4iKTsKY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpO3RoaXMuYWRkR3JvdXAoYSxjKX0sY2xlYXJEcmF3Q2FsbHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY2xlYXJEcmF3Q2FsbHMoKSBpcyBub3cgLmNsZWFyR3JvdXBzKCkuIik7dGhpcy5jbGVhckdyb3VwcygpfSxjb21wdXRlVGFuZ2VudHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZVRhbmdlbnRzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sY29tcHV0ZU9mZnNldHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHZhLnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmRyYXdjYWxscyBoYXMgYmVlbiByZW5hbWVkIHRvIC5ncm91cHMuIik7CnJldHVybiB0aGlzLmdyb3Vwc319LG9mZnNldHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKTtyZXR1cm4gdGhpcy5ncm91cHN9fX0pO09iamVjdC5hc3NpZ24oVGMucHJvdG90eXBlLHtnZXRBcnJheXM6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IC5nZXRBcnJheXMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhZGRTaGFwZUxpc3Q6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhZGRTaGFwZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTogLmFkZFNoYXBlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlaC5wcm90b3R5cGUsCntkeW5hbWljOntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlVuaWZvcm06IC5keW5hbWljIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBvYmplY3Qub25CZWZvcmVSZW5kZXIoKSBpbnN0ZWFkLiIpfX0sb25VcGRhdGU6e3ZhbHVlOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5Vbmlmb3JtOiAub25VcGRhdGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2Ugb2JqZWN0Lm9uQmVmb3JlUmVuZGVyKCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpc319fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUy5wcm90b3R5cGUse3dyYXBBcm91bmQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwQXJvdW5kIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwQXJvdW5kIGhhcyBiZWVuIHJlbW92ZWQuIil9fSxvdmVyZHJhdzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLm92ZXJkcmF3IGhhcyBiZWVuIHJlbW92ZWQuIil9LApzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHdyYXBSR0I6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwUkdCIGhhcyBiZWVuIHJlbW92ZWQuIik7cmV0dXJuIG5ldyBIfX0sc2hhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIik7dGhpcy5mbGF0U2hhZGluZz0xPT09YX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRGMucHJvdG90eXBlLHttZXRhbDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NZXNoUGhvbmdNYXRlcmlhbDogLm1ldGFsIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbCBpbnN0ZWFkLiIpOwpyZXR1cm4hMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NZXNoUGhvbmdNYXRlcmlhbDogLm1ldGFsIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbCBpbnN0ZWFkIil9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHFiLnByb3RvdHlwZSx7ZGVyaXZhdGl2ZXM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKTtyZXR1cm4gdGhpcy5leHRlbnNpb25zLmRlcml2YXRpdmVzfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS4gU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKTt0aGlzLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXM9YX19fSk7T2JqZWN0LmFzc2lnbihUaC5wcm90b3R5cGUsCntjbGVhclRhcmdldDpmdW5jdGlvbihhLGMsZSxnKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5jbGVhclRhcmdldCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0UmVuZGVyVGFyZ2V0KCkgYW5kIC5jbGVhcigpIGluc3RlYWQuIik7dGhpcy5zZXRSZW5kZXJUYXJnZXQoYSk7dGhpcy5jbGVhcihjLGUsZyl9LGFuaW1hdGU6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYW5pbWF0ZSgpIGlzIG5vdyAuc2V0QW5pbWF0aW9uTG9vcCgpLiIpO3RoaXMuc2V0QW5pbWF0aW9uTG9vcChhKX0sZ2V0Q3VycmVudFJlbmRlclRhcmdldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRSZW5kZXJUYXJnZXQoKSBpcyBub3cgLmdldFJlbmRlclRhcmdldCgpLiIpO3JldHVybiB0aGlzLmdldFJlbmRlclRhcmdldCgpfSxnZXRNYXhBbmlzb3Ryb3B5OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0TWF4QW5pc290cm9weSgpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKS4iKTsKcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKX0sZ2V0UHJlY2lzaW9uOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0UHJlY2lzaW9uKCkgaXMgbm93IC5jYXBhYmlsaXRpZXMucHJlY2lzaW9uLiIpO3JldHVybiB0aGlzLmNhcGFiaWxpdGllcy5wcmVjaXNpb259LHJlc2V0R0xTdGF0ZTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnJlc2V0R0xTdGF0ZSgpIGlzIG5vdyAuc3RhdGUucmVzZXQoKS4iKTtyZXR1cm4gdGhpcy5zdGF0ZS5yZXNldCgpfSxzdXBwb3J0c0Zsb2F0VGV4dHVyZXM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0Zsb2F0VGV4dHVyZXMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnT0VTX3RleHR1cmVfZmxvYXQnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0Iil9LApzdXBwb3J0c0hhbGZGbG9hdFRleHR1cmVzOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0JyApLiIpO3JldHVybiB0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iil9LHN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlczpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpfSxzdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQzpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJyApLiIpOwpyZXR1cm4gdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKX0sc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YycgKS4iKTtyZXR1cm4gdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil9LHN1cHBvcnRzQmxlbmRNaW5NYXg6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0JsZW5kTWluTWF4KCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0VYVF9ibGVuZF9taW5tYXgnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKX0sc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlczpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzVmVydGV4VGV4dHVyZXMoKSBpcyBub3cgLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlcy4iKTsKcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzfSxzdXBwb3J0c0luc3RhbmNlZEFycmF5czpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0FOR0xFX2luc3RhbmNlZF9hcnJheXMnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKX0sZW5hYmxlU2Npc3NvclRlc3Q6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZW5hYmxlU2Npc3NvclRlc3QoKSBpcyBub3cgLnNldFNjaXNzb3JUZXN0KCkuIik7dGhpcy5zZXRTY2lzc29yVGVzdChhKX0saW5pdE1hdGVyaWFsOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuaW5pdE1hdGVyaWFsKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sYWRkUHJlUGx1Z2luOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUHJlUGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sCmFkZFBvc3RQbHVnaW46ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQb3N0UGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sdXBkYXRlU2hhZG93TWFwOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudXBkYXRlU2hhZG93TWFwKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0RmFjZUN1bGxpbmc6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRGYWNlQ3VsbGluZygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGFsbG9jVGV4dHVyZVVuaXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hbGxvY1RleHR1cmVVbml0KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0VGV4dHVyZTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXRUZXh0dXJlMkQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlMkQoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSwKc2V0VGV4dHVyZUN1YmU6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlQ3ViZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGdldEFjdGl2ZU1pcE1hcExldmVsOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0QWN0aXZlTWlwTWFwTGV2ZWwoKSBpcyBub3cgLmdldEFjdGl2ZU1pcG1hcExldmVsKCkuIik7cmV0dXJuIHRoaXMuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhUaC5wcm90b3R5cGUse3NoYWRvd01hcEVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC5lbmFibGVkfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwRW5hYmxlZCBpcyBub3cgLnNoYWRvd01hcC5lbmFibGVkLiIpO3RoaXMuc2hhZG93TWFwLmVuYWJsZWQ9YX19LHNoYWRvd01hcFR5cGU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC50eXBlfSwKc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcFR5cGUgaXMgbm93IC5zaGFkb3dNYXAudHlwZS4iKTt0aGlzLnNoYWRvd01hcC50eXBlPWF9fSxzaGFkb3dNYXBDdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LGNvbnRleHQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNvbnRleHQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5nZXRDb250ZXh0KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5nZXRDb250ZXh0KCl9fX0pOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFai5wcm90b3R5cGUse2N1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAuY3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fSxyZW5kZXJSZXZlcnNlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclJldmVyc2VTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0sCnJlbmRlclNpbmdsZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclNpbmdsZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE9iLnByb3RvdHlwZSx7YWN0aXZlQ3ViZUZhY2U6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXRDdWJlOiAuYWN0aXZlQ3ViZUZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gSXQgaXMgbm93IHRoZSBzZWNvbmQgcGFyYW1ldGVyIG9mIFdlYkdMUmVuZGVyZXIuc2V0UmVuZGVyVGFyZ2V0KCkuIil9fSwKYWN0aXZlTWlwTWFwTGV2ZWw6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXRDdWJlOiAuYWN0aXZlTWlwTWFwTGV2ZWwgaGFzIGJlZW4gcmVtb3ZlZC4gSXQgaXMgbm93IHRoZSB0aGlyZCBwYXJhbWV0ZXIgb2YgV2ViR0xSZW5kZXJlci5zZXRSZW5kZXJUYXJnZXQoKS4iKX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMobS5wcm90b3R5cGUse3dyYXBTOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpO3JldHVybiB0aGlzLnRleHR1cmUud3JhcFN9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpO3RoaXMudGV4dHVyZS53cmFwUz1hfX0sd3JhcFQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIik7CnJldHVybiB0aGlzLnRleHR1cmUud3JhcFR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFQgaXMgbm93IC50ZXh0dXJlLndyYXBULiIpO3RoaXMudGV4dHVyZS53cmFwVD1hfX0sbWFnRmlsdGVyOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5tYWdGaWx0ZXJ9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIik7dGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcj1hfX0sbWluRmlsdGVyOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWluRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5taW5GaWx0ZXIuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5taW5GaWx0ZXJ9LApzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1pbkZpbHRlciBpcyBub3cgLnRleHR1cmUubWluRmlsdGVyLiIpO3RoaXMudGV4dHVyZS5taW5GaWx0ZXI9YX19LGFuaXNvdHJvcHk6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpO3JldHVybiB0aGlzLnRleHR1cmUuYW5pc290cm9weX0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpO3RoaXMudGV4dHVyZS5hbmlzb3Ryb3B5PWF9fSxvZmZzZXQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5vZmZzZXQgaXMgbm93IC50ZXh0dXJlLm9mZnNldC4iKTtyZXR1cm4gdGhpcy50ZXh0dXJlLm9mZnNldH0sCnNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIik7dGhpcy50ZXh0dXJlLm9mZnNldD1hfX0scmVwZWF0OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5yZXBlYXR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIik7dGhpcy50ZXh0dXJlLnJlcGVhdD1hfX0sZm9ybWF0OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5mb3JtYXR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIik7CnRoaXMudGV4dHVyZS5mb3JtYXQ9YX19LHR5cGU6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpO3JldHVybiB0aGlzLnRleHR1cmUudHlwZX0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpO3RoaXMudGV4dHVyZS50eXBlPWF9fSxnZW5lcmF0ZU1pcG1hcHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKTtyZXR1cm4gdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwc30sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKTsKdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1hfX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhTaC5wcm90b3R5cGUse3N0YW5kaW5nOntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlZSTWFuYWdlcjogLnN0YW5kaW5nIGhhcyBiZWVuIHJlbW92ZWQuIil9fSx1c2VySGVpZ2h0OntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlZSTWFuYWdlcjogLnVzZXJIZWlnaHQgaGFzIGJlZW4gcmVtb3ZlZC4iKX19fSk7WWUucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogLmxvYWQgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkF1ZGlvTG9hZGVyIGluc3RlYWQuIik7dmFyIGM9dGhpczsobmV3IGNoKS5sb2FkKGEsZnVuY3Rpb24oZSl7Yy5zZXRCdWZmZXIoZSl9KTtyZXR1cm4gdGhpc307dGkucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvQW5hbHlzZXI6IC5nZXREYXRhKCkgaXMgbm93IC5nZXRGcmVxdWVuY3lEYXRhKCkuIik7CnJldHVybiB0aGlzLmdldEZyZXF1ZW5jeURhdGEoKX07R2IucHJvdG90eXBlLnVwZGF0ZUN1YmVNYXA9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1YmVDYW1lcmE6IC51cGRhdGVDdWJlTWFwKCkgaXMgbm93IC51cGRhdGUoKS4iKTtyZXR1cm4gdGhpcy51cGRhdGUoYSxjKX07RmQuY3Jvc3NPcmlnaW49dm9pZCAwO0ZkLmxvYWRUZXh0dXJlPWZ1bmN0aW9uKGEsYyxlLGcpe2NvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5sb2FkVGV4dHVyZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuVGV4dHVyZUxvYWRlcigpIGluc3RlYWQuIik7dmFyIHQ9bmV3IFBnO3Quc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbik7YT10LmxvYWQoYSxlLHZvaWQgMCxnKTtjJiYoYS5tYXBwaW5nPWMpO3JldHVybiBhfTtGZC5sb2FkVGV4dHVyZUN1YmU9ZnVuY3Rpb24oYSxjLGUsZyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ3ViZVRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpOwp2YXIgdD1uZXcgT2c7dC5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTthPXQubG9hZChhLGUsdm9pZCAwLGcpO2MmJihhLm1hcHBpbmc9Yyk7cmV0dXJuIGF9O0ZkLmxvYWRDb21wcmVzc2VkVGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5ERFNMb2FkZXIgaW5zdGVhZC4iKX07RmQubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuRERTTG9hZGVyIGluc3RlYWQuIil9O2IuQUNFU0ZpbG1pY1RvbmVNYXBwaW5nPTU7Yi5BZGRFcXVhdGlvbj0xMDA7Yi5BZGRPcGVyYXRpb249MjtiLkFkZGl0aXZlQmxlbmRpbmc9MjtiLkFscGhhRm9ybWF0PTEwMjE7Yi5BbHdheXNEZXB0aD0KMTtiLkFsd2F5c1N0ZW5jaWxGdW5jPTUxOTtiLkFtYmllbnRMaWdodD1XZztiLkFtYmllbnRMaWdodFByb2JlPW9pO2IuQW5pbWF0aW9uQ2xpcD12YztiLkFuaW1hdGlvbkxvYWRlcj1maTtiLkFuaW1hdGlvbk1peGVyPXZpO2IuQW5pbWF0aW9uT2JqZWN0R3JvdXA9Yms7Yi5BbmltYXRpb25VdGlscz1WYjtiLkFyY0N1cnZlPVhlO2IuQXJyYXlDYW1lcmE9d2Y7Yi5BcnJvd0hlbHBlcj1rZDtiLkF1ZGlvPVllO2IuQXVkaW9BbmFseXNlcj10aTtiLkF1ZGlvQ29udGV4dD1yaTtiLkF1ZGlvTGlzdGVuZXI9cWk7Yi5BdWRpb0xvYWRlcj1jaDtiLkF4ZXNIZWxwZXI9amc7Yi5BeGlzSGVscGVyPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuQXhpc0hlbHBlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkF4ZXNIZWxwZXIuIik7cmV0dXJuIG5ldyBqZyhhKX07Yi5CYWNrU2lkZT0xO2IuQmFzaWNEZXB0aFBhY2tpbmc9MzIwMDtiLkJhc2ljU2hhZG93TWFwPTA7Yi5CaW5hcnlUZXh0dXJlTG9hZGVyPQpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJpbmFyeVRleHR1cmVMb2FkZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5EYXRhVGV4dHVyZUxvYWRlci4iKTtyZXR1cm4gbmV3IE5nKGEpfTtiLkJvbmU9Wmg7Yi5Cb29sZWFuS2V5ZnJhbWVUcmFjaz1KZztiLkJvdW5kaW5nQm94SGVscGVyPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3VuZGluZ0JveEhlbHBlciBoYXMgYmVlbiBkZXByZWNhdGVkLiBDcmVhdGluZyBhIFRIUkVFLkJveEhlbHBlciBpbnN0ZWFkLiIpO3JldHVybiBuZXcgamQoYSxjKX07Yi5Cb3gyPXlpO2IuQm94Mz14O2IuQm94M0hlbHBlcj1oZztiLkJveEJ1ZmZlckdlb21ldHJ5PVhhO2IuQm94R2VvbWV0cnk9U2E7Yi5Cb3hIZWxwZXI9amQ7Yi5CdWZmZXJBdHRyaWJ1dGU9UjtiLkJ1ZmZlckdlb21ldHJ5PXZhO2IuQnVmZmVyR2VvbWV0cnlMb2FkZXI9YWg7Yi5CeXRlVHlwZT0xMDEwO2IuQ2FjaGU9a2U7Yi5DYW1lcmE9emI7Yi5DYW1lcmFIZWxwZXI9CmdnO2IuQ2FudmFzUmVuZGVyZXI9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5DYW52YXNSZW5kZXJlciBoYXMgYmVlbiByZW1vdmVkIil9O2IuQ2FudmFzVGV4dHVyZT1EZjtiLkNhdG11bGxSb21DdXJ2ZTM9YmM7Yi5DaW5lb25Ub25lTWFwcGluZz00O2IuQ2lyY2xlQnVmZmVyR2VvbWV0cnk9U2U7Yi5DaXJjbGVHZW9tZXRyeT1ZZjtiLkNsYW1wVG9FZGdlV3JhcHBpbmc9MTAwMTtiLkNsb2NrPXBpO2IuQ2xvc2VkU3BsaW5lQ3VydmUzPWlrO2IuQ29sb3I9SDtiLkNvbG9yS2V5ZnJhbWVUcmFjaz1LZztiLkNvbXByZXNzZWRUZXh0dXJlPUZlO2IuQ29tcHJlc3NlZFRleHR1cmVMb2FkZXI9Z2k7Yi5Db25lQnVmZmVyR2VvbWV0cnk9WGY7Yi5Db25lR2VvbWV0cnk9V2Y7Yi5DdWJlQ2FtZXJhPUdiO2IuQ3ViZUdlb21ldHJ5PVNhO2IuQ3ViZVJlZmxlY3Rpb25NYXBwaW5nPTMwMTtiLkN1YmVSZWZyYWN0aW9uTWFwcGluZz0zMDI7Yi5DdWJlVGV4dHVyZT1lZDtiLkN1YmVUZXh0dXJlTG9hZGVyPQpPZztiLkN1YmVVVlJlZmxlY3Rpb25NYXBwaW5nPTMwNjtiLkN1YmVVVlJlZnJhY3Rpb25NYXBwaW5nPTMwNztiLkN1YmljQmV6aWVyQ3VydmU9RWM7Yi5DdWJpY0JlemllckN1cnZlMz1WYztiLkN1YmljSW50ZXJwb2xhbnQ9SGc7Yi5DdWxsRmFjZUJhY2s9MTtiLkN1bGxGYWNlRnJvbnQ9MjtiLkN1bGxGYWNlRnJvbnRCYWNrPTM7Yi5DdWxsRmFjZU5vbmU9MDtiLkN1cnZlPVphO2IuQ3VydmVQYXRoPWlkO2IuQ3VzdG9tQmxlbmRpbmc9NTtiLkN5bGluZGVyQnVmZmVyR2VvbWV0cnk9aGQ7Yi5DeWxpbmRlckdlb21ldHJ5PVpkO2IuQ3lsaW5kcmljYWw9Z2s7Yi5EYXRhVGV4dHVyZT1BYjtiLkRhdGFUZXh0dXJlMkRBcnJheT10ZTtiLkRhdGFUZXh0dXJlM0Q9dWU7Yi5EYXRhVGV4dHVyZUxvYWRlcj1OZztiLkRlY3JlbWVudFN0ZW5jaWxPcD03NjgzO2IuRGVjcmVtZW50V3JhcFN0ZW5jaWxPcD0zNDA1NjtiLkRlZmF1bHRMb2FkaW5nTWFuYWdlcj1YajtiLkRlcHRoRm9ybWF0PTEwMjY7CmIuRGVwdGhTdGVuY2lsRm9ybWF0PTEwMjc7Yi5EZXB0aFRleHR1cmU9RWY7Yi5EaXJlY3Rpb25hbExpZ2h0PVZnO2IuRGlyZWN0aW9uYWxMaWdodEhlbHBlcj1mZjtiLkRpcmVjdGlvbmFsTGlnaHRTaGFkb3c9VWc7Yi5EaXNjcmV0ZUludGVycG9sYW50PUlnO2IuRG9kZWNhaGVkcm9uQnVmZmVyR2VvbWV0cnk9S2U7Yi5Eb2RlY2FoZWRyb25HZW9tZXRyeT1LZjtiLkRvdWJsZVNpZGU9MjtiLkRzdEFscGhhRmFjdG9yPTIwNjtiLkRzdENvbG9yRmFjdG9yPTIwODtiLkR5bmFtaWNCdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkR5bmFtaWNCdWZmZXJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUoKS5zZXREeW5hbWljKCB0cnVlICkgaW5zdGVhZC4iKTtyZXR1cm4obmV3IFIoYSxjKSkuc2V0RHluYW1pYyghMCl9O2IuRWRnZXNHZW9tZXRyeT1SZTtiLkVkZ2VzSGVscGVyPWZ1bmN0aW9uKGEsCmMpe2NvbnNvbGUud2FybigiVEhSRUUuRWRnZXNIZWxwZXIgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkVkZ2VzR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IEliKG5ldyBSZShhLmdlb21ldHJ5KSxuZXcgRmIoe2NvbG9yOnZvaWQgMCE9PWM/YzoxNjc3NzIxNX0pKX07Yi5FbGxpcHNlQ3VydmU9c2M7Yi5FcXVhbERlcHRoPTQ7Yi5FcXVhbFN0ZW5jaWxGdW5jPTUxNDtiLkVxdWlyZWN0YW5ndWxhclJlZmxlY3Rpb25NYXBwaW5nPTMwMztiLkVxdWlyZWN0YW5ndWxhclJlZnJhY3Rpb25NYXBwaW5nPTMwNDtiLkV1bGVyPXU7Yi5FdmVudERpc3BhdGNoZXI9ZDtiLkV4dHJ1ZGVCdWZmZXJHZW9tZXRyeT1UYztiLkV4dHJ1ZGVHZW9tZXRyeT1XZDtiLkZhY2UzPU87Yi5GYWNlND1mdW5jdGlvbihhLGMsZSxnLHQsdix6KXtjb25zb2xlLndhcm4oIlRIUkVFLkZhY2U0IGhhcyBiZWVuIHJlbW92ZWQuIEEgVEhSRUUuRmFjZTMgd2lsbCBiZSBjcmVhdGVkIGluc3RlYWQuIik7cmV0dXJuIG5ldyBPKGEsCmMsZSx0LHYseil9O2IuRmFjZUNvbG9ycz0xO2IuRmFjZU5vcm1hbHNIZWxwZXI9Zmc7Yi5GaWxlTG9hZGVyPXdjO2IuRmxhdFNoYWRpbmc9MTtiLkZsb2F0MzJBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0MzJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGJhKGEsYyl9O2IuRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT1iYTtiLkZsb2F0NjRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0NjRBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDY0QnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGthKGEsYyl9O2IuRmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZT1rYTtiLkZsb2F0VHlwZT0xMDE1O2IuRm9nPURnO2IuRm9nRXhwMj1DZztiLkZvbnQ9bGk7CmIuRm9udExvYWRlcj1taTtiLkZyb250RmFjZURpcmVjdGlvbkNDVz0xO2IuRnJvbnRGYWNlRGlyZWN0aW9uQ1c9MDtiLkZyb250U2lkZT0wO2IuRnJ1c3R1bT1sYztiLkdhbW1hRW5jb2Rpbmc9MzAwNztiLkdlb21ldHJ5PXhhO2IuR2VvbWV0cnlVdGlscz17bWVyZ2U6ZnVuY3Rpb24oYSxjLGUpe2NvbnNvbGUud2FybigiVEhSRUUuR2VvbWV0cnlVdGlsczogLm1lcmdlKCkgaGFzIGJlZW4gbW92ZWQgdG8gR2VvbWV0cnkuIFVzZSBnZW9tZXRyeS5tZXJnZSggZ2VvbWV0cnkyLCBtYXRyaXgsIG1hdGVyaWFsSW5kZXhPZmZzZXQgKSBpbnN0ZWFkLiIpO2lmKGMuaXNNZXNoKXtjLm1hdHJpeEF1dG9VcGRhdGUmJmMudXBkYXRlTWF0cml4KCk7dmFyIGc9Yy5tYXRyaXg7Yz1jLmdlb21ldHJ5fWEubWVyZ2UoYyxnLGUpfSxjZW50ZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5HZW9tZXRyeVV0aWxzOiAuY2VudGVyKCkgaGFzIGJlZW4gbW92ZWQgdG8gR2VvbWV0cnkuIFVzZSBnZW9tZXRyeS5jZW50ZXIoKSBpbnN0ZWFkLiIpOwpyZXR1cm4gYS5jZW50ZXIoKX19O2IuR3JlYXRlckRlcHRoPTY7Yi5HcmVhdGVyRXF1YWxEZXB0aD01O2IuR3JlYXRlckVxdWFsU3RlbmNpbEZ1bmM9NTE4O2IuR3JlYXRlclN0ZW5jaWxGdW5jPTUxNjtiLkdyaWRIZWxwZXI9Zmg7Yi5Hcm91cD13ZTtiLkhhbGZGbG9hdFR5cGU9MTAxNjtiLkhlbWlzcGhlcmVMaWdodD1RZztiLkhlbWlzcGhlcmVMaWdodEhlbHBlcj1jZjtiLkhlbWlzcGhlcmVMaWdodFByb2JlPW5pO2IuSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeT1KZTtiLkljb3NhaGVkcm9uR2VvbWV0cnk9SmY7Yi5JbWFnZUJpdG1hcExvYWRlcj1qaTtiLkltYWdlTG9hZGVyPVdlO2IuSW1hZ2VVdGlscz1GZDtiLkltbWVkaWF0ZVJlbmRlck9iamVjdD1kZztiLkluY3JlbWVudFN0ZW5jaWxPcD03NjgyO2IuSW5jcmVtZW50V3JhcFN0ZW5jaWxPcD0zNDA1NTtiLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0kZztiLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PVpnO2IuSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9CndpO2IuSW50MTZBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkludDE2QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgb2EoYSxjKX07Yi5JbnQxNkJ1ZmZlckF0dHJpYnV0ZT1vYTtiLkludDMyQXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbnQzMkF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGNhKGEsYyl9O2IuSW50MzJCdWZmZXJBdHRyaWJ1dGU9Y2E7Yi5JbnQ4QXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbnQ4QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50OEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIik7cmV0dXJuIG5ldyBYKGEsCmMpfTtiLkludDhCdWZmZXJBdHRyaWJ1dGU9WDtiLkludFR5cGU9MTAxMztiLkludGVybGVhdmVkQnVmZmVyPVNkO2IuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU9eWY7Yi5JbnRlcnBvbGFudD1yYztiLkludGVycG9sYXRlRGlzY3JldGU9MjMwMDtiLkludGVycG9sYXRlTGluZWFyPTIzMDE7Yi5JbnRlcnBvbGF0ZVNtb290aD0yMzAyO2IuSW52ZXJ0U3RlbmNpbE9wPTUzODY7Yi5KU09OTG9hZGVyPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuSlNPTkxvYWRlciBoYXMgYmVlbiByZW1vdmVkLiIpfTtiLktlZXBTdGVuY2lsT3A9NzY4MDtiLktleWZyYW1lVHJhY2s9WmI7Yi5MT0Q9QmY7Yi5MYXRoZUJ1ZmZlckdlb21ldHJ5PVFlO2IuTGF0aGVHZW9tZXRyeT1WZjtiLkxheWVycz13O2IuTGVuc0ZsYXJlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTGVuc0ZsYXJlIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy9vYmplY3RzL0xlbnNmbGFyZS5qcyIpfTsKYi5MZXNzRGVwdGg9MjtiLkxlc3NFcXVhbERlcHRoPTM7Yi5MZXNzRXF1YWxTdGVuY2lsRnVuYz01MTU7Yi5MZXNzU3RlbmNpbEZ1bmM9NTEzO2IuTGlnaHQ9S2I7Yi5MaWdodFByb2JlPUpjO2IuTGlnaHRQcm9iZUhlbHBlcj1kZjtiLkxpZ2h0U2hhZG93PVhjO2IuTGluZT1YYjtiLkxpbmUzPXppO2IuTGluZUJhc2ljTWF0ZXJpYWw9RmI7Yi5MaW5lQ3VydmU9bmM7Yi5MaW5lQ3VydmUzPUZjO2IuTGluZURhc2hlZE1hdGVyaWFsPWZlO2IuTGluZUxvb3A9R2c7Yi5MaW5lUGllY2VzPTE7Yi5MaW5lU2VnbWVudHM9SWI7Yi5MaW5lU3RyaXA9MDtiLkxpbmVhckVuY29kaW5nPTNFMztiLkxpbmVhckZpbHRlcj0xMDA2O2IuTGluZWFySW50ZXJwb2xhbnQ9WmY7Yi5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXI9MTAwODtiLkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXI9MTAwNztiLkxpbmVhck1pcG1hcExpbmVhckZpbHRlcj0xMDA4O2IuTGluZWFyTWlwbWFwTmVhcmVzdEZpbHRlcj0xMDA3OwpiLkxpbmVhclRvbmVNYXBwaW5nPTE7Yi5Mb2FkZXI9RGI7Yi5Mb2FkZXJVdGlscz1VaTtiLkxvYWRpbmdNYW5hZ2VyPWVpO2IuTG9nTHV2RW5jb2Rpbmc9MzAwMztiLkxvb3BPbmNlPTIyMDA7Yi5Mb29wUGluZ1Bvbmc9MjIwMjtiLkxvb3BSZXBlYXQ9MjIwMTtiLkx1bWluYW5jZUFscGhhRm9ybWF0PTEwMjU7Yi5MdW1pbmFuY2VGb3JtYXQ9MTAyNDtiLk1PVVNFPXtMRUZUOjAsTUlERExFOjEsUklHSFQ6MixST1RBVEU6MCxET0xMWToxLFBBTjoyfTtiLk1hdGVyaWFsPVM7Yi5NYXRlcmlhbExvYWRlcj1ZZztiLk1hdGg9aGI7Yi5NYXRyaXgzPXI7Yi5NYXRyaXg0PXE7Yi5NYXhFcXVhdGlvbj0xMDQ7Yi5NZXNoPXlhO2IuTWVzaEJhc2ljTWF0ZXJpYWw9TjtiLk1lc2hEZXB0aE1hdGVyaWFsPXhkO2IuTWVzaERpc3RhbmNlTWF0ZXJpYWw9eWQ7Yi5NZXNoRmFjZU1hdGVyaWFsPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWVzaEZhY2VNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKTsKcmV0dXJuIGF9O2IuTWVzaExhbWJlcnRNYXRlcmlhbD1kZTtiLk1lc2hNYXRjYXBNYXRlcmlhbD1lZTtiLk1lc2hOb3JtYWxNYXRlcmlhbD1jZTtiLk1lc2hQaG9uZ01hdGVyaWFsPURjO2IuTWVzaFBoeXNpY2FsTWF0ZXJpYWw9YWU7Yi5NZXNoU3RhbmRhcmRNYXRlcmlhbD1VYztiLk1lc2hUb29uTWF0ZXJpYWw9YmU7Yi5NaW5FcXVhdGlvbj0xMDM7Yi5NaXJyb3JlZFJlcGVhdFdyYXBwaW5nPTEwMDI7Yi5NaXhPcGVyYXRpb249MTtiLk11bHRpTWF0ZXJpYWw9ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGE9W10pO2NvbnNvbGUud2FybigiVEhSRUUuTXVsdGlNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKTthLmlzTXVsdGlNYXRlcmlhbD0hMDthLm1hdGVyaWFscz1hO2EuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5zbGljZSgpfTtyZXR1cm4gYX07Yi5NdWx0aXBseUJsZW5kaW5nPTQ7Yi5NdWx0aXBseU9wZXJhdGlvbj0wO2IuTmVhcmVzdEZpbHRlcj0KMTAwMztiLk5lYXJlc3RNaXBNYXBMaW5lYXJGaWx0ZXI9MTAwNTtiLk5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyPTEwMDQ7Yi5OZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyPTEwMDU7Yi5OZWFyZXN0TWlwbWFwTmVhcmVzdEZpbHRlcj0xMDA0O2IuTmV2ZXJEZXB0aD0wO2IuTmV2ZXJTdGVuY2lsRnVuYz01MTI7Yi5Ob0JsZW5kaW5nPTA7Yi5Ob0NvbG9ycz0wO2IuTm9Ub25lTWFwcGluZz0wO2IuTm9ybWFsQmxlbmRpbmc9MTtiLk5vdEVxdWFsRGVwdGg9NztiLk5vdEVxdWFsU3RlbmNpbEZ1bmM9NTE3O2IuTnVtYmVyS2V5ZnJhbWVUcmFjaz1VZTtiLk9iamVjdDNEPUE7Yi5PYmplY3RMb2FkZXI9Ymg7Yi5PYmplY3RTcGFjZU5vcm1hbE1hcD0xO2IuT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5PVRkO2IuT2N0YWhlZHJvbkdlb21ldHJ5PUlmO2IuT25lRmFjdG9yPTIwMTtiLk9uZU1pbnVzRHN0QWxwaGFGYWN0b3I9MjA3O2IuT25lTWludXNEc3RDb2xvckZhY3Rvcj0yMDk7Yi5PbmVNaW51c1NyY0FscGhhRmFjdG9yPQoyMDU7Yi5PbmVNaW51c1NyY0NvbG9yRmFjdG9yPTIwMztiLk9ydGhvZ3JhcGhpY0NhbWVyYT1jZztiLlBDRlNoYWRvd01hcD0xO2IuUENGU29mdFNoYWRvd01hcD0yO2IuUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5PUhlO2IuUGFyYW1ldHJpY0dlb21ldHJ5PUZmO2IuUGFydGljbGU9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZSBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlNwcml0ZS4iKTtyZXR1cm4gbmV3IHpmKGEpfTtiLlBhcnRpY2xlQmFzaWNNYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlQmFzaWNNYXRlcmlhbCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50c01hdGVyaWFsLiIpO3JldHVybiBuZXcgQ2MoYSl9O2IuUGFydGljbGVTeXN0ZW09ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtIGhhcyBiZWVuIHJlbmFtZWQgdG8gVEhSRUUuUG9pbnRzLiIpO3JldHVybiBuZXcgRWUoYSwKYyl9O2IuUGFydGljbGVTeXN0ZW1NYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKTtyZXR1cm4gbmV3IENjKGEpfTtiLlBhdGg9SWM7Yi5QZXJzcGVjdGl2ZUNhbWVyYT12YjtiLlBsYW5lPUhiO2IuUGxhbmVCdWZmZXJHZW9tZXRyeT1OYztiLlBsYW5lR2VvbWV0cnk9dGQ7Yi5QbGFuZUhlbHBlcj1pZztiLlBvaW50Q2xvdWQ9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlBvaW50Q2xvdWQgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHMuIik7cmV0dXJuIG5ldyBFZShhLGMpfTtiLlBvaW50Q2xvdWRNYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBvaW50Q2xvdWRNYXRlcmlhbCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50c01hdGVyaWFsLiIpO3JldHVybiBuZXcgQ2MoYSl9O2IuUG9pbnRMaWdodD0KVGc7Yi5Qb2ludExpZ2h0SGVscGVyPWFmO2IuUG9pbnRzPUVlO2IuUG9pbnRzTWF0ZXJpYWw9Q2M7Yi5Qb2xhckdyaWRIZWxwZXI9Z2g7Yi5Qb2x5aGVkcm9uQnVmZmVyR2VvbWV0cnk9bWM7Yi5Qb2x5aGVkcm9uR2VvbWV0cnk9R2Y7Yi5Qb3NpdGlvbmFsQXVkaW89c2k7Yi5Qb3NpdGlvbmFsQXVkaW9IZWxwZXI9ZWY7Yi5Qcm9wZXJ0eUJpbmRpbmc9Y2M7Yi5Qcm9wZXJ0eU1peGVyPXVpO2IuUXVhZHJhdGljQmV6aWVyQ3VydmU9R2M7Yi5RdWFkcmF0aWNCZXppZXJDdXJ2ZTM9V2M7Yi5RdWF0ZXJuaW9uPWg7Yi5RdWF0ZXJuaW9uS2V5ZnJhbWVUcmFjaz0kZjtiLlF1YXRlcm5pb25MaW5lYXJJbnRlcnBvbGFudD1MZztiLlJFVklTSU9OPSIxMDgiO2IuUkdCQURlcHRoUGFja2luZz0zMjAxO2IuUkdCQUZvcm1hdD0xMDIzO2IuUkdCQV9BU1RDXzEweDEwX0Zvcm1hdD0zNzgxOTtiLlJHQkFfQVNUQ18xMHg1X0Zvcm1hdD0zNzgxNjtiLlJHQkFfQVNUQ18xMHg2X0Zvcm1hdD0zNzgxNztiLlJHQkFfQVNUQ18xMHg4X0Zvcm1hdD0KMzc4MTg7Yi5SR0JBX0FTVENfMTJ4MTBfRm9ybWF0PTM3ODIwO2IuUkdCQV9BU1RDXzEyeDEyX0Zvcm1hdD0zNzgyMTtiLlJHQkFfQVNUQ180eDRfRm9ybWF0PTM3ODA4O2IuUkdCQV9BU1RDXzV4NF9Gb3JtYXQ9Mzc4MDk7Yi5SR0JBX0FTVENfNXg1X0Zvcm1hdD0zNzgxMDtiLlJHQkFfQVNUQ182eDVfRm9ybWF0PTM3ODExO2IuUkdCQV9BU1RDXzZ4Nl9Gb3JtYXQ9Mzc4MTI7Yi5SR0JBX0FTVENfOHg1X0Zvcm1hdD0zNzgxMztiLlJHQkFfQVNUQ184eDZfRm9ybWF0PTM3ODE0O2IuUkdCQV9BU1RDXzh4OF9Gb3JtYXQ9Mzc4MTU7Yi5SR0JBX1BWUlRDXzJCUFBWMV9Gb3JtYXQ9MzU4NDM7Yi5SR0JBX1BWUlRDXzRCUFBWMV9Gb3JtYXQ9MzU4NDI7Yi5SR0JBX1MzVENfRFhUMV9Gb3JtYXQ9MzM3Nzc7Yi5SR0JBX1MzVENfRFhUM19Gb3JtYXQ9MzM3Nzg7Yi5SR0JBX1MzVENfRFhUNV9Gb3JtYXQ9MzM3Nzk7Yi5SR0JERW5jb2Rpbmc9MzAwNjtiLlJHQkVFbmNvZGluZz0zMDAyO2IuUkdCRUZvcm1hdD0KMTAyMztiLlJHQkZvcm1hdD0xMDIyO2IuUkdCTTE2RW5jb2Rpbmc9MzAwNTtiLlJHQk03RW5jb2Rpbmc9MzAwNDtiLlJHQl9FVEMxX0Zvcm1hdD0zNjE5NjtiLlJHQl9QVlJUQ18yQlBQVjFfRm9ybWF0PTM1ODQxO2IuUkdCX1BWUlRDXzRCUFBWMV9Gb3JtYXQ9MzU4NDA7Yi5SR0JfUzNUQ19EWFQxX0Zvcm1hdD0zMzc3NjtiLlJhd1NoYWRlck1hdGVyaWFsPVRlO2IuUmF5PUQ7Yi5SYXljYXN0ZXI9ZGs7Yi5SZWN0QXJlYUxpZ2h0PVhnO2IuUmVjdEFyZWFMaWdodEhlbHBlcj1iZjtiLlJlZEZvcm1hdD0xMDI4O2IuUmVpbmhhcmRUb25lTWFwcGluZz0yO2IuUmVwZWF0V3JhcHBpbmc9MUUzO2IuUmVwbGFjZVN0ZW5jaWxPcD03NjgxO2IuUmV2ZXJzZVN1YnRyYWN0RXF1YXRpb249MTAyO2IuUmluZ0J1ZmZlckdlb21ldHJ5PVBlO2IuUmluZ0dlb21ldHJ5PVVmO2IuU2NlbmU9eTtiLlNjZW5lVXRpbHM9e2NyZWF0ZU11bHRpTWF0ZXJpYWxPYmplY3Q6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZVV0aWxzIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy91dGlscy9TY2VuZVV0aWxzLmpzIil9LApkZXRhY2g6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZVV0aWxzIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy91dGlscy9TY2VuZVV0aWxzLmpzIil9LGF0dGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzL3V0aWxzL1NjZW5lVXRpbHMuanMiKX19O2IuU2hhZGVyQ2h1bms9cmI7Yi5TaGFkZXJMaWI9T2M7Yi5TaGFkZXJNYXRlcmlhbD1xYjtiLlNoYWRvd01hdGVyaWFsPSRkO2IuU2hhcGU9RWQ7Yi5TaGFwZUJ1ZmZlckdlb21ldHJ5PVlkO2IuU2hhcGVHZW9tZXRyeT1YZDtiLlNoYXBlUGF0aD1raTtiLlNoYXBlVXRpbHM9Z2Q7Yi5TaG9ydFR5cGU9MTAxMTtiLlNrZWxldG9uPUZnO2IuU2tlbGV0b25IZWxwZXI9JGU7Yi5Ta2lubmVkTWVzaD1DZjtiLlNtb290aFNoYWRpbmc9MjtiLlNwaGVyZT1HO2IuU3BoZXJlQnVmZmVyR2VvbWV0cnk9RGQ7Yi5TcGhlcmVHZW9tZXRyeT0KVGY7Yi5TcGhlcmljYWw9Zms7Yi5TcGhlcmljYWxIYXJtb25pY3MzPWRoO2IuU3BoZXJpY2FsUmVmbGVjdGlvbk1hcHBpbmc9MzA1O2IuU3BsaW5lPUJpO2IuU3BsaW5lQ3VydmU9SGM7Yi5TcGxpbmVDdXJ2ZTM9ams7Yi5TcG90TGlnaHQ9U2c7Yi5TcG90TGlnaHRIZWxwZXI9WmU7Yi5TcG90TGlnaHRTaGFkb3c9Umc7Yi5TcHJpdGU9emY7Yi5TcHJpdGVNYXRlcmlhbD1DZDtiLlNyY0FscGhhRmFjdG9yPTIwNDtiLlNyY0FscGhhU2F0dXJhdGVGYWN0b3I9MjEwO2IuU3JjQ29sb3JGYWN0b3I9MjAyO2IuU3RlcmVvQ2FtZXJhPVpqO2IuU3RyaW5nS2V5ZnJhbWVUcmFjaz1NZztiLlN1YnRyYWN0RXF1YXRpb249MTAxO2IuU3VidHJhY3RpdmVCbGVuZGluZz0zO2IuVE9VQ0g9e1JPVEFURTowLFBBTjoxLERPTExZX1BBTjoyLERPTExZX1JPVEFURTozfTtiLlRhbmdlbnRTcGFjZU5vcm1hbE1hcD0wO2IuVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeT1JZTtiLlRldHJhaGVkcm9uR2VvbWV0cnk9CkhmO2IuVGV4dEJ1ZmZlckdlb21ldHJ5PU9lO2IuVGV4dEdlb21ldHJ5PVNmO2IuVGV4dHVyZT1sO2IuVGV4dHVyZUxvYWRlcj1QZztiLlRvcnVzQnVmZmVyR2VvbWV0cnk9TWU7Yi5Ub3J1c0dlb21ldHJ5PU5mO2IuVG9ydXNLbm90QnVmZmVyR2VvbWV0cnk9TGU7Yi5Ub3J1c0tub3RHZW9tZXRyeT1NZjtiLlRyaWFuZ2xlPUI7Yi5UcmlhbmdsZUZhbkRyYXdNb2RlPTI7Yi5UcmlhbmdsZVN0cmlwRHJhd01vZGU9MTtiLlRyaWFuZ2xlc0RyYXdNb2RlPTA7Yi5UdWJlQnVmZmVyR2VvbWV0cnk9VWQ7Yi5UdWJlR2VvbWV0cnk9TGY7Yi5VVk1hcHBpbmc9MzAwO2IuVWludDE2QXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5VaW50MTZBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgWihhLGMpfTtiLlVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT1aO2IuVWludDMyQXR0cmlidXRlPQpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuVWludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGphKGEsYyl9O2IuVWludDMyQnVmZmVyQXR0cmlidXRlPWphO2IuVWludDhBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlVpbnQ4QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDhCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgYWEoYSxjKX07Yi5VaW50OEJ1ZmZlckF0dHJpYnV0ZT1hYTtiLlVpbnQ4Q2xhbXBlZEF0dHJpYnV0ZT1mdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuVWludDhDbGFtcGVkQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDhDbGFtcGVkQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGZhKGEsCmMpfTtiLlVpbnQ4Q2xhbXBlZEJ1ZmZlckF0dHJpYnV0ZT1mYTtiLlVuY2hhcnRlZDJUb25lTWFwcGluZz0zO2IuVW5pZm9ybT1laDtiLlVuaWZvcm1zTGliPVdhO2IuVW5pZm9ybXNVdGlscz0kbTtiLlVuc2lnbmVkQnl0ZVR5cGU9MTAwOTtiLlVuc2lnbmVkSW50MjQ4VHlwZT0xMDIwO2IuVW5zaWduZWRJbnRUeXBlPTEwMTQ7Yi5VbnNpZ25lZFNob3J0NDQ0NFR5cGU9MTAxNztiLlVuc2lnbmVkU2hvcnQ1NTUxVHlwZT0xMDE4O2IuVW5zaWduZWRTaG9ydDU2NVR5cGU9MTAxOTtiLlVuc2lnbmVkU2hvcnRUeXBlPTEwMTI7Yi5WU01TaGFkb3dNYXA9MztiLlZlY3RvcjI9ZjtiLlZlY3RvcjM9aztiLlZlY3RvcjQ9cDtiLlZlY3RvcktleWZyYW1lVHJhY2s9VmU7Yi5WZXJ0ZXg9ZnVuY3Rpb24oYSxjLGUpe2NvbnNvbGUud2FybigiVEhSRUUuVmVydGV4IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5WZWN0b3IzIGluc3RlYWQuIik7cmV0dXJuIG5ldyBrKGEsYyxlKX07Yi5WZXJ0ZXhDb2xvcnM9CjI7Yi5WZXJ0ZXhOb3JtYWxzSGVscGVyPWVnO2IuVmlkZW9UZXh0dXJlPWJpO2IuV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD1uO2IuV2ViR0xSZW5kZXJUYXJnZXQ9bTtiLldlYkdMUmVuZGVyVGFyZ2V0Q3ViZT1PYjtiLldlYkdMUmVuZGVyZXI9VGg7Yi5XZWJHTFV0aWxzPUZqO2IuV2lyZWZyYW1lR2VvbWV0cnk9R2U7Yi5XaXJlZnJhbWVIZWxwZXI9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLldpcmVmcmFtZUhlbHBlciBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IEliKG5ldyBHZShhLmdlb21ldHJ5KSxuZXcgRmIoe2NvbG9yOnZvaWQgMCE9PWM/YzoxNjc3NzIxNX0pKX07Yi5XcmFwQXJvdW5kRW5kaW5nPTI0MDI7Yi5YSFJMb2FkZXI9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5YSFJMb2FkZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5GaWxlTG9hZGVyLiIpOwpyZXR1cm4gbmV3IHdjKGEpfTtiLlplcm9DdXJ2YXR1cmVFbmRpbmc9MjQwMDtiLlplcm9GYWN0b3I9MjAwO2IuWmVyb1Nsb3BlRW5kaW5nPTI0MDE7Yi5aZXJvU3RlbmNpbE9wPTA7Yi5zUkdCRW5jb2Rpbmc9MzAwMTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1pbXBvcnRzL09yYml0Q29udHJvbHMuanMKVEhSRUUuT3JiaXRDb250cm9scz1mdW5jdGlvbihiLGQpe2Z1bmN0aW9uIGYoKXtyZXR1cm4gMipNYXRoLlBJLzYwLzYwKlcuYXV0b1JvdGF0ZVNwZWVkfWZ1bmN0aW9uIGgoKXtyZXR1cm4gTWF0aC5wb3coLjk1LFcuem9vbVNwZWVkKX1mdW5jdGlvbiBrKHNhKXtYYS50aGV0YS09c2F9ZnVuY3Rpb24gcihzYSl7WGEucGhpLT1zYX1mdW5jdGlvbiBsKHNhKXtXLm9iamVjdC5pc1BlcnNwZWN0aXZlQ2FtZXJhP3ViLz1zYTpXLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8oVy5vYmplY3Quem9vbT1NYXRoLm1heChXLm1pblpvb20sTWF0aC5taW4oVy5tYXhab29tLFcub2JqZWN0Lnpvb20qc2EpKSxXLm9iamVjdC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkscWI9ITApOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIGRvbGx5L3pvb20gZGlzYWJsZWQuIiksVy5lbmFibGVab29tPSExKX1mdW5jdGlvbiBwKHNhKXtXLm9iamVjdC5pc1BlcnNwZWN0aXZlQ2FtZXJhPwp1Yio9c2E6Vy5vYmplY3QuaXNPcnRob2dyYXBoaWNDYW1lcmE/KFcub2JqZWN0Lnpvb209TWF0aC5tYXgoVy5taW5ab29tLE1hdGgubWluKFcubWF4Wm9vbSxXLm9iamVjdC56b29tL3NhKSksVy5vYmplY3QudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpLHFiPSEwKTooY29uc29sZS53YXJuKCJXQVJOSU5HOiBPcmJpdENvbnRyb2xzLmpzIGVuY291bnRlcmVkIGFuIHVua25vd24gY2FtZXJhIHR5cGUgLSBkb2xseS96b29tIGRpc2FibGVkLiIpLFcuZW5hYmxlWm9vbT0hMSl9ZnVuY3Rpb24gbShzYSl7emIuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gbihzYSl7bGMuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gcShzYSl7T2Iuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gdShzYSl7dmIuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSk7R2Iuc3ViVmVjdG9ycyh2Yix6YikubXVsdGlwbHlTY2FsYXIoVy5yb3RhdGVTcGVlZCk7c2E9ClcuZG9tRWxlbWVudD09PWRvY3VtZW50P1cuZG9tRWxlbWVudC5ib2R5OlcuZG9tRWxlbWVudDtrKDIqTWF0aC5QSSpHYi54L3NhLmNsaWVudEhlaWdodCk7cigyKk1hdGguUEkqR2IueS9zYS5jbGllbnRIZWlnaHQpO3piLmNvcHkodmIpO1cudXBkYXRlKCl9ZnVuY3Rpb24gdyhzYSl7ZWMuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSk7UWQuc3ViVmVjdG9ycyhlYyxsYyk7MDxRZC55P2woaCgpKTowPlFkLnkmJnAoaCgpKTtsYy5jb3B5KGVjKTtXLnVwZGF0ZSgpfWZ1bmN0aW9uIEEoc2Epe0FiLnNldChzYS5jbGllbnRYLHNhLmNsaWVudFkpO0hiLnN1YlZlY3RvcnMoQWIsT2IpLm11bHRpcGx5U2NhbGFyKFcucGFuU3BlZWQpO3VkKEhiLngsSGIueSk7T2IuY29weShBYik7Vy51cGRhdGUoKX1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIHgoc2EpezA+c2EuZGVsdGFZP3AoaCgpKTowPHNhLmRlbHRhWSYmbChoKCkpO1cudXBkYXRlKCl9ZnVuY3Rpb24gQyhzYSl7dmFyIE5iPSExO3N3aXRjaChzYS5rZXlDb2RlKXtjYXNlIFcua2V5cy5VUDp1ZCgwLApXLmtleVBhblNwZWVkKTtOYj0hMDticmVhaztjYXNlIFcua2V5cy5CT1RUT006dWQoMCwtVy5rZXlQYW5TcGVlZCk7TmI9ITA7YnJlYWs7Y2FzZSBXLmtleXMuTEVGVDp1ZChXLmtleVBhblNwZWVkLDApO05iPSEwO2JyZWFrO2Nhc2UgVy5rZXlzLlJJR0hUOnVkKC1XLmtleVBhblNwZWVkLDApLE5iPSEwfU5iJiYoc2EucHJldmVudERlZmF1bHQoKSxXLnVwZGF0ZSgpKX1mdW5jdGlvbiBHKHNhKXsxPT1zYS50b3VjaGVzLmxlbmd0aD96Yi5zZXQoc2EudG91Y2hlc1swXS5wYWdlWCxzYS50b3VjaGVzWzBdLnBhZ2VZKTp6Yi5zZXQoLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVgrc2EudG91Y2hlc1sxXS5wYWdlWCksLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVkrc2EudG91Y2hlc1sxXS5wYWdlWSkpfWZ1bmN0aW9uIEQoc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP09iLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOk9iLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCsKc2EudG91Y2hlc1sxXS5wYWdlWCksLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVkrc2EudG91Y2hlc1sxXS5wYWdlWSkpfWZ1bmN0aW9uIEIoc2Epe3ZhciBOYj1zYS50b3VjaGVzWzBdLnBhZ2VYLXNhLnRvdWNoZXNbMV0ucGFnZVg7c2E9c2EudG91Y2hlc1swXS5wYWdlWS1zYS50b3VjaGVzWzFdLnBhZ2VZO2xjLnNldCgwLE1hdGguc3FydChOYipOYitzYSpzYSkpfWZ1bmN0aW9uIEgoc2Epe1cuZW5hYmxlWm9vbSYmQihzYSk7Vy5lbmFibGVQYW4mJkQoc2EpfWZ1bmN0aW9uIEsoc2Epe1cuZW5hYmxlWm9vbSYmQihzYSk7Vy5lbmFibGVSb3RhdGUmJkcoc2EpfWZ1bmN0aW9uIEwoc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP3ZiLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOnZiLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCtzYS50b3VjaGVzWzFdLnBhZ2VYKSwuNSooc2EudG91Y2hlc1swXS5wYWdlWStzYS50b3VjaGVzWzFdLnBhZ2VZKSk7R2Iuc3ViVmVjdG9ycyh2YiwKemIpLm11bHRpcGx5U2NhbGFyKFcucm90YXRlU3BlZWQpO3NhPVcuZG9tRWxlbWVudD09PWRvY3VtZW50P1cuZG9tRWxlbWVudC5ib2R5OlcuZG9tRWxlbWVudDtrKDIqTWF0aC5QSSpHYi54L3NhLmNsaWVudEhlaWdodCk7cigyKk1hdGguUEkqR2IueS9zYS5jbGllbnRIZWlnaHQpO3piLmNvcHkodmIpfWZ1bmN0aW9uIEooc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP0FiLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOkFiLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCtzYS50b3VjaGVzWzFdLnBhZ2VYKSwuNSooc2EudG91Y2hlc1swXS5wYWdlWStzYS50b3VjaGVzWzFdLnBhZ2VZKSk7SGIuc3ViVmVjdG9ycyhBYixPYikubXVsdGlwbHlTY2FsYXIoVy5wYW5TcGVlZCk7dWQoSGIueCxIYi55KTtPYi5jb3B5KEFiKX1mdW5jdGlvbiBPKHNhKXt2YXIgTmI9c2EudG91Y2hlc1swXS5wYWdlWC1zYS50b3VjaGVzWzFdLnBhZ2VYO3NhPXNhLnRvdWNoZXNbMF0ucGFnZVktCnNhLnRvdWNoZXNbMV0ucGFnZVk7ZWMuc2V0KDAsTWF0aC5zcXJ0KE5iKk5iK3NhKnNhKSk7UWQuc2V0KDAsTWF0aC5wb3coZWMueS9sYy55LFcuem9vbVNwZWVkKSk7bChRZC55KTtsYy5jb3B5KGVjKX1mdW5jdGlvbiBTKHNhKXtXLmVuYWJsZVpvb20mJk8oc2EpO1cuZW5hYmxlUGFuJiZKKHNhKX1mdW5jdGlvbiBOKHNhKXtXLmVuYWJsZVpvb20mJk8oc2EpO1cuZW5hYmxlUm90YXRlJiZMKHNhKX1mdW5jdGlvbiBSKCl7fWZ1bmN0aW9uIFgoc2Epe2lmKCExIT09Vy5lbmFibGVkKXtzYS5wcmV2ZW50RGVmYXVsdCgpO1cuZG9tRWxlbWVudC5mb2N1cz9XLmRvbUVsZW1lbnQuZm9jdXMoKTp3aW5kb3cuZm9jdXMoKTtzd2l0Y2goc2EuYnV0dG9uKXtjYXNlIDA6c3dpdGNoKFcubW91c2VCdXR0b25zLkxFRlQpe2Nhc2UgVEhSRUUuTU9VU0UuUk9UQVRFOmlmKHNhLmN0cmxLZXl8fHNhLm1ldGFLZXl8fHNhLnNoaWZ0S2V5KXtpZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT0KQWEuUEFOfWVsc2V7aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47bShzYSk7RmE9QWEuUk9UQVRFfWJyZWFrO2Nhc2UgVEhSRUUuTU9VU0UuUEFOOmlmKHNhLmN0cmxLZXl8fHNhLm1ldGFLZXl8fHNhLnNoaWZ0S2V5KXtpZighMT09PVcuZW5hYmxlUm90YXRlKXJldHVybjttKHNhKTtGYT1BYS5ST1RBVEV9ZWxzZXtpZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT1BYS5QQU59YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfWJyZWFrO2Nhc2UgMTpzd2l0Y2goVy5tb3VzZUJ1dHRvbnMuTUlERExFKXtjYXNlIFRIUkVFLk1PVVNFLkRPTExZOmlmKCExPT09Vy5lbmFibGVab29tKXJldHVybjtuKHNhKTtGYT1BYS5ET0xMWTticmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9YnJlYWs7Y2FzZSAyOnN3aXRjaChXLm1vdXNlQnV0dG9ucy5SSUdIVCl7Y2FzZSBUSFJFRS5NT1VTRS5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47bShzYSk7RmE9QWEuUk9UQVRFOwpicmVhaztjYXNlIFRIUkVFLk1PVVNFLlBBTjppZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT1BYS5QQU47YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfX1GYSE9PUFhLk5PTkUmJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGFhLCExKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixmYSwhMSksVy5kaXNwYXRjaEV2ZW50KHZhKSl9fWZ1bmN0aW9uIGFhKHNhKXtpZighMSE9PVcuZW5hYmxlZClzd2l0Y2goc2EucHJldmVudERlZmF1bHQoKSxGYSl7Y2FzZSBBYS5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlicmVhazt1KHNhKTticmVhaztjYXNlIEFhLkRPTExZOmlmKCExPT09Vy5lbmFibGVab29tKWJyZWFrO3coc2EpO2JyZWFrO2Nhc2UgQWEuUEFOOiExIT09Vy5lbmFibGVQYW4mJkEoc2EpfX1mdW5jdGlvbiBmYShzYSl7ITEhPT1XLmVuYWJsZWQmJih5KHNhKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLAphYSwhMSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZmEsITEpLFcuZGlzcGF0Y2hFdmVudCh5YSksRmE9QWEuTk9ORSl9ZnVuY3Rpb24gb2Eoc2EpeyExPT09Vy5lbmFibGVkfHwhMT09PVcuZW5hYmxlWm9vbXx8RmEhPT1BYS5OT05FJiZGYSE9PUFhLlJPVEFURXx8KHNhLnByZXZlbnREZWZhdWx0KCksc2Euc3RvcFByb3BhZ2F0aW9uKCksVy5kaXNwYXRjaEV2ZW50KHZhKSx4KHNhKSxXLmRpc3BhdGNoRXZlbnQoeWEpKX1mdW5jdGlvbiBaKHNhKXshMSE9PVcuZW5hYmxlZCYmITEhPT1XLmVuYWJsZUtleXMmJiExIT09Vy5lbmFibGVQYW4mJkMoc2EpfWZ1bmN0aW9uIGNhKHNhKXtpZighMSE9PVcuZW5hYmxlZCl7c2EucHJldmVudERlZmF1bHQoKTtzd2l0Y2goc2EudG91Y2hlcy5sZW5ndGgpe2Nhc2UgMTpzd2l0Y2goVy50b3VjaGVzLk9ORSl7Y2FzZSBUSFJFRS5UT1VDSC5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47RyhzYSk7RmE9CkFhLlRPVUNIX1JPVEFURTticmVhaztjYXNlIFRIUkVFLlRPVUNILlBBTjppZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtEKHNhKTtGYT1BYS5UT1VDSF9QQU47YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfWJyZWFrO2Nhc2UgMjpzd2l0Y2goVy50b3VjaGVzLlRXTyl7Y2FzZSBUSFJFRS5UT1VDSC5ET0xMWV9QQU46aWYoITE9PT1XLmVuYWJsZVpvb20mJiExPT09Vy5lbmFibGVQYW4pcmV0dXJuO0goc2EpO0ZhPUFhLlRPVUNIX0RPTExZX1BBTjticmVhaztjYXNlIFRIUkVFLlRPVUNILkRPTExZX1JPVEFURTppZighMT09PVcuZW5hYmxlWm9vbSYmITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47SyhzYSk7RmE9QWEuVE9VQ0hfRE9MTFlfUk9UQVRFO2JyZWFrO2RlZmF1bHQ6RmE9QWEuTk9ORX1icmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9RmEhPT1BYS5OT05FJiZXLmRpc3BhdGNoRXZlbnQodmEpfX1mdW5jdGlvbiBqYShzYSl7aWYoITEhPT1XLmVuYWJsZWQpc3dpdGNoKHNhLnByZXZlbnREZWZhdWx0KCksCnNhLnN0b3BQcm9wYWdhdGlvbigpLEZhKXtjYXNlIEFhLlRPVUNIX1JPVEFURTppZighMT09PVcuZW5hYmxlUm90YXRlKWJyZWFrO0woc2EpO1cudXBkYXRlKCk7YnJlYWs7Y2FzZSBBYS5UT1VDSF9QQU46aWYoITE9PT1XLmVuYWJsZVBhbilicmVhaztKKHNhKTtXLnVwZGF0ZSgpO2JyZWFrO2Nhc2UgQWEuVE9VQ0hfRE9MTFlfUEFOOmlmKCExPT09Vy5lbmFibGVab29tJiYhMT09PVcuZW5hYmxlUGFuKWJyZWFrO1Moc2EpO1cudXBkYXRlKCk7YnJlYWs7Y2FzZSBBYS5UT1VDSF9ET0xMWV9ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVpvb20mJiExPT09Vy5lbmFibGVSb3RhdGUpYnJlYWs7TihzYSk7Vy51cGRhdGUoKTticmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9fWZ1bmN0aW9uIGJhKHNhKXshMSE9PVcuZW5hYmxlZCYmKFIoc2EpLFcuZGlzcGF0Y2hFdmVudCh5YSksRmE9QWEuTk9ORSl9ZnVuY3Rpb24ga2Eoc2EpeyExIT09Vy5lbmFibGVkJiZzYS5wcmV2ZW50RGVmYXVsdCgpfXRoaXMub2JqZWN0PQpiO3RoaXMuZG9tRWxlbWVudD12b2lkIDAhPT1kP2Q6ZG9jdW1lbnQ7dGhpcy5lbmFibGVkPSEwO3RoaXMudGFyZ2V0PW5ldyBUSFJFRS5WZWN0b3IzO3RoaXMubWluRGlzdGFuY2U9MDt0aGlzLm1heERpc3RhbmNlPUluZmluaXR5O3RoaXMubWluWm9vbT0wO3RoaXMubWF4Wm9vbT1JbmZpbml0eTt0aGlzLm1pblBvbGFyQW5nbGU9MDt0aGlzLm1heFBvbGFyQW5nbGU9TWF0aC5QSTt0aGlzLm1pbkF6aW11dGhBbmdsZT0tSW5maW5pdHk7dGhpcy5tYXhBemltdXRoQW5nbGU9SW5maW5pdHk7dGhpcy5lbmFibGVEYW1waW5nPSExO3RoaXMuZGFtcGluZ0ZhY3Rvcj0uMDU7dGhpcy5lbmFibGVab29tPSEwO3RoaXMuem9vbVNwZWVkPTE7dGhpcy5lbmFibGVSb3RhdGU9ITA7dGhpcy5yb3RhdGVTcGVlZD0xO3RoaXMuZW5hYmxlUGFuPSEwO3RoaXMucGFuU3BlZWQ9MTt0aGlzLnNjcmVlblNwYWNlUGFubmluZz0hMTt0aGlzLmtleVBhblNwZWVkPTc7dGhpcy5hdXRvUm90YXRlPSExO3RoaXMuYXV0b1JvdGF0ZVNwZWVkPQoyO3RoaXMuZW5hYmxlS2V5cz0hMDt0aGlzLmtleXM9e0xFRlQ6MzcsVVA6MzgsUklHSFQ6MzksQk9UVE9NOjQwfTt0aGlzLm1vdXNlQnV0dG9ucz17TEVGVDpUSFJFRS5NT1VTRS5ST1RBVEUsTUlERExFOlRIUkVFLk1PVVNFLkRPTExZLFJJR0hUOlRIUkVFLk1PVVNFLlBBTn07dGhpcy50b3VjaGVzPXtPTkU6VEhSRUUuVE9VQ0guUk9UQVRFLFRXTzpUSFJFRS5UT1VDSC5ET0xMWV9QQU59O3RoaXMudGFyZ2V0MD10aGlzLnRhcmdldC5jbG9uZSgpO3RoaXMucG9zaXRpb24wPXRoaXMub2JqZWN0LnBvc2l0aW9uLmNsb25lKCk7dGhpcy56b29tMD10aGlzLm9iamVjdC56b29tO3RoaXMuZ2V0UG9sYXJBbmdsZT1mdW5jdGlvbigpe3JldHVybiBTYS5waGl9O3RoaXMuZ2V0QXppbXV0aGFsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gU2EudGhldGF9O3RoaXMuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7Vy50YXJnZXQwLmNvcHkoVy50YXJnZXQpO1cucG9zaXRpb24wLmNvcHkoVy5vYmplY3QucG9zaXRpb24pOwpXLnpvb20wPVcub2JqZWN0Lnpvb219O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtXLnRhcmdldC5jb3B5KFcudGFyZ2V0MCk7Vy5vYmplY3QucG9zaXRpb24uY29weShXLnBvc2l0aW9uMCk7Vy5vYmplY3Quem9vbT1XLnpvb20wO1cub2JqZWN0LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtXLmRpc3BhdGNoRXZlbnQoRWEpO1cudXBkYXRlKCk7RmE9QWEuTk9ORX07dGhpcy51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjMsTmI9KG5ldyBUSFJFRS5RdWF0ZXJuaW9uKS5zZXRGcm9tVW5pdFZlY3RvcnMoYi51cCxuZXcgVEhSRUUuVmVjdG9yMygwLDEsMCkpLHljPU5iLmNsb25lKCkuaW52ZXJzZSgpLGRkPW5ldyBUSFJFRS5WZWN0b3IzLHZkPW5ldyBUSFJFRS5RdWF0ZXJuaW9uO3JldHVybiBmdW5jdGlvbigpe3ZhciB3Zz1XLm9iamVjdC5wb3NpdGlvbjtzYS5jb3B5KHdnKS5zdWIoVy50YXJnZXQpO3NhLmFwcGx5UXVhdGVybmlvbihOYik7U2Euc2V0RnJvbVZlY3RvcjMoc2EpOwpXLmF1dG9Sb3RhdGUmJkZhPT09QWEuTk9ORSYmayhmKCkpO1cuZW5hYmxlRGFtcGluZz8oU2EudGhldGErPVhhLnRoZXRhKlcuZGFtcGluZ0ZhY3RvcixTYS5waGkrPVhhLnBoaSpXLmRhbXBpbmdGYWN0b3IpOihTYS50aGV0YSs9WGEudGhldGEsU2EucGhpKz1YYS5waGkpO1NhLnRoZXRhPU1hdGgubWF4KFcubWluQXppbXV0aEFuZ2xlLE1hdGgubWluKFcubWF4QXppbXV0aEFuZ2xlLFNhLnRoZXRhKSk7U2EucGhpPU1hdGgubWF4KFcubWluUG9sYXJBbmdsZSxNYXRoLm1pbihXLm1heFBvbGFyQW5nbGUsU2EucGhpKSk7U2EubWFrZVNhZmUoKTtTYS5yYWRpdXMqPXViO1NhLnJhZGl1cz1NYXRoLm1heChXLm1pbkRpc3RhbmNlLE1hdGgubWluKFcubWF4RGlzdGFuY2UsU2EucmFkaXVzKSk7ITA9PT1XLmVuYWJsZURhbXBpbmc/Vy50YXJnZXQuYWRkU2NhbGVkVmVjdG9yKEJiLFcuZGFtcGluZ0ZhY3Rvcik6Vy50YXJnZXQuYWRkKEJiKTtzYS5zZXRGcm9tU3BoZXJpY2FsKFNhKTtzYS5hcHBseVF1YXRlcm5pb24oeWMpOwp3Zy5jb3B5KFcudGFyZ2V0KS5hZGQoc2EpO1cub2JqZWN0Lmxvb2tBdChXLnRhcmdldCk7ITA9PT1XLmVuYWJsZURhbXBpbmc/KFhhLnRoZXRhKj0xLVcuZGFtcGluZ0ZhY3RvcixYYS5waGkqPTEtVy5kYW1waW5nRmFjdG9yLEJiLm11bHRpcGx5U2NhbGFyKDEtVy5kYW1waW5nRmFjdG9yKSk6KFhhLnNldCgwLDAsMCksQmIuc2V0KDAsMCwwKSk7dWI9MTtyZXR1cm4gcWJ8fGRkLmRpc3RhbmNlVG9TcXVhcmVkKFcub2JqZWN0LnBvc2l0aW9uKT54YXx8OCooMS12ZC5kb3QoVy5vYmplY3QucXVhdGVybmlvbikpPnhhPyhXLmRpc3BhdGNoRXZlbnQoRWEpLGRkLmNvcHkoVy5vYmplY3QucG9zaXRpb24pLHZkLmNvcHkoVy5vYmplY3QucXVhdGVybmlvbikscWI9ITEsITApOiExfX0oKTt0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGthLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwKWCwhMSk7Vy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixvYSwhMSk7Vy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGNhLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGJhLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixqYSwhMSk7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixhYSwhMSk7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZmEsITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixaLCExKX07dmFyIFc9dGhpcyxFYT17dHlwZToiY2hhbmdlIn0sdmE9e3R5cGU6InN0YXJ0In0seWE9e3R5cGU6ImVuZCJ9LEFhPXtOT05FOi0xLFJPVEFURTowLERPTExZOjEsUEFOOjIsVE9VQ0hfUk9UQVRFOjMsVE9VQ0hfUEFOOjQsVE9VQ0hfRE9MTFlfUEFOOjUsVE9VQ0hfRE9MTFlfUk9UQVRFOjZ9LApGYT1BYS5OT05FLHhhPTFFLTYsU2E9bmV3IFRIUkVFLlNwaGVyaWNhbCxYYT1uZXcgVEhSRUUuU3BoZXJpY2FsLHViPTEsQmI9bmV3IFRIUkVFLlZlY3RvcjMscWI9ITEsemI9bmV3IFRIUkVFLlZlY3RvcjIsdmI9bmV3IFRIUkVFLlZlY3RvcjIsR2I9bmV3IFRIUkVFLlZlY3RvcjIsT2I9bmV3IFRIUkVFLlZlY3RvcjIsQWI9bmV3IFRIUkVFLlZlY3RvcjIsSGI9bmV3IFRIUkVFLlZlY3RvcjIsbGM9bmV3IFRIUkVFLlZlY3RvcjIsZWM9bmV3IFRIUkVFLlZlY3RvcjIsUWQ9bmV3IFRIUkVFLlZlY3RvcjIsdGQ9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjM7cmV0dXJuIGZ1bmN0aW9uKE5iLHljKXtzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDApO3NhLm11bHRpcGx5U2NhbGFyKC1OYik7QmIuYWRkKHNhKX19KCksTmM9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjM7cmV0dXJuIGZ1bmN0aW9uKE5iLHljKXshMD09PVcuc2NyZWVuU3BhY2VQYW5uaW5nPwpzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDEpOihzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDApLHNhLmNyb3NzVmVjdG9ycyhXLm9iamVjdC51cCxzYSkpO3NhLm11bHRpcGx5U2NhbGFyKE5iKTtCYi5hZGQoc2EpfX0oKSx1ZD1mdW5jdGlvbigpe3ZhciBzYT1uZXcgVEhSRUUuVmVjdG9yMztyZXR1cm4gZnVuY3Rpb24oTmIseWMpe3ZhciBkZD1XLmRvbUVsZW1lbnQ9PT1kb2N1bWVudD9XLmRvbUVsZW1lbnQuYm9keTpXLmRvbUVsZW1lbnQ7aWYoVy5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYSl7c2EuY29weShXLm9iamVjdC5wb3NpdGlvbikuc3ViKFcudGFyZ2V0KTt2YXIgdmQ9c2EubGVuZ3RoKCk7dmQqPU1hdGgudGFuKFcub2JqZWN0LmZvdi8yKk1hdGguUEkvMTgwKTt0ZCgyKk5iKnZkL2RkLmNsaWVudEhlaWdodCxXLm9iamVjdC5tYXRyaXgpO05jKDIqeWMqdmQvZGQuY2xpZW50SGVpZ2h0LFcub2JqZWN0Lm1hdHJpeCl9ZWxzZSBXLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8KKHRkKE5iKihXLm9iamVjdC5yaWdodC1XLm9iamVjdC5sZWZ0KS9XLm9iamVjdC56b29tL2RkLmNsaWVudFdpZHRoLFcub2JqZWN0Lm1hdHJpeCksTmMoeWMqKFcub2JqZWN0LnRvcC1XLm9iamVjdC5ib3R0b20pL1cub2JqZWN0Lnpvb20vZGQuY2xpZW50SGVpZ2h0LFcub2JqZWN0Lm1hdHJpeCkpOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIHBhbiBkaXNhYmxlZC4iKSxXLmVuYWJsZVBhbj0hMSl9fSgpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsa2EsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFgsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsb2EsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixjYSwhMSk7Vy5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwKYmEsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGphLCExKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsWiwhMSk7dGhpcy51cGRhdGUoKX07VEhSRUUuT3JiaXRDb250cm9scy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlKTtUSFJFRS5PcmJpdENvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1USFJFRS5PcmJpdENvbnRyb2xzO1RIUkVFLk1hcENvbnRyb2xzPWZ1bmN0aW9uKGIsZCl7VEhSRUUuT3JiaXRDb250cm9scy5jYWxsKHRoaXMsYixkKTt0aGlzLm1vdXNlQnV0dG9ucy5MRUZUPVRIUkVFLk1PVVNFLlBBTjt0aGlzLm1vdXNlQnV0dG9ucy5SSUdIVD1USFJFRS5NT1VTRS5ST1RBVEU7dGhpcy50b3VjaGVzLk9ORT1USFJFRS5UT1VDSC5QQU47dGhpcy50b3VjaGVzLlRXTz1USFJFRS5UT1VDSC5ET0xMWV9ST1RBVEV9OwpUSFJFRS5NYXBDb250cm9scy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlKTtUSFJFRS5NYXBDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3I9VEhSRUUuTWFwQ29udHJvbHM7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy9hcnJheS1idWZmZXItZGF0YS1wcm92aWRlci5qcwp2YXIgZmw7CihmdW5jdGlvbihiKXtiLkVycm9yQ29kZXM9e0NBTkNFTExFRDoxfTtjb25zdCBkPXtWRVJURVg6MSxGQUNFOjIsQ09MT1I6M30sZj17VkVSVEVYOiJmbG9hdDMyIixGQUNFOiJpbnQzMiIsQ09MT1I6InVpbnQ4In07Y2xhc3MgaHtjb25zdHJ1Y3RvcihrKXt0aGlzLl9yZXF1ZXN0TWFuYWdlcj1rO3RoaXMuX2NhbmNlbGxlcj1uZXcgZGMuQ2FuY2VsbGVyfXJlbG9hZChrLHIsbCl7dGhpcy5fY2FuY2VsbGVyLmNhbmNlbEFsbCgpO3JldHVybiB0aGlzLl9mZXRjaE1ldGFkYXRhKGsscixsKX1fZmV0Y2hEYXRhQnlTdGVwKGsscixsLHAsbSxuKXtmdW5jdGlvbiBxKHUpe2xldCB3PVtdO2ZvcihsZXQgQT0wO0E8dS5sZW5ndGgvMztBKyspe2xldCB5PVtdO2ZvcihsZXQgeD0wOzM+eDt4KyspeS5wdXNoKHVbMypBK3hdKTt3LnB1c2goeSl9cmV0dXJuIHd9az1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9kYXRhIixuZXcgVVJMU2VhcmNoUGFyYW1zKHt0YWc6cixydW46aywKY29udGVudF90eXBlOmwsc2FtcGxlOnAsc3RlcDptfSkpO3I9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHU9PntpZih1LmNhbmNlbGxlZClyZXR1cm4gUHJvbWlzZS5yZWplY3Qoe2NvZGU6Yi5FcnJvckNvZGVzLkNBTkNFTExFRCxtZXNzYWdlOiJSZXNwb25zZSB3YXMgaW52YWxpZGF0ZWQuIn0pO3U9dS52YWx1ZTtzd2l0Y2gobCl7Y2FzZSAiVkVSVEVYIjpuLnZlcnRpY2VzPXEobmV3IEZsb2F0MzJBcnJheSh1KSk7YnJlYWs7Y2FzZSAiRkFDRSI6bi5mYWNlcz1xKG5ldyBJbnQzMkFycmF5KHUpKTticmVhaztjYXNlICJDT0xPUiI6bi5jb2xvcnM9cShuZXcgVWludDhBcnJheSh1KSl9cmV0dXJuIG59KTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIuZmV0Y2goayxudWxsLCJhcnJheWJ1ZmZlciIsZltsXSkudGhlbih1PT51LmFycmF5QnVmZmVyKCkpLnRoZW4ocil9ZmV0Y2hEYXRhKGsscixsLHApe2xldCBtPVtdLG49bmV3IE1hcDtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKHE9Pgp7ay5jb21wb25lbnRzJjE8PGRbcV0mJm0ucHVzaCh0aGlzLl9mZXRjaERhdGFCeVN0ZXAocixsLHEscCxrLnN0ZXAsbikpfSk7cmV0dXJuIFByb21pc2UuYWxsKG0pfV9mZXRjaE1ldGFkYXRhKGsscixsKXt0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7az1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9tZXNoZXMiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzpyLHJ1bjprLHNhbXBsZTpsfSkpO3I9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHA9PnAuY2FuY2VsbGVkP1Byb21pc2UucmVqZWN0KHtjb2RlOmIuRXJyb3JDb2Rlcy5DQU5DRUxMRUQsbWVzc2FnZToiUmVzcG9uc2Ugd2FzIGludmFsaWRhdGVkLiJ9KTpwLnZhbHVlKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIuZmV0Y2goaykudGhlbihwPT5wLmpzb24oKSkudGhlbihyKS50aGVuKHRoaXMuX3Byb2Nlc3NNZXRhZGF0YS5iaW5kKHRoaXMpKX1fcHJvY2Vzc01ldGFkYXRhKGspe2lmKGspe3ZhciByPQpuZXcgTWFwO2ZvcihsZXQgcD0wO3A8ay5sZW5ndGg7cCsrKXtsZXQgbT1rW3BdO3IuaGFzKG0uc3RlcCl8fHIuc2V0KG0uc3RlcCxbXSk7ci5nZXQobS5zdGVwKS5wdXNoKG0pfXZhciBsPVtdO3IuZm9yRWFjaChwPT57cD10aGlzLl9jcmVhdGVTdGVwRGF0dW0ocFswXSk7bC5wdXNoKHApfSk7cmV0dXJuIGx9fV9jcmVhdGVTdGVwRGF0dW0oayl7cmV0dXJue3dhbGxfdGltZTpuZXcgRGF0ZSgxRTMqay53YWxsX3RpbWUpLHN0ZXA6ay5zdGVwLGNvbmZpZzprLmNvbmZpZyxjb250ZW50X3R5cGU6ay5jb250ZW50X3R5cGUsY29tcG9uZW50czprLmNvbXBvbmVudHN9fX1iLkFycmF5QnVmZmVyRGF0YVByb3ZpZGVyPWh9KShmbHx8KGZsPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy9tZXNoLXZpZXdlci5qcwooZnVuY3Rpb24oYil7Y2xhc3MgZCBleHRlbmRzIFRIUkVFLkV2ZW50RGlzcGF0Y2hlcntjb25zdHJ1Y3RvcihmKXtzdXBlcigpO3RoaXMuX2xhc3RNZXNoPW51bGw7dGhpcy5fY2xvY2s9bmV3IFRIUkVFLkNsb2NrO3RoaXMuX2NhbnZhc1NpemU9bnVsbDt0aGlzLl9ydW5Db2xvcj1mfV9pc09iamVjdChmKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPWYmJiFBcnJheS5pc0FycmF5KGYpfV9hcHBseURlZmF1bHRzKGYsaCl7bGV0IGs9e307Zj1bZixoXTtmb3IoaD0wO2g8Zi5sZW5ndGg7aCsrKXtjb25zdCByPWZbaF07Zm9yKGxldCBsIGluIHIpe2NvbnN0IHA9bCBpbiBrO3RoaXMuX2lzT2JqZWN0KHJbbF0pP2tbbF09dGhpcy5fYXBwbHlEZWZhdWx0cyhrW2xdfHx7fSxyW2xdKTpwfHwoa1tsXT1yW2xdKX19cmV0dXJuIGt9X2NyZWF0ZVdvcmxkKGYsaCl7dGhpcy5pc1JlYWR5KCl8fCh0aGlzLl9zY2VuZT1uZXcgVEhSRUUuU2NlbmUsdGhpcy5fY2FtZXJhPWY9bmV3IFRIUkVFW2YuY2FtZXJhLmNsc10oZi5jYW1lcmEuZm92LAp0aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LGYuY2FtZXJhLm5lYXIsZi5jYW1lcmEuZmFyKSxoPW5ldyBUSFJFRS5PcmJpdENvbnRyb2xzKGYsaCksaC5sb29rU3BlZWQ9LjQsaC5tb3ZlbWVudFNwZWVkPTIwLGgubm9GbHk9ITAsaC5sb29rVmVydGljYWw9ITAsaC5jb25zdHJhaW5WZXJ0aWNhbD0hMCxoLnZlcnRpY2FsTWluPTEsaC52ZXJ0aWNhbE1heD0yLGguYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlLmJpbmQodGhpcykpLHRoaXMuX2NhbWVyYUNvbnRyb2xzPWgsdGhpcy5fcmVuZGVyZXI9bmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoe2FudGlhbGlhczohMH0pLHRoaXMuX3JlbmRlcmVyLnNldFBpeGVsUmF0aW8oKSx0aGlzLl9yZW5kZXJlci5zZXRTaXplKHRoaXMuX2NhbnZhc1NpemUud2lkdGgsdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQpLHRoaXMuX3JlbmRlcmVyLnNldENsZWFyQ29sb3IoMTY3NzcyMTUsCjEpKX1fY2xlYXJTY2VuZSgpe2Zvcig7MDx0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGg7KXRoaXMuX3NjZW5lLnJlbW92ZSh0aGlzLl9zY2VuZS5jaGlsZHJlblswXSl9Z2V0UmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9Z2V0Q2FtZXJhQ29udHJvbHMoKXtyZXR1cm4gdGhpcy5fY2FtZXJhQ29udHJvbHN9aXNSZWFkeSgpe3JldHVybiEhdGhpcy5fY2FtZXJhJiYhIXRoaXMuX2NhbWVyYUNvbnRyb2xzfWdldENhbWVyYVBvc2l0aW9uKCl7cmV0dXJue2Zhcjp0aGlzLl9jYW1lcmEuZmFyLHBvc2l0aW9uOnRoaXMuX2NhbWVyYS5wb3NpdGlvbi5jbG9uZSgpLHRhcmdldDp0aGlzLl9jYW1lcmFDb250cm9scy50YXJnZXQuY2xvbmUoKX19c2V0Q2FudmFzU2l6ZShmKXt0aGlzLl9jYW52YXNTaXplPWZ9ZHJhdygpe3RoaXMuX2FuaW1hdGlvbkZyYW1lSW5kZXgmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2FuaW1hdGlvbkZyYW1lSW5kZXgpO3RoaXMuX2NhbWVyYS5hc3BlY3Q9CnRoaXMuX2NhbnZhc1NpemUud2lkdGgvdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQ7dGhpcy5fY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTt0aGlzLl9yZW5kZXJlci5zZXRTaXplKHRoaXMuX2NhbnZhc1NpemUud2lkdGgsdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQpO2NvbnN0IGY9ZnVuY3Rpb24oKXt2YXIgaD10aGlzLl9jbG9jay5nZXREZWx0YSgpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZShoKTt0aGlzLl9hbmltYXRpb25GcmFtZUluZGV4PXJlcXVlc3RBbmltYXRpb25GcmFtZShmKTt0aGlzLl9yZW5kZXJlci5yZW5kZXIodGhpcy5fc2NlbmUsdGhpcy5fY2FtZXJhKX0uYmluZCh0aGlzKTtmKCl9dXBkYXRlU2NlbmUoZixoKXtsZXQgaz17fTsiY29uZmlnImluIGYmJmYuY29uZmlnJiYoaz1KU09OLnBhcnNlKGYuY29uZmlnKSk7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJiZWZvcmVVcGRhdGVTY2VuZSJ9KTtrPXRoaXMuX2FwcGx5RGVmYXVsdHMoayx7Y2FtZXJhOntjbHM6IlBlcnNwZWN0aXZlQ2FtZXJhIiwKZm92Ojc1LG5lYXI6LjEsZmFyOjFFM30sbGlnaHRzOlt7Y2xzOiJBbWJpZW50TGlnaHQiLGNvbG9yOiIjZmZmZmZmIixpbnRlbnNpdHk6Ljc1fSx7Y2xzOiJEaXJlY3Rpb25hbExpZ2h0Iixjb2xvcjoiI2ZmZmZmZiIsaW50ZW5zaXR5Oi43NSxwb3NpdGlvbjpbMCwtMSwyXX1dfSk7dGhpcy5fY3JlYXRlV29ybGQoayxoKTt0aGlzLl9jbGVhclNjZW5lKCk7dGhpcy5fY3JlYXRlTGlnaHRzKHRoaXMuX3NjZW5lLGspO3RoaXMuX2NyZWF0ZUdlb21ldHJ5KGYsayk7dGhpcy5kcmF3KCl9cmVzZXRWaWV3KCl7aWYodGhpcy5pc1JlYWR5KCkpe3RoaXMuX2NhbWVyYUNvbnRyb2xzLnJlc2V0KCk7aWYoIWYmJnRoaXMuX2xhc3RNZXNoKXZhciBmPXRoaXMuX2xhc3RNZXNoO2YmJih0aGlzLl9maXRPYmplY3RUb1ZpZXdwb3J0KGYpLHRoaXMuX2xhc3RNZXNoPWYpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZSgpfX1fY3JlYXRlR2VvbWV0cnkoZixoKXtmPWYubWVzaDtmLnZlcnRpY2VzJiZmLmZhY2VzJiYKZi5mYWNlcy5sZW5ndGg/dGhpcy5fY3JlYXRlTWVzaChmLGgpOnRoaXMuX2NyZWF0ZVBvaW50Q2xvdWQoZixoKX1fY3JlYXRlUG9pbnRDbG91ZChmLGgpe3ZhciBrPWYudmVydGljZXM7Zj1mLmNvbG9ycztsZXQgcj17bWF0ZXJpYWw6e2NsczoiUG9pbnRzTWF0ZXJpYWwiLHNpemU6LjAwNX19O2YmJmYubGVuZ3RoPT1rLmxlbmd0aD9yLm1hdGVyaWFsLnZlcnRleENvbG9ycz1USFJFRS5WZXJ0ZXhDb2xvcnM6ci5tYXRlcmlhbC5jb2xvcj10aGlzLl9ydW5Db2xvcjtoPXRoaXMuX2FwcGx5RGVmYXVsdHMoaCxyKTt2YXIgbD1uZXcgVEhSRUUuR2VvbWV0cnk7ay5mb3JFYWNoKGZ1bmN0aW9uKHApe3ZhciBtPW5ldyBUSFJFRS5WZWN0b3IzKHBbMF0scFsxXSxwWzJdKTttLng9MSpwWzBdO20ueT0xKnBbMV07bS56PTEqcFsyXTtsLnZlcnRpY2VzLnB1c2gobSl9KTtmJiZmLmxlbmd0aD09ay5sZW5ndGgmJmYuZm9yRWFjaChmdW5jdGlvbihwKXtwPW5ldyBUSFJFRS5Db2xvcihwWzBdLzI1NSwKcFsxXS8yNTUscFsyXS8yNTUpO2wuY29sb3JzLnB1c2gocCl9KTtrPW5ldyBUSFJFRVtoLm1hdGVyaWFsLmNsc10oaC5tYXRlcmlhbCk7az1uZXcgVEhSRUUuUG9pbnRzKGwsayk7dGhpcy5fc2NlbmUuYWRkKGspO3RoaXMuX2xhc3RNZXNoPWt9c2V0Q2FtZXJhVmlld3BvaW50KGYsaCxrKXt0aGlzLl9zaWxlbnQ9ITA7dGhpcy5fY2FtZXJhLmZhcj1oO3RoaXMuX2NhbWVyYS5wb3NpdGlvbi5zZXQoZi54LGYueSxmLnopO3RoaXMuX2NhbWVyYS5sb29rQXQoay5jbG9uZSgpKTt0aGlzLl9jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnRhcmdldD1rLmNsb25lKCk7dGhpcy5fY2FtZXJhQ29udHJvbHMudXBkYXRlKCk7dGhpcy5fc2lsZW50PSExfV9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlKGYpe3RoaXMuX3NpbGVudHx8dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJjYW1lcmFQb3NpdGlvbkNoYW5nZSIsZXZlbnQ6Zn0pfV9maXRPYmplY3RUb1ZpZXdwb3J0KGYpe3ZhciBoPQpuZXcgVEhSRUUuQm94MztoLnNldEZyb21PYmplY3QoZik7Zj1oLmNlbnRlcigpO3ZhciBrPWguc2l6ZSgpO2s9MS4yNSpNYXRoLmFicyhNYXRoLm1heChrLngsay55LGsueikvKDIqTWF0aC50YW4oTWF0aC5QSS8xODAqdGhpcy5fY2FtZXJhLmZvdi8yKSkpO2g9aC5taW4uejt0aGlzLnNldENhbWVyYVZpZXdwb2ludCh7eDpmLngseTpmLnksejprfSwzKigwPmg/LWgrazprLWgpLGYpfV9jcmVhdGVNZXNoKGYsaCl7dmFyIGs9Zi52ZXJ0aWNlcztjb25zdCByPWYuZmFjZXMsbD1mLmNvbG9ycztmPXRoaXMuX2FwcGx5RGVmYXVsdHMoaCx7bWF0ZXJpYWw6e2NsczoiTWVzaFN0YW5kYXJkTWF0ZXJpYWwiLGNvbG9yOiIjYTBhMGEwIixyb3VnaG5lc3M6MSxtZXRhbG5lc3M6MH19KTtsZXQgcD1uZXcgVEhSRUUuR2VvbWV0cnk7ay5mb3JFYWNoKGZ1bmN0aW9uKG0pe2xldCBuPW5ldyBUSFJFRS5WZWN0b3IzKG1bMF0sbVsxXSxtWzJdKTtuLng9MSptWzBdO24ueT0xKm1bMV07bi56PTEqbVsyXTsKcC52ZXJ0aWNlcy5wdXNoKG4pfSk7ci5mb3JFYWNoKGZ1bmN0aW9uKG0pe2xldCBuPW5ldyBUSFJFRS5GYWNlMyhtWzBdLG1bMV0sbVsyXSk7aWYobCYmbC5sZW5ndGgpe209W2xbbVswXV0sbFttWzFdXSxsW21bMl1dXTtmb3IobGV0IHU9MDt1PG0ubGVuZ3RoO3UrKyl7dmFyIHE9bVt1XTtxPW5ldyBUSFJFRS5Db2xvcihxWzBdLzI1NSxxWzFdLzI1NSxxWzJdLzI1NSk7bi52ZXJ0ZXhDb2xvcnMucHVzaChxKX19cC5mYWNlcy5wdXNoKG4pfSk7bCYmbC5sZW5ndGgmJihmLm1hdGVyaWFsPWYubWF0ZXJpYWx8fHt9LGYubWF0ZXJpYWwudmVydGV4Q29sb3JzPVRIUkVFLlZlcnRleENvbG9ycyk7cC5jZW50ZXIoKTtwLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3AuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtrPW5ldyBUSFJFRVtmLm1hdGVyaWFsLmNsc10oZi5tYXRlcmlhbCk7az1uZXcgVEhSRUUuTWVzaChwLGspO2suY2FzdFNoYWRvdz0hMDtrLnJlY2VpdmVTaGFkb3c9ITA7dGhpcy5fc2NlbmUuYWRkKGspOwp0aGlzLl9sYXN0TWVzaD1rfV9jcmVhdGVMaWdodHMoZixoKXtmb3IobGV0IGs9MDtrPGgubGlnaHRzLmxlbmd0aDtrKyspe2NvbnN0IHI9aC5saWdodHNba107bGV0IGw9bmV3IFRIUkVFW3IuY2xzXShyLmNvbG9yLHIuaW50ZW5zaXR5KTtyLnBvc2l0aW9uJiZsLnBvc2l0aW9uLnNldChyLnBvc2l0aW9uWzBdLHIucG9zaXRpb25bMV0sci5wb3NpdGlvblsyXSk7Zi5hZGQobCl9fX1iLk1lc2hWaWV3ZXI9ZH0pKGZsfHwoZmw9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wbHVnaW4tdXRpbC9tZXNzYWdlLmpzCkpoPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihiLGQsZixoKXtyZXR1cm4gbmV3IChmfHwoZj1Qcm9taXNlKSkoZnVuY3Rpb24oayxyKXtmdW5jdGlvbiBsKG4pe3RyeXttKGgubmV4dChuKSl9Y2F0Y2gocSl7cihxKX19ZnVuY3Rpb24gcChuKXt0cnl7bShoWyJ0aHJvdyJdKG4pKX1jYXRjaChxKXtyKHEpfX1mdW5jdGlvbiBtKG4pe24uZG9uZT9rKG4udmFsdWUpOihuZXcgZihmdW5jdGlvbihxKXtxKG4udmFsdWUpfSkpLnRoZW4obCxwKX1tKChoPWguYXBwbHkoYixkfHxbXSkpLm5leHQoKSl9KX07dmFyIGdsOwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtjbGFzcyBoe2NvbnN0cnVjdG9yKGspe3RoaXMucG9ydD1rO3RoaXMuaWQ9MDt0aGlzLnJlc3BvbnNlV2FpdHM9bmV3IE1hcDt0aGlzLmxpc3RlbmVycz1uZXcgTWFwO3RoaXMucG9ydC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyPT50aGlzLm9uTWVzc2FnZShyKSl9bGlzdGVuKGsscil7dGhpcy5saXN0ZW5lcnMuc2V0KGsscil9dW5saXN0ZW4oayl7dGhpcy5saXN0ZW5lcnMuZGVsZXRlKGspfW9uTWVzc2FnZShrKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3ZhciByPUpTT04ucGFyc2Uoay5kYXRhKTtjb25zdCBsPXIudHlwZSxwPXIuaWQsbT1yLnBheWxvYWQ7dmFyIG49ci5lcnJvcjtpZihyLmlzUmVwbHkpe2lmKHRoaXMucmVzcG9uc2VXYWl0cy5oYXMocCkpe3ZhciB7cmVzb2x2ZTpxLHJlamVjdDp1fT10aGlzLnJlc3BvbnNlV2FpdHMuZ2V0KHApO3RoaXMucmVzcG9uc2VXYWl0cy5kZWxldGUocCk7Cm4/dShFcnJvcihuKSk6cShtKX19ZWxzZXtuPXI9bnVsbDtpZih0aGlzLmxpc3RlbmVycy5oYXMobCkpe2NvbnN0IHc9dGhpcy5saXN0ZW5lcnMuZ2V0KGwpO3RyeXtyPXlpZWxkIHcobSl9Y2F0Y2goQSl7bj1BfX10aGlzLnBvc3RNZXNzYWdlKHtbInR5cGUiXTpsLFsiaWQiXTpwLFsicGF5bG9hZCJdOnIsWyJlcnJvciJdOm4sWyJpc1JlcGx5Il06ITB9KX19KX1wb3N0TWVzc2FnZShrKXt0aGlzLnBvcnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaykpfXNlbmRNZXNzYWdlKGspe2NvbnN0IHI9dGhpcy5pZCsrO3RoaXMucG9zdE1lc3NhZ2Uoe3R5cGU6ImV4cGVyaW1lbnRhbC5SdW5zQ2hhbmdlZCIsaWQ6cixwYXlsb2FkOmssZXJyb3I6bnVsbCxpc1JlcGx5OiExfSk7cmV0dXJuIG5ldyBQcm9taXNlKChsLHApPT57dGhpcy5yZXNwb25zZVdhaXRzLnNldChyLHtyZXNvbHZlOmwscmVqZWN0OnB9KX0pfX1mLklQQz1ofSkoZC5ET19OT1RfVVNFX0lOVEVSTkFMfHwoZC5ET19OT1RfVVNFX0lOVEVSTkFMPQp7fSkpfSkoYi5saWJ8fChiLmxpYj17fSkpfSkoZ2x8fChnbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL3BsdWdpbi1ob3N0LWlwYy5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGYobSxuKXtjb25zdCBxPW5ldyBiLmxpYi5ET19OT1RfVVNFX0lOVEVSTkFMLklQQyhtKTtyLmFkZChxKTtwLnNldChxLG4pO20uc3RhcnQoKTtmb3IoY29uc3QgW3Usd11vZiBsKW09aCh3LHEpLHEubGlzdGVuKHUsbSl9ZnVuY3Rpb24gaChtLG4pe3JldHVybiBxPT57dmFyIHU9cC5nZXQobik7dT1rLmdldCh1KXx8bnVsbDtyZXR1cm4gbSh1LHEpfX1kLnJlZ2lzdGVyUGx1Z2luSWZyYW1lPWZ1bmN0aW9uKG0sbil7ay5zZXQobSx7cGx1Z2luTmFtZTpufSl9O2NvbnN0IGs9bmV3IFdlYWtNYXAscj1uZXcgU2V0LGw9bmV3IE1hcCxwPW5ldyBNYXA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG09PntpZigiZXhwZXJpbWVudGFsLmJvb3RzdHJhcCI9PT1tLmRhdGEpe3ZhciBuPW0ucG9ydHNbMF07biYmKG09bS5zb3VyY2U/bS5zb3VyY2UuZnJhbWVFbGVtZW50Om51bGwpJiZmKG4sbSl9fSk7ZC5icm9hZGNhc3Q9CmZ1bmN0aW9uKCl7dmFyIG09ZGMucnVuc1N0b3JlLmdldFJ1bnMoKTtmb3IodmFyIG4gb2YgcilwLmdldChuKS5pc0Nvbm5lY3RlZHx8KHIuZGVsZXRlKG4pLHAuZGVsZXRlKG4pKTtuPVsuLi5yXS5tYXAocT0+cS5zZW5kTWVzc2FnZShtKSk7cmV0dXJuIFByb21pc2UuYWxsKG4pfTtkLmxpc3Rlbj1mdW5jdGlvbihtLG4pe2wuc2V0KG0sbik7Zm9yKGNvbnN0IHEgb2Ygcil7Y29uc3QgdT1oKG4scSk7cS5saXN0ZW4obSx1KX19O2QudW5saXN0ZW49ZnVuY3Rpb24obSl7bC5kZWxldGUobSk7Zm9yKGNvbnN0IG4gb2YgciluLnVubGlzdGVuKG0pfX0pKGIuaG9zdHx8KGIuaG9zdD17fSkpfSkoZ2x8fChnbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL2NvcmUtaG9zdC1pbXBsLmpzCmdsLmhvc3QubGlzdGVuKCJleHBlcmltZW50YWwuR2V0VVJMUGx1Z2luRGF0YSIsYj0+e2lmKGIpe2I9YHAuJHtiLnBsdWdpbk5hbWV9LmA7dmFyIGQ9e307Zm9yKGxldCBmIGluIGJkLnVybERpY3QpZi5zdGFydHNXaXRoKGIpJiYoZFtmLnN1YnN0cmluZyhiLmxlbmd0aCldPWJkLnVybERpY3RbZl0pO3JldHVybiBkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL3J1bnMtaG9zdC1pbXBsLmpzCmdsLmhvc3QubGlzdGVuKCJleHBlcmltZW50YWwuR2V0UnVucyIsKCk9PmRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpO2RjLnJ1bnNTdG9yZS5hZGRMaXN0ZW5lcigoKT0+Z2wuaG9zdC5icm9hZGNhc3QoKSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmlwcGxlL3BhcGVyLXJpcHBsZS5odG1sLmpzCihmdW5jdGlvbigpe2Z1bmN0aW9uIGIoaCl7dGhpcy5lbGVtZW50PWg7dGhpcy53aWR0aD10aGlzLmJvdW5kaW5nUmVjdC53aWR0aDt0aGlzLmhlaWdodD10aGlzLmJvdW5kaW5nUmVjdC5oZWlnaHQ7dGhpcy5zaXplPU1hdGgubWF4KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfWZ1bmN0aW9uIGQoaCl7dGhpcy5lbGVtZW50PWg7dGhpcy5jb2xvcj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoKS5jb2xvcjt0aGlzLndhdmU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy53YXZlQ29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMud2F2ZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dGhpcy5jb2xvcjt0aGlzLndhdmUuY2xhc3NMaXN0LmFkZCgid2F2ZSIpO3RoaXMud2F2ZUNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJ3YXZlLWNvbnRhaW5lciIpO1BvbHltZXIuZG9tKHRoaXMud2F2ZUNvbnRhaW5lcikuYXBwZW5kQ2hpbGQodGhpcy53YXZlKTt0aGlzLnJlc2V0SW50ZXJhY3Rpb25TdGF0ZSgpfQp2YXIgZj17ZGlzdGFuY2U6ZnVuY3Rpb24oaCxrLHIsbCl7aC09cjtrLT1sO3JldHVybiBNYXRoLnNxcnQoaCpoK2sqayl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdy5iaW5kKHdpbmRvdy5wZXJmb3JtYW5jZSk6RGF0ZS5ub3d9O2IucHJvdG90eXBlPXtnZXQgYm91bmRpbmdSZWN0KCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZnVydGhlc3RDb3JuZXJEaXN0YW5jZUZyb206ZnVuY3Rpb24oaCxrKXt2YXIgcj1mLmRpc3RhbmNlKGgsaywwLDApLGw9Zi5kaXN0YW5jZShoLGssdGhpcy53aWR0aCwwKSxwPWYuZGlzdGFuY2UoaCxrLDAsdGhpcy5oZWlnaHQpO2g9Zi5kaXN0YW5jZShoLGssdGhpcy53aWR0aCx0aGlzLmhlaWdodCk7cmV0dXJuIE1hdGgubWF4KHIsbCxwLGgpfX07ZC5NQVhfUkFESVVTPTMwMDtkLnByb3RvdHlwZT17Z2V0IHJlY2VudGVycygpe3JldHVybiB0aGlzLmVsZW1lbnQucmVjZW50ZXJzfSwKZ2V0IGNlbnRlcigpe3JldHVybiB0aGlzLmVsZW1lbnQuY2VudGVyfSxnZXQgbW91c2VEb3duRWxhcHNlZCgpe2lmKCF0aGlzLm1vdXNlRG93blN0YXJ0KXJldHVybiAwO3ZhciBoPWYubm93KCktdGhpcy5tb3VzZURvd25TdGFydDt0aGlzLm1vdXNlVXBTdGFydCYmKGgtPXRoaXMubW91c2VVcEVsYXBzZWQpO3JldHVybiBofSxnZXQgbW91c2VVcEVsYXBzZWQoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/Zi5ub3coKS10aGlzLm1vdXNlVXBTdGFydDowfSxnZXQgbW91c2VEb3duRWxhcHNlZFNlY29uZHMoKXtyZXR1cm4gdGhpcy5tb3VzZURvd25FbGFwc2VkLzFFM30sZ2V0IG1vdXNlVXBFbGFwc2VkU2Vjb25kcygpe3JldHVybiB0aGlzLm1vdXNlVXBFbGFwc2VkLzFFM30sZ2V0IG1vdXNlSW50ZXJhY3Rpb25TZWNvbmRzKCl7cmV0dXJuIHRoaXMubW91c2VEb3duRWxhcHNlZFNlY29uZHMrdGhpcy5tb3VzZVVwRWxhcHNlZFNlY29uZHN9LGdldCBpbml0aWFsT3BhY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQuaW5pdGlhbE9wYWNpdHl9LApnZXQgb3BhY2l0eURlY2F5VmVsb2NpdHkoKXtyZXR1cm4gdGhpcy5lbGVtZW50Lm9wYWNpdHlEZWNheVZlbG9jaXR5fSxnZXQgcmFkaXVzKCl7dmFyIGg9MS4xKk1hdGgubWluKE1hdGguc3FydCh0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgqdGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoK3RoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQqdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodCksZC5NQVhfUkFESVVTKSs1O3JldHVybiBNYXRoLmFicyhoKigxLU1hdGgucG93KDgwLC0odGhpcy5tb3VzZUludGVyYWN0aW9uU2Vjb25kcy8oMS4xLWgvZC5NQVhfUkFESVVTKi4yKSkpKSl9LGdldCBvcGFjaXR5KCl7cmV0dXJuIHRoaXMubW91c2VVcFN0YXJ0P01hdGgubWF4KDAsdGhpcy5pbml0aWFsT3BhY2l0eS10aGlzLm1vdXNlVXBFbGFwc2VkU2Vjb25kcyp0aGlzLm9wYWNpdHlEZWNheVZlbG9jaXR5KTp0aGlzLmluaXRpYWxPcGFjaXR5fSxnZXQgb3V0ZXJPcGFjaXR5KCl7cmV0dXJuIE1hdGgubWF4KDAsCk1hdGgubWluKC4zKnRoaXMubW91c2VVcEVsYXBzZWRTZWNvbmRzLHRoaXMub3BhY2l0eSkpfSxnZXQgaXNPcGFjaXR5RnVsbHlEZWNheWVkKCl7cmV0dXJuLjAxPnRoaXMub3BhY2l0eSYmdGhpcy5yYWRpdXM+PU1hdGgubWluKHRoaXMubWF4UmFkaXVzLGQuTUFYX1JBRElVUyl9LGdldCBpc1Jlc3RpbmdBdE1heFJhZGl1cygpe3JldHVybiB0aGlzLm9wYWNpdHk+PXRoaXMuaW5pdGlhbE9wYWNpdHkmJnRoaXMucmFkaXVzPj1NYXRoLm1pbih0aGlzLm1heFJhZGl1cyxkLk1BWF9SQURJVVMpfSxnZXQgaXNBbmltYXRpb25Db21wbGV0ZSgpe3JldHVybiB0aGlzLm1vdXNlVXBTdGFydD90aGlzLmlzT3BhY2l0eUZ1bGx5RGVjYXllZDp0aGlzLmlzUmVzdGluZ0F0TWF4UmFkaXVzfSxnZXQgdHJhbnNsYXRpb25GcmFjdGlvbigpe3JldHVybiBNYXRoLm1pbigxLHRoaXMucmFkaXVzL3RoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKjIvTWF0aC5zcXJ0KDIpKX0sZ2V0IHhOb3coKXtyZXR1cm4gdGhpcy54RW5kPwp0aGlzLnhTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueEVuZC10aGlzLnhTdGFydCk6dGhpcy54U3RhcnR9LGdldCB5Tm93KCl7cmV0dXJuIHRoaXMueUVuZD90aGlzLnlTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueUVuZC10aGlzLnlTdGFydCk6dGhpcy55U3RhcnR9LGdldCBpc01vdXNlRG93bigpe3JldHVybiB0aGlzLm1vdXNlRG93blN0YXJ0JiYhdGhpcy5tb3VzZVVwU3RhcnR9LHJlc2V0SW50ZXJhY3Rpb25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuc2xpZGVEaXN0YW5jZT10aGlzLnlFbmQ9dGhpcy54RW5kPXRoaXMueVN0YXJ0PXRoaXMueFN0YXJ0PXRoaXMubW91c2VVcFN0YXJ0PXRoaXMubW91c2VEb3duU3RhcnQ9dGhpcy5tYXhSYWRpdXM9MDt0aGlzLmNvbnRhaW5lck1ldHJpY3M9bmV3IGIodGhpcy5lbGVtZW50KX0sZHJhdzpmdW5jdGlvbigpe3RoaXMud2F2ZS5zdHlsZS5vcGFjaXR5PXRoaXMub3BhY2l0eTt2YXIgaD10aGlzLnJhZGl1cy8KKHRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplLzIpO3ZhciBrPXRoaXMueE5vdy10aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgvMjt2YXIgcj10aGlzLnlOb3ctdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodC8yO3RoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InRyYW5zbGF0ZSgiK2srInB4LCAiK3IrInB4KSI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlM2QoIitrKyJweCwgIityKyJweCwgMCkiO3RoaXMud2F2ZS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlKCIraCsiLCIraCsiKSI7dGhpcy53YXZlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUzZCgiK2grIiwiK2grIiwxKSJ9LGRvd25BY3Rpb246ZnVuY3Rpb24oaCl7dmFyIGs9dGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLzIscj10aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzI7dGhpcy5yZXNldEludGVyYWN0aW9uU3RhdGUoKTt0aGlzLm1vdXNlRG93blN0YXJ0PQpmLm5vdygpO3RoaXMuY2VudGVyPyh0aGlzLnhTdGFydD1rLHRoaXMueVN0YXJ0PXIsdGhpcy5zbGlkZURpc3RhbmNlPWYuZGlzdGFuY2UodGhpcy54U3RhcnQsdGhpcy55U3RhcnQsdGhpcy54RW5kLHRoaXMueUVuZCkpOih0aGlzLnhTdGFydD1oP2guZGV0YWlsLngtdGhpcy5jb250YWluZXJNZXRyaWNzLmJvdW5kaW5nUmVjdC5sZWZ0OnRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC8yLHRoaXMueVN0YXJ0PWg/aC5kZXRhaWwueS10aGlzLmNvbnRhaW5lck1ldHJpY3MuYm91bmRpbmdSZWN0LnRvcDp0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzIpO3RoaXMucmVjZW50ZXJzJiYodGhpcy54RW5kPWssdGhpcy55RW5kPXIsdGhpcy5zbGlkZURpc3RhbmNlPWYuZGlzdGFuY2UodGhpcy54U3RhcnQsdGhpcy55U3RhcnQsdGhpcy54RW5kLHRoaXMueUVuZCkpO3RoaXMubWF4UmFkaXVzPXRoaXMuY29udGFpbmVyTWV0cmljcy5mdXJ0aGVzdENvcm5lckRpc3RhbmNlRnJvbSh0aGlzLnhTdGFydCwKdGhpcy55U3RhcnQpO3RoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS50b3A9KHRoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQtdGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUpLzIrInB4Ijt0aGlzLndhdmVDb250YWluZXIuc3R5bGUubGVmdD0odGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKS8yKyJweCI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLndpZHRoPXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKyJweCI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLmhlaWdodD10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSsicHgifSx1cEFjdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNNb3VzZURvd24mJih0aGlzLm1vdXNlVXBTdGFydD1mLm5vdygpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7UG9seW1lci5kb20odGhpcy53YXZlQ29udGFpbmVyLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKHRoaXMud2F2ZUNvbnRhaW5lcil9fTtQb2x5bWVyKHtpczoicGFwZXItcmlwcGxlIiwKYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yXSxwcm9wZXJ0aWVzOntpbml0aWFsT3BhY2l0eTp7dHlwZTpOdW1iZXIsdmFsdWU6LjI1fSxvcGFjaXR5RGVjYXlWZWxvY2l0eTp7dHlwZTpOdW1iZXIsdmFsdWU6Ljh9LHJlY2VudGVyczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjZW50ZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmlwcGxlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sYW5pbWF0aW5nOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfSxob2xkRG93bjp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaG9sZERvd25DaGFuZ2VkIn0sbm9pbms6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2FuaW1hdGluZzp7dHlwZTpCb29sZWFufSxfYm91bmRBbmltYXRlOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYW5pbWF0ZS5iaW5kKHRoaXMpfX19LApnZXQgdGFyZ2V0KCl7cmV0dXJuIHRoaXMua2V5RXZlbnRUYXJnZXR9LGtleUJpbmRpbmdzOnsiZW50ZXI6a2V5ZG93biI6Il9vbkVudGVyS2V5ZG93biIsInNwYWNlOmtleWRvd24iOiJfb25TcGFjZUtleWRvd24iLCJzcGFjZTprZXl1cCI6Il9vblNwYWNlS2V5dXAifSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciBoPXRoaXMua2V5RXZlbnRUYXJnZXQ9MTE9PXRoaXMucGFyZW50Tm9kZS5ub2RlVHlwZT9Qb2x5bWVyLmRvbSh0aGlzKS5nZXRPd25lclJvb3QoKS5ob3N0OnRoaXMucGFyZW50Tm9kZTt0aGlzLmxpc3RlbihoLCJ1cCIsInVpVXBBY3Rpb24iKTt0aGlzLmxpc3RlbihoLCJkb3duIiwidWlEb3duQWN0aW9uIil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51bmxpc3Rlbih0aGlzLmtleUV2ZW50VGFyZ2V0LCJ1cCIsInVpVXBBY3Rpb24iKTt0aGlzLnVubGlzdGVuKHRoaXMua2V5RXZlbnRUYXJnZXQsImRvd24iLCJ1aURvd25BY3Rpb24iKTt0aGlzLmtleUV2ZW50VGFyZ2V0PQpudWxsfSxnZXQgc2hvdWxkS2VlcEFuaW1hdGluZygpe2Zvcih2YXIgaD0wO2g8dGhpcy5yaXBwbGVzLmxlbmd0aDsrK2gpaWYoIXRoaXMucmlwcGxlc1toXS5pc0FuaW1hdGlvbkNvbXBsZXRlKXJldHVybiEwO3JldHVybiExfSxzaW11bGF0ZWRSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLmRvd25BY3Rpb24obnVsbCk7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMudXBBY3Rpb24oKX0sMSl9LHVpRG93bkFjdGlvbjpmdW5jdGlvbihoKXt0aGlzLm5vaW5rfHx0aGlzLmRvd25BY3Rpb24oaCl9LGRvd25BY3Rpb246ZnVuY3Rpb24oaCl7dGhpcy5ob2xkRG93biYmMDx0aGlzLnJpcHBsZXMubGVuZ3RofHwodGhpcy5hZGRSaXBwbGUoKS5kb3duQWN0aW9uKGgpLHRoaXMuX2FuaW1hdGluZ3x8KHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSkpfSx1aVVwQWN0aW9uOmZ1bmN0aW9uKGgpe3RoaXMubm9pbmt8fHRoaXMudXBBY3Rpb24oaCl9LHVwQWN0aW9uOmZ1bmN0aW9uKGgpe3RoaXMuaG9sZERvd258fAoodGhpcy5yaXBwbGVzLmZvckVhY2goZnVuY3Rpb24oayl7ay51cEFjdGlvbihoKX0pLHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSl9LG9uQW5pbWF0aW9uQ29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLl9hbmltYXRpbmc9ITE7dGhpcy4kLmJhY2tncm91bmQuc3R5bGUuYmFja2dyb3VuZENvbG9yPW51bGw7dGhpcy5maXJlKCJ0cmFuc2l0aW9uZW5kIil9LGFkZFJpcHBsZTpmdW5jdGlvbigpe3ZhciBoPW5ldyBkKHRoaXMpO1BvbHltZXIuZG9tKHRoaXMuJC53YXZlcykuYXBwZW5kQ2hpbGQoaC53YXZlQ29udGFpbmVyKTt0aGlzLiQuYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9aC5jb2xvcjt0aGlzLnJpcHBsZXMucHVzaChoKTt0aGlzLl9zZXRBbmltYXRpbmcoITApO3JldHVybiBofSxyZW1vdmVSaXBwbGU6ZnVuY3Rpb24oaCl7dmFyIGs9dGhpcy5yaXBwbGVzLmluZGV4T2YoaCk7MD5rfHwodGhpcy5yaXBwbGVzLnNwbGljZShrLDEpLGgucmVtb3ZlKCksCnRoaXMucmlwcGxlcy5sZW5ndGh8fHRoaXMuX3NldEFuaW1hdGluZyghMSkpfSxhbmltYXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5fYW5pbWF0aW5nKXt2YXIgaDtmb3IoaD0wO2g8dGhpcy5yaXBwbGVzLmxlbmd0aDsrK2gpe3ZhciBrPXRoaXMucmlwcGxlc1toXTtrLmRyYXcoKTt0aGlzLiQuYmFja2dyb3VuZC5zdHlsZS5vcGFjaXR5PWsub3V0ZXJPcGFjaXR5O2suaXNPcGFjaXR5RnVsbHlEZWNheWVkJiYhay5pc1Jlc3RpbmdBdE1heFJhZGl1cyYmdGhpcy5yZW1vdmVSaXBwbGUoayl9aWYodGhpcy5zaG91bGRLZWVwQW5pbWF0aW5nfHwwIT09dGhpcy5yaXBwbGVzLmxlbmd0aCl3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2JvdW5kQW5pbWF0ZSk7ZWxzZSB0aGlzLm9uQW5pbWF0aW9uQ29tcGxldGUoKX19LF9vbkVudGVyS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCk7dGhpcy5hc3luYyh0aGlzLnVpVXBBY3Rpb24sMSl9LF9vblNwYWNlS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCl9LApfb25TcGFjZUtleXVwOmZ1bmN0aW9uKCl7dGhpcy51aVVwQWN0aW9uKCl9LF9ob2xkRG93bkNoYW5nZWQ6ZnVuY3Rpb24oaCxrKXt2b2lkIDAhPT1rJiYoaD90aGlzLmRvd25BY3Rpb24oKTp0aGlzLnVwQWN0aW9uKCkpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1idXR0b24vcGFwZXItYnV0dG9uLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLWJ1dHRvbiIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVyQnV0dG9uQmVoYXZpb3JdLHByb3BlcnRpZXM6e3JhaXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMSxvYnNlcnZlcjoiX2NhbGN1bGF0ZUVsZXZhdGlvbiJ9fSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5yYWlzZWQ/UG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9ySW1wbC5fY2FsY3VsYXRlRWxldmF0aW9uLmFwcGx5KHRoaXMpOnRoaXMuX3NldEVsZXZhdGlvbigwKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1jaGVja2JveC9wYXBlci1jaGVja2JveC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1jaGVja2JveCIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImNoZWNrYm94IiwiYXJpYS1jaGVja2VkIjohMSx0YWJpbmRleDowfSxwcm9wZXJ0aWVzOnthcmlhQWN0aXZlQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZToiYXJpYS1jaGVja2VkIn19LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtpZigiLTFweCI9PT10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplIikudHJpbSgpKXt2YXIgYj10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUiKS50cmltKCksZD0icHgiLGY9Yi5tYXRjaCgvW0EtWmEtel0rJC8pO251bGwhPT1mJiYoZD1mWzBdKTtiPXBhcnNlRmxvYXQoYik7CmY9OC8zKmI7InB4Ij09PWQmJihmPU1hdGguZmxvb3IoZiksZiUyIT09YiUyJiZmKyspO3RoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci1jaGVja2JveC1pbmstc2l6ZSI6ZitkfSl9fSl9LF9jb21wdXRlQ2hlY2tib3hDbGFzczpmdW5jdGlvbihiLGQpe3ZhciBmPSIiO2ImJihmKz0iY2hlY2tlZCAiKTtkJiYoZis9ImludmFsaWQiKTtyZXR1cm4gZn0sX2NvbXB1dGVDaGVja21hcmtDbGFzczpmdW5jdGlvbihiKXtyZXR1cm4gYj8iIjoiaGlkZGVuIn0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQuY2hlY2tib3hDb250YWluZXI7cmV0dXJuIFBvbHltZXIuUGFwZXJJbmt5Rm9jdXNCZWhhdmlvckltcGwuX2NyZWF0ZVJpcHBsZS5jYWxsKHRoaXMpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taWNvbi9pcm9uLWljb24uaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1pY29uIixwcm9wZXJ0aWVzOntpY29uOnt0eXBlOlN0cmluZ30sdGhlbWU6e3R5cGU6U3RyaW5nfSxzcmM6e3R5cGU6U3RyaW5nfSxfbWV0YTp7dmFsdWU6UG9seW1lci5CYXNlLmNyZWF0ZSgiaXJvbi1tZXRhIix7dHlwZToiaWNvbnNldCJ9KX19LG9ic2VydmVyczpbIl91cGRhdGVJY29uKF9tZXRhLCBpc0F0dGFjaGVkKSIsIl91cGRhdGVJY29uKHRoZW1lLCBpc0F0dGFjaGVkKSIsIl9zcmNDaGFuZ2VkKHNyYywgaXNBdHRhY2hlZCkiLCJfaWNvbkNoYW5nZWQoaWNvbiwgaXNBdHRhY2hlZCkiXSxfREVGQVVMVF9JQ09OU0VUOiJpY29ucyIsX2ljb25DaGFuZ2VkOmZ1bmN0aW9uKGIpe2I9KGJ8fCIiKS5zcGxpdCgiOiIpO3RoaXMuX2ljb25OYW1lPWIucG9wKCk7dGhpcy5faWNvbnNldE5hbWU9Yi5wb3AoKXx8dGhpcy5fREVGQVVMVF9JQ09OU0VUO3RoaXMuX3VwZGF0ZUljb24oKX0sX3NyY0NoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVJY29uKCl9LApfdXNlc0ljb25zZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pY29ufHwhdGhpcy5zcmN9LF91cGRhdGVJY29uOmZ1bmN0aW9uKCl7dGhpcy5fdXNlc0ljb25zZXQoKT8odGhpcy5faW1nJiZ0aGlzLl9pbWcucGFyZW50Tm9kZSYmUG9seW1lci5kb20odGhpcy5yb290KS5yZW1vdmVDaGlsZCh0aGlzLl9pbWcpLCIiPT09dGhpcy5faWNvbk5hbWU/dGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpOnRoaXMuX2ljb25zZXROYW1lJiZ0aGlzLl9tZXRhJiYoKHRoaXMuX2ljb25zZXQ9dGhpcy5fbWV0YS5ieUtleSh0aGlzLl9pY29uc2V0TmFtZSkpPyh0aGlzLl9pY29uc2V0LmFwcGx5SWNvbih0aGlzLHRoaXMuX2ljb25OYW1lLHRoaXMudGhlbWUpLHRoaXMudW5saXN0ZW4od2luZG93LCJpcm9uLWljb25zZXQtYWRkZWQiLCJfdXBkYXRlSWNvbiIpKTp0aGlzLmxpc3Rlbih3aW5kb3csImlyb24taWNvbnNldC1hZGRlZCIsIl91cGRhdGVJY29uIikpKToodGhpcy5faWNvbnNldCYmCnRoaXMuX2ljb25zZXQucmVtb3ZlSWNvbih0aGlzKSx0aGlzLl9pbWd8fCh0aGlzLl9pbWc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIiksdGhpcy5faW1nLnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9pbWcuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbWcuZHJhZ2dhYmxlPSExKSx0aGlzLl9pbWcuc3JjPXRoaXMuc3JjLFBvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQodGhpcy5faW1nKSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1hMTF5LWFubm91bmNlci9pcm9uLWExMXktYW5ub3VuY2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uQTExeUFubm91bmNlcj1mdW5jdGlvbigpe307UG9seW1lci5Jcm9uQTExeUFubm91bmNlcj1Qb2x5bWVyKHtpczoiaXJvbi1hMTF5LWFubm91bmNlciIscHJvcGVydGllczp7bW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6InBvbGl0ZSJ9LF90ZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlfHwoUG9seW1lci5Jcm9uQTExeUFubm91bmNlci5pbnN0YW5jZT10aGlzKTtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImlyb24tYW5ub3VuY2UiLHRoaXMuX29uSXJvbkFubm91bmNlLmJpbmQodGhpcykpfSxhbm5vdW5jZTpmdW5jdGlvbihiKXt0aGlzLl90ZXh0PSIiO3RoaXMuYXN5bmMoZnVuY3Rpb24oKXt0aGlzLl90ZXh0PWJ9LDEwMCl9LF9vbklyb25Bbm5vdW5jZTpmdW5jdGlvbihiKXtiLmRldGFpbCYmYi5kZXRhaWwudGV4dCYmdGhpcy5hbm5vdW5jZShiLmRldGFpbC50ZXh0KX19KTsKUG9seW1lci5Jcm9uQTExeUFubm91bmNlci5pbnN0YW5jZT1udWxsO1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIucmVxdWVzdEF2YWlsYWJpbGl0eT1mdW5jdGlvbigpe1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIuaW5zdGFuY2V8fChQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tYTExeS1hbm5vdW5jZXIiKSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlKX19KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taW5wdXQvaXJvbi1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJpcm9uLWlucHV0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2JpbmRWYWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LHZhbHVlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVWYWx1ZShiaW5kVmFsdWUpIn0sYWxsb3dlZFBhdHRlcm46e3R5cGU6U3RyaW5nfSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lucHV0RWxlbWVudDpPYmplY3R9LG9ic2VydmVyczpbIl9iaW5kVmFsdWVDaGFuZ2VkKGJpbmRWYWx1ZSwgX2lucHV0RWxlbWVudCkiXSxsaXN0ZW5lcnM6e2lucHV0OiJfb25JbnB1dCIsa2V5cHJlc3M6Il9vbktleXByZXNzIn0sY3JlYXRlZDpmdW5jdGlvbigpe1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIucmVxdWVzdEF2YWlsYWJpbGl0eSgpO3RoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dD0iIjt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9ClBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2RlcyhmdW5jdGlvbigpe3RoaXMuX2luaXRTbG90dGVkSW5wdXQoKX0uYmluZCh0aGlzKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJihQb2x5bWVyLmRvbSh0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fb2JzZXJ2ZXI9bnVsbCl9LGdldCBpbnB1dEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50fSxfaW5pdFNsb3R0ZWRJbnB1dDpmdW5jdGlvbigpe3RoaXMuX2lucHV0RWxlbWVudD10aGlzLmdldEVmZmVjdGl2ZUNoaWxkcmVuKClbMF07dGhpcy5pbnB1dEVsZW1lbnQmJnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlJiYodGhpcy5iaW5kVmFsdWU9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpO3RoaXMuZmlyZSgiaXJvbi1pbnB1dC1yZWFkeSIpfSxnZXQgX3BhdHRlcm5SZWdFeHAoKXtpZih0aGlzLmFsbG93ZWRQYXR0ZXJuKXZhciBiPW5ldyBSZWdFeHAodGhpcy5hbGxvd2VkUGF0dGVybik7CmVsc2Ugc3dpdGNoKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpe2Nhc2UgIm51bWJlciI6Yj0vWzAtOS4sZS1dL31yZXR1cm4gYn0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiYodm9pZCAwPT09Yj9kLnZhbHVlPW51bGw6YiE9PWQudmFsdWUmJih0aGlzLmlucHV0RWxlbWVudC52YWx1ZT1iKSx0aGlzLmF1dG9WYWxpZGF0ZSYmdGhpcy52YWxpZGF0ZSgpLHRoaXMuZmlyZSgiYmluZC12YWx1ZS1jaGFuZ2VkIix7dmFsdWU6Yn0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oKXshdGhpcy5hbGxvd2VkUGF0dGVybnx8dGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkfHx0aGlzLl9jaGVja1BhdHRlcm5WYWxpZGl0eSgpfHwodGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIHN0cmluZyBvZiBjaGFyYWN0ZXJzIG5vdCBlbnRlcmVkLiIpLHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlPXRoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dCk7dGhpcy5iaW5kVmFsdWU9dGhpcy5fcHJldmlvdXNWYWxpZElucHV0PQp0aGlzLmlucHV0RWxlbWVudC52YWx1ZTt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LF9pc1ByaW50YWJsZTpmdW5jdGlvbihiKXt2YXIgZD0xOT09Yi5rZXlDb2RlfHwyMD09Yi5rZXlDb2RlfHw0NT09Yi5rZXlDb2RlfHw0Nj09Yi5rZXlDb2RlfHwxNDQ9PWIua2V5Q29kZXx8MTQ1PT1iLmtleUNvZGV8fDMyPGIua2V5Q29kZSYmNDE+Yi5rZXlDb2RlfHwxMTE8Yi5rZXlDb2RlJiYxMjQ+Yi5rZXlDb2RlO3JldHVybiEoOD09Yi5rZXlDb2RlfHw5PT1iLmtleUNvZGV8fDEzPT1iLmtleUNvZGV8fDI3PT1iLmtleUNvZGUpJiYhKDA9PWIuY2hhckNvZGUmJmQpfSxfb25LZXlwcmVzczpmdW5jdGlvbihiKXtpZih0aGlzLmFsbG93ZWRQYXR0ZXJufHwibnVtYmVyIj09PXRoaXMuaW5wdXRFbGVtZW50LnR5cGUpe3ZhciBkPXRoaXMuX3BhdHRlcm5SZWdFeHA7aWYoZCYmIShiLm1ldGFLZXl8fGIuY3RybEtleXx8Yi5hbHRLZXkpKXt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9CiEwO3ZhciBmPVN0cmluZy5mcm9tQ2hhckNvZGUoYi5jaGFyQ29kZSk7dGhpcy5faXNQcmludGFibGUoYikmJiFkLnRlc3QoZikmJihiLnByZXZlbnREZWZhdWx0KCksdGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIGNoYXJhY3RlciAiK2YrIiBub3QgZW50ZXJlZC4iKSl9fX0sX2NoZWNrUGF0dGVyblZhbGlkaXR5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fcGF0dGVyblJlZ0V4cDtpZighYilyZXR1cm4hMDtmb3IodmFyIGQ9MDtkPHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtkKyspaWYoIWIudGVzdCh0aGlzLmlucHV0RWxlbWVudC52YWx1ZVtkXSkpcmV0dXJuITE7cmV0dXJuITB9LHZhbGlkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaW5wdXRFbGVtZW50KXJldHVybiB0aGlzLmludmFsaWQ9ITEsITA7dmFyIGI9dGhpcy5pbnB1dEVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO2ImJih0aGlzLnJlcXVpcmVkJiYiIj09PXRoaXMuYmluZFZhbHVlP2I9ITE6CnRoaXMuaGFzVmFsaWRhdG9yKCkmJihiPVBvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3IudmFsaWRhdGUuY2FsbCh0aGlzLHRoaXMuYmluZFZhbHVlKSkpO3RoaXMuaW52YWxpZD0hYjt0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKTtyZXR1cm4gYn0sX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcjpmdW5jdGlvbihiKXt0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OmJ9KX0sX2NvbXB1dGVWYWx1ZTpmdW5jdGlvbihiKXtyZXR1cm4gYn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaW5wdXQtY2hhci1jb3VudGVyIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJbnB1dEFkZG9uQmVoYXZpb3JdLHByb3BlcnRpZXM6e19jaGFyQ291bnRlclN0cjp7dHlwZTpTdHJpbmcsdmFsdWU6IjAifX0sdXBkYXRlOmZ1bmN0aW9uKGIpe2lmKGIuaW5wdXRFbGVtZW50KXtiLnZhbHVlPWIudmFsdWV8fCIiO3ZhciBkPWIudmFsdWUudG9TdHJpbmcoKS5sZW5ndGgudG9TdHJpbmcoKTtiLmlucHV0RWxlbWVudC5oYXNBdHRyaWJ1dGUoIm1heGxlbmd0aCIpJiYoZCs9Ii8iK2IuaW5wdXRFbGVtZW50LmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIikpO3RoaXMuX2NoYXJDb3VudGVyU3RyPWR9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWNvbnRhaW5lci5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dC1jb250YWluZXIiLHByb3BlcnRpZXM6e25vTGFiZWxGbG9hdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbHdheXNGbG9hdExhYmVsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGF0dHJGb3JWYWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImJpbmQtdmFsdWUifSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saW52YWxpZDp7b2JzZXJ2ZXI6Il9pbnZhbGlkQ2hhbmdlZCIsdHlwZTpCb29sZWFuLHZhbHVlOiExfSxmb2N1c2VkOntyZWFkT25seTohMCx0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxfYWRkb25zOnt0eXBlOkFycmF5fSxfaW5wdXRIYXNDb250ZW50Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9pbnB1dFNlbGVjdG9yOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5wdXQsaXJvbi1pbnB1dCx0ZXh0YXJlYSwucGFwZXItaW5wdXQtaW5wdXQifSxfYm91bmRPbkZvY3VzOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uRm9jdXMuYmluZCh0aGlzKX19LApfYm91bmRPbkJsdXI6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25CbHVyLmJpbmQodGhpcyl9fSxfYm91bmRPbklucHV0Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKX19LF9ib3VuZFZhbHVlQ2hhbmdlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vblZhbHVlQ2hhbmdlZC5iaW5kKHRoaXMpfX19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCIsImlyb24taW5wdXQtdmFsaWRhdGUiOiJfb25Jcm9uSW5wdXRWYWxpZGF0ZSJ9LGdldCBfdmFsdWVDaGFuZ2VkRXZlbnQoKXtyZXR1cm4gdGhpcy5hdHRyRm9yVmFsdWUrIi1jaGFuZ2VkIn0sZ2V0IF9wcm9wZXJ0eUZvclZhbHVlKCl7cmV0dXJuIFBvbHltZXIuQ2FzZU1hcC5kYXNoVG9DYW1lbENhc2UodGhpcy5hdHRyRm9yVmFsdWUpfSxnZXQgX2lucHV0RWxlbWVudCgpe3JldHVybiBQb2x5bWVyLmRvbSh0aGlzKS5xdWVyeVNlbGVjdG9yKHRoaXMuX2lucHV0U2VsZWN0b3IpfSwKZ2V0IF9pbnB1dEVsZW1lbnRWYWx1ZSgpe3JldHVybiB0aGlzLl9pbnB1dEVsZW1lbnRbdGhpcy5fcHJvcGVydHlGb3JWYWx1ZV18fHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSEwO3RoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fYm91bmRPbkZvY3VzLCEwKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kT25CbHVyLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmF0dHJGb3JWYWx1ZT90aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl92YWx1ZUNoYW5nZWRFdmVudCx0aGlzLl9ib3VuZFZhbHVlQ2hhbmdlZCk6dGhpcy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdGhpcy5fb25JbnB1dCk7dGhpcy5faW5wdXRFbGVtZW50VmFsdWUmJiIiIT10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZT8KdGhpcy5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5faW5wdXRFbGVtZW50KTp0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpfSxfb25BZGRvbkF0dGFjaGVkOmZ1bmN0aW9uKGIpe3RoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSk7Yj1iLnRhcmdldDstMT09PXRoaXMuX2FkZG9ucy5pbmRleE9mKGIpJiYodGhpcy5fYWRkb25zLnB1c2goYiksdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpKX0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9zZXRGb2N1c2VkKCEwKX0sX29uQmx1cjpmdW5jdGlvbigpe3RoaXMuX3NldEZvY3VzZWQoITEpO3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbklucHV0OmZ1bmN0aW9uKGIpe3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKGIudGFyZ2V0KX0sX29uVmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3ZhciBkPQpiLnRhcmdldDtpZih0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlJiYodGhpcy5fX2lzRmlyc3RWYWx1ZVVwZGF0ZT0hMSx2b2lkIDA9PT1kLnZhbHVlfHwiIj09PWQudmFsdWUpKXJldHVybjt0aGlzLl9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZShiLnRhcmdldCl9LF9oYW5kbGVWYWx1ZTpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZTtkfHwwPT09ZHx8Im51bWJlciI9PT1iLnR5cGUmJiFiLmNoZWNrVmFsaWRpdHkoKT90aGlzLl9pbnB1dEhhc0NvbnRlbnQ9ITA6dGhpcy5faW5wdXRIYXNDb250ZW50PSExO3RoaXMudXBkYXRlQWRkb25zKHtpbnB1dEVsZW1lbnQ6Yix2YWx1ZTpkLGludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LF9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZTpmdW5jdGlvbihiKXt0aGlzLmF1dG9WYWxpZGF0ZSYmYiYmKHRoaXMuaW52YWxpZD0hKGIudmFsaWRhdGU/Yi52YWxpZGF0ZSh0aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZSk6Yi5jaGVja1ZhbGlkaXR5KCkpKTsKdGhpcy5faGFuZGxlVmFsdWUoYil9LF9vbklyb25JbnB1dFZhbGlkYXRlOmZ1bmN0aW9uKCl7dGhpcy5pbnZhbGlkPXRoaXMuX2lucHV0RWxlbWVudC5pbnZhbGlkfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hZGRvbnMmJnRoaXMudXBkYXRlQWRkb25zKHtpbnZhbGlkOnRoaXMuaW52YWxpZH0pfSx1cGRhdGVBZGRvbnM6ZnVuY3Rpb24oYil7Zm9yKHZhciBkLGY9MDtkPXRoaXMuX2FkZG9uc1tmXTtmKyspZC51cGRhdGUoYil9LF9jb21wdXRlSW5wdXRDb250ZW50Q2xhc3M6ZnVuY3Rpb24oYixkLGYsaCxrKXt2YXIgcj0iaW5wdXQtY29udGVudCI7Yj8oayYmKHIrPSIgbGFiZWwtaXMtaGlkZGVuIiksaCYmKHIrPSIgaXMtaW52YWxpZCIpKTooYj10aGlzLnF1ZXJ5U2VsZWN0b3IoImxhYmVsIiksZHx8az8ocis9IiBsYWJlbC1pcy1mbG9hdGluZyIsdGhpcy4kLmxhYmVsQW5kSW5wdXRDb250YWluZXIuc3R5bGUucG9zaXRpb249InN0YXRpYyIsaD9yKz0iIGlzLWludmFsaWQiOgpmJiYocis9IiBsYWJlbC1pcy1oaWdobGlnaHRlZCIpKTooYiYmKHRoaXMuJC5sYWJlbEFuZElucHV0Q29udGFpbmVyLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLGgmJihyKz0iIGlzLWludmFsaWQiKSkpO2YmJihyKz0iIGZvY3VzZWQiKTtyZXR1cm4gcn0sX2NvbXB1dGVVbmRlcmxpbmVDbGFzczpmdW5jdGlvbihiLGQpe3ZhciBmPSJ1bmRlcmxpbmUiO2Q/Zis9IiBpcy1pbnZhbGlkIjpiJiYoZis9IiBpcy1oaWdobGlnaHRlZCIpO3JldHVybiBmfSxfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzOmZ1bmN0aW9uKGIsZCl7dmFyIGY9ImFkZC1vbi1jb250ZW50IjtkP2YrPSIgaXMtaW52YWxpZCI6YiYmKGYrPSIgaXMtaGlnaGxpZ2h0ZWQiKTtyZXR1cm4gZn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC1lcnJvci5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dC1lcnJvciIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5wdXRBZGRvbkJlaGF2aW9yXSxwcm9wZXJ0aWVzOntpbnZhbGlkOntyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdHlwZTpCb29sZWFufX0sdXBkYXRlOmZ1bmN0aW9uKGIpe3RoaXMuX3NldEludmFsaWQoYi5pbnZhbGlkKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dCIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvcixQb2x5bWVyLklyb25Gb3JtRWxlbWVudEJlaGF2aW9yXSxwcm9wZXJ0aWVzOnt2YWx1ZTp7dHlwZTpTdHJpbmd9fSxiZWZvcmVSZWdpc3RlcjpmdW5jdGlvbigpe3ZhciBiPSJmdW5jdGlvbiI9PXR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpcm9uLWlucHV0IikuX2luaXRTbG90dGVkSW5wdXQ/InYxIjoidjAiLGQ9UG9seW1lci5Eb21Nb2R1bGUuaW1wb3J0KCJwYXBlci1pbnB1dCIsInRlbXBsYXRlIik7Yj1Qb2x5bWVyLkRvbU1vZHVsZS5pbXBvcnQoInBhcGVyLWlucHV0IiwidGVtcGxhdGUjIitiKTsoZD1kLmNvbnRlbnQucXVlcnlTZWxlY3RvcigiI3RlbXBsYXRlLXBsYWNlaG9sZGVyIikpJiZkLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGIuY29udGVudCxkKX0sZ2V0IF9mb2N1c2FibGVFbGVtZW50KCl7cmV0dXJuIFBvbHltZXIuRWxlbWVudD90aGlzLmlucHV0RWxlbWVudC5faW5wdXRFbGVtZW50Ogp0aGlzLmlucHV0RWxlbWVudH0sbGlzdGVuZXJzOnsiaXJvbi1pbnB1dC1yZWFkeSI6Il9vbklyb25JbnB1dFJlYWR5In0sX29uSXJvbklucHV0UmVhZHk6ZnVuY3Rpb24oKXt0aGlzLiQubmF0aXZlSW5wdXR8fCh0aGlzLiQubmF0aXZlSW5wdXQ9dGhpcy4kJCgiaW5wdXQiKSk7dGhpcy5pbnB1dEVsZW1lbnQmJi0xIT09dGhpcy5fdHlwZXNUaGF0SGF2ZVRleHQuaW5kZXhPZih0aGlzLiQubmF0aXZlSW5wdXQudHlwZSkmJih0aGlzLmFsd2F5c0Zsb2F0TGFiZWw9ITApO3RoaXMuaW5wdXRFbGVtZW50LmJpbmRWYWx1ZSYmdGhpcy4kLmNvbnRhaW5lci5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5pbnB1dEVsZW1lbnQpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tb3ZlcmxheS1iZWhhdmlvci9pcm9uLW92ZXJsYXktYmFja2Ryb3AuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoiaXJvbi1vdmVybGF5LWJhY2tkcm9wIixwcm9wZXJ0aWVzOntvcGVuZWQ6e3JlZmxlY3RUb0F0dHJpYnV0ZTohMCx0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn19LGxpc3RlbmVyczp7dHJhbnNpdGlvbmVuZDoiX29uVHJhbnNpdGlvbmVuZCJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fb3BlbmVkUmFmPW51bGx9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJnRoaXMuX29wZW5lZENoYW5nZWQodGhpcy5vcGVuZWQpfSxwcmVwYXJlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLnBhcmVudE5vZGUmJlBvbHltZXIuZG9tKGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMpfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITF9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWR8fHRoaXMucGFyZW50Tm9kZSE9PQpkb2N1bWVudC5ib2R5fHxQb2x5bWVyLmRvbSh0aGlzLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKHRoaXMpfSxfb25UcmFuc2l0aW9uZW5kOmZ1bmN0aW9uKGIpe2ImJmIudGFyZ2V0PT09dGhpcyYmdGhpcy5jb21wbGV0ZSgpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbihiKXtiP3RoaXMucHJlcGFyZSgpOihiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLCIwcyIhPT1iLnRyYW5zaXRpb25EdXJhdGlvbiYmMCE9Yi5vcGFjaXR5fHx0aGlzLmNvbXBsZXRlKCkpO3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX19vcGVuZWRSYWYmJih3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fX29wZW5lZFJhZiksdGhpcy5fX29wZW5lZFJhZj1udWxsKSx0aGlzLnNjcm9sbFRvcD10aGlzLnNjcm9sbFRvcCx0aGlzLl9fb3BlbmVkUmFmPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt0aGlzLl9fb3BlbmVkUmFmPW51bGw7dGhpcy50b2dnbGVDbGFzcygib3BlbmVkIiwKdGhpcy5vcGVuZWQpfS5iaW5kKHRoaXMpKSl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tZHJvcGRvd24vaXJvbi1kcm9wZG93bi5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJpcm9uLWRyb3Bkb3duIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcixQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcl0scHJvcGVydGllczp7aG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToidG9wIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LG9wZW5BbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxjbG9zZUFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3R9LGZvY3VzVGFyZ2V0Ont0eXBlOk9iamVjdH0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsbG93T3V0c2lkZVNjcm9sbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfYWxsb3dPdXRzaWRlU2Nyb2xsQ2hhbmdlZCJ9fSwKbGlzdGVuZXJzOnsibmVvbi1hbmltYXRpb24tZmluaXNoIjoiX29uTmVvbkFuaW1hdGlvbkZpbmlzaCJ9LG9ic2VydmVyczpbIl91cGRhdGVPdmVybGF5UG9zaXRpb24ocG9zaXRpb25UYXJnZXQsIHZlcnRpY2FsQWxpZ24sIGhvcml6b250YWxBbGlnbiwgdmVydGljYWxPZmZzZXQsIGhvcml6b250YWxPZmZzZXQpIl0sZ2V0IGNvbnRhaW5lZEVsZW1lbnQoKXtmb3IodmFyIGI9UG9seW1lci5kb20odGhpcy4kLmNvbnRlbnQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSxkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYltkXX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbEFjdGlvbnx8KHRoaXMuc2Nyb2xsQWN0aW9uPXRoaXMuYWxsb3dPdXRzaWRlU2Nyb2xsPyJyZWZpdCI6ImxvY2siKTt0aGlzLl9yZWFkaWVkPSEwfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuc2l6aW5nVGFyZ2V0JiZ0aGlzLnNpemluZ1RhcmdldCE9PQp0aGlzfHwodGhpcy5zaXppbmdUYXJnZXQ9dGhpcy5jb250YWluZWRFbGVtZW50fHx0aGlzKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLmRpc2FibGVkP3RoaXMuY2FuY2VsKCk6KHRoaXMuY2FuY2VsQW5pbWF0aW9uKCksdGhpcy5fdXBkYXRlQW5pbWF0aW9uQ29uZmlnKCksUG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbC5fb3BlbmVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7IXRoaXMubm9BbmltYXRpb25zJiZ0aGlzLmFuaW1hdGlvbkNvbmZpZy5vcGVuPyh0aGlzLiQuY29udGVudFdyYXBwZXIuY2xhc3NMaXN0LmFkZCgiYW5pbWF0aW5nIiksdGhpcy5wbGF5QW5pbWF0aW9uKCJvcGVuIikpOlBvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvckltcGwuX3JlbmRlck9wZW5lZC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LApfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7IXRoaXMubm9BbmltYXRpb25zJiZ0aGlzLmFuaW1hdGlvbkNvbmZpZy5jbG9zZT8odGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoImFuaW1hdGluZyIpLHRoaXMucGxheUFuaW1hdGlvbigiY2xvc2UiKSk6UG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbC5fcmVuZGVyQ2xvc2VkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX29uTmVvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3RoaXMuJC5jb250ZW50V3JhcHBlci5jbGFzc0xpc3QucmVtb3ZlKCJhbmltYXRpbmciKTt0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX0sX3VwZGF0ZUFuaW1hdGlvbkNvbmZpZzpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLmNvbnRhaW5lZEVsZW1lbnQsZD1bXS5jb25jYXQodGhpcy5vcGVuQW5pbWF0aW9uQ29uZmlnfHxbXSkuY29uY2F0KHRoaXMuY2xvc2VBbmltYXRpb25Db25maWd8fApbXSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl0ubm9kZT1iO3RoaXMuYW5pbWF0aW9uQ29uZmlnPXtvcGVuOnRoaXMub3BlbkFuaW1hdGlvbkNvbmZpZyxjbG9zZTp0aGlzLmNsb3NlQW5pbWF0aW9uQ29uZmlnfX0sX3VwZGF0ZU92ZXJsYXlQb3NpdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5ub3RpZnlSZXNpemUoKX0sX2FsbG93T3V0c2lkZVNjcm9sbENoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fcmVhZGllZCYmKGI/dGhpcy5zY3JvbGxBY3Rpb24mJiJsb2NrIiE9PXRoaXMuc2Nyb2xsQWN0aW9ufHwodGhpcy5zY3JvbGxBY3Rpb249InJlZml0Iik6dGhpcy5zY3JvbGxBY3Rpb249ImxvY2siKX0sX2FwcGx5Rm9jdXM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmZvY3VzVGFyZ2V0fHx0aGlzLmNvbnRhaW5lZEVsZW1lbnQ7YiYmdGhpcy5vcGVuZWQmJiF0aGlzLm5vQXV0b0ZvY3VzP2IuZm9jdXMoKTpQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3JJbXBsLl9hcHBseUZvY3VzLmFwcGx5KHRoaXMsCmFyZ3VtZW50cyl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLW1lbnUtYnV0dG9uL3BhcGVyLW1lbnUtYnV0dG9uLmh0bWwuanMKKGZ1bmN0aW9uKCl7dmFyIGI9e0FOSU1BVElPTl9DVUJJQ19CRVpJRVI6ImN1YmljLWJlemllciguMywuOTUsLjUsMSkiLE1BWF9BTklNQVRJT05fVElNRV9NUzo0MDB9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbi5wcm90b3R5cGUucmVnaXN0ZXJlZD1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLmFkZE93bktleUJpbmRpbmc9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5yZW1vdmVPd25LZXlCaW5kaW5ncz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9jb2xsZWN0S2V5QmluZGluZ3M9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fcHJlcEtleUJpbmRpbmdzPQpmdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9hZGRLZXlCaW5kaW5nPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbi5wcm90b3R5cGUuX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fbGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9vbktleUJpbmRpbmdFdmVudD1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl90cmlnZ2VyS2V5SGFuZGxlcj1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9mb2N1c0JsdXJIYW5kbGVyPWZ1bmN0aW9uKGQpe2lmKFBvbHltZXIuRWxlbWVudCl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT0KZC50eXBlKTtlbHNlIGlmKGQudGFyZ2V0PT09dGhpcyl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT1kLnR5cGUpO2Vsc2UgaWYodGhpcy5fX2hhbmRsZUV2ZW50UmV0YXJnZXRpbmcpe3ZhciBmPVBvbHltZXIuZG9tKGQpLmxvY2FsVGFyZ2V0O3RoaXMuaXNMaWdodERlc2NlbmRhbnQoZil8fHRoaXMuZmlyZShkLnR5cGUse3NvdXJjZUV2ZW50OmR9LHtub2RlOnRoaXMsYnViYmxlczpkLmJ1YmJsZXMsY2FuY2VsYWJsZTpkLmNhbmNlbGFibGV9KX19O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fY2hhbmdlZENvbnRyb2xTdGF0ZT1mdW5jdGlvbigpe3RoaXMuX2NvbnRyb2xTdGF0ZUNoYW5nZWQmJnRoaXMuX2NvbnRyb2xTdGF0ZUNoYW5nZWQoKX07UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9zZXRGb2N1c2VkPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbj1Qb2x5bWVyKHtpczoicGFwZXItbWVudS1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvciwKUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlXSxwcm9wZXJ0aWVzOntvcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0saG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToidG9wIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGR5bmFtaWNBbGlnbjp7dHlwZTpCb29sZWFufSxob3Jpem9udGFsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sdmVydGljYWxPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxub092ZXJsYXA6e3R5cGU6Qm9vbGVhbn0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGlnbm9yZVNlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjbG9zZU9uQWN0aXZhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sb3BlbkFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsCnZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW3tuYW1lOiJmYWRlLWluLWFuaW1hdGlvbiIsdGltaW5nOntkZWxheToxMDAsZHVyYXRpb246MjAwfX0se25hbWU6InBhcGVyLW1lbnUtZ3Jvdy13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjE1MCxlYXNpbmc6Yi5BTklNQVRJT05fQ1VCSUNfQkVaSUVSfX0se25hbWU6InBhcGVyLW1lbnUtZ3Jvdy1oZWlnaHQtYW5pbWF0aW9uIix0aW1pbmc6e2RlbGF5OjEwMCxkdXJhdGlvbjoyNzUsZWFzaW5nOmIuQU5JTUFUSU9OX0NVQklDX0JFWklFUn19XX19LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIix0aW1pbmc6e2R1cmF0aW9uOjE1MH19LHtuYW1lOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjUwLGVhc2luZzpiLkFOSU1BVElPTl9DVUJJQ19CRVpJRVJ9fSwKe25hbWU6InBhcGVyLW1lbnUtc2hyaW5rLWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZHVyYXRpb246MjAwLGVhc2luZzoiZWFzZS1pbiJ9fV19fSxhbGxvd091dHNpZGVTY3JvbGw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxfZHJvcGRvd25Db250ZW50Ont0eXBlOk9iamVjdH19LGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJncm91cCIsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0sbGlzdGVuZXJzOnsiaXJvbi1hY3RpdmF0ZSI6Il9vbklyb25BY3RpdmF0ZSIsImlyb24tc2VsZWN0IjoiX29uSXJvblNlbGVjdCJ9LGdldCBjb250ZW50RWxlbWVudCgpe2Zvcih2YXIgZD1Qb2x5bWVyLmRvbSh0aGlzLiQuY29udGVudCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGY9MCxoPWQubGVuZ3RoO2Y8aDtmKyspaWYoZFtmXS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiBkW2ZdfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD8KdGhpcy5jbG9zZSgpOnRoaXMub3BlbigpfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZHx8dGhpcy4kLmRyb3Bkb3duLm9wZW4oKX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLiQuZHJvcGRvd24uY2xvc2UoKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbigpe3RoaXMuaWdub3JlU2VsZWN0fHx0aGlzLmNsb3NlKCl9LF9vbklyb25BY3RpdmF0ZTpmdW5jdGlvbigpe3RoaXMuY2xvc2VPbkFjdGl2YXRlJiZ0aGlzLmNsb3NlKCl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7ZD8odGhpcy5fZHJvcGRvd25Db250ZW50PXRoaXMuY29udGVudEVsZW1lbnQsdGhpcy5maXJlKCJwYXBlci1kcm9wZG93bi1vcGVuIikpOm51bGwhPWYmJnRoaXMuZmlyZSgicGFwZXItZHJvcGRvd24tY2xvc2UiKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbihkKXtQb2x5bWVyLklyb25Db250cm9sU3RhdGUuX2Rpc2FibGVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZCYmdGhpcy5vcGVuZWQmJgp0aGlzLmNsb3NlKCl9LF9fb25Jcm9uT3ZlcmxheUNhbmNlbGVkOmZ1bmN0aW9uKGQpe3ZhciBmPXRoaXMuJC50cmlnZ2VyOy0xPFBvbHltZXIuZG9tKGQuZGV0YWlsKS5wYXRoLmluZGV4T2YoZikmJmQucHJldmVudERlZmF1bHQoKX19KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe1BvbHltZXIuUGFwZXJNZW51QnV0dG9uW2RdPWJbZF19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItZHJvcGRvd24tbWVudS9wYXBlci1kcm9wZG93bi1tZW51Lmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InBhcGVyLWRyb3Bkb3duLW1lbnUiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uQnV0dG9uU3RhdGUsUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5Jcm9uVmFsaWRhdGFibGVCZWhhdmlvcl0scHJvcGVydGllczp7c2VsZWN0ZWRJdGVtTGFiZWw6e3R5cGU6U3RyaW5nLG5vdGlmeTohMCxyZWFkT25seTohMH0sc2VsZWN0ZWRJdGVtOnt0eXBlOk9iamVjdCxub3RpZnk6ITAscmVhZE9ubHk6ITB9LHZhbHVlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LGxhYmVsOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nfSxlcnJvck1lc3NhZ2U6e3R5cGU6U3RyaW5nfSxvcGVuZWQ6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITEsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0sYWxsb3dPdXRzaWRlU2Nyb2xsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG5vTGFiZWxGbG9hdDp7dHlwZTpCb29sZWFuLAp2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InJpZ2h0In0sdmVydGljYWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InRvcCJ9LHZlcnRpY2FsT2Zmc2V0Ok51bWJlcixkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sbGlzdGVuZXJzOnt0YXA6Il9vblRhcCJ9LGtleUJpbmRpbmdzOnsidXAgZG93biI6Im9wZW4iLGVzYzoiY2xvc2UifSxob3N0QXR0cmlidXRlczp7cm9sZToiY29tYm9ib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Im5vbmUiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9LG9ic2VydmVyczpbIl9zZWxlY3RlZEl0ZW1DaGFuZ2VkKHNlbGVjdGVkSXRlbSkiXSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciBiPQp0aGlzLmNvbnRlbnRFbGVtZW50O2ImJmIuc2VsZWN0ZWRJdGVtJiZ0aGlzLl9zZXRTZWxlY3RlZEl0ZW0oYi5zZWxlY3RlZEl0ZW0pfSxnZXQgY29udGVudEVsZW1lbnQoKXtmb3IodmFyIGI9UG9seW1lci5kb20odGhpcy4kLmNvbnRlbnQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSxkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYltkXX0sb3BlbjpmdW5jdGlvbigpe3RoaXMuJC5tZW51QnV0dG9uLm9wZW4oKX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLiQubWVudUJ1dHRvbi5jbG9zZSgpfSxfb25Jcm9uU2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMuX3NldFNlbGVjdGVkSXRlbShiLmRldGFpbC5pdGVtKX0sX29uSXJvbkRlc2VsZWN0OmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpfSxfb25UYXA6ZnVuY3Rpb24oYil7UG9seW1lci5HZXN0dXJlcy5maW5kT3JpZ2luYWxUYXJnZXQoYik9PT10aGlzJiYKdGhpcy5vcGVuKCl9LF9zZWxlY3RlZEl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMudmFsdWU9Yj1iP2IubGFiZWx8fGIuZ2V0QXR0cmlidXRlKCJsYWJlbCIpfHxiLnRleHRDb250ZW50LnRyaW0oKToiIjt0aGlzLl9zZXRTZWxlY3RlZEl0ZW1MYWJlbChiKX0sX2NvbXB1dGVNZW51VmVydGljYWxPZmZzZXQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gZD9kOmI/LTQ6OH0sX2dldFZhbGlkaXR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fCF0aGlzLnJlcXVpcmVkfHx0aGlzLnJlcXVpcmVkJiYhIXRoaXMudmFsdWV9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcGVuZWQ/InRydWUiOiJmYWxzZSIsZD10aGlzLmNvbnRlbnRFbGVtZW50O2QmJmQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixiKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItbGlzdGJveC9wYXBlci1saXN0Ym94Lmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InBhcGVyLWxpc3Rib3giLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uTWVudUJlaGF2aW9yXSxob3N0QXR0cmlidXRlczp7cm9sZToibGlzdGJveCJ9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWl0ZW0vcGFwZXItaXRlbS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pdGVtIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJdGVtQmVoYXZpb3JdfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC90Zi1iYWNrZW5kLXBvbHltZXIuanMKKGZ1bmN0aW9uKGIpe1BvbHltZXIoe2lzOiJ0Zi1iYWNrZW5kIixfdGVtcGxhdGU6bnVsbCx0Zl9iYWNrZW5kOmJ9KX0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zdG9yYWdlL3RmLXN0b3JhZ2UtcG9seW1lci5qcwooZnVuY3Rpb24oYil7UG9seW1lcih7aXM6InRmLXN0b3JhZ2UiLF90ZW1wbGF0ZTpudWxsLHRmX3N0b3JhZ2U6Yn0pfSkoYmR8fChiZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWNhdGVnb3JpemF0aW9uLXV0aWxzL3RmLXRhZy1maWx0ZXJlci5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10YWctZmlsdGVyZXIiLHByb3BlcnRpZXM6e3RhZ0ZpbHRlcjp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcihfdGFnRmlsdGVyKSJ9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLHZhbHVlOmJkLmdldFN0cmluZ0luaXRpYWxpemVyKCJ0YWdGaWx0ZXIiLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYWxTdG9yYWdlOiExLHBvbHltZXJQcm9wZXJ0eToiX3RhZ0ZpbHRlciJ9KSxvYnNlcnZlcjoiX3RhZ0ZpbHRlck9ic2VydmVyIn19LF90YWdGaWx0ZXJPYnNlcnZlcjpiZC5nZXRTdHJpbmdPYnNlcnZlcigidGFnRmlsdGVyIix7ZGVmYXVsdFZhbHVlOiIiLHVzZUxvY2FsU3RvcmFnZTohMSxwb2x5bWVyUHJvcGVydHk6Il90YWdGaWx0ZXIifSksX2NvbXB1dGVUYWdGaWx0ZXIoKXtyZXR1cm4gdGhpcy5fdGFnRmlsdGVyfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtZGFzaGJvYXJkLWxheW91dC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kYXNoYm9hcmQtbGF5b3V0In0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtb3B0aW9uLXNlbGVjdG9yLmh0bWwuanMKUG9seW1lcih7aXM6InRmLW9wdGlvbi1zZWxlY3RvciIscHJvcGVydGllczp7bmFtZTpTdHJpbmcsc2VsZWN0ZWRJZDp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLG9ic2VydmVyOiJfc2VsZWN0ZWRJZENoYW5nZWQifX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goZnVuY3Rpb24oYil7dGhpcy5saXN0ZW4oYiwidGFwIiwiX3NlbGVjdFRhcmdldCIpfS5iaW5kKHRoaXMpKX0pfSxfc2VsZWN0VGFyZ2V0OmZ1bmN0aW9uKGIpe3RoaXMuc2VsZWN0ZWRJZD1iLmN1cnJlbnRUYXJnZXQuaWR9LF9zZWxlY3RlZElkQ2hhbmdlZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiIyIrdGhpcy5zZWxlY3RlZElkKTtiJiYodGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goZnVuY3Rpb24oZCl7ZC5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpfSksYi5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZCIpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWNvbGxhcHNlL2lyb24tY29sbGFwc2UuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1jb2xsYXBzZSIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcl0scHJvcGVydGllczp7aG9yaXpvbnRhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaG9yaXpvbnRhbENoYW5nZWQifSxvcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0sdHJhbnNpdGlvbmluZzp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxyZWFkT25seTohMH0sbm9BbmltYXRpb246e3R5cGU6Qm9vbGVhbn0sX2Rlc2lyZWRTaXplOnt0eXBlOlN0cmluZyx2YWx1ZToiIn19LGdldCBkaW1lbnNpb24oKXtyZXR1cm4gdGhpcy5ob3Jpem9udGFsPyJ3aWR0aCI6ImhlaWdodCJ9LGdldCBfZGltZW5zaW9uTWF4KCl7cmV0dXJuIHRoaXMuaG9yaXpvbnRhbD8ibWF4V2lkdGgiOiJtYXhIZWlnaHQifSxnZXQgX2RpbWVuc2lvbk1heENzcygpe3JldHVybiB0aGlzLmhvcml6b250YWw/Im1heC13aWR0aCI6CiJtYXgtaGVpZ2h0In0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uRW5kIn0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sdXBkYXRlU2l6ZTpmdW5jdGlvbihiLGQpe2I9ImF1dG8iPT09Yj8iIjpiO2Q9ZCYmIXRoaXMubm9BbmltYXRpb24mJnRoaXMuaXNBdHRhY2hlZCYmdGhpcy5fZGVzaXJlZFNpemUhPT1iO3RoaXMuX2Rlc2lyZWRTaXplPWI7dGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSk7ZCYmKGQ9dGhpcy5fY2FsY1NpemUoKSwiIj09PWImJih0aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09IiIsYj10aGlzLl9jYWxjU2l6ZSgpKSx0aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09ZCx0aGlzLnNjcm9sbFRvcD0KdGhpcy5zY3JvbGxUb3AsdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMCksZD1iIT09ZCk7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPWI7ZHx8dGhpcy5fdHJhbnNpdGlvbkVuZCgpfSxlbmFibGVUcmFuc2l0aW9uOmZ1bmN0aW9uKGIpe1BvbHltZXIuQmFzZS5fd2FybigiYGVuYWJsZVRyYW5zaXRpb24oKWAgaXMgZGVwcmVjYXRlZCwgdXNlIGBub0FuaW1hdGlvbmAgaW5zdGVhZC4iKTt0aGlzLm5vQW5pbWF0aW9uPSFifSxfdXBkYXRlVHJhbnNpdGlvbjpmdW5jdGlvbihiKXt0aGlzLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1iJiYhdGhpcy5ub0FuaW1hdGlvbj8iIjoiMHMifSxfaG9yaXpvbnRhbENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eT10aGlzLl9kaW1lbnNpb25NYXhDc3M7dGhpcy5zdHlsZVsibWF4V2lkdGgiPT09dGhpcy5fZGltZW5zaW9uTWF4PyJtYXhIZWlnaHQiOiJtYXhXaWR0aCJdPSIiO3RoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8KImF1dG8iOiIwcHgiLCExKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0aGlzLm9wZW5lZCk7dGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy50b2dnbGVDbGFzcygiaXJvbi1jb2xsYXBzZS1jbG9zZWQiLCExKTt0aGlzLnRvZ2dsZUNsYXNzKCJpcm9uLWNvbGxhcHNlLW9wZW5lZCIsITEpO3RoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8iYXV0byI6IjBweCIsITApO3RoaXMub3BlbmVkJiZ0aGlzLmZvY3VzKCl9LF90cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPXRoaXMuX2Rlc2lyZWRTaXplO3RoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2UtY2xvc2VkIiwhdGhpcy5vcGVuZWQpO3RoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2Utb3BlbmVkIix0aGlzLm9wZW5lZCk7dGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSk7dGhpcy5ub3RpZnlSZXNpemUoKTsKdGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMSl9LF9vblRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oYil7UG9seW1lci5kb20oYikucm9vdFRhcmdldD09PXRoaXMmJnRoaXMuX3RyYW5zaXRpb25FbmQoKX0sX2NhbGNTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbdGhpcy5kaW1lbnNpb25dKyJweCJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcGFnaW5hdGVkLXZpZXcvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXciLHByb3BlcnRpZXM6e2NhdGVnb3J5Ok9iamVjdCxpbml0aWFsT3BlbmVkOkJvb2xlYW4sb3BlbmVkOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSxfY29udGVudEFjdGl2ZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUNvbnRlbnRBY3RpdmUob3BlbmVkKSJ9LGRpc2FibGVQYWdpbmF0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jb3VudDp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlQ291bnQoY2F0ZWdvcnkuaXRlbXMuKikifSxfaGFzTXVsdGlwbGU6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIYXNNdWx0aXBsZShfY291bnQpIn0sX3BhbmVSZW5kZXJlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVBhbmVSZW5kZXJlZChjYXRlZ29yeSkiLG9ic2VydmVyOiJfb25QYW5lUmVuZGVyZWRDaGFuZ2VkIn0sX2l0ZW1zUmVuZGVyZWQ6e3R5cGU6Qm9vbGVhbiwKY29tcHV0ZWQ6Il9jb21wdXRlSXRlbXNSZW5kZXJlZChvcGVuZWQsIF9wYW5lUmVuZGVyZWQpIn0sX2lzU2VhcmNoUmVzdWx0czp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YS50eXBlKSJ9LF9pc0ludmFsaWRTZWFyY2hSZXN1bHRzOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNJbnZhbGlkU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YSkifSxfaXNVbml2ZXJzYWxTZWFyY2hRdWVyeTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzVW5pdmVyc2FsU2VhcmNoUXVlcnkoY2F0ZWdvcnkubWV0YWRhdGEpIn0sZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5KU09OLnN0cmluZ2lmeShiKSxvYnNlcnZlcjoiX2dldENhdGVnb3J5SXRlbUtleUNoYW5nZWQifSxfbGltaXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjEyLG9ic2VydmVyOiJfbGltaXRDaGFuZ2VkIn0sCl9hY3RpdmVJbmRleDp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sX2N1cnJlbnRQYWdlOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVDdXJyZW50UGFnZShfbGltaXQsIF9hY3RpdmVJbmRleCkifSxfcGFnZUNvdW50Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVQYWdlQ291bnQoY2F0ZWdvcnkuaXRlbXMuKiwgX2xpbWl0KSJ9LF9tdWx0aXBsZVBhZ2VzRXhpc3Q6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVNdWx0aXBsZVBhZ2VzRXhpc3QoX3BhZ2VDb3VudCwgZGlzYWJsZVBhZ2luYXRpb24pIn0sX2hhc1ByZXZpb3VzUGFnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc1ByZXZpb3VzUGFnZShfY3VycmVudFBhZ2UpIn0sX2hhc05leHRQYWdlOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzTmV4dFBhZ2UoX2N1cnJlbnRQYWdlLCBfcGFnZUNvdW50KSJ9LF9pbnB1dFdpZHRoOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVJbnB1dFdpZHRoKF9wYWdlQ291bnQpIiwKb2JzZXJ2ZXI6Il91cGRhdGVJbnB1dFdpZHRoIn0sX3BhZ2VJbnB1dFZhbHVlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVQYWdlSW5wdXRWYWx1ZShfcGFnZUlucHV0Rm9jdXNlZCwgX3BhZ2VJbnB1dFJhd1ZhbHVlLCBfY3VycmVudFBhZ2UpIixvYnNlcnZlcjoiX3VwZGF0ZVBhZ2VJbnB1dFZhbHVlIn0sX3BhZ2VJbnB1dFJhd1ZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3BhZ2VJbnB1dEZvY3VzZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbIl9jbGFtcEFjdGl2ZUluZGV4KGNhdGVnb3J5Lml0ZW1zLiopIiwiX3VwZGF0ZVJlbmRlcmVkSXRlbXMoX2l0ZW1zUmVuZGVyZWQsIGNhdGVnb3J5Lml0ZW1zLiosIF9saW1pdCwgX2FjdGl2ZUluZGV4LCBfcGFnZUNvdW50LCBkaXNhYmxlUGFnaW5hdGlvbikiXSxiZWhhdmlvcnM6W3JkLlRmRG9tUmVwZWF0QmVoYXZpb3JdLF9jb21wdXRlQ291bnQoKXtyZXR1cm4gdGhpcy5jYXRlZ29yeS5pdGVtcy5sZW5ndGh9LApfY29tcHV0ZUhhc011bHRpcGxlKCl7cmV0dXJuIDE8dGhpcy5fY291bnR9LF90b2dnbGVQYW5lKCl7dGhpcy5fc2V0T3BlbmVkKCF0aGlzLm9wZW5lZCl9LF9jb21wdXRlQ29udGVudEFjdGl2ZSgpe3JldHVybiB0aGlzLm9wZW5lZH0sX29uUGFuZVJlbmRlcmVkQ2hhbmdlZChiLGQpe2ImJmIhPT1kJiZ0aGlzLiQuaWZSZW5kZXJlZC5yZW5kZXIoKX0sX2NvbXB1dGVQYW5lUmVuZGVyZWQoYil7cmV0dXJuIShiLm1ldGFkYXRhLnR5cGU9PT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFMmJiIiPT09Yi5uYW1lKX0sX2NvbXB1dGVJdGVtc1JlbmRlcmVkKCl7cmV0dXJuIHRoaXMuX3BhbmVSZW5kZXJlZCYmdGhpcy5vcGVuZWR9LF9jb21wdXRlSXNTZWFyY2hSZXN1bHRzKGIpe3JldHVybiBiPT09a2MuQ2F0ZWdvcnlUeXBlLlNFQVJDSF9SRVNVTFRTfSxfY29tcHV0ZUlzSW52YWxpZFNlYXJjaFJlc3VsdHMoYil7cmV0dXJuIGIudHlwZT09PWtjLkNhdGVnb3J5VHlwZS5TRUFSQ0hfUkVTVUxUUyYmCiFiLnZhbGlkUmVnZXh9LF9jb21wdXRlSXNVbml2ZXJzYWxTZWFyY2hRdWVyeShiKXtyZXR1cm4gYi50eXBlPT09a2MuQ2F0ZWdvcnlUeXBlLlNFQVJDSF9SRVNVTFRTJiZiLnVuaXZlcnNhbFJlZ2V4fSxfaXNDb21wb3NpdGVTZWFyY2goKXtjb25zdCBiPXRoaXMuY2F0ZWdvcnkubWV0YWRhdGEudHlwZTtyZXR1cm4gdGhpcy5jYXRlZ29yeS5tZXRhZGF0YS5jb21wb3NpdGVTZWFyY2gmJmI9PT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFN9LHJlYWR5KCl7dGhpcy5fc2V0T3BlbmVkKG51bGw9PXRoaXMuaW5pdGlhbE9wZW5lZD8hMDp0aGlzLmluaXRpYWxPcGVuZWQpO3RoaXMuX2xpbWl0TGlzdGVuZXI9KCk9Pnt0aGlzLnNldCgiX2xpbWl0IixzZC5nZXRMaW1pdCgpKX07c2QuYWRkTGltaXRMaXN0ZW5lcih0aGlzLl9saW1pdExpc3RlbmVyKTt0aGlzLl9saW1pdExpc3RlbmVyKCl9LGRldGFjaGVkKCl7c2QucmVtb3ZlTGltaXRMaXN0ZW5lcih0aGlzLl9saW1pdExpc3RlbmVyKX0sCl91cGRhdGVSZW5kZXJlZEl0ZW1zKGIsZCxmLGgsayxyKXtiJiYoYj1NYXRoLmZsb29yKGgvZiksZD10aGlzLmNhdGVnb3J5Lml0ZW1zfHxbXSx0aGlzLnVwZGF0ZURvbShyP2Q6ZC5zbGljZShiKmYsKGIrMSkqZiksdGhpcy5nZXRDYXRlZ29yeUl0ZW1LZXkpKX0sX2xpbWl0Q2hhbmdlZChiKXt0aGlzLnNldENhY2hlU2l6ZSgyKmIpfSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Q2hhbmdlZCgpe3RoaXMuc2V0R2V0SXRlbUtleSh0aGlzLmdldENhdGVnb3J5SXRlbUtleSl9LF9jb21wdXRlQ3VycmVudFBhZ2UoYixkKXtyZXR1cm4gTWF0aC5mbG9vcihkL2IpKzF9LF9jb21wdXRlUGFnZUNvdW50KGIsZCl7cmV0dXJuIHRoaXMuY2F0ZWdvcnk/TWF0aC5jZWlsKHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RoL2QpOjB9LF9jb21wdXRlTXVsdGlwbGVQYWdlc0V4aXN0KGIsZCl7cmV0dXJuIWQmJjE8Yn0sX2NvbXB1dGVIYXNQcmV2aW91c1BhZ2UoYil7cmV0dXJuIDE8Yn0sX2NvbXB1dGVIYXNOZXh0UGFnZShiLApkKXtyZXR1cm4gYjxkfSxfY29tcHV0ZUlucHV0V2lkdGgoYil7cmV0dXJuYGNhbGMoJHtiLnRvU3RyaW5nKCkubGVuZ3RofWVtICsgMjBweClgfSxfc2V0QWN0aXZlSW5kZXgoYil7Y29uc3QgZD0odGhpcy5jYXRlZ29yeS5pdGVtc3x8W10pLmxlbmd0aC0xO2I+ZCYmKGI9ZCk7MD5iJiYoYj0wKTt0aGlzLnNldCgiX2FjdGl2ZUluZGV4IixiKX0sX2NsYW1wQWN0aXZlSW5kZXgoKXt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9hY3RpdmVJbmRleCl9LF9wZXJmb3JtUHJldmlvdXNQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgtdGhpcy5fbGltaXQpfSxfcGVyZm9ybU5leHRQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgrdGhpcy5fbGltaXQpfSxfY29tcHV0ZVBhZ2VJbnB1dFZhbHVlKGIsZCxmKXtyZXR1cm4gYj9kOmYudG9TdHJpbmcoKX0sX2hhbmRsZVBhZ2VJbnB1dEV2ZW50KGIpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLApiLnRhcmdldC52YWx1ZSk7Yj1OdW1iZXIoYi50YXJnZXQudmFsdWV8fE5hTik7aXNOYU4oYil8fHRoaXMuX3NldEFjdGl2ZUluZGV4KHRoaXMuX2xpbWl0KihNYXRoLm1heCgxLE1hdGgubWluKGIsdGhpcy5fcGFnZUNvdW50KSktMSkpfSxfaGFuZGxlUGFnZUNoYW5nZUV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fY3VycmVudFBhZ2UudG9TdHJpbmcoKSl9LF9oYW5kbGVQYWdlRm9jdXNFdmVudCgpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLHRoaXMuX3BhZ2VJbnB1dFZhbHVlKTt0aGlzLnNldCgiX3BhZ2VJbnB1dEZvY3VzZWQiLCEwKX0sX2hhbmRsZVBhZ2VCbHVyRXZlbnQoKXt0aGlzLnNldCgiX3BhZ2VJbnB1dEZvY3VzZWQiLCExKX0sX3VwZGF0ZVBhZ2VJbnB1dFZhbHVlKGIpe2NvbnN0IGQ9dGhpcy4kJCgiI3BhZ2UtaW5wdXQgaW5wdXQiKTtkJiYoZC52YWx1ZT1iKX0sX3VwZGF0ZUlucHV0V2lkdGgoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXctcGFnZS1pbnB1dC13aWR0aCI6dGhpcy5faW5wdXRXaWR0aH0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWRpYWxvZy9wYXBlci1kaWFsb2cuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItZGlhbG9nIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJEaWFsb2dCZWhhdmlvcixQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcl0sbGlzdGVuZXJzOnsibmVvbi1hbmltYXRpb24tZmluaXNoIjoiX29uTmVvbkFuaW1hdGlvbkZpbmlzaCJ9LF9yZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpO3RoaXMucGxheUFuaW1hdGlvbigiZW50cnkiKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuY2FuY2VsQW5pbWF0aW9uKCk7dGhpcy5wbGF5QW5pbWF0aW9uKCJleGl0Iil9LF9vbk5lb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jb2xvci1zY2FsZS9wYWxldHRlcy5qcwp2YXIgTGQ7CihmdW5jdGlvbihiKXtiLnBhbGV0dGVzPXtnb29nbGVTdGFuZGFyZDoiI2RiNDQzNyAjZmY3MDQzICNmNGI0MDAgIzBmOWQ1OCAjMDA3OTZiICMwMGFjYzEgIzQyODVmNCAjNWM2YmMwICNhYjQ3YmMiLnNwbGl0KCIgIiksZ29vZ2xlQ29vbDoiIzllOWQyNCAjMGY5ZDU4ICMwMDc5NmIgIzAwYWNjMSAjNDI4NWY0ICM1YzZiYzAgIzYwN2Q4YiIuc3BsaXQoIiAiKSxnb29nbGVXYXJtOiIjNzk1NTQ4ICNhYjQ3YmMgI2YwNjI5MiAjYzIxODViICNkYjQ0MzcgI2ZmNzA0MyAjZjRiNDAwIi5zcGxpdCgiICIpLGdvb2dsZUNvbG9yQmxpbmRBc3Npc3Q6IiNmZjcwNDMgIzAwQUNDMSAjQUI0N0JDICMyQTU2QzYgIzBiODA0MyAjRjdDQjREICNjMGNhMzMgIzVlMzViMSAjQTUyNzE0Ii5zcGxpdCgiICIpLHRlbnNvcmJvYXJkQ29sb3JCbGluZEFzc2lzdDoiI2ZmNzA0MyAjMDA3N2JiICNjYzMzMTEgIzMzYmJlZSAjZWUzMzc3ICMwMDk5ODggI2JiYmJiYiIuc3BsaXQoIiAiKSxjb2xvckJsaW5kQXNzaXN0MToiIzQ0NzdhYSAjNDRhYWFhICNhYWFhNDQgI2FhNzc0NCAjYWE0NDU1ICNhYTQ0ODgiLnNwbGl0KCIgIiksY29sb3JCbGluZEFzc2lzdDI6IiM4OGNjZWUgIzQ0YWE5OSAjMTE3NzMzICM5OTk5MzMgI2RkY2M3NyAjY2M2Njc3ICM4ODIyNTUgI2FhNDQ5OSIuc3BsaXQoIiAiKSwKY29sb3JCbGluZEFzc2lzdDM6IiMzMzIyODggIzY2OTljYyAjODhjY2VlICM0NGFhOTkgIzExNzczMyAjOTk5OTMzICNkZGNjNzcgI2NjNjY3NyAjYWE0NDY2ICM4ODIyNTUgIzY2MTEwMCAjYWE0NDk5Ii5zcGxpdCgiICIpLGNvbG9yQmxpbmRBc3Npc3Q0OiIjNDQ3N2FhICM2NmNjZWUgIzIyODgzMyAjY2NiYjQ0ICNlZTY2NzcgI2FhMzM3NyAjYmJiYmJiIi5zcGxpdCgiICIpLGNvbG9yQmxpbmRBc3Npc3Q1OiIjRkY2REI2ICM5MjAwMDAgIzkyNDkwMCAjREJEMTAwICMyNEZGMjQgIzAwNkREQiAjNDkwMDkyIi5zcGxpdCgiICIpLG1sZGFzaDoiI0U0N0VBRCAjRjQ2NDBEICNGQUEzMDAgI0Y1RTYzNiAjMDBBMDc3ICMwMDc3QjggIzAwQjdFRCIuc3BsaXQoIiAiKX07Yi5zdGFuZGFyZD1iLnBhbGV0dGVzLnRlbnNvcmJvYXJkQ29sb3JCbGluZEFzc2lzdH0pKExkfHwoTGQ9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jb2xvci1zY2FsZS9jb2xvclNjYWxlLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGgsayl7ZnVuY3Rpb24gcigpe2wuc2V0RG9tYWluKGsoKSl9Y29uc3QgbD1uZXcgZjtoLmFkZExpc3RlbmVyKHIpO3IoKTtyZXR1cm4gcD0+bC5nZXRDb2xvcihwKX1jbGFzcyBme2NvbnN0cnVjdG9yKGg9Yi5zdGFuZGFyZCl7dGhpcy5wYWxldHRlPWg7dGhpcy5pZGVudGlmaWVycz1kMy5tYXAoKX1zZXREb21haW4oaCl7dGhpcy5pZGVudGlmaWVycz1kMy5tYXAoKTtoLmZvckVhY2goKGsscik9Pnt0aGlzLmlkZW50aWZpZXJzLnNldChrLHRoaXMucGFsZXR0ZVtyJXRoaXMucGFsZXR0ZS5sZW5ndGhdKX0pfWdldENvbG9yKGgpe2lmKCF0aGlzLmlkZW50aWZpZXJzLmhhcyhoKSl0aHJvdyBFcnJvcihgU3RyaW5nICR7aH0gd2FzIG5vdCBpbiB0aGUgZG9tYWluLmApO3JldHVybiB0aGlzLmlkZW50aWZpZXJzLmdldChoKX19Yi5Db2xvclNjYWxlPWY7Yi5ydW5zQ29sb3JTY2FsZT1kKGRjLnJ1bnNTdG9yZSwoKT0+ZGMucnVuc1N0b3JlLmdldFJ1bnMoKSk7CmIuZXhwZXJpbWVudHNDb2xvclNjYWxlPWQoZGMuZXhwZXJpbWVudHNTdG9yZSwoKT0+ZGMuZXhwZXJpbWVudHNTdG9yZS5nZXRFeHBlcmltZW50cygpLm1hcCgoe25hbWU6aH0pPT5oKSl9KShMZHx8KExkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaWNvbi1idXR0b24vcGFwZXItaWNvbi1idXR0b24uaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaWNvbi1idXR0b24iLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLHRhYmluZGV4OiIwIn0sYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NyYzp7dHlwZTpTdHJpbmd9LGljb246e3R5cGU6U3RyaW5nfSxhbHQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWx0Q2hhbmdlZCJ9fSxfYWx0Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3ZhciBmPXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7ZiYmZCE9Znx8dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGIpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtbXVsdGktY2hlY2tib3guanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLW11bHRpLWNoZWNrYm94Iixwcm9wZXJ0aWVzOntuYW1lczp7dHlwZTpBcnJheSx2YWx1ZTooKT0+W119LGNvbG9yaW5nOnt0eXBlOk9iamVjdCx2YWx1ZTp7Z2V0Q29sb3I6KCk9PiIifX0scmVnZXg6e3R5cGU6U3RyaW5nLG5vdGlmeTohMCx2YWx1ZToiIn0sX3JlZ2V4Ont0eXBlOk9iamVjdCxjb21wdXRlZDoiX21ha2VSZWdleChyZWdleCkifSxuYW1lc01hdGNoaW5nUmVnZXg6e3R5cGU6QXJyYXksY29tcHV0ZWQ6ImNvbXB1dGVOYW1lc01hdGNoaW5nUmVnZXgobmFtZXMuKiwgX3JlZ2V4KSJ9LHNlbGVjdGlvblN0YXRlOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6KCk9Pih7fSl9LG91dFNlbGVjdGVkOnt0eXBlOkFycmF5LG5vdGlmeTohMCxjb21wdXRlZDoiY29tcHV0ZU91dFNlbGVjdGVkKG5hbWVzTWF0Y2hpbmdSZWdleC4qLCBzZWxlY3Rpb25TdGF0ZS4qKSJ9LG1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ6e3R5cGU6TnVtYmVyLAp2YWx1ZTo0MH0sX2RlYm91bmNlZFJlZ2V4Q2hhbmdlOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3ZhciBiPV8uZGVib3VuY2UoZD0+e3RoaXMucmVnZXg9ZH0sMTUwLHtsZWFkaW5nOiExfSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy4kJCgiI25hbWVzLXJlZ2V4IikudmFsdWU7IiI9PWQ/dGhpcy5hc3luYygoKT0+e3RoaXMucmVnZXg9ZH0sMzApOmIoZCl9fX19LG9ic2VydmVyczpbIl9zZXRJc29sYXRvckljb24oc2VsZWN0aW9uU3RhdGUsIG5hbWVzKSJdLF9tYWtlUmVnZXg6ZnVuY3Rpb24oYil7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGIpfWNhdGNoKGQpe3JldHVybiBudWxsfX0sX3NldElzb2xhdG9ySWNvbjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuc2VsZWN0aW9uU3RhdGUsZD1fLmZpbHRlcihfLnZhbHVlcyhiKSkubGVuZ3RoO0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuaXNvbGF0b3IiKSkuZm9yRWFjaChmdW5jdGlvbihmKXtmLmljb249CjE9PT1kJiZiW2YubmFtZV0/InJhZGlvLWJ1dHRvbi1jaGVja2VkIjoicmFkaW8tYnV0dG9uLXVuY2hlY2tlZCJ9KX0sY29tcHV0ZU5hbWVzTWF0Y2hpbmdSZWdleDpmdW5jdGlvbigpe2NvbnN0IGI9dGhpcy5fcmVnZXg7cmV0dXJuIGI/dGhpcy5uYW1lcy5maWx0ZXIoZD0+Yi50ZXN0KGQpKTp0aGlzLm5hbWVzfSxjb21wdXRlT3V0U2VsZWN0ZWQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnNlbGVjdGlvblN0YXRlLGQ9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXgubGVuZ3RoPD10aGlzLm1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ7cmV0dXJuIHRoaXMubmFtZXNNYXRjaGluZ1JlZ2V4LmZpbHRlcihmPT5udWxsPT1iW2ZdP2Q6YltmXSl9LHN5bmNocm9uaXplQ29sb3JzOmZ1bmN0aW9uKCl7dGhpcy5fc2V0SXNvbGF0b3JJY29uKCk7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInBhcGVyLWNoZWNrYm94IikuZm9yRWFjaChiPT57Y29uc3QgZD10aGlzLmNvbG9yaW5nLmdldENvbG9yKGIubmFtZSk7CmIudXBkYXRlU3R5bGVzKHsiLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yIjpkLCItLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yIjpkLCItLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciI6ZCwiLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yIjpkfSl9KTt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmlzb2xhdG9yIikuZm9yRWFjaChiPT57Y29uc3QgZD10aGlzLmNvbG9yaW5nLmdldENvbG9yKGIubmFtZSk7Yi5zdHlsZS5jb2xvcj1kfSk7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlU3R5bGVzKCl9KX0sX2lzb2xhdGVOYW1lOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLmxvY2FsVGFyZ2V0Lm5hbWUsZj17fTt0aGlzLm5hbWVzLmZvckVhY2goZnVuY3Rpb24oaCl7ZltoXT1oPT1kfSk7dGhpcy5zZWxlY3Rpb25TdGF0ZT1mfSxfY2hlY2tib3hDaGFuZ2U6ZnVuY3Rpb24oYil7Yj0KUG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7Y29uc3QgZD1fLmNsb25lKHRoaXMuc2VsZWN0aW9uU3RhdGUpO2RbYi5uYW1lXT1iLmNoZWNrZWQ7dGhpcy5zZWxlY3Rpb25TdGF0ZT1kfSxfaXNDaGVja2VkOmZ1bmN0aW9uKGIpe3JldHVybi0xIT10aGlzLm91dFNlbGVjdGVkLmluZGV4T2YoYil9LHRvZ2dsZUFsbDpmdW5jdGlvbigpe2NvbnN0IGI9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXguc29tZShmPT50aGlzLm91dFNlbGVjdGVkLmluY2x1ZGVzKGYpKSxkPXt9O3RoaXMubmFtZXMuZm9yRWFjaChmPT57ZFtmXT0hYn0pO3RoaXMuc2VsZWN0aW9uU3RhdGU9ZH19KX0pKGNkfHwoY2Q9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ydW5zLXNlbGVjdG9yL3RmLXdici1zdHJpbmcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtd2JyLXN0cmluZyIscHJvcGVydGllczp7dmFsdWU6U3RyaW5nLF9wYXJ0czp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVQYXJ0cyh2YWx1ZSkifX0sX2NvbXB1dGVQYXJ0cyhiKXtjb25zdCBkPVtdLGY9L1svPV8sLV0vO2ZvcihudWxsPT1iJiYoYj0iIik7Oyl7Y29uc3QgaD1iLnNlYXJjaChmKTtpZigtMT09PWgpe2QucHVzaChiKTticmVha31lbHNlIGQucHVzaChiLnNsaWNlKDAsaCsxKSksYj1iLnNsaWNlKGgrMSl9cmV0dXJuIGR9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcnVucy1zZWxlY3Rvci90Zi1ydW5zLXNlbGVjdG9yLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXJ1bnMtc2VsZWN0b3IiLHByb3BlcnRpZXM6e3J1blNlbGVjdGlvblN0YXRlOnt0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3N0b3JlUnVuU2VsZWN0aW9uU3RhdGUiLHZhbHVlOmJkLmdldE9iamVjdEluaXRpYWxpemVyKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pfSxyZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZTpiZC5nZXRTdHJpbmdJbml0aWFsaXplcigicmVnZXhJbnB1dCIse2RlZmF1bHRWYWx1ZToiIn0pLG9ic2VydmVyOiJfcmVnZXhPYnNlcnZlciJ9LHNlbGVjdGVkUnVuczp7dHlwZTpBcnJheSxub3RpZnk6ITB9LHJ1bnM6QXJyYXksZGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LF9jbGlwcGVkRGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2dldENsaXBwZWREYXRhTG9jYXRpb24oZGF0YUxvY2F0aW9uLCBfZGF0YUxvY2F0aW9uQ2xpcExlbmd0aCkifSxfZGF0YUxvY2F0aW9uQ2xpcExlbmd0aDp7dHlwZTpOdW1iZXIsCnZhbHVlOjI1MCxyZWFkT25seTohMH0sY29sb3Jpbmc6e3R5cGU6T2JqZWN0LHZhbHVlOntnZXRDb2xvcjpMZC5ydW5zQ29sb3JTY2FsZX19fSxhdHRhY2hlZCgpe3RoaXMuX3J1blN0b3JlTGlzdGVuZXI9ZGMucnVuc1N0b3JlLmFkZExpc3RlbmVyKCgpPT57dGhpcy5zZXQoInJ1bnMiLGRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpfSk7dGhpcy5zZXQoInJ1bnMiLGRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpO3RoaXMuX2VudlN0b3JlTGlzdGVuZXI9ZGMuZW52aXJvbm1lbnRTdG9yZS5hZGRMaXN0ZW5lcigoKT0+e3RoaXMuc2V0KCJkYXRhTG9jYXRpb24iLGRjLmVudmlyb25tZW50U3RvcmUuZ2V0RGF0YUxvY2F0aW9uKCkpfSk7dGhpcy5zZXQoImRhdGFMb2NhdGlvbiIsZGMuZW52aXJvbm1lbnRTdG9yZS5nZXREYXRhTG9jYXRpb24oKSl9LGRldGFjaGVkKCl7ZGMucnVuc1N0b3JlLnJlbW92ZUxpc3RlbmVyQnlLZXkodGhpcy5fcnVuU3RvcmVMaXN0ZW5lcik7ZGMuZW52aXJvbm1lbnRTdG9yZS5yZW1vdmVMaXN0ZW5lckJ5S2V5KHRoaXMuX2VudlN0b3JlTGlzdGVuZXIpfSwKX3RvZ2dsZUFsbDpmdW5jdGlvbigpe3RoaXMuJC5tdWx0aUNoZWNrYm94LnRvZ2dsZUFsbCgpfSxfZ2V0Q2xpcHBlZERhdGFMb2NhdGlvbjpmdW5jdGlvbihiLGQpe2lmKHZvaWQgMCE9PWImJiEoYi5sZW5ndGg+ZCkpcmV0dXJuIGJ9LF9vcGVuRGF0YUxvY2F0aW9uRGlhbG9nOmZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKTt0aGlzLiQkKCIjZGF0YS1sb2NhdGlvbi1kaWFsb2ciKS5vcGVuKCl9LF9zaG91bGRTaG93RXhwYW5kRGF0YUxvY2F0aW9uQnV0dG9uKGIsZCl7cmV0dXJuIGImJmIubGVuZ3RoPmR9LF9zdG9yZVJ1blNlbGVjdGlvblN0YXRlOmJkLmdldE9iamVjdE9ic2VydmVyKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pLF9yZWdleE9ic2VydmVyOmJkLmdldFN0cmluZ09ic2VydmVyKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1zcGlubmVyL3BhcGVyLXNwaW5uZXItbGl0ZS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1zcGlubmVyLWxpdGUiLGJlaGF2aW9yczpbUG9seW1lci5QYXBlclNwaW5uZXJCZWhhdmlvcl19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1jaGFydC1oZWxwZXJzL3Z6LWNoYXJ0LXRvb2x0aXAuanMKdmFyIHNnOwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGgpe2guQVVUTz0iYXV0byI7aC5CT1RUT009ImJvdHRvbSI7aC5SSUdIVD0icmlnaHQifSkoZD1iLlRvb2x0aXBQb3NpdGlvbnx8KGIuVG9vbHRpcFBvc2l0aW9uPXt9KSk7Y29uc3QgZj17Ym94U2hhZG93OiIwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMykiLG9wYWNpdHk6MCxwb3NpdGlvbjoiZml4ZWQiLHdpbGxDaGFuZ2U6InRyYW5zZm9ybSIsekluZGV4OjV9O1BvbHltZXIoe2lzOiJ2ei1jaGFydC10b29sdGlwIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntjb250ZW50Q29tcG9uZW50TmFtZTpTdHJpbmcscG9zaXRpb246e3R5cGU6U3RyaW5nLHZhbHVlOmQuQVVUT30sbWluRGlzdEZyb21FZGdlOnt0eXBlOk51bWJlcix2YWx1ZToxNX19LHJlYWR5KCl7dGhpcy5fdHVubmVsPXRoaXMuX3JhZj10aGlzLl9zdHlsZUNhY2hlPW51bGx9LGF0dGFjaGVkKCl7dGhpcy5fdHVubmVsPXRoaXMuX2NyZWF0ZVR1bm5lbCgpO3RoaXMuX2hpZGVPbkJsdXI9CigpPT57ZG9jdW1lbnQuaGlkZGVuJiZ0aGlzLmhpZGUoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2hpZGVPbkJsdXIpfSxkZXRhY2hlZCgpe3RoaXMuaGlkZSgpO3RoaXMuX3JlbW92ZVR1bm5lbCh0aGlzLl90dW5uZWwpO3RoaXMuX3R1bm5lbD1udWxsO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX0sY29udGVudCgpe3JldHVybiB0aGlzLl90dW5uZWwuc2hhZG93Um9vdH0saGlkZSgpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWYpO3RoaXMuX3N0eWxlQ2FjaGU9bnVsbDt0aGlzLl90dW5uZWwuc3R5bGUub3BhY2l0eT0wfSx1cGRhdGVBbmRQb3NpdGlvbihoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKTt0aGlzLl9yYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fcmVwb3NpdGlvbkltcGwoaCl9KX0sCl9yZXBvc2l0aW9uSW1wbChoKXtjb25zdCBrPXRoaXMuX3R1bm5lbDtoPWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3Qgcj1rLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGw9d2luZG93LmlubmVySGVpZ2h0LHA9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxtPWgudG9wLG49bStoLmhlaWdodCxxPXIuaGVpZ2h0K3NmLlRPT0xUSVBfWV9QSVhFTF9PRkZTRVQ7bGV0IHU9bnVsbCx3PU1hdGgubWF4KHRoaXMubWluRGlzdEZyb21FZGdlLGgubGVmdCksQT1udWxsLHk9bTt0aGlzLnBvc2l0aW9uPT1kLlJJR0hUP3c9aC5yaWdodDooeT1uK3NmLlRPT0xUSVBfWV9QSVhFTF9PRkZTRVQscDx3K3Iud2lkdGgrdGhpcy5taW5EaXN0RnJvbUVkZ2UmJih3PW51bGwsQT10aGlzLm1pbkRpc3RGcm9tRWRnZSkpO3RoaXMucG9zaXRpb249PWQuQVVUTyYmMDxoLnRvcC1xJiZsPGgudG9wK2guaGVpZ2h0K3EmJih5PW51bGwsdT1sLW0rc2YuVE9PTFRJUF9ZX1BJWEVMX09GRlNFVCk7aD17Y29udGFpbjoiY29udGVudCIsCm9wYWNpdHk6MSxsZWZ0Onc/YCR7d31weGA6bnVsbCxyaWdodDpBP2Ake0F9cHhgOm51bGwsdG9wOnk/YCR7eX1weGA6bnVsbCxib3R0b206dT9gJHt1fXB4YDpudWxsfTtfLmlzRXF1YWwodGhpcy5fc3R5bGVDYWNoZSxoKXx8KE9iamVjdC5hc3NpZ24oay5zdHlsZSxoKSx0aGlzLl9zdHlsZUNhY2hlPWgpfSxfY3JlYXRlVHVubmVsKCl7aWYoIXRoaXMuY29udGVudENvbXBvbmVudE5hbWUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlJlcXVpcmUgYGNvbnRlbnRDb21wb25lbnROYW1lYCB0byBiZSBhIG5hbWUgb2YgYSBQb2x5bWVyIGNvbXBvbmVudCIpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmNvbnRlbnRDb21wb25lbnROYW1lKTtPYmplY3QuYXNzaWduKGguc3R5bGUsZik7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoKTtyZXR1cm4gaH0sX3JlbW92ZVR1bm5lbChoKXtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGgpfX0pfSkoc2d8fChzZz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3RmLXNjYWxlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgUGxvdHRhYmxlLlF1YW50aXRhdGl2ZVNjYWxle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLl9pZ25vcmVPdXRsaWVyPSExfXNldFZhbHVlUHJvdmlkZXJGb3JEb21haW4oZil7dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbj1mfWlnbm9yZU91dGxpZXIoZil7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZj8odGhpcy5faWdub3JlT3V0bGllcj1mLHRoaXMpOnRoaXMuX2lnbm9yZU91dGxpZXJ9X2dldEFsbEluY2x1ZGVkVmFsdWVzKCl7Y29uc3QgZj10aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluP3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4oKTpbXTtyZXR1cm4gdGhpcy5leHRlbnRPZlZhbHVlcyhmKX19Yi5UZlNjYWxlPWR9KSh1Z3x8KHVnPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotbGluZS1jaGFydDIvbGluZWFyLXNjYWxlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuX2lnbm9yZU91dGxpZXI9ITE7dGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zZXRWYWx1ZVByb3ZpZGVyRm9yRG9tYWluKGYpe3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW49Zn1fbmljZURvbWFpbihmLGgpe2NvbnN0IFtrLHJdPWYsbD1yLWs7Zj0wPT09bD8xLjEqTWF0aC5hYnMoaykrMS4xOmwqdGhpcy5wYWRQcm9wb3J0aW9uKCk7cmV0dXJuIHN1cGVyLl9uaWNlRG9tYWluKFswPD1rJiZrPGw/LS4xKnI6ay1mLHIrZl0saCl9X2dldFVuYm91bmRlZEV4dGVudChmKXtmPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKGYpO2xldCBoPXRoaXMuX2RlZmF1bHRFeHRlbnQoKTswIT09Zi5sZW5ndGgmJihmPVtQbG90dGFibGUuVXRpbHMuTWF0aC5taW4oZixoWzBdKSxQbG90dGFibGUuVXRpbHMuTWF0aC5tYXgoZixoWzFdKV0saD10aGlzLl9uaWNlRG9tYWluKGYpKTsKcmV0dXJuIGh9X2dldEFsbEluY2x1ZGVkVmFsdWVzKCl7Y29uc3QgZj10aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluP3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4oKTpbXTtyZXR1cm4gdGhpcy5leHRlbnRPZlZhbHVlcyhmKX1leHRlbnRPZlZhbHVlcyhmKXt2YXIgaD1mPWYuZmlsdGVyKGs9PlBsb3R0YWJsZS5VdGlscy5NYXRoLmlzVmFsaWROdW1iZXIoaykpO2lmKHRoaXMuaWdub3JlT3V0bGllcigpKXtoPWYuc29ydCgobCxwKT0+bC1wKTtjb25zdCBrPWQzLnF1YW50aWxlKGgsLjA1KSxyPWQzLnF1YW50aWxlKGgsLjk1KTtoPWYuZmlsdGVyKGw9Pmw+PWsmJmw8PXIpfWY9ZDMuZXh0ZW50KGgpO3JldHVybiBudWxsPT1mWzBdfHxudWxsPT1mWzFdP1tdOmZ9aWdub3JlT3V0bGllcihmKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBmPyh0aGlzLl9pZ25vcmVPdXRsaWVyPWYsdGhpcyk6dGhpcy5faWdub3JlT3V0bGllcn19Yi5MaW5lYXJTY2FsZT1kfSkodWd8fCh1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL2xvZy1zY2FsZS5qcwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChrKXtyZXR1cm4gTWF0aC5sb2cxMChrKX1mdW5jdGlvbiBmKGspe3JldHVybiBNYXRoLnBvdygxMCxrKX1iLk1JTl9QT1NJVElWRV9WQUxVRT1NYXRoLnBvdygyLC0xMDc0KTtjbGFzcyBoIGV4dGVuZHMgYi5UZlNjYWxle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLl9kM0xvZ1NjYWxlPWQzLnNjYWxlTG9nKCk7dGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zY2FsZShrKXtyZXR1cm4gMD49az9OYU46dGhpcy5fZDNMb2dTY2FsZShrKX1pbnZlcnQoayl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuaW52ZXJ0KGspfXNjYWxlVHJhbnNmb3JtYXRpb24oayl7cmV0dXJuIHRoaXMuc2NhbGUoayl9aW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbihrKXtyZXR1cm4gdGhpcy5pbnZlcnQoayl9Z2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKXtyZXR1cm4gdGhpcy5kb21haW4oKX1fZ2V0RG9tYWluKCl7cmV0dXJuIHRoaXMuX3VudHJhbnNmb3JtZWREb21haW59X3NldERvbWFpbihrKXt0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluPQprO2NvbnN0IFtyLGxdPWs7c3VwZXIuX3NldERvbWFpbihbTWF0aC5tYXgoYi5NSU5fUE9TSVRJVkVfVkFMVUUsciksbF0pfV9uaWNlRG9tYWluKGspe2NvbnN0IFtyLGxdPWs7az1NYXRoLm1heChkKGIuTUlOX1BPU0lUSVZFX1ZBTFVFKSxkKHIpKTtjb25zdCBwPWQobCk7dmFyIG09cC1rO209bT9tKnRoaXMucGFkUHJvcG9ydGlvbigpOjE7cmV0dXJuW2YoTWF0aC5tYXgoZChiLk1JTl9QT1NJVElWRV9WQUxVRSksay1tKSksZihwK20pXX1fZ2V0VW5ib3VuZGVkRXh0ZW50KGspe2s9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoayk7bGV0IHI9dGhpcy5fZGVmYXVsdEV4dGVudCgpOzAhPT1rLmxlbmd0aCYmKGs9W1Bsb3R0YWJsZS5VdGlscy5NYXRoLm1pbihrLHJbMF0pLFBsb3R0YWJsZS5VdGlscy5NYXRoLm1heChrLHJbMV0pXSxyPXRoaXMuX25pY2VEb21haW4oaykpO3JldHVybiByfV9nZXRBbGxJbmNsdWRlZFZhbHVlcygpe3JldHVybiBzdXBlci5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKS5tYXAoaz0+CjA8az9rOmIuTUlOX1BPU0lUSVZFX1ZBTFVFKX1fZGVmYXVsdEV4dGVudCgpe3JldHVyblsxLDEwXX1fYmFja2luZ1NjYWxlRG9tYWluKGspe2lmKG51bGw9PWspcmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNMb2dTY2FsZS5kb21haW4oayk7cmV0dXJuIHRoaXN9X2dldFJhbmdlKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUucmFuZ2UoKX1fc2V0UmFuZ2Uoayl7dGhpcy5fZDNMb2dTY2FsZS5yYW5nZShrKX1kZWZhdWx0VGlja3MoKXtyZXR1cm4gdGhpcy5fZDNMb2dTY2FsZS50aWNrcygpfXRpY2tzKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUudGlja3MoKX1leHRlbnRPZlZhbHVlcyhrKXtsZXQgcj1rPWsuZmlsdGVyKGw9PlBsb3R0YWJsZS5VdGlscy5NYXRoLmlzVmFsaWROdW1iZXIobCkmJjA8bCk7aWYodGhpcy5pZ25vcmVPdXRsaWVyKCkpe2s9ay5tYXAoZCkuc29ydCgobSxuKT0+bS1uKTtjb25zdCBsPWQzLnF1YW50aWxlKGssLjA1KSxwPWQzLnF1YW50aWxlKGssCi45NSk7cj1rLmZpbHRlcihtPT5tPj1sJiZtPD1wKS5tYXAoZil9az1kMy5leHRlbnQocik7cmV0dXJuIG51bGw9PWtbMF18fG51bGw9PWtbMV0/W106a319Yi5Mb2dTY2FsZT1ofSkodWd8fCh1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL2xpbmUtY2hhcnQuanMKKGZ1bmN0aW9uKGIpe2xldCBkOyhmdW5jdGlvbihrKXtrW2suVEVYVD0wXT0iVEVYVCI7a1trLkRPTT0xXT0iRE9NIn0pKGR8fChkPXt9KSk7bGV0IGY7KGZ1bmN0aW9uKGspe2suTE9HPSJsb2ciO2suTElORUFSPSJsaW5lYXIifSkoZnx8KGY9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGsscixsLHAsbSxuLHEsdSx3LEEseSl7dGhpcy5kaXJ0eURhdGFzZXRzPW5ldyBTZXQ7dGhpcy5zZXJpZXNOYW1lcz1bXTt0aGlzLm5hbWUyZGF0YXNldHM9e307dGhpcy5jb2xvclNjYWxlPXA7dGhpcy50b29sdGlwPW07dGhpcy5kYXRhc2V0cz1bXTt0aGlzLl9pZ25vcmVZT3V0bGllcnM9ITE7dGhpcy5sYXN0UG9pbnRzRGF0YXNldD1uZXcgUGxvdHRhYmxlLkRhdGFzZXQ7dGhpcy5uYW5EYXRhc2V0PW5ldyBQbG90dGFibGUuRGF0YXNldDt0aGlzLnlWYWx1ZUFjY2Vzc29yPXI7dGhpcy5zeW1ib2xGdW5jdGlvbj1BO3RoaXMuX2RlZmF1bHRYUmFuZ2U9dTt0aGlzLl9kZWZhdWx0WVJhbmdlPXc7CnRoaXMudG9vbHRpcENvbHVtbnM9bjt0aGlzLmJ1aWxkQ2hhcnQoayxsLHEseSl9YnVpbGRDaGFydChrLHIsbCxwKXt0aGlzLmRlc3Ryb3koKTtrPWsoKTt0aGlzLnhBY2Nlc3Nvcj1rLmFjY2Vzc29yO3RoaXMueFNjYWxlPWsuc2NhbGU7dGhpcy54QXhpcz1rLmF4aXM7dGhpcy54QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZygzKTtwJiZ0aGlzLnhBeGlzLmZvcm1hdHRlcihwKTt0aGlzLnlTY2FsZT1oLmdldFlTY2FsZUZyb21UeXBlKHIpO3RoaXMueVNjYWxlLnNldFZhbHVlUHJvdmlkZXJGb3JEb21haW4oKCk9PnRoaXMuZ2V0VmFsdWVzRm9yWUF4aXNEb21haW5Db21wdXRlKCkpO3RoaXMueUF4aXM9bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWModGhpcy55U2NhbGUsImxlZnQiKTtwPXNmLm11bHRpc2NhbGVGb3JtYXR0ZXIoc2YuWV9BWElTX0ZPUk1BVFRFUl9QUkVDSVNJT04pO3RoaXMueUF4aXMubWFyZ2luKDApLnRpY2tMYWJlbFBhZGRpbmcoNSkuZm9ybWF0dGVyKHApOwp0aGlzLnlBeGlzLnVzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uKCk7dGhpcy5maWxsQXJlYT1sO3A9bmV3IGIuUGFuWm9vbURyYWdMYXllcih0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSwoKT0+dGhpcy5yZXNldERvbWFpbigpKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbj10aGlzLmNyZWF0ZVRvb2x0aXBJbnRlcmFjdGlvbihwKTt0aGlzLnRvb2x0aXBQb2ludHNDb21wb25lbnQ9bmV3IFBsb3R0YWJsZS5Db21wb25lbnQ7bD10aGlzLmJ1aWxkUGxvdCh0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSxsKTt0aGlzLmdyaWRsaW5lcz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTtrPW51bGw7ciE9PWYuTE9HJiYoaz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3VpZGVMaW5lTGF5ZXIoImhvcml6b250YWwiKSxrLnNjYWxlKHRoaXMueVNjYWxlKS52YWx1ZSgwKSk7cj1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3VpZGVMaW5lTGF5ZXIoInZlcnRpY2FsIik7CnIuc2NhbGUodGhpcy54U2NhbGUpLnZhbHVlKDApO3RoaXMuY2VudGVyPW5ldyBQbG90dGFibGUuQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsayxyLGwsdGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LHBdKTt0aGlzLmNlbnRlci5hZGRDbGFzcygibWFpbiIpO3RoaXMub3V0ZXI9bmV3IFBsb3R0YWJsZS5Db21wb25lbnRzLlRhYmxlKFtbdGhpcy55QXhpcyx0aGlzLmNlbnRlcl0sW251bGwsdGhpcy54QXhpc11dKX1idWlsZFBsb3QoayxyLGwpe2wmJih0aGlzLm1hcmdpbkFyZWFQbG90PW5ldyBQbG90dGFibGUuUGxvdHMuQXJlYSx0aGlzLm1hcmdpbkFyZWFQbG90LngodGhpcy54QWNjZXNzb3IsayksdGhpcy5tYXJnaW5BcmVhUGxvdC55KGwuaGlnaGVyQWNjZXNzb3IsciksdGhpcy5tYXJnaW5BcmVhUGxvdC55MChsLmxvd2VyQWNjZXNzb3IpLHRoaXMubWFyZ2luQXJlYVBsb3QuYXR0cigiZmlsbCIsKHEsdSx3KT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHcubWV0YWRhdGEoKS5uYW1lKSksCnRoaXMubWFyZ2luQXJlYVBsb3QuYXR0cigiZmlsbC1vcGFjaXR5IiwuMyksdGhpcy5tYXJnaW5BcmVhUGxvdC5hdHRyKCJzdHJva2Utd2lkdGgiLDApKTt0aGlzLnNtb290aGVkQWNjZXNzb3I9cT0+cS5zbW9vdGhlZDtsPW5ldyBQbG90dGFibGUuUGxvdHMuTGluZTtsLngodGhpcy54QWNjZXNzb3Isayk7bC55KHRoaXMueVZhbHVlQWNjZXNzb3Iscik7bC5hdHRyKCJzdHJva2UiLChxLHUsdyk9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh3Lm1ldGFkYXRhKCkubmFtZSkpO3RoaXMubGluZVBsb3Q9bDt0aGlzLnNldHVwVG9vbHRpcHMobCk7bGV0IHA9bmV3IFBsb3R0YWJsZS5QbG90cy5MaW5lO3AueCh0aGlzLnhBY2Nlc3NvcixrKTtwLnkodGhpcy5zbW9vdGhlZEFjY2Vzc29yLHIpO3AuYXR0cigic3Ryb2tlIiwocSx1LHcpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUody5tZXRhZGF0YSgpLm5hbWUpKTt0aGlzLnNtb290aExpbmVQbG90PXA7aWYodGhpcy5zeW1ib2xGdW5jdGlvbil7dmFyIG09Cm5ldyBQbG90dGFibGUuUGxvdHMuU2NhdHRlcjttLngodGhpcy54QWNjZXNzb3Isayk7bS55KHRoaXMueVZhbHVlQWNjZXNzb3Iscik7bS5hdHRyKCJmaWxsIiwocSx1LHcpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUody5tZXRhZGF0YSgpLm5hbWUpKTttLmF0dHIoIm9wYWNpdHkiLDEpO20uc2l6ZSgyKnNmLlRPT0xUSVBfQ0lSQ0xFX1NJWkUpO20uc3ltYm9sKChxLHUsdyk9PnRoaXMuc3ltYm9sRnVuY3Rpb24ody5tZXRhZGF0YSgpLm5hbWUpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdD1tfW09bmV3IFBsb3R0YWJsZS5QbG90cy5TY2F0dGVyO20ueCh0aGlzLnhBY2Nlc3NvcixrKTttLnkodGhpcy55VmFsdWVBY2Nlc3NvcixyKTttLmF0dHIoImZpbGwiLHE9PnRoaXMuY29sb3JTY2FsZS5zY2FsZShxLm5hbWUpKTttLmF0dHIoIm9wYWNpdHkiLDEpO20uc2l6ZSgyKnNmLlRPT0xUSVBfQ0lSQ0xFX1NJWkUpO20uZGF0YXNldHMoW3RoaXMubGFzdFBvaW50c0RhdGFzZXRdKTt0aGlzLnNjYXR0ZXJQbG90PQptO2xldCBuPW5ldyBQbG90dGFibGUuUGxvdHMuU2NhdHRlcjtuLngodGhpcy54QWNjZXNzb3Isayk7bi55KHE9PnEuZGlzcGxheVkscik7bi5hdHRyKCJmaWxsIixxPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUocS5uYW1lKSk7bi5hdHRyKCJvcGFjaXR5IiwxKTtuLnNpemUoMipzZi5OQU5fU1lNQk9MX1NJWkUpO24uZGF0YXNldHMoW3RoaXMubmFuRGF0YXNldF0pO24uc3ltYm9sKFBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMudHJpYW5nbGUpO3RoaXMubmFuRGlzcGxheT1uO2s9W24sbSxwLGxdO3RoaXMubWFyZ2luQXJlYVBsb3QmJmsucHVzaCh0aGlzLm1hcmdpbkFyZWFQbG90KTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmay5wdXNoKHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90KTtyZXR1cm4gbmV3IFBsb3R0YWJsZS5Db21wb25lbnRzLkdyb3VwKGspfWlnbm9yZVlPdXRsaWVycyhrKXtrIT09dGhpcy5faWdub3JlWU91dGxpZXJzJiYodGhpcy5faWdub3JlWU91dGxpZXJzPWssdGhpcy51cGRhdGVTcGVjaWFsRGF0YXNldHMoKSwKdGhpcy55U2NhbGUuaWdub3JlT3V0bGllcihrKSx0aGlzLnJlc2V0WURvbWFpbigpKX1nZXRWYWx1ZXNGb3JZQXhpc0RvbWFpbkNvbXB1dGUoKXtjb25zdCBrPXRoaXMuZ2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCk7cmV0dXJuIF8uZmxhdHRlbkRlZXAodGhpcy5kYXRhc2V0cy5tYXAocj0+ay5tYXAobD0+ci5kYXRhKCkubWFwKHA9PmwocCwtMSxyKSkpKSkuZmlsdGVyKGlzRmluaXRlKX11cGRhdGVTcGVjaWFsRGF0YXNldHMoKXtjb25zdCBrPXRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpO3ZhciByPXRoaXMuZGF0YXNldHMubWFwKGw9PntsZXQgcD1udWxsLG09bC5kYXRhKCkuZmlsdGVyKG49PiFpc05hTihrKG4sLTEsbCkpKTswPG0ubGVuZ3RoJiYocD1tW20ubGVuZ3RoLTFdLHAubmFtZT1sLm1ldGFkYXRhKCkubmFtZSxwLnJlbGF0aXZlPXNmLnJlbGF0aXZlQWNjZXNzb3IocCwtMSxsKSk7cmV0dXJuIHB9KS5maWx0ZXIobD0+bnVsbCE9bCk7dGhpcy5sYXN0UG9pbnRzRGF0YXNldC5kYXRhKHIpOwp0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cy5tYXAodGhpcy5jcmVhdGVTYW1wbGVkRGF0YXNldEZvck1hcmtlcnMpKTtyPV8uZmxhdHRlbih0aGlzLmRhdGFzZXRzLm1hcChsPT57bGV0IHA9bnVsbCxtPWwuZGF0YSgpLG49MDtmb3IoO248bS5sZW5ndGgmJm51bGw9PXA7KWlzTmFOKGsobVtuXSwtMSxsKSl8fChwPWsobVtuXSwtMSxsKSksbisrO251bGw9PXAmJihwPTApO2xldCBxPVtdO2ZvcihuPTA7bjxtLmxlbmd0aDtuKyspaXNOYU4oayhtW25dLC0xLGwpKT8obVtuXS5uYW1lPWwubWV0YWRhdGEoKS5uYW1lLG1bbl0uZGlzcGxheVk9cCxtW25dLnJlbGF0aXZlPXNmLnJlbGF0aXZlQWNjZXNzb3IobVtuXSwtMSxsKSxxLnB1c2gobVtuXSkpOnA9ayhtW25dLC0xLGwpO3JldHVybiBxfSkpO3RoaXMubmFuRGF0YXNldC5kYXRhKHIpfXJlc2V0RG9tYWluKCl7dGhpcy5yZXNldFhEb21haW4oKTt0aGlzLnJlc2V0WURvbWFpbigpfXJlc2V0WERvbWFpbigpe2lmKG51bGwhPQp0aGlzLl9kZWZhdWx0WFJhbmdlKXZhciBrPXRoaXMuX2RlZmF1bHRYUmFuZ2U7ZWxzZSBrPXRoaXMueFNjYWxlLGsuX2RvbWFpbk1pbj1udWxsLGsuX2RvbWFpbk1heD1udWxsLGs9ay5fZ2V0RXh0ZW50KCk7dGhpcy54U2NhbGUuZG9tYWluKGspfXJlc2V0WURvbWFpbigpe251bGwhPXRoaXMuX2RlZmF1bHRZUmFuZ2U/dGhpcy55U2NhbGUuZG9tYWluKHRoaXMuX2RlZmF1bHRZUmFuZ2UpOih0aGlzLnlTY2FsZS5hdXRvRG9tYWluKCksdGhpcy55U2NhbGUuZG9tYWluKHRoaXMueVNjYWxlLmRvbWFpbigpKSl9Z2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCl7Y29uc3Qgaz1bdGhpcy5nZXRZQXhpc0FjY2Vzc29yKCldO3RoaXMuZmlsbEFyZWEmJmsucHVzaCh0aGlzLmZpbGxBcmVhLmxvd2VyQWNjZXNzb3IsdGhpcy5maWxsQXJlYS5oaWdoZXJBY2Nlc3Nvcik7cmV0dXJuIGt9Z2V0WUF4aXNBY2Nlc3Nvcigpe3JldHVybiB0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOgp0aGlzLnlWYWx1ZUFjY2Vzc29yfWNyZWF0ZVRvb2x0aXBJbnRlcmFjdGlvbihrKXtjb25zdCByPW5ldyBzZi5Qb2ludGVySW50ZXJhY3Rpb24sbD0oKT0+e3IuZW5hYmxlZCghMSk7dGhpcy5oaWRlVG9vbHRpcHMoKX0scD0oKT0+ci5lbmFibGVkKCEwKTtrLm9uUGFuU3RhcnQobCk7ay5vbkRyYWdab29tU3RhcnQobCk7ay5vblBhbkVuZChwKTtrLm9uRHJhZ1pvb21FbmQocCk7ay5vblNjcm9sbFpvb20oKCk9PnRoaXMudXBkYXRlVG9vbHRpcENvbnRlbnQodGhpcy5fbGFzdE1vdXNlUG9zaXRpb24pKTtyLm9uUG9pbnRlck1vdmUobT0+e3RoaXMuX2xhc3RNb3VzZVBvc2l0aW9uPW07dGhpcy51cGRhdGVUb29sdGlwQ29udGVudChtKX0pO3Iub25Qb2ludGVyRXhpdCgoKT0+dGhpcy5oaWRlVG9vbHRpcHMoKSk7cmV0dXJuIHJ9dXBkYXRlVG9vbHRpcENvbnRlbnQoayl7dGhpcy5saW5lUGxvdCYmKHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWUpLAp0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCByPXt4OmsueCx5OmsueSxkYXR1bTpudWxsLGRhdGFzZXQ6bnVsbH0sbD10aGlzLmdyaWRsaW5lcy5jb250ZW50KCkubm9kZSgpLmdldEJCb3goKTt2YXIgcD10aGlzLmxpbmVQbG90LmRhdGFzZXRzKCkubWFwKHU9PnRoaXMuZmluZENsb3Nlc3RQb2ludChyLHUpKS5maWx0ZXIoQm9vbGVhbik7bGV0IG09UGxvdHRhYmxlLlV0aWxzLkRPTS5pbnRlcnNlY3RzQkJveCxuPXAuZmlsdGVyKHU9Pm0odS54LHUueSxsKXx8aXNOYU4odGhpcy55VmFsdWVBY2Nlc3Nvcih1LmRhdHVtLDAsdS5kYXRhc2V0KSkpLHE9bi5maWx0ZXIodT0+IWlzTmFOKHRoaXMueVZhbHVlQWNjZXNzb3IodS5kYXR1bSwwLHUuZGF0YXNldCkpKTswIT09cC5sZW5ndGg/KHRoaXMuc2NhdHRlclBsb3QuYXR0cigiZGlzcGxheSIsIm5vbmUiKSxwPXRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudC5jb250ZW50KCkuc2VsZWN0QWxsKCIucG9pbnQiKS5kYXRhKHEsCnU9PnUuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpLHAuZW50ZXIoKS5hcHBlbmQoImNpcmNsZSIpLmNsYXNzZWQoInBvaW50IiwhMCkscC5hdHRyKCJyIixzZi5UT09MVElQX0NJUkNMRV9TSVpFKS5hdHRyKCJjeCIsdT0+dS54KS5hdHRyKCJjeSIsdT0+dS55KS5zdHlsZSgic3Ryb2tlIiwibm9uZSIpLmF0dHIoImZpbGwiLHU9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh1LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lKSkscC5leGl0KCkucmVtb3ZlKCksdGhpcy5kcmF3VG9vbHRpcHMobixyLHRoaXMudG9vbHRpcENvbHVtbnMpKTp0aGlzLmhpZGVUb29sdGlwcygpfSkpfWhpZGVUb29sdGlwcygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWUpO3RoaXMudG9vbHRpcC5oaWRlKCk7dGhpcy5zY2F0dGVyUGxvdC5hdHRyKCJkaXNwbGF5IiwiYmxvY2siKTt0aGlzLnRvb2x0aXBQb2ludHNDb21wb25lbnQuY29udGVudCgpLnNlbGVjdEFsbCgiLnBvaW50IikucmVtb3ZlKCl9c2V0dXBUb29sdGlwcyhrKXtrLm9uRGV0YWNoKCgpPT4Ke3RoaXMudG9vbHRpcEludGVyYWN0aW9uLmRldGFjaEZyb20oKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCExKX0pO2sub25BbmNob3IoKCk9Pnt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5hdHRhY2hUbyhrKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCEwKX0pfWRyYXdUb29sdGlwcyhrLHIsbCl7aWYoay5sZW5ndGgpe3ZhciBwPXRoaXMuY29sb3JTY2FsZTtsPVt7dGl0bGU6IiIsc3RhdGljOiExLGV2YWxUeXBlOmQuRE9NLGV2YWx1YXRlKHkpe2QzLnNlbGVjdCh0aGlzKS5zZWxlY3QoInNwYW4iKS5zdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsKCk9PnAuc2NhbGUoeS5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3JldHVybiIifSxlbnRlcih5KXtkMy5zZWxlY3QodGhpcykuYXBwZW5kKCJzcGFuIikuY2xhc3NlZCgic3dhdGNoIiwhMCkuc3R5bGUoImJhY2tncm91bmQtY29sb3IiLCgpPT5wLnNjYWxlKHkuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKX19LAouLi5sXTt2YXIgbT15PT5NYXRoLnBvdyh5Lngtci54LDIpK01hdGgucG93KHkueS1yLnksMiksbj1fLm1pbihrLm1hcChtKSkscT10aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOnRoaXMueVZhbHVlQWNjZXNzb3I7az0iYXNjZW5kaW5nIj09PXRoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q/Xy5zb3J0Qnkoayx5PT5xKHkuZGF0dW0sLTEseS5kYXRhc2V0KSk6ImRlc2NlbmRpbmciPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9fLnNvcnRCeShrLHk9PnEoeS5kYXR1bSwtMSx5LmRhdGFzZXQpKS5yZXZlcnNlKCk6Im5lYXJlc3QiPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9fLnNvcnRCeShrLG0pOmsuc2xpY2UoMCkucmV2ZXJzZSgpO3ZhciB1PXRoaXMsdz1kMy5zZWxlY3QodGhpcy50b29sdGlwLmNvbnRlbnQoKSkuc2VsZWN0KCJ0YWJsZSIpLEE9dy5zZWxlY3QoInRoZWFkIikuc2VsZWN0QWxsKCJ0aCIpLmRhdGEobCx5PT55LnRpdGxlKTsKQS5lbnRlcigpLmFwcGVuZCgidGgiKS50ZXh0KHk9PnkudGl0bGUpLm5vZGVzKCk7QS5leGl0KCkucmVtb3ZlKCk7az13LnNlbGVjdCgidGJvZHkiKS5zZWxlY3RBbGwoInRyIikuZGF0YShrLHk9PnkuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpO2suY2xhc3NlZCgiZGlzdGFudCIseT0+e3ZhciB4PXkuZGF0YXNldC5kYXRhKClbMF0sQz1fLmxhc3QoeS5kYXRhc2V0LmRhdGEoKSk7eD10aGlzLnhTY2FsZS5zY2FsZSh0aGlzLnhBY2Nlc3Nvcih4LDAseS5kYXRhc2V0KSk7Qz10aGlzLnhTY2FsZS5zY2FsZSh0aGlzLnhBY2Nlc3NvcihDLDAseS5kYXRhc2V0KSk7eT10aGlzLnNtb290aGluZ0VuYWJsZWQ/eS5kYXR1bS5zbW9vdGhlZDp0aGlzLnlWYWx1ZUFjY2Vzc29yKHkuZGF0dW0sMCx5LmRhdGFzZXQpO3JldHVybiByLng8eHx8ci54PkN8fGlzTmFOKHkpfSkuY2xhc3NlZCgiY2xvc2VzdCIseT0+bSh5KT09PW4pLmVhY2goZnVuY3Rpb24oeSl7dS5kcmF3VG9vbHRpcFJvdyh0aGlzLApsLHkpfSkub3JkZXIoKTtrLmV4aXQoKS5yZW1vdmUoKTtrLmVudGVyKCkuYXBwZW5kKCJ0ciIpLmVhY2goZnVuY3Rpb24oeSl7dS5kcmF3VG9vbHRpcFJvdyh0aGlzLGwseSl9KS5ub2RlcygpO3RoaXMudG9vbHRpcC51cGRhdGVBbmRQb3NpdGlvbih0aGlzLnRhcmdldFNWRy5ub2RlKCkpfWVsc2UgdGhpcy50b29sdGlwLmhpZGUoKX1kcmF3VG9vbHRpcFJvdyhrLHIsbCl7Y29uc3QgcD10aGlzO2s9ZDMuc2VsZWN0KGspLnNlbGVjdEFsbCgidGQiKS5kYXRhKHIpO2suZWFjaChmdW5jdGlvbihtKXttLnN0YXRpY3x8cC5kcmF3VG9vbHRpcENvbHVtbi5jYWxsKHAsdGhpcyxtLGwpfSk7ay5leGl0KCkucmVtb3ZlKCk7ay5lbnRlcigpLmFwcGVuZCgidGQiKS5lYWNoKGZ1bmN0aW9uKG0pe20uZW50ZXImJm0uZW50ZXIuY2FsbCh0aGlzLGwpO3AuZHJhd1Rvb2x0aXBDb2x1bW4uY2FsbChwLHRoaXMsbSxsKX0pfWRyYXdUb29sdGlwQ29sdW1uKGsscixsKXtjb25zdCBwPXRoaXMuc21vb3RoaW5nRW5hYmxlZDsKci5ldmFsVHlwZT09ZC5ET00/ci5ldmFsdWF0ZS5jYWxsKGssbCx7c21vb3RoaW5nRW5hYmxlZDpwfSk6ZDMuc2VsZWN0KGspLnRleHQoci5ldmFsdWF0ZS5jYWxsKGssbCx7c21vb3RoaW5nRW5hYmxlZDpwfSkpfWZpbmRDbG9zZXN0UG9pbnQoayxyKXtjb25zdCBsPXIuZGF0YSgpLm1hcCgobixxKT0+dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IobixxLHIpKSk7bGV0IHA9Xy5zb3J0ZWRJbmRleChsLGsueCk7aWYoMD09bC5sZW5ndGgpcmV0dXJuIG51bGw7cD09PWwubGVuZ3RoPy0tcDowIT09cCYmKHA9TWF0aC5hYnMobFtwLTFdLWsueCk8TWF0aC5hYnMobFtwXS1rLngpP3AtMTpwKTtrPXIuZGF0YSgpW3BdO2NvbnN0IG09dGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuc21vb3RoZWRBY2Nlc3NvcihrLHAscik6dGhpcy55VmFsdWVBY2Nlc3NvcihrLHAscik7cmV0dXJue3g6bFtwXSx5OnRoaXMueVNjYWxlLnNjYWxlKG0pLGRhdHVtOmssZGF0YXNldDpyfX1yZXNtb290aERhdGFzZXQoayl7bGV0IHI9CmsuZGF0YSgpO2NvbnN0IGw9dGhpcy5zbW9vdGhpbmdXZWlnaHQ7bGV0IHA9MDxyLmxlbmd0aD8wOk5hTixtPTA7Y29uc3Qgbj1yLm1hcCgodSx3KT0+dGhpcy55VmFsdWVBY2Nlc3Nvcih1LHcsaykpLHE9bi5ldmVyeSh1PT51PT1uWzBdKTtyLmZvckVhY2goKHUsdyk9Pnt3PW5bd107cXx8IU51bWJlci5pc0Zpbml0ZSh3KT91LnNtb290aGVkPXc6KHA9cCpsKygxLWwpKncsbSsrLHc9MSwxIT09bCYmKHc9MS1NYXRoLnBvdyhsLG0pKSx1LnNtb290aGVkPXAvdyl9KX1nZXREYXRhc2V0KGspe3ZvaWQgMD09PXRoaXMubmFtZTJkYXRhc2V0c1trXSYmKHRoaXMubmFtZTJkYXRhc2V0c1trXT1uZXcgUGxvdHRhYmxlLkRhdGFzZXQoW10se25hbWU6ayxtZXRhOm51bGx9KSk7cmV0dXJuIHRoaXMubmFtZTJkYXRhc2V0c1trXX1zdGF0aWMgZ2V0WVNjYWxlRnJvbVR5cGUoayl7aWYoaz09PWYuTE9HKXJldHVybiBuZXcgYi5Mb2dTY2FsZTtpZihrPT09Zi5MSU5FQVIpcmV0dXJuIG5ldyBiLkxpbmVhclNjYWxlOwp0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIHlTY2FsZSB0eXBlICIrayk7fXNldFZpc2libGVTZXJpZXMoayl7dGhpcy5kaXNhYmxlQ2hhbmdlcygpO2s9ay5zb3J0KCk7ay5yZXZlcnNlKCk7dGhpcy5zZXJpZXNOYW1lcz1rfWRpc2FibGVDaGFuZ2VzKCl7dGhpcy5kaXJ0eURhdGFzZXRzLnNpemV8fCh0aGlzLmxpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLnNtb290aExpbmVQbG90JiZ0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLm1hcmdpbkFyZWFQbG90JiZ0aGlzLm1hcmdpbkFyZWFQbG90LmRhdGFzZXRzKFtdKSl9Y29tbWl0Q2hhbmdlcygpe3RoaXMuZGF0YXNldHM9dGhpcy5zZXJpZXNOYW1lcy5tYXAoaz0+dGhpcy5nZXREYXRhc2V0KGspKTtbLi4udGhpcy5kaXJ0eURhdGFzZXRzXS5mb3JFYWNoKGs9Pnt0aGlzLnNtb290aGluZ0VuYWJsZWQmJnRoaXMucmVzbW9vdGhEYXRhc2V0KHRoaXMuZ2V0RGF0YXNldChrKSl9KTt0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpOwp0aGlzLmxpbmVQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpO3RoaXMuc21vb3RoaW5nRW5hYmxlZCYmdGhpcy5zbW9vdGhMaW5lUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKTt0aGlzLm1hcmdpbkFyZWFQbG90JiZ0aGlzLm1hcmdpbkFyZWFQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpO3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpO3RoaXMuZGlydHlEYXRhc2V0cy5jbGVhcigpfWNyZWF0ZVNhbXBsZWREYXRhc2V0Rm9yTWFya2VycyhrKXtjb25zdCByPWsuZGF0YSgpO2lmKDIwPj1yLmxlbmd0aClyZXR1cm4gaztjb25zdCBsPU1hdGguY2VpbChyLmxlbmd0aC8yMCkscD1BcnJheShNYXRoLmZsb29yKHIubGVuZ3RoL2wpKTtmb3IobGV0IG09MCxuPTA7bTxwLmxlbmd0aDttKyssbis9bClwW21dPXJbbl07cmV0dXJuIG5ldyBQbG90dGFibGUuRGF0YXNldChwLGsubWV0YWRhdGEoKSl9c2V0U2VyaWVzRGF0YShrLHIpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKTsKdGhpcy5nZXREYXRhc2V0KGspLmRhdGEocik7dGhpcy5kaXJ0eURhdGFzZXRzLmFkZChrKX1zZXRTZXJpZXNNZXRhZGF0YShrLHIpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKTt0aGlzLmdldERhdGFzZXQoaykubWV0YWRhdGEoT2JqZWN0LmFzc2lnbih7fSx0aGlzLmdldERhdGFzZXQoaykubWV0YWRhdGEoKSx7bWV0YTpyfSkpO3RoaXMuZGlydHlEYXRhc2V0cy5hZGQoayl9c21vb3RoaW5nVXBkYXRlKGspe3RoaXMuc21vb3RoaW5nV2VpZ2h0PWs7dGhpcy5kYXRhc2V0cy5mb3JFYWNoKHI9PnRoaXMucmVzbW9vdGhEYXRhc2V0KHIpKTt0aGlzLnNtb290aGluZ0VuYWJsZWR8fCh0aGlzLmxpbmVQbG90LmFkZENsYXNzKCJnaG9zdCIpLHRoaXMuc2NhdHRlclBsb3QueSh0aGlzLnNtb290aGVkQWNjZXNzb3IsdGhpcy55U2NhbGUpLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMCx0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmCnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LnkodGhpcy5nZXRZQXhpc0FjY2Vzc29yKCksdGhpcy55U2NhbGUpO3RoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCl9c21vb3RoaW5nRGlzYWJsZSgpe3RoaXMuc21vb3RoaW5nRW5hYmxlZCYmKHRoaXMubGluZVBsb3QucmVtb3ZlQ2xhc3MoImdob3N0IiksdGhpcy5zY2F0dGVyUGxvdC55KHRoaXMueVZhbHVlQWNjZXNzb3IsdGhpcy55U2NhbGUpLHRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHMoW10pLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMSx0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QueSh0aGlzLmdldFlBeGlzQWNjZXNzb3IoKSx0aGlzLnlTY2FsZSl9c2V0VG9vbHRpcFNvcnRpbmdNZXRob2Qoayl7dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD1rfXJlbmRlclRvKGspe3RoaXMudGFyZ2V0U1ZHPWs7dGhpcy5vdXRlci5yZW5kZXJUbyhrKTsKbnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSYmdGhpcy5yZXNldFhEb21haW4oKTtudWxsIT10aGlzLl9kZWZhdWx0WVJhbmdlJiZ0aGlzLnJlc2V0WURvbWFpbigpO3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpfXJlZHJhdygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpO3RoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dCgpO3RoaXMub3V0ZXIucmVkcmF3KCl9KX1tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dEluUmFmKCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWYpO3RoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKX0pfW1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0KCl7aWYodGhpcy5fbGFzdERyYXdCQm94KXtjb25zdCBrPQp0aGlzLl9sYXN0RHJhd0JCb3gud2lkdGgse3dpZHRoOnJ9PXRoaXMudGFyZ2V0U1ZHLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTswPT1rJiZrPHImJnRoaXMub3V0ZXIuaW52YWxpZGF0ZUNhY2hlKCl9dGhpcy5fbGFzdERyYXdCQm94PXRoaXMudGFyZ2V0U1ZHLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1kZXN0cm95KCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZHJhd1JhZik7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWYpO3RoaXMub3V0ZXImJnRoaXMub3V0ZXIuZGVzdHJveSgpfW9uQW5jaG9yKGspe2lmKHRoaXMub3V0ZXIpdGhpcy5vdXRlci5vbkFuY2hvcihrKX19Yi5MaW5lQ2hhcnQ9aH0pKHVnfHwodWc9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1saW5lLWNoYXJ0Mi92ei1saW5lLWNoYXJ0Mi5qcwooZnVuY3Rpb24oYil7Y29uc3QgZD1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSxmPWg9PmlzTmFOKGgpPyJOYU4iOmQoaCk7Yi5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OUz1be3RpdGxlOiJOYW1lIixldmFsdWF0ZTpoPT5oLmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlNtb290aGVkIixldmFsdWF0ZShoLGspe3JldHVybiBmKGsuc21vb3RoaW5nRW5hYmxlZD9oLmRhdHVtLnNtb290aGVkOmguZGF0dW0uc2NhbGFyKX19LHt0aXRsZToiVmFsdWUiLGV2YWx1YXRlOmg9PmYoaC5kYXR1bS5zY2FsYXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOmg9PnNmLnN0ZXBGb3JtYXR0ZXIoaC5kYXR1bS5zdGVwKX0se3RpdGxlOiJUaW1lIixldmFsdWF0ZTpoPT5zZi50aW1lRm9ybWF0dGVyKGguZGF0dW0ud2FsbF90aW1lKX0se3RpdGxlOiJSZWxhdGl2ZSIsZXZhbHVhdGU6aD0+c2YucmVsYXRpdmVGb3JtYXR0ZXIoc2YucmVsYXRpdmVBY2Nlc3NvcihoLmRhdHVtLAotMSxoLmRhdGFzZXQpKX1dO1BvbHltZXIoe2lzOiJ2ei1saW5lLWNoYXJ0MiIscHJvcGVydGllczp7Y29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IFBsb3R0YWJsZS5TY2FsZXMuQ29sb3IpLnJhbmdlKGQzLnNjaGVtZUNhdGVnb3J5MTApfX0sc3ltYm9sRnVuY3Rpb246T2JqZWN0LHNtb290aGluZ0VuYWJsZWQ6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITF9LHNtb290aGluZ1dlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6LjZ9LHhUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0seENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9LHhBeGlzRm9ybWF0dGVyOk9iamVjdCx5VmFsdWVBY2Nlc3Nvcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pmg9Pmguc2NhbGFyfSx0b29sdGlwQ29sdW1uczp7dHlwZTpBcnJheSx2YWx1ZTooKT0+Yi5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OU30sZmlsbEFyZWE6T2JqZWN0LApkZWZhdWx0WFJhbmdlOkFycmF5LGRlZmF1bHRZUmFuZ2U6QXJyYXkseVNjYWxlVHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImxpbmVhciJ9LGlnbm9yZVlPdXRsaWVyczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx0b29sdGlwU29ydGluZ01ldGhvZDp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSx0b29sdGlwUG9zaXRpb246e3R5cGU6U3RyaW5nLHZhbHVlOnNnLlRvb2x0aXBQb3NpdGlvbi5CT1RUT019LF9jaGFydDpPYmplY3QsX3Zpc2libGVTZXJpZXNDYWNoZTp7dHlwZTpBcnJheSx2YWx1ZTooKT0+W119LF9zZXJpZXNEYXRhQ2FjaGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfc2VyaWVzTWV0YWRhdGFDYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ6e3R5cGU6TnVtYmVyLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfbWFrZUNoYXJ0KHhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QsIHhUeXBlLCB5VmFsdWVBY2Nlc3NvciwgeVNjYWxlVHlwZSwgdG9vbHRpcENvbHVtbnMsIGNvbG9yU2NhbGUsIGlzQXR0YWNoZWQpIiwKIl9yZWxvYWRGcm9tQ2FjaGUoX2NoYXJ0LCBfdmlzaWJsZVNlcmllc0NhY2hlKSIsIl9zbW9vdGhpbmdDaGFuZ2VkKHNtb290aGluZ0VuYWJsZWQsIHNtb290aGluZ1dlaWdodCwgX2NoYXJ0KSIsIl90b29sdGlwU29ydGluZ01ldGhvZENoYW5nZWQodG9vbHRpcFNvcnRpbmdNZXRob2QsIF9jaGFydCkiLCJfb3V0bGllcnNDaGFuZ2VkKGlnbm9yZVlPdXRsaWVycywgX2NoYXJ0KSJdLHJlYWR5KCl7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX0sYXR0YWNoZWQoKXtjb25zdCBoPXtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9O3RoaXMuX2xpc3Rlbih0aGlzLCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEb3duLmJpbmQodGhpcyksaCk7dGhpcy5fbGlzdGVuKHRoaXMsIm1vdXNldXAiLHRoaXMuX29uTW91c2VVcC5iaW5kKHRoaXMpLGgpO3RoaXMuX2xpc3Rlbih3aW5kb3csImtleWRvd24iLHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLGgpO3RoaXMuX2xpc3Rlbih3aW5kb3csCiJrZXl1cCIsdGhpcy5fb25LZXlVcC5iaW5kKHRoaXMpLGgpfSxkZXRhY2hlZCgpe3RoaXMuY2FuY2VsQXN5bmModGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkKTt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuZGVzdHJveSgpO3RoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCh7bm9kZTpoLGV2ZW50TmFtZTprLGZ1bmM6cixvcHRpb246bH0pPT57aC5yZW1vdmVFdmVudExpc3RlbmVyKGsscixsKX0pLHRoaXMuX2xpc3RlbmVycy5jbGVhcigpKX0sX2xpc3RlbihoLGsscixsPXt9KXt0aGlzLl9saXN0ZW5lcnN8fCh0aGlzLl9saXN0ZW5lcnM9bmV3IFNldCk7dGhpcy5fbGlzdGVuZXJzLmFkZCh7bm9kZTpoLGV2ZW50TmFtZTprLGZ1bmM6cixvcHRpb246bH0pO2guYWRkRXZlbnRMaXN0ZW5lcihrLHIsbCl9LF9vbktleURvd24oaCl7dGhpcy50b2dnbGVDbGFzcygicGFua2V5IixiLlBhblpvb21EcmFnTGF5ZXIuaXNQYW5LZXkoaCkpfSxfb25LZXlVcChoKXt0aGlzLnRvZ2dsZUNsYXNzKCJwYW5rZXkiLApiLlBhblpvb21EcmFnTGF5ZXIuaXNQYW5LZXkoaCkpfSxfb25Nb3VzZURvd24oKXt0aGlzLnRvZ2dsZUNsYXNzKCJtb3VzZWRvd24iLCEwKX0sX29uTW91c2VVcCgpe3RoaXMudG9nZ2xlQ2xhc3MoIm1vdXNlZG93biIsITEpfSxzZXRWaXNpYmxlU2VyaWVzOmZ1bmN0aW9uKGgpe18uaXNFcXVhbCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUsaCl8fCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9aCl9LHNldFNlcmllc0RhdGE6ZnVuY3Rpb24oaCxrKXt0aGlzLl9zZXJpZXNEYXRhQ2FjaGVbaF09azt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YShoLGspfSxzZXRTZXJpZXNNZXRhZGF0YShoLGspe3RoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbaF09azt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzTWV0YWRhdGEoaCxrKX0sY29tbWl0Q2hhbmdlcygpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5jb21taXRDaGFuZ2VzKCl9LHJlc2V0RG9tYWluOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJgp0aGlzLl9jaGFydC5yZXNldERvbWFpbigpfSxyZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVkcmF3KCl9LF9tYWtlQ2hhcnQ6ZnVuY3Rpb24oaCxrLHIsbCxwLG0pe2t8fGg/ayYmKGg9KCk9PnNmLmdldFhDb21wb25lbnRzKGspKTpoPXNmLnN0ZXBYO251bGwhPT10aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwpO3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGw7aWYoaCYmdGhpcy55VmFsdWVBY2Nlc3NvciYmdGhpcy50b29sdGlwQ29sdW1ucyl7dmFyIG49bmV3IGIuTGluZUNoYXJ0KGgsdGhpcy55VmFsdWVBY2Nlc3NvcixsLG0sdGhpcy4kLnRvb2x0aXAsdGhpcy50b29sdGlwQ29sdW1ucywKdGhpcy5maWxsQXJlYSx0aGlzLmRlZmF1bHRYUmFuZ2UsdGhpcy5kZWZhdWx0WVJhbmdlLHRoaXMuc3ltYm9sRnVuY3Rpb24sdGhpcy54QXhpc0Zvcm1hdHRlcikscT1kMy5zZWxlY3QodGhpcy4kLmNoYXJ0ZGl2KTtuLnJlbmRlclRvKHEpO3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5kZXN0cm95KCk7dGhpcy5fY2hhcnQ9bjt0aGlzLl9jaGFydC5vbkFuY2hvcigoKT0+dGhpcy5maXJlKCJjaGFydC1hdHRhY2hlZCIpKX19LDM1MCl9LF9yZWxvYWRGcm9tQ2FjaGU6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5mb3JFYWNoKGg9Pnt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKGgsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW2hdfHxbXSl9KSx0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZmlsdGVyKGg9PnRoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbaF0pLmZvckVhY2goaD0+e3RoaXMuX2NoYXJ0LnNldFNlcmllc01ldGFkYXRhKGgsdGhpcy5fc2VyaWVzTWV0YWRhdGFDYWNoZVtoXSl9KSwKdGhpcy5fY2hhcnQuc2V0VmlzaWJsZVNlcmllcyh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUpLHRoaXMuX2NoYXJ0LmNvbW1pdENoYW5nZXMoKSl9LF9zbW9vdGhpbmdDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJih0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5fY2hhcnQuc21vb3RoaW5nVXBkYXRlKHRoaXMuc21vb3RoaW5nV2VpZ2h0KTp0aGlzLl9jaGFydC5zbW9vdGhpbmdEaXNhYmxlKCkpfSxfb3V0bGllcnNDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0Lmlnbm9yZVlPdXRsaWVycyh0aGlzLmlnbm9yZVlPdXRsaWVycyl9LF90b29sdGlwU29ydGluZ01ldGhvZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0VG9vbHRpcFNvcnRpbmdNZXRob2QodGhpcy50b29sdGlwU29ydGluZ01ldGhvZCl9LGdldEV4cG9ydGVyKCl7cmV0dXJuIG5ldyBiLkxpbmVDaGFydEV4cG9ydGVyKHRoaXMuJC5jaGFydGRpdil9fSl9KSh1Z3x8Cih1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3Z6LWxpbmUtY2hhcnQyLmh0bWwuanMKUG9seW1lcih7aXM6InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCJ9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1saW5lLWNoYXJ0Mi9saW5lLWNoYXJ0LWV4cG9ydGVyLmpzCihmdW5jdGlvbihiKXtsZXQgZDsoZnVuY3Rpb24oayl7ay5HUk9VUD0iRyI7ay5ESVY9IkRJViI7ay5TVkc9IlNWRyI7ay5URVhUPSJURVhUIn0pKGR8fChkPXt9KSk7Y2xhc3MgZntjb25zdHJ1Y3RvcihrKXt0aGlzLnVuaXF1ZUlkPTA7dGhpcy5yb290PWt9ZXhwb3J0QXNTdHJpbmcoKXtjb25zdCBrPXRoaXMuY29udmVydCh0aGlzLnJvb3QpO2lmKCFrKXJldHVybiIiO2NvbnN0IHI9dGhpcy5jcmVhdGVSb290U3ZnKCk7ci5hcHBlbmRDaGlsZChrKTtyZXR1cm4gci5vdXRlckhUTUx9Y3JlYXRlVW5pcXVlSWQoKXtyZXR1cm5gJHsiY2xpcCJ9XyR7dGhpcy51bmlxdWVJZCsrfWB9Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnJvb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y3JlYXRlUm9vdFN2Zygpe2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3ZnIikscj10aGlzLmdldFNpemUoKTtrLnNldEF0dHJpYnV0ZU5TKCJzdmciLCJ2aWV3Qm94IixgMCAwICR7ci53aWR0aH0gJHtyLmhlaWdodH1gKTsKay5zZXRBdHRyaWJ1dGUoInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKTtyZXR1cm4ga31jb252ZXJ0KGspe2xldCByPW51bGw7dmFyIGw9ay5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpO2lmKGsubm9kZVR5cGUhPU5vZGUuRUxFTUVOVF9OT0RFfHxsIT1kLkRJViYmbCE9ZC5TVkcpcj1rLmNsb25lTm9kZSgpO2Vsc2V7cj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGQuR1JPVVApO3ZhciBwPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGspLG09cGFyc2VJbnQocC5sZWZ0LDEwKSxuPXBhcnNlSW50KHAudG9wLDEwKTtpZihtfHxuKWw9dGhpcy5jcmVhdGVVbmlxdWVJZCgpLHIuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLGB0cmFuc2xhdGUoJHttfSwgJHtufSlgKSxyLnNldEF0dHJpYnV0ZSgiY2xpcC1wYXRoIixgdXJsKCMke2x9KWApLG49cGFyc2VJbnQocC5oZWlnaHQsMTApLG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicmVjdCIpLG0uc2V0QXR0cmlidXRlKCJ3aWR0aCIsClN0cmluZyhwYXJzZUludChwLndpZHRoLDEwKSkpLG0uc2V0QXR0cmlidXRlKCJoZWlnaHQiLFN0cmluZyhuKSkscD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoInN2ZyIsImNsaXBQYXRoIikscC5pZD1sLHAuYXBwZW5kQ2hpbGQobSksci5hcHBlbmRDaGlsZChwKX1BcnJheS5mcm9tKGsuY2hpbGROb2RlcykubWFwKHE9PnRoaXMuY29udmVydChxKSkuZmlsdGVyKEJvb2xlYW4pLmZvckVhY2gocT0+ci5hcHBlbmRDaGlsZChxKSk7cmV0dXJuIHIubm9kZU5hbWUudG9VcHBlckNhc2UoKT09ZC5HUk9VUCYmIXIuaGFzQ2hpbGROb2RlcygpfHx0aGlzLnNob3VsZE9taXROb2RlKGspP251bGw6dGhpcy5zdHJpcENsYXNzKHRoaXMudHJhbnNmZXJTdHlsZShrLHIpKX1zdHJpcENsYXNzKGspe2subm9kZVR5cGU9PU5vZGUuRUxFTUVOVF9OT0RFJiZrLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTtyZXR1cm4ga310cmFuc2ZlclN0eWxlKGsscil7aWYoci5ub2RlVHlwZSE9Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHI7CmNvbnN0IGw9ci5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpO2s9d2luZG93LmdldENvbXB1dGVkU3R5bGUoayk7bD09ZC5URVhUJiZPYmplY3QuYXNzaWduKHIuc3R5bGUse2ZvbnRGYW1pbHk6ay5mb250RmFtaWx5LGZvbnRTaXplOmsuZm9udFNpemUsZm9udFdlaWdodDprLmZvbnRXZWlnaHR9KTtsIT1kLkdST1VQJiYoci5zZXRBdHRyaWJ1dGUoImZpbGwiLGsuZmlsbCksci5zZXRBdHRyaWJ1dGUoInN0cm9rZSIsay5zdHJva2UpLHIuc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLGsuc3Ryb2tlV2lkdGgpKTsiMSIhPWsub3BhY2l0eSYmci5zZXRBdHRyaWJ1dGUoIm9wYWNpdHkiLGsub3BhY2l0eSk7cmV0dXJuIHJ9c2hvdWxkT21pdE5vZGUoKXtyZXR1cm4hMX19Yi5QbG90dGFibGVFeHBvcnRlcj1mO2NsYXNzIGggZXh0ZW5kcyBme3Nob3VsZE9taXROb2RlKGspe3JldHVybiBrLm5vZGVUeXBlPT1Ob2RlLkVMRU1FTlRfTk9ERT9rLmNsYXNzTGlzdC5jb250YWlucygic2NhdHRlci1wbG90Iik6CiExfX1iLkxpbmVDaGFydEV4cG9ydGVyPWh9KSh1Z3x8KHVnPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLmh0bWwuanMKKGZ1bmN0aW9uKCl7Y29uc3QgYj1bXSxkPWZ1bmN0aW9uKCl7cmV0dXJuIF8udGhyb3R0bGUoZnVuY3Rpb24gaCgpe2lmKDAhPWIubGVuZ3RoKXt2YXIgaz1iLnNoaWZ0KCk7ay5hY3RpdmUmJihrLnJlZHJhdygpLGsuX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlPSExKTt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoMCk7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShoKX19LDEwMCl9KCk7UG9seW1lcih7aXM6InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiLHByb3BlcnRpZXM6e2FjdGl2ZTp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfZml4QmFkU3RhdGVXaGVuQWN0aXZlIn0sZGF0YVNlcmllczpBcnJheSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsbG9nU2NhbGVBY3RpdmU6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2xvZ1NjYWxlQ2hhbmdlZCJ9LHhDb21wb25lbnRzQ3JlYXRpb25NZXRob2Q6T2JqZWN0LHhUeXBlOlN0cmluZyx5VmFsdWVBY2Nlc3NvcjpPYmplY3QsZmlsbEFyZWE6T2JqZWN0LApzbW9vdGhpbmdFbmFibGVkOkJvb2xlYW4sc21vb3RoaW5nV2VpZ2h0Ok51bWJlcix0b29sdGlwQ29sdW1uczpBcnJheSx0b29sdGlwU29ydGluZ01ldGhvZDpTdHJpbmcsdG9vbHRpcFBvc2l0aW9uOlN0cmluZyxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixkZWZhdWx0WFJhbmdlOkFycmF5LGRlZmF1bHRZUmFuZ2U6QXJyYXksc3ltYm9sRnVuY3Rpb246T2JqZWN0LGNvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSl9LF9yZXNldERvbWFpbk9uTmV4dExvYWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0sYmVoYXZpb3JzOltjZC5EYXRhTG9hZGVyQmVoYXZpb3JdLG9ic2VydmVyczpbIl9kYXRhU2VyaWVzQ2hhbmdlZChkYXRhU2VyaWVzLiopIiwiX2xvYWRLZXlDaGFuZ2VkKGxvYWRLZXkpIl0sb25Mb2FkRmluaXNoKCl7MDwKdGhpcy5kYXRhVG9Mb2FkLmxlbmd0aCYmdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkJiYodGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSExLHRoaXMuJC5jaGFydC5yZXNldERvbWFpbigpKTt0aGlzLnJlZHJhdygpfSxkZXRhY2hlZCgpe2NhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZHJhd1JhZil9LGV4cG9ydEFzU3ZnU3RyaW5nKCl7cmV0dXJuIHRoaXMuJC5jaGFydC5nZXRFeHBvcnRlcigpLmV4cG9ydEFzU3RyaW5nKCl9LHJlc2V0RG9tYWluKCl7dGhpcy4kLmNoYXJ0LnJlc2V0RG9tYWluKCl9LHNldFNlcmllc0RhdGEoZixoKXt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShmLGgpfSxzZXRTZXJpZXNNZXRhZGF0YShmLGgpe3RoaXMuJC5jaGFydC5zZXRTZXJpZXNNZXRhZGF0YShmLGgpfSxjb21taXRDaGFuZ2VzKCl7dGhpcy4kLmNoYXJ0LmNvbW1pdENoYW5nZXMoKX0scmVkcmF3KCl7Y2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmVkcmF3UmFmKTt0aGlzLl9yZWRyYXdSYWY9CndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmFjdGl2ZT90aGlzLiQuY2hhcnQucmVkcmF3KCk6dGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITB9KX0sX2xvYWRLZXlDaGFuZ2VkKCl7dGhpcy5yZXNldCgpO3RoaXMuX3Jlc2V0RG9tYWluT25OZXh0TG9hZD0hMH0sX2RhdGFTZXJpZXNDaGFuZ2VkKCl7dGhpcy4kLmNoYXJ0LnNldFZpc2libGVTZXJpZXModGhpcy5kYXRhU2VyaWVzKX0sX2xvZ1NjYWxlQ2hhbmdlZChmKXt0aGlzLiQuY2hhcnQueVNjYWxlVHlwZT1mPyJsb2ciOiJsaW5lYXIiO3RoaXMucmVkcmF3KCl9LF9maXhCYWRTdGF0ZVdoZW5BY3RpdmUoKXt0aGlzLmFjdGl2ZSYmdGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGUmJihiLnB1c2godGhpcyksZCgpKX0sX29uQ2hhcnRBdHRhY2hlZCgpe3RoaXMuYWN0aXZlfHwodGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITApfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZS9wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSIscHJvcGVydGllczp7ZGlhbG9nRWxlbWVudDp7dHlwZTpPYmplY3R9fSxnZXQgc2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5zY3JvbGxhYmxlfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpO3RoaXMuY2xhc3NMaXN0LmFkZCgibm8tcGFkZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpO3JlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlLmJpbmQodGhpcykpfSx1cGRhdGVTY3JvbGxTdGF0ZTpmdW5jdGlvbigpe3RoaXMudG9nZ2xlQ2xhc3MoImlzLXNjcm9sbGVkIiwwPHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbFRvcCk7dGhpcy50b2dnbGVDbGFzcygiY2FuLXNjcm9sbCIsdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0PHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbEhlaWdodCk7dGhpcy50b2dnbGVDbGFzcygic2Nyb2xsZWQtdG8tYm90dG9tIiwKdGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wK3RoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodD49dGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsSGVpZ2h0KX0sX2Vuc3VyZVRhcmdldDpmdW5jdGlvbigpeyh0aGlzLmRpYWxvZ0VsZW1lbnQ9dGhpcy5kaWFsb2dFbGVtZW50fHx0aGlzLnBhcmVudEVsZW1lbnQpJiZ0aGlzLmRpYWxvZ0VsZW1lbnQuYmVoYXZpb3JzJiYwPD10aGlzLmRpYWxvZ0VsZW1lbnQuYmVoYXZpb3JzLmluZGV4T2YoUG9seW1lci5QYXBlckRpYWxvZ0JlaGF2aW9ySW1wbCk/KHRoaXMuZGlhbG9nRWxlbWVudC5zaXppbmdUYXJnZXQ9dGhpcy5zY3JvbGxUYXJnZXQsdGhpcy5zY3JvbGxUYXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgiZml0IikpOnRoaXMuZGlhbG9nRWxlbWVudCYmdGhpcy5zY3JvbGxUYXJnZXQuY2xhc3NMaXN0LmFkZCgiZml0Iil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtbWFya2Rvd24tdmlldy90Zi1tYXJrZG93bi12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLW1hcmtkb3duLXZpZXciLHByb3BlcnRpZXM6e2h0bWw6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0sYXR0YWNoZWQoKXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLm1hcmtkb3duLCEwKX0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWNhcmQtaGVhZGluZy90Zi1jYXJkLWhlYWRpbmcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY2FyZC1oZWFkaW5nIixwcm9wZXJ0aWVzOntkaXNwbGF5TmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sdGFnOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxydW46e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGRlc2NyaXB0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxjb2xvcjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3J1bkJhY2tncm91bmQ6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkJhY2tncm91bmQoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9LF9ydW5Db2xvcjp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUnVuQ29sb3IoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9LF9uYW1lTGFiZWw6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZU5hbWVMYWJlbChkaXNwbGF5TmFtZSwgdGFnKSJ9LF90YWdMYWJlbDp7dHlwZTpTdHJpbmcsCmNvbXB1dGVkOiJfY29tcHV0ZVRhZ0xhYmVsKGRpc3BsYXlOYW1lLCB0YWcpIn19LF91cGRhdGVIZWFkaW5nU3R5bGUoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2FyZC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3IiOnRoaXMuX3J1bkJhY2tncm91bmQsIi0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yIjp0aGlzLl9ydW5Db2xvcn0pfSxfY29tcHV0ZVJ1bkJhY2tncm91bmQoYil7cmV0dXJuIGJ8fCJub25lIn0sX2NvbXB1dGVSdW5Db2xvcihiKXtyZXR1cm4gSGgucGlja1RleHRDb2xvcihiKX0sX2NvbXB1dGVOYW1lTGFiZWwoYixkKXtyZXR1cm4gYnx8ZHx8IiJ9LF9jb21wdXRlVGFnTGFiZWwoYixkKXtyZXR1cm4gZCYmZCE9PWI/ZDoiIn0sX3RvZ2dsZURlc2NyaXB0aW9uRGlhbG9nKGIpe3RoaXMuJC5kZXNjcmlwdGlvbkRpYWxvZy5wb3NpdGlvblRhcmdldD1iLnRhcmdldDt0aGlzLiQuZGVzY3JpcHRpb25EaWFsb2cudG9nZ2xlKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGFzaGJvYXJkLWNvbW1vbi90Zi1kb3dubG9hZGVyLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWRvd25sb2FkZXIiLHByb3BlcnRpZXM6e19ydW46e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxydW5zOkFycmF5LHRhZzpTdHJpbmcsdXJsRm46RnVuY3Rpb259LF9jc3ZVcmwoYixkLGYpe3JldHVybiBkP2RjLmFkZFBhcmFtcyhmKGIsZCkse2Zvcm1hdDoiY3N2In0pOiIifSxfanNvblVybChiLGQsZil7cmV0dXJuIGQ/ZihiLGQpOiIifSxfY3N2TmFtZShiLGQpe3JldHVybiBkP2BydW4tJHtkfS10YWctJHtifS5jc3ZgOiIifSxfanNvbk5hbWUoYixkKXtyZXR1cm4gZD9gcnVuLSR7ZH0tdGFnLSR7Yn0uanNvbmA6IiJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtc2NhbGFyLWRhc2hib2FyZC90Zi1zY2FsYXItY2FyZC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1zY2FsYXItY2FyZCIscHJvcGVydGllczp7dGFnOlN0cmluZyxkYXRhVG9Mb2FkOkFycmF5LHhUeXBlOlN0cmluZyxhY3RpdmU6Qm9vbGVhbixpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25MaW5rczpCb29sZWFuLHNtb290aGluZ0VuYWJsZWQ6Qm9vbGVhbixzbW9vdGhpbmdXZWlnaHQ6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxjb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSx0b29sdGlwU29ydGluZ01ldGhvZDpTdHJpbmcsX2xvYWREYXRhQ2FsbGJhY2s6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2Y9Zi5tYXAoaz0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKmtbMF0pLHN0ZXA6a1sxXSxzY2FsYXI6a1syXX0pKTtjb25zdCBoPXRoaXMuX2dldFNlcmllc05hbWVGcm9tRGF0dW0oZCk7Yi5zZXRTZXJpZXNNZXRhZGF0YShoLGQpO2Iuc2V0U2VyaWVzRGF0YShoLApmKTtiLmNvbW1pdENoYW5nZXMoKX19LHJlYWRPbmx5OiEwfSxnZXREYXRhTG9hZFVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybih7dGFnOmIscnVuOmR9KT0+ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoInNjYWxhcnMiLCIvc2NhbGFycyIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOmIscnVuOmR9KSl9fSxfZG93bmxvYWRVcmxGbjp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybihiLGQpPT50aGlzLmdldERhdGFMb2FkVXJsKHt0YWc6YixydW46ZH0pfX0scmVxdWVzdERhdGE6RnVuY3Rpb24sX2dldERhdGFMb2FkTmFtZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGIpfX0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfdG9vbHRpcENvbHVtbnM6e3R5cGU6QXJyYXksCnZhbHVlOmZ1bmN0aW9uKCl7Y29uc3QgYj11Zy5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OUy5zbGljZSgpLGQ9Yi5maW5kSW5kZXgoZj0+Ik5hbWUiPT1mLnRpdGxlKTtiLnNwbGljZShkLDEse3RpdGxlOiJOYW1lIixldmFsdWF0ZTpmPT57Zj1mLmRhdGFzZXQubWV0YWRhdGEoKS5tZXRhO3JldHVybiB0aGlzLl9nZXRTZXJpZXNEaXNwbGF5TmFtZUZyb21EYXR1bShmKX19KTtyZXR1cm4gYn19fSxyZWxvYWQoKXt0aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIikucmVsb2FkKCl9LHJlZHJhdygpe3RoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKS5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwhdGhpcy5fbG9nU2NhbGVBY3RpdmUpfSxfcmVzZXREb21haW4oKXtjb25zdCBiPXRoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKTsKYiYmYi5yZXNldERvbWFpbigpfSxfdXBkYXRlRG93bmxvYWRMaW5rKCl7Y29uc3QgYj10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIikuZXhwb3J0QXNTdmdTdHJpbmcoKTt0aGlzLiQkKCIjc3ZnTGluayIpLmhyZWY9YGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJHtidG9hKGIpfWB9LF9ydW5zRnJvbURhdGEoYil7cmV0dXJuIGIubWFwKGQ9PmQucnVuKX0sX2dldERhdGFTZXJpZXMoKXtyZXR1cm4gdGhpcy5kYXRhVG9Mb2FkLm1hcChiPT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGIpKX0sX2dldFNlcmllc05hbWVGcm9tRGF0dW0oe3J1bjpiLGV4cGVyaW1lbnQ6ZD17bmFtZToiX2RlZmF1bHQifX0pe3JldHVybiBKU09OLnN0cmluZ2lmeShbZC5uYW1lLGJdKX0sX2dldFNlcmllc0Rpc3BsYXlOYW1lRnJvbURhdHVtKGIpe3JldHVybiBiLnJ1bn0sX2dldENvbG9yU2NhbGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuY29sb3JTY2FsZT90aGlzLmNvbG9yU2NhbGU6CntzY2FsZTpiPT57WyxiXT1KU09OLnBhcnNlKGIpO3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX19fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLXByb2dyZXNzL3BhcGVyLXByb2dyZXNzLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXByb2dyZXNzIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblJhbmdlQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NlY29uZGFyeVByb2dyZXNzOnt0eXBlOk51bWJlcix2YWx1ZTowfSxzZWNvbmRhcnlSYXRpbzp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMH0saW5kZXRlcm1pbmF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfdG9nZ2xlSW5kZXRlcm1pbmF0ZSJ9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG9ic2VydmVyOiJfZGlzYWJsZWRDaGFuZ2VkIn19LG9ic2VydmVyczpbIl9wcm9ncmVzc0NoYW5nZWQoc2Vjb25kYXJ5UHJvZ3Jlc3MsIHZhbHVlLCBtaW4sIG1heCwgaW5kZXRlcm1pbmF0ZSkiXSxob3N0QXR0cmlidXRlczp7cm9sZToicHJvZ3Jlc3NiYXIifSxfdG9nZ2xlSW5kZXRlcm1pbmF0ZTpmdW5jdGlvbihiKXt0aGlzLnRvZ2dsZUNsYXNzKCJpbmRldGVybWluYXRlIiwKYix0aGlzLiQucHJpbWFyeVByb2dyZXNzKX0sX3RyYW5zZm9ybVByb2dyZXNzOmZ1bmN0aW9uKGIsZCl7Yi5zdHlsZS50cmFuc2Zvcm09Yi5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlWCgiK2QvMTAwKyIpIn0sX21haW5SYXRpb0NoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnByaW1hcnlQcm9ncmVzcyxiKX0sX3Byb2dyZXNzQ2hhbmdlZDpmdW5jdGlvbihiLGQsZixoLGspe2I9dGhpcy5fY2xhbXBWYWx1ZShiKTtkPXRoaXMuX2NsYW1wVmFsdWUoZCk7dmFyIHI9MTAwKnRoaXMuX2NhbGNSYXRpbyhiKSxsPTEwMCp0aGlzLl9jYWxjUmF0aW8oZCk7dGhpcy5fc2V0U2Vjb25kYXJ5UmF0aW8ocik7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnNlY29uZGFyeVByb2dyZXNzLHIpO3RoaXMuX3RyYW5zZm9ybVByb2dyZXNzKHRoaXMuJC5wcmltYXJ5UHJvZ3Jlc3MsbCk7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz1iO2s/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciKToKdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciLGQpO3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIixmKTt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIsaCl9LF9kaXNhYmxlZENoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLGI/InRydWUiOiJmYWxzZSIpfSxfaGlkZVNlY29uZGFyeVByb2dyZXNzOmZ1bmN0aW9uKGIpe3JldHVybiAwPT09Yn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1zbGlkZXIvcGFwZXItc2xpZGVyLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXNsaWRlciIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5QYXBlcklua3lGb2N1c0JlaGF2aW9yLFBvbHltZXIuSXJvblJhbmdlQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NuYXBzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxwaW46e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LHNlY29uZGFyeVByb2dyZXNzOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMCxvYnNlcnZlcjoiX3NlY29uZGFyeVByb2dyZXNzQ2hhbmdlZCJ9LGVkaXRhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGltbWVkaWF0ZVZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowLHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sbWF4TWFya2Vyczp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LGV4cGFuZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlYWRPbmx5OiEwfSwKaWdub3JlQmFyVG91Y2g6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZHJhZ2dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYW5zaXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0sbWFya2Vyczp7dHlwZTpBcnJheSxyZWFkT25seTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVLbm9iKHZhbHVlLCBtaW4sIG1heCwgc25hcHMsIHN0ZXApIiwiX3ZhbHVlQ2hhbmdlZCh2YWx1ZSkiLCJfaW1tZWRpYXRlVmFsdWVDaGFuZ2VkKGltbWVkaWF0ZVZhbHVlKSIsIl91cGRhdGVNYXJrZXJzKG1heE1hcmtlcnMsIG1pbiwgbWF4LCBzbmFwcykiXSxob3N0QXR0cmlidXRlczp7cm9sZToic2xpZGVyIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7bGVmdDoiX2xlZnRLZXkiLHJpZ2h0OiJfcmlnaHRLZXkiLCJkb3duIHBhZ2Vkb3duIGhvbWUiOiJfZGVjcmVtZW50S2V5IiwidXAgcGFnZXVwIGVuZCI6Il9pbmNyZW1lbnRLZXkifSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmlnbm9yZUJhclRvdWNoJiZQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKHRoaXMuJC5zbGlkZXJCYXIsImF1dG8iKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUrdGhpcy5zdGVwKX0sZGVjcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUtdGhpcy5zdGVwKX0sX3VwZGF0ZUtub2I6ZnVuY3Rpb24oYixkLGYpe3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIixkKTt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIsZik7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciLGIpO3RoaXMuX3Bvc2l0aW9uS25vYigxMDAqdGhpcy5fY2FsY1JhdGlvKGIpKX0sX3ZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZmlyZSgidmFsdWUtY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0sX2ltbWVkaWF0ZVZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZHJhZ2dpbmc/CnRoaXMuZmlyZSgiaW1tZWRpYXRlLXZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSk6dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlfSxfc2Vjb25kYXJ5UHJvZ3Jlc3NDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10aGlzLl9jbGFtcFZhbHVlKHRoaXMuc2Vjb25kYXJ5UHJvZ3Jlc3MpfSxfZXhwYW5kS25vYjpmdW5jdGlvbigpe3RoaXMuX3NldEV4cGFuZCghMCl9LF9yZXNldEtub2I6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbERlYm91bmNlcigiZXhwYW5kS25vYiIpO3RoaXMuX3NldEV4cGFuZCghMSl9LF9wb3NpdGlvbktub2I6ZnVuY3Rpb24oYil7dGhpcy5fc2V0SW1tZWRpYXRlVmFsdWUodGhpcy5fY2FsY1N0ZXAodGhpcy5fY2FsY0tub2JQb3NpdGlvbihiKSkpO3RoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkpO3RoaXMuJC5zbGlkZXJLbm9iLnN0eWxlLmxlZnQ9dGhpcy5yYXRpbysiJSI7dGhpcy5kcmFnZ2luZyYmCih0aGlzLl9rbm9ic3RhcnR4PXRoaXMucmF0aW8qdGhpcy5fdy8xMDAsdGhpcy50cmFuc2xhdGUzZCgwLDAsMCx0aGlzLiQuc2xpZGVyS25vYikpfSxfY2FsY0tub2JQb3NpdGlvbjpmdW5jdGlvbihiKXtyZXR1cm4odGhpcy5tYXgtdGhpcy5taW4pKmIvMTAwK3RoaXMubWlufSxfb25UcmFjazpmdW5jdGlvbihiKXtiLnN0b3BQcm9wYWdhdGlvbigpO3N3aXRjaChiLmRldGFpbC5zdGF0ZSl7Y2FzZSAic3RhcnQiOnRoaXMuX3RyYWNrU3RhcnQoYik7YnJlYWs7Y2FzZSAidHJhY2siOnRoaXMuX3RyYWNrWChiKTticmVhaztjYXNlICJlbmQiOnRoaXMuX3RyYWNrRW5kKCl9fSxfdHJhY2tTdGFydDpmdW5jdGlvbigpe3RoaXMuX3NldFRyYW5zaXRpbmcoITEpO3RoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aDt0aGlzLl9rbm9ic3RhcnR4PXRoaXMuX3N0YXJ0eD10aGlzLl94PXRoaXMucmF0aW8qdGhpcy5fdy8xMDA7dGhpcy5fbWlueD0tdGhpcy5fc3RhcnR4O3RoaXMuX21heHg9CnRoaXMuX3ctdGhpcy5fc3RhcnR4O3RoaXMuJC5zbGlkZXJLbm9iLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIik7dGhpcy5fc2V0RHJhZ2dpbmcoITApfSxfdHJhY2tYOmZ1bmN0aW9uKGIpe3RoaXMuZHJhZ2dpbmd8fHRoaXMuX3RyYWNrU3RhcnQoYik7dGhpcy5feD10aGlzLl9zdGFydHgrTWF0aC5taW4odGhpcy5fbWF4eCxNYXRoLm1heCh0aGlzLl9taW54LGIuZGV0YWlsLmR4Kih0aGlzLl9pc1JUTD8tMToxKSkpO3RoaXMuX3NldEltbWVkaWF0ZVZhbHVlKHRoaXMuX2NhbGNTdGVwKHRoaXMuX2NhbGNLbm9iUG9zaXRpb24odGhpcy5feC90aGlzLl93KjEwMCkpKTt0aGlzLnRyYW5zbGF0ZTNkKHRoaXMuX2NhbGNSYXRpbyh0aGlzLmltbWVkaWF0ZVZhbHVlKSp0aGlzLl93LXRoaXMuX2tub2JzdGFydHgrInB4IiwwLDAsdGhpcy4kLnNsaWRlcktub2IpfSxfdHJhY2tFbmQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLiQuc2xpZGVyS25vYi5zdHlsZTt0aGlzLiQuc2xpZGVyS25vYi5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpOwp0aGlzLl9zZXREcmFnZ2luZyghMSk7dGhpcy5fcmVzZXRLbm9iKCk7dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlO2IudHJhbnNmb3JtPWIud2Via2l0VHJhbnNmb3JtPSIiO3RoaXMuZmlyZSgiY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0sX2tub2Jkb3duOmZ1bmN0aW9uKGIpe3RoaXMuX2V4cGFuZEtub2IoKTtiLnByZXZlbnREZWZhdWx0KCk7dGhpcy5mb2N1cygpfSxfYmFydHJhY2s6ZnVuY3Rpb24oYil7dGhpcy5fYWxsb3dCYXJFdmVudChiKSYmdGhpcy5fb25UcmFjayhiKX0sX2JhcmNsaWNrOmZ1bmN0aW9uKGIpe3RoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aDt2YXIgZD10aGlzLiQuc2xpZGVyQmFyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Q9KGIuZGV0YWlsLngtZC5sZWZ0KS90aGlzLl93KjEwMDt0aGlzLl9pc1JUTCYmKGQ9MTAwLWQpO3ZhciBmPXRoaXMucmF0aW87dGhpcy5fc2V0VHJhbnNpdGluZyghMCk7dGhpcy5fcG9zaXRpb25Lbm9iKGQpOwpmPT09dGhpcy5yYXRpbyYmdGhpcy5fc2V0VHJhbnNpdGluZyghMSk7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuZmlyZSgiY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0pO2IucHJldmVudERlZmF1bHQoKTt0aGlzLmZvY3VzKCl9LF9iYXJkb3duOmZ1bmN0aW9uKGIpe3RoaXMuX2FsbG93QmFyRXZlbnQoYikmJih0aGlzLmRlYm91bmNlKCJleHBhbmRLbm9iIix0aGlzLl9leHBhbmRLbm9iLDYwKSx0aGlzLl9iYXJjbGljayhiKSl9LF9rbm9iVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihiKXtiLnRhcmdldD09PXRoaXMuJC5zbGlkZXJLbm9iJiZ0aGlzLl9zZXRUcmFuc2l0aW5nKCExKX0sX3VwZGF0ZU1hcmtlcnM6ZnVuY3Rpb24oYixkLGYsaCl7aHx8dGhpcy5fc2V0TWFya2VycyhbXSk7ZD1NYXRoLnJvdW5kKChmLWQpL3RoaXMuc3RlcCk7ZD5iJiYoZD1iKTtpZigwPmR8fCFpc0Zpbml0ZShkKSlkPTA7dGhpcy5fc2V0TWFya2VycyhBcnJheShkKSl9LF9tZXJnZUNsYXNzZXM6ZnVuY3Rpb24oYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0pLmpvaW4oIiAiKX0sCl9nZXRDbGFzc05hbWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21lcmdlQ2xhc3Nlcyh7ZGlzYWJsZWQ6dGhpcy5kaXNhYmxlZCxwaW46dGhpcy5waW4sc25hcHM6dGhpcy5zbmFwcyxyaW5nOnRoaXMuaW1tZWRpYXRlVmFsdWU8PXRoaXMubWluLGV4cGFuZDp0aGlzLmV4cGFuZCxkcmFnZ2luZzp0aGlzLmRyYWdnaW5nLHRyYW5zaXRpbmc6dGhpcy50cmFuc2l0aW5nLGVkaXRhYmxlOnRoaXMuZWRpdGFibGV9KX0sX2FsbG93QmFyRXZlbnQ6ZnVuY3Rpb24oYil7cmV0dXJuIXRoaXMuaWdub3JlQmFyVG91Y2h8fGIuZGV0YWlsLnNvdXJjZUV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudH0sZ2V0IF9pc1JUTCgpe3ZvaWQgMD09PXRoaXMuX19pc1JUTCYmKHRoaXMuX19pc1JUTD0icnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbik7cmV0dXJuIHRoaXMuX19pc1JUTH0sX2xlZnRLZXk6ZnVuY3Rpb24oYil7dGhpcy5faXNSVEw/dGhpcy5faW5jcmVtZW50S2V5KGIpOgp0aGlzLl9kZWNyZW1lbnRLZXkoYil9LF9yaWdodEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD90aGlzLl9kZWNyZW1lbnRLZXkoYik6dGhpcy5faW5jcmVtZW50S2V5KGIpfSxfaW5jcmVtZW50S2V5OmZ1bmN0aW9uKGIpe3RoaXMuZGlzYWJsZWR8fCgiZW5kIj09PWIuZGV0YWlsLmtleT90aGlzLnZhbHVlPXRoaXMubWF4OnRoaXMuaW5jcmVtZW50KCksdGhpcy5maXJlKCJjaGFuZ2UiKSxiLnByZXZlbnREZWZhdWx0KCkpfSxfZGVjcmVtZW50S2V5OmZ1bmN0aW9uKGIpe3RoaXMuZGlzYWJsZWR8fCgiaG9tZSI9PT1iLmRldGFpbC5rZXk/dGhpcy52YWx1ZT10aGlzLm1pbjp0aGlzLmRlY3JlbWVudCgpLHRoaXMuZmlyZSgiY2hhbmdlIiksYi5wcmV2ZW50RGVmYXVsdCgpKX0sX2NoYW5nZVZhbHVlOmZ1bmN0aW9uKGIpe3RoaXMudmFsdWU9Yi50YXJnZXQudmFsdWU7dGhpcy5maXJlKCJjaGFuZ2UiLHtjb21wb3NlZDohMH0pfSxfaW5wdXRLZXlEb3duOmZ1bmN0aW9uKGIpe2Iuc3RvcFByb3BhZ2F0aW9uKCl9LApfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7dGhpcy5fcmlwcGxlQ29udGFpbmVyPXRoaXMuJC5zbGlkZXJLbm9iO3JldHVybiBQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JJbXBsLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJnRoaXMuZW5zdXJlUmlwcGxlKCk7dGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5zdHlsZS5kaXNwbGF5PWI/IiI6Im5vbmUiLHRoaXMuX3JpcHBsZS5ob2xkRG93bj1iKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zY2FsYXItZGFzaGJvYXJkL3RmLXNtb290aGluZy1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1zbW9vdGhpbmctaW5wdXQiLHByb3BlcnRpZXM6e3N0ZXA6TnVtYmVyLG1heDpOdW1iZXIsbWluOk51bWJlcix3ZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOi42LG5vdGlmeTohMH0sX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyOnt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQifSxfaW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0Ont0eXBlOlN0cmluZyxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXRDaGFuZ2VkIn19LF91cGRhdGVXZWlnaHQ6Xy5kZWJvdW5jZShmdW5jdGlvbihiKXt0aGlzLndlaWdodD1ifSwyNTApLF9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXQ9dGhpcy5faW1tZWRpYXRlV2VpZ2h0TnVtYmVyRm9yUGFwZXJTbGlkZXIudG9TdHJpbmcoKTsKdGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyx0aGlzLl9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcil9LF9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXRDaGFuZ2VkOmZ1bmN0aW9uKCl7MD4rdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0P3RoaXMuX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dD0iMCI6MTwrdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0JiYodGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PSIxIik7dmFyIGI9K3RoaXMuX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dDtpc05hTihiKXx8dGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyxiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zY2FsYXItZGFzaGJvYXJkL3RmLXNjYWxhci1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtc2NhbGFyLWRhc2hib2FyZCIscHJvcGVydGllczp7X3Nob3dEb3dubG9hZExpbmtzOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHZhbHVlOmJkLmdldEJvb2xlYW5Jbml0aWFsaXplcigiX3Nob3dEb3dubG9hZExpbmtzIix7ZGVmYXVsdFZhbHVlOiExLHVzZUxvY2FsU3RvcmFnZTohMH0pLG9ic2VydmVyOiJfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlciJ9LF9zbW9vdGhpbmdXZWlnaHQ6e3R5cGU6TnVtYmVyLG5vdGlmeTohMCx2YWx1ZTpiZC5nZXROdW1iZXJJbml0aWFsaXplcigiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLG9ic2VydmVyOiJfc21vb3RoaW5nV2VpZ2h0T2JzZXJ2ZXIifSxfc21vb3RoaW5nRW5hYmxlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNtb290aGluZ0VuYWJsZWQoX3Ntb290aGluZ1dlaWdodCkifSxfaWdub3JlWU91dGxpZXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6YmQuZ2V0Qm9vbGVhbkluaXRpYWxpemVyKCJfaWdub3JlWU91dGxpZXJzIiwKe2RlZmF1bHRWYWx1ZTohMCx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxvYnNlcnZlcjoiX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyIn0sX3hUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpzZi5YVHlwZS5TVEVQfSxfc2VsZWN0ZWRSdW5zOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3J1blRvVGFnSW5mbzpPYmplY3QsX2RhdGFOb3RGb3VuZDpCb29sZWFuLF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxfY2F0ZWdvcmllc0RvbVJlYWR5OkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5iLnRhZ30sX3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLlJlcXVlc3RNYW5hZ2VyKDUwKX19LGJlaGF2aW9yczpbY2QuQXJyYXlVcGRhdGVIZWxwZXJdLG9ic2VydmVyczpbIl91cGRhdGVDYXRlZ29yaWVzKF9ydW5Ub1RhZ0luZm8sIF9zZWxlY3RlZFJ1bnMsIF90YWdGaWx0ZXIsIF9jYXRlZ29yaWVzRG9tUmVhZHkpIl0sCl9zaG93RG93bmxvYWRMaW5rc09ic2VydmVyOmJkLmdldEJvb2xlYW5PYnNlcnZlcigiX3Nob3dEb3dubG9hZExpbmtzIix7ZGVmYXVsdFZhbHVlOiExLHVzZUxvY2FsU3RvcmFnZTohMH0pLF9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcjpiZC5nZXROdW1iZXJPYnNlcnZlcigiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLF9pZ25vcmVZT3V0bGllcnNPYnNlcnZlcjpiZC5nZXRCb29sZWFuT2JzZXJ2ZXIoIl9pZ25vcmVZT3V0bGllcnMiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSksX2NvbXB1dGVTbW9vdGhpbmdFbmFibGVkKGIpe3JldHVybiAwPGJ9LF9nZXRDYXRlZ29yeUtleShiKXtyZXR1cm4gYi5tZXRhZGF0YS50eXBlPT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFM/IiI6Yi5uYW1lfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgpPT4Ke3RoaXMuX3JlbG9hZENoYXJ0cygpfSl9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9PntpZighXy5pc0VxdWFsKGQsdGhpcy5fcnVuVG9UYWdJbmZvKSl7dmFyIGY9Xy5tYXBWYWx1ZXMoZCxoPT5PYmplY3Qua2V5cyhoKSk7Zj1kYy5nZXRUYWdzKGYpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkQ2hhcnRzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLXNjYWxhci1jYXJkIikuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfdXBkYXRlQ2F0ZWdvcmllcyhiLGQsZil7Yj1fLm1hcFZhbHVlcyhiLGg9Pk9iamVjdC5rZXlzKGgpKTsKZD1rYy5jYXRlZ29yaXplVGFncyhiLGQsZik7ZC5mb3JFYWNoKGg9PntoLml0ZW1zPWguaXRlbXMubWFwKGs9Pih7dGFnOmsudGFnLHNlcmllczprLnJ1bnMubWFwKHI9Pih7cnVuOnIsdGFnOmsudGFnfSkpfSkpfSk7dGhpcy51cGRhdGVBcnJheVByb3AoIl9jYXRlZ29yaWVzIixkLHRoaXMuX2dldENhdGVnb3J5S2V5KX0sX3RhZ01ldGFkYXRhKGIsZCxmKXtjb25zdCBoPWYudGFnLGs9e307Zi5zZXJpZXMuZm9yRWFjaCgoe3J1bjpwfSk9PntrW3BdPWRbcF1baF19KTtmPWgucmVwbGFjZSgvXC9zY2FsYXJfc3VtbWFyeSQvLCIiKTtsZXQge2Rlc2NyaXB0aW9uOnIsZGlzcGxheU5hbWU6bH09cmYuYWdncmVnYXRlVGFnSW5mbyhrLGYpO2IubWV0YWRhdGEudHlwZT09a2MuQ2F0ZWdvcnlUeXBlLlBSRUZJWF9HUk9VUCYmbC5zdGFydHNXaXRoKGIubmFtZSsiLyIpJiYobD1sLnNsaWNlKGIubmFtZS5sZW5ndGgrMSkpO3JldHVybntkZXNjcmlwdGlvbjpyLGRpc3BsYXlOYW1lOmx9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkL3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCIscHJvcGVydGllczp7cnVuczpBcnJheSx4VHlwZTpTdHJpbmcsYWN0aXZlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAscmVhZE9ubHk6ITB9LHRpdGxlOlN0cmluZyxtYXJnaW5DaGFydFNlcmllczpBcnJheSxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25sb2FkTGlua3M6Qm9vbGVhbix0YWdNZXRhZGF0YTpPYmplY3QsdG9vbHRpcFNvcnRpbmdNZXRob2Q6U3RyaW5nLF9jb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpuZXcgSWguRGF0YVNlcmllc0NvbG9yU2NhbGUoe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcihtYXJnaW5DaGFydFNlcmllcykifSxfdGFnRmlsdGVySW52YWxpZDpCb29sZWFuLF9uYW1lVG9EYXRhU2VyaWVzOnt0eXBlOk9iamVjdCwKdmFsdWU6KCk9Pih7fSl9LF9zZXJpZXNOYW1lczp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlU2VyaWVzTmFtZXMoX25hbWVUb0RhdGFTZXJpZXMsIHJ1bnMpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLl90YWdGaWx0ZXI7cmV0dXJuIGRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpLHt0YWc6ZCxydW46Yn0pfX19LF9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9tYXRjaGVzTGlzdE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfdGl0bGVEaXNwbGF5U3RyaW5nOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVUaXRsZURpc3BsYXlTdHJpbmcodGl0bGUpIn0sCl9maWxsQXJlYTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsdmFsdWU6e2xvd2VyQWNjZXNzb3I6Yj0+Yi5sb3dlcixoaWdoZXJBY2Nlc3NvcjpiPT5iLnVwcGVyfX0sX3Rvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7Y29uc3QgYj1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSxkPWY9PmlzTmFOKGYpPyJOYU4iOmIoZik7cmV0dXJuW3t0aXRsZToiTmFtZSIsZXZhbHVhdGU6Zj0+Zi5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZX0se3RpdGxlOiJWYWx1ZSIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnNjYWxhcil9LHt0aXRsZToiTG93ZXIgTWFyZ2luIixldmFsdWF0ZTpmPT5kKGYuZGF0dW0ubG93ZXIpfSx7dGl0bGU6IlVwcGVyIE1hcmdpbiIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnVwcGVyKX0se3RpdGxlOiJTdGVwIixldmFsdWF0ZTpmPT5zZi5zdGVwRm9ybWF0dGVyKGYuZGF0dW0uc3RlcCl9LHt0aXRsZToiVGltZSIsCmV2YWx1YXRlOmY9PnNmLnRpbWVGb3JtYXR0ZXIoZi5kYXR1bS53YWxsX3RpbWUpfSx7dGl0bGU6IlJlbGF0aXZlIixldmFsdWF0ZTpmPT5zZi5yZWxhdGl2ZUZvcm1hdHRlcihzZi5yZWxhdGl2ZUFjY2Vzc29yKGYuZGF0dW0sLTEsZi5kYXRhc2V0KSl9XX19LF9taXNzaW5nVGFnczp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3N0ZXBzTWlzbWF0Y2g6T2JqZWN0fSxvYnNlcnZlcnM6WyJfdXBkYXRlQ2hhcnQoX25hbWVUb0RhdGFTZXJpZXMpIiwiX3JlZnJlc2hEYXRhU2VyaWVzKF90YWdGaWx0ZXIpIl0scmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX0scmVkcmF3KCl7dGhpcy4kLmxvYWRlci5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwKIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX0sX3Jlc2V0RG9tYWluKCl7Y29uc3QgYj10aGlzLiQubG9hZGVyO2ImJmIucmVzZXREb21haW4oKX0sX2NzdlVybChiLGQpe2lmKCFkKXJldHVybiIiO2I9dGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCk7cmV0dXJuIGRjLmFkZFBhcmFtcyhiLHtmb3JtYXQ6ImNzdiJ9KX0sX2pzb25VcmwoYixkKXtpZighZClyZXR1cm4iIjtiPXRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQpO3JldHVybiBkYy5hZGRQYXJhbXMoYix7Zm9ybWF0OiJqc29uIn0pfSxfZG93bmxvYWREYXRhVXJsKGIsZCl7Yj1iW2RdO2I9e3RhZzpiLmdldFRhZygpLHJ1bjpiLmdldFJ1bigpfTtyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9kb3dubG9hZF9kYXRhIiksYil9LF9jcmVhdGVQcm9jZXNzRGF0YUZ1bmN0aW9uKGIpe3JldHVybihkLGYsaCk9PntpZihoLnJlZ2V4X3ZhbGlkKXt2YXIgaz1fLmNsb25lKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMpLApyPVtdO18uZm9yRWFjaChiLGw9Pnt2YXIgcD0hMSxtPWgudGFnX3RvX2V2ZW50c1tsLnZhbHVlXTtjb25zdCBuPWgudGFnX3RvX2V2ZW50c1tsLmxvd2VyXSxxPWgudGFnX3RvX2V2ZW50c1tsLnVwcGVyXTtfLmlzVW5kZWZpbmVkKG0pJiYoci5wdXNoKGwudmFsdWUpLHA9ITApO18uaXNVbmRlZmluZWQobikmJihyLnB1c2gobC5sb3dlcikscD0hMCk7Xy5pc1VuZGVmaW5lZChxKSYmKHIucHVzaChsLnVwcGVyKSxwPSEwKTtpZighcCl7dmFyIHU9eT0+eVsxXTtpZihwPXRoaXMuX2ZpbmRTdGVwTWlzbWF0Y2gobCxtLm1hcCh1KSxuLm1hcCh1KSxxLm1hcCh1KSkpdGhpcy5zZXQoIl9zdGVwc01pc21hdGNoIixwKTtlbHNle3ZhciB3PXk9PnlbMl07cD1tLm1hcCgoeSx4KT0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKnlbMF0pLHN0ZXA6dSh5KSxzY2FsYXI6dyh5KSxsb3dlcjp3KG5beF0pLHVwcGVyOncocVt4XSl9KSk7bT1JaC5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lKGYsbC52YWx1ZSk7CnZhciBBPWtbbV07QT9BLnNldERhdGEocCk6KGw9dGhpcy5fY3JlYXRlTmV3RGF0YVNlcmllcyhmLGwudmFsdWUsbSxwKSxrW21dPWwpfX19KTt0aGlzLnNldCgiX25hbWVUb0RhdGFTZXJpZXMiLGspO2Q9Xy5maW5kSW5kZXgodGhpcy5fbWlzc2luZ1RhZ3MsbD0+bC5ydW49PT1mKTtpZihyLmxlbmd0aCYmMyE9ci5sZW5ndGgpe2NvbnN0IGw9e3J1bjpmLHRhZ3M6cn07MDw9ZD90aGlzLnNwbGljZSgiX21pc3NpbmdUYWdzIixkLDEsbCk6dGhpcy5wdXNoKCJfbWlzc2luZ1RhZ3MiLGwpfWVsc2UgMDw9ZCYmdGhpcy5zcGxpY2UoIl9taXNzaW5nVGFncyIsZCwxKX1lbHNlIHRoaXMuc2V0KCJfdGFnRmlsdGVySW52YWxpZCIsITApfX0sX2ZpbmRTdGVwTWlzbWF0Y2goYixkLGYsaCl7cmV0dXJuIF8uaXNFcXVhbChmLGQpJiZfLmlzRXF1YWwoaCxkKT9udWxsOntzZXJpZXNPYmplY3Q6Yix2YWx1ZVN0ZXBzOmQsbG93ZXJTdGVwczpmLHVwcGVyU3RlcHM6aH19LF9jcmVhdGVOZXdEYXRhU2VyaWVzKGIsCmQsZixoKXt0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtiXXw9MDtkPW5ldyBJaC5EYXRhU2VyaWVzKGIsZCxmLGgsc2YuU1lNQk9MU19MSVNUW3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2JdXSk7dGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbYl09KHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2JdKzEpJXNmLlNZTUJPTFNfTElTVC5sZW5ndGg7cmV0dXJuIGR9LF91cGRhdGVDaGFydChiKXtfLmZvck93bihiLGQ9Pnt0aGlzLiQubG9hZGVyLnNldFNlcmllc0RhdGEoZC5nZXROYW1lKCksZC5nZXREYXRhKCkpfSk7dGhpcy4kLmxvYWRlci5jb21taXRDaGFuZ2VzKCl9LF9jb21wdXRlU2VyaWVzTmFtZXMoKXtjb25zdCBiPW5ldyBTZXQodGhpcy5ydW5zKTtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5fbmFtZVRvRGF0YVNlcmllcykuZmlsdGVyKChbLGRdKT0+Yi5oYXMoZC5ydW4pKS5tYXAoKFtkXSk9PgpkKX0sX2RldGVybWluZUNvbG9yKGIsZCl7cmV0dXJuIGIuc2NhbGUoZCl9LF9yZWZyZXNoRGF0YVNlcmllcygpe3RoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIse30pfSxfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKXtyZXR1cm4gYj0+dGhpcy5fbmFtZVRvRGF0YVNlcmllc1tiXS5nZXRTeW1ib2woKS5tZXRob2QoKX0sX2RldGVybWluZVN5bWJvbChiLGQpe3JldHVybiBiW2RdLmdldFN5bWJvbCgpLmNoYXJhY3Rlcn0sX2NvbXB1dGVUYWdGaWx0ZXIoYil7cmV0dXJuIF8uZmxhdHRlbihiLm1hcChkPT5bZC52YWx1ZSxkLmxvd2VyLGQudXBwZXJdKSkubWFwKGQ9PiIoIit0aGlzLl9lc2NhcGVSZWdleENoYXJhY3RlcnMoZCkrIikiKS5qb2luKCJ8Iil9LF9lc2NhcGVSZWdleENoYXJhY3RlcnMoYil7cmV0dXJuIGIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJFx4MjYiKX0sX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihiKXtyZXR1cm4gYj8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9LApfdG9nZ2xlTWF0Y2hlc09wZW4oKXt0aGlzLnNldCgiX21hdGNoZXNMaXN0T3BlbmVkIiwhdGhpcy5fbWF0Y2hlc0xpc3RPcGVuZWQpfSxfY29tcHV0ZVRpdGxlRGlzcGxheVN0cmluZyhiKXtyZXR1cm4gYnx8InVudGl0bGVkIn0sX3NlcGFyYXRlV2l0aENvbW1hcyhiKXtyZXR1cm4gYi5qb2luKCIsICIpfSxfdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4oKXt0aGlzLnNldCgiX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQiLCF0aGlzLl9taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkKX0sX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkKCl7Y29uc3QgYj10aGlzLiQkKCIjbWF0Y2gtbGlzdC1yZXBlYXQiKTtiJiZ0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1hdGNoLWxpc3QtZW50cnkiKS5mb3JFYWNoKGQ9Pntjb25zdCBmPWIuaXRlbUZvckVsZW1lbnQoZCk7ZC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLGYpfSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQvdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXkseFR5cGU6U3RyaW5nLGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlYWRPbmx5OiEwfSx0aXRsZTpTdHJpbmcsdGFnUmVnZXhlczpBcnJheSxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25sb2FkTGlua3M6Qm9vbGVhbixzbW9vdGhpbmdFbmFibGVkOkJvb2xlYW4sc21vb3RoaW5nV2VpZ2h0Ok51bWJlcix0YWdNZXRhZGF0YTpPYmplY3QsdG9vbHRpcFNvcnRpbmdNZXRob2Q6U3RyaW5nLF9jb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpuZXcgSWguRGF0YVNlcmllc0NvbG9yU2NhbGUoe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcih0YWdSZWdleGVzKSJ9LF9uYW1lVG9EYXRhU2VyaWVzOnt0eXBlOk9iamVjdCwKdmFsdWU6KCk9Pih7fSl9LF9zZXJpZXNOYW1lczp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlU2VyaWVzTmFtZXMoX25hbWVUb0RhdGFTZXJpZXMsIHJ1bnMpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLl90YWdGaWx0ZXI7cmV0dXJuIGRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpLHt0YWc6ZCxydW46Yn0pfX19LF9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9tYXRjaGVzTGlzdE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfdGl0bGVEaXNwbGF5U3RyaW5nOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVUaXRsZURpc3BsYXlTdHJpbmcodGl0bGUpIn19LApvYnNlcnZlcnM6WyJfdXBkYXRlQ2hhcnQoX25hbWVUb0RhdGFTZXJpZXMpIiwiX3JlZnJlc2hEYXRhU2VyaWVzKF90YWdGaWx0ZXIpIl0scmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX0scmVkcmF3KCl7dGhpcy4kLmxvYWRlci5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwhdGhpcy5fbG9nU2NhbGVBY3RpdmUpfSxfcmVzZXREb21haW4oKXtjb25zdCBiPXRoaXMuJC5sb2FkZXI7YiYmYi5yZXNldERvbWFpbigpfSxfY3N2VXJsKGIsZCl7aWYoIWQpcmV0dXJuIiI7Yj10aGlzLl9kb3dubG9hZERhdGFVcmwoYixkKTtyZXR1cm4gZGMuYWRkUGFyYW1zKGIse2Zvcm1hdDoiY3N2In0pfSxfanNvblVybChiLGQpe2lmKCFkKXJldHVybiIiO2I9dGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCk7cmV0dXJuIGRjLmFkZFBhcmFtcyhiLAp7Zm9ybWF0OiJqc29uIn0pfSxfZG93bmxvYWREYXRhVXJsKGIsZCl7Yj1iW2RdO2I9e3RhZzpiLmdldFRhZygpLHJ1bjpiLmdldFJ1bigpfTtyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9kb3dubG9hZF9kYXRhIiksYil9LF9jcmVhdGVQcm9jZXNzRGF0YUZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2lmKGYucmVnZXhfdmFsaWQpe2NvbnN0IGg9Xy5jbG9uZSh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKTtfLmZvck93bihmLnRhZ190b19ldmVudHMsKGsscik9Pntjb25zdCBsPWsubWFwKG09Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFFMyptWzBdKSxzdGVwOm1bMV0sc2NhbGFyOm1bMl19KSk7az1JaC5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lKGQscik7Y29uc3QgcD1oW2tdO3A/cC5zZXREYXRhKGwpOihfLmlzVW5kZWZpbmVkKHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdKSYmKHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdPQowKSxyPW5ldyBJaC5EYXRhU2VyaWVzKGQscixrLGwsc2YuU1lNQk9MU19MSVNUW3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdXSksaFtrXT1yLHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdPSh0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtkXSsxKSVzZi5TWU1CT0xTX0xJU1QubGVuZ3RoKX0pO3RoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIsaCl9fX0sX3VwZGF0ZUNoYXJ0KGIpe09iamVjdC5lbnRyaWVzKGIpLmZvckVhY2goKFtkLGZdKT0+e3RoaXMuJC5sb2FkZXIuc2V0U2VyaWVzRGF0YShkLGYuZ2V0RGF0YSgpKX0pO3RoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfSxfY29tcHV0ZVNlbGVjdGVkUnVuc1NldChiKXtjb25zdCBkPXt9O18uZm9yRWFjaChiLGY9PntkW2ZdPTF9KTtyZXR1cm4gZH0sX2NvbXB1dGVTZXJpZXNOYW1lcygpe2NvbnN0IGI9bmV3IFNldCh0aGlzLnJ1bnMpO3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5maWx0ZXIoKFssCmRdKT0+Yi5oYXMoZC5ydW4pKS5tYXAoKFtkXSk9PmQpfSxfZGV0ZXJtaW5lQ29sb3IoYixkKXtyZXR1cm4gYi5zY2FsZShkKX0sX3JlZnJlc2hEYXRhU2VyaWVzKCl7dGhpcy5zZXQoIl9uYW1lVG9EYXRhU2VyaWVzIix7fSl9LF9jcmVhdGVTeW1ib2xGdW5jdGlvbigpe3JldHVybiBiPT50aGlzLl9uYW1lVG9EYXRhU2VyaWVzW2JdLmdldFN5bWJvbCgpLm1ldGhvZCgpfSxfZGV0ZXJtaW5lU3ltYm9sKGIsZCl7cmV0dXJuIGJbZF0uZ2V0U3ltYm9sKCkuY2hhcmFjdGVyfSxfY29tcHV0ZVRhZ0ZpbHRlcihiKXtyZXR1cm4gMT09PWIubGVuZ3RoP2JbMF06Yi5tYXAoZD0+IigiK2QrIikiKS5qb2luKCJ8Iil9LF9nZXRUb2dnbGVNYXRjaGVzSWNvbihiKXtyZXR1cm4gYj8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9LF90b2dnbGVNYXRjaGVzT3Blbigpe3RoaXMuc2V0KCJfbWF0Y2hlc0xpc3RPcGVuZWQiLCF0aGlzLl9tYXRjaGVzTGlzdE9wZW5lZCl9LF9jb21wdXRlVGl0bGVEaXNwbGF5U3RyaW5nKGIpe3JldHVybiBifHwKInVudGl0bGVkIn0sX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkKCl7Y29uc3QgYj10aGlzLiQkKCIjbWF0Y2gtbGlzdC1yZXBlYXQiKTtiJiZ0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1hdGNoLWxpc3QtZW50cnkiKS5mb3JFYWNoKGQ9Pntjb25zdCBmPWIuaXRlbUZvckVsZW1lbnQoZCk7ZC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLGYpfSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQvdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcig1MCl9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfc2VsZWN0ZWRSdW5zOkFycmF5LF9zaG93RG93bmxvYWRMaW5rczp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTpiZC5nZXRCb29sZWFuSW5pdGlhbGl6ZXIoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxvYnNlcnZlcjoiX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXIifSxfc21vb3RoaW5nRW5hYmxlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNtb290aGluZ0VuYWJsZWQoX3Ntb290aGluZ1dlaWdodCkifSxfc21vb3RoaW5nV2VpZ2h0Ont0eXBlOk51bWJlcixub3RpZnk6ITAsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl9zbW9vdGhpbmdXZWlnaHQiLAp7ZGVmYXVsdFZhbHVlOi42fSksb2JzZXJ2ZXI6Il9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlciJ9LF9pZ25vcmVZT3V0bGllcnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTpiZC5nZXRCb29sZWFuSW5pdGlhbGl6ZXIoIl9pZ25vcmVZT3V0bGllcnMiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSksb2JzZXJ2ZXI6Il9pZ25vcmVZT3V0bGllcnNPYnNlcnZlciJ9LF94VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfbGF5b3V0Ok9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfbGF5b3V0KSJ9LF9vcGVuZWRDYXRlZ29yaWVzOnt0eXBlOk9iamVjdH0sX2FjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlYWRPbmx5OiEwfX0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpbnNMaXN0aW5nKCksZD10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+CntmLmNhbmNlbGxlZHx8KHRoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwhZi52YWx1ZS5jdXN0b21fc2NhbGFycyksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZXRyaWV2ZUxheW91dEFuZERhdGEoKSl9KTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZCl9LF9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCwgdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9yZXRyaWV2ZUxheW91dEFuZERhdGEoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9sYXlvdXQiKSxkPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShmPT57Zi5jYW5jZWxsZWR8fCh0aGlzLnNldCgiX2xheW91dCIsZi52YWx1ZSksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZWxvYWRDaGFydHMoKSl9KTsKdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQpfSxfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlcjpiZC5nZXRCb29sZWFuT2JzZXJ2ZXIoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxfc21vb3RoaW5nV2VpZ2h0T2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl9zbW9vdGhpbmdXZWlnaHQiLHtkZWZhdWx0VmFsdWU6LjZ9KSxfaWdub3JlWU91dGxpZXJzT2JzZXJ2ZXI6YmQuZ2V0Qm9vbGVhbk9ic2VydmVyKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pLF9jb21wdXRlU21vb3RoaW5nRW5hYmxlZChiKXtyZXR1cm4gMDxifSxfbWFrZUNhdGVnb3JpZXMoYil7aWYoIWIuY2F0ZWdvcnkpcmV0dXJuW107bGV0IGQ9ITE7dGhpcy5fb3BlbmVkQ2F0ZWdvcmllc3x8KGQ9ITAsdGhpcy5fb3BlbmVkQ2F0ZWdvcmllcz17fSk7cmV0dXJuIGIuY2F0ZWdvcnkubWFwKGY9Pgp7ZCYmIWYuY2xvc2VkJiYodGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1tmLnRpdGxlXT0hMCk7cmV0dXJue25hbWU6Zi50aXRsZSxpdGVtczpmLmNoYXJ0LG1ldGFkYXRhOntvcGVuZWQ6ISF0aGlzLl9vcGVuZWRDYXRlZ29yaWVzW2YudGl0bGVdfX19KX0sX2NhdGVnb3J5T3BlbmVkVG9nZ2xlZChiKXtiPWIudGFyZ2V0O2Iub3BlbmVkP3RoaXMuX29wZW5lZENhdGVnb3JpZXNbYi5jYXRlZ29yeS5uYW1lXT0hMDpkZWxldGUgdGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1tiLmNhdGVnb3J5Lm5hbWVdfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWltYWdlLWRhc2hib2FyZC90Zi1pbWFnZS1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaW1hZ2UtbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcixvZlNhbXBsZXM6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxhY3R1YWxTaXplOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxicmlnaHRuZXNzQWRqdXN0bWVudDp7dHlwZTpOdW1iZXIsdmFsdWU6LjV9LGNvbnRyYXN0UGVyY2VudGFnZTp7dHlwZTpOdW1iZXIsdmFsdWU6MH0scmVxdWVzdE1hbmFnZXI6T2JqZWN0LF9tZXRhZGF0YUNhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9pbWFnZUNhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9zdGVwczp7dHlwZTpBcnJheSx2YWx1ZTpbXSxub3RpZnk6ITB9LF9zdGVwSW5kZXg6e3R5cGU6TnVtYmVyLApub3RpZnk6ITB9LF9jdXJyZW50U3RlcDp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudFN0ZXAoX3N0ZXBzLCBfc3RlcEluZGV4KSJ9LF9oYXNBdExlYXN0T25lU3RlcDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc0F0TGVhc3RPbmVTdGVwKF9zdGVwcykifSxfaGFzTXVsdGlwbGVTdGVwczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU3RlcHMoX3N0ZXBzKSJ9LF9zdGVwVmFsdWU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZVN0ZXBWYWx1ZShfY3VycmVudFN0ZXApIn0sX2N1cnJlbnRXYWxsVGltZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudFdhbGxUaW1lKF9jdXJyZW50U3RlcCkifSxfbWF4U3RlcEluZGV4Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVNYXhTdGVwSW5kZXgoX3N0ZXBzKSJ9LF9zYW1wbGVUZXh0Ont0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVTYW1wbGVUZXh0KHNhbXBsZSkifSwKX2hhc011bHRpcGxlU2FtcGxlczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyhvZlNhbXBsZXMpIn0sX2lzSW1hZ2VMb2FkaW5nOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxvYnNlcnZlcnM6WyJyZWxvYWQocnVuLCB0YWcpIiwiX3VwZGF0ZUltYWdlVXJsKF9jdXJyZW50U3RlcCwgYnJpZ2h0bmVzc0FkanVzdG1lbnQsIGNvbnRyYXN0UGVyY2VudGFnZSkiXSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVIYXNBdExlYXN0T25lU3RlcChiKXtyZXR1cm4hIWImJjA8Yi5sZW5ndGh9LF9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhiKXtyZXR1cm4hIWImJjE8Yi5sZW5ndGh9LF9jb21wdXRlQ3VycmVudFN0ZXAoYixkKXtyZXR1cm4gYltkXXx8bnVsbH0sX2NvbXB1dGVTdGVwVmFsdWUoYil7cmV0dXJuIGI/Yi5zdGVwOjB9LF9jb21wdXRlQ3VycmVudFdhbGxUaW1lKGIpe3JldHVybiBiPwpIaC5mb3JtYXREYXRlKGIud2FsbF90aW1lKToiIn0sX2NvbXB1dGVNYXhTdGVwSW5kZXgoYil7cmV0dXJuIGIubGVuZ3RoLTF9LF9jb21wdXRlU2FtcGxlVGV4dChiKXtyZXR1cm5gJHtiKzF9YH0sX2NvbXB1dGVIYXNNdWx0aXBsZVNhbXBsZXMoYil7cmV0dXJuIDE8Yn0sX2dldEFyaWFFeHBhbmRlZCgpe3JldHVybiB0aGlzLmFjdHVhbFNpemU/InRydWUiOiJmYWxzZSJ9LGF0dGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITA7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7aWYodGhpcy5fYXR0YWNoZWQpe3RoaXMuX21ldGFkYXRhQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO3ZhciBiPWRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiaW1hZ2VzIiwiL2ltYWdlcyIpLHt0YWc6dGhpcy50YWcscnVuOnRoaXMucnVuLHNhbXBsZTp0aGlzLnNhbXBsZX0pLGQ9dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+e2YuY2FuY2VsbGVkfHwoZj1mLnZhbHVlLm1hcCh0aGlzLl9jcmVhdGVTdGVwRGF0dW0uYmluZCh0aGlzKSksCnRoaXMuc2V0KCJfc3RlcHMiLGYpLHRoaXMuc2V0KCJfc3RlcEluZGV4IixmLmxlbmd0aC0xKSl9KTt0aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihkKX19LF9jcmVhdGVTdGVwRGF0dW0oYil7bGV0IGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImltYWdlcyIsIi9pbmRpdmlkdWFsSW1hZ2UiKTtkPWRjLmFkZFBhcmFtcyhkLHt0czpiLndhbGxfdGltZX0pO2QrPSJceDI2IitiLnF1ZXJ5O3JldHVybnt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKmIud2FsbF90aW1lKSxzdGVwOmIuc3RlcCx1cmw6ZH19LF91cGRhdGVJbWFnZVVybChiLGQsZil7aWYoYil7dmFyIGg9bmV3IEltYWdlO3RoaXMuX2ltYWdlQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO2gub25sb2FkPWgub25lcnJvcj10aGlzLl9pbWFnZUNhbmNlbGxlci5jYW5jZWxsYWJsZShrPT57ay5jYW5jZWxsZWR8fChrPXRoaXMuJCQoIiNtYWluLWltYWdlLWNvbnRhaW5lciIpLGsuaW5uZXJIVE1MPSIiLFBvbHltZXIuZG9tKGspLmFwcGVuZENoaWxkKGgpLAp0aGlzLnNldCgiX2lzSW1hZ2VMb2FkaW5nIiwhMSkpfSkuYmluZCh0aGlzKTtoLnN0eWxlLmZpbHRlcj1gY29udHJhc3QoJHtmfSUpIGA7aC5zdHlsZS5maWx0ZXIrPWBicmlnaHRuZXNzKCR7ZH0pYDt0aGlzLnNldCgiX2lzSW1hZ2VMb2FkaW5nIiwhMCk7aC5zcmM9Yi51cmx9fSxfaGFuZGxlVGFwKCl7dGhpcy5zZXQoImFjdHVhbFNpemUiLCF0aGlzLmFjdHVhbFNpemUpfSxfdG9Mb2NhbGVTdHJpbmcoYil7cmV0dXJuIGIudG9Mb2NhbGVTdHJpbmcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1pbWFnZS1kYXNoYm9hcmQvdGYtaW1hZ2UtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWltYWdlLWRhc2hib2FyZCIscHJvcGVydGllczp7X3NlbGVjdGVkUnVuczpBcnJheSxfcnVuVG9UYWdJbmZvOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX2FjdHVhbFNpemU6Qm9vbGVhbixfZGVmYXVsdEJyaWdodG5lc3NBZGp1c3RtZW50Ont0eXBlOk51bWJlcix2YWx1ZToxLHJlYWRPbmx5OiEwfSxfZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZTp7dHlwZTpOdW1iZXIsdmFsdWU6MTAwLHJlYWRPbmx5OiEwfSxfYnJpZ2h0bmVzc0FkanVzdG1lbnQ6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9jb250cmFzdFBlcmNlbnRhZ2U6e3R5cGU6TnVtYmVyLHZhbHVlOjEwMH0sX3RhZ0ZpbHRlcjpTdHJpbmcsX2JyaWdodG5lc3NJc0RlZmF1bHQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVCcmlnaHRuZXNzSXNEZWZhdWx0KF9icmlnaHRuZXNzQWRqdXN0bWVudCkifSxfY29udHJhc3RJc0RlZmF1bHQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVDb250cmFzdElzRGVmYXVsdChfY29udHJhc3RQZXJjZW50YWdlKSJ9LApfY2F0ZWdvcmllc0RvbVJlYWR5OkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfcnVuVG9UYWdJbmZvLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZEltYWdlcygpfSl9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGg9Pk9iamVjdC5rZXlzKGgpKTtmPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLAowPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkSW1hZ2VzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWltYWdlLWxvYWRlciIpLmZvckVhY2goYj0+e2IucmVsb2FkKCl9KX0sX3Nob3VsZE9wZW4oYil7cmV0dXJuIDI+PWJ9LF9yZXNldEJyaWdodG5lc3MoKXt0aGlzLl9icmlnaHRuZXNzQWRqdXN0bWVudD10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9LF9yZXNldENvbnRyYXN0KCl7dGhpcy5fY29udHJhc3RQZXJjZW50YWdlPXRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2V9LF9jb21wdXRlQnJpZ2h0bmVzc0lzRGVmYXVsdChiKXtyZXR1cm4gYj09PXRoaXMuX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudH0sX2NvbXB1dGVDb250cmFzdElzRGVmYXVsdChiKXtyZXR1cm4gYj09PXRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2V9LApfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCxvZlNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSxyLHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sci5pdGVtcy5tYXAoaCkpfSkpfSxfdGFnTWV0YWRhdGEoYixkLGYpe3JldHVybiBiW2RdW2ZdfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWF1ZGlvLWRhc2hib2FyZC90Zi1hdWRpby1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtYXVkaW8tbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcix0b3RhbFNhbXBsZXM6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsX21ldGFkYXRhQ2FuY2VsbGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLkNhbmNlbGxlcn0sX3N0ZXBzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3N0ZXBJbmRleDpOdW1iZXIsX2hhc0F0TGVhc3RPbmVTdGVwOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzQXRMZWFzdE9uZVN0ZXAoX3N0ZXBzKSJ9LF9oYXNNdWx0aXBsZVN0ZXBzOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhfc3RlcHMpIn0sX2N1cnJlbnREYXR1bTp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudERhdHVtKF9zdGVwcywgX3N0ZXBJbmRleCkifSwKX21heFN0ZXBJbmRleDp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlTWF4U3RlcEluZGV4KF9zdGVwcykifSxfc2FtcGxlVGV4dDp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlU2FtcGxlVGV4dChzYW1wbGUpIn0sX2hhc011bHRpcGxlU2FtcGxlczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyh0b3RhbFNhbXBsZXMpIn19LG9ic2VydmVyczpbInJlbG9hZChydW4sIHRhZykiXSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVIYXNBdExlYXN0T25lU3RlcChiKXtyZXR1cm4hIWImJjA8Yi5sZW5ndGh9LF9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhiKXtyZXR1cm4hIWImJjE8Yi5sZW5ndGh9LF9jb21wdXRlTWF4U3RlcEluZGV4KGIpe3JldHVybiBiLmxlbmd0aC0xfSxfY29tcHV0ZUN1cnJlbnREYXR1bShiLGQpe3JldHVybiBiW2RdfSxfY29tcHV0ZVNhbXBsZVRleHQoYil7cmV0dXJuYCR7YisKMX1gfSxfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyhiKXtyZXR1cm4gMTxifSxhdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwO3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe2lmKHRoaXMuX2F0dGFjaGVkKXt0aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxBbGwoKTt2YXIgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYXVkaW8iLCIvYXVkaW8iLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOnRoaXMuc2FtcGxlfSkpLGQ9dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+e2YuY2FuY2VsbGVkfHwoZj1mLnZhbHVlLm1hcCh0aGlzLl9jcmVhdGVTdGVwRGF0dW0uYmluZCh0aGlzKSksdGhpcy5zZXQoIl9zdGVwcyIsZiksdGhpcy5zZXQoIl9zdGVwSW5kZXgiLGYubGVuZ3RoLTEpKX0pO3RoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQpfX0sX2NyZWF0ZVN0ZXBEYXR1bShiKXt2YXIgZD0KbmV3IFVSTFNlYXJjaFBhcmFtcyhiLnF1ZXJ5KTtkLmFwcGVuZCgidHMiLGIud2FsbF90aW1lKTtkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJhdWRpbyIsIi9pbmRpdmlkdWFsQXVkaW8iLGQpO3JldHVybnt3YWxsX3RpbWU6SGguZm9ybWF0RGF0ZShuZXcgRGF0ZSgxRTMqYi53YWxsX3RpbWUpKSxzdGVwOmIuc3RlcCxsYWJlbDpiLmxhYmVsLGNvbnRlbnRUeXBlOmIuY29udGVudFR5cGUsdXJsOmR9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWF1ZGlvLWRhc2hib2FyZC90Zi1hdWRpby1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtYXVkaW8tZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZ0luZm86T2JqZWN0LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfcnVuVG9UYWdJbmZvLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyKSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZEF1ZGlvKCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9PntpZighXy5pc0VxdWFsKGQsCnRoaXMuX3J1blRvVGFnSW5mbykpe3ZhciBmPV8ubWFwVmFsdWVzKGQsaD0+T2JqZWN0LmtleXMoaCkpO2Y9ZGMuZ2V0VGFncyhmKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWYubGVuZ3RoKTt0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsZCl9fSl9LF9yZWxvYWRBdWRpbygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1hdWRpby1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCx0b3RhbFNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSwKcix7aXRlbXM6W10uY29uY2F0LmFwcGx5KFtdLHIuaXRlbXMubWFwKGgpKX0pKX0sX3RhZ01ldGFkYXRhKGIsZCxmKXtyZXR1cm4gYltkXVtmXX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWF1dG9ncm93LXRleHRhcmVhL2lyb24tYXV0b2dyb3ctdGV4dGFyZWEuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yLFBvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZV0scHJvcGVydGllczp7dmFsdWU6e29ic2VydmVyOiJfdmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LGJpbmRWYWx1ZTp7b2JzZXJ2ZXI6Il9iaW5kVmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjEsb2JzZXJ2ZXI6Il91cGRhdGVDYWNoZWQifSxtYXhSb3dzOnt0eXBlOk51bWJlcix2YWx1ZTowLG9ic2VydmVyOiJfdXBkYXRlQ2FjaGVkIn0sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZyx2YWx1ZToib2ZmIn0sYXV0b2ZvY3VzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30scmVhZG9ubHk6e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFufSwKbWlubGVuZ3RoOnt0eXBlOk51bWJlcn0sbWF4bGVuZ3RoOnt0eXBlOk51bWJlcn0sbGFiZWw6e3R5cGU6U3RyaW5nfX0sbGlzdGVuZXJzOntpbnB1dDoiX29uSW5wdXQifSxnZXQgdGV4dGFyZWEoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhfSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxnZXQgc2VsZWN0aW9uRW5kKCl7cmV0dXJuIHRoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25FbmR9LHNldCBzZWxlY3Rpb25TdGFydChiKXt0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ9Yn0sc2V0IHNlbGVjdGlvbkVuZChiKXt0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uRW5kPWJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKS8pJiYodGhpcy4kLnRleHRhcmVhLnN0eWxlLm1hcmdpbkxlZnQ9Ii0zcHgiKX0sdmFsaWRhdGU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLiQudGV4dGFyZWEudmFsaWRpdHkudmFsaWQ7CmImJih0aGlzLnJlcXVpcmVkJiYiIj09PXRoaXMudmFsdWU/Yj0hMTp0aGlzLmhhc1ZhbGlkYXRvcigpJiYoYj1Qb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLnZhbHVlKSkpO3RoaXMuaW52YWxpZD0hYjt0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKTtyZXR1cm4gYn0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy52YWx1ZT1ifSxfdmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMudGV4dGFyZWE7ZCYmKGQudmFsdWUhPT1iJiYoZC52YWx1ZT1ifHwwPT09Yj9iOiIiKSx0aGlzLmJpbmRWYWx1ZT1iLHRoaXMuJC5taXJyb3IuaW5uZXJIVE1MPXRoaXMuX3ZhbHVlRm9yTWlycm9yKCksdGhpcy5maXJlKCJiaW5kLXZhbHVlLWNoYW5nZWQiLHt2YWx1ZTp0aGlzLmJpbmRWYWx1ZX0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oYil7dmFyIGQ9UG9seW1lci5kb20oYikucGF0aDt0aGlzLnZhbHVlPWQ/ZFswXS52YWx1ZToKYi50YXJnZXQudmFsdWV9LF9jb25zdHJhaW46ZnVuY3Rpb24oYil7Yj1ifHxbIiJdO2ZvcihiPTA8dGhpcy5tYXhSb3dzJiZiLmxlbmd0aD50aGlzLm1heFJvd3M/Yi5zbGljZSgwLHRoaXMubWF4Um93cyk6Yi5zbGljZSgwKTswPHRoaXMucm93cyYmYi5sZW5ndGg8dGhpcy5yb3dzOyliLnB1c2goIiIpO3JldHVybiBiLmpvaW4oIlx4M2Nici9ceDNlIikrIlx4MjYjMTYwOyJ9LF92YWx1ZUZvck1pcnJvcjpmdW5jdGlvbigpe3ZhciBiPXRoaXMudGV4dGFyZWE7aWYoYilyZXR1cm4gdGhpcy50b2tlbnM9YiYmYi52YWx1ZT9iLnZhbHVlLnJlcGxhY2UoLyYvZ20sIlx4MjZhbXA7IikucmVwbGFjZSgvIi9nbSwiXHgyNnF1b3Q7IikucmVwbGFjZSgvJy9nbSwiXHgyNiMzOTsiKS5yZXBsYWNlKC88L2dtLCJceDI2bHQ7IikucmVwbGFjZSgvPi9nbSwiXHgyNmd0OyIpLnNwbGl0KCJcbiIpOlsiIl0sdGhpcy5fY29uc3RyYWluKHRoaXMudG9rZW5zKX0sX3VwZGF0ZUNhY2hlZDpmdW5jdGlvbigpe3RoaXMuJC5taXJyb3IuaW5uZXJIVE1MPQp0aGlzLl9jb25zdHJhaW4odGhpcy50b2tlbnMpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLXRleHRhcmVhLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRleHRhcmVhIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJbnB1dEJlaGF2aW9yLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3JdLHByb3BlcnRpZXM6e19hcmlhTGFiZWxsZWRCeTp7b2JzZXJ2ZXI6Il9hcmlhTGFiZWxsZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSxfYXJpYURlc2NyaWJlZEJ5OntvYnNlcnZlcjoiX2FyaWFEZXNjcmliZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmd9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LG1heFJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxzZXQgc2VsZWN0aW9uU3RhcnQoYil7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0PWJ9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sCnNldCBzZWxlY3Rpb25FbmQoYil7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZD1ifSxfYXJpYUxhYmVsbGVkQnlDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLGIpfSxfYXJpYURlc2NyaWJlZEJ5Q2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLl9mb2N1c2FibGVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsYil9LGdldCBfZm9jdXNhYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudC50ZXh0YXJlYX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci10b2FzdC9wYXBlci10b2FzdC5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPW51bGw7UG9seW1lcih7aXM6InBhcGVyLXRvYXN0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcl0scHJvcGVydGllczp7Zml0SW50bzp7dHlwZTpPYmplY3QsdmFsdWU6d2luZG93LG9ic2VydmVyOiJfb25GaXRJbnRvQ2hhbmdlZCJ9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6ImxlZnQifSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZHVyYXRpb246e3R5cGU6TnVtYmVyLHZhbHVlOjNFM30sdGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sbm9BdXRvRm9jdXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH19LGxpc3RlbmVyczp7dHJhbnNpdGlvbmVuZDoiX19vblRyYW5zaXRpb25FbmQifSxnZXQgdmlzaWJsZSgpe1BvbHltZXIuQmFzZS5fd2FybigiYHZpc2libGVgIGlzIGRlcHJlY2F0ZWQsIHVzZSBgb3BlbmVkYCBpbnN0ZWFkIik7CnJldHVybiB0aGlzLm9wZW5lZH0sZ2V0IF9jYW5BdXRvQ2xvc2UoKXtyZXR1cm4gMDx0aGlzLmR1cmF0aW9uJiZJbmZpbml0eSE9PXRoaXMuZHVyYXRpb259LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdXRvQ2xvc2U9bnVsbDtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLnJlcXVlc3RBdmFpbGFiaWxpdHkoKX0sc2hvdzpmdW5jdGlvbihkKXsic3RyaW5nIj09dHlwZW9mIGQmJihkPXt0ZXh0OmR9KTtmb3IodmFyIGYgaW4gZCkwPT09Zi5pbmRleE9mKCJfIik/UG9seW1lci5CYXNlLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZisnIiBpcyBwcml2YXRlIGFuZCB3YXMgbm90IHNldC4nKTpmIGluIHRoaXM/dGhpc1tmXT1kW2ZdOlBvbHltZXIuQmFzZS5fd2FybignVGhlIHByb3BlcnR5ICInK2YrJyIgaXMgbm90IHZhbGlkLicpO3RoaXMub3BlbigpfSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5jbG9zZSgpfSxfX29uVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihkKXtkJiZkLnRhcmdldD09PQp0aGlzJiYib3BhY2l0eSI9PT1kLnByb3BlcnR5TmFtZSYmKHRoaXMub3BlbmVkP3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpOnRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fYXV0b0Nsb3NlJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9hdXRvQ2xvc2UpLHRoaXMuX2F1dG9DbG9zZT1udWxsKTt0aGlzLm9wZW5lZD8oYiYmYiE9PXRoaXMmJmIuY2xvc2UoKSxiPXRoaXMsdGhpcy5maXJlKCJpcm9uLWFubm91bmNlIix7dGV4dDp0aGlzLnRleHR9KSx0aGlzLl9jYW5BdXRvQ2xvc2UmJih0aGlzLl9hdXRvQ2xvc2U9dGhpcy5hc3luYyh0aGlzLmNsb3NlLHRoaXMuZHVyYXRpb24pKSk6Yj09PXRoaXMmJihiPW51bGwpO1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvckltcGwuX29wZW5lZENoYW5nZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5jbGFzc0xpc3QuYWRkKCJwYXBlci10b2FzdC1vcGVuIil9LApfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJwYXBlci10b2FzdC1vcGVuIil9LF9vbkZpdEludG9DaGFuZ2VkOmZ1bmN0aW9uKGQpe3RoaXMucG9zaXRpb25UYXJnZXQ9ZH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdG9nZ2xlLWJ1dHRvbi9wYXBlci10b2dnbGUtYnV0dG9uLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRvZ2dsZS1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5QYXBlckNoZWNrZWRFbGVtZW50QmVoYXZpb3JdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLCJhcmlhLXByZXNzZWQiOiJmYWxzZSIsdGFiaW5kZXg6MH0scHJvcGVydGllczp7fSxsaXN0ZW5lcnM6e3RyYWNrOiJfb250cmFjayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKHRoaXMsInBhbi15Iil9KX0sX29udHJhY2s6ZnVuY3Rpb24oYil7Yj1iLmRldGFpbDsic3RhcnQiPT09Yi5zdGF0ZT90aGlzLl90cmFja1N0YXJ0KGIpOiJ0cmFjayI9PT1iLnN0YXRlP3RoaXMuX3RyYWNrTW92ZShiKToiZW5kIj09PWIuc3RhdGUmJnRoaXMuX3RyYWNrRW5kKGIpfSxfdHJhY2tTdGFydDpmdW5jdGlvbigpe3RoaXMuX3dpZHRoPXRoaXMuJC50b2dnbGVCYXIub2Zmc2V0V2lkdGgvCjI7dGhpcy5fdHJhY2tDaGVja2VkPXRoaXMuY2hlY2tlZDt0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIil9LF90cmFja01vdmU6ZnVuY3Rpb24oYil7Yj1iLmR4O3RoaXMuX3g9TWF0aC5taW4odGhpcy5fd2lkdGgsTWF0aC5tYXgoMCx0aGlzLl90cmFja0NoZWNrZWQ/dGhpcy5fd2lkdGgrYjpiKSk7dGhpcy50cmFuc2xhdGUzZCh0aGlzLl94KyJweCIsMCwwLHRoaXMuJC50b2dnbGVCdXR0b24pO3RoaXMuX3VzZXJBY3RpdmF0ZSh0aGlzLl94PnRoaXMuX3dpZHRoLzIpfSxfdHJhY2tFbmQ6ZnVuY3Rpb24oKXt0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIik7dGhpcy50cmFuc2Zvcm0oIiIsdGhpcy4kLnRvZ2dsZUJ1dHRvbil9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLnRvZ2dsZUJ1dHRvbjt2YXIgYj1Qb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3IuX2NyZWF0ZVJpcHBsZSgpOwpiLmlkPSJpbmsiO2Iuc2V0QXR0cmlidXRlKCJyZWNlbnRlcnMiLCIiKTtiLmNsYXNzTGlzdC5hZGQoImNpcmNsZSIsInRvZ2dsZS1pbmsiKTtyZXR1cm4gYn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC90Zi1ncmFwaC1taW5pbWFwLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLW1pbmltYXAiLGluaXQ6ZnVuY3Rpb24oYixkLGYsaCxrKXtyZXR1cm4gbmV3IHRmLnNjZW5lLk1pbmltYXAoYixkLGYsdGhpcyxoLGspfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoL3RmLWdyYXBoLXNjZW5lLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLXNjZW5lIixwcm9wZXJ0aWVzOntyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5hbWU6U3RyaW5nLGNvbG9yQnk6U3RyaW5nLHRyYWNlSW5wdXRzOkJvb2xlYW4sX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlOkJvb2xlYW4sX2lzQXR0YWNoZWQ6Qm9vbGVhbixfem9vbTpPYmplY3QsaGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2hpZ2hsaWdodGVkTm9kZUNoYW5nZWQifSxzZWxlY3RlZE5vZGU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfc2VsZWN0ZWROb2RlQ2hhbmdlZCJ9LGhhbmRsZUVkZ2VTZWxlY3RlZDpPYmplY3QsX3pvb21lZDp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfb25ab29tQ2hhbmdlZCIsdmFsdWU6ITF9LF96b29tU3RhcnRDb29yZHM6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LF96b29tVHJhbnNmb3JtOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbWF4Wm9vbURpc3RhbmNlRm9yQ2xpY2s6e3R5cGU6TnVtYmVyLAp2YWx1ZToyMH0sdGVtcGxhdGVJbmRleDpGdW5jdGlvbixtaW5pbWFwOk9iamVjdCxfbm9kZUdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfYW5ub3RhdGlvbkdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfZWRnZUdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxtYXhNZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemU6e3R5cGU6TnVtYmVyLHZhbHVlOjl9LG1pbk1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6Nn0sbWF4TWV0YW5vZGVMYWJlbExlbmd0aExhcmdlRm9udDp7dHlwZTpOdW1iZXIsdmFsdWU6MTF9LG1heE1ldGFub2RlTGFiZWxMZW5ndGg6e3R5cGU6TnVtYmVyLHZhbHVlOjE4fSxwcm9ncmVzczpPYmplY3Qsbm9kZUNvbnRleHRNZW51SXRlbXM6QXJyYXksbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsCmhlYWx0aFBpbGxTdGVwSW5kZXg6TnVtYmVyfSxvYnNlcnZlcnM6WyJfY29sb3JCeUNoYW5nZWQoY29sb3JCeSkiLCJfcmVuZGVySGllcmFyY2h5Q2hhbmdlZChyZW5kZXJIaWVyYXJjaHkpIiwiX2FuaW1hdGVBbmRGaXQoX2lzQXR0YWNoZWQsIHJlbmRlckhpZXJhcmNoeSkiLCJfdXBkYXRlSGVhbHRoUGlsbHMobm9kZU5hbWVzVG9IZWFsdGhQaWxscywgaGVhbHRoUGlsbFN0ZXBJbmRleCkiLCJfdXBkYXRlSW5wdXRUcmFjZSh0cmFjZUlucHV0cywgc2VsZWN0ZWROb2RlKSJdLGdldE5vZGU6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUoYil9LGlzTm9kZUV4cGFuZGVkOmZ1bmN0aW9uKGIpe3JldHVybiBiLmV4cGFuZGVkfSxzZXROb2RlRXhwYW5kZWQ6ZnVuY3Rpb24oKXt0aGlzLl9idWlsZCh0aGlzLnJlbmRlckhpZXJhcmNoeSk7dGhpcy5fdXBkYXRlTGFiZWxzKCF0aGlzLl96b29tZWQpfSxwYW5Ub05vZGUoYil7dGYuZ3JhcGguc2NlbmUucGFuVG9Ob2RlKGIsCnRoaXMuJC5zdmcsdGhpcy4kLnJvb3QsdGhpcy5fem9vbSkmJih0aGlzLl96b29tZWQ9ITApfSxnZXRHcmFwaFN2Z1Jvb3QoKXtyZXR1cm4gdGhpcy4kLnN2Z30sZ2V0Q29udGV4dE1lbnUoKXtyZXR1cm4gdGhpcy4kLmNvbnRleHRNZW51fSxfcmVzZXRTdGF0ZTpmdW5jdGlvbigpe3RoaXMuX25vZGVHcm91cEluZGV4PXt9O3RoaXMuX2Fubm90YXRpb25Hcm91cEluZGV4PXt9O3RoaXMuX2VkZ2VHcm91cEluZGV4PXt9O3RoaXMuX3VwZGF0ZUxhYmVscyghMSk7ZDMuc2VsZWN0KHRoaXMuJC5zdmcpLnNlbGVjdCgiI3Jvb3QiKS5zZWxlY3RBbGwoIioiKS5yZW1vdmUoKTt0Zi5ncmFwaC5zY2VuZS5ub2RlLnJlbW92ZUdyYWRpZW50RGVmaW5pdGlvbnModGhpcy4kLnN2Zyl9LF9idWlsZDpmdW5jdGlvbihiKXt0aGlzLnRlbXBsYXRlSW5kZXg9Yi5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpO3RmLmdyYXBoLnV0aWwudGltZSgidGYtZ3JhcGgtc2NlbmUgKGxheW91dCk6IixmdW5jdGlvbigpe3RmLmdyYXBoLmxheW91dC5sYXlvdXRTY2VuZShiLnJvb3QsCnRoaXMpfS5iaW5kKHRoaXMpKTt0Zi5ncmFwaC51dGlsLnRpbWUoInRmLWdyYXBoLXNjZW5lIChidWlsZCBzY2VuZSk6IixmdW5jdGlvbigpe3RmLmdyYXBoLnNjZW5lLmJ1aWxkR3JvdXAoZDMuc2VsZWN0KHRoaXMuJC5yb290KSxiLnJvb3QsdGhpcyk7dGYuZ3JhcGguc2NlbmUuYWRkR3JhcGhDbGlja0xpc3RlbmVyKHRoaXMuJC5zdmcsdGhpcyk7dGhpcy5fdXBkYXRlSW5wdXRUcmFjZSgpfS5iaW5kKHRoaXMpKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSGVhbHRoUGlsbHModGhpcy5ub2RlTmFtZXNUb0hlYWx0aFBpbGxzLHRoaXMuaGVhbHRoUGlsbFN0ZXBJbmRleCk7dGhpcy5taW5pbWFwLnVwZGF0ZSgpfS5iaW5kKHRoaXMpLHRmLmdyYXBoLmxheW91dC5QQVJBTVMuYW5pbWF0aW9uLmR1cmF0aW9uKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl96b29tPWQzLnpvb20oKS5vbigiZW5kIixmdW5jdGlvbigpe3RoaXMuX3pvb21TdGFydENvb3JkcyYmKE1hdGguc3FydChNYXRoLnBvdyh0aGlzLl96b29tU3RhcnRDb29yZHMueC0KdGhpcy5fem9vbVRyYW5zZm9ybS54LDIpK01hdGgucG93KHRoaXMuX3pvb21TdGFydENvb3Jkcy55LXRoaXMuX3pvb21UcmFuc2Zvcm0ueSwyKSk8dGhpcy5fbWF4Wm9vbURpc3RhbmNlRm9yQ2xpY2s/dGhpcy5fZmlyZUVuYWJsZUNsaWNrKCk6c2V0VGltZW91dCh0aGlzLl9maXJlRW5hYmxlQ2xpY2suYmluZCh0aGlzKSw1MCkpO3RoaXMuX3pvb21TdGFydENvb3Jkcz1udWxsfS5iaW5kKHRoaXMpKS5vbigiem9vbSIsZnVuY3Rpb24oKXt0aGlzLl96b29tVHJhbnNmb3JtPWQzLmV2ZW50LnRyYW5zZm9ybTt0aGlzLl96b29tU3RhcnRDb29yZHN8fCh0aGlzLl96b29tU3RhcnRDb29yZHM9dGhpcy5fem9vbVRyYW5zZm9ybSx0aGlzLmZpcmUoImRpc2FibGUtY2xpY2siKSk7dGhpcy5fem9vbWVkPSEwO2QzLnNlbGVjdCh0aGlzLiQucm9vdCkuYXR0cigidHJhbnNmb3JtIixkMy5ldmVudC50cmFuc2Zvcm0pO3RoaXMubWluaW1hcC56b29tKGQzLmV2ZW50LnRyYW5zZm9ybSl9LmJpbmQodGhpcykpOwpkMy5zZWxlY3QodGhpcy4kLnN2ZykuY2FsbCh0aGlzLl96b29tKS5vbigiZGJsY2xpY2suem9vbSIsbnVsbCk7ZDMuc2VsZWN0KHdpbmRvdykub24oInJlc2l6ZSIsZnVuY3Rpb24oKXt0aGlzLm1pbmltYXAuem9vbSgpfS5iaW5kKHRoaXMpKTt0aGlzLm1pbmltYXA9dGhpcy4kLm1pbmltYXAuaW5pdCh0aGlzLiQuc3ZnLHRoaXMuJC5yb290LHRoaXMuX3pvb20sdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5taW5pbWFwLnNpemUsdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0KX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCEwKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCExKX0sX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2U9ITE7dGhpcy5fcmVzZXRTdGF0ZSgpO3RoaXMuX2J1aWxkKGIpfSxfYW5pbWF0ZUFuZEZpdDpmdW5jdGlvbihiKXshdGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2UmJgpiJiZzZXRUaW1lb3V0KHRoaXMuZml0LmJpbmQodGhpcyksdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5hbmltYXRpb24uZHVyYXRpb24pfSxfdXBkYXRlTGFiZWxzOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuJCQoIi50aXRsZSIpLGY9ZC5zdHlsZSxoPXRoaXMuJCQoIi5hdXhUaXRsZSIpLGs9aC5zdHlsZSxyPXRoaXMuJCQoIi5mdW5jdGlvbkxpYnJhcnlUaXRsZSIpLnN0eWxlO2NvbnN0IGw9ZDMuc2VsZWN0KHRoaXMuJC5zdmcpO3ZhciBwPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkNPUkUpLm5vZGUoKTtpZihiJiZwJiZ0aGlzLnByb2dyZXNzJiYxMDA9PT10aGlzLnByb2dyZXNzLnZhbHVlKXtiPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLklORVhUUkFDVCkubm9kZSgpfHxsLnNlbGVjdCgiLiIrCnRmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkdST1VQKyJceDNlLiIrdGYuZ3JhcGguc2NlbmUuQ2xhc3MuU2NlbmUuT1VURVhUUkFDVCkubm9kZSgpO3ZhciBtPXAuZ2V0Q1RNKCkuZTtwPWI/Yi5nZXRDVE0oKS5lOm51bGw7Zi5kaXNwbGF5PSJpbmxpbmUiO2YubGVmdD1tKyJweCI7bnVsbCE9PXAmJnAhPT1tPyhrLmRpc3BsYXk9ImlubGluZSIscD1NYXRoLm1heChtK2QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgscCksay5sZWZ0PXArInB4Iik6ay5kaXNwbGF5PSJub25lIjtkPShkPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkZVTkNUSU9OX0xJQlJBUlkpLm5vZGUoKSk/ZC5nZXRDVE0oKS5lOm51bGw7bnVsbCE9PWQmJmQhPT1wPyhyLmRpc3BsYXk9ImlubGluZSIsZD1NYXRoLm1heChwK2guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsZCksci5sZWZ0PWQrInB4Iik6CnIuZGlzcGxheT0ibm9uZSJ9ZWxzZSBmLmRpc3BsYXk9Im5vbmUiLGsuZGlzcGxheT0ibm9uZSIsci5kaXNwbGF5PSJub25lIn0sX2NvbG9yQnlDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbCE9dGhpcy5yZW5kZXJIaWVyYXJjaHkmJihfLmVhY2godGhpcy5fbm9kZUdyb3VwSW5kZXgsKGIsZCk9Pnt0aGlzLl91cGRhdGVOb2RlU3RhdGUoZCl9KSx0aGlzLm1pbmltYXAudXBkYXRlKCkpfSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNSZW5kZXJIaWVyYXJjaHlCZWVuRml0T25jZT0hMDt0Zi5ncmFwaC5zY2VuZS5maXQodGhpcy4kLnN2Zyx0aGlzLiQucm9vdCx0aGlzLl96b29tLGZ1bmN0aW9uKCl7dGhpcy5fem9vbWVkPSExfS5iaW5kKHRoaXMpKX0saXNOb2RlU2VsZWN0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGI9PT10aGlzLnNlbGVjdGVkTm9kZX0saXNOb2RlSGlnaGxpZ2h0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGI9PT10aGlzLmhpZ2hsaWdodGVkTm9kZX0sYWRkQW5ub3RhdGlvbkdyb3VwOmZ1bmN0aW9uKGIsCmQsZil7Yj1iLm5vZGUubmFtZTt0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiXT10aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiXXx8e307dGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbYl1bZC5ub2RlLm5hbWVdPWZ9LGdldEFubm90YXRpb25Hcm91cHNJbmRleDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbYl19LHJlbW92ZUFubm90YXRpb25Hcm91cDpmdW5jdGlvbihiLGQpe2RlbGV0ZSB0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiLm5vZGUubmFtZV1bZC5ub2RlLm5hbWVdfSxhZGROb2RlR3JvdXA6ZnVuY3Rpb24oYixkKXt0aGlzLl9ub2RlR3JvdXBJbmRleFtiXT1kfSxnZXROb2RlR3JvdXA6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuX25vZGVHcm91cEluZGV4W2JdfSxyZW1vdmVOb2RlR3JvdXA6ZnVuY3Rpb24oYil7ZGVsZXRlIHRoaXMuX25vZGVHcm91cEluZGV4W2JdfSxhZGRFZGdlR3JvdXA6ZnVuY3Rpb24oYixkKXt0aGlzLl9lZGdlR3JvdXBJbmRleFtiXT0KZH0sZ2V0RWRnZUdyb3VwOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZGdlR3JvdXBJbmRleFtiXX0sX3VwZGF0ZUhlYWx0aFBpbGxzOmZ1bmN0aW9uKGIsZCl7dGYuZ3JhcGguc2NlbmUuYWRkSGVhbHRoUGlsbHModGhpcy4kLnN2ZyxiLGQpfSxfdXBkYXRlTm9kZVN0YXRlOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuZ2V0Tm9kZShiKSxmPXRoaXMuZ2V0Tm9kZUdyb3VwKGIpO2YmJnRmLmdyYXBoLnNjZW5lLm5vZGUuc3R5bGl6ZShmLGQsdGhpcyk7ZC5ub2RlLnR5cGU9PT10Zi5ncmFwaC5Ob2RlVHlwZS5NRVRBJiZkLm5vZGUuYXNzb2NpYXRlZEZ1bmN0aW9uJiYhZC5pc0xpYnJhcnlGdW5jdGlvbiYmKGY9ZDMuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkZVTkNUSU9OX0xJQlJBUlkrJyBnW2RhdGEtbmFtZVx4M2QiJysodGYuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCsKZC5ub2RlLmFzc29jaWF0ZWRGdW5jdGlvbikrJyJdJyksdGYuZ3JhcGguc2NlbmUubm9kZS5zdHlsaXplKGYsZCx0aGlzKSk7Xy5lYWNoKHRoaXMuZ2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KGIpLGg9Pnt0Zi5ncmFwaC5zY2VuZS5ub2RlLnN0eWxpemUoaCxkLHRoaXMsdGYuZ3JhcGguc2NlbmUuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKX0pfSxfc2VsZWN0ZWROb2RlQ2hhbmdlZDpmdW5jdGlvbihiLGQpe2lmKGIhPT1kJiYoZCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGQpLGIpKXt0aGlzLm1pbmltYXAudXBkYXRlKCk7ZD10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkubm9kZShiKTtmb3IodmFyIGY9W107bnVsbCE9ZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUubmFtZSE9dGYuZ3JhcGguUk9PVF9OQU1FOylkPWQucGFyZW50Tm9kZSxmLnB1c2goZC5uYW1lKTt2YXIgaDtfLmZvckVhY2hSaWdodChmLGs9Pnt0aGlzLnJlbmRlckhpZXJhcmNoeS5idWlsZFN1YmhpZXJhcmNoeShrKTsKaz10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKGspO2subm9kZS5pc0dyb3VwTm9kZSYmIWsuZXhwYW5kZWQmJihrLmV4cGFuZGVkPSEwLGh8fChoPWspKX0pO2gmJih0aGlzLnNldE5vZGVFeHBhbmRlZChoKSx0aGlzLl96b29tZWQ9ITApO2ImJnRoaXMuX3VwZGF0ZU5vZGVTdGF0ZShiKTtzZXRUaW1lb3V0KCgpPT57dGhpcy5wYW5Ub05vZGUoYil9LHRmLmdyYXBoLmxheW91dC5QQVJBTVMuYW5pbWF0aW9uLmR1cmF0aW9uKX19LF9oaWdobGlnaHRlZE5vZGVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7YiE9PWQmJihiJiZ0aGlzLl91cGRhdGVOb2RlU3RhdGUoYiksZCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGQpKX0sX29uWm9vbUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9LF9maXJlRW5hYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImVuYWJsZS1jbGljayIpfSxfdXBkYXRlSW5wdXRUcmFjZTpmdW5jdGlvbigpe3RmLmdyYXBoLnNjZW5lLm5vZGUudXBkYXRlSW5wdXRUcmFjZSh0aGlzLmdldEdyYXBoU3ZnUm9vdCgpLAp0aGlzLnJlbmRlckhpZXJhcmNoeSx0aGlzLnNlbGVjdGVkTm9kZSx0aGlzLnRyYWNlSW5wdXRzKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC90Zi1ncmFwaC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ncmFwaCIscHJvcGVydGllczp7Z3JhcGhIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2dyYXBoQ2hhbmdlZCJ9LGJhc2ljR3JhcGg6T2JqZWN0LHN0YXRzOk9iamVjdCxkZXZpY2VzRm9yU3RhdHM6T2JqZWN0LGhpZXJhcmNoeVBhcmFtczpPYmplY3QscHJvZ3Jlc3M6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sdGl0bGU6U3RyaW5nLHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxlY3RlZEVkZ2U6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sX2xhc3RTZWxlY3RlZEVkZ2VHcm91cDpPYmplY3QsaGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LGNvbG9yQnk6U3RyaW5nLGNvbG9yQnlQYXJhbXM6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkT25seTohMH0scmVuZGVySGllcmFyY2h5Ont0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYWNlSW5wdXRzOkJvb2xlYW4sCm5vZGVDb250ZXh0TWVudUl0ZW1zOkFycmF5LF9yZW5kZXJEZXB0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MX0sX2FsbG93R3JhcGhTZWxlY3Q6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsaGVhbHRoUGlsbFN0ZXBJbmRleDpOdW1iZXIsZWRnZVdpZHRoRnVuY3Rpb246e3R5cGU6T2JqZWN0LHZhbHVlOiIifSxoYW5kbGVOb2RlU2VsZWN0ZWQ6e3R5cGU6T2JqZWN0LHZhbHVlOiIifSxlZGdlTGFiZWxGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9LGhhbmRsZUVkZ2VTZWxlY3RlZDp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9fSxvYnNlcnZlcnM6WyJfc3RhdHNDaGFuZ2VkKHN0YXRzLCBkZXZpY2VzRm9yU3RhdHMpIiwiX2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KGdyYXBoSGllcmFyY2h5LCBlZGdlV2lkdGhGdW5jdGlvbiwgaGFuZGxlTm9kZVNlbGVjdGVkLCBlZGdlTGFiZWxGdW5jdGlvbiwgaGFuZGxlRWRnZVNlbGVjdGVkKSIsIl9zZWxlY3RlZE5vZGVDaGFuZ2VkKHNlbGVjdGVkTm9kZSkiLAoiX3NlbGVjdGVkRWRnZUNoYW5nZWQoc2VsZWN0ZWRFZGdlKSJdLHBhblRvTm9kZShiKXt0aGlzLiQkKCJ0Zi1ncmFwaC1zY2VuZSIpLnBhblRvTm9kZShiKX0sX2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KGIpe2ImJnRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KGIpfSxfc3RhdHNDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dGhpcy5ncmFwaEhpZXJhcmNoeSYmKGImJmQmJih0Zi5ncmFwaC5qb2luU3RhdHNJbmZvV2l0aEdyYXBoKHRoaXMuYmFzaWNHcmFwaCxiLGQpLHRmLmdyYXBoLmhpZXJhcmNoeS5qb2luQW5kQWdncmVnYXRlU3RhdHModGhpcy5ncmFwaEhpZXJhcmNoeSkpLHRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpKX0sX2J1aWxkUmVuZGVySGllcmFyY2h5OmZ1bmN0aW9uKGIpe3RmLmdyYXBoLnV0aWwudGltZSgibmV3IHRmLmdyYXBoLnJlbmRlci5IaWVyYXJjaHkiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZChoKXtyZXR1cm57bWluVmFsdWU6aC5kb21haW4oKVswXSwKbWF4VmFsdWU6aC5kb21haW4oKVsxXSxzdGFydENvbG9yOmgucmFuZ2UoKVswXSxlbmRDb2xvcjpoLnJhbmdlKClbMV19fWlmKGIucm9vdC50eXBlPT09dGYuZ3JhcGguTm9kZVR5cGUuTUVUQSl7dmFyIGY9bmV3IHRmLmdyYXBoLnJlbmRlci5SZW5kZXJHcmFwaEluZm8oYiwhIXRoaXMuc3RhdHMpO2YuZWRnZUxhYmVsRnVuY3Rpb249dGhpcy5lZGdlTGFiZWxGdW5jdGlvbjtmLmVkZ2VXaWR0aEZ1bmN0aW9uPXRoaXMuZWRnZVdpZHRoRnVuY3Rpb247dGhpcy5fc2V0Q29sb3JCeVBhcmFtcyh7Y29tcHV0ZV90aW1lOmQoZi5jb21wdXRlVGltZVNjYWxlKSxtZW1vcnk6ZChmLm1lbW9yeVVzYWdlU2NhbGUpLGRldmljZTpfLm1hcChmLmRldmljZUNvbG9yTWFwLmRvbWFpbigpLGZ1bmN0aW9uKGgpe3JldHVybntkZXZpY2U6aCxjb2xvcjpmLmRldmljZUNvbG9yTWFwKGgpfX0pLHhsYV9jbHVzdGVyOl8ubWFwKGYueGxhQ2x1c3RlckNvbG9yTWFwLmRvbWFpbigpLGZ1bmN0aW9uKGgpe3JldHVybnt4bGFfY2x1c3RlcjpoLApjb2xvcjpmLnhsYUNsdXN0ZXJDb2xvck1hcChoKX19KX0pO3RoaXMuX3NldFJlbmRlckhpZXJhcmNoeShmKTt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5maXJlKCJyZW5kZXJlZCIpfSl9fS5iaW5kKHRoaXMpKX0sX2dldFZpc2libGU6ZnVuY3Rpb24oYil7cmV0dXJuIGI/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0TmVhcmVzdFZpc2libGVBbmNlc3RvcihiKTpifSxsaXN0ZW5lcnM6eyJncmFwaC1zZWxlY3QiOiJfZ3JhcGhTZWxlY3RlZCIsImRpc2FibGUtY2xpY2siOiJfZGlzYWJsZUNsaWNrIiwiZW5hYmxlLWNsaWNrIjoiX2VuYWJsZUNsaWNrIiwibm9kZS10b2dnbGUtZXhwYW5kIjoiX25vZGVUb2dnbGVFeHBhbmQiLCJub2RlLXNlbGVjdCI6Il9ub2RlU2VsZWN0ZWQiLCJub2RlLWhpZ2hsaWdodCI6Il9ub2RlSGlnaGxpZ2h0ZWQiLCJub2RlLXVuaGlnaGxpZ2h0IjoiX25vZGVVbmhpZ2hsaWdodGVkIiwibm9kZS10b2dnbGUtZXh0cmFjdCI6Il9ub2RlVG9nZ2xlRXh0cmFjdCIsCiJub2RlLXRvZ2dsZS1zZXJpZXNncm91cCI6Il9ub2RlVG9nZ2xlU2VyaWVzR3JvdXAiLCJlZGdlLXNlbGVjdCI6Il9lZGdlU2VsZWN0ZWQiLCJhbm5vdGF0aW9uLXNlbGVjdCI6Il9ub2RlU2VsZWN0ZWQiLCJhbm5vdGF0aW9uLWhpZ2hsaWdodCI6Il9ub2RlSGlnaGxpZ2h0ZWQiLCJhbm5vdGF0aW9uLXVuaGlnaGxpZ2h0IjoiX25vZGVVbmhpZ2hsaWdodGVkIn0sZml0OmZ1bmN0aW9uKCl7dGhpcy4kLnNjZW5lLmZpdCgpfSxfZ3JhcGhDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJncmFwaC1zZWxlY3QiKX0sX2dyYXBoU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0JiYodGhpcy5zZXQoInNlbGVjdGVkTm9kZSIsbnVsbCksdGhpcy5zZXQoInNlbGVjdGVkRWRnZSIsbnVsbCkpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9kaXNhYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSExfSxfZW5hYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PQohMH0sX3NlbGVjdGVkTm9kZUNoYW5nZWQoYil7dGhpcy5oYW5kbGVOb2RlU2VsZWN0ZWQmJnRoaXMuaGFuZGxlTm9kZVNlbGVjdGVkKGIpfSxfc2VsZWN0ZWRFZGdlQ2hhbmdlZChiKXt0aGlzLl9kZXNlbGVjdFByZXZpb3VzRWRnZSgpO2ImJih0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuY2xhc3NlZCh0Zi5ncmFwaC5zY2VuZS5DbGFzcy5FZGdlLlNFTEVDVEVELCEwKSx0aGlzLl91cGRhdGVNYXJrZXJPZlNlbGVjdGVkRWRnZShiKSk7dGhpcy5oYW5kbGVFZGdlU2VsZWN0ZWQmJnRoaXMuaGFuZGxlRWRnZVNlbGVjdGVkKGIpfSxfbm9kZVNlbGVjdGVkOmZ1bmN0aW9uKGIpe3RoaXMuX2FsbG93R3JhcGhTZWxlY3QmJnRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLGIuZGV0YWlsLm5hbWUpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9lZGdlU2VsZWN0ZWQoYil7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdCYmKHRoaXMuc2V0KCJfbGFzdFNlbGVjdGVkRWRnZUdyb3VwIixiLmRldGFpbC5lZGdlR3JvdXApLAp0aGlzLnNldCgic2VsZWN0ZWRFZGdlIixiLmRldGFpbC5lZGdlRGF0YSkpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9ub2RlSGlnaGxpZ2h0ZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXQoImhpZ2hsaWdodGVkTm9kZSIsYi5kZXRhaWwubmFtZSl9LF9ub2RlVW5oaWdobGlnaHRlZDpmdW5jdGlvbigpe3RoaXMuc2V0KCJoaWdobGlnaHRlZE5vZGUiLG51bGwpfSxfbm9kZVRvZ2dsZUV4cGFuZDpmdW5jdGlvbihiKXt0aGlzLl9ub2RlU2VsZWN0ZWQoYik7Yj1iLmRldGFpbC5uYW1lO3ZhciBkPXRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUoYik7ZC5ub2RlLnR5cGUhPT10Zi5ncmFwaC5Ob2RlVHlwZS5PUCYmKHRoaXMucmVuZGVySGllcmFyY2h5LmJ1aWxkU3ViaGllcmFyY2h5KGIpLGQuZXhwYW5kZWQ9IWQuZXhwYW5kZWQsdGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuJC5zY2VuZS5zZXROb2RlRXhwYW5kZWQoZCl9LDc1KSl9LF9ub2RlVG9nZ2xlRXh0cmFjdDpmdW5jdGlvbihiKXt0aGlzLm5vZGVUb2dnbGVFeHRyYWN0KGIuZGV0YWlsLm5hbWUpfSwKbm9kZVRvZ2dsZUV4dHJhY3Q6ZnVuY3Rpb24oYil7Yj10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKGIpO2Iubm9kZS5pbmNsdWRlPWIubm9kZS5pbmNsdWRlPT10Zi5ncmFwaC5JbmNsdXNpb25UeXBlLklOQ0xVREU/dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFOmIubm9kZS5pbmNsdWRlPT10Zi5ncmFwaC5JbmNsdXNpb25UeXBlLkVYQ0xVREU/dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5JTkNMVURFOnRoaXMucmVuZGVySGllcmFyY2h5LmlzTm9kZUF1eGlsaWFyeShiKT90Zi5ncmFwaC5JbmNsdXNpb25UeXBlLklOQ0xVREU6dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFO3RoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpfSxfbm9kZVRvZ2dsZVNlcmllc0dyb3VwOmZ1bmN0aW9uKGIpe3RoaXMubm9kZVRvZ2dsZVNlcmllc0dyb3VwKGIuZGV0YWlsLm5hbWUpfSxub2RlVG9nZ2xlU2VyaWVzR3JvdXA6ZnVuY3Rpb24oYil7dGYuZ3JhcGgudG9nZ2xlTm9kZVNlcmllc0dyb3VwKHRoaXMuaGllcmFyY2h5UGFyYW1zLnNlcmllc01hcCwKYik7dGhpcy5zZXQoInByb2dyZXNzIix7dmFsdWU6MCxtc2c6IiJ9KTt0Zi5ncmFwaC5oaWVyYXJjaHkuYnVpbGQodGhpcy5iYXNpY0dyYXBoLHRoaXMuaGllcmFyY2h5UGFyYW1zLHRmLmdyYXBoLnV0aWwuZ2V0U3VidGFza1RyYWNrZXIodGYuZ3JhcGgudXRpbC5nZXRUcmFja2VyKHRoaXMpLDEwMCwiTmFtZXNwYWNlIGhpZXJhcmNoeSIpKS50aGVuKGZ1bmN0aW9uKGQpe3RoaXMuc2V0KCJncmFwaEhpZXJhcmNoeSIsZCk7dGhpcy5fYnVpbGRSZW5kZXJIaWVyYXJjaHkodGhpcy5ncmFwaEhpZXJhcmNoeSl9LmJpbmQodGhpcykpfSxfZGVzZWxlY3RQcmV2aW91c0VkZ2UoKXtkMy5zZWxlY3QoIi4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLkVkZ2UuU0VMRUNURUQpLmNsYXNzZWQodGYuZ3JhcGguc2NlbmUuQ2xhc3MuRWRnZS5TRUxFQ1RFRCwhMSkuZWFjaChiPT57aWYoYi5sYWJlbCl7Y29uc3QgZD1kMy5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIik7Yi5sYWJlbC5zdGFydE1hcmtlcklkJiYKZC5zdHlsZSgibWFya2VyLXN0YXJ0IixgdXJsKCMke2IubGFiZWwuc3RhcnRNYXJrZXJJZH0pYCk7Yi5sYWJlbC5lbmRNYXJrZXJJZCYmZC5zdHlsZSgibWFya2VyLWVuZCIsYHVybCgjJHtiLmxhYmVsLmVuZE1hcmtlcklkfSlgKX19KX0sX3VwZGF0ZU1hcmtlck9mU2VsZWN0ZWRFZGdlKGIpe2lmKGIubGFiZWwpe3ZhciBkPWIubGFiZWwuc3RhcnRNYXJrZXJJZHx8Yi5sYWJlbC5lbmRNYXJrZXJJZDtpZihkKXtjb25zdCBmPWQucmVwbGFjZSgiZGF0YWZsb3ctIiwic2VsZWN0ZWQtIik7bGV0IGg9dGhpcy4kJCgiIyIrZik7aHx8KGQ9dGhpcy4kLnNjZW5lLnF1ZXJ5U2VsZWN0b3IoIiMiK2QpLGg9ZC5jbG9uZU5vZGUoITApLGguc2V0QXR0cmlidXRlKCJpZCIsZiksaC5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZC1hcnJvd2hlYWQiKSxkLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoaCkpO2I9Yi5sYWJlbC5zdGFydE1hcmtlcklkPyJtYXJrZXItc3RhcnQiOiJtYXJrZXItZW5kIjt0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIikuc3R5bGUoYiwKYHVybCgjJHtmfSlgKX19fSxub3Q6ZnVuY3Rpb24oYil7cmV0dXJuIWJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLWNvbnRpbnVlLWRpYWxvZy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kZWJ1Z2dlci1jb250aW51ZS1kaWFsb2ciLHByb3BlcnRpZXM6e2NvbnRpbnVlTnVtOnt0eXBlOk51bWJlcix2YWx1ZTo1fSxzZXNzaW9uUnVuR286RnVuY3Rpb24sdGVuc29yQ29uZGl0aW9uR286RnVuY3Rpb24sZm9yY2VDb250aW51YXRpb25TdG9wOkZ1bmN0aW9uLF9jb250aW51ZUJ1dHRvblRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJDb250aW51ZS4uLiJ9LF9jb250aW51ZUJ1dHRvbkNvbnRpbnVlVGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IkNvbnRpbnVlLi4uIixyZWFkb25seTohMH0sX2NvbnRpbnVlQnV0dG9uU3RvcFRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJTdG9wIENvbnRpbnVhdGlvbiIscmVhZG9ubHk6ITB9LF9zZWxlY3RlZFRlbnNvckNvbmRpdGlvbjpTdHJpbmcsX3RlbnNvckNvbmRpdGlvblJlZlZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sX2lzUmVmVmFsdWVJbnB1dEhpZGRlbjp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLApub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfb25TZWxlY3RlZFRlbnNvckNvbmRpdGlvbkNoYW5nZWQoX3NlbGVjdGVkVGVuc29yQ29uZGl0aW9uKSJdLG5vdGlmeUNvbnRpbnVhdGlvblN0b3AoKXt0aGlzLnVwZGF0ZUNvbnRpbnVlQnV0dG9uVGV4dCghMSl9LF9vcGVuRGlhbG9nKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLm9wZW4oKX0sX2Nsb3NlRGlhbG9nKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLmNsb3NlKCl9LF9jb250aW51ZUJ1dHRvbkNhbGxiYWNrKCl7dGhpcy5fY29udGludWVCdXR0b25UZXh0PT09dGhpcy5fY29udGludWVCdXR0b25TdG9wVGV4dD90aGlzLmZvcmNlQ29udGludWF0aW9uU3RvcCgpOnRoaXMuX29wZW5EaWFsb2coKX0sdXBkYXRlQ29udGludWVCdXR0b25UZXh0KGIpe3RoaXMuc2V0KCJfY29udGludWVCdXR0b25UZXh0IixiP3RoaXMuX2NvbnRpbnVlQnV0dG9uU3RvcFRleHQ6dGhpcy5fY29udGludWVCdXR0b25Db250aW51ZVRleHQpfSxfc2Vzc2lvblJ1bkdvQnV0dG9uQ2FsbGJhY2soKXswPAp0aGlzLmNvbnRpbnVlTnVtPyh0aGlzLnNlc3Npb25SdW5Hbyh0aGlzLmNvbnRpbnVlTnVtKSx0aGlzLnVwZGF0ZUNvbnRpbnVlQnV0dG9uVGV4dCghMCksdGhpcy5fY2xvc2VEaWFsb2coKSk6dGhpcy5zZXQoImNvbnRpbnVlTnVtIiwxKX0sX3RlbnNvckNvbnRpbnVlR29CdXR0b25DYWxsYmFjaygpe2lmKG51bGwhPXRoaXMuX3NlbGVjdGVkVGVuc29yQ29uZGl0aW9uKXt2YXIgYj1LaC50ZW5zb3JDb25kaXRpb25EZXNjcmlwdGlvbjJLZXkodGhpcy5fc2VsZWN0ZWRUZW5zb3JDb25kaXRpb24pO251bGw9PWImJmNvbnNvbGUuZXJyb3IoIkludmFsaWQgVGVuc29yIENvbmRpdGlvbiBuYW1lOiIrdGhpcy5fc2VsZWN0ZWRUZW5zb3JDb25kaXRpb24pO3ZhciBkPU51bWJlcih0aGlzLl90ZW5zb3JDb25kaXRpb25SZWZWYWx1ZSk7TnVtYmVyLmlzRmluaXRlKGQpPyh0aGlzLnRlbnNvckNvbmRpdGlvbkdvKGIsZCksdGhpcy51cGRhdGVDb250aW51ZUJ1dHRvblRleHQoITApLHRoaXMuX2Nsb3NlRGlhbG9nKCkpOgp0aGlzLnNldCgiX3RlbnNvckNvbmRpdGlvblJlZlZhbHVlIiwwKX19LF9vblNlbGVjdGVkVGVuc29yQ29uZGl0aW9uQ2hhbmdlZChiKXtiPUtoLnRlbnNvckNvbmRpdGlvbkRlc2NyaXB0aW9uMktleShiKTt0aGlzLnNldCgiX2lzUmVmVmFsdWVJbnB1dEhpZGRlbiIsLTEhPT1bIklORl9PUl9OQU4iLCJJTkYiLCJOQU4iXS5pbmRleE9mKGIpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGYtZGVidWdnZXItaW5pdGlhbC1kaWFsb2cuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItaW5pdGlhbC1kaWFsb2ciLHByb3BlcnRpZXM6e190aXRsZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2N1c3RvbU1lc3NhZ2U6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9oYXNDdXN0b21NZXNzYWdlOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzQ3VzdG9tTWVzc2FnZShfY3VzdG9tTWVzc2FnZSkifSxfaG9zdDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3BvcnQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9vcGVuOnt0eXBlOkJvb2xlYW59LF9oaWRkZW46e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIaWRkZW4oX29wZW4pIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxvcGVuRGlhbG9nKGIsZCl7dGhpcy5zZXQoIl90aXRsZSIsIkRlYnVnZ2VyIGlzIHdhaXRpbmcgZm9yIFNlc3Npb24ucnVuKCkgY29ubmVjdGlvbnMuLi4iKTt0aGlzLnNldCgiX2N1c3RvbU1lc3NhZ2UiLG51bGwpO3RoaXMuJC5kaWFsb2cub3BlbigpOwpudWxsIT1iJiZudWxsIT1kJiYodGhpcy5zZXQoIl9ob3N0IixiKSx0aGlzLnNldCgiX3BvcnQiLGQpKX0sY2xvc2VEaWFsb2coKXt0aGlzLiQuZGlhbG9nLmNsb3NlKCl9LG9wZW5EaXNhYmxlZERpYWxvZygpe3RoaXMuc2V0KCJfdGl0bGUiLCJEZWJ1Z2dlciBpcyBub3QgZW5hYmxlZCBpbiB0aGlzIFRlbnNvckJvYXJkIGluc3RhbmNlIik7dGhpcy5zZXQoIl9jdXN0b21NZXNzYWdlIiwiVG8gZW5hYmxlIHRoZSBkZWJ1Z2dlciBpbiBUZW5zb3JCb2FyZCwgdXNlIHRoZSBmbGFnOiAtLWRlYnVnZ2VyX3BvcnQgXHgzY3BvcnRfbnVtYmVyXHgzZSIpO3RoaXMuJC5kaWFsb2cub3BlbigpfSxfY29tcHV0ZUhpZGRlbihiKXtyZXR1cm4hYn0sX2NvbXB1dGVIYXNDdXN0b21NZXNzYWdlKGIpe3JldHVybiFfLmlzRW1wdHkoYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLXJlc2l6ZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItcmVzaXplciIscHJvcGVydGllczp7Y3VycmVudExlbmd0aDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxtaW5MZW5ndGg6TnVtYmVyLG1heExlbmd0aDpOdW1iZXIsaXNIb3Jpem9udGFsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfcmVzaXplcklkZW50aWZpZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF9pc1ZlcnRpY2FsOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNWZXJ0aWNhbChpc0hvcml6b250YWwpIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAscmVhZE9ubHk6ITB9LF9kcmFnU3RhcnRQb3NpdGlvbjpOdW1iZXIsX2RyYWdTdGFydExlbmd0aDpOdW1iZXIsX3ByZXZpb3VzTW91c2VNb3ZlQ2FsbGJhY2s6T2JqZWN0LF9wcmV2aW91c01vdXNlVXBDYWxsYmFjazpPYmplY3R9LGxpc3RlbmVyczp7bW91c2Vkb3duOiJfaGFuZGxlTW91c2VEb3duIn0sCl9oYW5kbGVNb3VzZURvd24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuX2VuZERyYWcoKTt0aGlzLl9wcmV2aW91c01vdXNlTW92ZUNhbGxiYWNrPWQ9PntkLnByZXZlbnREZWZhdWx0KCk7ZD10aGlzLl9kcmFnU3RhcnRMZW5ndGgrKHRoaXMuX2dldFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdwb3J0KGQpLXRoaXMuX2RyYWdTdGFydFBvc2l0aW9uKTtkPU1hdGgubWF4KGQsdGhpcy5taW5MZW5ndGgpO2Q9TWF0aC5taW4oZCx0aGlzLm1heExlbmd0aCk7dGhpcy5zZXQoImN1cnJlbnRMZW5ndGgiLGQpfTt0aGlzLl9wcmV2aW91c01vdXNlVXBDYWxsYmFjaz1kPT57ZC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuX2VuZERyYWcoKX07dGhpcy5zZXQoIl9kcmFnU3RhcnRQb3NpdGlvbiIsdGhpcy5fZ2V0UG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQoYikpO3RoaXMuc2V0KCJfZHJhZ1N0YXJ0TGVuZ3RoIix0aGlzLmN1cnJlbnRMZW5ndGgpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwKdGhpcy5fcHJldmlvdXNNb3VzZVVwQ2FsbGJhY2ssITEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX3ByZXZpb3VzTW91c2VNb3ZlQ2FsbGJhY2ssITEpfSxfZ2V0UG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQoYil7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsP2IuY2xpZW50WTpiLmNsaWVudFh9LF9lbmREcmFnKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fcHJldmlvdXNNb3VzZU1vdmVDYWxsYmFjaywhMSk7dGhpcy5fcHJldmlvdXNNb3VzZU1vdmVDYWxsYmFjaz1udWxsO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9wcmV2aW91c01vdXNlVXBDYWxsYmFjaywhMSk7dGhpcy5fcHJldmlvdXNNb3VzZVVwQ2FsbGJhY2s9bnVsbH0sX2NvbXB1dGVJc1ZlcnRpY2FsKGIpe3JldHVybiFifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC9zZWxlY3Rpb24tdHJlZS1ub2RlLmpzCihmdW5jdGlvbihiKXtiLk5PREVfTkFNRV9TRVBBUkFUT1I9Ii8iO2IuREVWSUNFX05BTUVfUEFUVEVSTj0vXlwvam9iOltBLVphLXowLTlfXStcL3JlcGxpY2E6WzAtOV9dK1wvdGFzazpbMC05XStcL2RldmljZTpbQS1aYS16MC05X10rOlswLTldKy87bGV0IGQ7KGZ1bmN0aW9uKGspe2tbay5FTVBUWT0wXT0iRU1QVFkiO2tbay5DSEVDS0VEPTFdPSJDSEVDS0VEIjtrW2suUEFSVElBTD0yXT0iUEFSVElBTCJ9KShkPWIuQ2hlY2tib3hTdGF0ZXx8KGIuQ2hlY2tib3hTdGF0ZT17fSkpO2Iuc3BsaXROb2RlTmFtZT1mdW5jdGlvbihrKXtsZXQgcj1bXTtjb25zdCBsPWsubWF0Y2goYi5ERVZJQ0VfTkFNRV9QQVRURVJOKTtudWxsIT1sJiYoci5wdXNoKGxbMF0pLCIvIiE9PWtbbFswXS5sZW5ndGhdJiZjb25zb2xlLmVycm9yKCdObyBzbGFzaCAoIi8iKSBhZnRlciBkZXZpY2UgbmFtZSBpbiBub2RlIG5hbWU6JyxrKSxrPWsuc2xpY2UobFswXS5sZW5ndGgrMSkpO3JldHVybiByLmNvbmNhdChrLnNwbGl0KGIuTk9ERV9OQU1FX1NFUEFSQVRPUikpfTsKYi5nZXRDbGVhbk5vZGVOYW1lPWZ1bmN0aW9uKGspe2xldCByPWs7Y29uc3QgbD1rLm1hdGNoKGIuREVWSUNFX05BTUVfUEFUVEVSTik7bnVsbCE9bD8oci5sZW5ndGg+bFswXS5sZW5ndGgmJiIvIiE9cltsWzBdLmxlbmd0aF0mJmNvbnNvbGUuZXJyb3IoJ05vIHNsYXNoICgiLyIpIGFmdGVyIGRldmljZSBuYW1lIGluIG5vZGUgbmFtZTonLGspLHI9ci5zbGljZShsWzBdLmxlbmd0aCsxKSk6Ii8iPT09clswXSYmKHI9ci5zbGljZSgxKSk7ci5pbmRleE9mKCIpIik9PT1yLmxlbmd0aC0xJiYocj1yLnNsaWNlKDAsci5pbmRleE9mKCIvKCIpKSk7cmV0dXJuIHJ9O2Iuc29ydEFuZEJhc2VFeHBhbmREZWJ1Z1dhdGNoZXM9ZnVuY3Rpb24oayl7ay5zb3J0KChsLHApPT5sLm5vZGVfbmFtZTxwLm5vZGVfbmFtZT8tMTpsLm5vZGVfbmFtZT5wLm5vZGVfbmFtZT8xOmwub3V0cHV0X3Nsb3QtcC5vdXRwdXRfc2xvdCk7Zm9yKGxldCBsPTA7bDxrLmxlbmd0aDsrK2wpe3ZhciByPWtbbF0ubm9kZV9uYW1lKwoiLyI7bGV0IHA9ITE7Zm9yKGxldCBtPWwrMTttPGsubGVuZ3RoOysrbSlpZigwPT09a1ttXS5ub2RlX25hbWUuaW5kZXhPZihyKSl7cD0hMDticmVha31wJiYocj1rW2xdLm5vZGVfbmFtZS5zcGxpdCgiLyIpLGtbbF0ubm9kZV9uYW1lKz0iLygiK3Jbci5sZW5ndGgtMV0rIikiKX19O2IucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uPWZ1bmN0aW9uKGspe3JldHVybiBrLmVuZHNXaXRoKCIpIik/ay5zbGljZSgwLGsubGFzdEluZGV4T2YoIi8oIikpOmt9O2IuYXNzZW1ibGVEZXZpY2VBbmROb2RlTmFtZXM9ZnVuY3Rpb24oayl7Y29uc3Qgcj1bbnVsbCxudWxsXTtpZihrWzBdLm1hdGNoKGIuREVWSUNFX05BTUVfUEFUVEVSTikpe2xldCBsPWtbMF07Ii8iPT09bFtsLmxlbmd0aC0xXSYmKGw9bC5zbGljZSgwLGwubGVuZ3RoLTEpKTtyWzBdPWw7clsxXT1rLnNsaWNlKDEpLmpvaW4oIi8iKX1lbHNlIHJbMV09ay5qb2luKCIvIik7cmV0dXJuIHJ9O2xldCBmOyhmdW5jdGlvbihrKXtrW2suTm9kZU5hbWU9CjBdPSJOb2RlTmFtZSI7a1trLk9wVHlwZT0xXT0iT3BUeXBlIn0pKGY9Yi5EZWJ1Z1dhdGNoRmlsdGVyTW9kZXx8KGIuRGVidWdXYXRjaEZpbHRlck1vZGU9e30pKTtiLmZpbHRlckRlYnVnV2F0Y2hlcz1mdW5jdGlvbihrLHIsbCl7aWYocj09PWYuTm9kZU5hbWUpcmV0dXJuIGsuZmlsdGVyKHA9PnAubm9kZV9uYW1lLm1hdGNoKGwpKTtpZihyPT09Zi5PcFR5cGUpcmV0dXJuIGsuZmlsdGVyKHA9PnAub3BfdHlwZS5tYXRjaChsKSl9O2NsYXNzIGh7Y29uc3RydWN0b3IoayxyLGwscCl7dGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlPXI7dGhpcy5kZWJ1Z1dhdGNoPXA7dGhpcy5uYW1lPWs7dGhpcy5kZWJ1Z1dhdGNoPXA7dGhpcy5jaGVja2JveFN0YXRlPWQuRU1QVFk7dGhpcy5wYXJlbnQ9bDt0aGlzLmNoaWxkcmVuPXt9O3RoaXMuY2hlY2tib3g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItY2hlY2tib3giKTt0aGlzLmNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKCk9Pgp7dGhpcy5faGFuZGxlQ2hhbmdlKCl9LCExKX1faGFuZGxlQ2hhbmdlKCl7aWYodGhpcy5hdm9pZFByb3BhZ2F0aW9uKXRoaXMuZGVidWdXYXRjaCYmdGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlKHRoaXMuZGVidWdXYXRjaCx0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCkpO2Vsc2UgaWYodGhpcy5kZWJ1Z1dhdGNoKXRoaXMuc2V0Q2hlY2tib3hTdGF0ZSh0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCk/ZC5DSEVDS0VEOmQuRU1QVFksITApLHRoaXMuaXNDaGVja2JveENoZWNrZWQoKT90aGlzLnNldE5vZGVzQWJvdmVUb0NoZWNrZWQoKTp0aGlzLnNldE5vZGVzQWJvdmVUb0VtcHR5KCksdGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlKHRoaXMuZGVidWdXYXRjaCx0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCkpO2Vsc2UgaWYodGhpcy5zZXRDaGVja2JveFN0YXRlKHRoaXMuaXNDaGVja2JveENoZWNrZWQoKT9kLkNIRUNLRUQ6ZC5FTVBUWSwhMCksdGhpcy5pc0NoZWNrYm94Q2hlY2tlZCgpKXtjb25zdCByPV8udmFsdWVzKHRoaXMuY2hpbGRyZW4pOwpmb3IoO3IubGVuZ3RoOyl7dmFyIGs9ci5wb3AoKTtfLmZvckVhY2goay5jaGlsZHJlbixsPT5yLnB1c2gobCkpO2suc2V0Q2hlY2tib3hTdGF0ZShkLkNIRUNLRUQsITApfXRoaXMuc2V0Tm9kZXNBYm92ZVRvQ2hlY2tlZCgpfWVsc2V7Y29uc3Qgcj1fLnZhbHVlcyh0aGlzLmNoaWxkcmVuKTtmb3IoO3IubGVuZ3RoOylrPXIucG9wKCksXy5mb3JFYWNoKGsuY2hpbGRyZW4sbD0+ci5wdXNoKGwpKSxrLnNldENoZWNrYm94U3RhdGUoZC5FTVBUWSwhMCk7dGhpcy5zZXROb2Rlc0Fib3ZlVG9FbXB0eSgpfX1pc0xlYWYoKXtyZXR1cm4hIXRoaXMuZGVidWdXYXRjaH1zZXRUb0FsbENoZWNrZWRFeHRlcm5hbGx5KCl7dGhpcy5zZXRDaGVja2JveFN0YXRlKGQuQ0hFQ0tFRCk7dGhpcy5faGFuZGxlQ2hhbmdlKCl9c2V0Q2hlY2tib3hTdGF0ZShrLHIpe3RoaXMuYXZvaWRQcm9wYWdhdGlvbj1yO3RoaXMuY2hlY2tib3hTdGF0ZT1rO3RoaXMuY2hlY2tib3guY2xhc3NMaXN0LnRvZ2dsZSgicGFydGlhbC1jaGVja2JveCIsCms9PT1kLlBBUlRJQUwpO2s9PT1kLkNIRUNLRUQ/dGhpcy5jaGVja2JveC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIik6dGhpcy5jaGVja2JveC5yZW1vdmVBdHRyaWJ1dGUoImNoZWNrZWQiKTt0aGlzLmF2b2lkUHJvcGFnYXRpb249ITF9aXNDaGVja2JveENoZWNrZWQoKXtyZXR1cm4gdGhpcy5jaGVja2JveC5oYXNBdHRyaWJ1dGUoImNoZWNrZWQiKX1zZXROb2Rlc0Fib3ZlVG9DaGVja2VkKCl7bGV0IGs9dGhpcy5wYXJlbnQscj0hMTtmb3IoO2s7KXI/ay5zZXRDaGVja2JveFN0YXRlKGQuUEFSVElBTCwhMCk6KHI9LTEhPT1fLmZpbmRJbmRleChfLnZhbHVlcyhrLmNoaWxkcmVuKSxsPT5sLmNoZWNrYm94U3RhdGUhPT1kLkNIRUNLRUQpLGsuc2V0Q2hlY2tib3hTdGF0ZShyP2QuUEFSVElBTDpkLkNIRUNLRUQsITApKSxrPWsucGFyZW50fXNldE5vZGVzQWJvdmVUb0VtcHR5KCl7bGV0IGs9dGhpcy5wYXJlbnQscj0hMTtmb3IoO2s7KXI/ay5zZXRDaGVja2JveFN0YXRlKGQuUEFSVElBTCwKITApOihyPS0xIT09Xy5maW5kSW5kZXgoXy52YWx1ZXMoay5jaGlsZHJlbiksbD0+bC5jaGVja2JveFN0YXRlIT09ZC5FTVBUWSksay5zZXRDaGVja2JveFN0YXRlKHI/ZC5QQVJUSUFMOmQuRU1QVFksITApKSxrPWsucGFyZW50fXNldExldmVsRG9tKGspe3RoaXMubGV2ZWxEb209a319Yi5TZWxlY3Rpb25UcmVlTm9kZT1ofSkoS2h8fChLaD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi1vcC1zZWxlY3Rvci5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1vcC1zZWxlY3RvciIscHJvcGVydGllczp7ZGVidWdXYXRjaGVzOkFycmF5LGRlYnVnV2F0Y2hDaGFuZ2U6T2JqZWN0LG5vZGVDbGlja2VkOkZ1bmN0aW9uLGZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZm9yY2VFeHBhbmROb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3NlbGVjdGVkRGVidWdXYXRjaE1hcHBpbmc6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfbGV2ZWxOYW1lMkNvbnRhaW5lcjp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2xldmVsTmFtZTJOb2RlOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfd2F0Y2hIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZVdhdGNoSGllcmFyY2h5KGRlYnVnV2F0Y2hlcywgZGVidWdXYXRjaENoYW5nZSwgX2ZpbHRlck1vZGUsIF9maWx0ZXJJbnB1dCkifSxfZmlsdGVyTW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6Ik5vZGUgTmFtZSIsCm5vdGlmeTohMH0sX2ZpbHRlcklucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIixub3RpZnk6ITB9LF9pc0xvYWRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2hpZ2hsaWdodGVkTGV2ZWxEb206e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfcmVuZGVySGllcmFyY2h5V2l0aFRpbWVvdXQoX3dhdGNoSGllcmFyY2h5LCBkZWJ1Z1dhdGNoQ2hhbmdlKSIsIl9oYW5kbGVGb3JjZU5vZGVFeHBhbmRBbmRDaGVjayhmb3JjZUV4cGFuZEFuZENoZWNrTm9kZU5hbWUpIiwiX2hhbmRsZUZvcmNlTm9kZUV4cGFuZChmb3JjZUV4cGFuZE5vZGVOYW1lKSJdLF9jb21wdXRlV2F0Y2hIaWVyYXJjaHkoYixkLGYsaCl7aD1oLnRyaW0oKTtsZXQgaz1iO251bGwhPWYmJjA8aC5sZW5ndGgmJihrPUtoLmZpbHRlckRlYnVnV2F0Y2hlcyhiLEtoLkRlYnVnV2F0Y2hGaWx0ZXJNb2RlW2YucmVwbGFjZSgvXHMvZywiIildLG5ldyBSZWdFeHAoaCkpKTtjb25zdCByPW5ldyBLaC5TZWxlY3Rpb25UcmVlTm9kZSgiIiwKZCk7ci5pc1Jvb3Q9ITA7Xy5mb3JFYWNoKGssbD0+e2NvbnN0IHA9S2guc3BsaXROb2RlTmFtZShsLmRldmljZV9uYW1lKyIvIitsLm5vZGVfbmFtZSk7bGV0IG09cjtfLmZvckVhY2gocCwobixxKT0+e3E9PT1wLmxlbmd0aC0xPyhxPW5ldyBLaC5TZWxlY3Rpb25UcmVlTm9kZShuLGQsbSxsKSxtLmNoaWxkcmVuW25dPXEpOihtLmNoaWxkcmVuW25dfHwobS5jaGlsZHJlbltuXT1uZXcgS2guU2VsZWN0aW9uVHJlZU5vZGUobixkLG0pKSxtPW0uY2hpbGRyZW5bbl0pfSl9KTtyZXR1cm4gcn0sX2NsZWFyU2VsZWN0b3JIaWVyYXJjaHkoKXtjb25zdCBiPXRoaXMuJCQoIiNzZWxlY3Rvci1oaWVyYXJjaHkiKTtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfSxfcmVuZGVySGllcmFyY2h5V2l0aFRpbWVvdXQoYixkLGYsaCl7dGhpcy5faXNMb2FkaW5nfHwodGhpcy5zZXQoIl9pc0xvYWRpbmciLCEwKSx0aGlzLl9jbGVhclNlbGVjdG9ySGllcmFyY2h5KCksCnNldFRpbWVvdXQoKCk9Pnt0aGlzLl9yZW5kZXJIaWVyYXJjaHkoYixkLGYsaCl9LDEwKSl9LF9yZW5kZXJIaWVyYXJjaHkoYixkKXt0aGlzLnNldCgiX2xldmVsTmFtZTJDb250YWluZXIiLHt9KTt0aGlzLnNldCgiX2xldmVsTmFtZTJOb2RlIix7fSk7Yj10aGlzLl9yZW5kZXJMZXZlbChudWxsLG51bGwsYixkKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2VsZWN0b3ItaGllcmFyY2h5IikpLmFwcGVuZENoaWxkKGIpO3RoaXMuc2V0KCJfaXNMb2FkaW5nIiwhMSl9LF9yZW5kZXJMZXZlbChiLGQsZixoKXtjb25zdCBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO251bGwhPWImJmsuc2V0QXR0cmlidXRlKCJsZXZlbC1uYW1lIixiKTtsZXQgcjtyPW51bGw9PWQ/YjpkKyIvIitiO1BvbHltZXIuZG9tKGspLmNsYXNzTGlzdC5hZGQoImxldmVsLWNvbnRhaW5lciIpO2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaXJvbi1jb2xsYXBzZSIpO2lmKGIpe3RoaXMuX2xldmVsTmFtZTJDb250YWluZXJbcl09Cmw7bC5yZW1vdmVBdHRyaWJ1dGUoIm9wZW5lZCIpO1BvbHltZXIuZG9tKGspLmNsYXNzTGlzdC5hZGQoImluZGVudGVkLWxldmVsLWNvbnRhaW5lciIpO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7UG9seW1lci5kb20oZCkuY2xhc3NMaXN0LmFkZCgibGV2ZWwtdGl0bGUiKTtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLWljb24tYnV0dG9uIik7UG9seW1lci5kb20obikuY2xhc3NMaXN0LmFkZCgibm9kZS1leHBhbmQtYnV0dG9uIik7Y29uc3QgcT0oKT0+e24uc2V0QXR0cmlidXRlKCJpY29uIixsLmhhc0F0dHJpYnV0ZSgib3BlbmVkIik/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUiKX07bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsLmhhc0F0dHJpYnV0ZSgib3BlbmVkIik/bC5yZW1vdmVBdHRyaWJ1dGUoIm9wZW5lZCIpOmwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKTtxKCl9LCExKTtxKCk7UG9seW1lci5kb20oZCkuYXBwZW5kQ2hpbGQobik7ClBvbHltZXIuZG9tKGQpLmFwcGVuZENoaWxkKGYuY2hlY2tib3gpO2Yuc2V0TGV2ZWxEb20oZCk7Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7UG9seW1lci5kb20odSkuY2xhc3NMaXN0LmFkZCgibGV2ZWwtdGl0bGUtdGV4dCIpO3UudGV4dENvbnRlbnQ9YjtQb2x5bWVyLmRvbShkKS5hcHBlbmRDaGlsZCh1KTtQb2x5bWVyLmRvbShrKS5hcHBlbmRDaGlsZChkKTsoYi5tYXRjaChLaC5ERVZJQ0VfTkFNRV9QQVRURVJOKXx8MT09PU9iamVjdC5rZXlzKGYuY2hpbGRyZW4pLmxlbmd0aCkmJmwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKX1lbHNlIGwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKTtjb25zdCBwPVtdLG09W107UG9seW1lci5kb20obCkuY2xhc3NMaXN0LmFkZCgiY29udGVudC1jb250YWluZXIiKTtfLmZvckVhY2goZi5jaGlsZHJlbiwobixxKT0+e2NvbnN0IHU9bi5kZWJ1Z1dhdGNoO3ZhciB3PXI7bnVsbD09ciYmKHc9IiIpO3crPSIvIitxOwp0aGlzLl9sZXZlbE5hbWUyTm9kZVt3XT1uO251bGwhPXRoaXMuX3NlbGVjdGVkRGVidWdXYXRjaE1hcHBpbmdbd10mJihuLnNldENoZWNrYm94U3RhdGUoS2guQ2hlY2tib3hTdGF0ZS5DSEVDS0VEKSxuLnNldE5vZGVzQWJvdmVUb0NoZWNrZWQoKSk7aWYodSl7dz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtQb2x5bWVyLmRvbSh3KS5jbGFzc0xpc3QuYWRkKCJvcC1kZXNjcmlwdGlvbiIpO24uY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix5PT57dGhpcy5faGFuZGxlTGVhZk5vZGVTZWxlY3RlZChoLHUseS50YXJnZXQuY2hlY2tlZCl9LCExKTtQb2x5bWVyLmRvbSh3KS5hcHBlbmRDaGlsZChuLmNoZWNrYm94KTtuLnNldExldmVsRG9tKHcpO3ZhciBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtBLnRleHRDb250ZW50PSJbIit1Lm9wX3R5cGUrIl0iO0Euc2V0QXR0cmlidXRlKCJjbGFzcyIsIm9wLXR5cGUiKTtQb2x5bWVyLmRvbSh3KS5hcHBlbmRDaGlsZChBKTsKQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7QS50ZXh0Q29udGVudD1xO0Euc2V0QXR0cmlidXRlKCJjbGFzcyIsIm9wLXRpdGxlLWxlYWYiKTtBLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2NvbnN0IHk9dGhpcy5fZ2V0RGV2aWNlQW5kTm9kZU5hbWVzKHEsayk7dGhpcy5ub2RlQ2xpY2tlZCh5WzBdLHlbMV0pfSwhMSk7UG9seW1lci5kb20odykuYXBwZW5kQ2hpbGQoQSk7bS5wdXNoKHcpfWVsc2Ugbi5jaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHk9Pnt0aGlzLl9oYW5kbGVNZXRhTm9kZUNoYW5nZShuLGgseS50YXJnZXQuY2hlY2tlZCl9KSxwLnB1c2godGhpcy5fcmVuZGVyTGV2ZWwocSxyLG4saCkpfSk7Yj1uPT57UG9seW1lci5kb20obCkuYXBwZW5kQ2hpbGQobil9O18uZm9yRWFjaChtLGIpO18uZm9yRWFjaChwLGIpO1BvbHltZXIuZG9tKGspLmFwcGVuZENoaWxkKGwpO3JldHVybiBrfSxfZ2V0TGVhZkRlYnVnV2F0Y2hlcyhiLGQpe2IuZGVidWdXYXRjaD8KZC5wdXNoKGIuZGVidWdXYXRjaCk6Xy5mb3JFYWNoKGIuY2hpbGRyZW4sZj0+e3RoaXMuX2dldExlYWZEZWJ1Z1dhdGNoZXMoZixkKX0pfSxfZ2V0RGV2aWNlQW5kTm9kZU5hbWVzKGIsZCl7Zm9yKGI9W2JdOzspe2NvbnN0IGY9ZC5nZXRBdHRyaWJ1dGUoImxldmVsLW5hbWUiKTtpZihudWxsPT1mKWJyZWFrO2Vsc2UgYi5wdXNoKGYpO2Q9UG9seW1lci5kb20oZCkucGFyZW50Tm9kZS5wYXJlbnROb2RlfWIucmV2ZXJzZSgpO3JldHVybiBLaC5hc3NlbWJsZURldmljZUFuZE5vZGVOYW1lcyhiKX0sX2hhbmRsZU1ldGFOb2RlQ2hhbmdlKGIsZCxmKXtsZXQgaD1bXTt0aGlzLl9nZXRMZWFmRGVidWdXYXRjaGVzKGIsaCk7Xy5mb3JFYWNoKGgsaz0+e3RoaXMuX2hhbmRsZUxlYWZOb2RlU2VsZWN0ZWQoZCxrLGYpfSl9LF9oYW5kbGVMZWFmTm9kZVNlbGVjdGVkKGIsZCxmKXtjb25zdCBoPWQuZGV2aWNlX25hbWUrIi8iK2Qubm9kZV9uYW1lO2Y/dGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toXT0KZDpkZWxldGUgdGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toXTtiKGQsZil9LF9oYW5kbGVGb3JjZU5vZGUoYixkKXt0aGlzLnNldCgiX2ZpbHRlcklucHV0IiwiIik7c2V0VGltZW91dCgoKT0+e2lmKG51bGwhPWImJm51bGwhPXRoaXMuX2xldmVsTmFtZTJDb250YWluZXIpe3ZhciBmPUtoLnNwbGl0Tm9kZU5hbWUoYik7Zm9yKGxldCBrPTE7azw9Zi5sZW5ndGg7KytrKXt2YXIgaD1mLnNsaWNlKDAsaykuam9pbigiLyIpO2NvbnN0IHI9dGhpcy5fbGV2ZWxOYW1lMk5vZGVbaF07bnVsbCE9ciYmbnVsbCE9ci5sZXZlbERvbSYmci5sZXZlbERvbS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciIsYmVoYXZpb3VyOiJzbW9vdGgifSk7azxmLmxlbmd0aD9udWxsIT10aGlzLl9sZXZlbE5hbWUyQ29udGFpbmVyW2hdJiZ0aGlzLl9sZXZlbE5hbWUyQ29udGFpbmVyW2hdLnNldEF0dHJpYnV0ZSgib3BlbmVkIiwhMCk6KHIuZGVidWdXYXRjaHx8dGhpcy5faGFuZGxlTWV0YU5vZGVDaGFuZ2UociwKci5kZWJ1Z1dhdGNoQ2hhbmdlLCEwKSxkJiYoci5zZXRUb0FsbENoZWNrZWRFeHRlcm5hbGx5KCksKGg9ci5kZWJ1Z1dhdGNoKSYmbnVsbD09dGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toLm5vZGVfbmFtZV0mJih0aGlzLl9zZWxlY3RlZERlYnVnV2F0Y2hNYXBwaW5nW2JdPWgpKSxudWxsIT10aGlzLl9oaWdobGlnaHRlZExldmVsRG9tJiZ0aGlzLl9oaWdobGlnaHRlZExldmVsRG9tLmNsYXNzTGlzdC5yZW1vdmUoImhpZ2hsaWdodGVkIiksci5sZXZlbERvbS5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZCIpLHRoaXMuc2V0KCJfaGlnaGxpZ2h0ZWRMZXZlbERvbSIsci5sZXZlbERvbSkpfX19LDIwKX0sX2hhbmRsZUZvcmNlTm9kZUV4cGFuZEFuZENoZWNrKGIpe3RoaXMuX2hhbmRsZUZvcmNlTm9kZShiLCEwKX0sX2hhbmRsZUZvcmNlTm9kZUV4cGFuZChiKXt0aGlzLl9oYW5kbGVGb3JjZU5vZGUoYiwhMSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLXNlc3Npb24tcnVucy12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLXNlc3Npb24tcnVucy12aWV3Iixwcm9wZXJ0aWVzOntsYXRlc3RTZXNzaW9uUnVuOk9iamVjdCxzZXNzaW9uUnVuS2V5VG9EZXZpY2VOYW1lczpPYmplY3Qsc29sZUFjdGl2ZTpCb29sZWFuLG5vZGVPclRlbnNvckNsaWNrZWQ6RnVuY3Rpb24sX3J1bktleTJDb3VudDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9ydW5LZXkyTnVtRGV2aWNlczp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9hY3RpdmVSdW5LZXk6U3RyaW5nfSxvYnNlcnZlcnM6WyJyZW5kZXJMYXRlc3QobGF0ZXN0U2Vzc2lvblJ1bikiLCJzZXRTb2xlQWN0aXZlU3RhdHVzKHNvbGVBY3RpdmUpIl0scmVuZGVyTGF0ZXN0KGIpe2I9SlNPTi5zdHJpbmdpZnkoYik7dGhpcy5fcnVuS2V5MkNvdW50W2JdPXZvaWQgMD09PXRoaXMuX3J1bktleTJDb3VudFtiXT8xOnRoaXMuX3J1bktleTJDb3VudFtiXSsxO3ZvaWQgMD09PXRoaXMuX3J1bktleTJOdW1EZXZpY2VzW2JdJiYodGhpcy5fcnVuS2V5Mk51bURldmljZXNbYl09CjApO3RoaXMuX2FjdGl2ZVJ1bktleT1iO3RoaXMuX3JlbmRlclNlc3Npb25SdW5UYWJsZSgpfSx1cGRhdGVOdW1EZXZpY2VzKGIpe251bGwhPXRoaXMuX2FjdGl2ZVJ1bktleSYmKHRoaXMuX3J1bktleTJOdW1EZXZpY2VzW3RoaXMuX2FjdGl2ZVJ1bktleV09Yix0aGlzLl9yZW5kZXJTZXNzaW9uUnVuVGFibGUoKSl9LHNldFNvbGVBY3RpdmVTdGF0dXMoKXt0aGlzLl9yZW5kZXJTZXNzaW9uUnVuVGFibGUoKX0sX3JlbmRlclNlc3Npb25SdW5UYWJsZSgpe3RoaXMuX2NsZWFyVGFibGUoKTt0aGlzLl9yZW5kZXJIZWFkZXIoKTtsZXQgYjtmb3IoY29uc3QgZiBpbiB0aGlzLl9ydW5LZXkyQ291bnQpaWYodGhpcy5fcnVuS2V5MkNvdW50Lmhhc093blByb3BlcnR5KGYpKXt2YXIgZD1KU09OLnBhcnNlKGYpOyhkPXRoaXMuX3JlbmRlclJvdyhkLHRoaXMuX3J1bktleTJOdW1EZXZpY2VzW2ZdLHRoaXMuX3J1bktleTJDb3VudFtmXSx0aGlzLl9hY3RpdmVSdW5LZXk9PT1mLHRoaXMuc29sZUFjdGl2ZSkpJiYKKGI9ZCl9YiYmKFBvbHltZXIuZG9tKHRoaXMuJCQoIiNzZXNzaW9uLXJ1bnMtdGFibGUiKSkucGFyZW50Tm9kZS5wYXJlbnROb2RlLnNjcm9sbFRvcD1iLm9mZnNldFRvcCl9LF9jbGVhclRhYmxlKCl7Y29uc3QgYj10aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIik7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKX0sX3JlbmRlckhlYWRlcigpe2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKSxkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7ZC50ZXh0Q29udGVudD0iRmVlZHMiO2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGgiKTtmLnRleHRDb250ZW50PSJGZXRjaGVzIjtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7aC50ZXh0Q29udGVudD0iVGFyZ2V0cyI7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aCIpO2sudGV4dENvbnRlbnQ9IiMoRGV2aWNlcykiO2NvbnN0IHI9CmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7ci50ZXh0Q29udGVudD0iQ291bnQiO2IuYXBwZW5kQ2hpbGQoZCk7Yi5hcHBlbmRDaGlsZChmKTtiLmFwcGVuZENoaWxkKGgpO2IuYXBwZW5kQ2hpbGQoayk7Yi5hcHBlbmRDaGlsZChyKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIikpLmFwcGVuZENoaWxkKGIpfSxfcmVuZGVyUm93KGIsZCxmLGgsayl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLGw9dGhpcy5fcmVuZGVyR3JhcGhFbGVtZW50cyhiLmZlZWRzKSxwPXRoaXMuX3JlbmRlckdyYXBoRWxlbWVudHMoYi5mZXRjaGVzKTtiPXRoaXMuX3JlbmRlckdyYXBoRWxlbWVudHMoYi50YXJnZXRzKTtjb25zdCBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7bS50ZXh0Q29udGVudD1kO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtkLnRleHRDb250ZW50PWY7ci5hcHBlbmRDaGlsZChsKTtyLmFwcGVuZENoaWxkKHApOwpyLmFwcGVuZENoaWxkKGIpO3IuYXBwZW5kQ2hpbGQobSk7ci5hcHBlbmRDaGlsZChkKTtoJiYoaz9yLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJzb2xlLWFjdGl2ZS1zZXNzaW9uLXJ1biIpOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsImFjdGl2ZS1zZXNzaW9uLXJ1biIpKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIikpLmFwcGVuZENoaWxkKHIpO2lmKGgpcmV0dXJuIHJ9LF9yZW5kZXJHcmFwaEVsZW1lbnRzKGIpe2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtfLmZvckVhY2goYixmPT57Y29uc3QgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLnRleHRDb250ZW50PWY7aC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwibm9kZS1vci10ZW5zb3ItZWxlbWVudCIpO2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5ub2RlT3JUZW5zb3JDbGlja2VkKGYpfSk7ZC5hcHBlbmRDaGlsZChoKX0pO3JldHVybiBkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi1zb3VyY2UtY29kZS12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLXNvdXJjZS1jb2RlLXZpZXciLHByb3BlcnRpZXM6e3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxmb2N1c05vZGVOYW1lOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfb2xkRm9jdXNOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZGVidWdXYXRjaGVzOnt0eXBlOkFycmF5LHZhbHVlOltdfSxub2RlQ2xpY2tlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSxjb250aW51ZVRvTm9kZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSxfaGlnaGxpZ2h0ZWRFbGVtZW50czp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX2ZpbGVQYXRoU2VsZWN0ZWQ6TnVtYmVyLF9mdWxsRmlsZVBhdGhzOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9zaG9ydEZpbGVQYXRoczp7dHlwZTpBcnJheSx2YWx1ZTpudWxsfSxfZmlsZUxpbmVzOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9ub2RlTmFtZTJEZXZpY2VOYW1lOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSwKX25vZGVOYW1lMkJhc2VFeHBhbmRlZE5vZGVOYW1lOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbm9kZU5hbWUyTm9kZUVsZW1lbnRzOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbm9kZU5hbWUyU3RhY2tUb3BOb2RlRWxlbWVudDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX3NldEhpZ2h0bGlnaHRPcmlnaW5Ob2RlRWxlbWVudDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2Z1bGxTdGFja1Nob3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9mdWxsU3RhY2tOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3JlbmRlckRlbGF5TWlsbGlzOnt0eXBlOk51bWJlcix2YWx1ZTo1MCxyZWFkb25seTohMH19LG9ic2VydmVyczpbIl9yZW5kZXJGaWxlKF9maWxlUGF0aFNlbGVjdGVkKSIsIl9mb2N1c09uTm9kZShmb2N1c05vZGVOYW1lKSJdLHJlbmRlcihiKXtudWxsIT1iJiZ0aGlzLnNldCgiX2RlYnVnV2F0Y2hlcyIsYik7dGhpcy5fcXVlcnlTb3VyY2VDb2RlRW5kUG9pbnQoe21vZGU6InBhdGhzIn0pLnRoZW4oZD0+Cnt0aGlzLnNldCgiX2Z1bGxGaWxlUGF0aHMiLGQucGF0aHMpO2NvbnN0IGY9ZC5wYXRocy5tYXAoaD0+KHtpZDpoLG5hbWU6dGhpcy5fc2hvcnRlblBhdGgoaCxkLnBhdGhzKX0pKTt0aGlzLnNldCgiX3Nob3J0RmlsZVBhdGhzIixmKTswPGYubGVuZ3RoJiZ0aGlzLnNldCgiX2ZpbGVQYXRoU2VsZWN0ZWQiLDApfSl9LF9zaG9ydGVuUGF0aChiKXtiPWIucmVwbGFjZSgvXFwvZywiLyIpO2I9Yi5zcGxpdCgiLyIpO3JldHVybiBiW2IubGVuZ3RoLTFdfSxfcmVuZGVyRmlsZShiKXtpZihudWxsIT1iKXt2YXIgZD10aGlzLl9zaG9ydEZpbGVQYXRoc1tiXS5pZDt0aGlzLl9xdWVyeVNvdXJjZUNvZGVFbmRQb2ludCh7bW9kZToiY29udGVudCIsZmlsZV9wYXRoOmR9KS50aGVuKGY9Pntjb25zdCBoPVtdLGs9Zi5jb250ZW50W2RdLHI9Zi5saW5lbm9fdG9fb3BfbmFtZV9hbmRfc3RhY2tfcG9zO2Y9e307Zm9yKHZhciBsIGluIHIpci5oYXNPd25Qcm9wZXJ0eShsKSYmKGZbbF09cltsXS5sZW5ndGgpOwp0aGlzLl9maWx0ZXJGaWxlVHJhY2ViYWNrc0J5RGVidWdXYXRjaGVzKHIpO2ZvcihsPTA7bDxrLmxlbmd0aDsrK2wpe2NvbnN0IG09bCsxO2gucHVzaCh7bGluZW5vOm0sbnVtTm9kZXM6bnVsbCE9clttXT9TdHJpbmcoclttXS5sZW5ndGgpKyIvIitTdHJpbmcoZlttXSkrIiBcdTI1YmMiOiIiLHRleHQ6dGhpcy5faHRtbEVzY2FwZShrW2xdKX0pfXRoaXMuc2V0KCJfZmlsZUxpbmVzIixoKTtjb25zdCBwPXRoaXM7c2V0VGltZW91dCgoKT0+e2NvbnN0IG09e30sbj17fTtmb3IoY29uc3QgdSBpbiByKXtpZighci5oYXNPd25Qcm9wZXJ0eSh1KSljb250aW51ZTtmb3IodmFyIHE9cC4kJCgiI3NvdXJjZS1saW5lLW5vZGVzLSIrdSk7cS5maXJzdENoaWxkOylxLnJlbW92ZUNoaWxkKHEuZmlyc3RDaGlsZCk7Y29uc3Qgdz1yW3VdO3cuc29ydChmdW5jdGlvbihBLHkpe3JldHVybiBBWzBdPHlbMF0/LTE6QVswXT55WzBdPzE6MH0pO2ZvcihsZXQgQT0wO0E8dy5sZW5ndGg7KytBKXtjb25zdCB5PQp3W0FdWzBdLHg9d1tBXVsxXSxDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0cuc2V0QXR0cmlidXRlKCJjbGFzcyIsInNvdXJjZS1saW5lLW5vZGUtZW50dHJ5Iik7Ry5zZXRBdHRyaWJ1dGUoInNvdXJjZUxpbmVubyIsdSk7Ry50ZXh0Q29udGVudD15O0cuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e3RoaXMubm9kZUNsaWNrZWQodGhpcy5fbm9kZU5hbWUyRGV2aWNlTmFtZVt5XSx0aGlzLl9ub2RlTmFtZTJCYXNlRXhwYW5kZWROb2RlTmFtZVt5XSwhMCl9KTtjb25zdCBEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLWljb24tYnV0dG9uIik7RC5zZXRBdHRyaWJ1dGUoImljb24iLCJmaWx0ZXItbGlzdCIpO0Quc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNob3cgc3RhY2siKTtELmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsKCk9Pnt0aGlzLl9oaWdobGlnaHROb2RlRWxlbWVudHMoeSk7dGhpcy5zZXQoIl9mdWxsU3RhY2tOb2RlTmFtZSIsCnkpO3RoaXMuc2V0KCJfZnVsbFN0YWNrU2hvd24iLCEwKTt0aGlzLl9wb3B1bGF0ZUZ1bGxTdGFjayh5LHRoaXMuX2Z1bGxGaWxlUGF0aHNbdGhpcy5fZmlsZVBhdGhTZWxlY3RlZF0sTnVtYmVyKHUpKX0pO2NvbnN0IEI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItaWNvbi1idXR0b24iKTtCLnNldEF0dHJpYnV0ZSgiaWNvbiIsImZvcndhcmQiKTtCLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJDb250aW51ZSB0byIpO0IuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e3RoaXMubm9kZUNsaWNrZWQodGhpcy5fbm9kZU5hbWUyRGV2aWNlTmFtZVt5XSx0aGlzLl9ub2RlTmFtZTJCYXNlRXhwYW5kZWROb2RlTmFtZVt5XSwhMCk7Y29uc3QgSD10aGlzLl9ub2RlTmFtZTJEZXZpY2VOYW1lW3ldLEs9dGhpcy5fbm9kZU5hbWUyQmFzZUV4cGFuZGVkTm9kZU5hbWVbeV07dGhpcy5zZXQoIl9zZXRIaWdodGxpZ2h0T3JpZ2luTm9kZUVsZW1lbnQiLEcpO3RoaXMuY29udGludWVUb05vZGUoSCwKSyl9KTtDLmFwcGVuZENoaWxkKEQpO0MuYXBwZW5kQ2hpbGQoQik7Qy5hcHBlbmRDaGlsZChHKTtxLmFwcGVuZENoaWxkKEMpO20uaGFzT3duUHJvcGVydHkoeSl8fChtW3ldPVtdKTttW3ldLnB1c2goRyk7bi5oYXNPd25Qcm9wZXJ0eSh5KXx8KG5beV09W0cseF0pO3g+blt5XVsxXSYmKG5beV09W0cseF0pfXEuc2V0QXR0cmlidXRlKCJoaWRkZW4iLCEwKTtxPXAuJCQoIiNzb3VyY2UtbGluZS1ub2RlLXRvZ2dsZS0iK3UpO251bGw9PXEuZ2V0QXR0cmlidXRlKCJ0YXBDYWxsYmFja1NldCIpJiYocS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLCgpPT57cC5fdG9nZ2xlTGluZU5vZGVzKE51bWJlcih1KSl9KSxxLnNldEF0dHJpYnV0ZSgidGFwQ2FsbGJhY2tTZXQiLCEwKSl9cC5zZXQoIl9ub2RlTmFtZTJOb2RlRWxlbWVudHMiLG0pO2Zvcihjb25zdCB1IGluIG4pbi5oYXNPd25Qcm9wZXJ0eSh1KSYmKG5bdV09blt1XVswXSk7cC5zZXQoIl9ub2RlTmFtZTJTdGFja1RvcE5vZGVFbGVtZW50IiwKbil9LHRoaXMuX3JlbmRlckRlbGF5TWlsbGlzKX0pfX0sX3RvZ2dsZUxpbmVOb2RlcyhiLGQ9ITEpe2I9dGhpcy4kJCgiI3NvdXJjZS1saW5lLW5vZGVzLSIrYik7bnVsbD09Yi5nZXRBdHRyaWJ1dGUoImhpZGRlbiIpJiYhMCE9PWQ/Yi5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsITApOmIucmVtb3ZlQXR0cmlidXRlKCJoaWRkZW4iKX0sX2ZpbHRlckZpbGVUcmFjZWJhY2tzQnlEZWJ1Z1dhdGNoZXMoYil7Y29uc3QgZD10aGlzLmRlYnVnV2F0Y2hlcy5tYXAoaz0+S2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGsubm9kZV9uYW1lKSksZj17fSxoPXt9O2Zvcihjb25zdCBrIG9mIHRoaXMuZGVidWdXYXRjaGVzKXtjb25zdCByPUtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihrLm5vZGVfbmFtZSk7ZltyXT1rLmRldmljZV9uYW1lO2hbcl09ay5ub2RlX25hbWV9dGhpcy5zZXQoIl9ub2RlTmFtZTJEZXZpY2VOYW1lIixmKTt0aGlzLnNldCgiX25vZGVOYW1lMkJhc2VFeHBhbmRlZE5vZGVOYW1lIiwKaCk7Zm9yKGNvbnN0IGsgaW4gYiliLmhhc093blByb3BlcnR5KGspJiYoYltrXT1iW2tdLmZpbHRlcihyPT5fLmluY2x1ZGVzKGQsclswXSkpKX0sX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KGIpe2NvbnN0IGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL3NvdXJjZV9jb2RlIik7Yj1kYy5hZGRQYXJhbXMoZCxiKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpfSxfaHRtbEVzY2FwZShiKXtyZXR1cm4gYi5yZXBsYWNlKC8gL2csIlx1MDBhMCIpfSxfZm9jdXNPbk5vZGUoYil7aWYobnVsbCE9Yil7dmFyIGQ9dGhpcy5fc2hvcnRGaWxlUGF0aHNbdGhpcy5fZmlsZVBhdGhTZWxlY3RlZF0uaWQsZj10aGlzO3RoaXMuX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KHttb2RlOiJvcF90cmFjZWJhY2siLG9wX25hbWU6Yn0pLnRoZW4oaD0+e2NvbnN0IGs9aC5vcF90cmFjZWJhY2tbYl07aD1bXTtmb3IobGV0IGw9MDtsPGsubGVuZ3RoOysrbCl7Y29uc3QgcD0Ka1tsXVsxXTtrW2xdWzBdPT09ZCYmaC5wdXNoKHApfWZvcih2YXIgciBvZiBmLl9oaWdobGlnaHRlZEVsZW1lbnRzKXIuY2xhc3NMaXN0LnJlbW92ZSgiaGlnaGxpZ2h0ZWQtc291cmNlLWxpbmUiKTtyPVtdO2Zvcihjb25zdCBsIG9mIGgpaD10aGlzLiQkKCIjc291cmNlLWxpbmUtIitsKSxyLnB1c2goaCksaC5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZC1zb3VyY2UtbGluZSIpLGYuX3RvZ2dsZUxpbmVOb2RlcyhsLCEwKTtmLnNldCgiX2hpZ2hsaWdodGVkRWxlbWVudHMiLHIpO3RoaXMuX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKX0pfX0sX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKXtpZihudWxsIT10aGlzLl9vbGRGb2N1c05vZGVOYW1lKWZvcihjb25zdCBkIG9mIHRoaXMuX25vZGVOYW1lMk5vZGVFbGVtZW50c1t0aGlzLl9vbGRGb2N1c05vZGVOYW1lXSlkLnN0eWxlWyJmb250LXdlaWdodCJdPSJub3JtYWwiO2Zvcihjb25zdCBkIG9mIHRoaXMuX25vZGVOYW1lMk5vZGVFbGVtZW50c1tiXSlkLnN0eWxlWyJmb250LXdlaWdodCJdPQoiYm9sZCI7bnVsbD09dGhpcy5fc2V0SGlnaHRsaWdodE9yaWdpbk5vZGVFbGVtZW50P3RoaXMuX25vZGVOYW1lMlN0YWNrVG9wTm9kZUVsZW1lbnRbYl0uc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJjZW50ZXIiLGJlaGF2aW91cjoic21vb3RoIn0pOnRoaXMuc2V0KCJfc2V0SGlnaHRsaWdodE9yaWdpbk5vZGVFbGVtZW50IixudWxsKTt0aGlzLnNldCgiX29sZEZvY3VzTm9kZU5hbWUiLGIpfSxfcG9wdWxhdGVGdWxsU3RhY2soYixkLGYpe3RoaXMuX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KHttb2RlOiJvcF90cmFjZWJhY2siLG9wX25hbWU6Yn0pLnRoZW4oaD0+e2NvbnN0IGs9dGhpcy4kJCgiI2Z1bGwtc3RhY2stY29udGVudCIpO2Zvcig7ay5maXJzdENoaWxkOylrLnJlbW92ZUNoaWxkKGsuZmlyc3RDaGlsZCk7Zm9yKGNvbnN0IHIgb2YgaC5vcF90cmFjZWJhY2tbYl0pe2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKSxwPXJbMF0sbT1OdW1iZXIoclsxXSk7bC50ZXh0Q29udGVudD0KcCsiOiAiK1N0cmluZyhtKTtfLmluY2x1ZGVzKHRoaXMuX2Z1bGxGaWxlUGF0aHMscCk/KGwuY2xhc3NMaXN0LmFkZCgic3RhY2stZnJhbWUtY2xpY2thYmxlIiksbC5zdHlsZS5jb2xvcj0iYmx1ZSIsbC5zdHlsZVsidGV4dC1kZWNvcmF0aW9uIl09InVuZGVybGluZSIsbC5zdHlsZS5jdXJzb3I9InBvaW50ZXIiLHA9PT1kJiZtPT09ZiYmKGwuc3R5bGVbImZvbnQtd2VpZ2h0Il09ImJvbGQiKSxsLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsKCk9Pnt0aGlzLnNldCgiX2ZpbGVQYXRoU2VsZWN0ZWQiLHRoaXMuX2Z1bGxGaWxlUGF0aHMuaW5kZXhPZihwKSk7c2V0VGltZW91dCgoKT0+e3RoaXMuX3RvZ2dsZUxpbmVOb2RlcyhtLCEwKTtmb3IoY29uc3QgbiBvZiB0aGlzLl9ub2RlTmFtZTJOb2RlRWxlbWVudHNbYl0pTnVtYmVyKG4uZ2V0QXR0cmlidXRlKCJzb3VyY2VMaW5lbm8iKSk9PT1OdW1iZXIobSkmJihuLnNjcm9sbEludG9WaWV3KHtibG9jazoiY2VudGVyIixiZWhhdmlvdXI6InNtb290aCJ9KSwKdGhpcy5zZXQoIl9zZXRIaWdodGxpZ2h0T3JpZ2luTm9kZUVsZW1lbnQiLGwpLHRoaXMuX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKSxkPT09cCYmZj09PW18fHRoaXMuX3BvcHVsYXRlRnVsbFN0YWNrKGIscCxtKSl9LDIqdGhpcy5fcmVuZGVyRGVsYXlNaWxsaXMpfSkpOihsLmNsYXNzTGlzdC5hZGQoInN0YWNrLWZyYW1lLW5vbmNsaWNrYWJsZSIpLGwuc3R5bGUuY29sb3I9IiM1NTUiKTtrLmFwcGVuZENoaWxkKGwpfX0pfSxfY2xvc2VGdWxsU3RhY2tEaWFsb2coKXt0aGlzLnNldCgiX2Z1bGxTdGFja1Nob3duIiwhMSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLXRlbnNvci1kYXRhLXN1bW1hcnkuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGVuc29yLWRhdGEtc3VtbWFyeSIscHJvcGVydGllczp7bGF0ZXN0VGVuc29yRGF0YTpPYmplY3QsZXhwYW5kSGFuZGxlcjpPYmplY3QsY29udGludWVUb0NhbGxiYWNrOkZ1bmN0aW9uLGhpZ2hsaWdodGVkTm9kZU5hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LHRlbnNvck5hbWVDbGlja2VkOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOm51bGx9LGdldEhlYWx0aFBpbGw6RnVuY3Rpb24sX2hlYWx0aFBpbGxzRW5hYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLG5vdGlmeTohMH0sX3dhdGNoS2V5czp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX3dhdGNoS2V5MkRhdGE6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfd2F0Y2hLZXkyQ291bnQ6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfd2F0Y2hLZXkyRXhwYW5kSGFuZGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6e319LF93YXRjaEtleTJWYWx1ZVNob3J0Ont0eXBlOk9iamVjdCx2YWx1ZTp7fX0sX3dhdGNoS2V5MlJvdzp7dHlwZTpPYmplY3QsCnZhbHVlOnt9fSxfYWN0aXZlV2F0Y2hLZXk6U3RyaW5nLF9oZWFsdGhQaWxsV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOjIwMCxyZWFkb25seTohMH0sX2hlYWx0aFBpbGxIZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOjMyLHJlYWRvbmx5OiEwfX0sb2JzZXJ2ZXJzOlsiX3JlbmRlckxhdGVzdChsYXRlc3RUZW5zb3JEYXRhLCBleHBhbmRIYW5kbGVyKSIsIl9oaWdobGlnaHQoaGlnaGxpZ2h0ZWROb2RlTmFtZSkiXSxsaXN0ZW5lcnM6eyJzaG93LWhlYWx0aC1waWxscy5jaGFuZ2UiOiJfc2hvd0hlYWx0aFBpbGxzQ2hhbmdlZCJ9LHJlYWR5KCl7dGhpcy5fcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpfSxlbmFibGVIZWFsdGhQaWxscygpe3RoaXMuc2V0KCJfaGVhbHRoUGlsbHNFbmFibGVkIiwhMCk7dGhpcy5fcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpfSxfc2hvd0hlYWx0aFBpbGxzQ2hhbmdlZCgpe3RoaXMuX2hlYWx0aFBpbGxzRW5hYmxlZD90aGlzLl9yZW5kZXJIZWFsdGhQaWxsTGVnZW5kKCk6CnRoaXMuX2NsZWFySGVhbHRoUGlsbExlZ2VuZCgpO3RoaXMuX3JlbmRlckFsbCgpfSxfcmVuZGVyQWxsKCl7dGhpcy5fY2xlYXJUZW5zb3JEYXRhVGFibGUoKTtmb3IoY29uc3QgYiBvZiB0aGlzLl93YXRjaEtleXMpdGhpcy5fcmVuZGVyTGF0ZXN0KHRoaXMuX3dhdGNoS2V5MkRhdGFbYl0sdGhpcy5fd2F0Y2hLZXkyRXhwYW5kSGFuZGxlcltiXSl9LF90ZW5zb3JEYXRhMldhdGNoS2V5KGIpe3JldHVybiBiLmRldmljZU5hbWUrIi8iK2IudGVuc29yTmFtZSsiOiIrYi5kZWJ1Z09wfSxfcmVuZGVyTGF0ZXN0KGIsZCl7aWYoYil7dmFyIGY9dGhpcy5fdGVuc29yRGF0YTJXYXRjaEtleShiKSxoPW51bGw7IlVuaW5pdGlhbGl6ZWQiIT09Yi5kdHlwZSYmIlVuc3VwcG9ydGVkIiE9PWIuZHR5cGUmJihoPSgpPT5kKGIpKTt2YXIgaz1udWxsIT1iLnZhbHVlP0pTT04uc3RyaW5naWZ5KGIudmFsdWUsKHIsbCk9PmwudG9GaXhlZD9OdW1iZXIobC50b0ZpeGVkKDMpKTpsKToiKENsaWNrIHRvIHZpZXcpIjsKdGhpcy5fd2F0Y2hLZXkyRGF0YVtmXT1iOy0xPT09dGhpcy5fd2F0Y2hLZXlzLmluZGV4T2YoZik/KHRoaXMuX3dhdGNoS2V5cy5wdXNoKGYpLHRoaXMuX3dhdGNoS2V5MkNvdW50W2ZdPTEpOnRoaXMuX3dhdGNoS2V5MkNvdW50W2ZdKz0xO3RoaXMuX3dhdGNoS2V5MkV4cGFuZEhhbmRsZXJbZl09aDt0aGlzLl93YXRjaEtleTJWYWx1ZVNob3J0W2ZdPWs7dGhpcy5fYWN0aXZlV2F0Y2hLZXk9Zjt0aGlzLl9yZW1vdmVBY3RpdmVTdGF0dXNGcm9tQWxsUm93cygpO3RoaXMuX3JlbmRlclJvdyhmKX19LF9jbGVhclRlbnNvckRhdGFUYWJsZSgpe2Zvcihjb25zdCBiIGluIHRoaXMuX3dhdGNoS2V5MlJvdyl0aGlzLl93YXRjaEtleTJSb3cuaGFzT3duUHJvcGVydHkoYikmJih0aGlzLl93YXRjaEtleTJSb3dbYl0ucmVtb3ZlKCksZGVsZXRlIHRoaXMuX3dhdGNoS2V5MlJvd1tiXSl9LF9jbGVhclRlbnNvckRhdGFSb3coYil7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKX0sCl9jbGVhckhlYWx0aFBpbGxMZWdlbmQoKXtjb25zdCBiPXRoaXMuJCQoIiNoZWFsdGgtcGlsbC1sZWdlbmQiKTtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfSxfcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpe3RoaXMuX2NsZWFySGVhbHRoUGlsbExlZ2VuZCgpO2NvbnN0IGI9dGhpcy4kJCgiI2hlYWx0aC1waWxsLWxlZ2VuZCIpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QudGV4dENvbnRlbnQ9IkxlZ2VuZDoiO2IuYXBwZW5kQ2hpbGQoZCk7ZC5zdHlsZVsibWFyZ2luLXJpZ2h0Il09IjAuNWVtIjtkLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7Zm9yKGQ9MDtkPHRmLmdyYXBoLnNjZW5lLmhlYWx0aFBpbGxFbnRyaWVzLmxlbmd0aDsrK2Qpe2NvbnN0IGY9dGYuZ3JhcGguc2NlbmUuaGVhbHRoUGlsbEVudHJpZXNbZF0saD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7Cmguc3R5bGVbIm1hcmdpbi1yaWdodCJdPSIwLjI1ZW0iO2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2sudGV4dENvbnRlbnQ9Ilx1MjVhMCI7ay5zdHlsZS5jb2xvcj1mLmJhY2tncm91bmRfY29sb3I7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ci50ZXh0Q29udGVudD1mLmxhYmVsO3Iuc3R5bGUuY29sb3I9Zi5iYWNrZ3JvdW5kX2NvbG9yO2guYXBwZW5kQ2hpbGQoayk7aC5hcHBlbmRDaGlsZChyKTtiLmFwcGVuZENoaWxkKGgpfX0sX3JlbW92ZUFjdGl2ZVN0YXR1c0Zyb21BbGxSb3dzKCl7Zm9yKGNvbnN0IGIgaW4gdGhpcy5fd2F0Y2hLZXkyUm93KXtpZighdGhpcy5fd2F0Y2hLZXkyUm93Lmhhc093blByb3BlcnR5KGIpKWNvbnRpbnVlO2NvbnN0IGQ9dGhpcy5fd2F0Y2hLZXkyUm93W2JdO1BvbHltZXIuZG9tKGQpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZS10ZW5zb3IiKTtQb2x5bWVyLmRvbShkKS5jbGFzc0xpc3QucmVtb3ZlKCJoaWdobGlnaHRlZCIpfX0sCl9yZW5kZXJSb3coYil7bGV0IGQsZj0hMTtudWxsIT10aGlzLl93YXRjaEtleTJSb3dbYl0/KGQ9dGhpcy5fd2F0Y2hLZXkyUm93W2JdLHRoaXMuX2NsZWFyVGVuc29yRGF0YVJvdyhkKSxmPSExKTooZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLGY9ITApO2NvbnN0IGg9dGhpcy5fd2F0Y2hLZXkyRGF0YVtiXS5kZXZpY2VOYW1lLGs9dGhpcy5fd2F0Y2hLZXkyRGF0YVtiXS5tYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lLHI9aCsiLyIrazt2YXIgbD10aGlzLl93YXRjaEtleTJDb3VudFtiXSxwPXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0udGVuc29yTmFtZSxtPXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0uZGVidWdPcCxuPXRoaXMuX3dhdGNoS2V5MlZhbHVlU2hvcnRbYl07Y29uc3QgcT10aGlzLl93YXRjaEtleTJFeHBhbmRIYW5kbGVyW2JdLHU9Yj09PXRoaXMuX2FjdGl2ZVdhdGNoS2V5LHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtQb2x5bWVyLmRvbSh3KS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItbmFtZSIpOwp3LnN0eWxlWyJ0ZXh0LWRlY29yYXRpb24iXT0idW5kZXJsaW5lIjt3LnN0eWxlLmN1cnNvcj0icG9pbnRlciI7dy50ZXh0Q29udGVudD1wO3cuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e251bGwhPXRoaXMudGVuc29yTmFtZUNsaWNrZWQmJnRoaXMudGVuc29yTmFtZUNsaWNrZWQoaCxrKX0pO2NvbnN0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtBLnRleHRDb250ZW50PWw7Y29uc3QgeT10aGlzLl93YXRjaEtleTJEYXRhW2JdLmR0eXBlO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtjb25zdCB4PXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0uc2hhcGU7bC50ZXh0Q29udGVudD15O2NvbnN0IEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtDLnRleHRDb250ZW50PUpTT04uc3RyaW5naWZ5KHgpO2NvbnN0IEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtHLnRleHRDb250ZW50PW47UG9seW1lci5kb20oRykuY2xhc3NMaXN0LmFkZCgidmFsdWUtZXhwYW5zaW9uLWxpbmsiKTsKbnVsbCE9cSYmKEcuYWRkRXZlbnRMaXN0ZW5lcigidGFwIixxLCExKSxHLnN0eWxlWyJ0ZXh0LWRlY29yYXRpb24iXT0idW5kZXJsaW5lIixHLnN0eWxlLmN1cnNvcj0icG9pbnRlciIpO249bnVsbDtuPXRoaXMuX2hlYWx0aFBpbGxzRW5hYmxlZD90aGlzLl9yZW5kZXJIZWFsdGhQaWxsKHArIjoiK20se2RldmljZV9uYW1lOmgsbm9kZV9uYW1lOmssZHR5cGU6eSxzaGFwZTp4LHZhbHVlOm51bGx9LHEpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7cD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO209ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItaWNvbi1idXR0b24iKTttLnNldEF0dHJpYnV0ZSgiaWNvbiIsImZvcndhcmQiKTttLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJDb250aW51ZSB0byIpO20uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5jb250aW51ZVRvQ2FsbGJhY2soaCxrKX0pO3AuYXBwZW5kQ2hpbGQobSk7ZC5hcHBlbmRDaGlsZCh3KTsKZC5hcHBlbmRDaGlsZChBKTtkLmFwcGVuZENoaWxkKGwpO2QuYXBwZW5kQ2hpbGQoQyk7ZC5hcHBlbmRDaGlsZChHKTtkLmFwcGVuZENoaWxkKG4pO2QuYXBwZW5kQ2hpbGQocCk7ZC5zZXRBdHRyaWJ1dGUoIm5vZGVOYW1lV2l0aERldmljZSIscik7dSYmKFBvbHltZXIuZG9tKGQpLmNsYXNzTGlzdC5hZGQoImFjdGl2ZS10ZW5zb3IiKSxQb2x5bWVyLmRvbShkKS5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZCIpKTt0aGlzLl93YXRjaEtleTJSb3dbYl09ZDtmJiZQb2x5bWVyLmRvbSh0aGlzLiQkKCIjdGVuc29yLWRhdGEtdGFibGUgdGJvZHkiKSkuYXBwZW5kQ2hpbGQoZCk7ZC5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImVuZCIsaW5saW5lOiJuZWFyZXN0IixiZWhhdmlvdXI6InNtb290aCJ9KX0sX3JlbmRlckhlYWx0aFBpbGwoYixkLGYpe2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtQb2x5bWVyLmRvbShoKS5jbGFzc0xpc3QuYWRkKCJoZWFsdGgtcGlsbCIpOwpudWxsIT1mJiZoLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsZiwhMSk7Zj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlModGYuZ3JhcGguc2NlbmUuU1ZHX05BTUVTUEFDRSwic3ZnIik7Zi5zZXRBdHRyaWJ1dGUoIndpZHRoIix0aGlzLl9oZWFsdGhQaWxsV2lkdGgpO2Yuc2V0QXR0cmlidXRlKCJoZWlnaHQiLHRoaXMuX2hlYWx0aFBpbGxIZWlnaHQpO2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHRmLmdyYXBoLnNjZW5lLlNWR19OQU1FU1BBQ0UsImciKTtmLmFwcGVuZENoaWxkKGspO2guYXBwZW5kQ2hpbGQoZik7Y29uc3Qgcj0idGRwLyIrYjt0aGlzLmdldEhlYWx0aFBpbGwoYixkLmRldmljZV9uYW1lLGQubm9kZV9uYW1lLGw9PntudWxsPT1sPyhoLnRleHRDb250ZW50PSJOL0EiLGguc3R5bGUuY29sb3I9ImdyYXkiKTooZC52YWx1ZT1sLHRmLmdyYXBoLnNjZW5lLmFkZEhlYWx0aFBpbGwoayxkLG51bGwscix0aGlzLl9oZWFsdGhQaWxsV2lkdGgsdGhpcy5faGVhbHRoUGlsbEhlaWdodC8KMix0aGlzLl9oZWFsdGhQaWxsSGVpZ2h0LzIsMCkpfSk7cmV0dXJuIGh9LF9oaWdobGlnaHQoYil7UG9seW1lci5kb20odGhpcy4kJCgiI3RlbnNvci1kYXRhLXRhYmxlIikpO2NvbnN0IGQ9W107Zm9yKGNvbnN0IGYgaW4gdGhpcy5fd2F0Y2hLZXkyUm93KXtpZighdGhpcy5fd2F0Y2hLZXkyUm93Lmhhc093blByb3BlcnR5KGYpKWNvbnRpbnVlO2NvbnN0IGg9dGhpcy5fd2F0Y2hLZXkyUm93W2ZdO251bGwhPWguZ2V0QXR0cmlidXRlJiYoaC5nZXRBdHRyaWJ1dGUoIm5vZGVOYW1lV2l0aERldmljZSIpPT09Yj9kLnB1c2goaCk6UG9seW1lci5kb20oaCkuY2xhc3NMaXN0LnJlbW92ZSgiaGlnaGxpZ2h0ZWQiKSl9aWYobnVsbCE9Yilmb3IoYj0wO2I8ZC5sZW5ndGg7KytiKVBvbHltZXIuZG9tKGRbYl0pLmNsYXNzTGlzdC5hZGQoImhpZ2hsaWdodGVkIiksZFtiXS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImVuZCIsaW5saW5lOiJuZWFyZXN0IixiZWhhdmlvdXI6InNtb290aCJ9KX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGYtZGVidWdnZXItbGluZS1jaGFydC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kZWJ1Z2dlci1saW5lLWNoYXJ0Iixwcm9wZXJ0aWVzOntkYXRhOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfZGVmYXVsdFNlcmllc05hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJfX2RlYnVnZ2VyX2RhdGFfXyIscmVhZG9ubHk6ITB9LF9saW5lQ2hhcnRYQ29tcG9uZW50c0NyZWF0aW9uTWV0aG9kOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCx2YWx1ZTooKT0+KCk9Pntjb25zdCBiPW5ldyBQbG90dGFibGUuU2NhbGVzLkxpbmVhcjtyZXR1cm57c2NhbGU6YixheGlzOm5ldyBQbG90dGFibGUuQXhlcy5OdW1lcmljKGIsImJvdHRvbSIpLGFjY2Vzc29yOmQ9PmQuc3RlcH19fSxfbGluZUNoYXJ0WVZhbHVlQWNjZXNzb3I6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5iPT5iLnNjYWxhcn0sX2xpbmVDaGFydFRvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5be3RpdGxlOiJOYW1lIixldmFsdWF0ZTpiPT4KInN0ZXBceDNkIitiLmRhdHVtLnN0ZXArIjsgc2NhbGFyXHgzZCAiK2IuZGF0dW0uc2NhbGFyfV19LF9saW5lQ2hhcnRTbW9vdGhpbmdFbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVhZE9ubHk6ITB9fSxvYnNlcnZlcnM6WyJyZW5kZXIoZGF0YSkiXSxyZW5kZXIoYil7aWYobnVsbCE9Yil7dmFyIGQ9dGhpcy4kJCgidnotbGluZS1jaGFydDIiKTtkLnNldFZpc2libGVTZXJpZXMoW3RoaXMuX2RlZmF1bHRTZXJpZXNOYW1lXSk7dmFyIGY9W10saD1iLng7Yj1iLnk7Zm9yKGxldCBrPTA7azxoLmxlbmd0aDsrK2spZi5wdXNoKHtzdGVwOmhba10sc2NhbGFyOmJba119KTtkLnNldFNlcmllc0RhdGEodGhpcy5fZGVmYXVsdFNlcmllc05hbWUsZik7ZC5jb21taXRDaGFuZ2VzKCl9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi10ZW5zb3ItdmFsdWUtdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3ItdmFsdWUtdmlldyIscHJvcGVydGllczp7dmlld0lkOlN0cmluZyx0ZW5zb3JOYW1lOlN0cmluZyxkZWJ1Z09wOlN0cmluZyxkZXZpY2VOYW1lOlN0cmluZyxtYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lOlN0cmluZyxzbGljaW5nOlN0cmluZyx0aW1lSW5kaWNlczpTdHJpbmcsZHR5cGU6U3RyaW5nLHNoYXBlOkFycmF5LGNvbnRpbnVlVG9CdXR0b25DYWxsYmFjazpPYmplY3QsY2xvc2VCdXR0b25DYWxsYmFjazpPYmplY3QsdGVuc29yTmFtZUNhbGxiYWNrOk9iamVjdCx0ZW5zb3JXaWRnZXQ6T2JqZWN0LGdldEhlYWx0aFBpbGw6RnVuY3Rpb24sX2lzVGVuc29yVmFsdWVTY2FsYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lzVGVuc29yVmFsdWVMaW5lQ2hhcnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lzVGVuc29yVmFsdWVJbWFnZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfZGF0YVNjYWxhcjp7dHlwZTpOdW1iZXIsdmFsdWU6bnVsbH0sCl9saW5lQ2hhcnREYXRhOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9kYXRhSW1hZ2VTcmM6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcigxMCl9fSxvYnNlcnZlcnM6WyJfdXBkYXRlVGltZUluZGljZXNUb2dnbGUodGltZUluZGljZXMpIl0scmVuZGVyVGVuc29yVmFsdWUoKXtpZih0aGlzLnRlbnNvck5hbWUpaWYobnVsbD09dGhpcy5zbGljaW5nKXt0aGlzLnNldCgiX3VzZVRlbnNvcldpZGdldCIsITApO2NvbnN0IGQ9e3NwZWM6e2R0eXBlOnRoaXMuZHR5cGUsc2hhcGU6dGhpcy5zaGFwZX0sZ2V0OigpPT57dGhyb3cgRXJyb3IoInRlbnNvclZpZXcuZ2V0KCkgaXMgbm90IGltcGxlbWVudGVkIHlldC4iKTt9LHZpZXc6Zj0+e2NvbnN0IGg9dGhpcztyZXR1cm4gV2IoZnVuY3Rpb24qKCl7Y29uc3Qgaz1oLnNoYXBlLmxlbmd0aCxyPWYuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChtPT4KbS5kaW0pLGw9Zi5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKG09Pm0uaW5kZXgpO2xldCBwPSJbIjtmb3IobGV0IG09MDttPGs7KyttKS0xIT09ci5pbmRleE9mKG0pP3ArPWAke2xbci5pbmRleE9mKG0pXX1gOmYudmlld2luZ0RpbXNbMF09PT1tP3ArPWAke2YudmVydGljYWxSYW5nZVswXX06JHtmLnZlcnRpY2FsUmFuZ2VbMV19YDpmLnZpZXdpbmdEaW1zWzFdPT09bSYmKHArPWAke2YuaG9yaXpvbnRhbFJhbmdlWzBdfToke2YuaG9yaXpvbnRhbFJhbmdlWzFdfWApLG08ay0xJiYocCs9IiwiKTtwKz0iXSI7cmV0dXJuIG5ldyBQcm9taXNlKChtLG4pPT57Y29uc3QgcT1oLl9nZXRUZW5zb3JEYXRhVVJMKHt3YXRjaF9rZXk6aC50ZW5zb3JOYW1lKyI6IitoLmRlYnVnT3Asc2xpY2luZzpwLHRpbWVfaW5kaWNlczpoLnRpbWVJbmRpY2VzLG1hcHBpbmc6Im5vbmUifSk7aC5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChxKS50aGVuKHU9PntudWxsPT11LmVycm9yP20odS50ZW5zb3JfZGF0YVt1LnRlbnNvcl9kYXRhLmxlbmd0aC0KMV0pOm4odS5lcnJvcil9KS5jYXRjaCh1PT5uKHUpKX0pfSl9LGdldE51bWVyaWNTdW1tYXJ5OigpPT57Y29uc3QgZj10aGlzO3JldHVybiBXYihmdW5jdGlvbiooKXtyZXR1cm4gbmV3IFByb21pc2UoKGgsayk9Pntjb25zdCByPWYudGVuc29yTmFtZSsiOiIrZi5kZWJ1Z09wO2YuZ2V0SGVhbHRoUGlsbChyLGYuZGV2aWNlTmFtZSxmLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUsbD0+e251bGw9PWw/ayhgRmFpbGVkIHRvIGdldCBoZWFsdGggcGlsbCBmb3Igd2F0Y2gga2V5ICR7cn1gKTpoKHtlbGVtZW50Q291bnQ6bFsxXSxtaW5pbXVtOmxbOF0sbWF4aW11bTpsWzldfSl9KX0pfSl9fTtzZXRUaW1lb3V0KCgpPT57bnVsbD09dGhpcy50ZW5zb3JXaWRnZXQmJih0aGlzLnRlbnNvcldpZGdldD10ZW5zb3Jfd2lkZ2V0LnRlbnNvcldpZGdldCh0aGlzLiQkKCIjdGVuc29yLXdpZGdldCIpLGQse3doZWVsWm9vbUtleToiYWx0In0pKTt0aGlzLnRlbnNvcldpZGdldC5yZW5kZXIoKX0sCjEwKX1lbHNle3RoaXMuc2V0KCJfdXNlVGVuc29yV2lkZ2V0IiwhMSk7dmFyIGI9dGhpcy5fcmFua0Zyb21TbGljaW5nKHRoaXMuc2xpY2luZy50cmltKCkpO2NvbnN0IGQ9dGhpcy5faXNUaW1lSW5kaWNlc1NpbmdsZVN0ZXAodGhpcy50aW1lSW5kaWNlcyk7bGV0IGY9YjtpZighZCl7aWYoMTxiKXt0aGlzLl9zaG93VG9hc3QoIkhpc3RvcnkgZm9yIHRlbnNvcnMgXHgzZSAxRCBpcyBub3QgeWV0IHN1cHBvcnRlZC4iKTtyZXR1cm59Zis9MX1iPXRoaXMuX2dldFRlbnNvckRhdGFVUkwoe3dhdGNoX2tleTp0aGlzLnRlbnNvck5hbWUrIjoiK3RoaXMuZGVidWdPcCxzbGljaW5nOnRoaXMuc2xpY2luZyx0aW1lX2luZGljZXM6dGhpcy50aW1lSW5kaWNlcyxtYXBwaW5nOjI8PWY/ImltYWdlL3BuZyI6Im5vbmUifSk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGg9Pnt0aGlzLiQkKCIjZGVidWctb3AiKS50ZXh0Q29udGVudD10aGlzLl9jYWxjdWxhdGVEZWJ1Z09wVG9EaXNwbGF5KCk7CmlmKG51bGwhPWguZXJyb3IpdGhpcy5fc2hvd1RvYXN0KGguZXJyb3IudHlwZSsiOiAiK2guZXJyb3IubWVzc2FnZSk7ZWxzZSBpZihoPWQ/aC50ZW5zb3JfZGF0YVswXTpoLnRlbnNvcl9kYXRhLDA9PT1mKXRoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJzY2FsYXIiKSx0aGlzLnNldCgiX2RhdGFTY2FsYXIiLGgpO2Vsc2UgaWYoMT09PWYpe3RoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJsaW5lQ2hhcnQiKTtsZXQgaz17eDpbXSx5Omh9O2ZvcihsZXQgcj0wO3I8aC5sZW5ndGg7KytyKWsueC5wdXNoKHIrMSk7dGhpcy5zZXQoIl9saW5lQ2hhcnREYXRhIixrKX1lbHNlIDI8PWY/KHRoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJpbWFnZSIpLHRoaXMuc2V0KCJfZGF0YUltYWdlU3JjIiwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LCIraCkpOnRoaXMuX3Nob3dUb2FzdCgiVmlzdWFsaXphdGlvbiBvZiByYW5rLSIrZisiIHRlbnNvcnMgaXMgbm90IHlldCBzdXBwb3J0ZWQuIil9KX19LApyZWZyZXNoKCl7dGhpcy50ZW5zb3JOYW1lLnRyaW0oKSYmdGhpcy5yZW5kZXJUZW5zb3JWYWx1ZSgpfSxfZ2V0VGVuc29yRGF0YVVSTChiKXtjb25zdCBkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsIi90ZW5zb3JfZGF0YSIpO3JldHVybiBkYy5hZGRQYXJhbXMoZCxiKX0sX3JhbmtGcm9tU2xpY2luZyhiKXtiLnN0YXJ0c1dpdGgoIlsiKSYmKGI9Yi5zbGljZSgxLGIubGVuZ3RoLTEpKTtpZigwPT09Yi5sZW5ndGgpcmV0dXJuIDA7e2I9Yi5zcGxpdCgiLCIpO2xldCBkPWIubGVuZ3RoO2Zvcihjb25zdCBmIG9mIGIpaXNOYU4oTnVtYmVyKGYpKXx8ZC0tO3JldHVybiBkfX0sX3NldFZpc3VhbGl6YXRpb25UeXBlKGIpeyJzY2FsYXIiPT09Yj8odGhpcy5zZXQoIl9pc1ZhbHVlU2NhbGFyIiwhMCksdGhpcy5zZXQoIl9pc1ZhbHVlTGluZUNoYXJ0IiwhMSksdGhpcy5zZXQoIl9pc1ZhbHVlSW1hZ2UiLCExKSk6ImxpbmVDaGFydCI9PT1iPyh0aGlzLnNldCgiX2lzVmFsdWVTY2FsYXIiLAohMSksdGhpcy5zZXQoIl9pc1ZhbHVlTGluZUNoYXJ0IiwhMCksdGhpcy5zZXQoIl9pc1ZhbHVlSW1hZ2UiLCExKSk6ImltYWdlIj09PWI/KHRoaXMuc2V0KCJfaXNWYWx1ZVNjYWxhciIsITEpLHRoaXMuc2V0KCJfaXNWYWx1ZUxpbmVDaGFydCIsITEpLHRoaXMuc2V0KCJfaXNWYWx1ZUltYWdlIiwhMCkpOmNvbnNvbGUuZXJyb3IoIkludmFsaWQgdmlzdWFsaXphdGlvblR5cGU6IixiKX0sX3RpbWVJbmRpY2VzVG9nZ2xlQnV0dG9uQ2FsbGJhY2soKXsiZnVsbCBoaXN0b3J5Ij09PVBvbHltZXIuZG9tKHRoaXMuJCQoIiN0aW1lLWluZGljZXMtdG9nZ2xlLWJ1dHRvbiIpKS50ZXh0Q29udGVudC50b0xvd2VyQ2FzZSgpP3RoaXMuc2V0KCJ0aW1lSW5kaWNlcyIsIjoiKTp0aGlzLnNldCgidGltZUluZGljZXMiLCItMSIpO3RoaXMucmVuZGVyVGVuc29yVmFsdWUoKX0sX3VwZGF0ZVRpbWVJbmRpY2VzVG9nZ2xlKGIpe3RoaXMuX2lzVGltZUluZGljZXNTaW5nbGVTdGVwKGIpP1BvbHltZXIuZG9tKHRoaXMuJCQoIiN0aW1lLWluZGljZXMtdG9nZ2xlLWJ1dHRvbiIpKS50ZXh0Q29udGVudD0KIkZ1bGwgSGlzdG9yeSI6UG9seW1lci5kb20odGhpcy4kJCgiI3RpbWUtaW5kaWNlcy10b2dnbGUtYnV0dG9uIikpLnRleHRDb250ZW50PSJMYXRlc3QgVGltZSBQb2ludCJ9LF9pc1RpbWVJbmRpY2VzU2luZ2xlU3RlcChiKXtiLnN0YXJ0c1dpdGgoIlsiKSYmKGI9Yi5zbGljZSgxLGIubGVuZ3RoLTEpKTtyZXR1cm4haXNOYU4oTnVtYmVyKGIpKX0sX2NhbGN1bGF0ZURlYnVnT3BUb0Rpc3BsYXkoKXtyZXR1cm4iRGVidWdJZGVudGl0eSI9PT10aGlzLmRlYnVnT3A/IiI6dGhpcy5kZWJ1Z09wfSxfc2hvd1RvYXN0KGIpe3RoaXMuJC50ZW5zb3JWYWx1ZVRvYXN0LnNldEF0dHJpYnV0ZSgidGV4dCIsYik7dGhpcy4kLnRlbnNvclZhbHVlVG9hc3Qub3BlbigpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldyIscHJvcGVydGllczp7Y29udGludWVUb0NhbGxiYWNrOkZ1bmN0aW9uLHRlbnNvck5hbWVDbGlja2VkOkZ1bmN0aW9uLF90ZW5zb3JWaWV3Q291bnRlcjp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sZ2V0SGVhbHRoUGlsbDpGdW5jdGlvbn0sYWRkVmlldyhiKXtjb25zdCBkPXRoaXMuJCQoIiNtdWx0aS10ZW5zb3Itdmlldy1jb250YWluZXIiKSxmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXRlbnNvci12YWx1ZS12aWV3Iik7Zi5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZGVidWdnZXItdGVuc29yLXZpZXciKTtmLnZpZXdJZD1iLnZpZXdJZDtmLnRlbnNvck5hbWU9Yi50ZW5zb3JOYW1lO2YuZGVidWdPcD1iLmRlYnVnT3A7Zi5kZXZpY2VOYW1lPWIuZGV2aWNlTmFtZTtmLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWU9Yi5tYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lO2YuZHR5cGU9Yi5kdHlwZTtmLnNoYXBlPWIuc2hhcGU7CmYuc2xpY2luZz1iLnNsaWNpbmc7Zi50aW1lSW5kaWNlcz1iLnRpbWVJbmRpY2VzO2YuY2xvc2VCdXR0b25DYWxsYmFjaz10aGlzLl9jcmVhdGVDbG9zZUJ1dHRvbkNhbGxiYWNrKGIudmlld0lkKTtmLmNvbnRpbnVlVG9CdXR0b25DYWxsYmFjaz0oKT0+e3RoaXMuY29udGludWVUb0NhbGxiYWNrKGIuZGV2aWNlTmFtZSxiLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUpfTtmLnRlbnNvck5hbWVDYWxsYmFjaz0oKT0+e3RoaXMudGVuc29yTmFtZUNsaWNrZWQoYi5kZXZpY2VOYW1lLGIubWF5YmVCYXNlRXhwYW5kZWROb2RlTmFtZSl9O2YuZ2V0SGVhbHRoUGlsbD10aGlzLmdldEhlYWx0aFBpbGw7ZC5hcHBlbmRDaGlsZChmKTtmLnJlZnJlc2goKX0sZ2V0Vmlld3MoKXtjb25zdCBiPVtdO18uZm9yRWFjaCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmRlYnVnZ2VyLXRlbnNvci12aWV3IiksZD0+e2IucHVzaCh7dmlld0lkOmQudmlld0lkLHRlbnNvck5hbWU6ZC50ZW5zb3JOYW1lLApkZWJ1Z09wOmQuZGVidWdPcCxzbGljaW5nOmQuc2xpY2luZyx0aW1lSW5kaWNlczpkLnRpbWVJbmRpY2VzfSl9KTtyZXR1cm4gYn0scmVuZGVyVGVuc29yVmFsdWVzKCl7Xy5mb3JFYWNoKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuZGVidWdnZXItdGVuc29yLXZpZXciKSxiPT57Yi5yZW5kZXJUZW5zb3JWYWx1ZSgpfSl9LF9yZWRyYXdWaWV3cyhiKXtjb25zdCBkPXRoaXMuJCQoIiNtdWx0aS10ZW5zb3Itdmlldy1jb250YWluZXIiKTtfLmZvckVhY2godGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5kZWJ1Z2dlci10ZW5zb3ItdmlldyIpLGY9PntkLnJlbW92ZUNoaWxkKGYpfSk7Xy5mb3JFYWNoKGIsZj0+e3RoaXMuYWRkVmlldyhmKX0pfSxfY3JlYXRlQ2xvc2VCdXR0b25DYWxsYmFjayhiKXtyZXR1cm4oKT0+e2NvbnN0IGQ9W10sZj10aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmRlYnVnZ2VyLXRlbnNvci12aWV3Iik7Zm9yKGxldCBoPTA7aDxmLmxlbmd0aDsrK2gpe2NvbnN0IGs9CmZbaF07ay52aWV3SWQhPT1iJiZkLnB1c2goe3ZpZXdJZDprLnZpZXdJZCx0ZW5zb3JOYW1lOmsudGVuc29yTmFtZSxkZWJ1Z09wOmsuZGVidWdPcCxkdHlwZTprLmR0eXBlLHNoYXBlOmsuc2hhcGUsc2xpY2luZzprLnNsaWNpbmcsdGltZUluZGljZXM6ay50aW1lSW5kaWNlc30pfXRoaXMuX3JlZHJhd1ZpZXdzKGQpfX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGVuc29yLXNoYXBlLWhlbHBlci5qcwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChmLGgpe3JldHVybiBmPD1oPyI6OiI6Ijo6IitNYXRoLmNlaWwoZi9oKX1iLmdldERlZmF1bHRTbGljaW5nPWZ1bmN0aW9uKGYpe3JldHVybiAwPT09Zi5sZW5ndGg/IiI6MT09PWYubGVuZ3RoPyJbIitkKGZbMF0sMUUzKSsiXSI6Mj09PWYubGVuZ3RoPyJbIitkKGZbMF0sMjUwKSsiLCAiK2QoZlsxXSwyNTApKyJdIjpudWxsfTtiLnJhbmtGcm9tU2xpY2luZz1mdW5jdGlvbihmKXtmLnN0YXJ0c1dpdGgoIlsiKSYmKGY9Zi5zbGljZSgxLGYubGVuZ3RoLTEpKTtpZigwPT09Zi5sZW5ndGgpcmV0dXJuIDA7e2Y9Zi5zcGxpdCgiLCIpO2xldCBoPWYubGVuZ3RoO2Zvcihjb25zdCBrIG9mIGYpaXNOYU4oTnVtYmVyKGspKXx8aC0tO3JldHVybiBofX19KShLaHx8KEtoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC5odG1sLmpzCmNvbnN0IGFsPSgpPT53aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGJsPSgpPT53aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGNsPShhbCgpLTcwKS8yOwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfdG9wUmlnaHRUYWJzOnt0eXBlOkFycmF5LHZhbHVlOlt7aWQ6InRhYi1ydW50aW1lLWdyYXBocyIsbmFtZToiUnVudGltZSBHcmFwaHMifSx7aWQ6InRhYi10ZW5zb3ItdmFsdWVzIixuYW1lOiJUZW5zb3IgVmFsdWVzIn1dLHJlYWRvbmx5OiEwfSxfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3RvcFJpZ2h0U2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLHZhbHVlOiIwIixvYnNlcnZlcjoiX3RvcFJpZ2h0U2VsZWN0ZWRDaGFuZ2VkIn0sX2xvbmdQb2xsQ291bnQ6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zdGVwQnV0dG9uVGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IlN0ZXAifSxfY29udGludWVCdXR0b25UZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiQ29udGludWUuLi4ifSwKX3RlbnNvclZpZXdJZENvdW50ZXI6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LGlzUmVsb2FkRGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxyZWFkT25seTohMH0sYWxyZWFkeVN0YXJ0ZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2N1cnJlbnRTZXNzaW9uUnVuSW5mbzp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3Nlc3Npb25SdW5Ub3RhbENvdW50ZXI6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zZXNzaW9uUnVuQ291bnRlcnM6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lczp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9hY3RpdmVTZXNzaW9uUnVuS2V5Ont0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfYWN0aXZlU2Vzc2lvblJ1bkRldmljZXM6e3R5cGU6QXJyYXksdmFsdWU6W119LF9hY3RpdmVTZXNzaW9uUnVuTnVtRGV2aWNlczp7dHlwZTpOdW1iZXIsdmFsdWU6LTF9LF9hY3RpdmVSdW50aW1lR3JhcGhEZXZpY2VOYW1lOnt0eXBlOlN0cmluZywKdmFsdWU6bnVsbCxub3RpZnk6ITB9LF9oaWdobGlnaHROb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2NvbnRpbnVlVG9UeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NvbnRpbnVlVG9Db3VudGVyOnt0eXBlOk51bWJlcix2YWx1ZTowfSxfY29udGludWVTdG9wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jb250aW51ZVRvVGFyZ2V0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NvbnRpbnVlVG9Db3VudGVyVGFyZ2V0Ont0eXBlOk51bWJlcix2YWx1ZTotMX0sX2ZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZTpTdHJpbmcsX2ZvcmNlRXhwYW5kTm9kZU5hbWU6U3RyaW5nLF9zb3VyY2VGb2N1c05vZGVOYW1lOlN0cmluZyxfc291cmNlQ29kZVNob3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9zaG93U291cmNlQ29kZUNoYW5nZWQifSxfZ3JhcGhQcm9ncmVzczp7dHlwZTpPYmplY3R9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PgpuZXcgZGMuUmVxdWVzdE1hbmFnZXIoNTApfSxfYnVzeTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfbGVmdFBhbmVXaWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl9sZWZ0UGFuZVdpZHRoIix7ZGVmYXVsdFZhbHVlOjQ1MH0pLG9ic2VydmVyOiJfbGVmdFBhbmVXaWR0aE9ic2VydmVyIn0sX21pbmxlZnRQYW5lV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOjQ1MCxyZWFkT25seTohMH0sX21heGxlZnRQYW5lV2lkdGg6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU1heGxlZnRQYW5lV2lkdGgoX3dpbmRvd1dpZHRoLCBfbWF4TWFpbkNvbnRlbnRXaWR0aCwgX3Jlc2l6ZXJXaWR0aCkifSxfbWF4TWFpbkNvbnRlbnRXaWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MzUwLHJlYWRPbmx5OiEwfSxfdG9wUmlnaHRRdWFkcmFudEhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl90b3BSaWdodFF1YWRyYW50SGVpZ2h0IiwKe2RlZmF1bHRWYWx1ZTpjbH0pLG9ic2VydmVyOiJfdG9wUmlnaHRRdWFkcmFudEhlaWdodE9ic2VydmVyIn0sX21pblRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOjIwMCxyZWFkT25seTohMH0sX21heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQ6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU1heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQoX3dpbmRvd0hlaWdodCwgX3Jlc2l6ZXJXaWR0aCkifSxfcmVzaXplcldpZHRoOnt0eXBlOk51bWJlcix2YWx1ZTozMCxyZWFkT25seTohMH0sX3dpbmRvd1dpZHRoOk51bWJlcixfd2luZG93SGVpZ2h0Ok51bWJlcixfZGVidWdXYXRjaGVzOkFycmF5LF9sYXRlc3RTZXNzaW9uUnVuOk9iamVjdH0sb2JzZXJ2ZXJzOlsiX29uQWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZUNoYW5nZShfYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSkiLCJfc2l6ZURhc2hib2FyZFJlZ2lvbnMoX2xlZnRQYW5lV2lkdGgsIF90b3BSaWdodFF1YWRyYW50SGVpZ2h0LCBfd2luZG93V2lkdGgpIiwKIl9ncmFwaFByb2dyZXNzVXBkYXRlZChfZ3JhcGhQcm9ncmVzcykiXSxyZWFkeSgpe3RoaXMuX2hhbmRsZVdpbmRvd1Jlc2l6ZSgpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9LCExKTt0aGlzLnJlbG9hZCgpfSxsb25nX3BvbGwoKXtjb25zdCBiPXtwb3M6Kyt0aGlzLl9sb25nUG9sbENvdW50fTtsZXQgZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGVidWdnZXIiLCIvY29tbSIpO2Q9ZGMuYWRkUGFyYW1zKGQsYik7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChkKS50aGVuKGY9Pntjb25zdCBoPWYudHlwZTtmPWYuZGF0YTtpZigibWV0YSI9PT1oKXt2YXIgaz1mLnJ1bl9rZXkscj1rWzBdLnNwbGl0KCIsIiksbD1rWzFdLnNwbGl0KCIsIik7Y29uc3QgbT1rWzJdLnNwbGl0KCIsIik7dmFyIHA9dGhpcy5fYWN0aXZlU2Vzc2lvblJ1bktleTt0aGlzLnNldCgiX2FjdGl2ZVNlc3Npb25SdW5LZXkiLAprKTt0aGlzLnNldCgiX2xhdGVzdFNlc3Npb25SdW4iLHtmZWVkczpyLGZldGNoZXM6bCx0YXJnZXRzOm19KTt0aGlzLnNldCgiX3Nlc3Npb25SdW5Tb2xlQWN0aXZlIiwhMCk7dm9pZCAwPT09dGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1trXT8odGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1trXT1bXSx0aGlzLnNldCgiX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzIixbXSkpOnRoaXMuc2V0KCJfYWN0aXZlU2Vzc2lvblJ1bkRldmljZXMiLHRoaXMuX3Nlc3Npb25SdW5LZXkyRGV2aWNlTmFtZXNba10pO3RoaXMuX2N1cnJlbnRTZXNzaW9uUnVuSW5mbz1yPSJGZWVkczogIityKyI7IEZldGNoZXM6ICIrbCsiOyBUYXJnZXRzOiAiK207dGhpcy5fc2Vzc2lvblJ1bkNvdW50ZXJzLmhhc093blByb3BlcnR5KHIpP3RoaXMuX3Nlc3Npb25SdW5Db3VudGVyc1tyXSs9MTp0aGlzLl9zZXNzaW9uUnVuQ291bnRlcnNbcl09MTt0aGlzLl9zZXNzaW9uUnVuVG90YWxDb3VudGVyKys7CnRoaXMuJC5pbml0aWFsRGlhbG9nLmNsb3NlRGlhbG9nKCk7dGhpcy5fY29udGludWVUb1R5cGUmJl8uaXNFcXVhbChwLGspfHwodGhpcy5fcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGssITEpLHRoaXMuX2Fubm91bmNlTmV3U2Vzc2lvblJ1bigpKX1lbHNlInRlbnNvciI9PT1oPyhrPWYuZGV2aWNlX25hbWUscD1mLm5vZGVfbmFtZSxyPWYubWF5YmVfYmFzZV9leHBhbmRlZF9ub2RlX25hbWUsdGhpcy5fYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSE9az90aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGspOiF0aGlzLl9jb250aW51ZVRvVHlwZSYmdGhpcy5faXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUmJih0aGlzLl9mb2N1c09uR3JhcGhOb2RlKGssciksdGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIixrKyIvIityKSksdGhpcy5zZXQoIl9zZXNzaW9uUnVuU29sZUFjdGl2ZSIsITEpLGw9cCsiOiIrZi5vdXRwdXRfc2xvdCx0aGlzLnNldCgiX2xhdGVzdFRlbnNvckRhdGEiLAp7ZGV2aWNlTmFtZTprLHRlbnNvck5hbWU6bCxub2RlTmFtZTpwLG1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWU6cixkZWJ1Z09wOmYuZGVidWdfb3AsZHR5cGU6Zi5kdHlwZSxzaGFwZTpmLnNoYXBlLHZhbHVlOmYudmFsdWVzfSksdGhpcy5fbWF5YmVVcGRhdGVUZW5zb3JWYWx1ZVZpZXdzKGwsZi5kZWJ1Z19vcCksdGhpcy5zZXQoIl9idXN5IiwhMSkpOmNvbnNvbGUuZXJyb3IoIkludmFsaWQgbG9uZy1wb2xsaW5nIHJlc3BvbnNlIHR5cGU6ICIsaCk7bnVsbCE9dGhpcy5fY29udGludWVUb1R5cGUmJnRoaXMuX3Byb2Nlc3NDb250aW51ZVRvKGgsZik7dGhpcy5sb25nX3BvbGwoKX0pfSxfcHJvY2Vzc0NvbnRpbnVlVG8oYixkKXt0aGlzLl9jb250aW51ZVN0b3A/dGhpcy5fY2xlYXJDb250aW51ZVRvKCk6IlNlc3Npb25SdW4iPT09dGhpcy5fY29udGludWVUb1R5cGU/dGhpcy5fcHJvY2Vzc0NvbnRpbnVlVG9TZXNzaW9uUnVuKCJtZXRhIj09PWIpOiJUZW5zb3JDb25kaXRpb24iPT09CnRoaXMuX2NvbnRpbnVlVG9UeXBlP3RoaXMuX3N0ZXAoKToib3AiPT09dGhpcy5fY29udGludWVUb1R5cGU/dGhpcy5fcHJvY2Vzc0NvbnRpbnVlVG9PcCgibWV0YSI9PT1iLGQpOm51bGwhPXRoaXMuX2NvbnRpbnVlVG9UeXBlJiYiIiE9PXRoaXMuX2NvbnRpbnVlVG9UeXBlJiZjb25zb2xlLmVycm9yKCJJbnZhbGlkIF9jb250aW51ZVRvVHlwZToiLHRoaXMuX2NvbnRpbnVlVG9UeXBlKX0sX3Byb2Nlc3NDb250aW51ZVRvU2Vzc2lvblJ1bihiKXtiJiZ0aGlzLnNldCgiX2NvbnRpbnVlVG9Db3VudGVyIix0aGlzLl9jb250aW51ZVRvQ291bnRlcisxKTt0aGlzLl9jb250aW51ZVRvQ291bnRlcjx0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldD90aGlzLl9zdGVwKCk6dGhpcy5fY2xlYXJDb250aW51ZVRvKCl9LF9wcm9jZXNzQ29udGludWVUb09wKGIsZCl7YiYmdGhpcy5fYW5ub3VuY2VOZXdTZXNzaW9uUnVuKCk7Yj1kLmRldmljZV9uYW1lO2Q9ZC5tYXliZV9iYXNlX2V4cGFuZGVkX25vZGVfbmFtZTsKY29uc3QgZj1udWxsPT1kP251bGw6S2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGQpO2IrIi8iK2Q9PT10aGlzLl9jb250aW51ZVRvVGFyZ2V0fHxiKyIvIitmPT09dGhpcy5fY29udGludWVUb1RhcmdldD8odGhpcy5fY2xlYXJDb250aW51ZVRvKCksdGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLGYpKTp0aGlzLl9zdGVwKCl9LF9tYXliZVVwZGF0ZVRlbnNvclZhbHVlVmlld3MoYixkKXtjb25zdCBmPXRoaXMuJCQoIiN0ZW5zb3JWYWx1ZU11bHRpVmlldyIpO2lmKG51bGwhPWYpe3ZhciBoPSExO18uZm9yRWFjaChmLmdldFZpZXdzKCksaz0+e2lmKGsudGVuc29yTmFtZT09PWImJmsuZGVidWdPcD09PWQpcmV0dXJuIGg9ITAsITF9KTtoJiZmLnJlbmRlclRlbnNvclZhbHVlcygpfX0scmVsb2FkKCl7aWYoIXRoaXMuYWxyZWFkeVN0YXJ0ZWQpe3RoaXMuc2V0KCJhbHJlYWR5U3RhcnRlZCIsITApO3ZhciBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsCiIvZGVidWdnZXJfZ3JwY19ob3N0X3BvcnQiKTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+ezA8ZC5wb3J0Pyh0aGlzLiQuaW5pdGlhbERpYWxvZy5vcGVuRGlhbG9nKGQuaG9zdCxkLnBvcnQpLHRoaXMubG9uZ19wb2xsKCkpOnRoaXMuJC5pbml0aWFsRGlhbG9nLm9wZW5EaXNhYmxlZERpYWxvZygpfSl9fSxfc2hvd1NvdXJjZUNvZGVDaGFuZ2VkKCl7dGhpcy5fc291cmNlQ29kZVNob3duPyh0aGlzLiQkKCIjbm9kZS1lbnRyaWVzIikuc3R5bGUuaGVpZ2h0PSI0MCUiLHRoaXMuJC5zb3VyY2VDb2RlVmlldy5yZW5kZXIoKSk6dGhpcy4kJCgiI25vZGUtZW50cmllcyIpLnN0eWxlLmhlaWdodD0iODAlIn0sX3Nob3dUb2FzdChiKXt0aGlzLiQudG9hc3Quc2V0QXR0cmlidXRlKCJ0ZXh0IixiKTt0aGlzLiQudG9hc3Qub3BlbigpfSxfYW5ub3VuY2VOZXdTZXNzaW9uUnVuKCl7dGhpcy5fc2hvd1RvYXN0KCJTZXNzaW9uLnJ1bigpICMiK3RoaXMuX3Nlc3Npb25SdW5Ub3RhbENvdW50ZXIrCiIgaXMgc3RhcnRpbmcuIil9LF9kaXNwbGF5R3JhcGgoYixkKXtiPXtydW5fa2V5OkpTT04uc3RyaW5naWZ5KGIpLGRldmljZV9uYW1lOmR9O2I9ZGMuYWRkUGFyYW1zKCIvZGF0YS9wbHVnaW4vZGVidWdnZXIvZGVidWdnZXJfZ3JhcGgiLGIpO3RoaXMuJC5sb2FkZXIuZGF0YXNldHM9W3tuYW1lOiIvZGVidWdnZXJfZ3JhcGgiLHBhdGg6Yn1dO3RoaXMuJC5sb2FkZXIuc2V0KCJzZWxlY3RlZERhdGFzZXQiLDApfSxfcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGIsZCl7ZD9jb25zb2xlLmxvZygiUG9sbGluZyBmb3IgZmlyc3QgR3JhcGhEZWYgZm9yIHJ1biBrZXk6IixiKTp0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLG51bGwpO3ZhciBmPXttb2RlOiJyZXRyaWV2ZV9hbGwiLHJ1bl9rZXk6SlNPTi5zdHJpbmdpZnkoYil9O2NvbnN0IGg9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2dhdGVkX2dycGMiKTtmPWRjLmFkZFBhcmFtcyhoLApmKTtsZXQgaz1bXTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGYpLnRoZW4ocj0+e2lmKDA9PXIuZGV2aWNlX25hbWVzLmxlbmd0aClkfHx0aGlzLl9zdGVwKCksdGhpcy5fcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGIsITApO2Vsc2V7dmFyIGw9bnVsbDtmb3IoY29uc3QgcCBpbiByLmdhdGVkX2dycGNfdGVuc29ycylpZihyLmdhdGVkX2dycGNfdGVuc29ycy5oYXNPd25Qcm9wZXJ0eShwKSl7LTE9PT10aGlzLl9zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzW2JdLmluZGV4T2YocCkmJih0aGlzLl9zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzW2JdLnB1c2gocCksdGhpcy4kLnNlc3Npb25SdW5zVmlldy51cGRhdGVOdW1EZXZpY2VzKHRoaXMuX3Nlc3Npb25SdW5LZXkyRGV2aWNlTmFtZXNbYl0ubGVuZ3RoKSk7dGhpcy5zZXQoIl9hY3RpdmVTZXNzaW9uUnVuRGV2aWNlcyIsdGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1tiXS5zbGljZSgpKTtsPXRoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzW3RoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmxlbmd0aC0KMV07Y29uc3QgbT1yLmdhdGVkX2dycGNfdGVuc29yc1twXTtmb3IobGV0IG49MDtuPG0ubGVuZ3RoOysrbilrLnB1c2goe2RldmljZV9uYW1lOnAsbm9kZV9uYW1lOm1bbl1bMF0sb3BfdHlwZTptW25dWzFdLG91dHB1dF9zbG90Om1bbl1bMl0sZGVidWdfb3A6bVtuXVszXX0pfW51bGwhPWwmJih0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGwpLHI9UG9seW1lci5kb20odGhpcy4kJCgiI2FjdGl2ZS1ydW50aW1lLWdyYXBoLWRldmljZS1uYW1lIikpLG51bGwhPXImJnIuc2V0QXR0cmlidXRlKCJzZWxlY3RlZCIsbCkpO0toLnNvcnRBbmRCYXNlRXhwYW5kRGVidWdXYXRjaGVzKGspO3RoaXMuc2V0KCJfZGVidWdXYXRjaGVzIixrKTt0aGlzLiQuc291cmNlQ29kZVZpZXcucmVuZGVyKGspfX0pfSxfY3JlYXRlRGVidWdXYXRjaENoYW5nZUhhbmRsZXIoKXtyZXR1cm4oYixkKT0+e2Q9ZD8iYnJlYWsiOiJkaXNhYmxlIjt0aGlzLl9yZXF1ZXN0QnJlYWtwb2ludFN0YXRlQ2hhbmdlKEtoLmdldENsZWFuTm9kZU5hbWUoYi5kZXZpY2VfbmFtZSsKIi8iK2Iubm9kZV9uYW1lKSxiLm91dHB1dF9zbG90LGIuZGVidWdfb3AsZCl9fSxfZm9jdXNPbkdyYXBoTm9kZShiLGQpe251bGwhPWImJnRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUhPT1iJiZ0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGIpO3RoaXMuX3NldFRvcFJpZ2h0UnVudGltZUdyYXBoc1RvQWN0aXZlKCk7Y29uc3QgZj10aGlzLiQkKCIjZ3JhcGgiKTtpZihmLnNlbGVjdGVkTm9kZT09PWQpZi5wYW5Ub05vZGUoZCk7ZWxzZXtjb25zdCBoPWYuZ2V0KCJyZW5kZXJIaWVyYXJjaHkiKS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO251bGw9PWhbZF0mJihkPUtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSk7bnVsbCE9aFtkXSYmZi5zZXQoInNlbGVjdGVkTm9kZSIsZCl9dGhpcy5zZXQoIl9oaWdobGlnaHROb2RlTmFtZSIsYisiLyIrZCl9LF9jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKXtyZXR1cm4oYixkLGYpPT57dGhpcy5fc291cmNlQ29kZVNob3duJiYKITAhPT1mJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSk7dGhpcy5fZm9jdXNPbkdyYXBoTm9kZShiLGQpO3RoaXMuc2V0KCJfZm9yY2VFeHBhbmROb2RlTmFtZSIsYisiLyIrZCl9fSxfY3JlYXRlRmVlZEZldGNoVGFyZ2V0Q2xpY2tlZEhhbmRsZXIoKXtyZXR1cm4gYj0+e2xldCBkPWI7LTEhPT1kLmluZGV4T2YoIjoiKSYmKGQ9ZC5zbGljZSgwLGQuaW5kZXhPZigiOiIpKSk7Yj1fLmZpbmQodGhpcy5fZGVidWdXYXRjaGVzLGY9PmYubm9kZV9uYW1lPT09ZHx8MD09PWYubm9kZV9uYW1lLmluZGV4T2YoZCkmJiIoIj09PWYubm9kZV9uYW1lW2QubGVuZ3RoXSk7bnVsbD09Yj90aGlzLl9zaG93VG9hc3QoIk5vZGUgJyIrZCsiJyBpcyBub3QgaW4gdGhlIHJ1bnRpbWUgZ3JhcGggb2YgdGhlIGN1cnJlbnQgU2Vzc2lvbi5ydW4gb3IgZG9lcyBub3QgaGF2ZSBhIGRlYnVnIG9wIGF0dGFjaGVkLiIpOnRoaXMuX2ZvY3VzT25HcmFwaE5vZGUoYi5kZXZpY2VfbmFtZSwKZCl9fSxfY3JlYXRlVGVuc29yRGF0YUV4cGFuZEhhbmRsZXIoKXtyZXR1cm4gYj0+e3RoaXMuX3NldFRvcFJpZ2h0VGVuc29yVmFsdWVzVG9BY3RpdmUoKTtzZXRUaW1lb3V0KCgpPT57dGhpcy4kJCgiI3RlbnNvclZhbHVlTXVsdGlWaWV3IikuYWRkVmlldyh7dmlld0lkOnRoaXMuX2NyZWF0ZVRlbnNvclZpZXdJZCgpLGRldmljZU5hbWU6Yi5kZXZpY2VOYW1lLHRlbnNvck5hbWU6Yi50ZW5zb3JOYW1lLG5vZGVOYW1lOmIubm9kZU5hbWUsbWF5YmVCYXNlRXhwYW5kZWROb2RlTmFtZTpiLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUsZGVidWdPcDpiLmRlYnVnT3AsZHR5cGU6Yi5kdHlwZSxzaGFwZTpiLnNoYXBlLHNsaWNpbmc6S2guZ2V0RGVmYXVsdFNsaWNpbmcoYi5zaGFwZSksdGltZUluZGljZXM6Ii0xIn0pfSwxMCl9fSxfY3JlYXRlVGVuc29yVmlld0lkKCl7Y29uc3QgYj0iZGVidWdnZXItdGVuc29yLXZpZXctIit0aGlzLl90ZW5zb3JWaWV3SWRDb3VudGVyO3RoaXMuX3RlbnNvclZpZXdJZENvdW50ZXIrKzsKcmV0dXJuIGJ9LF9jcmVhdGVOb2RlQ29udGV4dE1lbnVJdGVtcygpe3JldHVyblt7dGl0bGU6KCk9PiJFeHBhbmQgYW5kIGhpZ2hsaWdodCIsYWN0aW9uOmI9Pntjb25zdCBkPUtoLmdldENsZWFuTm9kZU5hbWUoYi5ub2RlLm5hbWUpO2I9dGhpcy5fYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSsiLyIrYi5ub2RlLm5hbWU7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIixiKTt0aGlzLnNldCgiX2hpZ2hsaWdodE5vZGVOYW1lIixiKTt0aGlzLl9zb3VyY2VDb2RlU2hvd24mJnRoaXMuc2V0KCJfc291cmNlRm9jdXNOb2RlTmFtZSIsS2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGQpKX19LHt0aXRsZTooKT0+IkFkZCBicmVha3BvaW50IixhY3Rpb246Yj0+e2NvbnN0IGQ9S2guZ2V0Q2xlYW5Ob2RlTmFtZShiLm5vZGUubmFtZSk7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZEFuZENoZWNrTm9kZU5hbWUiLHRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUrCiIvIitiLm5vZGUubmFtZSk7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSl9fSx7dGl0bGU6KCk9PiJDb250aW51ZSB0byIsYWN0aW9uOmI9PnstMSE9PVsiX0FyZyIsIl9SZXR2YWwiXS5pbmRleE9mKGIubm9kZS5vcCk/dGhpcy5fc2hvd1RvYXN0KCdDYW5ub3QgY29udGludWUgdG8gbm9kZSAiJytiLm5vZGUubmFtZSsnIiwgZHVlIHRvIG9wIHR5cGUgIicrYi5ub2RlLm9wKyciLicpOnRoaXMuX2NvbnRpbnVlVG9Ob2RlKHRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUsYi5ub2RlLm5hbWUpfX1dfSxfY3JlYXRlR2V0SGVhbHRoUGlsbCgpe3JldHVybihiLGQsZixoKT0+e3ZhciBrPXt3YXRjaF9rZXk6Yix0aW1lX2luZGljZXM6Ii0xIixtYXBwaW5nOiJoZWFsdGgtcGlsbCJ9O2NvbnN0IHI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwKIi90ZW5zb3JfZGF0YSIpO2s9ZGMuYWRkUGFyYW1zKHIsayk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChrKS50aGVuKGw9PntsPWwudGVuc29yX2RhdGFbMF07aChsKTt0aGlzLl9jb25kaXRpb25hbEhlYWx0aFBpbGxTdG9wKGIsZCxmLGwpfSl9fSxfY29uZGl0aW9uYWxIZWFsdGhQaWxsU3RvcChiLGQsZixoKXtpZigiVGVuc29yQ29uZGl0aW9uIj09PXRoaXMuX2NvbnRpbnVlVG9UeXBlJiZLaC5jaGVja0hlYWx0aFBpbGxBZ2FpbnN0VGVuc29yQ29uZGl0aW9uS2V5KHRoaXMuX2NvbnRpbnVlVG9UYXJnZXQsaCx0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldCkpe3RoaXMuc2V0KCJfY29udGludWVTdG9wIiwhMCk7aD1LaC5yZW1vdmVOb2RlTmFtZUJhc2VFeHBhbnNpb24oZik7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLGgpO3RoaXMuX2ZvY3VzT25HcmFwaE5vZGUoZCxmKTtjb25zdCBrPWQrIi8iK2Y7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIiwKayk7c2V0VGltZW91dCgoKT0+e3RoaXMuc2V0KCJfaGlnaGxpZ2h0Tm9kZU5hbWUiLG51bGwpO3RoaXMuc2V0KCJfaGlnaGxpZ2h0Tm9kZU5hbWUiLGspfSwxMDApO3RoaXMuX3Nob3dUb2FzdCgnVGVuc29yIGNvbmRpdGlvbiAiJyt0aGlzLl9jb250aW51ZVRvVGFyZ2V0KyciIGlzIG1ldCBieSB3YXRjaCBrZXk6ICInK2IrJyIuXG5TdG9wcGluZyBjb250aW51YXRpb24uJyl9fSxfY29udGludWVUb05vZGUoYixkKXtjb25zdCBmPUtoLmdldENsZWFuTm9kZU5hbWUoZCk7Yj1iKyIvIitkO3RoaXMuX3JlcXVlc3RCcmVha3BvaW50U3RhdGVDaGFuZ2UoZiwwLCJEZWJ1Z0lkZW50aXR5IiwiYnJlYWsiKTt0aGlzLnNldCgiX2ZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZSIsYik7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihmKSk7dGhpcy5fc2V0Q29udGludWVUbygib3AiLGIpOwp0aGlzLiQuY29udGludWVEaWFsb2cudXBkYXRlQ29udGludWVCdXR0b25UZXh0KCEwKTt0aGlzLl9zdGVwKCl9LF9jcmVhdGVDb250aW51ZVRvTm9kZUhhbmRsZXIoKXtyZXR1cm4oYixkKT0+e3RoaXMuX2NvbnRpbnVlVG9Ob2RlKGIsZCl9fSxfb25BY3RpdmVSdW50aW1lR3JhcGhEZXZpY2VOYW1lQ2hhbmdlKGIpe2NvbnN0IGQ9UG9seW1lci5kb20odGhpcy4kJCgiI3J1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUiKSk7aWYoMDx0aGlzLl9hY3RpdmVTZXNzaW9uUnVuRGV2aWNlcy5sZW5ndGgpe2xldCBmO2Y9YisoIiAoZGV2aWNlICIrKHRoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmluZGV4T2YoYikrMSkrIiBvZiAiK3RoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmxlbmd0aCsiKSIpO3RoaXMuX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlJiZudWxsIT1kJiYoZC50ZXh0Q29udGVudD1mKX1lbHNlIHRoaXMuX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlJiYKbnVsbCE9ZCYmKGQudGV4dENvbnRlbnQ9IldhaXRpbmcgZm9yIGRldmljZS4uLiIpO251bGwhPWImJnRoaXMuX2Rpc3BsYXlHcmFwaCh0aGlzLl9hY3RpdmVTZXNzaW9uUnVuS2V5LGIpfSxfc3RlcCgpe2lmKG51bGwhPXRoaXMuX2FjdGl2ZVNlc3Npb25SdW5LZXkpe3RoaXMuc2V0KCJfYnVzeSIsITApO3ZhciBiPXttb2RlOiJyZXRyaWV2ZV9kZXZpY2VfbmFtZXMiLHJ1bl9rZXk6SlNPTi5zdHJpbmdpZnkodGhpcy5fYWN0aXZlU2Vzc2lvblJ1bktleSl9LGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2dhdGVkX2dycGMiKTtiPWRjLmFkZFBhcmFtcyhkLGIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihmPT57bGV0IGg9ITE7Zm9yKGxldCBrPTA7azxmLmRldmljZV9uYW1lcy5sZW5ndGg7KytrKWlmKC0xPT09dGhpcy5fYWN0aXZlU2Vzc2lvblJ1bkRldmljZXMuaW5kZXhPZihmLmRldmljZV9uYW1lc1trXSkpe2g9ITA7YnJlYWt9Zj0KZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2FjayIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZikudGhlbigoKT0+e2gmJnRoaXMuX3Byb2Nlc3NHYXRlZEdycGNEZWJ1Z09wcyh0aGlzLl9hY3RpdmVTZXNzaW9uUnVuS2V5LCExKX0pfSl9fSxfY3JlYXRlU2Vzc2lvblJ1bkdvKCl7cmV0dXJuIGI9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJTZXNzaW9uUnVuIix0aGlzLl9jdXJyZW50U2Vzc2lvblJ1bkluZm8sYik7dGhpcy5fc3RlcCgpfX0sX2NyZWF0ZVRlbnNvckNvbmRpdGlvbkdvKCl7cmV0dXJuKGIsZCk9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJUZW5zb3JDb25kaXRpb24iLGIsZCk7dGhpcy4kLnRlbnNvckRhdGFTdW1tYXJ5LmVuYWJsZUhlYWx0aFBpbGxzKCk7dGhpcy5fc3RlcCgpfX0sX2NyZWF0ZUZvcmNlQ29udGludWF0aW9uU3RvcCgpe3JldHVybigpPT57dGhpcy5fc2hvd1RvYXN0KCdDb250aW51YXRpb24gb2YgdHlwZSAiJyt0aGlzLl9jb250aW51ZVRvVHlwZSsKJyIgd2FzIGludGVycnVwdGVkIGJ5IHVzZXIuJyk7dGhpcy5zZXQoIl9jb250aW51ZVN0b3AiLCEwKX19LF9zZXRDb250aW51ZVRvKGIsZCxmPS0xKXt0aGlzLl9jb250aW51ZVRvVHlwZT1iO3RoaXMuX2NvbnRpbnVlVG9UYXJnZXQ9ZDt0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldD1mO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyPTA7dGhpcy5fY29udGludWVTdG9wPSExfSxfY2xlYXJDb250aW51ZVRvKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLm5vdGlmeUNvbnRpbnVhdGlvblN0b3AoKTt0aGlzLl9jb250aW51ZVRvVGFyZ2V0PXRoaXMuX2NvbnRpbnVlVG9UeXBlPSIiO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyVGFyZ2V0PS0xO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyPTA7dGhpcy5fY29udGludWVTdG9wPSExO3RoaXMuc2V0KCJfYnVzeSIsITEpfSxfY3JlYXRlQ29udGludWVUb0NhbGxiYWNrKCl7cmV0dXJuKGIsZCk9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJvcCIsYisiLyIrCmQpO3RoaXMuX3N0ZXAoKTt0aGlzLl9pc1RvcFJpZ2h0UnVudGltZUdyYXBoc0FjdGl2ZSYmdGhpcy5fZm9jdXNPbkdyYXBoTm9kZShiLGQpO3RoaXMuc2V0KCJfZm9yY2VFeHBhbmROb2RlTmFtZSIsYisiLyIrZCl9fSxfdG9wUmlnaHRTZWxlY3RlZENoYW5nZWQoYil7Yj10aGlzLl90b3BSaWdodFRhYnNbYl0uaWQ7dGhpcy5zZXQoIl9pc1RvcFJpZ2h0UnVudGltZUdyYXBoc0FjdGl2ZSIsInRhYi1ydW50aW1lLWdyYXBocyI9PT1iKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCJ0YWItdGVuc29yLXZhbHVlcyI9PT1iKX0sX3NldFRvcFJpZ2h0UnVudGltZUdyYXBoc1RvQWN0aXZlKCl7dGhpcy5zZXQoIl90b3BSaWdodFNlbGVjdGVkIiwiMCIpO3RoaXMuc2V0KCJfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUiLCEwKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCExKX0sX3NldFRvcFJpZ2h0VGVuc29yVmFsdWVzVG9BY3RpdmUoKXt0aGlzLnNldCgiX3RvcFJpZ2h0U2VsZWN0ZWQiLAoiMSIpO3RoaXMuc2V0KCJfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUiLCExKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCEwKX0sX3JlcXVlc3RCcmVha3BvaW50U3RhdGVDaGFuZ2UoYixkLGYsaCl7Yj17bW9kZToic2V0X3N0YXRlIixub2RlX25hbWU6YixvdXRwdXRfc2xvdDpkLGRlYnVnX29wOmYsc3RhdGU6aH07ZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGVidWdnZXIiLCIvZ2F0ZWRfZ3JwYyIpO2I9ZGMuYWRkUGFyYW1zKGQsYik7dGhpcy5zZXQoIl9idXN5IiwhMCk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGs9Pnt0aGlzLnNldCgiX2J1c3kiLCExKTtjb25zb2xlLmxvZygiQnJlYWtwb2ludCBzZXRfc3RhdGUgcmVzcG9uc2U6ICIsayl9KX0sX2dyYXBoUHJvZ3Jlc3NVcGRhdGVkKGIpe2NvbnN0IGQ9dGhpcy4kJCgiI3RvcC1yaWdodC1wcm9ncmVzcy1iYXIiKTtudWxsPT10aGlzLl9sYXRlc3RTZXNzaW9uUnVuPwooZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwwKSx0aGlzLnNldCgiX2J1c3kiLCExKSk6KGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsYi52YWx1ZSksdGhpcy5zZXQoIl9idXN5IiwxMDA+Yi52YWx1ZSkpfSxfaGFuZGxlV2luZG93UmVzaXplKCl7dGhpcy5zZXQoIl93aW5kb3dXaWR0aCIsYmwoKSk7dGhpcy5zZXQoIl93aW5kb3dIZWlnaHQiLGFsKCkpO3RoaXMuX3NpemVEYXNoYm9hcmRSZWdpb25zKHRoaXMuX2xlZnRQYW5lV2lkdGgsdGhpcy5fdG9wUmlnaHRRdWFkcmFudEhlaWdodCx0aGlzLl93aW5kb3dXaWR0aCl9LF9jb21wdXRlTWF4bGVmdFBhbmVXaWR0aChiLGQsZil7cmV0dXJuIGItZC1mfSxfY29tcHV0ZU1heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQoYixkKXtyZXR1cm4gYi1kLTcwfSxfc2l6ZURhc2hib2FyZFJlZ2lvbnMoYixkLGYpe3RoaXMuJCQoIiNsZWZ0LXBhbmUiKS5zdHlsZS53aWR0aD1iKyJweCI7Yj1mLWItdGhpcy5fcmVzaXplcldpZHRoLTg7dGhpcy4kJCgiI2NlbnRlci1jb250ZW50Iikuc3R5bGUud2lkdGg9CmIrInB4IjtiPWQtdGhpcy5fcmVzaXplcldpZHRoO3RoaXMuJCQoIiN0b3AtcmlnaHQtcXVhZHJhbnQiKS5zdHlsZS5oZWlnaHQ9YisicHgiO3RoaXMuJCQoIiN0ZW5zb3ItZGF0YSIpLnN0eWxlLnRvcD1kKyJweCJ9LF9sZWZ0UGFuZVdpZHRoT2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl9sZWZ0UGFuZVdpZHRoIix7ZGVmYXVsdFZhbHVlOjQ1MH0pLF90b3BSaWdodFF1YWRyYW50SGVpZ2h0T2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl90b3BSaWdodFF1YWRyYW50SGVpZ2h0Iix7ZGVmYXVsdFZhbHVlOmNsfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1tYXRlcmlhbC9wYXBlci1tYXRlcmlhbC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1tYXRlcmlhbCIscHJvcGVydGllczp7ZWxldmF0aW9uOnt0eXBlOk51bWJlcixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6MX0sYW5pbWF0ZWQ6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWRlYnVnZ2VyLWRhdGEtY2FyZC90Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkIixwcm9wZXJ0aWVzOntyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LGRlYnVnZ2VyTnVtZXJpY0FsZXJ0czp7dHlwZTpBcnJheSxub3RpZnk6ITB9LG5vZGVOYW1lc1RvSGVhbHRoUGlsbHM6T2JqZWN0LGhlYWx0aFBpbGxTdGVwSW5kZXg6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sc3BlY2lmaWNIZWFsdGhQaWxsU3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxoaWdobGlnaHRlZE5vZGU6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0sc2VsZWN0ZWROb2RlSW5jbHVkZTp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxhcmVIZWFsdGhQaWxsc0xvYWRpbmc6Qm9vbGVhbixoZWFsdGhQaWxsRW50cmllczp7dHlwZTpBcnJheSx2YWx1ZTp0Zi5ncmFwaC5zY2VuZS5oZWFsdGhQaWxsRW50cmllcyxyZWFkT25seTohMH0saGVhbHRoUGlsbFZhbHVlc0ZvclNlbGVjdGVkTm9kZTp7dHlwZTpBcnJheSwKY29tcHV0ZWQ6Il9jb21wdXRlSGVhbHRoUGlsbEZvck5vZGUobm9kZU5hbWVzVG9IZWFsdGhQaWxscywgaGVhbHRoUGlsbFN0ZXBJbmRleCwgc2VsZWN0ZWROb2RlLCBhbGxTdGVwc01vZGVFbmFibGVkLCBhcmVIZWFsdGhQaWxsc0xvYWRpbmcpIn0sYWxsU3RlcHNNb2RlRW5hYmxlZDp7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0sX2JpZ2dlc3RTdGVwRXZlclNlZW46e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZUJpZ2dlc3RTdGVwRXZlclNlZW4obm9kZU5hbWVzVG9IZWFsdGhQaWxscykifSxfbWF4U3RlcEluZGV4Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVNYXhTdGVwSW5kZXgobm9kZU5hbWVzVG9IZWFsdGhQaWxscykifSxfY3VycmVudFN0ZXBEaXNwbGF5VmFsdWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRTdGVwRGlzcGxheVZhbHVlKG5vZGVOYW1lc1RvSGVhbHRoUGlsbHMsIGhlYWx0aFBpbGxTdGVwSW5kZXgsIGFsbFN0ZXBzTW9kZUVuYWJsZWQsIHNwZWNpZmljSGVhbHRoUGlsbFN0ZXAsIGFyZUhlYWx0aFBpbGxzTG9hZGluZykifX0sCm9ic2VydmVyczpbIl91cGRhdGVBbGVydHNMaXN0KGRlYnVnZ2VyTnVtZXJpY0FsZXJ0cykiXSxyZWFkeTpmdW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluQ29udGFpbmVyIiksZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ0Zi1kYXNoYm9hcmQtbGF5b3V0IC5zY3JvbGxiYXIiKTtiJiZkJiYoYi5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixkLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKX0sX2hlYWx0aFBpbGxzQXZhaWxhYmxlOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGImJmR9LF9jb21wdXRlVGVuc29yQ291bnRTdHJpbmc6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYj9iW2RdLnRvRml4ZWQoMCk6IiJ9LF9jb21wdXRlSGVhbHRoUGlsbEZvck5vZGU6ZnVuY3Rpb24oYixkLGYsaCxrKXtpZihrfHwhZilyZXR1cm4gbnVsbDtiPWJbZl07cmV0dXJuIGI/KGQ9YltoPzA6ZF0pP2QudmFsdWUuc2xpY2UoMiw4KTpudWxsOm51bGx9LF9jb21wdXRlQ3VycmVudFN0ZXBEaXNwbGF5VmFsdWU6ZnVuY3Rpb24oYiwKZCxmLGgsayl7aWYoZilyZXR1cm4gaC50b0ZpeGVkKDApO2lmKGspcmV0dXJuIDA7Zm9yKGxldCByIGluIGIpcmV0dXJuIGJbcl1bZF0uc3RlcC50b0ZpeGVkKDApO3JldHVybiAwfSxfY29tcHV0ZUJpZ2dlc3RTdGVwRXZlclNlZW46ZnVuY3Rpb24oYil7Zm9yKGxldCBkIGluIGIpcmV0dXJuIGI9YltkXSxNYXRoLm1heCh0aGlzLl9iaWdnZXN0U3RlcEV2ZXJTZWVuLGJbYi5sZW5ndGgtMV0uc3RlcCk7cmV0dXJuIHRoaXMuX2JpZ2dlc3RTdGVwRXZlclNlZW58fDB9LF9jb21wdXRlTWF4U3RlcEluZGV4OmZ1bmN0aW9uKGIpe2ZvcihsZXQgZCBpbiBiKXJldHVybiBiW2RdLmxlbmd0aC0xO3JldHVybiAwfSxfaGFzRGVidWdnZXJOdW1lcmljQWxlcnRzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLmxlbmd0aH0sX3VwZGF0ZUFsZXJ0c0xpc3Q6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy4kJCgiI251bWVyaWMtYWxlcnRzLWJvZHkiKTtpZihkKXtkLmlubmVyVGV4dD0iIjtmb3IodmFyIGY9CjA7ZjxiLmxlbmd0aDtmKyspe3ZhciBoPWJbZl0saz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtyLmlubmVyVGV4dD10Zi5ncmFwaC51dGlsLmNvbXB1dGVIdW1hbkZyaWVuZGx5VGltZShoLmZpcnN0X3RpbWVzdGFtcCk7ci5jbGFzc0xpc3QuYWRkKCJmaXJzdC1vZmZlbnNlLXRkIik7ay5hcHBlbmRDaGlsZChyKTtyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItZGV2aWNlLXRkIik7dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUiKTtsLmlubmVyVGV4dD1oLnRlbnNvcl9uYW1lO3RoaXMuX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXIobCxoLnRlbnNvcl9uYW1lKTtyLmFwcGVuZENoaWxkKGwpO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5jbGFzc0xpc3QuYWRkKCJkZXZpY2Utc2VjdGlvbi13aXRoaW4tdGFibGUiKTsKbC5pbm5lclRleHQ9IigiK2guZGV2aWNlX25hbWUrIikiO3IuYXBwZW5kQ2hpbGQobCk7ay5hcHBlbmRDaGlsZChyKTtyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuY2xhc3NMaXN0LmFkZCgibWluaS1oZWFsdGgtcGlsbCIpO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtsLmNsYXNzTGlzdC5hZGQoIm1pbmktaGVhbHRoLXBpbGwtdGQiKTtsLmFwcGVuZENoaWxkKHIpO2suYXBwZW5kQ2hpbGQobCk7aC5uZWdfaW5mX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmNsYXNzTGlzdC5hZGQoIm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24iKSxsLmlubmVyVGV4dD1oLm5lZ19pbmZfZXZlbnRfY291bnQsbC5zZXRBdHRyaWJ1dGUoInRpdGxlIixoLm5lZ19pbmZfZXZlbnRfY291bnQrIiBldmVudHMgd2l0aCAtXHUyMjFlIiksci5hcHBlbmRDaGlsZChsKSk7aC5wb3NfaW5mX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwKbC5jbGFzc0xpc3QuYWRkKCJwb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIiksbC5pbm5lclRleHQ9aC5wb3NfaW5mX2V2ZW50X2NvdW50LGwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaC5wb3NfaW5mX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggK1x1MjIxZSIpLHIuYXBwZW5kQ2hpbGQobCkpO2gubmFuX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmNsYXNzTGlzdC5hZGQoIm5hbi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24iKSxsLmlubmVyVGV4dD1oLm5hbl9ldmVudF9jb3VudCxsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGgubmFuX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggTmFOIiksci5hcHBlbmRDaGlsZChsKSk7UG9seW1lci5kb20oZCkuYXBwZW5kQ2hpbGQoayl9fX0sX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXI6ZnVuY3Rpb24oYixkKXtiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3ZhciBmPXRmLmdyYXBoLnJlbmRlci5leHBhbmRVbnRpbE5vZGVJc1Nob3duKHRoaXMucmVuZGVySGllcmFyY2h5LApkKSxoLGs9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidGYtZ3JhcGgtaW5mbyNncmFwaC1pbmZvIik7ayYmKGg9ay5zY3JvbGxIZWlnaHQtay5zY3JvbGxUb3ApO3ZhciByPXRoaXMuc2VsZWN0ZWROb2RlO3RoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLGYpO2Y9KCk9PntrLnNjcm9sbFRvcD1rLnNjcm9sbEhlaWdodC1ofTtrJiYocj9mKCk6d2luZG93LnNldFRpbWVvdXQoZiwyMCkpfSl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbGlzdC9pcm9uLWxpc3QuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLGQ9YiYmODw9YlsxXSxmPW51bGwhPVBvbHltZXIuZmx1c2gsaD1mP1BvbHltZXIuQXN5bmMuYW5pbWF0aW9uRnJhbWU6MCxrPWY/UG9seW1lci5Bc3luYy5pZGxlUGVyaW9kOjEscj1mP1BvbHltZXIuQXN5bmMubWljcm9UYXNrOjI7UG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3J8fChQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFCZWhhdmlvcj17fSk7UG9seW1lcih7aXM6Imlyb24tbGlzdCIscHJvcGVydGllczp7aXRlbXM6e3R5cGU6QXJyYXl9LGFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXRlbSJ9LGluZGV4QXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpbmRleCJ9LHNlbGVjdGVkQXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJzZWxlY3RlZCJ9LGdyaWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsCm9ic2VydmVyOiJfZ3JpZENoYW5nZWQifSxzZWxlY3Rpb25FbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LG11bHRpU2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNjcm9sbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MH19LG9ic2VydmVyczpbIl9pdGVtc0NoYW5nZWQoaXRlbXMuKikiLCJfc2VsZWN0aW9uRW5hYmxlZENoYW5nZWQoc2VsZWN0aW9uRW5hYmxlZCkiLCJfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkKG11bHRpU2VsZWN0aW9uKSIsIl9zZXRPdmVyZmxvdyhzY3JvbGxUYXJnZXQsIHNjcm9sbE9mZnNldCkiXSxiZWhhdmlvcnM6W1BvbHltZXIuVGVtcGxhdGl6ZXIsUG9seW1lci5Jcm9uUmVzaXphYmxlQmVoYXZpb3IsUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3JdLApfcmF0aW86LjUsX3Njcm9sbGVyUGFkZGluZ1RvcDowLF9zY3JvbGxQb3NpdGlvbjowLF9waHlzaWNhbFNpemU6MCxfcGh5c2ljYWxBdmVyYWdlOjAsX3BoeXNpY2FsQXZlcmFnZUNvdW50OjAsX3BoeXNpY2FsVG9wOjAsX3ZpcnR1YWxDb3VudDowLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCxfcGh5c2ljYWxJdGVtczpudWxsLF9waHlzaWNhbFNpemVzOm51bGwsX2ZpcnN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2NvbGxlY3Rpb246bnVsbCxfbGFzdFZpc2libGVJbmRleFZhbDpudWxsLF9tYXhQYWdlczoyLF9mb2N1c2VkSXRlbTpudWxsLF9mb2N1c2VkVmlydHVhbEluZGV4Oi0xLF9mb2N1c2VkUGh5c2ljYWxJbmRleDotMSxfb2Zmc2NyZWVuRm9jdXNlZEl0ZW06bnVsbCxfZm9jdXNCYWNrZmlsbEl0ZW06bnVsbCxfaXRlbXNQZXJSb3c6MSxfaXRlbVdpZHRoOjAsX3Jvd0hlaWdodDowLF90ZW1wbGF0ZUNvc3Q6MCwKX3BhcmVudE1vZGVsOiEwLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4odGhpcy5ncmlkP3RoaXMuX3BoeXNpY2FsUm93cyp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplKS10aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF9pdGVtc1BhcmVudCgpe3JldHVybiBQb2x5bWVyLmRvbShQb2x5bWVyLmRvbSh0aGlzLl91c2VyVGVtcGxhdGUpLnBhcmVudE5vZGUpfSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSwKZ2V0IF9tYXhWaXJ0dWFsU3RhcnQoKXt2YXIgbD10aGlzLl9jb252ZXJ0SW5kZXhUb0NvbXBsZXRlUm93KHRoaXMuX3ZpcnR1YWxDb3VudCk7cmV0dXJuIE1hdGgubWF4KDAsbC10aGlzLl9waHlzaWNhbENvdW50KX0sc2V0IF92aXJ0dWFsU3RhcnQobCl7bD10aGlzLl9jbGFtcChsLDAsdGhpcy5fbWF4VmlydHVhbFN0YXJ0KTt0aGlzLmdyaWQmJihsLT1sJXRoaXMuX2l0ZW1zUGVyUm93KTt0aGlzLl92aXJ0dWFsU3RhcnRWYWw9bH0sZ2V0IF92aXJ0dWFsU3RhcnQoKXtyZXR1cm4gdGhpcy5fdmlydHVhbFN0YXJ0VmFsfHwwfSxzZXQgX3BoeXNpY2FsU3RhcnQobCl7bCU9dGhpcy5fcGh5c2ljYWxDb3VudDswPmwmJihsPXRoaXMuX3BoeXNpY2FsQ291bnQrbCk7dGhpcy5ncmlkJiYobC09bCV0aGlzLl9pdGVtc1BlclJvdyk7dGhpcy5fcGh5c2ljYWxTdGFydFZhbD1sfSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sZ2V0IF9waHlzaWNhbEVuZCgpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kwp0aGlzLl9waHlzaWNhbENvdW50LTEpJXRoaXMuX3BoeXNpY2FsQ291bnR9LHNldCBfcGh5c2ljYWxDb3VudChsKXt0aGlzLl9waHlzaWNhbENvdW50VmFsPWx9LGdldCBfcGh5c2ljYWxDb3VudCgpe3JldHVybiB0aGlzLl9waHlzaWNhbENvdW50VmFsfHwwfSxnZXQgX29wdFBoeXNpY2FsU2l6ZSgpe3JldHVybiAwPT09dGhpcy5fdmlld3BvcnRIZWlnaHQ/SW5maW5pdHk6dGhpcy5fdmlld3BvcnRIZWlnaHQqdGhpcy5fbWF4UGFnZXN9LGdldCBfaXNWaXNpYmxlKCl7cmV0dXJuISghdGhpcy5vZmZzZXRXaWR0aCYmIXRoaXMub2Zmc2V0SGVpZ2h0KX0sZ2V0IGZpcnN0VmlzaWJsZUluZGV4KCl7dmFyIGw9dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09bCl7dmFyIHA9dGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0O3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPWw9dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKG0sbil7cCs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KG0pOwppZihwPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiB0aGlzLmdyaWQ/bi1uJXRoaXMuX2l0ZW1zUGVyUm93Om47aWYodGhpcy5ncmlkJiZ0aGlzLl92aXJ0dWFsQ291bnQtMT09PW4pcmV0dXJuIG4tbiV0aGlzLl9pdGVtc1BlclJvd30pfHwwfXJldHVybiBsfSxnZXQgbGFzdFZpc2libGVJbmRleCgpe3ZhciBsPXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09bCl7aWYodGhpcy5ncmlkKWw9TWF0aC5taW4odGhpcy5fdmlydHVhbENvdW50LHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdy0xKTtlbHNle3ZhciBwPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSxuKXtwPHRoaXMuX3Njcm9sbEJvdHRvbSYmKGw9bik7cCs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KG0pfSl9dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1sfXJldHVybiBsfSwKZ2V0IF9kZWZhdWx0U2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXN9LGdldCBfdmlydHVhbFJvd0NvdW50KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aXJ0dWFsQ291bnQvdGhpcy5faXRlbXNQZXJSb3cpfSxnZXQgX2VzdFJvd3NJblZpZXcoKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuX3ZpZXdwb3J0SGVpZ2h0L3RoaXMuX3Jvd0hlaWdodCl9LGdldCBfcGh5c2ljYWxSb3dzKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9zY3JvbGxPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wK3RoaXMuc2Nyb2xsT2Zmc2V0fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX2RpZEZvY3VzLmJpbmQodGhpcyksITApfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsaCk7dGhpcy5saXN0ZW4odGhpcywiaXJvbi1yZXNpemUiLAoiX3Jlc2l6ZUhhbmRsZXIiKTt0aGlzLmxpc3Rlbih0aGlzLCJrZXlkb3duIiwiX2tleWRvd25IYW5kbGVyIil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51bmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIik7dGhpcy51bmxpc3Rlbih0aGlzLCJrZXlkb3duIiwiX2tleWRvd25IYW5kbGVyIil9LF9zZXRPdmVyZmxvdzpmdW5jdGlvbihsKXt0aGlzLnN0eWxlLndlYmtpdE92ZXJmbG93U2Nyb2xsaW5nPWw9PT10aGlzPyJ0b3VjaCI6IiI7dGhpcy5zdHlsZS5vdmVyZmxvd1k9bD09PXRoaXM/ImF1dG8iOiIiO3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbDt0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpfSx1cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXM6ZnVuY3Rpb24oKXt2YXIgbD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKTt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3A9CnRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcz8wOnBhcnNlSW50KGxbInBhZGRpbmctdG9wIl0sMTApO3RoaXMuX2lzUlRMPSJydGwiPT09bC5kaXJlY3Rpb247dGhpcy5fdmlld3BvcnRXaWR0aD10aGlzLiQuaXRlbXMub2Zmc2V0V2lkdGg7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0O3RoaXMuZ3JpZCYmdGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKX0sX3Njcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt2YXIgbD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKSxwPWwtdGhpcy5fc2Nyb2xsUG9zaXRpb24sbT0wPD1wO3RoaXMuX3Njcm9sbFBvc2l0aW9uPWw7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO01hdGguYWJzKHApPnRoaXMuX3BoeXNpY2FsU2l6ZSYmMDx0aGlzLl9waHlzaWNhbFNpemU/KHAtPXRoaXMuX3Njcm9sbE9mZnNldCxtPU1hdGgucm91bmQocC8KdGhpcy5fcGh5c2ljYWxBdmVyYWdlKSp0aGlzLl9pdGVtc1BlclJvdyx0aGlzLl92aXJ0dWFsU3RhcnQrPW0sdGhpcy5fcGh5c2ljYWxTdGFydCs9bSx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydC90aGlzLl9pdGVtc1BlclJvdykqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3VwZGF0ZSgpKTowPHRoaXMuX3BoeXNpY2FsQ291bnQmJihsPXRoaXMuX2dldFJldXNhYmxlcyhtKSxtPyh0aGlzLl9waHlzaWNhbFRvcD1sLnBoeXNpY2FsVG9wLHRoaXMuX3ZpcnR1YWxTdGFydCs9bC5pbmRleGVzLmxlbmd0aCx0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sLmluZGV4ZXMubGVuZ3RoKToodGhpcy5fdmlydHVhbFN0YXJ0LT1sLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQtPWwuaW5kZXhlcy5sZW5ndGgpLHRoaXMuX3VwZGF0ZShsLmluZGV4ZXMsbT9udWxsOmwuaW5kZXhlcyksdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsCnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSxyKSl9LF9nZXRSZXVzYWJsZXM6ZnVuY3Rpb24obCl7dmFyIHA9W10sbT10aGlzLl9oaWRkZW5Db250ZW50U2l6ZSp0aGlzLl9yYXRpbyxuPXRoaXMuX3ZpcnR1YWxTdGFydCxxPXRoaXMuX3ZpcnR1YWxFbmQsdT10aGlzLl9waHlzaWNhbENvdW50LHc9dGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0O3ZhciBBPXRoaXMuX3BoeXNpY2FsQm90dG9tK3RoaXMuX3Njcm9sbE9mZnNldDt2YXIgeT10aGlzLl9zY3JvbGxUb3AseD10aGlzLl9zY3JvbGxCb3R0b207aWYobCl7dmFyIEM9dGhpcy5fcGh5c2ljYWxTdGFydDtBPXktd31lbHNlIEM9dGhpcy5fcGh5c2ljYWxFbmQsQS09eDtmb3IoOzspe3ZhciBHPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChDKTtBLT1HO2lmKHAubGVuZ3RoPj11fHxBPD1tKWJyZWFrO2lmKGwpe2lmKHErcC5sZW5ndGgrMT49dGhpcy5fdmlydHVhbENvdW50KWJyZWFrOwppZih3K0c+PXktdGhpcy5fc2Nyb2xsT2Zmc2V0KWJyZWFrO3AucHVzaChDKTt3Kz1HO0M9KEMrMSkldX1lbHNle2lmKDA+PW4tcC5sZW5ndGgpYnJlYWs7aWYodyt0aGlzLl9waHlzaWNhbFNpemUtRzw9eClicmVhaztwLnB1c2goQyk7dy09RztDPTA9PT1DP3UtMTpDLTF9fXJldHVybntpbmRleGVzOnAscGh5c2ljYWxUb3A6dy10aGlzLl9zY3JvbGxPZmZzZXR9fSxfdXBkYXRlOmZ1bmN0aW9uKGwscCl7aWYoIShsJiYwPT09bC5sZW5ndGh8fDA9PT10aGlzLl9waHlzaWNhbENvdW50KSl7dGhpcy5fbWFuYWdlRm9jdXMoKTt0aGlzLl9hc3NpZ25Nb2RlbHMobCk7dGhpcy5fdXBkYXRlTWV0cmljcyhsKTtpZihwKWZvcig7cC5sZW5ndGg7KWw9cC5wb3AoKSx0aGlzLl9waHlzaWNhbFRvcC09dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGwpO3RoaXMuX3Bvc2l0aW9uSXRlbXMoKTt0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoKX19LF9jcmVhdGVQb29sOmZ1bmN0aW9uKGwpe3RoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCk7CnZhciBwLG09QXJyYXkobCk7Zm9yKHA9MDtwPGw7cCsrKXt2YXIgbj10aGlzLnN0YW1wKG51bGwpO21bcF09bi5yb290LnF1ZXJ5U2VsZWN0b3IoIioiKTt0aGlzLl9pdGVtc1BhcmVudC5hcHBlbmRDaGlsZChuLnJvb3QpfXJldHVybiBtfSxfaXNDbGllbnRGdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIDAhPXRoaXMuX3Njcm9sbEJvdHRvbSYmdGhpcy5fcGh5c2ljYWxCb3R0b20tMT49dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbFRvcDw9dGhpcy5fc2Nyb2xsUG9zaXRpb259LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbihsKXtsPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrbCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpO2w9dGhpcy5fY29udmVydEluZGV4VG9Db21wbGV0ZVJvdyhsKTtpZih0aGlzLmdyaWQpe3ZhciBwPWwldGhpcy5faXRlbXNQZXJSb3c7cCYmbC1wPD10aGlzLl9waHlzaWNhbENvdW50JiYobCs9dGhpcy5faXRlbXNQZXJSb3cpOwpsLT1wfWwtPXRoaXMuX3BoeXNpY2FsQ291bnQ7cD1NYXRoLnJvdW5kKC41KnRoaXMuX3BoeXNpY2FsQ291bnQpO2lmKCEoMD5sKSl7aWYoMDxsKXtwPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTtbXS5wdXNoLmFwcGx5KHRoaXMuX3BoeXNpY2FsSXRlbXMsdGhpcy5fY3JlYXRlUG9vbChsKSk7Zm9yKHZhciBtPTA7bTxsO20rKyl0aGlzLl9waHlzaWNhbFNpemVzLnB1c2goMCk7dGhpcy5fcGh5c2ljYWxDb3VudCs9bDt0aGlzLl9waHlzaWNhbFN0YXJ0PnRoaXMuX3BoeXNpY2FsRW5kJiZ0aGlzLl9pc0luZGV4UmVuZGVyZWQodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkmJnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCk8dGhpcy5fcGh5c2ljYWxFbmQmJih0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sKTt0aGlzLl91cGRhdGUoKTt0aGlzLl90ZW1wbGF0ZUNvc3Q9KHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1wKS9sO3A9TWF0aC5yb3VuZCguNSoKdGhpcy5fcGh5c2ljYWxDb3VudCl9dGhpcy5fdmlydHVhbEVuZD49dGhpcy5fdmlydHVhbENvdW50LTF8fDA9PT1wfHwodGhpcy5faXNDbGllbnRGdWxsKCk/dGhpcy5fcGh5c2ljYWxTaXplPHRoaXMuX29wdFBoeXNpY2FsU2l6ZSYmdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHRoaXMuX2NsYW1wKE1hdGgucm91bmQoNTAvdGhpcy5fdGVtcGxhdGVDb3N0KSwxLHApKSxrKTp0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMscCkscikpfX0sX3JlbmRlcjpmdW5jdGlvbigpe2lmKHRoaXMuaXNBdHRhY2hlZCYmdGhpcy5faXNWaXNpYmxlKWlmKDAhPT10aGlzLl9waHlzaWNhbENvdW50KXt2YXIgbD10aGlzLl9nZXRSZXVzYWJsZXMoITApO3RoaXMuX3BoeXNpY2FsVG9wPWwucGh5c2ljYWxUb3A7dGhpcy5fdmlydHVhbFN0YXJ0Kz0KbC5pbmRleGVzLmxlbmd0aDt0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sLmluZGV4ZXMubGVuZ3RoO3RoaXMuX3VwZGF0ZShsLmluZGV4ZXMpO3RoaXMuX3VwZGF0ZSgpO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDApfWVsc2UgMDx0aGlzLl92aXJ0dWFsQ291bnQmJih0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDMpKX0sX2Vuc3VyZVRlbXBsYXRpemVkOmZ1bmN0aW9uKCl7aWYoIXRoaXMuY3Rvcil7KHRoaXMuX3VzZXJUZW1wbGF0ZT10aGlzLnF1ZXJ5RWZmZWN0aXZlQ2hpbGRyZW4oInRlbXBsYXRlIikpfHxjb25zb2xlLndhcm4oImlyb24tbGlzdCByZXF1aXJlcyBhIHRlbXBsYXRlIHRvIGJlIHByb3ZpZGVkIGluIGxpZ2h0LWRvbSIpO3ZhciBsPXtfX2tleV9fOiEwfTtsW3RoaXMuYXNdPSEwO2xbdGhpcy5pbmRleEFzXT0hMDtsW3RoaXMuc2VsZWN0ZWRBc109ITA7bC50YWJJbmRleD0hMDt0aGlzLl9pbnN0YW5jZVByb3BzPQpsO3RoaXMudGVtcGxhdGl6ZSh0aGlzLl91c2VyVGVtcGxhdGUsdGhpcy5tdXRhYmxlRGF0YSl9fSxfZ3JpZENoYW5nZWQ6ZnVuY3Rpb24obCxwKXsidW5kZWZpbmVkIiE9PXR5cGVvZiBwJiYodGhpcy5ub3RpZnlSZXNpemUoKSxQb2x5bWVyLmZsdXNoP1BvbHltZXIuZmx1c2goKTpQb2x5bWVyLmRvbS5mbHVzaCgpLGwmJnRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCkpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKGwpe2lmKCJpdGVtcyI9PT1sLnBhdGgpdGhpcy5fcGh5c2ljYWxUb3A9dGhpcy5fdmlydHVhbFN0YXJ0PTAsdGhpcy5fdmlydHVhbENvdW50PXRoaXMuaXRlbXM/dGhpcy5pdGVtcy5sZW5ndGg6MCx0aGlzLl9jb2xsZWN0aW9uPXRoaXMuaXRlbXMmJlBvbHltZXIuQ29sbGVjdGlvbj9Qb2x5bWVyLkNvbGxlY3Rpb24uZ2V0KHRoaXMuaXRlbXMpOm51bGwsdGhpcy5fcGh5c2ljYWxJbmRleEZvcktleT17fSx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPQpudWxsLHRoaXMuX3BoeXNpY2FsQ291bnQ9dGhpcy5fcGh5c2ljYWxDb3VudHx8MCx0aGlzLl9waHlzaWNhbEl0ZW1zPXRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdLHRoaXMuX3BoeXNpY2FsU2l6ZXM9dGhpcy5fcGh5c2ljYWxTaXplc3x8W10sdGhpcy5fcGh5c2ljYWxTdGFydD0wLHRoaXMuX3Njcm9sbFRvcD50aGlzLl9zY3JvbGxPZmZzZXQmJnRoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24oMCksdGhpcy5fcmVtb3ZlRm9jdXNlZEl0ZW0oKSx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpO2Vsc2UgaWYoIml0ZW1zLnNwbGljZXMiPT09bC5wYXRoKXt0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXgobC52YWx1ZS5pbmRleFNwbGljZXMpO3RoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjA7aWYobC52YWx1ZS5pbmRleFNwbGljZXMuc29tZShmdW5jdGlvbihtKXtyZXR1cm4gMDxtLmFkZGVkQ291bnR8fDA8bS5yZW1vdmVkLmxlbmd0aH0pKXt2YXIgcD0KdGhpcy5fZ2V0QWN0aXZlRWxlbWVudCgpO3RoaXMuY29udGFpbnMocCkmJnAuYmx1cigpfWw9bC52YWx1ZS5pbmRleFNwbGljZXMuc29tZShmdW5jdGlvbihtKXtyZXR1cm4gbS5pbmRleCttLmFkZGVkQ291bnQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmbS5pbmRleDw9dGhpcy5fdmlydHVhbEVuZH0sdGhpcyk7dGhpcy5faXNDbGllbnRGdWxsKCkmJiFsfHx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpfWVsc2UiaXRlbXMubGVuZ3RoIiE9PWwucGF0aCYmdGhpcy5fZm9yd2FyZEl0ZW1QYXRoKGwucGF0aCxsLnZhbHVlKX0sX2ZvcndhcmRJdGVtUGF0aDpmdW5jdGlvbihsLHApe2w9bC5zbGljZSg2KTt2YXIgbT1sLmluZGV4T2YoIi4iKTstMT09PW0mJihtPWwubGVuZ3RoKTt2YXIgbixxPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTtpZihmKXt2YXIgdT1wYXJzZUludChsLnN1YnN0cmluZygwLG0pLDEwKTtpZihuPXRoaXMuX2lzSW5kZXhSZW5kZXJlZCh1KSl7dmFyIHc9CnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodSk7dmFyIEE9dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t3XSl9ZWxzZSBxJiYoQT1xKTtpZighQXx8QVt0aGlzLmluZGV4QXNdIT09dSlyZXR1cm59ZWxzZSBpZih1PWwuc3Vic3RyaW5nKDAsbSkscSYmcS5fX2tleV9fPT09dSlBPXE7ZWxzZSBpZih3PXRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbdV0sQT10aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3ddKSwhQXx8QS5fX2tleV9fIT09dSlyZXR1cm47bD1sLnN1YnN0cmluZyhtKzEpO2w9dGhpcy5hcysobD8iLiIrbDoiIik7Zj9BLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgobCxwLCExLCEwKTpBLm5vdGlmeVBhdGgobCxwLCEwKTtBLl9mbHVzaFByb3BlcnRpZXMmJkEuX2ZsdXNoUHJvcGVydGllcyghMCk7biYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW3ddKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCkpfSwKX2FkanVzdFZpcnR1YWxJbmRleDpmdW5jdGlvbihsKXtsLmZvckVhY2goZnVuY3Rpb24ocCl7cC5yZW1vdmVkLmZvckVhY2godGhpcy5fcmVtb3ZlSXRlbSx0aGlzKTtwLmluZGV4PHRoaXMuX3ZpcnR1YWxTdGFydCYmKHA9TWF0aC5tYXgocC5hZGRlZENvdW50LXAucmVtb3ZlZC5sZW5ndGgscC5pbmRleC10aGlzLl92aXJ0dWFsU3RhcnQpLHRoaXMuX3ZpcnR1YWxTdGFydCs9cCwwPD10aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4JiYodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCs9cCkpfSx0aGlzKX0sX3JlbW92ZUl0ZW06ZnVuY3Rpb24obCl7dGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0KGwpO3RoaXMuX2ZvY3VzZWRJdGVtJiZ0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9mb2N1c2VkSXRlbSlbdGhpcy5hc109PT1sJiZ0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpfSxfaXRlcmF0ZUl0ZW1zOmZ1bmN0aW9uKGwscCl7dmFyIG0sbjtpZigyPT09YXJndW1lbnRzLmxlbmd0aCYmcClmb3Iobj0KMDtuPHAubGVuZ3RoO24rKyl7dmFyIHE9cFtuXTt2YXIgdT10aGlzLl9jb21wdXRlVmlkeChxKTtpZihudWxsIT0obT1sLmNhbGwodGhpcyxxLHUpKSlyZXR1cm4gbX1lbHNle3E9dGhpcy5fcGh5c2ljYWxTdGFydDtmb3IodT10aGlzLl92aXJ0dWFsU3RhcnQ7cTx0aGlzLl9waHlzaWNhbENvdW50O3ErKyx1KyspaWYobnVsbCE9KG09bC5jYWxsKHRoaXMscSx1KSkpcmV0dXJuIG07Zm9yKHE9MDtxPHRoaXMuX3BoeXNpY2FsU3RhcnQ7cSsrLHUrKylpZihudWxsIT0obT1sLmNhbGwodGhpcyxxLHUpKSlyZXR1cm4gbX19LF9jb21wdXRlVmlkeDpmdW5jdGlvbihsKXtyZXR1cm4gbD49dGhpcy5fcGh5c2ljYWxTdGFydD90aGlzLl92aXJ0dWFsU3RhcnQrKGwtdGhpcy5fcGh5c2ljYWxTdGFydCk6dGhpcy5fdmlydHVhbFN0YXJ0Kyh0aGlzLl9waHlzaWNhbENvdW50LXRoaXMuX3BoeXNpY2FsU3RhcnQpK2x9LF9hc3NpZ25Nb2RlbHM6ZnVuY3Rpb24obCl7dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKHAsCm0pe3ZhciBuPXRoaXMuX3BoeXNpY2FsSXRlbXNbcF0scT10aGlzLml0ZW1zJiZ0aGlzLml0ZW1zW21dO2lmKG51bGwhPXEpe3ZhciB1PXRoaXMubW9kZWxGb3JFbGVtZW50KG4pO3UuX19rZXlfXz10aGlzLl9jb2xsZWN0aW9uP3RoaXMuX2NvbGxlY3Rpb24uZ2V0S2V5KHEpOm51bGw7dGhpcy5fZm9yd2FyZFByb3BlcnR5KHUsdGhpcy5hcyxxKTt0aGlzLl9mb3J3YXJkUHJvcGVydHkodSx0aGlzLnNlbGVjdGVkQXMsdGhpcy4kLnNlbGVjdG9yLmlzU2VsZWN0ZWQocSkpO3RoaXMuX2ZvcndhcmRQcm9wZXJ0eSh1LHRoaXMuaW5kZXhBcyxtKTt0aGlzLl9mb3J3YXJkUHJvcGVydHkodSwidGFiSW5kZXgiLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9PT1tPzA6LTEpO3RoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbdS5fX2tleV9fXT1wO3UuX2ZsdXNoUHJvcGVydGllcyYmdS5fZmx1c2hQcm9wZXJ0aWVzKCEwKTtuLnJlbW92ZUF0dHJpYnV0ZSgiaGlkZGVuIil9ZWxzZSBuLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwKIiIpfSxsKX0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24obCl7UG9seW1lci5mbHVzaD9Qb2x5bWVyLmZsdXNoKCk6UG9seW1lci5kb20uZmx1c2goKTt2YXIgcD0wLG09MCxuPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHE9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbih1KXttKz10aGlzLl9waHlzaWNhbFNpemVzW3VdO3RoaXMuX3BoeXNpY2FsU2l6ZXNbdV09dGhpcy5fcGh5c2ljYWxJdGVtc1t1XS5vZmZzZXRIZWlnaHQ7cCs9dGhpcy5fcGh5c2ljYWxTaXplc1t1XTt0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCs9dGhpcy5fcGh5c2ljYWxTaXplc1t1XT8xOjB9LGwpO3RoaXMuZ3JpZD8odGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKSx0aGlzLl9waHlzaWNhbFNpemU9TWF0aC5jZWlsKHRoaXMuX3BoeXNpY2FsQ291bnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3Jvd0hlaWdodCk6KG09MT09PXRoaXMuX2l0ZW1zUGVyUm93P206Ck1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQsdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStwLW0sdGhpcy5faXRlbXNQZXJSb3c9MSk7dGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1uJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHEqbitwKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfdXBkYXRlR3JpZE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9pdGVtV2lkdGg9MDx0aGlzLl9waHlzaWNhbENvdW50P3RoaXMuX3BoeXNpY2FsSXRlbXNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg6MjAwO3RoaXMuX3Jvd0hlaWdodD0wPHRoaXMuX3BoeXNpY2FsQ291bnQ/dGhpcy5fcGh5c2ljYWxJdGVtc1swXS5vZmZzZXRIZWlnaHQ6MjAwO3RoaXMuX2l0ZW1zUGVyUm93PXRoaXMuX2l0ZW1XaWR0aD9NYXRoLmZsb29yKHRoaXMuX3ZpZXdwb3J0V2lkdGgvdGhpcy5faXRlbVdpZHRoKToKdGhpcy5faXRlbXNQZXJSb3d9LF9wb3NpdGlvbkl0ZW1zOmZ1bmN0aW9uKCl7dGhpcy5fYWRqdXN0U2Nyb2xsUG9zaXRpb24oKTt2YXIgbD10aGlzLl9waHlzaWNhbFRvcDtpZih0aGlzLmdyaWQpe3ZhciBwPSh0aGlzLl92aWV3cG9ydFdpZHRoLXRoaXMuX2l0ZW1zUGVyUm93KnRoaXMuX2l0ZW1XaWR0aCkvMjt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSxuKXt2YXIgcT1NYXRoLmZsb29yKG4ldGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoK3ApO3RoaXMuX2lzUlRMJiYocSo9LTEpO3RoaXMudHJhbnNsYXRlM2QocSsicHgiLGwrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbV0pO3RoaXMuX3Nob3VsZFJlbmRlck5leHRSb3cobikmJihsKz10aGlzLl9yb3dIZWlnaHQpfSl9ZWxzZSB0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSl7dGhpcy50cmFuc2xhdGUzZCgwLGwrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbV0pO2wrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbbV19KX0sCl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuZ3JpZD90aGlzLl9jb21wdXRlVmlkeChsKSV0aGlzLl9pdGVtc1BlclJvdyE9PXRoaXMuX2l0ZW1zUGVyUm93LTE/MDp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplc1tsXX0sX3Nob3VsZFJlbmRlck5leHRSb3c6ZnVuY3Rpb24obCl7cmV0dXJuIGwldGhpcy5faXRlbXNQZXJSb3c9PT10aGlzLl9pdGVtc1BlclJvdy0xfSxfYWRqdXN0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD0wPT09dGhpcy5fdmlydHVhbFN0YXJ0P3RoaXMuX3BoeXNpY2FsVG9wOk1hdGgubWluKHRoaXMuX3Njcm9sbFBvc2l0aW9uK3RoaXMuX3BoeXNpY2FsVG9wLDApO2lmKDAhPT1sKXt0aGlzLl9waHlzaWNhbFRvcC09bDt2YXIgcD10aGlzLl9zY3JvbGxUb3A7IWQmJjA8cCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihwLWwpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24obCl7dGhpcy5zY3JvbGxUYXJnZXQmJgowPD1sJiYodGhpcy5fc2Nyb2xsUG9zaXRpb249dGhpcy5fc2Nyb2xsVG9wPWwpfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKGwpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLmdyaWQ/dGhpcy5fdmlydHVhbFJvd0NvdW50KnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlO2lmKChsPShsPShsPWx8fDA9PT10aGlzLl9zY3JvbGxIZWlnaHQpfHx0aGlzLl9zY3JvbGxQb3NpdGlvbj49dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3BoeXNpY2FsU2l6ZSl8fHRoaXMuZ3JpZCYmdGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodDx0aGlzLl9lc3RTY3JvbGxIZWlnaHQpfHxNYXRoLmFicyh0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fc2Nyb2xsSGVpZ2h0KT49dGhpcy5fdmlld3BvcnRIZWlnaHQpdGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodD0KdGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KyJweCIsdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodH0sc2Nyb2xsVG9JdGVtOmZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5pdGVtcy5pbmRleE9mKGwpKX0sc2Nyb2xsVG9JbmRleDpmdW5jdGlvbihsKXtpZighKCJudW1iZXIiIT09dHlwZW9mIGx8fDA+bHx8bD50aGlzLml0ZW1zLmxlbmd0aC0xKSYmKFBvbHltZXIuZmx1c2g/UG9seW1lci5mbHVzaCgpOlBvbHltZXIuZG9tLmZsdXNoKCksMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpKXtsPXRoaXMuX2NsYW1wKGwsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSk7aWYoIXRoaXMuX2lzSW5kZXhSZW5kZXJlZChsKXx8bD49dGhpcy5fbWF4VmlydHVhbFN0YXJ0KXRoaXMuX3ZpcnR1YWxTdGFydD10aGlzLmdyaWQ/bC0yKnRoaXMuX2l0ZW1zUGVyUm93OmwtMTt0aGlzLl9tYW5hZ2VGb2N1cygpO3RoaXMuX2Fzc2lnbk1vZGVscygpO3RoaXMuX3VwZGF0ZU1ldHJpY3MoKTsKdGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtmb3IodmFyIHA9dGhpcy5fcGh5c2ljYWxTdGFydCxtPXRoaXMuX3ZpcnR1YWxTdGFydCxuPTAscT10aGlzLl9oaWRkZW5Db250ZW50U2l6ZTttPGwmJm48PXE7KW4rPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChwKSxwPShwKzEpJXRoaXMuX3BoeXNpY2FsQ291bnQsbSsrO3RoaXMuX3VwZGF0ZVNjcm9sbGVyU2l6ZSghMCk7dGhpcy5fcG9zaXRpb25JdGVtcygpO3RoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24odGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0K24pO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDApO3RoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbH19LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0KdGhpcy5fcGh5c2ljYWxBdmVyYWdlPTB9LF9yZXNpemVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fZGVib3VuY2UoIl9yZW5kZXIiLGZ1bmN0aW9uKCl7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO3RoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCk7dGhpcy5faXNWaXNpYmxlPyh0aGlzLnRvZ2dsZVNjcm9sbExpc3RlbmVyKCEwKSx0aGlzLl9yZXNldEF2ZXJhZ2UoKSx0aGlzLl9yZW5kZXIoKSk6dGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMSl9LGgpfSxzZWxlY3RJdGVtOmZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLnNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZihsKSl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKGwpe2lmKCEoMD5sfHxsPj10aGlzLl92aXJ0dWFsQ291bnQpKXshdGhpcy5tdWx0aVNlbGVjdGlvbiYmdGhpcy5zZWxlY3RlZEl0ZW0mJnRoaXMuY2xlYXJTZWxlY3Rpb24oKTtpZih0aGlzLl9pc0luZGV4UmVuZGVyZWQobCkpe3ZhciBwPQp0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgobCldKTtwJiYocFt0aGlzLnNlbGVjdGVkQXNdPSEwKTt0aGlzLnVwZGF0ZVNpemVGb3JJbmRleChsKX10aGlzLiQuc2VsZWN0b3Iuc2VsZWN0SW5kZXg/dGhpcy4kLnNlbGVjdG9yLnNlbGVjdEluZGV4KGwpOnRoaXMuJC5zZWxlY3Rvci5zZWxlY3QodGhpcy5pdGVtc1tsXSl9fSxkZXNlbGVjdEl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuZGVzZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YobCkpfSxkZXNlbGVjdEluZGV4OmZ1bmN0aW9uKGwpezA+bHx8bD49dGhpcy5fdmlydHVhbENvdW50fHwodGhpcy5faXNJbmRleFJlbmRlcmVkKGwpJiYodGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9nZXRQaHlzaWNhbEluZGV4KGwpXSlbdGhpcy5zZWxlY3RlZEFzXT0hMSx0aGlzLnVwZGF0ZVNpemVGb3JJbmRleChsKSksdGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0SW5kZXg/CnRoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdEluZGV4KGwpOnRoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdCh0aGlzLml0ZW1zW2xdKSl9LHRvZ2dsZVNlbGVjdGlvbkZvckl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMudG9nZ2xlU2VsZWN0aW9uRm9ySW5kZXgodGhpcy5pdGVtcy5pbmRleE9mKGwpKX0sdG9nZ2xlU2VsZWN0aW9uRm9ySW5kZXg6ZnVuY3Rpb24obCl7KHRoaXMuJC5zZWxlY3Rvci5pc0luZGV4U2VsZWN0ZWQ/dGhpcy4kLnNlbGVjdG9yLmlzSW5kZXhTZWxlY3RlZChsKTp0aGlzLiQuc2VsZWN0b3IuaXNTZWxlY3RlZCh0aGlzLml0ZW1zW2xdKSk/dGhpcy5kZXNlbGVjdEluZGV4KGwpOnRoaXMuc2VsZWN0SW5kZXgobCl9LGNsZWFyU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKGwpe3RoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbbF0pW3RoaXMuc2VsZWN0ZWRBc109ITF9KTt0aGlzLiQuc2VsZWN0b3IuY2xlYXJTZWxlY3Rpb24oKX0sCl9zZWxlY3Rpb25FbmFibGVkQ2hhbmdlZDpmdW5jdGlvbihsKXsobD90aGlzLmxpc3Rlbjp0aGlzLnVubGlzdGVuKS5jYWxsKHRoaXMsdGhpcywidGFwIiwiX3NlbGVjdGlvbkhhbmRsZXIiKX0sX3NlbGVjdGlvbkhhbmRsZXI6ZnVuY3Rpb24obCl7dmFyIHA9dGhpcy5tb2RlbEZvckVsZW1lbnQobC50YXJnZXQpO2lmKHApe3ZhciBtPVBvbHltZXIuZG9tKGwpLnBhdGhbMF07bD10aGlzLl9nZXRBY3RpdmVFbGVtZW50KCk7dmFyIG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9nZXRQaHlzaWNhbEluZGV4KHBbdGhpcy5pbmRleEFzXSldO2lmKCJpbnB1dCIhPT1tLmxvY2FsTmFtZSYmImJ1dHRvbiIhPT1tLmxvY2FsTmFtZSYmInNlbGVjdCIhPT1tLmxvY2FsTmFtZSl7bT1wLnRhYkluZGV4O3AudGFiSW5kZXg9LTEwMDt2YXIgcT1sP2wudGFiSW5kZXg6LTE7cC50YWJJbmRleD1tO2wmJm4hPT1sJiZuLmNvbnRhaW5zKGwpJiYtMTAwIT09cXx8dGhpcy50b2dnbGVTZWxlY3Rpb25Gb3JJdGVtKHBbdGhpcy5hc10pfX19LApfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkOmZ1bmN0aW9uKGwpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKTt0aGlzLiQuc2VsZWN0b3IubXVsdGk9bH0sdXBkYXRlU2l6ZUZvckl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZihsKSl9LHVwZGF0ZVNpemVGb3JJbmRleDpmdW5jdGlvbihsKXtpZighdGhpcy5faXNJbmRleFJlbmRlcmVkKGwpKXJldHVybiBudWxsO3RoaXMuX3VwZGF0ZU1ldHJpY3MoW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgobCldKTt0aGlzLl9wb3NpdGlvbkl0ZW1zKCk7cmV0dXJuIG51bGx9LF9tYW5hZ2VGb2N1czpmdW5jdGlvbigpe3ZhciBsPXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7MDw9bCYmbDx0aGlzLl92aXJ0dWFsQ291bnQ/dGhpcy5faXNJbmRleFJlbmRlcmVkKGwpP3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpOnRoaXMuX2NyZWF0ZUZvY3VzQmFja2ZpbGxJdGVtKCk6MDx0aGlzLl92aXJ0dWFsQ291bnQmJgowPHRoaXMuX3BoeXNpY2FsQ291bnQmJih0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD10aGlzLl9waHlzaWNhbFN0YXJ0LHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dGhpcy5fdmlydHVhbFN0YXJ0LHRoaXMuX2ZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fcGh5c2ljYWxTdGFydF0pfSxfY29udmVydEluZGV4VG9Db21wbGV0ZVJvdzpmdW5jdGlvbihsKXt0aGlzLl9pdGVtc1BlclJvdz10aGlzLl9pdGVtc1BlclJvd3x8MTtyZXR1cm4gdGhpcy5ncmlkP01hdGguY2VpbChsL3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9pdGVtc1BlclJvdzpsfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKGwpe3JldHVybiBsPj10aGlzLl92aXJ0dWFsU3RhcnQmJmw8PXRoaXMuX3ZpcnR1YWxFbmR9LF9pc0luZGV4VmlzaWJsZTpmdW5jdGlvbihsKXtyZXR1cm4gbD49dGhpcy5maXJzdFZpc2libGVJbmRleCYmbDw9dGhpcy5sYXN0VmlzaWJsZUluZGV4fSxfZ2V0UGh5c2ljYWxJbmRleDpmdW5jdGlvbihsKXtyZXR1cm4gZj8KKHRoaXMuX3BoeXNpY2FsU3RhcnQrKGwtdGhpcy5fdmlydHVhbFN0YXJ0KSkldGhpcy5fcGh5c2ljYWxDb3VudDp0aGlzLl9waHlzaWNhbEluZGV4Rm9yS2V5W3RoaXMuX2NvbGxlY3Rpb24uZ2V0S2V5KHRoaXMuaXRlbXNbbF0pXX0sZm9jdXNJdGVtOmZ1bmN0aW9uKGwpe3RoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKGwpfSxfZm9jdXNQaHlzaWNhbEl0ZW06ZnVuY3Rpb24obCl7aWYoISgwPmx8fGw+PXRoaXMuX3ZpcnR1YWxDb3VudCkpe3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpO3RoaXMuX2lzSW5kZXhSZW5kZXJlZChsKXx8dGhpcy5zY3JvbGxUb0luZGV4KGwpO3ZhciBwPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleChsKV0sbT10aGlzLm1vZGVsRm9yRWxlbWVudChwKSxuO20udGFiSW5kZXg9LTEwMDstMTAwPT09cC50YWJJbmRleCYmKG49cCk7bnx8KG49UG9seW1lci5kb20ocCkucXVlcnlTZWxlY3RvcignW3RhYmluZGV4XHgzZCItMTAwIl0nKSk7Cm0udGFiSW5kZXg9MDt0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4PWw7biYmbi5mb2N1cygpfX0sX3JlbW92ZUZvY3VzZWRJdGVtOmZ1bmN0aW9uKCl7dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0mJnRoaXMuX2l0ZW1zUGFyZW50LnJlbW92ZUNoaWxkKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTt0aGlzLl9mb2N1c2VkSXRlbT10aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbT1udWxsO3RoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9LTF9LF9jcmVhdGVGb2N1c0JhY2tmaWxsSXRlbTpmdW5jdGlvbigpe3ZhciBsPXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4O2lmKCEodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW18fDA+dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkpe2lmKCF0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSl7dmFyIHA9dGhpcy5zdGFtcChudWxsKTt0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT0KcC5yb290LnF1ZXJ5U2VsZWN0b3IoIioiKTt0aGlzLl9pdGVtc1BhcmVudC5hcHBlbmRDaGlsZChwLnJvb3QpfXRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbbF07dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pLnRhYkluZGV4PTA7dGhpcy5fcGh5c2ljYWxJdGVtc1tsXT10aGlzLl9mb2N1c0JhY2tmaWxsSXRlbTt0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD1sO3RoaXMudHJhbnNsYXRlM2QoMCwiLTEwMDAwcHgiLDAsdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pfX0sX3Jlc3RvcmVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe2lmKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtJiYhKDA+dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkpe3RoaXMuX2Fzc2lnbk1vZGVscygpO3ZhciBsPXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksCnA9dGhpcy5fcGh5c2ljYWxJdGVtc1tsXTtpZihwKXt2YXIgbT10aGlzLm1vZGVsRm9yRWxlbWVudChwKSxuPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTttW3RoaXMuYXNdPT09blt0aGlzLmFzXT8odGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW09cCxtLnRhYkluZGV4PS0xLHRoaXMuX3BoeXNpY2FsSXRlbXNbbF09dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy50cmFuc2xhdGUzZCgwLCItMTAwMDBweCIsMCx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSkpOih0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtPW51bGwpO3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGx9fX0sX2RpZEZvY3VzOmZ1bmN0aW9uKGwpe2w9dGhpcy5tb2RlbEZvckVsZW1lbnQobC50YXJnZXQpO3ZhciBwPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX2ZvY3VzZWRJdGVtKSxtPW51bGwhPT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSwKbj10aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4O2wmJihwPT09bD90aGlzLl9pc0luZGV4VmlzaWJsZShuKXx8dGhpcy5zY3JvbGxUb0luZGV4KG4pOih0aGlzLl9yZXN0b3JlRm9jdXNlZEl0ZW0oKSxwJiYocC50YWJJbmRleD0tMSksbC50YWJJbmRleD0wLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9bj1sW3RoaXMuaW5kZXhBc10sdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXg9dGhpcy5fZ2V0UGh5c2ljYWxJbmRleChuKSx0aGlzLl9mb2N1c2VkSXRlbT10aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4XSxtJiYhdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0mJnRoaXMuX3VwZGF0ZSgpKSl9LF9rZXlkb3duSGFuZGxlcjpmdW5jdGlvbihsKXtzd2l0Y2gobC5rZXlDb2RlKXtjYXNlIDQwOnRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8dGhpcy5fdmlydHVhbENvdW50LTEmJmwucHJldmVudERlZmF1bHQoKTt0aGlzLl9mb2N1c1BoeXNpY2FsSXRlbSh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KwoodGhpcy5ncmlkP3RoaXMuX2l0ZW1zUGVyUm93OjEpKTticmVhaztjYXNlIDM5OnRoaXMuZ3JpZCYmdGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCsodGhpcy5faXNSVEw/LTE6MSkpO2JyZWFrO2Nhc2UgMzg6MDx0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4JiZsLnByZXZlbnREZWZhdWx0KCk7dGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleC0odGhpcy5ncmlkP3RoaXMuX2l0ZW1zUGVyUm93OjEpKTticmVhaztjYXNlIDM3OnRoaXMuZ3JpZCYmdGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCsodGhpcy5faXNSVEw/MTotMSkpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksdGhpcy5zZWxlY3Rpb25FbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25IYW5kbGVyKGwpfX0sX2NsYW1wOmZ1bmN0aW9uKGwsCnAsbSl7cmV0dXJuIE1hdGgubWluKG0sTWF0aC5tYXgocCxsKSl9LF9kZWJvdW5jZTpmdW5jdGlvbihsLHAsbSl7Zj8odGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW2xdPVBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbbF0sbSxwLmJpbmQodGhpcykpLFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcih0aGlzLl9kZWJvdW5jZXJzW2xdKSk6UG9seW1lci5kb20uYWRkRGVib3VuY2VyKHRoaXMuZGVib3VuY2UobCxwKSl9LF9mb3J3YXJkUHJvcGVydHk6ZnVuY3Rpb24obCxwLG0pe2Y/bC5fc2V0UGVuZGluZ1Byb3BlcnR5KHAsbSk6bFtwXT1tfSxfZm9yd2FyZEhvc3RQcm9wVjI6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJnRoaXMubW9kZWxGb3JFbGVtZW50KG0pLmZvcndhcmRIb3N0UHJvcChsLApwKX0sdGhpcyl9LF9ub3RpZnlJbnN0YW5jZVByb3BWMjpmdW5jdGlvbihsLHAsbSl7UG9seW1lci5QYXRoLm1hdGNoZXModGhpcy5hcyxwKSYmKGw9bFt0aGlzLmluZGV4QXNdLHA9PXRoaXMuYXMmJih0aGlzLml0ZW1zW2xdPW0pLHRoaXMubm90aWZ5UGF0aChQb2x5bWVyLlBhdGgudHJhbnNsYXRlKHRoaXMuYXMsIml0ZW1zLiIrbCxwKSxtKSl9LF9nZXRTdGFtcGVkQ2hpbGRyZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxJdGVtc30sX2ZvcndhcmRJbnN0YW5jZVBhdGg6ZnVuY3Rpb24obCxwLG0pezA9PT1wLmluZGV4T2YodGhpcy5hcysiLiIpJiZ0aGlzLm5vdGlmeVBhdGgoIml0ZW1zLiIrbC5fX2tleV9fKyIuIitwLnNsaWNlKHRoaXMuYXMubGVuZ3RoKzEpLG0pfSxfZm9yd2FyZFBhcmVudFBhdGg6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJgp0aGlzLm1vZGVsRm9yRWxlbWVudChtKS5ub3RpZnlQYXRoKGwscCwhMCl9LHRoaXMpfSxfZm9yd2FyZFBhcmVudFByb3A6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJih0aGlzLm1vZGVsRm9yRWxlbWVudChtKVtsXT1wKX0sdGhpcyl9LF9nZXRBY3RpdmVFbGVtZW50OmZ1bmN0aW9uKCl7dmFyIGw9dGhpcy5faXRlbXNQYXJlbnQubm9kZS5kb21Ib3N0O3JldHVybiBQb2x5bWVyLmRvbShsP2wucm9vdDpkb2N1bWVudCkuYWN0aXZlRWxlbWVudH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaXRlbS9wYXBlci1pdGVtLWJvZHkuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaXRlbS1ib2R5In0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi90Zi1ncmFwaC1pY29uLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2xldCBoOyhmdW5jdGlvbihrKXtrLkNPTlNUPSJDT05TVCI7ay5NRVRBPSJNRVRBIjtrLk9QPSJPUCI7ay5TRVJJRVM9IlNFUklFUyI7ay5TVU1NQVJZPSJTVU1NQVJZIn0pKGg9Zi5HcmFwaEljb25UeXBlfHwoZi5HcmFwaEljb25UeXBlPXt9KSk7UG9seW1lcih7aXM6InRmLWdyYXBoLWljb24iLHByb3BlcnRpZXM6e3R5cGU6U3RyaW5nLHZlcnRpY2FsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpbGxPdmVycmlkZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sc3Ryb2tlT3ZlcnJpZGU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LGZhZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9maWxsOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVGaWxsKHR5cGUsIGZpbGxPdmVycmlkZSkifSxfc3Ryb2tlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVTdHJva2UodHlwZSwgc3Ryb2tlT3ZlcnJpZGUpIn19LApnZXRTdmdEZWZpbmFibGVFbGVtZW50KCl7cmV0dXJuIHRoaXMuJC5zdmdEZWZzfSxfY29tcHV0ZUZpbGwoayxyKXtpZihudWxsIT1yKXJldHVybiByO3N3aXRjaChrKXtjYXNlIGguTUVUQTpyZXR1cm4gYi5ncmFwaC5yZW5kZXIuTWV0YW5vZGVDb2xvcnMuREVGQVVMVF9GSUxMO2Nhc2UgaC5TRVJJRVM6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLlNlcmllc05vZGVDb2xvcnMuREVGQVVMVF9GSUxMO2RlZmF1bHQ6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLk9wTm9kZUNvbG9ycy5ERUZBVUxUX0ZJTEx9fSxfY29tcHV0ZVN0cm9rZShrLHIpe2lmKG51bGwhPXIpcmV0dXJuIHI7c3dpdGNoKGspe2Nhc2UgaC5NRVRBOnJldHVybiBiLmdyYXBoLnJlbmRlci5NZXRhbm9kZUNvbG9ycy5ERUZBVUxUX1NUUk9LRTtjYXNlIGguU0VSSUVTOnJldHVybiBiLmdyYXBoLnJlbmRlci5TZXJpZXNOb2RlQ29sb3JzLkRFRkFVTFRfU1RST0tFO2RlZmF1bHQ6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLk9wTm9kZUNvbG9ycy5ERUZBVUxUX1NUUk9LRX19LApfaXNUeXBlKGsscil7cmV0dXJuIGs9PT1yfSxfZmFkZWRDbGFzczpmdW5jdGlvbihrLHIpe3JldHVybiBrPyJmYWRlZC0iK3I6IiJ9fSl9KShkLmljb258fChkLmljb249e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3RmLW5vZGUtaWNvbi5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ub2RlLWljb24iLHByb3BlcnRpZXM6e25vZGU6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LHJlbmRlckluZm86e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LGNvbG9yQnk6e3R5cGU6T2JqZWN0LHZhbHVlOiJzdHJ1Y3R1cmFsIn0sdGVtcGxhdGVJbmRleDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSx0eXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSx2ZXJ0aWNhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjb25zdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzdW1tYXJ5Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpbGw6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LF9maWxsT3ZlcnJpZGU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUZpbGxPdmVycmlkZShub2RlLCByZW5kZXJJbmZvLCBjb2xvckJ5LCB0ZW1wbGF0ZUluZGV4LCBmaWxsKSIsb2JzZXJ2ZXI6Il9vbkZpbGxPdmVycmlkZUNoYW5nZWQifX0sCl9jb21wdXRlRmlsbE92ZXJyaWRlOmZ1bmN0aW9uKGIsZCxmLGgsayl7cmV0dXJuIGImJmQmJmYmJmg/KGI9dGYuZ3JhcGguc2NlbmUubm9kZSxiLmdldEZpbGxGb3JOb2RlKGgsYi5Db2xvckJ5W2YudG9VcHBlckNhc2UoKV0sZCwhMSkpOmt9LF9nZXRTdHJva2VPdmVycmlkZTpmdW5jdGlvbihiKXtyZXR1cm4gYj90Zi5ncmFwaC5zY2VuZS5ub2RlLmdldFN0cm9rZUZvckZpbGwoYik6bnVsbH0sX2dldFR5cGU6ZnVuY3Rpb24oYixkLGYsaCl7Y29uc3Qgaz10Zi5ncmFwaC5pY29uLkdyYXBoSWNvblR5cGU7aWYoYilzd2l0Y2goYi50eXBlKXtjYXNlIHRmLmdyYXBoLk5vZGVUeXBlLk9QOnJldHVybiBiPWIub3AsInN0cmluZyIhPT10eXBlb2YgYj9rLk9QOiJDb25zdCI9PT1ifHxmP2suQ09OU1Q6Yi5lbmRzV2l0aCgiU3VtbWFyeSIpfHxkP2suU1VNTUFSWTprLk9QO2Nhc2UgdGYuZ3JhcGguTm9kZVR5cGUuTUVUQTpyZXR1cm4gay5NRVRBO2Nhc2UgdGYuZ3JhcGguTm9kZVR5cGUuU0VSSUVTOnJldHVybiBrLlNFUklFU31yZXR1cm4gaH0sCl9pc1ZlcnRpY2FsOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGI/Yi5oYXNOb25Db250cm9sRWRnZXM6ISFkfSxfZ2V0RmFkZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuaXNGYWRlZE91dH0sX29uRmlsbE92ZXJyaWRlQ2hhbmdlZChiLGQpe2NvbnN0IGY9dGhpcy5ub2RlLGg9dGhpcy5yZW5kZXJJbmZvLGs9dGhpcy5jb2xvckJ5LHI9dGhpcy50ZW1wbGF0ZUluZGV4LGw9dGYuZ3JhcGguc2NlbmUubm9kZTtiIT09ZCYmbC5yZW1vdmVHcmFkaWVudERlZmluaXRpb25zKHRoaXMuJC5pY29uLmdldFN2Z0RlZmluYWJsZUVsZW1lbnQoKSk7ZiYmaCYmayYmciYmbC5nZXRGaWxsRm9yTm9kZShyLGwuQ29sb3JCeVtrLnRvVXBwZXJDYXNlKCldLGgsITEsdGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtb3AtY29tcGF0LWNhcmQvdGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbS5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtIixwcm9wZXJ0aWVzOntjYXJkTm9kZTpPYmplY3QsaXRlbU5vZGU6T2JqZWN0LGVkZ2VMYWJlbDpTdHJpbmcsaXRlbVJlbmRlckluZm86T2JqZWN0LG5hbWU6U3RyaW5nLGl0ZW1UeXBlOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2l0ZW1UeXBlQ2hhbmdlZCJ9LGNvbG9yQnk6U3RyaW5nLGNvbG9yQnlQYXJhbXM6T2JqZWN0LHRlbXBsYXRlSW5kZXg6RnVuY3Rpb259LF9pdGVtVHlwZUNoYW5nZWQ6ZnVuY3Rpb24oKXsic3Vibm9kZSIhPT10aGlzLml0ZW1UeXBlP3RoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LmFkZCgiY2xpY2thYmxlIik6dGhpcy4kWyJsaXN0LWl0ZW0iXS5jbGFzc0xpc3QucmVtb3ZlKCJjbGlja2FibGUiKX0sX25vZGVMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLmZpcmUoIm5vZGUtbGlzdC1pdGVtLSIrYi50eXBlLHtub2RlTmFtZTp0aGlzLm5hbWUsdHlwZTp0aGlzLml0ZW1UeXBlfSl9LApfZmFkZWRDbGFzczpmdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5pc0ZhZGVkT3V0PyJmYWRlZCI6IiJ9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkL3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIixwcm9wZXJ0aWVzOntncmFwaEhpZXJhcmNoeTpPYmplY3QsaGllcmFyY2h5UGFyYW1zOk9iamVjdCxyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5vZGVUaXRsZTpTdHJpbmcsX3RlbXBsYXRlSW5kZXg6e3R5cGU6RnVuY3Rpb24sY29tcHV0ZWQ6Il9nZXRUZW1wbGF0ZUluZGV4KGdyYXBoSGllcmFyY2h5KSJ9LF9pbmNvbXBhdGlibGVPcE5vZGVzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEluY29tcGF0aWJsZU9wTm9kZXMoZ3JhcGhIaWVyYXJjaHksIGhpZXJhcmNoeVBhcmFtcykifSxfZXhwYW5kZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX29wQ29tcGF0U2NvcmU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU9wQ29tcGF0U2NvcmUoZ3JhcGhIaWVyYXJjaHkpIn0sX29wQ29tcGF0U2NvcmVMYWJlbDp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXRPcENvbXBhdFNjb3JlTGFiZWwoX29wQ29tcGF0U2NvcmUpIn0sCl9vcENvbXBhdENvbG9yOnt0eXBlOlN0cmluZyx2YWx1ZTp0Zi5ncmFwaC5yZW5kZXIuT3BOb2RlQ29sb3JzLkNPTVBBVElCTEV9LF9vcEluY29tcGF0Q29sb3I6e3R5cGU6U3RyaW5nLHZhbHVlOnRmLmdyYXBoLnJlbmRlci5PcE5vZGVDb2xvcnMuSU5DT01QQVRJQkxFfSxfdG90YWxJbmNvbXBhdE9wczp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9nZXRUb3RhbEluY29tcGF0aWJsZU9wcyhncmFwaEhpZXJhcmNoeSkifX0sX2dldFRlbXBsYXRlSW5kZXg6ZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2V0VGVtcGxhdGVJbmRleCgpfSxfZ2V0Tm9kZTpmdW5jdGlvbihiLGQpe3JldHVybiBkLm5vZGUoYil9LF9nZXRQcmludGFibGVIVE1MTm9kZU5hbWU6ZnVuY3Rpb24oYil7cmV0dXJuKGJ8fCIiKS5yZXBsYWNlKC9cLy9nLCJceDNjd2JyXHgzZS8iKX0sX2dldFJlbmRlckluZm86ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldE9yQ3JlYXRlUmVuZGVyTm9kZUJ5TmFtZShiKX0sCl90b2dnbGVFeHBhbmRlZDpmdW5jdGlvbigpe3RoaXMuX2V4cGFuZGVkPSF0aGlzLl9leHBhbmRlZH0sX2dldFRvZ2dsZUljb246ZnVuY3Rpb24oYil7cmV0dXJuIGI/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUifSxfcmVzaXplTGlzdDpmdW5jdGlvbihiKXsoYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGIpKSYmYi5maXJlKCJpcm9uLXJlc2l6ZSIpfSxfZ2V0SW5jb21wYXRpYmxlT3BOb2RlczpmdW5jdGlvbihiLGQpe2lmKGImJmIucm9vdClyZXR1cm4gdGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2luY29tcGF0aWJsZU9wc0xpc3QiKSksdGYuZ3JhcGguaGllcmFyY2h5LmdldEluY29tcGF0aWJsZU9wcyhiLGQpfSxfY29tcHV0ZU9wQ29tcGF0U2NvcmU6ZnVuY3Rpb24oYil7aWYoYiYmYi5yb290KXt2YXIgZD1iLnJvb3Q7Yj1kLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZTtkPWQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU7CnJldHVybiAwPT1iJiYwPT1kPzA6TWF0aC5mbG9vcigxMDAqYi8oYitkKSkvMTAwfXJldHVybiAwfSxfZ2V0T3BDb21wYXRTY29yZUxhYmVsOmZ1bmN0aW9uKGIpe3JldHVybiBkMy5mb3JtYXQoIi4wJSIpKGIpfSxfZ2V0VG90YWxJbmNvbXBhdGlibGVPcHM6ZnVuY3Rpb24oYil7cmV0dXJuIGImJmIucm9vdD9iLnJvb3QuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU6MH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtaW5mby90Zi1ub2RlLWxpc3QtaXRlbS5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ub2RlLWxpc3QtaXRlbSIscHJvcGVydGllczp7Y2FyZE5vZGU6T2JqZWN0LGl0ZW1Ob2RlOk9iamVjdCxlZGdlTGFiZWw6U3RyaW5nLGl0ZW1SZW5kZXJJbmZvOk9iamVjdCxuYW1lOlN0cmluZyxpdGVtVHlwZTp7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSxjb2xvckJ5OlN0cmluZyxjb2xvckJ5UGFyYW1zOk9iamVjdCx0ZW1wbGF0ZUluZGV4OkZ1bmN0aW9ufSxfaXRlbVR5cGVDaGFuZ2VkOmZ1bmN0aW9uKCl7InN1Ym5vZGUiIT09dGhpcy5pdGVtVHlwZT90aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5hZGQoImNsaWNrYWJsZSIpOnRoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LnJlbW92ZSgiY2xpY2thYmxlIil9LF9ub2RlTGlzdGVuZXI6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJub2RlLWxpc3QtaXRlbS0iK2IudHlwZSx7Y2FyZE5vZGU6dGhpcy5jYXJkTm9kZS5uYW1lLG5vZGVOYW1lOnRoaXMubmFtZSwKdHlwZTp0aGlzLml0ZW1UeXBlfSl9LF9mYWRlZENsYXNzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtaW5mby90Zi1ub2RlLWluZm8uaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtbm9kZS1pbmZvIixwcm9wZXJ0aWVzOntncmFwaE5vZGVOYW1lOlN0cmluZyxncmFwaEhpZXJhcmNoeTpPYmplY3QscmVuZGVySGllcmFyY2h5Ok9iamVjdCxjb2xvckJ5OlN0cmluZyxfdGVtcGxhdGVJbmRleDp7dHlwZTpGdW5jdGlvbixjb21wdXRlZDoiX2dldFRlbXBsYXRlSW5kZXgoZ3JhcGhIaWVyYXJjaHkpIn0sX25vZGU6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZShncmFwaE5vZGVOYW1lLCBncmFwaEhpZXJhcmNoeSkiLG9ic2VydmVyOiJfcmVzZXRTdGF0ZSJ9LF9ub2RlU3RhdHM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZVN0YXRzKGdyYXBoTm9kZU5hbWUsIGdyYXBoSGllcmFyY2h5KSIsb2JzZXJ2ZXI6Il9yZXNldFN0YXRlIn0sX2hhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEhhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzKF9ub2RlU3RhdHMpIn0sX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzOnt0eXBlOlN0cmluZywKY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHNGb3JtYXR0ZWRCeXRlcyhfbm9kZVN0YXRzKSJ9LF9ub2RlU3RhdHNGb3JtYXR0ZWRDb21wdXRlVGltZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHNGb3JtYXR0ZWRDb21wdXRlVGltZShfbm9kZVN0YXRzKSJ9LF9ub2RlU3RhdHNGb3JtYXR0ZWRPdXRwdXRTaXplczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2dldE5vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzKF9ub2RlU3RhdHMpIn0sbm9kZUluY2x1ZGU6e3R5cGU6TnVtYmVyLG9ic2VydmVyOiJfbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQifSxfYXR0cmlidXRlczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2dldEF0dHJpYnV0ZXMoX25vZGUpIn0sX2RldmljZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXREZXZpY2UoX25vZGUpIn0sX3N1Y2Nlc3NvcnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0U3VjY2Vzc29ycyhfbm9kZSwgZ3JhcGhIaWVyYXJjaHkpIn0sCl9wcmVkZWNlc3NvcnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0UHJlZGVjZXNzb3JzKF9ub2RlLCBncmFwaEhpZXJhcmNoeSkifSxfZnVuY3Rpb25Vc2FnZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRGdW5jdGlvblVzYWdlcyhfbm9kZSwgZ3JhcGhIaWVyYXJjaHkpIn0sX3N1Ym5vZGVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfZ2V0U3Vibm9kZXMoX25vZGUpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITB9LF90b3RhbFByZWRlY2Vzc29yczp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9nZXRUb3RhbFByZWQoX3ByZWRlY2Vzc29ycykifSxfdG90YWxTdWNjZXNzb3JzOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2dldFRvdGFsU3VjYyhfc3VjY2Vzc29ycykifSxfb3BlbmVkQ29udHJvbFByZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX29wZW5lZENvbnRyb2xTdWNjOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9hdXhCdXR0b25UZXh0OlN0cmluZyxfZ3JvdXBCdXR0b25UZXh0OlN0cmluZ30sCmV4cGFuZE5vZGU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoIl9ub2RlLmV4cGFuZCIsdGhpcy5ub2RlKX0sX2dldFRlbXBsYXRlSW5kZXg6ZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2V0VGVtcGxhdGVJbmRleCgpfSxfZ2V0Tm9kZTpmdW5jdGlvbihiLGQpe3JldHVybiBkLm5vZGUoYil9LF9nZXROb2RlU3RhdHM6ZnVuY3Rpb24oYixkKXtyZXR1cm4oYj10aGlzLl9nZXROb2RlKGIsZCkpP2Iuc3RhdHM6bnVsbH0sX2dldFRvdGFsTWljcm9zOmZ1bmN0aW9uKGIpe3JldHVybiBiP2IuZ2V0VG90YWxNaWNyb3MoKTowfSxfZ2V0SGFzRGlzcGxheWFibGVOb2RlU3RhdHM6ZnVuY3Rpb24oYil7cmV0dXJuIHRmLmdyYXBoLnV0aWwuaGFzRGlzcGxheWFibGVOb2RlU3RhdHMoYil9LF9nZXROb2RlU3RhdHNGb3JtYXR0ZWRCeXRlczpmdW5jdGlvbihiKXtpZihiJiZiLnRvdGFsQnl0ZXMpcmV0dXJuIHRmLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKGIudG90YWxCeXRlcyx0Zi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUyl9LApfZ2V0Tm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWU6ZnVuY3Rpb24oYil7aWYoYiYmYi5nZXRUb3RhbE1pY3JvcygpKXJldHVybiB0Zi5ncmFwaC51dGlsLmNvbnZlcnRVbml0c1RvSHVtYW5SZWFkYWJsZShiLmdldFRvdGFsTWljcm9zKCksdGYuZ3JhcGgudXRpbC5USU1FX1VOSVRTKX0sX2dldE5vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzOmZ1bmN0aW9uKGIpe2lmKGImJmIub3V0cHV0U2l6ZSYmYi5vdXRwdXRTaXplLmxlbmd0aClyZXR1cm4gXy5tYXAoYi5vdXRwdXRTaXplLGZ1bmN0aW9uKGQpe3JldHVybiAwPT09ZC5sZW5ndGg/InNjYWxhciI6IlsiK2Quam9pbigiLCAiKSsiXSJ9KX0sX2dldFByaW50YWJsZUhUTUxOb2RlTmFtZTpmdW5jdGlvbihiKXtyZXR1cm4oYnx8IiIpLnJlcGxhY2UoL1wvL2csIlx4M2N3YnJceDNlLyIpfSxfZ2V0UmVuZGVySW5mbzpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKGIpfSwKX2dldEF0dHJpYnV0ZXM6ZnVuY3Rpb24oYil7dGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2F0dHJpYnV0ZXNMaXN0IikpO2lmKCFifHwhYi5hdHRyKXJldHVybltdO3ZhciBkPVtdO18uZWFjaChiLmF0dHIsZnVuY3Rpb24oZil7Zi5rZXk9PT10Zi5ncmFwaC5MQVJHRV9BVFRSU19LRVk/ZD1kLmNvbmNhdChmLnZhbHVlLmxpc3Qucy5tYXAoZnVuY3Rpb24oaCl7cmV0dXJue2tleTpoLHZhbHVlOiJUb28gbGFyZ2UgdG8gc2hvdy4uLiJ9fSkpOmQucHVzaCh7a2V5OmYua2V5LHZhbHVlOkpTT04uc3RyaW5naWZ5KGYudmFsdWUpfSl9KTtyZXR1cm4gZH0sX2dldERldmljZTpmdW5jdGlvbihiKXtyZXR1cm4gYj9iLmRldmljZTpudWxsfSxfZ2V0U3VjY2Vzc29ycyhiLGQpe3RoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImlucHV0c0xpc3QiKTtyZXR1cm4gYj90aGlzLl9jb252ZXJ0RWRnZUxpc3RUb0VkZ2VJbmZvTGlzdChkLmdldFN1Y2Nlc3NvcnMoYi5uYW1lKSwKITEsYi5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19LF9nZXRQcmVkZWNlc3NvcnMoYixkKXt0aGlzLl9yZWZyZXNoTm9kZUl0ZW1MaXN0KCJvdXRwdXRzTGlzdCIpO3JldHVybiBiP3RoaXMuX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KGQuZ2V0UHJlZGVjZXNzb3JzKGIubmFtZSksITAsYi5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19LF9nZXRGdW5jdGlvblVzYWdlcyhiLGQpe3RoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImZ1bmN0aW9uVXNhZ2VzTGlzdCIpO3JldHVybiBiJiZiLnR5cGU9PT10Zi5ncmFwaC5Ob2RlVHlwZS5NRVRBPyhiPWQubGlicmFyeUZ1bmN0aW9uc1tiLmFzc29jaWF0ZWRGdW5jdGlvbl0pP2IudXNhZ2VzOltdOltdfSxfcmVmcmVzaE5vZGVJdGVtTGlzdChiKXt0aGlzLmFzeW5jKHRoaXMuX3Jlc2l6ZUxpc3QuYmluZCh0aGlzLGAjJHtifWApKX0sX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0OmZ1bmN0aW9uKGIsCmQsZil7dmFyIGg9cj0+Xy5tYXAoci5iYXNlRWRnZUxpc3QsbD0+e3ZhciBwPWQ/bC52OmwudztyZXR1cm57bmFtZTpwLG5vZGU6dGhpcy5fZ2V0Tm9kZShwLHRoaXMuZ3JhcGhIaWVyYXJjaHkpLGVkZ2VMYWJlbDp0Zi5ncmFwaC5zY2VuZS5lZGdlLmdldExhYmVsRm9yQmFzZUVkZ2UobCx0aGlzLnJlbmRlckhpZXJhcmNoeSkscmVuZGVySW5mbzp0aGlzLl9nZXRSZW5kZXJJbmZvKHAsdGhpcy5yZW5kZXJIaWVyYXJjaHkpfX0pLGs9ZnVuY3Rpb24ocil7dmFyIGw9W107Xy5lYWNoKHIscD0+e3ZhciBtPWQ/cC52OnAudztmJiYxIT1wLmJhc2VFZGdlTGlzdC5sZW5ndGg/bC5wdXNoKHtuYW1lOm0sbm9kZTp0aGlzLl9nZXROb2RlKG0sdGhpcy5ncmFwaEhpZXJhcmNoeSksZWRnZUxhYmVsOnRmLmdyYXBoLnNjZW5lLmVkZ2UuZ2V0TGFiZWxGb3JFZGdlKHAsdGhpcy5yZW5kZXJIaWVyYXJjaHkpLHJlbmRlckluZm86dGhpcy5fZ2V0UmVuZGVySW5mbyhtLHRoaXMucmVuZGVySGllcmFyY2h5KX0pOgpsPWwuY29uY2F0KGgocCkpfSk7cmV0dXJuIGx9LmJpbmQodGhpcyk7cmV0dXJue3JlZ3VsYXI6ayhiLnJlZ3VsYXIpLGNvbnRyb2w6ayhiLmNvbnRyb2wpfX0sX2dldFN1Ym5vZGVzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLm1ldGFncmFwaD9iLm1ldGFncmFwaC5ub2RlcygpOm51bGx9LF9nZXRUb3RhbFByZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGIucmVndWxhci5sZW5ndGgrYi5jb250cm9sLmxlbmd0aH0sX2dldFRvdGFsU3VjYzpmdW5jdGlvbihiKXtyZXR1cm4gYi5yZWd1bGFyLmxlbmd0aCtiLmNvbnRyb2wubGVuZ3RofSxfdG9nZ2xlQ29udHJvbFByZWQ6ZnVuY3Rpb24oKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hdGhpcy5fb3BlbmVkQ29udHJvbFByZWR9LF90b2dnbGVDb250cm9sU3VjYzpmdW5jdGlvbigpe3RoaXMuX29wZW5lZENvbnRyb2xTdWNjPSF0aGlzLl9vcGVuZWRDb250cm9sU3VjY30sX3RvZ2dsZUV4cGFuZGVkOmZ1bmN0aW9uKCl7dGhpcy5fZXhwYW5kZWQ9CiF0aGlzLl9leHBhbmRlZH0sX2dldFRvZ2dsZUljb246ZnVuY3Rpb24oYil7cmV0dXJuIGI/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUifSxfcmVzZXRTdGF0ZTpmdW5jdGlvbigpe3RoaXMuX29wZW5lZENvbnRyb2xTdWNjPXRoaXMuX29wZW5lZENvbnRyb2xQcmVkPSExO3RoaXMuc2V0KCJfZ3JvdXBCdXR0b25UZXh0Iix0Zi5ncmFwaC5zY2VuZS5ub2RlLmdldEdyb3VwU2V0dGluZ0xhYmVsKHRoaXMuX25vZGUpKTt0aGlzLl9ub2RlJiYoUG9seW1lci5kb20odGhpcy4kLm5vZGV0aXRsZSkuaW5uZXJIVE1MPXRoaXMuX2dldFByaW50YWJsZUhUTUxOb2RlTmFtZSh0aGlzLl9ub2RlLm5hbWUpKX0sX3Jlc2l6ZUxpc3Q6ZnVuY3Rpb24oYil7KGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiKSkmJmIuZmlyZSgiaXJvbi1yZXNpemUiKX0sX3RvZ2dsZUluY2x1ZGU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoIm5vZGUtdG9nZ2xlLWluY2x1c2lvbiIse25hbWU6dGhpcy5ncmFwaE5vZGVOYW1lfSl9LApfbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXQoIl9hdXhCdXR0b25UZXh0Iix0Zi5ncmFwaC5nZXRJbmNsdWRlTm9kZUJ1dHRvblN0cmluZyhiKSl9LF90b2dnbGVHcm91cDpmdW5jdGlvbigpe3ZhciBiPXRmLmdyYXBoLnNjZW5lLm5vZGUuZ2V0U2VyaWVzTmFtZSh0aGlzLl9ub2RlKTt0aGlzLmZpcmUoIm5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwIix7bmFtZTpifSl9LF9pc0xpYnJhcnlGdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5uYW1lLnN0YXJ0c1dpdGgodGYuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCl9LF9pc0luU2VyaWVzOmZ1bmN0aW9uKGIpe3JldHVybiB0Zi5ncmFwaC5zY2VuZS5ub2RlLmNhbkJlSW5TZXJpZXMoYil9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWluZm8vdGYtZ3JhcGgtaW5mby5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1pbmZvIixwcm9wZXJ0aWVzOnt0aXRsZTpTdHJpbmcsZ3JhcGhIaWVyYXJjaHk6T2JqZWN0LGdyYXBoOk9iamVjdCxyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5vZGVOYW1lc1RvSGVhbHRoUGlsbHM6T2JqZWN0LGhlYWx0aFBpbGxTdGVwSW5kZXg6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sY29sb3JCeTpTdHJpbmcsY29tcGF0Tm9kZVRpdGxlOlN0cmluZyxzZWxlY3RlZE5vZGU6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0saGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LHNlbGVjdGVkTm9kZUluY2x1ZGU6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sZGVidWdnZXJEYXRhRW5hYmxlZDpCb29sZWFufSxsaXN0ZW5lcnM6eyJub2RlLWxpc3QtaXRlbS1jbGljayI6Il9ub2RlTGlzdEl0ZW1DbGlja2VkIiwibm9kZS1saXN0LWl0ZW0tbW91c2VvdmVyIjoiX25vZGVMaXN0SXRlbU1vdXNlb3ZlciIsIm5vZGUtbGlzdC1pdGVtLW1vdXNlb3V0IjoiX25vZGVMaXN0SXRlbU1vdXNlb3V0In0sCl9ub2RlTGlzdEl0ZW1DbGlja2VkOmZ1bmN0aW9uKGIpe3RoaXMuc2VsZWN0ZWROb2RlPWIuZGV0YWlsLm5vZGVOYW1lfSxfbm9kZUxpc3RJdGVtTW91c2VvdmVyOmZ1bmN0aW9uKGIpe3RoaXMuaGlnaGxpZ2h0ZWROb2RlPWIuZGV0YWlsLm5vZGVOYW1lfSxfbm9kZUxpc3RJdGVtTW91c2VvdXQ6ZnVuY3Rpb24oKXt0aGlzLmhpZ2hsaWdodGVkTm9kZT1udWxsfSxfaGVhbHRoUGlsbHNBdmFpbGFibGU6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYiYmZCYmMDxPYmplY3Qua2V5cyhkKS5sZW5ndGh9LF9lcXVhbHM6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYj09PWR9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWJvYXJkL3RmLWdyYXBoLWJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLWJvYXJkIixwcm9wZXJ0aWVzOntncmFwaEhpZXJhcmNoeTpPYmplY3QsZ3JhcGg6T2JqZWN0LHN0YXRzOk9iamVjdCxwcm9ncmVzczpPYmplY3QsdHJhY2VJbnB1dHM6Qm9vbGVhbixjb2xvckJ5OlN0cmluZyxjb2xvckJ5UGFyYW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LHJlbmRlckhpZXJhcmNoeTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxkZWJ1Z2dlckRhdGFFbmFibGVkOkJvb2xlYW4sYXJlSGVhbHRoUGlsbHNMb2FkaW5nOkJvb2xlYW4sZGVidWdnZXJOdW1lcmljQWxlcnRzOnt0eXBlOkFycmF5LG5vdGlmeTohMH0sbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsYWxsU3RlcHNNb2RlRW5hYmxlZDp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0sc3BlY2lmaWNIZWFsdGhQaWxsU3RlcDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwLHZhbHVlOjB9LGhlYWx0aFBpbGxTdGVwSW5kZXg6TnVtYmVyLHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsCm5vdGlmeTohMH0sY29tcGF0Tm9kZVRpdGxlOnt0eXBlOlN0cmluZyx2YWx1ZToiVFBVIENvbXBhdGliaWxpdHkifSxlZGdlV2lkdGhGdW5jdGlvbjpPYmplY3QsX3NlbGVjdGVkTm9kZUluY2x1ZGU6TnVtYmVyLF9oaWdobGlnaHRlZE5vZGU6U3RyaW5nLGhhbmRsZU5vZGVTZWxlY3RlZDpPYmplY3QsZWRnZUxhYmVsRnVuY3Rpb246T2JqZWN0LGhhbmRsZUVkZ2VTZWxlY3RlZDpPYmplY3R9LG9ic2VydmVyczpbIl91cGRhdGVOb2RlSW5jbHVkZShzZWxlY3RlZE5vZGUsIHJlbmRlckhpZXJhcmNoeSkiXSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLiQuZ3JhcGguZml0KCl9LF9pc05vdENvbXBsZXRlOmZ1bmN0aW9uKGIpe3JldHVybiAxMDA+Yi52YWx1ZX0sX2dldENvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKGIpe3ZhciBkPSJjb250YWluZXIiO2IuZXJyb3ImJihkKz0iIGVycm9yIik7dGhpcy5faXNOb3RDb21wbGV0ZShiKSYmKGQrPSIgbG9hZGluZyIpO3JldHVybiBkfSxfb25Ob2RlSW5jbHVzaW9uVG9nZ2xlZChiKXt0aGlzLiQuZ3JhcGgubm9kZVRvZ2dsZUV4dHJhY3QoYi5kZXRhaWwubmFtZSl9LApfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkKGIpe3RoaXMuJC5ncmFwaC5ub2RlVG9nZ2xlU2VyaWVzR3JvdXAoYi5kZXRhaWwubmFtZSl9LF91cGRhdGVOb2RlSW5jbHVkZSgpe2NvbnN0IGI9dGhpcy5yZW5kZXJIaWVyYXJjaHk/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0Tm9kZUJ5TmFtZSh0aGlzLnNlbGVjdGVkTm9kZSk6bnVsbDt0aGlzLl9zZWxlY3RlZE5vZGVJbmNsdWRlPWI/Yi5pbmNsdWRlOnRmLmdyYXBoLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUR9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmFkaW8tYnV0dG9uL3BhcGVyLXJhZGlvLWJ1dHRvbi5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1yYWRpby1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5QYXBlckNoZWNrZWRFbGVtZW50QmVoYXZpb3JdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJyYWRpbyIsImFyaWEtY2hlY2tlZCI6ITEsdGFiaW5kZXg6MH0scHJvcGVydGllczp7YXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtY2hlY2tlZCJ9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQucmFkaW9Db250YWluZXJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtpZigiLTFweCI9PT10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSIpLnRyaW0oKSl7dmFyIGI9cGFyc2VGbG9hdCh0aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplIikudHJpbSgpKSwKZD1NYXRoLmZsb29yKDMqYik7ZCUyIT09YiUyJiZkKys7dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSI6ZCsicHgifSl9fSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmFkaW8tZ3JvdXAvcGFwZXItcmFkaW8tZ3JvdXAuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItcmFkaW8tZ3JvdXAiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9yXSxob3N0QXR0cmlidXRlczp7cm9sZToicmFkaW9ncm91cCJ9LHByb3BlcnRpZXM6e2F0dHJGb3JTZWxlY3RlZDp7dHlwZTpTdHJpbmcsdmFsdWU6Im5hbWUifSxzZWxlY3RlZEF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImNoZWNrZWQifSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItcmFkaW8tYnV0dG9uIn0sYWxsb3dFbXB0eVNlbGVjdGlvbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sc2VsZWN0OmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX3ZhbHVlVG9JdGVtKGIpO2lmKCFkfHwhZC5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIikpe2lmKHRoaXMuc2VsZWN0ZWQpe2Q9dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7aWYodGhpcy5zZWxlY3RlZD09YilpZih0aGlzLmFsbG93RW1wdHlTZWxlY3Rpb24pYj0iIjtlbHNle2QmJgooZC5jaGVja2VkPSEwKTtyZXR1cm59ZCYmKGQuY2hlY2tlZD0hMSl9UG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yLnNlbGVjdC5hcHBseSh0aGlzLFtiXSk7dGhpcy5maXJlKCJwYXBlci1yYWRpby1ncm91cC1jaGFuZ2VkIil9fSxfYWN0aXZhdGVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe3RoaXMuX2l0ZW1BY3RpdmF0ZSh0aGlzLl92YWx1ZUZvckl0ZW0odGhpcy5mb2N1c2VkSXRlbSksdGhpcy5mb2N1c2VkSXRlbSl9LF9vblVwS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzUHJldmlvdXMoKTtiLnByZXZlbnREZWZhdWx0KCk7dGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzTmV4dCgpO2IucHJldmVudERlZmF1bHQoKTt0aGlzLl9hY3RpdmF0ZUZvY3VzZWRJdGVtKCl9LF9vbkxlZnRLZXk6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9ySW1wbC5fb25MZWZ0S2V5LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKdGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25SaWdodEtleTpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsLl9vblJpZ2h0S2V5LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLl9hY3RpdmF0ZUZvY3VzZWRJdGVtKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdG9vbHRpcC9wYXBlci10b29sdGlwLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRvb2x0aXAiLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJ0b29sdGlwIix0YWJpbmRleDotMX0scHJvcGVydGllczp7Zm9yOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2ZpbmRUYXJnZXQifSxtYW51YWxNb2RlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9tYW51YWxNb2RlQ2hhbmdlZCJ9LHBvc2l0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZml0VG9WaXNpYmxlQm91bmRzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LG1hcmdpblRvcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LGFuaW1hdGlvbkRlbGF5Ont0eXBlOk51bWJlcix2YWx1ZTo1MDAsb2JzZXJ2ZXI6Il9kZWxheUNoYW5nZSJ9LGFuaW1hdGlvbkVudHJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sYW5pbWF0aW9uRXhpdDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsCnZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue2VudHJ5Olt7bmFtZToiZmFkZS1pbi1hbmltYXRpb24iLG5vZGU6dGhpcyx0aW1pbmc6e2RlbGF5OjB9fV0sZXhpdDpbe25hbWU6ImZhZGUtb3V0LWFuaW1hdGlvbiIsbm9kZTp0aGlzfV19fX0sX3Nob3dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGxpc3RlbmVyczp7d2Via2l0QW5pbWF0aW9uRW5kOiJfb25BbmltYXRpb25FbmQifSxnZXQgdGFyZ2V0KCl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZSxkPVBvbHltZXIuZG9tKHRoaXMpLmdldE93bmVyUm9vdCgpO3JldHVybiB0aGlzLmZvcj9Qb2x5bWVyLmRvbShkKS5xdWVyeVNlbGVjdG9yKCIjIit0aGlzLmZvcik6Yi5ub2RlVHlwZT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFP2QuaG9zdDpifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2ZpbmRUYXJnZXQoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLm1hbnVhbE1vZGV8fHRoaXMuX3JlbW92ZUxpc3RlbmVycygpfSwKcGxheUFuaW1hdGlvbjpmdW5jdGlvbihiKXsiZW50cnkiPT09Yj90aGlzLnNob3coKToiZXhpdCI9PT1iJiZ0aGlzLmhpZGUoKX0sY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LmFkZCgiY2FuY2VsLWFuaW1hdGlvbiIpfSxzaG93OmZ1bmN0aW9uKCl7aWYoIXRoaXMuX3Nob3dpbmcpe2lmKCIiPT09UG9seW1lci5kb20odGhpcykudGV4dENvbnRlbnQudHJpbSgpKXtmb3IodmFyIGI9ITAsZD1Qb2x5bWVyLmRvbSh0aGlzKS5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKCIiIT09ZFtmXS50ZXh0Q29udGVudC50cmltKCkpe2I9ITE7YnJlYWt9aWYoYilyZXR1cm59dGhpcy5fc2hvd2luZz0hMDt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJjYW5jZWwtYW5pbWF0aW9uIik7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpOwp0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7dGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMDt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImVudHJ5IikpfX0saGlkZTpmdW5jdGlvbigpe3RoaXMuX3Nob3dpbmcmJih0aGlzLl9hbmltYXRpb25QbGF5aW5nPyh0aGlzLl9zaG93aW5nPSExLHRoaXMuX2NhbmNlbEFuaW1hdGlvbigpKToodGhpcy5fb25BbmltYXRpb25GaW5pc2goKSx0aGlzLl9zaG93aW5nPSExLHRoaXMuX2FuaW1hdGlvblBsYXlpbmc9ITApKX0sdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzLl90YXJnZXQmJnRoaXMub2Zmc2V0UGFyZW50KXt2YXIgYj10aGlzLm9mZnNldDsxNCE9dGhpcy5tYXJnaW5Ub3AmJjE0PT10aGlzLm9mZnNldCYmKGI9dGhpcy5tYXJnaW5Ub3ApO3ZhciBkPXRoaXMub2Zmc2V0UGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGY9dGhpcy5fdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLApoPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaz0oZi53aWR0aC1oLndpZHRoKS8yLHI9KGYuaGVpZ2h0LWguaGVpZ2h0KS8yLGw9Zi5sZWZ0LWQubGVmdCxwPWYudG9wLWQudG9wO3N3aXRjaCh0aGlzLnBvc2l0aW9uKXtjYXNlICJ0b3AiOnZhciBtPWwrazt2YXIgbj1wLWguaGVpZ2h0LWI7YnJlYWs7Y2FzZSAiYm90dG9tIjptPWwraztuPXArZi5oZWlnaHQrYjticmVhaztjYXNlICJsZWZ0IjptPWwtaC53aWR0aC1iO249cCtyO2JyZWFrO2Nhc2UgInJpZ2h0IjptPWwrZi53aWR0aCtiLG49cCtyfXRoaXMuZml0VG9WaXNpYmxlQm91bmRzPyhkLmxlZnQrbStoLndpZHRoPndpbmRvdy5pbm5lcldpZHRoPyh0aGlzLnN0eWxlLnJpZ2h0PSIwcHgiLHRoaXMuc3R5bGUubGVmdD0iYXV0byIpOih0aGlzLnN0eWxlLmxlZnQ9TWF0aC5tYXgoMCxtKSsicHgiLHRoaXMuc3R5bGUucmlnaHQ9ImF1dG8iKSxkLnRvcCtuK2guaGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodD8odGhpcy5zdHlsZS5ib3R0b209CmQuaGVpZ2h0KyJweCIsdGhpcy5zdHlsZS50b3A9ImF1dG8iKToodGhpcy5zdHlsZS50b3A9TWF0aC5tYXgoLWQudG9wLG4pKyJweCIsdGhpcy5zdHlsZS5ib3R0b209ImF1dG8iKSk6KHRoaXMuc3R5bGUubGVmdD1tKyJweCIsdGhpcy5zdHlsZS50b3A9bisicHgiKX19LF9hZGRMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt0aGlzLl90YXJnZXQmJih0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlZW50ZXIiLCJzaG93IiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJmb2N1cyIsInNob3ciKSx0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlbGVhdmUiLCJoaWRlIiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJibHVyIiwiaGlkZSIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwidGFwIiwiaGlkZSIpKTt0aGlzLmxpc3Rlbih0aGlzLiQudG9vbHRpcCwiYW5pbWF0aW9uZW5kIiwiX29uQW5pbWF0aW9uRW5kIik7dGhpcy5saXN0ZW4odGhpcywibW91c2VlbnRlciIsImhpZGUiKX0sCl9maW5kVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKTt0aGlzLl90YXJnZXQ9dGhpcy50YXJnZXQ7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9hZGRMaXN0ZW5lcnMoKX0sX2RlbGF5Q2hhbmdlOmZ1bmN0aW9uKGIpezUwMCE9PWImJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LWluIjpiKyJtcyJ9KX0sX21hbnVhbE1vZGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlP3RoaXMuX3JlbW92ZUxpc3RlbmVycygpOnRoaXMuX2FkZExpc3RlbmVycygpfSxfY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKTt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImV4aXQiKSk7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpOwp0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0sX29uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5fc2hvd2luZyYmKHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZW50cnkiKSksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSl9LF9vbkFuaW1hdGlvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2FuaW1hdGlvblBsYXlpbmc9ITE7dGhpcy5fc2hvd2luZ3x8KHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9LF9nZXRBbmltYXRpb25UeXBlOmZ1bmN0aW9uKGIpe2lmKCJlbnRyeSI9PT1iJiYiIiE9PXRoaXMuYW5pbWF0aW9uRW50cnkpcmV0dXJuIHRoaXMuYW5pbWF0aW9uRW50cnk7CmlmKCJleGl0Ij09PWImJiIiIT09dGhpcy5hbmltYXRpb25FeGl0KXJldHVybiB0aGlzLmFuaW1hdGlvbkV4aXQ7aWYodGhpcy5hbmltYXRpb25Db25maWdbYl0mJiJzdHJpbmciPT09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLm5hbWUpe2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLnRpbWluZyYmdGhpcy5hbmltYXRpb25Db25maWdbYl1bMF0udGltaW5nLmRlbGF5JiYwIT09dGhpcy5hbmltYXRpb25Db25maWdbYl1bMF0udGltaW5nLmRlbGF5KXt2YXIgZD10aGlzLmFuaW1hdGlvbkNvbmZpZ1tiXVswXS50aW1pbmcuZGVsYXk7ImVudHJ5Ij09PWI/dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4iOmQrIm1zIn0pOiJleGl0Ij09PWImJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCI6ZCsibXMifSl9cmV0dXJuIHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLm5hbWV9fSxfcmVtb3ZlTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYKKHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWVudGVyIiwic2hvdyIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJmb2N1cyIsInNob3ciKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwibW91c2VsZWF2ZSIsImhpZGUiKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwiYmx1ciIsImhpZGUiKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwidGFwIiwiaGlkZSIpKTt0aGlzLnVubGlzdGVuKHRoaXMuJC50b29sdGlwLCJhbmltYXRpb25lbmQiLCJfb25BbmltYXRpb25FbmQiKTt0aGlzLnVubGlzdGVuKHRoaXMsIm1vdXNlZW50ZXIiLCJoaWRlIil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtbm9kZS1zZWFyY2gvdGYtZ3JhcGgtbm9kZS1zZWFyY2guaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZ3JhcGgtbm9kZS1zZWFyY2giLHByb3BlcnRpZXM6e3JlbmRlckhpZXJhcmNoeTpPYmplY3Qsc2VsZWN0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LF9yYXdSZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3JlZ2V4SW5wdXQ6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJlZ2V4SW5wdXQocmVuZGVySGllcmFyY2h5LCBfcmF3UmVnZXhJbnB1dCkifSxfcHJldmlvdXNSZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3NlYXJjaFRpbWVvdXREZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6MTUwLHJlYWRPbmx5OiEwfSxfc2VhcmNoUGVuZGluZzpCb29sZWFuLF9tYXhSZWdleFJlc3VsdHM6e3R5cGU6TnVtYmVyLHZhbHVlOjQyfSxfcmVnZXhNYXRjaGVzOkFycmF5fSxvYnNlcnZlcnM6WyJfcmVnZXhJbnB1dENoYW5nZWQoX3JlZ2V4SW5wdXQpIl0sX2NvbXB1dGVSZWdleElucHV0KGIsZCl7cmV0dXJuIGQudHJpbSgpfSwKX3JlZ2V4SW5wdXRDaGFuZ2VkKCl7dGhpcy5fcmVxdWVzdFNlYXJjaCgpfSxfY2xlYXJTZWFyY2hSZXN1bHRzKCl7dGhpcy5zZXQoIl9yZWdleE1hdGNoZXMiLFtdKX0sX3JlcXVlc3RTZWFyY2goKXt0aGlzLl9zZWFyY2hQZW5kaW5nfHwodGhpcy5fcmVnZXhJbnB1dD09PXRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD90aGlzLl9zZWFyY2hQZW5kaW5nPSExOih0aGlzLl9zZWFyY2hQZW5kaW5nPSEwLHRoaXMuX2V4ZWN1dGVTZWFyY2goKSx0aGlzLmFzeW5jKCgpPT57dGhpcy5fc2VhcmNoUGVuZGluZz0hMTt0aGlzLl9yZXF1ZXN0U2VhcmNoKCl9LHRoaXMuX3NlYXJjaFRpbWVvdXREZWxheSkpKX0sX2V4ZWN1dGVTZWFyY2goKXtpZih0aGlzLl9wcmV2aW91c1JlZ2V4SW5wdXQ9dGhpcy5fcmVnZXhJbnB1dCl7dHJ5e3ZhciBiPW5ldyBSZWdFeHAodGhpcy5fcmVnZXhJbnB1dCl9Y2F0Y2goZil7dGhpcy5fY2xlYXJTZWFyY2hSZXN1bHRzKCk7cmV0dXJufXZhciBkPVtdO18uZWFjaCh0aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpLAooZixoKT0+e2lmKGQubGVuZ3RoPj10aGlzLl9tYXhSZWdleFJlc3VsdHMpcmV0dXJuITE7Yi50ZXN0KGgpJiZkLnB1c2goaCl9KTt0aGlzLnNldCgiX3JlZ2V4TWF0Y2hlcyIsZCl9ZWxzZSB0aGlzLl9jbGVhclNlYXJjaFJlc3VsdHMoKX0sX21hdGNoQ2xpY2tlZChiKXt0aGlzLnNldCgic2VsZWN0ZWROb2RlIixiLm1vZGVsLml0ZW0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbnRyb2xzL3RmLWdyYXBoLWNvbnRyb2xzLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2NvbnN0IGg9L2RldmljZTooW146XSs6WzAtOV0rKSQvLGs9W3tyZWdleDpofV0scj1bXTtsZXQgbDsoZnVuY3Rpb24obSl7bS5DT01QVVRFX1RJTUU9ImNvbXB1dGVfdGltZSI7bS5NRU1PUlk9Im1lbW9yeSI7bS5TVFJVQ1RVUkU9InN0cnVjdHVyZSI7bS5YTEFfQ0xVU1RFUj0ieGxhX2NsdXN0ZXIiO20uT1BfQ09NUEFUSUJJTElUWT0ib3BfY29tcGF0aWJpbGl0eSJ9KShsPWYuQ29sb3JCeXx8KGYuQ29sb3JCeT17fSkpO2NvbnN0IHA9bmV3IFNldChbbC5DT01QVVRFX1RJTUUsbC5NRU1PUlldKTtQb2x5bWVyKHtpczoidGYtZ3JhcGgtY29udHJvbHMiLHByb3BlcnRpZXM6e3N0YXRzOnt2YWx1ZTpudWxsLHR5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RhdHNDaGFuZ2VkIn0sZGV2aWNlc0ZvclN0YXRzOnt2YWx1ZTpudWxsLHR5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkb25seTohMH0sY29sb3JCeTp7dHlwZTpTdHJpbmcsCnZhbHVlOmwuU1RSVUNUVVJFLG5vdGlmeTohMH0sY29sb3JCeVBhcmFtczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRvbmx5OiEwfSxkYXRhc2V0czp7dHlwZTpBcnJheSxvYnNlcnZlcjoiX2RhdGFzZXRzQ2hhbmdlZCIsdmFsdWU6KCk9PltdfSxyZW5kZXJIaWVyYXJjaHk6e3R5cGU6T2JqZWN0fSxzZWxlY3Rpb246e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkT25seTohMCxjb21wdXRlZDoiX2NvbXB1dGVTZWxlY3Rpb24oZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCwgX3NlbGVjdGVkR3JhcGhUeXBlKSJ9LHNlbGVjdGVkRmlsZTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxfc2VsZWN0ZWRSdW5JbmRleDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxvYnNlcnZlcjoiX3NlbGVjdGVkUnVuSW5kZXhDaGFuZ2VkIn0sdHJhY2VJbnB1dHM6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITF9LF9zZWxlY3RlZFRhZ0luZGV4Ont0eXBlOk51bWJlciwKdmFsdWU6MCxvYnNlcnZlcjoiX3NlbGVjdGVkVGFnSW5kZXhDaGFuZ2VkIn0sX3NlbGVjdGVkR3JhcGhUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpiLmdyYXBoLlNlbGVjdGlvblR5cGUuT1BfR1JBUEh9LHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxfY3VycmVudERldmljZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRDdXJyZW50RGV2aWNlcyhkZXZpY2VzRm9yU3RhdHMpIn0sX2N1cnJlbnREZXZpY2VQYXJhbXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRDdXJyZW50RGV2aWNlUGFyYW1zKGNvbG9yQnlQYXJhbXMpIn0sX2N1cnJlbnRYbGFDbHVzdGVyUGFyYW1zOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfZ2V0Q3VycmVudFhsYUNsdXN0ZXJQYXJhbXMoY29sb3JCeVBhcmFtcykifSxfY3VycmVudEdyYWRpZW50UGFyYW1zOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEN1cnJlbnRHcmFkaWVudFBhcmFtcyhjb2xvckJ5UGFyYW1zLCBjb2xvckJ5KSJ9LApzaG93U2Vzc2lvblJ1bnNEcm9wZG93bjp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxzaG93VXBsb2FkQnV0dG9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITB9LGhlYWx0aFBpbGxzRmVhdHVyZUVuYWJsZWQ6Qm9vbGVhbixoZWFsdGhQaWxsc1RvZ2dsZWRPbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0sX2xlZ2VuZE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sX3hsYUNsdXN0ZXJzUHJvdmlkZWQ6ZnVuY3Rpb24obSl7cmV0dXJuIG0mJm0uaGllcmFyY2h5JiYwPG0uaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aH0sX3N0YXRzQ2hhbmdlZDpmdW5jdGlvbihtKXtpZihudWxsIT1tKXt2YXIgbj17fTtfLmVhY2gobS5kZXZfc3RhdHMsZnVuY3Rpb24ocSl7dmFyIHU9Xy5zb21lKGssZnVuY3Rpb24oQSl7cmV0dXJuIEEucmVnZXgudGVzdChxLmRldmljZSl9KSx3PV8uc29tZShyLGZ1bmN0aW9uKEEpe3JldHVybiBBLnJlZ2V4LnRlc3QocS5kZXZpY2UpfSk7dSYmIXcmJihuW3EuZGV2aWNlXT0KITApfSk7dGhpcy5zZXQoImRldmljZXNGb3JTdGF0cyIsbil9fSxfZ2V0Q3VycmVudERldmljZXM6ZnVuY3Rpb24obSl7dmFyIG49dGhpcy5zdGF0cztuPShuP24uZGV2X3N0YXRzOltdKS5tYXAodT0+dS5kZXZpY2UpLmZpbHRlcih1PT5rLnNvbWUodz0+dy5yZWdleC50ZXN0KHUpKSk7Y29uc3QgcT1iLmdyYXBoLnV0aWwucmVtb3ZlQ29tbW9uUHJlZml4KG4pO2lmKDE9PXEubGVuZ3RoKXtjb25zdCB1PXFbMF0ubWF0Y2goaCk7dSYmKHFbMF09dVsxXSl9cmV0dXJuIG4ubWFwKCh1LHcpPT57bGV0IEE9bnVsbDtyLmZvckVhY2goeT0+e3kucmVnZXgudGVzdCh1KSYmKEE9eS5tc2cpfSk7cmV0dXJue2RldmljZTp1LHN1ZmZpeDpxW3ddLHVzZWQ6bVt1XSxpZ25vcmVkTXNnOkF9fSl9LF9kZXZpY2VDaGVja2JveENsaWNrZWQ6ZnVuY3Rpb24obSl7bT1tLnRhcmdldDtjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdGhpcy5kZXZpY2VzRm9yU3RhdHMpLHE9bS52YWx1ZTttLmNoZWNrZWQ/Cm5bcV09ITA6ZGVsZXRlIG5bcV07dGhpcy5zZXQoImRldmljZXNGb3JTdGF0cyIsbil9LF9udW1UYWdzOmZ1bmN0aW9uKG0sbil7cmV0dXJuIHRoaXMuX2dldFRhZ3MobSxuKS5sZW5ndGh9LF9nZXRUYWdzOmZ1bmN0aW9uKG0sbil7cmV0dXJuIG0mJm1bbl0/bVtuXS50YWdzOltdfSxfZml0OmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJmaXQtdGFwIil9LF9pc0dyYWRpZW50Q29sb3Jpbmc6ZnVuY3Rpb24obSxuKXtyZXR1cm4gcC5oYXMobikmJm51bGwhPW19LF9lcXVhbHM6ZnVuY3Rpb24obSxuKXtyZXR1cm4gbT09PW59LF9nZXRDdXJyZW50RGV2aWNlUGFyYW1zOmZ1bmN0aW9uKG0pe209bS5kZXZpY2UuZmlsdGVyKHU9Pmsuc29tZSh3PT53LnJlZ2V4LnRlc3QodS5kZXZpY2UpKSk7Y29uc3Qgbj1iLmdyYXBoLnV0aWwucmVtb3ZlQ29tbW9uUHJlZml4KG0ubWFwKHU9PnUuZGV2aWNlKSk7aWYoMT09bi5sZW5ndGgpe3ZhciBxPW5bMF0ubWF0Y2goaCk7cSYmKG5bMF09cVsxXSl9cmV0dXJuIG0ubWFwKCh1LAp3KT0+KHtkZXZpY2U6blt3XSxjb2xvcjp1LmNvbG9yfSkpfSxfZ2V0Q3VycmVudFhsYUNsdXN0ZXJQYXJhbXM6ZnVuY3Rpb24obSl7cmV0dXJuIG0ueGxhX2NsdXN0ZXJ9LF9nZXRDdXJyZW50R3JhZGllbnRQYXJhbXM6ZnVuY3Rpb24obSxuKXtpZih0aGlzLl9pc0dyYWRpZW50Q29sb3JpbmcodGhpcy5zdGF0cyxuKSl7bT1tW25dO3ZhciBxPW0ubWluVmFsdWUsdT1tLm1heFZhbHVlO249PT1sLk1FTU9SWT8ocT1iLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKHEsYi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUyksdT1iLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKHUsYi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUykpOm49PT1sLkNPTVBVVEVfVElNRSYmKHE9Yi5ncmFwaC51dGlsLmNvbnZlcnRVbml0c1RvSHVtYW5SZWFkYWJsZShxLGIuZ3JhcGgudXRpbC5USU1FX1VOSVRTKSx1PWIuZ3JhcGgudXRpbC5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGUodSwKYi5ncmFwaC51dGlsLlRJTUVfVU5JVFMpKTtyZXR1cm57bWluVmFsdWU6cSxtYXhWYWx1ZTp1LHN0YXJ0Q29sb3I6bS5zdGFydENvbG9yLGVuZENvbG9yOm0uZW5kQ29sb3J9fX0sZG93bmxvYWQ6ZnVuY3Rpb24oKXt0aGlzLiQuZ3JhcGhkb3dubG9hZC5jbGljaygpfSxfdXBkYXRlRmlsZUlucHV0OmZ1bmN0aW9uKG0pe3ZhciBuPW0udGFyZ2V0LmZpbGVzWzBdO2lmKG4pe249bi5uYW1lO3ZhciBxPW4ubGFzdEluZGV4T2YoIi4iKTswPD1xJiYobj1uLnN1YnN0cmluZygwLHEpKTtxPW4ubGFzdEluZGV4T2YoIi8iKTswPD1xJiYobj1uLnN1YnN0cmluZyhxKzEpKTt0aGlzLl9zZXREb3dubG9hZEZpbGVuYW1lKG4pO3RoaXMuc2V0KCJzZWxlY3RlZEZpbGUiLG0pfX0sX2RhdGFzZXRzQ2hhbmdlZDpmdW5jdGlvbihtLG4pe251bGwhPW4mJih0aGlzLl9zZWxlY3RlZFJ1bkluZGV4PTApfSxfY29tcHV0ZVNlbGVjdGlvbjpmdW5jdGlvbihtLG4scSx1KXtyZXR1cm4gbVtuXSYmbVtuXS50YWdzW3FdPwp7cnVuOm1bbl0ubmFtZSx0YWc6bVtuXS50YWdzW3FdLnRhZyx0eXBlOnV9Om51bGx9LF9zZWxlY3RlZFJ1bkluZGV4Q2hhbmdlZDpmdW5jdGlvbihtKXt0aGlzLmRhdGFzZXRzJiYodGhpcy5jb2xvckJ5PWwuU1RSVUNUVVJFLHRoaXMuX3NlbGVjdGVkVGFnSW5kZXg9MCx0aGlzLl9zZWxlY3RlZEdyYXBoVHlwZT10aGlzLl9nZXREZWZhdWx0U2VsZWN0aW9uVHlwZSgpLHRoaXMudHJhY2VJbnB1dHM9ITEsdGhpcy5fc2V0RG93bmxvYWRGaWxlbmFtZSh0aGlzLmRhdGFzZXRzW21dP3RoaXMuZGF0YXNldHNbbV0ubmFtZToiIikpfSxfc2VsZWN0ZWRUYWdJbmRleENoYW5nZWQoKXt0aGlzLl9zZWxlY3RlZEdyYXBoVHlwZT10aGlzLl9nZXREZWZhdWx0U2VsZWN0aW9uVHlwZSgpfSxfZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKXtjb25zdCBtPXRoaXMuZGF0YXNldHMsbj10aGlzLl9zZWxlY3RlZFJ1bkluZGV4LHE9dGhpcy5fc2VsZWN0ZWRUYWdJbmRleDtyZXR1cm4gbSYmbVtuXSYmbVtuXS50YWdzW3FdJiYKIW1bbl0udGFnc1txXS5vcEdyYXBoP21bbl0udGFnc1txXS5wcm9maWxlP2IuZ3JhcGguU2VsZWN0aW9uVHlwZS5QUk9GSUxFOm1bbl0udGFnc1txXS5jb25jZXB0dWFsR3JhcGg/Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLkNPTkNFUFRVQUxfR1JBUEg6Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLk9QX0dSQVBIOmIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSH0sX2dldEZpbGU6ZnVuY3Rpb24oKXt0aGlzLiQkKCIjZmlsZSIpLmNsaWNrKCl9LF9zZXREb3dubG9hZEZpbGVuYW1lOmZ1bmN0aW9uKG0pe3RoaXMuJC5ncmFwaGRvd25sb2FkLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLG0rIi5wbmciKX0sX3N0YXRzTm90TnVsbDpmdW5jdGlvbihtKXtyZXR1cm4gbnVsbCE9PW19LF90b2dnbGVMZWdlbmRPcGVuKCl7dGhpcy5zZXQoIl9sZWdlbmRPcGVuZWQiLCF0aGlzLl9sZWdlbmRPcGVuZWQpfSxfZ2V0VG9nZ2xlVGV4dChtKXtyZXR1cm4gbT8iQ2xvc2UgbGVnZW5kLiI6IkV4cGFuZCBsZWdlbmQuIn0sCl9nZXRUb2dnbGVMZWdlbmRJY29uKG0pe3JldHVybiBtPyJleHBhbmQtbW9yZSI6ImV4cGFuZC1sZXNzIn0sX2dldFNlbGVjdGlvbk9wR3JhcGhEaXNhYmxlZChtLG4scSl7cmV0dXJuIW1bbl18fCFtW25dLnRhZ3NbcV18fCFtW25dLnRhZ3NbcV0ub3BHcmFwaH0sX2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZChtLG4scSl7cmV0dXJuIW1bbl18fCFtW25dLnRhZ3NbcV18fCFtW25dLnRhZ3NbcV0ucHJvZmlsZX0sX2dldFNlbGVjdGlvbkNvbmNlcHR1YWxHcmFwaERpc2FibGVkKG0sbixxKXtyZXR1cm4hbVtuXXx8IW1bbl0udGFnc1txXXx8IW1bbl0udGFnc1txXS5jb25jZXB0dWFsR3JhcGh9fSl9KShkLmNvbnRyb2xzfHwoZC5jb250cm9scz17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1kYXNoYm9hcmQvdGYtZ3JhcGgtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLWRhc2hib2FyZCIscHJvcGVydGllczp7X2RhdGFzZXRzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX2RhdGFzZXRzRmV0Y2hlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfc2VsZWN0ZWREYXRhc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfcmVuZGVySGllcmFyY2h5Ont0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfZGVidWdnZXJEYXRhRW5hYmxlZDpCb29sZWFuLGFsbFN0ZXBzTW9kZUVuYWJsZWQ6Qm9vbGVhbixzcGVjaWZpY0hlYWx0aFBpbGxTdGVwOnt0eXBlOk51bWJlcix2YWx1ZTowfSxoZWFsdGhQaWxsc1RvZ2dsZWRPbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaGVhbHRoUGlsbHNUb2dnbGVkT25DaGFuZ2VkIn0sCnNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxfaXNBdHRhY2hlZDpCb29sZWFuLF9pbml0aWFsaXplZDpCb29sZWFuLF9hcmVIZWFsdGhQaWxsc0xvYWRpbmc6Qm9vbGVhbixfZGVidWdnZXJOdW1lcmljQWxlcnRzOnt0eXBlOkFycmF5LHZhbHVlOltdLG5vdGlmeTohMH0sX25vZGVOYW1lc1RvSGVhbHRoUGlsbHM6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfaGVhbHRoUGlsbFN0ZXBJbmRleDpOdW1iZXIsX2hlYWx0aFBpbGxSZXF1ZXN0SWQ6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkOk51bWJlcixfaGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJEZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6NTAwLHJlYWRPbmx5OiEwfSxydW5zOkFycmF5LHJ1bjp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLHZhbHVlOmJkLmdldFN0cmluZ0luaXRpYWxpemVyKCJydW4iLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYWxTdG9yYWdlOiExfSksb2JzZXJ2ZXI6Il9ydW5PYnNlcnZlciJ9LApfc2VsZWN0aW9uOnt0eXBlOk9iamVjdH0sX2NvbXBhdGliaWxpdHlQcm92aWRlcjpPYmplY3QsX3RyYWNlSW5wdXRzOkJvb2xlYW59LGxpc3RlbmVyczp7Im5vZGUtdG9nZ2xlLWV4cGFuZCI6Il9oYW5kbGVOb2RlVG9nZ2xlRXhwYW5kIn0sb2JzZXJ2ZXJzOlsiX21heWJlRmV0Y2hIZWFsdGhQaWxscyhfZGVidWdnZXJEYXRhRW5hYmxlZCwgYWxsU3RlcHNNb2RlRW5hYmxlZCwgc3BlY2lmaWNIZWFsdGhQaWxsU3RlcCwgX3NlbGVjdGVkTm9kZSkiLCJfbWF5YmVJbml0aWFsaXplRGFzaGJvYXJkKF9pc0F0dGFjaGVkKSIsIl9kZXRlcm1pbmVTZWxlY3RlZERhdGFzZXQoX2RhdGFzZXRzRmV0Y2hlZCwgX2RhdGFzZXRzLCBydW4pIiwiX3VwZGF0ZVNlbGVjdGVkRGF0YXNldE5hbWUoX2RhdGFzZXRzRmV0Y2hlZCwgX2RhdGFzZXRzLCBfc2VsZWN0ZWREYXRhc2V0KSJdLGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwhMCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwKITEpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt0aGlzLl9kZWJ1Z2dlckRhdGFFbmFibGVkfHx0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGRjLmdldFJvdXRlcigpLnBsdWdpbnNMaXN0aW5nKCkpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKGI9PntiLmNhbmNlbGxlZHx8Yi52YWx1ZVsiZGVidWdnZXIiXSYmdGhpcy5zZXQoIl9kZWJ1Z2dlckRhdGFFbmFibGVkIiwhMCl9KSk7dGhpcy5fbWF5YmVGZXRjaEhlYWx0aFBpbGxzKCl9LF9maXQ6ZnVuY3Rpb24oKXt0aGlzLiQkKCIjZ3JhcGhib2FyZCIpLmZpdCgpfSxfcnVuT2JzZXJ2ZXI6YmQuZ2V0U3RyaW5nT2JzZXJ2ZXIoInJ1biIse2RlZmF1bHRWYWx1ZToiIixwb2x5bWVyUHJvcGVydHk6InJ1biIsdXNlTG9jYWxTdG9yYWdlOiExfSksX2ZldGNoRGF0YXNldCgpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJncmFwaHMiLCIvaW5mbyIpKX0sX2ZldGNoSGVhbHRoUGlsbHMoYiwKZCl7Yj17bm9kZV9uYW1lczpKU09OLnN0cmluZ2lmeShiKSxydW46Il9fZGVidWdnZXJfZGF0YV9fIn07dm9pZCAwIT09ZCYmKGIuc3RlcD1kKTtkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsIi9oZWFsdGhfcGlsbHMiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChkLGIpfSxfZmV0Y2hEZWJ1Z2dlck51bWVyaWNzQWxlcnRzKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL251bWVyaWNzX2FsZXJ0X3JlcG9ydCIpKX0sX2dyYXBoVXJsKGIsZCxmKXtyZXR1cm4gZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9ncmFwaCIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7cnVuOmIsbGltaXRfYXR0cl9zaXplOmQsbGFyZ2VfYXR0cnNfa2V5OmZ9KSl9LF9zaG91bGRSZXF1ZXN0SGVhbHRoUGlsbHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZCYmCnRoaXMuaGVhbHRoUGlsbHNUb2dnbGVkT24mJnRoaXMuX3JlbmRlckhpZXJhcmNoeSYmdGhpcy5fZGF0YXNldHNTdGF0ZSh0aGlzLl9kYXRhc2V0c0ZldGNoZWQsdGhpcy5fZGF0YXNldHMsIlBSRVNFTlQiKX0sX21heWJlSW5pdGlhbGl6ZURhc2hib2FyZDpmdW5jdGlvbihiKXshdGhpcy5faW5pdGlhbGl6ZWQmJmImJih0aGlzLnNldCgiX2NvbXBhdGliaWxpdHlQcm92aWRlciIsbmV3IHRmLmdyYXBoLm9wLlRwdUNvbXBhdGliaWxpdHlQcm92aWRlciksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fZmV0Y2hEYXRhc2V0KCkudGhlbihkPT57dGhpcy5fZGF0YXNldHM9T2JqZWN0LmtleXMoZCkuc29ydChhYy5jb21wYXJlVGFnTmFtZXMpLm1hcChmPT57Y29uc3QgaD1kW2ZdO3ZhciBrPU9iamVjdC5rZXlzKGgudGFncykuc29ydChhYy5jb21wYXJlVGFnTmFtZXMpLm1hcChyPT5oLnRhZ3Nbcl0pLm1hcCgoe3RhZzpyLGNvbmNlcHR1YWxfZ3JhcGg6bCxvcF9ncmFwaDpwLHByb2ZpbGU6bX0pPT4KKHt0YWc6cixkaXNwbGF5TmFtZTpyLGNvbmNlcHR1YWxHcmFwaDpsLG9wR3JhcGg6cCxwcm9maWxlOm19KSk7az1oLnJ1bl9ncmFwaD9be3RhZzpudWxsLGRpc3BsYXlOYW1lOiJEZWZhdWx0Iixjb25jZXB0dWFsR3JhcGg6ITEsb3BHcmFwaDohMCxwcm9maWxlOiExfSwuLi5rXTprO3JldHVybntuYW1lOmYsdGFnczprfX0pO3RoaXMuX2RhdGFzZXRzRmV0Y2hlZD0hMH0pKX0sX2RldGVybWluZVNlbGVjdGVkRGF0YXNldChiLGQsZil7Zj8oZD1kLmZpbmRJbmRleChoPT5oLm5hbWU9PT1mKSwtMT09PWQ/YiYmKGI9dGhpcy4kJCgiI2Vycm9yLWRpYWxvZyIpLGIudGV4dENvbnRlbnQ9YE5vIGRhdGFzZXQgbmFtZWQgIiR7Zn0iIGNvdWxkIGJlIGZvdW5kLmAsYi5vcGVuKCkpOnRoaXMuc2V0KCJfc2VsZWN0ZWREYXRhc2V0IixkKSk6dGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLDApfSxfdXBkYXRlU2VsZWN0ZWREYXRhc2V0TmFtZShiLGQsZil7YiYmKGQubGVuZ3RoPD1mfHx0aGlzLnNldCgicnVuIiwKZFtmXS5uYW1lKSl9LF9yZXF1ZXN0SGVhbHRoUGlsbHM6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2FyZUhlYWx0aFBpbGxzTG9hZGluZyIsITApO3ZhciBiPSsrdGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZDtudWxsIT09dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZCYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZCksdGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1udWxsKTt0aGlzLmFsbFN0ZXBzTW9kZUVuYWJsZWQ/dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1udWxsO3RoaXMuX2luaXRpYXRlTmV0d29ya1JlcXVlc3RGb3JIZWFsdGhQaWxscyhiKX0uYmluZCh0aGlzKSx0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lckRlbGF5KTp0aGlzLl9pbml0aWF0ZU5ldHdvcmtSZXF1ZXN0Rm9ySGVhbHRoUGlsbHMoYil9LApfaW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2hlYWx0aFBpbGxSZXF1ZXN0SWQ9PT1iKXt2YXIgZD10aGlzLl9mZXRjaEhlYWx0aFBpbGxzKHRoaXMuX3JlbmRlckhpZXJhcmNoeS5nZXROYW1lc09mUmVuZGVyZWRPcHMoKSx0aGlzLmFsbFN0ZXBzTW9kZUVuYWJsZWQ/dGhpcy5zcGVjaWZpY0hlYWx0aFBpbGxTdGVwOnZvaWQgMCksZj10aGlzLl9mZXRjaERlYnVnZ2VyTnVtZXJpY3NBbGVydHMoKTtQcm9taXNlLmFsbChbZCxmXSkudGhlbihmdW5jdGlvbihoKXt2YXIgaz1oWzBdO2g9aFsxXTtpZih0aGlzLmhlYWx0aFBpbGxzVG9nZ2xlZE9uJiZiPT09dGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZCl7Zm9yKHZhciByIGluIGspe3RoaXMuc2V0KCJfaGVhbHRoUGlsbFN0ZXBJbmRleCIsa1tyXS5sZW5ndGgtMSk7YnJlYWt9dGhpcy5zZXQoIl9kZWJ1Z2dlck51bWVyaWNBbGVydHMiLGgpO3RoaXMuc2V0KCJfbm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsCmspO3RoaXMuc2V0KCJfYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiwhMSk7dGhpcy5zZXQoIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkIixudWxsKX19LmJpbmQodGhpcykpfX0sX2RhdGFzZXRzU3RhdGU6ZnVuY3Rpb24oYixkLGYpe3JldHVybiBiP2QmJmQubGVuZ3RoPyJQUkVTRU5UIj09PWY6IkVNUFRZIj09PWY6Ik5PVF9MT0FERUQiPT09Zn0sX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnJlbG9hZCgpfSxfaGFuZGxlTm9kZVRvZ2dsZUV4cGFuZDpmdW5jdGlvbigpe3RoaXMuX21heWJlRmV0Y2hIZWFsdGhQaWxscygpfSxfaGVhbHRoUGlsbHNUb2dnbGVkT25DaGFuZ2VkOmZ1bmN0aW9uKGIpe2I/dGhpcy5yZWxvYWQoKTp0aGlzLnNldCgiX25vZGVOYW1lc1RvSGVhbHRoUGlsbHMiLHt9KX0sX21heWJlRmV0Y2hIZWFsdGhQaWxsczpmdW5jdGlvbigpe3RoaXMuX3Nob3VsZFJlcXVlc3RIZWFsdGhQaWxscygpJiZ0aGlzLl9yZXF1ZXN0SGVhbHRoUGlsbHMoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1kaXN0cmlidXRpb24tY2hhcnQvdnotZGlzdHJpYnV0aW9uLWNoYXJ0LmpzCnZhciBkbDsKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoZixoKXt0aGlzLnJ1bjJkYXRhc2V0cz17fTt0aGlzLmNvbG9yU2NhbGU9aDt0aGlzLmJ1aWxkQ2hhcnQoZil9Z2V0RGF0YXNldChmKXt2b2lkIDA9PT10aGlzLnJ1bjJkYXRhc2V0c1tmXSYmKHRoaXMucnVuMmRhdGFzZXRzW2ZdPW5ldyBQbG90dGFibGUuRGF0YXNldChbXSx7cnVuOmZ9KSk7cmV0dXJuIHRoaXMucnVuMmRhdGFzZXRzW2ZdfWJ1aWxkQ2hhcnQoZil7dGhpcy5vdXRlciYmdGhpcy5vdXRlci5kZXN0cm95KCk7Zj1zZi5nZXRYQ29tcG9uZW50cyhmKTt0aGlzLnhBY2Nlc3Nvcj1mLmFjY2Vzc29yO3RoaXMueFNjYWxlPWYuc2NhbGU7dGhpcy54QXhpcz1mLmF4aXM7dGhpcy54QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZygzKTt0aGlzLnlTY2FsZT1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7dGhpcy55QXhpcz1uZXcgUGxvdHRhYmxlLkF4ZXMuTnVtZXJpYyh0aGlzLnlTY2FsZSwibGVmdCIpO2Y9CnNmLm11bHRpc2NhbGVGb3JtYXR0ZXIoc2YuWV9BWElTX0ZPUk1BVFRFUl9QUkVDSVNJT04pO3RoaXMueUF4aXMubWFyZ2luKDApLnRpY2tMYWJlbFBhZGRpbmcoNSkuZm9ybWF0dGVyKGYpO3RoaXMueUF4aXMudXNlc1RleHRXaWR0aEFwcHJveGltYXRpb24oKTtmPXRoaXMuYnVpbGRQbG90KHRoaXMueEFjY2Vzc29yLHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTt0aGlzLmdyaWRsaW5lcz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTt0aGlzLmNlbnRlcj1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JvdXAoW3RoaXMuZ3JpZGxpbmVzLGZdKTt0aGlzLm91dGVyPW5ldyBQbG90dGFibGUuQ29tcG9uZW50cy5UYWJsZShbW3RoaXMueUF4aXMsdGhpcy5jZW50ZXJdLFtudWxsLHRoaXMueEF4aXNdXSl9YnVpbGRQbG90KGYsaCxrKXtsZXQgcj1bMCwyMjgsMTU4NywzMDg1LDVFMyw2OTE1LDg0MTMsOTc3MiwxRTRdLGw9Xy5yYW5nZShyLmxlbmd0aC0KMSkubWFwKHU9PihyW3UrMV0tclt1XSkvMjUwMCkscD1yLm1hcCgodSx3KT0+QT0+QVt3XVsxXSksbT1wWzRdLG49Xy5yYW5nZShwLmxlbmd0aC0xKS5tYXAodT0+e2xldCB3PW5ldyBQbG90dGFibGUuUGxvdHMuQXJlYTt3LngoZixoKTtsZXQgQT00PHU/cFt1XTpwW3UrMV07dy55KDQ8dT9wW3UrMV06cFt1XSxrKTt3LnkwKEEpO3cuYXR0cigiZmlsbCIsKHkseCxDKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKEMubWV0YWRhdGEoKS5ydW4pKTt3LmF0dHIoInN0cm9rZSIsKHkseCxDKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKEMubWV0YWRhdGEoKS5ydW4pKTt3LmF0dHIoInN0cm9rZS13ZWlnaHQiLCgpPT4iMC41cHgiKTt3LmF0dHIoInN0cm9rZS1vcGFjaXR5IiwoKT0+bFt1XSk7dy5hdHRyKCJmaWxsLW9wYWNpdHkiLCgpPT5sW3VdKTtyZXR1cm4gd30pLHE9bmV3IFBsb3R0YWJsZS5QbG90cy5MaW5lO3EueChmLGgpO3EueShtLGspO3EuYXR0cigic3Ryb2tlIiwodSx3LEEpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUoQS5ydW4pKTsKdGhpcy5wbG90cz1uO3JldHVybiBuZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JvdXAobil9c2V0VmlzaWJsZVNlcmllcyhmKXt0aGlzLnJ1bnM9ZjtsZXQgaD1mLm1hcChrPT50aGlzLmdldERhdGFzZXQoaykpO3RoaXMucGxvdHMuZm9yRWFjaChrPT5rLmRhdGFzZXRzKGgpKX1zZXRTZXJpZXNEYXRhKGYsaCl7dGhpcy5nZXREYXRhc2V0KGYpLmRhdGEoaCl9cmVuZGVyVG8oZil7dGhpcy50YXJnZXRTVkc9Zjt0aGlzLm91dGVyLnJlbmRlclRvKGYpfXJlZHJhdygpe3RoaXMub3V0ZXIucmVkcmF3KCl9ZGVzdHJveSgpe3RoaXMub3V0ZXIuZGVzdHJveSgpfX1iLkRpc3RyaWJ1dGlvbkNoYXJ0PWQ7UG9seW1lcih7aXM6InZ6LWRpc3RyaWJ1dGlvbi1jaGFydCIscHJvcGVydGllczp7Y29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IFBsb3R0YWJsZS5TY2FsZXMuQ29sb3IpLnJhbmdlKGQzLnNjaGVtZUNhdGVnb3J5MTApfX0seFR5cGU6e3R5cGU6U3RyaW5nLAp2YWx1ZToic3RlcCJ9LF9hdHRhY2hlZDpCb29sZWFuLF9jaGFydDpPYmplY3QsX3Zpc2libGVTZXJpZXNDYWNoZTp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3Nlcmllc0RhdGFDYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19LF9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ6e3R5cGU6TnVtYmVyLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfbWFrZUNoYXJ0KHhUeXBlLCBjb2xvclNjYWxlLCBfYXR0YWNoZWQpIiwiX3JlbG9hZEZyb21DYWNoZShfY2hhcnQpIl0sc2V0VmlzaWJsZVNlcmllczpmdW5jdGlvbihmKXt0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9Zjt0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXMoZiksdGhpcy5yZWRyYXcoKSl9LHNldFNlcmllc0RhdGE6ZnVuY3Rpb24oZixoKXt0aGlzLl9zZXJpZXNEYXRhQ2FjaGVbZl09aDt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YShmLApoKX0scmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQucmVkcmF3KCl9LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX0sX21ha2VDaGFydDpmdW5jdGlvbihmLGgsayl7bnVsbD09PXRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCYmdGhpcy5jYW5jZWxBc3luYyh0aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQpO3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGw7aWYoayl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LmRlc3Ryb3koKTt2YXIgcj1uZXcgZChmLGgpLGw9ZDMuc2VsZWN0KHRoaXMuJC5jaGFydGRpdik7ci5yZW5kZXJUbyhsKTt0aGlzLl9jaGFydD1yfX0sMzUwKX0sX3JlbG9hZEZyb21DYWNoZTpmdW5jdGlvbigpe3RoaXMuX2NoYXJ0JiYodGhpcy5fY2hhcnQuc2V0VmlzaWJsZVNlcmllcyh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUpLAp0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZm9yRWFjaChmdW5jdGlvbihmKXt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKGYsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW2ZdfHxbXSl9LmJpbmQodGhpcykpKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMH0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMX19KX0pKGRsfHwoZGw9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkL3RmLWRpc3RyaWJ1dGlvbi1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGlzdHJpYnV0aW9uLWxvYWRlciIscHJvcGVydGllczp7cnVuOlN0cmluZyx0YWc6U3RyaW5nLHRhZ01ldGFkYXRhOk9iamVjdCx4VHlwZTpTdHJpbmcsZGF0YVRvTG9hZDp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVEYXRhVG9Mb2FkKHJ1biwgdGFnKSJ9LGdldERhdGFMb2FkTmFtZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+KHtydW46Yn0pPT5ifSxnZXREYXRhTG9hZFVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+KHt0YWc6YixydW46ZH0pPT5kYy5hZGRQYXJhbXMoZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRpc3RyaWJ1dGlvbnMiLCIvZGlzdHJpYnV0aW9ucyIpLHt0YWc6YixydW46ZH0pfSxsb2FkRGF0YUNhbGxiYWNrOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2I9Zi5tYXAoaD0+e2NvbnN0IFtrLHIsbF09aDtsLndhbGxfdGltZT1uZXcgRGF0ZSgxRTMqayk7bC5zdGVwPXI7cmV0dXJuIGx9KTsKZD10aGlzLmdldERhdGFMb2FkTmFtZShkKTt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShkLGIpO3RoaXMuJC5jaGFydC5zZXRWaXNpYmxlU2VyaWVzKFtkXSl9fX0sX2NvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF9ydW5Db2xvcjp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUnVuQ29sb3IocnVuKSJ9LF9leHBhbmRlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0scmVxdWVzdE1hbmFnZXI6T2JqZWN0LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfX0sb2JzZXJ2ZXJzOlsicmVsb2FkKHJ1biwgdGFnKSJdLGJlaGF2aW9yczpbY2QuRGF0YUxvYWRlckJlaGF2aW9yXSxfY29tcHV0ZURhdGFUb0xvYWQoYixkKXtyZXR1cm5be3J1bjpiLHRhZzpkfV19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIHRoaXMuX2NvbG9yU2NhbGUuc2NhbGUoYil9LApyZWRyYXcoKXt0aGlzLiQuY2hhcnQucmVkcmF3KCl9LF90b2dnbGVFeHBhbmRlZCgpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCk7dGhpcy5yZWRyYXcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkL3RmLWRpc3RyaWJ1dGlvbi1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGlzdHJpYnV0aW9uLWRhc2hib2FyZCIscHJvcGVydGllczp7X3hUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToic3RlcCJ9LF9zZWxlY3RlZFJ1bnM6QXJyYXksX3J1blRvVGFnOk9iamVjdCxfcnVuVG9UYWdJbmZvOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX3RhZ0ZpbHRlcjpTdHJpbmcsX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZERpc3RyaWJ1dGlvbnMoKX0pfSxfZmV0Y2hUYWdzKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGlzdHJpYnV0aW9ucyIsCiIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGs9Pk9iamVjdC5rZXlzKGspKSxoPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1oLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZyIsZik7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSl9fSl9LF9yZWxvYWREaXN0cmlidXRpb25zKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGIsZCxmKX0sX3RhZ01ldGFkYXRhKGIsCmQsZil7cmV0dXJuIGJbZF1bZl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMvdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMuaHRtbC5qcwpQb2x5bWVyKHtpczoidnotaGlzdG9ncmFtLXRpbWVzZXJpZXMiLHByb3BlcnRpZXM6e21vZGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmZzZXQifSx0aW1lUHJvcGVydHk6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGVwIn0sYmluczp7dHlwZTpTdHJpbmcsdmFsdWU6ImJpbnMifSx4Ont0eXBlOlN0cmluZyx2YWx1ZToieCJ9LGR4Ont0eXBlOlN0cmluZyx2YWx1ZToiZHgifSx5Ont0eXBlOlN0cmluZyx2YWx1ZToieSJ9LGNvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGQzLnNjYWxlT3JkaW5hbChkMy5zY2hlbWVDYXRlZ29yeTEwKX19LG1vZGVUcmFuc2l0aW9uRHVyYXRpb246e3R5cGU6TnVtYmVyLHZhbHVlOjUwMH0sX2F0dGFjaGVkOkJvb2xlYW4sX25hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9kYXRhOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJyZWRyYXcodGltZVByb3BlcnR5LCBfYXR0YWNoZWQpIiwiX21vZGVSZWRyYXcobW9kZSkiXSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNjb3BlU3VidHJlZSh0aGlzLiQuc3ZnLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMH0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMX0sc2V0U2VyaWVzRGF0YTpmdW5jdGlvbihiLGQpe3RoaXMuX25hbWU9Yjt0aGlzLl9kYXRhPWQ7dGhpcy5yZWRyYXcoKX0scmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy5fZHJhdygwKX0sX21vZGVSZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl9kcmF3KHRoaXMubW9kZVRyYW5zaXRpb25EdXJhdGlvbil9LF9kcmF3OmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2F0dGFjaGVkJiZ0aGlzLl9kYXRhKXtpZih2b2lkIDA9PT1iKXRocm93IEVycm9yKCJ2ei1oaXN0b2dyYW0tdGltZXNlcmllcyBfZHJhdyBuZWVkcyBkdXJhdGlvbiIpO2lmKDA+PXRoaXMuX2RhdGEubGVuZ3RoKXRocm93IEVycm9yKCJOb3QgZW5vdWdoIHN0ZXBzIGluIHRoZSBkYXRhIik7aWYoIXRoaXMuX2RhdGFbMF0uaGFzT3duUHJvcGVydHkodGhpcy5iaW5zKSl0aHJvdyBFcnJvcigiTm8gYmlucyBwcm9wZXJ0eSBvZiAnIisKdGhpcy5iaW5zKyInIGluIGRhdGEiKTtpZigwPj10aGlzLl9kYXRhWzBdW3RoaXMuYmluc10ubGVuZ3RoKXRocm93IEVycm9yKCJNdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGJpbiBpbiBiaW5zIGluIGRhdGEiKTtpZighdGhpcy5fZGF0YVswXVt0aGlzLmJpbnNdWzBdLmhhc093blByb3BlcnR5KHRoaXMueCkpdGhyb3cgRXJyb3IoIk5vIHggcHJvcGVydHkgJyIrdGhpcy54KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy5keCkpdGhyb3cgRXJyb3IoIk5vIGR4IHByb3BlcnR5ICciK3RoaXMuZHgrIicgb24gYmlucyBkYXRhIik7aWYoIXRoaXMuX2RhdGFbMF1bdGhpcy5iaW5zXVswXS5oYXNPd25Qcm9wZXJ0eSh0aGlzLnkpKXRocm93IEVycm9yKCJObyB5IHByb3BlcnR5ICciK3RoaXMueSsiJyBvbiBiaW5zIGRhdGEiKTt2YXIgZD10aGlzLnRpbWVQcm9wZXJ0eSxmPXRoaXMueCxoPXRoaXMuYmlucyxrPXRoaXMuZHgsCnI9dGhpcy55LGw9dGhpcy5fZGF0YSxwPXRoaXMubW9kZSxtPWQzLmhjbCh0aGlzLmNvbG9yU2NhbGUodGhpcy5fbmFtZSkpLG49ZDMuc2VsZWN0KHRoaXMuJC50b29sdGlwKSxxPWZ1bmN0aW9uKHhhKXtyZXR1cm4geGFbZl19LHU9ZnVuY3Rpb24oeGEpe3JldHVybiB4YVtyXX0sdz1mdW5jdGlvbih4YSl7cmV0dXJuIHhhW2ZdK3hhW2tdfSxBPWZ1bmN0aW9uKHhhKXtyZXR1cm4geGFbZF19OyJyZWxhdGl2ZSI9PT1kJiYoQT1mdW5jdGlvbih4YSl7cmV0dXJuIHhhLndhbGxfdGltZS1sWzBdLndhbGxfdGltZX0pO3ZhciB5PXRoaXMuJC5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseD15LndpZHRoLEM9eS5oZWlnaHQsRz01O2lmKCJvZmZzZXQiPT09cCl7dmFyIEQ9Qy8yLjU7Rz1EKzV9ZWxzZSBEPUMtRy0yMDt2YXIgQj14LTI0LTYwLEg9Qy1HLTIwO2QzLm1pbihsLHEpO2QzLm1heChsLHcpO3ZhciBLPWQzLmZvcm1hdCgiLjNuIik7eT1kMy5mb3JtYXQoIi4wZiIpOyJ3YWxsX3RpbWUiPT09CmQ/eT1kMy50aW1lRm9ybWF0KCIlbS8lZCAlWCIpOiJyZWxhdGl2ZSI9PT1kJiYoeT1mdW5jdGlvbih4YSl7cmV0dXJuIGQzLmZvcm1hdCgiLjFyIikoeGEvMzZFNSkrImgifSk7dmFyIEw9bC5tYXAoZnVuY3Rpb24oeGEpe3JldHVybltkMy5taW4oeGFbaF0scSksZDMubWF4KHhhW2hdLHcpXX0pLEo9bC5tYXAoZnVuY3Rpb24oeGEpe3JldHVybiBkMy5leHRlbnQoeGFbaF0sdSl9KSxPPWQzLmV4dGVudChsLEEpLFM9KCJ3YWxsX3RpbWUiPT09ZD9kMy5zY2FsZVRpbWUoKTpkMy5zY2FsZUxpbmVhcigpKS5kb21haW4oTykucmFuZ2UoWzAsIm9mZnNldCI9PT1wP0g6MF0pLE49ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsZDMubWF4KGwsZnVuY3Rpb24oeGEsU2Epe3JldHVybiBKW1NhXVsxXX0pXSkucmFuZ2UoW0QsMF0pLFI9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oTi5kb21haW4oKSkucmFuZ2UoWzUwMCwwXSksWD1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbZDMubWluKGwsZnVuY3Rpb24oeGEsClNhKXtyZXR1cm4gTFtTYV1bMF19KSxkMy5tYXgobCxmdW5jdGlvbih4YSxTYSl7cmV0dXJuIExbU2FdWzFdfSldKS5uaWNlKCkucmFuZ2UoWzAsQl0pLGFhPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKFguZG9tYWluKCkpLnJhbmdlKFswLDUwMF0pLGZhPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGQzLmV4dGVudChsLEEpKS5yYW5nZShbbS5kYXJrZXIoKSxtLmJyaWdodGVyKCldKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUhjbCk7bT1kMy5heGlzQm90dG9tKFgpLnRpY2tzKCk7dmFyIG9hPWQzLmF4aXNSaWdodChTKS50aWNrcygpLnRpY2tGb3JtYXQoeSksWj1kMy5heGlzUmlnaHQoTikudGlja3MoKS50aWNrU2l6ZShCKzUpLnRpY2tGb3JtYXQoSyksY2E9ZnVuY3Rpb24oeGEpe3JldHVybiB4YVtmXSt4YVtrXS8yfSxqYT1kMy5saW5lKCkueChmdW5jdGlvbih4YSl7cmV0dXJuIGFhKGNhKHhhKSl9KS55KGZ1bmN0aW9uKHhhKXtyZXR1cm4gUih4YVtyXSl9KSxiYT1mdW5jdGlvbih4YSl7cmV0dXJuIk0iKwphYShjYSh4YVswXSkpKyIsIitSKDApKyJMIitqYSh4YSkuc2xpY2UoMSkrIkwiK2FhKGNhKHhhW3hhLmxlbmd0aC0xXSkpKyIsIitSKDApfSxrYT10aGlzLiQuc3ZnO3k9ZDMuc2VsZWN0KGthKTtiPXkudHJhbnNpdGlvbigpLmR1cmF0aW9uKGIpO3k9eS5zZWxlY3QoImciKS5jbGFzc2VkKCJzbWFsbCIsZnVuY3Rpb24oKXtyZXR1cm4gMDxCJiYxNTA+PUJ9KS5jbGFzc2VkKCJtZWRpdW0iLGZ1bmN0aW9uKCl7cmV0dXJuIDE1MDxCJiYzMDA+PUJ9KS5jbGFzc2VkKCJsYXJnZSIsZnVuY3Rpb24oKXtyZXR1cm4gMzAwPEJ9KTtiPWIuc2VsZWN0KCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDI0LCIrRysiKSIpO3ZhciBXPWQzLmJpc2VjdG9yKHcpLmxlZnQ7Tz15LnNlbGVjdCgiLnN0YWdlIikub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXt2YS5zdHlsZSgib3BhY2l0eSIsMSk7eWEuc3R5bGUoIm9wYWNpdHkiLDEpO0FhLnN0eWxlKCJvcGFjaXR5IiwxKTtGYS5zdHlsZSgib3BhY2l0eSIsCjEpO24uc3R5bGUoIm9wYWNpdHkiLDEpfSkub24oIm1vdXNlb3V0IixmdW5jdGlvbigpe3ZhLnN0eWxlKCJvcGFjaXR5IiwwKTt5YS5zdHlsZSgib3BhY2l0eSIsMCk7QWEuc3R5bGUoIm9wYWNpdHkiLDApO0ZhLnN0eWxlKCJvcGFjaXR5IiwwKTt2YS5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwhMSk7RWEuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsITEpO24uc3R5bGUoIm9wYWNpdHkiLDApfSkub24oIm1vdXNlbW92ZSIsZnVuY3Rpb24oKXtmdW5jdGlvbiB4YShBYil7cmV0dXJuIE1hdGgubWluKEFiW2hdLmxlbmd0aC0xLFcoQWJbaF0sWGEpKX12YXIgU2E9ZDMubW91c2UodGhpcyksWGE9WC5pbnZlcnQoU2FbMF0pO1MuaW52ZXJ0KFNhWzFdKTt2YXIgdWIsQmI9SW5maW5pdHkscWI7dmEuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbihBYil7dmFyIEhiPXhhKEFiKTtxYj1BYjt2YXIgbGM9WChBYltoXVtIYl1bZl0rQWJbaF1bSGJdW2tdLzIpO0hiPU4oQWJbaF1bSGJdW3JdKTt2YXIgZWM9CiJvZmZzZXQiPT09cD9TKEEoQWIpKS0oRC1IYik6SGI7ZWM9TWF0aC5hYnMoU2FbMV0tZWMpO2VjPEJiJiYoQmI9ZWMsdWI9QWIpO3JldHVybiJ0cmFuc2xhdGUoIitsYysiLCIrSGIrIikifSk7dmEuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbihBYil7dmFyIEhiPXhhKEFiKTtyZXR1cm4gQWJbaF1bSGJdW3JdfSk7dmEuY2xhc3NlZCgiaG92ZXItY2xvc2VzdCIsZnVuY3Rpb24oQWIpe3JldHVybiBBYj09PXVifSk7RWEuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsZnVuY3Rpb24oQWIpe3JldHVybiBBYj09PXVifSk7dmFyIHpiPXhhKHFiKTt5YS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK1gocWJbaF1bemJdW2ZdK3FiW2hdW3piXVtrXS8yKSsiLCAiK0grIikifSkuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbigpe3JldHVybiBLKHFiW2hdW3piXVtmXStxYltoXVt6Yl1ba10vMil9KTt2YXIgdmI9b2EudGlja0Zvcm1hdCgpO0FhLmF0dHIoInRyYW5zZm9ybSIsCmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wP1MoQSh1YikpOjApKyIpIn0pLnN0eWxlKCJkaXNwbGF5Iiwib2Zmc2V0Ij09PXA/IiI6Im5vbmUiKS5zZWxlY3QoInRleHQiKS50ZXh0KGZ1bmN0aW9uKCl7cmV0dXJuIHZiKEEodWIpKX0pO3ZhciBHYj1aLnRpY2tGb3JtYXQoKTtGYS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wPzA6Tih1YltoXVt6Yl1bcl0pKSsiKSJ9KS5zdHlsZSgiZGlzcGxheSIsIm9mZnNldCI9PT1wPyJub25lIjoiIikuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbigpe3JldHVybiBHYih1YltoXVt6Yl1bcl0pfSk7dmFyIE9iPWQzLm1vdXNlKGthKTtuLnN0eWxlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIisoT2JbMF0rMTUpKyJweCwiKyhPYlsxXS0xNSkrInB4KSIpLnNlbGVjdCgic3BhbiIpLnRleHQoIm9mZnNldCI9PT1wP0diKHViW2hdW3piXVtyXSk6Cigic3RlcCI9PT1kPyJzdGVwICI6IiIpK3ZiKEEodWIpKSl9KTtPLnNlbGVjdCgiLmJhY2tncm91bmQiKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoLTI0LCIrLUcrIikiKS5hdHRyKCJ3aWR0aCIseCkuYXR0cigiaGVpZ2h0IixDKTtDPU8uc2VsZWN0QWxsKCIuaGlzdG9ncmFtIikuZGF0YShsKTtDLmV4aXQoKS5yZW1vdmUoKTt4PUMuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImhpc3RvZ3JhbSIpO0M9eC5tZXJnZShDKS5zb3J0KGZ1bmN0aW9uKHhhLFNhKXtyZXR1cm4gQSh4YSktQShTYSl9KTtHPWIuc2VsZWN0QWxsKCIuaGlzdG9ncmFtIikuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih4YSl7cmV0dXJuInRyYW5zbGF0ZSgwLCAiKygib2Zmc2V0Ij09PXA/UyhBKHhhKSktRDowKSsiKSJ9KTt4LmFwcGVuZCgibGluZSIpLmF0dHIoImNsYXNzIiwiYmFzZWxpbmUiKTtHLnNlbGVjdCgiLmJhc2VsaW5lIikuc3R5bGUoInN0cm9rZS1vcGFjaXR5IixmdW5jdGlvbigpe3JldHVybiJvZmZzZXQiPT09CnA/LjE6MH0pLmF0dHIoInkxIixEKS5hdHRyKCJ5MiIsRCkuYXR0cigieDIiLEIpO3guYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJvdXRsaW5lIik7dmFyIEVhPUMuc2VsZWN0KCIub3V0bGluZSIpLmF0dHIoInZlY3Rvci1lZmZlY3QiLCJub24tc2NhbGluZy1zdHJva2UiKS5hdHRyKCJkIixmdW5jdGlvbih4YSl7cmV0dXJuIGJhKHhhW2hdKX0pLnN0eWxlKCJzdHJva2Utd2lkdGgiLDEpO0cuc2VsZWN0KCIub3V0bGluZSIpLmF0dHIoInRyYW5zZm9ybSIsInNjYWxlKCIrQi81MDArIiwgIitELzUwMCsiKSIpLnN0eWxlKCJzdHJva2UiLGZ1bmN0aW9uKHhhKXtyZXR1cm4ib2Zmc2V0Ij09PXA/IndoaXRlIjpmYShBKHhhKSl9KS5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbigpe3JldHVybiJvZmZzZXQiPT09cD8xOjB9KS5zdHlsZSgiZmlsbCIsZnVuY3Rpb24oeGEpe3JldHVybiBmYShBKHhhKSl9KTt4PXguYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJob3ZlciIpLnN0eWxlKCJmaWxsIiwKZnVuY3Rpb24oeGEpe3JldHVybiBmYShBKHhhKSl9KTt2YXIgdmE9Qy5zZWxlY3QoIi5ob3ZlciIpO3guYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJyIiwyKTt4LmFwcGVuZCgidGV4dCIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoImR4Iiw0KTt4PXkuc2VsZWN0KCIueC1heGlzLWhvdmVyIikuc2VsZWN0QWxsKCIubGFiZWwiKS5kYXRhKFsieCJdKTtDPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImxhYmVsIik7dmFyIHlhPXgubWVyZ2UoQyk7Qy5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtMjApLmF0dHIoInkiLDYpLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IiwxNCk7Qy5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDApLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsNik7Qy5hcHBlbmQoInRleHQiKS5hdHRyKCJkeSIsMTgpO3g9eS5zZWxlY3QoIi55LWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pOwpDPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImxhYmVsIik7dmFyIEFhPXgubWVyZ2UoQyk7Qy5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KTtDLmFwcGVuZCgibGluZSIpLmF0dHIoIngxIiwwKS5hdHRyKCJ4MiIsNikuYXR0cigieTEiLDApLmF0dHIoInkyIiwwKTtDLmFwcGVuZCgidGV4dCIpLmF0dHIoImR4Iiw4KS5hdHRyKCJkeSIsNCk7eT15LnNlbGVjdCgiLnktc2xpY2UtYXhpcy1ob3ZlciIpLnNlbGVjdEFsbCgiLmxhYmVsIikuZGF0YShbInkiXSk7eD15LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpO3ZhciBGYT15Lm1lcmdlKHgpO3guYXBwZW5kKCJyZWN0IikuYXR0cigieCIsOCkuYXR0cigieSIsLTYpLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IiwxNCk7eC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwKMCkuYXR0cigieTIiLDApO3guYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KTtiLnNlbGVjdCgiLnkuYXhpcy5zbGljZSIpLnN0eWxlKCJvcGFjaXR5Iiwib2Zmc2V0Ij09PXA/MDoxKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1wPy1EOjApKyIpIikuY2FsbChaKTtiLnNlbGVjdCgiLnguYXhpcyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCAiK0grIikiKS5jYWxsKG0pO2Iuc2VsZWN0KCIueS5heGlzIikuc3R5bGUoIm9wYWNpdHkiLCJvZmZzZXQiPT09cD8xOjApLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wPzA6SCkrIikiKS5jYWxsKG9hKTtiLnNlbGVjdEFsbCgiLnRpY2sgdGV4dCIpLmF0dHIoImZpbGwiLCIjYWFhIik7Yi5zZWxlY3RBbGwoIi5heGlzIHBhdGguZG9tYWluIikuYXR0cigic3Ryb2tlIiwibm9uZSIpfX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkL3RmLWhpc3RvZ3JhbS1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaGlzdG9ncmFtLWxvYWRlciIscHJvcGVydGllczp7cnVuOlN0cmluZyx0YWc6U3RyaW5nLGRhdGFUb0xvYWQ6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlRGF0YVRvTG9hZChydW4sIHRhZykifSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9Pih7cnVuOmJ9KT0+Yn0sZ2V0RGF0YUxvYWRVcmw6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9Pih7dGFnOmIscnVuOmR9KT0+ZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJoaXN0b2dyYW1zIiwiL2hpc3RvZ3JhbXMiKSx7dGFnOmIscnVuOmR9KX0sbG9hZERhdGFDYWxsYmFjazp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybihiLGQsZik9PntiPWVsLmJhY2tlbmRUb1Z6KGYpO2Q9dGhpcy5nZXREYXRhTG9hZE5hbWUoZCk7dGhpcy4kLmNoYXJ0LnNldFNlcmllc0RhdGEoZCxiKX19fSx0YWdNZXRhZGF0YTpPYmplY3QsdGltZVByb3BlcnR5OlN0cmluZywKaGlzdG9ncmFtTW9kZTpTdHJpbmcsX2NvbG9yU2NhbGVGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PkxkLnJ1bnNDb2xvclNjYWxlfSxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfZXhwYW5kZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxvYnNlcnZlcnM6WyJyZWxvYWQocnVuLCB0YWcsIHJlcXVlc3RNYW5hZ2VyKSJdLGJlaGF2aW9yczpbY2QuRGF0YUxvYWRlckJlaGF2aW9yXSxfY29tcHV0ZURhdGFUb0xvYWQoYixkKXtyZXR1cm5be3J1bjpiLHRhZzpkfV19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIHRoaXMuX2NvbG9yU2NhbGVGdW5jdGlvbihiKX0scmVkcmF3KCl7dGhpcy4kLmNoYXJ0LnJlZHJhdygpfSxfdG9nZ2xlRXhwYW5kZWQoKXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpO3RoaXMucmVkcmF3KCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaGlzdG9ncmFtLWRhc2hib2FyZC90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19oaXN0b2dyYW1Nb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToib2Zmc2V0In0sX3RpbWVQcm9wZXJ0eTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZzpPYmplY3QsX3J1blRvVGFnSW5mbzpPYmplY3QsX2RhdGFOb3RGb3VuZDpCb29sZWFuLF90YWdGaWx0ZXI6U3RyaW5nLF9yZXN0YW1wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jYXRlZ29yaWVzRG9tUmVhZHk6Qm9vbGVhbixfY2F0ZWdvcmllczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX21ha2VDYXRlZ29yaWVzKF9ydW5Ub1RhZywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlciwgX2NhdGVnb3JpZXNEb21SZWFkeSkifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9fSxsaXN0ZW5lcnM6eyJjb250ZW50LXZpc2liaWxpdHktY2hhbmdlZCI6Il9yZWRyYXdDYXRlZ29yeVBhbmUifSwKX3JlZHJhd0NhdGVnb3J5UGFuZShiLGQpe2QmJmIudGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWhpc3RvZ3JhbS1sb2FkZXIiKS5mb3JFYWNoKGY9PmYucmVkcmF3KCkpfSxyZWFkeSgpe3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe3RoaXMuX2ZldGNoVGFncygpLnRoZW4oKCk9Pnt0aGlzLl9yZWxvYWRIaXN0b2dyYW1zKCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImhpc3RvZ3JhbXMiLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGs9Pk9iamVjdC5rZXlzKGspKSxoPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1oLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZyIsZik7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pgp7dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkSGlzdG9ncmFtcygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1oaXN0b2dyYW0tbG9hZGVyIikuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0sX21ha2VDYXRlZ29yaWVzKGIsZCxmKXtyZXR1cm4ga2MuY2F0ZWdvcml6ZVJ1blRhZ0NvbWJpbmF0aW9ucyhiLGQsZil9LF90YWdNZXRhZGF0YShiLGQsZil7cmV0dXJuIGJbZF1bZl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGV4dC1kYXNoYm9hcmQvdGYtdGV4dC1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGV4dC1sb2FkZXIiLHByb3BlcnRpZXM6e3J1bjpTdHJpbmcsdGFnOlN0cmluZyxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfdGV4dHM6e3R5cGU6QXJyYXksdmFsdWU6W119LHJlcXVlc3RNYW5hZ2VyOk9iamVjdCxfY2FuY2VsbGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLkNhbmNlbGxlcn19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIExkLnJ1bnNDb2xvclNjYWxlKGIpfSxhdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwO3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe2lmKHRoaXMuX2F0dGFjaGVkKXt0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7dmFyIGI9ZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RleHQiKSx7dGFnOnRoaXMudGFnLHJ1bjp0aGlzLnJ1bn0pLGQ9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKGY9PntmLmNhbmNlbGxlZHx8CihmPWYudmFsdWUubWFwKGg9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFFMypoLndhbGxfdGltZSksc3RlcDpoLnN0ZXAsdGV4dDpoLnRleHR9KSksdGhpcy5zZXQoIl90ZXh0cyIsZi5zbGljZSgpLnJldmVyc2UoKSkpfSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZCl9fSxfZm9ybWF0U3RlcChiKXtyZXR1cm4gZDMuZm9ybWF0KCIsIikoYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGV4dC1kYXNoYm9hcmQvdGYtdGV4dC1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGV4dC1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19zZWxlY3RlZFJ1bnM6QXJyYXksX3J1blRvVGFnOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX3RhZ0ZpbHRlcjpTdHJpbmcsX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZFRleHRzKCl9KX0sX3Nob3VsZE9wZW4oYil7cmV0dXJuIDI+PWJ9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9Pgp7aWYoIV8uaXNFcXVhbChkLHRoaXMuX3J1blRvVGFnKSl7dmFyIGY9ZGMuZ2V0VGFncyhkKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWYubGVuZ3RoKTt0aGlzLnNldCgiX3J1blRvVGFnIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkVGV4dHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtdGV4dC1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9tYWtlQ2F0ZWdvcmllcyhiLGQsZil7cmV0dXJuIGtjLmNhdGVnb3JpemVSdW5UYWdDb21iaW5hdGlvbnMoYixkLGYpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXByLWN1cnZlLWRhc2hib2FyZC90Zi1wci1jdXJ2ZS1jYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXByLWN1cnZlLWNhcmQiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXksdGFnOlN0cmluZyx0YWdNZXRhZGF0YTpPYmplY3QscnVuVG9TdGVwQ2FwOk9iamVjdCxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsYWN0aXZlOkJvb2xlYW4sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfcnVuVG9QckN1cnZlRW50cnk6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeTp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5zV2l0aFN0ZXBBdmFpbGFibGU6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUnVuc1dpdGhTdGVwQXZhaWxhYmxlKHJ1bnMsIF9ydW5Ub1ByQ3VydmVFbnRyeSkifSxfc2V0T2ZSZWxldmFudFJ1bnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZVNldE9mUmVsZXZhbnRSdW5zKF9ydW5zV2l0aFN0ZXBBdmFpbGFibGUpIn0sX3J1blRvRGF0YU92ZXJUaW1lOk9iamVjdCwKb25EYXRhQ2hhbmdlOkZ1bmN0aW9uLF9jb2xvclNjYWxlRnVuY3Rpb246e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSl9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfYXR0YWNoZWQ6Qm9vbGVhbixfeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsdmFsdWU6KCk9PigpPT57Y29uc3QgYj1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7cmV0dXJue3NjYWxlOmIsYXhpczpuZXcgUGxvdHRhYmxlLkF4ZXMuTnVtZXJpYyhiLCJib3R0b20iKSxhY2Nlc3NvcjpkPT5kLnJlY2FsbH19fSxfeVZhbHVlQWNjZXNzb3I6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5iPT5iLnByZWNpc2lvbn0sX3Rvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLHZhbHVlOigpPT57Y29uc3QgYj1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSwKZD1mPT5pc05hTihmKT8iTmFOIjpiKGYpO3JldHVyblt7dGl0bGU6IlJ1biIsZXZhbHVhdGU6Zj0+Zi5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZX0se3RpdGxlOiJUaHJlc2hvbGQiLGV2YWx1YXRlOmY9PmQoZi5kYXR1bS50aHJlc2hvbGRzKX0se3RpdGxlOiJQcmVjaXNpb24iLGV2YWx1YXRlOmY9PmQoZi5kYXR1bS5wcmVjaXNpb24pfSx7dGl0bGU6IlJlY2FsbCIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnJlY2FsbCl9LHt0aXRsZToiVFAiLGV2YWx1YXRlOmY9PmYuZGF0dW0udHJ1ZV9wb3NpdGl2ZXN9LHt0aXRsZToiRlAiLGV2YWx1YXRlOmY9PmYuZGF0dW0uZmFsc2VfcG9zaXRpdmVzfSx7dGl0bGU6IlROIixldmFsdWF0ZTpmPT5mLmRhdHVtLnRydWVfbmVnYXRpdmVzfSx7dGl0bGU6IkZOIixldmFsdWF0ZTpmPT5mLmRhdHVtLmZhbHNlX25lZ2F0aXZlc31dfX0sX3Nlcmllc0RhdGFGaWVsZHM6e3R5cGU6QXJyYXksdmFsdWU6InRocmVzaG9sZHMgcHJlY2lzaW9uIHJlY2FsbCB0cnVlX3Bvc2l0aXZlcyBmYWxzZV9wb3NpdGl2ZXMgdHJ1ZV9uZWdhdGl2ZXMgZmFsc2VfbmVnYXRpdmVzIi5zcGxpdCgiICIpLApyZWFkT25seTohMH0sX2RlZmF1bHRYUmFuZ2U6e3R5cGU6QXJyYXksdmFsdWU6Wy0uMDUsMS4wNV0scmVhZE9ubHk6ITB9LF9kZWZhdWx0WVJhbmdlOnt0eXBlOkFycmF5LHZhbHVlOlstLjA1LDEuMDVdLHJlYWRPbmx5OiEwfSxfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLnRhZztyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJwcl9jdXJ2ZXMiLCIvcHJfY3VydmVzIikse3RhZzpkLHJ1bjpifSl9fX0sX3Ntb290aGluZ0VuYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH19LG9ic2VydmVyczpbInJlbG9hZChydW5zLCB0YWcpIiwiX3NldENoYXJ0RGF0YShfcnVuVG9QckN1cnZlRW50cnksIF9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5LCBfc2V0T2ZSZWxldmFudFJ1bnMpIiwiX3VwZGF0ZVJ1blRvUHJDdXJ2ZUVudHJ5KF9ydW5Ub0RhdGFPdmVyVGltZSwgcnVuVG9TdGVwQ2FwKSIsCiJfbm90aWZ5RGF0YUNoYW5nZShfcnVuVG9EYXRhT3ZlclRpbWUpIl0sX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24oKXtyZXR1cm4oYixkLGYpPT57dGhpcy5zZXQoIl9ydW5Ub0RhdGFPdmVyVGltZSIsT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub0RhdGFPdmVyVGltZSxmKSl9fSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb24uc2NhbGUoYil9LGF0dGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITA7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fYXR0YWNoZWQmJigwPT09dGhpcy5ydW5zLmxlbmd0aD90aGlzLnNldCgiX3J1blRvRGF0YU92ZXJUaW1lIix7fSk6dGhpcy4kJCgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpLnJlbG9hZCgpKX0sX3NldENoYXJ0RGF0YShiLGQsZil7Xy5mb3JPd24oYiwoaCxrKT0+e2NvbnN0IHI9ZFtrXTtyJiZiW2tdLnN0ZXA9PT1yLnN0ZXB8fChmW2tdP3RoaXMuX3VwZGF0ZVNlcmllc0RhdGFGb3JSdW4oaywKaCk6dGhpcy5fY2xlYXJTZXJpZXNEYXRhKGspKX0pfSxfdXBkYXRlU2VyaWVzRGF0YUZvclJ1bihiLGQpe3ZhciBmPV8ucmVkdWNlKHRoaXMuX3Nlcmllc0RhdGFGaWVsZHMsKGsscik9PntrW3JdPWRbcl0uc2xpY2UoKS5yZXZlcnNlKCk7cmV0dXJuIGt9LHt9KTtjb25zdCBoPUFycmF5KGZbdGhpcy5fc2VyaWVzRGF0YUZpZWxkc1swXV0ubGVuZ3RoKTtmb3IobGV0IGs9MDtrPGgubGVuZ3RoO2srKyloW2tdPV8ubWFwVmFsdWVzKGYscj0+cltrXSk7Zj10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIik7Zi5zZXRTZXJpZXNEYXRhKGIsaCk7Zi5jb21taXRDaGFuZ2VzKCl9LF9jbGVhclNlcmllc0RhdGEoYil7Y29uc3QgZD10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIik7ZC5zZXRTZXJpZXNEYXRhKGIsW10pO2QuY29tbWl0Q2hhbmdlcygpfSxfdXBkYXRlUnVuVG9QckN1cnZlRW50cnkoYixkKXtjb25zdCBmPXt9O18uZm9yT3duKGIsKGgsayk9PntoJiYKaC5sZW5ndGgmJihmW2tdPXRoaXMuX2NvbXB1dGVFbnRyeUNsb3Nlc3RPckVxdWFsVG9TdGVwQ2FwKGRba10saCkpfSk7dGhpcy5zZXQoIl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5Iix0aGlzLl9ydW5Ub1ByQ3VydmVFbnRyeSk7dGhpcy5zZXQoIl9ydW5Ub1ByQ3VydmVFbnRyeSIsZil9LF9ub3RpZnlEYXRhQ2hhbmdlKGIpe2lmKHRoaXMub25EYXRhQ2hhbmdlKXRoaXMub25EYXRhQ2hhbmdlKGIpfSxfY29tcHV0ZUVudHJ5Q2xvc2VzdE9yRXF1YWxUb1N0ZXBDYXAoYixkKXtiPU1hdGgubWluKF8uc29ydGVkSW5kZXgoZC5tYXAoZj0+Zi5zdGVwKSxiKSxkLmxlbmd0aC0xKTtyZXR1cm4gZFtiXX0sX2NvbXB1dGVSdW5zV2l0aFN0ZXBBdmFpbGFibGUoYixkKXtyZXR1cm4gXy5maWx0ZXIoYixmPT5kW2ZdKS5zb3J0KCl9LF9jb21wdXRlU2V0T2ZSZWxldmFudFJ1bnMoYil7Y29uc3QgZD17fTtfLmZvckVhY2goYixmPT57ZFtmXT0hMH0pO3JldHVybiBkfSxfY29tcHV0ZUN1cnJlbnRTdGVwRm9yUnVuKGIsCmQpe3JldHVybihiPWJbZF0pP2Iuc3RlcDpudWxsfSxfY29tcHV0ZUN1cnJlbnRXYWxsVGltZUZvclJ1bihiLGQpe3JldHVybihiPWJbZF0pPyhuZXcgRGF0ZSgxRTMqYi53YWxsX3RpbWUpKS50b1N0cmluZygpOm51bGx9LF90b2dnbGVFeHBhbmRlZCgpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCk7dGhpcy5yZWRyYXcoKX0sX3Jlc2V0RG9tYWluKCl7dGhpcy4kJCgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpLnJlc2V0RG9tYWluKCl9LHJlZHJhdygpe3RoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKS5yZWRyYXcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wci1jdXJ2ZS1kYXNoYm9hcmQvdGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXkscnVuVG9BdmFpbGFibGVUaW1lRW50cmllczpPYmplY3QscnVuVG9TdGVwOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsY29tcHV0ZWQ6Il9jb21wdXRlUnVuVG9TdGVwKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIF9ydW5Ub1N0ZXBJbmRleCkifSx0aW1lRGlzcGxheVR5cGU6U3RyaW5nLF9ydW5Ub1N0ZXBJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5zV2l0aFNsaWRlcnM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUnVuc1dpdGhTbGlkZXJzKHJ1bnMsIHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMpIn19LG9ic2VydmVyczpbIl91cGRhdGVTdGVwc0Zvck5ld1J1bnMocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcykiXSxfY29tcHV0ZUNvbG9yRm9yUnVuKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVUaW1lVGV4dEZvclJ1bihiLApkLGYsaCl7ZD1kW2ZdO2lmKCFfLmlzTnVtYmVyKGQpKXJldHVybiIiO2I9YltmXTtpZighYilyZXR1cm4iIjtiPWJbZF1baF07aWYoInN0ZXAiPT09aClyZXR1cm5gc3RlcCAke2J9YDtpZigicmVsYXRpdmUiPT09aClyZXR1cm4gMT5iP2AkeygxRTMqYikudG9GaXhlZCgyKX0gbXNgOmAke2IudG9GaXhlZCgyKX0gc2A7aWYoIndhbGxfdGltZSI9PT1oKXJldHVybihuZXcgRGF0ZSgxRTMqYikpLnRvU3RyaW5nKCk7dGhyb3cgRXJyb3IoYFRoZSBkaXNwbGF5IHR5cGUgb2YgJHtofSBpcyBub3QgcmVjb2duaXplZC5gKTt9LF9zbGlkZXJWYWx1ZUNoYW5nZWQoYil7Y29uc3QgZD1iLnRhcmdldC5kYXRhc2V0LnJ1bixmPWIudGFyZ2V0LmltbWVkaWF0ZVZhbHVlLGg9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7aXNOYU4oZik/ZGVsZXRlIGhbZF06aFtkXT1iLnRhcmdldC5pbW1lZGlhdGVWYWx1ZTt0aGlzLl9ydW5Ub1N0ZXBJbmRleD1ofSxfY29tcHV0ZU1heFN0ZXBJbmRleEZvclJ1bihiLApkKXtyZXR1cm4oYj1iW2RdKSYmYi5sZW5ndGg/Yi5sZW5ndGgtMTowfSxfdXBkYXRlU3RlcHNGb3JOZXdSdW5zKGIpe2NvbnN0IGQ9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7Xy5mb3JPd24oYiwoZixoKT0+e18uaXNOdW1iZXIoZFtoXSl8fChkW2hdPWYubGVuZ3RoLTEpfSk7dGhpcy5fcnVuVG9TdGVwSW5kZXg9ZH0sX2dldFN0ZXAoYixkKXtyZXR1cm4gdGhpcy5fcnVuVG9TdGVwSW5kZXg/dGhpcy5fcnVuVG9TdGVwSW5kZXhbZF06MH0sX2NvbXB1dGVSdW5Ub1N0ZXAoYixkKXtjb25zdCBmPXt9O18uZm9yT3duKGQsKGgsayk9Pntjb25zdCByPWJba107ciYmKGZba109cltoXS5zdGVwKX0pO3JldHVybiBmfSxfY29tcHV0ZVJ1bnNXaXRoU2xpZGVycyhiLGQpe3JldHVybiBiLmZpbHRlcihmPT5kW2ZdKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wci1jdXJ2ZS1kYXNoYm9hcmQvdGYtcHItY3VydmUtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXByLWN1cnZlLWRhc2hib2FyZCIscHJvcGVydGllczp7X3RpbWVEaXNwbGF5VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfc2VsZWN0ZWRSdW5zOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3J1blRvVGFnSW5mbzp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2NvbXB1dGVSdW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzKF90YWdUb1J1blRvRGF0YSkifSxfdGFnVG9SdW5Ub0RhdGE6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfcmVsZXZhbnRTZWxlY3RlZFJ1bnM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUmVsZXZhbnRTZWxlY3RlZFJ1bnMoX3NlbGVjdGVkUnVucywgX3J1blRvVGFnSW5mbykifSxfcnVuVG9TdGVwOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOlN0cmluZywKX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnSW5mbywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlciwgX2NhdGVnb3JpZXNEb21SZWFkeSkifSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5iLnRhZ30sX3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLlJlcXVlc3RNYW5hZ2VyfSxfc3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9fSxyZWFkeSgpe3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe1Byb21pc2UuYWxsKFt0aGlzLl9mZXRjaFRhZ3MoKV0pLnRoZW4oKCk9Pnt0aGlzLl9yZWxvYWRDYXJkcygpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfZmV0Y2hUYWdzKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgicHJfY3VydmVzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9Pgp7aWYoIV8uaXNFcXVhbChkLHRoaXMuX3J1blRvVGFnSW5mbykpe3ZhciBmPV8ubWFwVmFsdWVzKGQsaD0+Xy5rZXlzKGgpKTtmPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1mLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSl9fSl9LF9yZWxvYWRDYXJkcygpe18uZm9yRWFjaCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtcHItY3VydmUtY2FyZCIpLGI9PntiLnJlbG9hZCgpfSl9LF9tYWtlQ2F0ZWdvcmllcyhiLGQsZil7Yj1fLm1hcFZhbHVlcyhiLGg9Pk9iamVjdC5rZXlzKGgpKTtyZXR1cm4ga2MuY2F0ZWdvcml6ZVRhZ3MoYixkLGYpfSxfY29tcHV0ZUNvbG9yRm9yUnVuKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVSZWxldmFudFNlbGVjdGVkUnVucyhiLGQpe3JldHVybiBiLmZpbHRlcihmPT5kW2ZdKX0sCl90YWdNZXRhZGF0YShiLGQsZil7Y29uc3QgaD17fTtkLmZvckVhY2goaz0+e2hba109YltrXVtmXX0pO2Q9Zi5yZXBsYWNlKC9cL3ByX2N1cnZlcyQvLCIiKTtyZXR1cm4gcmYuYWdncmVnYXRlVGFnSW5mbyhoLGQpfSxfY3JlYXRlRGF0YUNoYW5nZUNhbGxiYWNrKGIpe3JldHVybiBkPT57dGhpcy5zZXQoIl90YWdUb1J1blRvRGF0YSIsT2JqZWN0LmFzc2lnbih7fSx0aGlzLl90YWdUb1J1blRvRGF0YSx7W2JdOmR9KSl9fSxfY29tcHV0ZVJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMoYil7Y29uc3QgZD17fTtmb3IodmFyIGYgb2YgT2JqZWN0LmVudHJpZXMoYikpe2NvbnN0IFtoLGtdPWY7Zm9yKGNvbnN0IHIgb2YgT2JqZWN0LmVudHJpZXMoaykpe2NvbnN0IFtsXT1yO2lmKG51bGw9PWRbbF18fGg8ZFtsXSlkW2xdPWh9fWY9e307Zm9yKGNvbnN0IGggb2YgT2JqZWN0LmVudHJpZXMoZCkpe2NvbnN0IFtrLHJdPWg7e2NvbnN0IGw9YltyXVtrXTtmW2tdPWwubWFwKHA9Pih7c3RlcDpwLnN0ZXAsCndhbGxfdGltZTpwLndhbGxfdGltZSxyZWxhdGl2ZTpwLndhbGxfdGltZS1sWzBdLndhbGxfdGltZX0pKX19cmV0dXJuIGZ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQvdGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19pbnN0YWxsQ29tbWFuZDp7dHlwZTpTdHJpbmcscmVhZE9ubHk6ITAsdmFsdWU6InBpcCBpbnN0YWxsIC1VIHRlbnNvcmJvYXJkLXBsdWdpbi1wcm9maWxlIn19LF9jb3B5SW5zdGFsbENvbW1hbmQoKXtjb25zdCBiPXRoaXM7cmV0dXJuIFdiKGZ1bmN0aW9uKigpe2NvbnN0IGQ9KCk9PldiKGZ1bmN0aW9uKigpe2IuJC5jb21tYW5kVGV4dGFyZWEuc2VsZWN0KCk7dHJ5e3lpZWxkIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIuX2luc3RhbGxDb21tYW5kKX1jYXRjaChmKXtpZighZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QoKX19KTt0cnl7eWllbGQgZCgpLGIuJC5jb3BpZWRNZXNzYWdlLmlubmVyVGV4dD0iQ29waWVkLiJ9Y2F0Y2goZil7Yi4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSJGYWlsZWQgdG8gY29weSB0byBjbGlwYm9hcmQuIn19KX0sCl9yZW1vdmVDb3BpZWRNZXNzYWdlKCl7dGhpcy4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSIifX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9wbHVnaW4tZGlhbG9nLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXBsdWdpbi1kaWFsb2ciLHByb3BlcnRpZXM6e190aXRsZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2N1c3RvbU1lc3NhZ2U6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9vcGVuOnt0eXBlOkJvb2xlYW59LF9oaWRkZW46e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIaWRkZW4oX29wZW4pIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF91c2VOYXRpdmVCYWNrZHJvcDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlYWRPbmx5OiEwfX0sb3Blbk5vVGVuc29yRmxvd0RpYWxvZygpe3RoaXMub3BlbkRpYWxvZygiVGhpcyBwbHVnaW4gaXMgZGlzYWJsZWQgd2l0aG91dCBUZW5zb3JGbG93IiwnVG8gZW5hYmxlIHRoaXMgcGx1Z2luIGluIFRlbnNvckJvYXJkLCBpbnN0YWxsIFRlbnNvckZsb3cgd2l0aCAicGlwIGluc3RhbGwgdGVuc29yZmxvdyIgb3IgZXF1aXZhbGVudC4nKX0sb3Blbk9sZFRlbnNvckZsb3dEaWFsb2coYil7dGhpcy5vcGVuRGlhbG9nKCJUaGlzIHBsdWdpbiBpcyBkaXNhYmxlZCB3aXRob3V0IFRlbnNvckZsb3cgIisKYiwiVG8gZW5hYmxlIHRoaXMgcGx1Z2luIGluIFRlbnNvckJvYXJkLCBpbnN0YWxsIFRlbnNvckZsb3cgIitiKycgb3IgZ3JlYXRlciB3aXRoICJwaXAgaW5zdGFsbCB0ZW5zb3JmbG93IiBvciBlcXVpdmFsZW50LicpfSxvcGVuRGlhbG9nKGIsZCl7dGhpcy5zZXQoIl90aXRsZSIsYik7dGhpcy5zZXQoIl9jdXN0b21NZXNzYWdlIixkKTt0aGlzLiQuZGlhbG9nLm9wZW4oKX0sY2xvc2VEaWFsb2coKXt0aGlzLiQuZGlhbG9nLmNsb3NlKCl9LF9jb21wdXRlSGlkZGVuKGIpe3JldHVybiFifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJlaG9sZGVyLWRhc2hib2FyZC90Zi1iZWhvbGRlci12aWRlby5odG1sLmpzCihmdW5jdGlvbigpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImJlaG9sZGVyIiwiL2JlaG9sZGVyLWZyYW1lIiksZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvcGluZyIpO1BvbHltZXIoe2lzOiJ0Zi1iZWhvbGRlci12aWRlbyIscHJvcGVydGllczp7ZnBzOnt0eXBlOk51bWJlcix2YWx1ZToxMCxvYnNlcnZlcjoiX2Zwc0NoYW5nZWQifSxwaW5nU2xlZXA6e3R5cGU6TnVtYmVyLHZhbHVlOjFFM30seGhyVGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MjUwMH0sX2ltYWdlVVJMOnt0eXBlOlN0cmluZyx2YWx1ZToiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBRC9BQ3dBQUFBQUFRQUJBQUFDQURzXHgzZCJ9LF94aHI6T2JqZWN0LF90aW1lcjpOdW1iZXIsX2lzRGVhZDpCb29sZWFufSxhdHRhY2hlZCgpe3RoaXMuc2V0KCJfaW1hZ2VVUkwiLGIpO3RoaXMuX3BpbmcoKX0sZGV0YWNoZWQoKXt0aGlzLl9jbGVhcigpOwp0aGlzLnNldCgiX2ltYWdlVVJMIiwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBRC9BQ3dBQUFBQUFRQUJBQUFDQURzXHgzZCIpfSxfcGluZygpe3RoaXMuX2NsZWFyKCk7dGhpcy5feGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLl94aHIub3BlbigiR0VUIixkLCEwKTt0aGlzLl94aHIudGltZW91dD10aGlzLnhoclRpbWVvdXQ7dGhpcy5feGhyLm9ubG9hZD10aGlzLl9vblBpbmdMb2FkLmJpbmQodGhpcyk7dGhpcy5feGhyLm9uZXJyb3I9dGhpcy5fb25QaW5nLmJpbmQodGhpcywhMSx0aGlzLnBpbmdTbGVlcCk7dGhpcy5feGhyLm9udGltZW91dD10aGlzLl9vblBpbmcuYmluZCh0aGlzLCExLDEpO3RoaXMuX3hoci5zZW5kKG51bGwpfSxfb25QaW5nTG9hZCgpe2lmKDIwMD09dGhpcy5feGhyLnN0YXR1cyl7Y29uc3QgZj1KU09OLnBhcnNlKHRoaXMuX3hoci5yZXNwb25zZVRleHQpO3RoaXMuX29uUGluZygiYWxpdmUiPT1mLnN0YXR1cyx0aGlzLnBpbmdTbGVlcCl9ZWxzZSB0aGlzLl9vblBpbmcoITEsCnRoaXMucGluZ1NsZWVwKX0sX29uUGluZyhmLGgpe2YmJnRoaXMuX2lzRGVhZCYmdGhpcy5zZXQoIl9pbWFnZVVSTCIsYisiP3RceDNkIisobmV3IERhdGUpLmdldFRpbWUoKSk7dGhpcy5faXNEZWFkPSFmO3RoaXMuX3RpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9waW5nKCksaCl9LF9jbGVhcigpe3RoaXMuX3RpbWVyJiYod2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lciksdGhpcy5fdGltZXI9bnVsbCk7dGhpcy5feGhyJiYodGhpcy5feGhyLnJlYWR5U3RhdGU8WE1MSHR0cFJlcXVlc3QuRE9ORSYmdGhpcy5feGhyLmFib3J0KCksdGhpcy5feGhyPW51bGwpfSxfZnBzQ2hhbmdlZChmLGgpezA9PWY/dGhpcy5fY2xlYXIoKTowPT1oJiZ0aGlzLl9waW5nKCl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJlaG9sZGVyLWRhc2hib2FyZC90Zi1iZWhvbGRlci1pbmZvLmh0bWwuanMKKGZ1bmN0aW9uKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvc2VjdGlvbi1pbmZvIik7UG9seW1lcih7aXM6InRmLWJlaG9sZGVyLWluZm8iLHByb3BlcnRpZXM6e2Zwczp7dHlwZTpOdW1iZXIsdmFsdWU6MTAsb2JzZXJ2ZXI6Il9mcHNDaGFuZ2VkIn0seGhyVGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MUU0fSxfaXRlbXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9Plt7bmFtZToiTG9hZGluZy4uLiJ9XX0sX3hocjpPYmplY3QsX3RpbWVyOk51bWJlcn0sYXR0YWNoZWQoKXt0aGlzLl9sb2FkKCl9LGRldGFjaGVkKCl7dGhpcy5fY2xlYXIoKX0sX2xvYWQoKXt0aGlzLl9jbGVhcigpO3RoaXMuX3hocj1uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5feGhyLm9wZW4oIkdFVCIsYiwhMCk7dGhpcy5feGhyLnRpbWVvdXQ9dGhpcy54aHJUaW1lb3V0O3RoaXMuX3hoci5vbmxvYWQ9dGhpcy5fb25Mb2FkLmJpbmQodGhpcyk7dGhpcy5feGhyLm9uZXJyb3I9CnRoaXMuX3JldHJ5LmJpbmQodGhpcyx0aGlzLl9nZXRTbGVlcCgpKTt0aGlzLl94aHIub250aW1lb3V0PXRoaXMuX3JldHJ5LmJpbmQodGhpcywxKTt0aGlzLl94aHIuc2VuZChudWxsKX0sX29uTG9hZCgpe2lmKDIwMD09dGhpcy5feGhyLnN0YXR1cyl7Y29uc3QgZD1KU09OLnBhcnNlKHRoaXMuX3hoci5yZXNwb25zZVRleHQpO2NvbnNvbGUuYXNzZXJ0KEFycmF5LmlzQXJyYXkoZCksIkV4cGVjdGVkIHJlc3BvbnNlIHRvIGJlIGluIGFuIGFycmF5Iik7dGhpcy5faXRlbXM9ZH10aGlzLl9yZXRyeSh0aGlzLl9nZXRTbGVlcCgpKX0sX3JldHJ5KGQpe3RoaXMuX3RpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuX2xvYWQuYmluZCh0aGlzKSxkKX0sX2dldFNsZWVwKCl7cmV0dXJuIDFFMy8oMD09PXRoaXMuZnBzPzE6dGhpcy5mcHMpfSxfY2xlYXIoKXt0aGlzLl90aW1lciYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fdGltZXIpLHRoaXMuX3RpbWVyPW51bGwpO3RoaXMuX3hociYmCih0aGlzLl94aHIucmVhZHlTdGF0ZTxYTUxIdHRwUmVxdWVzdC5ET05FJiZ0aGlzLl94aHIuYWJvcnQoKSx0aGlzLl94aHI9bnVsbCl9LF9mcHNDaGFuZ2VkKGQsZil7MD09ZD90aGlzLl9jbGVhcigpOjA9PWYmJnRoaXMuX2xvYWQoKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmVob2xkZXItZGFzaGJvYXJkL3RmLWJlaG9sZGVyLWRhc2hib2FyZC5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1iZWhvbGRlci1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcigxMCwwKX0sX2lzQXZhaWxhYmxlOkJvb2xlYW4sX3ZhbHVlczp7dHlwZTpTdHJpbmcsdmFsdWU6InRyYWluYWJsZV92YXJpYWJsZXMiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9tb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToidmFyaWFuY2UiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9zY2FsaW5nOnt0eXBlOlN0cmluZyx2YWx1ZToibGF5ZXIiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF93aW5kb3dTaXplOnt0eXBlOk51bWJlcix2YWx1ZToxNSxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfcHJldmlvdXNGUFM6e3R5cGU6TnVtYmVyLHZhbHVlOjMwfSxfRlBTOnt0eXBlOk51bWJlcix2YWx1ZToxMCxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSwKX3JlY29yZFRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGFydCByZWNvcmRpbmcifSxfaXNSZWNvcmRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfc2hvd0FsbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9jb2xvcm1hcDp7dHlwZTpTdHJpbmcsdmFsdWU6Im1hZ21hIixvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfaXNfYWN0aXZlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9jb25maWdDaGFuZ2VkIn0sX2NvbnRyb2xzX2Rpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9jb25maWdDaGFuZ2VkIn19LF92YWx1ZXNOb3RGcmFtZShiKXtyZXR1cm4iZnJhbWVzIiE9PWJ9LF92YXJpYW5jZVNlbGVjdGVkKGIpe3JldHVybiJ2YXJpYW5jZSI9PT1ifSxfY29uZmlnQ2hhbmdlZCgpe2lmKHRoaXMuX2lzX2FjdGl2ZSYmIXRoaXMuX2NvbnRyb2xzX2Rpc2FibGVkKXt2YXIgYj0KW3RoaXMuX3ZhbHVlcyx0aGlzLl9tb2RlLHRoaXMuX3NjYWxpbmcsdGhpcy5fd2luZG93U2l6ZSx0aGlzLl9GUFMsdGhpcy5faXNSZWNvcmRpbmcsdGhpcy5fc2hvd0FsbCx0aGlzLl9jb2xvcm1hcF0sZDtmb3IoZCBvZiBiKWlmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGR8fCIiPT09ZClyZXR1cm47Yj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvY2hhbmdlLWNvbmZpZyIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYix7dmFsdWVzOnRoaXMuX3ZhbHVlcyxtb2RlOnRoaXMuX21vZGUsc2NhbGluZzp0aGlzLl9zY2FsaW5nLHdpbmRvd19zaXplOnRoaXMuX3dpbmRvd1NpemUsRlBTOnRoaXMuX0ZQUyxpc19yZWNvcmRpbmc6dGhpcy5faXNSZWNvcmRpbmcsc2hvd19hbGw6dGhpcy5fc2hvd0FsbCxjb2xvcm1hcDp0aGlzLl9jb2xvcm1hcH0pfX0sX3RvZ2dsZVJlY29yZCgpeyJzdGFydCByZWNvcmRpbmciPT10aGlzLl9yZWNvcmRUZXh0Pyh0aGlzLnNldCgiX3JlY29yZFRleHQiLAoic3RvcCByZWNvcmRpbmciKSx0aGlzLnNldCgiX2lzUmVjb3JkaW5nIiwhMCkpOih0aGlzLnNldCgiX3JlY29yZFRleHQiLCJzdGFydCByZWNvcmRpbmciKSx0aGlzLnNldCgiX2lzUmVjb3JkaW5nIiwhMSkpO3RoaXMuJC5yZWNvcmRfYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUoImlzLXJlY29yZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luc0xpc3RpbmcoKSkudGhlbihiPT57ImJlaG9sZGVyImluIGI/KHRoaXMuJC5pbml0aWFsRGlhbG9nLmNsb3NlRGlhbG9nKCksdGhpcy5zZXQoIl9pc0F2YWlsYWJsZSIsITApKToodGhpcy4kLmluaXRpYWxEaWFsb2cub3Blbk5vVGVuc29yRmxvd0RpYWxvZygpLHRoaXMuc2V0KCJfaXNBdmFpbGFibGUiLCExKSl9KX0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXtpZih0aGlzLl9pc0F2YWlsYWJsZSl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLAoiL2lzLWFjdGl2ZSIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihkPT57dGhpcy5zZXQoIl9pc19hY3RpdmUiLGQuaXNfYWN0aXZlKTt0aGlzLnNldCgiX2NvbnRyb2xzX2Rpc2FibGVkIiwhZC5pc19jb25maWdfd3JpdGFibGUpfSl9fX0pO3BlLnJlZ2lzdGVyRGFzaGJvYXJkKCl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1zcGxpdC1sYXlvdXQvdmFhZGluLXNwbGl0LWxheW91dC5odG1sLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tc3BsaXQtbGF5b3V0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yXSxwcm9wZXJ0aWVzOnt2ZXJ0aWNhbDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMX0sX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHM6U3RyaW5nLF9wcmV2aW91c1NlY29uZGFyeVBvaW50ZXJFdmVudHM6U3RyaW5nfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPVBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2Rlcyh0aGlzLl9wcm9jZXNzQ2hpbGRyZW4pfSxkZXRhY2hlZDpmdW5jdGlvbigpe1BvbHltZXIuZG9tKHRoaXMpLnVub2JzZXJ2ZU5vZGVzKHRoaXMuX29ic2VydmVyKX0sX3Byb2Nlc3NDaGlsZHJlbjpmdW5jdGlvbigpe3RoaXMuZ2V0RWZmZWN0aXZlQ2hpbGRyZW4oKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2xhc3NMaXN0LmNvbnRhaW5zKCJzcGxpdHRlci1oYW5kbGUiKT8KKFBvbHltZXIuZG9tKGIpLnNldEF0dHJpYnV0ZSgic2xvdCIsImhhbmRsZSIpLCExKTohMH0pLmZvckVhY2goZnVuY3Rpb24oYixkKXswPT09ZD8odGhpcy5fcHJpbWFyeUNoaWxkPWIsUG9seW1lci5kb20oYikuc2V0QXR0cmlidXRlKCJzbG90IiwicHJpbWFyeSIpKToxPT1kPyh0aGlzLl9zZWNvbmRhcnlDaGlsZD1iLFBvbHltZXIuZG9tKGIpLnNldEF0dHJpYnV0ZSgic2xvdCIsInNlY29uZGFyeSIpKTpQb2x5bWVyLmRvbShiKS5yZW1vdmVBdHRyaWJ1dGUoInNsb3QiKX0uYmluZCh0aGlzKSl9LF9zZXRGbGV4QmFzaXM6ZnVuY3Rpb24oYixkLGYpe2Q9TWF0aC5tYXgoMCxNYXRoLm1pbihkLGYpKTswPT09ZCYmKGQ9MUUtNik7Yi5zdHlsZS5mbGV4PSIxIDEgIitkKyJweCJ9LF9vbkhhbmRsZVRyYWNrOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX3ByaW1hcnlDaGlsZCYmdGhpcy5fc2Vjb25kYXJ5Q2hpbGQpe3ZhciBkPXRoaXMudmVydGljYWw/ImhlaWdodCI6IndpZHRoIjsic3RhcnQiPT09CmIuZGV0YWlsLnN0YXRlPyh0aGlzLl9zdGFydFNpemU9e2NvbnRhaW5lcjp0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2RdLXRoaXMuJC5zcGxpdHRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtkXSxwcmltYXJ5OnRoaXMuX3ByaW1hcnlDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtkXSxzZWNvbmRhcnk6dGhpcy5fc2Vjb25kYXJ5Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbZF19LHRoaXMuX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHM9dGhpcy5fcHJpbWFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHMsdGhpcy5fcHJldmlvdXNTZWNvbmRhcnlQb2ludGVyRXZlbnRzPXRoaXMuX3NlY29uZGFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHMsdGhpcy5fcHJpbWFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLHRoaXMuX3NlY29uZGFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiKTooZD10aGlzLnZlcnRpY2FsP2IuZGV0YWlsLmR5OgpiLmRldGFpbC5keCx0aGlzLl9zZXRGbGV4QmFzaXModGhpcy5fcHJpbWFyeUNoaWxkLHRoaXMuX3N0YXJ0U2l6ZS5wcmltYXJ5K2QsdGhpcy5fc3RhcnRTaXplLmNvbnRhaW5lciksdGhpcy5fc2V0RmxleEJhc2lzKHRoaXMuX3NlY29uZGFyeUNoaWxkLHRoaXMuX3N0YXJ0U2l6ZS5zZWNvbmRhcnktZCx0aGlzLl9zdGFydFNpemUuY29udGFpbmVyKSx0aGlzLm5vdGlmeVJlc2l6ZSgpLCJlbmQiPT09Yi5kZXRhaWwuc3RhdGUmJihkZWxldGUgdGhpcy5fc3RhcnRTaXplLHRoaXMuX3ByaW1hcnlDaGlsZC5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMuX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHMsdGhpcy5fc2Vjb25kYXJ5Q2hpbGQuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLl9wcmV2aW91c1NlY29uZGFyeVBvaW50ZXJFdmVudHMpKX19LF9wcmV2ZW50RGVmYXVsdDpmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1xdWVyeS1wYW5lL3RmLWhwYXJhbXMtcXVlcnktcGFuZS5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXF1ZXJ5LXBhbmUiLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHtzY2hlbWE6e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX0sY29sdW1uc1Zpc2liaWxpdHk6W10sdmlzaWJsZVNjaGVtYTp7aHBhcmFtSW5mb3M6W10sbWV0cmljSW5mb3M6W119fSkscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxzZXNzaW9uR3JvdXBzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXSxyZWFkT25seTohMCxub3RpZnk6ITB9LF9leHBlcmltZW50Ok9iamVjdCxfaHBhcmFtczpBcnJheSxfbWV0cmljczpBcnJheSxfc3RhdHVzZXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9Plt7dmFsdWU6IlNUQVRVU19VTktOT1dOIixkaXNwbGF5TmFtZToiVW5rbm93biIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfU1VDQ0VTUyIsZGlzcGxheU5hbWU6IlN1Y2Nlc3MiLAphbGxvd2VkOiEwfSx7dmFsdWU6IlNUQVRVU19GQUlMVVJFIixkaXNwbGF5TmFtZToiRmFpbHVyZSIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfUlVOTklORyIsZGlzcGxheU5hbWU6IlJ1bm5pbmciLGFsbG93ZWQ6ITB9XX0sX2dldEV4cGVyaW1lbnRSZXNvbHZlZDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3RoaXMuX3Jlc29sdmVHZXRFeHBlcmltZW50PWJ9KX19LF9yZXNvbHZlR2V0RXhwZXJpbWVudDpGdW5jdGlvbixfbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfc29ydEJ5SW5kZXg6TnVtYmVyLF9zb3J0RGlyZWN0aW9uOk51bWJlcixfcGFnZVNpemVJbnB1dDp7dHlwZTpPYmplY3QsdmFsdWU6e3ZhbHVlOiIxMDAiLGludmFsaWQ6ITF9fSxfcGFnZU51bWJlcklucHV0Ont0eXBlOk9iamVjdCx2YWx1ZTp7dmFsdWU6IjEiLGludmFsaWQ6ITF9fSwKX3BhZ2VDb3VudFN0cjp7dHlwZTpTdHJpbmcsdmFsdWU6Ij8ifSxfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHI6U3RyaW5nLF9zZXNzaW9uR3JvdXBzUmVxdWVzdDpPYmplY3R9LG9ic2VydmVyczpbIl9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcyhiYWNrZW5kLCBleHBlcmltZW50TmFtZSkiLCJfdXBkYXRlQ29uZmlndXJhdGlvbihfaHBhcmFtcy4qLCBfbWV0cmljcy4qKSJdLHJlbG9hZCgpe3RoaXMuX3F1ZXJ5U2VydmVyKCl9LF9jc3ZVcmwoYixkKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCwiY3N2Iil9LF9qc29uVXJsKGIsZCl7cmV0dXJuIHRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQsImpzb24iKX0sX2xhdGV4VXJsKGIsZCl7cmV0dXJuIHRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQsImxhdGV4Iil9LF9kb3dubG9hZERhdGFVcmwoYixkLGYpe3JldHVybiB0aGlzLmJhY2tlbmQuZ2V0RG93bmxvYWRVcmwoZixiLGQuY29sdW1uc1Zpc2liaWxpdHkpfSwKX2NvbXB1dGVFeHBlcmltZW50QW5kUmVsYXRlZFByb3BzKCl7Y29uc3QgYj10Zi5ocGFyYW1zLnV0aWxzO2IuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5iYWNrZW5kKXx8Yi5pc051bGxPclVuZGVmaW5lZCh0aGlzLmV4cGVyaW1lbnROYW1lKXx8dGhpcy5iYWNrZW5kLmdldEV4cGVyaW1lbnQoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWV9KS50aGVuKGQ9PntfLmlzRXF1YWwoZCx0aGlzLl9leHBlcmltZW50KXx8KHRoaXMuc2V0KCJfZXhwZXJpbWVudCIsZCksdGhpcy5fY29tcHV0ZUhQYXJhbXMoKSx0aGlzLl9jb21wdXRlTWV0cmljcygpLHRoaXMuX3F1ZXJ5U2VydmVyKCksdGhpcy5fcmVzb2x2ZUdldEV4cGVyaW1lbnQoKSl9KX0sX2NvbXB1dGVIUGFyYW1zKCl7Y29uc3QgYj1bXTt0aGlzLl9leHBlcmltZW50LmhwYXJhbUluZm9zLmZvckVhY2goKGQsZik9Pntjb25zdCBoPXtpbmZvOmQsZGlzcGxheWVkOjU+ZixmaWx0ZXI6e319O2guaW5mby5oYXNPd25Qcm9wZXJ0eSgiZG9tYWluRGlzY3JldGUiKT8KKGguZmlsdGVyLmRvbWFpbkRpc2NyZXRlPVtdLGguaW5mby5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKGs9PntoLmZpbHRlci5kb21haW5EaXNjcmV0ZS5wdXNoKHt2YWx1ZTprLGNoZWNrZWQ6ITB9KX0pKToiREFUQV9UWVBFX0JPT0wiPT09aC5pbmZvLnR5cGU/aC5maWx0ZXIuZG9tYWluRGlzY3JldGU9W3t2YWx1ZTohMSxjaGVja2VkOiEwfSx7dmFsdWU6ITAsY2hlY2tlZDohMH1dOiJEQVRBX1RZUEVfRkxPQVQ2NCI9PT1oLmluZm8udHlwZT9oLmZpbHRlci5pbnRlcnZhbD17bWluOnt2YWx1ZToiIixpbnZhbGlkOiExfSxtYXg6e3ZhbHVlOiIiLGludmFsaWQ6ITF9fToiREFUQV9UWVBFX1NUUklORyI9PT1oLmluZm8udHlwZT9oLmZpbHRlci5yZWdleHA9IiI6Y29uc29sZS53YXJuKCJ1bmtub3duIGhwYXJhbS5pbmZvLnR5cGU6ICVzIixoLmluZm8udHlwZSk7Yi5wdXNoKGgpfSk7dGhpcy5zZXQoIl9ocGFyYW1zIixiKX0sX2NvbXB1dGVNZXRyaWNzKCl7Y29uc3QgYj1bXTt0aGlzLl9leHBlcmltZW50Lm1ldHJpY0luZm9zLmZvckVhY2goKGQsCmYpPT57Yi5wdXNoKHtpbmZvOmQsZmlsdGVyOntpbnRlcnZhbDp7bWluOnt2YWx1ZToiIixpbnZhbGlkOiExfSxtYXg6e3ZhbHVlOiIiLGludmFsaWQ6ITF9fX0sZGlzcGxheWVkOjU+Zn0pfSk7dGhpcy5zZXQoIl9tZXRyaWNzIixiKX0sX2NvbXB1dGVTY2hlbWEoKXtyZXR1cm4gdGhpcy5faHBhcmFtcyYmdGhpcy5fbWV0cmljcz97aHBhcmFtQ29sdW1uczp0aGlzLl9ocGFyYW1zLm1hcChiPT4oe2hwYXJhbUluZm86Yi5pbmZvfSkpLG1ldHJpY0NvbHVtbnM6dGhpcy5fbWV0cmljcy5tYXAoYj0+KHttZXRyaWNJbmZvOmIuaW5mb30pKX06e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX19LF91cGRhdGVDb25maWd1cmF0aW9uKCl7dGhpcy5kZWJvdW5jZSgiX3VwZGF0ZUNvbmZpZ3VyYXRpb24iLCgpPT57dGhpcy5fc2V0Q29uZmlndXJhdGlvbih7c2NoZW1hOnRoaXMuX2NvbXB1dGVTY2hlbWEoKSxjb2x1bW5zVmlzaWJpbGl0eTp0aGlzLl9jb21wdXRlQ29sdW1uc1Zpc2liaWxpdHkoKSwKdmlzaWJsZVNjaGVtYTp0aGlzLl9jb21wdXRlVmlzaWJsZVNjaGVtYSgpfSl9KX0sX2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3RoaXMuX2hwYXJhbXMubWFwKGI9PmIuZGlzcGxheWVkKS5jb25jYXQodGhpcy5fbWV0cmljcy5tYXAoYj0+Yi5kaXNwbGF5ZWQpKTpbXX0sX2NvbXB1dGVWaXNpYmxlU2NoZW1hKCl7aWYoIXRoaXMuX2hwYXJhbXN8fCF0aGlzLl9tZXRyaWNzKXJldHVybntocGFyYW1JbmZvczpbXSxtZXRyaWNJbmZvczpbXX07Y29uc3QgYj10aGlzLl9ocGFyYW1zLmZpbHRlcihmPT5mLmRpc3BsYXllZCkubWFwKGY9PmYuaW5mbyksZD10aGlzLl9tZXRyaWNzLmZpbHRlcihmPT5mLmRpc3BsYXllZCkubWFwKGY9PmYuaW5mbyk7cmV0dXJue2hwYXJhbUluZm9zOmIsbWV0cmljSW5mb3M6ZH19LF9xdWVyeVNlcnZlcigpe3RoaXMuZGVib3VuY2UoInF1ZXJ5U2VydmVyIiwoKT0+dGhpcy5fcXVlcnlTZXJ2ZXJOb0RlYm91bmNlKCksCjEwMCl9LF9xdWVyeVNlcnZlck5vRGVib3VuY2UoKXtyZXR1cm4gdGhpcy5fc2VuZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpLnRoZW4odGhpcy5fbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXIuY2FuY2VsbGFibGUoKHt2YWx1ZTpiLGNhbmNlbGxlZDpkfSk9PntkfHwoMDw9Yi50b3RhbFNpemU/KHRoaXMuc2V0KCJfcGFnZUNvdW50U3RyIixTdHJpbmcoTWF0aC5jZWlsKGIudG90YWxTaXplLyt0aGlzLl9wYWdlU2l6ZUlucHV0LnZhbHVlKSkpLHRoaXMuc2V0KCJfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHIiLGIudG90YWxTaXplKSk6KHRoaXMuc2V0KCJfcGFnZUNvdW50U3RyIiwiPyIpLHRoaXMuc2V0KCJfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHIiLCJVbmtub3duIikpLHRmLmhwYXJhbXMudXRpbHMuc2V0QXJyYXlPYnNlcnZhYmx5KHRoaXMsYi5zZXNzaW9uR3JvdXBzKSl9KSl9LF9zZW5kTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgYj10aGlzLl9idWlsZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpOwppZihudWxsIT09YilyZXR1cm4gdGhpcy5zZXQoIl9zZXNzaW9uR3JvdXBzUmVxdWVzdCIsYiksdGhpcy5fbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5iYWNrZW5kLmxpc3RTZXNzaW9uR3JvdXBzKGIpfSxfYnVpbGRMaXN0U2Vzc2lvbkdyb3Vwc1JlcXVlc3QoKXtmdW5jdGlvbiBiKG0pe3ZhciBuPWYuZ2V0KG0rIi5taW4udmFsdWUiKTtjb25zb2xlLmFzc2VydCh2b2lkIDAhPT1uKTtuPSIiPT09bj8iLUluZmluaXR5IjorbjtmLnNldChtKyIubWluLmludmFsaWQiLGlzTmFOKG4pKTtoPWgmJiFpc05hTihuKTt2YXIgcT1mLmdldChtKyIubWF4LnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09cSk7cT0iIj09PXE/IkluZmluaXR5IjorcTtmLnNldChtKyIubWF4LmludmFsaWQiLGlzTmFOKHEpKTtoPWgmJiFpc05hTihxKTtyZXR1cm4gaXNOYU4obil8fGlzTmFOKHEpP251bGw6e21pblZhbHVlOm4sbWF4VmFsdWU6cX19ZnVuY3Rpb24gZChtKXt2YXIgbj0KZi5nZXQobSsiLnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09bik7bj0rbjtjb25zdCBxPU51bWJlci5pc0ludGVnZXIobikmJjA8bjtmLnNldChtKyIuaW52YWxpZCIsIXEpO2g9aCYmcTtyZXR1cm4gcT9uOm51bGx9Y29uc3QgZj10aGlzO2xldCBoPSEwO2NvbnN0IGs9dGhpcy5fc3RhdHVzZXMuZmlsdGVyKG09Pm0uYWxsb3dlZCkubWFwKG09Pm0udmFsdWUpO2xldCByPVtdO3RoaXMuX2hwYXJhbXMuZm9yRWFjaCgobSxuKT0+e2xldCBxPXtocGFyYW06bS5pbmZvLm5hbWV9O2lmKG0uZmlsdGVyLmRvbWFpbkRpc2NyZXRlKXEuZmlsdGVyRGlzY3JldGU9W10sbS5maWx0ZXIuZG9tYWluRGlzY3JldGUuZm9yRWFjaCh1PT57dS5jaGVja2VkJiZxLmZpbHRlckRpc2NyZXRlLnB1c2godS52YWx1ZSl9KTtlbHNlIGlmKG0uZmlsdGVyLmludGVydmFsKXEuZmlsdGVySW50ZXJ2YWw9YigiX2hwYXJhbXMuIituKyIuZmlsdGVyLmludGVydmFsIik7ZWxzZSBpZihtLmZpbHRlci5yZWdleHApcS5maWx0ZXJSZWdleHA9Cm0uZmlsdGVyLnJlZ2V4cDtlbHNlIHJldHVybiBjb25zb2xlLmVycm9yKCJocGFyYW0uZmlsdGVyIHdpdGggbm8gZG9tYWluRGlzY3JldGUsIGludGVydmFsIG9yIHJlZ2V4cCBwcm9wZXJ0aWVzIHNldDogJXMiLG0pLG51bGw7ci5wdXNoKHEpfSk7dGhpcy5fbWV0cmljcy5mb3JFYWNoKChtLG4pPT57bT17bWV0cmljOm0uaW5mby5uYW1lLGZpbHRlckludGVydmFsOmIoIl9tZXRyaWNzLiIrbisiLmZpbHRlci5pbnRlcnZhbCIpfTtyLnB1c2gobSl9KTtpZih2b2lkIDAhPT10aGlzLl9zb3J0QnlJbmRleCYmdm9pZCAwIT09dGhpcy5fc29ydERpcmVjdGlvbil7aWYoISh0aGlzLl9zb3J0QnlJbmRleCBpbiByKSlyZXR1cm4gY29uc29sZS5lcnJvcigiTm8gY29sdW1uIGluIGNvbFBhcmFtcyB3aXRoIGluZGV4IHNvcnRCeUluZGV4OiAlcyIsdGhpcy5fc29ydEJ5SW5kZXgpLG51bGw7clt0aGlzLl9zb3J0QnlJbmRleF0ub3JkZXI9MD09PXRoaXMuX3NvcnREaXJlY3Rpb24/Ik9SREVSX0FTQyI6CiJPUkRFUl9ERVNDIn1jb25zdCBsPWQoIl9wYWdlTnVtYmVySW5wdXQiKSxwPWQoIl9wYWdlU2l6ZUlucHV0Iik7cmV0dXJuIGg/e2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWUsYWxsb3dlZFN0YXR1c2VzOmssY29sUGFyYW1zOnIsc3RhcnRJbmRleDpwKihsLTEpLHNsaWNlU2l6ZTpwfTpudWxsfSxfbWV0cmljU29ydEJ5SW5kZXgoYil7cmV0dXJuIGIrdGhpcy5faHBhcmFtcy5sZW5ndGh9LF9ocGFyYW1OYW1lOnRmLmhwYXJhbXMudXRpbHMuaHBhcmFtTmFtZSxfbWV0cmljTmFtZTp0Zi5ocGFyYW1zLnV0aWxzLm1ldHJpY05hbWUsX3ByZXR0eVByaW50OnRmLmhwYXJhbXMudXRpbHMucHJldHR5UHJpbnR9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXBhZ2VzL2lyb24tcGFnZXMuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1wYWdlcyIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcixQb2x5bWVyLklyb25TZWxlY3RhYmxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2FjdGl2YXRlRXZlbnQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfc2VsZWN0ZWRQYWdlQ2hhbmdlZChzZWxlY3RlZCkiXSxfc2VsZWN0ZWRQYWdlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYXN5bmModGhpcy5ub3RpZnlSZXNpemUpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWhlYWRlci1wYW5lbC9wYXBlci1oZWFkZXItcGFuZWwuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj17c2Nyb2xsOiEwfSxkPXtzdGFuZGFyZDoyLHdhdGVyZmFsbDoxLCJ3YXRlcmZhbGwtdGFsbCI6MX0sZj17IndhdGVyZmFsbC10YWxsIjohMH07UG9seW1lcih7aXM6InBhcGVyLWhlYWRlci1wYW5lbCIscHJvcGVydGllczp7bW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0YW5kYXJkIixvYnNlcnZlcjoiX21vZGVDaGFuZ2VkIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHNoYWRvdzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx0YWxsQ2xhc3M6e3R5cGU6U3RyaW5nLHZhbHVlOiJ0YWxsIn0sYXRUb3A6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0sb2JzZXJ2ZXJzOlsiX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuKGF0VG9wLCBtb2RlLCBzaGFkb3cpIl0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hZGRMaXN0ZW5lcigpO3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3JlbW92ZUxpc3RlbmVyKCl9LApyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSGFuZGxlcj10aGlzLl9zY3JvbGwuYmluZCh0aGlzKTtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGdldCBoZWFkZXIoKXtyZXR1cm4gUG9seW1lci5kb20odGhpcy4kLmhlYWRlclNsb3QpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXX0sZ2V0IHNjcm9sbGVyKCl7cmV0dXJuIHRoaXMuX2dldFNjcm9sbGVyRm9yTW9kZSh0aGlzLm1vZGUpfSxnZXQgdmlzaWJsZVNoYWRvdygpe3JldHVybiB0aGlzLiQuZHJvcFNoYWRvdy5jbGFzc0xpc3QuY29udGFpbnMoImhhcy1zaGFkb3ciKX0sX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuOmZ1bmN0aW9uKGgsayl7az1kW2tdO3RoaXMuc2hhZG93P3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCEwLHRoaXMuJC5kcm9wU2hhZG93KToyPT09az90aGlzLnRvZ2dsZUNsYXNzKCJoYXMtc2hhZG93IiwhMCx0aGlzLiQuZHJvcFNoYWRvdyk6CjEhPT1rfHxoP3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCExLHRoaXMuJC5kcm9wU2hhZG93KTp0aGlzLnRvZ2dsZUNsYXNzKCJoYXMtc2hhZG93IiwhMCx0aGlzLiQuZHJvcFNoYWRvdyl9LF9jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKGgpe3ZhciBrPXt9O2suZmxleD0iY292ZXIiIT09aDtyZXR1cm4gT2JqZWN0LmtleXMoaykuZmlsdGVyKGZ1bmN0aW9uKHIpe3JldHVybiBrW3JdfSkuam9pbigiICIpfSxfYWRkTGlzdGVuZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKX0sX3JlbW92ZUxpc3RlbmVyOmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlcil9LF9tb2RlQ2hhbmdlZDpmdW5jdGlvbihoLGspe3ZhciByPXRoaXMuaGVhZGVyO3ImJihmW2tdJiYhZltoXT8oci5jbGFzc0xpc3QucmVtb3ZlKHRoaXMudGFsbENsYXNzKSwKdGhpcy5hc3luYyhmdW5jdGlvbigpe3IuY2xhc3NMaXN0LnJlbW92ZSgiYW5pbWF0ZSIpfSwyMDApKTp0aGlzLnRvZ2dsZUNsYXNzKCJhbmltYXRlIixmW2hdLHIpKTt0aGlzLl9rZWVwU2Nyb2xsaW5nU3RhdGUoKX0sX2tlZXBTY3JvbGxpbmdTdGF0ZTpmdW5jdGlvbigpe3ZhciBoPXRoaXMuc2Nyb2xsZXIsaz10aGlzLmhlYWRlcjt0aGlzLl9zZXRBdFRvcCgwPT09aC5zY3JvbGxUb3ApO2smJnRoaXMudGFsbENsYXNzJiZmW3RoaXMubW9kZV0mJnRoaXMudG9nZ2xlQ2xhc3ModGhpcy50YWxsQ2xhc3MsdGhpcy5hdFRvcHx8ay5jbGFzc0xpc3QuY29udGFpbnModGhpcy50YWxsQ2xhc3MpJiZoLnNjcm9sbEhlaWdodDx0aGlzLm9mZnNldEhlaWdodCxrKX0sX3Njcm9sbDpmdW5jdGlvbigpe3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpO3RoaXMuZmlyZSgiY29udGVudC1zY3JvbGwiLHt0YXJnZXQ6dGhpcy5zY3JvbGxlcn0se2J1YmJsZXM6ITF9KX0sX2dldFNjcm9sbGVyRm9yTW9kZTpmdW5jdGlvbihoKXtyZXR1cm4gYltoXT8KdGhpczp0aGlzLiQubWFpbkNvbnRhaW5lcn19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdGFicy9wYXBlci10YWIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItdGFiIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2xpbms6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxob3N0QXR0cmlidXRlczp7cm9sZToidGFiIn0sbGlzdGVuZXJzOntkb3duOiJfdXBkYXRlTm9pbmsiLHRhcDoiX29uVGFwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVOb2luaygpfSxnZXQgX3BhcmVudE5vaW5rKCl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZTtyZXR1cm4hIWImJiEhYi5ub2lua30sX3VwZGF0ZU5vaW5rOmZ1bmN0aW9uKCl7dGhpcy5ub2luaz0hIXRoaXMubm9pbmt8fCEhdGhpcy5fcGFyZW50Tm9pbmt9LF9vblRhcDpmdW5jdGlvbihiKXtpZih0aGlzLmxpbmspe3ZhciBkPXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiYSIpOwpkJiZiLnRhcmdldCE9PWQmJmQuY2xpY2soKX19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdGFicy9wYXBlci10YWJzLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRhYnMiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uUmVzaXphYmxlQmVoYXZpb3IsUG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9yXSxwcm9wZXJ0aWVzOntub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfbm9pbmtDaGFuZ2VkIn0sbm9CYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9TbGlkZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzY3JvbGxhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpdENvbnRhaW5lcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlRHJhZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxoaWRlU2Nyb2xsQnV0dG9uczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbGlnbkJvdHRvbTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItdGFiIn0sYXV0b3NlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvc2VsZWN0RGVsYXk6e3R5cGU6TnVtYmVyLAp2YWx1ZTowfSxfc3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTB9LF9ob2xkRGVsYXk6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9sZWZ0SGlkZGVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9yaWdodEhpZGRlbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfcHJldmlvdXNUYWI6e3R5cGU6T2JqZWN0fX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRhYmxpc3QifSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vblRhYlNpemluZ0NoYW5nZWQiLCJpcm9uLWl0ZW1zLWNoYW5nZWQiOiJfb25UYWJTaXppbmdDaGFuZ2VkIiwiaXJvbi1zZWxlY3QiOiJfb25Jcm9uU2VsZWN0IiwiaXJvbi1kZXNlbGVjdCI6Il9vbklyb25EZXNlbGVjdCJ9LGtleUJpbmRpbmdzOnsibGVmdDprZXl1cCByaWdodDprZXl1cCI6Il9vbkFycm93S2V5dXAifSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5faG9sZEpvYj1udWxsO3RoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD10aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09CnZvaWQgMDt0aGlzLl9iaW5kRGVsYXllZEFjdGl2YXRpb25IYW5kbGVyPXRoaXMuX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyQ2FwdHVyZS5iaW5kKHRoaXMpLCEwKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNldFNjcm9sbERpcmVjdGlvbigieSIsdGhpcy4kLnRhYnNDb250YWluZXIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uKCl9LF9ub2lua0NoYW5nZWQ6ZnVuY3Rpb24oYil7UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvckFsbCgicGFwZXItdGFiIikuZm9yRWFjaChiP3RoaXMuX3NldE5vaW5rQXR0cmlidXRlOnRoaXMuX3JlbW92ZU5vaW5rQXR0cmlidXRlKX0sX3NldE5vaW5rQXR0cmlidXRlOmZ1bmN0aW9uKGIpe2Iuc2V0QXR0cmlidXRlKCJub2luayIsIiIpfSxfcmVtb3ZlTm9pbmtBdHRyaWJ1dGU6ZnVuY3Rpb24oYil7Yi5yZW1vdmVBdHRyaWJ1dGUoIm5vaW5rIil9LApfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzOmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4hZHx8Zj8iaGlkZGVuIjpiPyJub3QtdmlzaWJsZSI6IiJ9LF9jb21wdXRlVGFic0NvbnRlbnRDbGFzczpmdW5jdGlvbihiLGQpe3JldHVybiBiPyJzY3JvbGxhYmxlIisoZD8iIGZpdC1jb250YWluZXIiOiIiKToiIGZpdC1jb250YWluZXIifSxfY29tcHV0ZVNlbGVjdGlvbkJhckNsYXNzOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGI/ImhpZGRlbiI6ZD8iYWxpZ24tYm90dG9tIjoiIn0sX29uVGFiU2l6aW5nQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZGVib3VuY2UoIl9vblRhYlNpemluZ0NoYW5nZWQiLGZ1bmN0aW9uKCl7dGhpcy5fc2Nyb2xsKCk7dGhpcy5fdGFiQ2hhbmdlZCh0aGlzLnNlbGVjdGVkSXRlbSl9LDEwKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbihiKXt0aGlzLl90YWJDaGFuZ2VkKGIuZGV0YWlsLml0ZW0sdGhpcy5fcHJldmlvdXNUYWIpO3RoaXMuX3ByZXZpb3VzVGFiPWIuZGV0YWlsLml0ZW07CnRoaXMuY2FuY2VsRGVib3VuY2VyKCJ0YWItY2hhbmdlZCIpfSxfb25Jcm9uRGVzZWxlY3Q6ZnVuY3Rpb24oKXt0aGlzLmRlYm91bmNlKCJ0YWItY2hhbmdlZCIsZnVuY3Rpb24oKXt0aGlzLl90YWJDaGFuZ2VkKG51bGwsdGhpcy5fcHJldmlvdXNUYWIpO3RoaXMuX3ByZXZpb3VzVGFiPW51bGx9LDEpfSxfYWN0aXZhdGVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsLl9hY3RpdmF0ZUhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfc2NoZWR1bGVBY3RpdmF0aW9uOmZ1bmN0aW9uKGIsZCl7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPWI7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuYXN5bmModGhpcy5fYmluZERlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcixkKX0sX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbTsKdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbT12b2lkIDA7Yi5maXJlKHRoaXMuYWN0aXZhdGVFdmVudCxudWxsLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KX0sX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uOmZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0JiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQpLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD10aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09dm9pZCAwKX0sX29uQXJyb3dLZXl1cDpmdW5jdGlvbigpe3RoaXMuYXV0b3NlbGVjdCYmdGhpcy5fc2NoZWR1bGVBY3RpdmF0aW9uKHRoaXMuZm9jdXNlZEl0ZW0sdGhpcy5hdXRvc2VsZWN0RGVsYXkpfSxfb25CbHVyQ2FwdHVyZTpmdW5jdGlvbihiKXtiLnRhcmdldD09PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbSYmdGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKX0sCmdldCBfdGFiQ29udGFpbmVyU2Nyb2xsU2l6ZSgpe3JldHVybiBNYXRoLm1heCgwLHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbFdpZHRoLXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoKX0sX3Njcm9sbDpmdW5jdGlvbihiLGQpe3RoaXMuc2Nyb2xsYWJsZSYmdGhpcy5fYWZmZWN0U2Nyb2xsKGQmJi1kLmRkeHx8MCl9LF9kb3duOmZ1bmN0aW9uKCl7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRGb2N1c0FzeW5jJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYyksdGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9bnVsbCl9LDEpfSxfYWZmZWN0U2Nyb2xsOmZ1bmN0aW9uKGIpe3RoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPWI7Yj10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0O3RoaXMuX2xlZnRIaWRkZW49MD09PWI7dGhpcy5fcmlnaHRIaWRkZW49Yj09PXRoaXMuX3RhYkNvbnRhaW5lclNjcm9sbFNpemV9LApfb25MZWZ0U2Nyb2xsQnV0dG9uRG93bjpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbFRvTGVmdCgpO3RoaXMuX2hvbGRKb2I9c2V0SW50ZXJ2YWwodGhpcy5fc2Nyb2xsVG9MZWZ0LmJpbmQodGhpcyksdGhpcy5faG9sZERlbGF5KX0sX29uUmlnaHRTY3JvbGxCdXR0b25Eb3duOmZ1bmN0aW9uKCl7dGhpcy5fc2Nyb2xsVG9SaWdodCgpO3RoaXMuX2hvbGRKb2I9c2V0SW50ZXJ2YWwodGhpcy5fc2Nyb2xsVG9SaWdodC5iaW5kKHRoaXMpLHRoaXMuX2hvbGREZWxheSl9LF9vblNjcm9sbEJ1dHRvblVwOmZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbCh0aGlzLl9ob2xkSm9iKTt0aGlzLl9ob2xkSm9iPW51bGx9LF9zY3JvbGxUb0xlZnQ6ZnVuY3Rpb24oKXt0aGlzLl9hZmZlY3RTY3JvbGwoLXRoaXMuX3N0ZXApfSxfc2Nyb2xsVG9SaWdodDpmdW5jdGlvbigpe3RoaXMuX2FmZmVjdFNjcm9sbCh0aGlzLl9zdGVwKX0sX3RhYkNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtpZihiKXt2YXIgZj10aGlzLiQudGFic0NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksCmg9Zi53aWR0aCxrPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Zj1rLmxlZnQtZi5sZWZ0O3RoaXMuX3Bvcz17d2lkdGg6dGhpcy5fY2FsY1BlcmNlbnQoay53aWR0aCxoKSxsZWZ0OnRoaXMuX2NhbGNQZXJjZW50KGYsaCl9O2lmKHRoaXMubm9TbGlkZXx8bnVsbD09ZCl0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZCIpLHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpO2Vsc2V7dmFyIHI9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtkPXRoaXMuaXRlbXMuaW5kZXhPZihkKTtiPXRoaXMuaXRlbXMuaW5kZXhPZihiKTt0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5hZGQoImV4cGFuZCIpO2I9ZDxiO3RoaXMuX2lzUlRMJiYoYj0hYik7Yj90aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9jYWxjUGVyY2VudChrLmxlZnQray53aWR0aC0Kci5sZWZ0LGgpLTUsdGhpcy5fbGVmdCk6dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoci5sZWZ0K3Iud2lkdGgtay5sZWZ0LGgpLTUsdGhpcy5fY2FsY1BlcmNlbnQoZixoKSs1KTt0aGlzLnNjcm9sbGFibGUmJnRoaXMuX3Njcm9sbFRvU2VsZWN0ZWRJZk5lZWRlZChrLndpZHRoLGYpfX1lbHNlIHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kIiksdGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3QucmVtb3ZlKCJjb250cmFjdCIpLHRoaXMuX3Bvc2l0aW9uQmFyKDAsMCl9LF9zY3JvbGxUb1NlbGVjdGVkSWZOZWVkZWQ6ZnVuY3Rpb24oYixkKXtkLT10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0OzA+ZD90aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0Kz1kOihkKz1iLXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoLDA8ZCYmKHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPWQpKX0sX2NhbGNQZXJjZW50OmZ1bmN0aW9uKGIsCmQpe3JldHVybiAxMDAqYi9kfSxfcG9zaXRpb25CYXI6ZnVuY3Rpb24oYixkKXtiPWJ8fDA7ZD1kfHwwO3RoaXMuX3dpZHRoPWI7dGhpcy5fbGVmdD1kO3RoaXMudHJhbnNmb3JtKCJ0cmFuc2xhdGVYKCIrZCsiJSkgc2NhbGVYKCIrYi8xMDArIikiLHRoaXMuJC5zZWxlY3Rpb25CYXIpfSxfb25CYXJUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3Q7Yi5jb250YWlucygiZXhwYW5kIik/KGIucmVtb3ZlKCJleHBhbmQiKSxiLmFkZCgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpKTpiLmNvbnRhaW5zKCJjb250cmFjdCIpJiZiLnJlbW92ZSgiY29udHJhY3QiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci10b29sYmFyL3BhcGVyLXRvb2xiYXIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItdG9vbGJhciIsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRvb2xiYXIifSxwcm9wZXJ0aWVzOntib3R0b21KdXN0aWZ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sanVzdGlmeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG1pZGRsZUp1c3RpZnk6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0scmVhZHk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9dGhpcy5fb2JzZXJ2ZSh0aGlzKTt0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZ0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCl9LF9vYnNlcnZlOmZ1bmN0aW9uKGIpe3ZhciBkPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQXJpYUxhYmVsbGVkQnkoKX0uYmluZCh0aGlzKSk7CmQub2JzZXJ2ZShiLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO3JldHVybiBkfSxfdXBkYXRlQXJpYUxhYmVsbGVkQnk6ZnVuY3Rpb24oKXtQb2x5bWVyLmRvbS5mbHVzaCgpO2Zvcih2YXIgYj1bXSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFBvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgic2xvdCIpKS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUG9seW1lci5kb20odGhpcy5yb290KS5xdWVyeVNlbGVjdG9yQWxsKCJjb250ZW50IikpKSxmLGg9MDtmPWRbaF07aCsrKXtmPVBvbHltZXIuZG9tKGYpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTtmb3IodmFyIGsscj0wO2s9ZltyXTtyKyspaWYoay5jbGFzc0xpc3QmJmsuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aXRsZSIpKWlmKGsuaWQpYi5wdXNoKGsuaWQpO2Vsc2V7dmFyIGw9InBhcGVyLXRvb2xiYXItbGFiZWwtIitNYXRoLmZsb29yKDFFNCpNYXRoLnJhbmRvbSgpKTtrLmlkPWw7Yi5wdXNoKGwpfX0wPApiLmxlbmd0aCYmdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsYi5qb2luKCIgIikpfSxfY29tcHV0ZUJhckV4dHJhQ2xhc3NlczpmdW5jdGlvbihiKXtyZXR1cm4gYj9iKygianVzdGlmaWVkIj09PWI/IiI6Ii1qdXN0aWZpZWQiKToiIn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scy90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyIscHJvcGVydGllczp7Y29uZmlndXJhdGlvbjpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxvcHRpb25zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6bnVsbH19LG9ic2VydmVyczpbIl9jb25maWd1cmF0aW9uQ2hhbmdlZChjb25maWd1cmF0aW9uLiopIiwiX3Vuc2VsZWN0RGlzYWJsZWRMb2dTY2FsZXMoc2Vzc2lvbkdyb3Vwcy4qKSJdLF9jb25maWd1cmF0aW9uQ2hhbmdlZCgpe2NvbnN0IGI9dGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEsZD10aGlzLmNvbmZpZ3VyYXRpb24uc2NoZW1hLGY9e2NvbHVtbnM6Yi5ocGFyYW1JbmZvcy5tYXAoKGgsayk9Pih7bmFtZTp0Zi5ocGFyYW1zLnV0aWxzLmhwYXJhbU5hbWUoaCksaW5kZXg6ayxhYnNvbHV0ZUluZGV4OnRmLmhwYXJhbXMudXRpbHMuZ2V0QWJzb2x1dGVDb2x1bW5JbmRleChkLGIsayksc2NhbGU6dGhpcy5faXNOdW1lcmljQ29sdW1uKGspPwoiTElORUFSIjoiTk9OX05VTUVSSUMifSkpLmNvbmNhdChiLm1ldHJpY0luZm9zLm1hcCgoaCxrKT0+e2srPWIuaHBhcmFtSW5mb3MubGVuZ3RoO3JldHVybntzY2FsZToiTElORUFSIixuYW1lOnRmLmhwYXJhbXMudXRpbHMubWV0cmljTmFtZShoKSxpbmRleDprLGFic29sdXRlSW5kZXg6dGYuaHBhcmFtcy51dGlscy5nZXRBYnNvbHV0ZUNvbHVtbkluZGV4KGQsYixrKX19KSksbWluQ29sb3I6IiMwMDAwRkYiLG1heENvbG9yOiIjRkYwMDAwIixjb25maWd1cmF0aW9uOnRoaXMuY29uZmlndXJhdGlvbn07dGhpcy5zZXQoIm9wdGlvbnMiLGYpO1BvbHltZXIuZG9tLmZsdXNoKCk7dGhpcy5zZXQoIm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4Iix0aGlzLl9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCkpfSxfdW5zZWxlY3REaXNhYmxlZExvZ1NjYWxlcygpe251bGwhPT10aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5jb2x1bW5zLmZvckVhY2goYj0+e2NvbnN0IGQ9Im9wdGlvbnMuY29sdW1ucy4iKwpiLmluZGV4O3RoaXMuX2FsbG93TG9nU2NhbGUoYil8fCJMT0ciIT09Yi5zY2FsZXx8dGhpcy5zZXQoZCsiLnNjYWxlIiwiTElORUFSIil9KX0sX2FsbG93TG9nU2NhbGUoYil7aWYoIXRoaXMuX2lzTnVtZXJpY0NvbHVtbihiLmluZGV4KXx8IXRoaXMuc2Vzc2lvbkdyb3VwcylyZXR1cm4hMTtjb25zdCBbZCxmXT10Zi5ocGFyYW1zLnV0aWxzLnZpc2libGVOdW1lcmljQ29sdW1uRXh0ZW50KHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLHRoaXMuc2Vzc2lvbkdyb3VwcyxiLmluZGV4KTtyZXR1cm4gMDxkfHwwPmZ9LF9pc051bWVyaWNDb2x1bW4oYil7cmV0dXJuIGI+PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aHx8IkRBVEFfVFlQRV9GTE9BVDY0Ij09PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zW2JdLnR5cGV9LF9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCl7aWYoMDx0aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGgpcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aDsKY29uc3QgYj10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvcy5maW5kSW5kZXgoZD0+IkRBVEFfVFlQRV9GTE9BVDY0Ij09PWQudHlwZSk7aWYoLTEhPT1iKXJldHVybiBifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWFjdGl2ZS1pdGVtLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkFjdGl2ZUl0ZW1CZWhhdmlvcj17cHJvcGVydGllczp7YWN0aXZlSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHZhbHVlOm51bGx9fSxsaXN0ZW5lcnM6eyJjZWxsLWFjdGl2YXRlIjoiX2FjdGl2YXRlSXRlbSJ9LG9ic2VydmVyczpbIl9hY3RpdmVJdGVtQ2hhbmdlZChhY3RpdmVJdGVtKSJdLF9hY3RpdmF0ZUl0ZW06ZnVuY3Rpb24oYil7dmFyIGQ9Yi5kZXRhaWwubW9kZWwuaXRlbTt0aGlzLmFjdGl2ZUl0ZW09dGhpcy5hY3RpdmVJdGVtIT09ZD9kOm51bGw7Yi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX0sX2FjdGl2ZUl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLl9waHlzaWNhbEl0ZW1zJiZ0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMuZm9yRWFjaChmdW5jdGlvbihiKXt0aGlzLl91cGRhdGVJdGVtKGIsYi5pdGVtKX0uYmluZCh0aGlzKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC10YWJsZS1zY3JvbGwtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvckltcGw9e3Byb3BlcnRpZXM6e192aWR4T2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxpb3M6e3R5cGU6Qm9vbGVhbix2YWx1ZTpuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZml4ZWRTZWN0aW9uczp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxjb21wdXRlZDoiX2hhc0ZpeGVkU2VjdGlvbnMoc2Nyb2xsYmFyV2lkdGgpIn0sX2Zyb3plbkNlbGxzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxzY3JvbGxpbmc6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsVGFyZ2V0PXRoaXMuJC50YWJsZX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmxpc3Rlbih0aGlzLnNjcm9sbFRhcmdldCwid2hlZWwiLAoiX29uV2hlZWwiKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMuc2Nyb2xsVGFyZ2V0LCJ3aGVlbCIsIl9vbldoZWVsIil9LHNjcm9sbFRvU2NhbGVkSW5kZXg6ZnVuY3Rpb24oYil7dGhpcy5fcGVuZGluZ1Njcm9sbFRvU2NhbGVkSW5kZXg9bnVsbDt0aGlzLiQuaXRlbXMuc3R5bGUuYm9yZGVyVG9wV2lkdGh8fCh0aGlzLl9wZW5kaW5nU2Nyb2xsVG9TY2FsZWRJbmRleD1iKTtiPU1hdGgubWluKE1hdGgubWF4KGIsMCksdGhpcy5zaXplLTEpO3RoaXMuJC50YWJsZS5zY3JvbGxUb3A9Yi90aGlzLnNpemUqdGhpcy4kLnRhYmxlLnNjcm9sbEhlaWdodDt0aGlzLl9zY3JvbGxIYW5kbGVyKCk7dGhpcy5zY3JvbGxUb0luZGV4KGItdGhpcy5fdmlkeE9mZnNldCk7dGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9zY3JvbGxQb3NpdGlvbik7dGhpcy5fc2Nyb2xsSGFuZGxlcigpO3RoaXMuX3ZpZHhPZmZzZXQrdGhpcy5sYXN0VmlzaWJsZUluZGV4PT09dGhpcy5zaXplLQoxJiYodGhpcy4kLnRhYmxlLnNjcm9sbFRvcD10aGlzLiQudGFibGUuc2Nyb2xsSGVpZ2h0LXRoaXMuJC50YWJsZS5vZmZzZXRIZWlnaHQsdGhpcy5fc2Nyb2xsSGFuZGxlcigpKX0sX2hhc0ZpeGVkU2VjdGlvbnM6ZnVuY3Rpb24oYil7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0VkZ2UvKSYmMD09PWJ9LF9vbldoZWVsOmZ1bmN0aW9uKGIpe2lmKCFiLmN0cmxLZXkmJiF0aGlzLl9oYXNTY3JvbGxlZEFuY2VzdG9yKGIudGFyZ2V0LGIuZGVsdGFYLGIuZGVsdGFZKSl7dmFyIGQ9dGhpcy4kLnRhYmxlLGY9Yi5kZWx0YVk7MT09PWIuZGVsdGFNb2RlJiYoZio9Z3JpZC4kLnNjcm9sbGVyLl9waHlzaWNhbEF2ZXJhZ2UpO3ZhciBoPU1hdGguYWJzKGIuZGVsdGFYKStNYXRoLmFicyhmKTt0aGlzLl9jYW5TY3JvbGwoZCxiLmRlbHRhWCxmKT8oYi5wcmV2ZW50RGVmYXVsdCgpLGQuc2Nyb2xsVG9wKz1mLGQuc2Nyb2xsTGVmdCs9Yi5kZWx0YVgsdGhpcy5fc2Nyb2xsSGFuZGxlcigpLAp0aGlzLl9oYXNSZXNpZHVhbE1vbWVudHVtPSEwLHRoaXMuX2lnbm9yZU5ld1doZWVsPXRoaXMuZGVib3VuY2UoImlnbm9yZS1uZXctd2hlZWwiLGZ1bmN0aW9uKCl7dGhpcy5faWdub3JlTmV3V2hlZWw9bnVsbH0sNTAwKSk6dGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bSYmaDw9dGhpcy5fcHJldmlvdXNNb21lbnR1bXx8dGhpcy5faWdub3JlTmV3V2hlZWw/Yi5wcmV2ZW50RGVmYXVsdCgpOmg+dGhpcy5fcHJldmlvdXNNb21lbnR1bSYmKHRoaXMuX2hhc1Jlc2lkdWFsTW9tZW50dW09ITEpO3RoaXMuX3ByZXZpb3VzTW9tZW50dW09aH19LF9oYXNTY3JvbGxlZEFuY2VzdG9yOmZ1bmN0aW9uKGIsZCxmKXtpZih0aGlzLl9jYW5TY3JvbGwoYixkLGYpKXJldHVybiEwO2lmKCJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiIT09Yi5sb2NhbE5hbWUmJmIhPT10aGlzJiZiLnBhcmVudEVsZW1lbnQpcmV0dXJuIHRoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IoYi5wYXJlbnRFbGVtZW50LGQsZil9LApfY2FuU2Nyb2xsOmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4gMDxmJiZiLnNjcm9sbFRvcDxiLnNjcm9sbEhlaWdodC1iLm9mZnNldEhlaWdodHx8MD5mJiYwPGIuc2Nyb2xsVG9wfHwwPGQmJmIuc2Nyb2xsTGVmdDxiLnNjcm9sbFdpZHRoLWIub2Zmc2V0V2lkdGh8fDA+ZCYmMDxiLnNjcm9sbExlZnR9LF9zY3JvbGxIYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIGI9TWF0aC5tYXgoMCxNYXRoLm1pbih0aGlzLl9tYXhTY3JvbGxUb3AsdGhpcy5fc2Nyb2xsVG9wKSksZD1iLXRoaXMuX3Njcm9sbFBvc2l0aW9uLGY9dGhpcy5fcmF0aW8saD0wLGs9dGhpcy5faGlkZGVuQ29udGVudFNpemUscj1mLGw9W107dGhpcy5fc2Nyb2xsUG9zaXRpb249Yjt0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPW51bGw7dmFyIHA9dGhpcy5fc2Nyb2xsQm90dG9tO3ZhciBtPXRoaXMuX3BoeXNpY2FsQm90dG9tO2lmKE1hdGguYWJzKGQpPnRoaXMuX3BoeXNpY2FsU2l6ZSl0aGlzLl9waHlzaWNhbFRvcCs9CmQsaD1NYXRoLnJvdW5kKGQvdGhpcy5fcGh5c2ljYWxBdmVyYWdlKTtlbHNlIGlmKDA+ZCl7dmFyIG49Yi10aGlzLl9waHlzaWNhbFRvcDtsPXRoaXMuX3ZpcnR1YWxTdGFydDt2YXIgcT1bXTt2YXIgdT10aGlzLl9waHlzaWNhbEVuZDtmb3Iocj1uL2s7cjxmJiZoPHRoaXMuX3BoeXNpY2FsQ291bnQmJjA8bC1oJiZtLXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudCh1KT5wOyluPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudCh1KSxyKz1uL2ssbS09bixxLnB1c2godSksaCsrLHU9MD09PXU/dGhpcy5fcGh5c2ljYWxDb3VudC0xOnUtMTtsPXE7aD0taH1lbHNlIGlmKDA8ZCl7dmFyIHc9dGhpcy5fdmlydHVhbEVuZCxBPXRoaXMuX3ZpcnR1YWxDb3VudC0xO3E9W107dT10aGlzLl9waHlzaWNhbFN0YXJ0O2ZvcihyPShtLXApL2s7cjxmJiZoPHRoaXMuX3BoeXNpY2FsQ291bnQmJncraDxBJiZ0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQodSk8CmI7KW49dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KHUpLHIrPW4vayx0aGlzLl9waHlzaWNhbFRvcCs9bixxLnB1c2godSksaCsrLHU9KHUrMSkldGhpcy5fcGh5c2ljYWxDb3VudH10aGlzLl92aXJ0dWFsQ291bnQ8dGhpcy5zaXplJiZ0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXhPZmZzZXQoZCk7MD09PWg/KG08cHx8dGhpcy5fcGh5c2ljYWxUb3A+YikmJnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCk6KHRoaXMuX3ZpcnR1YWxTdGFydCs9aCx0aGlzLl9waHlzaWNhbFN0YXJ0Kz1oLHRoaXMuX3VwZGF0ZShxLGwpKTt0aGlzLl90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKTt0aGlzLmhhc0F0dHJpYnV0ZSgicmVvcmRlcmluZyIpfHwodGhpcy5zY3JvbGxpbmc9ITApO3RoaXMuZGVib3VuY2UoInZhYWRpbi1ncmlkLXNjcm9sbGluZyIsZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGluZz0hMTt0aGlzLl9yZW9yZGVyUm93cygpfSwxMDApfSxfYWRqdXN0VmlydHVhbEluZGV4T2Zmc2V0OmZ1bmN0aW9uKGIpe2lmKDFFNDwKTWF0aC5hYnMoYikpdGhpcy5fbm9TY2FsZT90aGlzLl9ub1NjYWxlPSExOihiPU1hdGgucm91bmQodGhpcy5fc2Nyb2xsUG9zaXRpb24vdGhpcy5fc2Nyb2xsSGVpZ2h0KjFFMykvMUUzLHRoaXMuX3ZpZHhPZmZzZXQ9TWF0aC5yb3VuZChiKnRoaXMuc2l6ZS1iKnRoaXMuX3ZpcnR1YWxDb3VudCksMD09PXRoaXMuX3Njcm9sbFRvcCYmdGhpcy5zY3JvbGxUb0luZGV4KDApKTtlbHNle2I9dGhpcy5fdmlkeE9mZnNldHx8MDswPT09dGhpcy5fc2Nyb2xsVG9wPyh0aGlzLl92aWR4T2Zmc2V0PTAsYiE9PXRoaXMuX3ZpZHhPZmZzZXQmJnRoaXMuc2Nyb2xsVG9JbmRleCgwKSk6MUUzPnRoaXMuZmlyc3RWaXNpYmxlSW5kZXgmJjA8dGhpcy5fdmlkeE9mZnNldCYmKHRoaXMuX3ZpZHhPZmZzZXQtPU1hdGgubWluKHRoaXMuX3ZpZHhPZmZzZXQsMTAwKSx0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5maXJzdFZpc2libGVJbmRleCsoYi10aGlzLl92aWR4T2Zmc2V0KSsxKSx0aGlzLl9ub1NjYWxlPQohMCk7dmFyIGQ9dGhpcy5zaXplLXRoaXMuX3ZpcnR1YWxDb3VudDt0aGlzLl9zY3JvbGxUb3A+PXRoaXMuX21heFNjcm9sbFRvcD8odGhpcy5fdmlkeE9mZnNldD1kLGIhPT10aGlzLl92aWR4T2Zmc2V0JiZ0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5fdmlydHVhbENvdW50KSk6dGhpcy5maXJzdFZpc2libGVJbmRleD50aGlzLl92aXJ0dWFsQ291bnQtMUUzJiZ0aGlzLl92aWR4T2Zmc2V0PGQmJih0aGlzLl92aWR4T2Zmc2V0Kz1NYXRoLm1pbihkLXRoaXMuX3ZpZHhPZmZzZXQsMTAwKSx0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5maXJzdFZpc2libGVJbmRleC0odGhpcy5fdmlkeE9mZnNldC1iKSksdGhpcy5fbm9TY2FsZT0hMCl9fSxfcmVvcmRlclJvd3M6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzLiQuaXRlbXMpLGQ9Yi5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtcm93IiksZj1kLmxlbmd0aC0oZFswXS5pbmRleC0odGhpcy5fdmlydHVhbFN0YXJ0K3RoaXMuX3ZpZHhPZmZzZXQpKTsKaWYoZjxkLmxlbmd0aC8yKWZvcih2YXIgaD0wO2g8ZjtoKyspYi5hcHBlbmRDaGlsZChkW2hdKTtlbHNlIGZvcig7ZjxkLmxlbmd0aDtmKyspYi5pbnNlcnRCZWZvcmUoZFtmXSxkWzBdKX0sX2Zyb3plbkNlbGxzQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZGVib3VuY2UoImNhY2hlLWVsZW1lbnRzIixmdW5jdGlvbigpe1BvbHltZXIuZG9tKHRoaXMuZG9tSG9zdC5yb290KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtY2VsbCIpLmZvckVhY2goZnVuY3Rpb24oYil7Yi5zdHlsZS50cmFuc2Zvcm09IiJ9KTt0aGlzLl9mcm96ZW5DZWxscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChQb2x5bWVyLmRvbSh0aGlzLmRvbUhvc3Qucm9vdCkucXVlcnlTZWxlY3RvckFsbCgiW2Zyb3plbl0iKSk7dGhpcy5fdHJhbnNsYXRlU3RhdGlvbmFyeUVsZW1lbnRzKCl9KTt0aGlzLl91cGRhdGVMYXN0RnJvemVuKCl9LF91cGRhdGVMYXN0RnJvemVuOmZ1bmN0aW9uKCl7aWYodGhpcy5jb2x1bW5UcmVlKXt2YXIgYj0KdGhpcy5jb2x1bW5UcmVlW3RoaXMuY29sdW1uVHJlZS5sZW5ndGgtMV0uc2xpY2UoMCk7Yi5zb3J0KGZ1bmN0aW9uKGYsaCl7cmV0dXJuIGYuX29yZGVyLWguX29yZGVyfSk7dmFyIGQ9Yi5yZWR1Y2UoZnVuY3Rpb24oZixoLGspe2guX2xhc3RGcm96ZW49ITE7cmV0dXJuIGguZnJvemVuJiYhaC5oaWRkZW4/azpmfSx2b2lkIDApO3ZvaWQgMCE9PWQmJihiW2RdLl9sYXN0RnJvemVuPSEwKX19LF90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHM6ZnVuY3Rpb24oKXt0aGlzLmZpeGVkU2VjdGlvbnM/KHRoaXMuJC5pdGVtcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5fZ2V0VHJhbnNsYXRlKC10aGlzLl9zY3JvbGxMZWZ0fHwwLC10aGlzLl9zY3JvbGxUb3B8fDApLHRoaXMuJC5mb290ZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuX2dldFRyYW5zbGF0ZSgtdGhpcy5fc2Nyb2xsTGVmdHx8MCwwKSk6dGhpcy4kLmZvb3Rlci5zdHlsZS50cmFuc2Zvcm09CnRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuX2dldFRyYW5zbGF0ZSgwLHRoaXMuX3Njcm9sbFRvcCk7Zm9yKHZhciBiPXRoaXMuX2dldFRyYW5zbGF0ZSh0aGlzLl9zY3JvbGxMZWZ0LDApLGQ9MDtkPHRoaXMuX2Zyb3plbkNlbGxzLmxlbmd0aDtkKyspdGhpcy5fZnJvemVuQ2VsbHNbZF0uc3R5bGUudHJhbnNmb3JtPWJ9LF9nZXRUcmFuc2xhdGU6ZnVuY3Rpb24oYixkKXtyZXR1cm4idHJhbnNsYXRlKCIrYisicHgsIitkKyJweCkifX07dmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvcj1bUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXRhYmxlLWNlbGwuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj17cHJvcGVydGllczp7Y29sdW1uOk9iamVjdCxleHBhbmRlZDpCb29sZWFuLGZsZXhHcm93Ok51bWJlcixjb2xTcGFuOk51bWJlcixmb2N1c2VkOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSxmcm96ZW46e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGxhc3RGcm96ZW46e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGhpZGRlbjp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0saW5zdGFuY2U6T2JqZWN0LGluZGV4Ok51bWJlcixpdGVtOk9iamVjdCxzZWxlY3RlZDpCb29sZWFuLHRlbXBsYXRlOk9iamVjdCx0YXJnZXQ6T2JqZWN0LHdpZHRoOlN0cmluZyxvcmRlcjpOdW1iZXIscmVvcmRlclN0YXR1czp7dHlwZTpTdHJpbmcscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfY2hpbGRDb2x1bW5zOkFycmF5LF9jZWxsQ29udGVudDpPYmplY3QsX2luc2VydGlvblBvaW50Ok9iamVjdCwKX3RlbXBsYXRpemVyOk9iamVjdH0sb2JzZXJ2ZXJzOiJfY29sdW1uQ2hhbmdlZChjb2x1bW4pO19jZWxsQXR0YWNoZWQoY29sdW1uLCBpc0F0dGFjaGVkKTtfZXhwYW5kZWRDaGFuZ2VkKGV4cGFuZGVkLCBpbnN0YW5jZSk7X2ZsZXhHcm93Q2hhbmdlZChmbGV4R3Jvdyk7X2luZGV4Q2hhbmdlZChpbmRleCwgaW5zdGFuY2UpO19pdGVtQ2hhbmdlZChpdGVtLCBpbnN0YW5jZSk7X2luc3RhbmNlQ2hhbmdlZChpbnN0YW5jZSwgdGFyZ2V0KTtfc2VsZWN0ZWRDaGFuZ2VkKHNlbGVjdGVkLCBpbnN0YW5jZSk7X3RvZ2dsZUNvbnRlbnQoaXNBdHRhY2hlZCwgX2NlbGxDb250ZW50LCBfaW5zZXJ0aW9uUG9pbnQpO190b2dnbGVJbnN0YW5jZShpc0F0dGFjaGVkLCBfdGVtcGxhdGl6ZXIsIGluc3RhbmNlKTtfd2lkdGhDaGFuZ2VkKHdpZHRoKTtfb3JkZXJDaGFuZ2VkKG9yZGVyKTtfdmlzaWJsZUNoaWxkQ29sdW1uc0NoYW5nZWQoX3Zpc2libGVDaGlsZENvbHVtbnMpO19jaGlsZENvbHVtbnNDaGFuZ2VkKF9jaGlsZENvbHVtbnMpIi5zcGxpdCgiOyIpLApyZWFkeTpmdW5jdGlvbigpe3RoaXMuY2xhc3NMaXN0LmFkZCgidmFhZGluLWdyaWQtY2VsbCIpOyExPT09UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cmJih0aGlzLmNsYXNzTGlzdC5hZGQoInN0eWxlLXNjb3BlIiksdGhpcy5jbGFzc0xpc3QuYWRkKCJ2YWFkaW4tZ3JpZCIpKX0sX2NvbHVtbkNoYW5nZWQ6ZnVuY3Rpb24oZCl7dGhpcy5mbGV4R3Jvdz1kLmZsZXhHcm93O3RoaXMuZnJvemVuPWQuZnJvemVuO3RoaXMubGFzdEZyb3plbj1kLl9sYXN0RnJvemVuO3RoaXMuaGVhZGVyVGVtcGxhdGU9ZC5oZWFkZXJUZW1wbGF0ZTt0aGlzLmZvb3RlclRlbXBsYXRlPWQuZm9vdGVyVGVtcGxhdGU7dGhpcy50ZW1wbGF0ZT1kLnRlbXBsYXRlO3RoaXMud2lkdGg9ZC53aWR0aDt0aGlzLmhpZGRlbj1kLmhpZGRlbjt0aGlzLnJlc2l6YWJsZT1kLnJlc2l6YWJsZTt0aGlzLl9jaGlsZENvbHVtbnM9ZC5fY2hpbGRDb2x1bW5zO3RoaXMub3JkZXI9ZC5fb3JkZXI7ZC5jb2xTcGFuJiYodGhpcy5jb2xTcGFuPQpkLmNvbFNwYW4pO3RoaXMubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKX0sX2NlbGxBdHRhY2hlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJihmP3RoaXMubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKTp0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5pc0F0dGFjaGVkfHx0aGlzLnVubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKX0pKX0sX2NvbHVtblByb3BDaGFuZ2VkOmZ1bmN0aW9uKGQpe2QudGFyZ2V0PT10aGlzLmNvbHVtbiYmKHRoaXNbZC5kZXRhaWwucGF0aF09ZC5kZXRhaWwudmFsdWUpfSxfZXhwYW5kZWRDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGYuX19leHBhbmRlZF9fPWQsZi5leHBhbmRlZD1kKX0sX2ZsZXhHcm93Q2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLnN0eWxlLmZsZXhHcm93PQpkfSxfaW5kZXhDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGYuaW5kZXg9ZCl9LF9pdGVtQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJihmLml0ZW09ZCl9LF9zZWxlY3RlZENoYW5nZWQ6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiYoZi5fX3NlbGVjdGVkX189ZCxmLnNlbGVjdGVkPWQpfSxfY2hpbGRDb2x1bW5zQ2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLmNvbFNwYW49ZC5sZW5ndGh9LF90b2dnbGVDb250ZW50OmZ1bmN0aW9uKGQsZixoKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZ2b2lkIDAhPT1oJiYoZD8oUG9seW1lci5kb20oZikucGFyZW50Tm9kZSE9PXRoaXMudGFyZ2V0JiZQb2x5bWVyLmRvbSh0aGlzLnRhcmdldCkuYXBwZW5kQ2hpbGQoZiksUG9seW1lci5kb20odGhpcykuYXBwZW5kQ2hpbGQoaCkpOnRoaXMuYXN5bmMoZnVuY3Rpb24oKXt0aGlzLmlzQXR0YWNoZWR8fFBvbHltZXIuZG9tKGYpLnBhcmVudE5vZGUhPT0KdGhpcy50YXJnZXR8fFBvbHltZXIuZG9tKHRoaXMudGFyZ2V0KS5yZW1vdmVDaGlsZChmKX0pKX0sX3RvZ2dsZUluc3RhbmNlOmZ1bmN0aW9uKGQsZixoKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZ2b2lkIDAhPT1oJiYoZD9mLmFkZEluc3RhbmNlKGgpOmYucmVtb3ZlSW5zdGFuY2UoaCkpfSxfd2lkdGhDaGFuZ2VkOmZ1bmN0aW9uKGQpe3RoaXMuc3R5bGUud2lkdGg9ZH0sX29yZGVyQ2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLnN0eWxlLm9yZGVyPWR9LF90ZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oZCl7dGhpcy5pbnN0YW5jZT1kLnRlbXBsYXRpemVyLmNyZWF0ZUluc3RhbmNlKCk7dGhpcy5fdGVtcGxhdGl6ZXI9ZC50ZW1wbGF0aXplcn0sX2luc3RhbmNlQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJih0aGlzLnN0eWxlLmhlaWdodD0iIix0aGlzLl9jZWxsQ29udGVudD10aGlzLl9jZWxsQ29udGVudHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtY2VsbC1jb250ZW50IiksCmQ9InZhYWRpbi1ncmlkLWNlbGwtY29udGVudC0iKyh2YWFkaW4uZWxlbWVudHMuZ3JpZC5fY29udGVudEluZGV4PXZhYWRpbi5lbGVtZW50cy5ncmlkLl9jb250ZW50SW5kZXgrMXx8MCksdGhpcy5fY2VsbENvbnRlbnQuaW5uZXJIVE1MPSIiLFBvbHltZXIuZG9tKHRoaXMuX2NlbGxDb250ZW50KS5hcHBlbmRDaGlsZCh0aGlzLmluc3RhbmNlLnJvb3QpLHRoaXMuX2NlbGxDb250ZW50LnNldEF0dHJpYnV0ZSgiaWQiLGQpLFBvbHltZXIuRWxlbWVudD8odGhpcy5fY2VsbENvbnRlbnQuc2V0QXR0cmlidXRlKCJzbG90IixkKSx0aGlzLl9pbnNlcnRpb25Qb2ludD10aGlzLl9pbnNlcnRpb25Qb2ludHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpLHRoaXMuX2luc2VydGlvblBvaW50LnNldEF0dHJpYnV0ZSgibmFtZSIsZCkpOih0aGlzLl9pbnNlcnRpb25Qb2ludD10aGlzLl9pbnNlcnRpb25Qb2ludHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29udGVudCIpLHRoaXMuX2luc2VydGlvblBvaW50LnNldEF0dHJpYnV0ZSgic2VsZWN0IiwKIiMiK2QpKSl9fTtQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtY2VsbCIsYmVoYXZpb3JzOltiLHZhYWRpbi5lbGVtZW50cy5ncmlkLkNlbGxDbGlja0JlaGF2aW9yXSxvYnNlcnZlcnM6WyJfdGVtcGxhdGVDaGFuZ2VkKHRlbXBsYXRlKSJdLF9jZWxsQ2xpY2s6ZnVuY3Rpb24oZCl7ZC5kZWZhdWx0UHJldmVudGVkfHx0aGlzLmZpcmUoImNlbGwtYWN0aXZhdGUiLHttb2RlbDp0aGlzLmluc3RhbmNlfSl9fSk7UG9seW1lcih7aXM6InZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlci1jZWxsIixwcm9wZXJ0aWVzOntoZWFkZXJUZW1wbGF0ZTpPYmplY3QscmVzaXphYmxlOkJvb2xlYW4sY29sdW1uUmVzaXppbmc6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ2VsbENsaWNrQmVoYXZpb3JdLG9ic2VydmVyczpbIl9oZWFkZXJUZW1wbGF0ZUNoYW5nZWQoaGVhZGVyVGVtcGxhdGUpIiwiX2lzRW1wdHlDaGFuZ2VkKF9pc0VtcHR5LCBpc0F0dGFjaGVkKSIsCiJfcmVzaXphYmxlQ2hhbmdlZChyZXNpemFibGUpIl0sbGlzdGVuZXJzOnttb3VzZWRvd246Il9jYW5jZWxNb3VzZURvd25PblJlc2l6ZSIsbW91c2Vtb3ZlOiJfZW5hYmxlRHJhZyIsbW91c2VvdXQ6Il9kaXNhYmxlRHJhZyIsdG91Y2hzdGFydDoiX29uVG91Y2hTdGFydCIsdG91Y2htb3ZlOiJfb25Ub3VjaE1vdmUiLHRvdWNoZW5kOiJfb25Ub3VjaEVuZCIsY29udGV4dG1lbnU6Il9vbkNvbnRleHRNZW51In0sX29uQ29udGV4dE1lbnU6ZnVuY3Rpb24oZCl7dGhpcy5fcmVvcmRlckdob3N0JiZkLnByZXZlbnREZWZhdWx0KCl9LF9vblRvdWNoU3RhcnQ6ZnVuY3Rpb24oZCl7ZC50YXJnZXQhPT10aGlzLl9yZXNpemVIYW5kbGUmJnRoaXMudGFyZ2V0LmNvbHVtblJlb3JkZXJpbmdBbGxvd2VkJiYodGhpcy5fc3RhcnRSZW9yZGVyVGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX3N0YXJ0UmVvcmRlci5iaW5kKHRoaXMsZCksMTAwKSl9LF9zdGFydFJlb3JkZXI6ZnVuY3Rpb24oZCl7dGhpcy5fcmVvcmRlckdob3N0PQp0aGlzLl9nZXRHaG9zdCgpO3RoaXMuX3Jlb3JkZXJHaG9zdC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjt2YXIgZj1uZXcgQ3VzdG9tRXZlbnQoImRyYWdzdGFydCIse2J1YmJsZXM6ITB9KTt0aGlzLl9jZWxsQ29udGVudC5kaXNwYXRjaEV2ZW50KGYpO3RoaXMuX3Jlb3JkZXJYWT17eDpkLnRvdWNoZXNbMF0uY2xpZW50WC10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQseTpkLnRvdWNoZXNbMF0uY2xpZW50WS10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH07dGhpcy5fdXBkYXRlR2hvc3RQb3NpdGlvbihkLnRvdWNoZXNbMF0uY2xpZW50WCxkLnRvdWNoZXNbMF0uY2xpZW50WSl9LF9vblRvdWNoTW92ZTpmdW5jdGlvbihkKXtpZih0aGlzLl9yZW9yZGVyR2hvc3Qpe2QucHJldmVudERlZmF1bHQoKTt2YXIgZj1uZXcgQ3VzdG9tRXZlbnQoImRyYWdvdmVyIix7YnViYmxlczohMH0pO2YuY2xpZW50WD1kLnRvdWNoZXNbMF0uY2xpZW50WDtmLmNsaWVudFk9CmQudG91Y2hlc1swXS5jbGllbnRZO3ZhciBoPXRoaXMuX2NvbnRlbnRGcm9tUG9pbnQoZi5jbGllbnRYLGYuY2xpZW50WSk7aCYmaC5kaXNwYXRjaEV2ZW50KGYpO3RoaXMuX3VwZGF0ZUdob3N0UG9zaXRpb24oZC50b3VjaGVzWzBdLmNsaWVudFgsZC50b3VjaGVzWzBdLmNsaWVudFkpfWVsc2UgY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0UmVvcmRlclRpbWVvdXQpfSxfdXBkYXRlR2hvc3RQb3NpdGlvbjpmdW5jdGlvbihkLGYpe2QtPXRoaXMuX3Jlb3JkZXJYWS54O2Y9Zi10aGlzLl9yZW9yZGVyWFkueS01MDt2YXIgaD1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUubGVmdHx8MCksaz1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudG9wfHwwKSxyPXRoaXMuX3Jlb3JkZXJHaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUubGVmdD1oLShyLmxlZnQtZCkrInB4Ijt0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudG9wPQprLShyLnRvcC1mKSsicHgifSxfb25Ub3VjaEVuZDpmdW5jdGlvbihkKXtjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRSZW9yZGVyVGltZW91dCk7dGhpcy5fcmVvcmRlckdob3N0JiYoZC5wcmV2ZW50RGVmYXVsdCgpLGQ9bmV3IEN1c3RvbUV2ZW50KCJkcmFnZW5kIix7YnViYmxlczohMH0pLHRoaXMuZGlzcGF0Y2hFdmVudChkKSx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLl9yZW9yZGVyR2hvc3Q9bnVsbCl9LF9jb250ZW50RnJvbVBvaW50OmZ1bmN0aW9uKGQsZil7aWYoUG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cpe3ZhciBoPXRoaXMudGFyZ2V0LiQuc2Nyb2xsZXI7aC50b2dnbGVBdHRyaWJ1dGUoIm5vLWNvbnRlbnQtcG9pbnRlci1ldmVudHMiLCEwKTtkPXRoaXMuZG9tSG9zdC5yb290LmVsZW1lbnRGcm9tUG9pbnQoZCxmKTtoLnRvZ2dsZUF0dHJpYnV0ZSgibm8tY29udGVudC1wb2ludGVyLWV2ZW50cyIsITEpO2lmKGQmJmQuZ2V0Q29udGVudENoaWxkcmVuKXJldHVybiBkLmdldENvbnRlbnRDaGlsZHJlbihQb2x5bWVyLkVsZW1lbnQ/CiJzbG90IjoiY29udGVudCIpWzBdfWVsc2UgcmV0dXJuIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZCxmKX0sX2dldEdob3N0OmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy50YXJnZXQuJC5zY3JvbGxlci4kLnJlb3JkZXJnaG9zdDtkLmlubmVyVGV4dD10aGlzLl9jZWxsQ29udGVudC5pbm5lclRleHQ7dmFyIGY9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fY2VsbENvbnRlbnQpOyJib3hTaXppbmcgZGlzcGxheSB3aWR0aCBoZWlnaHQgYmFja2dyb3VuZCBhbGlnbkl0ZW1zIHBhZGRpbmcgYm9yZGVyIGZsZXgtZGlyZWN0aW9uIG92ZXJmbG93Ii5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oaCl7ZC5zdHlsZVtoXT1mW2hdfSx0aGlzKTtyZXR1cm4gZH0sX2VuYWJsZURyYWc6ZnVuY3Rpb24oKXt0aGlzLl9jZWxsQ29udGVudC5kcmFnZ2FibGU9dGhpcy50YXJnZXQuY29sdW1uUmVvcmRlcmluZ0FsbG93ZWQmJiF3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKX0sX2Rpc2FibGVEcmFnOmZ1bmN0aW9uKCl7dGhpcy5fY2VsbENvbnRlbnQuZHJhZ2dhYmxlPQohMX0sX2NhbmNlbE1vdXNlRG93bk9uUmVzaXplOmZ1bmN0aW9uKGQpe2QudGFyZ2V0PT09dGhpcy5fcmVzaXplSGFuZGxlJiZkLnByZXZlbnREZWZhdWx0KCl9LF9yZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGQpe2Q/KHRoaXMuX3Jlc2l6ZUhhbmRsZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yZXNpemVIYW5kbGUuY2xhc3NMaXN0LmFkZCgidmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGUiKSx0aGlzLmxpc3Rlbih0aGlzLl9yZXNpemVIYW5kbGUsInRyYWNrIiwiX29uVHJhY2siKSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZCh0aGlzLl9yZXNpemVIYW5kbGUpKTp0aGlzLl9yZXNpemVIYW5kbGUmJih0aGlzLnVubGlzdGVuKHRoaXMuX3Jlc2l6ZUhhbmRsZSwidHJhY2siLCJfb25UcmFjayIpLFBvbHltZXIuZG9tKHRoaXMpLnJlbW92ZUNoaWxkKHRoaXMuX3Jlc2l6ZUhhbmRsZSkpfSxfb25UcmFjazpmdW5jdGlvbihkKXt0aGlzLmNvbHVtblJlc2l6aW5nPQohMDt2YXIgZj10aGlzLmNvbHVtbjsidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWYubG9jYWxOYW1lJiYoZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmLl9jaGlsZENvbHVtbnMsMCkuc29ydChmdW5jdGlvbihyLGwpe3JldHVybiByLl9vcmRlci1sLl9vcmRlcn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hci5oaWRkZW59KS5wb3AoKSk7dmFyIGg9dGhpcy5fZ2V0SGVhZGVyQ2VsbEJ5Q29sdW1uKGYpO2lmKGgub2Zmc2V0V2lkdGgpe3ZhciBrPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGguX2NlbGxDb250ZW50KTtmLndpZHRoPU1hdGgubWF4KDEwK3BhcnNlSW50KGsucGFkZGluZ0xlZnQpK3BhcnNlSW50KGsucGFkZGluZ1JpZ2h0KSxoLm9mZnNldFdpZHRoK2QuZGV0YWlsLngtaC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCkrInB4IjtmLmZsZXhHcm93PTB9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUG9seW1lci5kb20odGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoIi52YWFkaW4tZ3JpZC1yb3c6bGFzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCIpKS5zb3J0KGZ1bmN0aW9uKHIsCmwpe3JldHVybiByLmNvbHVtbi5fb3JkZXItbC5jb2x1bW4uX29yZGVyfSkuZm9yRWFjaChmdW5jdGlvbihyLGwscCl7bDxwLmluZGV4T2YoaCkmJihyLmNvbHVtbi53aWR0aD1yLm9mZnNldFdpZHRoKyJweCIsci5jb2x1bW4uZmxleEdyb3c9MCl9KTt0aGlzLmNvbHVtblJlc2l6aW5nJiYiZW5kIj09PWQuZGV0YWlsLnN0YXRlJiYodGhpcy5jb2x1bW5SZXNpemluZz0hMSk7dGhpcy5maXJlKCJjb2x1bW4tcmVzaXppbmciKX0sX2dldEhlYWRlckNlbGxCeUNvbHVtbjpmdW5jdGlvbihkKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKFBvbHltZXIuZG9tKHRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtcm93Omxhc3QtY2hpbGQgLnZhYWRpbi1ncmlkLWNlbGwiKSxmdW5jdGlvbihmKXtyZXR1cm4gZi5jb2x1bW49PT1kfSlbMF19LF9oZWFkZXJUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oZCl7dm9pZCAwIT09CmQmJihudWxsPT09ZHx8IXRoaXMuX2lzQ29sdW1uUm93JiYidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiE9PXRoaXMuY29sdW1uLmxvY2FsTmFtZT8odGhpcy5pbnN0YW5jZT17cm9vdDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX0sdGhpcy5faXNFbXB0eT0hMCk6KHRoaXMuaW5zdGFuY2U9ZC50ZW1wbGF0aXplci5jcmVhdGVJbnN0YW5jZSgpLHRoaXMuX3RlbXBsYXRpemVyPWQudGVtcGxhdGl6ZXIsdGhpcy5faXNFbXB0eT0hMSkpfSxfaXNFbXB0eUNoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtmJiZ0aGlzLmZpcmUoImNlbGwtZW1wdHktY2hhbmdlZCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItY2VsbCIscHJvcGVydGllczp7Zm9vdGVyVGVtcGxhdGU6T2JqZWN0fSxiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ2VsbENsaWNrQmVoYXZpb3JdLG9ic2VydmVyczpbIl9mb290ZXJUZW1wbGF0ZUNoYW5nZWQoZm9vdGVyVGVtcGxhdGUpIiwKIl9pc0VtcHR5Q2hhbmdlZChfaXNFbXB0eSwgaXNBdHRhY2hlZCkiXSxfZm9vdGVyVGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGQpe3ZvaWQgMCE9PWQmJihudWxsPT09ZHx8IXRoaXMuX2lzQ29sdW1uUm93JiYidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiE9PXRoaXMuY29sdW1uLmxvY2FsTmFtZT8odGhpcy5pbnN0YW5jZT17cm9vdDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX0sdGhpcy5faXNFbXB0eT0hMCk6KHRoaXMuaW5zdGFuY2U9ZC50ZW1wbGF0aXplci5jcmVhdGVJbnN0YW5jZSgpLHRoaXMuX3RlbXBsYXRpemVyPWQudGVtcGxhdGl6ZXIsdGhpcy5faXNFbXB0eT0hMSkpfSxfaXNFbXB0eUNoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtmJiZ0aGlzLmZpcmUoImNlbGwtZW1wdHktY2hhbmdlZCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC1zaXplci1jZWxsIixiZWhhdmlvcnM6W2JdfSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXNpemVyLmh0bWwuanMKUG9seW1lcih7aXM6InZhYWRpbi1ncmlkLXNpemVyIixwcm9wZXJ0aWVzOntjb2x1bW5UcmVlOkFycmF5LHRvcDpOdW1iZXIsX2NvbHVtbnM6QXJyYXl9LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlKSIsIl90b3BDaGFuZ2VkKHRvcCkiXSxfY29sdW1uVHJlZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fY29sdW1ucz1iW2IubGVuZ3RoLTFdfSxfdG9wQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLnN0eWxlLnRvcD1iKyJweCJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIiLHByb3BlcnRpZXM6e3Njcm9sbFRhcmdldDp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9zY3JvbGxUYXJnZXRDaGFuZ2VkIn0scGFzc3Rocm91Z2g6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITB9fSxsaXN0ZW5lcnM6e3Njcm9sbDoiX3N5bmNTY3JvbGxUYXJnZXQifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMubGlzdGVuKHRoaXMuZG9tSG9zdCwibW91c2Vtb3ZlIiwiX29uTW91c2VNb3ZlIik7dGhpcy5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz0idG91Y2gifSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMudW5saXN0ZW4odGhpcy5kb21Ib3N0LCJtb3VzZW1vdmUiLCJfb25Nb3VzZU1vdmUiKX0sX3Njcm9sbFRhcmdldENoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiZ0aGlzLnVubGlzdGVuKGQsInNjcm9sbCIsIl9zeW5jT3V0ZXJTY3JvbGxlciIpO3RoaXMubGlzdGVuKGIsCiJzY3JvbGwiLCJfc3luY091dGVyU2Nyb2xsZXIiKX0sX29uTW91c2VNb3ZlOmZ1bmN0aW9uKGIpe3RoaXMucGFzc3Rocm91Z2g9Yi5vZmZzZXRZPD10aGlzLmNsaWVudEhlaWdodCYmYi5vZmZzZXRYPD10aGlzLmNsaWVudFdpZHRofSxfc3luY091dGVyU2Nyb2xsZXI6ZnVuY3Rpb24oKXt0aGlzLl9zeW5jaW5nU2Nyb2xsVGFyZ2V0fHwodGhpcy5fc3luY2luZ091dGVyU2Nyb2xsZXI9ITAsdGhpcy5zY3JvbGxUb3A9dGhpcy5kb21Ib3N0Ll9zY3JvbGxUb3AsdGhpcy5zY3JvbGxMZWZ0PXRoaXMuZG9tSG9zdC5fc2Nyb2xsTGVmdCk7dGhpcy5fc3luY2luZ1Njcm9sbFRhcmdldD0hMX0sX3N5bmNTY3JvbGxUYXJnZXQ6ZnVuY3Rpb24oKXt0aGlzLl9zeW5jaW5nT3V0ZXJTY3JvbGxlcnx8KHRoaXMuX3N5bmNpbmdTY3JvbGxUYXJnZXQ9ITAsdGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9dGhpcy5zY3JvbGxMZWZ0LAp0aGlzLmRvbUhvc3QuX3Njcm9sbEhhbmRsZXIoKSk7dGhpcy5fc3luY2luZ091dGVyU2Nyb2xsZXI9ITF9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtZm9jdXMtdHJhcC5odG1sLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb2N1cy10cmFwIixob3N0QXR0cmlidXRlczp7cm9sZToiZ3JpZGNlbGwifSxwcm9wZXJ0aWVzOnthY3RpdmVUYXJnZXQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWN0aXZlVGFyZ2V0Q2hhbmdlZCJ9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3ByaW1hcnk9UG9seW1lci5kb20odGhpcy5yb290KS5xdWVyeVNlbGVjdG9yKCIucHJpbWFyeSIpO3RoaXMuX3NlY29uZGFyeT1Qb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3IoIi5zZWNvbmRhcnkiKTtpZihQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZVNoYWRvd3x8UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cpUG9seW1lci5kb20odGhpcykuYXBwZW5kQ2hpbGQodGhpcy5fc2Vjb25kYXJ5KSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZCh0aGlzLl9wcmltYXJ5KX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkIT09dGhpcy5fcHJpbWFyeT90aGlzLl9wcmltYXJ5LmZvY3VzKCk6CnRoaXMuX3NlY29uZGFyeS5mb2N1cygpfSxfb25CYWl0Rm9jdXM6ZnVuY3Rpb24oYil7dGhpcy5fZm9jdXNlZD1iLnRhcmdldDt0aGlzLl9tb3ZpbmdGb2N1c0ludGVybmFsbHl8fCh0aGlzLmZpcmUoImZvY3VzLWdhaW5lZCIpLHRoaXMuX3ByaW1hcnkudGFiSW5kZXg9LTEpfSxfb25CYWl0Qmx1cjpmdW5jdGlvbigpe3RoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseXx8KHRoaXMuZmlyZSgiZm9jdXMtbG9zdCIpLHRoaXMuX3ByaW1hcnkudGFiSW5kZXg9MCl9LF9hY3RpdmVUYXJnZXRDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseT0hMDt0aGlzLl9mb2N1c2VkPT09dGhpcy5fcHJpbWFyeT8odGhpcy5fc2Vjb25kYXJ5LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5IixiKSx0aGlzLl9zZWNvbmRhcnkuZm9jdXMoKSk6KHRoaXMuX3ByaW1hcnkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLGIpLHRoaXMuX3ByaW1hcnkuZm9jdXMoKSk7CnRoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseT0hMX0sX3JlYW5ub3VuY2U6ZnVuY3Rpb24oKXt0aGlzLl9tb3ZpbmdGb2N1c0ludGVybmFsbHk9ITA7dGhpcy5fZm9jdXNlZD09PXRoaXMuX3ByaW1hcnk/KHRoaXMuX3NlY29uZGFyeS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5hY3RpdmVUYXJnZXQpLHRoaXMuX3NlY29uZGFyeS5mb2N1cygpKToodGhpcy5fcHJpbWFyeS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5hY3RpdmVUYXJnZXQpLHRoaXMuX3ByaW1hcnkuZm9jdXMoKSk7dGhpcy5fbW92aW5nRm9jdXNJbnRlcm5hbGx5PSExfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXRhYmxlLXJvdy5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPXtwcm9wZXJ0aWVzOnthY3RpdmU6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LGNvbHVtbnM6QXJyYXksaW5kZXg6TnVtYmVyLGNlbGxzOnt2YWx1ZTpbXX0sdGFyZ2V0Ok9iamVjdCxleHBhbmRlZDp7dmFsdWU6ITF9LGZvY3VzZWQ6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGl0ZW06T2JqZWN0LHNlbGVjdGVkOntyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF9yb3dEZXRhaWxzQ2VsbDpPYmplY3Qscm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdH0sb2JzZXJ2ZXJzOiJfY29sdW1uc0NoYW5nZWQoY29sdW1ucywgdGFyZ2V0KTtfaW5kZXhDaGFuZ2VkKGluZGV4LCBjZWxscyk7X2l0ZW1DaGFuZ2VkKGl0ZW0sIGNlbGxzKTtfaXRlbUNoYW5nZWRGb3JEZXRhaWxzKGl0ZW0sIF9yb3dEZXRhaWxzQ2VsbCk7X3Jvd0RldGFpbHNDaGFuZ2VkKGV4cGFuZGVkLCByb3dEZXRhaWxzVGVtcGxhdGUsIHRhcmdldCk7X3Jvd0RldGFpbHNDZWxsSW5kZXhDaGFuZ2VkKF9yb3dEZXRhaWxzQ2VsbCwgaW5kZXgpO19yb3dEZXRhaWxzQ2VsbENoYW5nZWQoX3Jvd0RldGFpbHNDZWxsLCB0YXJnZXQpO19zZWxlY3RlZENoYW5nZWQoc2VsZWN0ZWQsIGNlbGxzKTtfc2VsZWN0ZWRDaGFuZ2VkRm9yRGV0YWlscyhzZWxlY3RlZCwgX3Jvd0RldGFpbHNDZWxsKSIuc3BsaXQoIjsiKSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC5hZGQoInZhYWRpbi1ncmlkLXJvdyIpOyExPT09UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cmJih0aGlzLmNsYXNzTGlzdC5hZGQoInN0eWxlLXNjb3BlIiksdGhpcy5jbGFzc0xpc3QuYWRkKCJ2YWFkaW4tZ3JpZCIpKX0saXRlcmF0ZUNlbGxzOmZ1bmN0aW9uKGQpe3RoaXMuY2VsbHMuZm9yRWFjaChkKTt0aGlzLl9yb3dEZXRhaWxzQ2VsbCYmZCh0aGlzLl9yb3dEZXRhaWxzQ2VsbCl9LF9yb3dEZXRhaWxzQ2hhbmdlZDpmdW5jdGlvbihkLGYsaCl7aWYodm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmdm9pZCAwIT09aCl7aWYoZCl7dmFyIGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtY2VsbCIpO2suc2V0QXR0cmlidXRlKCJkZXRhaWxzY2VsbCIsITApO2suZnJvemVuPSEwO2sudGFyZ2V0PWg7ay50ZW1wbGF0ZT1mO2sudG9nZ2xlQXR0cmlidXRlKCJsYXN0Y29sdW1uIiwhMCk7UG9seW1lci5kb20odGhpcy5yb290KS5hcHBlbmRDaGlsZChrKTsKUG9seW1lci5kb20uZmx1c2goKTt0aGlzLl9yb3dEZXRhaWxzQ2VsbD1rfWVsc2UgdGhpcy5fcm93RGV0YWlsc0NlbGwmJihQb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0RldGFpbHNDZWxsKSx0aGlzLl9yb3dEZXRhaWxzQ2VsbD1udWxsKTt0aGlzLml0ZXJhdGVDZWxscyhmdW5jdGlvbihyKXtyLmV4cGFuZGVkPWR9KTt0aGlzLnRhcmdldC4kLnNjcm9sbGVyLl9mcm96ZW5DZWxsc0NoYW5nZWQoKX19LF91cGRhdGVSb3dWaXNpYmlsaXR5OmZ1bmN0aW9uKCl7dGhpcy5oaWRkZW49dGhpcy5jZWxscy5ldmVyeShmdW5jdGlvbihkKXtyZXR1cm4gZC5faXNFbXB0eX0pfSxfcm93RGV0YWlsc0NlbGxDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmZi4kLnNjcm9sbGVyLl91cGRhdGUoKX0sX3Jvd0RldGFpbHNDZWxsSW5kZXhDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGQ/KGQuaW5kZXg9CmYsUG9seW1lci5kb20uZmx1c2goKSx0aGlzLnVwZGF0ZVJvd0RldGFpbHNDZWxsTWV0cmljcygpKTp0aGlzLnN0eWxlLnBhZGRpbmdCb3R0b209IiIpfSx1cGRhdGVSb3dEZXRhaWxzQ2VsbE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9yb3dEZXRhaWxzQ2VsbCYmKHRoaXMudGFyZ2V0JiZ0aGlzLnRhcmdldC5fb2JzZXJ2ZXImJnRoaXMudGFyZ2V0Ll9vYnNlcnZlci5mbHVzaCYmdGhpcy50YXJnZXQuX29ic2VydmVyLmZsdXNoKCksdGhpcy5fcm93RGV0YWlsc0NlbGwuc3R5bGUuaGVpZ2h0PSIiLHRoaXMuc3R5bGUucGFkZGluZ0JvdHRvbT10aGlzLl9yb3dEZXRhaWxzQ2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fcm93RGV0YWlsc0NlbGwuY2xpZW50SGVpZ2h0KyJweCIpfSxfY29sdW1uc0NoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtpZih2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mKXtQb2x5bWVyLmRvbSh0aGlzKS5pbm5lckhUTUw9IiI7dmFyIGg9W107ZC5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciByPQoiXyIrdGhpcy5pcy5yZXBsYWNlKC8tL2csIl8iKSsiX2NlbGxzIjtyPWtbcl09a1tyXXx8W107dmFyIGw9ci5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIVBvbHltZXIuZG9tKG0pLnBhcmVudE5vZGV9KVswXTtpZighbCl7bD10aGlzLl9jcmVhdGVDZWxsKCk7dmFyIHA9QXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh0aGlzLnRhcmdldC5xdWVyeVNlbGVjdG9yQWxsKCJkb20tcmVwZWF0IiksZnVuY3Rpb24obSl7cmV0dXJuIW0ucmVzdGFtcH0pOyhwPXB8fCJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93Ij09PXRoaXMuaXN8fCJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItcm93Ij09PXRoaXMuaXMpfHxyLnB1c2gobCl9bC5pbmRleD10aGlzLmluZGV4O2wudGFyZ2V0PXRoaXMudGFyZ2V0O2wuX2lzQ29sdW1uUm93PXRoaXMuX2lzQ29sdW1uUm93O2wuY29sdW1uPWs7bC5leHBhbmRlZD10aGlzLmV4cGFuZGVkO1BvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGwpO2gucHVzaChsKX0uYmluZCh0aGlzKSk7CnRoaXMuY2VsbHM9aH19LF9pbmRleENoYW5nZWQ6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZmLmZvckVhY2goZnVuY3Rpb24oaCl7aC5pbmRleD1kfSl9LF9pdGVtQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJmYuZm9yRWFjaChmdW5jdGlvbihoKXtoLml0ZW09ZH0pfSxfaXRlbUNoYW5nZWRGb3JEZXRhaWxzOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmZiYmKGYuaXRlbT1kKX0sX3NlbGVjdGVkQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJmYuZm9yRWFjaChmdW5jdGlvbihoKXtoLnNlbGVjdGVkPWR9KX0sX3NlbGVjdGVkQ2hhbmdlZEZvckRldGFpbHM6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZmJiYoZi5zZWxlY3RlZD1kKX0sdXBkYXRlTGFzdENvbHVtbjpmdW5jdGlvbigpe3RoaXMuY2VsbHMuc2xpY2UoMCkuc29ydChmdW5jdGlvbihkLApmKXtyZXR1cm4gZC5jb2x1bW4uX29yZGVyLWYuY29sdW1uLl9vcmRlcn0pLmZvckVhY2goZnVuY3Rpb24oZCxmLGgpe2QudG9nZ2xlQXR0cmlidXRlKCJsYXN0Y29sdW1uIixmPT09aC5sZW5ndGgtMSl9KX19O1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1yb3ciLGJlaGF2aW9yczpbYl0sX2NyZWF0ZUNlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtY2VsbCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93IixiZWhhdmlvcnM6W2JdLG9ic2VydmVyczpbIl91cGRhdGVSb3dWaXNpYmlsaXR5KGNvbHVtbnMpIl0sbGlzdGVuZXJzOnsiY2VsbC1lbXB0eS1jaGFuZ2VkIjoiX3VwZGF0ZVJvd1Zpc2liaWxpdHkifSxfY3JlYXRlQ2VsbDpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItY2VsbCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItcm93IiwKYmVoYXZpb3JzOltiXSxvYnNlcnZlcnM6WyJfdXBkYXRlUm93VmlzaWJpbGl0eShjb2x1bW5zKSJdLGxpc3RlbmVyczp7ImNlbGwtZW1wdHktY2hhbmdlZCI6Il91cGRhdGVSb3dWaXNpYmlsaXR5In0sX2NyZWF0ZUNlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtZm9vdGVyLWNlbGwiKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtcm93LWRldGFpbHMtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuUm93RGV0YWlsc0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntleHBhbmRlZEl0ZW1zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsidGVtcGxhdGUtaW5zdGFuY2UtY2hhbmdlZCI6Il90ZW1wbGF0ZUluc3RhbmNlQ2hhbmdlZEV4cGFuZGVkIn0sb2JzZXJ2ZXJzOlsiX2V4cGFuZGVkSXRlbXNDaGFuZ2VkKGV4cGFuZGVkSXRlbXMuKiwgZGF0YVByb3ZpZGVyKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVDaGFuZ2VkKF9yb3dEZXRhaWxzVGVtcGxhdGUpIl0sX2V4cGFuZGVkSXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmKHRoaXMuX2ZsdXNoSXRlbXNEZWJvdW5jZXIoKSx0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMmJnRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuZXhwYW5kZWQ9dGhpcy5faXNFeHBhbmRlZChmLml0ZW0pfS5iaW5kKHRoaXMpKSl9LApfcm93RGV0YWlsc1RlbXBsYXRlQ2hhbmdlZDpmdW5jdGlvbihiKXt2YXIgZD1uZXcgdmFhZGluLmVsZW1lbnRzLmdyaWQuVGVtcGxhdGl6ZXI7ZC5kYXRhSG9zdD10aGlzLmRhdGFIb3N0O2QuX2luc3RhbmNlUHJvcHM9e2V4cGFuZGVkOiEwLGluZGV4OiEwLGl0ZW06ITAsc2VsZWN0ZWQ6ITB9O1BvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQoZCk7ZC50ZW1wbGF0ZT1iO2IudGVtcGxhdGl6ZXI9ZH0sX2lzRXhwYW5kZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZXhwYW5kZWRJdGVtcyYmLTEhPT10aGlzLmV4cGFuZGVkSXRlbXMuaW5kZXhPZihiKX0sZXhwYW5kSXRlbTpmdW5jdGlvbihiKXt0aGlzLl9pc0V4cGFuZGVkKGIpfHx0aGlzLnB1c2goImV4cGFuZGVkSXRlbXMiLGIpfSxjb2xsYXBzZUl0ZW06ZnVuY3Rpb24oYil7dGhpcy5faXNFeHBhbmRlZChiKSYmdGhpcy5zcGxpY2UoImV4cGFuZGVkSXRlbXMiLHRoaXMuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGIpLDEpfSwKX3RlbXBsYXRlSW5zdGFuY2VDaGFuZ2VkRXhwYW5kZWQ6ZnVuY3Rpb24oYil7ImV4cGFuZGVkIj09PWIuZGV0YWlsLnByb3AmJihiLmRldGFpbC52YWx1ZT90aGlzLmV4cGFuZEl0ZW0oYi5kZXRhaWwuaW5zdC5pdGVtKTp0aGlzLmNvbGxhcHNlSXRlbShiLmRldGFpbC5pbnN0Lml0ZW0pLGIuc3RvcFByb3BhZ2F0aW9uKCkpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZGF0YS1wcm92aWRlci1iZWhhdmlvci5odG1sLmpzCndpbmRvdy52YWFkaW49d2luZG93LnZhYWRpbnx8e307dmFhZGluLmVsZW1lbnRzPXZhYWRpbi5lbGVtZW50c3x8e307dmFhZGluLmVsZW1lbnRzLmdyaWQ9dmFhZGluLmVsZW1lbnRzLmdyaWR8fHt9Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5EYXRhUHJvdmlkZXJCZWhhdmlvcj17bGlzdGVuZXJzOnsiaXRlbS1jaGFuZ2VkIjoiX3RlbXBsYXRlSXRlbUNoYW5nZWQifSxwcm9wZXJ0aWVzOntwYWdlU2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6NTAsb2JzZXJ2ZXI6Il9wYWdlU2l6ZUNoYW5nZWQifSxkYXRhUHJvdmlkZXI6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2RhdGFQcm92aWRlckNoYW5nZWQifSxfbG9hZGluZzpCb29sZWFuLF9jYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19LF9wZW5kaW5nUmVxdWVzdHM6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sX3RlbXBsYXRlSXRlbUNoYW5nZWQ6ZnVuY3Rpb24oYil7dmFyIGQ9Yi5kZXRhaWwuaXRlbTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFBvbHltZXIuZG9tKHRoaXMuJC5pdGVtcykuY2hpbGRyZW4sZnVuY3Rpb24oZil7Zi5pdGVtPT09ZCYmZi5pdGVyYXRlQ2VsbHMoZnVuY3Rpb24oaCl7aC5fdGVtcGxhdGl6ZXIuX3N1cHByZXNzSXRlbUNoYW5nZUV2ZW50PQohMDtoLmluc3RhbmNlLm5vdGlmeVBhdGgoIml0ZW0uIitiLmRldGFpbC5wYXRoLGIuZGV0YWlsLnZhbHVlKTtoLl90ZW1wbGF0aXplci5fc3VwcHJlc3NJdGVtQ2hhbmdlRXZlbnQ9ITF9KX0pfSxfZ2V0Q2FjaGVkSXRlbTpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9nZXRQYWdlRm9ySW5kZXgoYiksZj10aGlzLl9jYWNoZSYmdGhpcy5fY2FjaGVbZF07cmV0dXJuIGY/ZltiLWQqdGhpcy5wYWdlU2l6ZV06bnVsbH0sX2dldEl0ZW06ZnVuY3Rpb24oYixkKXt0aGlzLl91cGRhdGVJdGVtKGQsdGhpcy5fZ2V0Q2FjaGVkSXRlbShiKSk7dGhpcy5fZWFnZXJseUxvYWRQYWdlcygpO3ZhciBmPXRoaXMuX3VuY2FjaGVkUGFnZXNGb3JQaHlzaWNhbEl0ZW1zKCk7MDxmLmxlbmd0aCYmKHRoaXMuX2xvYWRpbmc9ITAsdGhpcy5kZWJvdW5jZSgibG9hZCIsZnVuY3Rpb24oKXtmLmZvckVhY2goZnVuY3Rpb24oaCl7dGhpcy5fbG9hZFBhZ2UoaCl9LmJpbmQodGhpcykpfSwxMDApKX0sX2NhY2hlZFBhZ2VzRm9yUGh5c2ljYWxJdGVtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYWdlc0ZvclBoeXNpY2FsSXRlbXMoKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHZvaWQgMCE9PQp0aGlzLl9jYWNoZSYmdm9pZCAwIT09dGhpcy5fY2FjaGVbYl19LmJpbmQodGhpcykpfSxfdW5jYWNoZWRQYWdlc0ZvclBoeXNpY2FsSXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGFnZXNGb3JQaHlzaWNhbEl0ZW1zKCkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiB2b2lkIDAhPT10aGlzLl9jYWNoZSYmdm9pZCAwPT09dGhpcy5fY2FjaGVbYl19LmJpbmQodGhpcykpfSxfZWFnZXJseUxvYWRQYWdlczpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NhY2hlZFBhZ2VzRm9yUGh5c2ljYWxJdGVtcygpLnNsaWNlKDApO2lmKDA8Yi5sZW5ndGgpe2Iuc29ydChmdW5jdGlvbihmLGgpe3JldHVybiBmPmh9KTt2YXIgZD1NYXRoLm1pbihiW2IubGVuZ3RoLTFdKzEsTWF0aC5tYXgoMCxNYXRoLmZsb29yKHRoaXMuc2l6ZS90aGlzLnBhZ2VTaXplKS0xKSk7dGhpcy5fbG9hZFBhZ2UoTWF0aC5tYXgoMCxiWzBdLTEpKTt0aGlzLl9sb2FkUGFnZShkKX19LF9wYWdlc0ZvclBoeXNpY2FsSXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5fZ2V0UGFnZUZvckluZGV4KHRoaXMuJC5zY3JvbGxlci5maXJzdFZpc2libGVJbmRleCsKdGhpcy4kLnNjcm9sbGVyLl92aWR4T2Zmc2V0KV0uY29uY2F0KHRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxJdGVtcy5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXh9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuX2dldFBhZ2VGb3JJbmRleChiLmluZGV4KX0uYmluZCh0aGlzKSkpLnJlZHVjZShmdW5jdGlvbihiLGQpey0xPT09Yi5pbmRleE9mKGQpJiZiLnB1c2goZCk7cmV0dXJuIGJ9LFtdKX0sX3VwZGF0ZUl0ZW1zOmZ1bmN0aW9uKGIsZCl7Zm9yKHZhciBmPTA7Zjx0aGlzLnBhZ2VTaXplO2YrKyl7dmFyIGg9dGhpcy4kLnNjcm9sbGVyLl92aXJ0dWFsSW5kZXhUb0l0ZW1bYip0aGlzLnBhZ2VTaXplK2ZdO2gmJih0aGlzLl91cGRhdGVJdGVtKGgsZFtmXSksdGhpcy5kZWJvdW5jZSgidXBkYXRlLWhlaWdodHMiLGZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLl91cGRhdGVNZXRyaWNzKCk7dGhpcy4kLnNjcm9sbGVyLl9wb3NpdGlvbkl0ZW1zKCk7dGhpcy4kLnNjcm9sbGVyLl91cGRhdGVTY3JvbGxlclNpemUoKX0sCjEpKX19LF9sb2FkUGFnZTpmdW5jdGlvbihiLGQpe2Q9ZHx8dGhpcy5fdXBkYXRlSXRlbXMuYmluZCh0aGlzKTtpZighdGhpcy5fY2FjaGVbYl0mJiF0aGlzLl9wZW5kaW5nUmVxdWVzdHNbYl0mJnRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLl9wZW5kaW5nUmVxdWVzdHNbYl09ITA7dmFyIGY9e3BhZ2U6YixwYWdlU2l6ZTp0aGlzLnBhZ2VTaXplLHNvcnRPcmRlcnM6dGhpcy5fbWFwU29ydGVycygpLGZpbHRlcnM6dGhpcy5fbWFwRmlsdGVycygpfTt0aGlzLmRhdGFQcm92aWRlcihmLGZ1bmN0aW9uKGgpe3RoaXMuX2NhY2hlW2JdPWg7ZGVsZXRlIHRoaXMuX3BlbmRpbmdSZXF1ZXN0c1tiXTtkKGIsaCk7dGhpcy5fbG9hZGluZz0wPHRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5sZW5ndGg7dGhpcy5kZWJvdW5jZSgiY2hlY2stc2l6ZSIsdGhpcy5fY2hlY2tTaXplLDJFMyl9LmJpbmQodGhpcykpfX0sX2dldFBhZ2VGb3JJbmRleDpmdW5jdGlvbihiKXtyZXR1cm4gTWF0aC5mbG9vcihiL3RoaXMucGFnZVNpemUpfSwKY2xlYXJDYWNoZTpmdW5jdGlvbigpe3RoaXMuX2NhY2hlPXt9O3RoaXMuX3BlbmRpbmdSZXF1ZXN0cz17fTt0aGlzLiQuc2Nyb2xsZXIuaGFzRGF0YSYmdGhpcy4kLnNjcm9sbGVyLl91cGRhdGUoKTt0aGlzLl9mbHVzaEl0ZW1zRGVib3VuY2VyKCl9LF9mbHVzaEl0ZW1zRGVib3VuY2VyOmZ1bmN0aW9uKCl7dGhpcy5mbHVzaERlYm91bmNlcigibG9hZCIpfSxfcGFnZVNpemVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09ZCYmYiE9PWQmJnRoaXMuY2xlYXJDYWNoZSgpfSxfY2hlY2tTaXplOmZ1bmN0aW9uKCl7dm9pZCAwPT09dGhpcy5zaXplJiZjb25zb2xlLndhcm4oJ1RoZSBceDNjdmFhZGluLWdyaWRceDNlIG5lZWRzIGEgdmFsdWUgZm9yICJzaXplIiBwcm9wZXJ0eSBpbiBvcmRlciB0byBkaXNwbGF5IHJvd3MuJyl9LF9kYXRhUHJvdmlkZXJDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09ZCYmdGhpcy5jbGVhckNhY2hlKCk7dGhpcy4kLnNjcm9sbGVyLmhhc0RhdGF8fAoodGhpcy5fbG9hZGluZz0hMCx0aGlzLl9sb2FkUGFnZSgwLGZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLmhhc0RhdGE9ITB9LmJpbmQodGhpcykpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWtleWJvYXJkLW5hdmlnYXRpb24tYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVLZXlib2FyZEJlaGF2aW9ySW1wbD17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImFwcGxpY2F0aW9uIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7ImN0cmwraG9tZSI6Il9vbkN0cmxIb21lIiwiY3RybCtlbmQiOiJfb25DdHJsRW5kIixkb3duOiJfb25BcnJvd0Rvd24iLGVuZDoiX29uRW5kIixlbnRlcjoiX29uRW50ZXIiLGVzYzoiX29uRXNjYXBlIixmMjoiX29uRjIiLGhvbWU6Il9vbkhvbWUiLGxlZnQ6Il9vbkFycm93TGVmdCIscGFnZWRvd246Il9vblBhZ2VEb3duIixwYWdldXA6Il9vblBhZ2VVcCIscmlnaHQ6Il9vbkFycm93UmlnaHQiLHNwYWNlOiJfb25TcGFjZSIsdGFiOiJfb25UYWIiLHVwOiJfb25BcnJvd1VwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLnJlcXVlc3RBdmFpbGFiaWxpdHkoKX0scHJvcGVydGllczp7X3ZpcnR1YWxGb2N1czp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il92aXJ0dWFsRm9jdXNDaGFuZ2VkIn0sCmludGVyYWN0aW5nOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfSxuYXZpZ2F0aW5nOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfX0sbGlzdGVuZXJzOntmb2N1czoiX29uRm9jdXMiLCJjZWxsLWZvY3VzIjoiX29uQ2VsbEZvY3VzIiwiY2VsbC1jb250ZW50LWZvY3VzIjoiX29uQ2VsbENvbnRlbnRGb2N1cyJ9LHJlYWR5OmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7OT09PWIua2V5Q29kZSYmKHRoaXMuX3RhYmJlZD0hMCk7OT09PWIua2V5Q29kZSYmYi5zaGlmdEtleSYmKHRoaXMuX3NoaWZ0VGFiYmVkPSEwKX0uYmluZCh0aGlzKSwhMCk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLGZ1bmN0aW9uKGIpezk9PT1iLmtleUNvZGUmJih0aGlzLl90YWJiZWQ9ITEpOzk9PT1iLmtleUNvZGUmJmIuc2hpZnRLZXkmJih0aGlzLl9zaGlmdFRhYmJlZD0KITEpfS5iaW5kKHRoaXMpLCEwKX0sX2lzRm9vdGVyVmlzaWJsZTpmdW5jdGlvbigpe3JldHVybiAwPHRoaXMuJC5mb290ZXIuX3Jvd3MuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiFiLmhpZGRlbn0pLmxlbmd0aH0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl90YWJiZWQmJiF0aGlzLl9zaGlmdFRhYmJlZCYmdGhpcy5fYWN0aXZhdGVOYXZpZ2F0aW9uKCl9LF9hY3RpdmF0ZU5hdmlnYXRpb246ZnVuY3Rpb24oKXt0aGlzLiQuZm9vdGVyRm9jdXNUcmFwLmZvY3VzKCl9LF9vbkZvY3Vzb3V0OmZ1bmN0aW9uKCl7dGhpcy5pbnRlcmFjdGluZz10aGlzLm5hdmlnYXRpbmc9ITF9LF9vbkZvb3RlckZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0aW5nPSEwO3RoaXMuaW50ZXJhY3Rpbmc9ITE7dGhpcy5fdmlydHVhbEZvY3VzPXRoaXMuX3ZpcnR1YWxGb2N1c3x8KHRoaXMuX3NoaWZ0VGFiYmVkP3RoaXMuX2lzRm9vdGVyVmlzaWJsZSgpP3RoaXMuJC5mb290ZXI6dGhpcy4kLml0ZW1zOgp0aGlzLiQuaGVhZGVyKX0sX3ZpcnR1YWxGb2N1c0NoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiYoZC5mb2N1c2VkPSExKTtiJiYoYi5fZm9jdXNlZENlbGxJbmRleD1iLl9mb2N1c2VkQ2VsbEluZGV4fHwwLGIuX2ZvY3VzZWRSb3dJbmRleD1iLl9mb2N1c2VkUm93SW5kZXh8fDAsYi5mb2N1c2VkPSEwLGI9PT10aGlzLiQuaXRlbXMmJnRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vblRhYjpmdW5jdGlvbihiKXtpZighdGhpcy5pbnRlcmFjdGluZyYmdGhpcy5fdmlydHVhbEZvY3VzKWlmKHRoaXMubmF2aWdhdGluZylpZihiLmRldGFpbC5rZXlib2FyZEV2ZW50LnNoaWZ0S2V5KXN3aXRjaCh0aGlzLl92aXJ0dWFsRm9jdXMpe2Nhc2UgdGhpcy4kLmZvb3Rlcjp0aGlzLl92aXJ0dWFsRm9jdXM9dGhpcy4kLml0ZW1zO2IucHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIHRoaXMuJC5pdGVtczp0aGlzLl92aXJ0dWFsRm9jdXM9dGhpcy4kLmhlYWRlcjtiLnByZXZlbnREZWZhdWx0KCk7CmJyZWFrO2Nhc2UgdGhpcy4kLmhlYWRlcjp0aGlzLmZvY3VzKCksdGhpcy5fdmlydHVhbEZvY3VzPW51bGx9ZWxzZSBzd2l0Y2godGhpcy5fdmlydHVhbEZvY3VzKXtjYXNlIHRoaXMuJC5oZWFkZXI6dGhpcy5fdmlydHVhbEZvY3VzPXRoaXMuJC5pdGVtcztiLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSB0aGlzLiQuaXRlbXM6dGhpcy5faXNGb290ZXJWaXNpYmxlKCk/KHRoaXMuX3ZpcnR1YWxGb2N1cz10aGlzLiQuZm9vdGVyLGIucHJldmVudERlZmF1bHQoKSk6dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuX3ZpcnR1YWxGb2N1cz1udWxsfSwxKTticmVhaztjYXNlIHRoaXMuJC5mb290ZXI6dGhpcy5fdmlydHVhbEZvY3VzPW51bGx9ZWxzZSB0aGlzLl9hY3RpdmF0ZU5hdmlnYXRpb24oKSxiLnByZXZlbnREZWZhdWx0KCl9LF9pc0Fib3ZlVmlld3BvcnQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZmlyc3RWaXNpYmxlSW5kZXg+Yn0sX29uQXJyb3dEb3duOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fAooYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNEb3duKCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX3Njcm9sbFBhZ2VEb3duOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wKz1kLnRvcC1iLmJvdHRvbTt0aGlzLiQuc2Nyb2xsZXIuX3Njcm9sbEhhbmRsZXIoKX0sX29uUGFnZURvd246ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzPT09dGhpcy4kLml0ZW1zPyhiPXRoaXMuJC5zY3JvbGxlci5sYXN0VmlzaWJsZUluZGV4LHRoaXMuX3Njcm9sbFBhZ2VEb3duKCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93SW5kZXgrPQp0aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleC1ifHx0aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleC10aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRSb3dJbmRleCx0aGlzLl9lbnN1cmVWaXJ0dWFsRm9jdXNJblZpZXdwb3J0KCkpOnRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c1BhZ2VEb3duKCkpfSxfc2Nyb2xsUGFnZVVwOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wLT1kLnRvcC1iLmJvdHRvbTt0aGlzLiQuc2Nyb2xsZXIuX3Njcm9sbEhhbmRsZXIoKX0sX29uUGFnZVVwOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cz09PXRoaXMuJC5pdGVtcz8oYj10aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleCwKdGhpcy5fc2Nyb2xsUGFnZVVwKCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93SW5kZXgtPWItdGhpcy4kLnNjcm9sbGVyLmxhc3RWaXNpYmxlSW5kZXh8fHRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZFJvd0luZGV4LHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSk6dGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzUGFnZVVwKCkpfSxfb25BcnJvd1VwOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c1VwKCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uQXJyb3dSaWdodDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNSaWdodCgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LApfb25BcnJvd0xlZnQ6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzTGVmdCgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vbkhvbWU6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzSG9tZSgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vbkVuZDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNFbmQoKSx0aGlzLl9lbnN1cmVWaXJ0dWFsRm9jdXNJblZpZXdwb3J0KCkpfSxfbW92ZUZvY3VzVG9Gb2N1c1RhcmdldDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZENlbGwuX2NlbGxDb250ZW50OwooYj1iLnF1ZXJ5U2VsZWN0b3IoIltmb2N1cy10YXJnZXRdIil8fGIuZmlyc3RFbGVtZW50Q2hpbGQpJiZiLmZvY3VzKCl9LF9vbkVudGVyOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmc/ImlucHV0Ij09PWIuZGV0YWlsLmtleWJvYXJkRXZlbnQudGFyZ2V0LmxvY2FsTmFtZSYmInRleHQiPT09Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC50YXJnZXQudHlwZSYmdGhpcy4kLmZvb3RlckZvY3VzVHJhcC5mb2N1cygpOihiLnByZXZlbnREZWZhdWx0KCksdGhpcy5fbW92ZUZvY3VzVG9Gb2N1c1RhcmdldCgpKX0sX29uRXNjYXBlOmZ1bmN0aW9uKCl7dGhpcy5pbnRlcmFjdGluZz90aGlzLiQuZm9vdGVyRm9jdXNUcmFwLmZvY3VzKCk6dGhpcy5uYXZpZ2F0aW5nJiYodGhpcy5uYXZpZ2F0aW5nPSExKX0sX29uRjI6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuaW50ZXJhY3Rpbmc/dGhpcy4kLmZvb3RlckZvY3VzVHJhcC5mb2N1cygpOnRoaXMuX21vdmVGb2N1c1RvRm9jdXNUYXJnZXQoKX0sCl9vbkN0cmxIb21lOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c0ZpcnN0KCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uQ3RybEVuZDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNMYXN0KCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uU3BhY2U6ZnVuY3Rpb24oYil7aWYoIXRoaXMuaW50ZXJhY3Rpbmcpe2IucHJldmVudERlZmF1bHQoKTtiPXRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZENlbGw7dmFyIGQ9Yi5nZXRDb250ZW50Q2hpbGRyZW4oUG9seW1lci5FbGVtZW50PyJzbG90IjoiY29udGVudCIpWzBdLmZpcnN0RWxlbWVudENoaWxkO2Q/ZC5jbGljaygpOnRoaXMubmF2aWdhdGluZyYmCnRoaXMuZmlyZSgiY2VsbC1hY3RpdmF0ZSIse21vZGVsOmIuaW5zdGFuY2V9KX19LF9vbkNlbGxDb250ZW50Rm9jdXM6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZz0hMDt0aGlzLl9vbkNlbGxGb2N1cyhiKX0sX29uQ2VsbEZvY3VzOmZ1bmN0aW9uKGIpe2I9Yi5kZXRhaWwuY2VsbDt2YXIgZD1iLnBhcmVudEVsZW1lbnQsZj1kLnBhcmVudEVsZW1lbnQsaD1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKFBvbHltZXIuZG9tKGYpLmNoaWxkcmVuLGQpO2Y9PT10aGlzLiQuaXRlbXMmJihoPWQuaW5kZXgpO2YuX2ZvY3VzZWRSb3dJbmRleD1oO2YuX2ZvY3VzZWRDZWxsSW5kZXg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChQb2x5bWVyLmRvbShkKS5jaGlsZHJlbixiKTt0aGlzLl92aXJ0dWFsRm9jdXM9ZjtiLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSYmKGYuX2ZvY3VzZWRDZWxsSW5kZXg9MCxmLl9tb3ZlRm9jdXNUb0RldGFpbHNDZWxsKCkpfSxfZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydDpmdW5jdGlvbigpe3ZhciBiPQp0aGlzLiQuc2Nyb2xsZXIuX3ZpZHhPZmZzZXQrdGhpcy4kLnNjcm9sbGVyLl92aXJ0dWFsU3RhcnQsZD10aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRSb3dJbmRleDt0aGlzLl92aXJ0dWFsRm9jdXM9PT10aGlzLiQuaXRlbXMmJihkPGJ8fGQ+Yit0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsQ291bnQpJiYodGhpcy4kLnNjcm9sbGVyLnNjcm9sbFRvU2NhbGVkSW5kZXgoZCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkQ2VsbENoYW5nZWQoZCx0aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRDZWxsSW5kZXgpKTt0aGlzLl9lbnN1cmVFbGVtZW50SW5WaWV3cG9ydCh0aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRDZWxsKX0sX2Vuc3VyZUVsZW1lbnRJblZpZXdwb3J0OmZ1bmN0aW9uKGIpe3ZhciBkPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYodGhpcy5fdmlydHVhbEZvY3VzPT09dGhpcy4kLml0ZW1zKXt2YXIgZj10aGlzLiQuZm9vdGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCwKaD10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTtkLmJvdHRvbT5mP3RoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbFRvcCs9ZC5ib3R0b20tZjpkLnRvcDxoJiYodGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wKz1kLnRvcC1oKX1pZighYi5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe2I9dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ7Zj10aGlzLiQuc2Nyb2xsZXIuJC50YWJsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O2lmKGg9dGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93LnF1ZXJ5U2VsZWN0b3IoIltsYXN0LWZyb3plbl0iKSlmPWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ7ZC5yaWdodD5iP3RoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbExlZnQrPWQucmlnaHQtYjpkLmxlZnQ8ZiYmKHRoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbExlZnQrPQpkLmxlZnQtZil9fX07dmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVLZXlib2FyZEJlaGF2aW9yPVt2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZUtleWJvYXJkQmVoYXZpb3JJbXBsLFBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3JdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWNvbHVtbi1yZW9yZGVyaW5nLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307dmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX19Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZUNvbHVtblJlb3JkZXJpbmdCZWhhdmlvcj17cHJvcGVydGllczp7X29yZGVyQmFzZVNjb3BlOnt0eXBlOk51bWJlcix2YWx1ZToxRTd9fSxsaXN0ZW5lcnM6e2RyYWdzdGFydDoiX29uRHJhZ1N0YXJ0IixkcmFnb3ZlcjoiX29uRHJhZ092ZXIiLGRyYWdlbmQ6Il9vbkRyYWdFbmQifSxvYnNlcnZlcnM6WyJfdXBkYXRlT3JkZXJzKGNvbHVtblRyZWUsIGNvbHVtblRyZWUuKikiXSxfdXBkYXRlT3JkZXJzOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmYlswXS5mb3JFYWNoKGZ1bmN0aW9uKGYsaCl7Zi5fb3JkZXI9KGgrMSkqdGhpcy5fb3JkZXJCYXNlU2NvcGV9LHRoaXMpfSxfb25EcmFnU3RhcnQ6ZnVuY3Rpb24oYil7aWYoInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCI9PT1iLnRhcmdldC5sb2NhbE5hbWUpe3ZhciBkPXRoaXMuX2dldENlbGxCeUNlbGxDb250ZW50KGIudGFyZ2V0KTtkJiYodGhpcy50b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLAohMCksdGhpcy5fZHJhZ2dlZENvbHVtbj1kLmNvbHVtbix0aGlzLl9zZXRTaWJsaW5nc1Jlb3JkZXJTdGF0dXModGhpcy5fZHJhZ2dlZENvbHVtbiwiYWxsb3dlZCIpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9ImRyYWdnaW5nIixiLmRhdGFUcmFuc2ZlciYmKGIuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQiLCIiKSxiLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJtb3ZlIiksdGhpcy5fYXV0b1Njcm9sbGVyKCkpfX0sX3NldFNpYmxpbmdzUmVvcmRlclN0YXR1czpmdW5jdGlvbihiLGQpe0FycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChQb2x5bWVyLmRvbShQb2x5bWVyLmRvbShiKS5wYXJlbnROb2RlKS5jaGlsZHJlbixmdW5jdGlvbihmKXtyZXR1cm4vY29sdW1uLy50ZXN0KGYubG9jYWxOYW1lKSYmdGhpcy5faXNTd2FwQWxsb3dlZChmLGIpfSx0aGlzKS5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuX3Jlb3JkZXJTdGF0dXM9ZH0pfSxfb25EcmFnT3ZlcjpmdW5jdGlvbihiKXtpZih0aGlzLl9kcmFnZ2VkQ29sdW1uKXt2YXIgZD0KKFBvbHltZXIuRWxlbWVudD9iLmNvbXBvc2VkUGF0aCgpOlBvbHltZXIuZG9tKGIpLnBhdGgpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4idmFhZGluLWdyaWQtY2VsbC1jb250ZW50Ij09PWYubG9jYWxOYW1lfSlbMF07ZCYmKGIucHJldmVudERlZmF1bHQoKSxkPXRoaXMuX2dldENlbGxCeUNlbGxDb250ZW50KGQpLChkPXRoaXMuX2dldFRhcmdldENvbHVtbihkLHRoaXMuX2RyYWdnZWRDb2x1bW4pKSYmdGhpcy5faXNTd2FwQWxsb3dlZCh0aGlzLl9kcmFnZ2VkQ29sdW1uLGQpJiZ0aGlzLl9pc1N3YXBwYWJsZUJ5UG9zaXRpb24oZCxiLmNsaWVudFgpJiZ0aGlzLl9zd2FwQ29sdW1uT3JkZXJzKHRoaXMuX2RyYWdnZWRDb2x1bW4sZCksdGhpcy5fbGFzdERyYWdDbGllbnRYPWIuY2xpZW50WCl9fSxfYXV0b1Njcm9sbGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5fbGFzdERyYWdDbGllbnRYKXt2YXIgYj10aGlzLl9sYXN0RHJhZ0NsaWVudFgtdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCsKNTAsZD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtdGhpcy5fbGFzdERyYWdDbGllbnRYKzUwOzA8Yj90aGlzLiQudGFibGUuc2Nyb2xsTGVmdCs9Yi8xMDowPGQmJih0aGlzLiQudGFibGUuc2Nyb2xsTGVmdC09ZC8xMCk7dGhpcy5fc2Nyb2xsSGFuZGxlcigpfXRoaXMuX2RyYWdnZWRDb2x1bW4mJnRoaXMuYXN5bmModGhpcy5fYXV0b1Njcm9sbGVyLDEwKX0sX29uRHJhZ0VuZDpmdW5jdGlvbigpe3RoaXMuX2RyYWdnZWRDb2x1bW4mJih0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgicmVvcmRlcmluZyIsITEpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9IiIsdGhpcy5fc2V0U2libGluZ3NSZW9yZGVyU3RhdHVzKHRoaXMuX2RyYWdnZWRDb2x1bW4sIiIpLHRoaXMuX2xhc3REcmFnQ2xpZW50WD10aGlzLl9kcmFnZ2VkQ29sdW1uPW51bGwpfSxfaXNTd2FwQWxsb3dlZDpmdW5jdGlvbihiLGQpe2lmKGImJmQpe3ZhciBmPWIucGFyZW50RWxlbWVudD09PWQucGFyZW50RWxlbWVudCwKaD1iLmZyb3plbj09PWQuZnJvemVuO3JldHVybiBiIT09ZCYmZiYmaH19LF9pc1N3YXBwYWJsZUJ5UG9zaXRpb246ZnVuY3Rpb24oYixkKXt2YXIgZj1BcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoUG9seW1lci5kb20odGhpcy4kLmhlYWRlcikucXVlcnlTZWxlY3RvckFsbCgiLnZhYWRpbi1ncmlkLWNlbGwiKSxmdW5jdGlvbihrKXtyZXR1cm4gay5jb2x1bW49PT1ifSlbMF0saD10aGlzLiQuaGVhZGVyLnF1ZXJ5U2VsZWN0b3IoIltyZW9yZGVyLXN0YXR1c1x4M2RkcmFnZ2luZ10iKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0PmgubGVmdD9kPmYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQtaC53aWR0aDpkPGYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtoLndpZHRofSxfZ2V0Q2VsbEJ5Q2VsbENvbnRlbnQ6ZnVuY3Rpb24oYil7aWYoUG9seW1lci5FbGVtZW50KXJldHVybiBiLmFzc2lnbmVkU2xvdC5wYXJlbnROb2RlOwpiPVBvbHltZXIuZG9tKGIpLmdldERlc3RpbmF0aW9uSW5zZXJ0aW9uUG9pbnRzKClbMF07cmV0dXJuIFBvbHltZXIuZG9tKGIpLnBhcmVudE5vZGV9LF9zd2FwQ29sdW1uT3JkZXJzOmZ1bmN0aW9uKGIsZCl7dmFyIGY9Yi5fb3JkZXI7Yi5fb3JkZXI9ZC5fb3JkZXI7ZC5fb3JkZXI9Zjt0aGlzLl91cGRhdGVMYXN0RnJvemVuKCk7dGhpcy5fdXBkYXRlTGFzdENvbHVtbigpfSxfZ2V0VGFyZ2V0Q29sdW1uOmZ1bmN0aW9uKGIsZCl7aWYoYiYmZCl7Zm9yKHZhciBmPWIuY29sdW1uO2YucGFyZW50RWxlbWVudCE9PWQucGFyZW50RWxlbWVudCYmZiE9PXRoaXMudGFyZ2V0OylmPWYucGFyZW50RWxlbWVudDtyZXR1cm4gZi5wYXJlbnRFbGVtZW50PT09ZC5wYXJlbnRFbGVtZW50P2Y6Yi5jb2x1bW59fX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUiLGJlaGF2aW9yczpbdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZVNjcm9sbEJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlRhYmxlQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yLFBvbHltZXIuVGVtcGxhdGl6ZXJdLHByb3BlcnRpZXM6e3NpemU6TnVtYmVyLGNvbHVtblRyZWU6QXJyYXksYmluZERhdGE6RnVuY3Rpb24scm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdCxjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sc2FmYXJpOnt0eXBlOkJvb2xlYW4sdmFsdWU6L14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KX0sc2Nyb2xsYmFyV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmIuc3R5bGUud2lkdGg9IjEwMHB4IjtiLnN0eWxlLmhlaWdodD0iMTAwcHgiO2Iuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCI7Yi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Iuc3R5bGUudG9wPSItOTk5OXB4Ijtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpO3ZhciBkPWIub2Zmc2V0V2lkdGgtYi5jbGllbnRXaWR0aDtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGIpO3JldHVybiBkfX0sdGFyZ2V0Ok9iamVjdCxoYXNEYXRhOkJvb2xlYW59LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlLCBfcGh5c2ljYWxJdGVtcywgX3BoeXNpY2FsQ291bnRWYWwpIiwiX3NpemVDaGFuZ2VkKHNpemUsIGJpbmREYXRhLCBoYXNEYXRhKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVDaGFuZ2VkKHJvd0RldGFpbHNUZW1wbGF0ZSwgX3BoeXNpY2FsSXRlbXMsIF9waHlzaWNhbENvdW50VmFsKSJdLGxpc3RlbmVyczp7InByb3BlcnR5LWNoYW5nZWQiOiJfY29sdW1uUHJvcENoYW5nZWQiLAphbmltYXRpb25lbmQ6Il9vbkFuaW1hdGlvbkVuZCIsImNvbHVtbi1yZXNpemluZyI6Il9vbkNvbHVtblJlc2l6ZSJ9LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy4kPXRoaXMuJHx8e307dGhpcy4kLmhlYWRlcj10aGlzLmRvbUhvc3QuJC5oZWFkZXI7dGhpcy4kLml0ZW1zPXRoaXMuZG9tSG9zdC4kLml0ZW1zO3RoaXMuJC5mb290ZXI9dGhpcy5kb21Ib3N0LiQuZm9vdGVyfSxfb25Db2x1bW5SZXNpemU6ZnVuY3Rpb24oKXt0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgiY29sdW1uLXJlc2l6aW5nIix0aGlzLiQuaGVhZGVyLnF1ZXJ5U2VsZWN0b3IoIltjb2x1bW4tcmVzaXppbmddIikpO3RoaXMuX2dyaWRSZXNpemVIYW5kbGVyKCl9LF9vbkFuaW1hdGlvbkVuZDpmdW5jdGlvbihiKXsvYXBwZWFyLy50ZXN0KGIuYW5pbWF0aW9uTmFtZSkmJih0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVIZWFkZXJGb290ZXJNZXRyaWNzKCksYi5zdG9wUHJvcGFnYXRpb24oKSl9LF9jb2x1bW5Qcm9wQ2hhbmdlZDpmdW5jdGlvbihiKXsiaGVhZGVyVGVtcGxhdGUiPT09CmIuZGV0YWlsLnBhdGgmJnRoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIiwhMCx0aGlzLiQuaGVhZGVyKTsiZm9vdGVyVGVtcGxhdGUiPT09Yi5kZXRhaWwucGF0aCYmdGhpcy50b2dnbGVBdHRyaWJ1dGUoImhhcy10ZW1wbGF0ZXMiLCEwLHRoaXMuJC5mb290ZXIpOy9mcm96ZW58aGlkZGVuLy50ZXN0KGIuZGV0YWlsLnBhdGgpJiZ0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKTsiaGlkZGVuIj09PWIuZGV0YWlsLnBhdGgmJnRoaXMuX2dyaWRSZXNpemVIYW5kbGVyKCl9LF9oaWRlT3V0ZXJTY3JvbGxlcjpmdW5jdGlvbihiLGQpe3JldHVybiAwPT09YiYmIWR9LF9oaWRlVGFibGVPdmVyZmxvdzpmdW5jdGlvbihiLGQpe3JldHVybiAwPT09YiYmZH0sX3Jvd0RldGFpbHNUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkLGYpe3ZvaWQgMCE9PWImJmQmJnZvaWQgMCE9PWYmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZCxmdW5jdGlvbihoKXtoLnJvd0RldGFpbHNUZW1wbGF0ZT0KYn0pfSxfY29sdW1uVHJlZUNoYW5nZWQ6ZnVuY3Rpb24oYixkLGYpe3ZvaWQgMCE9PWImJmQmJnZvaWQgMCE9PWYmJihQb2x5bWVyLlJlbmRlclN0YXR1cy5hZnRlck5leHRSZW5kZXIodGhpcyx0aGlzLl91cGRhdGUpLHRoaXMuX2Zyb3plbkNlbGxzQ2hhbmdlZCgpLHRoaXMuX2hhc1RlbXBsYXRlc0NoYW5nZWQoYiksQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkLGZ1bmN0aW9uKGgpe2guY29sdW1ucz1iW2IubGVuZ3RoLTFdfSksdGhpcy5fZ3JpZFJlc2l6ZUhhbmRsZXIoKSxQb2x5bWVyLmRvbS5mbHVzaCh0aGlzKSx0aGlzLl91cGRhdGVMYXN0Q29sdW1uKCkpfSxfdXBkYXRlTGFzdENvbHVtbjpmdW5jdGlvbigpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcy5kb21Ib3N0LnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoIi52YWFkaW4tZ3JpZC1yb3ciKSxmdW5jdGlvbihiKXtiLnVwZGF0ZUxhc3RDb2x1bW4oKX0pfSxfdXBkYXRlSGVhZGVyRm9vdGVyTWV0cmljczpmdW5jdGlvbigpe3RoaXMuX3BoeXNpY2FsU2l6ZXMmJgpQb2x5bWVyLmRvbS5mbHVzaCgpO3RoaXMuX3VwZGF0ZUhlYWRlckZvb3Rlck1ldHJpY3NTeW5jKCk7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMuJC5oZWFkZXIsZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVIZWFkZXJGb290ZXJNZXRyaWNzU3luYygpO3RoaXMuX3BlbmRpbmdTY3JvbGxUb1NjYWxlZEluZGV4JiZ0aGlzLnNjcm9sbFRvU2NhbGVkSW5kZXgodGhpcy5fcGVuZGluZ1Njcm9sbFRvU2NhbGVkSW5kZXgpfS5iaW5kKHRoaXMpKX0sX3VwZGF0ZUhlYWRlckZvb3Rlck1ldHJpY3NTeW5jOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5jbGllbnRIZWlnaHQrInB4IixkPXRoaXMuJC5mb290ZXIuY2xpZW50SGVpZ2h0KyJweCI7W3RoaXMuJC5vdXRlcnNpemVyLHRoaXMuJC5maXhlZHNpemVyLHRoaXMuJC5pdGVtc10uZm9yRWFjaChmdW5jdGlvbihmKXtmLnN0eWxlLmJvcmRlclRvcFdpZHRoPWI7Zi5zdHlsZS5ib3JkZXJCb3R0b21XaWR0aD0KZH0pfSxfaGFzVGVtcGxhdGVzQ2hhbmdlZDpmdW5jdGlvbihiKXt2YXIgZD0hMSxmPSExO2IuZm9yRWFjaChmdW5jdGlvbihoKXtyZXR1cm4gaC5mb3JFYWNoKGZ1bmN0aW9uKGspe2Q9ZHx8ay5oZWFkZXJUZW1wbGF0ZTtmPWZ8fGsuZm9vdGVyVGVtcGxhdGV9KX0pO3RoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIixkLHRoaXMuJC5oZWFkZXIpO3RoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIixmLHRoaXMuJC5mb290ZXIpfSxfY3JlYXRlUG9vbDpmdW5jdGlvbihiKXtmb3IodmFyIGQ9QXJyYXkoYiksZj0wO2Y8YjtmKyspe3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLXRhYmxlLXJvdyIpO2gudGFyZ2V0PXRoaXMuZG9tSG9zdDtkW2ZdPWg7aC5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsIiIpO1BvbHltZXIuZG9tKHRoaXMuJC5pdGVtcykuYXBwZW5kQ2hpbGQoaCl9cmV0dXJuIGR9LF9zaXplQ2hhbmdlZDpmdW5jdGlvbihiLApkLGYpe2lmKHZvaWQgMCE9PWImJnZvaWQgMCE9PWQmJnZvaWQgMCE9PWYpe3ZhciBoPXRoaXMuX3Njcm9sbFRvcCxrPXRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fdmlkeE9mZnNldDt0aGlzLl92aXJ0dWFsQ291bnQ9TWF0aC5taW4oYiwxRTUpO3RoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXk9e307dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO3RoaXMuX3ZpZHhPZmZzZXQ9MDt0aGlzLl9waHlzaWNhbEl0ZW1zfHwodGhpcy5fcGh5c2ljYWxDb3VudD1NYXRoLm1heCgxLE1hdGgubWluKDI1LHRoaXMuX3ZpcnR1YWxDb3VudCkpLHRoaXMuX3BoeXNpY2FsSXRlbXM9dGhpcy5fY3JlYXRlUG9vbCh0aGlzLl9waHlzaWNhbENvdW50KSx0aGlzLl9waHlzaWNhbFNpemVzPUFycmF5KHRoaXMuX3BoeXNpY2FsQ291bnQpKTt0aGlzLl9pdGVtc1JlbmRlcmVkPSExO3RoaXMuX2RlYm91bmNlVGVtcGxhdGUoZnVuY3Rpb24oKXt0aGlzLl9yZW5kZXIoKTsKdGhpcy5fdmlld3BvcnRIZWlnaHQmJih0aGlzLnNjcm9sbFRvU2NhbGVkSW5kZXgoTWF0aC5taW4oayx0aGlzLnNpemUpKSx0aGlzLl9zY3JvbGxUb3A9aCx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5mbHVzaERlYm91bmNlcigidmFhZGluLWdyaWQtc2Nyb2xsaW5nIikpfSl9fSxfYXNzaWduTW9kZWxzOmZ1bmN0aW9uKGIpe3RoaXMuX3ZpcnR1YWxJbmRleFRvSXRlbT10aGlzLl92aXJ0dWFsSW5kZXhUb0l0ZW18fHt9O3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihkLGYpe2Q9dGhpcy5fcGh5c2ljYWxJdGVtc1tkXTtkLmluZGV4JiZkZWxldGUgdGhpcy5fdmlydHVhbEluZGV4VG9JdGVtW2QuaW5kZXhdO2QuaW5kZXg9Zit0aGlzLl92aWR4T2Zmc2V0O3RoaXMuX3ZpcnR1YWxJbmRleFRvSXRlbVtkLmluZGV4XT1kO2QudG9nZ2xlQXR0cmlidXRlKCJvZGQiLGQuaW5kZXglMik7ZC50b2dnbGVBdHRyaWJ1dGUoImxhc3Ryb3ciLGQuaW5kZXg9PT10aGlzLnNpemUtMSk7ZC50b2dnbGVBdHRyaWJ1dGUoImhpZGRlbiIsCmQuaW5kZXg+PXRoaXMuc2l6ZSk7dGhpcy5iaW5kRGF0YShkLmluZGV4LGQpfSxiKX0sX2dyaWRSZXNpemVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSGVhZGVyRm9vdGVyTWV0cmljcygpO3RoaXMuX3BoeXNpY2FsU2l6ZXMmJih0aGlzLl9waHlzaWNhbEl0ZW1zLmZvckVhY2goZnVuY3Rpb24oYil7Yi51cGRhdGVSb3dEZXRhaWxzQ2VsbE1ldHJpY3MoKX0pLHRoaXMuZGVib3VuY2UoInZhYWRpbi1ncmlkLXJlc2l6aW5nIixmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZSgpfS5iaW5kKHRoaXMpLDEpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1jb2x1bW4uaHRtbC0yLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC1jb2x1bW4iLGJlaGF2aW9yczpbdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uQmVoYXZpb3JdfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQiLHByb3BlcnRpZXM6e19jb2x1bW5UcmVlOnt0eXBlOkFycmF5LG5vdGlmeTohMH0sc2l6ZTpOdW1iZXIsX3Jvd0RldGFpbHNUZW1wbGF0ZTpPYmplY3QsX2JpbmREYXRhOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRJdGVtLmJpbmQodGhpcyl9fX0sYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLkFjdGl2ZUl0ZW1CZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5Sb3dEZXRhaWxzQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRGF0YVByb3ZpZGVyQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRHluYW1pY0NvbHVtbnNCZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5BcnJheURhdGFQcm92aWRlckJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlNlbGVjdGlvbkJlaGF2aW9yLAp2YWFkaW4uZWxlbWVudHMuZ3JpZC5Tb3J0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRmlsdGVyQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlRhYmxlS2V5Ym9hcmRCZWhhdmlvcl0sbGlzdGVuZXJzOnsicHJvcGVydHktY2hhbmdlZCI6Il9jb2x1bW5Qcm9wQ2hhbmdlZCIsImlyb24tcmVzaXplIjoiX2dyaWRSZXNpemVIYW5kbGVyIn0sX3VwZGF0ZUl0ZW06ZnVuY3Rpb24oYixkKXtiLnN0eWxlLm1pbkhlaWdodD1kPyIiOnRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxBdmVyYWdlKyJweCI7Yi5pdGVtPWQ7Yi5zZWxlY3RlZD10aGlzLl9pc1NlbGVjdGVkKGQpO2IuZXhwYW5kZWQ9dGhpcy5faXNFeHBhbmRlZChkKTtiLmFjdGl2ZT1udWxsIT09ZCYmZD09dGhpcy5hY3RpdmVJdGVtO2IuZm9jdXNlZD1iLmluZGV4PT09dGhpcy4kLml0ZW1zLl9mb2N1c2VkUm93SW5kZXh9LF9nZXRDb250ZW50VGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LApyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKTt0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGU9UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvcigidGVtcGxhdGUucm93LWRldGFpbHMiKXx8dm9pZCAwO3RoaXMuJC5zY3JvbGxlci50YXJnZXQ9dGhpcztudWxsPT09ZG9jdW1lbnQuZG9jdHlwZSYmY29uc29sZS53YXJuKCdceDNjdmFhZGluLWdyaWRceDNlIHJlcXVpcmVzIHRoZSAic3RhbmRhcmRzIG1vZGUiIGRlY2xhcmF0aW9uLiBQbGVhc2UgYWRkIFx4M2MhRE9DVFlQRSBodG1sXHgzZSB0byB0aGUgSFRNTCBkb2N1bWVudC4nKX0sX2NvbHVtblByb3BDaGFuZ2VkOmZ1bmN0aW9uKGIpeyJfY2hpbGRDb2x1bW5zIj09PWIuZGV0YWlsLnBhdGgmJnRoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKTtiLnN0b3BQcm9wYWdhdGlvbigpfSxfZ3JpZFJlc2l6ZUhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLiQuc2Nyb2xsZXIuX2dyaWRSZXNpemVIYW5kbGVyKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyx2aXNpYmxlU2NoZW1hOk9iamVjdCxzZXNzaW9uR3JvdXA6T2JqZWN0LF94VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6c2YuWFR5cGUuU1RFUH0sX25vTXVsdGlFeHBlcmltZW50czp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5kZXhPZlNlc3Npb246T2JqZWN0LF9zZXNzaW9uR3JvdXBOYW1lSGFzaDpOdW1iZXIsX3JlcXVlc3REYXRhOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKHt0YWc6YixydW46ZH0pPT50aGlzLmJhY2tlbmQubGlzdE1ldHJpY0V2YWxzKHtleHBlcmltZW50TmFtZTp0aGlzLmV4cGVyaW1lbnROYW1lLHNlc3Npb25OYW1lOmQsbWV0cmljTmFtZTpifSl9fSxfY29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57c2NhbGU6Yj0+e2I9SlNPTi5wYXJzZShiKVsxXTsKYj10aGlzLl9pbmRleE9mU2Vzc2lvbi5nZXQoYik7Y29uc3QgZD1MZC5zdGFuZGFyZDtyZXR1cm4gZFsodGhpcy5fc2Vzc2lvbkdyb3VwTmFtZUhhc2grYiklZC5sZW5ndGhdfX19fX0sYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcl0sbGlzdGVuZXJzOnsiaXJvbi1yZXNpemUiOiJyZWRyYXcifSxvYnNlcnZlcnM6WyJfc2Vzc2lvbkdyb3VwQ2hhbmdlZChzZXNzaW9uR3JvdXAuKikiXSxyZWRyYXcoKXtQb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoInRmLXNjYWxhci1jYXJkIikuZm9yRWFjaChiPT5iLnJlZHJhdygpKX0sX3Nlc3Npb25Hcm91cENoYW5nZWQoKXt0aGlzLnNlc3Npb25Hcm91cD8odGhpcy5faW5kZXhPZlNlc3Npb249bmV3IE1hcCh0aGlzLnNlc3Npb25Hcm91cC5zZXNzaW9ucy5tYXAoKGIsZCk9PltiLm5hbWUsZF0pKSx0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaD10Zi5ocGFyYW1zLnV0aWxzLmhhc2hPZlN0cmluZyh0aGlzLnNlc3Npb25Hcm91cC5uYW1lKSk6Cih0aGlzLl9pbmRleE9mU2Vzc2lvbj1uZXcgTWFwLHRoaXMuX3Nlc3Npb25Hcm91cE5hbWVIYXNoPTApO1BvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKGI9Pntjb25zdCBkPWIuZ2V0KCJ0YWciKTtiLnNldCgidGFnIiwiIik7Yi5zZXQoInRhZyIsZCl9KX0sX2hhdmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMudmlzaWJsZVNjaGVtYSYmQXJyYXkuaXNBcnJheSh0aGlzLnZpc2libGVTY2hlbWEubWV0cmljSW5mb3MpJiYwPHRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGh9LF9oYXZlTWV0cmljc0FuZFNlc3Npb25Hcm91cCgpe3JldHVybiB0aGlzLnNlc3Npb25Hcm91cCYmdGhpcy5faGF2ZU1ldHJpY3MoKX0sX2NvbXB1dGVTZXJpZXNGb3JTZXNzaW9uR3JvdXBNZXRyaWMoYixkKXtyZXR1cm4gbnVsbD09PWJ8fG51bGw9PT1kP1tdOmIuc2Vzc2lvbnMuZmlsdGVyKGY9PnZvaWQgMCE9PXRmLmhwYXJhbXMudXRpbHMubWV0cmljVmFsdWVCeU5hbWUoZi5tZXRyaWNWYWx1ZXMsCmQubmFtZSkpLm1hcChmPT4oe3RhZzpkLm5hbWUscnVuOmYubmFtZX0pKX0sX2NvbXB1dGVUYWdNZXRhZGF0YShiKXtyZXR1cm57ZGlzcGxheU5hbWU6dGYuaHBhcmFtcy51dGlscy5tZXRyaWNOYW1lKGIpLGRlc2NyaXB0aW9uOmIuZGVzY3JpcHRpb258fCIifX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXRhYmxlLXZpZXcvdGYtaHBhcmFtcy10YWJsZS12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLWhwYXJhbXMtdGFibGUtdmlldyIscHJvcGVydGllczp7dmlzaWJsZVNjaGVtYTpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxlbmFibGVTaG93TWV0cmljczpCb29sZWFuLGJhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZ30sb2JzZXJ2ZXJzOlsiX3Zpc2libGVTY2hlbWFPclNlc3Npb25Hcm91cHNDaGFuZ2VkKHZpc2libGVTY2hlbWEuKiwgc2Vzc2lvbkdyb3Vwcy4qKSJdLF92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe2NvbnN0IGI9dGhpcy4kLnNlc3Npb25Hcm91cHNUYWJsZS5nZXQoImV4cGFuZGVkSXRlbXMiKTt0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZXhwYW5kZWRJdGVtcyIsW10pO1BvbHltZXIuZG9tLmZsdXNoKCk7Y29uc3QgZD1uZXcgTWFwO3RoaXMuc2Vzc2lvbkdyb3Vwcy5mb3JFYWNoKGY9PntkLnNldChmLm5hbWUsZil9KTt0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZXhwYW5kZWRJdGVtcyIsCmIubWFwKGY9PmQuZ2V0KGYubmFtZSkpLmZpbHRlcihCb29sZWFuKSl9LF9ocGFyYW1OYW1lOnRmLmhwYXJhbXMudXRpbHMuaHBhcmFtTmFtZSxfbWV0cmljTmFtZTp0Zi5ocGFyYW1zLnV0aWxzLm1ldHJpY05hbWUsX3Nlc3Npb25Hcm91cEhQYXJhbShiLGQpe3JldHVybiBudWxsIT1iJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYi5ocGFyYW1zLGQpP3RmLmhwYXJhbXMudXRpbHMucHJldHR5UHJpbnQoYi5ocGFyYW1zW2RdKToiIn0sX3Nlc3Npb25Hcm91cE1ldHJpYyhiLGQpe2lmKG51bGw9PWIpcmV0dXJuIG51bGw7Zm9yKGxldCBmPTA7ZjxiLm1ldHJpY1ZhbHVlcy5sZW5ndGg7KytmKXtsZXQgaD1iLm1ldHJpY1ZhbHVlc1tmXTtpZihoLm5hbWUuZ3JvdXA9PT1kLmdyb3VwJiZoLm5hbWUudGFnPT1kLnRhZylyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5wcmV0dHlQcmludChoLnZhbHVlKX1yZXR1cm4iIn0sX3Jvd051bWJlcihiKXtyZXR1cm4gYisxfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzIixwcm9wZXJ0aWVzOntzZXNzaW9uR3JvdXA6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LHZpc2libGVTY2hlbWE6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9fSxfcHJvcGVydGllc0FyZVBvcHVsYXRlZDpmdW5jdGlvbihiLGQpe3JldHVybiB2b2lkIDAhPT1iJiZudWxsIT09YiYmdm9pZCAwIT09ZCYmbnVsbCE9PWR9LF9zaW5nbGV0b25TZXNzaW9uR3JvdXBzOmZ1bmN0aW9uKGIpe3JldHVybiBudWxsPT09Ynx8dm9pZCAwPT09Yj9bXTpbYl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9heGVzLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgocSl7cmV0dXJuIG51bGwhPT1xLnNvdXJjZUV2ZW50fWxldCBrOyhmdW5jdGlvbihxKXtxLkxJTkVBUj0iTElORUFSIjtxLkxPRz0iTE9HIjtxLlFVQU5USUxFPSJRVUFOVElMRSI7cS5OT05fTlVNRVJJQz0iTk9OX05VTUVSSUMifSkoaz1mLlNjYWxlVHlwZXx8KGYuU2NhbGVUeXBlPXt9KSk7Y2xhc3Mgcntpc1Bhc3NpbmcoKXtyZXR1cm4hMH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihxLHUsdyxBKXt0aGlzLl9sb3dlcj1xO3RoaXMuX3VwcGVyPXU7dGhpcy5fbG93ZXJPcGVuPXc7dGhpcy5fdXBwZXJPcGVuPUF9aXNQYXNzaW5nKHEpe3JldHVybiB0aGlzLl9iZWZvcmUodGhpcy5fbG93ZXIscSwhdGhpcy5fbG93ZXJPcGVuKSYmdGhpcy5fYmVmb3JlKHEsdGhpcy5fdXBwZXIsIXRoaXMuX3VwcGVyT3Blbil9X2JlZm9yZShxLHUsdyl7cmV0dXJuIHc/cTw9dTpxPHV9fWNsYXNzIHB7Y29uc3RydWN0b3IocSl7dGhpcy5fZG9tYWluU2V0PQpxfWlzUGFzc2luZyhxKXtyZXR1cm4tMSE9PXRoaXMuX2RvbWFpblNldC5maW5kSW5kZXgodT0+dT09PXEpfX1jbGFzcyBte2NvbnN0cnVjdG9yKHEsdSx3LEEpe3RoaXMuX3N2Z1Byb3BzPXE7dGhpcy5fc2NoZW1hPXU7dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPXc7dGhpcy5fY29sSW5kZXg9QTt0aGlzLl9pc0Rpc3BsYXllZD0hMTt0aGlzLl9zY2FsZVR5cGU9dGhpcy5feVNjYWxlPW51bGw7dGhpcy5zZXRCcnVzaFNlbGVjdGlvbihudWxsKX1jb2xJbmRleCgpe3JldHVybiB0aGlzLl9jb2xJbmRleH15U2NhbGUoKXtyZXR1cm4gdGhpcy5feVNjYWxlfXNjYWxlVHlwZSgpe3JldHVybiB0aGlzLl9zY2FsZVR5cGV9YnJ1c2hTZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fYnJ1c2hTZWxlY3Rpb259aXNEaXNwbGF5ZWQoKXtyZXR1cm4gdGhpcy5faXNEaXNwbGF5ZWR9c2V0QnJ1c2hTZWxlY3Rpb24ocSl7dGhpcy5fYnJ1c2hTZWxlY3Rpb249cTt0aGlzLl9icnVzaEZpbHRlcj10aGlzLl9idWlsZEJydXNoRmlsdGVyKHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSwKdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1zZXREb21haW5BbmRTY2FsZShxLHUpe3RoaXMuX3NjYWxlVHlwZT11O3RoaXMuX3lTY2FsZT1iLmhwYXJhbXMucGFyYWxsZWxfY29vcmRzX3Bsb3QuY3JlYXRlQXhpc1NjYWxlKHEuc2xpY2UoKSx0aGlzLl9zdmdQcm9wcy5oZWlnaHQsdGhpcy5zY2FsZVR5cGUoKSk7dGhpcy5fYnJ1c2hGaWx0ZXI9dGhpcy5fYnVpbGRCcnVzaEZpbHRlcih0aGlzLmJydXNoU2VsZWN0aW9uKCksdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1icnVzaEZpbHRlcigpe3JldHVybiB0aGlzLl9icnVzaEZpbHRlcn11cGRhdGVET00ocSl7dmFyIHU9ZDMuYXhpc0xlZnQodGhpcy55U2NhbGUoKSk7dGhpcy5zY2FsZVR5cGUoKT09PWsuUVVBTlRJTEUmJih1PXUudGlja1ZhbHVlcyh0aGlzLnlTY2FsZSgpLnF1YW50aWxlcygpKS50aWNrRm9ybWF0KGQzLmZvcm1hdCgiLS42ZyIpKSk7dmFyIHc9ZDMuc2VsZWN0KHEpO3cuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7CncuYXBwZW5kKCJnIikuY2xhc3NlZCgiYXhpcyIsITApLmNhbGwodSkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZCgiYXhpcy10aXRsZSIsITApLnN0eWxlKCJjdXJzb3IiLCJtb3ZlIikuc3R5bGUoInRleHQtYW5jaG9yIiwibWlkZGxlIikuYXR0cigieSIsLTkpLnRleHQoQT0+Yi5ocGFyYW1zLnV0aWxzLnNjaGVtYUNvbHVtbk5hbWUodGhpcy5fc2NoZW1hLEEpKTt3LmNhbGwoZDMuZHJhZygpLm9uKCJzdGFydCIsKCk9PntxLnNldEF0dHJpYnV0ZSgiaXMtZHJhZ2dpbmciLCIiKTt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnU3RhcnQodGhpcy5jb2xJbmRleCgpKX0pLm9uKCJkcmFnIiwoKT0+dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uRHJhZyhkMy5ldmVudC54KSkub24oImVuZCIsKCk9Pnt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnRW5kKCk7cS5yZW1vdmVBdHRyaWJ1dGUoImlzLWRyYWdnaW5nIil9KSk7dT1kMy5icnVzaFkoKS5leHRlbnQoW1stOCwwXSwKWzgsdGhpcy5fc3ZnUHJvcHMuaGVpZ2h0KzFdXSkub24oInN0YXJ0IiwoKT0+e2goZDMuZXZlbnQpJiYocS5zZXRBdHRyaWJ1dGUoImlzLWJydXNoaW5nIiwiIiksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSkpfSkub24oImJydXNoIiwoKT0+e2lmKGgoZDMuZXZlbnQpKXRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCkpfSkub24oImVuZCIsKCk9PntoKGQzLmV2ZW50KSYmKHRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCkpLHEucmVtb3ZlQXR0cmlidXRlKCJpcy1icnVzaGluZyIpKX0pO3c9ZDMuc2VsZWN0KHEpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJydXNoIiwhMCk7dy5jYWxsKHUpO3UubW92ZSh3LHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSl9c2V0RGlzcGxheWVkKHEpe3RoaXMuX2lzRGlzcGxheWVkPXF9X2J1aWxkQnJ1c2hGaWx0ZXIocSwKdSx3KXtpZihudWxsPT09cSlyZXR1cm4gbmV3IHI7aWYobnVsbD09PXUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlNjYWxlIHR5cGUgaXMgbnVsbCwgYnV0IGJydXNoU2VsZWN0aW9uIGlzbid0OiAiLHEpLG5ldyByO3N3aXRjaCh1KXtjYXNlIGsuTElORUFSOmNhc2Ugay5MT0c6e2NvbnN0IFtBLHldPWIuaHBhcmFtcy5wYXJhbGxlbF9jb29yZHNfcGxvdC5jb250aW51b3VzU2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pO3JldHVybiBuZXcgbChBLHksITEsITEpfWNhc2Ugay5RVUFOVElMRTp7Y29uc3QgW0EseV09Yi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LnF1YW50aWxlU2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pO3JldHVybiBuZXcgbChBLHksITEsITApfWNhc2Ugay5OT05fTlVNRVJJQzpyZXR1cm4gbmV3IHAoYi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LnBvaW50U2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pKX1jb25zb2xlLmVycm9yKCJVbmtub3duIHNjYWxlIHR5cGU6ICIsCnUpO3JldHVybiBuZXcgcn19Zi5BeGlzPW07Y2xhc3Mgbntjb25zdHJ1Y3RvcihxLHUsdyl7dGhpcy5fc3ZnUHJvcHM9cTt0aGlzLl9zY2hlbWE9dTt0aGlzLl9heGVzPXRoaXMuX2NyZWF0ZUF4ZXModyk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnM9ZDMuc2NhbGVQb2ludCgpLnJhbmdlKFsxLHRoaXMuX3N2Z1Byb3BzLndpZHRoLTFdKS5wYWRkaW5nKC41KTt0aGlzLl9kcmFnZ2VkQXhpcz1udWxsO3RoaXMuX3N2Z1Byb3BzLnN2Z0cuc2VsZWN0QWxsKCJnLmF4aXMtcGFyZW50IikucmVtb3ZlKCk7dGhpcy5fcGFyZW50c1NlbD10aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiLmF4aXMtcGFyZW50Iil9dXBkYXRlQXhlcyhxLHUpe2NvbnNvbGUuYXNzZXJ0KCF0aGlzLmlzQXhpc0RyYWdnaW5nKCkpO2NvbnN0IHc9bmV3IFNldDtxLmNvbHVtbnMuZm9yRWFjaCh5PT57Y29uc3QgeD15LmFic29sdXRlSW5kZXg7bGV0IEM9dGhpcy5fYXhlc1t4XTtDLnNldERpc3BsYXllZCghMCk7CmNvbnN0IEc9dS5tYXAoRD0+Yi5ocGFyYW1zLnV0aWxzLmNvbHVtblZhbHVlQnlJbmRleCh0aGlzLl9zY2hlbWEsRCx4KSk7Qy5zZXREb21haW5BbmRTY2FsZShHLHkuc2NhbGUpO3cuYWRkKHgpfSk7dGhpcy5fYXhlcy5mb3JFYWNoKHk9Pnt3Lmhhcyh5LmNvbEluZGV4KCkpfHx5LnNldERpc3BsYXllZCghMSl9KTt0aGlzLl91cGRhdGVTdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyh3KTt0aGlzLl9wYXJlbnRzU2VsPXRoaXMuX3BhcmVudHNTZWwuZGF0YShBcnJheS5mcm9tKHcpLHk9PnkpO3RoaXMuX3BhcmVudHNTZWwuZXhpdCgpLnJlbW92ZSgpO3RoaXMuX3BhcmVudHNTZWw9dGhpcy5fcGFyZW50c1NlbC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImF4aXMtcGFyZW50IiwhMCkubWVyZ2UodGhpcy5fcGFyZW50c1NlbCk7Y29uc3QgQT10aGlzO3RoaXMuX3BhcmVudHNTZWwuY2FsbCh5PT50aGlzLl91cGRhdGVBeGVzUG9zaXRpb25zSW5ET00oeSkpLmVhY2goZnVuY3Rpb24oeSl7QS5fYXhlc1t5XS51cGRhdGVET00odGhpcyl9KX1tYXBWaXNpYmxlQXhlcyhxKXtyZXR1cm4gdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKCkubWFwKHU9PgpxKHRoaXMuZ2V0QXhpc1Bvc2l0aW9uKHUpLHRoaXMuX2F4ZXNbdV0pKX1hbGxWaXNpYmxlQXhlc1NhdGlzZnkocSl7cmV0dXJuIHRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmV2ZXJ5KHU9PnEodGhpcy5nZXRBeGlzUG9zaXRpb24odSksdGhpcy5fYXhlc1t1XSkpfWdldEF4aXNGb3JDb2xJbmRleChxKXtyZXR1cm4gdGhpcy5fYXhlc1txXX1kcmFnU3RhcnQocSl7Y29uc29sZS5hc3NlcnQoIXRoaXMuaXNBeGlzRHJhZ2dpbmcoKSk7Y29uc29sZS5hc3NlcnQodGhpcy5fYXhlc1txXS5pc0Rpc3BsYXllZCgpKTt0aGlzLl9kcmFnZ2VkQXhpcz10aGlzLl9heGVzW3FdO3RoaXMuX2RyYWdnZWRBeGlzUG9zaXRpb249dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMocSl9ZHJhZyhxKXt0aGlzLl9kcmFnZ2VkQXhpc1Bvc2l0aW9uPXE9TWF0aC5taW4oTWF0aC5tYXgocSwwKSx0aGlzLl9zdmdQcm9wcy53aWR0aCk7cT10aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4oKTsKcS5zb3J0KCh1LHcpPT50aGlzLmdldEF4aXNQb3NpdGlvbih1KS10aGlzLmdldEF4aXNQb3NpdGlvbih3KSk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKHEpO3RoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0aGlzLl9wYXJlbnRzU2VsKX1kcmFnRW5kKCl7Y29uc29sZS5hc3NlcnQodGhpcy5pc0F4aXNEcmFnZ2luZygpKTt0aGlzLl9kcmFnZ2VkQXhpcz10aGlzLl9kcmFnZ2VkQXhpc1Bvc2l0aW9uPW51bGw7dGhpcy5fdXBkYXRlQXhlc1Bvc2l0aW9uc0luRE9NKHRoaXMuX3BhcmVudHNTZWwudHJhbnNpdGlvbigpLmR1cmF0aW9uKDUwMCkpfWlzQXhpc0RyYWdnaW5nKCl7cmV0dXJuIG51bGwhPT10aGlzLl9kcmFnZ2VkQXhpc31nZXRBeGlzUG9zaXRpb24ocSl7cmV0dXJuIG51bGwhPT10aGlzLl9kcmFnZ2VkQXhpcyYmdGhpcy5fZHJhZ2dlZEF4aXMuY29sSW5kZXgoKT09PXE/dGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbjp0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyhxKX1fdXBkYXRlU3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMocSl7dmFyIHU9CnRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmZpbHRlcih3PT5xLmhhcyh3KSk7dT1BcnJheS5mcm9tKG5ldyBTZXQoWy4uLnUsLi4uQXJyYXkuZnJvbShxKV0pKTt0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4odSl9X3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTShxKXtxLmF0dHIoInRyYW5zZm9ybSIsdT0+Yi5ocGFyYW1zLnV0aWxzLnRyYW5zbGF0ZVN0cih0aGlzLmdldEF4aXNQb3NpdGlvbih1KSkpfV9jcmVhdGVBeGVzKHEpe3JldHVybiBkMy5yYW5nZShiLmhwYXJhbXMudXRpbHMubnVtQ29sdW1ucyh0aGlzLl9zY2hlbWEpKS5tYXAodT0+bmV3IG0odGhpcy5fc3ZnUHJvcHMsdGhpcy5fc2NoZW1hLHEsdSkpfX1mLkF4ZXNDb2xsZWN0aW9uPW59KShkLnBhcmFsbGVsX2Nvb3Jkc19wbG90fHwoZC5wYXJhbGxlbF9jb29yZHNfcGxvdD17fSkpfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9saW5lcy5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtsZXQgaDsoZnVuY3Rpb24obCl7bFtsLkZPUkVHUk9VTkQ9MF09IkZPUkVHUk9VTkQiO2xbbC5CQUNLR1JPVU5EPTFdPSJCQUNLR1JPVU5EIn0pKGg9Zi5MaW5lVHlwZXx8KGYuTGluZVR5cGU9e30pKTtjbGFzcyBre2NvbnN0cnVjdG9yKGwpe3ZvaWQgMD09PWwmJihsPWQzLnNlbGVjdEFsbChudWxsKSk7Y29uc29sZS5hc3NlcnQoMT49bC5zaXplKCkpO3RoaXMuX3Nlc3Npb25Hcm91cFNlbD1sfXNlc3Npb25Hcm91cCgpe3JldHVybiAxPT09dGhpcy5fc2Vzc2lvbkdyb3VwU2VsLnNpemUoKT90aGlzLl9zZXNzaW9uR3JvdXBTZWwuZGF0dW0oKTpudWxsfWlzTnVsbCgpe3JldHVybiBudWxsPT09dGhpcy5zZXNzaW9uR3JvdXAoKX1zZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbkdyb3VwU2VsfWVxdWFsc1RvKGwpe3JldHVybiB0aGlzLmlzTnVsbCgpP2wuaXNOdWxsKCk6bC5pc051bGwoKT8hMTpsLnNlc3Npb25Hcm91cCgpLm5hbWU9PQp0aGlzLnNlc3Npb25Hcm91cCgpLm5hbWV9fWYuU2Vzc2lvbkdyb3VwSGFuZGxlPWs7Y2xhc3Mgcntjb25zdHJ1Y3RvcihsLHAsbSl7dGhpcy5fc3ZnUHJvcHM9bDt0aGlzLl9zY2hlbWE9cDt0aGlzLl9heGVzQ29sbGVjdGlvbj1tO3RoaXMuX3Nlc3Npb25Hcm91cHM9W107dGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoImcuYmFja2dyb3VuZCIpLnJlbW92ZSgpO3RoaXMuX3N2Z1Byb3BzLnN2Z0cuc2VsZWN0QWxsKCJnLmZvcmVncm91bmQiKS5yZW1vdmUoKTt0aGlzLl9iZ1BhdGhzU2VsPXRoaXMuX3N2Z1Byb3BzLnN2Z0cuYXBwZW5kKCJnIikuY2xhc3NlZCgiYmFja2dyb3VuZCIsITApLnNlbGVjdEFsbCgicGF0aCIpO3RoaXMuX2ZnUGF0aHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5hcHBlbmQoImciKS5jbGFzc2VkKCJmb3JlZ3JvdW5kIiwhMCkuc2VsZWN0QWxsKCJwYXRoIik7dGhpcy5fdXBkYXRlVmlzaWJsZUZnUGF0aHNTZWwoKTt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9Cm5ldyBrO3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlPW5ldyBrO3RoaXMuX2QzbGluZT1kMy5saW5lKCkuY3VydmUoZDMuY3VydmVMaW5lYXIpfWdldFNlc3Npb25Hcm91cEhhbmRsZShsKXtyZXR1cm4gbnVsbD09PWx8fHZvaWQgMD09PWw/bmV3IGs6bmV3IGsodGhpcy5fZmdQYXRoc1NlbC5maWx0ZXIocD0+cC5uYW1lPT09bC5uYW1lKSl9aGlkZUJhY2tncm91bmRMaW5lcygpe3RoaXMuX2JnUGF0aHNTZWwuYXR0cigidmlzaWJpbGl0eSIsImhpZGRlbiIpfXNob3dCYWNrZ3JvdW5kTGluZXMoKXt0aGlzLl9iZ1BhdGhzU2VsLmF0dHIoInZpc2liaWxpdHkiLG51bGwpfXBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpe3JldHVybiB0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGV9c2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGV9cmVjb21wdXRlQ29udHJvbFBvaW50cyhsLHA9MCl7KGw9PT1oLkZPUkVHUk9VTkQ/CnRoaXMuX2ZnUGF0aHNTZWw6dGhpcy5fYmdQYXRoc1NlbCkudHJhbnNpdGlvbigpLmR1cmF0aW9uKHApLmF0dHIoImQiLG09PnRoaXMuX3BhdGhEQXR0cmlidXRlKG0pKTtsPT09aC5GT1JFR1JPVU5EJiZ3aW5kb3cuc2V0VGltZW91dCgoKT0+e2NvbnN0IG09dGhpczt0aGlzLl9mZ1BhdGhzU2VsLmVhY2goZnVuY3Rpb24obil7bS5fc2V0Q29udHJvbFBvaW50c1Byb3BlcnR5KHRoaXMsbil9KX0pfXJlY29tcHV0ZUZvcmVncm91bmRMaW5lc1Zpc2liaWxpdHkoKXt0aGlzLl9mZ1BhdGhzU2VsLmNsYXNzZWQoImludmlzaWJsZS1wYXRoIixsPT4hdGhpcy5fYXhlc0NvbGxlY3Rpb24uYWxsVmlzaWJsZUF4ZXNTYXRpc2Z5KChwLG0pPT5tLmJydXNoRmlsdGVyKCkuaXNQYXNzaW5nKGIuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5SW5kZXgodGhpcy5fc2NoZW1hLGwsbS5jb2xJbmRleCgpKSkpKTt0aGlzLl91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpfXNldEZvcmVncm91bmRMaW5lc0NvbG9yKGwsCnAsbSl7bD10aGlzLl9jcmVhdGVMaW5lQ29sb3JGdW5jdGlvbihsLHAsbSk7dGhpcy5fZmdQYXRoc1NlbC5hdHRyKCJzdHJva2UiLGwpfXJlZHJhdyhsLHAsbSxuKXtjb25zdCBxPXRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZXNzaW9uR3JvdXAoKSx1PXRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlc3Npb25Hcm91cCgpO3RoaXMuX3Nlc3Npb25Hcm91cHM9bDt0aGlzLl9mZ1BhdGhzU2VsPXRoaXMuX3JlY29tcHV0ZVBhdGhTZWxlY3Rpb24odGhpcy5fZmdQYXRoc1NlbCk7dGhpcy5fYmdQYXRoc1NlbD10aGlzLl9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKHRoaXMuX2JnUGF0aHNTZWwpO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT10aGlzLmdldFNlc3Npb25Hcm91cEhhbmRsZShxKTt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT10aGlzLmdldFNlc3Npb25Hcm91cEhhbmRsZSh1KTt0aGlzLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoaC5GT1JFR1JPVU5EKTsKdGhpcy5yZWNvbXB1dGVDb250cm9sUG9pbnRzKGguQkFDS0dST1VORCk7dGhpcy5yZWNvbXB1dGVGb3JlZ3JvdW5kTGluZXNWaXNpYmlsaXR5KCk7dGhpcy5zZXRGb3JlZ3JvdW5kTGluZXNDb2xvcihwLG0sbil9dXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKGwpe3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJwZWFrZWQtcGF0aCIsITEpO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT1sO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJwZWFrZWQtcGF0aCIsITApfWNsZWFyUGVha2VkU2Vzc2lvbkdyb3VwKCl7dGhpcy51cGRhdGVQZWFrZWRTZXNzaW9uR3JvdXAobmV3IGspfXVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKGwpe3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCExKTt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT0KbDt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJzZWxlY3RlZC1wYXRoIiwhMCl9ZmluZENsb3Nlc3RTZXNzaW9uR3JvdXAobCxwKXtjb25zdCBtPXRoaXMuX2F4ZXNDb2xsZWN0aW9uLm1hcFZpc2libGVBeGVzKG49Pm4pO2w9Yi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LmZpbmRDbG9zZXN0UGF0aCh0aGlzLl92aXNpYmxlRmdQYXRoc1NlbC5ub2RlcygpLG0sW2wscF0pO3JldHVybiBudWxsPT09bD9uZXcgazpuZXcgayhkMy5zZWxlY3QobCkpfV9jcmVhdGVMaW5lQ29sb3JGdW5jdGlvbihsLHAsbSl7aWYobnVsbD09PWwpcmV0dXJuKCk9PiJyZWQiO2NvbnN0IG49ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYi5ocGFyYW1zLnV0aWxzLm51bWVyaWNDb2x1bW5FeHRlbnQodGhpcy5fc2NoZW1hLHRoaXMuX3Nlc3Npb25Hcm91cHMsbCkpLnJhbmdlKFtwLG1dKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUxhYik7cmV0dXJuIHE9PgpuKGIuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5SW5kZXgodGhpcy5fc2NoZW1hLHEsbCkpfV9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKGwpe2w9bC5kYXRhKHRoaXMuX3Nlc3Npb25Hcm91cHMscD0+cC5uYW1lKTtsLmV4aXQoKS5yZW1vdmUoKTtyZXR1cm4gbC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLm1lcmdlKGwpfV9zZXRDb250cm9sUG9pbnRzUHJvcGVydHkobCxwKXtsLmNvbnRyb2xQb2ludHM9dGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHMocCl9X2NvbXB1dGVDb250cm9sUG9pbnRzKGwpe3JldHVybiB0aGlzLl9heGVzQ29sbGVjdGlvbi5tYXBWaXNpYmxlQXhlcygocCxtKT0+W3AsbS55U2NhbGUoKShiLmhwYXJhbXMudXRpbHMuY29sdW1uVmFsdWVCeUluZGV4KHRoaXMuX3NjaGVtYSxsLG0uY29sSW5kZXgoKSkpXSl9X3BhdGhEQXR0cmlidXRlKGwpe3JldHVybiB0aGlzLl9kM2xpbmUodGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHMobCkpfV91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpe3RoaXMuX3Zpc2libGVGZ1BhdGhzU2VsPQp0aGlzLl9mZ1BhdGhzU2VsLmZpbHRlcigiOm5vdCguaW52aXNpYmxlLXBhdGgpIil9fWYuTGluZXNDb2xsZWN0aW9uPXJ9KShkLnBhcmFsbGVsX2Nvb3Jkc19wbG90fHwoZC5wYXJhbGxlbF9jb29yZHNfcGxvdD17fSkpfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9pbnRlcmFjdGlvbl9tYW5hZ2VyLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2NsYXNzIGh7Y29uc3RydWN0b3IocixsKXt0aGlzLnN2Zz1kMy5zZWxlY3Qocik7cj0xMDAqbCsyMDt0aGlzLnN2Zy5hdHRyKCJ2aWV3Qm94IixgMCAwICR7cn0gJHsyNDB9YCk7dGhpcy5zdmcuYXR0cigicHJlc2VydmVBc3BlY3RSYXRpbyIsInhNaWRZTWlkIik7dGhpcy5zdmcuc3R5bGUoIm1pbi13aWR0aCIscisicHgiKTt0aGlzLnN2Zy5zdHlsZSgibWluLWhlaWdodCIsIjI0MHB4Iik7dGhpcy53aWR0aD1yLTEwLTEwO3RoaXMuaGVpZ2h0PTIwMDt0aGlzLnN2Z0c9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixiLmhwYXJhbXMudXRpbHMudHJhbnNsYXRlU3RyKDEwLDMwKSl9fWYuU1ZHUHJvcGVydGllcz1oO2NsYXNzIGt7Y29uc3RydWN0b3IocixsLHAsbSl7dGhpcy5fc3ZnUHJvcHM9cjt0aGlzLl9zY2hlbWE9bDt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0I9cDt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQj0KbTt0aGlzLl9heGVzQ29sbGVjdGlvbj1uZXcgZi5BeGVzQ29sbGVjdGlvbihyLGwsdGhpcyk7dGhpcy5fbGluZXNDb2xsZWN0aW9uPW5ldyBmLkxpbmVzQ29sbGVjdGlvbihyLGwsdGhpcy5fYXhlc0NvbGxlY3Rpb24pO3RoaXMuX3N2Z1Byb3BzLnN2Zy5vbigiY2xpY2siLCgpPT50aGlzLm9uQ2xpY2soKSkub24oIm1vdXNlbW92ZSBtb3VzZWVudGVyIiwoKT0+e2NvbnN0IFtuLHFdPWQzLm1vdXNlKHRoaXMuX3N2Z1Byb3BzLnN2Z0cubm9kZSgpKTt0aGlzLm9uTW91c2VNb3ZlZChuLHEpfSkub24oIm1vdXNlbGVhdmUiLCgpPT50aGlzLm9uTW91c2VMZWF2ZSgpKX1vbkRyYWdTdGFydChyKXt0aGlzLl9heGVzQ29sbGVjdGlvbi5kcmFnU3RhcnQocik7dGhpcy5fbGluZXNDb2xsZWN0aW9uLmhpZGVCYWNrZ3JvdW5kTGluZXMoKX1vbkRyYWcocil7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZHJhZyhyKTt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhmLkxpbmVUeXBlLkZPUkVHUk9VTkQpfW9uRHJhZ0VuZCgpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWdFbmQoKTsKdGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoZi5MaW5lVHlwZS5GT1JFR1JPVU5ELDUwMCk7d2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhmLkxpbmVUeXBlLkJBQ0tHUk9VTkQpO3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5zaG93QmFja2dyb3VuZExpbmVzKCl9LDUwMCl9b25CcnVzaENoYW5nZWQocil7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZ2V0QXhpc0ZvckNvbEluZGV4KHIpLnNldEJydXNoU2VsZWN0aW9uKGQzLmV2ZW50LnNlbGVjdGlvbik7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUZvcmVncm91bmRMaW5lc1Zpc2liaWxpdHkoKX1vbk1vdXNlTW92ZWQocixsKXt0aGlzLl9saW5lc0NvbGxlY3Rpb24udXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5maW5kQ2xvc2VzdFNlc3Npb25Hcm91cChyLGwpKTt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1vbk1vdXNlTGVhdmUoKXt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuaXNOdWxsKCl8fAoodGhpcy5fbGluZXNDb2xsZWN0aW9uLmNsZWFyUGVha2VkU2Vzc2lvbkdyb3VwKCksdGhpcy5fcGVha2VkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKG51bGwpKX1vbkNsaWNrKCl7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpPT09dGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCk/dGhpcy5fbGluZXNDb2xsZWN0aW9uLnVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKG5ldyBmLlNlc3Npb25Hcm91cEhhbmRsZSk6dGhpcy5fbGluZXNDb2xsZWN0aW9uLnVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSk7dGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCkpfW9uT3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQociwKbCl7dGhpcy5fYXhlc0NvbGxlY3Rpb24udXBkYXRlQXhlcyhyLGwpO2NvbnN0IHA9dGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLG09dGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCk7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlZHJhdyhsLHZvaWQgMCE9PXIuY29sb3JCeUNvbHVtbkluZGV4P3IuY29sdW1uc1tyLmNvbG9yQnlDb2x1bW5JbmRleF0uYWJzb2x1dGVJbmRleDpudWxsLHIubWluQ29sb3Isci5tYXhDb2xvcik7cC5lcXVhbHNUbyh0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkpfHx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKTttLmVxdWFsc1RvKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpKXx8CnRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1zY2hlbWEoKXtyZXR1cm4gdGhpcy5fc2NoZW1hfX1mLkludGVyYWN0aW9uTWFuYWdlcj1rfSkoZC5wYXJhbGxlbF9jb29yZHNfcGxvdHx8KGQucGFyYWxsZWxfY29vcmRzX3Bsb3Q9e30pKX0pKGIuaHBhcmFtc3x8KGIuaHBhcmFtcz17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90Iixwcm9wZXJ0aWVzOntzZXNzaW9uR3JvdXBzOkFycmF5LG9wdGlvbnM6T2JqZWN0LHNlbGVjdGVkU2Vzc2lvbkdyb3VwOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsLHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sY2xvc2VzdFNlc3Npb25Hcm91cDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbCxyZWFkT25seTohMCxub3RpZnk6ITB9LHJlZHJhd0NvdW50Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfdmFsaWRTZXNzaW9uR3JvdXBzOkFycmF5LF9pbnRlcmFjdGlvbk1hbmFnZXI6T2JqZWN0fSxvYnNlcnZlcnM6WyJfb3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQob3B0aW9ucy4qLCBzZXNzaW9uR3JvdXBzLiopIl0sX29wdGlvbnNPclNlc3Npb25Hcm91cHNDaGFuZ2VkKCl7aWYobnVsbCE9PXRoaXMub3B0aW9ucyl7dmFyIGI9dGhpcy5vcHRpb25zLmNvbmZpZ3VyYXRpb247aWYodm9pZCAwPT09dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyfHwKIV8uaXNFcXVhbCh0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIuc2NoZW1hKCksYi5zY2hlbWEpKXtkMy5zZWxlY3QodGhpcy4kLnN2Zykuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7Y29uc3QgZD1uZXcgdGYuaHBhcmFtcy5wYXJhbGxlbF9jb29yZHNfcGxvdC5TVkdQcm9wZXJ0aWVzKHRoaXMuJC5zdmcsdGYuaHBhcmFtcy51dGlscy5udW1Db2x1bW5zKGIuc2NoZW1hKSk7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLnN2ZywhMCk7dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPW5ldyB0Zi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LkludGVyYWN0aW9uTWFuYWdlcihkLGIuc2NoZW1hLGY9PnRoaXMuY2xvc2VzdFNlc3Npb25Hcm91cENoYW5nZWQoZiksZj0+dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQoZikpfXRoaXMuX2NvbXB1dGVWYWxpZFNlc3Npb25Hcm91cHMoKTt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25PcHRpb25zT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCh0aGlzLm9wdGlvbnMsCnRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcyk7dGhpcy5yZWRyYXdDb3VudCsrfX0sY2xvc2VzdFNlc3Npb25Hcm91cENoYW5nZWQoYil7dGhpcy5fc2V0Q2xvc2VzdFNlc3Npb25Hcm91cChiKX0sc2VsZWN0ZWRTZXNzaW9uR3JvdXBDaGFuZ2VkKGIpe3RoaXMuX3NldFNlbGVjdGVkU2Vzc2lvbkdyb3VwKGIpfSxfY29tcHV0ZVZhbGlkU2Vzc2lvbkdyb3Vwcygpe2NvbnN0IGI9dGYuaHBhcmFtcy51dGlscztpZih2b2lkIDA9PT10aGlzLnNlc3Npb25Hcm91cHMpdGhpcy5fdmFsaWRTZXNzaW9uR3JvdXBzPXZvaWQgMDtlbHNle3ZhciBkPXRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLnNjaGVtYTt0aGlzLl92YWxpZFNlc3Npb25Hcm91cHM9dGhpcy5zZXNzaW9uR3JvdXBzLmZpbHRlcihmPT57Zm9yKGxldCBoPTA7aDxiLm51bUNvbHVtbnMoZCk7KytoKWlmKHRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLmNvbHVtbnNWaXNpYmlsaXR5W2hdJiZ2b2lkIDA9PT1iLmNvbHVtblZhbHVlQnlJbmRleChkLApmLGgpKXJldHVybiExO3JldHVybiEwfSl9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXcvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy12aWV3Iixwcm9wZXJ0aWVzOntiYWNrZW5kOk9iamVjdCxleHBlcmltZW50TmFtZTpTdHJpbmcsY29uZmlndXJhdGlvbjpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheX0sX2Nsb3Nlc3RPclNlbGVjdGVkOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIG51bGwhPT1iP2I6ZH19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdCIscHJvcGVydGllczp7dmlzaWJsZVNjaGVtYTpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxvcHRpb25zOk9iamVjdCxzZWxlY3RlZFNlc3Npb25Hcm91cDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbCxyZWFkT25seTohMCxub3RpZnk6ITB9LGNsb3Nlc3RTZXNzaW9uR3JvdXA6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGwscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxfY29udGFpbmVyOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfc3ZnOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSx3aWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MH0saGVpZ2h0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfYnJ1c2hlZENlbGxJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2JydXNoU2VsZWN0aW9uOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfX0sb2JzZXJ2ZXJzOlsiX3Nlc3Npb25Hcm91cHNDaGFuZ2VkKHNlc3Npb25Hcm91cHMuKikiLAoiX3Zpc2libGVTY2hlbWFDaGFuZ2VkKHZpc2libGVTY2hlbWEuKikiLCJfcmVkcmF3KG9wdGlvbnMuKikiXSxyZWFkeSgpe3RoaXMuX2NvbnRhaW5lcj10aGlzLiQuY29udGFpbmVyO3RoaXMuX3N2Zz1kMy5zZWxlY3QodGhpcy4kLnN2Zyk7dGhpcy5fcmVkcmF3KCl9LF9zZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe251bGwhPT10aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwJiZ0aGlzLl9zZXRTZWxlY3RlZFNlc3Npb25Hcm91cCh0Zi5ocGFyYW1zLnV0aWxzLnNlc3Npb25Hcm91cFdpdGhOYW1lKHRoaXMuc2Vzc2lvbkdyb3Vwcyx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwLm5hbWUpfHxudWxsKTt0aGlzLl9yZWRyYXcoKX0sX3Zpc2libGVTY2hlbWFDaGFuZ2VkKCl7dGhpcy5fYnJ1c2hTZWxlY3Rpb249dGhpcy5fYnJ1c2hlZENlbGxJbmRleD1udWxsO3RoaXMuX3JlZHJhdygpfSxfcmVkcmF3KCl7dGhpcy5kZWJvdW5jZSgiX3JlZHJhdyIsKCk9Pntjb25zdCBiPXRmLmhwYXJhbXMudXRpbHM7CnRoaXMud2lkdGg9TWF0aC5tYXgoMTUwKmIubnVtVmlzaWJsZUNvbHVtbnModGhpcy52aXNpYmxlU2NoZW1hKSwxMjAwKTt0aGlzLmhlaWdodD1NYXRoLm1heCgxMTIuNSpiLm51bVZpc2libGVNZXRyaWNzKHRoaXMudmlzaWJsZVNjaGVtYSksNDgwKTt0aGlzLl9jb250YWluZXIuc3R5bGUud2lkdGg9dGhpcy53aWR0aCsicHgiO3RoaXMuX2NvbnRhaW5lci5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrInB4Ijt0aGlzLl9zdmcuYXR0cigid2lkdGgiLHRoaXMud2lkdGgpLmF0dHIoImhlaWdodCIsdGhpcy5oZWlnaHQpO3RoaXMuX3N2Zy5zZWxlY3RBbGwoImciKS5yZW1vdmUoKTt0aGlzLl9kcmF3KCl9LDEwMCl9LF9kcmF3KCl7ZnVuY3Rpb24gYihrYSl7cmV0dXJuIngtYXhpcy1jbGlwLXBhdGgtIitrYX1mdW5jdGlvbiBkKGthKXtyZXR1cm4ieC1sYWJlbC1jbGlwLXBhdGgtIitrYX1mdW5jdGlvbiBmKGthKXtyZXR1cm4ieS1heGlzLWNsaXAtcGF0aC0iK2thfWZ1bmN0aW9uIGgoa2Epe3JldHVybiJ5LWxhYmVsLWNsaXAtcGF0aC0iKwprYX1mdW5jdGlvbiBrKGthLFcsRWEsdmEseWEpe0VhPU1hdGguZmxvb3IoRWEvdmEpO3ZhPVcuc2NhbGUoKTtpZigiUVVBTlRJTEUiPT09eWEpe2xldCBBYT12YS5xdWFudGlsZXMoKTtBYT1kMy5yYW5nZSgwLEFhLmxlbmd0aCxNYXRoLmNlaWwoQWEubGVuZ3RoL0VhKSkubWFwKEZhPT5BYVtGYV0pO1cudGlja1ZhbHVlcyhBYSkudGlja0Zvcm1hdChkMy5mb3JtYXQoIi0uMmciKSl9IkxJTkVBUiIhPT15YSYmIkxPRyIhPT15YXx8Vy50aWNrcyhFYSk7a2EuY2FsbChXKTtrYS5zZWxlY3RBbGwoIi5kb21haW4iKS5yZW1vdmUoKTtrYS5zZWxlY3RBbGwoIi50aWNrIGxpbmUiKS5hdHRyKCJzdHJva2UiLCIjZGRkIil9ZnVuY3Rpb24gcihrYSxXKXtyZXR1cm4gTFtXXSh4Ll9jb2xWYWx1ZShrYSxXKSl9ZnVuY3Rpb24gbChrYSxXKXtyZXR1cm4gSltXXSh4Ll9tZXRyaWNWYWx1ZShrYSxXKSl9ZnVuY3Rpb24gcChrYSxXKXtjb25zdCBFYT1bXTtYW2thXVtXXS5lYWNoKGZ1bmN0aW9uKCl7RWEucHVzaCh0aGlzKX0pOwpyZXR1cm4gZDMucXVhZHRyZWUoKS54KHZhPT5kMy5zZWxlY3QodmEpLmRhdHVtKCkueCkueSh2YT0+ZDMuc2VsZWN0KHZhKS5kYXR1bSgpLnkpLmFkZEFsbChFYSl9ZnVuY3Rpb24gbSgpe2xldCBrYT1uZXcgU2V0KFIubm9kZXMoKSk7dygpfHwoa2E9bih4Ll9icnVzaGVkQ2VsbEluZGV4LHguX2JydXNoU2VsZWN0aW9uKSk7ZDMuc2VsZWN0QWxsKEFycmF5LmZyb20oeS5maWx0ZXJTZXQoa2EsVz0+IVouaGFzKFcpKSkpLmF0dHIoImZpbGwiLE4pO2QzLnNlbGVjdEFsbChBcnJheS5mcm9tKHkuZmlsdGVyU2V0KFosVz0+IWthLmhhcyhXKSkpKS5hdHRyKCJmaWxsIiwiI2RkZCIpO1o9a2F9ZnVuY3Rpb24gbihrYSxXKXtjb25zb2xlLmFzc2VydChudWxsIT09a2EpO2NvbnNvbGUuYXNzZXJ0KG51bGwhPT1XKTtjb25zdCBbRWEsdmFdPWthLHlhPW5ldyBTZXQ7eS5xdWFkVHJlZVZpc2l0UG9pbnRzSW5SZWN0KGZhW0VhXVt2YV0sV1swXVswXSxXWzBdWzFdLFdbMV1bMF0sV1sxXVsxXSwKQWE9PntkMy5zZWxlY3QoQWEpLmRhdHVtKCkuc2Vzc2lvbkdyb3VwTWFya2Vycy5mb3JFYWNoKEZhPT57eWEuYWRkKEZhKX0pfSk7cmV0dXJuIHlhfWZ1bmN0aW9uIHEoa2Epe2NvbnN0IFc9ZDMuYnJ1c2hTZWxlY3Rpb24oa2EpOyF1KCkmJm51bGw9PT1XfHx1KCkmJmthPT09b2Eubm9kZSgpJiZfLmlzRXF1YWwoVyx4Ll9icnVzaFNlbGVjdGlvbil8fCh4Ll9icnVzaFNlbGVjdGlvbj1XLG51bGwhPT1XPyhvYT1kMy5zZWxlY3Qoa2EpLHguX2JydXNoZWRDZWxsSW5kZXg9b2EuZGF0dW0oKSk6KG9hPW51bGwseC5fYnJ1c2hlZENlbGxJbmRleD1udWxsKSxtKCkpfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbnVsbCE9PXguX2JydXNoZWRDZWxsSW5kZXgmJm51bGwhPT14Ll9icnVzaFNlbGVjdGlvbn1mdW5jdGlvbiB3KCl7cmV0dXJuIXUoKXx8eC5fYnJ1c2hTZWxlY3Rpb25bMF1bMF09PT14Ll9icnVzaFNlbGVjdGlvblsxXVswXXx8eC5fYnJ1c2hTZWxlY3Rpb25bMF1bMV09PT14Ll9icnVzaFNlbGVjdGlvblsxXVsxXX0KZnVuY3Rpb24gQShrYSxXLEVhLHZhLHlhKXtsZXQgQWE9SW5maW5pdHksRmE9bnVsbDt5LnF1YWRUcmVlVmlzaXRQb2ludHNJbkRpc2soZmFba2FdW1ddLEVhLHZhLHlhLCh4YSxTYSk9PntaLmhhcyh4YSkmJlNhPEFhJiYoeGE9ZDMuc2VsZWN0KHhhKS5kYXR1bSgpLEFhPVNhLEZhPXhhLnNlc3Npb25Hcm91cCl9KTtyZXR1cm4gbnVsbD09PUZhP251bGw6ZDMuc2VsZWN0QWxsKGFhLmdldChGYSkpfWNvbnN0IHk9dGYuaHBhcmFtcy51dGlscyx4PXRoaXM7aWYodGhpcy5zZXNzaW9uR3JvdXBzJiYwIT10aGlzLnNlc3Npb25Hcm91cHMubGVuZ3RoJiZ0aGlzLnZpc2libGVTY2hlbWEmJjAhPXRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGgpe3ZhciBDPWQzLnJhbmdlKHkubnVtVmlzaWJsZUNvbHVtbnMoeC52aXNpYmxlU2NoZW1hKSksRz1kMy5yYW5nZSh5Lm51bVZpc2libGVNZXRyaWNzKHgudmlzaWJsZVNjaGVtYSkpLEQ9ZDMuc2NhbGVCYW5kKCkuZG9tYWluKEMpLnJhbmdlKFs4NSwKdGhpcy53aWR0aC0xLTVdKS5wYWRkaW5nSW5uZXIoLjEpLEI9ZDMuc2NhbGVCYW5kKCkuZG9tYWluKEcpLnJhbmdlKFt0aGlzLmhlaWdodC0xLTUtNTAsNV0pLnBhZGRpbmdJbm5lciguMSksSD1ELmJhbmR3aWR0aCgpLEs9Qi5iYW5kd2lkdGgoKSxMPUMubWFwKGthPT54Ll9jZWxsU2NhbGUoa2EsWzAsSC0xXSkpLEo9Ry5tYXAoa2E9PnguX2NlbGxTY2FsZShrYSt5Lm51bVZpc2libGVIUGFyYW1zKHgudmlzaWJsZVNjaGVtYSksW0stMSwwXSkpLE89dGhpcy5fc3ZnLnNlbGVjdEFsbCgiLngtYXhpcyIpLmRhdGEoQykuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWF4aXMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLGthPT55LnRyYW5zbGF0ZVN0cihEKGthKSwwKSk7Ty5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGIpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC01KS5hdHRyKCJ5IiwwKS5hdHRyKCJ3aWR0aCIsSCsxMCkuYXR0cigiaGVpZ2h0Iix4LmhlaWdodC0yNSk7Ck8uYXBwZW5kKCJjbGlwUGF0aCIpLmF0dHIoImlkIixkKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwwKS5hdHRyKCJ5Iix4LmhlaWdodC0yNSkuYXR0cigid2lkdGgiLEgpLmF0dHIoImhlaWdodCIsMjUpO08uYXBwZW5kKCJnIikuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIitiKGthKSsiKSIpLmVhY2goZnVuY3Rpb24oa2Epe2QzLnNlbGVjdCh0aGlzKS5jYWxsKGssZDMuYXhpc0JvdHRvbShMW2thXSkudGlja1NpemUoeC5oZWlnaHQtNTApLEgsNDAseC5vcHRpb25zLmNvbHVtbnNba2FdLnNjYWxlKX0pO08uYXBwZW5kKCJnIikuY2xhc3NlZCgieC1heGlzLWxhYmVsIiwhMCkuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIitkKGthKSsiKSIpLmFwcGVuZCgidGV4dCIpLmF0dHIoInRleHQtYW5jaG9yIiwibWlkZGxlIikuYXR0cigieCIsSC8yKS5hdHRyKCJ5Iix4LmhlaWdodC0xLTEyLjUpLnRleHQoa2E9Pnkuc2NoZW1hVmlzaWJsZUNvbHVtbk5hbWUoeC52aXNpYmxlU2NoZW1hLAprYSkpLmFwcGVuZCgidGl0bGUiKS50ZXh0KGthPT55LnNjaGVtYVZpc2libGVDb2x1bW5OYW1lKHgudmlzaWJsZVNjaGVtYSxrYSkpO089dGhpcy5fc3ZnLnNlbGVjdEFsbCgiLnktYXhpcyIpLmRhdGEoRykuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLGthPT55LnRyYW5zbGF0ZVN0cih4LndpZHRoLTEsQihrYSkpKTtPLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIsZikuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsLSh4LndpZHRoLTQwLTEpKS5hdHRyKCJ5IiwtNSkuYXR0cigid2lkdGgiLHgud2lkdGgtNDApLmF0dHIoImhlaWdodCIsSysxMCk7Ty5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGgpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0oeC53aWR0aC0xKSkuYXR0cigieSIsMCkuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLEspO08uYXBwZW5kKCJnIikuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIisKZihrYSkrIikiKS5lYWNoKGZ1bmN0aW9uKGthKXtkMy5zZWxlY3QodGhpcykuY2FsbChrLGQzLmF4aXNMZWZ0KEpba2FdKS50aWNrU2l6ZSh4LndpZHRoLTgwKSxLLDIwLHgub3B0aW9ucy5jb2x1bW5zW2thK3kubnVtVmlzaWJsZUhQYXJhbXMoeC52aXNpYmxlU2NoZW1hKV0uc2NhbGUpfSk7Ty5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLGthPT4idXJsKCMiK2goa2EpKyIpIikuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IiwtKHgud2lkdGgtMjAtMSkpLmF0dHIoInkiLEsvMikuYXR0cigidHJhbnNmb3JtIix5LnJvdGF0ZVN0cigtKHgud2lkdGgtMjAtMSksSy8yKSkudGV4dChrYT0+eS5tZXRyaWNOYW1lKHgudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1trYV0pKS5hcHBlbmQoInRpdGxlIikudGV4dChrYT0+eS5tZXRyaWNOYW1lKHgudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1trYV0pKTsKTz10aGlzLl9zdmcuc2VsZWN0QWxsKCIuY2VsbCIpLmRhdGEoZDMuY3Jvc3MoQyxHKSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJjZWxsIiwhMCkuYXR0cigidHJhbnNmb3JtIiwoW2thLFddKT0+eS50cmFuc2xhdGVTdHIoRChrYSksQihXKSkpO08uYXBwZW5kKCJnIikuY2xhc3NlZCgiZnJhbWUiLCEwKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtNSkuYXR0cigieSIsLTUpLmF0dHIoIndpZHRoIixIKzEwKS5hdHRyKCJoZWlnaHQiLEsrMTApLmF0dHIoInN0cm9rZSIsIiMwMDAiKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgUz1udWxsO3ZvaWQgMCE9PXgub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgmJihTPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKHRoaXMuX2NvbEV4dGVudCh0aGlzLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4KSkucmFuZ2UoW3RoaXMub3B0aW9ucy5taW5Db2xvcix0aGlzLm9wdGlvbnMubWF4Q29sb3JdKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUxhYikpOwp2YXIgTj12b2lkIDA9PT14Lm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4PygpPT4icmVkIjooe3Nlc3Npb25Hcm91cDprYX0pPT5TKHRoaXMuX2NvbFZhbHVlKGthLHgub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgpKSxbUixYLGFhXT1mdW5jdGlvbihrYSxXKXtjb25zdCBFYT1rYS5zZWxlY3RBbGwoIi5kYXRhLW1hcmtlciIpLmRhdGEoKFt5YSxBYV0pPT54LnNlc3Npb25Hcm91cHMuZmlsdGVyKEZhPT52b2lkIDAhPT14Ll9jb2xWYWx1ZShGYSx5YSkmJnZvaWQgMCE9PXguX21ldHJpY1ZhbHVlKEZhLEFhKSkubWFwKEZhPT4oe2NvbDp5YSxtZXRyaWM6QWEsc2Vzc2lvbkdyb3VwOkZhLHg6cihGYSx5YSkseTpsKEZhLEFhKSxzZXNzaW9uR3JvdXBNYXJrZXJzOm51bGx9KSkpLmVudGVyKCkuYXBwZW5kKCJjaXJjbGUiKS5jbGFzc2VkKCJkYXRhLW1hcmtlciIsITApLmF0dHIoImN4Iiwoe3g6eWF9KT0+eWEpLmF0dHIoImN5Iiwoe3k6eWF9KT0+eWEpLmF0dHIoInIiLDIpLmF0dHIoImZpbGwiLApXKSx2YT1uZXcgTWFwO3guc2Vzc2lvbkdyb3Vwcy5mb3JFYWNoKHlhPT57dmEuc2V0KHlhLFtdKX0pO0VhLmVhY2goZnVuY3Rpb24oeWEpe3ZhLmdldCh5YS5zZXNzaW9uR3JvdXApLnB1c2godGhpcyl9KTtFYS5lYWNoKHlhPT57Y29uc3QgQWE9dmEuZ2V0KHlhLnNlc3Npb25Hcm91cCk7eWEuc2Vzc2lvbkdyb3VwTWFya2Vycz1uZXcgU2V0KEFhKX0pO2thPUMubWFwKHlhPT5HLm1hcChBYT0+RWEuZmlsdGVyKEZhPT5GYS5jb2w9PXlhJiZGYS5tZXRyaWM9PUFhKSkpO3JldHVybltFYSxrYSx2YV19KE8uYXBwZW5kKCJnIiksTiksZmE9Qy5tYXAoa2E9PkcubWFwKFc9PnAoa2EsVykpKSxvYT1udWxsO3UoKSYmKG9hPU8uZmlsdGVyKGthPT5fLmlzRXF1YWwoa2EseC5fYnJ1c2hlZENlbGxJbmRleCkpLGNvbnNvbGUuYXNzZXJ0KDE9PW9hLnNpemUoKSxvYSkpO3ZhciBaPW5ldyBTZXQoUi5ub2RlcygpKTttKCk7dmFyIGNhPWQzLmJydXNoKCkuZXh0ZW50KFtbLTQsLTRdLFtILTErNS0KMSxLLTErNS0xXV0pLm9uKCJzdGFydCIsZnVuY3Rpb24oKXt1KCkmJm9hLm5vZGUoKSE9dGhpcyYmY2EubW92ZShvYSxudWxsKTtxKHRoaXMpfSkub24oImJydXNoIixmdW5jdGlvbigpe3EodGhpcyl9KS5vbigiZW5kIixmdW5jdGlvbigpe3EodGhpcyl9KTtPLmNhbGwoY2EpO3UoKSYmY2EubW92ZShvYSx4Ll9icnVzaFNlbGVjdGlvbik7dmFyIGphPW51bGwsYmE9bnVsbDtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKGJhPWQzLnNlbGVjdEFsbChhYS5nZXQodGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCkpLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITApKTtPLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIga2E9amE9PT1iYT9udWxsOmphO2thIT09YmEmJihudWxsIT09YmEmJmJhLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITEpLGJhPWthLG51bGwhPT1iYSYmYmEuY2xhc3NlZCgic2VsZWN0ZWQtbWFya2VyIiwhMCksa2E9bnVsbD09PWJhP251bGw6YmEuZGF0dW0oKS5zZXNzaW9uR3JvdXAsCnguX3NldFNlbGVjdGVkU2Vzc2lvbkdyb3VwKGthKSl9KS5vbigibW91c2Vtb3ZlIG1vdXNlZW50ZXIiLGZ1bmN0aW9uKFtrYSxXXSl7Y29uc3QgW0VhLHZhXT1kMy5tb3VzZSh0aGlzKTtrYT1BKGthLFcsRWEsdmEsMjApO2phIT09a2EmJihudWxsIT09amEmJmphLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksamE9a2EsbnVsbCE9PWphPyhqYS5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITApLHguX3NldENsb3Nlc3RTZXNzaW9uR3JvdXAoamEuZGF0dW0oKS5zZXNzaW9uR3JvdXApKTp4Ll9zZXRDbG9zZXN0U2Vzc2lvbkdyb3VwKG51bGwpKX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe251bGwhPT1qYSYmKGphLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksamE9bnVsbCx4Ll9zZXRDbG9zZXN0U2Vzc2lvbkdyb3VwKG51bGwpKX0pO3RoaXMuX3N2Zy5zZWxlY3RBbGwoIioiKS5jbGFzc2VkKCJ0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdCIsITApfX0sCl9jZWxsU2NhbGUoYixkKXt2YXIgZj10aGlzLl9jb2xFeHRlbnQoYik7Y29uc3QgaD1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihmKS5yYW5nZShkKTtpZigiTElORUFSIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW2JdLnNjYWxlKXJldHVybiBoO2lmKCJMT0ciPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbYl0uc2NhbGUpcmV0dXJuIDA+PWZbMF0mJjA8PWZbMV0/aDpkMy5zY2FsZUxvZygpLmRvbWFpbihmKS5yYW5nZShkKTtpZigiUVVBTlRJTEUiPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbYl0uc2NhbGUpe2NvbnN0IGs9KGRbMV0tZFswXSkvMTk7Zj1kMy5yYW5nZSgyMCkubWFwKHI9PmRbMF0raypyKTtyZXR1cm4gZDMuc2NhbGVRdWFudGlsZSgpLmRvbWFpbihfLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcChyPT50aGlzLl9jb2xWYWx1ZShyLGIpKSkpLnJhbmdlKGYpfWlmKCJOT05fTlVNRVJJQyI9PT10aGlzLm9wdGlvbnMuY29sdW1uc1tiXS5zY2FsZSlyZXR1cm4gZDMuc2NhbGVQb2ludCgpLmRvbWFpbihfLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcChrPT4KdGhpcy5fY29sVmFsdWUoayxiKSkuc29ydCgpKSkucmFuZ2UoZCkucGFkZGluZyguMSk7dGhyb3ciVW5rbm93biBzY2FsZSBmb3IgY29sdW1uOiAiK2IrIi4gb3B0aW9uczogIit0aGlzLm9wdGlvbnM7fSxfY29sVmFsdWUoYixkKXtyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5VmlzaWJsZUluZGV4KHRoaXMudmlzaWJsZVNjaGVtYSxiLGQpfSxfbWV0cmljVmFsdWUoYixkKXtyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5tZXRyaWNWYWx1ZUJ5VmlzaWJsZUluZGV4KHRoaXMudmlzaWJsZVNjaGVtYSxiLGQpfSxfY29sRXh0ZW50KGIpe3JldHVybiB0Zi5ocGFyYW1zLnV0aWxzLnZpc2libGVOdW1lcmljQ29sdW1uRXh0ZW50KHRoaXMudmlzaWJsZVNjaGVtYSx0aGlzLnNlc3Npb25Hcm91cHMsYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXcvdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXciLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOk9iamVjdCxzZXNzaW9uR3JvdXBzOkFycmF5fSxfY2xvc2VzdE9yU2VsZWN0ZWQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gbnVsbCE9PWI/YjpkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZS90Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmUuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zZXNzaW9ucy1wYW5lIixwcm9wZXJ0aWVzOntiYWNrZW5kOk9iamVjdCxoZWxwVXJsOlN0cmluZyxidWdSZXBvcnRVcmw6U3RyaW5nLGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOk9iamVjdCxzZXNzaW9uR3JvdXBzOkFycmF5LF9zZWxlY3RlZFRhYjp7dHlwZTpOdW1iZXIsdmFsdWU6MH19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1tYWluL3RmLWhwYXJhbXMtbWFpbi5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLW1haW4iLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyx0cmFja2luZ0lkOlN0cmluZyxoZWxwVXJsOlN0cmluZyxidWdSZXBvcnRVcmw6U3RyaW5nLF9jb25maWd1cmF0aW9uOk9iamVjdCxfc2Vzc2lvbkdyb3VwczpBcnJheSxfdGhyb3R0bGVkU2VuZEV2ZW50VG9HQTp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+Xy50aHJvdHRsZShmdW5jdGlvbigpe3RoaXMuX2hhbmRsZUdBRXZlbnQoe2RldGFpbDp7aGl0VHlwZToiZXZlbnQiLGV2ZW50Q2F0ZWdvcnk6IlVzZXJJbnRlcmFjdGlvbiIsZXZlbnRMYWJlbDoiRXhwZXJpbWVudDogIit0aGlzLmV4cGVyaW1lbnROYW1lfX0pfSw2RTQse2xlYWRpbmc6ITB9KX19LGxpc3RlbmVyczp7bW91c2Vtb3ZlOiJfc2VuZEV2ZW50VG9HQSIsdGFwOiJfc2VuZEV2ZW50VG9HQSIsImdvb2dsZS1hbmFseXRpY3MtdHJhY2tpbmciOiJfaGFuZGxlR0FFdmVudCJ9LGF0dGFjaGVkKCl7dGhpcy5faGFuZGxlR0FFdmVudCh7ZGV0YWlsOntoaXRUeXBlOiJwYWdldmlldyJ9fSl9LApyZWxvYWQoKXt0aGlzLiRbInF1ZXJ5LXBhbmUiXS5yZWxvYWQoKX0sX3NlbmRFdmVudFRvR0EoKXt0aGlzLl90aHJvdHRsZWRTZW5kRXZlbnRUb0dBKHRoaXMpfSxfaGFuZGxlR0FFdmVudChiKXt0aGlzLiQudHJhY2tlci5oYW5kbGVFdmVudChiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLWRhc2hib2FyZC90Zi1ocGFyYW1zLWRhc2hib2FyZC5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLWRhc2hib2FyZCIscHJvcGVydGllczp7X2JhY2tlbmQ6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgdGYuaHBhcmFtcy5CYWNrZW5kKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJocGFyYW1zIiwiIiksbmV3IGRjLlJlcXVlc3RNYW5hZ2VyLCEhKHdpbmRvdy5URU5TT1JCT0FSRF9FTlZ8fHt9KS5JTl9DT0xBQil9fSxyZWxvYWQoKXt0aGlzLiRbImhwYXJhbXMtbWFpbiJdLnJlbG9hZCgpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1tZXNoLWRhc2hib2FyZC9tZXNoLWxvYWRlci5qcwooZnVuY3Rpb24oYil7UG9seW1lcih7aXM6InRmLW1lc2gtbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcixvZlNhbXBsZXM6TnVtYmVyLHNlbGVjdGVkVmlldzp7dHlwZTpTdHJpbmcsdmFsdWU6ImFsbCJ9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsX21lc2hWaWV3ZXI6e3R5cGU6T2JqZWN0fSxfZGF0YVByb3ZpZGVyOnt0eXBlOk9iamVjdH0sX2NvbG9yU2NhbGVGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PkxkLnJ1bnNDb2xvclNjYWxlfSxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfc3RlcHM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdLG5vdGlmeTohMH0sX3N0ZXBJbmRleDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxfY3VycmVudFN0ZXA6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRTdGVwKF9zdGVwcywgX3N0ZXBJbmRleCkifSwKX21lc2hWaWV3ZXJBdHRhY2hlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfY2FtZXJhUG9zaXRpb25Jbml0aWFsaXplZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfc3RlcFZhbHVlOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVTdGVwVmFsdWUoX2N1cnJlbnRTdGVwKSJ9LF9jdXJyZW50V2FsbFRpbWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRXYWxsVGltZShfY3VycmVudFN0ZXApIn0sX2lzTWVzaExvYWRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbInJlbG9hZChydW4sIHRhZywgYWN0aXZlLCBfZGF0YVByb3ZpZGVyLCBfbWVzaFZpZXdlcikiLCJfdXBkYXRlU2NlbmUoX2N1cnJlbnRTdGVwLiosIF9tZXNoVmlld2VyKSIsIl9kZWJvdW5jZWRGZXRjaE1lc2goX2N1cnJlbnRTdGVwKSIsIl91cGRhdGVWaWV3KHNlbGVjdGVkVmlldykiXSxfY29tcHV0ZVJ1bkNvbG9yOmZ1bmN0aW9uKGQpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb24oZCl9LAphdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RhdGFQcm92aWRlcj1uZXcgYi5BcnJheUJ1ZmZlckRhdGFQcm92aWRlcih0aGlzLnJlcXVlc3RNYW5hZ2VyKTtjb25zdCBkPW5ldyBiLk1lc2hWaWV3ZXIodGhpcy5fcnVuQ29sb3IpO2QuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlVXBkYXRlU2NlbmUiLHRoaXMuX3VwZGF0ZUNhbnZhc1NpemUuYmluZCh0aGlzKSk7ZC5hZGRFdmVudExpc3RlbmVyKCJjYW1lcmFQb3NpdGlvbkNoYW5nZSIsdGhpcy5fb25DYW1lcmFQb3NpdGlvbkNoYW5nZS5iaW5kKHRoaXMpKTt0aGlzLl9tZXNoVmlld2VyPWR9LHJlbG9hZDpmdW5jdGlvbigpe3RoaXMuYWN0aXZlJiZ0aGlzLl9kYXRhUHJvdmlkZXImJih0aGlzLnNldCgiX2lzTWVzaExvYWRpbmciLCEwKSx0aGlzLl9kYXRhUHJvdmlkZXIucmVsb2FkKHRoaXMucnVuLHRoaXMudGFnLHRoaXMuc2FtcGxlKS50aGVuKGQ9PntkJiYodGhpcy5zZXQoIl9zdGVwcyIsZCksdGhpcy5zZXQoIl9zdGVwSW5kZXgiLApkLmxlbmd0aC0xKSl9KS5jYXRjaChkPT57aWYoIWR8fCFkLmNvZGV8fGQuY29kZSE9Yi5FcnJvckNvZGVzLkNBTkNFTExFRCl0aHJvdyBFcnJvcihkfHwiUmVzcG9uc2UgcHJvY2Vzc2luZyBmYWlsZWQuIik7fSkpfSxfdXBkYXRlU2NlbmU6ZnVuY3Rpb24oKXtjb25zdCBkPXRoaXMuX2N1cnJlbnRTdGVwO2QmJmQubWVzaCYmKHRoaXMuX21lc2hWaWV3ZXIudXBkYXRlU2NlbmUoZCx0aGlzKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkfHwodGhpcy5fbWVzaFZpZXdlci5yZXNldFZpZXcoKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkPSEwKSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWR8fCh0aGlzLnJvb3QuYXBwZW5kQ2hpbGQodGhpcy5fbWVzaFZpZXdlci5nZXRSZW5kZXJlcigpLmRvbUVsZW1lbnQpLHRoaXMuX21lc2hWaWV3ZXJBdHRhY2hlZD0hMCkpfSxfZGVib3VuY2VkRmV0Y2hNZXNoKCl7dGhpcy5kZWJvdW5jZSgiZmV0Y2hNZXNoIiwoKT0+dGhpcy5fbWF5YmVGZXRjaE1lc2goKSwKMTAwKX0sX21heWJlRmV0Y2hNZXNoKCl7Y29uc3QgZD10aGlzO3JldHVybiBXYihmdW5jdGlvbiooKXtjb25zdCBmPWQuX2N1cnJlbnRTdGVwO2lmKGYmJiFmLm1lc2gmJiFmLm1lc2hGZXRjaGluZyl7Zi5tZXNoRmV0Y2hpbmc9ITA7ZC5faXNNZXNoTG9hZGluZz0hMDt0cnl7Y29uc3QgaD15aWVsZCBkLl9kYXRhUHJvdmlkZXIuZmV0Y2hEYXRhKGYsZC5ydW4sZC50YWcsZC5zYW1wbGUpO2YubWVzaD1oWzBdO2Qubm90aWZ5UGF0aCgiX2N1cnJlbnRTdGVwLm1lc2giKX1jYXRjaChoKXtpZighaHx8IWguY29kZXx8aC5jb2RlIT1iLkVycm9yQ29kZXMuQ0FOQ0VMTEVEKXRocm93IGg9aHx8IlJlc3BvbnNlIHByb2Nlc3NpbmcgZmFpbGVkLiIsRXJyb3IoaCk7fWZpbmFsbHl7ZC5faXNNZXNoTG9hZGluZz0hMSxmLm1lc2hGZXRjaGluZz0hMX19fSl9LF9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7aWYodGhpcy5fbWVzaFZpZXdlci5pc1JlYWR5KCkpe3ZhciBkPW5ldyBDdXN0b21FdmVudCgiY2FtZXJhLXBvc2l0aW9uLWNoYW5nZSIsCntkZXRhaWw6dGhpcy5fbWVzaFZpZXdlci5nZXRDYW1lcmFQb3NpdGlvbigpfSk7dGhpcy5kaXNwYXRjaEV2ZW50KGQpfX0sc2V0Q2FtZXJhVmlld3BvaW50OmZ1bmN0aW9uKGQsZixoKXt0aGlzLl9tZXNoVmlld2VyLnNldENhbWVyYVZpZXdwb2ludChkLGYsaCl9LF91cGRhdGVDYW52YXNTaXplOmZ1bmN0aW9uKCl7Y29uc3QgZD10aGlzLm9mZnNldFdpZHRoLGY9dGhpcy4kJCgiLnRmLW1lc2gtbG9hZGVyLWhlYWRlciIpLm9mZnNldEhlaWdodDt0aGlzLl9tZXNoVmlld2VyLnNldENhbnZhc1NpemUoe3dpZHRoOmQsaGVpZ2h0OmQtZn0pfSxyZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVDYW52YXNTaXplKCk7dGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5fbWVzaFZpZXdlci5kcmF3KCl9LF9oYXNBdExlYXN0T25lU3RlcDpmdW5jdGlvbihkKXtyZXR1cm4hIWQmJjA8ZC5sZW5ndGh9LF9oYXNNdWx0aXBsZVN0ZXBzOmZ1bmN0aW9uKGQpe3JldHVybiEhZCYmMTxkLmxlbmd0aH0sX2NvbXB1dGVDdXJyZW50U3RlcDpmdW5jdGlvbihkLApmKXtyZXR1cm4gZFtmXXx8bnVsbH0sX2NvbXB1dGVTdGVwVmFsdWU6ZnVuY3Rpb24oZCl7cmV0dXJuIGQ/ZC5zdGVwOjB9LF9jb21wdXRlQ3VycmVudFdhbGxUaW1lOmZ1bmN0aW9uKGQpe3JldHVybiBkP0hoLmZvcm1hdERhdGUoZC53YWxsX3RpbWUpOiIifSxfZ2V0TWF4U3RlcEluZGV4OmZ1bmN0aW9uKGQpe3JldHVybiBkLmxlbmd0aC0xfSxfZ2V0U2FtcGxlVGV4dDpmdW5jdGlvbihkKXtyZXR1cm4gU3RyaW5nKGQrMSl9LF9oYXNNdWx0aXBsZVNhbXBsZXM6ZnVuY3Rpb24oZCl7cmV0dXJuIDE8ZH0sX3VwZGF0ZVZpZXc6ZnVuY3Rpb24oZCl7dGhpcy5fbWVzaFZpZXdlciYmImFsbCI9PWQmJnRoaXMuX21lc2hWaWV3ZXIucmVzZXRWaWV3KCl9LHRvTG9jYWxlU3RyaW5nXzpmdW5jdGlvbihkKXtyZXR1cm4gZC50b0xvY2FsZVN0cmluZygpfX0pfSkoZmx8fChmbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLW1lc2gtZGFzaGJvYXJkL3RmLW1lc2gtZGFzaGJvYXJkLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6Im1lc2gtZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZ0luZm86T2JqZWN0LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOnt0eXBlOlN0cmluZyx2YWx1ZToiLioifSxfc2VsZWN0ZWRWaWV3Ont0eXBlOlN0cmluZyxub3RpZnk6ITAsdmFsdWU6ImFsbCJ9LF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnSW5mbywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlcikifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9fSxyZWFkeSgpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9LCExKTt0aGlzLnJlbG9hZCgpfSxfZ2V0QWxsQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLW1lc2gtbG9hZGVyIil9LApfb25DYW1lcmFQb3NpdGlvbkNoYW5nZWQoYil7InNoYXJlIj09dGhpcy5fc2VsZWN0ZWRWaWV3JiZ0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goZD0+e2IudGFyZ2V0IT1kJiZkLnNldENhbWVyYVZpZXdwb2ludChiLmRldGFpbC5wb3NpdGlvbixiLmRldGFpbC5mYXIsYi5kZXRhaWwudGFyZ2V0KX0pfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbih0aGlzLl9yZWxvYWRNZXNoZXMuYmluZCh0aGlzKSl9LF9oYW5kbGVXaW5kb3dSZXNpemUoKXt0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goYj0+e2IucmVkcmF3KCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoIm1lc2giLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLApoPT5PYmplY3Qua2V5cyhoKSk7Zj1kYy5nZXRUYWdzKGYpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKX19KX0sX3JlbG9hZE1lc2hlcygpe3RoaXMuX2dldEFsbENoaWxkcmVuKCkuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCxvZlNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSxyLHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sci5pdGVtcy5tYXAoaCkpfSkpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9hdXRvUmVsb2FkQmVoYXZpb3IuanMKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4obmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSkuaGFzKCJfRGlzYWJsZUF1dG9SZWxvYWQiKX1iLkFVVE9SRUxPQURfTE9DQUxTVE9SQUdFX0tFWT0iVEYuVGVuc29yQm9hcmQuYXV0b1JlbG9hZEVuYWJsZWQiO2IuQXV0b1JlbG9hZEJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthdXRvUmVsb2FkRW5hYmxlZDp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b1JlbG9hZE9ic2VydmVyIix2YWx1ZTooKT0+e3ZhciBmPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiLkFVVE9SRUxPQURfTE9DQUxTVE9SQUdFX0tFWSk7cmV0dXJuInRydWUiPT09Znx8bnVsbD09Zn19LF9hdXRvUmVsb2FkSWQ6e3R5cGU6TnVtYmVyfSxfbWlzc2VkQXV0b1JlbG9hZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm91bmRIYW5kbGVWaXNpYmlsaXR5Q2hhbmdlOnt0eXBlOk9iamVjdH0sYXV0b1JlbG9hZEludGVydmFsU2Vjczp7dHlwZTpOdW1iZXIsCnZhbHVlOjMwfX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9ib3VuZEhhbmRsZVZpc2liaWxpdHlDaGFuZ2U9dGhpcy5faGFuZGxlVmlzaWJpbGl0eUNoYW5nZS5iaW5kKHRoaXMpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2JvdW5kSGFuZGxlVmlzaWJpbGl0eUNoYW5nZSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9hdXRvUmVsb2FkSWQpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2JvdW5kSGFuZGxlVmlzaWJpbGl0eUNoYW5nZSl9LF9hdXRvUmVsb2FkT2JzZXJ2ZXI6ZnVuY3Rpb24oZil7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGIuQVVUT1JFTE9BRF9MT0NBTFNUT1JBR0VfS0VZLGYpO2YmJiFkKCk/dGhpcy5fYXV0b1JlbG9hZElkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9kb0F1dG9SZWxvYWQoKSwxRTMqdGhpcy5hdXRvUmVsb2FkSW50ZXJ2YWxTZWNzKToKd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9hdXRvUmVsb2FkSWQpfSxfZG9BdXRvUmVsb2FkOmZ1bmN0aW9uKCl7dGhpcy5faXNEb2N1bWVudFZpc2libGUoKT90aGlzLl9kb1JlbG9hZCgpOnRoaXMuX21pc3NlZEF1dG9SZWxvYWQ9ITA7dGhpcy5fYXV0b1JlbG9hZElkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9kb0F1dG9SZWxvYWQoKSwxRTMqdGhpcy5hdXRvUmVsb2FkSW50ZXJ2YWxTZWNzKX0sX2RvUmVsb2FkOmZ1bmN0aW9uKCl7aWYobnVsbD09dGhpcy5yZWxvYWQpdGhyb3cgRXJyb3IoIkF1dG9SZWxvYWRCZWhhdmlvciByZXF1aXJlcyBhIHJlbG9hZCBtZXRob2QiKTt0aGlzLnJlbG9hZCgpfSxfaGFuZGxlVmlzaWJpbGl0eUNoYW5nZTpmdW5jdGlvbigpe3RoaXMuX2lzRG9jdW1lbnRWaXNpYmxlKCkmJnRoaXMuX21pc3NlZEF1dG9SZWxvYWQmJih0aGlzLl9taXNzZWRBdXRvUmVsb2FkPSExLHRoaXMuX2RvUmVsb2FkKCkpfSxfaXNEb2N1bWVudFZpc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4idmlzaWJsZSI9PT0KZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfX19KShwZXx8KHBlPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGVuc29yYm9hcmQvdGYtdGVuc29yYm9hcmQuaHRtbC5qcwpjb25zdCB0bj17Z2V0TG9jYXRpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9ufX07ClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3Jib2FyZCIsYmVoYXZpb3JzOltwZS5BdXRvUmVsb2FkQmVoYXZpb3JdLHByb3BlcnRpZXM6e2JyYW5kOnt0eXBlOlN0cmluZyx2YWx1ZToiVGVuc29yQm9hcmQtWCJ9LGhvbWVQYXRoOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2hvbWVQYXRoOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX3Nhbml0aXplSG9tZVBhdGgoaG9tZVBhdGgpIn0sdGl0bGU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfdXBkYXRlVGl0bGUifSxyb3V0ZXI6e3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfdXBkYXRlUm91dGVyIn0sZGVtb0Rpcjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sdXNlSGFzaDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlZERhc2hib2FyZHM6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxfZGFzaGJvYXJkRGF0YTp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVEYXNoYm9hcmREYXRhKF9kYXNoYm9hcmRSZWdpc3RyeSkifSxfZGFzaGJvYXJkUmVnaXN0cnk6e3R5cGU6T2JqZWN0LApjb21wdXRlZDoiX2NvbXB1dGVEYXNoYm9hcmRSZWdpc3RyeShfcGx1Z2luc0xpc3RpbmcpIn0sX3BsdWdpbnNMaXN0aW5nOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHt9KX0sX2FjdGl2ZURhc2hib2FyZHM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlQWN0aXZlRGFzaGJvYXJkKF9kYXNoYm9hcmREYXRhLCBfcGx1Z2luc0xpc3RpbmcpIn0sX2FjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGU6e3R5cGU6U3RyaW5nLHZhbHVlOnBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRH0sX2FjdGl2ZURhc2hib2FyZHNOb3RMb2FkZWQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzTm90TG9hZGVkKF9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlKSJ9LF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc0xvYWRlZChfYWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZSkifSwKX2FjdGl2ZURhc2hib2FyZHNGYWlsZWRUb0xvYWQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzRmFpbGVkVG9Mb2FkKF9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlKSJ9LF9zaG93Tm9EYXNoYm9hcmRzTWVzc2FnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNob3dOb0Rhc2hib2FyZHNNZXNzYWdlKF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkLCBfYWN0aXZlRGFzaGJvYXJkcywgX3NlbGVjdGVkRGFzaGJvYXJkKSJ9LF9zaG93Tm9TdWNoRGFzaGJvYXJkTWVzc2FnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNob3dOb1N1Y2hEYXNoYm9hcmRNZXNzYWdlKF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkLCBfZGFzaGJvYXJkUmVnaXN0cnksIF9zZWxlY3RlZERhc2hib2FyZCkifSxfc2VsZWN0ZWREYXNoYm9hcmQ6e3R5cGU6U3RyaW5nLHZhbHVlOmJkLmdldFN0cmluZyhiZC5UQUIpfHxudWxsLG9ic2VydmVyOiJfc2VsZWN0ZWREYXNoYm9hcmRDaGFuZ2VkIn0sCl9kYXNoYm9hcmRUb01heWJlUmVtb3ZlOlN0cmluZyxfZGFzaGJvYXJkQ29udGFpbmVyc1N0YW1wZWQ6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfaXNSZWxvYWREaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfbGFzdFJlbG9hZFRpbWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub3QgeWV0IGxvYWRlZCJ9LF9sYXN0UmVsb2FkVGltZVNob3J0Ont0eXBlOlN0cmluZyx2YWx1ZToiTm90IHlldCBsb2FkZWQifSxfZGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfcmVmcmVzaGluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZVNlbGVjdGVkRGFzaGJvYXJkRnJvbUFjdGl2ZShfc2VsZWN0ZWREYXNoYm9hcmQsIF9hY3RpdmVEYXNoYm9hcmRzKSIsCiJfZW5zdXJlU2VsZWN0ZWREYXNoYm9hcmRTdGFtcGVkKF9kYXNoYm9hcmRSZWdpc3RyeSwgX2Rhc2hib2FyZENvbnRhaW5lcnNTdGFtcGVkLCBfYWN0aXZlRGFzaGJvYXJkcywgX3NlbGVjdGVkRGFzaGJvYXJkKSJdLF9zYW5pdGl6ZUhvbWVQYXRoKGIpe2lmKCFiKXJldHVybiIiO2NvbnN0IGQ9dG4uZ2V0TG9jYXRpb24oKSxmPW5ldyBVUkwoYixkLmhyZWYpLGg9Imh0dHA6Ij09PWYucHJvdG9jb2x8fCJodHRwczoiPT09Zi5wcm90b2NvbCxrPWYub3JpZ2luPT09ZC5vcmlnaW47aWYoIWgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEV4cGVjdCAnaG9tZVBhdGgnIHRvIGJlIG9mIGh0dHA6IG9yIGh0dHBzOi4gJHtifWApO2lmKCFrKXRocm93IG5ldyBSYW5nZUVycm9yKGBFeHBlY3QgJ2hvbWVQYXRoJyBiZSBhIHBhdGggb3IgaGF2ZSB0aGUgc2FtZSBvcmlnaW4uICR7Yn0gdnMuICR7ZC5vcmlnaW59YCk7cmV0dXJuIGgmJms/Zi50b1N0cmluZygpOiIifSxfYWN0aXZlRGFzaGJvYXJkc1VwZGF0ZWQoKXt9LApfaXNEYXNoYm9hcmRBY3RpdmUoYixkLGYpe3JldHVybiAwPD0oYnx8IiIpLnNwbGl0KCIsIikuaW5kZXhPZihmLnBsdWdpbil8fCEoZHx8W10pLmluY2x1ZGVzKGYucGx1Z2luKT8hMTohMH0sX2lzRGFzaGJvYXJkSW5hY3RpdmUoYixkLGYpe3JldHVybiAwPD0oYnx8IiIpLnNwbGl0KCIsIikuaW5kZXhPZihmLnBsdWdpbik/ITE6KGR8fFtdKS5pbmNsdWRlcyhmLnBsdWdpbik/ITE6ITB9LF9pbmFjdGl2ZURhc2hib2FyZHNFeGlzdChiLGQsZil7aWYoIWYpcmV0dXJuITE7Y29uc3QgaD1uZXcgU2V0O2IuZm9yRWFjaChrPT57aC5hZGQoay5wbHVnaW4pfSk7KGR8fCIiKS5zcGxpdCgiLCIpLmZvckVhY2goaz0+e2guZGVsZXRlKGsucGx1Z2luKX0pO2YuZm9yRWFjaChrPT57aC5kZWxldGUoayl9KTtyZXR1cm4gMDxoLnNpemV9LF9nZXREYXNoYm9hcmRGcm9tSW5kZXgoYixkKXtyZXR1cm4gYltkXX0sX3NlbGVjdGVkU3RhdHVzKGIsZCl7cmV0dXJuIGI9PT1kfSxfc2VsZWN0ZWREYXNoYm9hcmRDaGFuZ2VkKGIpe2I9CmJ8fCIiO2JkLnNldFN0cmluZyhiZC5UQUIsYik7bGV0IGQ9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO2QrPWQuZW5kc1dpdGgoIi8iKT9iOiIvIitiO2dhKCJzZXQiLCJwYWdlIixkKTtnYSgic2VuZCIsInBhZ2V2aWV3Iil9LF91cGRhdGVTZWxlY3RlZERhc2hib2FyZEZyb21BY3RpdmUoYixkKXtkJiZudWxsPT1iJiYoYj1kWzBdfHxudWxsLG51bGwhPWImJihiZC5zZXRTdHJpbmcoYmQuVEFCLGIse3VzZUxvY2F0aW9uUmVwbGFjZTohMH0pLHRoaXMuX3NlbGVjdGVkRGFzaGJvYXJkPWIpKX0sX3VwZGF0ZVNlbGVjdGVkRGFzaGJvYXJkRnJvbUhhc2goKXtjb25zdCBiPWJkLmdldFN0cmluZyhiZC5UQUIpO3RoaXMuc2V0KCJfc2VsZWN0ZWREYXNoYm9hcmQiLGJ8fG51bGwpfSxfZW5zdXJlU2VsZWN0ZWREYXNoYm9hcmRTdGFtcGVkKGIsZCxmLGgpe2lmKGYmJmgmJmRbaF0mJihkPXRoaXMuX2Rhc2hib2FyZFRvTWF5YmVSZW1vdmUsdGhpcy5fZGFzaGJvYXJkVG9NYXliZVJlbW92ZT0KaCxkJiZkIT1oJiZiW2RdLnJlbW92ZURvbSYmKGQ9dGhpcy4kJChgLmRhc2hib2FyZC1jb250YWluZXJbZGF0YS1kYXNoYm9hcmQ9JHtkfV1gKSxkLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5yZW1vdmUoKSksZD10aGlzLiQkKGAuZGFzaGJvYXJkLWNvbnRhaW5lcltkYXRhLWRhc2hib2FyZD0ke2h9XWApKSl7Yj1iW2hdO2lmKDA9PT1kLmNoaWxkcmVuLmxlbmd0aClzd2l0Y2goZj1iLmxvYWRpbmdNZWNoYW5pc20sZi50eXBlKXtjYXNlICJDVVNUT01fRUxFTUVOVCI6aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGYuZWxlbWVudE5hbWUpO2guaWQ9ImRhc2hib2FyZCI7ZC5hcHBlbmRDaGlsZChoKTticmVhaztjYXNlICJJRlJBTUUiOnRoaXMuX3JlbmRlclBsdWdpbklmcmFtZShkLGgsZik7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIkludmFyaWFudCB2aW9sYXRpb246IixmKX10aGlzLnNldCgiX2lzUmVsb2FkRGlzYWJsZWQiLGIuZGlzYWJsZVJlbG9hZCl9fSxfcmVuZGVyUGx1Z2luSWZyYW1lKGIsCmQpe2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Zi5pZD0iZGFzaGJvYXJkIjtnbC5ob3N0LnJlZ2lzdGVyUGx1Z2luSWZyYW1lKGYsZCk7Y29uc3QgaD1uZXcgVVJMKCJkYXRhL3BsdWdpbl9lbnRyeS5odG1sIix3aW5kb3cubG9jYXRpb24uaHJlZik7aC5zZWFyY2hQYXJhbXMuc2V0KCJuYW1lIixkKTtmLnNldEF0dHJpYnV0ZSgic3JjIixoLnRvU3RyaW5nKCkpO2IuYXBwZW5kQ2hpbGQoZil9LF9zZWxlY3RlZERhc2hib2FyZENvbXBvbmVudCgpe3JldHVybiB0aGlzLiQkKGAuZGFzaGJvYXJkLWNvbnRhaW5lcltkYXRhLWRhc2hib2FyZD0ke3RoaXMuX3NlbGVjdGVkRGFzaGJvYXJkfV0gI2Rhc2hib2FyZGApfSxyZWFkeSgpe3hjLnNldFVzZUhhc2godGhpcy51c2VIYXNoKTt0aGlzLl91cGRhdGVTZWxlY3RlZERhc2hib2FyZEZyb21IYXNoKCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLCgpPT57dGhpcy5fdXBkYXRlU2VsZWN0ZWREYXNoYm9hcmRGcm9tSGFzaCgpfSwKITEpO2RjLmVudmlyb25tZW50U3RvcmUuYWRkTGlzdGVuZXIoKCk9Pnt0aGlzLl9kYXRhTG9jYXRpb249ZGMuZW52aXJvbm1lbnRTdG9yZS5nZXREYXRhTG9jYXRpb24oKTtjb25zdCBiPWRjLmVudmlyb25tZW50U3RvcmUuZ2V0V2luZG93VGl0bGUoKTtiJiYod2luZG93LmRvY3VtZW50LnRpdGxlPWIpfSk7YmQubWlncmF0ZUxlZ2FjeVVSTFNjaGVtZSgpO3RoaXMuX3JlbG9hZERhdGEoKTt0aGlzLl9sYXN0UmVsb2FkVGltZT0obmV3IERhdGUpLnRvU3RyaW5nKCl9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkKCl7cmV0dXJuIHRoaXMuX2Rhc2hib2FyZERhdGE/dGhpcy5fZGFzaGJvYXJkRGF0YS5tYXAoYj0+Yi5wbHVnaW4pLmZpbHRlcihiPT57Yj10aGlzLl9wbHVnaW5zTGlzdGluZ1tiXTtyZXR1cm4iYm9vbGVhbiI9PT10eXBlb2YgYj9iOmImJmIuZW5hYmxlZH0pOltdfSxfb25UZW1wbGF0ZUNoYW5nZWQoKXtjb25zdCBiPXt9O2Zvcihjb25zdCBkIG9mIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuZGFzaGJvYXJkLWNvbnRhaW5lciIpKWJbZC5kYXRhc2V0LmRhc2hib2FyZF09CiEwO3RoaXMuX2Rhc2hib2FyZENvbnRhaW5lcnNTdGFtcGVkPWJ9LF9jb21wdXRlRGFzaGJvYXJkUmVnaXN0cnkoYil7Y29uc3QgZD17fTtmb3IoY29uc3QgW2gsa11vZiBPYmplY3QuZW50cmllcyhwZS5kYXNoYm9hcmRSZWdpc3RyeSkpZFtoXT17cGx1Z2luOmsucGx1Z2luLGxvYWRpbmdNZWNoYW5pc206e3R5cGU6IkNVU1RPTV9FTEVNRU5UIixlbGVtZW50TmFtZTprLmVsZW1lbnROYW1lfSx0YWJOYW1lOmsudGFiTmFtZS50b1VwcGVyQ2FzZSgpLGRpc2FibGVSZWxvYWQ6ay5pc1JlbG9hZERpc2FibGVkfHwhMSxyZW1vdmVEb206ay5yZW1vdmVEb218fCExfTtpZihudWxsIT1iKWZvcihjb25zdCBbaCxrXW9mIE9iamVjdC5lbnRyaWVzKGIpKWlmKCJib29sZWFuIiE9PXR5cGVvZiBrKXtzd2l0Y2goay5sb2FkaW5nX21lY2hhbmlzbS50eXBlKXtjYXNlICJOT05FIjpudWxsPT1kW2hdJiZjb25zb2xlLndhcm4oIlBsdWdpbiBoYXMgbm8gbG9hZGluZyBtZWNoYW5pc20gYW5kIG5vIGJha2VkLWluIHJlZ2lzdHJ5IGVudHJ5OiAlcyIsCmgpO2NvbnRpbnVlO2Nhc2UgIkNVU1RPTV9FTEVNRU5UIjp2YXIgZj17dHlwZToiQ1VTVE9NX0VMRU1FTlQiLGVsZW1lbnROYW1lOmsubG9hZGluZ19tZWNoYW5pc20uZWxlbWVudF9uYW1lfTticmVhaztjYXNlICJJRlJBTUUiOmY9e3R5cGU6IklGUkFNRSIsbW9kdWxlUGF0aDprLmxvYWRpbmdfbWVjaGFuaXNtLm1vZHVsZV9wYXRofTticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVW5rbm93biBsb2FkaW5nIG1lY2hhbmlzbSBmb3IgcGx1Z2luICVzOiAlcyIsaCxrLmxvYWRpbmdfbWVjaGFuaXNtKTtjb250aW51ZX1udWxsPT1mJiZjb25zb2xlLmVycm9yKCJJbnZhcmlhbnQgdmlvbGF0aW9uOiBsb2FkaW5nTWVjaGFuaXNtIGlzICVzIGZvciAlcyIsZixoKTtkW2hdPXtwbHVnaW46aCxsb2FkaW5nTWVjaGFuaXNtOmYsdGFiTmFtZTprLnRhYl9uYW1lLnRvVXBwZXJDYXNlKCksZGlzYWJsZVJlbG9hZDprLmRpc2FibGVfcmVsb2FkLHJlbW92ZURvbTprLnJlbW92ZV9kb219fWY9e307CmZvcihjb25zdCBoIG9mIE9iamVjdC5rZXlzKGIpKWRbaF0mJihmW2hdPWRbaF0pO09iamVjdC5hc3NpZ24oZixkKTtyZXR1cm4gZn0sX2NvbXB1dGVEYXNoYm9hcmREYXRhKGIpe3JldHVybiBPYmplY3QudmFsdWVzKGIpfSxfZmV0Y2hQbHVnaW5zTGlzdGluZygpe3RoaXMuX2NhbmNlbGxlci5jYW5jZWxBbGwoKTtjb25zdCBiPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShkPT57ZC5jYW5jZWxsZWR8fCh0aGlzLl9wbHVnaW5zTGlzdGluZz1kLnZhbHVlLHRoaXMuX2FjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGU9cGUuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZS5MT0FERUQpfSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luc0xpc3RpbmcoKSkudGhlbihiLCgpPT57dGhpcy5fYWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZT09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRD90aGlzLl9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlPQpwZS5BY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlLkZBSUxFRDpjb25zb2xlLndhcm4oIkZhaWxlZCB0byByZWxvYWQgdGhlIHNldCBvZiBhY3RpdmUgcGx1Z2luczsgdXNpbmcgb2xkIHZhbHVlLiIpfSl9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc05vdExvYWRlZChiKXtyZXR1cm4gYj09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRH0sX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzTG9hZGVkKGIpe3JldHVybiBiPT09cGUuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZS5MT0FERUR9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc0ZhaWxlZFRvTG9hZChiKXtyZXR1cm4gYj09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuRkFJTEVEfSxfY29tcHV0ZVNob3dOb0Rhc2hib2FyZHNNZXNzYWdlKGIsZCxmKXtyZXR1cm4gYiYmMD09PWQubGVuZ3RoJiZudWxsPT1mfSxfY29tcHV0ZVNob3dOb1N1Y2hEYXNoYm9hcmRNZXNzYWdlKGIsZCxmKXtyZXR1cm4gYiYmISFmJiYKbnVsbD09ZFtmXX0sX3VwZGF0ZVJvdXRlcihiKXtkYy5zZXRSb3V0ZXIoYil9LF91cGRhdGVUaXRsZShiKXtiJiZ0aGlzLnNldCgiYnJhbmQiLGIpfSxyZWxvYWQoKXt0aGlzLl9pc1JlbG9hZERpc2FibGVkfHwodGhpcy5fcmVsb2FkRGF0YSgpLnRoZW4oKCk9Pntjb25zdCBiPXRoaXMuX3NlbGVjdGVkRGFzaGJvYXJkQ29tcG9uZW50KCk7YiYmYi5yZWxvYWQmJmIucmVsb2FkKCl9KSx0aGlzLl9sYXN0UmVsb2FkVGltZT0obmV3IERhdGUpLnRvU3RyaW5nKCkpfSxfcmVsb2FkRGF0YSgpe3RoaXMuX3JlZnJlc2hpbmc9ITA7cmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLl9mZXRjaFBsdWdpbnNMaXN0aW5nKCksZGMuZW52aXJvbm1lbnRTdG9yZS5yZWZyZXNoKCksZGMucnVuc1N0b3JlLnJlZnJlc2goKSxkYy5leHBlcmltZW50c1N0b3JlLnJlZnJlc2goKV0pLnRoZW4oKCk9Pnt0aGlzLl9sYXN0UmVsb2FkVGltZVNob3J0PShuZXcgRGF0ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKHZvaWQgMCwKe21vbnRoOiJsb25nIixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pfSkuZmluYWxseSgoKT0+e3RoaXMuX3JlZnJlc2hpbmc9ITF9KX0sX2dldERhdGFSZWZyZXNoaW5nQ2xhc3MoKXtyZXR1cm4gdGhpcy5fcmVmcmVzaGluZz8icmVmcmVzaGluZyI6IiJ9LG9wZW5TZXR0aW5ncygpe3RoaXMuJC5zZXR0aW5ncy5vcGVuKCk7dGhpcy4kLnBhZ2luYXRpb25MaW1pdElucHV0LnZhbHVlPXNkLmdldExpbWl0KCl9LF9wYWdpbmF0aW9uTGltaXRWYWxpZGF0ZShiKXtiLnRhcmdldC52YWxpZGF0ZSgpfSxfcGFnaW5hdGlvbkxpbWl0Q2hhbmdlZChiKXtiPU51bWJlci5wYXJzZUludChiLnRhcmdldC52YWx1ZSwxMCk7Yj09PStiJiYwPGImJnNkLnNldExpbWl0KGIpfX0pOwo=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/javascript; charset=utf-8"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugins_listing": {
+ "data": "eyJzY2FsYXJzIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IHRydWUsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJzY2FsYXJzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1zY2FsYXItZGFzaGJvYXJkIn19LCAiY3VzdG9tX3NjYWxhcnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJDdXN0b20gU2NhbGFycyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQifX0sICJpbWFnZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImltYWdlcyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtaW1hZ2UtZGFzaGJvYXJkIn19LCAiYXVkaW8iOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJhdWRpbyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtYXVkaW8tZGFzaGJvYXJkIn19LCAiZGVidWdnZXIiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJkZWJ1Z2dlciIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtZGVidWdnZXItZGFzaGJvYXJkIn19LCAiZ3JhcGhzIjogeyJkaXNhYmxlX3JlbG9hZCI6IHRydWUsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJncmFwaHMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWdyYXBoLWRhc2hib2FyZCJ9fSwgImRpc3RyaWJ1dGlvbnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImRpc3RyaWJ1dGlvbnMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWRpc3RyaWJ1dGlvbi1kYXNoYm9hcmQifX0sICJoaXN0b2dyYW1zIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IHRydWUsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJoaXN0b2dyYW1zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1oaXN0b2dyYW0tZGFzaGJvYXJkIn19LCAidGV4dCI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogInRleHQiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLXRleHQtZGFzaGJvYXJkIn19LCAicHJfY3VydmVzIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiUFIgQ3VydmVzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1wci1jdXJ2ZS1kYXNoYm9hcmQifX0sICJwcm9maWxlX3JlZGlyZWN0IjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiUHJvZmlsZSIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQifX0sICJiZWhvbGRlciI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiB0cnVlLCAidGFiX25hbWUiOiAiYmVob2xkZXIiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWJlaG9sZGVyLWRhc2hib2FyZCJ9fSwgImhwYXJhbXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJocGFyYW1zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1ocGFyYW1zLWRhc2hib2FyZCJ9fSwgIm1lc2giOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJtZXNoIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJtZXNoLWRhc2hib2FyZCJ9fSwgInByb2plY3RvciI6IHsiZGlzYWJsZV9yZWxvYWQiOiB0cnVlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAicHJvamVjdG9yIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vcHJvamVjdG9yL2luZGV4LmpzIn19LCAid2hhdGlmIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiV2hhdC1JZiBUb29sIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vd2hhdGlmL2luZGV4LmpzIn19fQ==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/environment": {
+ "data": "eyJkYXRhX2xvY2F0aW9uIjogInJ1bnMiLCAid2luZG93X3RpdGxlIjogIiJ9",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/runs": {
+ "data": "WyJKdW4xMF8wNy01Ny00NF9iZjVhOWU4YzMzZjN5b2xvdjVzX3Jlc3VsdHMiXQ==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/experiments": {
+ "data": "W10=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/font-roboto/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2": {
+ "data": "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",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "font/woff2"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/tags": {
+ "data": "eyJKdW4xMF8wNy01Ny00NF9iZjVhOWU4YzMzZjN5b2xvdjVzX3Jlc3VsdHMiOiB7InRyYWluL2dpb3VfbG9zcyI6IHsiZGlzcGxheU5hbWUiOiAidHJhaW4vZ2lvdV9sb3NzIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAidHJhaW4vb2JqX2xvc3MiOiB7ImRpc3BsYXlOYW1lIjogInRyYWluL29ial9sb3NzIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAidHJhaW4vY2xzX2xvc3MiOiB7ImRpc3BsYXlOYW1lIjogInRyYWluL2Nsc19sb3NzIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAibWV0cmljcy9wcmVjaXNpb24iOiB7ImRpc3BsYXlOYW1lIjogIm1ldHJpY3MvcHJlY2lzaW9uIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAibWV0cmljcy9yZWNhbGwiOiB7ImRpc3BsYXlOYW1lIjogIm1ldHJpY3MvcmVjYWxsIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAibWV0cmljcy9tQVBfMC41IjogeyJkaXNwbGF5TmFtZSI6ICJtZXRyaWNzL21BUF8wLjUiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJtZXRyaWNzL0YxIjogeyJkaXNwbGF5TmFtZSI6ICJtZXRyaWNzL0YxIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAidmFsL2dpb3VfbG9zcyI6IHsiZGlzcGxheU5hbWUiOiAidmFsL2dpb3VfbG9zcyIsICJkZXNjcmlwdGlvbiI6ICIifSwgInZhbC9vYmpfbG9zcyI6IHsiZGlzcGxheU5hbWUiOiAidmFsL29ial9sb3NzIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAidmFsL2Nsc19sb3NzIjogeyJkaXNwbGF5TmFtZSI6ICJ2YWwvY2xzX2xvc3MiLCAiZGVzY3JpcHRpb24iOiAiIn19fQ==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=metrics%2FF1&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzcyNSwgMCwgMC4wMDUwNDg0NzcwOTA4OTUxNzZdLCBbMTU5MTc3NTg5Ny41MDQ4MDIsIDEsIDAuMDA1Mjg3MDI2MDU1MTU3MTg1XSwgWzE1OTE3NzU5MDEuODg2OTM4MywgMiwgMC4wMDU0NDEzODA2NjQ3MDYyM10sIFsxNTkxNzc1OTA2LjQzMTYzNzUsIDMsIDAuMDA1ODM5NzM1MjY5NTQ2NTA5XSwgWzE1OTE3NzU5MTAuOTAwNjI4MywgNCwgMC4wMDU4MTMwODgyNjgwNDE2MTFdLCBbMTU5MTc3NTkxNS40Mjc3OTI4LCA1LCAwLjAwNjIyNDUxMjEyMjU3MTQ2OF0sIFsxNTkxNzc1OTIwLjAzMzAwNzYsIDYsIDAuMDA1ODYyNjM0MTYzMzQ5ODY3XSwgWzE1OTE3NzU5MjQuNDkyMDk2MiwgNywgMC4wMDQxNTYyNDUzODQzNjUzMl0sIFsxNTkxNzc1OTI4Ljk5MDM3NywgOCwgMC4wMTAwNDM5MjI4MTE3NDY1OTddLCBbMTU5MTc3NTkzMy41MTY3NjE4LCA5LCAwLjAwNDc5MTg1Mzk0OTQyNzYwNV0sIFsxNTkxNzc1OTM4LjExODE1OCwgMTAsIDAuMDIzMTQzNTExMjY1NTE2MjhdLCBbMTU5MTc3NTk0Mi43MjY4MTI0LCAxMSwgMC4wMzA4OTM4ODgzMjQ0OTkxM10sIFsxNTkxNzc1OTQ3LjM0NTYzNCwgMTIsIDAuMDIzOTI4Mzc5NjM5OTgzMTc3XSwgWzE1OTE3NzU5NTIuMDEzNzkzMiwgMTMsIDAuMDIzNjA1NTkyNTQ4ODQ3Ml0sIFsxNTkxNzc1OTU2LjYzMzI1ODMsIDE0LCAwLjAzMDg5NjgxODI2NTMxODg3XSwgWzE1OTE3NzU5NjAuOTM5MjE2NiwgMTUsIDAuMDA1MDUyNDM5NDAyNzg4ODc3NV0sIFsxNTkxNzc1OTY1Ljc4Mzg1LCAxNiwgMC4wNjAyODExMzg4NjcxMzk4MTZdLCBbMTU5MTc3NTk3MC4zMTg1ODUyLCAxNywgMC4wMTAxNTMwOTgwMzE4Nzg0NzFdLCBbMTU5MTc3NTk3NS4yMTU1NDEsIDE4LCAwLjEwNzY2NjcwODUyODk5NTUxXSwgWzE1OTE3NzU5NzkuNDc0NTcxMiwgMTksIDAuMDQ2NTc4OTQzNzI5NDAwNjM1XSwgWzE1OTE3NzU5ODMuNjEyMzQ4MywgMjAsIDAuMDAzNTg1NTUwMDAyNzUzNzM0Nl0sIFsxNTkxNzc1OTg4LjE1NzI4MjYsIDIxLCAwLjA0NjYxNTA1NjY5MzU1MzkyNV0sIFsxNTkxNzc1OTkyLjg0Mjc4MzcsIDIyLCAwLjEwMDg5MTYxMjQ3MDE1XSwgWzE1OTE3NzU5OTcuNTQ2MTQwMiwgMjMsIDAuMTczODg3MjM3OTA2NDU2XSwgWzE1OTE3NzYwMDIuMjY4MzUwNiwgMjQsIDAuMDcyNTg4NTYyOTY1MzkzMDddLCBbMTU5MTc3NjAwNy4wMzAzOTE3LCAyNSwgMC4yNzY1NjY3NzM2NTMwMzA0XSwgWzE1OTE3NzYwMTEuNjQ0OTI1LCAyNiwgMC4xMTcxNTQ1MTYyNzk2OTc0Ml0sIFsxNTkxNzc2MDE1LjkyODUxNCwgMjcsIDAuMDA3NDUyNDM0ODYwMTY5ODg3NV0sIFsxNTkxNzc2MDIwLjE4MjY5NiwgMjgsIDAuMDc0MTg3MzQ1ODAyNzgzOTddLCBbMTU5MTc3NjAyNC43NjE5LCAyOSwgMC4xMDgxNTE3NzExMjgxNzc2NF0sIFsxNTkxNzc2MDI5LjUxNjk0OCwgMzAsIDAuMjA1MjA1MDUzMDkxMDQ5Ml0sIFsxNTkxNzc2MDM0LjU2NzY2NTYsIDMxLCAwLjE2MTE1NjUzNTE0ODYyMDZdLCBbMTU5MTc3NjAzOS4xNjk1ODgzLCAzMiwgMC4xNjEyOTUxNDU3NTAwNDU3OF0sIFsxNTkxNzc2MDQzLjg5MzU1OTUsIDMzLCAwLjIzNTg0NjkwNjkwMDQwNTg4XSwgWzE1OTE3NzYwNDguNjUxNDksIDM0LCAwLjIxMzc1Mjk0MDI5NzEyNjc3XSwgWzE1OTE3NzYwNTMuMzAwNjk3LCAzNSwgMC4yMjg4MDA1MDUzOTk3MDM5OF0sIFsxNTkxNzc2MDU3Ljc4MjYwNCwgMzYsIDAuMTUyMDg3NTI0NTMzMjcxOF0sIFsxNTkxNzc2MDYyLjY3MTQ3MzUsIDM3LCAwLjMyODA1MDA0NzE1OTE5NDk1XSwgWzE1OTE3NzYwNjcuMzk5NTAxOCwgMzgsIDAuMzc4NTE3NTY4MTExNDE5N10sIFsxNTkxNzc2MDcyLjA3ODQ0NDIsIDM5LCAwLjI5OTg4NDg4NTU0OTU0NTNdLCBbMTU5MTc3NjA3Ni41NzQ2NDg5LCA0MCwgMC4yMDU4MDYwMDIwMjA4MzU4OF0sIFsxNTkxNzc2MDgxLjE0Njk4LCA0MSwgMC4yODkyNjEwNDMwNzE3NDY4XSwgWzE1OTE3NzYwODUuNzg4NzQxNCwgNDIsIDAuNDA0ODMxMzc5NjUyMDIzM10sIFsxNTkxNzc2MDkwLjcxNDIyNzIsIDQzLCAwLjQwMTM1MjMxNjE0MTEyODU0XSwgWzE1OTE3NzYwOTUuNTA0NTMzMywgNDQsIDAuMzIzNTc2NTA5OTUyNTQ1MTddLCBbMTU5MTc3NjEwMC4zODg2MTIsIDQ1LCAwLjM5MzAxMjE2NjAyMzI1NDRdLCBbMTU5MTc3NjEwNS4wMTIyMzc1LCA0NiwgMC4yMjcyMjI0Mjc3MjU3OTE5M10sIFsxNTkxNzc2MTA5LjY0NTAyMDcsIDQ3LCAwLjM5MzgzMzg3NTY1NjEyNzkzXSwgWzE1OTE3NzYxMTQuMjQ3Nzc2LCA0OCwgMC4zMjk1NzM0MjI2NzAzNjQ0XSwgWzE1OTE3NzYxMTkuMTU4NjgxLCA0OSwgMC4zODY4NDEzMjY5NTE5ODA2XSwgWzE1OTE3NzYxMjMuODM4MTI5LCA1MCwgMC40MzYzNDU1MTc2MzUzNDU0Nl0sIFsxNTkxNzc2MTI4LjUwNjY5MzQsIDUxLCAwLjQxNzYxNDE2MTk2ODIzMTJdLCBbMTU5MTc3NjEzMy4zMTU2ODE1LCA1MiwgMC4zMTQ3NDY1NTg2NjYyMjkyNV0sIFsxNTkxNzc2MTM4LjAwMDE2OTUsIDUzLCAwLjI4NzEzMTMzOTMxMTU5OTczXSwgWzE1OTE3NzYxNDIuNjcyNzg1OCwgNTQsIDAuNDM5MDMwMDUxMjMxMzg0M10sIFsxNTkxNzc2MTQ3LjMzOTg0MiwgNTUsIDAuMzY0NDYxODM5MTk5MDY2MTZdLCBbMTU5MTc3NjE1MS45MDY2MzgxLCA1NiwgMC40MDMzNjMwMTkyMjc5ODE1N10sIFsxNTkxNzc2MTU2LjQxMDgwMiwgNTcsIDAuNDIxMzk4NjA5ODc2NjMyN10sIFsxNTkxNzc2MTYxLjE0MzAzNDcsIDU4LCAwLjQyMzU5NDg5MjAyNDk5MzldLCBbMTU5MTc3NjE2NS43NjcyNTUzLCA1OSwgMC40MTkzNTk5MjI0MDkwNTc2XSwgWzE1OTE3NzYxNzAuNDA2NDMzOCwgNjAsIDAuNDI3MDcyNjc0MDM2MDI2XSwgWzE1OTE3NzYxNzUuMDgwMzMwMSwgNjEsIDAuNDIwODA3NTEwNjE0Mzk1MTRdLCBbMTU5MTc3NjE3OS42MDY3MjQzLCA2MiwgMC40NTY5NDA2MjExMzc2MTldLCBbMTU5MTc3NjE4NC4wODkyMzMsIDYzLCAwLjM1ODQ3MzMzMDczNjE2MDNdLCBbMTU5MTc3NjE4OC43OTIyOTI0LCA2NCwgMC40Nzk5MTgwNjI2ODY5MjAxN10sIFsxNTkxNzc2MTkzLjMzMjM0NCwgNjUsIDAuNDY2NTMzMDk0NjQ0NTQ2NV0sIFsxNTkxNzc2MTk3Ljk0MjA2MDIsIDY2LCAwLjQzODg3NTY3NTIwMTQxNl0sIFsxNTkxNzc2MjAyLjYyNzAwMzcsIDY3LCAwLjQ1NDc0NjUxNDU1ODc5MjFdLCBbMTU5MTc3NjIwNy4xNDMxOTA2LCA2OCwgMC41MTU2NzQ4Mjk0ODMwMzIyXSwgWzE1OTE3NzYyMTEuNjcxMjQ1OCwgNjksIDAuNDI0ODAyODA5OTUzNjg5Nl0sIFsxNTkxNzc2MjE2LjQyODQ0NSwgNzAsIDAuNDMxMTI5NDI1NzY0MDgzODZdLCBbMTU5MTc3NjIyMC45OTMxNjM2LCA3MSwgMC40NTA2MjYwNzUyNjc3OTE3NV0sIFsxNTkxNzc2MjI1LjUzNjA5NzgsIDcyLCAwLjQ4MjkyMTMwMjMxODU3M10sIFsxNTkxNzc2MjMwLjE4ODAyMzMsIDczLCAwLjQ3MzY5ODM0NzgwNjkzMDU0XSwgWzE1OTE3NzYyMzQuNjg5NDE2MiwgNzQsIDAuNDU0MDE2ODA0Njk1MTI5NF0sIFsxNTkxNzc2MjM5LjMzMTc0ODIsIDc1LCAwLjQ3ODkwNTg4NjQxMTY2Njg3XSwgWzE1OTE3NzYyNDMuOTk3Mzk4LCA3NiwgMC41MjczNzc5NjMwNjYxMDExXSwgWzE1OTE3NzYyNDguNTcyMzYsIDc3LCAwLjUyMzE3MjA4MDUxNjgxNTJdLCBbMTU5MTc3NjI1My4xNTYxNTU4LCA3OCwgMC41MDk0MjU4Nzg1MjQ3ODAzXSwgWzE1OTE3NzYyNTcuODY1MjM3LCA3OSwgMC40NTEwNjQ1ODY2Mzk0MDQzXSwgWzE1OTE3NzYyNjIuMzk5NDAzMywgODAsIDAuNTQxMTA5NDQyNzEwODc2NV0sIFsxNTkxNzc2MjY2LjkxNTM3MywgODEsIDAuNTM3NTYzNjgxNjAyNDc4XSwgWzE1OTE3NzYyNzEuNjE0NjI0LCA4MiwgMC41MzM1MzMwOTYzMTM0NzY2XSwgWzE1OTE3NzYyNzYuMDk4NDkxMiwgODMsIDAuNDgxMzA0NDM2OTIyMDczMzZdLCBbMTU5MTc3NjI4MC42MDEzODMyLCA4NCwgMC41MjgwMjk3Mzk4NTY3Ml0sIFsxNTkxNzc2Mjg1LjEzMDI1MzYsIDg1LCAwLjUzMTIzMjI5NzQyMDUwMTddLCBbMTU5MTc3NjI4OS43ODQwNDE2LCA4NiwgMC41NDQzOTc0MTM3MzA2MjEzXSwgWzE1OTE3NzYyOTQuNDEwNDQzNSwgODcsIDAuNTI0NDUxMTk2MTkzNjk1MV0sIFsxNTkxNzc2Mjk5LjE1ODM4MSwgODgsIDAuNTM3NzcxNTIyOTk4ODA5OF0sIFsxNTkxNzc2MzAzLjcwNzk0NDQsIDg5LCAwLjUyNjY3MjU0MjA5NTE4NDNdLCBbMTU5MTc3NjMwOC4yNDM2Nzg4LCA5MCwgMC41MzgwMzk4NjMxMDk1ODg2XSwgWzE1OTE3NzYzMTIuODAwODEwNiwgOTEsIDAuNTMwNjU5Nzk0ODA3NDM0MV0sIFsxNTkxNzc2MzE3LjQ1MDYyNzYsIDkyLCAwLjUzMDM5Mzg5ODQ4NzA5MTFdLCBbMTU5MTc3NjMyMS45Mzc1MzcsIDkzLCAwLjUzNzk2NTUzNjExNzU1MzddLCBbMTU5MTc3NjMyNi40Njc0NzIsIDk0LCAwLjU1Mjg5MDMwMDc1MDczMjRdLCBbMTU5MTc3NjMzMS4wNzQ1MDM3LCA5NSwgMC41NTk3NTg3ODIzODY3Nzk4XSwgWzE1OTE3NzYzMzUuNjIxMDkzLCA5NiwgMC41NTUzODU4ODc2MjI4MzMzXSwgWzE1OTE3NzYzNDAuMTM1NDIyNywgOTcsIDAuNTU0MjI3NDExNzQ2OTc4OF0sIFsxNTkxNzc2MzQ0LjcyNTQ0MzgsIDk4LCAwLjU1MzM2MjE5MDcyMzQxOTJdLCBbMTU5MTc3NjM0OS4yMTc2MzMsIDk5LCAwLjUyNDk0NjY4OTYwNTcxMjldXQ==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=metrics%2FmAP_0.5&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzcwNDUsIDAsIDAuMDI1NjYxNjI4NjkzMzQyMjFdLCBbMTU5MTc3NTg5Ny41MDQ3ODM5LCAxLCAwLjAyNTMzMzA1OTk1MTY2MzAxN10sIFsxNTkxNzc1OTAxLjg4NjkyMiwgMiwgMC4wMjYwMzg2MTg3NTgzMjA4MV0sIFsxNTkxNzc1OTA2LjQzMTYyMDYsIDMsIDAuMDI3NTg5NTQwOTI4NjAyMjJdLCBbMTU5MTc3NTkxMC45MDA2MTEsIDQsIDAuMDI4NzU5NDYyNzU4ODk4NzM1XSwgWzE1OTE3NzU5MTUuNDI3Nzc1LCA1LCAwLjAyODg1NDU3MTI4Mjg2MzYxN10sIFsxNTkxNzc1OTIwLjAzMjk5MSwgNiwgMC4wMjYyODM4ODYyODM2MzYwOTNdLCBbMTU5MTc3NTkyNC40OTIwOCwgNywgMC4wMjMwNTQxMjEwNjIxNTk1NF0sIFsxNTkxNzc1OTI4Ljk5MDM2MDUsIDgsIDAuMDM5NzQwNDEzNDI3MzUyOTA1XSwgWzE1OTE3NzU5MzMuNTE2NzQ1MywgOSwgMC4wMjQwNTg4OTUxODU1ODk3OV0sIFsxNTkxNzc1OTM4LjExODE0MSwgMTAsIDAuMDk5NTYxNjE2Nzc4MzczNzJdLCBbMTU5MTc3NTk0Mi43MjY3OTUsIDExLCAwLjE0ODc4MDI3MTQxMDk0MjA4XSwgWzE1OTE3NzU5NDcuMzQ1NjE2MywgMTIsIDAuMTE0OTgxNzU1NjE0MjgwN10sIFsxNTkxNzc1OTUyLjAxMzc3NiwgMTMsIDAuMTE3ODU5NjkxMzgxNDU0NDddLCBbMTU5MTc3NTk1Ni42MzMyNDA1LCAxNCwgMC4xMzg5OTY0NjY5OTQyODU1OF0sIFsxNTkxNzc1OTYwLjkzOTIsIDE1LCAwLjAyNjI5OTE5MTYzODgyNzMyNF0sIFsxNTkxNzc1OTY1Ljc4MzgxMDEsIDE2LCAwLjIyNDUzNDI3MzE0NzU4M10sIFsxNTkxNzc1OTcwLjMxODU2NjYsIDE3LCAwLjA1NzkyMTI2MDU5NTMyMTY1NV0sIFsxNTkxNzc1OTc1LjIxNTUyNCwgMTgsIDAuMzQxNzQwNjA4MjE1MzMyMDNdLCBbMTU5MTc3NTk3OS40NzQ1NTQzLCAxOSwgMC4xNTYyMzE5MDk5OTAzMTA2N10sIFsxNTkxNzc1OTgzLjYxMjMzMTksIDIwLCAwLjAxNzUxNDAxODM0MTg5ODkxOF0sIFsxNTkxNzc1OTg4LjE1NzI0OCwgMjEsIDAuMTkxMTMzODU2NzczMzc2NDZdLCBbMTU5MTc3NTk5Mi44NDI3NjcsIDIyLCAwLjM1NDc1OTYzMzU0MTEwNzJdLCBbMTU5MTc3NTk5Ny41NDYxMDk0LCAyMywgMC40NzQxOTY4MjE0NTExODcxM10sIFsxNTkxNzc2MDAyLjI2ODMzNCwgMjQsIDAuMzE3MzMyMTc4MzU0MjYzM10sIFsxNTkxNzc2MDA3LjAzMDM3NSwgMjUsIDAuNjYwMzg1MDcyMjMxMjkyN10sIFsxNTkxNzc2MDExLjY0NDg5OTgsIDI2LCAwLjM5NjU1NDc5Nzg4NzgwMjFdLCBbMTU5MTc3NjAxNS45Mjg0OTY4LCAyNywgMC4wMzEzODEwNzQzMzkxNTEzOF0sIFsxNTkxNzc2MDIwLjE4MjY3ODUsIDI4LCAwLjI1NDc1MDU0OTc5MzI0MzRdLCBbMTU5MTc3NjAyNC43NjE4NzA0LCAyOSwgMC4zNTE1NzczNDE1NTY1NDkxXSwgWzE1OTE3NzYwMjkuNTE2OTMxNSwgMzAsIDAuNTE0NDgyMzc4OTU5NjU1OF0sIFsxNTkxNzc2MDM0LjU2NzY0OTQsIDMxLCAwLjU4OTEwODI4ODI4ODExNjVdLCBbMTU5MTc3NjAzOS4xNjk1NDEsIDMyLCAwLjQzOTA0OTc1MDU2NjQ4MjU0XSwgWzE1OTE3NzYwNDMuODkzNTM0MiwgMzMsIDAuNjQ0ODg5MDU2NjgyNTg2N10sIFsxNTkxNzc2MDQ4LjY1MTQ3MjMsIDM0LCAwLjYyMzk5MjM4MzQ4MDA3Ml0sIFsxNTkxNzc2MDUzLjMwMDY3OTIsIDM1LCAwLjY1OTYxMzM3MDg5NTM4NTddLCBbMTU5MTc3NjA1Ny43ODI1ODcsIDM2LCAwLjQ4Njc0MjI1ODA3MTg5OTRdLCBbMTU5MTc3NjA2Mi42NzE0NTYsIDM3LCAwLjcwNzQyNDk5ODI4MzM4NjJdLCBbMTU5MTc3NjA2Ny4zOTk0ODQ2LCAzOCwgMC44MTI4NTg3NjAzNTY5MDMxXSwgWzE1OTE3NzYwNzIuMDc4NDI0LCAzOSwgMC43OTU4NTIyNDM5MDAyOTkxXSwgWzE1OTE3NzYwNzYuNTc0NjMxMiwgNDAsIDAuNjE0NTY3MDQxMzk3MDk0N10sIFsxNTkxNzc2MDgxLjE0Njk2MzQsIDQxLCAwLjczODc3OTY2NDAzOTYxMThdLCBbMTU5MTc3NjA4NS43ODg3MjUsIDQyLCAwLjgwMjgxODAwMDMxNjYxOTldLCBbMTU5MTc3NjA5MC43MTQyMDksIDQzLCAwLjgzMTA2MzI3MDU2ODg0NzddLCBbMTU5MTc3NjA5NS41MDQ1MTQsIDQ0LCAwLjc1OTMzMzE5MzMwMjE1NDVdLCBbMTU5MTc3NjEwMC4zODg1ODM0LCA0NSwgMC43OTE5NjEwMTQyNzA3ODI1XSwgWzE1OTE3NzYxMDUuMDEyMjEwOCwgNDYsIDAuNjA5NDMzNTkxMzY1ODE0Ml0sIFsxNTkxNzc2MTA5LjY0NTAwNCwgNDcsIDAuODA2NzkyMzE4ODIwOTUzNF0sIFsxNTkxNzc2MTE0LjI0Nzc1OTMsIDQ4LCAwLjcwMTg1Mjc5ODQ2MTkxNDFdLCBbMTU5MTc3NjExOS4xNTg2NjQ1LCA0OSwgMC44MjU1MTc4OTI4Mzc1MjQ0XSwgWzE1OTE3NzYxMjMuODM4MTExNCwgNTAsIDAuODM3NTE4MDM2MzY1NTA5XSwgWzE1OTE3NzYxMjguNTA2Njc2NywgNTEsIDAuODEwNTk5NjI1MTEwNjI2Ml0sIFsxNTkxNzc2MTMzLjMxNTY2NCwgNTIsIDAuNzQ0NjY4NTQzMzM4Nzc1Nl0sIFsxNTkxNzc2MTM4LjAwMDE1MiwgNTMsIDAuNzI2Mzg2MTg5NDYwNzU0NF0sIFsxNTkxNzc2MTQyLjY3Mjc2MDUsIDU0LCAwLjc4Nzc5NjE5OTMyMTc0NjhdLCBbMTU5MTc3NjE0Ny4zMzk4MDE4LCA1NSwgMC44NDA3Mzc3NjAwNjY5ODYxXSwgWzE1OTE3NzYxNTEuOTA2NjIxMiwgNTYsIDAuNzU4NTQwOTg3OTY4NDQ0OF0sIFsxNTkxNzc2MTU2LjQxMDc4NSwgNTcsIDAuNzg5MTM5MjcwNzgyNDcwN10sIFsxNTkxNzc2MTYxLjE0MzAxOCwgNTgsIDAuODI0NTgyMTU5NTE5MTk1Nl0sIFsxNTkxNzc2MTY1Ljc2NzIzOCwgNTksIDAuNzk5NDIyNDQyOTEzMDU1NF0sIFsxNTkxNzc2MTcwLjQwNjQxNjcsIDYwLCAwLjc4NjkyNjYyNzE1OTExODddLCBbMTU5MTc3NjE3NS4wODAzMTM0LCA2MSwgMC44MTQwMjEwNTA5MzAwMjMyXSwgWzE1OTE3NzYxNzkuNjA2NzA3LCA2MiwgMC44NzA0NTYxNTkxMTQ4Mzc2XSwgWzE1OTE3NzYxODQuMDg5MjEyNywgNjMsIDAuNjYzMTU1OTEzMzUyOTY2M10sIFsxNTkxNzc2MTg4Ljc5MjI3NSwgNjQsIDAuODY2ODcxNTM1Nzc4MDQ1N10sIFsxNTkxNzc2MTkzLjMzMjMyNzQsIDY1LCAwLjg3NDc3NTk0NjE0MDI4OTNdLCBbMTU5MTc3NjE5Ny45NDIwNDMsIDY2LCAwLjg1NzM3NzQ2OTUzOTY0MjNdLCBbMTU5MTc3NjIwMi42MjY5ODU4LCA2NywgMC44NzAxMzE1NTIyMTkzOTA5XSwgWzE1OTE3NzYyMDcuMTQzMTcyNSwgNjgsIDAuODg4MzY5OTc3NDc0MjEyNl0sIFsxNTkxNzc2MjExLjY3MTIyNiwgNjksIDAuODczNzM5MjQyNTUzNzEwOV0sIFsxNTkxNzc2MjE2LjQyODQyODIsIDcwLCAwLjg2NjEzODc1NjI3NTE3N10sIFsxNTkxNzc2MjIwLjk5MzE0NzEsIDcxLCAwLjg2MjU1ODEyNjQ0OTU4NV0sIFsxNTkxNzc2MjI1LjUzNjA4MDYsIDcyLCAwLjgyNzY0OTI5NTMzMDA0NzZdLCBbMTU5MTc3NjIzMC4xODc5OTcsIDczLCAwLjg2MDI1MTYwNTUxMDcxMTddLCBbMTU5MTc3NjIzNC42ODkzOTgzLCA3NCwgMC44Njk1NTM2MjU1ODM2NDg3XSwgWzE1OTE3NzYyMzkuMzMxNzMxOCwgNzUsIDAuODQwMzYxMjk3MTMwNTg0N10sIFsxNTkxNzc2MjQzLjk5NzM2OSwgNzYsIDAuODc0NTU3MDc3ODg0Njc0MV0sIFsxNTkxNzc2MjQ4LjU3MjMwNDcsIDc3LCAwLjg3OTk1MDQ2Mzc3MTgyMDFdLCBbMTU5MTc3NjI1My4xNTYxMjgsIDc4LCAwLjg1MDg5MDgxNTI1ODAyNjFdLCBbMTU5MTc3NjI1Ny44NjUyMTk0LCA3OSwgMC44NjcxMzMwMjEzNTQ2NzUzXSwgWzE1OTE3NzYyNjIuMzk5Mzg3LCA4MCwgMC44ODEyODM1MjE2NTIyMjE3XSwgWzE1OTE3NzYyNjYuOTE1MzU1NCwgODEsIDAuODg3NTg1NTIwNzQ0MzIzN10sIFsxNTkxNzc2MjcxLjYxNDYwNzYsIDgyLCAwLjg5MTUyMDc5ODIwNjMyOTNdLCBbMTU5MTc3NjI3Ni4wOTg0NzE2LCA4MywgMC44NzQwOTkxOTUwMDM1MDk1XSwgWzE1OTE3NzYyODAuNjAxMzY2OCwgODQsIDAuODcxMjUwNDUwNjExMTE0NV0sIFsxNTkxNzc2Mjg1LjEzMDIzNjEsIDg1LCAwLjg3MDE4MDkwNDg2NTI2NDldLCBbMTU5MTc3NjI4OS43ODQwMjUyLCA4NiwgMC44NzUxMTU5MzEwMzQwODgxXSwgWzE1OTE3NzYyOTQuNDEwNDE2OCwgODcsIDAuODc3NTE3MTYzNzUzNTA5NV0sIFsxNTkxNzc2Mjk5LjE1ODM2NDgsIDg4LCAwLjg4NDU0ODEyNzY1MTIxNDZdLCBbMTU5MTc3NjMwMy43MDc5MjQ4LCA4OSwgMC44ODQzOTM4NzA4MzA1MzU5XSwgWzE1OTE3NzYzMDguMjQzNjYyNCwgOTAsIDAuODkzMzY4NTQyMTk0MzY2NV0sIFsxNTkxNzc2MzEyLjgwMDc5MywgOTEsIDAuODkyNjk4NzY0ODAxMDI1NF0sIFsxNTkxNzc2MzE3LjQ1MDYwMjUsIDkyLCAwLjg3MzY2NDA4MTA5NjY0OTJdLCBbMTU5MTc3NjMyMS45Mzc1MjA3LCA5MywgMC44NzU3MTg2NTMyMDIwNTY5XSwgWzE1OTE3NzYzMjYuNDY3NDU1NiwgOTQsIDAuODk4NzE3NzAxNDM1MDg5MV0sIFsxNTkxNzc2MzMxLjA3NDQ4NjcsIDk1LCAwLjg5ODg5NjM5NjE2MDEyNTddLCBbMTU5MTc3NjMzNS42MjEwNzU0LCA5NiwgMC44ODI4MzgwMTA3ODc5NjM5XSwgWzE1OTE3NzYzNDAuMTM1NDA1OCwgOTcsIDAuODk0Mjg5NTUzMTY1NDM1OF0sIFsxNTkxNzc2MzQ0LjcyNTQyNzIsIDk4LCAwLjg5NjIyMDkyMjQ3MDA5MjhdLCBbMTU5MTc3NjM0OS4yMTc2MTQ0LCA5OSwgMC44ODQzMzc0MjUyMzE5MzM2XV0=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=train%2Fobj_loss&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzM1MTQsIDAsIDAuMzQ2MTg3MjkzNTI5NTEwNV0sIFsxNTkxNzc1ODk3LjUwNDQzODYsIDEsIDAuMzU5ODQ5NzgwNzk3OTU4NF0sIFsxNTkxNzc1OTAxLjg4NjYxODEsIDIsIDAuMzY0OTU4ODgyMzMxODQ4MTRdLCBbMTU5MTc3NTkwNi40MzEzNDkzLCAzLCAwLjM2NDAwNDM3MzU1MDQxNTA0XSwgWzE1OTE3NzU5MTAuOTAwMzI4NiwgNCwgMC4zNjI4NzU1MjExODMwMTM5XSwgWzE1OTE3NzU5MTUuNDI3NDg4OCwgNSwgMC4zNzUxOTIwMTYzNjMxNDM5XSwgWzE1OTE3NzU5MjAuMDMyNjkyNywgNiwgMC4zODYyOTI1MTcxODUyMTEyXSwgWzE1OTE3NzU5MjQuNDkxNzM2MiwgNywgMC4zODMxNzk0ODU3OTc4ODIxXSwgWzE1OTE3NzU5MjguOTkwMDc0NCwgOCwgMC4zOTMzMTA5MDQ1MDI4Njg2NV0sIFsxNTkxNzc1OTMzLjUxNjQ2NiwgOSwgMC4zODM1MjU4NzgxOTA5OTQyNl0sIFsxNTkxNzc1OTM4LjExNzgxNywgMTAsIDAuMzYzNDUxNDUxMDYzMTU2MTNdLCBbMTU5MTc3NTk0Mi43MjY0NzYyLCAxMSwgMC4zNzgwNTczMzA4NDY3ODY1XSwgWzE1OTE3NzU5NDcuMzQ1Mjk4MywgMTIsIDAuMzczMTA0MzA0MDc1MjQxMV0sIFsxNTkxNzc1OTUyLjAxMzQ3MzcsIDEzLCAwLjM2NjYyOTAwNDQ3ODQ1NDZdLCBbMTU5MTc3NTk1Ni42MzI5MDcsIDE0LCAwLjM2NjY3NTQ5NjEwMTM3OTRdLCBbMTU5MTc3NTk2MC45Mzg5MDk4LCAxNSwgMC4zNzE4ODAxMTQwNzg1MjE3M10sIFsxNTkxNzc1OTY1Ljc4MzUyMjEsIDE2LCAwLjM3NTUyMTE4MzAxMzkxNl0sIFsxNTkxNzc1OTcwLjMxODI2MDIsIDE3LCAwLjM1MjYwOTMzNjM3NjE5MDJdLCBbMTU5MTc3NTk3NS4yMTUyMTAyLCAxOCwgMC4zNTgxODQxNTg4MDIwMzI0N10sIFsxNTkxNzc1OTc5LjQ3NDI1NzUsIDE5LCAwLjM1MTEyNzkyMjUzNDk0MjZdLCBbMTU5MTc3NTk4My42MTIwMTQ1LCAyMCwgMC4zNDcxMTM3ODgxMjc4OTkxN10sIFsxNTkxNzc1OTg4LjE1NjUxOSwgMjEsIDAuMzUxMzIzMDk3OTQ0MjU5NjRdLCBbMTU5MTc3NTk5Mi44NDI0NTMsIDIyLCAwLjM0ODY5MDI0MTU3NTI0MTFdLCBbMTU5MTc3NTk5Ny41NDU3ODU0LCAyMywgMC4zNDc4MzA1OTM1ODU5NjhdLCBbMTU5MTc3NjAwMi4yNjgwMjg1LCAyNCwgMC4zNDU0ODM0NTIwODE2ODAzXSwgWzE1OTE3NzYwMDcuMDMwMDkyMiwgMjUsIDAuMzQ5MDA2ODAxODQzNjQzMl0sIFsxNTkxNzc2MDExLjY0NDUwMSwgMjYsIDAuMzUyMjkxOTExODQwNDM4ODRdLCBbMTU5MTc3NjAxNS45MjgyMTI2LCAyNywgMC4zMzg0OTUxOTQ5MTE5NTY4XSwgWzE1OTE3NzYwMjAuMTgyMzkzNiwgMjgsIDAuMzQ0NzU5NTUzNjcwODgzMl0sIFsxNTkxNzc2MDI0Ljc2MTUyMzIsIDI5LCAwLjM0NTg5Mjk5NTU5NTkzMl0sIFsxNTkxNzc2MDI5LjUxNjYxNTIsIDMwLCAwLjMzODY1ODQ4MTgzNjMxODk3XSwgWzE1OTE3NzYwMzQuNTY3MzY3MywgMzEsIDAuMzM0NDQ1MTE4OTA0MTEzNzddLCBbMTU5MTc3NjAzOS4xNjkxNDU4LCAzMiwgMC4zNDY2MjE0MjM5NTk3MzIwNl0sIFsxNTkxNzc2MDQzLjg5MzMzODIsIDMzLCAwLjM0ODc1NjcwMDc1NDE2NTY1XSwgWzE1OTE3NzYwNDguNjUxMTA1LCAzNCwgMC4zNDUyNzY4NjIzODI4ODg4XSwgWzE1OTE3NzYwNTMuMzAwMzY4NSwgMzUsIDAuMzQyNDE0NzY2NTUwMDY0MV0sIFsxNTkxNzc2MDU3Ljc4MjMxNDUsIDM2LCAwLjMzNjI3OTMwMjgzNTQ2NDVdLCBbMTU5MTc3NjA2Mi42NzExNjY0LCAzNywgMC4zNDI1MTcxMDc3MjUxNDM0M10sIFsxNTkxNzc2MDY3LjM5OTIwNTQsIDM4LCAwLjMzMTU1MTQ2MjQxMTg4MDVdLCBbMTU5MTc3NjA3Mi4wNzgwNywgMzksIDAuMzQ1MjY5NjIwNDE4NTQ4Nl0sIFsxNTkxNzc2MDc2LjU3NDMzNjMsIDQwLCAwLjM1MTIwMjUxNzc0Nzg3OTAzXSwgWzE1OTE3NzYwODEuMTQ2NjQ2LCA0MSwgMC4zMzY1NTQ4NTUxMDgyNjExXSwgWzE1OTE3NzYwODUuNzg4NDQyLCA0MiwgMC4zMzc3MjY2MjI4MTk5MDA1XSwgWzE1OTE3NzYwOTAuNzEzOTAyMiwgNDMsIDAuMzMzMjA5OTYxNjUyNzU1NzRdLCBbMTU5MTc3NjA5NS41MDQyMDc4LCA0NCwgMC4zMzAyNTAxMTQyMDI0OTk0XSwgWzE1OTE3NzYxMDAuMzg4NDA1NiwgNDUsIDAuMzM4MDQ2ODc4NTc2Mjc4N10sIFsxNTkxNzc2MTA1LjAxMTk5NDQsIDQ2LCAwLjMzOTMxNTgwMTg1ODkwMl0sIFsxNTkxNzc2MTA5LjY0NDY5MiwgNDcsIDAuMzM3NzUyNzU5NDU2NjM0NV0sIFsxNTkxNzc2MTE0LjI0NzQ0MzcsIDQ4LCAwLjM0OTM5MzM5NzU2OTY1NjM3XSwgWzE1OTE3NzYxMTkuMTU4Mzc5MywgNDksIDAuMzMzNjA4MzU5MDk4NDM0NDVdLCBbMTU5MTc3NjEyMy44Mzc3Njk1LCA1MCwgMC4zMjkwNDAzMTg3Mjc0OTMzXSwgWzE1OTE3NzYxMjguNTA2Mzk2NSwgNTEsIDAuMzI5MjEzMTcyMTk3MzQxOV0sIFsxNTkxNzc2MTMzLjMxNTM0ODQsIDUyLCAwLjMzNDMxNTE1MDk3NjE4MTAzXSwgWzE1OTE3NzYxMzcuOTk5ODEzLCA1MywgMC4zNjc2Nzg1NTI4NjU5ODIwNl0sIFsxNTkxNzc2MTQyLjY3MjQ1MjIsIDU0LCAwLjMzOTgxNTg1NTAyNjI0NTFdLCBbMTU5MTc3NjE0Ny4zMzk1MTM4LCA1NSwgMC4zMzIzNjgyMjQ4NTkyMzc2N10sIFsxNTkxNzc2MTUxLjkwNjI3MiwgNTYsIDAuMzI4NTU5NTc3NDY1MDU3NF0sIFsxNTkxNzc2MTU2LjQxMDQ5MTIsIDU3LCAwLjMzNzE0NDIyNTgzNTgwMDE3XSwgWzE1OTE3NzYxNjEuMTQyNjg4MywgNTgsIDAuMzM3MDY1NTQ3NzA0Njk2NjZdLCBbMTU5MTc3NjE2NS43NjY5MDg0LCA1OSwgMC4zMzI5NDIxODc3ODYxMDIzXSwgWzE1OTE3NzYxNzAuNDA2MTI0NCwgNjAsIDAuMzI2MTA3NzcwMjA0NTQ0MDddLCBbMTU5MTc3NjE3NS4wODAwMjY2LCA2MSwgMC4zMzI3MDExNDY2MDI2MzA2XSwgWzE1OTE3NzYxNzkuNjA2Mzg4NiwgNjIsIDAuMzMzODcyNzA1Njk4MDEzM10sIFsxNTkxNzc2MTg0LjA4ODg2MTIsIDYzLCAwLjMxODg4OTE3MDg4NTA4NjA2XSwgWzE1OTE3NzYxODguNzkxOTE5NSwgNjQsIDAuMzI5NDc1NjcxMDUyOTMyNzRdLCBbMTU5MTc3NjE5My4zMzIwMTcsIDY1LCAwLjMxNTI3NzU3NjQ0NjUzMzJdLCBbMTU5MTc3NjE5Ny45NDE2NjMsIDY2LCAwLjMwOTc1MzE3OTU1MDE3MDldLCBbMTU5MTc3NjIwMi42MjY2NDA2LCA2NywgMC4zMjA4NDI5MjE3MzM4NTYyXSwgWzE1OTE3NzYyMDcuMTQyODY0MiwgNjgsIDAuMzIzMzM4NTY4MjEwNjAxOF0sIFsxNTkxNzc2MjExLjY3MDg5NTMsIDY5LCAwLjMxOTI0MzEwMzI2NTc2MjMzXSwgWzE1OTE3NzYyMTYuNDI4MDEwMiwgNzAsIDAuMzE4ODM2ODY3ODA5Mjk1NjVdLCBbMTU5MTc3NjIyMC45OTI4MDIxLCA3MSwgMC4zMDk3NDI2ODkxMzI2OTA0M10sIFsxNTkxNzc2MjI1LjUzNTczNDIsIDcyLCAwLjMxOTQ5NDA5ODQyNDkxMTVdLCBbMTU5MTc3NjIzMC4xODc2MTAxLCA3MywgMC4zMTQ1ODg2MDYzNTc1NzQ0Nl0sIFsxNTkxNzc2MjM0LjY4OTA0ODUsIDc0LCAwLjMyMjExMjIwMjY0NDM0ODE0XSwgWzE1OTE3NzYyMzkuMzMxNDA0MiwgNzUsIDAuMzE3MDk5NjkwNDM3MzE2OV0sIFsxNTkxNzc2MjQzLjk5NjY5MzEsIDc2LCAwLjMxOTQ1MTgwODkyOTQ0MzM2XSwgWzE1OTE3NzYyNDguNTcyMDk2LCA3NywgMC4zMTM0NTEwNTE3MTIwMzYxM10sIFsxNTkxNzc2MjUzLjE1NTY4NSwgNzgsIDAuMzI2MTkzNjYwNDk3NjY1NF0sIFsxNTkxNzc2MjU3Ljg2NDkyOTIsIDc5LCAwLjMxNzQzMzgwNDI3MzYwNTM1XSwgWzE1OTE3NzYyNjIuMzk5MTA0LCA4MCwgMC4zMTIxOTM2MzIxMjU4NTQ1XSwgWzE1OTE3NzYyNjYuOTE1MDM5MywgODEsIDAuMzEzNzAxODY4MDU3MjUxXSwgWzE1OTE3NzYyNzEuNjE0MzMyLCA4MiwgMC4zMDMzMzQ1NjM5NzA1NjU4XSwgWzE1OTE3NzYyNzYuMDk4MTM3LCA4MywgMC4zMTg3ODg2MTc4NDkzNV0sIFsxNTkxNzc2MjgwLjYwMTA3MzcsIDg0LCAwLjMxNDg4ODI2ODcwOTE4Mjc0XSwgWzE1OTE3NzYyODUuMTI5OTI1LCA4NSwgMC4zMDc2NTkzODc1ODg1MDFdLCBbMTU5MTc3NjI4OS43ODM3MTQzLCA4NiwgMC4zMDc5MDcwNDQ4ODc1NDI3XSwgWzE1OTE3NzYyOTQuNDEwMTM2LCA4NywgMC4zMTA3ODY5MDI5MDQ1MTA1XSwgWzE1OTE3NzYyOTkuMTU4MDUxNSwgODgsIDAuMzAyNzI4Mjk1MzI2MjMyOV0sIFsxNTkxNzc2MzAzLjcwNzU2OTEsIDg5LCAwLjMxMDE5MDE3MTAwMzM0MTddLCBbMTU5MTc3NjMwOC4yNDMzNjksIDkwLCAwLjMxMDcwMTM0MDQzNjkzNTRdLCBbMTU5MTc3NjMxMi44MDA0NTg0LCA5MSwgMC4zMTA4MDA3MzExODIwOTg0XSwgWzE1OTE3NzYzMTcuNDUwMjM1OCwgOTIsIDAuMzE1ODM4NzgzOTc5NDE1OV0sIFsxNTkxNzc2MzIxLjkzNzIzMDgsIDkzLCAwLjMxMjU2OTcwNzYzMjA2NDhdLCBbMTU5MTc3NjMyNi40NjcxNjY0LCA5NCwgMC4yOTM1NTc4MjI3MDQzMTUyXSwgWzE1OTE3NzYzMzEuMDc0MTksIDk1LCAwLjMxNTgwNDA5NDA3NjE1NjZdLCBbMTU5MTc3NjMzNS42MjA3MywgOTYsIDAuMzE0ODY1OTE2OTY3MzkxOTddLCBbMTU5MTc3NjM0MC4xMzUxMTEsIDk3LCAwLjMxMDU1NzIxNjQwNTg2ODUzXSwgWzE1OTE3NzYzNDQuNzI1MTM2MywgOTgsIDAuMzAzNTMyMjcyNTc3Mjg1NzddLCBbMTU5MTc3NjM0OS4yMTczMDgsIDk5LCAwLjMxMjYzMjExMzY5NTE0NDY1XV0=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=metrics%2Fprecision&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzYzNiwgMCwgMC4wXSwgWzE1OTE3NzU4OTcuNTA0NzI4OCwgMSwgMC4wXSwgWzE1OTE3NzU5MDEuODg2ODgsIDIsIDAuMF0sIFsxNTkxNzc1OTA2LjQzMTU3NDYsIDMsIDAuMF0sIFsxNTkxNzc1OTEwLjkwMDU1NywgNCwgMC4wXSwgWzE1OTE3NzU5MTUuNDI3NzI2LCA1LCAwLjBdLCBbMTU5MTc3NTkyMC4wMzI5NDU0LCA2LCAwLjBdLCBbMTU5MTc3NTkyNC40OTIwMjMyLCA3LCAwLjBdLCBbMTU5MTc3NTkyOC45OTAzMTM4LCA4LCAwLjE5NjMyMjA4MzQ3MzIwNTU3XSwgWzE1OTE3NzU5MzMuNTE2Njk5MywgOSwgMC4wMTYzODAzMzYxMzU2MjU4NF0sIFsxNTkxNzc1OTM4LjExODA4NjMsIDEwLCAwLjE0NTE5MDgyMDA5NzkyMzI4XSwgWzE1OTE3NzU5NDIuNzI2NzQ2MywgMTEsIDAuMDk0Njg1MjQxNTgwMDA5NDZdLCBbMTU5MTc3NTk0Ny4zNDU1NjE3LCAxMiwgMC4wNDY4NzI0NjMwNzczMDY3NV0sIFsxNTkxNzc1OTUyLjAxMzcyNDMsIDEzLCAwLjA2NTM0NTY5NzEwNDkzMDg4XSwgWzE1OTE3NzU5NTYuNjMzMTgzNywgMTQsIDAuMDUxMDQ2MDg0NjEyNjA3OTU2XSwgWzE1OTE3NzU5NjAuOTM5MTQ4NCwgMTUsIDAuMDYyNjQ3MjIzNDcyNTk1MjFdLCBbMTU5MTc3NTk2NS43ODM3NiwgMTYsIDAuMDYzNzYyOTMzMDE1ODIzMzZdLCBbMTU5MTc3NTk3MC4zMTg1MTIyLCAxNywgMC4wNDc5NTkzMzUxNDgzMzQ1XSwgWzE1OTE3NzU5NzUuMjE1NDYsIDE4LCAwLjA3NjAxNzg0OTE0NzMxOThdLCBbMTU5MTc3NTk3OS40NzQ1MDE0LCAxOSwgMC4wNDgzMTgyNjY4Njg1OTEzMV0sIFsxNTkxNzc1OTgzLjYxMjI4NCwgMjAsIDAuMDE5Mzc0NDA1OTY1MjA5MDA3XSwgWzE1OTE3NzU5ODguMTU3MTY2NSwgMjEsIDAuMTE2MjUyOTczNjc1NzI3ODRdLCBbMTU5MTc3NTk5Mi44NDI3MTkzLCAyMiwgMC4wNzEyNDk4NDI2NDM3Mzc3OV0sIFsxNTkxNzc1OTk3LjU0NjA0NDYsIDIzLCAwLjEyNDgwNDY5NzkzMDgxMjg0XSwgWzE1OTE3NzYwMDIuMjY4Mjg2NywgMjQsIDAuMDk4NTE0ODYyMzU4NTcwMV0sIFsxNTkxNzc2MDA3LjAzMDMyMzMsIDI1LCAwLjI5MzU1ODU5NzU2NDY5NzI3XSwgWzE1OTE3NzYwMTEuNjQ0ODA2LCAyNiwgMC4xNDQzNTE2OTEwMDc2MTQxNF0sIFsxNTkxNzc2MDE1LjkyODQ0MzIsIDI3LCAwLjE3OTUyNDgyNDAyMzI0Njc3XSwgWzE1OTE3NzYwMjAuMTgyNjI5LCAyOCwgMC4xMTcxOTI4NDIwNjYyODhdLCBbMTU5MTc3NjAyNC43NjE3ODQzLCAyOSwgMC4wNDAyOTQyODU4NjM2Mzc5MjRdLCBbMTU5MTc3NjAyOS41MTY4Nzg4LCAzMCwgMC4xMDA4NTc5MjA5NDQ2OTA3XSwgWzE1OTE3NzYwMzQuNTY3NjAxNywgMzEsIDAuMjExNzE4Nzk3NjgzNzE1ODJdLCBbMTU5MTc3NjAzOS4xNjk0ODUzLCAzMiwgMC4yMDA5NzYyNTI1NTU4NDcxN10sIFsxNTkxNzc2MDQzLjg5MzQ3ODQsIDMzLCAwLjIzMTIzMjg4MTU0NjAyMDVdLCBbMTU5MTc3NjA0OC42NTE0MjE1LCAzNCwgMC4yODc0MTg2MDM4OTcwOTQ3XSwgWzE1OTE3NzYwNTMuMzAwNjI3LCAzNSwgMC4zNzAwMzY3MjEyMjk1NTMyXSwgWzE1OTE3NzYwNTcuNzgyNTQsIDM2LCAwLjI0NjgwNDA3MzQ1Mjk0OTUyXSwgWzE1OTE3NzYwNjIuNjcxNDAyLCAzNywgMC4zMDc3NTc4MjQ2NTkzNDc1M10sIFsxNTkxNzc2MDY3LjM5OTQzMjIsIDM4LCAwLjMxMzUwMDU1MzM2OTUyMjFdLCBbMTU5MTc3NjA3Mi4wNzgzNjQxLCAzOSwgMC4yMzA3NDc5Njc5NTg0NTAzMl0sIFsxNTkxNzc2MDc2LjU3NDU4MTYsIDQwLCAwLjE3NDQ1MTQ3MDM3NTA2MTA0XSwgWzE1OTE3NzYwODEuMTQ2OTE1LCA0MSwgMC4yNjg2NTU1OTgxNjM2MDQ3NF0sIFsxNTkxNzc2MDg1Ljc4ODY3NCwgNDIsIDAuNDc5MjAxODIzNDcyOTc2N10sIFsxNTkxNzc2MDkwLjcxNDE1NjksIDQzLCAwLjI5ODMzNDcxNzc1MDU0OTNdLCBbMTU5MTc3NjA5NS41MDQ0NTQ2LCA0NCwgMC4zNTUxMzA5NzA0NzgwNTc4Nl0sIFsxNTkxNzc2MTAwLjM4ODUyNDMsIDQ1LCAwLjM3NDgyMjE2OTU0MjMxMjZdLCBbMTU5MTc3NjEwNS4wMTIxNTMxLCA0NiwgMC4zMDQxNzIxNTgyNDEyNzJdLCBbMTU5MTc3NjEwOS42NDQ5NTc1LCA0NywgMC40MDY1MDkwMTE5ODM4NzE0Nl0sIFsxNTkxNzc2MTE0LjI0NzcwNzEsIDQ4LCAwLjUyNTgxMjgwNDY5ODk0NDFdLCBbMTU5MTc3NjExOS4xNTg2MTY1LCA0OSwgMC40ODQ2OTA4NDUwMTI2NjQ4XSwgWzE1OTE3NzYxMjMuODM4MDU2OCwgNTAsIDAuNDMzNTYxNDc0MDg0ODU0MV0sIFsxNTkxNzc2MTI4LjUwNjYzMDIsIDUxLCAwLjM5NDE0ODg1NjQwMTQ0MzVdLCBbMTU5MTc3NjEzMy4zMTU2MTIzLCA1MiwgMC4zNDE0NzQ5ODAxMTU4OTA1XSwgWzE1OTE3NzYxMzguMDAwMDkzLCA1MywgMC4yNjc2ODk1MjYwODEwODUyXSwgWzE1OTE3NzYxNDIuNjcyNzA4NywgNTQsIDAuMzk3MzMxMjk3Mzk3NjEzNV0sIFsxNTkxNzc2MTQ3LjMzOTc1MzIsIDU1LCAwLjMyNjI1MTQ0NzIwMDc3NTE1XSwgWzE1OTE3NzYxNTEuOTA2NTY5MiwgNTYsIDAuNDE5OTk3NjYyMzA1ODMxOV0sIFsxNTkxNzc2MTU2LjQxMDczNDIsIDU3LCAwLjMyODU5OTEyNTE0Njg2NTg0XSwgWzE1OTE3NzYxNjEuMTQyOTU1OCwgNTgsIDAuNDY3Mzg2NjMzMTU3NzMwMV0sIFsxNTkxNzc2MTY1Ljc2NzE4MTksIDU5LCAwLjQzODY5NTc1ODU4MTE2MTVdLCBbMTU5MTc3NjE3MC40MDYzNjU0LCA2MCwgMC41MzgwMjMyMzM0MTM2OTYzXSwgWzE1OTE3NzYxNzUuMDgwMjY2LCA2MSwgMC41MDYzNTgwODcwNjI4MzU3XSwgWzE1OTE3NzYxNzkuNjA2NjMzLCA2MiwgMC40MjYyNDU4MDg2MDEzNzk0XSwgWzE1OTE3NzYxODQuMDg5MTU0MiwgNjMsIDAuNDcwOTI3OTIzOTE3NzcwNF0sIFsxNTkxNzc2MTg4Ljc5MjIyLCA2NCwgMC4zODA0MTA1MjIyMjI1MTg5XSwgWzE1OTE3NzYxOTMuMzMyMjc1OSwgNjUsIDAuNDYyODU5MjcyOTU2ODQ4MTRdLCBbMTU5MTc3NjE5Ny45NDE5NzIsIDY2LCAwLjQ2OTk4NjI4OTczOTYwODc2XSwgWzE1OTE3NzYyMDIuNjI2OTE3NiwgNjcsIDAuNDMzMDc0MjM1OTE2MTM3N10sIFsxNTkxNzc2MjA3LjE0MzExNjIsIDY4LCAwLjQxMzM2NzE4MjAxNjM3MjddLCBbMTU5MTc3NjIxMS42NzExNjc0LCA2OSwgMC40NzAzNTY3NjI0MDkyMTAyXSwgWzE1OTE3NzYyMTYuNDI4MzczLCA3MCwgMC40OTYyNjcwMjA3MDIzNjIwNl0sIFsxNTkxNzc2MjIwLjk5MzA4OCwgNzEsIDAuNTgwMTQ4Mjc5NjY2OTAwNl0sIFsxNTkxNzc2MjI1LjUzNjAyNTMsIDcyLCAwLjU5Mjk1ODc0ODM0MDYwNjddLCBbMTU5MTc3NjIzMC4xODc5MjE4LCA3MywgMC41NDI1MDc4ODY4ODY1OTY3XSwgWzE1OTE3NzYyMzQuNjg5MzM4LCA3NCwgMC40MTU2ODg5NjE3NDQzMDg0N10sIFsxNTkxNzc2MjM5LjMzMTY4MywgNzUsIDAuNTQ0MzM0MjkyNDExODA0Ml0sIFsxNTkxNzc2MjQzLjk5NzMwOCwgNzYsIDAuNDQ3ODc5NzkxMjU5NzY1Nl0sIFsxNTkxNzc2MjQ4LjU3MjI0MiwgNzcsIDAuNDgwMzE4NzI1MTA5MTAwMzRdLCBbMTU5MTc3NjI1My4xNTYwNjQsIDc4LCAwLjQ2NzE2MTM1NzQwMjgwMTVdLCBbMTU5MTc3NjI1Ny44NjUxNywgNzksIDAuNTQyNjU2NzE5Njg0NjAwOF0sIFsxNTkxNzc2MjYyLjM5OTMzNTQsIDgwLCAwLjU1NTAzMDQwNTUyMTM5MjhdLCBbMTU5MTc3NjI2Ni45MTUyOTUsIDgxLCAwLjQ5MDMxMzk0NzIwMDc3NTE1XSwgWzE1OTE3NzYyNzEuNjE0NTYxMywgODIsIDAuNTIwNDc5MjAyMjcwNTA3OF0sIFsxNTkxNzc2Mjc2LjA5ODQxMTMsIDgzLCAwLjUyMTk5MjkyMTgyOTIyMzZdLCBbMTU5MTc3NjI4MC42MDEzMTM0LCA4NCwgMC41NjM1OTQwNDMyNTQ4NTIzXSwgWzE1OTE3NzYyODUuMTMwMTgxLCA4NSwgMC41Nzk4OTA3Mjc5OTY4MjYyXSwgWzE1OTE3NzYyODkuNzgzOTc3NywgODYsIDAuNTU5NDgyMDk3NjI1NzMyNF0sIFsxNTkxNzc2Mjk0LjQxMDM0MDgsIDg3LCAwLjUyMzI3MjMzNTUyOTMyNzRdLCBbMTU5MTc3NjI5OS4xNTgzMTczLCA4OCwgMC41NDI4OTkzNzAxOTM0ODE0XSwgWzE1OTE3NzYzMDMuNzA3ODQyLCA4OSwgMC41Njg2ODI3MzAxOTc5MDY1XSwgWzE1OTE3NzYzMDguMjQzNjEyNSwgOTAsIDAuNTgwMDI2OTI0NjEwMTM3OV0sIFsxNTkxNzc2MzEyLjgwMDczODYsIDkxLCAwLjUzMzA2MTM4NTE1NDcyNDFdLCBbMTU5MTc3NjMxNy40NTA1MzY3LCA5MiwgMC41NjYzNTcwNzYxNjgwNjAzXSwgWzE1OTE3NzYzMjEuOTM3NDYyLCA5MywgMC41ODAzMTc1NTY4NTgwNjI3XSwgWzE1OTE3NzYzMjYuNDY3NDAzNCwgOTQsIDAuNTQ3NDIwNjIwOTE4MjczOV0sIFsxNTkxNzc2MzMxLjA3NDQzMzYsIDk1LCAwLjU1MjczNTIwOTQ2NTAyNjldLCBbMTU5MTc3NjMzNS42MjEwMTA1LCA5NiwgMC41NTczMzg0NzYxODEwMzAzXSwgWzE1OTE3NzYzNDAuMTM1MzUyOCwgOTcsIDAuNTc3MTg2ODgyNDk1ODgwMV0sIFsxNTkxNzc2MzQ0LjcyNTM3NDUsIDk4LCAwLjU3NTk5ODAwODI1MTE5MDJdLCBbMTU5MTc3NjM0OS4yMTc1NTY3LCA5OSwgMC41NDM1MzEyOTg2MzczOTAxXV0=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=train%2Fgiou_loss&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3Mjk3LCAwLCAwLjEwODE3MzUyNjgyMzUyMDY2XSwgWzE1OTE3NzU4OTcuNTAzOTcyNSwgMSwgMC4wOTQwOTMwNTQ1MzMwMDQ3Nl0sIFsxNTkxNzc1OTAxLjg4NjMwNjMsIDIsIDAuMDkyODY2MTIyNzIyNjI1NzNdLCBbMTU5MTc3NTkwNi40MzEwNjAzLCAzLCAwLjA5MTgwMjA3NTUwNTI1NjY1XSwgWzE1OTE3NzU5MTAuODk5OTQ2NSwgNCwgMC4wOTAyMzg2MzA3NzE2MzY5Nl0sIFsxNTkxNzc1OTE1LjQyNzE2MzgsIDUsIDAuMDg2NzUwMzIxMDkwMjIxNF0sIFsxNTkxNzc1OTIwLjAzMjQxNDQsIDYsIDAuMDg2NDA4NTQ4MDU3MDc5MzJdLCBbMTU5MTc3NTkyNC40OTE0MjA3LCA3LCAwLjA4NTE1MzYxNjk2NDgxNzA1XSwgWzE1OTE3NzU5MjguOTg5NzMxLCA4LCAwLjA4NDAwNzM4OTg0MzQ2MzldLCBbMTU5MTc3NTkzMy41MTYxODM5LCA5LCAwLjA4Mjg2NjQ2MDA4NDkxNTE2XSwgWzE1OTE3NzU5MzguMTE3NTAyMiwgMTAsIDAuMDgxODYyMTQ0MTcyMTkxNjJdLCBbMTU5MTc3NTk0Mi43MjYxNjQ4LCAxMSwgMC4wODAzNjM0OTcxMzgwMjMzOF0sIFsxNTkxNzc1OTQ3LjM0NDk4NTIsIDEyLCAwLjA3ODM4NDQwNjg2NDY0MzFdLCBbMTU5MTc3NTk1Mi4wMTMxNTYyLCAxMywgMC4wNzcxNDYxMjAzNjk0MzQzNl0sIFsxNTkxNzc1OTU2LjYzMjUxNCwgMTQsIDAuMDc0MjU4ODYzOTI1OTMzODRdLCBbMTU5MTc3NTk2MC45Mzg1NTM4LCAxNSwgMC4wNzM1MjcwNTI5OTg1NDI3OV0sIFsxNTkxNzc1OTY1Ljc4MzE4NjcsIDE2LCAwLjA3MTAwODkzNTU3MDcxNjg2XSwgWzE1OTE3NzU5NzAuMzE3OTIxMiwgMTcsIDAuMDY4ODA5NDU3MTIzMjc5NTddLCBbMTU5MTc3NTk3NS4yMTQ4ODA1LCAxOCwgMC4wNjcxMzUyMjIyNTYxODM2Ml0sIFsxNTkxNzc1OTc5LjQ3MzkyOSwgMTksIDAuMDYzOTMwMjU4MTU0ODY5MDhdLCBbMTU5MTc3NTk4My42MTE2NzU1LCAyMCwgMC4wNjI0MDkzNzg1ODgxOTk2MTVdLCBbMTU5MTc3NTk4OC4xNTYxMDk4LCAyMSwgMC4wNjEzMjQyNjg1Nzk0ODMwM10sIFsxNTkxNzc1OTkyLjg0MjExNDIsIDIyLCAwLjA2MDA4NjE2MDg5ODIwODYyXSwgWzE1OTE3NzU5OTcuNTQ1NDY3LCAyMywgMC4wNTg4NTAzMDcwMTc1NjQ3NzRdLCBbMTU5MTc3NjAwMi4yNjc3MDQsIDI0LCAwLjA1NzMyNzIwNzE3Nzg3NzQyNl0sIFsxNTkxNzc2MDA3LjAyOTc1MjcsIDI1LCAwLjA1NjM5MDc1MTE1MzIzMDY3XSwgWzE1OTE3NzYwMTEuNjQ0MTgyLCAyNiwgMC4wNTQ5MzI5MDcyMjM3MDE0OF0sIFsxNTkxNzc2MDE1LjkyNzg5NjMsIDI3LCAwLjA1NTAzNDM0Njg3ODUyODU5NV0sIFsxNTkxNzc2MDIwLjE4MjA3ODgsIDI4LCAwLjA1MzI2MDExNDA0Mzk1MTAzNV0sIFsxNTkxNzc2MDI0Ljc2MTIxMzMsIDI5LCAwLjA1NTAwNzAwMzI0NzczNzg4NV0sIFsxNTkxNzc2MDI5LjUxNjI3MTQsIDMwLCAwLjA1MjkxODk0MDc4MjU0N10sIFsxNTkxNzc2MDM0LjU2NzA1OTgsIDMxLCAwLjA1NDI2MDQ0MDE3MDc2NDkyXSwgWzE1OTE3NzYwMzkuMTY4NzI0MywgMzIsIDAuMDU2NTI4NzIxMDA0NzI0NV0sIFsxNTkxNzc2MDQzLjg5MzEyODIsIDMzLCAwLjA1NTA4MjI5ODgxNTI1MDRdLCBbMTU5MTc3NjA0OC42NTA3NDYzLCAzNCwgMC4wNTQ5NDQ4ODQwMzIwMTEwM10sIFsxNTkxNzc2MDUzLjMwMDA3NSwgMzUsIDAuMDUzOTY2ODY0OTQzNTA0MzMzXSwgWzE1OTE3NzYwNTcuNzgyMDE2NSwgMzYsIDAuMDU0Mzk1NzM4OTg5MTE0NzZdLCBbMTU5MTc3NjA2Mi42NzA4MTk1LCAzNywgMC4wNTI0NzA5MTEyOTQyMjE4OF0sIFsxNTkxNzc2MDY3LjM5ODg3NiwgMzgsIDAuMDUxNDA4MjQyNDM0MjYzMjNdLCBbMTU5MTc3NjA3Mi4wNzc2MDEsIDM5LCAwLjA1MjIzOTAwMDc5NzI3MTczXSwgWzE1OTE3NzYwNzYuNTc0MDA0MiwgNDAsIDAuMDUwODIyNzY4MzYwMzc2MzZdLCBbMTU5MTc3NjA4MS4xNDYzMTcsIDQxLCAwLjA1MTM0ODAxNTY2NjAwNzk5Nl0sIFsxNTkxNzc2MDg1Ljc4ODExOTgsIDQyLCAwLjA1MDMzNDYxMDA0NDk1NjIxXSwgWzE1OTE3NzYwOTAuNzEzNDgyOSwgNDMsIDAuMDQ3OTc5MjUwNTUwMjcwMDhdLCBbMTU5MTc3NjA5NS41MDM4MDU5LCA0NCwgMC4wNDgzMDYzMDEyMzYxNTI2NV0sIFsxNTkxNzc2MTAwLjM4ODIzOTYsIDQ1LCAwLjA0ODcyNDczMzI5MzA1NjQ5XSwgWzE1OTE3NzYxMDUuMDExNzU2NywgNDYsIDAuMDQ2OTIxMzU3NTEyNDc0MDZdLCBbMTU5MTc3NjEwOS42NDQzNzk5LCA0NywgMC4wNDcwODIyNzE0MjY5MTYxMl0sIFsxNTkxNzc2MTE0LjI0NzExMjMsIDQ4LCAwLjA0NjE1NjEwODM3OTM2NDAxNF0sIFsxNTkxNzc2MTE5LjE1ODA4NiwgNDksIDAuMDQ4MjM3NTM5ODI3ODIzNjRdLCBbMTU5MTc3NjEyMy44Mzc0NDc0LCA1MCwgMC4wNDQ1OTI3NDkzMjc0MjExOV0sIFsxNTkxNzc2MTI4LjUwNjA3OTIsIDUxLCAwLjA0NjE5NTkzMTczMjY1NDU3XSwgWzE1OTE3NzYxMzMuMzE1MDQ0NiwgNTIsIDAuMDQ4MDk2NjQxODk4MTU1MjFdLCBbMTU5MTc3NjEzNy45OTk0NzUsIDUzLCAwLjA0NzA0MDU4OTE1Mzc2NjYzXSwgWzE1OTE3NzYxNDIuNjcyMDg2NSwgNTQsIDAuMDQ3NzM4OTE3MTcxOTU1MTFdLCBbMTU5MTc3NjE0Ny4zMzkyMDM2LCA1NSwgMC4wNDkyNzE2MTMzNTk0NTEyOTRdLCBbMTU5MTc3NjE1MS45MDU5NDk2LCA1NiwgMC4wNDgzMzU2MzA0NDY2NzI0NF0sIFsxNTkxNzc2MTU2LjQxMDE2MzIsIDU3LCAwLjA0NDk0MzI1ODE2NjMxMzE3XSwgWzE1OTE3NzYxNjEuMTQyMzkwMywgNTgsIDAuMDQ1NDE3NjI5MTgyMzM4NzE1XSwgWzE1OTE3NzYxNjUuNzY2NDk1NSwgNTksIDAuMDQ0NjE0OTM3MTU2NDM4ODNdLCBbMTU5MTc3NjE3MC40MDU3NzcsIDYwLCAwLjA0MjgzMjA4NDAwMDExMDYyNl0sIFsxNTkxNzc2MTc1LjA3OTcwNjcsIDYxLCAwLjA0MjgzMDY2ODM4OTc5NzIxXSwgWzE1OTE3NzYxNzkuNjA2MDgsIDYyLCAwLjA0MTc5MTQ2MTQwODEzODI3NV0sIFsxNTkxNzc2MTg0LjA4ODQ4MzgsIDYzLCAwLjA0MjM0ODA2NDQ4MjIxMjA3XSwgWzE1OTE3NzYxODguNzkxNjEzLCA2NCwgMC4wNDIyNDA0NzA2NDc4MTE4OV0sIFsxNTkxNzc2MTkzLjMzMTY2NDMsIDY1LCAwLjA0MjE4NTMzNjM1MTM5NDY1XSwgWzE1OTE3NzYxOTcuOTQxMjc1NiwgNjYsIDAuMDQwODgxODM4NjQ5NTExMzRdLCBbMTU5MTc3NjIwMi42MjYzNDM1LCA2NywgMC4wNDI4NTExODcyODg3NjExNF0sIFsxNTkxNzc2MjA3LjE0MjUwNjgsIDY4LCAwLjAzOTgyMDI2NTAyNDkwMDQzNl0sIFsxNTkxNzc2MjExLjY3MDUxMSwgNjksIDAuMDM5ODQxMjA0ODgxNjY4MDldLCBbMTU5MTc3NjIxNi40MjczNjUsIDcwLCAwLjAzOTgxOTE1ODYxMzY4MTc5XSwgWzE1OTE3NzYyMjAuOTkyNDQxNywgNzEsIDAuMDM5NzE5Mjk4NDgxOTQxMjJdLCBbMTU5MTc3NjIyNS41MzU0MDAyLCA3MiwgMC4wMzk4Mzk2NjYzMzY3NzQ4MjZdLCBbMTU5MTc3NjIzMC4xODcyNDc1LCA3MywgMC4wMzkyODEwODE0MDgyNjIyNV0sIFsxNTkxNzc2MjM0LjY4ODY3MzMsIDc0LCAwLjA0MDMwNzU0Nzg5NzEwMDQ1XSwgWzE1OTE3NzYyMzkuMzMxMDE1NiwgNzUsIDAuMDM4NzE4NTMyNzcwODcyMTE2XSwgWzE1OTE3NzYyNDMuOTk2NDE4NSwgNzYsIDAuMDM3NTgwMjc0MDQ1NDY3MzhdLCBbMTU5MTc3NjI0OC41NzE5MDMyLCA3NywgMC4wMzgzNTI5MjE2MDUxMTAxN10sIFsxNTkxNzc2MjUzLjE1NTIyNTMsIDc4LCAwLjAzODk3NzY0NTMzNzU4MTYzNV0sIFsxNTkxNzc2MjU3Ljg2NDU4ODUsIDc5LCAwLjAzODgyOTIyNjA0NjgwMDYxXSwgWzE1OTE3NzYyNjIuMzk4NzU5NiwgODAsIDAuMDM4NDMzNjY3MjcyMzI5MzNdLCBbMTU5MTc3NjI2Ni45MTQ1NDI3LCA4MSwgMC4wMzc1NzI3ODYyMTE5Njc0N10sIFsxNTkxNzc2MjcxLjYxMzk5MjUsIDgyLCAwLjAzNzcyMTUyOTYwMzAwNDQ1Nl0sIFsxNTkxNzc2Mjc2LjA5Nzc0ODMsIDgzLCAwLjAzNzU3NTc3Mzg5NDc4NjgzNV0sIFsxNTkxNzc2MjgwLjYwMDcyNjgsIDg0LCAwLjAzNjk4MTg0MzQxMTkyMjQ1NV0sIFsxNTkxNzc2Mjg1LjEyOTUzNzYsIDg1LCAwLjAzNzk0ODIwOTc5MjM3NTU2NV0sIFsxNTkxNzc2Mjg5Ljc4MzQwODYsIDg2LCAwLjAzNzUwMzAzMzg3NjQxOTA3XSwgWzE1OTE3NzYyOTQuNDA5OTI0NSwgODcsIDAuMDM3NzA2OTkzNTIwMjU5ODZdLCBbMTU5MTc3NjI5OS4xNTc3NDUsIDg4LCAwLjAzNjQ4NTg2NTcxMjE2NTgzXSwgWzE1OTE3NzYzMDMuNzA3MjQ2MywgODksIDAuMDM3NzQyNzE1MzI4OTMxODFdLCBbMTU5MTc3NjMwOC4yNDMwMDAzLCA5MCwgMC4wMzcwNjIyMDUzNzQyNDA4NzVdLCBbMTU5MTc3NjMxMi44MDAxMzI1LCA5MSwgMC4wMzc3MjY4MzA2OTEwOTkxN10sIFsxNTkxNzc2MzE3LjQ0OTg2NjMsIDkyLCAwLjAzNzQ5NDgwNDcxMDE0OTc2NV0sIFsxNTkxNzc2MzIxLjkzNjkxMjUsIDkzLCAwLjAzNzIwODE1NDc5NzU1NDAxNl0sIFsxNTkxNzc2MzI2LjQ2NjgwOTMsIDk0LCAwLjAzNjQ5MTc3NDAyMjU3OTE5XSwgWzE1OTE3NzYzMzEuMDczODg0NSwgOTUsIDAuMDM3MjAxMDU4MTE5NTM1NDQ2XSwgWzE1OTE3NzYzMzUuNjIwMzgxNCwgOTYsIDAuMDM3NTI3NTA1MzA4Mzg5NjY0XSwgWzE1OTE3NzYzNDAuMTM0NzU2OCwgOTcsIDAuMDM3Mzk4NzM2OTIzOTMzMDNdLCBbMTU5MTc3NjM0NC43MjQ3NzIyLCA5OCwgMC4wMzcwMDY2OTQ4MjM1MDM0OTRdLCBbMTU5MTc3NjM0OS4yMTY5NTI4LCA5OSwgMC4wMzc5ODEyOTc4MjA4MDY1XV0=",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=metrics%2Frecall&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzY3NTIsIDAsIDAuMF0sIFsxNTkxNzc1ODk3LjUwNDc2MjYsIDEsIDAuMF0sIFsxNTkxNzc1OTAxLjg4NjkwNDUsIDIsIDAuMF0sIFsxNTkxNzc1OTA2LjQzMTYwMjcsIDMsIDAuMF0sIFsxNTkxNzc1OTEwLjkwMDU4NzMsIDQsIDAuMF0sIFsxNTkxNzc1OTE1LjQyNzc1NTYsIDUsIDAuMF0sIFsxNTkxNzc1OTIwLjAzMjk3MywgNiwgMC4wXSwgWzE1OTE3NzU5MjQuNDkyMDU0LCA3LCAwLjBdLCBbMTU5MTc3NTkyOC45OTAzNDI0LCA4LCAwLjA3MDE1NjY5MzQ1ODU1NzEzXSwgWzE1OTE3NzU5MzMuNTE2NzI3LCA5LCAwLjAxMzAyNDAxMzQ4OTQ4NDc4N10sIFsxNTkxNzc1OTM4LjExODExNjksIDEwLCAwLjI0Mjc0NjU3NjY2NjgzMTk3XSwgWzE1OTE3NzU5NDIuNzI2Nzc2LCAxMSwgMC4zODkzOTc2NTA5NTcxMDc1NF0sIFsxNTkxNzc1OTQ3LjM0NTU5NDIsIDEyLCAwLjQ1Mzg1NjMxOTE4OTA3MTY2XSwgWzE1OTE3NzU5NTIuMDEzNzU1LCAxMywgMC40NTc3MjI4NDI2OTMzMjg4Nl0sIFsxNTkxNzc1OTU2LjYzMzIxNiwgMTQsIDAuNTIzNDAyNTEyMDczNTE2OF0sIFsxNTkxNzc1OTYwLjkzOTE3OSwgMTUsIDAuMDg3NTU1OTU5ODIwNzQ3MzhdLCBbMTU5MTc3NTk2NS43ODM3OTAzLCAxNiwgMC42MTQ5Nzc1OTgxOTAzMDc2XSwgWzE1OTE3NzU5NzAuMzE4NTQ1LCAxNywgMC4zNzQyODc3NTQyOTcyNTY0N10sIFsxNTkxNzc1OTc1LjIxNTUwMzUsIDE4LCAwLjYyNzQ0MjAwMjI5NjQ0NzhdLCBbMTU5MTc3NTk3OS40NzQ1MzI2LCAxOSwgMC4yNTgyNDE3NzI2NTE2NzIzNl0sIFsxNTkxNzc1OTgzLjYxMjMxMzMsIDIwLCAwLjA5ODAzNjIyMjE1OTg2MjUyXSwgWzE1OTE3NzU5ODguMTU3MjEwOCwgMjEsIDAuNDgxMDA0ODYzOTc3NDMyMjVdLCBbMTU5MTc3NTk5Mi44NDI3NDg0LCAyMiwgMC44Mjc2Mjk5ODM0MjUxNDA0XSwgWzE1OTE3NzU5OTcuNTQ2MDczMiwgMjMsIDAuODk3OTgyMTIwNTEzOTE2XSwgWzE1OTE3NzYwMDIuMjY4MzE1MywgMjQsIDAuODY5NDkyMTEzNTkwMjQwNV0sIFsxNTkxNzc2MDA3LjAzMDM1MiwgMjUsIDAuODg2Nzk3MzA4OTIxODE0XSwgWzE1OTE3NzYwMTEuNjQ0ODY4OSwgMjYsIDAuODIzMzUzNzY3Mzk1MDE5NV0sIFsxNTkxNzc2MDE1LjkyODQ3MzIsIDI3LCAwLjAyMzMxMTQ4NDYwNTA3MzkzXSwgWzE1OTE3NzYwMjAuMTgyNjU5NCwgMjgsIDAuNTE1MjIzMTQ1NDg0OTI0M10sIFsxNTkxNzc2MDI0Ljc2MTgxNDQsIDI5LCAwLjg4Mzg1NzYwNzg0MTQ5MTddLCBbMTU5MTc3NjAyOS41MTY5MTI3LCAzMCwgMC45NjQyNzUwMDI0Nzk1NTMyXSwgWzE1OTE3NzYwMzQuNTY3NjMwOCwgMzEsIDAuOTgxMDUzMDU0MzMyNzMzMl0sIFsxNTkxNzc2MDM5LjE2OTUxNSwgMzIsIDAuNzUxNjEyNTQ0MDU5NzUzNF0sIFsxNTkxNzc2MDQzLjg5MzUwODcsIDMzLCAwLjk3NTg1MzA4NTUxNzg4MzNdLCBbMTU5MTc3NjA0OC42NTE0NTMsIDM0LCAwLjg2NzE2MjU4NTI1ODQ4MzldLCBbMTU5MTc3NjA1My4zMDA2NTcsIDM1LCAwLjg3NTY1MDY0NDMwMjM2ODJdLCBbMTU5MTc3NjA1Ny43ODI1Njg3LCAzNiwgMC43NDUyMjU3ODcxNjI3ODA4XSwgWzE1OTE3NzYwNjIuNjcxNDMyNSwgMzcsIDAuOTUxOTc5Mjc5NTE4MTI3NF0sIFsxNTkxNzc2MDY3LjM5OTQ2MjcsIDM4LCAwLjk3ODc5MzE0NDIyNjA3NDJdLCBbMTU5MTc3NjA3Mi4wNzgzOTgyLCAzOSwgMC45Nzg2MjE3ODA4NzIzNDVdLCBbMTU5MTc3NjA3Ni41NzQ2MTE0LCA0MCwgMC45MjY1MTQ5ODMxNzcxODUxXSwgWzE1OTE3NzYwODEuMTQ2OTQ0NSwgNDEsIDAuOTY5NDg2MTE3MzYyOTc2MV0sIFsxNTkxNzc2MDg1Ljc4ODcwNjgsIDQyLCAwLjg2Njk0ODI0Njk1NTg3MTZdLCBbMTU5MTc3NjA5MC43MTQxODksIDQzLCAwLjk4NzE1ODA2MDA3Mzg1MjVdLCBbMTU5MTc3NjA5NS41MDQ0ODc4LCA0NCwgMC45MzIzMDkzODkxMTQzNzk5XSwgWzE1OTE3NzYxMDAuMzg4NTU1MywgNDUsIDAuOTgxMzA3NDQ2OTU2NjM0NV0sIFsxNTkxNzc2MTA1LjAxMjE4MzIsIDQ2LCAwLjc4OTUyMTg3Mjk5NzI4MzldLCBbMTU5MTc3NjEwOS42NDQ5ODU3LCA0NywgMC45NjU5NTEyMDQyOTk5MjY4XSwgWzE1OTE3NzYxMTQuMjQ3NzM4MSwgNDgsIDAuODQ0Njc1Nzc5MzQyNjUxNF0sIFsxNTkxNzc2MTE5LjE1ODY0NTksIDQ5LCAwLjk0NTgyODAyMDU3MjY2MjRdLCBbMTU5MTc3NjEyMy44MzgwODk3LCA1MCwgMC45Njk1NjU5ODc1ODY5NzUxXSwgWzE1OTE3NzYxMjguNTA2NjU4OCwgNTEsIDAuOTc3MjM3NDAzMzkyNzkxN10sIFsxNTkxNzc2MTMzLjMxNTY0NDUsIDUyLCAwLjg3ODkyMzc3Mzc2NTU2NF0sIFsxNTkxNzc2MTM4LjAwMDEzMiwgNTMsIDAuOTYyMzc5MjE3MTQ3ODI3MV0sIFsxNTkxNzc2MTQyLjY3MjczODgsIDU0LCAwLjk3NDcyMzE2MDI2Njg3NjJdLCBbMTU5MTc3NjE0Ny4zMzk3ODMsIDU1LCAwLjk4ODY5NTAyNTQ0NDAzMDhdLCBbMTU5MTc3NjE1MS45MDY2LCA1NiwgMC45NTk4NDYxOTg1NTg4MDc0XSwgWzE1OTE3NzYxNTYuNDEwNzY0MiwgNTcsIDAuOTU5OTM3MjE0ODUxMzc5NF0sIFsxNTkxNzc2MTYxLjE0Mjk5OTYsIDU4LCAwLjk4MzkwMjAzNzE0MzcwNzNdLCBbMTU5MTc3NjE2NS43NjcyMTQzLCA1OSwgMC45ODkxMDIwMDU5NTg1NTcxXSwgWzE1OTE3NzYxNzAuNDA2Mzk2NCwgNjAsIDAuOTQwMDc3NjYyNDY3OTU2NV0sIFsxNTkxNzc2MTc1LjA4MDI5NDYsIDYxLCAwLjk2OTExNjE1MTMzMjg1NTJdLCBbMTU5MTc3NjE3OS42MDY2ODcsIDYyLCAwLjk4NTUzMDA3ODQxMTEwMjNdLCBbMTU5MTc3NjE4NC4wODkxOTA3LCA2MywgMC42ODQ1NjkzNTg4MjU2ODM2XSwgWzE1OTE3NzYxODguNzkyMjUyLCA2NCwgMC45ODU5MzcwNTg5MjU2Mjg3XSwgWzE1OTE3NzYxOTMuMzMyMzA2NiwgNjUsIDAuOTg0NzE2MDU3Nzc3NDA0OF0sIFsxNTkxNzc2MTk3Ljk0MjAwNjgsIDY2LCAwLjk3MjY5ODg2NzMyMTAxNDRdLCBbMTU5MTc3NjIwMi42MjY5NDg4LCA2NywgMC45OTIzNTgwMjg4ODg3MDI0XSwgWzE1OTE3NzYyMDcuMTQzMTQ3NywgNjgsIDAuOTg3NDc0MDI0Mjk1ODA2OV0sIFsxNTkxNzc2MjExLjY3MTIwMzEsIDY5LCAwLjk3NzQ4MTA2NzE4MDYzMzVdLCBbMTU5MTc3NjIxNi40Mjg0MDQ2LCA3MCwgMC45ODE4NjcwNzQ5NjY0MzA3XSwgWzE1OTE3NzYyMjAuOTkzMTE3MywgNzEsIDAuOTUyMzQwNDgzNjY1NDY2M10sIFsxNTkxNzc2MjI1LjUzNjA1NywgNzIsIDAuOTQ4NzY2MTcxOTMyMjIwNV0sIFsxNTkxNzc2MjMwLjE4Nzk1NzMsIDczLCAwLjk2OTM0NTI3MTU4NzM3MThdLCBbMTU5MTc3NjIzNC42ODkzNzYsIDc0LCAwLjk4MzY5MzMwMTY3NzcwMzldLCBbMTU5MTc3NjIzOS4zMzE3MTI1LCA3NSwgMC45NTM3MDE3OTQxNDc0OTE1XSwgWzE1OTE3NzYyNDMuOTk3MzQxLCA3NiwgMC45ODgyODgwNDQ5Mjk1MDQ0XSwgWzE1OTE3NzYyNDguNTcyMjc0NywgNzcsIDAuOTkxOTUxMDQ4Mzc0MTc2XSwgWzE1OTE3NzYyNTMuMTU2MDk4OCwgNzgsIDAuOTkxNTQ0MDA4MjU1MDA0OV0sIFsxNTkxNzc2MjU3Ljg2NTIsIDc5LCAwLjk3NzE2NTE2MjU2MzMyNF0sIFsxNTkxNzc2MjYyLjM5OTM2NTcsIDgwLCAwLjk4NTkzNzA1ODkyNTYyODddLCBbMTU5MTc3NjI2Ni45MTUzMzQyLCA4MSwgMC45ODkxMDIwMDU5NTg1NTcxXSwgWzE1OTE3NzYyNzEuNjE0NTg5NywgODIsIDAuOTkxNTQ0MDA4MjU1MDA0OV0sIFsxNTkxNzc2Mjc2LjA5ODQ0ODgsIDgzLCAwLjk4NzQ3NDAyNDI5NTgwNjldLCBbMTU5MTc3NjI4MC42MDEzNDg2LCA4NCwgMC45ODkxMDIwMDU5NTg1NTcxXSwgWzE1OTE3NzYyODUuMTMwMjEzNywgODUsIDAuOTg4Njk1MDI1NDQ0MDMwOF0sIFsxNTkxNzc2Mjg5Ljc4NDAwNjQsIDg2LCAwLjk2Njc2NTIyNDkzMzYyNDNdLCBbMTU5MTc3NjI5NC40MTAzODg3LCA4NywgMC45ODU0MzkwMDI1MTM4ODU1XSwgWzE1OTE3NzYyOTkuMTU4MzQ2MiwgODgsIDAuOTgwOTYyMDM4MDQwMTYxMV0sIFsxNTkxNzc2MzAzLjcwNzkwMSwgODksIDAuOTg0NzE2MDU3Nzc3NDA0OF0sIFsxNTkxNzc2MzA4LjI0MzY0MjYsIDkwLCAwLjk4NzU2NTA0MDU4ODM3ODldLCBbMTU5MTc3NjMxMi44MDA3NzA1LCA5MSwgMC45OTA3MzAwNDcyMjU5NTIxXSwgWzE1OTE3NzYzMTcuNDUwNTczMiwgOTIsIDAuOTc5MzMzOTk2NzcyNzY2MV0sIFsxNTkxNzc2MzIxLjkzNzQ5MjgsIDkzLCAwLjk3NDMxNjEyMDE0NzcwNTFdLCBbMTU5MTc3NjMyNi40Njc0MzQyLCA5NCwgMC45ODg2OTUwMjU0NDQwMzA4XSwgWzE1OTE3NzYzMzEuMDc0NDYzOCwgOTUsIDAuOTg2NjYwMDAzNjYyMTA5NF0sIFsxNTkxNzc2MzM1LjYyMTAzOTQsIDk2LCAwLjk4Nzg4MTAwNDgxMDMzMzNdLCBbMTU5MTc3NjM0MC4xMzUzODM4LCA5NywgMC45ODgyODgwNDQ5Mjk1MDQ0XSwgWzE1OTE3NzYzNDQuNzI1NDA1MiwgOTgsIDAuOTkwNzMwMDQ3MjI1OTUyMV0sIFsxNTkxNzc2MzQ5LjIxNzU5MTUsIDk5LCAwLjk4ODI4ODA0NDkyOTUwNDRdXQ==",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ },
+ "https://localhost:6006/data/plugin/scalars/scalars?tag=train%2Fcls_loss&run=Jun10_07-57-44_bf5a9e8c33f3yolov5s_results": {
+ "data": "W1sxNTkxNzc1ODkzLjA3MzU3LCAwLCAwLjA0MzAxMDM1Nzc2NzM0MzUyXSwgWzE1OTE3NzU4OTcuNTA0NjY4MiwgMSwgMC4wMzY3ODk5NjQ4ODQ1MTk1OF0sIFsxNTkxNzc1OTAxLjg4Njc5NjUsIDIsIDAuMDMxMzQ4MDE2MTEzMDQyODNdLCBbMTU5MTc3NTkwNi40MzE1MjMsIDMsIDAuMDI3MzIwMjI2NjU0NDEwMzYyXSwgWzE1OTE3NzU5MTAuOTAwNTAxNSwgNCwgMC4wMjQ4MjI3Njc4MjM5MzQ1NTVdLCBbMTU5MTc3NTkxNS40Mjc2NzEsIDUsIDAuMDIyNTg3OTU4NzIzMzA2NjU2XSwgWzE1OTE3NzU5MjAuMDMyODkxOCwgNiwgMC4wMjE0OTg4NTMzNDA3NDQ5NzJdLCBbMTU5MTc3NTkyNC40OTE5NjIsIDcsIDAuMDIwMjQyMTg4MTI1ODQ4NzddLCBbMTU5MTc3NTkyOC45OTAyNjEzLCA4LCAwLjAxOTA1MTcyODc3MDEzNjgzM10sIFsxNTkxNzc1OTMzLjUxNjY0LCA5LCAwLjAxODM5MTg4NDg2MzM3NjYxN10sIFsxNTkxNzc1OTM4LjExODAyOSwgMTAsIDAuMDE3OTUwNjEzMDUxNjUyOTFdLCBbMTU5MTc3NTk0Mi43MjY2ODk2LCAxMSwgMC4wMTY5NTA1MDQ4NTQzMjE0OF0sIFsxNTkxNzc1OTQ3LjM0NTUwNTUsIDEyLCAwLjAxNTk3MDIyNjM3NzI0ODc2NF0sIFsxNTkxNzc1OTUyLjAxMzY3MDIsIDEzLCAwLjAxNTIzNTA5MjQ5MDkxMTQ4NF0sIFsxNTkxNzc1OTU2LjYzMzEyODQsIDE0LCAwLjAxNDA5NjUxNTI1MzE4NjIyNl0sIFsxNTkxNzc1OTYwLjkzOTA5NDMsIDE1LCAwLjAxMzY2MjQ4NzI2ODQ0Nzg3Nl0sIFsxNTkxNzc1OTY1Ljc4MzcwMzgsIDE2LCAwLjAxMTk5MzUzMzkzMTY3MjU3M10sIFsxNTkxNzc1OTcwLjMxODQ1MzgsIDE3LCAwLjAxMTQzMjM0NDA5MzkxODhdLCBbMTU5MTc3NTk3NS4yMTU0MDAyLCAxOCwgMC4wMTA0Njk4MjUwMDcwMjE0MjddLCBbMTU5MTc3NTk3OS40NzQ0MzkxLCAxOSwgMC4wMDk2ODc2OTkzNzc1MzY3NzRdLCBbMTU5MTc3NTk4My42MTIyMjMxLCAyMCwgMC4wMDk0NjM5MDQ0MjU1MDE4MjNdLCBbMTU5MTc3NTk4OC4xNTcwNzA5LCAyMSwgMC4wMDkxMjY4Mjg5ODM0MjYwOTRdLCBbMTU5MTc3NTk5Mi44NDI2NjExLCAyMiwgMC4wMDgwNzkzMTE4MTA0MzM4NjVdLCBbMTU5MTc3NTk5Ny41NDU5OTA3LCAyMywgMC4wMDc3MjY3MjQ3MjUyMTY2MjddLCBbMTU5MTc3NjAwMi4yNjgyMzA0LCAyNCwgMC4wMDY4NjA2NTEwNzU4Mzk5OTZdLCBbMTU5MTc3NjAwNy4wMzAyNjk0LCAyNSwgMC4wMDY5NDY4MzcwNjM4Nzg3NzVdLCBbMTU5MTc3NjAxMS42NDQ3MjQ4LCAyNiwgMC4wMDYyNjc1MzMxNzE5MjE5Njg1XSwgWzE1OTE3NzYwMTUuOTI4Mzg2LCAyNywgMC4wMDYzMjQ4NTYwNzYzODk1NTFdLCBbMTU5MTc3NjAyMC4xODI1NzUsIDI4LCAwLjAwNTU1Mzk2NzMxOTQyODkyMV0sIFsxNTkxNzc2MDI0Ljc2MTcyODMsIDI5LCAwLjAwNTY2MDg3OTQyNTcwNDQ3OV0sIFsxNTkxNzc2MDI5LjUxNjgwMTgsIDMwLCAwLjAwNTI0OTE1NjYxNjYyODE3XSwgWzE1OTE3NzYwMzQuNTY3NTUwMiwgMzEsIDAuMDA1MTQxNzYzMDE2NTgxNTM1XSwgWzE1OTE3NzYwMzkuMTY5NDAxNCwgMzIsIDAuMDA0ODE1MjE4OTcwMTc5NTU4XSwgWzE1OTE3NzYwNDMuODkzNDM1MiwgMzMsIDAuMDA0NjA0NDY0ODYyNDk1NjYxXSwgWzE1OTE3NzYwNDguNjUxMzYzNCwgMzQsIDAuMDA0NTg4NjkyNDQ5MDMzMjZdLCBbMTU5MTc3NjA1My4zMDA1NzI5LCAzNSwgMC4wMDQ1OTg2NjMxODg1MTcwOTRdLCBbMTU5MTc3NjA1Ny43ODI0ODc2LCAzNiwgMC4wMDQxNjExNjg4MjExNTYwMjVdLCBbMTU5MTc3NjA2Mi42NzEzNDQzLCAzNywgMC4wMDQ3MDE2NzExOTA1NTk4NjRdLCBbMTU5MTc3NjA2Ny4zOTkzNzc2LCAzOCwgMC4wMDQxNjI0MTk1ODczNzM3MzM1XSwgWzE1OTE3NzYwNzIuMDc4Mjk5LCAzOSwgMC4wMDM5MTg4MzIxNjc5ODMwNTVdLCBbMTU5MTc3NjA3Ni41NzQ1MjE4LCA0MCwgMC4wMDM5MTA0MzQ0MzIzMjc3NDddLCBbMTU5MTc3NjA4MS4xNDY4NTQ2LCA0MSwgMC4wMDM3ODg4MTA0NTYxNzE2MzJdLCBbMTU5MTc3NjA4NS43ODg2MTQsIDQyLCAwLjAwMzU1NzMzNzkxMzY2MjE5NV0sIFsxNTkxNzc2MDkwLjcxNDA5ODcsIDQzLCAwLjAwMzM2NDk3MDkwNzU2ODkzMTZdLCBbMTU5MTc3NjA5NS41MDQzOTQ1LCA0NCwgMC4wMDMzNjkwODQwOTM3MTk3MjFdLCBbMTU5MTc3NjEwMC4zODg0ODUsIDQ1LCAwLjAwMzI4NzA2NjkzODM1NTU2NV0sIFsxNTkxNzc2MTA1LjAxMjEwNywgNDYsIDAuMDAzMjk5ODg2MzYwNzY0NTAzNV0sIFsxNTkxNzc2MTA5LjY0NDg5MzYsIDQ3LCAwLjAwMzQ3NjkxNDk0OTcxNTEzNzVdLCBbMTU5MTc3NjExNC4yNDc2NTEzLCA0OCwgMC4wMDMzMTI3MjcyMDM1OTI2NThdLCBbMTU5MTc3NjExOS4xNTg1NjM0LCA0OSwgMC4wMDI5OTA4MjE4NDIxMDQxOTY1XSwgWzE1OTE3NzYxMjMuODM3OTk5NiwgNTAsIDAuMDAyNzg5ODQzODI3NDg2MDM4XSwgWzE1OTE3NzYxMjguNTA2NTc4NCwgNTEsIDAuMDAyODgwNjA1NDAzMzMzOTAyNF0sIFsxNTkxNzc2MTMzLjMxNTU1NTYsIDUyLCAwLjAwMjgxNTQ4ODcyNTkwMDY1XSwgWzE1OTE3NzYxMzguMDAwMDM3MiwgNTMsIDAuMDAyNzQyMzQ0NzQ2MzY2MTQzMl0sIFsxNTkxNzc2MTQyLjY3MjY1NiwgNTQsIDAuMDAyNjg1MTA2ODI1MDgzNDk0XSwgWzE1OTE3NzYxNDcuMzM5Njk4MywgNTUsIDAuMDAyNzQ5MDMzOTcwNzU4MzE5XSwgWzE1OTE3NzYxNTEuOTA2NTAzLCA1NiwgMC4wMDI3MjMxOTMyNjE3NzIzOTRdLCBbMTU5MTc3NjE1Ni40MTA2ODIyLCA1NywgMC4wMDI3MjEyMzY3ODU4NzM3NzA3XSwgWzE1OTE3NzYxNjEuMTQyODk1NywgNTgsIDAuMDAyNzA1ODAwMzQ3MDMwMTYzXSwgWzE1OTE3NzYxNjUuNzY3MTI0LCA1OSwgMC4wMDI2MjQ5ODA0MDY4MzU2NzUyXSwgWzE1OTE3NzYxNzAuNDA2MzEzMiwgNjAsIDAuMDAyNDkxNTE5MDg3OTI1NTUzM10sIFsxNTkxNzc2MTc1LjA4MDIxMjYsIDYxLCAwLjAwMjUxMTE1MzQ2MzI3NDI0MDVdLCBbMTU5MTc3NjE3OS42MDY1OCwgNjIsIDAuMDAyMzQyMTgyNDQ0NDA4NTM2XSwgWzE1OTE3NzYxODQuMDg5MDkyMywgNjMsIDAuMDAyNDQyNDc2ODA1Mjk5NTIwNV0sIFsxNTkxNzc2MTg4Ljc5MjEzNzYsIDY0LCAwLjAwMjM2NjE0OTU2NTIwNDk3OF0sIFsxNTkxNzc2MTkzLjMzMjIyMjUsIDY1LCAwLjAwMjQyMTUyNjQ3MTE1MjkwMTZdLCBbMTU5MTc3NjE5Ny45NDE5MDM4LCA2NiwgMC4wMDI0MDc5MzE0ODk4Njk5NTJdLCBbMTU5MTc3NjIwMi42MjY4NTksIDY3LCAwLjAwMjQzNDM0MjYzMzkzMjgyOV0sIFsxNTkxNzc2MjA3LjE0MzA1NzMsIDY4LCAwLjAwMjIyOTU3NTA2Nzc1ODU2XSwgWzE1OTE3NzYyMTEuNjcxMTA2OCwgNjksIDAuMDAyMjA2OTk4MTc4NzM1Mzc1NF0sIFsxNTkxNzc2MjE2LjQyODMwNiwgNzAsIDAuMDAyMTY1MTIyNjU2MTUxNjUyM10sIFsxNTkxNzc2MjIwLjk5MzAyOTQsIDcxLCAwLjAwMjEyNTg5NzkxMDQ0NTkyODZdLCBbMTU5MTc3NjIyNS41MzU5NjQ3LCA3MiwgMC4wMDIwNzk4NzMxMTI5NjE2NV0sIFsxNTkxNzc2MjMwLjE4NzgxNjksIDczLCAwLjAwMjE4OTM1MjY0Mjc0NDc3OTZdLCBbMTU5MTc3NjIzNC42ODkyNzc2LCA3NCwgMC4wMDIyOTA0NDk4MDM2OTUwODI3XSwgWzE1OTE3NzYyMzkuMzMxNTk4NSwgNzUsIDAuMDAyMTE2MTc3MjMxMDczMzc5NV0sIFsxNTkxNzc2MjQzLjk5NzIzNywgNzYsIDAuMDAxOTQ5NzY1MjUzODEyMDc0N10sIFsxNTkxNzc2MjQ4LjU3MjE5NiwgNzcsIDAuMDAxOTE0OTEwMjczNjI2NDQ2N10sIFsxNTkxNzc2MjUzLjE1NTk5MjMsIDc4LCAwLjAwMjA3MzgwMDg4OTc3NTE1N10sIFsxNTkxNzc2MjU3Ljg2NTExNTIsIDc5LCAwLjAwMTcxNDcwOTU2NDExMjEyNjhdLCBbMTU5MTc3NjI2Mi4zOTkyODE3LCA4MCwgMC4wMDE4ODg5OTYyMjI5ODc3NzFdLCBbMTU5MTc3NjI2Ni45MTUyMzIsIDgxLCAwLjAwMTg1NDc5NDIxNjM0MjI3MDRdLCBbMTU5MTc3NjI3MS42MTQ1MDkzLCA4MiwgMC4wMDE5MDgwODI4NjQyNDcyNjI1XSwgWzE1OTE3NzYyNzYuMDk4MzQ5OCwgODMsIDAuMDAxOTI2NDI5MjIwNDc1MjU2NF0sIFsxNTkxNzc2MjgwLjYwMTI1ODgsIDg0LCAwLjAwMTQ5MDU0MzM2MzYxNTg3MDVdLCBbMTU5MTc3NjI4NS4xMzAxMTg2LCA4NSwgMC4wMDE5NDkwNzQwOTYwNDYzODgxXSwgWzE1OTE3NzYyODkuNzgzOTIxLCA4NiwgMC4wMDE2NTM5NjU0NDYxNjY2OTQyXSwgWzE1OTE3NzYyOTQuNDEwMjg3LCA4NywgMC4wMDE5MDc1Nzc3MzgxNjU4NTU0XSwgWzE1OTE3NzYyOTkuMTU4MjQ5NiwgODgsIDAuMDAxNzY0MzkxNjY1MzQ2OTIwNV0sIFsxNTkxNzc2MzAzLjcwNzczNTMsIDg5LCAwLjAwMTcwMDMyNTg2OTAyMzhdLCBbMTU5MTc3NjMwOC4yNDM1NDkzLCA5MCwgMC4wMDE3OTc4OTQzNjUxNTQyMDY4XSwgWzE1OTE3NzYzMTIuODAwNjcwNCwgOTEsIDAuMDAxNzMwNDU5OTc1MDc4NzAyXSwgWzE1OTE3NzYzMTcuNDUwNDcwNywgOTIsIDAuMDAxNjI1MjU2MzgwMDY2Mjc1Nl0sIFsxNTkxNzc2MzIxLjkzNzQwOTksIDkzLCAwLjAwMTY4MDU3NjgyNDU4MzExMzJdLCBbMTU5MTc3NjMyNi40NjczNDM2LCA5NCwgMC4wMDE4MTk5MTQyMDY4NjI0NDk2XSwgWzE1OTE3NzYzMzEuMDc0Mzc3NSwgOTUsIDAuMDAxNjQ2NDEzOTMzNDg1NzQ2NF0sIFsxNTkxNzc2MzM1LjYyMDk1MywgOTYsIDAuMDAxNTc0MzM0Njg4NDg0NjY4N10sIFsxNTkxNzc2MzQwLjEzNTI5MTgsIDk3LCAwLjAwMTYzMjE0MzM5NDA5MDIzNTJdLCBbMTU5MTc3NjM0NC43MjUzMTk5LCA5OCwgMC4wMDE3NTA1ODU5NzIzMzE0NjQzXSwgWzE1OTE3NzYzNDkuMjE3NDk3MywgOTksIDAuMDAxNzY3MjAzOTEwMjc2MjkzOF1d",
+ "ok": true,
+ "headers": [
+ [
+ "content-type",
+ "application/json"
+ ]
+ ],
+ "status": 200,
+ "status_text": ""
+ }
+ },
+ "base_uri": "https://localhost:8080/",
+ "height": 821
+ },
+ "outputId": "b77a13bb-29dd-4a8a-9d6d-f02a67b23be8"
+ },
+ "source": [
+ "# Start tensorboard\n",
+ "# Launch after you have started training\n",
+ "# logs save in the folder \"runs\"\n",
+ "%load_ext tensorboard\n",
+ "%tensorboard --logdir runs"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "application/javascript": [
+ "\n",
+ " (async () => {\n",
+ " const url = await google.colab.kernel.proxyPort(6006, {\"cache\": true});\n",
+ " const iframe = document.createElement('iframe');\n",
+ " iframe.src = url;\n",
+ " iframe.setAttribute('width', '100%');\n",
+ " iframe.setAttribute('height', '800');\n",
+ " iframe.setAttribute('frameborder', 0);\n",
+ " document.body.appendChild(iframe);\n",
+ " })();\n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "C60XAsyv6OPe",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 938
+ },
+ "outputId": "6a5cb36e-628c-4408-ff2b-10664f206681"
+ },
+ "source": [
+ "# we can also output some older school graphs if the tensor board isn't working for whatever reason... \n",
+ "from utils.utils import plot_results; plot_results() # plot results.txt as results.png\n",
+ "Image(filename='./results.png', width=1000) # view results.png"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "image/png": "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focOHUzYGiIiIiIiIiIiIiIiIqqtDFsglIiIiIioHissLMSCBQtw+fJl8bG+ffuasEVERERERERERERERERUWzEBi4iIiIjov6ZOnYrffvsNqampKC4uFh9//vnn4efnZ8KWERERERERERERERERUW3FBCwiIiIiov9KS0vDjRs3JI95e3tjzZo1JmoRERERERERERERERER1XZMwCIiIiIiUqFQKODg4ABfX18MHDgQ77//Puzt7U3dLCIiIiIiIiIiIiIiIqqlFIIgCKZuBBERERERERERERERERERERERUV1kZuoGEBERERERERERERERERERERER1VVMwCIiIiIiIiIiIiIiIiIiIiIiIjIQE7CIiIiIiIiIiIiIiIiIiIiIiIgMxAQsIiIiIiIiIiIiIiIiIiIiIiIiAzEBi4iIiIiIiIiIiIiIiIiIiIiIyEAWpm4AVY+HDx8iMTERAODm5gYLC37URERylJaWIiMjAwDw+OOPw8bGxsQtotqI/SwRkf7Yx5Ic7GOJiAzDfpZ0YR9LRGQY9rEkB/tZIiL91cc+lt/+9VRiYiKCgoJM3QwiojrtxIkT6Natm6mbQbUQ+1kioqphH0uasI8lIqo69rOkDvtYIqKqYx9LmrCfJSKqmvrSx3IJQiIiIiIiIiIiIiIiIiIiIiIiIgNxBqx6ys3NTdw+ceIEmjVrZsLWEBHVHampqeKdKqrfpUSq2M8SEemPfSzJwT6WiMgw7GdJF/axRESGYR9LcrCfJSLSX33sY5mAVU+pri3crFkztGjRwoStISKqm7hOO2nCfpaIqGrYx5Im7GOJiKqO/Sypwz6WiKjq2MeSJuxniYiqpr70sVyCkIiIiIiIiIiIiIiIiIiIiIiIyEBMwCIiIiIiIiIiIiIiIiIiIiIiIjIQE7CIiIiIiIiIiIiIiIiIiIiIiIgMxAQsIiIiIiIiIiIiImpwduzYgaFDh8LLyws2NjZwd3dHz5498eWXXyI3N7fa6o2Pj8cnn3yCzp07w83NDdbW1vD09ETXrl3x3nvvYfPmzVAqldVWPxERERERERmfhakbQERERERERERERERUUx48eIDRo0djx44dksczMjKQkZGB2NhYLF++HL///juCg4ONVm9ubi4mTZqEf//73xAEQfJcSkoKUlJScPr0aaxcuRLZ2dlwdHQ0Wt1ERERERERUvZiARUREREREREREREQNglKpxNChQ/HXX38BADw8PDBu3Dg89thjyMrKwsaNGxETE4Nbt27hxRdfRExMDPz9/atcb1ZWFp5//nmcOnUKAODp6YlBgwahY8eOaNKkCfLy8nDp0iXs378fp0+frnJ9RERENU2pVCIpKQmnTp3C6dOncerUKSQkJKCwsBAAMGbMGERERFRL3Tt27MD69etx8uRJ3L17Fw4ODvD29sbLL7+M8ePHw8HBoVrqJSIiUsUELCIiIiIiIiIiIiJqENauXSsmXz322GM4ePAgPDw8xOcnTpyIjz/+GF9//TWys7Mxfvx4HD58uMr1jho1Sky+mjJlCr744gvY2NhUKrdgwQKkpKSgcePGVa6TiIioJg0bNgxbt26t0TpNNaslERGROmambgARERERERERERERUXVTKpWYM2eOuL9+/XpJ8lW5xYsXo1Oncbs53AAAIABJREFUTgCAI0eOYN++fVWqNyIiAnv37gUATJgwAV999ZXa5KtyzZs3h4UF750mIqK6RalUSvadnZ3h4+NTrfUNHTpUTL7y8PDAZ599hg0bNmDFihXo1asXAIizWiYlJVVbW4iIiAAmYBERERERERERERFRA3D48GGkpqYCAEJCQhAYGKi2nLm5OT744ANxf+PGjVWqd/HixQCAxo0bY9GiRVWKRUREVFsFBQVh2rRp2LRpE65evYp79+5hxowZ1VZfxVktExISMG/ePIwcORITJ05EdHQ0pkyZAgDirJZERETVibfREBEREREREREREVG9t2fPHnH7xRdf1Fq2b9++ao/TV0xMDC5cuAAAGDBgABwcHAyORUREVJtVZ7JVRfrMavn333/jzJkz4qyWzz33XI21k4iIGhbOgEVERERERERERERE9V5iYqK43a1bN61lmzZtipYtWwIA0tLSkJGRYVCdhw4dEre7d+8OANi6dStefPFFNG3aFNbW1mjevDleeuklrFu3DqWlpQbVQ0RE1JCYalZLIiIibTgDFlVyK6sAx67eQ97DUtjbWCC4rQtaOtuZullEREQkA/txIiJqqNgHEhGRLsnJyeJ2mzZtdJZv06YNbt26JR7r5uamd52nTp0Stz08PDB48GBs3bpVUiY1NRWpqanYvXs3vv32W2zfvl1W+1Tdvn1b6/PlP1ITUd3B81sizUwxqyUR1S6m6ifZP5M2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27dv8enTJ1SpUgX29vZo27atVirh+Ph43Lhxg+vA1dXVhZmZGWxtbdG6desiVbKEEEK+XIMHD8a+ffsAFAwc2LhxYymXiBBCCPDltMtevXqFsLAwbilYiUQCExMT1KhRAy1atIClpWWxvG9mZiauXLmCJ0+eIC3t/9i79/Ao6zv//6/J5EQOEBIIYBkFFKMcFkSwCFUOqYr8XK0HWtBvLbKy0Fqha7V1WxfX1W2rLlbjoWrBYlVYZVtdPJDVEhBBUaiAokJRDo41HEII5HyYzO+POOMkc8/Mfd8zk0wyz8d1cV2TzGfu+wO1933P/Xnfr3eN+vXrJ5fLpSlTpigrK8v2dvfu3atPPvlEn3/+uU6ePOn/+5x55pkaP368+vTp0yXbSkQffvihduzY4S9K7927t4YOHapx48bplFNOMbWN6upqbdy4UXv37lV9fb0GDBig0047TRdeeGG7loGJrLa2Vm+++aY+//xzVVZWqk+fPho8eLCmTJnSrf6/DADdXUNDgy666CJ/e6k+ffpo5cqVmjlzpq3ttba26tFHH9U3v/lNnXfeebGcKgAgCXGeAmAGBVgAAABAArvwwgv11ltvSZLuvvtu3XHHHV08IwAAAAAAYq+qqkozZszQu+++K0lyOBy66qqrdPfdd5tOWvZ6vXrjjTd0xx13aOvWrRo4cKC2bt1KQhQAIGqcpwBEQgEWAAAAkKB8LRJramokSX/+85915ZVXdvGsAAAAAACIj9raWl1//fX685//7P9dSkqKvv3tb2vmzJm65JJLNHTo0HadE+rq6rR161Zt2LBBq1at0p49e/zvDRkyRKtXr9b48eM79e8BAOiZOE8BCIcCLAAAACABnThxQrfccoueeuopSVJGRoYOHz7c7dsdAQAAAAAQyZNPPqnbb79dx48fN3w/Ly9PvXv31vHjx1VdXR30vsPh0PXXX6+SkhL17t073tMFACQZzlMAjFCABQAAACSQ6667Tm+99Za+/PJLeTwe/+8XLFigxx9/vAtnBgAAAABA5zl27JgefPBBPf7446qoqDD1mdTUVM2ePVu33367Ro4cGecZAgCSGecpAB1RgAUAAAAkkKlTp+rNN99s97vzzjtPr7/+OulXAAAAAICk09LSor/85S/6y1/+om3btumzzz7TsWPH1NLSon79+mngwIEaPXq0LrnkEl188cXq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ysvLQ6937twpue2bb74Zer1kyZK4jUmNgoICnHPOOQCAjz76CJ999pnotk6nE3v37gUApKamYvHixSMxxAkvmGAlt4pWLMEqSGzeXHT+NGypXDhsP7vDhe3v2vG7fcfwaUef7BjZgpCIiMI123vw0M4jstsN+Pyorm1Cs71nBEZFREREY5lcApZH4QLczl51CViRBVVybYWSmWRBRESkmd3hwu4W5d0ggk71n5nfRVsQmk2oO9SGp/fJdwLRqtc9VNwl17I4iAlYRMrxr4XGjTVleZqjk+VaEFpMRs39bc0i6VpCY2UCFhHFy+LFi5GbmwsAeOedd/Dee+8Jbufz+VBTUxN6f9NNN2k6369//WsEAgHZ/+67777QPvfdd1/o56+++mrUMW+88cbQ60cffVT03L/97W/R1zdUjHPNNdcgNTVVdFuKrfLCGdi+6hJkZyQLfj5raiq2r7pEMkGkq0/4JnN4695mew9WbG3EZRt2466X38cDb3yIv3/eLTs+mYXIREQ0wahZrTrg86NmV2ucR0RERERjnVfmu4WSBbiBQEBDApYx6r1B4nY2WxASERFp13C0S1NXplNhqVZiCVj2bheqa5sUdXzQKsNqASBfsB3EAiwi5fjXQuOG0uQNIXItCAHlk1Aks1gCllALQiZgEVGcmEwmrF27NvR++fLlaG+PXqFxzz33oKmpCQCwaNEiXHHFFYLH27p1KwwGAwwGAy6//PK4jDnSnXfeiYyMDADA448/jh07dkRtc/DgQfznf/4nAMBsNg8r8KKRUWTLxCXnTRX87Ftzc0STr4LEbjJ7v7rgrDvUhorNB1B/pF31Ra6fCVhERPQVLatV61vacbzbFacRERER0XgwKPOwdFAmIQsATru9irYLF9mC0GAwwGoWvp+dZDbCIFWdRURERJJ6w1oJqtEflnolVoD18t+Px/V5scEAlMzJAqCsA5TJaBDtWkFE0cyjPQCiWBpK3khBza5W1LcofzBrMctPHKlJJk0TqkkkOUuoUIwtCIkonqqqqvDKK6/g7bffxuHDh1FUVISqqioUFBTA4XCgtrYW+/btAwBkZmbiySefHOURD5ednY1NmzahsrISfr8f1157LW666SZ8+9vfhslkwv79+/HMM8/A7XYDANatW4e5c+eO8qgnJrGWC30e+XnU4RROwPL5A2i296C6tknzBWg8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4403FP/54osvzP2h5BPsBCyn3YaNecrtruTa947dDxHReHXgwAHU1o4sml+xYgUuueQSye3sdjs2btzo+3nXrl0hOT8KDaMtBD+saUbBtoOo79DWPUC0wsJ5TqVWwkREWmmbtQqxrq4u3Hbbbb4ewaLGxkY0Njbi4MGDeOqpp/DKK68gNzd3XByzp6cHP/jBDzQlHhCZIbaYcLf04IOaFnT2DSLBFYXcOckBq7A25c1FWVWT5snYYBAH8Yc8w2jpGdD1WXFyeEfhsiCdHREROWwClL6dozS0UTDKrlLcpbkFoYEErAp3G7bu+Vh127HFVMPDXjR0Khdt1Xf0qz7QmynAkkrAMhP/rbSKm4iIxqfkWCfaerSv7h07sRwl095X7tlSqfiYCVhEFGoOhwOvvfYabr31VuzZswd1dXXYunVrwHaZmZl4+eWXsWiR8datAFBWVuZ77fV6ce+992r63G9/+1sUFhaaOjaNMJOAZROAYYUhfbHbQE5WkuJ+1BY3AUB0FAuwiGj82rt3r+/1qlWrFLe94YYbJD9H41+CxgWzY7125Bw8ShdcnccTAOjZm1orYSIirSLujt7j8aCgoMBXCDV9+nTcf//9ePHFF/GrX/0Ky5cvBwC43W6sWrUKn3zyybg45r333ovq6mrExcWZPl8iLfxbTKxZmik5eaq1bWGw+A/i13f2G7q58u8NTURE1lMbJHYE8RqituspGlcluXQOYjd19aNg20EcPtOquu3Y1I6WngEMepSvZw0qqVqAuQkCqdXdZuK/iYho4pkap71Ng9TEslyKx6CRAiwmYBFRGCQkJGD37t144403cPPNNyMrKwvR0dFITU3FZZddhkcffRSVlZW44oorwn2qZAEzCVhXz09Dqkx7I/9uA2q0LF6KZgIWEY1jJ06c8L1etkx50Xx6ejqysrIAAPX19WhsbAzquVHo5M5JCejQo4WR+UFAPrUqe2airv2otRImItIq4hKwnnvuOZSUlAAAFi5ciP3794/qEXznnXfipz/9KZ544gm0trbijjvuwIEDByL6mH/96199MdM///nP8a//+q+mzpfISiNtC2Pwf187jpN1nSE77thB/HOtvYb2I04Or1nKGyMiomBQawMYzgSsRI3tk/S2IDzXpl4gJaqqH33tVGo/KKpXScgCgF4zCVgSxVtG4787+7SnoxAR0fgx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AAAAAAAAAAAAyYoCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMIgCLAAAAAAAAAAAAAAAAAAwiAIsAAAAAAAAAAAAAAAAADCIAiwAAAAAAAAAAAAAAAAAMOj/A8eOsCU+ZvhTAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "image/png": {
+ "width": 1000
+ }
+ },
+ "execution_count": 10
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "needs_background": "light"
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "DLI1JmHU7B0l",
+ "colab_type": "text"
+ },
+ "source": [
+ "### Curious? Visualize Our Training Data with Labels\n",
+ "\n",
+ "After training starts, view `train*.jpg` images to see training images, labels and augmentation effects.\n",
+ "\n",
+ "Note a mosaic dataloader is used for training (shown below), a new dataloading concept developed by Glenn Jocher and first featured in [YOLOv4](https://arxiv.org/abs/2004.10934)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "PF9MLHDb7tB6",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 934
+ },
+ "outputId": "c5e2ae65-ba06-4366-ec9b-b58586184c5f"
+ },
+ "source": [
+ "# first, display our ground truth data\n",
+ "print(\"GROUND TRUTH TRAINING DATA:\")\n",
+ "Image(filename='./test_batch0_gt.jpg', width=900)"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "GROUND TRUTH TRAINING DATA WITH:\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "image/jpeg": {
+ "width": 900
+ }
+ },
+ "execution_count": 11
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "W40tI99_7BcH",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 934
+ },
+ "outputId": "e842539d-55c5-4b0d-a3d3-db9b578cec38"
+ },
+ "source": [
+ "# print out an augmented training example\n",
+ "print(\"GROUND TRUTH AUGMENTED TRAINING DATA:\")\n",
+ "Image(filename='./train_batch2.jpg', width=900)"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "AUGMENTED TRAINING DATA:\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": [],
+ "image/jpeg": {
+ "width": 900
+ }
+ },
+ "execution_count": 12
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "N3qM6T0W53gh",
+ "colab_type": "text"
+ },
+ "source": [
+ "#Run Inference With Trained Weights\n",
+ "Run inference with a pretrained checkpoint on contents of `test/images` folder downloaded from Roboflow."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "yIEwt5YLeQ7P",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ },
+ "outputId": "240ec1a8-d601-489f-dee6-91ec61ae42de"
+ },
+ "source": [
+ "# trained weights are saved by default in our weights folder\n",
+ "%ls weights/"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "download_weights.sh last_yolov5s_results.pt\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "9nmZZnWOgJ2S",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 765
+ },
+ "outputId": "1a8c8f1e-84b5-4bd6-d8c7-76b59ac1f53d"
+ },
+ "source": [
+ "# when we ran this, we saw .007 second inference time. That is 140 FPS on a TESLA P100!\n",
+ "%cd /content/yolov5/\n",
+ "!python detect.py --weights weights/last_yolov5s_results.pt --img 416 --conf 0.4 --source ../test/images\n"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "/content/yolov5\n",
+ "Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=416, iou_thres=0.5, output='inference/output', save_txt=False, source='../test/images', view_img=False, weights='weights/last_yolov5s_results.pt')\n",
+ "Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)\n",
+ "\n",
+ "image 1/36 ../test/images/BloodImage_00038_jpg.rf.63da20f3f5538d0d2be8c4633c7034a1.jpg: 416x416 1 Plateletss, 23 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 2/36 ../test/images/BloodImage_00044_jpg.rf.b0e2369642c5a7fa434ed8defa79e2ba.jpg: 416x416 2 Plateletss, 17 RBCs, 2 WBCs, Done. (0.008s)\n",
+ "image 3/36 ../test/images/BloodImage_00062_jpg.rf.e965ee152eea462d82706a2709abfe00.jpg: 416x416 1 Plateletss, 16 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 4/36 ../test/images/BloodImage_00090_jpg.rf.4fd1da847d2857b6092003c41255ea4c.jpg: 416x416 2 Plateletss, 17 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 5/36 ../test/images/BloodImage_00099_jpg.rf.5b178d758af2a97d3df8e5f87b1f344a.jpg: 416x416 2 Plateletss, 18 RBCs, 1 WBCs, Done. (0.010s)\n",
+ "image 6/36 ../test/images/BloodImage_00112_jpg.rf.f8d86689750221da637a054843c72822.jpg: 416x416 1 Plateletss, 19 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 7/36 ../test/images/BloodImage_00113_jpg.rf.a6d6a75c0ebfc703ecff95e2938be34d.jpg: 416x416 2 Plateletss, 14 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 8/36 ../test/images/BloodImage_00120_jpg.rf.6742a4da047e1226a181d2de2978ce6d.jpg: 416x416 11 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 9/36 ../test/images/BloodImage_00133_jpg.rf.06c3705fcfe2fcaee19e1a076e511508.jpg: 416x416 14 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 10/36 ../test/images/BloodImage_00134_jpg.rf.ee0308b1f3e1ffbb048cb3b1f80e8e36.jpg: 416x416 2 Plateletss, 9 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 11/36 ../test/images/BloodImage_00154_jpg.rf.7c682b32a64ca0520b6fc725f0d667c7.jpg: 416x416 1 Plateletss, 10 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 12/36 ../test/images/BloodImage_00160_jpg.rf.500f16e32681898ca1ce052ea0402c08.jpg: 416x416 1 Plateletss, 14 RBCs, 1 WBCs, Done. (0.009s)\n",
+ "image 13/36 ../test/images/BloodImage_00190_jpg.rf.03484116dcad7715c77d30654056fc54.jpg: 416x416 1 Plateletss, 15 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 14/36 ../test/images/BloodImage_00191_jpg.rf.d4b5ad6525c6c0bc4eaea1f24901f396.jpg: 416x416 18 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 15/36 ../test/images/BloodImage_00204_jpg.rf.6c3c9e37ab9122b026444cc4e685aef1.jpg: 416x416 1 Plateletss, 19 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 16/36 ../test/images/BloodImage_00227_jpg.rf.1572183909350ffe748751e967b7c8e5.jpg: 416x416 9 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 17/36 ../test/images/BloodImage_00235_jpg.rf.b01cbde1f504d448759188feadad4838.jpg: 416x416 12 RBCs, 1 WBCs, Done. (0.009s)\n",
+ "image 18/36 ../test/images/BloodImage_00241_jpg.rf.d0edd8c528bec298a9552ed8ad5714c7.jpg: 416x416 12 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 19/36 ../test/images/BloodImage_00254_jpg.rf.6e046ca48ec2e57c2e178aa3f08ec8ee.jpg: 416x416 1 Plateletss, 17 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 20/36 ../test/images/BloodImage_00265_jpg.rf.4b7cc25caca963b5e0325c6998917cd1.jpg: 416x416 2 Plateletss, 18 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 21/36 ../test/images/BloodImage_00266_jpg.rf.6d62684a33e2f5bc048803aba3177f58.jpg: 416x416 1 Plateletss, 14 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 22/36 ../test/images/BloodImage_00275_jpg.rf.9108b9a016fadd9c367b05dfb0c40c2c.jpg: 416x416 1 Plateletss, 18 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 23/36 ../test/images/BloodImage_00278_jpg.rf.9ce9e9760ff20b56b115c86879e02a67.jpg: 416x416 2 Plateletss, 16 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 24/36 ../test/images/BloodImage_00284_jpg.rf.d33fcb37af7c55a50f275711763ddf7a.jpg: 416x416 17 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 25/36 ../test/images/BloodImage_00289_jpg.rf.58c541d9273174738d3d74e599428169.jpg: 416x416 12 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 26/36 ../test/images/BloodImage_00301_jpg.rf.9c427e66bcc1b088df9a5e71c0abefba.jpg: 416x416 2 Plateletss, 19 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 27/36 ../test/images/BloodImage_00302_jpg.rf.ae0f61c17483b2e0e7f9b1396fc5108c.jpg: 416x416 1 Plateletss, 14 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 28/36 ../test/images/BloodImage_00325_jpg.rf.55e62842be833601c86a1bd449ee8fe6.jpg: 416x416 3 Plateletss, 13 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 29/36 ../test/images/BloodImage_00334_jpg.rf.3b8a84d57940aeb45e5c2046c8411996.jpg: 416x416 17 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 30/36 ../test/images/BloodImage_00336_jpg.rf.5ae87ede3994ca14504136035e256e38.jpg: 416x416 20 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 31/36 ../test/images/BloodImage_00337_jpg.rf.7959cb18929c970939cda4a9544547c8.jpg: 416x416 23 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 32/36 ../test/images/BloodImage_00350_jpg.rf.1a19e9f9f197fbeab278718f7c6cea9b.jpg: 416x416 5 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 33/36 ../test/images/BloodImage_00359_jpg.rf.e4b6af6691f2d8cc8345f42bcc1678fa.jpg: 416x416 1 Plateletss, 20 RBCs, 1 WBCs, Done. (0.011s)\n",
+ "image 34/36 ../test/images/BloodImage_00369_jpg.rf.99ae139e5530a25980b7acdd56a4317c.jpg: 416x416 3 Plateletss, 19 RBCs, 1 WBCs, Done. (0.007s)\n",
+ "image 35/36 ../test/images/BloodImage_00385_jpg.rf.cf0e48c08597f372423a60918074f574.jpg: 416x416 3 Plateletss, 19 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "image 36/36 ../test/images/BloodImage_00386_jpg.rf.1de8e2e0e94f942d7a1523852d7fb146.jpg: 416x416 1 Plateletss, 17 RBCs, 1 WBCs, Done. (0.008s)\n",
+ "Results saved to /content/yolov5/inference/output\n",
+ "Done. (0.771s)\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "odKEqYtTgbRc",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "outputId": "5bd8e251-897c-45dd-f272-54135e7c4932"
+ },
+ "source": [
+ "#display inference on ALL test images\n",
+ "import glob\n",
+ "from IPython.display import Image, display\n",
+ "\n",
+ "for imageName in glob.glob('/content/yolov5/inference/output/*.jpg'): #assuming JPG\n",
+ " display(Image(filename=imageName))\n",
+ " print(\"\\n\")"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAGgAaADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7c/5Z+fUkMP7qP/v5Uf8AyyqxB3ri9rWOcx/Eju+oKZOoiH8zVg+GYgQPMfkeo/wqt4jH/EwH/XMfzNdHaiAWrTzf3RX8zcK8L8PcU+I3ESzbDxrclSHLzX0vz3tZrey+4xoUY1Ksk1sc/eaRY2kPnGeQ/lXP3uv2Fom7dn6mm+NvFU/2qSCD/V1xd5eT3k1fs1HwV8OeXnqZdC3rL/5I9fDZXS/5eI62DxVDOm6OHPtmrNvrUU9yLcgZY4GK42GarOiXU76vbKRwZlz+dcuf+Enhhhchxdejl8FONKo07y0ag2n8XRnRiMrwkKTaXQ7/AE23s7mfyrydkGOCtV/GkVz4dh87TFWb/rr/APWqjq99JZTQMn8RbP6VtQ+Rr2l/v6/LvCvw24Mzzw7wmZ4/BxqVZupzSblry1ZxW0ktEktjzMDhaNSlGU43v/medn4qapFc/Z7jS7cH2Zq6m61aWDw+NYSJS5hR9h6ZOP8AGuG8beG59H1SSut1RseA1f8A6c4v/Za4vEjw/wCDsnzDII4LBRpxxGKjCok5Pmg5QTTvJ6avax047CYWFSioRteVn+BkR/EnVXfadPt//Hv8atwePLmVNxhgH5/41x03+u/GrFn/AKo/Sv3an4M+GNRf8iyn98//AJI9D+zsF/IjrIfG13N/y6xfr/jVjT/EupX3/LrEPpn/ABrn7Oy86KOuw8E+FZ7yWOf/AJZ1xVvCDwww1HnqZbD75f8AyRz1cHgqX2EdToXhCO/sFvtRneMN1EeP61latZx2GoS2kTFlQgAt16A12lnNBD/oP/PKuS8T7RrtwE6bh/6CK/A/HLgnhPhvhLD4rK8JGlUlWUW1e7i6dR21b6pP5HhYmlCNNSiramR4xuZ/DVyYoEV1Azl+v6VQsvEdxOjPNboAvXbmup+L+jmbRUv4f7o/lXA2c3+gSfrX7bgvCjw0qYOPNltNystby/8Akj3sNgMJWpXcEJrnxHudPm8mzsomP+2T/Q1BH8S9WfrYW/5N/jXP6x+/v6If3VbV/CHw2lV5KWWw++X/AMkd9PKcC94I6f8A4WDqfy/6FB83+9/jSR/EHVX62Nv/AOPf41ztLD/x91xvwj8PadWzy2H/AJN/8kV/ZeX/APPtfidjaeJ9UuE3tZRD6Z/xpyeJtQbU4bP7LFskkCs3OQCfrWX4PvJ5rqPz/wB75tX4rSSXVoDGhOyQMxA6AGvJ4i8M/DjLskxeIWApwcKc5KV5KzUXZ6ytvY46+X4GFGUuRKyZ77c/BL4d+H/2e9G+NXiC71q5m1O58iWys7mGJUJeUAgtGx6R9PepNO+CPww8afA3WPin4B1bV21HRkY3ukX93D+5AOSxKxgsNmWHTJUr1FXfG3j/AMFX/wCxp4a8EWXia1l1e21TdPp6MfNQK8zEkY4GJFwTwecE4NeYeCfiBrXgeHV7LTpN1trWkT2F/bk8OrqQrexVsEH0yO5r+U8xxHDGWY7D0JUITo1MLT5nGzlCtOn8d037ynZuLurN+7ex8vJ0oyStpb8S18E9N0/WPi/4Z0vVrGK5tp9ctknt50DJIpkXKsp4YHuDwehr334yfFv4FfCHx/d+BLj9mjw/fPaxxOblLG1jDb0D/dMJxjOOteBfBXVNL0T4ueHNY1rUI7W0tdYgluLibO1FVwSTgH0+nrgc19C/GP4GfCL4wePrrx7L+0Jo9ibuKJfs6T28gUJGq53ecM5xnp3r1uBoZtPg7Ef2OqTxXt4/H7G/s+R3t7XS3NbbXe3Uuhz+xfJa9/L9RvgyT4B/tTeDdc8GeFfhhp3hjW4rQSxSW+mWyuuGBVklRAdu4KrjCnDYB5zXGfDv4d+GNa/ZD8Y3h8P6fc6/p2pSu159mR7m2SPyGKrJtLBdqOflOCGb1NdV4Xv/ANn/APZH0XVdW0T4iR+JfEd7ZmO3jtSrjg5VP3ZKxru2lizZIXgdj5p+zN+0Ba/CvxXfWfjK38/Q9fYLqe1MiB8n96IwDuXDMGUDkHjO0A+9jcbk9HH4CjnsqKxNWlXo1pU+RxpqelKUlD3FNNu7Wyd3pY0coKUVUtdpp/oeUVZn0XWbXS4NcudJuY7K6dktrx4GEUzL94K5GGI7gHivoa4/Zh/Zq1zU/wDhJ9G+P9naaNcN54sDdweZHGeSgd2BXHQbkJHfJrlv2m/jl4N8T6Hpnwg+E1vs8OaNsYXK7lFw6qVVQrAHC5Ylm5ZiT2BP51juB5ZJltfFZpiacWklRjCcajqybWqUX7sFG7cpWtdaX0fPKh7OLcn6eZ4zT7dYWnRbhysZcB2UZIGeSKZRXwadmc56d+0v8DtA+C2qaPH4Y1a9vbPVbFplmvNmdwYcAqAMYZT071l/s7/Cew+MvxIj8H6te3Nva/Y5Z55rQLvUKBj7wIHzEDoa9X0Dxn8Hf2lvhNpPgP4q+LoPD/iLRf3VnetiNXVVChgX+Qhl27k3A7kyMDFXNEv/AIFfsjeHdX1bwv4+tvE/iq9tPKs1iKuqjPC/uyQi5IZsvlggAxX7R/qnkGK4ip51TqUo5U1GpJe0V42inKk4c3PzuSaSV730Z2+xpupz6cn9aHzz4/0TSPDXjjVvDug3s1xZ2OoS29vPOBvdUYrk447dv0rU+Cfw2Pxa+JWm+BnvTbw3Ts1zMhG5YkUs23PVsDA69c4wDW1+z3pfwm8ZfEuY/HHWlgtJopJYhNcfZ4J5yckSSKV8sYLEYKgkAZ7HQtPGnw5+B37Sy+Jvhrdy6j4ds7ko+MSERum2VYmb74XJ2sSM4xkg7j8Xl+T4CVbDZvjJ01hJ4hQlTU/3kYc13eO6io6Xvfbum8YwjdTdrXML45+D/hv8PPGt14I8F3eq30mnyCO9vb24jCGT+KNUWMHjpuJ65GOMnqfAnwG+HfxT+Dmt+OfCGtarba1ocDvc6bezxPFlVLg7wifKyq2CcYYHOQMnufGnwe/Zv+OXiK5+Ivhf462elNqEhkvbW4aMfvT1YJK0bpkgk5yCScYqLWfF/wAEP2bfhHrnw/8Ahx4yTxDr+txGK4uIgsqDchTcxXMaqqlsJlm3Nzwcj7mnwngsDnGMx2ZrD/2e41ORxqQd9H7L2SjJzc72331vd2N1SUZuUrcuvX7rHzVXp/if4HeHtD/Zu0X40W+rXr3+pXohltXKeSo3TDIwu7P7sdT3NeYV7b428f8Agq//AGNPDXgiy8TWsur22qbp9PRj5qBXmYkjHAxIuCeDzgnBr8+4Xw2V4jDZi8Zy3hh5Sp8zt+854JcuqvKzdlr6HNSUWpX7HiVXWvba18MSJ9kiad7ghJGjBYDaOAetUqJ5I2tTbPJtJOa+18CaOHxHiHRhXgpx5Kmkkmvh7PQ6cuip4pJ+ZlXbX6xArO48zphjxWRLLqo341O446fvm/xrqJoYJoq5/UfI87/R8V/b9TKci9t7mEp/+C4/5H11PC0v5V9xnXeq6pBHxqNx/wB/m/xrMu/EeurJhdTuR9J2/wAarzeMNCm1T+w57GT/AF3l+b/01qvefuZvI/55V6mFyfIKeJ56mEpW/wCvcP8AI6adGj/KvuRuaR4q1JfvajLJ/wBdHJ/nXV+H/HVjDLjVIomH+3GDXntn/rT9anmvJ4e1etHJuGcbivZywdJf9w4f5EVMDhanRHuFSVHB3qxXmHyJga/zfAj/AJ5j+Zq94416DSNGW3h/uiqfiMo2o7k6FB/WuP8AiNrs91qQthP0Ffh/hTTpVfEjib2n/Pyn+dQ2y2n7XFSMDUtT+13VV4f9d+NR+f7VJD/rvxr+gan73Y+qJP8AVVPo82dasR/03X+dQVY0f/kN2n/Xwn86+b4l/d8OYxf9Oqn/AKQzKv8AwJej/I6HxlcfZ/srerN/SrfhXWP9XBWX8Q22R2jf7b/yFZ+j3nk+X1r4XwJw/wBa8LMDT86v/p6Z52WQvl8H6/mz0Txv4Vg8SWHn2Fczr1nJH4QeyX7yW6L+IK/4V3XwxvIdY8yCesibSINR12bR3/1bTyL+AJ/wr5bxfdTDcQcOwf2cXB/+TUzzsVUtiKflJfoeTQ6PPNL+/grQs/DdxNLXrEPwrsauWfgPSrOav6C/tqr7L2Z6v9pHF+FfBM95LH58Femabo9joFrHBB5VFnZQabFH5FRzXnnV5N61Z/vDzquJ9sRww/6TJPXK+I9v9t3GzpuGPyFddD59cl4nG3Xbgf7Q/kK/BvpJQnHgrC3/AOgiP/puqebivgXqdH4q00al4XOD/wAu4rxWb/Q/Mgr36z/fWqwTdPs4rx34keG59H1ST/nnX7zhKlWjy+iPfwNQ4TUf+Pr8aig70uo/638aih/dV7U6lGr+8PpKRY8/2qSGbyJap+f7VJDNWf8Ay+9oYnWeG/sMMXnwf6ytjQX8zUpJM9Yv6iuTs9Rn8ryK6DwSJDeSu/8Azyx+or818XISj4c5nKe7p/8At0Tysy/3GfoW9T1PVbbVWhhlAhAGPkB7Vf0We4ui4upN23djjHaquo23mXzv7D+Vaeg2LWtpLLL1IYD8jXyOScI8F4jwxoYqeX0XWeEUnN04czn7G/Ne1+a+t976nm/V6H1KMuVX5e3kbngvQbTXZblbuIsIkUrhiOufSt6PwJobb82L8dP3rf41ieB9Xg0l7p5n270UD8M1e1L4hwQnyIJ64fBngPh3PfD7CYvFYCjVqSdS8p04Sk7VZpXbTbslZeRwYXDQrUU7GjH4D8Nt1tn/AO/rf41F/wAIPoH/AD6t/wB/Wrn5vid+9/19RzfEj/nhPX6v/wAQo4Q/6FdD/wAFQ/8AkTf6i/5UdR/wgOgf8+jf9/m/xoTwDoAh857ViP8Arq3+NZfhvx5BeS/6+tjxh42sbPwvJ5H+sriqeGvBdLfLKH/gqH/yIU8LTe8UeeePvEXh7w/NLDpkWPL67nJ/maq+HdSbWNGg1FyCZQc4HoxH9K4jXpp9SmuJ663wErJ4Ss1brtb/ANDavxn6QXDPCWR8F4aeWYKlRqvERTlCnGMnH2dR2bSTauk7d0i80wtChg4ygrO/6MvfEHxmZPDUGjQqAIl2sQOcivOoZ5/O/wBc/X+8aPGOszL4guIBNgJcuAPxqHTJvOr+hMow2Ew/DOBlGKu6NLov5In0mBpRp4SL8kT+fP8A89n/AO+jT4ZpvNkHmt/31TfI96sabZ+dL1qlQo+19pyr7kaVYx7DobS9/wCezf8AfRpZrS9i6ysf+BGux8N6D5sVV/FWjwWdQpUaVb2fKvuRlzLscrD5v/PVv++q7bwN4pXSj88wMfuM1xc37mXNXDMYfLnr6elQoVqPs6kV9yHUoqqeneI/Ey6vAkETLtKAnC+9chrt6bS6QHoU/rUuiXst3bRFunP8qpeLY99xGf8AY/rX885h7HB/SFwairJYR/nVPCVD2ObRj/d/zKk3iSaH9xVOHUs3Uc//AE2rPvP30uKjs5v9ZX7piLVT3SnN4Dvode88TxfY4rz7TRqUP72SfP8Ay2rpLP7PNF/r6y9Ss/8AWYNc+tI1W5l2cJ82i8qxZw9qkms/3telSxNjSoe4eR71Yo/1VHn+1cNU+GMTxMc36H1hH8zXkfie7+2avKMd69c8SkG7hYd7Zf5mvENRvPO1Sb/r4NfhvhbC/iPxMv8Ap5T/ADqHdk3+81Pl+pa8797VyzrLg71qWcM/lefX739Z9kfTFzyf3fnZqawktYtStpHdVCzqSzHAHNRed+6j8+r/APwis935k/kfu/Orx8whHMMBWwsnZVIyi325k1f8TGceeDj3NrxD4eXxAkK/bDF5RJBCbs5x7+1UofAqRbcaox2/9Mv/AK9Lc+F9atNNd49auoVW33wATHgelcza654jS6+z3OrTn6ymvwjhrgLxcyHL45fk+d06dCDfLH2SdrycnrKnJ6tt7vstDx45bmWHgoQqqy8v+AeleFL648L3S3KsJ9v8J+X/ABqaDVmh1k6x5IJMrP5e71zxn8ao/CxX1jUY49QYzKeqyc1qWltbv4pNq0KmP7S42EcYGeMV8b4k5D4m4HNsohnGaQr1J14qi1TjH2dS8bSdoRuk7aO+2x5GNp4mFWPtJXZffx/O/XTV/wC/v/1qZ/wnMv8A0Dl/7+f/AFq0f7H0vzMfYIsf7gqT+xdJ/wCgdD/3wK/Qv9VvGz/ofUv/AAVD/wCVGPLX/mMh/GsjvvOnL9PN/wDrUJ42lThdPXb/AHfM/wDrVr/2LpP/AEDof++BUcuj6UqeWLCLPrsFX/qp43/9D6n/AOCof/Kg5K38xnp45dE8v+zFx/11/wDrVkajePqmoPdiHa0rDCA57AV050fSz/zD4v8AvgViX8MVv4qEMEaoq3Ee1VGAOlfmHilkHiHQynCR4hzOOIozrwioxhGLjJxl711CN7R5la/UyqxqJLmZ2dsDAkQPaAVkePfCv9vWPnwQ/vK2KLOaf/UTmv69dHmw6S6HoYarY+d/FXhWfTbqQeRLXNzQ/va+nPGHgOx16wk8iD95XifjD4e32jyyefBTw2JpKt7OofR4bEnH1JUn9mzw/uPIqSGz86LpLXpLD1fbe0PQuixpsPpXZ+D12M4/2P6iuY0az/e5Pm11/h60+zuzeVtyuM/jX594zvn8OMxf9xf+lRPMzWd8FNeRdJ8q8af0A/lSNqoFzHaRdAgU/iaj1q6+x2zSetc7ZXs8utW0AHyCZf515nDNH/jU1Gp/1BL/ANMnNSp8+Xr/AA/obHizVJ9Nih8l9u9myfpiueGpX15LJ+/rf8Xw+clv7Fv6VmWej+dXX9H7HrDeFeBXnV/9PVAypqGBi/X82U/Jnm6VJ5U3pW5DoM9XJvDf7qv2D+3qNL3z0ViKLOb03Ur6zuq2Ne1ie8sPI8+qepaaLOXkVXmmH2WubGY6jWpXC1Ey4T/rIM/nXX+FF2eH7ZfRW/8AQjXGTf678a7bw0yvodu69Cpx/wB9Gv5g+km+fg/DS/6iI/8ApuoeVn/+7R9f0Z5h46by/EV63rcv/OmaDqXnVe+LGnfZr6W5x9+QtXK6DqXk1/QHC1GljeEcFJ9KVP8A9Iiexh/4EPRfkdx53m1oabCfN5rD02887pXQaZ3q/q1VVjU6jQdeFnF1rP8AFWsfbJZKpw+fDFVPWKKlKj7YzM/iaapLybyYsGo4Yf3tR3n77rXTSqVqVY0Oo8HnzIS/oKPFrbHVv+mf9TU/hGGKLTiydWqh46uI4pER+8Wf1Nfg+e2q/SGwn/YI/wA6p48/+R7H/D/mc3eTHzaj/wBVVyGz+2d6JtM/5YV+4U6Z7PsySzmPm1YvIR5VU4f3Val5MPKrLEe2EY8MJ+1VJRF+5l8+jzv3tHtKwHtn7iby/wBx/qqWH/U/hSZnh8uiab91XT/FrezPizG8Vf8AIQjHpbr/ADNeFavEItemh/6eDXufiY7tQU/9Mh/M1414807+z/FFxEO81fhXhfTqf8RP4lgv+flP86h3ZPLlxNSPexThmrQstS8mKSD/AJ61jzTeVUkPnzV+80/4v7w+mNT7Z+6/cVua98SJ7PQbeCD/AFlYEP8AqfwqteWfnUYP2Ptv3gFzUvipqupWscH/ADyqvZ6l503nms/+zP8AaqxD+5lxXr4bEUfa+z9ma1Kh7B8Ex52qRmtW3Pl+LpD6XUv/ALNWN+z3eQTapWpczSQeI7qeFsMk0zKcdD81fzZ494qngM4yLE1E3GniVJ23tFwbttrofGZs7V4s6z/0bQf9THXqXw8+DfwcT4L6V8Wvix8QNWsxqchUyxBEjjfc6hAqxuT9xjuJ59B0q3pvwx/ZW8a3K+G/Anxz1CLVLg7bP7QyFWc8BdskKbyT/CGBPavsqPiXlFWhSn7NxnVjGcISqUIzamrxtF1d30MUm0vPzR5NUc0P+srY1j4UeLvCfx5074O+KfEzCLUL2BINStbZf3sMjYVwrdDnIIycEH7wHPqPi34W/sn+Adck8MeLvitrVnfwIhlgkkDEBlDA5W3I5BBrz8B4pZNjfb1KuHqUPYz9nL2sqMFz2vypurror9mtrii3K99LaaniUMP72ud1lceL2X/p4j/9lr3rXP2dvBXjvwpfeKv2ePi1JqcmnwlpdNu1R2cgE7chFaMkBtu5SGI6gcjxDwb4A+IXxU1i4g8G6HPqN3BGJrgxMqbBkAEliADnoOvHtX5V4wcYwzzDZfgMJhKsp+2jWg1yTjVjBSTUHTnNtptXVlZavpfGvzaK3/BOj/5a0Q/678a5jUdA8Y6Trr+G9S1CKG8jm8qWN9Zhwj5wVZ/M2qQeDk8Hrir3jj4afFn4Z2tte+NdGvbCG8YrbStdK6uQASMoxA4Oeev4V70vpEU5UqlX+yK3LT0m76RbdvefLaOumttQ9u7X5XodTZzd6z/EnhWx8SRf6iuCGq6mDkajP/3+b/GlXV9VXldTuBjpiZv8a8Kp9IzJ6k+b+z5/+Bx/yNFj7dCvr3wZzdfuIKz5vhLf/u/3Nd/efDP4v2Xg+38e6pp11a6RcqrW15e6jHEJA2Su1XcMcgEgAcjkZHNHhf4W/F3xvpdzrPhDTLjU4LQE3P2LUY5Hj4JwUD7skA4GMnHGa9in494tYiNOOUV3KUeZLq42vzJct2ra3Whusxr3tys5DRvhVOZa2Nb8KR6BpMcyf89vL/Qn+lZ/9q6qDj+0rj/v83+NNuL++u0Ed1ezSKDkLJISM+vNfG8Z+PmE4q4YxOVRwc4OrG3M5Jpap7W8jGvmM69Nxa3Oc8b36Qwx2Y+865/U1j6AfN1G0b0lH867u58MPLa2+o3lpaMlwjNAZZ4txUMVJ2k7gMgjkDOOK2k+CXjhPBr/ABHtfCEcmjQ8yahazQyKnzBeQjFhgkZ44716+ReONLC8CLh+OV1akqeG5HOL0SVPl9o1ytqPW70t1O6hm8aeD9jyN6Wv8jkdXt/tEkC+jH+laWj6D+6j/cVC8UchBdc46V7n8Iv2XJPEvwZ1T4o+LNbvtMKWctxosNvCjbo40LGR1bllYghQCp4zkgitvB/xLy/B8MUchp4StUrUVVnJxVPkUeeU73lUj3S1S95221McJjIrDqkk7q/5nlUOmwVd+x2/qfyrDttX1GS6jWS5JBcA/KOmfpXT2cPnfv6/ZuAePco4/wANXrYCnOCpNJ86ir3V1bllLt5FUcSquqOL8YaMYYvtFcmf469M8bQedayfuK8zim8m6r7Sn/08Pfw1TQy9SPky11/hL/kXbXP9w/8AoRrmNYh9K6fwj/yLtr/uH/0I1+FfSRnTfAWEjH/oIj/6bqnnZ7/usf8AF+jMf4y6LF/YkV5HDktGCxrxSCb7Hd+R/wBNq+ifiJa/bfDMDf3VxXz14ks/Jv5P+u1fufAWJvw/g8P/ANOqf/pCPWwn8GPojrPCt350tdxpnevM/B83t9a9I0e8/wBFr3c6p+yre0pnQak0NY+sVcm1Pvise8vP9ZXz9RurVHSI4O9SWcH72Seoz/qY6sQ/6HYV24epV9l7M0qm9omqCO/h0rzc7txx9ATWL8UNR+y6zbQf3rbP/jxqn4S1Tz/Httb+bncJOP8AgDVS+Ml3Inj/AE60To1hn/x9q/DcbSqVPpB4OL3+qP8AOqfOT/5HEf8AD/mdL4Ps/tkXn1Y1jTfscVSeD/3VhHUfiTUoJouP9ZX7V7St7Y9ow/8AlrUk037qqc0372rFdns6vsTQIZqjh/fS5pZv9T+FR2n+tj+ta4LDVa3uAe5+T50VScww0sP+p/Ckm/1sdc/tPZVj4swPEzb9RBP/ADyH8zXCfH/Qjp2qLfwQf61RXd+Jv+QiP+uQ/mag+OWg/wBr+EjfeR/qlFfg3h1W9l4ncSz/AOntP86h0ZZO2LmeC8zQ1Yg71Xh8+GXrViv6BqU7/vD6wsef7Uef7VX/AOWtaFnps95xWtOnRqGZX8/2qSpJtBvv3fkQUadn/tpXSsTR9t+7HUqHafCXUp9N1qOuxvG363dt6yTH9GrgvB58nVIxXcl/N1GeT+8JT/461fzf9JbWGTz/AOnz/KJ8znf8WJ9T6D8Itd+Mv7HHhbwfoOpWdrcLcm5Mt2zbNqyzjHyAnPzD9a5rwz+wrrnhnXLbxF4/+I2k2ml2MyT3MttI6sQrBsbnCBM4+9k464NM8dXNxa/sHeFJbad42/tUDdGxBx5lz6VD+y5490n4m+FNS/Zq+Jl4ZYNQgd9DuJnJeOT7xRSf4lI8xfcMDnIFfls48I47OctwOPwrliJYSg6cnVcYSn7NOFOSS0UnpzXd20ranD+5lOMZLWy6k/xG+J+gfE/9r/wivhS8iurLSdRtbZbyOT5J387e5Uk4KgnAI+9jgkEV03x//ZC8dfFr4n3vjjRPEmk21tcxQokV00ocFI1Q52oR1HrXi3w/8Ea58Of2nNC8GeIoNl1Y+JbZGYA7ZF8xSrrn+FlII9jW5+2Q3iAfH3VRYNeeV9ntdvkl9v8AqE9K8eWcUcZwzmONz7COrKeMjzU4zdNxkqclvaTtFJxs9927rWOdOlKVRX97b5HsHwb+B8n7KvhnxD8SfFGuNqlyumHdaaZbyMiomW9MsSQPmIAQZJ4yRx/wK1iTwZ+y346+LGksY9Vvb2VPNVOYmwiptJJJ2mZmGT19e9z9hxviK9tr3/CYm9Phb7D8n9p7/K83J3eXv/h2b9+OPu57VT/Zel0f4nfCzxt8BEu4YXmeW50xghxsfAVufmYK6RnnnDD8PqctqYStRyr+zKTw6qUMZGjTk25Ks0vfU202pfZdlbZLVW1i4tQ5VbR29T5uZmdi7sSSckk9a67xN8cPHfi74b6X8LtcuLabTtJkDW0rQZnYAEIrOSeFUlRgDg4OeMZWq/Drx3o3iR/CGoeEtQXUkn8oWi2js7tnA2gD5gexGQQQRmu9+M/7OmmfBr4XaD4g13xDOPEmpzEXWl7UaJV27iFI5BTKhjlgS3GAMn8Ky7LOJoYHHVMOpU6VONq13yqzklyO9ryv9nfR+j4Ywq8smtlueUVLZW/2y8itPMCebKqb2zhcnGTioqfbzzWs6XNvIUkjcMjKcEEHINfNQcVJc2xkfQX7et9Npdz4T8AwXDfZrHSml8vccM2RGrH1IEZx9T61g/sKeILrS/jaNHjnIh1PTJo5I8nDMgEinHqNp/M+tdZ+154b1T4o/D/wl8ZPCUDalbDT/L1BrJTJ5W4BgxAGQA4kVicbTgGsv9h34f6xY+Mr/wCKXiCyksdJ0vTJVF5dqY0Z2+8QWwCqorlj0GR61+8YvCZjW8aaFegnySlSnGWvL7FU43ae3Koppu9r3O9qTxqa8vuPI/i/osfh34qeItEhmDpbazcIrDPTzDgc9x0rnK6+40Lxp8dfirqzeDdJm1S81C+uLoLGwULGXJDMzkBFAIALEdh1IFc94l8M6/4O1y48NeJ9Llsr60k2T28w5U9R04IIwQRkEEEEg1+OZrhas69bG0qUlh5VJqMrPl3bUVLa9ul72OOad3JLS57r8J/2d/g78QvgxofjPx14vk0O7kkuLczfboYknCzyY4lBy2Djg9AOK639ofw3ZfBD9mn/AIQD4a6Bd3emaldg6jqshWYRKWVt8hA4LFUVWChQB1B25+X59K8Tz6bZ3lxpt69m0brYStC5jKh23BDjGA5bIHcmvo39nex8T2H7L/jO3+I1pJBoZsp20lNSR1GDCxcqPvbC+wjH8W7HNfrvCOaZfm2FrZVh8AsPWlhXF4hav3aacnNNWjGpa3MnfVatu666MozTgo2dtzyz9mb4IP8AGHxoZ9ZUx6BpOJ9XnZtocdVhB7FsHJ7KCeuM/Q+g/GHTvit4W+JNp4Yhjj0LQ9ENppIijCiRfIuN0gHZTtUKOyqOASa8d+C/7XGhfC/4br8O9U+FcF9EHkM8sN0EW6D9TKro25sfLnOCoAwMV7D8EfjZ4E8d+B/FmveH/hNZ6Pb6PZ+Ze2cAi23q+VK21tsajohHIP3q9zw5q8NYXB4fA4HHRVarGpOvF06nNJ+ynywUuXlUKV3J6vmkrq2iNMM6SSjGWr3+79D4ztGVLqJnYACRSSTwBmuzs9U0byv+Qra/9/1/xrH/AGv/AIq+Dvij4I1W88JfC6w8OLbeHbxJmtCN1wTE5G4Iqrgdvlzz1xgD8wK+w8A1hcuw+Z0MNVVaCqU7TSlFP3X0kk1217dj7PgvhOHENKtP23LyNL4b3uvVH6h+KdY0g20gGqWx5/57r/jXkV5q+nxX+ft0J/7aj/GvO/8Agk3+yX8Pf2sP2jLvSfixZm98PeHdDk1G80pZZY/t0hdYo42eMgqoLlzhgTsA5BbHuHib/gpf+wL4D8VX3w20v/gnJoVxo+l3slg13PpWnxzvGjFGYxPbsd3BOGkye5Bzj+gXj048jhf5n0dfheWFx0sJhXKtOKTlaMYpJ7aynq9Dl7zUdPmtf+P6H/v4P8a6bws6PoNu0cgZSpwynIPzGuC/4Kyfsn/BD4Kp8P8A4+fATwn/AGLoXjiyaS68OTCdVSULHOrhWJMO5JdjRhlCmMbR94jtPh5468N/ErwLpPjLwj8PbDwrp9zYRRwaDpjEwWpiURNsJGSGZGfLZbLnczHLH8D+kNivbcG4WKVl7eP/AKbqHzfFOW0qWQ0MbRm5RnNrWKjytKSs/eeuj2003Ni/utOu9Eeylv4FZWIKtKAR+tUf2b/AHgzx38XLPw14n0+G+s7/AFa1t5wu0sEdiCAxB2574647dR7f+yT8Q/2cfjL4Z8bT/EH9kDwhY6N8NLVoPEHjXWNKtLk6lPGjNK2022chFLuWdiN69c5HzP8A8E1/EfhLxp+1RrninwJ4Qt/Dmi6h47sp9K0W3d2SzgMspSIFiTnGPRcngKuAPo+I8XVj4b4eEG43+qJ2e6dSkmvRrR+Q8RltRZHWqy5oukqV9rPncbK6k9bO+3rY+zviJ4a/YK+Eni2fwT4g+CDfa7WONnazgdkw6BhgmYE8EdqqwfAT9l39oLw1qV98CbWfR9a0633jTpkO1zzt3o5bhsEbkb5SQSD0PXfGz9mjwJ8U/itc63qXxltNM1G9WCJdIMcTSgiNVUAGVWJbAIGO9UrCw+Df7Eun6pPL4rn1bxVf2GLW1aDaSuTsAVciNCwBZmbnZ8vIwfica89jnOJWcUcPTyuMqidRShGoo68nK4T51Uelk1d6qyZ8i5Vud89lA8+/ZP8Ag18IfFWg+LPE/wAUvBZvv+EfjVmgZmQIoSRn+RSpL/uyOTj2HWtJPE3/AAT0uWFtJ8H72FXO0ytbSYQHv8s5PHsCa2P2JbOHxL4E+IVpqmpx2y6hGkdzcFQBCHinDSEcKANxOMgcdqp2H7HHwduL2KD/AIaQ0+fe4HkwG3Dv7L++PP4GvnsqnxX/AKpZZVyihRquoqnPKt7PmbVWSjrOSk/dVtL9jOEq/sYuGu+/qch+0Z+zX4A8CeGdL+KfwpuTfeHtVYLiaNX8gsCyENtB2kAjDDcpXBJJwNj4U/s3fCXwr8NYvjb+0QUGn3QV9L0mEEGZWB2bwoDMzfeVVIAUZY4JC9Z+19ZW3w++G/hD4NeH9DuF0P7Wpe+dkO4pxs3ckSNvZydoHPGfmAxP2/dRnsde8M+CLRmSwstJM0UIbjcXMYz64WMAfU1lnNPDcO5nmWaOLlLDQoL2LlN0lXrLVpNrmpxSbSejbtppYnKVOUpX2tpd2uzmfihD+xx4h8BX2q/CPwa2jeIdPeJ7bz4mRp42kVJAMu6nAbOMhu4yA1eM3Ok6XeXC3d3ptvLKq7VlkhVmA9ASM4qxRX4vnnFGY55mMMdJRpVIx5b0k4J2bd7J6Ozs7b2Rw1K06k+bZ+QxLW2jXYlvGoHQBAK2/hv8Lr34q+NrHwVoenwtPeS4eZ4gVhjHLyN7KuTjv0HJFY9e6fsB6Rb3vxa1DVJgxey0VzF8vALyIp57HGfrz6V6HCCzHP8AibCZfVxFTkqTSlack+XeVnfeydi6MqlSqouT+82vEngj9hD4O6u/w/8AFnhm71fUYsLe3ZV3MBYA4YxsiggHOFBI6HniuK/aN/Zu8HeAdF0v4nfCo/bfDGrIv7yTa5gdssnO0HYy8DIyCpDHJArzvx1qVzrHjbWNWvC3m3Opzyybxg5aRicjtXunhyE+J/2BtThvxIf7I1F2tD5efuzo/HPT94wJ7c+lffUeJpcYRzLL1RjRVGlUq0ZU7xmvZNPlnK/v80fib67W6bqtKtzR2srq3kfOH9m6d/z4Q/8Afof4V6P8A/gJ4X+Ilhr/AI38XSy2uh+F9Pe5vU0uOL7XMRG7hY942rwhOSMHgcZLL59Xtn7HqeOJ7jW7D+y7SfwTe2jQeL5dRvvs0MEJjfdIsgO4OE3dOMH5inDr8XwNjcbjuJ6FDEVKs4vm0UptX5Xyykou/JGVpT7RTvpoY0JzlVSbb+84PiGaiDvUg/gqOv8ARn/l6d5z/iU7tRDY6xj+Zre8Sw/bPCM0BP8ACKwPEf8AyEB/1zH8zXSN++0x4P8AZFfgXAFNVfEbiZT/AOflP86hGCfs60j5svLPydZuIMUfY/8AV/Z/zrc8badPpvii48+CqdnD/pXn1++U/wB0qZ9XSq/uTc0H4bX955c/kV6R4b+EsH2Dz54KsfD280u80aPP+srpLzUvsdhJBBXnVaeMq1vZnm4jE1Tj7zwrpUFrJ58H+qryfXoYLPXvIsf9XXqHiTWPsdrJXld5N9s1SSevSynBOk/aVDtp/wAA2PDf77VIxXbu7JM7KcHLA/jwa5TwHpv2zVI6629Ty7yaPH3ZWH61/O30o6so5Zlqi7NVJv8A8lifPZvO7idhefEv4k+JvhRp/wAKXht30WwuWmtyluolJycKWz0BZiMAE7jknjGHpOkeMtC1O21zSIJbe6tJ1mtp45FDRupBVhz2IrZ8Gx7tDjP+038zW9DD50WK4Mi8F+HuJcgwGa43HYj2s6NJ6ShaPuJqMb021GP2ddO9zjjQU4qTb2K3i74t/Fzxh8R9N+KOq6ZYpqWkiIWaw2iCMBDkZBJLZJJ5PBJ27eMeix/tu/G5wAPh3oZOOSPNH/tWuDgsv+e9SH7DD+4r77L/AAnp4GrVq4fNsVGVV803zUnzS2u70nrbTTpbsdEaU4ttSepofEv9pb4/fEnS5vDkkFtpVjcxGO6ttMQK0ynqrOzMwB6EKQCCQcg1514bt/HvhDXbXxL4aE1pfWcoktriN0yjfQnBBGQQcggkHg12PnWPm0f6P/y36V4+ZeB2WZvjY4zGZjip1I25ZOcLxs7rl/d+7Z66W11Ilh3N3lJ3NvwR/wAFF/iN4v8AiSn7P+gaXoGpeM0hYGweGWOSQrF5hbJdYydnzYUjvgdq88+P2r/Eqwsx8ZPj3PJZ213q/wDY0N/e7I1+0pJJF5CRryoDxychdvBbJzk/Ldv8R5fhV/wVW0rxvps+VtvGmn285j+bMU0MUEq4HX5JHGPWvoz/AIOAviDcWGlfDv4SWBaOC4ur3WbpVUgNIu2OM56E5kmP4571hnfhVh87hHC47M8VVpxeilOna60u7U1d26u71fdn3/8AqVQr47A4d1J8tempt3Wj5W5Jaelr/ibmtfA34reHYdUudb8HT20Oi6UupanPJNH5cFqfNxJu3YYfuZOASfl6cjM3wM+EFx8bfGj+DrbXU05ksZLn7RJbmQEKyjbgMP73XPau3/aW/aD1DUP+CR9l8WFZhqfi/wAKaRpl1MIyCzTukU+T2BBm56fNx1FO/YL/AOS3Tf8AYBuP/RkVfkHEHhhw/wAO8WZRgYSnVp4mclNTa2jybOCi1fmdz4zH5OsB7Nu/vTnB37w5b9usjH+FP7Zv7NnwRMnhbRf26/Dc1ml05l0zUfCF+0aS5AbDgAryOzbc5OOc1s/t7ftBfFfwv+zHb/HXwP4p0Dxh4C1GeODU5fCsnkjy3cKknmsZd6eavlsAyEMwUhstt+JPEP8AwR0/b71HxFfX1t8J7AxT3sskbnxPYjKs5IOPNz0NfQfxv+H6/wDBPz/gklqn7O3xa8a2l74u8aaoxstN06/4iaSeF5Fi3KGeKOOEGRtoUvKVyN6sf6Cp8E5FRyv+zabqewatye2q25esfjuo2+ze3kfolXhjhelWw1PCV3Wc5xjKHOn7r+J3hZxstd7Fn4sfHDx1/wAE8fAXw++P+g2K6wvxD0kPcaTcRNFHaAwQziKU8lmBlOCNh/dnsSK8r8Gfts6x+138TtU1DxF4aezvRZfaGkF0HRUVlRY1UKNoAb1J45ySTXe/s9QeAv8Agp5/wTys/wBkq48XWWnfE/4dRLLof2/zAGihJjglJAJaFopPIk2bijBXK42K3mXwa/YH/aY/ZP8AEN740+NnhGz07Tr62NhZzW2rwXBlmLiThY2JA2xscsB2r4DjzgXhvJ/D/FQw0JxjS9+EXVqOKk2lzcrk1s306t9TjzDJOHMvyHFUq0eXFUm+VOUldc3uuMW7NOL7Puzu5P8Agrn4v/ZLu5fglp/wosNZttOIliu7i7eNv3oEpGF9C1cP8WP+C0HxA+L1i+h654BNnpjsrPp2n6gqI5ByNzGMuwzzgnGQDjIFeF/tz6r4Zvvi7a6fonh9LW8stGij1m8DuWvZ2d3VyCxUBYWiQYA+6c54rxevpuGOGMszngPA0MW6jhOjT5oqrUineCuvdkvd/u7W0sfYZBwXw7j8hw1avRfNOEW/fmrtrfSVrPc+5v2QPjdaftafHjS/gdZaF/YMmpwXMq6jc3qzBPKheXaI8IXJ24wDkZzjANXfiB/wUK8Xfsd/En4g/s66V4LivkivpdLv7550HnKmVEqKVbYWRj8rFgA54yMj5S/ZH+NFj+zz+0n4O+MurW9zLY6FrMc2oRWZHmtbMDHKFB4J2O3ynGemRnI+3P8AgoJ/wTH+Kv7T3xiX9qT9k240jxHofjfTrW9nhOqR27JJ5KqJ4zJtV4pI1jf724MzDbjFVg/CjgbLcUq+GoShKzV1Vqp6ppq/P1TaPPxfCXCeV55GOJp8lCcHZuc0udPVOXN1i+rt8zI/ZtSH9sD4AfE74jyRDQLDwdo0xngnuEk+25tZpGQSHaIeEA3MCPnzzgivz0r9Kfip4J0b/gmN/wAExda+Bnj3xBBd/EH4p3U6Pa6VNlIwyxpJhmUExRQKAzY5km2jg7h4B+xT/wAEsfG37ZnwZ1z4v6T8W9H0FLG7ls9JsLi1a4a6uY4w7CdkcfZY/nQBtsjEFjswF3fRcNcJ8P8ACVGpTyul7OM2m/elK7Ssvib/AAPV4a/sXIcPi8XTfs8NKoowb5neytdXu2nK+vr0Rrf8EWPh18a/Ev7WS+O/hbrVnp2keHbAjxjPfxu8dxZTkqLVVUjMjsm9SWUKYS53bdj/AFb8Qf24f+CPUfx4mHin4b6Fq+rpeuL/AMZQ+A4rm0FwGO53k2+ZOdw/1qxuDwQxHNeL/wDBFjxV4Ung+LX7JniLxauk634t00x6TdRXyMshSK4gmNvg4eRBKsg2sdyoSMBCa8x1b/gid+3bYeJ5ND0/wpoN9ZrcCOPWYPEUCQOhP+s2uVlAHcbM8HANfRuzk7szzKlleO4hxH9o1/Y8sYqFpKHNFq7bl9qz0SPSf+C6HhP4qeIvEvgz48J4s0zWPhtqGnLaeFTpYbFrNInnO8hyVk85AGSRSAVi2lRs3Pz/AOyx/wAkC8Of9e83/o+Su8/4KYQ6D+y9/wAE8/hp+xLrvjWLWPFsF3Bd3a2l3/q4YhOzuVI3eT5k3lxbgu4R5/gK157+yff2V78BdCjtLuOVrdZorhY3BMb+c7bWHY4ZTg9iD3Ffhfj9GUuD8O0tFXj/AOkVD5DihznwLh4pXhCs4xaVuaKU0pW8/wAWd3/wUD+K3hv9m39h3w1+zR8OLgRaz8Tp5fEHimaIgSG1kl81t5HPzv5cQ9Y7dlrzD/gkB/yVpP8AsZtK/wDQ5Kk+O37NOp/Hzx83jrxP8TriIx6fbWNjZrpwdLW3giWNI1Jk6EhnPAyzse9dl8BPhxafs+aNbWng7UpV1GG5+0y6tGDHJLKD8rY3HbtGFABxxnqTXgcR+J/CdbgnDYDC1JVK0Xh+aKjJW9nKE5ayST+DlVm9Wul2c+O4iyKnwUsvoVHOvNxc/dkrNNSd20k0lFRVvLoe+/tmXE9p+0Zqd1azNHLFDaPHIjYZWEKEEEdCDXeeJraH9rv4AQ+LtMgV/GfhVNl9DGgD3K4ywAHUOBvUdnDqByTXz54t8X+JfHevT+J/Fury319ckGWeXAzjgAAABQOwAAHYVZ8EfEbxv8OLu5vvBHiKfTpbu2a3uHhwdyH6g4I7MPmHYivyejxjgZcQZjPE05SwWNlNzhpzq8nKnNa8vPCTTWtt0fmyrR9pK692R7d+xlZ3eofCn4kafY2zzTz6cscMMa5Z3aC4AUDuSTivJ4P2fPjhcTLBH8KtcDOwAL6e6jPuSAAPc1F8Ovjf8TfhVNdy+C/Er24vmDXcc0STJI394hwcNz1HJrqZP20f2hZIyg8X265GNy6XBkf+OVvDN+CMz4ewOCzOWIjUwynH93Gm01ObnvKV9nbYfPQlTjGV9D0X9oyHVPh/+yz4R8E+MdTDeIYryFosEO8flq5IDZ42K6JuXPQDoc1N8YvCVx+1R8G9A+KHw8KX2t6Xb+VqenRzL5hJA8xMZGHVhuUcFlfIzlQfnLxV4y8VeONUOteL/EF3qN0V2ia7mLlVyTtUHhVyTwMDmrngD4oePfhfqTap4G8S3Fg7486NCGimxkDfG2VfGTjI4zxiu2vx9lOPzHEYfFUJ/UK1KnSaUk6qVL4Kl37rmndtbNOzb608RCUmmvdaS89Ope1T4GfFLQPC9/4x8TeD7zTLDTxGJJNQiMRkZ5FRVRW5b72ScYAHJyQDyVdz8Qf2jvi98T9C/wCEZ8X+JxNYtIsklvDaRxCQqcjcUUEgHnHTOD2FefXep21m/lyBmOMnYM4r5OrkmGz3NY4ThilWre5dqUY87abu7RbSik4rfe/cyVL2s+WimyxXqX7HnjnTPA/xss5NavxbWupW8li8rD5Q7kFAx7AuqjPQZ5wMkeO/8JLZdref/vgf41q6ZY3uq2cl9b2zLHHGXYyccAZr38s4K8Q+GcxpZr/ZtRewkpu8WlaOrv5WvfyNfq+Kw8lJwasetfGr9l34raX8TtS/4RbwXealp1/fPPYXNlFvQLI27Y2D8hUnb82BxnpXYfGTT4Pgd+yfpPwf1a/Rdc1e5Fxd2sOGwPM8x8kHGFPlpn+IjjjJHG/DH9o743pYz6KPiLeSJGqiFrmGKeQZz/HKrN+ZrC8WadqfjjVm1zxb4r1LUbtl2+fdzBiq5JCjj5VBJwBgDNfp+S8EVc6yHFZvwthZuWNjOn+9nTjGnFztUUbPmlrFxi3ay3vre0ocjlTWr/AfoH7MPxW8SfDGX4raZYWpsEieaK1eci4niT70iLtwQMNwWDHbwDkZ9F+CVu3jD9jrxj4J8L2TXmrxXjTSWMECmV1JiZSBnLnEb4/iyuFBIAPHabrnjvR/BE3w40zx/qMOi3G4SWSlOjfeVXK7lU85UEA5ORyaw/Dvhmbw/qSav4f8S6nYXUYYR3NjdeTIoIwcMuCMgkV1ZZ4R8R5LiaVXB4NuM6E6VfmrU781SPLKVOydrbrmWu1l8TUYcjVl0s/+AQf8tPIqOio5vP8ANr+sv+vZ1mJ4m/5CI/65D+ZrbstZ063YZvYgMf3xVXVdGXUWWaSby5AMFsZyKqJ4Ukf/AJfVH/AP/r1/Ns8t8TOFeNc1x+U5dHE0sXOMlJ1IqyV2tHOLv7zTuumja1Oa1WFRuKvcteFf2b/EH7R/jy50nwnrNnataQedPc3UnyBMgcBcs3JA4GB3IruE/wCCXPxLT/mo2hH/AIDN/wDEV1P7BNp9g+LmuWnm79mgkbgMZ/fRV57qfwd/aCk1W4kg8A+JirXDlGW0mxjccVxS8SuM8vyiGKxdGrWrVK1eEoU+RKl7OaSgrUZ3SvZNtt2bu7nXHH4qnC+ure1tPwZjeOP2bfir+z5NHc+KoVksZpTHBf2pDwSNjO3OcqcZwGAJwcZwa9A+HP7J/wAVfin4KtfGdlr+jWdvegtbLczuzsoJG4hFYDkHjOeOQK9B8c2Xirwn+xZc6P8AHC6aXVpbhE02K5l82aMmUNGjMG5YKrnqcLwc4xWfqvhzxd4o/Yf8K6b4K0i+vbwahvMOnxs0gQS3IJwvOMkfnXd/rrxjh86qyqYmtUgsIsSqDjRjVjJyjH2cnGjfS7a0v3RPtqym9W9L20v6bHD+L/8AgnN8Zbuze8tPF2i3cqDK20LyKz+wLqFz9SB714P4g+B+seCNfufDnicz2d9aSbLi2mgAKnqDw2CCMEEZBBBBINe6fCT4S/tO2Pj7TbzRtC13Smjuo2nvL4PFCse4bt+8gOuOqck9MV6T8a/Cnhf4nftieGvCUcUUjQWMcmurkDesZeURnJ+YlAoIAzhhz6ebiuPvEDOMnjjcvq1sHVdanSUKsaUo1PaNq8W6MZXi9ZdOXz2f1zFuF4Nxd0tUtfwPKfgP+xj8UPFOkw+LrVbKxsJ4w9m+pzMjXCnPzKqKxA4zlgMggjIOai+Nf7NHxN+E0cnifW7S1u9MlmG++0+YukLOxwrhgrDnjdjbkgZycVvfti/GTxH4m+J934I0zVp7fSdDcQLbQTFVlnA+eRgDyQSVGegHGMmqvwK/afl+Hugat4I+Ilpe67ol9ZSJbWvnBmidlIKAueI3B5xnB5AOTn5HjHi/JeLsc8izvF1ZSoOSjiZezUfapWbdKnTX7ttcqtJu1vNnNXrQrz5Kjd118/Q880PxidFslsxpqy7STvMuOpz6VdPxOu/4dKjH/bT/AOtXMymJpWaFGVCx2KzZIHYE4Gfyptfn2B8V+P8ALMFSweGxvLTpxUYr2dJ2jFWSu4NuyXXXuc0cTXirJnaeDp/H/wASPEsPhbwXo5ub6cMyRLIFAVRkszNgKAO5PoOpFekap+xZ8fv7K/tGHXNEnuQu42Edy4cn0DMgXP1IHvV/9lM/8K5+A/jX4yxabH9uiR4bC5kiyfkQED/d8x1JA67eegx4voPxY+IXh/xhD44tvFt+9/HcCWSWa6dvO5BKvk/Mpxgg8Yr9awvixxDw/k2Dr5xi6tWrik52hGhBU6fNyxkk6L55OzdnaNrLzfZDFTowi5PV+mi+4z/Edt4u8M67deH/ABAHtb2ymaK5t5E5RwcHkHBHoRwRyOKjbxJrBjdVuQGZCAwX7pI617f+3bodndav4a+JOm6asaa1peLiZEwXZQrJuPc7HAHfC46AY8Br5ni3xU8UeHs9r5Z/aTnCDXK/ZUdYySlF/wAPflavbS5lWxWJhUcXK9vJf5Hz7f8A7B8eq38uq6p8Xr65up5TJPcz6dvkkcnJZmMuSSecmvRvEv8AwS++NPxU+HD/ALQPj74+anrNrZwLbw3Gvu890bWNti+WZZT+6ViVC7geu1Txn3v9nX4J3/xs8dx6VIskek2W2bV7pONseeI1PZ3wQPQZODtr6L+LvjPwp4x/Zg8YR+B4I00rR500yzaHHlusT2/KY/hyxA9QoPevd4Q4n49zbJMXmmYZhKMI0qroxUKSdSdOLlKX8N+5DRPSzk7X0s/qqPGvFcoc8sTsnb3Kf4e7sfmO37IniifwxYeBb/8AaC1240DTLw3VjoU0btZ28xJLSJCZtiMcnLAZOa+uLH9hb9pv4ieG7LxD4D+KE3w6vRIl1ZarbXsiXbxNGw2YhOVVg/KsQeMFazv2bPCVv41+NmgaLfael1bC78+6hlTcjRxqXO4dxlQMHg5wfSvffjx8C/j98avHt3eab4htdL0OxRYtJtrjUHXziFy0m2MMASxYZbBwAMYryuGsZxPxVhYcQ5j7XGVcNU5KEKahC0nFSnOUlC3KkopXTvLTqedVz/OcyqU8TiKnPKm3y+7BWbtdtKNney3TPkz4s/AH/goJ8GLqGHxn+3J48EF0zLaXtrqcskUpXGQD5wKnkcMAT2zivE9Z/wCCfPjv4o6lN418T/tC3OqXt45M17rFhJcXEhHHzO0xJ6etfX/x51z4++GfCulfB74vWsJtbR2nsL8hZpLsLlQfOyc7QSMYVsMN2cisbwL/AMi3D/vv/wChGv0jw74rzfO/EbEZZiKtV0I0HP2daEIThUvTum4Ri2lzNJu1072ejfdhuM+IcNiH7Kqo6f8APumn+EEfLeg/8E1vHHhbWbTxF4Z+P39nahaTLLZ31jpkkU0EinIdHWYFSD3BzXrWmeDP2kPDUzXPxn/ag1zxzp7LstdO1SWZkgm6+aPMkYZ2hl6Z+Y817D/y1rnfiOkY0qB06m45/wC+TX6N4r4XDR8Ocxko6qHn/NEnNeK88zTCSpYmakmrfBC/yajdfJnzv8Vv2GdT+NHi64+JUHxHt9OjvUjQWj6Y0hXy0CfeEgznbnp3rl7/AP4Jma1Z23np8XrWQ7N2z+xmH/tWvqjQZWXw5CsfXc+f++jWbrGveTN5Fe54e5ZRr8CZXKK1eHpd/wCSJ15fxtxFhMJTw9KtaMEklyx0SVl0PkO4/YP8QW4yfH9uR/2Dm/8Ai66H4b/D39pb4MWM1n8Kf2mdf8PW1wczW2j3c8Ebn+8UWULn3xmvf/O+2S1qf8ITBeWH+or62WDwNCnerT/F/wCZ6z43zrEQ5as1JdnCDX/pJ8heKf2c/HvjnXJ/Evjb4uXWr6jctuuL/U0knmkPqzvISfxNXvCvwH+LPgvTdT8O+C/jxqukWWtQeTrFlpks9vFfRYI2TIkoEq4ZuGBHJr6LvPh7++/cQVc0f4YzzS810ewyPk5vZ6er/wAy3x1mrhyOorduWNtPkfLen/sU6/JOslt8QIo3Rsq62DAqR3BD17R4S8Gft0XWmReHNM/bf8ZW1osXlxxDU7s7UxjAPn5A/GveNH+G9jZ2v7/y63LPTtK0eH/URV5M6OFqVbU4aer/AMzgxPHGdVre0nGVu8IP84nyPqf/AATH8Y65dya3r3x3S6vbqQyXE91pMkkkjnksztNliT3Ndl8GP2a7/wDZwttR0288Zpq66nLHInl2ZhERQEHgu2c7h6fdr6Gll87/AK51yfxD+aS0f1V/5ivy3xvwdKj4aYySWqdL/wBOwPKzji7Pc0wM8JiKqdN205YrZprVJPofIv7XEPxg+DHiSw1yx+MmqSWfiZ7m5tLG3mkiWyRWTEf3yG4cDgDpXtvwdvNQvPhBoGqapqE91c3GjxTz3FxKXd3dN5JY8nk/h0ryf/gpG+5fAa+mn3n84K9Y+Dw8v4LeGf8AsWrQ/wDkBTX5r4kZVleE4PyadKhCMpVcPdqKTadKTabtd3e9z3OIFTq8FZdiHCKnKTTaile3MleyXRHbaDqWnkbb6yjZf7zICah1eSwb/j3Gz/d4rmP7T8mLr+8qObXv3Vf0zU4L4eq1f3eDpf8AguH+R5dPCUX9lfcb0l3awSYWQt9Tmun0HxN4VuIESbRLZ2PUtCCa8um1L91WpoM08x/6613UuCuGFSvUwdL/AMFw/wAiKmBpL7K+49HudT8JmRFj0e3GeuIhzVmFPCk2z/QLfnr+7FcHqUN9D5c8AqvDqV9F5dZ4jgvhSpS/d4Sl/wCC4f5HFUwdNdEeoweFNC1lPLtrS3jPqq4qlN8JrGaWSsfwf4qns+L+vQLPWILy1jnrjpcL4PJ5OeCowg3o3GKTflokc84ToapHL6b8K9Ds5fPng/5bVra3Z2GneHb63srfy/8ARXz+VXryafzazPE3/IEuv+vdv5GuPP6Vb/V3GTqf8+qn/pDOadW8Gc/8Od/n3QT+6n9a6uuW+Gn/AB8Xf+4n8zXUzf678a+D8DfZ/wDEM8Ffe9X/ANOzOOh/DQf8sqIIO8FE/apIf9d+NfrdI2ObqP8A5a0Uf8taVOmBJRB3ooiIUFj2FO6SuwPWP2FmdPjJ4gi3HB0PJXPBIliwf1P50nwp/bQ8dRfFCPRvifq9vPotxcNbPKLSOM2pLYSQlQMgHAbPYk9RXDfs8/HXRfg1481PxXq+hXV5Dfaa9vGltIoZW3Ky5DcYJQAnPAJOG6V5tfXK3l9NdpGUEsrOFLZxk5xnvX8L5/4hTy90q2SYp3WKxVSUU5KMoTqqVPnWilGSvZdLvZnO8Q4xXI+rPWv2zPD3xB8P/E9l8U+JL/UtKu91xob3MhMcKHG+JVHyqVOAcDJG0nrXon/CzPGPwv8A2K/CvijwdqSwXrXn2cyywrKPLMlxxhwR/CPyrzLX/wBoTRfGn7Plv8LvGvh25vdc0ydF0nVhIoWOJejMTli2393txhhgkgiur+Hv7QvwAk+CmlfCn4seENVu10xyxjiUPHI+92DhlkRh99htPT1PWqyzNsmXEuYYvBZgqP1vDNwlOU06VSUoN05Ts3eHK7NX921m2VGcPaScZWuvuZl+Bv22vjXF4psovEFzaapaTXKRz2n2BEdlZgDsKAEN6ZyM9q9F8Z6Z4X+G/wC2z4b8QRW/kL4gs3E4RQiC5kEkIf3LHbkcHJzkk1zFh8cP2OPA1yviTwP8Hb6bVLc7rT7RH8quOQ26SVwhB/iCkjtXkHxa+L/iL4s/EGTx9foLOVdi2EEEhP2WNDlAG6k5JYnjJJOB0BiuKP7DyanDG5lHMMRGvSq0+VymqaptuX7ycV8a93l6bg6vJC0pczumbP7VnhLUvCfx01wX0LCPUbk31pIekkcnJI+jbl+q1j/Cn4K+OfjJdX1t4NtoMadama4mu5vLjzztjDYPztg4zgcEkgc16tpH7U/wm+I/hi10P9pH4eSane6euIdUs4lJmPc4VozESAuQpKsRnAwBVL4g/tUeDNE8DzfDX9nbwa+h2d2p+2ahKirKwYEOAuWJYjA8xm3AcADAI8XG5TwNiM0rZzVzBSws3KaoxUliOaV37Ozi4xtJ257tWXnciUKDm5uWnbqeFyxNDK0L43IxU7WBGR6EcH6im1V1PWdM0dVfUrsRB87SVJzjr0HvVT/hOPCv/QXT/v23+FfCYPhjiTMsOsRhMFWqU3e0o05yi7Ozs1Fp2as/MzhhsRUjzRg2u6TPp/4DRS+Mf2P/ABx4MsLMvc2s0s6qgYmT5I5B9TmIjA9uPX55tba4vbmOztIWkllkCRRouSzE4AAHUk10HwI/aosPgR4qfxBa3ou7C6i8rUdPLuizAZKsDtOGU8g4PBYfxV6LbftyfsB6Hqo8aeGvh5J/wkKt5sUAstsccvXcCGZEwejKmR1Ar9fhwFnHGOR4B1qVXD1MLB0qinh675qak5RlT5abUnaTXLo7r5vq+qVqsI80WmtNU/w0N39uORdD8PeBvABhHmafpbF354ASOMAc/wCwffgV8810fxB+L2qfGrxpcfErU4TNA0qiC0IcxwwKflhHAOMZyRjJLHgmut/aN/bF+CvxM8AaR4R0PwkNMudPKu008AC2aKmDDBs5KHjOQo+UfLnBHlcR8L5pxXnGY5lGhWpcigqNN4eq5VYxSgrWj7ukU9U97OyTaVXC16s5S5JLt7r1PVvhL8RP2YdC+BafD4/EK60ifU7Y/wBuTLbul08rACT5gjqFIG0Yzhe+7JrqvDHhj9nW3/Z11rRNE8Z3kvhCW8LalqTM3mRybocgHygeoj/hPU/h+f8A4c+P3wh8XagdL8O+NIbq4WIyGNbeUEKCAT8yAdxXtHhf9qn4faD+znrXwXnt55L3U77zYrxWxEqkxkk5XII8sADnO48jHP1vDOa8VV4OjjcjtGlhqlOm1h675ny6U3a6tUfxaK/dHW8NmFCXJXoSi0tnGSf49z0P4MQfBzwr+1jpFt8MfFd9qGlyWsscM93AB/pDwsNgY7Sy++0c4HI+asP9rj4ifEC4+N2p6Lca9f2tppcsa6baxTtGkY8tWEgCnBYkk7uvIHGAB5T4A8T6kuv2+v8AgLUiL+wmE1vNGBmN15Bw4wfocg19D2H7SnwQ+LaW8/xi+C7Xes2UC4ubKNJBNt9yyMF3EnYxZRnqa8HDYLNsbkc+HcZSnltetiPbU4SpVoQqLlUZU46Sl7rtJKzWy324rS9m6clyO99U0Wdf1jUviN+wufEHxG1F2vbO7B0+9uU3SXJSbYhJPJJVnQt1OCTnnPkXgSOVvD8JTpuf/wBCNdT8e/jJ4z+K+nWvgzw14L/sLw3Y7fK02J4yZSuQhO0AIqrwEXgHkk8Y5fw4l1o2gxWl5CUkDMWUkHqT6V+ueHmDzKp4jxqToVvZ0cEqLrVKVSmqs4zg2/fS31tf3mk3qtSr81VeStfuac95BD1rlvHd8bm0ii/uzZ/Q1dvLzzpcVRnggv0NtcLwehHUH1FftXHmS4riHgrGZXhmlUqwtG+1000n2va1+hnOfNFopaVrdpZ6WLWWQhxngKfWs+7Fnf33nyXOxfUqa0J/DEcXKyufrirGi+FNL1F2W4vJl2/3Mf4V+QZI/H/I8lw+BwuDwrp0YRhFuTcmopJXtVSvZa2S9C6H1laRSOa1S32SoNNkEijqcY/nXS6d4h063sBHLMRIfvDYeKyvG2nReGJlSzkaRW7y/wD1qu6f4csr/Rlvknl85o92wEY/lXt1sf8ASLq4SCngcHy9NXf/ANPG3NjPZ7K39eZLDrekQx7QzZ/3TVvT/Fmk2v8Ay0Zf+AGuN1S6u9Pv/sXkqT5m3JrV0bTE1L/Wsy/7tc1Wt9IbD0/ewODS/wAT/wDlpjOGJ6pHXQePtDH+suWH/bJv8KbJ430Bul23/fpv8KzLHwTZXU3kvcTD6Ef4Vck+G+mJ8wvbjH/Af8Kx/tH6QfwLBYT73/8ALSJuv1SLMfjfw4se03jZ/wCuTf4VgeM9a07WHtmsJi/lqwfKEYzj1rVHw70vve3H4Ff8KX/hXukwurG7nYAglSRz7dK+f4pyfx04wyWplOPwuGjSqON3GTUlyyUlq6kuqV9HoKSrzjZpHyd/wUkXaPAfvp12f1gr1n4Qrn4NeGFPfwzZf+k6V5j/AMFQLeO21XwXFEgVRaXoVQOAN0Fep/BGMT/CjwjC3R/D9gp/GBBS8YcHLLuGspw0nd069CLa2fLTkr/gfoeef8kFln+OX5zMW8vPJ8yq/wDrpf8AX1J4wh+x69JBmqcM3+rr+qlU/c0zKjsXIf30WK6zwHaeddRwVylp/rY/rXo/wf0ee8v/AN/WeJq1qVE5sbU/dG5qXhz/AFZrPm8Ld67S9sx5vkVJ9jsZov39eT7Wt7I8T6yefzab9jrQ8N+JJ4ZfInnrU8SabBNFJ9nrj/8Ajzlk5rppVfbUvZmv8Y9Uhmg1K1/cT1Q8TQ+Vol3/ANcG/lWF4D17zrryJ63/ABRD/wASG4nx/wAuz9vavB4rVWlw7jP+vVT/ANIZ5mKp2Rz3w4TfNd89FT+Zrqv9bXK/Dn/WXn+4n/s1dN5372vz/wAC6X/Gr8HU86v/AKdmc1D+GiT/AFVSQ/8APfNRwd6k/wBVX6y/3tH92bHLw/uYs1JRR/y1opAFPk/1bf7ppfJ/1dJJDy3+6aJfuqMvRgc34dIF+dwB/dnr9RXSeXH/AM81/KsDwku7Vcf9Mj/MV1k3kaba+fPX4T9HuNJ8Brmin+9qdP8ACRhP4Y2G0i8qPMa/981Yms4oYpPmX/vmuJ1L4nQWd/8AYoBVebx3P0r9xqZev5V9yPQ+q1TvvscU0X+rX/vkVH9ki83/AFS/lXE2fjycyx+eP3ddZoPiSw1K18ietKmX+y+yvuQqmF9kWvKi/wCeS/8AfNUvidDAmj2TwxgZlOcD2rb8np5Fc/8AEaVH0i1jji2hZuv4Gvy/xYpQj4d5i5RV+Tt/eic1Vfup+h5B8WMC3sif70n8lrjvO8qux+LTCO3sXb7okfd+S1x00P8Aq65vBGi5eFWCnHdOr/6emfQ5J/uEfn+bOX+IXiT+zdL/AHE/7yWvWP2P/wBl3VfHmg3HjHVbGWSPyfMrw/4zQzw2FvPB/q4pq/Rf9ijWPDuvfsgg6SYvtkVn5c/lTV+y4tVq2X/7OdhwE2j+HLO1uNK0r/llD0r5u8eaNPaXOozT/wDLIt/KvqWz+GN94b0bUPGOqz+Vb/8ATavk/wCLXjD7ZrN7BY/vI5Wb+VeDUwVKlmH7iodz+BHhn7LAz8TJB/1C5f8A0NK97m/dV4H+yyN3xMkX10uX/wBCSvoC8h7V6uR83s1fa59Fxp/yOv8At2P6npP7O0P/ABNxj+4f5V1nw9bZrzN/07t/MVl/s56P++88f3D/ACq94Ln+z6s8mP8Algw/UV+NeLrqVPFbhi//AD9qfnSPyjNf96gdzNqUEPesPWNS86q+paj/AKzBrH1i89K/daVI4tzUhm/defPVebUoIfMrP86f7B0rL86e8l8j97XTTwSq1faVDspYL2p2Gg6lY6x5kAqnr2sf8I1L5/n+VXP2esf8Ir5k9xXlfxa+MH2zzPIuK+hyThuvmuL9nh/4Z6VLA6HoGveNoNev/wDXebXYeG9YghsMGvkvR/ipOdVj/f17B4J8ef2lYfuLivsM/wCBq2X4M1+rfuTtPFWp2M1/JOaPCuseddeRXJzan51bHhufye1fC1cFSWE9mzhq4b9yeoWcx82tj/llXH6PeYl/11dZZzedFgV83iaXsTyiT9xNFJxUf/LWrE3/AEw/Co7z9zL/AK+uY0Pj/wD4Klvv1rwZ/wBet9/6FBXqfwDAf4a+C1PQ6JpwP/fmOvJ/+CoL79Z8G8dLW+/9Chr1n9n7/km/gr/sDad/6Kjr+dvHhWy7Ar/qKpf+kTPuc9lfgHLX/fn+cyn8WtH+x+KJK5eGGvXPjloP+lRzwH/W1x+m+FvtnWv6OwOJthP3h52Gq/uTH0eznvJY4PIr3D4e6PBoOjefPB+8lrD8K+A4IZfPmFdJrF4YfLggnpYnG0sdVtTOHE4h1Sx9sE11/hRWfo81xeXUgrQns54etZ2o+xPNCaGCeLyK4PxJZwQ3Ulegf8s/3+OtcX4w/wCPqSeuGl+6rHdhjP0Gb7Hfx+RPXoepn7X4MuLj0tn/AJV5jZ/8fR+temLN53w+uv8Ar1f+VYcXz5OGcYv+nVT/ANIZOPp+6zm/ATbDdn/ZT+tb/nf9N65/wJy12nqqf1rYm/1341+a+BP/ACbPB+tX/wBOzPFofw0alnVib/lnVezh/wBFqx/y0/f56V+rmxzcHepP+WtEP72pLOH/AFlaF+zRH53lUkk37s+R6GqF5MfNp9teEsw9jWUv3tGXo/yIKfgCCO410xzD5fIYn8xVD4teNvsf+g2M9Gjar/ZDz3XrbMv5kV5f4w16bUtUkxX4r9Hajz8AKfarU/8AbTtyijz07+YfbJ7y/wDO8+tC81jya5yz/wBafrVbxJqU9nLwK/oSlVVWr7M+j9kdZpusedW5ZeJJ9Nl8+uD8K6l50sddR/y5VrjcQqVb2ZnVwyPQPCvjz/So4J63fiCVm0C2uYpNyG5wD/wE15Nps09ndRmu4k199V8LW9q/WObd+hr8v8aKFCfhtmFWjtyL/wBKieHmFL2VGRxXxO0/7doyPs3eWxP54rhIZvNr2NtDfXNNuIUj3FCp/nXlHiXQZ9H1ST9x/wAtq+b8BKlOr4b4PDy71f8A07M7clr8mBS9fzOb8baD/b2jSWPkVH8B/wBpDxx+z1LJofnyyWcv/LGug/cTRfSsPXvBOk6l+/8As9fumQ5rRybF+zq/wz0z1D4qft7X3jzwHb+HLGCL97N++rx7SLObUoLm+nPdpP0NM034b2EN1/qK6e4hgh0iaCCDyv3Tfyozepl2LxftMHT9mb0PjR4d+yq234nSH/qFy/8AoSV9FfYxPLHXzr+yr/yU9/8AsGS/+hpX118PfB516/j/AHFeTk0qdLBe0fdn03HE6cc31/lX6nqvwK0H+zdCkvp/7h/lXK+HpvIvXfdj9yRn8RXq2n2UHhzw0LfP8B/lXj9ozKzlOuw/0r8J8R6vtfE7hef/AE9qfnSPyTHP2mJia803nS+eK5/UrzzrryK6zTYbebSq8717z7PVJK/o3Lf42p14LDHaG80mz0v/AEif95XNzeKrHTYpJ/Pjrk/G3iq+hsPIgnrzPWPiFfTRSWPn1+kZJwpSzSlUqM9ulhjY+J3xgE00kEE9eP6lrF9rF/VjxVNPNL58/wDy1qTwfo/9pX8dftWUYXKcoy792dNOn7Ix/sc8N/XrHwl1KeGWPz6z9Y8EwWXlz1l/2xB4bv8AmeuKtmP+sGDqYemWe4Q+ReXXn1sQzeTFmuH+Huvf8JJzBXaQwzwxeRPX4Xm+G+qYz6vUOPE0zoNN1gQxeea9A8K3cF5axz15fZ/vpc13nhu9+x2kcFfNZiqVjw8ajrIf9b5+Ky9SmnmuuDWpZzedFgVl3n7nrXzHs/ZHnVD5E/4Kew+Tq3g1f+na+/8AQoK9a/Z/OPht4LPpo2n/APoqOvIv+CnTZ1nwen922vf/AEKGvXPgD/yTPwZn/oC6f/6Kjr+fPHd8+AwL/wCoul/6RM+9z/8A5IHLf8c/zmelfGbTZ5rCOeCuD8K6kLPpXrHjaz/tLQZP+uNeJmGfTZZLeev6LwXsva/V6h4OCq/uT0D/AIST91/r6pzax/aY8jz65eHUp/KrQ0a8g82umnhaNH94dHskd5o58m1xXT/BLwzovxD+O2leEvE4uZdPltZZHt4Lpog7IjuNxXnBxzgg+/auE03WP3XavSP2VJkuv2l9IlWUfLY3OM55/cycD881+VeKNV1cswUPsyxeHi10cXLVPun1R5GKhbl9Udr4s8Y/sYeDfE1/4S1j4e6ybnTrp7e4MMszJvU4OCbgZH4VkeNvgZ8Ffir8MNT+KnwAvr2KfTEL3ejzM7ghRudNr5dW2/MCGZTtwB3HReNf2RfAPxE+JmrajD8cLWPUdR1CaeTSoYYpJYmJLMm3zQx2854HSqfizXPhH+yp8MfEHws8IeIZdW8UatH5V6JYc+WXjK7n42KqozEJlmJcZyDkfhONnnsPrcs/o4ejgUqijUhKEanMk/ZqDpzu5vT3Wtdbrocj9or86Sjr/wAAw/2fPht8C0+A+qfGD4o+EZ9RNhqLRTFJ3yqDywuxFZB1kGcknjr2qv40+Iv7H+peCtU0nwf4M1iy1GWwlXT5ZXmEazbTsyPPYYzgcgjnniur/Zw8J6R42/ZF1vwtrfiWHSrW91iQT6hLjbb4MBGdxUclQOv8Q+lcj4s/ZW+Fnh3wlqviHS/j3Y6rc2GmzXEFhbGAPM6IWA4lY445wK8vFVOLI8KYL+zqNGdKeGvUlU9nzuT5+Zrmkpv3bWaT1210Jk6vso8qTVup4fbyXsEbTWskqLuCu0ZIGTnAOPofyNfROgfBb4R/A7wLZ+Nv2ktRu7zUdSH+i6JbXEmEBCnaFUqzOoPzEsEBOOTgnxv4JWdrq/xX8N6HqMZe2udetfORcAnD8c46cnI7/ka7n9uXXb/U/jlNpNxMxg03T4IrePPA3r5jHHqS36CvgeFMash4WxOdyXtJwnClShJt04ykpTlOUE0pWivdT05rtrY5qTUKTqb9EdvbfDj9n39ovQr22+BeqX+ha/YQmSOzvLmVUlGRhpFZnymfl3IcqSCQeAfnXU5vEuiapcaRqN9dQ3NpO8M8ZnbKOpKsOvqDUng7xp4o+H/iCHxR4P1eSxvoAwjnRVbgjBBVgVYEdiCKp6tq2pa7qU+s6zfS3N1cymS4uJnLPIxOSST1Nebn/GjzrCUa1OMqGKi2p+ybhSlHTlaipe7Nap2VnvfooqVVNJpWflsdRea9Y2cUnNEOvWM0XT/W143qXjC+Pmfv5Kz9N8barDL+/nlr/TPDZT7WifR/2dVPdLyzt54vPqHTLQi6bzv9WFOK53wH42gmi8i+Nams+I7eKEzWX/LavFxWGxdHmp+TOd4aqcX461J9K8Oy3UbYO4DNeZ+d50teg/FEgeGQT2uV/k1edD+CvyP6Orp/8Qxs9/bVP/bT0+H6f+xOXmyxDN+9qPWLL7ZFRViGaDpX7LUp1aT9pTPaqkng+znN15FdpN+5tY6w9Bnghl88VsXkvnRfuaX1j2tb2lQ4apXm/wCmH4Vs+E7+S5hlgeTdtfNc95/tW14L2Zm8vpmvjPFz2X/EKcyt/Iv/AEqJ52Z/7nI9D+Hdv9qku4fUJ/7NWN8VPhv9s8yeCD8q2fhy+yW8b/pmv9a6/wD4+/3E4r4XwVoyh4ZYKtDe9X/07M8XA1fZJHy3qXhyfR5vInqnX0Z4w+G9jrFrJPBB+8ry/WPhXfWfmfuJK/XMNjKVX93iD6aljaJwcHeotU/1E3/XNv5Guhn8E30P/PSqt34L1SS0nf7PLxC2fyNe9h6tCkjrhiaPMj57/ZCs2vvi01snU6XL/wChR1+hXwl8Hw6bYR309fDf/BOvSk1j9oF7V0yF0G4fH0ki/wAa/RD/AJBth5EFfPYSSnh1SW92ev4iVLZ7y/3Y/qQ67eedat/umvKNIu7eymlmufu+SR+or0vUpp/sD/7prxzX5XisMo2CXAz+dfknH+HhLxR4UpLrWqL8aR+dOPtMZSXdmroPiTzr+SC3/wBXWx488E2H9l/bh/rJa8/s9Yg0eWOcz1sa78YILyw+w+fX9RVOH8ZVrU/q576pWrHJ6x4b/tKKSvG/G2j/ANmXXn17RZ+MLESyQT1xfxIhsdS0+SevtuH1nGX5j7Op/DO08f16Ez1c8E6lBo8sc89GpQzj/rnXP3gnhl/cV+w4aksWvZj9ozuPEnxCgmH7gV5/4k1641K68/z6rzfaLwVTms55pf8AUV3YLBYPKvgFVxH8h9MfsTwweJNZt7G+/wCeNe0fE7QYNBv4/I/5a189/si6xP4b1W3n8j/VV7x8QtY/t66jnr+feMcHWxXFntP+XZxmfpo86Kuo02byRHfVy/huH/SuK2JprfzfI87/AFVfN41Ufa+zODE0/anomg3gvLWjUof3slY/w8vRNFJBXSXkPavl8TTo0sX7OoeNsfFn/BTjzP7a8IF/+fa9x/31DXr3wE/5Jn4M/wCwHp//AKJjryj/AIKiJs1rwb/1633/AKFDXq/wD/5Jr4L/AOwJp3/omOv5w8eFbAYFf9RdL/0iZ93n3/JA5b/jn+cz3Uw281r5FeR/Ejw3/Zuqef8A8s/WvXIZj5slZfirwrBr1hJx+8r98VT6ri/aHyGCqfvjxeDvViGbyqsaxoM+m3UkE8FU5+1fQLE0ay/dnvr2NVGpDr08P7g16/8AsU3r3/7QukTO+SILsZ/7d3rwiaWeE11Xg7xrrfwuntvGPhXVJbC7tFDpPAAT8wwQQ2QwOeQQQfSvxPxrzmhlWAyqhGlKpUqYuk4xild+zabirtXlJtKK2u9WuvBmns6VOEYq7cl+B2/xd8Q6v4T/AGjNf8S6DdtBeWPiWea3lX+FlkJ/EdiO4JFenftBeHdJ/aA+E1h+0f4FswL+yt/I8R2cS/MoT7xOOSYyc5PJjYE4CgV85J4tvvHutTalcy3d3e3kpknuLgZaRjySTmvQPC6fGHwd4c1DQ/DXiU2FjrCBL+3jlx5gHodpKkg4JUgkcHI4r+asLwxxtSqZhhMflNeWGxTlJRUVzQqXcqc1d2um+WWusW97JHgOnVp8yqRdn+Z6j8H9D1jxJ+xD4n0TQNMnvLy41dxBbW0Zd3Ia2JAA5PAJ/CvGb/4IfF/SrCfVdU+G+sW1tawPNcXFxYuiRooJZiWAHQV13w38b/H74W6S+g+C/FFvDZySmT7NNGkqox6ld6HbnuBwau+M/jl+0br3hTUNG8Q+LbCSwubR47yOKyiVnjI+ZQRHkZHpXXmnB1bM8hw08fgMZCrhaHI+WnDk9xyldtzvbXV226DnBSguZNNKx5j4P8UXHg7W7PxHp5IurHUYLmEqAMhCxK7uozkDHQ9+lfQP7UXwlvvjbaaV8c/g7AdZiu7FIr61s3DyADO1goOSwyUdRypUcfeI+efD3hfUvE0kkenNEDEBu81iOufQH0ruvh5r/wAb/hM8kfgjxclrDKSZLR382FmOPm8t1KhuB8wGeMZr53gjJ88zDIa2ExGX1q2BxDTU6STlCcG1zQ5vdfWMk7XXUzo3cHGSbi+x0/wE/ZR1HUtTuPFvx00OXSPDumws80WozG2adgP4jkMkaj5i2RngAnnHjnipfD6eJb9PCnnf2Yt5ILA3DhnMIY7SxAHJGD0r0T4gfED4+/FHTBpfizxmklkPv2lsRBHLyCN6xqA+CARuzjHFcJqngnWNIsJNRu3g8uPGdjknkgenvVcVcE5rhcpjSy7KK0KNBTqVK1WEVUlpd35bqMIJaK76ve95qxXKlCO3V7nj+vQiCseH/XfjXcfEjQZ9Huq4vyPev9DqOO9rS9mfcYY1NN1iezmzAK6zQZ59Y8smvP8Az/au++HFyhCu7YAGScVWd4yOFyepXrSUYRi3KTaSSSu229Ekt2ya7UYtvYf8QLb7T4eZPSVT/OvNvI969x0LwLrnxDuJfD3h/RLu/uDAZPIs7dpH2ggE4UE45HPvXKeMf2YvjR4ThfVdc+Hmq2lnnBubmzaNB9SRgfjX8y+AefZLlvAvJj8RCmlUm3zSUbL3dXe2h5eS4mlRwtpyS1e55z/qqK6bSvhH4813UYdI0XQZbu6uH2wW1sQ8kjegUcmun/4ZA/aX/wCiNa5/4BNX7VS4x4UxMnPBY6lOK0bjUjJX+TZ7izDCy2mvvRw2mzelbEN5+6qfWfg58SfB16dN8T+FLnT7oDPkXqeU2PXDYyPeks/CHikusS2QZmOFVZAST6da548e8Buo6eJzKhGS3TqwTT9GzlqYzCX/AIi+9EM372uh8HxbbKR/+mmK1J/2cPj1p+nPq2qfCjW4raOPzJJnsHARMZLHjgYqTwfb2mlaZdw6kQJJIWEa4zlscdPevnfEfP8AhPM+Bcblssxo06lSnLlTnG7cbSSS5k3dq2l9+uxwZlXoVMK4qav6mp4X1+30Jp2uIXfzQu3ZjjGfX61tf8LE03/nyn/Jf8a5/Qv7BzL/AG4WxgeVt3dec9PwrTUfD3d8xkx/20r+b+BOIuNMBwrQoYDOMDQpJztTrTjGpG85N8ycW9XdrX4Wj5unKahpJI0v+Fl6X/z4XH5L/jTbzx/4YvE2yaTc5+i/41N4a8EaX4zuTb+EfC2qakYxmUWVpPLtHvtBxUOv+GPDvhS+GmeJ9A1DT7gDLQ3tvNE2PXDAcV9fUz7xNlh1iJZ3l3s3pzc65b9r+zsaxlWSupIyrrWfCly+7+zbgfgv+NV7i+8MS280SafOGkiZVJA4JGPWtTPww/uy/wDkSrOk+HfC/iq4bRfCGiX2oajJC5tra0gmkckKTnA7Duelc9HibxHq1FTp57lzk9ElUi232S5NS418TzK00fOX7If7P3ib9nr4qy+PfFWsWF7bPpE1osOnlzIHd42B+dVGMIe/cV9LT/FXR5n3HT7nH0X/ABry39nj4Bft6f8ACeyf8NB/CjVv7C/s+Ty/s+mJu+0bk2f6kbsY3+1ev+IPhTF4Q07+1/FfgTW9PtQ4U3N1YXCRhj0BYjAzXqU828XcJQdSWbYGEVq3J2t5tunoj3eJcTmmJzL2mKr06kuVe9Td427Xste5n3HxO0SW2kgj065BeLaCQvX868j+KeuxeHvDA1CZ8D7Sig/UN/hXpN3/AMK28v8A0Qy7vfzP614x8a/hB8XfH1ofEfhzwzc3Oi2dz5IvQAsETnB2s54DEEcE56V6fAsMVxJ4k5TmvFfEWXLD4Gcqnu1oqTVk2rWirNxjeTl7qu7PZ+PgvexUJ1JxSi77nA6l8SfOi/cT1z83xCv5rqT9/WxffBnxz4d8O3GpaxpqRxxAFytwjYBOOx968vvJr6z1SSCv9NeDs54Q4qwlbFZFiKWJpRlyuVKcakVJJNxbi2k7NO29mn1PrqdWlWV6ck15HWT/ABIvrO6/19aEPjaDWLXyJ568/wBRs5/9fUej3k8MtfW/2Tg8Urmh6BDpvnHz65/WNHnmlzBBXQeFdYg8r9/WpZ6bY3l/59fOvE18vrDqHJ6b4Jnm/wCWFbGm/Dbzpf8AUV1mpT6VoNhyf3lc/D428m/j4/d15rqZ3j6NSpTMj0D4e+D4NB/f+R+8rtLzz/3dcP4b8YQal5cGa7yy+z+VH59fmeb0sZhK3+0GdWkWNNmns4vPuKsQ3nnS5qnNPB5UcEFWNN8jze9ePz0fZe0qHN7I7DwHN5V1g16BN++tY6838NjybqOvRLObzrWvk82p0b+0Pn8T/GPjP/gqYmzWfBY/6db7/wBCgr1T4Cf8k18F/wDYD07/ANEx15Z/wVMTZrPgv/r1vv8A0KCvUfgbOlp8MPB11IpKx6BpzkDqQIIzX8xePlaNLK8FVqOyWKpNvslCf6H2mff8kBlv+Of5zPdv+WVSWc0+fIrmf+Fl6Nv3fYLnH0X/ABp//C0tJ/6B9z+S/wCNff8A/EWPDf2dv7Sp/wDk3/yJ8D7WHct+KvB8Gsf6ivP9S8B31n5n7j/ltXZf8LO0r/nwuPyX/Gnt8TPDMv8ArtHuT9Nv+NYy8XfD+h/CzGH/AJN/8idmGxsKPU8uvdHvoeJ4K1LfRZdbt49EhX5pVVQPpg/0rrZvFng+d3Z9AlO7pwv+NZOiazZ6R4nj1r7KzQRzOyxDGdpBAH6ivyjxP8Q+GM9zLI54TFxqRw+JjObV/dipQbbulpo9icZjo15waezudT4D+G8HhuKOef8A1ldJNNn9/wD8s65pvilocjo0mn3Xy9cBf8ay/GPxATWbP7HocMsI9Z8f0Jr9ah4t+HtSrermULf9vf8AyJSrYet8crFnxL8VLHTZZILGeuZuviXd6oWtEmys42MPY8Vyt14a1y4m8wX8IH1P+FFj4V1S3vorqa6hKxyBiFJycH6Vtnvij4WV+HcXQw+ZQc5U5pK0tW4NJfD1Z3yrYD2UkqivZnW6H4q/4Re7379omwD+H/667vR/iFY6l+4nrx7xfMIUt+eSW/pVTR9euIbqPyJ/+W1T4CZbHFeFOBkt71f/AE9UFl+F9pgoy9fzPogwwTWv2iCuf8dR7fClyf8Ac/8AQ1qP4e+MINStI4J6v/EmH/ikrmc+sf8A6Gte34g0nheDM1p/9Q1f/wBNSODFUqtJyT7M4j4waDBNa+f/AMtK8TvIfsdesfELx5BqUUkHn15frB86KvapU6+Efs6h9JhvbGX/AK2u2+HPST/d/rXEn+Ou2+Hf3T/uVweIdS/h3mi/6h63/puQ8y/3Gfoz0j4d/Enxd8K9fbxN4Lv0trxrdoDJJAsg2MQSMMCOqjmvbv2fv2svjH4z+KGm+DPE6W+r2mpSmKZY7JI5IF2kmQFABgYy2QeAcYNeQ/Bb4heG/hp4wfxF4p8Ewa/bNZPCLG5CbQ7MpD/OrDI2kdO9fTurfFjTtH+A/wDwuz4B/DrRFdsLqsH2VY2swDh9yxBS+1iOMj5WD9K/ijw2eLjQeJpZtOlDDt1amHipycoRa5mo35Jcy0e7itWj47DXtdTtbWxxng/wrovgX9vOTQ/C+yGzlgmmNtBhUiMlqZGjAU8KG5AwMccYANc/8XP2s/jh4T+KGv8AhnRPE1vHZ2GqzQW0babCxVFcgDJXJ47msr9k7xHq/iz9qK08SeIbo3V7freS3E7jBLmBySAMAegHQDoOld78Sf2oPhR4Y8f6x4d1b9nvTdQubLUZYZ76RYN07KxBc7oScnryTXt4PMsPieEauKwuYPLqdTG1pRsqnwuEGofu9rLXt2NFJOk2pcvvP+tC74P8aan+0x+zd4pb4qaRbLJpMUj2erpAqK0iRGQOuThXUjDEFQVfHGTXN/s0aF4T+Efwe1T9pbxZpi3N7G8kOiI7EEDPl4XsGdyVLYJVVOOrCu21jx9oP7Rv7NXiO2+G4m0KXS7bdd6ZtiRdiDzPLyBjy3CsARtOV54yDxXjETat+wNoU2m3PnrY6gn20oSdiiaZdp+jOg546Y7V7eN9lTxVHNI1FiquHwNWrTrtL95OM+VNxd3ejzN+9rfV2auXLRqe7UW79/8AhjndK/bp+NVt4kTVNVk0+5sPP3TaYtkqL5ZPKq4+cEDoSTzjOelU/wBrKT4P69r2mePvhbrFo82t2rXGr2NuxLRyEgh3XkRuckMmQcrux8xJ8jqzqGi6zpMNtcarpNzbR3kAmtHuIGQTxk4DoSPmXIPI4r8XxPGef5rktfA5hJ4iMnGSlO8pUpJ7wfRSXutPS2yOJ1qk4OMtf0K1XPD+kS6/r1loUBIe9u44EKrkguwUcd+tU66r4G3lnp/xj8MXmoMBCmuW28sgYD94B0Pv37de1fNZbQp4rMaNGo7RlOKb8m0mZxSckme8/H34z3/7M9lovwW+DkFva/ZNPE11d3ECyPhmOOD8u9iHdiR/EMYpfAXjd/2uvgx4j8F/EO0iOtaLGLqxvbSEKWbY3luFzgNlWVgMAq+Bg8151+3DbXMHx7upp87JtNtnhyuPlCbT9fmVq6L/AIJ/I8Hi7xJq07YtINGUTkqMZMm4c/RW4r94w+fZpjfE+rkFaT+pSdSh7H/l2qcYSUWo7JrlUrrXzO5VJyxTpv4dreR8/EEHBFbvw++JPjT4W65/wkXgfWns7lojHIQiukiH+FlYEMOh5HBGRWVqs0NzqlzcW3+rkuHaP5AvyliRwOBx2HSq9fgdDEYjA4pVsPUcZwd4yi7NNdU1t8mcCbi7o9as/wBsj9o7ULyKwsfEsEs08ixwxJpMBZ2Y4AA2ckk4r0n9r/4neJvCfwt0f4VarrouNc1e1SXXp4lVP3Y6qAoACs/Ax1VCD1rg/wBjD4dWeu+OLn4leIwsek+F4DcPLLwnn4JXJP8AdAZ/YhfWvP8A4x/EW8+KvxG1PxpclhHczlbOJv8AlnAvEa+3ygE+5Nfqz4l4hwHAdXEY7F1KlTGt06alOUuWlD+LNJt/E7U15c1jr9pUjQbk3eW3p1Knw4+H+v8AxP8AGNl4L8Nwhri7kw0jD5IYxy0jeiqOffoOSBX1l8WNC8K+BP2UPEXgfwPdhodFgjs7qRG+ZpjJC8m4jqzeZkjoNxXjGBT/AGaPgvqHgX4MTeK/Bmo6XP4p8RWQeDUJ5N8Foh+7GGUNu28swAwXAU8KDV7Qv2dvHNn+z14g+FGs+JrG51fWtRe6/tAySNGSzxMS5K7ix8tux6ivuuDOC8xyPhyty4ZzxGMw9VueloRcH7OlHX45t80uitFeZvRoyhTemrT/AOAj4J+MUvk/DXVZPSFf/Ri18ozQ/bNZ619qftifCPxD8IfDmseDdf1CxuZzZRSrJY3G9drSKRkEBkPswHqMg5r5D/sHyZfPr+xPoRUa+T+HGaYfF3p1IY2alF7p+xoHtZFFxw0k/wCb9EGvWcEOl1z+g2f72tzUvtx/cf8ALOjTdN8n9/X9rUn7Ojf2h7ZqabZ+Ta+fVez8SX2m3/7itSzh/wBAk/Wub1Kz86/kxXNT9i/4g6n7o6CbUp9Yi8+ubmhvobquo8Nwjy/InqveWcE1/WX132P7udMKhJ4b1ifTZY8T17Z4J1n+0rCOvD/FX2Gzi/cV6J8Ade+2SxwT18vxTgfr+SfWLCPSP9VViy8iq+pQnzeKj02GfrX5L9Wo+x/eHOdho955MsfkV6B4bm86w5FeWad/rfxr0vwHN58WDXy+bYal7E8DE0z5P/4Ktps13wV/163/AP6FBX0B+zz4Y0XXP2ePA1xqNpvdPDFooZXKnHlj0PNeBf8ABWBduueCW9bW/wD/AEKCvo79ltvO/Zx8FN/d8N2g/wDIS18Fi8sy7N/a4bHUY1abteM4qUW1ZrRprTofX5zTT4Ay5f3p/nM3B8PfCxldfsL4HT983+NMl+H/AIYX7tm//f5v8a6LyPeo/I9683/iHvAf/Qrw/wD4Kh/8ifAezh2Oei8BeGX62b/9/m/xo/4QLwz5m37G+P8Ars3+Nbvke9SeR71X/EPeA78n9l4f/wAEw/8AkQ9nDsczqPgjw5bw+dFZsB7zN/jXLaJp9rfeJI9OnjJieZlKhiOBnvXo+pw+dXCeGY9/j6OP/p6l/k1finirwrwxlWcZDDCYKlTjUxMYzUacUpx5oXjJJarV6PTU5bRnKKS6mv4m0PwZ4e057t9JckdMzv8A415P4h8XXccrnSZUjUdAV3fzrrPjxr0/9qf2X/yzry+aav3nD+HHh7Kj7R5Xh/8AwVD/AORPrcJluHUeeUE/kaUXjHxGx3m8Xb6eUv8AhViPxP4ibk3C/wDfof4Vm6bZ+dL1rrNB8Kz3kXn+R5lVW8PvDrDrneVYf/wTT/8AkTarhcFS3px+5HOXr6lqM/2i7m3NjAOMYFP4hmrrLzwfPD0grk9Ss54ZZK+iy/F4TL6cMNgqcadOCtGMUlGKXRJaJeh0QlCUVGKskdZ8Pde+x38cE8/7uvVfGmowal8ObiWHt5f/AKMWvAtHm8mWvRtJ8RfbvBt7YCXPCHH/AG0WvO8SaaxPh5mlaH/QNX/9NSPMzbDfupVPI8dvNY86Wo5v30X/AF1rP8/2q5DN5tfT1PYYqleoe9SsV+IZq7b4fh/JJCnAXk+lcrDpvnS9a7bwWvl200P91l/rX5V4y5jLK/DLMK9FJ80FT17VZRpt+qUm15nl5zOnDBycfT79Dar1n9lD40WXw48WTeEvF80Z8N+IF8jUEuADHDIQVWQg/wAJB2t22nJ+6K8ssfsf2gfbs+XjnGf6Ve3+GQv+qcn6tX8T8D5LjIVaWc4XMsJQnCTXJWrckmlo048r9ySbW+qufHUIS5lJSS9Wes/CRvhj8M/2uANH8d2Mnh+CS5Wz1GSUiIb4mAj8wjadrNt352sBnPOK67x7+zR8IPHPjTVPGMv7R2kWzanfSXLW6vbsIy7E7c+cM4z1xXzhczaPt/0ezbPu5rIu5dVLf6LbgD3YV+hYDJ8thls8Bi6+WVaTqyqxj9cqQUHJJcqtG7SSsrs7IUYuPK5Qte/xWPqDWfF/wQ/Zt+EeufD/AOHHjJPEOv63EYri4iCyoNyFNzFcxqqqWwmWbc3PByOS/Zl+OvhDwxoWpfB74sw7vDmsbz9pbcwtmZdrKVUFtrYBDD7rDPckeIaSl890p1WUJF/EAAT+ldiR8LFs4wDM03/LQnzKzq4fNKebYfE4TM8tpU6EXThSVdunySb54zvFuXPf3ndN6NWepE1KE01ONl0TPZbb9mH9mrQ9T/4SfWfj/Z3ejW7Gc2C3cHmSRjkIXRiWz0O1Ax6DBrgv2ovjpp3xf8R2mk+E7UwaDoiNDp3BXzycAybMDYMKoVTyAMnGcDkX/wCFdfweZ/5EqPUP+EC+xS/YPM87yz5Wd+N2OOtcmeZVSlkdbB5bi8uw9Kfv1I08TKc6jhrGKc43tfWMFb3uu5lUa5HGNknvZnP1JZ3c9heRX9q+2WCRZI2wDhgcg4PXkVr+DtF0/Vxd/b4i3lIpTDkYJz6fSm+B0WTWWRlBzA3BHuK/Pcl4GzDMcRlLlVjCGPnOMJK8pR9nJRk5R93q9LS1XY54023HzPoXXNQ+BX7XPh3SNW8U+Prbwx4qsrTyrxZSqKeeV/eEB1yCy4fKhyDmqWv+M/g9+zR8J9W8BfCrxdB4g8Ra1+6vL1cSLGrKVLEr8gCru2puJ3Pk5Ga88htIv+eS/lVv7FBL/wAsU/75Ff1xifCrGqE8WsTRWNnDkliFRnzNOPK5KPtuVTa3kl30R3vvpzd/6Y39l7wr8APE19qi/GzW4oJIoVOn295fG1hcc7n8xWUlxwAuRwTw3bzrxja+GrLxVqFp4O1Ca70qO7ddPubhNryRA/KSOO3sM+g6V6XDb2/nf6hOv90VV8Q28EOjXhECZFrJjCj+6a+PxX0eliMmoYGOMpQlTcm6ioP2k+bpJ+21S6fK1tb4eyU4xh+NjofFfxC8EfD39ljS/ht8PPFFrfan4hJl117ViHiB5kVwcFTkLGAwG5FJxg5rwuvmX/gm/dXl9+0HPDd3csqDw5cnbJIWGfMh9a+9IbKCaP8A1Kf98iozbwGx3EjpVJ5jGnGlCNOEI0XZRivOre8neT63e57/ABNw9LIsy+qSq89op3tbfyu/zPK4dS1G2j8q3v5o0BztSUgfkDXtngj4m+F7L9j3xJ4S1DxlFHrc+p5trOSVvPcM0JBXjJGI3yRwOMkZFcvqUMMHmful4/2ayPEep2g0f7GI1B9Qtejw19HfNcsq1Z0c0i/aU50mnRlopxs2rVlqunQ8jD4STm0pdLbf8E8v+Kgmv/A2piV2kd4lyXbJPzr3rwyzhg/1M9fQPirSIdSsMZryLxh4Dn03zLiCv6l8A+DKPhRw9iMjxeJ9v7as6vNyclrwhC1uaV/gve63tbTX6DLaH1Ok4Xvd3OP17TYKp6bD+9/6Z1oalDff6iepNH0eeb/UV/UVLE0KVD+IerTqkl5ZiztZK5uGz866r0jTfB99qXmGesfxV4Pn0eWOvOw2f4N4z2ZlVqnP6vN9ii/cVz/9sTz39aGvQX3/AC3rL03Rp5pZOK+spPBwo+0qD9ow8Sal51egfAGef7VH54/5bVxd5o/72OvZPgn4P+x2H24183xZm1HC5R7OmKoekal5BtY58Vn/ANo/uqual/x6yQdax/sc8MXWvxCnV9qZ0jrPCk0Ew8+eu88Ej/lhXB+D7PybWOu48Nzweb+4r5/N6n/Ps8jG7nzF/wAFX/8AkOeCf+vW/wD/AEKCvo79ltIh+zl4KRPvN4btCf8Av2K+cf8AgrA+/WvBDf8ATpf/APoUFfRf7Lf/ACbv4L/7Fq0/9FLXx2G/3yfp/kfW5x/yQmX/AOKf5zPQqZN/qfwpD/HRNNXcfAkfk/uqjF550VF5N+6/cVX87yq7adOl7EzLn7iaX8K4HwyET4jqp6C8m/k1dtZzHza4jw5/yUYf9fk38mr+dvGT/kecO/8AYXD/ANKpmM/40fU4r4zXnneMpIM8VycMPm11nxZs/J8UST1z+m2eZfIr+iFUtQPssN/BOo8E+Ff7Slj/AHFesadoOlaDYfv/AC/Mlrn/AIY6bB9ljnrQ1jUp5tZkg/5Z/wDLGuKn/t9U8nE1famh/Y9jqUNeR/E7TYNNv5PJr1zw3+5ijnrzP4ty+fqklcXsvZYw0wZwcP8ArvxrsPCs3/EvuIP9gf8AoQrj4O9db4OgxplzL6Iv/oQqePKtvDfNqf8A1DV//TUjqzP/AHSXozyaCX/lhitjQbOa8lrpNe+D+q6bdf6BB+7roPhv8N5/Nj+3QV6lPE4T6p+7NKuNpFzwT8N/7Si8+eD93VrVvCqeFrxoY0wJefy//XXo1nZwaDa+RBXK/EeXzprRj12vn9K/EvG2WJn4a42U9r0v/TsDw8wr8+Ha9PzOHutZurK4aO4iQIGO1jnkVFJ4qhRNwC11/i7wfZ3HhC01WOHMrQKSfwrzefR5/N/1Fepw34Z+GmOyHDV8Tl0HOVODb95Xbim3pK2rOjDYTB1YJuC2LzeNLv8AhtI/xzUll4n1O7mSMWsIDdTz/jUNn4bn/wCeFbmj+FYPNj8+CvTxvhX4XUqd6eWwv6y/+SN6mX4N/BBF7w8lnq7eVczMr+if/Xp1yumW1z9naZz75H+FEOmz6P5Zn/5ZVz+sXk/m+f59Z4bwg8Oay5v7Ohb1l/8AJGKy/DT2id9ofhTw5rMfy6hcq/oCv+FXZvhlYQvtN5P+a/4VwHhXxJcWd1/r69c8H6xBr2n/APTSurE+DPh1Tjzwy6FvWX/yRxYnAU6PQr6LoFvoNkYrJCS4JkkfG5vQfQVynw8/5Dzf9e7fzFdzPZzwq3+4f5Vwvw/XdrrD/p3b+Yr8445y3AZRx1wng8FTVOlCpUUYxVklel/w7e7er1OCokpwSO8hh82pP9VUcHerH/LKv6DOsXwnYeJPHniWfwf4M8L3eoXVtGJLh0aNI41wOWd2AHXAzye2a6LxB8A/jVFoF68ngJgi2kpY/wBp23ACH/ppV79jD/kvPiX/ALAf/tSGvJPFnxj+PuzU7dfH3iQx4mUJ9qlxt5GPpiv5xzbxUzDI1KrjJ1Jc+IxFKKpxpJRjRqcqvzQbbaa1v3M4VIwcXK+r6W6M+If+Cdut23h/4+T393E7p/wj1wuI8ZyZIfX6V+kfgn4b/FD4g+H4fFHhvwBdNY3Gfs81xdQQ+aB/Equ4JHvjB7V+cf8AwTrtNGuvir4mfWGVTD4IuJLNicHzvtlmFxweoLD6E8jqP051bxL4u8K/sP8AhXU/Ber3tleHUNhmsJGV9hlucjK84yB+Vevn/GedZFxPicN7VrDUsL7flhGDm5KfI1ecZb7o+78R3bid32VOL/FmF4o+AnxwtNLmvG+HFxKqjJS1vIJXx7Irlm+gBNeH+JhfC/lsbq0mtZ4JCk0FzGUeNgcFWU8gg8YNeo/CT4u/tO6h4+0200XXdc1Znuo1ns73fLC0ZYbt+4EIuOr8Y65rvv2hfhloHxD/AGtPDvhiyTL6jZRS68sPJEcZcktx8pMaBc5P8PHTPzUfFrjPMMoWYcPVpQkqtOlyVqVNqTqOycJRSTaduZW0Wvr8JGvUt7Sk9bpanjHgD9nX4sfFPSTqvhfwdPNa/wAF5PIkEUnJB2NIRvwQQducEc1lfFT9n74ifDmCOLx74QmtIZSBHdowkgZjnC+YhKhuD8pOcDOK9l/al/aG8VeGvGf/AAqr4V6o+haXoMaQyDTFEJeXaDtBUAqiAhQowMgk54xW+En7UOj654P1n4cftH38uqadcWbNY3k1r502/H+rOBktnDI5+6w5YDGO7FeOOaRzCpk7zLlxMLx9tKlRWHdSO8bW5oxuuVSbeuuqN3mFTmcHPXvZWPkrXvg2mpSbrO4hQeZu+fPT8BWh4b+GFnpSbdQkST3jz/WutlEQlYQMzIGOxmXBI7ZGTg/jTa/N6n0ofF6dD2LxVPl/69QOb+1cZ3X3DvDPgttV1ZNI8MaJc3t7csRBa20JeRyAScKuScAE/QV0HjH9gz9oTVbH+3rjwITEF3NBFdRSTAf9c1YsT7AZ9q9j/ZAtdH8CfDTxh8d7/S1nvNLgeCweVuBiMOyj0LM0YJ644GMnPB6D+1h8btL8YQ+KNQ8b3d5ELgPc6fMR9nkjyNyBAMJkcAqARX3mV+O/FORZThsXnOMl7TF3lFUqVL3IKXKpT50222m0o9Fvc6FmNaME5vfskfOnij9n67F3LYl0tbiCRo5oblGVo3BwVYYyCCMEVj2n7O2r2e7y9Tsvm6cv/wDE19m/tz+FNEsvGej+P9BshFH4i04y3DofllkTbh8diUZM464z1yT4ZXn8QfSZ8bOFs6r5Y8bSmqb0fsYaxaUovbrFp/q9yKuaY6nNxuvuOG+Hn7C3xt+Keptc+C9KhvYY32S3ClkhRsA7TI4Cg4IOM5wele0xfsVfHj4b+HRNqHgSW5SPmQ6dPHcMPfYjFj+Ar374Wp4v8SfsfWul/APUY7bXbe6dNQETrHKz+YWcBmOFcqyEMSPl4GOALf7Nnhz9qrS/Gz6j8WtXvV0NbWQTw6rfpOXf+HYAzFcHktwMAjniv0+j40eJOc0MDhsXVq1ZYmnCftqVCj7Cm5rZvlb9z7V5J9kdUMdinyptu/VJWPj7+w9Q1i7isNOhaaeaRY4YY0LPI5OAqgDJJOAAK9A0X9if9pDV7FNQHgtIlkGVS7vYopMe6MwK/QgGuw+E+v8Aw8P7ZB1iAQLpNzrd0NLcpiMSvvETD5uAWPynkcjgcY7v41+Ef2yr34l31z4G1jUn0eacf2b/AGbqccEcceBhWUupBHQk9TznFfGcP+L/AB9WyevjcRVnieSs6ShhqNNuyV/aSvGT5ZbRsvmRSzHFqDle+ttEj558S/D/AMefCqddE8d+GLnT5ZMmEyp8koGMlHHyvjIzgnGRTvCV9M+pBhXv/wC1rNqGmfs7+GNB+KF9BdeLGukcyRgFvlRvMOQQOAyKxAILYOOhHzp4Zfy70SelfccDcccV514lVsjzCup0VhvbKLhCNSEm6fuz5dOaKk7paaplU69atiHCb0tfb0PAf+CqU3nan4HP/Trf/wDoUFfSn7LP/Ju3gr/sWrT/ANFLXzV/wVP/AOQj4H/69b//ANCgr6Y/Zc/5Ny8Ef9izaf8Aopa/TFD/AIU6i9P0Pss8/wCSCy//ABT/ADkd5UdEM1STf678a6ah8CU5v9d+NU5v3Vak372qc1nWv74CPTYfOik5rjfCx8v4kR+17L/7NXdQw+TLiuD0L/kov/b7N/7NX4F4ywtnnDv/AGFw/wDSqZnW+OHqZ/xy0Hyb/wC3Vwmnf638a9v+KmgwaxoPn/8ALSvE5oZ7O68iv3zLfa4p+zqH0+C/e0j0j4e695MWK6yHTYNSPnivI9B1j7HLXWab428mL/X104nBVV/DOaphr1jsNS1KDw1pdx+/irxfxVrH9pX8k9bHirxXPeeZXHzfvpcVnSwVWk/3h24bDexI4Ya7rwfZf8Urf3foqf8Aoxa5G0szeXUcHkV6vZ+H/wCyvhleXc3+slji/wDRqV4PiRNU+Ac0XfDV/wD01IwzapfCteRuzeRef8saks/IszjyKpwd6sef7V0LDWPHCaX7ZLXM+P08uS1T0D/0rqq5f4hfM1nJ/eV//Za/MPHKd/C/GLzpf+nYHLiP4TIvFevQ2fg2zsWmwfs6cfhXMaPDbzHpUfju+M6Wln/dt0H6Co9B8+v0LhvD+z4YwdT/AKdU/wD0hHu4f/dV6I6SGGDrUc15RN5/lVj5uLz/AJb161OnRqnSSaxqU/k/6+ufvP33WtSazn/5b1Tms67MN7GjVNKexXh/dV2nw316ezv48z/u64/ypvStTQf3N1XdTxPtqVgq0va0T2nWf31o88B/d7T/ACrgvhr/AMjGf+vdv5iu50KX+0vCw/3D/KuF+HH/ACMJP/Tu38xX86eJsuTxI4YfapU/OkfK4mFsTFHewd6sVHUhiCwlieAMmv2x1atTVmx1/wCxk5Hx58TJgYOiA5wM/wCsh7/jVrwn+2xqXirxHe+CfHehadZWl5bXFtbXloXBSbaQgfcxGGPy9sEg9M1xH7N/xq8CfDb4r634r8V3dxFZ3ultDbSQ2xfc6sjAEDkbtmBxjJGSBk14x4muI7ldQurctskEroWGDg5Iz6Gv4tzjxCr5LKlUyfExkni8VOcE01KDqqUObdqMk3ytW3bWxzwxEqbhyPq/zPkT9hokfGacA9dDnz/38ir9bdA+LuufBr9jnwt4x0LTLS6na5NsYrpW2bWlnOfkIOflH5mvyd/YIXRm+L+p/wBqyTrIPDE5sPJQEGbz7fh8kfLs38+uOtfqH4F8efs4eNP2ddF+FPxO8c3WnyabMZZ4o4HR/MDyEYYI6lcSH345A6V9pxTiqmB8Rcc6WJhQq1MElTlOcYJT9orK8tE7Jv01PvvEZuPFMrOz9nH82J4N/wCCgHiW78R2tl4w8E6eLGedY5pbB5FkiBIG8BiwbHXbxn1FdDrvh/SvAv7dGi63NqcrL4gsJJFSV2kKTNFJEFyx4UlRgAnHQADFc1pWnfsJfD3UIvFtt4u1LWp7JxLb2MiySBpFOVO3ykBwR0ZtvrXmnxv+POq/FH4qReP9GSawh0wxrosUjgvCI23hzjgMW+YgZxwMnGa+Kx3FGNynJ6Us8x1LF4iniKNWlGnKM3GMG3NylFJJSWiTbd9fT4GVWUILnkm7poh/ac0K/wBA+O3iS3v4mU3GotdQsRgPHL86keo5x9Qa53wT8O/G3xGvbjT/AAR4dn1Ga1tmuJ0gx8sY78kZJ6BRyTwAa94ufi3+zT+0bodlcfHLz9B8QWEISS8s0dUlGSSsbKJMpn5trjKliATyTW8QfHb4KfA3wJeeB/2cIpb3UdTX/S9buUchQQw3Fm2lnUH5VChATnk5B+ZzDhfhrE5tXzarmVP6jNyqJRmvbvmu1T9m02pczs29LK77GUqVJzc3Jcv4/cfPEsUkMjQzRsjoxV0YYKkdQR2ptV7nV9KtJjDeapbxydSks6qfyJqKXxN4cgGZvEFin+9doP61+eU8gzyvTVSlhasoy1TUJNNPZppWfyOdU6j2TPpb4MTf8JD+xZ428O2LSfaLKaaaRRJ/Btik444GEbI78+tfO6qzsFUZJOAK7r9mb9qrwj8GfEdzba7r1neaBqkWzUbSG6idgwB2yKrMAepUjIBVu5Ar0aw8Xf8ABOjwpqsfxH0/xybiWCUT22im4dlSQHcoCsBnBHRnK+vFfrdTg3NOMsky6SfsKmGg6VWNWMoNRUnKM4Jx99csrNLW6sdfsZ1oR6W0dyf9ty4Gk+C/AXgq5aQ3VpppebdJn7scUfIxychufY+tfO9dP8cv2k/Dfxn+I7+KdR8RWaaZAwh0+y/tCJWjtg2euSA7csTzgnHIArsPj/8AFr9j3xL4A0fTfg7Fp8GrxMpd7dVhaGLbhknY/wCvcnb82W5BO7nDcHFXDmZcU5zmOaUIyhToqCpxnTmp1VGKguRcuvw376q6Su0qtKdWcppbfiemXXiXS/2Rv2ftCvvBWkW1z4g8VQxzz31wrMjHyw5YjIOFDqqrwOSxGc5yPgV+1v408b+Nbb4cfFe2stV03XnNoXFmqOjSDaqkLhWQk7SCM/NnPGDW8D/Hv4G/Fn4W6Z8L/j5DdxzaYgS01m33OuFXaj7kyyttO0gqynbknsL/AIc139iH4JatH418O+IdS13U7ck2cBV5GiYgjcoZI0zg9WJx1HNff0sPxG8fgsTleMhQy+nCmpUZXg0kl7WM6TjecpPm11u3o+p0KNbmi4u0VbT89CPwJ+zZ4HT9rHWPB15Clxo2jWi6jbadI7tnf5ZSNifvKhfuTuAUHOWFZPxG/bi+J7+M7mHwIbKx0mzumjtoZbMSPcIpxmQt0zjOF24BxkkZrD8JftVavpHx9vfi/q+nyyWWpg293psM2THbcBApOAWTap7And03ZHYapZ/sH/ELUJfF9z4w1HR57yQy3NhGJECyE5Y7fLcDJPRW2+leRh8Lj8XlNahwvVWDk8RVnJS5qMp02/3PLJr4Yq65Lq3bvCjNwapaavy06Fr4sXHh39o39mg/HG70eGx8QaE4gupYtwVwHUPGOuVPmK65yVJIzgsT88WSYgif3P8AOvZPjR+0B8L7b4Wj4HfAjTLmHTGm/wBNvpQUEqBt5C7jvcs3UtjAXABB48j0iOeeGO1EJ6nqPev1DwtlKn4rfWJLnqRwPLWqxi1CdZVKd2pNJSfLZXS1t5WXRhnbFX68ur89D5u/4KY3L3M/giR/+fa//wDQoK+sf2U7WFv2cPA7Hv4Zsyf+/S18m/8ABTJTBf8Agyzb70dvfZ/FoP8ACvYf2ffiNeaZ8FPCtqk2BD4ftUA+kYFfvapvFZpUUPL9D9Fzah7bgjAR/vT/ADkfR32ODycVXms/Jrh9B+KfnSx/aJ67zR9Sg1iwjngrrqYGthaPtD88q0vYleo6kmh8mXyBRN/rY6FrRMyv53+srz3Rv+ShH/r9l/8AZq9Cn7V53o7sfHbSA8/aZz+j1+CeNC9nnXDsn/0Fx/8ASqZz1/ih6npHk/bLD7DPXkfxD8EzabfyTwH93X0H+z54V+FC/AfVfjB8UtL1LUWsdRaKdk1CXKoPLA2IroOsgzkk8de1PPxB/YZ8SuNI1HwlrVok52m7uJLgrF/tHbOx/wDHTXsYTxbwNPCYfFVPZUHXgpxjUrcsuVtpN/umlqn1su56GHxvsIp6a+f/AAD5F/fw1ch1L91Xuf7RP7OehfCHxZpE+h3M1/4f1rabaeTYZEIK7k3hdpyGDK2Oh6Hbk+q/FDwZ+xd8DdSsvDHi/wCFdzPPPZCaOW3Mkm5dxXLEzL8xKnoMV3YTxgoyqYyjmGDVD6s4KbqVko3qXcOVxpyumldbbo64ZnTTfNC1u7/4B8X3k0/Sq8MM83mV9h+Hvhb+xv8AtDtP4b+G9he+HtZit2kgV1bMgH8RV2dXUEjKhlbHcDmvIPAPwA8T+Mvi1N8JbeCGzurGeVdRuHjO23jjbDvgDJzkBRxksvIByOTMfGulgp4f6rl/1mFeXJTlSrRlFzVrxd4RcXr1S0u76MqecqNuWF79mc38JfAc95d/bp4P3dd/8SHgXwfc2sP/ACzMY/8AH1r03WL79jX4O6i3w+1a21rWL2ybZe3kV3M+yTPKsUkjXI7hFwOh5Brkf2hvgbo2j+DLf4w/CLxTcaj4Wvyv2iCe6dzAWfCldwBKBsKQ/wA6sBnOTt8DjbxEWZcNZjQoUYVZ+xqQqRp1lOVLmi4OUo8iuoN+9yt2PMxWIlVhL8bPY5E/6mOrH/LKoIf9T+FPr96pEklc38QdiiyRH3YV/wD2Wukg71yvjyGeK/jaT7rbtn6V+R+OULeGGMfnS/8ATsDHEfwmcJ4pl83UlH/PJU/kK0fCouLzy6xfEL51po/75UfpW94V8+H7PBBX6LkNT/jFsEp/8+qf/pET6Kl/ukfRHUTabPNafv6y4dH/AHtdB9s/0D9/BUcMME0vWu76vVpHL7Qw5tM8ms+803yeK7i80f8Ad+fXP6lpvr+dGG/jHTSqHLzWdWLP9zLitCazrPm/5afhXpZf/vZ2npvw41Iy6RJYzD93sP8AKsD4YNs8Slv+nZv5rVv4W+dvfM/8B/lVP4aLu8RMP+nZv5rX4V4s/wDJzeGP+vlT86R8xj/96h/XY9Dg706+/wBQ/wDuH+VNh/13406f/UP/ALh/lX7RW/gy9H+Qjzj4c2FlqPiBre/tY5k+zMdki5Gcjmuv1XwhoT6LeMuhWoxayHPkj+6a5b4VLu8U4/6d2/mtdt4412DQ9Cu0/wCWhtZB/wCOmv548CsmyvMeA1Kth4Tn7WesoRbt7vVq5ngaSnFO3U+CP+CaNppl7+0Pcw6taRzRDwzckJIuRnzYea+67q18BIjxro9oCOh8kV+fn7BN9Lp/xtuJ4WYE6BcLlf8ArpFX2BDrF9/z3r9zwnDeWZqvb4jD05y2vKEZPTzabP0zj7ALFcQuX9yP6nfQaJ4Xu4t0GjW2f+uQp03hLQ4eukW//foVyej+JMXUfnz13Gm6lBqUXkGtv9VMhp1v9yo/+C4f/In5zVwc6T2OD8UaTbRSxi1gWMHqFGKwd53og6FCf1Fdd8QrOeym8+uOllzqEMXpaZ/UV874qcKZBh/C3M8VRwlKM4UrpqnBNe9HZpXR11aEI5fOVlex5H8Sr6V/ihc2KjhFh/WMGszxto0ENrHPPWt4709bj4tXc6/fHkAf9+lrF8eXk8MscE5r+n/CKDq+GHDcIb/U8N/6agezgf8Ac6f+Ffkc/o9n5N1zBVzVP+PCpLPyZrXNV72f/lhX6VU9viax1GPZwjzZKP7S/s26j8ipJoZ4JZJ6y7y8n+1R17OH9rVRofSHwr1j7ZoNaHnedf8AkT1yfwN1L/QBBXYXln+98+vwfPKlGlnlWmRVNS9mg+wZqvpsME0vM9V54Z5rX/X1JZ/uZcV8k6f/AC7Ob2RoWf8AyFI7fz67SzhsYbWOcz1wdn5011ius/f2emV5ubVaVKl7M4alP98fJn/BR+7e78TeGmP3RBd7f++oq9D+DL7PhF4bj/56aNbj/wAcFeX/APBQR3fXPDe/tBdY/wC+oq9S+Dn/ACSbwz/2Abf/ANAFeDgaipZjJz7f5H3+Oj7PhDBL+9L85HVQ3k8H+onr1T4P+K/OljsZ568jhmrpPAevf2Pqkc5r6pVVi8JUpnxOJpKrRPdNYh8m68//AKY1nzTfvauabrFjrFhH+/o+x/uutfMe1rUf3Z84Z/8Ay1rzS4u5tD8WT3klqS0dzIRG/wAuQcgH8jmvT/8AVVT1LRdIv5WuL3TYZZAhG94wT+dfnHibwRmPG2FwlXAYhUa+Fqe0i5K6vo/PVNJrRp7Myq03UtZ7Hpf7OHhPSPG37Iut+Ftb8Sw6Va3usSCfUJcbbfBgIzuKjkqB1/iH0qlpn7EnwsTT5PFuofG4XujWW5r64soYgqqoywMgdwuBgng8VnfDr/kw3xb/ANhZv/Q7WuR/ZP8AjNbfDXxq/hnxRKjeHtfAt9QjmUNHE5+VJCDxt52t22tk52iv5vjjeE4vI8HnODjP2mGharKU0oNymoqUVJRcOZe830b6Ijmpe5Ga6bmn+0z8ZvBvxI8SeHPBnw6cNomg7I4rpoGRXY7Fwu4b9iqoHIGTng4BPsP7S3wM8CfFLxZYax4q+Lll4emt9OEMdrc+VmRfMdt43yKcZJHTtXz78fPgxdfBj4rx6ZbROdIv7kT6RO3I8veMxk/3kJwe5G0/xV6f+2/8NPiD42+IWk6h4Q8GalqUEWjCOWWytGkVX82Q7SQODgg/jRQxWZ1cLn085wKxFZVcPGVKPPGPu86jy8j5uWMUnHurNt3BOTVTnjd3Wh2PwC/Zw+HPwx1O4+IHhnxmfFd/bW8kdsLKSEIhZeQoDkbyPlBZwMMfqOV/Zk8SXl+/xW+LF5p5t9XVXmMRAAi+WeTy8Y6hkAJPXH1zmfscfBj4u+E/icfFviHw/e6PpkNlLFdC9XyjclgNqBDyQGw2cYG3rmrHwK+LXhFf2ifGnha81KJdE8WX062byMsUTyh2Cgc4+dWYA5yx29zXuZVi8JRpZNUeG+oRdWvBU3eznKlywrXnaekmo3d7X3tYuDSUHbl1eny3Pm64uJ7ud7q5maSSVy8kjnJZickk9zmtm0+JXjqw8Ez/AA5s/EtzHotzcedPYKRtdvrjdtOASudpIBIyM12PxE/ZT+LvhDxfc6LofgzUNVsfOJsL+yg8xZIiflLbfuNjgg45BIyME9F8RfgB4G+DfwBi1H4gyEeNtRuVazt4L8fuVz80e0ZV1VeWYD7xADYIz+MYfhLi3Cyxk5RlQVGE/aSk5Qi1s4KVvfc9oxV1L0OJUayv0tucjD/qfwp//LWq8HerH/LWv9IqlRnpFiuZ+Iz72sz7Sf8AstdFDDXO/EVs/Yk/urJ/Na/I/HL/AJNpjfWl/wCnYHLW+CX9dTzPxKfL1wt67f5Cuq8K+RNFGJ65z4h232HU7S68nPnW6c/gK0/B95/q6/S+H6lL/VLBf9eqf/pET6rDf7pH0R0l5N5H+oFbHhvyLyLmub1j/VefVzwrqXk8172lWiZVMMdRqMvkxVhzfvvMqxqV5BNWXeXg8qs/q1iUiO88jyuK5+8rYvv+PA1hy/vpfI/6bVpgqlqx1rY9F+E8Iit55/8AYP8AKsz4ZD/ipD/17N/Na6f4Z2fk+Hp5/wDYP8q5n4Xts8Sk/wDTs381r8G8VKntfEzhj/r5U/OkfOY7/eof12PQf+WtTT/6h/8AcP8AKm06f/jzf/cP8q/Za38GXoxHnnwofyvEc0npYv8A+hLVDx/rs+p/bRB/q/s7/wDoJpvhCf7PeXMn/Tm3/oS1Ru4ZptOuiem1/wD0E1+Q/RxjTXAHPL/n7U/9tO3KP93+f+R8ifsC2jXvxxmgTr/YNwf/ACJFX2PqWjTxRf6ivlH/AIJm2X2/9ou4i/u+Grlv/IsNfd2veFf3X+or9Tw2JqUqaitrn6Dx3W5M+t/dj+p5P+/hl8/FdJ4U8Sf8sPOrP8SaDNZyyVj2c08Mvn/88q+spVaNaifK+zpVT1ifTYPEmn+RPBXFa74WbTvE9v8AbYmFvNKsbCNgGILDOCQcHHsa6HwH4kxL+/rc+LNvbTWeiXkYEe/U1UsegHrxX5l4u4nE4bw+zOjLacIr/wAqQPFx0qsaEovY9M+K3gH9iT4K6zaaF43+EUt1eXNksy3MSvKzoGKZdjKvOVPbH8qxdF+Cv7EH7SLz+HfAHhuTQ9ZigaSATW2TIB/EVkLq6gkZUMrY7gc16F+0p8CvA3xV8Xafqvif4t2fh+eDTxBFaXAi3Sr5jHeN8inqSOnasPw78Lfgp+x1qg8e+N/HlzfanJbSppdt9k2swwA2xFLZY/d3MwUbucZzX41jKnE+Bz+pQqUcPTyqm1Fy5oU3CnZLRwmpxl0irK7svM5W6sajVkoHln7L37M3w08RfGHXfAnxQ8A2lw2iWshNsIxHGZFlWMk7QGYfNkcgexzW5dah/wAE5oLp7af4DSl43KMfsJPIOP8AnvWx+xh4nufG/wAffFvjG9RI5dR0+WdoUGNu+4jOBgY44Gep6+tQ3f7IfwgutQlmk/aU0tWkmZmjH2fIJPT/AF9fM5RmnFy4Tw1bIuStzVa6cq8o8zipJU9ak4va90r28jKE63sU4a6vc5j40/sq/Ai5+Fo+OHwI0+GfSxMBe2EtoriJC2wldy71KtjKtnhsggDmh8AP2RfhJ4g8IXPxo+M+l6dZeGLQsYYktUVrkowDFiEJ2ZygCfOzZAxgbvWf2gfDen/Af9l4eAPAmn3F5Zaneql9qspRwNxDl2x3bYqqQMADqDjPOftR3Z8Ofs4fDzwhoxeKyvLSOeZC+SxWBGAbjn5pSfTIHFVnFSvk+b4jMcTKSlhsLTqVKMalT2Lr1JckbLm1prRySdr6XeoTbhNyfRJ2u7XDwt4d/YI+Jepp4B8J+Drnw7fXjCOxvY0aEu+eEUl3XJ7B1weg5Irxz4xfCnWvg744uPBmuyxz7FEtrdRA7Z4WztbB6HggjsQRkjk8zDNNbTJcW8rRyRsGR0bBUg5BBHQ1seOPiH40+JOqJrXjfxBNqFzFCsUTygAIg6AKoAHqcDk5JyTmvy3OvECtxBlT+sRdLFxkuWdFuEJQd+aM4qW6dnFpeTtbXmniZVIa6PyMTavTaPyq74d8O6p4q1208OaDYme9vrhYbeJcDc7HA5PAHqTwBzVOvTv2PdIt9Y/aB0RbkMRbCe4UBcjckTFc+gzjn1xXz+Q4rOc4zvDYF4qolVqQg3zy0UpJN79mZ051JzUeZ6+Z6PrPw5/ZL/Z3FpoHxQgv9d16e0SW6EDyER5GCwCMgRSwOASWxXPfHH4GeB7v4aQfG34FareXejGQ/wBo2c9wz/Z1yF3KH+cbW4YMSfmBHAJrhv2nNSudU+PXie4ui26PUjCocYwsahF/DCivTv2WYT4l/Zy+InhO+Eht44ZJo9se7Dtbsfl55OYlOPp61+r08/jxHnuN4cjQjTpxjWVGceZVVKkm4uU7ty5uV8yfffTXqVT2lSVNLvbvofM+teFvDHiRo38ReHLC/MQIiN7ZpKUBxnG4HGcD8q9C+Alz+z14Vuri3+LvgG4vrRbdU02LTwFigweQY1ZD06Hdgf3ecjjKK/Hct4lzjK8dDFQqObj0necXpbWLdn+j1OZYrEJJczaXRt2+4+go/GX7AcsixxfBzUmdiAqrA5JJ7f8AHxUf7Xnwz+Bfw38M6Ongzwa+la5fv5qwx3THZAB83mqzOM5IA2kc55IGK5v9jv4YxeOvigviPWIh/Zfh1BeXTyfdMoz5Sk/UF/onvXM/tAfE6X4tfFHUfFKSsbNX+z6Yp/ht0JCn23HLH3Y1+q47jTNavAVTF4ynShUxM+SjyQUJKMNalS613tBWas7nRLEVHh7y67f5nXfBz4gfsxaH4OSx+J/g3XLvVxMxmuYrp3jdf4doWWPaAOxBOedxzgevP4c/Zkuvg7dfFa48I6tpOktC4tpJ7+eO4mP3VMS+cwJZuFzwcZI2818meG7vRbHxBZXviPTHvbCG6R7yzjm8tpowwLIGwcZHH+HWvq+8174E/tkaMnw30PVNU0e70qAz6ZbmEQooChB+7VikirlRt4YAnaQCxr0PD/inHZvl1bCVZYeVeMOShTnFRnUm18UpveyT0veUt3HdmHqOcWna/TzPnL4b6hqGpeJpoPt1y8X2d2jjnnL4G5cZ7E474Fb3jme50/wxc3FrKUf5V3D0LAH9DXOeEorjwX8QLrR9TO2a0kmtZsA/fV8Hr7rXT/E+NX8IT3EZ43x5/wC+hX6HwDi80peB+ZV51JKpGOJV7vmi1Do9009rbBTUlhm/U5vwrrXxMvvA954G0LxPJFot1ch7qwMuFdwAfQkA8ZAIBIGQcCs/Uvh/rGkp5l7d2ij2lP8A8TXQ/COJDpNzNJ0Fzj/x0VyPxI8YT3ms/YYP9XFS8PvBnhXjThPA43HSrSqSh/z891JSlpFNPlXWy0u2deDy+GKppybNTxX8SPiF4qh0yw8SeMp7xNGiWPTV8zHkbcYYEAEtwPnOW4HPArroP2z/ANoKztVgPjOF1iUL5kumQMxx3J2cn3ryGGapPsk8v7iCv1LC+C/DOWYmdSOLxcJTspONeScuVWV3bWy0V9loj0FltCjrOTXzPQfHX7UHxp8a2TaJ4h8dzrbOhSaCxjS3WVSMFX8sAsCDgg5HtXCxzx7gyzBSDkHOMVBDps/m1HNZ30MtcOO8DuAs4re2xlTE1ZbXnWcn97izOWXYWbu238z2Xwh+0t+0RYadHoum/ESKdIgdj6jAk0mPQu6Fm/EmuW+Idv8AEfxTJceN/HXiQ6lKmA0ktwzFVL8Ki4AVctnaMAZPFcXZ6nPZ+X5FdGPErXvhrUNNklySEwPpIprxOOvB3J6HBuMxLxOIqLD0alSEZ1pSinCDlH3WrWVvuObF4JU6Td20l3OlH8FST9qjqSDvX7jUqKrSOWqSQzdv+mNcv8RHzPax/wB1X/pXUQw1y/xFXZPar/sv/Svx/wAcnz+F+MfnS/8ATsDCf8FmJ8S9BN54SstVihyYrVMn8K5bw3eeTL5FetxaZb674Nt7Cb/n3T+VeUa9o9x4b1mSCf8A1fnV+h8Ga8PYSH/Tqn/6Qj6DL6nuI6S8/fWFZ9neeTLijTdS86LmrH9mef8Av817VP8AdP8AeHoHc/APwLpfxh+Kdh4K1vU7m1tbhJXka0Vd7bEL7QW4XIHXB+nOa9Z1r4UfsUeGdYufD+tfFLWLe8s5mhuYGlYlHU4IyLcjr6Vwf7FkBT9oTSQMfLbXROSB/wAsHHHrXoXxN/Yh+Ifjf4ha14v0/wAVaLFBqWpS3EUczzb1V2JAOIyM89jX82Z7mvGVHFZjWyelLEzWMqQtKpVtCmoQaUUqkEldvb7jwK9TEKpPku/efV/5nN/FD9mDwlL8O7v4rfBL4hf23pVkpe6s5trOiDlyHUDDKCCUZQduTnoDB8BP2ePg14r+E998W/ij4j1K0gsr9oZDbMESADZhj8rs+S69hj0713UeleE/2Rfgn4j8Paz44tNT8Ra5CyJp0EpG1mjMa4QHcFALMZDtzgDg4zD+zr4D1P4k/sg654I0m7t4LjUtYkWGW4Y7F2m3Y7toJH3T29K8TD5jnv8ArLShGrU+svC1ak8MsRVnCNaPwL+JpzaXhze79zMVVre0WrvZ6Xe/3kGmeFP2QruL/hHfDnx31K1kuPkiaaVVQMemTJbhfzIryr42fBzxP+zl4tgtINcW7tb+3Z7HUI4NhdQQHRlOQGBx0JBBB7kDvtM/4J7ePZL6NNY8d6RFbFv3slsksjgeysqgn8RXQ/tISaJrfxb+HXwIkt7k2ljc24uJ7mJiZUdkjVQWwsnyodzDPJI6hhXg59Q4ozjI5Y7OsO8JiqVSnHDTjVqXcqk0pRs6k7aWlzJp6eTMakak6fNNWeltTJ+H3wVTR/A8PxJ/aJ+Js2hWd2B9j0+IRLKQwBRmbaxLEZPlqu4DkkYIFzWfgj4U+JHha71n9nD4uTapeWCHz9LvDETMT0XJSMxEjdgsCrEYyMEjkf27PFmo6v8AGBPCskzCz0ewiWCEfd3yKHZ/qQVH/ARXm3wt+KXiv4QeK08XeEZovPWJopYLhS0U8Z6q4BBIyAeCDkCuPM/EOlkmd1MgrSrTw1N+znW9vW9u5LSVSL5+VWltDls0vOxEq0IT9m1out3cwm+26Xcy20ivDKhaOZGXBUg8qQehyKSO9uoo2hSYhXUqwwOQetT+Ide1HxRrt54j1Zo2ur65ee4aKJUUuxySFUADk1Tr8awvEuf5TTlh8ux1anRu2lGpOCfm4xla7Vr7+pzRrVaatCTS9R/7L37Lfhz/AIWza2vwc8NR6TqNzA0V5qSNJKLe1ypkdg7EY+VcdMttGRmvqS++HX7P2k358CeKP2iLz+3lfypZBJAkccvTaR5RVOeCrPkdM1z37Dca6JoHjnx6sy+Zp+lqEQ54ASWQk8eqD34NfPt1dXF7dSXt3M0ks0heWR2yWYnJJJ6kmv1LC8Z5twrwtg8bXq1MTWxbqP8AeVq3LCnCShaKjNe9J3fM9VtY7q2OxVVRrV5yqTfWUm3ZdLtnoH7RHws8Y/B7xamha3qrahY3UQl07UfswjEwGAykDIDKeCMngqf4q85EUYO4LzX0Z8eJpvGf7H/gjxnfXhe4tJo4HZyxMnySRntycxA5Pvz6/OteJxpxBxLkme2y/McRGjVhCrBe3qNxjUipct+e7s7pN62te+5hWrV6c/dm7PXdnsn7L/wX8GePtB17xz4+8R31hp+hqu42ZVQBtLs7MVYkAD7oHfr2rstT0v8AYy1WzitNQ+N+syR20nmwrz8jY6jFrzVX9mDxr8FvDnwE8Q6H8SvFltCL6+c32neY6zywsiKqoq/M+cNkpnbnkipdC0v9h74walF4K0DSNT0DULpwllcGSSMyueiAs8iZPowGc4HJr9HwmdZpjuF8DhXjcPiKleDc4YrEVpTnJzfLGynyrZJKVveVlqjoU5zpRTkm33bPLdV8a6V8Vvizav8AF34hanc6FBM1vHq39nRpOLYMxXKIMLknk4YjPQ9K9o8Van+yf430Cy8M+LPj7rN9Z6dt+xJOgLRYXaMOLXeeOuTzgZzgV8//ABe+F+sfB/x1deCdZuYp2hCyW9zDnbNE3Ktg9DjgjsQeSME5PhLwxqnjTxPYeFNFi33WoXSQQjHALHGT7AZJ9ga/JsFxPnGS47FYDFYKFavVny1FV9pKTaaSg7VFzJNaX5ter0OONWcJOLjdvvf/ADPpzTfhv8Hvhp8MtY+NHwZ+KmvWCrZPDHqXlxypMwYYj2SwruBcKuQRz34NfOHhz4c/EXx9DNq3hXwdqWqRrOUnns7RpFWQ4JBKjAPIP4169+2H4l0nwdoegfs7eEZALTRrWObUSuMvJtwgbHc5aQ+pdT2rgfhN8Zfi18ONGudH+H2uW9rbXF150yzWkchMm0LnLKccAV9VnuXYDP8Ai6hw/Rw8+WhB88MKub961zVOSE58qUXaLe7s7t2VtpwVWsqaW3buew6z4e174U/sRX/hj4nyiK9vLoLp1lIVlaDfKjrH1wD8jvwflye4xTLPSh+1P+y3p+h6HqEcvinwsVUWktwoeTYCgByRgPHjDHjemM8E14j468RfE34jXq6j458VTag8ZJiSaY+XFnGdiABUzgZwBnFZvhnxJ41+G+vJrPhLXbiwvEGDLaykB1yDtYdHXIGVYEHHSvq3k/GVfMlhoZJiZ4D6vHDOLS9q4Rbkql/hU4yd4r4baemzp1+a3s3y2t5+p2Hw9/ZS+L/jDxbb6JrXg7UNJsfNBvtQvYPLWKIH5iu777dgBnkjOBkip+0v4a+F3g74lyeGvhWWNraWyJff6Z56C5GQyqxycjjcMnDFhgYxV/xV+1T+0NqelHSdS8cNbx3A5ksLaOCXA9HRQy/gRXI6R4Gn1axGoyTsN67s+ua+VfAv9pSxHDmRYKf1qm41Ks8TyQqQjb3YQSbsnzKUne700ta2HsOe9OnHVb3OdrrvgP4zsfh/8XdC8V6pdGC0tr0C7lCFtkTgoxIHJADE8c8dD0qxpXwmW/kxLdyqvsB/hUXjv4d6N4Qt/Ni1G4kb0fb/AEFaYHwP8TsszCliaNCHPTlGS/eR3i0117oqjgMVOScEtPM9K/ao/Z4+IOp/E+68d+A/DVxrGma2sc6yacnmmOQqAwIXnBxuDYx83XIrcsvDdz+zl+yVrlt41lWy1zxTI8UFkCGkXeoQIcHHCB3JzgbsdeD4x4M/ao+N3gGzTQvDfjWU2cUYSG3vYknWJQMBU8wEqAAAAOPasvxj8RfHvxOvV1Xxz4mudQlj3eSsz/JFnGQiDCoDgZwBnFfpWJ8MM4wWIxea5fgpLF4iM1yzq0vZU3V0nKLT5pPV8qaSV9eh6EssxEG5qOr81ZXOk+F/7NHxP+Lnhi88W+FLW0W1tWZIhd3Bja6kUZKR8EZHAyxVcnrwccFPbz2tw9rcQsksblJI2GCrA4II9c1wnxh/bp+Of7Ktna+F/hXq0Udjr8U7XsU6ltrLsXdGQcxsQ3LLg8Dnitf4d+ONX8VeCtH8ZXUUcN1f2MV04hLAI7KG+Ukk9fevz7G+BvElbBYangcNauk/bOVWm4t3VuS2trXve3Ra6t7YjhfM6OX0sW4rlndJ3W6v0+TPq7xaT+zh+yra+DYx5HiLxiS99wQ8cbKPMByONqbY8erkivnSIRNKqzOVQsN7KuSB3IGRn6Zq/wCNvih49+I01vqnjfX5dRmtLZbe3eYD5UH0AyT3Y8k8kmufj1WZ32GNf1r1OJvCDj7P8fSp4LDRjh6EI06cZVIXUUtXKztzSk220+q10OCtl2LlJWWi21Pefiz+x/r2g6XpXif4QfbvEumXtjHJO8aK0quQCHVF5MbA5AGSuDkng10n7JHwO8beAfGE/wAVviTp7aDpmm6fMFbUpBEzlhhmZScqirkktgZxjPJHF/s9fEn4iaJatpeifELULG2jjJSykCTQpkknakisE5JPy4zWJ8aPjR8XPFom0fxV43uri0VwslnEFhhcAgjckYUPyAfmzg19RhPCWeX5vTzTD5fOOJhaUaKq0vYqolo+dtz5b+9a17+WhrHL6kZKajr2urHOfFbxqniX4k6x4ztFAjv9XllhCkkbCx2nnnoB/gOldHq2of2l8KpJcdBF/wChrXkOra3cSsLZEUANnIzmvQtJ1Dz/AIYXUHosX/oxa/RsFwlnnC/gXm1LOYxWInHFVHytSXvwvutN76G88LVoZdJVN9WX/BV19i8Dahcf9POP/HVrym8vJ7u/kn/6bV6n4Ri8/wAB6hF63X/sq15ZeQmC/kr6LwTxPs/DrAw/uf8At0jqymF6EWbGmwiby8V2Gj+Gv3X7+ub8K2fnyx816ZoMI8qv0PG1a1Wr7M3xNQx/+EU/0T/j3rL1jw3+6kruJv3MWKpzQwzeZXnfvqJw06p5nqWm/Y/+W9VLO7USrDHLkSDkfr/Suz8VaPB5Xn/nXFQw+Tep+P8AI15vGeJ9t4f5v/2C4j/01M76z9pgJvyf5HqP/LKiDvUlEMNevTdv3Z8+SeR71y/xE/1tp/uv/SusrlviUNs9omOiv/SvyTxxjyeGWNXnS/8ATsDKv/CZ0Xgz/kDQf9e6fyrO+IXg/wDti1kngt/3lX/C8WdGsz626/yrV87/AJYfpX3fD060ciwU6f8Az6p/+kRN6FSyR4PifR7qSCfza1LPWMRV6J4k+HtjrA8+CCuP1L4V6tDLH5FfWYbE4Sr/ALwexSxtI9I/YruftX7Qmjyf9O92P/Jd6r/EX4i+Kfh5+0trninQNSlEth4juHSFpW2OvmENGwz91hkH2Nch8KfFfif4TeNbXxD4QihfUbR3URXMW9JMgq6kZBwRkcEH0NTeI9M8feM/EV54n1jTGkvNQuWnuHRURWdjk4AIAr+E+Lc1x/Ec8VLIcNXnKOOq1VKFOTSXJCMfeje0rq9uiszwMRVdWUnTT+Js9d/ao8E6H8R/CGnftN/DqENa38CJrsKDLRP90O3+0rfum7ZCkZyTVj4YG6H7Cnis2Rk83+1m2eVnd9+26Yrz/wAE+M/jX4A8D6v4B0PTYX03W0Kzx3SJJ5RZdrtGC2AWXCnIIwBgA81v/Bn40/Gz4M+H5fCGheDNOvLV7hp0W7XDo7AA/MjruBwOuTx1xxXZhMLiq/EM8xr5fiqLxOHqU63LhqjUa01yucUkm1L42uje+rsR1qc3K1da6dTzfw1J8TxrluPCb65/aBkH2b7EZfM3e23mvob9rDxPN4K1L4Z+Ltdjtn8QadILjUURNzMFEJkAH3du/dj36d653X/25vjVpltJFc+CtCs5CuFlKyOUPrjzcGvEviH8SvFPxB1tvFXj7X3u7plWNZHUKqKOiKqgBR1OAOpJPJJryMTQlwlk9TK8DHFVsRjJU/Zqph50knSmp3hGTcpzvZe6tE9el1Z04ckLty207HuH7a3ww1LXNWsPjb4OtJNQ0rU9PiW7mtYi/lED93I2BwjIVGT0K4J5Ariv2dP2bdZ+MniF5fEFvfafoFohN3fpHsaR+0UZcEFu5OCFA56jOV8Hv2uPHXwdsToOh6laX2mbmZNO1CFmSJ2OSyMpDLz2ztyScZOa2/iL+158Wfi9oj+FYRZabZXUZS7h02MhrlTj5Wd2JA46LjIJByDivZxfC+FzbNJcQYvK8bzy9+eGWGqcsqltbVbaU5S1d1zWvpsjSWHcp+0lCXpZ/meb+KtO0rR/Et/pOh6o19Z215JFbXjRhPORWID4BOM4z1qhU1np95f+abOAv5ELSy4IG1BjJ5+opqW7yWtxcpz5ERcr64BP9K/FssyLNuI81p4TLqDdSs5ckU7J8qcmlKbS91J7y6dzip0qleooQWr2Pev2Edcs7nV/Evw31HUViXWtM3W8LPguyhlfaO52OSR1wuegOPI9e+FHxB8P+MJfA914Tv31BLgxRQw2rt52CQGTA+ZT1BHGK8e/ZT/atuvi18W4NG8MaJPoF/p9q+oW2om8E21o3QbduwZzv78EZBBzX27YftQfGiHR/sFxdaFPchMC+k02QOT6lVkC5+gA9q/dsv8AC7iPPOGsNl+b4WrRlhpT5JwdGalCbUnBr2qakpfC9rPU9rHZJmOXTWHxtNwmtd4vR+jZmftVg/Dj4DeCvg1LqMf26ONJtQto5cn5EIJ/3fMdsE9dvHQ48a1L4N/E7R/A8HxI1LwddRaLcbTHett+6xwrMgO9VPGGYAHIweRnS+JyeJvGHiGbxZ4y8Xi/vpwoeQ2wQBVGAqqpwoHoB6nqTV/xJ+0t8Vdf+GifCfUdTtmsIokhluktyLieJfuxu27GBgchQTjknJyZv4XcUcTZrisTiMvrU4QpRhhoxnQfwJRgql6midrtR2u9dFfleBxFabfI9tNv8xbD9mrxVrnwUh+MXhfUo9ULXDLcaRZW7tNDGrbS2erMD1ULwpDZPOMf4QfDPxz42+IGmad4f0O8Bjv4nuLsW7BLVFYEuzEYXABxnqeBknFWvg/8dPiZ8I7prDwfrSfY7iUST6fdw+ZC7YxnHBU4xkqQTgZzgV6B8QP22PjPHCmlaXBpGnSSwiT7XaWjM6gkjAErMvb0NeVmfhpgOG8qw+b55QrYRU+SNSEfZ1FUmusJKq3Hnt1VovaxnUwioRUqicbejv8AiVP29dc03U/i/a6XZxr52naRHHdSAryzMzhTjnhWB5P8XQd7n7HXhnSvCWk69+0L4ujxZ6JaSRaeWx80m3Llc/xYKoPUuRXlMPg+78RaWPFl/wCIC895NI83moWdn3nLFs8knn8a6qfxb4/1P4UW/wAGv7YtE0e3ufNHlWWyVxuLBGYHBUMS3TcT1JAAHZk3CvGWc8TVOLnl0pRqRdWglOk05uK9lzXnFpJNSbte6WgqdOrVquqo+a2+RwXjDxTqnjbxRf8Ai3Wpd11qF080vPAJPCj2AwB7AVL4bn8qF1/2/wCgqW78D3lonmNdqR/uf/XqGDTprOMoHzk56V9J4PeHPHmRcewzXNsK4U+WpzTc6cvekn0jNu7b7HXl2FxNPFKc1pr2N7zYfWpLPR4NSuutYn2yb/nsK1/DepeTLX9iVPbey/dHuVaZF8VtDTQxp0af8tI5CfwK12nhC22+EtPkx1tEP6VyXxhvvt0WlS+iS/zSuw8Hf8irpn/Xon8hX85cKKdXxzz3n39nS/8ASKR83D/epmvo/wDrY/8ArjXmXx48SZv44K9R07/j6/GvEv2hZvJ8R8wV+7/8xR7eW/xTj7Obz7rz66zwfNpc3jLR7HXJ/Kt5ZvLmrh4JhZ+XPcCtyGaCb7PfQXEta1adKrR5D1jxz/grT4H034f/ABg0rQNGn32oiuXhPoC0dd58BYoT8IfDBPX+xLf/ANAFeX/8FMvFs3jLxj4a1W4naRxZ3KEt7NHXpvwIu/I+D3hkD/oC2/8A6AK8LCw/ftH1+Zf8klg/8Uvzkd1NCPstZfk+TdVc+2fuv9fUcI86aQVvS9tSZ8Ydx8Pbz7HNHBVtvh74x+Mni258M+AtAlvLmGPzLhi6pHGvHLOxAHXAzye2a5TQdS8m6/19e8fsNTef8aPEEv8Ae0I/+jYa+U48zTMcrxmX08JU5Pb11Tk7Jvl9nUlpzJpO8VrZnmYyrOlUjyu13b8GeaT/ALBf7SEr7l8LWf46rB/8VWN4g8DePvhRpU3hP4geFruwmuSPIlkTMUm1lJ2uPlfHH3ScZFbmp/Gb9oGPVbiKD4geJQq3DhFW7lxjccCvXPihqfjnxR+xYNZ+L9k0erx6pCbF7mHy5pF80KrsmBtYo0g6DKgHvX4rmni1mvGvDOZZbhqlWmoUKkpe0p0nCUErSjzQjFxlJP3X3PMq4+riaUoXe3ZHm/wM+GPj7x94P1CXwl4Ya9hS8MbzC8hjCvsU4w7g9MHOMc1meIv2Lf2gdOM2tnwOZo1GWitb2GWTHsisS30GTW/4A8S+LfCv7K+q6n4L1e9srw+NokM1hIyuUNtkjK84yB+VR/CT4u/tO6h4+0200XXdc1Znuo1ns73fLC0ZYbt+4EIuOr8Y65ryOE/EufDGT5dlcXXc504tOEaUkuaUkrRlDmduqvdmWHxcsPCMVf8AA8w09LjwzqUtnrFlPDPBIY5oJIyrxsDgqytggg8YNeu/DPwN8RfiTph1bwv8P7+ez/gvJ3igjk5IOxpGG/BBB25wRzXYftC/DLQPiH+1p4d8MWSZfUbKKXXlh5IjjLkluPlJjQLnJ/h46ZyP2pf2hvFXhrxn/wAKq+FeqPoWl6DGkMg0xRCXl2g7QVAKogIUKMDIJOeMe/X8SOMMir43FZ1jFKhQq+xgqVKmp1Ztc28k4xUY2ct9dFqtXPEVlzOpLRO2i3Oc+ImieNfhW0bePfAuoWsMpAju08uSFmOfl8xGKhuD8pOeM4rkZPiHobvuFhc/kv8AjXpHwk/ah0fXPB+s/Dj9o+/l1TTrizZrG8mtfOm34/1ZwMls4ZHP3WHLAYx4PKIhKwgZmQMdjMuCR2yMnB/Gvk+JfG7iijChispxsZ06qd4Tp0/a05Rdmp8ujTveMkldX7HNPEShZ03o/vR0upeNdJvYfLjs5wf9oL/jXJy27PfLcoRtGcg9elS16f4E+HuiXP7M3jj4lahpaS3tvdWdnp1xKM+QPtEBkKDsxDhS3XGQMAtn53D+LXiNxNg8XlrrU/ZzoVnU/dpfu1Sk5pNK6bV0n3aLhjsVKEoJqzTvp0sQf9fH41J/qf8AUVH5HvRX90fuqtY0JP3tcz8Q45C1rKEO0BgWxwDxXTw/6n8KjuLa3u4jDcwrIh6q65FfH8d8L1+NuGsRlMans5VOW0mrpOMlJX8m1Z22vcipHnhY5rTPiHLpunR6eulK4jjC7jNjOBj0qf8A4WjcfL/xJ0+X/psef0rcj8N6Cke59ItyfeIU+Hw14fmhScaPb89f3Qr83w3BfjXhMPChRz2koQSil7KOiSslrSvou5moVkviMJPircJ/zBU/7/n/AApz/FiR+ugJ/wCBB/8Aia3/APhGPD3/AEBbb/v0KefC/hz5/wDiSW3HT90KcOEPG2r/AMz2n/4Kj/8AKioQxDWkjz6w102PiL+31tA2JnkEO/A+bPGce9dH/wALguP+gCn/AIEH/wCJrG0SytJ/HAsZrZGh+1SL5TL8uBuwMV3f/CK+G/8AoB2v/fkV+Z+F+ReJOOy7GTyXM4YeEa84zUoRlzTSjeSvCVk1bTTbYzoxquL5XbU53/hcFx8v/EiT5f8Ap4PP/jtSxfGmeJNg8PIfk25+0n/4muktPCnhMjzZ9CtcenkiuK8e6j4ftrn+z9L0a2ib+8kIBr9Sjwf44Ymp/wAj2lf/AK9Q/wDlR10MPi6vwyMPxZrN14ruGmuMRA/wDmsbxBtayCFhkuMD86vukc8eY3K/Q0P4ZkujmRySPU5ow3h5x3iOLMvzLiTNYYiOEk5QUaai7u11pCCs2o3bvZLTc9GlgsTHEQqVZpqPkctD/rvxrpNIl+ySIPWo/wDhFfJm/wBRVz7H5Nf0VHHfuJU/J/kew6uhreCpBG2qgnG7RbgfoKZoWjSaxoGsLApMkdsCoA65D1B4fn8iS7y2N+nzL+a11vwPFuZNUFxIq/u4sbjju1f5/eFs1T4qyGSfXE/+kTPjcJP2VenPtc/On9lv4z6H8CPiXJ428QaZd3cD6XLbCKyCl9zMhB+ZgMfKe9fR0f8AwU0+FadfA3iL/viD/wCO16v8T/2Dv2evG/iC88Zz+FsXt/MZbtrfU5Y1eQ9W2K+AT1OAMnnrXB6l+wd8ArCbyv8AhDZz/wBxef8A+Lr+1KE5qPLCpG3mz9lxmf8ABud1liMVSqc9kna1tP8At5X9bHLal/wUi+Gt6m1PBmvg+6Qf/HKyZP2/Phm7+YPCGvZ/3If/AI5XWz/sV/s9D/VeFbgf9xWf/wCLq7o/7B3wH1SfZ/wiU6j/ALC0/wD8XXpQ+u0vfVSH3/8AAMfrnA1L/l3V+9f/ACRxenf8FAPhVbXKTXXg7xAQvUJHB/8AHK9Z8MfHTwp+0Fo8XjXwdo9/Y2lt/oTQ6iqCQunzFhsZhjDjvng1taL/AME2f2U00/7VrHhC5d/7o124H8nqO++D/wAOPgjP/wAId8LtLe001x9paKS7ec+a3ysdzknoq8Zr8I8f8VUr8CNSnF/vYbf9vHyvE+N4VxOXcuAhUVS61la1uv2n+R5Tbf8ABR74V6TpEfh6fwT4hZ7aSRXdEg2k7yeP3lamj/8ABTz4H2X/AB+fD7xQ/wDuR23/AMdrS0r9hz9nDVdOh1K98H3LTTvI0rDVrgZO89g9dPo//BPP9lO5j3XXgS7b/uN3I/k9fqXCVP2nCGCngNMO6VPkUviUeVcqe+trX1Z7FHE+H3so2o1tl1X/AMmcff8A/BUj4D3f3Pht4oH1jtv/AI9XP3f/AAUc+DVxu2eAvEY3dMx2/wD8dr12f/gnD+yeP9X4EvB/3G7r/wCOVn3v/BO79luH/V+Cbsf9xq5/+Lr2orHUvhaOijjOAX8NKr96/wDkjkvgz+074G+PHi4+F/D+g6vaGCNZ7h7ryk3R+YqEKVZsH5u4xX3H8T9B/ZC+BepWfhnxd8PdRmuJ7ITRy2080m5dxXLEzL8xKk8DFfI/hP8AZo+EHwU8UW+sfD3RZbK5u5Ut55Zr6WUeWXVujE45UcgZr7U/aU+BXgb4q+LtP1XxP8W7Pw/PBp4gitLgRbpV8xjvG+RT1JHTtX4HxVVz55/m88BCFSvBYVQVTl5UpKfNbncYq9l11a6nxefVMFLMqjy+LULRspb7a9X+Zx2ieBf2Tf2kDL4a+H8uq6FrFvbvJapNJISw4+bZI7q6gkZVSrEDqBzXM/st/Cu0174va38P/iXHfTf2DaSAWiahLFFvSVY+QpBIw2RggexzXd+Hfhb8FP2OtUHj3xv48ub7U5LaVNLtvsm1mGAG2IpbLH7u5mCjdzjOawP2MPE9z43+Pvi3xjeokcuo6fLO0KDG3fcRnAwMccDPU9fWviKWHiuKMqjmdKlTzCdWSrU6TXK6SheHtYxbipX2XVa+nh2XtYcyXNfW3bzJJfi7+xfZXT2zeCPEKvE5Qlbifgg4/wCfmsD47fAf4b638MF+Onwa1q8vtNSXF5ZXjtN5SFthKlxvQq2Mq2cg5BAHOrd/sh/CC61CWaT9pTS1aSZmaMfZ8gk9P9fXR/tA+G9P+A/7Lw8AeBNPuLyy1O9VL7VZSjgbiHLtju2xVUgYAHUHGarQ4pxWS5hVzyhRp0qVKUoTouKqKovg/hTl7rfxc1lbra4/3vJJzSSS6b/geafAH9mzwR4h8IXHxn+NF6ll4Ystxt4kO1pyjAMWIUnZnKAJ87NkDGBu63w9pX7CnxW1JPAHh3wxfaFfXjBLG8y8ZaTPCqWeRcnsHXnoOSKi/ajuz4c/Zw+HnhDRi8VleWkc8yF8lisCMA3HPzSk+mQOK+doZpraZLi3laOSNgyOjYKkHIII6Gvls24slwPiqGU0qEKyjCnKtKpzSnOU4qUlGTd4JRklG2z1dzOdeVBqC173Nb48/s/WPw98dy+D/HegaXqjQJ5thdz2SSCSFzww3rlTxhh2KkZIAJwbTTdOsLWOxsbCGGGJAsUMUQVUUdAABgCug8cfEPxp8SdUTWvG/iCbULmKFYonlAARB0AVQAPU4HJyTknNYtfl+a5zOeZ1Z5fWqxouTcFKb5lHonaT223fqYTxFWXuqT5eiuy14e8Naj4q1208N6Dp/wBovL64WG2hUAbnY4HJ4A9SeAOa+ita+Gv7I/7PEVp4c+KVpe69rlxaJLdJAzkR5GCwVGQKpYHAYlsfnXnP7HukW+sftA6ItyGIthPcKAuRuSJiufQZxz64rM/ac1K51T49eJ7i6Lbo9SMKhxjCxqEX8MKK+5yPOMVkHB087kvbVqlb2MPatzhGMYc8pcrdnJtpa7Lbz0p1Z06PPe7vbU7X41/AL4et8NYPjh8Ab25n0cyH+0bSSUsbdchdyhgHG1uGDEn5gRwCa8c0fxJ4i8PXL3vh/X72xmkTZJLZ3TxMy5BwSpBIyBx7V75+yzCfEv7OXxE8J3wkNvHDJNHtj3Ydrdj8vPJzEpx9PWvnavP44r1K9HL83w7dNYmm5OEZS5Y1IScJOCb91PRpdLvUnESbUZrr+Z6z8Dvjl4d0PU7yX41a34u1SJ4QLI2muz7I2zzuQSoSSOh3ED+7zkegar8c/wBkHxRCmma54T8VajH5oaO3u7u4lXf0BCtdHnkj8a+Zq9a/Y7+GMXjr4oL4j1iIf2X4dQXl08n3TKM+UpP1Bf6J71twhxTxFja9DI6FKjV9pK16tJTdm7ycm9Woq712SCjVqNqCSfqjuP2pNM8AfBbwjpVh8LV1jw5q2pzee1rp+tTIoiCgMZk8xgWyVAIx0PJAxV3wL4e034Z/C6y+K37RvxJ8UvNqTg2GjQ65cDKMu5AVRwxcqCxywVQwBwa8b+N3xFk+M/xiudcE0hspLpLTTVVclbdW2qQOOWyXx6tXpH7fkjWGveFvC1uGW1stHcwrtwuS4Tj3xGv6V9RPO8vlic3z7B0YujhfZ06FO1qTcpOPtJQjZPSLkltqk+60c43nUS0Wi7epuSeBPhJ8ftM1Xxx+z54i1zTfF2nQBljuNSmWWXjADNI7HDKpQMrgAkbuOK+Z9Tn1K51GefWZp5LtpWNy9yxaQvn5txbknPXPNet/sNanc2Px3gs4N2y80y4imCjI2hQ4z6coKpnwh8Iov2i/FHhr4q65c6bosN5dmC4hBVhL5oKrwr8YLduQAeK+czrD0+K8iwOZ0oU8PUq1p0qln7Oi5pKUajT0i3FtSl1sjOaVWEZLRt2fY4PwT8O/G3xGvbjT/BHh2fUZrW2a4nSDHyxjvyRknoFHJPABrHlikhkaGaNkdGKujDBUjqCO1fQ/iD47fBT4G+BLzwP+zhFLe6jqa/6XrdyjkKCGG4s20s6g/KoUICc8nIPzv8zEnk+pr5fPciy7LHh8Jg6/1nEtSdX2fv00/sxg0ryaV3N6rt1M504xtGLu+thK908FavbXf7CnjHSEZvNs9atzIGbPD3FqQQOw4P4g14S0sSHDyKD7tWzoXxI1rRPCes+AtP1CF9P15IReWzncQ8Uqyo6YPDfLg9QVJyMhSNuHZZhkVXE1a+HqKFShXpt8j056ckm7pWSla76K7HTU6d209mj0n4efDn4jfFTR5Na8FeC7m4s45PL+0zzwwqzAchd7jdjuRkCt67/Z2+OVpbPcn4eySBFyUi1K2Zj9B5nNafwa1jXdB/Yl8Tav4av7i1voNXc289o5WRCWtgdpHPQn86808N/Gb9pqXXLaPQvF/iS9ujKPJtW8ycSH0KMCGH1Ff0TU8X8flmBwLx0q06uIpRqP2UKNlzSlGyjKF3bl2vr3Ol1IQjHmvdq+lirqniG+0TWm8Oax4W1K11BXVGsp7YpKGbG0bDzzkY9cjFejWn7O/wAbLq2S5Pw7kQSIGCS6lbKwz2I8zg+1af7b9rZyXXgfWdXghg8QTRFL+GF8gIDGxHTlVkZwDnuevaz+2v4/+J3hLx/pVl4H8UatY28ujh5o9PndVZ/NkGSF74A/Ku6r4i8SZHWzN5liZVYYWVFR9nTpxk1WTkuZSjKzjomtOpXwOXM72tt5nHeM/hf8WvAeltq3iH4cagbWNC8txZSRXCxKBks/lsSoAGSTx71w4+JWlMwVdPuSSeAAvP617N+xz8Qvj34p8cTaf4pvNS1LQDayNdXOpozCGQY2bJGGSxPGzOMEnHFVPgD8LvBN7+0F4x8Ymzim0DwteTvY7498Syl2KkZHOxVcjAODtIPAJ5J+IHG2crAYjJsS4QxNSVNxrUqfNHkjzSmnFJSgo31stVa93pHK58rg9+5n+Hfgt8Z9e0uPVrb4aXsMcoJRL25ggkx7pI4ZfxArjfFeu6n8P9Vfw74y8I6lp92gz5VxEo3rkjcpzh1yDhlJBx1pPiJ+1b8XvF3i+51rQvGV/pVh5pFhYWU3lrHED8u7b99j1JOeTgYGAOi+I3x+8C/GT4Axaf8AECM/8Jtp1yq2dxBYD96uRuk3DCojLwyg/eAIXAGPKxPjNWxWGxFPLMe4VqMXKMq1OkoVuXdRsk4ylvBO99nqJ1abT5Xqu9tTyTS9ctrHxUNelicxCd5Ni43YbOP5106/FLQ/4tPuvwC/41wlFfjPDfijxdwph6tDL6kVGrN1JXgn70kk99lotDmhWnBWR6p4Z1DxZ8TXn0X4ceDdSv7jK+c6IoSIHOC7k7Uzg4yRnBrnvH/7M3x98GwS+I/E/g+X7IkZeaezlSdYVAyWfyydoAHJOB717JeeJLj9nL9krQ7rwVELPXPFMiSz3pAaRd6ly4yMcIEQDGBuz15OJ+yx+0T8QdU+J9r4F8e+JZ9X0zW1eBo9RfzDHJsJUgtzg42lc4O7OM1/QGF8VM5wNfCZTmGMksXiIwfNGlS9lTdXWEZKS5m7NczTSV9D1KeMqUmoOWr8lZXPBICIn8wrk1t6LdXutala6PpWlz3V1cSrFb28C7mkcnAAHc1pfHfwZY/D/wCLuu+FNLtTDaW16TaRFy2yJwHUZPJADAc88dT1rk4pZYJVngkZHRgyOpwVI6EHtX5fmPjd4kYPMamExdWm3Tm4ytTitYuzs2vLRtfIzebY2MrNrTyPd1/ZZ+M00YFz8O1BI6DU7bj/AMiVi61+yH8dwj3sHgbcI0LFE1K3Zmx2AEnJ9q49fj/8blUKPitr3A76nIf617tH8QfHXwo/ZUfxj408XaheeIfFDbdJF7du728br8rLk/LhAZM+rKDX6XkXjBTzn6xKEq8IUacqk5SVCyS0S/h6uTaUV1ZvDMZ1L6vReR83aR4M8T69JqEel6LPIdJtJbnUty7fs0cf3y+7GCOmOpPAFanwz+Dnj/4vT3lv4D0mO7exRGuRJdRxbQ5IX75GfunpXc/s36W8vwv+KOuupPl+FmgDn1ZZGP8A6AKxf2ffBfxo8WrrcvwZ8VPp1zZwwtdwR37W7XIJfaAQNpIIP3iBz1r+e8Hw/hcTiMvqzo1KixSqzdOlZStCU0lC6a05bu97rRanlKmm4tre+iOK8XeEPEfgTxBceFvFmlSWd9atiaCTB6jIIIyGBHIIJBrdT4KeLZMbbvT/AJgCM3Df/E1i+N7Dxdpni2/sPHi3Q1iO4I1D7bJvkMnXJbJ3ZyCDkggggkV7Xpxzaxn/AKZj+Qr7/wAJfDzh3jbMMypZhCpGNBw5I83LJczqJqfu6yXKk9FrfQqjShUk0+h5fF8E/GEqb1uLDHvcH/4mpf8AhQ3jX/n50/8A8CG/+Jr1eH91RNN5tftf/EvXAnar/wCDP/tTonh6MdjyOT4JeMIztaex/Cdv/ia57xH4c1DwvqA03UmjMhjDjymyMEkeg9K91mH+rnxXlHxnXb4vQf8ATmn/AKE1fmvir4T8K8HcJvMcvU/ac8Y+9K6s730suxjWowhC6Nm58Px+H9NsbKKVn2JuZm7s3J/DJrW0G8/5YCrHivTf+JXFP/0zX+VYej3nky5r+t8jwmGwmW0cDh48sKcIxiuySSS+49miko2R3n7qs+CzgvZf9IqSz1iD7Liesu81j7HFWzpWIpUzkPHSRp4htVSTJ+2px+Nekf8ABQf/AJKbov8A2AR/6OkrxrxZqVxJrQlimZDHhkKnBVvUH1qTxl458cfEjUYdT8a+IJ9RuILdYYZJyPkRRwAAAPcnqTySSc1/IfHcs14tz7PcryfBVa01LDRbik1H2Sndy1uuZ35d72bdtjkxCqV6tSMIt7fge7/Dy9tP2rvgJcfCzW7lD4s8MxCXSbmXG6aNRtQluuCP3b/8AY5NZv7A9jeaX8Xdf03UbV4Li30aSKeGVcNG63EYZSOxBBFeOeG/EHjP4Wa1aeLvC+rtY3oVxBNEA3GMMGVgVYc9CCPyrr/h7ffHPw7rcnxH8K+LFjvNVj33VxdS+Z9oDfN+8V1IY579R2r5zJ55zX4owDxWX1pY/A6V1GKcpUuVeyk05J86UrNveNne+i51KSqx5ovmjv6dDI1T4CfGqbVbmSL4V66yvcOVYabJggseele06z4e174U/sRX/hj4nyiK9vLoLp1lIVlaDfKjrH1wD8jvwflye4xWGfjZ+1iOD420gf8AblD/APGq4fxz4f8AjP8AEi+XUfG3jWHUnjJMSS3jeXFnGdiBQqZwM4AzivRocHYzh7DYurlWW42pWr050v3kIQhFT0bfLKTk10W19+jTjBQT5Ittqx6jZ6UP2p/2W9P0PQ9Qjl8U+Fiqi0luFDybAUAOSMB48YY8b0xngmvL/h7+yl8X/GHi230TWvB2oaTY+aDfaheweWsUQPzFd3327ADPJGcDJFbwj4L+Lfw/1lNf8H+JYtOu1GPNt7phvXIO1htw65AypBBx0rsfEvxW/at1vSZNKuvHcEcUuA8mnRpBLj0DogZfwIqKnC+JzxYfE57lOL+s0oRhJU4x5aygrRcnJqUW1pJq91qrMapOtZyg7rt1OM/aX8NfC7wd8S5PDXwrLG1tLZEvv9M89BcjIZVY5ORxuGThiwwMYrz6ta58G+IoJik1oSxOSQ2ag1Tw3q2j263WoW+xHfapz3xn+lfmnEfCXFftsRmlbLJYejdyaUbQhFvRei0W3yOerQrJubhZG/8AAfxnY/D/AOLuheK9UujBaW16BdyhC2yJwUYkDkgBieOeOh6V6b+1R+zx8QdT+J91478B+GrjWNM1tY51k05PNMchUBgQvODjcGxj5uuRXmPgv4bR+JtOTU7q8kjjdmAEYGeDjvXrPg7xd8SPh5psWi+H/iZqjWqQBYbe7jhnWFQAAqeYhKqAOADiv07g7w5zzNuFFgcwoN4as4V6U6c4c8W4W1jNpNSi1daNPv01p070uWez10NGy8N3P7OX7JWuW3jWVbLXPFMjxQWQIaRd6hAhwccIHcnOBux14PlHwv8A2aPif8XPDF54t8KWtotrasyRC7uDG11IoyUj4IyOBliq5PXg42vH9hrfxDvP7V8beONV1GWIMYFnkXZFnGQiBQqA4GcAZxWD8GfiF8RdCF74O8K+Nb3TbG+hZ7iK22H5uF3KWUmNiD95cHgc8Cs+I+EZ0OKcsynM8JOOFlTlRoRhUh7SUlq5Tfwpuc7u1ltvZpqooe0jGS91KyOGnt57W4e1uIWSWNykkbDBVgcEEeua+ivFpP7OH7Ktr4NjHkeIvGJL33BDxxso8wHI42ptjx6uSK8r8SeAvC/hSAahN4huhOrBlIkUENnOc461zvjv4oeLfiRq9pdeLfENzqMlvaiC2kuSuVjXt8oAJPdjyTySaeW+FvG3CPD+aZpPDrnVGSjNVINQp6urLe/PyK0eVdWa08LXp0pzt0/DqZKsyMHU4IOQRX058fvBGrftGfCnwr8VfhnA2q3NpZmDUbWEATchd/yk8lJFYFRkneCMjmvly6muYiPIh3cc8GtrwH8c/jH8K5mHgbW7i0hkcvJbBfMhdsAbjG2VJwAM4zx1rzeAODcfismrQxkqLweNhG9sRRhVg4SvCSjOS1TveMrXT37mFw0503drll5pM9+/ZL+D/iL4V6pqvxk+K+mSaJYabpkiQi/TbIc4Lvt+8AFXABGWLjGa8F13U38X+MdT198sb69muTvGD87luRzjrWh4s/aL+MHxVhOmfELxJePZHG+ztYxDC+CCCyIAGwQCM5wRVvwlpHgcbrqXxJHFI0ZXZdSqAORz0HpX22H4OWWZrlWGpSo/UMLUdSbqV6Ep1JStzNwjJxskkorXTc3+rOlOC05U77rU5a9s5ImJ8jaAO1U5H2Y4rrfFFnosVrIdP121mwh+WOdST+VcnJardIVaTbgcfNjNfQZvj+GsJ4z5HiMFKjClGFXmcHBRTcKiXM42V9Ulc2qVcOsfTlGySTv+JkXlQ6VFt1iI+m7/ANBNbB0vzD80uPq4qaHw3b2cJvjewM8Y+VFlBJycdPxr9Y414p4eq8CZpRp4qnKUsPXSSnFtt05JJK+rO/EYumsNOKa1T/I+of2dPHupfDb9kLXPG+lWdvPcabrEjRRXCnY2426ndtIJ+8e/pXUfAT9prWvjppes+GDFp2k+J4LZpdLOx2glXGAxUkk7WxuGejAgcGvE/B/xh8D6N+yp4g+FN9dXI1m/1HzLaFbYlGUmI7t2cADyiDnB+YYB5x5v4J8Y658P/Fdj4x8OXJivLCcSRnPDDoyN6qykqR3BNfyfQ8R8Rw88opUK/Phlh4xrQi1dNymparWM4xs1qtl0Z4CxLp8iT0tqa/jzxX8RPE3xNN38Tr+afV7O9W3mjnjUCHY+PLVAAoUHPAGDknnJNfTf7Tv7Tvi74H+LrDw94e0DTbuK700XDveiTcG8x1wNrAYworxP9pL4i/CH4k+LdD+IHgs3cV/cQRt4hh+y4EZUjaMsRvkUAgkfKQF5BBr1L4peJf2Ovjlqdn4n8X/E29t54LIQxxW6SR7V3FsMDC3zZY9Dit8hxGKy+Gc4bLs1p+3nUoyhWnVivaR99yfNK95WklJdJaDptxU1Gavprcu/AH9rS9+NXil/hv4w8MRWU19aSm2u9LuZE+6pLKedyHbuIdWyCB9ayP2bPClvo1z8WPg9YaiZ7weZb2zMv30CzxhiTjnLDPQZ7mqfh34ifshfs8PP4j+G8+o+IdZlt3jgZgxMYP8ACWdUVFJAywVmx6jivH/Avx48X+Cfi1N8Wk2XN1ezyNqVvKx2TxyNlkyDkYwNvoVXggYPbieLqOV1ssed4uGKxFOdVTlSalyUasOSzlFJSkm+bRN2Vt96dZRced3eu3ZnF3FvPazva3MLRyRuUkjdcFWBwQR2Oa2bT4beOr/wVP8AEWz8M3Mmi2tx5M9+oG1G+md20ZALY2gkAnJr3fXrn9h34t6o3j3XfEOo6HfXjl76xVXjLyZ5ZgqSLk9yjc9TyTXJ/tAftDeEtf8AB9t8GPgzo5svDFmV82WSMq1wUYlQoLE7M/OWf52bk4wd357i+D8kynDYjFYvMaVSCi/YxozUpzk/g5o2fJFbzvqtkczowgm3JPtY8Yop0MM1xIIYImdz0VFyT+AqG8vbPT5zbX93FBIOsc0gVvyNfC0MDjsVHmo0pSXdRb/JGCjKWyPo39qWb/hJP2cPh34qsWkNvHDHDJukzhzbqPm45OYmGfrXmP7Mum3Oq/Hnwxb2u7dHqSzMUOPljUu34YU12fwS/aC+G8vwym+Cfx7gmuNFdwdMvYkLeSmS2CVO8bWwVZQx+Yg/KAK6jQPiH+yZ+z8l34i+FFzf+IdduLR47VpFdhFkZClmVAilgMkAtiv3WrkEeIs9wXEc68adOMaLrQnzRqxlSSUlGFm5c3KuVrv9/e6TqTVV6LS/yPN/2w9YttZ/aA1prUsRbCG3Yl8jckShsegznj1zXmNd98Ntb0rWfjFB44+NGhXurWN1ePPqJS1Z1MjZKsyKPmQNglB2GMEfKbX7Td38MdV8eDU/hN4Wl0/ThaqtzKtg1tBNLz80cTKuwYwDwMkE47n8/wA7yTHZ1HGZ/fllOvK1FxkqrUm5KSVrWV7N3to9b2T55wlU5qnnt1Mv9n/4Yy/Fr4o6d4WeJjZq/wBo1Nh/DboQWHtuOFHuwrpv2xPidF46+KDeHNHlH9l+HUNnapH90yjHmsB9QE+ie9S/AX4z/Dv4PfC7xPfwXk3/AAmF+oh05GtsoE24VlfkDaxZmDYz8oAOK8jK3F0zTlXkLMSz4JyT3zXZi8Nisq4Ko5fhacpVcVL2lZxi3yxg2qdN2W97zaeqbXQpwnCgopavV/ojoPC3ij4l+HfCWtQeFrm/j0S+iFtrZjtt9vh8hVclSqMeQDwxGQD1rP8ACfjLxR4G1iLXvCeuXNjdRMCJLeUruAOdrAcMp7qcg13Xwu+N8XhT4R+KvhJ4h0e4urTVrOV9OliUMLa4KY+ZT/CSFbI5UrnBzkM/Zwh+Dtvqmo+Ifi1pd7fjTkhk0ywtLeSUTSbmJ3KgwcbV4chTk5zXn0skxdbGZbhqGLlCpKMn+85oKg4ylJqO7s0uZOPxN9G7KOR80Unb16Hf/t1Wdvqmj+C/HlzEsGoX+nslzb4XIXakmOuflZ2Hcc9R3itJ/wDRIuP+Wa/yrhv2hviZ4u+OXjRdXTwjeWunWSNBpdubN/MEZOS0hGRvJ7DgAAc4JPdWysltGrDBCAEfhX9T+E+JhmHGWe4yjCSpz+rpSlFx53GM4ykk0viav8zrhJSrSkttCeo6sQ/678aj/dV+6+1NiOH/AFSfSvJ/jZ/yOCf9eKf+hNXrn/LWvJPjh/yOUf8A14p/6E9fif0hP+Tev/r7T/8AbjnxP8I9TvbP7ZosUH/TqP5VwepQ/wBm6h5Feiafxa2w/wCmY/lXL+PNH8mX7dDX7PhP3XJUh2X5HoYaoY9nrHkxcVl6zrBm8yq/2z3/AErP1Kb91JXr1KftT0qdMydYn+0XzSe2Km8OWc2o3Uf7j95VW+3efl+uK9F+Enhbz76Kef8A1dfgXhhivqniPxS+9Sl+dU8/DTtiK781+plfF7RH0Sz0eN+rxzH8iladv49j0bwpp1lH1WzjB/75pP2jtRtb3W7GCz/1cMcmPxK/4V57ql7JLbQwueEjAH5UcDqlW8dc9lU/59Uv/SaRGFoqtj6in2X6HXTfEiebnz6saR8SJ/tX+vrzOaaiG88mXz6/o72WEdH92fQ/VqJ9AaD4wsdTzBP/AKyrg8//AJd/3leL+G/FXky/6+vTPB/jCC8/cefXiYnLf+Xh5GIw1akbHnWPmyT+RXIfGgwDw/aLB0+2f+yNXX6lD+98+D/V1xnxj/5ANp/19f8AsrV+T+K2Fpw8PMxkv5P/AG6J5mIqXotGj8K7l4/B9skfXfJn/vs1tTzTzf66sD4Y/wDIpW3+/J/6Ga25+1e34dQpQ4Ey1vd0KX/pERU/4a9CGf8A1D/7h/lXCfB0ovi1mfoLR/5rXfXEOIHOf4D/ACry/wAF6gml3d5eP0Wwf/0Ja/PPEpX8RuGYf9PKn50jGX8WBS+KniSfU9e+wwT/ALuKsTT0ZmDIeRWVPefbNUknnrpNBs/tgr+hcfQp1cqngsRBTpzTjKL1TjJWafk1ofTwjGGHalqmSJbSv0AqveSz2kPnNb5H+9XaaZoH+r/cVJrHgOCaw8/NfidXwU8MKb/3F/8Ag2t/8sPL+p4H+X8X/meczeIVhba1of8Avv8A+tU+kazZalcLbzv5BZ9uT83+FVte0f8As268gwVlxfuZfPr6HLfAjwgxcbVMA7/9fq3/AMsO+OT4KdLmUfxf+Z6h/wAK5ifQJ9cg8QK/kW5lMP2cgnAzjO6s7wl4UbxTLPGt+IPJVTkx7s5z7j0q34Q1w3PhnUbWXqbOQD/vk1Z+Fz7Jr0/7Mf8ANq/HONPCvgfKPFnKcjweHaw1eFRzjz1HdxjNr3nJyXwrZo+fxWGp0MSoJaEv/CpZf+g/H/34/wDsqQ/CiQNg66pHqLf/AOyrsZpqrwzef5dfo3/ECvDam7vBt/8AcWr/APJk+wp9jj/AekWGpWcr3dnHIyzYBdQcDArpG8JaHHw2k25/7ZCuV8MeJLXQtBnDbBN9pDIW9MD/AAqHUviRfTeZBXT4TcM5Rj/D7L61XC05ScNW4RbfvS3bV2aYbCzrQTR1c2heE4j5R0+3z6+UKX/hHvCss3kwWFvn18oV5v8A29fTS+f58tSQa9fQy/6+X91X6d/qTw5/0B0v/BcP8jsWXrselx+ENBT72kW5+sQqI+GvD8TeU2j25Pr5QrndI8eXEPlwTz12Gm6lY6xax/v464a3CORYbfB0v/BcP8jKpQiuhWh8K+H5ZvJ/se2/79CsnxbqHgSxN/4dsPDkf2qBXT7QIgNrYODXT3kPk2sk/wBo/wBVD5lcLqug/wBq3mq65Y3kZjcNdTAd+K+fz3hrIKeQYuccJSTVKo01ThdPkfkcsqKUWzI8MTfZ9aim/upJ/wCi2rzz4haDqviTxRcX1h/q7qHy/wDrlXeaU+y9V/RH/wDQTXF+dPDfyfv/APltX5z9GL/kj8V/2ES/9N0z0sl+B+v+RqTQfY4o7H/WeVDFHW54c71zcP8ArvxrU0ebya/oWp+9rHvVKZ7B8Ppv+JZHYz1c+LVnbzeHI5/+mNcPoPiqfTYv9HqTxV4wn1KL7P59ZYjDe1rHnfVn7Y4eGHyoozW5oN55Nr5FY8372tDR/f8A5a1qqXsj0f8AlydHotj/AMSrUZf7thKf/HTWn8Ct/wBo1Py+vlxfzapvD2j+T4N1a+/6hUv/AKCai+BBk+1akI+8cWfzavwbjSd/HPIX/wBO6v8A6TVPmsb/AL9E9JqT/VUed/y3/Wiv3Egkooo8j3rMCOvJPjh/yOUf/Xin/oT163XknxxbPjKMelig/wDHnr8S+kJ/yb1/9faf/txz4n+Eet2fEEU//TNf5VHqVnBqVr5E9ZmnfEHwhNZiOXX7KEx24AzcLycfWnf8Jz4N/wChnsf/AAJX/Gv02jxBw6qMf9spbL/l5D/M1Uo01oziPFXhW/026k+w/vK5uazn82SCeCvV5vFvga8i2z+J7H/wJX/GsuW5+HE91583iCx/C5X/ABrqo8YZHh/cnjKT/wC4kP8AM7qeMgup5Tqtu9vchHXBKA4/OvZF0/8A4RLRI7rH7yZAf0rzb4oy6PN4jQ6HdwzQi0UF4HDLu3NkZHfpXTeNfHGk6ittFa6lC4hRQSkgPavwvw/zjLF4jcR1quIpxjUqU3FucUpa1Nm3Z79DnwlWDxlSTe7OQ8c3z32pKzybtoOP0rnJxNJLhZsY7Vdvbl7q5Z2PGeKjsdP+0vKfU16nA2Iw+L8a89q0JqcHSpWcWmn7tJaNabnZg2pZlVa7L9ClPZz+VUc0NdJ/Y/nRSVT1jRxCf+Pev3n6z7L+Ge77Qw7ObyZcCuo8H6xPDdR/v65ebMN1+/rQ0ebyZa9qnjfbUfZhV/e0T3zTpv7S0bz/APnlXF/F/wD5ANt/1+D/ANAaug+GN4NS0aSCsb42w+Todr/1+f8AsrV+MeLydLgDMaf9z/26J8ni6Xs6bJfht/yJtt/vyf8AoZrYrH+G3lf8Ibbbuu+T/wBDNbE0Pm16vh9TpPgbLL/8+KX/AKREzX8KPoLP/qH/ANw/yrxaa6Npp90w/jtyv6ivaW+6/wDumvDNZLjTZNnUgfzr898SYTXiVwzf/n7U/OkKm/aYil6nO2cJ82vQPBMI83iuE07/AFv413fgmYebxX9B4nofR4n+EekWdnb+VViH/nhPUejw+dYefiib9zf1w1PZHi/8vjzv4p6P9iuv9RXBzQ16Z8ZvIMUYMFeX/bIIYfPnr0slPpMF/BNzQL6aGWSzPRoWB/Kuz+F/3r7/AHY/5tXCeGWW6kNzD08hs/ka774VoHe+z/dj/m1fifiTb/iO/D/J/wA+qn/pNU+czT/fo+h1VV6uTf62Oq80Nfr/ALU5jx3VJzBKSTkNFjb+Jp0MPnRYovF8y9Efmbcxf1NaGm6bPNXx/hHiIUfCnLeXfkf/AKXI9TBS9nhYPyKf2P8A5eP6VJ9juIfMrqIfDf7qpP7Cr7H60yqdU4//AFVbGj+JJ9Nm5o1jTfJlxmsOabyZc12UsTRrVbVDp9lSqo9o0G8g8YaDeWHnx/aJbOuYHh650mx1W7u4PLL6aUH4Vz3g/wAYT6PL/r67vXr631zwZcahB2tnP6V43GOCq4Xh3GOG3sqn/pDPLr0vZRZ51osDXOpJAvVlcD/vk1xOpHydUkgr0HwRCtx4ptIW6MzA/wDfBrjviRps+m+KJIP+m1fhX0Ylz8L4mH/T+X/puma5F8L9f8inDN+9rQs5u9Y8M2JY60PP9q/o+pSs/aH0hqWWpTw0fbPO5rPhm8qrEP8Ayz/GtKn73+GBcg71ueD7LzpfIrn4Yf3vkfaK9E+Ffhv7ZdRzivNq+2pPU4sbU9kjsr3S/wCyvhjqK+thL/6Ca5f4Cf8AHzqn/XKL+bV3PxFk2eDtQtf7ljKP/HTXCfAf/j41T/rnF/N6/B+LP+T35D/17q/+kVT5epriYnph/jo4mmoP8dEP7mXFfup0kn/LPz6KPI96P+WtKkBH5HvXN+P/AIXWvjW4ivLe8+zXaDY0hQsHTkgYyMEEnn3rqJ+1R15efcP5RxPlksvzOkqlKVm1drVappppprumuq2bMZRjNWZ5t/woC9CeY3iWMA9P9FPX/vqmf8KGu/m/4qWP5f8Ap1P/AMVXpnke9H+uikNfm/8AxBDwx/6An/4Nrf8AyZn9XpdjzOX4DXUXXxLGfpan/wCKpg+Bly33PEkZ/wC3U/8AxVenz9qr+T5VV/xA3wy/6An/AODav/yYfV6XY8Q8YeF38JaqulyXonLQiTeE29SRjGT6UureFm0ubyjeh/lByI8f1rX+M3/I2p/15J/6E1Hiib/Tf+AD+VflHA3hrwZnPGmeZfjMM5UsNOCprnqLlTc76qSb2W7ZeCwtGtiZQmrpHKvCyS+UTzW7oOm/uqz/APlrXSeGv+eAr+hOE+AuGuDZ1J5Rh1TlUspPmlJtLZXk5NLyVk+uyPfoYXD4a7pq1zQ0HR/tkvkeRXQXngOym0//AFH7yjw3Z/8ALetzTfPml8ivpMTTOWrV/fHi/jzwf9jl/cQVydnN5I8ievUPjZMdNikxXjdnN50vSunLfbe29pUPbw372ieufCvxgNH5rT+MfifTfEHhyzS1jRZUuwWC+mxq800G8ns4uKtXGsSX4+zPJnad1fG+M+H5/DvMqnamv/SonmZrhOTCyl2PU/hdpjT+CLW6jTefMkyPT5zWvNDXC/Dfxu+k20WitLhS7YH1Oa9GmhhvLCO+grXgDC1aXAeVzXXD0X/5JE8iEOShF90jMuPuv/uGvFJ7B9Qs54o4fMKxbtv0I/xr2u4+5J/uGvNvhxpn9r63PY/3rJ//AEJa/NvE2fs/Ebhmf/Typ+dI5oy5MVB9meZwzeRLXUeFdY8m6j5rL8eeG59B1nyDVPTbyeGWOv6Mwy+t0faH12lWke2eG/EubXyK0NS1KCby5/PryvR/FM9nVzWPGH7r/X1lUw16x5v1MsfEjWILz9xXmesQzz/ZzB/yymlrY1jWPtktZ/7+aurDUvqtU9an+5om58Oba4j0eSOcfdRz/wCOmu/+E7Ymv19Y0/m1YPw70O4k0HUtQlPyRWUmP++TW/8ACVEeW/D/ANyPH5tX4Dxzzvx6yG//AD7q/wDpFU+XzCp7XHRZ1lH/ACyom/1sdEHev2fE0zM8ltoHlusx9dtdVo+m4i61zemyW8VxvuH2jHXBNdRp/iHw1a26I+p8jr+5f/Cvxbwx4y4Sy7w/y/C4rMKFOpGHvRlVpxknzS0ack0/UqNWksLBcyvbuakP7qib/XfjVCPxX4cWTcdR4/64v/hSyeLvDzb8ah16fun/AMK/Q/8AXvgG3/I0w3/g+l/8kZqvC+6KOvWc/wBmknFcPqUM8Msn+kV3OpeIdEuLd44r7JPQeUw/pXG6tBLdSboE3D64rnpcd8B0n/yNMP8A+D6X/wAketh8Th47zX3oyBeeTLXp3g/WRd+B9Usx2s3/AJV5p/ZOqf8APp/4+v8AjXW+EdUi0/Sb211HETzWrpGME5JUgDjNdnFfiJwPjeE8VRpZphpTlSmlFV6Tbbi0kkpXbfYWY1sNOj7s035NE/gN/L8W2T+kjf8AoJq78bPBP2z/AImtjB+8rL8K31rpuv299eybIo2Yu20nHykdua7698feBtQh8m41Hj/r3k/+Jr+efAPiXIMi4UxEMbjKVGo67ajOpCDa9nTV0pNO101fa6fY8bA140Yu76nzzDDPaS/voK0LObzq67xr4d8K3cj3Hh6/V2PQGJ1/mK5y30C7tmeRLcFz0O4V/Q9DxG4Dn8WZ4df9xqf/AMkfSU8wwc95JfNC+R71Yh+0eb/0zqa30uQf61sVpaRpOjm5/wCJnfKkf+4x/kK3XiFwBTp86zXDX/6/0v8A5I0nmWGhtNfejQ8E+D59ev4z5Fe4eG9AsfDdh/00rkPCnjD4YeHIEQeIMkdQLSX/AOIrQk+LngVpsDXP3fp9ml/+Jry8T4hcE4mtzvM8P/4Pp/8AyR42Jx3tvtL7y945n87wlqn/AF4yf+gmuO+AX/H3qf8A1zi/m1avij4leCdS8MX2nWet75prV0jT7NKMsVIAyVxWT8BUkM+qSJ0CQg/iX/wr8mznOcozvxryOpl2Ip14xp1U3TnGaT5Krs3FuztrqefKUZYiNnc9P8j3oh/1340Qd6IO9f0QdZJ/y1qv53/TepPO/e1H5/tQAT9qPO6eRQJ/J8uigAqvNeTwxVYH+ukqOaHzaLGYUTfuqPP9qjn7Uv7gHlHxmK/8JagToLJB/wCPNUfjmHybzJ/uD+VSfGZCviyMn+KyQj/vpx/SrfjfxF4R1eGN9M1gPJGgAHkSDPHutfzjwTneS5J4k8RvMcTToc1SHL7ScYXs6l7czV7XV7bXXceCrQpYubk7epzdamm3nk9KwzdQfP8AvOvTg1YXV4I/uyZ/4Ca/aqXHXAlOr/yNcN/4Ppf/ACR7Tr4WpvUj96PTPBOsQTS+R59dJeXljo8Ul959eN6T4uFhN5zP+hq74q+Jd1f6f9i02QsPpj+dTU404CdW/wDa2G/8H0v/AJM5rYT2t/aR+9f5nNfGbxh/b+syQQVxdnD5NXb3R9Xu72W5NuMSf7a/41Kmh3Zmw8WF9dwr0Fx94dUo8izXDf8Ag+l/8ke3SxmXUqVlUj96/wAzW02H/iV81HB/x+v/ALv+FbFp/ZNvpn2c3fz+mxv8KyjCw1BpwPlKYz+Nfl3ihx1wrmfAeYYXDY+jUnOFlGNWEpP3o7JSbfyPOzHG4apgpxjNNtd0VNa16XRWgW2+/I7/APoIr2T4G+K/7e8O+RfT/vPO8uvFNWhgmvWE/USL5X1wK7f4S69Bo8tvYwf6uKbzK/UPD+UpeGuVKO/1ej/6biUsPfLKb/ur8j02+h8lJP8AfP8AKvPfg4xXxcT/ANOj/wA1r0/XVNyWlHUqcV434d1q78Gay91caaxlERRoZcoRnBzyP85r8Q8Ycxw2VcYcPZljG40KVSo5ys2l/DfRN3snZLV2fY+axK9lVi+xtfGzwSNSi/tWxgl8yvH/AN/Z/uP+WleyXfxge9t/s8/h1CPX7Sf/AImuG1zTtK1afz7eyNu3s+7+gr6nAePnh5hnyTxj5f8Ar1V/+QPXwua4Wn8T/BnOQ3n/AE3qSaaebqauL4T2tn+0SR6GP/69SJ4ZUffvC3/bP/69e1Dx78JFvjX/AOCq3/ys6/7Xy7+b8GYc0M/m1qaDptxqV/HBBVpvDsbf8vJ/74/+vW34TurPwxfrfvYfaWXs0m3+hpVvpBeFs6do4x3/AOvVb/5A562b4We0vwZ6Nb+HoPDHw0v0P+smtH/ka574UPsuL3/dj/m1Gu/Fe51vTJtNfRkjEsZQsJ84yOuMVL8KbC6Au7uSB1ikVBHIykB8Fs4PfFfk8+Lsm418ZcnxeT1HVjShVUnyTjy+5U35orTVa7XaW54VSccRXXKdT5Pm1J5M/wC7qxDpk80vNU9Ynn02X/Uf6qv6gw9T2tI19mf/2Q==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAGgAaADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7gH+pkrH8SQ6rDdW/2HzPLlr1/wDZr+Dng34qWPiTxF498R6ha2mg7S0dkEQBCHYuWKsTgIeAPxPSukHgr9iO8dYIvjRqqux2xu8u0KTxklrfA/HivyrD+JGSxoxqzi6cZOaj7SpRg5cknBtJ1duZP9bEKpFpP9UfMnxa+Hs97Yf8JHBB+88n99Xjc3nwy+RBB/qq+yv2ifgbrfwi0+y1zSvGC634e1g4t7oRKGViNyqSuVYMvIZSM4PAwM9O37In7IXhHwVoXiv4qeKNTtbnXLFJ0nD7FkYorkBEjfbgOOpP1rzcB4lYCOZ4jDVMLUpOgoym6kqMYpTa5Wpe1aalfRp26b6Hr4bOFSk4yi9PT/M+CvJvpov9RSfY73/nhX3lp/7JX7HfxPY+HfhT8UbhdV2loorpvMDgDJxGyRs2ACflbjqa8U1f4BalovxLk+FKeGo7jWY74WsMMDnbKxwVZSxGFIIbJxgHJxzV5x40YDJqVKtLC1atOpLkjOk6NSLn/J7tVvm7K2vS5vPiCnBJ8rafaz/U8Js4Z4f9fVyb97X2rP8AshfsufDHT7Sx+PHxHePWbmIS/ZrGTYsQxyNoR2IzkB22hscAYNcv8aP2NfBfhzwcvxW+DurLr3hthun/AHoaS2Tgb9ykbxuyGG0MncHBI9LHeK1DAYOpWeEqSlTXNUpxlRlVhHq5QVVtJaXte270vYeeRir8r09L/meJ+FwbDwhC0YBMcLsAemcsawLj4o6jFN5KWFuT77v8a7JLS3jtvsaRARbSuzPY1mP4C8JSHL6Mh/7aP/jX8o5Dxd4c/wBs5jjeIMBPEe3rSqU7KN4xlKUmpfvI66ra68zw8NjctVarPE03Lmk2vK/zRhWvxL1a4/5cLf8AAN/jU/8Awn2r79n2K3/Jv8a9m/Z2/ZK0b4vyX+t6pONG0HSkzeakwJDN94opZgowmWZjnaNuRzXo2n/sifsg/EW4bwz8LfitcHWUUlVnlEol29SEKx7+hPyscDnpX6vluF8Lc6wNPFYfJHFVL+zU504SqNOz5IyrpvXTojtVXJqkbxoNX221/wDJj5S/4WDqu91+xW/y9OG/xqB/iXq6TeW1hbY+jf413HjD4WjwP4nvfCfiXQxBfWM5inTc2D6MD3Uggg9wQay/+EQ8MzSg3OnAKWG9lLEgeuMjNfKS4x8DcNVlRrZFVUotppqKaadmn++0aZisZkcXaVB/1/28ZNr49upHQXFpEA3Xbn/GvStA8J6LrmiLqyXk67uwK4/lXpGh/BT/AIJ8vpFrNffEjVxcNAhnEjSRsHwN2VELBec8AnHqetd98NPgD+yx4xS50r4afEHXbpbOIPciGXAiU5AJaS3x2OB7H0r9JweXeCuYyhSw+W0pVJbRjWpOT0vayrt6LsTW/s2rpShb5r/M+ZvEWl2uj3a2lu0jExhizsPUjGAPavWfg5+y34u+KHgC08YaTdaEkFxJKqi9Mgl+SRlOdsbDqOOelYfw2+F3h34ufH2TwEnim8udHjlnKajHAiSzQRZIwOQu7gbsHrnAzgejX/w4/Yt8N6hcaDefGHXbaezneKeBbt8I6khh8sGOoPSvyDh/D4ejxJjM9wNGlTwUpTpU4VatKns4S0co1Yyslur3vdStv5lKPvudlbbdI4X4rfAL4ifCCxfW9d8FafeaYjqr6lp8okjjJOBvUqHUZwMkbckDOSKt/Bz9nrxZ8aPDcvinQ9P0Gzs0uDAjXkxLu4ALfKkbYxkdcHnpjms/4s/FdvDpufhv8Ifizq+seFLi02TQ6rCsgUsMNGjyIGK8AjAXBzjP3j3vwa0nXdd/Yl8TaT4ZsLm5vptXcW8FohaRyGtidoHPQGvay3iqWYcVV8Nh3z0qVGrN01DCy5qkFflp1YUnzQfR2Ur732LjKMqrS2Sfb8zK8e/sg+N/B/grVPFN3P4ceLT7GSeVbdpPM2qpJ25iAzjpyK8GiaAE+fG7emxwv9DXYX3wp+PGladdalqfg7xDa2kFrI93PcQyRosQU79xbAxtzx36Vj+APDUfjTxVpvg9flm1LVLeBZNwXajMQ/JOM8gjg5x+B/NeNM7xvE2b4VrByoTtyxjOMPebejSVKmnvbWL1tqc9WTnNWjY6z4T/ALMPxI+M2mnXPDVrBp+m7mVNR1Sf5JXU4KoqLubnvjbkEZyMVZ+J37Hvxj+GGgyeJ7mbTtVsbeMveTaZv3W6jHzMr4JHOcrnABJwBmu3/bV+J+p6Dq1h8EvBt3Jp+laZp8TXcNrKU8wkfu4zg52qgU47lskcA1xP7Ov7Ses/BzxC8XiK4vtR0G7Qi7sVl3tG/aSMOwAbsRkAg89Bj3MVR4DynNXkOLUvaR9yeJSp8saltbUvZ6wjLR3lzWvrszV+whP2b+/T8rHlqhwPmYH1wuP60vHp9av+KtR0rV/Et/quhaW1lZ3N5JLbWbSBvJRmJCZAGcZx0qhX5XVx1WFWUY8kkm0mqcLPzV4J6+ZyuTv/AMBFvQdA1nxTrdr4d8PWL3N7ezLFbQIOXYnA9AB6k4AHJwK9m079gr4vz6R9vvr7R4rgrkWJvn3j2LCNlz9CR71d/YR0OyttX8S/EjUdNWVdF0zFvMyZKMwZn2+h2IR64bHQnPkmvfFj4ha/4wm8cXPiy/jv5Lkyxyw3br5PJIVMH5VGcADjFfoGBp8P5Nw7hsyzmg608TKfJCCpwUYQai5N+zbcnK/KtrLU3j7OFNSmr39Cv478E678O/EM/hTxXoc9jfwBWaOS4V1KsMhgyjDAjuD1yOoIruP2MYUl/aI0R3zmOG7Zfr9mkH8ia7j9qxx8RvgP4J+Ms2nxfbpUSC/uY4sH50JI4/h8xGIB6buOpz4N4S8X+JfAmvweJ/CWry2V9bEmGeLBxkYIIIIYEdQQQe4rgzOjhOD+O8NXTc8PCVGtBqMYylTfLUWiUYuSWl9E2umymSVGun00fyOg+NVxcaH8evEt/pVzLBPb+JrmeGaKUq8cnnFwyspBUhuQQQRXqvx+8K6N8e/hZaftLeArMLf21usPiaxhQZGwYZzjlmTI5PJi2HgLivMvh18KPHn7Q+uald6V4k0+bVFbz7xdUvHWaYMeZBhTuAPB9Mj1FeleFv2XP2q/B+iap4b8N+LNM0+x1RAl/GmonEyjPIPlkpxwSNpI4ORxXr5Bgs5zSjjn/Z9WtgsY5yi4RTcKkXJ05p3snFtxkr6xb30TunGclL3W4sl+EXhfUfE/7EPirRNB0u4vLy71wvFbWyF3kZGtDwByeEz+BryzTf2cvjnql9HYQfC/WI3lbAe5tDEi+5d8KB9TVvwh8bviv8FJrvwN4P8AHlobKO9ZWdIluLbfnDPGXQnbx1UYPUA9a9zbSf26db0ZLvSviH4cnt7uJXhuLHyvmRhkMreTjBHcV34PA8PcY4LC0p0cVKthKUaU40YU5LSU3e7nfVtpO1vIqMadaKVndK2ljkf2vbXQ/h7bfDnRYJv+J5oGmRxzXFk3lSmCIRKh80fOvzpIU/uksRg9bf7TPwWl+MMVl8e/gvatrCarbp/altaSiSTcqKiuq5+8AAjoOQVBx94jzj46fBD4o/D2NPGHxU8W2F7eajOI486lJPczkLyfmUEqoABOcDKjuBXIeEP2jfHvwPma38J+Kbu1iuAXe08tZYGJwC3lvlQ3yj5gM4GM10SxFfO+J8bkuNyyqo4hU5Rp07OtSdKHLCaT0bcL86drp6PvcIzr1nSUG79FurHq/wABP2UdR1LU7jxb8dNDl0jw7psLPNFqMxtmnYD+I5DJGo+YtkZ4AJ5x454qXw+niW/Twp539mLeSCwNw4ZzCGO0sQByRg9K1/Fn7U3xP+NFiNF8ReLLqS0H37OGFII5OQRvWPG/BAI3ZxjiuL8QarNpFktzAiMWlCkPnGCD6fSvJ4m4SxFDE4DIcDl1SjKrKXLUrqMalWT5U1dXUYQ0srvV33bu6uCrKcKKg05bX0uXq9i/YwfwbfePNZ8G+K7hom8R+HZ9MtiGK+YJCpkjB7MVXIP+zjqQD4lot/PqNkLm4jVWLEYTpS2/iDUdLv4rzT5WhuIJVkgmicq8bqchlI5BBAINHBHAnFq4uqww2HhVngppVYSnFJqXMmk3o7pSs9bOzHh8BiniJRik3B66nqWvfsofG7SvGEvhaw8EXd7H9oKW2owqPs8qZ+Vy+dqZHOGIIrrP2tdA8I/DnwN4I+D+naibnU9DtriW5KkkKJ2VnY+m+QMVXqFHbIzwmmftmftE2+kf2MvjtmQJtE8trE8wH/XRlLE+5ya5WLUtb8d6u+teJNVuLu6uSDPdXExeRyAAMs2ScAAfQCv0zMPBzNcvynFYbJsHJ1MTyxk61SlanBTU+WHK223KMbuXRLS51VcpxFKDUY792tDtNe/Zh+K3hz4YRfFbUrC1Fg8STS2qTk3METfdkdduMHK8Biw3cgYOL/we/av8b/BrwmfB2h+HdHurb7U86yXFsyyZYDIZo2Xf04LZYDC52qoCar4m8ear4Itvhtqnj3UZtHh2iOybZjav3VLBd7KOMKSQMDA4FclP4MsIvu3Ux+pH+FeXiPCLjzIMxp4rhynKg/ZqM3KrTbcn8Vracr0tfrrZbHKsHXUk6St80fU/wM/aW8WfFLwJ4u8VaxoWnW83h6y861jthJtkPlSvh9zE4zGOmOpryz4d/HM/Gv8AaZ8KeIPiRo+lWyWavb2MdvZgqZyrmIu7ksSJGUryQjAFQCzMfLNO8ceMfh7pGo6P4S8UXdna6tD5WoQxMMSr+XynGRkYOCRnBIrg7nxJeWtwyRQpuQ5B54/WvpMZwx4tZhh8up1IKpKhJTqqVSmo1ZRqc8Nuiiktlr0Z3f2fmU1HS9t9Vqe9ftA/s4/FqH4sa3rOheCb7U7HVNSmvLa50+EyjEjFyrBclSCxHIGccZFdn8IvhLf/AAt/Z28faz8YNHWyh1nT1WGzukV5F8tJBE+0nCv5sq7QcMGUHjg15N8Of2vP2hLKxl0uLxzJNFbxMytewJcOMDON8gLEfU0upfEL4ifHK7a28feNb25ijkRorVCqQK3zDcI1AXOM84zyea8XGcGYPhzjKNGhhqsswxcKzpUpzpeyi5wmp804ttpLmsmk2tG76nHVoLD1rNPmd9NLHA8/wjJ7CsW++Jbalqs1zqcdzPc3ErST3E8+95HY5ZmY8kkkkk8munS208+IUsrWZ2txdiPe/XhsH9c15l4qh/s3Xri3/wCeU1cnhH4b8PZ28xw2f0XOph6qp2U5RSceZS+FpPVOz+7c7Mny/D4pT9srtPuzq9O8fzWspn06O4gdoniZ4ptpKOhR1yOzKzKR3BIPBrV8FfETxDo+oyX3hHW9Q0m4aAo9xYXrwuyFgSpZCCRkKcdOB6V5vZ3h82uj8GS7tSlTP/LDP6ivsOPPDHgjh3hTF5hltCVOtSjzQl7Wo7O8VezlbY9HMMnweGwc6lONmlpq/wDM+u/2LNDufEXgb4i6DayxpJqEa20TyNwrPFOoJxzjLDt61jxf8E+fiR5q/a/G+hJFn946GZio7kAoM/mKufslMyfCz4pOjEEaexBB5B8i5rhf2ZPjpd/C7x+kPiTUZJdC1bFtqiTuXWIE4WbBz90k59VLd8V8Rmk+D5QyvC57QlKM54hKoqjioL6xNe9FLVXtd3Vld6nzzdHlgqi7/mdt+0/4s8D+DPg3oP7PvhHxPFrNxYSo99cxTb/KCbuG2khWZ2OEJO1V5/hNd18U/gD4n+OPwk8B2Xh3WLC0bTNHiaY3jvht9vCBtKK2fumvC/2ovgv/AMKj8fNPosH/ABItX3XGkyJysYzloc/7JIx/sle+a9A/avOqj4M/DP8Ass3AP9kjf9n3f8+9vjOK5nj5utn0c5wnuUadCn7GEnFckKkVBRm021tNStquiT0ObWpzrZJWNz4K/sSeIfAfj+w8a+LfGVnImmTieG201ZC0rgHAZmC7Vz1AByOOM1L8JtW0r4oftm+JPFrWcsX9jac8NjFcQMr7kKQM7B+UOC/GAcNzg5z5b+yk/wAXT8YdKXw62qmy+0j+2A5k8j7Pg7vMz8ucZ2553YxzXqGm+OfD3g39unVNOglt47fW7SOyuXRel0Y42AJPQl1CnHBLDPOcd/DmLyGWU5bXwmGeGoLHRUozk5883TfJOM3bSLsmkkk9ejvVN0+SLSsuY+c/il4t1Lx18Q9Y8U6rMzy3V/IVDfwIDtRB6BVAH4VoeCPjh478AeC9Z8A6HcWz6drcZW4iuoPM8osNrtGCcAsvynIPAGMEA1p/tC/BjxL8MviRqFqNHuH0y8unn0u7jgJjeNju2ZAxuXO0jrwDjBFbnhH9mJX+Cmt/Fz4l6je6ILe28zRrcwANLjGGdHwSrkhVAKnndyMZ/KKGUcYriXGRoc8MRBVZVJX5bRs+duTsrSWzvZ3TXc5FCt7V231ueQ0UUV8KYH0VfTTeDP2BrVbG8IfXdQ2yshI4adyy9P7sWD2PPXPPh/w48QXXhXx/o3iKznMb2epwybgSPlDjcOOxGQfY17v4F06++Mv7FV74K0OcXer6BeF4rJHJkKrJ5irt6ncjOF7Ergcg48o+CHwn8XeNvippWip4fvI4rbUI5dSllt3RbeJG3NuJHynCkAHqSBX6zxLhMxx2YZFPARbjLD0I02k2lOLaktOsZay106nXVUpShy9lY7b9vfRY9P8AjDaaqkwJv9Gid05ypR3TPpggD8jXh9ey/tna/N44+PP/AAjmgSm/awtobGG3tcyHzySzIAOr7mCkDuMdRged/ED4U/EH4W3VvaePfDM2nvdxl7ZnkR0kA6gMjMuRxlc5GRkcivB4/wAPUxfFuZYvC05SowqtSkk3FSejvJXSvJO13r0M8Qr1pNLS5z1fRt0F/Zt/ZPW1IEPiTxqcuCMPFEy8+42xED2eSvNP2Y/hePin8WLHTb2336dYH7ZqWehjQjCHP95sD6E+lWf2rfil/wALO+LF2bC4D6ZpGbLTwp+Vgp+eQdvmbPI6qFrp4e/4xzhfFZ5LSrWvQod1dfvai/wx91Nfakx0/wB3Sc+r0X6mt+xT4l8GeEvipdaz4y8S2emJ/ZEkdrJeyeWjuWQkbz8o+VT1IznAya7DVvF/7Bms65dWWo+HdQeS6uHafWwtztZ2JYyDEm7qf7n4Yry34I/ALVfjha62dE8SWlrdaVaCSCymQl7l2ztXPAReCC3OCRxg5rlW8CeNl1o+Gz4Q1P8AtASbDZCxkMu7024zXXl/EGf5NwthKH9nUatCc5yhOpT9rzNtRlFK/uu6tspNWttd1GpUhSS5U1953v7SP7Ptl8IZrDxN4R1v+0PDmsKDYTyShpUbaGwSoCspByrDtkEcAt6P8C/GXiDwL+xj4h8WeG7wQ31hq8htZHjDhMtbg/KwIPDH86g/aPsp/h9+yp4P+HHidA2rmeNipZSYdiOzjp/D5ipkfme/PfAX4+fB/wAJ/CK/+FHxT8N6ld215fNPKLZQ6TKdmAcOjJgoO5z69q+oo0sp4Y48rwpVFg/bYV2UnJKjVq001HmSbXLLVdtlrZGqUKVd2drr7mzmde/a3+N3ifQr3w1r2v2txZ6haSW9zEdOiUlHUqcFQCDzxXLfCnxHpPg/4h6J4s1lpDBp2r280yRLk+WrZZvwwOMc+1eyL8U/2GdJP9oab8HNQuJ4wTFDPAXRj6ESTlcfUGvB/El3oV/rtzeeGtJmsbGWUtb2lxciZogf4d4Vcj044Hc9T8LxHUzDBYnD4yvmtPG1YO8bTqVOWzTV3KK0v0v8tWYVHKLUnPmZ237UXjbwf8RPizceMPBGrNeWl3ZwB2eB4ykiLsK4dQeig5561wOnWsF7ex2tzqUNmjnDXNwrlI+OpEas35Ka3vAK/CSeR7f4mHxBAOTFdaM8LjthWjkXPr8wb0471a8eR/A21s1i+G83ie7uX+9NqzQRRxcj+FFJfIz3XHHXpXkZl7bOa9bOa9SipVJOcoKTTu3dpQ1lZvs7eaRErzbm2jknUI5VXDAHAZc4PvzSUUV8yZHsX7Mfxe8B+APCXjDwp44vmtF1uyEdrMlvJJuby5UKnYDgfODnjqea8dPXrVvR9Nm1C6DCylnhjdTcJDKqMUzyAzAgEjODg49DXoln4P8A2f5NH+1X0PjmK9Cc2kZsnTd6CTjj3Kj6V+iYLI+MOMckwtChhm6OHU1CShU95SlzS95JxlaV0krPdO5uo1K0EraI0viJ8XPAepfsweGfhN4f1BrjU7K5jm1BDbyKITiVmwzABjukxxkdfavHq2NW8M3T6hK+i6JdQ2oI8qO7uUkkUY7soUHnPQD8etZ9lbyzXv2WGz812DqsTHvtIz25HX8K8/ifB8WYrHUHmWDnSfLCjTXsqkFJQSjFRUleUnpotW3stiantJSXMvI+kvB2sf8ACgv2PIfiL4L0xBrmvThJdRltlLRFpHVWOc5VVQ7QeNz5xyQfOfhl+1T8Z9C8c2d5qvi291i1ubxFvNOumEglVmwQgI/dtzxtwMgZBHFaXwq/aOtfhD4If4XfGXwMuq+HbiRnjUsrvErHcy7Gyrjd8w5UgknJ4xpWf7UP7CngO5XxP4K+GN5Jqlud1p9otztR+oYM8jhCD0YKSO1fsdPh/ijMMPltbL69XB08PThGdJ0sRFqcfjkoxpuNXn31euz6o9GGGxVVRdNNJLaz/wAtTsvH/wAFPA9/+2NoNrLo0f2LVbCTUb+yW0XyJZovMzuHQhiqlhjknnO81w/7S37SHxUh+KGpeD/C/iK70TTdHufs0FvYt5TSFBgyMwG4gnoM7duOM5J838U/th3PiD40W/xmi1K3truykUWFltkeOKFcjyicAsGDNuPGSxxjgD03UP2xP2LPijKNf+K3w1uE1baFlktY2fzABgZkRoy+AAPmHA4FXWyvNM7w+YYXKadXAzq4l1OaVGtBVafKklzRg3H3rz5Hb4tr3tbwmLmpKEJRu7/C9V9xX8FfFD4lftQzWPwI8YXuivHOjyHWb3TGe6jKAvvj2MqhwoK5wuRnJOTm34j/AGD/AINXOoNba3+0lZW9xbkxyQutujIQeQymbIINS/Ajx18LfiJ+1ZomrfBnw6+n6JaaTPbLE0ARmdYpSzsAT13qMkknAqv8Xf2Tfjj4s+KGv+JtD8LwS2d/qs09tI2pQqWRnJBwWyOOxrmyt59kuElmawtTH4+jWnQ9pGVeMo0404v7NpWvJq8ld31M6csRhnzpNzTt1TOc+In7GGtfCDwxN4/8F+J7TxDoiKHluYflkRCcb9oJVlBxkqxPOcYBId8Jf2RtC+N3w5uPHPi34lxaHYW1+YgRADsZQMl3dlVc7xgDPXqDxXq/g7wXqf7NP7Nvilfirq9uz6tFIlnpCTq6rI8RjCDIwzsTlgAwCpnnBrK+Bfg7xB46/Yx8Q+E/DdkJr6/1eQWsbyBA+GtyfmYgdFP5V6WJ+u5jxXg8XjI1ZV4YarXjh5VJylSqR+FRkrTXtLK0XeSe/Y0nXr1K8Zzbckm0r7Mx9M/Yg+GMkQ0fwr+0bpt1dyE/Z4NkLl29MJNn8hXj/wAX/gP4n+DXiVfDni8Ixmi821u7WXdFOmcEqSAQQeCCAR9CCe90n9iX4/3WoRQ3Gi2VihcZuptTjKx++IyzfkK9F/ahh0Hxd8Qvh58ErrVlvL+G4ij1W9kI37JDGmH2jIZwpbGR1BPUEeXUxPECynG5pQw1XLMXOdJKXtJ/7RKcuXlkqmt4puXMtN77Gaq4hKVSN4ybXXf7zzX4QfsY6t418MDx7438UReGNFdN0E17H+8kUkbXw5VVjbPDFsnsMEGuh8U/sg6z4d8MSeMPg/46svFcNorG4traIGViMZEfls4kYA5K5B44ySBTP27PHV9eePrT4Z2T+Tpmi2UTi1j4VpnXIYjp8qFQPTLeprz/AOBfxu1/4HeLG8QaZa/bLS4iMV/prTmNZ16qd2DtZTyGwepHc104/wATVk2cSyHFYmu4wfJPEqrPnU18UlTSceWMtOWzbSb1ehVTH1ef2c5N+dzCk8b62WIkSEEHkGM8frUU3i3VJ1KukOD1wh/xqLxTrn/CTeJL/wARnToLQ313JOba2B8uMuxYhcknHPrVCvyev4ncfKpKEc0qyim7PmtddHbpfscDxWIv8bNrwd4T8R/E7xXZeDfD1ssl5fSeVHnIVF6s7HnCqAST6DvXsDf8E+vDfyaLrfxy06DXpFBTTkhU5Y9AA0gdh77R9KtfsJ2cejw+MfiLNHGw0zSlRNxXI4eRvcD92vsfwrwbV9b1TXNauPEOp3skt5dXLTz3DN8zSM24tn61+h4LxEzzhzhrCZhmNatiauKdRxi6sqahTg1G65dXKTvZvRLp37YY/E0aKbk3fztobnxD+Ffin4DeJbjwR4gihd5bcPFcxFmjnjYfeQkA8EFTkcFT9ayPD3iTUPDN6L/TVjMiurDzFJGRnHQj1r3z9pO5u/iH+y94H+Jd/Ikt3E6RXc7ldzs6MjnPXJeIEgflxx8518fx5nnEOXcX08ZSxtWbUIzoTk/fjTqxvy38uZxv1OTEVKqrc3M31T9R8c7RXf2xEUN5xl244yW3flmu48D/ALGN98YfAeufGLUtdGlQQCaa1WaFmW7KKWlORyiDGAwDZIYY4rlvBuj2/iLxhpXh+8kdYr7UoLeVoz8wV5FUke+DX2XZfEPwp4o8F+PvA/gKzgj0bwpoDWVrJAcrI/kT79p7qNiqDzkgnJBFe94V4jMMVi8ZisRjpw9pzvljJqVWtyTqOTas7RScm+snFPez6MDWrU5ScZtX7dWfBdh8M9I1G+h0+CWcPPKsaFpBjLEAZwvvXrvxn/ZI8Ofs5aJY6vB8RRqeq3siw3OnGJUMaFWYyAbixXcm0EgZz26VzXwmtbO9+J/h+31C7hggOsW5mmuJQiKokUkkngcCvaP29dO8BPrtrrlp4p+0eIt0dtcaWkysLe2VHbcygZVizDqeh4Hes8FxHxHnnh5mmIzHFSq2dOCU6jSSd3K0bpTbtGyafW2zLeOxtfCTVSo2tFqzyj4e/F/4geB9F17w94TFr9n1+Dy78TWyuyA7hlCeh2sy85GGPGcEcwuiaq33bM/99D/GrvhL79x/ur/WtwfuYpLivu+BvCjKvEDg7C5nmmMr87dW0VKHLH97O/KnBtczV3rq2YUKCxFlJsh8b/Hjxvrfw60v4V+LLu2aw0lw1vI1vunYKCqBn54VSVG0A4OCTxXZ+GP+Chfjfwv4dsvDzaRoVytlbpBHM9tKjMigBchGCjgY4AHtXgXjCbztZk8+s+CaCGLiv0zBeENDLqzxWHzTFRm4xg3z037sdIrWk9unz7s97D5VTk788vw/yPorxH/wUY+JGsWJsdIOj6VI3W5tbOSSQfTzSyj8jXjV94wtdXvpdU1HWXuLm5laSaeYszyOTksSeSSec1z39j+dL58EH7utCHR4BF+4NcOc+C+X8QyjLMsxxVXl2TnTsvRKnZN9Xa7Np5FRqfFOT+7/ACPdPBP7fHxP8JaHFo2ovpusLEoWC51GBxKEAAClkK7unUgse5NYfxT+M/xV+PnlXWvPGNOt5DJa6fZIEhjbGC3JLMcZ5YnGTjGSK8TvP3N1H5/+r86vUvAU3naC3kj93tNerifBzDZpkzweJzbFzpJfC507O2yb9neSXZt9OyOfFZVCnC3PJr5f5HKXtyLOzmvCm4RRM5XPXAziuZT4pQP/AMwZx/23H+FdTPbtdwPaqMmVCgH1GK8x1LTZ9NupLGeD95FX4T4KcCcKcX4DGVM3oupKnKKj7842TTb+GSv8zlyXB4PFQm68b2tbVr8mem/C79qDxd8KfED614HLW0s0YjuI5SskcyZB2spHqOowRk4Iya9T1z/gpN8XNZ0wWGmaRpWmSkYe7tYC7/gJGZR+Rr5bhh/e1c8791X9H5ZwBw5k+DeEwSqU6b+zGtWSV97e/wC631cbH0H9k4FRtTi0vV/5neaL8XdU8P8AiW38WaTPMmo210LiK6aQM3mZzuO4Hdk9c9cnNdJ8Zv2t/HXxoksx4wsbaOCwU+Ra2AKR7z1c7ixLEADrgdgMnPkcM3m1J/ra8+j4S8FUcLUwNOjNUarTnFVq1pNbNrn1/wCAuyMqeUYDlceXR+b/AMz0z4aftWeMvhPZ6vo3hCxt411m28q4lljDSRkAgOjAAhgGbGcryTjOCJNJ0GXVbOG9a4EYm6ArnFeb6Ppv9papHB/02r3DQdN8mwjg/wCeVd2P8FfD6rQpYWWGlKFK/InWrNR5neVlz6XerOPF5dgYKyjt5v8AzMTwb478Y/CvxO2u+Ctdks7yLdE0iKGWRM8qysCrDgHBBwQD1ANe46L+2Z8YdZ8PrIunaBHOylftBs5Scg43Y83Gf0r551b/AJCtzn/n4f8A9CNdn4KvV0/wmtxJ03Pj/vo1/O3gmqtfjTGZPKrNYaMKklBTlFKSqQimrNO9m1fr12R8/geadbkT0GfFabxR4r1mTxh4/wDGRvrySFRvNsECoOiKq4Cgc8AdST1JrgNR+Is8Aj03TnYiNAoO30rO+IXxCvte1WSxgnl8uKuXhvK/rDhfgDhLhnMK2OwdF+2qq05SnOo5a3155S1v13Pq8JldKEnJLV/11Orh8Z3k37+eR/pitvQvHtzaS4LLL/wEVwsM1XIbz97X2d8FU+wvuR0/UEe1eGvF2h+I447KaFIpfXaKualp0UH/ACyX/vmvHdH1iezuvPgr1zwr4kg8VaZH/wA9Iq56mX4T2Xt6cV9yPJxOF9kN+xxf881/Kq+sxRDRLwiNf+Pd+3tWlND5VU/EP/IDu/8Ar3f+VfP8Q0aNThzGvlX8Kp0X8jPPqJcj9DB+HH+tu/8AdT+tdN/y0/7Y1zPw5Hz3h/2U/wDZq6ryf3Vfn3gc6cPCzBN73q/+nZnNhv4KK/8Ara4/SAU8aYjHS5kx/wCPV3FcVow3+Oset3L/AOzV4XjN7T+2+HL/APQXD/0qmFb46fqZH7RU3nXUcH/TGvI5v9d+NesfH6H/AE+Of/pjXlc/av2OnU1/eH3WW/win/y1qTyPepIf9d+NSf8ALWipUPSPon/gnH/yWPSP+33/ANJmruPGv7RvxP8Ah3+0Rq86eKr+70vT/EEyNpE10TC8AcgxhTwvy9D2ODXkv7Onj5/gR4g03x5DYw3xgVnmhnlMQZZU2sAwztODgEgjPOO1J408Xy+PfF2peMbmGCKXUryS4kit2JRCxyQMkmv4q4q4qr4j6y8lqVPaLHVKl4Rmly8kEm3az96PwvW261PzfMKzq4mpKlf430Z7R+2T4Ij11dL+P3hDUZr7RNbto1mLTFxbSEfLgE/IrAYK/wALqwPLAVq/B/XNZ8N/sReJ9b0DU57O8t9XcwXNvIUeMlrYHBHI4JH415z8Pvjp4o8LfCbW/hNceEE1nTtTRvsv2kOVs2b77AKPmGQGABXa/wA2TyK2vgP+0zYfDXwJc/DfWvhfHr1pPdtcFRN9/O3IdGRwwG1cEY6DjPNThM0yd8VyzGc54aeMw9WM06dT93XkuV8lotyTdprlva9m09FyqcPa8z0un33OU0r9o747adqEV5a/E3V5pEcbYri5MyMfQo+Qfyr3D9p7WrPw34l+GHxa8Q6RHBqkc0cmpwF8FEXypGTb947Gd8HsTg5zWHJ+2B4B8PEano37M1jY3iH/AEa5ZYo9reuVgB/I1478XfjF4w+NHiRfEfi2SFDDF5VraWqFYoEzkhQSSSTySSSfoABxYzOsJw1kOJwTzGeMr1ZUpQjKFSMaTpzU+d+11vK1rRWq38pc1TpuPNdu3y+89M/bs8C31l4/tPiZZp52ma3ZRoLqPlRMi42k9PmQKR64b0NeffAz4Ja/8cfFjeH9LuvsdpbxeZf6k8BkW3XooxkbmY8BcjoT2NdZ8Jf2utd8D+Fx4C8d+GLfxPoqJtghvZP3ka8bY8uGVo1xwpXI7HAArQ8dftoX954Wl8I/CbwHaeFILpWFzcWkgEqk4yY/LVAjEDBbBPPGCAa5sfPw8znOJZ9isVJRm+eeGUJ87n9qKqK0eWUtea6aTa0eopfV5z9o38jx3xRoZ8MeJL/w4dRguzY3ckDXNsT5chRipK5AOOKoUrMzMWYkknJJ70lfk9WUJ1ZShHlTbst7Lor9bHI9z6E/YTvI9Yh8Y/DqZ4wNT0pXTcFyeHjb3I/eL7D8a8F1fRNU0LWrjw9qllJFeWtw0E9uy/MsinBXH1q54F8a698O/Fll4y8NXIjvLGbfHuBKuOjIwGMqwJBHoe1e4xftz6JcBNc1n4HaXPr0SAR6isyjDDoQWjLqPbcfrX6Jg8Vw3xDw1hMvzLFvC1cK6iUnCVSM6c2pW93VSi72T0a69ulOnUpqMnZol/aStrv4efsveCPhpfxJFdyukt3A4XejKjO4x1yHlwSPxPPPgM/hjxLa6HD4nufD19HptxIY4NQktHEEjjPyrIRtJ4PAPY+lbHxY+K3in4xeLX8XeKniWXyligtrcERQRr/CoJJ5JLHJOSx+lejap+0X41+IPwNj+FUfgzTrdEt4rWfUzJ8skUZG0JFtwjfKuWyR1wBxjuxGHy/xC4hxFPBOqvZUYxw8I03OU1Siormt8Ce93ZLm3urMlyVpuz2WnyPJPDF9pWm+KtN1LU4pvsdvfQSXSxOd5RXUvtIwQSAcYII45719f/BHxL+zpqngfxZd/DPwdeWWmW9nu1+CdW3Tx+VKcLmVv4Q44I618cXOlXVrqn9kS7fN8xU4PGTjH869H8FfEXxX8A/APibSD4dsb+DX7PyXm+0OGhO1kzgY3Da7cZBzg54wfS8Lqef5ZnNen9R54U3UjUfsuedOfJOKgmtY80vdklo1e+hrgo1XN8sb/Il8XeHvhV8afiFo/g79nDwpPpU9yjrdPqt55cLEZbcFZnb5VBJ2kk9kyMnz/wAa+Ddf+H/ii88IeJ7Tyb2yl2SqDlWHUMp7qQQQfQ1yugfHGz8G+IrTxBodzd2t/YzrNbTCFTtYHjgnBHqDwRxXpvxK/bDt/wBpLwzZ+H9T8GW9rqunXPnvqduNoki2spjCtuZeWB+8Rx0rlzbgnNK2QYvNszwVTC14NSXLS5aEoWUeVKPwST15no/Vl1cDiY0pVKkHG3lpYwPCK75Jx/sr/WtfUvPs9Gkn/wCmNZngaF57yWJO4XP60nxg8SQaDo32GD/WV/UHgfGU/DDBKO96v/p2Z2ZXT5kn/W55f4q17ztUk8isuLUp/wB2Kp3k3nSyTk1HB3r9Yw/tvan2lKloaE3jC+839x/q6k03xhffa/8ApnWX+4mqOtKeMq+1/eG51nnebXpfw81LytMaw/2TXjmm6l5Pl16H4A1icogz2rWVP2VGXo/yPLx1P9yXNNAOo24PTz0z+Ypnxa+Hv2yX+1bGD/W07T8fb4M9POXP5iu6m/0z9xPX8p/RwpSnlePlHpOH/pLPkcrq+yk2fOc2mz2cv7+iH/XfjXrHjz4bQeb9osYK8/m8H6rDdf8AHvX9JU6lv4h9VSxJT8j3qxDZiby6kGj30PWCtjw34VvtSu44Ps9d1L2X8Q6fbUSx8PdHmm1mP9x/y2r2CGGezi8k1T8K+FbHQbWOcQR+ZFWhNN/rK6PrPtavtD5/G4n2tY821T/kJ3P/AF3f/wBCNamoav8A2Z8Of9bjKvx/wI1marzqlyf+nh//AEI1jfEXWZYfCcGmKeCWI/76Nfxh4Gx5/FHHf9e63/p2meblEebHW8n+aOEhm8+WSf8A6bVJN/rvxqOGHyIqIO9f2VUqukj9AWxYhm/e1qWZ86KOcVn6PZmaWS3H/PGtjTNHnEXkCunDVEqXtKgySDvXUeBNYn0e/j/f/u5a5/7H5PFXNHm8m6j8iun6xSqr92eXiaXtT2SGb7ZD59UPEH/IEvv+vdv5GqXhDWPOuvsM/wDzxq74lixol2fS3b+VeBxLT9lw5jf+vVT/ANIZ87iNJP0Zz3w7XdLdj/ZT+ZrrK5X4cJvmu/8AdT+ZrquIZq/O/AmFOXhfgpPo6v8A6dmcOG/goPI964jR12+NwvpdSD/0Ku3h+0TfuK4jSVz412j/AJ+pP/Zq8HxinzZ5w5/2Fw/9KpkVfjh6lb452fnRRz143N/rvxr3T4tWfnaNJPXh+oxeTLX6y6dX2x9xltT9yV4O9SY/6YfrUcMPm1Y8j3rSn/08PXO31IM/ghQOptYv/Zag8OTeSY/tFXbmNG8KpGen2aP+lc9qWpCzi+zwV+JeBcuTJcxf/UXU/wDSYHy+Rx58PVX99/kj2LwJrtlawvLP3U/yrM8A6rFo+uG6l6GBl/Mj/CvKrTxdqlqFtop5MEgGul8X6nPpOlC6t2YMZguV9MGvX8TKFN+I/CsV1q1PzpHJj8L/ALdh4/zN/oeyR+NNIeHa6hh6EU0eLvDcsscMxT/vkV4NZ+NtVmi/19WP7en83z/Pr94lluFi71Yp/I7quW1T6Km0WCWL7dBAkkf+6Ky/sdnD0iX/AL5rkfhX8YPscX9larP+7r0DWIYJovt1j/q5a8/E4Cjha1+Vez9DyatH2JhywxfN+6X7p/hrkPAzrHq8kjKCBbN1HuK7Q9H/AN01xngRkXWm3sADbsMk+4r8K8S6dOPiNww1FWdSp086R5lZfvoHaWlmTF55iU/8BFYesa9ZWUuPKX8hW/q2oW2n6Z5q3CH/AIGK8a8X+MN11kT5/fV+008PTv8AAvuOvkfY9K03WLOby8xr/wB81tQASQ7QMfhXk/gXxKNQvo4HIA9zXqNnc6fLaczp5n++K644WEHeMbfIOV9jkNYDf8Jvg9ftUX/std9NDBrFhJY30FefeIrqOHxfJefeVJ0c7T1ACmtpfiRpkT7obK4H1C/41/MPAXFfDHDmecQUM1xUaMp4qbipX1SnNPZM5sLiI4ac+Z9Tyr4q/CW+0HWZJ7GD93TPAWiTafcS3k8e1nj2/qK9a1L4heHNXtvs9/pNxJ7nb/jXJXy6WZ/N02ORFIwVkA/oa9fxA8R+Es04FxuAw2OhUqTjaMVzXb5k+qPSxOaQq4OdPm3Rd0LX08OWd5fv2RR/OvJPG3im+8VazJPPP+7rrPHdy8GlLGn8bEn8P/11wdfWeCFX2fhhg/Wr/wCnZnbkVNPCxfr+YVH5/tQf46K/VPan1IUUVHB3rS/tQJIZp+ldp8ONR/eJb+1cPXX/AAjIu/Ei2WeApruliPa4OXozgx38E7aw/wCP6H/rqv8AOu78j3rgrcXAmV7ZWLody7VyRjvWkmu+LJ0DRzTuB0KwA/0r+IPBrxCwHA+W4qnisJXq+1lFp0oKSXKmmm3KOuvS5+d0KqpxaaOvmho+x2Pm/wDHjFXI/wBreL/W4/8AAf8A+tR/avi71uf+/H/1q/X6/jpw5W/5luL/APBcf/lh1wxqj0Z102j6HN/y4x1YhgstNP8AoMEVcV/a/jHd1uc/9e//ANagav4yP3Tcn/t2/wDsaiHjlkEf+Zbi/wDwVH/5YV9fn2Z2s01V/O/e1yMmreL2z5huOeubf/61N/tXxV/fuP8Avz/9atv+I8ZD/wBC3F/+C4//ACwy9vD+VlPVcf2pc46faH/9CNcj48PmzxRekf8AU11Xl3N1clFid5XY5VVySe/ArE+Imi3Gn3EH2pdsip8wz074r8p8BYYrEcf4zH06clTdOom2tE5VISUW9uayenkzsyJN49y6W/VHJTQ/uqLOHtViaGtTw3o/2y6jg/561/ZX/Lk+19oY80Pkyxz13Hgmzgllk8+pPFXgn+x9L+3fu6p6bqU9nYVnh/8AaqXszENfmg+1fuKp2cx82s+81j97JRDeQZrow1P2Nb2ZXszvPhveT6l4yjgrvfGMHk6Vfj/pg38q5n9kXwJp/wASPijYaDe6tc2S3Bmd57RFLkJGX2gtkLnB5wfp3Hvfivwf+yNp2rXvhzxV8YtZju7eVoL2B2yVYHDKSttj8jX5zxDx/leJwuYYKpHk5XUw/PUnShF1OTpzVE2lzJ7Xt0PlcdUhOrKO1rrWx4N8MV33F2P9hP5mun8nza6rx3+zh4e0n4f3vxb/AGfviSdV0y1TfeWkoR5FReWIcAYZQQSjKDtyc9AbPwF+GXgXxb8Jb/4sfFLx3qlpb2d80EptVjRIVGzBP7t2fJdewx6d6/PfDfiynwfk2G4ZxuHm6sIVKvtIypOjKm5ylzqbqK6Seuia6q2p51FumlTa8/KxxlcVoy58d7f+nuX/ANmr3+Dwt+yHrcg0nSPjvqUNzOdsMk8qIit2yZLdV/MivnvxNaXXhHxvqWm22oGWXT9SngW62AFyjsu7HIGcZx71894s8dZVjcTk2Mormp4fEKpJwnSn8LhJxXJUdpWWl7LzIxE1eL7M67XtNt9SsJIK8P8AHnhueHVJPIgr6z+H/wAA9O0jwPF8Sf2iviLLoVneAfZNPi8tZWDAFGZtrEsRk+Wq7gOSRggReJv2VPhN8WPDN3rv7PnxDfWL6wXM2mXsqEzHsASsZiJG7BYFWIxkYJH6V/r/AAxNGNaOEqKpKPOqLlRVZxte6p+15ttbfF5X0PYw2PVKOsX6aX+658Yw6b5PmVchs/OruLrw1YWty9rd6Z5csTlJEfIKsDggj1zTE0PSoxhLQD/gR/xr4p/SI4Ri7PC1/wDwGn/8sOyHEuEjvGX4f5kd6vl+Hin92BR/KuO8mfUpZK9Z+Hfw+m+KPjTTfh7azJEdTuBE0rjIjQAszYyM4VScZGcYzzXtJ/Zb/Y38MX7eBNb+MNxHrwfyppFukSOOXptI2Mqc8FWfI6E14vg5xVg8uyXGSq0nyVMRKUZOVKEW5RjaC56kW56Xsk1qtTkyjM6OGozUovWTfTrbTV7nx+dH8iReP4hXR+P4/N0IL/03X+Rr0n4/fs5z/BHxemi6iDe2V1EJdO1Ly2jEwGNykbiAyk4IyeCp/iri72wtNRh+z3kIdN2dpJHP4V5HHfifgKvHmV4mrhqtN5fUm6kZKHM78jXLabi9I3vdJppptMjGZvQqY2jU5WvZt328ttTzn/VVJ/aXk817h8BP2ZY/jj4sbQLCD7HY2sJl1HUfLZxCpyFUDcMsx4AyOAx/hr1W1/ZF/Ys8SagvgPw18VriTXsmOJ/tSyRvIOoA2BX+ivnjrX7vkvjHlme4KOKo4SrCE24w9pKjB1JLeMFKqnJ307X0vdM9yHEeFqRuoS/DX8T4+i1eeGXz690+Cfjb/hMNB/sqefzJIqqaj+z/APDz4f8Axrb4d/Fy5ntNMtbsLc6lYxMzPCw3JIFJO0MCMkBivPDYr1/w38Of2DfCE4uPDnxa1a1cd1lc/wDoVua3wfjXwnmmAq4arSlRrUpuElVnQg+Zb6OtdpPS9rX2PJxOZYXE3smrd7L9TjbyHyZH4/gNeS3yQyS2kdzAssbXsQkiYkB1zyCQQRn2INfVvjL4TfBK6+EGqfFTwv8AEzXXtraB/st7IiNHJKDtCBGhQtlsLwRyevBr5UuVD3VkjOFBv4gWbOB83U4r894l4hw2eeK3C6pRa5ZuSfNCSlGbjyuLhKWnuPXRPo3rbmwMk84w9u59XftCfFD4F/s1eIdN8FN+zfoWprcaYtxHKlrbx7F3sm07omLH5M5J5zWD8OfFv7Kv7XGrS/DbVfgnB4b1Z7WSTTrnTxHGzbVydskSpl1GWCurKQpznpXY/tXfs9fDv4v+NNO1zxj8bLDwzPbaWIIrS78ndKnmO28b5UOMsR07da4/4c+D/wBlf9kbVpfiRrHxtg8R6slrJHp1tp/lyMu5edscTPh2GVDOyqAxzjrX9FYaWBnlkZUnUeJtpy8/xf8ApNu/kfUUJYWWBTg5utbS3Nv+Vu5yH7IvwM8JXH7Qni74afErw9ZayuiafcwoLgbk3iZIvMABwCVYkHqpIIwwr571eKGDVrqC3jCRpcOqICTtAY4HPP519PfsH+L7vx/+0p4z8bX8KRy6rpc9y8SAAJvuoiF464Bxnv1rlP2P/gh4U+JnxD1/xr8QrR5tE8Mubh4HQGGeUs7BZAQd6KqsxQdflzxkH6GGOngsXiauJbfLCnou7T0S82ezHFyw2IrzrN+7GGnm77erPELObWLG1M9tDIIWOS5iyvp1xTl8QaszBVlBJOABGOa+mrb/AIKIWt14sj8Jx/CTTf8AhDpJRZrZk/vvsx+TO3Hl4xz5e3GPl3fxU39tjxRH8GP2hvCPjbwXoOlreWGiI6wT6bGYWCyOiA4wchV2gjBQKu0jt83jOFeFM3zZ1MyyTDyrVU5c84U5Sk4pfE+Ru+yu79NznlToV8Wo4jBx55ptN8rvZdXbc5n9p74X+Gvht8KfAXirwdoktve63pwm1eVpZJAW8iFujEhPmdq8MPiDVSMC4A+iD/CvtX9pv9p3xl8OPhF4T17RdB0qabxhpDNepewNJHCWgiY7ULYYfvW4fcDgZB5z5J+yN+zrpfjnwpqnxr8S+BrrxFNpt7t0Hw2k0NtbalMoyfMMmFMYdlyM7cKwKyfcPj5XwL4e4bKniMXk2GspNJulSbk+Zq2sbK22rtbXRHHgMNltHL3WxGHho2k7Rbbu9NVpbbV2tqeEePzItlCydmbP6Vxdd34yi820jX/e/pXEcQzV+YeCUefw1wa86v8A6dmeTkf/ACLY/P8AMjhhn82j7H+661oQw1Y/s2Dya/Tv3x7ntTn5+1Hke9WLyE+bUda0qhRH/wAta9C/Z70f7b4nnvvI/dxW5krhYYf3te7fA3w2dC8Iz65N/rJVNei6lWlhJejPGzOroVPBVvBdau0Nz9wwNn8xXU2dnDZ/uIK5bwW23WCf+mLfzFdTD/yz/Gvw/wCj7CL8P4uW3tan/tp8dQ/gkn+qqSo/J82pP+Wn/bGv3n2aOoKkhhqPyPepIZqz9qaBeQ9qz5oa1P8AXf6+q/k/va6f3PsQ9qchoS7fGyr6XMg/9CqL4wab50v26ptGGfHGB/z9S/8As1b3jbR/7Y0aSv538DFbI8yn/wBRdT/0mmXk8+Wb9TxfyPetDw3ef2bfxz1HrGmz2d/5NV+IZq/esFUv/EPqdzpPGHiqfWIvI/5Z1z8155NrRN+9rPvLzMUkFc9SpVo1v3Zt7Mp+d511Vyqfk/vY8mpLyb7GfIrtwz+tVjq2PoD/AIJ8oW+N2lkEfKl4Tlh/z7sOPXrXrHxN/Yh+Ifjf4ha14v0/xVosUGpalLcRRzPNvVXYkA4jIzz2NeR/8E9Hkk+NulNIm3/j9wPb7O1aHxF+Ivin4eftLa54p0DUpRLYeI7h0haVtjr5hDRsM/dYZB9jX8icdYrhzD1Mb/a+HlVpPMaq92bi4/u6d5aJ82n2bq/c+Ax0qXt586uud/oetx6V4T/ZF+CfiPw9rPji01PxFrkLImnQSkbWaMxrhAdwUAsxkO3OAODjMP7OvgPU/iT+yDrngjSbu3guNS1iRYZbhjsXabdju2gkfdPb0rnv2qPBOh/Efwhp37Tfw6hDWt/Aia7Cgy0T/dDt/tK37pu2QpGck1Y+GBuh+wp4rNkZPN/tZtnlZ3fftumK82niIYbiqrgXQSwVDBV/YxhJv2lKcefm53d3ns3b3Xte2uCdqrjb3VF280RaZ/wT28eyX0aax470iK2LfvZLZJZHA9lZVBP4ivLodG8N2/x9bQfEN+IdKh8VtDd3F0wIEK3BBLluMYHJPuazPDUnxPGuW48Jvrn9oGQfZvsRl8zd7bea9C/as+EOm/D7WNH8TXOrrFf+IYfP1jTY4y5huMKZ5UO7BVpGYheADkDjp+d4mhlGPySWY5Tlzoxw1SEqvtKjmpqTtFJtR2ejSV7ST1S05moShzQja2439sz4n2PxC+JkNh4d16C+0jS7FEtHtJQ8TSON0jAg4J+6p/3K4P4W/FLxX8IPFaeLvCM0XnrE0UsFwpaKeM9VcAgkZAPBByBXW/Fr9l3xP8OPDOn+NdA1b/hItIvog73ljZMvkKwBRmGW+VgeG6Z4OMjNX4Ifs1eNfjRe3DIX0nTbaMmTU7u0Yo0naNBkbm7nB+UdeoBxzTB8cY/jqVX2EoY2pJTiou9la8XGd3HljGyvzWSVm9xTjXlXvb3jhfEOvaj4o1288R6s0bXV9cvPcNFEqKXY5JCqAByap1c8RadZaPr15pOm6oL6C2uXiivFj2CdVYjeBk4Bxkc9Kp18DiPbfWJ+1d53d3e93fV31vr1vqYO99Tr/gT4ls/B3xT03xPfXkUEdlHcyCSZsKGFvLtH4tgD3NcpdXVxe3Ul7dzNJLNIXlkdslmJySSepJrc+FngKX4nePtO8CQaktm+oyOi3Lxbwm1Gf7uRn7uOvena98KPiD4f8Xy+B7vwpfPqEdwYo4obV287BwGTA+ZT1BHGK9ZYfN8RkVLkpN0FVmk1r+8lGneLS68sY201u7Xs7VabprTS/wDkeqfG7x54V+IP7Mng5m8Y2U+vaY8cd3Yfat0+PLaNmZeufkQ5Pr1558Jr0P44fAKb4HWWkJrPjG1vNS1KIyTaZBCQ1soAyS247l3ZUHAztOOhxhal8G/ido/geD4kal4OuotFuNpjvW2/dY4VmQHeqnjDMADkYPIz7XFlLiLMs4n9cwrjWo0qaqKN52UYJKc2nJRurXu1bZ2ZpVVSU/eWqWp9CfsZ+DJtX/Z/8SRWOu/YZ9ZvZrY3iIWNsohVd2MjkB2IwfTmsbTP2bP2bvEupJ4Z+Gnx6nTxHbOGimFzHKHkX5sxhQm4jGfkckYz2qf9l+bU/Gn7MXjL4deGIo01SPzxDtkIabzohgH5uCdjIDwOnvXkPwk+FnxP1L4raXpWl+GNTtLyy1OGS6mmtJIvsaq4Yu5IGzAB69egyTX6TWxeBp5DkOH/ALMWKjVp8vNepdPnfNGnytcs+a7ct9uiOluKp01y3uYvxS8JeNfBXjq/0H4gvLJqiy757macym4DciXeSSwYc5PPY4IIqh4S8Map408T2HhTRYt91qF0kEIxwCxxk+wGSfYGvW/28tU0a++MkFjp9sourPSYo76ZXzvYszKpHYhWHv8AMPQVf/Y68M6V4S0nXv2hfF0eLPRLSSLTy2Pmk25crn+LBVB6lyK+Enwjh8R4hVsnpVG6MKknObesacfem5Oy1irpvZy9TndFPEOCen6C/th+JdJ8HaHoH7O3hGQC00a1jm1ErjLybcIGx3OWkPqXU9q+fLtWe4s0RSSb6IAAck7q2fGHinVPG3ii/wDFutS7rrULp5peeASeFHsBgD2ArnfE3/IOH/XUf1r6bgrO/wDWHxry7FQXLT9vCNOP8tOPuwVvKKV/Ns9LKJ+1zui/7yPcP+CmCsPixoLlTg+HQAccZ8+Wvm+us1TRJvEMyX+u+Prm8mWBIkku4pJGVFUBUBZiQqgAAdABxVX/AIQnTt2P+ElGPX7G3+Nf3fl3iT4b5fg4YaWc4ZuKt/Fgv1P0HB53kuDwsaLrpuPk/wDI9t/4JoKx+LeuuFOB4cYE44z9oio/Yl+InhXR/G3iz4QeN76O1t/FhNvamSLHmT5kQxFscFlkOA3GRjqcHyHwz4X1Cy1Mf8Iz42vbW7njaAHT7aUSSK42snyNkhgSCO4OKyviB4C1v4da2mh69ZXcE0lss6peWTwOUYkA7X5xwea68vzvhHizGYill2YUq0pxjpTkpOPJrfRvrbsFOtlma4itClWu5qOyenL11Xc9ps/+CeXxptPiNFpgudNOiRXqt/bn2oYMIbOfK+/vxxtxt3cbsfNV3/gpjGg+Kfh+UM25vD+CCnAAnkxg9zyeO2B61zMPxNum8Or4Xk+JfiP+zjbCFrP+17ry/LxjZjd93HGOmOKxtXh+HOv3K3uu6hqN7MkKRJNd3c8jLGo2qgLEkKAAAOgAwK+Yp+J/BSzCFfF5vh37NSSUZ01e+l37+549LiLDvFwq1535E1okr36v3j2v4t/C3xP+03+zP8OtZ+EtnHeTaVZLDNZyXsaEAQrE43MQpKvDjGR16enMfs0+M7+1+F/if9lu88cP4M8Y3WqEeH57hHgYXJ2boDKgyjM0Qjz97978gYgLXIeBtP8AF9nDd2vwBm8UJPKo+1Joc10AcZwX2cZ64J/CuL8T/B/4h+E5vt/jvwXqtik7k+ff20iCRjyfmbqevfNaUuOuC3l808fTdBS5oTUoWT5r+83PlaTdvPXY2o5ll06EqMqnuX5ouyune+t5NNfmY3in/VRD3b+lcjq9g9rL56qT9BXSePGdYLVh93zTv/SvV/2IdE8O+LvjBpWj+I9Et7+1IuGNvdJuTekJZSV6NgjoQR7dK/C/DrOsTw94V5ZiKVNTdWs6STk4pOpWmrtqMnp2seHgMY8JlcJJX1t23bPBdNaWWXmNv++auTGUxf6tvyr7R8eftJ/BvwN401TwdL+zhpFy2mX0ls1wsVuokKMRux5JxnHTNQ614P8Agh+0j8I9c+IPw38Gr4f1/RIjLcW8RWJDtQuVZVxGysobD4Vty88Ag+5W8VaOJqVsPlqpV8RSUm6fPUhJ8l3JRcqNnJWel9e4/wC27tqMU2ul3/kfEF5aS9o2/Ko/st5/zyb/AL5r7f8A2dI/h54Q/Zn1r4reI/hvpus3VhqbpJ9qgR3lTMIVQ0isEx5h6AA49eaqwftXfADVJRp+v/s2afDZynbPLBBbO6r6hfLXP/fQrmpeLWXUMJhsRj/ZUaleCqRg51H7rbSvKNFpap37ea1NJcQNxTlFK/m/8j410PQ7rVdYjsokIHqRX0PZiHSPDltpMCr+6U5+at/9qv4IeFPAWp6J4n+GMLf2R4jgza2iytJtkwpHl7suVZXUgHODnoCAO3bwj8Ff2R/Ben6h8RvCsPibxXqkZb7NLGrJEPl3KFfciKv3d+0sxJxgZC6rxczlZji8JjcBTo0sMk6lV15OCU17nLajzSc07xSSb2dnoebicfUxMmpRSS3d/wDgHz54LkWLWC7MBiFuv1FdX5sX/PRf++q9c8NTfs9ftbWV54PsvAcHhPxFBbtJp1xaxIMrkZYeXsEuO6MM4JKnqR83+JvD+o+E/EN94Z1eLZdWF08E69tysQSPbjI9q/Nsg8Qq/hXwpRw2GoQxuGqznKNaNRw97TmhKDpuUZK19XqnddUvNVR4emrap9TuIZYuf3i/99UebFjPmL+dec16L+zJ8GYfjN8RU0zVXC6Vp0YutUAk2tKgIAjXHPzHgnjC5Oc4z9Fk30jMyznMqWAwuUKVSo1Ffv3b1f7rRJat9EioYqU5KKjv5lnzbX/nov8A30K0fgv4Kvviz48vfCy+KbLSraxtPPeaa3MjuMqMKNyr1YZyRgdAea7LUv2gP2V/DWsS+BdO+BFneaPbzGCXU1tYXeQA4LrvBdxxkMXBI5ri/wBqz4J+G/hzqWmeNfh48f8AwjuvwB7OJJmfynCqflLEkoykMDk4JYcDFb8YeKGNxWWrGZU4ThhqkXiI0a01LlalFRu6UG4OTV5xe6Wlm2rqVXy80dbb2Z6FJ8AfhuzbG/aZ0AMDjGyDOf8AwIrg/jP8LPH/AMHrOPxHDrukazpE0wjS9ssh0JGV3puOAecEFhxyRkZ8cr139lP4J+G/iNqWp+NfiG8Y8OaBAXvInmZPNcqT8xUghFUFicjJCjkZr8+wninxPxbiI5Xl0J0a1T4ZrE1LQsruU1NTTikm3azts72MlXlWfLFWfqcR8LNKsfFnxL0/TdZ8RW+kQ3c8hm1G4C+XD8jNk7mUckY5I617vP8As4eH9Yt3tPBn7Qfh6+vgpaK1aOPa2PUxzswHvg1U0r4//sq+J9Zi8Cap8DbGw0aeTyY9VltoUaMHgO+wBkHqwckdfXHkPjjwh4Kt/jdJ4R+H+rxalo0+rxRWckMrOu12UGMP/GFJKhgTkAHJ61hlHEM+CMmlHBYqGMjWrNSdOtVozU5RX2Le8vd0qWab0tsOE1h4+673fRtGF8T/AIfa34P8Y3XhjxXbQreQMPns5N8cqnlXRu4I+h7EAgivRPAP7DVjqvhqLxZ8UviXZ+F4rlVNta3LIZlznAlDsgjbAztyTzzggivXPjD8SvhB8D/FEPgO0/Z50vVRHp8cplhtIV2AlgFOYmJOFzknJzXifxx+NngL4n6Xaad4V+DWm+H5raYvJewFRIwxjZiNEGO/zbvbHOfcxvF2L4RxuKeLzieJqU7qNDnrRs77OpGmlNxXW8E7a72XT9cr4aT/AHjbXS7/ADsS/Fv9iS88GeGW+IHgTxZH4o0WNd1xNYqPMiAzufCF1ZFxywbI7jAJHjMngzSJW3M834OP8K9Y+Bv7Quv/AAUi1XToNIi1TT9UtyslhczFUWbGFk4ByMHDLxuGBkYBrz+V1klaRYlQMxIRc4X2GcnFfD8ReKOc4qFDF5Tj61Kc0/aUnOUlCSejjOS96MlrZtuLVuxnUzXGOzhUku6uYyeCdGR9+6Yn3cf4V0/wq/Z31D4zeMk8L+GExMYmluLi4kIigjXqzFVJ5JCjA5LD61n19Gfs13N38Pf2XvHHxL0+RIryV3itZ1K70ZI1VDnrw8pIB/LnnbgnjbjfOM8VLE5nWjRpxnUqcsteSnFyaXa9kr9Lip5hjq07Tqu255T8LoPHfww+NaaL8L7O3vta07ULm0toZIwY7nZvVwQzDAKq3RgcdDWR8ULfxtB4+1R/iNpzWutTXJmv4WjVcO/zZAXjBBBBFZWka1qehazbeINLvHivLS4WeCdW+ZZFbcGz9RXvX7ddmmsweDviNDHGBqelFHKlcnhJV9yP3jew/Hn5mX1jiXhnMcfVxFR1KNWNVwlLmhJVXyOXfnTSvK9nHSy1ZyO9WnKTbunf7zyvwR8cfHngDwTrHw/0O4tn07WkK3Ed1b+Z5RZdrtGCcAsuFOQRgDAB5r0v9m/xp+0t4P8Ah9LH8Pfhja6pob3TzR3d8ghAbADlXMib1+XBPOCMZ4xXglfS37QP24fsi+Df+EFNz/YflW/9pY648v5fMx283Oe27b7V2cE4vM6lLE4+WKqpYGg3CNOSUrSkrxXNGaUE3eT5XbTsh0HLWV37qNmX46/te6loE+r6H8HdGmgRGP2vT5xdYx12qk7byPQAn2r5q8e/EDxj8SfED+I/HGsy3t4UEYZ1CrGg6IqqAFHU4A6kk8kmvXf2Az4l/wCFpagNPM39mf2U39o4B8vfuXys9g2d2O+N3vXmHxl0qz8NfF7xFpWmSGSK11qcRmWMf3ycEEkEA8c9QM4GcV08XY/N864Pwea1sVWlTqVJwlCpKLjzR1Uo8sYJr4lrFtNNX71WlOdFSbdj079nLxD+1f4V8MK/w88EPq3h+R3Nvb6lGqRBiQS8TM6MRnPQlMluM5rB+K/7Xfxa+I2jz+ELtbLSbOVWiv4NOjO6cZ5VnZmIHGMKRkEg5BxXrn7J37QnxC+MHjq60HxTLZx2en+HwYreytBGHkWSNfMPU5IJ4GFGeFFfKms/8hi7/wCvmT/0I10cRZnisp4NwMcozGvPD1vaQkp2irQ5E1FK8owfM1yubVtNr3dSbhRjySdnclsfDWualbi7sdPaSM5wwYDp9TUw8F+J2O0aS+f99f8AGu3+F95o134YTS5rlI7iMSZ3dcFiR/Ot2azgtIvP8+v1XhrwC4XzjhzB5hiMRXU61KFRqLhZOUVJ2vTbtrpds2p4BTgpa6nkel63rHgrXode0y8e0vtNuRJFMuCY5EPpyDyOnIPTpXrVl/wUN+KcGmLpU9polxdsNiXslnIHJ9SqsFz+AHtXks8X2zXZo/79w/8AM1meIvC0tle21/HD8vnLk/jXznhtwvUlw3mmNw2Pr0ZUZ1YqMJRUZckFJOScH72tm1Z22sdeX4KNXD1J8zXLfa3Reh6p4b8I+Mf2m7nxV8Q/FPjQC90TTFupjJaAiZVRyI1ClRGAI+w6nPXOauvftPfFXxJ8MYvhVqV/bGwSJIZbpICLieJfuxu2cYGByFBOOScnPe/sOala6NpXj7WL6wW6htNFjmmtXxiZVWdihyCMEDHIPWu/+A/xi+Cfxi8RT+HrH4PaNouqwQefp6y2kDifb97ayxqQy8HABOMnsa+eyLIo5rlODnSzN4bFY9VY1Ob2knXtUktXflvZWs2nJu2rbvwU6fPBWlZyvfz1PHrT4cePfgJ8NtH/AGiPDvjk2F9qGyKPTnslD7JQxw29iJFKqGxt7g8YyPSfjj8d/jr8PPhr4Z1yHX9FWbxHaCb7RZ6Syyw/u43x+8kdCfnxnb27V5H+0t8XviZ8QfF0nhfx/p1vpo0O5kiTS7QHYj5wXLEkyEjGG4GOQBk595+Jfxb8G/C34S+BLnxZ8M7TxCl9o8Qt4rjyyLfbBCTjzEfruA/DvXoZJiMto0M2wmV4yrhMPQp0lzydXSpzqNSp7NNuLm/dstVo9LaVBxSmoyaSt336ny54A8I6z8W/iLZ+GBfTNd6veHz7xozKyk5Z5WGQSByxOfWvY5PAnxN1nXh+xda+NNOOk6bF9vudTh03a4TAkEbqr8jzHU84YlskkYFdp8D/ANqv4S+I/GcHhDTfhdD4audTcQ29zaRwlJH/AIUcoikZPA4PJHSovghol/4N/a98aaHr3iFry4u9Oa4glnceZOryRSKSFAUFVOMYHTgYo4e4VyCnhsK8Li3iFiq/sa1SDnTSpuDk6MouSk/aOKfNZPontcp0qaSs73dn/kfMfjzw5YeEPGGoeFtN1walHp9y0BvVg8tZHXhsDceA2QDnnGe9cx4m/wCQcP8ArqP5Guh8X2V9pvizVNO1NWFzBqE0c4fOd4cg5zz1rnvE3/IOH/XUfyNfJeFigvFzLVCHIvrCtHV8qu9NbvTbV37m+R/8jqj/AIkX4/8AVr/uilpI/wDVr/uilr8zxH+8T9X+Z5U/jZ9Gfs7LofwS/Z81r9oafTxc6vcs1ppyzDCqocIqjHODJ8zcgkIAMYyfnT44/E3xZ8WfGg8VeMbmKW6FmkKGCARqsYZyFAHpuPJyfevojxW6ap+wLosmmNlbPUVF2FiAwRPKpzj3Zeep79TXyv4n/wCQiv8A1yH8zX9neC+MxGB48yvKMPLlw/1D2ritFOpUtKU33d9Ffa2h9jwrJxzaMFtyN/ketftGfDvTPhr8SpdI0SN0sruyhvbaJgMRiRcsi46qGDAegwOcZPCV7b+3Le2U/jvQLOBgZoPDUPn4QDG53K89Tx2PT8TXittby3dxHawgF5XCIGYAZJwOTwK/lvj3AYbL+NMdhsMrQVSVktlfWy9G7W8j5PExUcRJLufXXiLXPiH8O/2cfCM37Oehrdwy2kbX01rafaZE3JvZgm3nMhfcxXg8YGeKvwn8W/Fv4neCfFen/tJaHLa+Fxocry6lPpAgmjwMs0a7PnKKGcEIxDIvfAp/iv4i6T+xZ8N9G+HOh2sus6xdxPcSC9u28qEk/O4AHCF8hUXHRiTnJbL8GftEWn7U2m3XwF8caC2lX2uW0i2WpaYxeFZI1MwLxsQQB5ecbju6fL1r98q5lgMPnVHA1cfOOJVGNP6mm/q7qOnyxpOVuVKTav5u3MtEdzlFTUXLW3w9L22Plm/8OnX9MmZPvW5DL+Oa9H/YBsJdO+OmmWt2Crqt4VAHX/R2/LvXNeBWiWe4M7AJtXOT9a9H/ZS+yyftOaZLYDMZtrpjjt+4cf4Vpww7eFORK/8AzGQ0/wC5iZtRkv7Pgv7y/M9K8Q/B39k74g/FvUdHvvH+ojxHfalMbmwjufLAnyS6KWhx2OBuOe2ax/i/8R/hv+zl4N1j4DfCnw9qEOrXsYW/1C5yAFkQAybycu2zgBQFG4kHIIPj3xyvr/SPj94k1PT7iS3ubfxFNLBNGdrI4kLKwPYg4Ir1z4nWFl+1T8B7b4v6Dbovibw1AYtZtUxmWNRukAHpyZU9i68mvjYZ7HMoZtQyrCUaGPpuo1KEPeqUbtVVFttqol7za+JXUUmrnGp83OoJKS/Lr8zR/Zw0/wAD6n+yLrdh8Q9Wms9Gl1iQahcw8NGMwFcEBv4gvbufrWf4a+Gn7CM+t28UXxIubtjIAtvqF68ULn0ZvKTA/wCBCpvgZ4M8Q+Of2MPEHhTw5Y+be6hq8gtI3cIJMNbk/MxAx8rfliuC039iP4+3t9Ha3mhWVnE7Ye5n1KJljHqQhZj+Ares83WVZP8AVclhjY/V6d5ypznZ80vd5k+VK1n7ye93oN8/LC0ObTsep/tCjXbr9pD4deFr/R4R4ejvYW06KJiUlcSKJNygAKUATA5GOc/MVHl37cF7e3Xx7u7e6ZvLttPto7YHOAhTecf8CZuldf8AtjeNLHwfd+CfA+g6ybrVPCsaXE83m/dZVjEe8DkOdm7rkA/7QNa/xm+F1p+1j4Y0v4x/By7tpdRjtxbalYTS+WxI52EsABIhYjnAZSCDgDOvFmGq5+85yvAy9piY1aNbkTTlKKpcs6cbfF7KT2XZL4t3WTqc8I73T/D9D5j0rV9V0HUItW0PU7izu4TmG5tZmjkjOMZVlII4J6VDJJJNI000hZ2JLMxyST3NfRvwc/ZZtfhg958Uv2j4tNg0vS4CYtOndbhHY8b5FUFWHOFQbizHoMAH5/8AFV9o+peJb/UPD2lrZWE15I9naKxPlRFjtXJJPAx3r8dzrhjNcgyuhVzB+zlVcmqMrqaSsueUfsqTVlezduq2450p04py69ChX0T+xRGln8P/AIg65Zpm+h05RCRKoOBFMwAHb5gOTx+Rr52r2b9if4haD4T+It34T8SSlLbxJaraROzDZ5wJ2K3+8GZQfVgO+R6XhtisPhONMLKtJRUueHM+jnCUIv8A8CaKwzSrq54ySSck19E/FyNNS/Yh8G6lqS/6Tb3USW5aVc7cTIPr8qrwOR+BrF179hP4tw+MJdM8Pmwm0l7g/Z9SmvAuyIk43pjduAxkKCM9DV79snxF4a8OaB4a+AXhu7edvDtuj30mQAG8sKgYD+Mgs57AOOuePoMryDN+E8gzivm1F0oypqjFS055ynFrk/m5VFyutLa3NIU50qc3NW0seBV9W/siWHgyH9mfxBfeMY9umTX9ydXZpGAeFIY8j5cNjGRgHJyfXFeW+Kf2S9f8L/BSH4wTeMLCYtbRXNxpypgJFIRt2S7sO/zLlcAdcE4Ges/ZI8QaL45+GniT9nrXPEjWt1qkcj6Sjg9Gj+fac4OGUMU4yCx55xt4f5ZmHDPGEKOY0VGpXoTdKM3Hlm5xfInrZc9nGz1u+VrUeHhKlWtJbrQv+H/i/wDsmfEzXrf4b6p8E4dMsrmZYNO1HyI4m3scDe0RDx5OBkM3J5wMmvNfH/ge0/Zp+PtlDdrLqun2F1BqNopPlPLDvyFJwRkFSpI4O3PGcDsvh7+w78TbHx/aXPjK70620nT7tJpru3u95uFU7tsa4BGcAEuFwDnnGCfFv4h/Cr4w/tQ6TpvijU/tPhWxVbF7mKbyY2kJYsxk6+XvIUsCOASDjk+pmmFzfF5DTxGd0KeFxqxFONCThGm2r+8pxS1pwfK1JxlbbZu9yU5U05pKV9On9I1PF/8AwUFvV1dv+Fe+ArcWeBum1hj50px1KxNhcdPvN+HSp/FVl4B/aq+COrfE7RPBy6T4o0DzHukskUm4KqGIdgoMqsgJGfmVhjkZ3c78Tf2HPiJZeK7iT4Y2lvf6NPIXsxJfokkCnnY28jdjkAgnIAJ5rqo/Dlp+yR+zvrmm+K9ds5PEfihJIra1t1MinKbAoyBkKrMzMQFy2OeN3sUqnHmMxeOo8Wwvgo06jm5QioKST9m6MrK8ua3LZtu+upS9vJyVb4f62PDPhT8L7H4kXN8ureOtO0CC0ti0dxqBz50p+7GFyDjjlhnaMcEkCuYu9NvbNmM1vJsVsCXymCt7jIHX3r0P4K/tO+LvgfoF14e8PaBpt3Fd3n2h3vRJuDbFXA2sBjCivdvih8bfENn+y2virx1ommxar4nhMNhpy25aNY5ASHZZGbJEfz88AlQRXwGT8M8K55w9KrHFunXoU51Kv7qTT1tGPM6ij2UeWN2297HPClSqU73s0rvQ+P691+CnjXwpd/sweMfhl4h8S6bYXkjyy6bDeXMcbXDGNGAG4jJ3xgZ7ZHPFecfBTwR4J8e+NU0bx/45h0HTlhaWS4lYKZtvPlq7fIhIyct6YAJIFe8ftQW3w4P7LOi3Xw1sbVtJi1WOLTLhbchgn70OQXG7LMnLHlsZOc1XA2U43DZZjc8hUp8kKNWPs205VE0oz91PmilzJ8zW/KrNO6dCElGVS/RnzBpmnXer6lb6TYRb57qdIYUyBudiFA59yK96/bk1S00+18HfDywuoJU0zS2ZzEykjhI16cgYjPoD+FfPk0qQRNNJ91FLNj0FZEfjrQpSFBmBPTMf/wBevP4XwvEWP4dzDBZXgZ1vbOmpzjd8ihJzUbJfafW60WxWHoYmtTlGlBy2vbobODjdjgd69q+D3xc+N/wQ+HMfiDUPBT6r4KvboxQjUGICMc7hEckojHPJUoWBxyWz4tB8S9MsvCV14at9Pk/067imuriQK3EQcIEGPk/1j7jk54Axzu7/AODH7bx+Fnhp/h/4g8Iw69oXmO32S5AV0DEEqCdylc5O0r1Y819bwdwDxjlWbKvOniMM3B2qRp8yjNvSM4tNzg18SS3t2udVDK8wU78kl8j6N/Zy+PV38WvEl1o/hT4ZWWgeHdNtDLdSRMCTOxARRtVFXIDk8E/L1Hf5P+KHiD/hKviNrviMFCt5qs8qGPGCpc46cHjHPfrXafEb9v618S+DrrwJ8OvAEHhrTb2Jo7lrcKZCrY3BdgRV3DKngkgnkV4onjzQ3O0JPn/rmP8AGvf4/wAg45zjL8LllPD1sS6TlOdT2Xs4uTsoxhCytGEVvbVts0xGAzGcVH2cnbrY+lv+CfP/ACVDWf8AsAN/6PirwzWf+Qxd/wDXzJ/6Ea2vgP8AtOR/A7xFeeJdN8PLqBu9Pe2Mc7FNuSGVgQezKMjHIyARnNcRe/EHR7q9luZIpVaWRnKpHwCTnAyc185mfA/GWJ4Py/A08vqurRnXclyPRTcHHXZ3s9tuplLLMwlRjFUndX6FbVPFWqaBrxksJXHlBThfpWrN8bNcmtfIrj9ev4dT1OS8t1YIwAG4YPAxVeH/AJaV/cHAdeWWcB5dg8ZR5alOjSjJPdNQSafmmfY4PAxjhaamrOyv9x3EutyWWnDXm+9sWQ/Vsf41o23jCz17SXgk/wBbkYrC1OPd4T8v/p3jH8qwvDV95OqRWf8AecCvwDwwlSfh1n75bv22Jfy9lE8jK4QeArt95fkfSH7MHjbwl4S8JfEG18TeILaxkv8Aw95Vkk7EGd9sq7VAGWOXXgc4JPQEjy/wv4l1jwd4is/FPh+7MF7YXCzW8gGcMD0I7g9COhBIrB8Q311YWgmtZApzySoP8652bxdr0M+w3S4/65L/AIV+TcPeHfGfGvC+X4nATo06dD2ig3Oand1G23aEkrS+Gz28zysLlGMx2HjUptJa7t339D6e/ai8S/Cv4reFNA+L3hzXLW38Q3cQt9W0ZTmXCjlmAHy7G+UM2N6kY+7ivRvF/hD4TfHn4VeDdOufjbpGlto2mIj/AL+JmZzDGjKVd0ZMFO4zzXwwvjPX8/NOv/ftasQeNNRK+ZLKpH+4K/TaHhvxvVxuLr4zD4SrHFQhGpH2laClKDT57xho5SV2lZX+d+5ZHj+ZuXK776v/ACPsbwX8Hv2bvgb4itviJ4p+Otnqr6fIJbK1t2jP70dGKRNI74OCMYwQM5rzTXP2jtRb9ouT436FYN5MdwEhspCIzNahPL2OQDhmXnPzYJHXArwe08aXLybZrhSP90V2vw51bwhrV7FaeIYSwk/iWRl/kaWM8IPEXEYOjh8op4XCUqVRVUoVKspOolZSlKdNt26Lbvc56+U42lBW5Ulro3v9x9GeOvAX7OX7Rdw/xS8PfFe20C/uIQdTsLoxqzShB1jkZCG7FlLKxGRzkn5X8Tf8g4f9dR/I163qnwz8Lw2wurSyfZtJyZm/xryTxN/yDh/11H8jXnQ4YzbIPFnh+vmWHoU61eu3KVGU2pyTheUozSUH71/dvdtt9AyuMlnOHbSTcuhfj/1a/wC6KWt6+Hw6i0h5bTV7XzxBlFF5k7sdMZ9a5l00jU0LSavBGYjlQ0wG7NfC1PAviujxjhsnxz5Y4jnl7WnCdSEElJ+9dQV21a1+q9DzquW46NS3s39z/wAj3f8AZs+L3w//AOEF1f4EfGO5jtdF1INJZ3xQ/u5GKgqSAdpBCurEYBU5OMCvIP2kvAPhT4c/EKPQ/BnjSHXrGXTo7hL2F0YKWdxsJRiCQFHp16CpvCcvhXTI8XniCz/Gdf8AGud+KV9puoeJUn0u7imi+yoC8LAjOW44r+tvDPw1xPCGZ0J4uvHESo05U4T9lKnNQk0+Rv2koyinsnG66M+q4Vw+JpZinUg1aLV2mu2h6D4l8eaR8X/i9b+IvHlxJp2kT3EFvM9tHl7e0QBQe+W2jJPPJOAQAK6X9pjw78BPB+raPcfA3W4Z59he9t7W8N3AmCCjl2ZsOTkFMkYA4X+LPtYYfssf7pf9WP4farH2OGL/AJZL+VflNbwFxWIw2MjiMbTqVsRNT9rKg/aQd7tRftdE+tlt30t819Xc3JNq7e9j1DxRf/AD9rjRNK1XW/iLH4a8R2NmI7iO6KoOTlkxIQsi7txUq2QG5HYZ2ieEP2ff2XrwfE7/AIWsPE+uWMcv9k6Xp9xEqyu8bR4cJ5hUYc5ckADoGOAfIPHd9HZWObeJR+FeZTm4vbqSbPHpmvcfhasTjFjq1Si8arWr+xn8UbKM/Z+35HNWTu9Lq9raHpRyyU4+0bXN3t/wTpPEVlDoN/LavdIyq52YOW254zwOahs9cvdAmj17S9QuLWe3IkhuLaUpJG3YqykEH3BrkP8AhJZ9el8+e4/eVvX0m3QfM/6Yqf5V+X+Ifhfwtw7neU08ApxWKxEYT97aLlH4dPdau7PW2hy4zLqOHqU0r+87MbdeLLV52luUuZJHYs7suSxPUkk8mrel+PL60s7jS9M1DULa3v0VbyCKUolwqnKh1DYYA8gHODXOQzebVj7ZBZxefmv0uH0fuCKcuZe2T11VTvo/s9Voz1P7GwC7/edt4T+KfjjwXC1r4O8Z6npsVy26SKzu3jV26ZIBxn3rpJfip8c9Y0ieWX4raxJbiImVP7VlGVxyOteQzeJBCasaF42vv7SXS4JZGinUoQfQjmujG+C3C+W8PYmtRxGIgqVKpJL2zUVyxctrJWvuY4jKaNOk3BvRPqe0v8AdNsfg5pnxq8UeP5Le01ScxC2t9J8+RH3SDkmVQR+7Jz71s+E/g9rWjfDC/wDjh8H/AIw6jItnG6XlrpuntBcoFILCQCbG0DDnr8vNbHj7U9Lk/YW8K6fFqls066tgwLcKXyrzlhjOcgOhI6jcM9a5D9lj40J8J/Hn2DXZVOg61tttUSXlIsnCzEf7OSD/ALLN3Ar+a1hOFcrz/BYWtT5IVsPSk6qnUUqdWpC/tNJ2spbxskk32seBalCpFNWulr2bOe03VvHfxw8aaN4O8V+Or+6N5fR21vNfzvMsBkYKWCk/njGcU3xr4F034V/FyTwR4nvW1Cy02/gF/NbxmMzQkI7hRuyDtYjr17ivQdb+GuhfCX9rnQNN0XWLNtLn1m1vbYfa0/0WNpA3lvk/Lj+HP3lK4yTWH+0lo1x4j/al1fw9aSokt/qlpbxPJnarPFCoJxzjJrxsyyKvg8orVsYvaYyni40W3JyuvZydtXZptKzettNtCJU2oNv4r2PSfDfwd/Zf+NXgzWT8FtNni1y0s2aG31O4uN0bkHYSvmYYEjGQSASMg9DxXgz4MeENY/Zb8R/Ea+0eRvEOlX0kcUgunUwqhhyGjBwCAz9Rn9K9K+GPw58K/sc6Xq/jv4i+PbC41a5sDFaadbPguoYNtRW+aQswTnaAoBJ4yR5z+yr8bPC/hbW9Z8C/EZI49D8UkrI7/wCpgkYMpDknIjZW2lsnGFzgZI++xeCyKljMBh85w1DDYmvSr06kYqKjTcrKhUlFXUZXvre630Ssuhxp80VNJNpr/JnnFn8XPilp+j/2BY/ETWobLZtFtHqUgQL6AZ4HsK553eRzJI5ZiclmOSa+iLv9gLVtQ1n7d4Z+JOmPoM7iS3u5EZ5RCecgL8jkDodwDdeM4rG/ah8afCzSfB+i/Ar4XR217Doj+bdarEscgLleVWQdXYnc5GBkKOxA+CzTgriPL8rrYvPavso0klSUpKbqSbS5aaUnaKXvOW1rab2550akYN1Ha23meOz+J/El1okXhm58QX0mm28heDT5LtzBGxz8yoTtB5PIHeoNL8r+07f7Q4WPz03sSQANwycrz+XNQUV8A61Sc4ym3K1kr66LZenkYXfU95/bSstQ8DahovhTw94n1htFu9NMptbvWLidHcOR/wAtGIwBtwK4j9mD4eeHvif8W7Xwt4q09rmwa0nluI1mdCNqfKQyEEfNt9q9fbS/CX7Y/wAIdCsbPxPZ6T4s0FDAbW5l3GQBFVjtzuKNhGDAHacrzyan+H/w68LfsaaNq/xF+IHi2w1DXJbEw6dplpLtLgsDtQN8zFm2ZbbhACea/d8Xwu8240pZ9aDyp8lVzbi4RhGKcqbi3dPmTjyct9dtzulS56yqfY3/AOAeMeOPH3jH4YePdd8GfDTx5q2n6PY6pNDZ2trqc2xFViMDJ68cn1rh9W1jVtevn1TW9TuLy5lOZLi6maR2+rMSTXf/AAE+G/h749fFO603xr4oOnLcLLdGK3cCa6kLZKRlwwBGSxyGOFPHUjn/AIzeBtD+HHxH1Lwf4c8SJqlpaSAR3KkFlyMmNyOC6n5SRxkdAcgfmGbYTOcVlH9rOX+ySqyjCPOrRerSUL+6ktFpovJq/NOM3Dn6XLv7Pnwwk+LXxS07wxJETZI/2jU2Ha3QgsP+BHCfVq6T9sL4nx+PfilJoGkyj+y/DymytVT7pkB/esP+BAL9EHrXV/BvUtJ+Bf7M+s/FiDUrWTXNflNnpyRTqzwkZVVI5wy5aUr6bc9q+fHd5HMkjFmY5ZickmvVzWceHuDcPlkH++xdq9W3Smr+xg/XWo1um0VP93RUer1f6CV9C/EH/kwvwp/2Fl/9GXNfPVe/ePtT0uT9hbwrp8WqWzTrq2DAtwpfKvOWGM5yA6EjqNwz1rLgiUY4POLu18JP/wBLpiofDP0/yPnnVhu0q6UjObd+P+AmvP4Yf3Veg6n/AMg24/64P/I1w1mfOljFfvv0bIc+TZiv78P/AEmR9Zwr/Dq+qLs3+p/Cs7/W1oXkP7r/AK5VTh/dV/RW59SR/wCjyxf9tqIYasQ2fkxScVJDZ/6J59aVFVpGNUZN/qfwqtP2qSftRNDWZRHViDvVOrlnCfNrS4HYQwx6hoscCygB4VBZecYxVS38Jx299DeresTE2duzr+tZdnPd2cflQ3Lquc7VbiprPUNRl1G0Vr2Qq0gDqX4P1r+bcZ4ece8M5bmKyvNIQwk/a1JQcE5STjqm3GVm4q2jS66HzE8szDC0qnsqqUHdtW8vTsbuoWCahEInfAB9Kx7jwHFcNu/tJh/2y/8Ar1o6/czWsCvDIynJzg1ylzrWumSQR6vKMdMPXleGXDXifmHB9DFZNmkKGHbnywlCMmmptPVwlu7vcwyvD5rUwcZUKqjHXS3n6Gx/wr+P/oKt/wB+f/r03/hXcWzb/arf9+f/AK9Y/wDbWt+Xn+1Z8/8AXQ0f21rfz/8AE1n46fvTX3cOFfGyrtntP/wVD/5Uen9Tz7/oIX3L/I2E+HcSPv8A7Vb6eT/9erVl4SksJvOt9WZT7Rf/AF652LWtcPXVZz/20NWtO1XV7jhtSmP/AG0Nehg+FvHeX8PP6a/7hQ/+VGE8BnXWuvuX+R61pPxR1Ow0Y6PfWS3K4IRzJtK/oa56y8I3HjEtYRXJgVBvaYxFgD0x1HXP6VmeG9S23CLcfvgeok5r1rwq2lXGjlrG0jhZjlhGgGT+Fa4Tw38QK/F+AzriPNoYhYSTlFRpqLu7aaQirNpXbvotDypYXG4HEQrSmrxd1p/wDznUPgrc2FjNenxBGwijL7RbEZwP96qPhr4Xz+I3mRNZSHygp5gJznPv7V6d4mixod2T/wA+7/yrnfhx8s13J6Kn8zX1fEXH/E2C8VspybDV7YavCo5x5IO7jGbXvOPMtYrZo9CfEecxrxgqmj/ux/yMb/hRV5v2t4jjH/bsf/iqsad8Do4dQjOpa2JoVbMkKQlS49M7uK7/AMj3or9Vjm2PkrOf4L/I0lxBm0ote0/Bf5CW9uEUIowAMDFMvJvIi/19Sf8ALKsfxJeeTayT14tWoeXSpnN+PNS+2eZb1y9nps8w8/FWNSvPtt15Fdx4J0GCa1/fwVl7L9yessT7E+d9N1L7Fdf8fFekTh5/Da+V1a2Qj8hXl9eueHIo57KyilPym3TP/fIr8T8ZvZf2xw5On/0Fx/8ASqZOeR9nXof4v8jm/wCzb6GLz6z7yaf92K7DXpoIYvIrk9SmPm8V+408TVqHoU9zLm8+at7wEmzUJh/0x/qKxT/HW/4I/wCP6X/rj/UV+e+LVeq/DjMk/wDn3/7dE580/wCRfU9P1NLU9bubG6aFUj2qBy2c9Khj8XIv/Hzbgf7pqvrn/IVl+i/yFc5eTfvZMV53AnhX4cZjwTl+OxuXwnUqUaUpNuV3JwTbdpdWYYXKsDWwlOTjq0r/AHHdWvijw5PIiSm4BbqQw/wrTgktr7VYWiu5fKeVB5zNlwMgZz7f0rzazvPJlj4rsrGaQaCJ1++ImYfXmvgfGnw/4K4dyXAVsrwkaUqmKpwk05axcZtrVvqkefm2X4bDU4OmrXkl+Z6ZN8MNMvz9oi1u6uGPVnYE/niqN18O9Lt/+X24/Nf8K4PQfiprmj/8t69E8H+PLHxha+RP/wAfFfrOK8GPD6LvDLoP5y/+SJr5dRjshkfg62js5I49dvlRVP7tZcL9MYrldIsba9NwbqR1WG1aUbMckEDH61383nwxN/umuA0xPNgvYf79kw/8eWvxjxE4E4SyrjLh/B4XCRhTrzqKpFOVpJOnZO76Xe1tzznh6ar0423ZiR6lLeeHJdSxsfyZSNp6Y3AfyrntJvNautm/VJznrmQ1t6cnl+EWQ9oJf5tTvAmjC8Fep4QZBk8swz6hLDQlGliXGClFS5YqU0kuZN2ske3lEKMIV+aKdpaXXqSy6brkdlYajYXV2Sksn2hUkIY46c10uh6Pe3Hh9LzX5We5aWQGSZizEDoMmtrR9Hnz5H/LOtSbR/Pi/wBfX7R/q5klrfU6X/guH+RpUlQVX4F9yOB1/TJbN/MhkKj0BxVfwDexyeK7dNTjE9tL/BKNw/Wum8YWfk2sn+FcPps32LWbe+/55TV2Zdw9w5LfBUv/AAXD/wCROlUKFSldRX3I9R+LPh7R9J0m2u9M02GAy3OCYowvG08cU/wHoGiX/hq2ub3SoJZGd9zvGCThjTfild/bfCem3H9+UH/x1qu/Dj/kUrf/AH5P/QjX4vhMmyd+PmLwrw9P2SwqajyR5U70teW1r6vWx8vOMVjWrFmLw14TJ50m1/78ii18NeGmkw2hWpHvCKuTQ/uqks5j5tftmI4e4bVG6wVH/wAFw/8AkTdQhfY8W+IqLbR6tDajy1WeREVOMLvxj6Y4rkNHs/3vX93XZ/EVWkm1ZB1N3J/6MrlIR5NrmvxHwJXssizHkSX+1TX3RhZfLoe9w2l9Wqf4n+SDUv8Anh+dZd4bez+0Tz/8utak372sPWIZ5rq4gP8Ay1mir9vpU9T36hJ4V8VaVr11/ZU/7q4/6bVuTQiGLyDVf4qaboem+LdDg0qCOO4lhi86tDXv3P8A9etMTTrUqoqlP2VYw5v9d+NSdf8AtpVeab97Un/LKsvZsojmhqxpsP8Aq91V5pv3tWLOXyPLop7mNQ0PI96SzHl69EvrKKZDNS2skz6vayN0Myg153EVOn/q5jnP/nzV/wDSJGWK/wB2n6P8jV8Wf8e8X+8f5Vxpz5snn132qaXdapAyWqZKRsx/SuBvJj9qkgBr878CsT7Pw+wlPzq/+nJHFw/O2WxXr+bJIYfNq59j9v1o03MMXnz1Y/1tfr/s1SZ6VWoV/sft+tXLOHyYsipIdNnm7VJ5PlVpSfsqpn7QsWc3ky4Fd58MfFf2O/jsJ/8AVy15vDeVoaPqX2O6jngr6PDWrUfZ1DmxtL2tI9r8aReRoN4x/wCWlu/8q5T4Z/8AHzdf7qfzNdPqN6Nc+HsmoRdBYtn8q534U/8AH3d/7ifzNfzrxjD2fjpkMf8Ap3V/9IqnyGI/3uJ1E3+p/Cnw/vajhmqPz/av3VGxZh/1P4VyXxCvPscXkV1FnMfNri/iF++uvIrmxH8b3ztwRydnZ+ddf9tq9Q8KRTw2EdcHo8Pky11EPiSDTYvINdPsva0v3Z04ml7U+c/P9q9S0u4Nlottcf3LVP8A0EV5bDD+9r0uZ/L8Mo3pbR/yFfz94wzvnfDv/YXD/wBKpmudLnr4fzmv0Oc1LWLie6k/f1nzTfvaZef8fQ+tRTTfuq/c6h69OkHnGGWSeuk8Dvv1KYf9Mf6iuY07/W/jXS+Al2X8w/6Y/wBRX5p4rwa8PMxf9z/26JxZtC2XVH5fqTeKP+P2X6L/ACFc/P2re8Sf8haX/dX/ANBFYs0Ne94e1Kq4CyxL/nxS/wDSIm+X/wC40v8ACvyK/k/va7nQV+0+H4kH8cbD9SK46Gz/AHtdv4OhL2Flbp1Z9o/FzXw3j7O/DOWf9hlP/wBIqHmZ9O9Gn/iX5M5y8s7iz6j/AJbVJoOvX2g6p58Ndx4q8NwebJ/0yrh9S0f7HdV++YLMaVPSod7qUap7NoOvw+JNKWfz/wB5tNch4eTzLuWP1gI/UVj+ANdn0idLaef92QRWz4aONQY+kR/mK/A/F+K/4iJwx/18q/nSPnsXR9jj6S8/8jDu7b7Fotzb/wByKX/2arHwZvIPN8ieneIUSOC9UdBHJ/I1zPw31j+zdUjno8E6Xtc14kh/1Fy/9KqHXlq9pDEf4v8AM9402zghi61JDD5MUk89R2d5+6jm/wCWdF5eQeT5Br9zqUjmqU/3xz/io+dFIK87mh8m6j/67V3niTUoIYsVx9nF9s1SMf8APWajLv3VU9an/APQviJ/yIek/wDXUf8AoLVe+HX/ACKkH++//oRqr8U4vI8K6dD6Sj/0Fqu/Dj/kUrf/AH5P/QjX4Rh/3v0hMb/2CL86R8zL/fX6Gz/yyqPiGarH/LKo/I96/b6tP9ydC3PG/H48y51T3u5P/RlcX537qu68WRfadR1GP1uJT/48TXA/8s/3+OtfgfgS+bIcxp/9RdT/ANJgexw5O1Of+J/kixDN5tU9ShnhupJ4IP8AppUlnN5MuBVyb99/rq/alTq0a3tD6cr+G5v7Y8R3njjxV/yyh8uzirQmmnvIpPPrLmm8mLyKsWd550XkV2YinVxX7wVT+cz5ofIlqSGGrE1n51R2cPauZEFeaGrFn/rY/s9E3+u/Giz/AHPT/llTqfuwLlN00+Zqlo3/AE2FVZrz91TtEkefW7RR1WQFvpXnZ9h6q4Xxzf8Az5q/+kSODMKn+yS9Gep+CbWO4GoO6ZZLIlPrkV4tqX/IauP+u1e+fCez+3HVrcdXsgo/76rxvx5o50fxTcQTwf8ALavzbwGhRlwJhOfvU/8ATkjx8kq/7JGPr+ZHB/x7R1oWcJ82suz/ANUfpWhZzd6/aKeCvWPcqfvTtNN02xh0zz5/9ZXN6x5Hm81Y/tif7L9nrPvJoJq0p4b2VUdOmU5+1WbP/Wn61ned+9q5o/8Apl1H5FdNL238Qur/AAT1/wAJa15nw0vNMn/1gtJP/QTVb4XNtuLweqp/NqxrS9m06B7Nuk9s4P5Gtr4XF1mvXj6hE/m1fg/GsLeOWQvvSq/+k1T4jGwti4LyOp87/WVXqPTft32+4t56ueR71+3+z9kSFnXB/EL9zqmK7yGHMsdcf8WtN8m68+ioejgtzl4bzyaLybzpcGsvz/arlnN3pVKrpVf3Z7fs2cH/AGb+68+Cuw1ovH4MOOotox/6DXF6brH73/ttXc6rCbzwqYu726f0Nfz74t+0/tvh6/8A0Fw/9KpnLnP8fDf41+aOK/1tV5rOern2Oez/AHM9R/8ALWv3r2XtT3PaoIf3VdD4F/4/pv8Arj/UVhf62t/wUmzUZj6w/wBRX5v4r0q1Lw7zHn/k/wDbonmZt/yLqnp+o3xI3l6tK3qF/wDQRWdzNDWh4m/5DEn+6v8AIVn17fh7TvwFlv8A14pf+kRNsv8A9xpf4V+RJDDmWOuz8Fr9nl08D+G5U/8Aj9cpZ/vuldh4etvsV3ZW/wDdlj/mDX5948f8k7lv/YXS/wDSKh4Wez5oQ/xL8jtNYs/OupP+mtc3rHhUTeYfIrsJv30uKjvLOv26phrE06p5hqGjz2cwre8PZ+3Hb18o4/MVL4js8cil8GRJPr0cD9HUivw/xKdTE+IHC8H/AM/Kv50jHGTvi6L83+hk+I0ZoLyM9TC4/wDHa4DTR5MteqeLrBZfE9zptv0kdUX8VH+Neb6lo8+j6pJBPBL+6mrXwUrxo8Q8Qwn1xc//AEqodmSunJ179Zf5nqHg/wAVedpcdhPP/qq1JtT/AHXn+fXl+j6xPZ1uf29PNa/6/wDOv6GxOXJ0vaU6h6FTBUdyx4k1L7ZdZ8+rnw30GfWNejn8j93FXP2dnfaxqnkQV7Z4J8K/8I3Yfv8A/WS1w+zdI5sTU9kvZ0zI+M7FNItrf0us/wDjrVN8OP8AkUrf/fk/9CNVPi62/SLdv+nr/wBlarfw4i3eErds/wAb/wDoRr8Iy7/lITGf9gi/OkfNx/3t+n+Ru+T+6o/5a1JD/wBcKPJ8mWv3OmdJ5Uunf2t4xudOH/LWe4H6PXAa9ps+j6pJYz/8spq9O8Jt5fxSjb0v5v8A2em/H7wH5N3JrmlQfu5a/nrwKlyZbmD/AOoqp/6TA78hrezjL1/yPI/9bV2H/U/hWdZnzpfIqxxDNX75Up/8/D6/+MF5D/q6p2f+t8itTyftkVR/Y/3vWuekySTyfOi8+o/J8mKtCGH91WhpvhW+1KL9xB5tae1omNTE0jm5v+WdV/O/dV0l54D8R2Z/5BUtU4fh74rvP9TpUtL9z/z8MvrVE5/z/avQ/h/8Mr46HdeKtTt/L+zWzFPripdA+D994a02Xxb4jtvOSMqFj3YySwHXn1r6C1b4GfEK2+B154rkt9EsrE6O161sl/JLKItm8crHsJI9Gxz1r5fjDirKqGX43Koyk6zw85WUJtKMozim5JOKu09G76XtY8DMcf7WMqS7Hkvwpnlhur0RfxRJn8zWH8ePB+Jf7cgg/wBbXX/A34e+PfHK6xceAtHt7+awihM1rLdiF3DFsbC3yn7pzkj2zU2j6H4q+M3itfhJbeHorLUXkkWcX9yY/IMeS+4Fd2Rg/KATx061+NeFnGfD+Q8D5fg8ZKcatSdRQSpVJKTdWVlGUYOLeuqTuup5eW4qGG5ebr5Hz/D/AKn8Kf8A8sq+lpP+CYHxKd2ZPiHoaBuwE3/xFcV8Wv2L/ij8JLM69rqxXemROqvqOnHfGhY4G9Th0GeMkbckDOSK/Z8x40yfKcNLF13UjCOrfsarSXd2g7JdW9EfULNMHTjeTf3P/I8m+2e/6VHNNXY+B/gd4q+JviKPwt4MhkvL2RC/lhVVUQdWZmYBQOOSepA5JAr1i/8A+CZHxZh057u28Z6JPOse5bWN5AXbH3QzIFz9SB7iufJ/EbhniDDyr4GpUqQjo2qNa1+yfJq/JXe3dFwzjAVFeMn9z/yPmaaau0+EvhufUr/7dP8A6uKo/EXwb1Pwj4juvDvikS2t5ZymO5tJIhlG+oJBBHIIyCCCCQa6XRNbt9A01tPsdNA3Jt3mXn+VeJW8dPDrDweGeLlFptNOlWTTWjTThdNdUcVTOsC9Ob8H/kUNduSviIRqPkO4D8q6r4XcSX7/ANyJG/ImuNmsxPqQ1JpPmGflx617X8Bv2b/i34u0g+KNO02xtNOv4gba51K6KGUAsMqiKzYz3IAI5GRXwGM414c4s8Wslx+UTnWpYenUVVxp1PduppXTina8oq9ra7nz+Kr08Ti4ypapeTK0Heo/+WVanxc+HfxV+DdmNZ8R+GrS500zLENQsL0ugc5wGUqGXp1IxnAzk1563xPlfroq/wDf8/4V+l5n4vcB5Ni3hsdiJ06i6So1k7d/4eqfRrRkyr04O0tPkdlXP/FrTfN0H7dBWt8JrfxL8ZvF/wDwifh220+2maFpWkvr/YoVRzgBSzn2UH1OACa9R1P9kH4p6ppsmmzaz4eCum3cLqfj/wAg16+Xcf8ADXEOB+s5dOdSF2rqlUtdWutYLud+AxUKauvyPjjzv3smBViGb/V17P8AE/8AYZ8f/C/wvd+PdQ8S6PdWtq6vcRQTOrqCwUEeYqhuSBgHJzwDXK/DD9mr4m/GAST+CtI8y0S4SG41C5dYoYSSMkknL7QdxCBmAxxkgHlxviJw1QzOGXVZVFXmuZRVGs21rquWD0Vnd9LanqzzPBykoybT9H/keRXnhaez/fwGuseZrfw7FMvVYYv/AGWvK/jHqvxu+F37M3w8/aX07xd4U1vRPH6Txy29lo93GdMu4ndWt2aV/wB4R5bKzAKN6OF3oFkbtNR1bxhqfwOj8R+Fra2l1l9AhvIIJYnZJZBGsjRqq/MSwBVR/eKgnvX5v4tYzD0814elUdowxcW29EkpQud3EGWV6H1SUpRtKo43vs4tJ3ulaz3PUJvhjBr3hy3voIIvM8muD8SfCvXNGkkn8j93Wf8Asx+N/wBrT4463qPhvxtrvhD4eWWmaPJPbaj4m0K4VbufpHAg85c5P3mGSq5IVz8p9G/ZZ0b4q/GzwTe+KPjZ8f8AwT4Ini1KS1s9HufDEzzyomP37efcw7UbPy4DZHUggqP1WfFuRQqc1PGU/wDwOP8AmaYnBywk5SqV6fu2vaV99tk7/LbqeY2ejzw/6PPb1s+GIfJu3H/TL+or2zxB+zFoV5YzSaT+2x4B+2BD9nFx4UCxluwYrqBIHuAfoa8C03Tfjt4S+MWpeCfii/hXUtNh0sT6f4h8HyvLZ3TF1G0OzblYDcCjqrfLkZUhj8L4ncT5PjuAcfRp4mEpyholOLb96OyTPPxcqeJy2s4VoOyva7Teq2TSv8g8WNs1iRv9lf5CsuDvXoHgT9nHxR8X/GOo634r/aA8HeCfDMe2KwivojdajcyCNCzGLzY1SLcWAYtuJQ/Jghqz/wBpD9lrxz8KvB03jj4GftG+B/HT2ULSXuhS2Rtb2QAj/j3VbiRZmwSShKHC/LvJC17nh5xTwxguD8up18TBSjQpJpzjdNQjdNX0OrL54apQo0HXgpOMd27K6WjdrJ99dCn4J0GbUtUt4K7LVLP+zvFwsv8AnlPEv6LXy/4f+Pn7Z3huXzdO+DUZP/TTw7cH/wBqV7BpPxE+IV/8JJfiX400iKy8RRaZc3c9o9q0aJLEHKAox3AEIpIzzmvh/HHP8jzPKMuhgq8ZyWKptqMot25Z62TfVo5eIcmr4WlSk6kJc00kozUndp7pdPM9y8n/AFdSTfva+Pvgj+15+15+0J8VNG+D/wANvDXhm51fW7sQ24k0+ZY4VALPNIwlJWNEDOxAJCqcAnAP2xB+y78VbOKHwR4v/bJ+G1j43uYgYvDsXh8sGkYZVVD3yTOpwfm8sE/3a/ev7Tw/27m2N4WxmU1FTxVSCk1eybbt30i7LzZxfiCGDyDOD2rE8HFhr8JTrzXhv7Vvxl/bD/ZU+LrfCD4waZ4VMpgiubTUtMsp2tr22fjzYmd1YgMHQgqCGRuowT6ouqaxcWcGr+BfEFjE77ZIbyW1+1RSRkdgsiZzwQwavwLxWznLsm424dzKvJxo0qlSUpWbsr0+iu36LU4M7yfEZX9VrVpR5Kl2pJtq2nZX69rnT6ozf8J+jHr9rh/9lro/GHw90rxhF58EEUcleerfeJZ0+36lqlrLqmN32uKyKRbx90+VvJwMDI3c4PIzxJJ42+No2/ZfG+iJhfn8zw27ZPqMXIwPbmvkPD7xJ4NyPN85xGOxDjHEYiVSn7k3eLlNp6RdtGtHZnkYKvQpVKl6qV3pdS189Iv8bMmm+CeuQ3X7j/V1sWfwT1zyv9InrCXx78e16ePfD/8A4S0n/wAlVcX4kfGWSJRd+MNJd8fM0egsoP4Gc4/Ov1b/AIjt4eez5frr/wDBVX/5A9D6/RX/AC/j90//AJA9B8H/AA9sfDf7+f8AeSV0F5N53/LevGLrx98Z3QCy8ZaOjZ+YzeH2cEfhcLitbwv8T/GVhYPD4vksNSuDKTHPZWjWqhMDClS8mTnPOR1Axxk9FPx38Nlo8a//AAVV/wDkDkxOIw0oXVVN9kpfrFL8ToPiz/yArb/r7/8AZWq58OP+RSt/9+T/ANCNcn4r8dSeKbCKxfTVh8uXfuEu7PBGOg9a674eQyweFLdZomQkuwDDHBY4NfG8G8R5VxV434vMssm6lF4Xl5uWUdVKkmrSSfTtr0POpTjPEtra3+Q74i3VxZ+G7g207xuGTDRsQfvDuK9e1bR/2bfhF8OPC+u/EDwxrF5LrunJKJ49QmkkZ/LR23YlRR98AYAHHSvIPiTBjwhcyejx/wDoYr3b4l/CPwh8U/hL4EtfFXxMtPDyWOjxGCW42YuN0EIOPMdOm0fn2r0ePpZm+K8a8DCE60MLQcI1OXkTdeopP32opuN9brZLyNZcznLlV3Zb+p86fDbw74W+I/x6t/D0V3d2Gk6pqtwLWSGYJNFGRI0QDNu+b7o5znpzmux8BfB2SP8AabHwV+JmoX+pWEJmdR9rkiW6RYjJGxGScEAZAIwcjPHPCapp3iL4BfFeOdLWC4n0q7Fzpc1yoeG6iyTDONjYKsMMMNweD0Iq7/w0T4/PxcHxpaHTjq4h8pU+ykQhfK8v7obJ+XuW6+3FfzRlGb5Xk3s6eYxnDEU8Wp1Iq/K6Vl7SMo3s9VorbN62ZxwnGnpLdP8AA9U8W337B/g7xRqHhXWPg/eNd6fdPb3LQxOyl1ODgmcEj8Kz/Gf7PfwG+KHww1L4qfs+efBPpal7rR5ULDCrudNr5dX2/MCGZTtIA5yPEPFvibUfGfie/wDFmrrEt1qN09xcCFSqB2OTgEnA/Gui8AfHPxf8NfCOreDvDNjpoh1pGS+ubi2Z5SpQpgEttwAzYyp5Jzmvdj4l4fM8XXw2ZUYRwslPklThyVYuz9m04ta3tdPTf0NljZSbUtvLc3v2bf2b9M+LLXvi7xhfJp3hnSN3224jZUeRwm4qrMpVVUYZmPQEAdcr3dtd/wDBP7xBqX/CHW/hS6svPbyIdZYTpGrdFcM0hK5OOXTA/iAGa8ltPjn420/4TS/BrT0s4NJuJC1xLHEwnky4cgtuxg4A4HQY9a42vNw3iBRyLLsNh8BSjXm481eddObcm/gheXuxitLqzb16aysXKEUou/e53n7Q/wAAZ/gZ4vTTVkS60u/VpdKumUbygOCkmABvXIzjggg8ZwOItr69s122l5LEB0EchX+Va/iv4leOvHGnadpPizxLc3ttpVuIbCGUjESjjsBubGBubLYAGcAVh18lnuerE5rVq5ZUq06EneMZTbcbpXV1J3Sd+Xra19TnqVXKbcW7epci1PXrydLeHUbuWSRgsaLMxZiTgADPJr6Mh+GXwT/Z+8I6Xqn7QGparqOu6nCXbS7a9kKxHPIVY2X7oYKWZiCQdtfN+kalLo2rWur28McklrcJMiTKSjFWDAMARkcc1vfFb4s+K/jH4kj8UeLvswuIrVbeNLSIoiopY8AknOWPevY4c4spZJgsRia162KfKqUal5U4q95ylG9nK1lHtqy6dZQTb1fTsep/GbwR8HfFnwbufjB8GvEGpxQ2d9FDqGk3l3I6JuYDGyQllbLIQdxUgHHPTd/aj8P+KtY+BHgC+8P6Ve3FtY6EJNSlto2KQx/ZoPmkI4A4PX0NfP8ApPjTWtF8K6v4Os2j+xa0YDeK6ktmFy6FTng5Jz14Ndprv7V/xd13wOnw9lvLGDThp32GYQ2YMk8OwJhmctzgdVxyTXvf658P5lg8b9chKlPEUKcGqUfd9rCrKV0pStGMkoXS2vKyvvftqclK+l1073NP9jDR/iHqHxdt7/wZdvDYWhVtfYy4ja3IbCMufnJIIXg4PPGK9A0O+0C//wCCgU0vh8IUSOaO6aMcNOtoyydzk7hg9OQeO589/Z78I/EbxB8NfG+o/DXxFd2F9ax2jqlhOFlulXzi8XyneuVOVIxuZdvPOI/2LpJR+0PpWXbL292Hyev7hzz+Irr4ZxtTB4LIcudKdq2KjX55O8fdqOny0102vO+t2nqmiqUuWNONt3f9Cf40/Cr44ar8W/EepaH4I8Qz2c+sTvbTW9rKY3QuSCpHBGK9S+GmiePPAv7MHi2P48PMli9lKNNsdQk8yWJWj2hfvZUNIUCpkEEE8Zrh/i5+1n8cPCfxQ1/wzonia3js7DVZoLaNtNhYqiuQBkrk8dzXZ+B/H+o/tQ/s9eLtM+I+kwtdaNAZba+tbbG6RYmkRlXPEgKEHaQCr44yc/QZDLhWPE2PjltavLFyhiEoVFGNKUrS5k+VybS1a5rLTvY0p+y9rLlbvrvsZPwv1JvgF+yFe/EzS44xrPiG62Wk+5W2ZZo4/wDvgLI+3nk8+g8F0r4j+PNG8SJ4usPF2oLqKT+b9qa7dmds5O7J+YHuDkEEg17m9g3xH/YOt7bw7C8k/hu9aS7gVwzfu5HZzwOgjm349B37/OSqzMFVSSTgADrXwvHGLxuCoZRRws3GjHDUpw5W0ueV3OStb3ubd7qyOeu5RUEtrI9N/aP+OXhr44toWrWPheey1SysTFqdxI67JGJzsQDJKqdxDEg/ORjufMa674mfBLx18JdP0nUfGVvbRDWLcywQx3AaSIjBKSKQCGAZc4yvOM5yK5GvkOJsRnWLzqrWzaDjiJcrknFRfwqzaSWrjZ+d7mVVzc257mv4A8PP4s8c6R4ZSAyfb9ShhZBnlWcBunOMZr2j9uH4g6zYeMrD4W+Hb2Sw0nS9MiY2dmxiRnb7oIXAKqioFHQZNeR/CHWovDvxT8O63PEHS21m3d1OenmLk8enWvRP269AutM+Nn9sSQMIdS0yGSOTBwxQGNhn1G0ce49a+oyipVw3hvmFTDNqcq1GM2tH7Plk0r9nPfXU1g2sNJruvuOs/ZE8Sap8Ufh/4t+DXi24bUrYad5mnpesZPL3AqVBJyAHEbKBjackV833EE1rO9tcRlJI3KujDBUg4INfQX7BdjLpd14s8fz27fZrDShFv2nDHJkZR6kCMZ78j1r5/vrn7bezXnlhPNlZ9i5wuTnAzS4onUxHBOS18Q26tq8U3u6cZrlu+ybaWu2wqt3Qg3vqMillhkEsMjIynhlOCK2fCGn+LPG3iiw8JaLqNy11qF0kMX75sAk8seegGSfYGsSvfP2PPDWk+DtD1/8AaJ8XRgWmjWskOnBsZeTblyue5ysY9S7DtXz/AAnk88+zylg3Llp6yqSvZRpxXNOT/wC3Vp52Iow9pUS6C/tleLNP8M6boX7P/hi5Y2ujWsc2otnJeXbhAx7tglz6l1PauXuv2h9Nt/2brb4JeHNAuLK8eZhql6JV8uaMvvJH8RZjwRwAFwCQcDzvxb4n1Txp4nv/ABXrUu+61C6eeY54BY5wPYDAHsBWh8Nvhd40+LHiKPw34M0lp5Cy/aLh8rDbIT9+R8fKowfUnGFBOBXs43irOs44lxNTKotfWIuhCCjeSpaKMI7tPlir27suVWc6rcOunyPN9C0ux+PH/BDK50/TrbfqHwv8UTXHloB8o+0mWRuO3k3rsepyp7V7x8KP2Ooh4I+G/gW++IX2LxJrHw7TU5tNu7HeQ8CWyyqGDjHNzGORxtbJrw7/AIIf67o3j/Tviv8AsreLHMmn+J/Dy3cduemMNbzke+2WL/vmvTvjx+09D4T/AOCzvw98G2l+0Wk6HpEPhu7hU/Ksl+jNjHpue1/74HoK/tDiLhfI+KsPHDZnR9pGL5lq007dHFp69Vez67I/ZM/y2eYY7EZY43UHUrp+sE0l6ybucbpBvz+yJ4v/AGsPGWnPosPhbW59Li0KU+ZJfTxzRwHEnyhP3rsn3Tjyz16Vt/sy/Dzx7+1X+zPqfx8+Gnh0NqVrq8thp/ha4ukjN8Y/JLOLmQqiDEjdQeYyM5PGj/wWv1bQfgv+zB4e+BPhL/Rx4s8cX+s3cKcB086W5kz7edcx4/3a4v8AZF8b+MPhz/wRS+JnjXwF4lvdH1ew8WytZalp9w0U0BMmmqSrryMqzDjsTXx//EG/Dxxv9Uf/AIMq/wDyZ5cOFsoxOSxxlKlaVSsowvKVlBvls/evund79mdt4b/ZV/bd1vWoNM1f9nnTNHt5XAl1G+8c2rxQj1KwLI5+gU1S+OPhnw18G/jLF8D7Txxb63rMehnU9VS1h2CwUyIsUbjcx3uGL4OCFCnBDivi7wt/wUS/bl8O6/a6tpf7Svi27nimUx22oai13FKc/daKXcrg9MEV+in7aumQ61rHwv8Aiv4o8OR6X4v1jwNcxa3aCQB4QGspjAUPzERyzSgHoNxB5Ir5Pjvwu4KyPhPF43CYblqQjeL56js7pbOTT37HDxLwnRyOmp1YQ96MuXkc/iVndqcnpbs99/P5H+Nv7VOk/BvxhH4QbwlNqUjWKXEsqXYiEbMzgJgoc8KDn/ax2rj/APh4DpXf4YXH/g1X/wCN0v8AwUL+Bninw3H4S+PcOnPJoPiSwksZLxFJWG+t55gYnPRS0Wxl6btsmB8pNcb+w/8AsV+O/wBtz4rSeAfDOqf2Rpen2hudd8RS2RnjsYzkRrsDIHkduFTcuQrtnCGvQ4U8KOA8z4XwWMxOFbqVKUJSftKivKUU27KSS16JH1mS8J8GV+GqOYYqn9hOcuee/XRPvpZL0Ox/4eA6V/0TC4/8Gq//ABuuf+J37bd/4y8HXfhfwz4QbTJb6Mwz3ct4s2IWBDqF2Dkg4znjPHOCPJPid4Ib4afEXXfh4/iCy1VtD1aexfUdOLmC4aKQoXQuqkqSD1H5jmsKvqcH4R+H+BxUMRSwfvQaavOpJXWqunJp+jTR9PhOA+EqVSGIpYfVWkrym13V03Z+jR9//wDBDfSIPCNp8YP2hbuC3ceGvCyQxFym8AiW5kGTyikW6ZPAOO+3j4V8W+NfFHjfxnqHxB8Ta1cXWsapqEl9eX8kh8x53cuz57Hcc8dO1fdf/BDbV4PF1p8X/wBnq7mtkHiTwsk0XmBN5AEttJweXUC4TjkDPbdz8J+LPBfifwR4y1D4f+JtGntdY0vUJLG9sJIz5kc6OUZMDqdwxx17V+jL42deWcv+smP5/i/d2/w8v+e59+f8FHNR1X9oL/gmP8FP2ktduIrnVrSaK11S9laMyzPLA8UzbupLS2oZlXuckfLx8I6N8XPij4d02LR9D+IGr2lpCMQ28F+6pGM5wBnAGewr7u/4KOabqv7Pv/BMf4Kfs267bRWurXU0V1qllKsYlhkigeWZdvUFZboKzL3yCfm5+Cr74afEfTPBNp8S9S+H+t2/hy/uDBY+IJ9KmSyuZRuzHHOV8t2GxuASflPoa5q+CweOpcmJpxnFO6UkpK/ezuc/DVHB18pcakYyp+1qciaTVuZ2tf57dD6+8BeJdR1T9mCPxPDrN/PfHw1cyte3Uu6Y3CpJuYN14cHb3wFrjf8AgmX4i+Mnxh/bN8JeE9T1XUfEOjLJcT+ILLUc3NslmsDhnkVztUbigVj0dkxkkA9t+y94yn+HP7Pvh/4hW1il1JoNrNqMdtI5VZmgnklCEjoCVxn3r6H/AGJP+Ckd/wDtOfH7TfhL8Cv2TNE8H6bdibU/HesQzLKViRD84EMUI3vKY0DvvPz9O4/EPDHKssxGbZ7Grh4SUcTJRvGL5VzT0V1ovJH5zlsZUVm8YYWM4qc1zNxSgveWiav6KPXQ+TP+CpGteJvgl+2n4o8EfDLx5q+n6V5FndR6ZbTtDDZvLbRu0cYViCmTu6LguVx8uTR/4J06/ofxc/aV07R/2lf2k7nRPDtjA94LPVNae3j1edCClo0zEJGh5ZtzAsF2Ly+V0v2yvBHjf9tv/gqR4o+FXwyn0n+0bjVl0mymvL6OGBEs7dUld3XJcr5chKqHkwpUKSu0fOXxn+Dvjz4BfE7V/hH8S9J+x6xot0YbmNSWSQYBSWNiBujdSrK2BkMOB0r9hXD2QONvqlK//XuH+R+iYDK8rxWTUsHJQjWlSi21GPMk1bm276X/ABvqfoB/wVO+Afxsh0j/AIak/Zm8caC/wz07T4o5rHwZMIZYMuVkuneMlLtPMwCysCgIHl4V5Dw3/BObWtT+Ifwv1vU/Hl/Lq9zDr5ihn1BzKyJ5ER2gt0GSTj3rq/8AgnDp2peFv+CX3xv8TfFuyn/4QzUbO+OjQXMLMszizMUskS7lyDL5KArt+eNvmyDt43/glp/yR3xB/wBjMf8A0nhrsy7h3h14i08JSa/69w/yPic3wmHw3DeKwnJCToVIRU1FJtOzs2vtLZn0pF4T8MvJ+60G0I94FrTVVRQiKAAMAAdKbZ/60/Wn/wCtr6PB5Rl2XtvC0YU778sVG9tr2SufmSjFbIxPib/yJFz/AL8f/oa12H7X3/JGPhj/ANgkf+k1vXm/xjv7uO3stOjmIhl3vIgH3iu3H5ZNGrW3xb+IvhzSLTX/ABULyxsLULpkFxOf3SH1wvJxgZOTgAZwAK/mHxNxeO4h4tzbJ8twlStVWHoU3ypNJxqe25nrfltNRWl+ZbW1OOrJynOCV3Zf5no/7NfiTQPjT8O9Q/Zs8fyp9oFu0nhy9kQM8QHzFVJ5yjfMB3QuvAFc/wDsxeDdU8H/ALVFr4M8VacqXViLyKeGRcqSIHIYZ6qRhge4INcloXw4+IvhjV7bxFoOpW9reWcyy21xFOcowPB+7z9DwRwa2rI/Hj/hYB+JsHjOM64xO69eXOQRjZs2bdmONmNo7DivlMFw9xjJZXWx+UV5V8HVh76gnz0ItSUXdq8oPSHTldm9CYqb5HKLun+BJ8afgj8WdV+LXiPUtD+GesT2c+sTvbTW+nOY3QucFSBgjFemfBrwD4g+Ef7OfjPVfi3py2Vvd2khsbK8iR5Ii0RTdtPQu7IApwcrzjNYf/C6f2td23/hMdJz/wBeMP8A8brjfiEvx5+JpB8c+NEvIVcMlp9oKQqwyAwjRQucE84zz1r1KHClfKMxxGa5blmNq15qooxnCEaadRNNy5ZSbSvovxW5pyKnJyjF3/zO7+A9toPx4/Z11T4I3N9bQ69pztLpbTMA7Ju8xG/vFQxZG67Qw9QK8y0r9lz466n4kTw1J8Pb61Zp/LkvLlAtvGAeXMv3WUDn5Sc9sniqWh+APiJ4Y1WLWvDuvR2N5ASYbm0vHjdMjBwQM8gkH1BxXoV78af2qr3T5NLfx/ZKJI9jTQW0SSAYxkMsYKn3GD6V51Pg3Ms6y/Cwz3KcXGth4qmpUYwaqU46xUuZrlkr25lfTV9Eo9nzxXtIu67dTA/ak+HHwp+FWpaN4O8CXMk2q29j/wAT6Q3e9S/G1mXny3bk7QQAu3jnJ8orrNQ+GnjXULyXUdT1CG4uJ5DJNPNcs7yOTkszEZJJ7ms/W/h/rug6c+p30luY0IDCOQk8nHpXw3FHBXF9XF4jMllE8Nh4rm5VG0YQjHdv0V5Pq7s56kZSk5KNkUvCus/8I74n07X8HFlfRTkBc5COGIwevTpX0D+1b8F9b+JeoaV8X/hBox1fTtR0yNZk02LLggkpJsHJBVsEAZUoc4rxfwL4G07xTYS3d5dzRtHNsAixjGAe4969M+H+u+PvhjaDTvCHxE1OG0XO2ymEc0KZJJ2o6kLkkk4xkmvvPD7w14izvhmpTxOG58HiuWcZwnBVISg2k1GbSaabUk9bWsb0KUpU2pLRnJa74P1r4O/Ce70zxz4cmtdW8XTxCximVd1tbWzq7u3OVZ3dAFxnCMTjjK/Gj40+G/iX4G8J+F9F8MTWM+hWPlXk8jIRK+xE+XaMsMIGyccsRjjJr/H3xN4w8VarY6l4v8UXOpSeXIIVlRESEZXIRUUAZ4ycZOB6Vp/C+DX/AAXYJrnhLxVdWUuoWq/aE8mKVGyM/dkRhkc4bGRk4PNefT4J4jxnFGO4Vy2LjSpU6cail7KU+S6qp35oxcnUm3pNWi7dEieSTqOnHb+n+Zz/AMCPi9qPwX+IFv4qt0eazcGHU7RGx50B647blOGHuMdCa6Xwx8bvh34Y/aWl+L2k+Eb610WWWYiyjkQyoZIyrSBfujJJbYGwCcBsDFZ938PrKDUX15/EupfbRN532sTASeZnO7djOc85rTP7SXxK8LWyaTaeMVuVjGFlvdMtpZMe7tHlvqSTX0uQeEviRhKVLC1pKEKFVVqdlSqNTX+KpBxTsm4ptN676m9DC4iSSXR3W3+Z2mu/F39iDxLrN14g1z4aavcXl5O01zO0TgyOxyTgXAA59BWF8S/2pvBg+Ht38J/gd4A/sXS71Sl1dzbUd0Iw4CKTlmAALsxOMjHQjx3xt8TvFnj3VPtniPV7m9dSTGkmFSPPXaigKucDoB0qPQRoWozeRqD3ETf7DL/UV6+YeH3jFiI1o4LC4amqialUhGjTqSjL4k2pTav1tJvzN6mDx6vaKV/Q7X4B/tBeIPgdrExhsxqGkXw/4mGlu4XewBCurFTtYZ+jDg9iPTYPjn+xpoOonxn4e+Dl3/a8RM1tC1oixrN1GAZWRMHoQvy4yBkCuN1vwpqHjbQtOt9T8Z393Y6dD5VlHIIx5a+5Cgse2WycADOABWXY/DPRNF1KG7F1cSspOEk27TxjnArkyXw28V8qVHARhSnh4yTjKtGnUlR5rc8qceaTVnqkpatXtFtmEKOJhaOlvPoYnxm+MXib41eLn8Ta/iKGMGPT7GMgpaxZztzgbj3LHkn0AAHJV66RYxTfuLFPL9doqSFLf/ngn/fIrvxn0bs1zXGTxeLzfmqTd5SdF3b/APBv3LZLRaEVMHNu7ldnkEMU08qxW8TO5Pyqikk/TFfRvhD47+FvH3gfT/CX7QfwovNZbTo9kOrIVaSTHG4hmR0YqFDEMdxGTXh+jAD4h4AwBfS4H/fVegwd68/wR8PqWZ4fG4qripKEakqEqahCUKiioyTkpqa3btZXXSWrTnDRsm7+R0XxW+M8Mnw9n+EvwO+Gk+g6Tcv/AKXdNJGkkyH767VYnLYUFixJUFSMGsr9l3x/bfBS+1SfxV8N7i9a+hVYL6z8ppogM5iw7gbGyCSDnKjIbjFaftRB3r9freEWAjntHNvrlb2lJcsElRUIRs1yxh7KyWr8+t7nVClzVFO+3ocB4v0fV/E3irUdf0nwcmm215dySwWFu67IFY5CDkdPYAegA4r0H4hfEPUNd+B+gfBzwV4IvtNhsgH1gy3EbLPIuSNpB+YMxMhyBhsAA4zVGLEN1H+4q5XnQ8BeGsto4n2ONrp4mLjP+DdpyUmlal7qbVmlZNaW2tCw8Vez3PMf+EH8V/8AQHf/AL7X/Gvo34cfFn4M+Hfg+vw0vvhdrsK3VsY9btrGaMG6dhh3M3nxsQwHI4wp2Y2jFeeT9qIO9Xw14IZDw3ialbA4ipJzi4PnVKXuvdK9LS+z6Nbp6FUqFOi73/I/Oj9hL9oD4hfss/HK2+NPgj4W3XiuOKznsb7TIPOTzo5ACVEkaOEYFVI3K44+70IPiz4u/aF+KX7Td9+07cfBXW7LVLzxDFq1tYJpF48URiZDFHuIDsAI1BIK98beAPaf+CZGi283w41zW5Y8tHr5jU/9sIz/AFr6emm8+Wv0WjhvayR+y53xbTyrPKyjhoymlyOTk9Y72tt19T4u/b2/aN+Pf7dXi/QPEep/s3a14dt9A0t7aCzgtLu5MkkjBpJCxiQAEquFC5AGCzcEd9+xJ+2v4v8A2XvgNqX7PnxD/Yf1bxno99q0l+/m2kyrMziMFJopreVHAMSEEBQNo4J+avo+abyqx9e8YWOmxZgn/eV6VLJJVlZM+dqcY4arl8cC8HH2UXdJTkrNO+++77nI23/BS7wP4UlGv/Dv/gk5HpmtWwLaffx6TFEYZOgbdFYBx+BB9xXmfhr9ob9pH9qL9ofUPif8fPC9xpMdv4b+xaPYRaTNa2dpH50bFI/NyzMxyzMzMx9lVVHpWpfE6eeXyIJ6z7HxPLq8y2txODhMqCepr5HxY4Tr4bwyzLEXbcad7W7Sjf7lqeZmGc4SWW1qdLCKMpxtzOcpNK6enNe3yH+H/wBvz4s/AzWdY+CPi79l0/Er4ezBJbW2/s2QskjpG7IXMUsUsYkDNtZNwZid2AFrG+N3/BS7496x8L7r4T/spfsbah8LLHU0cajqOlaVMLlC20Frb7PBCkDlV2mQhmwflKFQ1dhp/iHUNNg+z274UE4Fadt8Qb2Db5lmr7U2/wCsx/Svy/hTxO8NMs4UwOFxOPca1OlTjOPsqrtJRSauoNOz6p2ZzYDifKcJRpKWEjKUFG95Ts2klzOPw3+R+cDfCf4szTMX+GviJ5GJLZ0ackn1PyU2X4S/FWBd03wz8QIPVtFnH/slfo1D4wMV1HdHTVJj6Dzf/rUl34va8Vll08fN/wBNP/rV7lXxi8MYr3Me3/3Cq/8AyB9dHxX70V97/wAj4J+CHiX48/s8/FXRvjD8OPDGrW2r6JdiaDzdLmMcykFXhkUAFo3QsjAEHDHBBwR9tWv/AAV7vtRWHxv4v/4J1WV/47tolEHiKKAqFcDAZWe1eaMDnCiQkdN1QX2k2l5cfaFXYfTrSQ6THE27zSfwqv8AiMHhXLfHy/8ABVX/AOQPNzDjnJ81qKeJwyckrX5pp27XVrryZ8f/ALYP7Qnxw/ae+K7fFf44aO+nXM1oltpmmx2csFtaW8f/ACzhWUlsbmZ2JJJaQ9BgD7N1v4r/ALWn7Rn/AAT/ANA+AGn/AAy8B2Vnqmg2NvJrz6pJmSyiCNEEtBb7IJsRx5cOwBDFVQkFfNvjx+ztp/xvk0qWTxNLph0xJl+S1Evm+YUPdlxjZ79a9a+GviR/h18PdF8AxWgu00bTYbRbpn2GURqF3FcHGcdMmlR8YvC11WqmNfKtv3VX/wCQNc141yitlWEeFhFVaUr8rjK0LbWeifR9fM5H4HeEfEXwK8IaF4a8SadY6hqOgv5s1mtwfs9yRKZVjLlCQrAgE7TjJ4Nez+LP2gf2iJ/h/qHhj9kf9nL4c/Dx9WgkS91WHVSZY2ZColiSC0hUSrnKu+8Aj7prg7t5fFviAstqQbuRVMaEtgYAP6DNeoaDpsGg6XHYwV43gl9QzXFZ7jYNulUxLlB6q8W5yW6T2adnqr6o+HwebVfrVbEShGTnNyd72u23tdJq76pnxF8Pf2Dv2wPhj480z4o+BvFvh6y1zSL9LyxvxqUjskynOSGhIcHkEMCGBIIIJr7i0/49fFrxvpNs/wC0x+x18LvFms2alYNRh1XEYUnOFjurOdo+2cOQT2FPqT/lrX72stwtTv8Aee7mHFeYZpKMsTCDcdmk4teV4yTt5Hiv7aDft7ftd+Hovhtb2ngzwf4Nt5g40DRdbuS12qhfLS5k8pRKiEblRURQcEglVIP2Jv2e/G/7PXw/1Pwz48utPku77WWuoxp07SKsflRoMllXnKnjHTHNe3QzUVdLA0qMrxObEcRY3EZZ/Z6jCNK97RVndebbb9XqEHeiGGpIYf8ApvRB3rqPBOG+Nv8Ar9N/65y/zWur8J/8ippX/Xmn8q5L41/8fGnf7kv81rpfB/8AyLen/wDXon8q/C+E/wDk+Wff9eqX/pFI5qeuKkb0X76XyKp+K/F+leFbX/ll5lWNe1ix8K6X9un/ANZXhfjfxJfeJLqSfz/3dfu9Omqp7eGwVzuIfjlBNd/88o6uf8LU0qaKP9/Xkfke9Z80M8Mvn+fLXpYarl38P2Z6ywFE94s/G9jef8t4q6Dw3eWGsWvn+fXzXZalq1n/AMt5K3PDfxI1zQf9H8+Ty6eJy7CVaX7s5qmWn0Beab5J8+uY+KUe3wdcn/bj/wDQxVv4V+PIPHthJY33+sqP4uw+V4SvP+ukf/oYr898RabwvAmaU5/9A9X/ANNyPCxtL2UGYfwg/wCQZP8A9fX/ALKK7Cb/AKYfhXJfCJN/h+6/6/P/AGVa3fFWsQeFNBk1WvJ8IFV/4hxl1v5H/wClSOSj/CRynxk/1+n/AO5J/Na6rwX/AMi7p/8A16J/IVxHxC1WDXNP0jVIOksMhP5rXXabef2d4Bs7j/p0j/kK+N4Tj7Pxyz5dqVL/ANIpF4f/AHuXy/QyfG3iTyfMgrzu8m+2H7RWhr2pf2lfyY/5ZVn1+30z6WlhivDaf8t6OYbqpJpvKqvN/rvxrpw2N9lod1I9E+GPxCgs/wDiVX0/7uu4vPIvP31j/q6+e4fPgl8/z69E+G/jaeGL+yr6avRqYf2v7ymebjcMdRNNP5tXLOq80Pm/v4KuQw+RFXF7T/n4eRU0Z51ovPxEz/0+zf8As1egw/uq8/0L/kov/b7N/wCzV6J/yyr+f/Afm/sPMuX/AKC6n/pNM4cL8L9Q8/2o8n/lv+tSUf8ALKv3upsdRX87/WVJB3qP/W0f8tapfwQJKPI96KWH/U/hSX8YD5U/4JjySD4Sa9EPunxISf8AwHir6KmvPJi/f187/wDBMX/kkWv/APYyH/0nir2D4heKvsdh5EFPK6NKph4xfU+r4rXPxPiF/e/REeveNoIJZIPPrg9Y1O+1KWTyJ6z7yaeaXz6rz+MND0eKS4vr795X3OByyt7X2eD/AHh59PDBDeXEN1+/q7bRtHOLpGII6EGuSvfjN4Hhl+z+f+8rY8N+NvDmsReRBff62voqnDmc1MC3XpXTVmmtGuzXY7fZJ0bM35tbvoY8/bGz9araR46jvZpITqGTH7VxPxs8VT+D/Dnn2M/mSS14XoPjzxHLdSD7fJ+9rr4f8I+EMywHtK+Aor/uFD/5E5/Y4T4OVfcfafhrV9MvZY4Vuop89dzg13+kaV4fvo9x0yD/AL9ivhnwT8U/EfhvxbHBPPJ5fnV9efDfxtBefZ/3/wDra+U4v8J+Gct/e0sFR9n/ANe4f/InPUwVP+VHbnwpocfXSIj/AMAFTWvhXw8Pv6JAfrGKvzfvos0Qd6/JanC/DC/5g6X/AILh/keTV9nS6I+S/wDgpL4t8SfDrVvCMPgHXLrRlu7e9N0unTGISlWh2ltvXGTj6mvev2d7LT/EHwK8I65rtlHd3t34ftZbq6uEDPK7RglmJ5JJ7186/wDBVr/kNeCf+vW//wDQoK+kP2ZP+Tc/BH/Ys2f/AKKFcVLhvh365NfU6VtP+XcPLyPtM1w2GjwTgakYJScpXdld6y3Z2Vlomj6fMlxY6ZBE5BG9IwDj61eqneTTiKPyP+e1XIO9ezRwWDw1L2WGpxhHe0Uoq/okkfEJJbEn/LKipKr10fwhliGGpP8AVUsP+p/Ckm/fS4rWkAQ/uqKKkh/e0wOA+Nf/AB8ad/uS/wA1rsfAULN4Z065b7kdnHn/AL5rkPjamyfTfeOX+a113hqf+zvhlHff9Q5P5V+C8Mf8nvz7/r3S/wDSKRlh9cZL5foedfGDxhcaxrP2GCf93FXJ+R71JeTfbNZkno/5a1+4fvD63C0inP2qvNDP1o1jUvsdr58EHmyf88qj0fxVpWvS/wBlf8e15/01rX2TpUvaQPTpEfk/vaPKm9KsXlnPDL5FR8zQ0LHGnsjrPhXrH9g69HXqfxjKzeCLiePp5kef++xXimjz+TdefXq/irUV1T4PmVvvxiIH/v4K+f8AEj2Vbw8zGp1+r1v/AE3I+XzjD8tKT8it8HP+QDc/9fh/9AWum1jR4NX0uTSr7/Vy1zXwYP8AxIbof9Pf/sq12Pnfuq+c8Jqkl4b5ao/yf+3SPn6P8JHmnxO0a10K20uxs/uBJSPzWtTV5QPh/pw/6c4//QRVf41bN+mbP+ecufzWl1iXb4G09cf8uifyFfFcMVqi8bs9l1dOl/6RSOnBf7/L+uxw15/rR9aih/e1Lef60fWov9VX7nUqe1/iH1C2D/llUd5D2qxDB/ywNSeR71nU9l7L92aGP5HvWpo48m6zVe8sz5tWLOE+bXpYGqzX+Kj0jwHrEE3mWM8/7yukm/c+ZXlej6l9jv454K9QhvINStY77/pjXbiaf7k+cxtKx5voTY+Iu/8A6fZv/Zq9IhhrzfQhv+Iv1vZv/Zq9Ih/1341/PHgJ7T+w8y5f+gup/wCk0zxcN8L9Qn7Uef7UTf62Oo5v3Pl+RX7r7L/l4dATQ1Gf46kn7VH5HvXTTNCSDvUnke9Hke9R1nU2A+SP+Cc+pRaZ8D/EUxkw/wDwkZx/4DxV2+vax/bt1J+/rx39jDWn0/4I61ZJ1m8RN/6Iipvxg+M3/CvYvIg/4+Ja+s4KyCtncqMIf1qfZcTQvxLiX/e/RHSeKvippOhSyWP2j95Xzn43+IWq6xrMlx9u/d+dVP8A4STVvGGqf2rPN+8/541j6xZ30N15Ga/ofKMkwfD9X/p4eJUxLpFi88ST/b/9f/qq6Tw342vv9fb337yuHms/3tSWU0+m817+IzBYup7M5vr1arVPUPGHxIn8SWtnpWq/8sq5uHU7HTb/AM+CeubvNSnvIvtFU/On82uLDYalRq2FTxP749AhvLG9/wCJr5/7zzq+kPgz4kz4Xs5xXyPo899NLHY/89a+qPhho8+m+CLM3H/XSvl+PquXPL6eHPYw16tI+oPB+o/2xosdwa2IYfJlxXmfwN8VedL/AGHPPXqFfzXmWC+q1uQ8PHUv3x8Y/wDBVf8A5DXgr/r1v/8A0KCvpj9lr/k3DwT/ANizaf8Aopa+af8Agq3/AMh3wX/163//AKFBX0p+y9Fn9m/wSf8AqWrT/wBFLXj0f9+qei/Q+0zf/khcv/xT/OR3FWPJ82o4Yf3tXIYf3VdZ8ER1H/y1qx5HvR5HvQAQd6Kkhho8nzpfPrGkAf62iGGpPI96khh/e1rSA86+N6bLnThn+CX+a1sate/2d8HLA+djzYI+P+Aisv47f8fOm/8AXOX+a1c8aoB8KNBT1s4z+lfgXDk5rxvz59fZ0v8A0ikGX64+X9djywf66SrFnD9s8yCo/wDlrVzR4f3tfulJn1q/dFzTfhvPZxf2rB/pPm1zfxC8NwTWsmuW9j9m1Cwm8z9z/wA8q9k+G+pQabf28E/723/5bVx/xms9Ks9UkuLGD93dTS+d/wBcqX13Fe19lUDDYmr7X2Zxc00Go6Xb6rBP/rYar/8ALKo/BMM954Dt5/8AptLFDUn7/wD1H6Vx01SpVj0yzaf62P616M15LN8KL2F+gli/9DWvNYf9an1r0BI9vw4vj/txf+hrXi8e/wDJvsz/AOwer/6bkfO5z/An6M2vgu2zRblv+nv/ANlWutrkfg4m/wAP3X/X5/7Itdl5HvXi+Er9n4c5c/7j/wDSpHzdD+Cjzz4x/wCt04/7En/stWtUs/N8B6fNj/l0T+Qqt8ZU2XNh7iX/ANlroLHT/t/w7tm/552cZ/8AHRXxnDevjdnsu1Ol/wCkUjXBf7/L+ux5LeTeTdSUef7VJrERhupDVODvX7fUqe1pH11I1LP990qxDD5tU7OtSzh7VpT9jYRTvLOpNNs/f61qQ6Z51STab/ZttJPTpfujn9qYfnfvZMCvSPB83naDHXnfk/va9A8B/vtG617/ALVVcIc2N2OQ0D/kpA/6/Zv/AGavR4O9edeH0z8S9mP+X6Yf+h16TX86eAjqPI8yS/6C6n/pNM+bwvwy9SObyf3dH+tqSo6/elUpeyOkjH8FSeR70UVmZkdR+d+9qTz/AGo/5ZVoaHwF+ytfx2Hwd1iZ/wCDXGP/AJBjrxT42+ML7xJ43uD5/wC7im/c163+zrE03wR19If9Z/arY/79R18+a/DP/b1x5/8ArPOr9k8JIU3l7b3/AOCfUcXVuTiTEx/vfojU8H6l/Zt1H+/rvNY02xvLWPVYK4vQfB9xexfbq7Dw3ps95pclj/y0ir9ZqYylU/iHiU6hz+r+RDF51Zd5N51aHiSH7HDJBP8A6ysOGb97Sw9Sk/3lM4vaUvbGhpsOJfIH+rrU03w35xqPQbPzv39d58MdNsdY1n+yp6461WvRpe0NaVK9YsfCr4YnUtUt7+eD9351fSlnZwQ6PHBB/wAsq5/wrptj4bsLewrpJof9Fj8ivyDP8bWx+L56h7+GvSolz4YXv9m+I/PH/PavfNN/fWEdeD+CNNnmuvPgP7zzq900HP8AZcfn/wDPGvic2qHm5kfHH/BV1dmueCR/063/AP6FBX0n+y7/AMm5+CP+xZs//RS182/8FXtn9t+Cdv8Az63/AP6FBX0l+yv/AMm8+CP+xZtP/RS18lSv9dnyeX6H1eb/APJC5f8A4p/nI9T/AGd/AOj/ABN/4SrX/HHjHUbSy0CXmKySNQsf7xi5YoxOAh4A/E9K6FLf9kW6YW0Px51ZHkO1XcqoUnuS1tgfjxTP2PdDufEXhb4maDaSxpJqD/ZonkbhWdLhQTjnHzDt61gRf8E+fiR5q/a/G+hJFn946GZio7kAoM/mK/l9Zvx7DJsLWyvDyxTqSre0lOrVumq04xS/exSXKu1lY/OU6vs4uMb3v+fqZX7Qnw08cfBy30/xPovxA/tnQtVOLW9W3jDIxG5VJXKsGXkMDzg8DjPoY+GvwY8G+BNA8R/FL4ta1ay61YpPFLsjVXYorkKiQvtwHHUn61zP7T/izwP4M+Deg/s++EfE8Ws3FhKj31zFNv8AKCbuG2khWZ2OEJO1V5/hNd18U/gD4n+OPwk8B2Xh3WLC0bTNHiaY3jvht9vCBtKK2fums8Nj87pZvmccrqVMRVp0qMo0XXq1IQqTkvawUvaLm5Vd35tLW7oEmpy5NXZaX69TH034b/A34mu3h74T/tAXyaqVLRx3UccnmADJxG0UbNgAn5TwOTXiur2Pxm0X4lS/Chbt7jWEvhaxQwIm2ZjgqyllGFIIbJxgHJxzXtXwV/Yk8Q+A/H9h418W+MrORNMnE8NtpqyFpXAOAzMF2rnqADkccZqX4TatpXxQ/bN8SeLWs5Yv7G054bGK4gZX3IUgZ2D8ocF+MA4bnBznDHR4vzTD4BY6rVwGKrYhU+WnXq2lS5eaUuV1JKMo2stdb6rVClGpNR5vdbffoQN8Lfhd8K9PtrH46fHa6i1m6iEptrARosQxyNoidiM5Ac7Q2OAMGua+NXwp8R+HvCC/Fj4P/EaTX/DjDdcErC0lsnA37lA3jdkEbQydwcMR478UvFupeOviHrHinVZmeW6v5Cob+BAdqIPQKoA/CtDwR8cPHfgDwXrPgHQ7i2fTtbjK3EV1B5nlFhtdowTgFl+U5B4AxggGvkMV4qU8XUxGXzlWpUEpKlVhXrOspRvyOblUtNSa96Nla++lzF4iDbjay6O7uc9rXiPW/ELRtrN+05iBEZZVGM4z0A9BUl54u8Raho8OgXmps9nbqBDCUUBQOnIGazaK/JKfEfENLGTxcMZVVWdlKaqTUpJWspSvd2srXfRHNGpUhK8W0z0f4B/s9XHxgTUvEOs6s2laDo8Je71Dywd7gbjGpYhRhMszHO3K5BzXRfC/9m6b40+EJPE3gDTBo0UdwYEn1PxCJzIygFsxx2oIxkdSvXoRXQ3003gz9ga1WxvCH13UNsrISOGncsvT+7Fg9jz1zzP8GtJ13Xf2JfE2k+GbC5ub6bV3FvBaIWkchrYnaBz0Br96ynHZnRrYbA1cViKkng54mpatPmnKS5oU4u8nDlirXhZtyu72senCvXVoucnpd6v7ilJ+w/8AHDT7Z5dO8caHJIq5WISSqWPpkxYH415B8Q/BfxF8MeI/+EI+IGlvb3soQRxzNGEkVjhWWQHaVzxuBwCCDgg10Phv4O/tNx65bPoXhHxLZ3QlBhuX8yARn1LsQFH1Nen/ALb9zZx3PgfSNXuIZ/EEMRa/mhTAKExgnrwrSK5Ax2PTv5WPzDNsw4dxOZ0KmOwc6Dpr95iKso1FOXK0nJRfOt9Lq2+5m61dwdRSlFrzepneCP8Agn74m0jTYbTX7nTJIUAeKytNXkh8pu4LG2k3Y9jj61m/Ff8AYk8W6JpX9q+DPCQvDEpa4ittd+0PtAJOI3t4ix9lJJ7Cus/bX8B/E/xX4/0q98DeGNYvrePRwk0mnQSOqv5shwSvfBH50z9jn4f/AB78LeOJtR8VWep6boH2SQXdtqjsomk42bI2OQwPO/GMAjPNfYVsbjZcRS4cpwxyhzcv1iNecmtE+e8ofCuvv7Xt2Ol4nEup7Pmn68zPmWw0mW5v4rHTrF5LmaVY4oY1Jd3JwFA7knjFfRulfsa/EnWPh6umXP2fSr2dlaWK91sShcHOGSK2I5xkYkOOMk9Kv/s6aL4OvPjZ8QPjJYxRnStDmuG08oQAu8uzyKCTgbEYA5Aw54HQeE/ET4t+NviP4vufFusa5dK8spNtBHcMEto8/LGgB4AHp1OSeSTXwSzjE5BkLxGeY3EYtYqVWnCmq8lB0oPknOTlzv3npFJK6vq76ckq1RU71ZuV7q13sX/Hngn4r/APU/8AhGvEMf2RLktLbTwFJIrkA7SyNjPpwcMMjIGRSWPxmv7WzW3uNGSaQIBJMZ9u845OAvFdR4j/AGl7fx3+z9/wq/x7pN3qOuW91GbHV2lXARTkSOxyzSAEoePmByWB6+RV8/X43zfhPFRjwxmdR4acItQnafsrtt03GacLxf2oJXT3et+eVR03+7lp+Rt+M/GcnjCS3kk09YDAGHyybt2cewx0r0f4H6N8Svinp50Pwd4QgltbCJILrUbu+8qKPIOP4SWPHRQSOM9RXjtfSnxH1nVfgn+yJ4X8N+GN2mX3iApJf3FtmOUhk81yWHIY5jUn+6COnT0uCeKOIK+eZhxDjMXJclJSrShGnzVLcsKcFeDjG7Su1G9k+ruXh5z55VG9tzjPil+xT8X/AA/aXPiezTT9StooWluYNNuGMkaqCSQsiqX4HRck+leMJaBOj/pXsn7IHxS8T+HfjHp3h6bWrmXTtZdra6tZZmdN5UlHAJwGDBRn0JFc1+0n4Sg8FfG3X9FstPS1tmu/PtYYk2oI5FDjaOwySMDgYwMYxX0+eeJ/Flbh6nnmTYypSh7R0qlOcaM+WXLzRcZeyTaave/XY7Z5ljPZqcJtdNl/kcOjlKu2erSRsIo7QuWICqDyT6DiqNe6fsp/CvRNJ066/aL+Jw8jRNDDSaasq/6+ZTjzAD97a2FUd5CP7uD4HDniR4qcQ5rDB0cw5VrKcnTpcsIR1lOXuaKK+92W7M6eZZjVly8/4L/I5/4lfDzx98FtH0jVfGGiWSx6nHmOKHUN0kLgAmN1Kj5hnkruX3rS+E/wf8ZfH/RbvVfD8ukWUFpMInF3fsZCxGfuIjFR7tjPbODjrv26dbHiXwD4E8RrbmIahDLciItnZ5kULbc98ZxXzfb3d3aEta3MkRI5Mblc/lX1HE3itxRwtxlPCfWqlfCxjBqP7qEnz04yvzKi2tXe1vIKmOr0a1uZtfL/ACPoP/hg/wCKG7d/wlWgf9/Z/wD41XM/E/4feNP2cLaxtvEUemX0OobxBNZXzZyuNwKOgbuOQCORyDxVL9lPwLq3xP8AivarqF7cPpmkgXuo75mKsFPyRnPHzNjIPVQ1Zv7TnxQHxT+LF9qVlcb9OsD9j03B4MaE5cY/vNk59MelelmfjFxAuDHmeFqVMPVqVOSleVKfNy2dSTTor3V8P+J9Laurjak6PM3Zvbb/ACOc8PM7/EJXXqbyUj8mr0n/AFtZbfs4/HDwpfxeOLz4d3dxaF2m8uwminlCsDjKIxbv6Vkf8LZ0f/oHXP5L/jX0fhRxTk3BOU4yhxBUeGqVcROpBVITi5QcYJSV46q6Iw840YtT0uzq/wDllUf/AF7/AIVzEHxS0h5ykemXbNIQEVVUknPTrXqWnfA/40XdnHeL8OZ4xLGHVJtQtkdQRnDKZMqfY8jvX7FlviBwhnLksBifa8tr8kKkrX2vaDtfobxqQn8OpzH77zajn7V2J+BXxsAJHw9c8dBqlrz/AORa80v/ABfPpniJ/CV94W1OPU47kW7WJhBl80nAQKDkkkjGOuRjrWmYcd8LZTGMsbXdJSdlzwqRu+yvBXfkRKSh8WhrQ/63yM1JW3afBf41Xul/23H8L79Yyu4QTXMCTEf9c2kDA+xGfauJ1Tx7F4Z1WbRPEfhvU7G7gIE9tc24SRCQCMqxBGQQfoRUY7j/AIRyynCeMxPsoz+FzhUin6OUEi5VIRV3ofDv7I+npffDLWhJ0Gpt/wCio68M+IVnB/wlt5BBB/y2r3D9kSeaPwLqUY+4dWOfr5SV5/8AG3wVfeG/GVxqv/LOX95X9DeGNdYahBudr/5n13GFO/EWIf8Ae/RHN6FrFxZxRwV2nw316xh8W29vP/q5a4PTZvtkvkGus0HR5/t8d9BBJ+6h8yv2rG1cHTXs/wDn4eD7T96anxs8H6VNrMk+lTV5eNHnhl8muo17xJPqWsyefPUln4bmvIvt1cmCw31D3KlQ56lP2rKejnybXFdZ8MfP/wCEot/IrDHhu4hij5r2D9m/4Y/2lfx6rff6uKrz/NcJhcutTO3DL98eqQ+G/Oit/P8A9ZFW5/Zv7qOq+pTf6VWhZ2d95UfkV+F1aqqup9YqHpHUeA9Ng0218+evRNHlE1rGK4fQbOeGGOCeu40ez8mw5r5rMvYnkYmqfH3/AAVh/wCQ/wCCv+vW/wD/AEKCvpT9lv8A5Nx8Ef8AYs2f/opa+av+Cr3/ACGvBH/Xrf8A/oUFfRX7O99LYfsueEtQgVS8HhG2dAwyCRCOtfG18VRwNaviavwwi5P0irv8EfYZw7cCYB/3p/nM9s/ZaZk+HnxZdGIItZCCDyD5NzXn/wCzJ8dLv4XeP0h8SajJLoWrYttUSdy6xAnCzYOfuknPqpbvisn4Y/Ez4o+HNH8Q6B4Jht5oddg2amZoEZlzuG5SxHJBcc5GGPGcEc+Ph54yY4XQ3J/66J/jX8OVMw4lx2HyvMMiwdeTw7rPmVKbg+atKVk4pqSs3GS9UfmPPPlg4J6X/M7L9qL4L/8ACo/HzT6LB/xItX3XGkyJysYzloc/7JIx/sle+a9A/avOqj4M/DP+yzcA/wBkjf8AZ93/AD72+M4rz7xN4s+OHjH4caX8Ltc0qKbTtJcNbylEM7BQVRWcseFUlRtAODg54x6B4V/ad/aJ8N+HbLw8PhzpF0tnbpBFM6lGZFAVchJAoOB2AHtXt4PI4Sr5pQhgcXh6GLhTcbYWpL2clNTnBJWvFPSL009Fe4qLclZpO3Q4/wDZSf4un4w6Uvh1tVNl9pH9sBzJ5H2fB3eZn5c4ztzzuxjmvUNN8c+HvBv7dOqadBLbx2+t2kdlcui9LoxxsASehLqFOOCWGec4wfEf7T/7UWsWBs9I8HabpUjdbq1jWSQfTzZGUfka8Wv/AAD8SdVvptT1PSrm4ubiVpJ55rhWeRycliS2SSe9P2edcMZdhcJlODxeJlSrqu51MPUhFJRcfZwVpNcyb5n91+j9+lFKCbs77G9+0L8GPEvwy+JGoWo0e4fTLy6efS7uOAmN42O7ZkDG5c7SOvAOMEVueEf2Ylf4Ka38XPiXqN7ogt7bzNGtzAA0uMYZ0fBKuSFUAqed3IxnpPBP7S37TPhLRI9E1DwzZawIVCw3OoACVUAAClkdd3TqQWPcmuT+Lviz9oH43zxf8JRpIjsreQva6bZlEhiYjG7lizHHdicZOMZNcGJ4RymhUr5jQy3GVpVFLkoSw9SMacp31lUXxRhduKirvS73ZDhSTckm/Kx5TRV/XfC+veGmiXXNOa3MwJi3Mp3AYz0J9RW14F+GU3jfTptQi1hbcRT+XsaEtngHPUetfl2W8J8R5tnP9k4fDS+s2b9nK0JJJX1U3G2muu62OZQnKXKlqez+CLK8+MP7E994O0e5W61Xw9dtIlmrkybFcyqMdeUaQL2JXA5BxZ+BfjLxB4F/Yx8Q+LPDd4Ib6w1eQ2sjxhwmWtwflYEHhj+ded6Lp3jn4BWN3438I+NVUyRC3u7Y2QZJkZhhWDEjr3GCMnB5qt4X+Omi6D+znrfwXn0G6kvdTvvNivElURKpMZJIxkEeWABznceRjn9exGOxPC2OoRziMsLjIYGrSvzRkpWTVCUXTcmpNqSd7axVjs5/ZtOWj5Wv8j2H9mv9pDxR8ZF1X4Y+NvEgtNburWR9F1a0tkRh8vzKFA2ll++OOQGz0FfPPjSy8caL8U7jTvH9/dT6zaaiiXNzdTs7uVI2sGbkqV2lT6YxWHoWuap4a1m18QaJeNb3dlOs1tMh5R1OQf8A63evRvj78cPBvxh1rQPFdh4NuLPVLS2Rdam85VW4IIOxMBshfmw7c4bBU7RXxOP4mXE/CtOGZYmX1rCzXLzOT9rTm9b7rnpvXmdrwdtWjGVX2tL3nqvxPX/2vfj98T/hL440zRfA2txW1vc6UJ5kks45CX811zl1JHAHFZ/7Mn7TXxA+K3jlvhr8RrSz1Sz1CymJlFkqFNqZKuF+VkYZXBHVhz2pnjL9o39kj4o3NtrXxC+H+sXd7DbCJd8RHlrksVBSZQRknnHf8KzYf2o/gD8KbK4l+BHwjkj1G6iKNd34CBPTLF3dlyASgKg46jrX6fiuIVT4vlm39vw+pcyl7FTqTbhZXh7Pl5fe1W+l77nU6lq3P7T3e3/ANz9nXw/omk+L/ir8DtMleN5vNjsmlYA+SPNi6cn5fNX5ucgg4FfMGraVqGhapc6Lq1q8F1aTtDcQuMFHUkMD9CK2vCXxT8Z+DPH4+JWj6n/xNGuXmuJJFDLPvJMiuD1DZOe46gggGvbL/wDaD/ZN+I06eKfib8ILtNZdQLk26B1cjoS6yR+ZxgZZc4GOgr87qVsg4xySjg/rMMJVw06vIql1CVKpPnSUoqVpQbtZrVO6b1tzN061NK9mr79meQWvwQ8eXXwon+MotrePR4LgR/vrjZLIN20yIpGGUOdvXJPQHBNchXqnx+/aVufivY23grwjoY0XwzYkeRp6BAZiuQjMFACKq9I1JAPJJ4x5XXxXEdDIMLjo0MpqSqQhFKU3opz15pQVk1DZJPXS/mY1FTUrQ1Cvor9pOKXxb+y98P8AxrZ2ZEVnDFBOEDER7oQn5bosZPqOeefBfC3hXXvGuuQeGvDNiLm+uSRBb+aiFyASQC5AzgHjNeu/DT406l8CbDUfgZ8dfAE+o6U8is+nzsjNahxvICtlXRjtcYYYOSDk19BwZWw9PA43C49ulhsVD2arOMnCNWLU4KTSfbVLVJ3tbVaUWuWSlonpfzOS/Za0C58Q/Hnw7BbwM62179qmIBwixKXycdOQB9SKs/tc61Hrf7QGvSRQhRbSRWxPOWKRKpJz75H4V674r+Knw/8A2ePCsOv/AAs+BV1pdz4js2/s/VL9owCpRWU8SSOyjcjbPlB49K8R+Bvi2aw+NuleJNZ8Nt4jurnUDm2lkBllnkJAkUudpkDHcNxxnuDgj2M1wOX5PlGH4WeJUqtWvGpVnGE+WEXFQgknFSnpJz0Wt7LcucYwgqV9W7s5Tw0mgSeILJPFU1xHppuk+3vaIGlEW4btoJxnGf8A6/Svq3x/42/ZD+IvhHTfAt98Up7DR9MCm2sNMjliQ7V2ru3QsTtGce5JOTXl37Rth4m+NHx3fw/4S+Fk+n6rDp6Ge1nlhW5ugBu8yTa5TIVgBhicAZPYeQ69oWr+GNZufD+v2D2t7ZzGK5t5OqMOo44P1HB7VyYbNcbwFLHYKjhoYnD1J+zdSpTqRUuTVw+KNtdZQbeq6qxKk6HNFK67tH2J8b/DH7Ouq+AvClp8S/Gl7Y6XbWWNAuLctunj8qMbjiJsnaEPQdenavjrW4dIt9YuoNAvJriySdhaT3EIjeSPPysygkAkds1658S/GOvftAfCzQLHwN8OtVeHwVpoTWLwFXRTsRPlA5YbYwxOARk5GBuPk/hi+0jS/EdjqWv6W19ZW93HJdWay7DMgYEpuwcZHHStPEjOMHn2cUp0KMIUpRhasozi5rkjGV2/ijTknFcsbq1tWPEzVSastO/9dj3+1K/s2/sntdAiHxJ41OEIOHiiZePcbYiT7PJXzlXof7SHxsj+NnjaLVdKtLm10qxthBp1rckbwOruwUkAk4HBPCjmuag+GXjq58DS/Em38PSPocMnly36yoVRtwXBXduHJA6dxXkcXYyGcZjHBZTF1MNg6fJDlTd4x1qVWktOaTcnJ2VrXIrS55csNl/Vz0D4I/tPfFLRfiTpUPiXxjd6hpd5eR217a3km5FRzt3LkfIVyD8uBxg8VT/bD8DaX4H+Nl5HotgLa21K3jvliU/KHckOVHYF1Y47Z4wMAcD4H0251nxppGkWe7zbrU4Io9hwQWkUDB7da9h/b81i2vvizp+lQli9joyCX5+AXkdgMdjjH1yPSvSp43GZv4cYt4+o5ujXpOm5Nyac1JTim7tKyUmr2vqUpOeGfM9mrHhVdXZfHT4y6daRWFl8T9cjhhjCRRrqUmEUDAA56AcVylbPw+8F6n8RPGum+C9IU+dqF0se/GfLXqzn2VQWP0r4TLa2ZwxMaWBnKM6jUUoNpybdktGr6vQwi5XtE+jPgh8QPHfg34E698dPiX4w1HUfNUw6DaX947qzA7QwBP8AFIcZ6gIT0Ncp+xXo1l4m+Imv/FXxkjXcujWrXf2mZs7Z5SxaQju21XxnpnPXBEX7Z/jTTNOutH+BHhJgmmeG7WM3MangzbMIp9SqHOfWQ+laf7ENwNV8G+PfBls8gu7vTVeALJjrHLHkccHLLz7j0r9ywmLhV4/y7I5VPaxwUZ3cm5c+IUJTk7vXSaUY325dDuTviI0735fzOA179rD43an4wm8Uaf43u7OI3Je206Ij7PHHk7UKEYfA4JYEnrXeftf2uj+O/hp4P+O9hpaQXeqQJBfvE3BzGXVD67WWQA9ccHPGPntlZGKsMEHBFfRHxlm/4R39ivwV4cvjJ9ovpoZo1Mn8G2SXnjkAOox249K+QyHN8zz7Ic6pZlWlUgqSqpzbly1FUjy8t/hcruOltNNkY05yqU5qT6X+dz83/wBkRcfDjUpP+o0w/wDIMdd/4q8BaV4w0vyNVgrlf2MND/tT4OaxN/c8QMP/ACBFXoUNnPCPIFf6T5BUbwEEuh+ncTpVM9xC/vfojzfTf2dfDkP7+CtjX/hvpWheErz+yoP3nk12k0P2OLmrE1n51r5E8H7vya+mwuOxlXGKpUqHz1TDUvYnxXqUM9nrP78V1Hhvxh/Zul/YKj+I8ME3jK4ggg/5fKp694bn0a1jnz/ra/bsLjU6FP2h5NP90bmjaxBqV1/0zr6E+CcP2Pw5J5FfLfhXUvJuoxPPX1h+zr/pnhGScXFeLxZT+rYT2h25dV/fHSaPZ+dLJPPXeeGobGDS/wB/XH/6q/8As4rQm1Kez8uxgr8kxuG+tVT1qv71HcaPNBeV2mmwjyua4PwT/pnl16BZnyYvIr5TFUqWx8xV3PjH/grJ/wAhnwP/ANel/wD+hQV9CfASP/jEjww3/Um2/wD6JFfPP/BWH/kN+CP+vW//APQoK+hvgOm39kXwuzjr4Ot8f9+RXwnEEP8AhJzBf9Oan/pDPus6/wCSCwH+Kf5zNX4Mf8fGof7kf82r0WGz86vOfgv815fRf3kj/m1d14k8SWPhWw8+f/llDXx3gU+bwxwUPOr/AOnZnwGEg5UF/XU0JprHR/397PVOb4neHLOX/X14v48+KmqeJLqT7DPJ5dc3DeTzXXkTz/vJa/a6WCo0qP7w+jw2W/uj6Eh+MHhyaXyK3LPxV4W1iL/j+8uvm+Hz/wDlvPWpo+sTwy+f59H1bCVaQVMtPoy803j7bB+9jqn/ANMP+m1cP8N/iRfQyx2N9P8Au5a9Amh87/UVxVMN9VPJq0vYnmXx/t52bTLpYXMaiVWkC/KCduAT2JwfyNYXgP4nTeB9Om0+PR1uRLP5hZp9uOAMdD6V33xjif8A4QG6aRRxJFgkdPnFYPwU8N6BrWg3U+raPbXLpdlVaaIMQNqnHNfybxXw5xB/xHPlyPFqjiMRRVRTlFNRSi6bjZqV7qne9uvlc8ipCf1n3XZsyfF3xiuPFfh6bQH0FIFm2fvBcFsbWDdNo9K5/RfENvpNm1rLpSzs0m4OZMY4Ax0PpXo/xV8J+GdL8FXl7pug2kEySRBZIoArDLgHkVl/BvwzoWt+Hru51XSLe4dLzarzRBiBsU45+teHj+HvEWp4p4fBVszhLGug5Rq+zjyqF5+7y8lr6S15eu4kq9PEK0tbbnInxXEG3JpKj28z/wCtSv4wZjuTTIw397d/9avRfHfhLwjpPh0ahbaDaxyydNsIGK8qngaaTEUSr/uiv0SHBXjFCp/yO6Sf/XmH/wAqPcoUc0rfDVX3L/I0rfxvdQzea1jG3sT/APWrY074vR2SYl8KQSn+8Z8f+y1yRtZDv8pAcdMitbStLjieOSSCKUHqHQGu2lwP4zYnbPaP/gmH/wAqNKmBzWfxVU/kv8jfb42QM+f+ELgC/wB0XP8A9hVDxP8AFFPEui3Gkv4bihaYptmWbJTawPTaM5xjrW5o+reArWLOq+FbFj/tWy1wvxd8c+H7i/Wx8JaPaWsSfeeGBVJ/ECubG+G3jDj8FVweIzqi6NSLjJeyirxkrNXVJNXXVNM5Y5VmNeXK5r+vkUpPG2o6Pp8mgaTIokmYsemckAAe3SlEpawiilYmYOzSHHByF/qDXL2EjT6tFIzEkyAkk5zXS1+U+NeEnwxk+TcNQkpxoUpSc7WcpuVn1+FW0W+ut+medUPqVKjQWtldvzJ9M1PUNF1K31jSruS3urWZZbeeJsNG6nKsD2IIBr1v9of4vfDT40eBPD3iZEmh8ZW8fkanDHbEReWAc7mPBBf5k25IDMGxwa8clvLeG1bzZEUg9SvNJYXcMz+btWWL2JFehlvgvx5QyOdDB4jD1KGMp05NTdROL0lGSSg7Tjte7TTaa2COSY72XutNSSfX/I+pdX8Z/so/F74b+FtD8f8AxEvLOXQ9OSIQxQyRSK/lIjbv3bg/cGMEjnrVDw3rP7EvwU1SPxv4b13VNe1K3JNnDseRomII3KGSNM4PVicdRzXgdp/wjqTf6bYAp6iVh/WpLzWPhtv+yWmnsJfedz/WvuX4beJNavHFPCZc68VFKo/bOScElGWsWrpJW00aB5fjefWMb99Tc1348eLdS+NbfGzTwsF7HdiS0tpWLpHEF2CE4wSpTg4xnJPGa9d13xl+x9+0CYfGXxEv77w7rgiWO+SIOpmIUc5VHV1HIDYVsAZGAAPnLVLRUi+0WTBF9Ov86zvNuv74/IV85l/hb4m5fKvSxc8JiIV5+0nCs6koup/OrU04y6XTV1pawRyrHqLb5Wn0d/8AI+gvix8f/hn4T+G0vwR/Z5sHFhchk1TVpo2HnKwG4oWIZmb7rMwACjCjGCvg1NtC0j4d1YflXoXg7wZ4N17T2kurB/NTridhn9a4c+8EfEviXFRrV6uFjGEVGEISnGEIraMY+z0Xq2/Mwr5ZjL3k18v+GPP69f8A2cf2gPDvgPRNU+GXxTsJr7wxqyN+7ii3mB2wr8ZB2MvJwcqVBUZJqhL8NvBiySqumv8Au+v+kP8A41w+j6RYXnjT+x54ibf7TImzcQcDdjnr2FfF4jw+418Ns7wNX2tF1MTP2MUnKUXzWi1UTgrwfNrv3SukcLp1cNNPTU+gPCus/sV/CTXI/HXg3UNV1vVELGwsY4pZWhYgglVdEGQCeWJI6jmvINb8X6l8Rfi+vj/4o+G7+6sbjUEe9sbWNlK2ykAQocDgKMdieTkE5rptG8J6F4ame40yz2SOu0uzljj05PFXf+WtfuFPwdx+c5XRoZhXpYZQm6nssPSvSctEpTc3ebsrapJJ8uu50OnKcUnZeS2Kv7UF78G/FF7pbfBPwVLBJFCw1C4stIe1hdeNqeWUXLg7stgcEDLcYT9lrxZ4O+E+pa34x8ZaTqbarFpxTRIU053SRjyy7gDtckKATgABuecVbo/5Z/8AbauyHgxh3xP/AG5TxajVTuoqjFU0+XlTUefdfFdt+9q7lew/e+0vr6HlGv8A/CWeJtcu/EOsafdy3V9cvPcSG3b5nYkntx1rqvgJ8RvFfwV+IEHiWHRb2WxmHkaraJbnMsBIzjI+8pAYdORjOCa63/llUc3+u/GvLwX0eKGX4yGZ0M0qKrCXMpckb3vfX3tb9b7q6ZlHD8suZS1Oy1DSP2KfFWryfETUhrNtNPKbi60X7JcIskhOWBRUOMk9FcL+Fee/tK/FvXPjV4ktbPw94b1G10HTIdmm2clmVZmIG6RlXIHQKBkgKvYk1of/ALyg/uYo7evp828HcPmuXzwcMTGhCq1Kp7KioOo07rmbm9E9bJJX1sazp88bLS+9lufHX/BPmxjv/gf4iifqPER/9ERV2M1nPpuqSef/AKuuS/4JuzZ+GuuWf9/Xif8AyBHXsPxD8N/vpJ4IK/eMinSjQhF9UfacS1+XijFR/vfoji5vIvJqWb/U/hWd509nf5nFbEP7+wkr6ee96Zz1daR8z/FrwrBo/jeS9z+7lm8ytDxLqXhXWNLt9K/5ePJqx+1dDPpl/Zzwf88a8fs9YvobqOev2/hvD0cfl1OpUPN9pRpfuzY1LQZ7O6j8ivqD9le9/wCLc/8ATSvnOHUhqVr589fQH7K8082l3Fj9n/d1nxbgkskqVDpw2HpUqp6B/wAvtakPkZ/f/wCsrP1Kzmh/f4qxo/hvVdYuo/I8yvxe6o/vJ1DpqnpHw9sx9l8/FdrD/qfwrK8NaP8A2Ppcdv8A9Ma1D/qY6+SxOJVXGHgVP4x8X/8ABWr/AJD3gj/r0v8A/wBDgr6B+B8+z9kjwpD6+Drb/wBEivnr/grJ/wAjD4K/69b/AP8AQoK+g/gZ8/7JfhX/AGfB1t/6JFfGcRfvMtzF/wDTmf8A6Qz7bOv+SCwH+Kf5zNb4NcXl8/okf82rkvjZ8QptS1r+w4J/9VXT/C6b7PZ6vL6RRfzavGNYvJ9T8UXE/wD02lr4fwGqU6PhxgpvvV/9OzPk8kpe0or+upqQ/uYs1HNN5119uFRz9qj8j3r9WeJre29ofYUqRqWc081aGm+fNFWXD/qo4MVHN8Tv7NiknsdD8yztZvKmmrT2tbFfwzT2ftTtNNmnhljxPXuHwk16DXtBk0qf97cV4WLyDUrC31Wxg/1sNdh8K/Es+m+I7fn93XrYap9ao+zqHiZlhv3J2nxv3Q+AbuCTr5kWP++xWN8AP+QBd/8AX8f/AEBa6L9oOLb4Iuj6SRf+hiuf+AX/ACKt7/1/n/0Ba/nfNv8AlIPB/wDYI/zqnyEv98XoaXxlXZ8Prxf+mkX/AKMWs34Bf8ire/8AX+f/AEBavfGObzfAl3/10i/9DWs/4AKB4fu5/wDnne5/8cWozH/lIPB/9gj/ADqkv/e16F34qTedaxwV5v8A2d+9r0T4kTedL5FYem6P50P2jyK/aKtM+ow1X2VEw9N8NzzVqf2PiL9xXWab4bE1p/qKy/Fc3/CK+HLief8A1lc1T21F/ux0sT7Wsef+MdZg03zLHz/3lef/AL+a6knuKsaxqU+sXUk5H+tqvDD5Vej9Z9lR9me/SplrT/8Aj+h/66D+ddFXN6b/AMhGL/roP510lfxt9JD/AJKHBf8AXp/+ls+O4r/3qn/h/UxPEym5RJIYcmGQg/nT9H8+zsLfz6lf/j4m/wB8/wA6TzvNr+p+H6n/ABjuC/69U/8A0hH0tL/daf8AhX5Fz7Z53NU9S037ZLHPBP8AvKkhhq5XvfXa1JWL9kXNNmn+yxwX1WP7Hgm8zM9Y82pfvaIdSnrn9nd3M/ZmxDo//LcitDQfElx4cuvIrDs9enh/19F5efbJfPr0cF/FOHE0/antmmTQaxYf2rB/y1rzLQx/xcsj/p+m/wDZ66X4J6xPeaXJpU5/1Vc1oq5+JjL/ANP8/wD7PX4l42UuTiHhzzxcP/SqZ8pjocs4+p6T/wAtaP8Ap4/WjyPejmGGv3H2aKp7B+9o/wCWVFSeR7017E1I/wDllUfn+1SVH5P72sqpmFE/ailm/wBT+FP/AJcgfIf/AATWs4m+GWuXcpwRrxCk9/3EdfTN5p1jexfv1X/voV6X+zpH8PPCH7M+tfFbxH8N9N1m6sNTdJPtUCO8qZhCqGkVgmPMPQAHHrzVWD9q74AapKNP1/8AZs0+GzlO2eWCC2d1X1C+Wuf++hX4dh/GbBYTLsJVxvsqE61NTjGU6j91tpXlGjZap37emp6Ga5tHMszqY1pQdR35bt26b2Xbsj5j+I/gsWGoedawgx+xqjprxiHyChH4V9F/tOfBTwT8PPEPh3xZ4AgB0HxCFdLN7hmUEbG+Uk79jI4PXIOeRkAep/HL4jfBv9n7XNP8JN8A9G1BZ9OE8ciW0CbBvZNp3RMWPy5yT3r2cD4343A1sbHNsJToxwrpqUvazmpe1TcHHloXs0r3t11SMqWYzhze0S0t17/I/PH4tfDqPx5o3kbD5kXtXiPjn4IX/h/S/PjsXaTthTX6x+A/FH7Nn7UGpyeANS+EMWgam9tI9jcWIjjY7Rk7XjVfmAywVlKnaevSvKvhn+zjqnjf43X/AMK7/UDDbaLcS/2pfQqG/dRvtAXnAZyQBnpknB2kV6cfpMcRZfUwssny+GKo4ibpwcK8o2mrNxkpUE46O+unKm3YwrYpVGnGF7+f/APzm+Hfw/8AE2tX32NNOkUerIRX1x8IPB+leA/C8sH/AC8S19VeJfjv+zP8KNal8AeEvgbY6vbadIYZ7+WOJt0gPzbXlV3kAPG4kZxxxgnC+PHwf+Gvir4YRftC/BCD7JYMwGq6SsZxGWfaW27iImViAUHy4IYYA+bv4n+k5mWcYKv9VwtHEVcOnKrThXmmox0lKLlQSmovdrp5uxusxUKbjCKbW+v/AADw210mXxDd/uogI/c16N4V0KDR7XHnL/30K8yor8NxP0p69fbKUv8AuO//AJUcVXNZ1N4/j/wD237Rb/8APdP++hRDcW/nf69Ov94Vp/B74Z/Cv4Y/Bg/Hv406JHqzXsyjRdNJ3jGWVRsJCszEMxDZCqgPXIrf8FeJv2b/ANqC9uPh9dfCi38OatJaSNpl3aJGpJC9VaMJuZcltjAqQp+lfcYLxXxWJo4eFfD0aWJxEVKlRlWnzSUvh5pKi4wcvspvW62eiI1W0r2Teyv/AMA+Av8Agq/BPe654JNnC8wW0v8AcYlLY+aD0r6B+BsSL+yX4XSRwrr4OtwUY4IPkjjFZ/jTwpqXgXxZqHg/WGja5067eCVomyrFT94H0IweeeecVmV+W5v9IPFV6eKwdXK+SU4ypu9XWLacXp7NXt20PVxvE0sXkVDLHSt7JyfNzb3b6W0tfuztPhFBHcx6rDJIFzFFjJx3avKNS0U2fiK8iUHEc0uCK9L+D3ws1z4weOrXwdoysiufMvrrZlbaAEbpD+YAHdiB3r179tv4afD/AOHfhzwrB4L8KWdi7GaGS5gTEkqRrHt3kH94x3ZLNlvetvDnxAzfhvw3qV44GM6GEbXNKo4uo6lS7UUqcvh51dt2/G3FluZVMFh21C6Xnbr6HylNbt/dP5UG3uZuxzX0J+yn8E/DfxG1LU/GvxDeMeHNAgL3kTzMnmuVJ+YqQQiqCxORkhRyM12mm/tAfsr+JdYi8C6l8CLOz0eeYQRam1rCjoCcB22AOg5yWDkgc199lHjHUxWWUcZjqFLDKu2qSnWm3Pldm3y0XywvpzPs9LWv7MOJpOKcqaV9ve/4B8r/AGExSW8Mwql/wiuuQ6DeeFdKgi+z3955k0te0/tOfBmH4M/EZ9M0mQNpWoxm60sGTc0SFiDE2eflPAPOVwc5zjzaLz4Shhmr6rgXxDzDPc4x+AxWDWHqYVxTtPnUubm1XuR0tFNPW6fQ9HK84ni5zgqfK4263ve/kuxcmh/s2ws9Kg/5ZQ1qeFZp4b+3n/55TVhw/wCu/Gtzw3DPNfx2/wD02r9cy53o1Khtjf4R698eWiufheLlZckLFx/20WuZ+BUmzwveD/p/P/oC10fxxHl/C/7N/wA87a2H/j4rmvgT/wAi9d/9f3/si1+A5j/ykHg/+wR/nVPh6v8Avi9P8y78XP8AkSrv/fj/APRgqr8BpNnhq9H/AE/H/wBAWrnxe/5Ei5/66Rf+hiqXwKPleFb+f0vMf+OLVZr/AMpB4P8A7BH+dUzh/va9CTxJN52qeRirGj2n+rt6x7y887WZMT/8tq6zQYfO/fV+5+yPbq/wjUs4YLPy68//AGnJvsfhePyK9Ery/wDaovP+JNHY1zYi1WqPBfxjw/Tv9V+FXKrw+f5VWIYa5sTTPrKWxJbDy9TgX1lX+ddJWFZxs91C0vUSgj863a/kD6Rk/aZ/gn/06f8A6Wz47ir/AHmn6fqUbf8A4+Jv+uh/nU0Nn+6qbS4fOkmH/TQ/zqbWP9Cijgr+oeHv+RHgv+vVP/0hH1VH/daf+FfkZ801RzTfuqkh/fS5q59jg8nFeyamXNDP1o8qb0rQn7VH+6rP2r9sZmfN/rvxrQ0eb97Ud5Z/uv3FV7ObyZcCvSpYk5ap6B8K7z7H4o/cf8tag0P/AJKe3/YQn/8AZ6v/AA3s/O1S3vjVHw//AMlTP/YQn/8AZ6/GPGXXOOG/+wuH/pVM+SzT+PD1PTqr8zQ1J/07/pRX7pUp+yMiP/lrRP2o/wCWtFQAeT5tFFFAEdE/apKjn7V0Ad3+zhp/gfU/2RdbsPiHq01no0usSDULmHhoxmArggN/EF7dz9am8J/s7fsk6voF58QfD2u6trunaRue+gS5ZvuLuIKLGkh454xnH1rnPhzG5/YN8WYQ86o5HHUb7bn9DXnv7NHxom+DPxDiv72Vzo+oYt9WiU8BM/LKB6oTn1ILDvX8NxzzIsveR4TNcHSnSnhofvJxcpQblNRdr8rgmk5K17N69Dn9pTjyKaVrbmr+0D8fNP8AjT4x0Ww8N6dcWGg6S6JaQyqod2ZlDOUU7VwAFVcngdRnA9y/aW8Lfs3694ssLn4z+Nb3TL9NOC2sNszAPD5jnccRPzu3Dr26V4j+0n8E1+GfxRstW8LwCTQ/EFys+l/Z/mWNyyloRjtlgV9VYAZwa9S/a++AXxQ+LXjjTNa8DaHFdW9tpQgmd72KMh/NdsYdgTwRzW+C/wBZlRz769g44vFKrh04OEpRklz8rjGDT5VGzjbpa44+1tU5ld3Rv/s+eCv2cNEvb7WfgfrkOs63HaOqnUL5hIinHG3YCiFtoLhCRnHOcHkf2Zr/AMSvpvxZ8X63ZsniBDIZpcMWWZUuGMY56KwGAPb2pv7Mv7NPj/4T+OH+JnxKurPSbLTrKYGP7ajFwyYLOVO1UUZbJOcqOO9c98F/j/4U0n9ovxPqWt3Xk6B4su5U865JZUbefKZ+OFILKcjChxk4BNerhsxWAjk1TM8PHAN1K8FTS5I+/T5VWcZe9FqTUbye13exSly8nMuXV6fLc8CJJOSck9SatJresxaQ/h+PV7pbCScTSWSzsIWkAwHKZ2lgOM4zivafiH+w58T7Lxdcr8PbS1v9HmlL2Ur3yRvChPCOHIJK9MjOQAeCcC18Zfhv8LPgL8DYPAWtWthqXjbU5UuDdxoxeAbsMytwViABQK2N7Ett4O38flwBxNl9PF1sdH6vToRlec7qM3soQf23PZWuu5x/V6sbuWljwKiiivgzA+if2ro00z9nv4caRpq4tDaxucShhuFsmOR97778jj868u/Zrurq0+O/heWzB3NqqI2Gx8rAq3/jpNew+FNDsv2ov2XbLwJoGoxw+IvCksaiK7fCtgMq8gEhGjJAOOGTB4GTH+zz+y94s+FvjM/FT4uSWemWGhW0s8afa1kLNsI3sVyFRVLHrnIHFfu+O4ezfP8AjHLc4wNNvCzjh5e0XwU1TUVNSltFwcXo7a6I73TnUrRnFaafged/tk2VlZftBaz9iUDzY7eSXDg/OYUzwOn0PPfvXmdjY3mp3sOm6dayT3FxKscEMSlmkdjgKAOpJIGK9Dm0y5/af/aIvItCvlsY9avpJIZr4gmKBF4O0febYvCA9eM4Baq/xj+FXiL9m74hWdnY+LUuJhEl5p2oWg8mVMMRlk3EoQwOOSCO/UD89z/LsVmmOxuf0qT+pPETXOrfaldWTaeqad7Wu0m7nPUi5ylUS9257jY/D/xn+zb8Cm0n4f8AhC/1Txn4hGL+80+1aUWPH95QR8gOF55di3IGKzf2pfh38QPFPwo+H+n6D4Q1O/urDTdt/DbWjyPC3kQDDgDIOVYc9wa82H7af7QoAB8XWxwOp0qDn/xyvYP2i/jp8T/h78M/BPiPwvrCW13rNgH1KV7KN9z+TE3AZSF5ZuB/Sv1yGdcEZ1wxj6OHliIYWjSpQ5OSn7q9rF80fffNOc9ZuTV16HVz0J0pJXskvzOU+E1s2j/sTeNbu0hZLuW8miugZAGAxChBHVcKW4PPX1FfOgJByDX0L+yX440z4gWfiz4OePdYna88WJLPDdzOGMsjRlZMZ/jAw47EIemOcnQf2E/i3L4wh0zXzYQ6SlwPtGpQ3gbfECM7Exu3EZwGAGepr4rN+H804ryTKa2TUpVYQpujLlXwTjOTvNL4eZSUrt28+rxnTnVhBwV+htftrRpe/D34fa7eri+m04ibMqk4MULHI6n5ieRx+Yr5yh/1sle1ftr/ABC0HxZ8RLTwn4blMlt4btWtJXVhs84kb1X/AHQqqT6qR2yfGa/e/Dath8w46z10ZKSisPByXVwhKEn/AOBJn1HD7TxFe3939Qhhr0j4M+FbjWNZ+3Tj93FXD+G9Nn1LUI7GCvfPBOgweG9Bj/56V/QlKr7Kj7OmduZYnsYnx5n83wVcf78f/oa1g/AZd+gXa/8AT6f/AEBa1vjP/wAiNef9dIv/AEYtUP2fofO8N3if374j/wAcWvwrMf8AlILB/wDYI/zqnyT/AHuLXoWvjFCP+EFuJfR4/wD0Na5r4d+IrbQPh7fNJJtkk1AhfpsWus+OGoWEXgu507zczvJHgfRwa8dkvZBof9nL917ksf8AvkCozGf/AB0Dg3/1CP8AOqdFCjbMIx8v8zo9H1Lzrrz569I8Bj7ZayeRXiem6l5NekfDHxtBpsvkT/6uv6ApU6tZHuYnDHeTfuf9dXk/7RUw1i2j8j/llXonjDxXY/Zf9BrzvxtZz6xoNxPP/rK8rHU/qvszPBU/3x4/B3qxDD+6ohh8mWSCpPKm9Knc+sp7Etjnz4sf89BW3WJpn/H0n++K26/kD6SEYR4hwXL/AM+n/wCls+J4q/3mn6fqS6NHCl1vabBLk4/Gote1KwvJZPs8/meVVrTLWFpVa4+4SSa53+zfsd/eT+f/AK2v6f4Z/ecP4P8A69U//SEfWYX/AHaHovyLkM3lVcs/33SsuDvWhDNXqVSyPU4P+eFxVP8Ae1cvKp+d50tGGAsQzUf8vtV6uWcPnRda9bBKl7U8vE/uj1j4V6bBBoMd9PXJ6Cd3xPJPe/n/APZ69I8H6Z/ZvhK3t815v4dz/wALO5/5/p//AGevxLxl/wCR5w5/2Fw/9KpnyWNnzTh6npn/AF8fjR5/tUf/AC1qP/lrX7vU2GSf8taMQ/8APxUf/LWpKVP96AZ/6b/pRRN/rvxoH8FP2aAOIZqjmh/6b1JxNNUf7qg0PNfDWna1rGiz6VbeIZ4LKW4VprIO3lSOo+V2UHBIBOCRkZNWU+Gs7tsGrp/35P8AjVPwt4usdBhazn4k84Sq3tjH9K7mzvINYtY57Gv5y8PPB/gjiHgnA5lmOGc6lSF2/aVF9qWyU0l6JI5IYNyoxnbc4jxrb65aCxtdY8R3N+kFv5Nms8jMLeNTwiBidq89BgV6P4Z+IXxHbw9aEfEfXxi2TAGsTYHHT71cN8UE2S2Wf7j/AM1rpPC0uPDdmP8Ap3X+VcvBfDOSZb4uZ1ldGlehTp0uWMm52vGm95Nt6t7vROy0JpxUa8ki74jvNW8bxJb+LvEuralHGcpFeanLIqn1ClsZrIi+HvhZ+ti//f5v8a18w/8APvVjyf3UeTX7jU4D4Hxi9rXy6jOXeVODf3tXN3CDd2ifQ9b8U+GtMTRvDHjTW7O0iz5VtBq0yomeeBuwPwrnPEdj8Pl8WXGn61bXl7eG6Iu7ybUHZnY9WJJyT71uH/nv/wAs4v3lZc/gP/hKtZvNc0rVY5bfzormarlwNwhiaUaVbAUZRjsnTi0vRNWXyBwi1Zode/C/whaXE1qbB9yfdPnt/jWR4h+EdzcX6t4ThUW9xBH5YlkJ8pj1J9a628m8+/k/f0QzTw9J64f+IecB/wDQrw//AIJh/wDIleypfyorx/D7QvCOqJNoV5dwXVtFGfttreyRsHPUgqRirviKK98bRJD4u8RavqMMfKRXmqzOoPrgtjPvSf62pP8AlrWj4J4Po0JUYZfRUJbxVOKT9VazH7OCVrGNZ+APC+nXcd/p9vcQTwuHhmhu5FdGByGBDZBHqKi8eeEtP1OwvvFGo3F5d3y27PJdXl9JNI7KvGWdiT0HWui8j3qp4z/5FPUf+vOT/wBBNeJn/A3BlDh3F+yy6jG1OclanBWkoOz23XR7omVOmoPQ4L4V+FdF8U3V5FrNu0ghjQx7ZCuCc56fSu+uPh94Z1C3t7TVxeXMVnF5dpFPqErLAmSdqAt8oyScDjJNcp8CE33Opr/0zi/m1ei9f+2lfC+DfCPC2aeHWFxGMwNKpUm6ilKVOMnK1WaV21d2srX2sjLD04Okm0c7rHwS8NSWYu9At5raULvBNwxx+Zrm/Fnij4yWVg/hjUvHWuS2QXabaTU5ShX0ILcj2PFenQf8s/IqxNZ6VqUP+nWMctfotLgfhfBRlGjgKMVLR2pxV12dlqvU9TDywtPeC+5Hza8MqElmyataboOraz5cEEFe4TfDHwreTef5EVbGkeG/DmgxR+RYxeZXfk2R5Hw+5vL8LToudubkhGN7XteyV7Xdu12d9LE0KF/ZxUb9lY5f4Y/DGDw3FHquq/6yuwmm86XyIKLy8879x5H7uo4YfJlxX0lKmeXVq3Zx3xe/5J/ef9dIv/Ri1lfBvXLbw/8ADvVb+X7wvCF/74Stz40Rbfh7eN/00i/9GLXm+ky/8Wy1GP0vN3/ji1+HZrOFL6QWDfT6o/zqmdCHtczivIxvEHjTU/FmrzzXN07x+ZwD0qBG/wBDZf8AarM0kqHkgeLDx9TWtaLvt3X/AGqjNayq/SAwcv8AqEf51T1pwtnsF/c/zKUP7mXFalnqXky83FZfk/vakh/1341+6YapWpHr1Vc6zTtYnvP3E89bH+utfs+P9bXB2d55MuK6zQZoLyWOnjcH9bo3MfZ+x1OD8YeG59G1CSc/6usevfJ/BP8Awklh5E8FeR+MPBN94V1m4gnh/d1w0qlv3dQ6cNjlVMe02/ao/K6bx/OtiqegaHd3fmXKw4WBC7H2HNXK/kX6SUOTiLBL/p0//S2fJ8RVY1MRC3RfqW1uBa2Yb1rBm/4+62LqJTZEy9CoxWNBjzf39f07w5+84ewf/Xqn/wCkI+vwq9rhoei/IP8Alp59Sed5VRz9qPKm9K9SnS9lV9odfsiSaY+b59R/9PH60T9qjm/1sdafwqxBJW54QhgvNZt7Hyf9bWHzNDXYfB/R59T8W2//AEyr18FUR4+ZVP3J7BN/omnxwf8ATGvJ/D//ACU7/t/m/wDZ69U1LAlkP/PKvLPD3/JT/wDt/n/9nr8N8ZP+R5w5/wBhcP8A0qmfH4r4o+p6PN+6o/5a1JP2qOb91X737Q6CODvVj/Xf6iq/nf6urEXkWdp588//AC2op0wI6j8/2qxD5E0Xnwz+bHLVebyKPagR+d+9omm86LNR+R71JWdT96aHz94kfbq0UaybTJBgfma7H4V+NjZ3/wDZV9P+7rh/GE3k6tCfMx+46fiasaPe/wCrvv8AnlX5/wCEFa/hrlse0H/6VI9fDU6by2m32PSvix81zZP6pJ/Na3fCn/Iv2/8A17J/KuZ8d3ZvdN0qb/plJ/Na6nwx/wAgKy/69U/lXxXCUL+Omfr/AKdUv/SKR85H/eZF7yf3VWIO9V/P9qkr915KJoE1l/aNheWP/PWGq/hXTb7TftF9PBHH5tn5daFHE0UcFL2iNCvN++lkngqSGao5v+Wn4UQ+f5tOnsaFyDvUn/LWo4O9WKyqAH/LKoPEVm2oeHL6yso980tq6xrkDLFTgc1fh/5aVLD/AKn8KxxuEp4/A1cLUbUakZRdt7STTt56iaurHivhrxbrXgq4uBp8MQeXCSrPGTgqTxwRjqa2F+NnjBOkFl/34b/4qvUo7a2djE9shJ6koKf5Vp5v/HtH/wB8CvwTLfB3jbJMHHB5dxFOlRjfliqTsrtt/wDL3q22/MwjhqsVaM9Dytfjb4wXpBY/9+G/+Kp0fxz8Zxfdgsfxgb/4qvVobSP/AJ9o/wDvgVY+yWn/AD7R/wDfArrXhv4k1P8Amp6n/gt//LR+wr/8/DyP/he3jXdu8iw/78N/8VTf+F5eM/8AnjY/9+G/+Kr142lp8/8Ao0f/AHwKk+yWn/PtH/3wKn/iGniP/wBFPU/8Fv8A+Wh7Cv8A8/Dx/wD4Xt40xt+z2GP+uDf/ABVH/C9vGn/PvYf9+G/+Kr2D7JaRf8u0f/fAqTybP/nzi/79ij/iGniR/wBFPU/8Fv8A+Wkexrfznh3iT4s+J/FOjSaHqUNoIZSpYxRMG4II5LH0pdL0+6t/AlxJcwlFml3xZ/iXAGf0Ne2TWlp5P/HrH/3wK8+8awebp9wB+Vb5D4Z5tk/FCzzNs0li6sYOEbw5bJ33blK6V3ZK2rvfo/RyrDNYhVZSvY8jsrMwytNPLmQnpWppK+bMYfWqsieXcPGB0qS0u5bOTzIgM/7Qr43jjP8AA8K+LmEzTMFJUfqzjeMb3fNU0W17XV9dLrujrxuKhhc2hWmnbkt+LJ9S06eKaq8IuPN8irlz4jvbtds0EP4If8aptdSHO0BS3UrX0VLx84DceWq6tv8AB/8AbGv9v4Lz+4PJ/ex5Ndp8K/Cs+pX/ANun/wBXXFafM+nOXQCQs24+bz/LFdDpfxR8SaNCYNOhtI1PUCI//FV6FD6Qnh7Rjyp1bf8AXv8A+2ObE5zhatO0b/ce0TT/AGOLyIP+WVYfiTwrpXiqL/TvKrz6X42eMJRhoLL8IG/+Kpn/AAuXxd/zys/+/Lf/ABVY4jx98O6z3q/+C/8A7Y82lj6dLudfdeDNK8MeCNUkghjEjWMoyP8AdNeSV02qfFbxPq9hNpt1FaeXPGUcpEQcEY4+auajjeWRYokLMxAVQOST2r+fPGDjTJOOM3wtbKuZqEHF80bO7k2rK7ucOKrRrzTR0uoeGN3h62vP+elsjfmBXCzefDdV73pnh9bzwjZ6TfR7J4rFVdc5wQOleQfELwtfaDrP7+Cv7JyCFTC5RhaFSLUlTgmno01FXTXRrqfeZbjaSwsaT3sjDhPnQyGo4Zv3tLD/AKn8Kf5P72vfp/uj1gqODvVjyPepIbPyf9fTqYa79oY1Qhhr1T4J+G/7Ni/tyeuP8E+G/wC3tT8j/ln51eyRWcGj6XHpUFdlKn7I+XzLE/8APspzTTzS15n4eYD4nb/+n6Y/+h16hP2rzDw9/wAlP/7f5/8A2evxHxl/5HvDn/YXD/0qmfPVt4+p6P5Pm0eT5tSUcQzV+8HWR1X1izuJrWzng/e+VNL+5q5RDNP0oAr6DDPZ6NbwT/6zzpZKk8n97Un/AC1oopfumaFODvRP2qTzv9XUc01dFQzPnfxmkbX8W/8A54/1NSeG4ftkX2erutaJPqdyk8UqKFTbhs+pq94NsoNAulm1RfMVeqw//XxX8+eGHiRwBkvA+BwmPx0IVYQtKL5rp8zetkz0sNmGFp4GEHLVI6fxtafYtN0uH/pnJ/Na6nw1/wAi/Z/9eyfyrkfGviix8SNaixtpY1t1YHzQOc49CfSuy8NKU8P2QP8Az6ofzANcvAGb5fxB4x55j8BUVSjOlS5ZK9naNNPe3VNfI8SnJSryaL0P+p/Cp4O9V4O9WK/oWpSOinsH/LWrsP8AqfwqlD/rvxqSsqlP2Qwm/feXijiGaj/llUnke9agSQd6P3tFU73WIIbryM0qVP2ppSNTz/apPO8qq8P+qT6VJD/rvxrUDQh/1341JVeGbypoxVgfwVmBJB3qSq+Zv+ferH/LWsf4poSUef7UVH/raPZASfvak/e1HB3oqKpmE0NcH4qh/cyQV3h8+H9/iuL8eWc/2rJrlxP8I7sDueV3ln/pUlSaagik5UGrmpWfk3cnMlU4f3MuK5IwhP4lc+hsmjo7SOP5PkH5VfimhtOTCv8A3zWDp15P/jWhNNU1MJhP5V9xh7Im1HVzDF/qV/75rEs76TUdUt7fy1/13pUGpax51V9BvfJv7e4/55TV7WBwlD+VfcjLE0V7LY9wm061hsI4fs0f+p/uCqn9n23/ADwj/wC+RWnN582jW89x/wAtYap8ww06lCjSfwr7kfOeyMbxrBbx+FtQjW3QEWchBCj+6a5D4LIjXWoMyAkJHgkdOWrsvGCl/CmpAf8APlKfyU1wPwt8SaH4dmvX1u/8gSrGI/3bNuxuz90H1Ffz/wAdV8uyrxlyPEYucKVJU6t5TajFe7USvJ2S1aSv1aRz1oqGJhfRHqEP7j9xmsP4keCYPFWlyTwf8fEVM/4Wh4G8zd/bnH/XtL/8TT4vil4EV9za7x5W3/j1l6/981+mV+N+B29M0w3/AIPpf/JHbSxVKlVvzL7zxe802+0e68i+glqOHyK9b1jxB8HtdbzL7UPm9fssv/xNcvrOkfDMXHmaN4l+X0NrKP5rXLU484L/AOhnh/8AwdT/APkj2qecUV9tfejjNYvPsdhH5H/LWby6k0Gb+2NLj/56fbPLq5qei6Neosb6orhJ/MUiN+fzFbPhuPwboVrFbi8H7ufzP9U/+FdtPxA4GVH2bzPD/wDg6n/8kbVM0wrpW54/ej0P4Y+Ff7B0CPVZ4P3ktbA/fSyXFc3a/Fjw0bOK0uNSKiPofJc/yWpYviX4EX72rD/wGl/+Jrp/164F9l/yNcN/4Ppf/JHzWIlRltJfejb/AOWteX6Dz8TSf+n+f/2euw/4WR4L8zd/bPH/AF7yf/E1xvheWO8+I63Fs+5JLuZ0bBGVw5zz7V+MeJnEGSZ5xBw9Ty/F0q8o4uF1TqQm1ecLXUW7X8zhqyjKcbPqened+6o8797RB3qP/lrX9H1Kf8h1ElFR/vvKoh/1341qjQP+WtE3n+VTJv8AU/hT/wB/+8rT2QEf+tqvNDVijypvSj2pl/FP/9k=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAGgAaADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7gh/c+ZmrHk+R+/qOftUlc5mEHerEP+u/Go/+WVSQ/wCtkrl/imhTm/fRZqn5/tWhNDVP7H+9610+z9kZlyz/ANUfpVzyfOlqOH9zFmpIf+Wf40VDQj8/2o8797R/yyqvN/rvxpeyAua9efY/DlxPXgevXv2y/wD+21e4ePJjD4IuP+uNeB/8v/n08NTtSqHt5bTCo4O9WJofJixUcMNcOJqHrUiOaHzajhhrQ8j3oms64vae1NfaFOizh/0qpIYf3tXIYa0D2h13g0INJYp3mOfyFZ3/AAnOoecYvskOASM8/wCNaXg//kFN/wBdj/IVy8UPnTv/AL5/nX85cLcL8P8AE/iHxAs1w6q+zqQ5ea+l+e+zW9l9x85hcJh8VmWI9rG9mrfib6+Kr/yfMe0iz7Z/xqpd+Pb23+7aQn65/wAagmPk2uKw9SvPb6V+pLwq8OZ7ZdD75f8AyR6n9k5d/wA+1+JtH4kar/DY2/4hv8afH8RNUfrY2/8A49/jXLQzVJ/y1rOfhX4drbLoffL/AOSL/sXLv+fa/E6b/hYOq/8APlb/APj3+NRj4l6iH2vYwf8Aj3+NcrpupTzXUf8Azzlqxewf8t61peFXh3zclTLYffL/AOSD+yMt/wCfa/E73w14iuNd/wBZCif7ua6tvDN0bP7VHn8a8j8K6x/Y9/H/AM86+iPAd5pPiTRo8/6ytsZ4N8BUoe1p5dC3/b3/AMkefjMBl9DamjzuP7Ws0kV1Gq7cbcd6wdSstcF/K8N9chGclVEzAAZ+tel/E/Q4dFurRYR/rEfP4Ef41Ja+BLPUdHttQfy8yQKxz9K/LeCsjyfL/FfOMDQw8VRhTp8sGuZRvGm3bmvu2/vPGw0qNLG1LRVrLT7jzrRNK1u6udr3dww9DMx/rXp3gvwTD9ljn1KyWXPXzF3fzqbR/B8FnKeK2J5p4f3EFfu1Ph7Kqq/3Wn/4BH/I7ak6VTaK+4yvF3hLSjpsj6dZwxtH3jjCn9K8ogluxq/2We5kx5uMbzXtk00H9l3Hn14neZm8USTwD/ltXdk/DOSSq8ksLTf/AG5H/I1w6pNfCvuPV9D8AaPf+H/tbIC394jmqWofDqN482sZX6Gt7w3eTw+GLeCpP7T/ANmuOpw1lXtqn+y0/wDwCP8AkcbcL/Cc3o3gK3tZcX/zj/b5/nW1JZ6PaZGnWEMTkYLxxBSR6ZAqb7Z+96VXn7V34HIspoVFUWHhGS2ahFNejSOapGK2RHD/AMtKPI96ko8j3r1/aUqX7skuaDMBL5FeZ/GDR/seqSX3kV6Jps3k3VZfxh0H7ZoMl9XmYip7Kt7Q9bA1NT5/1i89Kw5+1aGsf8f8kGarzQ104irWp0T6ilsMh/1P4U+GGiH91UkHeuLDVHS/d1DpqbGhZ/6o/So5ofNoh/1341cs7Pzpc1lUpkGPND5VSeT+6qM+JNCm1X+w54P+W3l+dVzyfJ/c5rtqU/ZezqGZTh03zpetdZ4P0yCGWs/TdN86Xmuk0Gy8mL/UVrV/enLian7o9A/5ZVJB3qvViGbyJa7fZ+1qnxpYo/5a0Uf9PH61nU0MySftVeGGrHke9FHtPamgQ/vpc0Q/ufLo/wBT+/oH8FP98Zkk/aq80NSQd6PP9q0pmlIPFVmNS8L3EEFeBz2fk6hJBX0Rpv2e8ikgn/1deN/ELQDo+vSVw4mr7Kt7M9fBVTnzZ+dFUlnZnzakmmghios7yCGX9/XLa56pcs9Ngml8ijUtN8mo4dYghl/19XIbyC8p/VjQw/7NE11VzyfJirUg03/WXBrP1j9z1rmqVPav2ZmbvhNt2msf+mx/kKyLGHyYWn8j+I1f8By+bo8j/wDTy38lqO5m8nTiR6mvxbw9hfxF4lX/AE8p/nUPMy3/AH7E+q/U5rV9Y866kggrDvNS8kfv6ueFbObxJ43/ALK8/wD1sNbGsfBTXIPFFvY30Evly1+5VMRhMvq/vD3aWGrVTl7PUvOl8itDz/ao/iR4Vn8E+MpND/55Q1HDN+6op1KOL/eUzVe2Czhgs5fPgqxDN53+vqvB3qxD/wAtK19m7+0NSPyfJir1D4G6xPDdeRPP+7rzv/XRf6iuw+EsJ/tSvo8Nif8AhOqe0PIx3svZHpvxdeSSewkfvG+PzWr/AIf1Dy9EtE29IFH6Vn/Fn5TpseekUn81q14elxpFsPSFf5V/OPCH73xvz2X/AE7pf+k0j4+n/vUzSmvJ6p6lqX2OwknnNScTTVT8VWf2zS/Igr98/hHYqhz9548nvLX7DBWf4b8Nz6lfxzzQVY0HwdPNdV3Gm6b/AGba9a6faUaVH92dHtPZfwyxN+5ijg/6Y1HUc0080smaJv3Pl4ri9ocXtSOaapD/AB1n/wCpikFWIf3tae0VP+GBdh/1P4Uk01SQw/6uox/rpKzqVLgEP7mXFXPGAt9S8G3Gf+eNU/P9qk8YTeT4NuM152Y06vsqZ1YU+X9eh8nXpIIKrz9qk1L99rUnn0TQ+dF59XU298+wo7B5HvRDD5VEP7mKM1HZ/vpc1xGxch/1341uaPCftVv1/dTVl2cPaug02EeVzQctQtfDX9i/4r/FvWptR+H1pHe2lneC4meWZYkVj0Xc5ALewycV6LJ/wTz/AGk43knTwxZNliwUarBk+33uteu/sV3N7p/wm+It3p00kVxBpqPBJESGRxBcFSMdCCBivM7L40ftGNdxLZ+PPE0spkHlx+dLJubPA2nIb6Y5r+fK/ixjsly3DV8bKrOdd1bKnGlaKhVlBK0oNvRJ7nyU86xVNJt732S6M821n4ReN/h1rB0bxhpEun3QXcIbqFkLLkjcuRhlyDyMjjrXpnhj9j/4/wCq6Ja67YeBN1vcRiSFJL+CKQqehKyOpX6HBr179qs6lrX7NfhXxF8TLNLbxR9pjHl7dj/MjeYCoHykqqMy8BW47YMf7TPjLxp4Q+C3w5l8IeJ9S0zz9JQXMmnXbwl8W8G0MUIPc/ma7J+IfEmS4vH1cbiHUo0KVGrFRp04VLVWlyzUoySlG+q07+REs0xacnKV0knsup4d+6qSDvUcHerFf0mjlCftUlFHn+1KpU/emhJ53ky1HB/x8x0T9qIf3H7/ABR7ICSftUf+ui8+iaYQy28//LPzv31HH7zyIP3fnUUvbASeR71J5Pm1H/yyqxDDWv8Ay+Mw0eb/AEquT+PGjwQyxzwW9dxDDBpp+0T15/8AFrxJBrEWK8jE/wAb2h6OC/jHl801Z/nfva1Jof3tU5rP97S+u2qn0ZX8/wBq1NHm9az/ACPerGmzTj9xXV7X2oHUQ3n7quf16b/WVch+3TDmD93VPUrOeGs1To0mQtzpPh9/yAT/ANd2/kKoahN51mw9zV/wB/yBH/6+W/ktZMnRv941+IeHKnPxL4mt/wA/Kf51Dzcs/wCRlifVfqcLBrF94P8AFv8AasH/ACymr2zWPjlY6lo+l65/y8RV5H4q0ee8/wCulZ+m6lcWdr9gvoK/oCpUwWKwns8RT/eHv4bE+yOs+J3iqDxhql54qng/eS/6mufs/wDj2iqv/pGpS/v4P3dXP+nf9K4sNSo0djX2oeR71YsvPqOrlnRb22hl7UuQw13nwf0wy6pHPXF6bCJvLxXsHwf0D7HFHPXpU/8AZaP7w8nHFn4vHbdWMH/PONx+oqzof/IGtf8Argv8qz/im+/UYPo/9K09B/5Atr/1wX+VfgnBcp1PHLPmv+fVL/0mkfIv/epk/nQQy1JB3qvNDPnz6khmr9/p7nUSWfkWctWKjmh879/RXN7T2QEnlQ+lV5of3VWPO82o/wDW1rT9l7IDPn7VY02H/V7qk+x/6ypIf3H7jNZ06X7oCT/W1HP2qSisv7gEcP2iby6PFUPneErg1JB3q5ND9s0WSCuLNfbexRrS3PlPXofJ1mT/AK7VX8/2rc+IWjz2evST/wDTaseGGfya0qf7p7Q+xwtT9yR/8takss+b+4o/febUkP7qvN9p7U6jQs5j5tbmmd65v7Z+96VpabPJPKsES5Z2wo9TT/dqnKpUkoxirtvRJLVtvokcFZpK7Psb9hrXbnw/8NvHuv2sMbyWFrFdRJIOGZIZ2AJHJGVHf1rrP2ef2v734s+LJfBHjHTLDTLu5gLaTPa79kkgBLIwdjzjkcjO0jqRXjv7OPxe8E/DX4Z+NfDHiq6uUu9Y0wRWCwWxcSP5cke3OeDmTPOBhTznAPlmmanqGi6lb6xpV3Jb3VrMstvPE2GjdTlWB7EEA1/GlTxHxHDuHyv+z66nTi6zq0007p1ptJ9Ytwd47dHsfAyxLp8vK+9/vO5/aP8AEvxZ1T4jXfh34saubi50mVo7WKGIRwLGx3B41AHDLtO45YjAJ4499+LHx98W/A/4Q+BLzwrpWm3Emp6PEs32+FyqBIISNojdMfeNeSftD/F74afGjwJ4e8TIk0PjK3j8jU4Y7YiLywDncx4IL/Mm3JAZg2ODXd+JPG37KPxb+GHhfRPH/wASdSsJdD0+OERWlpIsqv5aIwYeTKCPkHQke9aZTjHhMxzn+zs0h7StClKjVqVYxbTmpOMpTfxxheMk9V2XQg7Snyy3tZtniUPkebHOaIO9Sf6ny/Ior+5aVM6Qog70f8takqP+XxoFFR/63y8VJ5P72ugA8nyqIO9H/LWiH/ln+NHtPZAH/LPyK1LOz8n9/VOGGrGvXn9j6D5/rXFU1YUlqcf8TvG32OLyIJ68n1LXvtl1R488VXGsapJB59YdetUw2EpUf3h9RgcFRpGpNef6yiG886s+ftUfneR/qK8T2VGrWPS9kanke9XvDVtBd3htZr2FCOoaQCqtniaw8/NX/GnwH+CvxL/4JWa/8YvB3w20228a+DvHl5/butW8bG7uB9sCOJHLE7PImhbYfkUqxVQWYnnrz+pwatfmdi8Hg6eLrKE5uKcoxulezldJvVaXXnudx/wiOmw2Md6L+2z/ANfC/wCNcz4jtdMi+7qMB/7bL/jW7/wSP/Yu+EXxw/ZT8f8AjH4o/CzSNZvtZvp9L0O/1O0aSS1WO3U7oWzmJvNk+/Htf5cbsYA8X/4JG/s2+FPjJ+19daV8WvBlnq2keEtHurzUdN1W38y3a4V1hjWVG+VgGZm2uCp2cg1531uSm5djveR4Kl9cviH/ALPa/uLW66e/301PVPAZhOjP5MquPtLcowI6L6Vzv9oWEsbqb6Hhj1kFHwIu/BV8njG6+G+iQ6b4fbx7qX9iWMEjskNqGQRAFyWPy46nvW/H/wAFW/2LEnGj6/8A8E3fDTwq3k3lxHbadI7L91mCtaLuJ5OCwz6jrX414c4uVPxC4kajfmqU/wA6h4GW5Lja2c4yjQhKfI43typq9905L8GzkppdPm/5fof+/q/41H/Zen587z4fp5o/xq5/wUh/ZO/Zrg/Z68G/tv8A7I+jNo/hzxPcJBqejNcERq8okZHSN2YxurxyRSRoxQbVKgBWZuw+Bf7Nf7Kv7BH7K+kftf8A7ZfgpfF/inxOkM3hbwjdWgdbbzY2eOLyZG8uRjGRLJLKpEXyqq7wPM/aJY1yV0j6F5TgngYV4VZOc5OCp8i5+dbp+/ZW3bvZL7jg5lsIf+W8P/f0VTD2MMfF7D/38Fez/CL4+f8ABOL/AIKK6+f2bvGv7J2m/DzWtUik/wCEX1jSo7aFmuRG3yrPbxxMsgHzLG6vFIUwedqt8JftRfs++I/2XPjt4g+B/ia++2S6LdBbbUFtzEt7bugeKYIS23cjKSu5tpyuTjNdFHMuTRw/H/gHZl3DqxmJlha85UqsVzcsop3jtdNSs9dH2Z9DQ3Nh5v8Ax+w/9/BVyGS2/wBR9vh/7+ivi2vUP2OP2a9X/a0/aF0H4K6bqa2MF/K02q35YbreziG+Z0B+8+0bVGMFmXOFyRpHM1TnzKH4/wDAPUxXBeHw9CVaribRim2+Tov+3j68+H+gWFzdRz3V7bj6zr/jXs2mah4e0fS44BrFr/qf+fhf8a84+L/7V/8AwTO/Yy+Il/8As4+Cf2JtI8Vw6LcfZfEGr3FtbXDLPx5kaS3SyyTsmWVgzIA6lRxzXlf/AAUe/ZH+Aa/A/wAJfty/sf6bDpvgzxIqQavoomYfZ55C5SREdm2EOskMkSttRkTaCCxGdTNZVq3PKH4nydPhxY2vSjXlOlGr8EpQjZu10nad4trZPc9q8fXtney20lpdxy4V9xjkDY6elami6vpUekW1rLqdurCFQytMoIOPrXyF/wAE/v8AkF+KP+vi0/8AQZa9k/YJ/ZM+Cfxn+MHxl+Ofx+8NNr+ieBbyV7fQVWUiaYmWZpCqFfNKpDtWLJDGQ7l+7n8W4TzH2HjZnlblvenS0v8A3aR4VThrD4TOsbh6tZ8tCMHdQu5OXLZJcytrLuex/wBq6N/qP7Wtfp56/wCNR/21o/m5/ta2/wC/6/415r4a/wCCmH7AnjzxTZfDfVP+CcmhW+j6pex2Iu7fStPknRHcIrCFLdTu5BwsmR2JOM+S/wDBS39hzwn8Df2vvDnww+BNgbTTPHtvaNo+kNJNKLK5knNs0Yd9zMhcBwNzMN5GAAuf2xZs+Xk5LfP/AIB62F4M58YsNi5yoyknKN4xaajvrGejR9UQa1o8UuBq1r/3/X/GrH9qaN5X/IWtf/Ahf8a4j4kWn/BPD/glHpuifDPxX8DYPin8RbvSludWvtRtInTYzsPMZbgyx2obDBI40ZtqDe3IZuR/aP8A2cv2OP2vP2Pta/bW/Y+8Kv4K1TwrLK/ifw2LQqk+0IXiMKSNHCVRhKkkQ2spYOoPMaebc0OXk/H/AIBhR4Ww9WcJyqVI0ZvljUdNWbbsrrn5km9m162Pare8tLxS1pdRyhTgmNw2PyqT/llXx7/wS2ZhrnjJQxwbWxJGf9qavsKDvXq4TEe1pqVjw8+ypZJmtTB8/Py21ta90ntd9+5J/wAtaj/febUn/Tx+tE0NdPtPZHlkZ/joH8FSef7UVnU9lVAPJ/e1cs5v3XkVT/5ZVH5372TArLEU/wBzyAeX/FrwfPNrPnwQVxc3huezik/cV9CXmg2OsSx+fBWH8Q/h7Y6Z4XkvoIP3leTUqVqWlQ9vA43/AJdngf2PyeKw9S1j7GPINdB4km/s2KSvMNe8S4usUqW57ftTr7PUvtktdT4Z/wCQlb/9dl/nXmXg/WPtl1HXpvhRjJeWzeky/wA64+I/3XDuM/69VP8A0hnJVt9Wn6P8jpvE17dWfkG2lZdxbdg9elXfCmoLe3kcd6NwPUGs/wAWpvW3/wB5v6Vc8H2f+leea+F8D8myLE+FmErYnC05zbq3lKEZN2qzS1ab2PAy+lSll0G4pvXp5s9Z0LQ/Ct/BAj6LbFj1JhHNYHxJn8M6Wsej6dpNvFPMeJI4gCAOTz+FQ3niT+wbWP8Af1wtz4ibXPE8ckkuSQ2B/wABNevxvw3kVHgvM69PC04yWHrNNQimmqcrNNLRp7GdbCQjSqO2yf5HocP+p/Cnn+Oq/n+1WIZvOi881+jUjjCpB/rpKj8797RD/wAtKYEsP+p/Cko/5ZUD/UyVpT2Mwog71HP2qSH/AF341p/FAuQd6y/jZefY/CPJ/wCWNXPOnhlt4YP+e1c/8bNSF54Njn/5aeTXFtWOnC/xTwP/AF11JcYqx5HvUFn/AK0/WnzTV0VMRer+8PsaWws3+p/Cq3n+1H/LWpPI9656VO9b3DWqamjzHyvIr0H/AIJZ3lt8WPDv7RH7ImrXQ2a/a3d3p8Lc4d/OtpXAPoTbn8BXDeFLOeeWPmuc/wCCZvxIuPAX/BTe2trWcm28R6rquk3Pl/MHSQySJ07eZFGc/jWOfKNo8p6WWUZ4nAY3l+KMIzXrB836H2n+zf4wsv2MPgH+zX8EtZZLW98eazJ/asUo2sDc2082D9J7i1TJ9BWDpfwyj/Yp8L/tbfHxR9lkv9Tlj8PSsgXBmthPFt/7b36rx/zzrwv/AILU/GvWPDP7ZXgLSPD8jQr4B0i01KxVVKhbh7jzMj1+WCIcemK9z/4LY/Fn7H+xToOm6KrRp4716zkuSIyu6FIDcYb0O5YeDz8vtXzdtvMung8RVq4Sb/5jW3P5VFU/9J0Pk39hpt/wauDuyf7dn3c9/Lir1Ox/Y5/4JvR38epap4c+KV23mCSe2k1q0WKU5yVOxFYKT6MD71nf8Ef/AINR/Fr9n74yxQeHjd6xbJbHwrM8piVdQ+y3exdxIUjeYtwb5fuk9qjsv2J/+CvV1eRW0/hrQ7ZJJAr3E+qaYUjBP3mCMzYHXgE+gNfiWK4N8Q8p4px+Y5DiaMYYmSk/aXvpfS3JJaNvVPVdtjgzLB5vhuJcdLBY2nR5pJvmnyN3jdW0d7XaO1/bc1uD48fC/wAEfs7/AAE8M2nhrwD4XuYZ73TNRuJFa7EQ2RQbYtxKKpdizOWd3ycFdzc9/wAFK9L1f9tDxX4Tl+GdzDo2g+F9FktodO1YspWZ5BuZFi3qF8uOJex+X0xWn/wUJbQv2Lf2dfBXgWPxha6j8X9Tkjm1u/tJVMYt1VzLJ9nZcLGZGWONiqFvLZuqstdB8N/B+lftxfsdWXjH9kHxbp+i/FXQEgXxbompSM0M82xg8eJlbyhLt8yKRcpnMbEEMU3WB8cUk/rWF+5//KziwkOLcHhsPjoVKapxlOMZtNq8tHOXu3tJqyk/wPjnTP2HPi5ouo2+saP4+0m0u7SZZrW6tri4SSGRSGV1ZUBVgQCCOQRU3iH9iz41+LtbuvE3iv4mafqepX0zTXuoaheXM09xIxyXeR0LOxPUkkmvsH9mD9ij9sDTPGNx48/bd8UaL4c8CaDZy3ep20d5aNNeBUJ5kgBWGJcFncsGwoCj5iy/JP7S/wC2leXvxv1//hm7Uks/BMN0IdBE9lvkniRQpnYzqZBvYM4VsEKwBAINWsF45t6YvC/c/wD5WfRYPHcfZhjZUsNiKE+VXc0rxV38PNyb9bLQyP8Ahgr4l/8AQ36F/wB9zf8Axuvob/gm18PLf9jb41al8V/iaE1fzvD8lhpqaM+WhkeWNmZhKqjBVCMhuM9DnI+Vf+Gxfj5/0Ndv/wCCyD/4ivS/2RP2xbeb4/aDpn7UWqfavBl/M1pqMtvElv8AZHkG2O4dkCt5aOVL4Iwu4842keA8c2v96wv3P/5WdGaZf4kYjLqtOtVpSi07qKfM1vZe4tWZ/wAQf2NPij478e6343ufF+jeZrGr3N8/myzFsyytIckR4J+avobwvo62/wDwTc1f9ivxgDd63Lqr3eianBL/AKJb/wCkxzruLLvGCJcgKc7uozx1n7SX7BX7etn8YLuX9mTXND1TwVqU4l0t725to5dNjYAmOXzV3SKpJ2sm8sgBPzZFc1/wUH1fwx+xX8DPB3wpt/Ey6t8YtThju9d1a3x9nhtxv8x/JYbQrSfu4vkDFYmZiCMNP1LxxlZfW8L9z/8AlZ4LxnF+bPC0KeJozk5RlFRveDir3n7uiWz79EzzX9mX4F+JPglZ6xb+IdWsbo6jJA0Rsi527A4Odyj+8K9e/wCCUnhX4p+H/wBov4ufHhvFumaR8NtPu7u08VHU92LmaItMrxnIWPyELM8jEgLLt2nduTjvh3+y7+1t8Xv2JdR/arg/aM8PWO/Sru+stA/smH97aQbhIZLwELbzYSTCbGAIXc6EnZ0P/BM6LQ/2oP8Agnr8Tf2KdE8bx6T4uubue7tReXf+shlEDI4UDd5PmQmOXaG2iXP8YWvR4I4Q4nyziHG51nlanOrXjGNqd7aWV3eMUtIpWSd9XdddoYLMEsfjcbWhOU5QpVORNqCuk5WcY7WVrJ663uj1H4fftw/8EepfjxCPC/w30LSNXe+QWHjKbwHFbWhuCw2ukm3zIDuIPmvGgHJLAc14B/wUou/jt+zd/wAFH/C37SvxG1qz1LSWv7W98JS2FswSHTrWVRLZtG5OJV3szEMQxnDgpu2JxGkf8ETv27L/AMTx6HqHhTQbGza4McmtT+IoHgRAf9ZtQtKQew2Z5GQK9L/4LW+N/Ami6Z8KP2WLHxhLqmpeCtK/4n97HMsjxKYYIYzLHn/XMsTSbSwIDDtICP1ZJcysz6LBYbKaGe0aeBrOuqkJxndqfLG2jTXw3ejXW+x23/BQH9g/xV+3/ruh/tifsd+LtI8S6bruhw29zY3N79md/KZlWSMyKACASskchR0aPoSSF9U/Zf8A2MvEH7E37AnxO8N/ETWdHv8AxBrmg6rqOpxRbZLO3UWDpFCzTKokA2ksWATLkDIG5vA/EH/BML9pj4Uad4c+Jf8AwTZ+PutatoviPQbefUbmPxKmmyyyMgbzl2skbwOGyqEs8fIJf71dT8fbfUv+Cf8A/wAE4fEPwz+OPxFuPEXxT+Lt5OLuVdSe4f5ljSQmWX53iigVVZscyTbR8p3Cd0kmedVnUxWEw+XYbFxqQ54qMOW1RJP7euigle9lex85/wDBLf8A5DnjL/r0sv8A0KavsOH99LGa+O/+CXLbfEHi9v8Ap2sv/Qpq+xLMeTL59fU4GVOGDi35/mfNcdf8lPX/AO3P/SIkk/8ArfIzR/y1qOaf/luKkh/1341p7U+RI6kqM/x1J/qvLxR/FMyOb/lp+FU58eb+4q5NDVeaGtqYEmm3n+lR1qeKv+Jl4Xkg/wCmNY8MOZY62NNh+2WFxAK83MaZ04Z2qnyv8Wv9DlkggNeF+JLyfza+lPjx4Vns7+T9xXz3rHhucX/kVlUt7L92e/7T2pqfCuznmuvPr2Pw3FjULUn/AJ6CuM+Hug/Y7X/j3rvdFixeWx8nHzjmvK4i/e8M4v8A69VP/SGLEfwJ+j/I29dtvtLQL6Fv6Voabef2bHUczbHRvL3YNc/r2peTF+4r4XwMq1P+Ia4Omtr1f/TsziyePPl8F6/myTxV4knnPkefWd4TuftOuQSeu7/0E1kXk3nf6+rvgf8A5GC3/wCB/wDoBr7PxCq0v9Sczgv+gev/AOmpHoYul7LA1f8ADL8mez+T/pfvViGGfyaks4e1E/avrz5Ur/8ALWpIfPoqT/VVoBHUn/LKOfrWdr8skOlyPE7K2V+ZTgjkV9Aat4Y/Ze+EXw38L658QPBep3kuuackonju5ZJGfy0dt2JUUffGMADjpX59nvHtDI83q4KpTio0qUKsqk58kUpzlBLSEne8fJaox5vea7Hhk0P72iGGvZvDdn+xn8atUj8EeGrHWdC1K4yLOb7RLG0jYJ2qWeRCcDowGeg5ri/h18EYLD9qBfg38Qpbq+s4TM6NHO8IuY1iMkbHBztIAyARg5GeOfmq/izShXw08Nho16deoqSqU6ylCNSW0Z+4pRdtfhenyG6u1tU3bc5mGHzpfInFY/xg0eA+Ef3H/PGvdPFfi79i7wX4mv8Awnq3w71j7Vp109vcGCWYoXU4OD9oGR+FZvjn4MfCH4sfCvU/id8A9Y1KOTTFL3eiXE0jqQq7nQo5LK235gQzKdpAHORWJ8TsLzVfqcKderSUnKnCt79ofFZSpxu1bVJ3NqeIVObas7dEz4VEPk3UnFSTTV9Ufs4fsweH/i4994w8Zm30/wANaTu+3XKIiSSuE3FQzKVVVGGZj0BAHXK9zbwf8E7vEOpf8Idb+BpLLz38iHWXilSNW6K4ZnJXJxy6YH8QAzXPgfF+hm+CpY3EYeGGjVuqarVlF1LaNxSg/dvpd2XyPYhn8JRTlC3a73/A+Gqkr6T/AGh/2cbf4G+L00wW1td6Xfq0ulXTQLvKA4KSYUDeuRnHBBB4zgef/wBjaP8A9Aq2/wC/C/4V8rj/AKQlPIczqYPF5bUjUpu0lzx9e2qa1T6ppk1eJoRlyuk7rzPM/F8l7pXwn8Qalp13JBPBotw8U8LlXRhGcEEcgj1FfPn7PHwe1f4ravf6vo/jx9CvNCaC6t7yOFmk8wsxVlZXUoylAQwOc19p/wBh2OpRnSP7IhnS5HlNbG3DCXdxtK4+bPTHevoPRP2af2Tv2YfCOn6p8ZfCcUuu6xBun0vTLdUVSDnG2HZkJuALMxBOdtenknjZgeJ8ROs8C6dCik6k6lVRhHmdormUW7yeySu7HqZVxrPL8tr0cNT5ak2mpuzS20aad7q/3n59a5+xX45+JPiGfxT4w+PVxrGqXzBrzUtVtJbi4mYAAF5JJiznAAyT2rb8V/sL/E/xNoumaT4v/aUvNUsdFtjb6NZ6hbzzRWEPGY4VeciJeB8qgDivurxr8A/gx8Rfhde/FX9mxLmGbTXLX2jO54RV3OoV8sHCkMMMVYKQMmvA3nmkTy5JmZf7rMSKjiLxqybh7E041ctlOFSPNCcKylCcb2vGXKtnumk11WqMZeIPElJRTqLTZqMLdtPd+R4t8MP2XfjV8FdRudS+EX7VOp+Gri8jEd3LosM1uZ0GSA+yYbgCSRnOD0r0S1+H37cOs2zwv/wUM8YBHUq4+03XQ+4uAa9M+CvwzHxb+JemeCHufIhuZGe6mUjcsKKXfbnqxAIHB5OSMA17br9x+xL8KNZuPAeq+FdX1G8sH8q8ukllb94OoJEqDI77Vxmu/J/F3h/Octlj5YNYeipcinWrqKlOybjFKEm7J3eljF8bZ5iX7WpKDfeUKd//AEk/PDxd/wAE6/Eb3k2ua/8AHZb+7uZDJcXNzpUjySuTkszNMSxPqaxvCf7LnxF+FPiuLxT8PPjxd6Lqtpn7PqWkwS28yZGCAySg4IyCM4I619+/tF/BL4eaR8PdJ+M/wj1K5k0bUpxHJa3c5YR7gdpTf8wwUcMpLHOOwNS/Bb9nj4RWfwvf48/HtXbTTIfsOnKm0TKCUBbb87ln+6oKjC5JIPHdh/FLLVncssqZW24w9q6nt0qSpWT9pzcvw69r+RpLjziybdL2ytb+SFrf+A7Hwx8TfBP7SXxh0yPwv8VP2s/EHiGwim82Ox1aeeaESAEB9jSlSwBODjIyfWuKf9im4SBZW+Jlvubov9mN/wDHK/T7w58Lv2L/ANoYXPhL4ceH7nw9rMMDTW0jxENIAMZ2u7q6gkErlWx0I5NfMXxX8Lv4BTWNE1bTYobvTLhoZgsQGGVwuRx0PUHuDXrQ8UuFZZrl+Ep5c6lLGVY0YVqdfngpylGLUlyxaa5r2srrZmD474qwlJKlWio/3YQt/wCkny5Y/sU6hfXa2kfxBjBb+I6Wf/jldbpP/BNPV9WtvtKfF61Qeh0Zj/7Vr0XwHN9sv47ivbPDc0H2WOv2rNuHstwcuWENfV/5mtDxE4rnvXX/AIBD/wCRPFPCX7Mf7Vvwm8JT+Hfh7+2z4j0fS0idjp2my3UMQ4JO1VuMLnnkYr59/ZE+H3h34/8Axvu9J+LP2vV0m0q4vJpZr+USyTCSMb2kDbmPzNnJ5zX6D6r+80a7P/TrJ/6Ca+Ev+CcTbf2gbg/9S5c/+jIa+QnQoU8RTUY7vU+zyTPMzx+RZjiKk7ThGLUoxjF6819YpPotz6msf2UfhLpngu7+G2m3HiW38O384mvtAg8W3yWVxKMYd4BLsdhtXkgn5R6VQ0b9hT9nPRdRh1fRvDmp2d3bSCS3urXX7qOSJwchlZZAVI9RXrEPkVJB3r0qeDoVPsr7j4VZ9navbEz13956+upmaj4b8Q6po76Be/Gb4iSWkkXlSQt4/wBR+ZPQnzskfjXlsn7BH7Ms/m3E/g68eQtlnfWrkkn1J3817L/y1qQ/x1awuGT5ORfcjCjnWb4e/ssRON+0mvyZxXwy+BXhn4M2k1h8K/F3jDw9b3DbprbR/GV/BG7f3iiShc++M1zni79jL4EeN9fn8R+NNO1rV9RuW3XF/qfiW8nmkP8AtO8hJ/OvWIf9d+NE0P8Aq6z+rYf+RfcaxzvOIVHUjiJqT3fM7v1dzhfhR8APhT8DLi+k+G3h+SzfUhGt28t7LMWCbtoG9jj7zdOufYV23/LKpP8AXWsdxijyPeumMIQjaKsjzcRicRi6zq15uUnu27t9N35Ec3+u/Go+YbqiY+ddYo/10vn1hUMSWH/U/hT/APr3/Co4O9SQzfuq6KlP2RoE/ao6ko/5a1h++MyPyPermg3n72q//LWo57z7HLH/ANdqxxNP2tEDn/jZ4bg1iw8+CCvm/U/B/wDxNJMQV9aTTQaxayQT15P4w8E/Y9U8/NeTT0q+zPXwVU4vw3o/lReR5Fdzo/gy7ktG1FYcLBEXY+wGapaPZwV6fpOsadF4J1SyP33sZQv1KmvM4lp1Vw1i+T/n1U/9IZriqlb2Ul5M8z1djHYtPnhSM1wk0080tdx4hm8rR5FHVmH9a4eGavh/A32n/EOMHbvV/wDTszTII8+AivX82R3k3erXgqTd4nt1/wB//wBAaqM/arvgn/kZ7X/gf/oDV9PxzUb4KzP/ALB63/puR6eYU7YCq/7svyZ7vD+58zNFRwd6km8jzf8AX1+ie0oHxhHUnnfuqjh/575qSlUp+yAzPE//ACDG/D+Yr6f+Jfwj8IfFP4S+BLXxV8TLTw8ljo8RgluNmLjdBCDjzHTptH59q+ZPE3/IHk/3l/mK9c/a+/5Ix8Mf+wSP/Sa3r+bfFTF4PCZ3mdbE0FWgsJhrwblFS/2molrFpqzs9O1tjmqcsHO6vovzOk8Ofs6fBb9nbUbD4ueP/ii93b28qyaX/ou2OSUqSrARl2k4+YbcdM8iuZ+DnxHj+LX7aaeN4ITBbzxXKWcUiAP5SWzIu7GfmIGTzx0zwKf+zV4q0X4z/DbUf2ZfH10PN8hpvDt06gtHty21Sf4kPzAd0LrwBWB+y54U1vwN+1ZaeEvEVoYb2wF5FOh6Ei3fDA91IwQe4INfmcMZh6mJyJ5NQjSwFXEU5SUeZyWIjJRlCpKUm3ZO8Nrxd7aEXTdPkVotr7zufiT+y58LPFPj/WPEWqftB6bp9zfajLNPYyeRugZmJKHMwOR05AroNX8A6F+zh+zV4jufhyZtdl1S3xd6nujddjjy/MwDjy0DMQBuOW54yR4t8bfgr8XNa+L3iTV9I+G2tXNrc6zcSW9xDp8jJIhckMCByDXp/wAFvBviz4Pfs2+Nbz4rQvYWd7aSGy066CuyFoTHuKE4BdmRdpwfl5xmvQyirhqmf5hCllDw0uTEf7Teo+TSXv8A7z3VzbaNb6aFQa9pL3Lb66mJr92fCn7A+lR6IXi/tq/8u9bfy26aVm7dD5SjHpxz3+dK+kvgS+m/Hv8AZu1T4D3msRxa1pjtLpSzzDJQN5kbAdSocsjYB2hh6gV5dpX7Lnx11PxInhqT4e31qzT+XJeXKBbeMA8uZfusoHPyk57ZPFfBcXZTmueYbKsXl1KVWlLD0qa5IuXLOF4zg0r2fNrrvfyZz1oTqKDirqyRzXiv4leOvHGnadpPizxLc3ttpVuIbCGUjESjjsBubGBubLYAGcAVh16v+1J8OPhT8KtS0bwd4EuZJtVt7H/ifSG73qX42sy8+W7cnaCAF28c5PlFfD8R4HMctzmrhcfVVStCylJSc9eVe7zPdxXutdGrLYwqRlGbUndnT/BXSLfXvi54a0i7DGKfWrcSBVzkCQE8enHPoK7v9ubUrm9+O81pMW2WemW8UIYYGCC5x68ua8t8Ja4/hnxVpviONmBsL+G4BQZPyOG4/KvoP9rT4P8AiL4qanpXxk+FGmya3YalpkaTCxTdIMElH2/eIKtggDKlDnFfWZFhq+Z+HuPwmDg51YVqVSUY6ydO0o6RWrUZO7stL3ZtBOWHklvdGd+wHK1/r/inwrcKzWl9o6NMNuVyHKc++JG/WvBNUtFsNTuLFSxEM7xguu08MRyOx46V9K/AHwRqv7Ofwp8VfFX4mQNpVzd2Yg061mUGbgHZ8oPBeRlAU4I2EnA5rxr4QfAP4gfHGe9fwmLSKKyANxd6hMyR726INqsSxwT0wMckZGezPMmzSrw3kmTxoyli2q8/Z299QlNON47pPllLW1lfzHUhN0oQtrqP/Zsk8dwfGbRp/h5p63V+k5MsEkvlxtb4xLvb+FdhPOCc4wCcA/SPxc8MfsdTeOzcfE+90+DXLiRTeRxX8yktgY80RHCZGOW2kjmvMv2KLZvAvx51jwX4tgFpqv8AZ0trHBIqk+akiM6hgf7qk8cMBnsK4z4kfs7/AB4t/HOpveeCNU1R576WUajaQGZLgM5IfcucZ64OCO4r28grY3IOAYyp4BYx1K8+anUhzwoygkvgS5lOae7a0Vrd9KblTw/w8139x6n+2rb6xYfC/wAO6V4A0y0XwTDsP2rT7kOpfaRCpA6ptLEMCwZjzg43fPl78RvHGpeDbb4fX3iW5k0azmMttYMw2Ix/Ugc4BOBk4Ayc/QmseHdd+FH7EN/4X+J0ghvby626dYyFZGg3yo6x9cA/K78H5dx7jFc3+zJ+y4ddtl+K/wAU9InOj26efp+kC2Z5L/HIdowCxj9FAzJ/u/efFeR5/wAR8W0IYFTpTxOHpyqwb5Y0IbOErJWprlUlGSu29uZpBVp1KlZcul0r+RofsofDu2+F3hjUP2lviRG9tZ21g/8AZEDLiSRW4MoBxy/CJz828noVJ+ZP2k/F954w0nxN41vIUjm1C5Nw0aAAJumU4GOuM4z3619A/tAP+0Z8bdeCr8JvEVloVk5Gl6WNNkAA6eZJgYMhH4KOB3LfNH7Q9hqWgfDjXdO1iwmtbq2CJPb3ERR42EqZBU8g12ZHWWH484cyXA0ZxwtHG4f35wcXWqyrQ5qlmtFZWhHVqO/ZZVfs04rT82cb8N9eEUUfFe2eA9S/tKX/AF9fMfg/XjN5Y8+vpD4G+RNFHX+nPFGG9lSqGuG/i+zPQ9U/daNd/wDXrJ/6Ca+Ef+CcK7v2gpx/1Ltz/wCjIa+9db40K7g/6dZP/QTXwZ/wTd/5OEn/AOxcuf8A0ZDX43iv95pev+R+m8K/8k3mn+GP/tx90/6qrEP/AB6+fiq80P72rkMPkxeQa6qlSsj4AJof3tEHeo6k877HFcT/APPKGtaVS7Aks4POlkFE3/Pv5H+qrn/Afjb+3vEf9lQf6uWGWukmHk3Wa6KmHq0qvswI/wDW1H/yyoqWH/U/hXF7KsaU9yKaGo/9VUk0NR0KlqZ+yD/Uy+RUn/LKj9x5f2ij/llXTUpgFSf8taj/AOWVSVzYi4Ec/as+8/fda1P+WVU5of8AWUUgKcN4IJaPGGjm80vzxUc0P72tgQ/bLWO3rmxtJGtKqeT3kP2Op9O1iRoJYI5NiuhBX1rufGHgKCaLz4K4a40ebTbg7umK8jOKqqcLYyH/AE6qf+kM9GWIvRkvJmN4vfbYKhPDE5rjpv8AU/hXZeK8/Yl+Td1rjLyvz3wPjUn4aYNLvV/9OzO3h+fLl8V6/mynP2rV8E/8jPa/8D/9AasqftWn4F/5GW0+r/8Aotq+j49ptcH5n/2D1v8A03I9XMf+RfW/wy/Jnuvk/vaPI96k/wCWVR/89J6+/wDZHw4UQd6KWH/U/hWlT2oGP4xnlVYbdXwjZLD1Ixir+u698SfHui6XpXiTxRJeWem2+zTobiXiJD9B8xxgZOTgAZwAKoeNv9Zb/wC639K3NF/5BNv/ANea/wAq/mOXCeX8b+MOdYDNKlT2UKdK0YTcU1y02k1qnFNuSVrczvucfIqmIkm+xheG7bxPoGu2eueH9SFpfW8yy2c6uQVYHg9P0PB6V0UHi74yQePv+Fnp4wY645O69ZgcgjGwpt27McbMbR2HFQ2emzm6t/P/ANXFWpDD5tfaU/AzgvBwUKFTERSkppKs0lNbSVl8S6PddzRYaC2b+86SP9pj9qCVPMTxfp+P+wdD/wDG65H4geJfjT8UHA8b+MWvIlcOlp5vlwKwyAwjRQucE84zz1q9PNY2cUdU/wDhJLGGWuzF+EmUZrh3QxWLxVSD3jKvJp+qasbPCVJKzb+8xNC8MeO/DWqRa34c1g2N5ASYrm1umjdMjBwQM8gkH1BxXotz8e/2oNRsJNJb4g2SeZFsaaK2iSTGMZDLGCp9xgisHTdYgvJauTQ+dF58FcOD8GciymnKlgMRiaUZbqNaUU/VJImOGhBWTa+ZxGr+A/GNzcTatql2l1PLIZJ55Lku8jk5LMW5JJ7mshfD2qtP9n+z4b3NepQ3h8r9/VebyJrqvCp+APBtat76qu//AE8/+1K+oUnDms7+p5p4y0G+8DeCtT8e61sNjpNjJdXSwNukMaLk7QcAnA9RWb+zP+3v4j1cXmh/CLxXq9tbadGryWWp2sbwqHZj8iMXCknJOMde9dB+1Fezzfs++MYf+WY8OXf/AKKavk7/AIJ+w7tQ8Uz4+7DZr+ZmP9K8bjLwp4c4HyDE5rlFStSr0oNxkqjXVdknbyue/hcgwb4WxmYPmVSlKKjZ6WbindfNnr/7VH7dXxsn8XS6D4l1WDU7a3EcsNvcBkjRinURxlVB+YjOM4PWuH+HX/BST48/DO8uLnwGun6e11GEuAkTOsgHTKuxXIycHGRk4PNct+1zbY8by3HrDF/6AK8Xs5p+lf2D4P8Ag54b8TcB5Vn2YYBVMbUw9Kc6znV9o5ypxcpcymnd3e3c+Ww6U05Pc95b9vD4pNrR8RnTbL+0Dceeb4SziXzc7t+/fndnnOc5rvdJ/wCCzP7Xuj2aaZFf6ROsYwsl3Y+bJj3diS31OTXybP2qSGGv0bK/ArwsymcpYbLY0nLflqVY39bVFf5nVRoKL0PoHx5/wUa+PfxGvl1DxuLLUXQkwpO0vlxZxnYgcKmcDoBnFdb4Y/4LC/tb+GdEtvD2m3GitbWkYjg+02HmuqDou5iSQOgyenFfLM0PmxRipIYfNroXgh4WZbjJ4ihlyjVn8U1UrKUvV+0u/maVKEaLv1Z9Zyf8Fnf2xU6SeHv/AAUL/jXk/wAXf2zfit8eYNSHj62sJbjVdv2q7jRw4CspCqN21QNoAAGAOgrzCCy/571X8nyZvIrVeFPh1VxdDErAqU6E41KblUqy5akHeMkpTauntoQ6XNvqdB4b177HNHb19Yfs0+JLe8ijgr47s/3MuK+kP2V9e8m/jgr2OMctpVcpqVKZz29lWPqbXP8AkC3n/XrJ/wCgmvgn/gmkm/8AaIuB/wBS1c/+jYa+6tW1j7Zotx/16yf+gmvhb/gmdv8A+Gibny+v/CNXOP8Av7DX8z46n7HG0/X/ACP0bhj/AJJnNP8ADH/24+7/ALH/AMvH9KsHyJv3+Kko/wBVXbU2PgivP2o+xwXkUkA/5aw+XUn/AC1o/wBVWVTSj+7A4/4cfD2fwf4yk1zz/wB3FXYTTefLQf46jm/1341pSqVqv7w0qVPakf8AyyqT97UdSf8ALPz61Mwm/wBd+NR/6mWQ1X87zasT9qzqeypAEHepPI96jh/1341IP4KFUogRz9qk/dUVHWlSoaEnke9V7v8A1Un0qxUk0PnS4oWGuZ1DPhs4Ok9WIO9H+tqx5HvXNVAk+2QTfuAKyfF+iWc2jXV2vl5igZhj2FXv+WtVNdkaPw5fLKOTauB/3ya+Z4jw9uHsY4f8+qn/AKQylU/dv0PNB4dn8QW8iQW/mGLBI+uf8K5HWPBN9DL/AKiWvVPhnqGk2M14NWvI4VdE2GRwM4Jz1rc12PwJfnzk1e0J9BOtflPgxxFlmV+H2Ep1cRTjJOpdSnFP+LN7N3N8sxsaOGjFvv8AmfN8+j30EsY8it/wnpv2fVopfKxhm5/4Ca9E1Twz4alkzHqNsfpMKypNFtbMCWG4iYp2VwT6V9bxxxPkmN4OzKMMTTcpYesklOLbbpySSV7tnp4jMKc8HUjzLWLW/kdlib/n4o8/2om/1340eT+9r9Tp7HhhR/qqk/5a0y8/1o+tOoBj+Nl2SW4/2W/pWtoWP7Lt9n3/AClx+VZPjXG2z/3H/pWz4f8AJ/s22z18lf5V+D8JTt45Z8/+nVL/ANIpHLD/AHqRpWcPnVl+KfFdjo/+jwT1c1LWD4bsPP8AIrxvxh4qnvNQkFft1P8AjfvD2MNS9sbmvfEifyv9fWH/AMJhqs0v+vrD/wCWn7/PSo/O8qvbpY3B+y9nTpnv0sLSPSPDfjDyfL8+eu00HxjBeeXXhcOpTwxf6+tTTfGE9lLH+/pU8NRrHNicCfQEN5BexefmpJoYM+f/ANNvLrzPTfiRB5UddZoPjCx1j9x59cby2tS/eHm1MNWpI5z9ptM/s8eL5P7/AIbuz+UTV8rf8E+lz/wlzen2Af8ApTX1v+1Ba26fs3+MWh7eGbz/ANFNXyR/wT6P/I3D/rw/9ua/I/GCtKrwLjm/+ff/ALcj6fB68AZj/ih/6VA2P2qtD87VP7Qx9+Ff0GK+c5v3Mshr64/aZsbceH7XUJv7pH/jxr5L1j/Q7+TP73za/qz6N+PqVfDHKqMtlh6P/pET88wD9nUCH995dXIYaz7Obzquf6qv3ap+9/iHfU9lcuQzVoWdmPKrLs/9afrXQQw4ijrlxtSjTNKmpH5372su8mPm/wCvqxeTeTL0rLvJvOlwa48NT6nNTNDTJvOljr6A/Zvs5/t9vXz3o8P+lV9Ufso2cE0sc89eHxljfZZPY5qv8U+hrezn/wCEbuPtH/PrJ/6Ca+Hf+CaDbf2ibg/9S3c/+jYa++vEXkQeG7iCD/n1k/8AQTXwL/wTS/5OIuP+xauf/RsNfyxjakquNpufc/RuGP8Akmc0/wAMf/bj78oohm/e1JP2rq9p7I+CK/k/uqJ+1Sf8sqjm/e1p7RMzI/I96IfP8qpP9VUdNQoh7QP+WVSzf6n8K1/gT8NNU+Mz67d3njGy0ex0SULKzWZkcg7iGYl1VVAQ5OT06Ac12SfADwPcgWdl+0loTyudsSLBCxZj0GBcZPNfDYbj/KMXTWIoU5uDckm3TjzcsnF2UqifxJrYqMuZXS/I8lhh/e1cmh7/APTGj40/Dz4o/Ai+t/7dOnXdlelhZ6haK2xivVWUkFGxg45BzwTg49F0b9m6wHhHSvEnjL426Vpb6raJcRJJZqkZDKGwrSTKWwGGeB16VhhvE/I8dmFfBQoVo1KKTmpRhDlT2d5TSd+lm7kqpzScbao8y/56T1JP2r0yf9mKbWrGRPhj8atA1i8iGXt3hAXHu0Urlf8AvmvDtX1T4g6R4pn8E3/h9BqsV39mexigMkjS5wFUKTuycYxnORjrXJnXirwrw8qcsdRrKM3aMowjOLfZShOSv5XuKdVU7cyOlH8FEHevQ9B/Zf1TTNEt9U+LHxV0Xw7dXY3Q2bRK20YBKl3lQFhnBC5A9TmuV+N/wg+JPwi0+PxVp2oWWuaBMRs1KztmBiBA2mRQSFVicBgxBOOhIB7M08SMpwOXPG18PWUIpOXuwcop9ZQU3OK73irdbGkqqjHmaZlf8sqK4R/iFrjtuaC2/wC/R/xpy/EbX1ziO2+br+7P+NfFUvpDeH9PrV/8F/8A2xz/AFukdzN/rvxqQfwVB8EvB3xN+OWs3GneH20+1trKNXvb+6ifZHuOAoCk7nIDEDgYU5Ir0y7/AGX9S1S0ltfh/wDGnQtU1G3H+kWkluFCnocmOVyvORytfY5X4nZLn2AWMweHrSpu9nywjzW35VKacrdeVPtudEKqnG6TPNpof3tQXNtDNbva3CbkkQq4z1BrlNX8W+L9B1S50TWNOit7u0naG5gkiIaN1OCp57EVB/wsbxB/zztv+/Z/xr4yt4/+HnLOhVVVp3Uoun8mmm/k0zneKpbMur8LpZsyRauqoT8oaHJx+dQy/DnypvJbXEz/ANcD/jXq/wAJvgR8SvH3hhPG/i3XtN8N6LIpeOa+tm814+MSbWZVVDnhiwz1AwQTH8Xv2f8A4i+BvDz+PfCmu6d4k0eNQ8k1jbsJUj5zIVVmVkHdg3HUgAEj5X/VbwalljzKWUYj2TXPpKd+Xfm5Pbc/L58treQexw/Lzcrt/XmeYQ/DJ5Pva2i/9sD/AI1OvwjmYbl11CPa3/8AsqTwHP48+IPi2y8H+GbaCW8vptkYdSFQYyzsR0VVBJPoO9e063+z9N4Q0Vk1z47eErPW0RWFjqREEHJHBkaXeBjODs59O9edlGReCOe4aeKwWX1pU4O0pOc4xva9k5Vld26RuxQhhaiuou39eZ4lNN/pUn/TWrA/gqveabP9g+3f9tKk0G8+2RZr+sKex1FipPscE3l80QjyYZBUf2z970rWqBj+Pf8AW23+639K2fDUW7TrQ/7K/wAqwfGkvnSW7ezf0rqvCEPm6Xaj/pgv8q/AOFv3fjfn/wD16pf+kUjmof7zL0X6GF8bJrez0viavE5poJrqSevUPj9rBh8uA14/9s/e9K/bvq9V4Q+ty2kaE03lVX86CbpWfNeT+bxUkM0/SlS/cnsGh5372o5vIhqP/r3/AAqvN5/m1rhsV++F7I1LPUvJiroPCviT7HdRzm4/5bVxf/LKtDTZp4ZYzX1GCzGlWXs6hlVpXPXPjXrcWq/sx+N45PvDwxeEf9+mr5a/4J9fe8W/Sw/9uK9w+IGpg/s8eMYfOzu8M3gx/wBsmrxD/gn0OfFzen2D/wBua/E/G2iqHBuPX/Tv/wBuR1UqfsuBMxX96H/pUD1j9o3w7c6p4N0+7jt/MQCaMj8c18j+KtGvtNij+0QV+hV34ei8ReA0tGtkkJZ/vdfvGvkH48eA59N1W4/cf8tq/ZPo9539V4QyvD/9Q9H/ANIiflSfs5RZ5HpsJ83mCrE0M/m1JDD5MuK0Psfn/v6/qrEVb6nqL96V9Ni8mX9+K0JrzyYv9fVeGGDrVeab97XN9Vdar7Qfs61ILybsf+eNV4YfOl8g1J/yz8+rmmwwfaq6XU9jR9ma1f4RoeFdN+2X8dfWH7N+gz2drHOa8D+FfhX+0tUjxB/y2r7M+EvgODTdG6f6qvyTjbO/3X1c82l/GOq1abOgXH/XrJ/6Ca+CP+Cb0vk/tA3L/wDUt3P/AKNhr731yz8nSbz/AK9ZP/QTXwb/AME0oPtH7RFxHn/mWrk/+RYa/C8VO+NpvzP0rhj/AJJnNP8ADH/24+9NNhnml61cm/54Yohh8iKj/llXTU/enwRGf46j8797RNNP+8qODvRT/dAWJoajqT995tRzf678aOvuAd1+yBpN/rngf4m6Tp0G+e9jMFspIUNI0VwoGTwOWH0zXAwfsU/tByzLFJ4XtIlZgDI+qQ4X3OGJx9Aa7r9ku8u9O8AfFO/sbh4Z4LdpIZY2wyOsVyQwPYggGsP9mb9p/wAV2Xj5PDPxR8W3eoaVrIFuLi/uixtJTwjhicqpJ2tyMZDfw1/FWNwvB+YYbKcLnbqxdSWIUZQlFQV8RP47xbs3ZXWy1ZxWoyhBTv1/M6D9qqS0+Hv7Pvhf4N6/rkep67C8UjyBwWjjjVwW5G4LlgingkKfQitj46/Bn4hfFr4Q/D6z8D6MlzJp+kRm7WW5SIput4QPvkZ5U/lXh37R3wq1b4T/ABNvNKvJ57izvGNzpl7cSF3miYnhmPV1Pyn1xnoRXr37Snjzxp4G+Dnw4l8HeKb7TGudIQXDWVy0ZkC28GM4POMn86ylmWGxlTPY5xh506VGlQpOnCSc1GnUUY+/JWk27S5mtYvTox8ybqc6skkvxKH7Pn7Jvxl8HfFDTfGPiYwaRaadMZJjFepJJOu0gxgISMNnByRwTjJrd+Hv/CKfFX9tfW/F+ktBNa6JY7oJFwwnmRUgMqlRggFmwST0BHbHBfs2/Hv42an8XtH8OXXivUNYtNQuhFe2l7IZgIsHdICcldoy2QR93Br0fwrqvhvwJ+3JruhW0UMS6/p4Xd5oO25ZEmYYHClirHB5yRjriu/hmfDNTKct/s2M44dY6POqzTk6ns37NxcbRsna6sne19N6peycI8u3N172Pnj43fEHVfiZ8TdV8TalcM6G6eGyjJOIYEYhEAPTjk+pJPetjwD+0Vr/AIL+FetfCe90WDVdP1SF0tBdzMBZl+HIA5YHqACuG+bnJBxvjd8PtU+GfxN1XwxqVuyoLp5bKQg4mt3YlHBPXjg+hBHatnwD+zr4g8a/CzWvixea1BpWn6XC72hu4WIvCnLgEcqB0BAbLfLxgkfkuG/1w/1oxn1Xm+tfvva7fDr7Tm5vdtbv1ty62ORe29q7b63/AFPO6KKK+JMD6O0+8vvht+we19pk6wXPiG+dGlhZQ2ySQowyOpMcRX1APbHHivwh8W3/AIG+JmieJtPumia31GISlWxuiZgsin2Kkj8a9q0+zvviT+wc1lplus1z4evmdooVUtsjkLscDoRHKWPcgd88+K/CHwlf+OPiZonhnT7VpWuNRiMoC52xKwaRjnsFDE/Sv1Xin67/AGlkX1O9vq+H9lb+fmd7f3ufe2u3kddXm5qfL2Vj0b9u7w8NJ+NCawiIF1TSoZTtwCWQtGScc9FXk/0rxqy+yfbIvt+/yPNXzvKxu2Z5xnvjNey/t2+IP7Y+NMejRFGGmaXDCQmCd7lpCDjnoy8H+teR674Z8R+FrpLHxN4fvtOnkjEkcN/aPC7Ic4YBwCRwefavB8QacP8AXbMKlCLcI1Xd20Unvf1lzW7meIt7eVu59B/t4/2z/YnhL+xvO/4Rr7K3k7M+X5u1dm738v7uf9rHepf2BbDXtW0bxXpV6Z/7DuIo4gDnZ57KwfYezbCM4/2c9qxPBfx0+MfwR8AaVpHxW+G/9r+GdThb+zDqj4lMXGI8ncAgHKo6g7SMHaBXrXwR+PGp+P8Awl4h8YR+B7PQPDmhWZGnpG4+eREZ3G7CqFUBOAoxu6+n7DkUshznxCp5zPE1KdaULyw8qU04r2Nnefw+y5fej3ulbU7KfJPEKd7Ptby/I81/Yn0q18N3vjrxyjLLFo9iYYZJFVXZQXkJIySuREuece5xXz9rWsaj4h1e613WLp57q8nea4mc5LuxJJP4mvfv2HtVPiSTxt4Gu2hVtY07zvuqOTvjbjuP3o46D8a8A1rR9R8P6vdaFrFo8F1ZzvDcQyDBR1JBB/EV+XcSu/AmTuhf2V8Rftz+06+fLa19bX8zlq/wIW21PXfFegaXb+CvssV4olih+6WFea+Cb0CS4srg4Hnda91/Z0j+HnhD9mfWvit4j+G+m6zdWGpukn2qBHeVMwhVDSKwTHmHoADj15qrB+1d8ANUlGn6/wDs2afDZynbPLBBbO6r6hfLXP8A30K/qSl4yZdQwWGrY5U6Mq8FUjCU6j91tpXlGhZap37emp3rERjFNtK/9djy67ERiwJF/OqG+SH+MfnXoP7TnwU8E/DzxD4d8WeAIAdB8QhXSze4ZlBGxvlJO/YyOD1yDnkZAHqfxy+I3wb/AGftc0/wk3wD0bUFn04TxyJbQJsG9k2ndExY/LnJPetoeLmKo1cbHNMNTw8cK6alL2s5qXtU3Bx5aN2mle9uuqRKqNOXPpa34/I+VNfkaSRCx6bsfpXe/D6aG3sYJriVQgtBkFh6V6r4D8Ufs2ftQanJ4A1L4QxaBqb20j2NxYiONjtGTteNV+YDLBWUqdp69K8q+Gf7OOqeN/jdf/Cu/wBQMNtotxL/AGpfQqG/dRvtAXnAZyQBnpknB2kV+aUeKsxy7jerxJldGGMhmTjRgoVJR5JwjBNSc6aa0jzapK123Za4wbp1eeC5lLQ8f/aH1BrvWc2kpb/dGa818ieX/li//fJr7z8S/Hf9mf4Ua1L4A8JfA2x1e206Qwz38scTbpAfm2vKrvIAeNxIzjjjBOF8ePg/8NfFXwwi/aF+CEH2SwZgNV0lYziMs+0tt3ERMrEAoPlwQwwB836FivF6pRwGIWX0aOJq4dOVWnCtNNRXxSi5UUpqPVrp62PcpZz7Cm4xgpNb6/8AAPi3yJ/N/wBS/wD3yafDaS/88m/KvVqK/N5fSUry/wCZYv8Awd/9yH/rTL/n1/5N/wAA8t/fRf8ALJv++ajmgmml/wBS3/fJr7W+D3wz+Ffwx+DB+Pfxp0SPVmvZlGi6aTvGMsqjYSFZmIZiGyFVAeuRW/4K8Tfs3/tQXtx8Prr4UW/hzVpLSRtMu7RI1JIXqrRhNzLktsYFSFP0r9Iy3xTxNalh4YihRp4nERUqVGVafNJS+HmkqLjBy+ym9brZ6HRHiGTSvTSb2XN/9qfB3kzf6jym/wC+aseVL5v+rb/vmvXfGnhTUvAvizUPB+sNG1zp128ErRNlWKn7wPoRg88884rMr4up9JzGYPEypzyhRlFtNOs7pp2a/hdGcs+JpN2dL/yb/gHA+N5ZR8EvFdksTFm8O3YAxyT5TV5l+wBaXNsni77TbSR7jp+3ehGf+Pn1r6z+D3ws1z4weOrXwdoysiufMvrrZlbaAEbpD+YAHdiB3r179tv4afD/AOHfhzwrB4L8KWdi7GaGS5gTEkqRrHt3kH94x3ZLNlvejinxRzjxD4AzHGvL40KEIxhzOq5OTc4p8q9kr8t1e7S133t1f6z1J8P4nA+x0quL5ubazi9ra7d0eaeCFifwxCrSKDvfgn/aNeOftM/DIahbXGqWkO7/AHea9z+B3xs8BfC7S7zT/Ffwa03xBNcTB4724KmRFAxsxIjgDv8ALt988Y9N8GftJfC3x14rsPCGifswaS11qFysMWUt8Lk8scQdAMk+wNez4e+NGU5VkmXYRVIRrU4Qp8v75tuKUV8NFq8rJ2TaV7XZ8velVpxTdn8z8jNe8Ka1p19Kw06QgdT5ZqtZ/vulfqn+29c/Duw8bWPg/wAG+ENOsbywtt+p3VhAItxfBSIqoCkgfNkgn5hgjkV+YutaDLpupzTqMCKVsDHvX9oeEHjHPxDznNsorYaNN4D2S541HNTdTnurOnDlcHCz1ldt9tbjPkqOPYyrz9z1rPn7VqXkM83/AD1qnZ6bPN3kr+gqeZRVE9D6yiPyf3VdB4b0f7bd/wCoqTRvB0955f7ivWPh78K55pY/3FfOZ3xTg6OEObE4lVUdR8AfB/nX8c/2evqzR7M6do0cFeZ/CXwH/Y/l+fBXqEM2Yo6/nnO8y/tDGe0M8NTKOuTZ0q8/69ZP/QTXwf8A8ExP+Tj7j/sWbn/0bBX3prv/ACCbzH/PrJ/6Ca+Cv+CYv/Jx1x/2LN1/6Ngr5fEv/aKUvP8AyP0bhj/kms0/wx/9uPv+ftUc2Jov3FST9qrwzfuq7j4Ij8nyqjh/5Z/jViftRDDSqU0AeR71Bql7Fp2nT3/l7/JiZ9mcZwM4zVuqHiryv+Efvsdfsr/yNefnGI+p5Jia9F2nCnOSfZqLaeum/cmTtFszfhV8cvEHw+8N+KfDumeFYdQHiW3McsrM4NuxDrnC/eG1344OcHPGDwv9i6x/0Cbn/vw3+FdJ8Ktn2i93f3E/m1dvB3r+UuEPCSfiFwVg80xuYTiv3qjFQi1H97Lm1um+Zrmd+rtscMKTrU02zF+I/wAcfFfxN+GOieAPEvg5ZLvR3z/bkgczSKF2qAMDblcbiS24qDgEV3+jfteaE/hHSvDXjL9n2LVH0q0SCJpWDoAqhcqssTFchRnk9OtcleWcEMXnz1zepeKrKzl8iCv1PK/BzN6eOniKebzc5wjCTlRpS5ow+FNSum1bd6vq2ddPDYhu9/wPVLn9sVdAs5D8MP2ebLSLyYYe4eH5SPdYo0Lf99V4fq2qfEDWPFM3ji/Oo/2rNd/aWvo4njdZc5DKVA24OMYxjAx0rY/4Tz95/r6sQ+NvP/5b1OeeA2YZ9GnHHZvUcYO8YxpU4RT7qMOVX87XLnga9T4pHpWi/thX2o6FBpvxc+B9t4hubQbYrx4AMjABZkkjcBjjJK4B9BXJfG/9ov4gfF3To/C2meGJND0CEjZp1orkyhQNokYABlUjIUKAOOpAITTdYg1PvVyaGDyv3FXjvCLOcwy+WCxWdVHCSSlalTUpJdJTVpyXe8nfrcxlCrKPK5Hkf9k6r/0DLj/vy3+FLpul3eqaimlQALNIxUCTjBAPX8q9Pm/1341wmibv+E+46/a5f/Zq/EeLfBvLeEs0ymk8TKrDF140pJpRai5RTs03raXyOSdBQlFX3Z3fwR8WfFD4G6zc6h4fj0+7tr2NUvbC6lfZJtOQwKgbXALAHkYY5Br0i8/aivNJglm+H/wZ0HStTuR/pF5JOGDdzkRxoz8+rfnXncMw8qSpPKh9K/pLKvDTJ8lwqwWBxFaNNXsuaEnG+/K5QbjfrytHfCnyRsmcto8Hj3SvHsHxHmuLS91KHUReu94S6zS79xLDHc+mMdsV137QvxO8X/Hh9NiuPDWn6Zb6crlES6M0ju+NxLlFwvyjCgfUnjFf7Hb+p/KoprOvLo+DXCtDLK+Xwq1vY1mpTj7RPmad023G++9mr9bmSpRUXG+jOu+GHx78WeGvBtr8PvH/AID0jxJpdlEI7Xz5sSKoJ2hg6OrBQQBwCAB1qp8Y/i/8Qfih4Z/4V94c8M6XoGhl0L2trOzPIqnIQkKqhM4O0KOVHPauchhqwf469Sp4c5RWyr+zp4it7Ll5PijzOFrcrnyc7jbo5G3JeHLd2OW8C6T8Qfh34ssvGXhq8tY7yxm3x7pGKuOjIwAGVYEgj0PavYdf/aEbxXo7t4g+BPhO91xkVRfakouIOCOSjR7yMZwN/Hr68H5372pIfIrkyfwp4byKhPCYOrVVKeri5Rkr2tdKUHZ20urPzJhSjTVovQ9D/Zw0/wAD6n+yLrdh8Q9Wms9Gl1iQahcw8NGMwFcEBv4gvbufrU3hP9nb9knV9AvPiD4e13Vtd07SNz30CXLN9xdxBRY0kPHPGM4+tc58OY3P7BvizCHnVHI46jfbc/oa89/Zo+NE3wZ+IcV/eyudH1DFvq0SngJn5ZQPVCc+pBYd6/nSOeZFl7yPCZrg6U6U8ND95OLlKDcpqLtflcE0nJWvZvXoYe0px5FNK1tzV/aB+Pmn/Gnxjoth4b064sNB0l0S0hlVQ7szKGcop2rgAKq5PA6jOB7l+0t4W/Zv17xZYXPxn8a3umX6acFtYbZmAeHzHO44ifnduHXt0rxH9pP4Jr8M/ijZat4XgEmh+ILlZ9L+z/MsbllLQjHbLAr6qwAzg16l+198Avih8WvHGma14G0OK6t7bShBM73sUZD+a7Yw7Angjmt8F/rMqOffXsHHF4pVcOnBwlKMkuflcYwafKo2cbdLXHH2tqnMru6N/wDZ88Ffs4aJe32s/A/XIdZ1uO0dVOoXzCRFOONuwFELbQXCEjOOc4PI/szX/iV9N+LPi/W7Nk8QIZDNLhiyzKlwxjHPRWAwB7e1N/Zl/Zp8f/Cfxw/xM+JV1Z6TZadZTAx/bUYuGTBZyp2qijLZJzlRx3rnvgv8f/Cmk/tF+J9S1u68nQPFl3KnnXJLKjbz5TPxwpBZTkYUOMnAJr1cNmKwEcmqZnh44BupXgqaXJH36fKqzjL3otSajeT2u72KUuXk5ly6vT5bngRJJyTknqTVpNb1mLSH8Px6vdLYSTiaSyWdhC0gGA5TO0sBxnGcV7T8Q/2HPifZeLrlfh7aWt/o80peyle+SN4UJ4Rw5BJXpkZyADwTgWvjL8N/hZ8BfgbB4C1q1sNS8banKlwbuNGLwDdhmVuCsQAKBWxvYltvB2/j8uAOJsvp4utjo/V6dCMrzndRm9lCD+257K113OP6vVjdy0seBUUUV8GYH0T+1dGmmfs9/DjSNNXFobWNziUMNwtkxyPvfffkcfnXl37Nd1dWnx38Ly2YO5tVRGw2PlYFW/8AHSa9h8KaHZftRfsu2XgTQNRjh8ReFJY1EV2+FbAZV5AJCNGSAccMmDwMmP8AZ5/Ze8WfC3xmfip8XJLPTLDQraWeNPtayFm2Eb2K5Coqlj1zkDiv3fHcPZvn/GOW5xgabeFnHDy9ovgpqmoqalLaLg4vR210R3unOpWjOK00/A87/bJsrKy/aC1n7EoHmx28kuHB+cwpngdPoee/evM7GxvNTvYdN061knuLiVY4IYlLNI7HAUAdSSQMV6HNplz+0/8AtEXkWhXy2MetX0kkM18QTFAi8HaPvNsXhAevGcAtVf4x/CrxF+zd8QrOzsfFqXEwiS807ULQeTKmGIyybiUIYHHJBHfqB+e5/l2KzTHY3P6VJ/UniJrnVvtSurJtPVNO9rXaTdznqRc5SqJe7c9xsfh/4z/Zt+BTaT8P/CF/qnjPxCMX95p9q0oseP7ygj5AcLzy7FuQMVm/tS/Dv4geKfhR8P8AT9B8Ianf3Vhpu2/htrR5HhbyIBhwBkHKsOe4NebD9tP9oUAA+LrY4HU6VBz/AOOV7B+0X8dPif8AD34Z+CfEfhfWEtrvWbAPqUr2Ub7n8mJuAykLyzcD+lfrkM64IzrhjH0cPLEQwtGlShyclP3V7WL5o+++ac56zcmrr0OrnoTpSSvZJfmfJcsUsErQzRsjoxV0YYKkdQR2Ne+fsg+G9L8DeGNf/aN8XQgWulWskGmBhy74G8rnuSVjB9WYV4tZW3iX4j+MorMTS32q6zfBfMlfLSyyNjLE+5yT2r2z9rfXtP8Ah14I8O/s4+F5sQ2NqlzqrIMeY3OwNg9WbfIR67TX5jwVSoZX9a4iqK8MKrUrr4q07qmmtfh1nJJu1kc1BKN6j6bevQ8N8U+JNU8YeJL7xTrU3mXV/dPPO2f4mOcD2HQD0Ar3LwT8FP2RPCf7PGjfFj4rfCOHU5dTnMdxMIvMfzC8gAChkULiM+/PJPWvn6vrPw18O/DnxK/Y88LeG/E3jm20K2W4M4v59u0uJZwI/nZRn5j3/hPWva8KsRmlTMsxq4a06/sJTjztcrnzws5czS+1LVvq9dSsMnKUna7t1OF0rwr/AME3fiFqEXhK2+Eq6NPeyCK3vpLIoFkJwo3b3UZJ6su31rjfE/7IPw7+Hv7R2i/DLVvC9rd6Lq19B9luFsYo5JIJH2lSwTG5TkEgDI5G3Ix6tpP7IXwb8A28HxP8Z/F37foVnIspeK3RYZiHwFLoz7gWG3avJ6A5rm/Evxg0r4zftceFdV8PkjTNP1S1tbGaWLY0wEu5nIxkBmJAB6DGQCTX22b47PI4DDxz5wo4uVej7KNGdnOlKXvupGE3Fw7S6vTbfacfdXtEk7q1uxt/EPwt+wN8I/Fs/gnX/gbi8tY42drO2Zkw6BhgmYE8EdqZZfBH9mn48+G9SvvgAbvRNa0+33jTmLBXPO3ejluGwRuRvlJBIPQ9J8eP2dPhx8QviZe+KfEXxw0/RLueKFZNOn8ndGFjVQTulU8gA9O9bHwv+EPhH9nvwFr/AMQ/h/qkvizUm019k1tJFsYJltiBWxjOC3zMSF4GeD9ROlxRj+IsThcww9H+z4up70HFVVCN+Vx9nJ1FPbTl7p2Zr7OUqjUorl19fwPn39nv4O+LvjN40m0abXbyw07TCr6zcCZlkRSSBGgOR5hIbrwApPOMH0658X/sQ+H9T/4Q64s9Xvfs7CCbWUurp42YcM+5ZQWwc8omD/CCMVU+D2pzeHv2OPG/jTTGaPUby+mjnnQhfvCJMqAPlwJW6d/TjHzjX5VW4kr8FZJgfYQjXr4mDqzlWTqJQcnGEIpu0dIvma1b2djmc/YQjZXb11PXv2lPgrqHwp+xeKfCfi671LwxrKgWU0t4ZHRim7axACsrLkqw6gEEcZbxLQPCvhjwpfHVPC3hyw025MZQ3Gn2aQyFTgldyAHHA49q6vUfiV461bwbZ/D7UfEtzLo1hIXtbBiNqEnPJAywGTgEkLk4xk1h18LxDxDDHZpLEZbKrSpySfI5tqMrLmUXzP3ea/LfW3RbGUq8k2qbaT3Vy0db1o9dXuv/AAIb/Gvf/Afwi+Gvwx+F1l8Vv2i9W1RptScGw0eG7kGUZdyAqhDFyoLHLBVDAHBr59021W+1G3smLYmnRDsXJ5IHA7n2r3z9vyRrDXvC3ha3DLa2WjuYV24XJcJx74jX9K+l4QzHE4PJswzzESdaWHVONOM5SlDnqSa5pRvrypOyel391UXywlN62/U1Zfhj8Evj/wCEdU1T9n7UtV03XdNhDrpdxeyKspzwGWRm+8FIDKwAJG6vnOfVfEFtM9tcaneRyRuVkR5nBVgcEEZ4NerfsNanc2Px3gs4N2y80y4imCjI2hQ4z6coK4X416Pb+H/i74k0e0DCKDWbgRhk24BckDHpzx6itOJs1xWb8MYTPaX7mpKpOjUVNyjCTilKMlG+jcW1K2ja6Dqy56SqLR7Mw4NV8QXEyWttqd47yMFjjSZyWJOAAAeTX0WPhd8DvgL4N0y//aGv9U1TWtUgLSaTDdyMkf8AeAWNlGFDBSzMQSDtrw74L6Vaa38W/DWk3xPkz63bK+FzkeYvH49K+o/2jbf9mnQvF8Hin42/bNS1GexWKy0qGRyEhVm+cKhXGWZuWbnBwODXr+H9HF18hxubVq1NyhKFOLxM37GN9ZSlHXmdrRirPV7MrDxvTlN2+ex5b8Vfhv8ABHVPhHP8aPgPr9xpogvEhvNLuL0qCT1QK5LCQZDABiCobA71W/Z/+DGm+J/B178Yvi945vdP8NWRZUW3vnWSVlIDFiASFydoVfmZjxjA3T/Fj9nz4Y658MpfjV+z9rsk2m2jMdS0+6lY+UowCE3LvVlzkq5OVOQegbpPAWlyfHb9jpvht4OuLNdb0a4y2nrKqNLtlMilgSNu8McMflLKeRzj1sJhMS+KJRqYeCccLKrSpUZydDE1FqpQjG3uyu24Ldx8y1H97qul0lsyTS/Cn7Kfx+ll8HfDvW9Y0bWY4XNkZrmfFxtH3tsrOHHcqCrkA9MHHzr438K6v4F8U6h4S1xo2vNOuGhmaFyyMR3UkAkHqMgHnoK9n/Zg/Zw+LOl/F7T/ABV4o8L3Gk2GkTO8812QhlbYVCIAcsCT94fLgHnoDzX7aVrBB+0Dqq29ksXmW1s7suf3rGFctyevbjA49cms8wq55jMgwedYui8JXWKjStDnpxnBq6bg3ZNSTV9Lq/Uq9RxjNqzvbseRG88mKpIbz/pvR9j87ij7Hceo/Kv74w+J/wCfh9V/FNzQfEk1nLHmvQPDesf2lFivI4Zp4ehrrPB+pTxSxwefWlXDUa1E5sThjuLyHya8+8Prn4hKn/T5L/7NXos3+mxda860L5PiF9LyX/2av5w8Zo+zzzhuHbFw/wDSqZ8/iPih6noPk+VUf7/93Un/AC1og71+4U/3R1BDNP5NH/LKj91RR/F/hgRzf678akqvP2qxR7IzI4f9d+NWPI96jP8Aro60IIfsdrJPcVzYj21L92jSkeU6Fb6zqGiT6XBr88FlLcK01mJG8qR1Hyuyg4JAJwSMjJp3/CFS/wDQQX/v3/8AXq94DAbS5gJNpE+f/HRWlDD5P+v/AOe1fzt4e+FPAvEXB2CxuPwznVnC7ftKi+09kppL0SRwxoQ9lGT6nP8AiaLXH060l1fxFcXsdootrOKeVmEEYBIRNxO1R6DA5rsPC/xZ+Kr6LAv/AAszXgqAoqjVZcBQcAfe9K5jxn/yDYv+u/8AQ1c8H/8AIGh/3m/9CNZcO8LZNk3jVi8qw1L9wsMpcspSmua9PW8222rtK70TsiqcVHEtLawfFLxl4x8QLbWviDxfql/ENxEV7fySqCMYIDEgHk802HwdpE/hy21BYGEskKs7eYeTj0qp8RExLaNjqr/0rotLUyeFbJfS2T+VVlHDmRZl4x51hcXhadSnTp0nGMoqSi3GneyaaW727m9GnTnjpKSujzDW/wBoL48/DiAaH4S+JWr2NjDnybWC7YImeeB2/CuGu/ir461i9l1LVdba5uJ3LzTzoHeRj1JJ5Jrtvip4b+2Rf6ivK/JMN15GK/ZnwbwjjaccPVwFGUY7J04tL0TWnyPqMJRwU1aVOL+SOjtPHXiSdMm8XP8A1xX/AAq7H4r19ut2v/fpf8K5/TYfStWH/U/hXl4jgHgik/8AkWUP/BUP/kTr+pZf/wA+o/cjc0Xx34w0S+TU9F12e0uYzmO4tW8t1PsVwRV/xJ8bvi342hS38V+PdS1GOPlI7y5aRVPrg8Z965f7Z+66UQ+RNXZhODOEo0JUI4CioS3j7ONn6q1mL6hgkrezj9yN/RfEniK01GO5s9TeG4hcPDPB8rxsDkEEcgj1FbN7q3jDxRqEmr+INWub67lx5tzdymSR8DAyzZJ4rl9HmH2qPAr1zwf4V/tL9/Tq8BcHYGn7OpltDlbvb2ULX725bX8zzcRh8JFWVNfcjlviDpp8M/AnxT43szt1LTNCubmymPISRIyykqeDyOhrxX9lD49fFX42W+s2nxJ8VSajDocVpFpUToqrbJIZy6qAAACVBx0zn1NfVPxL+G//AAmHwu1z4cwah9k/tnSp7MXXlb/KMiFQ23I3YznGRn1r5F/Zk/Z4+M3wP+IGtN4+8OyWmmzWZghukvI3huZFlBRgEcn7u8gkAgEjgkivzvxL4S4Wy/gfHYjB4ClTkofFCnGLXvR6pI7cLRyV8KY2NRQVdcrjdLmtdX5Xv0d0vmfUfgrwlo+p6PDqdxFJ529iJElZSCG4IweK19V8LabruoS6trk93eXU7Zmubq8kkkkOMZZmJJ4A618ffHL4V/tf+JviLea38Jh4i/sGSOIWp0/xCLeLcI1D4Tzlx8wOeOTXJf8ACiP+ChP/ADy8Y/8AhVj/AOSK9rgjhbhLE8F5fOvldGcp0aUpN0oNylyL3m3HVu71eurNcv4Oy/F4ClWljqUXKKbi2rptXs/e3R9vax4H8OWejXd5BaOJIoGZCZWOCB9a9L+IP/JhfhT/ALCy/wDoy5r4T/Z8+Ff7TvhXxjPq/wAdX8SJpyWTLYrqHiJpomuCy9UWZg3yb/vAjv1Ar3jVviT8Z9R8KW/w8tfC/iXV/D9lMZbSOza18jeeuN8yuQDngjAJOOpJ/KeOqGAo8W4vJcgytqpLBuDjRpxWs5wlztK3upWTdr3aVranzubZVSwGYywmGqRq+78UWlHXzvrb+kew/sifEzR7r7d+z/8AEEibRfEaNHZLL0iuGGCgJ+7v4Kns6rjliawfD3wy1n4R/tU6D4L1gMwh8Q2r2dyVwLiBpRskH1HBHZgR2ryK1m+JsM6XNn8F/FSSRuGjkjazBVgcgg/aeCDXSa18Wv2lPFPi208c6v8AD/xlPqthsFldg2KGEL0CqtwFHvx82TnOTXxmH4c4ynlODoY/Kq7rYSrF05qH/Lq/NKnK7T0avDe12tFv56wGM5EpRV09Pejt9567+1p8JPif4r+OOp634Z8A6tf2ctvbCO5tbF3RiIUBAIGOCCK639jb4b/EH4Vp4h8ZfEawn0fRm0757a++UyMhLGUoeVCqGGSBnfxmvJ/+Gy/2z4wA/wAPte6dTpmlc/8Akaub+IHx2/an+JVobDxf4C8YS2bAB7O3FhDC+CCNyR3AD8gH5s4xX1keHamA4mq8RYPLMdUxDlOcYSpwjDmnfSUlKUuVc2yWvXqa/UK0arqKOv8Aij/mew/soeKfDPjvw34s+AfiDUxbw60ZZtIDlUJ3ghlRc43LhHCDPRuwNea6r+y58ddM8SP4aj+Ht9csJ/LjvLZA1vICeHEv3VUjn5iMd8GvPLB/i1pt3FqWmfBrxbbzwSCSCeCWzR43ByGVhc5BB7ivSrT9rf8AbR0/TU01fAnid1ji2LNNY6W8mMYyWM5LH3OT6189huE83zrKMPg8+yvFqeHuoTowi3KEnzcklNq3K2+Vq+mjRCy/ETgo1I7dpR/zN79oX4M/DX4LfDvQNCF6bjxlO3mam8N4SvlkEkmM/dUNhUIClsMTnGB41S65rfxi8TanLrviL4T+ML67nIM11dTWcjvgYGSbnPAAA9AMVo+GfBPjbX7R7rUfCd1oxSTasOqyw73GPvAQvIMduSD7V8xxBwFxlmuaSq4HJalCkkoxioa2irXk+spbyfVvruc2IwWIh7/KkvJp/kzOVmRg6nBByCK+nPj94I1b9oz4U+Ffir8M4G1W5tLMwajawgCbkLv+UnkpIrAqMk7wRkc186634U1Tw/As9+0RDPtAjck5wT6e1d98F/EnjjwVo8ep+D/HOoaes8rtNZoUeB2B27jG6lScKBnGeK9LgLhXPa2b43hXH4Sa9tSjOcbxhUhySi4TjzvldnL4Xunv3xoRleVOS0Z6D+yX8H/EXwr1TVfjJ8V9Mk0Sw03TJEhF+m2Q5wXfb94AKuACMsXGM15N4T+HfjT9oz4m6qvhJIvMurme9ubq+cxxwozkguVDHJJAAAJ/AEjsfiB4r+IfxPgOl+MPiDqM1m2N1lCscML4IILIigMQQCM5wRWX4I0TVvhvri+I/BPi6/sLwRlDLGI2DKeqsrKVYdDggjIB7V+hZj4Q57Ujgcro4STwNCUpzbq01VqSnbmdk+VWSSir3te7T1NpUW+WKXur72c/b6N4m/Z++Nmn2/iq2hiu9H1OCaRuJIpItwO9TjkFSSDjI9ARx67+178FvHXxG8WWXxR+HOnnXtMvNMijDaa6yFMElSoBy6MGyGXPfOBivPfEvgU+MNcuPEnibxPqF7fXT757iZkJY9B/DgADAAHAAAFavh3xl8Rvg/oE6+C/iFqMdtbwO0VjciOaBTyflR1IXJJJ24zmuTC+Fmf5blWYYDMcNJYCUvaxcKtN1afs72bTtGV4aSWm2ncUadoyhJe7v5nd+BPC2qfs4fsx+Kb34lLa299rqyJZ6RdTK25mj8tUIBIZjksVGcKvOMHHm/wH+EHxN8QeDdU+KXwk8dm01fTZxAmlWbsk1wvDMGYkLgjBVSGDFSDjFYsGseLfjre3mp/EXxjqF49iga3QyARx7yQdqY2p90fdAzisbw9458ZfCfWZL/wB4pvLB22+aI3G2XGcB0I2uBk4yDjJrlyThDMuMlgMZgMJL+zaMJ06b9tGFe/NJOrdNJSU9VG/Lp2djejhauK5XCPurz19T6O+B1x+1P4v8b22t/GLUb7S9A0eN5biO5to7QXThSFVgoUsozvJPy/J64r57+OPjGx+Ifxj1rxRpd001pdX+20lKFd8SgIpAPIBCg8889B0qz41/aa+Nnj/AEx9G8Q+N5vskiFJreziSBZVIwVfywCwIPIPHtXJaFbxz36faCR5bBjj2NfTZ34acdY6lhMBhozqUqdZVZ1K9aEqkmrRSSUmlGMb2V223fTW/RWy7Fx5Y20ve7Z2GmfD37ZayXFZeveFf7Nik/cV6ZoM1vNYRwQVzfxamsbPSq/pf2mLuejS/jHld5VzR7zybqPIrPm/f2txff8ALOjTZvSvWw1V1f4h6NSmeyeFbz7ZYR1wOirn4gFf+nub/wBmrrvhjN+6/wBfXI6edvxCkPpezf8As1fgXjN/yUPDn/YXD/0qmfKYz+PH1O+8797UlRw/vakhm8n9xX7hVLCX9zF59EHeo5+1SQ/uYs0UqRoRzQ1JUc3kUfv/AN5Wmv8Ay7AuaPZ+dLiuL+NnxIh0G1ksbEfvK7i9vINB8L3F8bivlv4heJJ/EniO4n8//ltRlyVWt7Soe3luGo1f4h6T4Y15NM1MWknRxu/pXd3kPnWnnwf8ta8d1W9ltNetynQx/wBTXsXhuee88Lxz1+ceFMYR8M8smt/Z/wDt0jyYQvgoPyOZ8b/8g6L/AK7f0NW/CH/ICi/3m/8AQjVTxx/x5Rf9dv6Grfg//kDQ/wC83/oRr4/Ax9n9ITGL/qEX50jgX+9v0M7x7/rbb/db+ldN4b/5F+1/691/lXM+Pt/n2+/+62P0rQ0jxfolppdvazXLB44VVh5bHkCvIy7O8myTxrz2pmOIhRjKnSSc5KKb5KTsnJq7sOE4wxU3J2I/EmhfbIpP3FeJ+JPDf9m61JXvf/CZeF5f9bfsP+2Lf4VwnjjS9K1q8+16XOGPupH8xX6EuOuCKdb2izOh/wCDYf8AyR7WHzChHeS+887/ALNPlefUnnfuq6B/DV4pdEjBU9DuFUrrwjrDTpJbxLgdfnFdkOP+BqlS9TM8P/4Nh/8AJHp/2lhP+fi+9GZ9jnmi8+o4O9dZb+HZDY+Rcou70BrMbwfqgneRIkwenzitafiBwKn/AMjPD/8Ag2H/AMkR/amF/nX3on8K6NPNdefXtng/xJY6PpfE/wC8rzjw2sWmac8V2D5p6Y5rN1GbxK90Vsw5hf7xMqj+tdtHjzgDF1b181w69a1P/wCSMauJwdX/AJeR+9HqupfEKDzf9f8A9ca5bxX4qj19Ft0kyUk3Y/Aj+tcXHY6+4/0gj/voVoWFvcQsWnAHGBzXyvixxl4f47w8zDDYDMaFSrKFoxjVhKTfNHZJ3Z5mKWCWFnyzTdtNTr/DfiuDS9IjsnlwVLHH1JNdNoPiqxvP+W9eYrFK0+5elaWnTX1n/qK+/wDDzD4at4c5Tbf6vRv/AOC4m9HD0pYWDfZfkdd8WLmO50S3ZOv2r/2Vq0PhrafaPCFuf9uT/wBDNcPrutvqVklu/VZd36Gut+HWuxad4aijeXBV34/4Ea/IaVL6t9IPGx7YOP50jgjRvmEo+X+R2tnDBD/r6p3mv2Nn/wAt65fxJ498mKQw1weveNr68/1FfueGw3tf4h6VPBe1PUL3x5Ywy/6+s+8+J1iB/r68jvNYvpv9I8+Wqf8AaNx6ivfw+Fy72P8AEPSpZbRPcNH+IUF5L/x8V2FneQXlr/x8V812esX0P/Leu8+HvxInhljt5564qeXUf+XZw4nLf+fZ6xNaf8t6pzeRWho+pQXkX+vqvqVn5Hlz15z0rnk7HB/F21EGj28ueWugP/HWqX4e39nB4VgjmnVWDvkH/eNN+Mn/ACB7T/r5P/oJrrvBH7Tvi74H/Cjwz4e8PaBpt3Fd211cO96JNwb7XMuBtYDGFFfy5xFxRQ4T8a8dmNaahGOGhFtwc/idL7MZRe/W/wAjgjJQrtt20/yMa88QaJbz7bjVIIyeQHkAyPxp0fibw9NcCOLWrZmJ4VZgSa9R+EH7QWj/ALTfiCT4W/Ff4ZaZOLi1lktbiCNmVNq8j5stGcZw6sCDgdTmsn9kTwdb+Cf2j/F/hBhHP/ZVnNFb3DwjeAJ0UEEjKkqeccH3GK+qoeK2cZji8E8vVGrhsTUlT5+SpGUJxjzNSg563WzUrenXdScnHld09Dkf7X0z/n9j/OsbxL4l8Pz6LqNvDrNs7yWzqiLMCWODwK7S+/b/APiVaX81qvgzQysUzICVmyQDj/npWr8V7PwV+0B+zfcfHTTvBsGja3ptwftUkMfM+HVHUsqjzFIZWDMMqQRkDcT5eY+Lj4iyfG4bKalOpUjSqSlCVOpTbglabjJzknJJ3Se/3kuanFqDu7drHi3wr1PS9PTUo9S1CGDzY4xH5sgXcQW6ZrJ8VWZ+2u5RhEx4kKnaT9a90+C/hPwB8CPgsv7RPxB0RNT1W+YDRLGfYQhLHy9mQdrttLl+SqDgZyDJ4V/bhg8aa5F4V+L3gDR20G/kEVw6ozrDk8O6ybg6g4z0I6jpg+HwHxzPgPhnBZVjq9KlUqRc6cZQqStGpJyi6soyShdvs7LVm+ExUsJTUW1d/wBanzlsT7Ns3j6UunzfZ5Mnj3Nd9+0x8L/Dvwp+JkuieE9SSfTrq2S6tovtKyPbh8ny2xzjupPJVl5PJPntc+P+kXxfw/mVbA1sBR56cnF2lNq66p32fQ2lneIhJxcFp6no/h34i6ZY2Wy5uUB9N1cp8Qtev/HN8YbC3LxgZOwZwKT4b+DJviH470rwTBdiA6leJC05Qt5anlmwOuACcfqOtfRXxS/aI8P/ALM+uR/Cf4ReAdMY6fbRDUbq4Ugu5QEA7MF327SXJOS2McV7PD3jlm+PwFXNMxpUcPh4SUOa1ScpTkm+WMVJbJXbbSS762mjmU+d1pJJL1PlTxNCtppNvpumRtK4/wBeUGar6TDNbfeiYfUV9P8AxSsfBP7R37P8/wAb/D/h+20fXdDmf+1IoIgfOxt3qzKAX+Uq6sQccr3Jr5urlz/x54k4ZxVONPDUK1GrBVKdROaUovTWLd4tNNOL1VjevnleLXupp69Ttvhlq1lb3XkXF0iHryazdNtblPHrX0ltKsJvZWEpjO3B3YOfxrU+Cnx48T/A3ULy/wDDmkabd/bohHML63JYAHI2upDAeozg+mQCPT9C/bt+L3iPWrTw/pHgTQpbq9uEgt4ws3zOzAAf6z1NfOZr4pZVx7Uy3FZnWWHr4asqkacKM6ik1KPKub2iunyrZJ62PMqYiGJkpTdmuljib3XdNtZRC+pwxgjI8xwufzp0HiTQJ3Ea6xblicBRKMmvRP28/iKhstH+F0kNpNfKq3uo3CwDMRxtVUJJKBjuJGc4C8kGrR1Pwl+xv8IdCv7PwzZ6t4s15DO11cRbTGCisw3Y3BFyihQRuJLcciv07F+LmcUM9xmEkqKw+EjGVWq4z91yslBQU25Su7aO1007Na05tTavot2eY3fiHQ4bgxzatAjDqrSAGpNN1TSdQlSCx1KGZ1GSkcgJA9eK9S+H/wARfCn7Zej6v8O/H/hGw0/XIrEzadqdrFvZAGA3IW+ZSrbMruw4JHHNeAeBdOn0jxteaTdEebapNDJjONyuFPXnqKvAeLubYvPsso0KdKrhMZNwVSKnCUWnaUXCTdmrpro09BOo1KNtUzspvImm/cTxVJD5E0v7j/V1Xhh/0qOrmjw+dLHX7vVq+xR1GH8ctYn0fwl5EFx/yxr5rh/0y6knnr3D9pzUv9FjsfP/AOWNeL2cI8qvO+s0VSPqMu/hHU+JB/xM7c/7H9a9f+G/77wv5FeQ+Jlxdx3Gf9XHn9TXpXwZ1jzdL8ivivCajz+GWWz7Qf8A6VI8Gl/uEPQr+PU2Wsfr539DU/hGPdoSH3b+ZpPiLAIbCH/rv/7Kas+C/wDkXof95/8A0I18plvs6v0h8Z2+pr86R5c/96l6E2paLZ61ZrDdAgqcpIuNy1myeAdNTpeT/wDjv+FdD/yyon7V+gZ34fcGZ9jXjMxwUKlVpJyd02ltezV7bXetrLZG0qVObu0YMfw+0pk3ve3AHsV/wq5F8LtBls2uf7UuQV7fL/hWt/y1q4P+QZJXh1fCHw4a545fBL1l/wDJCp0KL3ieP6tdW9jqrabbPv29C1P02DUby8W2mgChupFMvNHnh8U+fP8A8sppa2PDn/H1HPUVPCPw7p/8y6H3y/8Akj0/qeD9lfkR09r8JtOuLZJ2v7gFuw2/4VU174aW2j2zXCXkzbegbH+FdhZ6l9stY/IqPxVNB/wjknn/APPGuCr4TcB0n/yL4f8Ak3/yRy08PhXVs4o8S1HWZrK5a3VYzt9c1Ru/Fl7Am9LaIj3z/jVbWJh/bMlZ+pfvrWvUoeE/hvKnd5bC/rL/AOSPXhluBe9NHS+FtS1nxL/qbGMfTNX5GurebybmDB9qPgDr2h2d/wCRqtdR48hsZtU8/Sv9XWdTwj8PaFW08thb/t7/AOSHUyrBLaCM+ysgIuKuQ2X7ryPIqOz8/wA3mtjw3D9t1mOCev0agqOFoRpUYqMIpJJaJJKySXRJbEzmoqyOb13T5LF1D9zWdFrMtnc/ZVlcDGcLXp/x18I/2B4f0vUPLx58mM/8BNePXn/IUP0H8q/D8mxCxP0gcZOp1wa/OkcGE/e5s/8AD/ka95NPeRVnzabP/r6sWc3ernkweVJX7jUxPsj6KlSOfvIf9ZWfNN+9rV1H/W/jWPef60fWsvrJ206ZPDd/8sKsQzTw/v4Kz4Zv3tXOZoa9LA4n2VXnZnUpHqHww+IX73yJ569YhEGpWsYNfLem3k+m3/n29e8fCTxh/bFrHBP/AM8a9vG4KlWo/WKZ4GY4b2X7ymZXxshkh0q0Dn/l5P8A6Ca6/wCH/ib9m3RfhR4ZtfjT4OvNRv3guWtZ7dXKpD9rlGDtlX+Lceh61zPx/KLp9ipcb3uGIXuQF5P6iuT8X3FvN4L8JxRXEbvFplysqLICyE3k5AYdRkEHnrX8F+K+avJvE/MsRTp06jVCkuWpFTjq6O8Xpe2q7bnzFWfJWk/L/I+nPiF4q+HP7Lfg+08afCD4UWtwviCEpbazHMTEm5A6B3bc5DAbggKhth5BFcH+wbql3rfxh8R6xqkzS3d3pMk08zH7zNcRsxI9STTP2XfGmhfE7wRqP7MnxFuF8i7heTQblz80b53FFz/ErfvFHf5weMCpv2H9JXwv8cPEnh651Wyne202W3SW2uldLgrOnzR4PzrhScjoOuKrBZjUzrivIswwrjHBylJKlGMYqjWUf3kbRSvfSUZPVp9Ouqk51aclt27PqSXfxA/YSTUJVuvhZqhlEzeYxjkILZ5P/Hx61037Rt3pXi79lu31X4Iz2ieGbe6Q31naWZjIjD4xjjZtkIZgVychs4HzcfffsAfE27v5rpfGOhBZZmcAvNkAnP8AzzrU+K0vgT9n/wDZvuvgbp/iy11nW9Vu914kL8xMWRmdlVj5YCoiqGOWPOCMgVTlxLhcmzOOd4GjhKE6E0pwjClOU/sQXK7yUno42179G17VQlzxSVvQqftc/aB8CPhuLYJ9l+wx+Z5O3Zv+zRbcbeOm/pxXzrX0Z8F/FngD47/BVf2dviBraaZqtiwOiX0+wByGPl7MsNzruKFOCyHg5yRJ4U/Ydi8Ga5H4p+L/AI+0dNBsJBLcIjsgmweEdpAqopOM9Seg65HyvEPC2bccY+hm+UpTo1adNTfNFKjKEFCcal2mlG3Ne2qelzGpSnXkpw2dvkfN9FehftM/FDw78VfiZLrXhLTUg0+1tktbeX7Msb3ATI8xsc47KDyFVeB0HntflWa4TC4HMquHw9ZVYQk0ppWUkuqV3o+mrOWaUZNJ3PUv2NfsX/DQejfbfL/1Vz5O/P3/ACXxjHfr14698ViftJ/af+F7+Kftf3/7WfHX7vG3r/s4/pWH8N/Gc3w88eaV42gtPPOm3iTNBvK+Yo4ZcjpkEjP6HpX0V8U/2d9A/aX1yP4sfCHx9pgOoW0R1G1uHJ2OEABOzcUfbtBQgYIznmvv8ky/FcT8BzyrL0p4iliPa8l0pShKnyXV7X5WtUtUn6X6IRdWhyR3Tv8AgYf7Jvl/8KB+I/8Aavl/Yfsj/wCt3bd32aTdnH/AOnP6V87V9I/FG98Ffs4fs/z/AAR0HxBbaxr2uTP/AGrLBKB5Odu9mUElPlCIqkjPLdiK5P8AZ8/Zy+H3xZ8Aax4r8UfEVtPubFmVYYXjVbNQuRNOHGWQnoAVHyn5s9O3Psgx+Z1Ms4bwrhLE4ehJ1PfilGUpSqODk3ZuKtom930u1VSnKfLSW6Wp41Xun7F/grTbK+1f46eLAI9M8NWsnkSOODNsJdh6lU4x6yD0rxCS2Avms4LmOQCUokwbajc4DZbGAevOK9+/aI1nSvhH8DPDvwD8LanBPLfW6Xur3FrMGWRSQ+cjqrucg/3UA6V4HA1DD4HE188xSThg480U/tVpO1KPpze82tuUyoJRbqP7P59Dx3xf41u/iL8Sbnxr4gK51DURJIkhJWOLcAqcc4VABxzgV7D/AMFA9/8AwmPhzycfZf7HfyNucZ8zn26bf84r59r6hbS/CX7Y/wAIdCsbPxPZ6T4s0FDAbW5l3GQBFVjtzuKNhGDAHacrzya9HhWWJ4jybN8sjJSxeI9nVim0nUcJtzSbsuZqV0r6vbra6V6kJx6uz9Tzv9iD7V/wv2z+z/c/s+58/r9zZ7f7W3r/AIVR8R/Yf+Gi/FX9m+X5P9pXezys4z5vPX3z7Z6cV6z8P/h14W/Y00bV/iL8QPFthqGuS2Jh07TLSXaXBYHagb5mLNsy23CAE814D4F1GfV/HF3q10B5t0ss0mM43M4Y9eepr7zhPC1uG8z4fyfGWWJeKlWlC6coRaUIp2ulzWbte/exaTpxhB73udtN5FXdB/4/vxrOn7VY0b/j5Ff2jVp+1o3PQW55n+0hD/pXvXkfn+1eyftIWfnXUc//AExrxPzv3teRTXtP4h9Zln8E7XxGu+ZV/wCmf9TW/wDB/Up7O6ksaw9dGLhX/wCmeP1NWPhjN/xVHkV4fgpSjV8M8Dz/APPt/wDpUjxcJ/yLYeh6B8S136XBP63GP/HTS+Cf+QFH/vN/6FT/AInx7NFtj/08/wDsppPBa7/D0K/7T/8AoRr88y/T6QeM5P8AoEX50jwF/vL9DZ/5ZVHDN5tH+ui8ipIbOv3Kn7bqdBJD/rvxqS4/48Jaj4hmqxDD51rJV4n+EaUqh5PrHn/2pJjH+uqxZ6l5MVU/GH/Et1mSsv8Atj/OKdL/AJdn0FKn7Widx4P8bQQxSQX0/wDqqk8SeNoNStfIhnryPWLyeGX9xcVY03WJ/KxPPXbjcNRq0ec0p4L/AJeBrHkfapM1T5mhovJvtktEHevFqU/YnYi5o9n5N1HPBXeaPDP5X+kVyejw/va6izvPJiroqY2ri6PsyMR7U3If30WKuaDNBpuqRz1j2d5b+VVj+0vJlP7+jDUr6Hm1KZ1/xz8Sx654Q0uBP4Lot/46a8V1f/kIfgP5V33jO8N1odov91x/I1wl/Erapuk6YGK/Ccspey8f8dCH/QIvzpHBgIf8KzX93/Ikhm8mKM4qx/aP7qqd5D5NZ8N5/rP8K/dqdNVaP7w+mp0y5qU1vNLxWfNNViftVOuL2fsjqI4f9d+NasP+p/Cs6H/XfjV2H/U/hWtKpWAiu/4/xr0D4G69PZ6p5Fefzf678a3PhjMbPxHHmvrMtxvtqFSmefiqf7k7348Pv8ZQNn/mGx/+hPR4P+Gmk+IvDsWs3d/cI8jOCsZXAwxHcVF8a23+KbZ92c6bHz/wN66n4VRbvBVsc/8ALST/ANDNfxTw9w5k3Evjpm+DzSiqtNKrJJ3tzKdNJ6NdG18z4WMIzxUk0Z8fwV0dk3/2ndg/Vf8ACpU+C+iWmLn+2r6NhyGR1BH44rttNs/Ol61zfxa8Sf8ACN6X+4r9ufhL4cutaOXQXzl/8kdtHB0quyOavvDuj2ox/wAJhqJ+tz/9as+88HeG10ifULfULtpY4WdQ7LgkDPPFeeTePL68vs+fWzp/iSa5ge3abIdSpFXxJ4QeHuD4exVeGBipwpzkneWjUW0/i7nfWyilSpttdDpPhz4M07xhPdR6heTw/Z1QoYSOck9cg+ldRf8AwosDGIrvxDqMqg5CvKCP1Fcz8MdXfStRnZP41XP4E16TDrMF5a9K/OvCHw74Mz3w/wALjswwcalWbqc0m5Xdqk4q9mlokkeRQw0JYdTa3/zOVf4MaO0e6DUbv/gRX/Cuc1vwOmlPtWSVvrj/AAr1H/VVXvLODUov39foL8JfDmFSzy6H3y/+SNo0cPH4o3PGry0+yhDz82etaNlbyw2aT2UjRuyDcyNgn8q0vifpcemTWYQ53q+fwK11HhnwxaTeGLK6frJbIx/EV+YcGcP5Bg/F7OMDQw0FRp06fJFpSUbxpt25r7tv7x4f2UMZNJK1l+hxmn+GZb66QNb5z973ru9E8A+G7Oz83UtIhkf0dAa1rPR7HR+1STTTzTeRX7+uHeHKlL/cqX/guH/yJvUqUqm0V9xhy+FfCglkA0O2GOn7kVweiWVlP49FjPbI0H2uVfKZRtwN2BivTJ+1eb6EdnxF+l7N/wCzV+KeLmU5Phc64ejQw9OClioKSjCK5lzQ0dlqvJnn14xUoadTtF8NeGpPLxoVqM9f3Ip1t4Z8Po4kTRrdWByGEQBFXv8AXS+fUlft1Lhrhz2v+5Uv/BcP8jXlj2KM2geH7kGa40e3kc9XeIE/maLLRdI06Uz2GmwwuVwWjjAOPSrU/airo5FkeHxiq0sLTjJapqEU0+6aVx8sb7EE3+p/Cp9H8+a6kEH/AD2qPyf+WH6VoWfkab5l9P8A6uvTxOI/c6GtLU4v9orTYIdL/f8A+s8mvnPyf9Kkr2j45eMP7euvIgn/AHcVeR+T+9kwa8X2Vb2X7w+ty2n7I6vxN/r1/wCuX9TS/DG8/wCKojpvirf5ieX12f1qr4I/0PxRb5rzPBT/AJNpl3+B/wDpUjycJ/yLIeh7F8WBu0Cwl9ZR/wCgmoPBf/IvQ/7z/wDoRp3xJbzfC1hN6zAf+OtTfBf/ACL0P+8//oRr87y//lIXGf8AYIvzpHz6hfFteRu0UH+Oo7ya4i+zwV+4+1rGpYn7VYs/9b5H/PWqdnN51rHWhZw/6VHUYmp+59mKnseZ/GbQfsd/9vzXmc15Xunx+8j+xo/3H7yvn/zv9KkrPDVLUj6nA/wiOab97RDN5tRzf678akhh/wCm9dlN1fjPWVPQkh/dVqaPDBNFJPPVP7H7frVjTbz7HF9hn/5a151W9aqSalneeTdVued+787FZf8AwjU+paNJqtj/AMsqr6DqU95a+RWlP+4Y1aZuf2l/y8ZqObUv3VZ83n1Y0fQbjWNQzB/q67cF7KlV9pUMf3KN2eSSXw1EzngXAH/jpqhPo8skcN8nRwf0JFdZ4u8PPofgq0L9WvAP/HGrW8P+EU1b4ZWmpL97zJQfwc1+A/WIL6QeMnT2+qx/OkfPQrWziUvL/I8v1g+dFWH5P72uk8SWZs5ZIPesOaH91X7aqftf3h9XSK9E/arHke9R+T5VSbEdWYf9T+FRVJW1NVavvgSfuq1PB/7nXo5/+m1ZdbHg+HztZjr18pxHsf4hyYnY6z4ry+drto//AFDo/wD0J67j4Qx7/BFsf+mkn/oZrhviqqJr1sqdP7PT/wBCevR/gpHbx/D+1uZv+esv/oZr+VOCJP8A4mAztw/lrf8ApykfD0f+RhL5nRRXkGj/APHxcV4n8fvEn9pSyQQT1ufFr4kHTbqSxgnrx/WNYvtYl8+ev6ZWDrfxKh9PgsNqYcMPky4rS0m+ltrkOyZAPIqjP2og71tifY4zDTwdZXhNOLXdNWavvsezWoqUeV9TuNPvWnw9hcMCw/hbBrWgtvF+0fZ7i5AP3dt1j/2auR0HU/Jlr0DQdS86vwaX0fOH8LHkoY/FRj0SqQSV9dP3Z8liMmo0dIyl9/8AwCG30b4lXSbreS+Zfa9/+ypX8NfEyP76Xo/7fP8A7Kup03Up7OWuo03/AEyKnS8BMjqf8zLF/wDgyP8A8gedVwMaXVnjniCw8S2TRf8ACReflgfJ86bf6ZxycdqvWGifEOeyim043vkNGDDsu8Db2wN3Fa3xkUpdWKn+7J/7LXT+Eh5nhiwHpaJ/KvzLIvC3Ksw8S80ySeMrxhh4QkpqcVUlzRg7SfLZpc2lktkccaSdVxu9Dhv+Ee+JZbBF9n/r8/8AsqP+Ef8AiXu6X2f+vz/7KvSfI96IO9fpsPATI5f8zLF/+DI//IG/1WPdnmn9gfEjdjF7n/r8/wDsqu+EPB2u22vpqerwtCIiWy7BjIxBHY++c13U/wDrfPxRXoZX4GcN5dm2Hx9TF4is6M1OMak4uPNF3TdoJ6NJ6NXtZ3WhUcNCMk7vQP8AllQP4KP+WVFftf8A08Ogjn7VHB3qxND5tRw/63yM1l/08AsWdn+6+3T1wfjb4hma6ksoJ/3ddZ8SNe/4RXwv5H/PWGvnu814Xl//AMfFGCw1KqqlSZ62Bwxc8STG8kknrl5pv3tal5qXnRVlzQ1w1KlX23vn0mGp+yOr8URbpEfH8H9ag8Hw+fr1vUvio5njX/Y/qav/AA90bztZjnzXyPhA/ZeGeXVP7j/9KkfOYT/kWw9D0L4g/wDIo2P/AF9f+ytUvgWMt4eiP+0//oRqP4ljyvDtnB6XGf8Ax01L4G/5FqL/AHn/APQjXxGXVf8AjoTGT/6hF+dI+enP/a2/I2IO9E0MF4I/P/5ZUs3+p/Cn1+7+z9rqbBD+5i8g/wDLKtDRz511is+GH/WVqaD+68yuLEqr7I0pbnm/7RWvGH/QfPrxez/fdK7T9oTWPO8RyQVxejzfuo6KVL9yfW4H+CWPsfncVcs9N/8A11JZw9q3NHs4ZvL/AHFcVSrWpHeU/wCzf3X+orH8SaZP5XnwH95FXcfuIZZKw9Ys/OrTDYnXUzO0+DOpWM3hK4sb4+Z5sNcdYaTcrrV0LS3dkeb5AFzu+nrS+G7y+0iKSCCvov8A4J6RQSfEvVXltomZNDZ45HjBZCZkHysRlchiDjr3r5ji3OMTkWIwSwkYuWIrKm3K7UU4Tneycbv3Lbrc8/H46eFhFxSd3bX0f+R4KdA1eT72lXIx/wBMG/wrtPhTZeGtPmSXWtWtLcjqJZ1XH5mvUb79v/4lWl/Nar4M0MrFMyAlZskA4/56Vq/Fez8FftAfs33Hx007wbBo2t6bcH7VJDHzPh1R1LKo8xSGVgzDKkEZA3E/mkvGOeZ4PELJ50q1WjCVRwnTqU7wh8XLLnkrrs9z5+tm08RBqNrr1PM/i5f6NrHhy1svDN7HemO8DOLVt+0bGHOOnWtP4Y67o+keBINN1/UIrRllkytw2wjLkjrXqHhz4rap8E/2O/DPjPw3othNcT3ZgljniKo26SbLnYVJb5F5PXvXOeGf269a8T63beHfH/w40m70u+mSC5itkdmwzAZ2OWD4z93Az6ivkXxTleX8ZU8/xuLjTxWKw1Nez9jOVOKqKEo3mql/s2bt52POjUhTrKblq0uh498ULDw7LcvPomq2txnp5Mwb+VcHBpF/ctIlvZSyNjOEQk/pX0F+0V+z9p2n/tB6T4N8B2sVnb+JxHJFbRqQlqxcrIQOgUAF9oPHIAAwK7X4ifGXwZ+yO1t8KPhF4Os7vUIbdH1a/vfvsSCVEhQK0khB3dQFBAAwcL9RR8UuI8BXxizenRoUMNNU5TSqTc5vWMYRTTd4+87tcqd31t61HOsTQb5oqy06nyP/AGXeW9wY7i0kRh1V0IIpkumTHpEfwFfW+ieMvh1+2T4N1TQ/HOjWGh+KNLtGuLTUopFXMagncHcZEak4dCSMHcCDyvzBLG0MrQsVJRiCVYMDj0I4I968PibxvzvKoUMThaVGvh66bhNc8XeLSlGUHJuMk2urT3TLqcSYqFmopp+pkf2ZN5WPLb8qZ/Z1z18lvyrYr279kH4Z+DdUTW/i/wDEOGG50vw1bsVsp4PMR32FmdlPDbVHC85ZgeMDPJw3478V8QZtTwFDB0YuV25SlO0YxTlKT12STfnsZ0eIsVOfKoL8T58Ol6lDCLg6fN5bHAcxHafxrqfhjYaZDqSXOq38VuB1M0gX+de86X+3bDrGvx6B4q+GWmL4ZnlEMsAJkeGIkDcQRsfAydu0Z6ZriP2u/hLo3wv+JCXfhjYmma5Abu2to0wtu27DovbbnDADoGxjABP1Wb+OuZU8inj8oVHE0qUoxqe7UpyjzX5ZWlJ3jJqye9+m9s8VnNWtSvBKy33OT+L19pN/4mgl0a/huIlsEUvC4YBtzZGR35Fbfh3x5Y6J8MbbSY9RiWcSSlot43DLkjIrzqvoD9mrwh4G+H/wl1j9o/x9pUGpm2LQaVYzQhgrKygEbgRvaQqoYD5ACeckD8a4B4zzjEeJGKz2jTpxlVhUlU5nLkpwvGcpaPmduVJLrf5nk4WtNYl1EkfNXjKLxBqt+1xJY3Co4yjtCQG+hI5rP/s3UP8Anzk/74NfXfhn9tPQ/GWsf8Iz8cfh5pkGgXSHbL9lecQ91LIwbeOgyoBB5x6ee/Af4ReD/jD8cbrRbFb5vDNm812N4CSNAHAjjc5OMkgHByQDjB5H7DjvG3NswxWFoZL7DEuvPk5WqlOcXprKLlJ8jTvzbaNbpnuQz2rBpU4p39UfP0mg61c27SppVwVT7zCI4X6+lRRaNqoiwdOmzj/nma+yPFP7aGg+AfE9z4H+H/wo0s6BYXD28yDEP2nadrFVVdqDOeobI5OM4rnP2r/h34AbwroHxx+G2l/YbPxAFW5s4YkSFGMe5SFXhH4YMBwSueDkmcy8XcwpYLEYnLJ0MRPDW9rDlqwsr8rlBuTU4qWjenfZq+8uI8QotxjF233Pl6AyWVx9kmdFmHVWGDXTeG9Ynhlj8+uA8fR6k3jVjbROfni8or67BXR/bIPtcn/Xav3fhLOanEPD2ExtSKjKtThNpbJyim0r9NT2qTeIw0KrXxJP70ewaPqVveQ+fiuk8K3f/LD7RXmfg/XoP+Peuw0e8H2qOvf9nb92eXicMVfjcmy608f7En81rofC27/hF9P8rr9kT+QrnPjK/mJpMnrHL/Na6Pwx/wAivp//AF6R/wAq/AuEP+T6Z7/17pf+kUj5iP8AvEiz4oup7HQru8tX2yRW7sjYzggHB5rtfh58OPhinwV0r4rfFj4l6vZpqchUyRJGkcb7nUIFWJ2P3GO4nn0HSuC8VzZ8M34x1tJP/QTXqmg/CLXfjL+xx4W8H6DqVna3C3JuTLds2zass4x8gJz8w/Wu7j3FZzR4r9ngOaco4Oc4U1OcYyqKrGKbUZRTdm1q/ma+86jsr6fqUbDwR+zP44uF8M+B/j5qMWp3B22n2gxlWc8BdrwpvJ/uhgT2rznWvh5498K/HjTvg34q8Xv5N/ewJBqVrap+9hkbCuFboc5BGTgg/exz1/hn9hXXPDOuW3iLx/8AEbSbTS7GZJ7mW2kdWIVg2NzhAmcfeycdcGm/Eb4n6B8T/wBr/wAIr4UvIrqy0nUbW2W8jk+Sd/O3uVJOCoJwCPvY4JBFfkuZ5rxTPLqNbN3UweIdelCEIYiqvawk7TTh7WTSX8+je3rEuflTmuV3XXf8TpPFvgL9l7wDrknhjxd8Xtbs7+BVMsEjqxAZQwOVtiOQQaytc+Bfhrx34UvvFX7PHxjl1OTT4S0um3aRuzkAnbkIrRkgNt3KQxHUDka/x/8A2QvHXxa+J97440TxJpNtbXMUKJFdNKHBSNUOdqEdR61p/Bv4Hyfsq+GfEPxJ8Ua42qXK6Yd1pplvIyKiZb0yxJA+YgBBknjJH1NTF8bYrPcRgsbh50sBF1P38a9aE4winyzv7Z3eiduWz6q1zS1SVRxlG0e9/wDgngPwa8LfFL40+L08M6Bq7QxRgSahfSRIUtYs4LEcbjngKOSfQAkewv4E/Zi8Oan/AMIhrnx9vhrETiK5mWeFY1m6HJ8lkTB6gt8uME5BrM+BWsSeDP2W/HXxY0ljHqt7eyp5qpzE2EVNpJJO0zMwyevr3+bmZnYu7EknJJPWvzKfG+b8H5Jgp1a1TFV8TF1ZOrWrOMafM4wjCMais3yttu7T016c3tPYQj1b16npv7Tnwh8efDfVYIfEuuNrGjXgzp2piNYw5ABZGVSdrDPrhhyO4HkP/CK6Bu3/ANnLn13t/jXf+Jvjh478XfDfS/hdrlxbTadpMga2laDM7AAhFZyTwqkqMAcHBzxjkK+Mz/jzOJ5lKeT5jioUJJPklXqe5Jq8op8/vRi7pN6tb33cyxleMv3c5Jer/wAyiPDOhr0sF/77b/GvYfA37IXgB/hfb/Fz4z+MX8N6Vc3Uf2e3S0eSWeEsMEYJYM43bcI2FAcgrkV5jZW/2y8itPMCebKqb2zhcnGTivoD9vW+m0u58J+AYLhvs1jpTS+XuOGbIjVj6kCM4+p9a9vhXiXP4ZRmGc43GV6yw6hGEHXrKLqVJNJy5Zxk1FJuyav3NqWMxahKbqSdv7z/AMz5k161kuLxNnQR/wBTXbfCvQfJPnz1k6ToJ1i4LHooxXo2j2cGm2HWv628KKkl4Z5cofyP/wBKkejRqWwcF5GN8U5c6ZbQ+k+f/HTU/gL/AJFyH/ef/wBCNUPiMfNsYp/WcD/x01f8Bf8AIuRf7z/+hGvkMqVSr9IDGd/qa/Okeev97foa0/apIf8AXfjTf/j1Oh/1341+9U/4BsWIO9amjf8ALWsetTQZuxrhxFSt7I6aW582fHn/AJGmT61y2mzfuo67j9oTTf8Aio5J68/0/wD5Z1oqntcIfWYH+CdRp0vnRVuWepeSI65OzmHlVcs5p7y6+wwVn7K9E6zpJtSgo+2fuulc/FNPZ3Ulvcf6ytCGbzaKWG/fC9kbGm/Z6+gv+CfbIfifrRIO46CcHPGPOj7flXzrpnevoH9gbVNNsPiZrE+o6jb26toDlTPMqZCyxsxGTzhVJPoASa/PPEqhTwuNyacmlfFLf/rzV/zX3ngZ1FQhTX979Gdt8Prb9iv4p+Nn8HaP8PJodSfzHQX7yoszKcsqkTHJxk444Brif2pPjZcxWdx+z34b8AL4c0vS7sLcRZANwqnem1VAVUYkSZyxbKnI5B8cXWtR8P8Ai4+INDvjDdWmoGa1uIWB2ur5VgRwf5Gvc/2gP+ET+PPwV079oPSLqystZ0/bZa1ZNMFMjZ/1a5PzMpJdR1KMe64r+WafEuI4i4Ux+GwdOlh8TBOU1Spwh7bD/bjdK94O0mk1zRurPU+U9q6lKSjZPyW6Ou8Nav8ACjRv2PPC158XdAudQ0g3BVbeDJYT+bPhvlZOMBu/fv1ql8LfiL+xMnjSyXw14Jk0zUHnVbK71O1d0SUkBcFpHCNnGGIGPUVY8O/CnVvjX+x14Z8GeG9ZsIbiG7M8klxKWRQsk+VOwMQ3zrwenfFc14d/YR1jw/rEGu/EX4h6PbaRaSrNdvA7gsqkErukCqgIGN2Tj0Nfa1FxhGeWVsuy2jWpLD4e9SpThdNQXN+8bUoqP4G3773XGKastTqrvTvE9p+3lp914ouIZre40uVtIfytqrAIJAEXcT84fdkg5OScAHA8C/aO+2f8L18U/bs7/wC15duf7n8H/ju2u5/aK+P2l337Q2k+NPAdxDdw+GRFGl1GxKXTB2aRQehTDFAw68kEjBrtfiN8GfBv7W7W3xX+EPjGytdQmt0TVrC++8pGQpkCFmjkAG3oQwAIPGT85n+FpcW4fMcryep7WtTxcqyjzK9SEoKMnBtrm5JJ9X7uzel86iVZSjDVp39T5bor6h0PwZ8Ov2NvBuqa9471mw1vxTqlo1vaabCitiNgRtCOcmNiMu5AGBtAJ4b5glkaaVpmVQXYkhFCgZ9AOAPavyviLhmtw1ToU8VUX1iabnSVm6Sv7vNJNrmkrvl3it9zlqUnSSu9e3YbX0T8JfL/AOGHvGX9meX9p+2Tfadu7O3EGc/8Az049e9fO1e3fsg/EvwbpkeufB/4hzRW2l+JbdgL2e4EaI/llWRmPC7lPDcYZQOcjHqeHWJw1HiCVCtNQVelVpKUtFGVSDUXfpd2V/MrDtKpZ9U0eI19E/tqeX/wrj4efb/L/tD+zj5v3t2PJh3de27156e9SaX+wlHpGvx694p+Jult4Zt5RNLcDMbyxA52kk7EyON24464ri/2svirofxX+KEGneHZ4l0rRo/sUF8GLJKS3zyDH8APAxnIXPOQB739h5lwdwbmVLNYqnUxTpQpwcoty5J88p6N+6ktJPS79L6ckqNGSno3ax5NX2H8PPFPhj4YfscaR4u8U+Fo72K2hM0VhJECJp2uH8tvnBC5JDbscDkDoK8h/aC/Zy+H3wm+H+j+K/DHxFbULq+ZVaGZ42W8UrkzQBBlUB9Swww+bPB6D4CeJvh38Vfgdd/s6eOPEo0m9SdptLvLp0CEmQMgj3EbmDk5TglW4PXb3cEYPMeDuJsXl+IdOOKq4aSpXlBwc5csoJvWOttm7N23TTKoRlRquL3a0Nv4d/tM+Fv2hPEyfCz4s/DLTfI1PfFp1xH+88lip2r8wyrEZxIpGDjgZyON8EazYfslftM6hoWszXzaKym2eZlBcwSbXilYDAbacZK4PDYGflrsvh1+zL4X/Z78Sx/FT4s/E3Tfs+meZLptvFlPObadrfMcswGcRqDk45OMHy648deAPjF+0oPFPxLF1H4d1C/EYSW4ERhhC7YhIy/dTIG7aRgEndxmvUzbF8Q4LCZfXzicIZqsSvZylyJqi0k/bcn2Od6X15b20Km6kVFz+O/4eZ6N4p/Yv0Px94nufHHw++K2ljw/f3L3E0gxN9m3HLBGVtrjJPUrgcHOM1u/tZWnh3wx+y7ovhnwrrKTWEV7awWcqTbxdRpG/O5eG5Ab0447Vz2qfsMrqeuS6v4M+KFhD4Uun81JDI0rxxHnaCDskA7MWHHX35z9r34l+DdTj0P4P/DyaK50vw1bqDew3HmI77AqorDhtqjlucsxHGDn0c1jh+HOG81rV8uhhKmIjyJqs6ntZSlr7KP2aaV59ndLpZVO1OnJuNm/Pf08j5n8USbdadf9lf5CqPmzetaHiaLdrEjZ/hX+QrP/AOWtf0d4dO3BWW/9eKX/AKRE/QcB/wAi2j/hj+RseG9S8m/r0TQNYExjryP/AI85fPrrPCmvTzSxwZr9TpUvbUfaHNjaf7o7r4m3H2nT9IfzN37uX+a11nhb/kXNP/69I/5CuJ8fO72mm702/u5Mf+O123hb/kWLL/rzj/8AQRX89cJ/8n1z7/r3S/8ASKR8S/8AfJC+Lv8AkXNQ/wCvR/5Gut8dXNxa/sHeFJbad42/tUDdGxBx5lz6V5/8StUutO8OeTbbR9ql8qQkchcEnH5VUl8b/Fjxf8I9O+GEdhBLodjdNLbPHAiyMcthSxPQFn6AE7jknjHy3i1m/wBY4vxOW4ShVq1vqUqdqcHNqU6kZJtLVRSWsraNpbk1prncVvY9F/Zc8e6T8TfCmpfs1fEy8MsGoQO+h3EzkvHJ94opP8SkeYvuGBzkCuD+H/gjXPhz+05oXgzxFBsurHxLbIzAHbIvmKVdc/wspBHsa5vSfCPxD0LVbbWdI06a3u7SdZraaOVA0bqQVYc9iK6/xb8Qfjf4y+I+m/FHVNCsk1LSRELNYbaMRgIdwyGYlskk8ngk7dvGPyajgOIcZleCWYZbivrOEqQUJKhUfNQ5uZxk2lrTa9zyfL3axTk4x5k7p9uho/tkN4gHx91UWDXnlfZ7Xb5Jfb/qE9K7z9hxviK9tr3/AAmJvT4W+w/J/ae/yvNyd3l7/wCHZv344+7ntVYftj/H4ABvhjohOOSDJ/8AHa5f4l/H39pD4k6TP4fk02DSrC4iMd1b6YqqZlPUM7OzYPQhSAQSDkGvsIZXHKeKq3EVGnjas5SqTVFYSrBNzvaMpy0cVfX3bvouhsuSFV1Fd+Vjpf2XpdH+J3ws8bfARLuGF5nludMYIcbHwFbn5mCukZ55ww/DwfVfh1470bxI/hDUPCWoLqST+ULRbR2d2zgbQB8wPYjIIIIzVzw7ofxM8Ha7a+JfDlrPZ31nKJLa4jdMo30JwQRkEHIIJB4r2aw/bC/aHi09LObwJo1zcJHta6dGUu2PvFVlAz3wMD2FfM0+HsTxHk2Fw2c4LF4erhk4xnDDVKkZ03JyUWrJxlFtpPVW3u9FkoqpBKaaa8uhxXxn/Z00z4NfC7QfEGu+IZx4k1OYi60vajRKu3cQpHIKZUMcsCW4wBk+UV2Xj+P4vfEbXZfF/jeKa7unjCmUmNVRB0VVUgKBzwB1JPUk1w+rX1rocph1WXyWBwQyk8/hXx3EPC+b4zNJSyvKMRSoJKMU6VRyfKrc0tGuaW7S0Xnu5lh6tWV6dN29GWbeea1nS5t5CkkbhkZTggg5Br6L/bG0i5+IXw58JfG3QHW8shYiHUJrdiwiMm0qT6APvQ5xhsA8mvmKx8TaHqN0LKy1BZJWBIQIw6fUV2vg/wDay+KvwKs4/DnhLUY5LFpxcmzuoUdCdw3LkjcqsFwQpHUkYPNexwVk2bV8Ri+F8ZhKsZYunGSXKozi6cnKM+WrKmnH4k/eTeyZvhsJiZ1Xh3B3kr22enXWxmWbeK9EDJa2t1BuOSDbH+oqdtc8cH7z3X423/2NdtNNUZ/jr+icJ4H47CYWNHDcQYqnTjtGLaSXklNJfJDWGklZTZwl7J4m1GJYL2C5kVWyoNuRz+ArtPCdhcaboEVrdABxuYgHpk5xVvyfI/f1IPI/d29fVcF+GP8AqfnVXOa+Oq4qvOHs+ao7tRum9W5N/Cra2Sv30qlBU58zd2HnebRD/wAtKIYasQw1+pUr0jQIO9aGjzeTLWfeXv2K1kn/AOeVZ+g+KoLy68iCr9l7WjUCkcn+0X4Vnmi/tWCCvD5ofIlr648VaDB4k0aSCf8Aefua+c/iF4DvtB1SSDyP3debl1T2Nb2dQ+ny3E6ezObhmq5pupT6bf8A26D/AJZVnw2U8I8/NWLOb97+/r1/qX/Ps9v2qNC81KfUr/7dOf3lXbP/AFp+tZUX/LTyIK6zw34PnvPLnrop0/Y/vKhz1MSX/D2nTXVwYYewra8C+GI/F2ujSJZnjBiL7kxngj1+tdJ4K8IQWVuGng6If5Vn/Ba4Nt4xMg/59HH6rX82+MNDC57x1w5hMTBTpznVTi9mm6V0fIZxXjWxFPm2V/0Ogufgp4at38r+2L0t9U/+JpifBbQHbYNVvMfVP/ia7L/XS+f5FXIfIhi+0T19yvCXw5/6F0Pvl/8AJHL9XoP7Jxlj8GtNiJjtPEepRKTyI5VXP5Crdx8D9Fks2k1HxRqrqhyVaZSP1FdRDrNjZ1z/AIw8bQQ2EkEE9af8Qi4B5bf2fC3rP/5I6qeBoPeJw2qeANEs71ra3vrlgvdiuf5U+z8FadbsskOrXkTMMExyBT+gqrNrE80v/LSo/wC2JvStYeD3h1DWWXQXzl/8kelTynCPeB0SfDDwveE3F9r9+7nqxdST+JWtS0+Avgy85j1+/H4p/wDE1yNnrF9/z3rqPCvjaeGWOCeelDwd8OpavLoP5y/+SOaplNFbRFvvgH4ftUZk1a+JX1Kf/E1zGpfD7S7KTZHe3B+pX/CvXodYg1O1k/f1yesab9suv+WlctPwl8OVVtPLoffL/wCSOeOFwkPigjL8OfCGw1yyEd5rt+sQOREsg2j8CK5LV/DtjoXxCXw7C7TW8d7CmZsEsG2k5wMdzXtOgw/2bYenm15J4v8A+SwN/wBhG3/klflfjFwNwlw5leX4jLcJGnOWJpwbV3eLjNtatq10jzcXTpQS5VbUg+K+nabpnidbbSrOOCL7KjFIkwM5bn9BW98SPBmm6dZxXlhpUUIljBxGgHasv42bP+EwTy+n2FP/AEJq9Q1/TYNY8LRW/wD0zX+VehwDlGU1/ELiSFXDwlCFSnypwi1FN1Nk1ZbdDfA8kcXO6TR4Rd3LzSKs0jPtGF3NnA9BmveP2ffhx8DR8BdU+L3xT8J3GpfYdRaKcrcPlUHlgbEVkHWQZySeOvavDvFWjz6bqkhEFfSf7OHhPSPG37Iut+Ftb8Sw6Va3usSCfUJcbbfBgIzuKjkqB1/iH0r0vEDIcojxLg44PCUnL6vi5RjKEOVziqXI5JpR0b3eyb1R6WbQp+0p8sVtLovIxrbxt+wdrGNEk8Eatp0VwdrXLmcJEf7x2zMf/HTXF/tD/s+6X8H/ABXpE2g6jc33h/Wtptp3dTIhBXcm9RtOVYMrY6HoduT6Bpn7EnwsTT5PFuofG4XujWW5r64soYgqqoywMgdwuBgng8Vyf7TPxm8G/EjxJ4c8GfDpw2iaDsjiumgZFdjsXC7hv2KqgcgZOeDgE/inEWX1KXDNWfEGFw1DEXp/V/Y8inO8vfuqcnGUFHq9n8jwqkX7J+0ST6WO++Kng39i/wCCWqWfhvxr8LLq5ubiyEyTwtJKXXcUyxMy/NlT0GKyfDvwr/Y1/aGafw58NtOvPD2sxW7SQKyNlwP4irs6uoJGVDK2O4HNdz+0t8DPAnxS8WWGseKvi5ZeHprfThDHa3PlZkXzHbeN8inGSR07U34Bfs4fDn4Y6ncfEDwz4zPiu/treSO2FlJCEQsvIUByN5Hygs4GGP1H6TVwHEdTiuWXxweG/s5O2nJGoqaSvyqEvaKS+z7q6bLU7L1/a8itynzP4F/Z48QeOPi1N8Jlsra2u7KeVdSuJYcrBHG2Hfpk5yNo7ll5AOR7BrGmfsLfB3VW8Cat4avtYv7Ntl9fRGRysmeVZkeNcjuEXA6HkGr37MniS8v3+K3xYvNPNvq6q8xiIAEXyzyeXjHUMgBJ64+ufmO4uJ7ud7q5maSSVy8kjnJZickk9zmvy2pxBPgzIMPisH++q4qdVp1uaahSpzcIxUW7KUrXk9+npyOtOlTTTu3ffsj2j9of4CeHtJ8HWnxl+EfiKXUfC90RvhuLhpGti7YBQsM7M4Qq3zqwGc5O3x2PWdXijWGLVblUUYVFnYAD0AzWnafErx1YeCZ/hzZ+JbmPRbm486ewUja7fXG7acAlc7SQCRkZrDr8/wCIc/wuPzRY7LYzoSnCPtIqTt7RfFyO7fI9Gk9tVtY5ak4yleKsT3OpajeoI7y/nlUHIWWUsAfXk17j8Cvgz4T074XzfGj44a/qNloayD+zbC2u3jE67ipZgnzHc5woXaflLHgg14PX0T+1JCfDf7OHw78K2QkFvJBHNJuj25cW6n5ueDmVjj6+le5wRUdP6/nmKvVeFpJxUpNqU5yUIc+t5RWrcb20RdCy5pvWyNfRPC37M/7Q0d34d+Fmpa1oOuQWjyWqTXkwEmBgMVd3DqGIyFIbH5187eIl8ZeFddvPDevX15BeWVw0N1C1yx2upweQcEehHBHNdJ+zLqdzpXx58MXFru3SaksLBBn5ZFKN+GGNaf7YWj2+jftAa2tsGC3IhuGBTA3PEpbHqM559c16WeZzis/4OhncF7GtTreyn7JuEJRlDnjLlTspJprTdb+VVJOpR59mnbQ88/t/XcY/tq7x6faW/wAa+ovEOk/s3/BDwf4cj+JPh7Wb2+1TThM80V/O7s4VC5bEqADL4AA7V8rWht1u4jdlvKEi+bsGW255wCRk4r6l+If7Xf7Pch0+Sx+Ha+KZo7RVD39kiC0U9YwZUY7sgZ2jb0wxro8PM7oYfA4+vj8bThUSpqm66dVaybm409XJ2SWi0vd6Dw0oqMnJrpvqeffF/wCJ37N2r+Dnsfhb4Y8Q2WrmZTDcvfSJGi/xbg0r7gR2AB77hjB5f4DfDzxd8a/iBB4ai12+isoR5+q3iXLZhgBGcZP3mOFXryc4wDXq7+DPgX+1V4H1XW/hp4WXw14n0qMSy20UQCyfKxC7EIRlYgrvChgQMjHDH/BPjRLa5t/FmpmZ47jy7e2DqADGrCQkgnvkDt2Fe3Sy7Oc945y9YmvCeFxClKMsO3ThONJSlKLjo1K6UZX1s7J6aWoSnXjd6Pt5Et9qn7FnhzWH+Guoza1czRTG2udZa/uSiSA7SS6yAcEclU2/hXj/AO0t8JtC+F/xEfw7pGtLqlhPaR3FubidJZYgw+5Jjv8AxA4GVZevWvVH0r9g19VPw5ae+NyZPKPiHz5tpmzt/wBZnZ1/i2eX3zivLf2h/gfe/A7xmujrqAu9Ovo2m0u4Y/vDGDgrIAAN4PUjggg8ZIHPxni85nkNStGOHlGnUivaYWo70b3XJVStzqWiUtrp6u+jqyqKndW07Pb1PFdF0kab4wGBwXk/9BNP8eSRpqEQf/nh/wCzGur1TwtcWmoRaqY8IgOT9Rj+tct450q8u9St7q2jyFj2k/iTX7ViK1Or484CX/UG/wA6p9HGtfPIT/uf5nu/k/uqIf8A0bUkP76LFHke9fvtT/p2eKFSeR71H/yyqTzv3P8AqKKWwAP9TJRNNR/yyqxD++ixWv8Ay+CnsZ+sQfbNLkgg/wCWsNcX4Ws7/Tb/AMieCT/XV6B5HvRDpsHm+f8AZ4q0p4lUv3Zp7T2RqWc2Iv8AtjWP4w8B2PiS1/6aVoVJZ3k8P515uNw/ta3tKZrSq+xPH/EnwZnh/wBRBXN/8KwvvtP+or6Q/cTf6+3qp/wjWlf88BWdLE4ulS/eHo08yPHtB+Fc8Plz+RXpGg+CYLO1j/cVuQ6NBDDUkPkQ1oqtat/EOepjatUqXAgtLdxb/wBw/wAq89+Em/8A4SshOptX/mtd/e4mef8A3T/KuF+DckUXi5pJvuizf+a1+HeJEacPEfhiK/5+1PzpHlV9a9M9cm+w6bafv64/WPFXnXXkQVH428YedLJAK5OHUvOuuBX7/Tpe1/eHvYbDHQQ6lPNFJOaz7yznvI/PohvIDa+RVf8AtLzpTBBXNicRi0ekqZz803ky5qSG8qxr2mwQjms/z/atKeJ9tR9mdq9maH2z91/qKPtk8Mpqn537qpKMFVrUqxidp4V8VfuvInrrNNhg1K68ivI4dSnhuv3Fd58N/FX/ABNI/Pr0cZg6NXWmeVjcMeialZwWcXkf88q8U8V/8lgP/YSt/wD2Svb9YhxbRz/89a8P8Uf8ld/7iNv/ACSv558fNMiy3/sLp/8ApNQ+axXwx9R3xpieLxeiP1+xJ/6E1etaTN/osXnn/lmv8q8p+OTbvGaH/pxT/wBCevTrT/j0i/65r/KsfDiPtPETif8A6+U/zql0P49Q5r4oeEIJVOoQHpBXVfDr/kw3xb/2Fm/9DtaxPijqs8HgO6ntpNkoKLuA7MwB/Qn868+0PxJ8S/8AhX174Q0bxBcJoVzdBruwWTCu4APpkA8ZAIBwMg4FeH4o5rXfFtHKsPh51qzwmISUEn/HSjF6taR9m3Lyatc1xNaVapGEU27P8f8Ahjrv2T/jNbfDXxq/hnxRKjeHtfAt9QjmUNHE5+VJCDxt52t22tk52iqPx8+DF18GPivHpltE50i/uRPpE7cjy94zGT/eQnB7kbT/ABV58dMuw/l7Bn6103iHxj8UvGttplp4h8WXFzHo0Sx6ary7fJ24wwKgZfgfOctwOeBX5BDhfjKtwv8A2Xj8srSnRmpUJqK91Sf7yErv4H8StqpeRzrB4x0uWVN6bfqe1ftv/DT4g+NviFpOoeEPBmpalBFowjllsrRpFV/NkO0kDg4IP41T/Y4+DHxd8J/E4+LfEPh+90fTIbKWK6F6vlG5LAbUCHkgNhs4wNvXNcrB+1R+0tZ26W3/AAmVtII0Ch5NPhZmx3J2cn3rK8XfHL9oH4h2TaJrPjiQW0iFZYLJVt1lUjBV/LUFgQeQeK+6xWQQnxU+I4ZdjpVlJVFT5KcYcySsnJSk+XTXR32OiWDre19p7OV/Q9H+BXxa8Ir+0T408LXmpRLoniy+nWzeRliieUOwUDnHzqzAHOWO3ua84+In7Kfxd8IeL7nRdD8Gahqtj5xNhf2UHmLJET8pbb9xscEHHIJGRgnAtvgx4zm08asj2qRg8FpiCP8Ax2uotP2nv2hPA9gmhj4iR3KQA7Xu4EuJMeheRCzfiTXhYbhjiDiLK1g89yrEr2c5zpzoxi2lUlzTpuM2ly31Tvdbbb4rC4ipHlnTl5WNn4i/ADwN8G/gDFqPxBkI8bajcq1nbwX4/crn5o9oyrqq8swH3iAGwRnxCr/ib4heJviTrUuveLNfutQu/umW5fIRSSdqDoi5J+UAAZ6Vjxatay3psFD7wSDleOK/O+KMoxmKzeth8Dl0qEMJTjzxaXOopc3tKrWnNJO7eyVl0Oarh6rqSjGDXKtfJd2Wa+l7zw3c/tHfslaHbeCpVvdc8LSJFPZEhZG2KUKDJxyhRwc4O0jrwPmL7Q32/wCy7Rt8nfnvnOKteHPjX8QvhP4gkm8CeIJrB3CGYROdsuAcB0PyuBuOMg4zXt+G2S5ljc2rZW6PtKWJw7c0pRjJQ5o8s4uXu80ZWsn0ub4HB169V0oq94336Hu/7LH7PHxB0z4n23jrx54auNH0zRFknaTUk8oySBSFADc4GdxbGBt65NcZ43s9X/aN/aI1ODwBi7Op3zCzmm/dosEahfMbPKqFXPTPtk4rlfGX7Yfx2+IOmNo3iHxewtJIyk9vZxLAsqkYKv5YBYEHBB49q5Tw18T/ABP4P1y38SeGbxrK+tX3wXEJIKnofYgjIIPBBINfqOO8HuIJZXhsqy/Cylg41fa1ZSq0lVm7KNopNxilC6V73bvprfvlkmM5VCMdL3equei+MPgdrnww+JGm+BfiZfw2Vtfyxf8AE1sv30Xks21pF3bT8pzkEAjGcYxnq/jX+x/478DeJMfDvQ9R13Rp0VreeJBLNE2OUkVAPTIYKAQR3zXjXjj4yeO/iRr7eIfG2qm/vGjCCWRQoVR0VVXCqOpwABkk966fwf8Atd/Hb4f6cukaB4yka1RAsUF7GtwsSgYCp5gJUADGAce1cWE8E6862Kw+IwM40ZzUqVSNWm6sEr+7JNqDTv0d13luCyHFXacNOjurnvn7Lvw58QfADw54i+LnxVhXR4m08R2tpeThXcA7ssAflZmCoqn5iSeORnF/Yh8b219r3ijwLqWpW1nLr8Bns9xAdpfnDKhblyFbdtJP3ScfeNeE+Of2gvir8VZgnjnxRNeQq4aO1B8uFGAIDCNMLnBIzjPPWq2hTaklzFqWlXUtvcQSB4J4JCrxuDkMrDkEHnIr6CHh3x1k+YZdHKcGvq2E9ppUrQ56ntdKjly6R00ile3W4nlmNpSjyx0Xmtbnop/ZF+Ov/CYf8ImPBsmzzsf2n5i/ZfL3Y8zfnpjnb9//AGc8V2n7dPiTRo5vDXw1sLy2u7rRLJjezqwaWNiqKqNj7pIXcVPPKn0zwL/tWfH6LSl8MSfES6ETLt+0eVH9ox/11278++c+9c7oGk2/jHVWudd1S7luLm4LTztJueRiclizAkk+prjxXg1xHhOHsTgcgwsn9ZcPaSrVaXuxg+ZRiovXXeT6dDCtl9ejTcYx37tHY/FDR7Gy8GPJDFhwIufqy1yvgrwjZeItGmuLmLcUuNoPttBrrfiw0i+EJIsfKDGB/wB9Csf4Ut/xI7lf+nr/ANlWvpsww8oeO+Cpvf6o/wA6pm5VFjE+tjTg71JTPDGma342iluPB/hvVNTjgYLNLY6bLIqMecEhcA47VrXvgX4g2ls95efDrxAkca5dzos/yj1+7X7NT4q4ZrUva08ZSlHupxa+9OxqpxaumZE37mLFWIf3/wC4zWC3jDw6jFHvHVgcEGFsg/lXY2Hgf4gXVsl3bfDrxA8UqBo3Giz4ZT0P3awwvGfCONpuOHx9GbW/LUi7etm7GanGWzMyDvViDvVfxPY6v4LiS48W+GtW02OQ4SW80yWNWPoCVxn2rK/4T/wv/wA/z/8Aflv8KynxzwZhKjp18xoQl2lVgn9zdxRnCOjZ0NEMNSeHtC8VeJdMTWfD/hDXLy0lz5Vzb6PMyPjg4IXB/CsW68a6FpF7LpuqvcW1xC5SaCe0kR42HUMpGQfarlxpwjhqUatbH0Yxls3Ugk/Rt2fyNHUppXbNqGGpP+WVc7/wsjwr/wA/z/8Afhv8KI/iV4YXZnUX46/uH/wqYeIHAU981w6/7jU//khe1pfzI6KH/XfjVg3k/wC7rC0vxlo2t3aaX4fS7u7mU4jgtrGSR2+gVSTWnr5vPBltDN4w0DVtMjY4WS80maNSfQErjPtW1PjXgqtQlWeYUXCO8lUg0vV3shqpTavcvTTfuqLPTP3vHlVip8U/h7CN41GRm9Psz/4VmXvxT0AvutL2Q/WFh/SvLl4gcCp+5meH/wDBsP8A5I2p1KC+0vvN/UpYbOF8f3T/ACryjwtqL6XfS3Kdfs7D9RXU3nxB0K7jZTMwyCB+7b/CuSvdC13QYLe71nRby0iv7fzbKW4tmRbiM4w6FgA6+4yK/IuOuKOHcbx5w9jMLjKVSlQqTdScZxcYJunZzknaKdna9rmU3RWJpNSVr667bbkupaxPeTZnFZ/2yeGU1qeHPh7468emaXwf4Q1HU0tyBO9lZvIIyegJUcE4PFarfs9fGqRMN8K9ez/2C5P8K/d6HGuQ4mkqtHF05RezU4tP5p2PqqWIwdv4kfvRhf2lN/z3qxZ3lHijwX4q8E3Mdn4v8N3+mSTIWhS+tHiMijgldwGfwqnZefFLW1HPsoz6rUw+DrwqSp25lGSbjfbmSd1eztfexpz0Kzfs5J23s72NS9/fRedVOazrQhh/dUTQ0e1pUqvszWkZfke9RzfuquT9qpzf63/X10r2wgh/13411ngP/kMxz1x8P+u/Guo+Ht59j1mMT16WCb9qYYn+Ce6XkP8AxJrfH/PGvB/FB8z4u5HfULf+SV7x5wvNGjnrwfxXH5XxdMfpqNv/ACSvwTx5/wCRFlv/AGF0/wD0mofG4r4Y+pP8cwf+Ezj4/wCXBP8A0J611+NXh9YUi/su8yqgHhOw/wB6ut1/wpoXii18vWrLzfJbdGwcqVz15BrBk+FvghY9w0yT/wACH/xrnxXAvidk3FuY5nw5iaEaeLkpP2ilzaXsrcklo5PVPVWdlsJ0q0ajlBrU5rxf8S9M8ReHZNGtrK4R3ZSGkC44YHsfaoPAXjnw94a0afTNa0uedpbjzFaJVIA2gY5I9K0PHHgfw1o3hqfUtNsWSVGQKxmY4ywB4J96h+F/gzw74l0qe61m0aR0uNilZWXjaD2PvX5zjsD4qz8VcPSq4ig8wdBuMkn7P2d56P3L83xfZ7ambWIWIWq5rFPWPFfg+8m82x0+8jHo6p/Rqrv4w0zfujtp/wDgQX/GvQLL4TfD8o0l3pMhCfexdOM/rXG+OtF8G6XfPBomnuijoGnZv5mv0GWV+PVV+zeLwv3P/wCVHq4aWbVfgkvn/wAMUZPGOmv0tJvyH+NTWvjbRra5W4+wTnb/ALv+NYTW0E83k2sOD/vGtCDwp5sPmj+ddEuH/H6lTvLF4S3o/wD5UdXJnX80f6+R1mufHa2v9B/sWw0iRP8AafGP0Nec6pNNqty1xNgbulVvEf27SZNsbBR7jNR6Hdz6gmZmyfpin/Z/j9Rw91jMJbyT/wDlRpDD53T2lH+vkTWtotruCHg4rIsEx4mkYf8APR/5GtLXLh7VSsEu3Ix0rN0iEx6omfRv5Gvl48KcUZXlvEGd57WpzrYjDTjane3u07Xd4xtZRSsk76u66uOCxVGjia+Ikm5Qa09Pl2NLP/E72/8ATr/7NXPeKW3a1LD6qvH/AAEV0OP+J3n/AKdf/ZqxddtvM1qV/UL/ACFfOeDXvcb0v+wFf+lwObI/9/X/AF7/AFRUh/1P4UkM1Hk/vaj/AOWtf1pT9sfXlz/lrVjyPeq8MP7qrlnB50v7+kAQ2ddJoN5PZxR4/wBXWfZ2Z82ug03TP9A8+t/aVjgqVDL1eaCW6zitz4Y/8hmPE9cxqP8Ax9fjW/8ADH/kPeRBXvZb+6oVKhzYmn+5PQPi5Ht8HSEf3k/9CFYfwq/5A1z/ANfX/sorc+L3/InH/eT/ANCFYPwt/wCQLcf9fX/sor+e8ynf6QeCf/UG/wA6p8k/97Xoev8AwL8Z+IfA37GHiDxX4cvRFe6fq8htJJIw4TLW4PytkY+ZvzrhNL/bb+P1tqEU1zrFleoHG61l0yMLJ7ZQBvyNei/s4eK9H8Ffsi634o1zw1DqtpZaxIZ9PmxtuMmADO4MOCwPT+EfWuo+CXxR+GvxY0jVdT+Hnwk0XTvEukRGWz0+WGFDLlfkZZVQFQW+UnHy5GetflOEw+Y5hg8nwuDzmWFqPDRapRVRufK5tySTUZOysovV8trWsJKUlBKdtNjg/wBtHQNLj1jwb8SbbT/7N1fVQov7YbVkDL5bKWIIJdNxQtjsBkYArof2vfj98T/hL440zRfA2txW1vc6UJ5kks45CX811zl1JHAHFeDfE34teN/iz8RbbWfHUMUU1nOlvFp0UTRx24V/mTBJbJOcknOfQAAfSn7S3xx8BfC7xZYaP4s+EVl4hmuNOE0d1ciLMa+Y67BvjY4yCeveubDZ3gs2pZ7j8Fi5YKEqmG/eWkpXSmpNxp6p1Gm2l31Epxmqkk+XbU5f9mD9ov4j/GLxlc/Dv4iabaaxp11p8rzzCxVfJUADEgA2sjZ24IzlhzjiuX+CfwE8H63+0R4msNWSO68PeE7uV/Llf5HbzCIkcg4KqFYkE87MEYJFenfAL9o34bfE3U7j4feF/Bh8KX9zbySW5soodjlV5ZSEA3gZYBlIwp69K5f9mrw/q+i6f8Wfh5Pqv2nV4jJEu2Ql5X2Tp5vGeWYjpyD1r0sNhMHm0cmWJxP9oJVK8vatdYU+eNFqXvO7Sl7y1StazKUVPku+bfX5bHI/EL9uT4nXni25Pw9ubSw0eGUx2UT2SSPMgPDuXBwW64GMDA5IJNr4zfEb4WfHr4GwePtaurDTfG2mSpbm0jdg843ZZVXktGQS4Zs7GBXdyd3gRBBwRgjqKspousyaQ+vx6TctYRTiGS9WBjCkhGQhfG0MRzjOa/H5eIHE2YU8XRx0vrFOvGV4Tu4we6nBfYcN1ay7nJ9YqyTUtUytRRRXwZzn0z4U1uy/Zd/ZdsvHmgafHN4i8Vyxsst3HkLkMy8AglFjBIGeWfJ4OAz9nn9qLxX8UvGR+FXxcis9SsNdtpYEcWqxkNsJKMFwGRlDDpnJHNUv2rnTU/2e/hxq+mNm0FrGhKxBRuNsmOB937j8Dj8q8u/Zrtbq7+O/heK0J3LqqO2Fz8qgs3/joNfu+O4hzfIOMctyfAVGsLCOHj7NfBUVRRc3JbSc3J6u+uqO91J060YRemn4mX8X/BMHw6+JmteC7SSV4LC9ZLdpgN5jOGTOOp2kc9+uB0rm69R/bJvbK9/aC1n7EwPlR28cuEA+cQpnkdfqee3avO/Dehy+JfEFl4egvbe2e9ukhW4u5hHFHuYDczHoBnNfk/EWX0sLxPi8FhVeMas4RS7KbSX6HJUilVcV3PQf2Yfgd/wtvxe2p+IFEXh3R8TarPI21ZMciEHtnGWPZQeQSK9O/b61Oz1LwZ4NvNHn3WN0081uEBVWQxxFDj/dbj0zXeeL/wBn7xVY/BW1+C3wg1rT9Pt5Af7av70ukt3nBb7it989eeFUJyKo/HP9mrxf8UPAHhHwnouuabBceHrLybmS6aQJK3lRJldqE4yh6gdRX79HgbNcn4Gx2S4XCudepClKdRW9+p7SL9nDX4acL3b3bk0d/sJwoSglrp/w3yPmf4b/AB++Kvwn06bR/BPiX7PaTy+Y9tNbpKgfGCyhwdpIxnHXAz0r0/4KftF/tHfFj4k6b4Mi8VwiCaXzL6VNKg/d268u2dnBxwD6sK8I1vSLrQNYudEvZIXmtJ2ila3nWRCynBKspIYe4r6A+A9tb/AP9n3WvjvqsKrqmsJ9m0JJByVyVTAPZny59VjBr8x4EzDiSrm0MLUxtalhcMpVKqVSaUadPWUbJ6cz91JdZHNQlUc7OTSW5zv7a/xXl8bfEk+C9OvN+neH8xEK3yvcn/WN744T2IbHWvI7KGcyeRVa5ubi8uZLu7maSWVy8kjnJZickk+pNbNlCfMGfSv2vwLz2vxBxHnOY4n4qjpNLsr1FGPpFWXyPoeHqrnVrSfW36mpZwjyqjvJvJo87yqpzTefLX9FfuqtU+hKd5eVTmm/e1JeQnzajmh8mLFaqp7IBYf9an1rX0ebyZfPrH8797Vyzm8mXAr1sNUXtf3ZFU948B6x9s0HyK8h8XDy/jGw9NTg/wDZK774TXnnRVwvj4bPjTMPTUoP5JX4X9IJezyjLqf/AFF0/wD0mofH5l8a9T1b/lp5FV7yGDzcmpIYfNqOftX7iWcz8VYtngm5Of44/wD0MVQ+CMcj6JclB/y+HP8A3wtaXxYi8jwRdRekkf8A6GKo/ApN+h3R/wCnz/2Ra/CM19p/xMFg+/1R/nVOZ/72vQ6nxVqUGj6XIYK8n1j/AEy68/Fdx8Trz975Fcf9j87iv3H2R9BSp+yoh4V0e4nuv9RXcaP4JuJrWSjwH4V8n9/PXWQ3kEMvkQVz4mrWq/uwqYk8L+LWj/Y4fIzXJ+G5v3VesfGzR/3Uk9eP2f8AoctZU/3tE9bA1PbUTYm/e0gsvJdJPTP8qZZzedWncnzLTf6Gvh+P17PgrMl/04q/+kMvMf8AcKv+F/kZeD/bAbt9m/8AZqydbj3aq59l/lWuR/xNQf8Ap3P/AKFWXrLbNTdsdh/KvwTwXjB8c0r/APQEv/S4HzeSf7+v+vf6oz6rw/62SrE3+u/GjyPev639p/z7Pr/alyH9zFmpLOq//LWjzv3sf/POurDey/hmXtDpNHh866jgrqLyGCzsPIrU8B/DaxmsY9Vnn/d1l/EOaDTbr7DBWXtPa1vZnFU3OPvJj5tdp8H9N+2X/n/9Nq4eGHz5a9Q+D8Pk2vn16X72jR9mcONq/uTT+ME3/FN3EPo6f+hCsb4Vf8i/df8AX3/7KtaPxYn87Qbg/wC0n/oQrM+FUmNGuIfW6z/46K/Bsd/ykNgv+wR/nVPmn/vS9DsfA3j/AMFaf+xt4m8EX3ia1i1e51TdBp7sfNkDNCQQMcjEbZI4HGSMivNPhX8R9a+FHjmx8baG2XtpMTwE4WeE8PGfqO/Y4PUVJ4H8OaNrthO+oQM0kdwgVhIR8p6jit+L4a+HW+9av/3+b/GvxvK/DTj/AIuynK84wVWhSVKlGNJ881O0JyalJckkpXfR2MVTrVFGSsrLQ3f2n5vhJrnj7R/iP8PPFdpJ/biR3GrWcYJNs+R+8cKDtYjO5PvZXdg7q9a+Ofw2+D/7QOuaf4tPx70fTlg08QRxpcQSbxvZ9xzKpB+bGMdq8O/4Vn4S/wCeT/8Af5v8ajX4eeEnk2raOB/12b/GvuaPhhxk62OeLwuEqU8XKE5QVWvBKUL6pxhf3nJyavu+2hsqdW8rxVn6nrfgLwr+zd+y/qcnj/VPi9Dr2ppbSJY29jscjcOdqRs3zEZUMzBQGOfWvK/hn+0dqfgn436h8VL/AE8y2utXEv8AaljCwX91I+4FeMFkIBGeuCMjcTUP/CuPCf8Az7Sf9/m/xqaL4W+GG+9Zv/3+b/GuPGeF/iJzYWGV/VcLTw83UhGE6svfdk5Tc6bctFbXTldndClTractkkekeJPgL+zX8WNal8f+EPjlY6RbajK01xYSvEu2Qn5tqSMjxgnnaQcZ44wKwvjx8YPhp4U+GMX7PXwQn+12IYHVdVWQkSFX3Fd20CVmYAl1+XAAXIOF5G7+H3gXTYWmu7dzsXew89uR+dcvq/hvRL/UZ7zwzdxLZRvv8kz7iqemTzXZjfCvjqeBxDwGGweHqV4tVakKlZuUXrKMFKDUFLql09Lmv1etJPlSTe+5zlFMuApt3DngrWNPe3FpL+5uM1+c+HHgfLxB4e/tRZgqPvyjy+y5/htrf2kd77WHgsq+uUPac9te1/1Pp34PfEv4V/E/4Mf8KE+NGtxaS1lMp0XUsbBjLMp3EFVZSWU7sBlcDrk1veCvC37OX7L17P8AEK9+K1v4j1ZLSRdLtLVo2IJXoqxl8M2Cu9iFAY18maPqU5l/0iepNXnI6Gv3Sl4TYrLY4eWIxFGticPFRpVpUZ80VH4eaKrcs3D7Le1lu9X69PJJtJuautnb/gnpng3V/B/xT+Oa6/8AGnUhZafqt/JPfNBmOMMclIy3VEzhS3UDqR94S/tIaB8HvDnj8WPwY1dbmwNqrXKQXJnhhl5+WOUklwRgnk4JPPYeT2dw8UsfzH9771p+f7V8rX8Aqssoq4Srjac6tSp7R1nQftfON/a7N6tbavS9mj/VyTg06iv35dfzLo1jVlAVdUuQAMACduP1r2n9pn4l+FvE3wr8AaV4U8YxXd3Z6Xt1CG2lbdGfKiQh+Bg7kbg84wcYINeI2h86HmoZI1lXay5Gelfn+ZeH+YcHY2jw8sWqizS0HNwadP2c4STS9o+a97PVHm1ssnha0KPPf2ml7bWt5mh4YsNK1TxHY6dr2rLYWU93Gl3euhYQxlhubCgk4Ga9Y/a9+KPh3xJq2lfDb4f6lbz6B4etFWN7OXfFJKVA+VgSGCoAAR3Zq8l06UWkWWANW/t0v91fyr7jA+A+YYPJMTl1HMIpV3Dmn7F83LC7UP4tuVys3pd21utvRjw5NU3FVN/L/gmRXR203yj6VT8xP7g/Kl+2eTzX2Pht4ZT8P54qUsV7b23J9jktyc396V783lax6mV5U8tc2583Nbpba/m+5cmvPWCq/wDraj+2XHoPzqxZzQTV+r/VkemV5oZ/+Pes+b/XfjW5N/yzrP1KHybWSen7T2RPszPP+ujqSGb/AEqOo4Z/O8zNv/qqk02HztUt4K9nBU/3plWPYPgxDP8Au64jx8d/xpmI76lB/JK9X+GOm/2bpfnT15L4yfzfjE7+uowfySvwTx7/AORPl3/YXT/9JmfFY/Zep6t+/wDK/wCedH72pLyYeVUcHev3k0OZ+LZx4Juf9+P/ANDFVvgD/wAgW7/6/f8A2RasfFf/AJEm8/66Rf8AoYqt8AY86Ldzel5j/wAcWvwjNef/AImCwff6o/zqnM/97XoZ/wASJf8Aic1T0Gz87UI4Kk+IX/Iek/cVH4bvPJljuMV+41KlKmfSr+AeoQwwWejfuP8AWVn2c3k3VSabeQalYcz1HNZzw3Vc/tDzapH8QtHg1jQZJ/I/5Y185+JdGn0fVJK+qIbP7Zpcnn18/wDxa02CHWZIIK5sN/FPWy2oc3ps3pWpFf8A2qHbWH5PlVc0+WZpYw3TBz+VfO+IFDm4FzOXbD1f/SJHXmdS+CqL+6/yLeD9u3Y/5Zf1rK1mLfqDnPYfyrY2Hzt/bbiren+GL3WGM9vFkE4zX85+DPu8cUv+wFf+lwPlssqcmLT/ALn6o4qaGiDvXon/AAp/VZrXz/Irn9Y8E3+my/v4Ja/rJYmifRfWjH8j3qTyf3tWJrPyYv8AttUc37qu3DfxfaHQdBpvxC13TdLj0qCeTy6z5ry+1iXz556z4Jp5peK1IYYIYvPnr0qdNYqrcz9oWNHs55ruOCvXPDem/wBj6N59cv8ADHwfPqXl6qP+Peu01L9zH5H/ACzrOp+9rezPFxtU5j4hru8MXEvqyf8AoQrP+GTyJpU+z/n5/wDZRV/4g/8AIrTf7yf+hCqnwx/5AVz/ANfX/sor8GzKFvpDYJf9Qj/OqeE/94XoQfDrUrPSdEu7q4jRnefaob/dFWtS+JFif3EFec6lqtxar9ihk2hxuNNhlnmNfaeDdClHw5y6q/5H/wClSPVwNDmoRZ2E3jaebrPUln4kn82T9/XN2ePK/wBRWh/qYvPr9N+s4P8AhnoezonUab4w8mX9/NWpN8QrGGLrFXm8159jirH1jWJ/N/19P6tRrVv3Y1gkdh4q8Yf29FeWNjP/AK2GqXhLR54Fub++t/L82Dy65jR7z1r0LwpF9rtWPoprLM19VwcvZ9n+RdWn7FHJeS88ckaddmaw9R/4+vxrr/CmkS63fy2UJ+b7OzfkRWX4q8Hz6bLIJ6/BPo7YinR4AV9/a1P/AG05shrcmHt5s5uDvVz/AFtU+IZq0LKEzSxwQf8ALWv2XE1T3wg71Y8/2o1LTZ9H1SSCf/njVeDvWfs/anQbGnf6gz9abGu8ke1N06Y+Yc1PYR+bMU/2TX4R4l0/ZeIfDX/Xyp+dI8PM/wDkY4X1f6FSH9zLitCz/wBUfpVeaHyJauWcI8qv3FH0BYqvND537+rkMI8qSq//AE7/AKVnVqAMm/1P4UkM08PQ0Tf678ajrP2oGpZ3lvP+4nou9N861kgrPhmP2quks7PzrWtDGocn9jns/wDX1seA9H/tLXo6k1i0xL+4rqPgzoM81/59evh6vsqJ5uOq+yonqEMP9m6NHAf+eNeIeL2z8YGf/qI25/RK9v16byZfs+K8O8Ynb8W3PpfwfySvwXx3/wCRFlv/AGF0/wD0mofJYqfNFep6zUZ/jqSH97R5HvX71VNTmfivHt8C3Le0X/oxaxPhPrg0bwpduOpvT/6Atb/xluYIfBM1l5uZGkj4/wCBg1wPg5y2mSwHoZ8/+OivwzGy/wCOhME6n/QI/wA6pdCj7TMIx8v8w8Va951/59V7PWO1GpWc94f3BrDvIZ7OX7PX7v8AV6LxfJA+qp0qVU9Q8H+KvJ8vzzXYTa9Y+V5/7uvD9H1ieGWPArqIdYn8mtcbgqNKr+7OHE4Y6zUviF5MUkEE9ed+JIP7YuvPFSf6beyV0HhvwTfal5c4riqU6OFpe0Ml/sp5/wD8I3Pef6iCtWXwBdaV4cm127iwYyoB+rAf1r1+z8B6Hpv7/wDdS1lfFtoIPAF1aw7P9ZFnb1++tfCcfValXgfM+Xb2FX/0iRzYzGc9CS7pnlv9nx/8IkdVx8/9o+Vn28vNel/B+10seD7e8uokLrJISW6/fNcPpWjajrXw+nTTovMNvqfmtGASzDywOAOp5qHTdT+IWj2i2GmxX0UKklUFnnGTk9Vr+W+DM4nwbnWFzbGYWrUo1MIoRdOHNd867tKy5WnrfbQ8KlVdGak10sezfbLHzf8AURVn6loGh6xF/qIq8v8A+Ej+Jo6m+/8AAL/7GnDxP8UE6PfD/ty/+xr9c/4jZw9/0LsX/wCC4/8Ayw6Prq7MveMPhVP0sYK5u8+HuudfsNa3/CV/FH/nrff+AQ/+Jpv/AAkfxL9b3/wBH/xNdFLx3yeltl+L/wDBcf8A5M6YZtOO6Zn6P4D1Wb9xPY12Fn8JYPstnfTQeb5U0vnVz48RfE1egvR/24j/AOJp58V/FRxgzX5H/XkP/ia2/wCI95P/ANC7F/8AguP/AMsCrmqqfZZ6boMP/CNeHLfSoPLi/fS1Xm/e15u/ib4myNl5L4n/AK8//saQeIviUg4N6P8Aty/+xral4+5FS/5luL/8Fx/+WHLPFRl0Z03xEi2+E7hs/wAaf+his74Yy40K5h9brP8A46KwdRv/ABzqtubPUYbySNsZQ2mM4Oey11HgLSb3RtEY30Wxp5d6xkEMowByOx4r5/hziGXHHjNQzjCYWrTo08NKEvaQ5bO8+zas+dJa330MoS9pX5kuh5VrUkaXaB+uz+tT6bZmb/UU+801by4SdpSNgxjHWtHQry30bbvs/O2+r7f6Gujw98YOAuH+BsFl2MxTjWpxtJezqOz5m91Bp6Poz08Pj8LTwcYSlqvJnSeFfB/2yLz56seNrPSrO08iCoG+Kkkdr9lstCSEeouCf6Vzeoapd6jO00smN3Ydq+hj40+GrXNLHO//AF6q/wDyA6WPwv2pfgzO1Kb/AEWuX87zpa6i+sBepsMu38M1n/8ACIxbt320/wDfv/69erhfHXwupfFjX/4Krf8AyB6EM3wEd5/g/wDIp2deo/DK9gCvAf7h/lXAw+H0i/5eif8AgH/1629C1WbQ8+UgfIxycUYrx18Lq9FwWNe3/Pqr/wDIGeJzPAVqVlPX0f8AkdD8HAp8XEt0Fo5P5rXS/E7R4PKkn8iue+DD/ZvFZu5o28o2zoXxxnK8Z9a7n4kfvtLr5fwIo1aPAEJTi1epNq63Xu6ryPOytuEUz5zvIfJv5IK2PDdn9tl/cdap6xDjVJMf6yug+Htn5wr98WH9rRPp1UZH4ks5ryXz556x4f8AW+Rmu88SaDi0/wBRXHzWf73iCs8PUt+7NadUntIfJkPPatDw7H5t+yf9Mj/MVUtOn51a8PXlvY6iJ7qXYmwgnBPp6V+CeLLw+XcdcNYnEzUKaqVW5SajFJOldtuyS16nkZnVjHHYeUnZJv8AQtXmm/8A66rw/wDPDFbNxrXht4N8N4BL/wBcn/wrJnutN87zopgf+An/AAr9Fp8c8ErfM8P/AODqf/yR6dPNMJ1qR+9F2H9zFmqc/apZNYsmj2ibn/dNVfttt5e3zef901nU444Kb/5GeH/8HU//AJI6Pr+B/wCfsf8AwJf5i0VH9qg8zd5nH0NJ51t/z2/Q/wCFc/8ArpwV/wBDPD/+Dqf/AMkH1/A/8/Y/+BL/ADGTf678a6Tw3eetcxJOWk3K/H0rT03VbC3dZJZ8FPujaf8ACupcccG/9DTD/wDg+l/8kc1TG4J7VY/+BL/M6Saz86XFekfDHRzpmnyX0/8AzxryrQ/FejC5Q6pf7EXqfKY/yFemWnxh+FlloaWEfinLiLBH2Kfr/wB8Vr/r1wT/ANDTD/8Ag+n/APJHiYzGUZrkUk/mjV1Kee8v/wDX1414v/5K5J/2EYP/AGSu9l+K3w8aRmXxD9/73+iS8f8AjleearqNlrvxSj1DSrjzYZ9Rt/Kk2lc/cHQgEc1+R+MnEfD2dZTl1DL8ZSrTWKptxp1ITaXLNXtFt2u0r7Xa7niV5RklZ9T1+DvViGLybXz6j8j3qv4w1KDQdBkgFf0f7X/l2d1H+Meb/FLW5b957dpcjcpx+NY3hT/jxl/66/0FVtcvX1OR2QZLS4Az1qnp+sXWmqVt1Qgtn51zX868e59guDPGPBZvmUZrD/VXBSjFu8uapdLZNrmjzK90mr7o0xFRYPMI1Jbcv+Z32j6D5w8/yKx/EngnzpZJ/IqrYfFfxNpsflW9vZ4/2om/+Kp178WfEl9EYZrOxAbrthb/AOKr2V9IXgRPer/4L/8AtjWGdQjvc5/+zZ9NuuldZ4V8N32scwVzFzr13d3H2mWGHd7Kf8a1dB+Juv8AhwEafbWh3LtJkiY8f99V11vpFeH89nV/8F//AGxdbOsPPa/3HpWj+A4bOXz76tyWaCzi8ixrymf45eM7jd5kNj83XEDf/FVA3xj8WN1hs/8Avy3/AMVXH/xHzw6fWr/4L/8Atjz6uPpVe56b4q1iez0a38j/AFl1eSx1zXi83Gr/AAiutdm/5ZXyW/5MDXJXXxX8TXsCW08FoUjl8xAIm4P/AH1VfUviHrmp+Hn8MS29rHayTCVlijIO4HOckmvA4r8b+B844YxuAw7qe0q0qkI3hZXlFpXd9FdmNTFUpU3FHTfB9N+gXX/X4f8A0Ba7CGGuZ+FOl3+m6A73tuYxcTCWHJB3IUXB4rpof+eGK/VfCunXwnh7l1KtBxkqeqaaesm1o+6d/QqimqSuRz9qP+WtH/LTyKPI96+89l/y8NCObz6B/BUn+tqT7HP5v+op/uQKf72pIfP8qtD+x/3Xn1Yh0fyf38/+roWID2aMuGGpJtNnqPUtZsdN8z9/HWPqXxU0PTf+W9dP1etW/hnRSw1Y2JtN86LrVeaznrHs/i1pU11XQabr1hrB/wBfWX1at7b94Orhq1I//9k=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAGgAaADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6Bskuo5MhSffFd9pGkCDR45iRkdea+jv2dI/h54Q/Zn1r4reI/hvpus3VhqbpJ9qgR3lTMIVQ0isEx5h6AA49eaqwftXfADVJRp+v/s2afDZynbPLBBbO6r6hfLXP/fQr8Ij4z4KngcNWzD2VGdeCqRhKdR+620ryjRstU79vTU1lmEXFOSSv5v8AyPBBOIZZCCKzNd1EmWTANe3/ALTnwU8E/DzxD4d8WeAIAdB8QhXSze4ZlBGxvlJO/YyOD1yDnkZAHqfxy+I3wb/Z+1zT/CTfAPRtQWfThPHIltAmwb2Tad0TFj8uck96KHixicLiMb/amGp0I4V01KXtZzUvapuDjy0btNK97ddUjFYmzlzJK1uvf5HwzOj3kuTGfyrqvh94dlgP265IGfU19R+A/FH7Nn7UGpyeANS+EMWgam9tI9jcWIjjY7Rk7XjVfmAywVlKnaevSvKvhn+zjqnjf43X/wAK7/UDDbaLcS/2pfQqG/dRvtAXnAZyQBnpknB2kVhj/GbNJSwssswNPFU8RN04ShWlG01ZuM1OinHR3105U27IK2LnUtyq9/P/AIBitJH5Mfzj86rzKn98fnXtfiX47/sz/CjWpfAHhL4G2Or22nSGGe/ljibdID8215Vd5ADxuJGcccYJwvjx8H/hr4q+GEX7QvwQg+yWDMBqukrGcRln2ltu4iJlYgFB8uCGGAPm2xfjFOnh8RUwVGjiauHTlVpwrTTjGOkpRcqKU1Hq1083Y5nLR8rTa3PLdkf/AD0H50y9lV9PmIYZ8puM+1c3RX5ZmP0jauPwFbDf2Yo+0jKN/bN25k1e3s1e1zmeIbVrDNRaa20a51K3UM8G3ardDnP+FccPiRru/adKh/75b/GvoX9nOf4R+H9O8RePfix4cTVI9JS1XTbNxu82aRpBtCEhWOFz82QApNeneCvE37N/7UF7cfD66+FFv4c1aS0kbTLu0SNSSF6q0YTcy5LbGBUhT9K8fgShwXUyDC4fHYLD1sZV5+RTq1Iyqe/JJS5acowd1yxTb5rLa51YR4eMEpwUm+7a/Q+MI/iFrbPtfTIR9Eb/ABrZ8PeJm1dQLqERseAFB6/jXVeNPCmpeBfFmoeD9YaNrnTrt4JWibKsVP3gfQjB5555xWajBTlkDcEYOfTrx+dfP5hxtwNGlWwr4ahTq2lG/tp3hLVXtybxfTyJqYrCNNKik/X/AIB6h4h+B/hjQv2cNF+NI1O/lvtSvBDLaeYixKN0wyPkJ/5Zjv3NcR4Ot/CGpeJbPTPEdnqf2S5uEikewuU81NzAbgDGd2M/d4z619M+GtX+FGjfseeFrz4u6Bc6hpBuCq28GSwn82fDfKycYDd+/frV3wvbfs3aT8OLj4+/Cf4SjUpNILMbUsxnt3QgliJGcIVGH3DJC8ivSreH+BxuIwdbC4mhSisNSq1KcuaU2lBSqT5FF81+ya+RDw8ZNNNLRNnkfxO/Zo0DwH8cvDPw1tNfvJtO194A08gXzot0pjbBC7T2I478jpnk/jz8OPDnwj+Jl74G0ue9u4bWKF1nuJkDHfGrnOEx1NdDoXxX1j4yftT+HPGmu2qwB9atIrS0hkJW3iWQbVyR83JJJwMknAHAHrnx48X/ALJ+k/Ey9sfip4B1C/1pYoTc3MCuVZTGpTGJlHC4HSuKeQ8L5/lGPxmXzpYaCxUY051XJL2fs37q0k/efvJNXSVroTp0qkJONlrpc+XpYPDU3hZ7y0tr+PUIb2ONzJMrwPEySHIwilWBQdScgnpivSv2Wfgd4S+JB1jxv8SpZE8P6DCGmRJzGJnwXbcy/MEVASdpBywweCKv/HfxX8A9f+DVnafBPSI9PMPiCNtQtXtik5BhmCMzMSXH3sfMcZ7Zrb+FP2j/AIYY8Y/2eF83+0JfM8vbu2Yt927/AIDu684/CuDIuH8swvFXJXlTxVOhh51vc1p1JQhJqPnZ2T0V2rNbk06cVV11srnPar+0/wDDtfEkjaL+zN4LbSFnxGlzpEQuJIwepYJtViOcbTjOPmxku/aR+HPwlbwTo/xt+Es8Vna67cMLnSPPUCNyCzeXHnK7GyrIuVXK7Qo6+LUV81X4zxeY4DEYbMaMKvtNYS5YQlSle94uMU7NXTi9HpqrO+TrOUWpK/6BRRU+l+R/adt9q2eV56eZ5mdu3cM5xzjHpzXx8I80lHuYn0PrWhfC39lv4Q6Pe6z8P9K8UeKPEUaysdYtRLFCAu47VcHaq71XA2s5OSflAEnwnuPhF+1Po+qfDvWPhZofhrXILf7Vp+o6BYrDnGV3YUAkKWXKMxDA54KgjP8A+Cge/wD4THw55OPsv9jv5G3OM+Zz7dNv+cVzX7EH2r/hftn9n+5/Z9z5/X7mz2/2tvX/AAr95r4+OB8RqXDUKMHgk4UXT5IvmU4rmm5W5+Zyk5c3Nfz3v3uXLiVSt7ux5TqunT6RqlzpN0R5trO8MmM43KxU9eeopdK06fV9UttJtSPNurhIY92cbmYKOnPU10fx1+w/8Lm8Uf2b5fk/25c7PKzjPmHPX3z7Z6cVJ8AbNb741+FrZ7Tz1Ot25aPBPAcEnj0Az+FfjqyyMuIf7PTuva+zv/2/y3OPl/ecvmeyfFNvhR+y9pOlfDfQfhRovijXri2+1ahf65YLOecLuAIJAYq2EUgKBnksSeM+IPxI+AfxH+D5nPgCy8OeMbS622tvoWnCKKZSRuZioVSmBjDEurfdyC2fZf2j/wBpfTvgh4wj0jwz4Isr3XLqySW81C6XaEi3EIhKjc/Rj94Bcjrk45PxTZeAv2qvgjqvxN0Twauk+KNA3vcx2KKTcFVDEMwUGVWQEjPzKwwMjO7924jweHqY3H5TlWJozlTpySwroWUYxim+SrvKtFLnvf4u9nbvqRTlKEGvS369yr+xjbTeFfhd40+KGj6At9q0Ki30+PyC7uUTf5S7fmwzsmQDztX0FXfEX7WP7TfhTTzqniT4HQWFuODcXWm3Sxqfcl8D8684+D37VXiH4M/D698FeH/CljNPPdGe31CeRv3bMAG3oPv8KMYK4xzuro/hj+278UF8YWVj4/mstR0u7uUhuh9jSJ4VY43qUwOM5IYEEDHHWvJyXi/JMNkOX5ZhszrYaootS5KUXBTlNtublZvdfBdW69ohWpqnGKk18jxOC8mv9fTUJkiWSa8EjrDAkSAl8kKiAKg9FUAAcAAV3Fa/7V3ww0b4Z/GiGLwzp6WthqkUV3DbRyZEblyrgA8qu5cgdBnA4GBked+9r9b8BMoxmSvN8vxTvOlWim9bP3Xqr66qz1HQg6blF9GEP+q/7b1J5P7qo/8AllUnnQfu4K/ov2f7k6COb/W/6io/P9qkh/575o8j3rnpGYVHVj/llUf/AC1rT2fsgJKKKz/EV9fWeiy3dvKUdSoDADjLCvNznNMPkmUYjMa6bhRhKbUbXainJpXaV7LS7S8xNqKuXJv/AEbUdew/8KY+AXg7wJoHiP4pfE3WbWXWrFJ4pcIiuxRXICJC+3AcdSfrUWnfBr9nf4nSnQPhR8dLxNW2loo7pUk3gDJxG0cZbABPyngcmvkI+JOBjKNJU37aSTVL2tBVHzJNLldVatPTW3nY0u9uva6PJ6r66SNFuSP+eDfyre+HHwr1/Vv2gP8AhSnj3Xp7VreSYXMljGhMoSMyAozjgMuCGKk4I49PQvEngH9jvRNTu/DPiP4uaxDc2srQXduz5KODhlJW3x+Rr5+r4mZNxDkGKaoyoXdSjetOjTtUUdVrUvpdX6+RClzwb26anzv4a0KDW3mWeZ08sKRsxznP+Fcn4t8RXXh3WJdMt4I3CdGfOf0NfSPj39m3w7pfw/vfi38APiQdW0y1Xfd2koV5FReXIdQMMoIJRlBxk56A+f8AwV/Zp1H9onxDcXN26WmmWZ3ajq0ibtjEEqipuXcxx9FHJ7A/ivDOB4MySlhMlzrJp4nGVFKSnTcJQqRcpOMoz9rFcqju2la13pqVhfqtJqFanzN9v+HPH4PHN/K6q1pCN3XGf8a6HRb631Db9qJTd/cr6Ftv2Y/2Gdav28F+HPircjVp3MUErXqvG8/QYJjVHyegVhu6A8ivKPi98Edd+Bni8+GdZiV4mBk06+j4S5izgMBk7T2KnkH1BBP2edVfBbJMB9bnkkqtJPllOlKnUjGX8suWv7r9Vbpe7OmrPLIU7qk/VW/zMuPRrF4fO8+THpkf4VDfafYwQvJbyyMVIxux6/SqqXM8f3JCKa80sn33JzX5znPGPgpispxNHA5PUhWlTmqcmo2jNxajJ/vnopWez9GcNStgGnywe2nr959Q/s4af4H1P9kXW7D4h6tNZ6NLrEg1C5h4aMZgK4IDfxBe3c/WpvCf7O37JOr6BefEHw9rura7p2kbnvoEuWb7i7iCixpIeOeMZx9a5z4cxuf2DfFmEPOqORx1G+25/Q157+zR8aJvgz8Q4r+9lc6PqGLfVolPATPyygeqE59SCw71cc8yLL3keEzXB0p0p4aH7ycXKUG5TUXa/K4JpOStezevQXtKceRTStbc1f2gfj5p/wAafGOi2HhvTriw0HSXRLSGVVDuzMoZyinauAAqrk8DqM4HuX7S3hb9m/XvFlhc/Gfxre6ZfppwW1htmYB4fMc7jiJ+d24de3SvEf2k/gmvwz+KNlq3heASaH4guVn0v7P8yxuWUtCMdssCvqrADODXqX7X3wC+KHxa8caZrXgbQ4rq3ttKEEzvexRkP5rtjDsCeCOa3wX+syo599ewccXilVw6cHCUoyS5+VxjBp8qjZxt0tccfa2qcyu7o3/2fPBX7OGiXt9rPwP1yHWdbjtHVTqF8wkRTjjbsBRC20FwhIzjnODyP7M1/wCJX034s+L9bs2TxAhkM0uGLLMqXDGMc9FYDAHt7U39mX9mnx/8J/HD/Ez4lXVnpNlp1lMDH9tRi4ZMFnKnaqKMtknOVHHeue+C/wAf/Cmk/tF+J9S1u68nQPFl3KnnXJLKjbz5TPxwpBZTkYUOMnAJr1cNmKwEcmqZnh44BupXgqaXJH36fKqzjL3otSajeT2u72KUuXk5ly6vT5bngRJJyTknqTVpNb1mLSH8Px6vdLYSTiaSyWdhC0gGA5TO0sBxnGcV7T8Q/wBhz4n2Xi65X4e2lrf6PNKXspXvkjeFCeEcOQSV6ZGcgA8E4Fr4y/Df4WfAX4GweAtatbDUvG2pypcG7jRi8A3YZlbgrEACgVsb2Jbbwdv4/LgDibL6eLrY6P1enQjK853UZvZQg/tueytddzj+r1Y3ctLHgVFFFfBmBet5518N3dsufKe+t2f5v4gk2OPxauq/Zrurq0+O/heWzB3NqqI2Gx8rAq3/AI6TR8LvC3hjxl4N8SaLrHjLTNGv0ezudJfVLtYY53TzlePJ/wBl+o77c8V2v7NPgvwb4E+IMXxB+JHxO8NWsOlRyPaWsGtRTyTSlSoOEJ+UAseu4kDivueGcmxtbN8sxCklTcoycnKKUFCq+bmu/daS5knvdWvc3pQk5xf9bmH+2TZWVl+0FrP2JQPNjt5JcOD85hTPA6fQ89+9eXV3niS+0v47fHTUNWm8R2uh6fql+8gv9YmVVggUYUnkZbaowoPU4zjJrI+KXgTRfAHiJdL8O+P9N8R2UsIkhv8ATnHHYq6Bm2MD2yQQQc9QOHiWhUzPMsdnGHS+ryrzs+aN/ek2rRupWaa15bXdm7k1E5SlNbXPWfH2p6XJ+wt4V0+LVLZp11bBgW4UvlXnLDGc5AdCR1G4Z61yH7LHxoT4T+PPsGuyqdB1rbbaokvKRZOFmI/2ckH/AGWbuBWd8IfAHwu8S6FrHiL4n/EAaVHYRZsbG1uYhc3bhSzBUfJI+6BxySeeK4JyhcmMELn5QxyQK9XMOIc1wuPy3O6SjTlTpwhBKak2qS5G5pWcVPVcr3V7XWpcqk1KM12/I9s1v4a6F8Jf2udA03RdYs20ufWbW9th9rT/AEWNpA3lvk/Lj+HP3lK4yTXoXx//AGQvHXxa+J97440TxJpNtbXMUKJFdNKHBSNUOdqEdR614V8G/h78N/H9vq8fjj4nQ+Hru2twdLF3sWKaQ55Z2PIBAyoGfmyDwRWr4A+E9jqPiVbT4gfG/QtM0mLPm3Fn4likklAB2iNQTjnHLAYHYnivpcrxeDxuXzw1TLFPDYuv7WEY4iMPZON4cs3y3jFXduZRTWyZpGUZRs46N332J/jV+zsPgZ4EtrjXvF1nfavqGqIq2doSBFCscpLfNhmySvO0AdOc1f8A2SPjH4W8FX+p/Dn4iFRoXiRBE8s2PKhkIKHzCSNqMpwW7EDoMkeb/EmDwjZ+NL6x8Dave6hpkEnl299fupe4xwXG0D5Sc7e+ME9cDmZNb0y1vPsd2H3DGSrgdvpWHCeW5znfH3JwnhYRnQjJ+zdTnhKEWoTvOVudTc+nR+7okOhTqVcRaitulz6Su/2AtW1DWft3hn4k6Y+gzuJLe7kRnlEJ5yAvyOQOh3AN14zisb9qHxp8LNJ8H6L8CvhdHbXsOiP5t1qsSxyAuV5VZB1didzkYGQo7EDzrQtC0/XNK83StdvhFgjy/N+X8sVxHijxFpHgz9o/4a/CPX5GXRvGuptZajfKcTWzMyRxMmflxvkXOQeOlfoma+GfFmFyzEYbKsop4aVdJVJPEKo+W6fJC6XKm7X3bSS6Jndh8txeMqvD4en7zTe/SKcnb5IuUV0Pxe8A3nwu+LPiHwDIzyWmnXsQ0u5lADz2720MoZscEh3deAB8vSj9tP4T3Xjn4o/s7+JfgPdXej+H/iJc29lq8GjSGGJ1JinLsqkDf5LT5PpF7V+VcNeFuc8RZpjMA6sKVTDOKne7V5c2zjfblDK8jq5ljHh3NQsr3eq+Fy6eSZ9ANpfhL9sf4Q6FY2fiez0nxZoKGA2tzLuMgCKrHbncUbCMGAO05Xnk1P8AD/4deFv2NNG1f4i/EDxbYahrktiYdO0y0l2lwWB2oG+ZizbMttwgBPNfKP7TnjWwX/grf4A+BHw4tF0/w9pmraNY63pGnJsgvJJZBNMZUX7/AO6kRTnPCntWx+3h+wp+3b4//aX1nxR+zLoslt4PntbNdPhtPE9tZxh1t0WXETyqV/eBu3PXvX9B0uAcyjXp5lVhRlmEIKKrOVTluo8qnKly8rml52620R9HS4Uqc9F4ivTpupT51KTaVrpJPza1O2+Anw38PfHr4p3Wm+NfFB05bhZboxW7gTXUhbJSMuGAIyWOQxwp46kZvxB0HSvgn8aXsPCfiUapBouowzwXMbDerKVfy2I+Xep+UkcZHQcqJf2M/wBk/wCJ/wCyh4J8a/H/AP4KB+J9MutHsdE3WuhahqCX32co25pS5yiyMQsaIjMXMmDztFcF+x14jsdC/wCCfXxh/bF8bW0HiHU4tUuoPDlnrYN0umMqRrAuGUJ/rbpS21QGVFBx0X42XgpmX9kwoQnRWJjU53XvU5mukeW1tHrfy2Tbb5pcJVnGp7CrCfLOEVJXtKU+idradWfVXxJ+FHgr9r5rL4l/C3x5Z2mptZLFfaZe4LqATjzFQlo2HI6MGABBxyaHim98Bfsp/BHVvhlovjJdW8Ua/wCYly9kyg25ZQpLKGJiVUJAz8zMcgAZ2/jqn7QHxuimNxD8VddjckndHqUi4z6YPFeo/EL9v7xf45/Z/wDDvwitPAOnaR4h0e43al48025eK91ONQVjRljCgHa37xmL+YwVsIQSfssR4e5rOdbHYeFCnjq0XGdZSqte8rSlGm1aMpLrd236u/09bwxzmE4uE4Nydm9dFbez+7TXy3P0c+DXgT4JfG34Kr4Aa70zQvGNres8d7IB59yScqfmYGRCvylFPyld2BnnW8GfsVwfD3xDa+M/i78SNHt9L065ScxxyFFmZTkKzybQgyBnGSRkcZzX48j48fGgHI+KOuAjoRqUn+NW7P46fHrxBqNtpP8AwtzXpJLidIofP1iQKGYhRks2AOep4rjwfhRCNDDyxuGoVK9CMYxnGdSnGXL8LqQULSa6u65uuhovCzMEk5Vqd1/i/HQ/Tj9of4p6V8b/AIyQ3uka9/Z2kwGKys9S1FB5Vum/57lkLKNmWLYLKSqjJXty/wC0Z8F/2ofhz8JNT+OnwA+MXgH4j+HtFtXuNTTT9JkS4WOMjzWi8q5ljlCLudgXUhVOAx4rzr/gs7qP/Ck7f4c/BLwIkOmSTeGpbjxJd2CLFNqR+SAeay/MykpMSOjFz1xxy/8AwQr+K2ueGP2qtQ+FP9oOdJ8V+HpzPYs48trm3xLHJtPVhH5y8dnPpx9lwLw9n3DdXHYrH4iNSpiZqb5E0lZNW17XsuyRlk/C1fDZJPN6rhUXxcjjdOMW09XrG6V1b5nkC/8ABRj4+r007w5/4Lpf/jtdb8BP2yPil8YPi/onw88a/EHwV4M03VLsRXXiLV9MmMFquO+JQMnoN7ImSNzqOa8P/aZ8A/8ACrP2iPG/w7WOFE0fxTfW0KwbNixrO+wAJwvy4+UdOmBjFcPX6L9bxDXxs/TFwtw5isLzU8PBcyunZO11o9dD9el+EXw/RWQf8FHPhlz1/wCJbaf/ACzqD4m/A3xN4V+BHiP44eAv2yfAesWXh+wmuGuW8NFrKR413GFpre9lKucgAKrMSyjac1+T3g7wlr/j3xZpngfwrp7XWp6xfw2en2ydZZpXCIv4kivu7/gqN4r0H9lb9mj4ff8ABOr4b6iGe306LU/GFxCxX7QQxZQwz/y1uPMmIP3fLjxwaiWLxekednx+L4PoYTMMPhoTU5VJXadOCShHWTdl8l3bKv7F/iH9vH9tjVbyXwPpfhHR9A0xlXUfEusaTdC2EhIzDFsc+dMFO4oCAoxuZdy7vdvH37Lv7TV14Svdc/Zt/aF+HHjzUNIR11PSP7Je3fzkUkwxvFdzKJSRgJJsGerCvNtD/tsf8EIH/wCGfTqX2j7VN/wmf2f/AF/lfbW+2Y28+X5fl5x/yy3buN1fO/8AwSE/4WT/AMN2+Ex8PWuxAUuf+EjMCkxf2d5Lb/O5A27/AC8E9JPLxk4FS8TiJXfMTWyPCYuGLxlGFOnHDylFQcE+bkV25Nu65ulh/hj9uv8AaKX4o6d8PPG3hbSLGVteh0/VbG40meC4tyZhHIjK8mUdckYI4I5HavrXxdJu8PTD/aT/ANCFfMn/AAUW8IaL4O/4KoXkOi3c0n9oeItG1C6SWPHlTzCB3VTuO5ejZwMbiuPlyfpzxb/yLMv+8n/oQrweNJyqcBZo2/8AlxV/9NyPmOOMNl1LDYSvhKSpqrT5ml52/K59GfFP4A+J/jj8JPAdl4d1iwtG0zR4mmN474bfbwgbSitn7prnPhh+yJL8HvGVl8Sfif8AEvSLSy0mcTRiGdoxI4BwGkk2hRnGRzu6cZrL/a2vLu0+DPwyNrdSRFtJG4xuVz/o9v6VP8HdZ0/9pz4KX3wM8X3yf8JBo0In0C9uGJZlXhDnvtz5bf7DggEgkfz7i3wti+NpUJYNyx0KVKdJyqtQqVI0oSjBxSXK7LTVqTVna58G/ZOta3vWVtd9BPhx8QdN+KX7cY8WaEQbHyJ4bSQ5BljjtmQPhuRuPOMDg8jOas/E39iH4ieN/iFrXi/TvFWixQalqUtxDFM829VdiQDiMjPPY1wv7IukaloH7TdhomsWb293aC9huYJBhkdYZAQfxFc/8eW8TD40eKPsrX3l/wBuXGzyy+3HmHpivlVm2X4ngmeMzvCSryqY2rJxjN0+Wbpwb+zJ26We3cy54ujeaveT8j3q2+Ha/sm/s6+KLjUdUk1a+1WLy3+zQSCGJ3QxIOOVUbiS525+UcHGeVa+f4cfsHW9z4dmaOfxHetHdzqgVv3kjq44P/POHZn0Pbtq/AQ+NX/Zl8Zn4rm5Oj/YJv7JOseZnb5LZ25+by93l7cd92Oao/DDTW+P37IV78NNLeM6z4dud9pBtVd5DGSP/vsNImeORz3z9c/Z4mjQpZZSdH2uX11QpO/tIz5052bd26kU3F6XSurG2jSUFa8XZHzWrMjB0Ygg5BB6V13xN+N3jr4t6fpOn+Mp7aUaPbmKCaO3AklJwGeRiSSx2rnGF4zjOScrSvhz471rxInhDT/CWoNqTz+V9ka0dXRs4O4EfKB1JOAACTiu0/aO+Bnhv4GnQtJsfFE97ql7YGXU7eRF2RsDjehGCFJ3AKQT8hOew/CsHl/EcMixlejzQwy5I1bvlUnze7GztzNPWyu1uzgjGp7OTW3U8xq94X8P3vi3xNp3hXTpYkuNTvobSB52IRXkcIpYgEgZIzgE47GqNS2V7e6Zew6jp13Lb3FvKskE8EhR43U5VlYcgggEEcgivn6DpRrRdVXjdXS3avql8iFa+pDP4p1qwtX8N211cmyuGWae1S5ZYndchWZOhIycE8jJqbRbSTWXaNAUK+2azb8YvFfzdvydPxNaug+JND0GKTzp6/srw48IuCOJuDcFjsfhXOrOGr9pVX2pbJTSXokj26GBpVMPGbjq/Nm3qOl+ItXt7ZNV8Q3N1HZwCGzS4kZxBGOiICTtUeg4roNL+JnxrES2Nl8X9cSOFQqJ9vk4A6D71eaeKvjB+68jSv8AV1zem/FTVYYpP39fp+G8CeDaDdWhQnBu12q9dN22u1U1t0NFlk09PzZ7J4nvPiX40iS38W/EDUdRjjOUivLp5FU+oBbGfesFvBk0f+uvlX6x/wD164Wy+M2qwy/v569r/ZMl8N/FX436MniLRLe/tXt599vdJuTekbuCV6NyBwQR7V8Lx14VcD5DhaOLngXWnVq06K58RWWtR2Tcuabsu1jnxOB9jZyW+m7MDwv8Vvid4YMfhvRfiHrFrZQuypb2+oSIi9fugHjnnim3un2es3Uup6hczXNzO5eae4uGd5GPUkk5Jq//AMJDoHw9/aB1DXtT8K2+o6fp+v3obSmRBG6b5EVcFSoAyCBjtXrmteD/AIIftI/CPXPiD8N/Bq+H9f0SIy3FvEViQ7ULlWVcRsrKGw+FbcvPAIP5HwHm+UxyrF5fiMHRxtelUqSp0q0nzezhFe7TcqVSOnK7Runu7Lc46a54OO7XRnh//CN6N/d/8imh/Dmjs+1Fx/21Ne2fs6R/Dzwh+zPrXxW8R/DfTdZurDU3ST7VAjvKmYQqhpFYJjzD0ABx681Vg/au+AGqSjT9f/Zs0+GzlO2eWCC2d1X1C+Wuf++hX2MOIvDalgMNWx+V4OhOvBVIxcW/dbaV5Rw7S1Tv29NS+Wiopysr/wBdjw4eGVeUqmoKBnjK/wD16X/hFfm2/wBpJ/3z/wDXr0z9qv4IeFPAWp6J4n+GMLf2R4jgza2iytJtkwpHl7suVZXUgHODnoCAO3bwj8Ff2R/Ben6h8RvCsPibxXqkZb7NLGrJEPl3KFfciKv3d+0sxJxgZC/IQynguObYvD47I6dGlhuV1Krxld00p6w5UoXk5p+6kl2dnoR7KPO1JWS3dz5+/wCER+Td/aaf98f/AF6qano406BZhdrJubGAuMcfWvpDw1N+z1+1tZXng+y8BweE/EUFu0mnXFrEgyuRlh5ewS47owzgkqepHzf4m8P6j4T8Q33hnV4tl1YXTwTr23KxBI9uMj2r5zjShwTgMnjXyvK4unXuqdeGJrSUZRtzKVOcVaSXSWjTunulFWEIRvFXT63ZLpfhz+0rVbn7cseSflKZ6fjVv/hB5dvmf2nHt9dn/wBesGvRf2ZPgzD8ZviKmmaq4XStOjF1qgEm1pUBAEa45+Y8E8YXJznGfK4Zx3B2Z1sNliyH22InyxcvrVWClK2smlFqK3k0tEiafJKajy3+Z514ils/D9z9l+1ee3+yuKxD4yBfamluf+B//Wr6s1L9oD9lfw1rEvgXTvgRZ3mj28xgl1NbWF3kAOC67wXccZDFwSOa4v8Aas+Cfhv4c6lpnjX4ePH/AMI7r8AeziSZn8pwqn5SxJKMpDA5OCWHAxX3WaYbwwweWVsbgcop4pUGlVUMZiE4czsmrwXNC+nMvLS17dsvqcYtqne2/vP/ACPC18Uyt/zCJP8Avv8A+tWFfrqN5qDXk6nc56AcAdhXaV77+zb8Nvhnpfwg1r48/Enw1/bS6dcMtrYmMsqKgXJ2HCuWZxy2QoXPHNdfhdx/kOVcQzlkWSQoTcJOdSeJqSUacPelrKnJpaLSK1dr6K61weMw9Oo/Z0rPvzPb7j5w+H3iy70HU44J5G8uT2ryn/gpJ4iu9C8b/D7xZolyY7qyFxdW0iHlJI5YGU/gQK/QHwV8c/gD8XvFNl8OdV/Z2sbRNVmEEVxbwwlkc9DmNEZR/tA8da/Nb/gqC0Gnftb618GvDOlyCx8L3K2+nJvMkkpuIoptvTJxvVAOSduc5OK/fMv8SKnGc08BSpzw12qlSNSacGlzK8J0oXT0V1LS9+h9zwJz47iSFSCThCM3LXZOLjs7dZI+3P2ovGWl/EfxP4b+I+jYNv4g8FadqKN6iVXYZ98YH4V1n/BLfW/Dnxw/ZG8F6n4mbzr/AOF/inUIYZJOfKKxXCR/gILtR/wEV8s/AT4geMPHHwY8N6X418Ly6XdeF9MXQ4FmjkRriCFmeOUrJyDtk28cfJkYB2ji/wBlr9qT9pr9jL4Q+OfA1h+y9rup6d41lkk0rWr2wvreK0uHiaPzBtjKzKUAIVWjbK53kYA/LfD6vh/9euIp865eem73VrXqa32tqY5Xk8q1XMsLSkueE4cvvJXV6kXq3b4Wct8K/idL8Zf+CrmgfFBp2kTWvi/bz2zMeRB9sVYh+EYQfhXqf/BVr9rL9pr4VftteJfBXw2+PHirQ9ItrHTmt9N0vWZYYY2eziZiEUgDLEk+5r5h+BCfFz4L/GHw18YdM+DWr6rN4b1qDUI7K40q5WOZo3DBSyKCDxkHkZxkEZB+6PE3/BTz4f8AjrV38S+OP+CUtxq+pTIgnvtT06K5mfaoABkksCzAAADPYDpX7dC1WKqU/ei1o1qvvP0nMowoZrRrUaMa1ONJwtzQVndNfE+yL3/BH39o74//ALU8PxA+D/7RGuXni7wfH4eAl1LWVDvA8zNG9s0uMuskRkbDklfK4wCa57/gnnoej/tE/sGfG/8AYr8Jz2qazbanc3ejh7zeboSBDbMzjCsPNtFQuny4ZSRz83M/HT/gpr+0R4k+Gl98Hv2a/wBjuX4a6HqdpJb3k1lokslwqyDEnkiOGKKEsu5S2xm+bKlWAI+YP2e/E37Vn7MPxOsfit8JfBviWz1C0bbPbvo10be+gJBa3uEUDzImwMrkEEBlKsqsKVKo7uxxQyyeKp4msuShKcqcqcOaLSlT6y5dPe8v+H8u1nRdX8O6xdeHte0yezv7G5e3vLO5iKSQSoxV0ZTyrBgQQeQRXvf7Qv8AwT18efs1fsx+D/2gviP40srTUvFV2In8GXFnJHd2ivGZIzu5DNsXMiME8ssq5YkgfVMH/BVSLUby18eeNv8AgmC9940gijZ9eSxw5uEUBXSSSyeWMDAwN7FQAATjNfJX7Wfxn/a9/bL+IC+N/il4B16OC0i8rSdB07RrtbLT0wNxjjfcd7kAu5JZiAOFVVWuWrfVWPbw+bZrjcXTVSMaEI6zbnCTlp8MbbK+t3Z/r4PU+l6hPpOp2+q2oQy206SxiRAy7lYEZByCMjoeK22+EPxZT7/wv8RD66JP/wDEUw/Cj4pKcH4a+IB9dGn/APiavkn2Po3jMG1Z1I/ev8z7s/4LdeF9U+Ivgv4SftUaJZC40jVvDotLy9t9rxwvMiXUALrnIYPNjkj5Djrzxv8AwQs+FWt+J/2qtQ+K39nONJ8J+HpxPfMg2Jc3GIo49x6MY/Objshz15o/seft8/tE/s1fDIfAT4g/szXPj3wOJpWi0vVNLuEmgSRgzQqzRyRtFv3PsaMnc5+YDArof2iv+ClHxw+IXwl1P4Efs9fsgyfDjw5rNq9vqL6fpcrXDRuR5ixCGGKOIOu5GO1iVY4Knmo9lWty8rPglDMqWVyyamoODvFVeeNlBu+sb810na34ny98bLvxf+0l+1R4w1fwD4XvNd1LxF4q1C50/TtBsTcyzx+a7AxpACX/AHY3EqDkAsSeTXnusaNq/h3VrnQfEGlXNjfWU7wXlleQNFLBKpIZHRgCrAggggEEV7p+w/8AtOfFD9hT4uXPxFtPgzLrkOoaY9hqOm31tJbStEWVwYp/LYxHci5+Vgw4IztK8t+1b8ZfiJ+1d8ddY+N3iP4ef2VPqzRpDp9hZOViijQRxqz7QZX2qNzkDJ6BQAo6o4HHPalK3o/8j63D4ydHF/V0oqhGCtPnV21pbl9P+H1svoj/AII1/BTw9a+LfFH7aPxTUQeGfhrpc72lzNGSjXhhLSOOxMUJJx13TIR0r5Z/aM+NviL9oz43eJPjR4nLLca9qTzxwM2fs8AwsMIPcJGqJnvtz3r2I/tO/HKT9heD9i/wn+zpd6bYyaobjVvEun2F0ZNSh8zzhHIhQ/OZAu6TfgoioEUDJ8G/4VT8Uf8Aom2v/wDgnn/+JrB0asZPmi18jjy9U1meIxuJnFSl7kFzJ2px+f2nq16H0b+wZ8eP23/2VPhr4k+O3wl+G1z4i+GFncxx+JbbVGf7DFMWUGaAB1ZZQuFeSNXVVZPNHCY+uP2JP+Ckd/8AtOfH7TfhL8Cv2TNE8H6bdibU/HesQzLKViRD84EMUI3vKY0DvvPz9O4+Q/2Hf2v/ANpv9iy11XwhY/AW98UeFdduVn1PQtT0m5QhwhRmhcIQhddoYMjghF4HWvYviF/wVR+K2meB9Q8G/sq/sLr8O5dWgkS91WDSXaSN2QqJYkgt4VEq5yrvvAI+6azlSqN/CfNZ3go4/F1ksPTlKekaiqKKSta8483vSjrbTseNft2fEBfiL/wVH1bUoJIHi07xppulwtAUIP2ZoYWyV6nerA55HQ4xgfT/AI2vZoraKyTASUkue5xjA/Wvzl034ffGjTNZg8Qaf8P/ABGt7bXK3ENwdGnZllVgwflDk7hnmvqP9mTxr8c/GVnrEnxsbVDJbyQDTv7T0wWx2kPv24Rd3IXPXHFfn/i5isTgfDXHqk3Fy5ItrT3ZVIRkvRptPumeH4g5RD+x6FahVi44eCg1f3ndxjdJX9XqfRnjj4hfFD4o+GNB8Pa/bW72ei2vlaeYIERnXAAZjnrtVV4wMKOM5JyvBd947+HPiqy8Y+HIjDeWUu+IsylWGMMjDPKsCQR6GvC/g5+0p4yvPjd4q+EviSQXdpZXdxJpVyQqNbRxyBPJwqjepDAgk5GD1zx6ZN42vpv9RPXh5N4F5Bn+Fw2cV8fifbyhTlzc8LpqMbWbpt+7ZW1votT8+xuQVsDVjGtLVxjJNPo1ddD060+Lfxbg+MD/ABrXR7BtVckPD9lUQlCmzZgNu+7gbt27A5Y816DN+3F8aYIXuJfh5oYRFLM373gD/tpXgmm+PJ9N4uK3NH+JGlXo+z3HI719dQ8H1lOHq/UM3xUJVJSm7ulJOct5NOld3dr2av3OR4SpTvyyZsfFj9p/4q/F6xfQ9c1GCz0x2Vn07T4diOQcjcxJdhnnBOMgHGQK5TwJ4/8AFnw18RR+KfBmrtZ3kaMm8IrK6HqrKwIYHjgjqARyAa6Q+C/Cepq11YRsNxyQJDj+dQS+B9DXhbZv9Zj/AFjdPzr8Ox/gj4p4zM1j8RjqUq0X7s3Vqcys7q37v3bbpLboedKjiHLmb1O/vP2/vi1caa9pb+HdDt53j2rdRwSko2PvBWcjPscj2NeMeJPEmueL9duvEviXUpLu+vJTJc3EmMu30HAAGAAMAAADgV03/CG6B9m8z7K2fXzW/wAaji8J6AzeW1o2f+urf4105x4N+LnEVKCzHH0qsY7J1J2T72VJK/nuKpGvU+KRx9PCweUSZH39l2DH55/pW54s0LTNKso5bKEqzS4JLk8YPrUnh3w/pl/paXd1a73YsCfMI7+xr87w3hFxNPjGrw3zUXXhS9o25T5FF8qumo83MuZaONt9zJ0ZKfKeZ+PtZm029higk2s0Wc/ia5yHUr+98sTz1q/FBJH1SBUj3D7N0/4EaztNs/Oi6V/ZPg7XcPDfLYw35H/6VI+swP8AuEPQLzyPK4rPhhgh8ytybTcRefWfeQnza/TMRiq1I9KnuZ803ny19J/8E5An/C5NKzITgXm3A6n7Ofy4zXzRP2r6U/4JvI//AAuLS22HGb05x2+zsM/nX5n4pV6s8my1T/6DMN/6Wceb/wACP+JGrovg7QviD+1Jd+DfEs8sdlf+Jr6OZ4JQj/flKgEgjJYAdO9enfF/4j/Df9nLwbrHwG+FPh7UIdWvYwt/qFzkALIgBk3k5dtnACgKNxIOQQfDPiLf3ulfF7XtU026eC4tvEl1LBNG2GjdbhiGB7EEZr274nWFl+1T8B7b4v6Dbovibw1AYtZtUxmWNRukAHpyZU9i68mv5A4dxc/7OzbD5bCKx6lUnGTinOVF+7UhTf2ZRXvK1202lrqvk6T92aj8X6dTR/Zw0/wPqf7Iut2HxD1aaz0aXWJBqFzDw0YzAVwQG/iC9u5+tZ/hr4afsIz63bxRfEi5u2MgC2+oXrxQufRm8pMD/gQqb4GeDPEPjn9jDxB4U8OWPm3uoavILSN3CCTDW5PzMQMfK35YrgtN/Yj+Pt7fR2t5oVlZxO2HuZ9SiZYx6kIWY/gK+jrPN1lWT/VclhjY/V6d5ypznZ80vd5k+VK1n7ye93oaPn5YWhzadj1P9oUa7dftIfDrwtf6PCPD0d7C2nRRMSkriRRJuUABSgCYHIxzn5io8u/bgvb26+Pd3b3TN5dtp9tHbA5wEKbzj/gTN0rr/wBsbxpY+D7vwT4H0HWTdap4VjS4nm837rKsYj3gchzs3dcgH/aBrX+M3wutP2sfDGl/GP4OXdtLqMduLbUrCaXy2JHOwlgAJELEc4DKQQcAZ14sw1XP3nOV4GXtMTGrRrciacpRVLlnTjb4vZSey7JfFu6ydTnhHe6f4fofMelavqug6hFq2h6ncWd3Ccw3NrM0ckZxjKspBHBPSoZJJJpGmmkLOxJZmOSSe5r6N+Dn7LNr8MHvPil+0fFpsGl6XATFp07rcI7HjfIqgqw5wqDcWY9BgA/P/iq+0fUvEt/qHh7S1srCa8keztFYnyoix2rkkngY71+O51wxmuQZXQq5g/ZyquTVGV1NJWXPKP2VJqyvZu3Vbcc6U6cU5deh9J6t4J/ZQ+EXw38L658QPh9e3kuuackonjnkkkZ/LR23YkRR98YwAOOlJ4Cuf2RviRqx8FfDmTxB4T1O/XZDPZ301s1wQCdmfMdG78MOe3Jro/iX8I/CHxT+EvgS18VfEy08PJY6PEYJbjZi43QQg48x06bR+fasTw5+zp8Fv2dtRsPi54/+KL3dvbyrJpf+i7Y5JSpKsBGXaTj5htx0zyK/fa+VZrhM5pqhgMHHARjSc6klShKMXCPtJOSkpxd3Kzt23R3uE1PSK5dOx5v8O/gFpVj+1CPg58Q4Jb6zhaZ1aNzCLlFiMkbHHOCAMgEYORnjn0Hx18QP2PtA1a4+HnirwVr10NEumt1tjdTyQRMnynyw1xgDsMAcVgfBz4jx/Fr9tNPG8EJgt54rlLOKRAH8pLZkXdjPzEDJ546Z4FbvxJ/Zc+Fninx/rHiLVP2g9N0+5vtRlmnsZPI3QMzElDmYHI6cgV89k2BnDhzE1eHMNQrJ4urBOsqbvRUYuCvUcbq+trt9bGcI/u26aT1e/b5mH4z+BHwR+KHww1L4qfs93d5BPpal7rR5SzDCrudNr5dW2/MCGZTtIA5yOf8A2XfhN4h+IVjqWsa1481HRPB+nl/7UFnqLwi4fy8sP7gULgux7YA65X1zV/AOhfs4fs1eI7n4cmbXZdUt8Xep7o3XY48vzMA48tAzEAbjlueMkcVr92fCn7A+lR6IXi/tq/8ALvW38tumlZu3Q+Uox6cc99Mfw9lmAzmnjcbh406tHCTxFalSvGlOSlywSa0tK651F8ultU3dypxjNSkrNK7S2LuheLv2H5NfHh/w7Zavo1xMxt7fxBb3V1AFJ+UOJPNLLn1dcc/MAM141+1D+zPpvww+J51rxBptlrR1R/tOn67f2qS3cmzAAlkZcmRMKMg4xtIx90cZW54r+JXjrxxp2naT4s8S3N7baVbiGwhlIxEo47Abmxgbmy2ABnAFfnOP41w2bZLVw9bDRoVk06csPH2cbN+/GpFStJW+F2bT30MVipRg+X3X/d0+TMOtC78QeKvEMFrol9rmoX0UJVLK0muXkWM42hUUkgdgAPpWfXT/AAV0i3174ueGtIuwxin1q3EgVc5AkBPHpxz6CvisvpVsVi4YWnJr2sox3sndpK/z7nNFNuy6ntdr8IvgH+zx4Q0vUvj1Jf32uanCXfSrS4crEeMhVjZfuhlUszEEg7aqeOvg58MPib8Lr34q/s5alqSTaY5a+0aa6c7UVdzgK5LBwpDDDFWCkDJrmv25tSub347zWkxbZZ6ZbxQhhgYILnHry5roP2A5Wv8AX/FPhW4VmtL7R0aYbcrkOU598SN+tfvOHzXCYji2fBtHDxhhlz0YTjdVozjF2qc99W5rVWtZ7aa9ycXW9ilpt5ngp1XVD11K4/7/ADf410nwc0N/HvxR0Pwhqt9dm1vr9I7kQ3BVvL6tg844BrmtUtFsNTuLFSxEM7xguu08MRyOx46V2P7OfjHwn4B+MGk+LPGlxNDY2jSbpYYTJsZo2QMQOdo3ZOATxwDX5FkWZY2Wf4ali8TKNP2kFNym1FR5lzXd7Wte5xwd6iTelz2zx/rf7Gnw28W3fgrX/h/qsl5YlVma2nndMlQwwxuATwR2rxz44+MPg9repWcnwU0LVtLiSEi9N1dtskbPG1C7kEDqdwB/u8ZPq/iz9rf9nybxNdeR8D7fWYJ5ibnVbq0gWS47FgroWIwBjcQccYFc58fPhB8LtZ+Ftp+0D8FY2s9OldY9Q0sqxCMzld3LHy2VsKVHynIIx/F+ucW5lj86wGMjk2Mw1SFK85RpU3CrGnGW8ZtJTUVbncXqtr3sddZ88ZcjTt2Wtib4U/A3wDo3wyi+NX7Qniu6i026ZTpun210/wC9U5AD7RvZmxkKhGFGSeoXZh+Ef7OX7ROj3w+BmqXmj69Z2+9LC9mlEbc4BdX3kqem5G+UsCQeAbvjrwtqn7R37MPha8+Gq2tzfaEsaXmkW0yqVZYvLZQCQFYYDBTjKtxnIzX/AGMfgL8SfCHjufx74y0GfSrSOwkgghujtlnd2X+DOQoCk5YckjGeo9jAwx6zXA5NhsF7bBV6cHKv77m+aN5TVZP3OR6KPTb7StcY+9GCjeLW/wDwT5wuhfaVqEtjfOwktpWjlTfkBlJBH5iuV+JHxC/4RXQZJ4J/3kteo/Hm1trX42+KbW3slt411i5xEucdSc8nv19OeOMCvl74nalPrGvf2UZ/3f8Azxr+gPopZbWxeWY+jjajqQpYqpC8m38MKff7zuyjDe1m/J2PM9Y8eX2paz599P8A8tq0PEmsW82i2/kf6ysP4habBoMsnkVh2evf2lFHBX+jOBo0KmDpqn/DPqfZfuvZn1x+yj48t9S8OSaHqt9+8i/5616pNnzf3H+rzXyX8OLPxHpttHquh+ZXomhfHjVdHuo9K1yD/ltX4pxbwvRx+YVK+DPn8dgf+XlM9ohm/e1YmmrP0e8g1KwjvoB+7lqx/wAsq/JqtKtQrezqUzxixNefY4qwtX1M6hcCLtEOPx//AFUusan5MUkArI0+XzLq4T+6V/rX414++0/4hnjr96X/AKepnTOPNgJy9PzR81fDZ/L/AGvPFzf9NL//ANHpXvGm/wCq8/rXg/wz/wCTwvFf/Xe+/wDRy19Gf2P5OjdK+14MrU4cH4SL/wCfcP8A0iJ+jcQ+z9vQ5v8An1T/APSTl/FXir7HLWXpvjD97xPWH8SIL6zlkxXH6Pr081/H59fT4LEL2R83/FPqD4YfEL7HLHBPP+7r1CHyNTsPt1iK+Z9B1IQ2sdesfBnx553/ABI76f8A1tdGJwSxVH2lM4sbhvZI7TyPej/W1Y16y8mWqcHevFpnimH48/48ov8Art/Q1Y8Hrv0aJf8Aab/0I1D49dH0+Fo48Dz+v4Grfgn/AJAUf+83/oVfieXf8pDYz/sEX50jBfx36HkvjGx+16xbn0h/qau6D4V8mL9/BWkunG91aJh2TH6muis9N8mKPmvqfCZc/hvlq/uP/wBKkezh6vssFD0ObvPDcFYHiTQfJP8AqK9H8mD95XP+JLOD7LJ+4r7qp7b2x0YbEnk81nXpuh61eeDdGtNe0KeW1uLSGOSGW0lMUiPgfMrLyDk5z1rkrzR83UnkV1FzHjw2sXpboP5V+E+NNKnj8xyHB1runUxUYySbV03BPVNNOzdmrNX0aMs1kqsqUXs5f5GlZvLqskcsjnfcYZmY5OTycnvXSaZo2v2Vhdafpvia4t7e+RVvbeF2VLhVOVDqDhgDyAc4Nc3oa5ktV/3P5V1XiTxtpXhWw/137yvkvCHw14T4pwGNr46g5Tp4ipTi1UqRtBRjp7slf4ndvV31PJw2DVaEmls2i/4ZvPHvgOGW18KfEy/0uKZg00VlM6K7dMkBsE471Z1H4nfFS5ifTrz47au6yLh4zfSjI9OGrw/xV8Ttc1KX/R5/LjrLs/El9efvzP8AvK/fML4H8EQoqlTp1IwXRYiul9yqWPXp5RFq2v3s9fHgz7Uxki1tZCxyxMZyT+dX/D8Pi/wNqDah4U8Z3emzumx5rGV42ZfQ7SMj2Nea+FfHl9psuPPr0jw34qsfElr/AK/95Xlf8QC8PcHVVSnhJRktU1WrJr0aqXOTEZU6DukWPE93498dGL/hL/Ht9qYgz5IvZ3kEeeuAWwM1zWuaG2itGrXIk8wE8LjGMf412Pk/va5zxupWW2H+w38xX5d4veGnBeRcG4rNMJQksRF00pyq1ZvWcYu/PNp+62tb26HmVqcVBvqe0ftff8kY+GP/AGCR/wCk1vS/s1eKtF+M/wANtR/Zl8fXQ83yGm8O3TqC0e3LbVJ/iQ/MB3QuvAFeL+LfHvj3xV4a0628V+JLm+sNJhMWnwSuD5S9PQbj2ySTgAZwAK5jQ/iWfC2uW2uaJfXNpe2cyy21xGoBRh0PXn6dCODX5xQw/F+YcURzzBZXWqYSvSpwnBx0qUnShCS0dtbc0HfezfVG0KWJqVPaQg3FpfNWPcP2XPCmt+Bv2rLTwl4itDDe2AvIp0PQkW74YHupGCD3BBrP+NvwV+LmtfF7xJq+kfDbWrm1udZuJLe4h0+RkkQuSGBA5BrzyD9o/wAawfED/hZsfjC8OuOTm9ZFOVIxsKY27McbMbR2HFeh6N+2p8etcx9k8eaehboJdMhH/shr0cFwDmGI4clleMyzGxpxxE6sHClBvllGMYqV5pcyS1tpfYbwlSNPknCS1vsen/Bbwb4s+D37NvjW8+K0L2Fne2khstOugrshaEx7ihOAXZkXacH5ecZrL+BL6b8e/wBm7VPgPeaxHFrWmO0ulLPMMlA3mRsB1KhyyNgHaGHqBXmfjzXvjV8VSD4z8a/bYVcMloJvLgVhkBhGihc8kZxnnrWBpvhzx14MvF8S6Jq7WFzakmO5tLpkkTIwcEDPIJB9QcVvLL+LMFjMNhsLk2IngqVGdCaqJe0qQqO8nppFp2cEr2ta/aV7RSUYwbSVvU2tK/Zc+Oup+JE8NSfD2+tWafy5Ly5QLbxgHlzL91lA5+UnPbJ4rW/ak+HHwp+FWpaN4O8CXMk2q29j/wAT6Q3e9S/G1mXny3bk7QQAu3jnJy739t348Xkb+HZPGzK0q+UZoNPgST0yHCgqfcYPpXgXjH9p7wZpPxbl+GviRtXuddn1KKCe5aISLJNNtIZnZ9xzvGSRnr1rwM24AxeByiphspyfEzqVXG9SvCCdOKd+Wmot6y2lLTTRI6KGU43FqUMLRlNpXemyXU7qtDwlrj+GfFWm+I42YGwv4bgFBk/I4bj8qrahYT6bcfZrnbuxn5TmrFvpdvLGjtI4LKCcYr4fhrgHi3PM8q4DBUuXEYe0pRnJRcWml163PIUZKXofQn7Wnwf8RfFTU9K+Mnwo02TW7DUtMjSYWKbpBgko+37xBVsEAZUoc4qz8AfBGq/s5/CnxV8VfiZA2lXN3ZiDTrWZQZuAdnyg8F5GUBTgjYScDmvJPh/8Zfip8MbQad4P8b3UNoudllMqTQpkknajghckknGMk1X8e/Ef4hfFWRT458Y3l5FG++K1yqQowBAYRqAoOCRnGeetf0gvDDPlmtTiHD4GSx84v3HVpexjUlHllNO/O1q2otbvdaW7rxU/aJe9+Fxvwg+AfxA+OM96/hMWkUVkAbi71CZkj3t0QbVYljgnpgY5IyM6fwU+BumeNfi9d/Cn4kard6Pd2sM4EFuqF5J0/gDHIwBl+AdwU4IyDWH4L+IvjX4TXk1x4A8WXNg95GEuQqI6OB0JV1K5GThsZGTg8muXvfEeuR+IDrsOq3Dag1x54vvPYTebndv3g53Z5znOa+NwXgNxFhaGCqywCqVoTbrRlWgqc4X0UbPmTt30vvzJ6TDDaR0166ne+Jf2W/jf4f8AEk3h+DwFf36LMVgvrOHfDMucK+4HC5HOGII716t420qb4AfseN8OvFN5bjXNeuSxsPtO5o90is+3afmCKigkfLubvnnx/Tf21v2i9E01dKl8bq4Rdqy3NlFLJj3dlJJ9ySa8+8bfFrxj40vD4g8TazPql2V2iW8mZtq5J2qM4Vck8DA5r6qj4HZ/kuFxVTIsJOVavTlT/e1aKjTjO3NblbcpW0Tdu7O6OW1opunHV6ataHuPwq+E/wAbNE+FsPxl+CnjiWW5uLord6HpoJbYhK5dW+WRwc/IVOAwIJzivWPgdq/x4W71P4q/tFa5daZo2l6a4gsrqFYFZsgtKYkAJ2quBuGSX+Wvjn4eftOfGD4YTMngPXzZK7l5bQ5eF2wBuMb5XOABnGeOtbfjf9qT4yfFPSzaeNfFbzWrY3WNughhfBBG5EADYIBGc4Ir0Mi8J+L+H8LRqUaFVVqcV+5WJh9XnVS/iS9/mSb95xSte1tDSnlmLpxTUXftfS5jfGHxdLfNr/jTzG3XV1Lc7nGD88meeuOtfMWkeKoLzxbJfX1epfGDxtqF34QvNHgjgCXChXfB3AAg8c+1eC6DD51/9nn/ANZX9U/Rb8OeIuCOCcfR4hpJVauIlVXLJS9106avdf3ovQ9vJsFXw1GSq7t3/BEnxavINS1mTyBXDwwzw3UfFd5r2gwTXX/XWsO80H7HdZnNf1dlWMo0lTpQPX9meifBn4kf2PHJYz/6uq/jbxtBea1+4rj9H0yeH9/Y1TvZp/t+aKeGy54uojP2Z9OfA34zQeVb+HL6evYLy8g8rz4P+WtfCej6lquhXUc/7yPyq+qPhL48/wCEq8JR8eZJFDX5Vx9wnRwj+uYeofP47C+yftDoNYm86WSs/QJvOvbxvdP61JrE0/7yeqfhB99xen/aT/2av4z8ff8Ak2+O9aX/AKepnLioWy6b9PzR4b8C7L7f+2v4pt9uf3l+cf8AbZK+vpvDcEOl8f8APGvlP9mCF5/27PFMadSNR/8AR8dfVHxa8YQeD9L8j/lp5NfT8KKtU4ZwdOH/AD7h/wCkRPr+Jo8+Mw6/6c0//ST5z+PF59jv5IIJ/wB3XnfgnTf7S1nzwP3ddJ48mvvEmqSXH/LOrngnQYLP9/mvpv31JHmUqVjqLMeTFHAK0PDepT6PrVvfQf8ALKqkP+p/Ckg717mS4n2S9mztq0vbUT6U0HXoPGGjRzQf6zyaJv3P+uryv4Y+MP7B1m3M837uvXNS8ieL7dAP3ctcuNw3sq16Z8njaXsaxy/j3/kFw/8AXwP/AEE1b8Fw+b4eh/3n/wDQjVLx3/yDov8Ar4/oau+C/wDkXof95/8A0I1/P+Vf8pB4z/sEX50jy1/Hfocfp+PtS461vQ/6n8K5/TJ0i1DD9Cg/ma24dS/dR19j4RK3hvlq7wf/AKVI7qcL4WDLEMP72sfxIPJtZK1f7Rt/U1zXirWIJoq+5xHtjbDUjnz5HmyZrXmQSaYE9Y1/pWJCefP/AOetdAn/AB7J/urX4d4wwtm/Dk++Lj/6VTHjf4lH/Ev0GXN7/Zdgb2X/AJZKCf5VwWveJL7XrqSeeeut8Yv5/hC5f+/Ep/NhXDw/6n8K9j6OsqUOH8zv8f1upb/wCmduSUqc6U2/5n+gn7ib/X0WcMEX7iCrENmJvLqxDo8/7v8A0ev3X2zPa9rRQWn8H4V0HhXXp9Hv4/8Ann61h/Y54f8AX1LZ/wCtP1rT61SZzVf3x7no+pQalYR3EFYfj5Nlxbe8bfzFYfw38YCG6j0qet/4itvuraXH3kY/qK/DvH6FvDnFv+9S/wDTkD5THU+VMxPF+owab8PreXH7wyP/AOhGvK5rzzpZJ66j4l65I1na6Mv3Y1LH8STXJww19Z4d078A5Y/+nFL/ANIifRZXTvg4vyRJ50/lVoaPrE9nLmCsyH/U/hT4fPr7vDY2rhavs2d1WkeieG/idfabLH588stdJ4l+M1jqWl/YYIP3leRwzT9Kj86eGWvSqUsHVpe0OZYE6DQZvO8UR3Hkfu/Or5v+NM/nftzNP6+KdMP6W9fRHhW8/wBPt/P/AOe1fOfxjJf9t4+/ijTP5W9fP5vGnHllH+ZH1nB0OXMMT/15l+cT7I8SS+bqIf8A6Zj+tW7GfyreI/8ATMfyqjr0Xk32z/YH9an0262SxqOyD+VfgHhl+98auIZev/pcT8goU/a1Gi55P/Lf9ajmm8mLzxWX4w1iezl/ceZWfeeJfPtfIr+pKWCq1T06WCNC88ibUI/39WJtHh+y+fXHzalffav9fWxN42/0DyMf6qs8Rgnc7qWGM/Wf9bJ9KxxN5PmefVyHUvtlZ+szeTa+RXrUqVal+7Pawq0M/wD5ev8ArrUk155P7icUWfkQxefVfXpvtnMBrtpU/ZVv3h00jzv45a9PZ2EdvB/y1ry/R9S/0/z8V7J8TvCs/iTS4+f9VXi+vab/AGDL1lr9s4SzLLsVhPq5uXNY8U4lqvqXiT+0rWOD/nlXPzXv2yIz1Th1jyR1r7b6jQ/5dk+0PUPB95BDFWHr2pfY9Uk/cVT8H6lfTXXnirHiSzn1i68iCCvIq4Ojl+K9pUM6hch8SQeJPLsYIP3lfSnwB0CfR9Gj8+vJ/gz8H7ezit9V1WDy6+gPDfkaaY7GGD93X5Xx1ndLMF9Xw55mN/ekmvw+dFJxVDwamz7T/vL/AFro7yzgmMhgFZGj27291cq/fZ/Wv4v8eJyfhpjlLe9L/wBPUzysT/yKpfL80eC/s/65/wAI9+234r1X/nmdQ/8AR6V6z8TvFU/iq/8APnnlrwjwNdiy/a08XzH/AJ63w/8AI6V6nNN58tfX8KTlHhXB8u/s4f8ApET77PYc1eg/+nVP/wBJKf8AZv73/UVqabZ+TF1qOyME0tbEMMHlV7VSpWPHKc3/ADwxUcHerF5++lxUcMPm120sTakbe0LFneeRf/aP+eVfQHgPWIPEng2P/npFDXzvCfJusV658B9Y/wCPjSs162tbCHiZlS/5eGp4/H/EtiP/AE8f0NW/Bf8AyL0P+8//AKEai+JabLCEf9N//ZTUvgr/AJAUP+83/oRr+c8FD/joPGL/AKhF+dI+YX+9s4JU1JtSLWOnzTAQjcYoy2OT6VbC6xboZJ9LuEUdWeFgB+lfTP7OfjW7+Gf7JGv/ABA0bS7SW8sdXfaJosCUZgUByuGbG9sZPH0rCs/+CgfjWW4WLxB8PtGubJji4ghaRWde4BZmH5g18xw14lYLg3hDLMvxleEJSoqcf3NSXuylK13Gouqd7R+R1U8XGjQhCT6dj59vtUuf+WcDt9FrGudK8SajKJo9BvGQyZDrbMQR69K+lv2tfht4N0DWPCvxK8E6HBp9rr4Q3GnrahE3gI6sY8bVJVsMvAJXODljXpP7S/7S/in4D+KdN8LeFvDel3FtcaWJv9KRwUIdkCqEYADCjtX01PxWzfLZ4+ObxpU4YV0lzRjUqc6qpuDS54taJX338i1jJRcudJWt36nw++j6rCoju9OniYjIEkRU/rWndLKdOZYkJfyxhcc19Z/CD9oLR/2m/EEnwt+K/wAMtMnFxayyWtxBGzKm1eR82WjOM4dWBBwOpzXnPwk/Zs0/xX+0DrXgHXLmSTRvDdzK15JG2xp1V8RxkkZG7uQOitgjINfAcZ8UZxxtislxeVKnWpwxHuNRnB+0jyycakZOVo8qvzRb0v5Xyr4ipiJU5Rs7PTffzPCdU0XV9R8GvbWWmzyv9nRdscRPI25HFchZeH9c6S6TcLj1iNfaPiz9uCHwTr0vhP4R+ANHTQtPkMMDsrIs2Cdzose1UUnOOpPU9cCj8dNL+Ffxm+DKftCeDbW10fV7e4WDVtOWWNPOkZvmVhgeZIM71YYLJnIJAC1wnxmuC8szChkOJpYurGc69SEoTpq1oqfspczU1G19k2tUXhsbLC05RptSd7vdfcfLPh/wk8ksZvFMQHXfxXUQ6BpEUeBNF9N4qKivKl9JTiGW+BpffP8AzMqmb1qkublRm694ZjY4sZA/ptOaxJdA1uynAn0i5TIyA8LDj8a+vvhbY+Cf2cf2f4Pjfr/h+21jXtcmT+yop4h+5zu2KrMCU+UO7MAM8L2BrU+Fv7RHh79pjXJPhP8AF3wBpinULaUaddW6lijhCSBvyUfbuIcEYIxjmv03BeK+YyeGw+MlQpYzERjKnScaso2n8CnUUrRc9LKztdX3O2lmVSKSdrvpqfHPh631HT9SguZLGUBepKHiu48VanDqYtpIpVYqjBgD05qT4keDJvh5481XwTPdic6bePCs4Qr5ijlWwemQQcfqetYlfi/iB41cQcWZRiMix2Dp0rySk4uTacJp21bW8bHm4zMKmJTjKKRyfizw54o1TW5LjT9AvLi3KIFlhtmZTxzyB61Rk8HeLIUMkvhq+VQOWa1YAfpX0p8Kf2vvHHwl8E23gbRPDWlXNvbSSOk10Jd5LuXOdrgdT6V7n4c/aH8UXn7PWq/GT4g6BpttG++HSLKGN9t0fuDeHc5DPkYH8Kk8iv1TgDxVwkeH8Pl1CtFTw+HTnzUZ2jGnBKTcvaJO210ldvRHpYTNXCgqatouz6fM/PGLw5rS9dLn/wC/Zq7Z+GNe8k3H9j3PlqeZPJbA/HFfRv7Jvwr0j4tfE+bU/FSQnTtHj+3Xdp5IEc7lvkjIACqmckjoQu3GCcdxqP7cyaRrr6N4a+F+nnwpBcGBECFHlhBxuUABEyOQhBx0J70ZX40ZhiMohmWbexw1OrKUafuVKkpctuaTUZLljFuzd279Nr3DOqzhzTSSfr/mfIP9gXQ8z/QZeenyGqGpw+RxXvP7Rms/CXxD8RG1v4PwmKwuLWNrqJLLyIlnx82xDjAxjPAG4MRkHNeJ6rDPMpxD3PNfe+GviFmXGeaZjg68aXLhnBRnSk5RmpOeqbb091Wt3Z24DMamKnOMkvdtt8ylZzTwy+fb189fEa4e8/bKt7g/efxJpZ/S3r6Fhh/e186eLR5/7Ylkv97xRpg5+sAr9RzP2f1aFv5l+TPvOEYWxmI/69S/OJ9s+KG3amH9Ygf51W0q8tzq0dlP/cFXPGMTxayUfr5Y/maqyafBGkWoD/WbBX4D4ZVvZeNXEL73/wDS4n5Fg5eyxEomr4p03SptL88jzZK87mh/0/mti716+8ryK4P4zeNv+EV0WO4sf9ZLX9XZLgsXi8ZToUz6HDUzc13UtK02Xz57iuL/AOF2eHPtX2H/ALZ15nrHjbXPElr/AK+uLmmnhv6/b8o4Ly63+0fxD0fZn1B4b8SaVrEv+g1Hr15B9q8gV4/4D8VT2cUfk1H42+IWq2d/H+/rmq8H0auY+zpnTSPXNTh8m1xBUem/9PH6V5v8N/i1falqkdjfT/62vTNShghijnIr5PPsl/sXGezxAiSaax/eef8A8ta8/wDir8N4dYtZJ7Gus1iHzpv9HuK0PJg+yeRSw1X+z6v1jDjqVD530f4YX03mQXEFXIf2e9VvJfPgr6As/DcEVt5/k1o+GtFtotchtrqHAcN8mSM4UmubiTxLzLJsixWZNN08PTnUko25nGEXJpXaV7LS7S80c1WpGjSlN7JXPGtH+Buq6Ppck4rQ8E+BNKmv/wDia/6yKv0Rb9lH9k7wh4B0HX/in4y1e1k1uxSeOQSlFkYorkBUjcrgOOrH61iWX7DP7DHxTujo/wALPiFdLrG0tEl1dSSbwBk4jYRlsAE/KeBya/LsL9IPK61N4fMIVJVppNU1PDe095Jpcsq8dWnp0fc8/wDtWhtZ37aX/M+XfJsfsEek2M/leVWpZzTw2sdepfDL9jrwXfftBr8GPG9lLZvayTCeWwncmQJGZAUZzwGXBDFScEcenq2p/AT9g7whqV34X1T4i6vbXNrO0N3bvcyNsdTggnyCOvoa+cw/jxwVmeAq4iFCvQSqSpv2zw9P34pOUda+6vqS81wtSN+Vrprb/M+d/Dc39pX9XdX0z+zr9j/z0AP5V7L4+/ZQ8D6Z4Du/i/8AADx2NW06yzLdWsu15EUcuQ6gYZQQSjKDtyc9AfGr651K+jju71mdMskblQASACRx6ZH5iv578cfE7Kc3yKtlEMLVhOsoShN+ylTlFVIvmUoVJ3T5Wlpe9r2ueRmGMhUpuCi1f07+p8keFV3ftX+LV9bi+/8ARy16l53lV9WfDD9jv9gnxa1pri+Kp9P8d67Zg30rXz7PtcgDMu11CHL4G0MCegOa4j4y/s0L8FfF7+GvEGkRyxSAyaffxswS6izjcBuO054KnkH1BBP1OC8V8l4Y4RwtWvhqlWlGMIynSdKajLlXuztVTi35pdt9D6vMeJ8FiHSqRhK0YQi9t4qz6ni2jnzpa2IZv3VdJH4M8Mxf6vSlH/bRv8anTw5oqH5LAf8AfTf4148fpIcFxndYXEf+A0//AJaeRPiHCS2jL8P8zjJoe/8A02rQi00QxefX1B4Y/Y3+DHg7wbp/jP8AaJ8ZS6NJqUe6HSoj5ckeeQpyHZ2ClSwCjaTgmq3xY/ZQ8Cp8OJvip8EfFz6/o9q+bu0YB5IYwPnfcuDlcqSpUEKSxPFfY1vEfCUMLLFSwdW8Ye0lT5qPtowtfmdP2vMlbW266op5rSUb8r720v8AmfLMP/H3Xd/Bj9z4jk/55y1VXw1oanK6eoP+8f8AGu3+BejfCv8A4TaJPiV4jvdG05YWKXFjFuJkx8qscMVHuFb046jxcq+khwbiKsMHHD1oubSvL2UYq/WUnVsl5nNXznDYiPJGLXrb/Ms/EsBrGGX1n/8AZTUvgv8A5F6H/ef/ANCNdJ+0FafAWDwxZv8ACn4hX+sXxvwLiC6J2pFsb5h+5TndtHU9elT2XgDwpov7LVt8WZPFV/Z6vNeyQWlqEjkhncTMuwKVyPlUsW3cYPB6V8XR43y6j4vY/PIrnpQwmvJKnLSLp3s+dQb0tbmvfQ8TT27fZHoP7OF/4G039kXW774iaVNeaLHrEn9o20RJaQZgC4wVPUr37H6Vs/DDw7+yl470HUfGvw1+Exv7vRAXbSbkO00jbSy4jeRkbdggZ7qa4H4fanpcX7DHiuwl1S2WdtWwIWuFDks0BUYznJCOQOp2nHSvMvgV8WtR+DXxDtPFlsGktG/c6nbKf9dbsRuH+8OGX3Uds18RT4sy/JXkmHxtClUoSw0OacqcZ1KbcppSjJp6QaUnGzvr1ZftYw5FJK1jW+M/x31b46ePdN1O/wBJFhYWEixWenpNvZAXBdmYgZY4HYAAAYOCT9CftLeJ/wBm7Q/Flhb/ABo8F3upX76cGtZbZWIWHzHG04lTnduPTv1rxr9qX4e+FPD/AMSNK8d+CNZsJNM8UlL2OCK5VfKYsN0mCeI3J3BjwDvHGBXr37TH7NHiv47+KdN8UeFvEWl29vb6WIP9KeTLnezhlKKwIww7115TQ4sjDPqbpwxmL9pQfvRhOM4+/aai7RtycrivsqyshwVW1TS7ui1+z54y/Zu1q9vtH+B2iw6Nrclo5X+0LJmkdRjncXJdA20lA4JxnjGRyP7NVj4o03RPi3Za4Q2vRmQTvhfMefy7jLc87S3Izxzx3qz8If2eNF/Zo8RN8VPi38SdKh+yW0q2cELlQxZSGOXwztt3AIqkkn2xXnfwi/aQ0zwj+0DrXj3WLSSLRvEl1KLyOJNzQq0m6OQgnJ2/xAdmbAPAr0JZxPKp5Q8/hDC1ozrQcKdoxjTqU+RVJQi2otSe+ml33tXPyuHtNHr+J41RX0h4s/Yfj8a69L4s+EXj7R30LUJWmgRnZ1hyxyiNGGV1BzjoR0PTJpfHTU/hV8GPgyv7Png25tdZ1e5uFn1bUVijfypFb5mY5PlycbFUZKpnJyQW/KMV4c5xlWHxOKzSUaNGnFuE7xkqsvsRppSu+fe/2Vq10OR4acE3LRL8T58ooor89Oc+if2sfL/4Z++G/wDZfl/Yvscf+q3bd32aPGM/8D68/rXlv7N32r/he3hb7H9/+1o89fuc7un+zn+tetfC298E/tHfs/QfBHX/ABBbaPruhzp/Zcs8oPnY3bGVSQX+UujKCcYDdwK0/hZ+ztoH7NGuSfFj4vePtMJ0+2lOnWtuxBdyhBI37S77dwCAHJbOeK/ecVw/j+JeJ8BxBhHH6o40JTnzRUaXslFVIyTaaceV201urHe6cqlWNRbafKx5b+2X9h/4aD1n7D5efKtvP2Z/1nkpnOe/Tpx075ry2vQ9Ch0n9or9oJ5vFOspodrruovKzGTLKuPkhVm43kAKCeM9AeFLP2kPhP4X+DvxA/4Rbwp4nfUYGtUlkjnZWmtXJI8uQoACSAGHAOGHHQn854hwGLzipjuI6Cj9WliJpPmSd5NyXuv3tmun5O3NUjKfNUW1zjvDGkW+v+IrLRbzVYLGG5uUjmvLqQJHAhPzOxPGAMn3r1v9rX4o+FdXh0P4TfDXU4LjQNBs0JltZQ8csu3aoyOG2p39Xb0rkPBXwWtvFHwr1r4qan47sdPt9HcoLIoJJpn25QYDjZuY7Vz1wT0FcJXPHGZpkPD88I6Sisaoy57pydOMn7qSfuxclrdJytbYV5U6drfF+R9C/sQeOfhz4L0nxP8A8Jz4i03T2umt1jF9cBWnjCyblCk/MBkdB3qx/wANz6D/AGx/wjf/AAqLT/8AhEt3k/ZPl8zys437Nvl/d58vHtu714X4D8P+HvFHiW30HxL4sXRILltiajNbeZFG56eZ867F/wBrnHGcDJHsf/DCl55H9uf8Ll0H+xfJ8z+1Nh2/X72zb77/AMK+74Zz3xDxnDuHwWQUoKnh3JSadJylzS5rTU3dQ1etlF9W7HRSqYh00qa0Xocf+074c+EuleL7fXfg/wCILK6sNViaa4srKdGSzlBGVVV5RSCCFI4IYDjAHkd54cdTuFwj5/usDXU+PNA8O+F/EtxoXhrxYutwWzbH1CK28uKRx18v523r/tcZ5xkYJjvvDS2Slv7QDYGeI8f1r3vDviHjXB59mlbh/LKdRzcPaQjOKhBrntyvnSak+Z6NpdNLG+DxGIpVZulBO9rnDT6FdQy5igdvoua+ffEnwt+Ic37V1p4ntvBWqPpkfiXT5Wv1s3MQjRodz7sYwMHJ9q+oLu9S1l8vbu984ryrWf2rLHR/jFF8Im8FSySS6pbWYvhfAAGbZhtmztv6Z5xX61X4q8bZ048+RU7XX/L2O/8A4NPs+HcdxHQr1XhMMptwad5JWjdXe620PdfHd1ZXmtiawuElTyFG6NsjOTTb2KaPS7dwODCp/Sm+KfC0nhiWGOS8E3nBiCE24xj3963k077Z4dtMf8+6fyrxvCSedUvFbOp5vQVHESgpTgmpKLlKMkk02no092fD0Ob603JWZwepfYfN5/WvJ/j9pvnWEd9/zyr0zxVZz2d/59cn4ws/7YiksZ/9XX9q5HiqWErU8QfWYU8b0GzsYYpJ5x/qq5PWNNgvNUkng/1dd54q0GfQYpLc1xc032OKSv3XI8dRzDnr0ztLmmzWOg2sfn1J4khsfFVh9ot65+81P7ZF5FU4dYvrMeRBX0iwdKq/aAdB8MdBn/4SOPivfP7N861jg/6Y15f8AYf7Y8Sf6d/y1r2zUoYLOXyM1+VeI2M/2unTIqfujk5tNuPtVXNNs5/7Zjg/5Z1qQwwXl1J5H/PGtCa80PQLXz55/wB5n/VV8ZSqYzF/u6ZlUqEl5D9jsPP8iuQ8OeNbfUfjJZ6HBLnckxx9I2NafiTxJfazpckFjB5Ufk15P8E4tRX9oixa7348q4+9/wBcXrxuNMtw9Pwp4hlV+JYLEtevsZmOKqXwVRf3X+R+rHxT+APif44/CTwHZeHdYsLRtM0eJpjeO+G328IG0orZ+6a5z4YfsiS/B7xlZfEn4n/EvSLSy0mcTRiGdoxI4BwGkk2hRnGRzu6cZrL/AGtry7tPgz8Mja3UkRbSRuMblc/6Pb+lT/B3WdP/AGnPgpffAzxffJ/wkGjQifQL24YlmVeEOe+3Plt/sOCASCR/AeLfC2L42lQlg3LHQpUp0nKq1CpUjShKMHFJcrstNWpNWdrny79k61re9ZW130E+HHxB034pftxjxZoRBsfInhtJDkGWOO2ZA+G5G484wODyM5qz8Tf2IfiJ43+IWteL9O8VaLFBqWpS3EMUzzb1V2JAOIyM89jXC/si6RqWgftN2GiaxZvb3doL2G5gkGGR1hkBB/EVz/x5bxMPjR4o+ytfeX/blxs8svtx5h6Yr5VZtl+J4JnjM7wkq8qmNqycYzdPlm6cG/sydulnt3MueLo3mr3k/I96tvh2v7Jv7Ovii41HVJNWvtVi8t/s0Eghid0MSDjlVG4kuduflHBxnwf4laBYaJ8Fvh9c2Qy+ox6ldXLFACXM0aduuAijPt26V7H8BD41f9mXxmfiubk6P9gm/sk6x5mdvktnbn5vL3eXtx33Y5rwzxp41h8TfCzwhoDOouNDe/tpEVQP3bPFIjceu5hnuVP1q+NK+W/6v4d0aXsaU8JalSldyhL61Tc223d86TadtUm7Iddx9mrKytovmjkFZkYOjEEHIIPSuu+Jvxu8dfFvT9J0/wAZT20o0e3MUE0duBJKTgM8jEkljtXOMLxnGck4vhvwR4u8XavbaF4c8O3d1dXbKII4oGOQf4icYC45LHgDknFdz+0d8DPDfwNOhaTY+KJ73VL2wMup28iLsjYHG9CMEKTuAUgn5Cc9h+Z4HA8Q/wBgYzE0OaOFXIquvLGT5vcVn8TT1srtLV7nLGNT2ba26nmNdH8IdGj8Q/FPw7os0oRLnWbZGY56eYvHHr0rnK1/AHiGTwl450jxNHP5f2DUoZmfnhVcFunOMZryssnQp5lQnW+BTi5enMr/AIExspK56h+3Xr91qnxs/seScmHTNMhjijycKXBkY49TuH5D0re/YLv5dUuvFnw/nuG+zX+lCXZuOFOTGzD0JEgz9B6VD+3F8PtZvvGVh8UvD1lJf6TqemRK15aKZEV1ztJK5AVkZCp6HB9K0/2Q/DmqfC/4f+LfjL4tgbTbY6f5envegx+ZtBYsARkguY1UjOTkCv23CYXMaXjVWxFZP2cZVZyk78vsXTlZt7cri0k72vY7UpfXW35/cfOV9bfYr2az8wP5UrJvXOGwcZGairpPA/wx+I/xc1K7TwV4dn1OeEGa8kEqIq7j3eRgNxOcDOTg4HBrAv7C+0u+m03UrSS3uLeRo54JkKvG4OCrA8gg8Yr8PrYPFU6EcTKlKNKbajJpqMrbpPZtdbN26nC4tK9tCKt/xB46vdZ8EaB4GUlbTRkuHK/35pZmYt74XYB6fN61uap8M28P/s+WXxG1GErca14hWKz3fw28cU2T/wACfP4Kp71wldeJoZhk0fZT9321OLa7wk1ON/XljL7impQ07o1NE0O31S0eea4dCsm0BcegNXk8Hac/W/k/T/CuG1/xBqOkXiQWcu1Wj3Ee+TVYeNtV/wCWE8tf2h4ZeFXA2d8C4HH47CQlUqQvJvmu3zNa2fke1hcvp1aEZtbnfXHh7QLU/v8AV3/Mf4VTs9X077Y+mp4gvUEPACTEAV57qWvaref6+eSq8N5Pj/Xy19/T8HvDWn/zL4ffL/5I6/7Lo9j1j+xLPVYxcvqdzKRwDI+SPzFYVzEsNzJChJCOVBPsayPB/iqey1S3sZ5/NjroYfJuPESfaIVkje9G+NiQGBfkHBB59jmv5+8f+B+GeFsvwE8qw0aUqk5qTXNqkla929rnlZhhoYdpRW5T8ejWtN8Jw6h4e1K5tiYwXFtOyZOOTgGvMm1/xahO7VLsnvmRq/Qf45fEb4N/s/a5p/hJvgHo2oLPpwnjkS2gTYN7JtO6Jix+XOSe9Y3gPxR+zZ+1BqcngDUvhDFoGpvbSPY3FiI42O0ZO141X5gMsFZSp2nr0r7PCcTcM5XiKeRLDYWpjKajT5JqUeaaitOd4eUby6au7dtz0cNjqWHfs5QjJrvp+jPhqPxH4ljjy99cH6sa0I9f1RI8tfzE+5NfWf7J/wAK/D9p8efEvgnxroNjqr6JazLC11EJUDrMqbwpyvKnuCR7HNWbv9rX4MWl5LaP+zNpJ8qRkLBLbnBxn/UU8L4l8Kxyynjs0yvDYbnnUgoyTm702lK/Jh2lZv8A4O9msyw/JzSpRX9eh8fSeINcaXMd5cr6bWIqePxB4kv5Q13q93IVGAZJmbA/GvrX4wfDf4PfEr4HyfHz4P6B/Y81ncY1KxBEaEblRlKZKqwLKw2YBDHIJIxV+BHwc+G/hP4Yy/tC/HG2N1YA/wDEq0loyRIQ+1XK7gJGdgQqN8uMscg5XCfHWGlnMcDHIsK6Uqft/bKpFUlR/wCfjbw91Z6Wte/lqL+0I8/KqMbWve+lvuPE/h94aluLc3+r3JkB/wBWsjZz+dX/AB1aadaXUK6dBHGCG3CNQM8jFe8eG/jx+zP8VtZi8A+LvgbYaPbahIIoL+OOJdkhPy7niVHjBPG4E4zzxkjyL9oL4Oz/AAT+IMvhZb17mynhFzp1zIm1miYkbW7blIKkjrgHAzgfC+JHFGU5zwZUeVYKhKjKcYyq0tJ05JqSThKlCVppWUk7PVPpfzcZVjWhzQSt5dPwKlnoml6h4YixZxLK0YzKMBs+ua8z1y313Tr10W/m2+bgAOelb9afgvwpqfjrxZp/g/R2jFzqN0kETSthVLH7xPoBk8c8cZrycn8YsqoUcPg4ZBSqTUYQT5o3nJJRvb2L1k/N6vcrDZhGjZezT/r0OX0PULhrlFuXZweoeuotbm1a0+ztNmPOdh6Z9cV9GeNfE37OH7L17b/D61+FFv4j1aO0jbU7u7SNiCV6s0gfazYDbFAUBh9KwfjD8M/hV8Tvgx/wvv4LaJHpLWUzDWdNB2DGVVhsBKqykqwC4DK5PXAr9bx3HeSYejiKdHKcJVxNCLlVoxn70VH4rSeHUZuP2knpZ7vR9tTGUWmlSjdbq/8AwDxyI6d5e5rCDPugqrq+pCEYE/FZddT8GPhlefF34iWHgi2uhBHO5e7uCRmOFBlyB3bHAHqRnjJr4nJfH2msZHC5ZkUIzquMUoVVHmbdo3tRXfrtqctDMY05WhT1fn/wDg7yRp5fPCn8q+VfG1lqEn7ZNtcC0lK/8JTpp3iM46wc5r9V/GXxa/Zi+C3iS4+Guh/A6z1ZLKTydRvJI4pCH/iUNKHZyuSDkqAQQPWvNv2mNI+B8V9o/ib4LaparFqlmZb7SreRm+zNnKlgciNjkgx5GNoIGDmvuM+8ZYZdl1V0adCrUw8l7SEa8lJNvl91yopVLPdx27H0uVcVvJqtWqqam5RcGua1rta/C77HM/FKRHubPY4OEfOD/u1p6Uscvh60BkXP2de/tVv4x+D9F8L/AAm+Hd5p+kwwXWqabdXN/Oi/POzPGVLE8nCkADoOcAZrQuvj58Om+EMXw7f4E6ZJqS6XHbnWZ9gcyAD99lED7u4+f6kjIP51lviTSyPxEzTOsfCEJ16NJqDlNq7pU5KKlGk3e1k24pJ3Pj1NRqyctNEea+NdPtmkyrD864y8s4Ia6eKLzVkX0TP6isCbTZ/N8/8A5Z1/U/hbxxLxB4XWYSoex9+UeXm5/htrfljvfax72W1Pa4e9jl/Emg6HrFrJbz/6yWGvJ/G3wlvofMvoP9XXsGsab+9t64v4tePLHR7CTQ6/euG8bmKreywh61I8rh8Hz+VWXrGj/Y5fIggrYs/GHnf6iibz5j9ur9jo08al7SodBJ8PdfvvCusxz+f5VfQH9sQa9YW99BP/AK2Gvnv7HPqUv+or0j4V6xP9vj0m+n/1VfNcX4VZrS51/EMzrNS17/hA7W4vr6vC9e+M2q694j8/z5Ps/nV2Hx+8ST3mvf2VBP8Au68jvNN8m78+CvW4PyjB4HB8+Ip/vA9mz7A8H6l4c8SeEbf7D/x8eTSeG/hjoGmeLW8Xi1ZbqOIpCc8DcCGP1xx+Jrwj4S/FQeFb+3gnm/d19L6F4i0jxJYpfaTtxsG/b+lfy39K3Ks24Z8Oc0xWBm4UqipwbWnuzqwjKPpKLcWuqbR5ubNxwc7eX5mh8Vv2zNH8VaVpXgfx74wsIo/DMbWsEcOnurZGFO8qpBICqvy4GFHGck8/4D/a2+HngPxTY+MvCnxBgivLKXfCxtpdrDGGRht5VgSCPQ14Z8cvBGoQeLtS1SOHMFxcvIx9yc15/psMH+ouIPKkr5Pg76JfhxxflGDz3FZxjVip06U21Uo+7Lki1Zui2lHRR1bVlqc1HJ8NWjGcpyvZPp/kfayf8FDPCmm/GA/Gufxtov8Aasud0J02QQmMps24C7vu4G7duwOWNejaP/wWG03X79NM0dvDc88jYSNbW8GT9ScV+X/jbR57O6zBNXefs0+Cb7+2f7Vngr9Gn9FDhHhvK6+JwufY9c8nOS58O+act5O+Her6m9TKaNGneNSWvp/kffvxF/aa+LHx2sm0K6v4YdMlZWbTdNi8tJCpyNzMSzc84JxkA4yBXBX+lahpZVb+2MZcHbkg5x9KueD9Y0rQbX9/5VJ4j8RWuvmE23/LIMG/HH+Ffxt40eD2V8P8P4nPXjcRXrU+RL2soSVpVIxtpCNklJtJNJPoeJjMG6cHUbb9Ttfhx/wUd1drdfgL4AOiy6voenm2INrOZoViwhc7iIywJHqM9iK5XxHF478Y69deJPEfnXl/eSmS5uJHXLt9BgAAYAAwAAAOBXzX+ys8S/t1+LhN0MOoj/yYir7Gmg/defXu4TwfwHF2Q4OWY5jiZR5INR5qfLG8VsvZ9L2Td3bqe3n2SUcvrUqcJyalThLW28ld7JadjgH8KeIU+9pj/gy/41TubG7s22XNuyn0Ir0OftRNDBN/r4Kwn9GrhRfDia7/AO3qf/ys8KGEw8t2/wCvkTfDL9r34rfCjw/HoFjJZ6nptpEwtrTUYSTEMk4V1KtjJ6EkAYAwKwfif+1l8VvjnarouvWsNppvmrKNPsV2oWGcFmOWbr0JxnBxkVh6/Y20vimTT449kUkyJt9AQM/zrc0fwTY6bd/8e9cPhpkOG4ho5tkma1atbD4Ws6UE6s4+5Fyik+RxurRWj93sktDTDezkpQqXaT016F/4HfGr4k/CB7xvCItWtr5R59vfwNJHvHRwFZSGAJHXB7g4GMbXrDWvFuu3XiPxBrnn3t9O01zM0X3nJyeBwB7DgVteTBDFVeb/AF341+k1vCPgfEZfTwNXDzdGm24wdatyxb3aXP8A1d92FWGHlFRitF5sn+KHxG8ceK/A2heE/EV9aNY6Gvk2cdrZ+UX+XCs+DglVG0YA465OTXlt/wCIjZX5sEsjIQQN3mY6jPpXoHjqLydBhT/p7/8AZTXl2qy7fE7qP7i/yFfki4C4azjxmxGUYylKpQhhoySlUqN3Xs4r3ubmsk2rXsXgsNRxOP5Kiurd35DPG77NSh/64f1NZUP76XNa/jWPffxn/pj/AFNZkP7j/X1+3+EM7eGuWr/p2/8A0qR7eX/7hT9Amhg8qq//ACz8io5pqj8797X6DSq0qT9md5qaOf8ASo5x/wAspq73RZI59XtJXYhXuYySBkgFh+defabeeT0rtfBt4uoXFkIlO5Z40KjnnIFfz99JrLsXisjwOMoU3KlSqPna2jzJKN/JvS+12lu1fxM+oydKFRLS+p9n/tKeFP2cPEHi7T5vjN42vNM1BdPCWkVu5VWh8xvmOInH3iw6jpWXqmm/AP8AYygi8Y6VoWq6rqWq20iaZcvKJVK4BK+ZhUQH5csAWwTgEZFcJ/wUHVh8S9FYqcHQgAcf9NpKv/ATXtL/AGhvg9f/ALOnjS8C6np0Hn+Hr2VskKvCe5MZO0jqY3wPuk1+eY7PMLW47zDL8PhKMMctcPWcLuVRRT5Zcza5pK6hKySdrp3PJlUTryikuboxP2IPEWoeLvjh4o8U6zOXvL/S5J5jjjLXEZOOeAOAB6fSi7+Hn7CkmoStdfFbVBKZmMiGVwA2eR/x7+tN/YY8O6z4Y+NHiXQdbsXhudP0p7e6QjISQXEYxkcc4OPUDIrktR/Yz/aBudSnni8JW+ySdmUnVIOhJP8Afr5vBvOnwRgXTytY2ftcRz89Oc3B80b/AAtWcne99+XyZnHn9hH3ObV9D1X9o200rwf+y3b6V8EYLR/DNxdIt9e2l4ZGMbPnOed+6QBWJbI4XGD8vMftZmbS/gD8OdDsrb7PaPZxySwoCFWRbaPAOe/zv156+9avjnw8P2ef2Q7v4ceL9bhn1jW7o+Ra20/ClnRmC5GSiqmWOMbnx3Bqv8Oo9A/aj/Z0h+EMmsQ23inw2oew+0bsFEJWN84JKFG8tsZKkA4+6D72dxnmeKxGUxSo4rEYGly0bpKnKE+d0IbW5oq6i/npa2k7zbhs3FafofNFWtX1vWfEF5/aOvatc3twUVDPdztI+1RhRuYk4AAAHYCvaPh9+w38T77xZbp8Qra10/R4ZA97Kl8kjzIDyiBCSCfVsYGTyRg8f+0xq3wv1P4myw/CXSLO202ztkt5JbCIpFcTLkM6jpgcLuA+YqWyc5P4tjuEc8yfIpY3ME6Cc1GNOd4zqNJ3kovpC+7097R9+KVGcKfNLTyPPa9R/Y3srO9/aD0UXig+VHcSRZcD5xC+OD1+g579q8urd+Gfjm6+GvjvTfHFnafaH06fzPIMuwSAqVKlsHGQT2ry+G8dh8s4hwmLxHwU6sJS66Rkm9NdkRTko1E30Zt/tK3Nzd/HjxRJd53LqrouWz8qgKv/AI6BXqP7KEaap+z78R9H1Nc2YtXcbpVUbjbvnk/d+4nJ4/KvGvi34/g+KPj298dRaCNNe/2NNbLceaodUClgdq9cA49c1u+DPjw/gn4O618KNO8LBn1xnNzqhvcMoZVXATZ02rjr/Ea+tyXPcpwHHGMzGtVvRl9Y5Xyy/ee0U1FW5brm5k/eSS6m0JwjXcm9NTz6vd/+Cf1ja3HxW1S8miJlt9Dcwtnhcyxg9uuP614RXb/An42at8DfFc/iPT9MF9Fc2hguLJ7gxq/IKtkA8gjjjufWvC4IzPA5NxZhMbjXalTneTte2j1stdHZ6a9jOhKMKqk9j2bxt8cP2W/BXjHUPBv/AApqLV4/t0q6zqrW0UjtMWJco0pLPhiRncoyOOMVwv7T/wAEvBPg7StI+KnwsuT/AMI/rwURWvzsIHKb1KuxJwwB+VuVKntwvlPiXVo9f8RX+uxWrQLe3kk4haXzCm9i23cQN2M9cc13Pi79oO68T/B3Rvg1b+GFtLLTHiae5+2b5LnYG45QBMsxPfHA+v1GN4vyziLA4/D5pTpRsubDOFLllGSl8KcUnySjfm53572RrKtGpGSlby0I/jT8XfDvxK8KeDtC0PRbqyk8O6U1pdJOysrHEYBRgcsMJk5C4Jxz1r1L4CeMPh5+0P4Vh+AfxD8FwRXun6MI9L1i32mYpHgEozKTG4GD1KsAQRjg+BeLNU8K61fW7+D/AAfJpEaW6RSwNqLXRmkH/LTLKCC3cDjPQDpX0D+zP8ELz4LrL8ffi/fwaTZ22mM1rayhjNH5gALSLtyrbTtCDLEvggEYPZwXjM7zfjOdWXJWoSjGOJlypUvYxioty54x5bRjdaRfMu1x0HOdbuuvax4Re+DLzQfGGs+DtQVhNpzTwvvXBOxwM49+v41w2sGezl8ivTovEsnjj4raz4sdQv8AaM9xcKoQLhWkBAwO+MVyPxI0H+zZZJ/Ir+rfo4Tw1HhGosO70/b1eW+/LdW/A9fKZqMWl3OPvP337ivmv9oT7dZeKLiCevpj+zT5Xn14f+1ToP8ApVvfQf8ALWv644JxPss89mfRHj+g+f8AavIrsLzWP7N0+OCub8N6Z/pfpVjxHN50vkf88q/fMRUTq+zpmh6J4PvNDGl/bZ5/3lU/+Ew8nxHJfWNcfoPnw2FXDZ30MXn/APLOvnXg8vpYv2lUf8IseKten1jVPPqvZ+Fb6ewk13/lnFWPqU3k6pXYQ69PZ+DZLH/nrXt1Kq9l7OnTH/FODmvP+Jp+4r6I/Y61i91PTtehu594hmt9ntkSf4V876bps95f/wDXWvoP9jbT5NOi8SRP3mtSPylr+d/pf4rCz+jxm1FfEpYa3/hTRPJzn/cZ/L80ej65Y6VrolldY38idkcHsQcGuJ174S+HNS/fwfuq0fhrrmo3/j7xNoJ+5FrFxt+m81v3mm/2b5nnmvnclhLK8gwFOhUtfD0X99OLLo1fZUY+iPO5v2e9Jmljnvp/MrqPB+m6V4VtZILGCtTxJ+50vz4Kw7OafysCvSxueYx0fZVKp00/3xsS6/PNL/zyra8P6vbW8Es13OAhG4ue2K5GGbza6G0tPN024I/54P8A+gmvzvi7hjLOLuH6+V5hf2VVK7i7STTUotPVXUknqmns00GKwmGqU/Zy2ZS8A/Ez4E+KvFkz/D7UNNl1mSF5Z57XTWimdNw3FnKAnkrnnmvRdMm13Uz9n0y7uH/2VnI/ma+Mf2JV3fGKYf8AUEn/APQ4q+ubO8n0y6jngr8Myv6P/D+Kwyf9pYtW0sqkLf8ApsrijhjD5TmX1elVnJKKd5NN/glodE2ieOB95br8bn/7KkOk+NU6/ah/28//AGVdX4U1i31+w/1/7yrk/air4BZJSly/2li//Bkf/lZ8j9SS6s83uYNSj1I291v+07wDufLbuMc5+laC6V40ONrXPPT/AEn/AOyo1d8+Mt//AE8x/wDstdhD++ljNflvh74XZbxJmeb0KuMr01hq8qacJxTklKSvO8XeWm6t10OWFJNy12Zx50Xxk33kuT9bj/69J/YPjH/nhcf9/wAf413MMP8Aq6PI96/SZ+A+SR/5mOL/APBkf/kC/YR7s4HVNK8TW9gbzVUnNvGclpJtwB+mTXBS3yajrT3Ub7VbAUE+gxXt/jaLzvBt5BXgcP7i/kr6jgnwyyPgvOamYYetVq1px5OarJStG6bStGO7S3va2ltb/QZVhKdJuom22rGx4rSN9QjD9fJH8zVOaz/0WrHjH/kJwn/ph/U1c037PNa/v67PCavy+G+Wr+4//SpG2Xf7lD0OTvIfJqvD/rvxrY1iz/e1nw2Y83z8V997Q7ST/VV1Xg0ONH3uOWlY/hxXMiz+2X/2eAV6BNo66Hb21knT7OG/MmvyH6QVeqvDJ076OrTv57/qeTndX9x7PzRuXWla74lMGo6tr093K1uio9zI0jKgUBUyxJwBgAdABU2k+HfEGg6hFq+h+IZrK7hJMN1aO0ckZIxlWUgjgkcetaGiiAaRbTT9oVH6Vk+JPHllpo8iCs8i8FuAsflWGxlTCydWcITcva1b8zim3pPR310PKoYCVZJ2L+iWPirwlrH9t6B41udPvSCDd2kjpIQeoJDZIPf1rfi+JHxsm4Hxv1sf9vsn/wAVXksvja/vLrz/AD6uQ+JL7/n4r6fC+DfAuCwlqNGpDW9o166V+9lUSOxZcktPzZ0up6DrfiG8fVta8RzXlzKcyT3TNI7fVmJJpumeF9V0zUItQ0vXXtriBw8M8G5HjYdCCDkH3qho/jD97+/rqNM1KxvIv3E9cD8DfDZ/vXhJc1739tWvfvfn38zmq4GFNlvXdd+LXifT30LxD8VtWvLWXHm21xdSMj45GQW5/Gua/wCFfy79v9qL/wB+v/r103+qqQfwUVvBjw9x0+fE4ac2tLyrVm7druoc7pQlucHpOmwTeIV0u6+dBKyNg4zgH/Cuo/4QfQP+fVv+/rVg6Jx44H/X1J/7NXZf8sq/PfBLhLhbM8jx7x2CpVnDE1IRc4Rm1FRhZJyTdld/NsyoQi4u66mdD4N0OBiyWgORj5zu/nmk/wCEJ8OlUlNm2G6gSt/jWt/qqk/5aeRX7J/qDwI6nL/ZeHt/16h/8ibezh2MiLwL4baPcbNs/wDXZv8AGlk8DeF16WT/APf5v8a07u7s9Ks2vr6XZEmNzBSepx2rT03wn4w8S6bFrGieBdcurSdd0FxDpEzJIvqp28j3FeVX4a8KsFi/quJwmEhV5eblcKSly3tzWte101e1rovkpXtZHOr4H8NoWhFj8rdcuSfwPUV8i/FX45fEjwv+163wm0bWYotDHiLT7T7K1pGzeVKId43kbud7c5yM19r+JdF8TeFbU6t4k8Ha1Y2oODcXWkzIg+rFcD8a+MPiB+zx8XPiL+2hH8Q/BfhR9Q0248S6fcQG3mQyyRxCHeRFneSNjcYzxXkZlg/BmhOFGVLBRm2tGqKevlvqz6zhCORrGV1mCp29nLl5+W3NdWtfrva2u59ZW3hPRdLmj1WwgeOaFw8UglbKsDkEehB71f8AESXvjZkuvF+ualqUkYxGb3UJZNn0DMcfhW9L8PviO0e0fDbxDn/sDTf/ABNc7rmpReEb86X4o0++064Az5N5YSRsR64ZRke9ej9V8JMBhXHEUsJTpyaupKlGLfS97JvsfJuNKK1tYTS/COjaPcG6sLcq5XbkyE8fj9Kp+NtBOsaXIfI/eVPb+PvDLyrAl5I244ULbuST6AYror3wj40tNIl1HVfAWvxWqx+ZNM+izgIuMlj8vAr18j4i8PstpOnlGJw8KUdXGlKmoq+7ai7K9t/I1oVoUl7p87axef2b/oNcP8YPDf8AwlXhf/ppFXpvjXR4tUvvtOlTeYPcFf51gHwvrhHkNCpj/wCugr7nK/FjgLC16deOb4ZNf9Pqf/yR7+HxmEVLWovvR88+FfCsFnLJ9u/5ZVj+JNHgvNZkgsa9u8a/BvxRdxsfDlkjM/3g06r/ADNZfw6/ZS/aA8R+Iftfh74aXWqNEMyiwZZdn12k4r9myTxp8NcXBWz3C+2ey9vTu/Rcxusbg27KovvR4z9jn039xP8A6uvRNMh8Oal4Ij8//j4irq/i1+zZ8XtPvDp198ObjTrsDPk38iwtj1wxHFc3F8Afi3BZ7IdKQP6fbov/AIqvRxHi14Q1IRji8+wiqx3TxFJNevvaCeNwaetSP3o8o8VWfk6p58H+rrcs/I1KwjgFdaf2avite83mixJ/2/Rn+TV0HhT9jH9pbxJCtx4L+Ft/qqW5w81ltdQfTIOM+1ephvGXwkx9sNQz7Cup5V6b/KRKx+Gbspr70edXmm6VoMUc8A/eV6x+yPcfao/EMw6GW2x+Ulcb4y/Zi/aFt9UfS9Z8DtZyxnEltdXUcci/VWYEV6Z+y/8ACrxz4HttS0vX9FK3F9PCLWG3kWZpMBhgBCeeRxX4F9KPj7w2zrwTzLLspzrDYjFTlQSpU61OdR8uIpOVoRk5OyTb00SZ52Z18PPBSjCab00v5o534cavNafHfxJp46Nq05/8fNeqaxD9s8z9x+8rKsf2XPjZ4J+I2q/EXxl8M9V0zS7q9kkgvbm1ZVKs2QTx8uc98V1Elujq5lbOa4I8d8HLLcuwP9oUVXdChDk9pDn5uSMeXlvfm5tLWvfQUK1G8I8yvZdTkPEll51r9hrn5rOeHy4K7DXYfOusVzd5D2rapjfa1j2qQaPD/pVd/wCG9C+16HdXGP8Al2f/ANBNcRo3/HyK9b8I2fkeBLu4/wCnZ/8A0E16ON1wfOY4qp76Pi/9gqHz/jdPH/1Abj/0ZFX1bqVn5MvWvlv/AIJ7R+b8eJ0/6l+4/wDRkNfYGvWfk/v6+Wy3EVKKVj6jjmduIWv7kf1K/wAPde/s2/jE89eiXn76KOeCvI4ZvJ/0j/lpXqHhW8OpaDHPX0uIp+1Pz7G0zkdW/wCRv/7eI/8A2Wuyg71yOtrjxuy/9PUf/stdl5HvX88eDC5eIuI/LFz/APS6h49HeXqSf8sqk/5a0sP+p/Coq/dalT98dVPYLyz+2aXcWP8A0xrwPUrP+zdekgn/AOe1fQFnN5NeX/Gzw39j1D+1YIP9bXF/zEnr4Koc14s/5CkP/XH+pqCGbyqseLZAL6KP1i/qay5pv3tfn/hJ/wAm4y7/AAP/ANKka5d/uUPQkvJu9U4O9Sef7UQ/678a/SaVSkz0ToPh7oP9seI45/I/dxV2XjwKmspGvRLdQPzNVfgzpsHlSX1T+NlxrX1iB/U1+J/SIpx/4h65x/5+0/8A24+azb4fmP1zxGNM8M20HnY/crx+Fec3l59sl8+tvxde+akUH92MD9KwLOGeaXyK/YuEaVuG8FU/6dU//SInq4b91hYvyRc02znmrUm02++y+fBBXQeD/BPnReffVualo0ENr+4rvq4n2RjUxJ53D58P+vrY8N69PpsuaNe03yYs1z803ky5rtwNRVv4h0+z9sj2TTbyDWLXzyasV538PfFXk3UdjPXokHes8TS9l7h5OJpeyOM0j/kdf+3qT/2au3/10X/XKuJ0j/kd/wDt7k/9mrtoO9fz74Bf8iPMv+wup/6TTPLofC/UOJpqkh/1340eR70Qd6/ebUv4huZvjv8A5FW4/wB9P/QhXtvx1+NHxC+E/wAIvh/feCdZSCXUdIQXbzWySl9tvCR98HByx/OvFviF/wAirP8A76f+hCvfviX8W/Bvwt+EvgS58WfDO08QpfaPELeK48si32wQk48xH67gPw71/OviNUdLiPMZLFvC/wCyYf8AermvH/aKmvue9r8OnftciLtza20WvzOH/Z+/ay+MfjP4oab4M8Tpb6vaalKYpljskjkgXaSZAUAGBjLZB4Bxg1c8H+FdF8C/t5yaH4X2Q2csE0xtoMKkRktTI0YCnhQ3IGBjjjABrs9W+LGnaP8AAf8A4XZ8A/h1oiu2F1WD7KsbWYBw+5YgpfaxHGR8rB+leL/sneI9X8WftRWniTxDdG6vb9byW4ncYJcwOSQBgD0A6AdB0r83r4p4HHZLleMxksZXniaVeFVp2VKTS5Yzk3KXM9X0VrOzQN8soRcru6d/I1fi5+1n8cPCfxQ1/wAM6J4mt47Ow1WaC2jbTYWKorkAZK5PHc12vg/xpqf7TH7N3ilvippFssmkxSPZ6ukCorSJEZA65OFdSMMQVBV8cZNUviT+1B8KPDHj/WPDurfs96bqFzZajLDPfSLBunZWILndCTk9eSa39Y8faD+0b+zV4jtvhuJtCl0u23XembYkXYg8zy8gY8twrAEbTleeMg9uX4j2+bZhSlnLxi5K/wDsrVT3tJe6nU933f7uummhUXeclz330/4c4n9mjQvCfwj+D2qftLeLNMW5vY3kh0RHYggZ8vC9gzuSpbBKqpx1YVz2lft0/Gq28SJqmqyafc2Hn7ptMWyVF8snlVcfOCB0JJ5xnPSui8YibVv2BtCm02589bHUE+2lCTsUTTLtP0Z0HPHTHavnWvz/AIi4gzjhPC5ZgMorOjT9hTrNw09pUqaylK3xLTlSd0krbHPUqTpKMYO2if3nrn7WUnwf17XtM8ffC3WLR5tbtWuNXsbdiWjkJBDuvIjc5IZMg5Xdj5iT5HVnUNF1nSYba41XSbm2jvIBNaPcQMgnjJwHQkfMuQeRxVavz3iDMp5xm9XGToxpSqNNximleyu0n/M/efmznqS55t2sXPD+kS6/r1loUBIe9u44EKrkguwUcd+tfS/x9+M9/wDsz2Wi/Bb4OQW9r9k08TXV3cQLI+GY44Py72Id2JH8QxivBvgbeWen/GPwxeagwEKa5bbyyBgP3gHQ+/ft17V2v7cNtcwfHu6mnzsm022eHK4+UJtP1+ZWr7LhzGYnIuBcdmWBlyV5VadLnWkoQalN2e65mknbt921OTp0JSjvdI9F8BeN3/a6+DHiPwX8Q7SI61osYurG9tIQpZtjeW4XOA2VZWAwCr4GDzXy2QQcEV9A/wDBP5Hg8XeJNWnbFpBoyiclRjJk3Dn6K3FeDarNDc6pc3Ft/q5Lh2j+QL8pYkcDgcdh0qOMcTWzfhfKc1xb5sRNVoSk/inGnNcjfdpSavu+rCs3OlCb31/A3PhB4Jg+I3xM0bwXdySpBf3qpcPCBvEYBZ8Z6HaDz264PSvor4x/F/4z+G/FT/Df9nnwPONK8O20UFxcWejNcAMEB8sHBVVVSoxjdkHnFeT/ALFiK37QelFjFhba6P7wrknyWA256n6c4z2zXof7RH7X/wAQvBfxNu/BPgKKytrXSpUSeae3Er3Em0MwOThV5xgfNwTnnA+k4Oq5dkvh9WzCtiqmGlVxCpudKN6koxgpKEW2uVXblJ31tbqaUXGGHcm7XfTc4P49/tA6f8X/AAHpGg+J/Bk9p4q0u5f7beFRHGi4wVVTlvmwpKnG0qME547P9myy034QfAXV/j1Boz3+u30jWWlQGMnPzhERQPmIaT5mxyQgAxjJm+L/APZf7RP7M8Pxzk8Ow23iDR28q7khcqDGsm2RRk/MvzBwDkryAeTu6nwT8TH+D37GGk+NbOxtrq6itzHawlh5ZlkuHALbSM4BywHzcEHByR9BleBqrjKvmuYYpTjHBe2pV/Z68towjUlDrUiua6bbbttolpCL9s5yf2bp2OR8P/tU/HnwFr0d/wDHjwNfnQbxWDINE8h48g48sttDehVj07+vz74mvdI1bxJfajoGlGxsri6kktbNpA/kRliQmQBnA46V9BfAr9rTxp8RfHsPw4+KGnafqOm68z22I7QIYiynCEZw0Z5UggnnOeMHyX4//D2z+Fvxf1XwrpluYrGOQTWEZlLlYXUMq5PPGSOeeO/WvPjVxOb4vJsfQx08ThoY2nB+2ilVpzlKDs5XleDSutUk9NXsRblOnJSulJb7nlmsQ/vZKw9Sh/1YrpNT8jzZM1iXn+tH1r+36dRH19IraZ/x8x1634R/e/D+7/69pP8A0E15JD+6r1L4dXvm+Fryx/6dZP8A0E16UKftsH7hy4r4kfH3/BOrb/wvy4L9P+Eduf8A0ZDX2Xr1mfstfG//AATlVG+Pt0H6f8I3c/8Ao2GvtjXoT5UlfPYCnD2aqPufTce1fZ8Uf9uR/U4OWHybqu4+GN5/oEkB/nXF6l+5v66j4Zf8tPxr6Wl+9o858jif4RW1v/kej/19Rf8AstdrXF65/wAj2f8Ar7i/9lrtPI96/njwd/5H3Ev/AGGT/wDSqh89R3l6kg/gomho86fyqj/5a1+2+yNySGGs/wAb6D/wkmg+R/y0irUH8FFc1SlWOilVPBfGH/IRi/64f1NYs3+u/GtjxnFm/im9IcZ/E1j18F4Svm8Ocuh/cf8A6VI9vLf9xh6B/wAsqkg71HNDW54b0GfUr+OC3P8A12xX6dhl9V/eHTVq+yPQPhLDPDoNV/GybNZC/wDTEfzNdRo+mwaDo0cFct41OdZz/wBMh/M1+G/SGnzeHj/6+0//AG4+WzCr7VHF+LP9cP8AdFL4bs/Ov44MVd1213ujHuoq34Ph/wBKjr9Y4axP/GL4Kn/06p/+kRPYpVLYWPoj0DTYfsdhHBRP/qvIzQbzyYqp3l5/z71638WieZ/y+MvXoIJq4fWLPyZZK7S8hnmrn/Emmzww+fPWdF2Z6+H3MfTZvJ8uevXPCupf2lo0f/PSvG/P9q9A+EmpTzRSW89fR4i2KoixtIdov/I8j/r6l/8AZq7qDvXCaR/yOv8A29Sf+zV3cP8AzwxX83eAi/4Qsz/7C6v/AKTA+bo/A/UkP8dSVH/yyor9zOoyPiPeW8Ph17WSUCSZ18tM8nBBJ+n+NdZ+074/8FeLPhT8PdH8NeJrW9utP0vbewQMS0J8qJMMCPlO5G4ODjBxgg1518TH3y2f+6/81rS0DwV4avtItru6smaSSFWciZhkkfWv5V4ywXEvHXiDm+RZcqUeWjRg3Ucl7sZRqprlUteabTurWt1345OcpyivI3/2UPjRZfDjxZN4S8XzRnw34gXyNQS4AMcMhBVZCD/CQdrdtpyfuitT4SN8Mfhn+1wBo/juxk8PwSXK2eoySkRDfEwEfmEbTtZtu/O1gM55xXLxfD3wqyeY1k+P+uzf418ifFT44fEfwx+2D/wqPRdYjj0L/hI9OtPsrWkbN5Uog3jeRu53tznIzXJg/CnxFyvDYKjUeGqfVayqU5OdTmSum6d1TXuOS5trp7Hs5LkWYZzUlSoON6ac/ebWiaulZPufoj49/Zo+EHjnxpqnjGX9o7SLZtTvpLlrdXt2EZdidufOGcZ64qHWfF/wQ/Zt+EeufD/4ceMk8Q6/rcRiuLiILKg3IU3MVzGqqpbCZZtzc8HI8e8eaH4F8H6buMANx5ecG4fGfzry3U/Et8Z3ey2RxDp8uf519N/xCnjKFStiMswWDoYiqpJ1HWrzkue6k4qULRk7vW2nY56WX4mq26cYpvrdn0N+zL8dfCHhjQtS+D3xZh3eHNY3n7S25hbMy7WUqoLbWwCGH3WGe5I6e2/Zh/Zq0PU/+En1n4/2d3o1uxnNgt3B5kkY5CF0Yls9DtQMegwa+Sj4n1WH/Xzj8EFSW/iPVTL87qy+mwVOV+CfH39nUcJmNHBYr2H8KU6laLim78r5aa54J6qMttVe1kr/ALKxcYpT5XbbV/5Hun7UXx0074v+I7TSfCdqYNB0RGh07gr55OAZNmBsGFUKp5AGTjOB5bXY/CrSPA3jbTG/tCzYXCdSs7jP4ZrK1bTLPSfHg02yjKwx3kQRWbPB2nqfrX5H4leGPG2SY+GZ5/WpSliasaf7tydm07Wi4RXLGMbLW+i82eViaNaFS9R6sx7O7nsLyK/tX2ywSLJG2AcMDkHB68ivprXNQ+BX7XPh3SNW8U+Prbwx4qsrTyrxZSqKeeV/eEB1yCy4fKhyDmvPpkt/+eCf98ioJ9Nspf8Alkv/AHzX6/w94F18jo1qFXHQr4eskp050ZJNxd4yTjWTjJa2a6N6bWujTUbpu6fQ7vX/ABn8Hv2aPhPq3gL4VeLoPEHiLWv3V5eriRY1ZSpYlfkAVd21NxO58nIzXC/sveFfgB4mvtUX42a3FBJFCp0+3vL42sLjnc/mKykuOAFyOCeG7V/7E07zcfZYfyo/4RjTf+fQflXp1fBivis5w1epiaLoYeLjCg6EnTSd73vWblJt3be7SbRq4Rc021ZdLafmc9o/izQ/hZ8ZE8WeA5ZdS03SdWZ7A3LGJ7mAEjBIHGVJGce5XtXt/i7wd+zD+0hq4+JFl8Wk0C+nijbV7O6kjjJ2qAfll24cDCllLKducHknziHw5Zw+XmNfxFRwaFZ/881/75rDKfBCtluHrYLEYqlXw1SftPZyoySjPZOElW5lppq3dad7qFNJOO6fS3/BOj+Pfxe+F2i/Cy0/Z++CsrXunROr6hqhdgHZXLFclR5jM2GLD5RgAZ/hT9n/AOLfwt1T4XX37P8A8ZpnsdOuZGkstUV2IVmYNt4U+WysNwY/KeQcfxYv9m2P/PJf++RXH/FCGOKaydEA3K/QY7rXzXHPBOdcF4etxRLGU6sadONH6v7DlpujKUYez/iSaiua/dvrbQylKpGXP5Wt0t2PcvCXgz9l/wDZy1b/AIWRffFiPxBfQRyPpFnbSRykEqQPli3ZfGQHYqoznAOCPn74q/EC9+IvjbVfH19beQ9/ceYsAlL+UgAVU3EDOFAGcD6DpXZ6FNZ2vhexd9mTbJnKj0rzj4sa2txcxhJQv0GK+ly/wsqY+jlmJw+Ip4fDU508T7GFKTcp+7L3qkqrbdvdTtZLo7I9HCYN4ipDldkmnaxyF5eedVOaapZv9T+FVv8Ap4/Wv33+F+7PpvZskh/e11fhXUZ7Syu1g720n/oJrlP+Wtami3hhtLn/AK93/wDQTXo4PEezoWJrUvcR85/8E9dUi0n49TXM33ToFwv5yRf4V9yalqVjqVh58M9fAf7FgJ+MMgH/AEBpv/Q46+uNN16eH9xXJlFGnPAtvuz6bjmj7TP2/wC7H9TQ1KH97JXUfD2H/RZJ/Irj4bw3k2BXoHg+HydLjGf+WNdn8I+Cxv8ACOd1njxuT/09Rf8Astdt+9ridZJk8bkv1N1Fn/x2u2r+f/Bv2n9u8SW/6C5/+lVDwaO8vUD/AKmOiab97z/rKIfPmMf+qqOazuJrrz/P/wBVX7mblyDvR5HvUf7qpKVOoB4J4vm8nUkb/p1P8zVKzhnvP+WFdXNoem6nMs99dmMqNuNpOR+FbOg6d4K0fbi8Y7On7puf0r8R8L+OuD8s4FwGGxWOo06kIWlGVSCafNLdN3R6ODx9KlhYwbWhh+G/hjPqUvn31egaPoOleG4ozBDH5lV/+Et0CFPLguGx/wBc2/wqJvFOiyO5a5IB6fu2r79eIvAr+PNMP/4Oh/8AJGFXGwq9TVmm82uV8Zrt1dW/vQqf1NbP/CV6H5m77U2P+ubf4VgeJb+11HUBcWkhZREFyVI5yfWvxvxy4q4Wzjgh4fAY6lWqe0g+WFSMnZXu7Jt2R5+IqxnTsmU9V09lt0um+4Ylz+VR6D+5uq6ltGhvNBtZ26+QufyrmobPydU6V+4cL1EuHsHz/wDPqn/6Qj1MOva016HWQw+dFGM1J/Zn+1WfDrFjptr5899WPqXxb8m68iCvf9lWqnR9WOsh0Huar+MPCsH9l8Vx958YL7/lhBWfrPxI1zUosTn93XR/ZVWqdNKkZ+paaIZZPIrpPhL+51mSuTm1KebvXUfDHUoP7e8ievTp07UfZ0zoxP8ACNjSP+R1/wC3qT/2au4g71xGlnHjcn/p7l/9mru/J/dV/O/gHVqQyLM0v+gyp/6TTPlMPDmi/UIO9EsPnyyE/wDPGrEMM+P9RUc3n1+61Kh0ezON+JKeVPaR+iv/ADFdN4Tk3+HrRB2gX+Vc38S8+dZlvvFXz+YrpvCibfD9mh/it1P6V+DcJ/8AJ8c+/wCvdL/0ikckf48jWh/13418G/tx/CD4ueDf2lLn4s+G9Du7m21G5t77Sb/TLV5vs8sKRrtk+UhXDJuAOQQQfUD7q1LUoNBsJJp68b+JHjCfxJdSQY/d+dX7vHC/2hC03bzPtuFsxrZJinWhFS5ouLT6p2f5pHx/rHxs/a61yc3esap4gmc/eZ9EUfyiqp/wtH9qTb5Xn67j0/sQf/Gq+n5v3MWKr/8ALKuSGFvX5fbS9f6Z9rR4jwcv+YGkvkv8j5kf4l/tOn78uufjoo/+NUo+JP7T7fdfXD9NEH/xqvpKb/XfjVnTv9b+Nd9HL3LbESX9epU+JcIv+YKn9y/yPnvwx8bP2z9Du1bwtfeJEmb7oh8Pq5P4GE19GeEvE/xZ1X4JHxV4wOof8JgdLupWNzYeXc/aF8zyv3WwfNwmBt544Oa3/BM32PxHbz/9Nq7rxc6H4nM46farc/8AjqV+E/SDwNTDZFlk5VXO+Kp79Pdn5nxXFeeYbGU6VOGEhTcZqV4pXaSej0WjufGr/Hf/AIKEyj55PGBH/YpD/wCR6Z/wvT/goJt27/F+P+xTH/yPX6H1H5/tX7FHCTn/AMvGdn+u+X/9Cyj9y/8AkT89F+On/BQMNlX8X5/7FMf/ACPT/wDhfX/BQndnzvF+f+xTX/5Hr9CP+vf8KkpfVa/87L/11y//AKFlH7l/8ifnl/wvj/goP/z18X/+EmP/AJHp3/C+f+ChX/PXxh/4SS//ACPX6Dzf678aIO9V9UX/AD9Yf665f/0LKP8A4Cv/AJE/Pf8A4X1/wUKHWXxf/wCEkv8A8j16t+zX45+PvjWz1Zvjq2rGS2khGmf2rpQtSFYPv2gRpu5C5644r6yri/iymyex56pJ/Na/JvG6hKHhrjZObetL/wBOwPIz3ijB5jl88NDA0qbdveildWaenurfbc+Ofiv8cv2xtG8davoXh3U/EKaPbX0sWmpFoKtH5AYhNreSdy4xg5OfWuJv/i1+1pqB33914gf3Ohgf+0q+zPHd35FlaDH/AC6R/wDoIrk4f3tfoHDGDnV4dwclUf8ACp/+kI+qy7iTCRwtOH1Gk2opXsruyWux8q/8LI/af/v67/4JB/8AGqU/Ef8AahQYLa6B76IP/jVfVM9l/rJ6r/8ALhHPPXsSwk5x5/aNnf8A6z4T/oBp/cv8j5d/4WR+0/x8+u8dP+JKP/jVSJ8VP2p44mhS510K6kMP7FHIP/bKvpq8rH1jWBZyxwVrg8J9YlyQqyX9eof6z4T/AKAaf3L/ACPKP2PPhx4x0fxnd+NNZ0eaxtIrJ7ZVvIXjkldmRvlVhyoC8n1IHPOPoOab/WVn6Deed5nNXPO/e4nr06WGjhKSpxdzwM2zOrm+MeIqJLRKy7I1NBm82/jggr2DR4QdLjryv4eWf2zxHH/0yr2Dyfsf7itPa0j43MahwOsjHjjaf+fqL/2Wu6/1X/bWuH1z/kej/wBfUX8lruJof9ZX8/eDc7Z9xJ/2Fz/9KqHj0d5epGfImHE9E/aq9nD5N1Hj/ttVyv3f2n/Lw3I4f9d+NSQzUeR70Qw06fsqv7yoBx//AAhVnv2G4mB+o/wp3/CEafv2/a5v0/wrWh/cxZqSDvX5lV8I/Dq9/wCzof8Ak3/yRXsKPYxf+EI0/ft+1zY/D/Cj/hCNP+b/AEubjp0/wrag71JDD+9p/wDEJvDf2d/7Nh98v/kiPY0uxif8ILp3/P3P+n+FYWt6dFpl4LeF2YGMNluvU/4V3Fcn41hePU0kKHaYQA2OCcmvyfxo8P8AhLh7gt4zLMFGnUVSC5o810ne+7emxz1qcIwukdbbWqGyjjjUKoQAADgcVzXjCzg0e1+3Zp6fEJ0jEf8AZCYAx/rf/rVl+K9fn8TWkdmkf2ZV+8Q27d/KvuKfjZ4Z06MYLGNWSVvZVei/wHZhcVQpVLyf5nCXmvT6ndeRUfk/va0bXwLHbXH2g6mzH3i/+vVuHwzFEci6JP8Auf8A169Wh49eGUPjxr/8FVf/AJA9j+1cD/N+D/yOj+AfwUT41eNbPwRJrg09rrzGa4aMvhEQsQqjq2AepA9/X2i+/YI+C1heyWWo/tJWcE8LlJYZhbq6MOoIM2QfavK/gh8QpPgt46tPG1tpS6g1okqi2ebyw2+Mp94A4xnPSqfj3xU/jnxpqnjGSyFs2p30lybdZNwjLsTtzgZxnrivxXOfHCnRr4qvhK067niJ+zi51qajQ5Y8rSXKvi5lZ+93PJqZnOM5OnJvXTdaHbfFv9h/VPh14Vk8eeFvFVv4g0OJQ0txbMFlRCcb9o3Kyg4BKsTznGASLn7P37JmifEHwRN8S9Y+JUOiWlpeNAPMtwwQqFyXd2RV+8uMZ69c8VmfCj9oW/8Ahj4A134fSeHRqdrrcbqBNebUty8ZRiqFGBJyCc8HaKg8PfHa50D4Gar8E18NJLHql0Zm1E3RDR5MRxs28/6v17151DxeUcyp436/XVN0ajlQdSq1GsvgippKTjPvdqPV9DN5hOUrubtba73KngfwOfEPxwTwFpPiS3Uyanc29tqcke+OTaJNr4Dchto6H+LjNa3xc0b4o/BfxIvhzxbb2DmaLzbW7tQzRTpnBKk4IIPBBAI+hBPK/DH4c+KPil4wtfCXhOL/AEiVizXDhvLt1HJkdlB2gdM+pA6mvoL9qGHQfF3xC+HnwSutWW8v4biKPVb2QjfskMaYfaMhnClsZHUE9QR87wnmXEFPg3HYrAV6uGm68HCUZ2hUnVcYum093Fe9zLW2+iOek5+xk4trX77mB8Jvgr8RfHfhUeOvHXibT/DGium6Ca8tj5si8BZMOyqsbZ4Ytk8YGCCb3jz9nnxjZ+F5fF3wr8a6V4shtVY3Nva2371iMZEflyOJGAOduQfTJIFYn7dnjq+vPH1p8M7J/J0zRbKJxax8K0zrkMR0+VCoHplvU15/8C/jdr/wO8WN4g0y1+2WlxEYr/TWnMazr1U7sHaynkNg9SO5r67HeKDyXOJZDicTXcYPkniVVnzqa+KSppOPLGWnLZtpN6vR6zxCjL2cm7d7/ocxrviDUNelRr+ONWiyAI1I69c5PtV3T/iDrumW8VtbR2+2KMIpaMk4HrzVLxTrn/CTeJL/AMRnToLQ313JOba2B8uMuxYhcknHPrVCvxGPGfFGDzmvmGHx0/bVNJVE7SmlZK/yS06HB7ScZXTOr0CPxx8YvE1n4G0aKN7q/mCIqgqqDqzsecKoBYn0HevTP+HefhhWGj618c7C316ZQV05IkILHoAGkDsOvO38Ku/sJ2cejw+MfiLNHGw0zSlRNxXI4eRvcD92vsfwrwbV9b1TXNauPEOp3skt5dXLTz3DN8zSM24tn61+tYLxIz/h3hnCY/Mq9bE1MU6loutKnGFODUb+7q5Sd7N6JdO/oU8ZXw9JPmbv520J/i1+z7qvwf8AFb+D/FYLSeUssFzbSExTxt/EpZQeCCpyBgqfrXMf8IfpX9+b/vsf4V9Q/tJ3N38Q/wBl7wP8S7+RJbuJ0iu53K7nZ0ZHOeuS8QJA/Ljj5zrwOMuNeNsizt0sHmdZ0KkYVKd5a8lSKkk+9rtX62FVx2NpTtGo7PU7D4G/seah8cIbvWIdbTS9JsJRHdX90d2WxuIRQACVGCclQNw616DF/wAE+fh1qkT6f4D/AGgdP1HUQpaO1YRENj18uRmA99pro/2Q59M+KPwc8T/AXUTdWrOWmW+t0YqEl2jk/dBDJ90kbgTjoxrovhV+xBF8O/H1j421L4hveJplx51vbW9gYmkYA43NvOB6gA5HHev1jhfOuMsdkuX1sM6uKjWX76q8TKm6b5nGSUE18CV07S5vz6qeKxkoRak3fd32PlXXvhbq/wAO/HU3gzUrNzqdheeSIo23CRjjaV4BYMCCOhII4rodf8Ka7o/xdg8JeNri2sb37dZx30kbBo7besZySSAdqsM84yDg45rovi/8Yvt/7Sc/xL0vRVddJ1KJba11CJx5n2fC5dGwUJKk4wCOMjINcj8U/Hk/xR+IWp+OpdMW0fUp1ZbVJC/lgKqKu7A3HCjJwMnsOlfinFnF+OzKNahisyq4n2OKTpQm3yunFTXPe3xP3UtU7NtLXTzq9aVRvmk3Z6eh6l8cvhp8Svg7p0Piuy1TTNZ0G5kVIdRtoWVkLDK713EYbnDKzA45xkA8z4E12+8S6bLd36xq8c+weWpAxgHuT616Z4qtp/g/+xRF4L+IFwzarrkmbDTZyN9sGkWXbhhkbFG5uPld9uQSDXk/wj/5Adz/ANff/sq1+58McQZ5V8S8Jg6mJq+yrYf2s6E5ufspuLfI29dLJq/vK+po7qskuqvbsdPzNDR5HvUkMNHke9f0x/CompX4mmqSj/VUeT+9rm9n7UAriPi7v8+w3f3JP5rXb/8ALKuH+LP+vsf9yT+a1+T+N8OXwuxr86X/AKdgZV/4TOY+IehzPoFjqCw8G1T/ANBFcVD9o/d/1r3E6CuveB7WBfv/AGBMflXlWseG59Hv5IJ4K+/4Pq+zyPB/9eqf/pCPocuxFoJFPTYfOlkt6x73QdVEUhgg/d1sQ2fky+fBWxpvkTf6+vo/aUqXtD1aVU4OzvIJov8ATqy9f0eeaWOeCu8174bw3kUc9j/rKx9M8K38MUlvP/yymrKlp+/piqf9Oyp4Zsha24E/c19RfAX9mr4H+LfhPf8Axb+KWu6jaQWd80EptXCJCBswT8rs+S69hj071882Wj+QwyO9fYH7OvgPU/iT+yDrngjSbu3guNS1iRYZbhjsXabdju2gkfdPb0r8s8SMbmkeIsDHBym26GLmoRnOMZ1IKlycyhKPNq2ld6XdrPU8jMZ1Iumot7S6vV6GRoXws/YjF2LLwp8ZtQs7y4O2GaacKobtkywBfzIrjPjl8NPHnwY8aWPh/U/F5vdP1PDWeoxWiqSu4K4KZxuXIOA2CCDkZIHU2f8AwT88bxXKy+IPiBottZqc3E8IldkXuQGVR+ZFM/a0+I/g/wAQ6x4U+GXgbWItSt9B2LNfR3PmKXOxFTfnaxCrlm55bGQQwr8Mz7OuMXw1XxOc8+CrxlTVHkxFVOpeVpxcPayulHXm0t06nh1pVZ03KqrPpq9fxPPvib4O0LwH8fZfB1/rVy2n2epWiXd/Lt8wRlImkf5VwCMsQMHGB17+wxfAr4T/ABUsriL4EfHGeTUrWIu1rfhJA/plfLR1XJALgMBnoTxXmf7SWjXHiP8Aal1fw9aSokt/qlpbxPJnarPFCoJxzjJr2r9n79k/U/gl4ol+I3i7xTHdyWlnKsNnpUErggryx43OcZwgU5JB6gCuLg3+33xdmeCwlGUsLLETVWoqtSnKmlKfvc8akW2lrqpOXfVk0oN1ZRUbq/3Hzx4R8O/Ffxl4/Hw20Uv/AGoty8NxHIEVYNhIkZzjgLg57noASQD7bf8Aws/Z0+HUy+Ffib8dr5tZVQboW5RFXPQFFik8vjBwzZwc9CKP2Z/ElhrfiT4ofHZbIrcxpJLbwOmSkREsuMk5yfLQEcDj8vmbVtV1DXdUuda1a6ae6u52muJnOS7sSST+JrhlxjmfCGR0Mb9Zq4uriZ1OR1a1bkjSpz5E+WM4+/Nq929ErWWt45lRpqW7d9+yPX/j58HfGHwmsLfxn4Q8YnWvDF+R5OoIsRMJbJRWK5Dqw6SKACeCBxnyxfGnidTkaq34xqf6Vt23xw8d23wnm+DX2i2k0ea4Eg8+DfLGu7d5aMThV3/N0yD0IyRXIV8bxFx9m2Ix8a+UY/FUoSjFyg69VqFT7UYPnu47NN6628jGpUTleDaPQKk8j3ohhg8qpP3E1f6KHpEcHepIf9d+NFH/ACyq6ewEc/akksrS+jD3lukqg5AdQcVLND58VEP7mLNcuLw6xVJ0q0FKL3TSafqnowaTI4fD2hTXCL/ZNvg9R5Qrzb4n3a2mtyWmlqLdYuoh+UfpXrVn/rT9a8a+IVnP/wAJHcefXh1OG+HfapfU6X/guH+R1Zfh4S3RS06bULibyWvJSf8AeNdRomhTXezzJWbPXJrlNNHky16J4Vmg/d+fXZX4W4dnU0wVL/wXD/I9DEUaKp6RX3HY/s1+CfD+r/H7SvDXiTSLe/s5rS4eS2uog6MRDIRkHjggGsvxvq2ifD39oPVtvhLTbvSdO1+ZG0iWxjMTwByDGMrx8vQ9jg1V+HvxYv8A4cfFi08d2Ggx3zWIeEWbSFTIhVlbDAHDYJwcED0NYnjbVNe8c+L9S8Y3uhPBLqd5JcSRQwvsQsckDOTX8PcYZhl2KeIWTUm5wxtSacaTsqajFRXw2tzJvkfTVrU+XqTTXu737Hp/7VHwf8L6fp2l/Gr4T2cS+G9agjE0NqoCW0pHykKPuBgMEfwupB5IFT+AfBfhG6/Y18S+NrrwzYy6ta6kyW+oS2qtLGu63GAxHT5m/M1y3gX46+KPBvwo1v4R6j4QTVdP1NGFqL3eBZs33yABluQGUArtf5snkVufA/8AaVtPhV4Bufh34l+Fa6zZT3bXB3y7Q5YLkOjoytjaMYx06Z5rowkcgxXEE8bOk6EcTh6kZxdGo40a8ly3ilF3i378eX4b2unorj7OVS9rXXbZnnngb4o+Pvh5qv8AaXgjXHsZ5CokW3gTbMAeFZduHHPQ+tfQ37T2tWfhvxL8MPi14h0iODVI5o5NTgL4KIvlSMm37x2M74PYnBzmufj/AGyfhxpMgvvDn7N2m2t9HzbzqYUKN65WEH8jXkfxd+L3jP40eI18SeLTEnkxCK1tbWMrFAnUhQSSSTySSSfoAAKcOGeGcRgcJiqmMqVJU5U4qjVjCk6c1Nz/AHi3la1orXr5OzpUnFNvbo9D0r9uzwLfWXj+0+JlmnnaZrdlGguo+VEyLjaT0+ZApHrhvQ1598DPglr/AMcfFjeH9LuvsdpbxeZf6k8BkW3XooxkbmY8BcjoT2Ndj8Hv2rfFXhDwyPAHjLwanivRkTbBBckmWNeNseWV1eNccKVyOMHAArV8dftZ+KrzwpL4T+E3wr/4RS3ulb7Tc2kREik4yY/LRAjEDBbBPPGCAaMflfCOc5xLPsVKqozfPPDKjU53P7UVUSUeWUtea6aTa0eopQozn7R39LP8zxPxRoZ8MeJL/wAOHUYLs2N3JA1zbE+XIUYqSuQDjiqFS3Vpe2rA3ttLGXyR5qEFvXr1qG4b7NG0sykBU3EY5xjP8q/Hq2HrSxbpxpOLbsou91fZa6+l9zjs3KyR9C/sJ3kesQ+Mfh1M8YGp6UrpuC5PDxt7kfvF9h+NeC6vomqaFrVx4e1SykivLW4aCe3ZfmWRTgrj60fDv4pal4H8W2XjHwpO8V5Yy74/MX5XHRkYA8qwJBHoe1e2XH/BQ3wlCyaz4g+B+n3GvxRAx6jHKnBHQgtGXUe24/Wv3jCeHWe8QcN4TLszoVsLVwrqJN0ZVFOnNqVly6qUXeyejXXt6iwGJqUlGUWmvI1v2kra7+Hn7L3gj4aX8SRXcrpLdwOF3oyozuMdch5cEj8Tzz4DP4Y8S2uhw+J7nw9fR6bcSGODUJLRxBI4z8qyEbSeDwD2PpU/xY/aAvvjH4gXxx4mvYzPNEsVtp1pGwFvGP4VViccksfmOST9K9H8UftZ654q+BUPwql8LabDi1it571ZM74Y8bdsO3CN8q/NuI64A4w+IfDriHP80xOIrYLEUaVKlGGHTpOTqezioxTtbl5rN66K+r0s3PL8VVlfkaVtNNzv9P1jWvhr+wxaa98OFeC81C4J1K+tpMyQB5nRpAy/dOERAeq7h3Ga8X+EfxL+JXhr4jadqHhfWr+5u7rUI0ms2uHdb3c2CjqT82cnk8gnIwRmtf4C/tU+LfhPpL+HIdHt9V0W4mMj6fegq6FhhtjjOAeMghhxwBk575P20fB2jo994D+AOk6dqJQrHdF41C59fLiVmHtkV7suBeIM5p5diXLEYSWFp04On7GpJqUN5U3D3bz87Pvpoq+pYmfK7NWW1vyMn9vnR9J0/wCLdlqNjEqXF9o6SXu1x8zK7IrFeoO1QMnrgehrynSor74d+PtOn8V6RPDJp19a3V1ZugEmzKShSD0YqRwcYzg45rtfCPxF8ZeL/jTF8YfFGi6brU8M4c2V0SkKKBhBGMNtKdVJDYI3HJ5rN+JXjAeJv2hZfGV94fjAl1a1kl015xIrhRGChYqAQwX+736GvheO+Fs0w+Y1c+xOHqYaVfFRjThOm17ri3ztq6cpSV+RO/xXvuceIpSjNzas29jN+Mfxj8VfGrxW3iTxIyxxRAx6fYxfctYs52g4yx7ljyT6AADr/wBkX4fW3xQ8X33hrVPEV9ZWlrZG7aKxSMNK25U5dw23GR0Bz6jv3XxA8e+EvFXhK+8N6X+zx4cs7m6h2Q3ZmQGBv74McKtkdsMPfIyDnfsG6VdaR8XNesbspvh0La+1s8maIjHc172E4N4jyHxCwONxtapVjXm1Kry1aV5OMnyNvle0b2TtZWtZWKjTksRFt3v6m29r+yFbytbv8ctYV0YqwPYjg/8ALrXM/HH4Sa74E8GRfFP4bfE7+3fD00qqzmKIvCrHarb0G1xu+U8KQSBg84nvv2APiZd3810vjHQgsszOAXmyATn/AJ51rfFa88Ffs/8A7N1x8DNP8ZW+s63qVwftUcMvMG51d2Kqx8tQFVQGPzEk4I3Ae5jM341q5TjZ55TlgoU6cpU6sK9WEnUXwR5XWlz821raeti2puEuePLpo/P7xfh58NfhgnwT0v4q/Fj4l6vZpqkhUvEkaRo+51CBVidj9xjuJ59B0q3Y+Cv2afHNyvhvwP8AH3UYtUuDttPtBj2s54C7XhTeSf4QwJ7Vd0H4Ra78Zf2OPC3g/QdSs7W4W5NyZbtm2bVlnGPkBOfmH61geCf2A/Fen+J7PUvFfjjT1s7a4SWRdOEjSvtYHaCyqFzj73OPSvShj+PY0sBSwGDlXoVKNGU6jrVYy5pRTn7/ALZWfW9nbzL5anuqMLqy/rc8x+Lfh74n/Cj4gSeANS1w3krbGsZ7e3UC6jc4RguMg5ypXnDAgE9S747fCnxh8MtL8OTeO9bWfUtUt55ZrFI1xZbSgCb1OHJzyRwCMDPU+0eK9W0r4k/twaF4cubOVIvDls2POt2HnTojzg4fGFBK4YDnbkEggjxf9qzxbqXiz46a4b6ZjHp1ybG0jPSOOPjA+rbm+rV+d8ZOph8lzOVXHV69N4n2FGMq1SUY8nLUm5JyfNy/BG/+LV2a5qsIxjJ362R1/wDwpLV9c+COn/E34QeOW1Ga00+P+2dFIiZ4HVMyhG4IK8Hy2BJHIJyAfFdQ1nUtUOb+4Eh941H8hXR/Cj41+Ofg1c39x4OuYNuo2xhuIbuLzI887ZAuR865OM5HJyCOK5SWVppWmcLl2LHaoAyfQDgfQV8rnHHONr4HCSy3F4ijUUeWrBVqns7xsoyh791zLeOii1p5xKs0lyNp9dSIW8CggRAA9QK7r4B/AvWPjf4ubQtPuDZWNrEZdR1HyN4hByFUDIBZjwBkcBj/AA1xFehfC/4/6j8Lfh3r/gbR9BDz66rKdS+2FGt8x7AVULyRknOR19qnhrjPNf7YpyzfM8QsPG7klWq3lZNqF4yuuZ2Telk3qtyqWJqqa55u3qz022/Z7/ZP16/HgXw58b7pteZvKikNxG8ckvTao8tVfnoqvk9M14r8XPhjrvwl8dXfg3xADI0Lb7W6CFVuYTnZIv1xgjJwwYZ4rnrW5uLK5jvLSZo5YZA8UiNgqwOQQexBru/jz8drn46X2l6nf+G00+fTrVoHaO7MgmyQc4Kjbzn16+1e9mfiXis6ySrKOIq4XFU5R9mqdavy1IO6kpXm0pR0lzNrm2NJYypOD95p+Tep561vC/3k/Wvo/wCFes/s5Wnwdi8Fa78ddcsUvx52raYsAiAmJXIBEDkD5FwQ5zjPGSB850V8nlvHme4TFOtjJPFvllBKvOrNRUrc3LaatzWSktmt0YrE1b3k+b1bZ9f/AAx0H4B+IbS7+F/w4+NXiK+g1GGR7zTCwkRkKhXJMtsQoIwOo5x3xXgHij4S2D/Hx/hN8JtZlvwNQEFvcXqgeVIozJuKj5hHhssFH3Tx6nwT+OzfBOx1iTSPCUN3qeqW/kw6jPc4+zKAcAJtO75juPIztA7Vz/w9+Jnin4aeNYfHvh6eJ76JnL/a4/MSYP8AeDcg856gg+hFfQZ1xTw3nuWZbRxNGMJRqXq+yVRezpJ25Ic8mm5K8nZ2Tt1uVOrTnGKa9bdEdD8W9EuNM/aGudC+IHjCXUCmp2iarrIhWBmQpFvcKuQm1Tx1+7XbfFXwx8U/2XEtfFPwu+LN7eeHdbJW3m3rIEJG9QwbdG+UGVkUAnDDAHXySaTxf8XPHzypbtfazrl8T5cMYG+Rz6DhVHr0AGTwK9w/as1TRvhl8GvDX7O1pqH23ULaOK4vpdzfu1UNz143OzbVOcKvT7poyl4TE5bnWbU1OioS56NbnmqinKb5aV+a83KL95ttr4m9bhCzjOa07P8AQqfsUeNrbWvFfib4e+KZ0J8VWjylhEqmWUB/MUYGOUkZgMY+U9O/knxE+E3jT4b+L7nwlrOiXTPFMRbTpbsUuo8/LIhxyCPTocg8gisnRtM8RefBq2iRyJLFKJLeeKUKyOpyGBzkEEda900D9sH9ofStLjsdV8J6Vqc0YIN5cRlJH/3hG6rn6AV6OVZNi+J+GcNgs0wmKg6LlKlWhh6lWM6dR8zi0km9fejJNqzfzcUqlJRmmrbO1zl/Ef7M8HgT9n8/FDx9q13p2uXF1GLHSHiXBRjgRupwyyEAueflAwVznHkdd18VfFvxe+LutLrnjhTJ5CstrbQhEit0JyVVQfpySWOBknArjtM0/wDtFpVM2wRQmQnbnOCBj9a+a4h4cxOJz7DZfleXVaCmlTp+1i6c60l8U3z2im21dJ2Ste17Gc4c9RRpx8vU7vP/AE3/AEo/5ZVn6bMfN5rQ/wBVX+i1SnWPRJIZ/wDluaP+WVEMNSeR71a/cgE376Xp/qpqIO9SVHdzTQ/Z4IK6qmIo+xMyxD/rvxrzv4taOIb/AO316BDNPNa/aKp+KtHg1jS/+mlcP/Tw7cFV9keNwzTw9DXWeG9R8ny6x9S037HdeR5NEM3kS13Kp7Wke1pWN/RLnyPFKXQbGJnOfwNdrNqcHlfuK88s52ju1nHXJP5ituHUp5v39fgvgJKMeHszjL/oMqf+k0zw8vo89OT/ALzLl5e/8t/PrH1jxJb2f7jz6z/EniTyIvJgrm/Onmm8+e4r96pYaj7H2kz2KWGNibxVPNLmrkOsed/r6w4f3tWLObya0w31T2vtDpPZPAej2P8AZf26D/WVoTef9qrzPwf8Qp9HuvI8793XqlpNBrNhHfWFZ4nDf8vEeJiadb2pwnxc/wBfY/7sn/stcj4mz5MuOv2CPH/fla7D4xJsurEf7En81rkvES53Ke9jF/6JWv4J8T1yeKeMX/T/AA3/AKaR4sv95+aOV0ejXrPzpZMQUWf7npVjyvtn/wCqv7gxmIf8Q/Q/ZmPptn5M37+Gughm8mKT/prVOaz8mrFnD+9jzXRTftqPtKlQxNDTf9SlXPO/e0fuIbWqfnfva1wX72t7QipuesfBOzE1hJf1zHi7/kq8n/YQh/8AZK7f4P6b9j8JfaJ64bxKuPioV/6iEH/slfhv0gavtcny7/sLp/8ApNQ+Ox3xr1PUa3v2Pf8Ak4PxP/2Ax/6HBXN3b+XGXA+6ua4X4V/Fv4leDPGd/wCJvA8dtJf39m8Vwk8AZQhxgjJBBUhSOccDIIyK6fFfPsLlWOyWjOnOc3iHUUYR5pNQpyg0ktW71I2S6X+aqTUJxb7kvww+MviD4S/FVfFMd5cT2gu3i1C0MpImgZvmGCcZHDL7qO2a6z9r34UaZpGsWvxk8CbJvD/iYCYyW4OyO4Ybs+wkGWH+1vGBwK8yuPAvja6uJLqfRXLySEuQ6DLE5PAOBXW2vjH42Q/Cab4MjTIZdHkn8zMyI8sa7t/loxbCrv8Am6bgehAyK/mfAZTxNVyHFZTmeW4lwd6lGSoVG4VV01S9yotJa6NJpXOWPM6bhJPutOp6D40N+P2EfCh00zeZ/ag/1Gd2PMufSvLPhC/xi/4WDpi+Am1f7cbuPiMybNm4Z83t5ePvbuMda9B+GP7Q3x5+Gng208F6f4D0y8tbIFbaS4Ta6qSWwdkgB5J5xnnkmtfWf2sv2k72we107wHpNjK4wtzGhdk9wHkK5+oP0r6zFcOwzSpgsdVWNpTo0aMHCGEq3vTik+Wd0k29nayNWoScZXasl07G58c/HPh/4d/te+E/EjyW6f8AEuSDV5NuWSOVpIwzZ4GFYHI5wOeMCvPP2xvg54i8MfE+78b6bpU9xpOuOJ1uYISyxTkfPGxA4JILDPUNxkg1wPijQPip4x1u58UeKbW5vL27k3z3M0qZY9AMA4AAwABgAAADAr0T4XftAftD/DHQY/DEOiWuqWNvGEs4tSALW6jPyq6OpI56NnAAAwBiscXTzHiipjsHmmWYqjRrVvbUpxoTk6cuXkanCyupxSvyvSWuu6HJVeZSTSbutDO+BX7MEvxD0DVfG/xDvL3Q9DsrKR7a78kK0zqpJcBx80aAc4xuPAYEHHkkoiWVlhcsgY7GZcEjsSMnH0zXrfxg+Mnx5+Mlh/YWtaZDY6YGVpNP08KqSOpJDOzMWbntnbwDjIzXnP8Awgfi3/oDP/38X/GvjeI+EMaoUMJk+VYmSpp89WdCpGVWTf8AJZqMYpWj11d+7wqRjZKCenXuZFe6/sweAfBfxX+Ffi/wXc6NpkviOOJpdJuJ41E6BkwpDEZCiRQCR0389RnyD/hBvFeN39jvj/fX/GtbwUfin8N/EMXizwgktne26sFlBjYFWGCrK2QwI7Eeh6gVhwtkHEeT5zCvjcor1KLUozj7GbfLKLi3G8bc0b8y21W63FSvCd5RuiroPwo+IOv+MIfA1t4Tv01CS4EUkM1q6+TkgFnyPlUdSTxivRv2y/DvgDwZ4m0TwR4G0bTraez07dqX2KBVkd2wE8wgckqu7B5+fPcZ2ND/AG1vjN4thbw/aWuiWV15BY6ilk7sMYGQjPtzz3BHtXnuseDPEuv+Ip/FmreL2m1G4uTcS3TQYYyZzkYPGD0A4GAB0r7DAcCVc04SrLhfDzxirzipVZqlT9nGm+bkipVOZyba5npFrY0apqm4w1v1Mfxn8HPib8PdGsvEHjPwfdWFnf4+zTSlTyRkK4Ukxtjna4B4PHBqP4T+AL34n/EHTPBVmGAvLgfaJF/5Zwr8zt+Cg498DvXoHxx+K3xV8d+BrfQ/F2vWT2lk6NKtnZGJ7uQfKHkJYjIyThQq5PTgY5/4A+KfGHw/1a58X+Db2yjneF7WWO9svNVkIByCCCCDg8EZKjORxXkYjw2qYbxDw2SUqFaUJRjUcZOl7RwV+ezjNQteLW6a10ejknSiq6ir2NP9raf4fad8Q08DfDrwxp9hbaLAIryazgVWnnIBYMw5baAo5/i3V5v4e8Pa34s1u28OeHNNlvL68lEdvbQrlnb+QAGSSeAASSAK6DxL4Jvnu59a1bxGLi4uZmlnkaDl3YksTz3Jq18JPib4k+CHip/EvhcWdzJLbmCeG8ttyuhIOMghl5APBHTnI4r2MT4QeIHEHFEsTisudGhUnqoSoXhDZKMVUSuo2X42ez2+qYirV5nGyfoeyR6X4T/Yx8FLcRafFrnxB1S3OxliLx2SkY+qxjp2aUg9FHy/O3ivWfFXibWp/EvjC7urm9u5N01zdA5c+g7AAYAA4AAAAAr3q3/bp+Kdx93wloI/7Zz/APxyuf8Ai3+0l8Qvix4Ok8HaxoeiW9tNKrySQWjPJleRtMjMEP8AtAZ7ZwTn7jjDwhz3G5eqGBjUp0aMf3VBQpqLlbVzn7f3pye82tFst77VsJOUbR2Wy0/zPJdN1+XTIIo0lwAx4/Guu8N+MINRijgnFcNf2NxYIJSc4plnqX2O688z+V5Vf0nwNhKuX8IZfgsVHlq0qNOMldO0owSaum07NdG0exDCyjQipb2R6dND+5eeH+6c/lXBeFIfPmvIvWwf+a10vhbxtY6lA9hN/cOMfSsHwAyrrEwfo1ow/Va/I/FOFvEfhj/r5U/OkeROn7HF015m5Zw9quf8tajhhqT/AJa1+5+1KLEP/LSpIO9Rwd6khmHlSVHtHVMyOabyIqkhggvKhvZI5Y8Mig/WjTZooZfIMq/99U3VorRyX3mha8nyqKd50Hon/fYo86H/AJ6r/wB9Vz+2pfzL7wMXXvB8Gpfv4a4+88Hzw9IK9K+2QjHkSr/30KJjYzRfvwv/AH0KlS/vL7zSlivZHlUcEuRbr98cfiKt3l5PZ2Ek9WtMtEu/GBtFYBWuZAD7fNS/EawSwH2JJAfcGvxTwFrwp5JmSk0v9rqf+k0zoyiqlCS8/wDI4i8mnvLqTNWIbOeb/UVYs7Pv5FdHoXh6OA+fPGPzr9zxGPpUl7PmX3nt1KqMiz0GfNWNS0fybX9xBXT/AGa18ryN6/nVO8tlMXkBh+dYKvR/mX3ozp1UcJ/y+16J8H/G39m3UelX0/7uuL13Tp7X98pz9Kg067uILqO4hX/lt6V7uCr0cVR9nzL70aYmCq0dz0/45QeXdabP/wA9Y5D+q1xPiD7x2/8APlF/6JWup+JmpRaro+h3aTB2NvKG56crXM6hbveXiWiEbpYIUB9zGor+BPFNxXirjbPT2+G/9NI+NrLlxbXmjkoO9WLOi70y4066khmgzJ7UuD6Gv7dqYnCYql8S+9H6JSrRtuX/ALH53FH7iGoPNMXY/lUU9VQowjStF3Oa6Lk13/ywqxoNnPeapHYf6zzZqz7LPlfv67j4M+FZ9Y16O+8j93FXs0vY0qJz4mp7JHrlnpsGj6Nb2MB/5YV5N4n/AOSqH/r/AIP/AGSvYdSmgmuvIg/5ZV4/4oXHxUK/9P8AB/JK/n7x9/5EWW/9hdP/ANJqHyeN2Xqem3PlfZ5Mf3D/ACry/wCFio3iVw/T7I/81r1S54tpD5H8B7+1eW/Cb/kaH/69H/mtR4mTv4kcMP8A6eVPzpGdb+LA9Fhhqx+4s4vtE/7qOiHyIP38/wDq4q8v+J3xC+2SyaVYz1+7fxj1cNhvanWax8TtK02X7PY/vPK/6bVj6l8cvJikngryeznnPmGeo7z991ruw1PCUj1qeBonuHgn4waVr3mWWqz+VJ/12rqIYbHUovPsa+U5odcs/FEnkQS+Z9s/c/8AXKvXPB/xC/sfVZILif8Ad+dWlTDUcV+8pnFicF/z7PSJofKqOrln9h8SWH26xnjqv5Xkxfv6811PY1TxPZWI/wDllTb7/UP/ALh/lTadP/qH/wBw/wAq58V/Cl6M1PPfhb/yMrf9er/zWvQK8/8Ahb/yMrf9er/zWvQP9bX4h9H6p/xr9Q/6e1P/AG05MP8AwzE+If8AyJ8/+/H/AOhCqXwqj36NcHP/AC9f+yirvxEl3eE7hcfxp/6GKqfCb/kB3f8A18/+yinmMvZ/SCwb/wCoR/nVKp/7yvQo/ELWJ4ZfIgrD0eH7ZUnjabzr+T2o8H/fH1r97pXf7w+jX8E6zQtHgFWLzTYIfMg8iizm8mrkM3m1pifa+x5Di9p++OL8Vab5PFcHqV55N1XcfEfUhDL5BrzjUf8AW/jXNhqZ69PVGno+rzx38c0Peuh0G/fTbxrlDz5ZH6iuHsfvD612mlx+bcGP1Q/0r8V8V4W8Q+Ff+vlX86R52YwSxtBeb/Q7uGHEUdST9qP+WtFftXs/ZHmVNixB3qP/AJa0Qd6P+WtaUqhmd7+yTofgqXRvH3jHxR4LsNWm0b99D9tgWQ7Aszsg3gqudg+YDPPccUxP2ufgfMwhvP2ZdLETHEhSK2Yhe+AYRn6ZFan7GEGi3Pg/4j2/iC6eGykwt/Kg5jhMc4dgeeQu7t271c8A/s3fsj/EOW4fwT4x1bVjYBZLq2S72ttOcfKYlYg4I+X8xkV/HdPCcS1cqwVPJKuHhOpLEOUaipc02q09UpQlKVorW3zJgqrpR5Gtb727nGftK/CT4Zp8OtF+OfwgsjZabqkgjurIyEKGcMQyqxO1gysrKpK8DAGCT3/i7xX8I/gN8KvBuo3XwQ0jVDrOmI7/AOjxBlcRRuzF5EdnyX7nPFeY/tJfH3wr4y8Oab8Jvhhodzp2g6O/7xbhPLMrICqKEyTtHJyx3FjyARk+wfEvw98Cte+EvgSP40eLLvTIYtHiOmvbkqZSYId+cRv0AX8+9cOAll1bM83r5HOhCpGjQ/eNQjRVXmSquHOmoxlqlpZy+TFHlc5uFtl6X6nK+C/i/wDs2fHHxFbfDrxP8CrPSX1CTy7K6t0jX96eil4ljdMnAGMgkjOK8z1v9nLUl/aLk+CGhX7eTJcB4b2RRIYbUp5m9wuMsq8Y+XJA6ZFe3fAX4f8A7I1n42i1H4beLTq2s24Z7OLULpgyHactGhRAxAzzhsdeOtVPgbL4k1n9r7xrqHjfTI47+009o4QkjOkEfmRCMIxAyGjwckAnJOBkirxHDjz/AAeWwzmVGrWq4nl9ph1GzpKDlKE500o8zt7ttUtb7jdP2kY89m2912Mrxh8QP2bP2b9QHw00T4SW3iK+tUX+1Ly7WNyJdo4LyK5LdyqgKucDnIGb4/8Ahr8Jfj78J734yfBjRV0bVdKV31bSIogBIFUFl2KdqnaCyuo+bkEZ+74N4vvb3UvFmp6jqTMbifUJpJy+c7y5JznnrUFlres6bZ3Wnadq91b296ipeQQzsqTqDkB1BwwB5AOcGvzzF8fUcXVxGCxeCpvBtSjTpxhGEqTV+SUZqPNzJ25rtp3elnY5niE24uK5fyKtFFFfmRzHt/7Nnwg+H58C6v8AHf4x2yXOiaaGSzsS5/eSKVJYgEZJJVFUnBLHIxg11fg34t/sxfGrxJb/AA2134HWekpeyeTp15HHHGS/8KlogjIWwAMFgSQD61neK400v9gXRY9MXC3moqbsrKDkmeVjnHuq8dR36GvB/B91dWXi3S7yxB86LUYHhw2DuEikcnpzX7Lis6XBkcsy7DYelKnUo0qtbnpxm6rqttpuSbslpFK1vM7HP2PLFJbJvzubHxn+GV38IviLf+CLm6E8du4e0uARmSFxuQsOzY4I9QccYNcvGypIrtGHAIJVs4Pscc17t/wUAsrKD4q6XeQKBNPoi+fhwc7ZZAvHUcdz1/A14RXwPGeVUMj4qxeBoaQhN8q3tF6pa9k7GFaCp1XFHa/F34neE/iJY6HbeGPhtZeHTpdo8V0tiVK3DEJhs7QxxtP3ix+bqeSfe/2ZPEfw28afDaeTxD8HdHgsvDGmRx6jrd5aQy/apFTLnBiz90bjkk/MOua+T694+JHi3TPhp+yr4X+GPhqQJe+KLRdQ1V14YxMd5zj+821B/sxkV9bwTxBiaWa43O8bKDjTo3lHkhacvdhSgko2jeXK24pOyd92a0KjU5Tl0X/DGR+zdoHg34oftJyTSeDbRNGH2q8g0mQF4olH+rUhiQ2Cw4Py+2MAdt4o/aY+EPhzXtQ0dP2ZdNuIrC9lt/ta28CrJscru/1BxnHrXl/7Mvxj8N/BPxxc+JvEuiXd5Fcae9ujWTLviJZWztYgNkqB94YGTz0rv5P+CgXiF9RaFvhlpbaSzEGza4fzDH6F8bc/8Ax7V7PDHEOSYHheMZY+GGxFSrUlP/ZlWdmoqKacbRit1y33slo0XSqQjS+Kzv2ueR/GHx74b+I3i9vEPhfwDZ+HrYwqhtLM8Ow6u2AFBP8AsqOnOTzXCyRZuHPq5r6G/ap+GngS68GaJ8e/hjpDWVjrexbyzggVIYiyEq2xRhGyrK2PlJAPUkt5P4c+F+v+IJYbuKORYZRuVh3Br9M8Gcvx2V+IWZwxs4zlOlGanBJRnGclKMopJJJp7JaO56OV1Pq+Jnz9UYvhXQb7XtUjsbGD/W19AeD/AArY+CdG8j/lpWf4J+HuleD7X7cYI5Liti8vJ7yav6ep1KtU3xOJ9sV5v9bJPmvI/FHHxVJ/6f4P5JXsH77yq8h8W7v+Fstnr/aEH8kr8O8e/wDkRZb/ANhdP/0moeViNl6np91/x7Sf9cz/ACrzD4P/API2N/16P/6Etep3X/HtJ/1zP8q8s+D/APyNjf8AXo//AKEtZeJ0LeIvDP8A18qfnSLrfxYHbePNY/sfw5iD/lrXhd5595fyT16x8Wpv3vkV5vDpvnSyV+603SpH1OC/gmf9jn8nNV7yHyf+eVdReWcFnpcnFcvN++lxWftf+fZ6NIPtlx6D86j8797R5U3pRD/z3zXT9a+q/wAMKlM7j4Y/EKfQLr7DPP8Au69c+2WOsWH26CvnOzm8m6jr0T4e+Np4ZY7Gf/V10L/hQPAxuGO4n7U2f/UP/uH+VOm/fRZpv/LB/wDcP8q87FKr73ozyTgPhh/yMjf9erfzWvQa8/8Ahb/yMrf9er/zWvRJ+1fjH0eKlGn4fLn/AOftT/205MP/AAznviF/yK1z/vJ/6GKp/C//AJFy8/6+f/ZRV34jLs8MXC/7Sf8AoQqp8KTu0G7iz1uf/ZRWObezp/SCwfb6o/zqmlP/AHxHJeJIZ/t9XPC9R+MIf9PkqPQZhBX7/hql6X7s+i/5dHaQzUXk32K1knFU7ObvVfxhqQhsPIP/AC1rPE1TmpU/3xwfjC8nvL+ufvJvOrQ1KY+bxVOssNVpVT2qYy2h+QfWu78IWz3WsCJFyfLJx+VcRYGcTiD3r0X4ZReb4jYelq5/Va/EPEyd/Efhb/r7V/OkeJmsuTGUX2b/AEOin7UUQw9/+mNWPI96/bv3tU8oKjqSoNdWS00a6licqwgYqynBBxXLmGLjl+Aq4qSuqcZSa78qbt+Am7K56R+ykjv8MfiqUUkNZOFIHU+Tc9PzFeNfB34n6t8IfH9l400zc6RPsvbZWwLiBiN8Z/DkHswB7VU8GWWt6ml9p+l+IJ7KKeFUvI4pGC3CZztcAgMMgHByMgVc/wCFZT/9BmP/AL9H/Gv4eo5Hx9xdlWW5lkuBklQdVxqKpT1k60p6KUotcr93Va27HN+9nGLitv8AM9H/AGvfhhpJnsvj34CZZtE8ShZLpo+kdw67t+O28Ak+jhs4yBXffHb4MfEP4sfCL4f2PgnRVuJdO0hDdpNcpEY91vCB98jnKn8q8En8GeJLvS7fQ7rxXPJZWjM1rZuXMULMcsVUthSe5A5roNE1H4zaFYxaHonxd1e1tYF2wW8N1IEjX0UbuB7CvsaPBXE9fF5g8VktSNLGRp88adagmqkZKcnHmlZRlJXSd7a99NFq5Xi7O21jtPgP+yF8W/DXxN0vxd4yittLstKuluXZb1JJJduSEUISME4BJI4J69Kg1X9oPw14e/bGuvH1rfmTQ2VdNvrqJzIrRCNVaRAo5UOobjOQpI6iuL8QzfE/xbYnTPE3xd1O+tictb3NxIyH6qWwa5//AIVXdb1j/tdMt/0xP+NYVuCuPMqwVDB8PZRUpxp1o13KrWoylKcVZK0ZRSjZ621fl1bVSMUqcet9Wj1r42fsgeLvFHjGbx38HFstS0jXD9sSNLxIzEz/ADMQWIVkYncpB4zjHAJfqvwb+Hf7O/wJ1O4+Lllp2peKdeiaPS7bDObdwBtEbDBXaTudwQDwmTkbvI/BPjL4keGtVbwd4T+IOp6XA9y4ZbS7dY9wBy20HGTipPFfhbxNrWsTar4k8VT6hdvjzLq7LO7Y4HLMTwK8fK8kqcQ08XmmQZJKeIk505c9Wk6NKpJe+4Qk4yk7S92/uq+m1ghH2l5U4a+qsjjqK2h4Nl/iv1H/AGz/APr1PbeAXuF3DVVH/bH/AOvXyEfBXxOntl7/APBlL/5YYPCYhbx/I9s/Z2OifG39nvWv2eptRFtq9q7XentMcqVLq6sMc4EnytwSBICM5wKnwe/Yu+JWlfEew1v4gw2dppWl3a3Mjx3iyG4MZ3KqgdAWAyWxxnvXiEVrcaH4pitLe+kV4rmMCeFijDJByCDkHn1r1fWb7X/FOlR6T4j8X61e2uBm3udXmdDjpkFsH8a/ReCOFKvGtJRx2ETxWWNUdavJGfJKTjCajTqaQaavF6+aOilFVUuZax03Mr46+Irf9oL9ogaf4NvY/IuJ4dM0+6upQsT4ODJnshYsR1JGOMnFVP2hP2cdS+AsmmyzeKbfVLfUVcI6weTIjpjcChZsrhhhgfUEDjPHePbLR9CnEeiqY2ByCXJ/mazb7xT4r8Y3qXnifX7zUZo4xHHLfXTysqDooLEkDnp0r1a3gRxZnlPG18ZGhLGV5qcairVFGCbvJcnsrO60V79Nra9iyjE1YObtd+b/AMgTTNRk059XSwma0jlWKS5ERMauQSFLdASASB1OD6VY8QeI9T8Sz202pSlvslhBZ26Z4SKJAigemcFj7sa7D4ZeDdP1jTrtNQacxSqFljjuGRZACCAwU/NggHnuM1z2u6Fptj8QDoFtCVtftkUewuSdrbcjPXua/LeL/CXingnA0Z4urTca1SNO0JSfvvmabvCPupLzd+h5tfC1MO7SZD4a1fwfptjfweJPB0upz3EBjsp01RoBaN/z0Cqh3t7MduM8dCMevYF+EPgh+mmSf+BL/wCNOl+FfhBYfIGk/L67zn8+tfVVPo8cfTpxhKrhrRvazknq76tUk5eTk3ZaLQf1Sq+xgeMfj7ceJvgzo/wYsfCsVlaaXIjvdG58x52UNk42DZlnLcZ9PXMHh744z+H9FttHi8NRyfZ4Vj8w3RG7AxnG3iuji+EngZvvaZJ/4Ev/AI1qw+APBcESwr4atCEUAF4QxP1J5J96+zyTww8YMux8sXSzOjSn7ONO6XN7kPhjZ0kkl3Wr6lxjiFK/N5HIN+0JqLMzf8I5H83/AE9H/wCJqD/het18v/FOR/Km3/j6P/xNds3gLwhHvz4bsjjp/o6/4VXh8E+EZofOHhyz/wC/Ar66HCfjg9s+p/8AgqH/AMqK5MR/Mcn/AML5utu3/hGo/wDwKP8A8TXOJqdx4q8fQ6rFYlXnvImMSEttClQTnHTAzXqQ8BeFpfu+GrIf9sFqS28N6BpM/wBp03RraCTbjfFEAcema8/HeFviVxHWw9PPc3p1aFOpGpZU0neN9rQjrZtau2t7CdKrJrmkTXX/AB7Sf9cz/KvMPhAdvitm9LN/5rXp99D/AKFJ/uH+VeXfCOPzfFTr/wBOj/zWu7xP/wCTjcMf9fKn50jSt/Gganxb/wCP8/8AXGuP0eEzeZBXcfFqD/V33/TGuL0H9zdV+1U/+nh9Tgv4JY8SQXH9jSVxcMNdx4km/wCJXXJ1HszupFP/AJa0T9qJvIhi8+eib99+/gn/AHdSUFdD4V/1tc9DD58tdR4bs/3VevhvY0v3hz1Nz0jw3qXnW1aM/wC6gf8A3D/KuK0fUv7Nljrro72G7tHm85c7D/F7VOY18NGjLldtGfN4qnaqcL8LX2eJWP8A06v/ADWvRPO/e1518L2VPEjF2AH2VuSfda7+a9gh/f8AnL/30K/Bvo/VKcPD9KTS/e1P/bTzMP8AwzH+JH/Iqz/76f8AoQqj8Kv+QJd/9fP/ALKKn8eX0d14WuoxIpKPGAAf9sVW+FkkaaPcB3A/0nuf9kVhmlanV8fcJK6t9Uf51Qb/ANoXoUfHmmn7X59c/ZzeTLgV6F4k02C9j8/zl/76FcBqNqtpLwwP0r9+y7F0aX7tyX3n0GCqqrubOm6liWsvx5rHnVX+2eVFHzWP4kujeRcD/W1riJUKv2l96O6nTRjzTYl/f1XvNSgs7Xz6WZ3837h/Ko4bWOfzIJ0Pl9uK5qdbCKr+7kvvO6k0X9GlgmmjmFeh/C6byPErP62rD9VrgdHWISxwwqQIvUV2Pg28FjrBm3YzER+or8U8VOSXiNwvytP95V/OkfNZs08VS+f6HZUf6qj/AJZUef7V+31Kf/Ps88kqv4h8z+w7vPT7O/8AKrEP/PfNVNf/AOQJd/8AXu38q8PiG/8AYON5/wDn1U/9IZMvhZj/AAx/4+Lz/cT+Zrq65H4c/wCsvP8AcT/2aum1jUoNNsP+WdfCeBkaa8LcFJ96v/p2Y8J/DRHrHiSx0eL9/P8AvK5u8+IX/PGuX1jXp9SupJ6z5ryv2DDYaj/EPfw2ConUTePL7za0NH+IX/PevP8A7Z7/AKVYs7yu1ex9qdX1Wj/y7Oy8LSR3XxAjmX7sl1Kw+hDGu61iH97XmGh6i+manBqUQ+aNtw/Ku7m8VQXkUZnr+dvAanJ5Dmc4/wDQZV/9Jpnh4Cjz0p/4n+hHqcPk1HDeeTFmrF55F5a/6PWXNN5Mua/eKe3Izq9mY+py+b4zEvrdR/8AstegalrENna15tfS+V4gMx/gmU/litHXten1KKvwPwfhfPeI1/1Fz/8ASqhy5fR56lTyZj69N/aV/JijR9HnmljggqP7HPPL+48z97Xonw98EeTFHPPX7vTqey/hnr1KvsqJ1ng/R/7H0aODya828Xf8lbb/ALCEH8kr1k/uYo7evJPFP/JVz/2EIP8A2Svwrx8/5EWW/wDYXT/9JqHzmN2Xqev1JVeDvViv3Y0Co+IZqkmPk2uKp+d+9o0Asf8ALKo/J/5YfpUcM3m1YrH+EaBVeb/XfjUs3+p/Ckmh/wBXWxmQXP8Ax5TwdfkP8q8q+Ef/ACNL/wDXo/8A6Eteo303ySf7h/lXlvwnbZ4mc/8ATo//AKEtfg3iZ/ycfhj/AK+VPzpHPV/iwO1+INn52jRz/wDPKvM4c2d1JXsF5ZwXulyQT/8ALWvI/EkP2O6kr9m9n++Po8DV/wCXZJr03naVjNcnNN+9rYmvPOtfIrn5oa1qfxj26RX1Iz+VHP5H+qmqTTYTZ2EcE/4VJB3qOaf/AJbiuapTD2ZYs5oOldBoMwgrm60NHvPWu1VDKpSOk1DUPMt3T1Uivobwtf8Awy+Ff7J+h/EPVPhRpeq3WozNBO8sEZkaRnmAkLyK54EY4GBzxivmR7rciL6ivq3Q9I+F+sfsZ+GrX4qa9cWGmrIzwzwZDG4Ek+1OFfjlu3btX4h4iUZ/61SlQcI1I4Go4yqcvLGXtoatzTS0urs+bzGm4V1bfle/qeDfs/at8NtN+IUdr8VtDW+0nULdrRg8e4QSO6bZTyCoGDllO4A8V3Pjv4EeF/hv+1J4d8Hw2C3Wg6zfW0sNldTF9sbybHjYghiAQcZ6jAJbBzxv7Oc3gLTPHc3in4j6TPe6domnNfCG3iZz5qyxKhKgjIBb+I7fXiurk+Mknxu/au8MeJVtprXT7fWLW3022lIZkjEmdzAHAZmOTjOOBk4yf5tyH+x5cM4aji1TlXliqfsko/vOTmSqe0drOm9oxbfvX+XiU+T2ST3urHofxi+OHwd+D/j268BTfs9aNfNaRRN9ojt7eMMHQPjb5JxjOOtVfDOn/s/ftb6LqulaF8O4/DXiOyszJbPaqsY64V/3YCyLu2hgy5Abg9xp/Hjwb+yjrHxMvb/4p/EHULDWmihFzawOwVVEahCMQt1XB61ufC/w58KPB/w18Q63+zHdW2s6t9hbdNc3rNMXCsUVgVynchdqhyACe4/XVg81x/FOJwmOq4SrgU6t6MVSlWUFzcqjGEVUVSOm7umn1OvlnKq1Jpx100ueCfszfs/23xV8V3154yuDBoegENqe18Cd8n90JARtXCkswJwBxjcGHc3P7Tf7M2h6n/wjGj/ACzu9Ht28gX5soPMkjHBcI6lmzyQWcMepwTTfhbPeWP7EfjPW7SJheXd9OtxcfMXmVvJRiTnn5WcenXPevnKvyrFZtLgbI8vp5ZSh7XEU3WqVJwjNtSk1CC5k0klHVLd6q3Xlc/YU4qK1erPZv2m/gb4O8L6Hpnxf+E1xu8Oa1sUWy7mFu7LuVgzEna2GyrcqwI7gL4zVqfW9ZutLg0O51e6ksrV2e2s5J2MULN94qhOFJ7kDmqtfA8Q5jl2a5nLFYPDqhGSTcE/dU7e84r7MW7tR6eS0XPUlGcrxVgr6R0DwX8Hf2afhNpPj34r+EIPEHiLWj5tpZPtkWNWUMFAf5MKu3c+1jufAyMV866XDDcanb29wP3ck6K/zheCwB5PA+pr3v/goEz2/izw1pUK4tYNHcwAMMZMmDx9FWvqeDvY5ZkWZZ57OM6tBUoU+eKlGMqkmnPlaabSj7t9mzWjaNOVS2qtb5m3oem/Aj9rjw7q+k+FPANt4Y8U2Vr5tm0SqikZ4b92AHXICtlcqHBGa+Zry0uNPvJbC7TbLBI0ci5BwwOCMjryK9a/YfurqD492kNuDsn065SfDY+UJuH1+ZVri/jnZWWnfGPxPZ6eoEKa3cbAHDAZkJPI9yeO3TtWnE9WGfcJ4TPKlOMK/tKlGo4RUFOyjOMnGKSuk2m1vp20dX95SVRrW9je/5ZUQd6P+nf8ASiDvX+i9WodZJ5P7qqmuxbdAuj/0wb+VW6qa/Nu0S7GOtu/8q+c4g/5J3G/9eqn/AKQyZfCzE+HP3r3/AK5p/M1k+PNenmv/ALDir/gqbyLTUJfRE/ma4zXrzztUkmFfDeA0efw2wS86v/p2Z3ZXC9NMjm/dUyb/AFP4VF537qo4f30ua/Xaj9jWPoCSzh86rn2OeH9+TRZw+TL1q55P7qj6zS/iUw9oT2+/y0x12j+VX7eWT7F9qc8REDiqKnac7enarC3cYsZLYq25yCD261/I/AHiDlPB3B2dU3iY08Y61edKEk23LkioO1rO8lazfQ+cwuLp4fDVVzWldtfceueCv2c/jxquj2+txeBW+z3UYkhE99BE5U9CUdwVz6EA0eKf2ePjX4f086ne/Di8njX766fNFcOP+ARuWP4Cu7/aM8ZePvCHwc+HMngXxBqVg8+kILk6dM6FwLeDbu29cZP51zn7MXxQ/aM1/wCKun6Zcatq+q6XLJjVl1ENJFDDg5few+Rh1GCNxAHOa+oxfirjqOe0slqVK7rTVNc8YUZRTqRjK/LyJtLm11vZMUsbNVFC7vp2PIPDfhTxJ8SPGUegeEdEmvLy4fK264BAA+YsSQFA9SQK9Hk/Y++PDJ5cfgiID/sKW/8A8XXdaHY6Dp//AAUCmi8PlNjxzSXSxnhZ2tGaTsOdxyevJPPYef8Axp+LXxv0n4t+I9M0Pxz4ggs4NYnS2ht7qUIiByAFA4AxXxOQ8UV+AsFmOPxNWpUqVsZVhP2Sp8rlBczlacZWu5PRPTRGNLETwylK+rk72sZHin4e+JfhBNHJ8QfAmqWsZfYl0qJJA7EEhRIrFc4BOM546Vf0L4mweIb6Lw94W8Kare3c5IhtrWAO74GThVJPABJ9AM1618NNZ8e+Ov2YPFp+PCTtYx2Up02+1GMxzSqse4NyuWCyBNr4JJJHOKwfgQmmfAT9m7U/jxeaPHLrWpu0OlNPDyqFvLjUHqFLhnbBG4KPQGvp6vHXGlbMMNVw+M9ng6lGdebqUYe0pwg7SulZPmdlB6XveztqVK1arJNy0avqtixf/Cr4x2mnPqUvwwvHWOPe0MN9bPJjGcBVkJY+wyfSvAvEuqsvxAm1W9025tmgvUM9pcx7JY2TaGVlPRsqRg10mlftS/HXTfEieJJPiDe3LLP5klncMDbyAnlDHjaqkcfKBjtg4rW/al+I3wo+KmpaP4x8B20kOq3Fl/xPo/smwB+Nqs3HmOvI3AEFdvPGB+d8ceIlHjfIFUoYqUZYapCoqdWNJSnvFSg4JXcbtyg76a30OWrVhVhdPbo7Fdvjj4dfrpN7+Sf/ABVP/wCF6eHNm3+yb78k/wDiq8trQ8JaI3ibxVpvh1FYm/v4bfCHB+dwvH5151Hx48Sq9WNOFaDcmkv3cd3oZrEVWz3HwPb+OPinYi/8G/DfVp7Q523s5ihhfBIO13cBsEEHGcEVnfES48V/DF1/4Tf4farZRO4SO6KxvC7YJ2iRGKk4BOM5wOldH+1n8YfEXwq1TSfg38KNSk0Sw03TI3mNi22Q5yETd94AKuSc5YvzmrXwB8b6r+0Z8KfFXwq+Js51W5tLMT6ddTECbkNsO4DlkkVSGOSd5ByOK/V5eIucVM1qcPUMbJ4+EX77pU/YyqRjzOCVudLRpSb3Wz0v1815+zT978Lnl8Hxt8PRfe0q9/AJ/wDFVL/wvTw5/wBAm+/JP/iq8uZWRirDBBwRXW/AjwZY/ED4u6F4T1W1aa0ub0G7iVyu+JFLsMjkAhSOOeeo61+WYDxt8S8xx9LCUq1PnqSjFXpx3k0l07s5Y160pJLqeveBvDvxI8eaYuteH/hhqv2SVA8NxdvDAsqkAhk8x1LAjkEce9c74z8V6t8Nb1dJ8ceA9X06aQN5JmiTZKBjJRwxV8ZGcE4yK9J+OUP7VHi3xvc6J8G9Mv8ATNA0eJIoJLa4jtBdOFBZlLFSyjOwAfL8nrXk3x4+MHxM8Q+DNL+Fvxb8CNaavps5nfVbxGSa4XlVKqAFwRkMwLBioIwRX6dxL4ncRZHga8FWrRq0tI1KmHiqFaSaUowtG668rcmmlvtfpqz9nF73XW2jOh8CaT42+MGmXGreBvAt7cWsLmJrmeeGFC+PuqXcbiOM4zjIz1FZ/g79kz4+eG9VfULvwTHIpgZAsWq22ckg95B6V5f4R8f/ABA8GmS08EeK9T0/7U6+ZDYXTp5rdFyFPJ5wO/NfW1jZ/G/4QfAG71q4n1fxT4vvVVjC05uRp+4YG1CTv2A5baDuYjqoyPnuH+LHx/icPmWZRrutl0Z1HOmqfIm9UlBU3KTlyq0XfZu9kTSca2sk7xPCNN8ctB4pbwdqmi3tnfJM0UsNzGFMbqCSGGcjpWT8T/Cv/L9bwfu5a5vwVfX9/wDEK31LUbmSa5muZJJ5pmLO7lWLMxPJJOSa9Q1KL7ZYSQT1+teEvF2b8bcP4jGZhJOUK0oRslH3VCDSdtL+87s68vxDSbfc8D1Lz9Nuvs9V7ybzpfPrc8VabN/bN59og/dxf6mubm/1341+rfwj63C1bkdRz9qkm8+q8/akegSVcs/3MXnVn1Y8791Ue0/fGNQvpJsngUd29K+l/iFG4/YL8K5Q8aopPHQeZc8/qK+YtDVTfOSoJEZwT25rvfDHh3xD4v0E2MniCePTrKV5IbWR2eJHIG5lTOFJwASOTgV/OviZis4zzjfE5NluEdaqsE4O04xsp1ITc/esmo6K17tvsfIZxOVTGOnGN7R/N3Ok/ZQ8U+GfDfxcisvGEKNp+t2M2lzmU/IPO2gb/wDZJG0+m7PQVuJ8HdR+Dv7Wfh3wuqSS2UuuW9zpc+MmS3MuecfxLghv93PQivKvDHh9/EmpHT0uhCREX3lM9COOvvXU6x4S8Q3uqpruq+P7m6vk2bLydneVdmAuHLEjGBj0xxX5Hwhw5xRn/DVCeDy111QxCnTqKpTg0lyupTak02naLi7aO+ttH41JSlTVo3sz1n9pn9mj4wfEj4wah4t8I+HYbixuIIFile/hjJKxKrfKzAjkGtv9m/4PeIf2bNP1/wCKPxZ1K1sIBp3lizjug/AbdliPl3EgKoBJJYjrgHyI/EX4yRERn4763wMc3cv/AMXWHrx8S+PbxH8WfEy71KSMYja+leTZ9NzcfhX6d/qRnmEz+pn2CySvLFSlOaU6+HVNTne7tGXM0r6K+uzfU6/YzVT2kYO/qj0j9kz4leEtVl8RfBrx5P5Vj4skdrHznJzNICjR7sYDsNpVuPmT1IFZOq/sL/Gu28SPpWlRafc2Bn2w6o16qJ5ZPDMh+cEDqADznGetcHD8MRKfl8Qx/wDfg/8AxVdZZan8Z9O05NIsfjPrMVtHH5ccKXcoCJjAUfPwMV4WE8OuMMdlFHA8QZNUqewcvZzpVqEZcsnzOE+abTV7tNWaWi6t4qnNwUakXptZo2P2nvC/wf8AhX4M0T4TeGLG0uvE1kwm1bVEiKzBWXJDsODuYgqhLbFHbcCfEK7GT4VXcpM8mvqzMcszQkkn1zupifCmZ/8AmNp/34P+NfL8Q+F3iPneZSxVLKFRp2UYwjOjaMYqyu+dOUrLWT1b7KyWFSE5zuo2ORBIOQa+pPHvgh/2uvgx4c8afDy7ibWtGjNrfWd3KFLNsUSIW6Btyqy5wCr5ODxXzZdaKum+JV0SeXzVW4jR2A27gcfl1r0bw/odv4Tvhqfhi/vtPuAMedZ38sbY9MqwyK6/DDgfPs2/tPL6tKEqN1SrwlUcJxnCTcZQlGE03CSfk/QqhGXvRaunuemfAH4Mah+zRZa18afjHNBafZNOMNrZ286yvhmGeR8u9iERQDzuOcV4d4A8D6v8fvi0dDs9St7KXVbua6uLi7mUmNNxdyq5BlcAnCLycEnaoZl6nxPaXXjWdbjxbrOpak8YxGb3UZZNo9gzcfhWVYeENH0vUYdR06GaCe3lWSCaG6kR43U5VlZSCpBAII6Gv0DMvBXiDG/UsBhqdGOCw8nJxlWn7So5NOblKNG0bpKKUVotn20nTb5Ype6vxPQ/gB4O+EL/AAH1T4wfFbRtQ1M2OotDORfSkqg8sLsRXQdZBnJJ469qmt/iF+w1rEo0uXwnrWnrOdpvHluAIv8AaJWdj+hrU/Zw8J6R42/ZF1vwtrfiWHSrW91iQT6hLjbb4MBGdxUclQOv8Q+lUtM/Yk+FiafJ4t1D43C90ay3NfXFlDEFVVGWBkDuFwME8HivEwz4zlkuWyynD0KsJUIyqSq+z5nLmlzOTlNTa5bXav11uaKNXkjyRT062OH/AGh/gl/wp/xVpE2g+I9RvvD+tbTbTPc5kQgruTeo2nKsGVsdD0O3J9U+Kmk/sk/BK/tPCvjTwJqlzNc2ImWSG6nl3puKZYmdeSVPGMV5v+0z8ZvBvxI8SeHPBnw6cNomg7I4rpoGRXY7Fwu4b9iqoHIGTng4BPsP7S3wM8CfFLxZYax4q+Lll4emt9OEMdrc+VmRfMdt43yKcZJHTtWeCk6lbO5cPqnX5J0FD2kozprmUvaqEqkkuXmTtrqkrXVgilefs0nt/wAE47wz4B/ZJ/aA+0+GPhidU8OautuzxpvceaB/EUd3WRQSMqCrYzyBzXjPgX4A+KPHHxbm+E6ww213ZTyrqVzNGSsEcbYd+mTnIC+pZeQDkfSvwC/Zw+HPwx1O4+IHhnxmfFd/bW8kdsLKSEIhZeQoDkbyPlBZwMMfqOV/Zk8SXl+/xW+LF5p5t9XVXmMRAAi+WeTy8Y6hkAJPXH1zFfIa+JqZVSzOEcNVqTquccO3GnKjThzv4G4Kbat7r2d277N023BS0bvt2RQ17Sv2FPhLqbeAte8M32t31m2y+vlLyFZM8qxV41yO4RcDoeQa5L4//s3+CvD3hC2+NHwY1BbzwzeFfNikYs1uXYhSpKg7M/IQ/wA6tgHOTt8fuLie7ne6uZmkklcvJI5yWYnJJPc5rZtPiV46sPBM/wAObPxLcx6Lc3HnT2CkbXb643bTgErnaSASMjNfn+L8R6WbYbEYXF4ZU4OL9jKjeM4SXwc0uZc8WtJ31e61Od4pzTTVu1jC2qeqjgYHFL7UUV+d/wBr5t/0ET/8Dl/mc/tKndnuHwS+AXw9j+Gs/wAb/j3eXNvo4kH9nWkUhU3C5K7mCjedzcKFKn5STwQar/FL/hlPxZ8OtS1n4R6ReaVrWmGF0tbh5FE8TSojHDO6tjf2Ibv0zXQ/tSQnw3+zh8O/CtkJBbyQRzSbo9uXFup+bng5lY4+vpXzuGYAgHqMH3r9G4qzDB8NJZJTwdKbdGLqVZx5qrq1Iczkqm65XJcqXbW9zoqyVP3LLbV9bs+v/il8fvEvwN+EngO98PaNYXbano8SzLeK4CbLeEjaEZcfeNWNZ+OXjv4lfs5S/Ez4P3dvZ6xpx/4nll9nEzxBR+88sMCOhEgJB+XI+8K8U/aF+MPgf4i/DbwP4a8L3VzJd6Lp3l6gs1sUEbeXHHtyTycx54yMMOc5AyP2Z/jZJ8GfHq3WpyyNompKINXgUbsLztlC9yhJ9ypYDrX12I8RqkOKp5dLGtYGrSp01ODX7qTpQ/eRkrO8Z35lfbm6o1eJfteXm91r7tDW/Y71K/1P9pLT9S1K7e4uLqK8e4nnbe8jmFyWJPOSe/Wu9+Jn7b3xB8EfELWfCGn+E9Gmg03UpbeKWZZd7KjEAnDgZ4rifh949+DPgH9qdvGfh/UrqDwuJZ/s0z2bYjMkTKcL94RhmOPl3AYBXqa7Lxb4f/Ye8Z+J7/xZq/xX1FbrUbp7i4ELSBA7HJwDbnA/GuDh7FZvg+EqmCyrM6NKvDFVHJyrQjzw5IpSi5X5oykm0+pNNzVLlhJJ37nQw/Eu3/aw/Z38VWupWDaRqGjwefMLe5cwuUQyoxxyVOxgUYNjAPJxjlNftD4q/YH0qTQ9839i34kvVCcriaVW79B5qnPpzx2g8Y/Hf4I/C74Yal8LP2e7W8nuNUUpdaxKGUYZdrvufDM23gAKqjdkHseQ/Zv/AGhrX4Sm+8IeMtJOoeGdXDfbbdIw7xuU2llViFZWGFZT1ABHTB7Mw4lymtmdLBZni4VKtbCzw9evT1hGUp81N3SSly2Sm0ra3v2qVWDkozd21Zs8qrc8VfDbx14I07TtW8V+GbmyttVtxNYTSgYlU89idrYwdrYbBBxgivc7bSf2B/D+p/8ACZW/ia9vRAxnh0VxO8bMOVQK0YLYOOHfB/iJGa8w/aI+Ot/8cvF6aktn9l0uwVotKtWHzhCcl3wSN7YGccAADnGT+a5nwvleRZTVq4vG06uIbiqUKE1UVr+9Ko7aK3wrRt76HNKlCnBtyTfSx5/XT/BXV7bQfi54a1e8ZhFBrVuZCrYwPMAJz6c8+1cxXufwu/ZL0XxJ8OdN+KXiX4w22hpfOWtiYAFjKswAMkkifPlDwB24J615nCmT5zm+bReW01OdG1R3lGKSjJatyaW7S36kUoTnP3empnftzabc2Xx3mu5t2y80u3lhLHjaAUOPTlDXQfsBxNYeIPFPiq4ZltbHR0WY7sLy5fn3xG3613nxM+Ekfx40u10j/hcvhPWtX0+E/Y5o7PZMwwN24w3J4JAJ+QgHOAM15ZoesfGD4ba/L+yxZ2OiaBLrd4ttc6nDDLI8omAUSrIXYkMnA+UYyeEOSP1nGZZX4e8Rf9Yq9OTw9SpKVPl5ZN1ZxfLTbjJwi+Z7uWsV627HF08T7R7P8+x43ql2t/qdxfKGAmneQB2yeWJ5Pc+9enfsXXEFv+0FpJnvVi329yiK2f3rGFsIMd+/PHy+uK9U8M/sv/DL4V6tcQ638VvCl5ePCEe38TaTFJ5IPOVja5AUng5IJx0Iyc83rP7L/iv4eXi/Gn4JeMdH12LSZmvFtYIzhdhyyIPMcSADPBcNgYGTivn8s4C4q4ezTDZtVoqo6NRTqQhKEpxjCSbdozbbtfRLTTztnHD1aclNq9nqVf2n/wBpD4s6V8XdQ8KeFvE9xpNhpEyRwxWgCmV9gYu5IywJP3T8uAODyTvePdUk+O/7Ha/EjxhbWa63o1xhNQeII0u2VUYKQPl3hhlR8pZRwOMeYSa348/al+I1rBF4C0afV5gouby2huIkEK8b5yshAUAgbsbuigk7RXvXif4PSeIfh9ZfAzWvjJ4Y0fyPK2aPpmmhX8wfMqDzbgu4LNuyQGY8nrX02T1c+4pr5ziozniMJXjUhTjNqMeeTTppe0koxdNfyNtGkHUqub3T2/Q+RLzRdZ02ztdR1DSbmC3vUZ7KeaBlSdVOCUYjDAHgkZwa9c/Zi+OPxVj+LGgeE7rxbf6hpt3MLOSwu5zKixFSAV3H5duAcjsuORxS/tB658YvBWiad8IPiv4c0fUbGwgT+xtZS3nzIFTblZQ65YAgMpHoSD8pPC/DL4u6p8J9Z/4SPwx4X0eTUFRkiu72GaRolYYIUeYFBI4zjOCRnBNfnOElDg7i2ioYmpSjTlB1U4yjNctnODim1JPXl1cWmr6b8y/c1lq13O3+OWhafoH7WF9BpsilLidbmRFCjZJJBuYcH1JPODz+J0Zv9Vj/AJ615NrvxA8Q+IvHN18QtTeFtQu7hppNseEBIxgDPQDgc9q9l+Dnwt+JnxQ8K/8ACe+IvFelaBoRdwl1dWxZ5FU4LgFlUJnK7iw5U8d6/efCXxCySjWzDB0aFSU6+IqV4xhGNo05KCvKUpRUbNa3dldanRRqKUpKK3bZl/2BY3lrJB5H+trzPx58K57OWS+sf9XXuHxI+Cfj/wAN+ELrx58PfH2keJdOsojJcrb22JAq43FdjurbRljyCADwa8Tl+KniiddkotiPTyf/AK9fdZ94vcO8PYmNDMKVaEpK69yLUl3UozcX8mejSx6wrtNM4ebTZzLJWf5U3pXapeXWv6lDaC0tllnmWNCEIGWOB0J9a961L9h74faGI7Pxj8d9NsLySFXkgmt44+vUqHmBK5BAOOcdq7uHfFfIOIIVJ4ClVlGnbmbVOCXNeyvOpHez27Hp0c7hPVJ6en+Z8qeR71HN+5ixXtXxz+Afw8+GGlWuo+FvjBpuvS3UxSWxtgvmKoGd4MbuMdju2+2ecZvwR/Zl8R/HjUZl0iaKy0+wZRe6jckkIW/hRRy74yccDjkjIyT8V+HI52spjQrTxDtaMFCe6v8AFGo47au70W9inntPn5LO/wDXmeZeGiTcuwjcAx5+b617T8Pdlp8PoZ1+9LJLn8GIrsR+wp4Wv7K4tPht8btK1TU4l3fZXRMEA4O4xyOyDnrtPPFeTXuu+N/h1cXHgHVbKK3m0+eSK4t5U3FXyc8g4I5yCOCMEV+b5rxZS4X8Ta3EmYUakcNXw/sYSXJO804XTcJyS+F9b+R4GOxEqmKdWSsmrFT4eXy6drj3TPtAtm5/Faf4k8bedNiCesvQLPV9T1eDR9BtXnvL2VYLeGMZaR2YAKPcnFe5W37B+mabDFH8QfjZpel6ncD/AEezjRWVj0GDI6M3OBwta+BXFmCwPCc8C6VSUoVJSk0oqC5rcq5pyiru225eXVKUYWlc8Bm16+m6z1HDrF95v+vrtPjb+zx4m+Bus2+n+ILiK6tr2Nnsr+1zsk2nBUhgCrgFSRyMMME1wy6Xbp0d/wAx/hX6DmHjtwTlOJngsdCtTqwdpRdPVaX/AJuq1TWjWqPTlmWXwdpJ39DV03xvfabdR/v5Za7jQfG1jdxYnn/eS1U/Z8+Ab/HTxXdaL/wkY023srT7Rc3Bh8xiNwUBVyB1PUkYHrXpcP7HvwgtnBX9p7SwV7H7P/8AH6+oyrxR4fznKo4rB06nspNpOXs4XcdHZSqJ6egvrOCq0fdT/D/M5+GbzvL8if8Ad+tO/wDj1ch4z167+H3im+8KeH/FGna7aWs2yLUraJtko/PGR0OCR6EivXPAvwA8Y6r4Tg8ZfFLx3o/hi1vI0ezimhDPhgSPMLyIqEjkKCTg84IIrycv8W+GM5x9XB4GnVnOlfnfLFRjZ21m58lr7e9r0ueTzwq1vd6HhWv/API/n/r7i/ktehQd6s/Gn9mDxJ4M0pvi14R8WWPiPSYiktxPaqFaPB27woZldAQASGyM9MAkcp4H8V6jrxuYb9IgIlUoY1I65znn2r898M86o5DxxmWVY+nOFbH151aOicZQ/eTvzRbWq7Nq+lzGnenUcZLVnTTf678arzTUTTVH5372v6KqfujU634df8mG+Lf+ws3/AKHa1yP7J/xmtvhr41fwz4olRvD2vgW+oRzKGjic/KkhB4287W7bWyc7RXJeGvEfxHufBF94E0TxPLFotxOsl3YGTCu35ZAPGQCAcDIOBjPbwHra5y8Hy9f3h/wr+E8NguOMe8ozbJMvqyWHoxhzct4ztKfNaz1hJS5Xez39Tl56jcJRWyOv+PnwYuvgx8V49MtonOkX9yJ9InbkeXvGYyf7yE4Pcjaf4q9P/bf+GnxB8bfELSdQ8IeDNS1KCLRhHLLZWjSKr+bIdpIHBwQfxryLxHqfxe8Z2+mWniLxe91Ho0Sx6arTlfIC4wwKqCW4HznLcDngV1X/AA1J+0jpdhh/HtjKsEX3nsYWdgB3Jj5Pv3r3qfCtWhg81w+JyvF0cJXlTqR5acG6ap80pJ3mlypyfK9fdWupqoJKScWk7HT/ALHHwY+LvhP4nHxb4h8P3uj6ZDZSxXQvV8o3JYDagQ8kBsNnGBt65qx8Cvi14RX9onxp4WvNSiXRPFl9Otm8jLFE8odgoHOPnVmAOcsdvc15nrvx++PHxWsZdF1Px7JHbbNs8Fsq2yyqwIKt5agsCMgg8e1cmPAWuId6z24IOQRKeP0rnyqGfUsty+rwpl2Ir4alVnU9pUS/eOS9nOCUbqMbKSe+uvqoycVH2UW0n1Ox+In7Kfxd8IeL7nRdD8Gahqtj5xNhf2UHmLJET8pbb9xscEHHIJGRgnoviL8APA3wb+AMWo/EGQjxtqNyrWdvBfj9yufmj2jKuqryzAfeIAbBGaeh/H39pvw3oRs7XxylzBaoW8y9hjnl2+7uhZvxJryvxZ8QfFPxE1u413xXrV5qd1HHl5p3yI0yTtUdEXJOFAAGelZ4vgX6nhsRUy3JcVOtWi4xjWhBwo827jZtylHaDdrbu7GqKafs4Nt9+hQoqPz91s08anhSQD7U/T83QRpXUBuu2vguG/DLi/iqWIjgaK5qEuSalJRcZa6WfazuRQwOJxF+RbaM+mLzw3c/tHfslaHbeCpVvdc8LSJFPZEhZG2KUKDJxyhRwc4O0jrwPAPFnw+8beBPs/8AwmXhe80w3W/7Ot7CYzJtxuIB5wNw596f4W+KHi34Xag2ofD/AMT3lhNJt85YpBslxnAdCNr4ycZBxk1P8Q/jV8QfjLdW1z481VLltPRktfLtkiChyC33AM52jr6V+j+IHh9muG4T/tvNqEqeJoQpU5OM6cqc7SjTjJ686lytJpJq9tlc6cVga1Oh7SorNWW69A8JeCdc+LHjSz8JeCdOj+03EESYfEaJsiUSSORnAyGYnknPQk4q18UvhN4z+CHiqHQ/F1vavI0az2s9u3mwTrntuUE4IIKso+mCCafgq71rwzqVv4s8O6rc2V9avvguLdgCp6dwQQRwQeCDg8Vs+Jr7xF8VfEQ8QeOPE11fXToE81wihFHRVVVCqOpwABkk965sB4IcT5lw57eGGviqkozhL2tNU/ZySeq+Lm1/LVWacf2dX9lzW1e2q2PVPjp8B7T4keB/D3xJ+APhPTpoHsz/AGlZaIkaksQDkAYLlWDIV+8DjjrhfgL8BbH4b+ENe+Jv7QnhTT4rSOzH9n2GsojNkZO4g52Mx2oq/eJJ46Z8r8N/Er4g/BrxXLongPxre2toLlfMgZlkicsFyxjYFN3bOM8CpPib8RvHvxLuhH4u8Y399CrhorUsqQqwyAwjQBc4J5xnnrXvZDwxT4jzjFZlgcvcsdhm6VSk50lhlVUXByV/ecdG+VK1+pdKg603KEfeWltLXOLgtbzxDraWel6eDPfXQS3tbdeN7thUUfUgCvZ/2mvC3gH4QeAPDnws0fw/p7+IJLdbnWNVFuDOVGeN5GQGfdj0VMdDXleh211o9/BrWk6lc2l3bSiS3uIJNrRsOQQR0qz411zXvHuvzeKPF+uz319OFEk8iqvAGAAqgKox2AArz8u8GeOcBkmMovCQlia/LFSc6bUKd7ztrdSk7LRfDfVdahlmL5GlHV+aOZr2nRvCvgq9sknfw5Zk7BnMC88V5Qmj2zjaZX3+nFdd4O12exuQs0/7sCv0jwb8K8x4YnjanEOGpyU1T5L8tTbn5ujtvH1+Rvh8rrU+b2qOi8XeD/C9l4Z1G5h8PWkcsdnI0bpAAVYKcEV6D/wrTxj8UP2K/Cvhjwbpi3F6t59oMUkyxfuxJcc5cgfxD865LxfcQ3XgfUGXqNLlx/3ya39c8WeJvBv7DnhXV/CmvXWnXR1HyzcWcxjcoZbklcjtwPyrPxBwORZdn2IjOjyUXgKjmqSjCTXtobaWv2bTOWpCFOck9uX9Tmvh1+xn8drTxppupanDb6NDaXkcz366hG7xhWBOwRkktxxnA9TXT/GbxZoPir9szwfp2gNHPJpN7aW17PCVYGQTlymQP4AcHk4ORgYNP+AXxLvv2hfhxrfwI8eeKbpdZa2eXStUa5IlmXOdrEcvtbGR/EjEfw5ryH4S+HtX8J/tGeH/AA1r1o0F5Y+JoIbiJv4WEoB57juD3BzX5FVq5PlWT5fRyOnN4bGV6Up1Kk1KUZ05/wAJxUVGLV1Lm+0troxvCEIqmtG1+HQ9X/aZ/Zo+MHxI+MGoeLfCPh2G4sbiCBYpXv4YySsSq3yswI5BroP2bvhN4q/Zu0HxF4++LGrW9lYNYgvp0dyJBlCTvYj5dxzsUAkneR6Vwn7Wfxc+KHhP44anofhnx9qthZxW9sY7a1vXRFJhQkgA45JJrrf2OPiT8QvisniHwb8Rr+bWNGXTsPc3oDFC5KmIvjLBlLHBzjZxX0GV1eD/APiKNeGGp11jXUrKMpOLpKp7924xUZ8m+jb037rSDo/Wna/Nd+hm/s5X9r8O/gB45+OGl20K301zJFaKVz5G0L5anAAxvmBIAAIA/D5xvb691K9l1K/upJrieVpJppXLM7k5LEnqSec19H/s62Nn8R/gF46+COkPEt7FdSzWQabPmhtpjJYcEb4QCw4wQcc8/OF7ZXmnXsunX9rJDcQStHNDKhVkcHBUg9CDxivzXjX2/wDq5k3sv4Hspbbe29pL2vz+H9NDmr39lC21vx6nf/EX9onXvib8LtG+HniXRIJrnSZt51qSZmmmAUqoxwAdpwxJbcQDwRz53XonxE/Z21/4ZfC7RviH4l1uCG51abYdFkhZZoQVLKc8gnaMsCF25A5PTzuvl+Jv9Yf7Qj/bN/bckPitzcnKuS9uvLa/N7382plV9pze/uSWtvJd3UdpFjdLIEXcwAyTjknpX0N+3Lqt14b0Twh8KLGby7O004TTQR4VXZAIoyQPQB8dvmNfPNrcSWd1HdxAbopA67lBGQc8g9a+hv25dLuvEmi+EPivYweZZ3emiGaaPBVGcCWMEj1BfHb5TX0fDPP/AKjZ37G/tLUL2/59+0fN8r25vLyNKX8Cdt9PuMX9g3xZfaX8WLjwn9pb7Jq2nSGSAt8plj+ZWx6hd4+hryz4n+H/APhFfiNrvhwKgWz1WeJBHjAUOduMcDjHHbpXqf7B3hO+1T4sXHiz7MfsmkadJ5k5X5Vlk+VVz6ld5+imvNvHE2s/Ev4r6zeeH9Knv7nUtWuJLe20+AyvIu9iNqoDu+UZyPrVZjCtU8N8uhUTc3XrKkt7wtDmt/2/263CV3ho37uxD8JrWzvfif4ft9Qu4YIDrFuZpriUIiqJFJJJ4HAr6d/aD8JfsxeIfiAdS+LnxNuLPU1tI4FsbO5H7lFyRuCxuVJ3Z+YjjGBXzB4I+Gvirx546g+HWl2yW2pzTNG0WoP5PklAS+8EbgVAJKgFuDgGqvjXwbr/AMP/ABReeEPE9p5N7ZS7JVByrDqGU91IIIPoazyHP8Tw/wAMV6dXLo16VSrH36nNyKcIv3Gla8knde8rdn0KdR06TvG6b6np3xm/Zas/Cfg8fFH4UeLl8ReHsk3DqyM9smQA+5TiQbuGwAVPUYyRzvhL9oTXvBvwa1X4Q6Todsg1WdmfVEkZZVR1CyKQPvEhQAcjAyMHIx6h+zXa3OlfsteOtU8XwP8A2LcwzmzSRCQ7CEqzKMjIL7BkY5U88ceNfB34O+K/jR4rTw34bh8uGPD6hqEiEx2kZP3m9WODtXqxHYAkenm2DxODxeAxfDtKVGrj6Mk6UXzW5m4S5ea7UJpcybfuq7TSWlzi4uLpqzktjrP2N/A/ifxR8ZrDXdGkmt7PRWNxqN2gIXaQVEOehLk4x/d3HtWT+1J4u0Hxr8b9Z1nw26SWqvHbi4jIKztGgRnBA5BIODzkAHOMY9D+MPxj8J/A7wo/wB+AbqJUDR6/rgwztIRtdQ3RpT0ZhwgG1cEfJ89V5/EuJwWRcP0+GcPUVWpGp7WvNawVTl5VTg+qir80usvSymq406fsk763Z7V+wj4fXVvjS+ryIhXTNKmlXdgkMxWMEZ56M3I/rXnPxf8AFuoeOPibrfiXUblpWn1GUREtnbErFUUewUAfhXo37CPiFdJ+NL6Q7IF1TSpol3YBLKVkAGeeitwP6V5z8X/CV/4H+Jut+GtRtWiaDUZTECuA0TMWjYexUgj60sw5/wDiGOB9jfk+sVfadufljyX/AO3L2+YpX+rRt3dz2rULy++Jf7B63upTie58O3yoJZmUtsjkCKMnoRHKF9SBjnPPzjX0bf2d98Nf2D1stSgWC58RXyusUyqG2SSB1OD1JjiDeoB7Y48Ag8MeJbrQ5vE1r4evpNNt5AlxqEdo5giY4wrSAbVPI4J7j1rTxApV6tXLVOLdZYOk56NvTms31uo2u38x4hN8veyPff2CotHgt/GGpanrdraf6DEjPLcIrRRfOXlIJ4UZX5jxmi3+BP7Hniy6/wCEX8J/Gu7TVpW8u3lnuEKSSZwAA0aK+T0Ctk9q8j8M/A/x74u+HGp/FDQrW3m07SpNlxEs+Z2wAXZUAPCqQTkg4OQDzjltPtL6/v4bHTLeSW5mlVLeKFSXdycKFA5JJxit6XFDy7IMvy7HZRCrBKbjKpz3nGpNtuny8vK76X97ZMaq8tOMZQudX8WvhN4n+BfjldC1+GK5jDCfT7soDFeRBuCVyccjDITke4IJufHf4+a78dNS0+71LSYtPt9OtfLhtIJmdS5xvfnGMkDAxwABk4zXp/7djRW+geCdM1kh9cisJDeShTkjZGGyc93DHv359cH9n/8AZ/0G30Fvjp8dHSy8NWSCazs7oc3x/hZl6mMnAVBzISP4fvdGZ8N5nQ4oxvDeTzccNPknU5muWEFFTvUm1dKm5Nb62V7ysOVKSqypQ2/rf0Or+Dlrc/B/9kvxJ4o+IM7x23iCKQaTpdxgF/MiMaFVYHmQ/N0I2IG6ZrxD4Y/NJfJ6xp/M1s/tA/tA698btdVBCbLQ7GQ/2VpoAyoxjzJCOrkDp0UcDuWx/hd/rr7/AK5p/M19nwJnGX4/xUyXLsublh8JGpTjOSs5t0qjnO3SLl8Mei7XsjnjKrGMdkdb+9qPp/2zqxN/qo6r1/auJp1v4h0nL/DuEGznlXl2k2hfwH+NbmsazY6Pafv56wPA1/DYaNeTXEmERix/ACuC8a+NptYv5IIJ/wB3X5t4R/8AJuMt/wAD/wDSpHTgMOq1Nc50GvfE6fzZILGuetvEWo3V4iyzZWRgrD61gRTf896t6WZZdRgLdBKM/nX2XENWl/q3jaa/59VP/SGe1Ww1GlRl6P8AI6uO+nsjiF9u/r+FXtN8VX0N19nvp653xFdi0EMnqW/pVGHWPOPWvhfAR83hfgoedX/09M5Mrw/Pgoy9fzZ7pDZ/2lo0nkT+V9qs/wBzXP8A/CB/8fl9PBF5n2Py6sfCvxJBrGjRwfaP3kVdBNDPDLJmv03G0vZHJV/2SseSarbPYme3KcoG4/CsqG8/1ddR4utxJ4ouraNcb5FUD6qK5vWNHns7ryK/BvBicVnnEPP/ANBcv/SqheVVKbqVL9Xcrwzfvf39aGnvG6sU9s1l/wCqrQ0d0dH2eozX0PjpLn8MMa/Ol/6egd2bf7hP5fmjr9KPl2UR/wCmYrVhvINN/wBI8+sfSR5luin/AJ96r6xeeddeRBX33CP/ACI8H/16p/8ApETWj/Bj6Ir6jdyah4ka7l+9JcKT+lblnZzzfnXPopGtxL/03T+YrvNN0397/qD+Nfj3hJ/yUHEf/YXP/wBLqHmZfU9lVq/4v8zHh0fyT0qOaz/dYnrsIdNgqveaPBX7d7Q9NVdTj/sf73rViy8irmpWfky9az4f3MuK7cNUpe1O3+Kjc1zxg9j8P5bSOAPJeN9nZicbFIJJ9+Bj8c9qg1/45atrfwP0n4Kz+G7eK3066M6agJH3SrucqAp4By75OSDwABjnE8WJKmmqp+59pGP++TWRqJzZ2A9LRv8A0dJX8Y+O+c5pT48xdCjWcaccPCFrLWE5Rco7X1k7330SvY+OzGc1ipJPoafhJ/HngzxJY+LPDuk30V5YXCzW8gtHIyOxGOVIyCO4JFdx44+MXijxf8ZtK+MMfwn+xz6Y0DG1WOZvtLRnIZ3AGT2BxwAoO7HPZWk0ENrFPPP5f7tf5Vz/AIq8eWNnFJBBP+8r9Dy7wEeGwH1ehmtSNNyhU5fZwa54/DJXbs11tvpe9kVQwFaasnpudjqv7WfhDXLttU1/9lkXdy4AkuLqOORzgYALNBk46VgeOv2s/GmreGJ/Bnww+FMfhqxuoWjme3ty0gDcNsCIqoSMjOCeeCDg157qPxIvv9R59U7Px5qsPSevsanhZn+OpThUzqUedNScaFGMmnv70Upa9bM73gK7Xx/ghvw78QfE74W+KIPFvhDT7+G5hOHja1kMc6Z5jkUY3KcdPUAjBAI9sj/a90+5mi8Qa3+zNHPrcaKW1BUGfMUcMrNCXUenJI9TXmug/E6fzfIvhXYabqUGp2vnwT15WR+CWZcO0HQwObzjBvm5XSpzSl/MlPmSfmrHG8JVwyspfged/F34i/FP40eIRrvizTLpY4l2WdhbW0ogt177VOfmOASx5PHYADi7mzu7KTyby1khcjIWVCpx64Ne8TT/AL3yK8u+MLbvFcZ/6ck/9Cavx7xW8JocMZNUz2rj54irKpFPnilfmvrdN7W0W1tDhr0eVc7d2c7qWk3el6k2lTqGmUqMR85JAIA9eor1v4NftH+Ovhl4X/4QDxD8PP7f0MO5S1uoXV41Y5KAlWUpnJ2lerHntXn2vf8AJSVA/wCfu3/kleo1t4a+Hsswz7NKuAxs8M8NVlSjaMZ80OaWklLR/Crppp7lUKcuduLtbQX4kftS+LfEPhC68A/Dv4Tr4a029iMdybeBjIVbG4LsRFXcMqeCSCeRXGfAf4l+LfgX4uk8TWngaTUY7i1MFxbywtGxUkMCkm07DkDsQR26EddqWpWOmxfv565vWPHsE/7iCv1qt4JZhjc0o5rXzmp7albkapU0orsoq0Uu6tr1uejTy/EVpqXNqjO8b/FD4g+Lfiy3xfsdEk0zUEuI5LRbW1JEXlgKgJK/vDgYJI56YA4r1K1/bCfXrSJviZ+ztaaxewjEdykHygeyyxuV/Bq8q/4TaeaKo/8AhNp4ZavLvBnMssxFetQzmpetJympUqcoyk3fmcZXjfzSX3GscsxMW2pb+R03xs/aE+Knxh05PDMfhWXRtFjfcNPsopczAY2iVsAMFxkKFAzzgkAjovgd+0/J8IvAUfgqf4KS3DJK7S3doxiNzu/ikBjbc2OM5xgAYGK5Pw348gvJfIuDXSTYmi/cVVPwdzfBZ5LNI5zUdeUeVydKnL3dNEneMVp0S/FnNUw1SjPn59fQ17n9qv4U2SCS8/ZUsIVJwGlggUE+nMFeO/GP4geGviH4tfxJ4Z8BWfh228lUNpZnh2HV2ACqCf8AZUdOcnmtz4xyb9BtRj/l7/8AZWrze4G6Bh7V+Ecd4fM6XHWH4Vx1dVaEqlC7VKlTl77SdnCN1ZN9fVHLLmniY0ZO6bXRIXRvFtxoer22s6NdTW93aTrNbTxgAxupyGH0Ir6D079uvStcgim8f/BTStU1K3H+j3aOqqp6jAkRyvPo1fK0Pn/avI/6bVuaf/yzr+jeH/Crhvh2M44CrVjGduaLlGUW1s+WUJK672ufR08qw1P4W/v/AOAeo/GL4seO/wBoDWbXUNahtbS2s42SxsLd22R7jksSc7nICgngfKMAV1/hT49+OfC3wRm+EkHhLSpt1tLbQag0xASKTO7dFsw7fM3zZA6ZB5z5n4bmg/d10H/LKtoeFOQ4bMq2YU8RX9tWi4zlzpuUXZNawstla1rWVrHnVcLTpVm03qS/BP4t/EX4FXtx/YaWN1ZXxU3en3jNtcjo6kYKNjIzyDnkHAx399+2l4a8PmTU/C3wF0qy1eRT/pvmp1PUkpErMCe24Z9a8j8STfY7XzxXN6lN50Uc1dWS+HGUZLgo4TDV6ypxvypyhLlvq+Ryptx110a11OrCYGlKNm3b+vI2dd+Mmv8Ajf4kw/EXxtbwatKt0kg067VjaiNWyIAmeI+vGecknJJz76n7aHhfx9bRabqHwHhv445D5dteXsUqxsoxkBoSBwSM18m+d5Mtdh8K7z/ifV6eV+FWQZPCvPB1qt675qjlKE3J92505Pr6BWwNLD03KDd331/Q9m8RftL/AAqma58J/wDDMWirdzKbdfMMIRXYYBJSEMAMg/KQfQg81514R8K6l4bu7ma/ECibbsSFywXk8c89/esLxS3mfE12Pe9h/klegTfva/K/DPLKPEHGGPx+Nd6mXV6lOjyxhBcr54Pn5IR5nZaX2ex4UW6k25dCvN/yzo5hhqOab/VwZ/Wg/wCujr+j/wCKbHkOta4NO0OSyEmDIWP6CuJ8n9552a6bxJpl9fyxNaQbwo5+YD+ZrNs/DGrJJumh2j/fX/Gvwnwy4y4Ty/w+wGGxWYUKdSMLOMqtOMl70t05Jr5nq5fWw0MIlKaT82iPR9NnvK6LTtFbzWlkg5U5FW/B2maTp7eZq0ojPptJ/kK6ibU/CsMWbTUct6eS/wDhX12N404ExmEqYeWZ4flnFxf7+mtGrP7XZmlXHYeatzL70cXqC6PchY9Rlh46B5Mf1quth4WH3Wt/+/8A/wDXqLxXoc+oXfm6fH5i+uQP51kSeGdfbpYf+RU/xr8Qy/hDhnLsOqOC4xdGmr2jHEQild3dlGqlu7uyV3qclHDYdR5Y4rlXbmS/U63Q9Sh0OcT6HfJFIOhSQH+ea6IeJfiHLl1lu239SLQc/wDjtea6foPiG2kRms+nX94v+Neu+AfHOnWWgLZeIrzyJk+6PLZs/wDfINetLhfh+VPmfHU2+31qP/y45sTh6Udq/N8/+CcrdXOqS6p9quvM+171PzJht3GOMfSp7+y8S6mzS3+mXUh/iJtSP5CrV7dWuqeOo7mwl8yOW8i2PgjP3R3A716VD/rvxr4zw54ExvEmMzR4TOa1KNKs489OTtW1lapJqaUm1re7ve9zgoppu0mvQ8WuNFtopCtzYlGPUOCDS28FvApFuoAPXBzXrGseFdJ1j/XwReZXEeNvCx8NSW7AfJcb9v8AwHb/AI16/iV4a5tw9wZicdWznEYiMOS9OcpOEr1Ix1Tm1o3dabpG1dzdJ3qSfk2Z1tNrSIPsqTbduBtizx+VQGW7eYg7i56jbz+Vdho+veDLPw/HHPqAF2LYKyeTJw2OmduKwI73TFv3vTdfM3Q7D/hVZVw9k8stoTlxnOk3CLcFiYrl0Xu29srcu1rK1jamo8q/ftfP/giaFousaprMLC1cbZA7yOhAABHtXqem2Y8rNcnoni7wnZ7PtGpbcdf3Ln+S1uw/EnwNFBsGuc/9e0v/AMTX6TwFDw84Gw1f/hco16lefPOc69K7f/gb11bbbbbepSdGhFqM7t63ubf2ODycVXvLO38qqP8AwtTwR/0Gv/JaX/4mobn4m+C5I9qazk/9e0n/AMTX3NTjvgd7Zphv/B9L/wCSOqniqS3kvvKevQ9xXP8Ak/va0dX8b+HLn/Uaju/7YuP5ishde0UyIz3uAOv7tv8ACpocc8Bx3zPD/wDg+n/8keksXhbfxF96H+MofJ0GIet0P/QWrB1L/jz0/wD69G/9HSVseK9a0bUNEitbC98yRbgMy+WwwNpGeQB3rEvZopbazSOTcY7crIMH5T5jnH5EH8a/j3xlzXLM144xmIwdeFWEqVNKUJRlFtOF0nFtNqzuuh8xjqkauJlJPsemePvFX2O1jsYJ/wDlmv8AKvO7zUp7yX7R59L4o12XWNXN5AcpuGD04xVSCWMf6xsfhX9e0eOuCY4aKeaYe9l/y/pf/JH1VHEYSkv4kfvX+ZNnzpf39Rw+f5XkU+Oe2XrL+hokntm6S/oa2n4hcFdMzw//AIOp/wDyRr9cwn/PyP3olhmn6V1nw98VXGm3/wBnnn/d1xn2iH+/+lOe+VW8xDk+lb0/EPgmdTXNMOv+49L/AOSOarXwlX/l5H70e63k0H2WO++0V5L8VriK58SxyQtkfY0Gf+BNV/wz8SIUsP7P12bYvqEJ/kDXM+I76DUNSM9tOZECABiCO59a/G/HbiXhjNeCnQwGOo1p+0g+WnVhN2V7u0ZN2R4eOjQVJuEk3fo0XNb1GM+NxqSt8qXEL5+gX/Cut/4WRBDFJXnMs32hzMvfpTbt5LiHy1IHua4PDXjPhvhLiDPqWa4mNGU8VNpSvqlKaeyex0YKWGo1asasre8aniTxtfa9fyfv/wB3WXDeXEv/AC3qjHpcydZF/Wp4LV4k2MwI9q/W34weHs6l3mVP/wAm/wDkT2v7Qy9f8vEacP8Ay0oqO2u0ifdIpP0qZ9StX/5Zv+lRW8X/AA/Xw5lTf/gX/wAiR/aWB/nRDPeT2cv2ivRPhv4w/tKH7FPP+8rziedZeikfWrHhvWZtB1VdQxuC9QOtaUfF/wAOXHllmMF/4F/8iclfGYKe00d98abWO28LWTLJuZ9SlyfoD/jXnFpA1zOLderggfka6rx/8Q9M8X6NDp9pZTxyRXZl3SbcbSpGOD16Vz3h+ezttXinv5dkShizbScHacdOeuK/lXjfiHJc38YMLmOErxlQVTD3ne0VyyjzNt2sl1b0R4EpwWMjJPS6Oa1Kz+x3/Aqxpsx83mrvia2gvp99ggcfl/Os2x029hz5kOP+BD/Gv6/occ8CypWlmuGX/cel/wDJH2FPGYTrUj96Op0G88muohvDN5dcJp9zc233hW1ba/axx7XkwfTaav8A174J9l/yNcN/4Ppf/JHnYiWFltUj96NnWJv3VcnrE0H/AB71p32vW80e2O6J9tp/wrnr/wC13L7lXP406fHvAs6t3muGX/cel/8AJGmHrYWO9SP3oo/66WM13Hwlhzqnn1xEemXKybjFx/vCu88A6x4c8Pw+Zfal5cn93ynP8hXevEHgenSss2w3/g+l/wDJlYzG4eVK0Zr70QeJDu+JJPreQ/yWvQvKm9K831C+ttV8eJe2EvmRy3kOxtpGfujoea9Ir8f8FqtKvm3ENejJShLFScZJpxknKbTTWjTTTTWjTPm6Lu5PzK/2P971qO9vILPy556uf8tP+2Nef+PPGBhl8jz6/faVOtSqnp4bDe2P/9k=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAGgAaADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6u1bWo9LkSNgCXGRmoIvE0Dff2j6VmeO45Hvoin/PHn8zWHN58MvSvxPwr8MfDXO+AMBjcxwMJ1pwvKTcrt8zXSVtjqwWAwtXCxlKOrPRdHutM1F9s0jr/ukf4VtnwzYlNy3Ev6f4V5Po+vX1ndV6x4J1j+2LWQ19hmPgv4aUX7Wll0PZ+sv/AJIjEZdRo9DFnjEUzxA8KxAz9axtZ8RXOmTtHHBGwXpuzW7qC7b+dfSZh+prlPGUe+8WI9wDX8veCvCXDnEnGeYYPMsPGrTpp8qd7K1S2lmumhwZZhqeIxLjJXRpaNrdxqT+XLEin/ZzXX2Pha1uky9xIG9sf4V5/oM3k3UYr0jQbzzrCOv6Wxng94b0Nsuh98v/AJI9SvgsLF6QKieG7d32mWQfiP8ACiXw5aD/AFVxIfritfyf3VU7yaCyrzpeFPhvP4cuh98v/kjlp4XDveJxGsazeabO0SQxsF9c1Ug8T6nLcrCbaHDegP8AjVrXpvOupBVfQbP/AImkdd9Dwf8ADqVK7y2n98v/AJI7qeBwj3gjoTZyx2S3UpGS+3A+lbvhyz099LE9zaxOxzy6AnqfWofEMPk6PEP+m/8AQ1N4dVX0kLJ05/ma/JuH+GMlyvxsxWXYXDRjRWFUlC3Mk3Kld+9fU8X2cIYtxS0sacOlaXLJ/wAg23x/1xX/AAqeXSNJgizNpdsD/wBcF/wqTTYP+W+aw/GOvQWfmV+/LIcoqv2f1Wn/AOAR/wAjtp0IvoGrz6HZfds7cf8AbFf8KwZdf08S4FvCB/1yH+Fcrr3irzpf9fXN3usTzV7GB4R4eq/xMLT/APAI/wCR62Gy/D/8vEeo2HiTR3PlPbQE+8QP9K6PSP7IufL3aXbnPXMC/wCFeD2euzwy+fXeeG/G3739/XVjeCOHvZfu8LT/APAI/wCQVcuh/wAu0epDRdGlTyxpFsD6/Z1/wrM1PwbbSiSWC2CAdAgxS6DrEF5wa6DzvOir5vFcNZLhf+YWn/4BH/I83khSq2sef6j4Pu7f7ryD6OazR4Vmnn8uZWc4xlmyf1r06ezgm61T/seD7VnyP3lZ5dh8Pl9X2lChCEu8YxT+9JM0pVZxd0ji7PwTP5X+orc0Hwr5P/LCtDQf31/H54/dy1sedbwxf6ivYqVK2LrFVMSRw2cFnFRNN5tRzTXH2Wo4O9a+z9l+7OIk/wBVRB3qTyfNqP8A5ZSQda1XsQJP9bUfke9B/wCWnkVJDD+9rFfwagB5P72pJpoLOXrReTQabD589cfr3jC3hp4HDfWjppUvbHQXviSCzixivM/iF4q+2S1X17xhcTVyepal9tuv39etSy6jS/iHrYbBeyNDR5vOlrqNHh86uPs5j5tdZoOpeTWWJw3/AD6OmpudJDo3/PCD8asWem+TF1qvZ6l/+qtSGGvEqU6y/dnFUqmfr2mweVJ7V534ks/Jlr0TXpj5Ulef69N53mU8FU9lW/eHThjk7ytz4bzY1mOse8h7V0nwxs/+J9H/ANdq+sp4l0qPtDXE/wAE940f/kGGo5v3VSab+5sI4BUf/LKvAw9X99c+WCiL/lp/12NE37qiGEzTR/8ATWaiHsqtYAg70f8ALWs+z+IXhW816Pw5PYy/vZvLhu60JofJl/7bVnVNA8Sal/ZugyT18/8AirUvtl/J58/mV7J8TrzydGrwy9/5CEn0r0ct/wCfh6+BpnW+ILH7VcK/l7sR4/U1i3mj967W30qPUFLP24qlr2j+TFX5d4PYiNHw7y7n/kf/AKVI5MDUthILyPO7yE+bXcfCvUZ/NjgNcnrEP72tT4bzf8TSPiv176ysVg/ZnXU1pHY3/F9MP+mrfzrmfHUexw/rGD+ldLeHN3Kf+mjfzql4707dp1tc+sK/yr+M/o9S5fEDNP8ADL/06eBlMuTFy/rqcpo8372vRPCupf6LH+//AOWNeZwzfY7rg11Gg6x5MX+vr+yMbh7o+jxNP2p6BNqX7rmeOub17UjN/wAt6pz+JP3X+vrn9Y14zSyZriw2F9mzmpUiSabzrqStzwTpvnXUdcnps32y66V6R4J02CG1+0c121f3P7s1q/ui/wCNEiTSIAnXz/6Gl8LxbtLiPu38zTvHh26ZDFnpP/Q1J4MjLabEfdv5mv50wUfZfSBxq/6g1+dI+dX++P0Na8m+x2FeP/ELxJ511JB59eifELWJ7O18iGevD/El79sv5K/fsppe1/eHu4KkV/NE0sgqP/llRDDUn2P2/WunE4n2Nb92esU6uabeTw1Xmh8ny6If9d+Netgsb9sD0j4e+MD50cE9euaPN50Uf/POvm/w3eeTfR/v/wDVV9AeA7z7ZpcdcWdYb237w8XG0vZfvC5eHyZZBUf2yeGWOrF5D2qvDD+9jnrxFS9oeb7UIYYIf38EH7yrH+tqOGE+b5FSH+OilTpAR/8ALKjyf3tH/LKj/npPR7P2QEk3+u/Gj/lrRRD/ANN/xpeyAJ+1SWdLN/rX+tP8n7HYSX2azqfwQpbnJ/EjxL5MUkHn/wDLH1ryvUtYnvJf9fW58SNY+13UkBrl7OHzq9zDVKOFwh7+GpaFjyZ5ulY95CfNrqIdN86KsvWLPya5qlV+19odJX03990rpLOHtWBp3+t/Gun07/VfhXNUxNalVAks72eGWuw03WIJrWuP1KD91+4o0fWPJuq0xHssXR/dnPUp6nQeJJv3cnrXnesTeldpr2p/bLWPFcPrE3nVzZdhva1v3h0UzP8AI967T4S6b51/584rk4YfOl8g16x8N/DdxZaXbz+RXt42p9VwnsznxtT90dxND5NrHUfke9E03k2scFEP72vAp/wvaHz5Xm/1341Y03/Q7q3nP/LKbzKJ4v8Alvmj/llUAcvN8Mb6z8W+fBfxy2cWpfbYa6Ca8866knH/AC1mqT/lrUcMJ+1Vt/CRrT3MP4qWf/Em5rw+8/cX8lfQHxJh87Sv+2NeF69Z+TfyV1ZV/wA+z1sNueoeGYPNRm/2/wClGvQweVJTvDc0cNjIXPPm8fkKq69qX7qvyTwqjVqeHWXJfyP/ANKkeVgf4ETz/wARw+TL+4pfAf8AyFKfr376XFHgmH/icx1+04Kl7LBntf8ALk7C8G27lHpI3863tW0yHUfClsD1EK/yrBuv+PmT/rof511+kfvtGt4P+mS/yr+LfAaXJx1mr8pf+nT5XAy5a8n/AFueKazZ/Y7rFEOp/wDLeu08beFJ4bqO+8j93XFzabPBLJn/AJ7V/Z2BxFLFbn1NKr7Ukm1KDyqpzTTzS1Yh0eetDR/Dc891HzXoYnE0cKv3Zr+5LHg/TZ7y6jr1zQdN8mL/AKZ1zfhTwrPZ+XPmuwhm8mLyK+cxuO+tVjyMTVML4gPvsYT/ANNv6GrHgWLztKjHozfzNVPHX/HhD/12/oav+AP+QOP95v5mvwTBSqf8R+xj6/VF+dI8iP8Avb9DmPiXehtYjgZQQ8ygg/WvefA3wp/ZZ8G/s8aL8WPij8NW1GXUpjHPMhZ38wvIoAVXRQuIz788k9a+ffiVLnxHCB/z8J/Ovqzw18O/DnxK/Y88LeG/E3jm20K2W4M4v59u0uJZwI/nZRn5j3/hPWujjmpmEuKOXCRjOccFUlCM7cnP7aCTak1HZtXdtOp2V3NSXL/L+pyOk2//AAT8+IF/F4RtPAN1os97IIre+kjeMLIThRu8x1GSerLt9a47xT+zN4e+H/7Rmi/C/WLd7zRNXvoPs04jWOSSCR9pUkKRuU5BIAyORtyMek6T+yF8G/ANvB8T/Gfxd+36FZyLKXit0WGYh8BS6M+4Fht2ryegOa5vxL8YNK+M37XHhXVfD5I0zT9UtbWxmli2NMBLuZyMZAZiQAegxkAk1+R5vUzOOBw6z6NKji5V6Ps40ZJOdKUvfdSMJOLh2l1em2/JOVTlXtNHdWs+h0PxK0b9hX4WeLZ/BXij4NTPeWscbSNbRyOmHQMMEzAngjtWfD+z9+yv+0F4b1K/+BOnyaRrWnW+8afNEdrnnbvVy3DYK7kb5SQSD0PV/Hj9nT4cfEL4mXvinxF8cNP0S7nihWTTp/J3RhY1UE7pVPIAPTvWx8L/AIQ+Ef2e/AWv/EP4f6pL4s1JtNfZNbSRbGCZbYgVsYzgt8zEheBng/WvD8TYviHE4XG4agsvi6nvQcVVUI35XH2cnUU9tOXunZmt60qjUrcuvr+B82fs+fs3N8aPGkujz2kVhp2mbX1i48gCSNSSBGgKkCQkNjPACk84wfWDrv7CHhTUP+EKTRNQuFgP2ebV4JbgxsejPuSQFsHPKJg4+UEYqP4PanN4e/Y48b+NNMZo9RvL6aOedCF+8IkyoA+XAlbp39OMfONfl1bifFcFZHgVQiq9bEwdWcq16iUHJxhCKcrR0i+ZrVvZ2OSVWVGnHq3rrqeuftJfBG8+EzWPi3wh4qudR8M6uF+w3El2XkjcpuClgArKwyysOoBB6Zbyr+09Sxj+0J/+/p/xrV1H4leOtW8G2fw+1HxLcy6NYSF7WwYjahJzyQMsBk4BJC5OMZNYdfB8Q8RRxuZyr5ZKrSpySbg5tqMre8o+8/d5r8t9bdFsc9SalK8dETjVNTB3DUZ8+vnN/jX0B4F+Dvww+Gfwusvir+0bqWpPLqTg2GjQ3TjKMu5AVQhi5UFjlgqhgDg18/6barfajb2TFsTToh2Lk8kDgdz7V75+35I1hr3hbwtbhltbLR3MK7cLkuE498Rr+lfS8H5jicFk2YZ5XbrSw6pxpxnKThz1JNc0o315UnZPS7+7Si+WEpvW36mnL8LPgb8f/CWqar+z9fanpuu6bCHXS7i7kVZTngMsjN94KQGVgASN1fOU97rFtO9vcXlzHJGxWRHkYMpBwQR2Nes/sNanc2Px3gs4N2y80y4imCjI2hQ4z6coK4X416Pb+H/i74k0e0DCKDWbgRhk24BckDHpzx6itOJs1xWb8MYTPqN6NSVSdKoqblGEnFKUZKN9HZtSto2ugVZc9JVFo9nYytAfVNZ16y0n+0bnN1dxw/LOc/MwXj35r6c+JcH7I/wT1q38G+LfBWrXN39iSbzYLqeTcpJUFiZ1+YlSTgY5r5r+G2saL4e+IGi6/wCIhN9hstThnuRAgZ9qOG4BIz09a+iPiN+15+z/ACeJXuNO+FMHihmjVZdVvLSOPcAOFXzY2cgZPULzng9a9XgHPcNhMixdbGY6nCs5wUfbqVW0bScuWCvLVtJtaK2vQvDziqbcmr+ep5d8cvHPwB13SrOL4NeGNZ06+SYm5uLi7dY2jx90q0jljnuCuPfPG/8As8/CPwXr/wAO9W+Mfxj8QX/9i6ZOY47O3vGAfaBuL7fmOS6BVBU5z2IrV+Ivw0+DPxn+D998avgvpJ0W80gu+q6WIsBwoBZSisVQhfnVk4IyCM/d2P2KrfWL74X+ItL8faZaHwTMXP2rULkIofaBMoB/g2hSWJUKw4yc7fZyvD5vieP6f1+UKtOtRlOk6SksO7RajOcI2aipK01JJ81r6WZpCMniFzW1WltjP0Oy/YQ+LOuW/gfTfAd/p19qEnlWd5IJFPmHooYyOMntuXGa8c+LfwCfwr8WLz4L6Rq0Vs95cx2umaqYEkaBbjAilZRgFk3gkcZK9gRX0/8ACLwx+x1D47W4+GF5p9xrlu7Gzjlv5mIbBz5QlOHwMnK7iBzXgnxZ1L4h2X7Th1nxz4clk1OLW7aa10uymV/NhWRTDHCzFVO5QACxUbid205A6uKamZUckweLxFWlKu8TGKnhHJU1BLWNRq0eZy1SteyfZmsp1YqMrq91tt8+hzfiL4W/8E/vgNqz/DD46ft8eJm8VaeFXVltI7dFjkIztMcVlMIjjnY0jMMjNeMft+fs9fEf9nT4c6D+0D8D/wBo278afD/xFciKG8ksLZns96b4WMsS7ZUfbIN21NrKFIJavp79qb/gl7+w78T/AI3S/En4j/GW+8G634rvPtNzo6+IbG3W/mOAzQpOjNuZuTtLAsxwBXk3/BZHTrn9n39l/wCHX7KXws+GuoweBLK5EsviS4jWaEzxK/l25kGSszmSaZiQm7+DcBIF/qZYmvJr3395+tZPVwGIzDCxoyc5VH+8jUhBRtbXl91ap7Wb/Q8a/wCCfn7P3x2/bBudd8a+LPjTP4R8C+F4d2r+I5NOt2EkoAdoUaQKibYt0jyEkRgplTvFfRfh39nL9kT9oi6uPhx+yv8A8FANbk8X2cDSBb2G0u45lThmWI20BlXuWjcgA55Fbf7Hv7OuifEP/gkJp/w/1v4tr4T0fxNJdan4l19cAW9mt6xmj3SsixgpAEZ2yoBY4YHnzDwv/wAE6P2PfiheT3//AATx/bk1O2+IHhuCWW3V9WQyyyKpXfG0KQSxIzMFM8fmIA/Q5wU8RVb+NmmKrZfisbiG5eyVObjHloqUI205qj5Xfmd9Oh80+DviL+0H4W/aVPwX+KviWV7jTNXutP1eya2iCmSJZAcMEBI3KGBGMjB6GvdJpvJm/cV8rfDzwb43+Gv7UkPgj4k6XPZa/pWrXNvq1rcyrI6TrHJuy6kh8nncCQwOQSDmvpiaavo8lqVErp3dxcWYXDUsdS9jGKTpp+6kk3d66d/np1ND+2P3XkVn3vnzS4ohmrY0Hw3PeXXWvoalOjR/eHy38EseCfDf9pX8Znr2TQbL+zbDNZfgPwf9j8v9xW5qUwml8iCvExONq4ur7M8TG4n2xX4mmqSDvUc32ezNRw6lBWq9j7E4SxNNRB3qTyfNqODvWNQzCo4Ycyx1J/yyo8oQyyGnhl7X94BHr0P9pWHkV434w0G4hupJ/J/5bV7hDDb+V5Hn1yfjbwr53+kQVmsT9UxZ3YLE+yrHOW9/FbWbxP1L5/SsrWNSnqvrupSWU6oh4KZ/WsfUtS86vjfByjFeG2Wyn1g//SpFYCnfCQZT1KY+bxWp4Ds/9P8AP/6bVj+T9slrvPh7oH+r/wBHr9RxOJVKid+Iqeyokl3/AMfcv/XRv51v6V4h0qzsooZZyGWMBhsPBql4t0+Cyu45IVwZAS4HTI7/AK1JZeGbS5tI7h55AXQEgY/wr+EeFsp4+4b8Qc1wGRU6NWtHWftG+XklJTi170dXzK61tr6nyNONanWkoWbL93rvhm8heGSUjPT923+Fc1c6bpEruyXAw3T5D/hXRQeCNPl+9dzfhj/Cpo/AejHZ5t/cLu642/4V+rwzT6QFL4cJhfvf/wAtOn22N7L+vmc1Hp2hL96b/wAcP+FaenTeG7KTJueP+ubf4VefwZoidb64/Nf8Kgk8KaOj7RfTfp/hR/an0gav/MJhfvf/AMtL9tj+y/r5mnF4r8MwR7Uu2P8A2yb/AAo/4THQP+ftv+/Tf4Vlr4X0d32reT/p/hVtfAekv92+n/8AHf8ACrhjfpArbB4T73/8tMb4vsip4v17TNWtkjsZy5WXJBQjjB9a3fh7/wAgWH/ff/0I1mTeArCI83c36f4VtaTa/Y1htraMIijgAV1cFcLceVuPcRxJxHClTlOj7JRpu6bvFp2vK1lHW71bVluRThU9o5SOK+J9pjX4bj/pun8692+IP/JhfhT/ALCy/wDoy5ryD4m2yPfxXDLnnj61g+IPjj4lj8M2/wAMNX8Q38uk2Mpmt7AAGNGIz16kDJwDwCTgDJz8V4l5hjMy4vxOUYLC1K1b6k6doJO3PUhPmevwpWTe93a1tTes51ans4RbfKe1fsifEzR7r7d+z/8AEEibRfEaNHZLL0iuGGCgJ+7v4Kns6rjliawfD3wy1n4R/tU6D4L1gMwh8Q2r2dyVwLiBpRskH1HBHZgR2rx3TvFtoZkurCSeOSNw0cijaysDkEEHgg11+vfGj4jeJPFdp471rxhdzapYbBZXYwphC9AqqAo9+Pmyc5ya/PcPwxxrUyjB0MflNeVbCVYunNRX8K/NKnK7T0avDe12tFvksLi+RKVN3T09D1f9rT4SfE/xX8cdT1vwz4B1a/s5be2Edza2LujEQoCAQMcEEV1v7G3w3+IPwrTxD4y+I1hPo+jNp3z2198pkZCWMpQ8qFUMMkDO/jNeRXP7eXx3siI5vFkRIHUaRb8/+O14v44/4Ka6n8WNfk+Hmva54kvpBcPbtptnZwwQTPGSTlVkVXwVyC3pX1P+rtTLeJqnEWFy3HTxEpznGEoQhDmnfRtSlLlXNsld9ep34bKcfiak6tCjOTjq9NEu78j6q/ZQ8U+GfHfhvxZ8A/EGpi3h1oyzaQHKoTvBDKi5xuXCOEGejdga811X9lz466Z4kfw1H8Pb65YT+XHeWyBreQE8OJfuqpHPzEY74NeK6Z8ab2zv4b7SPAniiG5hkEkE0At0eNwchlYTggg9xXsuiftr/tcyaTHZad4S8SzxpHsSebT9NeQjGMlmmyx9zknvXhUODs7zfJ8PhOIMpxcZ4e6hUpQi3KEnzcklNq3K2+VpvTRoyeVYxwUasLW84/5nVftC/Bn4a/Bb4d6BoQvTceMp28zU3hvCV8sgkkxn7qhsKhAUthic4wPGqTU/E/xH8Ua9JqnjnwV4ljnnObjVNYlt5BkDADMs7t2CjA44HArkviFrXx103VYIfhX8IV8Q2TQZuLptQSHy5dx+TDMM/Lg596+KzfhHPM84wWWYPLvqs5QTp0pWi3CKtzyb3lLlbb6u+r3MKeWYnFY5YePLFtXXNKKVl3k3a/zOvVmRg6nBByCK+nPj94I1b9oz4U+Ffir8M4G1W5tLMwajawgCbkLv+UnkpIrAqMk7wRkc18Fza/8AtzNM3kfs5WCp1VXvkYge5E4z+VdJ8Pf2gP8Agpr8L3b/AIQb4Q29nE7l5LUXkbwu2ACxjecqTgAZxnA61+hcL+FPGOXUMVl2Z4Xmw2JjFS5KkOeMoS5oSjzOzs73T3T37+3S4Ux8U4yq0bP/AKfU/wDM+xf2S/g/4i+Feqar8ZPivpkmiWGm6ZIkIv02yHOC77fvABVwARli4xmvJvCfw78aftGfE3VV8JJF5l1cz3tzdXzmOOFGckFyoY5JIAABP4AkeTfET9qL/gpb8UNLOl+K/gyJYiq77aPU4YrdyCDloo5F3cgEZJwa5zwN8Y/+Ci3w51xfEfgj4K2VheBChljuo2DKeqsrTlWHQ4IIyAe1ermHhTnlWOByujgp/UKEpTm3UpqrUlO3M9HyJJJKKve17tPUp8KYx8sfa0uVf9Pqd3/5MfQnhz4HvY/Haz+DnxU1B9L866Eb3FmVcShlzH5bNwA/ADEHBblcgitD4n/snfFfwV4tudL8N+E9Q1nTTITYX9nB5heM9A4X7rDODkAEgkcV8t+KPi9+3x4o1y48T+KfgrZXV9cSb57ma8XcT26XHAAAAA4AAA4re0v/AIKT/wDBSTwPZjRm8M6dIq/dOobLlx/wN5WY/iTXPlvgljMVTr4TE4CpFe0cqVSnOEqihsoTi2ovTW8db+W9w4Mx001z0vVVYf5n2t8P/Curfs1fs1eKdX+IbwWep67G8dlpk10N24xmNF+VuXO5mIXkKvJGDhui+Hde+K37EFj4X+Gbia9s7orqFlGVjabZMztH1AJwyPyfmwO5xX58eNv25P2wPHmqJqPxL8F2upeWWMcTXpRYs4zsUSFUzgZwvOKTwP8Atw/tjeANSfU/h34NtNO8xgXjjumZJAM4DqZdr4yeq96+speHHHVCvHBwyqosvWHnh/jj7W1SSlKpe3JzOS+H4bfcbrg/Nr8qdPltb+LD/M+s/hz+zt8ebnxvpj2XgjVNKeC9il/tG7gMKW4Vwd+5sZx1wMk9hXo37U+r6Rf/ALVHg/T7GVWuLGawjvdqDKs1zvVS3UnawOD0yPU18e6l/wAFQP8AgpFr1g+nnwvpMKyDDSWdvHFJj2dZAV+oINee3X7R37Zcmpvrlp8ObGHVjN58WptMJZY587hL+8mYMwb5vmBBI5B6V5VTwj4kyrKHlmU4OrKNWrTqVJ1pQVlTd0oxg3rrq29tLbWlcF5nGPJGdPVq7dWH6M8r/a58HftFN+0f4tvfjl4W1o+I7vXLiS4luLKUpMnmMsbQnGGh2hRGV+XYFA4Ffa19pXxE0X/ghnrOk/tP6fLaXtvcxp4OtvEEcqXUVuLyD7Ku0/OrD99sB48rZn5KyPCH/BVT/gpDo3h+LTtf+BPhPW7mFcSancwmGSb3ZYrlUz/uqo9hXgn7Vfxo/b6/a/kgsPi9YldHtLo3Fj4e0oQW9nBIV27yocvKwGQGkZyu5tuAxB/oX6ri3ZOm/uZ+pzr4jMJYajiHRpQoyjLmjVTb5ekVZct/N7H0n4C0/wAfftN/8EO2+HvwZ0Bp9Z8PXptL7R9LZ5Jr6O3vRcuqIGLGRkkWTZzuIIVfmQV4F/wSk/Z6/aA1P9tLwz4w0jwRrel6Z4YvppPEeq3djLbwwRiJ0e2ZmUAyPvCeX97kkjCkjiv2a/En7bf7Jfi248W/BKzn06W+iSLU7O4+zT217GrblWSN2I4OcMuHUMwDDcc+5/GL/go9/wAFMfix4RfwjovgvSPCcVzatBf3nh2BBczqylWCyTzSGLg8GPa4PIYVLw+Jjdcj18mKqq+FjicLhatGVKvKUuaU0nHnVpXWvN5a+vY4n9tTxP4Q8V/8FUvEF54K02OCO21JbO+lilDC5u4bPy5pOOFO9SpA7oSeSa6aftXy5Zfs+/HvTLpL/TvB97bzxnMc0F7EjqcY4IfI4NaY+Fn7VUnAt9eP11sf/Ha9fLa9XAaum38jPM8my/GqjGnjaaVOEYayV3a+vxH1JoOjz6ldV6x4J8H+TFHX58+MtA/ab+FOlQa/4u1TxFpVrPcCG3n/ALcY7pMFsDZISOFJ/Cvun9kn4ma/8UP2fNF8W+KDE2oS+dBcSQoQJfKlaMOQSfmIUE9iSSAOgrFY2rjK1mmn5nyHEGRzyvARxcK0asHLlvHvZvzvs/Q9Jh/0P9xBUdnaTzeZPPRNDVi8mGm6NIa0pUz4Y4vx54q/s2XyKx9H8YebLHXKfEDW7q4v5NspP0FYnhfWby61SOF4mAHqK6Xh6SrayX3hdH0FoN551pHcVY/5af8AbaqPhwRLYxhpVH1ark32Iw8Sr5n+9WdOVFVfiX3ozuh1Rw+fN5lNE0QhkzKv/fVGIv8Ansv/AH1S9tZ/u5L7wuh2Z4fLqTyf7S/cTiqo8r93N5q/99VZsZI4zhHBPsa55t1nzqS+8Lng/jOOR9VhKf8APHn8zWR9j87iuu1PRZdSnSdOirtptn4VPmxzzwV8r4R4ilHwuy2+6g//AEqR6GAr8uEgvIz/AA3oM8115+K9M0HTTaRVS8N6D5I/1Fbs2IYv3FfX1KvtSMTVOf8AGzb54D7N/StPTf8AkFW3/XFf5Vl+Mv8AWW/+639K2dCh83S7f/rkv8q/D+E/+T357/16pf8ApFI8aH+8SJPO/dR5FZep+JPJi8/z6r+MNeg0z/UV53rHiSeaXPn1++0sD7U9XDYb2x3F54w8/wDcefWPeeMJ/Nrj7zUp/wB3+/qvDqX2y18+vRpUqK/dnpfVqR6Bo/jD97/r66zTfEkE1eLw3k9nLW5oPiqez/4+DXdiMuwlWj+7Cphj2iGX7ZFRN58MvSsPwf4lgvK6SYeda5r5+pTq0qvszyKtL2JzPxCHnWlvd+rAfoa8k8ZQZ1mWXys5Refwr1rxu/8AxKYov7tyP/QTXnfi+wl8oXa9GX+VfguVw/46Excf+oRfnSFgJf8ACi3/AHf8jC0288mLrWhNrHkxf6+ubm/c+ZR5s3rX9G/VaVLCn0vs2aF5eedXzD8Pz/xkuD/1Hbz/ANq19HeT+9r5x+Ha5/aXVf8AqOXn/tWvLx9ONKrQ5v5lf8D7Lhj/AHTHf9e3+TPqrw3LD9vj5r3zwHN/xK4/39fP+jjyZa9Q8B+JP3UcFepjaftqR8Bjf3tI6f4iQ/8AFOTz/wC0n/oQrN+HZ/4lE4/6ef8A2UVp+Obj7T4OnbPR4/8A0IVm/Du4gttGnefp9p/9lFfzpmMZ/wDEwuDj1+qP86p86/8AfF6HRUed5VR3mpwQxST1yd54wg+31+6U8NWxVX92dnsnV/hnUXk3kRf6+sfXvEcGm2Ek/n1l694qghijAnrg/G3irzrDyP8AlnXp4bAuq/3h24bA1qrNC88eQXnmfv68z8VTT6lfyTwVTm1ieG6k/f1HDqXnQ/v6+ww2WrCL2lM+ow2C9iV7yHzpetZ80M8MtbE/aq/k+dL59a081q7HpUqRJZXk8X/Lerg1ieGseabybqOpILye8/cYrSpasgqUkdRpviqCH/XT1qabeQXn7/zq4O8huIfL4q5pusT2dedVy3CVaX7s4qmGPQIYfOP7irHke9Yeg69BNFGK6zR4ftn+or5LEYJ5f7T2h5OJ/dFezs/OroPDfhXzpftFSab4bn82u80HR4LO18+vMqVPa/wzzauJPmr/AIKSaZ/Z3wX0NfXxOv8A6TzV2H7Az5/Zk0ZPS+u//Sh65n/gp5P5nwj0OP08Sr/6TzV1f7AUe79mTRT/ANPd5/6USVzRhfHteX+R9TiZ/wDGvaL/AOnz/KZ7hB/x8x1T8YTf6BJBirEPn/b4x5FVvFX+qrqqU/ZVj4M6D9hfwn4X8WfErVIPFfhyz1EW2ktNbrewiRY381FyFb5Twx5IJHbFb13+1r8GLS8ltH/Zm0k+VIyFgltzg4z/AKioP2BrdLb4sa9Cchl0M4XHGPOizz+VdB4W/Z//AGQPiP4ln0Xwt8QNVvNQG+aW1W72HAb5sb4RnBPQEmv5Ox+H4gqRnHJalCnVqYzGKXtVS5qlq3uqPPGTk1re2tmvI4Uqjj7jSbb3t3MH4wfDf4PfEr4HyfHz4P6B/Y81ncY1KxBEaEblRlKZKqwLKw2YBDHIJIxveDdU+F/wk/ZY8P8AxJ1j4SaVrFxfXJhufNgjMkjl5RvLyK56Rjjpzxiub/aC+MvgXwn4DuP2cPhJ4dvbCC1vGi1ae6Upna+5lG4l3LMOWbAwMAEEY7Xw1o3wp1v9jzwtZfF3xDcadpIuCy3MGQ3nebPheFfjBbt27dK8nBLAVeJ8Y8vlQWJp4L95NRiqKxCnFSkuePKlbSTtZu91e4R5XVfLa/L8rnNaP+0h+zh461KHwr4u/Z+sNOs72VYmvYYYSYixwGJREZQM8spyPQ1xPx8/Z7/4Qn42WXgDwJG722v+U+lQSS72hLuUKMeu1WBO4/w9SSCa9O+Fvw3/AGKG8aWT+G/HEmqagk6tZWep3bIjyggrgGNA7ZxhSTn0NW7+XxJrH7eOnWfizTIxbWOmSNo6pIzoIfJkIl6DDF9wPGARjJwGrHG5Hic9yKhHOalCrVqYmjShUw6g3GMm1NTlTio2a+FfzWb8lKDqU1z2buldf8AzPEs37PX7JFlZ+D73wHB4s8RXFusmoXF1ChwuThj5m8RZPRFHQZY9Cc/WtF+DH7UPw51fX/hn4Lj0Hxdolqbg6XaRDddRICdqxxACXd90MFDB9oPBGfKf2k729v8A47eKJr9mLrq0ka7s/cTCp17bQK4yzv77TpWm0+9lgd4nid4ZCpaN1KOhI6qykqR0IJB4NfGZvxvRw+aYnKpYOk8BFzpqkoRUkleKmqlnP2l1zXbd3fvcxnXSk48q5drGj4fvNFtbZ/7SciTzMqAhPGB6Vd/tbw5/z2f/AL9mnweDNMuYfNjupx7Ej/CoP+ETsv8An5l/T/Cv3Ph7LPHXh7J6OWYTCYWVOkrJyk22r31tUiuvZHRBYunFRSWhaXxVpEb7lnOP+uZpg8R6QInX7Qcnp+7P+FQr4Qs36XMv6f4Uk3hOyi/5eZT+X+Fez9d+kBS/5gsJ97/+Wivi+yKfiPU7XUmhNq5bYG3ZUjriuksj9k8K29x6xL/Ksu18Iae8w3zykAjIyOf0q54yuE03QxHEgVVACqo4Art8O+F+M8Lxlj8/4hhThUxEYR5abuvd5VdaysrRW7bbb2RthcPUq1HOXU8w8ea9/pUkGa5PzvOlqTxJqXnX8lU4O9f0fS/dUT6jDUvZUTUs/wB95nn0eTBD+4gqvDNVyvExvtaNb2hoV5v9d+NHneVRN/rvxqnNNXpYV/Wv3hrTpnYeD/FU+m3X+vr2Tw3qcGpWEc+K+Z7O88mX/X17Z8Jdf+2WAgrXNcNSqUvaUzzcbhjY+I9qLewi97gf+gmuM8Wwxf8ACMW0zdRu/wDQjXc/EsbtEtZfW4/9lNcN4nQSeHIo/UN/6Ea/mrKv+UhsX/2Cr86R42F0zJ+n+R5tNDPNdScVoWejTzS8irGm6P511XceFfB/nRf6iv37EZjb92fRVKhx8Phufza+XvhfZef+1ktjtz/xUF+uPoJq++bPwfbiX/UV8QfBy2z+3X9m2Zx4s1QY+guK8PG4qpXrxb6M+r4Trc+Dx/lSf5SPo+bTfsdWNI1Kezuo8T1oeK4fJlrm/O/e19lltOjWo858huesXOq/b/BFwv8AtJ/6GKw7TxE+iWBROrSk/oKNAus+D7u3H95P/QhXJfEO+ktNNjCd3r8Cr4SnV+ktgqXR4SX51TxqOG9rm0afdf5nQ+JfiR51h5EE9efy+PJ/tUk/72sf+3r7ypPPqvpsAmiknr+psFgsHlf8Q+0w2Bo0qR1GpeMZ7w/v565/XteOpeXWHNeT+bxRNNPNFRiadH21P2Z20sN7IKrwzfvasQWc83Sq8MPlV006lZ1bHbSNDyfNqvD+5tZPPqSHUvJiqneakPKkryfq1b2/IZBZ/wCmVoWdn5MP7+q/hSz/ANZOKuXkP+i12zqf8u0BX/137io7yHtUlnN5NXLPyJpfIrhp/W6NX2hmR6DeTWctesfDG8gvJY4K8/m06D7L/qK2PAepT2eqR1zZkv7Uwh4uYr2tE980fTf9F8+tTzv+WH6Vn+FdS861jnq553/Lf9a+KpL2Nb94fJVNz5q/4Ke/8ke0H/sZV/8ASeaut/4J/wA3lfsv6J+5z/pd5z/28yVyX/BT1Nnwh0P/ALGZf/Seaur/AGAf+TYtE/6+7z/0pkrGMvaZhJ+X+R9xif8Ak3dH/r8/yme1ed+887FR6lNBeRYqO8m8mqVze3AjJHXFdM5KMXJ9D4I9K/YaiCfGfxCIxlV0PGR0z5sX/wBevE9I8V654B+IK+LNAuDDe6fqLSRE5wcMQVYd1IypHcEiofCB1yfWZDo2vXNjcSQSCS4gmZWZGG1lJUgkMCQR3Fa3/CqrnbvOsp/35P8AjX8KVsv4y8QsvpYzJcDK0MRiKqmqlNe9VnGaSTlFpw77PdHnctWtBOEdmz1j9pzwlovxf+Hun/tPeALfHmQJF4gtQwLxkEIGb1ZG+QnuuwgYGa3m+GXjL4nfsV+FfC/g/SxPerefaDFLMsX7sSXHzZcgfxL9c14U3hrWbXR5fD6+MLgWBnE0tkpYQtIBgOU3YLAcZxnFX/DniX4keELMaH4X+KmqWFoGLLb2txIkak9SFDYGa+3w3BPGmIzrFYnGZJUX1qh7Osqdagm6jcXKpFOVoqXKm076tvU2UKjm3KG6s9Udd4G/Ym+Nsviqxk8QWdrpVpFcpJPefb43ZVVgTsEZJLemcDPcVvftJ/GzStA/ae0HxDoFx9qHhiNIdQMM2VYs7GWMY/iCMVPPXgj5TXn+qeJ/iz4hsH0vWfjJq9xbyjEkEt3KVcehG7ke1c9/wrSX/oML/wB+P/r15uJ4F4zynKngcgymrT5qlOpKdWtQlK9JtwSUZKKSet93sS4TjDlpxffVroe4fHz9nO8+OGqW/wAafgZd2epW2swK13AZxEWdRt8xd+AOAAynDBl6Ek4ydH/Z40D4E/DDW/iV8drCwvNSls5bXQ9FklMkSzyIyqX2MpZyeco3yKCwO4Ar594WsPH/AIHMv/CH/EW+0wT484WUrxiTHTIDYOKw/iXd+LtR1GC/8Y+LbvV7h4yqTXkzOUUEcDcTgc9q4+I8hxWTYXEcS4/I5U67XvOVWlOhGpNqPtFTTlNtyldRd0pPfS4qiUU6jhr8reongnXv7StY/wDrjWpeQ/vfPrzP4Y+JJ5pfs889eoTDzrXNf25jaTwtY9fE0vY1iv8A6qj/AFtRwd6sQw+bXNUqnMWNNh86WOuX+LWseTayQCusmm+x15f8VdS+2+ZzRhb1cWduCpfvTzO8mM9/JUlRj/XSVJ/yyr1sR7ZHvh5/tVj7Z+96VXm/5Z0VxfWaVX93UAsTXlU5v3VE/ao/+Wta0sSl+7pm1IK9Q+Bmpf6fHBXlf/LWvSPgnD/p8detiantcuOXHfwT1H4nf8gC0/6+f/ZTXIaxZ+d4Xhmx03f+hGuv+Jg3eG7OX1uf/ZTXP3mnfaPBVvOOzP8A+hGv5dy6D/4j9i1/1CL86R8thdMxfp/kcNo8P+lV6h4P8j7LzXl8M32O/wCa7Tw3rFua/obMMN+5VQ9zEbHcTTfva+AfhJJ5P7dryenizVf/AG4r7qh1Lzov3FfB3wqm2ftvPP8A9TVqZ/8ASivExFHlnDzZ9VwZC2CzD/r0/wApH1j4vm866rlJv+PutvxJN511JxWPpsPnXXkGvrsN7LCUDwlsdp4cLHwtctJ1JXH/AH0K5b4iPHHaJI/YGuosz9h0o2H98j9Oa4X4uXogkt4PMxmMn9a/BYwr1PpLYHk3+qSf41TzcMrZ/B/3f8zhtSvP3v7itSzm/wBA8g1h/ufKrYs5oDa9K/qPG3q0vcPtluZesfubqOpPJ86KpNe/fRfuKPDcIu/LgnrRU7YT2hrU2Lmm2eLWSqd5Z13EPhvybCP9x/ray7zw3iTyK5cNmVH2pw08ScXeQ+TWf5M81/1rrNY0fyKz7PQfOMk9evh6qt7SodPtDQ8K2cHlSVJeQ9qsabDPDayQwQVY/s2+m/5YV5Lq0aVb2lMz9qYc1nUcM32Obz66CbTf3VY80MEMsla4ap9b/iB7U1Ibye8i/cVseG7P/T4/8a5/R/8AVST10HhXWIP7VjNcrpVV7T2Bw472vsT3jwTD5OjR1qXkPkxdaz/Af77Rutak/avjqq/ffvD4l7nzR/wVA/5I9oH/AGMq/wDpPNXV/wDBP7/k2PRP+vq8/wDSmSuS/wCCnn/JG9A/7GVf/Seauu/4J+Hyf2ZtBuPS7vf/AEpkrzIwX9oSXl/kfeYj/k3tH/r8/wApHrmpf6yP61magcM0OO1bV5DPPF58FUbqz83dx/Ca2xTpUqMvR/kfn5znw3EZ8QkzfdFuxP5itnxJ42gs/wBxBPXJ6LqP9lzS3I/54EfqK5PX/En2y6r8f+jVg4VuBlUlt7Wp/wC2m2U0vaUPmdRe/EL97J+/qnD48nmuvPrj/wB/NVyzhPm1/SvssHS/eHs/VqR3mm+Nv+fj+ddBpviSC8lrzOGH91VyHUrizl/19ebUw+Dxf8Mzq4aj/wAuz1yzvPtlc38U9hmsinQrJ/Nap6D4qM3lwfaKk+INxDdGzmhfIKv/AOy1+F+POFqYbwzxqe16X/p2B4GLpeyoM8X8B6x9j1SOvfNBmN5YR/8AXGvm/QZvJ1SM19CeA5/O0uP/AK41+6ZtS9rRp1D28ypknk+TLVyz/wBV59Hk/var69rH9m2v7ivnKmp5CVzH8VeJPsf7j/ptXnfiS8GpSyT1Y8VeJJ5rqqcMP2y1617X1b6pRue/hsN7KicnNN+98j/nrViH97WhN4bnMsZ8j93FVPyfKrmpYm9X2kztD7H/AMvH9Kjmh/dVc/5ZVXm/dV51X97WNCnUdSTfvpcVHWuCpe1re4VSJIO9emfBOAfavPFeb6bZz3l1Xtnwr0H7HFHXvY2ovqljhxtT9yb/AMSm2+HbOD0uM/8AjpqtYWH2/wCH8Kekj/8AoRq78WP+QZb/APXx/wCympfBNv8AafCEK+jv/wChGv5ny6K/4mBxi/6hF+dI+YjO2Ob8v8jyPWLPyb/Igq5o+peTXQeMPDdxDLJXJ3lnPZzV/SmCxOEq0f3h71Kp7U6iy14wxV8XfDKfy/2xmuP+pl1E/wDo+vqH+0p4Za+U/hvIy/tW+YBz/wAJBfH/ANHV52awprFULfzL80fccJw5cHjv+vb/ACZ9UXl550vH/LWrHhuz86/4/wCe1U/J82tzw3Z+TF59erjbex/dnyhf1S7iTUYLNZcsSxI/4Ca82+Nil9ctEPT7J/7M1ddc6r9q8b21t/sv/wCgmud+KsKTeIrVJOn2Qf8AoTV+Dc1Sl9I7L31+pS/OscWH/wCR9T/wf5nE/Y/b9akhm8n9xWxZ6b5trJPVeHQfOmr+nsPiKNXQ+x9pYrzQjyo62PB9nB9qjo+xwQWH7+qdnqcGm3Uf7+u3DYatWoVKBxVcT+5PXIdNgFrH5/8AyyrL1L7D5vn1l/8ACef8Sn/j4rk9e+IXk/8ALeufKeCq9aseBU9sXPGAgml/cCo9Bht5oq4vWfiFBPdVY0HxtB2r63EcFYz+zztpVa3sjuLL7PDf+RWx5EH/ACwrz+HxL9suq6zTdS+2GPFfI51kFbB0Tp/e1aXtDcm0GD+y/PzXF6xpvkyyV2l5rHk2HkVzepTQ3tfN4JYzC1f3g8N7Yz7OH/RIxBVzw35EOs1nxXn2OLyKNH1LydUjn/6bV7+D9tVRvib2PpT4b5m0uP8Af1uT9q5v4Vzf6Bx/zxrpbz/Wj618DiadWljKlM+Kqfxj5l/4KeSb/g3oA/6mVf8A0nmrrf2Bdn/DL2geZ0+2Xv8A6UyVx/8AwU7k3/CPQh/1Mi/+k81db+wEu/8AZh0Qf9Pd5/6UyV5rlbGyf93/ACPtMT/ybuj/ANfn+Uz2/wAj3pkZglefz4P4D/Kn06LyPIn/ANw/yrTFU/3Mn5P8j4I8a1u8+xaZLL6jbXFed50tdb4tVm0ZkTqXArjrOvzH6N0+Xw0iv+n9T8onp5HC+Bb82alnD5x8iug0fQf+XgGqfhuz86WOvRPDegweV/qK/acTjatKl7M7KtQ5/wDsCfyqy7zTf9ZXpk2jweVXP+JdH8mLrXiYbE1sLWOanVOLh1K4s7qOty61F9Rs4HkfcV3f0rn9Yh8mWrWhzebAy/3TXxHj5P23hHjZedL/ANPUzLNqX+wufp+Z5jpv/H+n/XavoD4bzf8AErj4rwfQYfNv4698+HkP+gR4/wCeNfq+NxP7n2dQ68x/hG55P+srzP4heJPJ8yDNeiaxNBZ6XJP/AMtK8P8AHmpeddf6+vNwOH1OXA0vamPeXnnXVdB4bmgm/cGuXsx5MsZrc0GYwyx3Ferjan1lez9oesdp/YP2ywx/Sub1jQRDLJ5NdZ4U8SQfavsIq5r2mwTRSfZ/wr5eFSthaxz+09keXzQmH9xVeftXQa9pvk3X+orDvLOeurBVL1f3h00qpnz9qkhs/Oqx9j87iuk8H+Fftl1HXo/7p+8QVKvsix4J8KTzyxz+RXsnhuzt9Ntf9RWX4V8N29na/wCorpLyGD7L5FeVUxNWrWPExNX2pznxMn+1aTbXX9+fP/jpq78P/wDkVo/95/8A0I1V+INi/wDYMaWxLiGffJz0XBGf1rndK8Zavo9kthaJCUQkjehJ5OfWv5q4i4py3gfxqxGY5pGapVMNGMXGN7tuG2117rTa6qx486kaWKcpdj0K80eDU4v9RXF+KvBJ8mTyIKZD8TPEkDh4xb5X7uYzx+tLN8TNfuEZZbW0O7qfKbP/AKFXux8fOBIbSq/+C/8A7Y6KWY0aXc5HUvDU8Ev+or5B+F8Gf2uRb+niK/H5Cavtm58Q3N026W0t/wAEP+NeXaD+zP8ADrw58Sv+FqafcakdS+3TXflyXKmHfLu3Dbszj5zgZ9K3rfSE4GrSg26vuu/wf/bH1+QcWZdl+HxUK/NepBxjZX1s99fM7LTdNzLVzWIRpthVmK7kiG1EX8qL+7k1GH7PcIoX/ZGK9FfSO4CfxOr/AOC//tj5uGc0lUu7nC6KufHVu4/uSf8AoBqP4nAf2/bNn/l1/wDZmrqbXw1p1nqA1KEyeYucAsMcjHpXD/Fa+tbvxFHDbTB2ggCSgfwtuJx+RFcXB/FeX+I/j9hcyySM5UqWElCTlG3K06mr3snzxSb3bsdODx0MTnMK0NlFr8/8zU0aGD+y6z72aCz/AHFZeg+JB5XkTz1n+JPEh839xX9l5bkFarW9mfSVMSaGveJIIYvIxXD6l4wt4brz/PrH8VeJL69l61x815PNLX7FlPC+EwuEvUOE9E/4TyeX/j3nrH17Up7z9/59Y+m/aP3daF5D50WTXrKjhKNb/Zx06Zlw3k/m81JNrE8Msf8ApFV/9Tdfv6r3nkebzXr0qaaD+EdZ4b8STzXUcE8/7uvSNBvPJtfPgNeJ6DN5Mvng9a9I8Naj+5jg8+vhONcp9rR9pTO3DVDqNY8ST+VzVOz17vOar6lCJoozBWX53k/uJ6/L/YqrhfZnrU7GxeXnnS+f59XNNg866jgrn7P/AEyWMVuaD/x/xz5pU6dGivZmeJt7E+i/gv8A8eH/AGxrsdSxNL/r64/4P/ubWuwvK/NcdT/2yofnuK/inzH/AMFO/wDkkehf9jIv/pPNXYfsAf8AJr+if9fd7/6UyVx//BTuLHwj0KXPXxIo/wDJeaux/YA/5Ne0T/r7vf8A0pkryIf8jGX+H/I+3xP/ACbuj/1+f5TPZ/8AlrU0UME0D/7p/lUPnfvaWKaD7I/+4f5UsV/ukvRnwVM8c8RJv0t/Yg1ytnZ/6VXdLZ/bopYfSMn9RXK3lnPDdV+R/Ryr8vh37P8A6fVP/bT0clny4JrzZ0ng+ECWvRNG/wBVH9a838KzCGvQNBvPOijr9qxJtiNzUmm8mLzxWHqX76LE5rUvPP8AK5rL8n97XD/FOBHH+KrP/WA1l+Gn3LMPTb/Wuw8YWf8Aoslch4fTZLcj3X+tfmfjZi+fwnx9Lzo/+nqZ0ZhLny2b9PzRx3gmz86/5r3jwrZ+Tax/9ca8v+GOgiaWOevXLOH7Ha1+xZlVVWt+7NsbVM/4kXkFnoPSvnvXrzztU617Z8VPP/sGTFfP+pTeRf1rlrpGuWmxZ/vulaEHesvTv9V+FaEM3kS1niKntax6JsabeQQ3Xn5rqIfFUE37iuLhmqSG8/5bg0nTo4pGdWmdBrE0E3+orDvIfOl60Q3k/WerGm2c95LXPTw1mZkej6DPeS9K9Q8E+G/scMdZ/g/wr5P/ACwrtIYfJi8g1y1av732Z5uJqGpD/oUXWsvWNSgh/wCeVWLy88m1rz/xh4k8n/UT08NgqtZnNSpOqbmpeKYIpeR+FYsvjiPzf9WuPpXE6lr095L59U4bzzq9yGVYafxJP1PR+qo7/XfE73VhYXFtaiSO2ml8+KEV1/gW8hj8J28OoRKZftcsmSteS2epT2c37ieuk07xVP5v7+et6mTYOrR+FfcjOphUew2a2E3/ACwT/vkV+dvwr1G9X9vGWGS7lMQ8X6qPLMhK4/0jjFfevhXWILy1r4B+GH7z9u6c+vi7VT/6UV8fXwNGjjKa5V8S6Luj6rhGhGngcyv/AM+X+Uj7c+2x+b5/ljH0FS+Iri1t9HknmjXP0rMh/wCWf41n+PJ7j+wZOK+wpZfg3Wp+6vuR+fUkvbHlPjrxcjyybJGGPQ157rPiQzRZNdB4kgN55lcfrFn6V+5cMZblWHpckYpfI+lw1JeyCz8STw9Kj1K887rWP5PlVYg719ysDlyq3pnd7Mr3sH/Les/+zP8AarYvIYPKqxDpsFdNTE1cKg9mU9Nsz5uauXkI8qib9zFio5rzzq82p7WrV9pTJMPXoR5v7g1n/Y5/JzWxeQnzaz/+XryK9fDVn7HkJ9kWNNs/Ji611ng8edL5FYdl5FbHg+byb+vJzepWxWXGiqeyOw8791WWLOe88ytCabMslGmmCGb9+K/GMyp1qNLnpnpU/wCAU7P/AIlvlwV1HhuGDzY6w5oftl11rQ0GGf7fH5H+rrgw9N+x9pUqGWJ/hH0h8K4fsel+fXUTefNXH/DHz/sEef8Anj2rsPO8mKvisbb657Q+GxP8U+av+Cnv/JH9BH/Uyr/6TzV1v7AH/Jr+if8AX3ef+lMlcl/wU9bf8HPDzD/oZF/9J5q6z9gT/k13Q/8Ar7vP/SmSvDq/8jOXJ/Kv0Pt8T/ybuj/1+f5TPaf+WVQ3Fx/Z9p59zMsaBeXc4HPFTed+6rK8d/8AIsTf7yf+hCvP4px6yXhnG5hTipSo0qk0ns3GLaT8nY+AnLlg2cv4SsZLi7keSNxE0DASbDtJyOM1jeLvDkttK06RN8x+XKnn6V9gfEv47698BPhD4DuPCvh7TJhqekR+bFPCyIhWCJsqsZUDJc5rnvhj+12/xi8Y2Xw2+J3wz0m7stWmEMZhhMgjkIOCySbgwzjJ429ecV/OHB3FGX+HdCnw3DGRlXk4yXPRny81WMZRi5RqbapXtpfUWGxCwn7tPX0fX5nyfYrqdtMAts5yeML1rtdAn1G38vzrCdMdd0LD+le1fD34baN8Nf24U8I6XbRvYLHNcWUUqbzArW7SKAXBOVPAYEnA65zV34mftvfEHwR8QtZ8Iaf4T0aaDTdSlt4pZll3sqMQCcOBnivrYeM+PwmWVcRncaVBwrzoWjCpUvKCTbupx0d9NDeeYznFuoktbdWeNya1pwcpLexqynBVmwRSf2vo3/QQh/77Fe5JqvhP9rr4J+IvEWseBrTTfEWhQl01GCMncyxmRcOBuKkBlMZ3YyDycY5L9mH4ZeAtE8Bap+0R8VrFLux0xnTTrGZEeORlABcowwzF2CIDgA5P90jhr+KHFGKzLDU8FToVMNXpyqqs/aQUacHabnFu6cbbXabaV97YfWKjkuVJp631PKvFcrT2e6JGaPGfMCnGPrXHaTDNFNOZYmUMV2kjr1r6WtP2/dU1DWPsPib4a6a+gzuY7i1jkZ5RCeMEt8jkDqNoDdOM5HJftZfDTwD4P17TPGPw11C2OmeJLVrqOyglTbCcjDRoMFYmzwMYBVhwMKPjPEDxClxXwLi8Pl1SnVpJ01V9ydOpFc8XGUYylJSi5JJ9VfVFYnHyr4SUI2a0vunucH4J8N/Y7CPmugvIR5VEMMFna1HD5/lf6RX9X06ptVqmP4ws/tmgyZ/1lfPfiTTZ4dUkg8ivpyaz86KSCvI/Hngmf7f54/5a1phqvsqx24Kr++OHs/3MWa0IZv3tE2jTwzVHB3ruqYeq6vtD2/alzzvKo87yP3FRzSmG1+0Vz+peJP8ASv8AX104LLnivgEdZpv+mXfkQV6J4J8Ked5c/kV5n8N5v7S1COvozwTpsH9jRiuLMvbYT92edicT/wAuw03Qfsdr59WIbPzpfPqxN/zwxVO71iCztZK8i1Z1vaHk+z9sc/481gWUUkHn15XrGpz3stdB8Qte86WSDz65Pzuvn19JltP2VE9vDUrUQhsxPLVyHTf+mFSabCfN5rcs7MeVRiMTWNKmhlw6Z2zUf7+GX611kOj+dFWfqWg+TLJ+4rPBZs7+zYe0NTwTr09nL/r6+N/hJ++/bpc/3vFeqn9LivqzTpfJlr5R+CD7v24onLYz4o1I5/CeuLNn+9pT/vf5H1fDELYLMP8Ar0/ykfb02meTWX4ws/O0G4rrLyG3m8viuf17E1hJBBXt4HE/Wq1M/NaX8c+e9e/0PzPtFcnqXkTf6iu0+J1nPZyyQf8ATavN7uaeH/X1/QvDeHo1aPtD6fDbEc0MHWrEMME0WPs9Z800/SpNN1Iww+RP1r6mrSqr+GdVSoF5D/ywA+lWLP8A1R+lV5pvPlrQ0fTZ5TRiXRwuEvUD2hl6lN61Thmnm/5b1saxoIhNZc0PlVrgsTg8XR/dnKV/+WtV7yzPm1oWcPnXVSXmm9/Irqp+xosqoYZvJ4ZfIrY8K6li6jrHvLOf7V/qK6T4e+FfO1SPz/8AV1vmWIwdHLalQyqVPZHoGm2f2zy5zVfXof8Alvb10lno8FnYfuKy9Zs5/Kr+equN+tYuoethsToY+g/6ZLmevRPAejQXl15ArzvTfPs69E+D8wvLuOpxuC/2f2hzZlV9lRPePCumwabpccFanke9R6DD51pGKueR71+WVb3PiXVufMf/AAU9TZ8HdA/7GVf/AEnmrq/2A4937Luhn/p7vf8A0pkrmP8AgqJ/yRzQP+xmX/0nmrqv2Af+TW9D/wCvu9/9KZK8+EP9vkv7v+R97if+Td0f+vz/ACmezw/6n8Ky/H8e3w1Mf9pP/QhWmf8AXR1lePZETwvIrMAWkQKD3Oc/yFfNcfOdHgDNed6fV6q++Ekfn1b+FL0PoX4l6/8AAnQ/hL4Ef40+FbvUoJdHi/s1LfcTERBDvztdOoK/l2ptzqPwO+DHw0tvj98I/hJHqUdyFRLmKZg9qHyhLtIXMXzZRto6nHQ5rzv9rTU9Lvfg78NILLVLad00nLJDcK5A8mFM4B6bkZc9MqR1FZn7InxV0nT7+8+Cnj7y5dA8Sq0SLcNhYrhl27c9hIMLnswQjHJr+aMTxXQpcavLJ06MJTpUlRxHs4OdOq6UHByk07xu+XyVtUkYuqlW5bJaKzts7Dv2ZvGmr/EP9rODxp4iKteagt3Iwi4RP9HcBQDk7QoCgZzwOa7P4k+N/wBjGy8f6xZ+M/htqVzq0WoyrqNxGj7ZJgx3MMTjgn2H0rlvgZ4Itvhd+2Ong3+3bW5hsmuo4LhblPnDQsFQ8/6wZCsnUEHjAzXQ/E39iH4ieN/iFrXi/TvFWixQalqUtxDFM829VdiQDiMjPPY15eSUOLHwdVp4bBwxWIWMq+0VSEKlnyQvL3na7lfVbkwVb2Lsru7vfU6vX9U8GeNv2Xdft/2aktrK3hhb7fYx2TJMUCgyoRnO9ox9879wBUeq8N43+0D9gbw99hCbP7QT7V5O3G3zp+uO+7Znvnr3raXQ/Bv7I/wU8S6BrfjOy1TxHr9uYv7PgfBy0bIoCA7ti7nYuduenBxnlP2Yfib4C1vwDqn7O/xVvktLHVGd9OvpnVI42YAlS7HCsHUOhPBOQewPqZljYYjMKWXZhKFDFYjBVKEoRklTpTc+anFpNqHOlaSvpdLtepSTkoy0bjb07Hg1FfRNn+wFqun6z9u8T/EnTY9AgcyXF1GjJKYRzkhvkTI6ksQvX5sYrkv2sviV4A8Xa9pfg34a6fbDTPDdq1pHewQpibkYWNxktGuODnBLMeeCfyHMuBM1yHKKuMzdqhJNRp021KVVt+81yydoxWrk7p7I5JUJ04Nz0/U5vzZvWpIO9V6sQw/va/0bp0j1SWz/ANafrVbXtBsdYtauVJDNRiKY1VaPN/EngOeGX/UVzf8AwhM/m58j/ltXuE1lY3kX7+qf/CH2M0vnwVnTxNal/EPRp408D+JGm3Gm2EdeX/v7zVK+mPi14DN5pcc8H/LKvD9S8H/Y9U8+Cvo8hzWiaU8aqtU6T4Y2X2O6t5/+m1fTHhW8ghsP+2NfO/w30e+mv4/Pr2iHXv7N0WT/AK41z5lV+t1vZ0zmxP76t+7LmveJPsfmVxfirxViKQ+fWf4k8bfbZfIrD/0i8FCw1KjR/eHVhqRl6xeXF5L/AKRRDD5tSXkNxDLUlnD2q6mISXPTPRVSxcs/P/1FblnNBn/X1l6bDP5tWJv3VcdLE3ZnU/enaeG5oJv3Bq5rGg280VcPo+sfY5a9A0bWINS0vyP+WlcuY4Z0qvtKZzVKZw+pWf2KWvkL4Ftj9ty3Y/8AQz6j/wCgz19q+KofSvin4Hx+Z+21BH6+J9R/lPWWKVSdKjN9Zf5H2PCv/IuzD/r1L8pH3lNN+6rP/wBbWxNpv+ix8/8ALGs/7H5PFexhdD8zPK/i14PN5LJPBBXkeveFZ/Mz5FfVGseG4NSh/wBR/ra4vWPhX5Msk/kV9/kHFry/92ethsSfO83hWfr5FR/8IfPD/wAsK9Y/4QQfb/I+z1cm+HnlWuTBX2q46vV/eHpqpc8bh0GeGX/UV1HhvQT5Xn+RWhNoIhv5P3FaFneQaPa11YnMq2bUvZ0zSoc/4k0fyYeYK4fUrPyZetdZ4w8YQTfuK4fUtY86WvoMgy7GYSj+8M6e5JZwnza0NZ/49jVO0m/57mpLy8t/Kr2vZVqtY3M/yfOlrsPB/wDofWuPhmg/4+Kuf8JV9jl/cV043La2LwfsyKlM9ch1KCeKOCtSbTYJtLxXleg+MfPl/f16RZ69BNpcf7+vyriPhyrl9LQy9o0Y+saP5J/cVsfCXz4dUj/67Vs+FfAuuePpYrHQ7Ke7nnk8uC3toy7yN1wqjk16P4S/ZW+NGkXqXV38MNeXHXGlyn+Qr83jx5wrg8PiMvxGMp+0g+WUeeN4y7SV7p+T1Ir5jhpU3Gbu0d54Vl8nRo6uf8taoX+pWfgYnQvFGn3+nXIGfIvbCWNiPUBlGR71c8Lpq/jZZbrwf4b1XU4oGCzSWWmSyKjHnBIXAPfFfky424UxGLdKOYUXUX2faQ5tP7t7/gfKc8HK1z5m/wCCokm/4OaAMf8AMzL/AOk81dd/wT7/AOTW9D/6+73/ANKZKt/t5fsw/tAfF/4W6XpHgT4Sa5cz2GtC6uhLp7xBIhDIpbLgA8sKg/ZGsJ/hJ8C9M8C+PENnqlpc3TXFuv7wKHndl+ZMjoR3rlxHGfCmBx3NicdShdac1SMb7bXaPtsTj8F/qJRw3tI+0VVvluua1pa23tqexQ/uq5P4oqUexXP8Mn81rqPDWoN4zvW03wlpWoalOib3isrCSVlX1IVTge5rn/jJomv6Je2UWveHdQ09pI3aNb+yeHeMjJXcBnHt0r4Dxk4l4ezfwxxkcDi6dVt07ck4yvarBvZvbqfCV5RlRdmcYyspwwI4B5pASDkGu30Pxj4YtNNtLe8uPnihVZMwMcED6VdTx14KhG5Ztzen2Zv8K/A8N4W8G4jDU6z4lw8HKKk4tQvFtJ8r/fLVbPRa9Ec6oU2r86PPFZlYMrEEdCD0qx/bOsf9BW5/7/t/jXS6x47sJjjTkz/2yxSHwT8ZdV0v/hINM+Gusy2JTcLmPTJChX1BA5HvXt4HwW4YxbaocUYd21fKouy7u1Y6aeBpT2qr+vmcnJI8rmSVyzE5LMck0lWINf121mKzQ7SpwQ2ODXSab46sx/x/8fSLNc+I8HOC6SvHivCyf/bn/wAvFPA0Y7Vov7v8zmW1C/eH7M99MY8Y8synbj6VDXqOi+LtG1+9h03SrGe7unOEt7WweR2+iqpJqX4peFvE+keDrq91TwRq9jCTGpuLrSZYkB3rgFmUAZ9683H+E+R0cnxOPw+fUq3sYTlaKi+Zxi5KF1VdnK1lo99mYyw0ORyU72/ruYNWP+Wtdp8C/gV/wtDwFc/ETX/iLY6JZQXbW5D2m4IVC5Lu8iKudy4xnr1zxXUx/sw+DtVb7B4d/aI0W6vZOLeBYInLt6YWcn8ga/rPBeIOV5hg6eJoUpuFRc0LulFyT2ajKopa9NDvjLmSaW/oeRQd6k8j3p/xQ8GfEn4SeMIPB/ixNPDXZWS0voN7QSqW27gfvDB4IK5HoQQT65f/ALKHhzw48MXi3496Zp95JCHMNxZxxg9iVDzglcgjPtXHlviVkuYV8RRo0aqlQaVRTjCHK5XsnzzjvZ2te6+Q41YybSWx5JDN+6qSG8nhlr0nWf2V9fvtGk1L4SfFDRPET2ynzLbYELHGQqukjruPYNtHqRXimh3nj7xJ4pi8K6JoX2jU5pzClnHA24OOuRn5QMEkngAEnAFcOeeK3D2TzpUcZRrJ1dIWgpqb00i4Tkm9VonfXYU68abSaZraxDBqVrJbz1wepfDczX/2iCCvpqD9lm30a3toPiJ8btD0vVJU3fY0gUrjJA2mSVGfp12jnivO/jd8Nfib8DNQil1WGzvtMumItNVtbd/LJycI4J+R8DO3JBGcE4OHmfiBl2Q4R42vQqxpxtzNRhJxvtzxjNuN/wC8l2Ik1CPM0zifDfgP+wbX7dPBXP8AjzXvJi/sqCte+8f67f2v2OZYAn+xGQf51y+o6DZ6pObi6kl3N12sB/Svnss+kF4fYfEe1rSq38qf/wBsbYPH4Wj8V/uMCHz5pY67DQdH860/1Fdx8A/2Ttc+MFrca5a6vDpWkWEojn1C8Bbc2NzBFGA20YJyVA3Dk16Tqn7H1/BoM+sfCT4m6T4layjZpbQRgOxCk7FaN3BY9AGx1619zR8UMszjLVjsJh60qck3H3YqUkt3GDmpSS8k/I9BZhTceaCdv68z5m17TfJqnZw/vY810uqytqTlby3RGU4IVSCD+NR6H4c07UtatrG61dLGOedY5Ly53GOFScF22gnA68CviKHj/wCH00qbdW7dvgS/FysvmYxzfDShyu9/QTR4fWo7yHtX0Vafsi/CC3iAi/ad0hgR97Fvz/5Hqz/wxJ4J13TbvUvD/wAfbK6FpEWllitY3ii4JG8pMdo46+lfeU+L8Be1ClJveylRb016VTqWNpdE/wAP8z5Ym/cy5rc0HXhZyx12nwH/AGdY/jh4zvfD6+KUsrbT7dpp71ITJvXdtGxTt6k5+YjA7dq9GH7FnwXjfI/ac0wEdQTb/wDx+oyjxQyHPMBHGUqdR05NpN+zjdx0dlKom7PrsCzHD1o31t8v8zxHWNSgvK+OPgMmf237VP8AqaNQ/lPX2f4/8K6T4M8Y33hvQ/FltrVrazFItRswQko/lkdDgkZ6EivjP9n6IH9ueziz/wAzTqA/8dnq8k8QuHOMq88NlvNz4aaU+ZJL3m0rNOSlrF6p22tc+z4PxdCvg8xVPpSf5SP0U/sfzrXisf8As649BXTw/wDHpUHkwTda+5pVatI/N3V1Ob+xzwy/9M6r6xCfssmTXUTabB/zwqvNpkE0X+o/1taVMTSX7wKVU8bmE9nfyT3EFF5r/nxSW4grtPGHg6CHzLiCCuDvNH/1kAgr6TA1cJiqPtJn0GGq0aqObvLOC8v/AD65fxtps9mf3Br0CGKCGL9/XJ+PP3sUk+a+z4fxtsxpnYeP+JIZ/NrPs7PzrqtzX7Pzqz9Ng8qWv26eJq1aP7s2p0ySGz/1n+NZ+p9q3POg/eQVl3kPnS9a58FUrKt+8FUpmX5M83SrAs/Olq5ND+6qxD+6r1qmNrW/diCLTfsflnNdJZ699jtY4Kp/6P8AZax57wfav+uVeS8NVzX+IR7P2R9r/wDBM6+uZ/irpDPIwLLeo4B+8Ps5OD+IB/CvSfi5+1n8cPCfxQ1/wzonia3js7DVZoLaNtNhYqiuQBkrk8dzXl3/AAS+mEnxO0higO43uCc8f6Oef8+tfR2o/tBfBM/Gq7+Hni/4OaVEw1iS0uNduLeCQNJuKiRwY84LYySxxnJ6V/lR4lQqx4jzehSzN4JyzOtFSXOuZuFO0W4Wsut5NR8z5DFX9rNKXL7z/Qr+D/Gmp/tMfs3eKW+KmkWyyaTFI9nq6QKitIkRkDrk4V1IwxBUFXxxk1l/Avxn4h8DfsYeIPFfhy9EV7p+ryG0kkjDhMtbg/K2Rj5m/Oq/7ZnxQ+IfhGV/g5p2g2Ok+HLy2R7aeyj+a6hB+aPjCxgMMFQM8DnDYOl+zh4r0fwV+yLrfijXPDUOq2llrEhn0+bG24yYAM7gw4LA9P4R9a+NpY+D4ulgZ4iX1jC4OvTq4iUXGTktVKyvJqmtYy3lur6N4KX73lvqou7POtL/AG2/j9bahFNc6xZXqBxutZdMjCye2UAb8jXY/to+BbPxFrPg3xNpekLY654lC211ZMoDs5EezfjkspfYTg8ADPAFP8OftlfBfT9Zguz+z/a6btfm9sI7dpYvdQI0/wDQhW18e7R1/aD+GvxOXxQZNG1K7t0tRIwVIAHRsqAAdrrIpJOeepAwB5sI0s04QxdCtmrzBSqUE7qSdFOok6l6nvap8ummuujdp0nRac+bVfLXzK/xl+KNn+yb4Y0v4O/B2ztotSktxc6lfzx+YwJ43kEkGRyp65CqAAMFceEfFD41eOvjClgfHN3b3EuneaIJ4bYRsRJsyGC4BxsGOAeT14rsf24LK+tfj3d3F0rCO50+2ktic4KBNhx/wJW6V5DXwXiFxDnEs9xeUQqOnhaUvZxoxdoKNNrl93a7aUr769jnxFSftHDotLCuqo2FkDcA5Ge46c+nSkoor82OY9m/Yo+Hmg+LfiJd+LPEsZe28N2q3cUbKChmJOxm/wB0KzAeqg9sG1r37dnxal8YTaloC2EWkpcn7Nps1mG3xAnG987txGMlSBnoK2f2KJI7z4f/ABB0OzfF9NpymICIE4MUyg57/MRwePzNfOxBBwRX6riM5zThfgjKv7Kquk67rVKkoOzlKM1CKb6qMVts76o6nOdKhDkdr3Z77+2V4d8NeI9A8NfH3w3aPA3iK3RL6PAIZvLDIWI/jADIexCDpjnwKvon4uOmm/sQ+DdN1Nv9JuLqJ7cNEM7cTOPp8rDkcn8TXztXk+JNOm+Io4mMVGVelSqzS0tOcE5ad29X5snEpe0v3SZ9Pfsk/bNE/Z48UeJ/hrpkF74qF048h/mZgiKY124BIw0jBcnccjPYeffEr4rftTeKfA+qaH8Q9Ev49GJiGoyT+H/IWMiVCmX2Db84Udec4ru/2fItA/Z3+A93+0Br811dXes/ubTTYbvbFIBIyxqQMjeSHYs2SqggAHcG4r4pftkeK/ir4E1TwFq3hDT7a31BojHNbyyb4lSVJMHcSGJ2AZ478V91mmNweC4HwWExePqYWs8NJqhTu4VFPmcHUskk6t7STb0fTVm85RjQinKztsuvr6na/Avwd4g8dfsY+IfCfhuyE19f6vILWN5AgfDW5PzMQOin8q4TSv2Jvj/c6hFDcaLZ2KFxuupdTjKx++ELN+Qrsvg/rms+G/2IvE+t6Bqc9neW+ruYLm3kKPGS1sDgjkcEj8ab+yz8etW8c3mofBn4q+Kb65XXIHXTNSkvCs8UhXDRiTqCRyvoy453YrZYDg3N/wCxMFmvtVWnhoKDjOMab96fLGV4uScpXV13XqPloz5Izvewv7aev6S2r+DvhzDqP9o6tpKqb+6ypkywjVQ+ASGfaXK57g4OQa6H9r74BfFD4teONM1rwNocV1b22lCCZ3vYoyH812xh2BPBHNfPHjv4f678MPifN4N8QZaa1vkMc+OJ4ywKSD2Yc+xyDyDXuP7b3xM+IXgj4g6Tp/hDxnqWmwS6MJJYrK7aNWfzZBuIB64AH4VnLN8Fm+Az7FZ7QqU4+0w0XTpyXPFw54RXNJNNrl95ta9LC54zjUc1bVFv9l39nL4lfCHxncfEL4gaha6Tp9tp8qT263qv5ykA5crlVRcbsk5yo4xmmfs23nhnV/iT8SvjzZ20Zt7IzSWURXDCNzJKz8AAbhGOxPJz6nK/Y5+NXxe8W/E7/hEfEOv3msaZLZSy3TXp8w2xUDa4c8gFsLjOPm6Zrb/Z9XwtbfFb4n/BKyEUFvqUs4s9su792pkjZBjj5RLkDggAg5xx7vDc8kqYbJnlMZRoKtXSVazn7f2L5Gmvd5b2tZJc1tL3NKfs2ocm13v3sfNPi3xVrXjfxLe+K/EN2095fTtLM7HoT0UeigYAHYACuzk/aK1+++Bb/BLW9Fgvo1mT7HqVxMxe3iVgyoFHUgjAYnAX5dpGMcZ4t8La14J8S3vhTxDaNBeWE7RTIR3HRh6qRgg9wQa7OT9nXxBZfAx/jbretQWETTJ9j024hYPcwsQocMOhJOQpGCo3bgMZ/EMr/wBa/rWO+qc3P7Op7e9vg/5ec/Npe/8A29fbU4Y+1vK3nf8AU87ooor5YyPo748Xl98Pv2SfBXgSwnWH+1o45L0QsoEibPOZeOoLupJ745PPPnf7JPi2/wDCnx10WO1umSHU5TZXcYbAkVwdoP0cKR7ivRPjzZ33xB/ZJ8FePLC3WX+yY4470wqpESbPJZuOgDxqCO2Rxxx53+yT4Sv/ABV8ddFe1tWeHTJTe3cgXIjVAdpP1coB7mv2jO/r3/ESMq+qX5eTCey/wcsfwvzc3Te52z5vrMLeViD9qvw8PDfx78Q2yIipc3K3SBMD/WornIHQ5J689+9eeV6R+0/ql341/aG1yHTLY3Mi3iWNtFapvaRo1WPaAvLNuBGOvbtiuA1jRdZ8PajJpGv6Tc2N3FjzbW8gaKRMjIyrAEcEH8a/O+LKUP8AWXH1KEX7L21RJ20+OVlfb0XY5qqXtJW2uV1VnYIikknAAHWvoz4llf2dP2X9O+GFu/l694qzNqpU4ZEIBlB+g2Re/wAxrwDRLG6e5g1NUmWCK+hikngfYyMxJUK2DtbCMQccYr6q+Ndv+yv8MdbsdF+KXhDWdWvZNPV4bqW+uLlzGGZcFnnBB3BjgDHNfW8BYCcsmzPFwq06MnCFJVasnGMI1W1K1oyvKSi4p6cuu9zbDxfJJ3t0u/M5L9gqLR4LfxhqWp63a2n+gxIzy3CK0UXzl5SCeFGV+Y8Zot/gT+x54suv+EX8J/Gu7TVpW8u3lnuEKSSZwAA0aK+T0Ctk9queHfh1+yF+0K0/hv4bRaj4e1mK3aSBWL5kA/iKuzq6gkZUMrY7gc1yf7L3wP8ADfiP4x654H+KGiSXMmh20h+zi4eNDKsqx5O3DEfNkcgexzX2GEwmIp4HKsleDwuMozlUhGt7ScotyfPNJxUZU5Jd4ybsmtmbJNRhCya7/wBbHA/GX4PeJvgt4ufwx4g2yxSKZNPvowAl1FnAYDJ2nPBU8g+oIJ+JP2d1A/b0s1HbxXqX/oNxX6ieIvjB+xlrl55XijwV4iv5LZmjR7y4nm2c8hS1ycDI7Vxnxb/ZR+Atp4GX9pP9nbTIFRLoveYs182Hc2x3VyolRgxwwYnIfOQBz7/BeLy/gLEZnjcqlTxdJ8k/Z0616lOFPmcm+aEeZLm3WqSV7tn0fD+dUsjoYyChz+2g4qz20erutdy7CPJtc1H5PlVP8APgxY+IPB9z8Z/jP4yvbLwxZ7jDEl7IrXBRgGLEAnZnKAJ87NkDGBu6vQNU/Y6+LOpr4C0CPXNDvr1gljem8njLyZ4VS0ki5PYOvPQckV+s5d4rUsdhKNath4UJV1elCrXUZ1E9E0uR2UnpFyav0PDjUckm7K+12cr5/tUfM5/6Z1wXxh8E+Ofg744uPBmueIJ59iiW0uorh9s8LZ2tgng8EEdiCMkcnlx4g15eF1u7H0uW/wAa+Kxv0h8Fl2LqYXE5ZUjUg3GSc46Nb9DB4tRdnE9h1LTTeRciuT17wH+68/yK5fw8fGvivXbTw3oOoXtxeX1wsNtCt0w3OxwOScAepPAHNfRGveFv2Zv2fYbTw38VtR1nxBrc9okl0kV3Myx5GCwVHRUUsDgElsV9Hwz45Us1p1cVTwnsKFNpSqVaqjC72imoNuT7JaLe1ztw2YNJtKyXdnyXr2g6r9vk/cf8tq5PxJps81rmvqH4xfCv4daxrPhKb4BajcTxeLpZ444r28/dxSI8aBMyDepBZshiSeMZyM6zf8E7/iRKAZvFPhwnHOTMf/aVfb4Dx/zWOMq0MJks8QqfLedOrBwfNFTi4ycVe8Wn8z1YZ37rh7Ju3VNHwhr2gziuTms57OWvv7xL+xv4o+Ek48YeL/h5pvizRLJDNf2+mXRj+Ud3ygk2jqSgPAJJAya6L4LfC/4OfHb7dceHf2TvCFtBYFFnmv8AX7jJZskKFWNm6A8kAcdc191k30qoxxsctxmUVKOIlflpzlPmkkruScKM4uOj15ujIp5zaXK4NP8AryPzXm8+pLP990r9K/H3/BOmPxDq7ap4O8KeD9DhMQDaes8twm8d1Z4Ay57gk89MdK4fVvhp8Pf2fLaDw18Wv2TtK1O8uC8kWrzaoRFcgHGIxEm1QOPlPzDdk9RXbmf0r6eV1JSzPJKtGiv+Xrm3TeqS+CjKSvfTmjHtuVLOlB+9TaXf+kfBmpTfY/8AtlVOHU/Or9Ifhf8ACr4T/HpLq18K/saeHba0jzFc6xca5KiW7lcjbmNizjg4CtjI3cHnjPjd/wAEwvG48JveeHLXRJPs05nkGjQD7Ssaq2Rhkj38dlOSQMKe3tZP9K3JswjQnHKq31ObfPXhzyVOK3lyOjCdRL/p2pbPsawzuEmnyPl79vw/I+JbPz5rWOqd5Znza9nsP2etPsovLPiSR/f7KB/7NUd9+znp959zxPJH/wBugP8A7NXtU/pe+A1Gt7mZyt/2D4j/AOVF1M6y6W0/wf8Akey/8E5tW0rwD420HWPGepRaZasLnFxeHYgEkJVCSeFBJHJwMc5q18Z9Z0vxF8WPEWu6Jerc2d3q88ttOgIDozkgjIBrlNE0qa2s7PRLNXneOOOCJUQlpCAFAAHc+nvXu/h39hf4tarpf27VodI06YjK2l1qDtIfqY1ZR+Zr/OHO8ZnPjFmWZVsI6cYzxdXEW5MQ3aaUY6xpTgk4x0Umptp+6lv8pNzxcpOPdvqWl+JXgP42/s1XHhr4n+J7aw8SeFkDaTd3J+e6AGEAA+ZywGxwMkYVzWt+zo3w/wDGH7M2tfCrxD8R9N0e5v8AU3eT7TOivEmYSrBZGXdnyz0JAz68V5H8Rfh7qfwg1pNA8e+APKmli8y3lj1MtHMmSNysvHUdDgjIyBkVz7av4XP3fCGP+4g/+Fef/bTyvOYyzOvh5VYUZYeqpRxcJTi1b3/3F1JRtG9rtat7Wn2jjP3rXtZ7/wCR7jB+yd8BNKlXUPEH7SWnzWcR3TxQTW8bsvoG81sf98mub/ar+N3hTx7qWh+F/hhK39keHIMWt2sTR7pMKAE3AOFVUUZOMnPXANeJ/EO11HxJpcNp4B1T/hG7lLjfNd+QLzzY9pGzbJgLyQcjnjHeu5/Zt+BHj/4oaPc6QFt9bvNMjaS81m8kNlHKWYmOIJGGAbAIHb5ckjNYfWMHm+GnknD/ANXovENcygsZUnPk95JOVFtRVuZpLpvuauFOWH/dyjdv4Vz83rfl5bfO/ke1P4t+C37XPgvT9P8AiJ4qh8M+K9LjKi5lkVUlHyhmBfarqx+bZuDKQcZGS3k/x5+FPgT4VvpVl4O+IsHiKa7WZ72W3kiKwgFAg2ozYJy/JPOOAMc89YWelX/iOPwxH4XgS5luxbAzaxtiV923mQ/KBn+LOK9k1H9gPx/dbDYa5oFpgHeBd3Em4/jFXVjMBmHG+UVquHoUcVi4ckZVqaxEajs1vGdOFJz5VaTbTtsr2Rm1OvF2im++p89vJJK26RyxAABJ7AYA/IUle9ah+wD8UIrVp7TxLoLPHFny/tEw8xgPUx4Gfyr5l8R+H59L1WZpLze0krhlRgVUg9mUkMPccV5uQ+E+Px/EVPKc2r/VZ1k3Sk6cpqpKMeacVrDlcVe7lZNqyvdN1h8C61ZU5y5W9tL3PZv2Y/jLD8GfiMmpatGG0rUYxa6o2ws0SFgRIuOflIBI5yuRjOK9L1L9nz9lrxNrEvjvTPjtaWejTymeXTFuYVeME5KKXIZBzgKUJHSvlfSNKeeKPLn867fw54V86KT9x+dfvmXeC/8AZeWxyzMMTTxVKEnOCnRmnCUrXs41leLtdxejZ6rypUY8s5Jr0/4J3v7Vfxr8N/EXUdM8E/DyOMeHNAgCWcqQsnmuVA+UMAQiqAoBAyQx5GKueMfBn7Ldn+zzaa/4b8VGTxS0URAF2WuJZyf3kckGcRxj5sNgfdX5mz83mWseHILLy5hB/wBdq4zV7VoOjEVivBnFZrj8ZjMbjKNWeIjyrmw7tS0Si6a9t7vKkkuui13uo5W6kpOU07+W3pqfTfwf+I/we+JXwOj+Afxe1/8AseazuM6bfECNCNzOrB8FVYFmU78AhuCSTjnfix+zt8Lvh74EvfFOh/HWw1m9haJbXTbfyd0xaRVb7srHhSzdP4a+doXfzvvHr610ugT50aaM85VeT/vCurijwZpYPgbEYvMa9LEVcJhp8k/ZThPlpwk4p2rOMmrWTcX5p63MVlToYZzk02l2a/U7zQ/j5feHfgnqnwSXQ7R4dUuxOb6Sdg6AlSw29Ccxpg5AGDkHPHFWFxe2l3Ff6ZLIk0MiyQywkhkZTkMCOhBGa5zxPNLDqcZj/wCeP9TTtH8ST2fl4uK+a4U8DIcd8IZfm2KzOcZeztGKhG0IqUrRTum7O7u9dTPD5UsVh4VHPp2PZvjD8cPEHxmuNB1LVfAVvDe6PAEuLyNJC142QTnG3amRkIMkFmw3OK9L1H9srwr4k8m68Xfs3xahdxxBGluCku3uQpeEkLkk496+ftH8e/8ALvcT10Gm+MIJvM96+9o+D+d5fiq+Ijm8nOty87lQpS5nBWi2pJq6XXd7u7KqYCrRbfPv5I9Q1v8AbK1jTdIl0v4SfBez8OvOD5tz5AfaSMBlRERdw7Ftw9jXimh6x458NeJYvF+iz39vqUM5mW7RWDlyfmz/AHgckEHggkHINdXFqXnRf6+tCz+zzCvLzjwSxme1qVXF5xUbpfAlThBQejvFQcUndLVK+m5xToTm03LY7m3/AGydP1y1guviL+z1Z6rqcK7ftiRrtxnI2iSN2T6bjzzXnHxy+OfxI+OF9Gur6XLYaZasWtdLtlk2A84eQn77gHG7AAGcAZOdK8g8mX9xVWY8CAc/Ka6M18Js1znLp4XF5zUcGveSpU4udtueUbOX/bzfcc6VScbOf4HnWlaVdaxcm1tNu8IW+Y44FVNWd9Gl8m8gfP8AsDNdF8NIxJ4mUHtCx/UVoePPCv2zzJ4IK/LfCnwr4T4v4YWPzFVOfnlH3ZWVla2ln3M8Jh6NWF5k/wACv2vdV+C1vdaBFpMWqaReyiS40+7yu1sbWKMCQu4YByCDtHSvQdW/bfWTQrjRfhD8MNN8NveRss92rKWVipG9FjRBuGchmz9K+a73R57OWTijTZp4Zelf0xk3hbw/hcqWCwuJrxhFNR9+DlFPdRk6blFPyaPep5dScLRbsepfCTxH4i+F3jyz8fafaWd5LbM3mQXTH94rgq2GwSrYJw3b3GQdT49/EHxD8cfF0Xia80ax06O3tRb21vFMZGCgljvkKguck44AA7dSfNdN16eGrF5r3avnJ+BvCtDJ5ZVCrW+rylzuHOrOSsr35L9Fpe2idrmH9l01Dku7HR2Higw+DbP4dSaRaJnxHFftqSM3mN8hj2OMHKjdkYxj5uDuyPqH9pT4FeBvir4u0/VfE/xbs/D88GniCK0uBFulXzGO8b5FPUkdO1fHWkz+brduP+m6f+hCvdv+Cg//ACU3Rf8AsAj/ANHSV+K8VZXknBFLN8E8P9Yw9NYNKE5uO/tH8UOV6N3X43PNxFOnh3ONrpcp2fh34W/BT9jrVB498b+PLm+1OS2lTS7b7JtZhgBtiKWyx+7uZgo3c4zmsD9jDxPc+N/j74t8Y3qJHLqOnyztCgxt33EZwMDHHAz1PX1p3w8vbT9q74CXHws1u5Q+LPDMQl0m5lxumjUbUJbrgj92/wDwBjk1m/sD2N5pfxd1/TdRtXguLfRpIp4ZVw0brcRhlI7EEEV5uCxNKXFORQyujGnl05OpTUbt+0cXGpGo223ODVl05Wt+mSa9rT5V7v6+Zau/2Q/hBdahLNJ+0ppatJMzNGPs+QSen+vro/2gfDen/Af9l4eAPAmn3F5Zaneql9qspRwNxDl2x3bYqqQMADqDjPg+qfAT41TarcyRfCvXWV7hyrDTZMEFjz0r2nWfD2vfCn9iK/8ADHxPlEV7eXQXTrKQrK0G+VHWPrgH5Hfg/Lk9xivPyWrhquAzWNHKHgn9Xq/vr1H0+D97ovabe60+3dKDTjO0OXR6/wDDmX+1Hdnw5+zh8PPCGjF4rK8tI55kL5LFYEYBuOfmlJ9MgcV87QzTW0yXFvK0ckbBkdGwVIOQQR0NfTVnpQ/an/Zb0/Q9D1COXxT4WKqLSW4UPJsBQA5IwHjxhjxvTGeCa8v+Hv7KXxf8YeLbfRNa8HahpNj5oN9qF7B5axRA/MV3ffbsAM8kZwMkfNcbZHnOf53hMXltGVWjXpUVScU3GNoKLi2tIuMk3JNrlvdmVenOpNOKumlY43xx8Q/GnxJ1RNa8b+IJtQuYoViieUABEHQBVAA9TgcnJOSc1i16D+0v4a+F3g74lyeGvhWWNraWyJff6Z56C5GQyqxycjjcMnDFhgYxXn1fnee4fG4TOK9DF1VVqxk1Kak5KTWjfM9X6s56ikptN3Z6d+x7pFvrH7QOiLchiLYT3CgLkbkiYrn0Gcc+uKzP2nNSudU+PXie4ui26PUjCocYwsahF/DCiqXwH8Z2Pw/+LuheK9UujBaW16BdyhC2yJwUYkDkgBieOeOh6V6b+1R+zx8QdT+J91478B+GrjWNM1tY51k05PNMchUBgQvODjcGxj5uuRX2mCwmJzXwznQwUHOdLFc84xV5csqXLGTS1smmtuvqbRTlhrR6P9Dg/gXf3EvxE8D6a+7yoPFvmR5HGXNuDj/vgV3/AO1b8NvjB4j+Nupat4R8Ia5d2MkFuIp7G2kaNiIVBwV46g1n+GPhR4h+Enjf4WweKIPs2pan4jluJ7cMC0KeZboqMQSCcAk+m/HUGut/aF/ah+Kfwr+ONz4b0LULd9JsxbSNYy2iHzFaNGdd+Nwzk8g8Zr6PA5fl+A4Kr4biCVWkliKF+SKc4t4e8VJSaslF6rdNJWNYxjGg1UutV+RrfskeFviv4F0HxBqPxeW7svDYsSyWWruSQV3GRwjHKLsznIG7I64rnf2P4G1H4c/E628P2srGe022MManeS0NwEUDJOeQMZP1NWf2v77xP48+GujfFnwL4rv5vCmoW6JqOlxybY4nLfK7hfvfOCjBshXVcdaq/sUavf6J8MPiHq+nT7J7KzS4tiQCFkWCdgcHg8qPyr6fC1cJgeMstyKmpyo4elXlGrJqUqkatGUuaFtORJe6u+js0zRNRrRprZJ697o8usfg1+0d9si+x+BfE8Uu8eXIYZY9rZ4O44C/XIr2P9qK21ax/Zz8I+FfiPeR3PiyW8iVZGkBbcEYPufdg4DIrNyC3PfI84g/bY/aChmWWTxLZyqrAmOTS4Qrex2qD+RFd/8AtH3unfEr4A+EfjzqmhfZdUW7iSdIExvjYvuXceQm6Pcuc43f7RNfNZM+Fv8AVnNqeTVq1So6Sco1lGMVTU480oqLknOPS7TXRbmcPZeynyN7dRf2o/Ft/wDBD4X+GvgV4IvJLIy6fu1K4tpdrug4YZGD+8kLsxGM4x0JFeQ/BH47+KfhB40g1wajd3WmyME1PTmnJWeM9wCcb16qfwzgmvTf27tJm8QReFvixpKmXTL7TRAJlIKoW/ex5x/eV2x/uH8fC/Bfg7XvH/iiz8IeGbTzr2+m2RKThV7lmPZQAST6A15PHWY55gfENQwEpJ0vZRw8Y3ty8seRRWzUr6rZ3afYivKccR7vS1jT+MvjDw54/wDiXq3jHwro01hZ6hceasE7KXLEDc5C8KWOWIycEnk1zFbfxD8A678MfF954K8SNbteWbASNaziRGBAZSDwRkEHBAPPIFYlfm2bTxtTNK8sZHlqucnNW5bSu+ZWWis76HNPm53zbnsH7EXhK38S/GyLUb3T0nh0iykuwZEyqS5Co3puBbIz0IyORkc18b/i14v8a/FTVdZbxBeRxW2oSRabDFcOi28SNtXaAflOFBJHUkmu1/YI1qLT/jFdaXJECb/RpUR+cqVdHx6cgH8hXlPxI0C68LfEDWvD15A0b2mpzx7WBHAc7Tz2IwQe4NfbYyrWwvhnglhpNRnXqupbS8oxhyJ2/u3aN5NrDRt3dz3fx1qN98Zv2K7LxrrkAvNX0C8CS3roTKVWTy2bd1OUZC3YlcnkDHzdX0VYRS+C/wBga7e+syH17UN0SuGHDTIFbr/diyOx4655+danxElOrWy2vW1rTwlFzb3b95Jvu3FK99RYjVxb3sjS8IeE9c8deJrPwl4bszPe30wjhQdB6sT2UDJJ7AE19t/Bqy8DfCvUof2fvC7i4v7HSTqOtXYwC0zNGoLD1YNkD+FFTrnNeG/sb+PPgT8OLbUtf8ca+bLX5W8qCW4tXZEtyAcRlA3zFh82ccBQOM59a+Amn/AKX4i6v4n+GfxD1DW9bv7R31M3rsco0qsX5iTndtHB6HpX6V4TZZgsrp4bGUK9GWJxErSTqR56dJX92ML8znNpOWmkVbc6cJFRs01d+fQ+M9Z/5DF3/wBfMn/oRpF1fVlUKuqXAAGABO3H616R8f8Awz+ztotvDc/CPxxqOoalJdv9ttZ4i0ar3O4om054AG7Ptjmn+y/8Lh8U/ixZWF9AG03Tz9s1LcPlZEIwh/3mwMem70r8Ynw7mD4kjlNCpCpUqSSTpzU4+9/ej/L9rtZnH7OXteRHpus3N1+zz+yhFp93dSDxJ4zJL+Y2ZIYnUbhzyNsZA9nkr5d16HzZLf2Lf0r1r9qr4p/8LQ+LF3LYXG/TdKzZacFPysFPzuO3zNnB7qFryjWesJ9z/Sv2Dg7MqGYeM2W4HBSvh8Kp0qfny0qnNP1nK8r9VY9DBzTzCCjsrpfczS8Nw+tekeG5jDFmvK9N1Lya6TTfFX2OGTzp6/tTE4X2tE+nq0/bHSeNtSg8r9wa8r1+bzpZOa3Ne8S+dFJ+/rj5rwTy0YLLfYhTpEcM372ui0Lzfs0m/psH8xXOwd66bQIJf7PmlboEH/oQrz+PFV/4h3nF/wDoGr/+mpCzH/cpej/IwvGAxqcLf9Mf6msr/lrWv4x/4/of+uX9TWZ/ra+U8H6tWl4a5bb+R/8ApUjPLf8AcYegQzTwy/uK1NN16eH/AJb1l/Y/b9aktP4Pwr9a+ux6nTUOos/GE8PWeuw8K+MIL3/tlXlk3+p/Cn6PrE+m3XNaLBYTH0faGVXDUqqPoS0mgvahvLPELn/ZNcz4D8SfbIozmuynIm09z/sn+VfL4ul9Uqyp+TPAq0/3p558OU3+IGH/AE7N/MV3M3kTReRPXD/Df/kYW/69m/mK7gfwV+IeAMefw3S/6fVP/bTmwn8L5nN694Jgmikngrj9Y8LT2deuQzeb+4nqvqWgw3lr0r9vw2JrYSqetSxJ4v8A2bP5NENnPNLXompeCe9Rw+CZ4efIr0v7SonV9YpHGWEc1iVmQvHIpDI2cEY6EenNdJ4q8W+PvijqMOp+MNfm1G4gt1hhkuGA2IOgAAxnuT1J5JJOapeLdM/snVFtduMwhsfia9C0LwtBHao056qDX8oZZwnlXiB4h8RUs1qVXCFSnyqNRxTXvpcy1T5VFKP8utjxVGlicVUdS+66nN+ANP8AiX4M1uLxd4I1ZLG9gDCOZWB4IwQVZSrD2IIrovBo+PXgvxTdeNvDvi2OPUb7P26e4l837Rk5O8OpDc9+o7V0lnDBZxfZ6rzan5NfaYfwV4WwigsNVxEOSXNG1Zrlk1ZyVlo2kk2tbaEewpfYv95el+PH7VkX3vGulfhYQ/8AxuvmW+/bJb48fG5fhF4i8Q61f64mp3NlCbyNVtYpYt3mbArYRT5R5CjOBmvcNS8SQeVX5w+H/ibpnwk/bAvviZrVhcXFtpvirUpJre2C+YwZpkwNxA6sOprrzXwmyXH4aNLHYvFVIN6qVeUl9zVj7DhrhrD55SxUavM5QheCT3lrb11sfoP4L8MfFTwNrK6/4L8TR6fdoMebb3TDeuQdrDbh1yBlWBBx0rt9e+K/7VXiLSJNLuvHtvBFLgPLYxpBJj2dEDL+BFfK1v8A8FVPhHF/rPAfiY/RLf8A+O1dt/8AgrH8F4ofJk+HPiYj2itv/j1Z4Lwk4Wy7DSw+FxeIp05bxjXlFO+90klr1ON8EcRwVoYef3r/ADPS9T+GfiXTrObUbua2KwxtJJtlJJA5Pak+Hvg2x8Xz3MV9dSxCBUKmLHOc9cj2rzfTf+Ckvwk+I2ow+AtI8D+I4LnWJBZwTXMcHlo8nygttlJxk9ga1PEP7VHgz9mBYr7xh4f1S/XWC0cA01YyUMeCd29167xjGehr8sx3hxwZkfiplOV04Oph60KkqkZycrtRqW1Vnuk/U8mtw1m2HzKlg50Wqk02o6Xdr36+R69H8EvD7yLu1a82N1IKf/E13XgrxV8T/AGmpo3h/wCJupG0iQJDb3kcU6xKBgKnmISoAHAHHtXyqv8AwVm+CSdPh34q/wC/dt/8epn/AA9i+Cn/AETvxT/37tv/AI9X9AZfwF4e5TW9tgsMqUtrwlUi7drqSPWjwXxHB3jhZL5r/M9y8UfFXW9O+Nek+LfFmuanrr6HfRTyR3UyIBgq5WIKu1BjGcAZI/Gsb4+/EvTPi38UL/xxo2mz2ttcLGkMVyylyqIEDELwpOM4BOPU1wFr8cfDfjnQ/wDhfGn6TexaY0LX32OdU8/ZBkMuAxXJ8s45xyKwX/4Kr/AlpN4+GXiUf9sLX/47X845bwTjPEHMM6wUccqFCli2+V03UbceeEXzOalpFWd27vU8nB8O53mc61OhScvZytJaaNXVt/I9/wDgN+0HpXw58La58PfH+gT6xoGq2zmOyiYZSYrtIyxG1WGMsMlSoIBOavfsy/HX4c/CvTPEfhzx1oeozWWuqqk2pWT92FdTGwyh5Dn5gfwHWvnRf+CrHwHXp8MvE3/fi1/+O1W1X/gql8E76Hyofhr4jX6w23/x2vt8D4R59llTCTpZvCX1ZTjDmw6fu1E1KLftLuNm7JvS7sepDgniiLX7h6eS/wAz64T4k/sIWri5g+EmqO8Z3IjwswYjsQ1xgj68VxH7Qf7R0vxltdP8MaF4aTRtC0s5tbJXBZ2A2qxCgKoVeAoHGTyeMfLF7/wUf+FNzu8vwDrg3dMxQf8AxysLU/27fhTqQ+fwbrw+iQ//AByu3H+Eua5jl08Es0oUKdS3OqOEjDnSd0pNVL2T6X9bnR/qLxHUjyuk0vJL/M+2vgv+0/pXh3we3wo+MXhc694cYbYMIjSWycnZtbG8bsFTuDJ2JwAOmj/aY/Z2+Fen3N98CfhTNHrF1EYhc3ybREMcHczuxG7BKDaGxyRgV+dp/bS+GIHyeFNd/KH/AOOVaj/bo+G0L74vB+tf98xf/HK6MH4X5/gcLToQzmlKVNctOpPCxlVpx7Rm6jaS6XvbZaWtouBOIopLken91X/9KPorxD4h1nxXrl14k8Q3zXN7ezNLczuAC7nqcAAAewAAHAqpBDLczJbwJueRgqKO5JwBXiei/wDBQb4baW6s3gzXGx1wkJ/nJXq2gfGfQPFXhSP432el3cWnrA98bSRU87ZATuXAbbk+Wcc45FfiHHnhE+D6GHxlbMPrDr1o05Wg4v3lKTlzOcrvTqt3c8HNeFc2yiEKmIg0pSUVe2rd33fY6zwdrvifwR4ytNd8NTNBqenXO+LB/iXO5W55UjII7gkd6911v9pT9lvxxdDxL8Xfg5cprUSgOYVWUS7R8oZw6b+ABh1OBx0r5Z8V/GHRPD3gu4+NM+nXb2Elul6tsgXzgk5G0cttyPMGeccGvGNU/bo8BahN5n/CLayB5m7BSH/4uvvvBbhHLsyyrGrE4iXso15Q9m405wfJGNp2nTlafvNXTV0ldaI6si4azHNKVSVKm5KMnF2ta6S79dT7F/aA/aXT41PYaJoWl/2RoGlJiz01XyGYfKHYKAowmFVRnb82DzXReDP2l/hx4e/Z3u/hRffDUXF/PFKhkCIbe4dj8s8jE7xIvGMA/cXDLxj4VtP23vhzb/e8Ka0fokP/AMcrRt/28/hdEiLJ4P147fRIf/jlfplXwsyOjm9fMaWYV51a0HTk5Ki1ytJWS9jaKSStZeW1z2v9Rc3U3L2U7v8AwnrHjb4h+Dfhzp0WreNdcSwt55vKileN2DPgnHygnoD+Velfsh/tUfDr4e6rdfEK1WbV9O1HTZbW3ls8od6uDyHA43JtJ7DJAbpXw1+0z+0t4M+NfhKw8P8AhvQNStJbXUhcSPerGFK+W64G1ic5YV63+ybpk0/7P+kTAcNcXWPf9+4rw8h8CeFcpzuni8LjK6lT96LvSeu2zpW6vobYngajluTQxlZzjVc+Xlbja1nrt5dz1W98SaTfX013HcBRLKzhTk7cnOM4Ga9W+Efx70P4WfCLxD4e0bQboeINbOy21eKZfLWPbt56MpTLFcA5LHJGK8GvIfJrY8O3M01q0M/WMjH4/wD6q8fjjwfyLwy4SxXE2TYus8RTSiuf2bVqso05NWpxaajN2aaafldP5LHZXSwFF1acndd7ddOxsXulahYW8F3eWxSO6TfAxYHeOOePqKyPEClEiLDnkgexrsPF9x5/hrQV/uWzr/6DWL4r0Pbp9tc+TnzLZG/MV8p4ScHZdgvFCajOb+q0qdSOq1lWpR5lL3dl7R2tZ6K7et+bLKEFjt9lf71/wTkP7S8nmrn9sZi/cVh3kM9ndZqPzvNr+6F7H2B9f7I0LzUvO5qnDNUdB/jrip0qpZoabDPNL1r0TT9A+xeDbu88rGAnP/A1rk/BOjz6lfx/uK9Y8SaZ/Z/w9vRn/nn/AOjFr5DxPr1MPwHmdGOzw9b/ANNyPFzSqvYyp+TPGPGf/H7F/wBcv6mq1nD50uRV3xd/x+R/9cf6mq1nXx/hLU9p4bZbS/uP/wBKkaZf/uFP0/zND+x/3XWs/wCx/vetbnnf6J7VT8n/AEr/ALbV93T9sv4h1Fe8sx5VZc0PlV1mpabiPz65fWP3MsdvBXVgcc6IHQeCden026j8+vZdIvBeac+f7h/lXz1pt5PF5c//AC0r2H4cal9t04Z/un+VdmZ0/rWElU8mcuOpL2PtDN+G5x4hYn/n3b+YruYYcyx1w/w1Xd4jK+tu38xXoE/avwD6Pn/Ju/8AuLU/9tPnMJ/CDyf3tSef7UUV+4+yOkkqSGaDzqr/APLKpPI965/ZUQOA+Lrb/FKH/pzT/wBCavTLWf8A0aPj/lmP5V5f8U/+RlT/AK9F/wDQmr0S/vYdO0yP9/8AwD+VfhnhrC/iPxMv+nlP86hz4X+NL5CaxrHkVyeveKe9ZfiTxVPNFJBBXP8AnT3l1JPX9E4bDeyX7w9qnhixe6xPNXn3jv8AZ0+EXxI8SP4n8XeFmmvpI1SWaG8li8wLwCQjAE44z16elekw6bP/AK+ibTZ/9fW2IqYWrHlSTXmejhsVicHU56E3B7XTaf4Hklp+xr+zs0mJvBtwR/2Frj/4uux8NfsEfsqaof8ASfAl2301q5H/ALPXRT9q6DwTqU8N35E4rRYDL6mE9ooL7kdVfO88lSvHE1F/2/L/ADOduP2B/wBmfwNA3jjwv4MuoL/Sx9ps5X1i4cJInzKSrOQeR0NQWH7Ovws/aDc2fxP0Ka9TSxvsxFeyw7C/Df6thnO0dfSvbPFDeZ4D1Rv+nGT/ANBNcX8Bk332o/8AXOL+bV/OXFtGkvG/IY8qs6dX/wBIqnzNfN80qZjSrzrzc4p2k5O6vfZ3ujj/APh2/wDslf8AQg3n/g8uv/jlS/8ADtv9kf8A6EC8/wBXu/5Dt11/7+V7pB3on7V+6Qw9B7wX3Hf/AKx8Qf8AQXU/8Dl/mfPs3wi8CeErz/hTeh6XJFoAYWYtGuXZvJm/1i7yd3O9uc5Gau/8O2f2SvM2/wDCBXmP+w5df/HK1/FQ/wCLtEY/5iEH8kr1q8m/szT5JzX4N4Q0qcs84jTS0xc//SqhwZfm2aYapVlRrzi5yvK0mrvXV2erPnjXv+Cff7IumB1j8EXYZen/ABO7k/8AtSuI1z9i/wDZrtH8u08H3Cn1OrXB/wDZ69y8Ya9/pUlcnef896/oOnl1B0r8q+4+mw+d55LfE1P/AAOX+Z5E37HvwBaTanhS4H/cUn/+Kpq/sb/AyT7vhW4H/cTn/wDiq9Xi/fS+RXQaZoPnRVniIYShT5Z01f0R1/23nP8A0ET/APAn/mfP11+x98FIC+PDE/HT/iZTf/FVBF+yb8D2+94ZuP8AwZTf/FV7p4k0fyYZK5vyfJlrDBRwtb7C+5Gn9t5x/wBBE/8AwJ/5nA+H/wBjn4D6lfJbXHha4IPXGpz/APxVen6d8KPBnhqCH4RaXp0iaGwFo1s1w7N5U3LjeTu53tznIzV/4e2f/E0/7bVsavGq/EyKMPkfbbcZ/BK/FPpDYenRyLLXGKX+109l/cmfMZ/meZYqnCNatKSUk1eTdnbfXqcJ46+H/hW+8IXnw5uNPdtIijW1jtvPYERRsAg353cbV5zk4ryyH9lL4JS/8y3P/wCDGb/4qvb/ABYrSahqCDq1zJ/6Ga5+z/1p+tL6P1PC1OHMzVSKb+t1On9ymbcPZlmGGw1RUqsopybdm1d2WvqcTpn7GvwIvPv+F7g/9xOb/wCKrp9J/YL/AGdbr/X+Ebo/9xa4H/s9dt4b8j/9degeG4f9F4r9qr4eitor7j1anEGcr/mIn/4E/wDM8fX/AIJ7fs1AgnwZdHHUHWLnn/x+u51Hwdp+gaTBpGlWiQW1rCsVvBGMKiKMBQPYV39ZevWcH2WTNctGKjsjzaua4/G2WIqynbbmbdvvPH9Ys/JlxUfhmLyVuE/2x/WtjxhZjzZKzNF/1k/1X+tfnnjTiK0vCDH0596P/p6mc+bS58vm/T80dHrUvmaJpq/3UkH/AKDXcS+FotU8E6bcp942Uef++a88uLnz9Mto/wDnm0g/UV674autngvS19LRP5V+feHVNvxPzF9sLhf/AEzQPDoy9ni2/JfkjxHxT4OuIZZDXLzaDPFX0Zr3hWx1iL/UfvK5O9+GP/TCv6Kp5jWwv8Q92ljjxf7H7frWho+gz3k3keRXpE3wx/6YVqeG/AcFnL/qK9LD52aVMdRI/hv4P8mKOfNdJ8Qxs8C3sP8Ac8sf+RFrQs/I02HyIIKy/Hz+b4JvpPUx/wDoxa+I8QqtbFcE5nUqf9A9f/03I8TF1fa83ozw/wAWf8f8Y/6Y/wBTUFn/AK0/WpvGH/H9F/1x/qaqWc372PNeL4S0pLw7y2pD/n3/AO3SPay//cKfp/mbsP8Aqfwq3Z2fnS5qvpo86Ktizh8mLIr7urV9qdQaxD5NhXD6xDBNd12mvXh+y1xcx866xWmDCkV4f3P7iCCvSvhLeedC8H+ya85/5a16F8JbPAcj+6f5V787f2bL2nZ/kLH/AMAv/DP/AJGNv+vZv5rXfwd68/8Aht/yMLf9ezfzWvQB/BX86fR8hfgBP/p7U/8AbT5PCfwgg71JRB3qT/llX7rUqe1onSR1YqPz/apKypAecfFRNniRB/06J/6E1dJ451jFtGPSMfyrnfiwMeJ0PraIf/Hmp3i+8850gz/AP5V+KeFkPa+JvE0u1Sn+dUWXwviJ/L9TnoYZ7yWtzSNHnqvo+mwGbzyP3ldhoOmd81+84nG+10PbqaIr2fhvMVZfibTVtnsoZmkEct4iS+U+1ip6gHBwfwP0r0SGH91XIfECIeZpilwoOoxgseg/KvyjxNq4qjwTjpwk0+Rap2fxR6nDiZOeFm0e0/FLw5+x78DtTs/DPjH4c39xcT2Qmjmgmlk3LuK5YmZfmyp6DFZnhrwH+yX+0DJN4e+GL6p4c1qG3aS3BkkBcD+La7urqCRlQytjuBzXY/tKfArwN8VfF2n6r4n+Ldn4fng08QRWlwIt0q+Yx3jfIp6kjp2rD8O/C34KfsdaoPHvjfx5c32pyW0qaXbfZNrMMANsRS2WP3dzMFG7nGc1+W5iuIqPEVWniMPhoZXCSUptwhKMGlreM1OMr/Doruy8zz5OqqjTS5DyHwJ4Iu5JviB4b8dXOoPdeGvDl5LDD9ukWITxsE3Ff4xzkc4PcHNUv2fPGPwd8I3mqSfF3R9Ru4544hY/2fJIpQgtv3bJE7FfWt74W+J7nxvqHxY8Y3qJHLqPhG/naFBjbvkU4GBjjgZ6nrzzXOfAb4R+Efixe6jbeLPiPbeHlskiaBrjy/8ASCxYEDe69No6Z61+L0auPlmWWVsqSq1W6/J7VpqUVOaXO5tLSG12tdjhV+aLjq9dz0D40fCTwlP8LR8cfgP4z1abTFmxe2Et5I4iQtsJXd86FWxlWzkNkEAc1PgD8HbfxD4QufjP8aPG9/ZeGLTcYYkv5Fa4KMAxYgE7M5QBPnZsgYwN3c/tA+G9P+A/7Lw8AeBNPuLyy1O9VL7VZSjgbiHLtju2xVUgYAHUHGec/ajuz4c/Zw+HnhDRi8VleWkc8yF8lisCMA3HPzSk+mQOK++zjDUsozfEZjio+9hsLTqVKMZT9i69SXJGyvrTWjkk7X0u9TecYwm5NbJO3S55T4g/4Qnxx8dIoPBCXlnomo6xaw2u+RvOjRjGjMC5Yg53EEk9vpR8ZfBvj34ReN7jwX4h8SXNzsUS2lylzJtnhbO18E8HggjsQRkjk8ZFLLBKs0MjI6MGR1OCpHQg1seOPiH40+JOqJrXjfxBNqFzFCsUTygAIg6AKoAHqcDk5JyTmvxX+3aVTBYqb54YmpVU06b5YWfNzxaTXVpxsnbVXS34udOLfW5kPc3Ejb5J3Y+pYk1b0DRNa8Xa5aeGtEt3uby+uFhtoQ33nY4HJ4A9SeAOao16d+x7pFvrH7QOiLchiLYT3CgLkbkiYrn0Gcc+uKeQ4jN83zvDYF4molVqQg3zy0UpJN79mVTlUnNRu9T0fWfhz+yX+zslp4f+KEF/ruuz2iS3SwPIRHkYLBUZAilgcAktisD41fBHwZ/wrSD43fADWr6fRzIf7RtHuWY265C7lDYcbW4YMSfmBHAJrhP2nNSudU+PXie4ui26PUjCocYwsahF/DCivTv2WYT4l/Zy+InhO+Eht44ZJo9se7Dtbsfl55OYlOPp61+rwz+PEee43hyNCNOnGNZUZx5lVjKkm4uU7ty5uV8yffy161VdSpKmttbd9D55lurmf/X3Dv8A77k123wO1j4E6Hql5N8a/B19qkUkIFkbST5Y2zzuQMhJI6HcQP7vORw1Ffj+WcTZzleNhiYVXNx+zNucXpbWLdn/AJ6nHGvVjK9z6ItPiJ+wpFMosfhXrKyMQF8pZQSfTi4ryz9oLSdM8M/GXWNN8O6fNYW8EkDW9vJKzPDmCNsFizHIJPc+xrpf2O/hjF46+KC+I9YiH9l+HUF5dPJ90yjPlKT9QX+ie9cj8YvHdr46+L+seObCBGt7jUd1ski8SRphEJH+0qgke9fc8TZ7mme8F0MZmEadN1K/7pQgoNxhGSnK61aUpRS80zarUnUopy76HrWg/AX4J/CPwJYeP/2k9TnvL7VR5lto9rK5VgVDBcIAzOAfmYsEBYDngmPxH+z78Cfi74C1H4gfs5Xr2l5paeZeaRduwQKFLFcOCysQDtYMUJUjjkjof2ovh74i+P3hTw38VPhVCmr28VgyXFlZSqzx7sMSoz8xVgUZR8wIHHXGp+xZ8EfG/wAPrXWvEHj3SGsV1SGKG3sJ2G9kG4s7qD8v3gAD83XgDr+j4LLK/wDrGuHMJgEsvnC6xEVJTbdO6re2Ts252XLt0sdMYyVT2cY+73/W58p6G6x3yKfu46V3Om6l/ov7kVw+rtHZeILpYrYQKt3IqwjP7sbj8vzEnjpyc1qaRrHkxeR59fsH0fJYjEcA81ebnJVqiu23ty99bHp5ZGU8Hd92d5DeVn6xNiKSCsuHXuxrP17Xv+m9fsHsvanYqRz/AIv/AOWlYen3kVrcyrMcBiPm9MVc1i886sub/XfjXnZ5wbgeKuH6+T42/sqqV3F2kmmpRaequpJPVNPZpo66mHhiaLpT2ZtxsHiEkZyhJwffvW9aaP4/lsIZLQ3n2d0BhC3eF29sDdxWBapIlhEJPU/0r1fw7/yK+nf9ey/yr+TMn8KcpxXihmmQLGV408PCm4zU4qpK8YO0ny2aXNZWSskj5GrhoQxcqabsv+AcYuhfEo/dN9/4G/8A2VA0P4lfNg33yfe/0zp/49Xo3/LWo5pp/Jr9KfgDkr2zLF/+DI//ACBUMLF9WeeSaH8R0GZDe/8AgZ/9lTP7G+IXre/+Bf8A9lXoU/aq837mXNZQ8BMil/zMsX/4Mj/8gZ+xh3Zwo0P4gyNgC8J/6+v/ALKlk8NfEG8tmSeK6eE/fWS7G09+QWr0GDvVyz/49ZIKdfwDyBRcamY4txejXtIap7r+GafVYd2fN/jP/kIRf9cf6mq9nVnxpFI15E6dPKx+pqlDNX6D4R07+FuWv+4//SpH0mW/7jD0Ok8Nz+T2rQmvIIYq5/TdS8mo9S1jtX2tPBe1rHV7Ik1jUvOrL8/2qOabz5aj/wCWtelSp4T23szT2fsixDD58teo/Cey8rTnn/2D/KvMtHs57zVI4IK9t8Cab9j0kQEfwH+VLN6nsqMqfkzix1T9yYHwxG7xKV9bZv5rXoVeffC5tviVj/07N/Na9BH8FfgX0eP+Tff9xan/ALafNYT+F8w/5ZVJUf8Ayz8iiH/WyV+4m1Mkm/1341YqvViH97S5KSNDzj4u/wDI0x/9eaf+hNVDX/8Aj6T/AHa0PjB/yNaf9eaf+hNWfr/7m6b/AHRX4f4WVPZeJvE3/Xyn+dU1yv8A3qp8i9oX8Fdpo83aA/62vP8AR9S8muo03WP9XX7z9W/5eHt1aR2EM37quN+IN19ok04emoR/1rW/tj/OK4jx7qt5JrEKx3DKsSB49hwVfJ5z68CvyHxpzCjlXh7inUTftHGCt3ck7vytF/O3qvIxtqWEk310PXP+Cg//ACU3Rf8AsAj/ANHSVrfDy9tP2rvgJcfCzW7lD4s8MxCXSbmXG6aNRtQluuCP3b/8AY5NeM+MNT+JHxK1CHVPGfiRtRnhtlhhknk+5GBwAAAPcnqTySSc1N4C074l+CfEMHibwTq6WN/EGEcysDwRggqylWB9CCK/AKmUcaVeMcXmE8oryweL92pTcVzODSV1rbni1zRd9HpdXbPMdLEe2cnB8r3N/wCAtjeaXp/xK03UbV4Li38D3sU8Mq4aN1kQMpHYggiuD8K+A/GnjmSaHwd4XvtTa3CmdbK2aTyw2cFsDjOD+VdhPoXxi8O2mu+KJfFKN/atlNHrTPcmRrqNgdwYMvJ9D1HYiqvwN8bfFLwZc6lJ8MdZtbN7iOIXjXUCPuALbcblbHU18TW4YxzzLLskzDCYiDtVtFQj7SUW5STgnKztb3rtWs7XOZw96MJJ9T2PWfD2vfCn9iK/8MfE+URXt5dBdOspCsrQb5UdY+uAfkd+D8uT3GKZZ6UP2p/2W9P0PQ9Qjl8U+Fiqi0luFDybAUAOSMB48YY8b0xngmvKvHGkfGX4kXy6h438YLqLoSYkmuW8uLOM7EChUzgZwBnFN8DeB/i54L1hNf8ABPieHT7tBgywXbDeuQdrDbh1yBlWBBx0r9Cq5dxZLMVh/wCxcRLAfV44Zxlb2rhFuSqX+FTjJ3ivhW3pu3Pmtyvltbz9TltP8D6rH8QbL4f+J7O4066m1OC1uopY8SQ+Y6jOD7MCPXiul/aX8NfC7wd8S5PDXwrLG1tLZEvv9M89BcjIZVY5ORxuGThiwwMYrG8caj44174pzah4j1VG16e8h33lt+7Al2oEZdoG3AC8gdRWR4p8Nap4U1ZtK1do2m2hyY3LA5z3IHpX45i8HUwOVY6hTwbcYV1F1Zpc9NR51Gm7XUZS3nZ2vG2uluVq0JWXXczq674D+M7H4f8Axd0LxXql0YLS2vQLuUIW2ROCjEgckAMTxzx0PSudsLC2uZlilkcbuu3Fdnofwp8P6qmZNSu1b/ZK/wDxNfouD8DPE/KsZRxtOjT5oSjOP7yO8WpK+p1f2fi6UlKy08zvP2qP2ePiDqfxPuvHfgPw1caxpmtrHOsmnJ5pjkKgMCF5wcbg2MfN1yK3LLw3c/s5fsla5beNZVstc8UyPFBZAhpF3qECHBxwgdyc4G7HXg5fhbxh8T/h1pqaN4Z+JuotaRIEht72OKdYlAwFTehKgAcAce1cd8QrPxb8QL/+0/HHjHUtRlhz5KzuuyLOMhEACoDgZwBnAr9Gq+GebYfEYvNctwcljMRGa5Z1aXsqbq6TlFp80nZvlTSSvr0NVQd3OC1fmtLmb8L/ANmj4n/FzwxeeLfClraLa2rMkQu7gxtdSKMlI+CMjgZYquT14OOCnt57W4e1uIWSWNykkbDBVgcEEeua9n+GS+M/B+k3nh7wp8QNV06zv8/aYbfyjyRgspZCY2xxuXB4HPArhfFngfTvDMxuLHUrppI23K7sMhs5zkDrXwOM8C+Ja+CwtPA4Zquk/bOVWm4t305La2te97dFrq3msvq1LKC166nrvi0n9nD9lW18GxjyPEXjEl77gh442UeYDkcbU2x49XJFfOVdB428feMfiNqdvd+NvEdxqM1pbLb27z4ysY7cAZJ6ljyTySazIdMhk16HSjI2yWeNCw6gMRn+dcnipwHxXlDwlbEUFSwi5MPRjzxcr8rd5KLavKSlJv0uxYzDVqVnJWWyPb/2PfB0Oq/EbUPCGseJdQnsbbRotQig0rWJ7e3eSRYjlghViwEgHUcqcg9uquf2jf2XLe4ktZrDxlujcox/tW7I4OD/AMvVc7+wbZx2Pxg8RWkcuRBpMka7urAXEYz6dv1rSs/2I/h94r1a4TQ/j1bXk25pZbeztopXQFuchZiQMnGcV7WQYfiilwlhY5LhaNSo6teM1U9m2lGSUYxc5RbS95aX0ttcdNVfYrkS3e5znxs/Z/8AhhefC4fHL4Gapc3GmCb/AE2xnLSCJS20su4b1Kt94NnIbIIA53vAfgH9m/wV+zvovxX+J3gm61CTUpjHPLHPIz+YXkAAVXRQuIz788k9arfGjx98J/hP8F7j9nj4Wau+p3k92V1e5kj3CMhw0hZioUuSqoAudoU5IIGer8NfDvw58Sv2PPC3hvxN45ttCtluDOL+fbtLiWcCP52UZ+Y9/wCE9a68shSo8RYqllMaTrxwfPOnGSeHjieeKly80uRaaPWyd1e9yoO1RqG9tulzm9J1L9hX4g38XhK18L6no097IIre+kkljCyE4UbvNdRknqy7fWvMvjj8CdX+GPxUi+H+lST6hFqRjbRZZUAeYSNtCHHBYN8pIxng4GcD2D4c/sc/Bw+Kra7b4y2/iD7NIs39m2TwqZNpBw22RyV9QAPqKuazqtx4x/bt0nR9e0OW2h0SxcaeJNoMpEMkomyucqWJwM8YGcHcKnMcuz/NMko/2vGGHr1cRSpU5YeVrqbamp+zlKGi1jre6ttuSVWUFz6NtJWMG6+Dn7Mf7Ouh2Vv8dY5de8QX8IeSztGdkiGTlo1UphM/Luc5YgkAcgVPEX7P/wADPjl4FvPHP7OCtZ6lpg/0rRbothgAx27X3MrsB8rBihIxwckebftOa7f6/wDHbxJcX8zN9n1FrWFSchI4vkUD0HGfqTXO+CfiL42+HF5cah4I8RT6dNd2zW9w8ODujPbkHBHZhyDyCK+Wx/iFgsLm1fKauGX1GDlTTjf265bpVPaOSblzK7T0s7GUsVaTg17v4/eYxZ8BCThegPap49X1aKNYotUuFRRhVWdgAPYZqGWWSeRpppGd3Ys7scliepJptfj6zDHwryqxrS5nvLmd36u9ziu73uerfs0/CHWvjT4jubjX/EWoWmgaXFv1K7iuyjMxB2xqzZAPBYnBAVexIr0TTtU/Yo8U6vH8PNNfWraaeUQW2tfbLlVeQnCkMzkDJPVkC/QVnfBiE+Hv2LPG3iKxEguL2eaGRhH/AAbYo+OeRh257c+lfO6syMHU4IOQRX63PiWvwZkmXRjSjXqYmDq1ZVbzbi5OMYQd/cXLG7a1u7nXz+xhHS99Xc774+fDjxV8FvH8/hmfWb2axmHn6VdyTnM0BJxnHG5TlW6cjOMEVxP9s6v/ANBW5/7/ALf417/+25bjVvBfgLxtcrILu700pPujx96OKTk54OS3HufSvnevl+OvrmRcU4jC4WvUVL3ZQXPLSM4qaW/TmtrrZa33Mq6cKrSehci1fXppFhh1S8d3YKiLO5LE9ABnmvonX/2dLT4dfsyX3jTxZean/wAJTFAly0sOqSILYu6KsO3O1gAw3ZBO7IDAYrD/AGUvhZpGgaVc/tG/Eq3dNK0dWfR4TFua4mU481QfvYb5UHd+4289lrPxD8Q/FH9krx14y8RQPBJcauRbWrZxBCHtgiDOOg6nuST3r7rg/LquFyLE4zNKs5V62HrTowcm+SEIN+1d3o5SsqfknJeW9GFqblLdp2/zPkbW9InvoRPDEGx8vJ/GrWk/s6fHHX7GLWtB+F+sXVpOu6C4hsnKSL6qccj3FbNtYxy+Ebi+K/NFdAA+xC/419NfHX40fEL4T/CL4f33gnWUgl1HSEF281skpfbbwkffBwcsfzr9G4Q8R8x4Y4Pw9GTisNQwtOo/3bnNyqV6lPT95CNlZaWvu79Duw2Pq4eiktku3n6nyZr/AMDfjP4QsTqniT4b6tY2wOGuLqzZEH1YjA/GsSw8D+L/ABFqMWkaLok13dXD7YLa2G+SRvQKOSa+q/2fv2svjH4z+KGm+DPE6W+r2mpSmKZY7JI5IF2kmQFABgYy2QeAcYNXPB/hXRfAv7ecmh+F9kNnLBNMbaDCpEZLUyNGAp4UNyBgY44wAa9Ol4vcQ5osJjcpnTdCriIYeaqUZRnCUtU1au4yVvu0ve+m6zbEzs4Ws3bZ/wCZ8zxfsq/tErJuPwf13Gf+fB/8Kw/EHww8f+E9SOm+J/DV1p9wBnyb2IxMR64bGR719KfFz9rP44eE/ihr/hnRPE1vHZ2GqzQW0babCxVFcgDJXJ47mu18H+NNT/aY/Zu8Ut8VNItlk0mKR7PV0gVFaRIjIHXJwrqRhiCoKvjjJq4+MOMzfH18Blc4rFUlUaVSg+STpptrmjXvG9tJNW8r6DWb1pNxha67rt8z5J8HaN9hvY3vGIYkAKiliT6YHWvcrbwd4y0Dw7Nf6h4C1+GBIS8ksmizhVXH3j8vA9z0roP2aNC8J/CP4Pap+0t4s0xbm9jeSHREdiCBny8L2DO5KlsEqqnHVhXPaV+3T8arbxImqarJp9zYefum0xbJUXyyeVVx84IHQknnGc9K8uPjNnGFwGHxHEFWnTqYmPNCNOjKXJTekZ1G6y0lq1GN3Zd3ZcVXGTqRTquzfZf8E8v8EavY6LrJvNQlKRmBlyFJ5JHp9K7H/hYnhP8A6CD/APfh/wDCtP8Aayk+D+va9pnj74W6xaPNrdq1xq9jbsS0chIId15EbnJDJkHK7sfMSfI6/KMs8SuJ/C6NXIcvdCtShNyU7Slzc6TTTjUS2tdbp3V2cSqzw7cFZnpX/Cw/CH/QRf8A78P/AIVqeGb1/GczW/hLR9T1J4xmQWOmyy7frtU4/GvLfD+kS6/r1loUBIe9u44EKrkguwUcd+tfS/x9+M9/+zPZaL8Fvg5Bb2v2TTxNdXdxAsj4Zjjg/LvYh3YkfxDGK/ReHPG/izMMDiMyzP2NLDUOVPlpTlOc5t8sYp1ktk223pbbW62p15yi5S0SPOPEPiO08L3x0zxRY3+nXAGfJvdPlibHrhl5FVYviZ4OWLa2pPn0+zv/AIV6l4C8bv8AtdfBjxH4L+IdpEda0WMXVje2kIUs2xvLcLnAbKsrAYBV8DB5r5bIIOCKy4o8b+Mcqp4bF4H2FXDYiLlCTpTjJOL5ZRkvbNXi7arR30FUxFSFpRs0ze+Iuvad4i15L/TJi8a2ypuKFeQWPf607Wbu11/UI7bQ1lubidljhgjhYvI5IAUDGSSeAO9c/X0l+xp8HdP0CK3+N/j4pALi4S08NwTdXklby/Nx3JJKr7bm6AGvjvDXjvjKvxriq+AhSU8XJTrSnGThTjBu8klONvisk27uyuisHia8cQ5Qtd7nzzd2mraBq8um65plxZ3MDbZ7a6haOSNvRlbBB+tbvhdNd8T30emeG9CvdQuAMmCytXlYD1IUHj3rr/215ZZP2g9USSRmEdpaqgJ+6PJU4HpySfxr1b4W3vinwd+x9a678CtGjvtbnumfURHD50gcyFXYJgbmVRGAuDheecZP6lgvGLjbMeKcfllX2KpYRVJNxo1JVJxpyUbRh7b4nfvZHoPNcVVqyjK1lfo+nzPGNf8ADPxA8KWZ1HxT4I1iwtQfmubnTJVQfViuBXDeIL+HUb4XEEhZfLAyRjua+q/2bfiZ+0x428bSab8TfDc39iG1k+0XN7o/2Xy3A+UKdqhyScFeeMnjHPzP8WbDw9pfxO1/TvChT+zoNWnSzEbZUIHPAOBwOg9h1PU/D+LHHObcScHUJWSw9Wo1yzpSp1VKmr3X72cZQd9Wlo7K/blxuMq18Ok9m+1np8zodIs/3a/7ozW1ZzfY6hs4vJtVP+yKq6lqU/Sv7EwlL2tGNTyR76p+1RpeOPEm/wANXtiZs77Zx+lcB4F1f+yWum8zbvVB+Wa0dba8l02cvNkCJsj8KxPDFt9o+0D0C/1r8b4rp06Xjvw+uns6v/pFU82vRprMaUe6f6nTw+PJ4ZZLfz66Dw342gmlj/f15vqVn5MsgqTQdSnhlr+g6lOjV2PTqYY1defzfjBGx76ja/8AtOp/jzE0Xjsh+ps0P6tWSl59s+IlreH+LULc/qlbv7Q8qTeOoXQ5H9mRc/8AAnr/AD84lhJZBxI+2Yf+3VT5OppGov7xx8H+iXwJ9K9F8B6wJouK4XxLpxjlaHPl5UVe8E6x9jlj8+v75oU6VbLY+i/I+wnS9rQR655P2yKq81n/AMsCKr6br1vNF/r6sf2n5MteN7J39meV7Jly0zDF589eZ/ELUjeXUldhr3iTybWvL/FepfbJfIrswWXVqla524akU9H/ANMv4/8ArtWjcJ5XxAgT0vYP/ZaTwTpsEMv26ef/AJbVJrckS/EVZYGyovIGU/ghr8Q+kVXX9hZdDti6b/8AJKh5+cVLxjDsz2j9hoY+N/icf9Q2b/0pjrx/wV8Q9a+FnxPj8baE+ZbS+fzYScLPEWIeNvYjI9jg9QKreCfHvxD8I65c6z4F1q7tr67hkS5e0TJkRvvZXBHU5BxlTgjBANZsuieIp5Wmn0i9d3Ys7tbuSxPUk45r+UsbnmMzDK8HHLqNVVKFatUU1G69+UZRs1fWNtflueG6jcIqO6bZ7Z+1r8O9G8S6XYftI/DmPzdJ1uJP7UCIB5Up+VZGA6EkbH9HXqS1bmu+FPE3jL9hzwrpHhTQbvUboaj5ht7OAyOEEtyC2B25H514naeKfi5Y+B5/h1Z3Oqx6Jc3HnTWKWzbWb0ztztOMlc7SeSM810Xgj9oD9ofwB4fh8LeG9SuhY2+Rbw3GlrKYwedoZ0Jx7ZwO1fR4fOMqrZzjMVicHXpxxeHcKqp007VZSi5ygm17suW+uqk3pY1VSDm201da+onw3/Z3+PNx430ySx8E6rpTwXscv9o3cDQJbhWBL7mxnHXAyT6V6p+0T8VtI8BftXeGfEFtc5/sqxjh1oRIARFK77lJ6sRG+7aenGOvHnmr/tM/tTaxYPp8usX0CyDDSWejrFJj2dUyv1BBrza/0nxfqV3LqWp6ZqU887mSa4nhkZ5GJyWZiMkk9zXJPNMLkGUPBcP4fEynKrTqudWCVnSbcVGML7vdt6rS21lzxpwtTT3T18j3D9qf9nrxT4j8Zn4q/CvS313S9ejSaU6YwmKS7QNwCklkcAMGGRkkHHGa3wk/Ze0fRfB+sfEj9o+xm0vToLNlsbKa68ibfj/WEA5DZwqIfvMeVIxnhvh98Zvj38MNPOj+EtW1GKz/AILS5svOjj5J+RZFOzJJJ24znmqnxF+Jvxp+K7Rp431DUbqGIgx2iWpjhVhnDeWihS3J+YjPOM4rpr4rhWrj6mc/2biJ4md5exlBOgqklrK9uaUbtyUWlrpogcqLlz8rv26HGSmIysYFZU3HYHbJA7ZOBk/hTauReHtemkWJNGusswAzAwH8q2E+FviVxxJaj6yn/Cvg8t4L4tzlSlg8DUmo72g9L+tjmUJPZHsP7IN1pHjv4Z+MPgRfaqkF3qkDz2CSrx80YRnHrtZYyR1xyM844PQf2UfjdqnjCHwtf+CLuzjNwEudRmUfZ4o8jc4cHa+BzhSSelYmi+CPH3hvVItb8P6ytleQEmG6tbt45EJBBwwGRkEj6Guw8VftDftL6T4dWw1T4hBYpD5Xn2sEazng/wAYQMOnUHNfptTh6vHhyhLijLMVTWCTSnTjHllTcuZRnzNONm2k49Htc6rJ017SL0/I1/23/Emlav450T4b+GLg3H9g2It5IIlyEmfaBGD3baqZA6Zx1yBxXxQ/Zo+J/wAI/C9n4u8V2to1rdMqSi0uC72sjDISQYAyeRlSy5HXkZoaD4Nh8V2A8Tatq9493dTySTymQMzvvOWJIJJJ5JPeu08ZzeNPiFo9n4f8ZfELU7+zsMfZ4ZfLAyBgMxVAZGx/ExJ5PPJr2n4acRcc08VnlbCe/iownh+WrBRjFpcqqKWvwKK0630V01TpOtzTa1exL4N/bj+Jfg/wtY+Fo/DWiXMen26wQzSQOjFFGFBCMF4GBwB09ea9f8N/tK+Mdf8A2a9c+MzaLpkWpaZemGC2CSGBgGhGWG/cT+8PRh0FfOMnwq0dP+Yrcf8Ajv8AhWvp9vr+meD7r4e2fjPU49GvZhLc6ekiBHYe+3IB4yAcHAyDgY+p4c4U8acv9pSxc+en7KcIL2lP3ZuNoS1s/de+78maU/rUbpvocRYS48C30XrdIf1Wvqn4l/Fvwb8LfhL4EufFnwztPEKX2jxC3iuPLIt9sEJOPMR+u4D8O9fIsz6vp9m2m3EUsMUrbjHJFt3EY55GfSvY/wBp3x/4K8WfCn4e6P4a8TWt7dafpe29ggYloT5USYYEfKdyNwcHGDjBBr81yviqWXZBivY/usRh8LQpWqRjdyWIlJ8sJX5ly1Furre2zMadXkpyto0l+Z69q3xY07R/gP8A8Ls+Afw60RXbC6rB9lWNrMA4fcsQUvtYjjI+Vg/SvF/2TvEer+LP2orTxJ4hujdXt+t5LcTuMEuYHJIAwB6AdAOg6VV/ZQ+NFl8OPFk3hLxfNGfDfiBfI1BLgAxwyEFVkIP8JB2t22nJ+6K1PhI3wx+Gf7XAGj+O7GTw/BJcrZ6jJKREN8TAR+YRtO1m2787WAznnFdT4hlxJjsjzN4iMIU69OFWjeMYwqKSftYx092cdb68rvG+pftPaShK/XVefc7P4k/tQfCjwx4/1jw7q37Pem6hc2Woywz30iwbp2ViC53Qk5PXkmt/WPH2g/tG/s1eI7b4bibQpdLtt13pm2JF2IPM8vIGPLcKwBG05XnjIPN+Pf2aPhB458aap4xl/aO0i2bU76S5a3V7dhGXYnbnzhnGeuKh1nxf8EP2bfhHrnw/+HHjJPEOv63EYri4iCyoNyFNzFcxqqqWwmWbc3PByPpv7Q4pweKx8s9q0YYCcK0bqVFTkmpcih7N87k9NJbq99TTmqxcvaNcuvb9Cp4xE2rfsDaFNptz562OoJ9tKEnYommXafozoOeOmO1fOte0fsy/HXwh4Y0LUvg98WYd3hzWN5+0tuYWzMu1lKqC21sAhh91hnuSOntv2Yf2atD1P/hJ9Z+P9nd6NbsZzYLdweZJGOQhdGJbPQ7UDHoMGvz3Mskq8dYPA47La1O9OjCjWjOpGDpunpzNSabhJapxvs+ui55U3XjGUX0s/Kx886hous6TDbXGq6Tc20d5AJrR7iBkE8ZOA6Ej5lyDyOKrV6l+1F8dNO+L/iO00nwnamDQdERodO4K+eTgGTZgbBhVCqeQBk4zgeW1+c55g8uwGa1cPga/tqUHZTtZSdlzNK705rpPqrPqc9SMYzai7o6r4G3lnp/xj8MXmoMBCmuW28sgYD94B0Pv37de1dr+3DbXMHx7upp87JtNtnhyuPlCbT9fmVq8ks7uewvIr+1fbLBIskbYBwwOQcHryK+mtc1D4Fftc+HdI1bxT4+tvDHiqytPKvFlKop55X94QHXILLh8qHIOa+y4YpQz7hPF5HTqRjX9pTrU1KSgp2ThKKlJqPMk00nvr202pL2lJ01ve5hf8E/keDxd4k1adsWkGjKJyVGMmTcOforcV4Nqs0NzqlzcW3+rkuHaP5AvyliRwOBx2HSvonX/ABn8Hv2aPhPq3gL4VeLoPEHiLWv3V5eriRY1ZSpYlfkAVd21NxO58nIzXC/sveFfgB4mvtUX42a3FBJFCp0+3vL42sLjnc/mKykuOAFyOCeG7ejm2UrE4XKeFqeIpe3p+1lUk5r2cJVHzKDmrq6UdUk/eaS3KnC6hSTV9b9jG/Zu+E9h8YPibbeHNY1KKCygQ3N5G0oWS4RSMxRjOST3I+6oY9gD9S+PvhD8RvF3xP8AC+rabrOk2PhbwxeW89tpMbSK7lCMsVCbchRtUZwB6bjXxh4sj8P6X4uv4fBGqXFxpsN44067lGyR4gTtY4xzjvgfQdK2fg94t/sP4qeHtY8Qa/LBY2urwS3UssrlVQOCSQM8YrPg/inJciw/9kYrC80p1oOdWNblTUZLlT91pwi/e+K0t2FGrCmuRrrvc9s/a3/Zt8Y+IfEmt/Gaw1vSksIbOF3tbm5McuI41Q4LLszkcAtz0HJArQ8I67on7HnwA07xHcR3Gqaz4oMdylg17iBWaMNlcAhVVCu5gCzMQM4xt8i/ay8Y6R4u+NWq6h4Y8RR3+ntHAiy20xaJmSJVbB6NyDyMg9jXpOi+L/gj+0j8ItD+HvxF8ZJ4e1/RIhFbzyhYkO1AgZS2EZWULlMq25eOBk/XYfNMnqcZ5tWydQo4201SnUqRlCdR1Hzyg5JRjKUX7kW5L5XNVOHt5uGkumvma/wc/bJf4reJV+G3xB8Oxaf/AGwHt7S/0q6kj2uwwqHkspPIDqwwccdx8/8Axv8Ahsvwm+Jup+CIbtp7e2kV7SWRlLtE6hk3bcDcAcHgcjOMEV7d4L+D37N3wN8RW3xE8U/HWz1V9PkEtla27Rn96OjFImkd8HBGMYIGc14l8cfiQnxY+J+p+Nre2aG3uJFS0jdAHEKKFTdj+IgZPJxnGcAV4HHFfMqnCVCnxDWhUx8ar5OWUJTVFx97n5G42ckuW+v4mddydFKo/ev+B2mtQ/2dYxtjrGP5VzXN5dVg6j4h+IFyPL1J7rAA4e0C8f8AfNV7XUvF6y7rMXJf/Yt8n+Vf0DhPHzJsPhlH+zsW2l/z7jb/ANLPVhmVOC0jL7v+Cdhqej7fDN7P/ctnPT2NYnwx07+0Gvhs3bUj/m1QTaj8T7qxks5bTUGglQrIo0/hgeoyFrqvg14Z1bS7a71LUrZoFudixRyKVf5Sckgjgc8V8phOKqnHni3lWYYPCVqcKEKik6kOW14z1unJWvJLV7s5p4r2+MhNJq3cxfEmjTw/8sK5uaHyJa9Y8SaD50Xn+RXnfiTTfscvkV/UOBxP77U+jpVfbIzNMud3iizuvS7hP5MtdB8b7lLrxbBInT+zox/489ctaN5OpwuP4ZlP6itz4n3H2rWrWb10+P8A9Cav4f4nSfD3E0l/0Mv/AG6sfLV/grf4/wDM2fH3hz7Kdx4JjB/SuGgvPsd1Xt/jvQYLzSIbj/pkv8q8Y1jR/Jlkr+6Miq+1oxp+S/I+kwtX2qNzR/EnrPWpN4qnMUg8+uHs4J/3daHkz/vK9upSoUv3h1fuDQ1jXri88v8Af1n2ejT6ldR/9dqkh0ae8ljP2eu48K+FfJPn+RXHjsdSo0f3ZnVqeyolfTfCs8NrZzwQeb5U376uS1i2ks/HP2aX70d1ED/47XssEMGmxda8j8Ynf8S5j63kX8lr+afH2Vapw/l9Sf8A0FU//SKh8xjNYL1Jvg//AMjY3/Xo/wD6EtereTBDF55ryz4MFF8XOz9BZOf/AB5a6fxh4wgsopK6Po/StwAl/wBPan/tprl1L2tH5mhrHiqCzi8jz6z4fGEH/PevM/EnjCe8l8iCes/+3p4ek9fv/wBRos9ingj2iHxh/q/39WIdegm6T14n/wAJVP5uK0NM8bT+b/rq6v7Jouj+7CpgT2iGaCboajni/wCW+a5Pwr4wgvI67CHUoJo48/6uvNqYathDzatL2JXn7VH/AMsquTTQedUcMP7qlTMyv53lVyvxZ/5Att/19f8AsrV115DP5tcj8Wv+QPb/APX1/wCytX534vf8m5zH/r3/AO3RMcR/BZd+HH/IpW/+/J/6Ea3aw/hn/wAipB/vyf8AoRroK9Xw69l/qJll/wDoHpf+kRKo/wAKPoV5+1R+T/rKkm/1340V9r+5NDgfiN9+z/3X/wDZataH4Q0K90+3uLm1YtJErMRKRkkfWqXxA62f+6//ALLXSaD+58OWc/8A07r/ACr+b8oybJc88bM8hmOGhWjGnSaU4qST5KSuk07OxyKMZYmV1cgk8CeFII90lo5P/XZv8ab/AMId4O/58pP+/wA3+NVde8VQQ/8ALeufm8eeTLX7DhvDLgat/wAyyh/4Kh/8iehTwlJ/ZX3HSf8ACJeFP+fF/wDv83+NT2ngrwlcdbB/+/7f41xE3jz0nrY0fx5AZetb/wDELOCv+hXh/wDwVD/5Ef1Gn2Os/wCFaeFJo0aCwfnr+/b/ABpknw38LL0sn/7/ALf41f0HWILz/UT1oeT5/wC/rz34dcDU3rllD/wVD/5E5atGlS+yjn4vh14Ub71i/wD3/b/Gn/8ACuPCXl7vsD5/67t/jWzB3qT/AJZVf/EOuBX/AMyzD/8AgqH/AMiHsqX8qPNvCtvBafEKK1Kfu4ruVAp54AYCvSoUt/8Angn/AHyK800tm/4WC7Dr9tm/9mr07TYf9Xur818BKFCPDmYxUVZYuolotEoU9F5GOFS5H6l2K1toYvPuLdP++BWHr2oWMH+ot0/75FT+MNegs7XyIJ/+u1eV+JPEc811J5E9fv2Gy+jVXtKkV9yPbw2FVU6q88X2MMuPJX/vkUkPjO3mlx8n/fArzo3n2yWrEM3kn9xXrLCYJUvZ1Ir7kemsLQPZNC1rTr0YKx/98Cuos57Sbn7NH/3wK8H0fXp7SWP9/XoHg/xgJv3E9xXFVyah/wAu4r7kcOJwqPRJobTyv3FrH/3wK8c+OChfGMYCBf8AQU4UY/ievW9Nm+2RdK8k+OMTxeM0R+v2JP8A0Jq/n36QdOnS4AcYxSftafT/ABHhYxWom343mnxF/wBc1/lR4Jh/ex5qPxx/yy/31/lVfwrqXky1+84Sp/wnR9Ee6v4B6h53+gRwGsu8m8mXpVjTZvOtajmh/e1C9iedU3LFnCLyLyZ68/8AHmm+TLJXomj/ALmH9+K5D4kff/CuWl/vZ0YI8pI8vUFHpIv9K1fHv/ITtv8AryT/ANCas+6sbhrsG3XcW5ABxim6tZ6rZTpFq6yCQxhk8x9x25OO575r+IOPoZ7kFDPMuxmAqxhiMZ7WNZxfs+XmqOKUrcrclJNWlpqmrppeRjFUpSqQlF6yvfofQN3++slgx/yyX+VcR4k8H+dL58EFcx/wi3xh9NS6A/8AIQ7f9901fCnxbnGQmosPe/8A/s6/ZqHi9n9Hl9nw9i9v5Jf/ACBrSxk6X2GXYfBM/wDzwrQh8E+d/wA86wl8IfFw/ch1D/wOH/xdKfCHxej6w6iP+37/AOzrth408QL/AJp7F/8AgEv/AJWaf2jX/kZ2H/CH+Tdf9M4q6izs4LOHz8R/6mvJW8OfFrb8x1LHvf8A/wBnTG8OfFX+I6h+N/8A/ZVEvGLPKnx8O4v/AMAl/wDKzOpja9X7DPVZpq8n8VDd8S3X1vIf5JTz4b+Ka9Rf/wDgd/8AZVY8P/Djxjea1Hqms28kMcLCWS4mkDlivIX72STjHtXwnHXEvEniHQweX0ckxNFwrwm5ThLlslKOrcYpfFe7dkkYVZ1K1oqLWpl+AtQ/szV5bndj/RWH6rWZ4w8ST3kskFQpd/YopZd+3MZGfxFYM03m1+i/R2VuAFL/AKe1P/bT3cho8+Hv5sO3n/8ALSiftViGz86rk2miE+f5Ffu+Iqqke5UpmH/y1o87yqkvIfJlyarz9q6aWOEamg+JJ9Nl/cT13GjfEifyvI8+vL4v3Mvn1oQzTw9DXo+0o1v4hFTDUap6hZ/ELzpc+f8Au66DR/EkExj8ievC/Onh6VqeG/GE9ndfv5/3da/2ThMXR/dnDUwNHoe+Wc32yKuR+MMezRbUn/n5/wDZWq94J8SQalF/r6rfGWPZ4ftT/wBPg/8AQGr8O8X4VcP4f5jRfSH/ALdE8PGUvZUmT/DX/kULf/fk/wDQzW1WF8NvN/4Ra329N7/+hGt3yf3tez4fP2fh/lj/AOoel/6REil/Cj6Ef/LWpP3EP+vuKkm/0OH9+K4vxh428mXyIP8AntX2GGVarVOjDUq1WsZnxFTY9mP9l/8A2WnXniE2nhu3tPS2T+VP+JybWsT6pJ/Na4rxVrE62iwQfwRKP0r8L4Qp+18ds8X/AE7pf+kUjHBQ9rjJLyX6FLXvEk80tZ8M1Rww+bVj7H5PFf0f7RYSqfTU0qJX+2e/6VJZ6nPDLRDaf8t6Joa6cNjaPtv3hod54D8VeTL5E9eqaPefbLXNfPem3nky8z17B8PdY+2WvE9Z5rhqVWl7RHm4mkdJND5EtA/gqxeQ/uvPrL17xV4V8Hy29jqvmy3Hk+ZN/wBMq8P2n/Ps8k4PRI3k+IpRTyb2b/2avUP+QZa/bhXmfhuRZPicJoOhvpmT/wAfIrvPG2pT2el+R/0xr8B8CP8AkR5l/wBhdT/0mmc2E2fqcH8QvEf+s8iuDmmM37+rHiS8nvL+q8P7n/X/APLWv6VVWisJ7OmfY4al+5JIovO/651ch/64VHDZ/wCrEFaENn51ebUxP73nNCP/AKeP1rQ0fUvJuv8AX1X+x/uutWLOHtXpYLG3D/lyeweA9S+2W0dcP+0B/wAjzH/2D4//AEJ63Phje+b+4rA+PH/I5Qf9g6P/ANDev58+kh/yQr/6+0//AG4+WzaHKrmv8Q4Z4Yhx/wAs1/lXL6Dqfky13/xH03z7OJv+mS/yrzSH/Q7+v2nLNcJH0X5Hr4X97QPWPCusGby+K6D9xNXmfhTXvJlj/f12Fnr3aujEYL2X7w56mGNzzvscVcH421LzpZBW5rOveSP9fXn/AIk1Lz7qSsqWCq+29oGGplPTYftmqR/9dqf8VoPs/iKGP/pyQ/8AjzVs/D3R57y68+eqnx3tBZeL7aHv/ZkZP/fT1+I/SOqR/wBQ3CP/AD9p/wDtxwZrPmpW8z0+81KGygGf+ea/yqn/AG7XEeIvHf2dtvn9EA/Sue/4WFPN/wAt6/csHl1atQj6L8jupYKtVR6xDr3nS1ch1Pzq8ns/GE+cefW5o/jb/VwTmn/ZvsR1MFWpHeTQ+dF+4NU5v9d+NGj6lBNFVy9g/wCW9cVqpxezaKf/AC1pbiX7Lok83qh/lSU3XYseHJj/ALJrhxV6VGXoxUz5/wBYk8qxZvU4rJg71p+IN/8AZx2ddwrMtP8AVR/Svyb6P3/JtIf9fqn/ALaejkf/ACL/AJv9DoNHs/Nl8iugm0eD7LWP4b/11dJqU3kWsdfquI9tVZ6lTc8/16HyZcmsv/W+ZmtTxJMZrrFZ/ke9dFIRXhhq5D++lzUfke9WLOHtXp/WPZUjX2pHeVl+d5Mtal5D2rDm/wBd+NetlGJ9maUj0j4V+KvJuo4PtFdx8WpvO8L2h/6fR/6A1eL+Cbz7FqsfFereN7z7X4Msj6XY/wDQWr8/8d8LyeHWY1P7i/8ASonzeb07Umzb+HP/ACJ1t/vyf+hmt+a8gs7Xz56wPhlD/wAUvbT/AO3J/wChmsr4neMBZ2v2Hz/LrzPDqlVxXBeV0unsKX/pETnwlO9KPoin4w+IRhmkg8+vP9S1ibUpZJ6y9S1g6ldSTmepLP8AfGOCv2BYKjhcJ+7PfpU/ZHqPxW4ubJPSN/5ivL9bbz9XMf8Ad4r0b4i6x/a99AWg8to1YMPyrzm+Bl1aUejmv5m4D9pT8cc9fVUqX/pNI+ewP+/z9F+hPp2m+n51qTWcHlcUaN/qo/rVi8vIYfMgBr92xOJdWt7M+hMf9x5UkFU5v+eGKLyb97+4qP8A5a1lTw1ZVfaQNAM373yIK7DwH8SND0HXv7DvfNl/feXXHwn/AFk8/wDyy/eVTs9HGpeI5NVsb793LN9pmr6PDVL0bVDOpT9qfUEMwvIpK5f4kfD7XPFXiOTVdKEfl39nFH++/wCWVV/BPjH7ZLXaQTedFH+/r52rSdKt7h8/VpeyrHmPhK1Fj8SIbEruEN5LGR64DCuq+Kt55Nr5Fcx4b/5KiP8Ar/m/9nrf+MH7nzPaGvwnwA5f7IzHn/6C6n/pMDDLY8836nj95++uqsTWfnCOf/nlUcMP72tSGGv6CxtOjSX7s+wVXQk02GeGKOtSGHyqjs6k/wCWn7jPSvE/fGRJPDB/ywo8j3qTyfJiqPzv+nenSqVqRodB4JvPJv8Amq3xpl87xVA//UPj/wDQnqpo979jlqt48vXv9Whmd8kWqrn/AIE1fkn0h6VR+HDqv/n7T/8Abjwc8go0L+Z7p4i0EalpEM//AEyX+VeOeJNBns7r/UV7xoN5Bd6fFBP5XFqv8q4/4keD/Jl+0QV+v5fVdJR9p2QYWp7JHlej3nk1uabr0/2XrWXeaP8AY5aPJ/0WSvoJ1cJV989W5oXusTzVn2dnPrF/yf8AltUln/xMpfIEFdp4J8H+ddR0sbjaNKjoc9SrRNjwHoMGmxefXnXx21B9R8dGV+qWiJ+Rb/GvTde1iDQbCSCDyq8U8Z6g+p64908m47AM/nX86+P8a0/DuVWf/P2n/wC3HiY2PPhHU8yj4hu57tgs8/QVk2f+tP1rptb07ydNFwYO1cB/aP8AxOfsVf0DleYvExjTp9l+R9PGo+VHYWZgmi/f1J509nL9o+0Vn6bDP5Xn1sXkPnWHn5rqp1V7ezNqWp1HgPxJP5scE8/+tr0iE+da4rwvQbyGzv469g8K3hvLWMVpmNKj7H2lM8jG0ix5Pky1ZvYfN0Scf7BqKb/XfjSpmbTJP9w/yr5fHfvaUvRnnU6h87a8u7Tn9jWXZzd62NVi82wkHoM1h8QzV+RfR2nbw6t/0+qf+2no5B/unzZ0Gm3nky9KuXmsz+V/x8VzcM/aC4qxNefuq/ZalP8AfHrFe8/fS4qOiaao/P8Aas/ZmZHWpo8PrWXWpps/lRVp7KtYCPX4f+eFc3N/rvxrc1ibzqw5of3tdWBp6nVTqGp4VhMt/HXq3i+38rwRZt/09j/0Bq898B6b51/HXqPxHs4rXwRZmKPaGvhgf8AavlPHDEX8M8xp/wBxf+lRPCzqpejJGr8PH+zfD+G5/wBuT/0M1478Tte+2apJB59enabeiy+FFuxbcHllDL6fOa8N8VXnn6pJT8Kqf/GF5Y/+nFL/ANIiTlML04+hXs4e1bGn/wDLOsuz/c9K2NH/ANca/QKuIrI9k9F+JWlf2XqcQ8/zPMVmz+VeeT/8haX/AHzXo/xQ/wCP61O/d+6b+lea6m3l6hMfVq/nfgX/AJPhn3/Xql/6TSPmct/3yp6L9DV+2eTF+4rL1LUvOlkovLweVWfX7tTtSdSofRU9yxDD53mVY8j3og71Y8nza5liawGfNZ+da3EH/PaGs/QdNvrOWSeeDyo/J8uukmh/dVnzQ/6uu6lU9l+8gaGp4V1ifTb+vaPB+vQXlrHmvn/iGavSPhj4k/exwTz16uNw31qj7SmedjcN+59oTeGTs+KSk9r+b/2euq+Kln9si8/yK5Tw0d3xQBHe+n/9nr0PxJZ/2lpcn/PSKv5h8B5ezyXMX/1F1P8A0mB4GAnyxfqeDzWfk3VaFnD2q5r2jfY7vFV7Ov3vEfvUfUUtixB3qxZ1Tq5Z1lSnSf8AENCSj/llViGGrFnpv/66fs6NI0K8MU8JrN1yObzkmkX5TGAD781vXkE8PmfuKzzKIpMEV8px/wAJUeP+Gp5T7Z0ryjJStzWce6urppvZro79Hx4vB/X6Lhexqad8b/GmlwpBbLZlUGBvhY/+zVPf/H7xzqUfl3UFgR7QN/8AFVb8IavBHL80Kn6qK9R0IWd7a5McR/7Zivzmv4WeI9JWfE1R/wDcN/8Ay08KtgcTDerf5f8ABPB5/HmsXDbmt7Yf7sZ/xqFvGGpvEYWgt8N1+Q/419BTQWfm/wDHpF/37FM+yaf/AM+0f/fArj/4hx4k/wDRSVP/AAW//lhj7LGf8/GeBWfjPUrGbz4bS1Lf7UZ/xrbsfjh4t06MpbWGnDd1Y27Z/wDQq9i8mz/59I/+/YrL+IM1pBoXlLaxg+oQVrHwz8SZS5JcS1F/3Df/AMsBYfEVP+Xn4Hj+sfEnxJrYIvDAA3XZGR/WsUfatSuUiRN8jYVFXvUuuagt1qkgWUD6CtXweP30cPf1qs48FeMM4wMcPm/EVStQ5lJwdPe3Zuo0na9m07dmd39mYitHlqVm12t/wTo/GejQ2Xw/mvbgcwgV8uf8JJPL4jk/67V9IfHLXseF/wCw4P8AlrXzvo/huf8Atnz/ALPX75w+qOHoTU+h1+0SPXPBP/Ey0uP/AK41sXkIhsP39WPhv4bn/sv/AI9/Kq548s4NNtY4P+WleZhsV7XMTuwVU4vHky/uP+e1esfDi8nltf8AX15HXqHwk/1X419jialGrl5nmP8ACO4vKYs3+jSH/pm38qn1L+Cqkn7m2/7Zn+VfLYv+DL0Z4ex4r4e019VuZbZFyRblsfiK5zxJps9ndcwV6D8GbeK68WyQzH5TYv8A+hLV/wCIXgMed58EFfh/0fcV9W4BT/6ez/8AbTfJa3JRt5ni8P8Arvxqx53nRVsal4Vns7qT9xWfNo88VfvtLE0qtU+ip1aJT8/2qP8A5a1Y+x3HqPyqSHR5/wDnhWv7moZ+1pFeH/XfjVz/AJZVJFps/wC7NAs5/wB3BWlK1WiZe1Mu8m86q8NmZv8AUVuf2DfTS48iuk8KfD399HXdTqYOjR9oZfWaNI0PhL4bBljnngrrfjHamDwfpoEuQt9Iuz04NbfhTQYNNtY8VgfGOeSbRYQ/QX/H/fLV+PeMGI9t4fZl/wBe/wD26J4eNq+1oyMeRLgfDCyI+41xPj868W1n/j/NfQPhqwjvvhnAjfeHm4/77NeLeMNB8m/kr6HwuxFWlwPllv8AnxS/9IiepllS2EivJGPDN/q62NNm/wBXurDhh/1dalnN3r9JxNL2qPVPVfiWiKNO29TC+fzFeZ6/Ht1CRs9ea9Q+KcUkbWHmR7flkA/8driNf0uC8SOW0UPIEG9enP41/KvDedZPkXjXnc8yxNOhGVOkk6k4wTfJSdk5NXdtT5PA1qdLHylJpLz+RzM037qpLOll8O6+1xvFpx6+Yv8AjU8Wgasv3rT/AMiL/jX7JjONOAn79LNsN/4UUv8A5M+g+uYT/n5H70Sw/wCp/Cr8HeqsGman5e2S2wf98f41bjsrpY1Uxcjr8wrijx5wPClaWaYZ/wDcel/8kZ/W8L/z8j96Hz9qp3kPk1o/Z23eZjmqN9pt7Njy4c/8CH+NVT8ReCl/zM8P/wCDqf8A8kafXMJ/z8j96Mi8m71ueA9TNnrUeKyJfD2sN92z/wDIi/41Z0fRdSsr9J5bbCjqd4P9a+myzxK4ClRtWzbDL1r0v/kwq4zCVaVvaR+9f5noPg193xKhk9byU/o1eow/vjJB/wA9a8r+Hf8ApHxAs2jOQ00jD6bGNeqw/wDH3X4f4DKlW4ezKpF3TxdWzWqa5Kb0fXc+WwsuRt+bOC+IWgeTN59cXDD5Muf+WdesfELTPOta4Oz0aeaWSv3fBfwv3h9JhsT+6Mvyf3tXLOEeVVibR54qkh/dUYlL2X7s6fahDD+9rc0eH91WP5/tVyz1Lyea4vq9ZnQWNYrm7ybvWhqWsedWX/ra6aVOrSfIbUi5o955N/zXsngm886wjrxCz/4+j9a9j+G83+i29e3jP3uE9oeRmR0N5/rR9aped+9qxeef5kc9Rzf9cK8E8glh/wCPusL4qTf8Sbmtmz/1p+tZ3xIs/O0D/UUp1PZVvaDpVP3x873k3+nyZrc8N3nk3cdY+vReRrMmas6d/rfxr2qlWli0fRr+AdP4k0f/AISTy6p6D8JfPljuIIP3lbnhXWIPNj8+vRNN1jQ7KL7R+7r5fMqWLpVv3Z51TDFPR/CsGg6N589eX/ELWPtmqSf8867zx548861kggnryfWLyea5r0sky32f7yodOGp+yM//AJa16p8JYf3VeV2cM811HXtHw302aCwjr2sb+6/dixtT90dJqfaqlzDixk/3D/Krd5++uqq3rw20LyS9WQgZ+leDiVSlTlSXZniHmXwX/wCRwb/rzf8AmtetzWdjeReRPXhnhrXrzwZrD3jWBaTyjG0UuUIzg56e3610UXxr1KJt39jof+25/wAK/lDwq8QODuFOEnl+bYl0q8ak24unUbSdt3GDSej0vddTgw2IhRp8snZ3Ot8efD2CHS7e9sf9ZdXksdcfD8N77UdB/tWeD/l8ltqsv8db6W3S3m8Powjm8yM/aTwf++anh+PsltpkelW/hONY45vMX/TD1/75r9Cw/jZwDRf++v8A8F1f/kDvjmkYbP8AMw4fh7P5v+oq5D8MZ/K4gqRPjPsbcPC8f/gUf/iak/4XhPs8v/hGo8f9fR/+JroqeNvh3U/5jX/4Kq//ACBP9pUe5T/4VvPDUkPw3/e1Yf44SP8A8yvEP+3o/wDxNRv8a7p9v/FPp8v/AE8n/wCJrWl45eHlKnb68/8AwVV/+QD+0aPc2NN+HtjD/r66DTdHsdNrhX+M9y7bv7AT/wACD/8AE0f8Lpvt2/8AsVf/AAIP/wATVf8AEbfDX2dvrz/8FVf/AJA5qmKoy2Z3Us3/ADwrj/i5Jv0W3H/T0P8A0FqpP8YJ3/5gKf8AgQf/AImsvxZ45l8U2Udm2mrAI5d4Il3Z4Ix0HrXyviB4t8A57wVjcvwWKcqtSFor2dRXfMnu4JLRdWYzr0pUnFPU7b4WSI/gmO3k6b3/APQjXJfEjwF511JPBB/ra6j4eWl1ZeGI4Ly3eKQM5KSKVYfMeoNdBNDBeRfv4P8AljX69wNTxeX8D5Y3FqSoUrpqzT5I7rod2GqVaNNHzne+FZ4ZcfZ6rw2fkzfv/Nr3jWPAdjeRSTw29c3efCsebJ+4r7alm1b2P7w9qlmR/9k=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/jpeg": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "_uPq9mVgiBql",
+ "colab_type": "text"
+ },
+ "source": [
+ "# Export Trained Weights for Future Inference\n",
+ "\n",
+ "Now that you have trained your custom detector, you can export the trained weights you have made here for inference on your device elsewhere"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "YH4CTzDRh00g",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 124
+ },
+ "outputId": "3edda00d-7ad2-46c6-eaa7-be0bdfcd70bc"
+ },
+ "source": [
+ "from google.colab import drive\n",
+ "drive.mount('/content/gdrive')"
+ ],
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n",
+ "\n",
+ "Enter your authorization code:\n",
+ "··········\n",
+ "Mounted at /content/gdrive\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "1x_wg3VeiXMW",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "%cp /content/yolov5/weights/last_yolov5s_results.pt /content/gdrive/My\\ Drive"
+ ],
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "LVpCFeU-K4gb",
+ "colab_type": "text"
+ },
+ "source": [
+ "## Congrats!\n",
+ "\n",
+ "Hope you enjoyed this!\n",
+ "\n",
+ "--Team [Roboflow](https://roboflow.ai)"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/demo.ipynb b/demo.ipynb
index 8c8a306..0bd512b 100644
--- a/demo.ipynb
+++ b/demo.ipynb
@@ -92,6 +92,10 @@
"```\n",
"docker build --pull -t $USER/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .\n",
"```\n",
+ "for who use virtual box in windows please use this command.\n",
+ "```\n",
+ "docker build --pull -t user/tensorflow-serving-devel -f tensorflow_serving/tools/docker/Dockerfile.devel .\n",
+ "```\n",
"\n",
"\n",
"Now let's run the container locally. Once it's running it will let us work in a terminal inside of it. \n",
diff --git a/keras_simple_tensorboard.ipynb b/keras_simple_tensorboard.ipynb
new file mode 100644
index 0000000..2e2d756
--- /dev/null
+++ b/keras_simple_tensorboard.ipynb
@@ -0,0 +1,206 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "keras_simple_tensorboard.ipynb",
+ "provenance": [],
+ "collapsed_sections": [],
+ "authorship_tag": "ABX9TyP7jeNbiXxTpmnqHB7+xQdl",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "h4ZK-NRymt0U",
+ "colab_type": "code",
+ "outputId": "5775d458-4989-4dd6-ce12-335be50ed133",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ }
+ },
+ "source": [
+ "#import liabraries \n",
+ "import pandas as pd \n",
+ "import numpy as np \n",
+ "import tensorflow as tf\n",
+ "from tensorflow import keras \n",
+ "from datetime import datetime \n",
+ "\n",
+ "from packaging import version \n",
+ "\n",
+ "\n",
+ "print(\"TensorFlow version: \", tf.__version__)\n",
+ "\n",
+ "\n",
+ "assert version.parse(tf.__version__).release[0] >= 2, \\\n",
+ " \"This notebook requires TensorFlow 2.0 or above.\""
+ ],
+ "execution_count": 2,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "TensorFlow version: 2.2.0\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "fjbhPHe4m8C-",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "#import datafile and split the dataset \n",
+ "data_size=1000\n",
+ "train_dict=0.8\n",
+ "\n",
+ "train_size=int(data_size * train_dict)\n",
+ "\n",
+ "x=np.linspace(-1,1,data_size)\n",
+ "np.random.shuffle(x)\n",
+ "\n",
+ "\n",
+ "\n",
+ "#generate teh output data \n",
+ "\n",
+ "y=0.5*x+2+np.random.normal(0,0.05,(data_size,))\n",
+ "\n",
+ "\n",
+ "#now split the test pair in the data \n",
+ "\n",
+ "x_train,y_train=x[:train_size],y[:train_size]\n",
+ "x_test,y_test=x[train_size:],y[train_size:]"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "lt1NBdTImFoM",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 129
+ },
+ "outputId": "6cabb5be-a83a-4e43-9582-68b0c0edad6d"
+ },
+ "source": [
+ "#now import tqdm and intall the process \n",
+ "logdir=\"logs/scalars/\" + datetime.now().strftime(\"%Y%M%D-%H%M%S\")\n",
+ "tensorboard_callback=keras.callbacks.TensorBoard(log_dir=logdir)\n",
+ "\n",
+ "model=keras.models.Sequential([keras.layers.Dense(16,input_dim=1),\n",
+ " keras.layers.Dense(1)\n",
+ " \n",
+ "])\n",
+ "\n",
+ "model.compile(\n",
+ " loss='mse',\n",
+ " optimizer=keras.optimizers.SGD(lr=0.2),\n",
+ ")\n",
+ "\n",
+ "print(\"training with defualt parameters this takes less than 10 seconds\")\n",
+ "\n",
+ "training_history=model.fit(\n",
+ " x_train,\n",
+ " y_train,\n",
+ " batch_size=train_size,\n",
+ " verbose=0,\n",
+ " epochs=100,\n",
+ " validation_data(x_test,y_test),\n",
+ " callbacks=[tensorboard_callback],\n",
+ "\n",
+ "\n",
+ ")\n",
+ "\n",
+ "print(\"average test loss \", np.average(training_history.history['loss']))"
+ ],
+ "execution_count": 7,
+ "outputs": [
+ {
+ "output_type": "error",
+ "ename": "SyntaxError",
+ "evalue": "ignored",
+ "traceback": [
+ "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m23\u001b[0m\n\u001b[0;31m validation_data(x_test,y_test),\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m positional argument follows keyword argument\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Yf7YhURUmFlC",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "#get the data and the preprocess it "
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "A2Y_bNS9mFih",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "QacRn8B1mFfB",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "U1wtDvoGmFc6",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ ""
+ ],
+ "execution_count": 0,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file