<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
    <Name>GeneralCatalog</Name>
    <Version>11.1.2</Version>
    <Vendor>Rother OSS GmbH</Vendor>
    <URL>https://otobo.io/</URL>
    <License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
    <ChangeLog Date="2026-10-27 10:52:43" Version="11.1.2">Update to OTOBO 11.1.1; Replaced error screen with empty table (#16).</ChangeLog>
    <ChangeLog Date="2026-06-22 08:34:32" Version="11.1.1">Update to OTOBO 11.1.</ChangeLog>
    <Description Lang="en">The General Catalog package.</Description>
    <Description Lang="de">Das General Catalog Paket.</Description>
    <Description Lang="es">El paquete General Catalog.</Description>
    <Description Lang="hu">Az általános katalógus csomag.</Description>
    <Framework>11.1.x</Framework>
    <IntroUninstall Lang="en" Title="Uninstallation Information" Type="pre">

        &lt;br/&gt;
        &lt;strong&gt;ATTENTION&lt;/strong&gt;
        &lt;br/&gt;
        &lt;br/&gt;
        If you uninstall this package, all database tables that were created during installation will be deleted.
        All data from this table will be irrevocably lost.
        &lt;br/&gt;
        &lt;br/&gt;
        ((enjoy))&lt;br/&gt;
        &lt;br/&gt;

    </IntroUninstall>
    <IntroUninstall Lang="de" Title="Uninstallation Information" Type="pre">

        &lt;br/&gt;
        &lt;strong&gt;ACHTUNG&lt;/strong&gt;
        &lt;br/&gt;
        &lt;br/&gt;
        Bei der Deinstallation werden die von diesem Paket angelegten Datenbank-Tabellen gelöscht.
        Alle darin enthaltenen Daten gehen unwiderruflich verloren!
        &lt;br/&gt;
        &lt;br/&gt;
        ((enjoy))&lt;br/&gt;
        &lt;br/&gt;

    </IntroUninstall>
    <IntroUninstall Lang="es" Title="Información de Desinstalación" Type="pre">

        &lt;br/&gt;
        &lt;strong&gt;ATENCIÓN&lt;/strong&gt;
        &lt;br/&gt;
        &lt;br/&gt;
        Si usted desinstala este paquete, todas las tablas de la base de datos creadas durante la instalación serán borradas.
        ¡Todos los datos de esas tablas serán irrevocablemente perdidos!.
        &lt;br/&gt;
        &lt;br/&gt;
        ((enjoy))&lt;br/&gt;
        &lt;br/&gt;

    </IntroUninstall>
    <IntroUninstall Lang="hu" Title="Eltávolítási információk" Type="pre">

        &lt;br/&gt;
        &lt;strong&gt;FIGYELEM&lt;/strong&gt;
        &lt;br/&gt;
        &lt;br/&gt;
        Ha eltávolítja ezt a csomagot, akkor a telepítés során létrehozott összes adatbázistábla törlésre kerül.
        Az ezekben a táblákban lévő összes adat visszavonhatatlanul el fog veszni!
        &lt;br/&gt;
        &lt;br/&gt;
        ((enjoy))&lt;br/&gt;
        &lt;br/&gt;

    </IntroUninstall>
    <CodeInstall Type="post">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeInstall();

    </CodeInstall>
    <CodeUninstall Type="pre">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeUninstall();

    </CodeUninstall>
    <CodeReinstall Type="post">

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}-&gt;{Name}-&gt;{Content};

        $Kernel::OM-&gt;Get($CodeModule)-&gt;CodeReinstall();

    </CodeReinstall>
    <BuildCommitID>1cc37478c5eb6a3f3287f0ae9e785fc8d2290e02</BuildCommitID>
    <BuildDate>2026-10-27 10:52:47</BuildDate>
    <BuildHost>opms.rother-oss.com</BuildHost>
    <Filelist>
        <File Location="doc/general-catalog-database.dia" Permission="660" Encode="Base64">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</File>
        <File Location="doc/general-catalog-database.png" Permission="660" Encode="Base64">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EolEYWFhQUE0DdryIwAgtsxfo7/5+te/nv4vAJyVsrKysrKyqEYvLS2NML0CgD52vly7nS91nmvx+oDS3Nz86quvvv322zU1NadPny4uLi4vL7/ooouuvPLKzGUIcn/bvv71r7c7uLCwcPjw4TNmzLjmmms6fkBsa2urrKzcsmXL4cOHm5qaBg0aVF5ePmXKlPe9731jx47NcdB33nlnw4YNe/bsaWhoKCkpmTJlyrx58yZPnpxLtd3YBQD0D+Xl5VGXAEAsnD59urKycseOHTU1NadOnRo0aNCoUaNmzpw5d+7c4uLiqKs751pbW19//fW33367urq6sbExPz9/5MiRM2fOnD9//uDBg6OubuCKUX60Z8+eZ5555uTJk+ktDQ0NDQ0Ne/bsWbNmzSc/+clcIpgutbS01NTU1NTU/P73v7/33ntHjBiR3tXc3Lxs2bJ9+/alt5w6dWrfvn379u1bvXp1jgnOqlWrfvvb36bXvzx58uSWLVu2bNkiAAIAAKBL27dvX7FixalTp9JbGhsb9+zZs2fPntWrV990001z5syJsLxz7Z133nnmmWeOHz+e3tLa2lpdXV1dXb1u3bqbbrrpsssuO6sT6h7qLXHJj/bt2/f4448nk8mKioprrrlm8uTJJSUlp06d2rt375o1a/bv3//444/ffffdEyZMCM70xnf5A5He1dDQsG/fvhdffLGuru6ll176xCc+kT5m1apV+/btGzx48Ic//OELL7ywrKyspaWltrZ2165dW7ZsyeVZbNy4cdWqVXl5eQsWLLj88stHjBhx+vTpnTt3btiwIfeXwo81AADAwLRjx44nn3wylUpNnTp1/vz5EyZMKC0tbW5urq2t3bZtW2Vl5YoVK/pxfvTOO+98//vfb21traiouOqqqyZPnlxWVtba2nr06NG3335748aNP/nJT842P6K3xCI/SiaTP/7xj5PJ5GWXXfYnf/IneXl/WNW7rKxs1qxZF1988U9/+tNNmzb96Ec/uv/++/Pz83sy1uDBgy+++OLS0tLHHnts586dmbveeOONIAhuvfXW6dOnh1vy8/MnTJgwYcKEhQsXdnnmhoaGX/3qV0EQ3HzzzZdffnl6uNmzZ8+ePbsnNQMAANDvtbS0PPvss6lU6oMf/OCHP/zh9PaSkpKJEydOnDjx2muvfe655yKs8JxKJpM/+tGPWltbr7zyyptuuimdDBQUFFRUVFRUVCxYsKAfP/34i0V+tHnz5mPHjo0aNermm29O/4ik5eXl3Xzzzfv37w8nnfVK1hguZtTU1JS58cSJE0EQTJw4sXvnfP3115ubmydOnJgOj86FsDvpn/7pnyorK1977bXa2tqWlpZ/+qd/CoJg//79mzZt2r17d11dXSKRGDZs2EUXXXTttdeWlJR0PMPXv/71TZs2bdy4saamJi8vb+LEiYsWLQpfltdffz3cnkqlJk6c+JGPfKTj2k91dXVr166tqqqqr68vKCgYN27cVVdddfHFF6cP+D//5/8cO3bsvvvuGzduXLjl2Wefff3114MguPTSS2+55ZZwY3V19dKlS0eMGPHXf/3X6cfu27dv7dq1+/btO3XqVElJyaRJkxYsWBC2nuXyOnTU1NS0YsWKbdu25eXl3XjjjfPmzTvLVx0AAOCc27RpU0NDw6RJkzLDo0zFxcW33nprx+1dXqAFGVeCr7/++oYNG8IrwUmTJqWvBLt3wp5cnLYTJgNjx47NDI8yFRUVLV68OH03l1HS83syJ/qkb3evzlAu161BEGzfvn3NmjXV1dWpVKq8vHzu3Llz5849T6fUxSI/2rZtWxAEf/RHf9RZb1F+fv5VV13185//fNu2bb2SH1VXVwdBMHTo0MyNQ4YMOX78+I4dO2bNmtWNc1ZVVQVB0DedhL/4xS9effXVdhsffvjhzLu1tbW1tbVbt25dsmRJaWlpu4Off/75zFl127dv37Nnz5IlSzZu3PjKK6+kt1dVVb3zzjv33XffyJEjMzcuX768ubk5vNva2rpr165du3Z94AMfuO6668KN06ZNe+2113bt2pXOj3bt2tXuRhAEYQvY1KlT01s2btz43HPPZS4gtXXr1jfffPOP//iP586dm8vr0E5dXd1TTz11+PDh0tLS22+/PXMsAACA+Ni+fXsQBGf7B+9cLtDSXnzxxXXr1mWOuGfPnvvuu++CCy7o3gl7fnGalk4GzhgeddS9UXrlDDlet65fv/6FF15I3z1w4MCBAwcOHjyYS20xFIv86MCBA8F7Q4SOwr3hkT0RLjz24osvBkHQblrZnDlzVq9evWLFiqqqqosuumj8+PFntbT74cOHgyCYOHHiG2+8sXbt2sOHD+fn548ePfryyy+/7LLLEolEDyvPVFlZuWDBgiuuuGLkyJHpX60pU6bMnTt30qRJZWVlzc3NBw4ceOmll/bv37969errr7++3Rk2btx4zTXXXHHFFUOHDj106NDKlStramqeeOKJ+vr6jttXr1798Y9/PHxgfX39008/3dzcPHv27AULFlxwwQWnTp164403/uu//uvll1+ePn16uMz51KlTw/xowYIFQRDU1tbW19eXlZWlUqn6+vra2trwK2bCLCn91h88ePD5559PpVKXX375tddeO3z48GPHjq1evXrTpk3PPffcxIkTR48e3eXrkGn37t1PP/10Y2Pj6NGj//RP/zRzuXQAAIBYCZOFs5oTk+MFWtqGDRsWLlx4+eWXl5WVHTx4cOXKlUeOHFm9enW6r+dsT9jzi9O0sM8j9y/OymWU9Heyn7HZp3t15njdevDgwV/+8pdBEMybN2/BggVDhw6tr69fu3btxo0bc3yCcROL/KixsTHo0A3UTrg3PLIbOv6szJ49+wMf+EDmlg996EP19fWvv/56ZWVlZWVlOOiUKVMuvfTS9IpIWYTL42/ZsuV3v/tduKWlpWXv3r179+7dvn377bffnmOE1Nnq4JnmzZv30Y9+tN3Gz3zmM+nbJSUl06dPLy8v/9d//de3336744/+Nddcs2jRovD2hAkTbrrppv/8z/88duzYwoULO27P7Bhav359U1NT5hy0oqKiBQsW5OfnP//886+88ko6PwqCYM+ePclkMj8/P50TpVKpLVu27Nq1q7y8PJlM7tmzJ8jIjzZs2NDW1jZz5sx0XHXBBRcsXrz45MmTO3bsWL9+/Z/8yZ90+Tqkvfrqq88991xbW9tFF1106623Dho0qLMjAQAAIhde8JaVlbXbnuUiMccLtLSFCxemJ8dNmjTpYx/72OOPP7579+70AWd7wp5fnKY1NDQEQTBkyJDODuiVUXp+hhyvW1955ZW2trZZs2Z97GMfCw8bMWLExz72sYaGhq1bt+b4HGMlFvlR3xs2bNgHP/jBdtPl8vPzb7nllgULFmzZsmXPnj0HDx6sr6/fvHnz5s2bZ82a9YlPfCL70t1h69qaNWuKi4uvv/76mTNnBkHw9ttvv/DCC1u3bt24ceP8+fN7q/4rr7yy48Ywy9y5c+exY8fSrYZBEGR+8WHaFVdckXm3oqIiy/ZwZajQjh07giC46qqr2p3wfe973/PPP79v377wbllZ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3HvttdceOXKk158CnAvyIwCgP2tra2toaDh9+nTUhXQqfTkkQhoIJk+eHHUJvWbOnDmR/NCe8QI+R1HVnF08q4qhPnuVvvKVr3z2s59N3z1w4MA999yzbt26L3/5y7W1tR2PX7JkybJly1566aVUKrVq1aq77rory94f//jHmXs/97nPffWrXz1HTwR6V0HUBQAAnEPNzc0HDhwoKCiYOnVq1LWcmaaDAWXv3r1Rl3Deq66ujroE+rOqqqrKyspHH300vaWiouKxxx7L8pC8vLxRo0aFtxcsWNDQ0JBlb3Nzc+beT3/609/+9rerqqqmT5/eO08Azhn9RwBAf5ZKpYqLi4uLi6MupFP6jwiC4JFHHpk6dWpZWdknP/nJ48ePt5un89Of/vSqq64qLS2dNWvWihUrMh8YHnny5MnFixcXFRV1nDuT5bFBxoSgZcuWXXLJJUOHDn3ggQfSex966KF77723oqJi/PjxS5Ys2bVrV28933Xr1t14443Dhg0rKSlZuHDhb37zm5kzZ3Y57owZM8JqExnanbknNf/whz+8/PLLBw8efMUVVzz99NPt9mZ/j3ryfLPL8oyeffbZoqKiRCJRUlJy5ZVXrlix4v3vf3+Oe0Pz58+fP39+jpWktXvxO74X2d+F7D91Xb5W27dvX7BgQUFBQcef9p6Mm7Z06dJ77733rF6Qw4cPd3tvEAR333330qVLz2pEiEYKAIBIvf3222+//XZra2vUhdDLpk6dunnz5swtZ/z4/fTTT1977bU7duxobm7esmXLF7/4xczDfvjDH9555507d+5samrasmXLokWLXnjhhXbn/Mu//MuXX365ra1txYoVhYWFuT82fPgdd9xx6623VlZWNjc3P//88+ldO3bsCG/U1tZ+7WtfmzZtWsfiu3FB8eKLL86ePfuFF144cuRIc3Pznj17HnzwwZEjR+Y4bvYRu13zU089ddtttzU0NKRSqYaGhttuu2358uXpvdnfox4+3+zPK8szKiwsXLFiRSqVSiaThw8fXrZs2ahRo3LcG7ryyiuvvPLKHJ9IpoULF65Zsya8vWbNmg984AM51hzq7Keuy9cqCII//uM/3rJlS8ef9p6Mm2n27NlvvPFGZ0/8jG9TIpHIckzHvX/7t3+bueX3v//9+9///s5GhPiQHwEARCyZTCaTyairoPel86OOS/ZUVFSkD7v00kszY6YNGzZkXn/OmjXrnXfeSd99++23r7nmmsxRgiB4+umnM+/m/tjw+F/84hddPpfW1tYzXjl3Iz+aM2fO+vXrczy447i5j3hWNV9yySVvvfVW+u5bb711ySWXpO9mf4+yy/H55nLCds+otLT0oYceOnbs2BkPzr63hx5//PG77747vP2Zz3xm2bJlnR15xnehs5+6Ll+rIAiqq6sz7/bKuJlKSkrCGLGzArrc2OXddvnRyZMni4uLs1cFcZBI6ZQGAIBzYNq0aStXrpw9e3Z6S9iJ0O6wsrKympqakpKS8G5DQ0NZWVn6sOLi4qampszjS0pKGhsbOztn5t0uH9tZSUEQHD58+H/9r//13HPP7d69u7S09LLLLvvNb37T8cjOHp7FoEGDjh49Onjw4DPu7XLcLCP2pOaioqLjx4+n34VTp04NHz48/eplf4968nyzV5X9GT3//PMf//jHW1paioqKRo8ePWTIkP/8z/+cN29eLnt76NSpUxdeeOHWrVuDIJg1a9aOHTvS04RzeRc6exO7fK2y/LT3ZNxMJSUlR44cKS0tzaWAzqpqa2vLnN/Xbu/f/u3f/su//Et6S0NDw6hRo9r9YkIMWf8IAACiNGPGjKqqqvTdzZs3Z+6dNWvWm2++mfkX4NyvM3vy2MWLF998881bt25tbGzcv3//97///Rwf2KWpU6du2rSpt8bNDMh6UvOMGTP27NmTvrtnz57M9Yyzv0fZZX++2WV/RjfeeGNzc3Nzc/P+/ftffvnlu+6666Mf/WiOe3uopKRk8eLFTz755BNPPHHLLbdkrjHXk3fh3L1WuZs+ffru3bu799i0ZDKZZW9bW1vm3V27ds2YMaOHI0IfkB8BAECUvva1r/3N3/zNwYMHk8nkli1bfvCDH2Tu/eY3v7lkyZJXXnnl1KlTDQ0Nr7322ic+8Ykcz9yTx+7evbuurq6pqammpmbt2rXf+c53zu5Zde4b3/jG5z//+R07dgRB0NDQ8Oabby5duvTuu+/OcdzCwsJw1eTq6urvfve7CxYs6JWa//Ef//GLX/xi+O3stbW1X/ziF//xH/8xvTf7e9ST55td9mc0atSol19+uaWlpby8fOrUqRdffHHmN39l3xvq3vrZoSVLljz88MOPPPLIkiVLcq85u3P3WuXuhhtueOmll87qISUlJWvXrg1vb9y4cejQoZkNR+32Dho0qN3Df/3rX994443dqxb61DmZFQcAAANex/WzJ02adMYjv/e9702ePLmkpOTWW28NI4zMvc8///y8efOKiorGjBlzzz337NmzJ72r3af6jh/yszw21WEaTuauVatWXXHFFcXFxWPHjr3vvvv2799/xoG6d2WxatWq6667bty4ccOHD583b953v/vd9Ioz2cdNpVLhqsmJRGLixIl/9Vd/deDAgd6q+cknn7z44osLCwsvvvjiJ598sl3N2d+jbj/f7FVlf0bz5s1bvnz57NmzCwoKgiBIL5idy97QFVdc0b31s9NDzJs3r+OTzf4OZv+xyeW1OuPdHo6btn379ssuu6zdxuxvU/gzGQRBeXl5RUXFb3/728zHttt7zz33tFv/6NJLL62qquqsHogP6x8BAMA50XH9o1zU1dWNHTu23bpFxIr3qH9bsmTJokWLPvWpT52Lkz/wwAN1dXXp9Y+eeuqpVatWLV269FyMBb3L/DUAAIiL2trab33rW3fddVfUhdAp71G/98///M//8R//0TdjPfzww9/61rf6ZizoIfkRAABEqbm5+Rvf+EZeXl4ikZgxY8bgwYM1I8SN92hAKS8v/93vftc3Y7300kvl5eV9Mxb0kPlrAEC/dfTo0RMnTgwbNmz48OFR18JA1L35a+e7yZMn792794y7Jk2alPkdZ/3DQHu+9FC7+WtwHimIugAAgHMl/O7q+P+1rKGhobm5uaSkJPM7sOE8NdASk4H2fIEBy/w1AKDfam1tDYIg/O6hODt58mRtbW1jY2PUhQAAnFncP04BAHRbS0tLcD7kR6WlpYlEYtCgQVEXAgBwZnH/OAUA0G3JZDIIgsLCwqgL6cKQIUOGDBkSdRUAAJ0yfw0A6J9aW1tTqVQikYh//xEAQMzJjwCA/ul8mbwGnF/Cf1sABhr5EQDQP50vi2cDuUskEolEog8GqqmpWbRoUbuNlZWVX/jCFyoqKjoe//LLL99www3XXXddIpEoKip69tlnc9977bXXHjlypNefAkDvkh8BAP1T2CMQ/8WPGFAmT54cdQnnt1Qq1TcDfeUrX/nsZz+bvnvgwIF77rln3bp1X/7yl2trazsev2TJkmXLlr300kupVGrVqlV33XVX7ns/97nPffWrXz1HTwSgt/iLHADQP+k/Iob27t0bdQl0raqq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9dZba9eu7bN/3rx558+fLygoUDZrampKS0svX7484EWCwaBOp4scc0ka9CMY1pUHDPzuu++Gy1Uff/zxt7/97Rs3bggh9u3bd/369T/+8Y9K07PPPpuVlbV169YYrxxj7wPelyRJJ06c2LBhw4CHRRkNYKzodDqn02mxWNQOAgAYe01NTS6XS6vVTp8+3WAwqB0HAID4Ec+/rkfWj8IGrFAkJSW1tbUlJydHudpgpQ2j0djnfbEmk8nj8Shf2+32l19++e23366vrzebzQsWLLhw4UKMFZPoVx6SJEnd3d0pKSnKpsfjycnJcblcQohgMLho0aKKiori4uK7d++uXbv2ww8/HNufsaLUj6LcPvUjTADqRwAQx2RZ/vzzzyVJUlZEUjsOAADxg2+rQggxa9asjz76aGTnFhcXV1dXR866iizxlJSUPPLIIzdv3vR4PI2NjYcOHYp+tciCUfQrxyJyStonn3wSXtFJq9W+9NJL27ZtE0Js3759x44dk/MPdH3KZwAAANEplSOKRwAAjDm+swohxM6dO5988sna2lohhNvtrq6uLi8vLy0tjeXc559/vqys7Nq1a16v1+12X79+ff369eHW+vr69vZ2n8/ncDiqqqp27drV53S9Xq+sId3U1LR79+5ly5bFeOVYvP322xcuXPB4PB988MEPf/jD7du3h5seeuihUCj00ksvffbZZ+HZZJFGvH72aEQZDQCYnFpbWzs6OtROAeAftFotxSMAAMacTu0AE23mzJn9dz722GO5ublbtmyprq72er2zZ8/+7ne/+4c//CF8QPjVYMpm5ByrtWvXajSan/zkJ3/7298yMjK+/vWv/+53vwu3Hjt2bOvWrd/61rfS09O/8Y1v7Nix45VXXomcpaWsId3b2zt9+vR169a9+eabMV45OiXqzp07f/SjH/3bv/1bdnb29u3b+5Sffvvb3z7wwANVVVUDXiEYDI7gZ68+r3VTvgjfbHgYlT19NkXU0QCASai7u7u9vV0IYTQajUaj2nEAAACA8RLPy80MuP4Rwl5//fWjR49WVlaqHQSYUKx/hLHS09Pz+eefy7KcmZk5bdo0teMAAAAA4yjhnj+Core3d8eOHa+99praQQBgSurt7W1qapJlOTk5meIRAAAA4h71o4QTOcXsnnvuieMH0ABgnIRCIZvN1tvbm5SUlJ+fr3Yc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f/+ePXvuvvvuo0ePbtq0afPmzYWRe/bs+cQnPqEoihCira3t3HPPPeussy655JJLL710yBvJEe9Y+c5RD51CJW+88ca5555bU1PT09MjhGhubo7FYm+88cbZZ59d/udjqampicVir7/++v/+7/9u3779zTffdDqdZ5555he+8IWvfOUrtj9wnPwIE0bX9cOHDwsh2traSIgAAAAAYAZxuVyapuXzeafTOeKAfD7vdrudTmc+nx9+tJL8aLiVK1f+5Cc/GZKMHDx4cOvWrbt3704mk4WdLS0t3/nOd6699toKX06FtZUvu8JKii/y4Q9/+JVXXnnooYdM07z++us//OEP79u3b9QbWZxOp67r69ev/4d/+Ichh5YtW/b0008Hg8GKXvDkID9CpUzTVFVVCOH1ekuN6evrc7lc4XCYlWgAAAAAMINMwfyjIVpaWh577DFrmdhwuq6/+eabBw4c2Ldv389//vO3335bkqRHH330M5/5TKUvqYLaKol1Rq2k+CI7duy44447VqxYYZrmc889t2PHjttuu63CG4VCoVQqJUnSRz/60a1bt55zzjn5fH737t3r16+PxWLr1q0bnitNJfIjlGQYRjabVRRFVVVVVTVNE0IEAoF58+bZXRoAAAAAYCJ95CMfefnll5966qmPf/zjIw546qmnrrzyyo985CMvvfTS8KOVr1/L5/NHjhzZsmXLT3/60/r6+t/97neNjY3lazMMY+PGjd/61reGPN2sQuPMj0atpPgi8Xh83rx52WxWCOHz+U6cOBEOhyu80WmnnfbOO++EQqGurq7q6urC/scff/zqq69euHBhZ2dnhXVOBiaJ4A8Mw1AUJR6P9/b2Fj8oLZ1OW+GRw+FgYhEAAAAAzD5XXHGFEOKHP/xhqQHWIWvYeLhcrtNPP/3HP/7xlVde2dfXt3HjxlFPkWV5w4YNQogDBw6M8+7jNGolVVVV1113nWmapml+/vOft8KjCp177rlCiNNPP704PBJCXHLJJUKId99999TrnghkAXOapmmZTCYajZ44caKzs/PQoUPd3d29vb3xeFxRFNM0nU5nIBCIRCLz5s1rbW1ta2tramqyu2oAAAAAwAS7/fbbXS7Xww8//LOf/Wz40Z/+9Kf/8R//4Xa7b7/99gm5nSRJ3/3ud51O509+8pPf//73o463HoJmbwOgCitZvXr1kI0K/dmf/ZkQ4u23347H48X7Ozo6hBC2rwQiP5qLBgYGjh8/fvjw4SNHjhw/fry/vz+VSuVyOSGEy+UKBoO1tbXz5s1ra2trbW2dN29ebW1tIBAo1UQNAAAAADDTLVy4cNu2bUKIm2+++dZbb3355ZczmUw2m33llVduu+22v/zLvxRCfOtb31qwYMFE3fH0009ftWqVpmnFU5CWLl26cePGX/7yl93d3aqqKopy5MiR73//+1azoauuuqowUpKk4W2VRtx5aiqvZIhLLrnEmn908cUXj+mOf/EXf7F48eJEIvGpT31qz5498Xi8v7//gQceuOmmm4QQX/ziF8f5isaJ/kdzUWdnp5UWSZLk9Xo9Ho/H4/F6vS6Xa6L+TwMAAAAAzDhbtmzZtGmTYRhD9suy/M1vfvMb3/hGqRMr739UrKenZ8mSJYqi7Nu370Mf+pAo/aQ2IcQZZ5zx3HPPFdbEjHjNyndWeOiUK6n8RsVeffXVFStWDJl/JIS49NJLf/7zn/t8vvKnTyryo9kmn88nEglJkkr1zBdCWP8tWrERgREAAAAAoODAgQPf+973nn322ePHj5um2dLScvnll991111Lly4tc9ap5UdCiK9//ev33nvvFVdc8fTTTwsh/ud//mf37t0dHR0HDhzo7e01TbO2tnbp0qXXXHPNl7/85eKngU92fjTOSiq/0RDHjh3bsmXLk08+2dPT4/P5zjrrrBtuuOHWW291OByjnjupyI9mG1VVu7q6HA5HW1ub3bUAAAAAAIDZgI42M4ZhGLlcTlXVfD7v8/kCgcCIw9xudzgcdrvdpmkytwgAAAAAAIwf+dE0lc/nc7mcFRjlcrl8Pl+8ANU0zVL5kSRJjY2NU1UmAAAAAACY/ciPpgVd13Pvp2na8GFOp9Ptdrvdbr/fP/VFAgAAAACAuYn8yB66rieTyUJapOv68DGFtKjA9nZZAAAAAABgDiI/soeu6319fcV7hqRFHo9HlmW7ygMAAAAAACggP5oUyWQylUoFAoFwODziAJfLFQwGXS5XITAiLQIAAAAAANMT+dEpKv90s1wul0qlHA5HqfxIkqTm5uZJqw4AAAAAAGDCkB+NzjRNTdOsB6IVvubz+dbWVqdz5B9gIBBwOBxer3eKSwUAAAAAAJhwrJl6H9M0c7lcOp2ORqO9vb3Hjx8/evTooUOHjh49evz48b6+vlgslslk8vm8EML6OiKv11tdXU1+BAAAAACYQV599dWbbrqptbXV6/X6fL4PfOADq1ateuGFF+yuSwghyqwBEkL88pe//PSnP11fX+9yuZqamq699tpnnnlmyu4+F0imadpdg22sZ59Zk4msDU3TRhwpSZLb7Xa9h6ehAQAAAABmme985zs7d+78xje+cdlllzU2Nkaj0V/96lf33nvv/v37p0N0IEklE4xNmzY98cQTmzdvXr58udfrff311++9997//M//LF92mQuOc/CsNKdf/8mTJxOJxJCdsiwXQqJCYFRqnRoAAAAAALNAR0fHnXfe+d///d9D2vgahrFu3bpvf/vbdhVWUCrBeeqpp9rb2/fu3evz+Yr333PPPZs2bTqFC45/8Kw0a9ev6bre3d195MiRMmM8Ho/X6w2FQpFIpKmpacGCBW1tbYsXL164cGFzc3NtbW04HPb5fIRHAAAAAIDZ7dvf/vamTZuGPwNKluXi8Oixxx4777zzPB7PH/3RHz3wwAOF/ZIkPfTQQ+eff77X621sbLzxxhsHBgYqPOvCCy8MBoOFJT7Hjx9fs2ZNKBRqbW1tb29XFKV85ffff/+mTZuGhEdCiEJ4NOIFrfVo0nsKZ1Vy9507dy5ZssTtdi9ZsuSHP/xh8aFdu3a1tra63e7TTjtt586ds2nV28zLj3RdVxQllUrFYrF0Ol1qmMPhUFXV6ntdakx1dfWCBQuamppqa2tDoZDX62VJGgAAAABgDtq7d+9ll11WfsyLL7548803t7e39/X1/fu///vWrVuffPLJwtEtW7Zs3769v79///79hmHcddddlZy1efPmbdu29fb26rpu7Vm+fPkFF1xw4sSJX/3qV52dnZs3by5f1W9+85uLL764zIARL2hNJjLfU35wsUcfffTv//7vd+3aNTAwsGvXrnvuuefxxx+3Dv3Xf/3Xtm3bfvzjHw8ODv7zP//ztm3bylc+s0zT+VeFR55pmjZko7jgUCjU1NRU6iKZTMbhcLjd7tkU+AEAAAAAMOFcLlc2mx2y/qbwbtp6J/7xj3/8tttuu+6666ydL7300po1a15++WVr5GuvvXbeeedZh3p7e88888z+/v5Rz+ro6CiT/kSj0Q996EOHDh0SpVeQjVj5eC5YfvDy5cvXr19/zTXXWGMeffTRf/zHf7RajF9yySXt7e2f/vSnrUOPP/741VdfPT1Tl1Ngc35kPe+skBAVcqJSfawtTqfT6knk8/mqqqqmrFoAAAAAAGalhoaGN998s6GhYfihQnRSX19vRUIFDofDev8uSZKu67Isj/WsbDZb/OzywcHBv/3bv33iiSd6enpUVR0yeMQEo76+/q233qqrqxvxdY3pgpUMjkQihw4dqqmpsU6JRqOLFy8eHBy0Dh0+fLi6urpwKBKJzJr8yOb1a6qqdnV19fT09PX1RaPRVCqlKIr1u5Fl2e12BwKBqqqq2trapqamlpaW1tbWJUuWtLa2trS0NDU1ER4BAAAAADB+y5Yte/bZZ8uPSaVSyWTSLFI8+aM4PKr8rOLwSAhx0003aZr2i1/8IhaLmaaZSqUK69pKufDCCzs6OkodHdMFT+Huc8fkdobu7e1NJpN1dXWlgh5nEWtKkfXV6XTSiggAAAAAgKmxdu3aO++888orr4xEIqXGXHDBBa+++uqf/MmfjOnKYzqro6Oju7u7kCGMGmkJIdasWfNXf/VXV1111ZAW2t/85jf/5m/+pswFnU6nruvF4UMldz/jjDM6Ojo+85nPWN/++te/PvPMM63ts84664UXXiisX3vxxRcreMUzRqXzj3Rdz+VymUwmkUhEo9G+vr4TJ04cO3asu7u7/ImGYZRZjOZ0OltbWxcsWNDc3FxXV1ddXR0IBDweD+ERAAAAAABT5oorrrj55psvuOCCXbt2HTlyJJfLJZPJgwcP3nfffYUxmzdvXrduXUdHRyqVSqfTzz777Kc+9alRrzyms84555z77rtvcHAwFos9/PDDt95666jX/+QnP/mnf/qnF1988RNPPBGPxxVF+c1vfnPNNddYz18rc8GFCxc+88wzhmGM6e7r1q1bu3bt888/n0qlnn/++a9+9asbNmywDrW3t69du3bPnj3pdHrPnj1r164dtfgZ5A+L/XRd13W90H7I2i7sKbNgb8mSJaUaVFsnOp1OOlgDAAAAADDNdXR03H///S+++GJfX5/b7V60aNEnPvGJ1atX//Ef/7E14Ne//vXmzZv37dtnGMayZcs2bty4YsUKMVIvoeI9lZ919OjRu+66a8+ePYqifPCDH7z77rtvvvlma0z5dtdPPvnk/fffv2/fvng8Xltbu3z58jvvvHPFihVlLvjII4+sW7euq6tL13VrT4V337Fjx/bt2zs7OxctWrRhw4ZbbrmlUMbOnTu3bdvW09OzaNGiNWvWtLe3W32UZgHJNM2urq5cLjdqSydZlgsrywqLzhwOh9frJR4CAAAAAAAo2Lt376pVq9566y27C5kYTiGE1b9KCCFJUnEwNGS7VCssAAAAAAAA3HjjjRs2bGhra/vd7353++23r1q1yu6KJoxTCNHU1CRJksPhoOsQAAAAAADAqbniiitWrlx5+PDhRYsW3XLLLV/96lftrmjClFs9CAAAAAAAALAkDQAAAAAAAOWQHwEAAAAAAKAc8iMAAAAAAACUQ34EAAAAAACAcsiPAAAAAADAH3R2dnZ3d1vbqVTq6NGj1raqqgMDA0KIdDp97NixY8eOvfvuu8UnFg8eGBg4ePBgmSsXb2P64/lrAAAAAADg/z322GO//e1vBwcHW1tbr7vuuq997WvnnHOOx+O5+uqr77vvvr6+vt27d7/yyiu/+MUvstnsyy+//NRTT1knnjhxojD40ksv3bJly0UXXXTo0KEdO3YMv/KiRYsK23fddZd9LxeVIj8CAAAAAADvk0gk7rjjjosuumjp0qWXXXbZ5z73uUceeUQIcc011+zevdsa87Of/czpdK5cudL69nvf+15h8OrVq995550bbrjhK1/5yr/9278Nv/KDDz44ZBvTHOvXAAAAAADAH5im2d7evn79+r6+vvr6+lLDHn300c9+9rOHDx9+5ZVXstls8eDzzz9/7969a9euveqqqwoDiq88ZBvTH/kRAAAAAAD4g3Xr1n3+858/99xz58+f39PTI4SQJGnImHfeeaelpcXr9fb09Bw8eFBRlOLBDzzwwNe+9rUHH3zwkUceKQwovvKQbUx/jr/7u7+zuwYAAAAAADAt7Nq16+GHH06n02+//fbKlSvvueeeF1544eKLL160aNH69etfeOGFbDb7sY99bPv27ddff31zc/PChQvPPvtsn8/X2tpaGLxs2bLt27e//vrrgUDgtttuswYUX/m3v/1tYXvZsmV2v2iMjv5HAAAAAABgZKZpKori8/nGOljTtGw2GwqFJrlATJH/A2wGHHe4IBW1AAAAAElFTkSuQmCC</File>
        <File Location="Kernel/Config/Files/XML/GeneralCatalog.xml" Permission="660" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPG90b2JvX2NvbmZpZyB2ZXJzaW9uPSIyLjAiIGluaXQ9IkZyYW1ld29yayI+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWRtaW5HZW5lcmFsQ2F0YWxvZyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Gcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFkbWluOjpNb2R1bGVSZWdpc3RyYXRpb248L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kUmVnaXN0cmF0aW9uIj4KICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXBSbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPmFkbWluPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIiBUcmFuc2xhdGFibGU9IjEiPkFkbWluLjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRpdGxlIiBUcmFuc2xhdGFibGU9IjEiPkdlbmVyYWwgQ2F0YWxvZzwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hdkJhck5hbWUiPkFkbWluPC9JdGVtPgogICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZG1pbkdlbmVyYWxDYXRhbG9nIyMjMDAxLUdlbmVyYWxDYXRhbG9nIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkxvYWRlciBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkFkbWluOjpNb2R1bGVSZWdpc3RyYXRpb246OkxvYWRlcjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJKYXZhU2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPklUU00uR2VuZXJhbENhdGFsb2cuSlNDb2xvclBpY2tlci5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+SVRTTS5HZW5lcmFsQ2F0YWxvZy5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpOYXZpZ2F0aW9uIyMjQWRtaW5HZW5lcmFsQ2F0YWxvZyMjIzAwMS1HZW5lcmFsQ2F0YWxvZyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5NYWluIG1lbnUgaXRlbSByZWdpc3RyYXRpb24uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TWFpbk1lbnU8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICA8RGVmYXVsdEl0ZW0gVmFsdWVUeXBlPSJGcm9udGVuZE5hdmlnYXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgICAgIDwvRGVmYXVsdEl0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpOYXZpZ2F0aW9uTW9kdWxlIyMjQWRtaW5HZW5lcmFsQ2F0YWxvZyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BZG1pbiBhcmVhIG5hdmlnYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6QWRtaW5PdmVydmlldzwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5hZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6TmF2QmFyOjpNb2R1bGVBZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTmFtZSIgVHJhbnNsYXRhYmxlPSIxIj5HZW5lcmFsIENhdGFsb2c8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJsb2NrIj5BZG1pbmlzdHJhdGlvbjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iIFRyYW5zbGF0YWJsZT0iMSI+Q3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikljb25CaWciPmZhLWJvb2s8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikljb25TbWFsbCI+PC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkdlbmVyYWxDYXRhbG9nOjpGcm9udGVuZDo6SlNDb2xvclBpY2tlclBhdGgiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSIgQ29uZmlnTGV2ZWw9IjIwMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+RnJvbnRlbmQ6OkJhc2U8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SXRlbSBWYWx1ZVR5cGU9IlN0cmluZyIgVmFsdWVSZWdleD0iIj4mbHQ7T1RPQk9fQ09ORklHX0Zyb250ZW5kOjpXZWJQYXRoJmd0O2pzL3RoaXJkcGFydHkvanNjb2xvcl8xLjQuMS88L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMjIyNDb21tZW50MiIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5QYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6R2VuZXJhbENhdGFsb2c8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlczo6R2VuZXJpYzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTGFiZWwiIFRyYW5zbGF0YWJsZT0iMSI+Q29tbWVudCAyPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvcml0eSI+PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjIiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJsb2NrIj5UZXh0QXJlYTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ29scyI+NTA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlJvd3MiPjU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlByZWZLZXkiPkNvbW1lbnQyPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMjIyNQZXJtaXNzaW9ucyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5QYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Db3JlOjpHZW5lcmFsQ2F0YWxvZzwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6T3V0cHV0OjpIVE1MOjpHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzOjpHZW5lcmljPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMYWJlbCIgVHJhbnNsYXRhYmxlPSIxIj5QZXJtaXNzaW9uIEdyb3VwPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvcml0eSI+MTA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJsb2NrIj5QZXJtaXNzaW9uPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDbGFzcyI+SVRTTTo6Q29uZmlnSXRlbTo6Q2xhc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlByZWZLZXkiPlBlcm1pc3Npb248L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1hbmRhdG9yeSIgVmFsdWVUeXBlPSJDaGVja2JveCI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6OkFnZW50OjpDb21tb25KUyMjIzEwMC1HZW5lcmFsQ2F0YWxvZyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5MaXN0IG9mIEpTIGZpbGVzIHRvIGFsd2F5cyBiZSBsb2FkZWQgZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QmFzZTo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPEl0ZW0+dGhpcmRwYXJ0eS9qc2NvbG9yXzEuNC4xL2pzY29sb3IuanM8L0l0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KCiAgICA8IS0tIER5bmFtaWNGaWVsZCBHZW5lcmFsQ2F0YWxvZyAtLT4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpNb2R1bGUjIyNBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkZyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iRnJvbnRlbmRSZWdpc3RyYXRpb24iPgogICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+YWRtaW48L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iPkFkbWluPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiIFRyYW5zbGF0YWJsZT0iMSI+RHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUk8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYXZCYXJOYW1lIj5BZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgPC9JdGVtPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6Ok1vZHVsZTo6QWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZyMjIzAwMi1UaWNrZXQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5Db3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZC5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSmF2YVNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5Db3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZC5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+Q29yZS5BZ2VudC5BZG1pbi5TeXNDb25maWcuRW50aXR5LmpzPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRHluYW1pY0ZpZWxkczo6RHJpdmVyIyMjR2VuZXJhbENhdGFsb2ciIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RHluYW1pY0ZpZWxkIGJhY2tlbmQgcmVnaXN0cmF0aW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6RHluYW1pY0ZpZWxkczo6RHJpdmVyUmVnaXN0cmF0aW9uPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRpc3BsYXlOYW1lIiBUcmFuc2xhdGFibGU9IjEiPkdlbmVyYWxDYXRhbG9nPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkRyaXZlcjo6R2VuZXJhbENhdGFsb2c8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNvbmZpZ0RpYWxvZyI+QWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZzwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+Cjwvb3RvYm9fY29uZmlnPgo=</File>
        <File Location="Kernel/Language/ar_SA_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmFyX1NBX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/bg_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmJnX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICfQo9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINC+0YHQvdC+0LLQvdC40Y8g0LrQsNGC0LDQu9C+0LMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICfQldC70LXQvNC10L3RgtC4INCyINC60LvQsNGB0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAn0KDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC10LvQtdC80LXQvdGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJ9CU0L7QsdCw0LLRj9C90LUg0L3QsCDQutC70LDRgSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJ9CU0L7QsdCw0LLQtdGC0LUg0LXQu9C10LzQtdC90YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICfQlNC+0LHQsNCy0Lgg0LXQu9C10LzQtdC90YIg0LrRitC8INC60LDRgtCw0LvQvtCz0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICfQlNC+0LHQsNCy0Lgg0LrQu9Cw0YEg0LIg0LrQsNGC0LDQu9C+0LPQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAn0JrQu9Cw0YHQvtCy0LUg0LIg0LrQsNGC0LDQu9C+0LPQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJ9Cg0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQtdC70LXQvNC10L3RgiDQvtGCINC60LDRgtCw0LvQvtCz0LAnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ9Ch0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDQuNC90YbQuNC00LXQvdGCINGBINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQtNCw0LTQtdC90L4g0LrQsNGC0L4g0L3QtdCy0LDQu9C40LTQvdC+Lic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ9Ca0L7QvNC10L3RgtCw0YAgMic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ9Ch0YrQt9C00LDQstCw0L3QtSDQuCDQv9C+0LTQtNGA0YrQttC60LAg0L3QsCDQntGB0L3QvtCy0L3QuNGPINC60LDRgtCw0LvQvtCzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAn0JTQtdGE0LjQvdC40YDQsNC50YLQtSDQutC+0LzQtdC90YLQsNGAIDIg0LrRitC8INC+0LHRidC40Y8g0LrQsNGC0LDQu9C+0LMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICfQntC/0YDQtdC00LXQu9GPINC/0YrRgtGPINC90LAgVVJMIEpTIENvbG9yIFBpY2tlci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ9Cg0LXQs9C40YHRgtGA0LDRhtC40Y8g0L3QsCDQv9GA0LXQtNC90LjRjyDQvNC+0LTRg9C7INC30LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGP0YLQsCDQvdCwINCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0YHQutC40Y8g0J7RgdC90L7QstC10L0g0LrQsNGC0LDQu9C+0LMg0LIg0JDQtNC80LjQvdC40YHRgtGA0LDRgtC40LLQvdCw0YLQsCDRh9Cw0YHRgi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAn0J7RgdC90L7QstC10L0g0LrQsNGC0LDQu9C+0LMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ9Cf0LDRgNCw0LzQtdGC0YDQuCDQvdCwINC/0YDQuNC80LXRgNC90LjRjyDQutC+0LzQtdC90YLQsNGAIDIg0L3QsCDQsNGC0YDQuNCx0YPRgtC40YLQtSDQvdCwINC+0LHRidC40Y8g0LrQsNGC0LDQu9C+0LMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ9Cf0LDRgNCw0LzQtdGC0YDQuCDQt9CwINC/0YDQuNC80LXRgNC90LjRgtC1INGA0LDQt9GA0LXRiNC40YLQtdC70L3QuCDQs9GA0YPQv9C4INC+0YIg0LDRgtGA0LjQsdGD0YLQuNGC0LUg0L3QsCDQvtCx0YnQuNGPINC60LDRgtCw0LvQvtCzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAn0JPRgNGD0L/QsCDRgNCw0LfRgNC10YjQtdC90LjRjyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/ca_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmNhX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/cs_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmNzX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rY2lvbmFsaXRhJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdTcHLDoXZhIEhsYXZuw61obyBLYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnUMWZaWRhdCBwb2xvxb5rdSBLYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ1DFmWlkYXQgdMWZw61kdSBLYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnVMWZw61keSBLYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnVnl0dm/FmWl0IGEgc3ByYXZvdmF0IGhsYXZuw60ga2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ0Zyb250ZW5kb3bDoSByZWdpc3RyYWNlIG1vZHVsdSBwcm8ga29uZmlndXJhY2kgaGxhdm7DrWhvIGthdGFsb2d1IHYgYWRtaW5pc3RyYXRpdm7DrSBvYmxhc3RpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdIbGF2bsOtIEthdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1DFmcOta2xhZCBwYXJhbWV0csWvIHBybyBrb21lbnTDocWZIDIgb2JlY27DvWNoIGF0cmlidXTFryBrYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0cnkgc2t1cGlueSBwcm8gcMWZw61rbGFkIG9wcsOhdm7Em27DrSBvYmVjbsO9Y2ggYXRyaWJ1dMWvIGthdGFsb2d1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/da_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRhX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rdGlvbmFsaXRldCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnR2VuZXJhbCBLYXRhbG9nIE1hbmFnZW1lbnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ1RpbGbDuGoga2F0YWxvZyBwb3N0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnVGlsZsO4aiBLYXRhbG9nIGtsYXNzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2F0YWxvZyBLbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICdSZWRpZ2VyIGVuaGVkIGkga2F0YWxvZ2V0JzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdPcHJldCBvZyBow6VuZHRlciBzdGFuZGFyZCBrYXRhbG9nZXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnR2VuZXJhbCBLYXRhbG9nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/de_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRlX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rdGlvbmFsaXTDpHQnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICdFbGVtZW50ZSBuYWNoIEtsYXNzZW4gZmlsdGVybi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnVmVyd2FsdGVuIGRlciBHZW5lcmFsIENhdGFsb2ctS2xhc3NlLic7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdWZXJ3YWx0dW5nIGRlcyBHZW5lcmFsIENhdGFsb2dzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnRWxlbWVudGUgaW4gS2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJ0VsZW1lbnQgw6RuZGVybic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICdLbGFzc2UgaGluenVmw7xnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICdFbGVtZW50IGhpbnp1ZsO8Z2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnS2F0YWxvZ2VsZW1lbnQgaGluenVmw7xnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdLYXRhbG9na2xhc3NlIGhpbnp1ZsO8Z2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdLYXRhbG9na2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnS2F0YWxvZ2VsZW1lbnQgYmVhcmJlaXRlbic7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnRGVyIFN0YXR1cyBkZXMgV2FybnZvcmZhbGxzIGthbm4gbmljaHQgYXVmIHVuZ8O8bHRpZyBnZXNldHp0IHdlcmRlbi4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICdLb21tZW50YXIgMic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ0dlbmVyYWwgQ2F0YWxvZyBlcnN0ZWxsZW4gdW5kIHZlcndhbHRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ0tvbW1lbnRhciAyIGbDvHIgZGVuIEdlbmVyYWwgQ2F0YWxvZyBmZXN0bGVnZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdEZWZpbmllcnQgZGllIFVSTCBkZXMgSlMtRmFyYnfDpGhsZXItUGZhZHMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnQmFja2VuZC1HVUkgZsO8ciBkZW4gRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJpZXJ1bmcgZGVzIEZyb250ZW5kLU1vZHVscyBmw7xyIGRpZSBLb25maWd1cmF0aW9uIHZvbiBBZG1pbkdlbmVyYWxDYXRhbG9nIGltIEFkbWluLUJlcmVpY2guJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0dlbmVyYWwgS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJ0dlbmVyYWxDYXRhbG9nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0ZXIgZsO8ciBkZW4gQmVpc3BpZWwtS29tbWVudGFyIDIgZGVyIEdlbmVyYWwgQ2F0YWxvZy1BdHRyaWJ1dGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRlciBmw7xyIGRpZSB6dWdyaWZmc2JlcmVjaHRpZ3RlbiBCZWlzcGllbGdydXBwZW4gZGVyIEdlbmVyYWwgQ2F0YWxvZy1BdHRyaWJ1dGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICdCZXJlY2h0aWd1bmdzZ3J1cHBlJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/el_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVsX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/en_CA_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVuX0NBX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/en_GB_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVuX0dCX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jdGlvbmFsaXR5JzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdHZW5lcmFsIENhdGFsb2d1ZSBNYW5hZ2VtZW50JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdBZGQgQ2F0YWxvZ3VlIEl0ZW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdBZGQgQ2F0YWxvZ3VlIENsYXNzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdDYXRhbG9nIENsYXNzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnRWRpdCBDYXRhbG9ndWUgSXRlbSc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZ3VlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3VyIFBpY2tlciBwYXRoLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2d1ZSBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdHZW5lcmFsIENhdGFsb2d1ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2d1ZSBhdHRyaWJ1dGVzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9ndWUgYXR0cmlidXRlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/es_CO_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX0NPX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/es_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxpZGFkJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdHZXN0acOzbiBkZWwgQ2F0w6Fsb2dvIEdlbmVyYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICdJdGVtcyBlbiBDbGFzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICdFZGl0YXIgZWxlbWVudG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnQcOxYWRpciBDbGFzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJ0HDsWFkaXIgZWxlbWVudG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdBw7FhZGlyIEVsZW1lbnRvIGFsIENhdMOhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0HDsWFkaXIgQ2xhc2UgYWwgQ2F0w6Fsb2dvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdDbGFzZSBkZSBDYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICdFZGl0YXIgRWxlbWVudG8gZGVsIENhdMOhbG9nbyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnRWwgZXN0YWRvIGRlbCBpbmNpZGVudGUgZGUgYWR2ZXJ0ZW5jaWEgbm8gc2UgcHVlZGUgZXN0YWJsZWNlciBjb21vIG5vIHbDoWxpZG8uJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnQ29tZW50YXJpbyAyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ3JlYSB5IGdlc3Rpb25hIGVsIENhdMOhbG9nbyBHZW5lcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICdEZWZpbmlyIGVsIGNvbWVudGFyaW8gMiBkZWwgY2F0w6Fsb2dvIGdlbmVyYWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdEZWZpbmUgbGEgcnV0YSBVUkwgSlMgZGVsIHNlbGVjdG9yIGRlIGNvbG9yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICdFbCBGcm9udGVuZCBkZWwgcmVnaXN0cm8gZGVsIG3Ds2R1bG8gcGFyYSBsYSBjb25maWd1cmFjacOzbiBkZWwgQWRtaW5HZW5lcmFsQ2F0YWxvZyBlbiBlbCDDoXJlYSBhZG1pbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdDYXTDoWxvZ28gR2VuZXJhbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyw6FtZXRyb3MgcGFyYSBlbCBlamVtcGxvIGNvbWVudGFyaW8gMiBkZSBsb3MgYXRyaWJ1dG9zIGRlbCBjYXTDoWxvZ28gZ2VuZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyw6FtZXRyb3MgcGFyYSBsb3MgcGVybWlzb3MgZGUgZWplbXBsbyBkZSBsb3MgYXRyaWJ1dG9zIGRlbCBjYXTDoWxvZ28gZ2VuZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJ0dydXBvIGRlIHBlcm1pc29zJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/es_MX_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVzX01YX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxpZGFkJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdBZG1pbmlzdHJhY2nDs24gZGVsIENhdMOhbG9nbyBHZW5lcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnQXJ0w61jdWxvcyBlbiBjbGFzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICdFZGl0YXIgYXJ0w61jdWxvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJ0FncmVnYXIgY2xhc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICdBZ3JlZ2FyIGFydMOtY3Vsbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ0HDsWFkaXIgYXJ0w61jdWxvIGRlbCBjYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdBw7FhZGlyIGNsYXNlIGRlbCBjYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ0NhdMOhbG9nbyBkZSBjbGFzZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICdFZGl0YXIgYXJ0w61jdWxvIGRlbCBjYXTDoWxvZ28nOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ0FkdmVydGVuY2lhIEVsIGVzdGFkbyBkZWwgaW5jaWRlbnRlIG5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgY29tbyBpbnbDoWxpZG8uJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnQ29tZW50YXJpbyAyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ3JlYXIgeSBhZG1pbmlzdHJhciBlbCBDYXTDoWxvZ28gR2VuZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ0RlZmluaXIgZWwgY29tZW50YXJpbyAyIGRlbCBjYXTDoWxvZ28gZ2VuZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJ0RlZmluZSBsYSBVUkwgcGFyYSBlbCBTZWxlY3RvciBkZSBDb2xvciBKUy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJvIGRlbCBtw7NkdWxvIGRlIEZyb250ZW5kIHBhcmEgbGEgYWRtaW5pc3RyYWNpw7NuIGRlbCBjYXTDoWxvZ28gZ2VuZXJhbCBlbiBlbCDDoXJlYSBkZSBhZG1pbmlzdHJhY2nDs24uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0NhdMOhbG9nbyBHZW5lcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXLDoW1ldHJvcyBwYXJhIGVsIGNvbWVudGFyaW8gZGUgZWplbXBsbyAyIGRlbCBjYXTDoWxvZ28gZ2VuZXJhbCBkZSBhdHJpYnV0b3MuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcsOhbWV0cm9zIHBhcmEgZWwgZWplbXBsbyBkZSBwZXJtaXNvcyBkZSBncnVwbyBkZWwgY2F0w6Fsb2dvIGdlbmVyYWwgZGUgYXRyaWJ1dG9zLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnUGVybWlzb3MgZGUgZ3J1cG8nOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/et_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmV0X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/fa_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZhX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfaqdin2LHaqdix2K/bjCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAn2YXYr9uM2LHbjNiqINmB2YfYsdiz2Kog2LnZhdmI2YXbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAn2KfYttin2YHZhyDaqdix2K/ZhiDbjNqpINmC2YTZhSDZgdmH2LHYs9iqJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn2KfYttin2YHZhyDaqdix2K/ZhiDaqdmE2KfYsyDZgdmH2LHYs9iq24wnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ9mB2YfYsdiz2Kog2qnZhNin2LPbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAn2LPYp9iu2Kog2Ygg2YXYr9uM2LHbjNiqINmB2YfYsdiz2Kog2LnZhdmI2YXbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ9ir2KjYqiDZhdin2pjZiNmEINio2LHYp9uMINm+24zaqdix2KjZhtiv24wg2YHZh9ix2LPYqiDYudmF2YjZhduMINiv2LEg2KjYrti0INmF2K/bjNix24zYqic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfZgdmH2LHYs9iqINi52YXZiNmF24wnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ9m+2KfYsdin2YXYqtix2YfYp9uM24wg2KjYsdin24wg2KrZiNi224zYrSDZhtmF2YjZhtmHINuyINmF2LHYqNmI2Lcg2KjZhyDZiNuM2pjar9uM4oCM2YfYp9uMINmB2YfYsdiz2Kog2LnZhdmI2YXbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICfZvtin2LHYp9mF2KrYsdmH2KfbjNuMINio2LHYp9uMINqv2LHZiNmH4oCM2YfYp9uMINiv2LPYqtix2LPbjCDZhtmF2YjZhtmHINmF2LHYqNmI2Lcg2KjZhyDZiNuM2pjar9uM4oCM2YfYp9uMINmB2YfYsdiz2Kog2LnZhdmI2YXbjCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/fi_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZpX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/fr_CA_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZyX0NBX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/fr_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZyX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGb25jdGlvbm5hbGl0w6knOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ0dlc3Rpb24gZHUgY2F0YWxvZ3VlIGfDqW7DqXJhbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJ8OJbMOpbWVudHMgZGFucyBsYSBjbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnw4lkaXRlciB1biDDqWzDqW1lbnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnQWpvdXRlciB1bmUgY2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnQWpvdXRlciB1biDDqWzDqW1lbnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdBam91dGVyIHVuIMOpbMOpbWVudCBhdSBjYXRhbG9ndWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdBam91dGVyIHVuZSBjbGFzc2UgYXUgY2F0YWxvZ3VlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdDbGFzc2UgZGUgY2F0YWxvZ3VlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnw4lkaXRlciB1biDDqWzDqW1lbnQgZHUgY2F0YWxvZ3VlJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICdDb21tZW50YWlyZSAyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ3LDqWVyIGV0IGfDqXJlciBsZSBjYXRhbG9ndWUgZ8OpbsOpcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnRMOpZmluaXIgbGUgY29tbWVudGFpcmUgMiBkdSBjYXRhbG9ndWUgZ8OpbsOpcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnRMOpZmluaXQgbFwnVVJMIGR1IGNoZW1pbiAiSlMgQ29sb3IgUGlja2VyIi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ0ludGVyZmFjZSBkXCdlbnJlZ2lzdHJlbWVudCBkZSBtb2R1bGUgcG91ciBsYSBjb25maWd1cmF0aW9uIGR1IGNhdGFsb2d1ZSBnw6luw6lyYWwgZGFucyBsYSB6b25lIGFkbWluaXN0cmF0ZXVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0NhdGFsb2d1ZSBnw6luw6lyYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtw6h0cmVzIHBvdXIgbFwnZXhlbXBsZSBkdSBjb21tZW50YWlyZSAyIGRlcyBhdHRyaWJ1dHMgZHUgY2F0YWxvZ3VlIGfDqW7DqXJhbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbcOodHJlcyBwb3VyIGxcJ2V4ZW1wbGUgZGVzIHBlcm1pc3Npb25zIGRlIGdyb3VwZXMgZGVzIGF0dHJpYnV0cyBkdSBjYXRhbG9ndWUgZ8OpbsOpcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/gl_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmdsX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxpZGFkZSc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnWGVzdGnDs24gZG8gQ2F0w6Fsb2dvIFhlcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdFbmdhZGlyIHVuIGVsZW1lbnRvIGFvIGNhdMOhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0VuZ2FkaXIgdW5oYSBjbGFzZSBhbyBjYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ0NsYXNlIGRvIGNhdMOhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ3JlYXIgZSB4ZXN0aW9uYXIgbyBDYXTDoWxvZ28gWGVyYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICdSZXhpc3RybyBubyBtw7NkdWxvIGRlIGludGVyZmFjZSBwYXJhIGEgY29uZmlndXJhY2nDs24gZGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBuYSDDoXJlYSBhZG1pbmlzdHJhdGl2YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnQ2F0w6Fsb2dvIFhlcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXLDoW1ldHJvcyBwYXJhIG8gY29tZW50YXJpbyBkZSBleGVtcGxvIDIgZG9zIGF0cmlidXRvcyBkbyBjYXTDoWxvZ28geGVyYWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcsOhbWV0cm9zIHBhcmEgb3MgZ3J1cG9zIGRlIHBlcm1pc29zIGRlIGV4ZW1wbG8gZG9zIGF0cmlidXRvcyBkbyBjYXTDoWxvZ28geGVyYWwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/he_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhlX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfXpNeV16DXp9em15nXldeg15zXmSc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAn16DXmdeU15XXnCDXp9eY15zXldeSINeb15zXnNeZJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICfXlNeV16HXoyDXpNeo15nXmCDXnNen15jXnNeV15InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAn15nXpteZ16jXlCDXldeg15nXlNeV15wg16nXnCDXlNen15jXnNeV15Ig15TXm9ec15zXmSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfXoNeZ15TXldecINen15jXnNeV15InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/hi_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhpX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/hr_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmhyX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxub3N0JzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdPcMSHZSBwb3N0YXZrZSBLYXRhbG9nYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnRG9kYWogc3Rhdmt1IHUgS2F0YWxvZ3UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdEb2RhaiBrbGFzdSB1IEthdGFsb2d1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdLYXRhbG/FoWthIGtsYXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdOYXByYXZpIGkgcG9kZXNpIE9wxIdpIGthdGFsb2cuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ09wxIdpIGthdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/hu_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omh1X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rY2lvbmFsaXTDoXMnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICdFbGVtZWsgc3rFsXLDqXNlIG9zenTDoWx5IHN6ZXJpbnQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJ0F6IMOhbHRhbMOhbm9zIGthdGFsw7NndXMgb3N6dMOhbHkgYmXDoWxsw610w6FzYS4nOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnw4FsdGFsw6Fub3Mga2F0YWzDs2d1cyBrZXplbMOpcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJ0VsZW1layBheiBvc3p0w6FseWJhbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICdFbGVtIHN6ZXJrZXN6dMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnT3N6dMOhbHkgaG96esOhYWTDoXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnRWxlbSBob3p6w6FhZMOhc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnw4lydsOpbnl0ZWxlbiBlbGVtZWsgZmVsdsOpdGVsZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnS2F0YWzDs2d1c2VsZW0gaG96esOhYWTDoXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnS2F0YWzDs2d1c29zenTDoWx5IGhvenrDoWFkw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2F0YWzDs2d1c29zenTDoWx5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnS2F0YWzDs2d1c2VsZW0gc3plcmtlc3p0w6lzZSc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnQSBmaWd5ZWxtZXp0ZXTDqXMgaW5jaWRlbnPDoWxsYXBvdG90IG5lbSBsZWhldCDDqXJ2w6lueXRlbGVucmUgw6FsbMOtdGFuaS4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcyLiBtZWdqZWd5esOpcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ0F6IMOhbHRhbMOhbm9zIGthdGFsw7NndXMgbMOpdHJlaG96w6FzYSDDqXMga2V6ZWzDqXNlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnTWVnaGF0w6Fyb3p6YSBheiDDoWx0YWzDoW5vcyBrYXRhbMOzZ3VzIDIuIG1lZ2plZ3l6w6lzw6l0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnTWVnaGF0w6Fyb3p6YSBhIEpTIHN6w61udsOhbGFzenTDsyDDunR2b25hbMOhbmFrIFVSTC3DqXQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnRGluYW1pa3VzIG1lesWRayDDoWx0YWzDoW5vcyBrYXRhbMOzZ3VzIGjDoXR0w6lycHJvZ3JhbSBncmFmaWt1cyBmZWzDvGxldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnRWzFkXTDqXRwcm9ncmFtIG1vZHVsIHJlZ2lzenRyw6FjacOzIGF6IGFkbWluaXN6dHLDoWNpw7NzIHRlcsO8bGV0ZW4gbMOpdsWRIMOhbHRhbMOhbm9zIGthdGFsw7NndXMgYmXDoWxsw610w6FzaG96Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfDgWx0YWzDoW5vcyBrYXRhbMOzZ3VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnw4FsdGFsw6Fub3Mga2F0YWzDs2d1cyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW3DqXRlcmVrIGF6IMOhbHRhbMOhbm9zIGthdGFsw7NndXMgYXR0cmliw7p0dW1haW5hayAyLiBww6lsZGEgbWVnamVneXrDqXNlaWhlei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW3DqXRlcmVrIGF6IMOhbHRhbMOhbm9zIGthdGFsw7NndXMgYXR0cmliw7p0dW1haW5hayBww6lsZGEgam9nb3N1bHRzw6FnIGNzb3BvcnRqYWlob3ouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICdKb2dvc3VsdHPDoWdpIGNzb3BvcnQnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/id_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmlkX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5nc2lvbmFsaXRhcyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnTWFuYWplbWVuIEthdGFsb2cgVW11bSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnVGFtYmFoIEl0ZW0gS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ1RhbWJhaCBLZWxhcyBLYXRhbG9nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdLZWxhcyBLYXRhbG9nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdCdWF0IGRhbiBrZWxvbGEgS2F0YWxvZyBVbXVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnUmVnaXN0cmFzaSBtb2R1bCBmcm9udGVuZCB1bnR1ayBwZW5nYXR1cmFuIEFkbWluS2F0YWxvZ1VtdW0gZGkgYXJlYSBhZG1pbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnS2F0YWxvZyBVbXVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0ZXIgdW50dWsgMiBjb250b2gga29tZW50YXIgZGFyaSBhdHJpYnV0IGthdGFsb2cgdW11bS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldGVyIHVudHVrIGdydXAgY29ub3RoIHBlcml6aW5hbiBkYXJpIGF0cmlidXQga2F0YWxvZyB1bXVtLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/it_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Oml0X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW56aW9uYWxpdMOgJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdHZXN0aW9uZSBkZWwgQ2F0YWxvZ28gR2VuZXJhbGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICdFbGVtZW50aSBuZWxsYSBDbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnTW9kaWZpY2EgRWxlbWVudG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnQWdnaXVuZ2kgQ2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnQWdnaXVuZ2kgRWxlbWVudG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdBZ2dpdW5naSBFbGVtZW50byBhbCBDYXRhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0FnZ2l1bmdpIENsYXNzZSBhbCBDYXRhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnQ2xhc3NlIGRpIENhdGFsb2dvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnTW9kaWZpY2EgZWxlbWVudG8gZGkgY2F0YWxvZ28nOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ0xvIHN0YXRvIGRlbGxcJ2luY2lkZW50ZSBkaSBhdnZpc28gbm9uIHB1w7IgZXNzZXJlIGltcG9zdGF0byBzdSBub24gdmFsaWRvLic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ0NvbW1lbnRvIDInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdDcmVhIGUgZ2VzdGlzY2kgaWwgQ2F0YWxvZ28gR2VuZXJhbGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ0RlZmluaXNjaSBpbCBjb21tZW50byAyIGRlbCBjYXRhbG9nbyBnZW5lcmFsZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnU3BlY2lmaWNhIGlsIHBlcmNvcnNvIGRlbGxcJ1VSTCBkZWwgc2VsZXR0b3JlIGRpIGNvbG9yaSBKUy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ01vZHVsbyBkaSByZWdpc3RyYXppb25lIHBlciBsYSBjb25maWd1cmF6aW9uZSBkaSBBZG1pbkdlbmVyYWxDYXRhbG9nIG5lbGxcJ2FyZWEgZGkgYWRtaW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0NhdGFsb2dvIEdlbmVyYWxlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0cmkgcGVyIGlsIGNvbW1lbnRvIGRpIGVzZW1waW8gMiBkZWdsaSBhdHRyaWJ1dGkgZGVsIGNhdGFsb2dvIGdlbmVyYWxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0cmkgcGVyIGkgZ3J1cHBpIGRpIHBlcm1lc3NpIGRpIGVzZW1waW8gZGVnbGkgYXR0cmlidXRpIGRlbCBjYXRhbG9nbyBnZW5lcmFsZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJ0dydXBwbyBkaSBhdXRvcml6emF6aW9uaSc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/ja_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmphX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfmqZ/og70nOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICfjgq/jg6njgrnjgafpoIXnm67jgpLntZ7jgorovrzjgb/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAn5LiA6Iis44Kr44K/44Ot44Kw44Gu44Kv44Op44K544KS6Kit5a6a44GX44G+44GZ44CCJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ+OCuOOCp+ODjeODqeODq+ODu+OCq+OCv+ODreOCsOeuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJ+OCr+ODqeOCueWGheOBruOCouOCpOODhuODoCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICfjgqLjgqTjg4bjg6DjgpLkv67mraMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAn44Kv44Op44K544Gu6L+95YqgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAn44Ki44Kk44OG44Og44KS6L+95YqgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJ+eEoeWKueOBqumgheebruOCkuWQq+OCgeOCiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAn44Kr44K/44Ot44Kw6aCF55uu44KS6L+95YqgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn44Kr44K/44Ot44Kw44Kv44Op44K544KS6L+95YqgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICfjgq/jg6njgrnjga7jgqvjgr/jg63jgrAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICfjgqvjgr/jg63jgrDjg7vjgqLjgqTjg4bjg6DjgpLkv67mraMnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ+itpuWRiuOCpOODs+OCt+ODh+ODs+ODiOOBruOCueODhuODvOOCv+OCueOCkueEoeWKueOBq+ioreWumuOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCk+OAgic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ+OCs+ODoeODs+ODiDInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICfjgrjjg6Pjg43jg6njg6vjg7vjgqvjgr/jg63jgrDjga7kvZzmiJDjgajnrqHnkIbjgZfjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ+OCuOOCp+ODjeODqeODq+ODu+OCq+OCv+ODreOCsOOBruOCs+ODoeODs+ODiCAy44KS5a6a576p44GX44G+44GZ44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdKUyDjgqvjg6njg7zjg5Tjg4Pjgqvjg7zjga4gVVJMIOODkeOCueOCkuWumue+qeOBl+OBvuOBmeOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJ+ODgOOCpOODiuODn+ODg+OCr+ODleOCo+ODvOODq+ODieODu+S4gOiIrOOCq+OCv+ODreOCsOODu+ODkOODg+OCr+OCqOODs+ODiSBHVUknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ+euoeeQhueUu+mdouOBriBBZG1pbkdlbmVyYWxDYXRhbG9nIOioreWumueUqOOBruODleODreODs+ODiOOCqOODs+ODieODouOCuOODpeODvOODq+OBrueZu+mMsuOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfkuIDoiKzjgqvjgr/jg63jgrAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICfkuIDoiKzjgqvjgr/jg63jgrAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ+S4gOiIrOOCq+OCv+ODreOCsOWxnuaAp+OBruOCs+ODoeODs+ODiDLjga7kvovjga7jg5Hjg6njg6Hjg7zjgr/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn5LiA6Iis44Kr44K/44Ot44Kw5bGe5oCn44Gu5qip6ZmQ44Kw44Or44O844OX5L6L44Gu44OR44Op44Oh44O844K/44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICfmqKnpmZDjgrDjg6vjg7zjg5cnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/ko_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmtvX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/lt_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omx0X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/lv_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Omx2X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/mk_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om1rX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICfQntC/0YjRgiDQmtCw0YLQsNC70L7QsyDQnNC10L3QsNGf0LzQtdC90YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ9CU0L7QtNCw0LTQuCDQmtCw0YLQsNC70L7QsyDRgdGC0LDQstC60LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICfQlNC+0LTQsNC00Lgg0JrQsNGC0LDQu9C+0LMg0JrQu9Cw0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAn0JrQsNGC0LDQu9C+0LMg0JrQu9Cw0YHQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAn0JTQvtC00LDQtNC4INC4INCc0LXQvdCw0Z/QuNGA0LDRmCDQs9C+INCe0L/RiNGC0LjQvtGCINCa0LDRgtCw0LvQvtCzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ9Cf0L7Qt9Cw0LTQuNC90YHQutC4INC80L7QtNGD0Lsg0YDQtdCz0LjRgdGC0YDQsNGG0LjRmNCwINC30LAg0JDQtNC80LjQvdCe0L/RiNGC0JrQsNGC0LDQu9C+0LMg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGY0LAg0LLQviDQsNC00LzQuNC9INC00LXQuy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAn0J7Qv9GI0YIg0JrQsNGC0LDQu9C+0LMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ9Cf0LDRgNCw0LzQtdGC0LDRgCDQt9CwINC/0YDQuNC80LXRgCDQutC+0LzQtdC90YLQsNGAIDIg0L7QtCDQvtC/0YjRgiDQutCw0YLQsNC70L7QsyDQsNGC0YDQuNCx0YPRgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICfQn9Cw0YDQsNC80LXRgtGA0Lgg0LfQsCDQv9GA0LjQvNC10YAg0LTQvtC30LLQvtC70LjRgtC1INC30LAg0LPRgNGD0L/QuCDQvtC0INCz0LXQvdC10YDQsNC70L3QuCDQutCw0YLQsNC70L7QsyDQsNGC0YDQuNCx0YPRgtC4Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/ms_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om1zX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5nc2knOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ0thdGFsb2cgUGVuZ3VydXNhbiBHZW5lcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICdUYW1iYWhhbiBJdGVtIEthdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdUYW1iYWggS2VsYXMgS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2VsYXMgS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnQ2lwdGEgZGFuIHVydXMgS2F0YWxvZyBHZW5lcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ01vZHVsIHBlbmRhZnRhcmFuIG11a2EgaGFkYXBhbiBiYWdpIGtvbmZpZ3VyYXNpIEthdGFsb2dVbXVtVGFkYmlyIGRhbGFtIHJ1YW5nYW4gcGVudGFkYmlyLiAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnS2F0YWxvZyBHZW5lcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0ZXIgdW50dWsgY29udG9oIGtvbWVuIDIgcGFkYSBjaXJpLWNpcmkga2F0YWxvZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldGVyIHVudHVrIGNvbnRvaCBrdW1wdWxhbiB5YW5nIGRpYmVuYXJrYW4gcGFkYSBjaXJpLWNpcmkga2F0YWxvZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/nb_NO_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om5iX05PX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rc2pvbmFsaXRldCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnQWRtaW5pc3RyYXNqb24gYXYgR2VuZXJlbGwgS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJ09wcGbDuHJpbmdlciBpIGtsYXNzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICdFbmRyZSBvYmpla3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnTGVnZyB0aWwga2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnTGVnZyB0aWwgb3BwZsO4cmluZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ0xlZ2cgdGlsIGthdGFsb2dvYmpla3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdMZWdnIHRpbCBrYXRhbG9nLWtsYXNzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2F0YWxvZ2tsYXNzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJ1JlZGlnZXIga2F0YWxvZ29wcGbDuHJpbmcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ0hlbmRlbHNlc3N0YXR1cyBmb3IgYWR2YXJzZWwga2FuIGlra2Ugc2V0dGVzIHRpbCB1Z3lsZGlnLic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ0tvbW1lbnRhciAyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnT3BwcmV0dCBvZyBhZG1pbmlzdHLDqXIgZGVuIGdlbmVyZWxsZSBrYXRhbG9nZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICdEZWZpbmVyIGdlbmVyZWxsIGtvbW1lbnRhciAyIHRpbCBrYXRhbG9nZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdEZWZpbmVyZXIgVVJMIGZvciBKUy1mYXJnZXZlbGdlci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ0ZvcnNpZGVtb2R1bC1yZWdpc3RyZXJpbmcgZm9yIEFkbWluR2VuZXJhbENhdGFsb2ctb3Bwc2V0dCBpIGFkbWluLWRlbGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdHZW5lcmVsbCBLYXRhbG9nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0cmUgZm9yIGVrc2VtcGVsa29tbWVudGFyIDIgaSBhdHRyaWJ1dHRlbmUgZm9yIGdlbmVyZWxsIGthdGFsb2cuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRlcmUgZm9yIHRpbGdhbmdzZ3J1cHBlLWVrc2VtcGVsIGkgYXR0cmlidXR0ZW5lIGZvciBnZW5lcmVsbCBrYXRhbG9nLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnVGlsbGF0ZWxzZXNncnVwcGUnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/nl_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6Om5sX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jdGlvbmFsaXRlaXQnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ0NhdGFsb2d1cyBCZWhlZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ0NhdGFsb2d1cy1pdGVtIHRvZXZvZWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0NhdGFsb2d1cy1rbGFzc2UgdG9ldm9lZ2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdDYXRhbG9ndXMga2xhc3NlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdBYW5tYWtlbiBlbiBiZWhlcmVuIHZhbiBpdGVtcyBpbiBkZSBjYXRhbG9ndXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGllIHZvb3IgZGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aWUgaW4gaGV0IGJlaGVlciBkZWVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdDYXRhbG9ndXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRlcnMgdm9vciBoZXQgdm9vcmJlZWxkIGNvbW1lbnRhYXIgMiB2YW4gZGUgYWxnZW1lbmUgY2F0YWxvZyBhdHRyaWJ1dGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRlcnMgdm9vciBkZSB2b29yYmVlbGQgcGVyaW1zc2llZ3JvZXBlbiB2YW4gZGUgYWxnZW1lbmUgY2F0YWxvZyBhdHRyaWJ1dGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/pl_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnBsX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rY2pvbmFsbm/Fm8SHJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdaYXJ6xIVkemFuaWUga2F0YWxvZ2llbSBnxYLDs3dueW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICdFbGVtZW50eSBrbGFzeSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICdFZHl0dWogZWxlbWVudCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICdEb2RhaiBrbGFzxJknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICdEb2RhaiBlbGVtZW50JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnRG9kYWogZWxlbWVudCBrYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0RvZGFqIGtsYXPEmSBrYXRhbG9ndSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2xhc2Ega2F0YWxvZ3UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICdFZHl0dWogZWxlbWVudCBrYXRhbG9ndSc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnS29tZW50YXJ6IDInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdVdHfDs3J6IGkgemFyesSFZHphaiBrYXRhbG9naWVtIGfFgsOzd255bS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ0RlZmluaXVqZSBrb21lbnRhcnogMiBkbyBrYXRhbG9ndSBnxYLDs3duZWdvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICdEZWZpbml1amUgVVJMIGRvIEpTIENvbG9yIFBpY2tlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnUmVqZXN0cmFjamEgbW9kdcWCdSBmcm9udGVuZCBkbyBrb25maWd1cmFjamkgbW9kdcWCdSBBZG1pbkdlbmVyYWxDYXRhbG9nIHcgcGFuZWx1IGFkbWluaXN0cmF0b3JhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICdLYXRhbG9nIGfFgsOzd255JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXJhbWV0cnkgZG8gcHJ6eWvFgmFkb3dlZ28ga29tZW50YXJ6YSAyIGF0cnlidXTDs3cga2F0YWxvZ3UgZ2VuZXJhbG5lZ28uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRyeSBkbGEgcHJ6eWvFgmFkb3d5Y2ggZ3J1cCB1cHJhd25pZcWEIGF0cnlidXTDs3cga2F0YWxvZ3UgZ8WCw7N3bmVnby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJ0dydXBhIFVwcmF3bmllxYQnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/pt_BR_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnB0X0JSX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxpZGFkZSc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnR2VyZW5jaWFtZW50byBkbyBDYXTDoWxvZ28gR2VyYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICdJdGVucyBuYSBDbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnQWx0ZXJhciBJdGVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJ0FkaWNpb25hciBDbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICdBZGljaW9uYXIgSXRlbSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ0FkaWNpb25hciBJdGVtIGFvIENhdMOhbG9nbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0FkaWNpb25hciBDbGFzc2UgYW8gQ2F0w6Fsb2dvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICdDbGFzc2UgZG8gQ2F0w6Fsb2dvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnQWx0ZXJhciBJdGVtIGRvIENhdMOhbG9nbyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnQ29tZW50w6FyaW8gMic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ0NyaWFyIGUgZ2VyZW5jaWFyIG8gQ2F0w6Fsb2dvIEdlcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnRGVmaW5hIG8gY29tZW50w6FyaW8gMiBkbyBjYXTDoWxvZ28gZ2Vuw6lyaWNvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnRGVmaW5lIG8gY2FtaW5obyBVUkwgSlMgQ29sb3IgUGlja2V0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnTcOzZHVsbyBkZSByZWdpc3RvIGRhIGludGVyZmFjZSBwYXJhIGEgY29uZmlndXJhw6fDo28gQWRtaW5HZW5lcmFsQ2F0YWxvZyBuYSDDoXJlYSBhZG1pbmlzdHJhdGl2YS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnQ2F0w6Fsb2dvIEdlcmFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXLDom1ldHJvcyBwYXJhIG8gY29tZW50w6FyaW8gZGUgZXhlbXBsbyAyIGRvcyBhdHJpYnV0b3MgZG8gY2F0w6Fsb2dvIGdlcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdQYXLDom1ldHJvcyBkbyBncnVwb3MgZGUgcGVybWlzc8OjbyBkZSBleGVtcGxvIGRvcyBhdHJpYnV0b3MgZG8gY2F0w6Fsb2dvIGdlcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/pt_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnB0X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jaW9uYWxpZGFkZSc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnR2VzdMOjbyBkbyBDYXTDoWxvZ28gR2VyYWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICdJdGVtcyBuYSBDbGFzc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnRWRpdGFyIEl0ZW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnQWRpY2lvbmFyIENsYXNzZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJ0FkaWNpb25hciBJdGVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnQWRpY2lvbmFyIEl0ZW0gYW8gQ2F0w6Fsb2dvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnQWRpY2lvbmFyIENsYXNzZSBhbyBDYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ0NsYXNzZSBkbyBDYXTDoWxvZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICdFZGl0YXIgSXRlbSBkbyBDYXTDoWxvZ28nOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ0NvbWVudMOhcmlvIDInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdDcmlhciBlIGdlcmlyIG8gQ2F0w6Fsb2dvIEdlcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnRGVmaW5pciBvIENhdMOhbG9nbyBHZXJhbCBjb21lbnTDoXJpbyAyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnRGVmaW5pciBvIFVSTCBwYXJhIG8gY2FtaW5obyBkbyBKUyBDb2xvciBQaWNrZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ03Ds2R1bG8gZGUgcmVnaXN0byBkYSBpbnRlcmZhY2UgcGFyYSBhIGNvbmZpZ3VyYcOnw6NvIEFkbWluR2VuZXJhbENhdGFsb2cgbmEgw6FyZWEgYWRtaW5pc3RyYXRpdmEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0NhdMOhbG9nbyBHZXJhbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyw6JtZXRyb3MgcGFyYSBvIGNvbWVudMOhcmlvIGRlIGV4ZW1wbG8gMiBkb3MgYXRyaWJ1dG9zIGRvIGNhdMOhbG9nbyBnZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyw6JtZXRyb3MgcGFyYSBvcyBncnVwb3MgZGUgcGVybWlzc8OjbyBkZSBleGVtcGxvIGRvcyBhdHJpYnV0b3MgZG8gY2F0w6Fsb2dvIGdlcmFsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/ro_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnJvX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5jdGlvbmFsaXRhdGUnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnQWRhdWdhIGFydGljb2wgaW4gY2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdDcmVhemEgc2kgYWRtaW5pc3RyZWF6YSBDYXRhbG9ndWwgR2VuZXJhbC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ1dhcm5pbmcnLAogICAgJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Location="Kernel/Language/ru_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnJ1X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfQpNGD0L3QutGG0LjQvtC90LDQu9GM0L3QvtGB0YLRjCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAn0KPQv9GA0LDQstC70LXQvdC40LUg0J7QsdGJ0LjQvCDQutCw0YLQsNC70L7Qs9C+0LwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICfQrdC70LXQvNC10L3RgiDQsiDQutC70LDRgdGB0LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0Y3Qu9C10LzQtdC90YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAn0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAn0JTQvtCx0LDQstC40YLRjCDRjdC70LXQvNC10L3Rgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ9CU0L7QsdCw0LLQu9C10L3QuNC1INGN0LvQtdC80LXQvdGC0LAg0LrQsNGC0LDQu9C+0LPQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ9CU0L7QsdCw0LLQu9C10L3QuNC1INC60LvQsNGB0YHQsCDQutCw0YLQsNC70L7Qs9CwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICfQmtC70LDRgdGBINC60LDRgtCw0LvQvtCz0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICfQn9GA0LDQstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQutCw0YLQsNC70L7Qs9CwJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICfQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1INCh0L7RgdGC0L7Rj9C90LjQtSDQuNC90YbQuNC00LXQvdGC0LAg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGD0YHRgtCw0L3QvtCy0LvQtdC90L4g0L3QsCDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L7QtS4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICfQmtC+0LzQvNC10L3RgtCw0YDQuNC5IDInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICfQodC+0LfQtNCw0L3QuNC1INC4INGD0L/RgNCw0LLQu9C10L3QuNC1INCe0LHRidC40Lwg0LrQsNGC0LDQu9C+0LPQvtC8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICfQntC/0YDQtdC00LXQu9C40YLQtSDQutC+0LzQvNC10L3RgtCw0YDQuNC5IDIg0Log0L7QsdGJ0LXQvNGDINC60LDRgtCw0LvQvtCz0YMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICfQl9Cw0LTQsNC10YIg0L/Rg9GC0YwgVVJMIEpTIENvbG9yIFBpY2tlci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ01vZHVsZSByZWdpc3RyYXRpb24g0LTQu9GPINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCBBZG1pbkdlbmVyYWxDYXRhbG9nINCyINC/0LDQvdC10LvQuCDQsNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfQntCx0YnQuNC5INC60LDRgtCw0LvQvtCzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICfQlNC+0LHQsNCy0LvQtdC90LjQtSDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtCz0L4g0LrQvtC80LzQtdC90YLQsNGA0LjRjyDQuiDQsNGC0YDQuNCx0YPRgtCw0Lwg0J7QsdGJ0LXQs9C+INC60LDRgtCw0LvQvtCz0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNGLINC00LvRjyDQv9GA0LjQvNC10YDQvdGL0YUg0LPRgNGD0L/Qv9C+0LLRi9GFINC/0YDQsNCyINC00LvRjyDQsNGC0YDQuNCx0YPRgtC+0LIg0J7QsdGJ0LXQs9C+INC60LDRgtCw0LvQvtCz0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJ9CT0YDRg9C/0L/QsCDRgNCw0LfRgNC10YjQtdC90LjQuSc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sk_SK_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNrX1NLX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sl_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNsX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sr_Cyrl_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNyX0N5cmxfR2VuZXJhbENhdGFsb2c7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICAjIFRlbXBsYXRlOiBBQUFHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnVuY3Rpb25hbGl0eSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAn0JrQvtC80LXQvdGC0LDRgCAyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAn0JrRgNC10LjRgNCw0ZrQtSDQuCDRg9C/0YDQsNCy0ZnQsNGa0LUg0L7Qv9GI0YLQuNC8INC60LDRgtCw0LvQvtCz0L7QvC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ9CU0LXRhNC40L3QuNGI0LUg0LrQvtC80LXQvdGC0LDRgCAyINGDINC+0L/RiNGC0LXQvCDQutCw0YLQsNC70L7Qs9GDLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAn0JTQtdGE0LjQvdC40YjQtSBVUkwg0L/Rg9GC0LDRmtGDINC30LAgSlMgQ29sb3IgUGlja2VyLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAn0KDQtdCz0LjRgdGC0YDQsNGG0LjRmNCwINC/0YDQuNGB0YLRg9C/0L3QvtCzINC80L7QtNGD0LvQsCDQt9CwIEFkbWluR2VuZXJhbENhdGFsb2cg0YMg0LjQvdGC0LXRgNGE0LXRmNGB0YMg0LDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAn0J7Qv9GI0YLQuCDQutCw0YLQsNC70L7Qsyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNC4INC30LAg0L/RgNC40LzQtdGAINC60L7QvNC10L3RgtCw0YDQsCAyINCw0YLRgNC40LHRg9GC0LAg0L7Qv9GI0YLQtdCzINC60LDRgtCw0LvQvtCz0LAuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ9Cf0LDRgNCw0LzQtdGC0YDQuCDQt9CwINC/0YDQuNC80LXRgCDQs9GA0YPQv9C1INC30LAg0LTQvtC30LLQvtC70LUg0LDRgtGA0LjQsdGD0YLQsCDQvtC/0YjRgtC10LMg0LrQsNGC0LDQu9C+0LPQsC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJ9CT0YDRg9C/0LAg0L/RgNC40YHRgtGD0L/QsCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sr_Latn_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnNyX0xhdG5fR2VuZXJhbENhdGFsb2c7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICAjIFRlbXBsYXRlOiBBQUFHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnVuY3Rpb25hbGl0eSd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0l0ZW1zIGluIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBpbnZhbGlkIGl0ZW1zJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnS29tZW50YXIgMic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ0tyZWlyYW5qZSBpIHVwcmF2bGphbmplIG9wxaF0aW0ga2F0YWxvZ29tLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnRGVmaW5pxaFlIGtvbWVudGFyIDIgdSBvcMWhdGVtIGthdGFsb2d1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnRGVmaW5pxaFlIFVSTCBwdXRhbmp1IHphIEpTIENvbG9yIFBpY2tlci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJhY2lqYSBwcmlzdHVwbm9nIG1vZHVsYSB6YSBBZG1pbkdlbmVyYWxDYXRhbG9nIHUgaW50ZXJmZWpzdSBhZG1pbmlzdHJhdG9yYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnT3DFoXRpIGthdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1BhcmFtZXRyaSB6YSBwcmltZXIga29tZW50YXJhIDIgYXRyaWJ1dGEgb3DFoXRlZyBrYXRhbG9nYS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldHJpIHphIHByaW1lciBncnVwZSB6YSBkb3p2b2xlIGF0cmlidXRhIG9wxaF0ZWcga2F0YWxvZ2EuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Blcm1pc3Npb24gR3JvdXAnfSA9ICdHcnVwYSBwcmlzdHVwYSc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/sv_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnN2X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdGdW5rdGlvbmFsaXRldCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnSGFudGVyYSBncnVuZGthdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ0zDpGdnIHRpbGwga2F0YWxvZ3Bvc3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgQ2xhc3MnfSA9ICdMw6RnZyB0aWxsIGtsYXNzIGkga2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYXRhbG9nIENsYXNzJ30gPSAnS2F0YWxvZ2tsYXNzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdTa2FwYSBvY2ggaGFudGVyYSBncnVuZGthdGFsb2dlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ1JlZ2lzdHJlcmluZyBhdiBmcm9udGVuZG1vZHVsIGbDtnIgQWRtaW5HZW5lcmFsQ2F0YWxvZy1pbnN0w6RsbG5pbmdhciBpIGFkbWluYXJlYW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0dydW5ka2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldHJhciBmw7ZyIGV4ZW1wZWxrb21tZW50YXIgMiBpIGF0dHJpYnV0ZW4gZsO2ciBncnVuZGthdGFsb2dlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnUGFyYW1ldHJhciBmw7ZyIGV4ZW1wZWwgcMOlIGJlaMO2cmlnaGV0c2VncnVwcGVyIGkgZ3J1bmRrYXRhbG9nZW5zIGF0dHJpYnV0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/sw_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnN3X0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdVdGVuZGFqaSc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAnVXNpbWFtaXppIHdhIGthdGFsb2dpIHdhIHVqdW1sYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnT25nZXphIGtpcGVuZ2VsZSB5YSBrYXRhbG9naSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ09uZ2V6YSB0YWJha2EgbGEga2F0YWxvZ2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ1RhYmFrYSBsYSBrYXRhbG9naSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IENhdGFsb2cgSXRlbSd9ID0gJyc7CgogICAgIyBKUyBGaWxlOiBJVFNNLkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWVudCAyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhbmQgbWFuYWdlIHRoZSBHZW5lcmFsIENhdGFsb2cuJ30gPSAnVGVuZ2VuZXphIG5hIHNpbWFtaWEgS2F0YWxvZ2kgeWEgdWp1bWxhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ1VzYWppbGkgd2EgbW9kdWxpIHlhIG1hemluZ2lyYSB5YSBtYmVsZSBrd2EgdXNhbmlkaSB3YSBrYXRhbG9naSB5YSB1anVtbGEgeWEgbXNpbWFtaXppIGthdGlrYSBlbmVvIGxhIHVzaW1hbWl6aS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnS2F0YWxvZ2kgeWEgdWp1bWxhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdWaWdlem8ga3dhIG1mYW5vIE1hb25pIDIgeWEgc2lmYSB6YSBrYXRhbG9naSB6YSB1anVtbGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1ZpZ2V6byBrd2EgbWZhbm8gcnVodXNhIHphIHZpa3VuZGkga3dhIHNpZmEgemEga2F0YWxvZ2kgemEgdWp1bWxhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/th_TH_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnRoX1RIX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfguJ/guLHguIfguIHguYzguIrguLHguYjguJnguIHguLLguKPguJfguLPguIfguLLguJknOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ+C4geC4suC4o+C4iOC4seC4lOC4geC4suC4o+C5geC4hOC5h+C4leC4leC4suC4peC5h+C4reC4geC4l+C4seC5iOC4p+C5hOC4myc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAn4LmA4Lie4Li04LmI4Lih4Lij4Liy4Lii4LiB4Liy4Lij4LmB4LiE4LmH4LiV4LiV4Liy4Lil4LmH4Lit4LiBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn4LmA4Lie4Li04LmI4Lih4Lir4LmJ4Lit4LiH4LmB4LiE4LmH4LiV4LiV4Liy4Lil4LmH4Lit4LiBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICfguKvguYnguK3guIfguYHguITguYfguJXguJXguLLguKXguYfguK3guIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ+C4quC4o+C5ieC4suC4h+C5geC4peC4sOC4iOC4seC4lOC4geC4suC4o+C5geC4hOC5h+C4leC4leC4suC4peC5h+C4reC4geC4l+C4seC5iOC4p+C5hOC4myc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJ+C4geC4suC4o+C4peC4h+C4l+C4sOC5gOC4muC4teC4ouC4meC5guC4oeC4lOC4ueC4pSBGcm9udGVuZCDguKrguLPguKvguKPguLHguJrguIHguLLguKPguIHguLPguKvguJnguJTguITguYjguLLguILguK3guIcgQWRtaW5HZW5lcmFsQ2F0YWxvZyDguYPguJnguJ7guLfguYnguJnguJfguLXguYjguILguK3guIfguYHguK3guJTguKHguLTguJknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAn4LmB4LiE4LmH4LiV4LiV4Liy4Lil4LmH4Lit4LiB4LiX4Lix4LmI4Lin4LmE4LibJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWxDYXRhbG9nJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIGNvbW1lbnQgMiBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICfguJ7guLLguKPguLLguKHguLTguYDguJXguK3guKPguYzguKrguLPguKvguKPguLHguJrguJXguLHguKfguK3guKLguYjguLLguIfguITguKfguLLguKHguITguLTguJTguYDguKvguYfguJnguJfguLXguYgyIOC4guC4reC4h+C5geC4hOC5h+C4leC4leC4suC4peC5h+C4reC4geC5geC4reC4leC4l+C4o+C4tOC4muC4tOC4p+C4leC5jOC4l+C4seC5iOC4p+C5hOC4myc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICfguJ7guLLguKPguLLguKHguLTguYDguJXguK3guKPguYzguKrguLPguKvguKPguLHguJrguJXguLHguKfguK3guKLguYjguLLguIfguIHguKXguLjguYjguKHguJfguLXguYjguYTguJTguYnguKPguLHguJrguK3guJnguLjguI3guLLguJXguILguK3guIfguYHguK3guJXguJfguKPguLTguJrguLTguKfguJXguYzguYHguITguYfguJXguJXguLLguKXguYfguK3guIHguJfguLHguYjguKfguYTguJsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/tr_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnRyX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfEsMWfbGV2c2VsbGlrJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGaWx0ZXIgaXRlbXMgYnkgY2xhc3MuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldCB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzLid9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQnfSA9ICdHZW5lbCBLYXRhbG9nIFnDtm5ldGltaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnS2F0YWxvZyDDlmdlc2kgRWtsZXlpbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ0thdGFsb2cgU8SxbsSxZsSxIEVrbGV5aW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ0thdGFsb2cgU8SxbsSxZsSxJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VkaXQgQ2F0YWxvZyBJdGVtJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IElUU00uR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tZW50IDInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICdHZW5lbCBLYXRhbG9nIHnDtm5ldGltaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICdZw7ZuZXRpbSBiw7Zsw7xtw7xuZWtpIEFkbWluR2VuZXJhbENhdGFsb2cgYXlhcmxhcsSxIGnDp2luIMO2bnnDvHogbW9kw7xsIGtheWTEsS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAnR2VuZWwgS2F0YWxvZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAnR2VuZWwga2F0YWxvZyDDtnpuaXRlbGlrbGVyaW5pbiBpa2luY2kgw7ZybmVrIHlvcnVtdW51biBwYXJhbWV0cmVsZXJpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICdHZW5lbCBrYXRhbG9nIMO2em5pdGVsaWtsZXJpbmluIMO2cm5layBpemluIGdydXBsYXLEsW7EsW4gcGFyYW1ldHJlbGVyaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/uk_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnVrX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICfQpNGD0L3QutGG0ZbQvtC90LDQu9GM0L3RltGB0YLRjCc7CgogICAgIyBUZW1wbGF0ZTogQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRmlsdGVyIGl0ZW1zIGJ5IGNsYXNzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXQgdGhlIGdlbmVyYWwgY2F0YWxvZyBjbGFzcy4nfSA9ICcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyBNYW5hZ2VtZW50J30gPSAn0JrQtdGA0YPQstCw0L3QvdGPINC30LDQs9Cw0LvRjNC90LjQvCDQutCw0YLQsNC70L7Qs9C+0LwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSXRlbXMgaW4gQ2xhc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgSXRlbSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIGludmFsaWQgaXRlbXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENhdGFsb2cgSXRlbSd9ID0gJ9CU0L7QtNCw0YLQuCDQtdC70LXQvNC10L3RgiDQutCw0YLQsNC70L7Qs9GDJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn0JTQvtC00LDRgtC4INC60LvQsNGBINC60LDRgtCw0LvQvtCz0YMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ9Ca0LvQsNGBINC60LDRgtCw0LvQvtCz0YMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ9Ch0YLQstC+0YDQuNGC0Lgg0ZYg0LrQtdGA0YPQstCw0YLQuCDQt9Cw0LPQsNC70YzQvdC40Lwg0LrQsNGC0LDQu9C+0LPQvtC8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSB0aGUgZ2VuZXJhbCBjYXRhbG9nIGNvbW1lbnQgMi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEeW5hbWljIEZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBCYWNrZW5kIEdVSSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgQWRtaW5HZW5lcmFsQ2F0YWxvZyBjb25maWd1cmF0aW9uIGluIHRoZSBhZG1pbiBhcmVhLid9ID0KICAgICAgICAnRnJvbnRlbmQg0LzQvtC00YPQu9GMINGA0LXRlNGB0YLRgNCw0YbRltGXINCyINC30L7QvdGWINCw0LTQvNGW0L3RltGB0YLRgNGD0LLQsNC90L3RjyDQtNC70Y8g0LrQvtC90YTRltCz0YPRgNCw0YbRltGXIEFkbWluR2VuZXJhbENhdGFsb2cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbCBDYXRhbG9nJ30gPSAn0JfQsNCz0LDQu9GM0L3QuCDQutCw0YLQsNC70L7Qsyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNC4INC00LvRjyDQv9GA0LjQutC70LDQtNGDINC60L7QvNC10L3RgtCw0YAgMiDQsNGC0YDQuNCx0YPRgtGW0LIg0LfQsNCz0LDQu9GM0L3QvtCz0L4g0LrQsNGC0LDQu9C+0LPRgy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn0J/QsNGA0LDQvNC10YLRgNC4INC00LvRjyDQv9GA0LjQutC70LDQtNGDINC00L7Qt9Cy0L7Qu9GDINCz0YDRg9C/INC30LDQs9Cw0LvRjNC90LjRhSDQsNGC0YDQuNCx0YPRgtGW0LIg0LrQsNGC0LDQu9C+0LPRgy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Language/vi_VN_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnZpX1ZOX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICdDaOG7qWMgbsSDbmcnOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ1F14bqjbiBsw70gZGFuaCBt4bulYyBjaHVuZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAnVGjDqm0gZGFuaCBt4bulYyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBDbGFzcyd9ID0gJ1Row6ptIGzhu5twIGRhbmggbeG7pWMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2F0YWxvZyBDbGFzcyd9ID0gJ0zhu5twIGRhbmggbeG7pWMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ1ThuqFvIHbDoCBxdeG6o24gbMO9IGRhbmggbeG7pWMgY2h1bmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBVUkwgSlMgQ29sb3IgUGlja2VyIHBhdGguJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICfEkMSDbmcga8O9IG3DtC3EkXVuIMSR4buDIGPhuqV1IGjDrG5oIEFkbWluR2VuZXJhbENhdGFsb2cgdHJvbmcgZ2lhbyBkaeG7h24gcXXhuqNuIHRy4buLJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ0RhbmggbeG7pWMgY2h1bmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1RoYW0gc+G7kSBjaG8gY2jDuiB0aMOtY2ggdGjhu6kgMiBj4bunYSB0aHXhu5ljIHTDrW5oIGRhbmggbeG7pWMgY2h1bmcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1BhcmFtZXRlcnMgZm9yIHRoZSBleGFtcGxlIHBlcm1pc3Npb24gZ3JvdXBzIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJ1RoYW0gc+G7kSBjaG8gbmjDs20gY+G6pXAgcGjDqXAgY+G7p2EgdGh14buZYyB0w61uaCBkYW5oIG3hu6VjIGNodW5nLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/zh_CN_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnpoX0NOX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICflip/og70nOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ+ebruW9leeuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJ+S7peS4i+adoeebruWxnuS6juexu++8mic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICfnvJbovpHmnaHnm64nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAn5re75Yqg57G7JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAn5re75Yqg5p2h55uuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAn5re75Yqg55uu5b2V6aG555uuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn5re75Yqg5paw55uu5b2V57G7JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICfnm67lvZXnsbsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICfnvJbovpHnm67lvZXpobnnm64nOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJ+itpuWRiuS6i+S7tueKtuaAgeS4jeiDveiuvue9ruS4uuaXoOaViOOAgic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJ+azqOmHijInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGFuZCBtYW5hZ2UgdGhlIEdlbmVyYWwgQ2F0YWxvZy4nfSA9ICfliJvlu7rlkoznrqHnkIbnm67lvZUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLid9ID0gJ+WumuS5iemAmueUqOebruW9leazqOmHijLjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgVVJMIEpTIENvbG9yIFBpY2tlciBwYXRoLid9ID0gJ+WumuS5iUpT6aKc6Imy6YCJ5oup5Zmo55qE6Lev5b6EVVJM44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R5bmFtaWMgRmllbGRzIEdlbmVyYWxDYXRhbG9nIEJhY2tlbmQgR1VJJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBBZG1pbkdlbmVyYWxDYXRhbG9nIGNvbmZpZ3VyYXRpb24gaW4gdGhlIGFkbWluIGFyZWEuJ30gPQogICAgICAgICflnKjns7vnu5/nrqHnkIbkuK3ms6jlhoznm67lvZXnrqHnkIbmqKHlnZdBZG1pbkdlbmVyYWxDYXRhbG9n55qE5YmN56uv5qih5Z2X44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0dlbmVyYWwgQ2F0YWxvZyd9ID0gJ+ebruW9lSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsQ2F0YWxvZyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBjb21tZW50IDIgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn55uu5b2V5bGe5oCn5qC35L6LLeazqOmHijLnmoTlj4LmlbDorr7nva7jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgcGVybWlzc2lvbiBncm91cHMgb2YgdGhlIGdlbmVyYWwgY2F0YWxvZyBhdHRyaWJ1dGVzLid9ID0KICAgICAgICAn55uu5b2V5bGe5oCn5qC35L6LLeadg+mZkOe7hOeahOWPguaVsOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQZXJtaXNzaW9uIEdyb3VwJ30gPSAn5p2D6ZmQ57uEJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdXYXJuaW5nJywKICAgICdXYXJuaW5nIGluY2lkZW50IHN0YXRlIGNhbiBub3QgYmUgc2V0IHRvIGludmFsaWQuJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Location="Kernel/Language/zh_TW_GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnpoX1RXX0dlbmVyYWxDYXRhbG9nOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUZW1wbGF0ZTogQUFBR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Z1bmN0aW9uYWxpdHknfSA9ICflip/og70nOwoKICAgICMgVGVtcGxhdGU6IEFkbWluRHluYW1pY0ZpZWxkR2VuZXJhbENhdGFsb2cKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ZpbHRlciBpdGVtcyBieSBjbGFzcy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuJ30gPSAnJzsKCiAgICAjIFRlbXBsYXRlOiBBZG1pbkdlbmVyYWxDYXRhbG9nCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCd9ID0gJ+ebrumMhOeuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJdGVtcyBpbiBDbGFzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFZGl0IEl0ZW0nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIENsYXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBJdGVtJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgaW52YWxpZCBpdGVtcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgQ2F0YWxvZyBJdGVtJ30gPSAn5re75Yqg55uu6YyE6aCF55uuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBDYXRhbG9nIENsYXNzJ30gPSAn5re75Yqg5paw55uu6YyE6aGe5YilJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhdGFsb2cgQ2xhc3MnfSA9ICfnm67pjITpoZ7liKUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWRpdCBDYXRhbG9nIEl0ZW0nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogSVRTTS5HZW5lcmFsQ2F0YWxvZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1lbnQgMid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYW5kIG1hbmFnZSB0aGUgR2VuZXJhbCBDYXRhbG9nLid9ID0gJ+WJteW7uuWSjOeuoeeQhuebrumMhCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmUgdGhlIGdlbmVyYWwgY2F0YWxvZyBjb21tZW50IDIuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIFVSTCBKUyBDb2xvciBQaWNrZXIgcGF0aC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHluYW1pYyBGaWVsZHMgR2VuZXJhbENhdGFsb2cgQmFja2VuZCBHVUknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEFkbWluR2VuZXJhbENhdGFsb2cgY29uZmlndXJhdGlvbiBpbiB0aGUgYWRtaW4gYXJlYS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydHZW5lcmFsIENhdGFsb2cnfSA9ICfnm67pjIQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnR2VuZXJhbENhdGFsb2cnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGFyYW1ldGVycyBmb3IgdGhlIGV4YW1wbGUgY29tbWVudCAyIG9mIHRoZSBnZW5lcmFsIGNhdGFsb2cgYXR0cmlidXRlcy4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydQYXJhbWV0ZXJzIGZvciB0aGUgZXhhbXBsZSBwZXJtaXNzaW9uIGdyb3VwcyBvZiB0aGUgZ2VuZXJhbCBjYXRhbG9nIGF0dHJpYnV0ZXMuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUGVybWlzc2lvbiBHcm91cCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnV2FybmluZycsCiAgICAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLicsCiAgICApOwoKfQoKMTsK</File>
        <File Location="Kernel/Modules/AdminDynamicFieldGeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZzsKCnVzZSB2NS4yNDsKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgbmFtZXNwYWNlOjphdXRvY2xlYW47CnVzZSB1dGY4OwoKIyBjb3JlIG1vZHVsZXMKCiMgQ1BBTiBtb2R1bGVzCgojIE9UT0JPIG1vZHVsZXMKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpMYW5ndWFnZSAgICAgICAgICAgICAgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkU2VsZiA9IGJsZXNzIHslUGFyYW19LCAkVHlwZTsKCiAgICAjIFNvbWUgc2V0dXAKICAgICRTZWxmLT57VGVtcGxhdGVGaWxlfSA9ICdBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nJzsKCiAgICAjIHNldCBwb3NzaWJsZSB2YWx1ZXMgaGFuZGxpbmcgc3RyaW5ncwogICAgJFNlbGYtPntFbXB0eVN0cmluZ30gICAgID0gJ19EeW5hbWljRmllbGRzX0VtcHR5U3RyaW5nX0RvbnRfVXNlX0l0X1N0cmluZ19QbGVhc2UnOwogICAgJFNlbGYtPntEdXBsaWNhdGVTdHJpbmd9ID0gJ19EeW5hbWljRmllbGRzX0R1cGxpY2F0ZWRTdHJpbmdfRG9udF9Vc2VfSXRfU3RyaW5nX1BsZWFzZSc7CiAgICAkU2VsZi0+e0RlbGV0ZWRTdHJpbmd9ICAgPSAnX0R5bmFtaWNGaWVsZHNfRGVsZXRlZFN0cmluZ19Eb250X1VzZV9JdF9TdHJpbmdfUGxlYXNlJzsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIFN0b3JlIGxhc3QgZW50aXR5IHNjcmVlbi4KICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpBdXRoU2Vzc2lvbicpLT5VcGRhdGVTZXNzaW9uSUQoCiAgICAgICAgU2Vzc2lvbklEID0+ICRTZWxmLT57U2Vzc2lvbklEfSwKICAgICAgICBLZXkgICAgICAgPT4gJ0xhc3RTY3JlZW5FbnRpdHknLAogICAgICAgIFZhbHVlICAgICA9PiAkU2VsZi0+e1JlcXVlc3RlZFVSTH0sCiAgICApOwoKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0FkZCcgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fQWRkKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQWRkQWN0aW9uJyApIHsKCiAgICAgICAgIyBjaGFsbGVuZ2UgdG9rZW4gY2hlY2sgZm9yIHdyaXRlIGFjdGlvbgogICAgICAgICRMYXlvdXRPYmplY3QtPkNoYWxsZW5nZVRva2VuQ2hlY2soKTsKCiAgICAgICAgcmV0dXJuICRTZWxmLT5fQWRkQWN0aW9uKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQ2hhbmdlJyApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPl9DaGFuZ2UoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdDaGFuZ2VBY3Rpb24nICkgewoKICAgICAgICAjIGNoYWxsZW5nZSB0b2tlbiBjaGVjayBmb3Igd3JpdGUgYWN0aW9uCiAgICAgICAgJExheW91dE9iamVjdC0+Q2hhbGxlbmdlVG9rZW5DaGVjaygpOwoKICAgICAgICByZXR1cm4gJFNlbGYtPl9DaGFuZ2VBY3Rpb24oCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnVW5kZWZpbmVkIHN1YmFjdGlvbi4nKSwKICAgICk7Cn0KCnN1YiBfQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKICAgIG15ICRQYXJhbU9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgbXkgJUdldFBhcmFtOwoKICAgICMgY2hlY2sgaWYgd2UgY2xvbmUgZnJvbSBhbiBleGlzdGluZyBmaWVsZAogICAgbXkgJENsb25lRmllbGRJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJDbG9uZUZpZWxkSUQiICk7CiAgICBpZiAoJENsb25lRmllbGRJRCkgewogICAgICAgIG15ICRGaWVsZENvbmZpZyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKS0+RHluYW1pY0ZpZWxkR2V0KAogICAgICAgICAgICBJRCA9PiAkQ2xvbmVGaWVsZElELAogICAgICAgICk7CgogICAgICAgICMgaWYgd2UgZm91bmQgYSBmaWVsZCBjb25maWcsIGNvcHkgaXRzIGNvbnRlbnQgZm9yIHVzYWdlIGluIF9TaG93U2NyZWVuCiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSgkRmllbGRDb25maWcpICkgewoKICAgICAgICAgICAgIyBjb3B5IHN0YW5kYXJkIHN0dWZmCiAgICAgICAgICAgIGZvciBteSAkS2V5IChxdyhPYmplY3RUeXBlIEZpZWxkVHlwZSBMYWJlbCBOYW1lIFZhbGlkSUQpKSB7CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkRmllbGRDb25maWctPnskS2V5fTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpdGVyYXRlIG92ZXIgc3BlY2lhbCBzdHVmZiBhbmQgY29weSBpbi1kZXB0aCBjb250ZW50IGFzIGZsYXQgbGlzdAogICAgICAgICAgICBDT05GSUdLRVk6CiAgICAgICAgICAgIGZvciBteSAkQ29uZmlnS2V5ICgga2V5cyAkRmllbGRDb25maWctPntDb25maWd9LT4lKiApIHsKICAgICAgICAgICAgICAgIG5leHQgQ09ORklHS0VZIGlmICRDb25maWdLZXkgZXEgJ1BhcnRPZlNldCc7CgogICAgICAgICAgICAgICAgbXkgJERGRGV0YWlscyA9ICRGaWVsZENvbmZpZy0+e0NvbmZpZ307CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17JENvbmZpZ0tleX0gPSAkREZEZXRhaWxzLT57JENvbmZpZ0tleX07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJEdldFBhcmFte0Nsb25lRmllbGRJRH0gPSAkQ2xvbmVGaWVsZElEOwogICAgfQoKICAgIGZvciBteSAkTmVlZGVkIChxdyhPYmplY3RUeXBlIEZpZWxkVHlwZSBGaWVsZE9yZGVyKSkgewogICAgICAgICRHZXRQYXJhbXskTmVlZGVkfSAvLz0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpLT5HZXRQYXJhbSggUGFyYW0gPT4gJE5lZWRlZCApOwogICAgICAgIGlmICggISRHZXRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdOZWVkICVzJywgJE5lZWRlZCApLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJEZpbHRlclBhcmFtIChxdyhPYmplY3RUeXBlRmlsdGVyIEZpZWxkVHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICAjIGV4dHJhY3QgZmllbGQgdHlwZSBzcGVjaWZpYyBwYXJhbWV0ZXJzLCBlLmcuIE11bHRpVmFsdWUKICAgIFNFVFRJTkc6CiAgICBmb3IgbXkgJFNldHRpbmcgKCAkUGFyYW17RmllbGRUeXBlU2V0dGluZ3N9LT5AKiApIHsKCiAgICAgICAgIyBza2lwIGN1c3RvbSBpbnB1dHMgd2hpY2ggYXJlIGhhbmRsZWQgc2VwYXJhdGVseQogICAgICAgICMgY3VycmVudGx5IG9ubHkgdXNlZCBmb3IgcmVmZXJlbmNlIGZpbHRlciBsaXN0CiAgICAgICAgbmV4dCBTRVRUSU5HIGlmICEkU2V0dGluZy0+e0lucHV0VHlwZX07CgogICAgICAgIG15ICROYW1lID0gJFNldHRpbmctPntDb25maWdQYXJhbU5hbWV9OwogICAgICAgIGlmICggJFNldHRpbmctPntNdWx0aXBsZX0gKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0tPkAqID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSggUGFyYW0gPT4gJE5hbWUgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmFtZSApOwogICAgICAgIH0KCiAgICAgICAgIyB2YWxpZGF0ZSBpbnB1dCBpZiBuZWNlc3NhcnkKICAgICAgICBpZiAoICRTZXR0aW5nLT57TWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgaWYgKCAhJEdldFBhcmFteyROYW1lfSB8fCAoICRTZXR0aW5nLT57TXVsdGlwbGV9ICYmICEkR2V0UGFyYW17JE5hbWV9LT5AKiApICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnTmVlZCAlcycsICROYW1lICksCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IHRoZSBvYmplY3QgdHlwZSBhbmQgZmllbGQgdHlwZSBkaXNwbGF5IG5hbWUKICAgIG15ICRDb25maWdPYmplY3QgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CiAgICBteSAkT2JqZWN0VHlwZU5hbWUgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZHM6Ok9iamVjdFR5cGUnKS0+eyAkR2V0UGFyYW17T2JqZWN0VHlwZX0gfS0+e0Rpc3BsYXlOYW1lfSB8fCAnJzsKICAgIG15ICRGaWVsZFR5cGVOYW1lICA9ICRDb25maWdPYmplY3QtPkdldCgnRHluYW1pY0ZpZWxkczo6RHJpdmVyJyktPnsgJEdldFBhcmFte0ZpZWxkVHlwZX0gfS0+e0Rpc3BsYXlOYW1lfSAgICAgIHx8ICcnOwoKICAgICMgY2hlY2sgbmFtZXNwYWNlIHZhbGlkaXR5CiAgICBteSBAREZOYW1lc3BhY2VzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok5hbWVzcGFjZScpLT5OYW1lc3BhY2VzTGlzdCgKICAgICAgICBTY29wZSA9PiAnRHluYW1pY0ZpZWxkJywKICAgICk7CiAgICBteSAkTmFtZXNwYWNlID0gJyc7CiAgICBpZiAoIEBERk5hbWVzcGFjZXMgJiYgJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gKSB7CiAgICAgICAgJE5hbWVzcGFjZSA9ICggZ3JlcCB7ICRfIGVxICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9IH0gQERGTmFtZXNwYWNlcyApID8gJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gOiAnJzsKICAgIH0KCiAgICByZXR1cm4gJFNlbGYtPl9TaG93U2NyZWVuKAogICAgICAgICVQYXJhbSwKICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgTW9kZSAgICAgICAgICAgPT4gJ0FkZCcsCiAgICAgICAgQnJlYWRjcnVtYlRleHQgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnQWRkICVzIGZpZWxkJywgJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCRGaWVsZFR5cGVOYW1lKSApLAogICAgICAgIE9iamVjdFR5cGVOYW1lID0+ICRPYmplY3RUeXBlTmFtZSwKICAgICAgICBGaWVsZFR5cGVOYW1lICA9PiAkRmllbGRUeXBlTmFtZSwKICAgICAgICBOYW1lc3BhY2UgICAgICA9PiAkTmFtZXNwYWNlLAogICAgKTsKfQoKc3ViIF9BZGRBY3Rpb24gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkUGFyYW1PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgbXkgJUVycm9yczsKICAgIG15ICVHZXRQYXJhbTsKICAgIGZvciBteSAkTmVlZGVkIChxdyhOYW1lIExhYmVsIEZpZWxkT3JkZXIgR2VuZXJhbENhdGFsb2dDbGFzcykpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmVlZGVkICk7CiAgICAgICAgaWYgKCAhJEdldFBhcmFteyROZWVkZWR9ICkgewogICAgICAgICAgICAkRXJyb3JzeyAkTmVlZGVkIC4gJ1NlcnZlckVycm9yJyB9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3JNZXNzYWdlJyB9ID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpOwogICAgICAgIH0KICAgIH0KCiAgICAjIGV4dHJhY3QgZmllbGQgdHlwZSBzcGVjaWZpYyBwYXJhbWV0ZXJzLCBlLmcuIE11bHRpVmFsdWUKICAgIFNFVFRJTkc6CiAgICBmb3IgbXkgJFNldHRpbmcgKCAkUGFyYW17RmllbGRUeXBlU2V0dGluZ3N9LT5AKiApIHsKCiAgICAgICAgIyBza2lwIGN1c3RvbSBpbnB1dHMgd2hpY2ggYXJlIGhhbmRsZWQgc2VwYXJhdGVseQogICAgICAgICMgY3VycmVudGx5IG9ubHkgdXNlZCBmb3IgcmVmZXJlbmNlIGZpbHRlciBsaXN0CiAgICAgICAgbmV4dCBTRVRUSU5HIGlmICEkU2V0dGluZy0+e0lucHV0VHlwZX07CgogICAgICAgIG15ICROYW1lID0gJFNldHRpbmctPntDb25maWdQYXJhbU5hbWV9OwogICAgICAgIGlmICggJFNldHRpbmctPntNdWx0aXBsZX0gKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0tPkAqID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSggUGFyYW0gPT4gJE5hbWUgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmFtZSApOwogICAgICAgIH0KCiAgICAgICAgIyB2YWxpZGF0ZSBpbnB1dCBpZiBuZWNlc3NhcnkKICAgICAgICBpZiAoICRTZXR0aW5nLT57TWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgaWYgKCAhJEdldFBhcmFteyROYW1lfSB8fCAoICRTZXR0aW5nLT57TXVsdGlwbGV9ICYmICEkR2V0UGFyYW17JE5hbWV9LT5AKiApICkgewogICAgICAgICAgICAgICAgJEVycm9yc3sgJE5hbWUgLiAnU2VydmVyRXJyb3InIH0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgICRFcnJvcnN7ICROYW1lIC4gJ1NlcnZlckVycm9yTWVzc2FnZScgfSA9IFRyYW5zbGF0YWJsZSgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpOwoKICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICkgewoKICAgICAgICAjIGNoZWNrIGlmIGZpZWxkIG9yZGVyIGlzIG51bWVyaWMgYW5kIHBvc2l0aXZlCiAgICAgICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gIX4gbXtcQSAoPzogXGQgKSsgXHp9eG1zICkgewoKICAgICAgICAgICAgIyBhZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzCiAgICAgICAgICAgICRFcnJvcnN7RmllbGRPcmRlclNlcnZlckVycm9yfSAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze0ZpZWxkT3JkZXJTZXJ2ZXJFcnJvck1lc3NhZ2V9ID0gVHJhbnNsYXRhYmxlKCdUaGUgZmllbGQgbXVzdCBiZSBudW1lcmljLicpOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJENvbmZpZ1BhcmFtICgKICAgICAgICBxdygKICAgICAgICAgICAgT2JqZWN0VHlwZSBPYmplY3RUeXBlTmFtZSBGaWVsZFR5cGUgRmllbGRUeXBlTmFtZSBQb3NzaWJsZU5vbmUKICAgICAgICAgICAgVmFsaWRJRCBUb29sdGlwIE11bHRpc2VsZWN0IE11bHRpVmFsdWUgTmFtZXNwYWNlCiAgICAgICAgKQogICAgICAgICkKICAgIHsKICAgICAgICAkR2V0UGFyYW17JENvbmZpZ1BhcmFtfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRDb25maWdQYXJhbSApOwogICAgfQoKICAgIGZvciBteSAkRmlsdGVyUGFyYW0gKHF3KE9iamVjdFR5cGVGaWx0ZXIgRmllbGRUeXBlRmlsdGVyIE5hbWVzcGFjZUZpbHRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JEZpbHRlclBhcmFtfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRGaWx0ZXJQYXJhbSApOwogICAgfQoKICAgIGlmICggJEdldFBhcmFte05hbWV9ICkgewoKICAgICAgICAjIGNoZWNrIGlmIG5hbWUgaXMgYWxwaGFudW1lcmljCiAgICAgICAgaWYgKCAkR2V0UGFyYW17TmFtZX0gIX4gbXtcQSAoPzogW2EtekEtWl0gfCBcZCApKyBcen14bXMgKSB7CgogICAgICAgICAgICAjIGFkZCBzZXJ2ZXIgZXJyb3IgZXJyb3IgY2xhc3MKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3J9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9CiAgICAgICAgICAgICAgICBUcmFuc2xhdGFibGUoJ1RoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIG9ubHkgQVNDSUkgbGV0dGVycyBhbmQgbnVtYmVycy4nKTsKICAgICAgICB9CgogICAgICAgICRHZXRQYXJhbXtOYW1lfSA9ICRHZXRQYXJhbXtOYW1lc3BhY2V9ID8gJEdldFBhcmFte05hbWVzcGFjZX0gLiAnLScgLiAkR2V0UGFyYW17TmFtZX0gOiAkR2V0UGFyYW17TmFtZX07CgogICAgICAgICMgY2hlY2sgaWYgbmFtZSBpcyBkdXBsaWNhdGVkCiAgICAgICAgbXkgJUR5bmFtaWNGaWVsZHNMaXN0ID0gJXsKICAgICAgICAgICAgJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkTGlzdCgKICAgICAgICAgICAgICAgIFZhbGlkICAgICAgPT4gMCwKICAgICAgICAgICAgICAgIFJlc3VsdFR5cGUgPT4gJ0hBU0gnLAogICAgICAgICAgICApCiAgICAgICAgfTsKCiAgICAgICAgJUR5bmFtaWNGaWVsZHNMaXN0ID0gcmV2ZXJzZSAlRHluYW1pY0ZpZWxkc0xpc3Q7CgogICAgICAgIGlmICggJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSApIHsKCiAgICAgICAgICAgICMgYWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcwogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlcmUgaXMgYW5vdGhlciBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUuJyk7CiAgICAgICAgfQogICAgfQoKICAgICMgUHJlcGFyZSB0aGUgbXVsdGlzZWxlY3QgYW5kIG11bHRpdmFsdWUgcGFyYW1ldGVycwogICAgaWYgKCBkZWZpbmVkICRHZXRQYXJhbXtNdWx0aXNlbGVjdH0gKSB7CiAgICAgICAgJEdldFBhcmFte011bHRpc2VsZWN0fSA9ICdjaGVja2VkPWNoZWNrZWQnOwogICAgICAgICRHZXRQYXJhbXtNdWx0aVZhbHVlfSAgPSAwOwogICAgfQoKICAgICMgZ2V0IGxheW91dCBvYmplY3QKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgIyB1bmNvcnJlY3RhYmxlIGVycm9ycwogICAgaWYgKCAhJEdldFBhcmFte1ZhbGlkSUR9ICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05lZWQgVmFsaWRJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgIyByZXR1cm4gdG8gYWRkIHNjcmVlbiBpZiBlcnJvcnMKICAgIGlmICglRXJyb3JzKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAlRXJyb3JzLAogICAgICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgICAgIE1vZGUgPT4gJ0FkZCcsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNldCBzcGVjaWZpYyBjb25maWcKICAgIG15ICVGaWVsZENvbmZpZyA9ICgKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gJEdldFBhcmFte1Bvc3NpYmxlTm9uZX0sCiAgICAgICAgVG9vbHRpcCAgICAgID0+ICRHZXRQYXJhbXtUb29sdGlwfSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJEdldFBhcmFte0dlbmVyYWxDYXRhbG9nQ2xhc3N9LAogICAgICAgIE11bHRpc2VsZWN0ICA9PiAkR2V0UGFyYW17TXVsdGlzZWxlY3R9LAogICAgICAgIE11bHRpVmFsdWUgICA9PiAkR2V0UGFyYW17TXVsdGlWYWx1ZX0sCiAgICApOwoKICAgICMgZXh0cmFjdCBmaWVsZCB0eXBlIHNwZWNpZmljIHBhcmFtZXRlcnMsIGUuZy4gTXVsdGlWYWx1ZQogICAgU0VUVElORzoKICAgIGZvciBteSAkU2V0dGluZyAoICRQYXJhbXtGaWVsZFR5cGVTZXR0aW5nc30tPkAqICkgewoKICAgICAgICAjIHNraXAgY3VzdG9tIGlucHV0cyB3aGljaCBhcmUgaGFuZGxlZCBzZXBhcmF0ZWx5CiAgICAgICAgIyBjdXJyZW50bHkgb25seSB1c2VkIGZvciByZWZlcmVuY2UgZmlsdGVyIGxpc3QKICAgICAgICBuZXh0IFNFVFRJTkcgaWYgISRTZXR0aW5nLT57SW5wdXRUeXBlfTsKCiAgICAgICAgbXkgJE5hbWUgPSAkU2V0dGluZy0+e0NvbmZpZ1BhcmFtTmFtZX07CiAgICAgICAgJEZpZWxkQ29uZmlneyROYW1lfSA9ICRHZXRQYXJhbXskTmFtZX07CiAgICB9CgogICAgIyBjcmVhdGUgYSBuZXcgZmllbGQKICAgIG15ICRGaWVsZElEID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkQWRkKAogICAgICAgIE5hbWUgICAgICAgPT4gJEdldFBhcmFte05hbWV9LAogICAgICAgIExhYmVsICAgICAgPT4gJEdldFBhcmFte0xhYmVsfSwKICAgICAgICBGaWVsZE9yZGVyID0+ICRHZXRQYXJhbXtGaWVsZE9yZGVyfSwKICAgICAgICBGaWVsZFR5cGUgID0+ICRHZXRQYXJhbXtGaWVsZFR5cGV9LAogICAgICAgIE9iamVjdFR5cGUgPT4gJEdldFBhcmFte09iamVjdFR5cGV9LAogICAgICAgIENvbmZpZyAgICAgPT4gXCVGaWVsZENvbmZpZywKICAgICAgICBWYWxpZElEICAgID0+ICRHZXRQYXJhbXtWYWxpZElEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CgogICAgaWYgKCAhJEZpZWxkSUQgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnQ291bGQgbm90IGNyZWF0ZSB0aGUgbmV3IGZpZWxkJyksCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkUmVkaXJlY3RTdHJpbmcgPSAiQWN0aW9uPUFkbWluRHluYW1pY0ZpZWxkIjsKCiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtPYmplY3RUeXBlRmlsdGVyfSApICkgewogICAgICAgICRSZWRpcmVjdFN0cmluZyAuPSAiO09iamVjdFR5cGVGaWx0ZXI9IiAuICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGUgPT4gJ1slIERhdGEuRmlsdGVyIHwgdXJpICVdJywKICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgRmlsdGVyID0+ICRHZXRQYXJhbXtPYmplY3RUeXBlRmlsdGVyfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkR2V0UGFyYW17RmllbGRUeXBlRmlsdGVyfSApICkgewogICAgICAgICRSZWRpcmVjdFN0cmluZyAuPSAiO0ZpZWxkVHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte0ZpZWxkVHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gKSApIHsKICAgICAgICAkUmVkaXJlY3RTdHJpbmcgLj0gIjtOYW1lc3BhY2VGaWx0ZXI9IiAuICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGUgPT4gJ1slIERhdGEuRmlsdGVyIHwgdXJpICVdJywKICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgRmlsdGVyID0+ICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KCBPUCA9PiAkUmVkaXJlY3RTdHJpbmcgKTsKfQoKc3ViIF9DaGFuZ2UgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkUGFyYW1PYmplY3QgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpOwogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBteSAlR2V0UGFyYW07CiAgICBmb3IgbXkgJE5lZWRlZCAocXcoT2JqZWN0VHlwZSBGaWVsZFR5cGUpKSB7CiAgICAgICAgJEdldFBhcmFteyROZWVkZWR9ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJE5lZWRlZCApOwogICAgICAgIGlmICggISRHZXRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdOZWVkICVzJywgJE5lZWRlZCApLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJEZpbHRlclBhcmFtIChxdyhPYmplY3RUeXBlRmlsdGVyIEZpZWxkVHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICAjIGdldCB0aGUgb2JqZWN0IHR5cGUgYW5kIGZpZWxkIHR5cGUgZGlzcGxheSBuYW1lCiAgICBteSAkQ29uZmlnT2JqZWN0ICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwogICAgbXkgJE9iamVjdFR5cGVOYW1lID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGRzOjpPYmplY3RUeXBlJyktPnsgJEdldFBhcmFte09iamVjdFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gfHwgJyc7CiAgICBteSAkRmllbGRUeXBlTmFtZSAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZHM6OkRyaXZlcicpLT57ICRHZXRQYXJhbXtGaWVsZFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gICAgICB8fCAnJzsKCiAgICBteSAkRmllbGRJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdJRCcgKTsKICAgIGlmICggISRGaWVsZElEICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05lZWQgSUQnKSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgZGF0YQogICAgbXkgJER5bmFtaWNGaWVsZERhdGEgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyktPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBJRCA9PiAkRmllbGRJRCwKICAgICk7CgogICAgIyBjaGVjayBmb3IgdmFsaWQgZHluYW1pYyBmaWVsZCBjb25maWd1cmF0aW9uCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkRGF0YSkgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdDb3VsZCBub3QgZ2V0IGRhdGEgZm9yIGR5bmFtaWMgZmllbGQgJXMnLCAkRmllbGRJRCApLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJUNvbmZpZzsKCiAgICAjIGV4dHJhY3QgY29uZmlndXJhdGlvbgogICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSggJER5bmFtaWNGaWVsZERhdGEtPntDb25maWd9ICkgKSB7CiAgICAgICAgJUNvbmZpZyA9ICREeW5hbWljRmllbGREYXRhLT57Q29uZmlnfS0+JSo7CiAgICB9CgogICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAlUGFyYW0sCiAgICAgICAgJUdldFBhcmFtLAogICAgICAgICREeW5hbWljRmllbGREYXRhLT4lKiwKICAgICAgICAlQ29uZmlnLAogICAgICAgIElEICAgICAgICAgICAgID0+ICRGaWVsZElELAogICAgICAgIE1vZGUgICAgICAgICAgID0+ICdDaGFuZ2UnLAogICAgICAgIEJyZWFkY3J1bWJUZXh0ID0+ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSggJ0NoYW5nZSAlcyBmaWVsZCcsICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgkRmllbGRUeXBlTmFtZSkgKSwKICAgICAgICBPYmplY3RUeXBlTmFtZSA9PiAkT2JqZWN0VHlwZU5hbWUsCiAgICAgICAgRmllbGRUeXBlTmFtZSAgPT4gJEZpZWxkVHlwZU5hbWUsCiAgICApOwp9CgpzdWIgX0NoYW5nZUFjdGlvbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRQYXJhbU9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgIG15ICRGaWVsZElEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0lEJyApOwogICAgaWYgKCAhJEZpZWxkSUQgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTmVlZCBJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJUVycm9yczsKICAgIG15ICVHZXRQYXJhbTsKICAgIGZvciBteSAkTmVlZGVkIChxdyhOYW1lIExhYmVsIEZpZWxkT3JkZXIgR2VuZXJhbENhdGFsb2dDbGFzcykpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmVlZGVkICk7CiAgICAgICAgaWYgKCAhJEdldFBhcmFteyROZWVkZWR9ICkgewogICAgICAgICAgICAkRXJyb3JzeyAkTmVlZGVkIC4gJ1NlcnZlckVycm9yJyB9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3JNZXNzYWdlJyB9ID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpOwogICAgICAgIH0KICAgIH0KCiAgICAjIGV4dHJhY3QgZmllbGQgdHlwZSBzcGVjaWZpYyBwYXJhbWV0ZXJzLCBlLmcuIE11bHRpVmFsdWUKICAgIFNFVFRJTkc6CiAgICBmb3IgbXkgJFNldHRpbmcgKCAkUGFyYW17RmllbGRUeXBlU2V0dGluZ3N9LT5AKiApIHsKCiAgICAgICAgIyBza2lwIGN1c3RvbSBpbnB1dHMgd2hpY2ggYXJlIGhhbmRsZWQgc2VwYXJhdGVseQogICAgICAgICMgY3VycmVudGx5IG9ubHkgdXNlZCBmb3IgcmVmZXJlbmNlIGZpbHRlciBsaXN0CiAgICAgICAgbmV4dCBTRVRUSU5HIGlmICEkU2V0dGluZy0+e0lucHV0VHlwZX07CgogICAgICAgIG15ICROYW1lID0gJFNldHRpbmctPntDb25maWdQYXJhbU5hbWV9OwogICAgICAgIGlmICggJFNldHRpbmctPntNdWx0aXBsZX0gKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0tPkAqID0gJFBhcmFtT2JqZWN0LT5HZXRBcnJheSggUGFyYW0gPT4gJE5hbWUgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskTmFtZX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmFtZSApOwogICAgICAgIH0KCiAgICAgICAgIyB2YWxpZGF0ZSBpbnB1dCBpZiBuZWNlc3NhcnkKICAgICAgICBpZiAoICRTZXR0aW5nLT57TWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCAkR2V0UGFyYW17JE5hbWV9IHx8ICggJFNldHRpbmctPntNdWx0aXBsZX0gJiYgISRHZXRQYXJhbXskTmFtZX0tPkAqICkgKSB7CiAgICAgICAgICAgICAgICAkRXJyb3JzeyAkTmFtZSAuICdTZXJ2ZXJFcnJvcicgfSAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgJEVycm9yc3sgJE5hbWUgLiAnU2VydmVyRXJyb3JNZXNzYWdlJyB9ID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgZGF0YQogICAgbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKICAgIG15ICREeW5hbWljRmllbGREYXRhICAgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRHZXQoCiAgICAgICAgSUQgPT4gJEZpZWxkSUQsCiAgICApOwoKICAgICMgY2hlY2sgZm9yIHZhbGlkIGR5bmFtaWMgZmllbGQgY29uZmlndXJhdGlvbgogICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZERhdGEpICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnQ291bGQgbm90IGdldCBkYXRhIGZvciBkeW5hbWljIGZpZWxkICVzJywgJEZpZWxkSUQgKSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICkgewoKICAgICAgICAjIGNoZWNrIGlmIGZpZWxkIG9yZGVyIGlzIG51bWVyaWMgYW5kIHBvc2l0aXZlCiAgICAgICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gIX4gbXtcQSAoPzogXGQgKSsgXHp9eG1zICkgewoKICAgICAgICAgICAgIyBhZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzCiAgICAgICAgICAgICRFcnJvcnN7RmllbGRPcmRlclNlcnZlckVycm9yfSAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze0ZpZWxkT3JkZXJTZXJ2ZXJFcnJvck1lc3NhZ2V9ID0gVHJhbnNsYXRhYmxlKCdUaGUgZmllbGQgbXVzdCBiZSBudW1lcmljLicpOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgbXkgJENvbmZpZ1BhcmFtICgKICAgICAgICBxdygKICAgICAgICAgICAgT2JqZWN0VHlwZSBPYmplY3RUeXBlTmFtZSBGaWVsZFR5cGUgRmllbGRUeXBlTmFtZSBQb3NzaWJsZU5vbmUKICAgICAgICAgICAgVmFsaWRJRCBUb29sdGlwIEdlbmVyYWxDYXRhbG9nQ2xhc3MgTXVsdGlzZWxlY3QgTXVsdGlWYWx1ZSBOYW1lc3BhY2UKICAgICAgICApCiAgICAgICAgKQogICAgewogICAgICAgICRHZXRQYXJhbXskQ29uZmlnUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJENvbmZpZ1BhcmFtICk7CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBGaWVsZFR5cGVGaWx0ZXIgTmFtZXNwYWNlRmlsdGVyKSkgewogICAgICAgICRHZXRQYXJhbXskRmlsdGVyUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEZpbHRlclBhcmFtICk7CiAgICB9CgogICAgaWYgKCAkR2V0UGFyYW17TmFtZX0gKSB7CgogICAgICAgICMgY2hlY2sgaWYgbmFtZSBpcyBsb3dlcmNhc2UKICAgICAgICBpZiAoICRHZXRQYXJhbXtOYW1lfSAhfiBte1xBICg/OiBbYS16QS1aXSB8IFxkICkrIFx6fXhtcyApIHsKCiAgICAgICAgICAgICMgYWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcwogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvck1lc3NhZ2V9ID0KICAgICAgICAgICAgICAgIFRyYW5zbGF0YWJsZSgnVGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gb25seSBBU0NJSSBsZXR0ZXJzIGFuZCBudW1iZXJzLicpOwogICAgICAgIH0KCiAgICAgICAgJEdldFBhcmFte05hbWV9ID0gJEdldFBhcmFte05hbWVzcGFjZX0gPyAkR2V0UGFyYW17TmFtZXNwYWNlfSAuICctJyAuICRHZXRQYXJhbXtOYW1lfSA6ICRHZXRQYXJhbXtOYW1lfTsKCiAgICAgICAgIyBjaGVjayBpZiBuYW1lIGlzIGR1cGxpY2F0ZWQKICAgICAgICBteSAlRHluYW1pY0ZpZWxkc0xpc3QgPSAlewogICAgICAgICAgICAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRMaXN0KAogICAgICAgICAgICAgICAgVmFsaWQgICAgICA9PiAwLAogICAgICAgICAgICAgICAgUmVzdWx0VHlwZSA9PiAnSEFTSCcsCiAgICAgICAgICAgICkKICAgICAgICB9OwoKICAgICAgICAlRHluYW1pY0ZpZWxkc0xpc3QgPSByZXZlcnNlICVEeW5hbWljRmllbGRzTGlzdDsKCiAgICAgICAgaWYgKAogICAgICAgICAgICAkRHluYW1pY0ZpZWxkc0xpc3R7ICRHZXRQYXJhbXtOYW1lfSB9ICYmCiAgICAgICAgICAgICREeW5hbWljRmllbGRzTGlzdHsgJEdldFBhcmFte05hbWV9IH0gbmUgJEZpZWxkSUQKICAgICAgICAgICAgKQogICAgICAgIHsKCiAgICAgICAgICAgICMgYWRkIHNlcnZlciBlcnJvciBjbGFzcwogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlcmUgaXMgYW5vdGhlciBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUuJyk7CiAgICAgICAgfQoKICAgICAgICAjIGlmIGl0J3MgYW4gaW50ZXJuYWwgZmllbGQsIGl0J3MgbmFtZSBzaG91bGQgbm90IGNoYW5nZQogICAgICAgIGlmICgKICAgICAgICAgICAgJER5bmFtaWNGaWVsZERhdGEtPntJbnRlcm5hbEZpZWxkfSAmJgogICAgICAgICAgICAkRHluYW1pY0ZpZWxkc0xpc3R7ICRHZXRQYXJhbXtOYW1lfSB9IG5lICRGaWVsZElECiAgICAgICAgICAgICkKICAgICAgICB7CgogICAgICAgICAgICAjIGFkZCBzZXJ2ZXIgZXJyb3IgY2xhc3MKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3J9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7TmFtZVNlcnZlckVycm9yTWVzc2FnZX0gPSBUcmFuc2xhdGFibGUoJ1RoZSBuYW1lIGZvciB0aGlzIGZpZWxkIHNob3VsZCBub3QgY2hhbmdlLicpOwogICAgICAgICAgICAkUGFyYW17SW50ZXJuYWxGaWVsZH0gICAgICAgICAgID0gJER5bmFtaWNGaWVsZERhdGEtPntJbnRlcm5hbEZpZWxkfTsKICAgICAgICB9CiAgICB9CgogICAgIyBQcmVwYXJlIHRoZSBtdWx0aXNlbGVjdCBhbmQgbXVsdGl2YWx1ZSBwYXJhbWV0ZXJzCiAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte011bHRpc2VsZWN0fSApIHsKICAgICAgICAkR2V0UGFyYW17TXVsdGlzZWxlY3R9ID0gJ2NoZWNrZWQ9Y2hlY2tlZCc7CiAgICAgICAgJEdldFBhcmFte011bHRpVmFsdWV9ICA9IDA7CiAgICB9CgogICAgIyB1bmNvcnJlY3RhYmxlIGVycm9ycwogICAgaWYgKCAhJEdldFBhcmFte1ZhbGlkSUR9ICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05lZWQgVmFsaWRJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgIyBDaGVjayBpZiBkeW5hbWljIGZpZWxkIGlzIHByZXNlbnQgaW4gU3lzQ29uZmlnIHNldHRpbmcKICAgIG15ICRVcGRhdGVFbnRpdHkgICAgICAgICAgICAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1VwZGF0ZUVudGl0eScgKSB8fCAnJzsKICAgIG15ICRTeXNDb25maWdPYmplY3QgICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycpOwogICAgbXkgJUR5bmFtaWNGaWVsZE9sZERhdGEgICAgICAgPSAleyREeW5hbWljRmllbGREYXRhfTsKICAgIG15IEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnID0gJFN5c0NvbmZpZ09iamVjdC0+Q29uZmlndXJhdGlvbkVudGl0eUNoZWNrKAogICAgICAgIEVudGl0eVR5cGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICAgICAgRW50aXR5TmFtZSA9PiAkRHluYW1pY0ZpZWxkRGF0YS0+e05hbWV9LAogICAgKTsKICAgIGlmIChASXNEeW5hbWljRmllbGRJblN5c0NvbmZpZykgewoKICAgICAgICAjIEFuIGVudGl0eSBwcmVzZW50IGluIFN5c0NvbmZpZyBjb3VsZG4ndCBiZSBpbnZhbGlkYXRlZC4KICAgICAgICBpZiAoCiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpWYWxpZCcpLT5WYWxpZExvb2t1cCggVmFsaWRJRCA9PiAkR2V0UGFyYW17VmFsaWRJRH0gKQogICAgICAgICAgICBuZSAndmFsaWQnCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRFcnJvcnN7VmFsaWRJREludmFsaWR9ICAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze1ZhbGlkT3B0aW9uU2VydmVyRXJyb3J9ID0gJ0luU2V0dGluZyc7CiAgICAgICAgfQoKICAgICAgICAjIEluIGNhc2UgY2hhbmdpbmcgbmFtZSBhbiBhdXRob3JpemF0aW9uIChVcGRhdGVFbnRpdHkpIHNob3VsZCBiZSBzZW50CiAgICAgICAgZWxzaWYgKCAkRHluYW1pY0ZpZWxkRGF0YS0+e05hbWV9IG5lICRHZXRQYXJhbXtOYW1lfSAmJiAhJFVwZGF0ZUVudGl0eSApIHsKICAgICAgICAgICAgJEVycm9yc3tOYW1lSW52YWxpZH0gICAgICAgICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tJblNldHRpbmdOYW1lU2VydmVyRXJyb3J9ID0gMTsKICAgICAgICB9CiAgICB9CgogICAgIyByZXR1cm4gdG8gY2hhbmdlIHNjcmVlbiBpZiBlcnJvcnMKICAgIGlmICglRXJyb3JzKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAlRXJyb3JzLAogICAgICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgICAgIElEICAgPT4gJEZpZWxkSUQsCiAgICAgICAgICAgIE1vZGUgPT4gJ0NoYW5nZScsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNldCBzcGVjaWZpYyBjb25maWcKICAgIG15ICVGaWVsZENvbmZpZyA9ICgKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gJEdldFBhcmFte1Bvc3NpYmxlTm9uZX0sCiAgICAgICAgVG9vbHRpcCAgICAgID0+ICRHZXRQYXJhbXtUb29sdGlwfSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJEdldFBhcmFte0dlbmVyYWxDYXRhbG9nQ2xhc3N9LAogICAgICAgIE11bHRpc2VsZWN0ICA9PiAkR2V0UGFyYW17TXVsdGlzZWxlY3R9LAogICAgICAgIE11bHRpVmFsdWUgICA9PiAkR2V0UGFyYW17TXVsdGlWYWx1ZX0sCiAgICApOwoKICAgICMgZXh0cmFjdCBmaWVsZCB0eXBlIHNwZWNpZmljIHBhcmFtZXRlcnMsIGUuZy4gTXVsdGlWYWx1ZQogICAgU0VUVElORzoKICAgIGZvciBteSAkU2V0dGluZyAoICRQYXJhbXtGaWVsZFR5cGVTZXR0aW5nc30tPkAqICkgewoKICAgICAgICAjIHNraXAgY3VzdG9tIGlucHV0cyB3aGljaCBhcmUgaGFuZGxlZCBzZXBhcmF0ZWx5CiAgICAgICAgIyBjdXJyZW50bHkgb25seSB1c2VkIGZvciByZWZlcmVuY2UgZmlsdGVyIGxpc3QKICAgICAgICBuZXh0IFNFVFRJTkcgaWYgISRTZXR0aW5nLT57SW5wdXRUeXBlfTsKCiAgICAgICAgbXkgJE5hbWUgPSAkU2V0dGluZy0+e0NvbmZpZ1BhcmFtTmFtZX07CiAgICAgICAgJEZpZWxkQ29uZmlneyROYW1lfSA9ICRHZXRQYXJhbXskTmFtZX07CiAgICB9CgogICAgIyB1cGRhdGUgZHluYW1pYyBmaWVsZCAoRmllbGRUeXBlIGFuZCBPYmplY3RUeXBlIGNhbm5vdCBiZSBjaGFuZ2VkOyB1c2Ugb2xkIHZhbHVlcykKICAgIG15ICRVcGRhdGVTdWNjZXNzID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkVXBkYXRlKAogICAgICAgIElEICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgTmFtZSAgICAgICA9PiAkR2V0UGFyYW17TmFtZX0sCiAgICAgICAgTGFiZWwgICAgICA9PiAkR2V0UGFyYW17TGFiZWx9LAogICAgICAgIEZpZWxkT3JkZXIgPT4gJEdldFBhcmFte0ZpZWxkT3JkZXJ9LAogICAgICAgIEZpZWxkVHlwZSAgPT4gJER5bmFtaWNGaWVsZERhdGEtPntGaWVsZFR5cGV9LAogICAgICAgIE9iamVjdFR5cGUgPT4gJER5bmFtaWNGaWVsZERhdGEtPntPYmplY3RUeXBlfSwKICAgICAgICBDb25maWcgICAgID0+IFwlRmllbGRDb25maWcsCiAgICAgICAgVmFsaWRJRCAgICA9PiAkR2V0UGFyYW17VmFsaWRJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICApOwoKICAgIGlmICggISRVcGRhdGVTdWNjZXNzICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdDb3VsZCBub3QgdXBkYXRlIHRoZSBmaWVsZCAlcycsICRHZXRQYXJhbXtOYW1lfSApLAogICAgICAgICk7CiAgICB9CgogICAgaWYgKAogICAgICAgIEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnCiAgICAgICAgJiYgJER5bmFtaWNGaWVsZE9sZERhdGF7TmFtZX0gbmUgJEdldFBhcmFte05hbWV9CiAgICAgICAgJiYgJFVwZGF0ZUVudGl0eQogICAgICAgICkKICAgIHsKICAgICAgICBTRVRUSU5HOgogICAgICAgIGZvciBteSAkU2V0dGluZ05hbWUgKEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnKSB7CgogICAgICAgICAgICBteSAlU2V0dGluZyA9ICRTeXNDb25maWdPYmplY3QtPlNldHRpbmdHZXQoCiAgICAgICAgICAgICAgICBOYW1lID0+ICRTZXR0aW5nTmFtZSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG5leHQgU0VUVElORyBpZiAhSXNIYXNoUmVmV2l0aERhdGEoIFwlU2V0dGluZyApOwoKICAgICAgICAgICAgJFNldHRpbmd7RWZmZWN0aXZlVmFsdWV9ID1+IHMvJER5bmFtaWNGaWVsZE9sZERhdGF7TmFtZX0vJEdldFBhcmFte05hbWV9L2c7CgogICAgICAgICAgICBteSAkRXhjbHVzaXZlTG9ja0dVSUQgPSAkU3lzQ29uZmlnT2JqZWN0LT5TZXR0aW5nTG9jaygKICAgICAgICAgICAgICAgIE5hbWUgICA9PiAkU2V0dGluZ3tOYW1lfSwKICAgICAgICAgICAgICAgIEZvcmNlICA9PiAxLAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfQogICAgICAgICAgICApOwogICAgICAgICAgICAkU2V0dGluZ3tFeGNsdXNpdmVMb2NrR1VJRH0gPSAkRXhjbHVzaXZlTG9ja0dVSUQ7CgogICAgICAgICAgICAkU3lzQ29uZmlnT2JqZWN0LT5TZXR0aW5nVXBkYXRlKAogICAgICAgICAgICAgICAgJVNldHRpbmcsCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgJFN5c0NvbmZpZ09iamVjdC0+Q29uZmlndXJhdGlvbkRlcGxveSgKICAgICAgICAgICAgQ29tbWVudHMgICAgICA9PiAiRHluYW1pY0ZpZWxkIG5hbWUgY2hhbmdlIiwKICAgICAgICAgICAgRGlydHlTZXR0aW5ncyA9PiBcQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWcsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBGb3JjZSAgICAgICAgID0+IDEsCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkRmlsdGVyU3RyaW5nID0gJyc7CgogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkR2V0UGFyYW17T2JqZWN0VHlwZUZpbHRlcn0gKSApIHsKICAgICAgICAkRmlsdGVyU3RyaW5nIC49ICI7T2JqZWN0VHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmluZyAuPSAiO0ZpZWxkVHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte0ZpZWxkVHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gKSApIHsKICAgICAgICAkRmlsdGVyU3RyaW5nIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgaWYgdGhlIHVzZXIgd291bGQgbGlrZSB0byBjb250aW51ZSBlZGl0aW5nIHRoZSBkeW5hbWljIGZpZWxkLCBqdXN0IHJlZGlyZWN0IHRvIHRoZSBjaGFuZ2Ugc2NyZWVuCiAgICBpZiAoCiAgICAgICAgZGVmaW5lZCAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnQ29udGludWVBZnRlclNhdmUnICkKICAgICAgICAmJiAoICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdDb250aW51ZUFmdGVyU2F2ZScgKSBlcSAnMScgKQogICAgICAgICkKICAgIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+CiAgICAgICAgICAgICAgICAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249Q2hhbmdlO09iamVjdFR5cGU9JER5bmFtaWNGaWVsZERhdGEtPntPYmplY3RUeXBlfTtGaWVsZFR5cGU9JER5bmFtaWNGaWVsZERhdGEtPntGaWVsZFR5cGV9O0lEPSRGaWVsZElEJEZpbHRlclN0cmluZyIKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgb3RoZXJ3aXNlIHJldHVybiB0byBvdmVydmlldwogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCggT1AgPT4gIkFjdGlvbj1BZG1pbkR5bmFtaWNGaWVsZCRGaWx0ZXJTdHJpbmciICk7CiAgICB9Cn0KCnN1YiBfU2hvd1NjcmVlbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICROYW1lc3BhY2UgPSAkUGFyYW17TmFtZXNwYWNlfTsKICAgICRQYXJhbXtEaXNwbGF5RmllbGROYW1lfSA9ICdOZXcnOwoKICAgIGlmICggJFBhcmFte01vZGV9IGVxICdDaGFuZ2UnIHx8ICRQYXJhbXtOYW1lfSApIHsKCiAgICAgICAgaWYgKCAhJFBhcmFte0Nsb25lRmllbGRJRH0gKSB7CiAgICAgICAgICAgICRQYXJhbXtTaG93V2FybmluZ30gICAgICA9ICdTaG93V2FybmluZyc7CiAgICAgICAgICAgICRQYXJhbXtEaXNwbGF5RmllbGROYW1lfSA9ICRQYXJhbXtOYW1lfTsKICAgICAgICB9CgogICAgICAgICMgY2hlY2sgZm9yIG5hbWVzcGFjZQogICAgICAgIGlmICggJFBhcmFte05hbWV9ID1+IC8oLiopLSguKikvICkgewogICAgICAgICAgICAkTmFtZXNwYWNlID0gJDE7CiAgICAgICAgICAgICRQYXJhbXtQbGFpbkZpZWxkTmFtZX0gPSAkMjsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRQYXJhbXtQbGFpbkZpZWxkTmFtZX0gPSAkUGFyYW17TmFtZX07CiAgICAgICAgfQogICAgfQoKICAgIG15ICREeW5hbWljRmllbGRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyk7CgogICAgIyBnZXQgYWxsIGZpZWxkcwogICAgbXkgJER5bmFtaWNGaWVsZExpc3QgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkID0+IDAsCiAgICApOwoKICAgICMgZ2V0IHRoZSBsaXN0IG9mIG9yZGVyIG51bWJlcnMgKGlzIGFscmVhZHkgc29ydGVkKS4KICAgIG15IEBEeW5hbWljZmllbGRPcmRlckxpc3Q7CiAgICBteSAlRHluYW1pY2ZpZWxkTmFtZXNMaXN0OwogICAgZm9yIG15ICREeW5hbWljZmllbGQgKCBAeyREeW5hbWljRmllbGRMaXN0fSApIHsKICAgICAgICBwdXNoIEBEeW5hbWljZmllbGRPcmRlckxpc3QsICREeW5hbWljZmllbGQtPntGaWVsZE9yZGVyfTsKICAgICAgICAkRHluYW1pY2ZpZWxkTmFtZXNMaXN0eyAkRHluYW1pY2ZpZWxkLT57RmllbGRPcmRlcn0gfSA9ICREeW5hbWljZmllbGQtPntMYWJlbH07CiAgICB9CgogICAgIyB3aGVuIGFkZGluZyB3ZSBuZWVkIHRvIGNyZWF0ZSBhbiBleHRyYSBvcmRlciBudW1iZXIgZm9yIHRoZSBuZXcgZmllbGQKICAgIGlmICggJFBhcmFte01vZGV9IGVxICdBZGQnICkgewoKICAgICAgICAjIGdldCB0aGUgbGFzdCBlbGVtZW50IGZyb20gdGhlIG9yZGVyIGxpc3QgYW5kIGFkZCAxCiAgICAgICAgbXkgJExhc3RPcmRlck51bWJlciA9ICREeW5hbWljZmllbGRPcmRlckxpc3RbLTFdOwogICAgICAgICRMYXN0T3JkZXJOdW1iZXIrKzsKCiAgICAgICAgIyBhZGQgdGhpcyBuZXcgb3JkZXIgbnVtYmVyIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QKICAgICAgICBwdXNoIEBEeW5hbWljZmllbGRPcmRlckxpc3QsICRMYXN0T3JkZXJOdW1iZXI7CiAgICB9CgogICAgIyBzaG93IHRoZSBuYW1lcyBvZiB0aGUgb3RoZXIgZmllbGRzIHRvIGVhc2Ugb3JkZXJpbmcKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CiAgICBteSAlT3JkZXJOYW1lc0xpc3Q7CiAgICBteSAkQ3VycmVudGx5VGV4dCA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnQ3VycmVudGx5JykgLiAnOiAnOwogICAgZm9yIG15ICRPcmRlck51bWJlciAoIHNvcnQgQER5bmFtaWNmaWVsZE9yZGVyTGlzdCApIHsKICAgICAgICAkT3JkZXJOYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSA9ICRPcmRlck51bWJlcjsKICAgICAgICBpZiAoICREeW5hbWljZmllbGROYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSAmJiAkT3JkZXJOdW1iZXIgbmUgJFBhcmFte0ZpZWxkT3JkZXJ9ICkgewogICAgICAgICAgICAkT3JkZXJOYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSA9ICRPcmRlck51bWJlciAuICcgLSAnCiAgICAgICAgICAgICAgICAuICRDdXJyZW50bHlUZXh0CiAgICAgICAgICAgICAgICAuICREeW5hbWljZmllbGROYW1lc0xpc3R7JE9yZGVyTnVtYmVyfTsKICAgICAgICB9CiAgICB9CgogICAgIyBoZWFkZXIKICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoKTsKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+TmF2aWdhdGlvbkJhcigpOwoKICAgIG15ICREeW5hbWljRmllbGRPcmRlclN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgID0+IFwlT3JkZXJOYW1lc0xpc3QsCiAgICAgICAgTmFtZSAgICAgICAgICA9PiAnRmllbGRPcmRlcicsCiAgICAgICAgU2VsZWN0ZWRWYWx1ZSA9PiAkUGFyYW17RmllbGRPcmRlcn0gfHwgMSwKICAgICAgICBQb3NzaWJsZU5vbmUgID0+IDAsCiAgICAgICAgVHJhbnNsYXRpb24gICA9PiAwLAogICAgICAgIFNvcnQgICAgICAgICAgPT4gJ051bWVyaWNLZXknLAogICAgICAgIENsYXNzICAgICAgICAgPT4gJ01vZGVybml6ZSBXNzVwYyBWYWxpZGF0ZV9OdW1iZXInLAogICAgKTsKCiAgICBteSAkQ2xhc3NMaXN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyktPkNsYXNzTGlzdCgpOwoKICAgICMgYnVpbGQgZ3JvdXAgc2VsZWN0aW9uCiAgICBteSAkR2VuZXJhbENhdGFsb2dDbGFzc1N0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgPT4gJENsYXNzTGlzdCwKICAgICAgICBOYW1lICAgICAgICAgPT4gJ0dlbmVyYWxDYXRhbG9nQ2xhc3MnLAogICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17Q29uZmlnfXtDbGFzc30gfHwgJzAnLAogICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplIFc1MHBjIFZhbGlkYXRlX1JlcXVpcmVkJywKICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICk7CgogICAgbXkgJE11bHRpVmFsdWVTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIDAgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgICAgICAxID0+IFRyYW5zbGF0YWJsZSgnWWVzJyksCiAgICAgICAgfSwKICAgICAgICBOYW1lICAgICAgID0+ICdNdWx0aVZhbHVlJywKICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtDb25maWd9e011bHRpVmFsdWV9IHx8ICcwJywKICAgICAgICBDbGFzcyAgICAgID0+ICdNb2Rlcm5pemUgVzUwcGMnLAogICAgKTsKCiAgICBteSBAREZOYW1lc3BhY2VzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok5hbWVzcGFjZScpLT5OYW1lc3BhY2VzTGlzdCgKICAgICAgICBTY29wZSA9PiAnRHluYW1pY0ZpZWxkJywKICAgICk7CiAgICBpZiAoQERGTmFtZXNwYWNlcykgewogICAgICAgIG15ICROYW1lc3BhY2VTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICAgPT4gXEBERk5hbWVzcGFjZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gJ05hbWVzcGFjZScsCiAgICAgICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gJE5hbWVzcGFjZSB8fCAnJywKICAgICAgICAgICAgUG9zc2libGVOb25lICA9PiAxLAogICAgICAgICAgICBUcmFuc2xhdGlvbiAgID0+IDAsCiAgICAgICAgICAgIFNvcnQgICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplIFc3NXBjJywKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkTmFtZXNwYWNlJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBOYW1lc3BhY2VTdHJnID0+ICROYW1lc3BhY2VTdHJnLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJVZhbGlkTGlzdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpWYWxpZCcpLT5WYWxpZExpc3QoKTsKCiAgICAjIGNyZWF0ZSB0aGUgVmFsaWRpdHkgc2VsZWN0CiAgICBteSAkVmFsaWRpdHlTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlVmFsaWRMaXN0LAogICAgICAgIE5hbWUgICAgICAgICA9PiAnVmFsaWRJRCcsCiAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtWYWxpZElEfSB8fCAxLAogICAgICAgIFBvc3NpYmxlTm9uZSA9PiAwLAogICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplIFc1MHBjJywKICAgICk7CgogICAgbXkgJFBvc3NpYmxlTm9uZSA9ICRQYXJhbXtDb25maWd9e1Bvc3NpYmxlTm9uZX0gfHwgJzAnOwoKICAgICMgY3JlYXRlIHRyYW5zbGF0YWJsZSB2YWx1ZXMgb3B0aW9uIGxpc3QKICAgIG15ICRQb3NzaWJsZU5vbmVTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIDAgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgICAgICAxID0+IFRyYW5zbGF0YWJsZSgnWWVzJyksCiAgICAgICAgfSwKICAgICAgICBOYW1lICAgICAgID0+ICdQb3NzaWJsZU5vbmUnLAogICAgICAgIFNlbGVjdGVkSUQgPT4gJFBvc3NpYmxlTm9uZSwKICAgICAgICBDbGFzcyAgICAgID0+ICdNb2Rlcm5pemUgVzUwcGMnLAogICAgKTsKCiAgICAjIGRlZmluZSB0b29sdGlwCiAgICBteSAkVG9vbHRpcCA9ICRQYXJhbXtUb29sdGlwfSAvLyAnJzsKCiAgICAjIGNyZWF0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBlbGVtZW50CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdUb29sdGlwJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBUb29sdGlwID0+ICRUb29sdGlwLAogICAgICAgIH0sCiAgICApOwoKICAgIG15ICRSZWFkb25seUludGVybmFsRmllbGQgPSAnJzsKCiAgICAjIEludGVybmFsIGZpZWxkcyBjYW4gbm90IGJlIGRlbGV0ZWQgYW5kIG5hbWUgc2hvdWxkIG5vdCBjaGFuZ2UuCiAgICBpZiAoICRQYXJhbXtJbnRlcm5hbEZpZWxkfSApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnSW50ZXJuYWxGaWVsZCcsCiAgICAgICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKICAgICAgICAkUmVhZG9ubHlJbnRlcm5hbEZpZWxkID0gJ3JlYWRvbmx5JzsKICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkTmFtZSA9ICRQYXJhbXtOYW1lfTsKCiAgICAjIEFkZCB3YXJuaW5nIGluIGNhc2UgdGhlIER5bmFtaWNGaWVsZCBiZWxvbmdzIGEgU3lzQ29uZmlnIHNldHRpbmcuCiAgICBteSAkU3lzQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycpOwoKICAgICMgSW4gY2FzZSBkaXJ0eSBzZXR0aW5nIGRpc2FibGUgZm9ybQogICAgbXkgJElzRGlydHlDb25maWcgPSAwOwogICAgbXkgQElzRGlydHlSZXN1bHQgPSAkU3lzQ29uZmlnT2JqZWN0LT5Db25maWd1cmF0aW9uRGlydHlTZXR0aW5nc0xpc3QoKTsKICAgIG15ICVJc0RpcnR5TGlzdCAgID0gbWFwIHsgJF8gPT4gMSB9IEBJc0RpcnR5UmVzdWx0OwoKICAgIG15IEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnID0gJFN5c0NvbmZpZ09iamVjdC0+Q29uZmlndXJhdGlvbkVudGl0eUNoZWNrKAogICAgICAgIEVudGl0eVR5cGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICAgICAgRW50aXR5TmFtZSA9PiAkRHluYW1pY0ZpZWxkTmFtZSAvLyAnJywKICAgICk7CgogICAgaWYgKEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBPbGROYW1lID0+ICREeW5hbWljRmllbGROYW1lLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICAgICAgZm9yIG15ICRTZXR0aW5nTmFtZSAoQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWcpIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdEeW5hbWljRmllbGRJblN5c0NvbmZpZ1JvdycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBTZXR0aW5nTmFtZSA9PiAkU2V0dGluZ05hbWUsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBWZXJpZnkgaWYgZGlydHkgc2V0dGluZwogICAgICAgICAgICBpZiAoICRJc0RpcnR5TGlzdHskU2V0dGluZ05hbWV9ICkgewogICAgICAgICAgICAgICAgJElzRGlydHlDb25maWcgPSAxOwogICAgICAgICAgICB9CgogICAgICAgIH0KICAgIH0KCiAgICBpZiAoJElzRGlydHlDb25maWcpIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkSW5TeXNDb25maWdEaXJ0eScsCgogICAgICAgICk7CiAgICB9CgogICAgbXkgJEZpbHRlclN0cmcgPSAnJzsKICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmcgLj0gIjtPYmplY3RUeXBlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17T2JqZWN0VHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmcgLj0gIjtGaWVsZFR5cGVGaWx0ZXI9IiAuICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGUgPT4gJ1slIERhdGEuRmlsdGVyIHwgdXJpICVdJywKICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgRmlsdGVyID0+ICRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgaWYgKEBERk5hbWVzcGFjZXMpIHsKICAgICAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgICAgICRGaWx0ZXJTdHJnIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgZ2VuZXJhdGUgb3V0cHV0CiAgICByZXR1cm4gam9pbiAnJywKICAgICAgICAkT3V0cHV0LAogICAgICAgICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkR5bmFtaWNGaWVsZEdlbmVyYWxDYXRhbG9nJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgIEZpbHRlclN0cmcgICAgICAgICAgICAgID0+ICRGaWx0ZXJTdHJnLAogICAgICAgICAgICAgICAgVmFsaWRpdHlTdHJnICAgICAgICAgICAgPT4gJFZhbGlkaXR5U3RyZywKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZE9yZGVyU3RyZyAgID0+ICREeW5hbWljRmllbGRPcmRlclN0cmcsCiAgICAgICAgICAgICAgICBHZW5lcmFsQ2F0YWxvZ0NsYXNzU3RyZyA9PiAkR2VuZXJhbENhdGFsb2dDbGFzc1N0cmcsCiAgICAgICAgICAgICAgICBNdWx0aVZhbHVlU3RyZyAgICAgICAgICA9PiAkTXVsdGlWYWx1ZVN0cmcsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmVTdHJnICAgICAgICA9PiAkUG9zc2libGVOb25lU3RyZywKICAgICAgICAgICAgICAgIFJlYWRvbmx5SW50ZXJuYWxGaWVsZCAgID0+ICRSZWFkb25seUludGVybmFsRmllbGQsCiAgICAgICAgICAgICAgICBUb29sdGlwICAgICAgICAgICAgICAgICA9PiAkVG9vbHRpcCwKICAgICAgICAgICAgfSwKICAgICAgICApLAogICAgICAgICRMYXlvdXRPYmplY3QtPkZvb3RlcjsKfQoKMTsK</File>
        <File Location="Kernel/Modules/AdminGeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWRtaW5HZW5lcmFsQ2F0YWxvZzsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyhJc0hhc2hSZWZXaXRoRGF0YSk7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgc2V0IHByZWYgZm9yIGNvbHVtbnMga2V5CiAgICAkU2VsZi0+e1ByZWZLZXlJbmNsdWRlSW52YWxpZH0gPSAnSW5jbHVkZUludmFsaWQnIC4gJy0nIC4gJFNlbGYtPntBY3Rpb259OwoKICAgIG15ICVQcmVmZXJlbmNlcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJyktPkdldFByZWZlcmVuY2VzKAogICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICApOwoKICAgICRTZWxmLT57SW5jbHVkZUludmFsaWR9ID0gJFByZWZlcmVuY2VzeyAkU2VsZi0+e1ByZWZLZXlJbmNsdWRlSW52YWxpZH0gfTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0CiAgICBteSAkQ29uZmlnT2JqZWN0ICAgICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwogICAgbXkgJFBhcmFtT2JqZWN0ICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpOwogICAgbXkgJExheW91dE9iamVjdCAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwogICAgbXkgJFZhbGlkT2JqZWN0ICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlZhbGlkJyk7CiAgICBteSAkR2VuZXJhbENhdGFsb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKTsKCiAgICAkUGFyYW17SW5jbHVkZUludmFsaWR9ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0luY2x1ZGVJbnZhbGlkJyApOwoKICAgIGlmICggZGVmaW5lZCAkUGFyYW17SW5jbHVkZUludmFsaWR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJyktPlNldFByZWZlcmVuY2VzKAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBLZXkgICAgPT4gJFNlbGYtPntQcmVmS2V5SW5jbHVkZUludmFsaWR9LAogICAgICAgICAgICBWYWx1ZSAgPT4gJFBhcmFte0luY2x1ZGVJbnZhbGlkfSwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+e0luY2x1ZGVJbnZhbGlkfSA9ICRQYXJhbXtJbmNsdWRlSW52YWxpZH07CiAgICB9CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdHZW5lcmFsQ2F0YWxvZzo6RnJvbnRlbmQ6OkpTQ29sb3JQaWNrZXJQYXRoJywKICAgICAgICBWYWx1ZSA9PiAkQ29uZmlnT2JqZWN0LT5HZXQoJ0dlbmVyYWxDYXRhbG9nOjpGcm9udGVuZDo6SlNDb2xvclBpY2tlclBhdGgnKSwKICAgICk7CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBjYXRhbG9nIGl0ZW0gbGlzdAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0l0ZW1MaXN0JyApIHsKICAgICAgICBteSAkQ2xhc3MgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiQ2xhc3MiICkgfHwgJyc7CgogICAgICAgICMgY2hlY2sgbmVlZGVkIGNsYXNzCiAgICAgICAgaWYgKCAhJENsYXNzICkgewogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259IiApOwogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFBhcmFtICAgICA9PiBcJVBhcmFtLAogICAgICAgICAgICAgICAgQ2xhc3MgICAgID0+ICRDbGFzcywKICAgICAgICAgICAgICAgIFN1YmFjdGlvbiA9PiAkU2VsZi0+e1N1YmFjdGlvbn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXdJdGVtJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICBDbGFzcyA9PiAkQ2xhc3MsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnSW5jbHVkZUludmFsaWQnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIEluY2x1ZGVJbnZhbGlkICAgICAgICA9PiAkU2VsZi0+e0luY2x1ZGVJbnZhbGlkfSwKICAgICAgICAgICAgICAgIEluY2x1ZGVJbnZhbGlkQ2hlY2tlZCA9PiAkU2VsZi0+e0luY2x1ZGVJbnZhbGlkfSA/ICdjaGVja2VkJyA6ICcnLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGF2YWlsYWJpbGl0eSBsaXN0CiAgICAgICAgbXkgJVZhbGlkTGlzdCA9ICRWYWxpZE9iamVjdC0+VmFsaWRMaXN0KCk7CgogICAgICAgICMgZ2V0IGNhdGFsb2cgaXRlbSBsaXN0CiAgICAgICAgbXkgJEl0ZW1JRExpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1MaXN0KAogICAgICAgICAgICBDbGFzcyA9PiAkQ2xhc3MsCiAgICAgICAgICAgIFZhbGlkID0+ICRTZWxmLT57SW5jbHVkZUludmFsaWR9ID8gMCA6IDEsCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpdGVtIGxpc3QKICAgICAgICBpZiAoICEkSXRlbUlETGlzdCB8fCAhJXskSXRlbUlETGlzdH0gKSB7CgogICAgICAgICAgICAjIGRpc3BsYXkgYSBubyBkYXRhIGZvdW5kIG1zZwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ05vSXRlbURhdGFGb3VuZE1zZycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZm9yIG15ICRJdGVtSUQgKCBzb3J0IHsgJEl0ZW1JRExpc3QtPnskYX0gY21wICRJdGVtSURMaXN0LT57JGJ9IH0ga2V5cyAleyRJdGVtSURMaXN0fSApIHsKCiAgICAgICAgICAgICAgICAjIGdldCBpdGVtIGRhdGEKICAgICAgICAgICAgICAgIG15ICRJdGVtRGF0YSA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgICAgICAgICAgICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcgaXRlbSBsaXN0CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld0l0ZW1MaXN0JywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgJXskSXRlbURhdGF9LAogICAgICAgICAgICAgICAgICAgICAgICBWYWxpZCA9PiAkVmFsaWRMaXN0eyAkSXRlbURhdGEtPntWYWxpZElEfSB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIEFjdGlvbk92ZXJ2aWV3CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0FjdGlvbkFkZEl0ZW0nLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIEFjdGlvbk92ZXJ2aWV3CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0FjdGlvbk92ZXJ2aWV3JywKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCBoZWFkZXIgYW5kIG5hdmJhcgogICAgICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoKTsKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAgICAgIyBjcmVhdGUgb3V0cHV0IHN0cmluZwogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FkbWluR2VuZXJhbENhdGFsb2cnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICAjIGFkZCBmb290ZXIKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwoKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGNhdGFsb2cgaXRlbSBlZGl0CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnSXRlbUVkaXQnICkgewogICAgICAgIG15ICVJdGVtRGF0YTsKCiAgICAgICAgIyBnZXQgcGFyYW1zCiAgICAgICAgJEl0ZW1EYXRhe0l0ZW1JRH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiSXRlbUlEIiApOwoKICAgICAgICAjIGFkZCBhIG5ldyBjYXRhbG9nIGl0ZW0KICAgICAgICBpZiAoICRJdGVtRGF0YXtJdGVtSUR9IGVxICdORVcnICkgewoKICAgICAgICAgICAgIyBnZXQgY2xhc3MKICAgICAgICAgICAgJEl0ZW1EYXRhe0NsYXNzfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJDbGFzcyIgKTsKCiAgICAgICAgICAgICMgcmVkaXJlY3QgdG8gb3ZlcnZpZXcKICAgICAgICAgICAgaWYgKCAhJEl0ZW1EYXRhe0NsYXNzfSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCggT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn0iICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZWRpdCBhbiBleGlzdGluZyBjYXRhbG9nIGl0ZW0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICMgZ2V0IGl0ZW0gZGF0YQogICAgICAgICAgICBteSAkSXRlbURhdGFSZWYgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1HZXQoCiAgICAgICAgICAgICAgICBJdGVtSUQgPT4gJEl0ZW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIFNlbmQgZGF0YSB0byBKUyBpZiB0aGVyZSBpcyBhIHNwZWNpZmljIHNjcmVlbiAoJ1dhcm5pbmcnIGl0ZW0gaW4gJ0lUU006OkNvcmU6OkluY2lkZW50U3RhdGUnIGNsYXNzKS4KICAgICAgICAgICAgIyBTZWUgYnVnIzE0NjgyLgogICAgICAgICAgICBpZiAoICRJdGVtRGF0YVJlZi0+e0NsYXNzfSBlcSAnSVRTTTo6Q29yZTo6SW5jaWRlbnRTdGF0ZScgJiYgJEl0ZW1EYXRhUmVmLT57TmFtZX0gZXEgJ1dhcm5pbmcnICkgewogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgICAgICAgICAgICAgIEtleSAgID0+ICdXYXJuaW5nSW5jaWRlbnRTdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgVmFsdWUgPT4gMSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgY2hlY2sgaXRlbSBkYXRhCiAgICAgICAgICAgIGlmICggISRJdGVtRGF0YVJlZiApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAlSXRlbURhdGEgPSAleyRJdGVtRGF0YVJlZn07CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBvdmVydmlldwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlldycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgQ2xhc3MgICAgID0+ICRJdGVtRGF0YXtDbGFzc30sCiAgICAgICAgICAgICAgICBTdWJhY3Rpb24gPT4gJFNlbGYtPntTdWJhY3Rpb259LAogICAgICAgICAgICAgICAgSXRlbU5hbWUgID0+ICRJdGVtRGF0YXtOYW1lfSwKICAgICAgICAgICAgICAgIEl0ZW1FZGl0ICA9PiAkSXRlbURhdGF7SXRlbUlEfSBlcSAnTkVXJyA/IDAgOiAxLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgZ2VuZXJhdGUgVmFsaWRPcHRpb25TdHJnCiAgICAgICAgbXkgJVZhbGlkTGlzdCAgICAgICAgPSAkVmFsaWRPYmplY3QtPlZhbGlkTGlzdCgpOwogICAgICAgIG15ICVWYWxpZExpc3RSZXZlcnNlID0gcmV2ZXJzZSAlVmFsaWRMaXN0OwogICAgICAgIG15ICRWYWxpZE9wdGlvblN0cmcgID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJ1ZhbGlkSUQnLAogICAgICAgICAgICBEYXRhICAgICAgID0+IFwlVmFsaWRMaXN0LAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRJdGVtRGF0YXtWYWxpZElEfSB8fCAkVmFsaWRMaXN0UmV2ZXJzZXt2YWxpZH0sCiAgICAgICAgICAgIENsYXNzICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgSXRlbUVkaXQKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnSXRlbUVkaXQnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVJdGVtRGF0YSwKICAgICAgICAgICAgICAgIFZhbGlkT3B0aW9uU3RyZyA9PiAkVmFsaWRPcHRpb25TdHJnLAogICAgICAgICAgICAgICAgSXRlbUVkaXQgICAgICAgID0+ICRJdGVtRGF0YXtJdGVtSUR9IGVxICdORVcnID8gMCA6IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBzaG93IGVhY2ggcHJlZmVyZW5jZXMgc2V0dGluZwogICAgICAgIG15ICVQcmVmZXJlbmNlcyA9ICgpOwogICAgICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzJykgKSB7CiAgICAgICAgICAgICVQcmVmZXJlbmNlcyA9ICV7ICRDb25maWdPYmplY3QtPkdldCgnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcycpIH07CiAgICAgICAgfQoKICAgICAgICBJVEVNOgogICAgICAgIGZvciBteSAkSXRlbSAoCgogICAgICAgICAgICAjIHNvcnQgaXRlbXMgYnkgcHJpb3JpdHkKICAgICAgICAgICAgc29ydCB7CiAgICAgICAgICAgICAgICBpZiAoIGRlZmluZWQgJFByZWZlcmVuY2VzeyRhfXtQcmlvcml0eX0gJiYgZGVmaW5lZCAkUHJlZmVyZW5jZXN7JGJ9e1ByaW9yaXR5fSApIHsKICAgICAgICAgICAgICAgICAgICAkUHJlZmVyZW5jZXN7JGF9e1ByaW9yaXR5fSA8PT4gJFByZWZlcmVuY2VzeyRifXtQcmlvcml0eX07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBzb3J0IGFscGhhYmV0aWNhbGx5IGlmIG5vIHByaW9yaXR5IGlzIGNvbmZpZ3VyZWQKICAgICAgICAgICAgICAgIGVsc2lmICggIWRlZmluZWQgJFByZWZlcmVuY2VzeyRhfXtQcmlvcml0eX0gJiYgIWRlZmluZWQgJFByZWZlcmVuY2VzeyRifXtQcmlvcml0eX0gKSB7CiAgICAgICAgICAgICAgICAgICAgJGEgY21wICRiOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgc29ydCBwcmlvcml0eSBhYm92ZSBub24tcHJpb3JpdHkKICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnQoIGRlZmluZWQgJFByZWZlcmVuY2VzeyRhfXtQcmlvcml0eX0gKSA8PT4gaW50KCBkZWZpbmVkICRQcmVmZXJlbmNlc3skYn17UHJpb3JpdHl9ICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0ga2V5cyAlUHJlZmVyZW5jZXMKICAgICAgICAgICAgKQogICAgICAgIHsKCiAgICAgICAgICAgICMgc2tpcCBpdGVtcyB0aGF0IGRvbid0IGJlbG9uZyB0byB0aGUgY2xhc3MKICAgICAgICAgICAgaWYgKCAkUHJlZmVyZW5jZXN7JEl0ZW19LT57Q2xhc3N9ICYmICRQcmVmZXJlbmNlc3skSXRlbX0tPntDbGFzc30gbmUgJEl0ZW1EYXRhe0NsYXNzfSApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG5leHQgSVRFTTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBmaW5kIG91dHB1dCBtb2R1bGUKICAgICAgICAgICAgbXkgJE1vZHVsZSA9ICRQcmVmZXJlbmNlc3skSXRlbX0tPntNb2R1bGV9CiAgICAgICAgICAgICAgICB8fCAnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXM6OkdlbmVyaWMnOwoKICAgICAgICAgICAgIyBsb2FkIG1vZHVsZQogICAgICAgICAgICBpZiAoICEkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TWFpbicpLT5SZXF1aXJlKCRNb2R1bGUpICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBjcmVhdGUgb2JqZWN0IGZvciB0aGlzIHByZWZlcmVuY2VzIGl0ZW0KICAgICAgICAgICAgbXkgJE9iamVjdCA9ICRNb2R1bGUtPm5ldygKICAgICAgICAgICAgICAgICV7JFNlbGZ9LAogICAgICAgICAgICAgICAgQ29uZmlnSXRlbSA9PiAkUHJlZmVyZW5jZXN7JEl0ZW19LAogICAgICAgICAgICAgICAgRGVidWcgICAgICA9PiAkU2VsZi0+e0RlYnVnfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgc2hvdyBhbGwgcGFyYW1ldGVycwogICAgICAgICAgICBteSBAUGFyYW1zID0gJE9iamVjdC0+UGFyYW0oIEdlbmVyYWxDYXRhbG9nRGF0YSA9PiB7ICVJdGVtRGF0YSwgJVBhcmFtIH0gKTsKICAgICAgICAgICAgZm9yIG15ICRQYXJhbUl0ZW0gKEBQYXJhbXMpIHsKCiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgcmVmKCAkUGFyYW1JdGVtLT57RGF0YX0gKSBlcSAnSEFTSCcKICAgICAgICAgICAgICAgICAgICB8fCByZWYoICRQcmVmZXJlbmNlc3skSXRlbX0tPntEYXRhfSApIGVxICdIQVNIJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkUGFyYW1JdGVtLT57J09wdGlvbid9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICAgICAgICAgICV7ICRQcmVmZXJlbmNlc3skSXRlbX0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgJXskUGFyYW1JdGVtfSwKICAgICAgICAgICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+ICEkUGFyYW1JdGVtLT57TWFuZGF0b3J5fSwKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUnIC4gKCAkUGFyYW1JdGVtLT57TWFuZGF0b3J5fSA/ICcgVmFsaWRhdGVfUmVxdWlyZWQnIDogJycgKSwKICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIHJlZiAkUGFyYW1JdGVtLT57U2VsZWN0ZWRJRH0gZXEgJ0FSUkFZJyAmJiAhJFBhcmFtSXRlbS0+e011bHRpcGxlfSApIHsKICAgICAgICAgICAgICAgICAgICAkUGFyYW1JdGVtLT57U2VsZWN0ZWRJRH0gPSAkUGFyYW1JdGVtLT57U2VsZWN0ZWRJRH1bMF07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUHJlZmVyZW5jZUl0ZW0nLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAleyAkUHJlZmVyZW5jZXN7JEl0ZW19IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICV7JFBhcmFtSXRlbX0sCiAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgPT4gJFBhcmFtSXRlbS0+e0Jsb2NrfSB8fCAkUHJlZmVyZW5jZXN7JEl0ZW19LT57QmxvY2t9IHx8ICdPcHRpb24nLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoICRJdGVtRGF0YXtDbGFzc30gZXEgJ05FVycgKSB7CgogICAgICAgICAgICAjIG91dHB1dCBJdGVtRWRpdENsYXNzQWRkCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnSXRlbUVkaXRDbGFzc0FkZCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBDbGFzcyA9PiAkSXRlbURhdGF7Q2xhc3N9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CgogICAgICAgICAgICAjIG91dHB1dCBJdGVtRWRpdENsYXNzRXhpc3QKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdJdGVtRWRpdENsYXNzRXhpc3QnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgQ2xhc3MgPT4gJEl0ZW1EYXRhe0NsYXNzfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIEFjdGlvbk92ZXJ2aWV3CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0FjdGlvbk92ZXJ2aWV3JywKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCBoZWFkZXIKICAgICAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgICAgICMgY3JlYXRlIG91dHB1dCBzdHJpbmcKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkdlbmVyYWxDYXRhbG9nJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUGFyYW0sCiAgICAgICAgKTsKCiAgICAgICAgIyBhZGQgZm9vdGVyCiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoKTsKCiAgICAgICAgcmV0dXJuICRPdXRwdXQ7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBjYXRhbG9nIGl0ZW0gc2F2ZQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0l0ZW1TYXZlJyApIHsKICAgICAgICBteSAlSXRlbURhdGE7CgogICAgICAgICMgZ2V0IHBhcmFtcwogICAgICAgIGZvciBteSAkUGFyYW0gKHF3KENsYXNzIEl0ZW1JRCBWYWxpZElEIENvbW1lbnQpKSB7CiAgICAgICAgICAgICRJdGVtRGF0YXskUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJFBhcmFtICkgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBuYW1lIHBhcmFtLCBuYW1lIG11c3QgYmUgbm90IGVtcHR5LCBidXQgbnVtYmVyIHplcm8gKDApIGlzIGFsbG93ZWQKICAgICAgICAkSXRlbURhdGF7TmFtZX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnTmFtZScgKTsKCiAgICAgICAgIyBjaGVjayBjbGFzcwogICAgICAgIGlmICggJEl0ZW1EYXRhe0NsYXNzfSBlcSAnTkVXJyApIHsKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KCBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufSIgKTsKICAgICAgICB9CgogICAgICAgICMgc2F2ZSB0byBkYXRhYmFzZQogICAgICAgIG15ICRTdWNjZXNzOwogICAgICAgIG15ICRJdGVtSUQgPSAkSXRlbURhdGF7SXRlbUlEfTsKICAgICAgICBpZiAoICRJdGVtRGF0YXtJdGVtSUR9IGVxICdORVcnICkgewogICAgICAgICAgICAkU3VjY2VzcyA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUFkZCgKICAgICAgICAgICAgICAgICVJdGVtRGF0YSwKICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRJdGVtSUQgPSAkU3VjY2VzczsKCiAgICAgICAgICAgIGlmICgkU3VjY2VzcykgewoKICAgICAgICAgICAgICAgICMgY2hlY2sgaWYgaXRlbSBpcyBmaXJzdCBvZiBjbGFzcwogICAgICAgICAgICAgICAgbXkgJEl0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICAgICAgICAgICAgICBDbGFzcyA9PiAkSXRlbURhdGF7Q2xhc3N9LAogICAgICAgICAgICAgICAgICAgIFZhbGlkID0+IDAsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICMgaWYgc28sIHJlZGlyZWN0IGludG8gZWRpdCBtYXNrIHdpdGggbmV3bHkgY3JlYXRlZCBpdGVtIHRvIGZvcmNlIHNldHRpbmcgcHJlZmVyZW5jZXMgdmFsdWVzCiAgICAgICAgICAgICAgICBpZiAoIElzSGFzaFJlZldpdGhEYXRhKCRJdGVtTGlzdCkgJiYgKCBrZXlzICRJdGVtTGlzdC0+JSogKSA9PSAxICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPUl0ZW1FZGl0O0NsYXNzPSRJdGVtRGF0YXtDbGFzc307SXRlbUlEPSRJdGVtSUQiCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFN1Y2Nlc3MgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1VcGRhdGUoCiAgICAgICAgICAgICAgICAlSXRlbURhdGEsCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBpZiAoICEkU3VjY2VzcyApIHsKICAgICAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICAjIHVwZGF0ZSBwcmVmZXJlbmNlcwogICAgICAgIG15ICRHQ0RhdGEgICAgICA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCggSXRlbUlEID0+ICRJdGVtSUQgKTsKICAgICAgICBteSAlUHJlZmVyZW5jZXMgPSAoKTsKICAgICAgICBteSAkTm90ZSAgICAgICAgPSAnJzsKCiAgICAgICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ0dlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMnKSApIHsKICAgICAgICAgICAgJVByZWZlcmVuY2VzID0gJXsgJENvbmZpZ09iamVjdC0+R2V0KCdHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzJykgfTsKICAgICAgICB9CgogICAgICAgIGZvciBteSAkSXRlbSAoIHNvcnQga2V5cyAlUHJlZmVyZW5jZXMgKSB7CiAgICAgICAgICAgIG15ICRNb2R1bGUgPSAkUHJlZmVyZW5jZXN7JEl0ZW19LT57TW9kdWxlfQogICAgICAgICAgICAgICAgfHwgJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzOjpHZW5lcmljJzsKCiAgICAgICAgICAgICMgbG9hZCBtb2R1bGUKICAgICAgICAgICAgaWYgKCAhJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKS0+UmVxdWlyZSgkTW9kdWxlKSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG15ICRPYmplY3QgPSAkTW9kdWxlLT5uZXcoCiAgICAgICAgICAgICAgICAleyRTZWxmfSwKICAgICAgICAgICAgICAgIENvbmZpZ0l0ZW0gPT4gJFByZWZlcmVuY2VzeyRJdGVtfSwKICAgICAgICAgICAgICAgIERlYnVnICAgICAgPT4gJFNlbGYtPntEZWJ1Z30sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15IEBQYXJhbXMgPSAkT2JqZWN0LT5QYXJhbSggR2VuZXJhbENhdGFsb2dEYXRhID0+ICRHQ0RhdGEgKTsKICAgICAgICAgICAgaWYgKEBQYXJhbXMpIHsKICAgICAgICAgICAgICAgIG15ICVHZXRQYXJhbSA9ICgpOwogICAgICAgICAgICAgICAgZm9yIG15ICRQYXJhbUl0ZW0gKEBQYXJhbXMpIHsKICAgICAgICAgICAgICAgICAgICBteSBAQXJyYXkgPSAkUGFyYW1PYmplY3QtPkdldEFycmF5KCBQYXJhbSA9PiAkUGFyYW1JdGVtLT57TmFtZX0gKTsKICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17ICRQYXJhbUl0ZW0tPntOYW1lfSB9ID0gXEBBcnJheTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAhJE9iamVjdC0+UnVuKAogICAgICAgICAgICAgICAgICAgICAgICBHZXRQYXJhbSA9PiBcJUdldFBhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICBJdGVtSUQgICA9PiAkR0NEYXRhLT57SXRlbUlEfSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICROb3RlIC49ICRMYXlvdXRPYmplY3QtPk5vdGlmeSggSW5mbyA9PiAkT2JqZWN0LT5FcnJvcigpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICggISRTdWNjZXNzICkgewogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oKTsKICAgICAgICB9CgogICAgICAgIG15ICRDb250aW51ZUFmdGVyU2F2ZSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdDb250aW51ZUFmdGVyU2F2ZScgKTsKICAgICAgICBpZiAoJENvbnRpbnVlQWZ0ZXJTYXZlKSB7CiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj1JdGVtRWRpdDtDbGFzcz0kSXRlbURhdGF7Q2xhc3N9O0l0ZW1JRD0kSXRlbURhdGF7SXRlbUlEfSIKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgcmVkaXJlY3QgdG8gb3ZlcnZpZXcgY2xhc3MgbGlzdAogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPUl0ZW1MaXN0O0NsYXNzPSRJdGVtRGF0YXtDbGFzc30iCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIG92ZXJ2aWV3CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNlIHsKCiAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlld0NsYXNzJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgY2F0YWxvZyBjbGFzcyBsaXN0CiAgICAgICAgbXkgJENsYXNzTGlzdCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+Q2xhc3NMaXN0KCk7CgogICAgICAgIGlmICggQHskQ2xhc3NMaXN0fSApIHsKCiAgICAgICAgICAgIGZvciBteSAkQ2xhc3MgKCBAeyRDbGFzc0xpc3R9ICkgewoKICAgICAgICAgICAgICAgICMgb3V0cHV0IG92ZXJ2aWV3IGNsYXNzIGxpc3QKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3Q2xhc3NMaXN0JywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3MgPT4gJENsYXNzLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG5vIGRhdGEgZm91bmQgbWVzc2FnZQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ05vQ2xhc3NEYXRhRm91bmRNc2cnLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBBY3Rpb25BZGRDbGFzcwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdBY3Rpb25BZGRDbGFzcycsCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgaGVhZGVyIGFuZCBuYXZiYXIKICAgICAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgICAgICMgY3JlYXRlIG91dHB1dCBzdHJpbmcKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkdlbmVyYWxDYXRhbG9nJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUGFyYW0sCiAgICAgICAgKTsKCiAgICAgICAgIyBhZGQgZm9vdGVyCiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5Gb290ZXIoKTsKCiAgICAgICAgcmV0dXJuICRPdXRwdXQ7CiAgICB9Cn0KCjE7Cg==</File>
        <File Location="Kernel/Output/HTML/GeneralCatalogPreferences/Generic.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzOjpHZW5lcmljOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lIHF3KGZpbGVwYXJzZSk7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9ICgKICAgICdLZXJuZWw6OkNvbmZpZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJywKICAgICdLZXJuZWw6OlN5c3RlbTo6R3JvdXAnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpJVFNNQ29uZmlnSXRlbScsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06Ok1haW4nLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnLAopOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7JVBhcmFtfTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgcGFyYW1zCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoIFVzZXJJRCBDb25maWdJdGVtICkpIHsKICAgICAgICBkaWUgIkdvdCBubyAkTmVlZGVkISIgaWYgKCAhJFNlbGYtPnskTmVlZGVkfSApOwogICAgfQoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFBhcmFtIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgQFBhcmFtcyAgID0gKCk7CiAgICBteSAkR2V0UGFyYW0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JyktPkdldFBhcmFtKCBQYXJhbSA9PiAkU2VsZi0+e0NvbmZpZ0l0ZW19LT57UHJlZktleX0gKTsKCiAgICBpZiAoICFkZWZpbmVkKCRHZXRQYXJhbSkgKSB7CiAgICAgICAgJEdldFBhcmFtID0gZGVmaW5lZCggJFBhcmFte0dlbmVyYWxDYXRhbG9nRGF0YX0tPnsgJFNlbGYtPntDb25maWdJdGVtfS0+e1ByZWZLZXl9IH0gKQogICAgICAgICAgICA/ICRQYXJhbXtHZW5lcmFsQ2F0YWxvZ0RhdGF9LT57ICRTZWxmLT57Q29uZmlnSXRlbX0tPntQcmVmS2V5fSB9CiAgICAgICAgICAgIDogJFNlbGYtPntDb25maWdJdGVtfS0+e0RhdGFTZWxlY3RlZH07CiAgICB9CgogICAgZm9yIG15ICRTZWxlY3RPcHRpb24gKHF3KE1hbmRhdG9yeSBNdWx0aXBsZSkpIHsKICAgICAgICAkUGFyYW17JFNlbGVjdE9wdGlvbn0gPSAkU2VsZi0+e0NvbmZpZ0l0ZW19eyRTZWxlY3RPcHRpb259OwogICAgfQoKICAgIGlmICggISggZGVmaW5lZCAkU2VsZi0+e0NvbmZpZ0l0ZW19LT57QmxvY2t9ICYmICRTZWxmLT57Q29uZmlnSXRlbX0tPntCbG9ja30gKSApIHsKICAgICAgICAkU2VsZi0+e0NvbmZpZ0l0ZW19LT57QmxvY2t9ID0gJ0lucHV0JzsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57Q29uZmlnSXRlbX0tPntCbG9ja30gZXEgJ1Blcm1pc3Npb24nICkgewogICAgICAgICRQYXJhbXtEYXRhfSAgPSB7ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpLT5Hcm91cExpc3QoIFZhbGlkID0+IDEgKSB9OwogICAgICAgICRQYXJhbXtCbG9ja30gPSAnT3B0aW9uJzsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57Q29uZmlnSXRlbX0tPntCbG9ja30gZXEgJ05hbWVNb2R1bGUnICkgewoKICAgICAgICAjIGdldCBtYWluIG9iamVjdAogICAgICAgIG15ICRNYWluT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKTsKCiAgICAgICAgIyBpdGVyYXRlIG9uIG5hbWUgbW9kdWxlIGZpbGVzCiAgICAgICAgbXkgJE5hbWVNb2R1bGVEaXIgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0hvbWUnKSAuICcvS2VybmVsL1N5c3RlbS9JVFNNQ29uZmlnSXRlbS9OYW1lJzsKICAgICAgICBteSBATmFtZU1vZHVsZXM7CiAgICAgICAgaWYgKCAtZCAkTmFtZU1vZHVsZURpciApIHsKICAgICAgICAgICAgbXkgQEFsbE5hbWVNb2R1bGVGaWxlcyA9ICRNYWluT2JqZWN0LT5EaXJlY3RvcnlSZWFkKAogICAgICAgICAgICAgICAgRGlyZWN0b3J5ID0+ICROYW1lTW9kdWxlRGlyLAogICAgICAgICAgICAgICAgRmlsdGVyICAgID0+ICcqLnBtJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgTkFNRV9NT0RVTEVfRklMRToKICAgICAgICAgICAgZm9yIG15ICROYW1lTW9kdWxlRmlsZSAoQEFsbE5hbWVNb2R1bGVGaWxlcykgewogICAgICAgICAgICAgICAgbXkgJENsYXNzTmFtZUZpbmFsUGFydCA9IGZpbGVwYXJzZSggJE5hbWVNb2R1bGVGaWxlLCAnLnBtJyApOwogICAgICAgICAgICAgICAgbXkgJENsYXNzTmFtZSAgICAgICAgICA9ICJLZXJuZWw6OlN5c3RlbTo6SVRTTUNvbmZpZ0l0ZW06Ok5hbWU6OiRDbGFzc05hbWVGaW5hbFBhcnQiOwoKICAgICAgICAgICAgICAgIGlmICggISRNYWluT2JqZWN0LT5SZXF1aXJlQmFzZUNsYXNzKCRDbGFzc05hbWUpICkgewogICAgICAgICAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvbmZpZ0l0ZW0gbmFtZSBtb2R1bGUgJENsYXNzTmFtZSBjb3VsZCBub3QgYmUgbG9hZGVkISIsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBuZXh0IE5BTUVfTU9EVUxFX0ZJTEU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcHVzaCBATmFtZU1vZHVsZXMsICRDbGFzc05hbWVGaW5hbFBhcnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRQYXJhbXtEYXRhfS0+JSogPSBtYXAgeyAkXyA9PiAkXyB9IEBOYW1lTW9kdWxlczsKICAgICAgICAkUGFyYW17QmxvY2t9ID0gJ09wdGlvbic7CiAgICB9CgogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ0l0ZW19LT57QmxvY2t9IGVxICdOdW1iZXJNb2R1bGUnICkgewoKICAgICAgICAjIGdldCBtYWluIG9iamVjdAogICAgICAgIG15ICRNYWluT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKTsKCiAgICAgICAgIyBpdGVyYXRlIG9uIG51bWJlciBtb2R1bGUgZmlsZXMKICAgICAgICBteSAkTnVtYmVyTW9kdWxlRGlyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdIb21lJykgLiAnL0tlcm5lbC9TeXN0ZW0vSVRTTUNvbmZpZ0l0ZW0vTnVtYmVyJzsKICAgICAgICBteSBATnVtYmVyTW9kdWxlczsKICAgICAgICBpZiAoIC1kICROdW1iZXJNb2R1bGVEaXIgKSB7CiAgICAgICAgICAgIG15IEBBbGxOdW1iZXJNb2R1bGVGaWxlcyA9ICRNYWluT2JqZWN0LT5EaXJlY3RvcnlSZWFkKAogICAgICAgICAgICAgICAgRGlyZWN0b3J5ID0+ICROdW1iZXJNb2R1bGVEaXIsCiAgICAgICAgICAgICAgICBGaWx0ZXIgICAgPT4gJyoucG0nLAogICAgICAgICAgICApOwogICAgICAgICAgICBOVU1CRVJfTU9EVUxFX0ZJTEU6CiAgICAgICAgICAgIGZvciBteSAkTnVtYmVyTW9kdWxlRmlsZSAoQEFsbE51bWJlck1vZHVsZUZpbGVzKSB7CiAgICAgICAgICAgICAgICBteSAkQ2xhc3NOYW1lRmluYWxQYXJ0ID0gZmlsZXBhcnNlKCAkTnVtYmVyTW9kdWxlRmlsZSwgJy5wbScgKTsKICAgICAgICAgICAgICAgIG15ICRDbGFzc05hbWUgICAgICAgICAgPSAiS2VybmVsOjpTeXN0ZW06OklUU01Db25maWdJdGVtOjpOdW1iZXI6OiRDbGFzc05hbWVGaW5hbFBhcnQiOwoKICAgICAgICAgICAgICAgIGlmICggISRNYWluT2JqZWN0LT5SZXF1aXJlQmFzZUNsYXNzKCRDbGFzc05hbWUpICkgewogICAgICAgICAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvbmZpZ0l0ZW0gbnVtYmVyIG1vZHVsZSAkQ2xhc3NOYW1lIGNvdWxkIG5vdCBiZSBsb2FkZWQhIiwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIG5leHQgTlVNQkVSX01PRFVMRV9GSUxFOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHB1c2ggQE51bWJlck1vZHVsZXMsICRDbGFzc05hbWVGaW5hbFBhcnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRQYXJhbXtEYXRhfS0+JSogPSBtYXAgeyAkXyA9PiAkXyB9IEBOdW1iZXJNb2R1bGVzOwogICAgICAgICRQYXJhbXtCbG9ja30gPSAnT3B0aW9uJzsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57Q29uZmlnSXRlbX0tPntCbG9ja30gZXEgJ1ZlcnNpb25TdHJpbmdNb2R1bGUnICkgewoKICAgICAgICAjIGdldCBtYWluIG9iamVjdAogICAgICAgIG15ICRNYWluT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKTsKCiAgICAgICAgIyBpdGVyYXRlIG9uIHZlcnNpb24gc3RyaW5nIG1vZHVsZSBmaWxlcwogICAgICAgIG15ICRWZXJzaW9uU3RyaW5nTW9kdWxlRGlyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdIb21lJykgLiAnL0tlcm5lbC9TeXN0ZW0vSVRTTUNvbmZpZ0l0ZW0vVmVyc2lvblN0cmluZyc7CiAgICAgICAgbXkgQFZlcnNpb25TdHJpbmdNb2R1bGVzOwogICAgICAgIGlmICggLWQgJFZlcnNpb25TdHJpbmdNb2R1bGVEaXIgKSB7CiAgICAgICAgICAgIG15IEBBbGxWZXJzaW9uU3RyaW5nTW9kdWxlRmlsZXMgPSAkTWFpbk9iamVjdC0+RGlyZWN0b3J5UmVhZCgKICAgICAgICAgICAgICAgIERpcmVjdG9yeSA9PiAkVmVyc2lvblN0cmluZ01vZHVsZURpciwKICAgICAgICAgICAgICAgIEZpbHRlciAgICA9PiAnKi5wbScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBWRVJTSU9OX1NUUklOR19NT0RVTEVfRklMRToKICAgICAgICAgICAgZm9yIG15ICRWZXJzaW9uU3RyaW5nTW9kdWxlRmlsZSAoQEFsbFZlcnNpb25TdHJpbmdNb2R1bGVGaWxlcykgewogICAgICAgICAgICAgICAgbXkgJENsYXNzTmFtZUZpbmFsUGFydCA9IGZpbGVwYXJzZSggJFZlcnNpb25TdHJpbmdNb2R1bGVGaWxlLCAnLnBtJyApOwogICAgICAgICAgICAgICAgbXkgJENsYXNzTmFtZSAgICAgICAgICA9ICJLZXJuZWw6OlN5c3RlbTo6SVRTTUNvbmZpZ0l0ZW06OlZlcnNpb25TdHJpbmc6OiRDbGFzc05hbWVGaW5hbFBhcnQiOwoKICAgICAgICAgICAgICAgIGlmICggISRNYWluT2JqZWN0LT5SZXF1aXJlQmFzZUNsYXNzKCRDbGFzc05hbWUpICkgewogICAgICAgICAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvbmZpZ0l0ZW0gdmVyc2lvbiBzdHJpbmcgbW9kdWxlICRDbGFzc05hbWUgY291bGQgbm90IGJlIGxvYWRlZCEiLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgbmV4dCBWRVJTSU9OX1NUUklOR19NT0RVTEVfRklMRTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBwdXNoIEBWZXJzaW9uU3RyaW5nTW9kdWxlcywgJENsYXNzTmFtZUZpbmFsUGFydDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkUGFyYW17RGF0YX0tPiUqID0gbWFwIHsgJF8gPT4gJF8gfSBAVmVyc2lvblN0cmluZ01vZHVsZXM7CiAgICAgICAgJFBhcmFte0Jsb2NrfSA9ICdPcHRpb24nOwogICAgfQoKICAgIGlmICggJFNlbGYtPntDb25maWdJdGVtfS0+e0Jsb2NrfSBlcSAnQ29uZmlnSXRlbVZlcnNpb25UcmlnZ2VyJyApIHsKICAgICAgICBpZiAoICRQYXJhbXtHZW5lcmFsQ2F0YWxvZ0RhdGF9e0l0ZW1JRH0gbmUgJ05FVycgKSB7CiAgICAgICAgICAgIG15ICRDbGFzc0RlZmluaXRpb24gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SVRTTUNvbmZpZ0l0ZW0nKS0+RGVmaW5pdGlvbkdldCgKICAgICAgICAgICAgICAgIENsYXNzSUQgPT4gJFBhcmFte0dlbmVyYWxDYXRhbG9nRGF0YX17SXRlbUlEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgJUR5bmFtaWNGaWVsZE5hbWVzID0gbWFwIHsgJ0R5bmFtaWNGaWVsZF8nIC4gJF8gPT4gJ0R5bmFtaWNGaWVsZF8nIC4gJF8gfSBrZXlzICRDbGFzc0RlZmluaXRpb24tPntEeW5hbWljRmllbGRSZWZ9LT4lKjsKCiAgICAgICAgICAgICRQYXJhbXtEYXRhfSA9IHsKICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnSXRlbX0tPntEYXRhfS0+JSosCiAgICAgICAgICAgICAgICAlRHluYW1pY0ZpZWxkTmFtZXMsCiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICAkUGFyYW17QmxvY2t9ID0gJ09wdGlvbic7CiAgICB9CgogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ0l0ZW19LT57QmxvY2t9IGVxICdDb25maWdJdGVtQ2xhc3NDYXRlZ29yaWVzJyApIHsKICAgICAgICBteSBAQ2F0ZWdvcmllcyA9IHZhbHVlcyAlewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKS0+SXRlbUxpc3QoCiAgICAgICAgICAgICAgICBDbGFzcyA9PiAnSVRTTTo6Q29uZmlnSXRlbTo6Q2xhc3M6OkNhdGVnb3J5JywKICAgICAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgICkKICAgICAgICB9OwogICAgICAgICRQYXJhbXtEYXRhfS0+JSogPSBtYXAgeyAkXyA9PiAkXyB9IEBDYXRlZ29yaWVzOwogICAgICAgICRQYXJhbXtCbG9ja30gPSAnT3B0aW9uJzsKICAgIH0KCiAgICBwdXNoKAogICAgICAgIEBQYXJhbXMsCiAgICAgICAgewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJFNlbGYtPntDb25maWdJdGVtfS0+e1ByZWZLZXl9LAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRHZXRQYXJhbSwKICAgICAgICB9LAogICAgKTsKCiAgICByZXR1cm4gQFBhcmFtczsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICV7ICRQYXJhbXtHZXRQYXJhbX0gfSApIHsKICAgICAgICBteSBAQXJyYXkgPSBAeyAkUGFyYW17R2V0UGFyYW19LT57JEtleX0gfTsKCiAgICAgICAgIyBwcmVmIHVwZGF0ZSBkYgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHZW5lcmFsQ2F0YWxvZycpLT5HZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzU2V0KAogICAgICAgICAgICBJdGVtSUQgPT4gJFBhcmFte0l0ZW1JRH0sCiAgICAgICAgICAgIEtleSAgICA9PiAkS2V5LAogICAgICAgICAgICBWYWx1ZSAgPT4gXEBBcnJheSwKICAgICAgICApOwogICAgfQoKICAgICRTZWxmLT57TWVzc2FnZX0gPSAnUHJlZmVyZW5jZXMgdXBkYXRlZCBzdWNjZXNzZnVsbHkhJzsKICAgIHJldHVybiAxOwp9CgpzdWIgRXJyb3IgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gJFNlbGYtPntFcnJvcn0gfHwgJyc7Cn0KCnN1YiBNZXNzYWdlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuICRTZWxmLT57TWVzc2FnZX0gfHwgJyc7Cn0KCjE7Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AAAGeneralCatalog.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgojIENvbW1vbgpbJSBUcmFuc2xhdGUoIkZ1bmN0aW9uYWxpdHkiKSB8IGh0bWwgJV0K</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AdminDynamicFieldGeneralCatalog.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8ZGl2IGNsYXNzPSJNYWluQm94IEFSSUFSb2xlTWFpbiBMYXlvdXRGaXhlZFNpZGViYXIgU2lkZWJhckZpcnN0Ij4KICAgIDxoMSBjbGFzcz0iSW52aXNpYmxlVGV4dCI+CiAgICAgICAgWyUgVHJhbnNsYXRlKCJEeW5hbWljIEZpZWxkcyIpIHwgaHRtbCAlXSAtIFslIFRyYW5zbGF0ZShEYXRhLk9iamVjdFR5cGVOYW1lKSB8IGh0bWwgJV06CiAgICAgICAgWyUgVVNFIFRpdGxlID0gU3RyaW5nKERhdGEuQnJlYWRjcnVtYlRleHQpICVdCiAgICAgICAgWyUgVGl0bGUgfCBodG1sICVdCiAgICA8L2gxPgoKICAgIFslIEJyZWFkY3J1bWJQYXRoID0gWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lID0+IFRyYW5zbGF0ZSgnRHluYW1pYyBGaWVsZHMgTWFuYWdlbWVudCcpLAogICAgICAgICAgICAgICAgTGluayA9PiAnQWRtaW5EeW5hbWljRmllbGQnIF8gRGF0YS5GaWx0ZXJTdHJnLAogICAgICAgICAgICB9LAogICAgICAgIF0KICAgICVdCgogICAgWyUgVVNFIEJyZWFkY3J1bWJOYW1lID0gU3RyaW5nKFRyYW5zbGF0ZShEYXRhLk9iamVjdFR5cGVOYW1lKSkgJV0KCiAgICBbJSBTV0lUQ0ggRGF0YS5Nb2RlICVdCiAgICAgICAgWyUgQ0FTRSAnQWRkJyAlXQogICAgICAgICAgICBbJSBCcmVhZGNydW1iUGF0aC5wdXNoKHsgTmFtZSA9PiBCcmVhZGNydW1iTmFtZS5hcHBlbmQoICc6ICcsIFRpdGxlICkgfSkgJV0KICAgICAgICBbJSBDQVNFICdDaGFuZ2UnICVdCiAgICAgICAgICAgIFslIEJyZWFkY3J1bWJQYXRoLnB1c2goeyBOYW1lID0+IEJyZWFkY3J1bWJOYW1lLmFwcGVuZCggJzogJywgVGl0bGUsICcgLSAnLCBEYXRhLk5hbWUgKSB9KSAlXQogICAgWyUgRU5EICVdCgogICAgWyUgSU5DTFVERSAiQnJlYWRjcnVtYi50dCIgUGF0aCA9IEJyZWFkY3J1bWJQYXRoICVdCgogICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IlNpZGViYXJDb2x1bW4iPgogICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJBY3Rpb25zIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJBY3Rpb25MaXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1BZG1pbkR5bmFtaWNGaWVsZFslIERhdGEuRmlsdGVyU3RyZyAlXSIgY2xhc3M9IkNhbGxGb3JBY3Rpb24gRnVsbHNpemUgQ2VudGVyIj48c3Bhbj48aSBjbGFzcz0iZmEgZmEtY2FyZXQtbGVmdCI+PC9pPlslIFRyYW5zbGF0ZSgiR28gYmFjayB0byBvdmVydmlldyIpIHwgaHRtbCAlXTwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iQ29udGVudENvbHVtbiI+CiAgICAgICAgPGZvcm0gaWQ9IkVudGl0eVVwZGF0ZSIgYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGNsYXNzPSJWYWxpZGF0ZSBQcmV2ZW50TXVsdGlwbGVTdWJtaXRzIj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iQWRtaW5EeW5hbWljRmllbGRHZW5lcmFsQ2F0YWxvZyI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IlslIERhdGEuTW9kZSB8IGh0bWwgJV1BY3Rpb24iPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJPYmplY3RUeXBlIiB2YWx1ZT0iWyUgRGF0YS5PYmplY3RUeXBlIHwgaHRtbCAlXSI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZpZWxkVHlwZSIgdmFsdWU9IlslIERhdGEuRmllbGRUeXBlIHwgaHRtbCAlXSI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9iamVjdFR5cGVGaWx0ZXIiIHZhbHVlPSJbJSBEYXRhLk9iamVjdFR5cGVGaWx0ZXIgfCBodG1sICVdIj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRmllbGRUeXBlRmlsdGVyIiB2YWx1ZT0iWyUgRGF0YS5GaWVsZFR5cGVGaWx0ZXIgfCBodG1sICVdIj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTmFtZXNwYWNlRmlsdGVyIiB2YWx1ZT0iWyUgRGF0YS5OYW1lc3BhY2VGaWx0ZXIgfCBodG1sICVdIj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSUQiIHZhbHVlPSJbJSBEYXRhLklEIHwgaHRtbCAlXSI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkNvbnRpbnVlQWZ0ZXJTYXZlIiBpZD0iQ29udGludWVBZnRlclNhdmUiIHZhbHVlPSIiLz4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkdlbmVyYWwiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJMYXlvdXRHcmlkIENvbHVtbnNXaXRoU3BhY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNpemUxb2YyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJOYW1lIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIk5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iTmFtZSIgY2xhc3M9Ilc1MHBjIFslIERhdGEuTmFtZVNlcnZlckVycm9yIHwgaHRtbCAlXSBbJSBEYXRhLlNob3dXYXJuaW5nIHwgaHRtbCAlXSAgVmFsaWRhdGVfQWxwaGFudW1lcmljIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuUGxhaW5GaWVsZE5hbWUgfCBodG1sICVdIiBuYW1lPSJOYW1lIiBbJSBEYXRhLlJlYWRvbmx5SW50ZXJuYWxGaWVsZCB8IGh0bWwgJV0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCwgYW5kIHRoZSB2YWx1ZSBzaG91bGQgYmUgYWxwaGFiZXRpYyBhbmQgbnVtZXJpYyBjaGFyYWN0ZXJzIG9ubHkuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJOYW1lU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoRGF0YS5OYW1lU2VydmVyRXJyb3JNZXNzYWdlKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIk11c3QgYmUgdW5pcXVlIGFuZCBvbmx5IGFjY2VwdCBhbHBoYWJldGljIGFuZCBudW1lcmljIGNoYXJhY3RlcnMuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iV2FybmluZyBIaWRkZW4iPlslIFRyYW5zbGF0ZSgiQ2hhbmdpbmcgdGhpcyB2YWx1ZSB3aWxsIHJlcXVpcmUgbWFudWFsIGNoYW5nZXMgaW4gdGhlIHN5c3RlbS4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJMYWJlbCI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJMYWJlbCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJMYWJlbCIgY2xhc3M9Ilc1MHBjIFslIERhdGEuTGFiZWxTZXJ2ZXJFcnJvciB8IGh0bWwgJV0gVmFsaWRhdGVfUmVxdWlyZWQiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5MYWJlbCB8IGh0bWwgJV0iIG5hbWU9IkxhYmVsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkxhYmVsRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJMYWJlbFNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKERhdGEuTGFiZWxTZXJ2ZXJFcnJvck1lc3NhZ2UpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiVGhpcyBpcyB0aGUgbmFtZSB0byBiZSBzaG93biBvbiB0aGUgc2NyZWVucyB3aGVyZSB0aGUgZmllbGQgaXMgYWN0aXZlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkT3JkZXIiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiRmllbGQgb3JkZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuRHluYW1pY0ZpZWxkT3JkZXJTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkT3JkZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBudW1lcmljLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRPcmRlclNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKERhdGEuRmllbGRPcmRlclNlcnZlckVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSBvcmRlciBpbiB3aGljaCB0aGlzIGZpZWxkIHdpbGwgYmUgc2hvd24gb24gdGhlIHNjcmVlbnMgd2hlcmUgaXMgYWN0aXZlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJEeW5hbWljRmllbGROYW1lc3BhY2UiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik5hbWVzcGFjZSI+WyUgVHJhbnNsYXRlKCJOYW1lc3BhY2UiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuTmFtZXNwYWNlU3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSBuYW1lc3BhY2UgaW4gd2hpY2ggdGhpcyBmaWVsZCB3aWxsIGJlIHVzZWQgYXMgcHJlZml4IHdpdGggdGhlIG5hbWUuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkR5bmFtaWNGaWVsZE5hbWVzcGFjZSIpICVdCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlRvb2x0aXBWYWx1ZSI+WyUgVHJhbnNsYXRlKCJUb29sdGlwIG1lc3NhZ2U6IikgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD0iVG9vbHRpcFZhbHVlIiBjbGFzcz0iVzc1cGMiIHJvd3M9IjMiIGNvbHM9IjgwIiBuYW1lPSJUb29sdGlwIj5bJSBEYXRhLlRvb2x0aXAgfCBodG1sICVdPC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiVGhpcyBpcyB0aGUgdG9vbHRpcCBtZXNzYWdlIHNob3duIGluc2lkZSB0aGUgY3VzdG9tZXIgaW50ZXJmYWNlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU2l6ZTFvZjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlZhbGlkSUQiPlslIFRyYW5zbGF0ZSgiVmFsaWRpdHkiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuVmFsaWRpdHlTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlZhbGlkSURFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlZhbGlkSURTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ClslIFJlbmRlckJsb2NrU3RhcnQoIlJlcXVpcmVkVmFsaWRPcHRpb25TZXJ2ZXJFcnJvciIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXQpbJSBSZW5kZXJCbG9ja0VuZCgiUmVxdWlyZWRWYWxpZE9wdGlvblNlcnZlckVycm9yIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiSW5TZXR0aW5nVmFsaWRPcHRpb25TZXJ2ZXJFcnJvciIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJJcyBub3QgcG9zc2libGUgdG8gaW52YWxpZGF0ZSB0aGlzIGVudHJ5LCBhbGwgY29uZmlnIHNldHRpbmdzIGhhdmUgdG8gYmUgY2hhbmdlZCBiZWZvcmVoYW5kLiIpIHwgaHRtbCAlXQpbJSBSZW5kZXJCbG9ja0VuZCgiSW5TZXR0aW5nVmFsaWRPcHRpb25TZXJ2ZXJFcnJvciIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iRmllbGRUeXBlTmFtZSI+WyUgVHJhbnNsYXRlKCJGaWVsZCB0eXBlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkZpZWxkVHlwZU5hbWUiIHJlYWRvbmx5IGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBUcmFuc2xhdGUoRGF0YS5GaWVsZFR5cGVOYW1lKSB8IGh0bWwgJV0iIG5hbWU9IkZpZWxkVHlwZU5hbWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTcGFjaW5nVG9wIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJPYmplY3RUeXBlTmFtZSI+WyUgVHJhbnNsYXRlKCJPYmplY3QgdHlwZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJPYmplY3RUeXBlTmFtZSIgcmVhZG9ubHkgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIFRyYW5zbGF0ZShEYXRhLk9iamVjdFR5cGVOYW1lKSB8IGh0bWwgJV0iIG5hbWU9Ik9iamVjdFR5cGVOYW1lIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIkludGVybmFsRmllbGQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkludGVybmFsRmllbGQiPlslIFRyYW5zbGF0ZSgiSW50ZXJuYWwgZmllbGQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iSW50ZXJuYWxGaWVsZCIgcmVhZG9ubHkgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHZhbHVlPSJbJSBEYXRhLkludGVybmFsRmllbGQgfCBodG1sICVdIiBuYW1lPSJJbnRlcm5hbEZpZWxkIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyBwcm90ZWN0ZWQgYW5kIGNhbid0IGJlIGRlbGV0ZWQuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW50ZXJuYWxGaWVsZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJEeW5hbWljRmllbGRJblN5c0NvbmZpZyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJPbGROYW1lIiBpZD0iT2xkTmFtZSIgdmFsdWU9IlslIERhdGEuT2xkTmFtZSB8IGh0bWwgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlVwZGF0ZUVudGl0eSIgaWQ9IlVwZGF0ZUVudGl0eSIgdmFsdWU9IiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRW50aXR5SW5TZXR0aW5nIiBjbGFzcz0iSGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJUZXh0RGlhbG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPlslIFRyYW5zbGF0ZSgiVGhpcyBkeW5hbWljIGZpZWxkIGlzIHVzZWQgaW4gdGhlIGZvbGxvd2luZyBjb25maWcgc2V0dGluZ3M6IikgfCBodG1sICVdPC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJEeW5hbWljRmllbGRJblN5c0NvbmZpZ1JvdyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IkluU3lzQ29uZmlnU2V0dGluZyI+WyUgRGF0YS5TZXR0aW5nTmFtZSAlXTwvbGk+ClslIFJlbmRlckJsb2NrRW5kKCJEeW5hbWljRmllbGRJblN5c0NvbmZpZ1JvdyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWdEaXJ0eSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTeXNDb25maWdEaXJ0eSIgaWQ9IlN5c0NvbmZpZ0RpcnR5IiB2YWx1ZT0iMSIvPgpbJSBSZW5kZXJCbG9ja0VuZCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWdEaXJ0eSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKERhdGEuRmllbGRUeXBlTmFtZSkgfCBodG1sICVdIFslIFRyYW5zbGF0ZSgiRmllbGQgU2V0dGluZ3MiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJQb3NzaWJsZU5vbmUiPlslIFRyYW5zbGF0ZSgiQWRkIGVtcHR5IHZhbHVlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuUG9zc2libGVOb25lU3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiQWN0aXZhdGUgdGhpcyBvcHRpb24gdG8gY3JlYXRlIGFuIGVtcHR5IHNlbGVjdGFibGUgdmFsdWUuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iR2VuZXJhbENhdGFsb2dDbGFzcyI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkZpbHRlciBpdGVtcyBieSBjbGFzcy4iKSB8IGh0bWwgJV08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkdlbmVyYWxDYXRhbG9nQ2xhc3NTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJHZW5lcmFsQ2F0YWxvZ0NsYXNzRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iR2VuZXJhbENhdGFsb2dDbGFzc1NlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKERhdGEuR2VuZXJhbENhdGFsb2dDbGFzc1NlcnZlckVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiU2V0IHRoZSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTXVsdGlzZWxlY3QiPlslIFRyYW5zbGF0ZSgiTXVsdGlzZWxlY3QiKSB8IGh0bWwgJV08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik11bHRpc2VsZWN0IiB0eXBlPSJjaGVja2JveCIgbmFtZT0iTXVsdGlzZWxlY3QiIFslIERhdGEuTXVsdGlzZWxlY3QgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik11bHRpVmFsdWUiPlslIFRyYW5zbGF0ZSgiTXVsdGlwbGUgVmFsdWVzIikgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5NdWx0aVZhbHVlU3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiQWN0aXZhdGUgdGhpcyBvcHRpb24gdG8gYWxsb3cgbXVsdGlwbGUgdmFsdWVzIGZvciB0aGlzIGZpZWxkLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIkNvbmZpZ1BhcmFtUm93IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iWyUgRGF0YS5Db25maWdQYXJhbU5hbWUgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5GaWVsZFN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlslIERhdGEuQ29uZmlnUGFyYW1OYW1lIHwgaHRtbCAlXUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLCBhbmQgdGhlIHZhbHVlIHNob3VsZCBiZSBhbHBoYWJldGljIGFuZCBudW1lcmljIGNoYXJhY3RlcnMgb25seS4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJbJSBEYXRhLkNvbmZpZ1BhcmFtTmFtZSB8IGh0bWwgJV1TZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZShEYXRhLlNlcnZlckVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZShEYXRhLkV4cGxhbmF0aW9uKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJDb25maWdQYXJhbVJvdyIpICVdCgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuTW9kZSA9PSAnQ2hhbmdlJyAlXQogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IlByaW1hcnkgQ2FsbEZvckFjdGlvbiIgaWQ9IlN1Ym1pdEFuZENvbnRpbnVlIiB0eXBlPSJidXR0b24iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV0iPjxzcGFuPlslIFRyYW5zbGF0ZSgiU2F2ZSIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIm9yIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iUHJpbWFyeSBDYWxsRm9yQWN0aW9uIiBpZD0iU3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV0iPjxzcGFuPlslIFRyYW5zbGF0ZSgiU2F2ZSBhbmQgZmluaXNoIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIFslIEVMU0UgJV0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24iIGlkPSJTdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiU2F2ZSIpIHwgaHRtbCAlXSI+PHNwYW4+WyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIFslIEVORCAlXQogICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgib3IiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249QWRtaW5EeW5hbWljRmllbGRbJSBEYXRhLkZpbHRlclN0cmcgJV0iPlslIFRyYW5zbGF0ZSgiQ2FuY2VsIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgPC9mb3JtPgogICAgPC9kaXY+CjwvZGl2Pgo=</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/AdminGeneralCatalog.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlldyIpICVdCjxkaXYgY2xhc3M9Ik1haW5Cb3ggQVJJQVJvbGVNYWluIExheW91dEZpeGVkU2lkZWJhciBTaWRlYmFyRmlyc3QiPgogICAgPGgxPlslIFRyYW5zbGF0ZSgiR2VuZXJhbCBDYXRhbG9nIE1hbmFnZW1lbnQiKSB8IGh0bWwgJV08L2gxPgoKICAgIFslIFVTRSBJdGVtc1RpdGxlID0gU3RyaW5nKFRyYW5zbGF0ZSgiSXRlbXMgaW4gQ2xhc3MiKSkgJV0KICAgIFslIFVTRSBFZGl0VGl0bGUgID0gU3RyaW5nKFRyYW5zbGF0ZSgiRWRpdCBJdGVtIikpICVdCgogICAgWyUgQnJlYWRjcnVtYlBhdGggPSBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgPT4gVHJhbnNsYXRlKCdHZW5lcmFsIENhdGFsb2cgTWFuYWdlbWVudCcpLAogICAgICAgICAgICAgICAgTGluayA9PiAnQWRtaW5HZW5lcmFsQ2F0YWxvZycsCiAgICAgICAgICAgIH0sCiAgICAgICAgXTsKCiAgICAgICAgSUYgRGF0YS5DbGFzcyAmJiBEYXRhLkNsYXNzID09ICdORVcnOwoKICAgICAgICAgICAgQnJlYWRjcnVtYlBhdGgucHVzaCh7CiAgICAgICAgICAgICAgICBOYW1lID0+IFRyYW5zbGF0ZSgnQWRkIENsYXNzJyksCiAgICAgICAgICAgIH0pOwoKICAgICAgICBFTFNJRiBEYXRhLkNsYXNzOwoKICAgICAgICAgICAgQ2xhc3NVUkkgPSBEYXRhLkNsYXNzOwoKICAgICAgICAgICAgQnJlYWRjcnVtYlBhdGgucHVzaCh7CiAgICAgICAgICAgICAgICBOYW1lID0+IEl0ZW1zVGl0bGUuYXBwZW5kKCAnOiAnLCBEYXRhLkNsYXNzICksCiAgICAgICAgICAgICAgICBMaW5rID0+ICdBZG1pbkdlbmVyYWxDYXRhbG9nO1N1YmFjdGlvbj1JdGVtTGlzdDtDbGFzcz0nIF8gQ2xhc3NVUkksCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgSUYgRGF0YS5TdWJhY3Rpb24gJiYgRGF0YS5TdWJhY3Rpb24gPT0gJ0l0ZW1FZGl0JzsKICAgICAgICAgICAgICAgIEJyZWFkY3J1bWJQYXRoLnB1c2goewogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gRGF0YS5JdGVtRWRpdCA/IEVkaXRUaXRsZS5hcHBlbmQoICc6ICcsIERhdGEuSXRlbU5hbWUgKSA6IFRyYW5zbGF0ZSgnQWRkIEl0ZW0nKSwKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgRU5EOwoKICAgICAgICBFTkQ7CiAgICAlXQoKICAgIFslIElOQ0xVREUgIkJyZWFkY3J1bWIudHQiIFBhdGggPSBCcmVhZGNydW1iUGF0aCAlXQoKICAgIDxkaXYgY2xhc3M9IlNpZGViYXJDb2x1bW4iPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbmNsdWRlSW52YWxpZCIpICVdCiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkZpbHRlciBieSB2YWxpZCBzdGF0ZSIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IkluY2x1ZGVJbnZhbGlkIiBuYW1lPSJJbmNsdWRlSW52YWxpZCIgdmFsdWU9IjEiIHRpdGxlPSJbJSBUcmFuc2xhdGUoIkluY2x1ZGUgaW52YWxpZCBpdGVtcyIpIHwgaHRtbCAlXSIgWyUgRGF0YS5JbmNsdWRlSW52YWxpZENoZWNrZWQgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkluY2x1ZGVJbnZhbGlkIj5bJSBUcmFuc2xhdGUoIkluY2x1ZGUgaW52YWxpZCBpdGVtcyIpIHwgaHRtbCAlXTwvbGFiZWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW5jbHVkZUludmFsaWQiKSAlXQogICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJBY3Rpb25zIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9J0NvbnRlbnQnPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJBY3Rpb25MaXN0Ij4KWyUgUmVuZGVyQmxvY2tTdGFydCgiQWN0aW9uQWRkSXRlbSIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9Ikl0ZW1FZGl0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDbGFzcyIgdmFsdWU9IlslIERhdGEuQ2xhc3MgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJJdGVtSUQiIHZhbHVlPSJORVciLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24gRnVsbHNpemUgQ2VudGVyIENyZWF0ZSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJBZGQiKSB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpIGNsYXNzPSJmYSBmYS1wbHVzLXNxdWFyZSI+PC9pPlslIFRyYW5zbGF0ZSgiQWRkIENhdGFsb2cgSXRlbSIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIkFjdGlvbkFkZEl0ZW0iKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJBY3Rpb25BZGRDbGFzcyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9Ikl0ZW1FZGl0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJJdGVtSUQiIHZhbHVlPSJORVciLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkNsYXNzIiB2YWx1ZT0iTkVXIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJDYWxsRm9yQWN0aW9uIEZ1bGxzaXplIENlbnRlciBDcmVhdGUiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiQWRkIikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aSBjbGFzcz0iZmEgZmEtcGx1cy1zcXVhcmUiPjwvaT5bJSBUcmFuc2xhdGUoIkFkZCBDYXRhbG9nIENsYXNzIikgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgpbJSBSZW5kZXJCbG9ja0VuZCgiQWN0aW9uQWRkQ2xhc3MiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJBY3Rpb25PdmVydmlldyIpICVdCiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249WyUgRW52KCJBY3Rpb24iKSAlXSIgY2xhc3M9IkNhbGxGb3JBY3Rpb24gRnVsbHNpemUgQ2VudGVyIj48c3Bhbj48aSBjbGFzcz0iZmEgZmEtY2FyZXQtbGVmdCI+PC9pPlslIFRyYW5zbGF0ZSgiR28gdG8gb3ZlcnZpZXciKSB8IGh0bWwgJV08L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+ClslIFJlbmRlckJsb2NrRW5kKCJBY3Rpb25PdmVydmlldyIpICVdCiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IkNvbnRlbnRDb2x1bW4iPgogICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+ClslIFJlbmRlckJsb2NrU3RhcnQoIk92ZXJ2aWV3Q2xhc3MiKSAlXQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiTGlzdCIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iRGF0YVRhYmxlIj4KICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5bJSBUcmFuc2xhdGUoIkNhdGFsb2cgQ2xhc3MiKSB8IGh0bWwgJV08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgPHRib2R5PgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld0NsYXNzTGlzdCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayIgIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1JdGVtTGlzdDtDbGFzcz1bJSBEYXRhLkNsYXNzIHwgdXJpICVdIj5bJSBEYXRhLkNsYXNzIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+ClslIFJlbmRlckJsb2NrRW5kKCJPdmVydmlld0NsYXNzTGlzdCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIk5vQ2xhc3NEYXRhRm91bmRNc2ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJObyBkYXRhIGZvdW5kLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIk5vQ2xhc3NEYXRhRm91bmRNc2ciKSAlXQogICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3Q2xhc3MiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdJdGVtIikgJV0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkxpc3QiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CgogICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJEYXRhVGFibGUiPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJXNjBwYyI+WyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iQ2VudGVyIj5bJSBUcmFuc2xhdGUoIlZhbGlkaXR5IikgfCBodG1sICVdPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdJdGVtTGlzdCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBbJSBJRiBEYXRhLlZhbGlkSUQgIT0gMSVdY2xhc3M9IkludmFsaWQiWyUgRU5EICVdPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1JdGVtRWRpdDtJdGVtSUQ9WyUgRGF0YS5JdGVtSUQgfCB1cmkgJV0iPlslIERhdGEuTmFtZSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPlslIFRyYW5zbGF0ZShEYXRhLlZhbGlkKSB8IGh0bWwgJV08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXdJdGVtTGlzdCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIk5vSXRlbURhdGFGb3VuZE1zZyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIGRhdGEgZm91bmQuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiTm9JdGVtRGF0YUZvdW5kTXNnIikgJV0KICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJPdmVydmlld0l0ZW0iKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiSXRlbUVkaXQiKSAlXQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlslLQogICAgICAgICAgICAgICAgSUYgRGF0YS5DbGFzcyAmJiBEYXRhLkNsYXNzID09ICdORVcnOwogICAgICAgICAgICAgICAgICAgIFRyYW5zbGF0ZSgiQWRkIENhdGFsb2cgQ2xhc3MiKSB8IGh0bWw7CiAgICAgICAgICAgICAgICBFTFNJRiBEYXRhLkl0ZW1FZGl0OwogICAgICAgICAgICAgICAgICAgIFRyYW5zbGF0ZSgiRWRpdCBDYXRhbG9nIEl0ZW0iKSB8IGh0bWw7CiAgICAgICAgICAgICAgICBFTFNFOwogICAgICAgICAgICAgICAgICAgIFRyYW5zbGF0ZSgiQWRkIENhdGFsb2cgSXRlbSIpIHwgaHRtbDsKICAgICAgICAgICAgICAgIEVORDsKICAgICAgICAgICAgICAgICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgoKICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJnZXQiIGNsYXNzPSJWYWxpZGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9Ikl0ZW1TYXZlIi8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSXRlbUlEIiB2YWx1ZT0iWyUgRGF0YS5JdGVtSUQgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ29udGludWVBZnRlclNhdmUiIGlkPSJDb250aW51ZUFmdGVyU2F2ZSIgdmFsdWU9IiIvPgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiSXRlbUVkaXRDbGFzc0FkZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkNsYXNzRHNjIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiQ2F0YWxvZyBDbGFzcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iQ2xhc3MiIGlkPSJDbGFzc0RzYyIgdmFsdWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGNsYXNzPSJXNTBwYyBWYWxpZGF0ZV9SZXF1aXJlZCIgbWF4bGVuZ3RoPSIxMDAiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJDbGFzc0RzY0Vycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSIgPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJDbGFzc0RzY1NlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkl0ZW1FZGl0Q2xhc3NBZGQiKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJdGVtRWRpdENsYXNzRXhpc3QiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJDYXRhbG9nIENsYXNzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuQ2xhc3MgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDbGFzcyIgdmFsdWU9IlslIERhdGEuQ2xhc3MgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkl0ZW1FZGl0Q2xhc3NFeGlzdCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9Ik5hbWUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJOYW1lIiBpZD0iTmFtZSIgdmFsdWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGNsYXNzPSJXNTBwYyBWYWxpZGF0ZV9SZXF1aXJlZCIgbWF4bGVuZ3RoPSIxMDAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiID48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iTmFtZVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiUHJlZmVyZW5jZUl0ZW0iKSAlXQpbJSBJRiBEYXRhLlR5cGUgPT0gJ0lucHV0S2V5JyAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdWyUgSUYgRGF0YS5LZXkgJV0gWyUgVHJhbnNsYXRlKERhdGEuS2V5KSB8IGh0bWwgJV1bJSBFTkQgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGlkPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIiB2YWx1ZT0iWyUgRGF0YS5TZWxlY3RlZElEIHwgaHRtbCAlXSIgY2xhc3M9Ilc1MHBjIiBtYXhsZW5ndGg9IjEwMCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBFTFNJRiBEYXRhLlR5cGUgPT0gJ0lucHV0JyAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdOjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIiBpZD0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSIgdmFsdWU9IlslIERhdGEuU2VsZWN0ZWRJRCB8IGh0bWwgJV0iIGNsYXNzPSJXNTBwYyIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgSUYgRGF0YS5EZXNjICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKERhdGEuRGVzYykgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIEVMU0lGIERhdGEuVHlwZSA9PSAnVGV4dEFyZWEnICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZShEYXRhLkxhYmVsKSB8IGh0bWwgJV06PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIG5hbWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGlkPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIiByb3dzPSJbJSBEYXRhLlJvd3MgfCBodG1sICVdIiBjb2xzPSJbJSBEYXRhLkNvbHMgfCBodG1sICVdIj5bJSBEYXRhLlNlbGVjdGVkSUQgfCBodG1sICVdPC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuRGVzYyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZShEYXRhLkRlc2MpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIEVORCAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBFTFNJRiBEYXRhLlR5cGUgPT0gJ09wdGlvbicgJV0KICAgICAgICAgICAgICAgICAgICAgICAgWyUgSUYgRGF0YS5NYW5kYXRvcnkgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdWyUgSUYgRGF0YS5LZXkgJV0gWyUgVHJhbnNsYXRlKERhdGEuS2V5KSB8IGh0bWwgJV1bJSBFTkQgJV06PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgWyUgRUxTRSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdWyUgSUYgRGF0YS5LZXkgJV0gWyUgVHJhbnNsYXRlKERhdGEuS2V5KSB8IGh0bWwgJV1bJSBFTkQgJV06PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuT3B0aW9uICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBJRiBEYXRhLkRlc2MgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoRGF0YS5EZXNjKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBFTkQgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuTWFuZGF0b3J5ICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJbJSBEYXRhLk5hbWUgJV1FcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiID48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5OYW1lICVdU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIEVMU0lGIERhdGEuVHlwZSA9PSAnVXBsb2FkJyAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbCkgfCBodG1sICVdWyUgSUYgRGF0YS5LZXkgJV0gWyUgVHJhbnNsYXRlKERhdGEuS2V5KSB8IGh0bWwgJV1bJSBFTkQgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGlkPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIiB0eXBlPSJmaWxlIiBzaXplPSIzMCIgY2xhc3M9ImZpeGVkIi8+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiI+WyUgRGF0YS5GaWxlbmFtZSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+ClslIEVMU0lGIERhdGEuVHlwZSA9PSAnUGFzc3dvcmQnICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZShEYXRhLkxhYmVsKSB8IGh0bWwgJV1bJSBJRiBEYXRhLktleSAlXSBbJSBUcmFuc2xhdGUoRGF0YS5LZXkpIHwgaHRtbCAlXVslIEVORCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIGlkPSJbJSBEYXRhLk5hbWUgfCBodG1sICVdIiB2YWx1ZT0iIiBjbGFzcz0iVzUwcGMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgRUxTSUYgRGF0YS5UeXBlID09ICdDb2xvclBpY2tlcicgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSI+WyUgVHJhbnNsYXRlKERhdGEuTGFiZWwpIHwgaHRtbCAlXTo8YnIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSIgaWQ9IlslIERhdGEuTmFtZSB8IGh0bWwgJV0iIHZhbHVlPSJbJSBEYXRhLlNlbGVjdGVkSUQgfCBodG1sICVdIiBjbGFzcz0iVzUwcGMgSlNDb2xvclBpY2tlciB7cGlja2VyQm9yZGVyQ29sb3I6JyNCQkIgI0JCQiAjQkJCICNCQkInLCBwaWNrZXJJbnNldENvbG9yOicjQkJCICNCQkIgI0JCQiAjQkJCJ30iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuRGVzYyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZShEYXRhLkRlc2MpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIEVORCAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBFTkQgJV0KWyUgUmVuZGVyQmxvY2tFbmQoIlByZWZlcmVuY2VJdGVtIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVmFsaWRJRCI+WyUgVHJhbnNsYXRlKCJWYWxpZGl0eSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlZhbGlkT3B0aW9uU3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ29tbWVudCI+WyUgVHJhbnNsYXRlKCJDb21tZW50IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJDb21tZW50IiBpZD0iQ29tbWVudCIgdmFsdWU9IlslIERhdGEuQ29tbWVudCB8IGh0bWwgJV0iIGNsYXNzPSJXNTBwYyIgbWF4bGVuZ3RoPSIyMDAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgSUYgKERhdGEuQ2xhc3MgJiYgRGF0YS5DbGFzcyA9PSAnTkVXJykgfHwgRGF0YS5JdGVtSUQgPT0gJ05FVycgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5hbWU9IlN1Ym1pdCIgY2xhc3M9IkNhbGxGb3JBY3Rpb24gUHJpbWFyeSIgaWQ9IlN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij48c3Bhbj5bJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJvciIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdIj5bJSBUcmFuc2xhdGUoIkNhbmNlbCIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIEVMU0UgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5hbWU9IlN1Ym1pdEFuZENvbnRpbnVlIiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBQcmltYXJ5IiBpZD0iU3VibWl0QW5kQ29udGludWUiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9IlN1Ym1pdCI+PHNwYW4+WyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgib3IiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5hbWU9IlN1Ym1pdCIgY2xhc3M9IkNhbGxGb3JBY3Rpb24gUHJpbWFyeSIgaWQ9IlN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij48c3Bhbj5bJSBUcmFuc2xhdGUoIlNhdmUgYW5kIGZpbmlzaCIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIm9yIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUl0ZW1MaXN0O0NsYXNzPVslIERhdGEuQ2xhc3MgJV0iPlslIFRyYW5zbGF0ZSgiQ2FuY2VsIikgfCBodG1sICVdPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSXRlbUVkaXQiKSAlXQogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXciKSAlXQo=</File>
        <File Location="Kernel/System/DynamicField/Driver/GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAxOS0yMDI2IFJvdGhlciBPU1MgR21iSCwgaHR0cHM6Ly9vdG9iby5pby8KIyAtLQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiMgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAojIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCiMgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpEcml2ZXI6OkdlbmVyYWxDYXRhbG9nOwoKIyMgbm9maWx0ZXIoVGlkeUFsbDo6UGx1Z2luOjpPVE9CTzo6UGVybDo6UGFyYW1PYmplY3QpCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCnVzZSBwYXJlbnQgcXcoS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6RHJpdmVyOjpCYXNlRW50aXR5KTsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9ICgKICAgICdLZXJuZWw6OkNvbmZpZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJywKICAgICdLZXJuZWw6OlN5c3RlbTo6TWFpbicsCik7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6RHJpdmVyOjpHZW5lcmFsQ2F0YWxvZyAtIGRyaXZlciBmb3IgdGhlIEdlbmVyYWxDYXRhbG9nIGR5bmFtaWMgZmllbGQKCj1oZWFkMSBERVNDUklQVElPTgoKRHluYW1pY0ZpZWxkcyBHZW5lcmFsQ2F0YWxvZyBEcml2ZXIgZGVsZWdhdGUuIFRoaXMgZHluYW1pYyBmaWVsZCBkcml2ZXIgZ2l2ZXMgYWNjZXNzIHRvIHRoZSBsaXN0cwp0aGF0IGFyZSBkZWNsYXJlZCBpbiB0aGUgZ2VuZXJhbCBjYXRhbG9nLgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKClRoaXMgbW9kdWxlIGltcGxlbWVudHMgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9aGVhZDIgbmV3KCkKCml0IGlzIHVzdWFsbHkgbm90IG5lY2Vzc2FyeSB0byBleHBsaWNpdGx5IGNyZWF0ZSBpbnN0YW5jZXMgb2YgZHluYW1pYyBmaWVsZCBkcml2ZXJzLgpJbnN0YW5jZXMgb2YgdGhlIGRyaXZlcnMgYXJlIGNyZWF0ZWQgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIHRoZQpkeW5hbWljIGZpZWxkIGJhY2tlbmQgb2JqZWN0IEM8S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZD4uCgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICgkVHlwZSkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0gYmxlc3Mge30sICRUeXBlOwoKICAgICMgR2VuZXJhbENhdGFsb2cgZHluYW1pYyBmaWVsZHMgYXJlIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UgdGFibGUgYXR0cmlidXRlIGR5bmFtaWNfZmllbGRfdmFsdWUudmFsdWVfaW50LgogICAgJFNlbGYtPntWYWx1ZVR5cGV9ICAgICAgPSAnSW50ZWdlcic7CiAgICAkU2VsZi0+e1ZhbHVlS2V5fSAgICAgICA9ICdWYWx1ZUludCc7CiAgICAkU2VsZi0+e1RhYmxlQXR0cmlidXRlfSA9ICd2YWx1ZV9pbnQnOwoKICAgICMgc2V0IGZpZWxkIGJlaGF2aW9ycwogICAgJFNlbGYtPntCZWhhdmlvcnN9ID0gewogICAgICAgICdJc0FDTFJlZHVjaWJsZScgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICdJc05vdGlmaWNhdGlvbkV2ZW50Q29uZGl0aW9uJyA9PiAwLAogICAgICAgICdJc1NvcnRhYmxlJyAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICdJc0ZpbHRyYWJsZScgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICdJc1N0YXRzQ29uZGl0aW9uJyAgICAgICAgICAgICA9PiAwLAogICAgICAgICdJc0N1c3RvbWVySW50ZXJmYWNlQ2FwYWJsZScgICA9PiAxLAogICAgICAgICdJc0xpa2VPcGVyYXRvckNhcGFibGUnICAgICAgICA9PiAwLCAgICAjIG9ubHkgdGhlIGl0ZW1faWRzIGFyZSBzdG9yZWQgaW4gZHluYW1pY19maWVsZF92YWx1ZQogICAgICAgICdJc0hpZGRlbkluVGlja2V0SW5mb3JtYXRpb24nICA9PiAwLAogICAgICAgICdJc1NldENhcGFibGUnICAgICAgICAgICAgICAgICA9PiAxLAogICAgfTsKCiAgICAjIGdldCB0aGUgRHluYW1pYyBGaWVsZCBCYWNrZW5kIGN1c3RvbSBleHRlbnNpb25zCiAgICBteSAkRHluYW1pY0ZpZWxkRHJpdmVyRXh0ZW5zaW9ucyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnRHluYW1pY0ZpZWxkczo6RXh0ZW5zaW9uOjpEcml2ZXI6OkdlbmVyYWxDYXRhbG9nJyk7CgogICAgRVhURU5TSU9OOgogICAgZm9yIG15ICRFeHRlbnNpb25LZXkgKCBzb3J0IGtleXMgJXskRHluYW1pY0ZpZWxkRHJpdmVyRXh0ZW5zaW9uc30gKSB7CgogICAgICAgICMgc2tpcCBpbnZhbGlkIGV4dGVuc2lvbnMKICAgICAgICBuZXh0IEVYVEVOU0lPTiBpZiAhSXNIYXNoUmVmV2l0aERhdGEoICREeW5hbWljRmllbGREcml2ZXJFeHRlbnNpb25zLT57JEV4dGVuc2lvbktleX0gKTsKCiAgICAgICAgIyBjcmVhdGUgYSBleHRlbnNpb24gY29uZmlnIHNob3J0Y3V0CiAgICAgICAgbXkgJEV4dGVuc2lvbiA9ICREeW5hbWljRmllbGREcml2ZXJFeHRlbnNpb25zLT57JEV4dGVuc2lvbktleX07CgogICAgICAgICMgY2hlY2sgaWYgZXh0ZW5zaW9uIGhhcyBhIG5ldyBtb2R1bGUKICAgICAgICBpZiAoICRFeHRlbnNpb24tPntNb2R1bGV9ICkgewoKICAgICAgICAgICAgIyBjaGVjayBpZiBtb2R1bGUgY2FuIGJlIGxvYWRlZAogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAhJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKS0+UmVxdWlyZUJhc2VDbGFzcyggJEV4dGVuc2lvbi0+e01vZHVsZX0gKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBkaWUgIkNhbid0IGxvYWQgZHluYW1pYyBmaWVsZHMgYmFja2VuZCBtb2R1bGUiCiAgICAgICAgICAgICAgICAgICAgLiAiICRFeHRlbnNpb24tPntNb2R1bGV9ISAkQCI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgY2hlY2sgaWYgZXh0ZW5zaW9uIGNvbnRhaW5zIG1vcmUgYmVoYXZpb3JzCiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSggJEV4dGVuc2lvbi0+e0JlaGF2aW9yc30gKSApIHsKCiAgICAgICAgICAgICV7ICRTZWxmLT57QmVoYXZpb3JzfSB9ID0gKAogICAgICAgICAgICAgICAgJXsgJFNlbGYtPntCZWhhdmlvcnN9IH0sCiAgICAgICAgICAgICAgICAleyAkRXh0ZW5zaW9uLT57QmVoYXZpb3JzfSB9CiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIERpc3BsYXlWYWx1ZVJlbmRlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWN0aXZhdGUgSFRNTE91dHB1dCB3aGVuIGl0IHdhc24ndCBzcGVjaWZpZWQKICAgIG15ICRIVE1MT3V0cHV0ID0gJFBhcmFte0hUTUxPdXRwdXR9IC8vIDE7CgogICAgIyBnZXQgcmF3IFZhbHVlIHN0cmluZ3MgZnJvbSBmaWVsZCB2YWx1ZQogICAgbXkgQFZhbHVlcyA9ICFyZWYgJFBhcmFte1ZhbHVlfQogICAgICAgID8gKCAkUGFyYW17VmFsdWV9ICkKICAgICAgICA6IHNjYWxhciAkUGFyYW17VmFsdWV9LT5AKiA/ICRQYXJhbXtWYWx1ZX0tPkAqCiAgICAgICAgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJycpOwoKICAgICRQYXJhbXtWYWx1ZU1heENoYXJzfSB8fD0gJyc7CgogICAgbXkgJEl0ZW1MaXN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyktPkl0ZW1MaXN0KAogICAgICAgIENsYXNzID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317Q2xhc3N9LAogICAgKTsKCiAgICBteSBAUmVhZGFibGVWYWx1ZXM7CiAgICBteSBAUmVhZGFibGVUaXRsZXM7CiAgICBmb3IgbXkgJFZhbHVlSXRlbSAoQFZhbHVlcykgewogICAgICAgICRWYWx1ZUl0ZW0gLy89ICcnOwoKICAgICAgICAjIHJlcGxhY2UgYWdlbnQgbG9naW4gd2l0aCBmdWxsIG5hbWUKICAgICAgICBpZiAoJFZhbHVlSXRlbSkgewogICAgICAgICAgICAkVmFsdWVJdGVtID0gJEl0ZW1MaXN0LT57JFZhbHVlSXRlbX07CiAgICAgICAgfQoKICAgICAgICAjIHNldCB0aXRsZSBhcyB2YWx1ZSBhZnRlciB1cGRhdGUgYW5kIGJlZm9yZSBsaW1pdAogICAgICAgIHB1c2ggQFJlYWRhYmxlVGl0bGVzLCAkVmFsdWVJdGVtOwoKICAgICAgICAjIEhUTUwgT3V0cHV0IHRyYW5zZm9ybWF0aW9uCiAgICAgICAgaWYgKCRIVE1MT3V0cHV0KSB7CiAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgIFRleHQgPT4gJFZhbHVlSXRlbSwKICAgICAgICAgICAgICAgIE1heCAgPT4gJFBhcmFte1ZhbHVlTWF4Q2hhcnN9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaWYgKCAkUGFyYW17VmFsdWVNYXhDaGFyc30gJiYgbGVuZ3RoKCRWYWx1ZUl0ZW0pID4gJFBhcmFte1ZhbHVlTWF4Q2hhcnN9ICkgewogICAgICAgICAgICAgICAgJFZhbHVlSXRlbSA9IHN1YnN0ciggJFZhbHVlSXRlbSwgMCwgJFBhcmFte1ZhbHVlTWF4Q2hhcnN9ICkgLiAnLi4uJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVzaCBAUmVhZGFibGVWYWx1ZXMsICRWYWx1ZUl0ZW07CiAgICB9CgogICAgbXkgJFZhbHVlU2VwYXJhdG9yOwogICAgbXkgJFRpdGxlID0gam9pbiggJywgJywgQFJlYWRhYmxlVGl0bGVzICk7CgogICAgIyBIVE1MT3V0cHV0IHRyYW5zZm9ybWF0aW9ucwogICAgaWYgKCRIVE1MT3V0cHV0KSB7CiAgICAgICAgJFRpdGxlID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgICAgIFRleHQgPT4gJFRpdGxlLAogICAgICAgICAgICBNYXggID0+ICRQYXJhbXtUaXRsZU1heENoYXJzfSB8fCAnJywKICAgICAgICApOwogICAgICAgICRWYWx1ZVNlcGFyYXRvciA9ICc8YnIvPic7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBpZiAoICRQYXJhbXtUaXRsZU1heENoYXJzfSAmJiBsZW5ndGgoJFRpdGxlKSA+ICRQYXJhbXtUaXRsZU1heENoYXJzfSApIHsKICAgICAgICAgICAgJFRpdGxlID0gc3Vic3RyKCAkVGl0bGUsIDAsICRQYXJhbXtUaXRsZU1heENoYXJzfSApIC4gJy4uLic7CiAgICAgICAgfQogICAgICAgICRWYWx1ZVNlcGFyYXRvciA9ICJcbiI7CiAgICB9CgogICAgIyByZXR1cm4gYSBkYXRhIHN0cnVjdHVyZQogICAgcmV0dXJuIHsKICAgICAgICBWYWx1ZSA9PiBqb2luKCAkVmFsdWVTZXBhcmF0b3IsIEBSZWFkYWJsZVZhbHVlcyApLAogICAgICAgIFRpdGxlID0+ICRUaXRsZSwKICAgICAgICBMaW5rICA9PiB1bmRlZiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdGhpcyBmaWVsZCB0eXBlIGRvZXMgbm90IHN1cHBvcnQgdGhlIExpbmsgRmVhdHVyZQogICAgfTsKfQoKc3ViIFJlYWRhYmxlVmFsdWVSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIGNoZWNrIHZhbHVlCiAgICBteSBAVmFsdWVzOwogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgIEBWYWx1ZXMgPSBAeyAkUGFyYW17VmFsdWV9IH07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBAVmFsdWVzID0gKCAkUGFyYW17VmFsdWV9ICk7CiAgICB9CgogICAgIyBteSAkQ2xhc3NMaXN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyktPkNsYXNzTGlzdCgpOwogICAgbXkgJEl0ZW1MaXN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyktPkl0ZW1MaXN0KAogICAgICAgIENsYXNzID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317Q2xhc3N9LAogICAgKTsKCiAgICBteSBAUmVhZGFibGVWYWx1ZXM7CgogICAgZm9yIG15ICRJdGVtIChAVmFsdWVzKSB7CiAgICAgICAgJEl0ZW0gLy89ICcnOwoKICAgICAgICAjIHJlcGxhY2UgYWdlbnQgbG9naW4gd2l0aCBmdWxsIG5hbWUKICAgICAgICBpZiAoJEl0ZW0pIHsKICAgICAgICAgICAgJEl0ZW0gPSAkSXRlbUxpc3QtPnskSXRlbX07CiAgICAgICAgfQoKICAgICAgICBwdXNoIEBSZWFkYWJsZVZhbHVlcywgJEl0ZW0gfHwgJyc7CiAgICB9CgogICAgIyBzZXQgbmV3IGxpbmUgc2VwYXJhdG9yCiAgICBteSAkSXRlbVNlcGFyYXRvciA9ICcsICc7CgogICAgIyBPdXRwdXQgdHJhbnNmb3JtYXRpb25zCiAgICAkVmFsdWUgPSBqb2luKCAkSXRlbVNlcGFyYXRvciwgQFJlYWRhYmxlVmFsdWVzICk7CiAgICBteSAkVGl0bGUgPSAkVmFsdWU7CgogICAgIyBwcmVwYXJlIHRpdGxlCiAgICAkVGl0bGUgPSAkVmFsdWU7CgogICAgaWYgKCAkUGFyYW17VGl0bGVNYXhDaGFyc30gJiYgbGVuZ3RoICRUaXRsZSA+ICRQYXJhbXtUaXRsZU1heENoYXJzfSApIHsKICAgICAgICAkVGl0bGUgPSBzdWJzdHIoICRUaXRsZSwgMCwgJFBhcmFte1RpdGxlTWF4Q2hhcnN9ICkgLiAnLi4uJzsKICAgIH0KCiAgICAjIHJldHVybiBhIGRhdGEgc3RydWN0dXJlCiAgICByZXR1cm4gewogICAgICAgIFZhbHVlID0+ICRWYWx1ZSwKICAgICAgICBUaXRsZSA9PiAkVGl0bGUsCiAgICB9Owp9CgpzdWIgUG9zc2libGVWYWx1ZXNHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkSXRlbUxpc3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKS0+SXRlbUxpc3QoCiAgICAgICAgQ2xhc3MgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtDbGFzc30sCiAgICApOwoKICAgIG15ICVQb3NzaWJsZVZhbHVlcyA9ICRJdGVtTGlzdC0+JSo7CgogICAgIyBzZXQgUG9zc2libGVOb25lIGF0dHJpYnV0ZQogICAgbXkgJEZpZWxkUG9zc2libGVOb25lOwogICAgaWYgKCBkZWZpbmVkICRQYXJhbXtPdmVycmlkZVBvc3NpYmxlTm9uZX0gKSB7CiAgICAgICAgJEZpZWxkUG9zc2libGVOb25lID0gJFBhcmFte092ZXJyaWRlUG9zc2libGVOb25lfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRGaWVsZFBvc3NpYmxlTm9uZSA9ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317UG9zc2libGVOb25lfSB8fCAwOwogICAgfQoKICAgICMgc2V0IG5vbmUgdmFsdWUgaWYgZGVmaW5lZCBvbiBmaWVsZCBjb25maWcKICAgIGlmICgkRmllbGRQb3NzaWJsZU5vbmUpIHsKICAgICAgICAkUG9zc2libGVWYWx1ZXN7Jyd9ID0gJy0nOwogICAgfQoKICAgIHJldHVybiBcJVBvc3NpYmxlVmFsdWVzOwp9CgpzdWIgU2VhcmNoRmllbGRSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBwb3NzaWJsZSB2YWx1ZXMgYW5kIHBhc3MgdGhlbSBvbgogICAgJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtQb3NzaWJsZVZhbHVlc30gPSAkU2VsZi0+UG9zc2libGVWYWx1ZXNHZXQoJVBhcmFtKTsKCiAgICByZXR1cm4gJFNlbGYtPlNVUEVSOjpTZWFyY2hGaWVsZFJlbmRlciglUGFyYW0pOwp9CgoxOwo=</File>
        <File Location="Kernel/System/GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpHZW5lcmFsQ2F0YWxvZzsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEQicsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06Ok1haW4nLAopOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpHZW5lcmFsQ2F0YWxvZyAtIGdlbmVyYWwgY2F0YWxvZyBsaWIKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9Y3V0Cgo9aGVhZDIgbmV3KCkKCmNyZWF0ZXMgYW4gb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyOwoKICAgIGxvY2FsICRLZXJuZWw6Ok9NID0gS2VybmVsOjpTeXN0ZW06Ok9iamVjdE1hbmFnZXItPm5ldygpOwogICAgbXkgJEdlbmVyYWxDYXRhbG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IGJsZXNzIHt9LCAkVHlwZTsKCiAgICAjIGxvYWQgZ2VuZXJhdG9yIHByZWZlcmVuY2VzIG1vZHVsZQogICAgbXkgJEdlbmVyYXRvck1vZHVsZSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnR2VuZXJhbENhdGFsb2c6OlByZWZlcmVuY2VzTW9kdWxlJykKICAgICAgICB8fCAnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nOjpQcmVmZXJlbmNlc0RCJzsKICAgIGlmICggJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKS0+UmVxdWlyZSgkR2VuZXJhdG9yTW9kdWxlKSApIHsKICAgICAgICAkU2VsZi0+e1ByZWZlcmVuY2VzT2JqZWN0fSA9ICRHZW5lcmF0b3JNb2R1bGUtPm5ldyglUGFyYW0pOwogICAgfQoKICAgICMgZGVmaW5lIGNhY2hlIHNldHRpbmdzCiAgICAkU2VsZi0+e0NhY2hlVHlwZX0gPSAnR2VuZXJhbENhdGFsb2cnOwogICAgJFNlbGYtPntDYWNoZVRUTH0gID0gNjAgKiA2MCAqIDM7CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aGVhZDIgQ2xhc3NMaXN0KCkKCnJldHVybiBhIHJlZmVyZW5jZSB0byBhbiBhcnJheSBvZiBhbGwgZ2VuZXJhbCBjYXRhbG9nIGNsYXNzZXMgc29ydGVkIGFscGhhYmV0aWNhbGx5LgpDbGFzc2VzIHRoYXQgZG8gbm90IGhhdmUgYW55IHZhbGlkIGl0ZW1zIGFyZSByZXR1cm5lZCBhcyB3ZWxsLgoKICAgIG15ICRDbGFzc0xpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkNsYXNzTGlzdDsKCnJldHVybnM6CgogICAgbXkgJENsYXNzTGlzdCA9IFsgJ1Job2Rvczo6UmhvZG9zJywgJ1Job2Rvczo6U3RlZ25hJyBdOwoKPWN1dAoKc3ViIENsYXNzTGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYXNrIGRhdGFiYXNlCiAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJ1NFTEVDVCBESVNUSU5DVChnZW5lcmFsX2NhdGFsb2dfY2xhc3MpICcKICAgICAgICAgICAgLiAnRlJPTSBnZW5lcmFsX2NhdGFsb2cgT1JERVIgQlkgZ2VuZXJhbF9jYXRhbG9nX2NsYXNzJywKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSBAQ2xhc3NMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBDbGFzc0xpc3QsICRSb3dbMF07CiAgICB9CgogICAgIyBjYWNoZSB0aGUgcmVzdWx0CiAgICBteSAkQ2FjaGVLZXkgPSAnQ2xhc3NMaXN0JzsKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5TZXQoCiAgICAgICAgVHlwZSAgPT4gJFNlbGYtPntDYWNoZVR5cGV9LAogICAgICAgIFRUTCAgID0+ICRTZWxmLT57Q2FjaGVUVEx9LAogICAgICAgIEtleSAgID0+ICRDYWNoZUtleSwKICAgICAgICBWYWx1ZSA9PiBcQENsYXNzTGlzdCwKICAgICk7CgogICAgcmV0dXJuIFxAQ2xhc3NMaXN0Owp9Cgo9aGVhZDIgQ2xhc3NSZW5hbWUoKQoKcmVuYW1lcyBhIGdlbmVyYWwgY2F0YWxvZyBjbGFzcwoKICAgIG15ICRTdWNjZXNzID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5DbGFzc1JlbmFtZSgKICAgICAgICBDbGFzc09sZCA9PiAnSVRTTTo6Q29uZmlnSXRlbTo6U3RhdGUnLAogICAgICAgIENsYXNzTmV3ID0+ICdJVFNNOjpDb25maWdJdGVtOjpEZXBsb3ltZW50U3RhdGUnLAogICAgKTsKCj1jdXQKCnN1YiBDbGFzc1JlbmFtZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhDbGFzc09sZCBDbGFzc05ldykpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjbGVhbnVwIGdpdmVuIHBhcmFtcwogICAgZm9yIG15ICRBcmd1bWVudCAocXcoQ2xhc3NPbGQgQ2xhc3NOZXcpKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNoZWNrSXRlbScpLT5TdHJpbmdDbGVhbigKICAgICAgICAgICAgU3RyaW5nUmVmICAgICAgICAgPT4gXCRQYXJhbXskQXJndW1lbnR9LAogICAgICAgICAgICBSZW1vdmVBbGxOZXdsaW5lcyA9PiAxLAogICAgICAgICAgICBSZW1vdmVBbGxUYWJzICAgICA9PiAxLAogICAgICAgICAgICBSZW1vdmVBbGxTcGFjZXMgICA9PiAxLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDEgaWYgJFBhcmFte0NsYXNzTmV3fSBlcSAkUGFyYW17Q2xhc3NPbGR9OwoKICAgICMgY2hlY2sgaWYgbmV3IGNsYXNzIG5hbWUgYWxyZWFkeSBleGlzdHMKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICdTRUxFQ1QgaWQgRlJPTSBnZW5lcmFsX2NhdGFsb2cgV0hFUkUgZ2VuZXJhbF9jYXRhbG9nX2NsYXNzID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0NsYXNzTmV3fSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJEFscmVhZHlFeGlzdHMgPSAwOwogICAgd2hpbGUgKCAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RmV0Y2hyb3dBcnJheSApIHsKICAgICAgICAkQWxyZWFkeUV4aXN0cyA9IDE7CiAgICB9CgogICAgaWYgKCRBbHJlYWR5RXhpc3RzKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDYW4ndCByZW5hbWUgY2xhc3MgJFBhcmFte0NsYXNzT2xkfSEgTmV3IGNsYXNzbmFtZSBhbHJlYWR5IGV4aXN0cy4iCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyByZXNldCBjYWNoZQogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoCiAgICAgICAgVHlwZSA9PiAkU2VsZi0+e0NhY2hlVHlwZX0sCiAgICApOwoKICAgICMgcmVuYW1lIGdlbmVyYWwgY2F0YWxvZyBjbGFzcwogICAgcmV0dXJuICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICBTUUwgPT4gJ1VQREFURSBnZW5lcmFsX2NhdGFsb2cgU0VUIGdlbmVyYWxfY2F0YWxvZ19jbGFzcyA9ID8gJwogICAgICAgICAgICAuICdXSEVSRSBnZW5lcmFsX2NhdGFsb2dfY2xhc3MgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtDbGFzc05ld30sIFwkUGFyYW17Q2xhc3NPbGR9IF0sCiAgICApOwp9Cgo9aGVhZDIgSXRlbUxpc3QoKQoKcmV0dXJucyBhIGxpc3Qgb2YgaXRlbXMgaW4gYSBnZW5lcmFsIGNhdGFsb2cgY2xhc3MgYXMgYSBoYXNoIHJlZmVyZW5jZS4KVGhlIGtleSBpcyB0aGUgY2xhc3MgSUQsIHRoZSB2YWx1ZSBpcyB0aGUgY2xhc3MgbmFtZS4KV2hlbiBubyBpdGVtcyBhcmUgZm91bmQgdGhhbiBhIHJlZmVyZW5jZSB0byBhbiBlbXB0eSBoYXNoIGlzIHJldHVybmVkLgoKV2hlbiB0aGUgcGFyYW1ldGVyIEM8VmFsaWQ+IGlzIHNldCB0byBhIHRydWUgdmFsdWUgdGhlbiBvbmx5IHZhbGlkIGl0ZW1zIGFyZSByZXR1cm5lZC4KVGhpcyBpcyB0aGUgZGVmYXVsdC4gV2hlbiBDPFZhbGlkPiBpcyBleHBsaWNpdGx5IHNldCB0byBDPDA+IHRoZW4gaW52YWxpZCBpdGVtcwphcmUgYWxzbyByZXR1cm5lZC4KClRoZSBwYXJhbWV0ZXIgQzxQcmVmZXJlbmNlcz4gYWxsb3dzIHRvIGFkZCBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgbGlzdC4KVGhlIHJlc3RyaWN0aW9ucyBhcmUgY29tYmluZWQgd2l0aCAnQU5EJyBsb2dpYy4KCiAgICBteSAkSXRlbUxpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1MaXN0KAogICAgICAgIENsYXNzICAgICAgICAgPT4gJ0lUU006OlNlcnZpY2U6OlR5cGUnLAogICAgICAgIFZhbGlkICAgICAgICAgPT4gMCwgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpIGRlZmF1bHQgMQogICAgICAgIFByZWZlcmVuY2VzICAgPT4geyAgICAgICAgICAgICAgICAgICAgICAgIyAob3B0aW9uYWwpIGRlZmF1bHQge30KICAgICAgICAgICAgUGVybWlzc2lvbiA9PiAyLCAgICAgICAgICAgICAgICAgICAgICMgb3Igd2hhdGV2ZXIgcHJlZmVyZW5jZXMgY2FuIGJlIHVzZWQKICAgICAgICB9LAogICAgKTsKClJldHVybnM6CgogICAgbXkgJEl0ZW1MaXN0ID0gewogICAgICAgIDcxID0+ICdFbmQgVXNlciBTZXJ2aWNlJywKICAgICAgICA3MiA9PiAnRnJvbnQgRW5kJywKICAgICAgICA3MyA9PiAnQmFjayBFbmQnLAogICAgICAgIC4uLgogICAgfTsKCm9yIHdoZW4gdGhlIHBhY2thZ2UgSVRTTUNvcmUgaXMgbm90IGluc3RhbGxlZDoKCiAgICBteSAkSXRlbUxpc3QgPSB7fTsKCm9yIGluIGNhc2Ugb2Ygc29tZSBlcnJvcjoKCiAgICBteSAlSXRlbUxpc2UgPSB1bmRlZjsKCj1jdXQKCnN1YiBJdGVtTGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17Q2xhc3N9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBDbGFzcyEnCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCB2YWx1ZQogICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17VmFsaWR9ICkgewogICAgICAgICRQYXJhbXtWYWxpZH0gPSAxOwogICAgfQoKICAgIG15ICRQcmVmZXJlbmNlc0NhY2hlS2V5ID0gJyc7CiAgICBteSAkUHJlZmVyZW5jZXNUYWJsZSAgICA9ICcnOwogICAgbXkgJFByZWZlcmVuY2VzV2hlcmUgICAgPSAnJzsKICAgIG15IEBQcmVmZXJlbmNlc0JpbmQ7CgogICAgIyBoYW5kbGUgZ2l2ZW4gcHJlZmVyZW5jZXMKICAgIGlmICggZXhpc3RzICRQYXJhbXtQcmVmZXJlbmNlc30gJiYgcmVmICRQYXJhbXtQcmVmZXJlbmNlc30gZXEgJ0hBU0gnICkgewoKICAgICAgICAkUHJlZmVyZW5jZXNUYWJsZSA9ICcsIGdlbmVyYWxfY2F0YWxvZ19wcmVmZXJlbmNlcyc7CiAgICAgICAgbXkgQFdoZXJlczsKCiAgICAgICAgIyBhZGQgYWxsIHByZWZlcmVuY2VzIGdpdmVuIHRvIHdoZXJlLWNsYXVzZQogICAgICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICV7ICRQYXJhbXtQcmVmZXJlbmNlc30gfSApIHsKCiAgICAgICAgICAgIGlmICggcmVmKCAkUGFyYW17UHJlZmVyZW5jZXN9LT57JEtleX0gKSBuZSAnQVJSQVknICkgewogICAgICAgICAgICAgICAgJFBhcmFte1ByZWZlcmVuY2VzfS0+eyRLZXl9ID0gWyAkUGFyYW17UHJlZmVyZW5jZXN9LT57JEtleX0gXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcHVzaCBAV2hlcmVzLCAnKHByZWZfa2V5ID0gPyBBTkQgcHJlZl92YWx1ZSBJTiAoJwogICAgICAgICAgICAgICAgLiBqb2luKCAnLCAnLCBtYXAgeyc/J30gQHsgJFBhcmFte1ByZWZlcmVuY2VzfS0+eyRLZXl9IH0gKQogICAgICAgICAgICAgICAgLiAnKSknOwoKICAgICAgICAgICAgcHVzaCBAUHJlZmVyZW5jZXNCaW5kLCBcJEtleSwgbWFwIHsgXCRfIH0gQHsgJFBhcmFte1ByZWZlcmVuY2VzfS0+eyRLZXl9IH07CgogICAgICAgICAgICAjIGFkZCBmdW5jdGlvbmFsaXR5IGxpc3QgdG8gY2FjaGUga2V5CiAgICAgICAgICAgICRQcmVmZXJlbmNlc0NhY2hlS2V5IC49ICcjIyMjJyBpZiAkUHJlZmVyZW5jZXNDYWNoZUtleTsKICAgICAgICAgICAgJFByZWZlcmVuY2VzQ2FjaGVLZXkgLj0gam9pbiBxeyMjIyN9LCAkS2V5LCBtYXAgeyRffSBAeyAkUGFyYW17UHJlZmVyZW5jZXN9LT57JEtleX0gfTsKICAgICAgICB9CgogICAgICAgICRQcmVmZXJlbmNlc1doZXJlID0gJ0FORCBnZW5lcmFsX2NhdGFsb2cuaWQgPSBnZW5lcmFsX2NhdGFsb2dfcHJlZmVyZW5jZXMuZ2VuZXJhbF9jYXRhbG9nX2lkJzsKICAgICAgICAkUHJlZmVyZW5jZXNXaGVyZSAuPSAnIEFORCAnIC4gam9pbiAnIEFORCAnLCBAV2hlcmVzOwogICAgfQoKICAgICMgY3JlYXRlIHNxbCBzdHJpbmcKICAgIG15ICRTUUwgPSAiU0VMRUNUIGlkLCBuYW1lIEZST00gZ2VuZXJhbF9jYXRhbG9nICRQcmVmZXJlbmNlc1RhYmxlICIKICAgICAgICAuICJXSEVSRSBnZW5lcmFsX2NhdGFsb2dfY2xhc3MgPSA/ICRQcmVmZXJlbmNlc1doZXJlICI7CiAgICBteSBAQmluZCA9ICggXCRQYXJhbXtDbGFzc30sIEBQcmVmZXJlbmNlc0JpbmQgKTsKCiAgICAjIGFkZCB2YWxpZCBzdHJpbmcgdG8gc3FsIHN0cmluZwogICAgaWYgKCAkUGFyYW17VmFsaWR9ICkgewogICAgICAgICRTUUwgLj0gJ0FORCB2YWxpZF9pZCA9IDEgJzsKICAgIH0KCiAgICAjIGNyZWF0ZSBjYWNoZSBrZXkKICAgIG15ICRDYWNoZUtleSA9ICdJdGVtTGlzdDo6JyAuICRQYXJhbXtDbGFzc30gLiAnIyMjIycgLiAkUGFyYW17VmFsaWR9IC4gJyMjIyMnIC4gJFByZWZlcmVuY2VzQ2FjaGVLZXk7CgogICAgIyBjaGVjayBpZiByZXN1bHQgaXMgYWxyZWFkeSBjYWNoZWQKICAgIG15ICRDYWNoZSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5HZXQoCiAgICAgICAgVHlwZSA9PiAkU2VsZi0+e0NhY2hlVHlwZX0sCiAgICAgICAgS2V5ICA9PiAkQ2FjaGVLZXksCiAgICApOwogICAgcmV0dXJuICRDYWNoZSBpZiAkQ2FjaGU7CgogICAgIyBhc2sgZGF0YWJhc2UKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJFNRTCwKICAgICAgICBCaW5kID0+IFxAQmluZCwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJERhdGF7ICRSb3dbMF0gfSA9ICRSb3dbMV07CiAgICB9CgogICAgIyBqdXN0IHJldHVybiB3aXRob3V0IGxvZ2dpbmcgYW4gZXJyb3IgYW5kIHdpdGhvdXQgY2FjaGluZyB0aGUgZW1wdHkgcmVzdWx0CiAgICByZXR1cm4ge30gaWYgISVEYXRhOwoKICAgICMgY2FjaGUgdGhlIHJlc3VsdAogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPlNldCgKICAgICAgICBUeXBlICA9PiAkU2VsZi0+e0NhY2hlVHlwZX0sCiAgICAgICAgVFRMICAgPT4gJFNlbGYtPntDYWNoZVRUTH0sCiAgICAgICAgS2V5ICAgPT4gJENhY2hlS2V5LAogICAgICAgIFZhbHVlID0+IFwlRGF0YSwKICAgICk7CgogICAgcmV0dXJuIFwlRGF0YTsKfQoKPWhlYWQyIEl0ZW1HZXQoKQoKZ2V0IGl0ZW0gYXR0cmlidXRlcyBpbmNsdWRpbmcgdGhlIHByZWZlcmVuY2VzLiBOb3RlIHRoYXQgcHJlZmVyZW5jZXMgYXJlIGdlbmVyYWxseSByZXR1cm5lZCBhcyBhcnJheSByZWZzLgoKICAgIG15ICRJdGVtRGF0YVJlZiA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgICAgICBJdGVtSUQgPT4gMywKICAgICk7CgpvcgoKICAgIG15ICRJdGVtRGF0YVJlZiA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgICAgICBDbGFzcyA9PiAnSVRTTTo6U2VydmljZTo6VHlwZScsCiAgICAgICAgTmFtZSAgPT4gJ1VuZGVycGlubmluZyBDb250cmFjdCcsCiAgICApOwoKcmV0dXJucwoKICAgIG15ICRJdGVtID0gewogICAgICAgICdJdGVtSUQnICAgICA9PiAnMjMnLAogICAgICAgICdDbGFzcycgICAgICA9PiAnSVRTTTo6U2VydmljZTo6VHlwZScsCiAgICAgICAgJ05hbWUnICAgICAgID0+ICdVbmRlcnBpbm5pbmcgQ29udHJhY3QnCiAgICAgICAgJ0NvbW1lbnQnICAgID0+IFsnU29tZSBDb21tZW50J10sCiAgICAgICAgJ1ZhbGlkSUQnICAgID0+ICcxJywKICAgICAgICAnQ3JlYXRlVGltZScgPT4gJzIwMTItMDEtMTIgMDk6MzY6MjQnLAogICAgICAgICdDcmVhdGVCeScgICA9PiAnMScsCiAgICAgICAgJ0NoYW5nZVRpbWUnID0+ICcyMDEyLTAxLTEyIDA5OjM2OjI0JywKICAgICAgICAnQ2hhbmdlQnknICAgPT4gJzEnLAogICAgfTsKCj1jdXQKCnN1YiBJdGVtR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtJdGVtSUR9ICYmICggISRQYXJhbXtDbGFzc30gfHwgJFBhcmFte05hbWV9IGVxICcnICkgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW1JRCBPUiBDbGFzcyBhbmQgTmFtZSEnCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjcmVhdGUgc3FsIHN0cmluZwogICAgbXkgJFNRTCA9ICdTRUxFQ1QgaWQsIGdlbmVyYWxfY2F0YWxvZ19jbGFzcywgbmFtZSwgdmFsaWRfaWQsIGNvbW1lbnRzLCAnCiAgICAgICAgLiAnY3JlYXRlX3RpbWUsIGNyZWF0ZV9ieSwgY2hhbmdlX3RpbWUsIGNoYW5nZV9ieSBGUk9NIGdlbmVyYWxfY2F0YWxvZyBXSEVSRSAnOwogICAgbXkgQEJJTkQ7CgogICAgIyBhZGQgb3B0aW9ucyB0byBzcWwgc3RyaW5nCiAgICBpZiAoICRQYXJhbXtDbGFzc30gJiYgJFBhcmFte05hbWV9IG5lICcnICkgewoKICAgICAgICAjIGNoZWNrIGlmIHJlc3VsdCBpcyBhbHJlYWR5IGNhY2hlZAogICAgICAgIG15ICRDYWNoZUtleSA9ICdJdGVtR2V0OjpDbGFzczo6JyAuICRQYXJhbXtDbGFzc30gLiAnOjonIC4gJFBhcmFte05hbWV9OwogICAgICAgIG15ICRDYWNoZSAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5HZXQoCiAgICAgICAgICAgIFR5cGUgPT4gJFNlbGYtPntDYWNoZVR5cGV9LAogICAgICAgICAgICBLZXkgID0+ICRDYWNoZUtleSwKICAgICAgICApOwogICAgICAgIHJldHVybiAkQ2FjaGUgaWYgJENhY2hlOwoKICAgICAgICAjIGFkZCBjbGFzcyBhbmQgbmFtZSB0byBzcWwgc3RyaW5nCiAgICAgICAgJFNRTCAuPSAnZ2VuZXJhbF9jYXRhbG9nX2NsYXNzID0gPyBBTkQgbmFtZSA9ID8nOwogICAgICAgIHB1c2ggQEJJTkQsICggXCRQYXJhbXtDbGFzc30sIFwkUGFyYW17TmFtZX0gKTsKICAgIH0KICAgIGVsc2UgewoKICAgICAgICAjIGNoZWNrIGlmIHJlc3VsdCBpcyBhbHJlYWR5IGNhY2hlZAogICAgICAgIG15ICRDYWNoZUtleSA9ICdJdGVtR2V0OjpJdGVtSUQ6OicgLiAkUGFyYW17SXRlbUlEfTsKICAgICAgICBteSAkQ2FjaGUgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnKS0+R2V0KAogICAgICAgICAgICBUeXBlID0+ICRTZWxmLT57Q2FjaGVUeXBlfSwKICAgICAgICAgICAgS2V5ICA9PiAkQ2FjaGVLZXksCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJENhY2hlIGlmICRDYWNoZTsKCiAgICAgICAgIyBhZGQgaXRlbSBpZCB0byBzcWwgc3RyaW5nCiAgICAgICAgJFNRTCAuPSAnaWQgPSA/JzsKICAgICAgICBwdXNoIEBCSU5ELCBcJFBhcmFte0l0ZW1JRH07CiAgICB9CgogICAgIyBhc2sgZGF0YWJhc2UKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgQmluZCAgPT4gXEBCSU5ELAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJUl0ZW1EYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkSXRlbURhdGF7SXRlbUlEfSAgICAgPSAkUm93WzBdOwogICAgICAgICRJdGVtRGF0YXtDbGFzc30gICAgICA9ICRSb3dbMV07CiAgICAgICAgJEl0ZW1EYXRhe05hbWV9ICAgICAgID0gJFJvd1syXTsKICAgICAgICAkSXRlbURhdGF7VmFsaWRJRH0gICAgPSAkUm93WzNdOwogICAgICAgICRJdGVtRGF0YXtDb21tZW50fSAgICA9ICRSb3dbNF0gfHwgJyc7CiAgICAgICAgJEl0ZW1EYXRhe0NyZWF0ZVRpbWV9ID0gJFJvd1s1XTsKICAgICAgICAkSXRlbURhdGF7Q3JlYXRlQnl9ICAgPSAkUm93WzZdOwogICAgICAgICRJdGVtRGF0YXtDaGFuZ2VUaW1lfSA9ICRSb3dbN107CiAgICAgICAgJEl0ZW1EYXRhe0NoYW5nZUJ5fSAgID0gJFJvd1s4XTsKICAgIH0KCiAgICAjIGNoZWNrIGl0ZW0KICAgIGlmICggISRJdGVtRGF0YXtJdGVtSUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnSXRlbSBub3QgZm91bmQgaW4gZGF0YWJhc2UhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZXMKICAgIG15ICVQcmVmZXJlbmNlcyA9ICRTZWxmLT5HZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzR2V0KCBJdGVtSUQgPT4gJEl0ZW1EYXRhe0l0ZW1JRH0gKTsKCiAgICAjIG1lcmdlIGhhc2gKICAgIGlmICglUHJlZmVyZW5jZXMpIHsKICAgICAgICAlSXRlbURhdGEgPSAoICVJdGVtRGF0YSwgJVByZWZlcmVuY2VzICk7CiAgICB9CgogICAgIyBjYWNoZSB0aGUgcmVzdWx0CiAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnKS0+U2V0KAogICAgICAgIFR5cGUgID0+ICRTZWxmLT57Q2FjaGVUeXBlfSwKICAgICAgICBUVEwgICA9PiAkU2VsZi0+e0NhY2hlVFRMfSwKICAgICAgICBLZXkgICA9PiAnSXRlbUdldDo6Q2xhc3M6OicgLiAkSXRlbURhdGF7Q2xhc3N9IC4gJzo6JyAuICRJdGVtRGF0YXtOYW1lfSwKICAgICAgICBWYWx1ZSA9PiBcJUl0ZW1EYXRhLAogICAgKTsKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5TZXQoCiAgICAgICAgVHlwZSAgPT4gJFNlbGYtPntDYWNoZVR5cGV9LAogICAgICAgIFRUTCAgID0+ICRTZWxmLT57Q2FjaGVUVEx9LAogICAgICAgIEtleSAgID0+ICdJdGVtR2V0OjpJdGVtSUQ6OicgLiAkSXRlbURhdGF7SXRlbUlEfSwKICAgICAgICBWYWx1ZSA9PiBcJUl0ZW1EYXRhLAogICAgKTsKCiAgICByZXR1cm4gXCVJdGVtRGF0YTsKfQoKPWhlYWQyIEl0ZW1BZGQoKQoKYWRkcyBhIG5ldyBnZW5lcmFsIGNhdGFsb2cgaXRlbS4gUHJlZmVyZW5jZXMgY2FuJ3QgYmUgcGFzc2VkIGluIHRoaXMgbWV0aG9kLgoKICAgIG15ICRJdGVtSUQgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1BZGQoCiAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnSVRTTTo6U2VydmljZTo6VHlwZScsCiAgICAgICAgTmFtZSAgICAgICAgICA9PiAnSXRlbSBOYW1lJywKICAgICAgICBWYWxpZElEICAgICAgID0+IDEsCiAgICAgICAgQ29tbWVudCAgICAgICA9PiAnQ29tbWVudCcsICAgICAgICAgICAgICAjIChvcHRpb25hbCkKICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEl0ZW1BZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoQ2xhc3MgVmFsaWRJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgbmFtZSBtdXN0IGJlIG5vdCBlbXB0eSwgYnV0IG51bWJlciB6ZXJvICgwKSBpcyBhbGxvd2VkCiAgICBpZiAoICEoIGRlZmluZWQgJFBhcmFte05hbWV9ICkgfHwgISggbGVuZ3RoICRQYXJhbXtOYW1lfSApICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCBOYW1lISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCB2YWx1ZXMKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KENvbW1lbnQpKSB7CiAgICAgICAgJFBhcmFteyRBcmd1bWVudH0gfHw9ICcnOwogICAgfQoKICAgICMgY2xlYW51cCBnaXZlbiBwYXJhbXMKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KENsYXNzKSkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsU3BhY2VzICAgPT4gMSwKICAgICAgICApOwogICAgfQogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTmFtZSBDb21tZW50KSkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgICMgZmluZCBleGl0aW5nIGl0ZW0gd2l0aCBzYW1lIG5hbWUKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnU0VMRUNUIGlkIEZST00gZ2VuZXJhbF9jYXRhbG9nICcKICAgICAgICAgICAgLiAnV0hFUkUgZ2VuZXJhbF9jYXRhbG9nX2NsYXNzID0gPyBBTkQgbmFtZSA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtDbGFzc30sIFwkUGFyYW17TmFtZX0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICROb0FkZDsKICAgIHdoaWxlICggJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkTm9BZGQgPSAxOwogICAgfQoKICAgICMgYWJvcnQgaW5zZXJ0IG9mIG5ldyBpdGVtLCBpZiBpdGVtIG5hbWUgYWxyZWFkeSBleGlzdHMKICAgIGlmICgkTm9BZGQpIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4KICAgICAgICAgICAgICAgICJDYW4ndCBhZGQgbmV3IGl0ZW0hIEdlbmVyYWwgY2F0YWxvZyBpdGVtIHdpdGggc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoaXMgY2xhc3MuIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIHJlc2V0IGNhY2hlCiAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnKS0+Q2xlYW5VcCgKICAgICAgICBUeXBlID0+ICRTZWxmLT57Q2FjaGVUeXBlfSwKICAgICk7CgogICAgIyBpbnNlcnQgbmV3IGl0ZW0KICAgIHJldHVybiBpZiAhJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gZ2VuZXJhbF9jYXRhbG9nICcKICAgICAgICAgICAgLiAnKGdlbmVyYWxfY2F0YWxvZ19jbGFzcywgbmFtZSwgdmFsaWRfaWQsIGNvbW1lbnRzLCAnCiAgICAgICAgICAgIC4gJ2NyZWF0ZV90aW1lLCBjcmVhdGVfYnksIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkpIFZBTFVFUyAnCiAgICAgICAgICAgIC4gJyg/LCA/LCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPywgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtDbGFzc30sIFwkUGFyYW17TmFtZX0sCiAgICAgICAgICAgIFwkUGFyYW17VmFsaWRJRH0sCiAgICAgICAgICAgIFwkUGFyYW17Q29tbWVudH0sIFwkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgXCRQYXJhbXtVc2VySUR9LAogICAgICAgIF0sCiAgICApOwoKICAgICMgZmluZCBpZCBvZiBuZXcgaXRlbQogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICdTRUxFQ1QgaWQgRlJPTSBnZW5lcmFsX2NhdGFsb2cgJwogICAgICAgICAgICAuICdXSEVSRSBnZW5lcmFsX2NhdGFsb2dfY2xhc3MgPSA/IEFORCBuYW1lID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0NsYXNzfSwgXCRQYXJhbXtOYW1lfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJEl0ZW1JRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJEl0ZW1JRCA9ICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuICRJdGVtSUQ7Cn0KCj1oZWFkMiBJdGVtVXBkYXRlKCkKCnVwZGF0ZXMgYW4gZXhpc3RpbmcgZ2VuZXJhbCBjYXRhbG9nIGl0ZW0uIFByZWZlcmVuY2VzIGNhbid0IGJlIHBhc3NlZCBpbiB0aGlzIG1ldGhvZC4KCiAgICBteSAkU3VjY2VzcyA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbVVwZGF0ZSgKICAgICAgICBJdGVtSUQgICAgICAgID0+IDEyMywKICAgICAgICBOYW1lICAgICAgICAgID0+ICdJdGVtIE5hbWUnLAogICAgICAgIFZhbGlkSUQgICAgICAgPT4gMSwKICAgICAgICBDb21tZW50ICAgICAgID0+ICdDb21tZW50JywgICAgIyAob3B0aW9uYWwpCiAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBJdGVtVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KEl0ZW1JRCBWYWxpZElEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBuYW1lIG11c3QgYmUgbm90IGVtcHR5LCBidXQgbnVtYmVyIHplcm8gKDApIGlzIGFsbG93ZWQKICAgIGlmICggJFBhcmFte05hbWV9IGVxICcnICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCBOYW1lISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCB2YWx1ZXMKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KENvbW1lbnQpKSB7CiAgICAgICAgJFBhcmFteyRBcmd1bWVudH0gfHw9ICcnOwogICAgfQoKICAgICMgY2xlYW51cCBnaXZlbiBwYXJhbXMKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KENsYXNzKSkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsU3BhY2VzICAgPT4gMSwKICAgICAgICApOwogICAgfQogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTmFtZSBDb21tZW50KSkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGNsYXNzIG9mIGl0ZW0KICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICdTRUxFQ1QgZ2VuZXJhbF9jYXRhbG9nX2NsYXNzIEZST00gZ2VuZXJhbF9jYXRhbG9nIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0l0ZW1JRH0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRDbGFzczsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJENsYXNzID0gJFJvd1swXTsKICAgIH0KCiAgICBpZiAoICEkQ2xhc3MgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDYW4ndCB1cGRhdGUgaXRlbSEgR2VuZXJhbCBjYXRhbG9nIGl0ZW0gbm90IGZvdW5kIGluIHRoaXMgY2xhc3MuIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGZpbmQgZXhpdGluZyBpdGVtIHdpdGggc2FtZSBuYW1lCiAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+UHJlcGFyZSgKICAgICAgICBTUUwgICA9PiAnU0VMRUNUIGlkIEZST00gZ2VuZXJhbF9jYXRhbG9nIFdIRVJFIGdlbmVyYWxfY2F0YWxvZ19jbGFzcyA9ID8gQU5EIG5hbWUgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkQ2xhc3MsIFwkUGFyYW17TmFtZX0gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRVcGRhdGUgPSAxOwogICAgd2hpbGUgKCBteSBAUm93ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBpZiAoICRQYXJhbXtJdGVtSUR9IG5lICRSb3dbMF0gKSB7CiAgICAgICAgICAgICRVcGRhdGUgPSAwOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICEkVXBkYXRlICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PgogICAgICAgICAgICAgICAgIkNhbid0IHVwZGF0ZSBpdGVtISBHZW5lcmFsIGNhdGFsb2cgaXRlbSB3aXRoIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGNsYXNzLiIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyByZXNldCBjYWNoZQogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoCiAgICAgICAgVHlwZSA9PiAkU2VsZi0+e0NhY2hlVHlwZX0sCiAgICApOwoKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMID0+ICdVUERBVEUgZ2VuZXJhbF9jYXRhbG9nIFNFVCAnCiAgICAgICAgICAgIC4gJ25hbWUgPSA/LCB2YWxpZF9pZCA9ID8sIGNvbW1lbnRzID0gPywgJwogICAgICAgICAgICAuICdjaGFuZ2VfdGltZSA9IGN1cnJlbnRfdGltZXN0YW1wLCBjaGFuZ2VfYnkgPSA/ICcKICAgICAgICAgICAgLiAnV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtOYW1lfSwKICAgICAgICAgICAgXCRQYXJhbXtWYWxpZElEfSwgXCRQYXJhbXtDb21tZW50fSwKICAgICAgICAgICAgXCRQYXJhbXtVc2VySUR9LCAgXCRQYXJhbXtJdGVtSUR9LAogICAgICAgIF0sCiAgICApOwp9Cgo9aGVhZDIgR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc1NldCgpCgpzZXRzIGEgc2luZ2xlIHByZWZlcmVuY2UgZm9yIGEgZ2VuZXJhbCBjYXRhbG9nIGl0ZW0KCiAgICAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNTZXQoCiAgICAgICAgSXRlbUlEID0+IDEyMywKICAgICAgICBLZXkgICAgPT4gJ1VzZXJDb21tZW50JywKICAgICAgICBWYWx1ZSAgPT4gJ3NvbWUgY29tbWVudCcsCiAgICApOwoKPWN1dAoKc3ViIEdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNTZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGRlbGV0ZSBjYWNoZQogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoCiAgICAgICAgVHlwZSA9PiAkU2VsZi0+e0NhY2hlVHlwZX0sCiAgICApOwoKICAgIHJldHVybiAkU2VsZi0+e1ByZWZlcmVuY2VzT2JqZWN0fS0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc1NldCglUGFyYW0pOwp9Cgo9aGVhZDIgR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dldCgpCgpnZXRzIGFsbCBwcmVmZXJlbmNlcyBmb3IgYSBnZW5lcmFsIGNhdGFsb2cgaXRlbQoKICAgIG15ICVQcmVmZXJlbmNlcyA9ICRRdWV1ZU9iamVjdC0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dldCgKICAgICAgICBJdGVtSUQgPT4gMTIzLAogICAgKTsKCj1jdXQKCnN1YiBHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuICRTZWxmLT57UHJlZmVyZW5jZXNPYmplY3R9LT5HZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzR2V0KCVQYXJhbSk7Cn0KCjE7Cg==</File>
        <File Location="Kernel/System/GeneralCatalog/PreferencesDB.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpHZW5lcmFsQ2F0YWxvZzo6UHJlZmVyZW5jZXNEQjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAopOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KElzQXJyYXlSZWZXaXRoRGF0YSk7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nOjpQcmVmZXJlbmNlc0RCIC0gc29tZSBwcmVmZXJlbmNlcyBmdW5jdGlvbnMgZm9yIGdlbmVyYWwgY2F0YWxvZwoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1jdXQKCj1oZWFkMiBuZXcoKQoKY3JlYXRlIGFuIG9iamVjdAoKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6T2JqZWN0TWFuYWdlcjsKCiAgICBsb2NhbCAkS2VybmVsOjpPTSA9IEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyLT5uZXcoKTsKICAgIG15ICRHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2c6OlByZWZlcmVuY2VzREInKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0gYmxlc3Mge30sICRUeXBlOwoKICAgICMgcHJlZmVyZW5jZXMgdGFibGUgZGF0YQogICAgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlfSAgICAgID0gJ2dlbmVyYWxfY2F0YWxvZ19wcmVmZXJlbmNlcyc7CiAgICAkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGVLZXl9ICAgPSAncHJlZl9rZXknOwogICAgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlVmFsdWV9ID0gJ3ByZWZfdmFsdWUnOwogICAgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlR2NJRH0gID0gJ2dlbmVyYWxfY2F0YWxvZ19pZCc7CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aGVhZDIgR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc1NldCgpCgpzZXRzIGEgc2luZ2xlIHByZWZlcmVuY2UgZm9yIGEgZ2VuZXJhbCBjYXRhbG9nIGl0ZW0KCiAgICAkUHJlZmVyZW5jZXNPYmplY3QtPkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNTZXQoCiAgICAgICAgSXRlbUlEID0+IDEyMzQsCiAgICAgICAgS2V5ICAgID0+ICdGdW5jdGlvbmFsaXR5JywKICAgICAgICBWYWx1ZSAgPT4gWydvcGVyYXRpb25hbCddLAogICAgKTsKCj1jdXQKCnN1YiBHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzU2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkTmVlZGVkIChxdyhJdGVtSUQgS2V5KSkgewogICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXskTmVlZGVkfSApICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkTmVlZGVkISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAkUGFyYW17VmFsdWV9ICYmICggcmVmICRQYXJhbXtWYWx1ZX0gbmUgJ0FSUkFZJyApICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiVmFsdWUgaW52YWxpZCEiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZGVsZXRlIG9sZCBkYXRhCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMID0+ICJERUxFVEUgRlJPTSAkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGV9IFdIRVJFICIKICAgICAgICAgICAgLiAiJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlR2NJRH0gPSA/IEFORCAkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGVLZXl9ID0gPyIsCiAgICAgICAgQmluZCA9PiBbCiAgICAgICAgICAgIFwkUGFyYW17SXRlbUlEfSwKICAgICAgICAgICAgXCRQYXJhbXtLZXl9LAogICAgICAgIF0sCiAgICApOwoKICAgICMgaW5zZXJ0IG5ldyBkYXRhLCBpZiBnaXZlbiAoYWxsb3dzIHRvIHNpbXBseSBkZWxldGUgZGF0YSkKICAgIHJldHVybiB1bmxlc3MgSXNBcnJheVJlZldpdGhEYXRhKCAkUGFyYW17VmFsdWV9ICk7CgogICAgbXkgJE51bUluc2VydHMgPSAkREJPYmplY3QtPkRvQXJyYXkoCiAgICAgICAgU1FMID0+ICJJTlNFUlQgSU5UTyAkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGV9ICgkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGVHY0lEfSwgIgogICAgICAgICAgICAuICIgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlS2V5fSwgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlVmFsdWV9KSAiCiAgICAgICAgICAgIC4gIiBWQUxVRVMgKD8sID8sID8pIiwKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgJFBhcmFte0l0ZW1JRH0sCiAgICAgICAgICAgICRQYXJhbXtLZXl9LAogICAgICAgICAgICAkUGFyYW17VmFsdWV9LAogICAgICAgIF0sCiAgICApOwoKICAgIGlmICggJE51bUluc2VydHMgIT0gc2NhbGFyICRQYXJhbXtWYWx1ZX0tPkAqICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiUHJlZmVyZW5jZXMgaW5zZXJ0aW9uIGZhaWxlZCEiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dldCgpCgpnZXRzIGFsbCBwcmVmZXJlbmNlcyBmb3IgYSBnZW5lcmFsIGNhdGFsb2cgaXRlbQoKICAgIG15ICVQcmVmZXJlbmNlcyA9ICRQcmVmZXJlbmNlc09iamVjdC0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dldCgKICAgICAgICBJdGVtSUQgPT4gMTIzLAogICAgKTsKCj1jdXQKCnN1YiBHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkTmVlZGVkIChxdyhJdGVtSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyROZWVkZWR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkTmVlZGVkISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBpZiBxdWV1ZSBwcmVmZXJlbmNlcyBhcmUgYXZhaWxhYmxlCiAgICBpZiAoICEkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0dlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMnKSApIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgcHJlZmVyZW5jZXMKICAgIHJldHVybiBpZiAhJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICJTRUxFQ1QgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlS2V5fSwgJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlVmFsdWV9ICIKICAgICAgICAgICAgLiAiIEZST00gJFNlbGYtPntQcmVmZXJlbmNlc1RhYmxlfSBXSEVSRSAkU2VsZi0+e1ByZWZlcmVuY2VzVGFibGVHY0lEfSA9ID8iLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte0l0ZW1JRH0gXSwKICAgICk7CgogICAgbXkgJURhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICREYXRheyAkUm93WzBdIH0gLy89IFtdOwogICAgICAgIHB1c2ggJERhdGF7ICRSb3dbMF0gfS0+QCosICRSb3dbMV07CiAgICB9CgogICAgIyByZXR1cm4gZGF0YQogICAgcmV0dXJuICVEYXRhOwp9CgoxOwo=</File>
        <File Location="scripts/test/GeneralCatalog.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgojIGNvcmUgbW9kdWxlcwoKIyBDUEFOIG1vZHVsZXMKdXNlIFRlc3QyOjpWMCBxdyggZG9uZV90ZXN0aW5nIGZhaWwgaXMgb2sgKTsKCiMgT1RPQk8gbW9kdWxlcwp1c2UgS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpSZWdpc3Rlck9NOyAgICAjIFNldCB1cCAkS2VybmVsOjpPTQoKIyBjcmVhdGUgbmVlZGVkIG9iamVjdHMKbXkgJENvbmZpZ09iamVjdCAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKbXkgJEdlbmVyYWxDYXRhbG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyk7Cm15ICRVc2VyT2JqZWN0ICAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJyk7CgojIGdldCBoZWxwZXIgb2JqZWN0CiRLZXJuZWw6Ok9NLT5PYmplY3RQYXJhbUFkZCgKICAgICdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicgPT4gewogICAgICAgIFJlc3RvcmVEYXRhYmFzZSA9PiAxLAogICAgfSwKKTsKbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgojIGRlZmluZSBuZWVkZWQgdmFyaWFibGUKbXkgJFJhbmRvbUlEID0gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBtYWtlIHByZXBhcmF0aW9ucwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgojIGNyZWF0ZSBuZWVkZWQgdXNlcnMKbXkgQFVzZXJJRHM7CnsKCiAgICAjIGRpc2FibGUgZW1haWwgY2hlY2tzIHRvIGNyZWF0ZSBuZXcgdXNlcgogICAgbXkgJENoZWNrRW1haWxBZGRyZXNzZXNPcmcgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoZWNrRW1haWxBZGRyZXNzZXMnKSB8fCAxOwogICAgJENvbmZpZ09iamVjdC0+U2V0KAogICAgICAgIEtleSAgID0+ICdDaGVja0VtYWlsQWRkcmVzc2VzJywKICAgICAgICBWYWx1ZSA9PiAwLAogICAgKTsKCiAgICBmb3IgbXkgJENvdW50ZXIgKCAxIC4uIDIgKSB7CgogICAgICAgICMgY3JlYXRlIG5ldyB1c2VycyBmb3IgdGhlIHRlc3RzCiAgICAgICAgbXkgJFVzZXJJRCA9ICRVc2VyT2JqZWN0LT5Vc2VyQWRkKAogICAgICAgICAgICBVc2VyRmlyc3RuYW1lID0+ICdHZW5lcmFsQ2F0YWxvZycgLiAkQ291bnRlciwKICAgICAgICAgICAgVXNlckxhc3RuYW1lICA9PiAnVW5pdFRlc3QnLAogICAgICAgICAgICBVc2VyTG9naW4gICAgID0+ICdVbml0VGVzdC1HZW5lcmFsQ2F0YWxvZy0nIC4gJENvdW50ZXIgLiAkUmFuZG9tSUQsCiAgICAgICAgICAgIFVzZXJFbWFpbCAgICAgPT4gJ1VuaXRUZXN0LUdlbmVyYWxDYXRhbG9nLScgLiAkQ291bnRlciAuICdAbG9jYWxob3N0JywKICAgICAgICAgICAgVmFsaWRJRCAgICAgICA9PiAxLAogICAgICAgICAgICBDaGFuZ2VVc2VySUQgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgcHVzaCBAVXNlcklEcywgJFVzZXJJRDsKICAgIH0KCiAgICAjIHJlc3RvcmUgb3JpZ2luYWwgZW1haWwgY2hlY2sgcGFyYW0KICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICAgICAgVmFsdWUgPT4gJENoZWNrRW1haWxBZGRyZXNzZXNPcmcsCiAgICApOwp9CgojIGNyZWF0ZSBuZWVkZWQgcmFuZG9tIGNsYXNzZXMKbXkgQENsYXNzUmFuZCA9IG1hcCB7ICRIZWxwZXItPkdldFJhbmRvbU51bWJlciB9ICggMCAuLiAyICk7CgojIHN0b3JlIG9yaWdpbmFsIGdlbmVyYWwgY2F0YWxvZyBwZXJtaXNzaW9uIHByZWZlcmVuY2VzIHNldHRpbmcKbXkgJEdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNQZXJtaXNzaW9uc09yZzsKaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ0dlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMnKSApIHsKICAgICRHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzUGVybWlzc2lvbnNPcmcgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0dlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMnKS0+e1Blcm1pc3Npb25zfTsKfQoKIyBlbmFibGUgZ2VuZXJhbCBjYXRhbG9nIHBlcm1pc3Npb24gcHJlZmVyZW5jZXMgc2V0dGluZyB3aXRoIGEgZHVtbXkgdHJ1ZSB2YWx1ZQokQ29uZmlnT2JqZWN0LT5TZXQoCiAgICBLZXkgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI1Blcm1pc3Npb25zJywKICAgIFZhbHVlID0+IDEsCik7CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgZGVmaW5lIGdlbmVyYWwgdGVzdHMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKbXkgJEl0ZW1EYXRhID0gWwoKICAgICMgdGhpcyBpdGVtIGlzIE5PVCBjb21wbGV0ZSBhbmQgbXVzdCBub3QgYmUgYWRkZWQKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBOYW1lICAgID0+ICdUZXN0SXRlbTEnLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBpcyBOT1QgY29tcGxldGUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBpcyBOT1QgY29tcGxldGUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgID0+ICdVbml0VGVzdDo6VGVzdENsYXNzJyAuICRDbGFzc1JhbmRbMF0sCiAgICAgICAgICAgIE5hbWUgICA9PiAnVGVzdEl0ZW0yJywKICAgICAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIGl0ZW0gaXMgTk9UIGNvbXBsZXRlIGFuZCBtdXN0IG5vdCBiZSBhZGRlZAogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAnVGVzdEl0ZW0zJywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyBpdGVtIG11c3QgYmUgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5CiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICdUZXN0SXRlbTQnLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFkZEdldCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgID0+ICdVbml0VGVzdDo6VGVzdENsYXNzJyAuICRDbGFzc1JhbmRbMF0sCiAgICAgICAgICAgIE5hbWUgICAgID0+ICdUZXN0SXRlbTQnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBwcmVmZXJlbmNlcyBvZiB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgc2V0CiAgICB7CiAgICAgICAgUHJlZmVyZW5jZXNTZXQgPT4gewogICAgICAgICAgICBIZWxsbyA9PiAnV29ybGQnLAogICAgICAgICAgICBDb2xvciA9PiAnUmVkJywKICAgICAgICB9LAogICAgICAgIFByZWZlcmVuY2VzR2V0ID0+IHsKICAgICAgICAgICAgSGVsbG8gPT4gJ1dvcmxkJywKICAgICAgICAgICAgQ29sb3IgPT4gJ1JlZCcsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIGl0ZW0gaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIG9uZSB0ZXN0IGJlZm9yZSBhbmQgbXVzdCBub3QgYmUgYWRkZWQKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBDbGFzcyAgID0+ICdVbml0VGVzdDo6VGVzdENsYXNzJyAuICRDbGFzc1JhbmRbMF0sCiAgICAgICAgICAgIE5hbWUgICAgPT4gJ1Rlc3RJdGVtNCcsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyBpdGVtIG11c3QgYmUgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5CiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICdUZXN0SXRlbTUnLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFkZEdldCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgID0+ICdVbml0VGVzdDo6VGVzdENsYXNzJyAuICRDbGFzc1JhbmRbMF0sCiAgICAgICAgICAgIE5hbWUgICAgID0+ICdUZXN0SXRlbTUnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBwcmVmZXJlbmNlcyBvZiB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgc2V0CiAgICB7CiAgICAgICAgUHJlZmVyZW5jZXNTZXQgPT4gewogICAgICAgICAgICBIZWxsbyA9PiAnTmV3V29ybGQnLAogICAgICAgICAgICBDb2xvciA9PiAnQmx1ZScsCiAgICAgICAgfSwKICAgICAgICBQcmVmZXJlbmNlc0dldCA9PiB7CiAgICAgICAgICAgIEhlbGxvID0+ICdOZXdXb3JsZCcsCiAgICAgICAgICAgIENvbG9yID0+ICdCbHVlJywKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBpdGVtIG9uZSBhZGQtdGVzdCBiZWZvcmUgbXVzdCBiZSBOT1QgdXBkYXRlZCAoaXRlbSB1cGRhdGUgYXJndW1lbnRzIE5PVCBjb21wbGV0ZSkKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBWYWxpZElEID0+ICRVc2VySURzWzBdLAogICAgICAgICAgICBVc2VySUQgID0+ICRVc2VySURzWzBdLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhlIGl0ZW0gb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIE5PVCB1cGRhdGVkIChpdGVtIHVwZGF0ZSBhcmd1bWVudHMgTk9UIGNvbXBsZXRlKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnVGVzdEl0ZW01VVBEQVRFMScsCiAgICAgICAgICAgIFVzZXJJRCA9PiAkVXNlcklEc1swXSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBpdGVtIG9uZSBhZGQtdGVzdCBiZWZvcmUgbXVzdCBiZSBOT1QgdXBkYXRlZCAoaXRlbSB1cGRhdGUgYXJndW1lbnRzIE5PVCBjb21wbGV0ZSkKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBWYWxpZElEID0+ICRVc2VySURzWzBdLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhlIGl0ZW0gb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgKGl0ZW0gdXBkYXRlIGFyZ3VtZW50cyBhcmUgY29tcGxldGUpCiAgICB7CiAgICAgICAgVXBkYXRlID0+IHsKICAgICAgICAgICAgTmFtZSAgICA9PiAnVGVzdEl0ZW01VVBEQVRFMicsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gJFVzZXJJRHNbMF0sCiAgICAgICAgICAgIFVzZXJJRCAgPT4gJFVzZXJJRHNbMF0sCiAgICAgICAgfSwKICAgICAgICBVcGRhdGVHZXQgPT4gewogICAgICAgICAgICBOYW1lICAgICA9PiAnVGVzdEl0ZW01VVBEQVRFMicsCiAgICAgICAgICAgIFZhbGlkSUQgID0+ICRVc2VySURzWzBdLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gJFVzZXJJRHNbMF0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgdXBkYXRlZCAoaXRlbSB1cGRhdGUgYXJndW1lbnRzIGFyZSBjb21wbGV0ZSkKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBOYW1lICAgID0+ICdUZXN0SXRlbTVVUERBVEUzJywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBVcGRhdGVHZXQgPT4gewogICAgICAgICAgICBOYW1lICAgICA9PiAnVGVzdEl0ZW01VVBEQVRFMycsCiAgICAgICAgICAgIFZhbGlkSUQgID0+IDEsCiAgICAgICAgICAgIENvbW1lbnQgID0+ICcnLAogICAgICAgICAgICBDcmVhdGVCeSA9PiAxLAogICAgICAgICAgICBDaGFuZ2VCeSA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyB0ZW1wbGF0ZSBtdXN0IGJlIGluc2VydGVkIHN1Y2Nlc3NmdWxseSAoY2hlY2sgc3RyaW5nIGNsZWFuZXIgZnVuY3Rpb24pCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAiIFx0IFxuIFxyIFVuaXQgVGVzdCA6OiBUZXN0IENsYXNzIFx0IFxuIFxyICIgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICIgXHQgXG4gXHIgVGVzdCBJdGVtIFx0IFxuIFxyICIsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCA9PiAiIFx0IFxuIFxyIFRlc3QgQ29tbWVudCBcdCBcbiBcciAiLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBZGRHZXQgPT4gewogICAgICAgICAgICBDbGFzcyAgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgICA9PiAnVGVzdCBJdGVtJywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJ1Rlc3QgQ29tbWVudCcsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgdXBkYXRlZCBzdWNjZXNzZnVsbHkgKGNoZWNrIHN0cmluZyBjbGVhbmVyIGZ1bmN0aW9uKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgPT4gIiBcdCBcbiBcciBUZXN0IEl0ZW0gVVBEQVRFMSBcdCBcbiBcciAiLAogICAgICAgICAgICBWYWxpZElEID0+ICRVc2VySURzWzBdLAogICAgICAgICAgICBDb21tZW50ID0+ICIgXHQgXG4gXHIgVGVzdCBDb21tZW50IFVQREFURTEgXHQgXG4gXHIgIiwKICAgICAgICAgICAgVXNlcklEICA9PiAkVXNlcklEc1swXSwKICAgICAgICB9LAogICAgICAgIFVwZGF0ZUdldCA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICdUZXN0IEl0ZW0gVVBEQVRFMScsCiAgICAgICAgICAgIFZhbGlkSUQgID0+ICRVc2VySURzWzBdLAogICAgICAgICAgICBDb21tZW50ICA9PiAnVGVzdCBDb21tZW50IFVQREFURTEnLAogICAgICAgICAgICBDcmVhdGVCeSA9PiAxLAogICAgICAgICAgICBDaGFuZ2VCeSA9PiAkVXNlcklEc1swXSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBtdXN0IGJlIGluc2VydGVkIHN1Y2Nlc3NmdWxseSAodW5pY29kZSBjaGVja3MpCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzc8KpJyAuICRDbGFzc1JhbmRbMV0sCiAgICAgICAgICAgIE5hbWUgICAgPT4gJyDPkiDPoSBUZXN0IEl0ZW0gxqkgz54gJywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBDb21tZW50ID0+ICcgz6Ag0K8gVGVzdCBDb21tZW50INGsINGgICcsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFkZEdldCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgID0+ICdVbml0VGVzdDo6VGVzdENsYXNzwqknIC4gJENsYXNzUmFuZFsxXSwKICAgICAgICAgICAgTmFtZSAgICAgPT4gJ8+SIM+hIFRlc3QgSXRlbSDGqSDPnicsCiAgICAgICAgICAgIFZhbGlkSUQgID0+IDEsCiAgICAgICAgICAgIENvbW1lbnQgID0+ICfPoCDQryBUZXN0IENvbW1lbnQg0awg0aAnLAogICAgICAgICAgICBDcmVhdGVCeSA9PiAxLAogICAgICAgICAgICBDaGFuZ2VCeSA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhlIGl0ZW0gb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ICh1bmljb2RlIGNoZWNrcykKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBOYW1lICAgID0+ICdUZXN0IEl0ZW0gxqkgyaQgVVBEQVRFMScsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gJFVzZXJJRHNbMV0sCiAgICAgICAgICAgIENvbW1lbnQgPT4gJyBUZXN0IENvbW1lbnQg0Zkg0ZIgVVBEQVRFMSAnLAogICAgICAgICAgICBVc2VySUQgID0+ICRVc2VySURzWzFdLAogICAgICAgIH0sCiAgICAgICAgVXBkYXRlR2V0ID0+IHsKICAgICAgICAgICAgTmFtZSAgICAgPT4gJ1Rlc3QgSXRlbSDGqSDJpCBVUERBVEUxJywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gJFVzZXJJRHNbMV0sCiAgICAgICAgICAgIENvbW1lbnQgID0+ICdUZXN0IENvbW1lbnQg0Zkg0ZIgVVBEQVRFMScsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+ICRVc2VySURzWzFdLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyBpdGVtIG11c3QgYmUgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5IChhIHNlY29uZCBpdGVtIHdpdGggRnVuY3Rpb25hbGl0eSAndGVzdDEnKQogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAnVGVzdEl0ZW02JywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBZGRHZXQgPT4gewogICAgICAgICAgICBDbGFzcyAgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgICA9PiAnVGVzdEl0ZW02JywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJycsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgdXBkYXRlZCAoc2V0IGZ1bmN0aW9uYWxpdHkgdG8gJycpCiAgICB7CiAgICAgICAgVXBkYXRlID0+IHsKICAgICAgICAgICAgTmFtZSAgICA9PiAnVGVzdEl0ZW02VVBEQVRFMScsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgVXBkYXRlR2V0ID0+IHsKICAgICAgICAgICAgTmFtZSAgICAgPT4gJ1Rlc3RJdGVtNlVQREFURTEnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBtdXN0IGJlIGluc2VydGVkIHN1Y2Nlc3NmdWxseSAoc3BlY2lhbCBjaGFyYWN0ZXIgY2hlY2tzKQogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3NbdGVzdF0lKlxcJyAuICRDbGFzc1JhbmRbMV0sCiAgICAgICAgICAgIE5hbWUgICAgPT4gJyBbdGVzdF0lKlxcIFRlc3QgSXRlbSBbdGVzdF0lKlxcICcsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCA9PiAnIFt0ZXN0XSUqXFwgVGVzdCBDb21tZW50IFt0ZXN0XSUqXFwgJywKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQWRkR2V0ID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3NbdGVzdF0lKlxcJyAuICRDbGFzc1JhbmRbMV0sCiAgICAgICAgICAgIE5hbWUgICAgID0+ICdbdGVzdF0lKlxcIFRlc3QgSXRlbSBbdGVzdF0lKlxcJywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJ1t0ZXN0XSUqXFwgVGVzdCBDb21tZW50IFt0ZXN0XSUqXFwnLAogICAgICAgICAgICBDcmVhdGVCeSA9PiAxLAogICAgICAgICAgICBDaGFuZ2VCeSA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhlIGl0ZW0gb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5IChzcGVjaWFsIGNoYXJhY3RlciBjaGVja3MpCiAgICB7CiAgICAgICAgVXBkYXRlID0+IHsKICAgICAgICAgICAgTmFtZSAgICA9PiAnIFt0ZXN0XSUqXFwgVGVzdCBJdGVtIFVQREFURTEgW3Rlc3RdJSpcXCAnLAogICAgICAgICAgICBWYWxpZElEID0+ICRVc2VySURzWzFdLAogICAgICAgICAgICBDb21tZW50ID0+ICcgW3Rlc3RdJSpcXCBUZXN0IENvbW1lbnQgVVBEQVRFMSBbdGVzdF0lKlxcICcsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gJFVzZXJJRHNbMV0sCiAgICAgICAgfSwKICAgICAgICBVcGRhdGVHZXQgPT4gewogICAgICAgICAgICBOYW1lICAgICA9PiAnW3Rlc3RdJSpcXCBUZXN0IEl0ZW0gVVBEQVRFMSBbdGVzdF0lKlxcJywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gJFVzZXJJRHNbMV0sCiAgICAgICAgICAgIENvbW1lbnQgID0+ICdbdGVzdF0lKlxcIFRlc3QgQ29tbWVudCBVUERBVEUxIFt0ZXN0XSUqXFwnLAogICAgICAgICAgICBDcmVhdGVCeSA9PiAxLAogICAgICAgICAgICBDaGFuZ2VCeSA9PiAkVXNlcklEc1sxXSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBtdXN0IGJlIGluc2VydGVkIHN1Y2Nlc3NmdWxseQogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAnVGVzdEl0ZW1QcmVmZXJlbmNlcycsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQWRkR2V0ID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICAgPT4gJ1Rlc3RJdGVtUHJlZmVyZW5jZXMnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBwcmVmZXJlbmNlcyBvZiB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3QgYmUgc2V0CiAgICB7CiAgICAgICAgUHJlZmVyZW5jZXNTZXQgPT4gewogICAgICAgICAgICBUZXN0ICA9PiAnaGVsbG8gd29ybGQnLAogICAgICAgICAgICBHcm91cCA9PiAzMywKICAgICAgICB9LAogICAgICAgIFByZWZlcmVuY2VzR2V0ID0+IHsKICAgICAgICAgICAgVGVzdCAgPT4gJ2hlbGxvIHdvcmxkJywKICAgICAgICAgICAgR3JvdXAgPT4gMzMsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgcHJlZmVyZW5jZXMgb2YgdGhlIGl0ZW0gb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHNldAogICAgewogICAgICAgIFByZWZlcmVuY2VzU2V0ID0+IHsKICAgICAgICAgICAgVGVzdCA9PiAnaGVsbG8nLAogICAgICAgICAgICBTaXplID0+IDM4LAogICAgICAgIH0sCiAgICAgICAgUHJlZmVyZW5jZXNHZXQgPT4gewogICAgICAgICAgICBUZXN0ID0+ICdoZWxsbycsCiAgICAgICAgICAgIFNpemUgPT4gMzgsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIGl0ZW0gaGFzIGFuIGVtcHR5IG5hbWUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgQ2xhc3MgICA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICcnLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgaXRlbSBtdXN0IGJlIGFkZGVkLCB0aGUgbnVtYmVyIHplcm8gKDApIGlzIGFsbG93ZWQgYXMgbmFtZQogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIENsYXNzICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAnMCcsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgQWRkR2V0ID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXSwKICAgICAgICAgICAgTmFtZSAgICAgPT4gJzAnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoZSBpdGVtIG9uZSBhZGQtdGVzdCBiZWZvcmUgbXVzdCBiZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseSAodXBkYXRpbmcgbmFtZSB0byBudW1iZXIgemVybyAoMCkgKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgPT4gJzAnLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIENvbW1lbnQgPT4gJycsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFVwZGF0ZUdldCA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICcwJywKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJycsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgaXRlbSBvbmUgYWRkLXRlc3QgYmVmb3JlIG11c3Qgbm90IGJlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5CiAgICAjIChlbXB0eSBzdHJpbmcgYXMgbmFtZSBpcyBub3QgYWxsb3dlZCApCiAgICB7CiAgICAgICAgVXBkYXRlID0+IHsKICAgICAgICAgICAgTmFtZSAgICA9PiAnJywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBDb21tZW50ID0+ICcnLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgIH0sCl07CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgcnVuIGdlbmVyYWwgdGVzdHMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKbXkgJFRlc3RDb3VudCA9IDE7Cm15ICRMYXN0QWRkZWRJdGVtSUQ7Cm15ICVBZGRlZEl0ZW1Db3VudGVyOwoKZm9yIG15ICRJdGVtICggQHskSXRlbURhdGF9ICkgewoKICAgIGlmICggJEl0ZW0tPntBZGR9ICkgewoKICAgICAgICAjIGFkZCBuZXcgaXRlbQogICAgICAgIG15ICRJdGVtSUQgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1BZGQoCiAgICAgICAgICAgICV7ICRJdGVtLT57QWRkfSB9LAogICAgICAgICk7CgogICAgICAgICMgY2hlY2sgaWYgaXRlbSB3YXMgYWRkZWQgc3VjY2Vzc2Z1bGx5IG9yIG5vdAogICAgICAgIGlmICggJEl0ZW0tPntBZGRHZXR9ICkgewoKICAgICAgICAgICAgb2soICRJdGVtSUQsICJUZXN0ICRUZXN0Q291bnQ6IEl0ZW1BZGQoKSAtIEl0ZW1LZXk6ICRJdGVtSUQiICk7CgogICAgICAgICAgICBpZiAoJEl0ZW1JRCkgewoKICAgICAgICAgICAgICAgICMgc2V0IGxhc3QgaXRlbSBpZCB2YXJpYWJsZQogICAgICAgICAgICAgICAgJExhc3RBZGRlZEl0ZW1JRCA9ICRJdGVtSUQ7CgogICAgICAgICAgICAgICAgIyBpbmNyZW1lbnQgdGhlIGFkZGVkIGl0ZW0gY291bnRlcgogICAgICAgICAgICAgICAgJEFkZGVkSXRlbUNvdW50ZXJ7ICRJdGVtLT57QWRkR2V0fS0+e0NsYXNzfSB9Kys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG9rKCAhJEl0ZW1JRCwgIlRlc3QgJFRlc3RDb3VudDogSXRlbUFkZCgpIiApOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgaXRlbSBkYXRhIHRvIGNoZWNrIHRoZSB2YWx1ZXMgYWZ0ZXIgY3JlYXRpb24gb2YgaXRlbSB1c2luZyBJdGVtSWQgYW5kIFVzZXJJRAogICAgICAgIG15ICRJdGVtR2V0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtR2V0KAogICAgICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICAgICAgVXNlcklEID0+ICRJdGVtLT57QWRkfS0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpdGVtIGRhdGEgYWZ0ZXIgY3JlYXRpb24gb2YgaXRlbQogICAgICAgIGZvciBteSAkSXRlbUF0dHJpYnV0ZSAoIHNvcnQga2V5cyAleyAkSXRlbS0+e0FkZEdldH0gfSApIHsKICAgICAgICAgICAgaXMoCiAgICAgICAgICAgICAgICAkSXRlbUdldC0+eyRJdGVtQXR0cmlidXRlfSwKICAgICAgICAgICAgICAgICRJdGVtLT57QWRkR2V0fS0+eyRJdGVtQXR0cmlidXRlfSwKICAgICAgICAgICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEl0ZW1HZXQoKSAtIFVzaW5nIEl0ZW1JRCBhbmQgVXNlcklEIC0gJEl0ZW1BdHRyaWJ1dGUgIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGl0ZW0gZGF0YSB0byBjaGVjayB0aGUgdmFsdWVzIGFmdGVyIGNyZWF0aW9uIG9mIGl0ZW0gdXNpbmcgQ2xhc3MgYW5kIE5hbWUKICAgICAgICAkSXRlbUdldCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgICAgICAgICAgQ2xhc3MgPT4gJEl0ZW0tPntBZGRHZXR9LT57Q2xhc3N9LAogICAgICAgICAgICBOYW1lICA9PiAkSXRlbS0+e0FkZEdldH0tPntOYW1lfSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIGl0ZW0gZGF0YSBhZnRlciBjcmVhdGlvbiBvZiBpdGVtCiAgICAgICAgZm9yIG15ICRJdGVtQXR0cmlidXRlICggc29ydCBrZXlzICV7ICRJdGVtLT57QWRkR2V0fSB9ICkgewogICAgICAgICAgICBpcygKICAgICAgICAgICAgICAgICRJdGVtR2V0LT57JEl0ZW1BdHRyaWJ1dGV9LAogICAgICAgICAgICAgICAgJEl0ZW0tPntBZGRHZXR9LT57JEl0ZW1BdHRyaWJ1dGV9LAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbUdldCgpIC0gVXNpbmcgQ2xhc3MgYW5kIE5hbWUgLSAkSXRlbUF0dHJpYnV0ZSAiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICRJdGVtLT57VXBkYXRlfSApIHsKCiAgICAgICAgIyBjaGVjayBsYXN0IGl0ZW0gaWQgdmFyaWFibGUKICAgICAgICBpZiAoICEkTGFzdEFkZGVkSXRlbUlEICkgewogICAgICAgICAgICBmYWlsKCJUZXN0ICRUZXN0Q291bnQ6IE5PIExBU1QgSVRFTSBJRCBHSVZFTiIpOwogICAgICAgIH0KCiAgICAgICAgIyB1cGRhdGUgdGhlIGl0ZW0KICAgICAgICBteSAkVXBkYXRlU3VjZXNzID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtVXBkYXRlKAogICAgICAgICAgICAleyAkSXRlbS0+e1VwZGF0ZX0gfSwKICAgICAgICAgICAgSXRlbUlEID0+ICRMYXN0QWRkZWRJdGVtSUQsCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpZiBpdGVtIHdhcyB1cGRhdGVkIHN1Y2Nlc3NmdWxseSBvciBub3QKICAgICAgICBpZiAoICRJdGVtLT57VXBkYXRlR2V0fSApIHsKICAgICAgICAgICAgb2soCiAgICAgICAgICAgICAgICAkVXBkYXRlU3VjZXNzLAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbVVwZGF0ZSgpIC0gSXRlbUtleTogJExhc3RBZGRlZEl0ZW1JRCIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBvaygKICAgICAgICAgICAgICAgICEkVXBkYXRlU3VjZXNzLAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbVVwZGF0ZSgpIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGl0ZW0gZGF0YSB0byBjaGVjayB0aGUgdmFsdWVzIGFmdGVyIHRoZSB1cGRhdGUKICAgICAgICBteSAkSXRlbUdldDIgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1HZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkTGFzdEFkZGVkSXRlbUlELAogICAgICAgICAgICBVc2VySUQgPT4gJEl0ZW0tPntVcGRhdGV9LT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIGl0ZW0gZGF0YSBhZnRlciB1cGRhdGUKICAgICAgICBmb3IgbXkgJEl0ZW1BdHRyaWJ1dGUgKCBzb3J0IGtleXMgJXsgJEl0ZW0tPntVcGRhdGVHZXR9IH0gKSB7CiAgICAgICAgICAgIGlzKAogICAgICAgICAgICAgICAgJEl0ZW1HZXQyLT57JEl0ZW1BdHRyaWJ1dGV9LAogICAgICAgICAgICAgICAgJEl0ZW0tPntVcGRhdGVHZXR9LT57JEl0ZW1BdHRyaWJ1dGV9LAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbUdldCgpIC0gJEl0ZW1BdHRyaWJ1dGUiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICRJdGVtLT57UHJlZmVyZW5jZXNTZXR9ICkgewoKICAgICAgICBmb3IgbXkgJEtleSAoIHNvcnQga2V5cyAleyAkSXRlbS0+e1ByZWZlcmVuY2VzU2V0fSB9ICkgewoKICAgICAgICAgICAgIyBzZXQgcHJlZmVyZW5jZXMKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNTZXQoCiAgICAgICAgICAgICAgICBLZXkgICAgPT4gJEtleSwKICAgICAgICAgICAgICAgIFZhbHVlICA9PiAkSXRlbS0+e1ByZWZlcmVuY2VzU2V0fS0+eyRLZXl9LAogICAgICAgICAgICAgICAgSXRlbUlEID0+ICRMYXN0QWRkZWRJdGVtSUQsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBvaygKICAgICAgICAgICAgICAgICRTdWNjZXNzLAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogUHJlZmVyZW5jZXNTZXQoKSAtICRLZXkiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIHByZWZlcmVuY2VzCiAgICBpZiAoICRJdGVtLT57UHJlZmVyZW5jZXNHZXR9ICkgewogICAgICAgIG15ICVQcmVmZXJlbmNlcyA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dldCgKICAgICAgICAgICAgSXRlbUlEID0+ICRMYXN0QWRkZWRJdGVtSUQsCiAgICAgICAgKTsKCiAgICAgICAgZm9yIG15ICRLZXkgKCBzb3J0IGtleXMgJXsgJEl0ZW0tPntQcmVmZXJlbmNlc0dldH0gfSApIHsKICAgICAgICAgICAgaWYgKCAkSXRlbS0+e1ByZWZlcmVuY2VzR2V0fS0+eyRLZXl9IGVxICRQcmVmZXJlbmNlc3skS2V5fSApIHsKICAgICAgICAgICAgICAgIG9rKAogICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogUHJlZmVyZW5jZXNHZXQoKSAtICRLZXkiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG9rKAogICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogUHJlZmVyZW5jZXNHZXQoKSAtICRLZXkiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAkVGVzdENvdW50Kys7Cn0KCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBtYWtlIHByZXBhcmF0aW9ucyBmb3IgbGF0ZXIgdGVzdHMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKIyBjcmVhdGUgbmVlZGVkIGFycmF5cwpteSAlRXhpc3RpbmdDbGFzc2VzVG1wOwpJVEVNOgpmb3IgbXkgJEl0ZW0gKCBAeyRJdGVtRGF0YX0gKSB7CiAgICBuZXh0IElURU0gaWYgISRJdGVtLT57QWRkR2V0fS0+e0NsYXNzfTsKICAgICRFeGlzdGluZ0NsYXNzZXNUbXB7ICRJdGVtLT57QWRkR2V0fS0+e0NsYXNzfSB9ID0gMTsKfQpteSBARXhpc3RpbmdDbGFzc2VzID0gc29ydCBrZXlzICVFeGlzdGluZ0NsYXNzZXNUbXA7CgpteSAlRXhpc3RpbmdGdW5jdGlvbmFsaXRpZXNUbXA7CklURU06CmZvciBteSAkSXRlbSAoIEB7JEl0ZW1EYXRhfSApIHsKICAgICRJdGVtLT57VXBkYXRlR2V0fS0+e0Z1bmN0aW9uYWxpdHl9IHx8PSAnJzsKICAgICRFeGlzdGluZ0Z1bmN0aW9uYWxpdGllc1RtcHsgJEl0ZW0tPntVcGRhdGVHZXR9LT57RnVuY3Rpb25hbGl0eX0gfSA9IDE7Cn0KCm15IEBOb25FeGlzdGluZ0NsYXNzZXMgPSAoICdVbml0VGVzdDo6Tm9FeGlzdGluZ0NsYXNzMScsICdVbml0VGVzdDo6Tm9FeGlzdGluZ0NsYXNzMicgKTsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBDbGFzc0xpc3QgdGVzdCAxCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCm15ICRDbGFzc0xpc3QxID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5DbGFzc0xpc3QoKTsKCmZvciBteSAkQ2xhc3MgKEBFeGlzdGluZ0NsYXNzZXMpIHsKCiAgICBteSAkQ2xhc3NDb3VudCA9IDA7CiAgICBpZiAoICRDbGFzc0xpc3QxICYmIHJlZiAkQ2xhc3NMaXN0MSBlcSAnQVJSQVknICkgewogICAgICAgICRDbGFzc0NvdW50ID0gZ3JlcCB7ICRfIGVxICRDbGFzcyB9IEB7JENsYXNzTGlzdDF9OwogICAgfQoKICAgIGlzKAogICAgICAgICRDbGFzc0NvdW50LAogICAgICAgIDEsCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogQ2xhc3NMaXN0KCkgLSAkQ2xhc3MgbGlzdGVkIiwKICAgICk7CgogICAgJFRlc3RDb3VudCsrOwp9CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgSXRlbUxpc3QgdGVzdCAxCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCmZvciBteSAkQ2xhc3MgKEBOb25FeGlzdGluZ0NsYXNzZXMpIHsKCiAgICBteSAkSXRlbUxpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1MaXN0KAogICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICAgICBWYWxpZCA9PiAwLAogICAgKTsKCiAgICBvaygKICAgICAgICAhJEl0ZW1MaXN0LAogICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEl0ZW1MaXN0KCkgLSAkQ2xhc3Mgbm90IGV4aXN0cyIsCiAgICApOwoKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIEl0ZW1MaXN0IHRlc3QgMgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgpmb3IgbXkgJENsYXNzIChARXhpc3RpbmdDbGFzc2VzKSB7CgogICAgbXkgJEl0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICBDbGFzcyA9PiAkQ2xhc3MsCiAgICAgICAgVmFsaWQgPT4gMCwKICAgICk7CgogICAgbXkgJExpc3RDb3VudCA9ICdOVUxMJzsKICAgIGlmICggZGVmaW5lZCAkSXRlbUxpc3QgJiYgcmVmICRJdGVtTGlzdCBlcSAnSEFTSCcgKSB7CiAgICAgICAgJExpc3RDb3VudCA9IGtleXMgJXskSXRlbUxpc3R9OwogICAgfQoKICAgIGlzKAogICAgICAgICRMaXN0Q291bnQsCiAgICAgICAgJEFkZGVkSXRlbUNvdW50ZXJ7JENsYXNzfSwKICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBJdGVtTGlzdCgpIC0gJENsYXNzIGNvcnJlY3QgbnVtYmVyIG9mIGl0ZW1zIiwKICAgICk7CgogICAgJFRlc3RDb3VudCsrOwp9CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgSXRlbUxpc3QgdGVzdCAzIC0gSXRlbSBMaXN0IHdpdGggcHJlZmVyZW5jZXMgKHNpbmdsZSBoYXNoIGVudHJ5KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgp7CgogICAgbXkgJENsYXNzICAgID0gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXTsKICAgIG15ICRJdGVtTGlzdCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUxpc3QoCiAgICAgICAgQ2xhc3MgICAgICAgPT4gJENsYXNzLAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgUHJlZmVyZW5jZXMgPT4gewogICAgICAgICAgICBIZWxsbyA9PiAnV29ybGQnLAogICAgICAgIH0sCiAgICApOwoKICAgIG15ICRMaXN0Q291bnQgPSAnTlVMTCc7CiAgICBpZiAoIGRlZmluZWQgJEl0ZW1MaXN0ICYmIHJlZiAkSXRlbUxpc3QgZXEgJ0hBU0gnICkgewogICAgICAgICRMaXN0Q291bnQgPSBrZXlzICV7JEl0ZW1MaXN0fTsKICAgIH0KCiAgICBpcygKICAgICAgICAkTGlzdENvdW50LAogICAgICAgIDEsCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbUxpc3QoKSBwcmVmZXJlbmNlcyAoc2luZ2xlIGhhc2ggZW50cnkpIC0gJENsYXNzIGNvcnJlY3QgbnVtYmVyIG9mIGl0ZW1zIiwKICAgICk7CgogICAgJFRlc3RDb3VudCsrOwp9CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgSXRlbUxpc3QgdGVzdCA0IC0gSXRlbSBMaXN0IHdpdGggcHJlZmVyZW5jZXMgKGFycmF5KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgp7CgogICAgbXkgJENsYXNzICAgID0gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFswXTsKICAgIG15ICRJdGVtTGlzdCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUxpc3QoCiAgICAgICAgQ2xhc3MgICAgICAgPT4gJENsYXNzLAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgUHJlZmVyZW5jZXMgPT4gewogICAgICAgICAgICBDb2xvciA9PiBbICdSZWQnLCAnQmx1ZScgXSwKICAgICAgICB9LAogICAgKTsKCiAgICBteSAkTGlzdENvdW50ID0gJ05VTEwnOwogICAgaWYgKCBkZWZpbmVkICRJdGVtTGlzdCAmJiByZWYgJEl0ZW1MaXN0IGVxICdIQVNIJyApIHsKICAgICAgICAkTGlzdENvdW50ID0ga2V5cyAleyRJdGVtTGlzdH07CiAgICB9CgogICAgaXMoCiAgICAgICAgJExpc3RDb3VudCwKICAgICAgICAyLAogICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEl0ZW1MaXN0KCkgcHJlZmVyZW5jZXMgKGFycmF5KSAtICRDbGFzcyBjb3JyZWN0IG51bWJlciBvZiBpdGVtcyIsCiAgICApOwoKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIFByZWZlcmVuY2VzIHRlc3QgMQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCmZvciBteSAkQ2xhc3MgKEBFeGlzdGluZ0NsYXNzZXMpIHsKCiAgICBteSAkSXRlbUlEID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtQWRkKAogICAgICAgIENsYXNzICAgPT4gJENsYXNzLAogICAgICAgIE5hbWUgICAgPT4gJ0l0ZW0gUHJlZmVyZW5jZXMnLAogICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICBVc2VySUQgID0+IDEsCiAgICApOwoKICAgICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc1NldCgKICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICBLZXkgICAgPT4gJ1VuaXRUZXN0UHJlZicsCiAgICAgICAgVmFsdWUgID0+ICcxJywKICAgICk7CgogICAgbXkgJEl0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICBDbGFzcyAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgUHJlZmVyZW5jZXMgPT4gewogICAgICAgICAgICBVbml0VGVzdFByZWYgPT4gMSwKICAgICAgICB9LAogICAgKTsKCiAgICBpcygKICAgICAgICAkSXRlbUxpc3QtPnskSXRlbUlEfSwKICAgICAgICAnSXRlbSBQcmVmZXJlbmNlcycsCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSXRlbUxpc3QoKSAtIENsYXNzICRDbGFzcyBQcmVmZXJlbmNlcyBtYXRjaCIsCiAgICApOwoKICAgICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+R2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc1NldCgKICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICBLZXkgICAgPT4gJ1VuaXRUZXN0UHJlZicsCiAgICAgICAgVmFsdWUgID0+ICcyJywKICAgICk7CgogICAgJEl0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICBDbGFzcyAgICAgICA9PiAkQ2xhc3MsCiAgICAgICAgUHJlZmVyZW5jZXMgPT4gewogICAgICAgICAgICBVbml0VGVzdFByZWYgPT4gMSwKICAgICAgICB9LAogICAgKTsKCiAgICBvaygKICAgICAgICAhJEl0ZW1MaXN0LAogICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEl0ZW1MaXN0KCkgLSBDbGFzcyAkQ2xhc3MgUHJlZmVyZW5jZXMgbm90IG1hdGNoIGFmdGVyIFByZWZlcmVuY2VzU2V0IENoYW5nZSIKICAgICk7CgogICAgJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtVXBkYXRlKAogICAgICAgIEl0ZW1JRCAgPT4gJEl0ZW1JRCwKICAgICAgICBOYW1lICAgID0+ICdJdGVtIFByZWZlcmVuY2VzJywKICAgICAgICBWYWxpZElEID0+IDIsCiAgICAgICAgVXNlcklEICA9PiAxLAogICAgKTsKCiAgICAkVGVzdENvdW50Kys7Cn0KCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBQcmVmZXJlbmNlcyB0ZXN0IDIKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKPWZvciBuZXZlcgoKbXkgJUZ1bmN0aW9uYWxpdHlMaXN0MSA9IG1hcCB7ICRfID0+IDEgfSBrZXlzICVFeGlzdGluZ0Z1bmN0aW9uYWxpdGllc1RtcDsKCmZvciBteSAkQ2xhc3MgKEBFeGlzdGluZ0NsYXNzZXMpIHsKCiAgICBteSAkRnVuY3Rpb25hbGl0eUxpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkZ1bmN0aW9uYWxpdHlMaXN0KAogICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICk7CgogICAgb2soCiAgICAgICAgJEZ1bmN0aW9uYWxpdHlMaXN0ICYmIHJlZiAkRnVuY3Rpb25hbGl0eUxpc3QgZXEgJ0FSUkFZJywKICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBGdW5jdGlvbmFsaXR5TGlzdCgpIC0gcmV0dXJuIGEgYXJyYXkgcmVmZXJlbmNlIiwKICAgICk7CgogICAgZm9yIG15ICRGdW5jdGlvbmFsaXR5ICggQHskRnVuY3Rpb25hbGl0eUxpc3R9ICkgewogICAgICAgIGRlbGV0ZSAkRnVuY3Rpb25hbGl0eUxpc3QxeyRGdW5jdGlvbmFsaXR5fTsKICAgIH0KCiAgICAkVGVzdENvdW50Kys7Cn0KCm9rKAogICAgIWtleXMgJUZ1bmN0aW9uYWxpdHlMaXN0MSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IEZ1bmN0aW9uYWxpdHlMaXN0KCkiLAopOwoKJFRlc3RDb3VudCsrOwoKPWN1dAoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIENsYXNzUmVuYW1lIHRlc3QgMSAoY2hlY2sgbm9ybWFsIHJlbmFtZSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKQ0xBU1M6CmZvciBteSAkQ2xhc3MgKEBFeGlzdGluZ0NsYXNzZXMpIHsKCiAgICBteSAkT2xkSXRlbUxpc3QgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1MaXN0KAogICAgICAgIENsYXNzID0+ICRDbGFzcywKICAgICAgICBWYWxpZCA9PiAwLAogICAgKTsKCiAgICBteSAkU3VjY2VzcyA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+Q2xhc3NSZW5hbWUoCiAgICAgICAgQ2xhc3NPbGQgPT4gJENsYXNzLAogICAgICAgIENsYXNzTmV3ID0+ICRDbGFzcyAuICdSRU5BTUUxJywKICAgICk7CgogICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgZmFpbCgiVGVzdCAkVGVzdENvdW50OiBDbGFzc1JlbmFtZSgpIC0gUmVuYW1lIGZhaWxlZCIpOwoKICAgICAgICBuZXh0IENMQVNTOwogICAgfQoKICAgIG15ICROZXdJdGVtTGlzdCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUxpc3QoCiAgICAgICAgQ2xhc3MgPT4gJENsYXNzIC4gJ1JFTkFNRTEnLAogICAgICAgIFZhbGlkID0+IDAsCiAgICApOwoKICAgIGlmICgKICAgICAgICAhJE9sZEl0ZW1MaXN0CiAgICAgICAgfHwgISROZXdJdGVtTGlzdAogICAgICAgIHx8IHJlZiAkT2xkSXRlbUxpc3QgbmUgJ0hBU0gnCiAgICAgICAgfHwgcmVmICROZXdJdGVtTGlzdCBuZSAnSEFTSCcKICAgICAgICApCiAgICB7CiAgICAgICAgZmFpbCgiVGVzdCAkVGVzdENvdW50OiBDbGFzc1JlbmFtZSgpIC0gSXRlbUxpc3QgZmFpbGVkIik7CgogICAgICAgIG5leHQgQ0xBU1M7CiAgICB9CgogICAgT0xES0VZOgogICAgZm9yIG15ICRPbGRLZXkgKCBzb3J0IGtleXMgJXskT2xkSXRlbUxpc3R9ICkgewoKICAgICAgICBpZiAoICFleGlzdHMgJE5ld0l0ZW1MaXN0LT57JE9sZEtleX0gKSB7CiAgICAgICAgICAgICROZXdJdGVtTGlzdC0+e0ZhaWxlZER1bW15fSA9IDE7CiAgICAgICAgICAgIG5leHQgT0xES0VZOwogICAgICAgIH0KCiAgICAgICAgbmV4dCBPTERLRVkgaWYgJE9sZEl0ZW1MaXN0LT57JE9sZEtleX0gbmUgJE5ld0l0ZW1MaXN0LT57JE9sZEtleX07CgogICAgICAgIGRlbGV0ZSAkTmV3SXRlbUxpc3QtPnskT2xkS2V5fTsKICAgIH0KCiAgICBvaygKICAgICAgICAha2V5cyAleyROZXdJdGVtTGlzdH0sCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogQ2xhc3NSZW5hbWUoKSIsCiAgICApOwoKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIENsYXNzUmVuYW1lIHRlc3QgMiAoY2hlY2sgc3RyaW5nIGNsZWFuZXIgZnVuY3Rpb24pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCkNMQVNTOgpmb3IgbXkgJENsYXNzIChARXhpc3RpbmdDbGFzc2VzKSB7CgogICAgbXkgJE9sZEl0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICBDbGFzcyA9PiAkQ2xhc3MgLiAnUkVOQU1FMScsCiAgICAgICAgVmFsaWQgPT4gMCwKICAgICk7CgogICAgbXkgJFN1Y2Nlc3MgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkNsYXNzUmVuYW1lKAogICAgICAgIENsYXNzT2xkID0+ICRDbGFzcyAuICdSRU5BTUUxJywKICAgICAgICBDbGFzc05ldyA9PiAnICcgLiAkQ2xhc3MgLiAiUkUgTkEgTUUgMiBcbiBcciBcdCAiLAogICAgKTsKCiAgICBpZiAoICEkU3VjY2VzcyApIHsKICAgICAgICBmYWlsKCAiVGVzdCAkVGVzdENvdW50OiBDbGFzc1JlbmFtZSgpIC0gUmVuYW1lIGZhaWxlZCIsICk7CgogICAgICAgIG5leHQgQ0xBU1M7CiAgICB9CgogICAgbXkgJE5ld0l0ZW1MaXN0ID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtTGlzdCgKICAgICAgICBDbGFzcyA9PiAkQ2xhc3MgLiAnUkVOQU1FMicsCiAgICAgICAgVmFsaWQgPT4gMCwKICAgICk7CgogICAgaWYgKAogICAgICAgICEkT2xkSXRlbUxpc3QKICAgICAgICB8fCAhJE5ld0l0ZW1MaXN0CiAgICAgICAgfHwgcmVmICRPbGRJdGVtTGlzdCBuZSAnSEFTSCcKICAgICAgICB8fCByZWYgJE5ld0l0ZW1MaXN0IG5lICdIQVNIJwogICAgICAgICkKICAgIHsKICAgICAgICBmYWlsKCAiVGVzdCAkVGVzdENvdW50OiBDbGFzc1JlbmFtZSgpIC0gSXRlbUxpc3QgZmFpbGVkIiwgKTsKCiAgICAgICAgbmV4dCBDTEFTUzsKICAgIH0KCiAgICBPTERLRVk6CiAgICBmb3IgbXkgJE9sZEtleSAoIHNvcnQga2V5cyAleyRPbGRJdGVtTGlzdH0gKSB7CgogICAgICAgIGlmICggIWV4aXN0cyAkTmV3SXRlbUxpc3QtPnskT2xkS2V5fSApIHsKICAgICAgICAgICAgJE5ld0l0ZW1MaXN0LT57RmFpbGVkRHVtbXl9ID0gMTsKICAgICAgICAgICAgbmV4dCBPTERLRVk7CiAgICAgICAgfQoKICAgICAgICBuZXh0IE9MREtFWSBpZiAkT2xkSXRlbUxpc3QtPnskT2xkS2V5fSBuZSAkTmV3SXRlbUxpc3QtPnskT2xkS2V5fTsKCiAgICAgICAgZGVsZXRlICROZXdJdGVtTGlzdC0+eyRPbGRLZXl9OwogICAgfQoKICAgIG9rKAogICAgICAgICFrZXlzICV7JE5ld0l0ZW1MaXN0fSwKICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBDbGFzc1JlbmFtZSgpIiwKICAgICk7CgogICAgJFRlc3RDb3VudCsrOwp9CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgQ2xhc3NSZW5hbWUgdGVzdCAyIChpZGVudGljYWwgbmFtZSB0ZXN0KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgpmb3IgbXkgJENsYXNzIChARXhpc3RpbmdDbGFzc2VzKSB7CgogICAgbXkgJFN1Y2Nlc3MgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkNsYXNzUmVuYW1lKAogICAgICAgIENsYXNzT2xkID0+ICRDbGFzcyAuICdSRU5BTUUyJywKICAgICAgICBDbGFzc05ldyA9PiAkQ2xhc3MgLiAnUkVOQU1FMicsCiAgICApOwoKICAgIG9rKAogICAgICAgICRTdWNjZXNzLAogICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IENsYXNzUmVuYW1lKCkgLSBvbGRuYW1lIGFuZCBuZXduYW1lIGlkZW50aWNhbCIsCiAgICApOwoKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIENsYXNzUmVuYW1lIHRlc3QgMyAobmV3IGNsYXNzIG5hbWUgYWxyZWFkeSBleGlzdHMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUFkZCgKICAgIENsYXNzICAgICAgICAgPT4gJ1VuaXRUZXN0OjpUZXN0Q2xhc3MnIC4gJENsYXNzUmFuZFsyXSwKICAgIE5hbWUgICAgICAgICAgPT4gJ0R1bW15JywKICAgIEZ1bmN0aW9uYWxpdHkgPT4gJycsCiAgICBWYWxpZElEICAgICAgID0+IDEsCiAgICBVc2VySUQgICAgICAgID0+IDEsCik7Cgpmb3IgbXkgJENsYXNzIChARXhpc3RpbmdDbGFzc2VzKSB7CgogICAgbXkgJFN1Y2Nlc3MgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkNsYXNzUmVuYW1lKAogICAgICAgIENsYXNzT2xkID0+ICRDbGFzcyAuICdSRU5BTUUyJywKICAgICAgICBDbGFzc05ldyA9PiAnVW5pdFRlc3Q6OlRlc3RDbGFzcycgLiAkQ2xhc3NSYW5kWzJdLAogICAgKTsKCiAgICBvaygKICAgICAgICAhJFN1Y2Nlc3MsCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogQ2xhc3NSZW5hbWUoKSAtIG5ldyBjbGFzcyBuYW1lIGFscmVhZHkgZXhpc3RzIiwKICAgICk7CgogICAgJFRlc3RDb3VudCsrOwp9CgojIHJlc3RvcmUgb3JpZ2luYWwgZ2VuZXJhbCBjYXRhbG9nIHBlcm1pc3Npb24gcHJlZmVyZW5jZXMgc2V0dGluZwokQ29uZmlnT2JqZWN0LT5TZXQoCiAgICBLZXkgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI1Blcm1pc3Npb25zJywKICAgIFZhbHVlID0+ICRHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzUGVybWlzc2lvbnNPcmcsCik7Cgpkb25lX3Rlc3Rpbmc7Cg==</File>
        <File Location="scripts/test/DynamicField/Driver/GeneralCatalog/ValueSearch.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAxOS0yMDI2IFJvdGhlciBPU1MgR21iSCwgaHR0cHM6Ly9vdG9iby5pby8KIyAtLQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiMgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAojIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCiMgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIyAtLQoKdXNlIHY1LjI0Owp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBuYW1lc3BhY2U6OmF1dG9jbGVhbjsKdXNlIHV0Zjg7CgojIGNvcmUgbW9kdWxlcwoKIyBDUEFOIG1vZHVsZXMKdXNlIFRlc3QyOjpWMCBxdyggZG9uZV90ZXN0aW5nIGlzIG9rIHJlZl9vayApOwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OlJlZ2lzdGVyT007ICAgICMgU2V0IHVwICRLZXJuZWw6Ok9NCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCiMgZ2V0IGhlbHBlciBvYmplY3QKJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyA9PiB7CiAgICAgICAgUmVzdG9yZURhdGFiYXNlID0+IDEsCiAgICB9LAopOwpteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiMgc2V0IHVwIHRoZSB0ZXN0IGNsYXNzIHdpdGggc29tZSBpdGVtcy4KbXkgJEdlbmVyYWxDYXRhbG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyk7Cm15IEBDaXJjbGVzICAgICAgICAgICAgICA9ICgKICAgICfwn5+gIC0gVSsxRjdFMCAtIExBUkdFIE9SQU5HRSBDSVJDTEUnLAogICAgJ/Cfn6EgLSBVKzFGN0UxIC0gTEFSR0UgWUVMTE9XIENJUkNMRScsCiAgICAn8J+foiAtIFUrMUY3RTIgLSBMQVJHRSBHUkVFTiBDSVJDTEUnLAogICAgJ/Cfn6MgLSBVKzFGN0UzIC0gTEFSR0UgUFVSUExFIENJUkNMRScsCiAgICAn8J+fpCAtIFUrMUY3RTQgLSBMQVJHRSBCUk9XTiBDSVJDTEUnLAopOwpteSAlQ2lyY2xlSUQyTmFtZTsKbXkgJFRlc3RDbGFzcyA9ICdVbml0VGVzdDo6Q2lyY2xlOjpMYXJnZSc7CmZvciBteSAkQ2lyY2xlIChAQ2lyY2xlcykgewogICAgbXkgJEl0ZW1JRCA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUFkZCgKICAgICAgICBDbGFzcyAgID0+ICRUZXN0Q2xhc3MsCiAgICAgICAgTmFtZSAgICA9PiAkQ2lyY2xlLAogICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICBVc2VySUQgID0+IDEsCiAgICApOwogICAgb2soICRJdGVtSUQsICJjaXJjbGUgYWRkZWQ6ICRDaXJjbGUiICk7CiAgICAkQ2lyY2xlSUQyTmFtZXskSXRlbUlEfSA9ICRDaXJjbGU7Cn0KbXkgJUNpcmNsZU5hbWUySUQgPSByZXZlcnNlICVDaXJjbGVJRDJOYW1lOwoKIyBnZXQgbmVlZGVkIG9iamVjdHMKbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKbXkgJEJhY2tlbmRPYmplY3QgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQnKTsKCiMgZGVmaW5lIG5lZWRlZCB2YXJpYWJsZQpteSAkUmFuZG9tSUQgPSAkSGVscGVyLT5HZXRSYW5kb21OdW1iZXI7CgojIGNyZWF0ZSBhIGR5bmFtaWMgZmllbGQKbXkgJEZpZWxkSUQgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRBZGQoCiAgICBOYW1lICAgICAgID0+ICJkeW5hbWljZmllbGR0ZXN0Y2lyY2xlIiwKICAgIExhYmVsICAgICAgPT4gJ2EgZGVzY3JpcHRpb24nLAogICAgRmllbGRPcmRlciA9PiA5OTkxLAogICAgRmllbGRUeXBlICA9PiAnR2VuZXJhbENhdGFsb2cnLAogICAgT2JqZWN0VHlwZSA9PiAnQ3VzdG9tZXJVc2VyJywKICAgIENvbmZpZyAgICAgPT4gewogICAgICAgIENsYXNzICAgICAgPT4gJFRlc3RDbGFzcywKICAgICAgICBNdWx0aVZhbHVlID0+IDEsCiAgICB9LAogICAgVmFsaWRJRCA9PiAxLAogICAgVXNlcklEICA9PiAxLAopOwpvayggJEZpZWxkSUQsICJEeW5hbWljRmllbGRBZGQoKSBzdWNjZXNzZnVsIGZvciBGaWVsZCBJRCAkRmllbGRJRCIgKTsKCm15ICREeW5hbWljRmllbGRDb25maWcgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRHZXQoIElEID0+ICRGaWVsZElEICk7CnJlZl9vayggJER5bmFtaWNGaWVsZENvbmZpZywgJ0hBU0gnLCAnZ290IGEgZHluYW1pYyBmaWVsZCcgKTsKCm15IEBPYmplY3ROYW1lczsKCiMgYXV0b2dlbmVyYXRlZCBzcGVjaWZpYyBjdXN0b21lcnMKZm9yIG15ICRDaXJjbGUgKEBDaXJjbGVzKSB7CiAgICBteSAkT2JqZWN0TmFtZSA9ICJjdXN0b21lciAkUmFuZG9tSUQgZm9yICRDaXJjbGUiOwoKICAgIG15ICRTdWNjZXNzID0gJEJhY2tlbmRPYmplY3QtPlZhbHVlU2V0KAogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiBbICRDaXJjbGVOYW1lMklEeyRDaXJjbGV9IF0sCiAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0TmFtZSAgICAgICAgID0+ICRPYmplY3ROYW1lLAogICAgKTsKICAgIG9rKCAkU3VjY2VzcywgIkNyZWF0aW9uIG9mIGR5bmFtaWMgZmllbGQgdmFsdWUgdmlhIG9iamVjdCBuYW1lOiAkT2JqZWN0TmFtZSIgKTsKCiAgICBwdXNoIEBPYmplY3ROYW1lcywgJE9iamVjdE5hbWU7Cn0KCiMgYWRkIGEgZ2VuZXJpYyBjdXN0b21lcgp7CiAgICBteSAkT2JqZWN0TmFtZSA9ICJjdXN0b21lciAkUmFuZG9tSUQgZm9yIGFsbCBjaXJjbGVzIjsKICAgIG15ICRTdWNjZXNzICAgID0gJEJhY2tlbmRPYmplY3QtPlZhbHVlU2V0KAogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiBbIHZhbHVlcyAlQ2lyY2xlTmFtZTJJRCBdLAogICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAxLAogICAgICAgIE9iamVjdE5hbWUgICAgICAgICA9PiAkT2JqZWN0TmFtZSwKICAgICk7CiAgICBvayggJFN1Y2Nlc3MsICJDcmVhdGlvbiBvZiBkeW5hbWljIGZpZWxkIHZhbHVlcyBnZW5lcmljIGN1c3RvbWVyIiApOwoKICAgIHB1c2ggQE9iamVjdE5hbWVzLCAkT2JqZWN0TmFtZTsKfQoKIyBmZXRjaCBvYmplY3QgSURzIGZvciBvYmplY3QgbmFtZXMKbXkgJE9iamVjdElEQnlPYmplY3ROYW1lID0gJER5bmFtaWNGaWVsZE9iamVjdC0+T2JqZWN0TWFwcGluZ0dldCgKICAgIE9iamVjdE5hbWUgPT4gXEBPYmplY3ROYW1lcywKICAgIE9iamVjdFR5cGUgPT4gJ0N1c3RvbWVyVXNlcicsCik7CmlzKAogICAgc2NhbGFyIGtleXMgJE9iamVjdElEQnlPYmplY3ROYW1lLT4lKiwKICAgIHNjYWxhciBAT2JqZWN0TmFtZXMsCiAgICAnTnVtYmVyIG9mIGZvdW5kIG9iamVjdCBJRHMgbXVzdCBtYXRjaCBudW1iZXIgb2Ygb2JqZWN0IG5hbWVzLicsCik7CgojIENoZWNrIHRoYXQgVmFsdWVTZWFyY2goKSByZXR1cm5zIHRoZSBleHBlY3RlZCByZXN1bHRzLgojIEl0IGxvb2tzIGxpa2UgVmFsdWVTZWFyY2ggb25seSBhY2NlcHRzIGEgc2luZ2xlIHNlYXJjaCB0ZXJtLAojIHNvIHdlIGV4cGVjdCB0byBmaW5kIHR3byBjdXN0b21lcnMsIHRoZSBzcGVjaWZpYyBjdXN0b21lciBhbmQgdGhlIGdlbmVyaWMgY3VzdG9tZXIuCm15ICRSZXN1bHRzID0gJEJhY2tlbmRPYmplY3QtPlZhbHVlU2VhcmNoKAogICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICBTZWFyY2ggICAgICAgICAgICAgPT4gJENpcmNsZU5hbWUySUR7J/Cfn6IgLSBVKzFGN0UyIC0gTEFSR0UgR1JFRU4gQ0lSQ0xFJ30sCik7Cm9rKCBJc0FycmF5UmVmV2l0aERhdGEoJFJlc3VsdHMpLCAnVmFsdWVTZWFyY2ggbXVzdCByZXR1cm4gYSByZXN1bHQuJyApOwoKbXkgQEZvdW5kT2JqZWN0SURzID0gbWFwIHsgJF8tPntPYmplY3RJRH0gfSAkUmVzdWx0cy0+QCo7CmlzKAogICAgWyBzb3J0IEBGb3VuZE9iamVjdElEcyBdLAogICAgWyBzb3J0ICRPYmplY3RJREJ5T2JqZWN0TmFtZS0+eyAkT2JqZWN0TmFtZXNbMl0gfSwgJE9iamVjdElEQnlPYmplY3ROYW1lLT57ICRPYmplY3ROYW1lc1s1XSB9IF0sICAgICMgR3JlZW4gYW5kIGdlbmVyaWMKICAgICdnb3QgdGhlIGV4cGV0ZWQgdHdvIHJlc3VsdHMnCik7Cgpkb25lX3Rlc3Rpbmc7Cg==</File>
        <File Location="scripts/test/Selenium/Output/GeneralCatalogPreferencesGeneric.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgojIGNvcmUgbW9kdWxlcwoKIyBDUEFOIG1vZHVsZXMKdXNlIFRlc3QyOjpWMCBxdyggZG9uZV90ZXN0aW5nIGlzIG9rICk7CgojIE9UT0JPIG1vZHVsZXMKdXNlIEtlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6UmVnaXN0ZXJPTTsgICAgIyBTZXQgdXAgJEtlcm5lbDo6T00KdXNlIEtlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW07CgojIGdldCBzZWxlbml1bSBvYmplY3QKbXkgJFNlbGVuaXVtID0gS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bS0+bmV3KCBMb2dFeGVjdXRlQ29tbWFuZEFjdGl2ZSA9PiAxICk7CgokU2VsZW5pdW0tPlJ1blRlc3QoCiAgICBzdWIgewoKICAgICAgICAjIGdldCBoZWxwZXIgb2JqZWN0CiAgICAgICAgbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgogICAgICAgICMgZ2V0IHN5c2NvbmZpZyBvYmplY3QKICAgICAgICBteSAkU3lzQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycpOwoKICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBWYWxpZCA9PiAwLAogICAgICAgICAgICBLZXkgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI0NvbW1lbnQyJywKICAgICAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAgICAgTW9kdWxlICA9PiAnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXM6OkdlbmVyaWMnLAogICAgICAgICAgICAgICAgTGFiZWwgICA9PiAnQ29tbWVudDInLAogICAgICAgICAgICAgICAgRGVzYyAgICA9PiAnRGVmaW5lIHRoZSBnZW5lcmFsIGNhdGFsb2cgY29tbWVudCAyLicsCiAgICAgICAgICAgICAgICBCbG9jayAgID0+ICdUZXh0QXJlYScsCiAgICAgICAgICAgICAgICBDb2xzICAgID0+ICc1MCcsCiAgICAgICAgICAgICAgICBSb3dzICAgID0+ICc1JywKICAgICAgICAgICAgICAgIFByZWZLZXkgPT4gJ0NvbW1lbnQyJywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBWYWxpZCA9PiAwLAogICAgICAgICAgICBLZXkgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI1Blcm1pc3Npb25zJywKICAgICAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAgICAgTW9kdWxlICA9PiAnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXM6OkdlbmVyaWMnLAogICAgICAgICAgICAgICAgTGFiZWwgICA9PiAnUGVybWlzc2lvbnMnLAogICAgICAgICAgICAgICAgRGVzYyAgICA9PiAnRGVmaW5lIHRoZSBncm91cCB3aXRoIHBlcm1pc3Npb25zLicsCiAgICAgICAgICAgICAgICBCbG9jayAgID0+ICdQZXJtaXNzaW9uJywKICAgICAgICAgICAgICAgIENsYXNzICAgPT4gJ0lUU006OkNvbmZpZ0l0ZW06OkNsYXNzJywKICAgICAgICAgICAgICAgIFByZWZLZXkgPT4gJ1Blcm1pc3Npb24nLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgY3JlYXRlIGFuZCBsb2cgaW4gdGVzdCB1c2VyCiAgICAgICAgbXkgJFRlc3RVc2VyTG9naW4gPSAkSGVscGVyLT5UZXN0VXNlckNyZWF0ZSgKICAgICAgICAgICAgR3JvdXBzID0+IFsnYWRtaW4nXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IHNjcmlwdCBhbGlhcwogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICAgICAjIFRlc3QgY2FzZTogQ29tbWVudDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgogICAgICAgICMgbmF2aWdhdGUgdG8gQWRtaW5HZW5lcmFsQ2F0YWxvZyBzY3JlZW4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZG1pbkdlbmVyYWxDYXRhbG9nIik7CgogICAgICAgICMgY2xpY2sgIkFkZCBDYXRhbG9nIENsYXNzIgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyB2ZXJpZnkgdGhhdCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZSBDb21tZW50MiBpcyBub3QgcHJlc2VudCB3aGlsZSBpbnZhbGlkCiAgICAgICAgJFNlbGVuaXVtLT5jb250ZW50X2xhY2tzKAogICAgICAgICAgICAnI0NvbW1lbnQyJywKICAgICAgICAgICAgJyNDb21tZW50MiBpcyBub3QgZW5hYmxlZCEnLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGdlbmVyYWwgY2F0YWxvZyBwcmVmZXJlbmNlIENvbW1lbnQyIGRlZmF1bHQgc3lzY29uZmlnCiAgICAgICAgbXkgJVByZWZlcmVuY2VDb21tZW50MkNvbmZpZyA9ICRTeXNDb25maWdPYmplY3QtPlNldHRpbmdHZXQoCiAgICAgICAgICAgIE5hbWUgICAgPT4gJ0dlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMjIyNDb21tZW50MicsCiAgICAgICAgICAgIERlZmF1bHQgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjIHNldCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZSBDb21tZW50MiB0byB2YWxpZAogICAgICAgIG15ICVQcmVmZXJlbmNlQ29tbWVudDJDb25maWdVcGRhdGUgPSBtYXAgeyAkXy0+e0tleX0gPT4gJF8tPntDb250ZW50fSB9CiAgICAgICAgICAgIGdyZXAgeyBkZWZpbmVkICRfLT57S2V5fSB9CiAgICAgICAgICAgIEB7ICRQcmVmZXJlbmNlQ29tbWVudDJDb25maWd7WE1MQ29udGVudFBhcnNlZH0tPntWYWx1ZX0tPlswXS0+e0hhc2h9LT5bMF0tPntJdGVtfSB9OwoKICAgICAgICAjQHsgJFByZWZlcmVuY2VDb21tZW50MkNvbmZpZ3tTZXR0aW5nfS0+WzFdLT57SGFzaH0tPlsxXS0+e0l0ZW19IH07CgogICAgICAgICRIZWxwZXItPkNvbmZpZ1NldHRpbmdDaGFuZ2UoCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgIEtleSAgID0+ICdHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzIyMjQ29tbWVudDInLAogICAgICAgICAgICBWYWx1ZSA9PiBcJVByZWZlcmVuY2VDb21tZW50MkNvbmZpZ1VwZGF0ZSwKICAgICAgICApOwoKICAgICAgICAjIHJlZnJlc2ggc2NyZWVuIGZvciBzeXNjb25maWcgdXBkYXRlIHRvIHRha2UgZWZmZWN0CiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZFJlZnJlc2goKTsKCiAgICAgICAgIyB2ZXJpZnkgdGhhdCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZSBDb21tZW50MiBpcyBwcmVzZW50IHdoaWxlIHZhbGlkCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNDb21tZW50MiIsICdjc3MnICktPmlzX2VuYWJsZWQoKTsKICAgICAgICBvayggJFN1Y2Nlc3MsICIjQ29tbWVudDIgaXMgZW5hYmxlZCEiICk7CgogICAgICAgICMgY3JlYXRlIHJlYWwgdGVzdCBjYXRhbG9nIGNsYXNzCiAgICAgICAgbXkgJENhdGFsb2dDbGFzc0RzYyAgPSAiQ2F0YWxvZ0NsYXNzRHNjIiAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgbXkgJENhdGFsb2dDbGFzc05hbWUgPSAiQ2F0YWxvZ0NsYXNzTmFtZSIgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0NsYXNzRHNjIiwgJ2NzcycgKS0+c2VuZF9rZXlzKCRDYXRhbG9nQ2xhc3NEc2MpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI05hbWUiLCAgICAgJ2NzcycgKS0+c2VuZF9rZXlzKCRDYXRhbG9nQ2xhc3NOYW1lKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNDb21tZW50IiwgICdjc3MnICktPnNlbmRfa2V5cygiU2VsZW5pdW0gY2F0YWxvZyBjbGFzcyIpOwogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoIlwkKCcjVmFsaWRJRCcpLnZhbCgnMScpLnRyaWdnZXIoJ3JlZHJhdy5JbnB1dEZpZWxkJykudHJpZ2dlcignY2hhbmdlJyk7Iik7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vYnV0dG9uW1xAdmFsdWU9J1N1Ym1pdCddW1xAdHlwZT0nc3VibWl0J10iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIGNsaWNrICJBZGQgQ2F0YWxvZyBJdGVtIgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBjcmVhdGUgcmVhbCB0ZXN0IGNhdGFsb2cgaXRlbQogICAgICAgIG15ICRDYXRhbG9nQ2xhc3NJdGVtID0gIkNhdGFsb2dDbGFzc0l0ZW0iIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNOYW1lIiwgICAgJ2NzcycgKS0+c2VuZF9rZXlzKCRDYXRhbG9nQ2xhc3NJdGVtKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNDb21tZW50IiwgJ2NzcycgKS0+c2VuZF9rZXlzKCJTZWxlbml1bSBjYXRhbG9nIGl0ZW0iKTsKICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KCJcJCgnI1ZhbGlkSUQnKS52YWwoJzEnKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIpOwoKICAgICAgICAjIHNldCBpbmNsdWRlZCBxdWV1ZSBhdHRyaWJ1dGUgQ29tbWVudDIKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNDb21tZW50MiIsICdjc3MnICktPnNlbmRfa2V5cygnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlc0dlbmVyaWMgQ29tbWVudDInKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nU3VibWl0J11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgZ2V0IHRlc3QgY2F0YWxvZyBpdGVtcyBJRHMKICAgICAgICBteSBAQ2F0YWxvZ0l0ZW1JRHM7CiAgICAgICAgZm9yIG15ICRDYXRhbG9nSXRlbXMgKCAkQ2F0YWxvZ0NsYXNzTmFtZSwgJENhdGFsb2dDbGFzc0l0ZW0gKSB7CiAgICAgICAgICAgIG15ICRDYXRhbG9nQ2xhc3NJdGVtRGF0YSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHZW5lcmFsQ2F0YWxvZycpLT5JdGVtR2V0KAogICAgICAgICAgICAgICAgQ2xhc3MgPT4gJENhdGFsb2dDbGFzc0RzYywKICAgICAgICAgICAgICAgIE5hbWUgID0+ICRDYXRhbG9nSXRlbXMsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRDYXRhbG9nSXRlbUlEID0gJENhdGFsb2dDbGFzc0l0ZW1EYXRhLT57SXRlbUlEfTsKICAgICAgICAgICAgcHVzaCBAQ2F0YWxvZ0l0ZW1JRHMsICRDYXRhbG9nSXRlbUlEOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBuZXcgdGVzdCBjYXRhbG9nIGl0ZW0gQ29tbWVudDIgdmFsdWUKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgKICAgICAgICAgICAgIi8vYVtjb250YWlucyhcQGhyZWYsIFwnQWN0aW9uPUFkbWluR2VuZXJhbENhdGFsb2c7U3ViYWN0aW9uPUl0ZW1FZGl0O0l0ZW1JRD0kQ2F0YWxvZ0l0ZW1JRHNbMV0nICldIgogICAgICAgICktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgaXMoCiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAnI0NvbW1lbnQyJywgJ2NzcycgKS0+Z2V0X3ZhbHVlKCksCiAgICAgICAgICAgICdHZW5lcmFsQ2F0YWxvZ1ByZWZlcmVuY2VzR2VuZXJpYyBDb21tZW50MicsCiAgICAgICAgICAgICIjQ29tbWVudDIgc3RvcmVkIHZhbHVlIiwKICAgICAgICApOwoKICAgICAgICAjIHVwZGF0ZSBDb21tZW50MgogICAgICAgIG15ICRVcGRhdGVDb21tZW50MiA9ICJVcGRhdGVkIGNvbW1lbnQgZm9yIEdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXNHZW5lcmljIENvbW1lbnQyIjsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNDb21tZW50MiIsICdjc3MnICktPmNsZWFyKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjQ29tbWVudDIiLCAnY3NzJyApLT5zZW5kX2tleXMoJFVwZGF0ZUNvbW1lbnQyKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nU3VibWl0J11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgY2hlY2sgdXBkYXRlZCBDb21tZW50MiB2YWx1ZQogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAkQ2F0YWxvZ0NsYXNzSXRlbSwgJ2xpbmtfdGV4dCcgKS0+VmVyaWZpZWRDbGljaygpOwogICAgICAgIGlzKAogICAgICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJyNDb21tZW50MicsICdjc3MnICktPmdldF92YWx1ZSgpLAogICAgICAgICAgICAkVXBkYXRlQ29tbWVudDIsCiAgICAgICAgICAgICIjQ29tbWVudDIgdXBkYXRlZCB2YWx1ZSIsCiAgICAgICAgKTsKCiAgICAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICAgICAjIFRlc3QgY2FzZTogUGVybWlzc2lvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwogICAgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgogICAgICAgICMgbmF2aWdhdGUgdG8gQWRtaW5HZW5lcmFsQ2F0YWxvZyBzY3JlZW4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZG1pbkdlbmVyYWxDYXRhbG9nIik7CgogICAgICAgICMgY2xpY2sgb24gdGVzdCBDYXRhbG9nQ2xhc3MKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJENhdGFsb2dDbGFzc0RzYywgJ2xpbmtfdGV4dCcgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIGNsaWNrICJBZGQgQ2F0YWxvZyBJdGVtIgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyB2ZXJpZnkgdGhhdCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZSBQZXJtaXNzaW9ucyBpcyBub3QgcHJlc2VudCB3aGlsZSBpbnZhbGlkCiAgICAgICAgJFNlbGVuaXVtLT5jb250ZW50X2xhY2tzKAogICAgICAgICAgICAnI1Blcm1pc3Npb25fU2VhcmNoJywKICAgICAgICAgICAgJyNQZXJtaXNzaW9ucyBpcyBub3QgZW5hYmxlZCEnLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGdlbmVyYWwgY2F0YWxvZyBwcmVmZXJlbmNlIFBlcm1pc3Npb24gZGVmYXVsdCBzeXNjb25maWcKICAgICAgICBteSAlUHJlZmVyZW5jZVBlcm1pc3Npb25zQ29uZmlnID0gJFN5c0NvbmZpZ09iamVjdC0+U2V0dGluZ0dldCgKICAgICAgICAgICAgTmFtZSAgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI1Blcm1pc3Npb25zJywKICAgICAgICAgICAgRGVmYXVsdCA9PiAxLAogICAgICAgICk7CgogICAgICAgIG15ICRQcmVmZXJlbmNlUGVybWlzc2lvbnNFZmZlY3RpdmVDb25maWcgPSAkU3lzQ29uZmlnT2JqZWN0LT5TZXR0aW5nRWZmZWN0aXZlVmFsdWVHZXQoCiAgICAgICAgICAgIFZhbHVlID0+ICRQcmVmZXJlbmNlUGVybWlzc2lvbnNDb25maWd7WE1MQ29udGVudFBhcnNlZH0tPntWYWx1ZX0sCiAgICAgICAgKTsKCiAgICAgICAgIyBzZXQgQ2xhc3MgZm9yIEdlbmVyYWxDYXRhbG9nUHJlZmVyZW5jZXMjIyNQZXJtaXNzaW9ucyBhcyB0ZXN0IENhdGFsb2dDbGFzcwogICAgICAgICRQcmVmZXJlbmNlUGVybWlzc2lvbnNFZmZlY3RpdmVDb25maWctPntDbGFzc30gPSAkQ2F0YWxvZ0NsYXNzRHNjOwoKICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICBWYWxpZCA9PiAxLAogICAgICAgICAgICBLZXkgICA9PiAnR2VuZXJhbENhdGFsb2dQcmVmZXJlbmNlcyMjI1Blcm1pc3Npb25zJywKICAgICAgICAgICAgVmFsdWUgPT4gJFByZWZlcmVuY2VQZXJtaXNzaW9uc0VmZmVjdGl2ZUNvbmZpZywKICAgICAgICApOwoKICAgICAgICAjIHJlZnJlc2ggc2NyZWVuIGZvciBzeXNjb25maWcgdXBkYXRlIHRvIHRha2UgZWZmZWN0CiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZFJlZnJlc2goKTsKCiAgICAgICAgIyB2ZXJpZnkgdGhhdCBnZW5lcmFsIGNhdGFsb2cgcHJlZmVyZW5jZSBQZXJtaXNzaW9ucyBpcyBwcmVzZW50IHdoaWxlIHZhbGlkCiAgICAgICAgJFN1Y2Nlc3MgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNQZXJtaXNzaW9uX1NlYXJjaCIsICdjc3MnICktPmlzX2VuYWJsZWQoKTsKICAgICAgICBvayggJFN1Y2Nlc3MsICIjUGVybWlzc2lvbnMgaXMgZW5hYmxlZCEiICk7CgogICAgICAgICMgZ2V0IERCIG9iamVjdAogICAgICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICAgICAjIGRlbGV0ZSBjcmVhdGVkIHRlc3QgY2F0YWxvZyBjbGFzcwogICAgICAgIGZvciBteSAkQ2F0YWxvZ0l0ZW0gKEBDYXRhbG9nSXRlbUlEcykgewoKICAgICAgICAgICAgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICAgICAgU1FMID0+ICJERUxFVEUgRlJPTSBnZW5lcmFsX2NhdGFsb2dfcHJlZmVyZW5jZXMgV0hFUkUgZ2VuZXJhbF9jYXRhbG9nX2lkID0gJENhdGFsb2dJdGVtIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgb2soICRTdWNjZXNzLCAiQ2F0YWxvZ0l0ZW1JRCAkQ2F0YWxvZ0l0ZW0gcHJlZmVyZW5jZSAtIGRlbGV0ZWQiICk7CiAgICAgICAgICAgICRTdWNjZXNzID0gJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgICAgIFNRTCA9PiAiREVMRVRFIEZST00gZ2VuZXJhbF9jYXRhbG9nIFdIRVJFIGlkID0gJENhdGFsb2dJdGVtIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgb2soICRTdWNjZXNzLCAiQ2F0YWxvZ0l0ZW1JRCAkQ2F0YWxvZ0l0ZW0gLSBkZWxldGVkIiwgKTsKICAgICAgICB9CgogICAgICAgICMgY2xlYW4gdXAgY2FjaGUKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnKS0+Q2xlYW5VcCggVHlwZSA9PiAnR2VuZXJhbENhdGFsb2cnICk7CiAgICB9Cik7Cgpkb25lX3Rlc3Rpbmc7Cg==</File>
        <File Location="scripts/test/Selenium/Agent/Admin/AdminGeneralCatalog.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIHV0Zjg7CgojIGNvcmUgbW9kdWxlcwoKIyBDUEFOIG1vZHVsZXMKdXNlIFRlc3QyOjpWMCBxdyggZG9uZV90ZXN0aW5nIGlzIG9rICk7CgojIE9UT0JPIG1vZHVsZXMKdXNlIEtlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6UmVnaXN0ZXJEcml2ZXI7ICAgICMgU2V0IHVwICRLZXJuZWw6Ok9NCnVzZSBLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OlNlbGVuaXVtOwoKbXkgJFNlbGVuaXVtID0gS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpTZWxlbml1bS0+bmV3KCBMb2dFeGVjdXRlQ29tbWFuZEFjdGl2ZSA9PiAxICk7CgokU2VsZW5pdW0tPlJ1blRlc3QoCiAgICBzdWIgewoKICAgICAgICBteSAkSGVscGVyID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInKTsKCiAgICAgICAgIyBDcmVhdGUgYW5kIGxvZyBpbiB0ZXN0IHVzZXIuCiAgICAgICAgbXkgJFRlc3RVc2VyTG9naW4gPSAkSGVscGVyLT5UZXN0VXNlckNyZWF0ZSgKICAgICAgICAgICAgR3JvdXBzID0+IFsnYWRtaW4nXSwKICAgICAgICApIHx8IGRpZSAiRGlkIG5vdCBnZXQgdGVzdCB1c2VyIjsKCiAgICAgICAgJFNlbGVuaXVtLT5Mb2dpbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciAgICAgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRUZXN0VXNlckxvZ2luLAogICAgICAgICk7CgogICAgICAgIG15ICRTY3JpcHRBbGlhcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2NyaXB0QWxpYXMnKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZG1pbkdlbmVyYWxDYXRhbG9nIHNjcmVlbi4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZG1pbkdlbmVyYWxDYXRhbG9nIik7CgogICAgICAgICMgQ2xpY2sgIkFkZCBDYXRhbG9nIENsYXNzIi4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nQWRkJ11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgQ2hlY2sgZm9yIGlucHV0IGZpZWxkcy4KICAgICAgICBmb3IgbXkgJElEICgKICAgICAgICAgICAgcXcoQ2xhc3NEc2MgTmFtZSBWYWxpZElEIENvbW1lbnQpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgIG15ICRFbGVtZW50ID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJElEIiwgJ2NzcycgKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2VuYWJsZWQoKTsKICAgICAgICAgICAgJEVsZW1lbnQtPmlzX2Rpc3BsYXllZCgpOwogICAgICAgIH0KCiAgICAgICAgIyBDaGVjayBjbGllbnQgc2lkZSB2YWxpZGF0aW9uLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI05hbWUiLCAgICdjc3MnICktPmNsZWFyKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjU3VibWl0IiwgJ2NzcycgKS0+Y2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIEphdmFTY3JpcHQgPT4gJ3JldHVybiAkKCIjTmFtZS5FcnJvciIpLmxlbmd0aCcgKTsKCiAgICAgICAgaXMoCiAgICAgICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICAgICAicmV0dXJuIFwkKCcjTmFtZScpLmhhc0NsYXNzKCdFcnJvcicpIgogICAgICAgICAgICApLAogICAgICAgICAgICAnMScsCiAgICAgICAgICAgICdDbGllbnQgc2lkZSB2YWxpZGF0aW9uIGNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIGlucHV0IHZhbHVlJywKICAgICAgICApOwoKICAgICAgICAjIENyZWF0ZSByZWFsIHRlc3QgY2F0YWxvZyBjbGFzcy4KICAgICAgICBteSAkQ2F0YWxvZ0NsYXNzRHNjICA9ICJDYXRhbG9nQ2xhc3NEc2MiIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgICAgICBteSAkQ2F0YWxvZ0NsYXNzTmFtZSA9ICJDYXRhbG9nQ2xhc3NOYW1lIiAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjQ2xhc3NEc2MiLCAnY3NzJyApLT5zZW5kX2tleXMoJENhdGFsb2dDbGFzc0RzYyk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTmFtZSIsICAgICAnY3NzJyApLT5zZW5kX2tleXMoJENhdGFsb2dDbGFzc05hbWUpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0NvbW1lbnQiLCAgJ2NzcycgKS0+c2VuZF9rZXlzKCJTZWxlbml1bSBjYXRhbG9nIGNsYXNzIik7CiAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgiXCQoJyNWYWxpZElEJykudmFsKCcxJykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJyNTdWJtaXQnLCAnY3NzJyApLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgQ2xpY2sgIkdvIHRvIG92ZXJ2aWV3Ii4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9hW2NvbnRhaW5zKFxAaHJlZiwgXCdBY3Rpb249QWRtaW5HZW5lcmFsQ2F0YWxvZycgKV0iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGZvciBjcmVhdGVkIHRlc3QgY2F0YWxvZyBjbGFzcyBpbiBBZG1pbkdlbmVyYWxDYXRhbG9nIHNjcmVlbiBhbmQgY2xpY2sgb24gaXQuCiAgICAgICAgJFNlbGVuaXVtLT5jb250ZW50X2NvbnRhaW5zKAogICAgICAgICAgICAkQ2F0YWxvZ0NsYXNzRHNjLAogICAgICAgICAgICAiQ3JlYXRlZCB0ZXN0IGNhdGFsb2cgY2xhc3MgJENhdGFsb2dDbGFzc0RzYyAtIGZvdW5kIiwKICAgICAgICApOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KAogICAgICAgICAgICAiLy9hW2NvbnRhaW5zKFxAaHJlZiwgXCdBY3Rpb249QWRtaW5HZW5lcmFsQ2F0YWxvZztTdWJhY3Rpb249SXRlbUxpc3Q7Q2xhc3M9JENhdGFsb2dDbGFzc0RzYycgKV0iCiAgICAgICAgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENsaWNrICJBZGQgQ2F0YWxvZyBJdGVtIi4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nQWRkJ11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgQ2hlY2sgY2xpZW50IHNpZGUgdmFsaWRhdGlvbi4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNOYW1lIiwgICAnY3NzJyApLT5jbGVhcigpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI1N1Ym1pdCIsICdjc3MnICktPmNsaWNrKCk7CiAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBKYXZhU2NyaXB0ID0+ICdyZXR1cm4gJCgiI05hbWUuRXJyb3IiKS5sZW5ndGgnICk7CgogICAgICAgIGlzKAogICAgICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KAogICAgICAgICAgICAgICAgInJldHVybiBcJCgnI05hbWUnKS5oYXNDbGFzcygnRXJyb3InKSIKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJzEnLAogICAgICAgICAgICAnQ2xpZW50IHNpZGUgdmFsaWRhdGlvbiBjb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBpbnB1dCB2YWx1ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBUcnkgdG8gY3JlYXRlIGNhdGFsb2cgaXRlbSB0aGF0IGFscmVhZHkgZXhpc3RzLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI05hbWUiLCAnY3NzJyApLT5zZW5kX2tleXMoJENhdGFsb2dDbGFzc05hbWUpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdTdWJtaXQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBWZXJpZnkgZXJyb3IgbWVzc2FnZS4KICAgICAgICAkU2VsZW5pdW0tPmNvbnRlbnRfY29udGFpbnMoCiAgICAgICAgICAgICdDYW5cJ3QgYWRkIG5ldyBpdGVtISBHZW5lcmFsIGNhdGFsb2cgaXRlbSB3aXRoIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGNsYXNzLicsCiAgICAgICAgICAgICJFcnJvciBtZXNzYWdlIC0gZGlzcGxheWVkIiwKICAgICAgICApOwoKICAgICAgICAjIFJldHVybiBiYWNrIHRvIHRlc3QgY2F0YWxvZyBjbGFzcyBzY3JlZW4gYW5kIGNsaWNrIG9uICJBZGQgQ2F0YWxvZyBJdGVtIi4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KAogICAgICAgICAgICAiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWRtaW5HZW5lcmFsQ2F0YWxvZztTdWJhY3Rpb249SXRlbUxpc3Q7Q2xhc3M9JENhdGFsb2dDbGFzc0RzYyIKICAgICAgICApOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2J1dHRvbltcQHZhbHVlPSdBZGQnXVtcQHR5cGU9J3N1Ym1pdCddIiktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBDcmVhdGUgcmVhbCB0ZXN0IGNhdGFsb2cgaXRlbS4KICAgICAgICBteSAkQ2F0YWxvZ0NsYXNzSXRlbSA9ICJDYXRhbG9nQ2xhc3NJdGVtIiAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTmFtZSIsICAgICdjc3MnICktPnNlbmRfa2V5cygkQ2F0YWxvZ0NsYXNzSXRlbSk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjQ29tbWVudCIsICdjc3MnICktPnNlbmRfa2V5cygiU2VsZW5pdW0gY2F0YWxvZyBpdGVtIik7CiAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgiXCQoJyNWYWxpZElEJykudmFsKCcxJykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9idXR0b25bXEB2YWx1ZT0nU3VibWl0J11bXEB0eXBlPSdzdWJtaXQnXSIpLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgR2V0IHRlc3QgY2F0YWxvZyBpdGVtcyBJRHMuCiAgICAgICAgbXkgQENhdGFsb2dJdGVtSURzOwogICAgICAgIGZvciBteSAkQ2F0YWxvZ0l0ZW1zICggJENhdGFsb2dDbGFzc05hbWUsICRDYXRhbG9nQ2xhc3NJdGVtICkgewogICAgICAgICAgICBteSAkQ2F0YWxvZ0NsYXNzSXRlbURhdGEgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKS0+SXRlbUdldCgKICAgICAgICAgICAgICAgIENsYXNzID0+ICRDYXRhbG9nQ2xhc3NEc2MsCiAgICAgICAgICAgICAgICBOYW1lICA9PiAkQ2F0YWxvZ0l0ZW1zLAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAkQ2F0YWxvZ0l0ZW1JRCA9ICRDYXRhbG9nQ2xhc3NJdGVtRGF0YS0+e0l0ZW1JRH07CiAgICAgICAgICAgIHB1c2ggQENhdGFsb2dJdGVtSURzLCAkQ2F0YWxvZ0l0ZW1JRDsKICAgICAgICB9CgogICAgICAgICMgQ2hlY2sgZm9yIGNyZWF0ZWQgdGVzdCBjYXRhbG9nIGl0ZW0gYW5kIGNsaWNrIG9uIGl0LgogICAgICAgICRTZWxlbml1bS0+Y29udGVudF9jb250YWlucygKICAgICAgICAgICAgJENhdGFsb2dDbGFzc0l0ZW0sCiAgICAgICAgICAgICJDcmVhdGVkIHRlc3QgY2F0YWxvZyBpdGVtICRDYXRhbG9nQ2xhc3NJdGVtIC0gZm91bmQiLAogICAgICAgICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoCiAgICAgICAgICAgICIvL2FbY29udGFpbnMoXEBocmVmLCBcJ0FjdGlvbj1BZG1pbkdlbmVyYWxDYXRhbG9nO1N1YmFjdGlvbj1JdGVtRWRpdDtJdGVtSUQ9JENhdGFsb2dJdGVtSURzWzFdJyApXSIKICAgICAgICApLT5WZXJpZmllZENsaWNrKCk7CgogICAgICAgICMgQ2hlY2sgbmV3IHRlc3QgY2F0YWxvZyBpdGVtIHZhbHVlcy4KICAgICAgICBpcygKICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjTmFtZScsICdjc3MnICktPmdldF92YWx1ZSgpLAogICAgICAgICAgICAkQ2F0YWxvZ0NsYXNzSXRlbSwKICAgICAgICAgICAgIiNOYW1lIHN0b3JlZCB2YWx1ZSIsCiAgICAgICAgKTsKICAgICAgICBpcygKICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICcjQ29tbWVudCcsICdjc3MnICktPmdldF92YWx1ZSgpLAogICAgICAgICAgICAiU2VsZW5pdW0gY2F0YWxvZyBpdGVtIiwKICAgICAgICAgICAgIiNDb21tZW50IHN0b3JlZCB2YWx1ZSIsCiAgICAgICAgKTsKCiAgICAgICAgIyBFZGl0IG5hbWUgYW5kIGNvbW1lbnQuCiAgICAgICAgbXkgJEVkaXRDYXRhbG9nQ2xhc3NJdGVtID0gIkVkaXQiIC4gJENhdGFsb2dDbGFzc0l0ZW07CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTmFtZSIsICAgICdjc3MnICktPmNsZWFyKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTmFtZSIsICAgICdjc3MnICktPnNlbmRfa2V5cygkRWRpdENhdGFsb2dDbGFzc0l0ZW0pOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0NvbW1lbnQiLCAnY3NzJyApLT5zZW5kX2tleXMoIiBlZGl0Iik7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vYnV0dG9uW1xAdmFsdWU9J1N1Ym1pdCddW1xAdHlwZT0nc3VibWl0J10iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGVkaXRlZCB0ZXN0IGNhdGFsb2cgaXRlbSB2YWx1ZXMuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICRFZGl0Q2F0YWxvZ0NsYXNzSXRlbSwgJ2xpbmtfdGV4dCcgKS0+VmVyaWZpZWRDbGljaygpOwogICAgICAgIGlzKAogICAgICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJyNOYW1lJywgJ2NzcycgKS0+Z2V0X3ZhbHVlKCksCiAgICAgICAgICAgICRFZGl0Q2F0YWxvZ0NsYXNzSXRlbSwKICAgICAgICAgICAgIiNOYW1lIHVwZGF0ZWQgdmFsdWUiLAogICAgICAgICk7CiAgICAgICAgaXMoCiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAnI0NvbW1lbnQnLCAnY3NzJyApLT5nZXRfdmFsdWUoKSwKICAgICAgICAgICAgIlNlbGVuaXVtIGNhdGFsb2cgaXRlbSBlZGl0IiwKICAgICAgICAgICAgIiNDb21tZW50IHVwZGF0ZWQgdmFsdWUiLAogICAgICAgICk7CgogICAgICAgICMgQ2xpY2sgb24gJ2NhbmNlbCcgYW5kIHZlcmlmeSBjb3JyZWN0IGxpbmsuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJDYW5jZWwiLCAnbGlua190ZXh0JyApLT5WZXJpZmllZENsaWNrKCk7CiAgICAgICAgb2soCiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAkRWRpdENhdGFsb2dDbGFzc0l0ZW0sICdsaW5rX3RleHQnICksCiAgICAgICAgICAgICJDYW5jZWwgbGluayBpcyBjb3JyZWN0LiIKICAgICAgICApOwoKICAgICAgICAjIEdldCBXYXJuaW5nSUQuIFRPRE86IHRoaXMgd29ya3Mgb25seSB3aGVuIElUU01Db3JlIGlzIGFscmVhZHkgaW5zdGFsbGVkCiAgICAgICAgbXkgJEl0ZW1EYXRhUmVmID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyktPkl0ZW1HZXQoCiAgICAgICAgICAgIENsYXNzID0+ICdJVFNNOjpDb3JlOjpJbmNpZGVudFN0YXRlJywKICAgICAgICAgICAgTmFtZSAgPT4gJ1dhcm5pbmcnLAogICAgICAgICk7CiAgICAgICAgbXkgJFdhcm5pbmdJRCA9ICRJdGVtRGF0YVJlZi0+e0l0ZW1JRH0gLy8gJyc7CiAgICAgICAgb2soCiAgICAgICAgICAgICRXYXJuaW5nSUQsCiAgICAgICAgICAgICJXYXJuaW5nIGluY2lkZW50IHN0YXRlIElEIC0gJFdhcm5pbmdJRCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBXYXJuaW5nIGVkaXQgc2NyZWVuLgogICAgICAgICRTZWxlbml1bS0+VmVyaWZpZWRHZXQoCiAgICAgICAgICAgICIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZG1pbkdlbmVyYWxDYXRhbG9nO1N1YmFjdGlvbj1JdGVtRWRpdDtJdGVtSUQ9JFdhcm5pbmdJRCIKICAgICAgICApOwoKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoCiAgICAgICAgICAgIEphdmFTY3JpcHQgPT4gJ3JldHVybiB0eXBlb2YoJCkgPT09ICJmdW5jdGlvbiIgJiYgJCgiI1ZhbGlkSUQiKS5sZW5ndGggJiYgJCgiI0Z1bmN0aW9uYWxpdHkiKS5sZW5ndGg7JwogICAgICAgICk7CgogICAgICAgICMgU2VsZWN0ICd3YXJuaW5nJyBhcyBGdW5jdGlvbmFsaXR5IG9wdGlvbi4KICAgICAgICAkU2VsZW5pdW0tPklucHV0RmllbGRWYWx1ZVNldCgKICAgICAgICAgICAgRWxlbWVudCA9PiAnI0Z1bmN0aW9uYWxpdHknLAogICAgICAgICAgICBWYWx1ZSAgID0+ICd3YXJuaW5nJywKICAgICAgICApOwoKICAgICAgICAjIFNlbGVjdCAnSW52YWxpZCcgYXMgVmFsaWRJRCBvcHRpb24uCiAgICAgICAgJFNlbGVuaXVtLT5JbnB1dEZpZWxkVmFsdWVTZXQoCiAgICAgICAgICAgIEVsZW1lbnQgPT4gJyNWYWxpZElEJywKICAgICAgICAgICAgVmFsdWUgICA9PiAnMicsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yalF1ZXJ5RXZlbnRCb3VuZCgKICAgICAgICAgICAgQ1NTU2VsZWN0b3IgPT4gJyNTdWJtaXRBbmRDb250aW51ZScsCiAgICAgICAgICAgIEV2ZW50ICAgICAgID0+ICdjbGljaycsCiAgICAgICAgKTsKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3JqUXVlcnlFdmVudEJvdW5kKAogICAgICAgICAgICBDU1NTZWxlY3RvciA9PiAnI1N1Ym1pdCcsCiAgICAgICAgICAgIEV2ZW50ICAgICAgID0+ICdjbGljaycsCiAgICAgICAgKTsKCiAgICAgICAgIyBDbGljayAnU2F2ZScgYW5kICdTYXZlIGFuZCBmaW5pc2gnLgogICAgICAgIGZvciBteSAkQnV0dG9uSUQgKHF3KFN1Ym1pdEFuZENvbnRpbnVlIFN1Ym1pdCkpIHsKICAgICAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJEJ1dHRvbklEIiwgJ2NzcycgKS0+Y2xpY2soKTsKCiAgICAgICAgICAgICRTZWxlbml1bS0+V2FpdEZvciggSmF2YVNjcmlwdCA9PiAncmV0dXJuICQoIi5EaWFsb2c6dmlzaWJsZSIpLmxlbmd0aDsnICk7CgogICAgICAgICAgICBteSAkV2FybmluZ1RleHQgPSAnV2FybmluZyBpbmNpZGVudCBzdGF0ZSBjYW4gbm90IGJlIHNldCB0byBpbnZhbGlkLic7CgogICAgICAgICAgICBvaygKICAgICAgICAgICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoInJldHVybiBcJCgnLkRpYWxvZzpjb250YWlucyhcIiRXYXJuaW5nVGV4dFwiKScpLmxlbmd0aDsiKSwKICAgICAgICAgICAgICAgICInJEJ1dHRvbklEJyBjbGljayAtIFdhcm5pbmcgZGlhbG9nIGlzIGZvdW5kIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxlbml1bS0+V2FpdEZvcmpRdWVyeUV2ZW50Qm91bmQoCiAgICAgICAgICAgICAgICBDU1NTZWxlY3RvciA9PiAnI0RpYWxvZ0J1dHRvbjEnLAogICAgICAgICAgICAgICAgRXZlbnQgICAgICAgPT4gJ2NsaWNrJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgQ2xpY2sgdGhlIGNhbmNlbCBidXR0b24uCiAgICAgICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAnI0RpYWxvZ0J1dHRvbjEnLCAnY3NzJyApLT5jbGljaygpOwoKICAgICAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKCBKYXZhU2NyaXB0ID0+ICdyZXR1cm4gISQoIi5EaWFsb2c6dmlzaWJsZSIpLmxlbmd0aDsnICk7CiAgICAgICAgfQoKICAgICAgICAjIFNlbGVjdCAnVmFsaWQnIGFzIFZhbGlkSUQgb3B0aW9uLgogICAgICAgICRTZWxlbml1bS0+SW5wdXRGaWVsZFZhbHVlU2V0KAogICAgICAgICAgICBFbGVtZW50ID0+ICcjVmFsaWRJRCcsCiAgICAgICAgICAgIFZhbHVlICAgPT4gJzEnLAogICAgICAgICk7CgogICAgICAgICMgQ2xpY2sgU2F2ZS4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNTdWJtaXRBbmRDb250aW51ZSIsICdjc3MnICktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgJFNlbGVuaXVtLT5XYWl0Rm9yKAogICAgICAgICAgICBKYXZhU2NyaXB0ID0+ICdyZXR1cm4gdHlwZW9mKCQpID09PSAiZnVuY3Rpb24iICYmICQoIiNWYWxpZElEIikubGVuZ3RoICYmICQoIiNGdW5jdGlvbmFsaXR5IikubGVuZ3RoOycKICAgICAgICApOwoKICAgICAgICBvaygKICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgicmV0dXJuIFwkKCcjRnVuY3Rpb25hbGl0eScpLnZhbCgpID09ICd3YXJuaW5nJzsiKSwKICAgICAgICAgICAgIkluY2lkZW50IFN0YXRlIFR5cGUgaXMgc2V0IHRvICd3YXJuaW5nJyIsCiAgICAgICAgKTsKICAgICAgICBvaygKICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgicmV0dXJuIFwkKCcjVmFsaWRJRCcpLnZhbCgpID09ICcxJzsiKSwKICAgICAgICAgICAgIlZhbGlkSUQgaXMgc2V0IHRvICcxJyIsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgICAgICMgRGVsZXRlIGNyZWF0ZWQgdGVzdCBjYXRhbG9nIGNsYXNzLgogICAgICAgIGZvciBteSAkQ2F0YWxvZ0l0ZW0gKEBDYXRhbG9nSXRlbUlEcykgewoKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkREJPYmplY3QtPkRvKAogICAgICAgICAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gZ2VuZXJhbF9jYXRhbG9nX3ByZWZlcmVuY2VzIFdIRVJFIGdlbmVyYWxfY2F0YWxvZ19pZCA9ID8iLAogICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkQ2F0YWxvZ0l0ZW0gXSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgb2soCiAgICAgICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgICAgICJDYXRhbG9nSXRlbUlEICRDYXRhbG9nSXRlbSBwcmVmZXJlbmNlIC0gZGVsZXRlZCIsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkU3VjY2VzcyA9ICREQk9iamVjdC0+RG8oCiAgICAgICAgICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBnZW5lcmFsX2NhdGFsb2cgV0hFUkUgaWQgPSA/IiwKICAgICAgICAgICAgICAgIEJpbmQgPT4gWyBcJENhdGFsb2dJdGVtIF0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG9rKAogICAgICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICAgICAiQ2F0YWxvZ0l0ZW1JRCAkQ2F0YWxvZ0l0ZW0gLSBkZWxldGVkIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgQ2xlYW4gdXAgY2FjaGUuCiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoIFR5cGUgPT4gJ0dlbmVyYWxDYXRhbG9nJyApOwogICAgfQopOwoKZG9uZV90ZXN0aW5nOwo=</File>
        <File Location="var/httpd/htdocs/js/thirdparty/jscolor_1.4.1/arrow.gif" Permission="660" Encode="Base64">R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7</File>
        <File Location="var/httpd/htdocs/js/thirdparty/jscolor_1.4.1/cross.gif" Permission="660" Encode="Base64">R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=</File>
        <File Location="var/httpd/htdocs/js/thirdparty/jscolor_1.4.1/hs.png" Permission="660" Encode="Base64">iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII=</File>
        <File Location="var/httpd/htdocs/js/thirdparty/jscolor_1.4.1/hv.png" Permission="660" Encode="Base64">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</File>
        <File Location="var/httpd/htdocs/js/thirdparty/jscolor_1.4.1/jscolor.js" Permission="660" Encode="Base64">LyoqDQogKiBqc2NvbG9yLCBKYXZhU2NyaXB0IENvbG9yIFBpY2tlcg0KICoNCiAqIEB2ZXJzaW9uIDEuNC4xDQogKiBAbGljZW5zZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9sZXNzZXIuaHRtbA0KICogQGF1dGhvciAgSmFuIE9kdmFya28sIGh0dHA6Ly9vZHZhcmtvLmN6DQogKiBAY3JlYXRlZCAyMDA4LTA2LTE1DQogKiBAdXBkYXRlZCAyMDEzLTA0LTA4DQogKiBAbGluayAgICBodHRwOi8vanNjb2xvci5jb20NCiAqLw0KDQoNCnZhciBqc2NvbG9yID0gew0KDQoNCglkaXIgOiAnJywgLy8gbG9jYXRpb24gb2YganNjb2xvciBkaXJlY3RvcnkgKGxlYXZlIGVtcHR5IHRvIGF1dG9kZXRlY3QpDQoJYmluZENsYXNzIDogJ2NvbG9yJywgLy8gY2xhc3MgbmFtZQ0KCWJpbmRpbmcgOiB0cnVlLCAvLyBhdXRvbWF0aWMgYmluZGluZyB2aWEgPGlucHV0IGNsYXNzPSIuLi4iPg0KCXByZWxvYWRpbmcgOiB0cnVlLCAvLyB1c2UgaW1hZ2UgcHJlbG9hZGluZz8NCg0KDQoJaW5zdGFsbCA6IGZ1bmN0aW9uKCkgew0KCQlqc2NvbG9yLmFkZEV2ZW50KHdpbmRvdywgJ2xvYWQnLCBqc2NvbG9yLmluaXQpOw0KCX0sDQoNCg0KCWluaXQgOiBmdW5jdGlvbigpIHsNCgkJaWYoanNjb2xvci5iaW5kaW5nKSB7DQoJCQlqc2NvbG9yLmJpbmQoKTsNCgkJfQ0KCQlpZihqc2NvbG9yLnByZWxvYWRpbmcpIHsNCgkJCWpzY29sb3IucHJlbG9hZCgpOw0KCQl9DQoJfSwNCg0KDQoJZ2V0RGlyIDogZnVuY3Rpb24oKSB7DQoJCWlmKCFqc2NvbG9yLmRpcikgew0KCQkJdmFyIGRldGVjdGVkID0ganNjb2xvci5kZXRlY3REaXIoKTsNCgkJCWpzY29sb3IuZGlyID0gZGV0ZWN0ZWQhPT1mYWxzZSA/IGRldGVjdGVkIDogJ2pzY29sb3IvJzsNCgkJfQ0KCQlyZXR1cm4ganNjb2xvci5kaXI7DQoJfSwNCg0KDQoJZGV0ZWN0RGlyIDogZnVuY3Rpb24oKSB7DQoJCXZhciBiYXNlID0gbG9jYXRpb24uaHJlZjsNCg0KCQl2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdiYXNlJyk7DQoJCWZvcih2YXIgaT0wOyBpPGUubGVuZ3RoOyBpKz0xKSB7DQoJCQlpZihlW2ldLmhyZWYpIHsgYmFzZSA9IGVbaV0uaHJlZjsgfQ0KCQl9DQoNCgkJdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7DQoJCWZvcih2YXIgaT0wOyBpPGUubGVuZ3RoOyBpKz0xKSB7DQoJCQlpZihlW2ldLnNyYyAmJiAvKF58XC8panNjb2xvclwuanMoWz8jXS4qKT8kL2kudGVzdChlW2ldLnNyYykpIHsNCgkJCQl2YXIgc3JjID0gbmV3IGpzY29sb3IuVVJJKGVbaV0uc3JjKTsNCgkJCQl2YXIgc3JjQWJzID0gc3JjLnRvQWJzb2x1dGUoYmFzZSk7DQoJCQkJc3JjQWJzLnBhdGggPSBzcmNBYnMucGF0aC5yZXBsYWNlKC9bXlwvXSskLywgJycpOyAvLyByZW1vdmUgZmlsZW5hbWUNCgkJCQlzcmNBYnMucXVlcnkgPSBudWxsOw0KCQkJCXNyY0Ficy5mcmFnbWVudCA9IG51bGw7DQoJCQkJcmV0dXJuIHNyY0Ficy50b1N0cmluZygpOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoNCgliaW5kIDogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXRjaENsYXNzID0gbmV3IFJlZ0V4cCgnKF58XFxzKSgnK2pzY29sb3IuYmluZENsYXNzKycpXFxzKihcXHtbXn1dKlxcfSk/JywgJ2knKTsNCgkJdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTsNCgkJZm9yKHZhciBpPTA7IGk8ZS5sZW5ndGg7IGkrPTEpIHsNCgkJCXZhciBtOw0KCQkJaWYoIWVbaV0uY29sb3IgJiYgZVtpXS5jbGFzc05hbWUgJiYgKG0gPSBlW2ldLmNsYXNzTmFtZS5tYXRjaChtYXRjaENsYXNzKSkpIHsNCgkJCQl2YXIgcHJvcCA9IHt9Ow0KCQkJCWlmKG1bM10pIHsNCgkJCQkJdHJ5IHsNCgkJCQkJCXByb3AgPSAobmV3IEZ1bmN0aW9uICgncmV0dXJuICgnICsgbVszXSArICcpJykpKCk7DQoJCQkJCX0gY2F0Y2goZUludmFsaWRQcm9wKSB7fQ0KCQkJCX0NCgkJCQllW2ldLmNvbG9yID0gbmV3IGpzY29sb3IuY29sb3IoZVtpXSwgcHJvcCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoNCglwcmVsb2FkIDogZnVuY3Rpb24oKSB7DQoJCWZvcih2YXIgZm4gaW4ganNjb2xvci5pbWdSZXF1aXJlKSB7DQoJCQlpZihqc2NvbG9yLmltZ1JlcXVpcmUuaGFzT3duUHJvcGVydHkoZm4pKSB7DQoJCQkJanNjb2xvci5sb2FkSW1hZ2UoZm4pOw0KCQkJfQ0KCQl9DQoJfSwNCg0KDQoJaW1hZ2VzIDogew0KCQlwYWQgOiBbIDE4MSwgMTAxIF0sDQoJCXNsZCA6IFsgMTYsIDEwMSBdLA0KCQljcm9zcyA6IFsgMTUsIDE1IF0sDQoJCWFycm93IDogWyA3LCAxMSBdDQoJfSwNCg0KDQoJaW1nUmVxdWlyZSA6IHt9LA0KCWltZ0xvYWRlZCA6IHt9LA0KDQoNCglyZXF1aXJlSW1hZ2UgOiBmdW5jdGlvbihmaWxlbmFtZSkgew0KCQlqc2NvbG9yLmltZ1JlcXVpcmVbZmlsZW5hbWVdID0gdHJ1ZTsNCgl9LA0KDQoNCglsb2FkSW1hZ2UgOiBmdW5jdGlvbihmaWxlbmFtZSkgew0KCQlpZighanNjb2xvci5pbWdMb2FkZWRbZmlsZW5hbWVdKSB7DQoJCQlqc2NvbG9yLmltZ0xvYWRlZFtmaWxlbmFtZV0gPSBuZXcgSW1hZ2UoKTsNCgkJCWpzY29sb3IuaW1nTG9hZGVkW2ZpbGVuYW1lXS5zcmMgPSBqc2NvbG9yLmdldERpcigpK2ZpbGVuYW1lOw0KCQl9DQoJfSwNCg0KDQoJZmV0Y2hFbGVtZW50IDogZnVuY3Rpb24obWl4ZWQpIHsNCgkJcmV0dXJuIHR5cGVvZiBtaXhlZCA9PT0gJ3N0cmluZycgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtaXhlZCkgOiBtaXhlZDsNCgl9LA0KDQoNCglhZGRFdmVudCA6IGZ1bmN0aW9uKGVsLCBldm50LCBmdW5jKSB7DQoJCWlmKGVsLmFkZEV2ZW50TGlzdGVuZXIpIHsNCgkJCWVsLmFkZEV2ZW50TGlzdGVuZXIoZXZudCwgZnVuYywgZmFsc2UpOw0KCQl9IGVsc2UgaWYoZWwuYXR0YWNoRXZlbnQpIHsNCgkJCWVsLmF0dGFjaEV2ZW50KCdvbicrZXZudCwgZnVuYyk7DQoJCX0NCgl9LA0KDQoNCglmaXJlRXZlbnQgOiBmdW5jdGlvbihlbCwgZXZudCkgew0KCQlpZighZWwpIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZihkb2N1bWVudC5jcmVhdGVFdmVudCkgew0KCQkJdmFyIGV2ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTsNCgkJCWV2LmluaXRFdmVudChldm50LCB0cnVlLCB0cnVlKTsNCgkJCWVsLmRpc3BhdGNoRXZlbnQoZXYpOw0KCQl9IGVsc2UgaWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QpIHsNCgkJCXZhciBldiA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCk7DQoJCQllbC5maXJlRXZlbnQoJ29uJytldm50LCBldik7DQoJCX0gZWxzZSBpZihlbFsnb24nK2V2bnRdKSB7IC8vIGFsdGVybmF0aXZlbHkgdXNlIHRoZSB0cmFkaXRpb25hbCBldmVudCBtb2RlbCAoSUU1KQ0KCQkJZWxbJ29uJytldm50XSgpOw0KCQl9DQoJfSwNCg0KDQoJZ2V0RWxlbWVudFBvcyA6IGZ1bmN0aW9uKGUpIHsNCgkJdmFyIGUxPWUsIGUyPWU7DQoJCXZhciB4PTAsIHk9MDsNCgkJaWYoZTEub2Zmc2V0UGFyZW50KSB7DQoJCQlkbyB7DQoJCQkJeCArPSBlMS5vZmZzZXRMZWZ0Ow0KCQkJCXkgKz0gZTEub2Zmc2V0VG9wOw0KCQkJfSB3aGlsZShlMSA9IGUxLm9mZnNldFBhcmVudCk7DQoJCX0NCgkJd2hpbGUoKGUyID0gZTIucGFyZW50Tm9kZSkgJiYgZTIubm9kZU5hbWUudG9VcHBlckNhc2UoKSAhPT0gJ0JPRFknKSB7DQoJCQl4IC09IGUyLnNjcm9sbExlZnQ7DQoJCQl5IC09IGUyLnNjcm9sbFRvcDsNCgkJfQ0KCQlyZXR1cm4gW3gsIHldOw0KCX0sDQoNCg0KCWdldEVsZW1lbnRTaXplIDogZnVuY3Rpb24oZSkgew0KCQlyZXR1cm4gW2Uub2Zmc2V0V2lkdGgsIGUub2Zmc2V0SGVpZ2h0XTsNCgl9LA0KDQoNCglnZXRSZWxNb3VzZVBvcyA6IGZ1bmN0aW9uKGUpIHsNCgkJdmFyIHggPSAwLCB5ID0gMDsNCgkJaWYgKCFlKSB7IGUgPSB3aW5kb3cuZXZlbnQ7IH0NCgkJaWYgKHR5cGVvZiBlLm9mZnNldFggPT09ICdudW1iZXInKSB7DQoJCQl4ID0gZS5vZmZzZXRYOw0KCQkJeSA9IGUub2Zmc2V0WTsNCgkJfSBlbHNlIGlmICh0eXBlb2YgZS5sYXllclggPT09ICdudW1iZXInKSB7DQoJCQl4ID0gZS5sYXllclg7DQoJCQl5ID0gZS5sYXllclk7DQoJCX0NCgkJcmV0dXJuIHsgeDogeCwgeTogeSB9Ow0KCX0sDQoNCg0KCWdldFZpZXdQb3MgOiBmdW5jdGlvbigpIHsNCgkJaWYodHlwZW9mIHdpbmRvdy5wYWdlWU9mZnNldCA9PT0gJ251bWJlcicpIHsNCgkJCXJldHVybiBbd2luZG93LnBhZ2VYT2Zmc2V0LCB3aW5kb3cucGFnZVlPZmZzZXRdOw0KCQl9IGVsc2UgaWYoZG9jdW1lbnQuYm9keSAmJiAoZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkgew0KCQkJcmV0dXJuIFtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wXTsNCgkJfSBlbHNlIGlmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCkpIHsNCgkJCXJldHVybiBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3BdOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIFswLCAwXTsNCgkJfQ0KCX0sDQoNCg0KCWdldFZpZXdTaXplIDogZnVuY3Rpb24oKSB7DQoJCWlmKHR5cGVvZiB3aW5kb3cuaW5uZXJXaWR0aCA9PT0gJ251bWJlcicpIHsNCgkJCXJldHVybiBbd2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodF07DQoJCX0gZWxzZSBpZihkb2N1bWVudC5ib2R5ICYmIChkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIHx8IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSkgew0KCQkJcmV0dXJuIFtkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodF07DQoJCX0gZWxzZSBpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSkgew0KCQkJcmV0dXJuIFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHRdOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIFswLCAwXTsNCgkJfQ0KCX0sDQoNCg0KCVVSSSA6IGZ1bmN0aW9uKHVyaSkgeyAvLyBTZWUgUkZDMzk4Ng0KDQoJCXRoaXMuc2NoZW1lID0gbnVsbDsNCgkJdGhpcy5hdXRob3JpdHkgPSBudWxsOw0KCQl0aGlzLnBhdGggPSAnJzsNCgkJdGhpcy5xdWVyeSA9IG51bGw7DQoJCXRoaXMuZnJhZ21lbnQgPSBudWxsOw0KDQoJCXRoaXMucGFyc2UgPSBmdW5jdGlvbih1cmkpIHsNCgkJCXZhciBtID0gdXJpLm1hdGNoKC9eKChbQS1aYS16XVswLTlBLVphLXorLi1dKikoOikpPygoXC9cLykoW15cLz8jXSopKT8oW14/I10qKSgoXD8pKFteI10qKSk/KCgjKSguKikpPy8pOw0KCQkJdGhpcy5zY2hlbWUgPSBtWzNdID8gbVsyXSA6IG51bGw7DQoJCQl0aGlzLmF1dGhvcml0eSA9IG1bNV0gPyBtWzZdIDogbnVsbDsNCgkJCXRoaXMucGF0aCA9IG1bN107DQoJCQl0aGlzLnF1ZXJ5ID0gbVs5XSA/IG1bMTBdIDogbnVsbDsNCgkJCXRoaXMuZnJhZ21lbnQgPSBtWzEyXSA/IG1bMTNdIDogbnVsbDsNCgkJCXJldHVybiB0aGlzOw0KCQl9Ow0KDQoJCXRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsNCgkJCXZhciByZXN1bHQgPSAnJzsNCgkJCWlmKHRoaXMuc2NoZW1lICE9PSBudWxsKSB7IHJlc3VsdCA9IHJlc3VsdCArIHRoaXMuc2NoZW1lICsgJzonOyB9DQoJCQlpZih0aGlzLmF1dGhvcml0eSAhPT0gbnVsbCkgeyByZXN1bHQgPSByZXN1bHQgKyAnLy8nICsgdGhpcy5hdXRob3JpdHk7IH0NCgkJCWlmKHRoaXMucGF0aCAhPT0gbnVsbCkgeyByZXN1bHQgPSByZXN1bHQgKyB0aGlzLnBhdGg7IH0NCgkJCWlmKHRoaXMucXVlcnkgIT09IG51bGwpIHsgcmVzdWx0ID0gcmVzdWx0ICsgJz8nICsgdGhpcy5xdWVyeTsgfQ0KCQkJaWYodGhpcy5mcmFnbWVudCAhPT0gbnVsbCkgeyByZXN1bHQgPSByZXN1bHQgKyAnIycgKyB0aGlzLmZyYWdtZW50OyB9DQoJCQlyZXR1cm4gcmVzdWx0Ow0KCQl9Ow0KDQoJCXRoaXMudG9BYnNvbHV0ZSA9IGZ1bmN0aW9uKGJhc2UpIHsNCgkJCXZhciBiYXNlID0gbmV3IGpzY29sb3IuVVJJKGJhc2UpOw0KCQkJdmFyIHIgPSB0aGlzOw0KCQkJdmFyIHQgPSBuZXcganNjb2xvci5VUkk7DQoNCgkJCWlmKGJhc2Uuc2NoZW1lID09PSBudWxsKSB7IHJldHVybiBmYWxzZTsgfQ0KDQoJCQlpZihyLnNjaGVtZSAhPT0gbnVsbCAmJiByLnNjaGVtZS50b0xvd2VyQ2FzZSgpID09PSBiYXNlLnNjaGVtZS50b0xvd2VyQ2FzZSgpKSB7DQoJCQkJci5zY2hlbWUgPSBudWxsOw0KCQkJfQ0KDQoJCQlpZihyLnNjaGVtZSAhPT0gbnVsbCkgew0KCQkJCXQuc2NoZW1lID0gci5zY2hlbWU7DQoJCQkJdC5hdXRob3JpdHkgPSByLmF1dGhvcml0eTsNCgkJCQl0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyLnBhdGgpOw0KCQkJCXQucXVlcnkgPSByLnF1ZXJ5Ow0KCQkJfSBlbHNlIHsNCgkJCQlpZihyLmF1dGhvcml0eSAhPT0gbnVsbCkgew0KCQkJCQl0LmF1dGhvcml0eSA9IHIuYXV0aG9yaXR5Ow0KCQkJCQl0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyLnBhdGgpOw0KCQkJCQl0LnF1ZXJ5ID0gci5xdWVyeTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlpZihyLnBhdGggPT09ICcnKSB7DQoJCQkJCQl0LnBhdGggPSBiYXNlLnBhdGg7DQoJCQkJCQlpZihyLnF1ZXJ5ICE9PSBudWxsKSB7DQoJCQkJCQkJdC5xdWVyeSA9IHIucXVlcnk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXQucXVlcnkgPSBiYXNlLnF1ZXJ5Ow0KCQkJCQkJfQ0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJaWYoci5wYXRoLnN1YnN0cigwLDEpID09PSAnLycpIHsNCgkJCQkJCQl0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyLnBhdGgpOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlpZihiYXNlLmF1dGhvcml0eSAhPT0gbnVsbCAmJiBiYXNlLnBhdGggPT09ICcnKSB7DQoJCQkJCQkJCXQucGF0aCA9ICcvJytyLnBhdGg7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJdC5wYXRoID0gYmFzZS5wYXRoLnJlcGxhY2UoL1teXC9dKyQvLCcnKStyLnBhdGg7DQoJCQkJCQkJfQ0KCQkJCQkJCXQucGF0aCA9IHJlbW92ZURvdFNlZ21lbnRzKHQucGF0aCk7DQoJCQkJCQl9DQoJCQkJCQl0LnF1ZXJ5ID0gci5xdWVyeTsNCgkJCQkJfQ0KCQkJCQl0LmF1dGhvcml0eSA9IGJhc2UuYXV0aG9yaXR5Ow0KCQkJCX0NCgkJCQl0LnNjaGVtZSA9IGJhc2Uuc2NoZW1lOw0KCQkJfQ0KCQkJdC5mcmFnbWVudCA9IHIuZnJhZ21lbnQ7DQoNCgkJCXJldHVybiB0Ow0KCQl9Ow0KDQoJCWZ1bmN0aW9uIHJlbW92ZURvdFNlZ21lbnRzKHBhdGgpIHsNCgkJCXZhciBvdXQgPSAnJzsNCgkJCXdoaWxlKHBhdGgpIHsNCgkJCQlpZihwYXRoLnN1YnN0cigwLDMpPT09Jy4uLycgfHwgcGF0aC5zdWJzdHIoMCwyKT09PScuLycpIHsNCgkJCQkJcGF0aCA9IHBhdGgucmVwbGFjZSgvXlwuKy8sJycpLnN1YnN0cigxKTsNCgkJCQl9IGVsc2UgaWYocGF0aC5zdWJzdHIoMCwzKT09PScvLi8nIHx8IHBhdGg9PT0nLy4nKSB7DQoJCQkJCXBhdGggPSAnLycrcGF0aC5zdWJzdHIoMyk7DQoJCQkJfSBlbHNlIGlmKHBhdGguc3Vic3RyKDAsNCk9PT0nLy4uLycgfHwgcGF0aD09PScvLi4nKSB7DQoJCQkJCXBhdGggPSAnLycrcGF0aC5zdWJzdHIoNCk7DQoJCQkJCW91dCA9IG91dC5yZXBsYWNlKC9cLz9bXlwvXSokLywgJycpOw0KCQkJCX0gZWxzZSBpZihwYXRoPT09Jy4nIHx8IHBhdGg9PT0nLi4nKSB7DQoJCQkJCXBhdGggPSAnJzsNCgkJCQl9IGVsc2Ugew0KCQkJCQl2YXIgcm0gPSBwYXRoLm1hdGNoKC9eXC8/W15cL10qLylbMF07DQoJCQkJCXBhdGggPSBwYXRoLnN1YnN0cihybS5sZW5ndGgpOw0KCQkJCQlvdXQgPSBvdXQgKyBybTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gb3V0Ow0KCQl9DQoNCgkJaWYodXJpKSB7DQoJCQl0aGlzLnBhcnNlKHVyaSk7DQoJCX0NCg0KCX0sDQoNCg0KCS8vDQoJLy8gVXNhZ2UgZXhhbXBsZToNCgkvLyB2YXIgbXlDb2xvciA9IG5ldyBqc2NvbG9yLmNvbG9yKG15SW5wdXRFbGVtZW50KQ0KCS8vDQoNCgljb2xvciA6IGZ1bmN0aW9uKHRhcmdldCwgcHJvcCkgew0KDQoNCgkJdGhpcy5yZXF1aXJlZCA9IHRydWU7IC8vIHJlZnVzZSBlbXB0eSB2YWx1ZXM/DQoJCXRoaXMuYWRqdXN0ID0gdHJ1ZTsgLy8gYWRqdXN0IHZhbHVlIHRvIHVuaWZvcm0gbm90YXRpb24/DQoJCXRoaXMuaGFzaCA9IGZhbHNlOyAvLyBwcmVmaXggY29sb3Igd2l0aCAjIHN5bWJvbD8NCgkJdGhpcy5jYXBzID0gdHJ1ZTsgLy8gdXBwZXJjYXNlPw0KCQl0aGlzLnNsaWRlciA9IHRydWU7IC8vIHNob3cgdGhlIHZhbHVlL3NhdHVyYXRpb24gc2xpZGVyPw0KCQl0aGlzLnZhbHVlRWxlbWVudCA9IHRhcmdldDsgLy8gdmFsdWUgaG9sZGVyDQoJCXRoaXMuc3R5bGVFbGVtZW50ID0gdGFyZ2V0OyAvLyB3aGVyZSB0byByZWZsZWN0IGN1cnJlbnQgY29sb3INCgkJdGhpcy5vbkltbWVkaWF0ZUNoYW5nZSA9IG51bGw7IC8vIG9uY2hhbmdlIGNhbGxiYWNrIChjYW4gYmUgZWl0aGVyIHN0cmluZyBvciBmdW5jdGlvbikNCgkJdGhpcy5oc3YgPSBbMCwgMCwgMV07IC8vIHJlYWQtb25seSAgMC02LCAwLTEsIDAtMQ0KCQl0aGlzLnJnYiA9IFsxLCAxLCAxXTsgLy8gcmVhZC1vbmx5ICAwLTEsIDAtMSwgMC0xDQoJCXRoaXMubWluSCA9IDA7IC8vIHJlYWQtb25seSAgMC02DQoJCXRoaXMubWF4SCA9IDY7IC8vIHJlYWQtb25seSAgMC02DQoJCXRoaXMubWluUyA9IDA7IC8vIHJlYWQtb25seSAgMC0xDQoJCXRoaXMubWF4UyA9IDE7IC8vIHJlYWQtb25seSAgMC0xDQoJCXRoaXMubWluViA9IDA7IC8vIHJlYWQtb25seSAgMC0xDQoJCXRoaXMubWF4ViA9IDE7IC8vIHJlYWQtb25seSAgMC0xDQoNCgkJdGhpcy5waWNrZXJPbmZvY3VzID0gdHJ1ZTsgLy8gZGlzcGxheSBwaWNrZXIgb24gZm9jdXM/DQoJCXRoaXMucGlja2VyTW9kZSA9ICdIU1YnOyAvLyBIU1YgfCBIVlMNCgkJdGhpcy5waWNrZXJQb3NpdGlvbiA9ICdib3R0b20nOyAvLyBsZWZ0IHwgcmlnaHQgfCB0b3AgfCBib3R0b20NCgkJdGhpcy5waWNrZXJTbWFydFBvc2l0aW9uID0gdHJ1ZTsgLy8gYXV0b21hdGljYWxseSBhZGp1c3QgcGlja2VyIHBvc2l0aW9uIHdoZW4gbmVjZXNzYXJ5DQoJCXRoaXMucGlja2VyQnV0dG9uSGVpZ2h0ID0gMjA7IC8vIHB4DQoJCXRoaXMucGlja2VyQ2xvc2FibGUgPSBmYWxzZTsNCgkJdGhpcy5waWNrZXJDbG9zZVRleHQgPSAnQ2xvc2UnOw0KCQl0aGlzLnBpY2tlckJ1dHRvbkNvbG9yID0gJ0J1dHRvblRleHQnOyAvLyBweA0KCQl0aGlzLnBpY2tlckZhY2UgPSAxMDsgLy8gcHgNCgkJdGhpcy5waWNrZXJGYWNlQ29sb3IgPSAnVGhyZWVERmFjZSc7IC8vIENTUyBjb2xvcg0KCQl0aGlzLnBpY2tlckJvcmRlciA9IDE7IC8vIHB4DQoJCXRoaXMucGlja2VyQm9yZGVyQ29sb3IgPSAnVGhyZWVESGlnaGxpZ2h0IFRocmVlRFNoYWRvdyBUaHJlZURTaGFkb3cgVGhyZWVESGlnaGxpZ2h0JzsgLy8gQ1NTIGNvbG9yDQoJCXRoaXMucGlja2VySW5zZXQgPSAxOyAvLyBweA0KCQl0aGlzLnBpY2tlckluc2V0Q29sb3IgPSAnVGhyZWVEU2hhZG93IFRocmVlREhpZ2hsaWdodCBUaHJlZURIaWdobGlnaHQgVGhyZWVEU2hhZG93JzsgLy8gQ1NTIGNvbG9yDQoJCXRoaXMucGlja2VyWkluZGV4ID0gMTAwMDA7DQoNCg0KCQlmb3IodmFyIHAgaW4gcHJvcCkgew0KCQkJaWYocHJvcC5oYXNPd25Qcm9wZXJ0eShwKSkgew0KCQkJCXRoaXNbcF0gPSBwcm9wW3BdOw0KCQkJfQ0KCQl9DQoNCg0KCQl0aGlzLmhpZGVQaWNrZXIgPSBmdW5jdGlvbigpIHsNCgkJCWlmKGlzUGlja2VyT3duZXIoKSkgew0KCQkJCXJlbW92ZVBpY2tlcigpOw0KCQkJfQ0KCQl9Ow0KDQoNCgkJdGhpcy5zaG93UGlja2VyID0gZnVuY3Rpb24oKSB7DQoJCQlpZighaXNQaWNrZXJPd25lcigpKSB7DQoJCQkJdmFyIHRwID0ganNjb2xvci5nZXRFbGVtZW50UG9zKHRhcmdldCk7IC8vIHRhcmdldCBwb3MNCgkJCQl2YXIgdHMgPSBqc2NvbG9yLmdldEVsZW1lbnRTaXplKHRhcmdldCk7IC8vIHRhcmdldCBzaXplDQoJCQkJdmFyIHZwID0ganNjb2xvci5nZXRWaWV3UG9zKCk7IC8vIHZpZXcgcG9zDQoJCQkJdmFyIHZzID0ganNjb2xvci5nZXRWaWV3U2l6ZSgpOyAvLyB2aWV3IHNpemUNCgkJCQl2YXIgcHMgPSBnZXRQaWNrZXJEaW1zKHRoaXMpOyAvLyBwaWNrZXIgc2l6ZQ0KCQkJCXZhciBhLCBiLCBjOw0KCQkJCXN3aXRjaCh0aGlzLnBpY2tlclBvc2l0aW9uLnRvTG93ZXJDYXNlKCkpIHsNCgkJCQkJY2FzZSAnbGVmdCc6IGE9MTsgYj0wOyBjPS0xOyBicmVhazsNCgkJCQkJY2FzZSAncmlnaHQnOmE9MTsgYj0wOyBjPTE7IGJyZWFrOw0KCQkJCQljYXNlICd0b3AnOiAgYT0wOyBiPTE7IGM9LTE7IGJyZWFrOw0KCQkJCQlkZWZhdWx0OiAgICAgYT0wOyBiPTE7IGM9MTsgYnJlYWs7DQoJCQkJfQ0KCQkJCXZhciBsID0gKHRzW2JdK3BzW2JdKS8yOw0KDQoJCQkJLy8gcGlja2VyIHBvcw0KCQkJCWlmICghdGhpcy5waWNrZXJTbWFydFBvc2l0aW9uKSB7DQoJCQkJCXZhciBwcCA9IFsNCgkJCQkJCXRwW2FdLA0KCQkJCQkJdHBbYl0rdHNbYl0tbCtsKmMNCgkJCQkJXTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl2YXIgcHAgPSBbDQoJCQkJCQktdnBbYV0rdHBbYV0rcHNbYV0gPiB2c1thXSA/DQoJCQkJCQkJKC12cFthXSt0cFthXSt0c1thXS8yID4gdnNbYV0vMiAmJiB0cFthXSt0c1thXS1wc1thXSA+PSAwID8gdHBbYV0rdHNbYV0tcHNbYV0gOiB0cFthXSkgOg0KCQkJCQkJCXRwW2FdLA0KCQkJCQkJLXZwW2JdK3RwW2JdK3RzW2JdK3BzW2JdLWwrbCpjID4gdnNbYl0gPw0KCQkJCQkJCSgtdnBbYl0rdHBbYl0rdHNbYl0vMiA+IHZzW2JdLzIgJiYgdHBbYl0rdHNbYl0tbC1sKmMgPj0gMCA/IHRwW2JdK3RzW2JdLWwtbCpjIDogdHBbYl0rdHNbYl0tbCtsKmMpIDoNCgkJCQkJCQkodHBbYl0rdHNbYl0tbCtsKmMgPj0gMCA/IHRwW2JdK3RzW2JdLWwrbCpjIDogdHBbYl0rdHNbYl0tbC1sKmMpDQoJCQkJCV07DQoJCQkJfQ0KCQkJCWRyYXdQaWNrZXIocHBbYV0sIHBwW2JdKTsNCgkJCX0NCgkJfTsNCg0KDQoJCXRoaXMuaW1wb3J0Q29sb3IgPSBmdW5jdGlvbigpIHsNCgkJCWlmKCF2YWx1ZUVsZW1lbnQpIHsNCgkJCQl0aGlzLmV4cG9ydENvbG9yKCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmKCF0aGlzLmFkanVzdCkgew0KCQkJCQlpZighdGhpcy5mcm9tU3RyaW5nKHZhbHVlRWxlbWVudC52YWx1ZSwgbGVhdmVWYWx1ZSkpIHsNCgkJCQkJCXN0eWxlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBzdHlsZUVsZW1lbnQuanNjU3R5bGUuYmFja2dyb3VuZEltYWdlOw0KCQkJCQkJc3R5bGVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHN0eWxlRWxlbWVudC5qc2NTdHlsZS5iYWNrZ3JvdW5kQ29sb3I7DQoJCQkJCQlzdHlsZUVsZW1lbnQuc3R5bGUuY29sb3IgPSBzdHlsZUVsZW1lbnQuanNjU3R5bGUuY29sb3I7DQoJCQkJCQl0aGlzLmV4cG9ydENvbG9yKGxlYXZlVmFsdWUgfCBsZWF2ZVN0eWxlKTsNCgkJCQkJfQ0KCQkJCX0gZWxzZSBpZighdGhpcy5yZXF1aXJlZCAmJiAvXlxzKiQvLnRlc3QodmFsdWVFbGVtZW50LnZhbHVlKSkgew0KCQkJCQl2YWx1ZUVsZW1lbnQudmFsdWUgPSAnJzsNCgkJCQkJc3R5bGVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IHN0eWxlRWxlbWVudC5qc2NTdHlsZS5iYWNrZ3JvdW5kSW1hZ2U7DQoJCQkJCXN0eWxlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBzdHlsZUVsZW1lbnQuanNjU3R5bGUuYmFja2dyb3VuZENvbG9yOw0KCQkJCQlzdHlsZUVsZW1lbnQuc3R5bGUuY29sb3IgPSBzdHlsZUVsZW1lbnQuanNjU3R5bGUuY29sb3I7DQoJCQkJCXRoaXMuZXhwb3J0Q29sb3IobGVhdmVWYWx1ZSB8IGxlYXZlU3R5bGUpOw0KDQoJCQkJfSBlbHNlIGlmKHRoaXMuZnJvbVN0cmluZyh2YWx1ZUVsZW1lbnQudmFsdWUpKSB7DQoJCQkJCS8vIE9LDQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5leHBvcnRDb2xvcigpOw0KCQkJCX0NCgkJCX0NCgkJfTsNCg0KDQoJCXRoaXMuZXhwb3J0Q29sb3IgPSBmdW5jdGlvbihmbGFncykgew0KCQkJaWYoIShmbGFncyAmIGxlYXZlVmFsdWUpICYmIHZhbHVlRWxlbWVudCkgew0KCQkJCXZhciB2YWx1ZSA9IHRoaXMudG9TdHJpbmcoKTsNCgkJCQlpZih0aGlzLmNhcHMpIHsgdmFsdWUgPSB2YWx1ZS50b1VwcGVyQ2FzZSgpOyB9DQoJCQkJaWYodGhpcy5oYXNoKSB7IHZhbHVlID0gJyMnK3ZhbHVlOyB9DQoJCQkJdmFsdWVFbGVtZW50LnZhbHVlID0gdmFsdWU7DQoJCQl9DQoJCQlpZighKGZsYWdzICYgbGVhdmVTdHlsZSkgJiYgc3R5bGVFbGVtZW50KSB7DQoJCQkJc3R5bGVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICJub25lIjsNCgkJCQlzdHlsZUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0NCgkJCQkJJyMnK3RoaXMudG9TdHJpbmcoKTsNCgkJCQlzdHlsZUVsZW1lbnQuc3R5bGUuY29sb3IgPQ0KCQkJCQkwLjIxMyAqIHRoaXMucmdiWzBdICsNCgkJCQkJMC43MTUgKiB0aGlzLnJnYlsxXSArDQoJCQkJCTAuMDcyICogdGhpcy5yZ2JbMl0NCgkJCQkJPCAwLjUgPyAnI0ZGRicgOiAnIzAwMCc7DQoJCQl9DQoJCQlpZighKGZsYWdzICYgbGVhdmVQYWQpICYmIGlzUGlja2VyT3duZXIoKSkgew0KCQkJCXJlZHJhd1BhZCgpOw0KCQkJfQ0KCQkJaWYoIShmbGFncyAmIGxlYXZlU2xkKSAmJiBpc1BpY2tlck93bmVyKCkpIHsNCgkJCQlyZWRyYXdTbGQoKTsNCgkJCX0NCgkJfTsNCg0KDQoJCXRoaXMuZnJvbUhTViA9IGZ1bmN0aW9uKGgsIHMsIHYsIGZsYWdzKSB7IC8vIG51bGwgPSBkb24ndCBjaGFuZ2UNCgkJCWlmKGggIT09IG51bGwpIHsgaCA9IE1hdGgubWF4KDAuMCwgdGhpcy5taW5ILCBNYXRoLm1pbig2LjAsIHRoaXMubWF4SCwgaCkpOyB9DQoJCQlpZihzICE9PSBudWxsKSB7IHMgPSBNYXRoLm1heCgwLjAsIHRoaXMubWluUywgTWF0aC5taW4oMS4wLCB0aGlzLm1heFMsIHMpKTsgfQ0KCQkJaWYodiAhPT0gbnVsbCkgeyB2ID0gTWF0aC5tYXgoMC4wLCB0aGlzLm1pblYsIE1hdGgubWluKDEuMCwgdGhpcy5tYXhWLCB2KSk7IH0NCg0KCQkJdGhpcy5yZ2IgPSBIU1ZfUkdCKA0KCQkJCWg9PT1udWxsID8gdGhpcy5oc3ZbMF0gOiAodGhpcy5oc3ZbMF09aCksDQoJCQkJcz09PW51bGwgPyB0aGlzLmhzdlsxXSA6ICh0aGlzLmhzdlsxXT1zKSwNCgkJCQl2PT09bnVsbCA/IHRoaXMuaHN2WzJdIDogKHRoaXMuaHN2WzJdPXYpDQoJCQkpOw0KDQoJCQl0aGlzLmV4cG9ydENvbG9yKGZsYWdzKTsNCgkJfTsNCg0KDQoJCXRoaXMuZnJvbVJHQiA9IGZ1bmN0aW9uKHIsIGcsIGIsIGZsYWdzKSB7IC8vIG51bGwgPSBkb24ndCBjaGFuZ2UNCgkJCWlmKHIgIT09IG51bGwpIHsgciA9IE1hdGgubWF4KDAuMCwgTWF0aC5taW4oMS4wLCByKSk7IH0NCgkJCWlmKGcgIT09IG51bGwpIHsgZyA9IE1hdGgubWF4KDAuMCwgTWF0aC5taW4oMS4wLCBnKSk7IH0NCgkJCWlmKGIgIT09IG51bGwpIHsgYiA9IE1hdGgubWF4KDAuMCwgTWF0aC5taW4oMS4wLCBiKSk7IH0NCg0KCQkJdmFyIGhzdiA9IFJHQl9IU1YoDQoJCQkJcj09PW51bGwgPyB0aGlzLnJnYlswXSA6IHIsDQoJCQkJZz09PW51bGwgPyB0aGlzLnJnYlsxXSA6IGcsDQoJCQkJYj09PW51bGwgPyB0aGlzLnJnYlsyXSA6IGINCgkJCSk7DQoJCQlpZihoc3ZbMF0gIT09IG51bGwpIHsNCgkJCQl0aGlzLmhzdlswXSA9IE1hdGgubWF4KDAuMCwgdGhpcy5taW5ILCBNYXRoLm1pbig2LjAsIHRoaXMubWF4SCwgaHN2WzBdKSk7DQoJCQl9DQoJCQlpZihoc3ZbMl0gIT09IDApIHsNCgkJCQl0aGlzLmhzdlsxXSA9IGhzdlsxXT09PW51bGwgPyBudWxsIDogTWF0aC5tYXgoMC4wLCB0aGlzLm1pblMsIE1hdGgubWluKDEuMCwgdGhpcy5tYXhTLCBoc3ZbMV0pKTsNCgkJCX0NCgkJCXRoaXMuaHN2WzJdID0gaHN2WzJdPT09bnVsbCA/IG51bGwgOiBNYXRoLm1heCgwLjAsIHRoaXMubWluViwgTWF0aC5taW4oMS4wLCB0aGlzLm1heFYsIGhzdlsyXSkpOw0KDQoJCQkvLyB1cGRhdGUgUkdCIGFjY29yZGluZyB0byBmaW5hbCBIU1YsIGFzIHNvbWUgdmFsdWVzIG1pZ2h0IGJlIHRyaW1tZWQNCgkJCXZhciByZ2IgPSBIU1ZfUkdCKHRoaXMuaHN2WzBdLCB0aGlzLmhzdlsxXSwgdGhpcy5oc3ZbMl0pOw0KCQkJdGhpcy5yZ2JbMF0gPSByZ2JbMF07DQoJCQl0aGlzLnJnYlsxXSA9IHJnYlsxXTsNCgkJCXRoaXMucmdiWzJdID0gcmdiWzJdOw0KDQoJCQl0aGlzLmV4cG9ydENvbG9yKGZsYWdzKTsNCgkJfTsNCg0KDQoJCXRoaXMuZnJvbVN0cmluZyA9IGZ1bmN0aW9uKGhleCwgZmxhZ3MpIHsNCgkJCXZhciBtID0gaGV4Lm1hdGNoKC9eXFcqKFswLTlBLUZdezN9KFswLTlBLUZdezN9KT8pXFcqJC9pKTsNCgkJCWlmKCFtKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSBlbHNlIHsNCgkJCQlpZihtWzFdLmxlbmd0aCA9PT0gNikgeyAvLyA2LWNoYXIgbm90YXRpb24NCgkJCQkJdGhpcy5mcm9tUkdCKA0KCQkJCQkJcGFyc2VJbnQobVsxXS5zdWJzdHIoMCwyKSwxNikgLyAyNTUsDQoJCQkJCQlwYXJzZUludChtWzFdLnN1YnN0cigyLDIpLDE2KSAvIDI1NSwNCgkJCQkJCXBhcnNlSW50KG1bMV0uc3Vic3RyKDQsMiksMTYpIC8gMjU1LA0KCQkJCQkJZmxhZ3MNCgkJCQkJKTsNCgkJCQl9IGVsc2UgeyAvLyAzLWNoYXIgbm90YXRpb24NCgkJCQkJdGhpcy5mcm9tUkdCKA0KCQkJCQkJcGFyc2VJbnQobVsxXS5jaGFyQXQoMCkrbVsxXS5jaGFyQXQoMCksMTYpIC8gMjU1LA0KCQkJCQkJcGFyc2VJbnQobVsxXS5jaGFyQXQoMSkrbVsxXS5jaGFyQXQoMSksMTYpIC8gMjU1LA0KCQkJCQkJcGFyc2VJbnQobVsxXS5jaGFyQXQoMikrbVsxXS5jaGFyQXQoMiksMTYpIC8gMjU1LA0KCQkJCQkJZmxhZ3MNCgkJCQkJKTsNCgkJCQl9DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX07DQoNCg0KCQl0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gKA0KCQkJCSgweDEwMCB8IE1hdGgucm91bmQoMjU1KnRoaXMucmdiWzBdKSkudG9TdHJpbmcoMTYpLnN1YnN0cigxKSArDQoJCQkJKDB4MTAwIHwgTWF0aC5yb3VuZCgyNTUqdGhpcy5yZ2JbMV0pKS50b1N0cmluZygxNikuc3Vic3RyKDEpICsNCgkJCQkoMHgxMDAgfCBNYXRoLnJvdW5kKDI1NSp0aGlzLnJnYlsyXSkpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSkNCgkJCSk7DQoJCX07DQoNCg0KCQlmdW5jdGlvbiBSR0JfSFNWKHIsIGcsIGIpIHsNCgkJCXZhciBuID0gTWF0aC5taW4oTWF0aC5taW4ocixnKSxiKTsNCgkJCXZhciB2ID0gTWF0aC5tYXgoTWF0aC5tYXgocixnKSxiKTsNCgkJCXZhciBtID0gdiAtIG47DQoJCQlpZihtID09PSAwKSB7IHJldHVybiBbIG51bGwsIDAsIHYgXTsgfQ0KCQkJdmFyIGggPSByPT09biA/IDMrKGItZykvbSA6IChnPT09biA/IDUrKHItYikvbSA6IDErKGctcikvbSk7DQoJCQlyZXR1cm4gWyBoPT09Nj8wOmgsIG0vdiwgdiBdOw0KCQl9DQoNCg0KCQlmdW5jdGlvbiBIU1ZfUkdCKGgsIHMsIHYpIHsNCgkJCWlmKGggPT09IG51bGwpIHsgcmV0dXJuIFsgdiwgdiwgdiBdOyB9DQoJCQl2YXIgaSA9IE1hdGguZmxvb3IoaCk7DQoJCQl2YXIgZiA9IGklMiA/IGgtaSA6IDEtKGgtaSk7DQoJCQl2YXIgbSA9IHYgKiAoMSAtIHMpOw0KCQkJdmFyIG4gPSB2ICogKDEgLSBzKmYpOw0KCQkJc3dpdGNoKGkpIHsNCgkJCQljYXNlIDY6DQoJCQkJY2FzZSAwOiByZXR1cm4gW3YsbixtXTsNCgkJCQljYXNlIDE6IHJldHVybiBbbix2LG1dOw0KCQkJCWNhc2UgMjogcmV0dXJuIFttLHYsbl07DQoJCQkJY2FzZSAzOiByZXR1cm4gW20sbix2XTsNCgkJCQljYXNlIDQ6IHJldHVybiBbbixtLHZdOw0KCQkJCWNhc2UgNTogcmV0dXJuIFt2LG0sbl07DQoJCQl9DQoJCX0NCg0KDQoJCWZ1bmN0aW9uIHJlbW92ZVBpY2tlcigpIHsNCgkJCWRlbGV0ZSBqc2NvbG9yLnBpY2tlci5vd25lcjsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0ucmVtb3ZlQ2hpbGQoanNjb2xvci5waWNrZXIuYm94Qik7DQoJCX0NCg0KDQoJCWZ1bmN0aW9uIGRyYXdQaWNrZXIoeCwgeSkgew0KCQkJaWYoIWpzY29sb3IucGlja2VyKSB7DQoJCQkJanNjb2xvci5waWNrZXIgPSB7DQoJCQkJCWJveCA6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLA0KCQkJCQlib3hCIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksDQoJCQkJCXBhZCA6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLA0KCQkJCQlwYWRCIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksDQoJCQkJCXBhZE0gOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSwNCgkJCQkJc2xkIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksDQoJCQkJCXNsZEIgOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSwNCgkJCQkJc2xkTSA6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLA0KCQkJCQlidG4gOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSwNCgkJCQkJYnRuUyA6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSwNCgkJCQkJYnRuVCA6IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFRISVMucGlja2VyQ2xvc2VUZXh0KQ0KCQkJCX07DQoJCQkJZm9yKHZhciBpPTAsc2VnU2l6ZT00OyBpPGpzY29sb3IuaW1hZ2VzLnNsZFsxXTsgaSs9c2VnU2l6ZSkgew0KCQkJCQl2YXIgc2VnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQoJCQkJCXNlZy5zdHlsZS5oZWlnaHQgPSBzZWdTaXplKydweCc7DQoJCQkJCXNlZy5zdHlsZS5mb250U2l6ZSA9ICcxcHgnOw0KCQkJCQlzZWcuc3R5bGUubGluZUhlaWdodCA9ICcwJzsNCgkJCQkJanNjb2xvci5waWNrZXIuc2xkLmFwcGVuZENoaWxkKHNlZyk7DQoJCQkJfQ0KCQkJCWpzY29sb3IucGlja2VyLnNsZEIuYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIuc2xkKTsNCgkJCQlqc2NvbG9yLnBpY2tlci5ib3guYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIuc2xkQik7DQoJCQkJanNjb2xvci5waWNrZXIuYm94LmFwcGVuZENoaWxkKGpzY29sb3IucGlja2VyLnNsZE0pOw0KCQkJCWpzY29sb3IucGlja2VyLnBhZEIuYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIucGFkKTsNCgkJCQlqc2NvbG9yLnBpY2tlci5ib3guYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIucGFkQik7DQoJCQkJanNjb2xvci5waWNrZXIuYm94LmFwcGVuZENoaWxkKGpzY29sb3IucGlja2VyLnBhZE0pOw0KCQkJCWpzY29sb3IucGlja2VyLmJ0blMuYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIuYnRuVCk7DQoJCQkJanNjb2xvci5waWNrZXIuYnRuLmFwcGVuZENoaWxkKGpzY29sb3IucGlja2VyLmJ0blMpOw0KCQkJCWpzY29sb3IucGlja2VyLmJveC5hcHBlbmRDaGlsZChqc2NvbG9yLnBpY2tlci5idG4pOw0KCQkJCWpzY29sb3IucGlja2VyLmJveEIuYXBwZW5kQ2hpbGQoanNjb2xvci5waWNrZXIuYm94KTsNCgkJCX0NCg0KCQkJdmFyIHAgPSBqc2NvbG9yLnBpY2tlcjsNCg0KCQkJLy8gY29udHJvbHMgaW50ZXJhY3Rpb24NCgkJCXAuYm94Lm9ubW91c2V1cCA9DQoJCQlwLmJveC5vbm1vdXNlb3V0ID0gZnVuY3Rpb24oKSB7IHRhcmdldC5mb2N1cygpOyB9Ow0KCQkJcC5ib3gub25tb3VzZWRvd24gPSBmdW5jdGlvbigpIHsgYWJvcnRCbHVyPXRydWU7IH07DQoJCQlwLmJveC5vbm1vdXNlbW92ZSA9IGZ1bmN0aW9uKGUpIHsNCgkJCQlpZiAoaG9sZFBhZCB8fCBob2xkU2xkKSB7DQoJCQkJCWhvbGRQYWQgJiYgc2V0UGFkKGUpOw0KCQkJCQlob2xkU2xkICYmIHNldFNsZChlKTsNCgkJCQkJaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgew0KCQkJCQkJZG9jdW1lbnQuc2VsZWN0aW9uLmVtcHR5KCk7DQoJCQkJCX0gZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbikgew0KCQkJCQkJd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOw0KCQkJCQl9DQoJCQkJCWRpc3BhdGNoSW1tZWRpYXRlQ2hhbmdlKCk7DQoJCQkJfQ0KCQkJfTsNCgkJCWlmKCdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdykgeyAvLyBpZiB0b3VjaCBkZXZpY2UNCgkJCQlwLmJveC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBmdW5jdGlvbihlKSB7DQoJCQkJCXZhciBldmVudD17DQoJCQkJCQknb2Zmc2V0WCc6IGUudG91Y2hlc1swXS5wYWdlWC10b3VjaE9mZnNldC5YLA0KCQkJCQkJJ29mZnNldFknOiBlLnRvdWNoZXNbMF0ucGFnZVktdG91Y2hPZmZzZXQuWQ0KCQkJCQl9Ow0KCQkJCQlpZiAoaG9sZFBhZCB8fCBob2xkU2xkKSB7DQoJCQkJCQlob2xkUGFkICYmIHNldFBhZChldmVudCk7DQoJCQkJCQlob2xkU2xkICYmIHNldFNsZChldmVudCk7DQoJCQkJCQlkaXNwYXRjaEltbWVkaWF0ZUNoYW5nZSgpOw0KCQkJCQl9DQoJCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIHByZXZlbnQgbW92ZSAidmlldyIgb24gYnJvc3dlcg0KCQkJCQllLnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgRGVmYXVsdCAtIEFuZHJvaWQgRml4IChlbHNlIGFuZHJvaWQgZ2VuZXJhdGVkIG9ubHkgMS0yIHRvdWNobW92ZSBldmVudHMpDQoJCQkJfSwgZmFsc2UpOw0KCQkJfQ0KCQkJcC5wYWRNLm9ubW91c2V1cCA9DQoJCQlwLnBhZE0ub25tb3VzZW91dCA9IGZ1bmN0aW9uKCkgeyBpZihob2xkUGFkKSB7IGhvbGRQYWQ9ZmFsc2U7IGpzY29sb3IuZmlyZUV2ZW50KHZhbHVlRWxlbWVudCwnY2hhbmdlJyk7IH0gfTsNCgkJCXAucGFkTS5vbm1vdXNlZG93biA9IGZ1bmN0aW9uKGUpIHsNCgkJCQkvLyBpZiB0aGUgc2xpZGVyIGlzIGF0IHRoZSBib3R0b20sIG1vdmUgaXQgdXANCgkJCQlzd2l0Y2gobW9kZUlEKSB7DQoJCQkJCWNhc2UgMDogaWYgKFRISVMuaHN2WzJdID09PSAwKSB7IFRISVMuZnJvbUhTVihudWxsLCBudWxsLCAxLjApOyB9OyBicmVhazsNCgkJCQkJY2FzZSAxOiBpZiAoVEhJUy5oc3ZbMV0gPT09IDApIHsgVEhJUy5mcm9tSFNWKG51bGwsIDEuMCwgbnVsbCk7IH07IGJyZWFrOw0KCQkJCX0NCgkJCQlob2xkU2xkPWZhbHNlOw0KCQkJCWhvbGRQYWQ9dHJ1ZTsNCgkJCQlzZXRQYWQoZSk7DQoJCQkJZGlzcGF0Y2hJbW1lZGlhdGVDaGFuZ2UoKTsNCgkJCX07DQoJCQlpZignb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHsNCgkJCQlwLnBhZE0uYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGZ1bmN0aW9uKGUpIHsNCgkJCQkJdG91Y2hPZmZzZXQ9ew0KCQkJCQkJJ1gnOiBlLnRhcmdldC5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCwNCgkJCQkJCSdZJzogZS50YXJnZXQub2Zmc2V0UGFyZW50Lm9mZnNldFRvcA0KCQkJCQl9Ow0KCQkJCQl0aGlzLm9ubW91c2Vkb3duKHsNCgkJCQkJCSdvZmZzZXRYJzplLnRvdWNoZXNbMF0ucGFnZVgtdG91Y2hPZmZzZXQuWCwNCgkJCQkJCSdvZmZzZXRZJzplLnRvdWNoZXNbMF0ucGFnZVktdG91Y2hPZmZzZXQuWQ0KCQkJCQl9KTsNCgkJCQl9KTsNCgkJCX0NCgkJCXAuc2xkTS5vbm1vdXNldXAgPQ0KCQkJcC5zbGRNLm9ubW91c2VvdXQgPSBmdW5jdGlvbigpIHsgaWYoaG9sZFNsZCkgeyBob2xkU2xkPWZhbHNlOyBqc2NvbG9yLmZpcmVFdmVudCh2YWx1ZUVsZW1lbnQsJ2NoYW5nZScpOyB9IH07DQoJCQlwLnNsZE0ub25tb3VzZWRvd24gPSBmdW5jdGlvbihlKSB7DQoJCQkJaG9sZFBhZD1mYWxzZTsNCgkJCQlob2xkU2xkPXRydWU7DQoJCQkJc2V0U2xkKGUpOw0KCQkJCWRpc3BhdGNoSW1tZWRpYXRlQ2hhbmdlKCk7DQoJCQl9Ow0KCQkJaWYoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSB7DQoJCQkJcC5zbGRNLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbihlKSB7DQoJCQkJCXRvdWNoT2Zmc2V0PXsNCgkJCQkJCSdYJzogZS50YXJnZXQub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQsDQoJCQkJCQknWSc6IGUudGFyZ2V0Lm9mZnNldFBhcmVudC5vZmZzZXRUb3ANCgkJCQkJfTsNCgkJCQkJdGhpcy5vbm1vdXNlZG93bih7DQoJCQkJCQknb2Zmc2V0WCc6ZS50b3VjaGVzWzBdLnBhZ2VYLXRvdWNoT2Zmc2V0LlgsDQoJCQkJCQknb2Zmc2V0WSc6ZS50b3VjaGVzWzBdLnBhZ2VZLXRvdWNoT2Zmc2V0LlkNCgkJCQkJfSk7DQoJCQkJfSk7DQoJCQl9DQoNCgkJCS8vIHBpY2tlcg0KCQkJdmFyIGRpbXMgPSBnZXRQaWNrZXJEaW1zKFRISVMpOw0KCQkJcC5ib3guc3R5bGUud2lkdGggPSBkaW1zWzBdICsgJ3B4JzsNCgkJCXAuYm94LnN0eWxlLmhlaWdodCA9IGRpbXNbMV0gKyAncHgnOw0KDQoJCQkvLyBwaWNrZXIgYm9yZGVyDQoJCQlwLmJveEIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOw0KCQkJcC5ib3hCLnN0eWxlLmNsZWFyID0gJ2JvdGgnOw0KCQkJcC5ib3hCLnN0eWxlLmxlZnQgPSB4KydweCc7DQoJCQlwLmJveEIuc3R5bGUudG9wID0geSsncHgnOw0KCQkJcC5ib3hCLnN0eWxlLnpJbmRleCA9IFRISVMucGlja2VyWkluZGV4Ow0KCQkJcC5ib3hCLnN0eWxlLmJvcmRlciA9IFRISVMucGlja2VyQm9yZGVyKydweCBzb2xpZCc7DQoJCQlwLmJveEIuc3R5bGUuYm9yZGVyQ29sb3IgPSBUSElTLnBpY2tlckJvcmRlckNvbG9yOw0KCQkJcC5ib3hCLnN0eWxlLmJhY2tncm91bmQgPSBUSElTLnBpY2tlckZhY2VDb2xvcjsNCg0KCQkJLy8gcGFkIGltYWdlDQoJCQlwLnBhZC5zdHlsZS53aWR0aCA9IGpzY29sb3IuaW1hZ2VzLnBhZFswXSsncHgnOw0KCQkJcC5wYWQuc3R5bGUuaGVpZ2h0ID0ganNjb2xvci5pbWFnZXMucGFkWzFdKydweCc7DQoNCgkJCS8vIHBhZCBib3JkZXINCgkJCXAucGFkQi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7DQoJCQlwLnBhZEIuc3R5bGUubGVmdCA9IFRISVMucGlja2VyRmFjZSsncHgnOw0KCQkJcC5wYWRCLnN0eWxlLnRvcCA9IFRISVMucGlja2VyRmFjZSsncHgnOw0KCQkJcC5wYWRCLnN0eWxlLmJvcmRlciA9IFRISVMucGlja2VySW5zZXQrJ3B4IHNvbGlkJzsNCgkJCXAucGFkQi5zdHlsZS5ib3JkZXJDb2xvciA9IFRISVMucGlja2VySW5zZXRDb2xvcjsNCg0KCQkJLy8gcGFkIG1vdXNlIGFyZWENCgkJCXAucGFkTS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7DQoJCQlwLnBhZE0uc3R5bGUubGVmdCA9ICcwJzsNCgkJCXAucGFkTS5zdHlsZS50b3AgPSAnMCc7DQoJCQlwLnBhZE0uc3R5bGUud2lkdGggPSBUSElTLnBpY2tlckZhY2UgKyAyKlRISVMucGlja2VySW5zZXQgKyBqc2NvbG9yLmltYWdlcy5wYWRbMF0gKyBqc2NvbG9yLmltYWdlcy5hcnJvd1swXSArICdweCc7DQoJCQlwLnBhZE0uc3R5bGUuaGVpZ2h0ID0gcC5ib3guc3R5bGUuaGVpZ2h0Ow0KCQkJcC5wYWRNLnN0eWxlLmN1cnNvciA9ICdjcm9zc2hhaXInOw0KDQoJCQkvLyBzbGlkZXIgaW1hZ2UNCgkJCXAuc2xkLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7DQoJCQlwLnNsZC5zdHlsZS53aWR0aCA9IGpzY29sb3IuaW1hZ2VzLnNsZFswXSsncHgnOw0KCQkJcC5zbGQuc3R5bGUuaGVpZ2h0ID0ganNjb2xvci5pbWFnZXMuc2xkWzFdKydweCc7DQoNCgkJCS8vIHNsaWRlciBib3JkZXINCgkJCXAuc2xkQi5zdHlsZS5kaXNwbGF5ID0gVEhJUy5zbGlkZXIgPyAnYmxvY2snIDogJ25vbmUnOw0KCQkJcC5zbGRCLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsNCgkJCXAuc2xkQi5zdHlsZS5yaWdodCA9IFRISVMucGlja2VyRmFjZSsncHgnOw0KCQkJcC5zbGRCLnN0eWxlLnRvcCA9IFRISVMucGlja2VyRmFjZSsncHgnOw0KCQkJcC5zbGRCLnN0eWxlLmJvcmRlciA9IFRISVMucGlja2VySW5zZXQrJ3B4IHNvbGlkJzsNCgkJCXAuc2xkQi5zdHlsZS5ib3JkZXJDb2xvciA9IFRISVMucGlja2VySW5zZXRDb2xvcjsNCg0KCQkJLy8gc2xpZGVyIG1vdXNlIGFyZWENCgkJCXAuc2xkTS5zdHlsZS5kaXNwbGF5ID0gVEhJUy5zbGlkZXIgPyAnYmxvY2snIDogJ25vbmUnOw0KCQkJcC5zbGRNLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsNCgkJCXAuc2xkTS5zdHlsZS5yaWdodCA9ICcwJzsNCgkJCXAuc2xkTS5zdHlsZS50b3AgPSAnMCc7DQoJCQlwLnNsZE0uc3R5bGUud2lkdGggPSBqc2NvbG9yLmltYWdlcy5zbGRbMF0gKyBqc2NvbG9yLmltYWdlcy5hcnJvd1swXSArIFRISVMucGlja2VyRmFjZSArIDIqVEhJUy5waWNrZXJJbnNldCArICdweCc7DQoJCQlwLnNsZE0uc3R5bGUuaGVpZ2h0ID0gcC5ib3guc3R5bGUuaGVpZ2h0Ow0KCQkJdHJ5IHsNCgkJCQlwLnNsZE0uc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInOw0KCQkJfSBjYXRjaChlT2xkSUUpIHsNCgkJCQlwLnNsZE0uc3R5bGUuY3Vyc29yID0gJ2hhbmQnOw0KCQkJfQ0KDQoJCQkvLyAiY2xvc2UiIGJ1dHRvbg0KCQkJZnVuY3Rpb24gc2V0QnRuQm9yZGVyKCkgew0KCQkJCXZhciBpbnNldENvbG9ycyA9IFRISVMucGlja2VySW5zZXRDb2xvci5zcGxpdCgvXHMrLyk7DQoJCQkJdmFyIHBpY2tlck91dHNldENvbG9yID0gaW5zZXRDb2xvcnMubGVuZ3RoIDwgMiA/IGluc2V0Q29sb3JzWzBdIDogaW5zZXRDb2xvcnNbMV0gKyAnICcgKyBpbnNldENvbG9yc1swXSArICcgJyArIGluc2V0Q29sb3JzWzBdICsgJyAnICsgaW5zZXRDb2xvcnNbMV07DQoJCQkJcC5idG4uc3R5bGUuYm9yZGVyQ29sb3IgPSBwaWNrZXJPdXRzZXRDb2xvcjsNCgkJCX0NCgkJCXAuYnRuLnN0eWxlLmRpc3BsYXkgPSBUSElTLnBpY2tlckNsb3NhYmxlID8gJ2Jsb2NrJyA6ICdub25lJzsNCgkJCXAuYnRuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsNCgkJCXAuYnRuLnN0eWxlLmxlZnQgPSBUSElTLnBpY2tlckZhY2UgKyAncHgnOw0KCQkJcC5idG4uc3R5bGUuYm90dG9tID0gVEhJUy5waWNrZXJGYWNlICsgJ3B4JzsNCgkJCXAuYnRuLnN0eWxlLnBhZGRpbmcgPSAnMCAxNXB4JzsNCgkJCXAuYnRuLnN0eWxlLmhlaWdodCA9ICcxOHB4JzsNCgkJCXAuYnRuLnN0eWxlLmJvcmRlciA9IFRISVMucGlja2VySW5zZXQgKyAncHggc29saWQnOw0KCQkJc2V0QnRuQm9yZGVyKCk7DQoJCQlwLmJ0bi5zdHlsZS5jb2xvciA9IFRISVMucGlja2VyQnV0dG9uQ29sb3I7DQoJCQlwLmJ0bi5zdHlsZS5mb250ID0gJzEycHggc2Fucy1zZXJpZic7DQoJCQlwLmJ0bi5zdHlsZS50ZXh0QWxpZ24gPSAnY2VudGVyJzsNCgkJCXRyeSB7DQoJCQkJcC5idG4uc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInOw0KCQkJfSBjYXRjaChlT2xkSUUpIHsNCgkJCQlwLmJ0bi5zdHlsZS5jdXJzb3IgPSAnaGFuZCc7DQoJCQl9DQoJCQlwLmJ0bi5vbm1vdXNlZG93biA9IGZ1bmN0aW9uICgpIHsNCgkJCQlUSElTLmhpZGVQaWNrZXIoKTsNCgkJCX07DQoJCQlwLmJ0blMuc3R5bGUubGluZUhlaWdodCA9IHAuYnRuLnN0eWxlLmhlaWdodDsNCg0KCQkJLy8gbG9hZCBpbWFnZXMgaW4gb3B0aW1hbCBvcmRlcg0KCQkJc3dpdGNoKG1vZGVJRCkgew0KCQkJCWNhc2UgMDogdmFyIHBhZEltZyA9ICdocy5wbmcnOyBicmVhazsNCgkJCQljYXNlIDE6IHZhciBwYWRJbWcgPSAnaHYucG5nJzsgYnJlYWs7DQoJCQl9DQoJCQlwLnBhZE0uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gInVybCgnIitqc2NvbG9yLmdldERpcigpKyJjcm9zcy5naWYnKSI7DQoJCQlwLnBhZE0uc3R5bGUuYmFja2dyb3VuZFJlcGVhdCA9ICJuby1yZXBlYXQiOw0KCQkJcC5zbGRNLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICJ1cmwoJyIranNjb2xvci5nZXREaXIoKSsiYXJyb3cuZ2lmJykiOw0KCQkJcC5zbGRNLnN0eWxlLmJhY2tncm91bmRSZXBlYXQgPSAibm8tcmVwZWF0IjsNCgkJCXAucGFkLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICJ1cmwoJyIranNjb2xvci5nZXREaXIoKStwYWRJbWcrIicpIjsNCgkJCXAucGFkLnN0eWxlLmJhY2tncm91bmRSZXBlYXQgPSAibm8tcmVwZWF0IjsNCgkJCXAucGFkLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbiA9ICIwIDAiOw0KDQoJCQkvLyBwbGFjZSBwb2ludGVycw0KCQkJcmVkcmF3UGFkKCk7DQoJCQlyZWRyYXdTbGQoKTsNCg0KCQkJanNjb2xvci5waWNrZXIub3duZXIgPSBUSElTOw0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChwLmJveEIpOw0KCQl9DQoNCg0KCQlmdW5jdGlvbiBnZXRQaWNrZXJEaW1zKG8pIHsNCgkJCXZhciBkaW1zID0gWw0KCQkJCTIqby5waWNrZXJJbnNldCArIDIqby5waWNrZXJGYWNlICsganNjb2xvci5pbWFnZXMucGFkWzBdICsNCgkJCQkJKG8uc2xpZGVyID8gMipvLnBpY2tlckluc2V0ICsgMipqc2NvbG9yLmltYWdlcy5hcnJvd1swXSArIGpzY29sb3IuaW1hZ2VzLnNsZFswXSA6IDApLA0KCQkJCW8ucGlja2VyQ2xvc2FibGUgPw0KCQkJCQk0Km8ucGlja2VySW5zZXQgKyAzKm8ucGlja2VyRmFjZSArIGpzY29sb3IuaW1hZ2VzLnBhZFsxXSArIG8ucGlja2VyQnV0dG9uSGVpZ2h0IDoNCgkJCQkJMipvLnBpY2tlckluc2V0ICsgMipvLnBpY2tlckZhY2UgKyBqc2NvbG9yLmltYWdlcy5wYWRbMV0NCgkJCV07DQoJCQlyZXR1cm4gZGltczsNCgkJfQ0KDQoNCgkJZnVuY3Rpb24gcmVkcmF3UGFkKCkgew0KCQkJLy8gcmVkcmF3IHRoZSBwYWQgcG9pbnRlcg0KCQkJc3dpdGNoKG1vZGVJRCkgew0KCQkJCWNhc2UgMDogdmFyIHlDb21wb25lbnQgPSAxOyBicmVhazsNCgkJCQljYXNlIDE6IHZhciB5Q29tcG9uZW50ID0gMjsgYnJlYWs7DQoJCQl9DQoJCQl2YXIgeCA9IE1hdGgucm91bmQoKFRISVMuaHN2WzBdLzYpICogKGpzY29sb3IuaW1hZ2VzLnBhZFswXS0xKSk7DQoJCQl2YXIgeSA9IE1hdGgucm91bmQoKDEtVEhJUy5oc3ZbeUNvbXBvbmVudF0pICogKGpzY29sb3IuaW1hZ2VzLnBhZFsxXS0xKSk7DQoJCQlqc2NvbG9yLnBpY2tlci5wYWRNLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbiA9DQoJCQkJKFRISVMucGlja2VyRmFjZStUSElTLnBpY2tlckluc2V0K3ggLSBNYXRoLmZsb29yKGpzY29sb3IuaW1hZ2VzLmNyb3NzWzBdLzIpKSArICdweCAnICsNCgkJCQkoVEhJUy5waWNrZXJGYWNlK1RISVMucGlja2VySW5zZXQreSAtIE1hdGguZmxvb3IoanNjb2xvci5pbWFnZXMuY3Jvc3NbMV0vMikpICsgJ3B4JzsNCg0KCQkJLy8gcmVkcmF3IHRoZSBzbGlkZXIgaW1hZ2UNCgkJCXZhciBzZWcgPSBqc2NvbG9yLnBpY2tlci5zbGQuY2hpbGROb2RlczsNCg0KCQkJc3dpdGNoKG1vZGVJRCkgew0KCQkJCWNhc2UgMDoNCgkJCQkJdmFyIHJnYiA9IEhTVl9SR0IoVEhJUy5oc3ZbMF0sIFRISVMuaHN2WzFdLCAxKTsNCgkJCQkJZm9yKHZhciBpPTA7IGk8c2VnLmxlbmd0aDsgaSs9MSkgew0KCQkJCQkJc2VnW2ldLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2IoJysNCgkJCQkJCQkocmdiWzBdKigxLWkvc2VnLmxlbmd0aCkqMTAwKSsnJSwnKw0KCQkJCQkJCShyZ2JbMV0qKDEtaS9zZWcubGVuZ3RoKSoxMDApKyclLCcrDQoJCQkJCQkJKHJnYlsyXSooMS1pL3NlZy5sZW5ndGgpKjEwMCkrJyUpJzsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlIDE6DQoJCQkJCXZhciByZ2IsIHMsIGMgPSBbIFRISVMuaHN2WzJdLCAwLCAwIF07DQoJCQkJCXZhciBpID0gTWF0aC5mbG9vcihUSElTLmhzdlswXSk7DQoJCQkJCXZhciBmID0gaSUyID8gVEhJUy5oc3ZbMF0taSA6IDEtKFRISVMuaHN2WzBdLWkpOw0KCQkJCQlzd2l0Y2goaSkgew0KCQkJCQkJY2FzZSA2Og0KCQkJCQkJY2FzZSAwOiByZ2I9WzAsMSwyXTsgYnJlYWs7DQoJCQkJCQljYXNlIDE6IHJnYj1bMSwwLDJdOyBicmVhazsNCgkJCQkJCWNhc2UgMjogcmdiPVsyLDAsMV07IGJyZWFrOw0KCQkJCQkJY2FzZSAzOiByZ2I9WzIsMSwwXTsgYnJlYWs7DQoJCQkJCQljYXNlIDQ6IHJnYj1bMSwyLDBdOyBicmVhazsNCgkJCQkJCWNhc2UgNTogcmdiPVswLDIsMV07IGJyZWFrOw0KCQkJCQl9DQoJCQkJCWZvcih2YXIgaT0wOyBpPHNlZy5sZW5ndGg7IGkrPTEpIHsNCgkJCQkJCXMgPSAxIC0gMS8oc2VnLmxlbmd0aC0xKSppOw0KCQkJCQkJY1sxXSA9IGNbMF0gKiAoMSAtIHMqZik7DQoJCQkJCQljWzJdID0gY1swXSAqICgxIC0gcyk7DQoJCQkJCQlzZWdbaV0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYignKw0KCQkJCQkJCShjW3JnYlswXV0qMTAwKSsnJSwnKw0KCQkJCQkJCShjW3JnYlsxXV0qMTAwKSsnJSwnKw0KCQkJCQkJCShjW3JnYlsyXV0qMTAwKSsnJSknOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoNCg0KCQlmdW5jdGlvbiByZWRyYXdTbGQoKSB7DQoJCQkvLyByZWRyYXcgdGhlIHNsaWRlciBwb2ludGVyDQoJCQlzd2l0Y2gobW9kZUlEKSB7DQoJCQkJY2FzZSAwOiB2YXIgeUNvbXBvbmVudCA9IDI7IGJyZWFrOw0KCQkJCWNhc2UgMTogdmFyIHlDb21wb25lbnQgPSAxOyBicmVhazsNCgkJCX0NCgkJCXZhciB5ID0gTWF0aC5yb3VuZCgoMS1USElTLmhzdlt5Q29tcG9uZW50XSkgKiAoanNjb2xvci5pbWFnZXMuc2xkWzFdLTEpKTsNCgkJCWpzY29sb3IucGlja2VyLnNsZE0uc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0NCgkJCQknMCAnICsgKFRISVMucGlja2VyRmFjZStUSElTLnBpY2tlckluc2V0K3kgLSBNYXRoLmZsb29yKGpzY29sb3IuaW1hZ2VzLmFycm93WzFdLzIpKSArICdweCc7DQoJCX0NCg0KDQoJCWZ1bmN0aW9uIGlzUGlja2VyT3duZXIoKSB7DQoJCQlyZXR1cm4ganNjb2xvci5waWNrZXIgJiYganNjb2xvci5waWNrZXIub3duZXIgPT09IFRISVM7DQoJCX0NCg0KDQoJCWZ1bmN0aW9uIGJsdXJUYXJnZXQoKSB7DQoJCQlpZih2YWx1ZUVsZW1lbnQgPT09IHRhcmdldCkgew0KCQkJCVRISVMuaW1wb3J0Q29sb3IoKTsNCgkJCX0NCgkJCWlmKFRISVMucGlja2VyT25mb2N1cykgew0KCQkJCVRISVMuaGlkZVBpY2tlcigpOw0KCQkJfQ0KCQl9DQoNCg0KCQlmdW5jdGlvbiBibHVyVmFsdWUoKSB7DQoJCQlpZih2YWx1ZUVsZW1lbnQgIT09IHRhcmdldCkgew0KCQkJCVRISVMuaW1wb3J0Q29sb3IoKTsNCgkJCX0NCgkJfQ0KDQoNCgkJZnVuY3Rpb24gc2V0UGFkKGUpIHsNCgkJCXZhciBtcG9zID0ganNjb2xvci5nZXRSZWxNb3VzZVBvcyhlKTsNCgkJCXZhciB4ID0gbXBvcy54IC0gVEhJUy5waWNrZXJGYWNlIC0gVEhJUy5waWNrZXJJbnNldDsNCgkJCXZhciB5ID0gbXBvcy55IC0gVEhJUy5waWNrZXJGYWNlIC0gVEhJUy5waWNrZXJJbnNldDsNCgkJCXN3aXRjaChtb2RlSUQpIHsNCgkJCQljYXNlIDA6IFRISVMuZnJvbUhTVih4Kig2Lyhqc2NvbG9yLmltYWdlcy5wYWRbMF0tMSkpLCAxIC0geS8oanNjb2xvci5pbWFnZXMucGFkWzFdLTEpLCBudWxsLCBsZWF2ZVNsZCk7IGJyZWFrOw0KCQkJCWNhc2UgMTogVEhJUy5mcm9tSFNWKHgqKDYvKGpzY29sb3IuaW1hZ2VzLnBhZFswXS0xKSksIG51bGwsIDEgLSB5Lyhqc2NvbG9yLmltYWdlcy5wYWRbMV0tMSksIGxlYXZlU2xkKTsgYnJlYWs7DQoJCQl9DQoJCX0NCg0KDQoJCWZ1bmN0aW9uIHNldFNsZChlKSB7DQoJCQl2YXIgbXBvcyA9IGpzY29sb3IuZ2V0UmVsTW91c2VQb3MoZSk7DQoJCQl2YXIgeSA9IG1wb3MueSAtIFRISVMucGlja2VyRmFjZSAtIFRISVMucGlja2VySW5zZXQ7DQoJCQlzd2l0Y2gobW9kZUlEKSB7DQoJCQkJY2FzZSAwOiBUSElTLmZyb21IU1YobnVsbCwgbnVsbCwgMSAtIHkvKGpzY29sb3IuaW1hZ2VzLnNsZFsxXS0xKSwgbGVhdmVQYWQpOyBicmVhazsNCgkJCQljYXNlIDE6IFRISVMuZnJvbUhTVihudWxsLCAxIC0geS8oanNjb2xvci5pbWFnZXMuc2xkWzFdLTEpLCBudWxsLCBsZWF2ZVBhZCk7IGJyZWFrOw0KCQkJfQ0KCQl9DQoNCg0KCQlmdW5jdGlvbiBkaXNwYXRjaEltbWVkaWF0ZUNoYW5nZSgpIHsNCgkJCWlmIChUSElTLm9uSW1tZWRpYXRlQ2hhbmdlKSB7DQoJCQkJdmFyIGNhbGxiYWNrOw0KCQkJCWlmICh0eXBlb2YgVEhJUy5vbkltbWVkaWF0ZUNoYW5nZSA9PT0gJ3N0cmluZycpIHsNCgkJCQkJY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24gKFRISVMub25JbW1lZGlhdGVDaGFuZ2UpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNhbGxiYWNrID0gVEhJUy5vbkltbWVkaWF0ZUNoYW5nZTsNCgkJCQl9DQoJCQkJY2FsbGJhY2suY2FsbChUSElTKTsNCgkJCX0NCgkJfQ0KDQoNCgkJdmFyIFRISVMgPSB0aGlzOw0KCQl2YXIgbW9kZUlEID0gdGhpcy5waWNrZXJNb2RlLnRvTG93ZXJDYXNlKCk9PT0naHZzJyA/IDEgOiAwOw0KCQl2YXIgYWJvcnRCbHVyID0gZmFsc2U7DQoJCXZhcg0KCQkJdmFsdWVFbGVtZW50ID0ganNjb2xvci5mZXRjaEVsZW1lbnQodGhpcy52YWx1ZUVsZW1lbnQpLA0KCQkJc3R5bGVFbGVtZW50ID0ganNjb2xvci5mZXRjaEVsZW1lbnQodGhpcy5zdHlsZUVsZW1lbnQpOw0KCQl2YXINCgkJCWhvbGRQYWQgPSBmYWxzZSwNCgkJCWhvbGRTbGQgPSBmYWxzZSwNCgkJCXRvdWNoT2Zmc2V0ID0ge307DQoJCXZhcg0KCQkJbGVhdmVWYWx1ZSA9IDE8PDAsDQoJCQlsZWF2ZVN0eWxlID0gMTw8MSwNCgkJCWxlYXZlUGFkID0gMTw8MiwNCgkJCWxlYXZlU2xkID0gMTw8MzsNCg0KCQkvLyB0YXJnZXQNCgkJanNjb2xvci5hZGRFdmVudCh0YXJnZXQsICdmb2N1cycsIGZ1bmN0aW9uKCkgew0KCQkJaWYoVEhJUy5waWNrZXJPbmZvY3VzKSB7IFRISVMuc2hvd1BpY2tlcigpOyB9DQoJCX0pOw0KCQlqc2NvbG9yLmFkZEV2ZW50KHRhcmdldCwgJ2JsdXInLCBmdW5jdGlvbigpIHsNCgkJCWlmKCFhYm9ydEJsdXIpIHsNCgkJCQl3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpeyBhYm9ydEJsdXIgfHwgYmx1clRhcmdldCgpOyBhYm9ydEJsdXI9ZmFsc2U7IH0sIDApOw0KCQkJfSBlbHNlIHsNCgkJCQlhYm9ydEJsdXIgPSBmYWxzZTsNCgkJCX0NCgkJfSk7DQoNCgkJLy8gdmFsdWVFbGVtZW50DQoJCWlmKHZhbHVlRWxlbWVudCkgew0KCQkJdmFyIHVwZGF0ZUZpZWxkID0gZnVuY3Rpb24oKSB7DQoJCQkJVEhJUy5mcm9tU3RyaW5nKHZhbHVlRWxlbWVudC52YWx1ZSwgbGVhdmVWYWx1ZSk7DQoJCQkJZGlzcGF0Y2hJbW1lZGlhdGVDaGFuZ2UoKTsNCgkJCX07DQoJCQlqc2NvbG9yLmFkZEV2ZW50KHZhbHVlRWxlbWVudCwgJ2tleXVwJywgdXBkYXRlRmllbGQpOw0KCQkJanNjb2xvci5hZGRFdmVudCh2YWx1ZUVsZW1lbnQsICdpbnB1dCcsIHVwZGF0ZUZpZWxkKTsNCgkJCWpzY29sb3IuYWRkRXZlbnQodmFsdWVFbGVtZW50LCAnYmx1cicsIGJsdXJWYWx1ZSk7DQoJCQl2YWx1ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7DQoJCX0NCg0KCQkvLyBzdHlsZUVsZW1lbnQNCgkJaWYoc3R5bGVFbGVtZW50KSB7DQoJCQlzdHlsZUVsZW1lbnQuanNjU3R5bGUgPSB7DQoJCQkJYmFja2dyb3VuZEltYWdlIDogc3R5bGVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSwNCgkJCQliYWNrZ3JvdW5kQ29sb3IgOiBzdHlsZUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yLA0KCQkJCWNvbG9yIDogc3R5bGVFbGVtZW50LnN0eWxlLmNvbG9yDQoJCQl9Ow0KCQl9DQoNCgkJLy8gcmVxdWlyZSBpbWFnZXMNCgkJc3dpdGNoKG1vZGVJRCkgew0KCQkJY2FzZSAwOiBqc2NvbG9yLnJlcXVpcmVJbWFnZSgnaHMucG5nJyk7IGJyZWFrOw0KCQkJY2FzZSAxOiBqc2NvbG9yLnJlcXVpcmVJbWFnZSgnaHYucG5nJyk7IGJyZWFrOw0KCQl9DQoJCWpzY29sb3IucmVxdWlyZUltYWdlKCdjcm9zcy5naWYnKTsNCgkJanNjb2xvci5yZXF1aXJlSW1hZ2UoJ2Fycm93LmdpZicpOw0KDQoJCXRoaXMuaW1wb3J0Q29sb3IoKTsNCgl9DQoNCn07DQoNCi8vLS0tIE9UUlNDSURlcGxveW1lbnRTdGF0ZUNvbG9ycw0KLy9qc2NvbG9yLmluc3RhbGwoKTsNCi8vLS0t</File>
        <File Location="var/httpd/htdocs/js/ITSM.GeneralCatalog.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNCBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgSVRTTSA9IElUU00gfHwge307CgovKioKICogQG5hbWVzcGFjZSBHZW5lcmFsQ2F0YWxvZwogKiBAYXV0aG9yIFJvdGhlciBPU1MgR21iSAogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgZnVuY3Rpb24gZm9yIEdlbmVyYWwgQ2F0YWxvZy4KICovCiBJVFNNLkdlbmVyYWxDYXRhbG9nID0gKGZ1bmN0aW9uIChUYXJnZXROUykgewoKICAgIC8qKgogICAgICogQG5hbWUgSW5pdAogICAgICogQG1lbWJlcm9mIEdlbmVyYWxDYXRhbG9nCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBkZXNjcmlwdGlvbgogICAgICogICAgICBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIGFjdGlvbnMgZm9yIEdlbmVyYWwgQ2F0YWxvZy4KICAgICAqLwogICAgVGFyZ2V0TlMuSW5pdCA9IGZ1bmN0aW9uKCkgewoKICAgICAgICAvLyBpbml0IGNoZWNrYm94IHRvIGluY2x1ZGUgaW52YWxpZCBlbGVtZW50cwogICAgICAgICQoJ2lucHV0I0luY2x1ZGVJbnZhbGlkJykub2ZmKCdjaGFuZ2UnKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgVVJMID0gQ29yZS5Db25maWcuR2V0KCJCYXNlbGluayIpICsgJ0FjdGlvbj0nICsgQ29yZS5Db25maWcuR2V0KCJBY3Rpb24iKSArICc7U3ViYWN0aW9uPUl0ZW1MaXN0O0NsYXNzPScgKyAkKCdbbmFtZT0iQ2xhc3MiXScpLnZhbCgpICsgJztJbmNsdWRlSW52YWxpZD0nICsgKCAkKHRoaXMpLmlzKCc6Y2hlY2tlZCcpID8gMSA6IDAgKTsKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBVUkw7CiAgICAgICAgfSk7CgogICAgICAgIGlmICh0eXBlb2YgQ29yZS5Db25maWcuR2V0KCdXYXJuaW5nSW5jaWRlbnRTdGF0ZScpICE9PSAndW5kZWZpbmVkJwogICAgICAgICAgICAmJiBwYXJzZUludChDb3JlLkNvbmZpZy5HZXQoJ1dhcm5pbmdJbmNpZGVudFN0YXRlJyksIDEwKSA9PT0gMQogICAgICAgICkgewogICAgICAgICAgICAkKCcjU3VibWl0JykuY2xpY2soZnVuY3Rpb24oRXZlbnQpewogICAgICAgICAgICAgICAgdmFyIEZ1bmN0aW9uYWxpdHkgPSAkKCcjRnVuY3Rpb25hbGl0eScpLnZhbCgpLAogICAgICAgICAgICAgICAgICAgIFZhbGlkSUQgICAgICAgPSAkKCcjVmFsaWRJRCcpLnZhbCgpOwoKICAgICAgICAgICAgICAgIEV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uYWxpdHkgPT09ICd3YXJuaW5nJyAmJiBWYWxpZElEICE9ICcxJykgewogICAgICAgICAgICAgICAgICAgIENvcmUuVUkuRGlhbG9nLlNob3dEaWFsb2coewogICAgICAgICAgICAgICAgICAgICAgICBNb2RhbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGU6IENvcmUuTGFuZ3VhZ2UuVHJhbnNsYXRlKCdXYXJuaW5nJyksCiAgICAgICAgICAgICAgICAgICAgICAgIEhUTUw6ICc8cD4nICsgQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoJ1dhcm5pbmcgaW5jaWRlbnQgc3RhdGUgY2FuIG5vdCBiZSBzZXQgdG8gaW52YWxpZC4nKSArICc8L3A+JywKICAgICAgICAgICAgICAgICAgICAgICAgUG9zaXRpb25Ub3A6ICcxNSUnLAogICAgICAgICAgICAgICAgICAgICAgICBQb3NpdGlvbkxlZnQ6ICdDZW50ZXInLAogICAgICAgICAgICAgICAgICAgICAgICBDbG9zZU9uRXNjYXBlOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2VPbkNsaWNrT3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbnM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbDogQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoJ0NhbmNlbCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcmUuVUkuRGlhbG9nLkNsb3NlRGlhbG9nKCQoJy5EaWFsb2c6dmlzaWJsZScpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCdmb3JtJykudHJpZ2dlcignc3VibWl0Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH07CgogICAgQ29yZS5Jbml0LlJlZ2lzdGVyTmFtZXNwYWNlKFRhcmdldE5TLCAnQVBQX01PRFVMRScpOwoKICAgIHJldHVybiBUYXJnZXROUzsKfShJVFNNLkdlbmVyYWxDYXRhbG9nIHx8IHt9KSk7Cg==</File>
        <File Location="var/httpd/htdocs/js/ITSM.GeneralCatalog.JSColorPicker.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNCBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCi8vIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCi8vIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAovLyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwovLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgSVRTTSA9IElUU00gfHwge307CklUU00uR2VuZXJhbENhdGFsb2cgPSBJVFNNLkdlbmVyYWxDYXRhbG9nIHx8IHt9OwoKCi8qKgogKiBAbmFtZXNwYWNlIEdlbmVyYWxDYXRhbG9nCiAqIEBhdXRob3IgUm90aGVyIE9TUyBHbWJICiAqIEBkZXNjcmlwdGlvbgogKiAgICAgIFRoaXMgbmFtZXNwYWNlIGNvbnRhaW5zIHRoZSBzcGVjaWFsIG1vZHVsZSBmdW5jdGlvbiBmb3IgdGhlIEdlbmVyYWwgQ2F0YWxvZyBDb2xvciBQaWNrZXIgbW9kdWxlLgogKi8KIElUU00uR2VuZXJhbENhdGFsb2cuSlNDb2xvclBpY2tlciA9IChmdW5jdGlvbiAoVGFyZ2V0TlMpIHsKCiAgICAvKioKICAgICAqIEBuYW1lIEluaXQKICAgICAqIEBtZW1iZXJvZiBHZW5lcmFsQ2F0YWxvZy5Db2xvclBpY2tlcgogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAZGVzY3JpcHRpb24KICAgICAqICAgICAgVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyBhY3Rpb25zIGZvciBHZW5lcmFsIENhdGFsb2cuCiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbigpIHsKCiAgICAgICAgLypnbG9iYWwganNjb2xvcjogdHJ1ZSAqLwogICAgICAgIGpzY29sb3IuZGlyID0gQ29yZS5Db25maWcuR2V0KCdHZW5lcmFsQ2F0YWxvZzo6RnJvbnRlbmQ6OkpTQ29sb3JQaWNrZXJQYXRoJyk7CiAgICAgICAganNjb2xvci5iaW5kQ2xhc3MgPSAnSlNDb2xvclBpY2tlcic7CiAgICAgICAganNjb2xvci5pbnN0YWxsKCk7CiAgICB9OwoKICAgIENvcmUuSW5pdC5SZWdpc3Rlck5hbWVzcGFjZShUYXJnZXROUywgJ0NPTkZJR19MT0FERUQnKTsKCiAgICByZXR1cm4gVGFyZ2V0TlM7Cn0oSVRTTS5HZW5lcmFsQ2F0YWxvZy5KU0NvbG9yUGlja2VyIHx8IHt9KSk7Cg==</File>
        <File Location="var/packagesetup/GeneralCatalog.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIHZhcjo6cGFja2FnZXNldHVwOjpHZW5lcmFsQ2F0YWxvZzsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZScsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycsCik7Cgo9aGVhZDEgTkFNRQoKdmFyOjpwYWNrYWdlc2V0dXA6OkdlbmVyYWxDYXRhbG9nIC0gY29kZSB0byBleGVjdXRlIGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlvbgoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1oZWFkMiBuZXcoKQoKY3JlYXRlIGFuIG9iamVjdAoKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6T2JqZWN0TWFuYWdlcjsKCiAgICBsb2NhbCAkS2VybmVsOjpPTSA9IEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyLT5uZXcoKTsKICAgIG15ICRDb2RlT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgndmFyOjpwYWNrYWdlc2V0dXA6OkdlbmVyYWxDYXRhbG9nJyk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IGJsZXNzIHt9LCAkVHlwZTsKCiAgICAjIEZvcmNlIGEgcmVsb2FkIG9mIFpaWkF1dG8ucG0gYW5kIFpaWkFBdXRvLnBtIHRvIGdldCB0aGUgZnJlc2ggY29uZmlndXJhdGlvbiB2YWx1ZXMuCiAgICBmb3IgbXkgJE1vZHVsZSAoIHNvcnQga2V5cyAlSU5DICkgewogICAgICAgIGlmICggJE1vZHVsZSA9fiBtL1paWkFBP3V0b1wucG0kLyApIHsKICAgICAgICAgICAgZGVsZXRlICRJTkN7JE1vZHVsZX07CiAgICAgICAgfQogICAgfQoKICAgICMgQ3JlYXRlIGNvbW1vbiBvYmplY3RzIHdpdGggZnJlc2ggZGVmYXVsdCBjb25maWcuCiAgICAkS2VybmVsOjpPTS0+T2JqZWN0c0Rpc2NhcmQ7CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aGVhZDIgQ29kZUluc3RhbGwoKQoKcnVucyB0aGUgY29kZSBpbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVJbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZUluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVSZWluc3RhbGwoKQoKcnVucyB0aGUgY29kZSByZWluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVJlaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVSZWluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVbmluc3RhbGwoKQoKcnVucyB0aGUgY29kZSB1bmluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVuaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVVbmluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHJlbW92ZSBEeW5hbWljIEZpZWxkcyBhbmQgaXRzIHZhbHVlcwogICAgJFNlbGYtPl9EeW5hbWljRmllbGRzRGVsZXRlKCk7CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBfRHluYW1pY0ZpZWxkc0RlbGV0ZSgpCgpkZWxldGUgYWxsIGV4aXN0aW5nIGR5bmFtaWMgZmllbGRzIHdpdGggZmllbGQgdHlwZSBHZW5lcmFsQ2F0YWxvZwoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+X0R5bmFtaWNGaWVsZHNEZWxldGUoKTsKCj1jdXQKCnN1YiBfRHluYW1pY0ZpZWxkc0RlbGV0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICREeW5hbWljRmllbGRPYmplY3QgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKICAgIG15ICREeW5hbWljRmllbGRWYWx1ZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZScpOwoKICAgICMgZ2V0IHRoZSBsaXN0IG9mIGFsbCBkeW5hbWljIGZpZWxkcyAodmFsaWQgYW5kIGludmFsaWQgb25lcykKICAgIG15ICREeW5hbWljRmllbGRMaXN0ID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkTGlzdEdldCgKICAgICAgICBWYWxpZCA9PiAwLAogICAgKTsKCiAgICAjIGRlbGV0ZSB0aGUgZHluYW1pYyBmaWVsZHMKICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkICggQHskRHluYW1pY0ZpZWxkTGlzdH0gKSB7CgogICAgICAgICMgY2hlY2sgaWYgZmllbGQgc2hvdWxkIGJlIGRlbGV0ZWQKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCB1bmxlc3MgJER5bmFtaWNGaWVsZC0+e0ZpZWxkVHlwZX0gZXEgJ0dlbmVyYWxDYXRhbG9nJzsKCiAgICAgICAgIyBkZWxldGUgYWxsIGZpZWxkIHZhbHVlcwogICAgICAgIG15ICRWYWx1ZXNEZWxldGVTdWNjZXNzID0gJER5bmFtaWNGaWVsZFZhbHVlT2JqZWN0LT5BbGxWYWx1ZXNEZWxldGUoCiAgICAgICAgICAgIEZpZWxkSUQgPT4gJER5bmFtaWNGaWVsZC0+e0lEfSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgdmFsdWVzIGNvdWxkIGJlIGRlbGV0ZWQKICAgICAgICBpZiAoJFZhbHVlc0RlbGV0ZVN1Y2Nlc3MpIHsKCiAgICAgICAgICAgICMgZGVsZXRlIGZpZWxkCiAgICAgICAgICAgIG15ICRTdWNjZXNzID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkRGVsZXRlKAogICAgICAgICAgICAgICAgSUQgICAgID0+ICREeW5hbWljRmllbGQtPntJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gMSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgY2hlY2sgZXJyb3IKICAgICAgICAgICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgZGVsZXRlIGR5bmFtaWMgZmllbGQgJyREeW5hbWljRmllbGQtPntOYW1lfSchIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgdmFsdWVzIGNvdWxkIG5vdCBiZSBkZWxldGVkCiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgZGVsZXRlIHZhbHVlcyBmb3IgZHluYW1pYyBmaWVsZCAnJER5bmFtaWNGaWVsZC0+e05hbWV9JyEiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMTsKfQoKMTsK</File>
        <File Location="doc/en/GeneralCatalog.pdf" Permission="644" Encode="Base64">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</File>
    </Filelist>
    <DatabaseInstall Type="post">
        <TableCreate Type="post" Name="general_catalog">
            <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Type="INTEGER"></Column>
            <Column Name="general_catalog_class" Required="true" Size="100" Type="VARCHAR"></Column>
            <Column Name="name" Required="true" Size="100" Type="VARCHAR"></Column>
            <Column Name="valid_id" Required="true" Type="SMALLINT"></Column>
            <Column Name="comments" Required="false" Size="200" Type="VARCHAR"></Column>
            <Column Name="create_time" Required="true" Type="DATE"></Column>
            <Column Name="create_by" Required="true" Type="INTEGER"></Column>
            <Column Name="change_time" Required="true" Type="DATE"></Column>
            <Column Name="change_by" Required="true" Type="INTEGER"></Column>
            <Unique>
                                <UniqueColumn Name="general_catalog_class"></UniqueColumn>
                <UniqueColumn Name="name"></UniqueColumn>
</Unique>
            <ForeignKey ForeignTable="users">
                <Reference Foreign="id" Local="create_by">
                </Reference>
                <Reference Foreign="id" Local="change_by">
                </Reference>
            </ForeignKey>
        </TableCreate>
        <TableCreate Type="post" Name="general_catalog_preferences">
            <Column Name="general_catalog_id" Required="true" Type="INTEGER"></Column>
            <Column Name="pref_key" Required="true" Size="255" Type="VARCHAR"></Column>
            <Column Name="pref_value" Required="false" Size="255" Type="VARCHAR"></Column>
            <Index Name="general_catalog_preferences_general_catalog_id">
                <IndexColumn Name="general_catalog_id">
                </IndexColumn>
            </Index>
            <ForeignKey ForeignTable="general_catalog">
                <Reference Foreign="id" Local="general_catalog_id">
                </Reference>
            </ForeignKey>
        </TableCreate>
    </DatabaseInstall>
    <DatabaseUpgrade Type="pre">
        <TableCreate Type="pre" Name="general_catalog_preferences" Version="1.3.72">
            <Column Name="general_catalog_id" Required="true" Type="INTEGER"></Column>
            <Column Name="pref_key" Required="true" Size="255" Type="VARCHAR"></Column>
            <Column Name="pref_value" Required="false" Size="255" Type="VARCHAR"></Column>
            <Index Name="general_catalog_preferences_general_catalog_id">
                <IndexColumn Name="general_catalog_id">
                </IndexColumn>
            </Index>
            <ForeignKey ForeignTable="general_catalog">
                <Reference Foreign="id" Local="general_catalog_id">
                </Reference>
            </ForeignKey>
        </TableCreate>
    </DatabaseUpgrade>
    <DatabaseUninstall Type="pre">
        <TableDrop Type="pre" Name="general_catalog_preferences">
        </TableDrop>
        <TableDrop Type="pre" Name="general_catalog">
        </TableDrop>
    </DatabaseUninstall>
</otrs_package>