{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# How HDBSCAN Works\n", "\n", "HDBSCAN is a clustering algorithm developed by [Campello, Moulavi, and Sander](http://link.springer.com/chapter/10.1007%2F978-3-642-37456-2_14). It extends DBSCAN by converting it into a hierarchical clustering algorithm, and then using a technique to extract a flat clustering based in the stability of clusters. The goal of this notebook is to give you an overview of how the algorithm works and the motivations behind it. In contrast to the HDBSCAN paper I'm going to describe it without reference to DBSCAN. Instead I'm going to explain how I like to think about the algorithm, which aligns more closely with [Robust Single Linkage](http://cseweb.ucsd.edu/~dasgupta/papers/tree.pdf) with [flat cluster extraction](http://link.springer.com/article/10.1007%2Fs10618-013-0311-4) on top of it.\n", "\n", "Before we get started we'll load up most of the libraries we'll need in the background, and set up our plotting (because I believe the best way to understand what is going on is to actually see it working in pictures)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import sklearn.datasets as data\n", "%matplotlib inline\n", "sns.set_context('poster')\n", "sns.set_style('white')\n", "sns.set_color_codes()\n", "plot_kwds = {'alpha' : 0.5, 's' : 80, 'linewidths':0}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next thing we'll need is some data. To make for an illustrative example we'll need the data size to be fairly small so we can see what is going on. It will also be useful to have several clusters, preferably of different kinds. Fortunately sklearn has facilities for generating sample clustering data so I'll make use of that and make a dataset of one hundred data points." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nD2aqWLZ14sQJnT17dsg9KF24pu+//756e3uHncO/QeKSuc5I3PLly/XUU0+poKAgruO5lxOX6DVG\n4rkJ2XUAAAYWSURBVAoKCvTmm2/qn//5n4dsnzRpktrb22Oew72cmGSu8VjYLjjk5uZqypQpmS6G\noyVzjZuamlRcXCyfzzdke1lZmRoaGswsnmM0NDSotLR0yLa8vDxNnDhR9fX1mSmUjTU2Nsrlcg27\npmVlZYpEImpqahp2Dv8GiUvmOiNxl15fI9zLiUv0GiM5xcXFGjdu3ODPoVBIhw4d0ty5c2Mez72c\nuESv8VjYLjiMxb59+7Rq1SotWrRIK1euNBw0ifgFg0Hl5eUN256fn6/u7u4MlMj6xnLNuJeHCwaD\nki5cv4sN/BzrmnLfJi6Z6yxdmDxh06ZNuv7667V48WKtXbuWSgUTcS+nB/fx2D300EPq6urSnXfe\nGXM/9/LYGV1jKfl72VKDow8fPqzbbrtNLpdryGAN6cKAjTvvvFP33ntvwq/r8Xg0adIkRSIRrV+/\nXh6PR/v27dP3vvc99fX1aeXKlWZ9BMtL1TXGUEbX+Y477kjqdbmXYUf5+fnKz8/X5ZdfrltuuUVn\nzpzRtm3bdNNNN+nll19WcXFxposIGOI+HruNGzdq3759evzxx1VWVpbp4jhSPNd4LPeypYLDvHnz\n9Nprr424P9lZY6ZOnaq33npryLYrrrhCf/nLX/TTn/40qx62UnWNCwoKYtYEdHV1qbCwMKnXtDOj\n61xYWKgXXngh4WvGvTyygWt26TUd+DlWP+bCwkLu2wQlc51rampUU1Mz+PPs2bN12WWX6dprr9We\nPXt09913p7DE2YF7OfW4j5MXiUS0bt06vfrqq9q+fbuWLVs24rHcy8lJ5BqP5V62VHDIzc1NawKd\nM2eOjh49mrb3s4JUXeOKigqdO3dO3d3dQx4cGhoaNGvWLNPfz+riuc4zZswY1h+8s7NT7e3tqqys\nTOj9svFevtSMGTMUjUbV2Nioyy67bHB7fX29vF6vysvLY55j1r9BtkjmOscyZcoUBQIBtba2pqqo\nWYV7OTO4j+Pz0EMP6Xe/+5127typBQsWjHos93JyErnGscR7L2fFGIf9+/frBz/4wbDtH330kWbO\nnJmBEjnPwNztv//97we3nT9/XocPH9a1116boVJZ29KlS/Xuu+8OmYXmjTfekMfz/7d3/y6tQ2EY\nxx8RQcFVHETI4H/gVBBcdVEEQUHUQZzioh2kddVFGpcuojiKCJaIg+DgIE4mxaFLqYMoQgYNiEuo\nDs0dxIJXvTGt1x/4/UCXQzKc9zwc+paTplE9PT2v3kOW32YYhjo7O3V8fPxs/OjoSIlEQk1NTS/u\nqWUNfrta6pzJZLSzs/NszPM83d7e/vrcfhSy/P+R49psb2/Ltm2trq6+6wstWY4vbo3ryfKPaxzu\n7+/l+75ubm5ULpdVqVTk+75831cQBJKkQqGg/v5+FYtFSY/HO/b29jQ/P69SqaTz83NZliXHcf75\n4MhvVUuNOzo6NDQ0pEwmI9d1dXFxoXQ6rZaWFo2MjHzldL6tsbExNTY2Kp1O6/LyUicnJ7IsS6Oj\no2pra5NEluMyTVO5XE67u7vyPE9ra2tyHEemaUqSLMvS1NRU9fr3rAFeilvnMAy1tLSkXC6nq6sr\n5fN5zc7Oqr29XYODg181jW/t7u6uug9Ljz/EPO3DlUqFLH+AuDUmx/EFQaCVlRUNDw/LMIxqfZ8+\nEvtyvWqpcT1Zbgj/fnLzm7NtW6lU6tW325mmqZmZGTmOo8nJSW1ublbfReC6rrLZrEqlksrlsrq6\nujQ9Pa2+vr7PnsK3V2uNHx4etLy8rP39fQVBoO7ubi0sLPzKo0rvdXZ2psXFRRUKBbW2tmpgYEBz\nc3PV/68my/FtbW1pY2ND19fXMgxDyWRSvb29kqRUKqXT01MdHBxUr49aA7wuTp3DMNT6+rps25bn\neWpublYikVAymeQByTeMj48rn88/GwvDUA0NDTo8PFQ2myXLdYpbY3Icn+u6mpiYeDH+VOdisci+\nXKdaalxPln9c4wAAAADg8/24o0oAAAAAPh+NAwAAAIBINA4AAAAAItE4AAAAAIhE4wAAAAAgEo0D\nAAAAgEg0DgAAAAAi0TgAAAAAiETjAAAAACDSHxrsvuweLHSFAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "moons, _ = data.make_moons(n_samples=50, noise=0.05)\n", "blobs, _ = data.make_blobs(n_samples=50, centers=[(-0.75,2.25), (1.0, 2.0)], cluster_std=0.25)\n", "test_data = np.vstack([moons, blobs])\n", "plt.scatter(test_data.T[0], test_data.T[1], color='b', **plot_kwds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, the best way to explain HDBSCAN is actually just use it and then go through the steps that occurred along the way teasing out what is happening at each step. So let's load up the [hdbscan library](https://github.com/lmcinnes/hdbscan) and get to work." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import hdbscan" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "HDBSCAN(algorithm='best', allow_single_cluster=False, alpha=1.0,\n", " approx_min_span_tree=True, core_dist_n_jobs=4, gen_min_span_tree=True,\n", " leaf_size=40, memory=Memory(cachedir=None), metric='euclidean',\n", " min_cluster_size=5, min_samples=None, p=None)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clusterer = hdbscan.HDBSCAN(min_cluster_size=5, gen_min_span_tree=True)\n", "clusterer.fit(test_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So now that we have clustered the data -- what actually happened? We can break it out into a series of steps\n", "\n", "1. Transform the space according to the density/sparsity.\n", "2. Build the minimum spanning tree of the distance weighted graph.\n", "3. Construct a cluster hierarchy of connected components.\n", "4. Condense the cluster hierarchy based on minimum cluster size.\n", "5. Extract the stable clusters from the condensed tree." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transform the space\n", "\n", "To find clusters we want to find the islands of higher density amid a sea of sparser noise -- and the assumption of noise is important: real data is messy and has outliers, corrupt data, and noise. The core of the clustering algorithm is single linkage clustering, and it can be quite sensitive to noise: a single noise data point in the wrong place can act as a bridge between islands, gluing them together. Obviously we want our algorithm to be robust against noise so we need to find a way to help 'lower the sea level' before running a single linkage algorithm.\n", "\n", "How can we characterize 'sea' and 'land' without doing a clustering? As long as we can get an estimate of density we can consider lower density points as the 'sea'. The goal here is not to perfectly distinguish 'sea' from 'land' -- this is an initial step in clustering, not the ouput -- just to make our clustering core a little more robust to noise. So given an identification of 'sea' we want to lower the sea level. For practical purposes that means making 'sea' points more distant from each other and from the 'land'.\n", "\n", "That's just the intuition however. How does it work in practice? We need a very inexpensive estimate of density, and the simplest is the distance to the *k*th nearest neighbor. If we have the distance matrix for our data (which we will need imminently anyway) we can simply read that off; alternatively if our metric is supported (and dimension is low) this is the sort of query that [kd-trees](http://scikit-learn.org/stable/modules/neighbors.html#k-d-tree) are good for. Let's formalise this and (following the DBSCAN, LOF, and HDBSCAN literature) call it the **core distance** defined for parameter *k* for a point *x* and denote as $\\mathrm{core}_k(x)$. Now we need a way to spread apart points with low density (correspondingly high core distance). The simple way to do this is to define a new distance metric between points which we will call (again following the literature) the **mutual reachability distance**. We define mutual reachability distance as follows:\n", "\n", "
$d_{\\mathrm{mreach-}k}(a,b) = \\max \\{\\mathrm{core}_k(a), \\mathrm{core}_k(b), d(a,b) \\}$
\n", "\n", "where $d(a,b)$ is the original metric distance between *a* and *b*. Under this metric dense points (with low core distance) remain the same distance from each other but sparser points are pushed away to be at least their core distance away from any other point. This effectively 'lowers the sea level' spreading sparse 'sea' points out, while leaving 'land' untouched. The caveat here is that obviously this is dependent upon the choice of *k*; larger *k* values interpret more points as being in the 'sea'. All of this is a little easier to understand with a picture, so let's use a *k* value of five. Then for a given point we can draw a circle for the core distance as the circle that touches the fifth nearest neighbor, like so:\n", "\n", "\"Diagram\n", "\n", "Pick another point and we can do the same thing, this time with a different set of neighbors (one of them even being the first point we picked out).\n", "\n", "\"Diagram\n", "\n", "And we can do that a third time for good measure, with another set of five nearest neighbors and another circle with slightly different radius again.\n", "\n", "\"Diagram\n", "\n", "Now if we want to know the mutual reachabiility distance between the blue and green points we can start by drawing in and arrow giving the distance between green and blue:\n", "\n", "\"Diagram\n", "\n", "This passes through the blue circle, but not the green circle -- the core distance for green is larger than the distance between blue and green. Thus we need to mark the mutual reachability distance between blue and green as larger -- equal to the radius of the green circle (easiest to picture if we base one end at the green point).\n", "\n", "\"Diagram\n", "\n", "On the other hand the mutual reachablity distance from red to green is simply distance from red to green since that distance is greater than either core distance (i.e. the distance arrow passes through both circles).\n", "\n", "\"Diagram\n", "\n", "In general there is [underlying theory](http://arxiv.org/pdf/1506.06422v2.pdf) to demonstrate that mutual reachability distance as a transform works well in allowing single linkage clustering to more closely approximate the hierarchy of level sets of whatever true density distribution our points were sampled from." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Build the minimum spanning tree\n", "\n", "Now that we have a new mutual reachability metric on the data we want start finding the islands on dense data. Of course dense areas are relative, and different islands may have different densities. Conceptually what we will do is the following: consider the data as a weighted graph with the data points as vertices and an edge between any two points with weight equal to the mutual reachability distance of those points.\n", "\n", "Now consider a threshold value, starting high, and steadily being lowered. Drop any edges with weight above that threshold. As we drop edges we will start to disconnect the graph into connected components. Eventually we will have a hierarchy of connected components (from completely connected to completely disconnected) at varying threshold levels.\n", "\n", "In practice this is very expensive: there are $n^2$ edges and we don't want to have to run a connected components algorithm that many times. The right thing to do is to find a minimal set of edges such that dropping any edge from the set causes a disconnection of components. But we need more, we need this set to be such that there is no lower weight edge that could connect the components. Fortunately graph theory furnishes us with just such a thing: the minimum spanning tree of the graph.\n", "\n", "We can build the minimum spanning tree very efficiently via [Prim's algorithm](https://en.wikipedia.org/wiki/Prim%27s_algorithm) -- we build the tree one edge at a time, always adding the lowest weight edge that connects the current tree to a vertex not yet in the tree. You can see the tree HDBSCAN constructed below; note that this is the minimum spanning tree for *mutual reachability distance* which is different from the pure distance in the graph. In this case we had a *k* value of 5.\n", "\n", "In the case that the data lives in a metric space we can use even faster methods, such as Dual Tree Boruvka to build the minimal spanning tree." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n3vaGbluGdjyGXiIiIiIHCZ3phOoasmVstjcQERERkSME622u9F6xZWjHY+glIiIicpDQmS6osk0T\n2TKs9BIRERGRA9je08tKLxERERHdaaEzH0GVB20Zm5VeIiIiInIE2yu9V20Z2vEYeomIiIgcJHSm\nE6ps0+oNrPQSERERkRMEP1Ftb6X3mi1DOx5DLxEREZGDsKfXHgy9RERERA5ie6W3x5ahHY+hl4iI\niMhBsj29dlV647aMOxcw9BIRERE5SLDe5krvb2wZ2vEYeomIiIgcJHT6I6hy2JaxWeklIiIiIkew\nvdL7pi1DOx5DLxEREZGDhE6zp9cODL1EREREDhJsqIa/yKZKb4KVXiIiIiJygNB7l6HKA7aMzUov\nERERETlCsGEF/EUltowdTQzj+G9tGdrxGHqJiIiIHCT03mWokteWsZMGK71ERERE5ADBT9aw0msD\nhl4iIiIiBwmdusRKrw0YeomIiIicxLr+YdfYCxRDLxEREZGD2N7ecNiWoR2PoZeIiIjIQdpOdbC9\nwQYMvUREREQOYnel98TvbBna8Rh6iYiIiBwkdOoyVKnYlrGTxogt484FDL1EREREDmJ7pfctW4Z2\nPIZeIiIiIgcJvXuJlV4bMPQSEREROUjwPpsrvc22DO14DL1EREREDhI6dQmqaFOl12Sll4iIiIgc\nwPae3rdtGdrxGHqJiIiIHCR0qsORld7XXnsN+/fvR29vL6qrq/H4449j8+bNt73m5MmT+M53vgO3\n241Dhw5N+bVnAkMvERERkYME71vpuErvgQMH8OKLL+K5555DQ0MDmpub8cwzz6CkpASbNm0a85of\n//jH2LNnDyoqKpDJZKZ559PH0EtERETkIKF3nVfpffXVV7Ft2zZs2bIFAFBTU4OWlha88sorY4be\nWCyGffv24Uc/+hEOHjyId955Z1r3PRMYeomIiIgcJHjfSvg9NlV6tWGcODK5a9rb29Hb24vGxsaC\n442Njdi1axdSqRTcbnfBc4qi4Be/+AUqKipw8ODB6d72jGDoJSIiInKQtpPOqvR2dnZCEAQsW7as\n4HhVVRVM00RXVxdqa2sLnnO73aioqJjWvc40hl4iIiIiB6m7f5Wtld6WSVZ6R0ayQbmoqKjgeO5x\nPB6fkXuzG0MvERERkYO0tbQ7qtI7XzD0EhERETlI3f218HsCtowd1SJoeefNSV3j8/kA3FrRzT32\ner0zc3M2Y+glIiIicpBspbfo40+cgqSZmPQ1K1asgGVZ6OzsxOrVq/PHL1++DFmWUV1dPZO3aBuG\nXiIiIiIHyfb02ljp/bfJXVNTU4OqqiocOXIEDz/8cP54c3MzNm7cCJfLNcN3aQ+GXiIiIiIHcVql\nFwC2b9+OnTt3oqGhARs2bMDrr7+OEydO4MCBAwCAF154Aa2trdi3bx8AQNd1xGIxWJaFZDIJ0zQx\nMDAAIDsB7uZJcbOBoZeIiIjIQYJ2V3qPTv66LVu2QNM0vPzyy+jr60NNTQ327t2L+vp6AMDAwAC6\nu7vz57/xxhv43ve+B0EQ8scefPBBANkA/cQTT0zvC5kChl4iIiIiB2lraYcq2FTptaZW6QWArVu3\nYuvWrWM+t3v37oLHjzzyCB555JEpv5YdGHqJiIiInMQyAZg2jr0wMfQSEREROYjdS5ad/P3vbBnb\n6Rh6iYiIiBykreWiI9sb5jqGXiIiIiIHsb3Se/wtW8Z2unFDr2EYAICenp5ZuxkiIiKi2ZTLObnc\n4wQjevzjT3Lg2E43bujt7+8HADz66KOzdjNEREREd0J/fz9WrFhxR+/B6/UiEAjgX07/va2vEwgE\n5szWwTNJsCzLGuuJZDKJc+fOoby8HJIkzfZ9EREREdnOMAz09/dj/fr1UFX1Tt8OhoeHEY/bW431\ner0oKSmx9TWcaNzQS0REREQ0X4h3+gaIiIiIiOzG0EtERERE8x5DLxERERHNewy9RERERDTv/Tu8\nSD6UFm2DvAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clusterer.minimum_spanning_tree_.plot(edge_cmap='viridis', \n", " edge_alpha=0.6, \n", " node_size=80, \n", " edge_linewidth=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Build the cluster hierarchy\n", "\n", "Given the minimal spanning tree, the next step is to convert that into the hierarchy of connected components. This is most easily done in the reverse order: sort the edges of the tree by distance (in increasing order) and then iterate through, creating a new merged cluster for each edge. The only difficult part here is to identify the two clusters each edge will join together, but this is easy enough via a [union-find](https://en.wikipedia.org/wiki/Disjoint-set_data_structure) data structure. We can view the result as a dendrogram as we see below:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\npFKlSql69ery8vKyWVAAAADAg6Jo0aLq0aOHJOmTTz5Rz549ValSJZvNb/WbYuPj41W3bt307Vu3\nbunYsWO8VAoAAAC5M0uGC79Yavv27ek/p6WlKSkpSW5ubvLz85Obm8WPt2Zg8VnXrl3TK6+8oq5d\nu2bYn5qaqvDwcPXr18/mC/wBAACAB80333yjnj176tFHH1XTpk3VuHFj1a5dW3369NGBAwesns/i\nhH727Nn6/vvvNXDgwAz7CxUqpMmTJ+vAgQOaNWuW1QEAAADAhbhgl5u77dy5U3369NHp06fVvn17\n9e3bV3379lWbNm109OhR9ejRI70jjqUsXnKzdetWjRo1KtODr25uburSpYvc3d01ffp0jRkzxqoA\nAAAAAFfx/vvvq2XLlpo5c6Y8PT0zHLtx44YGDRqkOXPm6F//+pfFc1pcob906ZKCgoKyPR4SEsKS\nGwAAAOTsTpcbe3ycwJEjR9S1a9dMybwkeXl5qVu3bvrhhx+smtPihL5ixYrasmVLtsc/+ugjXiwF\nAAAA5MBsNsswsv/y4e3tLZPJZNWcFi+5efnllzVkyBCdPHlSDRo0kL+/v27evKmLFy9qx44dOnz4\nsKKjo626OAAAAFyMvda7O8ka+kqVKmn9+vVq2rRplsc/++wzq1taWpzQt2nTRrNmzVJMTEymxL1c\nuXKKjo5W27Ztrbo4AAAA4Ep69+6tIUOG6Pjx42revLkCAwMl3W4Nv23bNh09elRz5syxak6r+tC3\nadNGbdq0UUJCghISEuTm5qZSpUrJ39/fqosCAADARbl4hb5NmzaaPn265syZo5iYmAzHypcvr1mz\nZiksLMyqOa1+sZQklSxZ0qavqwUAAABcRYcOHdShQwedO3dOCQkJMgxDpUqVSq/WW8vihD41NVUx\nMTHavXu3rl69muVifcMwtHXr1nsKBAAAAC7CSarp9la6dGmVLl36vuexOKGfMmWKVq9erVKlSiko\nKEgeHvdU3HcqEe0jtW3/5vTtYq0qyb2wV/p2fPINBXf+359KWvTqoLDeHVXEs5CeKZP1gw4AAACA\nLVmclX/55ZeKjIzUG2+8Yc948pXzG5N11nQ213ERu6N0NvWizklafmKLgn1KkNADAABkxV49452k\nD709WNyH/o8//lCLFi3sGQsAAAAAK1mc0NetW1dHjx61ZywAAAB4wBlm+31clcUJ/fjx47V27VrF\n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\nUiYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clusterer.single_linkage_tree_.plot(cmap='viridis', colorbar=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This brings us to the point where robust single linkage stops. We want more though; a cluster hierarchy is good, but we really want a set of flat clusters. We could do that by drawing a a horizontal line through the above diagram and selecting the clusters that it cuts through. This is in practice what [DBSCAN](http://scikit-learn.org/stable/modules/clustering.html#dbscan) effectively does (declaring any singleton clusters at the cut level as noise). The question is, how do we know where to draw that line? DBSCAN simply leaves that as a (very unintuitive) parameter. Worse, we really want to deal with variable density clusters and any choice of cut line is a choice of mutual reachability distance to cut at, and hence a single fixed density level. Ideally we want to be able to cut the tree at different places to select our clusters. This is where the next steps of HDBSCAN begin and create the difference from robust single linkage." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Condense the cluster tree\n", "\n", "The first step in cluster extraction is condensing down the large and complicated cluster hierarchy into a smaller tree with a little more data attached to each node. As you can see in the hierarchy above it is often the case that a cluster split is one or two points splitting off from a cluster; and that is the key point -- rather than seeing it as a cluster splitting into two new clusters we want to view it as a single persistent cluster that is 'losing points'. To make this concrete we need a notion of **minimum cluster size** which we take as a parameter to HDBSCAN. Once we have a value for minimum cluster size we can now walk through the hierarchy and at each split ask if one of the new clusters created by the split has fewer points than the minimum cluster size. If it is the case that we have fewer points than the minimum cluster size we declare it to be 'points falling out of a cluster' and have the larger cluster retain the cluster identity of the parent, marking down which points 'fell out of the cluster' and at what distance value that happened. If on the other hand the split is into two clusters each at least as large as the minimum cluster size then we consider that a true cluster split and let that split persist in the tree. After walking through the whole hierarchy and doing this we end up with a much smaller tree with a small number of nodes, each of which has data about how the size of the cluster at that node descreases over varying distance. We can visualize this as a dendrogram similar to the one above -- again we can have the width of the line represent the number of points in the cluster. This time, however, that width varies over the length of the line as points fall our of the cluster. For our data using a minimum cluster size of 5 the result looks like this:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nYaEMw1C7du0UExOjK6+80umYNSrod+3apWnTpulPf/qT/VxISIiioqLUo0cPjR49WgsWLFBiYqLT\nCQAAAKCB8sAXS73zzjsOP19yySU6ceKEZs+erVGjRsk0TZWWltq78pJ04sQJSXJqb/jz6dmzp3r2\n7OmSWDV6KLakpEQXXnih/ecLLrhAJSUl9p+HDBmit956yyUJAQAAAPUpOjpakuzjNKdn6U/bu3ev\n2rdvX20Ux1PUqKAPDw/X6tWr7T+3bdtWn3/+uf3niooKp7fXAQAAQANnWnw46YcfftCTTz6pffv2\nOZzfuXOnmjRposGDB8vf3195eXkO65s2bVLfvn2dv2E9qdHIzd13362JEyeqsLBQL7zwgvr376+5\nc+eqtLRUbdq00euvv67w8HCrcwUAAABqrX379tq6davGjRunJ598Um3bttWWLVu0aNEi3XHHHQoJ\nCVFCQoIWLlyoiIgIRUZGavHixSosLKz2IipPUqOC/s4775QkHTt2TJL08MMPa8uWLXrppZckScHB\nwZo6dapFKQIAAMAredguN/7+/nr99deVlpamsWPHqqioSO3bt9eIESP00EMPSZJGjhwp0zQ1adIk\nFRUVKTo6WpmZmed8GZS71aigf+655zRo0CBdddVVkqSgoCBlZ2frm2++UUVFhS6++GKPnSkCADQO\nLXyDVVx5zN1puISfn59Onjx5xjXDmFjP2dTd5Zdfrp07d7o7DUCS1KFDB73wwgtnXTcMQ0lJSUpK\nSrLk/llZWYqLi7PvP+8KNSro33zzTWVlZel3v/udBg0apIEDByoqKkqXXHKJyxIBAKAurml95hex\n8P4Law2M/Ot5r1mxc0Y9ZAJPZEjWdei91KxZsxQVFeXSgr5GD8V+8sknSklJUWRkpDIzM3Xrrbfq\npptu0rx586o9BQwAAADgzBITEzV79mwdPnzYZTFr1KG/8MILFR8fr/j4eJWUlGjDhg368MMPtWDB\nAqWnp+vyyy/XoEGDdP/997ssMQAAAHg5D5uh9wT5+fkqLi5Wnz591LFjRwUHB8vX17EkNwxDr776\nao1j1qig/63mzZvrpptu0k033aSTJ09q1apVSk9P1/Tp0ynoAQAAgHPYvn27JKldu3YqLy/XwYMH\n6xzT6YJekg4cOKDVq1dr7dq12r59u0zTVO/eveucDAAAABoQOvTVrFu3zuUxa1zQ5+fna82aNVqz\nZo2+/vprGYahP/zhD5owYYIGDBig4OBglycHAAAANGTHjx9X8+bNq43dOKNGn4yNjdVPP/0kwzDU\nvXt3TZgwQTfeeKNatWpV6xsDAACgYTPo0J/R1q1bNWfOHH355Zc6deqUli5dqqioKGVnZ6u8vNz+\nDqiaqlFBHxISovvuu0833nijQkJCapU4AAAA0Nh98sknGjFihEJDQ3XHHXcoKyvLvnb48GHNnDlT\nLVq00J///Ocax6zxPvQAAACAU0xJpmFdbC+UkZGhPn36KCMjQz4+PnrjjTfsa4mJiSosLNTLL7/s\nVEFfo33oAQAAANTd7t27NXToUPn4nLkMHzBggPbs2eNUzNpP3wMAAADnwgz9GZnm2ZP/5Zdf1LRp\nU6fi0aEHAAAA6smVV16pV155ReXl5dXWiouLlZ6eriuvvNKpmHToAQAAYAl2uakuKSlJ999/v/78\n5z+rT58+9rfCVlRUaMOGDTp58qRee+01p2K6pEN/9OhRLViwwBWhAAAA0FCYFh9e6A9/+IOWLFmi\nTp066Z133pFpmsrOztaqVat01VVX6Y033tBVV13lVMxad+h//vlnrVq1Sh988IG2bNmi9u3bKzEx\nsbbhAAAAgEaha9euevnll1VRUaGioiJJUlBQkJo0aVKreE4V9CUlJVq9erVWrFihTz75RJJ07bXX\n6vnnn1dcXFytEgAAAEDDZEhe20m32tGjR7V7924VFRXJMAy1atVK0dHRatmypdOxzlvQl5WVad26\ndfrggw+Ul5eniooKhYaGasqUKYqLi1NgYGCtfgkAAACgsTl+/LiefvpprVu3TqZp2ne8MQxDTZo0\n0U033aSJEycqICCgxjHPWtD/+OOPmj17tjZs2KDy8nL98Y9/1IQJEzRgwAC98sorKioqopgHAADA\n2fFQbDWTJ0/Whg0bdMcdd6hnz55q1aqVTNPUkSNHtGXLFuXk5MjHx0fTpk2rccyzFvSPP/64mjRp\nor/+9a+64YYbFBwcbF8bO3asZs+erfHjx+vZZ591eq9MAAAAoDHasGGDHn/8cT3wwAPV1gYPHqzO\nnTtr3rx5ThX0Z93lpk+fPnr77bd11113ORTzp40ZM0YdOnTQvffeqyNHjtT4hgAAAGgk2OWmGh8f\nH1122WVnXb/iiivO+eKpM8Y828Kjjz563g8nJSWpf//+uu2227Rz506nbgwAAAA0NjExMdq+fftZ\n17dt26bevXs7FbPOL5ZKTExU06ZN9eijj2rdunV1DQcAAIAGghdLVfnpp5/s/x4xYoQmTpyon3/+\nWf369VPbtm1lGIYOHz6sjRs3Ki8vT6mpqU7Fd8mbYh944AHdc889rggFAAAANCj9+/eXYRj2n03T\n1K5du5SZmVntWtM0NWjQIO3atavG8V1S0EviwVgAAADgDEaNGuVQ0Luaywp6AAAAANWNHj3a0vgU\n9AAAALAGM/RnVFFRoe+//14///zzWXe06dmzZ43jUdADAAAA9WTLli0aM2aMioqKJMmhoDcMQ6Zp\nyjAM7d69u8YxKegBAABgDfO/O91YEdpLO/RTpkxRcHCwnnjiCbVv316+vnUvxynoAQAAgHqyf/9+\nzZkzR9dcc43LYlLQAwAAwBrM0FcTERGhX375xaUxz/qmWAAAgPOqtJ3/AGD31FNPae7cued8W6yz\n6NADAADAGnToqwkPD9fvfvc7DR06VP7+/goKCqq2R71hGFqzZk2NY1LQAwAAAPUkOTlZmzdvVo8e\nPdSuXTuXvJyVgh4AAACWMGTdLjeSdzbpt23bpgkTJmjo0KEui8kMPQAAAFBPgoKCFB4e7tKYFPQA\nAACwhmnx4YUeeeQRvfrqqyovL3dZTK8Yudm+fbtmzJihXbt2qWXLlrr11ls1duzYag8QAACA+rXi\n+1QN7PjY2dcLZtVjNvA0hoUvlpJZt5q+uLhYAwcO1AUXXKC1a9dKkmw2m2bNmqWcnBwdO3ZMkZGR\nSk5OVu/evV2Ts6R9+/apqKhI1157rbp166agoKBq1xiGoalTp9Y4pscX9Hv27NHw4cP18MMPKzU1\nVTt27ND48eMVGBioxMREd6cHAAAALzRr1iwVFRUpJCTEfi41NVVLly5VSkqKwsPDlZOTo8TERGVn\nZysiIsIl912wYIH93xs2bDjjNQ2uoJ83b5769Omjhx56SJLUoUMHtWzZUoGBgW7ODAAAAOfkodtW\n7tixQ++++64GDRqkLVu2SKrq2GdlZemJJ55QbGysJGncuHHKy8vTokWLNG3aNFdkrfz8fJfE+S2P\nLuhN09SGDRuqfYExMTFuyggAAADezGazaeLEiUpISHA4/8UXX6i8vLxanRkTE6Pc3Nz6TNFpHl3Q\n79+/X6WlpfL399eYMWP0+eefKyAgQPfee6+GDRvm7vQAAABwLh7YoX/99ddVWlqqhx56SC+99JL9\n/L59+yRJoaGhDteHhYXp8OHDKisrk7+/f63TPS0jI+O81xiGoVGjRtU4pkcX9MeOHZNpmpo6daoe\neOABPfLII9q4caOmT5+usrIyZugBAABQY4cOHVJ6errmzp1b7YVOJSUlMgxDfn5+DucDAgIkVY3k\nWF3QG4Yh0zQbVkF/6tQpSdLgwYN15513SpKioqL03Xff6bXXXqOgBwAA8GBW73LjrJSUFMXFxalX\nr16uz6eGTu+o81umaerw4cNau3atdu3apRdeeMGpmB5d0Ddv3lySdNlllzmc79Gjh3Jzc/Wf//xH\nrVq1ckdqqAGzosLdKQAAAEiS1q9fr61bt+r999+3nzPNX/8qCAwMlGmaKi0ttXflJenEiROSpBYt\nWrgkjw4dOpzxfGhoqLp166YXX3xR06ZN04wZM2oc06ML+o4dO8rHx0dFRUUO5202mySx0w0AAIAn\n86AZ+lWrVun48eO69tpr7edsNptM09QVV1yhkSNHSpIKCgoUFRVlv2bv3r1q3759tVEcq1x99dVa\nvHixU5/x6II+ICBA3bt31/r163XLLbfYz3/xxRfq2LFjvX2xqJ2VRxac/yIAAIB6MHbsWD344IMO\n57KysrRu3Tq98sorCggI0MKFC5WXl+dQ0G/atEl9+/attzz/+c9/Ov3yVI8u6CVp1KhRSkhI0IIF\nCzRw4ECtW7dOK1eu1KRJk9ydGgAAAM7Fgzr0ISEhDi+RkqRWrVrJ19dXF198sSQpISFBCxcuVERE\nhCIjI7V48WIVFhZq+PDhrspa48ePP+P5iooK/fTTT9q+fbvi4uKciunxBX3v3r01e/ZspaenKyMj\nQyEhIZo0aZJuv/12d6cGAACABmTkyJEyTVOTJk1SUVGRoqOjlZmZWW0ry7rIzs4+43nDMNSyZUv9\n5S9/UXJyslMxDfO3TwM0UPv371dsbKzWrl3r0v+DAAA8y42tHXc/Y/Svfgzs+NhZ11YUzKrHTOAp\nTtdevtcPlRHQ0pJ7mKU/q2L1Euo7ST7uTgAAAABA7Xn8yA0AAAC8lAfN0LtTTk6O05/57YYw50NB\nDwBoMBixAeCJnnrqqRpd99vdbSjoAQAA4Hae9qZYd8nPzz/vNUePHlVqaqqys7PVuXNnp+JT0AMA\nAABuYpqmlixZovT0dFVWVio5OVnDhg1zKgYFPQAAAKzBDP05ffHFF5oyZYry8/M1ePBgJScnq02b\nNk7HoaAHAAAA6tGRI0c0ffp0/eMf/1BUVJSysrLUo0ePWsejoAcAAIA16NA7qKys1Guvvaa5c+eq\nSZMm+tvf/qa77rrL4WHY2qCgBwAAACy2efNmpaSk6Pvvv9ftt9+usWPHKigoyCWxKegBAABgCeO/\nR2M3ZswYrVq1SldeeaXeffddXXbZZS6NT0EPAAAAazByI0n68MMPJUmFhYUaPXp0jT6zdu3aGsen\noAcAAAAslJSUZGl8CnoAAABYw8IXS5le1KG3uqD3sTQ6AAAAAEvRoQcAAIA1mKGvF3ToAQAAAC9G\nhx4AANRNZaW7M4Ano5NuOTr0AAAAgBejQw8AAABLGBbucmNVXG9Ehx4AAADwYnToAQAAYA12uakX\ndOgBAAAAL0aHHgAAAJZghr5+0KEHAAAAvBgdegAAAFiDGfp6QYceAAAA8GJ06AEAAGAJZujrBx16\nAAAAwIvRoQcAAIA1mKGvF3ToAQAAAC9Ghx4AAADWoENfL+jQAwAAAF6MDj0AAAAsYcjCXW6sCeuV\n6NADAAAAXowOPQAAAKzBDH29oKAHAACAJapeLGVN5c2LpX7FyA0AAAAajRMnTui5555T3759dcUV\nV+j666/XvHnz7Os2m01paWm67rrr1KVLF8XHx2vz5s1uzPj86NADAADAGh44cvPYY4/pp59+0vTp\n09WhQwdt3LhRzz33nJo1a6b7779fqampWrp0qVJSUhQeHq6cnBwlJiYqOztbERERrv0dXIQOPQAA\nABqFgwcPaufOnXr66af1xz/+UaGhobr77rsVExOjlStXqri4WFlZWRo1apRiY2PVuXNnjRs3ThER\nEVq0aJG70z8rOvQAAACwRNUMvXWxndWuXTt99tlnZ1zz9fXVtm3bVF5erpiYGIe1mJgY5ebm1ibN\nekGHHgAAAI1SRUWF3nvvPX3xxRd68MEHVVBQIEkKDQ11uC4sLEyHDx9WWVmZO9I8Lzr0AAAAsIYH\nztCfNmTIEP3rX/9ScHCw0tLS1K9fP7300ksyDEN+fn4O1wYEBEiSiouL5e/vX7cbW4CCHgAAAI3O\n7NmzdezYMa1Zs0aPPfaYUlJS3J1SrVHQAwAAwBKeNkP/W23btlXbtm0VFRWlkpISPffcc3r00Udl\nmqZKS0vtXXmpaqtLSWrRokXdbmoRZugBAADQKPz000/Kzc2VzWZzOH/JJZfo559/VmBgoEzTtM/S\nn7Z37161b9++2iiOp6CgBwAAgDVMiw8n7d27V8nJydq6davD+a+//lr+/v6Ki4tTs2bNlJeX57C+\nadMm9e3b1/kb1hNGbgAAANAo/PGPf1SXLl30zDPPaMKECerUqZM+/fRT/f3vf9ftt9+u5s2bKyEh\nQQsXLlRERIQiIyO1ePFiFRYWavjw4e5O/6wo6AEAAGAZq2boa8PHx0cvvfSSXnjhBY0fP17FxcUK\nDQ3V6NGjdf/990uSRo4cKdM0NWnSJBUVFSk6OlqZmZnVtrL0JBT0AAAAaDSCg4PPuaONYRhKSkpS\nUlJSPWZVNxT0AAAAsIYH70PfkPBQLAAAAODF6NADAADAEp68D31DQoceAAAA8GJ06AEAAGAN06w6\nrIoNSXToAQAAAK9Ghx4AAACWYIa+ftChBwAAALwYHXoAAFA3lZVnPL3i4Iv1nAg8DvvQ1wsKegAA\nAFjCsFUdVsVGFUZuAAAAAC9Ghx4AAADWYTTGcnToAQAAAC9Ghx4AAACWYNvK+kGHHgAAAPBidOgB\nAABgDdOsOqyKDUl06AEAAACvRoceAAAAlmCGvn7QoQcAAAC8GB16AAAAWMOUdfvQ06G3o0MPAAAA\neDE69AAAALAEM/T1gw49AAAA4MXo0AMAAMAa7ENfL+jQAwAAAF6MDj0AAAAswQx9/aBDDwAAAHgx\nOvQAAACwDp10y9GhBwAAALwYHXoAAABYw8IZejr/v6JDDwAAAHgxOvQAAACwhs2sOqyKDUkU9AAA\nALCKKetGY6jn7Ri5AQAAALwYHXoAAABYghdL1Q869AAAAIAX8/iC/tSpU8rIyNDAgQPVtWtX9evX\nTxkZGSovL3d3agAAADgX07T2qIXTteUNN9ygbt26adCgQVqyZIl93WazKS0tTdddd526dOmi+Ph4\nbd682VXfiCU8fuQmNTVV2dnZmjp1qqKiopSfn6/x48erpKRETz75pLvTAwAAgBdJSUnRihUrNGXK\nFEVHR2v9+vWaMmWK/P39FR8fr9TUVC1dulQpKSkKDw9XTk6OEhMTlZ2drYiICHenf0Ye36Ffvny5\n4uPjFRcXp9DQUMXFxSk+Pl65ubnuTg0AAADncHqG3qrDWcXFxXr33XeVlJSkAQMGKCwsTMOGDVNM\nTIyWL1+u4uJiZWVladSoUYqNjVXnzp01btw4RUREaNGiRa7/glzE4zv0hmHIx8fx746mTZu6KRsA\nAAB4q8DAQOXl5SkgIMDhfOvWrZWfn69t27apvLxcMTExDusxMTEe3Uz2+A790KFDtXz5cu3YsUOS\n9O233yo3N1dDhgxxc2YAAAA4L9Oio5aCgoLk5+dn/7msrEyffvqprrzyShUUFEiSQkNDHT4TFham\nw4cPq6ysrPY3tpDHd+iTkpJ09OhR3XHHHfL19VVlZaXuvPNOJSUluTs1AAAAeLnJkyfrxIkTGjFi\nhD744AMZhuFQ8Euyd/SLi4vl7+/vjjTPyeML+gULFmjFihWaPn26oqKi9M033+j5559XUFCQxowZ\n4+70AAAAcBaGacqo5W40NYldVxMnTlRubq5mz56tsLAwF2TlHh5d0B8/flzp6el6+umndfPNN0uS\nLr30UpWVlWny5Mm67777dNFFF7k5SwAAAHgTm82mp556SqtWrdKcOXPUr18/SVUz9qZpqrS01GHO\n/sSJE5KkFi1auCXf8/HoGfqCggJVVFQoPDzc4fzvf/97VVZWav/+/W7KDAAAAOdls/iopcmTJ2vd\nunVatGiRvZiXpE6dOkmSfZb+tL1796p9+/bVRnE8hUcX9O3atZMk/fjjjw7nv/vuO4d1AAAAoCbe\neustZWdna/78+erRo4fDWo8ePeTv76+8vDyH85s2bVLfvn3rMUvnePTITZs2bTRgwADNnTtXrVu3\n1qWXXqo9e/Zo3rx5uuaaa9S6dWt3pwgAAICz8LQZ+tLSUqWlpen2229Xp06ddOTIEYf11q1bKyEh\nQQsXLlRERIQiIyO1ePFiFRYWavjw4a5K3eU8uqCXpOnTpysjI0PPPvusjh49quDgYA0YMEBjx451\nd2rA/2/vfkKsLPc4gH/fVDQZcXCl6NQkIzQLSZCCpjBJd23CZRCCiAudleWiRSRBO3EhdpFkciAG\nobA/ltxL4EIlhBB34aYgpxa3UVBTB9E4711458TcKXV0njnzXj8feIV53jPP+R1Xv/nyO88LADTI\nDz/8kN9//z1Hjx7N0aNH2+t1Xaeqqly4cCE7d+5MXdfZu3dvrl69mv7+/hw5cmTKUZZzyZxv6J98\n8sns2bMne/bs6XQpAABMxyOeGX/fvafp+eefz4ULF+75mqqqMjg42Kgj0uf0DD0AAHBvcz6hBwCg\noeokhWboiyX/DSShBwCABpPQAwBQRFXfvUrtzV0SegAAaDAJPQAAhdTlZugN0bdp6AEAKKJqJVVV\nbm/uMnIDAAANpqEHAB7JP//9j9R//DHlgtR12YskGnoAAGg0M/QAAJRRp9x3VwX0bRJ6AABoMAk9\nANElokwAAAgASURBVABFVHWdqtCse6l9m0hCDwAADSahBwCgjJKn0Ujo2yT0AADQYBJ6AADKqJOU\neqKrgL5NQg8AAA0moQcAoIyCp9yYof+ThB4AABpMQg8AQBlOuZkVEnoAAGgwCT0AAGVI6GeFhB4A\nABpMQg8AQBmlzqAvvXfDSOgBAKDBJPQAABRR1Sl2Dn1lhL5NQg8AAA0moQcAoAyn3MwKDT0AAIUU\nbOijoZ9g5AYAABpMQg8AQBl1nWJJupGbNgk9AAA0mIQeAIAyWkmqQnsL6Nsk9AAA0GASegAAiqjq\nOlWhKL3UA6uaSEIPAMBjo67rHDhwIP39/Tl48OCke61WK/v378+GDRuydu3abNmyJWfPnu1QpQ9O\nQw8AQBkTD5YqdU3TlStXsn379pw4cSLz5s2bcn/fvn359NNP89577+Wrr77Kyy+/nB07duTHH3+c\nif+NYjT0AAA8Fo4fP54FCxbk2LFjeeKJyW3wjRs3MjIykl27dmXTpk1ZvXp1du/enb6+vgwNDXWo\n4gdjhh4AgDIeMkl/wM2n/RubN2/O1q1b//Le+fPnc/v27QwMDExaHxgYyNdff/1QFc4WCT0AAI+F\nlStX/u290dHRJMmqVasmrff09OTSpUu5detW0doehYQeAIAySj4pNvWMnnF/8+bNVFWVhQsXTlpf\nvHhxkrsjOYsWLZq5N5xBEnoAAGgwCT0AAGXU7X/KmMGEvqurK3VdZ3x8vJ3KJ8n169eTJEuWLJm5\nN5thEnoAAB57vb29Sf6cpZ9w8eLFrFixYsoozlyioQcAoIw5dg79vaxfvz6LFi3KmTNnJq2fPn06\nGzdunNH3mmlGbgAAeCxcu3Ytd+7cSf3fPwbGx8dz+fLlJMmyZcuyffv2HD58OH19fVmzZk2Gh4cz\nNjaWbdu2dbLs+9LQAwBQRqvwKTdTH/Z6T4ODgzl37lz75yNHjuTjjz9OVVU5efJkdu7cmbqus3fv\n3ly9ejX9/f05cuTIlKMs5xoNPQAAj4VPPvnkvq8ZHBzM4ODgLFQzczT0AACUUbeStAptXmrf5vGl\nWAAAaDAJPQAAZZR+UixJJPQAANBoEnoAAMoocF58WyWhn6ChBwCgjJINvZGbNiM3AADQYBJ6AADK\nqFMwoWeChB4AABpMQg8AQBlm6GeFhB4AABpMQg8AQBmtVlK3yuxdFdq3gST0AADQYBJ6AADKMEM/\nKyT0AADQYBJ6AAAKKZjQVxL6CRJ6AABoMAk9AABltOq7VxES+gkSegAAaDAJPQAARdR1nbrQOfR1\nsdNzmkdCDwAADSahBwCgDDP0s0JCDwAADSahBwAe2b8uf9TpEpiLSj4p1gx9m4QeAAAaTEIPAEAZ\ndStplTnlJlWhfRtIQg8AAA0moQcAoAwz9LNCQw8AQBF1q5W60MhNbeSmzcgNAAA0mIQeAIAy6hQc\nuSmzbRNJ6AEAoMEk9AAAlNGq714lVCL6CRJ6AABoMAk9AABl1K27V6m9SSKhBwCARutoQ1/XdQ4c\nOJD+/v4cPHhw0r1Wq5X9+/dnw4YNWbt2bbZs2ZKzZ892qFIAAKatrlO3ylyPcnrO8PBwNm/enLVr\n1+a1117LiRMnZvBDz76OjdxcuXIlb7/9dn799dfMmzdvyv19+/bl888/zwcffJBnnnkmX375ZXbs\n2JEvvvgifX19HagYAICmGxkZyf79+/P+++9n3bp1OXXqVPbs2ZPu7u689NJLnS7voXQsoT9+/HgW\nLFiQY8eO5YknJpdx48aNjIyMZNeuXdm0aVNWr16d3bt3p6+vL0NDQx2qGACAaZmYoS91PYSPPvoo\nb7zxRl5//fX09vZm69atefXVV3Po0KEZ/vCzp2MN/ebNm3Po0KF0dXVNuXf+/Pncvn07AwMDk9YH\nBgby3XffzVaJAAD8H/npp5/y22+//WWPOdF/NlHHGvqVK1f+7b3R0dEkyapVqyat9/T05NKlS7l1\n61bR2gAAeHSl5ufbc/TTNDo6mqqqpvShPT09abVa+eWXX2bqo8+qOXnKzc2bN1NVVRYuXDhpffHi\nxUnujuQAAMB03Lx5M8mfPeWEpveYzqEHAKCIP+bdfqTTaO69950i+zbRnGzou7q6Utd1xsfHJ/0F\ndf369STJkiVLOlUaAAD30dXVlaVLl2YsPxV9n6VLl/7l9zH/zkQP+b9J/MTP09lrLpmTDX1vb2+S\nu3NOzz77bHv94sWLWbFixZRRnPtZvnx5Tp48meXLl89kmQAA/IXu7u58++23xUdYurq60t3d/cCv\nf/rpp1PXdUZHR7NmzZr2+s8//5z58+fnqaeeKlFmcXOyoV+/fn0WLVqUM2fOTGroT58+nY0bN057\nv/nz50/5gi0AAOV0d3dPq9meDb29venp6cmZM2eyadOm9vqpU6fy4osvZsGCBR2s7uF1rKG/du1a\n7ty5k/q/c1Xj4+O5fPlykmTZsmXZvn17Dh8+nL6+vqxZsybDw8MZGxvLtm3bOlUyAAANt2vXrrz7\n7rtZt25dXnjhhXzzzTf5/vvvMzIy0unSHlpV14W+qXAfb775Zs6dOzdpra7rVFWVkydPZsWKFfnw\nww/z2Wef5erVq+nv788777yT5557rhPlAgDwf+Lo0aMZGhrK2NhYent789Zbb+WVV17pdFkPrWMN\nPQAA8Ojm5Dn0AADAg9HQAwBAg2noAQCgwTT0AADQYBp6AABoMA09AAA0mIYeAAAaTEMPAAANpqEH\nAIAG+w9Tp6n3eMCcMAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clusterer.condensed_tree_.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is much easier to look at and deal with, particularly in as simple a clustering problem as our current test dataset. However we still need to pick out clusters to use as a flat clustering. Looking at the plot above should give you some ideas about how one might go about doing this." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extract the clusters\n", "\n", "Intuitively we want the choose clusters that persist and have a longer lifetime; short lived clusters are ultimately probably merely artifacts of the single linkage approach. Looking at the previous plot we could say that we want to choose those clusters that have the greatest area of ink in the plot. To make a flat clustering we will need to add a further requirement that, if you select a cluster, then you cannot select any cluster that is a descendant of it. And in fact that intuitive notion of what should be done is exactly what HDBSCAN does. Of course we need to formalise things to make it a concrete algorithm.\n", "\n", "First we need a different measure than distance to consider the persistence of clusters; instead we will use $\\lambda = \\frac{1}{\\mathrm{distance}}$. For a given cluster we can then define values $\\lambda_{\\mathrm{birth}}$ and $\\lambda_{\\mathrm{death}}$ to be the lambda value when the cluster split off and became its own cluster, and the lambda value (if any) when the cluster split into smaller clusters respectively. In turn, for a given cluster, for each point *p* in that cluster we can define the value $\\lambda_p$ as the lambda value at which that point 'fell out of the cluster' which is a value somewhere between $\\lambda_{\\mathrm{birth}}$ and $\\lambda_{\\mathrm{death}}$ since the point either falls out of the cluster at some point in the cluster's lifetime, or leaves the cluster when the cluster splits into two smaller clusters. Now, for each cluster compute the **stability** to as\n", "\n", "$\\sum_{p \\in \\mathrm{cluster}} (\\lambda_p - \\lambda_{\\mathrm{birth}})$.\n", "\n", "Declare all leaf nodes to be selected clusters. Now work up through the tree (the reverse topological sort order). If the sum of the stabilities of the child clusters is greater than the stability of the cluster then we set the cluster stability to be the sum of the child stabilities. If, on the other hand, the cluster's stability is greater than the sum of its children then we declare the cluster to be a selected cluster, and unselect all its descendants. Once we reach the root node we call the current set of selected clusters our flat clsutering and return that.\n", "\n", "Okay, that was wordy and complicated, but it really is simply performing our 'select the clusters in the plot with the largest total ink area' subject to descendant constraints that we explained earlier. We can select the clusters in the condensed tree dendrogram via this algorithm, and you get what you expect:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvQAAAIICAYAAAABjHp0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VPXVP/DPnSUz2TeykQQCBAggICAW4gYlKqh1wbVW\nbaVILaaPFeWpPvYpqHUtP6SISkEKanHhcWFRQQRRkKKIKPu+JAGyknUymfXe3x+TOyENSyaZO/fe\nyef9et2XOsu9h5Fkzpw53/MVJEmSQEREREREumRQOwAiIiIiIuo4JvRERERERDrGhJ6IiIiISMeY\n0BMRERER6RgTeiIiIiIiHWNCT0RERESkY7pI6JcsWYKCggIMHjwY119/PT799FO1QyIiIiIiHZIk\nCXPnzsWAAQMwb968VveJoojZs2fjyiuvxODBgzFx4kRs2bKl1WOamprwl7/8BaNHj8aQIUNwzz33\nYO/evaH8I7Sh+YR+6dKlmD17NgoLC7Fq1SrccccdmD59OjZv3qx2aERERESkIzU1NZg8eTI+/fRT\nGI3GNvfPmjULy5Ytw4wZM7BixQpcfvnlmDJlCg4fPux/zOOPP44tW7Zg9uzZ+Oijj9CjRw/cf//9\nqK6uDuUfpRXNJ/QLFizA3XffjZtvvhk5OTn49a9/jZ///OeYP3++2qERERERkY6sXLkSZrMZH374\nIQyG1mmwzWbD0qVL8dBDD2HcuHHo3bs3pk2bhtzcXCxatAgAcOzYMXz++ed44oknMHr0aOTm5uLp\np5+GyWTCO++8o8YfCYDGE/ojR46gvLwc+fn5rW7Pz8/H9u3b4XK5VIqMiIiIiPSmoKAA8+fPR0xM\nTJv75NzybHmn3BmyZcsWGAyGVo8xmUwYOXKkqt0jmk7oi4uLIQgCMjMzW92enZ0NURRRUlKiUmRE\nREREpDf/mVOeqbi4GACQlZXV6vbs7GxUVlbC4XCgpKQEiYmJsFqtbR5TVFQU/IDbSdMJfWNjIwAg\nKiqq1e3yf9tstpDHREREREThp7GxEYIgwGKxtLr9zLyzsbERkZGRbZ4bFRWlal5qUu3KIeTxeFBW\nVob09HSYTF3ij0xERESkqtraWsWT3JiYGCQkJCh6DT3QdHYbGxsLoG0lXv7vs/U/nU1ZWRnGjRuH\n9evXt/kahYjCh1jWT+0QuixD+kG1QyAiDamtrcU1BZeirkFQ9Drx8fFYu3ZtUJL6mJgYSJIEu93e\nqjukoaEBgC8vjYmJOeuHlIaGBn/eqgZNJ/Q9e/aEJEkoLi5G3759/bcfP34cJpMJPXr0UDE6IiIi\nIjobm82GugYB/3pFQnqKMtcoqwTu+UMdbDZbUBL6nJwcAL5e+ry8PP/tRUVFyMjIgMViQU5ODurq\nfNc8s7BcVFSE3r17dzqGjtJ0Qp+Tk4Ps7Gxs2rQJ48aN89/+9ddfY/To0TCbzSpGR0RERETnk54C\nZGaoHUX7jBgxAlarFZs2bWqV0G/cuBFjxowBAFx22WX+26677joAgN1ux9atW/Hggw+GPGaZphN6\nAHjooYfwv//7v7j44otx6aWX4pNPPsHWrVuxdOlStUMjIiIiovMQIUJU7NwA0HZzqPOpq6uD2+2G\nJEkAfMl4VVUVACApKQmTJ0/GwoULkZubi759+2LJkiWoqKjApEmTAPim5Nxyyy2YNWsWUlJSkJKS\ngjlz5iAyMhJ33nlnEP90gdF8Qn/zzTejqakJ8+bNQ0VFBXJycvDqq69i6NChaodGRERERDpSWFiI\nbdu2+f978eLF+Oc//wlBELB+/XpMnToVkiRh5syZqK2txYABA7B48eJWazBnzpyJl156CQ8//DDs\ndjtGjBiBJUuWtHttpxIESf6IEsZOnDjBRbFEXQAXxaqHi2KJ6Exy7rX6XbdiLTcnS4EJvzQzv4PG\n59ATEREREdH5ab7lhoiIiIj0SYSkcA89AUzoiYiIiEghEiSIUKa7W4KyM+71hC03REREREQ6xgo9\nERERESnCCwleheaveBU5qz6xQk9EREREpGOs0BMRERGRIkQFe+i5KLYFK/RERERERDrGCj0RERER\nKUKEBC8r9IpjhZ6IiIiISMdYoSciIiIiRbCHPjRYoSciIiIi0jFW6ImIiIhIEV5JwTn0ypxWl1ih\nJyIiIiLSMVboiYiIiEgREpTrdWeBvgUr9EREREREOsYKPREREREpwqvgHHqvImfVJ1boiYiIiIh0\njBV6IiIiIlKEV1JuGg2n3LRghZ6IiIiISMdYoSciIiIiRXDKTWiwQk9EREREpGOs0BMRERGRIrwQ\nFJtG44Wg0Jn1hxV6IiIiIiIdY4WeiIiIiBQhSr5DqXOTDxN6IiIiIlKEqGDLjciWGz+23BARERER\n6Rgr9ERERBogSRJOVNhQa3PCGmFEVmosIi18myZ946LY0OBvCiIiIhVJkoRt+8rx3hcHcLC41n97\nbJQZN13ZBzdc3hvRkWYVIyQirWNCT0REpBKHy4Pn3/we2/dXAPAl8VmpsWiwu3CiwoZ/rdmPFRuP\nYMbkUejfM0nlaIkCJ0qCgotiWaGXMaEnIiJSgcPlwV//+R12HKpCbJQZdxT0w/hRObBaTJAkCbuO\nVOFfq/dj3/Fq/GXBFjw1ZTTymNQT0VlwUSwREVGIebwinlnkS+YTYi144aHLcfNVubA298wLgoAh\nuSl4bupluGxod9gdHvzlH1twuKT2Amcm0hbflBtlDk65acGEnoiIKMQ+3HAIOw9XITHWgud+fxl6\npMed9XEmowHTfzUCV1yciSanB//vnR/gciu1xJCI9IoJPRERUQgVldbjvbUHAACP/moEstNiz/t4\no9GAP941DFmpMThRYcM7n+8PRZhEQeGrphsUOlihlzGhJyIiChGvV8Sc97bD45UwYXQOhvZNadfz\nIsxGPHzXMBgE4OOvDuNgcY3CkRKRnjChJyIiCpG1W4tx+EQdUhIj8ZsbBgb03LyeSbjpqlyIEjD/\no52QJO57T9rnm3Kj3EE+TOiJiIhCwOMV8cH6gwCA+28YhChr4LPl7762P+JjInCopBY/HqwMdohE\nXYLX68WcOXMwduxYDB48GDfffDM2btzov18URcyePRtXXnklBg8ejIkTJ2LLli0qRnxhTOiJiIhC\n4KsfSlBR04Ss1BjkD+neoXNYI0y4+apcAMD7XxxglZ40T4tTbp5//nm8+eab+MMf/oDPPvsMV1xx\nBaZOnYr9+33rU2bNmoVly5ZhxowZWLFiBS6//HJMmTIFhw8fDuZLE1RM6ImIiBTm9YpYtv4QAOD2\ncf1gNHS8VeC6/BzERpmx91g1dh85HawQiboEp9OJ999/H/fddx8mTpyI7OxsPProoxgyZAgWLlwI\nm82GpUuX4qGHHsK4cePQu3dvTJs2Dbm5uVi0aJHa4Z8TE3oiIiKFbd55CqVVjUhPjsJVwzI7da4o\nqxk3XtkHALBs3cFghEekGK9kUPQIVFFREdxuN4YPH97q9rFjx2LLli3Yvn07XC4X8vPzW92fn5+P\nzZs3d+q1UBITeiIiIoV9/m0RAOCWMbkwGjv/1nvD5b0RYTbip0OVKDvd2OnzEXUVoigCAEwmU6vb\nk5KSUFNTg+PHjwMAsrKyWt2fnZ2NyspKOByOkMQZKCb0RERECio73Yidh6sQYTLgqmFZF35CO8RE\nmpE/JAMAsP77kqCck0gJIgyKHoHq0aMHjEYj9uzZ0+r2ffv2AQDsdjsEQYDFYml1f1RUFADAZrN1\n8JVQFhN6IiIiBX25zZdwjx7cHdGRgU+2OZeCkT2az18MUeTiWKL2iIqKwo033ojFixdj+/btEEUR\n69atw5o1awD4JuDokenCDyHqGIfHieLak7C7mxBniUFOYjYMAj9DElHXIYoS1n9fDAAouDQ7qOce\n3KcbUpOiUFFtx67DVRjar32bVBGFkm/KjVLn7pg///nPaGxsxN133w2j0Yjhw4fj4YcfxlNPPYXY\n2FhIkgS73e6vygNAQ0MDACA29vw7O6uFCT0FnSiK+Or4Fry3ayVqHfX+23slZOPei2/FRWn9VYyO\niCh0dh2pQkVNE1ISIzEkN7gJt8EgYNwl2Xh37QGs+76YCT1RO0VHR2Pu3Lmoq6uDJElISEjAW2+9\nhd69eyM3NxeSJKG4uBh5eXn+5xQVFSEjI6NNK45WsFxKQVXvtOGJdS9g/vf/Qq2jHt1j0zA4LQ8J\n1jgcqy3B01/Nwbxvl/gXpRARhbNNP50EAPx8RDYMnRhVeS4/v8RX9d+yuxQutz5bBSi8eSVBwSk3\nHfuZWrduHXbu3In4+HgkJCQAAD777DMUFBRg+PDhiIyMxKZNm1o9Z+PGjRgzZkxnXw7FsEJPQeP0\nuPDixldxrKYEyVGJ+NWQW5DfYwQMggFOjwufHlyPj/d9jo1F3yHKHIn7h98BQeC2zUQUniRJwrZ9\n5QCAUYMzFLlGenI0enePx9FTddh95DSG56Uqch2icLJixQrs2bMHL730EtLS0rBkyRKcPHkS9957\nL6xWKyZPnoyFCxciNzcXffv2xZIlS1BRUYFJkyapHfo5MaGnoPCKXvx9yyIcqj6OblFJ+GvBdCRF\nJvjvt5giMHHgBOR164O/fv0K1hz+CslRibhpwDUqRk1EpJzjpfU4XedAUpwFfTLjFbvOiAGpOHqq\nDtv2lzOhJ80RO7Gj64XPDQCBLwh/7rnn8NRTT6GwsBBOpxOXXHIJ3n77bSQmJgIApk6dCkmSMHPm\nTNTW1mLAgAFYvHhxm1GWWsKEnoJi1YF12HZqJ6IjovA/VxW2SubPNDC1Hwp/9hvM2fIGlu78GP27\n9UZeSm5IY03sk4jao7UhvSZRe1gsFjidTrXD6CB+23Y+b81U9vyxyT2QkbwID9x0Eb/5JE0RYYBX\nsYReQkeWxsbGxmLWrFnnvF8QBBQWFqKwsLAT0YUWE3rqtOqmWny4dzUA4OFRk5AVd/6vlvN7jEBx\n3Ql8tHcNFm9fhuevfhwGQ+iWc9z47sSQXUuP3rxUu1tbE+nJf7+yCfuOV+N/fjMS02e+o+i1egwc\nhNLTjThZaUNWqjancBCRcrgoljpt6Y6P4fQ4MTJzKC7OGNSu59wyYAKSoxJxrLYEXx77t8IREhGF\nVn2jCweKqmEyChjaV/npMyOaW23knn0irfBCqQWxBniZxvrxlaBOOVh1FJuKtsJsMOG+i29t9/Ms\npgjcO9T3+Hd3rYDNxa3LiSh8bN9fDlECBvVORpQ1eJtJncslA9IAAN/vZUJP1BUxoadOeX/3KgDA\nL/IKkBYTWBVqdPZwDEzpiwanDasPblAiPCIiVWzbVwEAuGRAekiuNzwvFQYB2HvsNOwOd0iuSdQe\nvkWxBoUOrheRMaGnDjtRV4pd5fthMUbgF/2vDvj5giDgtkHXAwC+OLIJHq8n2CESEYWcV5Sw/YCv\nUj5yYFpIrhkbFYH+PZPg8Ur46WBlSK5JRNrBhJ46bPUhX1X9qpxRiI6IusCjz25Qaj9kx3dHraMe\n357YHszwiIhUcaCoGg12NzKSo9G9W3TIrit/eGAfPWmJKAnNm0sF/xA7uLFUOGJCTx1iczVi4/Hv\nAADj+47p8HkEQcCE5uez7YaIwsHOw1UAfAtVQzlCckSeL6Hf0Xx9Iuo6mNBTh3x1bAucXhcGp+Uh\nK75zOyBe3vNSRJsjcaj6OA6fPh6cAImIVHKgqAYAkJeTFNLr9syIQ6TFiIpqO2ob9LqfAYUbLwyK\nHuTDOfQUMEmSsO7INwDgr653htVkwdjel+GTA+uw7ug3yE3O6fQ5z+fNSxfhl99OUfQaevXuqAVq\nh0Cka5Ik4WCxL6Hv3zMxpNc2GgTkZiVi15EqHCyuwaWDQrMgl4jUx482FLCSulM41VCOWEsMhmVc\nFJRzjskZBQD4/sRP8IjeoJyTiCjUyk7bUd/oQnxMBNKSOra2qDP69fDt0r2/qDrk1yY6G1EyKHqQ\nD18JCtiWEt/i1UszL4bRYAzKObPju6N7bBoaXI3YW3EwKOckIgq1A83V+X49EkPaPy+TvxWQvyUg\noq6BLTcUEEmS8G1zQj86e3jQzisIAkZlD8dHe1djS8l2DEkfELRzk7ZJkgRPgw2O8nKILhckjweS\nxwPR4wVEEYLZBMFohMFkgmAywZwQD0tKCgwm/voi7fG32/QIbbuNrF/zdQ+V1EIUJRgMnAJC6hIh\nKNbrLkJS5Lx6xHdECkhJ3SmcbChDbEQ0BqX2C+q5Rzcn9FtP/oTJI+4KWvWf1CeJIlw1NXCUlcFR\n6juaSsvgKCuHo6wU3kZ7YCc0GGBNTYE1PR3WjOYjPR2RGemwpKXBaLEo8wchuoCDRS0VejUkx0ei\nW0IkqmqbcKKiAT3S41SJg4hCiwk9BUSeFT8yK3jtNrIe8ZnIiE1FaUMF9lQcZJVe55yVlaj54UfU\n/LAdtTt3QXQ4zvlYg9UKa3oajJGR/kq8YDJBMAiQPF6IctXe7YbrdDVcp083fxgoB37a0eZ8UT17\nIHHEcCSOGI7YvP6s5lNIuD1eHDlZB0FQL6EHfN8OVNU24UBRDRN6Up08M16pc5MP3+UoIN+d+AlA\ncNttZIIgNFfp12DriZ+Y0OuM6Hajft9+XwK//UfYi0ta3W+Oj/NV1OWqenoarBkZsKanwxwfF1C/\nsehywVFeAUdpKRxl5Whq/qejrAzO8grYi4phLyrGyY+WwxgVhYShQ5B4yXAkDBsGS3JoRwlS13G8\ntB4er4is1BhER5pVi6NfjwRs3nkKh07U4uqf9VQtDiIKHSb01G61jnqU1J2CxRiBQSnBbbeRDc8Y\njI/2rsGuiv2KnJ+CS/J6cfq7raj8ehPqduyEt6nJf5/BakXCxUOROGIYEocPh6VbctCua4iIQFR2\nFqKys9rcJ7rdqN+7DzXbf0TNtu1oOnECp7d8i9NbvgUARPfqhcSRI5A+/lom9xRUR0/WAwB6Z8ar\nGod8/WMn61SNgwgARBggsodecUzoqd32VBwAAOSl9IHJqMxfnd5JPWE1WVDaUIFqey2SohIUuQ51\njuhyoeLLr3By+Qo4Ssv8t0dmZ/lbXeIG5MFgDn2V0mA2I2HoECQMHYJe9/8ajvJyX+vP9u2o27EL\njceOofHYMZz8aDlSxlyJzJtvOusHA6JAHTvlS6D7qJzQ9+ruu/7x0np4RQlGLowlCntM6Knddpf7\nxkkOSu2v2DVMBiMGpPTFj6W7sbviAK7M+Zli16LAeWw2lK7+HKWrPoW7zpe8WFJT0f0X1yNp1KWw\npqaqHGFb1rQ0ZFw3HhnXjYfocqFu9x6Uf7Eep7d8i4p1X6Ji3ZdI+tlIZN5yM+IG5KkdLunY0eaK\nuJxQqyU+xoJu8VZU1TlQWmVDVmqsqvFQ1yZKBngVmhcvSqzQy5jQU7vtbq7Q/yr/PthrKxS/3v9h\nvuLX0AKLxQKnUxvbtL+HhR174hv6/H/VN6M7luRfgervvkf1d98jbuAAZN5yExIvGQHBwG06qP1E\nUfJX6NVuufHFkICqujIcO1nPhJ6oC2BCT+1S1ViNclslosyRGDbuMUDBleVvv3En/rT2OXSLSsKr\nN/xVlc1ZyEd0u1Gy7AOc/Gg5JI8HABA/dAiyJt6M+KFDIAgCer88W+UoO+7gI9PgqqlB6SefoXT1\n56jfuw/1e/chJrcPcv8wFdE5OWqHSDpRdroRDpcXyfFWxMeoPza1V2Yctu4tw9FTdbhiWKba4VAX\nJkKACGXex5U6rx4xoad2kavzA1JycVgKcGZ4gHomZCI6IgpV9mpUNFYhLSZF0evR2dXvP4DDr7yG\nphMnAADJl+Uja+LNiMnt0+pxgleN6DrvyGPTAAARiYnoee+vkHnrRJR/8QVOLV8F2+Ej2DHtv5F5\n6y3IvuM2VdYCkL4c0Ui7jUzu4z/KhbFEXQITemoXOaG/KLU/VuFHRa9lEAwYlNIPW0/+hD0VB5nQ\nh5jodqPoX+/g1IpVgCTB2r07cgt/j/hBA9UOTVGmqEhk3nQj0q4uQNFbS1G2eg1OLPsAp7d8i37T\n/oiY3r3UDpE0TCsLYmXyB4ujp5jQk7p8c+iVaWH0SqIi59UjNonSBUmShD3NC2IvSlNuQeyZ5Ovs\nLj8QkuuRj6OsDDunP4FTy1cCgoDMW2/BsL//v7BP5s9kiopCnwcfwEXPPQNr9+5oKjmBndMfx6lP\nPoPEBVh0DlpZECtLS4pCdKQZtQ1O1NSfe1M3IqWJMMCr0KHUOEw94itBF1Rmq8TpphrEWmKQHd89\nJNe8qHmSzu6KA0yiQqR+7z7seOxxNB47Bmt6Goa88Cxy7rsHhogItUNTRfyggbh4ziykT7gWkseD\nYwsX4cjrCyA2ryUgOtOpqkYAQHZajMqR+AiCgKxUXyxybEQUvpjQ0wXJ8+cHpfSDQQjNX5nMuHTE\nW+NQ66jHyYayCz+BOqXiq6+x+39nwtPQgIThwzB09t8Q21+ZzcP0xGixoM+DU9Dv0UcgmM0o/3wt\n9j3zHDw2JkjUwusVUVHtW1uUlhytcjQt0pN8sZQyoScViZKg6EE+TOjpguS2l4vSQpfgCYKAQam+\n68ntPqSM0s/W4NDLcyF5PMi4/joM/PMTMEVrJynRgpQrL8fgZ5+GOT4etT/twO4/z4DHZlM7LNKI\nqjoHvKKEpDgrLGaj2uH4pXeLAgCUVTOhJwp3TOjpgo7UFAMA+nfrc4FHBlde8/WOVBeF9LpdSfm6\n9Tj6D9/s+V6T70fvKb+FYAwsITny2DQIoqC7I1Cx/fthyN9egLV7BhqPHcOep/4Kj70p4PNQ+Clr\nroCnJ0epHElrcoW+rErZyWRE56NU/7x8kA9fCTovu6sJ5bZKmA0mZMZlhPTaOQnZAIDjtSUhvW5X\nUbnxGxye9zoAIGfSb9D9FzeoHJH2WdNScdHTM2FJTYHt4CHse+ZZeDWyKRipR66Ap2uo3QYAMro1\nJ/Ss0BOFPSb0dF5Fdb4Z5Nnx3WEyhPar5J4JmRAgoKS+FB4vFyIGk+3oURyaOw+QJPT41S+RedMv\n1A5JNywp3XDRMzMRkZSE+r37cHTBG2qHRCorO+2rgGstoZe/MSg7zYSe1CNKBkUP8uErQed1rMZX\nHc9JyAr5tSPNVqTHpMArenGivjTk1w9XHlsjDrw4C5LbjbRrCpB9x21qh6Q71vR0DPzLkzBERKBi\n3ZcoX7de7ZBIRaXNCXOGxlpuEmOtiDAZUGdzwe5wqx0OESmICT2d1/FaX4U+JzFblevL15U/WFDn\nSJKEQ3PnwVFWjug+vdH7gd+qHZJuRffKQe8HHwAAHP3HG2g8flzVeEg95ae12XJjMAhIa/6QUV7N\nPnpShwjAC0GRg9tKtWBCT+d13F+hVymhb/5mQP5gQZ1T/e1WVH+3FcboKOT96bEuO2M+WNLG/Ryp\nBeMgulw48voCSCLfXrqi0na03AheSbHjmw8fO+d15ZjYdkMU3pjQ0zl5vB6U1JdCgICeCZmqxNAr\nkQtjg8XrdOLYon8CAHr+6m5Y09JUjig89Jr0a5gTEtCw/wAqv/pa7XAoxGx2Fxqb3LBGGBEfo70P\nyHJCX8pJN6QSEQr20DON9eMrQed0or4UXtGL9JgURJqtqsTgr9DXnIAosfrZGSc//BjOyipE9+qF\n9PHXqB1O2DBFRyPnN/cCAI4veRseOxOnrqT0jHYbQdDeJjf+hbGcdEMU1pjQ0zmp3T8PAAmR8Uiw\nxqHJ40CFrUq1OPTO29SEU598BgDo9cCkgGfN0/mljLkKsf37w11Xh4r1X6odDoVQy4QbbS2Ilflb\nbrhbLKlEqf55+SAfJvR0TsW1JwFAtXYbmXz94rpTqsahZxUbvoa3sRGxef0RP2ig2uGEHUEQkDnx\nJgBA6SefQfJ6VY6IQqVMowtiZelJcoWe3xwRhTPNJ/Rutxvz5s3Dtddei2HDhuGGG27AO++8o3ZY\nXYI8KjIrxBtK/aesuO4AwNGVHSRJEk6t+hQA0P1Gbh6llKSRl8CSlgpHWTmqt/2gdjgUIlqdQS9L\na46rotoOr5dtixR6koIz6KUOzqGXc8sJEyZgyJAhGDt2LObNmweXywUAEEURs2fPxpVXXonBgwdj\n4sSJ2LJlSzBflqDTfEL/7LPP4u2338ajjz6KlStX4o477sAzzzyDjz76SO3Qwl6JnNDHq53QpwMA\nTtQxoe+IxmPH4Th1CubEBCSP+pna4YQtwWhE+vhrAQCnN2v7Fz8FT0uFXpstNxazEUlxVnhFCVV1\nDrXDIdKEWbNm4a233sKjjz6Kzz77DE8++STefPNNvPzyy/77ly1bhhkzZmDFihW4/PLLMWXKFBw+\nfFjlyM9N0wm9zWbDBx98gMLCQlxzzTXIzs7Gfffdh/z8fKxcuVLt8MKa3d2E0/YamA0mpEV3UzWW\n7HhW6Duj5oftAICkSy5h77zCkn92KQCgZvuPbLvpIsr8m0pps0IPABnd2EdP6vFKBkWPjli5ciUm\nTpyIgoICZGVloaCgABMnTsSqVatgs9mwdOlSPPTQQxg3bhx69+6NadOmITc3F4sWLQryqxM8mk7o\nY2JisGnTJtxxxx2tbu/WrRtqampUiqprOFlfBgDoHpsGo0HdJDCzuUJ/sqEcIud8B0xO6BNHDFc5\nkvBn7Z4Ba3o6PA0NsB0+onY4pDC3R0RVbRMMApCSqM0KPQCkJXHSDdGZBEGAwdA6BTabzQCA7du3\nw+VyIT8/v9X9+fn52Lx5c8hiDJSmE3oASExMhMVi8f+3w+HAt99+i6FDh6oYVfiT21vO1m7zzYeP\nKbpJyn+KjohCUmQC3F43Kho56SYQktcL2yHfV4TxQy5SOZrwJwgC4ocOAQDU79+vcjSktMoaO0QJ\n6JYQCbNJu2+ncoW+lBV6UoEIQISg0NExd999N1auXIldu3YBAA4dOoRVq1bhrrvuQnFxMQAgKyur\n1XOys7NRWVkJh0ObrWsmtQMI1FNPPYWGhgY88MADaocS1rSyIFaWHZ+B6qZanKgvRXpsqtrh6Iaz\nshKSx4OI5CSYorXbEhBOorJ9U5kcpWUqR0JK0/qCWJl/0s1pTrohAoDCwkJUV1fj9ttvh8lkgsfj\nwV133YUjxwy2AAAgAElEQVTCwkL84x//gCAIrYrJABAV5fs5stlssFrV2ZvnfHSV0M+YMQOrVq3C\n3//+d2RnqzcbvSs4oZEFsbLMuAzsKNuHkrpSXJLJb2faq6k5qbRmaOP/Y1cgv9ZNp7jmI9ydrmsC\n4KvQa5ncDlRdr83KIoU3sRO97u05d0csWLAAq1evxosvvoi8vDwcPHgQL7zwAhITEzWZrLeHLhJ6\nURTx+OOPY+3atXjllVcwduxYtUMKe3LLTbZWKvTNcXBhbGCclb4WJWuqst9qCDpb/3noiUcUO7f8\nWjsrKxW7BmlDrc0JAEiIsVzgkeqKj4kA0BIvUVdWV1eHuXPn4sknn8RNN/n2D+nfvz8cDgeeeuop\nPPjgg5AkCXa73V+VB4CGhgYAQGxsrCpxX4guEvqnnnoKX375JRYtWoQRI0aoHU7Yc3icqLRXw2gw\nIi0mRe1wALR8U8CEPjCS2zdT12DVdsIRTuTXWnK7VY6ElFbf6Pv5khNmrYpv/sBRz4SeVCBKAkRJ\nmR1dO3Le4uJieDwe9OrVq9XtPXv2hNfr9Vfoi4uLkZeX57+/qKgIGRkZbVpxtEK7q3iavf/++/j4\n448xf/58JvMhUtVYDQBIjUpWfcKNTP5gUdkcG7WP1HaNsSIOPfEIBBG6OUJBEkP04pNq5Ip3XLQ2\n3+Bl0VYzDAYBjQ4P3B6dfZ1GFGTp6b7JecePH291+5EjvslkN954I6xWKzZt2tTq/o0bN2LMmDGh\nCLFDNF2ht9vtmD17Nm677Tbk5OSgqqr1hJNu3dSdjx6uquy+pLlbdKLKkbSIs8TAbDDB5mqEw+2A\n1azPHrdQM5h9P+Ji8+53pDz5tTY0j0Cj8FVv8/2/TojVdkJvMAiIj45ATYMT9Y0uJMdru+efwosX\nBngVqh935LwpKSm45ppr8Oqrr6Jbt27o378/Dh8+jNdffx2XX345UlNTMXnyZCxcuBC5ubno27cv\nlixZgoqKCkyaNEmBP0VwaDqh37NnD+rr6/Huu+/i3Xff9d8uSRIEQcC+fftUjC58yVXwblHJKkfS\nwiAY0C0qCaW2ClTZazSzWFfrIpJ9/w+dFeznDhX5tY7opp2fH1JGXaNcodd2yw3ga7upaXCizsaE\nnkJLUrDlRurgeV988UXMmzcPTz/9NKqrq5GUlIRrrrkGjzziW181depUSJKEmTNnora2FgMGDMDi\nxYvbjLLUEk0n9CNHjmTSrgJ/hT5KOxV6wPeNgS+hr2ZC306R3X2vk6OUaw9CRX6t5deewlddgz4W\nxQJcGEt0psjISEyfPh3Tp08/6/2CIKCwsBCFhYUhjqzjNJ3QkzpaEvoklSNpLbk5Hjk+ujBLaipg\nMMBZdRpehwNGnY7j0pOmk6cAcFRouJMkCXXNi2LjNL4oFgDio7kwltTh2wBKobGVUKbyr0eaXxRL\noScnzCnR2krouzGhD5jBZEJM716AJKFu9x5Fr6X2Qtf2HgefVG5kJQDU7vDtPBjbr6+i1yF1NTk9\ncHtEWCKMsEZovzYW56/Qcz0NUThiQk9tVDVqs0Kf0hwPJ90EJnHEcABAzbbtKkcS/hzlFWg6cQLG\nqCjE5vVXOxxSUJ1NHlmp/XYboKUtqL6RFXoKLa8kKHqQDxN6akUURZxuqgUAJGmuh16u0NeoHIm+\ntCT02yCJIZrZ2EVVf78NAJBw8VAYTNqv2lLHyQti43WwIBYA4poT+jpW6InCEhN6aqXaUQtREpFg\njUOE8dxj9wxeZY5Ny8++QAVgy01HxeT2gSWlG5yVVajZ/qNi1znwv/qYRa8USZJQtvpzAEDy6FHK\nXYg0QV4Qq58Kve+DRx176CnE5I2llDrIhwk9tVLV6Kt+a63dBgCSm78xqLbXQGSlud0EoxEZ118H\nADi18hNlr+XV9rF/hnL987U/7UDTiROISEpCcj4T+nBXp5NdYmXy5ldM6InCExN6akWrE24AIMJo\nRrw1Dl5JRI2jTu1wdCXt6nEwWK2o27ETtiNHFbvOvqcfUT1pP9+hFEmScPLjFQCAjOsnsN2mC5AT\n43iN7xIri/dX6NlyQ6ElwQBRUuaQmMb68ZWgVlp2idVeQg+0zMZn201gTDExSL/2agDAsTf+CUmS\nVI4ovFRv/R51O3bCGB2FtGuuVjscCgG9Loqt46JYorDEhJ5aaZlwo60FsTL20Xdc9h23wxwfj/q9\n+1D51ddqhxM2vE4njr2xGADQ4+5fwhwXq3JEFAr+RbE6abmJjjTDaBBgd3jg9ij4dRXRf/BCUPQg\nHyb01IqWW24Ajq7sDFNMNHJ+cy8A4Pjit+CqUWZakNqLXs917H1Wmf754nfeg7OiAlE5PZEx4VpF\nrkHao7dFsYIgsO2GKIwxoadWKjWe0LeMrmRC3xEpY65C/OCL4K6rw4FZL0PyslLXGae/24pTy1cC\nBgP6/P53EIxGtUOiENHboliAC2NJHZxyExpM6KkVre4SK2tpueEs+o4QDAb0e/SPMCcmoH73HhT9\n6x21Q9KtptIyHPr7KwCAnF/fizhuJNWl6G1RLMCFsUThjAk9+dldTWhyO2AxRiAmIlrtcM5K7u0/\nzZabDotITET/6dMAgwEnP1qOsjVrg3r+Pc9rc9JNMLlqarD36WfhbbQjadTP0P2mXwT3AqRpkiT5\nk+K4dlboNy2frtj+He0Vz4WxpAJJEpSbcsMKvR8TevI7s39eELT5Q9ItOhlAS2sQdUz8oEHoPeW3\nAIAj8xegYsNXQT2/2v3y/3nsfil4/fPu+nrsmfE0HKdOIbpXDvr+10Oa/XkhZTQ5PfB4RVgjjLBG\n6GdEaTx3iyUKW0zoya9S4yMrASA2IhoRRjPs7ibYXU1qh6NrGRPGo+ev7wUkCYfmvorKrzcF7dy7\nZmlr19hgcdfVYc/MZ2AvKkZkVhYGPfUXmKK1+W0WKae+uX8+Nlo//fMAENccb4OdCT2FjghB0YN8\nmNCTX8vISu0m9IIgcHRlEGVNvBnZv7wTEEUcnD0HJcs+CNqMerWTePnYOTs41Xl7cQl2TH8cjUeO\nwpqRjouemQlzfHxQzk364nT7+lz0VJ0HAGuEb9G208XF8EThhgk9+bW03GhzBr2MC2ODK/vO25Ez\n6deAIKB46bs4NGcuRLdb7bA0pfanHdj5+P/AWV6BmNw+uOjZZxCRpO2fE1KOnBBbIvQ11chi9sXr\ncHlUjoS6Eq8kKHqQj77KC6So080JspYr9AB3iw02QRCQedONsKZn4ODsOaj8aiPsxSXo9+gjiMrK\nVDs8VUleL0qWfYCSZR8Aoojk0T9D30cehtGin8kmFHz+hN6ss4RertC7WaEnCjes0JNfvdMGAIi3\nanuny7jm+Bqa46XgSP7ZSAx+/q+wpKWi8egx7HjkMZxcsarLzqpvLCrGzsefRMl7ywBJQtbtt6L/\nfz/GZJ7OaLnRW0Lvq+Gx5YZCSakJN/JBPnwlyK/B5UuQtTqyUhYbEQMAaHA1qhxJ+Inp3QsXz/l/\nSBlzFUSXC8f/uQQ7H38S9uLigM+1Y442xlcGSnS7UfzeMuyYNh22g4cQkZyEQU/PQM977oZg4K9M\namlZCbjlxisF/fh61fR2X17+RoEJPVH4YcsN+dmcvgQ5xqLthD4mIgpAS7wUXKaoKPR75L/Q7bLR\nODJ/AWwHD+GnR6Yj/dqr0f2mG2FNS1U7REWIHg+qvtmME//3EZpOnAAApF17DXJ+fQ8n2VArbLkh\naj9JwR1dOYe+BRN68rO57AB8oyG1LLb5Awcr9MpKunQk4gYNxPE3/4Xyz9ei9NPVKF39Obpdfhky\nb7kJMb17XfAcP73yCIY/+HIIoj277fMvPOHG29SE8nXrcWrFKjgrqwAA1vR05Bb+HvGDL1I6RNIh\nh0vvU264KJZCR8nxkhxb2UJfv41IMR6vB00eBwyCAVHmSLXDOa+Y5pYbGxN6xZmio5E79XfIuO5a\nnPx4BSo3foOqjZtQtXETEi4eisxbb0H84IvOu7FSsHdpba8fFp4/mXfV1qH0089Q9tkaeGy+drPI\nzO7IvOUmpIy5CgazORRhkg7pfcoNK/RE4YcJPQFoSY5jIqI0v+ulXKFny02LWGsqbM7K0F505UfA\n0zMUvYTFYoHT2bFt6oU3pnXsoq/P69jzOmDQoEHYvXt3yK5HwSEnxPprufG95TvYQ08hJCrYcqPU\nefWICT0BaGlf0fqCWKClJYgtNy0u6/+7gJ+zZsczHb6eu74BZavX4NQnn8FTXw8AEIxGxA7IQ+KI\n4UgcMRxRPbI18eHQ09iI2p92omb7dtT88CPcNS37FySOHIGsibcgdkBeh2O9dljHPtR8/uNTHXoe\nqc/Z0UWxKuOiWKLwxYSeALRU6LXePw8A0c2LYhtddoiiCAMnj4ScOS4W2Xfeju4334iK9RtQuXET\nGg4cRP3uPajfvQdFb76NiG7dmpP7YUgYMhjGyNC0ckmSBHtRMWq2/4iaH7ajYd/+VqM3I5KSkDjy\nEnS/YQKievTo9PU+//EpjB/0ZEDPWbPn2U5fl9Sj15YbKxfFkgp8FXpl3qdZoW/BhJ4AAA06mXAD\nAEaDEVHmSNjdTWh02xFriVE7pC7LaLEg47rxyLhuPNwNDb5K+A/bUbv9R7iqqlD++VqUf74WgskE\na0Y6IjMyYE1Pg9X/z3RYUlJgMAX2q0iSJHgabHCUlsJRVg5HWRmaSsvgKCuD49QpuOvqWx5sMCBu\n4ICWbw5yemrimwPSr5Y59Pp6C404o0IvihIMBv4cEIULff02IsW0VOj1kRzHRkTD7m6CzcWEXivM\nsbFIueIypFxxGSRRhO3IUdTKVfKDh9BUcgJNJSfaPtFggDU1BZa0NBgjI2EwmSDIh0GA5PFC9Hgg\neTwQ3W64qqvhKCuDt9F+7lgSE5A4bBgSLxmOhKFDYYpR9oPqmj3PYsKAJ9r12NX7nlc0FlKeo4Nj\nK7/+7L8x9toXlQipXQwGAREmA1weES6PV3cfSEifJCg4tpJTbvz400wA9FWhB3xxljdWocFpQ0Zs\neM5F1zPBYEBs31zE9s1F9p23w2NvgqOsFI7Scn9Vvan5n66qquYqe3lA1zBYrWdU/NN9R3o6IjPS\nEZGczE2gSDF6bbkBfAtjXR4XnC4m9EThhD/NBODMRbFR7Xr816um46rrXlIypPOSe/05utJHXuA6\nofdjF3zs6qOzlA6nDVNUJGJ690ZM795t7hNdLjjKK+AoL4fockGSq/EeLyCKzdV6o69ybzTBnBAP\na0YGzPFxbJ0hVTjdvkWxVl0m9EY02LkwlkKHc+hDgwk9AdBfy01Mc5tNA0dX6p4hIgJR2VmIys5S\nOxSidmlpudHfWyhn0ROFJ/39NiJFyDPdY3XScsPRlaQ5HiZIXYW+W244upJCi3PoQ4NNpgRAX3Po\ngZbWILbctLb66CzA6TznoUa7DVG4aZlyo7+EnqMricITK/QEALA5bQB0VKFvbrnhbrFEFGp63VgK\naGm5cTT/GYiUxgp9aDChJwCAzeUbAaifCj1bbs5l9clX1A6BKKw5Ozi2UgvYckMUnpjQEyRJ8ifG\netgpFmj5JsHmsqkcCRF1NXK7ikWHYx/lUZVsuaFQkRSs0Eus0Puxh57g9DjhET2IMJoRYYpQO5x2\n8S+KZcsNEYWQxyvC4/Xtsmoy6i+ZkCv0DlboicKK/soLFHQNOhtZCZwxtpItN0QUQh6PCAAwGQRd\n7oNgMvrqePKfg0hpWuuhP3nyJMaNGwdBECBJUpv7v/zyS6Snp2POnDlYvnw5ampq0LdvX0yfPh2j\nR48ORtiKYEJPLf3zOlkQC5w55cauciREPqsP+TZaG99tSpv71lQtCHU4pBD57d9g0F8yDwDyZxAJ\nbRMZoq6ge/fu2Lx5c5vb33zzTXzxxRdIS0vDrFmz8NFHH+HZZ59Fr169sHz5ckyZMgUff/wxcnNz\nVYj6wpjQExqaJ9y0d5dYLYg0WWEUDHB6nHB73TAbzWqHRASAyXu4kyt6eqzOA4ChOe6zFCaJFCFC\nuR1dO/I9kyAISE5ObnVbVVUV3nnnHfztb39DU1MTli5disceewzjxo0DAEybNg2bNm3CokWL8Pzz\nzwch8uBjDz3pbpdYwPcDybYbIgo1sTkR1mk+7/8gcrZWA6Ku6uWXX8bAgQMxduxY/PDDD3C5XMjP\nz2/1mPz8/LNW9rWCCT35E3o9tdwALQtjOYueiEJG5xV6OWyRLfQUInIPvVJHZ508eRIrVqzA1KlT\nAQAlJSUAgKysrFaPy87ORmVlJRwOR6evqQQm9IQmtxMAEGmyqBxJYOR4HR6nypEQUVchV+h12kLP\nCj3Rf1i8eDH69euHUaNGAQAaGxshCAIsltY5UVRU89o9mzbHZTOhJ7i8LgBAhFEfIytl8ohNOX4i\nIqW1JML6zOgN/kWxRKEhKVid7+wceqfTiQ8//BD33HNPkP606uGiWILL6wYARAS4sNTgDe5bwobP\n/xTQ4+V45fiJiJQm5/MGnZbDWKGnUNPa2MozffPNN3A6nbjqqqv8t8XExECSJNjtdn9VHgAaGhoA\nALGxsZ26plJ0+iuJgqmjCb3azEzoiSjE9D7lxt9Dz4SeCBs2bMCAAQNaTb3JyckBABQXF7d6bFFR\nETIyMtq04mgFE3o6I6HXWcuNUW65YUJPRKEhJ8L676FXORDqMkQouCi2k61v33//PYYNG9bqthEj\nRsBqtWLTpk2tbt+4cSPGjBnTqespiS03dEYPvb4q9C0tN+yhJ6LQaEmE9ZnR+zeWYkJPXZwoijhx\n4kSbaTZWqxWTJ0/GwoULkZubi759+2LJkiWoqKjApEmTVIr2wpjQU0uF3hRYQr/h8z/h51e/oERI\n7cIeeiIKNUnnc+jljaVEkRk9hYYUhMWr5zt3R9lsNoiiiJiYtnvwTJ06FZIkYebMmaitrcWAAQOw\nePHiNsm/ljChJ7bcEBG1k14TeZmk87GbRMESFxeHffv2nfU+QRBQWFiIwsLCEEfVcUzoiS03RETt\n1NKyos8Kt39RLzN6ChEJne91P9+5yYcJPXVqyo3gCc6b2voNTwT8HLbcEFGo6X1Rqbyol2kQUXhh\nQk9weXS6sVRzQu/0sEJPRKERLotK9Tp2k/RHlAQIGp1DH044tpL8FW6LzlpuLOyhJ6IQ8y8q1WlG\nLy+GZT5PFF5YoacwWBTLCj0RhZZ+e+h9/zQwo6cQkaTOTaO50LnJhxV60u+iWBN76IkotAyGMOmh\nZ0JPFFZYoadOLYpVExfFElGotSyK1WdGr/c5+qQ/7KEPDVbouzhJksKg5YYJPRGFhpw+6HVfJgms\n0BOFI1bouziP6IEECUaDEQaDvj7fcQ49EYVaSx7csYxeCOIngS+/eDzg53BjKQo1re4UG270lcFR\n0HW23Wb9hicgiFKnj45gyw0RhVrLlBuVA+kgSWSFnigcsULfxQWj3Wbd1/+Da0Y93eHnr/32Lx16\nHltuiCjU5EWxXq8+M3pvc0JvYImeQkSSBMV63Vmhb8EKfRen1wk3AFtuiCj0zCYDBAHweEV/cqwn\nTrcXAGAxG1WOhIiCiRX6Lk6vE24AttwQUegJggCL2QiHywuny4Moq75+dzpdzQl9BBN6Cg3fHHrl\nzk0+rNB3cU6Pniv0zS03HlboiSh05GRYrnbrib9Cz4SeKKywQt/F6XVkJQCYjb6/vm7RA1ESYRD4\n+ZSIlGeJMAFw+avdeiLHbGVCTyEiQkDLwFclzk0AE/ouT07oLZ1M6AUVFogZBAPMRjPcXjfcXg8s\nJv19KCEi/ZH7z/WY0DtcHgDsoScKN0zouzg9L4oFfHG7vW64vC4m9EQUEuHRcsO3fwoNCQrOoWeF\n3o89Cl2cW/RV6M2dTOg//34G4BEDPj7/fkanrsuFsUQUanK7ih4r9P5FsazQU4iIzWMrlTrIhwl9\nFyc2j10z6rT/XO6bl7jUnYhCRE6G5fYVPZEr9OyhJwov/M6ti5Pk7ct1umug0Px1m9jBbdiJiAKl\n65YbuYeeCT2FCMdWhoY+y7IUNHJl26DTPjT/9uX8qSaiELE295/rreVGkiS23BCFKVbou7iWCr26\ncXSUHDYr9EQUKi0tN/pK6D1eEaIEmIwGGI2s51GISMotigV76P34E93FtVTo9flXQZB7/1mhJ6IQ\nseh0UayDu8QShS1W6Ls4VuiJiALTktDra1Es221IDZIExSrprOW10GdZloKGPfRERIHxbyyls0Wx\nnHBDFL5Yoe/iOOWGiCgwem25cbLlhlQgSgIExSr0+sxdlMCEvouTC9v6r9CrGwcRdR3ylBu9LYqV\n5+az5YZIfSUlJfB4POjVqxcAoLy8HO+//z7q6upw/fXXY/jw4QGdjy03XZwE0fcveq/QS6LKkRBR\nV6HblhtW6EkF8hx6pQ492rp1K2644QasW7cOAGCz2XDnnXfitddew4oVK3Dfffdh8+bNAZ2TCX0X\nFzYVeiKiELF2ouXmyy8eh+CRgnIEqqWHnl/OE6nplVdewRVXXIHf/OY3AIBly5ahrKwMb7/9NrZt\n24aJEydi/vz5AZ2TCX0XF8wpN4IoBnx0+pr+Cr1OP6YTke7IFW5HB6fcCKLU6WP9hicCvq6DU25I\nBVLzHHqlDj06cOAAfvnLX8JsNgMAvvjiC1x88cUYOXIkAOCGG27AwYMHAzonE/ouTp5yI+i8Qi+x\niZ6IQsRibt4pli03RNQBHo8HVqsVgK/dZteuXRgzZoz/fqPRCKfTGdA5mdCTvvk/kBARhYbVotMp\nN+7mRbFM6CmEJChYodfpu3+PHj2wadMmAMA777wDr9eLq6++2n//zp07kZaWFtA52UjXxem9wi1H\nzV56IgoV/6JYvSX0bLkh0oR7770XTz75JN59913U19fjmmuuQZ8+fQAAK1aswNy5c/Hb3/42oHMy\noe/i5FYbSac96FLzdBu9tgwRkf5EWn1vnbYmt8qRBKaxOd4oq1nlSKir0WeGoZxbb70ViYmJ+Pe/\n/41u3bph0qRJ/vtKSkpw6623YurUqQGdkwl9F9dSodcnVuiJKNTioiIgCICtyQWvKMFo0Mfvnzqb\nCwAQH2NRORKiru3777/HqFGj8POf/7zNfYWFhTh27BjWrl2L8ePHt/uc7KHv4vRfodf3ol4i0h+j\n0YCYyAhIEtDQ6FI7nHara/QtsouPiVA5EupKOOWmrfvuuw/Hjx8/5/2HDh3Ck08+GdA5dVOht9ls\nmDBhAiIiIrB+/Xq1wwkb+u+hb07oWaEnohBKiI1Ag92FOpsTCbH6qHjX2XwJfQIr9ET48ccf8dJL\nL2Hv3r2Ii4vDLbfcgkceeQSCIEAURcyZMwfLly9HTU0N+vbti+nTp2P06NGduua8efMA+IqR7733\nHlJTU9s8RhRFfPnllwHnNbpJ6OfMmYPa2tqz/uGp4+S/LsGo0K/Z8QzGD2r/J8o1e57t9DUlTrkh\nIhXERVsA2PxVbz2QW27iWKGnUJKgXF9vB897+PBhTJo0CQ8++CBmzZqFXbt24YknnkBMTAymTJmC\nWbNm4aOPPsKzzz6LXr16Yfny5ZgyZQo+/vhj5Obmdjjc3bt348cff4QgCFi2bNk5H2c0GvFf//Vf\nAZ1bFwn9rl278MEHH+CGG27A1q1b1Q4nrAiCr+tK/xV6do8RUejIbSt1DTpquWmu0MdHs0JPXdvr\nr7+Oq666Cr/73e8AAJmZmYiLi0NMTAxsNhuWLl2Kxx57DOPGjQMATJs2DZs2bcKiRYvw/PPPd/i6\n8+fPhyiKGDhwIF5//XX069evzWMEQUBSUpJ/Tn17aT6hF0URM2bMwOTJk9UOJSwFs0KvBlboiUgN\n8sJSvVTonW4vHC4vTEYDoqyaf+unMCJJAqBUr7sU+Ao6SZLw1VdftUnM8/PzAQAbN26Ey+Xy//eZ\n969ataoz0QIADAYD1q9fj7S0NJhMwftZ1PxP9dtvvw273Y7f/e53+Mc//qF2OGGHPfRERIGTq9xy\nG4vW+avzMRH8fUkhJWms5ebEiROw2+2wWq14+OGHsW3bNkRFReHee+/Ffffdh+LiYgBAVlZWq+dl\nZ2ejsrISDocj4Or5f8rMzMThw4fx3Xffoa6uDqIotnmMIAh46KGH2n1OTSf05eXlmDt3Ll599VWY\nzZybq4RgT7kRzvKXUkmcckNEakiQW25s+qjQtyT0bLehrq2mpgaSJOG5557D/fffj9///vf4+uuv\n8eKLL6KpqQmAL5m2WFr/rERFRQHwDWnpbEK/cuVKPP7442dN5GVhldA/++yzKCgowKhRo9QOJWxx\nDj0RUeDidNZy459BH80FsRRaSrfcBMrt9m2wduONN+LOO+8EAOTl5eHIkSN4++23cc899wQ1xLN5\n7bXXMGDAADz66KPIzMwMSuuNZhP6DRs24Pvvv8enn37qv02vfd5a1lKhD21lPVhYoSciNfgXxequ\n5YYVeuraoqOjAQADBw5sdfuIESP8PfKSJMFut/ur8gDQ0NAAAIiNje10DGVlZXj11Vfb9Ol3hmYT\n+rVr16Kurg5XXHGF/zZRFCFJEi666CJMnTo14G1xqS2jwTcdxqvThN4reQEABk65IaIQ8i+K1U3L\nDXeJJZVorELfo0cPGAwG1NbWtrpdbn/p378/JElCcXEx8vLy/PcXFRUhIyOjTStOR2RnZ/u/KQgW\nzWZBjzzyCFauXIkVK1b4j7vuugtpaWn+f6fOMxt9axNc3uD8xVq973nA473gsXpfx8c+nUmOO8LI\nNRZEFDp6WxRbz11iiQD4euGHDx+ODRs2tLr9hx9+QI8ePZCfn4/IyEhs2rSp1f0bN27EmDFjghLD\nQw89hPnz5/ur/sGg2Qp9ampqm02kkpOTYTKZ0KdPH5WiCj9yIuz26uNN6T8xoSciNcRGR0AQgAa7\nC16vCKNRs/UxAEAtW25IJVqbcgP4EurJkydjwYIFmDBhAr788kusWbMGM2fOhMViweTJk7Fw4ULk\n5hpcKoEAACAASURBVOaib9++WLJkCSoqKjBp0qSghL13714AwJgxYzBs2DCkpKS0eYwgCHjuuefa\nfU7NJvQUGhajr1rj8gT3q59QEEURHtEDoOWbBiKiUDAaBMRGRaC+0YV6uwuJsZ2beqE0LoolajF6\n9Gj8/e9/x9y5czFv3jykpqZi5syZuO222wAAU6dOhSRJmDlzJmprazFgwAAsXry4zSjLjlqwYIH/\n37/55puzPiasE/rCwkIUFhaqHUZYiQhyy00oucSW6jyn3BBRqMXH+BL6OpseEnpW6ElFGpxpUlBQ\ngIKCgrPeJwiCojnn/v37g35ObX9HSIqLkCv0ekzo/e02rDgRUejpaWFsXSMXxRKFM11V6Cn4Wir0\n+uuhl2Nm/zwRqUFeGFuvg4Wx9TYuiiV1+HrolZpyo8xplTBv3jzceeedSElJwbx58y74+LDaWIqU\np+uWGy6IJSIVyclxrcYr9A6XBw6XF2aTAZEWvu0TqWHevHkYO3YsE3pShiItN97QzLSXF/Ky5YaI\n1BCvk91i689YEMv1RhRyGpxyo4Yz++aV6KFnQt/FseWGiKhj5IkxWp9FL3+DEMf+eSLN8Xq9qKmp\ngcFgQEJCAgyGji1vZULfxRkNRgiCAK8kwit6YTQY1Q6p3dhyQ0RqSojzTbaprnOoHMn51dT74kuI\nZUJPoSdpbKdYrdi8eTPmz5+Pn376CR6PbwS3xWLByJEj8Yc//AFDhgwJ6HxM6Ls4QRAQYYyA0+OE\ny+tGJBN6IqJ2SUuKAgCUVzcG9Lx1X/8Prr7sr0qEdFZl1XYAQHpzvESkrq+//hq///3vkZqail/8\n4hf+jaXKy8vx73//G7/61a/w1ltvYdiwYe0+JxN6QoTRDKfHCafXhUiztmcpn6ml5YY99EQUehnJ\n0QB8CbMkSZrtTy877fvAkdEtWuVIqEtiD30b8+fPx7hx4zB79myYza2Lki6XC4WFhZg7dy4WL17c\n7nNyDj3pdtINK/REpKboSDNio8xwuryobQhsYazgFTt8fLH5zwFdq+y0r0KflsSEnkgL9u/fj9tv\nv71NMg8AERERuOuuu7Bjx46AzsmEnmDxT7rR9sKu/+Sv0JtYoScidaTJVfrmpFmLWKEndQkKH/pz\noW/0rFYrRDGwiYFM6KmlQu9hhZ6IKBBy203p6cD66ENFFCWUV8sVevbQE2lB3759sWrVqnPev3z5\ncvTt2zegc7KHnpSZRR8CLQk9K/REpI705OaFsRpN6KvrHXB7RCTEWripFKmDPfRt/Pa3v8Uf//hH\nHDlyBGPHjkVaWhoA36LY9evX48CBA5g7d25A5+RPN+l2Fj3n0BOR2tI1XqGX4+KEGyLtGD9+PF56\n6SXMnTu3za6xvXr1wpw5c1BQUBDQOZnQExfFEhF1kFyh12oPvfzNgfzBgyjkWKE/qxtvvBE33ngj\nTp06hYqKCgiCgPT0dH+1PlBM6Em/LTceJvREpK50/6JYrVbom2fQM6En0hx54avJZILBYIAkdfwT\nChN6CoOWG/bQE5E6kuMjYTIKqGlwwuHywBqhrbfVMn+Fni03pBLuFNuGy+XC7Nmz8cEHH6CxsXUx\nICEhAXfffTemTp0Ko7H9m322+zfPsWPHsGDBAuzYsQMVFRX417/+hby8PGzYsAEGgwFXXXVV+/8k\npClsuSEi6hijQUBqYhROVTWi/LQdPTPi1A6plTK23JAGdKLwfF76TOeBF198EUuXLsXIkSMxatQo\nJCcnQ5IknD59Gt9++y1ee+012O12/OlPf2r3OduV0O/Zswf33nsvzGYzRowYgWPHjvnv27ZtG5Ys\nWYKFCxciPz8/8D8VqY4JPRFRx6V3i8apqkaUnW7UYEIvt9ywQk+kFZ988gnuv//+sybshYWFePHF\nF7F8+fKAEvp2zaGfPXs28vLysH79erz22mutenymT5+O8ePH47XXXmv3RUlb5I2Z2HJDRBQ4eYJM\nWbW2FsbaHW7UN7oQYTIgKc6qdjjUVUkKHzrkdDpx9dVXn/P+goICOByOgM7ZroR+x44deOCBBxAT\nE3PW+2+77Tbs2bMnoAuTduh2UWxzvBbuFEtEKpJ3YC2r0tbCWLk6n5Ycfd5dKYkotIYMGYJDhw6d\n8/79+/fj4osvDuic7Uro3W43IiMjAzox6UfLTrHBqdCvPjoL8HjOeaw+Oiso13FyDj0RaUBaUnNC\nr7EKvdw/n8H+eVKTvChWqUOHnnnmGXz88cdYunQpTp48CY/HA1EUUV5ejv/7v//DihUrMGPGjIDO\n2a4e+gEDBmDZsmUYNWpUm/tEUcQbb7yB/v37B3Rh0o5Ik++rWLsnsK931Nbk9sUrx09EpAa5P71U\ncxV6Trgh0qJbb70VdrsdO3bswF//+tc290uShAkTJrS6TRAE7N2795znbFdC/8ADD6CwsBClpaW4\n+uqrIQgC1qxZgzVr1mD16tUoKSlhD72OxVp81RubS1tvRhcixxtjYfWJiNQjT5Apr7ZDFCUYDNqo\nGpZxBj1pgQQI3FiqlYKCgqC3wbUroR83bhxeeeUVvPzyy3jppZcAAPPnzwcA9O7dG3PnzsWYMWOC\nGhiFTkyEr3pjc+onoZckCTaX780qxszqExGpJ9JiQkKMBbU2J07XOZCSqI0W1VJW6Ik06YUXXgj6\nOds9h76goAAFBf+/vTuPrqq+/j7+OZnJAGQgAySQYAKJQIEiKlEZU5RKa6X602JbFTG2EieUVp5S\nwQGtFlEQqkIRqqbWqoRCFauAQFpRRgfKJCAECJCEDGQgZLjn+SMkmIYhwz33ngvv11q3S8692WdD\n0bWzs8/+punIkSM6evSoJLXpiFrYR7Bf3cPOpR7Uoa+oPiGH6VA7nwD5eNvrIBcAF5/o8EAVl51U\nbkGZbQr63AJ20MMGrNxG46Edeiu0uBKKjo5WdHS0FbnATRpGbjyoQ1/KuA0AG+kW01479hfp29zj\n6pvUyd3pqOxEtfIKK+Tr46XOEfx3ErjQNaugnzx58nk/YxiGnn766TYnBNcL8av7j31pVblM0/SI\n9Wb133zU5w4A7tS9SwdJ0re5JW7OpE59Ht1i2svbu1kL7QBrWLmNxkO33FihWQV9VlbWOd8PCwuT\nnx+7wD2Vn4+ffL19VV1brZO1VQrw8Xd3SudVWlUm6fRPFwDAneoL+r2HbFLQn8rjklN5AbiwNaug\n37Fjxxmv5+XlaeXKlVq8eLHmzJnj1MTgWiF+QSo8Uayyk+UeUdCXnax7IDaIDj0AG4iPbi/DkA4c\nLVVVda38fL3dms/eUx36hM4U9HAzZuglSR988IGuvPJKhYWFacmSJRo2bJg6dHDev59t+jlcZGSk\nfvazn+mGG27QtGnTnJQS3OG7YzdOUVt79pcTNHToKegB2ECAv4+6dApWrcNUztFSd6fT8JMCOvSA\nPfzmN7/R3r17JdWNsh86dMip8Z2yHiQ5OVkvvPCCM0LBTeofLi09WebmTJqnfgc9IzcA7KJ75w46\nmFemvYdKlBjb0W15VNc4dOBoqQyjboYecCs69JKkiIgITZkyRf3795dpmnrppZfUsePZ/zvR0mdT\nnVLQr1y5Uu3a2WNNF1on2M+zDpcqPfVQbDAdegA2kdClg9Z+cahhft1dco4cV02tqS6dgtTOn7W+\ngB088cQTmj17ttavXy/DMLR161b5+vqe9fMtXVDSrH/Tf/nLX57xek1NjQ4fPqwjR45ozJgxLbox\n7CXE0wr6+g79qR36AOBu9Q/G7nFzQV+/4aZ7F/f9lABoxIM66VYZPHiwBg8eLKlusuWVV15Rr169\nnBa/WQX9wYMHz3jdy8tLoaGhuvHGG3XXXXc5LSm43umRG88o6OvXVgb7cwIiAHuon1ffm1ui2lqH\n29ZF7jpQLOn0NxgA7OX1119XQkKCU2M2q6BftWqVU28K+wnxsNNiy+jQA7CZDsH+igoL1NHCCuUc\nLXXbhpldOUWSpJ5dQ91yf6AR9tA3cfnll+vkyZNavHixNm7cqLy8PHl5eSkqKkqDBg3StddeK2/v\nlm3KYrgOkjzvtFhOigVgRz27hepoYYV27i9yS0F/srpW+3KPy8uQEuMYuQHs6OjRo7r99tu1b98+\n+fj4KCwsTKZp6tNPP9U777yj3r17a+HChQoJCWl2zLMW9M05Hfa7OCnWswX71Y2ueEyHnpNiAdhQ\nz66hWrvlkHbuL9J1g+Jdfv89B4tV6zAVH9OeB2JhC4YNt9wMHz5cubm5ja4ZhqHbbrtNU6ZMkcPh\n0IsvvqglS5aoqKhISUlJmjRpkgYNGuSEpKWZM2eqsrJS8+bN01VXXdXQja+urlZ2drYee+wxvfDC\nC3rssceaHfOs/7Z//vnnbc8YHiP41OiKJzwUW1NboxM1lfIyvBToy3YlAPbRo1vdmMvOU2MvrtYw\nbtONcRvgXO666y6NGzeu0bX6jY0zZszQ4sWLNX36dCUkJGjJkiVKT09XVlaWEhMT23zvf//735o0\naVLDQ7L1fH19NXz4cB07dkwvvfSScwp65uYvLp40clP/TUewX2CL1zoBgJW6d+4gH29DB/NKVVFZ\nrcCAs6+ls8KO/XUFfQ/m52EXNuzQS3XFe3h4eJPrZWVlyszM1COPPKIRI0ZIkiZOnKjs7GwtWLBA\nzzzzTOtvekpJSYliY2PP+n5CQoIKCwtbFNMpj+Bv3bpVP/vZz5wRCm7i9JNiLdQwP8+4DQCb8fP1\nVvcuHWSa0jc5xS6/Pw/EAm2zefNmVVVVKTU1tdH11NRU/ec//3HKPSIjI7Vt27azvr99+3ZFRka2\nKGazB+wKCgqUnZ2tw4cPy+FwNFx3OBxat26dduzY0aIbw16CTs3Ql1dVyOFwyMvLPevWmqOU+XkA\nNtaja6h25RRrR06h+vbo5LL7Fh2vVH7RCbXz91FsVPMfpgNwWk5OjiQ16aDHxcUpPz9flZWVCggI\naNM9rr32Wr344ovy8vLS8OHDFRUVJUk6cuSIPv74Y82ePVu33npri2I2q6D/+uuvNX78eJWU1B1W\nYRiGTNNs+GdfX1/dfffdLbox7MXby1uBvu1UUX1CFdUn2rw9ZvmhlzQq+t6m14/8qU1xpe+M3LDh\nBoANXRofrn/++1t9uatAt6T1dNl9v/gmX5KU3C1U3l6MI8Ie7PhQrFQ3XXLXXXdp586dateunW64\n4Qalp6ervLxchmHI39+/0ecDA+san2VlZW0u6O+//37t2rVLTz31lKZPn97oPdM0NWzYMD344IMt\nitmsgv6FF15QVFSUZs6cqbi4OI0cOVLz5s1TUFCQ3nzzTcXGxuq+++5r0Y1hPyF+QaqoPqHSqnJb\nF8vsoAdgZ/17dpKXl6Ft3x5T+YlqBbVzzRz9xm1HJUmXpUS55H6ApwoPD1dlZaXuvvtuderUSRs2\nbNCMGTN06NAhxcfHW37/du3aacGCBdqwYYM+//xz5eXlyTAMRUdHKzU1VX379m1xzGYV9Nu2bdMz\nzzyjq666quFaZGSkkpOTNWDAAN13332aN2+e0tPTW5wA7CPYP0hHywtUerJMMSEtm91ypdKTdOgB\n2FdwoJ9S4sP0373H9MWufF3Vt7Pl96ytdWjzzjxJ0mWXUtDDRmx4sNQ777zT6Nc9evRQaWmpZs2a\npQkTJsg0TVVUVDR05SWptLRUklq0G/58Bg4cqIEDBzolVrMGpcvLy9Whw+kDMvz8/FRefvrhyVtv\nvVVvv/22UxKC+9Q/ZGr31ZWl39lyAwB2NCC5rimyYfsRl9xvx/4ilZ2oVueIIHWO4KeXQEulpKRI\nUsM4Tf0sfb39+/crJiamySiOXTSroE9ISNDHH3/c8OuoqCht3Lix4dc1NTUtXq8D++ngX/ddZ3Fl\nqZszObeSyuOSTucLAHYz8NJoSdKm7XlyOKwaID5t4/ZT4zZ052E3psWvFvr222/129/+VgcOHGh0\nfevWrfL29taPf/xjBQQEKDs7u9H7a9eu1dChQ1t+Qxdp1sjNbbfdpqlTpyovL0/PP/+8hg8frrlz\n56qiokKdOnXSG2+8oYSEBKtzhcUigurWnBVU2Pubs/r8IoLC3JwJAJxZt+gQRXRsp4LiE9pzqFhJ\ncdaukawv6AcyPw+cU0xMjDZs2KCJEyfqt7/9raKiorR+/XotWLBAN998syIjIzV+/HjNnz9fiYmJ\nSkpK0qJFi5SXl9fkICo7aVZBf8stt0iSiorq9tv+6le/0vr16/Xqq69KksLCwvT0009blCJcJSKw\nrkC2f0Ff9/ewPl8AsBvDMDQwJUrL1+3Txm1HLS3o84oqtO/wcbXz91av7hGW3QdoFZttuQkICNAb\nb7yhmTNn6qGHHlJxcbFiYmJ0991365577pEk3XvvvTJNU9OmTVNxcbFSUlK0cOHCcx4G5W7NKuif\neuopjR49Wv369ZMkhYaGKisrS7t27VJNTY0uueQS284UofnqC+RjNi7oHaZDx04V9OGBHJwC4LQQ\nnzCV1Ra5O40m/jlTGtvCr/H399fJkyfP+J5hTD3r173T9kMsLdGrVy9t3brV3WkAkqQuXbro+eef\nP+v7hmEoIyNDGRkZltw/MzNTaWlpDfvnnaFZBf1bb72lzMxMde7cWaNHj9aoUaOUnJysHj16OC0R\nuF/9CEt+uX0L+pLKUtU4ahTiH6wAH76JBHDa1RFnPojFGedftEblyRqNfWy5qmscen3atQoNadvu\n6rN5YsFn2rDtqDJu7qdrr+xmyT3OZVTSb877meVbn3NBJrAjQ7KuQ++hXnzxRSUnJzu1oG/WQ7Gf\nfvqppk+frqSkJC1cuFA33nijrr/+er388stNngKG54poV9fxPlZRJIfpOM+n3aNhfp7uPACbC/D3\nUZ/EuhGYTadm3J2tsqpGX35TIEm6LMW+64YBnJaenq5Zs2YpPz/faTGb1aHv0KGDxowZozFjxqi8\nvFyrV6/Wv/71L82bN0+zZ89Wr169NHr0aN1xxx1OSwyuF+AboGC/IJVVlev4yTJ1DGjv7pSaOF3Q\nMz8PwP4G9Y7R5h15+mTTQaVd7vzu+WdfH1ZVda16dg1VeId2To8PtJnNZujtYMeOHSorK9OQIUPU\ntWtXhYWFycencUluGIb+8pe/NDtmszr03xUUFKTrr79es2fP1meffabnnntOJSUlevbZZ1saCjbU\nqf7BWJuO3RSU80AsAM9xTb8u8vPx0le7C3S0sMLp8VdsqPsp+YiBcU6PDcAaW7ZsUXFxsaKjo1VV\nVaUjR47o4MGDjV7/u1bzfJrVof9fhw4d0scff6yVK1dqy5YtMk1TgwYNak0o2Ex4UJi+LT6ggopC\nJYbHuzudJvIrjkmSOrGyEoAHCGrnq0F9OmvNloNatSFHP7s22Wmx8wor9NXuAvn5eOma/vbdvoGL\nHB36JlatWuX0mM0u6Hfs2KEVK1ZoxYoV2rlzpwzD0GWXXaYpU6Zo5MiRCgujwLoQ1M+m23V1JSsr\nAXiatMvjtGbLQa3YeEC3/KCnvLxad1z9/1q16YBMU7qyT4yC2/k6JSYA1yspKVFQUFCTsZuWaNZX\njhgxQrm5uTIMQ9///vc1ZcoUXXfddQoPD2/1jWFPnQLr/j+166abY+XM0APwLH0SOymiYzvlFVZo\n694CfS+xU5tjmqaplQ3jNl3bHA+wikGH/ow2bNigl156SV9++aWqq6u1ePFiJScnKysrS1VVVQ1n\nQDVXswr6yMhI3X777bruuusUGclT9Bcyu58Wy5YbAJ7G28vQiIFxevvjXVq6dq9TCvoN247qyLEK\nRXRsp75JbY8HwHU+/fRT3X333YqNjdXNN9+szMzMhvfy8/P1wgsvKCQkRD/84Q+bHbPZe+hxcbDz\nabGVNSdVWlUuXy8ftQ8IcXc6ANBs16cmKOuT3fr8v0f0bW6JEjp3aHUs0zT1t493SpJ+MuQSeTtp\nhAewhCnJtOjvqId26OfMmaMhQ4Zozpw58vLy0ptvvtnwXnp6uvLy8vTnP/+5RQV9i7fc4MLWsOWm\nwn6nLdZ/kxEeGCovg7+6ADxHaPsAXTsoXpL09xW72hRry858fXOgWB2D/d1ykBSAttm+fbvGjh0r\nL68z1zIjR47U7t27WxSTqgiNtA8IkY+Xj0pPlqmy5szHjrsLKysBeLIxQxPl4+2l/3yVqwNHS1sV\n43+78wF+rX+IDnAJ0+KXhzLNsyd/4sQJ+fq27EF3Cno04mV4KTzw9ImxdsKhUgA8WUTHdkq7vKtM\nU3pj+fZWxdi4/ai27ytUSKCvRqXGOzdBAC7Rt29fvfbaa6qqqmryXllZmWbPnq2+ffu2KCbf2qOJ\niMBQHS3LV0FFobq0j3Z3Og0KTu2gj2AHPQAP9X8jemjN5gNa9/Vh/fvLQ7q6b5dmf23ZiWrNfffL\nujhpPRQYwKpK2B9bbprKyMjQHXfcoR/+8IcaMmRIw6mwNTU1Wr16tU6ePKnXX3+9RTGd0qEvLCzU\nvHnznBEKNmDX1ZWM3ADwdJ1C2+nOH/WWJL383lcqKWv+aONrS7fqWEmlenYL1Y+uucSqFAHnYuSm\nicsuu0x//etfFR8fr3feeUemaSorK0sfffSR+vXrpzfffFP9+vVrUcxWd+iPHz+ujz76SB988IHW\nr1+vmJgYpaentzYcbMSuqytZWQngQnDdld307y8O6avdBZr99hf6f3cMlLf3uftr//kqVx+vz5Gv\nj5ceuKU/m20AD/e9731Pf/7zn1VTU6Pi4mJJUmhoqLy9vVsVr0UFfXl5uT7++GMtX75cn376qSTp\nmmuu0R/+8AelpaW1KgHYj11XV9bn0ymIA80AeC7DMHT/Lf11//OfaP22I5qRuUkP3zZAPmcp6td9\nnas/vrFRkvTz61IUF8XaXngOQ/LYTrrVCgsLtX37dhUXF8swDIWHhyslJUXt27dvcazzFvSVlZVa\ntWqVPvjgA2VnZ6umpkaxsbF68sknlZaWpuDg4Fb9JmBfDQW9jUZuHA5Hw0O64e06ujkbAGibqLBA\nPZ4+SFPnrdO/v8xVTa1Dv/5pX4W1D2j4TG2tQx+vz9Eri79SrcPUT4ZcohuHMmoDeLqSkhL97ne/\n06pVq2SaZsPGG8Mw5O3treuvv15Tp05VYGBgs2OetaDft2+fZs2apdWrV6uqqkpXXHGFpkyZopEj\nR+q1115TcXExxfwFqv6h03wbdeiLK4+r1nSog3+I/Hz83J0OALRZcrcwPZE+SI/NW6fPth7Rph15\n+sHlXZUY21GlFVX6cN1+HT5WLkn66bBE3X79pTIMRm3gYXgotonHH39cq1ev1s0336yBAwcqPDxc\npmmqoKBA69ev15IlS+Tl5aVnnnmm2THPWtA//PDD8vb21m9+8xtde+21Cgs7/SDiQw89pFmzZmny\n5Ml64oknWrwrE/YWERgmwzB0rKJI1bXV8vV2//+/h8vyJEmRjNsAuID07BamP953jd78cIfWfX1Y\nH3y6r9H7MRFBuvUHPTRsQBzFPHCBWL16tR5++GHdeeedTd778Y9/rO7du+vll192TkE/ZMgQ3X//\n/Wf9wgceeEBz5szRL37xC82ZM0cRERHNvinszc/bV9FBnXS4LE+HS/PUtWPz16pZ5WDJYUlSbIfO\nbs4EAJyra3R7/b87Lte+w8e1auMBlZSdlL+ft1LiwzS4X5fzPjAL2Bod+ia8vLx06aWXnvX93r17\nn/PgqTM5a0F/rmK+XkZGhvz8/PTTn/5Uc+fOVe/evVt0c9hXlw4xOlyWp4PHD9uioD9wPFeSFNs+\nxs2ZAIA14mPaa9yPerk7DQAWS01N1ZYtW3TFFVec8f3Nmzdr0KBBLYrZ5oOl0tPT5evrq/vvv1+r\nVq1qazjYRGz7aG089KUOnOqMu9uh40ckSbEd7HPQFQAAODcOlqqTm5vb8M933323pk6dquPHj2vY\nsGGKioqSYRjKz8/XmjVrlJ2drRkzZrQovlNOir3zzjv185//3BmhYBNx7etGWw4et0dBf6Ck7l+E\n+rwAAAA8xfDhwxs9B2OaprZt26aFCxc2+axpmho9erS2bdvW7PhOKegl8WDsBSa2Q91oy0EbdOiP\nV5bq+MkyBfj4K5xDpQAAgIeZMGGCpQ+2O62gx4WlS0iUDBk6XJanmtoa+Xi7769K/U8JYtvHsOUB\nAAB4nPvuu8/S+BT0OCM/Hz9FBkfoaFm+DpflKc6N22W+W9ADAAAPwgz9GdXU1Gjv3r06fvz4WTfa\nDBw4sNnxKOhxVnHtY3S0LF8HSg67taA/0LCykoIeAAB4tvXr1+uBBx5QcXGxJDUq6A3DkGmaMgxD\n27dvb3ZMCnqcVWyHGG3M/UoHj+dKGuC2POjQAwDgocxTm26sCO2hHfonn3xSYWFheuSRRxQTEyMf\nn7aX4xT0OKuup7ry+4oPuS0H0zS1r/hgXT4d2XADAAA828GDB/XSSy/p6quvdlpMCnqcVXxonCRp\nf9EBt+VwrKJI5VUVCvELUng7NtwAAOBRmKFvIjExUSdOnHBqTM6Txll1Do6Sn7ev8isKVXay3C05\nfFtc981EfGgcG24AwI5qHed/AWjw6KOPau7cudqyZYvTYtKhx1l5eXmpW4cu+qZwn/YVH1TvqJ4u\nz2HfqZ8OxHeMdfm9AQBAG9GhbyIhIUGdO3fW2LFjFRAQoNDQ0CZNS8MwtGLFimbHpKDHOXULjTtV\n0B9wS0H/7an5+YRT4z8AAACebNKkSVq3bp0GDBig6OhopxzOSkGPc0roWFdI7ys66Jb772/o0FPQ\nAwDgaQxZt+VG8swm/ebNmzVlyhSNHTvWaTGZocc5xYfWjbrUz7K7UtnJcuVXFMrP21edQ6Jcfn8A\nAABnCw0NVUJCglNjUtDjnLp26CLDMHTo+BFV1Va79N716yq7degiLy/+qgIA4HFMi18e6Ne//rX+\n8pe/qKqqymkxPWLkZsuWLXruuee0bds2tW/fXjfeeKMeeughtp64gL+PnzqHROnQ8SPKKT6kU5VY\nLwAAHG5JREFUxPB4l91736mfCnRjfh4AbGv53hka1fXBs7+f86ILs4HdGBYeLCWzbTV9WVmZRo0a\nJT8/P61cuVKS5HA49OKLL2rJkiUqKipSUlKSJk2apEGDBjknZ0kHDhxQcXGxrrnmGvXv31+hoU3X\nchuGoaeffrrZMW1f0O/evVvjxo3Tr371K82YMUNff/21Jk+erODgYKWnp7s7vYtCUliCDh0/oh0F\ne1xa0G/P3y1JSgxz3T0BAMDF4cUXX1RxcbEiIyMbrs2YMUOLFy/W9OnTlZCQoCVLlig9PV1ZWVlK\nTEx0yn3nzZvX8M+rV68+42cuuIL+5Zdf1pAhQ3TPPfdIkrp06aL27dsrODjYzZldPHpH9dTqfeu0\nNW+nRvcc4ZJ7OhwObcvb1XB/AADggWy6tvLrr7/Wu+++q9GjR2v9+vWS6jr2mZmZeuSRRzRiRF29\nM3HiRGVnZ2vBggV65plnnJG1duzY4ZQ432Xrgt40Ta1evbrJH2BqaqqbMro49YrsIUnanveNah21\n8vbytvye+4oPqLz6hCKDwhUZFG75/QAAwMXB4XBo6tSpGj9+fKPrmzZtUlVVVZM6MzU1VcuWLXNl\nii1m64L+4MGDqqioUEBAgB544AFt3LhRgYGB+sUvfqFf/vKX7k7vohEeGKqY4EgdLsvT3qIcJYU7\n98nsM9mat1OS1DuS7jwAAB7Lhh36N954QxUVFbrnnnv06quvNlw/cKDu2b3Y2MaHWcbFxSk/P1+V\nlZUKCAhodbr15syZc97PGIahCRMmNDumrQv6oqIimaapp59+Wnfeead+/etfa82aNXr22WdVWVnJ\nDL0L9YrqqcNledp6dKdrCvqjdQV9Lwp6AADgJEePHtXs2bM1d+7cJgc6lZeXyzAM+fv7N7oeGBgo\nqW4kx+qC3jAMmaZ5YRX01dV1axJ//OMf65ZbbpEkJScna8+ePXr99dcp6F2od2RPrdiTrf/m7dKN\nl15n6b1qHLXaXrBHktQrqoel9wIAANaxestNS02fPl1paWm68sornZ9PM9Vv1Pku0zSVn5+vlStX\natu2bXr++edbFNPWBX1QUJAk6dJLL210fcCAAVq2bJmOHTum8HDmq12hV2SSJGlHwW5V11bL1/v8\nxxSbNTWtuteewn06WXNSXUKiFdauY6tiAAAAfNcnn3yiDRs26P3332+4ZpqnvysIDg6WaZqqqKho\n6MpLUmlpqSQpJCTEKXl06dLljNdjY2PVv39//elPf9Izzzyj5557rtkxbV3Qd+3aVV5eXiouLm50\n3eFwSBKbblyoQ0B7xXXorAMlufrm2D5deqrAt0LDuA3deQAAPJuNZug/+ugjlZSU6Jprrmm45nA4\nZJqmevfurXvvvVeSlJOTo+Tk5IbP7N+/XzExMU1Gcaxy+eWXa9GiRS36GlsX9IGBgfr+97+vTz75\nRD/5yU8arm/atEldu3Z12R8s6vSO7KkDJbnamrezWQX9hwXzzvuZM+GBWAAA4GwPPfSQ7rrrrkbX\nMjMztWrVKr322msKDAzU/PnzlZ2d3aigX7t2rYYOHeqyPL/44osWH55q64JekiZMmKDx48dr3rx5\nGjVqlFatWqUPP/xQ06ZNc3dqF53eUT21/JtP9N9T++GtUFVbrV0FeyVJl0bSoQcAwKPZqEMfGRnZ\n6BApSQoPD5ePj48uueQSSdL48eM1f/58JSYmKikpSYsWLVJeXp7GjRvnrKw1efLkM16vqalRbm6u\ntmzZorS0tBbFtH1BP2jQIM2aNUuzZ8/WnDlzFBkZqWnTpummm25yd2oXnUs7JckwDO06tleVNScV\n4OP8n5DsKtirakeNunWMVXt/RqoAAIDr3HvvvTJNU9OmTVNxcbFSUlK0cOHCJqss2yIrK+uM1w3D\nUPv27fWjH/1IkyZNalFM2xf0kpSWltbi71TgfEF+gboktJt2F+7TV0e26/LYfk6/x8bcryRJfaKS\nz/NJAGhs+ZE/6bqIxtvPWjv6B8A5DFm45cYJMjIylJGR0fBrwzCaXHM2K06K9XJ6RFzQrojtL0la\nd2CT02M7TIc+P7BFknTlqfsAAADg3DyiQw/7GBT3fWV+laVNuV+rqqZKfj5+Tou9+9g+HTtRpPB2\noUoMj3daXAAA4CY2mqF3pyVLlrT4a767EOZ8KOjRIpHBEeoe2lV7i3L0xZFtTh27WXdgsyTpirj+\n8jL44RGAlmPEBoAdPfroo8363He321DQw1JXxn1fe4ty9NmBzU4r6B2mQ58drCvoB8V93ykxAQCA\ne9ntpFh3ac7cfGFhoWbMmKGsrCx17969RfFpg6LF6gvujblfqaqmyikxdx/bp2MVRQpr11FJ4QlO\niQkAAGB3pmkqMzNTo0aN0kcffaRJkybpH//4R4tiUNCjxaKCO6l7aFdV1pzUZwe3OCXmJ9+uk1TX\n/WfcBgCAC4Rp8cvDbdq0STfeeKOefPJJDRkyRMuXL9e4cePk49OyIRoqJ7TKDy6pOzb5w29WtzlW\n2clyZe//XJKUdsnVbY4HAABgZwUFBZo0aZJ+/vOfyzAMZWZm6rnnnlOnTp1aFY+CHq1ydbfLFewX\npN2F+/TNsW/bFGvVt/9RVW21+kanKLZ9jJMyBAAAbkeHvpHa2lotXLhQ1113ndauXavf//73Wrx4\nsQYMGNCmuBT0aBV/Hz+N6H6VJGn5rk9aHcfhcOhf36yRJI1KGuaU3AAAAOxm3bp1uuGGG/THP/5R\nP/zhD/Xhhx9q7NixjTbbtBYFPVptZOJgGYahdQc2qehESatibMz9SvkVhYoK7qR+Mb2cnCEAAHAn\nw+KXp3jggQc0btw4BQcH691339UTTzyh0NBQp8VnbSVarVNQuC7v0k+fH9yid/77vtIvG9uir691\n1OrvW/8pSboucQgPwwIAcKHhYClJ0r/+9S9JUl5enu67775mfc3KlSubHZ+CHm1yS58faeOhL7Vy\nz7/1g0uuUUJoXLO/dsWefyun5JA6BYU3PGQLAABwocnIyLA0PgU92iS2fYyuTRqqD3at0sLNb+vx\n4Q83axas9GSZ/rZ1qSTp9n43yc/Hz+pUAQCAq1l4sJTpQR16qwt6ZhzQZjf3ul7t/YO1o2CP1uz7\nrFlfk/lllsqrKtQnqqcGdulrcYYAAAAXLgp6tFmQX6DGfu9GSdL8jX/V9vxvzvn5f+5coVXffipv\nL2/d0f//nPJ0NwAAsCHWVroEBT2cYljCII1MHKxqR42ey35ZB0sOn/Fzn+Zs1OtfvCdJyrjidsV1\n6OzKNAEAAC44zNDDKQzD0Lj+t6joRIk2HPpSk1c8q58kj9Tonmny9/FTYUWx/vb10oaRnJ/3HaOr\nug50c9YAAKeorXV3BrAzOumWo6CH03h5eemBK8dp9ucLtf7gF3p76zIt3fGxQvyDVHiiRDWOGnl7\neeunl47Sj3qmuTtdAACACwIFPZzKz8dPj1x1j/6bt0uvb3lX3xYf0ImaSknS5bH99PPv3ajokEg3\nZwkAAFzBsHDLjVVxPREFPSzRK7KHnhn5qEpPlqmiulLt/YMV5Bfo7rQAAAAuOBT0sIyX4aUOAe3V\nIaC9u1MBAADuwEmxLsGWGwAAAMCD0aEHAACAJZihdw069AAAAIAHo0MPAAAAazBD7xJ06AEAAAAP\nRoceAAAAlmCG3jXo0AMAAAAejA49AAAArMEMvUvQoQcAAAA8GB16AAAAWIMOvUvQoQcAAAA8GB16\nAAAAWMKQhVturAnrkejQAwAAAB6MDj0AAACswQy9S1DQAwAAwBJ1B0tZU3lzsNRpjNwAAADgolFa\nWqqnnnpKQ4cOVe/evfWDH/xAL7/8csP7DodDM2fO1ODBg9WnTx+NGTNG69atc2PG50eHHgAAANaw\n4cjNgw8+qNzcXD377LPq0qWL1qxZo6eeekrt2rXTHXfcoRkzZmjx4sWaPn26EhIStGTJEqWnpysr\nK0uJiYnO/T04CR16AAAAXBSOHDmirVu36ne/+52uuOIKxcbG6rbbblNqaqo+/PBDlZWVKTMzUxMm\nTNCIESPUvXt3TZw4UYmJiVqwYIG70z8rOvQAAACwRN0MvXWxWyo6Olqff/75Gd/z8fHR5s2bVVVV\npdTU1EbvpaamatmyZa1J0yXo0AMAAOCiVFNTo/fee0+bNm3SXXfdpZycHElSbGxso8/FxcUpPz9f\nlZWV7kjzvOjQAwAAwBo2nKGvd+utt+qrr75SWFiYZs6cqWHDhunVV1+VYRjy9/dv9NnAwEBJUllZ\nmQICAtp2YwtQ0AMAAOCiM2vWLBUVFWnFihV68MEHNX36dHen1GoU9AAAALCE3WbovysqKkpRUVFK\nTk5WeXm5nnrqKd1///0yTVMVFRUNXXmpbtWlJIWEhLTtphZhhh4AAAAXhdzcXC1btkwOh6PR9R49\neuj48eMKDg6WaZoNs/T19u/fr5iYmCajOHZBQQ8AAABrmBa/Wmj//v2aNGmSNmzY0Oj6zp07FRAQ\noLS0NLVr107Z2dmN3l+7dq2GDh3a8hu6CCM3AAAAuChcccUV6tOnjx577DFNmTJF8fHx+uyzz/S3\nv/1NN910k4KCgjR+/HjNnz9fiYmJSkpK0qJFi5SXl6dx48a5O/2zoqAHAACAZayaoW8NLy8vvfrq\nq3r++ec1efJklZWVKTY2Vvfdd5/uuOMOSdK9994r0zQ1bdo0FRcXKyUlRQsXLmyyytJOKOgBAABw\n0QgLCzvnRhvDMJSRkaGMjAwXZtU2FPQAAACwho330F9IeCgWAAAA8GB06AEAAGAJO++hv5DQoQcA\nAAA8GB16AAAAWMM0615WxYYkOvQAAACAR6NDDwAAAEswQ+8adOgBAAAAD0aHHgAAtE1t7RkvLz/y\nJxcnAtthD71LUNADAADAEoaj7mVVbNRh5AYAAADwYHToAQAAYB1GYyxHhx4AAADwYHToAQAAYAnW\nVroGHXoAAADAg9GhBwAAgDVMs+5lVWxIokMPAAAAeDQ69AAAALAEM/SuQYceAAAA8GB06AEAAGAN\nU9btoadD34AOPQAAAODB6NADAADAEszQuwYdegAAAMCD0aEHAACANdhD7xJ06AEAAAAPRoceAAAA\nlmCG3jXo0AMAAAAejA49AAAArEMn3XJ06AEAAAAPRoceAAAA1rBwhp7O/2l06AEAAAAPRoceAAAA\n1nCYdS+rYkMSBT0AAACsYsq60Rjq+QaM3AAAAAAejA49AAAALMHBUq5Bhx4AAADwYLYv6KurqzVn\nzhyNGjVK3/ve9zRs2DDNmTNHVVVV7k4NAAAA52Ka1r5aob62vPbaa9W/f3+NHj1af/3rXxvedzgc\nmjlzpgYPHqw+ffpozJgxWrdunbP+RCxh+5GbGTNmKCsrS08//bSSk5O1Y8cOTZ48WeXl5frtb3/r\n7vQAAADgQaZPn67ly5frySefVEpKij755BM9+eSTCggI0JgxYzRjxgwtXrxY06dPV0JCgpYsWaL0\n9HRlZWUpMTHR3emfke079EuXLtWYMWOUlpam2NhYpaWlacyYMVq2bJm7UwMAAMA51M/QW/VqqbKy\nMr377rvKyMjQyJEjFRcXp1/+8pdKTU3V0qVLVVZWpszMTE2YMEEjRoxQ9+7dNXHiRCUmJmrBggXO\n/wNyEtt36A3DkJdX4+87fH193ZQNAAAAPFVwcLCys7MVGBjY6HpERIR27NihzZs3q6qqSqmpqY3e\nT01NtXUz2fYd+rFjx2rp0qX6+uuvJUnffPONli1bpltvvdXNmQEAAOC8TIterRQaGip/f/+GX1dW\nVuqzzz5T3759lZOTI0mKjY1t9DVxcXHKz89XZWVl629sIdt36DMyMlRYWKibb75ZPj4+qq2t1S23\n3KKMjAx3pwYAAAAP9/jjj6u0tFR33323PvjgAxmG0ajgl9TQ0S8rK1NAQIA70jwn2xf08+bN0/Ll\ny/Xss88qOTlZu3bt0h/+8AeFhobqgQcecHd6AAAAOAvDNGW0chtNc2K31dSpU7Vs2TLNmjVLcXFx\nTsjKPWxd0JeUlGj27Nn63e9+pxtuuEGS1LNnT1VWVurxxx/X7bffro4dO7o5SwAAAHgSh8OhRx99\nVB999JFeeuklDRs2TFLdjL1pmqqoqGg0Z19aWipJCgkJcUu+52PrGfqcnBzV1NQoISGh0fVu3bqp\ntrZWBw8edFNmAAAAOC+Hxa9Wevzxx7Vq1SotWLCgoZiXpPj4eElqmKWvt3//fsXExDQZxbELWxf0\n0dHRkqR9+/Y1ur5nz55G7wMAAADN8fbbbysrK0uvvPKKBgwY0Oi9AQMGKCAgQNnZ2Y2ur127VkOH\nDnVhli1j65GbTp06aeTIkZo7d64iIiLUs2dP7d69Wy+//LKuvvpqRUREuDtFAAAAnIXdZugrKio0\nc+ZM3XTTTYqPj1dBQUGj9yMiIjR+/HjNnz9fiYmJSkpK0qJFi5SXl6dx48Y5K3Wns3VBL0nPPvus\n5syZoyeeeEKFhYUKCwvTyJEj9dBDD7k7NQAAAHiQ//73vzp+/LjeeustvfXWWw3XTdOUYRjavn27\n7r33XpmmqWnTpqm4uFgpKSlauHBhk1WWdmL7gr5du3aaNGmSJk2a5O5UAAAA0BJt3Bl/3tgtNHDg\nQG3fvv2cnzEMQxkZGR61It3WM/QAAAAAzs32HXoAAAB4KFOSRTP0lnX+PRAdegAAAMCD0aEHAACA\nJQyz7mVVbNShQw8AAAB4MDr0AAAAsIhp3Qw9Q/QNKOgBAABgCcMhGYZ1sVGHkRsAAADAg1HQAwCA\nNll+5E8ya2qavACZprUvSKKgBwAAADwaM/QAAACwhinrnl2lQd+ADj0AAADgwejQAwAAwBKGacqw\naNbdqrieiA49AAAA4MHo0AMAAMAaVm6joUPfgA49AAAA4MHo0AMAAMAapiSrTnSlQd+ADj0AAADg\nwejQAwAAwBoWbrlhhv40OvQAAACAB6NDDwAAAGuw5cYl6NADAAAAHowOPQAAAKxBh94l6NADAAAA\nHowOPQAAAKxh1Q56q2N7GDr0AAAAgAejQw8AAABLGKYs20NvMELfgA49AAAA4MHo0AMAAMAabLlx\nCQp6AAAAWMTCgl4U9PUYuQEAAAA8GB16AAAAWMM0ZVknnZGbBnToAQAAAA9Ghx4AAADWcEgyLIpN\ng74BHXoAAADAg9GhBwAAgCUM05RhUSvdqgOrPBEdegAAAFw0TNPU7NmzlZKSojlz5jR6z+FwaObM\nmRo8eLD69OmjMWPGaN26dW7KtPko6AEAAGCN+oOlrHq1UFFRkcaPH6/3339f3t7eTd6fMWOG/v73\nv2vq1Kn6xz/+oauvvlrp6enavXu3M/40LENBDwAAgIvC0qVL5evrq/fee09eXo3L4LKyMmVmZmrC\nhAkaMWKEunfvrokTJyoxMVELFixwU8bNwww9AAAArNHKTnozg7f4K9LS0nT77bef8b3NmzerqqpK\nqampja6npqZq2bJlrcrQVejQAwAA4KLQpUuXs76Xk5MjSYqNjW10PS4uTvn5+aqsrLQ0t7agQw8A\nAABrWHlSrEyn7rgvLy+XYRjy9/dvdD0wMFBS3UhOQECA827oRHToAQAAAA9Ghx4AAADWMBv+xxpO\n7NAHBwfLNE1VVFQ0dOUlqbS0VJIUEhLivJs5GR16AAAAXPTi4+MlnZ6lr7d//37FxMQ0GcWxEwp6\nAAAAWMNme+jPZcCAAQoICFB2dnaj62vXrtXQoUOdei9nY+QGAAAAF4WSkhJVV1fLPPXNQEVFhQoK\nCiRJYWFhGj9+vObPn6/ExEQlJSVp0aJFysvL07hx49yZ9nlR0AMAAMAaDou33DQ97PWcMjIytHHj\nxoZfL1y4UK+99poMw9DKlSt17733yjRNTZs2TcXFxUpJSdHChQubrLK0Gwp6AAAAXBTeeOON834m\nIyNDGRkZLsjGeSjoAQAAYA3TIclhUXCr4noeHooFAAAAPBgdegAAAFjD6pNiIYkOPQAAAODR6NAD\nAADAGhbsi29g0KGvR0EPAAAAa1hZ0DNy04CRGwAAAMCD0aEHAACANUxZ2KFHPTr0AAAAgAejQw8A\nAABrMEPvEnToAQAAAA9Ghx4AAADWcDgk02FNbMOiuB6IDj0AAADgwejQAwAAwBrM0LsEHXoAAADA\ng9GhBwAAgEUs7NAbdOjr0aEHAAAAPBgdegAAAFjDYda9LEGHvh4degAAAMCD0aEHAACAJUzTlGnR\nHnrTsu05nocOPQAAAODB6NADAADAGszQuwQdegAAAMCD0aEHAABt9mHBPHenADuy8qRYZugb0KEH\nAAAAPBgdegAAAFjDdEgOa7bcyLAorgeiQw8AAAB4MDr0AAAAsAYz9C5BQQ8AAABLmA6HTItGbkxG\nbhowcgMAAAB4MDr0AAAAsIYpC0durAnriejQAwAAAB6MDj0AAACs4TDrXlYwaNHXo0MPAAAAeDA6\n9AAAALCG6ah7WRUbkujQAwAAAB7NrQW9aZqaPXu2UlJSNGfOnEbvORwOzZw5U4MHD1afPn00ZswY\nrVu3zk2ZAgAAoMVMU6bDmldbtucsWrRIaWlp6tOnj66//nq9//77TvxNu57bRm6Kior0yCOP6ODB\ng/L29m7y/owZM7R48WJNnz5dCQkJWrJkidLT05WVlaXExEQ3ZAwAAABPl5mZqZkzZ+qJJ55Qv379\ntGbNGk2aNEkdO3bUVVdd5e70WsVtHfqlS5fK19dX7733nry8GqdRVlamzMxMTZgwQSNGjFD37t01\nceJEJSYmasGCBW7KGAAAAC1SP0Nv1asV5s2bp7Fjx+onP/mJ4uPjdfvtt2v48OF65ZVXnPybdx23\nFfRpaWl65ZVXFBwc3OS9zZs3q6qqSqmpqY2up6am6j//+Y+rUgQAAMAFZM+ePTp69OgZa8z6+tMT\nua2g79Kly1nfy8nJkSTFxsY2uh4XF6f8/HxVVlZamhsAAADazqr5+YY5+hbKycmRYRhN6tC4uDg5\nHA4dOHDAWb91l7Lllpvy8nIZhiF/f/9G1wMDAyXVjeQAAAAALVFeXi7pdE1Zz9NrTPbQAwAAwBI1\n3lVt2kZz7tjVlsT1RLYs6IODg2WapioqKhp9B1VaWipJCgkJcVdqAAAAOI/g4GB16NBBedpj6X06\ndOhwxucxz6a+hvzfTnz9r1sSy05sWdDHx8dLqptzSk5Obri+f/9+xcTENBnFOZ/o6GitXLlS0dHR\nzkwTAAAAZ9CxY0d99NFHlo+wBAcHq2PHjs3+fLdu3WSapnJycpSUlNRwfd++ffLx8VHXrl2tSNNy\ntizoBwwYoICAAGVnZzcq6NeuXauhQ4e2OJ6Pj0+TB2wBAABgnY4dO7ao2HaF+Ph4xcXFKTs7WyNG\njGi4vmbNGg0aNEi+vr5uzK713FbQl5SUqLq6WuapuaqKigoVFBRIksLCwjR+/HjNnz9fiYmJSkpK\n0qJFi5SXl6dx48a5K2UAAAB4uAkTJuj3v/+9+vXrp8svv1z//Oc/tX79emVmZro7tVYzTNOiJxXO\n4xe/+IU2btzY6JppmjIMQytXrlRMTIzmzp2rd955R8XFxUpJSdHkyZPVt29fd6QLAACAC8Rbb72l\nBQsWKC8vT/Hx8Xr44Yc1ZMgQd6fVam4r6AEAAAC0nS330AMAAABoHgp6AAAAwINR0AMAAAAejIIe\nAAAA8GAU9AAAAIAHo6AHAAAAPBgFPQAAAODBKOgBAAAAD0ZBDwAAAHiw/w+FkJIAI85IVwAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clusterer.condensed_tree_.plot(select_clusters=True, selection_palette=sns.color_palette())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the clusters it is a simple enough matter to turn that into cluster labelling as per the sklearn API. Any point not in a selected cluster is simply a noise point (and assigned the label -1). We can do a little more though: for each cluster we have the $\\lambda_p$ for each point *p* in that cluster; If we simply normalize those values (so they range from zero to one) then we have a measure of the strength of cluster membership for each point in the cluster. The hdbscan library returns this as a `probabilities_` attribute of the clusterer object. Thus, with labels and membership strengths in hand we can make the standard plot, choosing a color for points based on cluster label, and desaturating that color according the strength of membership (and make unclustered points pure gray)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nl2dmNvd4LlIucbDb7SoqKkp0GAvabO5xU1OTcnJy5HA4QsorKirU0NAQy/AWjIaGBpWVlYWUOZ1O\n5eXlqb6+PjFBpbDGxkaZTKZJ97SiokLBYFBNTU2TruFvMHOzuc+YuQ/e32joyzM303uM2cnJyVFa\nWtrEzz6fT6+99prWrVs3ZXv68szN9B7PRcolDnPx1FNP6TOf+Yyuu+46bd++PeqiSUyfx+OR0+mc\nVO5yuTQ8PJyAiJLfXO4ZfXkyj8cj6cL9u9zFn6e6p/TbmZvNfZYubJ7w4IMP6hOf+IQ2b96sXbt2\n8VAhhujL8UE/nrvvfe97Ghoa0p133jllPX157qLdY2n2fTmpFkfX1dXpjjvukMlkClmsIV1YsHHn\nnXfqrrvumvHvtVgsys/PVzAY1O7du2WxWPTUU0/p7rvvlt/v1/bt22P1T0h683WPESraff7KV74y\nq99LX0YqcrlccrlcWrFihW6//Xa1t7dr7969uvXWW/X0008rJycn0SECUdGP5+673/2unnrqKf3k\nJz9RRUVFosNZkKZzj+fSl5MqcVi/fr2eeeaZsPWz3TWmuLhYL7/8ckjZ6tWrdfr0af3sZz9bVF+2\n5useu93uKZ8EDA0NKSMjY1a/M5VFu88ZGRl64oknZnzP6MvhXbxnH7ynF3+eah5zRkYG/XaGZnOf\nd+zYoR07dkz8vGzZMtXW1uqGG27Q7373O33ta1+bx4gXB/ry/KMfz14wGNS9996rv/zlL9q3b58+\n8pGPhG1LX56dmdzjufTlpEoc7HZ7XDPQlStX6s0334zb6yWD+brH1dXVGhgY0PDwcMgXh4aGBi1Z\nsiTmr5fspnOfq6qqJs0HHxwcVF9fn5YuXTqj11uMffmDqqqqZBiGGhsbVVtbO1FeX18vq9WqysrK\nKa+J1d9gsZjNfZ5KUVGRsrOz1dXVNV+hLir05cSgH0/P9773Pf31r3/V448/ro0bN0ZsS1+enZnc\n46lMty8vijUOzz33nL7zne9MKj9+/LhqamoSENHCc3Hv9hdffHGizOv1qq6uTjfccEOCokpu27Zt\n05EjR0J2oXn++edlsVh0/fXXT3kNfTm86upqVVRU6KWXXgopf+GFF7R582bZbLZJ18zmb7DYzeY+\nP/roo3riiSdCylpbW9XX17fo+22s0JfnH/14dn73u9/pySef1GOPPTatL7T05Zmb6T2eS19OucRh\ndHRU3d3d6urqks/nUzAYVHd3t7q7u+X1eiVJx44d0z/8wz/ovffek3Rhesfvf/973XPPPTp58qTO\nnTunPXv2qK6uLuLCkcVqNve4rKxMn/70p/Xoo4/qyJEjqq+v1/333y+n06nPfe5zifznJK3bbrtN\nFotF999/vxoaGvS3v/1Ne/bs0ec//3kVFBRIoi/P1M6dO3Xo0CH97//+r1pbW/Xzn/9cdXV12rlz\npyRpz549+pd/+ZeJ9tP5G2Cymd5nwzD0gx/8QIcOHVJTU5Nef/11/du//ZuKiop0yy23JOqfkdQG\nBgYm3oelCw9iLr4PB4NB+nIMzPQe049nzuv1au/evfrMZz6j6urqift78T+J9+W5ms09nktfNhkf\nXLmZ5J588kndd999U55ut3PnTu3atUt1dXX60pe+pIMHD06cRXDkyBHt27dPJ0+elM/n07Jly3Tn\nnXfq5ptvjvc/IenN9h6PjY3pkUce0R//+Ed5vV5t3LhR3/nOdxblVKXpOnXqlL7//e/r2LFjcrvd\n+tSnPqW77rprYv9q+vLM/fd//7cef/xxdXZ2qrq6Wnfffbc+/OEPS5Luu+8+HT16VH/+858n2kf7\nG2BqM7nPhmHoP//zP/Xkk0+qtbVVDodDmzdv1t13380CyTC++MUv6vXXXw8pMwxDJpNJzz77rPbt\n20dfnqOZ3mP68cwdOXJEd9xxx6Tyi/f5vffe4315jmZzj+fSl1MucQAAAAAQfyk3VQkAAABA/JE4\nAAAAAIiKxAEAAABAVCQOAAAAAKIicQAAAAAQFYkDAAAAgKhIHAAAAABEReIAAAAAICoSBwAAAABR\n/f9wlipLCZZ3mgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "palette = sns.color_palette()\n", "cluster_colors = [sns.desaturate(palette[col], sat) \n", " if col >= 0 else (0.5, 0.5, 0.5) for col, sat in \n", " zip(clusterer.labels_, clusterer.probabilities_)]\n", "plt.scatter(test_data.T[0], test_data.T[1], c=cluster_colors, **plot_kwds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And that is how HDBSCAN works. It may seem somewhat complicated -- there are a fair number of moving parts to the algorithm -- but ultimately each part is actually very straightforward and can be optimized well. Hopefully with a better understanding both of the intuitions and some of the implementation details of HDBSCAN you will feel motivated to [try it out](https://github.com/lmcinnes/hdbscan). The library continues to develop, and will provide a base for new ideas including a near parameterless Persistent Density Clustering algorithm, and a new semi-supervised clustering algorithm." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.12" } }, "nbformat": 4, "nbformat_minor": 0 }