Skip to content

Instantly share code, notes, and snippets.

@ludwigschwardt
Last active September 4, 2015 23:22
Show Gist options
  • Save ludwigschwardt/86a60e97763909f1f8de to your computer and use it in GitHub Desktop.
Save ludwigschwardt/86a60e97763909f1f8de to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Stikeez Part 2: With a little help from your friends"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> This [Jupyter](https://jupyter.org/) notebook is a supplement to the corresponding $++ [blog post](http://dollarpp.com). You can play around with it in two ways:\n",
">\n",
"> - Install Python, Jupyter and the rest of the required Python packages on your computer and run the notebook there. I would recommend a computing-oriented Python distribution such as [Anaconda](http://continuum.io/anaconda/) to get you up and running with the minimum fuss.\n",
">\n",
"> - Register for a cloud computing service such as [SageMathCloud](https://cloud.sagemath.com), upload this notebook to their site and run it \"in the cloud\". [Wakari](http://wakari.io) also seems like a good option, but their software is currently too old to open this notebook.\n",
">\n",
"> Both options allow you to tweak the values and methods in this notebook and rerun the experiment to your heart's delight."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We start off with some common Python package imports for data analysis but also include [seaborn](http://stanford.edu/~mwaskom/software/seaborn/index.html), which makes some dashing plots on top of matplotlib."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib as mpl\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We pick a minimal seaborn plotting style and pick the same font and text colour as in the blog theme ([Penscratch](http://penscratchdemo.wordpress.com)). This assumes that you installed the Roboto Slab Light font on your system, but it should fall back to the default font if not."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# That Penscratch grey\n",
"textcolor = str(102 / 255.)\n",
"sns.set(style='ticks', font='Roboto Slab',\n",
" rc={# Increase DPI to ensure sufficient pixels in output PNG\n",
" # Remember that notebook figures are actually saved images...\n",
" 'savefig.dpi': 200,\n",
" # The Penscratch theme uses Roboto Slab Light as its base font\n",
" 'font.weight': 'light', 'axes.labelweight': 'light',\n",
" # Change text and axes markings from black to base font colour\n",
" 'text.color': textcolor, 'axes.edgecolor': textcolor,\n",
" 'axes.labelcolor': textcolor, 'xtick.color': textcolor})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The heart of the calculation is a routine that simulates the quest to collect multiple sets of 24 Stikeez. It is assumed that the items / Stikeez are uniformly distributed and therefore equally likely to appear in a draw.\n",
"\n",
"To speed things up, we always draw a fixed number of items *(max_draws)* that should be more than enough to get the requisite number of complete sets. The final number of draws is expressed per set; in other words, it is what each person in the group of *num_sets* people have to contribute to ensure complete sets for them all."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def collect_items(num_items, num_sets, max_draws):\n",
" \"\"\"Collect items until several full sets have been completed.\n",
"\n",
" Parameters\n",
" ----------\n",
" num_items : integer\n",
" Number of unique items that form a set\n",
" num_sets : integer\n",
" Number of complete sets to collect\n",
" max_draws : integer\n",
" Maximum number of draws before giving up\n",
"\n",
" Returns\n",
" -------\n",
" draws_till_success : integer\n",
" Number of draws *per set* that resulted in complete sets\n",
"\n",
" \"\"\"\n",
" # Generate all random draws at once, up to the maximum\n",
" items = np.random.randint(num_items, size=max_draws)\n",
" # Each row of indicator corresponds to a draw, and has a single 1\n",
" # in the column corresponding to the drawn item (and 0 elsewhere)\n",
" indicator = np.zeros((max_draws, num_items), dtype=np.int)\n",
" indicator[range(max_draws), items] = 1\n",
" # The n'th row of counts contains the tally of items after n draws\n",
" counts = indicator.cumsum(axis=0)\n",
" # Find the number of rows with no columns less than num_sets,\n",
" # i.e. the number of draws that had >= num_sets complete sets\n",
" draws_complete = (counts >= num_sets).all(axis=-1).sum()\n",
" # The total number of draws is the number of incomplete draws + 1\n",
" draws_till_success = max_draws - draws_complete + 1\n",
" # Get the number of draws per set (rounded up to nearest integer)\n",
" return int(np.ceil(draws_till_success / float(num_sets)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we set the main parameters of the experiment and collect the data. The number of trials *(num_trials)* should be as large as possible to ensure a good estimate of the true underlying statistics. We run a series of experiments, one per number of sets."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"num_items = 24\n",
"num_sets = [1, 2, 10, 50, 1000]\n",
"max_draws = [450, 600, 1000, 5000, 30000]\n",
"num_trials = [100000, 100000, 40000, 20000, 10000]\n",
"\n",
"data = [[collect_items(num_items, num_sets[m], max_draws[m])\n",
" for n in range(num_trials[m])]\n",
" for m in range(len(num_sets))]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We get the median number of items required (50th percentile) for each data set."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[85.0, 65.0, 41.0, 31.0, 26.0]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"medians = [np.median(x) for x in data]\n",
"medians"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We plot the histograms of each data set overlaid on separate axes on the same figure, in order to make them more visible."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nVgNQvrlz5yZdAhUiwAIAACIi4twV85IuAQD2SIBF1Ro3vjEGBob+glhf7y+IAAAAlO6VV16JW2+9\nNR577LF49dVXI5vNxsSJE2PevHlx/PHHx8EHH7zP195yyy3xyCOPxPbt26OpqSkOPPDAOP744+Po\no4/eZe9LL70Un//853d57NJLLy3+9z/6oz+K+fPnj+jHNtYIsKhay1Y4OgoAAMDwbN68Ob761a9G\nXV1dHHvssTFt2rTIZDLx7LPPxv/9v/837r333li+fHmcf/75u732sccei7Vr10ZLS0sce+yxMXXq\n1Ojo6IgNGzbElVdeGccee2x8+MMfjkwmExER48ePj4suuigiIu65557YsmVLcR0RMWPGjNH5oFNM\ngAUAAACwk8HBwfjGN74Rra2t8dnPfjZaW1t3eX7NmjVx5ZVXxj333BMf+MAHor5+KF55+umn4+/+\n7u/i0EMPjUsuuSQaGhqKz5122mlx8803x4033hgzZ86MVatWRUREY2NjLFmyJCIiNm3aFFu2bCmu\n2UGARaq1t8+LhvrmkvZ2dfVUuBoAAABqwVNPPRXbtm2Lc845Z7fwKiKioaEhjjrqqHjkkUd2e+67\n3/1ujB8/Pj760Y/uEl69YfXq1fGrX/0qbr311li5cmXU1Rl3UwoBFqnWUN8cV191U0l7z33/6gpX\nAwAAQC3IZrMREdHb27vXPTNnzowFCxYU90ZEPPnkk7F169ZYs2ZNNDY27vW1xxxzTGzcuDGefPLJ\naG9vH7nCq5gACwBItesfvzX6BvuL64a6XJx92KoEKwIAqt3s2bNj2rRpcccdd8Thhx8ehxxyyG57\n2tvb41Of+tQuj23cuDEiImbNmhXbt2/f6/XfCLdeeeUVAVaJBFg1rr/3tSgUhtaZTESusS25ggDg\nTW7Y+OPo7Osqrsc1tAiwAICKymQy8d/+23+LK6+8Mq644oo45JBD4ogjjoj58+fHwQcfvNe2v5df\nfjkiIr7yla+U9D59fX0jVnO1E2DVuOe3/jTy+aG/amezuZi94MwEKwIAAIDkTZ8+PT7/+c/HQw89\nFL/4xS/ijjvuiBtuuCFaWlrine98Z6xatSr222+/XV7zRsvhJz/5yZLeY+bMmSNed7USYAEAAADs\nQSaTicWLF8fixYsjIuKZZ56JBx98MO68886477774uKLL46jjjqquP+Noe2HHHJINDU1JVJztcq+\n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\njeOjkB/6pSCT9UsBAOly9mGrki4BABgFnZ2dsWjRon3uyWaz0dTUFN3d3WVff8uWLXH77bfHli1b\noqOjIxpE+89iAAAgAElEQVQaGmLq1KmxcOHCOPHEE/d46mvn1952222xefPm6OrqivHjx8e8efNi\n5cqVcdBBB+2yd926dXHVVVcV16+88kpceumlxfXatWt32V8oFOL++++Pe++9N5566qno7e2N5ubm\nmD17dixatCiWLVsWjY2NZX+81UaAVeNmtJ+cdAkAAAAQX/rSl95yT09PT7z++utl34nwtttui2uv\nvTamTZsWy5Yti4kTJ0Z/f39s3bo1brvttvjJT34S5513Xixbtmy31958881x4403xgEHHBDvete7\norW1NV588cV44IEH4he/+EV88IMfjBNOOKG4f968eXHRRTvu1njttdfG+PHjY9WqPf9BLp/Pxz/8\nwz/Egw8+GPPnz4+VK1dGW1tbdHR0xGOPPRb/5//8n7j11lvjYx/7WBx88MFlfczVRoAFAAAAjAn3\n339/RMRbntTa2TPPPBPXXXddLF68OC699NLdhqq/9NJL8Td/8zdx99137xZg3X333XHjjTfG6tWr\n48wzz9zlufe85z1x5ZVXxj//8z/H7Nmz45BDDomIiKlTp8bUqVMjIuKmm26Ktra2WLJkyR5ru+ee\ne+LBBx+MNWvWxCmnnLLLc6eddlo8/vjj8bWvfS0efPDBmg+wDHEHAAAAUq+vry9uvfXWmDVrVixe\nvLjk1z366KNRKBTi3e9+9x7vCDhlypSYN2/ebs91dnbGNddcE4sXL94tvIqIyOVy8ZGPfCSam5vj\nRz/6UfkfUEQ89NBD0djYGCtXrtzj84cddlhMmDBhWNeuNgIsAAAAIPWuueaa2LZtW7E9r1TZ7I7o\no7e3d697DjnkkN1OOK1bty76+vri9NNP3+vrmpqaYtGiRbFp06ZhDWuvq6uLgYGBGBgY2Oueww8/\nPKZNm1b2tauNFkIgNZ667geR7+srrrMNDTF7zTkJVgQAAKTBunXr4u67746zzjorDjzwwLJeu3jx\n4vj+978f11xzTXz84x+PiRMn7rZn5xlWb9i0aVM0NDTExIkTY/v27Xu9fktLS/T19UVnZ2e0traW\nVdvRRx8dv/zlL+O73/1unH/++ZHL7X5jtfPOO6+sa1YrARaQGk9///oY6OgorutbWwVYAABQ4zZt\n2hTf+9734uijj453v/vdZb9+ypQpcckll8RVV10Vn/vc5+Lwww+PhQsXxvz582P//fff6+tefvnl\n6Ovri8suu6yk9+nb6Y/xpTr22GPjpZdeiptvvjkefvjhOOqoo2L+/PmxYMECrYNvIsACAAAAUumZ\nZ56JtWvXxqxZs+Liiy8e9nUWLVoUX/ziF+P++++PBx98MK677rro6+uLqVOnxrJly+Lkk0+OxsbG\nXV7T29sbs2bNijVr1pT0HuPHjx9WbaeffnosXbo01q1bFw8//HDcd999kc/no729PU4++eQ45phj\nhnXdaiPAAgAAAFJn27Zt8ZWvfCVaWlri4x//+B7b68rR2NgYxx9/fBx//PGRz+fjP/7jP+LnP/95\n3HTTTfGzn/0s/uAP/iCmT59e3N/Q0BDZbDYWLlz4dj+UtzRp0qQ4/fTT4/TTT4/e3t54/PHH4557\n7ol//Md/jHXr1sXv//7vR0NDQ8XrSDND3AEAAIBU6enpia9+9avR19cXn/zkJ6OtrW1Er5/NZmPu\n3LnxoQ99KP74j/84XnvttfjWt761y55JkybFCy+8EPl8fkTf+600NjbGkUceGR//+Mfjv/yX/xIb\nN26Mf/u3fxvVGtLICSygJPMPPCha6krLvLsG8/GrJ39T4YoAAIBqNDg4GGvXro3nn38+PvWpT+1y\nKuoNL774YjQ0NJQ0J2rDhg2xdevWOOecPc/XbW9vj2OOOSbWrVsXXV1d0dLSEhER8+fPj8cffzw2\nbtxYsVNYt9xyS0yYMCGWLFmyx+dXrFgRt99+ezz66KPx3ve+tyI1jBUCLKrWnEOnxuDgUFJeV2L4\nwp611GXjlrVfL2nvaZdeUuFqAACAavWd73wnNm7cGB/96Edj7ty5e9zzN3/zNzF//vz48Ic//JbX\n++1vfxt33333XgOsiIj6+h3xSCaTKT62dOnS+OEPfxg33nhjHHbYYbs8V6r6+vro6enZ6/OPPvpo\njBs3bq8BVkRELpcb1ntXG7/RU7XmLJgW839nRvE/cxZMS7okAAAA9uHGG2+M9evXx7nnnhtHH330\nPveWE+p0dXXFr371qz0+98QTT8T69etjzpw50dzcXHx8woQJcfbZZ8cTTzwRV111VQwODu722s7O\nzvjGN74Rjz322B6vPW3atHjuueeiq6trr7U9+eST8eqrr+7xuZ/97Gfx3HPPxaJFi/b14dUEJ7AA\nAACAxK1fvz5uvvnmmDZtWjQ0NMRdd9211737OtX0Zocffnjce++98b/+1/+KBQsWxLx586KtrS06\nOzvjN7/5TWzYsCEmTJgQF1100W6vXblyZXR2dsaPfvSj2Lx5c7zzne+MSZMmRU9PTzz11FPx0EMP\nRX19faxYsWKP733cccfFI488Ev/7f//vOO644yIiYu7cuXHAAQdERMSxxx4b//Iv/xJ/9md/FosX\nL44DDzwwmpubY/v27fHII4/EE088EfPnz493v/vdJX+81UqABQBj1EFzD45sc2k/yvPdA/GbzU9U\ntiAAIMY1jIuNP3s46TIqYlzDuIpe/9e//nVERLzwwgtx9dVXj9h129vb47//9/8e9913X/zyl7+M\nu+66Kzo7O6Ouri6mT58eq1evjpUrV+5y+mpnZ511VhxxxBFx++23x7333hsdHR3R2NgYM2bMiFWr\nVsVJJ50UTU1Ne3ztO97xjujp6Ymf/OQnce2118b48eNj3LhxxQBr+fLlcfjhh8fdd98djz32WDz2\n2GPR3d0dTU1NccABB8T5558fy5Yt00IYAiwAGLOyzfXxD9d/6603RsT7Tjon2o/Y8wyJNxN2AcDw\nXfyh3U/xUJoLLrggLrjggopcu6GhIU488cQ48cQTh/X6Qw45JA455JBhvXb58uWxfPnyvT4/ceLE\nOOOMM+KMM84Y1vVrhQALGHHbX90WR7a3l7TXHQthV+Wcqurs7iz5uk2tTWM27PrcbVdEd/9Qm0Bz\nrim+uPKyir4nAADpIsCqca+9tCny+aFBdNlsXbRNOTTBiqgGbY0N7lgIw1TOqaoL3vPBitRQTtj1\nX8++uCI17OyZ15+Pzr6hwafjGloq/p4AAKSLAKvG7Qiw+ovrbDYnwAIYYZU6VQUAALVCgAUAFZaG\nU1UAADCWCbAAgFHhrokAAAyXAAtq2PwDD4qWumxJe3s6OipcDTAWbdu2reSB793RG1df/52S9o7G\nbC0AAMYOARbUsJa6bMnD1lddWJnb2e7siL/+YkQ+P/RAtrRwDUZKOSeEXn7hpZg8bUpJe6t5rlU5\nA9/LaY/cORg76tMnRX1zrvjc9u3bdwnNnNYCAKh+AiwgNVpmz066BKpQOaFUOSeELnjPB821qqCd\ng7F/evDa6B3sKz43rnXcLp97p7UAAKqfAAtI1PZXt8WR7e0l7e0azMevnvxNhSui2higXv3KaWN0\nWgsAYGwSYAGJamtsKLmN8bRLL6lwNcBYVE4b4/tOOkfYBQAwBgmwABhzymkLrOb5U5SvnLBLayIA\nQHoIsAAYc7QFMhq0JgIApIcAi6p17x2bY2BgsLiur6+LZStK+0UEAJzWAgBIDwEWVavz9d7o7x8K\nsHK5ugSrAaCaOa0FAFBZAiwAgLfJaS0AgMoSYAGQCgazAwAAeyPAAiAVDGZnbyY0jY/+wYHiOlfn\nny8AALXGvwABqBinqhgJZx+2KukSRpR5WQAA5RNg1bjp7SdFoTC0zmSSqwWoPk5Vwe7MywIAKJ8A\nq8blGtuSLgEAAABgnwRYAAAppd0QAGAHARYAQEppNwQA2EGABaRG36uvxpuHsjVMmpRcQQAAAKSC\nAAtIjae/f0Pke3uL62xjY7R/5MOJ1cOeubMgpJN2QwCgmgmwACiLOwtCOmk3BACqmQALAKDGOK0F\nAIw1AixgzNj+6rY4sr29pL1dg/n41ZO/qXBFAGOT01oAwFgjwALGjLbGhrhl7ddL2nvapZdUuBoA\nAABGiwCLqjVufGMMDAwW1/X1dQlWA+lmMDsAAJBmAiyq1rIVpc32AAxmB/bOvCwAIA0EWAAA7FU5\n87Led9I5wi4AoCIEWAAAjAjD4QGAShFgAQAw6kptTXRSCwCIEGABACm34dnHYiA/UFzXZ+vjyP0X\nJlgRI6HU01pOagEAEQKsmtff+1oUCkPrTCYi19iWXEHAiHFnQarFL597LHoH+4rrxroGARYAQI0R\nYNW457f+NPL5/uI6m83F7AVnJlgRMFLcWRAAAKgWAiwAAFKr1FlZEeZlAUA1E2ABjCHaAoFa486G\nAECEAAuqzvwDD4qWumxJe3s6OipcDSNNWyDA3jmtBQDVS4AFVaalLhu3rP16SXtXXXhBhaspz8Sj\njozCwNCdxjL1vkUBULpyTmu976RzhF0AMIb47RBIjUlHH5l0CQDUCK2JADC2lNZnBAAAAAAJEWAB\nAAAAkGpaCAEAYB8MhweA5AmwAABgH8zLAoDkCbCoWls2vhCDg/niuq4uG3MWTCv7Otu2bY9D5y0q\naW/fQHds3frrst8DAAAA2DsBFlVry6YXo79/sLjO5eqGFWC1NLfG1VfdVNLe8y48o+zrw0FzD45s\nc2nfjju7OytcDQBvh3ZDAKgMARZAwrLN9SW3plzwng9WuBoA3o5y2g3fd9I5wi4AKJEACwAAEmC2\nFgCUToAFAAAppzURgFonwAKokFJnW5lrBft21oJTIh+F4jobmQSrgWQ4rQVArRNg1bi2KYdGPj80\n6DybrUuwGqgupc62MtcK9m1i84SkSwAAIGECrBrXNuXQpEsAAAAA2CcBFgAAVJFy5mW9/MJLMXna\nlJL2mq0FQJIEWABlKHWuVYTZVgAko5x5WRe854NmawEwJgiwAMpQ6lyrCLOtAKgu7oQIQJIEWEBq\nPHXdDyLf119cZxtyMXvNOQlWBAC8wZ0QAUiSAAtIjf5t2yPf21tcZxsbh32t7a9uiyPb20va2zWY\nj189+ZthvxcAAACVJcACqlJbY0PcsvbrJe097dJLKlwNANQWg+QBGGkCLAAAYEQZJA/ASMsmXQAA\nAAAA7IsTWEDN6+7qKrnNobO7s8LVAAAA8GYCLKrW0pPnRKEwtM5kkquF9CunzQEASIbZWgC1S4BF\n1Wpta0q6hBEz/8CDoqWutI7fno6OClczNhTeesuw9gIAyanUbK33nXROycGYsAsgGQIsGANa6rIl\n31Fv1YUXVLgaAIDqUk4wZpA8QDIEWAAAACUqp43RaS2AkSPAAgBSbVv39sjv1OybjUxMbJ6QYEVA\nLSvntJbWRICRI8ACAFLtho0/id7BvuK6sa4hLjrq3AQrAihNpVoTD5p7cGSbS/tVTjAGVAsBVo17\nbuudUcj3F9eZbC5mtJ+cYEUAAFB7ymlN7I7euPr675S018wuoFoIsGrcQO/rkd8pwMpmcwlWA/vm\nboEAQLUq9w6LpTKzC6gWAiwAAIAqZWYXUC0EWAAAAAi7gFQTYAGJ2rktMDdxQuT7dmppbdDSCgCQ\nRpUKu15+4aWYPG1KSXsFY1BbBFhAasxec07SJQAAMMLKne/lzo3AngiwAAAAGHPcuRFqiwALGHFj\n7W6B/T298Ycrzi9p78C27RWuBgCAUqThzo3ltDxqj4S3R4AF1LzxTY3x4yv/oaS9J1x4QYWrAQAg\nSZVqeSxnb6lzwwRo1BIBFlCSsXaqCgAAxqpSQ7SkA7QIYRejR4BF1ep4rScKO6UumUxEa1tTcgUB\nAACMAWm4y2SlTowZ6D92CbCoWuvu3BL9/YPFdS5XF6ee9TsJVpQ+TlUBAABvx1hquYwob6B/pcI5\nwdjwCLCgygilAACAWlKpgf6VCufScGptLAZuNRtgdXd3x9NPP510GaOukC893ijkC7F58+YKVlNC\nDYV8ou9frkIhX5HPWXdX94hfk+HJZDLx0lMvlLR3v7ZJJe0tdZ+99tbq3uyr+ajb6edXNpvf5Tpp\nq9de3yPttddee0drb9Lvb+/w9s6cuX/8P1f8RUl7/9/L/iKRvROmToxcY0NERPzXsy8u6ZqVlikU\nCjVxYOOSSy6Jm2++ubieNGlSLFmyJMGKknHPz26Jn/7kX4vrpzbeGPl8f3GdzeZi9oIzIyLipFPe\nH8tPOG3Ua9zZj2/5aVz7Lz8uae+5718d1/7r0P/GP77h0b22EL55bznX3efeD5wap552Ukl7y3H3\nTf8Wd3yrtDR/1YUXxK1XlXYk1t7y9664+OI4/oz3lLQXAABgLDr5vFNjyuxpEbEjwNr6cLKHWyJq\n6ATW17/+9V3Wmzdvji996UsJVQMAAACQTn/92f8vtr2+PSJ2tBCmQc0EWOxZfeP4KOx0AiuTzSVY\nDQAAAJC0a67615g7t7Q5XaOlZgOsWbNmRWtra3R0dERra2t87GMfS7qkUfHzdbfvsp7RfvJe9+bq\nc/GZz3ym0iXt052335vo+5crl6vM52z9LbeM+DUZnlyuPvGvC6hFf//3f19zP7MhKb7eAGrTzt//\nZ82alXQ5u6nZAKu5uTnq63d8+PX19alLFislk82UtTfpz0smk030/cuVyWQr8jnLZMfW56GaZbKV\n+d8Y2Lda/JkNSfH1BlCbdv7+39zcnHA1u/NbMQAAAACpJsACAAAAINVqtoUQSJ9X/31DFAaG7nCR\nqa+PSUcfmWBFAAAApIEAC0iNbQ9uiHxvb3GdbWwUYAEAAKCFEAAAAIB0E2ABAAAAkGoCLAAAAABS\nTYAFAAAAQKoZ4k7VmnPo1BgczBfXdXXyWgAAABiLBFhUrTkLpiVdAgAAADACHEkBAAAAINUEWAAA\nAACkmgALAAAAgFQbtRlYl19+eZx77rlx9NFHj9ZbvqWVK1dGT09PNDU1JV0KALAPfmbD6PH1BlCb\n0v79f9QCrFdeeSV++9vfpirAOuWUU5IuIXGvvbQp8vnB4jqbrYu2KYcmWBGk2/ZXt8WR7e0l7e0a\nzMevnvxNhSuC2uBnNoweX28AtSnt3/9H9S6EP/rRj2LDhg2xZMmSOO6446KtrW0035492BFg9RfX\n2WxOgAX70NbYELes/XpJe0+79JIKVwMAAFAbRjXAamlpiWeffTa+//3vx/XXXx8LFy6MJUuWxJFH\nHhl1dXWjWQoAAAAAY8SoBlirV6+OI488Mu6///64//7745FHHolHHnkkWlpa4p3vfGcsWbIkDj74\n4NEsCQAAAICUG7UAa968ebH//vvHlClTYvXq1bF69ep48skn4/77748HHngg7rrrrrjrrrti//33\nj6VLl8axxx6rxRAAAACA0QuwPv3pT+/22IEHHhgHHnhgvPe9741NmzbF/fffH//+7/8e1113Xfzg\nBz+IhQsXxtKlS2Px4sVaDKEGzHrvWRGFwtADmUxyxQAAAJAao9pCuDfZbDYOO+ywOOyww+K8886L\nhx56KH7+85/Ho48+Go888kiMGzcu3vGOd8TSpUvjoIMOSrpc3qb29nnRUN9c0t6urp4KV0OaNEya\nlHQJAAAApFAqAqyd5XK5WLx4cTQ2NkZjY2M88MAD0dnZWWwxnDlzZpx00kmxdOnSqK9PXfmUoKG+\nOa6+6qaS9p77/tUVrgYAAABIu1QlQE888UTcd9998cADD0RXV1dkMplYuHBhLFu2LGbMmBH33Xdf\nrF+/Pq6++uq45ZZb4sMf/nDMnz8/6bIBAAAAqKBRC7BeeeWVaG1tjYaGhl0e3759e6xfvz7Wr18f\nzz77bERETJ48Od71rnfFkiVLYr/99ivuPffcc+Oss86Ku+++O2644Yb427/92/jEJz4Rhx122Gh9\nGAAAAACMslELsC6//PI4//zzY/ny5TEwMBAbNmyI++67Lx577LEoFApRX18f73jHO2LZsmX7DKRy\nuVysWLEiFixYEP/jf/yPuOmmmwRYAAAAAFVsVFsIN2/eHE8++WQ88MAD0d3dHRERs2fPjmXLlsUx\nxxwT48aNK/laM2fOjMMPPzwefvjhSpXLGHfvHZtjYGCwuK6vr4tlK+YmWBEAAAAwHKMaYK1fvz4i\nIpqbm+OEE06I5cuXx4EHHjjs640bNy6y2exIlUeV6Xy9N/r7hwKsXK4uwWp2N//Ag6KlrrT///Z0\ndFS4GgAAAEivUQ2wZs2aFatWrYqjjjoqcrnc277e6tWrY+XKlSNQGYy+lrps3LL26yXtXXXhBRWu\nBgAAANJrVAOs5cuXxzHHHDNi15s0adKIXQsAAACAdBq1AOvCCy+M+fPnj9bbAQAAAFAlRi3AWrp0\n6Wi9FQAAAABVZFRbCEv1/7N359FRl4f+xz8zk8k2IYQkJJAFCUsCGEIADQhcCMiu0EtFqq0LrVBp\nvbXHc7S/29bL7e/Weu5ytKcuV7Tl9IDFrfrjCEJRkBBUQnBhCREIgQRliYCQkJDJNjO/PyyBmIVJ\nmvl+v8m8X+fkj2fmeb7zGdLMaT/9Ps/U19fL4XAoJMSS8XqVxLRc+XxXxzabeVkAAAAAAADaYmhD\n1NDQoOeee07Hjx9vfuzRRx/V4MGDW8z74IMP9NZbbykjI0N33HGHUlNTjYwZVJxh0WZHAAAAAAAA\n6JDdyBdbt26dSkpK1L9/f914442aNGmS+vbt22peWlqacnJyVFZWpv/+7//W4cOHjYwJAAAAAAAA\nCzHsDqzy8nIVFhYqMzNTP/3pT2W3t9+dDR06VEOHDlVlZaV+//vf609/+pN+85vfKCoqyqi4AAAA\nAAAAsAjD7sAqKCiQzWbT3Xff3WF5da2YmBg98MADqqmpUV5eXoATAjBbw8WLarhw4erPxYtmRwIA\nAAAAWIBhd2AdPnxYQ4YMUVxcXKfWDRo0SIMHD9b+/fu1YMGCAKUDYAWn/t/b8tbXN4/tYWFKe2Cp\naXkAAAAAANZg2B1YlZWVGjBgQJfWpqSk6OzZs92cCAAAAAAAAD2BYXdg+Xy+Lq/1er3dmAQAjFF1\nsVLZaWnXnVfr8arkixMGJAIAAACAnsmwAis2NlanTp3q0tozZ86oX79+3ZwIAAIrOixUW1a9eN15\nc1c8aEAaAAAAAOi5DNtCmJmZqfLycpWXl3dq3RdffKGysjLdeOONgQkGAAAAAAAASzOswLr11lsV\nGhqql156ye87sSoqKvTiiy8qNDRUM2fODHBC9DauPmGKir764+oTZnYkAAAAAADQBYZtIezXr58e\neOABvfTSS3ryySc1ceJETZgwQYMHD1ZoaGjzvIaGBpWXl+vjjz/Wrl27JEnLli1TbGysUVHRS0ye\nMczsCAAAAAAAoBsYVmBJ0pgxY/Too4/qL3/5iz766CN99NFHstlsCg8Pl9PpVGNjo+rq6poPfE9K\nStI999yjIUOGGBkTAAAAAAAAFmJogSVJaWlpevzxx3XkyBEdOHBAX375paqrq9XQ0KDIyEilpKQo\nNTVVWVlZGjFihNHxAAAAAAAAYDGGF1iSZLPZNGLECAoqAAAAAAAAXJdhh7gDAAAAAAAAXWHKHVid\ndenSJVVUVCg9Pd3sKL1OY/0l/f3IMUmSzSY5w6LNCwQAAAAAAPAtPaLA+vTTT/X6669r1apVZkfp\ndb4q2yGvt7F5bLc7lTJioYmJAAAAAMA6Xv3zn9VUU2N2jIAJiYrS3T/8YcCu73a7VV5errKyMpWV\nlcnpdOrHP/5xh2s8Ho/y8/O1Z88eVVRUyOPxKD4+XmPGjNHs2bMVGRkZsLywrh5RYFVXV5sdAQAA\nAAAQhJpqajQrPcPsGAGzteRIwK69evVqffzxx5Kk6OhoXb58WUOHDu1wjdvt1h/+8AedOHFC2dnZ\nysnJkcPh0MmTJ5WXl6eCggI98sgjGjBgQMByd6cVK1Zo4sSJWrp0qdlRejzDC6zLly/r448/Vmlp\nqc6dOye32y2Px3PdNQAAAAAAoOeYNm2aZs+ercTERIWGhupXv/rVddesXbtWJ0+e1MMPP6yRI0e2\neG7u3Ll6+umn9fzzz2vlypVyOp2Bit6tbDab2RF6BUMLrH379mnt2rWqra2VJNntdoWHh8vhcHS4\n7noFFwAAAAAAsJZhw4Z1an5ZWZn27t2rhQsXtiqvJCkuLk5Lly7VU089pfz8fM2cObO7oqIHMKzA\n+uKLL/THP/5RNptN8+fPV05OjhISEmS3X/+LEN9++2397W9/MyAlADPFjM2Wr6mpeWwL6RG7nAEA\nAAB0g8LCQjkcDk2bNq3dOcOHD1dKSop2797dYwos37XfnIYuM+x/HW7ZskUej0cPPfSQRo8e3am1\nffr0CVAqAFbSb1y22REAAAAAmOT48eNKSkqSy+XqcN7w4cO1Y8cONTY2dmobYVFRkfLz81VeXq7a\n2lpFREQoMTFRmZmZmjZtWoevW1RUpLy8PJWXl6uhoUF9+/bViBEjmrdIXmvjxo3atGlT83j37t3a\nvXu3JCk2NlZPPvlki/kej0c7d+7Unj17dObMGTU2NioqKkqpqakaO3asJk6ceN2da8HAsAKrtLRU\naWlpnS6vJGn06NEKDw8PQCoAMF/VxUplp6X5NbfW41XJFycCnAgAAAAw3vnz55WRcf0D8+Pj4+Xz\n+XT+/HkNHDjQr2u/8cYb2r59uwYNGqTc3FzFxMSotrZWpaWl2rhxo9577z0tW7ZMmZmZLdZ5vV69\n9tpr2rlzp9LT0zVv3jyFh4eroqJChYWF2rNnj5YtW6YxY8Y0r8nOzlZ8fLwkac2aNRo6dKimTJki\nSQoLC2tx/fr6ej3zzDM6duyYsrKylJ2dLZfLpYsXL+rgwYN6+eWXtXXrVj300EPq37+/X++1tzKs\nwLp8+bKys7t2d0X//v2D/hcFoPeKDgvVllUv+jV37ooHA5wGAAAAMIfb7W5V8LTlyg0ubrfbr+sW\nF6Ne6RQAACAASURBVBdr+/btys3N1V133dXiudmzZ+vLL7/U73//e+3evbtVgbVhwwbt3LlT99xz\nT3MJdcX8+fP1zDPPaPXq1Vq5cmVzaZWamqrU1FRJ3xRYCQkJuuWWW9rMtnnzZh07dkzLly/X+PHj\nWzy3YMECFRQUaM2aNTp06FDQ9yLXP4Cqm/Tt25fD2AEAAAAAQJt8Pp9f39h3ZU7TNefnduTAgQOS\npNtuu63N51NTU5WcnNzq8YqKCm3ZskUzZsxoVV5Jksvl0vLly+XxeLRt2za/srSVbcCAAa3Kqysm\nTJjAtxj+nWF3YA0ePFjl5eVGvRwAAAAAAEDz+VH19fXtnrGdkZHR6pypHTt2yG63a+7cue1eOz4+\nXkOGDNHnn3/e5Wy1tbXtPm+32zVmzBj169evS9fvTQy7A+vWW2/V6dOnVVRU1Om1RUVFevrppwOQ\nCr3ZscNnVVJc0fxz7PBZsyMBAAAAAAw2btw4SdK6devaLYtuv/12zZs3r8VjR44cUUJCgiSpqqqq\n3Z+oqChdvHixy9kuXLig9evXy+v1tjlnxYoVXTpPvLcx7A6soUOHatGiRfrTn/6kH/3oRy0OOLue\nU6dOqaSkJIDp0BsdO3JOjY1Xt606nQ4NHZFgYiIAAAAAgNGGDRume+65R3/961/1y1/+UllZWRox\nYoQyMjKaz61qy9dff62Ghgb94he/CFi2uXPnqqqqSu+++64KCwuVnZ2t9PR0ZWRkXPfbGIONYQXW\nsWPHNGTIEE2dOlWrVq1SRkaGbrrpJr++CrK0tNSAhAAAAAAAwCx2u10+n++6867M8adPuGLKlCka\nO3asCgoKtH//fr366qtqampScnKypk6dqilTprS6XkNDg0aOHKlZs2Z17o10gt1u1913360ZM2Zo\n165dOnjwoHbs2CGbzaaMjAzNnDmz1cHywcqwAut//ud/WowPHz6sw4cPG/XyAAAAAADAwsLDw1Vf\nX3/deXV1dZKkiIiITl3f5XJp5syZmjlzppqamlRSUqKCggK99tpr+uCDD/Twww8rOjq6eX5oaKjC\nw8M1atSozr2RLkhMTNSiRYu0aNEiXb58WcXFxcrPz9dzzz2nnJwcLV26VHa7YadAWZJhBZYkxcTE\naP78+X41qtfat2+fDh06FKBUAAAAAADAbP3799fZs9c/u/jcuXOy2Wwdbv+7npCQEI0aNUqjRo3S\n+PHjtWrVKr3++utavnx585yYmBidOXOmy6/RVS6XSzk5OcrJydFf//pXvf/++xo6dKimTZtmeBYr\nMbTA6t+/v6ZOndrpdW63mwILAAAAAIBeLC0tTfn5+aqurm732wIl6ejRo0pKSlJoaKhf1/3www/l\ndrvb3Qp45dypgwcPtng8PT1dH374oSoqKjRgwAD/30gnvPnmm8rIyGj3kPbvfve7ys/PV3FxcdAX\nWIbdfxYbG6uBAwd2aW1cXJxiY2O7OREkKTo+Q9HxI6/5yTA7EgAAAAAgCE2YMEE+n095eXntzikp\nKdGpU6c0YcIEv69bWlqqPXv2dDjH6XS22qJ35Qact99+2+/X+raQkJDmLY9t+eyzz657vJLD4ZDN\nZutyht7CsDuwnnzyyS6vvfnmm3XzzTd3YxpcQWEFAAAAALCCtLQ0jR07Vu+++67S0tJa3ZV04cIF\nrVmzRnFxccrNze3Utc+ePavTp08rKSmp1XNFRUX6/PPPlZOT0+LxQYMGafr06crLy9OGDRu0YMGC\nVkVSZWWl1q5dq8WLF7d57f79+6u8vFxer7fdM6xKSkpUW1uryMjIFo/7fD5t2LBB9fX1ysrK6tT7\n7Y0M3UIIAAAAAACCw9mzZ1VaWto8rqurU1VVlXbt2tX82PDhw9W/f//m8X333adnn31Wzz//vLKy\nspSeni6n06lTp06psLBQoaGheuSRR/zePihJ48aN0/79+/XEE08oMzNTQ4YMkcvlUnV1tY4ePapD\nhw4pKSlJd955Z6u1d955p+rq6rR582YdOHBAY8eOVXR0tGpra3XixAkVFRUpJiam3W9EnDhxotav\nX69nn31W2dnZampqUnZ2tuLi4iRJkyZN0qZNm/TrX/9a2dnZSk5OVmhoqCorK7V3716dOXNGN910\nkyZPnuz3++2tTC2wzp49q0uXLqmhoUFxcXFKTEw0Mw4AAAAAAOgmpaWlWrt2bYvHamtrWzx2//33\ntyiwIiIi9Oijjyo/P1+FhYV655131NTUpPj4eE2bNk1z5syRy+XqVI6srCw98cQT+vDDD3Xw4EFt\n27ZNtbW1cjqdSkpK0uLFi5Wbm6uQkNYVid1u1/3336/x48crPz9feXl5crvdioiIUHJysu644w5N\nmTKlzbWSNGvWLHk8Hn300Ud64403FBMTo5SUlOYC6/bbb1dOTo527typI0eOaN++faqvr1dkZKRu\nuOEGLViwQOPGjevU++2tDC+wampqtHnzZu3evVu1tbXNj8+YMUNLlixpMbehoUF/+9vfNHHiRMot\nAAAAAIDhQqKitLXkiNkxAiYkKipg1540aZImTZrU6XV2u13Tp0/X9OnTuy2Ly+XSnDlzNGfOnC6t\nz8zMVGZmZqfX2e12zZ8/X/Pnz293TkJCghYvXtylXMHE0ALriy++0HPPPadLly4pLi6u+da7v/3t\nb23Ob2ho0Mcff6y9e/dq5cqV7e4XBdA7nHxrvbwNjc1je6hTKXcsMjERAAAAgt3dP/yh2REAyMAC\nq7a2Vs8++6zcbrfuvfdeTZo0qfnws/YKrKioKN1111167rnnVFhYqFtuucWouABM0FhZJW99ffPY\nHhZmYhoAAAAAgFUYdkvTtm3bVF1drfvvv1+TJ0/2+ysgMzMzFRMTo7179wY4IQAAAAAAAKzIsAJr\n//79GjhwoG6++eZOr01LS9MXX3wRgFQAAAAAAACwOsMKrPPnz2vIkCFdWtunTx/V1NR0cyIAAAAA\nAAD0BIadgeXz+fzeNvht9fX1cjqd3ZwI6H5ud62y09L8mltHKQsAAAAAgF8MK7ASEhJUVlbWpbXH\njx9XYmJiNydCbzdp+lD5fFfHXexPO23Lqhf9mjfnvnsDnAQAAAAAgN7BsC2EN910k06dOqVPP/20\nU+sKCgp07tw5jR8/PkDJ0FtFRYerT9+rP1HR4WZHAgAAAAAAXWDYHVgzZszQBx98oDVr1shut2vs\n2LHXXfPpp59q3bp1iouLU25ubuBDAoDFVV2s9Hubaq3Hq5IvTgQ4EQAAAAAEnmEFVmhoqH72s5/p\nqaee0osvvqhRo0Zp0qRJSvvW/xCrq6tTaWmp8vPzVVRUJJfLpYceeogzsABAUnRYqN/bVOeueDDA\naQAAAADAGIYVWJI0YMAAPf7443r55Zd18OBBff75583PffjhhyooKFBdXZ18fz+4KD09XUuXLlVs\nbKyRMQEAAAAAAGAhhhZYktS3b1/9y7/8i7788kt9+umnOn78uKqrq1VfX6/Q0FClpKRo8ODBGjt2\nrIYMGWJ0PAAAAAAAAFiM4QXWFampqUpNTTXr5fF3FWV58nkbm8c2u1MD0qabmAgAAAAAAKAl0wos\nWENTfbW81xRYdjtnjQEAAAAAAGuxmx3AH0VFRdq6davZMQAAAAAAAGCCHlFgbd++XW+99ZbZMQAA\nAAAAAGACw7YQFhcXy2azdXqdz+fT+fPnA5AIgNU4Y/rK23DNltZQtrQCAAAAAAwssJ599lmjXgpA\nD5VyxyKzIwAAAAAALMjQQ9zT0tI0atQov+YePnxYx44d08SJEzVy5MgAJwMAAAAAAIBVGVpgjR49\nWvPnz/dr7oIFC1RUVKQ//elPuuGGGzR9+vQApwMAAAAAAIAVGXaI++DBgzVw4MBOrRk9erTuvfde\nvfHGGyovLw9MMAAAAAAAAFiaYXdg/eu//muX1o0fP15vv/22tm/frh/96EfdnAoAeq+qi5XKTkvz\na26tx6uSL04EOBEAAAAAdI2hWwi7wmazKSUlRaWlpWZHQQ9Tc6lOPt/Vsc0mRUWHmxcIMFh0WKi2\nrHrRr7lzVzwY4DQAAAAA0HWWL7AkqU+fPqqqqjI7BnqYXXnH1NjoaR47nQ7N/s6NJiYCAAAAAABd\nYdgZWP+Is2fPKjIy0uwYAAAAAAAAMIHlC6zS0lIdOXJEGRkZZkcBAAAAAACACSy7hbC6ulqFhYXa\nuHGj7Ha75s2bZ3YkAAAAAAAAmMCwAus///M/ZbPZrjuvsbFR1dXVzWdeRUZGatmyZUpOTg50RAAA\nAAAAAFiQYQVWeXm5X/OcTqdcLpdGjRqlUaNG6ZZbbpHL5QpsuCAWEtZHPm9j89hmd5qYBgAAAAAA\noDVDtxDOmTNHixYtMvIlcR0D0qabHQEAAAAAAKBDhhZYMTExRr4cYLj6+gZN/ckjfs39us4T4DQA\nAAAAAPQOhhVYq1at6vZrNjQ0qKamRrGxsd1+baArIsP76NV1m/2au2jxrQFOAwAAAABA72DZbyH0\nR0FBgV599dWAlGMAEEyqLlYqOy3Nr7m1Hq9KvjgR4EQAAAAAcFWPLrBqamrMjgCgG138bJ98TU3N\nY1tIiPqNyzYxUfCIDgvVllUv+jV37ooHA5wGAAAAAFoyrMB66qmnZLPZuvWa586d69brATBX5d59\n8tbXN4/tYWEUWAAAAAAA4wqsqqoq1dbWyu12y+Ph8GoAAAAAAAD4x7AC6z/+4z904cIFrVq1SuHh\n4frBD37Q4eHrbrdbb775pkpKSvTTn/5UAwcObDXnnXfe0bvvvhvI2AAAAAAAADCZ3agXamho0DPP\nPKPo6Gj9/Oc/V2JiopxOZ7s/0dHR+tGPfqQRI0Zo1apVampqanMOEHA+swMAAAAAABDcDCuwtm/f\nrq+//lr33nuvHA6H3+vuvPNO1dTUaNu2ba2eS09P12233dadMQEAAAAAAGAxhm0h/OSTT5Senq6+\nfft2ap3L5VJ6err27dunBQsWtHguNTVVqamp3RkTvcjQjP7yeLzNY4fDsL4WAAAAAAB0I8MKrHPn\nziktLa1La/v166ejR492cyL0dkNHJJgdAQAAAAAAdAPDbkmx2Wy6fPlyl9a63e5uTgMAAAAAAICe\nwrACKykpSZ9//rnq6uo6ta6pqUmHDx/WgAEDApQMAAAAAAAAVmbYFsJJkybpL3/5i1avXq0f//jH\ncjqdfq17/fXXVVNTo3nz5gU4IQDAH1UXK5Xt55bwWo9XJV+cCHAiAAAAAL2dYQXW5MmTtW/fPhUV\nFem3v/2t5s6dq3Hjxik8PLzVXJ/Pp6NHj+qdd95RSUmJBg8erNzcXKOiAgA6EB0Wqi2rXvRr7twV\nDwY4DQAAAIBgYFiBZbPZ9JOf/ERvvfWW8vLytHbtWq1bt04JCQmKi4tTWFiYvF6vampqdOrUKdXW\n1kqSsrOztXTpUjkcDqOiBpVL54/I6/U0j+12h6LjM0xMBAAAAAAA0JJhBZYkORwOLVmyRLm5uSoo\nKFBxcbFOnz6tM2fOtJgXFxen7OxsTZo0ScOGDTMyYtD5psBqbB7b7U4KLAAAAAAAYCmGFlhXJCQk\n6Dvf+Y6+853vyOv1yu12q76+Xg6HQ5GRkX6fjwUAAAAAAIDez5QC61p2u10ul0sul8vsKAAAAAAA\nALAgu9kBAAAAAAAAgI6YcgdWU1OTiouLVVZWpkuXLqmxsVE33nijJk6c2Gqux+PhAHcgSCR/9zuS\nz3f1AZvNvDAAAAAAAMswvMDavXu33nrrLVVXV7d4vE+fPq0KrAsXLuipp57SnDlzNHXqVCNjAjBB\naL9+ZkcAAAAAAFiQoQXWpk2btHHjRkVFRem2227TqFGjFB0drX/7t39rc35sbKzS0tL05ptvasyY\nMerbt6+RcQEA/6Cqi5XKTkvza26tx6uSL04EOBEAAACAnsiwAqu8vFwbN25Uamqqfvaznyk6Otqv\ndd/97nf16aefKj8/XwsXLgxwSgBAd4oOC9WWVS/6NXfuigcDnAYAAABAT2XYIe7vv/++HA6HHnzw\nQb/LK+mbu7AGDRqk4uLiAKYDAAAAAACAVRlWYJWWlio9PV3x8fGdXjtgwAB9/fXXAUgFAAAAAAAA\nqzNsC+GlS5c0evToLq0NCwuT2+3u5kTo7T7aXqqmJk/zOCTEockzhpmYCAAAAAAAdIVhBVZERIRq\na2u7tLaqqkpRUVHdnAi93eXqejU2Xi2wnE6HiWkAAAAAAEBXGVZgDR48WIcOHVJDQ4NCQ0P9Xud2\nu3X48GGNGjUqgOkAAGbjGwsBAAAAtMewAmvatGk6ePCgXnnlFS1dutSvNT6fT+vWrVN9fb3+6Z/+\nKbABAQCm4hsLAQAAALTHsAJr9OjRmjBhgnbv3q3a2lrdddddio2NbXd+VVWV/vKXv6ioqEg333wz\nd2ABAAAAAAAEKcMKLEm67777JEmFhYUqLi7WiBEjNHjwYEnShQsXtH//fl28eFElJSU6cOCAmpqa\nNG7cOL/v2AIAAAAAAEDvY2iB5XA49MMf/lBjxozR5s2bVVxcrOLiYknSvn37tG/fvua5iYmJmjdv\nniZOnGhkxKCTmJYrn+/q2GYzLwsAAAAAAEBbDC2wrhg3bpzGjRunr776SmVlZbp06ZLq6+sVGhqq\nPn36aPDgwUpKSjIjWtBxhkWbHQEAAAAAAKBDphRYVyQmJioxMdHMCAAAAAAAALA4UwssAAC6oupi\npbLT0vyaW+vxquSLEwFOBAAAACCQDCuwHn74YU2ZMkVLliwx6iWB9vmuPwXGa7h4Ud8+lC20Xz/z\nAsGyosNCtWXVi37NnbviwQCnAQAAABBohhVYDodDTU1NRr0cgB7o1P97W976+uaxPSxMaQ8sNS0P\negfu1gIAAAB6PsMKrIEDB+qrr74y6uUAAJDE3VoAAABAb2A36oVyc3N19OhRVVRUdHrtkSNHtGbN\nmgCkAgAAAAAAgNUZVmDl5ORowoQJ+uMf/6gLFy50am1paakKCgoClAwAAAAAAABWZtgWQrfbrblz\n52rz5s367W9/q8mTJ2v06NGy2WzXXXvq1CkDEgIAgh3nZQEAAADWZFiB9cgjj7QYb9u2Tdu2bTPq\n5RGEXH3C1NTkaR6HhDhMTAOgJ+C8LAAAAMCaDCuwJCk1NVUjR47s9LpDhw7pyy+/DEAi9GaTZwwz\nOwIAAAAAAOgGhhZYo0eP1sKFCzu97u2336bAAgAAAAAACFKGFlhRUVFdWtenT59uToJeyWd2AADB\nhPOyAAAAAOMYVmCtWrWqy2tnzJihGTNmdGMaAAD+MYE6Lyt90A2KdPj3JcEUYwAAAAgWht6BBQBA\nMOrM3Vp2d622/GWdX3M5SB4AAADBIiAFVklJSYtxeHi4Bg0aFIiXwj+osf6SfNdsvbPZJGdYtHmB\nAKAX6szdWnPuu9fv67KNEQAAAMEiIAXW008/3WJ8ww036Je//GUgXgr/oK/KdsjrbWwe2+1OpYzo\n/EH7AADjBWobIwAAAGA1AdtCOHLkSN18882SOIQdAACzcbcWAAAAerKAFVgDBw7UpEmTOpxz+PBh\nxcbGKiEhIVAx2uV2u3Xq1CnDX9dsPq//X9Xn8/pUWlra/Rl83k5M7vaXtwybzaYT58/7NbdPbGxQ\nzP3K4ZDXefVjye5wyH7NdayWt7vmmv36zA2OuckDB+ipx//Nr7kr/v3fNWXsWL/mVlZVKaZvX7/m\n1nu9evWtt/yae/cddyjM7t9h9p25LgAAAK4vOTlZERERZsdowebz+bq9IlixYoVmzJihJUuWdMu8\n7vDzn/9cW7ZsaR737dtXY/38L+e9yYc7t2jH1tebxycPb2h3C2HurO9pytS53Z7hvS079OZr7/k1\nd/H35uvN1zf3zrl3zdbsubl+zQUAAAAAwCiPPfaYhg0bZnaMFvz7vzZ7gd/97nfatWtX888LL7xg\ndiQAAAAAAADLWbRokVJSUpSSkqLHH3/c7DiSAriF0GqioqIUFRXVPL548aKJaQAAAAAAAKxp/fr1\nlrsDK2gKrG9LTk5WVFSUampqFBUVpZ/85CdmRzJE4a73/Z7rDHHqscce6/YMee9/1O3X7ImczsD8\n+/Z0L7zwQtD9XQK4Pj4bAOPw9wYAwenaz//k5GSz47QStAVWRESEQkK+efshISGWaxYDxWa3dWpu\nIP5dbLag2bnaIZvNHjT/ueuMYPy7BHB9fDYAxuHvDQCC07Wf/1Y7wF0KojOwAAAAAAAA0DP1iALr\n2LFjWrNmjdkxAAAAAAAAYIIesYWwrKxMBQUFuv/++82Ogh7k2OGz8ni8zWOHw66hIxJMTAQAAAAA\nALoiYAVWZWWlSkpKumXel19+2V2xEESOHTmnxkZP89jpdFBgAQAAAADQAwWswPrss8/02Wefdds8\nAAAAAAAABKeAFViDBw9Wenp6t1yrpKRE5eXl3XItAAAAAAAA9CwBK7CysrI0f/78brnWli1bKLAA\nAAAAAACCVMC+hTAqKqrbrtWnT59uuxYAAAAAAAB6loDcgbVq1apuvd7kyZM1efLkbr0mvhEdnyGv\n9+pB53a7w8Q0AAAAAAAArQVsCyF6huj4DLMjAAAAAAAAdChgWwgBAAAAAACA7kCBBQAAAAAAAEuj\nwAIAAAAAAIClBfUZWDNnzlRdXZ3Cw8PNjgLg7/i7BNAWPhsA4/D3BgDByeqf/0FdYM2aNcvsCAC+\nhb9LAG3hswEwDn9vABCcrP75zxZCAAAAAAAAWBoFFgAAAAAAACyNAgsAAAAAAACWRoEFAAAAAAAA\nSwvqQ9zRu02aPlQ+39WxzWZeFgAAAAAA0HUUWOi1oqKt+dWfAAAAAACgc9hCCAAAAAAAAEujwAIA\nAAAAAIClsYUQ7aqqrNLYMcP9mnu5tkklR8sCnAgAAAAAAAQjCiy0Kzo6Qu9tetmvubNvuzfAaQAA\nAAAAQLCiwApyFWV58nkbm8c2u1MD0qabmAgAAAAAAKAlCqwg11RfLe81BZbd7jQxDQAAAAAAQGsc\n4g4AAAAAAABLo8ACAAAAAACApVFgAQAAAAAAwNIosAAAAAAAAGBpFFgAAAAAAACwNAosAAAAAAAA\nWFqI2QGAYFVZWaWM4Vl+zW1ocqus7GiAEwEAAAAAYE0UWIBJIiOi9MrajX7N/f59CwKcBgAAAAAA\n66LAQq9Vc6lOPt/Vsc0mRUWHmxcIAAAAAAB0CQUWeq1decfU2OhpHjudDs3+zo0mJgIAAAAAAF3B\nIe4AAAAAAACwNAosAAAAAAAAWBoFFgAAAAAAACyNAgsAAAAAAACWxiHuQS4krI983sbmsc3uNDEN\nAAAAAABAaxRYQW5A2nSzIwAAAAAAAHSILYQAAAAAAACwNAosAAAAAAAAWBoFFgAAAAAAACyNAgsA\nAAAAAACWRoEFAAAAAAAAS+NbCAEAAAAAuMbaNevkrm00O0bAREQ6dd/9PzA7BtApFFgAAAAAAFzD\nXduom7Knmx0jYD7ZlxfQ62/atEkbN2687rw77rhDs2bNavW4x+NRfn6+9uzZo4qKCnk8HsXHx2vM\nmDGaPXu2IiMjAxEbFkeBBQAAAAAAuk1lZaXCwsJ01113tTtn7dq1bT7udrv1hz/8QSdOnFB2drZy\ncnLkcDh08uRJ5eXlqaCgQI888ogGDBgQqPjdasWKFZo4caKWLl1qdpQejwILAAAAAAB0m8rKSsXF\nxemWW25pd85bb73V5uNr167VyZMn9fDDD2vkyJEtnps7d66efvppPf/881q5cqWcTme35g4Um81m\ndoRegQILvdbQjP7yeLzNY4eD7ywAAAAAgECrrKxUTExMh3N+97vfyeFwtHisrKxMe/fu1cKFC1uV\nV5IUFxenpUuX6qmnnlJ+fr5mzpzZrblhbRRY6LWGjkgwOwIAAAAABJ2qqiqlpqZ2OCcsLKzVY4WF\nhXI4HJo2bVq764YPH66UlBTt3r27xxRYPp/P7Ai9AgUWAAAAAADoFl6vV9XV1erXr1+n1x4/flxJ\nSUlyuVwdzhs+fLh27NihxsbGTm0jLCoqUn5+vsrLy1VbW6uIiAglJiYqMzNT06ZN6/B1i4qKlJeX\np/LycjU0NKhv374aMWKEZs+ercTExBZzN27cqE2bNjWPd+/erd27d0uSYmNj9eSTT7aY7/F4tHPn\nTu3Zs0dnzpxRY2OjoqKilJqaqrFjx2rixImt7lYLRhRYAAAAAACgW1y6dEk+n6/FFsL6+no1NTUp\nMjKyw/Ogzp8/r4yMjOu+Rnx8vHw+n86fP6+BAwf6leuNN97Q9u3bNWjQIOXm5iomJka1tbUqLS3V\nxo0b9d5772nZsmXKzMxssc7r9eq1117Tzp07lZ6ernnz5ik8PFwVFRUqLCzUnj17tGzZMo0ZM6Z5\nTXZ2tuLj4yVJa9as0dChQzVlyhRJre88q6+v1zPPPKNjx44pKytL2dnZcrlcunjxog4ePKiXX35Z\nW7du1UMPPaT+/fv79V57KwosAAAAAADQLSorKyVJTqdTr732mj799FNVV1dL+qa8GTNmjBYuXNhc\n8FzL7Xa3ubXw28LDw5vn+6O4uFjbt29Xbm5uq29GnD17tr788kv9/ve/1+7du1sVWBs2bNDOnTt1\nzz33NJdQV8yfP1/PPPOMVq9erZUrVza/p9TU1OYtlGvWrFFCQkK7B9pv3rxZx44d0/LlyzV+/PgW\nzy1YsEAFBQVas2aNDh06FPQFFqdaAwAAAACAbnGlwFq3bp2OHTumWbNmafny5VqxYoVuvfVWHTx4\nUE8++aROnDjRaq3P5/PrG/uuzGlqavIr04EDByRJt912W5vPp6amKjk5udXjFRUV2rJli2bMmNGq\nvJIkl8ul5cuXy+PxaNu2bX5laSvbgAEDWpVXV0yYMIFvMfw77sAKcpfOH5HX62ke2+0ORcdf/5ZN\nAAAAAAC+raqqSpI0ceJE/eAHP2jxXHZ2tqZMmaL/+q//0ksvvaTf/OY3nTrDqquunB9VX1+v9j10\nkwAAIABJREFUPn36tDknIyOj1TlTO3bskN1u19y5c9u9dnx8vIYMGaLPP/+8y9lqa2vbfd5ut2vM\nmDFdOlOst+EOrCB36fwRXTp/6JqfI2ZHAgAAAAD0ULGxsRozZoyWLFnS7vOLFy/W119/rT179hiS\nady4cZK+uSusvbLo9ttv17x581o8duTIESUkfPPt9lVVVe3+REVF6eLFi13OduHCBa1fv15er7fN\nOStWrNDo0aO7dP3ehDuwAAAAAABAtxg9evR1y5Zx48bp5ZdfVnFxsSZPnhzwTMOGDdM999yjv/71\nr/rlL3+prKwsjRgxQhkZGW2exXXF119/rYaGBv3iF78IWLa5c+eqqqpK7777rgoLC5Wdna309HRl\nZGRc99sYgw0FFgAAAAAAMIzD4VBCQoLOnj3b4nG73S6fz3fd9VfmfHvLX0emTJmisWPHqqCgQPv3\n79err76qpqYmJScna+rUqZoyZUqr6zU0NGjkyJGaNWuW36/TWXa7XXfffbdmzJihXbt26eDBg9qx\nY4dsNpsyMjI0c+bMVgfLBysKLAAAAAAAYKjQ0FDV1NS0eCw8PFz19fXXXVtXVydJioiI6NRrulwu\nzZw5UzNnzlRTU5NKSkpUUFCg1157TR988IEefvhhRUdHt8gYHh6uUaNGdep1uiIxMVGLFi3SokWL\ndPnyZRUXFys/P1/PPfeccnJytHTpUtntwX0KVHC/ewAAAAAA0G127typHTt2XHdebW1tqwKqf//+\nre7Kasu5c+dks9k63P53PSEhIRo1apQeeOABPfjggzp58qRef/31FnNiYmJ05syZLr9GV7lcLuXk\n5Oixxx7Trbfeqj179uiDDz4wPIfVUGABAAAAAIBucfjwYb3//vsdzmloaNDZs2c1cODAFo+npaXp\n9OnTqq6u7nD90aNHlZSUpNDQUL8yffjhh9q6dWu7z185d+rgwYMtHk9PT1dFRYUqKir8ep2uePPN\nN1VUVNTu89/97ncVEhKi4uLigGXoKSiwAAAAAABAtxgyZIjOnTun06dPtzunsLBQXq9XWVlZLR6f\nMGGCfD6f8vLy2l1bUlKiU6dOacKECX5nKi0tve43HjqdzlZb9KZOnSpJevvtt/1+rW8LCQlp3vLY\nls8++0yHDx/u8BoOh0M2m63LGXoLCiwAAAAAANAtbrnlFkVEROjPf/5zqzOuJOnUqVNav369UlJS\nlJ2d3eK5tLQ0jR07Vu+++26bdyVduHBBa9asUVxcnHJzczuV6+zZs+2WakVFRfr8889bFWqDBg3S\n9OnTtXfvXm3YsKHNA+YrKyv1zDPPtHvt/v37q7y8XF6vt91sJSUlqq2tbfW4z+fThg0bVF9f3ypb\nMOIQdwAAAAAA0C1cLpdWrFihVatW6d///d+Vk5OjgQMHyuPxqLy8XJ988on69Omj5cuXt3ko+X33\n3adnn31Wzz//vLKyspSeni6n06lTp06psLBQoaGheuSRR/zePihJ48aN0/79+/XEE08oMzNTQ4YM\nkcvlUnV1tY4ePapDhw4pKSlJd955Z6u1d955p+rq6rR582YdOHBAY8eOVXR0tGpra3XixAkVFRUp\nJiam3W9EnDhxotavX69nn31W2dnZampqUnZ2tuLi4iRJkyZN0qZNm/TrX/9a2dnZSk5OVmhoqCor\nK7V3716dOXNGN910kyZPnuz3++2tKLAAAAAAALhGRKRTn+xrfxtbTxcR6Qzo9TMyMrRy5Upt3bpV\nBw8e1AcffCC73a7+/ftr9uzZmjVrliIjI9vOFhGhRx99VPn5+SosLNQ777yjpqYmxcfHa9q0aZoz\nZ45cLlen8mRlZemJJ57Qhx9+qIMHD2rbtm2qra2V0+lUUlKSFi9erNzcXIWEtK5I7Ha77r//fo0f\nP175+fnKy8uT2+1WRESEkpOTdccdd2jKlCltrpWkWbNmyePx6KOPPtIbb7yhmJgYpaSkNBdYt99+\nu3JycrRz504dOXJE+/btU319vSIjI3XDDTdowYIFGjduXKfeb29FgYVe66PtpWpq8jSPQ0Icmjxj\nmImJAAAAAPQE993/A7Mj9Hj9+vXTkiVLtGTJkk6vtdvtmj59uqZPn95teVwul+bMmaM5c+Z0aX1m\nZqYyMzM7vc5ut2v+/PmaP39+u3MSEhK0ePHiLuUKJhRY6LUuV9ersfFqgeV0tn1LJwAAAAAAsDYO\ncQcAAAAAAIClUWABAAAAAADA0iiwAAAAAAAAYGkUWAAAAAAAALA0DnEPcolpufL5ro5tNvOyAAAA\nAAAAtIUCK8g5w6LNjgAAAAAAANAhthACAAAAAADA0iiwAAAAAAAAYGkUWAAAAAAAALA0CiwAAAAA\nAABYGgUWAAAAAAAALI0CCwAAAAAAAJZGgQUAAAAAAABLo8ACAAAAAACApYWYHQAIFFefMDU1eZrH\nISEOE9MAAAAAAICuosBCt3DXupUxPMuvubW1dQFO843JM4YZ8joAAAAAACCwKLDQTWx6Ze1Gv2Yu\n/t78AGcBAAAAAAC9CWdgAQAAAAAAwNIosAAAAAAAAGBpFFgAAAAAAACwNM7ACnKN9Zfk810d22yS\nMyzavEAAAAAAAADfQoEV5L4q2yGvt7F5bLc7lTJioYmJAAAAAAAAWmILIQAAAAAAACyNAgsAAAAA\nAACWRoEFAAAAAAAAS+MMLKAHqKysUsbwLL/mNjS5VVZ2NMCJAAAAAAAwDgUW0ANERkTplbUb/Zr7\n/fsWBDgNAAAAAADGYgshAAAAAAAALI0CCwAAAAAAAJZGgQUAAAAAAABLo8ACAAAAAACApXGIO3qt\nY4fPyuPxNo8dDruGjkgwMREAAAAAAOgKCiz0WseOnFNjo6d57HQ6KLAAAAAAAOiB2EIIAAAAAAAA\nS6PAAgAAAAAAgKVRYAEAAAAAAMDSKLAAAAAAAABgaRziHuSi4zPk9V496Nxud5iYBgAAAAAAoDUK\nrCAXHZ9hdgQAAAAAAIAOsYUQAAAAAAAAlkaBBQAAAAAAAEujwAIAAAAAAIClUWABAAAAAADA0iiw\nAAAAAAAAYGkUWAAAAAAAALA0CiwAAAAAAABYGgUWAAAAAAAALI0CCwAAAAAAAJYWYnYAIFAmTR8q\nn+/q2GYzLwsAAAAAAOg6Ciz0WlHR4WZHAAAAAAAA3YAthAAAAAAAALA0CiwAAAAAAABYGgUWAAAA\nAAAALI0CCwAAAAAAAJbGIe69QPrwNLki/ftV1tfVthhXlOXJ521sHtvsTg1Im96t+WCsysoqZQzP\n8mtuQ5NbZWVHA5wIAAAAAIB/DAVWL+CKDNF7m172a+6sed9rMW6qr5b3mgLLbnd2azYYLzIiSq+s\n3ejX3O/ftyDAaQAAAAAA+MexhRAAAAAAAACWRoEFAAAAAAAAS6PAAgAAAAAAgKVRYAEAAAAAAMDS\nKLAAAAAAAABgaRRYAAAAAAAAsDQKLAAAAAAAAFgaBRYAAAAAAAAsLcTsAECg1Fyqk893dWyzSVHR\n4eYFAgAAAAAAXUKBhV5rV94xNTZ6msdOp0Ozv3OjiYkAAAAAAEBXsIUQAAAAAAAAlsYdWEAQq6ys\nUsbwLL/mNjS5VVZ2NMCJAAAAAABojQILCGKREVF6Ze1Gv+Z+/74FAU4DAAAAAEDb2EIIAAAAAAAA\nS+MOrCAXEtZHPm9j89hmd5qYBgAAAAAAoDUKrCA3IG262REAAAAAAAA6xBZCAAAAAAAAWBoFFgAA\nAAAAACyNAgsAAAAAAACWRoEFAAAAAAAAS+MQdwB+qaysUsbwLL/mNjS5VVZ2NMCJAAAAAADBggIL\ngF8iI6L0ytqNfs39/n0LApwGAAAAABBMKLDQPp+3M5MDFgM9D3drAQAAAAC6U9AWWG63W6dOnTI7\nRrfweTtRHvkCVDTZbKr46ku/psb0izZkbl3T12ryXC3hPDZ78/NGZQjWuUlJSXri//6PX3P/7xP/\nR6WlpX7NBQAAAAAEXnJysiIiIsyO0YLN5wtUo2Etjz/+uLZu3do8drlcGj58uImJus+HO7dox9bX\n/Zo7a+4Sbd3yRrfPzZ31PU2ZOtevuQAAAAAAwLoee+wxDRs2zOwYLQTNHVgPPviglixZ0jw+ffq0\n1q9fb2IiAAAAAAAA61m0aJEuXrwoSVq6dKmeeOIJkxMFUYGVmpqq1NTU5nFkZKSJaQAAAAAAAKxp\n/fr13IFlFcnJyYqKilJNTY2ioqL0k5/8xOxIXVa4632zI8gZ4tRjjz1mdoxWXnjhhV7xOw4m/M4A\ntIXPBsA4/L0BQHC69vM/OTnZ7DitBG2BFRERoZCQb95+SEiI5ZrFzrDZbZ2YHJi5NrvNkv+GveV3\nHEz4nQFoC58NgHH4ewOA4HTt57/VDnCXJLvZAQAAAAAAAICOUGABAAAAAADA0oJ2CyG+cen8EXm9\nnuax3e5QdHyGiYkAAAAAAABaosAKct8UWI3NY7vdSYEFAAAAAAAshS2EAAAAAAAAsDQKLAAAAAAA\nAFgaBRYAAAAAAAAsjQILAAAAAAAAlkaBBQAAAAAAAEujwAIAAAAAAIClUWABAAAAAADA0iiwAAAA\nAAAAYGkUWAAAAAAAALC0ELMDmGnmzJmqq6tTeHi42VEQIPyOex5+ZwDawmcDYBz+3gAgOFn98z+o\nC6xZs2aZHQEBxu+45+F3BqAtfDYAxuHvDQCCk9U//9lCCAAAAAAAAEujwAIAAAAAAIClUWABAAAA\nAADA0iiwAAAAAAAAYGlBfYg7pMS0XPl8V8c2m3lZAAAAAAAA2kKBFeScYdFmRwAAAAAAAOgQWwgB\nAAAAAABgaRRYAAAAAAAAsDQKLAAAAAAAAFgaBRYAAAAAAAAsjQILAAAAAAAAlkaBBQAAAAAAAEuj\nwAIAAAAAAIClUWABAAAAAADA0iiwAAAAAAAAYGkUWAAAAAAAALA0CiwAAAAAAABYGgUWAAAAAAAA\nLI0CCwAAAAAAAJZGgQUAAAAAAABLCzE7AMzVWH9JPt/Vsc0mOcOizQsEAAAAAADwLRRYQe6rsh3y\nehubx3a7UykjFpqYCAAAAAAAoCW2EAIAAAAAAMDSKLAAAAAAAABgaRRYAAAAAAAAsDQKLAAAAAAA\nAFgaBRYAAAAAAAAsjQILAAAAAAAAlkaBBQAAAAAAAEujwAIAAAAAAIClUWABAAAAAADA0iiwAAAA\nAAAAYGkUWAAAAAAAALC0ELMDAAAAAADQkVdfWaOmRrfZMQIixBmhu79/v9kxAMujwAIAAAAAWFpT\no1tzb802O0ZAbHl/X8Bfw+12q7y8XGVlZSorK5PT6dSPf/zjDtd4PB7l5+drz549qqiokMfjUXx8\nvMaMGaPZs2crMjKyw/UXLlzQli1bVFxcrKqqKoWGhio1NVVTpkzRzTfffN3MBw4cUH5+vk6cOCG3\n262+ffsqIyNDc+bM0YABAzr1/tE7UGABAAAAANBLrV69Wh9//LEkKTo6WpcvX9bQoUM7XON2u/WH\nP/xBJ06cUHZ2tnJycuRwOHTy5Enl5eWpoKBAjzzySLtF0uHDh/W///u/CgsL04QJE5SYmKi6ujoV\nFxdr9erV2rt3r5YtWya7ve1TjV555RXt3LlTaWlpmjlzplwul86fP6+PP/5Ye/bs0QMPPKBx48b9\nY/8wBnnqqaf09ddf68knnzQ7So9HgQUAAAAAQC81bdo0zZ49W4mJiQoNDdWvfvWr665Zu3atTp48\nqYcfflgjR45s8dzcuXP19NNP6/nnn9fKlSvldDpbPF9ZWakXXnhBAwcO1M9//vMWd2rNmjVLu3bt\n0tq1a7Vhwwb98z//c6vXzsvL086dO7Vw4ULNnz+/xXO33XabXnrpJa1evVoDBw7UwIEDO/NPYRqb\nzWZ2hF6BQ9yDXHR8hqLjR17zk2F2JAAAAABANxk2bJhSU1MVGhrq1/yysjLt3btX8+fPb1VeSVJc\nXJyWLl2qc+fOKT8/v9XzmzZtksfj0fLly9vcZjhp0iRNmjRJW7du1aVLl1o819jYqA0bNmjEiBGt\nyitJCg0N1QMPPKCwsDCtX7/er/eD3oMCK8hFx2coJmFU8w8FFgAAAAAEr8LCQjkcDk2bNq3dOcOH\nD1dKSop2797d4nGv16tPPvlEmZmZio+Pb3f99OnT5fF49Mknn7R4vKioSG63W9OnT293bUREhCZO\nnKiioiJdvnzZz3dlLp/PZ3aEXoEthAAAAAAAQJJ0/PhxJSUlyeVydThv+PDh2rFjhxobG5u3EVZU\nVMjtdis9Pb3DtampqYqIiNDx48c1Y8aMFq8t6brrhw8fru3bt+vEiRMaNWqUP29LknT69Gm99957\nKikpUVVVlZxOp2JjY5WRkaFp06Z1eDj86dOn9e677+rw4cOqqalRZOT/Z+++w6K6E/2Pf+ggRUSs\nCGIBC4ot1pggsbc0k7iaYowxxcSsm+xudvPsTbk3m3v3bnZNYqomWY1JjCZZkxh7QQRRbIgg2MVC\nUUCKdAbm94d35icyjKDgjPp+PY/P48z5nnO+5wxzzsxnvqWZOnfurMjISHXv3r1G2cOHD2v+/Pk1\nnnvuuefM/3/nnXfk5+dXY3lSUpKio6OVlpamkpISeXh4qE2bNurVq5ciIiKu+nrcDgiwAAAAAACA\nJCknJ0fdul29Z46/v7+MRqNycnLMY1FlZ2ebl11Ny5YtzeUv33ezZs3k4eFx1X1fvr/62Lt3r774\n4gt5e3tr8ODBatmypaqrq3XmzBnFxcUpKipKkydP1sSJE2utu2PHDi1dulT+/v4aPny4WrRooby8\nPO3bt0/vvfeexo0bV2M8r3bt2mnGjBmSpHXr1qmoqEgPPfSQefmVYdSKFSu0ZcsWBQUFacSIEfL1\n9VVJSYmOHTumVatWacOGDXr66afVq1eveh/vrYgACwAAAAAASLo0A6Gbm9tVy7m7u5vLm5SVldVY\nZo2bm5suXrxY47mysrJ6rWtp39YUFRVpyZIlCgwM1O9///taA88/+OCDWrBggbZu3VorwEpJSdGS\nJUs0bNgwPfbYYzVmTpw4caKWLVumdevWKTAwUAMGDJB0abbHoUOHSpLi4uJkMBjMj6908OBBbdmy\nRSNGjNBvfvObGsvGjBmjM2fOaP78+dq5c+dtH2AxBhYAAAAAAJB0abym+syaZypjMBjMz1VVVdV7\nP46OjrXKV1VVXfO+rTly5IgqKio0ZsyYWuGVJHl5eSksLKzW81VVVVq6dKk6duxYK7wyHcO0adPU\npk0brV69ul51udKBAwckyWLLL+lSd8uAgIBr2vathgALAAAAAADcskzBk6mFmCVBQUG1xt5KTExU\nXl6exo4dWyu8unzbd9xxhzIyMmrNqlgfTk5OkqTy8vI6y3Tr1o0QSwRYAAAAAADgFtatWzd5enrq\n119/VVZWlsUyffv21ezZs2s8d/jwYUmXxrQqKCio85+pS+OFCxcaXLf+/ftLkr755huVlJRYLDNp\n0iSNHz++wdu+1TAGFgAAAAAAuGV5eHjohRde0BdffKG33npL3bt3V1hYmEJDQxUYGFhnt8Xc3FxJ\n0ltvvVWv/VRUVDS4bl27dtVjjz2m77//Xn/+858VHh6u7t27q1u3bvUaDP92QoAFAAAAAAAkXeoS\nZzQar1rOVMbUBe7y/9dn/erq6hrrmta/1n1fTefOnfWf//mf2rt3r/bu3as1a9bohx9+UPPmzTVk\nyBCNHj1aXl5eNdYpLy+Xt7e3Zs6cWa99XGs3v+HDh6tfv37asWOHEhMTtWzZMhkMBgUEBOjuu+/W\n8OHDG3SstyoCLAAAAAAAIOnSDH/WxmMyMY0n5eHhUWNdyfp4Tibl5eU11jWtb22cKmv7rg8nJycN\nGjRIgwYNkiSdOnVKe/bs0datWxUbG6s5c+aoS5cu5vKurq6qqqpSz549G7Sfa+Hp6alRo0Zp1KhR\nMhgMOnLkiHbs2KHvvvtOMTExeumll+Tj49Pk9bBnjIEFAAAAAAAkSa1atdL58+evWi47O1sODg41\nurm1atXKvKw+61/ZRc7f318lJSUqLS296rqm8tejY8eOmjJliv7yl7/IwcFBixYtUnV1tXl5ixYt\nVFJSck2Ds18PZ2dn9ezZU7NmzdKzzz6rs2fPavny5Te0DvaIAAsAAAAAAEiSOnXqpIyMDF28eNFq\nuaNHj6p9+/ZydXU1P9e2bVt5eHiYBz+vy+nTp1VeXq5OnTrVeL5z586SpEOHDl113w4ODgoODrZa\nzuTYsWNaunRpnctbtWqlyMhI5efnKz093fy8aVbC/fv312s/1yI2NlYbN26sc3nfvn0VGhqq5OTk\nJqvDzYIACwAAAAAASJIGDx4so9GoqKioOsscOXJE6enpGjx4cI3nHR0dNXDgQB08eFDnzp2rc/2o\nqChz2cv17t1bzZo105YtW+pct6SkRPHx8QoLC6s1ZlVdzp8/r+3bt1vtnujsfGmEpcsHdO/Xr5+8\nvb21bt26axqg3bRda/s9duyYdu3aZXUbLi4ucnQkvuEMAAAAAAAASZdaYPXr10/r169XUlJSreUX\nLlzQkiVL1LJlS40YMaLW8gkTJsjFxUWLFi2y2Iprx44d2rFjh0aOHKnmzZvXWObi4qLJkyfr6NGj\n+umnn2qtW1FRoS+//FLl5eW6//77G3xsdbWkys7O1pYtW9SyZcsaA7G7uLho2rRpunDhgj777DOL\nQVRFRYVWrFihmJgYi9tu3bq1iouLrQZ658+fV0ZGhsVlSUlJSklJUXh4uLVDuy0wiDsAAAAAALeo\n8+fP69ixY+bHZWVlKigoUFxcnPm5kJAQ8/hVkvTEE09owYIF+uijjxQeHq7Q0FC5uLgoPT1d8fHx\ncnV11e9+97sa3QdNfH199fzzz+vjjz/Wm2++qcGDB6tt27YqLy9XSkqKUlNT1adPnzoDqMjISGVl\nZWndunVKSUlR37595eXlpQsXLmjXrl0qKCjQjBkz1KFDh3qfgy5duqht27ZavHixoqOj1aNHD/n6\n+qq8vFxnz57Vnj175OrqqmeffbZGCyxJ6t+/v6ZPn67vvvtOb7zxhgYNGqRWrVqpsrJSWVlZ2r9/\nvyoqKvTUU09Z3PfgwYMVHR2tjz76SBEREXJ2dla7du3M3RP79++vxMREvf322+rVq5c6d+4sT09P\nXbx4UUePHlVqaqrat2+vhx9+uN7He6tyMNZnjkrYtX59QrRhdd39eS83evxUbVxbv8HfGlJ2zMTH\nlZB4tF5lAQAAAKAhln27RIZK6wN736ycXTw0bfqMJtt+XFycvvrqK6tlZsyYoaFDh9Z4rrq6WtHR\n0YqPj1dWVpYMBoP8/f0VHh6usWPHytPT0+o28/LytG7dOiUnJ6ugoEAuLi4KDAzUsGHDNGTIkKvW\nOykpSdHR0UpLS1Npaam8vb3VvXt3jRkzRu3bt7/6gV+hqqpKe/bs0b59+3Tq1CkVFRVJujT+VVhY\nmEaPHl2rRdjlMjMztXHjRqWmpqqwsFCurq7y9/dXr169dM8998jb27vOdRMTE/XLL7/o3Llz8vDw\n0JgxYzR69Gjz8uLiYsXGxio5OVmZmZkqKSmRi4uL2rdvrwEDBmjEiBHmLo63MwKsW8D1BFhZJ6Nk\nrK40P3ZwdFHbTpEWy1pDgAUAAAAAAJoKEd5tzlB+UdWXBViOji42rA0AAAAAAEBtDOIOAAAAAAAA\nu0aABQAAAAAAALtGgAUAAAAAAAC7RoAFAAAAAAAAu0aABQAAAAAAALtGgAUAAAAAAAC7RoAFAAAA\nAAAAu0aABQAAAAAAALtGgAUAAAAAAAC7RoAFAAAAAAAAu0aABQAAAAAAALtGgAUAAAAAAAC7RoAF\nAAAAAAAAu0aABQAAAAAAALvmbOsKwLac3bxlrK40P3ZwdLFhbQAAAAAAAGojwLrNte0UaesqAAAA\nAAAAWEUXQgAAAAAAANg1AiwAAAAAAADYNQIsAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADYNQIs\nAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADYNQIsAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADY\nNQIsAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADYNQIsAAAAAAAA2DVnW1cAtlWYc1jV1VXmx46O\nTvLx72bDGgEAAAAAANREgHWbuxRgVZofOzq6EGABAAAAAAC7QhdCAAAAAAAA2DUCLAAAAAAAANg1\nAiwAAAAAAADYNQIsAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADYNQIsAAAAAAAA2DUCLAAAAAAA\nANg1AiwAAAAAAADYNQIsAAAAAAAA2DUCLAAAAAAAANg1AiwAAAAAAADYNQIsAAAAAAAA2DUCLAAA\nAAAAANg1AiwAAAAAAADYNWdbVwC21abTCBmN//+xg4Pt6gIAAAAAAGAJAdZtzsXNx9ZVAAAAAAAA\nsIouhAAAAAAAALBrBFgAAAAAAACwawRYAAAAAAAAsGsEWAAAAAAAALBrBFgAAAAAAACwawRYAAAA\nAAAAsGsEWAAAAAAAALBrBFgAAAAAAACwawRYAAAAAAAAsGsEWAAAAAAAALBrBFgAAAAAAACwawRY\nAAAAAAAAsGsEWAAAAAAAALBrBFgAAAAAAACwa862rgBsq7K8UEbj/3/s4CC5uPnYrkIAAAAAAABX\nIMC6zZ07uVXV1ZXmx46OLurQ/V4b1ggAAAAAAKAmuhACAAAAAADArhFgAQAAAAAAwK4RYAEAAAAA\nAMCuEWABAAAAAADArhFgAQAAAAAAwK4RYAEAAAAAAMCuEWABAAAAAADArhFgAQAAAAAAwK4RYAEA\nAAAAAMCuEWABAAAAAADArhFgAQAAAAAAwK4RYAEAAAAAAMCuOdu6Arg1FOQXqF+fkHqVLS4x6MjR\nk01cIwAAAAAAcKu4bQOs0tJSpaen27oajcLLu7nSTp+rZ1nfGmWzcyplrDaYHzs4SobdwTqNAAAg\nAElEQVT/W35lWWvaB7TT/Hf/s15lX/7jf+nYsWP1KgsAAAAAAG6sgIAAeXh42LoaNTgYjUajrStx\nI/ztb3/T1q1bzY/d3NzUpk0b21UIAAAAAADADv3hD39Q165dbV2NGm6bACspKUlnz541P87NzVVM\nTIwNawQAAAAAAGB/4uLilJeXJ0l68skn9fbbb9u4RrdRF8LevXurd+/e5sfHjh0jwAIAAAAAALjC\nypUr7a4F1m0TYF0pICBAXl5eKioqkpeXl55//nlbV8lmPvnkk1v2PNzKx3ar4jUDYAnXBuDG4f0G\nALeny6//AQEBtq5OLbdtgOXh4SFn50uH7+zsbHfJ4o10K5+HW/nYblW8ZgAs4doA3Di83wDg9nT5\n9d/eBnCXJEdbVwAAAAAAAACwhgALAAAAAAAAdo0ACwAAAAAAAHaNAAsAAAAAAAB2jQALAAAAAAAA\ndo0ACwAAAAAAAHaNAAsAAAAAAAB2jQALAAAAAAAAdo0ACwAAAAAAAHaNAAsAAAAAAAB2jQALAAAA\nAAAAdo0ACwAAAAAAAHaNAAsAAAAAAAB2zdnWFbClUaNGqaysTO7u7rauik3dyufhVj62WxWvGQBL\nuDYANw7vNwC4Pdn79d/BaDQabV0JAAAAAAAAoC50IQQAAAAAAIBdI8ACAAAAAACAXSPAAgAAAAAA\ngF0jwAIAAAAAAIBdI8ACAAAAAACAXSPAAgAAAAAAgF0jwAIAAAAAAIBdI8ACAAAAAACAXSPAAgAA\nAAAAgF0jwAIAAAAAAIBdI8ACAAAAAACAXSPAAgAAAAAAgF0jwAIAAAAAAIBdI8ACAAAAAACAXSPA\nAgAAAAAAgF0jwAIAAAAAAIBdI8ACAAAAAACAXSPAAgAAAAAAgF0jwAIAAAAAAIBdc7Z1BRpbcXGx\ntmzZogMHDig7O1sGg0EtWrRQz549NXbsWPn5+Vldv6ioSOvXr9eBAwd04cIFOTs7q127dho8eLDu\nuusuOTreHJnf9Z4HSUpNTVV0dLSOHz+u0tJS+fj4qE2bNho4cKAGDhwoFxeXG3AklpWVlSk6OloJ\nCQnKyspSZWWlfHx81KVLF0VGRqpLly4W1ystLVVaWppOnjypkydPysXFRc8888wNrj2utHPnTi1e\nvFghISF65ZVXai3ndQNufXv37tX27dt1+vRplZWVydfXV+3bt9fgwYPVr1+/Gvffo0eP6h//+MdV\nt9mrVy+9+OKLTVlt4KZy+fuspKRE7u7uCgwM1JAhQzRkyBA5ODjUKH/hwgW99tprV91uu3bt9MYb\nbzRVtQEAV9GQ70tGo1EJCQk17gceHh4KDg5WRESEevfubXVfRqNR8fHx2r59u9LT01VRUaEWLVoo\nLCxM48aNk6+vb1McoqRbLMA6c+aMPvzwQ5WVlWnAgAEaNmyYnJ2dlZGRoZ07dyo+Pl5z5sxRaGio\nxfXT09M1f/58GQwGDRo0SB06dJDBYNDhw4e1bNky7d69W3PnzpWbm9sNPrKGud7zUF1drWXLlikm\nJkaBgYEaMWKEfH19VVpaqhMnTmj58uXq16+fzQKsrKwsLViwQHl5eerbt68GDRokV1dX5ebmat++\nffr73/+ue++9VxMmTKix3hdffKHdu3dLknx8fFRcXFxn0IUbp6ioSN9//70k1frgLPG6Abe6iooK\nff755zpw4IBCQkI0evRoeXl5qaioSEePHtWKFSs0YMCAGuvk5+dLku6//341b97c4nbXr19v8ZoC\n3I4qKyu1aNEiHThwQB06dFBkZKSaN2+uwsJCJSQkaMmSJdq+fbtefPFFubu7m9czvddGjRqlgIAA\ni9vevn27SkpKbshxAABqa8j3JYPBoM8//1z79+9XaGioRo4cKS8vLxUWFmrfvn366KOPFBkZqalT\np9a5/sKFC3XgwAH16NFDEyZMkKurq7KysrRr1y7t3LlTL774orp27dokx3rLBFjFxcX68MMP5eHh\noT/96U9q0aJFjeVjx47Vu+++q08//VRvv/22mjVrVmN5eXm5PvzwQ7m7u+vll1+u0ULpnnvuUUpK\nij7++GN9/fXXmjVr1g05pmtxvedBkn744QfFxMRoypQpGj16dK3lFRUVcnV1bbJjsKasrEzvv/++\nqqqq9Nprr6lDhw41lk+ePFlLlizRL7/8osDAwBrpcUREhMaMGaM2bdrI1dW1Xr8ooul9//33cnV1\nlbOz5csRrxtwa/vyyy+VnJysWbNmaeDAgTWWjR07VhUVFbXWMX2pvuuuu+Tp6Wlxu0lJSaqsrGz8\nCgM3oZUrV+rAgQOaOHGiJk+eXGPZhAkTtGbNGv3yyy/6+uuv9fTTT5uXmd5rgwYNUlBQkMVtZ2Rk\n6ODBg01XeQCAVQ35vrR8+XIlJibq6aef1h133FFj2YQJE/Ttt98qKipKQUFBGjp0aK31f/rpJx04\ncEBPPvmkhgwZUmPZxIkT9f777+vjjz/WW2+9JW9v78Y5wMvcHP3h6mHjxo0qKCjQrFmzaoU2kuTr\n66tp06appKREcXFxtZZHRUUpLy9PM2fOtNi9rmfPnho/frx2796t06dPN8kxNIbrPQ+nT5/Wli1b\nFBkZaTG8kmSz8EqSYmNjlZeXp8cff7xWeCVJjo6OevTRR9WsWTNt2bKlxrKuXbsqMDDQpvVHTamp\nqYqPj9fo0aPl5ORksQyvG3Dr2r9/v/bv368HH3ywVnhlYum9X1BQIGdn5zrDK0maOXOmZs+e3Wh1\nBW5WlZWViomJUUhISK3wymTChAnq27ev9uzZYw6tpEvvNUlWu4Pcd999evXVVxu30gCAeqvv96Ws\nrCzFxsYqMjKyVnhlMnXqVLVo0UKbNm2qtSwvL0+bN2/WnXfeWSu8kiRPT0/Nnj1b5eXlWrNmzbUd\nzFXcMgHW/v37FRgYqMDAwDrL9OjRQy4uLjpx4kStZbt27VJgYKDVrkkRERFydHTUzp07G6XOTeF6\nz8PWrVvl7OysSZMmNWU1r9nRo0fl5uZmtV+uq6urunTpolOnTt3AmqGhKisr9e2336pDhw6KiIiw\ndXUA2EBUVJR8fHx0zz33NGi9/Pz8q46v4OLiQvANSMrMzFRlZaX69OljtZzpy8zln5/y8/Pl6Ogo\nHx+fOtdzdna2++E1AABSYmKijEaj7rzzzjrLODk5KSwszDy21eX27Nkjo9Fo9XNbq1at1KtXL8XH\nxzdavS93ywRYxcXFdTZtNnF0dJS7u7tKS0trPF9WVqaMjIw6x4Qy8fLyUrt27SwGP/bies6DJCUn\nJys0NNTqr9q2NHnyZM2bN++q5dzc3FRVVXUDaoRr9euvvyonJ0ePP/54na2vANy6KioqdOTIEfXp\n06fBE6QUFBRYbGUMoG5XC5lMY18ZjUbzcwUFBU06GC8A4MYpLCyUh4eH2rZta7WcaZihK/OCEydO\nqFmzZnWOiWgSEhKikpISnTt37voqbMEtMwbW3//+96uWKSsr08WLF2t1EczNzZUk+fv7X3Ub/v7+\nOn78+LVV8ga4nvNQWFiowsLCWq23qqqqVF5ebnG8rBvNUrfBKxmNRp06deqqQR5sJz09XRs2bNDI\nkSPVsWNHW1cHgA2kp6fLaDTWuudUVlbKYDDIw8OjznXz8/MVHBxcYx3TfepmmS0YuFFat24tJycn\npaWl6a677qqznKnl1eVfTK5s7VhVVaWysjK5u7vz4xMA3GQefvhhPfzww1ctl52dLRcXl1pjWOXk\n5Khly5ZXXd+Uq2RnZ6tNmzbXVtk63DIBVn3s2rVLkhQeHl7jeVOyePmsK3Wpq+XSzaSu81BYWCjp\n0jgHVVVV2rZtm2JjY5WRkSGj0Sg3Nzf16tVLkydPvmpqa0tbtmxRdna2pk+fbuuqwILq6motXbpU\nLVu21L333mvr6gCwEdM9p0WLFqqoqNDGjRu1c+dOZWdnS7r061+/fv00adKkWq2tCgoK5O3trU2b\nNmnbtm06f/68pEstjENCQjRx4sSrtqoGbhfu7u6KiIhQdHS0hg8frk6dOtUqc+7cOW3atEn9+/dX\nq1atzM8XFBSobdu22rFjhzZv3qyzZ8+alwUHB2vs2LHq16/fDTkOAEDTKy4uVnJysnr27FnrR8Gy\nsrJ6tco15SpNkZvcNgFWRUWF1q9fr4CAgFpjADSkq5mDg8NN3TXN2nkoKyuTdGlqzP/93/9VYWGh\n7rzzTk2YMEEODg46ceKEYmNjlZSUpBdeeEHdunWzxSHUcPHiRVVXV6uyslLZ2dnasWOH9u7dq+nT\np6tHjx62rh4siI6OVlpamn77298yPg1wGzN9qCksLNR//dd/ycnJScOHD1fr1q1lMBh09OhRxcXF\n6cCBA5o3b565VUhpaakqKioUExMjT09PDRkyRO3atZOHh4fOnz+v2NhYzZ8/X48++qiGDx9uy0ME\n7MaDDz6o/Px8vfvuu4qIiFDfvn3l5+en/Px8paSkaNOmTQoODtYTTzxRY738/Hzl5OTo8OHDGjJk\niEaOHClPT0/l5eVpx44d+uyzzzRhwgR+kAKAW8T69etVWVmp8ePH11pWVVUlBweHq27DVMZgMDR6\n/W6bAOv7779Xfn7+bT9LirXzYArmfv75Zw0aNEivvvpqjdS1f//+ioyM1LvvvqtFixbprbfesvlY\nWW+//bZ5hhzp0vgOv/3tb/nl3U7l5eXpp59+0tChQwkYgdtcdXW1JGnZsmUaM2ZMrS/AAwcO1PDh\nwzV//nwtXLhQr7/+upycnMwzpLVv317z5s2r1dVwxIgRWrBggZYtW6ZOnTpddZwG4Hbg7OysZ555\nRjExMfr2229rzdR83333ady4cTW+mFRUVKi0tFT+/v565ZVXarWEvPvuu7V48WKtWbNGXbp0UVhY\n2A05FgBA0zh27Jg2btyokSNH1hiqwZ7cFgNFxMXFKSYmRpMmTbqtx0Wq73kICgrSE088YXEckZYt\nW+rRRx9VUVGRoqOjm7K69TJr1iy99NJLev755zV16lR16dJF77//vn766SdbVw0WfPfdd3J1da1X\n32sAt4e+ffvW2XojKChI999/v86dO6c9e/ZIuvRFvE+fPnrssccsjpPl7OysJ598UkajURs2bGjS\nugM3i+rqai1fvlzfffed+f3zwgsvaObMmbrzzju1du1affnllyovLzevU1VVpf79++s3v/mNxUkT\nHBwcNH36dHl6emrt2rU38nAAAI0sPz9fixYtUvv27fXAAw/Yujp1uuVbYB0+fFjffPON+vfvb7EZ\n3O2iIefB2rSaktSrVy/5+voqKSlJEyZMaMxqNtiVLa0iIyOVkJCghQsXytnZWZMmTbJRzXClffv2\nKTExUbNnz7aLCQEA2IerdfMbOnSoVqxYoeTkZA0ePFitWrXS888/b3WdFi1aqFu3bjp48GBjVhW4\naS1atEgpKSkWW6kPHjxYY8eO1YIFC/Tuu+/q97//vdzc3OTh4aFnnnnG6nbd3NzUr18/bd++3Ty4\nOwDg5lJWVqaPPvpIVVVVmjNnjpyd7TcmuqVbYGVkZOjTTz9VQECAZs6cWWc50ywql08bXBej0XjT\nzbrS0PNQn36tgYGBysrKarQ6NqZ+/fpp6NCh2rhx400/4P6torS0VMuXL1d4eLgGDBhg6+oAsAP1\nvee4urqqbdu2Db7ntGvXTkVFRdwHcNtLSEhQQkKCpk6dWucQC61bt9acOXN09uxZrVmzpkHbb9++\nvYxGo3JychqjugCAG6iqqkoLFy5UZmamnnvuOauzDDo5OdU7MzGVb2y3bICVn5+vDz74QM2aNdOL\nL74oFxeXOsuauiBc3my6LmVlZVan9rY3DTkPplYxpsHcrXF3d1dFRUWj1bOxhYWFqby8XGfOnLF1\nVSBp5cqVKi4u1sSJE1VQUGDxX3V1tQwGgwoLC1VQUKCLFy/autoAmlBD7jlubm71ukdfzjRJhD3f\nq4AbISEhQc7Ozho0aJDVcu3atVPnzp21e/fuBm3f9F5r6HsUAGB733zzjVJSUjRjxgx17drVall3\n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\nRK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d3e9f50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(len(data), 1, figsize=(7.075, 4.867),\n",
" sharex='all', subplot_kw={'yticks': []})\n",
"sns.despine(left=True)\n",
"xlim = (20, 120)\n",
"# Default colour cycle (list of 6 colours)\n",
"colors = sns.color_palette()\n",
"# This transform has data coordinates for x and figure coordinates for y\n",
"trans = mpl.transforms.blended_transform_factory(axes[0].transData,\n",
" fig.transFigure)\n",
"axes[-1].set_xticks([xlim[1]] + medians + [xlim[0]])\n",
"axes[-1].set_xlabel('Number of Stikeez required (per set) to get '\n",
" 'multiple full sets')\n",
"axes[len(axes) // 2].set_ylabel('Frequency')\n",
"\n",
"# Iterate over data sets\n",
"for m, x in enumerate(data):\n",
" # Set up properties for current plot\n",
" ax, sets, color = axes[m], num_sets[m], colors[m % len(data)]\n",
" label = '%d %s' % (sets, 'set' if sets == 1 else 'sets')\n",
" bins = np.arange(xlim[0] - 0.5, xlim[1] + 1, 1)\n",
" # Plot solid white histogram to avoid histogram behind leaking through\n",
" sns.distplot(x, ax=ax, bins=bins, color=(1.0, 1.0, 1.0),\n",
" kde=False, norm_hist=True,\n",
" hist_kws={'clip_box': fig.bbox, 'alpha': 1.0})\n",
" # This is the actual histogram with transparent / subdued colour\n",
" sns.distplot(x, ax=ax, bins=bins, color=color,\n",
" kde=False, norm_hist=True, label=label,\n",
" hist_kws={'clip_box': fig.bbox})\n",
" # All axes are set to same limits (based on axis 0)\n",
" ax.set_xlim(*xlim)\n",
" ax.set_ylim(0, 1.5 * axes[0].get_ylim()[1])\n",
" # Bottom of current axes in figure coordinates\n",
" ybottom = ax.get_position().extents[1]\n",
" # Draw vertical line from bottom of axis to top of figure\n",
" ax.plot([medians[m], medians[m]], [ybottom, 1],\n",
" color=color, linestyle='--',\n",
" transform=trans, clip_on=False)\n",
" # Add legend to label histogram appropriately\n",
" ax.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally we save the image to a file to use it on the blog."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# fig.savefig('hist_multiset.png', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### License (BSD 3-Clause)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<small>\n",
"\n",
"Copyright (c) 2015, Ludwig Schwardt\n",
"\n",
"All rights reserved.\n",
"\n",
"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n",
"\n",
"1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n",
"\n",
"2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n",
"\n",
"3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n",
"\n",
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n",
"\n",
"</small>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment