Skip to content
Snippets Groups Projects
9_The_chase.ipynb 502 KiB
Newer Older
  • Learn to ignore specific revisions
  • Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>16</td>\n",
           "      <td>4</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>true</td>\n",
           "      <td>1107</td>\n",
           "      <td>2020-03-09 23:25:00</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69382</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "    </tr>\n",
           "    <tr>\n",
           "      <th>4</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>17003</td>\n",
           "      <td>St Fons - Théatre</td>\n",
           "      <td>Face, 47 Rue Carnot</td>\n",
           "      <td></td>\n",
           "      <td>SAINT-FONS</td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td>Saint-Fons</td>\n",
           "      <td>45.7079860163389800</td>\n",
           "      <td>4.8601564934850360</td>\n",
           "      <td>18</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>10</td>\n",
           "      <td>8</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>false</td>\n",
           "      <td>1258</td>\n",
           "      <td>2020-03-09 23:24:33</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69199</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  number                   name                address  \\\n",
           "0   4008           Clos Savaron    10 Rue Clos Savaron   \n",
           "1   7031       Jaurès / Gerland     45, Rue de Gerland   \n",
           "2   9050      Allée de l'Europe  228 avenue du Plateau   \n",
           "3   2020  Musée des Confluences     Pont Raymond Barre   \n",
           "4  17003      St Fons - Théatre    Face, 47 Rue Carnot   \n",
           "\n",
           "                          address2     commune nmarrond bonus  \\\n",
           "0                     Face au n°19  Lyon 4 ème                  \n",
           "1                                   Lyon 7 ème       31         \n",
           "2                                   Lyon 9 ème       50         \n",
           "3  Parvis du Musée des Confluences  Lyon 2 ème       20         \n",
           "4                                   SAINT-FONS                  \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                                     pole                  lat  \\\n",
           "0                                deleuvre  45.7826362574796000   \n",
           "1     Complexe sportif Benjamin Delessert  45.7398132348896800   \n",
           "2  Commerces, poste, mairie, cpam, marché  45.7836371650547900   \n",
           "3                   Musée des Confluences  45.7333083359277900   \n",
           "4                              Saint-Fons  45.7079860163389800   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                  lng bike_stands status available_bike_stands  \\\n",
           "0  4.8255591851847730          20   OPEN                    15   \n",
           "1  4.8403073886228570          20   OPEN                     8   \n",
           "2  4.7945253084995630          12   OPEN                     6   \n",
           "3  4.8189203135366740          20   OPEN                    16   \n",
           "4  4.8601564934850360          18   OPEN                    10   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  available_bikes availabilitycode availability banking   gid  \\\n",
           "0               5                1         Vert   false  1211   \n",
           "1              12                1         Vert   false   998   \n",
           "2               6                1         Vert   false  1016   \n",
           "3               4                1         Vert    true  1107   \n",
           "4               8                1         Vert   false  1258   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "           last_update      last_update_fme code_insee langue etat nature  \\\n",
           "0  2020-03-09 23:22:49  2020-03-09 23:31:00      69384                      \n",
           "1  2020-03-09 23:27:56  2020-03-09 23:31:00      69387                      \n",
           "2  2020-03-09 23:27:23  2020-03-09 23:31:00      69389                      \n",
           "3  2020-03-09 23:25:00  2020-03-09 23:31:00      69382                      \n",
           "4  2020-03-09 23:24:33  2020-03-09 23:31:00      69199                      \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  titre description startdate enddate  \n",
           "0                                      \n",
           "1                                      \n",
           "2                                      \n",
           "3                                      \n",
           "4                                      "
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 121,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "df1.head()"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "On extrait la géometrie,"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 122,
       "metadata": {},
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "outputs": [],
       "source": [
        "geometry_df = pd.DataFrame.from_records(df0['geometry'])"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "et on crée deux colonnes dans df1, x et y, à partir de cette dernière :"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 123,
       "metadata": {},
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "outputs": [],
       "source": [
        "df1['x'] = geometry_df.coordinates.apply( lambda row: row[0] )\n",
        "df1['y'] = geometry_df.coordinates.apply( lambda row: row[1] )"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 124,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/html": [
           "<div>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<style scoped>\n",
           "    .dataframe tbody tr th:only-of-type {\n",
           "        vertical-align: middle;\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    }\n",
           "\n",
           "    .dataframe tbody tr th {\n",
           "        vertical-align: top;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
           "    .dataframe thead th {\n",
           "        text-align: right;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "</style>\n",
           "<table border=\"1\" class=\"dataframe\">\n",
           "  <thead>\n",
           "    <tr style=\"text-align: right;\">\n",
           "      <th></th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>number</th>\n",
           "      <th>name</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>address</th>\n",
           "      <th>address2</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>commune</th>\n",
           "      <th>nmarrond</th>\n",
           "      <th>bonus</th>\n",
           "      <th>pole</th>\n",
           "      <th>lat</th>\n",
           "      <th>lng</th>\n",
           "      <th>bike_stands</th>\n",
           "      <th>status</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>available_bike_stands</th>\n",
           "      <th>available_bikes</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>availabilitycode</th>\n",
           "      <th>availability</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>banking</th>\n",
           "      <th>gid</th>\n",
           "      <th>last_update</th>\n",
           "      <th>last_update_fme</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>code_insee</th>\n",
           "      <th>langue</th>\n",
           "      <th>etat</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>nature</th>\n",
           "      <th>titre</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>description</th>\n",
           "      <th>startdate</th>\n",
           "      <th>enddate</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>x</th>\n",
           "      <th>y</th>\n",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>0</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>4008</td>\n",
           "      <td>Clos Savaron</td>\n",
           "      <td>10 Rue Clos Savaron</td>\n",
           "      <td>Face au n°19</td>\n",
           "      <td>Lyon 4 ème</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td>deleuvre</td>\n",
           "      <td>45.7826362574796000</td>\n",
           "      <td>4.8255591851847730</td>\n",
           "      <td>20</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>15</td>\n",
           "      <td>5</td>\n",
    
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>false</td>\n",
           "      <td>1211</td>\n",
           "      <td>2020-03-09 23:22:49</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69384</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td>841830.834848</td>\n",
           "      <td>6.521975e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>1</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>7031</td>\n",
           "      <td>Jaurès / Gerland</td>\n",
           "      <td>45, Rue de Gerland</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Lyon 7 ème</td>\n",
           "      <td>31</td>\n",
           "      <td></td>\n",
           "      <td>Complexe sportif Benjamin Delessert</td>\n",
           "      <td>45.7398132348896800</td>\n",
           "      <td>4.8403073886228570</td>\n",
           "      <td>20</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>8</td>\n",
           "      <td>12</td>\n",
           "      <td>1</td>\n",
           "      <td>Vert</td>\n",
           "      <td>false</td>\n",
           "      <td>998</td>\n",
           "      <td>2020-03-09 23:27:56</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69387</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td>843087.264407</td>\n",
           "      <td>6.517247e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>2</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>9050</td>\n",
           "      <td>Allée de l'Europe</td>\n",
           "      <td>228 avenue du Plateau</td>\n",
           "      <td></td>\n",
           "      <td>Lyon 9 ème</td>\n",
           "      <td>50</td>\n",
           "      <td></td>\n",
           "      <td>Commerces, poste, mairie, cpam, marché</td>\n",
           "      <td>45.7836371650547900</td>\n",
           "      <td>4.7945253084995630</td>\n",
           "      <td>12</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>6</td>\n",
           "      <td>6</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>false</td>\n",
           "      <td>1016</td>\n",
           "      <td>2020-03-09 23:27:23</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69389</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>839417.652413</td>\n",
           "      <td>6.522031e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>3</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>2020</td>\n",
           "      <td>Musée des Confluences</td>\n",
           "      <td>Pont Raymond Barre</td>\n",
           "      <td>Parvis du Musée des Confluences</td>\n",
           "      <td>Lyon 2 ème</td>\n",
           "      <td>20</td>\n",
           "      <td></td>\n",
           "      <td>Musée des Confluences</td>\n",
           "      <td>45.7333083359277900</td>\n",
           "      <td>4.8189203135366740</td>\n",
           "      <td>20</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>16</td>\n",
           "      <td>4</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>true</td>\n",
           "      <td>1107</td>\n",
           "      <td>2020-03-09 23:25:00</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69382</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td>841441.314703</td>\n",
           "      <td>6.516487e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>4</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>17003</td>\n",
           "      <td>St Fons - Théatre</td>\n",
           "      <td>Face, 47 Rue Carnot</td>\n",
           "      <td></td>\n",
           "      <td>SAINT-FONS</td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td>Saint-Fons</td>\n",
           "      <td>45.7079860163389800</td>\n",
           "      <td>4.8601564934850360</td>\n",
           "      <td>18</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>10</td>\n",
           "      <td>8</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>1</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>Vert</td>\n",
           "      <td>false</td>\n",
           "      <td>1258</td>\n",
           "      <td>2020-03-09 23:24:33</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69199</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>844713.539572</td>\n",
           "      <td>6.513750e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  number                   name                address  \\\n",
           "0   4008           Clos Savaron    10 Rue Clos Savaron   \n",
           "1   7031       Jaurès / Gerland     45, Rue de Gerland   \n",
           "2   9050      Allée de l'Europe  228 avenue du Plateau   \n",
           "3   2020  Musée des Confluences     Pont Raymond Barre   \n",
           "4  17003      St Fons - Théatre    Face, 47 Rue Carnot   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                          address2     commune nmarrond bonus  \\\n",
           "0                     Face au n°19  Lyon 4 ème                  \n",
           "1                                   Lyon 7 ème       31         \n",
           "2                                   Lyon 9 ème       50         \n",
           "3  Parvis du Musée des Confluences  Lyon 2 ème       20         \n",
           "4                                   SAINT-FONS                  \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                                     pole                  lat  \\\n",
           "0                                deleuvre  45.7826362574796000   \n",
           "1     Complexe sportif Benjamin Delessert  45.7398132348896800   \n",
           "2  Commerces, poste, mairie, cpam, marché  45.7836371650547900   \n",
           "3                   Musée des Confluences  45.7333083359277900   \n",
           "4                              Saint-Fons  45.7079860163389800   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                  lng bike_stands status available_bike_stands  \\\n",
           "0  4.8255591851847730          20   OPEN                    15   \n",
           "1  4.8403073886228570          20   OPEN                     8   \n",
           "2  4.7945253084995630          12   OPEN                     6   \n",
           "3  4.8189203135366740          20   OPEN                    16   \n",
           "4  4.8601564934850360          18   OPEN                    10   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  available_bikes availabilitycode availability banking   gid  \\\n",
           "0               5                1         Vert   false  1211   \n",
           "1              12                1         Vert   false   998   \n",
           "2               6                1         Vert   false  1016   \n",
           "3               4                1         Vert    true  1107   \n",
           "4               8                1         Vert   false  1258   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "           last_update      last_update_fme code_insee langue etat nature  \\\n",
           "0  2020-03-09 23:22:49  2020-03-09 23:31:00      69384                      \n",
           "1  2020-03-09 23:27:56  2020-03-09 23:31:00      69387                      \n",
           "2  2020-03-09 23:27:23  2020-03-09 23:31:00      69389                      \n",
           "3  2020-03-09 23:25:00  2020-03-09 23:31:00      69382                      \n",
           "4  2020-03-09 23:24:33  2020-03-09 23:31:00      69199                      \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "  titre description startdate enddate              x             y  \n",
           "0                                      841830.834848  6.521975e+06  \n",
           "1                                      843087.264407  6.517247e+06  \n",
           "2                                      839417.652413  6.522031e+06  \n",
           "3                                      841441.314703  6.516487e+06  \n",
           "4                                      844713.539572  6.513750e+06  "
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 124,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "df1.head()"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 125,
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/plain": [
           "number                    object\n",
           "name                      object\n",
           "address                   object\n",
           "address2                  object\n",
           "commune                   object\n",
           "nmarrond                  object\n",
           "bonus                     object\n",
           "pole                      object\n",
           "lat                       object\n",
           "lng                       object\n",
           "bike_stands               object\n",
           "status                    object\n",
           "available_bike_stands     object\n",
           "available_bikes           object\n",
           "availabilitycode          object\n",
           "availability              object\n",
           "banking                   object\n",
           "gid                       object\n",
           "last_update               object\n",
           "last_update_fme           object\n",
           "code_insee                object\n",
           "langue                    object\n",
           "etat                      object\n",
           "nature                    object\n",
           "titre                     object\n",
           "description               object\n",
           "startdate                 object\n",
           "enddate                   object\n",
           "x                        float64\n",
           "y                        float64\n",
           "dtype: object"
          ]
         },
         "execution_count": 125,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "df1.dtypes"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 126,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/html": [
           "<div>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<style scoped>\n",
           "    .dataframe tbody tr th:only-of-type {\n",
           "        vertical-align: middle;\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    }\n",
           "\n",
           "    .dataframe tbody tr th {\n",
           "        vertical-align: top;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
           "    .dataframe thead th {\n",
           "        text-align: right;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "</style>\n",
           "<table border=\"1\" class=\"dataframe\">\n",
           "  <thead>\n",
           "    <tr style=\"text-align: right;\">\n",
           "      <th></th>\n",
           "      <th>x</th>\n",
           "      <th>y</th>\n",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>count</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>420.000000</td>\n",
           "      <td>4.200000e+02</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>mean</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>843857.818414</td>\n",
           "      <td>6.519492e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>std</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>2330.255582</td>\n",
           "      <td>2.435300e+03</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>min</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>838207.661683</td>\n",
           "      <td>6.512503e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>25%</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>842169.032103</td>\n",
           "      <td>6.518160e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>50%</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>843763.839884</td>\n",
           "      <td>6.519499e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>75%</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>845502.791147</td>\n",
           "      <td>6.520818e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
           "      <th>max</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>851972.846296</td>\n",
           "      <td>6.532432e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                   x             y\n",
           "count     420.000000  4.200000e+02\n",
           "mean   843857.818414  6.519492e+06\n",
           "std      2330.255582  2.435300e+03\n",
           "min    838207.661683  6.512503e+06\n",
           "25%    842169.032103  6.518160e+06\n",
           "50%    843763.839884  6.519499e+06\n",
           "75%    845502.791147  6.520818e+06\n",
           "max    851972.846296  6.532432e+06"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 126,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "df1.describe()"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 137,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "40"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 137,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
        "max_available_bikes = df1['available_bikes'].replace('', '-1').astype('int').max()"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 138,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/html": [
           "<div>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<style scoped>\n",
           "    .dataframe tbody tr th:only-of-type {\n",
           "        vertical-align: middle;\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    }\n",
           "\n",
           "    .dataframe tbody tr th {\n",
           "        vertical-align: top;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
           "    .dataframe thead th {\n",
           "        text-align: right;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "</style>\n",
           "<table border=\"1\" class=\"dataframe\">\n",
           "  <thead>\n",
           "    <tr style=\"text-align: right;\">\n",
           "      <th></th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>number</th>\n",
           "      <th>name</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>address</th>\n",
           "      <th>address2</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>commune</th>\n",
           "      <th>nmarrond</th>\n",
           "      <th>bonus</th>\n",
           "      <th>pole</th>\n",
           "      <th>lat</th>\n",
           "      <th>lng</th>\n",
           "      <th>bike_stands</th>\n",
           "      <th>status</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>available_bike_stands</th>\n",
           "      <th>available_bikes</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>availabilitycode</th>\n",
           "      <th>availability</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>banking</th>\n",
           "      <th>gid</th>\n",
           "      <th>last_update</th>\n",
           "      <th>last_update_fme</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>code_insee</th>\n",
           "      <th>langue</th>\n",
           "      <th>etat</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>nature</th>\n",
           "      <th>titre</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>description</th>\n",
           "      <th>startdate</th>\n",
           "      <th>enddate</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>x</th>\n",
           "      <th>y</th>\n",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>337</th>\n",
           "      <td>7003</td>\n",
           "      <td>Gambetta / Garibaldi</td>\n",
           "      <td>100, Cours Gambetta</td>\n",
           "      <td>Prolongement Rue Rachais</td>\n",
           "      <td>Lyon 7 ème</td>\n",
           "      <td>3</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>métro D</td>\n",
           "      <td>45.7517901355474700</td>\n",
           "      <td>4.8526079660087520</td>\n",
           "      <td>40</td>\n",
           "      <td>OPEN</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>0</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>40</td>\n",
           "      <td>2</td>\n",
           "      <td>Bleu</td>\n",
           "      <td>true</td>\n",
           "      <td>1058</td>\n",
           "      <td>2020-03-09 23:26:37</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69387</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>844012.279367</td>\n",
           "      <td>6.518600e+06</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    number                  name              address  \\\n",
           "337   7003  Gambetta / Garibaldi  100, Cours Gambetta   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                     address2     commune nmarrond bonus     pole  \\\n",
           "337  Prolongement Rue Rachais  Lyon 7 ème        3        métro D   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                     lat                 lng bike_stands status  \\\n",
           "337  45.7517901355474700  4.8526079660087520          40   OPEN   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    available_bike_stands available_bikes availabilitycode availability  \\\n",
           "337                     0              40                2         Bleu   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    banking   gid          last_update      last_update_fme code_insee langue  \\\n",
           "337    true  1058  2020-03-09 23:26:37  2020-03-09 23:31:00      69387          \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    etat nature titre description startdate enddate              x  \\\n",
           "337                                                  844012.279367   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                y  \n",
           "337  6.518600e+06  "
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 138,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
        "df1[ df1['available_bikes'] == f\"{max_available_bikes}\" ]"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 147,
       "metadata": {},
       "outputs": [],
       "source": [
        "df1['num_available_bikes'] = df1['available_bikes'].replace('', '-1').astype('int')"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "cf. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html"
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 149,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<matplotlib.axes._subplots.AxesSubplot at 0x7fb3e0f06e10>"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 149,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAANcCAYAAAD4rYbeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nOzdf3Bka1of9uftq15JXo2zQlwWPAKv8VbsKogYoIsYLpWQ66qQFGRiI4zLZQoIJFTKYHCt4yucxCE4KZevNg52QWF7C//YYJdhjYgHrxNXCAuxWRc4GpgRNnbstQ01moLl0tbYV4umt+89b/7Q6DLS1Y9uqbvPeU9/PlVTMzrqOef7Pu971P2oT3ennHMAAABQpk7dAQAAALg+TR0AAEDBNHUAAAAF09QBAAAUTFMHAABQsIW6A4zqUz/1U/N73vOeumMAAADU4v79+7+Wc37x7PZimrr3vOc9sbu7W3cMAACAWqSUfum87S6/BAAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKNpOmLqX0Qkrp51JKH3729W9LKf1MSuljKaUfSim9YxY5AABol/7hIB4+ehL9w0HdUaA2s3qm7tsj4p889/WrEfHdOef3RsRBRHzTjHIAANAS9x48jpde/Uh87ff/TLz06kfiRx88rjsS1GLqTV1KaT0iviIivv/Z1ykiXo6IH352kw9GxO+Zdg4AANqjfziIrZ29eDqs4vXBG/F0WMUrO3uesWMuzeKZuj8bEa9ERPXs67WIeJJzfuPZ1/sRcfu8/5hS+uaU0m5Kafe1116bflIAAIqwf3AU3c7ph7LdTif2D45qSgT1mWpTl1L6yoj41Zzz/ev8/5zzB3LOvZxz78UXX5xwOgAASrW+uhzDqjq1bVhVsb66XFMiqM+0n6l7KSLuppR+MSJ+MI4vu/xzEfGulNLCs9usR4QLoAEAGNnaymJsb27EUrcTtxYXYqnbie3NjVhbWaw7GszcwtU3ub6c8x+PiD8eEZFS+rKI+G9yzn8wpfQ3I+Kr47jR+/qIuDfNHAAAtM/dO7fjpfd+auwfHMX66rKGjrlV1+fUbUXE+1JKH4vj19j9pZpyAABQsLWVxfi8z3yXho65NtVn6p6Xc/7JiPjJZ//+lxHxRbM6NgAAQFvV9UwdAAAAE6CpAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6grVPxzEw0dPon84qDsKAABQo4W6AzC+ew8ex9bOXnQ7nRhWVWxvbsTdO7frjgUAANTAM3WF6R8OYmtnL54Oq3h98EY8HVbxys6eZ+wAAGBOaeoKs39wFN3O6Wnrdjqxf3BUUyIAAKBOmrrCrK8ux7CqTm0bVlWsry7XlAgAAKiTpq4wayuLsb25EUvdTtxaXIilbie2NzdibWWx7mgAAEANvFFKge7euR0vvfdTY//gKNZXlzV0AAAwxzR1hVpbWdTMAQAALr8EAAAomaYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjrG1j8cxMNHT6J/OKg7CgDAWDyOoY0W6g5AWe49eBxbO3vR7XRiWFWxvbkRd+/crjsWAMCVPI6hrTxTx8j6h4PY2tmLp8MqXh+8EU+HVbyys+c3XQBA43kcQ5tp6hjZ/sFRdDunl0y304n9g6OaEgEAjMbjGNpMU8fI1leXY1hVp7YNqyrWV5drSgQAMBqPY2gzTR0jW1tZjO3NjVjqduLW4kIsdTuxvbkRayuLdUcDALiUxzG0Wco5151hJL1eL+/u7tYdgzi+Jn3/4CjWV5f9IAQAiuJxDCVLKd3POffObvful4xtbWXRD0EAoEgex9BGLr8EAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgU23qUkpLKaV/mFJ6mFL6xyml73q2/bellH4mpfSxlNIPpZTeMc0cAMB4+oeDePjoSfQPB3VHOVfT87WVukMzLUx5/4OIeDnnfJhS6kbET6WU/s+IeF9EfHfO+QdTSn8hIr4pIv78lLMAACO49+BxbO3sRbfTiWFVxfbmRty9c7vuWG9per62Undorqk+U5ePHT77svvsT46IlyPih59t/2BE/J5p5gAARtM/HMTWzl48HVbx+uCNeDqs4pWdvcY8M9P0fG2l7tBsU39NXUrphZTSg4j41Yj4sYj4FxHxJOf8xrOb7EfEub/mSSl9c0ppN6W0+9prr007KgDMvf2Do+h2Tj886HY6sX9wVFOi05qer63UHZpt6k1dzvnNnPOdiFiPiC+KiN85xv/9QM65l3Puvfjii1PLCAAcW19djmFVndo2rKpYX12uKdFpTc/XVuoOzTazd7/MOT+JiJ+IiC+OiHellE5ez7ceEY9nlQMAuNjaymJsb27EUrcTtxYXYqnbie3NjVhbWaw7WkQ0P19bqTs0W8o5T2/nKb0YEcOc85OU0nJE/F8R8WpEfH1E7Dz3Ril7Oefvu2xfvV4v7+7uTi0rAPAb+oeD2D84ivXV5UY+cG96vrZSd6hXSul+zrl3dvu03/3yMyLigymlF+L4WcEP5Zw/nFL6hYj4wZTS/xwRPxcRf2nKOQCAMaytLDb6QXvT87WVukMzTbWpyznvRcTnn7P9X8bx6+sAAAC4gZm9pg4AAIDJ09QBAAAUTFMHAABQME0dAABAwTR1AAAABdPUAQAAFExTBwAAUDBNHQAAQME0dQAAAAXT1DE1/cNBPHz0JPqHg7qjAAAwQR7nNctC3QFop3sPHsfWzl50O50YVlVsb27E3Tu3644FAMANeZzXPJ6pY+L6h4PY2tmLp8MqXh+8EU+HVbyys+c3OQAAhfM4r5k0dUzc/sFRdDunl1a304n9g6OaEgEAMAke5zWTpo6JW19djmFVndo2rKpYX12uKREAAJPgcV4zaeqYuLWVxdje3IilbiduLS7EUrcT25sbsbayWHc0AABuwOO8Zko557ozjKTX6+Xd3d26YzCG/uEg9g+OYn112YkOANAiHufVI6V0P+fcO7vdu18yNWsri05yAIAW8jivWVx+CQAAUDBNHQAAQME0dQAAAAXT1AEAABRMUwcAAFAwTR0AAEDBNHUAAAAF09QBAAAUTFMHAABQME0dAABAwTR1ANAw/cNBPHz0JPqHg7qjAFdwvh5Th3ot1B0AAPgN9x48jq2dveh2OjGsqtje3Ii7d27XHQs4h/P1mDrUzzN1ANAQ/cNBbO3sxdNhFa8P3oinwype2dnzm29oIOfrMXVoBk0dADTE/sFRdDun75q7nU7sHxzVlAi4iPP1mDo0g6YOABpifXU5hlV1atuwqmJ9dbmmRMBFnK/H1KEZNHUA0BBrK4uxvbkRS91O3FpciKVuJ7Y3N2JtZbHuaMAZztdj6tAMKedcd4aR9Hq9vLu7W3cMAJi6/uEg9g+OYn112QMjaDjn6zF1mI2U0v2cc+/sdu9+CQANs7ay6EERFML5ekwd6uXySwAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAmrH84iIePnkT/cFB3FFrCmmLSrKl2Wag7AAC0yb0Hj2NrZy+6nU4Mqyq2Nzfi7p3bdceiYNYUk2ZNtY9n6gBgQvqHg9ja2YunwypeH7wRT4dVvLKz5zfhXJs1xaRZU+2kqQOACdk/OIpu5/Rda7fTif2Do5oSUTprikmzptpJUwcAE7K+uhzDqjq1bVhVsb66XFMiSmdNMWnWVDtp6gBgQtZWFmN7cyOWup24tbgQS91ObG9uxNrKYt3RKJQ1xaRZU+2Ucs51ZxhJr9fLu7u7dccAgCv1Dwexf3AU66vLHigxEdYUk2ZNlSmldD/n3Du73btfAsCEra0sepDERFlTTJo11S4uvwQAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqmjNv3DQTx89CT6h4O5OjYAXJf7L+A8C3UHYD7de/A4tnb2otvpxLCqYntzI+7eud36YwPAdbn/Ai7imTpmrn84iK2dvXg6rOL1wRvxdFjFKzt7M/mtY53HBoDrcv8FXEZTx8ztHxxFt3N66XU7ndg/OGr1sQHgutx/AZfR1DFz66vLMayqU9uGVRXrq8utPjYAXJf7L+Aymjpmbm1lMbY3N2Kp24lbiwux1O3E9uZGrK0stvrYAHBd7r+Ay6Scc90ZRtLr9fLu7m7dMZig/uEg9g+OYn11eeZ3SnUeGwCuy/0XzLeU0v2cc+/sdu9+SW3WVhZru0Oq89gAcF3uv4DzuPwSAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAmAv9w0E8fPQk+oeDuqMAU+I8Z14t1B0AAKbt3oPHsbWzF91OJ4ZVFdubG3H3zu26YwET5DxnnnmmDoBW6x8OYmtnL54Oq3h98EY8HVbxys6e3+RDizjPmXeaOgBabf/gKLqd03d33U4n9g+OakoETJrznHmnqQOg1dZXl2NYVae2Dasq1leXa0oETJrznHmnqQOg1dZWFmN7cyOWup24tbgQS91ObG9uxNrKYt3RgAlxnjPvUs657gwj6fV6eXd3t+4YABSqfziI/YOjWF9d9kAPWsp5TtullO7nnHtnt3v3SwDmwtrKogd50HLOc+aVyy8BAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg6oVf9wEA8fPYn+4aDuKBRo0uvHemw38wu01ULdAYD5de/B49ja2YtupxPDqortzY24e+d23bEoxKTXj/XYbuYXaDPP1AG16B8OYmtnL54Oq3h98EY8HVbxys6e36AzkkmvH+ux3cwv0HaaOqAW+wdH0e2c/hHU7XRi/+CopkSUZNLrx3psN/MLtJ2mDqjF+upyDKvq1LZhVcX66nJNiSjJpNeP9dhu5hdoO00dUIu1lcXY3tyIpW4nbi0uxFK3E9ubG7G2slh3NAow6fVjPbab+QXaLuWc684wkl6vl3d3d+uOAUxY/3AQ+wdHsb667AEWY5v0+rEe2838AqVLKd3POffObvful0Ct1lYWPbji2ia9fqzHdjO/QFu5/BIAAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIKN3NSllLZTSr85pdRNKf14Sum1lNLXTjMcALRB/3AQDx89if7hoO4ojVJqXUrNfZW2jgvmwcIYt/2Pc86vpJR+b0T8YkR8VUT8vYj4a9MIBgBtcO/B49ja2YtupxPDqortzY24e+d23bFqV2pdSs19lbaOC+bFOJdfnjSAXxERfzPn/G+mkAcAWqN/OIitnb14Oqzi9cEb8XRYxSs7e3P/TEipdSk191XaOi6YJ+M0dR9OKf3TiPjCiPjxlNKLEfF0OrEAoHz7B0fR7Zy+q+12OrF/cFRTomYotS6l5r5KW8cF82Tkpi7n/B0R8SUR0cs5DyPi1yPiP59WMAAo3frqcgyr6tS2YVXF+upyTYmaodS6lJr7Km0dF8yTcd4o5TdFxB+KiD//bNNviYjeNEIBQBusrSzG9uZGLHU7cWtxIZa6ndje3Ii1lcW6o9Wq1LqUmvsqbR0XzJOUcx7thin9UETcj4ivyzl/7rMm7x/knO9MM+CJXq+Xd3d3Z3EoAJio/uEg9g+OYn112QPl55Ral1JzX6Wt44I2SSndzzm/7Ym1cd798rfnnH9/SukPRETknH89pZQmlhAAWmptZdGD5HOUWpdSc1+lreOCeTDOG6V8MqW0HBE5IiKl9NsjwtsiAQAA1GicZ+q+MyL+bkR8Zkrpr0fESxHxDdMIBQAAwGjGaerux/EHjv+uiEgR8e0RcWsaoQAAABjNOJdf/u2IGOac/07O+cMR8eKzbQAAANRknKbuT0XE304pvTOl9IUR8cMR8bXTiQUAAMAoRr78Muf8d1JK3Yj4sTi+7PL35pz/2dSSAQAAcKUrm7qU0vfEs3e8fObfiYh/ERHfmlKKnPO3TSscAAAAlxvlmbqzn/h9fxpBAAAAGN+VTV3O+YOzCAIAAMD4Rrn88kM5569JKf18nL4MMyIics4bU0kGAADAlUa5/PLbn/39ldMMAnXrHw5i/+Ao1leXY21lse44AFAM96Hza5y5t06mZ5TLL3/52d+/lFL69Ij4ojh+xu7/zTn/ypTzwUzce/A4tnb2otvpxLCqYntzI+7euV13LABoPPeh82ucubdOpmvkz6lLKf2XEfEPI+KrIuKrI+KnU0rfOK1gMCv9w0Fs7ezF02EVrw/eiKfDKl7Z2Yv+4aDuaADQaO5D59c4c2+dTN84Hz7+xyLi83PO35Bz/vqI+MKI2JpOLJid/YOj6HZOnwrdTif2D45qSgQAZXAfOr/GmXvrZPrGaer6EfH6c1+//mwbFG19dTmGVXVq27CqYn11uaZEAFAG96Hza5y5t06m78qmLqX0vpTS+yLiYxHxMyml/zGl9J0R8dMR8c+mHRCmbW1lMbY3N2Kp24lbiwux1O3E9uaGF/ACwBXch86vcebeOpm+lPPbPqXg9A2OG7gL5Zy/a6KJLtDr9fLu7tnPQYfJ8Y5MAHA97kPnl3e/nK2U0v2cc+9t269q6sY4wPfknP/wRHZ2Dk0dAAAwzy5q6sZ5Td1VXprgvgAAABjBJJs6AAAAZkxTBwAAULBJNnVpgvsCAABgBGM3dSml33TBt/7cDbMAAAAwppGbupTSl6SUfiEi/umzrz8vpfR9J9/POf/VyccDAADgMuM8U/fdEfHlEdGPiMg5P4yI/2AaoQAAABjNWJdf5pwfndn05gSzAAAAMKaFMW77KKX0JRGRU0rdiPj2iPgn04kFAADAKMZ5pu6/johviYjbEfE4Iu48+xoAAICajNzU5Zx/Lef8B3PO7845f1rO+Wtzzv3L/k9K6TNTSj+RUvqFlNI/Til9+7Ptn5JS+rGU0j9/9vfqTQfSdP3DQTx89CT6h4O6o8DMNWn9TyNLk8Z3VlOyNSXHNIw6NjUo37yME26y1uftfrYprrz8MqX0PRGRL/p+zvnbLvnvb0TEH805/2xK6VZE3E8p/VhEfENE/HjO+U+nlL4jIr4jIrbGSl6Qew8ex9bOXnQ7nRhWVWxvbsTdO7frjgUz0aT1P40sTRrfWU3J1pQc0zDq2NSgfPMyTrjJWp+3+9kmSTlf2K8d3yClr7/s+znnD458sJTuRcT3PvvzZTnnX04pfUZE/GTO+Xdc9n97vV7e3d0d9VCN0T8cxEuvfiSeDqu3ti11O/HRrZdjbWWxxmQwfU1a/9PI0qTxndWUbE3JMQ2jjk0Nyjcv44SbrPV5u5+tS0rpfs65d3b7lZdf5pw/+PyfiPjfI+JHnvt61ADviYjPj4ifiYh355x/+dm3fiUi3n3B//nmlNJuSmn3tddeG/VQjbJ/cBTdzukydzud2D84qikRzE6T1v80sjRpfGc1JVtTckzDqGNTg/LNyzjhJmt93u5nm2acDx/vpZR+PiL2IuIfpZQeppS+cMT/uxIROxHxR3LO//b57+XjpwrPfbow5/yBnHMv59x78cUXR43aKOuryzGsqlPbhlUV66vLNSWC2WnS+p9GliaN76ymZGtKjmkYdWxqUL55GSfcZK3P2/1s04zz7pd/OSL+UM75PTnn3xrH73z5V676T88+/mAnIv56zvlHnm3++LPLLuPZ3786XuxyrK0sxvbmRix1O3FrcSGWup3Y3tyY26eMmS9NWv/TyNKk8TU1W1NyTMOoY1OD8s3LOOEma33e7meb5srX1L11w5R+Luf8+We2/WzO+Qsu+T8pIj4YEf865/xHntv+/ojoP/dGKZ+Sc37lsuOX+pq6E/3DQewfHMX66rKFyNxp0vqfRpYmje+spmRrSo5pGHVsalC+eRkn3GStz9v97Kxd9Jq6Ud4o5aRp+7qIWI6IvxHHl0v+/oh4mnN+3yX/90sj4u9HxM9HxMlzp/9tHL+u7kMR8VkR8UsR8TU55399WY7SmzoAAICbuKipu/IjDSLiz5z5+juf+/elHWHO+aciIl3w7d89wrEBAAC4xJVNXc75P5pFEAAAAMY3yjN1b0kpfUVEfE5ELJ1syzn/yUmHAgAAYDTjfKTBX4jj19H94Ti+pPL3RcRvnVIuAAAARjDORxp8Sc756yLiIOf8XRHxxRHx704nFgAAAKMYp6k7+ej2X08p/ZaIGEbEZ0w+EgAAAKMa5zV1H04pvSsi3h8RPxvH73z5/VNJBQAAwEhGbupyzv/Ts3/upJQ+HBFLOed/M51YAAAAjOLKpi6l9FWXfC9yzj8y2UgAAACMapRn6v6zS76XI0JTBwAAUJNRPnz8v5hFEKAd+oeD2D84ivXV5VhbWaw7Di1gTdE2TVjTl2VoQr5ZmvZ4T/b/zne8EJ/45JtzU9ebmsU6bNNaH+Xyy6/NOf+1lNL7zvt+zvl/nXwsoET3HjyOrZ296HY6Mayq2N7ciLt3btcdi4JZU7RNE9b0ZRmakG+Wpj3ek/3nKsfgzRxL3eM3nm97XW9qFuuwbWt9lI80eOezv29d8Acg+oeD2NrZi6fDKl4fvBFPh1W8srMX/cNB3dEolDVF2zRhTV+WoQn5Zmna431+/4M3c0REPB1Wra/rTc1iHbZxrY9y+eVffPb3d00/DlCq/YOj6HY68TSqt7Z1O53YPzgq/pIG6mFN0TZNWNOXZTj597ycc9Oej/P2P43jtM0szpMmnIuTNvJHGqSUliLimyLicyJi6WR7zvkbp5ALKMz66nIMq9N3XMOqivXV5ZoSUTprirZpwpq+KkPd+WZp2vNx3v6ncZy2mcV50oRzcdJGufzyxA9ExKdHxJdHxP8TEesR8fo0QgHlWVtZjO3NjVjqduLW4kIsdTuxvblR7G+8qJ81Rds0YU1flqEJ+WZp2uN9fv+LL6SIiFjqdlpf15uaxTps41pPOefRbpjSz+WcPz+ltJdz3kgpdSPi7+ecf9d0Ix7r9Xp5d3d3FocCbqBN7yRFM1hTtE0T1rR3v/wN3v2ymbz75flSSvdzzr2z20e+/DIihs/+fpJS+tyI+JWI+LRJhAPa4+S3vTAp1hRt04Q1fVmGJuSbpWmPd97qOSmzqFub5macpu4DKaXViPgTEfGjEbHy7N8AAADUZJym7q/knN+M49fTffaU8gAAADCGcd4o5V+llD6QUvrdKaU0tUQAAACMbJym7ndGxP8dEd8SEb+YUvrelNKXTicWAAAAoxi5qcs5/3rO+UM556+KiDsR8Zvj+FJMAAAAajLOM3WRUvoPU0rfFxH34/gDyL9mKqkAAAAYychvlJJS+sWI+LmI+FBE/LGc8yemFQoAAIDRjPPulxs55387tSQAAACMbZym7pMppW+JiM+J40svIyIi5/yNE08FAADASLHgXtAAACAASURBVMZ5Td0PRMSnR8SXx/EbpKxHxOvTCAUAAMBoxmnq3ptz/hMR8Ymc8wcj4isi4t+fTiwYX/9wEA8fPYn+4aDuKACN4Wdjveat/rMcb1tr29ZxMV3jXH45fPb3k5TS50bEr0TEp00+Eozv3oPHsbWzF91OJ4ZVFdubG3H3zu26YwHUys/Ges1b/Wc53rbWtq3jYvrGeabuAyml1Yj47yPiRyPiFyLi1amkgjH0DwextbMXT4dVvD54I54Oq3hlZ89vuIC55mdjveat/rMcb1tr29ZxMRvjfPj49+ecD3LOfy/n/Nk550/LOf/Fk++nlL5+OhHhcvsHR9HtnF7K3U4n9g+OakoEUD8/G+s1b/Wf5XjbWtu2jovZGOvDx6/w7RPcF4xsfXU5hlV1atuwqmJ9dbmmRAD187OxXvNW/1mOt621beu4mI1JNnVpgvuCka2tLMb25kYsdTtxa3Ehlrqd2N7ciLWVxbqjAdTGz8Z6zVv9Zznetta2reNiNlLOeTI7Sulnc85fMJGdnaPX6+Xd3d1p7Z4W6B8OYv/gKNZXl/0ABHjGz8Z6zVv9Zznetta2reNiMlJK93POvbPbx3n3yyuPMcF9wdjWVhb98AM4w8/Ges1b/Wc53rbWtq3jYromefnlRye4LwAAAEYw8jN1KaV3RcTXRcR7nv9/Oedve/b3t046HAAAAJcb5/LL/yMifjoifj4iqituCwAAwAyM09Qt5ZzfN7UkAAAAjG2c19T9QErpv0opfUZK6VNO/kwtGQAAAFca55m6T0bE+yPiv4uIk89ByBHx2ZMOBQAAwGjGaer+aES8N+f8a9MKAwAAwHjGufzyYxHx69MKAgAAwPjGeabuExHxIKX0ExExONl48pEGAAAAzN44Td3fevYHAACAhhi5qcs5f3CaQQBmpX84iP2Do1hfXY61lcVGZGhCpnGVmLnJxq1nqfUvNfesqRMccy6MZuSmLqX0r+I33vXyLTln734JFOPeg8extbMX3U4nhlUV25sbcffO7VozfM0XrseH7u/XmmlcTahjm4xbz1LrX2ruWVMnOOZcGF3K+W192vk3TGntuS+XIuL3RcSn5Jz/h2kEO6vX6+Xd3d1ZHApoqf7hIF569SPxdFi9tW2p24mPbr08s9/+nZfhrFlnGlcT6tgm49az1PqXmnvW1AmOORfOl1K6n3Pund0+8rtf5pz7z/15nHP+sxHxFRNNCTBF+wdH0e2c/rHX7XRi/+Co1gxnzTrTuJpQxzYZt56l1r/U3LOmTnDMuTCecS6//ILnvuxERG+c/w9Qt/XV5RhWp58hG1ZVrK8u15rhrFlnGlcT6tgm49az1PqXmnvW1AmOORfGM87n1P2ZiPhfnv35UxHxBXF8CSZAEdZWFmN7cyOWup24tbgQS91ObG9uzPQyjvMyfN0Xf1atmcbVhDq2ybj1LLX+peaeNXWCY86F8YzzmrqliNiMiPfEbzxDl3POf3I60U7zmjpgUprwTlre/ZKzvPslz1MnOOZcOO2i19SN09T93Yh4EhE/GxFvnmzPOf+ZSYW8jKYOAACYZxc1deO8Jm495/yfTDATAAAANzTOa+r+QUrp35taEgAAAMY2zjN1XxoR3/DsQ8gHEZHi+DV1G1NJBgAAwJXGaer+06mlAAAA4FpGbupyzr80zSAAAACMb5zX1AEAANAwmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJq6huofDuLhoyfRPxzc6DaTPB7T08b6lzymkrNfx7yNdxRq0lzm5mauU79J1dzcletk7j728dfNYUON8zl1zMi9B49ja2cvup1ODKsqtjc34u6d22PfZpLHY3raWP+Sx1Ry9uuYt/GOQk2ay9zczHXqN6mam7tyncxdrnIM3syx1D1+TsgcNotn6hqmfziIrZ29eDqs4vXBG/F0WMUrO3unfiMyym0meTymp431L3lMJWe/jnkb7yjUpLnMzc1cp36Tqrm5K9fzczd4M0dExNNhZQ4bSFPXMPsHR9HtnJ6WbqcT+wdHY91mksdjetpY/5LHVHL265i38Y5CTZrL3NzMdeo3qZqbu3KdN3cnzGGzaOoaZn11OYZVdWrbsKpifXV5rNtM8nhMTxvrX/KYSs5+HfM23lGoSXOZm5u5Tv0mVXNzV67z5u6EOWwWTV3DrK0sxvbmRix1O3FrcSGWup3Y3tyItZXFsW4zyeMxPW2sf8ljKjn7dczbeEehJs1lbm7mOvWbVM3NXbmen7vFF1JERCx1O+awgVLOue4MI+n1enl3d7fuGDPTPxzE/sFRrK8uX3jCjHKbSR6P6Wlj/UseU8nZr2PexjsKNWkuc3Mz16nfpGpu7sp1MnfvfMcL8YlPvmkOa5RSup9z7r1tu6YOAACg+S5q6lx+CQAAUDBNHQAAQME0dQAAAAXT1AEAABRMUwcAAFAwTR0AAEDBNHUAAAAF09QBAAAUTFMHAABQME0dAABAwTR1NEL/cBAPHz2J/uFgIrcdZ3+TylWKSdd62k4yfOzjr9eeZVzXqV8Tan7THDcdg/P3euoY70XHbFKWm952kpq4Jps+V8BoFuoOAPcePI6tnb3odjoxrKrY3tyIu3duX/u24+xvUrlKMelazypvrnIM3syx1D3+PVQJc3Gd+jWh5jfNcdMxOH+vp47xXnTMJmW56W3ryjgrTZ8rYHQp51x3hpH0er28u7tbdwwmrH84iJde/Ug8HVZvbVvqduKjWy/H2sri2LcdZ3+TylWKSde6jrx1ZRnXderXhJrfNMdNx+D8vZ46xnvRMT/8rV8aX/m9P9WILE362dbENdmkddPWcxOmIaV0P+fcO7vd5ZfUav/gKLqd08uw2+nE/sHRtW47zv4mlasUk671tJ2Xoa4s47pO/ZpQ85vmuOkYnL/XU8d4Lzrmg0dPGpOlST/bmrgmm7Ru2npuwixp6qjV+upyDKvTz8QMqyrWV5evddtx9jepXKWYdK2n7bwMdWUZ13Xq14Sa3zTHTcfg/L2eOsZ70THvfOa7GpOlST/bmrgmm7Ru2npuwixp6qjV2spibG9uxFK3E7cWF2Kp24ntzY1zL8MY5bbj7G9SuUox6VrPMu/iCykiji/TKWEurlO/JtT8pjluOgbn7/XUMd6Ljvned99qTJYm/Wxr4pps0rpp67kJs+Q1dTRC/3AQ+wdHsb66PNLrdq667Tj7m1SuUky61tN2kuGd73ghPvHJN4uai+vUrwk1v2mOm47B+Xs9dYz3omM2KctNbztJTVyTTZ8r4LSLXlOnqQMAACiAN0oBAABoIU0dAABAwTR1AAAABdPUAQAAFExTBwAAUDBNHQAAQME0dQAAAAXT1AEAABRMUwcAAFAwTR0AAEDBNHUAAAAF09Q1UP9wEA8fPYn+4aDuKNzApOfRuqhXE+vfxEzjmtQYnt/PdfbZhlreRNPG34Q8TchwlRIyzlId9WjKHDQlR5PMW00W6g7AafcePI6tnb3odjoxrKrY3tyIu3du1x2LMU16Hq2LejWx/k3MNK5JjeH5/RwN34iUUiwtvDDyPttQy5to2vibkKcJGa5SQsZZqqMeTZmDpuRoknmsSco5151hJL1eL+/u7tYdY6r6h4N46dWPxNNh9da2pW4nPrr1cqytLNaYjHFMeh6ti3o1sf5NzDSuSY3hvP0876p9tqGWN9G08TchTxMyXKWEjLNURz2aMgdNydEkba9JSul+zrl3drvLLxtk/+Aoup3TU9LtdGL/4KimRFzHpOfRuqhXE+vfxEzjmtQYztvPOPtsQy1vomnjb0KeJmS4SgkZZ6mOejRlDpqSo0nmtSaaugZZX12OYXX6t83Dqor11eWaEnEdk55H66JeTax/EzONa1JjOG8/4+yzDbW8iaaNvwl5mpDhKiVknKU66tGUOWhKjiaZ15po6hpkbWUxtjc3YqnbiVuLC7HU7cT25kYrniqeJ5OeR+uiXk2sfxMzjWtSYzi7n4VORPeFNPI+21DLm2ja+JuQpwkZrlJCxlmqox5NmYOm5GiSea2J19Q1UP9wEPsHR7G+utz6Bdhmk55H66JeTax/EzONa1JjeH4/ETH2PttQy5to2vibkKcJGa5SQsZZqqMeTZmDpuRokrbW5KLX1GnqAAAACuCNUgAAAFpIUwcAAFAwTR0AAEDBNHUAAAAF09QBAAAUTFMHAABQME0dAABAwTR1AAAABdPUAQAAFExTBwAAUDBNXSH6h4N4+OhJ9A8HdUeJiNnladq4T1yWq6mZm+SmNVJjSl4DdWY/OfbHPv56sfUbx3VqPcv5KXkdc7FJnWfWx9tdVZN5rtlC3QG42r0Hj2NrZy+6nU4Mqyq2Nzfi7p3brc/TtHGPkqupmZvkpjVSY0peA3VmPzl2rnIM3syx1D3+vW5J9RvHdWo9y/kpeR1zsUmdZ9bH211Vk3mvWco5151hJL1eL+/u7tYdY+b6h4N46dWPxNNh9da2pW4nPrr1cqytLLY2T9PGPUquiGhk5ia56bw2dV0wOyWvgTqzn3fsWWeYpevUepbzU/I65mKTOs+sj7e7qibzVLOU0v2cc+/sdpdfNtz+wVF0O6enqdvpxP7BUavzNG3cJy7L1dTMTXLTGqkxJa+BOrOfd+xZZ5il69R6lvNT8jrmYpM6z6yPt7uqJmrm8svGW19djmF1+jc+w6qK9dXlVudp2rhPXJWriZmb5Kbz2tR1weyUvAbqzH7esWedYZauU+tZzk/J65iLTeo8sz7e7qqaqJln6hpvbWUxtjc3YqnbiVuLC7HU7cT25kZtTyXPKk/Txj1KrqZmbpKb1kiNKXkN1Jn9+WMvvpAi4vjSpJLqN47r1HqW81PyOuZikzrPrI+3u6omauY1dcXoHw5i/+Ao1leXG7FAZ5WnaeM+cVmupmZukpvWSI0peQ3Umf3k2O98xwvxiU++WWT9xnGdWs9yfkpex1xsUueZ9fF2V9VkHmp20WvqNHUAAAAF8EYpAAAALaSpAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKZuAvqHg3j46En0Dwe17nuaOZituufyouPXnasOkxjzLOpW2tyUlrdul9Xr7PcmXduT/X3s46+bs4I1/ZyrI98ox2xC3ZqQgeZbqDtA6e49eBxbO3vR7XRiWFWxvbkRd+/cnvm+p5mD2ap7Li86ft256jCJMc+ibqXNTWl563ZZvc5+72u+cD0+dH9/YrU92X+ucgzezLHUPf5dsDkrS9PPuTryjXLMJtStCRkoQ8o5151hJL1eL+/u7tYd45T+4SBeevUj8XRYvbVtqduJj269HGsrizPb9zRzMFt1z+VFx//wt35pfOX3/tRcrbFJzMUs5rPuNTOu0vLW7bJ6RcTbvnfWTWp73rEnsV9mq+nnXB35RjlmE+rWhAw0T0rpfs65d3a7yy9vYP/gKLqd0yXsdjqxf3A0031PMwezVfdcXnT8B4+ezN0am8RczGI+614z4yotb90uq9d53zvrJrW9bP/mrBxNP+fqyDfKMZtQtyZkoBwuv7yB9dXlGFanf4M5rKpYX12e6b6nmYPZqnsuLzr+nc9819ytsUnMxSzms+41M67S8tbtqnqd/d5ZN6nteceexH6Zraafc3XkG+WYTahbEzJQDs/U3cDaymJsb27EUrcTtxYXYqnbie3NjYk8JT7OvqeZg9mqey4vOv57331r7tbYJOZiFvNZ95oZV2l563ZZvc773td98WdNrLbP73/xhRQRx5d+mbOyNP2cqyPfKMdsQt2akIFyeE3dBPQPB7F/cBTrq8sTP9HG2fc0czBbdc/lRcevO1cdJjHmWdSttLkpLW/dLqvX2e9NurYn+3vnO16IT3zyTXNWqKafc3XkG+WYTahbEzLQHBe9pk5TBwAAUABvlAIAANBCmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6hqgfziIh4+eRP9wIEcDlFSHkrJeZdpjaVOtoE5tPZduOq5Z12XU49U5X2089qT3W0rOWSgxc5Ms1B1g3t178Di2dvai2+nEsKpie3Mj7t65Pbc56lZSHUrKepVpj6VNtYI6tfVcuum4Zl2XUY9X53y18diT3m8pOWehxMxNk3LOdWcYSa/Xy7u7u3XHmKj+4SBeevUj8XRYvbVtqduJj269HGsri3OXo24l1aGkrFeZ9ljaVCuoU1vPpZuOa9Z1GfV4dc5XG4896f2WknMWSsxcp5TS/Zxz7+x2l1/WaP/gKLqd01PQ7XRi/+BoLnPUraQ6lJT1KtMeS5tqBXVq67l003HNui6jHq/O+WrjsSe931JyzkKJmZtIU1ej9dXlGFbVqW3Dqor11eW5zFG3kupQUtarTHssbaoV1Kmt59JNxzXruox6vDrnq43HnvR+S8k5CyVmbiJNXY3WVhZje3MjlrqduLW4EEvdTmxvbsz8qeam5KhbSXUoKetVpj2WNtUK6tTWc+mm45p1XUY9Xp3z1cZjT3q/peSchRIzN5HX1DVA/3AQ+wdHsb66XOsCbkqOupVUh5KyXmXaY2lTraBObT2XbjquWddl1OPVOV9tPPak91tKzlkoMXMdLnpNnaYOAACgAN4oBQAAoIU0dQAAAAXT1AEAABRMUwcAAFAwTR0AAEDBNHUAAAAF09QBAAAUTFMHAABQME0dAABAwTR1AAAABZtqU5dS+ssppV9NKf2j57Z9Skrpx1JK//zZ36vTzEA79A8H8fDRk+gfDhqxn2ntr/QcZ80q13nHqbMmTZ2Pm2jbmNo2nklSG5qkpPVYR9aS6sN0LUx5/381Ir43Iv6357Z9R0T8eM75T6eUvuPZ11tTzkHB7j14HFs7e9HtdGJYVbG9uRF379yubT/T2l/pOerKdd5xckRtNWnqfNxE28bUtvFMktrQJCWtxzqyllQfpi/lnKd7gJTeExEfzjl/7rOv/7+I+LKc8y+nlD4jIn4y5/w7rtpPr9fLu7u7U81K8/QPB/HSqx+Jp8PqrW1L3U58dOvlWFtZnPl+prW/62pKjrpynXecxYUUESkGb8y+Jk2dj5to25jaNp5JUhuapKT1WEfWkurDZKWU7uece2e31/GaunfnnH/52b9/JSLefdENU0rfnFLaTSntvvbaa7NJR6PsHxxFt3N6mXY7ndg/OKplP9Pa33U1JcdZs8p13nFeSJ14oZOmfuxR8zRhPm6ibWNq23gmSW1okpLWYx1ZS6oPs1HrG6Xk46cJL3yqMOf8gZxzL+fce/HFF2eYjKZYX12OYVWd2jasqlhfXa5lP9Pa33U1JcdZs8p13nHezFW8WZ3+sTKrmjR1Pm6ibWNq23gmSW1okpLWYx1ZS6oPs1FHU/fxZ5ddxrO/f7WGDBRibWUxtjc3YqnbiVuLC7HU7cT25sbYlxZMaj/T2t91NSVHXbnOO877v/rz4v1fXU9NmjofN9G2MbVtPJOkNjRJSeuxjqwl1YfZqOM1de+PiP5zb5TyKTnnV67aj9fUzbf+4SD2D45ifXX5Rj+wJrWfae2v9BxnzSrXecepsyZNnY+baNuY2jaeSVIbmqSk9VhH1pLqw2Rc9Jq6qTZ1KaW/ERFfFhGfGhEfj4jvjIi/FREfiojPiohfioivyTn/66v2pakDAADm2UVN3VQ/0iDn/Acu+NbvnuZxAQAA5kWtb5QCAADAzWjqAAAACqapAwAAKJimDgAAoGCaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoYWf9wEA8fPYn+4aDuKMT583HZHI0yfzeZ40mvj+vub97WaRvG24YxnGjqWJqa6yql5qY5mraGmpZn2mY13nmr63kW6g5AGe49eBxbO3vR7XRiWFWxvbkRd+/crjvW3DpvPnLEhXM0yvzdZI4nvT6uu795W6dtGG8bxnCiqWNpaq6rlJqb5mjaGmpanmmb1Xjnra4XSTnnujOMpNfr5d3d3bpjzKX+4SBeevUj8XRYvbVtqduJj269HGsrizUmm0/nzcfiQoqIFIM33j5HEXHl/N1kjie9Pq67v3lbp20YbxvGcKKpY2lqrquUmpvmaNoaalqeaZvVeOetrhERKaX7Oefe2e0uv+RK+wdH0e2cXirdTif2D45qSjTfzpuPF1InXuikU9tO5miU+bvJHE96fVx3f/O2Ttsw3jaM4URTx9LUXFcpNTfN0bQ11LQ80zar8c5bXS/j8kuutL66HMOqOrVtWFWxvrpcU6L5dt58vJmriHy6qXt+jq6av5vM8aTXx3X3N2/rtA3jbcMYTjR1LE3NdZVSc9McTVtDTcszbbMa77zV9TKeqeNKayuLsb25EUvdTtxaXIilbie2Nzda+7R20503H+//6s+L93/1+XM0yvzdZI4nvT6uu795W6dtGG8bxnCiqWNpaq6rlJqb5mjaGmpanmmb1Xjnra6X8Zo6RtY/HMT+wVGsry7P5cnSNOfNx2VzNMr83WSOJ70+rru/eVunbRhvG8ZwoqljaWquq5Sam+Zo2hpqWp5pm9V456muF72mTlMHAABQAG+UAgAA0EKaOgAAgIJp6gAAAAqmqQMAACiYpg4AAKBgmjoAAICCaeoAAAAKpqkDAAAomKYOAACgYJo6AACAgmnqpqR/OIiHj55E/3BQd5SpqnOc81LjeVPKvJ7k/NjHX2983lFqWkrd58Hzc2FepqdJtb0sS5NyPm9SuZo6vmlr2riblmea2jrWhboDtNG9B49ja2cvup1ODKsqtjc34u6d23XHmrg6xzkvNZ43pczrSc5c5Ri8mWOpe/z7sSbmHaWmpdR9Hjw/F0fDNyKlFEsLL5iXCWvSmr8sS5NyPm9SuZo6vmlr2riblmea2jzWlHOuO8NIer1e3t3drTvGlfqHg3jp1Y/E02H11ralbic+uvVyrK0s1phssuoc57zUeN6UMq/n5TzRtLyj1LSUus+Dy9ZWhHmZlCat+cuyRERjcj5vUvVr0jzMUtPG3bQ809SWsaaU7uece2e3u/xywvYPjqLbOV3WbqcT+wdHNSWajjrHOS81njelzOt5OU80Le8oNS2l7vPgsrUVYV4mpUlr/rIsTcr5vEnlaur4pq1p425anmlq+1hdfjlh66vLMaxO/5Z1WFWxvrpcU6LpqHOc81LjeVPKvJ6X80TT8o5S01LqPg8uW1sR5mVSmrTmr8rSlJzPm1T9mjQPs9S0cTctzzS1fayeqZuw/7+9+4+RJL3rO/55aqa3Z7yz2MMcOOHGxiFGESGaW/BgC85KlCMhhlhnwSw/IoIVJVGkRCaKAvE6iqJIQUjcbJDyB0SIIH78EUEsluTA+UGQD2T7IMGz8t7iH9gY+2BnwefzePbuZm+2t2f6yR/dz/bTT1f3VHVXddVT835Jq+6prnqe7/PU8zxVT1V178ZaW7s7W1ppJbrUXtZKK9HuzlZUt3WzqLKc56WOz5tY9qsfZ3vJSOo/vlHHeLPUaSz1fh6E+2I5kVpLhv1SsDq1+Wmx1CnOrDFXkU5s6lbuusVTpqaXle/UleTgqKP9w2Ntrq82prGkqbKc56WOz5tY9quL8+KFJd17cFrreLPUaSz1fh74+0IS+6UkdWrz02KpU5y+ouKqa/nKVrdy1y2eMsVe1knfqWNSBwAAAAAR4IdSAAAAAKCBmNQBAAAAQMSY1AEAAABAxJjUAQAAAEDEmNQBAAAAQMSY1AEAAABAxJjUAQAAAEDEmNQBAAAAQMSY1AEAAABAxJjUAQAAAEDEmNSV7OCoo+du39XBUafqUBaiqPI2NZ2y0qtLXmi+89ae6lbeusUTC+oNedBe5kcdLt5y1QE02dM37+jq9VtqJYm6vZ52d7b05OVHqw6rNEWVt6nplJVeXfJC85239lS38tYtnlhQb8iD9jI/6rAa3KkrycFRR1ev39L9bk+vdE50v9vTe6/fauwVi6LK29R0ykqvLnmh+c5be6pbeesWTyyoN+RBe5kfdVgdJnUl2T88VisZrd5Wkmj/8LiiiMpVVHmbmk5Z6dUlLzTfeWtPdStv3eKJBfWGPGgv86MOq8OkriSb66vq9nojy7q9njbXVyuKqFxFlbep6ZSVXl3yQvOdt/ZUt/LWLZ5YUG/Ig/YyP+qwOkzqSrKx1tbuzpZWWokutZe10kq0u7OljbV21aGVoqjyNjWdstKrS15ovvPWnupW3rrFEwvqDXnQXuZHHVbHWGurjiGT7e1tu7e3V3UYuR0cdbR/eKzN9dVz0aCLKm9T0ykrvbrkheY7b+2pbuWtWzyxoN6QB+1lftRheYwxN6y122PLmdQBAAAAQP1NmtTx+CUAAAAARIxJHQAAAABEjEkdAAAAAESMSR0AAAAARIxJHQAAAABEjEkdAAAAAESMSR0AAAAARIxJHQAAAABEjEkdAAAAAESMSR0AAAAARIxJXUEOjjp67vZdHRx1qg4lNZZ54iuqbEXHFZu8ZV3UPsuy7rR16tC2ykoPzTBvu5i3jzRRWeVtUj02qSwOYzaKdnDU0Yc+86I+9Jkv0g7mtFx1AE3w9M07unr9llpJom6vp92dLT15+dHaxGKlmeMrqmxFxxWbvPU4T73n2TbLutPWWVScVaSHZpi3XczbR5qorPI2qR6bVBaHMRtFe/rmHf3I+2/qpNf/u7Vk9JPf+xjtYEbGWlt1DJlsb2/bvb29qsMYc3DU0eNPPaP73d7DZSutRM9efUIba+3KY2kvG0lGnZP88RVVtqLjik3eepyn3vNsm2XdaetIWkicWdSpH6I+5m0X8/aRJra9ssrbpHpsUlkcxmwU7eCoo2/7iQ+qczI6D2kvJ/rd99EOpjHG3LDWbofLefxyTvuHx2olo9XYShLtHx7XIpYlk2gpMSPLssZXVNmKj/GA9wAAIABJREFUjis2eetxnnrPs22Wdaets6g4s6hTP0R9zNsu5u0jTVRWeZtUj00qi8OYjaLtHx5ryYxPQ5YSQzuYEY9fzmlzfVXdXm9kWbfX0+b6ai1iObU9yY5OnrLGV1TZio4rNnnrcZ56z7NtlnXPWmcRcWZRp36I+pi3XRTRR5qmrPI2qR6bVBaHMRtF21xf7Z8LBk57lnYwI+7UzWljra3dnS2ttBJdai9rpZVod2erktvGabFcu/KYrl2ZLb6iylZ0XLHJW4/z1HuebbOsO22dRcWZRZ36Iepj3nYxbx9porLK26R6bFJZHMZsFG1jra1rVx7TsjcTaS0ZXbtCO5gV36kryMFRR/uHx9pcX628MabFMk98RZWt6Lhik7esi9pnWdadtk4d2lZZ6aEZ5m0X8/aRJiqrvE2qxyaVxWHMRtEOjjr6xJ+9LMnqG7/mtbSDDCZ9p45JHQAAAABEgB9KAQAAAIAGYlIHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1I3h4Ojjp67fVcHR51K08uzXbjutG2LLl9ZYokziyrLEmM9xhgzmoP2h7qpok1OypP+UbxZ6jTG/RBjzHWwXHUAsXr65h1dvX5LrSRRt9fT7s6Wnrz86MLTy7NduO73vWVT77+xn7pt0eUrSyxxZlFlWWKsxxhjRnPQ/lA3VbTJSXnSP4o3S53GuB9ijLkujLW26hgy2d7etnt7e1WHIal/BeHxp57R/W7v4bKVVqJnrz6hjbX2wtLLs13auiG3raRCy1eWovdDlaosS4z1GGPMaA7aH+qmijY5Kc8PvOfteudPfYT+UaBZ9m+M41SMMVfBGHPDWrsdLufxyxnsHx6rlYxWXStJtH94vND08myXtm7IbVt0+coSS5xZVFmWGOsxxpjRHLQ/1E0VbXJSnjdv36V/FGyW/RvjOBVjzHXC45cz2FxfVbc3eser2+tpc311oenl2S5t3ZC/bZHlK0vR+6FKVZYlxnqMMWY0B+0PdVNFm5yU5+U3vI7+UbBZ9m+M41SMMdcJd+pmsLHW1u7OllZaiS61l7XSSrS7szXzreFZ08uzXdq67/7WN6ZuW3T5yhJLnFlUWZYY6zHGmNEctD/UTRVtclKeb379JfpHwWbZvzGOUzHGXCd8p24OB0cd7R8ea3N9tZAGN2t6ebYL1522bdHlK0sscWZRZVlirMcYY0Zz0P5QN1W0yUl50j+KN0udxrgfYox5kSZ9p45JHQAAAABEgB9KAQAAAIAGYlIHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARW646gKY5OOpo//BYm+ur2lhrVx1OZfx6kESdDNA+4pK2v5qwD10ZLl5Y0r0Hp7UtSxPq+rxp6j47q1xNKHcTyjDNLOVrWp00qTzTjmNNKmceTOoK9PTNO7p6/ZZaSaJur6fdnS09efnRqsNaOL8ejrsnMsZoZXnpXNeJRPuITdr+slL0+9CVy/asOqdWK63+Axt1Kwv9JT5N3WdnlasJ5W5CGaaZpXxNq5MmlWfacawJx+lZGWtt1TFksr29bff29qoOY6KDo44ef+oZ3e/2Hi5baSV69uoT5+oqQVo9+M5jnUi0j9ik7a/2spFk1DmJdx9O6591Kgv9JT5N3WdnlasJ5W5CGaaZpXxNq5MmlWfacawJx+ksjDE3rLXb4XK+U1eQ/cNjtZLR6mwlifYPjyuKqBpp9eA7j3Ui0T5ik7a/lkyipcSMLIttH07rn3UqC/0lPk3dZ2eVqwnlbkIZppmlfE2rkyaVZ9pxrAnH6Xnw+GVBNtdX1e2NXjXo9noPv1N2XqTVg+881olE+4hN2v46tT3Jjh4sYtuH0/pnncpCf4lPU/fZWeVqQrmbUIZpZilf0+qkSeWZdhxrwnF6HtypK8jGWlu7O1taaSW61F7WSivR7s5Wo273ZhHWw3IitZbMua4TifYRm7T9de3KY7p2Je596JervdQ/8K20ktqVhf4Sn6bus7PK1YRyN6EM08xSvqbVSZPKM+041oTj9Dz4Tl3Bzusv7oT49ct0tI+48OuX1WpCXZ83Td1n/Ppl/Pj1y2aV5zz/+uWk79QxqQMAAACACPBDKQAAAADQQEzqAAAAACBiTOoAAAAAIGJM6gAAAAAgYkzqAAAAACBiTOoAAAAAIGJM6gAAAAAgYkzqAAAAACBiTOoAAAAAIGJM6gAAAAAgYkzqsHAHRx09d/uuDo46VYcyVVFxxlJe1M+ktlPXNpUlrrrGnkXMsVfJ1dtnX3hlrvqLrT/MY94yNbFOgHk1vV8sVx0Azpenb97R1eu31EoSdXs97e5s6cnLj1Yd1pii4oylvKifSW2nrm0qS1x1jT2LmGOvkqs327PqnFqttPrXkvPWX2z9YR7zlqmJdQLM6zz0C2OtrTqGTLa3t+3e3l7VYWAOB0cdPf7UM7rf7T1cttJK9OzVJ7Sx1q4wslFFxRlLeVE/k9rOB97zdr3zpz5SuzaVpa3H3B9ijr1KafXm5Km/2PrDPOZta7RVYFzT+oUx5oa1djtczuOXWJj9w2O1ktEm10oS7R8eVxRRuqLijKW8qJ9Jbefm7bu1bFNZ2nrM/SHm2KuUVm9OnvqLrT/MY962RlsFxp2XfsGkDguzub6qbm/0im2319Pm+mpFEaUrKs5Yyov6mdR2Lr/hdbVsU1naesz9IebYq5RWb06e+outP8xj3rZGWwXGnZd+waQOC7Ox1tbuzpZWWokutZe10kq0u7NVu1vfRcUZS3lRP5Pazptff6mWbSpLW4+5P8Qce5X8emsvGUn9R57y1l9s/WEe87Y12iow7rz0C75Th4U7OOpo//BYm+urte5QRcUZS3lRP5PaTl3bVJa46hp7FjHHXiVXbxcvLOneg9OZ6y+2/jCPecvUxDoB5tWUfjHpO3VM6gAAAAAgAvxQCgAAAAA0EJM6AAAAAIgYkzoAAAAAiBiTOgAAAACIGJM6AAAAAIgYkzoAAAAAiBiTOgAAAACIGJM6AAAAAIgYkzoAAAAAiBiTOgAAAACIGJO6c+DgqKPnbt/VwVFn6rIsn+XJowpVxlFW3rGlW6Ym1kWWvIuKr4pyFp1njO0WQH51G+/rOPbUMSZUZ7nqAFCup2/e0dXrt9RKEnV7Pe3ubMlKY8uevPzoxPXdZ3nyOGubMlQZR1l5x5ZumZpYF1nyLiq+KspZdJ4xtlsA+dVtvK/j2FPHmFAtY62tOoZMtre37d7eXtVhROXgqKPHn3pG97u9h8vay0aSUedkuGyllejZq09I0tj67rONtXbmPM7apgxVxlFW3rGlW6Ym1kWWvIuKr4pyFp1njO0WQH51G+/rOPbUMSYsjjHmhrV2O1zO45cNtn94rFYyuouXTKKlxIwsayWJ9g+PU9d3n+XJ46xtylBlHGXlHVu6ZWpiXWTJu6j4qihn0XnG2G4B5Fe38b6OY08dY0L1ePyywTbXV9Xt9UaWndqeZEcndd1eT5vrqw/fT/osax5nbVOGKuMoK+/Y0i1TE+siS95FxVdFOYvOM8Z2CyC/uo33dRx76hgTqsedugbbWGtrd2dLK61El9rLWmklunblMV27Mrpsd2dLG2vt1PXdZ3nyOGubMlQZR1l5x5ZumZpYF1nyLiq+KspZdJ4xtlsA+dVtvK/j2FPHmFA9vlN3DhwcdbR/eKzN9dWR7+qEy6atP0seVagyjrLyji3dMjWxLrLkXVR8VZSz6DxjbLcA8qvbeF/HsaeOMaF8k75Tx6QOAAAAACLAD6UAAAAAQAMxqQMAAACAiDGpAwAAAICIMakDAAAAgIgxqQMAAACAiDGpAwAAAICIMakDAAAAgIgxqQMAAACAiDGpAwAAAICIMakDAAAAgIgxqQMAAACAiDGpa7CDo46eu31XB0edqkPJrIqYY6ynrJpctjoqqr6LSGfWNKosQ5XlLsu0eOaJNcu2edNfdN35+dVtv2WVJ+4y9lmR8cWgaeXxubJ99oVXFt5OFqFuMdctniIsVx0AyvH0zTu6ev2WWkmibq+n3Z0tPXn50arDmqqKmGOsp6yaXLY6Kqq+i0hn1jSqLEOV5S7LtHjmiTXLtnnTX3Td+fkdd09kjNHK8lIt9ltWeeqsjH1WZHwxaFp5fK5stmfVObVaafXvuSyinSxC3WKuWzxFMdbaqmPIZHt72+7t7VUdRhQOjjp6/KlndL/be7hspZXo2atPaGOtXWFkk1URc4z1lFWTy1ZHRdV3EenMmkaVZaiy3GWZFo+kmWPNUs68dbHoukvLzxfDWJWnzsrYZ0XGF4Omlcc3rT+U3U4WoW4x1y2eWRhjblhrt8PlPH7ZQPuHx2olo7u2lSTaPzyuKKKzVRFzjPWUVZPLVkdF1XcR6cyaRpVlqLLcZZkWzzyxZtk2b/qLrru0/BaVd1Hy1FkZ+6zI+GLQtPL4pvWHstvJItQt5rrFUyQev2ygzfVVdXujV3y6vZ4211criuhsVcQcYz1l1eSy1VFR9V1EOrOmUWUZqix3Wc6KZ9ZYs5Qzb10suu7S8ltU3kXJU2dl7LMi44tB08rjm9Yfym4ni1C3mOsWT5G4U9dAG2tt7e5saaWV6FJ7WSutRLs7W7W+rVxFzDHWU1ZNLlsdFVXfRaQzaxpVlqHKcpdlWjzzxJpl27zpL7ruwvyWE6m1ZGqx37LKU2dl7LMi44tB08rj88vWXjKS+o8DLqKdLELdYq5bPEXiO3UNdnDU0f7hsTbXV6NprFXEHGM9ZdXkstVRUfVdRDqzplFlGaosd1mmxTNPrFm2zZv+ouvOz09SrfZbVnnqrIx9VmR8MWhaeXyubBcvLOneg9OFtpNFqFvMdYsnj0nfqWNSBwAAAAAR4IdSAAAAAKCBmNQBAAAAQMSY1AEAAABAxJjUAQAAAEDEmNQBAAAAQMSY1AEAAABAxJjUAQAAAEDEmNQBAAAAQMSY1AEAAABAxCqb1Blj3mGM+bQx5rPGmPdVFQcAAAAAxGy5ikyNMUuSflrS35a0L+mjxphft9Z+sop4FuXgqKP9w2NdvLCkew9OH75urq9qY62dK4082zTFPGVP23aW9CZtM2tsRcawKGE7rnvs0/IMPys7voOjjj7xZy9LsvrGr3ltIe14lnXmzXPR9TYpjiLSklR5H6yyT5eZd1n7bFpas4xPecaIImMtUll5FpVunnSyHGel/P12UXHGYNoYLunM8b2Isi+y/vIcO+c5R69aJZM6SW+V9Flr7eckyRjzK5LeJamxk7qnb97R1eu3ZHtWnVOr5UQ66Ukrrf7N0t2dLT15+dFMabSSRN1eL9M2TTFP2dO2tVLu9CbFMGtss2xXdRsI23Hd2++0PMPPvu8tm3r/jf3S4nv65h39yPtv6qTX/7u1ZPST3/vYXO043LboOs7Sd8qut0lxzJqHn9Zx90TGGK0sL1XWB6vs02XmXdY+m5bWLONTnjEixnGuDunmSSfLcXaWfruoOGMw7dgX1m3a+D7L+dNZMZRZf3mOnfOco9eBsdYuPlNjrkh6h7X2Hw/+/iFJb7PWvmfSNtvb23Zvb29RIRbq4Kijx596Rve7vYnrrLQSPXv1ialXEMI0ztqmKeYpe9q27WUjyahzkj29STF84D1v1zt/6iO5Y5ulTFW3gWntuI6xT8tT0tx9Mm8s3/YTH1TnZHS8bS8n+t33zdaOw/iKruOsfSdU9H4tslxnjcWLbsdV9uky8y57n6WlNcv4lHeMiG2cm/fOWhHp5kknz3HWt+jyVn0snkeW89FpZjl/yhJDWfU367EzVLf9a4y5Ya3dDpfX+odSjDH/xBizZ4zZe/HFF6sOZ2b7h8dqJdOrupUk2j88zpXGWds0xTxlT9t2ySRaSkyu9CbFcPP23Zlim6VMVbeBae24jrFPy7OIPpk3liUznt9SYmZux2F8Rddx1r4TKnq/Flmus/b7ottxlX26zLzL3mdpac0yPuUdI2Ib5+qQbp508hxn542rjDhjOB/LcuybZpbzpywxlFV/sx47Q7Hs36oev7wj6Q3e35uDZSOstT8r6Wel/p26xYRWvM31VXV706+KdHu9h88yZ03jrG2aYp6yp217anuSHR2UZq3/y2943UyxzVKmqtvAtHZcx9jPynPePpk3llM7nt9pz87cjsP4iq7jrH0nVPR+LbJcZ43Fi27HVfbpMvMue5+lpTXL+JR3jIhxnKs63Tzp5DnOzhtXGXHGcD6W5Xx0mlnOn7LEUFb9zXrsDMWyf6u6U/dRSV9vjPlLxpgLkn5A0q9XFEvpNtba2t3Z0korUXup3xmWBzW/0kq00kq0u7M19baun8al9nKmbZpinrKnbXvtymO6diVfepNiePPrL80U2yxlqroNpLXjOrffaXmmffbub31jafFtrLV17cpjD/u91P9O3bUrs7fjML6i6zhr3ymz3oouV5jWctLfD1X1wSr7dJl5l7nPJqU1y/iUd4yIbZyrQ7p50sl6nM3bbxcVZwznY2cd+8K6Dcf3Wc6fssRQVv3lPXbOeo5eF5V8p06SjDHfJek/SlqS9PPW2h+ftn7M36lz+PXL+fDrl/PlVRR+/XK+WPj1y+LiKCItiV+/5Ncv+fXLstPl1y/rhV+/nLxODL9+Oek7dZVN6vJqwqQOAAAAAGYV5Q+lAAAAAACmY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAAABFjUgcAAAAAEWNSBwAAAAARY1IHAAAANMDBUUfP3b6rg6PO1GVonuWqAwAAAAAwn6dv3tHV67fUShJ1ez3t7mzJSmPLnrz8aNWhogRM6gAAAICIHRx1dPX6Ld3v9nRfPUnSv/rV5yQZdU6Gy957/ZYef/Mj2lhrVxgtysDjlwAAAEDE9g+P1UpGT+uXTKKlxIwsayWJ9g+PFxkaFoQ7dQAAAEDENtdX1e31Rpad2p5kRyd13V5Pm+uriwwNC8KdOgAAACBiG2tt7e5saaWV6FJ7WSutRNeuPKZrV0aX7e5s8ehlQ3GnDgAAAIjck5cf1eNvfkT7h8faXF99OHlLW4bmYVIHAAAANMDGWnts4pa2DM3D45cAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMSZ1AAAAABAxJnUAAAAAEDEmdQAAAAAQMWOtrTqGTIwxL0r6k6rjSPGIpC8NXuW9n/SaZZ3zll4TylD39JpQBuqEOmlCek0oA3USX3pNKAN1Qp1UlV7dfK219qvGllpr+TfHP0l77tV/P+k1yzrnLb0mlKHu6TWhDNQJddKE9JpQBuokvvSaUAbqhDqpKr1Y/vH4JQAAAABEjEkdAAAAAERsueoAGuBng9e0ZbOsc97SqyLP85ZeFXnWPb0q8qx7elXked7SqyLPuqdXRZ7nLb0q8qx7elXkWff0qsiz7ulFIZofSgEAAAAAjOPxSwAAAACIGJM6AAAAAIgY36mbwBjzDZJuSLogaWmwuDd4dZNhK8ksOLS8qoqxK6k14bNTDes0RjHsd6AJesp38TFv35y0Pn28/u5LWgmWsd8AlOFPJa1LuiTpgfrjjDuP/bykH7PW/lJFsT3EnbrJvlPSb0vqSHqX+geLP5L0m+pPSu6pvyNPB/866p+A9CT9Py+dB+offDRIwznw3ltJLwf5f2Hw2vGWnXpxdIPtw/TdeyPpRNKrKWW0g3K4dU+91wcaTmL9ONyyME87+MwO/rUG29hB/r4lSS962/rbuTqU95l7fWHw/t4gPj9/t91psNz9LY3Wmc/F5+JwcWuQz20vHT++8L3b5hWN1qVS1nceeO/d9scarTO3/DBI79T77I6X9gOl16ffPl4d5CNJn/SWnwTr+Xn1Uj5z9ZW2flivLl+3vKvRcv5BEKeL318W7nfXt9LyP/b+9tuY1B+gFSzz2UF8/ucPUtbz80jbxkp6KSWWMK4TDdun/7lfP37b9mO+r8n7xvlDpbe/L3jvu0E64XiS1lb99v9ikEdau/C5fdeR9L+95a6uTtU/RoXpuPJ3gr+lft+zSt+v/j5wZTEaHevuesvdeHKi0f7spx32x3Csc14e5O/Xl7z10+L1+4xLv+e9huPdqffqlvnpO3c1eSz0971ftleC92Ebd/Xp9/m0NP3+G47V045j0mhftxqd0Ln8jKRPKZ0/trnXrvdZWp7uuH4SrBOWz23zgvfexevXtSt/T8O2JvXHb6lft/767vwiLTY3Pvpx+en724V9yPVzfx/cC9Zz45nzSfXHMr/sXW/dEw3bRhirXxbXftPK1NNwDPXj/ryG9Xmq9PMf30lKrH5c7t8Db/kr3ued4DO3r9LaiUvH5eXXu9/mut46f+at4y/veO/9cypJOlJ63wiPk2E5X/K29+NzdRuOEe71npfXqUbHIX89f/tXNX6McfXo7/eXvfh+f7AsPNaHfdMfh10cfnvzY/TT62n8Pw+3Gh43nbuD5X8o6Vc1rNcX1K+rv6j+ufcvSvrMIM1TST8o6W2S/p0xZl0VY1KXwhizKenvqv8fEx5Ieq36B4tflrStfuNaVn8nJ4N/dwevVtLXeMn1lH5H9Cs0eiA6CD7/ypRt3FWBjUGartGfButZjV6t7Cl9Uhde0XSd4w/Uv0PpHyDawTqOfxBwVy9cun80eH87iNNK+hlvO9cOjfqdNNGwbr7kfbY6eH9fw7pweZ0MtvMPMqG0yY2L26Vh1J+QunQ7kh7VcMD37xx8yVvP70sfHCy3Gr0jaTR6lzeMxaW1Emzn1llOid15yXvv2ps7MfXr12l7ab3ZW+7n6w/Crp1/OSXvtDpPNDyJ9uvmt7z4Whq2ifvq13MYZzhGfSH4+yWlcxcOfH66H/ZidvsqXLcTbOPy8g/sq957d2Ljb/MlSReVvj+lfvlOvXXdMgXL3N1tP323b17SaNt3/DhfM1jnM0EMfl7hSYT/6vdrf3xxMRyrPy7564XjS3iwb2s4tjzjpe3+uTpz7cgfL/18/JP9ZQ3bvZ+/n15P/bbX87ZJ1L9o0va2MYO8lzU86T4N0g2fOFjW+EmPS8vP0+2rjvd5WhuUhuXvDuI80HC/ufzvDd53g5jcuO/qRJI+q9GnKPx8j7xlrr1J0oe85a6O/HpwfdmNUYm3rdGw3m542ywpvS357cTP47ZG24C8PPwLDl8XlMvtjyONts0TDesq7YKFn4+r+7S4fL/spbHsvXf8sfnnvM83Bu9Xg3xeGcSYduxybcY/6b0weP+SxscZX1ejdxqM+u3igreOXwapf17jLrS4eO556y6p3978/e1z65jgM7/td9RvS+5vd+7wJxq2uztKvwjij3eJxtu4v+/dv5bSLxCHcbpx/o8npNfRsI5f9dZx54Ty0rSS1oJY3bHqgoZ91Z3TOB/WsN36/EmdO2b545/79cafC7b788Fr2kWQrvrHLeeLGh9zXLncBNXdOfdjvu+VaUnD84ff8+L7isGrO8fqBq+ubM9rvB3/Ny+dpcE6jn/eE55PmyDW++qX16h/PvSJwft76pfdjZlfp34b+JSG5+D/1Vp7oP65zTtUtar/9/M6/lN/lv4WSe9W/0DwP9TvSL+n4ZUUd7fODS773nv/5GjaP3+d0wnrvDhhuyzpz/qvO+Hv8I7aWeX8+ODV3fn6Y++z7wrWdVe0HgTL/zQl3S+k1Fe43Sz/OlM+c7H75f3ShDJk+Tdpf+f556cR7odZ0w/3fZjO6Rxpp8Xp2sirKemm7Y8XcuQ1Lc4s+ypcx6VXdN9z6R2lfBaOK1nqdNq/D88R5/GMeWbZ5tkp++44Rx5h+82y/6aNHSdT0g3bV9o4OWndoupt2j6alG93yuf3cuQVppelT4Xp38+RT9Y6dMfHcJ+FdePXaxHHj7Q2NS3mtPGtqGP7PPt1Usx+XJPGxqz1OKmMvzhhuZ/fffWPF+7vl1PSzFOH0477k/59ecpnn81Z9+E53qTYf2fK5y+fkYdVfxKXFk9X431lWv2F+/ggQwxu/6XVtfvs1WD5tDqeVLdpde3Sn1amP9fwjmnPK+OXJV1V/2LoA/XHkCMN70ofSXrvYN7wbyX9aNXzF+7UBYwx75T0RWvtDfUnFJ+T9HfUn9F/XP3ZuusA/p2Tfzh4/ZJGr5Kcqn8F+CwvaHgFxr/75a4whFcv/ccuJt2t8KXdzQuXu2X/YvAaXvlPu4IaPiric1fW3HbuDqZ7HNRfP7zi7a52/YXB6wMN6+WrNXoFzI8nNOnRFd/zg9cLKeu52N3VX/+O6seCdFwMdzUurJuz+l545zYtDT/O90+IJY0byNKEeYSPHCZe2mEak9L0hY8ZuyuWafVxIWXZVw1eXZzHKes47q6e30bDx5WctNjDmNLueIbCu1HPpizz74ak5e+/d33IlTftjoK7wtkJlvvv3WdvDWIJ93cYq59GeBdLGr+L5q8ftp1Jd0P8uJ5PSc9dcQ/3W9pdGjeOfDn4zG/z4Z0hl35Ho080WA2vQrt0/5P3edg+XPru7kI3WNd/NDXtMUVNWObifSVc0fPDg1f/kcRTDU+MnPCRo3AcTetz0rDfWo23mfDxPUCdAAAJDklEQVSuWdqxxX3WCtZJe4pl0hMo4THDpXuq0a84hE9JuPJOelTbz3PaOqG0x7HdXQ9XzmljxUdTYgjXD48D4fjpP7rn71f/8Uv/jqQ0PNF13GP9bplr1+HY6sfi0nZ3mMK40x4b902ql783ePWfAJDGzw/SzjvSzpHCu3A+19fdvnLp+Hcfw23d+9cGafl1temta9V/SsL9HZZLkh7R6BMoaedWkvQtg9fwEVlpeBxNK+dPDF7dsdPF89veOmE/vBf8/c81Pl66vC4NXi9qnKt/t/8+PXj1xzLX3tzYFabr6iEcm8O6lcb7lJ932hNF/rHN1UFP0q3B++uSvl/SGwfr3pH07wevq5J+Q9J3G2O+PSXfSjCpG/e4pCeNMc9L+hVJf0X9A2NP0rdr+H2uRMPbypL0vsHrRY1O4k40/hhYmlUNDyj+gSUJXp0lDRuhG2D8Eyy/4XY1/YTAcZ322wavy8Gr+35L2mQqbTD52uAzd1K4pP4kJK39vRis6+ryZQ3rJe3xLpdW2h0reZ+l2Qz+nvb43yPe+7/lvbfeuhc1/jy/e9QoTdokK+3Z7LQ24HzPhLTTuMdK0k5K2sHfbqBNq7uzfpAg7Xs74cHQTdr9yaI0egBM48q+OmUddxHBfwzHXXAJy55Wliw/uOC3sVc0PvHwv1/puANw2I6Xg7+lYXtz5fVPusNHg/xHaqXRq6Ku/4cn7f7Jeph3mE94suE/HpSlrvwTzXB9Vz538PRPMtxFtLTHGifl7S6GXQjW8U/UXBvwJxHh48eu/t3235eSl+Pa2RsGr+GJkt/GXT5pj8VPOi67k5xwYij1J8VhvSQafnXA+RmN/4BV2ngXntD646uUfkEufCzTpqwT9um0H8xanvDZHY0/puoe61rx/nbxho/GrwX5++OTOzkMf3hlGv8k0PWzcJ9P6xdbwd/u+O1vs+G999usq4MljU9CpNHHcJc0fkHGj9M9OhjGGo6t/tjt+pXrZ2Fd+7F8UdMvJPpcuq4u3GPZ/nh9qOGFMT8uv9/01D9fSBtTnXDi7X+two9BGh+3wj7q90W/rv3v5fkXHMLvg6b1g7DOXAx+/w3H5rB/nEj6Ji89/3UpePWtBX+/XqP92v+uYDg2+MK0vyGI12q8DG65Gxvdvv9EkFZamwovMPnCY4Hvokb3jzt3/UH1629psP1/Uf9mz3ODuB6R9D8lfbP655F3VDEmdQFr7b+21m5aa98k6QfUn9Dtqr+jv1rSL6jf2O6rf+L+svo7d13D7xT4jcb/kRK/Abo03PITDQ8sbjtptKPc95b5Ezf/x06k8cHNaPxkPW1dt/53a3wAcOl8TqMDh7tbabzlaYOH33lP1f9uRXiAsuoPHv4g5wbs2xr9Ppe7VR8Otn4+0uiBOy2+B8H67gvS/q14f5tXNazvL2r0OzJ+XbnvMPnfhXC37X2nGr/66v+IiUvPvYYDtvvb/xEVd8XXDmJN+7GEexruu16wrfNr3nZGo5OXSV9U98vrDqjhnTJ/UuBPaP7cW99vT34+btsXNHxsZBK339zdOdeGE/XbV3iFN+2HFMLJZfj5i1467ruQ/jp/XaMHNlf+8Dsy/vdh9jWeT1ejd1n8x8v89us/JeAmXa7MfnqOPylz+yPsH+E+8C/y+CdNrh3735P0ue+b+WV23I8fGKXf6ZYmH5T9CYYba8O+IvX7q3Oi4SR4WcM+6z/14J9EuDx+TeP14XQ03h7DdcOLCRc1HGfS7rj49XWq4fcn5cUt9U8qTLBNWH4r6e8Hn4UXvvzJvft+lDQ8wXffmwrbedqJ+7H3uUvHv6jglzftbo402kbepPHvY6WdwxylLJOG331yMV3QcCz370L5x17/IqbfpvyLeK7PGA0n3vLWfc57n3bB1qW9qmEd+nn66W14792rf3Lulq967x9oeMfZjWd+Hu7itH88du/945B7VLbjfe6fw/gx+ROP8PgvSTeV/sNQLs3XDLb5zsF6/nf81zRsR/7dOHd3zi1P628uPv+Y4Nqee4zwDV6ebjz1f6TFP+a79FY0vs/cuOs/1eDqoaPRc5cNDe86+33Qt6b+hMLt71MvTb/Mbgxz5XcXn5e8dboaPh0RPnXh6sdvD+/14jgZrOvOCfzv2vl3EV1erj5e9tZ1FxmNRm96+PG5iaWbAL9Fw/EqPKa55e5CSXgR3R3HusE2rowtb9mnNWx/ifqTfPdDZm9U/8cS36b+OPhX1b/Z86eSvmPwWaXM4FlQpDDGvEPS/9LoFdxwcOpo9I4d+sJ6AgCgKBxj5jdLHdat3ntq/g0K9+N8KF9a+7bqXzh/VtJfVv8Jvrsa/sDKgaQft9b+wgLjTMWkDgAAAAAi1vSrGwAAAADQaEzqAAAAACBiTOoAAAAAIGJM6gAAAAAgYkzqAAAAACBiTOoAAJiBMeZ3jDHbVccBAACTOgAAFswYw/87BQAoDJM6AECjGWPeZIz5lDHmPxtjPmGM+T/GmFX/Tpsx5hFjzPOD9//AGPPfjTG/ZYx53hjzHmPMvzTGfMwY83+NMV/pJf9DxpibxpiPG2PeOtj+ojHm540xvz/Y5l1eur9ujHlG0gcXXA0AgAZjUgcAOA++XtJPW2u/UdJdSTtnrP/XJH2PpG+R9OOSXrXWfpOk35P0bm+911hrL0v6Z5J+frDs30h6xlr7Vkl/U9I1Y8zFwWffLOmKtfZvFFAmAAAkSTz+AQA4Dz5vrb05eH9D0pvOWP+3rbWvSHrFGPOSpN8YLP8DSVveer8sSdbaDxljvsIY8zpJ3yHpSWPMjw7WWZH0xsH737LWfnm+ogAAMIpJHQDgPOh4708lrUo60fCJlZUp6/e8v3saPXbaYDsryUjasdZ+2v/AGPM2SfdyRw4AwBl4/BIAcF49L+ktg/dXZkzj+yXJGPN2SS9Za1+S9JuSftgYYwaffdOccQIAMBWTOgDAefUfJP1TY8zHJD0yYxr3B9v/jKR/NFj2Y5Jakm4ZYz4x+BsAgNIYa8MnRwAAAAAAseBOHQAAAABEjEkdAAAAAESMSR0AAAAARIxJHQAAAABEjEkdAAAAAESMSR0AAAAARIxJHQAAAABE7P8D8J0YJ9Cu0rUAAAAASUVORK5CYII=\n",
    
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<Figure size 1080x1080 with 1 Axes>"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {
          "needs_background": "light"
         },
    
         "output_type": "display_data"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
        }
       ],
       "source": [
    
        "%matplotlib inline\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
        "df1.plot(x='number', y='num_available_bikes', kind='scatter', figsize=(15,15))"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       ]
      },
      {
       "cell_type": "code",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "execution_count": 150,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/html": [
           "<div>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "<style scoped>\n",
           "    .dataframe tbody tr th:only-of-type {\n",
           "        vertical-align: middle;\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    }\n",
           "\n",
           "    .dataframe tbody tr th {\n",
           "        vertical-align: top;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
           "    .dataframe thead th {\n",
           "        text-align: right;\n",
           "    }\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "</style>\n",
           "<table border=\"1\" class=\"dataframe\">\n",
           "  <thead>\n",
           "    <tr style=\"text-align: right;\">\n",
           "      <th></th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>number</th>\n",
           "      <th>name</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>address</th>\n",
           "      <th>address2</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>commune</th>\n",
           "      <th>nmarrond</th>\n",
           "      <th>bonus</th>\n",
           "      <th>pole</th>\n",
           "      <th>lat</th>\n",
           "      <th>lng</th>\n",
           "      <th>bike_stands</th>\n",
           "      <th>status</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>available_bike_stands</th>\n",
           "      <th>available_bikes</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>availabilitycode</th>\n",
           "      <th>availability</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>banking</th>\n",
           "      <th>gid</th>\n",
           "      <th>last_update</th>\n",
           "      <th>last_update_fme</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>code_insee</th>\n",
           "      <th>langue</th>\n",
           "      <th>etat</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>nature</th>\n",
           "      <th>titre</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>description</th>\n",
           "      <th>startdate</th>\n",
           "      <th>enddate</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>x</th>\n",
           "      <th>y</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>num_available_bikes</th>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>337</th>\n",
           "      <td>7003</td>\n",
           "      <td>Gambetta / Garibaldi</td>\n",
           "      <td>100, Cours Gambetta</td>\n",
           "      <td>Prolongement Rue Rachais</td>\n",
           "      <td>Lyon 7 ème</td>\n",
           "      <td>3</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>métro D</td>\n",
           "      <td>45.7517901355474700</td>\n",
           "      <td>4.8526079660087520</td>\n",
           "      <td>40</td>\n",
           "      <td>OPEN</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>0</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>40</td>\n",
           "      <td>2</td>\n",
           "      <td>Bleu</td>\n",
           "      <td>true</td>\n",
           "      <td>1058</td>\n",
           "      <td>2020-03-09 23:26:37</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69387</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>844012.279367</td>\n",
           "      <td>6.518600e+06</td>\n",
           "      <td>40</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>17</th>\n",
           "      <td>3029</td>\n",
           "      <td>Place Aristide Briand</td>\n",
           "      <td>Face 303, Rue Duguesclin</td>\n",
           "      <td>Angle Gambetta</td>\n",
           "      <td>Lyon 3 ème</td>\n",
           "      <td>29</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>itinéraires cyclables</td>\n",
           "      <td>45.7530043530221000</td>\n",
           "      <td>4.8502474272199690</td>\n",
           "      <td>38</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>6</td>\n",
           "      <td>32</td>\n",
           "      <td>1</td>\n",
           "      <td>Vert</td>\n",
           "      <td>true</td>\n",
           "      <td>881</td>\n",
           "      <td>2020-03-09 23:27:36</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69383</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td>843825.657469</td>\n",
           "      <td>6.518730e+06</td>\n",
           "      <td>32</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "    <tr>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <th>34</th>\n",
           "      <td>5004</td>\n",
           "      <td>Saint-Jean</td>\n",
           "      <td>Rue Saint-Jean</td>\n",
           "      <td>entre entrée de la Cathédrale et le métro</td>\n",
           "      <td>Lyon 5 ème</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>4</td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td>funiculaire, coeur quartier, Vieux Lyon</td>\n",
           "      <td>45.7604837438977800</td>\n",
           "      <td>4.8265650503972600</td>\n",
           "      <td>39</td>\n",
           "      <td>OPEN</td>\n",
           "      <td>7</td>\n",
           "      <td>31</td>\n",
           "      <td>1</td>\n",
           "      <td>Vert</td>\n",
           "      <td>true</td>\n",
           "      <td>854</td>\n",
           "      <td>2020-03-09 23:26:02</td>\n",
           "      <td>2020-03-09 23:31:00</td>\n",
           "      <td>69385</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td></td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "      <td></td>\n",
           "      <td></td>\n",
           "      <td>841965.869361</td>\n",
           "      <td>6.519518e+06</td>\n",
           "      <td>31</td>\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    number                   name                   address  \\\n",
           "337   7003   Gambetta / Garibaldi       100, Cours Gambetta   \n",
           "17    3029  Place Aristide Briand  Face 303, Rue Duguesclin   \n",
           "34    5004             Saint-Jean            Rue Saint-Jean   \n",
           "\n",
           "                                      address2     commune nmarrond bonus  \\\n",
           "337                   Prolongement Rue Rachais  Lyon 7 ème        3         \n",
           "17                              Angle Gambetta  Lyon 3 ème       29         \n",
           "34   entre entrée de la Cathédrale et le métro  Lyon 5 ème        4         \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                                        pole                  lat  \\\n",
           "337                                  métro D  45.7517901355474700   \n",
           "17                     itinéraires cyclables  45.7530043530221000   \n",
           "34   funiculaire, coeur quartier, Vieux Lyon  45.7604837438977800   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "                    lng bike_stands status available_bike_stands  \\\n",
           "337  4.8526079660087520          40   OPEN                     0   \n",
           "17   4.8502474272199690          38   OPEN                     6   \n",
           "34   4.8265650503972600          39   OPEN                     7   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    available_bikes availabilitycode availability banking   gid  \\\n",
           "337              40                2         Bleu    true  1058   \n",
           "17               32                1         Vert    true   881   \n",
           "34               31                1         Vert    true   854   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "             last_update      last_update_fme code_insee langue etat nature  \\\n",
           "337  2020-03-09 23:26:37  2020-03-09 23:31:00      69387                      \n",
           "17   2020-03-09 23:27:36  2020-03-09 23:31:00      69383                      \n",
           "34   2020-03-09 23:26:02  2020-03-09 23:31:00      69385                      \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "    titre description startdate enddate              x             y  \\\n",
           "337                                      844012.279367  6.518600e+06   \n",
           "17                                       843825.657469  6.518730e+06   \n",
           "34                                       841965.869361  6.519518e+06   \n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "\n",
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
           "     num_available_bikes  \n",
           "337                   40  \n",
           "17                    32  \n",
           "34                    31  "
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "execution_count": 150,
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
        "df1.sort_values(by=['num_available_bikes'], ascending=False).head(3)"
    
    Alessandro Cerioni's avatar
    Alessandro Cerioni committed
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "### Cela donne envie de mener d'autres investigations, n'est-ce pas ?!"
       ]
      },