{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# List of distributions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import jax; jax.config.update(\"jax_enable_x64\", True)\n",
    "import jax.numpy as jnp\n",
    "from jaxkuramoto import distribution\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "xs = jnp.arange(-5, 5, 0.01)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Normal distribution\n",
    "- Probability density function\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right)\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\mu$: mean (`loc`)\n",
    "    - $\\sigma$: standard deviation (`scale`)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x14ff06220>]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loc = 0.0\n",
    "scale = 1.0\n",
    "\n",
    "dist = distribution.Normal(loc=loc, scale=scale)\n",
    "plt.plot(xs, dist.pdf(xs), label=\"pdf\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cauchy distribution\n",
    "- Probability density function\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{\\gamma}{\\pi}\\frac{1}{(x-\\mu)^2+\\gamma^2}\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\mu$: location (`loc`)\n",
    "    - $\\gamma$: scale (`gamma`)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x157759f70>]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loc = 0.0\n",
    "gamma = 1.0\n",
    "\n",
    "dist = distribution.Cauchy(loc=loc, gamma=gamma)\n",
    "plt.plot(xs, dist.pdf(xs), label=\"pdf\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Uniform distribution\n",
    "- Probability density function for $a\\leq x\\leq b$\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{1}{b-a}\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $a$: lower bound (`low`)\n",
    "    - $b$: upper bound (`high`)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x15772c790>]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "low = -1.0\n",
    "high = 1.0\n",
    "\n",
    "dist = distribution.Uniform(low=low, high=high)\n",
    "plt.plot(xs, dist.pdf(xs), label=\"pdf\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Generalized Normal distribution\n",
    "- Probability density function\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{n\\gamma}{\\Gamma(1/(2n))}\\exp(-\\gamma^{2n}(x-\\mu)^{2n})\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\mu$: location (`loc`)\n",
    "    - $\\gamma$: scale (`gamma`)\n",
    "    - $n$: shape (`n`)\n",
    "\n",
    "- Note:\n",
    "    - $n=1$ is the normal distribution\n",
    "    - $n\\to\\infty$ is uniform distribution (range of $x$ is $|x-\\mu|<\\gamma$)\n",
    "    \n",
    "    $$\n",
    "    \\frac{n\\gamma}{\\Gamma(1/(2n))}\\exp(-\\gamma^{2n}(x-\\mu)^{2n})\\to\\frac{1}{2\\gamma}\n",
    "    $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1529e00d0>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loc = 0.0\n",
    "gamma = 1.0\n",
    "\n",
    "for n in [1,2,3,10]:\n",
    "    dist = distribution.GeneralNormal(loc=loc, gamma=gamma, n=n)\n",
    "    plt.plot(xs, dist.pdf(xs), label=f\"n={n}\")\n",
    "dist_uniform = distribution.Uniform(low=-gamma, high=gamma)\n",
    "plt.plot(xs, dist_uniform.pdf(xs), label=\"Uniform\", linestyle=\"--\")\n",
    "plt.legend()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Generalized Cauchy distribution\n",
    "- Probability density function\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{n\\sin(\\pi/(2n))}{\\pi}\\frac{\\gamma^{2n-1}}{(x-\\mu)^{2n}+\\gamma^{2n}}\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\mu$: location (`loc`)\n",
    "    - $\\gamma$: scale (`gamma`)\n",
    "    - $n$: shape (`n`)\n",
    "\n",
    "- Note:\n",
    "    - $n=1$ is Cauchy distribution\n",
    "    - $n\\to\\infty$ is uniform distribution (range of $x$ is $|x-\\mu|<\\gamma$)\n",
    "    \n",
    "    $$\n",
    "    \\frac{n\\sin(\\pi/(2n))}{\\pi}\\frac{\\gamma^{2n-1}}{x^{2n}+\\gamma^{2n}}\\to\\frac{1}{2\\gamma}\n",
    "    $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1577fb250>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loc = 0.0\n",
    "gamma = 1.0\n",
    "\n",
    "for n in [1,2,3,10]:\n",
    "    dist = distribution.GeneralCauchy(loc=loc, gamma=gamma, n=n)\n",
    "    plt.plot(xs, dist.pdf(xs), label=f\"n={n}\")\n",
    "dist_uniform = distribution.Uniform(low=-gamma, high=gamma)\n",
    "plt.plot(xs, dist_uniform.pdf(xs), label=\"Uniform\", linestyle=\"--\")\n",
    "plt.legend()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Muliplied Cauchy distribution\n",
    "- Probability density function\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{\\gamma_{1}\\gamma_{2}[(\\gamma_{1}+\\gamma_{2})^{2}+4\\Omega^{2}]}{\\pi(\\gamma_{1}+\\gamma_{2})}\\frac{1}{[(x-\\Omega)^{2}+\\gamma_{1}^{2}][(x+\\Omega)^{2}+\\gamma_{2}^{2}]}\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\Omega$: location (`Omega`)\n",
    "    - $\\gamma_{1}$: scale (`gamma1`)\n",
    "    - $\\gamma_{2}$: scale (`gamma2`)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1578f6ac0>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABymklEQVR4nO2dd3hU1daH3zMlmfSekF4oARIIvTeRLooKoui1oJ8oihe96tVrv4K9YO/YC9j1UqX3FiBACC2k994zmczM/v4YgpSEzCQzmSSc93nmmeScffZek5n8Zp+1115LEkIgIyMjI9PxUdjbABkZGRkZ6yALuoyMjEwnQRZ0GRkZmU6CLOgyMjIynQRZ0GVkZGQ6CSp7Dezr6ysiIiLsNbyMjIxMh2T//v1FQgi/xs7ZTdAjIiKIj4+31/AyMjIyHRJJktKbOie7XGRkZGQ6CbKgy8jIyHQSZEGXkZGR6STYzYfeGPX19WRlZaHVau1tiowV0Gg0hISEoFar7W2KjMxlQbsS9KysLNzc3IiIiECSJHubI9MKhBAUFxeTlZVFZGSkvc2RkbksaFcuF61Wi4+PjyzmnQBJkvDx8ZHvtmRk2pB2JeiALOadCPm9lJFpW9qVy0VGxp7oDUa2nSoiKbcCd42KcdH+hHo729ssGRmzkQVdRgY4nFXGg8sTSCmsPntMqUjizpER/HtKT9TKdnczKyNzEbKgy1z27E4p5vbP9+Lr6siHtwxgTA8/iqrq+GhLCp9uSyW5oIqPbx2Eg0oWdZn2jfwJbYS0tDSmTZtGdHQ0PXr04KWXXmpxX2vWrCE6Oppu3brx8ssvN9murKyMWbNm0bNnT3r16sWuXbtaPGZruPPOO/H39yc2NvaS7cx9Xe2d5IJK/u+reEK9nflzwUim9gnExVFFuI8LL13fhxeui2XTiUKe+SPR3qbKyDSPEMIuj4EDB4oLSUpKuuhYW2MwGMSAAQPEH3/8IYQQQqvViuuvv158/PHHFvel1+tFVFSUOH36tKirqxN9+/YVR48ebbTtbbfdJj799FMhhBB1dXWitLS0xa+hNWzZskXs379fxMTENNnGktfVHt7TptDpDWL6O9tE/+f/EtmlNU22e2X1MRH+2Aqx+khuG1onI9M4QLxoQlflGfoFrF27loiICK655hoAHB0dee+993j99dct7mvv3r1069aNqKgoHBwcuOmmm/jjjz8ualdRUcHWrVu56667AHBwcMDT07PRPk+dOkVERATJycmAaTNWXFwcWVlZFtvXGGPGjMHb2/uSbcx9Xe2dT7amcCS7nBev60OQp1OT7R6a2IM+wR488dsRymvr29BCGRnLaLc+9P/+7yhJORVW7bN3kDvPXh1zyTbHjh0jLi7uvGOBgYFUVFSg0+lwcHAAYPTo0VRWVl50/euvv86ECRMAyM7OJjQ09Oy5kJAQ9uzZc9E1KSkp+Pn5MXfuXA4dOsTAgQN5++23cXFxuaht9+7dmTdvHmvXrqVbt2689957zJgxg5CQkEu+LnPsNRdzX1d7prCyjg82JTOpdwBTYrtcsq1aqeDlmX2Y/u52PticzH+m9mojK2VkLKPdCrq9UCqVVFVVnXdMCEFNTQ0q1d9/rm3btjXbl+nu6Hwai83W6/UcOHCAd999l6FDh7Jw4UJefvllFi1a1Gi/sbGxrF+/npKSEpYuXcqePXtISUnhhRdeoLy8nJ9//vmia8yx11zMfV3tmXc3nqJOb+TxqT3Nah8T5MF1/YP5Ykcatw+PuOSMXkbGXrRbQW9uJm0rxo0bxy233MIrr7xyVqTWrVvHgAEDUCj+9lCZM+MNCQkhMzPz7LmsrCyCgoIuuiYkJISQkBCGDh0KwKxZsy650NijRw/ef/99nnvuOR555BFcXFyIiopi6dKlzJo1q9FrrDlDN/d1tVeKq+pYvi+TmQNCiPJzNfu6f03swR8JOSzdnsrT03vb0EIZmRbSlHPd1o/2uigqhBD/+Mc/xFNPPSWEECIvL0/ExMSIHTt2WNxPfX29iIyMFCkpKWcXDxMTExttO2rUKHH8+HEhhBDPPvuseOSRR4QQQowfP15kZWWd11an0wlfX18xdOhQYTAYzjs3c+ZMi+28kNTU1EsuilryutrLe3ouS9adEOGPrRCn8istvvbBZQdFr6dXi7JqnQ0sk5FpHuRFUfN5+eWXiY+PZ/HixWzcuJH58+eTnp7OfffdR1pamkV9qVQq3nvvPSZPnkyvXr2YPXs2MTF/33lMmzaNnJwcAN59911uueUW+vbtS0JCAk888QRGo5Hk5OSLFinVajXu7u68/PLL5901WIM5c+YwfPhwTpw4QUhICEuXLr3I3uZeV3tGW2/g613pXNnTn27+5s/OG5g3JooanYFl+zJsYJ2MTCtpSult/WjPM/T2wpEjR8RDDz3U6LnQ0FBhNBrP/l5UVCTuueceERUVJV588cW2MrFZ2tt7+uuBTBH+2Aqx41Rhi/uY9eEOccVrm877+8vItBVcYobebn3oMqbFzzfffPOi42lpaYSHh5+3EOnj48NHH33UluZ1SH6KzyLM25lhUT4t7mP2oFAe/fkw8emlDI64dIinjExbIrtcOiARERFWjVq5XMgqrWHn6WJmDghBoWh5VM5VfQNxdVSxfF9m841lZNoQWdBlLht+PZANwPUDglvVj7ODiqvjAll5OJcand4apsnIWAVZ0GUuC4QQ/J6QzbAob6ukxL06LojaegObTxRawToZGesgC7rMZUFyQRUphdVc1SfQKv0NjfTB19WBlUdyrdKfjIw1kAVd5rJgTWIeAJNiLr3N31yUConJMV3YeKyAWp3BKn3KyLQWWdBlLgtWJ+YxMNyLAHeN1fqc1ifwjNulwGp9ysi0BlnQZTo9GcU1JOVWMMVKs/MGhkZ64+msZv0xWdBl2geyoMt0ejYezwdgUkyAVftVKRWM6e7HlpMFGI0XJyyTkWlrZEGX6fRsOVlIpK8L4T4XpyNuLeOi/Siq0pGYU271vmVkLEUW9EawZgk6c0u6RURE0KdPH/r168egQYNaPF5r6Wgl85pDW29gV0oxY3v42aT/MT38kCTk8EWZdoEs6BdgNBqZOXMm9957LydOnODIkSPEx8fzySeftKi/O+64gzVr1pjVdtOmTSQkJBAfH9+isVqLwWDg/vvvZ/Xq1SQlJfHDDz+QlJTUaNuFCxcyZcoUjh8/zqFDh+jVq30WfdiXVoK23mgzQfd1daRvsAeb5IVRmXaALOgXYM0SdGBeSTdLsGUJOluUzLM3W04U4qBSMDTKdjlXxkX7k5BZRkm1zmZjyMiYQ/tNzrX6ccg7Yt0+u/SBqZeuUG/NEnSWIEkSkyZNQpIk7rnnHubNm9doO1uWoLNFyTx7s+VkIUMjvXF2sN1HfVy0H29vOMX25CKuies4hT5kOh/tV9DthDVL0FnCjh07CAoKoqCggIkTJ9KzZ0/GjBnTaFtblaATNiqZZy9yy2s5VVDF7EGhzTduBX2CPXB1VLHrdLEs6DJ2xSxBlyRpCvA2oAQ+E0I0Os2VJGkwsBu4UQhxsapYQjMzaVthzRJ0ltBQws3f35/rrruOvXv3NinotipBZ6uSefZiT0oJAMO7tjxVrjmolAqGRHqzO6XYpuPIyDRHs4IuSZISeB+YCGQB+yRJ+lMIkdRIu1eAtbYwtK2Ii4ujf//+PPPMMyxatIj8/Hz+9a9/XbQoas0ZenV1NUajETc3N6qrq/nrr7945plnALjyyiv5+uuvCQ7+O0Ng165dOXDgAOXl5bz11ltmjWGOvYMHD+bUqVOkpqYSHBzMsmXL+P777y9q16VLF0JDQzlx4gTR0dFs2LCB3r3bX43NPanFuGlU9Ap0t/lYw6N82Hi8gLxyLV08rLcbVUbGEsxZFB0CJAshUoQQOmAZMKORdg8AvwAdernfmiXowLySbvn5+YwaNYq4uDiGDBnCVVddxZQpU9q8BF1rS+a1N/aklDAkwhtlK3Kfm0vDXYA8S5exK02VMmp4ALMwuVkafr8VeO+CNsHAFkwumS+BWU30NQ+IB+LDwsIuKq3U3sqV2Ru5BF3LyS+vFeGPrRAfb0luk/H0BqPo8+wa8e+fDrXJeEIIIcoyhajMb7vxZNoFtLIEXWPTmwtXz94CHhNCGBpbRDvny+MT4BOAQYMGyXulm0EuQddy9qSa/OdDI23rP29AqZAYGuXDrraYoRuNsPIh2P8lSEq48hkY9aDtx5Vp95gj6FnAuWECIUDOBW0GAcvOCIwvME2SJL0Q4ndrGClzPnIJuubZk1qMq6OKmCDb+88bGB7lw7qkfHLKagnydLLdQNvfMIn5kHugMgfWPwsBMdB9ou3GlOkQmOOA3Qd0lyQpUpIkB+Am4M9zGwghIoUQEUKICOBn4D5ZzGXsye6UEgaGe6FStt3euSGRprWO/emlthukNB22vg69Z8C0V2HmUvDpDmufNM3cZS5rmv20CyH0wAJM0SvHgB+FEEclSbpXkqR7bW2gjIylFFXVkVxQZdPdoY3Rs4sbTmqlbQV9x9sgBEx+0fS7yhHGPQ5FJyB5ne3GlekQmBWHLoRYBay64FijDlshxB2tN0tGpuU0COrQyLYVdJVSQb9QT9sJek0JHPoB+t4AHufsDO51DTh5w6Fl0GOybcaW6RDIuVxkOh0HMkpRKyVigjzafOyB4V4k5VZQo9Nbv/MjP0N9DQy94MZY5QCx18OJVaCtsP64Mh0GWdBlOh0HM8qICfJAo1a2+dgDI7wwGAUJmWXW7/zIT+AfY8pJdCGxM0GvhdMbrT+uTIdBFnSZTkW9wcjhrDL6h3naZfwBoV4AHLC226U0DbL2Qp/GUzsQMgQcPeD0BuuOK9OhkAVdplNxIq8Sbb2R/mFedhnfw1lNd39X6/vRj/5meo6d2fh5pQqixkDyRtOiqcxliSzoMp2KgxkmIR1gpxk6wKAIL/anl1q3zuiJNRAYB17hTbfpeiVUZEHxaeuNK9OhkAW9EaxVgk6r1TJkyBDi4uKIiYnh2WefbbKtuaXfbI25JfPai70XciCjDD83R4JtubGnGQaEeVGh1ZNcWNV8Y3OoKTG5W7o3E8ESNtz0nLXXOuPKdDhkQb8Aa5agc3R0ZOPGjRw6dIiEhATWrFnD7t27L2pnSek3W2NOybz2ZO+FHMwoZUCYZ6N53NuKBneP1RZGT28EYYTuky7dzrcHaDwg8+KiJDKXB7KgX4A1S9BJkoSrqytgKhVXX1/fqNCYW/oNbFuCDswrmWeJvW1JSbWOtOIau/nPG4jydcHNUcXhrDLrdHhqHTj7QPCAS7dTKCBkMGTKM/TLlXZbseiVva9wvOS4Vfvs6d2Tx4Y8dsk21i5BZzAYGDhwIMnJydx///1ni0Kci7ml38C2JejMxRJ725IG/3n/UE+72qFQSMQGe3A4q7z1nRmNph2g3SaAwowwzJAhsPkl0JabZusylxXtVtDthbVL0CmVShISEigrK+O6664jMTHxIv+0MLP0WwO2KkFnLpba21YczChDqZDoG+Jpb1PoG+rB59tTqdMbcFS1Ih4+/wjUFJsWPM0hdAggICseupl5jUynod0KenMzaVthqxJ0np6ejBs3jjVr1lwk6OaWfmvAViXozMVSe9uKQ1llpnwqDm2/oehC4kI8qTcIjuVW0q81dwxp203PkaPNax/U3/Sce0gW9MuQdivo9sKaJegKCwtRq9V4enpSW1vL+vXreeyxi7+oLlX6rS1L0JmLuaXq2hIhBInZ5UyO6WJXOxroG2JydxzOKmu9oHt3BXczvzCdPMEzDPKOtHxMmQ6LvCh6AdYsQZebm8sVV1xB3759GTx4MBMnTmT69OlnzzeUdGuq9Ftbl6AD80rmNVeqzh5kl9VSWlNPTHD78BsHezrh6+rAocxW+NGNBkjbARGjLLuuS19Z0C9XmiplZOvHwIEDLyqtJJegOx+5BJ35rD6SK8IfWyEOpJe0yXjmMPeLvWLCG5tb3kH2QSGedRfi8E+WXbfpZSGe9RBCW9nysWXaLbSyBJ2MnZBL0JnP0ZxylAqJXoFtV6GoOfqGeLDpRAFVdXpcHVvwr5Z2xk1m8Qy9DyCgIOnMIqnM5YLscumAyCXoLiYxu5zu/q52ybDYFHEhnghhsq1FpG03VSNys3BdoCEbY97hlo0r02GRBV2mwyOE4Eh2hV3yn1+KcxdGLcagh/Sdls/OwVT8QuMJeYmWXyvToZEFXabDU1BZR1FVHbHB7cfdAuDjasopc6glG4zyDkNdhfnhiuciSeDXE4pOWn6tTIdGFnSZDk+DS6NPO4lwOZe4UA8OtSSnS4P/PLwFM3QAv2gotO5Oa5n2jyzoMh2exOwKJIl2tSDaQN8QT7JKaymt1ll2Ydp2U7Itt4CWDezX07TDtLqoZdfLdEhkQZfp8CTmlBPl64JLSyJJbEzsGb/+0RwLan0aDZCxG8JHtnxgv2jTszxLv6yQBV2mw5OYXU5sO3S3AMQEme4ajuZY4EfPTzT5z1uyINqAX0/TsyzolxWyoMt0aIqq6sgt156dCbc3vFwcCPZ0ItGSGXr6TtNzQ8GKluAeBA5uUHii5X3IdDhkQZfp0DS4MtrrDB1Ms/SjlsSip+8ArwjwCG62aZNIkrwwehkiC3ojXM4l6My1Y8mSJcTExBAbG8ucOXPQarVtaOXfNES49A5qfwuiDcQEeZBaXE1Vnb75xkKYZuit8Z834NcTCuXQxcsJWdAv4HIuQWeuHdnZ2bzzzjvEx8eTmJiIwWBg2bJlbW4vmHzT4T7OeDip7TK+OcQGuyMEHMs1w+1SdNIUnRI+ovUD+0VDVR7Ulra+L5kOgSzoF3A5l6CzxA69Xk9tbS16vZ6amhq75UM/kl3ebv3nDTS4g8xKAZC+w/RsLUEHeZZ+GdH+4rzOkPfii9Qds67/z7FXT7o88cQl21zOJejMtSM4OJhHHnmEsLAwnJycmDRpEpMmNVPA2AaU19STWVLLzUPC23xsS/B3c8TX1dG80MX0neDaBbwiWz/wuaGLYRd/7mQ6H+1W0O3F5VyCzlw7SktL+eOPP0hNTcXT05MbbriBb7/9ln/84x/NjmFNGkIB29uW/wuRJImYIPfmZ+hCmPKfh48wLWq2Fo9QUDpCcXLr+5LpELRbQW9uJm0rLucSdObasX79eiIjI/Hz8wPg+uuvZ+fOnW0u6IlnBL29JeVqjNhgd7YnF6GtNzSdEbIsHSpzrONuAVNRae8oKD5tnf5k2j3tVtDtxeVcgs7c0nJhYWHs3r2bmpoanJyc2LBhA4MGDTLLDmuSmF1BsKcT3i4ObT62pcQGeWAwCk7mVzZdxLoh/twaES4N+HSFolPW60+mXSMvil7A5VyCrrnScg32Dh06lFmzZjFgwAD69OmD0Whk3rx5VrPDXEw7RNu3u6WBhruIxOxL+NHTd4CT19+7PK2BTzcoSTGlE5Dp/DRVysjWD7kEXfPIJeiapqJWJ8IfWyHeWX/SJv1bG6PRKGKfXSP+8+vhphu93U+I7+dYd+D9X5vK2BWnWLdfGbtBa0vQSZI0BXgbUAKfCSFevuD8DGARYAT0wINCiO3W/eq5/JBL0DXNsVzTekB73iF6LpIkERvk0XSkS2WeaSY96C7rDuzTzfRcfBq8rRA5I9OuafZ+XZIkJfA+MBXoDcyRJKn3Bc02AHFCiH7AncBnVrZT5hzkEnR/x3THdBCXC5hSABzLraDeYLz45Fn/uZUWRBs4K+hypMvlgDkO2CFAshAiRQihA5YBM85tIISoOnMrAOACXBz/JiNjRRKzywlwd8TfTWNvU8wmNtgDnd7I6cKqi0+m7wQHV+jS17qDuviCo7ss6JcJ5gh6MJB5zu9ZZ46dhyRJ10mSdBxYiWmWfhGSJM2TJClekqT4wsLCltgrIwOYQhbb+w7RC2lYwD3a2MJo2nYIHQpKKweeSZIp0kUW9MsCcwS9sR0OF83AhRC/CSF6Atdi8qdffJEQnwghBgkhBjXEMMvIWEqtzkByQRUxHcR/3kCkrytOauXZ+PmzVOZD4TGIHGObgX26ybHolwnmCHoWEHrO7yFATlONhRBbga6SJPm20jYZmUY5lleBUUBsO86w2BhKhUSvQLeLZ+gN9UOjxtpmYJ9uUJ4J9bW26V+m3WCOoO8DukuSFClJkgNwE/DnuQ0kSeomnQm5kCRpAOAAFFvbWBkZ4Gxu8Y4S4XIuscEeJOVWYDSec5Obshk0Htb3nzfg0w0QUJJqm/5l2g3NCroQQg8sANYCx4AfhRBHJUm6V5Kke880mwkkSpKUgCki5sZzFkllZKzKkexyfFwcCPToOAuiDcQGeVBVpye9pObvg6lbIWK0aau+LfDpanoukd0unR2zVmCEEKuAVRcc++icn18BXrGuaTIyjZOYXUFMsMclE5i1VxrCLI9klxPp6wKlaaYcLsMX2G5Q7zOCLi+Mdnrkrf8yHYo6vYGT+ZUdzn/eQHd/NxyUir+LRqduNT3bakEUQOMOrgGyoF8GyILeCNYqQQdw55134u/vf1GGxQtpLyXdzC1B9/bbbxMbG0tMTIzZCcKswcm8KvRG0SH95wAOKgXRXc5ZGE3ZYhLbhtzltkKOdLkskAX9AqxZgg7gjjvuYM2aNZds015Kuplbgi4xMZFPP/2UvXv3cujQIVasWMGpU22T0a8h5K9PBxV0MMWjJ+aUI4xG0ww9cox18p9fCjkW/bJAFvQLsGYJOoAxY8ZclC2xMcwt6dYeStAdO3aMYcOG4ezsjEqlYuzYsfz222+tHt8cjmSX465REeLl1Cbj2YKYIA/KaurJO30Iqgts625pwKcbVBdCbZntx5KxG+02H/q2H09SlNnIFulW4BvqyujZPS7Zxtol6MzBkpJu7aEEXWxsLE8++STFxcU4OTmxatWqNsuHfjS7nNgOuiDaQIO7qPzwSgIBul5p+0EbcrqUnIbggbYfT8YutFtBtxfWLkFnDpaWdLN3CbpevXrx2GOPMXHiRFxdXYmLizvvb2Mr6g1GjuVVcseICJuPZUt6dnFDqZBwSt8E/r3B46JMGtanQdCLkmVB78S0W0FvbiZtK2xVgu5SWFrSzd4l6ADuuusu7rrLlOr1iSeeaPYOwRokF1Sh0xs77IJoAxq1kr5+CoLLEyD2vrYZ1CsCJIXsR+/ktFtBtxfWLEFnLpcq6dYeS9ABFBQU4O/vT0ZGBr/++iu7du0yy47WcKQhZW4HDVk8l2vck1GV6xHdJjSaLMnqqBzBMxyK5XJ0nRl5UfQCrFmCDmDOnDkMHz6cEydOEBISwtKlS8+ea66kW3stQQcwc+ZMevfuzdVXX83777+Pl5eX1exoisTsclwdVUT6uNh8LFszwniQKqGhwKt/2w3q002eoXd2miplZOuHXIKueeQSdOdz7fvbxQ0f7bRaf3bDaBTaV3uKNU+NF+uO5rXduKsfF2JxFyEMhrYbU8bq0NoSdDL2QS5B9zd6g5FjuRXcMjTc3qa0nsITOFbnsMU4Ff+ccib0DmibcX26Qn0NVOaAh+3XPGTaHtnl0gG5HEvQnS6sRltv7NAbis5ycjUAqV4jSGys2IWt8OluepbdLp0WWdBlOgRHOnDK3Is4tgIC+xEQ0vXvnC5tge8ZQS+SF0Y7K7Kgy3QIErPLcXZQmjIUdmQqciA7HnpNJzbYg9xyLUVVdW0ztlsgqF3knC6dmHYn6EJOo95psOZ7eSS7nJggd5SKjrtDFIDjK03Pva4h5kxN1KM5beR2OVtfVJ6hd1balaBrNBqKi4tlUe8ECCEoLi5Go2l9EQqDUZCUU9FJ3C3/M/my/aLpfSaePjG7jd0ussul09KuolxCQkLIysqisLDQ3qbIWAGNRmOVHaSnC6uorTd0/AXRmhJI2w4j/wmAh5OacB/nthV0n26Q+Cvo60ybjWQ6Fe1K0NVqNZGRkfY2Q6adkdhZFkRPrgVhgJ5Xnz0UG+zB4ayytrPBpzum+qIp4N+r7caVaRPalctFRqYxjmSX46RW0tXP1d6mtI7En8EjFIL+3h0aG+RBZkkt5TX1bWODb0OSLtnt0hmRBV2m3ZOYXU7vjr4gWlUIpzdBnxvgnHQNsWdqjLZZ+KKd64saq6up2b+f2iNHEHq9XWzozLQrl4uMzIUYjIKjORXMHhTafOP2zNFfTe6WvrPPO9wQ6ZKYU86Ibr62t0PjDq5d2lzQjXV1FL7zDqXffIvQ6QBQ+fnh//hjeFx1VZva0pmRBV2mXZNaVEWNztDx/eeHf4SAPhf5rb1dHAj2dOJIK3eMCiEozq4iN7kcnVaPs7sjYTHeuHg0svDp271NBd1QUUHG/92N9vBhPGbMwH3aVAxVVZR89TU5Dz+CLj0dv/vaKI1wJ0cWdJl2zd87RDtwytzi06bNRBOfb/R0bLA7R1qxMJp9spSdv56mIO38LwVJIREzOohh13bF0emcf3WfrpD0Z4vHswSjVkvmPfeiPXaM4Hfexv2cSlzukyeT++RTFL3zLuqAADxnzmwTmzozsqDLtGsSsyvQqBV068gLokd+AiSIbbz4SN8QT9YezaesRoens4PZ3RoMRnb+nMzhTVm4+WgYc1MPIvr64uSmpryglsSt2SRuzSbreClX/zMOd58zdVh9ukNtiSmM0rn5eretIf+ll6k9eJDgt946T8wBJJWKwBcWoy8sIG/RYpwHDcIhvBMkX7Mj8qKoTLvmUGYZvQPdUSk76EfVaIAD30DU2CZLzfUP9QTgcJb5C6O6Wj0r3zvE4U1Z9L0ihDnPDqXPuBDcvDWo1Ep8gl0ZOyeaax/qT02Fjt/eOEB1+ZkUAw3l6GzsdqlY+xdly5fj83934T5lcqNtJJWKwJdeQlKryX3qaXlTYSvpoP8lMpcD9QYjiTnl9Au1ffEMm5G8ASqyYODcJpvEhnggSZCQWWZWl3W1en5fcpCsE2WMv60no2/sgdpB2Wjb4B5ezHiwH9qqelZ9eARDvbFNknQZysvJ++9/0cTG4rdw4SXbqgMC8H/kEWr27aNy3Tqb2XQ5IAu6TLvlRF4l2nojcaEdeEF0/xfg4g89m47kcNeo6ernyiEzBL1eZ2Dl+4cozqpi2r196DWi8Zqv5+If7s7EuTEUpFWwd0WKqRSdQmXTnC4Fb72FoayMwMWLkNTqZtt7zrweh25dKVzylhzO2ApkQZdptxw6s1DYv6PO0Muz4eQa6P8PUF5a1PqFepKQWXZJl4PRYGTtJ4nkni5nwp29iehrfphjVH8/eo8K4sBfGeSlV4NXpM1cLtqkJMqWLcfrH7eg6dnTrGsklQr/Bx9El5pKxapVNrHrckAWdJl2S0JGGd4uDoR6O9nblJax/wsQAgbc1mzTuFBPiqt1ZJXWNtlm9x8ppCcWM3ZONN0HWV7laOSsbri4O7Bt+UmETw8oPGlxH+ZQ8OYSlO7u+D3wgEXXuV55JQ7dulL8+ReyL72FyIIu0245lFVGXIjHeaX2Ogy6Gtj3mcnV4t18fqJ+IZ7A33clF3L6QAEH/8ogZnQQsWMaX1xtDgeNiuHXd6MgvZITtWOg5DTodS3qqymq9+6levt2fObNQ+nmZtG1kiThM3cudcePU7Nrl1XtulyQBV2mXVKpredUQVXHXRBN+A5qS2H4ArOa9wx0w0GlICGj7KJzJbnVbPjqGAGR7oye3aNVZvUYHEBApDu7k7qiN0gmUbcSQggKl7yFKiAAr1tublEf7ldfjdLXl+IvvrSaXZcTsqDLtEuOZJcjBB1zQdRogN0fQPBACBtm1iVqpYLYIPeLZui6Wj2rPzqCykHBlHmxKNWt+5eVFBLDZkRRXa3kWM0EKDjWqv7OpXrrVmoPHsT3vvtQtDAPvsLBAa8bb6R6+3Z0WdlWs+1yQRZ0mXZJQwhfvzMx2h2KY3+a0tMOX2CqEmQm/UK9OJJdjt5gBEwz3g1fHaO8sJbJd8fi6tX6YiEAwdFeBEa5caD6egx5J6zSpxCCog8/Qh0cjOf117Wqr4bry3/9xRqmXVbIgi7TLjmUWUaEj7NFOyfbBUYDbH4ZfHtA7xkWXRoX6oG23siJ/EoADqxNJyWhkBHXdyW4h/VcT5IkMXh6V6qMvhw/Yp0Qwdr4eGoTEvC+606zwhQvhTo4GJdRoyj75Vc5hNFCzBJ0SZKmSJJ0QpKkZEmSHm/k/C2SJB0+89gpSVKc9U2VuZxIyCzrmLPzo79B4XEY9zgoGt/s0xQNr/dQZjmZSSXs+SOF7oP8ibvS+pkmQ3p54etaxKG0blaJKCn65FOUPj54Xn+9FawDzxtmoc/Pp2rbNqv0d7nQrKBLkqQE3gemAr2BOZIk9b6gWSowVgjRF1gEfGJtQ2UuH3LLa8mvqCOuowm6QW+anfv3ht6Wux3CvJ3xclZz5GQRfy09ilegC1fc2ssmUT6SJBHXq4TSugCyEgta1Zc2KYnqbdvwvu22FvvOL8TtiitQ+vhQ/utvVunvcsGcGfoQIFkIkSKE0AHLgPPuJYUQO4UQpWd+3Q20vpCkzGVLQ6RHh5uhH/jStPvyiifOK2JhLpIk0S/YA9f4MoxGwdR7+qB2tGyWbwndB/ripCjj0LrW7Rgt+vRTFK6ueN08x0qWgaRW4z5tGlVbtmCoaF1q4csJcz51wUDmOb9nnTnWFHcBqxs7IUnSPEmS4iVJipcLQXdu6nUGCjMryT1dTll+DQa90exr96eX4qBS0DuoA6XMrS2FjS9AxGjoOb1FXQghGFAo8KyDEbf0wDPA2cpGno+yS09indaQflJHWX5Ni/rQpaVRufYvvObMsTjuvDk8rp6O0Onk/C4WYE763Mbu9xp1ukmSdAUmQR/V2HkhxCeccccMGjRI3grWyRBGQfL+Ao5uzybnZBnnumZVagXB0V5ED+1C1AA/lJfInhifXkq/EE8cVbabnVqdLa+CtgymvGRRZMu5HNmcjSKthh2O9fR2UxBjXQsvxrc7MS7ria+5kaQdOYy4vpvFXRQvXYqkVuN9e/O7YS1F06cP6rAwyleskHOlm4k5gp4FnLsqEwLkXNhIkqS+wGfAVCFEsXXMk+kolOZVs+7zJAozKvHwd2LA5HB8Q91w0CipqdRRkF5J+hGTb9jlF0cGXxVBr5FBKC6oE1qrM5CYXc7dY6Ls9EpaQE4C7PkYBtwOXfq0rItTpez46RShsT7syc6mf1oJV0T7W9fOC1E54uLnTYQhg+O7HBh6TRRKlfmuovr8fMp+/wOvG2ah8rV++TxJkvCYPp2iDz+kvqAAtb+N/x6dAHMEfR/QXZKkSCAbuAk4bxuYJElhwK/ArUII2ySIkGm3nD5YwPovklA5KJkwtzc9BgcgXSDUPYcFIm7oTvrRYvavTmfzdyc4sjmb8bf1xD/8b9fKoawy9EbB4IgOskNUr4M/7gcXP5jwXIu6qCzRsuaTRNz9nJhyVwxLl1ayL620+QutgX9PeleuJ7U4nLTDRXQdYL5olnz5FRiNeN95p83Mc58+naIPPqBi1Sp87rjDZuN0Fpr9OhZC6IEFwFrgGPCjEOKoJEn3SpJ075lmzwA+wAeSJCVIkhRvM4tl2hUnduey9pNEfENcufHJIUQP7XKRmDcgKSQi+vhy/aMDmHx3LNrqen5+ZT97/pdy1scen1YCwICwDiLo25dAfiJMXwJOnhZfrtcZWPPxEfT1RqbN74ODk4qB4d4cyixDZ8G6Q4vxjyGsbjWung4k7bjoxrtJDGVllC1fjvu0aTiE2C4GwjEqEk1MDBUrVtpsjM6EWfdXQohVQogeQoiuQogXzhz7SAjx0Zmf/08I4SWE6HfmMciWRsu0D1IPF7H+q2ME9fDimoX9cfVqpCBxI0iSRLeB/tz09BB6DA4gfmUav71xgMoSLfvSSukR4NoxNhSl74QtL0Of2dBzmsWXC6Ng/ZfHKMioZOLc3nh1cQFgcIQXdXpTcQ+b06UPCslAzz6QkVRCRXHT2R7PpeS77zDW1OBz9//Z2EDTLF2bmIguLc3mY3V05J2iMi2iKKuSv5YexS/Ujavu69ui8DqNi5oJc3sz+e5YSnKr+fGFfRScKmNQhG3rXFqF6iL4+S7wioCr3mhRFzt/O83pAwWMnNmNyDi/s8cHnnE37W8Lt8sZn3+voBQAju3MbfYSY00Npd98i+sVV6Dp0bpkYebgPnUKABWrGw2ekzkHWdBlLEan1bPmk0QcNcoWi/m5dBvoz+z/DEbpouKqUiXRhQaEsR0HQel18NMdUFMMN3wJGsvDK49sziJhXQZ9xoVctBPU301DuI8z+864n2yKZxg4euBenUBoTy9O7M5r9m9f9vPPGMrK8Ln7btvbB6i7dMFp0EC58IUZyILeQSmvKyejIoOi2qI2Lwaw/adTlBfWMvHOGFw8zXOzNIdngDOKSV04qjZQdaCEFe8fRltdb5W+rYoQ8L9/Qto2uOZdCLQ8y0Xy/gK2LT9JRF9fRs3u3uhO0EHh3uxPL7X9eytJ0CUW8o4QPSyQymItuafLmmwudDqKP/8C50GDcB7Q3+xhtHotWZVZ5FblUm+w/H11nzaNulPJaE/KMReXwpwoF5l2QnFtMd8d+441aWvIrPx7r5e3xptxoeOY03MOPb3NK/nVUlISCjm2I5cBU8IJjrbuwuX+rDL2Byi4f0wPti0/xU8v7WPKvD74hVl3w0qLEQLWPQOHfoBxT0DcjRZ3kXqokHVLjxIQ6cGku2IuCttsYFCEF78cyCK1qJooP9fWWn5puvSBA98QdYs3akclx3fnEdS98fe2fMVK9Hl5BC56vtlua+prWJm6kt+Tf+do0VEMwgCARqlhSOAQboy+kdHBo81KbeA+eTL5i1+gYtWqNnHzdFRkQe8ACCH46eRPvLn/TWr1tQwPHM6sHrPwc/KjQlfBocJDrEldw6+nfmVi+ET+M+Q/+Dn7Nd+xhei0erYtP4l3kAtDrm6+Co8lCCHYm1rC4EhvYseE4BvqxtpPEvnltf2MnRNNrxGBVh2vBQaaxHznOzD4bhj7b4u7SD9azJpPE/ENdWX6A3GXdFUNPrOOsCe1pG0Evb4adXUGXQf4kby/gDE39kDlcL59wmik+LPPcOzVC5dRje4dNLUTgpWpK3kz/k0Kawvp4dWDO2PvJNQtFIHgZOlJ1qWv4/4N9zM0cCj/HfFfgl0vXYVJ5eODy7BhVKxejd/ChR2zilUbIAt6O0dn0PHMzmdYmbKSYYHD+M/Q/xDlcf6mm1t63UKFroJvk77l88TP2Z27m0UjFnFl+JVWtWXfyjSqSuu4/q6YS+70bAnpxTXklmsZ3tUHgC6RHsx+YjBrPzvKxq+PkZ9azujZPVpd4KFF6HXwv4Vw6HsY/H8w7TWLd4OmHipk7adH8Q504ep/9sPR6dL/el39XPBzc2TX6WLmDAlrjfXN07AZKu8w0cOu4PiuPFIPFdF98Pl1SyvXr0eXkkLwm280KaiVukqe3fks69LXEesTy6tjXmVgwMCL2j888GF+OfULbx94m5tW3MRbV7zFwICBlzTT/app5D75FNqjSTjF2nwfbYdE9qG3Y7R6LQs3LWRlykoW9FvAxxM/vkjMG3B3cOe+fvfx89U/E+4WzoObH+SDhA8wCuvEMhdnV3FoQya9RgYS2M3TKn2ey87Tps3FwyNcoaYEdNU4uaq55p9xDJgcztFtOfx6JrSxTanIhW+uNYn52Mdg2usWi3nSjhxWf3QEn2AXrlnYD41L8/nCJUliRFcfdp4utr0f3a8nKFSQd4Tg7p64ejlyfHfeeU2EEBR/8inqsDDcJk1qtJv0inRuWnETGzM28vDAh/nuqu8Y1GVQo+KvVqq5qedNLJu+DE9HT+7+6262Z2+/pJluEyaAWi0vjl4CWdDbKUZh5N9b/82O7B08O/xZ7om7B4XU/NsV4RHBl1O/ZEbXGXx46EP+u+u/GIyGVtuz4+dTOGiUjLjO8nwfl6T4NGx7g0Gbb+WQZh5dP4qCVyPhxSBYHIDioxEMr3+eqeMyKM2p4McX95F5rA2iP4SAY/+DD0dA9gG4/lNTFkULxFwIwf41aWz65jghvbyZ8VB/nFzNj68f0dWHoqo6kguqWvIKzEflaBL1vMNIConooV3ITCqmurzubJOqLVvQJibic/f/Iakuvrs4WnyU21bfRqWuki+mfMEdsXeY9XkNdw/n22nf0s2zGw9uepD4vKb3JCo9PHAdOZKK1asRxjbYdNUBkQW9nfLWgbfYlLmJx4Y8xqwesyy61lHpyKKRi7in7z38eupX/rPtP9QbWx4xkplUQuaxUgZNi0Dj2rpqNGcpPAHL/wHvDoQNz6OvrSDR8woY/zRMecW0jX7oPPCOhJyDRB1fyGz3+3GuS+XPtxPY9s4v6HNOgC1mr4Un4LsbTPZ5hMA9W6HvbIu6qK8zsG7pUXb/nkL3wQFcdV9fHDSWeThHdDXlR2m4e7Epgf0g5yAIQfSwLggBp/blA2fKy737HuqQEDyvvfaiS48UHuHONXeiUWr4eurX9Pc3P/oFwMPRg48mfkSQaxAPbX6I7Kqma4m6XzUNfW4utQkJFo1xuSD70NshK1NW8kXiF9wYfSM392xZ9XRJkljQfwHOameW7F+CJEm8NPols2ZN5yKMgp2/JePmraHPWCts8TYaTJkJt70BamcY/TApEbOZ9mkyr47sC4ObqM5TkYtn+g5mJe9g194UDieNIeOFPUwIepCAmEiIugKixoFrCxeDjUbI3A273ofjK8HRDSa/CEPmgdKyL7HSvGrWfnqU4pwqhl/Xlf6Twlq0iBfq7UyIlxM7Txdx+4gIi6+3iOABkPAtlKXj1SUC/wh3ju/Oo9+EMKo2bUJ79CiBL7xwUXm5jIoMFmxcgJfGi6+mfEWAS0ATA1wab403745/lzkr5vDQpof4eurXaFQXF8twvWI8kqMjFStX4TxgQIvG6szIgt7OyKzMZNHuRfT378/jQx5v9Wr+nbF3YhRG3j7wNu4O7jwx9AmL+jwVn09RZhUT5vZu/YJkTQn8PBdSNpu2y09+EVz92LYzDeDsgmijuAdCn1mo+8xizHUQuTeJjcv1/JL5MLFlGxh64J84KmogoA9EjYXQIeAbDd5RoGrEzWE0QkU2ZO+HjF0m90pFNmg8YcwjMPRecLEsg6AQgsQt2ez8JRmlg4LpC+IIj7nEazKDEV19WHs0H6NRNBniaBWCzyxIZu8Hrwh6DuvC1mUnKcyspPLd91CHheEx45rzLinRljB//XyMwshHEz5qsZg3EO4ezstjXmbBhgW8tu81nh7+9EVtlK4uuI4bR8XatQQ88R8kZQdKsdwGyILejtAb9Ty+7XEUKHh59MuoFI2/PUKvR5eaiqG8HMnJCYfwcJSuTYe23RV7FxV1FXxx9AvcHd15oP8DZtljMBjZ82cKvqGu9Bjcun9Wqgrh6xmmij7XvAsD/s6fvfN0ESFeToR6m1/QIXRIb27q04Pdv58mcetEkg2TGNYnjZ78imLPx7DrPVNDSQFO3uDsDSoNGHRQXwOVeaafwXQ8apzJzRM9DRwtDxMszqli2/KTZJ8oIyzGm/G39cLFo/WbrkZ09eXH+CySciuIDfZodX9NEhADSkfTekHsTLoN8mf7T6dI/HEPXY4dI+iVl8/zndfqa1mwYQH5Nfl8NukzIjwirGLGmJAx3Nb7Nr5K+orxYeMZGTzyojbu06ZRuXYtNfv24TJsmFXG7SzIgt6O+CbpGw4XHua1Ma8R5Bp00fnahARKvv6Gyk2bELXnJFFSKND0icVjxgw8Z8xA4eJy3nWSJPHQwIeo0FXwyeFPCHAOYHZ08z7hE7vzqCjSctX9fZvMoGgWVYXw5VVQlgG3/GQSzzMYjILdKSVM6m35F4ajk4qxc6LpPTKIrctOsmlPOAldnmTw5CC6hhahKEmGolNQXWiqKKTXgtLBJODuQaZt70H9TLP6xmbxZlBToWP/6jSObMnGQaNk7M3RxIwOslqcdMNdy67TxbYVdKXatOs1ez8ATq4OhMd6k3wgg5CISNyvuupsU71Rz7+3/JvEokSWXLGEfv79rGrKAwMeYHv2dp7Z8Qy/zvgVD8fzX7fr2DEonJ2pWLlKFvQLkAW9nZBZmckHCR8wPnQ8UyKnnHdOX1pK3vPPU7l6DUoPDzxmXIPzgAGofH0xVFdTd+wYlZs2k//8IorefQ+/hx7Ec+bM825HJUniqWFPUVBTwIt7XiTINYhRwU1vDjEajOxfnYZfmBvhsa1wG+hq4IcbTWL+j18g4vwZ16GsMspr6xndo+UbofzC3Lj+0QGcPlDIvpWp/PVVMp4BzvQZN4Lo4dc3G/PdEipLtBxan8nRbdno9UZ6jwpi2Iwoi6JYzCHAXUNXPxd2nC6yfdGP4IGw/0tTsWulilApk1SlC/WzHzg7OxdC8PLel9mctZknhj7BlWHW3esApkX9F0a/wD9W/oPX9r3G4lGLzzuv0GhwvfJKKv/6iy5PP4Xk0AEyc7YRsqC3A4QQLN69GKVCyX+G/ue8czUHD5L94EMYSkvxvf9+fO6ce9EMnIkT8X3gAWoPJlDwxhvkPfMs5b/+RtDrr+MQ8vcOPJVCxetjX+f2NbfzyJZH+GrKV0R7Rzdq08l9+VQUaZk2v/FcI2ZhNMJv95hu42/89iIxB9h8ohCFBKO7ta7iTUNK3q79/Ug+UEDC+ky2LT/Jrt9P062/H1ED/Ant5YVK3XKfq65WT/rRYo7vyiUjqQRJkogeEsDAqRE2rf85ursfy/ZloK03oGmF/c0SPBD2fAiFxzB6dMPhhzdxiH6YDH0Yvc80WZq4lOUnljM3di5zelqvKPSFxPjEcHvM7SxNXMp13a+7aNOR+7SpVPzvf1Tv2oXr2LE2s6OjIQt6O2Bl6kp25uzkiaFP0MWly9njVTt2kHX/AlT+/kQs+wFN795N9iFJEs4D+hP+7TdU/PkneYsWk3rddQS98jJu48efbeesdua98e9x86qbuX/D/Xx/1ff4O59fpcZoFMSvSsMnxJWIvq0Q2t3vw7E/YdJi6NV44eQtJwuJC/XEy8U6syxJIdF9UADdBwVQkF5B4tZsUg4Wcnx3HipHJUHdPAjs6oF/hDueAc64eWkadScZjYLqsjqKs6sozKgk51QZOafKMBoELp6ODJoaQa8Rgbj7OlnF7ksxLtqPL3emsTulmHG2LEsXfCZqJHs/Jb/vwJifS7dZHhw/XIS2up51eWt4+8DbTIucxoMDHrSdHWeY13ceq1JXsXj3Yn68+kfUir8jbFxHjkTh7k7FqtWyoJ+DLOh2pqa+hjfj36SPbx9m9/jbr121dStZ9y/AoWtXwpZ+hsrHPLeHJEl4zJiB08CBZD/4EFn3L8D/3//G+47bz860A1wC+ODKD7ht9W0s2LCAL6d8ibP67xlmcnw+5QW1TLkntuWz86z9sP456HU1DF/QaJPiqjoOZ5Xx4JW2SbbkH+7O+FvdGTsnmuyTpaQmFJGTXMaeP1PPtlGoJDQuahydVCiUEga9oL7OQE2F7u80shJ4B7oQNz6UiL4+dOnqaduIkwsYFuWDRq1g84lC2wq6dxQ4eaFP2kHxJwdwnXAlsdfGkfTCPv5av5tny59hSJchLBq5yOLw15bgrHbm8SGPs3DTQr4/9j23x9x+9pzk4IDbpIlUrl6Dsa4OhaN1sn52dGRBtzNLE5dSWFvIkiuWoFSYbqdrE4+S9eBDOHTvRvgXX6D0sHwxzCEkhPBvvibnsccpeOUVdBnpdHnqqbN+9WjvaF4b+xoPbHyAR7c+yttXvI1KoTo7O/cOciEqroV+bW2FKTzRLQiuea/J3ZXbk4sQAsZGWz+R2LkoVQrCevsQ1tv0paitrqc4q4qyghrKC2upq9FTV1OPMJoEXqVW4OLhiKu3Bq8uzviFuVm8KciaaNRKhkf5sPlEAWDDHCaSBGHDKfxpF8Y68P/XwziGuuEaqObg9hQiRkWw5IolOCjbzmd9RegVjAkZw/sJ7zMtctp5Sec8pk2j/OdfqNq6FfeJE9vMpvaMLOh2JKcqh6+OfsW0yGnE+Znyatfn5pI5/15Unp6Effxxi8S8AYWTE8FvLaHgjTcoWfo5xupqgl588ewC15iQMTw59EkW7V7Ey3tf5smhT3L6QAGleTVM+r+Ylke2rHsGyjPhzrWXrLO5+UQh3i4O9LVl9EYjaFzUBEd7WT39ry25oqc/m/44SmpRNZG+Ls1f0EJqjV0pSzqI140zcYyKJK86jx2uK4nLncQrsUtwd7C8mEdrkCSJxwY/xow/ZvBewnv8d8R/z55zHjIEpbc3FatWyYJ+Bnnrvx1Zsn8JEqaQQjAVD8h+8CFETS2hn3yMyq/1M1dJoSDg0Ufxe3AhFX/+j+yHH0HodGfPz46ezdzYuSw/sZwvEr8kflUaXl2cLar+fh6p22D/FzD8ftPmniYwGgVbTxYyurtvm7ovOirjepjeD9Ms3TYIg4G85QdQaoz4TYuhQlfB/PXzOekTj6SAogS9zca+FGHuYdzc82Z+O/UbJ0pOnD0uqVS4T5lM1abNGKur7WJbe0MWdDtxsOAga9LWcEfsHWcXQgveXELtoUMELl6EYzfrJsHyvfde/B9/jMq1a8la+CDGc0T9wQEPMiViCr+vW09JTjWDpkW0TGR1NfDnAyZf7LgnLtk0IauM4modV9jSJ9yJCPNxJsrPhY3HbSfoZT/9hPZkKgGDtBiK9rNw40LSKtJ4ZfILRPTx5cTePIwG+yTFmtd3Hu6O7ry277Xzsk+6T5uG0Gqp3LTZLna1N2RBtwNGYeSVva/g7+TP3Ji5AFRu2kTJl1/idcstuE+dapNxfe64gy7PPkPVpk1kPfAAxjpTNj2FpGDRyEWMyr+Wck0hlaFNJ0e6JFtehtJUuPodcLh0GN/ao3moFJIs6BYwPtqfPSklVGqtX5pPX1REwZtLcB42DNdRcTyZt5H4/HgWjVzE0MCh9BweSE25jsxjbVC4uhE8HD2YHzefPXl72Jq19exxpwEDUAUEyAWkzyALuh1YkbKCo8VHeXDggzirnTFUVpL37HM49uiB/2OWV8KxBK85c+jy3/9SvWXreaKel1SFS7kPGd0OsHDLQlLLU5vp6QKKT8OuD6D/PyBy9CWbCiH462g+w7v64OFspeyNlwGTY7ugMxjZdKLQqv0KIch97jmEVkvAM0/zqrsja1R6Hup7L9OjTOGm4bE+aFzVHNuZa9WxLWF29Gwi3CN4Pf71s9lDJYUC96lTqd66FUNFhd1say/Igt7G1OprefvA28T4xHBVlGk7dcHrb6AvKiLwhcUo2mDXm9eNs+ny/H+p3rqNrAUPYNBq2bcqDTcfDf/5x/0oJSXz18+nuNaCtK1rnzRtqb/y2WabniqoIrWomkkxXZptK/M3A8K88HV1ZG1iXvONLaBixUqq1m/Ab+FCvq3eyPeVJ7i1vIK5Tn/vTFWqFEQP6ULqoUJqKnSX6M12qBVqHh70MGkVafx04qezx92vugpRX0/F6jV2sas9IQt6G/NN0jcU1BTw6OBHUUgKqvfupWz5crxvuw2nPn3azA6v2bMJXLyI6u3bSViwmIK0CgZOCSfcM4z3xr9HcW0x966/lwqdGbOe5A1wcjWMfRRcm3eh/HXUJEgtyd9yOaNUSEyKCWDTiQK09a0vWgJQX1BA3uLFOPXrx9aRHqaNQ+GTeaRCi5S29by2vUcHYTQIju+y3yx9bMhYhgYO5cNDH579bGpiY3Ds0YOyX36xm13tBVnQ25Ci2iKWHlnKlWFXMjBgIEatlrynn0EdEoLfP83LgGhNPGfNInDxIo5VhaER1fTobwrj6+PXh7eueIvTZaeZv34+NfU1TXdiqIe1T4BXpCnlrBmsPZpP/zBPAtwvznctc2mmxHShRmdg26miVvcljEZyn3wKodWS8c8Z/HfvIkYEjWDx6JdQhI+A0xvPa+8d6EJQd0+Obsv+e9NVGyNJEo8OepTyunI+Pfzp2WOes2ahPXwY7YkTzfTQuZEFvQ35IOEDdAbd2W3TRe9/gC49ncDn/4vC2Xa5QC5FdZ/xlHt2IzR5Fbn/XIDxTBbHkcEjeW3MaxwtOso/N/6TOkNd4x3Efw6Fx2HyC6ZSZs2QXVbLkexyJsvulhYxvKsP7hoVa6zgdin5/HOqt22j4p6ZLDz9Cr19erNk3BLUSjV0HW96X8uzzrsmdkwwFUVaMo+3QRnAJoj2jubabtfy3bHvyKzIBMDjmquRHBwo+/nynqXLgt5GnC47zS+nfjEt7HhEoE1Kovjzz/G4/npcRoywm13xq9JwcndgwPzJVO/aTeZ9950V9SvDr2TRyEXsydvDvzb/C53hAt9pTQlsetGUDjd6mlnjrTiUA8DUWFnQW4JaqWBC7wDWH8tHp295CGHNgYMULHmLurGDmO/6Gz28evDRxI/+TgHR9Uz+n9Obzrsuqp8fTm5qjm7NafHY1mBB/wWoFCqWHFgCgNLTE7cJEyj/88+zC/2XI7KgtxFvxL+Bi8qFe+PuRej15D71NEovLwJsHNVyKfJSysk6Xkr/CWH4zrqWoJdfomb3HjLn/y3qV3e9mqeHPc3WrK0s3LQQrV77dwebX4K6Cpj8ktnFk39PyKFfqCfhPrbb7djZmd43kPLaeracbFm0i76khOyHH8bo780Dg5OI9Izik4mfnL8L1L83uHaB0xvOu1apVtBrRCCph4uoKrWfcPo7+3Nn7J2sS1/HgfwDAHjeMAtjeTmV69bbzS57Iwt6G7ArZxfbsrdxd9+78dJ4UfLll2iTkujy1FOt2trfWuJXp6FxURMzxlRMw2PGDIJeeZmavXvJvHc+xhqT73x29GyeGf4MO7J3cP+G+00+9YJjsG8pDLoTAprOAnkuJ/MrOZZbwbX9Li7eIWM+o7v74ePiwO8HLd8vIHQ6sh74J/XFRTwztRJfvzA+nfTpRUUkkCTTLD1ls6kO7Dn0HhWMMAqSdth3ln57zO34O/vz2r7XMAojzkOHog4NpWzZMrvaZU9kQbcxBqOBN+LfINg1mJt73YwuLY3Cd9/DdcKVuE2eZDe78tMqSD9STNyVoeclnvK45hqTqO/bR+Y9954V9Rt63MALo14gPj+ee9bdQ+Xqf5tKtTWzI/Rcfj+YjVIhMT1OFvTWoFYquDouiHXH8qmwYJOREILc55+ndv9+3pkmcOjdk88nf46XpomcNl3Hmyo9ZR8477CHnxPhsT4kbs3GUG+fnaMATionFg5YSGJxIqtSVyEpFHjddBM18fFojx2zm132RBZ0G/O/lP9xovQECwcsxEHhQO4zzyI5ONDl6WesVqasJez5MwWNi5q+40MuOudx9dUEvfoqNfv3kznvnrN5Mq7uejWvjXmNxKLD3K47Sd7IB8DFvLS+Qgj+SMhhVDdffF3lVKet5dr+wej0RlYfMT+EsOTzLyj/+Rd+GSGhv2Ion03+rGkxB+h2JUhKOL7iolNxE0KprdBxcl9+S8y3GtOjptPLuxdvH3gbrV6L56yZSE5OlHzzrV3tsheyoNuQ6vpq3jnwDn18+zAlYgplP/1Ezd69+D/6COoA+215zzlVSmZSCQMmhzeZFtZj+lUEvfYqNQcOkHHPPRgqKwGYFDKWDyohV+3ALbmrOV5y3Kwx96eXkl1WywzZ3WIV4kI8iPJ14Tcz3S4lP/9MwWuvsbOXRNEtE3l/wvu4qJtZx3D2Nu36Pb4CxPlhiiHRXvgEu3JoQ8Z5uVXaGoWk4NHBj5JXncc3Sd+YSjReO4OKFSvQl9gvEsdemCXokiRNkSTphCRJyZIkPd7I+Z6SJO2SJKlOkqRHrG9mx+TjQx9TWFvI40MeR19QSMFrr+M8ZAieN9xgN5uEEOz+IwVnDwf6jAu+ZFuPq64i+I3XqU04RPrNN1OfnQ17PmZ4YRpf9XsUhULJ7atvPy+3RlMs25eJi4NSDle0EpIkcW3/YHanlJBZcol9AkDBmhXkPv00CZESRY/ewutXvIGj0sy7pJ7ToTgZCs+P75YkiX4TQinOribLTvldGhjcZTBXhl3JZ0c+o6i2CO9bb0XodJQtX25Xu+xBs4IuSZISeB+YCvQG5kiSdOEqWAnwT+B1q1vYQUkpT+GbY99wXbfr6OPbh7xFzyN0OgIXPW9XV0tmUgm5yeUMmhqByqH5+pTuU6cS9ukn1Oflkzp7NrW/vgHdJ9Gj3218N+07wt3DWbBhAR8e+hCjaNyfWl5bz4rDOczoH4yLo5yC31rMHBiCQoLl+zKbbJO6+hfyHvk3pwMl1C/9h8dGPIlKYcF70NOUnoLj/7voVPdBATi7O5CwIcNS063OQwMfQmfU8e7Bd3GMisJl1ChKv//hvFTRlwPmzNCHAMlCiBQhhA5YBsw4t4EQokAIsQ+wfhq4DogQglf2voKT0rRoU7n2L1OujAcW4BAeble79vyZgpu3ht6jzHd9uAwfTsQP36Mw1pC+xolKp2sAU+jYV1O/YnrUdD5I+ID7N9xPeV35Rdf/diALbb2Rm4eEWe21yECwpxPje/qzbF9mozHpW799laqHnyLHT0GXD95lVr9bLR/EPQhCBsOxi/3oSrWCPuNCyDhaQmFmZUtegtUIdw/nlp638OupXzlUeAjv229DX1hI+f8utrszY46gBwPnTgGyzhyzGEmS5kmSFC9JUnxhoXUzxrUnNmZuZGfOTu7rdx8eWgV5ixah6d0b7zvusKtdyfsLKEivZPD0SJQqy5ZPHJ0qiBibjmOIN1lPvEjBkrcQBgNOKideGPUCTw19it25u7lxxY1n44LB9CXyw95M+oZ4ENvGlYkuB24ZGk5RVR3rkv5enKwz1PH1G3fi88IX5Ia50OeHXxnS88qWD9LrashNgJKUi071GReMg0bJ/lVpLe/fSszvNx9/Z38W716M44hhaHr3puiTjxEG6+S96QiY81/dmH+gRasgQohPhBCDhBCD/KxQjac9Uquv5bV9r9HNsxs39byJ/JdewlBeTuCLL5wt/WYP9PUGdv16Gt9QV6KHWejHFgJWP4bKx5vwH3/H84ZZFH/8MZl3342+pARJkrix5418PeVrAO5Ycwdv7n8TnUHHgYxSTuRXyrNzGzGmhx8hXk58uzsdgKNFiXzy0AQGf7qLkt5BjP1pA8FdWlmEO3YmIMHhHy865eispu/4UE4fLKQ4u6p147QSF7ULjw1+jOMlx1l+Yjk+995DfXrGZZWF0RxBzwJCz/k9BLDvjoJ2zIcJH5Jdlc0TQ5+gdss2Kv78H77z5qHp2dOudh3emEVliZaRM7tZXo3oyE+QtReufBaFhz+BixYR+MJiauL3k3r9TKr37AVMSb1+ueYXru9+PV8kfsFNK2/ine2bcXNUcbUce24TlAqJOUPC2JWax/MbX2LnPTcy4a8itBOGMvKH1Ti6WeGuyCMEIsfAoWUXRbsAxF0ZilqjJL4dzNInhk9kZPBI3kt4j9oRfXHo1pXijz9GGO0XL9+WmCPo+4DukiRFSpLkANwE/GlbszomR4uP8lXSV8zsPpMBztGmohXdu+N77z12taumQkf86jQi+voS0tPbsovrqkxFnwP7Qb9bzh72nDmT8B++R+HoSMYdd5D/yqsY6+pwUbvw3IjneG/8exTVFLO//jl69F6PQbp0JIZMy+kenkek9xL6LfqaUUeNuC+4l37vfmHd3Ppxc0zVqDL3XnRK46Km77gQkg8UUJJj39qekiTxxJAnqDfU82r8a/jecw91p05R+dc6u9rVVjQr6EIIPbAAWAscA34UQhyVJOleSZLuBZAkqYskSVnAv4CnJEnKkiSpbcuD25l6Yz3P7XwOb403/xr0Lwpee81UtOLFF5HaoGjFpdjzvxQMOiMjZ7agTum2N6AyF6a+CorzPy5OMTFE/vYrnjfdSMkXX5A26wZqE48CMDZ0LKM0r2EoG06y9i+u+e0a/kj+A4Px8vFn2pqsyiwe2vQQy5bew2vfFRJU5IDrK68TvGCh9SOpel0Namc49EOjp+MmhKJ2ULLnz4v97G1NmHsY98Tdw1/pf7E3xgHH7t0ofOstRH3nj9kwa2VMCLFKCNFDCNFVCPHCmWMfCSE+OvNznhAiRAjhLoTwPPPzZVUP6qujX3G85DhPDn0SxZ5DlP30Mz533YlTn1i72pWfWkHS9hz6jAvBM8DCFL0Fx2DnO6bZWdjQRpsonJ0JfPZZQj/5GH1ZKWmzZ5P3wouUFJTw+4ESpgbN5/vp3xPkGsRTO55i9orZbM3aatfNKB2dEm0Jb8a/yU3LrqHHJxt49BcjLhHR/POKh/nOoattBnV0hV7XQOIvpru2C3BydWDA5DBSEgrJSS6zjQ0WMDd2Lr28e7F434s4LZiHLi2Nsl9+tbdZNkfeKWoFTpae5IOED5gQNoFxrv3J+c8TJlfLggV2tctoMLL5++O4uDsw5OpICy82wv8eBEd3mLS42eauY8bQdeVKvG66kdJvvyXj6qsZnBLP3aMjifGJ4dtp3/LqmFep1ddy/4b7uWPNHezI3iELuwWU15XzzoF3mPLLFA798TlvLRWMO2TA+647if5xOf2HxfLd7nSbFJEGYPBdpuyahxvfsBM3IQwXDwd2/Jxs9/dVrVCzeNRiKnQVvOm4BaeBAyl8/72zuYk6K7Kgt5I6Qx2Pb3scdwd3nhr2FLlPPImxooKgN15H4WjfnCVHNmdTlFnFqNk9cHCyMMLmwFeQudsk5i6+Zl2idHenyzPP4Pv1t+QonHk8/js0C+dRvXcvCknB1Mip/HHtHzw19CmyKrO4d/29zF4xm1Upq9Ab9S14hZcHGRUZvLjnRSb+PJE/tn3KcytdefwnA95+IUQs+4GARx9F4eDAvWO6Ulmn5+td6bYxJGQwBMbB3k8bXRxVOygZOiOKgrQKkvcX2MYGC+jh1YP5cfNZk76WtFtGYygsovizpfY2y6bIgt5K3j7wNqdKT/H8yOeRfltL1ZYt+D/6KJoerQwVayWVJVr2/JlCWIwPXQdYGCJamQ/rn4WI0dDvZovH/qbMlQVj/onx0afQFxSQcdvtZN5zL7VHjqBWqLmx542snrma50c8T52hjse2PcbUX6fy4aEPyau2bgHkjorBaGBH9g4e2PgA03+bzorDP/LovkDe+wyijpXh+88HiPjlF5z69j17TZ8QDyb08ufjLacpr7HBLF2SYMg9UHgM0rY12iR6WCA+wa7s+u009Tr7r5fcGXsnsT6xPFH+FerJ4yn+7DN0Gfbf2WorZEFvBbtydvFN0jfcGH0jQ6q7UPDKq7iMGY3XP25p/mIbIoRg07fHEUIwdk4PyxbIhIDV/4b6Wpi+xOzCFQ2UVOtYui2FKX2DiLnrFrquWY3fw/+i5uBB0m6YTcadd1K9ezdqhZrrul/H7zN+5+0r3ibKI4oPEj5g8i+TeWDDA/yV9he1+loLX3nHJ608jbcPvM2kXyZx7/p7OZV+kJdO9uPzT9TErjmJx7SrTH/T++5rNIrlkcnRVNbp+WjradsYGHs9OHnD7g8bPa1QSIye3Z3KYm27CGNUKVS8OuZVjMLIG8OKQK0mb/Fiu7uEbIWcWKOF5FXn8fi2x4nyiOLBHvPImnMrSnd3gl580a65WgCObs0mM6mEsXN64O7rZNnFR36GpN9h/NPg293isT/acpraegP/mmi6Q1FoNPjefTdec+ZQtnw5xV98ScYdc9HExuI1Zw7u06YyPmw848PGk1mZyW+nfuO35N/YnLUZJ5UTY0PGMiliEiODRv5dHq0TIYTgZOlJNmZsZH3Gek6WnkQhKZjiPIjrU3rjuXI3xqp9uEy4Et/583GKiblkfz27uDMjLogvdqQyd0QE/tYuxK12giHzYMvLkJcIXS5e9A+O9qLn8C4k/JVBj8EB+AS7WtcGCwl1D+XZ4c/y763/ZtJ1g+n57TYq16/HfeJEu9plCyR7fVMNGjRIxMfH22Xs1qIz6Ji7di7Jpcl8P/U7HJ58k6pt2wj/+iucBwywq21lBTUsX7yXwG6eXP1AnGVfLuXZ8OFw8I2GuatBadn3fWpRNZOWbGFGv2BevyGu0TbGujrKf/uNkm++RXf6NAp3dzyunYHnzJk49jDdTRiMBvbn72dt2lrWZ6ynRFuCSqFioP9ARgSPYGTQSLp7dUchdcwbzFJtKXvz9rIndw+7cnaRVZWFhER/337MqOxK3NYcdFt2gNGI28SJ+N4336KNaRnFNYx/YzOzBobw8sy+zV9gKbWlsKQPdJ8AN3zZeJMqHd8/uwfPAGeuf2QAkqWb2WzAczuf44/jv/D1L11wrNAS9eefqLwukQ++nSJJ0n4hxKBGz8mCbjmLdy9m+YnlvDH2DQasPk3h2+8Q8OSTeN/6D7vaZdAb+e2NA5Tm1TDnmSG4elkwOzMa4dvrIHMf3LsNfCwLfxNCMPfLfcSnlbLxkbH4u116bCEENfv2UbZsGRXr1kN9PQ7duuJx1VW4T5t2NomZ3qhnf/5+tmdvZ0fODk6VngLA3cGdOL844vzi6Offj94+vXFzcLPI5rbAYDSQWp5KYnEiiUWJHCo8dDaHvLPKmUFdBjHZ2Iu+B8qoX7sRfU4uSg8PPG+YhedNc3AIaVHaJF5YmcRn21P5df4I+ofZQLTW/xe2L4H794BfdKNNju/KZcNXxxh9Y3f6XhHaaJu2pFZfy62rbkWRnMF/P6/FfdIkgt98w95mWYws6Fbkl5O/8Nyu55gbM5f/K44l+8EHcZ8+naBXX7G7q2Xbjyc5vDGLyXfH0m2ghQU0dr0Pa58w+c0H3Wnx2OuT8vm/r+N5clov7h4TZdG1+pISKtasoWLVKmrj9wPg2KMHrmPH4Dp2LE79+p3Ng5Nfnc/u3N0cLDjIocJDJJcln+0n0CWQbp7d6O7VnW6e3Qh1CyXINQhfJ1+bz+a1ei151XmkVaSRWp5KankqKeUpnCo9RY3eFCrnonYhxieGIX6DGFbihX9CFrVbtlJ36hQolbiMGIHH1dNxmzQJhaZ1rpKqOj1XvrEZfzcNv98/EqW1Z8jVxfDWmVn67K8bbSKEYOX7h8k6XsoNTwzCJ8i+rheAnKoc5qycw4wdeqb+VULwkjdxnzrV3mZZhCzoVmJb1jYe2PgAw4KG8ZrP3WTfcReaXr0I+/KLVv8DtpbTBwpY80kifa8IYfSNFkbYZO6FL6ZC98lw03cWL4RW1+mZ8vZWHJQKVi8cg4OFmRzPpT43l4rVa6javJmaAwdAr0fh7o7zoEE4DxyA88CBaHr3Prv7tryunCNFRzhecpxTpac4VXaK1PLU88Ig1Qo1Qa5BBDgH4OnoiZfGC09HTzwdPXFRu+CodMRR6YiD0gEHpQMSEnqhxyiMGIwG9EJPTX0NlbpKquqrqNRVUqGroKCmgIKaAvJr8i9KG+yj8SHKM4punt2I9e5N7zI3vE7koj1wgOodOzGUl4NSifPAgbhNmID7tKmofM0LDzWXPw/l8M8fDrLo2lhuHWaDtM2bX4HNL5rcc+EjGm1SU6Fj2aI9OLs7MuvxgajUzefgtzUH8g9w95o7ee17B4JLIPKXn3EI6zjJ42RBtwJJxUncseYOItwj+CRmEQW3zEXh5kbEsh9QeVuYH8XKlOZV8/PL8XgFunDdwwMsS41bXQwfjwaFCu7ZCk6eFo//9O+JfLsnnWV3D2NolHk1Rs3BUFlJ9c5dVG3bSs2+fdSnm8LNJI0GTUwMmp490fTqiWN0Txy7dzv7pVpvrCezIpPsqmxyqnLIrjY9F9QUUFZXRpm2jHJdeZMFOZrDUemIm4Mbfk5+BDgHEOASgL+zPwHOAUS4hhFcpsAhJRvt8RNojx+j9mACxjMl/FT+/rgMH4bruHG4jByJ0t12GTKEEPxj6R4SMspY8+AYQr2tvKisq4Z3B4FbAPzfxotSQzSQdqSIle8fpu/4EEbPtm84bwO/nfqNd1Y/zZIvFbiHdyXihx/sPikzF1nQW0l6RTp3rLkDtULNV4OWUD3vXxjLywlf9gOOkRbuwLQytZU6fn4lnvo6Azf8ZzBu3hZ8KA16+G4WpO+Eu/6CoH4Wj78juYhbPtvDnSMjeebqCwtZWRd9YSE1+w9Qs38/2sRE6k6c+Hvnn0KBOjAQdVgoDmHhOISFog4ORuXri9LHB5WfHwoXl7NuMaMwUlFXQY2+hjpD3d8PfR2SJKGQFCglJSqFCoWkwEXtgqvaFVc0KCqqMBQXoy8qQpeVRX1mFvVZmegys9ClpiLq6kw2qVQ4Rkbi1K8fzoMG4jRwIOrg4DZ1zWWV1jD1rW30CnJn2d3DLM+02RyHlsFv98A178GApgtobFt+ksObspgwtzfRQ9tHGcJPD3/Ktp/e4j8/GfG4/joCX3jB7m5Tc5AFvRVkVGQwd+1c6g31fD74TaQFz6AvKCDs86U4xTUeydFW6OsN/PlWAgUZlVz7r/50ibQgVaoQsOoR2PcZXPMuDLjN4vHLanRc9c52HFUKVi0cjaaNb6eF0Uh9Ziba4yeoO3ECXUYGuswM6tMzMJSVXdRecnRE6emJwtn5vAdq1Zl/ZMnkbpIkhE6HUVuLqNVirK3FWFuLobT07Ez7wn7VoSE4hITiEB6OY8+eaHpG49C1q3UzHraQn/dn8chPh1q0vtEsRiN8eRUUHIX794Jb42JtMBj5860E8tMquP6RAfiH2z93nxCC1+NfR/vRF8zaIfD710P4zptnb7OaRRb0FpJZkcnctXOpM9Tx2ZA3US98Hl1WNmGffYrzwIF2tc1oMPLX0qOcPlDYskXQ3R/BmsdgxANm5Wq5aHyj4P++jmfbqUJ+vncEcaGeFvdhSwyVldTn5GIoLkJfVIS+qBh9YSGGygpETQ3G6hqMNTUYq6sRev2ZrezCtOFEgOTogELjhEKjQXJyQuHkhNLTE5WPN0pvn7PP6hDTXYDUhLuhPSCE4N5v97PhWAHL7xnGwHAruwiLkuGjkdB9Itz4bZPNait1/PjSPhAw67FBuHjaNzUGmO7Unt3xDKFv/sroJEHQ66/hMX26vc26JLKgt4BTpae4d/29JjHv+zLqh1+kPieH0I8/wmXYMLvaJoyCDV8d48SePEbO6ka/CRYu6CT9CT/dDtHTTBEKCstn1u9tPMXrf51k0YwYbh0eYfH1Mm1LeW0917y3nVqdgRX/HNVsWKnFbH/LlC7i2g8vmS6iMLOS314/gJuPhuseHoDGRW1dO1qAURh5cdt/6bXoR6JzFYR/9DFuo0bZ26wmuZSgt99phR3Zl7eP21ffjhCCz7o/h/K+p9EXFRH22aftQsw3/3CCE3vyGHpNlOVifmo9/HwnBA+E6z9pkZivS8rnjXUnmdEviH/YInpCxup4OKn56B8DqdTque/bA2jrrZxnZcQDptw/Kx+GguNNNvMLdWPa/D6UFdSw8v1D1NfZP9+LQlLw5OjnyHjiZjK9jaTNv4eybVvsbVaLkAX9Alanruaedffg6+zLl/6PoLjvKYRBT/g3X+M8eLBdbTMYjKz/KomkbTkMnBLOoGkRlnWQth2W3wL+PeGWn8HBxWIbDmaU8sAPB+gb7MFL1/fpEItIMiZ6Bbrz2g19iU8v5V8/JmAwWvHuXKGE6z81FcH46Q7QNl0OIaSnN5P/L5b81ApWfnAIndb+mTYlSeLBcU+R88I9ZHkZybhvPrkbV9vbLIuRBf0M9cZ6Xt33Kv/e+m/6+MTyYenVVN//b5S+vkR8/73da4LW6wys/ugIJ/fkM3RGFENnWLi4dWodfDsLPMPh1t9bFJ54urCKu76Kx99Nw9I7BuPsIKcC6mhM7xvEU1f1YtWRPJ7/31HrJqlyD4RZS6HopEnUDU1nfIzq58eEub3JOVXOn28noK22fzUhSZK4a/SDKN9ZRK6XRPGCf3H8u4/sbZZFyIIOFNQUMO+veXyT9A23Rt7AC1uDqHjlTVzHjiVi+TIcQu27bbmyRMtvrx8gPbGYsTdHM2hqhGUz4yM/ww83mZJt3bHS7Pzm55JcUMVNn+xGIUl8decQfF3tv6Al0zL+b3QUd4+O5Ktd6Ty/Ism6oh41zrTb+PQGUxTVJfruMaQLU+bFmvzqbxygskRrPTtawaR+swj88jOSwx0Qi95m83/vw9hBikxf9oK+JnUN1/1xHYlFibwRMJ+ZL+6i8o8/8b3vPkLeexelq323K+ecKuOnl/ZRVlDDtPl9iR1jQW4PIUw1QX/5PwgdCnesAFcLc6MDJ/IquemT3QgBy+YNJdLXcleNTPviiWm9mDsygi92pPHU74kYrel+GXg7jPoX7P8S/nrqkqIe1c+P6ffHUVWi5aeX9pF7urzJtm1J36jhjFq+lmODAwj4YRNr54ynuMBGhUOsyGUb5VKqLeWlPS+xOm01/TxjeSalL/ql36Py9SXolVdwGTrEbraBKSwwYV0Ge/5Iwc1Xw7T5ffEOtEBIddXwxwI4+ivEzoIZ75lSn1rI9lNFzP92P04OSr6/exjd/O2fj0PGOggheGXNCT7acprpfQN5/YY46+0lEAJWPwZ7P4ah82HKS5dMKVGSW83KDw5TVapl9OwexIwOahfrMwajgTWvLiDs682UuSvQPfdPxk+eZ1fb5LDFczAYDfx08ifePfguNfU1PKaezuBvDqBLScF92lS6PPMMSk/PNrfrXCqKa9nw5TFyTpXRtb8fV9zaE0dnC8K7Co7DL3dB/lGY+F8Y8U+L87MALNubwVO/J9LN35XP7xhMkKflXwgy7RshBB9vTeGVNcfpG+zBJ7cNIsBaOdSFgDX/gT0fQt8bTRvYVE276rTV9fy19CiZSSVExvlyxa09cXK1/8YsgBPb/kfpo0/iWl5PwqQIxjz1HmF+NirI3QyyoJ9hT+4e3oh/g2Mlx7jSIY75+zwwrtqIOjiYLs88jevYsW1qz4UYDUaObM5mz/9SQMCYm3oQPayL+bMBIWDvJ7DuGXBwhes+NmXDs5DqOj1P/5HIrweyGd3dlw9uGYCbxv7xwjK246+jeTy4PAEXRxVLZvdjVHcrJQoTAra+DpsWQ+gw08ajS7j9hFFwaGMmu34/jcZFzdg50UTG+baL2bqutITdT9yL36YjZPtIZMyfxqzZz+Du0La7Xi97QT9YcJD3Dr7H3ry9ROLHEyd74vm/HQB43347vvfNR+Fk39lnTnIZW5edpDirirDe3oyZE42HnwU2FZ6EVQ9D6lZT1sQZ74GrhbtHMYUlPvLTIVKKqll4ZXceGN/d+qlXZdolx/MqWPD9QZILqpg3JoqHJ/XAUWUlF0zir/D7fHB0h+s+gm5XXrJ5YWYlG748RnF2FRF9fBh9Ywuqb9mIrPUryHvmWVxKajjQywHj/Fu4dtz8NsvHf1kKulEY2ZG9g6+TvmZ37m6idJ48lNyNLusOI2pr8bj2WvweWIA6KMhmNphDUVYVe/44TdqRYlw8HRk9uztR/f3Mn5Hoqk0LnzveAQdnmPBfGHiHxS6Wqjo9r689wVe70ghw0/DmjXGM6GrddK4y7Z9anYHFK5P4bk8GUX4uLJ4Ry4huVvoc5CWaXIGFx2HY/XDFE+DY9JqMwWDk8MYs9q5IRRgFfcaFMHByOBpX+98tGmtrOfH+q+i+/gmF3sCWgY5obr+J60fNw1tj2+yrl5WgV+oqWZ26mm+PfUtqWQoDSz2ZezIQ/23HQQjcp07FZ97daHrYN41nfloFCesySD5QgKOTiv6Twuh7RShqRzNnRPVaiP8ctr8J1YUQdzNMfN7iKBaDUfDbwWze+OsEeRVabh0WzqOTo2UXy2XOlpOFPPNHIunFNczoF8Sjk6MJ8bJC+l1djSnyJX4puIfA1Feg51WXnIBUlmjZ82cKJ/bk4eCopN/EMPqMC2kXaQPqCwo49cZijCvWI4Rge6yS8pljmTp+Hn19+9rEVdTpBd1gNLA3by9/nP6DDekbUFTXMistgImHwDElB0mjwfP66/G+cy4OISFWGbMlGA1G0o4Uk7A+g9zkchw0SmLHhdB/Ypj5H866Sjj4Lex8FyqyIXKsqaBzqGW7WI1Gwfpj+by57iTH8yrpG+LBs1f3tn7iJpkOi7bewAebT/PRltMIIbh5SBj3j+9mnTwwGbthxUNQkAThI02f4fDhl7ykOKeKPX+kkHqoCJWDgp7DA4kbH4pngP2Lh9fn5pLy4RJ0v69CpTNwNAySRoUQcc1NTO4+nQCXAKuN1SkFvd5Yz/78/WzM2MiGjA1UluQzOtWRaWleBB7NR6rX49irF16zb8B9+nSUbvarN1mSW83xnbmc2JNHTYUOV29H4saH0ntkEA5OZu62LEk1pbo98DXUVZgWmK74j2kjhwXU6Q38fjCbT7amcLqwmnAfZx6dHM1VfQLbxcKTTPsjt7yWdzYk82N8JkqFxLX9grhrVBTRXVr5P2Woh/gvYNvrUJUPXcfD8AWm50t8Fouzq0jYkMnJvXkYDYKQaC96Dg8kqp+f+Xe4NkJfUkLhT8vI/+FbHPNKqXCCPT0VlIzsRcyVN3BFxJX4OrXOhdWpBP1Y8TG+TvqaLZmbccurZFCaktHZboSdLEOqN6AKDMR90iTcp09HExtjF5ESQlCSW01qQiEpCUUUZlSiUEiE9/Gh5/BAIvr4oFCasaertgySfjcVEcjYZaoq1PtaGHYfhFiWvvd4XgU/7svi94RsSqp1xAS5M29MFFf1CURlji0ylz1pRdV8ui2FXw5koa03MjzKhxsGhTA5pgsujq1IA6GrMUVn7XofqgvANxqG3A2xM8G56TvG6vI6jm7L4cTuXCqKtKgdlXQd4EdUPz9CenmjdrCfuAujkeqdu8hZ/g26rTtQ1ukpdYG90RLFA7sybPr/cVX0jBb13akEfc/WZSR89DID0hS4ltQC4BARgevYsbhNmYxTXJxdclPX1erJOVVG9vFS0o4UUV5osi0g0p1uA/3pMaQLzu5mxNRW5MLJNabH6U1gqAPfHhB3E/S9CTzM3ymaXFDFX0l5rD6Sx5HsctRKiYm9A7h5SDgju/nIM3KZFlFWo+P7vRks25tJRkkNzg5KpsR2YWpsIKO6+eLUUiHV18HR32D3h5CbAAq1Kcd6n1mmyK0mFlCFUZB7uozju/I4faAAndaASq0gtLc3EX19CYn2smuEjLGmhsrNm8n54ycMu+JR6vQUTB3I2CVN546/FJ1K0Cu2bCH3kUdxGTYMl1GjcBk5EocQC7bDW4mq0joK0ivISykn+0QphRmVCAFKtYLg7p5E9vMjMs4XF49mcp5oyyFjD6TvgJTNpg8ygGeYKV9539kQNMCsqJWqOj37UkvYebqIDccLSCmsBqBviAfX9Q9mRr9gvF3ax0YNmY6PEIL49FJ+PZDFisO5VGr1OKoUjOrmy7ie/gyP8qarn6vlEwchIO8wHP4REn+BylxQOpgKUXefbBJ5n26N/k8Y9EZyTpWReqiI1MOFVJWYygG6eWsI7uFJUA9PAiI98Axwtn45PjMwarXU7NmDMiAApxYm/OtUgi70plSbkqptMv0ZDUYqirSU5FZTklNFQXolBWkVVJfrAFAoJAIi3QmO9iIk2ouAKPemK5vrdaaQrdxDpkfWXsg7AsJomo2EDILuk6DHFPDvdUkRF0KQVVrLkexyDmWVsSelhCPZ5RiMAgelgsGRXkyO6cLE3gEEerSP+F2ZzotOb2RfWgnrkvJZfyyfrFLTHaqvqwNDIr0ZEuFN31BPenVxt2wGbzSYat6eWgsn/4KiE6bjzr4QNsz0CB0GXWIvSm3R4PrMOVlG9olSsk+Wnc3qqHZU4hfmhn+4G37hbngHuuIZ4NT0/247olMJui0wGoxUldVRWaylokhLRXEtZfk1lOZWU5pfg1H/99/IM8AZ/wg3/MPc8Y9wxzfU9WJfXb0WSk5D0SkoPgXFp02r+QXHwGD6IsDBzVSUOXwkRIyE4EGmOPJGKKvRcbqwitOF1ZwurCIpp4Ij2eWU1Zz5cCol4kI8Gd7Vh2FRPgwM92rz+p4yMg0IIUgrrmFPSjF7UkvYk1JMTrkpk6JCgm7+rsQGedAz0I0oX1ei/FwI9XZGbc5aTmma6U42Y49pXak01XRcUphm7QExEBBrevh0M93pqkx3pcIoKMmrpiCtksL0CgoyKinKrMKgN2VSlCRw93XCK9AF70BnPPydcfPR4O6jwdVLg1LVPtaaLltBF0JQV6OnpkJHTXmd6blCR0256bmqzCTgVaV1iHOzzUng7qPBO9DlzJtrevbq4oyDgwK0ZVCRYwobLM8yPSqyoTwbyjOgLBM4pz+3IPDrAYFxZx79wCsSzvj6K7T15JZpySmrJbusltzyWnLKtGSW1JBSVE1Jte5sV2qlRI8AN/oEe9AnxIM+wR5Ed3Gz3o4+GRkbkFNWS2J2uelxZkJSWFl39rxKIRHm40yUrwshXs4EemgI9HQi2FNDoIcT/m6OjS/eV+b/faebf9T0XHZOVkRJAR4h4B1leniEgnsQuAWCexAG5wBKSxSU5lZTkldtmsTl1VCWX4PRcL4muHo64uajwc1bg7OHI87uDqaHh+nZxd0RRxeVzdemWi3okiRNAd4GlMBnQoiXLzgvnTk/DagB7hBCHLhUny0V9JoKHQXpFdTV6KmrqTc9V5t+1p53rJ7a6vrzZtcNKFUKnN3VuLircPOUcHcz4u5aj5tzLW6aKtzUJSi1xVBTBNVFZ56LTRt4aopBXFA2S6ECtyCERzB612C07pFUuUZQ5hJOkTqEQp2akmodxdU6Sqp0FFfXmX6u1lFcpaOq7vyKLUqFRBd3DcGeTnT1dyHK1/Xsc4iXkxyVItMpMN15VpNSWEVKkek5raiGnLJaKhv5n/B2ccDHxQEfVwd8XBzxdnHA19UB7zM/uzupcNeocVfU4ll5GufqdFRlaVCS8vejtvRiQxzdTQLv4gtOXuDsg1HjTZUIoFLvS0WdO5U1zlRUqagsh8pyAzWVegz1F+dIVyglNK5qNC5qHJ1VODqr0bic/+zoosIn2BWfoJZlLm2VoEuSpAROAhOBLGAfMEcIkXROm2nAA5gEfSjwthBi6KX6bamgn9p2nL++yznvmFplwNFBj6Nah0alw0GlxVFZi0ZRjZOyHCdFGc6KEpxFAc7GPDT1+SgNNc2OVadyo0blRbXKkyqlB+UKT8oVHpThToHkTZbBm3S9N5l1LpTrBFV1+kulfkalkPA58wH0cXHA+8wj6MwsJMjTiSBPDf5uGjl/isxlTaW2ntxyremOtUxLbnkthZV1FFXpKGmYEFXpLhL+C9GoFbhp1LhpVLhp1Hgp6wlUlhJACX6iBF9RhJehBE99ES6Gcpz1ZWj05TjqylCIpvsWArRKL2oUQdQoAqnBj1p8qDF6U2d0Rat3os6gQVvvSF29A9p6FXr933fRA0ZqGH7riBb9bS4l6OasLA4BkoUQKWc6WwbMAJLOaTMD+FqYvh12S5LkKUlSoBAit0UWX4Kq8r3M9H4HjaIaR0UVDlI1Ssk0Y9YKNVoc0OJArd70XIcDZcKRPNTU4EilCKeKnlQKZ6pwogJnqoQTlThTKZxMx4QzZbhRf+bP46BU4KhWoFEr0agVaFRKnByUuLmocHdUMUyjxtVRdeZDo8LV0fQBctWocNeo/p5BaGx/OyYj0xkwibCaHgGX3rxUpzecvdOt1Oqp1Naf/1xn+rlCq6dSq6dGpyBR68e+em9qdQa09QZqzzzOn4wJXKnFU6rCm0q8pCpcqcVFqsUVrelnQy1u1OIi1eDKcVylWtzR4iTp0EimyaWTug5H6lFixCBU1BldqBOunKy5GmiZoF8KcwQ9GMg85/csTLPw5toEA+cJuiRJ84B5AGFhFlarb+ijxxg+L9BgVGkQSg1C5QRqJ4TKEbVKhUohoVIqUDc8K6W/jykl1AoF/ioFwWeOqZQSjkoFjg1irVbipFaeFW9HlVKeLcvItFMcVUoCPZxaHcklhKBObzwr8Np6I7U6A/UGIzqDkXr9mWeDoN5gNB3Xm34vMxgpPNvunPMGIwajQG8wgr4eyaBFYahFodcyrFe4lf4C52OOoDemZhc6FsxpgxDiE+ATMLlczBj7Ivr1iKBfj4iWXCojIyPTKJIknZnEKfG0tzGtwJzVtSzg3CrJIUBOC9rIyMjIyNgQcwR9H9BdkqRISZIcgJuAPy9o8ydwm2RiGFBuC/+5jIyMjEzTNOtyEULoJUlaAKzFFLb4uRDiqCRJ9545/xGwClOESzKmsMW5tjNZRkZGRqYxzNo/L4RYhUm0zz320Tk/C+B+65omIyMjI2MJ8g4VGRkZmU6CLOgyMjIynQRZ0GVkZGQ6CbKgy8jIyHQS7JZtUZKkQiC92YbtD1+gyN5GtDHya748kF9zxyBcCOHX2Am7CXpHRZKk+KYS43RW5Nd8eSC/5o6P7HKRkZGR6STIgi4jIyPTSZAF3XI+sbcBdkB+zZcH8mvu4Mg+dBkZGZlOgjxDl5GRkekkyIIuIyMj00mQBb0VSJL0iCRJQpIkX3vbYmskSXpNkqTjkiQdliTpN0mSPO1tky2QJGmKJEknJElKliTpcXvbY2skSQqVJGmTJEnHJEk6KknSQnvb1FZIkqSUJOmgJEkr7G2LtZAFvYVIkhSKqXB2hr1taSPWAbFCiL6Yiob/x872WJ0zBdHfB6YCvYE5kiT1tq9VNkcPPCyE6AUMA+6/DF5zAwuBY/Y2wprIgt5ylgD/ppFSe50RIcRfQpwtg74bU1WqzsbZguhCCB3QUBC90yKEyBVCHDjzcyUmgQu2r1W2R5KkEOAq4DN722JNZEFvAZIkXQNkCyEO2dsWO3EnsNreRtiApoqdXxZIkhQB9Af22NmUtuAtTBMyo53tsCpmFbi4HJEkaT3QpZFTTwJPAJPa1iLbc6nXLIT440ybJzHdpn/Xlra1EWYVO++MSJLkCvwCPCiEqLC3PbZEkqTpQIEQYr8kSePsbI5VkQW9CYQQExo7LklSHyASOCRJEphcDwckSRoihMhrQxOtTlOvuQFJkm4HpgNXis65geGyLHYuSZIak5h/J4T41d72tAEjgWskSZoGaAB3SZK+FUL8w852tRp5Y1ErkSQpDRgkhOhoGdssQpKkKcCbwFghRKG97bEFkiSpMC34XglkYyqQfrMQ4qhdDbMhkmlW8hVQIoR40M7mtDlnZuiPCCGm29kUqyD70GXM5T3ADVgnSVKCJEkfNXdBR+PMom9DQfRjwI+dWczPMBK4FRh/5n1NODNzlemAyDN0GRkZmU6CPEOXkZGR6STIgi4jIyPTSZAFXUZGRqaTIAu6jIyMTCdBFnQZGRmZToIs6DIyMjKdBFnQZWRkZDoJ/w+xeOF2ksVjzwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Omega, gamma1, gamma2\n",
    "params = [\n",
    "    (0.6, 1.0, 1.0), (1.5, 0.6, 1.0), (3.0, 1.0, 1.0),\n",
    "    (3.0, 0.8, 1.0), (1.8, 0.9, 1.0)\n",
    "]\n",
    "for Omega, gamma1, gamma2 in params:\n",
    "    dist = distribution.CauchyMultiply(Omega=Omega, gamma1=gamma1, gamma2=gamma2)\n",
    "    plt.plot(xs, dist.pdf(xs), label=rf\"$\\Omega={Omega}, \\gamma_{1}={gamma1}$\")\n",
    "plt.legend()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Finite-differentiable distribution\n",
    "\n",
    "- Probability density function for $|x-\\mu|\\leq\\gamma$\n",
    "\n",
    "$$\n",
    "p(x)=\\frac{1}{\\gamma B(n+2, 1/2)}\\left[1 - \\left(\\frac{x-\\mu}{\\gamma}\\right)^{2}\\right]^{n+1}\n",
    "$$\n",
    "\n",
    "- parameters\n",
    "    - $\\mu$: mean (`loc`)\n",
    "    - $\\gamma$: represent the scale of the distribution (`scale`)\n",
    "\n",
    "- Note:\n",
    "    - This distribution has the smoothness of $C^{n}$ but not $C^{n+1}$ for finite $n$.\n",
    "    - $B(x, y)$ is the [beta function](https://en.wikipedia.org/wiki/Beta_function).\n",
    "    - By scaling $\\gamma=\\sqrt{n+1}\\gamma$, this distribution goes to the noraml distribution with the standard deviation $\\gamma/\\sqrt{2}$ in the limit of $n\\to\\infty$.\n",
    "\n",
    "    $$\n",
    "    \\frac{1}{\\sqrt{n+1}\\gamma B(n+2, 1/2)}\\left[1 - \\frac{1}{n+1}\\left(\\frac{x-\\mu}{\\gamma}\\right)^{2}\\right]^{n+1}\\to\\frac{1}{\\gamma\\sqrt{\\pi}}\\exp\\left(-\\frac{(x-\\mu)^{2}}{\\gamma^{2}}\\right)\n",
    "    $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1575e9850>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loc = 0.0\n",
    "gamma = 1.0\n",
    "for n in [1,2,3,10]:\n",
    "    scale = gamma * jnp.sqrt(n + 1)\n",
    "    dist = distribution.FiniteDifferential(loc=loc, scale=scale, n=n)\n",
    "    plt.plot(xs, dist.pdf(xs), label=f\"n={n}\")\n",
    "dist_normal = distribution.Normal(loc=loc, scale=gamma / jnp.sqrt(2))\n",
    "plt.plot(xs, dist_normal.pdf(xs), label=\"Normal\", linestyle=\"--\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "7d3977cd516aab4e7ac34ec0977b1608119a96f0bf9dd8c065a30d2af58323e0"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
