Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save matt-graham/2e82ad70692cc7e78b914d80645837cf to your computer and use it in GitHub Desktop.
Save matt-graham/2e82ad70692cc7e78b914d80645837cf to your computer and use it in GitHub Desktop.
Follow up to experiments in 'Is the NUTS algorithm correct?' (Sanz-Serna, 2020; arXiv 2005.01336)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Follow up to experiments in *Is the NUTS algorithm correct?* (Sanz-Serna, 2020)\n",
"\n",
"The code below performs numerical experiments to create figures analogous to Figure 2 in [Sanz-Serna (2020)](#sanzserna2020is) for four different Hamiltonian Monte Carlo (HMC) implementations. For the figure in the article the original 'no-U-turn sampler' algorithm [(Hoffman and Gelman, 2014)](#hoffman2014no) is used. Under the taxonomy of HMC implementations described in the appendix to [Betancourt (2017)](#betancourt2017conceptual) this corresponds to a dynamic integration time HMC implementation with progressive slice sampling updates from the trajectory and with trajectory termination determined by the original (Euclidean) no-U-turn criterion described in [Hoffman and Gelman (2014)](#hoffman2014no). Below this and three alternative HMC implementations are considered:\n",
"\n",
" 1. Static integration time HMC implementation with Metropolis correction, i.e. the original Hybrid Monte Carlo algorithm [(Duane et al., 1987)](#duane1987hybrid).\n",
" 2. Dynamic integration time HMC implementation with biased progressive multinomial sampling of new state from trajectory [(Betancourt, 2017)](#betancourt2017conceptual) combined with the original no-U-turn termination criterion [(Hoffman and Gelman, 2014)](#hoffman2014no).\n",
" 3. Dynamic integration time HMC implementation with biased progressive multinomial sampling of new state from trajectory [(Betancourt, 2017)](#betancourt2017conceptual) combined with the generalised no-U-turn termination criterion [(Betancourt, 2013)](#betancourt2013generalizing).\n",
" \n",
"The last is closest to the default algorithm used in Stan (though since Stan v2.23 the algorithm used includes some extra termination criterion checks not present in the implementation in Mici).\n",
"\n",
"## Set up code\n",
"\n",
"We first import the necessary modules into the main namespace and set some Matplotlib styling parameters."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import mici\n",
"from mici.transitions import riemannian_no_u_turn_criterion, euclidean_no_u_turn_criterion\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.rcParams.update({\n",
" 'axes.titlesize': 12,\n",
" 'axes.labelsize': 12,\n",
" 'xtick.labelsize': 8,\n",
" 'ytick.labelsize': 8,\n",
" 'legend.fontsize': 10,\n",
" 'axes.linewidth': 0.5,\n",
" 'lines.linewidth': 1.,\n",
" 'axes.labelpad': 2.,\n",
" 'figure.dpi': 100,\n",
" 'legend.frameon': False,\n",
"})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We consider the same univariate standard normal / Gaussian target distribution as used in [Sanz-Serna (2020)](#sanzserna2020is)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def neg_log_dens(q):\n",
" return 0.5 * q[0]**2\n",
"\n",
"def grad_neg_log_dens(q):\n",
" return q"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define helper functions to plot:\n",
" * The empirical distribution of the position variable from a trace of chain samples against the true known normal density.\n",
" * The empirical distribution of the number of integrator steps per chain iteration."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def plot_pos_distribution(ax, traces):\n",
" \"\"\"Plot marginal distribution of position: empirical histogram from chain trace plus true.\"\"\"\n",
" _ = ax.hist(np.concatenate(traces['pos']), 100, density=True, label='MCMC estimate')\n",
" q_grid = np.linspace(-3, 3, 200) \n",
" _ = ax.plot(q_grid, np.exp(-q_grid**2 / 2) / (2 * np.pi)**0.5, label='True')\n",
" ax.set_xlabel('$q_0$')\n",
" ax.set_ylabel('Density')\n",
" ax.legend()\n",
" return fig, ax\n",
"\n",
"def plot_n_step_distribution(ax, stats):\n",
" \"\"\"Plot histogram of number of integrator steps per chain iteration.\"\"\"\n",
" _ = ax.hist(np.concatenate(stats['n_step']), np.arange(8) - 0.5, density=True, rwidth=0.5)\n",
" ax.set_xticks(np.arange(8))\n",
" ax.set_xlabel('Number of integrator steps')\n",
" ax.set_ylabel('Density')\n",
" return fig, ax"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By default we use chains of $5 \\times 10^6$ iterations rather than the $10^7$ used by [Sanz-Serna (2020)](#sanzserna2020is) however this can be adjusted below. We use the same integrator step size of $\\epsilon = 4$ and maximum Hamiltonian change $\\Delta = 1000$ (this is the default `max_delta_h` value in the `mici.samplers` classes) as used in Figure 2 in [Sanz-Serna (2020)](#sanzserna2020is) and use a single chain on one process (as for this simple model the parallelisation overhead swamps any speedup from running on multiple processes). "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"seed = 20200505\n",
"n_chain = 1\n",
"n_process = 1\n",
"n_dim = 1\n",
"n_sample = 5_000_000\n",
"step_size = 4."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Instantiate a Euclidean metric Hamiltonian system with default identity matrix metric representation and corresponding explicit leapfrog integrator."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"system = mici.systems.EuclideanMetricSystem(neg_log_dens, grad_neg_log_dens=grad_neg_log_dens)\n",
"integrator = mici.integrators.LeapfrogIntegrator(system, step_size)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Dynamic integration time HMC with slice sampling (original no-U-turn criterion)\n",
"\n",
"Dynamic integration time HMC implementation with progressive slice sampling of new state from trajectory combined with the original no-U-turn termination criterion [(Hoffman and Gelman, 2014)](#hoffman2014no). This is the original 'efficient No-U-turn-sampler' algorithm from [Hoffman and Gelman (2014)](#hoffman2014no) and equivalent to the algorithm used to produce Figure 2 in [Sanz-Serna (2020)](#sanzserna2020is)."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"rng = np.random.default_rng(seed)\n",
"sampler = mici.samplers.DynamicSliceHMC(\n",
" system, integrator, rng, termination_criterion=euclidean_no_u_turn_criterion)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div style=\"line-height: 28px; width: 100%; display: flex;\n",
" flex-flow: row wrap; align-items: center;\n",
" position: relative; margin: 2px;\">\n",
" <label style=\"margin-right: 8px; flex-shrink: 0;\n",
" font-size: var(--jp-code-font-size);\n",
" font-family: var(--jp-code-font-family);\">\n",
" Chain&nbsp;1/1:&nbsp;100%\n",
" </label>\n",
" <div role=\"progressbar\" aria-valuenow=\"1.0\"\n",
" aria-valuemin=\"0\" aria-valuemax=\"1\"\n",
" style=\"position: relative; flex-grow: 1; align-self: stretch;\n",
" margin-top: 4px; margin-bottom: 4px; height: initial;\n",
" background-color: #eee;\">\n",
" <div style=\"background-color: var(--jp-success-color1); position: absolute;\n",
" bottom: 0; left: 0; width: 100%;\n",
" height: 100%;\"></div>\n",
" </div>\n",
" <div style=\"margin-left: 8px; flex-shrink: 0;\n",
" font-family: var(--jp-code-font-family);\n",
" font-size: var(--jp-code-font-size);\">\n",
" 5000000/5000000 [16:12&lt;00:00, 5141.39it/s, accept_prob=0.0805, n_step=1.00, diverging=0.00264]\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
"Chain 1/1: 100%|██████████|5000000/5000000 [16:12<00:00, 5141.39it/s, accept_prob=0.0805, n_step=1.00, diverging=0.00264]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"final_states, traces, stats = sampler.sample_chains(\n",
" n_sample=n_sample, init_states=np.zeros((n_chain, n_dim)), n_process=n_chain, \n",
" monitor_stats=['accept_prob', 'n_step', 'diverging'])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+0AAAH/CAYAAAAixjyqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeZwU1b3//9fpGUAWQRSFKOCgsg4QxBWIIokJKi43McZrokZNDF6X6C/xm2Bu9muM8eo1JiZGTVTuNVETNXFB0biwyCCLILuAwoigsrjgggxM1/n9McNkgGEZZqarZ+b1fDzqke6q01XvJkidT9epUyHGiCRJkiRJyj+ZtANIkiRJkqSaWbRLkiRJkpSnLNolSZIkScpTFu2SJEmSJOUpi3ZJkiRJkvKURbskSZIkSXnKol2SJEmSpDxl0S5JkiRJUp6yaJckSZIkKU8Vph0gLcXFxfHQQw9NO4YkSVUee+yxBTHG/mnnaCo810uS8s2enOubbdF+6KGH8uijj6YdQ5KkKiGEZWlnaEo810uS8s2enOsdHi9JkiRJUp6yaJckSZIkKU9ZtEuSJEmSlKcs2iVJkiRJylMW7ZIkSZIk5SmLdkmSJEmS8pRFuyRJkiRJecqiXZIkSZKkPGXRLkmSJElSnrJolyRJkiQpT1m0S5IkSZKUpyzaJUmSJEnKUxbtktQIhBB2ulxwwQVpR5QkSVIDKEw7gCRp1956662q1w888AA//vGPWbx4cdW61q1b1/i5zZs306JFiwbPJ0mSpIbhlXZJagS6dOlStXTo0IEQwnbrXnnlFUIIPPzwwxx33HG0atWKBx98kDFjxnDsscdutb/rr7+ePn36bLXu9ttvp3fv3uy111707duXO++8M5dfUZIkSTXwSrskAWzaAOuW5P64nXpByzb1usvvf//73HjjjQwcOJDWrVszZ86cXX7mt7/9Lf/93//Nb3/7WwYOHMjMmTO5+OKLad++PWeffXa95pMkSdLus2iXJKgo2O8YnvvjfmsiHDioXnd59dVXc8YZZ+x2+xgjv/jFL7jtttuqPtejRw/mzJnD7bffbtGuehdC+A1wOnAwMCDGOH8H7X4IXFj59i8xxh/lKKIkSXnDol2SoOKK97cmpnPcenbkkUfWqv3KlStZvXo15557LiGEqvXl5eV07ty5vuNJAA8CNwAv7KhBCOF44BxgIFAOTAkhvBBjfCo3ESVJyg8W7ZIEFUPU6/mKd1ratm271ftMJkOMcat1mzdvrnqdJAkAY8eOZdCgrf8MCgs9Taj+xRgnAVv9SFSDs4F7YowfV7a9i4oivsaiPYTQCmhVfd2oUaPqI64kSamyNyZptxSNGVf1uvR6O8KNyf7777/V7PMAL7/8ctXrbt260alTJ5YvX86Xv/zlXMeTdqQ7UH34Symws7+g1wA/qb5i6dKl9Z+qCar+73sueA6RpNqxaJekJu6zn/0s3/nOd7j55ps57bTTePzxx3nuueeqhr5nMhl+8pOfcM0119CmTRs+//nPs3HjRmbMmMGGDRu44oorUv4GasaqDxHZ6WV54JfA/1Rf0bNnz/X1nkiSpBzzkW+S1MR9+tOf5pZbbuGmm27i8MMPZ968eVx55ZVbtbn88su59dZbueOOOxgwYAAjRozg3nvvpUePHimlllgBFFV7f3DluhrFGMtijB9UXzIZuzmSpMYvbHufY3Nx+umnx0cffTTtGFKj4fB4qeGFEB6LMZ6edo5cCSGUAqfWNHt8COEE4FbgGConogN+GGMcv7v791y/exweL0m5syfnen+CliRJORVC+F0IYSXQFXgmhPBq5fonQghHAsQYJwB/BeYBi4Cna1OwS5LUVHhPuyRJyqkY42XAZTWsP2Wb9z8Hfp6rXJIk5SOvtEuSJEmSlKcs2iVJkiRJylMW7ZIkSZIk5SnvaZdUZ84sL0mSJDUMr7RLkiRJkpSnLNolSZIkScpTFu2SpEbrhBNO4Kqrrko7hiRJUoPxnnZJqlT93vxcqO39/xdccAFjx45l9OjR/OEPf9hq26WXXsptt93G17/+de65556q9W+//Ta/+MUvGDduHKtWreKAAw5g0KBBXHXVVXzuc58DoKioiNdff5377ruPf//3f99qv8XFxSxcuJC7776bCy64oGr97Nmzue6665g0aRLr16+ne/fuDB8+nP/3//4fvXr1qt0fxG6YMGECI0aM4L333mOfffapWv/www/TokWLej/etk444QQGDRrEr3/96wY/liRJUnVeaZdUa0Vjxm21KHe6devG/fffzyeffFK1buPGjdx333107959q7alpaUcccQRPPfcc9xwww3MmzeP8ePHM2LECC677LLt9nv33Xdvte7FF1/k7bffpm3btlutf/zxxzn22GMpKyvjz3/+M4sWLeL//u//6NChAz/60Y/q+Rvv3L777svee++d02NKkiTlUmpFewihZwihJISwJIQwPYTQbydt9w8hrA4hPLjN+h+GEF6rXP6r4VNLUroGDx5M9+7defjhh6vWPfzww3Tr1o3DDz98q7aXXnopIQSmT5/Ol7/8ZXr16kVxcTHf+c53ePHFF7dq+7WvfY2JEyfyxhtvVK276667+NrXvkZh4b8GZW3YsIELL7yQU045hUcffZQTTzyRHj16cMwxx3DjjTdy++237zD7pk2b+N73vsdBBx1E27ZtOeaYY5gwYULV9tdff53TTjuNjh070rZtW4qLi3niiScoLS1lxIgRAHTs2JEQQtVV/22HxxcVFXHttddy/vnn065dOw4++GAeeeQR1q5dyxlnnEG7du0YMGAAM2fOrPrMO++8wznnnEPXrl1p06YNAwYM4L777qvafsEFFzBx4kRuueUWQgiEECgtLQVg4cKFnHLKKbRr147OnTtz3nnnsW7duh3+GUiSJNVWmlfabwfuiDH2Am4A/rSTtr8Hnqi+IoRwPHAOMBDoB5wcQhjZQFkl7SGvyNe/Cy+8cKur4nfddRcXXXTRVm3effddxo8fz2WXXbbdlXJgqyHmAJ07d2bkyJGMHTsWqCjOH3jgge32+9RTT7Fu3Tq+973v1Zht2/1um3vKlCncf//9zJ07l7POOouTTjqJpUuXAnDZZZdRVlbGpEmTmDdvHr/61a9o164d3bp146GHHgJg8eLFvPXWW9xyyy07PM7NN9/MsGHDmD17NqNGjeK8887j/PPP59xzz2XWrFkcdthhnH/++cQYgYqRCkcccQSPP/448+fP51vf+hbnnXce06ZNA+CWW25hyJAhXHzxxbz11lu89dZbdOvWjbfeeovhw4czaNAgZs6cyfjx41m9ejVf+cpXdphNkiSptlK5pz2EcAAwGPhC5aqHgFtDCEUxxtJt2n4NWA3MBE6ttuls4J4Y48eV7e6iooh/qobjtQJaVV83apTPkpZ2xUI7P5133nlcc801lJaWEkKoKoSrX7V+9dVXiTHSp0+f3d7vRRddxHe/+13+8z//kwcffJBDDz2UQYMGbdVmS4Fdm/0CvPbaa9x3332sXLmSAw88EICrr76a8ePHc/fdd3PdddexYsUKzjzzTAYMGADAIYccUvX5fffdF4ADDjhgpz8MAJxyyimMHj0agB//+MfcdtttHHXUUZx11lkAfP/732fIkCGsXr2aLl26cNBBB3H11VdXff6KK65g/Pjx/O1vf+OYY46hQ4cOtGzZkjZt2tClS5eqdrfddhuDBw/muuuuq1p311130a1bN5YsWdIg9/ZLkqTmJ62J6LoBb8YYywFijDGEsALoDpRuaRRCOBD4DjAc+PI2++gOTKz2vrSGNltcA/yk+ootHU9JtdeKTfQKK+kZVlIYspTHApbEriyJ3dKO1ix06tSJUaNGMXbsWGKMjBo1ik6dOm3VZstV5BDCbu931KhRjB49mkmTJtV49b76fmtr1qxZxBi3K2TLysrYb7/9APj2t7/Nf/zHf/D0009z4okncuaZZzJw4MBaH6v6Zzp37gxQ9UNA9XVr1qyhS5cuZLNZrr/+eh544AFWrVpFWVkZZWVlNY5QqO6ll17i+eefp127dttte+211yzaJUlSvUhz9vhte3419SzvBL4XY/xoBx3P6vvYWc/0l8D/VF/Rs2fP9bsTUtK/HB0W8dXCZzkpM4O9wubttn8SW/Lwj+7kL+WfZWas3ZVY1c5FF13E5ZdfDsDvfve77bb37NmTEAKLFi3i3/7t33Zrn4WFhZx33nn85Cc/Ydq0afz973/frs2WQvSVV15hyJAhu503SRIKCgp46aWXKCgo2GrblqL3m9/8JiNHjmTcuHE8/fTT/PKXv+Smm27iiiuu2O3jAFvNJr/l3FHTuiRJALjpppu4+eab+fWvf82AAQNo27YtV111FZs2bdrldzrttNP41a9+td22T33qU7XKLEmStCNpFe1vAF1DCIUxxvJQ0YPqBqzYpt0Q4E+VHax2QOsQwlMxxpGVbYuqtT24hs8DEGMsA8qqrzv99NPr43tIzUJReIsfFd7L5wpm81ryKW4pP5OpST9eid3YSEtaU0af8AZDMgs4q2AiX2r1Ak9nj+Da8nNZETvXvM9tht7X9vFnzd1JJ51UVVSOHLn9dB777rsvI0eO5He/+x3f/va3t7tq/P7779c4zPyiiy7ixhtv5Oyzz6Zjx47bbf/CF75Ap06duOGGG2os6ne038MPP5xsNsuaNWs47rjjdvi9unXrxiWXXMIll1zCNddcw5133skVV1xBy5YtAchmszv87J6aPHkyZ5xxBueeey5QUYwvXbqUvn37VrVp2bLldscePHgwDz30EEVFRVtN1idJklSfUpmILsa4BpgNnFu56kygdNv72WOM+8YYi2KMRcDVwJOVBTvA34CvhxDaVt6zfhFwfy7yS41ZbR/XdlbBBMa3HEPvzBv8x6Yr+dymG7ktezovx8PYSCsg8Al7MTv25PfZf2PEpv/h8k1XUJwp5amW3+eLmckN/6WaoYKCAhYtWsSiRYu2u3K9xe9//3uy2SxHH300Dz30EEuXLmXRokX85je/2eFV8r59+7Ju3brtHv+2Rdu2bfnjH//IuHHjOP3003nmmWcoLS1l5syZfO973+OSSy6p8XO9evXia1/7Gueffz4PP/wwy5cvZ8aMGfzqV7/iiScq5hm96qqreOqpp1i+fDmzZs3iueeeqyqcDz74YEIIPP7446xdu5aPPvqotn9kO3TYYYfxz3/+k5KSEhYtWsTo0aN5++23t2pTVFTEtGnTKC0tZd26dSRJwmWXXca7777LOeecw/Tp01m2bBlPP/00F110UYP8uCBJkpqnNGePHw2MDiEsAcYA3wAIITwRQjhyVx+OMU4A/grMAxYBT8cYxzdcXKmZyZZzXeGd/HeLO3g4+xk+V3YjTybHsPM7UQACjydDOLHsvxmXHMvNLW/j54V3kyHJRepmpX379rRv336H23v06MGsWbMYMWIE3/3ud+nfvz+f//znefbZZ7ntttt2+Ln99tuP1q1b73D7GWecQUlJCS1atOCrX/0qffr04ZxzzmH9+vVce+21O/zc3Xffzfnnn893v/tdevfuzemnn860adPo1q1iLoRsNstll11G3759Oemkk+jduze///3vATjooIP42c9+xpgxY+jcuXPVrQH14Uc/+hGDBw9m5MiRnHDCCXTp0mW7WwquvvpqCgoK6NevH/vvvz8rVqzgwAMPZMqUKWSzWUaOHEn//v258sor6dChA5lMmqdXSZLUlIQ9nVSosTv99NPjo48+mnYMKed2a1h6+SZ46BuUL3yca8q/yd+yJ+zh0SJfLXiO/yq8i8eTIZzx00ehoMXu55CamRDCYzFG79+qJ57rd0+unxTiv/eSmrM9Odd7E56kKkVjxlFAltta/JrhmTlcvvkq/pnscuDLTgT+kv0c78V2/KbFrYz76SlcsfnbJKkO8pEkSZIaD3vOkqqJ/KzwHj6bmc3ozf9fHQv2f3kyOYZLN1/JSZkZ/LDw3nrZpyRJktQcWLRLqnJxwTjOLXyWH5R/gwnJ4fW6738mR/KT8gu4qHA8FxY8Wa/7liRJkpoqh8dLqrB8MmMK7+N35afz1+yIBjnEvdnPc3BYzX8W/pm5ySG8FHs3yHEkSZKkpsKiXWrmisaMoxPreaLVNbya9OWm8q806PGuLz+HT2de47ctf8uosut4jx3Pfi5JkiQ1dw6Pl5q9yI0t/kAgcuXmyxt8krgsBVyx6QpasZkbWtwJVDzBojbPjpckSZKaC4t2qZk7q2AiJxTM4f9t/hZr2Scnx1zNvozZfDGfL3iJMzJTcnJMSZIkqTGyaJeasS68w48K/48Hs8fX+8Rzu/LP5EgeyQ7lZy3Gsj/v5/TYkiRJUmNh0S41Yz9vcQ+f0Iqfbz43leP/dPP5bKaAn7QYm8rxJUmSpHxn0S41UydkXuYLBS/x883n8wHtUsnwHu35xeZzObVgGkMyC1LJIEmSJOUzi3apGWrJZn5c+L9MyRYzLjkm1Sz/SIYxPenNzwrvoZDyVLNIkiRJ+cZHvknNwLYzsl9U8CTdwlq+tfk7QEgnVJXATzd/ncda/ifnF/yTu7Inp5xHkiRJyh9eaZeamX34kEsLH+Xe7Im8GrumHQeAhbGIB7IjuKLw77Tn47TjSJIkSXnDK+1SM3NZ4SMEIr8t/2LaUbZyc/mZ/FvBFEYXPkbRmLZbbSu9flRKqSRJkqR0eaVdakYOYi3nFzzNHeWjeJf2acfZylo68qfsyVxUMJ7OvJt2HEmSJCkvWLRLzci3C//OB7ThT9lT0o5SozvKT+UTWnJ54T/SjiJJkiTlBYfHS03UtpPPdQ1r+FLBZK4v/3c2sFdKqXbuQ9rwx/JRXFn4EL8rP4O32S/tSJIkSVKqvNIuNROXFjzC+7Tlz9kT046yU2OzX2ADe3FJ4WNpR5EkSZJSZ9EuNQMHsZazCiZxZ/koNtIq7Tg79TGt+VP5yZxT8DwH8F7acSRJkqRUWbRLzcDFheP4kNbcm/182lF2y9jsSDbSgm8WPgFUDPXfskiSJEnNiUW71MR15APOLpjA2PKReXsv+7Y+pA33Zk/knILnfG67JEmSmjWLdqmJO6/gGQD+t5FcZd/invKRtGQzXy14Nu0okiRJUmos2qUmrBWbOL/waf6WHc57efZc9l1ZS0f+nv0MFxaOpyWb044jSZIkpcKiXWrCvlQwmY58yB/z9Lnsu3JndhSdw/uclpmadhRJkiQpFRbtUpMVuaDgKZ5NBrMidk47zB55LR7E89lPc0HheCCmHUeSJEnKOYt2qYkakllI78xK7s6elHaUOhmbHcmATCmDw9K0o0iSJEk5V5h2AEkN44KCp1icdGVq0i/tKHUyMRnIsqQLFxaOZ9bmXls99q30+lEpJpMkSZIanlfapabo/RWcmHmJsdmRQEg7TZ1EMozNjuTkzHQ6827acSRJkqScsmiXmqJZ/8vH7MXfs8PSTlIvHsoeRxkt+ErBhLSjSJIkSTll0S41NdlymP1nHs0O5RP2SjtNvfiINjyeHcLZhRMIJGnHkSRJknLGol1qal57Fj58k/uzI9JOUq8eyJ5A17COYZkFaUeRJEmScsaiXWpqZv0vdBnA/Ngj7ST1albsyZLkIP694Pm0o0iSJEk5Y9EuNSUfrobFT8Lgr9PYJ6DbXuCB7Ai+kJlBRz5IO4wkSZKUExbtUhNRNGYcv7r+x2xMMgx8uEPacRrEw9nPAPClghdSTiJJkiTlhkW71GREzi54nnHJMXxA27TDNIj3aM/TyVGcXfA8ENOOI0mSJDU4i3apiTg2s4iizGoeKG9aE9Bt6/7sCHplVjE4LE07iiRJktTgLNqlJuLsgudZlnRheuyTdpQGNSUp5o1kf872me2SJElqBizapabgk/c4JTOdB7IjaHoT0G0tkuGB7AmcVjAVyj5MO44kSZLUoCzapaZg4SMUUl41UVtT93D2ONqEMlj0eNpRJEmSpAZl0S41BfMeZErSn7V0TDtJTrxJJ6YlfWDe39KOIkmSJDUoi3apsVu/Ckpf4NFkaNpJcuqR7DBY9jx8tCbtKJIkSVKDsWiXGrv5D0FBS8Znj0o7SU49kT0aQgEs+HvaUSRJkqQGk1rRHkLoGUIoCSEsCSFMDyH0q6HNF0MIc0MIL4cQFoQQfhFCCJXbLgghvF+57eUQwvO5/xZSuorGjGPBU39k3KZP8xFt0o6TU++zNxx2Isz9a9pRJEmSpAaT5pX224E7Yoy9gBuAP9XQ5hlgUIxxEHA48HngtOrbY4yDKpem/XBqqQaHhZUUZ16vGCreHA08C1bNhHeXpZ1EkiRJahCpFO0hhAOAwcC9laseAnqEEIqqt4sxfhhjTCrf7gW0AhIkAXBGQQnrYxsmJIPSjpKOXidDy3Yw78G0k0iSJEkNIq0r7d2AN2OM5QAxxgisALpv2zCEMDSEMBdYAzwLjKu2eXjl0PgpIYQv7+hgIYRWIYT21ZcksfZXIxcjZ2Sm8ET2GDbRIu006WjZBvqcWjFEPsa000iSJEn1Ls3h8dv2sEONjWIsiTEOpKLQPwo4rnLT48DBlUPnvwncHEI4dgfHugZYX31ZunRpHeNLKVs5g+6Ztc1u1vjtDDgL3lkKb81JO4kkSZJU7wpTOu4bQNcQQmGMsbxycrluVFxtr1GMcW0IYRxwFjApxriu2rZFIYQngGHAizV8/JfA/1Rf0bNnz/X18D2k9Mz9K2/FfZmW9E07SboOOQHadIJ5f6PoN6uqVpdePyq1SJIkSVJ9SeVKe4xxDTAbOLdy1ZlAaYyxtHq7EELvEEKm8vXewKnA3Mr3B1Vr1xn4bOU+azpeWYzxg+pLJuPT7tSIZcthwd95LDuEpLk/ubGgEPp/CeY/RHDKC0mSJDUxafb2RwOjQwhLgDHANwBCCE+EEI6sbHMWMD+EMAeYSsVs8n+s3HZZ5WPgXgb+CdwcY3wup99ASsvrU2DDOh7P7uiOkGam+Evw4VsMDt72IkmSpKYlreHxxBgXA0NqWH9KtdfXAtfu4PM/AH7QYAGlfLbwEejQjbmrD0k7SX7odgy068Ip5dN5qbx32mkkSZKketPMx9VKjVCSwCuPQ9/T2cH8jc1PJgN9T2VkwQy2n+NSkiRJarws2qXG5o1p8NFq6HdG2knyS78z6BrWMTAsSzuJJEmSVG9SGx4vaQ8tfAT2/hR0PQp4Mu00qSoaM67qdQFZprfam1MKpjO3/NCttjmTvCRJkhorr7RLjUmMrHrxr4x9rz9FP2jeBfu2shTwdPZITspMxyHykiRJaios2qXGZNUsDgrv8GRyTNpJ8tKTydEUZVbTN6xIO4okSZJULyzapcZk4T9YF9szPemTdpK8NDUpZn1sw8kF09KOIkmSJNUL72mX8ty/7s2OTGx5P1OSI0j8va1GmynkmeQITs7M4H/4StpxJEmSpDqz5y81Ev3C6xycWePQ+F14Ins0PTOrOCysTDuKJEmSVGcW7VIjcXLBdN6PbZma9Es7Sl57IRnAR3EvTs5MTzuKpJ0IIfQMIZSEEJaEEKaHELb7xy2EsFcI4Z4QwrwQwvwQwqMhhE5p5JUkKS0W7VIjcVJmBs8kR1DuXS07VUZLnk0Gc3LBjLSjSNq524E7Yoy9gBuAP9XQZjTQDhgYY+wPrAa+l7uIkiSlz6JdagR6hLfomVnFU9kj047SKDydPZJ+mdc5iLVpR5FUgxDCAcBg4N7KVQ8BPUIIRTU0bwO0CCEUUlHA13jvSwihVQihffUlSZL6Dy9JUo5ZtEuNwOcys9gYW/BC0j/tKI3CpGQgm2IBnyuYlXYUSTXrBrwZYywHiDFGYAXQfZt2twMfAGuouMreAbh1B/u8BlhffVm6dGn9J5ckKccs2qVG4MSCWbyQ9OcT9ko7SqPwIW14MenHiRmLdimPxW3ehxranFjZrgvwKeB94Mc72N8vqSjqq5aePXvWT1JJklJk0S7luX34kCPDYp5Jjkg7SqPyTDKYYzML2ZsNaUeRtL03gK6VQ94JIQQqrr6v2KbdJcDfY4wbY4ybgD8DI2raYYyxLMb4QfUlk7GbI0lq/DybSXnuhMwcCkPCs9nD047SqDybHUzLkOX4zNy0o0jaRoxxDTAbOLdy1ZlAaYyxdJumy4CRoRJwKjA/Z0ElScoDFu1Snjux4CVeTg5hLR3TjtKorGJ/FiYHe1+7lL9GA6NDCEuAMcA3AEIIT4QQtsy6+VMqhrovoKJY7wT8KPdRJUlKj8+OkvJZeRnDM3O5vfzUtJM0Sv9MBvP1gqchWw4F/nMn5ZMY42JgSA3rT6n2+l3gy7nMJUlSvvFKu5TPSl9g7/CJ97PvoWeyR7BP+BjeeDHtKJIkSdIesWiX8tniJ1kZO/FK7JZ2kkZpfizi7dgRFj+ZdhRJkiRpj1i0S/kqRlj8JP/MHkHNT0LSrkQyPJsdDK+Mq/jzlCRJkhoZi3YpX62eDx+s5JlkcNpJGrVnksHw3nJYtyTtKJIkSVKtWbRL+Wrxk9CqPdOTvmknadRKkmJo0QYWP5F2FEmSJKnWnE5ZyleLn4RDP8vmWf5nWhdltOSpjf3Y7+m/8OXHewFQev2olFNJkiRJu8cr7VI++mgNvDkLep2UdpIm4flkEIeHpXTgo7SjSJIkSbVi0S7loe9cdxMAR97v5Gn1YUL20xSEyPGZuWlHkSRJkmrFol3KQyMKXmZOcgjr6JB2lCbhbfZjUdKdEwrmpB1FkiRJqhWLdinfZMs5LjOPCcmgtJM0Kc8ngxiemUMgSTuKJEmStNss2qV8s2om+4SPeT5r0V6fns8OolP4gAFhedpRJEmSpN1m0S7lm6VP807cm7nxkLSTNCmzYk8+iG0YkXk57SiSJEnSbvNZUlIeKBozrur1uJYPsjh+msTf1OpVlgImJQMYUWDRLkmSpMbDqkDKI515l+LM60xwaHyDmJAMYmBYBh+vSzuKJEmStFu80i7lkeEFc8jGwKRkQNpRmqSJ2U+TaRG56hc38Y/kMwCUXj8q5VSSJEnSjnmlXcojIzIvMzv25H32TjtKk7SWfZib9HCIvCRJkhoNi3YpTxRSzmcy82tVL+cAACAASURBVJ01voE9nwzi+MxcMj76TZIkSY2ARbuUJ47MLGHv8AkTkk+nHaVJm5AdRMfwEYPCq2lHkSRJknbJol3KEydkXmZN3IeF8eC0ozRpc+KhvBvbOURekiRJjYJFu5QnhmfmMikZSPQ/ywaVkOGFZADHZeamHUWSJEnaJasDKQ/sz3v0zaxgUtZZ43NhcjKAgWE5+/Bh2lEkSZKknbJol/LAZzLzAXjBR73lxOTsADIhMiyzIO0okiRJ0k5ZtEt54LiCecxLiniX9mlHaRbeZj8WJ10dIi9JkqS8Z9EupS1JOC4zj8nJwLSTNCuTkwEcVzAPYkw7iiRJkrRDFu1S2lbPZ/+wnskOjc+pyclADgrvwLolaUeRJEmSdsiiXUrba8+xIbbipaRX2kmalWlJH8piIbz2XNpRJEmSpB0qTOvAIYSewFigE/A+cEGMceE2bb4I/AxIgBbAP4AfxlgxnjWE8EPgwsrmf4kx/ihH8aX689pzvJj0ZRMt0k7SrGykFTOS3mwadz8X/aN71frS60elmEqSJEnaWppX2m8H7ogx9gJuAP5UQ5tngEExxkHA4cDngdMAQgjHA+cAA4F+wMkhhJG5CC7Vm00bYMVUh8anZHIykGMzi2jJ5rSjSJIkSTVKpWgPIRwADAburVz1ENAjhFBUvV2M8cMYY1L5di+gFRVX3QHOBu6JMX4cYywD7qKiiJcaj9dLILuJSU5Cl4rJyQDahDKOyHhfuyRJkvJTWlfauwFvxhjLASqHu68Aum/bMIQwNIQwF1gDPAuMq9zUHXi9WtPSmj5fuY9WIYT21ZckSWpqKuXWa89B+668Fg9MO0mztCh2Z23swPHVHv1WNGZc1SJJkiSlLc3h8ds+ZynU2CjGkhjjQCoK/aOA43awjxo/X+kaYH31ZenSpbUOLNW7156FQ0ew87++aiiRTMWj3zLz0o4iSZIk1Sitov0NoGsIoRAghBCoKMpX7OgDMca1VFxlP6ty1QqgqFqTg3fy+V8CHaovPXv2rEN8qR6sXwVrX4FDP5t2kmZtcnYA/TOl7Mf6tKNIkiRJ20mlaI8xrgFmA+dWrjoTKI0xllZvF0LoHULIVL7eGzgV2DKO9W/A10MIbUMIrYCLgPt3cLyyGOMH1ZdMxqfdKWXLngcCHHJCykGatxeS/gAMy8xPOYkkSZK0vTQr19HA6BDCEmAM8A2AEMITIYQjK9ucBcwPIcwBplIxm/wfAWKME4C/AvOARcDTMcbxOf0GUh08+vC9vJz0oOjnU9OO0qytpSOLku4cX+AQeUmSJOWf1J7THmNcDAypYf0p1V5fC1y7k338HPh5gwSUGlKS8JnMPP6cPTHtJAImJQP4t4IpVEyT4fwCkiRJyh+OEZfS8PYc9g0fMTnr89nzweRkIJ3D+/QOb6QdRZIkSdqKRbuUhlef5aO4F7OiEyLmgxlJbzbGFs4iL0mSpLxj0S6l4bXnmZoUU57eHSqqpoyWTEv6bvW8dkmSJCkfWLRLuVb2IbwxjUmJQ+PzyaRkAEdnXqEVm9KOIkmSJFWxaJdyrXQKJJuZbNGeVyYnA9krbObozCtpR5EkSZKqWLRLubZ8InToRmnsknYSVbMkdmVN3MfntUuSJCmvWLRLubZsIvQYjo8WyzeBKUmxRbskSZLyikW7lEsfrYU1C6DH8WknUQ1KkmKKw+vsw4dpR5EkSZIAnLpaakhFY8Zt9X5U5kV+1xKOvm9zSom0M1Oy/cm0iAzJLOTJ5Ji040iSJEleaZdyaWhmAa8mB7KGjmlHUQ3epBPLki4OkZckSVLesGiXcmhoZj4lSXHaMbQTJUkxQzML0o4hSZIkARbtUs4cyDp6ZFZbtOe5F5IBHJJ5mwNZl3YUSZIkyaJdypUhmYUkMfBi0jftKNqJqUk/khgYVuAQeUmSJKXPol3KkaEF81kYD+Z99k47inZiPe1YEA92iLwkSZLygkW7lBORoZmFDo1vJKYkAxiWWQAxph1FkiRJzZxFu5QDPcLbfCq8S0nSL+0o2g1TkmIOCO/D2lfSjiJJkqRmzqJdyoGhmQVsjgXMSPqkHUW7YUbSm7JYCMsmph1FkiRJzZxFu5QDQzPzmRMP5WNapx1Fu2EjrZiV9ILlFu2SJElKl0W71MACCUMyCx0a38hMSYqh9AXIlqcdRZIkSc2YRbvUwPqEN9g3fMRUJ6FrVEqSYij7AN6cnXYUSZIkNWMW7VIDG5pZwMbYgllJz7SjqBbmxEOh5d6wfELaUSRJktSMWbRLDWxoZgEzk16U0TLtKKqFLAVQ9Bkno5MkSVKqLNqlBlRIOcdkFvl89sbqkOHwxjTYtCHtJJIkSWqmLNqlBjQgLKdd2Oj97I3VISdAdhO88WLaSSRJktRMWbRLDWhoZgEfxtbMjYekHUV7Yv8+0K4zLJuQdhJJkiQ1UxbtUgMamlnAtKRPxf3RanxCgB7Dva9dkiRJqbFolxrK5o0cmVni0PjG7pDh8NYc2PBu2kkkSZLUDFm0Sw1l5XRahc1OQtfY9RgORCh9Ie0kkiRJaoYs2qWGsmwi78S9eSV2SzuJ6mKfbtCxByyflHYSSZIkNUOFaQeQmqzlk5ia9CP621ijVTRmHADXFfbgqHee4POTR1RtK71+VFqxJEmS1IxYTUgNoexDWPWS97M3ESVJMT0zqziA99KOIkmSpGbGol1qCK9PhZj1fvYmYmrSD4AhmQUpJ5EkSVJzY9EuNYTlE6H9QSyPXdJOonrwDh1YlHRjaGZh2lEkSZLUzFi0Sw1h+UTocTwQ0k6iejI1KWZYwXwgph1FkiRJzYhFu1TPBo25H96ex3dndEg7iupRSVJM17CObmFN2lEkSZLUjFi0S/VsSOUQau9nb1qmJX3JxuAQeUmSJOWUj3yT6tnQzAKWJV14i/3SjqJ69CFtmBcPYVhmPg9kR1Q9Dg58/JskSZIajlfapXo2NLPAR701USVJceUM8t7XLkmSpNywaJfq0wdvcmjmLYfGN1FTkmL2Dx/QM6xKO4okSZKaCYt2qT4tnwT867nealpeSnpRFgsZlpmfdhRJkiQ1ExbtUn1aPolFSXfepX3aSdQANtKK2bEnQzML0o4iSZKkZsKiXaovMcLySQ6Nb+KmZIs5NrOIDEnaUSRJktQMWLRLdVQ0ZhxFY8Zx/A/uhvVvUOLQ+CatJCmmfdhA/7A87ShSoxZC6BlCKAkhLAkhTA8h1PiPZwhheAhhRghhQQjhlRDCkFxnlSQpTakV7btzsg4hnB1CmB1CmB9CmBdCuKLathNCCBtCCC9XW1rn9ltI/zIsM5/ymGFa0jftKGpAc+OhfBxbOUReqrvbgTtijL2AG4A/bdsghHAgMBY4P8ZYDAwCFuU0pSRJKUvzSvsuT9bASuDkGGN/4DPAlSGEYdW2L4wxDqq2fNLwsaWaDc0sYF48hI9ok3YUNaDNFDI96WPRLtVBCOEAYDBwb+Wqh4AeIYSibZpeCtwbY1wEEGPcGGN8P1c5JUnKB6kU7bt7so4xTokxvl35ej3wCtBjD47XKoTQvvqSJN6PqvoUGZJZ6ND4ZqIkKeaozGJasjntKFJj1Q14M8ZYDhBjjMAKoPs27foBrUMIz1SOqPttCKHGX0Y910uSmqq0rrTv7sm6SuXw+SHAc9VW9w4hzKq81+3SnRzvGmB99WXp0qV1/ArSv/QOb9ApfOAkdM1ESVJM67CJQeHVtKNIjVnc5n2ooU0L4ATgLOBIoAPw0x3sz3O9JKlJSnN4/O6crCs2hNAVeAS4JMb4ZuXqWUDXGONg4IvAJSGEr+xgF7+k4kRftfTs2bMu2aWtDM0soCwWMjPpnXYU5cDCeDDvx7YMK3CIvLSH3gC6hhAKAUIIgYof9Fds0+51YFyM8b3KH/rvB47ewT4910uSmqS0ivbdPVlvmYTmGeDaGOPftqyPMX5QOWSeGONK4D7guJoOFmMsq2xftWQyTpyv+jM0s5BZSS/KaJl2FOVAJMPUpB9DvK9d2iMxxjXAbODcylVnAqUxxtJtmv4FGBFCaFX5/iRgzg726blektQk7fHZLISwx9XJ7p6sQwifAp4FfhVjHLvtthBCpvL13sCplfuUcqqALMd4P3uzMyXpz+HhVVqzMe0oUirq0g+oNBoYHUJYAowBvlG53ydCCEcCxBhLgMeAl0MI84D9gR/X8biSJDUqdfkJelUI4ZchhB3eh74LuzxZAz+n4j73K6s91u3Cym1nAvNCCHOAF4F/Anfv6ZeR9lT/sJz24RPvZ29mpib9aBGyHJ1ZnHYUKS116gfEGBfHGIfEGHvFGI+MMS6oXH9KjHFmtXY3xBj7xhgHxBjP2TLKTpKk5qKwDp99DPg2cHUI4XHg1hjjs7v74RjjYiomltt2/SnVXl8MXLyDz98K3Frb0FJ9G5pZyMexFXPioWlHUQ69Fg9kddzHIfJqzurUD5AkSbtnj6+0xxgvAroC/wl8Gng6hLAohHB55XB1qVkYklnA9KQP5XX6DUyNT2BK0t/ntavZsh8gSVJu1GmGlsrZXG8ADqViBvc3gFuoGDJ3awihTz1klPJXeRlHZRY7NL6Zmpr0o38ohQ3vph1FSoX9AEmSGl69TKsaKzwKfB+YCLQDLgUWhBAeCiEcUB/HkfLOyhm0Dpss2pupkmwxmRDh9SlpR5FSZT9AkqSGU+eiPYRQGEI4J4TwAjATOISKk3YRcBUVj2H737oeR8pLyyfxfmzLwnhw2kmUglXsT2nSGZZPSjuKlBr7AZIkNaw9vgk3hHAQFTPAXwx0BiYDXwH+HmNMKpv9NoSwCri3rkGlvLR8ElOTfsT6GbSiRqgk6UfRsolpx5Byzn6AJEm5UZeZs0qBcuB+4JYY48s7aLcMWF2H40h5p2jMONqwkTmtplOSnJd2HKVoalLMV9c9Dx++DXt3STuOlEul2A+QJKnB1eXy4M+A7jHGC3dyoibG+HKMsUcdjiPlpaMyi2kRst7P3sxN3fL///LJ6QaRcs9+gCRJOVCXon0FkNS0IYSwbwjh/DrsW8p7QzILWB334bV4YNpRlKJ1dIAD+sHyCWlHkXLNfoAkSTlQl6L9bioe8VKTHpXbpSZraGZB5VX2kHYUpa3H8U5Gp+bIfoAkSTlQl6J9Z5XKXkC2DvuW8loHPqJ/KHVovAD45uS28P4KPnPN3RSNGZd2HClX7AdIkpQDtZqILoTQnYpHuGxxeAhhr22atQa+RcWwOalJOjaziEyI/7qfWc3a9KQP2RgYllnAA1kfR62my36AJEm5V9vZ4y8EfgLEyuX3NbTZ8sv7lXXIJeW1IZkFvJ4cwMq4f9pRlAc+oC3zYg+GZhbwQHZE2nGkhmQ/QJKkHKtt0f5XYD4VJ+S/Aj8Alm7TpgyYH2MsrXM6KU/96352qUJJ0p+zCiZSUcdITZb9AEmScqxWRXuMcRGwCCCEcCHweIzxnYYIJuWtD9+mV2YVt5Z/Me0kyiMlSTGXFj5Kz7Aq7ShSg7EfIElS7tX2SnuVGOPY+gwiNRqVz+P2Sruqm5n0oiwWMjSzIO0oUk7YD5AkKTdqOxHdj4E/xhjfrHy9MzHG+F97Hk3KU8snsjjpWvF8bqnSRloxO/a0aFeTZj9AkqTcq+2V9p8C44E3K1/vTAQ8WavpWT7Rq+yqUUm2mG8UPgFJFjIFaceRGsJPsR8gSVJO1fae9kxNr6XmoGjMOLqGNbzQagVTkzPTjqM8VJL04zvhQXhrDhw0OO04Ur2zHyBJUu55wpVqYWhmAdkYeDHpl3YU5aE58TA+jq1g+cS0o0iSJKmJ2OOiPYSwVwih/TbrvhJCuD6EcGLdo0n5Z2hmAfNjDz6gbdpRlIc2U8iMpA8sn5R2FKnB2Q+QJCk36nKl/f+A32x5E0L4NnA/8D3gqRDCKXXMJuWZyNDMQqZ6P7t2oiTpxyevvkDPMY9QNGZc2nGkhmQ/QJKkHKhL0X40FZPRbPFt4F5gH+Bh4Oo67FvKO4eFVRwQ3qfEofHaiSlJf1qHTRwelqYdRWpo9gMkScqBuhTt+wOrAEIIPYBDgN/GGD8A/gT0r3s8KX8MzSxgUyxgRtI77SjKY4viwbwf2zK0wEe/qcmzHyBJUg7UpWjfAFUPqj4O+AiYWfl+I9CuDvuW8s7QzEJmx558wl5pR1EeS8jwYtKPIZmFaUeRGpr9AEmScqAuRfs84LIQwgDgUuD5GGOs3NYdeLuu4aS8kWQZklnAVIfGazdMSYo5PCylNRvTjiI1JPsBkiTlQK2e076N/wIeB14GNgHVZ4odBcyqw76l/PL2XDqEDZRknYROu1aSFNMyZDkqszjtKFJDsh8gSVIO7HHRHmN8LoTQFzgCeDnGuKza5ueoOIlLTcPySXwSWzI79kw7iRqB1+KBrI77MNQh8mrC7AdIkpQbdbnSTozxdeD1GtbfXpf9Snln2URmJL3ZXLf/ZNRsBEqSYoZm5qcdRGpQ9gMkSWp4da5AQggHAAcDrbfdFmOcVNf9S6kr3wQrpjIlOSPtJGpESpJizigsgU/eg9Yd044jNRj7AZIkNaw9LtpDCJ8C/g8YUdNmIAIFe7p/KW+snAGbNzAl8X527b6pSTGZEKF0CvQ9Ne04Ur2zHyBJUm7U5Ur7rcDhwPeBuUBZvSSS8s2yCbDXPizcWJR2EjUiK+P+vJ4cwMHLJ1q0q6myHyBJUg7UpWgfDlwdY7y7vsJIeWn5ROhxPMnsujwhUc1RSVLMwcsdHawmy36AJEk5UJcqJAJv1FcQKS9t/ABWzoRDhqedRI3Q1KQY1r4CH65OO4rUEOwHSJKUA3Up2v8GOOZTTdvrJRCz0OOEtJOoESrZMg+CV9vVNNkPkCQpB+oyPP6vwJ0hhAzwGPDOtg1ijLPqsH8pfcsnQvuusN+hwOK006iRWUcH2L9vxd+jgWelHUeqb/YDJEnKgboU7c9V/u/lwGXbbHPWWDUNyyZWDI0PIe0kaqwOGQ6Ln0w7hdQQ7AdIkpQDdSnaL6y3FFIeOnLMX5i51wKuWjmcf7w4Lu04aqx6HA/T/gDvlULHorTTSPXJfoAkSTmwx0V7jHFsfQaR8s3QzAKg2n3J0h4YeM/HzG4VuObGW7nhFzemHUeqN/YDJEnKjXp5hlUIoXcIYVgIoW197E/KB0Mz81mSHMQaOqYdRY3YB7RlXuxR9SOQ1BTZD5AkqeHUqWgPIZwfQlgJLAQmAb0r1/81hHBxPeSTUjMss4ApSf+0Y6gJmJoUMzSzEGJMO4pUr+wHSJLU8Pa4aA8hnAXcA8yiYhKa6jN1zQK+UqdkUpreXU63zFqHxqtelCTFHBDeh7U+gUBNh/0ASZJyoy5X2q8B7o4xng7csc22RUC/OuxbSteyCWRj4MXEv8aquxlJbzbFAp/XrqbGfoAkSTlQl6K9L3D/Dra9C+y3sw+HEHqGEEpCCEtCCNNDCNud3EMIZ4cQZocQ5ocQ5oUQrthm+zdCCEtDCK+FEO4IIdRlNnzpX5ZPZG48lA9pk3YSNQEbacXs2LPiee1S01GnfoAkSdo9dSnaNwAddrDtIOC9XXz+duCOGGMv4AbgTzW0WQmcHGPsD3wGuDKEMAwghNAD+K/K9YcBXYBv1PZLSNtJElg+iSkOjVc9KskWQ+lkSLJpR5HqS137AZIkaTfUpWifAlweQgg1bLsAmLCjD4YQDgAGA/dWrnoI6BFCKKreLsY4Jcb4duXr9cArQI/KzV8G/h5jXB1jjMAfgHP28LtI/7J6Pmx4x0noVK+mJMWwcT28PTftKFJ92eN+gCRJ2n11Kdp/DhwLTAe+DUTgSyGEx4DjgV/s5LPdgDdjjOUAlUX3CqD7jj5QOXx+CPBc5aruwOvVmpTu6PMhhFYhhPbVlyRJdv0N1ewUjRnHtbf+gY2xBbOSnmnHURMyJx4GLdrAMofIq8moSz9AkiTtpj0u2mOMM4GTgXbATVTMGvsDoBdwSoxx/q52sc37mn6pr9gQQlfgEeCSGOObO9jHDj9PxWQ566svS5cu3UU8NVfDMvOZkfSmjJZpR1ETsplC6D7EyejUZNRDP0CSJO2GOj2nPcb4fIyxL9CTinvL+8QYe8cYJ+zio28AXbdMHFc5tK4bFVfbtxJCOBB4Brg2xvi3aptWAEXV3h9c0+cr/ZKK++6qlp49vYqq7bWgnKMzr1Di0Hg1hEOGw4qpUL4p7SRSvahDP0CSJO2mPSraQwj7hxB+GEJ4OoQwn4qr4D8Fzgwh7HK22BjjGmA2cG7lqjOB0hhj6TbH+RTwLPCrGOPYbXbzEPDFEELnyqL/EnYwi22MsSzG+EH1JZOp0+8VaqIGhVdpG8p4waJdDaHH8bB5A6yamXYSqU7q2g+QJEm7r9aVawjhc8BSKu5lG0HFI106Vb7+BbAkhHD8buxqNDA6hLAEGEPlzO8hhCdCCEdWtvk5FfepXxlCeLlyuRAgxrgM+AkVE+G8Bqyh5hnopd02rGA+62MbFsSitKOoKeoyEPbq4BB5NWr12A+QJEm7oVZFewhhf+ABKu4L/wrQIcb4qRhjFyqGnf878DHw4K5+aY8xLo4xDokx9ooxHhljXFC5/pTK++SIMV4cY2wbYxxUbbm72j7ujDEeFmM8JMb4zRjj5tp8H2lbQzMLmJoUk9TtzhGpZpkCKDrOyejUaNVnP0CSJO2e2lYm3wAKgGExxgdjjBu2bIgxbogx/pWKe9pa4DPT1diUfcTh4VWHxqth9RgOK2fApo/TTiLtCfsBkiTlWG2L9i8Ad8UYV+6oQYxxBXA3cFJdgkk593oJLUKWkqQ47SRqynocD8lmWPFi2kmkPWE/QJKkHKtt0d4XeGE32k2ubCs1Hssn8lbcl2XxU2knUVO2f29o1xmWO0RejZL9AEmScqy2Rfs+VEz4titrKttKjceyiZVX2UPaSdREFY0ZR9E1T/CP9YcyZ/JjaceR9oT9AEmScqy2RXsrYHcmeysHWtY+jpSSj9bC6nm8kPV+djW8kqSY/mE5fPJe2lGk2rIfIElSjhXuwWd6hxDKd9Gmz56EkVJTWvEIrilOQqccKEn6UxAilE6BvqemHUeqLfsBkiTl0J4U7ffsRpsAxD3Yt5SO156HTr1Zs7Jj2knUDKyM+1OadKZo2fMW7WqM7tmNNvYDJEmqJ7Ut2i9skBRSmmKsKNr7nQ47nA9Zql+TkwEUvfZc2jGk2rIfIElSjtWqaI8xjm2oIFJq1i2FD1bCoZ/l/2/vvuPkqur/j78+u5uEmiAdhCQQAhhKILQEpItIEVFQigWwgdjb14D+7Ao2UL+KX8UCiogggkJCh0CkI4QECEkILiGEFlogkLZzfn/cCQ7Lbtgku3OmvJ6Px33szp0zM+87O3tnPnPOPZcJi3KnUZOYWNqODz57LTz7H1h7s9xxpB7xc4AkSdW3vBPRSY1n5vXQ2h+G7J47iZrIraVtIFrh4RtyR5EkSVINs2iXZl4Pg0dD/9VzJ1ETeZHVuLNjGFf843yGjh2XO44kSZJqlEW7mtqWYy/l5ekTOH36xhZOqrqJHduzR8v9tNKRO4okSZJqlEW7mtqolhmsFguZWNo+dxQ1oYml7RgYLzMyZuaOIkmSpBpl0a6mtmfLZOamgTyQBueOoiY0OW3OC2k19myZkjuKJEmSapRFu5rani1T+FdpW5L/Csqgg1ZuLm3Lnq0W7ZIkSeqalYqa1/y5bBvtTOxwaLzymVjajh3iIXjl+dxRJEmSVIMs2tW8Hp5ASyRuKm2XO4ma2MTS9rRFCdon5o4iSZKkGmTRruY18wamljblad6UO4ma2Oy0HjNLGxWnHpQkSZI6sWhXc0oJZl7vrPGqCRNL21m0S5IkqUsW7WpOT0+DF+cUxZKU2cTSdvBcOzz7cO4okiRJqjEW7WpOM6+H1gHcUdo6dxKJ20ojoKXN3nZJkiS9jkW7ms7QseOYMP4Cblq0JQvpnzuOxHxWhU13g5k35I4iSZKkGmPRrqYzgEXs1jLVofGqLcP2hYdvhI7FuZNIkiSphli0q+ns1DKdVWORk9CptgzbDxa9CLPvyp1EkiRJNcSiXU1nr5YpPJ0G8WDaNHcU6b822gFWfZPHtUuSJOk1LNrVdPZsmcxNpe2AyB1F+q+WVth8H4t2NY2IGB4Rt0TE9Ii4IyJGLKPtehHxZET8rZoZJUmqBRbtai4vPcU2LY8wscOh8apBw/aDOXfDy8/mTiJVw6+B36SUtgR+CPxuGW3PAsZXJZUkSTXGol3NpdyL+S8noVMtGrY/pBI8PCF3EqlPRcT6wCjgvPKqi4HNImJoF23fDzwJ3FitfJIk1RKLdjWXGVdzb2lz5jIodxLpNYaOHcfQ0yYxtbQpzLgmdxypr20KzEkpLQFIKSVgFjC4slFEbAx8ARj7RncYEQMiYmDlUiqV+iC6JEnVZdGu5lHqgIeuY0JpZO4kUrduLO0AD10LFhtqfKnT5a4mGjkb+J+U0ks9uL9TgBcqlxkzZqxcQkmSaoBFu5rH7LtgwfNM6NghdxKpWzd07ADzn4In7s0dRepLjwKbREQbQEQERe/7rE7txgC/i4h24MfAQRFxVTf3eRowqHIZPnx4H0SXJKm6LNrVPGZcDauuzb1pWO4kUrf+nYbDgIEOkVdDSyk9BdwDfKC86gigPaXU3qnd2imloSmlocCXgCtSSgd2c58LU0rzKpeWFj/mSJLqn+9mah4PXQNb7E/Jl71q2BLailO/WbSr8Z0InBgR0ymOWf8IQESMj4idsyaTJKmGWL2oObz4BDx+Lwx/e+4k0hv68uQNKT16JzuO/QtDx47LHUfqEymlaSmlMSmlLVNKO6eU7i+vPzildFcX7c9JKR1Z/aSSJOVl0a7m8NC1QBSn1JJq3I0dI2mJxJ4tU3JHkSRJUmYW7WoOM66BN+8Eq6+TO4n0hp7iTdxfGsI+rU5GJ0mS1Ows2tX4OhbD9mDJ9wAAIABJREFUzBscGq+6ckNpB/ZuuZcWPPWbJElSM7NoV+N79A5Y+AIMf1vuJFKPTegYyTrxItvHw7mjSJIkKSOLdjW+h66B1daFjXbMnUTqsXvScF5Iq7FP66TcUSRJkpSRRbsa34xrYPgB4Pl6VUc6aOWm0vbs02LRLkmS1MysYtTYXngMnrwPtnBovOrPhI4d2KHlYXjp6dxRJEmSlElb7gBSb6k8n3X76YcUvzx0LUQLDNsvUyppxd1YGln8MvM6GHl03jCSJEnKwqJdjW3G1bDJrgz99q25k0jLbS6DuLe0OSNnXG3RLkmS1KSyDY+PiOERcUtETI+IOyJiRBdtdim3eTki/tbpuuMj4vmImFRebqheetWFJYvg4RudNV51bUJpJDx0HZQ6ckeRJElSBjmPaf818JuU0pbAD4HfddHmceBzwOe7uY9rU0o7lJd9+yin6tWjt8GiFz0/u+rahI4dYMHzMPuu3FEkSZKUQZaiPSLWB0YB55VXXQxsFhFDK9ullGanlO4AFlY1oBrDjKthjQ1gw+1zJ5FW2L1pGKy6dvF6liRJUtPJ1dO+KTAnpbQEIKWUgFnA4OW8n73LQ+Nvjogju2sUEQMiYmDlUiqVVjy96sOMa2GLAyAidxJphZVogS32h4euyR1FkiRJGeQcHp86XV7eyupyYEhKaQfgo8CZETG6m7anAC9ULjNmzFjOh1Ndee4ReHpqcX52qd4Nfzs8fi/Mezx3EkmSJFVZrqL9UWCTiGgDiIig6H2f1dM7SCnNTSm9XP59KjAe2KOb5qcBgyqX4cOHr3h61b7pV0JLP0/1poYw8vzEktTCKT/4Ue4okiRJqrIsRXtK6SngHuAD5VVHAO0ppfae3kdEvLni9w2A/cr32dXjLUwpzatcWlpyDjJQX5t4+R+5afHWDP3mxNecv12qRy+wBnelrXhby925o0iSJKnKclauJwInRsR0YCzwEYCIGB8RO5d/HxYRs4EzgIMjYnZEnFy+/Scj4v6ImARcA5yZUrq++puhWrMmL7Nby1SuLY3KHUXqNdd2jGKPlvtg0fzcUSRJklRFbbkeOKU0DRjTxfqDK36fCWzSze1PBU7ts4CqW3u1TKZ/dHBdh0W7Gse1pVF8Lf4MD0+ArQ/JHUeSJElV4hhxNZz9W+9mamkwj7Fe7ihSr2lPGzGztBFMuyJ3FEmSJFWRRbsaSisd7Ndyj0Pj1ZCuLY2C6VeBp6yUJElqGhbtaig7xXTWivlc69B4NaBrO3aC+U/BHCekkyRJahYW7Woob2u9m6fSWkxOm+eOIvW6u9NwWPVNMG187iiSJEmqEot2NZT9W+7muo4dSb601YA6aIXhB8K0K3NHkSRJUpVY2ahhbB5zGNbyONd5PLsa2VbvgKfuh+ceyZ1EkiRJVWDRroaxf8vdLEj9+Fdp29xRpL4zbH9o6QfT7W2XJElqBhbtahhva72bf5W2ZQEDckeR+s4qA2HoWz2uXZIkqUlYtKsxzJ/LzjGNa0s75U4i9b2tD4H2f8Erz+VOIkmSpD5m0a7GMG08AVzTYdGuJrDVwVBaAtOvzp1EkiRJfawtdwCpV0y9nDvTVjzDoNxJpD41dOw4AC7tP4zH/3Y2B408KnMiSZIk9SV72lX/Fr4ID9/A1R07504iVc1VHbuwd8tkWPxK7iiSJEnqQxbtqn8zroGORVxV2iV3EqlqrirtzGqxEGZenzuKJEmS+pBFu+rf1Mtgw+2ZndbLnUSqmofTxkwvvbl4/UuSJKlhWbSrvi1ZWPS0v+WduZNIVXdVaReYdgV0LM4dRZIkSX3Eol317eEbYdGLsPWhuZNIVXdVx86w4Hl45ObcUSRJktRHLNpV3x68DNbeHNZ/S+4kUtXdlzaDQZvC1MtzR5EkSVIfsWhX/Sp1wIPji172iNxppAyCPzwzgsfvuJjNxnpsuyRJUiOyaFf9mnUbvDwX3nJY7iRSNld27MpG8Swj4+HcUSRJktQHLNpVvx68HNbYEN68U+4kUjZ3pq14Jq3Jga135o4iSZKkPmDRrvqUEjzwT3jLodDiy1jNq0QL13TsxDta7ij+LyRJktRQrHZUn2bfBfNmw4jDcyeRshtf2o3NWp6EJybnjiJJkqRe1pY7gLRCHrgUVl8fhuyeO4mU3S2lbXgurcH5v/wxP1pyNADtpx+SOZUkSZJ6gz3tqj+lEtx/KYw4DFpac6eRsltCG1d17MwhLbcDDpGXJElqJPa0q/489u9Xh8YPHTsudxqpJowrjebotglsE49wfxqaO44kSZJ6iT3tqj/3X+LQeKmTW0sjeC6twSGtt+WOIkmSpF5k0a66stnYy3js1gv44wsjGXrqlbnjSDVjCW1c2bELBztEXpIkqaFYtKuu7BgP8eZ4hnEdo3NHkWrOuNJohrY8yTbRnjuKJEmSeolFu+rKwa2383QaxJ1pq9xRpJpza2kEz6Y1OKT19txRJEmS1Ess2lU/SiUObr2d8R27UvKlK71OB61c2bELh7TcBskh8pIkSY3Aykf1Y/adbBzPMt6h8VK3xpdGM6TlKXh8Uu4okiRJ6gUW7aof91/CU2kth8ZLy3BraQTPpDWLsyxIkiSp7lm0qz6UOuD+vzOuYzeHxkvL0EErV3TsClMuhlIpdxxJkiStJKsf1Yf/3AQvPcmlHXvkTiLVvEs79oB5s+FRz9kuSZJU79pyB5B6ZMpF8KbNuPfxYbmTSDXv32lLGLQpTL4QhuwOwNCx4169vv30Q3JFkyRJ0nKyp121b/Er8MA/Yfv3AZE7jVTzEi2w3ZHwwKWwZFHuOJIkSVoJFu2qfdOvgkUvwnbvzZ1Eqh/bvRdeeQ5mXpc7iSRJklaCRbtq35SLYKMdYN3huZNI9WODbWD9bYr/H0mSJNUti3bVtleegxlXl4fGS1ou2x0JD46HhS/mTiJJkqQVZNGu2jb1MuhYDNu8J3cSqf5sdyQseaUo3CVJklSXLNpV2yZfCJvtBQM3yp1Eqj9rDYbBY2DKhbmTSJIkaQVZtKt2zZsD7f9yAjppZWx3JMy8gXV4IXcSSZIkrQDP065s3vC80VP+Bq392f7CAcy7cNzrr5f0xka8G674Coe23sa5HQfmTiNJkqTllK2nPSKGR8QtETE9Iu6IiBFdtNml3ObliPhbF9d/LSJmlpfvVCe5qiIlmHQ+bH0w81g9dxqpfq2+Dgw/kCNbb8ydRJIkSSsg5/D4XwO/SSltCfwQ+F0XbR4HPgd8vvMVEbEXcAywPTACOCgi7EZqFHPugaenwg4fyJ1Eqn87vp/tWtrZOmblTiJJkqTllKVoj4j1gVHAeeVVFwObRcTQynYppdkppTuAhV3czVHAOSml+SmlhcDvKYr4rh5vQEQMrFxKpVIvbY36xKQ/w5obwbB9cyeR6t/wtzM3DbS3XZIkqQ7l6mnfFJiTUloCkFJKwCxg8HLcx2DgkYrL7cu4/SnAC5XLjBkzljOyqmbxguJ49u2PgpbW3Gmk+tfaj3907MHhrTfTxpLcaSRJkrQcck5ElzpdjpW8j2Xd/jTgjMoVw4cPdyrlWjX9CljwPOzw/txJpLpVOdEjwNaxNx9pu4J9Wu4F3pUnlCRJkpZbrqL9UWCTiGhLKS2JiKDofV+eAy5nAUMrLg/p7vbl4fOvGWJ/2GGHLVdgVc8NF5zJoNiC9/xkBuCICKk3PJgGc19pKO91iLwkSVJdyTI8PqX0FHAPsHSWsSOA9pRS+3LczUXAcRGxekQMAD4MXNCrQVV98x5nr5bJXNSxd+4kUsO5qGNv9mu5B+bPzR1FkiRJPZRz9vgTgRMjYjowFvgIQESMj4idy78Pi4jZFEPbD46I2RFxMkBKaQJwITAFmApcnVK6svqboV41+QIW08a4jtG5k0gN558dY4pjiiZfmDuKJEmSeijbMe0ppWnAmC7WH1zx+0xgk2Xcx7eBb/dJQFVf+dzsV5V28dzsUh94joFcVxrFQZPOhzEn544jSZKkHsjZ0y691uy7YO50h8ZLfeiijr3hySkwZ1LuKJIkSeoBi3bVjn+fA4M25ZbSNrmTSA3rxtJIWGNDuPvc3FEkSZLUAxbtqg2vPA/3XQw7HUfJl6XUZzpohVEfgskXwcKXcseRJEnSG7A6Um2YfCGUFsOOH8ydRGp8oz4Ei+fDfX/LnUSSJElvwKJdNSDBv/8AWx0Ea26YO4zU+NbaFLY4AO76Q+4kkiRJegMW7cpup5gOTz0AO52QO4rUPHY+AR6fBI/dnTuJJEmSlsGiXdkd23YdvGkobL5v7ihS89jiABj45mKUiyRJkmqWRbuyGsRLHNpyO4w6Dlp8OUpV09pWHNs+5WJYMC93GkmSJHXDKklZHdE6kaAEO34gdxSp+Yz6ECxZAFMuzJ1ETSgihkfELRExPSLuiIgRXbQ5KiLuiYj7ImJKRHw6R1ZJknKyaFdGiWNbr+Pq0i6wxvq5w0jNZ+DGsOU74K5zIKXcadR8fg38JqW0JfBD4HddtJkNHJRS2hZ4K/DZiNijihklScrOol3ZjG6ZyhYtc/hzx/65o0jNa+cT4Mkp8OgduZOoiUTE+sAo4LzyqouBzSJiaGW7lNLNKaUnyr+/ADwIbNbNfQ6IiIGVS6lU6qtNkCSpaizalc0JrVcyrbQJt5ZeNyJSUrUM2x/WHga3/1/uJGoumwJzUkpLAFJKCZgFDO7uBuXh82OA67tpcgrwQuUyY8aM3swsSVIWFu3K47l2Dmj5N+d0HAhE7jRS82ppgd1OhAf+AS88ljuNmkvnYzK6fTOIiE2AfwAnpZTmdNPsNGBQ5TJ8+PDeyClJUlYW7crjjrOZx2pc0vHW3Ekk7XAs9FsN7vxt7iRqHo8Cm0REG0BEBEXv+6zODSNiY+Ba4LsppYu6u8OU0sKU0rzKpcWzkkiSGoDvZqq+hS/B3X/igo79WMCA3GkkDVizOIPDv8+Bxa/kTqMmkFJ6CrgHWHrqkCOA9pRSe2W7iNgIuA74QUrp3KqGlCSpRli0q/ru/Qsseok/LjkgdxKpKQ0dO+41CwC7fRxeeQ6mdNuRKfW2E4ETI2I6MBb4CEBEjI+Incttvk1xnPtnI2JSeTkhT1xJkvJoyx1ATaZUgtt/DW85lDl3r5s7jaSl1t68OP3bbf8HO34Qwrkm1LdSStMoJpbrvP7git8/BnysmrkkSao19rSrT72uN2/m9fDMDNjtpLzBJL3e6JPgqfuhfWLuJJIkSSqzp13VdfuvYMPtYfAYYHzuNJLgv1+qkWgfPKLobd9sr6yZJEmSVLCnXdXz1FR46FoY/QmH3ko1KYrTv00bD3Mfyh1GkiRJWLSrmm7+Gay5MWx7ZO4kkrqz/dGw+npwy89zJ5EkSRIW7aqSjZlbzEq9+6egrX/uOJK6028VGHNycZaHF5/InUaSJKnpWbSrKj7aNh76rwGjjssdRdIb2fnD0LYK3HZW7iSSJElNz6JdfW4tXuTo1htg14/DgDVyx5H0RlYZVBTud/4eXnk+dxpJkqSmZtGuPndc69UEqZjgSlJ9GP0J6FgEd/0+dxJJkqSmZtGuPrUqCzi+7Sr+2rEPrL5u7jiSemrNDWGHY+C2X8HiBbnTSJIkNS3P064+dVTrBNbkZX7bcQjffPVc0JLqwu6fgbv/CPeeXwyXlyRJUtXZ066+s2QhH2sbx2WlMcxO6+VOI2l5rTMMRryrOF1jx+LcaSRJkpqSRbv6zj1/YiOe5RdLDs+dRNIKGDp2HO+4ezd4rp0vf/3U3HEkSZKakkW7+sbiBXDTT/hHaXdmpjfnTiNpBT2YBnN5x258pvUSWLIodxxJkqSm4zHtetXQTsect59+yIrf2d3nwktP8PMlX1zJVJJy+9mSI7iq/1dg0p9h5xNyx5EkSWoqFu3qfYtfgYk/ge2P5j+3b9Sjm3T+wkBS7ZiRNuHy0mgOu+nHsMOx0DYgdyRJkqSm4fB49b67fg/z58LeX86dRFIv+dmS98CLc4rZ5CVJklQ1Fu3qXYvmw7/OLM7vvPbmudNI6iUz05thu/fCxDM8b7skSVIVWbSrd935O3jlOdjLXnap4ez1P/DSE/Dvc3InkSRJahoe066VtvR49IHM58YBP+CKjr049Qf3A/fnDSZpuS1zfol1t4CRx8DEH8OO74cBa1YvmCRJUpOyp70GDR077tWlnpzc9g/6s5gzlxyRO4qkvrLvqbDwRbj5Z7mTSJIkNQWLdvWKTeJpTmi9kt8sOZSneVPuOJL6yqBNYPTJcMsvYN6c3GkkSZIankW7esWX2v7KC6zB2R0rcW53SfXhrZ+D/qvB9d/LnUSSJKnheUy7Vtp28TCHt97CVxZ/jJdZJXccSX1tlUGwzykw/ssw+iTYcLtum3Y+zKf9dL/YkyRJWh72tGvlpMRX+/2ZB0ubclHH3rnTSKqWnY6HdYbBNV/PnUSSJKmh2dPe5FZ6srtpVzC6ZSrHL/ofSn4HJDWP1n7wtm/BX98PM66F4W/LnUiSJKkhZauyImJ4RNwSEdMj4o6IGNFNu69FxMzy8p2K9cdHxPMRMam83FC99AJg8QK46lQmdmzLhNLI3GkkVdvWh8CQPeCqU2DJotxpJEmSGlLOrtFfA79JKW0J/BD4XecGEbEXcAywPTACOCgiDqxocm1KaYfysm81QqvCzT+FF2bzzSXHAZE7jaQ+9rrTUUbAwT+CZ2bCrb/IG06SJKlBZSnaI2J9YBRwXnnVxcBmETG0U9OjgHNSSvNTSguB31MU8crt2Ydh4hmw+6eYmd6cO42kXDbYBnY7CW76ETz/aO40kiRJDSdXT/umwJyU0hKAlFICZgGDO7UbDDxScbm9U5u9y0Pjb46II7t7sIgYEBEDK5dSqdQrG9KUUoIrvgJrrA97fTl3Gkm57TMWBgyEK8fmTiJJktRwcg6PT50udze+OnXT5nJgSEppB+CjwJkRMbqb+zgFeKFymTFjxvInVuHBcTDjanjHadB/9dxpJOW2ykA48Hvw4OUw45rcaSRJkhpKrqL9UWCTiGgDiIig6H2f1andLGBoxeUhS9uklOamlF4u/z4VGA/s0c3jnQYMqlyGDx/eKxvSdBbNL3rTtjgAtj40dxpJtWLbI2CzvYpzty9ekDuNJElSw8hStKeUngLuAT5QXnUE0J5Sau/U9CLguIhYPSIGAB8GLgCIiFcPpI6IDYD9yvfZ1eMtTCnNq1xaWjw92QqZcDq89BQc/MNiEipJgvKkdD+BF2bDxB/nTiNJktQwclauJwInRsR0YCzwEYCIGB8ROwOklCYAFwJTgKnA1SmlK8u3/2RE3B8Rk4BrgDNTStdXeRuay6N3FjNE7/MVWHvz3Gkk1ZChY8cx9CczOHPhYcUklXMm5Y4kSZLUENpyPXBKaRowpov1B3e6/G3g2120OxU4tc8C6rUWL4B/nAwbjYTdP5s7jaQa9cuOd/H5DabDpSfDxyfkjiNJklT3HCOunpnwfXiuHQ7/FbRm+65HUo1bQhu86yyYO604DZwkSZJWitVXExo6dtzy3WD2XXDL/8J+X4P139I3oSQ1jo22L04HeeMP2Sa+zf1ps9yJJEmS6pY97Vq2xQvg0k84LF7S8nnrF2D9Efy436/px5LcaSRJkuqWRbuW7dpvOixe0vJr6w+Hn8UW8RhfbLswdxpJkqS6ZRWm7j04Hm7/FRz0Q4fFS+qxykNwPtZ6FF/tdz63lLbhptLI11zXfvohOeJJkiTVFXva1aUNeaaYLX6rg2HXj+eOI6lO/bbjYG7oGMkZ/X7FejyXO44kSVLdsWjX67TSwc/6/xL6rQbv+iVE5I4kqU4lWvjS4pPooIWf9juLFkq5I0mSJNUVi3a9zmfaLmHnmAZH/BZWWzt3HEl17hkG8bnFn2RMywN8ovWfueNIkiTVFY9p12vs2TKZT7dewhlLjuRLQ3bPHUdSjVreU0feWtqGX3S8iy+0XcTdaTi3lrbpo2SSJEmNxZ52vWpoPM4v+v2cG0vbc1bHu3LHkdRgfrbkCG4pbcMv+/2MTeKp3HEkSZLqgkW7AFiTlzm73xnMTYP47OJPUfKlIamXddDKpxZ/hnlpdX7b7yew8MXckSRJkmqelZloocRP+/2SDeI5Prb4i8xj9dyRJDWoF1iDjy3+IpvE03DJSVByYjpJkqRlsWgXX2q7kH1aJvHpxZ/m4bRx7jiSGtyMtAmfW/xJeHAc3Hh67jiSJEk1zYnomtwxrddxcts/+d7iY7mxNLLHt1veSagkqdK1pZ1gv6/C9d+FtYbAju9/zfWV+5j20w+pdjxJkqSaYdHexA5suYPvtv2ec5ccwNkdfiiWVGV7fgmefxT++eni9JJbHZQ7kSRJUs1xeHyT2i2m8vN+v+SK0m58a8lxQOSOJKnZRMAhZxTF+kXHw6zbcieSJEmqORbtTWhEtHN2/x9zZ2lLvrD4E84ULymf1jY44nfw5p3h/PfBkw/kTiRJklRTrNaazVNTObf/6bSnDTlx8RdYRL/ciSQ1u36rwDHnw6DB8Kd3w9wZuRNJkiTVDIv2ZvLEfXDOocxNa3H8oq8wn1VzJ5KkwiqD4IN/h1XXgnMOYYuYnTuRJElSTbBobxaPT4Zz3wkDN+aYRV/lWQbmTiRJrxo6dhxDv3snox79HFPn9eeC/t9ly3g0dyxJkqTsnD2+Gcy5B/54OKy9GXzwEp7/1i3LfRee4k1SNTzLQI5d9FXO638aF/T/Dh9YdGqPb9t5P+Wp4iRJUiOwp73RPXQdnPNOWGcL+OClsOqbcieSpGV6rly4z07rcUH/78LDN+aOJEmSlI1FeyO7+0/w5/fCkDHwoX8Ux4pKUh14gTU4dtFXmVQaBucdAff+NXckSZKkLCzaG1FKcP134Z+fglEfgqP/AgPWyJ1KkpbLS6zGhxd/GUYeBZd8HG78YbF/kyRJaiIW7Y1m0Xy4+KNw0484bfExDL35bcV5kCWpDi2hDQ77Bez7Vbjhe3DJSbDo5dyxJEmSqsZqrpHMnQF//SA8P4tPLvoM40qjcyeSpJU29JTxwDYc1vJJfnDv2az65H3wvj/COsNyR5MkSepz9rQ3ivsvhd/sA6kDPna9BbukhvPP0h4cvujbsPjlYn/3oGe1kCRJjc+ivd4tmg/jvgQXHQfDD4CPXQ/rb507lST1iWlpMHx8Amy2F1xwLFx5Cix+JXcsSZKkPuPw+Ho263a49CSY9zgc9CPY9WMQkTuVJPWtVQbBUefBbb+Ca78JM66Bd/86dypJkqQ+YU97PVq8AK75BvzhHbDaOnDSv2C3j1uwS2oeETDmZDhpYnF2jN8dwBfaLqQfS3InkyRJ6lUW7fVm+tVw1mi47SzY/+vw4atg3S1yp5KkPNbbCj5yLexzCp9ovYwr+3+FPVsm504lSZLUaxweXy+eay+O3Zw2HjbbG479a/FhtcLQsU7KJKkJtbbB3l/mkCvX5Nv9zuFP/U/nio5d4PntYa1Nc6eTJElaKRbtte7lZ+FfZ8IdvymGwr/3HBhxuEPhJamT6WlTjl70NQ5ruZWv9jsPfrELjP4E7PEZWPVNueNJkiStEIv2GrU6r/CR1ivgZydBqQN2/wzs8dni2E1JUjeCf5Z257qFO3L/Xg8Uk9Xd+buicN/tJPehkiSp7li015r5z/DZ1os5ru0qVmch7PhxeOvnYY31qh7F4faS+tKK7mMqb9d++iFdtpnPqsW8H7ueCBN/AhNOLwr43U6CXT4Cq629Qo8tSZJUbU5EVyuemQmXfwHO3IaT2i7jso4x7LPwDHjH97MU7JLUENbcAA7+IXzmbhhxGEz8MZy5DYz/Mjz7n9zpJEmS3pA97TktWQQPXg53nwsPT4DV1oU9v8CYKwbzPGvmTidJjWOtwXDombDPqXDnb4t5Qu44G4btBzsdB1sdDK39cqeUJEl6HYv2aksJ5twNUy6GyX+Fl+fCpqPh8F/BNu+Gfqvy/BW9OyzdYe6SVLbGerDvKcUcIff/Hf59Llz4IVh9PRh5NGx7BGy0g5N9SpKkmmHRXg2lEjxxLzzwz+JD4nPtxQfE7Y+CUR+C9bfOnVCSmkv/1WDHDxTLkw8UI54m/QVu+V9Ye3PY5j3FcPoNt7eAlyRJWVm095UFL8B/boLpV8GMa+ClJ4pTDr3lMHjnz2HoW6GlNXdKSdIGI+CgH8DbvwftN8F9f4c7zy6Of19zYxh+AGx5IAzdE1YZmDutJElqMhbtvWX+XHjklvJyMzx5H6QSrLslbHdk8YFv8BiPmZSkWtXaVhzjPmw/OOQMmHULTL8aZlxV9MRHS9HzPmQPGLJ7sU9ffZ3cqSVJUoOzaF9ZM66Bq74Kc6cVl9caUnyg2/XjRW/62pvlzSdJWn5t/WHzfYrlHd+HZx+G9n8VX8xOvQxu+2XRbr23FNcP2y9fVkmS1NAs2lfW6usWPS57fRmGjIFBm+ROJEnqbWtvXiyjPlRcfv5RmHVrMbJq9fXzZpMkSQ0tW9EeEcOBc4F1geeB41NKD3TR7mvACeWL56eU/l9PrquajXcsFklS81hr02LZ/n25k9St3vgcIElSM2jJ+Ni/Bn6TUtoS+CHwu84NImIv4Bhge2AEcFBEHPhG10mSpJq3Up8DJElqFlmK9ohYHxgFnFdedTGwWUQM7dT0KOCclNL8lNJC4PcUb95vdJ0kSapRvfQ5QJKkppCrp31TYE5KaQlASikBs4DBndoNBh6puNxe0WZZ171GRAyIiIGVS6lUWumNkCRJK6Q3Pge8hu/1kqRGlXMiutTpcvSgXec2y7qu0inANypXjBs37umIuG2ZCXumBRgOzAB6/dNB/KC377HX9en21wG3v7m3H3wOsm7/svaRVdp/9vb2b94L91EveuNzQKW+fK9fEY2+b1jh7auDzzbg36/euX31q5G3DYrtGx0RA8ojyHokV9H+KLBJRLSllJZERFB86z6rU7utSyRdAAASeklEQVRZwNCKy0Mq2izrus5OA87otG7h8jxR3YmIgcALwC4ppXkre3/1xu13+2ni7QefA7e/ubd/JfTG54DO+uy9fkU0+mvD7atvbl99a+Tta+Rtg9ds3wCgx+9PWYbHp5SeAu4BPlBedQTQnlJq79T0IuC4iFg9IgYAHwYu6MF1nR9vYUppXqcly5u4JEnNrpc+B3S+T9/rJUkNKefs8ScCJ0bEdGAs8BGAiBgfETsDpJQmABcCU4CpwNUppSvf6DpJklTzVupzgCRJzSKKuV+0oiqGOAxqxCEcb8Ttd/tp4u0HnwO3v7m3X91r9NeG21ff3L761sjb18jbBiu+fTl72hvFQuBbLMcxCQ3G7Xf7m3n7wefA7W/u7Vf3Gv214fbVN7evvjXy9jXytsEKbp897ZIkSZIk1Sh72iVJkiRJqlEW7ZIkSZIk1SiLdkmSJEmSapRFey+JiO9FxJSImFRejsqdqZoi4vsRMTUi7o2IOyJiv9yZqikiPlz++y+JiE/lzlMtETE8Im6JiOnlv/uI3JmqJSJ+HhHtEZEiYtvceaotIlaJiEvLf/tJEXFlRAzNnauaIuLqiJhc3v6JEbFD7kyqHY28f2zk/V8z7NuaZd8VEd9o0Ndoe0Q82Kg1R0QMiIhfRMSMiLg/Is7Lnak3RMRaFX+zSeV9zJKIWLtHt3ciut4REWullJ4v/74x8CAwJKX0XN5k1RERBwETUkqvRMRIYAKwUUppQd5k1VHe5kXAKcAdKaVfZI5UFRFxPfDHlNI5EXEk8MWU0pjcuaohIvYCHgb+BRyaUrovc6SqiohVgP2AK1JKqfxl1WEppbdnjlY1nfb7hwNfTymNyhxLNaKR94+NvP9rhn1bM+y7ImIU8D1gBHBIg71G22mw/7tKEXEm0Ap8tvw/uFFK6fHcuXpbRHwJ2Dul9M6etLenvZcs3fmVrQkkmuj5TSldkVJ6pXxxCsU/27oZI1VVSunelNJUoJQ7S7VExPrAKGDpN6AXA5s1Wo9Ed1JKN6WUZufOkUtKaUFKaXz67ze/twGb58xUbZ32+4Noov9/LVuj7x8bef/XDPu2Rt93RcQA4JfAyRSfx1UnImJ14ATg1KX/g41YsJedAPyup42bpqishoj4TERMA+4GPp5SeiZ3pkxOAGY26hu6XrUpMCeltASgvHOdBQzOmkq5fAa4LHeIaouIP0bEo8B3geNy51HNcP/YOBpy39bg+65vA+ellP6TO0gf+nP5sMzfRsR6ucP0omHAM8DXIuKu8uEb++cO1dsiYgywDnB5T29j0d5D5RfN3G6WTQFSSj9PKW0F7E7xYlsnb+re05PtL7fbH/gGcHS+tL2vp9vfhDp/gx1ZUiiriDgVGA58NXeWakspfSiltCnwNeBHufOoprh/rHONvG9r1H1XuRjaBTgrd5Y+tFdKaSTFaJ5ngHMz5+lN/ShGtjyQUtoZ+BRwQYN9MQHwYYrDp5b09AZtfRimoaSU9lyOtvdGxGPAPhRD4upeT7Y/IvYG/gC8M6U0re9TVc/y/P2byKPAJhHRllJaEhFB0bs0K3MuVVH5mKz3AG9LKb2cO08uKaVzI+L/ImKdJh5lpf9y/1jnmmXf1oD7rr2BrYH/FP92bAJcFREfTSldkTVZL0kpzSr/XBwRPwWmZ47Umx6hOFzjz/BqTfUfYBuK+bLqXvkQgKOAXZfndva095KIeEvF78OAHYEH8iWqrvKkNH8C3pVSujd3HvW9lNJTwD3AB8qrjgDaU0rt2UKpqiLiC8AxwAGdjpFseBExsDzp6NLL76bo8Xg2XyrVCveP9a2R922Nvu9KKZ2eUto4pTQ0pTQUmA0c2CgFe0SsHhFrVaw6hmJf0xBSSnOB64ADASJiCLAZ0Eidge8FJqeUHlyeGzl7fC+JiH8AWwCLgSXAD1JKF+VNVT0RMQMYCFROFvHBlNKUTJGqKiI+AJwOvIliFvn5FCMOGmZH2pWI2Ao4h+K4nHnAcSml+7OGqpKI+CXwLmBDYC7wUkppi7ypqiciNqHoTXwYeLG8emFKabd8qaqnfFjMxcCqFL0CTwNfSilNyhpMNaOR94+NvP9r9H1bs+27Gm2m9YjYnOLv10pxyM3DFLOst+fM1ZvK2/h7in1nB/CtlNIleVP1noiYCPw+pfSH5bqdRbskSZIkSbXJ4fGSJEmSJNUoi3ZJkiRJkmqURbskSZIkSTXKol2SJEl9KiKOj4gUEQvKM0J3vn5CRGSZLCwi9ilnOzLH4y+viBgaEeMi4tly7p8uo217RJyzgo9zbER8boWDVllEbBwR34yIHXJnqRQRB0fEN3PnUH2zaJckSVK1DAC+mztEnTsT2A34MDCmfLk77wa+s4KPcyxQN0U7sDHwDaCminbgYIpc0gqzaJckSVK1XAkcGxEjcweptohYNSKiF+5qW+COlNKlKaXbUkqPdNcwpXRPSmlmLzxm1fXi87WyOVbLnUGyaJfUYxHxsYiYEhELI2JmRHwwIv4YEdNyZ5Mk1YUfAs8AP1hWo/IQ8BQRx3dxXaocblweEp0iYvuIuCgiXigPHT8jItoiYquIuDIiXiwPF/+fbh52lfJtnoiIVyLixojYsYvH3zki/ll+jAURcU9EvK9Tm6WHA7w9In4fEU8DL1OMNOhumwdHxHkR8VT5fXZqRHwxIlrK1+8TEQnYAjiofP8pIoYu4z5fMzy+4lCAYyLiexExJyLmRcS1EbFVRbsJwCHAkIrHSRXX94+Ir0XEg+WsT0fEHyJivU6PPyAiflJ+Tl+OiJsiYqcucnX7fEXEFuX7nlG+j8ci4rKI2K5yu4A7yxf/UJH5mxVtDouIW8v38WJEXBMRYzrlXfpaGhURf4uI54Buv/SIiNUi4scR8Z/ya+HZiLgrIo4pX38O8Mny7yk6/c2icHJETCq/5p4rP+7mnR5nQkTcFxF7RsRt5baPRcR3IqK1U9tPRMS9EfFSeTsfjIjvd7cNqg8W7ZJ6JCLOAH4O/B14B8UHrzOBtwF3ZYwmSaofL1IMjz8wIvbr5fu+ELgXOAI4G/g8xfvUpcA4iqHi1wM/iIj3dHH77wObAx8tLxsDEyoLqIjYF7gZWAs4CXgXMAn4a3TxBQPwe2Ax8EHgyPLvr1Mudm8B3g78P+Aw4Frgx8Avys3uphgO/0Q5w5jy8viynpRufB8YUt7OjwPDgcsqCsCTy4/xRMXjjClnbQH+AYwFzqco7scCB1A8X6tWPM4fKIbY/4HiuboYuITi+etKV8/XxhRf9Iyl+PzxSWAJcHvFFw13AyeUf/9uRd7fljMfW848DzgG+AjwpnLet3aR4+/AQ8B7Kf7O3TkD+ATF56N3lHNfBKxTvv47wN/Kv1c+j0v/Zr8Gfkrxtz6c4nnfBrglIjbo9FgbAhcAf6Z4Lv8GfA342dIGEXE0cBZwI8Xr/XCK/4HVl7ENqgcpJRcXF5dlLhQfHhJwRKf1p5bXf758eT2KD0bzgenAAbmzu7i4uLjkX4Djy+8XOwP9KXov7wSifP0E4L6K9kPL7Y/v4r4S8M2Ky98sr/tCp3b3lNe/u2JdG/AUcHHFun3K7f69NE95/RBgEXB2xbqpFAViW6fHugyYA7R02t5ze/j8nFZuv2un9WcBJWDLinXtwOU9vN924JwutnVcp3bvLa8fXbHucqC9i/s8utz2PZ3W71xe/4ny5RHly6d3c/vKXD1+voBWoF/5c8YZXTz+8Z3atwCPAZOX/n3K69cAngRu7uK19K0ePr9TgEveoM0vgNTF+tHdvG43oRhl8IOKdRPKbQ/r1PY3QAcwuHz5f4HnVvT/1KV2F3vaJfXE14FbU0oXd1o/o/xzaU/7Lym+lV8P+BJwYUSsgyRJZSmlRRQ9hDsD73uD5svj8k6Xp1IUOldUPPYSih7U181gD5yfypVPue0jFL3f+wJExBbA1hQ9nUQx9L4tItqA8cBGwFad7rPz+2Z39gMeSCnd0Wn9OUCUr+9N/+x0eXL5Z1fPS2eHAs9T9MxXPgeTKD4D7FNut3f554Wdbv83ip7yrrzu+Srf/6kR8UBELCrfdhHF6IC39CDvVhS99X9KKZWWrkwpvVR+vNHx+uPWe/p3u4PiUIXTy4cerPqGt/ivQylen+d1eh6foBgxsk+n9i+mlDr/3c6n+FJir4o8a0XEXyLiXRGx7nLkUQ2zaJe0TOXhWTtRDMnqbAhFD8A9EbEGxTCsb6aUXi6/sdxLMYRLkqRKF1D0WH8vIvr10n0+2+nyIuDllNKCLtav0sXtn+hm3dIvn5cOV/4xxbDtyuWs8nWdi6SeDl1fp5u2cyqu703PdLq8sPyzJ0XnBhTD2xfx+udhQ/77HCzN/GTljctfnHR+/KW6eg7OoBhmfinwToqZ83eh+IzRk7xLc3T3/LZQDJV/oxxd+QzF/AyHAzcAz0bEpRExvAe33YDiC5knef3zOJrXv5ae5PWWvmbXAUgp/YnirAJDKL54eCoibo+IA3q4PapRbbkDSKp5m5Z/dvVh5hDgwZTSS1FM1vNSSunRiuunUBybJUnSq1JKKSK+AlxDcUx1Z0sL7ddM3NbHo7c27Gbd0gJzbvnnaRTHPHel88SsqctWr/cMRU99Zxt3euxaMJci7zu6uf7F8s+lz9sGFMPTgaLnnO6/hOjq+foA8MeU0qmVK8u9yM/3IO/SHN09vyXguR7keJ2U0nyK07l9o9zJcRBwOsXhElu/wc3nlh9nT/77pUmlzus6H+MO/33NvvolSErpDxST8a1O0QP/LeDyiNgyLeNMA6pt9rRLeiNPl3++5s0nIo6kGLq1dGj8GhQTvFSaV14vSdJrpJSupSjav87r3yuepCjct++0vi9Hbx0T8d9TjEXEEGB3iuOJSSlNozgsbGRK6a5ulhe7vOc3dh0wIiJGdVr/IYrC7oYVvN+VsZCue7Ivpyi6W7t5DpZ+cXFT+edRnW5/JMvXcZjoVMBGxCHAm7vISxeZp1F8aXBsp7/v6hSTFt6aUnp5OfJ0HTKlJ1NK5wB/AbaqGHK/sPx4nXNdTtHT/uZunscpndqvGRGHdVp3LMWXDjd1Wk9KaX5K6QrgexTzSNiJUsfsaZf0RmZRTM7zhYh4guIDy/789zjEpUX7S8DATrcdWF4vSVJXvkLxHrM+cP/SleWe+POAD0fETIqh0LtSFCl9ZX3gkog4GxhE0UO5gKJnfakTgSsi4iqK480fA9amOLZ6VErpvSv42GdSFOjjIuLrwCMUo9lOBn6VUpq+gve7MqYA74mIT1D8jUoppbsoDm14PzA+In5GcRz1YooJ1PYF/pFSuiSldH9E/AX4YkR0UMzcvw3wReAFimKzJy4Hjo+IBymOvd8J+DIwu1O7mcArwPsjYirF5485KaU5UZzm788UPc6/phjB8WWKYf5jl/eJWSoibi/nm0zRW/8WihnkK78IWFp8fyUirqCYOG5ySunmiPgNRa/4zhSF93yKEQFvBaaklH5V8XDPAL+KiMEUk/AdDHyM4vUxq5zn7PJzcDPFEP8NgVMonu87Ud2yaJe0TOUPTu8FfgX8hOIN5e/AVykml1latM8A1oiITVJKS99ItwX+VOXIkqQ6kVK6p1zYdVWMf7H8838oeuKvp5i8q72P4pxKcaz0Hyi+dL4DODql9Op5ulNKN0TErhTvgT+lOBb6GeABXj/hWo+llJ6OiN0pviA4rfz4D1Ns+xkrer8r6WcURfb3Kb7ECIrZ9TvKPb6fpShQT6GYHG42xanGKnuIT6AoHj9CcQq+SRRf+l9Jz4a2U36cxeXHWYNiLoT3UJza7VUppZcj4sMUw9Wvpphh/lsUc+2cHxHzy/fxV4rC+TZg35TSLT3M0ZXrKc6w83lgNYovcf5I0bu91PnAHhRfwHyd4nncjGJm/hMj4jaKL4NOphgFPYei6O48KeETFKe7+zGwHcUcDt8vb+9SEylm4n8fxWtzLvAv4EMppadR3Vp6mg1JWi4RMZZiYpiBKaVXyusuovg299MUvfF/AoanlGrpWDxJkpRJ+cuJm4H3p5TOz52nHkTEBGDdlNK2ubMoD3vaJa2oXShOT/NKxbqTgXMpeh0eA46yYJckqTmVZy0fQzG8/hVgJMVw9Bl0P5mfpE4s2iWtqF0oJhB6VXno1cF54kiSpBozD3g78DlgTYrh2lcAp3RxKj5J3XB4vCRJkiRJNcpTvkmSJEmSVKMs2iVJkiRJqlEW7ZIkSZIk1SiLdkmSJEmSapRFuyRJkiRJNcqiXZIkSZKkGmXRLkmSJElSjbJolyRJkiSpRlm0S5IkSZJUoyzaJUmSJEmqUf8fI/YQ/GgxltQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(12, 6))\n",
"_ = plot_pos_distribution(axes[0], traces)\n",
"_ = plot_n_step_distribution(axes[1], stats)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The empirical distribution here broadly matches the fatures of that seen in Figure 2 in the paper, with poor estimation of the tails due to few samples with magnitude above 2 and none with magnitude above 3. In support of Proposition 3, in all iterations the trajectory terminated after one integrator step. Contrary to what is stated in [Sanz-Serna (2020)](#sanzserna2020is) a small but non-zero proportion of chain iterations appear to result in a Hamiltonian change more than $\\Delta = 1000$ resulting in a divergence being flagged (`diverging=0.00264` in the progress bar statistics indicates the proportion of iterations where a divergence was flagged)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Static integration time HMC with Metropolis correction\n",
"\n",
"Static integration time HMC implementation with Metropolis correction, i.e. the original Hybrid Monte Carlo algorithm [(Duane et al., 1987)](#duane1987hybrid). Here we use one integrator step per proposal, giving equivalent updates to the Metropolis-adjusted Langevin algorithm."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"rng = np.random.default_rng(seed)\n",
"sampler = mici.samplers.StaticMetropolisHMC(system, integrator, rng, n_step=1)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div style=\"line-height: 28px; width: 100%; display: flex;\n",
" flex-flow: row wrap; align-items: center;\n",
" position: relative; margin: 2px;\">\n",
" <label style=\"margin-right: 8px; flex-shrink: 0;\n",
" font-size: var(--jp-code-font-size);\n",
" font-family: var(--jp-code-font-family);\">\n",
" Chain&nbsp;1/1:&nbsp;100%\n",
" </label>\n",
" <div role=\"progressbar\" aria-valuenow=\"1.0\"\n",
" aria-valuemin=\"0\" aria-valuemax=\"1\"\n",
" style=\"position: relative; flex-grow: 1; align-self: stretch;\n",
" margin-top: 4px; margin-bottom: 4px; height: initial;\n",
" background-color: #eee;\">\n",
" <div style=\"background-color: var(--jp-success-color1); position: absolute;\n",
" bottom: 0; left: 0; width: 100%;\n",
" height: 100%;\"></div>\n",
" </div>\n",
" <div style=\"margin-left: 8px; flex-shrink: 0;\n",
" font-family: var(--jp-code-font-family);\n",
" font-size: var(--jp-code-font-size);\">\n",
" 5000000/5000000 [08:59&lt;00:00, 9263.93it/s, accept_prob=0.0790]\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
"Chain 1/1: 100%|██████████|5000000/5000000 [08:59<00:00, 9263.93it/s, accept_prob=0.0790]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"final_states, traces, stats = sampler.sample_chains(\n",
" n_sample=n_sample, init_states=np.zeros((n_chain, n_dim)), n_process=n_process)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(12, 6))\n",
"_ = plot_pos_distribution(axes[0], traces)\n",
"_ = plot_n_step_distribution(axes[1], stats)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The empirical distribution here when using the original Hybrid Monte Carlo algorithm shows the same features as for the 'efficient NUTS' case above, with poor estimation in the tails and no samples with magnitude above 3. The spikes in the right tail suggest the chain got stuck for many iterations at a couple of larger values - that such long 'sticking' periods where not seen in the NUTS case is potentially just a coincidence. The main take home is that if it is assumed that the standard Metropolis adjusted static integration time HMC implementation is 'correct' (and the implementation of this algorith in Mici does not contain any bugs) then the departures of the empirical distribution from the true distribution for the NUTS sampler do not provide any direct evidence for the NUTS sampler being 'incorrect' as we see the same features in the presumably correct Metropolis based HMC implementation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Dynamic integration time HMC with multinomial sampling (original no-U-turn criterion)\n",
"\n",
"Dynamic integration time HMC implementation with biased progressive multinomial sampling of new state from trajectory [(Betancourt, 2017)](#betancourt2017conceptual) combined with the original no-U-turn termination criterion [(Hoffman and Gelman, 2014)](#hoffman2014no)."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"rng = np.random.default_rng(seed)\n",
"sampler = mici.samplers.DynamicMultinomialHMC(\n",
" system, integrator, rng, termination_criterion=euclidean_no_u_turn_criterion)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div style=\"line-height: 28px; width: 100%; display: flex;\n",
" flex-flow: row wrap; align-items: center;\n",
" position: relative; margin: 2px;\">\n",
" <label style=\"margin-right: 8px; flex-shrink: 0;\n",
" font-size: var(--jp-code-font-size);\n",
" font-family: var(--jp-code-font-family);\">\n",
" Chain&nbsp;1/1:&nbsp;100%\n",
" </label>\n",
" <div role=\"progressbar\" aria-valuenow=\"1.0\"\n",
" aria-valuemin=\"0\" aria-valuemax=\"1\"\n",
" style=\"position: relative; flex-grow: 1; align-self: stretch;\n",
" margin-top: 4px; margin-bottom: 4px; height: initial;\n",
" background-color: #eee;\">\n",
" <div style=\"background-color: var(--jp-success-color1); position: absolute;\n",
" bottom: 0; left: 0; width: 100%;\n",
" height: 100%;\"></div>\n",
" </div>\n",
" <div style=\"margin-left: 8px; flex-shrink: 0;\n",
" font-family: var(--jp-code-font-family);\n",
" font-size: var(--jp-code-font-size);\">\n",
" 5000000/5000000 [16:02&lt;00:00, 5196.67it/s, accept_prob=0.0804, n_step=1.00, diverging=0.00183]\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
"Chain 1/1: 100%|██████████|5000000/5000000 [16:02<00:00, 5196.67it/s, accept_prob=0.0804, n_step=1.00, diverging=0.00183]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"final_states, traces, stats = sampler.sample_chains(\n",
" n_sample=n_sample, init_states=np.zeros((n_chain, n_dim)), n_process=n_chain, \n",
" monitor_stats=['accept_prob', 'n_step', 'diverging'])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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mgMOOIAOHTpw1FFH8fzzz286vnjxYk499VT22GMPOnTowMCBA3nqqaeorKzkhBNOAGCPPfYghLCp1//444/nyiuv3HSOkpISrrvuOi644AI6duzIgQceyF//+ldWrVrF6aefTseOHRk0aBDTpv3jt+F3332Xc845h27dutG+fXsGDRrE/fffv+n4hRdeyAsvvMDNN99MCIEQApWVlQBUVFRwyimn0LFjR7p06cL555/PO++8U++fgSRJ0o6yaJe0meHX/IHVt49k5id7cO767/M+DevFXE0nzln/77wV9+RPbX9Ot7CqkZK2XhdddNFmveJ33XUXF1988WZtVq9ezdixYxk1atRWPeXAZkPMAbp06cKIESO49957gZri/C9/+ctW53366ad55513uPrqq+vMtuV5t8z94osv8sADDzBr1izOOussTj755E2reYwaNYqqqirGjx/P7NmzueGGG+jYsSPdu3fnkUceAeC1115jxYoV3HzzzfW+z69+9SuOOeYYZsyYwciRIzn//PO54IILOO+885g+fToHHXQQF1xwATWrjdaMVDj88MN58sknmTNnDt/4xjc4//zzmTJlCgA333wzZWVlfP3rX2fFihWsWLGC7t27s2LFCoYPH87gwYOZNm0aY8eO5e233+YrX/lKvdkkSZJ2lEW7pH9Ys5q72vwn78Xd+Or60XxIx0Y57fvsxgXrR7Mm7sJdbW6kE59sOrbNHn/V6fzzz2fixIlUVlayePFiXnzxRc4777zN2rz++uvEGOnfv/92n/fiiy/mnnvuIcbIww8/TO/evRk8ePBmbTYW2DtyXoCFCxdy//3389BDDzFs2DB69+7NVVddxbHHHrvpB4glS5ZwzDHHMGjQIHr16sUXv/hFjjvuOIqKithzz5p5Sffdd1+6du1K586d632vU045hUsuuYQ+ffrwwx/+kI8++ogjjzySs846i759+/K9732PefPm8fbbbwNwwAEHcNVVVzF48GB69erFZZddxogRI3jooYcA6Ny5M23btqV9+/Z07dqVrl27UlRUxG233cZhhx3Gz3/+c/r378+QIUO46667eO6555g/f/4O/flIkiTVJ82J6CQVkiQLD13IHuEjzlj/Ez5opIJ9o9V04uIN3+XRttfy321u4aIN3yX6u+FO2XvvvRk5ciT33nsvMUZGjhzJ3nvvvVmbjb3IuSUzt8vIkSO55JJLGD9+fJ2997XPu6OmT59OjHGrSeqqqqrYa6+9ALj88sv5t3/7N5555hlOPPFEvvzlL3PIIYfs8HvVfk2XLl0AGDRo0Fb7Vq5cSdeuXclms1x//fX85S9/YdmyZVRVVVFVVVXnCIXaXn75ZZ577jk6dtz6v5WFCxc2yYR8kiSp9bFol1Rjwk2waDyjNnyfxbFrk7zFwngAl224jD+2vYFvJGO4PXtqk7xPa3DxxRfzrW99C4Df/va3Wx3v06cPIQTmzZvHl770pe06Z3FxMeeffz7XXnstU6ZM4bHHHtuqzcZC9NVXX6WsrGy78yZJQlFRES+//DJFRZtPaLix6P3Xf/1XRowYwZgxY3jmmWf4xS9+wU033cRll1223e8DbDab/MYfLeralyQJADfddBO/+tWv+PWvf82gQYPo0KEDV155JevXr//Uz3Tqqadyww03bHVsv/3226HMkiRJ9bFol1qJbQ4/XzwJnv8FDL+a8qcHNmmO8cmh3FZ9KlcVP8jUpD8zYp8mfb+W6uSTT95UVI4YMWKr43vuuScjRozgt7/9LZdffvlWvcbvv/9+nfefX3zxxfzyl7/k7LPPZo899tjq+Oc//3n23ntvbrzxxjqL+vrOO2TIELLZLCtXrmTYsGH1fq7u3btz6aWXcumll3LNNddw5513ctlll9G2bVsAstlsva/dWRMmTOD000/fdItBkiQsWLCAAQMGbGrTtm3brd77sMMO45FHHqGkpGSzyfokSZIak2NTpVauPevgsUug+1A4ru7JxRrbTdVnMTv25L/a3Eo7tt2bqboVFRUxb9485s2bt1XP9Ua33nor2WyWz3zmMzzyyCMsWLCAefPm8d///d/19pIPGDCAd955Z6vl3zbq0KEDv//97xkzZgynnXYaf/vb36isrGTatGlcffXVXHrppXW+rm/fvpx77rlccMEFPProoyxatIiXXnqJG264gaeeegqAK6+8kqeffppFixYxffp0xo0bt6lwPvDAAwkh8OSTT7Jq1So+/vjjHf0jq9dBBx3Es88+y6RJk5g3bx6XXHIJb7311mZtSkpKmDJlCpWVlbzzzjskScKoUaNYvXo155xzDlOnTuWNN97gmWee4eKLL26SHxckSVLrZNEutXLfLf4LfLwKvvRbKMpPb2E1xVy14VL2D6v5f8UP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\n",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(12, 6))\n",
"_ = plot_pos_distribution(axes[0], traces)\n",
"_ = plot_n_step_distribution(axes[1], stats)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Again we don't see any significant difference in the empirical distribution compared to the previous two cases, with poor estimation of the tails and no samples in magnitude above 3. As the use of multinomial rather than slice sampling to select the next state from the trajectory operates independently from the actual trajectory expansion, unsuprisingly we see the same behaviour in terms of the distribution of lengths of trajectory as for the slice sampling NUTS case, with all trajectories consisting of a single integrator step, consistent with Proposition 3."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Dynamic integration time HMC with multinomial sampling (generalised no-U-turn criterion)\n",
"\n",
"Dynamic integration time HMC implementation with biased progressive multinomial sampling of new state from trajectory [(Betancourt, 2017)](#betancourt2017conceptual) combined with the generalised no-U-turn termination criterion [(Betancourt, 2013)](#betancourt2013generalizing). This is the algorithm which was used in Stan up until v2.23 when a variant with an expanded termination criterion with additional checks on subtrees was added (see [discussion on Discourse](https://discourse.mc-stan.org/t/nuts-misses-u-turns-runs-in-circles-until-max-treedepth/9727/36?u=betanalpha) and [associated pull request](https://github.com/stan-dev/stan/pull/2800))."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"rng = np.random.default_rng(seed)\n",
"sampler = mici.samplers.DynamicMultinomialHMC(\n",
" system, integrator, rng, termination_criterion=riemannian_no_u_turn_criterion)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div style=\"line-height: 28px; width: 100%; display: flex;\n",
" flex-flow: row wrap; align-items: center;\n",
" position: relative; margin: 2px;\">\n",
" <label style=\"margin-right: 8px; flex-shrink: 0;\n",
" font-size: var(--jp-code-font-size);\n",
" font-family: var(--jp-code-font-family);\">\n",
" Chain&nbsp;1/1:&nbsp;100%\n",
" </label>\n",
" <div role=\"progressbar\" aria-valuenow=\"1.0\"\n",
" aria-valuemin=\"0\" aria-valuemax=\"1\"\n",
" style=\"position: relative; flex-grow: 1; align-self: stretch;\n",
" margin-top: 4px; margin-bottom: 4px; height: initial;\n",
" background-color: #eee;\">\n",
" <div style=\"background-color: var(--jp-success-color1); position: absolute;\n",
" bottom: 0; left: 0; width: 100%;\n",
" height: 100%;\"></div>\n",
" </div>\n",
" <div style=\"margin-left: 8px; flex-shrink: 0;\n",
" font-family: var(--jp-code-font-family);\n",
" font-size: var(--jp-code-font-size);\">\n",
" 5000000/5000000 [20:38&lt;00:00, 4035.68it/s, accept_prob=0.0549, n_step=1.53, diverging=0.326]\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
"Chain 1/1: 100%|██████████|5000000/5000000 [20:38<00:00, 4035.68it/s, accept_prob=0.0549, n_step=1.53, diverging=0.326]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"final_states, traces, stats = sampler.sample_chains(\n",
" n_sample=n_sample, init_states=np.zeros((n_chain, n_dim)), n_process=n_chain, \n",
" monitor_stats=['accept_prob', 'n_step', 'diverging'])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9evHQQcdxE9/+lOuu+66ZrOvXLmSCy+8kN12243u3btz0EEH8fjjj685/vLLL3Psscey7bbb0r17d4YMGcJ9991HTU0NRxxxBADbbrstEbGm1//www/n/PPPX3ONqqoqLr74Yk4//XR69OjBHnvswV/+8heWLl3K8ccfT48ePRg6dCjPPPO/XzNvvfUWp5xyCrvvvjtbbbUVQ4cO5bbbbltz/IwzzmDChAlcddVVRAQRQU1NDQBz5szhmGOOoUePHvTu3ZvTTjuNZcuWNftnIEmStKny7GmXVKaCjIsrb+S8ynu4ZNUpfG3VN3ifrTbpGu/Rna+sOp8rVp0MEy6H+y+ycG8lZ5555lq94jfeeCNnnXXWWm3efvtt7r//fs4777z1esqBtYaYA/Tu3ZujjjqKW265Bagvzu+44471rvvAAw+wbNkyLrzwwiazrXvddXM/+eST3H777Tz33HOcdNJJHH300WsmBj3vvPOora1l4sSJPP/881x++eX06NGDPn36cNdddwHw4osv8vrrr3PVVVc1+z5XXnklhxxyCDNmzGDMmDGcdtppnH766Zx66qlMnz6dvffem9NPP53U8N/jihUr+MQnPsG4ceOYNWsWX/7ylznttNN46qmnALjqqquorq7mnHPO4fXXX+f111+nT58+vP766xx22GEMHz6cZ555hvvvv58333yTk08+udlskiRJm8ppniWtI/GTyhv5QsVjfGfVl/lT8fAWXCu4pvg5LvzcKBj/LUhF6ldw3NBiD/o4p512GhdddBE1NTVExJpCuHGv9d/+9jdSSuyzzz4bfd2zzjqLb3/723z/+9/nzjvvZK+99mL48OFrtVldYG/KdQEWLFjAbbfdxquvvsquu9bPc3DBBRdw//33c9NNN3HJJZewaNEiTjjhBIYOHQrAnnvuueb87barn+Jkp5122uAvBgCOOeYYzj33XAB++MMfcu2113LAAQdw0kknAfDd736X6upq3nzzTXbeeWd22203LrjggjXnf/3rX+f+++/nT3/6EwcddBC9evWia9eubLXVVuy8885r2l177bWMHDmSSy65ZM2+G2+8kT59+jBv3rw2ebZfkiR1PhbtktZyXsVf+JfKR1uhYG/kgLMhCjDufM6peJ8bip9tnet2UjvssANjxozhlltuIaXEmDFj2GGHHdZqs7oXuZnlMps0ZswYzj33XCZOnNhk733j626q6dOnk1Jar5Ctra1l++23B+Ab3/gG//Zv/8aDDz7Ipz/9aU444QSGDRu2ye/V+JzevXsDrPlFQON9S5YsYeedd6ZYLHLZZZdxxx13sHjxYmpra6mtrW1yhEJjf/3rX3nsscfo0aPHescWLFhg0S5JklqFRbukNT5bmMJ3uvyRK1ed0HoF+2r7nwnvLuL7T/ycRWknHsgObN3rdzJnnXUWX/va1wD49a9/vd7x/v37ExHMnTuXz33ucxt1zcrKSk477TR+9KMf8dRTT/HnP/95vTarC9EXXniB6urqjc6bZRkVFRX89a9/paKiYq1jq4vef/3Xf+Woo45i/PjxPPjgg1x66aX87Gc/4+tf//pGvw+w1mzyq39p0dS+LMsA+NnPfsaVV17JL37xC4YOHUr37t05//zzWbly5cd+pmOPPZbLL798vWO77LLLJmWWJElqjs+0S6q39EWu6HI9fy4ewlXFf26b9zjyB4wrHsTPuvyGqni9bd6jkzj66KNZuXIlK1eu5Kijjlrv+HbbbcdRRx3Fr3/9az744IP1jr/77rtNXvess85iwoQJHH/88Wy77bbrHf+Hf/gHdthhB6644oomz2/uuiNGjKBYLLJkyRL23nvvtbbGQ8779OnDV77yFe6++26+/e1vc8MNNwDQtWtXAIrFYpPXb4lJkyZx/PHHc+qpp7Lffvux5557rnkMYLWuXbuu994jR45k9uzZVFVVrfeZPq6XXpIkaWNZtEuCVR/Bn85gcdqB7606mzZ75rxQ4LurvsyStA2/6nI1XVnVNu/TCVRUVDB37lzmzp27Xs/1atdccw3FYpEDDzyQu+66i/nz5zN37lx++ctfNttLPmjQIJYtW7be8m+rde/end/+9reMHz+e4447jocffpiamhqeeeYZLrzwQr7yla80ed6AAQP44he/yOmnn87dd9/NwoULmTZtGpdffjn33XcfAOeffz4PPPAACxcuZPr06Tz66KMMGjQIgD322IOIYNy4cSxdupT3339/U//ImrX33nvz0EMPMXnyZObOncu5557LG2+8sVabqqoqnnrqKWpqali2bBlZlnHeeefx9ttvc8opp/D000/z0ksv8eCDD3LWWWe1yS8XJElS52TRLgke+D68/RLnrfoGH7FFm77VB2zJ11d9g/7xKt+tvL1N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\n",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(12, 6))\n",
"_ = plot_pos_distribution(axes[0], traces)\n",
"_ = plot_n_step_distribution(axes[1], stats)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The main effect of switching to the generalised no-U-turn criterion is that the result in Proposition 3 no longer appears to hold with some chain iterations now using trajectories with two or three integrator steps before termination."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"\n",
" 1. <a name='duane1987hybrid'></a>Duane, S., Kennedy, A. D., Pendleton, B. J. and Roweth, D. (1987). Hybrid Monte Carlo. *Physics Letters B* **195** 216 - 222.\n",
" 2. <a name='betancourt2013generalizing'></a>Betancourt, M. (2013). Generalizing the no-U-turn sampler to Riemannian manifolds. *arXiv e-prints* 1304.1920.\n",
" 3. <a name='hoffman2014no'></a>Hoffman, M. D. and Gelman, A. (2014). The no-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. *Journal of Machine Learning Research* **15** 1593–1623.\n",
" 4. <a name='betancourt2017conceptual'></a>Betancourt, M. (2017). A conceptual introduction to Hamiltonian Monte Carlo. *arXiv e-prints* 1701.02434.\n",
" 5. <a name='sanzserna2020is'></a>Sanz-Serna, J. M. (2020). Is the NUTS algorithm correct? *arXiv e-prints* 2005.01336."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment