{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/filipe/.virtualenvs/iris/lib/python2.7/site-packages/folium/__init__.py\n",
      "0.2.0\n"
     ]
    }
   ],
   "source": [
    "import folium\n",
    "\n",
    "print(folium.__file__)\n",
    "print(folium.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy.ma as ma\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from scipy.io import loadmat\n",
    "\n",
    "\n",
    "def colorize(array, cmap='rainbow'):\n",
    "    normed_data = (array - array.min()) / (array.max() - array.min())\n",
    "    cm = plt.cm.get_cmap(cmap)\n",
    "    return cm(normed_data)\n",
    "\n",
    "\n",
    "merc = loadmat('./data/mercator_temperature.mat', squeeze_me=True)\n",
    "x, y = merc['x'], merc['y']\n",
    "level = 10  # 10 meters temperature.\n",
    "data = ma.masked_invalid(merc['temp'][level, ...])\n",
    "\n",
    "colored_data = colorize(data, cmap='rainbow')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;base64,CiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5jb20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvbGVhZmxldC5tYXJrZXJjbHVzdGVyLXNyYy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjEuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9sdm9vZ2R0L0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC9kZXZlbG9wL2Rpc3QvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5EZWZhdWx0LmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL01hcmtlckNsdXN0ZXIuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPgoKICAgICAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAjbWFwIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOjA7CiAgICAgICAgICAgICAgICBib3R0b206MDsKICAgICAgICAgICAgICAgIHJpZ2h0OjA7CiAgICAgICAgICAgICAgICBsZWZ0OjA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPiAjbWFwXzU2ZTFmODk0ZjI4MTRlOTU5NTE0MmUwMmVmZTlmYzU1IHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgIHRvcDogMC4wJTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF81NmUxZjg5NGYyODE0ZTk1OTUxNDJlMDJlZmU5ZmM1NSIgPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIDwvYm9keT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgdmFyIG5vcnRoRWFzdCA9IEwubGF0TG5nKDkwLCAxODApOwogICAgICAgICAgICB2YXIgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMoc291dGhXZXN0LCBub3J0aEVhc3QpOwoKICAgICAgICAgICAgdmFyIG1hcF81NmUxZjg5NGYyODE0ZTk1OTUxNDJlMDJlZmU5ZmM1NSA9IEwubWFwKCdtYXBfNTZlMWY4OTRmMjgxNGU5NTk1MTQyZTAyZWZlOWZjNTUnLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6WzM2LjYzMTY1MjE2NTYsLTY5LjUwMDAwMDY2NjZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl8wZTU3NzQ1ODk4YTQ0ZGM3YmY1N2JlYzdmNGMyODIxOSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtYXhab29tOiAxOCwKICAgICAgICAgICAgICAgICAgICBtaW5ab29tOiAxLAogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnRGF0YSBieSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+LCB1bmRlciA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodCI+T0RiTDwvYT4uJywKICAgICAgICAgICAgICAgICAgICBkZXRlY3RSZXRpbmE6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTZlMWY4OTRmMjgxNGU5NTk1MTQyZTAyZWZlOWZjNTUpOwoKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaW1hZ2Vfb3ZlcmxheV83OTNmZjUyOGUxMTA0MTJhOTczNDkzMzI1YjYwZjNiMCA9IEwuaW1hZ2VPdmVybGF5KAogICAgICAgICAgICAgICAgICAgICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdjQUFBQlRDQVlBQUFDQ3FobENBQUFncjBsRVFWUjQydVdjRGJCdVZWbkhqMkVZeGtpU1pCaUdrU1JKa21RWWhhRVlobUVhaG1FNEZGSWtTZUpnU0RGaXlJaERqRGpFaUJReElrVVVJZzRSVVlpSWlJaUlpQWdSaU54QWlHLzV2TURsZnA3Vi9qM3YvbTMrWjk5ejZGNDhsM3U5bkprMSsydnQvWjczK2EzbmM2MzlUazM5Z1AvOTFRYlQ3YUF0cHR0YmQxdmVkdGwzYWJVMzdMMjB2WGEvcGUxWERscmNmbjMvSmUwMzlwbWMzLzdReDl1TGozK2tQZi9VaDlxUG52RkF0WHdXOSt4dzhPTDJpNGM5M2w1MjFHUHQ1NDljMUg3by9IdmJWdGZmMG43NjJsdmJkcmZjMUhaLytPcTJ6NUt2dHYyWGZibjk2Zkl2dGZlcytHSTdzdjE3ZStmU3I3U1hYUGZkdHNVMXQ5WDJCVmZjM243eXF2OXRMN3I2dG1xYzV4bGM0M2xzT1UrZm43aHkwdmZWZDl6UTluajBHL1VacjdubnY5dlUrdkQzb2FuV0R0aDZ1djNXbnN1cS9kNHV5OXZ2N0w2ODdYVEFrdmFxUXhZWGxHMlBXTlMyUE82UnR2bUpDd3ZPa3ozdkZZY3ZLakEvZnNyRDdVY3V1cnVFdU0xTi8xTkMyMnZSRmUxdGk3NCt0SGN0dTZTOWYvcnpKVXo2SWZnZnUrek91by9HUGlCZXZtQkIrNFdiRjlRV1VGeDc5Z1gzdG8wdnVhdjZBT2VYYnJ1eEFPMTg3M1UxRUtiV2w3LzNiVGJSbnQzMld0YmV2dk9LdHZkT0swcURCSVN3Zi9hWVIxZjVDd1B4V2VmZVY2TWFRZjMyd20rMjMzM3N5dG9DNVErWFhOYmVzZmp5MGh5Mkw3MWhvZzMwMy9EQ2U2b0o1K2R1dkhrUStpL2YvdTBDQVJpZUQ1eE5MNytqN3FNZnorSHo2TFBld0huM1Z0T2xMWmdtdG52dXVyek1HYVlOTUdqRDZqd1BjNGJRRUNvdzN2TElWZTAzSDd5bUFHSENEbHgrY1RVMGh6NllMQnJtalB2WVB1L1NPNnNoZUxUbWRmZjlWL1VGQU5wREh4clh2UWNvUElmUG4xcWYvdEFVZkF5bTdVMTdMQ3V0d1pSaG5sYjFHWm9ZdElCUkRnejhBSUpGYTM3LzhhK1Z6OEhmNEhkMmZlQ2FFclMrQlFIekREUUNNT3l6UmZpYU4wd2tXOHdZMElEQmRmcnhMTTZ0ZDNENDAva0RhZXVqSDJ0VDUzMnZ6TWVxM3E5WndZY0FCUitET2FLaFFRQjY0MFBmS21nQVErQUFFRXI2R29RT0NCcjlnSzUyY0l3WmUrV3QzeWx0WWlDd2ZmMzkxNVp2KzdXN3IxLy80S1Nmd1c5ZysxZm5mb1FFR0NEZ1N4QVVJeHdOd2JRaFFPQnhEdUV6Mm9IeDNJc25VRFNGd01QazRaUFFNcCtGMFBrTW5vSDJBSWZqSGUrYStDUStCL2owWFMrQTdMdjlKQUJJN1FIT3p4ejc2R3A5UVVZeTJvQmdNRjgwUUNGSXp1TnpFQ2o5MEFaOEJWQUFRcFNHY1BGSGhOWi91L3lNOXNtbC85USt0ZlMwMm5MODBlbXoyMTlNWDFEbWtHZWppVURqR0pBMllMNTN4VVhyQjV3LzIzSzYvY2syMDAvNXkyeHkyb05saGhpOWdHSFVJelMyYUFod0hPR0FvUmtXY3c5Q0pwdytmc1ZuMm1sTFRtMy9zT1FmMjBuTC9ybUFzRDE1MmVrRmlDM25qbHR4Vmp0NitweUMrT0hwYzlzeDAvOWE0R2dmbS81c05mcE1QWlAvU0VJWitZeDZoSXc1d1hUaFo0Q0RhUU9NUG9GOWo5RWl3dWtQVEovZlByN2l6QUVLd2dkU05nUnR5M05DNEg0Z0FwRG5uTDc0VSsxZkhqL2xtUXVIYUFnTndHeGg1OUVZR25BQWcrQTVqL21pajllOGZ2Q0tMOVJJUjZocXlTZVdmN29FamZDNTlwSHBmeXZOUUVOb2FBdm5CUUlNSUp6MzhDZmFsKzc5V1B2YUhYL2R2bm5yVWUzYW00OXMxeTM0MERNRERqa09rUnRoOVErZmZYOUZUSmdsaEk0dkFRS2FnT2FZWU5MUUprd1hRRGpXSHh3Mi9ibUM4WmxGSjdkUEwvcGt3UkVNRFkwQXhnZW4vNk0wQzBBQW9SK2E4ZG5IL3I3OTUwTW5yQVFrMnc4TW5NMU9mcmh5RmNvdUx6eHBZUWthaC85azk1QjQwaGZUWlVKSmRHWDRhblFFRkxOL0hUUU5JSUJqYTlTRnRpQndoQ3dZUmo5Z2JNREJoOUR2aUhaZWFRcEJBWDNQWFhoaSsrSjl4N1d2M1AzUmd2TDEyNDl1MzdqdEk3WFB1Uy9mYzJ5MXI5NTFUSjFicDZFUUJsc3N0SkVqa09DUnZ3QU1VSm45VTloOHpsbjNGd3lMa09ZdDVCRG1LR2I1Q0p6STZJK1dYbG9SbENhTlJKTmp6Z09Idm1nQllQQUorQmNkZlVaa3drRnpCSVBwRW94UTJBTGk4dzhjWDJZTmJRTDRPWS84WFoyajd6b0p4Y3dhazhMb1pwVGJ5Qk53eUVSUkZoRng2dFNxMkhLTW56RGNOYkhEZEpsN0FFTW9DQjBZYWcxbXkzTWNFeHdBaVhQNEVpTXhJQUNEWTJBQlFUaEFBUkRIbURHMEJnQUlYUmhuUDNwU3dmQmUvUmJQMHdldGMyQXNYeUI4Ump0UmtybUYya04wWlRpTGlYTExQZlJubno3QUFTN2FRaU9mUUJPQWhMbWlBdUFXRU5iTEFBTVVyMXQ5eHNFamVKMDhEaDVmb2dZWkZCaU5jVjU0YWtacW5Wcm04d3lyZVE0YXRFNkJ3VkVqVk12cm1DTzJDQmxvbURRRlR2UmtLWVhHdnNmNENrQ2hhUllzRVRadzJEY1R6d3F6dFRJMWhYMXlGMHpabjA5Zk9BUUQ3Q05FaEl1d0VUcmFJUndiZ3FlUEpnOGdxVjJHMGtaMUNZZno5RjJuL0F0K0FnQUFBZ3hhQUJ5MUJmUEV5TWRmNEJPTXFqaG5WdTNJQndMM0F3b1lDSnQ3Z0dmOUNzMVFPMmhBUWZpTWZud0Vwa1cvQUFqemtNODkrUEhCYWVNL2NPWkVYd0RnM2t4QXVjY0UxQ1JVazZpLzRoNmdDTWE4WjYxRFlZNkZpQW80em1rNDZZUjUwcVJoNG5UT0N0VlJqa25pUENFdVVSSUNCaUFRVEJnQkIwRDlDNmFOeGpQb1Mxa0ZnV0h2alp4d3lsKzQvMjhLRXVjOEx6UUFHWEd4cFQvT24rY0F3aHhJcmZGWWFKN1hUMlZDQ3JCMUlrd0dER1lMYmNIaDA0REJpR2ZMTVlKR2tBalh1cFRsZXpVSU00UWZ3RHhZd3hJQXdEUWRORXdKSXhYL2dLQXdUMmdFR3FDV0dCcnJxRGtQUFBvQlFtaUFJVmVob1Uxb25ab2lKTzVINjRCaDArOVlQZEFrR25Dc1ZUQS9kY0lrS1dRZUJCT1VVUlhtQ1dFajFHeEVXVzdSQnZjWi9XZ1dBQkE2a0FERU9VRFN6OUdwNmNsUW1IM05DL2tKOS9wc1A5T0VFdE9ERU0xZmpLNkFSQUw1clZzK1hNZG9rWi9EbHY1QW9nbmZjbzcvVTFZWjFpcWNqYzU4b1B3TTVzdGtrRkdPTUN4NTJCQVlKb3RtcElTUWpJd3dhZW5JMVNBZ0F4dVFSbG84Z3o2Y3M1RmtHcTNSVERxQkFpakErUG5qLzhNUUc0M0IxSkhkZitlR3d3c1NtbWl3a0daTjMwTURpRm9qckxXcU9mZ1o4aGsweG9LaklTdUNvQ0ZBR2tKeVhvVEdNZGN4VFk1aXZoRFhnSXVwbzc4YXdEa0VqbFlnYkpOUEJVdy9ucWZQNHJrSUI0R1RqeEFRWUw0UVBGdE1HaURRRExXT0xXR3lnQlpjLzRGMjd4VUh0OXV1T2JTTzlVWGphc0w0Mk9Mb1dvT0R4cEF3dXRRSWpjSEJtK3doSklTcVNSRU1Xc0YxQkdoRjF4STdveEZCNjVlQXpMMzBGenB3aEUxZjdtUGtBNGZHOC9Bck9QaTdyM3hmVzM3K0g3ZDIrdHRiTy9tdHJaM3c1dGFPZjlPa25maVcxazdaczdXejltbUxManFnQUdETzhEZUE0UDd2WHZ1WGRXMzZ2UDNhd2tzT3JPdUExblNOVzRiWEZrWFhDaHpBRUlGbFhZdlJya0NGbzdrUkR0Y1JJaU9hSkkzR3FNVmNhZDRzditCckxNbWdsVHpmSUFBZ2xsaUVndDlBeUFpOEFCejUrdGFPMktXMW8zWnQ3ZGczVHVBQWhYYmM3cTBkL1liSmRmdHcvb3k5QytpakY3OTdBdmJzUDZnbUlNd2NnVWNDU3JPbW1VTURNWWRyQlF6ejlEaC9SalFDUlBoajIyN3lweTh3Vk9iTEdjclNHT2tJRjBCOHNjeUIyRnJJNUpobjhSazBvQ0FrbnZIQVpRZTFkdXJiSmhDTzJXMnlQV21QMXM1OFJ3a1pEVURnTmpVQ0dBUElRMS9UMnVHdm5kd1BxRTdqNklkcHUvM3E5NWNtQXAvUFEvakNBQXlERGJQSGVRSU0rZ0R5YVFWRC9ZdENKb21od2twZndyNVpPWUNBZ1NaaHp0QWl0QVNiRHh4ekRFWThXb05XQUlsK2FBdVFzajVtZVFhTndTL2NmTjFocloyejd4T2FvTmxpdnhNNkVCQXM0QkR5MGd2MmI0c3ZmRmRwQU9jUU50YzVWNmFQKzRDREpuWFA0UjZDZ20vZitNRjIvVTFIVkpDQUh5TGNSdU9OMXRoYThLVHgvVENCM1BlMGdhRlNiTWpNaUVaUUNCRmZZODVpUWdrTU5RWWhBdzZoWXJNdHI1dGJJR2lnR09JQ2lXZVlhQUtHK3dISWlMenY4dmRPUmp5YVlRTU1JeDVUMVprMSt0eDUxU0h0b1V2Zjg0UjVPdmVkQll4ek5KMDkvVGhmZ05BNFRGd0hIUmcwTlFaaEc4R1IyQW9EODBYZVJOREJkK01lK3o0dFlGelNTc2hNWkdaVVJUQ0FFQzNmQXdRd2puaWF1UXNxajNCMXZFUk1hQS9BRUx5empKZ0t0RSsvZ3haaU5yaXZCSzF6QndwYW8wQVo5WjJBRWFabUNFZ2wrQTRNOTJxaUFNSVdwNC9nMGFhQ0ErQXVVRUN3RENBMGhuc0VpZVlBaC84YjdkYzhNOURVTERUYTV6NHRrUmtsR0xOK3l5VUVBelEwUjAzQ0Y1aC9HTzZpQ2RoaHZnRC9NUDg4WDRTUnhzZ0RXbWJaWnRkV2tQVXJKV1RCc0FVTUp1aVFuVm83K0ZmclBFSlVNRFFoWWFJQUJBU3ZBNDdqdW9aNXhDUjJtb2ZKMC9RU3RmRy9hdFlZSUdnN2dOUVFnZGg0dnUxcDBSb3pmNXFUV0U0Tk84Y0NHQk5FOXRraWJEU0RMOGsvamlDdzhRaU5Md3dnSEdtdWJNa295TWlIdm9QejFwU2hLZnR0UDJtZE0rZlpDQ1Exd3dZMGZBN21qWDVjTDIwaHNpT2tCamhCd1dsN2xmRFJEUDNHR0FEN2FCYi9rODArMmVpN1JzRXdVNGtwUXpzTW1kRWE0SEJNaU1zeHBzZHcyTGwzL0FlTzBubDJSaHBDWVpRU0tURnkrUkpHYk5TdDBCSVRPTGRjUThDbExjQmhpL1BlLzFXdDdmbnkxdlo5WlowVHltd043Y0hQRUwwUjFmSDVReUNBV2NSWGRRMWdDVVp0QVlCYXlCYkJBeWpObU9EME4reXZVWE9HbjNIUmhNbWhjQURHUGlHdHhVVUVtaE5PQ0JhSGlRT2xBYWx5a2M3RW9BbU1ac05UUW13aklDZTZnTVg5SlZqQWFOSVE1bDdiVHVBY3RHTUpWUzFKczZKQWFSVnVZNzdRT3A0QktPQVk0WFZiN3NIOEFzTWlLTnJOLzQ0cEcvc3FvYVJXcVZsckxpQTQ3M3NGaHRKL3JnTXppc3FaeFRSRGFJK09IVkNZSk13YVFuZkJIaU9UTDFaNVJtZEdBTVVYUXdENkgwb3BSRURtUkJVSW1FZ2lXQUlBNE96OWluTGlnbkZFYTI3WTU3TU1tOHUvWU1ZTXZYbFdSSDNjcjU5aHdEQXdYR21ESHpLNjAzY0N3a0V3Ym12TTUxRCtKeEp6ZlRFdzBCVE1HdEdZL2lTbmRDMmxtTUU3dDhFK1pzOGxyb1RPakVJRVZoclVDUXZoY3c1TjA1UUJVVzJyVVc1eWlFQUJ0YzkyRTVQV0NWbE5BUWFDUmNBdVY5SWtHWFhWb0FBTTJzY3p3NC9SajN1NWowRmh1R3hlQmhEZytIbkNVanR0ZkE3Yk5RSUhmMElZNjlTeHM0eEVZcm5rMU1WM2FneWE1SlN0Z1FHTlkyQ2hFY0RSdk5WSXh0RjNnUGd5YUF2bWpPZ09jNEpRRUZScFdHb08yODZjcVRrSUNNRmg3K21mY0doQVUyaTBHaFNBQnBEbG5lNFlQMmcweGpQUUhnYUk0VEthb2xibzR4SUs5OXY0bkhrSFF3WEFPcGkxTTdURnBVSk9BUWdwRnpqUXJBcTRRZ1k0Z01PMFlSNzQ4bnk1Q28zUkNBVGZsMW9zTG1KS1hJcUVKbFJwUnA5amZzT29KeWc0WUllNjEwUVJUWEZPeHNZNXJtZGxvRFJJRXdlZzdubjRRT0g0REk2ZExSV09HcU1QTW5UbkdERDRTTGJ6RG9kY0JxSGlaOUFZRWt2TkZZS25tWU1JeGxvYW1tVWR6WlgzbkFNaTVvRVJYQ0V0d2tZbzVpbU00TDVrb2hNMmtLZ3dXbTBCaW5DQXhZZ254eUdzN2dBaG5NeEpGRExuR0JEQVFXZ3pTamRvcmhXRzd2OFNNaUF5OGFTaG5lbFhNaWd3Y3VNOG44Rm56WHRPZzM4QmlFNWZNSmJxaWM1Y1ZROGtvWEFQL2JNNllCV2FYSVl2UFBpT3czYWVtQ1ZHUFhrS0dvQ0FPNkVqT0FCaDBvQlQwWjBhWS9MSnZtYU9mU0NUcDNTQ1J1ajZIcGZGSmh4TE53S3FmSWNvem1kMys5YmZhQWpic05yRWRneG5ITFVKYUY3aHNITEcxOEFSTGxyQ3FNYzBJWHp6R2MwWmdxZnlqQWtUakVtcWF3SXdaK1UzQUdQMTE2d2VRQWUrZWdJSVVFRHJ6QnhmMWtVWHBXbm1Od3BRczlaWGowc0xRNE1RakpHYkRZSE5Ca2N6VkZwRURRNU5Jam50L0JLZkRTZzAwbWVNd1dqU0VweSthRjdoTUVjakhITVlZRGdWakU4aENMQkFDVHhMTlM1ZHNyd1BHS0l6aEZ4ZkdqQUlUemhzYlFnVzdRRVVmVHJoS0x3eWdWbXlzV0VLelZmUUl1NEhNdEE2d1NKMFExNkVxTU1Ha0hBOHRoZ0tDT2R5OEVuQXdkVFNGKzNKeW9Nd0JHR3dZWnQzemFIaURCUWF3a1pUQUFFRXB3T2MremRFZGtyQU9SZzBDQjlFVGxQK1FvMUI2Sm96WUxDdk9lSWFZTGhHNHh6T1dqQlpmWFlMSExTR1VjNXpTRWhwd083dVF4T3kwSmxDYzM4TUpzMlpGV3o2OHd3MHgrZU5OY1RuY3AvUDRkNTVoY05TSm4wR2dOQUtGME1BS0ZlejZHZGNJb3Yyb0ZtRXk4TUVHT1pHN2RENUkzejJuUlNqajNNcEFxUS9nTkt2T0Y5aithYTdWaEVYV3NrOUpxWGMyL1ZoOUtzbGFvcmFrdVpNUWRJQXduRkN6S1JUVUJtbFpjSFRoSmRuTURqbUZRNlRhUG9NQUxIdlFrQkFPZE9KdWNzbFJtVDJSRmlvZnRsdUJJaVFNRE1BQVFhQ1Z5dWNzVFFSekdQQ1d2cU1wNWVkL3pjSjdUU3JuRGs1QzMzUlJqNkw1M1FhaFVsS0U1YlRDSnhMR0dxUVpvM2poSUxXSVB5RVl6THFoQno5Nk0reElPZGRjNXg1Qkl6djY2TTErQjRTUkNJdmNoR1h0RHJuVVNQWTBKYk1mWTl0Sm5DQWdyRDFNd2pQdVhzaDlJWEhsYlFKTUdwTW55Z0tCNjBad21IT0dTRDA2d0RVZ0N5QXBrOFFCRkEwUi9nWG1rR0FpYTFKck5GYndrRUdwQWxZQy9yVHp4cmJ2R3VPcjFMNFRndGE0cXNRSklkb0NJbVpGZVpoWGdXSERKQmR0MnB0NXkxYjIzM3JpUjhSaGxvRERPRm94cHdlVGxpcFVUUmc0WVA2NmpTQzVYOG84NG4yY0w2TDlJREdOZk1abXI1QnJYSHFXaTNSeHdDYTVoUzN2aVh2VFY4RERLYlppVWdCUk5LOHhtcHJ6TnM0TFdEb1RIVG1tMkJFWGlVTW5EQWpHcUVDQlhzUGxKMWUzTnFPVzB6Z29EMElYSDhDSElUdTRndWFpeXNNclFFbElKdjFMd0lFQW9BK0NVVzQydjJxV2dPbys3L1FHbzZ6bkRLT3BOQU16SjRRVTNPQW8vWUlUdEQ2R3JXUWZUVUhNRFRTQnZ2Tkt4d0tuYjVxZ2ZNM01zT25rQmhXc1JMelpWNUJkTFRMUzFyYjRVV3RiZmZDU1dNZldBamEwYS9tc04rTmJoZGFWTFVab1FPUFBBZlFQQmVJZlJsL1dHTkcvbUdwcDlNUzRaandLVmp6R0xWaEhEcHpEakF1Z2NvQVlXemF2SmIxTXdVdmFNd1hzckZaZFo5M09NemRPT1hzeWtsTUdxVVVmRXM1WUlTRkVJR3l6UXRhMityNXJXMjV5V1FMSE13Wm1wQWpIMjNvNFdCMitFS1c1cXY0Q1F6Z29HMEdFV29ZcGd5TkVVNXZ2clQvK29JYzlab296Wk1CQU9mNGZKcExwdEw1V3h0TFRYR0J4N2llSm16Tm0xVUVmYys4bWpYZmNiRWVocTlCY3dpTkthWFVVaVJ5Rm9TSWRnQmtzK2UydHZuR2t3WW96Qm5nQkFPVWhOTnRHYlZrL2dRVm1JTXF6eml6Q1J3YXZzb2tVekJBUW9QNk1Ga0JwYm5LcU11QWdLYTJDTVlFVTRBV1JEUEJ6RkpNSnJNSlNvM3pYZ0lINEZpYm16YzQrYXFGNFhLYXRLb2lFMjBCWm92blRjQUlCMUJqYzJZRWxtYU4xbzE2aW9oRWZRUVpmSW1DZzhhb09RWVNBQkdNbFlGdWdEaXFoWkhPWDRIcFM5QU9NLzd5UzExVGMxTFQ4am1HeEs0UHlCSk5sbWx5Y1BELzhGMXlJZnk4YVkyck53bWJNNDhoUXVPREtnREFsQUVHSUd4cG1MT3ROMjF0dDVkT2hLOHBFd3hhZzdhUklESkIxc0ZESUw1eFZzNGNlSUNoSDJBd2F3QkRhNXpMb1hYSDVocHNFYTdtU1cweFJGWlRFa2hGbC9qTWZoMkQyc1A5QmhIT3FEbzNSR1RLL3Joc016WjFodDY1TW1kZTRMaTh5Wlg5dnFSRXBFWmx1TDRnV29HR0FJUnRObnlOMlRrd0RJVUJoYm5DRHhITnNhVWZmVG9CVlZFVGJkRGZBTVc4Q0gvajRzRStzUlFNUW5ROW1zS2VzL1hybllkOUlzMSsvYk53QkRSYnVRY0Fhc0pjUmM4OGIwVWNyWnVYV1UrMXhwZFpuYU1oNlN4Zmc5QzIzV3dDQnQrQ3BnaUc4MjkrMldURVk5TDBOd0F5b2tPcjBEb2FrRGhuNk14OWFKUit4a29BR2lPY1BnQndoQUxKcFU0bGJIeGhOczdaOHRqcjNYMW9ITTlJUVBxZmNWaHRsWHZzZzNMSmxMQmNsL2Q5d1VGYmZDdUF2TWFDWmI1U1FSV2duREQ1aTJEUUVnR1IwNkJSQ0Zybmo0RFZJQVNPcHBDY0FwQUdLQnJuTkhWb2pzVk9vT2hyOURlZGhtUTRpd2thNm1vSmhmNWpVUDFTM0RScENTYWJnSExodXliVEJZdE93cGxvNW1vYklYMWZhNlZadlFrY2k1aXVaODRaVDdMZU1oMElGQTBCUnVZem5CZEtsbDg0OXJ4VEFaZ3NJQURESlUzczYvenhPVUFZQzdZUG54RmNPdndaSmkzN1p1dkJxQldELzlITTlkQUFaVXN0U3YrVk5UaE5uYlcwbkExMXZacFQ0MCs1RW1EZGpLYS95WmQveXB3aFBFM1g5cHRQTklVdHBpbHpHVUQ0UGd3TnpmRzhjemhPcmpsbFlLRVNxSURSN0NCWXcrZCtIK0VJQmdGVlBVMUJwN2thd1FHSVMzR0g2b0xoT2ZlaFRRRm83SVBVbkd4ZTUvOUlTR2dTWUZ6OWcvWThKVGo1QXp4b2k0c3hPTWZLbDFwaENSZ2lNY0VJQnhQSHRheVRXUnR6WHpnNU9VYTA1NEp6TlkyR0tSdHJDOEt6ZFVJMGtqS1pITFFBNGFaL0dmdWFyaytCNU5pMUIzMzlMUVUrMXA2RU5GdXpILytMMFoyQWdPTVBGNjAyR044cW8xYUdUeUVoZEpWampUSkNWck4veXpFSkIzOWhEWXl0ZFRHMnpzVzRuNi82NWFzYWZJYWxtYkdmUUpBSnFEdkdwSmlScXpWRGFCd2FNS1AxVVZrRkRoeGJOTzNPcHo5SlFMUDVvTlNrMUI1OWtWVm9vemtndWJScXRjQzRic3kxWTFYcVJ3Q01hTFFCS0dnS0RUREFzQm9BTEFEaFArZ1BCUHlGTTVnQWNtTE5TVFdEQktlWkxmMlR3d0NMejU3RkhBMUxaZnZyem1vNmZ6Tm9UZzlnN0R1cVp1ZjEvcHJCaFZWcnA2QnRjMm5NWEdadDdJT3NDbVJJdmNwZ2ZLdVlFamZWMHdLRGtIRE1RQkJJYWdubEdNQnM4cHhKUUlCSnczUTUzWnh3MUJiTCt5YWhWcFROOHRVaVFhZ2xSR2tDR1prMlp6Vkx5R3FKL3FhUHZySm1abUV6MytsMGpaelZhT0dvUWQ2VGlhblhPSjR0cXJPcVlIVWdsd0N2Y20xTmJhR0FDWmlxWnlFb0lpZk5sbHROR2VZTFFKdHU5QVFjb2l4TC9FQXhvemRuc1ZqcEpKa2FvNFlJWVd5K0FHZmplamF1OSsvV3pJaTA5QzNDMHMvMHNJWUlyZGNlSXo4bjRsSXo5Q081cUdPc0xWNGZCdzVXdGpNQlhhVTMyN0I3cmpmMmgzaXFsc1UvakdDTnZoSU1Hb1RHQUlMekcyODRxYUZ4emZ4Rms1YmxGczc3cHBuVHlTYVNZMGR0Q0t4MkNDSWhKYWhPNE9VUGhVSExQRWJmRTNtTm8zeTRibFc3MjlmbmFBS3pHS3JHNU5vQ2s5TFVHc05zQVFySTEwQldLWlFHU0U2ZjFtUVpJNW84WlF4R09KUlo4RUdjQnc2MU5EUko1MjRoVTBCb2puUCtiTk5zNlJjVVlBb3J6VmNDc1FJdEhLT3VQck1mMXBjSkl6VnBWSm9ab2pvL2cyMGZLS1J3RTRpVGJMbk9JRmZWak9lSGZJYmxIM09lT2FGWVliV3F5ajQzVkFLSFB5QlgwY2ZvL1BFcE5JdVFnTnJvMlJPL3czRmZzaDlLTS9vYzE1dVo3eVFjWVlTREh1Q2s1Z2hqREtvN0hsNTI2alZpdUQrMU1MUkdzemFZTnVHTVc3KzZNNnZZMmZSTnFTMEpMK0U0MFdkVmU4NDMyeXpjWllqSXc3aWh2aVFDeEhTcExZREpyQjNCczAvSkJqaEVhbWlMbzlxRkhCa1V1SUNqWDFZN21MTWMzWTc4L3cvT3lPZm9HNnhBRDc4aGtKSGR5Ti9NZ0pNck9YT2dqTXltZ2xkakJPK3NhV3FSSmkvOWttV2VXZGNROENGK3dKQjg5Vi9DZHliclE4MWxqTkF3V1didENoek53dGRnMWpCOS9SUnpDWEVNQjYzS3hZSmpPSnFjZnVRUHdoM0RtUzBnNkFTa0E5Y1VGZUJ4cERjTG1KWGdDRWEveGYra0NiVnFrR2JYUEszWE1uL0pRM2pqMERzMVo4WmttNDVyc0xQT3QvZFZYUjQ4dkJ2SlA0TmZFWTVSR01LMWZJOW00V3VJMWpCMVRuNWgxdXdySU9IUTBCNitGRjh1bzZzUTNwQjNaTmpNL3pRRzFBRXdFODk1L3pKdFdSanRJN3JaOHBRWkJkTHhOSUxuL1Y3ajN6WWdKVEJwN2hlNU0vQk5iTlhrckY2N1pLb0tuLzd6d3p2M2ZLQnZHN3QrR0NGMkkwRHlOVUtvQ2xzRndJVGhSeFEwY0t3UzRHK0FZOFpQUDB5WWxZSDBPMm9QWDhaQ1pqL2ladVFmanRpRTR3alczL1FqM1dUUHFHb3dhMnFkbzc1MzhtcllLc0VaMS9PRWxHVW5BZlh5cThIZGY2Zk1nUXlwbmE2dWFNMEZCc012VWZDQkNORGtVci9pVEtVcjlERlY1QzVjbzJLc2svZTFES0k1dElkK2dPcGZLUjk4aTFXQUJPTSsvb2tCb3JBVGdpWk1vWTRCNlhkNnJYRUZqS0hzakVLbXhjeCtJQmcrcTZGRDZTWnlvSlUwUjVPYi80UEx0dkluVzJqZE14Z3NEcmJ4UWhGekhZcWVGUkNnUXI1L012eVFBc0oyY3N5Vk1ZQkFFeXpQY002U0RCcW1ScmhFaVdka2VaOXptaTByeitOcXM0Q2NadFpVc0JXVUVaL1F6SVhNUTJqOStqTWRySkdUSVc4SlhUaXVBdTByQ2ZxMFFVdjFMWnJac2Vaa3l4VStBa2s0M1hmSjVIVzJxVzFmRnE2WHAzeTlvVVlJRDBDZ0NONFZNZVl1N0k4YjU5RU1CRXAra2k4MWFSTFpDc2FaVHRjMDIxeXRhYk13cXVBRU5NNzhjejlIYnY4N2FMbVNKcU9rd2Vja25INVNUbTB4c1J3Z3hIczNzNW8ydC80K1c3OVlmZ0FqcUg0S0l6VmwzRndOTzFVZnlrTVFKR1lJTUs0aFF5dWNVblpSaGhObmdzUDBLWFRuWkRSYm1yQjhYY05pcHY5OExrQlBjUDQ4VnI0dUtLRE1OUkpRbEhpMDc3bkFmSWowRU9wWWMyajlieHZNaU1qRzFZaU0yTWJnYVBxeERBYXk5YjlLWlVVNmswNjJ3NDlSZE45aHFzd1BQZ0ZCSS9TY2Z3RUFRSWk0Q0ltcGtiSFBPZjBOSVhPQ3lYa1oxektQbTNNeVZwbkhjSndSVFpCQ0dzUEtTa0RtTFI2UGhad2h1R3NNaE1PemVtZTlVc2xJWHpkK3BpWTFUWnZ2QmMwMStEalA1L1UxUDljZCtPcSt4ZDJwZ3FGMmpPR2dRZVFxSkpJYmJqRFpBZ2c0OXNNTU90TDFJemt2TTg1bnJLZHgvY2tBNWFzY05BRjVMZGUxQVVzZmxPWmxuUE5rRTJTR3Y3R1lmWUNwd0JGYS9IemtTck91YWVKTVEvSjd6Ylc0UHQvd1RtdlNiYWNHclFCQ2drRXJYSlhKZGNEWVQ2M0JwQ0Y4cHdGczQyak1DSTRRVy8rajJiTGU1bElvTlNiM2ZTZkhoZXV1YmZNZXRyTVZTdWVhNjBsaEd2SW1vRDZybnhHRkNTY1Q1TlRDY2VTbTN4a1BybXpDU0dBT3V1NmVxYmJCc3lhQzE4OVk4amRIY2EyWkN3QUY2Q0lOSGZpVGdSa3ZsZFdzS2ZBY1lRa2sxeGI0UlhLS09yK00ybU9PWTdZK2pxaHlIWnB2TytRcjhQcWdjWkhVMHBQQlE0YjIvZThnekJnVS92YUJneWQvSXpRSGhLYmFxQzc4MDFTYm1wcjRrZFFhVFYyR3l3RHpGUTBCSXZUOGZjc0VrOXJDRnQvbUsrbU9FditSQkdQZ2tQNkxhem5TOHEwMjN5Z3dYeGtER3E4NXkwcTNKUllGcFJZN2o5UlhKV2FzdXRGc3BjL2k4elYzRGdpdXUrNkI2MEtZRFZKZWk2bjVDUnkwQWdBSVgzTm1idU02WmhmMUNjY1ZOTUxKOVFEQVVWdGNXNFp2OGgyYnNjUFBoUjZwTFM3OHlDODNocE0vbUpvVmdybm1nbklxZ2o3NXptaUd2d0xxTldqR2VtbURBWCtzUXFCcExrMXd4eVp0TmpCenRJbFpBd0xDTnF2UHZFYlRCamhYWGdLSXZyNnZtYzVmVUw0K0NCUmJ2alpvMzlseW5YeFRiUXdtelZyYWE3VW5BUmxlendhSFJ0LzhPVW5OYkdxUTB4ZXVKY2dwQzRWdVlweUJoaVpRelI3RGVUSlF2ZitiS2llUDFqQzZ5ZWFCNUF5bmNNeHhPQWVnZkMzUVlFQnpwb2xEK0R5VEdweXZrV3ZTNkpzTEF2a0NRbEY3L0ZLdUc3QlAvdFp6WnVBR0YxbE5TQkRqQU1GTVhqQXB4TmtBOVJYdVlYN0gzekpRdzdKMDVMTmRwejBYbkxuOFVCK1lURlgwaFRiZ0k4WnZtZ25IZ0lCbW5RMkltcXIwRDJvU3duY1pMVnVhVVplL0cyQklMUlFGN3hjeVdFaC9aT0RoNis0S01WZmxtUHNrak5uQTZDL3lUVGdIUWVaWUNzMDM1RXpjTXpCeHFWWTYrZFJJb1dlK2xvQXlXdXpiVlBrV29EQ2FmVGZUcVdkcmFHTkFMdUNnSVh5ak1BTUJub05tY1oydGNCU0NwazBUbU5veURoUXlrUldldjBrUVAwbzBZKzJCRlcxQjVBcFFrOFJjQjJkNXhSSlU1bXY1UTk2WitEcG9OTC9qaUV4aGEzWlRJOGRReG5YRC92LzZQK3oyNTRoeHZQMVZBQUFBQUVsRlRrU3VRbUNDJywKICAgICAgICAgICAgICAgICAgICBbWzMxLjAyODM5Mjc5MTc0ODA0NywgLTc4LjBdLCBbNDEuOTc4Nzk3OTEyNTk3NjU2LCAtNjEuMF1dLAogICAgICAgICAgICAgICAgICAgIHsib3BhY2l0eSI6IDAuNX0KICAgICAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF81NmUxZjg5NGYyODE0ZTk1OTUxNDJlMDJlZmU5ZmM1NSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfYzk1OTg0MThiYzNmNDhhM2EzMTY4ODRjMmI4MTY1MDUgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwOi8vaGZyYWRhci5uZGJjLm5vYWEuZ292L3RpbGVzYXZnLnBocD9zPTEwJmU9MTAwJng9e3h9Jnk9e3l9Jno9e3p9JnQ9MjAxNi0yLTE0IDIwOjAwOjAwJnJlej0yJywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtYXhab29tOiAxOCwKICAgICAgICAgICAgICAgICAgICBtaW5ab29tOiAxLAogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnSEZSYWRhciBOREJDJywKICAgICAgICAgICAgICAgICAgICBkZXRlY3RSZXRpbmE6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTZlMWY4OTRmMjgxNGU5NTk1MTQyZTAyZWZlOWZjNTUpOwoKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBsYXllcl9jb250cm9sXzk4NDViM2Y0ZDg1MzRkZGViNTM3NzY0ZjY3ZGM5YWZhID0gewogICAgICAgICAgICAgICAgYmFzZV9sYXllcnMgOiB7ICJvcGVuc3RyZWV0bWFwIiA6IHRpbGVfbGF5ZXJfMGU1Nzc0NTg5OGE0NGRjN2JmNTdiZWM3ZjRjMjgyMTksImhmcmFkYXIgMmttIiA6IHRpbGVfbGF5ZXJfYzk1OTg0MThiYzNmNDhhM2EzMTY4ODRjMmI4MTY1MDUsIH0sCiAgICAgICAgICAgICAgICBvdmVybGF5cyA6IHsgIm1hY3JvX2VsZW1lbnRfNzkzZmY1MjhlMTEwNDEyYTk3MzQ5MzMyNWI2MGYzYjAiIDogaW1hZ2Vfb3ZlcmxheV83OTNmZjUyOGUxMTA0MTJhOTczNDkzMzI1YjYwZjNiMCwgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgTC5jb250cm9sLmxheWVycygKICAgICAgICAgICAgICAgIGxheWVyX2NvbnRyb2xfOTg0NWIzZjRkODUzNGRkZWI1Mzc3NjRmNjdkYzlhZmEuYmFzZV9sYXllcnMsCiAgICAgICAgICAgICAgICBsYXllcl9jb250cm9sXzk4NDViM2Y0ZDg1MzRkZGViNTM3NzY0ZjY3ZGM5YWZhLm92ZXJsYXlzCiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF81NmUxZjg5NGYyODE0ZTk1OTUxNDJlMDJlZmU5ZmM1NSk7CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAg\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\"></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7fc1dbe99950>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from datetime import datetime\n",
    "\n",
    "from folium import plugins\n",
    "\n",
    "mapa = folium.Map(location=[y.mean(), x.mean()], zoom_start=5)\n",
    "\n",
    "plugins.ImageOverlay(np.flipud(colored_data),\n",
    "                     [[y.min(), x.min()], [y.max(), x.max()]],\n",
    "                     opacity=0.5).add_to(mapa)\n",
    "\n",
    "\n",
    "jd_now = datetime.utcnow()\n",
    "url = ('http://hfradar.ndbc.noaa.gov/tilesavg.php?'\n",
    "       's=10&e=100&x={x}&y={y}&z={z}&t=' +\n",
    "       str(jd_now.year) + '-' + str(jd_now.month) +\n",
    "       '-' + str(jd_now.day) + ' ' +\n",
    "       str(jd_now.hour-2) + ':00:00&rez=2')\n",
    "\n",
    "folium.TileLayer(tiles=url, name='hfradar 2km', attr='HFRadar NDBC').add_to(mapa)\n",
    "\n",
    "mapa.add_children(folium.LayerControl())\n",
    "\n",
    "mapa"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Iris (Python 2)",
   "language": "python",
   "name": "iris_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.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}