From 434cdab815f275cbb586b8062811a8eee9c19691 Mon Sep 17 00:00:00 2001 From: kratos45-jorch <52135261+kratos45-jorch@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:06:26 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9=C3=A9=20=C3=A0=20l'aide=20de=20Colab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Thermal_Anomalies.ipynb | 3044 ++++++++++----------------------------- 1 file changed, 747 insertions(+), 2297 deletions(-) diff --git a/Thermal_Anomalies.ipynb b/Thermal_Anomalies.ipynb index 10a049e..d13df19 100644 --- a/Thermal_Anomalies.ipynb +++ b/Thermal_Anomalies.ipynb @@ -4,8 +4,9 @@ "metadata": { "colab": { "provenance": [], + "toc_visible": true, "mount_file_id": "1huaJiyf19ERj-sHkEyhm_T1c-Gpum2fO", - "authorship_tag": "ABX9TyMi4E8EEbL54bxDHe84b/x7", + "authorship_tag": "ABX9TyO2cjnbPYkQ6qu0B/M+fypE", "include_colab_link": true }, "kernelspec": { @@ -17,7 +18,7 @@ }, "widgets": { "application/vnd.jupyter.widget-state+json": { - "49975dda735a41bb956f8f33535ca9db": { + "829ac6eb3db84f2e89115e7886dc9ba6": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -32,14 +33,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_5b8ddb1b5bae4939976025ecca36af46", - "IPY_MODEL_c2304ef041614ad5a637d65730037010", - "IPY_MODEL_b3bad3264668427f948867c6958abc04" + "IPY_MODEL_6df752da90c44a8ab8b0c3f36b7402a1", + "IPY_MODEL_fcb726b8edff4082a71e9b91347cd4ba", + "IPY_MODEL_0c84e2d44d634077bcd409c06012d0e8" ], - "layout": "IPY_MODEL_26606272f70c401caaefe2454029f119" + "layout": "IPY_MODEL_fa6c05df4c104a138e409c913e879fd0" } }, - "5b8ddb1b5bae4939976025ecca36af46": { + "6df752da90c44a8ab8b0c3f36b7402a1": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -54,13 +55,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_81e3a4dcf18b432c8fb5e9d4108bad84", + "layout": "IPY_MODEL_95a8da646a554ea6b305e99eb858f342", "placeholder": "​", - "style": "IPY_MODEL_1756245aff2446239573d09c4af22dda", + "style": "IPY_MODEL_949a8ebd476a4e16aa8bddf5459cf25b", "value": "100%" } }, - "c2304ef041614ad5a637d65730037010": { + "fcb726b8edff4082a71e9b91347cd4ba": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -76,15 +77,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_f8a11e3ef75e4e33a4547f33b9aa1c49", - "max": 35, + "layout": "IPY_MODEL_dce150cef1a043f9a0f01e175f6fce0e", + "max": 4, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_303cfd905fae42468118896a9b123032", - "value": 35 + "style": "IPY_MODEL_31930441fecb424d9b5ff182bed5472a", + "value": 4 } }, - "b3bad3264668427f948867c6958abc04": { + "0c84e2d44d634077bcd409c06012d0e8": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -99,13 +100,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_18f1d3b3f08243348c5ba3ffbfb11738", + "layout": "IPY_MODEL_50ea0736847a44c8a50df298ebc3faed", "placeholder": "​", - "style": "IPY_MODEL_e4ccc98737d44d9b818a1667d4d1a597", - "value": " 35/35 [00:10<00:00,  3.31it/s]" + "style": "IPY_MODEL_1bd14841b0dd47d5afa5122dbb9689ab", + "value": " 4/4 [02:21<00:00, 36.78s/it]" } }, - "26606272f70c401caaefe2454029f119": { + "fa6c05df4c104a138e409c913e879fd0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -157,7 +158,7 @@ "width": null } }, - "81e3a4dcf18b432c8fb5e9d4108bad84": { + "95a8da646a554ea6b305e99eb858f342": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -209,7 +210,7 @@ "width": null } }, - "1756245aff2446239573d09c4af22dda": { + "949a8ebd476a4e16aa8bddf5459cf25b": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -224,7 +225,7 @@ "description_width": "" } }, - "f8a11e3ef75e4e33a4547f33b9aa1c49": { + "dce150cef1a043f9a0f01e175f6fce0e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -276,7 +277,7 @@ "width": null } }, - "303cfd905fae42468118896a9b123032": { + "31930441fecb424d9b5ff182bed5472a": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -292,7 +293,7 @@ "description_width": "" } }, - "18f1d3b3f08243348c5ba3ffbfb11738": { + "50ea0736847a44c8a50df298ebc3faed": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -344,7 +345,7 @@ "width": null } }, - "e4ccc98737d44d9b818a1667d4d1a597": { + "1bd14841b0dd47d5afa5122dbb9689ab": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -358,1222 +359,143 @@ "_view_name": "StyleView", "description_width": "" } + } + } + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# TEMPORAL ANOMALIES FOR ANDES FIRES PIPELINE\n", + "\n", + "* Import Libraries -> Check disponibilities of the libraries\n", + "* Import Datasets -> Take dataset from GEE Catalog\n", + "* Final Code\n", + " 1. Preprocesing MCD14ML CSV -> formatting of files directly downloaded from the NASA FIRMS server.\n", + " 2. Load SHAPEFILE like a dataset in GEE -> Necessary to access files via GEE.\n", + " 3. Preprocessing MCD14ML GEE -> We extract ground cover type and elevation information through the locations of the actives fires.\n", + " 4. Surfaces Extraction WorldCover in GEE -> we calculate the total area of land cover in our study area.\n", + " 5. Data Filtering Pre-Qgis -> we narrow down the data by selecting only the land cover types of interest.\n", + " 6. Use of ST-DBSCAN Cluster Spatio-Temporal in Qgis -> use the ST-DBSCAN spatio-temporal clustering algorithm in Qgis to cluster fires presumed to belong to the same source.\n", + " 7. Data Filtering Post-Qgis -> Cleaning of the data after using the ST-DBSCAB algorithm, keeping only the first elements of each cluster, assuming these as the respective origins.\n", + " 8. Soil Surface -> Calculation of the total areas associated with each detected active fire" + ], + "metadata": { + "id": "hH0Wij7zpog7" + } + }, + { + "cell_type": "markdown", + "source": [ + "# **Import Libraries**" + ], + "metadata": { + "id": "1gWlsEMrpLL9" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3jJZOf6CCpD0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17 }, - "829ac6eb3db84f2e89115e7886dc9ba6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_6df752da90c44a8ab8b0c3f36b7402a1", - "IPY_MODEL_fcb726b8edff4082a71e9b91347cd4ba", - "IPY_MODEL_0c84e2d44d634077bcd409c06012d0e8" + "outputId": "b6a2f684-9fef-4cca-9e86-18195b2b60d1" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" ], - "layout": "IPY_MODEL_fa6c05df4c104a138e409c913e879fd0" - } - }, - "6df752da90c44a8ab8b0c3f36b7402a1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_95a8da646a554ea6b305e99eb858f342", - "placeholder": "​", - "style": "IPY_MODEL_949a8ebd476a4e16aa8bddf5459cf25b", - "value": "100%" - } - }, - "fcb726b8edff4082a71e9b91347cd4ba": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_dce150cef1a043f9a0f01e175f6fce0e", - "max": 4, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_31930441fecb424d9b5ff182bed5472a", - "value": 4 - } - }, - "0c84e2d44d634077bcd409c06012d0e8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_50ea0736847a44c8a50df298ebc3faed", - "placeholder": "​", - "style": "IPY_MODEL_1bd14841b0dd47d5afa5122dbb9689ab", - "value": " 4/4 [02:21<00:00, 36.78s/it]" - } + "text/html": [ + "\n", + " \n", + " " + ] + }, + "metadata": {} + } + ], + "source": [ + "import os\n", + "from pathlib import Path\n", + "import glob\n", + "import pandas as pd\n", + "import numpy as np\n", + "import geopandas as gpd\n", + "from shapely.geometry import Point\n", + "from tqdm.notebook import tqdm\n", + "import ee\n", + "import geemap\n", + "from datetime import datetime\n", + "\n", + "#Compte Earth Engine\n", + "ee.Authenticate()\n", + "ee.Initialize(project='ee-villa45ramos')\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Import Dataset**" + ], + "metadata": { + "id": "dXdKPgGxIteW" + } + }, + { + "cell_type": "code", + "source": [ + "datasets= {'AndesTropi':ee.FeatureCollection(\"projects/ee-villa45ramos/assets/AndesTropi2\"),\n", + " 'dem30m': ee.Image(\"USGS/SRTMGL1_003\"),\n", + " 'WorldCoverESA':ee.ImageCollection('ESA/WorldCover/v100'),\n", + " 'MODarea':ee.ImageCollection(\"MODIS/061/MCD64A1\"),\n", + " 'datacountries':ee.FeatureCollection(\"FAO/GAUL_SIMPLIFIED_500m/2015/level0\"),\n", + " 'andes':ee.Geometry.BBox( -84.0, -30.0, -62.0, 12.0).buffer(1000)\n", + "}" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17 }, - "fa6c05df4c104a138e409c913e879fd0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "95a8da646a554ea6b305e99eb858f342": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "949a8ebd476a4e16aa8bddf5459cf25b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "dce150cef1a043f9a0f01e175f6fce0e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "31930441fecb424d9b5ff182bed5472a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "50ea0736847a44c8a50df298ebc3faed": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1bd14841b0dd47d5afa5122dbb9689ab": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "source": [ - "/**** TEMPORAL ANOMALIES FOR ANDES FIRES*******\n", - " * PIPELINE:\n", - " * 1. DATASET DICTIONNARIE: Upload all data sets needed for the project\n", - " * 1a. MASK AT 2000 m asl\n", - " * 1b. CLIP BY AREA\n", - " Same region as Roman-Cuesta et al (2014)\n", - " 12°N – 20°S, 84°W–62°W\n", - " * 2. EXTRACT VEGETATION CLASSES\n", - " * 3. ADD MODIS FIRE\n", - " Get date\n", - " Get altitude\n", - " Get cover class\n", - " \n", - " * 4. CALCULATE statistics -\n", - " 4.1 Total monthtly averages and anomalies over the times period (12*20 years = 240 images)\n", - " 4.2.- Monthly averages and anomalies per landclass type\n", - " 4.2.1 Need to relcassify classes\n", - " 4.2.1 Compute over different classes\n", - " 4.3.- Monthly averages and anomalies per country\n", - " */" - ], - "metadata": { - "id": "hH0Wij7zpog7" - } - }, - { - "cell_type": "markdown", - "source": [ - "# **Import Libraries**" - ], - "metadata": { - "id": "1gWlsEMrpLL9" - } - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "3jJZOf6CCpD0", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "outputId": "b6a2f684-9fef-4cca-9e86-18195b2b60d1" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ], - "source": [ - "import ee\n", - "import geemap\n", - "from datetime import datetime\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "#Compte Earth Engine\n", - "ee.Authenticate()\n", - "ee.Initialize(project='ee-villa45ramos')\n" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### **Import Dataset**" - ], - "metadata": { - "id": "dXdKPgGxIteW" - } - }, - { - "cell_type": "code", - "source": [ - "datasets= {'AndesTropi':ee.FeatureCollection(\"projects/ee-villa45ramos/assets/AndesTropi2\"),\n", - " 'dem30m': ee.Image(\"USGS/SRTMGL1_003\"),\n", - " #'LandcoverProba':ee.ImageCollection(\"COPERNICUS/Landcover/100m/Proba-V-C3/Global\"),\n", - " 'WorldCoverESA':ee.ImageCollection('ESA/WorldCover/v100'),\n", - " 'MODarea':ee.ImageCollection(\"MODIS/061/MCD64A1\"),\n", - " 'datacountries':ee.FeatureCollection(\"FAO/GAUL_SIMPLIFIED_500m/2015/level0\"),\n", - " 'andes':ee.Geometry.BBox( -84.0, -30.0, -62.0, 12.0).buffer(1000)\n", - "}\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "id": "mBSL6j8HD0-e", - "outputId": "361fb9b0-1a91-4bca-baa5-6f9b3bd8eea8" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "# **CODIGO CONSOLIDADO**" - ], - "metadata": { - "id": "0arZFntfNfVh" - } - }, - { - "cell_type": "markdown", - "source": [ - "## *Pretraitement MCD14ML CSV Format*" - ], - "metadata": { - "id": "3vig8ij5taGu" - } - }, - { - "cell_type": "code", - "source": [ - "# -*- coding: utf-8 -*-\n", - "\"\"\"\n", - "Created on Fry Apr 5 15:27:42 2024\n", - "Version 1.0\n", - "@author: jvilla\n", - "\"\"\"\n", - "\n", - "import os\n", - "from pathlib import Path\n", - "import glob\n", - "import pandas as pd\n", - "import numpy as np\n", - "import geopandas as gpd\n", - "from shapely.geometry import Point\n", - "from tqdm.notebook import tqdm\n", - "\n", - "def merge_csv(files_joined,name_sortie):\n", - " list_files = glob.glob(files_joined)\n", - " All_csv = pd.concat(map(pd.read_csv, list_files), ignore_index=True)\n", - " All_csv.to_csv(name_sortie, index=False, encoding='utf-8-sig')\n", - "\n", - "#Filtrar: Confidence: >80% (High Level Confidence) Type: 0 (presumed vegetation fire), 2 (other static land source)\n", - "def filt_csv(fichier):\n", - " file_name = Path(fichier).stem\n", - " df = pd.read_csv(fichier)\n", - " fichier_fil=df[df['confidence'] >= 80]\n", - " fichier_fil=fichier_fil[(fichier_fil['type'] == 0) | (fichier_fil['type'] == 2)]\n", - " fichier_fil = fichier_fil.iloc[:, [0,1,5,6,7,9,11,12]]\n", - " fichier_fil[\"country\"]=file_name\n", - " conditionlist = [\n", - " (fichier_fil[\"latitude\"] >= -5),\n", - " (fichier_fil[\"latitude\"] >= -8) & (fichier_fil[\"latitude\"] < -5),\n", - " (fichier_fil[\"latitude\"] <= -8),\n", - " ]\n", - " choicelist = [\"Zone_Equatorial\", \"Transition_Zone\", \"South_Zone\"]\n", - " fichier_fil[\"Zone_Clima\"] = np.select(conditionlist, choicelist, default=\"Not Specified\")\n", - " return fichier_fil\n", - "\n", - "def csv_to_shp(dtf,dir_sortie):\n", - " dtf['coordinates'] = dtf[['longitude', 'latitude']].values.tolist()\n", - " dtf['coordinates'] = dtf['coordinates'].apply(Point)\n", - " gdtf = gpd.GeoDataFrame(dtf, geometry = 'coordinates')\n", - " gdtf = gdtf.set_crs('EPSG:4326')\n", - " return gdtf.to_file(dir_sortie)\n", - "\n", - "def fusdatacsv(dict_csv):\n", - " n=len(dict_csv)\n", - " for k,i in zip(dict_csv.keys(),range(1,len(dict_csv)+1)):\n", - " merge_csv(os.path.join(dict_csv[k][0],'modis*.csv'),dict_csv[k][1])\n", - " print(f\"Merge csv Terminée étape {i}/7\")\n", - " csv_to_shp(filt_csv(dict_csv[k][1]),dict_csv[k][2][:-3]+'shp')\n", - " print(f\"CSV to SHP filt Terminée {i}/7\")\n", - "\n", - "def mergShape(files_shapes,dir_Shpf):\n", - " list_shapes = glob.glob(os.path.join(files_shapes,'*.shp'))\n", - " GDF_list= list()\n", - " GDF_list = [gpd.read_file(list_shapes[i]) for i in tqdm(range(len(list_shapes)))]\n", - " AndesTropi = gpd.GeoDataFrame(pd.concat(GDF_list,ignore_index=True), crs=GDF_list[0].crs)\n", - " return AndesTropi.to_file(dir_Shpf)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "id": "UrIauD_Ik4To", - "outputId": "8994ed31-f18c-47cf-b52a-638cc0fae54e" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "dir_1='/content/drive/MyDrive/PFE_CIRAD_AMAP/'\n", - "dir_2='/content/drive/MyDrive/PFE_CIRAD_AMAP/Data_pays/'\n", - "dir_3='/content/drive/MyDrive/PFE_CIRAD_AMAP/shape_pays/'\n", - "dir_SHPf='/content/drive/MyDrive/PFE_CIRAD_AMAP/shape_pays/AndesTropiv3.shp'\n", - "pays=[\"Argentina\",\"Bolivia\",\"Chile\",\"Colombia\",\"Ecuador\",\"Peru\",\"Venezuela\"]\n", - "datacsv= {f\"csv{i}\": [f'{dir_1}{pays[i]}', f'{dir_2}{pays[i]}.csv',f'{dir_3}{pays[i]}.shp'] for i in range(len(pays))}" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "id": "zqfZzvxIm3_q", - "outputId": "28a80a9d-00de-43b1-cc54-54d4a0b89e80" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "fusdatacsv(datacsv)\n", - "mergShape(dir_3,dir_SHPf)\n", - "print(\"Processus Pretraitement MCD14ML CSV Format Terminée\")" - ], - "metadata": { - "id": "2yUMXWPkMXz_" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "👾***CHARGER SHAPEFILE LIKE A DATASET IN GEE***\n", - "\n", - "> Ajouter une citation\n", - "\n", - "\n", - "\n" - ], - "metadata": { - "id": "FAshl7CQNEH3" - } - }, - { - "cell_type": "markdown", - "source": [ - "## *Pretraitement MCD14ML in GEE*" - ], - "metadata": { - "id": "uZtyS5m8tjHf" - } - }, - { - "cell_type": "code", - "source": [ - "datasets= {'MCD14ML':ee.FeatureCollection(\"projects/ee-villa45ramos/assets/AndesTropiv3\"),\n", - " 'dem30m': ee.Image(\"USGS/SRTMGL1_003\"),\n", - " 'WorldCoverESA':ee.ImageCollection('ESA/WorldCover/v100'),\n", - " 'andes':ee.Geometry.BBox( -84.0, -30.0, -62.0, 12.0).buffer(1000)}\n", - "\n", - "class AnomaliesThermiques:\n", - " def __init__(self,**datasets):\n", - " self.AOI = datasets['andes']\n", - " self.dem = datasets['dem30m']\n", - " self.cover = datasets['WorldCoverESA']\n", - " self.mcd14ml = datasets['MCD14ML']\n", - "\n", - " def worldcover(self):\n", - " def clipStudyArea(img):\n", - " return img.clip(self.AOI)\n", - " return self.cover.filterBounds(self.AOI).map(clipStudyArea).mosaic()\n", - "\n", - " def Extract_Fire_Activites(self):\n", - " def datechange(fc):\n", - " return fc.set('ddmmyy', ee.Date(fc.get('acq_date')).format('ddMMyy'))\n", - " def coverelev(feat):\n", - " geom = feat.geometry()\n", - " wcover = self.worldcover().reduceRegion(ee.Reducer.mode(), feat.geometry(), 1000).get('Map')#mode car on cherche la couverture plus present dans le buffer de 1000m (resolution MODIS)\n", - " elev30 = self.dem.clip(self.AOI).reduceRegion(ee.Reducer.median(), feat.geometry(), 1000).get('elevation')#mean car on cherche l'elevation moyenne dans le buffer de 1000m (resolution MODIS)\n", - " return ee.Feature(geom).copyProperties(feat).set('wc', wcover).set('elev30',elev30)\n", - " return self.mcd14ml.filterBounds(self.worldcover().geometry()).map(datechange).map(coverelev, True).filterMetadata('elev30', \"greater_than\", 2000)\n", - "\n", - "MODWorldCoverv = AnomaliesThermiques(**datasets).Extract_Fire_Activites()\n", - "print(\"Processus FireActivity terminée\")" - ], - "metadata": { - "id": "pQ8E1I3AG74w", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "outputId": "5c5e2fdb-a843-4954-f248-1028dbe8c20d" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "task = ee.batch.Export.table.toDrive(\n", - " collection=MODWorldCoverv,\n", - " description='MODWorldCoverv5',\n", - " folder='/content/drive/MyDrive/PFE_CIRAD_AMAP',\n", - " fileFormat='CSV')\n", - "\n", - "task.start()\n", - "\n", - "print(\"Processus Pretraitement MCD14ML in GEE terminée\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "id": "sK-TioLAXDV4", - "outputId": "c5150d35-55d7-4c5f-96a3-08e1571844f8" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Processus Pretraitement MCD14ML in GEE terminée\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## *Extraction surfaces WordlCover in GEE*" - ], - "metadata": { - "id": "zSb4AkvENuji" - } - }, - { - "cell_type": "code", - "source": [ - "# -*- coding: utf-8 -*-\n", - "\"\"\"\n", - "Created on Wed Apr 10 15:56:33 2024\n", - "Version 3.1\n", - "@author: jvilla\n", - "\"\"\"\n", - "import ee\n", - "import geemap\n", - "from tqdm.notebook import tqdm\n", - "\n", - "#Compte Earth Engine\n", - "ee.Authenticate()\n", - "ee.Initialize(project='ee-villa45ramos')\n", - "\n", - "class AreaTotalCover:\n", - " def __init__(self,codesoil,AOI,**datasets):\n", - " self.countries = datasets['countries']\n", - " self.cover = datasets['WorldCoverESA']\n", - " self.dem = datasets['dem30m']\n", - " self.codesoil=codesoil\n", - " self.AOI = AOI\n", - "\n", - " def country(self):\n", - " countries = ee.List([195,51,12,33,73,57,263]); #Peru, Chile, Argentina,Bolivia, Ecuador, Colombia, Venezuela\n", - " countriesshp = self.countries.filter(ee.Filter.inList('ADM0_CODE',countries))\n", - " filterc = ee.Filter.inList('ADM0_CODE',countries)\n", - " countriesshp = self.countries.filter(filterc)\n", - " def remove_non_polygons(geometry):\n", - " return ee.Algorithms.If(ee.Algorithms.IsEqual(ee.Geometry(geometry).type()\n", - " , ee.String('Polygon'))\n", - " , ee.Feature(ee.Geometry(geometry)), None)\n", - " def clean_polygon_feature(feature):\n", - " geometries = feature.geometry().geometries();\n", - " geometries_cleaned = ee.FeatureCollection(geometries.map(remove_non_polygons)).union().first();\n", - " return ee.Feature(feature).setGeometry(geometries_cleaned.geometry())\n", - " return countriesshp.map(clean_polygon_feature)\n", - "\n", - " def worldcover(self):\n", - " def clipStudyArea(img):\n", - " return img.clip(AOI)\n", - " return self.cover.filterBounds(AOI).map(clipStudyArea).mosaic()\n", - "\n", - " def mask_soil(self):\n", - " dem2 = self.dem.clip(AOI)\n", - " elev = dem2.gte(2000)\n", - " soil = self.worldcover().updateMask(elev)\n", - " soilCover = ee.Image(1).updateMask(soil.select('Map').eq(self.codesoil))#Grasland #Change of mask to updateMask\n", - " area_pxa_soilCover_countries = soilCover.multiply(ee.Image.pixelArea()).reduceRegions(\n", - " collection = self.country(),\n", - " reducer = ee.Reducer.sum(),\n", - " scale = 10)\n", - " def getArea(feature):\n", - " area = ee.Number(feature.get('sum')).divide(1e6)\n", - " return feature.set('area', area)\n", - " return area_pxa_soilCover_countries.map(getArea).select('area','ADM0_NAME')\n", - "\n", - "print(\"Processus FireActivity terminée\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "id": "0fmFZ-XFGVAk", - "outputId": "f6a8883b-5e07-42f9-cc8c-b2a76a82f5fd" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Processus FireActivity terminée\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "datasets= {'dem30m': ee.Image(\"USGS/SRTMGL1_003\"),\n", - " 'WorldCoverESA':ee.ImageCollection('ESA/WorldCover/v100'),\n", - " 'countries':ee.FeatureCollection(\"FAO/GAUL_SIMPLIFIED_500m/2015/level0\")}\n", - "\n", - "codesoil=40 #Changer code soil-> 10:TreeCover, 20:Shrubland, 30: Grassland, 40 Cropland" - ], - "metadata": { - "id": "F8fxRbiMWPTf", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 17 - }, - "outputId": "0cff682f-42fc-413c-8d98-d0c34a2b4e00" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "grid = geemap.fishnet(ee.Geometry.BBox( -84.0, -30.0, -62.0, 12.0).buffer(1000), h_interval=4.5, v_interval=6.1, delta=1)\n", - "gridSize=grid.size().getInfo();\n", - "gridList=grid.toList(gridSize);\n", - "\n", - "for i in tqdm(range(gridSize)):\n", - " AOI = ee.Feature(gridList.get(i)).geometry()\n", - " MOD_soil_Area = AreaTotalCover(codesoil,AOI,**datasets).mask_soil()\n", - " task = ee.batch.Export.table.toDrive(\n", - " collection=MOD_soil_Area,\n", - " description=f'Cropland_Area_part{i}', #Changer name soil-> 10:TreeCover, 20:Shrubland, 30: Grassland, 40 Cropland\n", - " folder='Inter_data_ThermalAnomalies',\n", - " fileFormat='CSV')\n", - " task.start()\n", - " print(f\"Execution part: {i}\")\n", - " #print(gridCell.getInfo())" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 657, - "referenced_widgets": [ - "49975dda735a41bb956f8f33535ca9db", - "5b8ddb1b5bae4939976025ecca36af46", - "c2304ef041614ad5a637d65730037010", - "b3bad3264668427f948867c6958abc04", - "26606272f70c401caaefe2454029f119", - "81e3a4dcf18b432c8fb5e9d4108bad84", - "1756245aff2446239573d09c4af22dda", - "f8a11e3ef75e4e33a4547f33b9aa1c49", - "303cfd905fae42468118896a9b123032", - "18f1d3b3f08243348c5ba3ffbfb11738", - "e4ccc98737d44d9b818a1667d4d1a597" - ] - }, - "id": "tx_P1u_iT5lw", - "outputId": "48bdd4a9-2b55-4da7-f14d-2ff1f60a6d8b" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - " 0%| | 0/35 [00:0080% High Level Confidence), type of thermal anomalie detected\n", + " (0 = presumed vegetation fire, 2 =other static land source), select only the columns needed, add a new column with the name of the country,\n", + " and add a new column with the name of the climate zone.\n", + "\n", + " Parameters:\n", + " -------------\n", + " file_path: str\n", + " Path to the CSV file to filter.\n", + "\n", + " Returns:\n", + " -------------\n", + " filtered_df: pd.DataFrame\n", + " Filtered DataFrame.\n", + "\n", + " \"\"\"\n", + " try:\n", + "\n", + " #Get the file path\n", + " file_name = Path(file_path).stem\n", + "\n", + " #Read the CSV file\n", + " df = pd.read_csv(file_path)\n", + "\n", + " #Filter par confidence des anomalies thermiques supérieur à 80%\n", + " filtered_df=df[df['confidence'] >= 80]\n", + "\n", + " #Selection des types de anomalies 0:suspected vegetation fire et 2:other static terrestrial source\n", + " filtered_df=filtered_df[(filtered_df['type'] == 0) | (filtered_df['type'] == 2)]\n", + "\n", + " #Selection des colonnes d'interet\n", + " filtered_df = filtered_df.iloc[:, [0,1,5,6,7,9,11,12]]\n", + "\n", + " #Add country name\n", + " filtered_df[\"country\"]=file_name\n", + "\n", + " #Add climate zone\n", + " conditionlist = [\n", + " (filtered_df[\"latitude\"] >= -5),\n", + " (filtered_df[\"latitude\"] >= -8) & (filtered_df[\"latitude\"] < -5),\n", + " (filtered_df[\"latitude\"] <= -8),\n", + " ]\n", + " choicelist = [\"Zone_Equatorial\", \"Transition_Zone\", \"South_Zone\"]\n", + " filtered_df[\"Zone_Clima\"] = np.select(conditionlist, choicelist, default=\"Not Specified\") #Add climate zone\n", + "\n", + " return filtered_df\n", + "\n", + " except Exception as e:\n", + " print(f\"An error occurred: {e}\")\n", + "\n", + "def csv_to_shp(df,output_dir):\n", + " \"\"\"\n", + " This function takes the coordinates (longitude,latitude) of every point and coverts into a shapefile\n", + " with a projection EPSG:4326.\n", + "\n", + " Parameters:\n", + " -------------\n", + " df: pd.DataFrame\n", + " DataFrame with coordinates.\n", + " output_dir: str\n", + " Directory of the output shapefile.\n", + "\n", + " Returns:\n", + " -------------\n", + " gdf: gpd.GeoDataFrame\n", + " GeoDataFrame with the coordinates converted to a shapefile.\n", + "\n", + " \"\"\"\n", + " try:\n", + " #Conversion of coordinates into Point objet\n", + " df['coordinates'] = df[['longitude', 'latitude']].apply(Point, axis=1)\n", + "\n", + " #Creation de GeoDataframe\n", + " gdf = gpd.GeoDataFrame(df, geometry = 'coordinates')\n", + "\n", + " #Set CRS\n", + " gdf = gdf.set_crs('EPSG:4326')\n", + "\n", + " #Export to shapefile\n", + " gdf = gdf.to_file(output_dir)\n", + " return gdf\n", + "\n", + " except Exception as e:\n", + " print(f\"An error occurred: {e}\")\n", + "\n", + "def fusdatacsv(file_dict):\n", + " \"\"\"\n", + " This function takes files with the word 'modis*.csv', merge in only one CSV and convert it into a shapefile\n", + "\n", + " Parameters:\n", + " -------------\n", + " file_dict: dict\n", + " Dictionary with input and output paths for CSV and shapefiles.\n", + "\n", + " Returns:\n", + " -------------\n", + " None\n", + " \"\"\"\n", + " n=len(file_dict)\n", + " for k,i in zip(file_dict.keys(),range(1,len(file_dict)+1)):\n", + " merge_csv(os.path.join(file_dict[k][0],'modis*.csv'),file_dict[k][1])\n", + " print(f\"Merge csv Terminée étape {i}/7\")\n", + " csv_to_shp(file_dict(file_dict[k][1]),file_dict[k][2][:-3]+'shp')\n", + " print(f\"CSV to SHP filt Terminée {i}/7\")\n", + "\n", + "def mergShape(shapefile_dir, output_shapefile):\n", + " \"\"\"\n", + " This function takes a list of shapefiles and merge in only one shapefile\n", + "\n", + " Parameters:\n", + " -------------\n", + " shapefile_dir: str\n", + " Directory containing shapefiles to merge.\n", + " output_shapefile: str\n", + " Path for the output merged shapefile.\n", + "\n", + " Returns:\n", + " -------------\n", + " AndesTropi : gpd.GeoDataFrame\n", + " Merged GeoDataFrame.\n", + " \"\"\"\n", + " try:\n", + " # Get a list of shapefiles in the directory\n", + " list_shapes = glob.glob(os.path.join(shapefile_dir,'*.shp'))\n", + "\n", + " # Read each shapefile into a GeoDataFrame and concatenate them\n", + " GDF_list= list()\n", + " GDF_list = [gpd.read_file(list_shapes[i]) for i in tqdm(range(len(list_shapes)))]\n", + "\n", + " # Merge the GeoDataFrames\n", + " AndesTropi = gpd.GeoDataFrame(pd.concat(GDF_list,ignore_index=True), crs=GDF_list[0].crs)\n", + "\n", + " # Save the merged GeoDataFrame to a shapefile\n", + " AndesTropi = AndesTropi.to_file(output_shapefile)\n", + "\n", + " return AndesTropi\n", "\n", - "dir_csv='/content/drive/MyDrive/ content drive MyDrive PFE_CIRAD_AMAP/MODWorldCoverv5.csv'\n", - "\n", - "\n", - "class filtZonesZeches():\n", - "\tdef __init__(self,dir_csv):\n", - "\t\tself.dir_csv=dir_csv\n", - "\n", - "\tdef filtr_cover(self):#Filtro couverture de sol\n", - "\t\tdtf=pd.read_csv(self.dir_csv)\n", - "\t\treturn dtf[dtf['wc'] <= 40]\n", - "\t\tprint(dtf)\n", - "\n", - "\tdef filtr_date(self):\n", - "\t\tdtf=self.filtr_cover()\n", - "\t\tdtf['month'] = pd.DatetimeIndex(dtf['acq_date']).month\n", - "\t\tdtf['year'] = pd.DatetimeIndex(dtf['acq_date']).year\n", - "\t\treturn dtf\n", - "\t\tprint(dtf)\n", - "\n", - "\tdef re_ord(self):\n", - "\t\tdtf=self.filtr_date()\n", - "\t\tnew_dtf=dtf.iloc[:,[1,2,6,8,9,13,12,15,16,10,11]]\n", - "\t\tnew_dtf.columns=['Zone_Climatique','Date_Acquisition','Pays','Elevation(m)','FRP','WordlCover','Satellite','Mois','Annee','Lat(°)','Long(°)']\n", - "\t\treturn new_dtf\n", - "\t\tprint(new_dtf)\n", - "\n", - "\tdef nom_soil(self):\n", - "\t\tdtf=self.re_ord()\n", - "\t\tdtf['WordlCover']=dtf['WordlCover'].replace([10, 20, 30, 40], [\"Tree cover\", \"Shrubland\", \"Grassland\", \"Cropland\"])\n", - "\t\treturn dtf\n", - "\t\tprint(dtf)" + " except Exception as e:\n", + " print(f\"An error occurred: {e}\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 17 }, - "id": "ltUFq6YsWC4B", - "outputId": "d5a2219e-e74c-4f5d-bda4-9344e4ffcac7" + "id": "UrIauD_Ik4To", + "outputId": "8994ed31-f18c-47cf-b52a-638cc0fae54e" }, "execution_count": null, "outputs": [ @@ -1750,68 +782,23 @@ { "cell_type": "code", "source": [ - "MODWorldCover_fil= filtZonesZeches(dir_csv).nom_soil()#.sample(n=5, random_state=5)\n", - "#MODWorldCover_fil.head()" + "dir_1='/content/drive/MyDrive/PFE_CIRAD_AMAP/'\n", + "dir_2='/content/drive/MyDrive/PFE_CIRAD_AMAP/Data_pays/'\n", + "dir_3='/content/drive/MyDrive/PFE_CIRAD_AMAP/shape_pays/'\n", + "dir_SHPf='/content/drive/MyDrive/PFE_CIRAD_AMAP/shape_pays/AndesTropiv3.shp'\n", + "pays=[\"Argentina\",\"Bolivia\",\"Chile\",\"Colombia\",\"Ecuador\",\"Peru\",\"Venezuela\"]\n", + "datacsv= {f\"csv{i}\": [f'{dir_1}{pays[i]}', f'{dir_2}{pays[i]}.csv',f'{dir_3}{pays[i]}.shp'] for i in range(len(pays))}\n", + "fusdatacsv(datacsv)\n", + "mergShape(dir_3,dir_SHPf)\n", + "print(\"Processus Pretraitement MCD14ML CSV Format Terminée\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 17 }, - "id": "f7FpcBrH0Aig", - "outputId": "4878993d-0495-4de3-948e-4bd8082d4904" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "MODWorldCover_fil.to_csv('/content/drive/MyDrive/PFE_CIRAD_AMAP/1_MCD14ML/Inter_data_ThermalAnomalies/MODWorldCover_fil.csv', index=False)\n", - "print(\"Processus Nettoyage des données MCD14ML en Pandas terminée\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "id": "TFY1ToAP3h9t", - "outputId": "68342159-4279-4522-8e44-bc1abb02e8fb" + "id": "zqfZzvxIm3_q", + "outputId": "28a80a9d-00de-43b1-cc54-54d4a0b89e80" }, "execution_count": null, "outputs": [ @@ -1848,32 +835,30 @@ ] }, "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Processus Nettoyage des données MCD14ML en Pandas terminée\n" - ] } ] }, { "cell_type": "markdown", "source": [ - "Processus terminée en pandas, passer au Cluster Spatio-Temporal en Qgis" + "## *2. Load SHAPEFILE like a dataset in GEE*\n", + "\n", + "-> *Necessary to continue processes within GEE*\n", + "\n", + "\n", + "\n" ], "metadata": { - "id": "znq0p9xP2zns" + "id": "FAshl7CQNEH3" } }, { "cell_type": "markdown", "source": [ - "## **🎯 Graphs Thermal Anomalies General**" + "## *3. Preprocessing MCD14ML in GEE*" ], "metadata": { - "id": "Cln8T83Ihb0T" + "id": "uZtyS5m8tjHf" } }, { @@ -1881,118 +866,94 @@ "source": [ "# -*- coding: utf-8 -*-\n", "\"\"\"\n", - "Created on Fry Apr 22 10:46:18 2024\n", - "Version 1.1\n", + "Modified on 16/07/2024 14:38:50\n", + "Version 2.2.0\n", "@author: jvilla\n", "\"\"\"\n", + "def AnomaliesThermiques(roi,dem,wc,asset):\n", + " def get_worldcover(roi,wc):\n", + " \"\"\"\n", + " This function get the mosaic of WorldCover within the region of interest (roi).\n", "\n", - "import pandas as pd\n", + " Parameters:\n", + " -------------\n", + " roi: ee.Geometry\n", + " Region of interest (geometry).\n", + " wc: ee.ImageCollection\n", + " WorldCover image collection.\n", + "\n", + " Returns:\n", + " -------------\n", + " wc_mosaic: ee.Image\n", + " Mosaic of WorldCover within the region of interest.\n", + " \"\"\"\n", + " #Function to clip image by ROI\n", + " def clip_study_area(img):\n", + " return img.clip(roi)\n", + "\n", + " #Filter WorldCover image by bound of ROI, then Clip image and convert in one mosaic image\n", + " wc_mosaic=wc.filterBounds(roi).map(clip_study_area).mosaic()\n", + "\n", + " return wc_mosaic\n", + "\n", + " def extract_fire_activities(wc_mosaic,dem,roi,asset):\n", + " \"\"\"\n", + " Extract fire activities from the asset, adding WorldCover and elevation data.\n", + "\n", + " Parameters:\n", + " -------------\n", + " wc_mosaic: ee.Image\n", + " Mosaic of WorldCover within the region of interest.\n", + " dem: ee.Image\n", + " Elevation data.\n", + " roi: ee.Geometry\n", + " Region of interest (geometry).\n", + " asset: ee.FeatureCollection\n", + " MCD14ML asset.\n", + "\n", + " Returns:\n", + " -------------\n", + " fire_activities: ee.FeatureCollection\n", + " Fire activities within the region of interest.\n", + " \"\"\"\n", + " #Function to format date\n", + " def format_date(fc):\n", + " return fc.set('ddmmyy', ee.Date(fc.get('acq_date')).format('ddMMyy'))\n", + "\n", + " #Function to add WorldCover and elevation data to feature\n", + " def add_cover_elevation(feat):\n", + " geom = feat.geometry()\n", "\n", - "dir_csv='/content/drive/MyDrive/PFE_CIRAD_AMAP/1_MCD14ML/Inter_data_ThermalAnomalies/MODWorldCover_fil_stdscan15j.csv'\n", - "\n", - "class filClusters():\n", - "\tdef __init__(self,dir_csv):\n", - "\t\tself.dir_csv=dir_csv\n", - "\n", - "\tdef filtr_clust(self):\n", - "\t\tdtf=pd.read_csv(self.dir_csv)\n", - "\t\tdtf_slice1=dtf[dtf['CLUSTER_ID'].isna()]#Fuegos Independientes\n", - "\t\tdtf_slice2=dtf[~dtf['CLUSTER_ID'].isna()]#Fuegos Interdependientes\n", - "\t\tdtf_slice2=dtf_slice2.sort_values(by=['Date_Acquisition'])\n", - "\t\tdtf_slice2= dtf_slice2.drop_duplicates(subset=[\"CLUSTER_ID\"],keep='first')\n", - "\t\tdtf=pd.concat([dtf_slice1,dtf_slice2],axis=0,ignore_index=True)\n", - "\t\tdtf=dtf.iloc[:,[0,1,2,3,4,5,6,7,8,9,10]]\n", - "\t\treturn dtf\n", - "\t\tprint(dtf)" + " #Use of mode because discrete data in a buffer of 1000m (MODIS resolution)\n", + " wcover = wc_mosaic.reduceRegion(\n", + " ee.Reducer.mode(), feat.geometry(), 1000).get('Map')\n", + "\n", + " #Use of mean because of continous data of elevation inside the buffer of 1000m (MODIS resolution)\n", + " elev30 = dem.clip(roi).reduceRegion(\n", + " ee.Reducer.median(), feat.geometry(), 1000).get('elevation')\n", + " return ee.Feature(geom).copyProperties(feat).set({\n", + " 'wc': wcover,\n", + " 'elev30':elev30\n", + " })\n", + "\n", + " #Filter elevation greater than 2000 (definition of Tropical Andes)\n", + " filtered_asset = asset.filterBounds(wc_mosaic.geometry()).map(format_date).map(add_cover_elevation, True).filterMetadata('elev30', \"greater_than\", 2000)\n", + " return filtered_asset\n", + "\n", + " wc_mosaic = get_worldcover(roi, wc)\n", + " fire_activities = extract_fire_activities(wc_mosaic, dem, roi, asset)\n", + " return fire_activities\n", + "\n", + "MODWorldCoverv = AnomaliesThermiques(datasets[\"andes\"],datasets[\"dem30m\"],datasets[\"WorldCoverESA\"],ee.FeatureCollection(\"projects/ee-villa45ramos/assets/AndesTropiv3\"))\n", + "print(\"Processus FireActivity terminée\")" ], "metadata": { + "id": "pQ8E1I3AG74w", "colab": { "base_uri": "https://localhost:8080/", "height": 17 }, - "id": "9XGijsb3-2UP", - "outputId": "94529d22-280e-429f-b0eb-5bed33107c12" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "source": [ - "clus=filClusters(dir_csv).filtr_clust()#.sample(n=5, random_state=5)\n", - "clus" - ], - "metadata": { - "id": "w-DWQE6O_EK7" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "Graphs BY Month end Year after divide Surface of soil" - ], - "metadata": { - "id": "CJowFyfTuA4P" - } - }, - { - "cell_type": "code", - "source": [ - "import seaborn as sns\n", - "\n", - "Thermal_anomalies_Anual=filClusters(dir_csv).filtr_clust()\n", - "Boxplot_data=Thermal_anomalies_Anual.groupby(['Zone_Climatique','Année','Mois'])['FRP'].count().reset_index()\n", - "Boxplot_data[\"frec_norm\"] = (Boxplot_data[\"FRP\"] -\n", - " Boxplot_data[\"FRP\"].mean()) / Boxplot_data[\"FRP\"].std()\n", - "sns.set(rc={\"figure.figsize\":(12, 4)}) #width=8, height=4\n", - "ax=sns.boxplot(data=Boxplot_data, x=\"Année\", y=\"FRP\", hue=\"Zone_Climatique\", width=.5,fliersize=0.1)#,showfliers=False)#fliersize=0.1)\n", - "#ax.axvline(4.5, color=\".3\", dashes=(2, 2))\n", - "#ax.axvline(8.5, color=\".3\", dashes=(2, 2))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 397 - }, - "id": "26gcv6ruX5iF", - "outputId": "8d4c0f3a-cda4-46d0-ae8b-840bbe6e5c5b" + "outputId": "5c5e2fdb-a843-4954-f248-1028dbe8c20d" }, "execution_count": null, "outputs": [ @@ -2029,42 +990,29 @@ ] }, "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/cAAAF8CAYAAACKbkv9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACA+ElEQVR4nO3dd3wT9f8H8Fc6oSPdlC1tkQJSaBGZBQURpAwVmSo4kCFDWQqUjUIRWbK3iqDIcgAFcX1BoA4EQZxACxRoKR10Q9Pkfn/0l9A0o0ma3F3g9Xw8fEgul8s71+Q+9/5MhSAIAoiIiIiIiIjIablIHQARERERERERVQ2TeyIiIiIiIiInx+SeiIiIiIiIyMkxuSciIiIiIiJyckzuiYiIiIiIiJwck3siIiIiIiIiJ8fknoiIiIiIiMjJMbknIiIiIiIicnJM7omIiIiIiIicnJvUAZQ3ZMgQ/PLLL0afW7p0KXr27AkA2LVrFzZt2oTr168jLCwMEyZMQOfOnfX2z8/PR0JCAr799luoVCp07NgRM2bMQI0aNaoUoyAI0GiEKh2DiIiIiIiIyBIuLgooFIpK91MIgiCbTPXChQsoKCjQ2/bRRx/h8OHD+PHHHxEYGIgDBw5g0qRJGDVqFNq2bYvExETs2bMH27dvR3R0tO51w4YNw4ULFzBlyhR4enpi+fLlcHFxwZ49e+DmZnudhlqtQXZ2oc2vJyIiIiIiIrJUYKA3XF0r73Qvq+TemMcffxwRERHYsGEDAKB79+5o1qwZlixZottn0KBB8PX1xcaNGwEAp0+fxqBBg7B582bExsYCAJKTkxEXF4elS5ciLi7O5niY3BMREREREZFYLE3uZT3m/tSpU7h69Sp69+4NAEhNTcWlS5fQo0cPvf3i4uKQlJSEkpISAMDRo0ehVCrRoUMH3T7h4eFo0qQJjh49Kt4HICIiIiIiIhKBrJP7/fv3w8vLC48//jiAstZ3AAgLC9PbLyIiAiqVCqmpqbr9wsLCDMYlhIeH645BREREREREdK+Q1YR65ZWWluLgwYPo0qULvLy8AAC5ubkAAKVSqbev9rH2+by8PPj6+hoc08/PD+fOnatybG5usq4TISIiIiIiovuMbJP748ePIzs7G7169ZI6FD0uLgoEBHhLHQYRERERERGRjmyT+/3798Pf3183IR5Q1vIOlC1zFxISotuel5en97xSqUR6errBMXNzc3X72EqjEZCXV1SlYxARERERkf1oNGqUlqoByHqucKIKFHBzc4WLi6vZvZTK6hZNqCfL5P727dv49ttv0adPH7i7u+u2h4eHAygbU6/9t/axu7s76tWrp9svKSkJgiDojbtPSUlBo0aNqhxfaammyscgIiIiIqKqEQQBeXnZKC4uqHxnIpmqXt0HSmWgRWvZmyPL5P77779HUVGRbpZ8rXr16qFBgwY4dOgQunbtqtuemJiIdu3awcPDAwDQqVMnrFmzBklJSWjfvj2AssT+r7/+wquvvireByEiIiIiIofRJvY+PgHw8PCscnJEJCZBEFBScgcFBTkAAD+/oCodT5bJ/b59+1C7dm08/PDDBs+NGzcOkydPRv369dGmTRskJibi7Nmz2LZtm26fmJgYxMbGIj4+HlOmTIGnpyeWLVuGyMhIdOvWTcyPQkREREREDqDRqHWJvY+PsvIXEMmQh4cnAKCgIAe+vgFwcbF98nbZJfe5ubn48ccf8eKLLxqteevVqxeKi4uxceNGbNiwAWFhYVi1ahViYmL09lu+fDkSEhIwa9YslJaWIjY2FjNmzICbm+w+MhERERERWUmtVgO4mxwROSvtd1itLoWLi4fNx1EIgsBZJ6ygVmuQnV0odRhERERERPc1laoEWVlpCAqqBXd32xMiIqlV9l0ODPS2aEI9LthOsicIAm7cSAProYiIiIiIiIxjck+yl5GRjsDAIGRkGC5vSEREREREVXPq1EnExrbCqVMnddvmz5+Dfv16m3mV+NLSriM2thUSE/dJHYoscQA6yV6NGjWRkZGOGjVqSh0KEREREd3jYmNbVbrPyy8Px7BhI0WIpuqOHPkBX331Of75508UFhbCz88fzZtH4+mnn8XDDz8idXhGHT58CLduZWPAgOekDsWpMLkn2VMoFAgNrSV1GERERER0H5g5c57J57Zs2YBr166iadNmIkZkG0EQkJAwD4mJ+9CoUSQGDnwegYFByMrKxNGj/8Mbb7yGtWs3IyqqhdHXT5kyAxqNRuSoy3z77SEkJ180SO5r1qyF7747zknSTeBZISIiIiIi+n/du8cZ3b5v3xe4du0q+vUbiHbtOogclfU+/XQbEhP3YcCAwRg3bqLeSmQvvjgMhw4dgKurq8nXyzGBVigU8PTk6gimcMw9ERER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CAJSUi7i8OFDyMy86aDk/lO0bx9rkNxXVWRkY6xb94HR5zZtWovTp39Dmzbt7PqedJcsk/vPP/8cH330ES5evAgvLy9ERUVh1apVqFatGgDg+++/x/Lly5GSkoLatWtjxIgRePbZZ/WOUVJSgmXLluGrr75CYWEhYmJiMHPmTISHh0vxkYiIiIiISAQFBflQqUpQrXZbuHgoRXtfTUkebl//CQUF+VYl97t3f4YePXph3LgJum3t2nXAc88NhUajcUSoDuPt7YNmzaIMth87dgQnT/6CV18dhWbNmksQ2f1Bdsn92rVrsXHjRowaNQrR0dHIyclBUlIS1Go1AODkyZMYO3Ys+vXrh/j4ePz000+YPn06vL298eSTT+qO88477yAxMRFTp05FaGgo1q1bh5deegkHDhyAr6+vVB+PiIiIiIhE4OKhhGt1+7d621t+fp7JygAXl7tTpGk0GmzdugX793+JrKxM1KpVGwMGPIenn77byDl//hz8889f+PjjneWOn48ePTojPn424uJ6o1+/3khPT8Pevbuwd+8uANA9p7Vnz0588slWFBTko2XLVnjrrRkICAiw6fNlZt5EQsI8xMQ8jKFDX9F7Lj09DatWLcOvv/4MtVqN5s2jMWbMeERENNTtox0q8MADYWZjys/Px/r1q/Hjjz8gLy8PYWERGDVqLFq3bmtT3M5IVsl9cnIyVq1ahTVr1uDRRx/Vbe/evbvu32vXrkXz5s0xb948AEDbtm2RmpqKFStW6JL79PR07N69G7Nnz0a/fv0AAFFRUejcuTN27NiB4cOHi/ipiIiIiIiIjIuMbIIvv9yL2rXroH37WJOJ/urV72P37h0YOvQVREW1wIkTP2Lx4gSo1aV49tmBFr/fggXv4c0330BUVDQGDXoBAFCnTl3d88eOHcXVq6mYOHEKcnNvYcWKpVi+fBHmzk2w+rNpNBrMmzcTADB79jt6lRVFRYUYN24kFAoFJk+eBg8PT2zdugVjxgzHRx99itDQmhbHpFKpMGHCGGRnZ2H48NEICamBw4cT8eabb2DLlu16lQX3Mlkl93v37kXdunX1EvvySkpK8PPPP2Py5Ml62+Pi4rB//35cvXoVdevWxbFjx6DRaPRa8v39/dGhQwccPXqUyT0REREREcnCpElTEB//Jt599x0AQK1addChQ0cMHPgcatWqDQC4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1Alr1qxBUlIS2rdvD6Assf/rr7/w6quvivehiIiIiIiIiEQgm+ReqVSiTZs2Rp976KGH8NBDDwEAxo0bh8mTJ6N+/fpo06YNEhMTcfbsWWzbtk23f0xMDGJjYxEfH48pU6bA09MTy5YtQ2RkJLp16ybK5yEiIiIiIiISi2ySe0v16tULxcXF2LhxIzZs2ICwsDCsWrUKMTExevstX74cCQkJmDVrFkpLSxEbG4sZM2bAzc3pPjIRERERERGRWQpBEASpg3AmarUG2dmFUodBRERERERE94HAQG+LJtTjgu1ERERERERETo7JPREREREREZGTs2kA+s2bN/H555/j6tWrCAgIQLdu3XQT3hERERERERGRuKwec5+amor+/fsjNzcX2pe6uLjg3XffRe/evR0SpJxwzD0RERERERGJxWFj7letWoXCwkJMnz4d+/fvx+rVq1GzZk0sXLgQGo3GpmCJiIiIiIiIyHZWd8v/7bffMHDgQLzwwgsAgIYNG8LNzQ2jRo3CxYsX8eCDD9o9SCIiIiIiIiIyzeqW+/T0dIPx9U2bNoUgCMjJybFbYERERERERERkGauT+9LSUri56Tf4ax+r1Wr7REVEREREREREFrNptvxz587B09NT97iwsBAKhQK//fYb8vPzDfbv1q2b7RESERERERERkVlWz5bfuHFj695AocDff/9t1WvkjLPlExERERERkVgsnS3f6pb7rVu32hQQERERERERETmG1S339zu23BMREREREZFYHLbOvTXUajW++OILR74FERERERER0X3PIcn97du3sXXrVjzxxBOYNm2aI96CiIiIiIiIiP6fTbPl79q1Cx999BGuXLkCpVKJJ598Em+99Rbc3d3x0UcfYf369cjJycGDDz6IhIQEe8dMREREREREROVYndx/8cUXmDlzJry8vNCoUSOkp6dj+/btKC4uRl5eHr755hs88sgjGD58ODp16uSImImIiIiIiIioHKuT++3btyMsLAzbt29HYGAg1Go1pk2bhj179sDPzw/r16/Ho48+6ohYiYiIiIiIiMgIq8fcX7hwAf3790dgYCAAwNXVFcOHDwcAvPbaa0zsiYiIiIiIiERmdXJfXFyMkJAQvW3BwcEAgAcffNA+URERERERERGRxWyaLV+hUBjd7urqWqVgiIiIiIiIiMh6CkEQBGte0LhxYzRt2hQ1atTQbSstLcWxY8cQHR0Nf39//TdQKLB27Vq7BCsHarUG2dmFUodBRERERERE94HAQG+4ulbeLm/1hHq1a9fGrVu3cOvWLYPtGRkZyMjI0NtuqpWfiIiIiIiIiOzD6pb7+x1b7omIiIiIiEgslrbcWz3mfunSpfjnn39sCoqIiIiIiIiI7M/q5H7Dhg04f/687nFOTg6aNGmCpKQkuwZGRERERERERJaxabb8itizn4iIiIiIiEg6dknuiYiIiIiIiEg6TO6JiIiIiIiInJzVS+EBwLVr1/Dnn38CAPLz8wEAly9fhlKpNLr/Qw89ZGN4RERERERERFQZq5fCa9y4scHa9YIgGF3PXrv977//tujYR44cwcaNG3HhwgUUFBQgNDQUXbt2xdixY+Hr66vb7/vvv8fy5cuRkpKC2rVrY8SIEXj22Wf1jlVSUoJly5bhq6++QmFhIWJiYjBz5kyEh4db83ENcCk8IiIiIiIiEoulS+FZ3XKfkJBgU0CWuHXrFpo3b44hQ4bA398f58+fx8qVK3H+/Hls2bIFAHDy5EmMHTsW/fr1Q3x8PH766SdMnz4d3t7eePLJJ3XHeuedd5CYmIipU6ciNDQU69atw0svvYQDBw7oVRQQEREREREROTurW+7FtnPnTsycORNHjx5FaGgohg0bhsLCQuzYsUO3z6RJk/D3338jMTERAJCeno4uXbpg9uzZGDhwIICyioPOnTtj9OjRGD58uM3xsOWeiIiIiIiIxGJpy73sJ9Tz9/cHAKhUKpSUlODnn3/Wa6EHgLi4OFy8eBFXr14FABw7dgwajUZvP39/f3To0AFHjx4VLXYiIiIiIiIiMcgyuVer1bhz5w7+/PNPrF69Gl26dEHdunVx5coVqFQqg3HzERERAIDk5GTd/4OCguDn52ewn3YfIiIiIiIionuFTbPlO1rnzp1x48YNAEDHjh2xZMkSAEBubi4AGMzKr32sfT4vL8/ouHqlUqnbpyrc3GRZJ0JERERERET3KVkm9xs2bEBxcTEuXLiAtWvXYtSoUfjggw+kDgsA4OKiQECAt9RhEBEREREREenIMrlv3LgxACAmJgZRUVF46qmn8M0336Bhw4YAgPz8fL398/LyAEDXDV+pVKKgoMDguHl5eQZd9a2l0QjIyyuq0jGIiIiIiIiILKFUVnfMUnhii4yMhLu7O65cuYIuXbrA3d0dycnJ6Nixo24f7Th67Vj88PBwZGZmIjc3Vy+ZT05OrvI69wBQWqqp8jGIiIiIiIiI7EX2g8fPnDkDlUqFunXrwsPDA23atMHXX3+tt09iYiIiIiJQt25dAEBsbCxcXFxw+PBh3T65ubk4duwYOnXqJGr8RHT/EgQBN26kQeYrjhIRERHRPUBWLfdjx45Fs2bNEBkZiWrVquGff/7B5s2bERkZia5duwIAXnvtNQwdOhRz5sxBjx498PPPP2P//v1YtmyZ7jg1a9ZEv379sGjRIri4uCA0NBTr16+Hr68vBg0aJNXHI6L7TEZGOgIDg5CRkY7Q0FpSh0NERERE9zCFIKMmpQ0bNiAxMRFXrlyBIAioU6cOnnjiCQwbNgw+Pj66/b777jssX74cKSkpqF27NkaMGIF+/frpHaukpATLli3Dl19+icLCQrRs2RIzZszQLZtnK7Vag+zswiodg4juD4IgICMjHTVq1IRCoZA6HCIiIiJyQoGB3haNuZdVcu8MmNwTERERERGRWCxN7mU/5p6IiIiIiIiIzGNyT0REREREROTkmNwTEREREREROTkm90REREREREROjsk9ERERERERkZNjck9ERERERETk5JjcExERERERETk5JvdERERERERETo7JPREREREREZGTY3JPRERERERE5OSY3BMRERERERE5OSb3RERERERERE6OyT0RERERERGRk2NyT0REREREROTkmNwTEREREREROTkm90REREREREROjsk9ERERERERkZNjck9ERERERETk5JjcExERERERETk5JvdERERERERETo7JPREREREREZGTY3JPRERERERE5OSY3BMRERERERE5OSb3RERERERERE6OyT0RERERERGRk2NyT0REREREROTkmNwTEREREREROTkm90RERPcwQRBw40YaBEGQOhQiIiJyICb3RERE97CMjHQEBgYhIyNd6lCIiIjIgWSV3B88eBCvvfYaOnXqhOjoaDz11FPYvXu3QWvDrl270L17d0RFRaFPnz744YcfDI6Vn5+P+Ph4tG7dGjExMXj99deRkZEh1kchIiKShRo1aiI7Ows1atSUOhQiIiJyIIUgo356AwcORJ06ddC1a1cEBATgxIkT2LRpE8aMGYOxY8cCAA4cOIBJkyZh1KhRaNu2LRITE7Fnzx5s374d0dHRumMNGzYMFy5cwJQpU+Dp6Ynly5fDxcUFe/bsgZubm80xqtUaZGcXVvWjEhEREREREVUqMNAbrq6Vt8vLKrnPzs5GYGCg3raZM2ciMTERv/76K1xcXNC9e3c0a9YMS5Ys0e0zaNAg+Pr6YuPGjQCA06dPY9CgQdi8eTNiY2MBAMnJyYiLi8PSpUsRFxdnc4xM7omIiIiIiEgslib3suqWXzGxB4AmTZqgoKAARUVFSE1NxaVLl9CjRw+9feLi4pCUlISSkhIAwNGjR6FUKtGhQwfdPuHh4WjSpAmOHj3q2A9BREREREREJDJZJffG/PbbbwgNDYWPjw+Sk5MBAGFhYXr7REREQKVSITU1FUBZK31YWBgUCoXefuHh4bpjEBEREREREd0rbB98LoKTJ08iMTERU6ZMAQDk5uYCAJRKpd5+2sfa5/Py8uDr62twPD8/P5w7d67Kcbm5yb5OhIiIiIiIiO4jsk3u09PTMWHCBLRp0wZDhw6VOhwdFxcFAgK8pQ6DiIiIiIiISEeWyX1eXh6GDx8Of39/rFy5Ei4uZS3lfn5+AMqWuQsJCdHbv/zzSqUS6emG6/nm5ubq9rGVRiMgL6+oSscgIiKyJ0EQcONGOkJDaxoMSSMiIiLnplRWt2hCPdkl97dv38bIkSORn5+Pzz77TK97fXh4OICyMfXaf2sfu7u7o169err9kpKSIAiC3k1OSkoKGjVqVOUYS0s1VT4GERGRvdy4kYbAwCBcv34doaG1pA6HiIiIJCCrweOlpaUYP348kpOTsWnTJoSGhuo9X69ePTRo0ACHDh3S256YmIh27drBw8MDANCpUyfk5uYiKSlJt09KSgr++usvdOrUyfEfhIiISEQ1atREdnYWatSoKXUoREREJBFZtdzPnTsXP/zwA6ZOnYqCggL8/vvvuueaNm0KDw8PjBs3DpMnT0b9+vXRpk0bJCYm4uzZs9i2bZtu35iYGMTGxiI+Ph5TpkyBp6cnli1bhsjISHTr1k2CT0ZEROQ4CoWCLfZERET3OYUgCILUQWh16dIF165dM/rcd999h7p16wIAdu3ahY0bN+L69esICwvDxIkT0blzZ7398/PzkZCQgG+++QalpaWIjY3FjBkzDHoDWEut1iA7u7BKxyAiIiIiIiKyRGCgt0Vj7mWV3DsDJvdERET3HkEQkJGRjho1OCkhERHJi6XJvazG3BMRERFJISMjHYGBQcjIMFxth4iIyBkwuSciIqL7HiclJCJ7KVueNA3sIE1iY3JPRERE9z3tpITsku8YTHbofsKeQCQVJvdERERE5FBMduh+wp5AJBUm90RERETkUEx26H7CnkBkiqN7MTG5JyIiIiKHYrJDROT4XkxM7umexfF9REREREQkF47uxcTknu5ZHN9HRERERERy4eheTEzu6Z7F8X1EJAb2EiIiIiI5cJM6ACJH0daMERE5UvleQrzmEBEROUZWViZSUy/j9u1i3bZq1aqjXr0HEBQULGFk8sHknoiIqApq1KiJjIx09hIiIiJykKysTMRPmwhVaanBc+5ubliQsJQJPpjcExERVQl7CRERETlWQUE+VKWl6B7mA2+PuyPLC0s0+DqlAAUF+UzuweSeiIiIiIiInMAD/h6o7eOue3y9QKX3vCAIut509+PSm5xQj4iIiIiIiJze/b5aFpN7IiIiIiK6J3AFk6pz5nN4v6+WxeSeiIiIyIk58404kb3d7y239uDM59DR68jLHZN7IiIiIifmzDfiRPZ2v7fc2gPPofNick9ERETkxHgjTnTX/d5yaw88h86Ls+UTEREROTEux0hERABb7omIiIiIiIicHpN7IiIiIiKZ48SJRFQZJvdERCQp3rASkRic/VrDiROJqDIcc09ERJIqf8PKccNE5Chyv9ZkZNxAcXGR7nH16l6oUSNU97hGjZrIyEjnxIlEZBKTeyIikpSz37AKgqCLnzMLE8mXnK81+fl5mDZtol6vAhcXFyxbtga+vkoAnDixPF53iYxjt3wionuAM3c3dfYld9hVlsg5yPla4+urRELCUowYMRoAMGLEaCxYsESX2JM+XneJjGPLPRHRPUDu3U3vZXJuDRQbW9OIbFejRqiuW36tWnX0uuSTPl53q6ayISBUNeXPr9jnlsk9EdE9gDc60mFX2btYyUREYuB113aWDAEh21U8v2KfWyb3RET3AN7okBywkomISN60Q0CSk89jw4Y1GDFiNMLDH2RibycVz+/YsRNEPbdM7omIiMguWMlEZJusrEwUFOQjLe0aAOj+7+Pji6CgYClDo3sQh4A4VvnzGxAQKOp7yyq5v3z5MjZv3owzZ87g/PnzCA8Px/79+w3227VrFzZt2oTr168jLCwMEyZMQOfOnfX2yc/PR0JCAr799luoVCp07NgRM2bMQI0aNcT6OEREREREZmVlZWJ6/CSUqFS6bRs2rAEAeLi7Y/6CJUzwicgiskruz58/jyNHjqBFixbQaDRGZ30+cOAAZs6ciVGjRqFt27ZITEzE2LFjsX37dkRHR+v2Gz9+PC5cuIA5c+bA09MTy5cvx/Dhw7Fnzx64ucnqYxM5FCdNISIikq+CgnyUqFToG6lEsNfde9TMolLs/TcPBQX5TO6JyCKyynK7dOmCrl27AgCmTp2Kc+fOGeyzYsUK9OzZE+PHjwcAtG3bFv/99x9Wr16NjRs3AgBOnz6NY8eOYfPmzYiNjQUAhIWFIS4uDocPH0ZcXJw4H4hIYpw0xX44CzgREdmDqfIk2MsNtX3cJYyMiJydrNa5d3ExH05qaiouXbqEHj166G2Pi4tDUlISSkpKAABHjx6FUqlEhw4ddPuEh4ejSZMmOHr0qP0DJ5IprptrP1xTl4jkKiPjBi5fTsHlyynIyLjh0PcSBAE3bqQZ7V1JlmF5QkSOIquW+8okJycDKGuFLy8iIgIqlQqpqamIiIhAcnIywsLCDFrXwsPDdccgul9w0hT74CzgRI7BXjGWMbVustjLLnG5w6pjeUJEjuJUyX1ubi4AQKnUL7C0j7XP5+XlwdfX1+D1fn5+Rrv6W8vNTVYdHkSXkXEDRUV3x3B7eXEMtynlz5WU58nV1UX3//v9+1sVderUkToEuytrhUtHaKhjEyu5/BZIftLT0xASEoKsrAzUrMlk0RhjCfzKlevg66tEQIA/3nhjMpYvfw+jRo1Fw4YPIiDA32Gx1K5dGzdupKN27dqsjKmC8uWJtow2hWU3OYKz3Rs62+9EqvPrVMm9HLi4KBAQ4C11GJLJzc3FW29NgEaj0W1zcXHB1q1b4efnJ2Fk8pObm4s33xyvdzMm1XnKyqoGAPD1rXZff3/J0PXr1xERUR+ZmZmoXbu2Q96j4nWD1wwqz98/AmlpaWjcOILJogkBAd7YsGED/v77byxduhTTpk1D/fp3K0IeeKDstxsZGYGGDcMdHk9gYEOHv8f9RFtGm8KymxzB2e4Nne13ItX5darkXnsjmJ+fj5CQEN32vLw8veeVSiXS0w3HMeXm5lb5ZlKjEZCXV1T5jvcsNyxatAwXLpzHunWrdK0EGo0bcnIKpQ5OZtwMWlOkOk/5+bd1/+ffyb6cvUW6WjUlLl68gtDQmg78buhfN15/fRKvGaSnenU/3Lp1P5etlfP09IW/f8j//9tH7/cjh2s8e/XZTvv3M/c8r5dkb3K4bphT8f6qqEhev5PK7v/sfX6VyuqV9l4AnCy5Dw8vq41OTk7W/Vv72N3dHfXq1dPtl5SUBEEQ9FoBUlJS0KhRoyrHUVqqqXyne1hgYAhCQwsAAKGhtRAYGHJfnxNT4yABwM/PH4D050mt1uj+fz//rewtPz/PoHeGM65EEBwcCrVaAOC4CbLKXzf8/Pwt/h7KYTw2l5MkuTB1LZf6Gl/xWgg47/VQCtq/n7nnWXaTvWRlZaKgIB9padcAAFevpkKt1sDHx1c2Sy4au7+aOHGq2deI+Tux5P5PquuyUyX39erVQ4MGDXDo0CHdknkAkJiYiHbt2sHDwwMA0KlTJ6xZswZJSUlo3749gLLE/q+//sKrr74qSex0bxJ7IiO6Sw4Jl3Y1guTk89iwYQ3Gjp3Av72dST15F5eTJDlca+Su4rVwxIjRCA9/UJLfiLkKdyI5E+Nak5WVifj4yVCpSnTbNmxYAwBwd/fAggWLZZHg+/oqMW7cRKxYsUR3PSl/bqQm5/s/WSX3xcXFOHLkCADg2rVrKCgowKFDhwAArVu3RmBgIMaNG4fJkyejfv36aNOmDRITE3H27Fls27ZNd5yYmBjExsYiPj4eU6ZMgaenJ5YtW4bIyEh069ZNks9G96aq/Ljl0CLprOSUcJVfjSAgIFDU974fSD2rNJOW+5ucrjVyJ4eVWapS4c7fF9mTtd8nsa41BQX5UKlKUK12W7h43D2upiQPt6//hIKCfFkk98Ddeyrt9eTy5RSJI9In1/s/WSX3WVlZeOONN/S2aR9v3boVbdq0Qa9evVBcXIyNGzdiw4YNCAsLw6pVqxATE6P3uuXLlyMhIQGzZs1CaWkpYmNjMWPGDLi5yeoj0z3Alh93RsYNXL16BX5+frh27Srq1q3PGwkryCnhMkfMm8V79cZUoVBIvtyWsyctZDuxrzXsJVA1tla48/dF9mTL90nsa42LhxKu1eWTkJL9yCrTrVu3Lv79999K9+vfvz/69+9vdh9fX18sWLAACxYssFd4RHbhLC1Bck8W5ZBwmSPmzSJvTB2n4thE7f/FHpso5y6AlpD79cQcsa41zlI22ELMv78tFe7GugBLcc4zi0rNPpY7OfRIlMO1xtbvk9zva8g5yCq5J6roXmzFcIZWZyaLVSfmzaJcbkydXcUb06ysTEyPn4QSlUq3j3Zsooe7O+YvWCJqgi/XLoCVkdP1RA7JhynOUDaYYq4SzMPDQzZ/f3MqdgGWwt5/8yR5X3uR2xwpFb9rYib+cvg+OYIcKk+klpJyETdupAEAMjNvAgD++ON3pKVdQ2hoLYSFRUgZHpN7kq97uRVD7rWzck8W5dKaaoo2vtu3i3XbiouLcPlyit1jFPO97nUVb0wLCvJRolKhb6QSwV53i8vMolLs/TdPVmMT5cBUZayceh1InXxURu5lgzHmKsHc3dwweswEjBs3EVevXsHevbswYMBgZGdnoaSkxCHXQgCyLRu0KiZIWqauNVLHZ+n3UKw5Umy51sipklEONHfyzD42xhnOoaMbBbOyMjF//mxoNPqz3+/duwsAoFC44PXXJ8Hf31+y6xCTe5ItZ27FuBeIWetszY1EVlYmpk2biNLSu90VtTeSbm5uSEhYKulNXNlMtJOgMnKjCwDu7u5YYKcWX3Oz3pa9V9nMt9pkRorWSme64TZ1Yxrs5YbaPu4SRVU1YvV+qqwyVj69DhT4448z//+buOE0ybOcfkMVr9fFxUVGK8Gu5JbgUHIB3n//Pb3X79ixHYDjr4WAPGcBN5YgaZf4ksO1pioJnBhzpNh6rZFTJaMc3E77yerXyL3hp6ioEPPmzXBoo2BBQT40Gg08gqPg4u6t95z6dg5UOf8aXPPE7vHH5J5kKysr02DZi+LiImRlZcqigDZ3w6VSqeDu7m6wHRD3ZkzuLdyA9TcSBQX5eol9eaWlpZK3ppbNRKuCT6sQuPp66D2nzi9BwcmbdovR1Ky3gP7Mt6WlKklaK53phhuQx+R99nTlyiXMnTtd70ZHoXDB7NnvoH79BnZ9L2eojM3Pz0N8/CRZtzpVZKxVHDBsGS8uLgTg+LLGmsRUO15cTtdCOVxruMRX1VTlWiOfSkbpVavVFi6e5WbLv5NnNuGXokdixXvX8tc3Y7y8vEUrh9x8ahlOSHgLUMGwBw6g3+NPrVY7dGgDk3uSpaquw+noMUGVJS0KAIKR7cDdmjtHs/UcmrqoAo65WTRXE2ys1VEXS4UbRu3Noly4+nrALcBTlPeqbNZbqZaT095wG6vh1qgKUZL5h2xuuM1915yRtutg+cQeAARBg/nzZ9utxbQ8uXcpr6zVSY5jSU0NDQGMt4w7qpeQli2JqVyuhWlp15CTk61LTqpVq46AgEBJKuO5xJftnKXhx9z3SQ5zf7h4Wj5bvpx6JJqTlnYNtWrV0dsmxXfDXA+cir0LHFHJzOReIvfiRHH2VJV1OMUYE2SulaC0IA0lmX9UWnPnaLacQzEv4OUZGwJgquudtpVIzBtGZ2eqRVqsZKYk8w+HHNdeKvuuSc2WbtmmepDYu8W0Yoxy7iUEGL/WZGVlIiMjHYsXJ+i+AwqFCyZPnooaNWrKIn5jN4titoyXJ/fEtCJNaTEUMJMgVKiNd2SZZ2uLpFjkNgSkoqo2/DiapUPlpOpNZytteVK9iT9cvfWvQ+pCFYr/viVKLxzt/bXBa0rUAAx/43e/G465d7VFbu4tDBz4HHbs2I6+ffujbt36dp+DhMm9BOQ0UZwcWyrKs2UdTjG7lBmLTzspibmau/IFuaMLTmvOoZhdyoHKa7iNda+SovvivVgZJ+bEOBW7/wF3uwCaak0T80aypKREb8IvbYGbl3dLlPc3xxmGNsj9htscU93eBUGD995bIFpPq6pgRWcl1CoIKOsq6+GqQIm67Jrn4arAjcJS/HC5UJQyryotkmJwhmtNZY0W58//g4KCOiaHSpbf5oh7L0uHh9Sv30CS3nRVVfz3LdHey9z9dUW3S8t+02JXdFrDWAWEdhI+wL4VEEzuJWDqRrKkpKTyF9uRLTf3YnfZtnY2z/K1zlq3bxc7bOZwY/FoVIUm9zf245ZjzaIYN4uW1nBru1hJ1UpkqjJu5sx3oG3ukbr1xej3sJLfiqiVYEa6/1XWmibWxDNlEzROQmnp3eSufIFbGUdXkFpys3j+/D9ITa2uV0Gi/bcYQ1Wq0tMKkLaS2Vy3d21Pq/Pn/9Ftc2RlrLnyVQ7k3uoMVF4mKz1d9Z67UVjW+0GMMs+WFsny5HCtKSjIl3SCVq2KiZ+p8kT3uOJYSTj23quyRhW5z+9iajUHc8mzHMilolPbq6q8tALxeloxuRdZVlYm4qdNhKrchGDaG0l3NzcsSFjq8IkWtKy9uZeiy7Y1s3kai698jFLHB5iuXZRLzaKYLB2PLSXtzWzFyjg/P38sWDALKpX+Bbz870Gdb1hZZ2ybPdgy6y0g8bhKM61pJWoBe//NQ2rqZb3vgKNuaMsn9tZISbmAjz/+sFxXbgUmT57mkK7cRlsxSssSeHOtf2LOTWFLTyuxepDYkpgWqcqWOhKjMtZYJZPcW3XlFJ+WuWuhuSXlxLxeV0wyLSH1taY8WS4nWa48qVhJdz77jmi9M7RsqXCXC2NjwqUYDmlt45nYNCWm4zN3rRHjHDK5F1lBQb5eYl+eqrTUYNyfo290yqushVvsLtuAdbN5yiE+wLIaeLpLrufKVBfF8q265m4kxKzJNldBInfGhq9cLyhLcFauXOrw4Us+Pr5wc3O3KsHX9sDZuvUDve2CIOC99xY4pCLR6I3O7VuVvk4OLRmmEmptWePopZUsSUzN3YyJURlblUomMRLTqrY6i8Vcmdz5AW+4uyig0pRdU9xdFMguLsXJ9NuiXq+tqYyVzbWm3DapJmi1hLm5KcS8FtpS4S6XeUtyc2/pNWgMGDBYkiFqtjZaOJqPjy/c3T1w+7rp+MzdG4qByb3IfHx84e7mZjTBd3dzQ40aNR3eVbaq46pEnfnWitk8pWC0u7EFtbNi3kiYG9pgquuVGCpLqtzc3OHj4ytZ6725ngWlxZkovXXB5kmu7EVbyJi6sXZ394CPj6/d3k9s48ZNxO3bxQ5d0iYoKBgJCUt0N1Xa96pVq47ucUVSjO8zd6Mj9Y2EVsVrTWlR2XfdVFdZ7dALY5Pc2ZO5xFRddBN3Mk7b/T1tVTE5tSRxFrM8sWYcrBTMDQEy93sQ63ptbUWi3K41gPy7lJsiRiWYpfc1FZnrGSvWkE1TQxt27Nju0Pc1xVxFXcVu7zm31aLFFRQUjAULFutNPKm9bwDKzp+5e0MxMLkXWVBQMKbPmGd07eExYyeKMl7cmdaDNafiJGfZ2VkAxL3RMcfYD1l7Aao446h2tlFHMFVQm+t6JQZtUlXZLNWmkvuKhbKjulDa2iIlRiVY+UKmYmIKmK7xl/uMyFrlhwo4cmm1oKBgqNX6NwfVq3sZLKkjJVsrmcT6nQCmrzVSrxyiY6Q7tMK17Dc6dOjLFbo9u2DIkJewdesWcZPnCsmpJYmz3MfBSs3FrToEACNGjNabj0L7b7GGF1hSkWgqaRGzUcXcBKjmiDnxbGlBmt5vo7Q4s9LXiPF7MPc3BuSzuglg2K1cc/tWpUMbxGSu8cxcTysxBAUFG/w9LL1fEKOSicm9BOrXb4CEhKV6F8E7d+5gyZIEUceL2zI+Ui4qJqYAdBO7yOVGx9zFx1gi7+5uvEa3qkwNbZBD1yvtBbL870F7Q5CVlYnLl1MMks/c3Ftwc3c3+vd0xDmU+9CLioVMrVp18MADYbrHFW+4pLjW2MrYqhKA/SsgKo773rBhjV5l1/nsO3o33VdyywpiMa4plfXOMKWaW9n1UIzfSWWtVeZWDhGTueQkLKyhwXVI+28x5y2whdzHwYo6nt2MitdGoKyi091EeQLY/7eivV7n5GTrtlWv7oUHH2wMD3d3k/cNYp5DW3pMXrlyyWij1ezZ76B+/QZ2i83HxxcuLi42lb9i3Rua+htbUtEhxm+5sm7lUrc6W6JiBYQUlQ+2EqPsYHIvkYo/8suXU0RbQ1LLmSf88PLyNlgmzdOzGlauXCrujY6ZCTXMtVaV776jrdV12FJ4FVuCZNb1CjD8PRhbnkpv8kY3N7zxxpsoLi50+Dm0deiFHBib6V+hUEAQBHGvNWZ+J8aYW1UCsH8FhHZy0YqtTq6urnBxcTF50yDGzWL53hk5Odm6yrhBg56HUulntLUPuNudV4xrjanWKu37ykVlc1MYK5cBecxbYI7cJ+8UdRiasWuNkW1aZb8v61taqyI/Pw8rVy4FcLcicdmyNYifPtcgQdZO8y6nyqSKsrIyMX/+7Apxly0nOX/+bLteq4OCgjF9+lzcuJGGzMybukluAetWOXE0U39jsZe7NsZUjz+g8uu1XCrqKlZAyK3ywRwx7huY3DuYtUuXiLmGpFwnq7BEWto1gy4wd+7cFu39LZlQw1xrVfmugUDZd0O0llILZpWVmiXLU/n7+8Pf3x+A8RYZMlwRo3wlmBjXGkt+J8ZIMc60Ro1QCIJgsMSTuRtJsZK+oKBgeHh46PVW2rnzU8yc+Y7Z1j4Pd3cEBgYjO/tul1VHXWuM9SDRMnbjJebNWFXnphBzaIM1zPXOAMTvyWSqS7m5ikR7qexaY+5vXFnvJ3urWJlYvboXfH2VRisZs7OzsHLlUlHOoa3E7lIeFhaBsLAIXL6cgr17dyEqKhqA6eReit+Jqb+xlpTzHQHmr9fGSHEOzTF1rZFL5YM5nC3fiWVlZVY6ltgYMbuU2zquSkqVrmUqEksm1DCn/Czgjq7VNRhXJaOlRCojh+685lqdzc2rIAdZWZl6N4rA3UowsVudAet/J2K3mBpb4sncjaSYNxLGbhZr1AjF/AWm563w9vbRawmUqgXJ3BAlMYZe2Do3RVnCKN4QIHOs7Z0BOGj+DDPLmpv6O5tKQO15Ds1daxzZM85Wphp6Km7XfgfFOIdVJdceLj4ergBgML+Bo78bxv7GpnKDIUNesvv721P5cwiIdK0xxtUdCpi+1si5h4uYmNw7gLH1aoGyLkrvvbcAbm7uSEiQfkyr3GeiN0pGrc5VmVBj3LiJepOFVazVtYfKWjJks+avGVK2+FnS6iz1pC7mVDa0QSxV+Z2IzdQSTxkZN/TmfggMDBZ1nO7d+AxvFs3NWwHA6HADsbuGGrteX8ktwaHkAtGGXtgyDtZcl22xk0Vz15ryvydHtTrbsvxT+WFoYiRVpq41ztyrS/sdNEwIHbfOvbmhDWlp15CTk20wKSEgbg+XitdkT89qAMzfM1T8Loj93cjKykT8tIkGq2UJggZbt24RLY6qEONaY075yTEBGDQWyGXOLXM4oZ6Tqmy92tJSlUE3JXMtBIC8amfFZEurs1wSU3MCAgIdflGsbFyVXNZoN8fcDW35G4y0tGt2n5nXklbnzg94I6Caq97rruSW4GS6eENEtLRJi/ZcFBcXGR3aoE2qeK0xZGyJJ1OT7c2c+Q60069LnfgBlrcESsHWJSPt3Z3XlnGwYnfZNsXcECUxmOv9YGrJSK1aterodT2uVq26UyfcYqusAs9eLKnAMfd3Fuu+wdg1WTuMSs4V7gUF+UaXwZYbqYdRWaJiJYOW+L397lYy5eRk6xrtjJ2vIpUGgDhDG5jcO4At61yWbyEA5HGzaIpYa4Xa2urMpOUuc+OqzN1wy2V8n7kbWjGGNphqCfLx8YWHu7ss5icAjCct2pneTQ1tELuLoi3kUFFnarI9YzfWzt5KWFWmWtPMEfNmrLJxsGSeqYoO7fXQWLns4e4OhUKhl4ytWrVMNpOLlVexglQOFWPlOTqeqg6jEmtVCXNzE0hdCWYJcw0rcpjfQy7nytrJMcVWsZJp1apllc6D4+7mhtFjJhhMBg3Yd2gDk3sHsHT9bmOvCwoKRkbGDd02R9Zw2/rDEWutUGtbncXuAngv0k6aIpfxfebG3IsxtMGUoKBgzDdRGQeI3/3dWNKi/XfFGmS5dFGsGE952nkL5NKDRG43+XJkrjVNTpzub1nJGFOP/78ma69FUih/PTRV7sq9UkXOs5uLqbJhVOYSUzEr6kz9juUwT09lzDWsyKHMM9YjMee2WrTGDEsnx5TymgeYnwfH2Oo2kZFNdddD7UosjrrvYnLvILZ2ozJWE2TvAsbSH46xmaMB8dcK1bJ0nK5ckpbKmDq/UpLNpCn/z1z3MDGGNmhVbJHU/pblNJbc1DJe5mrhK3Ypc+T5NNV9zVx8zjB+jsqYa00jyxlUsGtUujGm5iqtU1MvA5Cu1TkoKBhqtf5kouVXZpB7pQp7dVjGXGIqh1ZnZ+hSbq5CW6zeD8ZU1iNRrIpESydAlTq5B0zPg2NsdRsxKwuZ3DuYtQWaGAWMpbPK3riRZjBztNTMdf8D7l58nIGxmbnFVNnEM9ZMPGVvcvo7mxpzXdmFWg5dygHTk1wVFRXqFT6O7Cprqvuau5ubU4xBNEfMChK5M3WNMHczK5ffidTMVbq7u3vgwQcb6yXP5Xv1id3qbKz7uq3XSbGZq1SXewWEHFg7llis3n5yumcwpbIYAXGHKVVstAgPf9Bkj8TyuYEYSbVc5jqxldSVhUzuZUiMAsaSWWUrzhwth0n/zHWHlqrrvakWycqYmpnb0SwpBBUKhaRdFM1189R+BrH+zqbGXGvPRcW/f716D0j+O7GEl5e3aIWPqe5rCxKWGv0b5+bewqrVy2V/DsXoaWUPUvUSsuRmVk69MKTsTaWtdE9Nvazrytm3b3/UrVsf9eo9AA8PD4wf/5rR75qYN5LmKhLksDJDZaSuVHdWlf2WTY0lFqustvTeUMrKWHP3NZVNSmlv5irjKp4TOSbWpuZ3kVNlsZSVhUzuyaSKM0ebWxYIEC/hsqRiQqwLuLGbe+1EZpV1DzM2M7cYLC0Epe6iKKeaW1MXaVPJnRx+J5VNciV2RZi5Zdwq9hJ54IEwJMjgHFZG6tp5S0mV0FgyN4Wchl6YOk+mhuXYm4eHh95EoXv37jKZPFf8rol1I2kuDmdo+ZaqUt1epKqAsrTC3dFjiSuL0dy8VXKojJXLfU1VKuOknnjS1Pwubk7QqCIWJvf3OWuTYLlcmADTN1xiXsCN3ei4urrKvnuYZT035H+jJjVzN7pS/04smeRKDky1BJoawyu376Xc4jFGyoTG1A23pT2cxGTsPInZ3byyG265fNfkEoctzFWqy3EenIrEqqgzdm9Y2f2fWJVg5pi7/3OWylix2PK3kcPEk6auk66urgYTmQNlk5lPnz5XNvc8gOMrSJjc38dMXQRLSkp0Mz1q1xHX3ozJJSmo7IZLzAu4sR+lNqn699+/sGPHdl33SinOoRwKXFs5Q+zm4pG6hltOlXGmmPq9OssYXmcgVS8hLZNzLsispcXYeRK7u7ncrm/OyNaee2L2cLG1IkGMijpbGkikuF4bO4dy6eFSmYr3BlpymJQQMP0bkksFiam/Y8Vep4D8GgXEqCBhcn8fM/YjLSkpQfy0iSYnuXJ3c8OCBOlnP5Z7C4d2tszPPvsEgGH3SrFUVuDKeTIwZ0/u5FDDDThvBYmzjOGlypmcc0FGlaDmyO33QqZVpeeemD1cbK1IEKOirrIEzliltRTXa1PnUO6/V2P3BuYqO8Wu6KzsNyTm+bWlgUTsv7+1FXViVJAohPJ9F6hSarUG2dnirPUohcuXUzB37nSz+7z++iTcvl2s6+YbHv6gw35MGRk3kJx8XpT3coSMjBtWLYXo6BjKx5Gfn6c3QZMcE2dTsWvJvRul1H//in9jQJ5/Z7p/OcN1iJyL1NddS8i97DJFTr9XZz2HgPHv6JUrlzB37nSDLuWzZ7+D+vUbSB6f2OT0XTNHu7JYdnaWwyveAgO94erqUul+TO6tdK8n91lZmWZb7t1cXaHWaERJFpiYOJ4cLuBVIeZF1VlVVkFCJDVnvw4R3U/4e3Ucltf6nOG7JmYlE5N7B7nXk3ugLME3N+ZerVaLdvHhhY7MceaaeyIiIiIiSzC5B3Dx4kW88847OH36NLy9vfHUU09h/Pjx8PDwqPzFJtwPyT0RERERERHJg6XJ/T07oV5ubi5efPFFNGjQACtXrsSNGzewcOFC3L59G7NmzZI6PCIiIiIiIiK7uWeT+x07dqCwsBCrVq2Cv78/AECtVmPu3LkYOXIkQkPZtZuIiIiIiIjuDZW37Tupo0ePol27drrEHgB69OgBjUaD48ePSxcYERERERERkZ3ds8l9cnIywsPD9bYplUqEhIQgOTlZoqiIiIiIiIiI7O+e7Zafl5cHpdJwuTQ/Pz/k5uZW6dhubvdsnQgRERERERE5oXs2uXcUFxcFAgK8pQ6DiIiIiIiISOeeTe6VSiXy8/MNtufm5sLPz8/m42o0AvLyiirfkYiIiIiIiKiKlMrq9/dSeOHh4QZj6/Pz83Hz5k2DsfjWKi3VVOn1RERERERERPZ0zw4e79SpE06cOIG8vDzdtkOHDsHFxQUdOnSQMDIiIiIiIiIi+7pnk/tBgwbB29sbY8aMwbFjx7Bnzx4sWrQIgwYN4hr3REREREREdE9RCIIgSB2Eo1y8eBFvv/02Tp8+DW9vbzz11FOYMGECPDw8bD6mIAjQaO7ZU0ZEREREREQy4uKigEKhqHS/ezq5JyIiIiIiIrof3LPd8omIiIiIiIjuF0zuiYiIiIiIiJwck3siIiIiIiIiJ8fknoiIiIiIiMjJMbknIiIiIiIicnJM7omIiIiIiIicHJN7IiIiIiIiIifH5J6IiIiIiIjIyTG5JyIiIiIiInJyTO6JiIiIiIiInByTeyIiIiIiIiInx+SeiIiIiIiIyMkxuSciIiIiIiJyckzubXTw4EG89tpr6NSpE6Kjo/HUU09h9+7dEARBb79du3ahe/fuiIqKQp8+ffDDDz8YHCs/Px/x8fFo3bo1YmJi8PrrryMjI8Ngv1OnTmHgwIFo3rw5OnfujA0bNhi8n1Tx/fHHH5g2bRp69OiBxo0bY+TIkbI7hzt27MArr7yCDh06oGXLlhgwYAC+/fZb2cT3+eefY8CAAWjdujWioqLQvXt3rF69GiUlJbKJsbz09HTExMQgMjIS2dnZsohv5cqViIyMNPjv008/lUV8AKDRaPDhhx/iySefRLNmzdChQwdMmjTJaHxSxNilSxej5zAyMhK///675PFpj9W7d29ER0fj0UcfxYwZM5CVlSWbcwgAe/bs0f2Nn3jiCXz88ccOj6+kpASLFi3C888/j+joaLO/TWvKEylitLZMETs+qcoTS+OTsjyx5nuoJWZ5Yml81pYnUp1Da8oUseOztjyR6hxaU6ZIEZ815Yk9Yzx79iymTZuGJ554Ai1atEC3bt2wZMkSFBUVGbynFDmKpfFJVZ5YGp+15UmlBLLJgAEDhAkTJggHDhwQTpw4ISxevFho3LixsHLlSt0++/fvFyIjI4Vly5YJSUlJwsyZM4WmTZsKp0+f1jvWK6+8InTq1Ek4cOCA8O233wq9evUS+vTpI6hUKt0+ly5dEqKjo4UxY8YIJ06cED744APhoYceEjZt2iSL+D788EOha9euwsSJE4XOnTsLI0aMkN05fPTRR4Xp06cLhw8fFo4dOybMmDFDaNSokbB3715ZxPfBBx8IK1asEL755hshKSlJWL9+vRAVFSXMmDFDNuewvDfeeENo37690KhRIyErK0sW8a1YsUJo3ry5cPr0ab3/MjMzZRGfIAjC9OnThfbt2wvbtm0Tfv75Z2H//v3C3LlzjcYnRYx//vmnwfl7/vnnhbZt2xr9Logd3+effy40atRIePfdd4UTJ04Iu3fvFjp06CAMHDhQNufwwIEDQqNGjYR33nlHOHbsmLB8+XKhSZMmwscff+zQ+HJzc4VWrVoJL7/8svDKK6+Y/G1aW55IEaO1ZYrY8UlVnlgan5TliaUxlidmeWJpfNaWJ1KdQ2vKFLHjs7Y8kSJGa8sUseOztjyxZ4wLFy4UBg8eLOzYsUP46aefhG3btgmtW7cWhgwZovd+UuUolsYnVXliaXzWlieVYXJvI2M/wBkzZggtW7YU1Gq1IAiC0K1bN2HixIl6+wwcOFB49dVXdY9PnTolNGrUSPjxxx912y5evChERkYKBw4c0G2bOXOm0LlzZ+HOnTu6bUuWLBFatWqlt02q+LTHFARBeOGFFyxK7sWO0dj7vfzyy0KvXr1kEZ8xS5cuFZo3by6UlpbKKsYTJ04IrVu3FjZv3mz2pkPs+FasWCFER0cbjUUO8Z04cUJo2rSp8M8//8g2xooKCwuF6OhoYc6cObKI75VXXhFeeOEFvWPt3r1baNSokXD9+nVZxNi9e3dh7NixeseaN2+e0Lp1a6GkpMRh8QmCIGg0GkEQBGHPnj0mf5vWlidSxGhtmSJ2fFKVJ5bGZ4xY5Ym1MYpdnlgan7XliRQxWlumSP09rKw8kSJGa8sUseOztjyxZ4zGjvPVV18JjRo1Ev744w/dNqlyFEvjk6o8sTQ+a8uTyrBbvo0CAwMNtjVp0gQFBQUoKipCamoqLl26hB49eujtExcXh6SkJF3XuKNHj0KpVKJDhw66fcLDw9GkSRMcPXpUt+3o0aN4/PHH4eHhoXesvLw8nD59WvL4XFys/yqJHaOp9zPV9Vzs+Izx9/dHaWkpNBqNbGJUqVR4++23MW7cOPj7+5uNXw7nUE7x7dy5E61bt0ZkZKRsY6zou+++Q1FREXr37i2L+EpLS+Hj46N3LF9fXwAw2QVQzBiLi4tx6dIlvX0AIDY2Frdu3TLaFdVe8QGAQqEweg7Ks7Y8kSJGa8sUseOTqjyxND5jxCpPrIlRivLEmvisJXaM1pYpUp/DysoTKWK0tkwRMz5byhN7xmjsOE2bNgUAvWudVDmKpfFJVZ5YGp+15UllmNzb0W+//YbQ0FD4+PggOTkZABAWFqa3T0REBFQqFVJTUwEAycnJCAsLM/iBh4eH645RVFSEtLQ0hIeHG+yjUCh0+0kVnz2JHeNvv/1mcF6ljq+0tBTFxcU4efIkPvroIwwePBju7u6yiXHr1q1wdXXF4MGDLY5JzPhu376Ntm3bomnTpoiLi8POnTtlE9+ZM2cQHh6O+fPno1WrVmjevDmGDRuGlJQU2cRY0f79+1GnTh20bNlSFvH169cPP/74Iw4dOoSCggKcP38e69atQ+fOnVG7dm3JYywpKYEgCHo3OQB0jy9evOiw+Cxhr/LEkTHai9jxiVGeWEuK8sQaUpQn1qhqeeLoGO1Rpoj5O7GlPHF0jPYoUxwVn73KE3vG+NtvvwGA7lonZY5iSXz2InZ81pYn5TG5t5OTJ08iMTERr7zyCgAgNzcXAKBUKvX20z7WPp+Xl6erISzPz89Pt09+fr7RY3l4eKB69eq6/aSKz17EjnHfvn04ffo0hg0bJpv4SktL8dBDDyE6OhrPP/882rZti/j4eIviEyPGGzduYPXq1YiPj4erq6vFcYkVX/369TF58mQsW7YMa9asQZMmTTBz5kxs3rxZFvHdvHkTe/fuxe+//47FixdjyZIlSEtLw7Bhw3Dnzh1ZxFheTk4Ojh8/jl69elkUmxjx9e7dG7NmzcLkyZPx8MMPo1evXvDz88OyZctkEaOfnx/8/f1x9uxZvX20LSyOvF5bwh7liaNjtAex4xOrPLGGVOWJpaQqTyxV1fJEjBirWqaI+TuxpTwRI8aqlimOjM8e5Yk9Y8zOzsbKlSvx+OOPo0GDBgCkzVEsic8exI7P2vKkIjebXkV60tPTMWHCBLRp0wZDhw6VOhwDco8PED/Gf/75B7Nnz0bfvn3RtWtX2cTn5uaG3bt3486dOzh37hzWrl2LadOm4d1335VFjIsWLUKHDh3Qrl07q18rRnxPPfWU3uPHHnsMKpUKa9euxdChQ822WIkRnyAIUKvVWLt2LYKDgwGU1fT27NkT+/btQ79+/cy+XuzfycGDB6FSqSy+GRMjvsOHD2PhwoV47bXX8Mgjj+D69etYsWIFxo8fj3Xr1lXazVGMGJ977jls3rwZDz/8MDp16oRTp05h69atACrvhsnrddWxPCnD8qRqqlKeiBVjVcoUuZcngPzLFLmXJ/aMUaVSYeLEiQCAOXPm2HycihifPmvLE2PYcl9FeXl5GD58OPz9/bFy5UrduA4/Pz8Ad2u0yu9f/nmlUomCggKD4+bm5ur20bYUVTxWSUkJiouLdftJFV9ViR3jtWvXMHz4cDRv3hzz5s2TXXxRUVFo1aoVXnrpJcyfPx9ffPEF/vjjD8ljPH36NL7++mu89tpryMvLQ15eHoqLiwEAhYWFun9LFZ8pPXr0QH5+Pq5cuSJ5fEqlEg0bNtTdhAFlXbNq1qyJCxcumP0cUpzD/fv3IzIyEo0aNTIbm1jxCYKA2bNnY8CAARgzZgxat26Np59+Gu+99x7+97//4fjx45LHCAAjR47EE088gTfffBOtW7fGxIkT8frrrwMAQkJCHBafJapSnogVY1WIHZ/Y5Ym1pChPLCFleVIVlpQnYsZoa5kixTm0pjwRK8aqlClinUNbyxN7xigIAuLj43H27Fls3LgRNWrU0D0nZY5iSXxVIXZ81pYnpjC5r4Lbt29j5MiRyM/Px6ZNm/S6a2rHSVQca5KcnAx3d3fUq1dPt19KSorBpB0pKSm6Y3h5eaFWrVoGx9K+ztSYDLHiqwqxY8zOzsawYcMQFBSEVatWVVrzLvU5bNasGQCYvZEQK8aUlBSoVCo888wzeOSRR/DII4/oLj5du3Y12d1T6nNYGTHja9iwock4zHWhlOIcXr9+HadOnbKolUWs+LKzs5GdnY3GjRvr7aOdoEYOvxMAqFatGpYsWYITJ07gq6++wvHjxxEVFQUAaNGihcPis4St5YmYMdpK7PikKE+qQqzyxBJSlieOJmaMtpQpUpxDa8oTMWO0tUwR8xzaUp7YO8Z3330XBw8exOrVqw3OlZQ5iiXx2Urs+KwtT8xhcm+j0tJSjB8/HsnJydi0aRNCQ0P1nq9Xrx4aNGiAQ4cO6W1PTExEu3btdJNhdOrUCbm5uUhKStLtk5KSgr/++gudOnXSbevUqRO+++47qFQqvWMplUrExMRIHp8txI6xsLAQw4cPh0qlwoYNGwxmR5U6PmO0E2+YKgzEjLFjx47YunWr3n/Dhw8HAKxevRpjxoyRND5TtL+T+vXrSx5f586dceHCBdy8eVO37eLFi0hPT8dDDz1kNH6pzuH+/fsBoNKbMTHjCwwMRPXq1fHXX3/pHevPP/8EANSpU0fyGMsLDAxEZGQkvLy8sH37drRq1crojY694rOUteWJFDFaS+z4pCpPqkKs8sQSUpYnVWGuPJEiRmvLFKnOoaXlidgx2lKmSHUOLS1P7B3jhg0b8OGHH2LhwoUmh9BIlaNYGp+1xI7P2vKkMhxzb6O5c+fihx9+wNSpU1FQUKC3HEXTpk3h4eGBcePGYfLkyahfvz7atGmDxMREnD17Ftu2bdPtGxMTg9jYWMTHx2PKlCnw9PTEsmXLEBkZiW7duun2GzZsGPbt24dJkyZh8ODB+O+//7B582ZMmDDB6IVC7Piys7Pxyy+/6P5dWFio+9I/+uijqF69uuQxjhs3Dv/88w/mz5+P69ev4/r167rnoqOjJY/v+eefxxNPPIHw8HC4uLjgzJkz2LJlCzp27IjmzZsbxCd2jCEhIQZdwK5duwYAaNmypdGlPMQ+h3379sXTTz+N8PBw3L59G/v27cPhw4cRHx9vtBZU7Pj69++Pjz/+GCNHjsTo0aOhUqnw/vvvo379+ujZs6fkf+Py9u/fj5YtW1Y6W7CY8SkUCgwYMACffPIJfHx8dOMjV61ahQcffNBkwSn2OTxy5AiuXLmChg0bIjc3F/v27cPPP/+MTz/91KHxad+7uLgY586dAwD88MMP8Pb2RsOGDXWtfNaWJ1LEaG2ZInZ8UpUnlsYnZXliSYxSlieWnkNryxMpYrS2TBE7Pi1LyxOxY7SlTBH7HFpbntgzxn379mHJkiXo06cP6tatq3ec+vXr636nUuUolsYnVXliaXzWlieVUQimFgYms7p06aIriCr67rvvULduXQDArl27sHHjRly/fh1hYWGYOHEiOnfurLd/fn4+EhIS8M0336C0tBSxsbGYMWOGQU3RqVOnsHDhQvz9998IDAzE888/j+HDhxudUEPs+H7++WeTE02Ufz8pYzS3Duy///4reXwJCQn48ccfcf36dbi5uaFu3bp4+umn8dxzz5m84Zbie1je3r17MW3aNCQlJRm9GRM7vvHjx+Ps2bPIzMyEQqFAo0aNMGTIEPTp08doDFKcv9TUVMyfPx8///wzFAqFLlmsWbOmbGK8cOECevbsidmzZ+O5554z+t5SxVdSUoItW7bgyy+/xPXr1xEQEIA2bdpgwoQJsjmHx48fx6JFi3D58mW4ubmhdevWmDRpEiIiIhwen6ljjR07FuPGjdM9tqY8kSJGa8sUseOTsjyxJD6pyxNLv4fliVmeWBKfteWJFDEC1pUpUsRnTXkiRYzWlilix2dteWLPGKdOnYrPP//c6HESEhLQt29f3WMpchRL45OqPLE0PmvLk8owuSciIiIiIiJychxzT0REREREROTkmNwTEREREREROTkm90REREREREROjsk9ERERERERkZNjck9ERERERETk5JjcExERERERETk5JvdEREQkK7/++itWrVqF/Px8qUMhIiJyGkzuiYiISDauXbuGMWPGwMfHB76+vlKHQ0RE5DSY3BMREZHO9u3bERkZif79+4v+3iqVChMmTMAzzzyDl156SfT3JyIicmZM7omIiEhn3759qFOnDs6ePYvLly+L+t4XLlxAXFwcpk6dKur7EhER3QuY3BMREREAIDU1FadPn8a0adMQGBiIffv2ifr+TZo0wUsvvQSFQiHq+xIREd0LmNwTERERgLJWez8/Pzz66KPo3r27QXJ/9epVREZGYvPmzfjss8/QtWtXNGvWDM8++yzOnj2rt+/UqVMRExODGzduYPTo0YiJiUHbtm3x7rvvQq1W6+2r0Wjw4YcfomfPnoiKikL79u0xa9Ys5ObmGsR45MgRPPfcc4iOjkZMTAxGjBiB8+fP2/9kEBERORkm90RERASgLLl/4okn4OHhgV69euHSpUsGSTsA7N+/H5s3b8bAgQMxfvx4XLt2DePGjYNKpdLbT61WY9iwYfD398dbb72F1q1bY8uWLfjss8/09ps1axbee+89tGzZEtOnT0ffvn2xb98+DBs2TO+YX3zxBUaOHAkvLy9MnjwZo0ePxoULF/Dcc8/h6tWrjjkpRERETsJN6gCIiIhIeufOnUNycjJmzpwJAHj44YdRs2ZN7Nu3D82bN9fb9/r16zh8+DD8/PwAAGFhYRg9ejSOHTuGzp076/a7c+cOevTogTFjxgAABg8ejGeeeQa7d+/Gc889BwA4efIkdu3ahcWLF6N3796617Zp0wavvvoqDh06hN69e6OwsBDz589H//798fbbb+v2e+aZZ/Dkk09i/fr1etuJiIjuN2y5JyIiIuzbtw/BwcFo06YNAEChUCAuLg6JiYkG3ejj4uJ0iT0AtGrVCkDZmP2KBg8erPf44Ycf1mtlP3ToEHx9fdGhQwdkZ2fr/nvooYfg5eWFn3/+GQBw4sQJ5OXloWfPnnr7ubi4oEWLFrr9iIiI7ldsuSciIrrPqdVqHDhwAG3atNFLvJs3b44tW7YgKSkJsbGxuu21atXSe7020c/Ly9Pb7unpicDAQIN9y4+lv3z5MvLz89GuXTujsWVlZQEALl26BAB48cUXje7n4+Nj7iMSERHd85jcExER3ed++ukn3Lx5EwcOHMCBAwcMnt+3b59ecu/q6mr0OIIg6D02tV95Go0GQUFBWLx4sdHntZUD2mMvWrQIISEhBvtZ8l5ERET3Mib3RERE97l9+/YhKCgIs2bNMnjum2++wTfffIO5c+c65L3r16+PpKQktGzZEtWqVTO5X7169QAAQUFBaN++vUNiISIicmYcc09ERHQfu337Ng4fPozHHnsMTz75pMF/zz//PAoLC/H999875P179OgBtVqNNWvWGDxXWlqq6+rfsWNH+Pj4YP369Qaz8gNAdna2Q+IjIiJyFmy5JyIiuo99//33KCwsRJcuXYw+Hx0djcDAQHz11VcGs+bbQ+vWrTFw4ECsX78ef//9Nzp06AB3d3dcunQJhw4dwvTp0/Hkk0/Cx8cHc+bMwVtvvYW+ffsiLi4OgYGBuH79Oo4cOYKWLVsa7XlARER0v2ByT0REdB/76quv4OnpiQ4dOhh93sXFBY899hj27duHW7duOSSGefPmoVmzZtixYweWLVsGV1dX1KlTB3369EHLli11+/Xu3Rs1atTAhg0bsHnzZpSUlCA0NBStWrVC3759HRIbERGRs1AIFWe/ISIiIiIiIiKnwjH3RERERERERE6OyT0RERERERGRk2NyT0REREREROTkmNwTEREREREROTkm90REREREREROjsk9ERERERERkZNjck9ERERERETk5JjcExERERERETk5JvdERERERERETo7JPREREREREZGTY3JPRERERERE5OSY3BMRERERERE5OSb3RERERERERE7u/wDG9AfyUCp5FwAAAABJRU5ErkJggg==\n" - }, - "metadata": {} } ] }, { "cell_type": "code", "source": [ - "Boxplot_data" - ], - "metadata": { - "id": "zHySqlKEsIRy" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Boxplot_data=Thermal_anomalies_Anual.groupby(['Zone_Climatique','Année','Mois'])['FRP'].count().reset_index()\n" + "task = ee.batch.Export.table.toDrive(\n", + " collection=MODWorldCoverv,\n", + " description='MODWorldCoverv5',\n", + " folder='/content/drive/MyDrive/PFE_CIRAD_AMAP',\n", + " fileFormat='CSV')\n", + "\n", + "task.start()\n", + "\n", + "print(\"Processus Pre-traitement MCD14ML in GEE terminée\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 424 + "height": 34 }, - "id": "VUIsgZsKo3Tr", - "outputId": "42bb8067-a226-4a52-b387-724fea685962" + "id": "sK-TioLAXDV4", + "outputId": "c5150d35-55d7-4c5f-96a3-08e1571844f8" }, "execution_count": null, "outputs": [ @@ -2103,399 +1051,104 @@ "metadata": {} }, { - "output_type": "execute_result", - "data": { - "text/plain": [ - " Zone_Climatique Année Mois FRP frec_norm\n", - "0 South_Zone 2000 11 37 0.321308\n", - "1 South_Zone 2000 12 5 -0.448036\n", - "2 South_Zone 2001 6 2 -0.520162\n", - "3 South_Zone 2001 7 40 0.393434\n", - "4 South_Zone 2001 8 36 0.297266\n", - ".. ... ... ... ... ...\n", - "552 Zone_Equatorial 2022 8 1 -0.544204\n", - "553 Zone_Equatorial 2022 9 6 -0.423994\n", - "554 Zone_Equatorial 2022 10 5 -0.448036\n", - "555 Zone_Equatorial 2022 11 3 -0.496120\n", - "556 Zone_Equatorial 2022 12 5 -0.448036\n", - "\n", - "[557 rows x 5 columns]" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Zone_ClimatiqueAnnéeMoisFRPfrec_norm
0South_Zone200011370.321308
1South_Zone2000125-0.448036
2South_Zone200162-0.520162
3South_Zone20017400.393434
4South_Zone20018360.297266
..................
552Zone_Equatorial202281-0.544204
553Zone_Equatorial202296-0.423994
554Zone_Equatorial2022105-0.448036
555Zone_Equatorial2022113-0.496120
556Zone_Equatorial2022125-0.448036
\n", - "

557 rows × 5 columns

\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "Boxplot_data", - "summary": "{\n \"name\": \"Boxplot_data\",\n \"rows\": 557,\n \"fields\": [\n {\n \"column\": \"Zone_Climatique\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"South_Zone\",\n \"Transition_Zone\",\n \"Zone_Equatorial\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Ann\\u00e9e\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 2000,\n \"max\": 2022,\n \"num_unique_values\": 23,\n \"samples\": [\n 2015,\n 2009,\n 2000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Mois\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3,\n \"min\": 1,\n \"max\": 12,\n \"num_unique_values\": 12,\n \"samples\": [\n 4,\n 2,\n 11\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FRP\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 41,\n \"min\": 1,\n \"max\": 331,\n \"num_unique_values\": 100,\n \"samples\": [\n 250,\n 84,\n 127\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"frec_norm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.0,\n \"min\": -0.5442041565288016,\n \"max\": 7.389660533474292,\n \"num_unique_values\": 100,\n \"samples\": [\n 5.442257382291715,\n 1.4512830230780374,\n 2.4850896341996527\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 194 + "output_type": "stream", + "name": "stdout", + "text": [ + "Processus Pretraitement MCD14ML in GEE terminée\n" + ] } ] }, + { + "cell_type": "markdown", + "source": [ + "## *4. Surfaces extraction WorldCover in GEE*" + ], + "metadata": { + "id": "zSb4AkvENuji" + } + }, { "cell_type": "code", "source": [ - "#import seaborn as sns\n", - "sns.set_theme(style=\"ticks\")\n", - "\n", - "#dots = sns.load_dataset(\"dots\")\n", - "rel_data=Thermal_anomalies_Anual.groupby(['Zone_Climatique','Pays','WordlCover','Année'])['FRP'].count().reset_index()\n", - "rel_data[\"frec_norm\"] = (rel_data[\"FRP\"] -\n", - " rel_data[\"FRP\"].mean()) / rel_data[\"FRP\"].std()\n", - "\n", - "# Define the palette as a list to specify exact values\n", - "palette = sns.color_palette(\"tab10\")\n", - "\n", - "# Plot the lines on two facets\n", - "sns.relplot(\n", - " data=rel_data,\n", - " x=\"Année\", y=\"frec_norm\",\n", - " #hue=\"coherence\",\n", - " #size=\"Pays\",\n", - " col=\"Zone_Climatique\",\n", - " kind=\"line\",# size_order=[\"T1\", \"T2\"],\n", - " palette=palette,\n", - " height=5, aspect=.75,\n", - " #facet_kws=dict(sharex=False)\n", - ")" + "# -*- coding: utf-8 -*-\n", + "\"\"\"\n", + "Created on 16/07/2024 14:45:16\n", + "Version 4.1.0\n", + "@author: jvilla\n", + "\"\"\"\n", + "def Cover_surface(codesoil,pays,cover,dem,AOI):\n", + " \"\"\"\n", + " This function takes extract the total surface of soil in the region of interest (AOI)\n", + "\n", + " Parameters:\n", + " -------------\n", + " codesoil: int\n", + " Code of soil class.\n", + " pays: ee.FeatureCollection\n", + " List of countries.\n", + " cover: ee.ImageCollection\n", + " WorldCover image collection.\n", + " dem: ee.Image\n", + " DEM Elevation data.\n", + " AOI: ee.Geometry\n", + " Region of interest (geometry).\n", + "\n", + " Returns:\n", + " -------------\n", + " Soil_cover: ee.FeatureCollection\n", + " Total surface of soil in the region of interest per Soil class.\n", + " \"\"\"\n", + " #Function to select only countries with presence in the Tropical Andes.\n", + " def country(pays):\n", + "\n", + " #Countries codes for-> 195:Peru, 51:Chile, 12:Argentina, 33:Bolivia, 73:Ecuador, 57:Colombia, 263:Venezuela\n", + " countries = ee.List([195,51,12,33,73,57,263]);\n", + " countriesshp = pays.filter(ee.Filter.inList('ADM0_CODE',countries))\n", + " filterc = ee.Filter.inList('ADM0_CODE',countries)\n", + " countriesshp = pays.filter(filterc)\n", + " def remove_non_polygons(geometry):\n", + " return ee.Algorithms.If(ee.Algorithms.IsEqual(ee.Geometry(geometry).type()\n", + " , ee.String('Polygon'))\n", + " , ee.Feature(ee.Geometry(geometry)), None)\n", + " def clean_polygon_feature(feature):\n", + " geometries = feature.geometry().geometries();\n", + " geometries_cleaned = ee.FeatureCollection(geometries.map(remove_non_polygons)).union().first();\n", + " return ee.Feature(feature).setGeometry(geometries_cleaned.geometry())\n", + " return countriesshp.map(clean_polygon_feature)\n", + "\n", + " #Function to clip WorldCover Raster by ROI and make a mosaic image\n", + " def worldcover(cover,AOI):\n", + " def clipStudyArea(img):\n", + " return img.clip(AOI)\n", + " return cover.filterBounds(AOI).map(clipStudyArea).mosaic()\n", + "\n", + " #Function to get the total surface of soil in the region of interest\n", + " def mask_soil(dem,AOI,cover,pays):\n", + " dem2 = dem.clip(AOI)\n", + " elev = dem2.gte(2000)\n", + " soil = worldcover(cover,AOI).updateMask(elev)\n", + "\n", + " soilCover = ee.Image(1).updateMask(soil.select('Map').eq(codesoil))#Grasland #Change of mask to updateMask\n", + " area_pxa_soilCover_countries = soilCover.multiply(ee.Image.pixelArea()).reduceRegions(\n", + " collection = country(pays),\n", + " reducer = ee.Reducer.sum(),\n", + " scale = 10)\n", + " #Function to convert area to hectares\n", + " def getArea(feature):\n", + " area = ee.Number(feature.get('sum')).divide(1e6)\n", + " return feature.set('area', area)\n", + " return area_pxa_soilCover_countries.map(getArea).select('area','ADM0_NAME')\n", + " Soil_cover = mask_soil(dem,AOI,cover,pays)\n", + " return Soil_cover\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 517 + "height": 34 }, - "id": "Sgpl_dXoQ-7K", - "outputId": "ab1916c9-1791-49ab-c1a2-771752d257a9" + "id": "0fmFZ-XFGVAk", + "outputId": "f6a8883b-5e07-42f9-cc8c-b2a76a82f5fd" }, "execution_count": null, "outputs": [ @@ -2534,42 +1187,104 @@ "metadata": {} }, { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 180 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAABFUAAAHjCAYAAADiyCAEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wcdf0/8NdnZsvVXHoICaF6gYSAoRdFqYIgiAhICSgCwpei8PWnAcSCKKIg0kQRFCkiIE2QYghNQIr5oiCEkEB6uSTX77bMzOfz+f0xO5srW2bLbbvX8/HwIbnd2/3c7uzszHveRWitNYiIiIiIiIiIKCdGuRdARERERERERFSNGFQhIiIiIiIiIsoDgypERERERERERHlgUIWIiIiIiIiIKA8MqhARERERERER5YFBFSIiIiIiIiKiPDCoQkRERERERESUBwZViIiIiIiIiIjywKAKEREREREREVEeGFShEffGG29g5syZeOONN5I/mz9/Pg455JAyrmq4NWvWYObMmXjkkUfKvZRR7ZFHHsHMmTPx7rvvlnspRBWH+1MqlkMOOQTz58/3dd958+Zh3rx5I7wiourBfTHRyEv1OfPr5ptvxsyZM0dgVakFSvZM5OuNvfDCC3HRRReVYDXFsWDBAjzwwAN499130d/fj7Fjx2LPPffEV77yFey///7lXl5KTzzxBNrb2/HVr3613EspO8uycP/99+PRRx/FqlWrYBgGpkyZgj322ANf/epXseOOO47Yc993332or6/Hl770pRF7jlr8zJGrFt9b7k+r080334xbbrkl6/322Wcf3HPPPSVYUX6WLVuGp59+GscffzymT59e7uUMM2/ePLz55psZ71Ppr3Et4r64MnBf7PK7P16yZEkJVlOYN954A2eccUba23/5y1/i6KOPLuGKUivF8Xw1YFClhH7+85+nve2WW27BqlWrsNtuu5VwRfnTWuPyyy/HI488glmzZuFrX/saJk6ciE2bNmHBggX46le/ivvvvx977LFHyt//8Y9/DK11iVftevLJJ7F06dJhXzzTpk3DO++8g0Bg9HwsLr74Yrz88ss4+uijceKJJ8JxHHz88cd48cUXMXfu3BENqtx///0YN27ciO6Ea+kzR4PV0nvL/Wl1O/zwwzFjxozkvyORCH74wx/i8MMPx+GHH578+cSJE8uxvLSeeeYZCCGS/162bBluueUW7LPPPsOCKnfeeWeplzfMeeedhy9/+cspb3v66afxwgsvYPfddy/xqoj74i24Ly6/ofvjgZYsWYI777yz6vYT8+bNw5w5c4b9/JOf/GTpF5PCSB7P77333njnnXcQDAaL/tjFNjo+YRXiuOOOS/nzhx56CKtWrcK8efPwmc98psSrys/vf/97PPLIIzjzzDNx2WWXDTowO//88/HYY49l3IFX4odDCIFwOFzuZZTMO++8gxdeeAGXXHIJzjvvvEG3SSnR09NTppUVTy195miwWnpvuT+tbjvvvDN23nnn5L87Ojrwwx/+EDNnzky7nQJAPB5HMBiEYZSnEjsUCo3IfUfKgQcemPLnS5YswZVXXonZs2fj4osvLvGqiPviLbgvLr+h+2NPJBLBbbfdhubmZlx//fVlWFn+9tprLxx55JHlXkZJDfx+rJbtlz1Vymzp0qW4+uqrMWvWLHznO98ZdFskEsHPfvYzfOYzn8Guu+6Kz33uc7jzzjuHRcFnzpyJq666Cs899xyOOeYY7Lrrrjj66KPx8ssvD3u+trY2XHbZZTjggAOS9/vLX/6S05pjsRhuv/127LDDDvjud7876EvH88UvfjHjlYmhdadezeedd96J++67D4ceeih23313nHXWWVi/fj201rj11ltx0EEHYbfddsP555+Prq6uQY/53HPP4dxzz8WnPvUp7LrrrjjssMNw6623QkqZvM+8efPw4osvYu3atZg5cyZmzpyZXEe6ulPvdZ0zZw6OOeYYLFiwYNj609X8pXvMjz76CBdffDH22WcfzJkzB1/60pewcOHCtK/XSFi9ejUApLziYpomxo0bN+hn77//Ps4++2zssccemDt3Ls4880z8+9//HnSfdPWLXp+UNWvWAHBr+ZcuXYo333wz+T4Mrde3LAvXXHMN9ttvP3zyk5/EBRdcgI6OjkL+ZADV+Zkjf6rxveX+tDb2p9l4f9Pf/vY33HDDDfj0pz+N3XffHX19fejq6sK1116LL3zhC5g7dy722GMPnH322fjggw9SPsZTTz2F2267DQcddBDmzJmDM888EytXrhx03xUrVuCiiy7CgQceiDlz5uCggw7CJZdcgt7e3uR9BvZUeeSRR/DNb34TAHDGGWck30/vPUjVU6W9vR2XX345DjjgAMyZMwfHHnssHn300UH3GbgtPvDAAzjssMOw66674oQTTsA777xT8OsaiURwySWXIBAI4Fe/+tWw4M99992Ho48+Grvuuis+9alP4Uc/+tGwCwbz5s3DMcccg2XLlmHevHnYfffd8elPfxq/+93vhj2fZVm46aabcPjhh2PXXXfFZz7zGfz85z+HZVkF/y21hPtiF/fFlbMv/tGPfoTly5fjqquuwjbbbDPotn/+85849dRT8clPfhJ77bUXzj//fHz00UeD7uMd365cuRLz58/HXnvthT333BOXXXYZotHosOd7/PHH8aUvfQm77bYb9tlnH1xyySVYv379iP19lmXhpz/9Kfbbbz/MnTsX5513HjZs2ICZM2fi5ptvTt4vXd+fVMfvDz/8MM444wzsv//+2HXXXfH5z38ef/rTnwbdJ9vx/OrVq5PbxO67746TTjoJL7744qDHyPT9mGob/Ne//oWLL74Yn/3sZ5P74Z/+9KeIxWKFvIQFY6ZKGUWjUXzrW9+CYRj45S9/OehgQGuN888/H2+88Qa+/OUvY5dddsE//vEP/PznP0dbWxsuv/zyQY+1aNEi/P3vf8epp56KxsZG3HPPPbj44ovxwgsvJE+ON2/ejJNOOglCCJx22mkYP348Xn75ZVxxxRXo6+vzXYe5aNEidHV14YwzzoBpmkV7PQC3JtS2bcybNw9dXV2444478K1vfQv77bcf3njjDZxzzjlYuXIl7r33Xlx77bW45pprkr/76KOPoqGhAV/72tfQ0NCA119/HTfddBP6+vrw3e9+F4CbPtzb24sNGzbgsssuAwA0NjamXc8rr7yCiy66CDvttBP+93//F52dnbjsssuw1VZb5f03Ll26FKeccgqmTJmCc845Bw0NDXj66adxwQUX4Oabbx6ULp5Kd3f3oC/TdOrr61FfX5/29q233hqA+5rvscceGa++LF26FKeddhoaGxtx9tlnIxAI4IEHHsC8efNw77335pxKefnll+PHP/4xGhoaklkyQ1Pjr776aowZMwYXXngh1q5diz/+8Y+46qqr8Ktf/Sqn5xqoWj9zlF21vrfcn9bG/tSvX//61wgGg/j6178Oy7IQDAaxbNkyPPfcczjyyCMxffp0bN68GQ888ABOP/10/O1vf8OUKVMGPcbvfvc7CCFw1llnoa+vD3fccQe+/e1v46GHHgLgHlx7j3/66adj4sSJaGtrw4svvoienh40NzcPW9fee++NefPm4Z577sF5552HHXbYAQDSloDGYjHMmzcPq1atwmmnnYbp06fjmWeewfz589HT04Mzzzxz0P2ffPJJ9Pf34+STT4YQAnfccQcuuugiPPfccwVd3f/xj3+Mjz76CNddd92wlH+vt8IBBxyAU045BcuXL8f999+Pd999F/fff/+g5+3u7sbZZ5+Nww8/HEcddRSeffZZXHfddWhtbU1mWSilcP7552PRokU46aSTsOOOO+LDDz/EH//4R6xYsQK//vWv8/47agn3xcNxX1zeffGjjz6Kxx57DCeddBI+//nPD7rttddewznnnIPp06fjwgsvRCwWw7333otTTjkFjzzyyLBSyG9961uYPn06Lr30Urz//vt46KGHMH78ePy///f/kve57bbbcOONN+Koo47Cl7/8ZXR0dODee+/FaaedhsceewxjxozJaf39/f0pLyqOGzcuGfy74oor8Ne//hXHHHMM9thjD7z++us499xzc3qeoe6//3584hOfwCGHHIJAIIAXXngBP/rRj6C1xmmnnQYg8/H85s2b8ZWvfAXRaBTz5s3DuHHj8Oijj+L8889PBqcHSvX9mMozzzyDWCyGU045BWPHjsU777yDe++9Fxs2bMBNN91U0N9cEE1lc9lll+nW1lb96KOPDrttwYIFurW1Vf/6178e9POLLrpIz5w5U69cuTL5s9bWVj179uxBP1u8eLFubW3V99xzT/Jnl19+uT7wwAN1R0fHoMe85JJL9J577qmj0aivdf/xj3/Ura2tesGCBb7u//rrr+vW1lb9+uuvJ3/23e9+Vx988MHJf69evVq3trbq/fbbT/f09CR/fv311+vW1lZ97LHHatu2kz+/9NJL9ezZs3U8Hk/+LNX6r7zySr377rsPut+555476LmHruHhhx9O/uy4447TBx544KA1vfLKK7q1tXXQY6T6G9M95plnnqmPOeaYQWtSSumTTz5ZH3HEEcPWNdTBBx+sW1tbs/7vpptuyvg4Sil9+umn69bWVn3AAQfoSy+9VN9777167dq1w+77P//zP3r27Nl61apVyZ+1tbXpuXPn6tNOOy35s5tuukm3trYO+/2HH35Yt7a26tWrVyd/dvTRR+vTTz897X2/+tWvaqVU8uc//elP9S677DLovchVtX7mKLtqfW+5P62N/elA7e3tw37H+5sOPfTQYa9tPB7XUsphf+uuu+6qb7nllmGPcdRRRw36e71taMmSJVprrd9//33d2tqqn3766ax/+3e/+93kv59++umUr7vWWp9++umD9td33XWXbm1t1Y8//njyZ5Zl6ZNPPll/8pOf1L29vcm/o7W1Ve+zzz66q6sred/nnntOt7a26ueffz7jGjN57LHHdGtrq54/f/6w29rb2/Xs2bP1WWedNei1vffee3Vra6v+y1/+MuhvG7rviMfj+sADD9QXXXTRoOfbeeed9VtvvTXoue6//37d2tqqFy1alPffUku4L+a+2FPufbHWWi9btkx/8pOf1EcffXTK1/K4447T+++/v+7s7Ez+bPHixXrnnXfW3/nOd5I/845vL7vsskG/f8EFF+h99tkn+e81a9boXXbZRd92222D7rdkyRI9a9asYT/PxHv90/1v48aNyfW2trbqH/7wh4N+/9JLLx32mg3dRof+fQOler3OOussfeihhw76Wbrj+Z/85Ce6tbV10D6zr69PH3LIIfrggw9O7pszfT+m2gZTreu3v/2tnjlz5qBzmHTnJCOFmSpl8sQTT+Dhhx/Gcccdhy9+8YvDbn/55ZdhmuawdNuzzjoLzz77LF5++WWcfvrpyZ8fcMABg67S7LzzzmhqakqWeGit8fe//x1HHXUUtNaDIp6f+tSn8Le//Q3vvfce9txzz6xr7+vrA5A5Cp6vI488ctBVNC/N8thjjx2USbHbbrvhySefRFtbWzKNr66ubtAaLcvCXnvthQceeAAff/xxyhrLTDZu3IjFixfj3HPPHbSmAw88EDvttFPKdL9surq68Prrr+Piiy9Ovo6eT33qU7j55pvR1tY27MrkQL/4xS8Qj8ezPtfQ9MahhBC48847ceedd+Kvf/0rnnzySTz55JO46qqrcNRRR+Gqq67CmDFjIKXEq6++isMOO2zQY06ePBnHHHMMHnroIfT19aGpqSnrmnLhXXny7LXXXrjrrruwdu3anN9LoLo/c5RZNb+33J/Wxv7Ury9+8YuDXltgcL8Sr59VQ0MDtt9+e7z//vvDHuNLX/rSoN/Za6+9ALhp1q2trcl98SuvvILPfOYzRcmwGerll1/GpEmTcMwxxyR/FgwGMW/ePFx66aV46623cPDBBydv+/znP4+WlpaUa87H8uXL8cMf/hA77LADrrzyymG3v/baa7BtG2ecccagnjUnnngifvnLX+Kll17CCSeckPx5Q0PDoN4goVAIc+bMGbS+Z555BjvuuCN22GGHQZ/5/fbbD4Cbwp6ugelowX1xatwXl2dfHI/Hcckll0AphRtuuGHYvtd7Lc4++2yMHTs2+fOdd94ZBxxwAF566aVhj/mVr3xl0L/32msvLFiwIHkcvGDBAiilcNRRRw3aHidOnIhtt90Wb7zxxrA+htlccMEFyX3mQN4+1Vvn0M/VmWeeiSeffDKn5xpo4OvV29sL27axzz774JVXXkFvb2/KrMeBXnrpJey2226D1t7Y2IiTTz4Z119/PZYtW4bW1tbkbam+H7OtKxKJIBaLYe7cudBa4/33309m4pcagyplsGLFCvzgBz/Adttthx/84Acp77N27VpMnjx52Imql4q7du3aQT+fOnXqsMdoaWlJ1g53dHSgp6cHDzzwAB544IGUz+m3X4W3pv7+fl/3z8XQv8P7wKb7eXd3d3IHu3TpUvzqV7/C66+/PmynPrCO3K9169YBALbddttht6U72M1m1apV0FrjxhtvxI033pjyPu3t7Rm/eIp5Eh4KhXD++efj/PPPx8aNG/HWW2/h7rvvxtNPP41AIIDrrrsOHR0diEaj2H777Yf9/o477gilFNavX49PfOITRVsXgGE7RS9dMp8GutX+maP0qv295f60dvanfqQaVayUwt13340//elPWLNmzaAU+IEH+p5s+8ZtttkGX/va1/CHP/wBTzzxBPbaay8ccsghOPbYY7MeBPu1du1abLvttsOa7HqfKe/99gzd5ryTgXz255Zl4Vvf+haklLjhhhvQ0NAw7D7e83tlTJ5QKIRtttlm2Gd+q622GtZDo6WlZdDY1ZUrV+Kjjz5KO1K3vb0957+llnBfnB73xeXZF//kJz/BkiVLcNVVV6U8RvVei3THt6+88goikcigfUy6/W93dzeampqwYsUKaK1xxBFHpFxTPlOYWltbccABB6S9fe3atTAMY1gJ5ND9X64WLVqEm2++Gf/+97+HBdv8BFXWrVuXsj2At65169YNCqqk+n5M97g33XQTnn/+eXR3dw+6behnpJQYVCkxy7JwySWXwLZt3HDDDUWLiKer/9SJxl9KKQBuVPz4449Ped9UDUZT8T4MS5YswWGHHZbrUjNK93ekm47g/X09PT04/fTT0dTUhIsvvhgzZsxAOBzGe++9h+uuuy7594+UVA3NAAx7Xu/fZ511Fj796U+n/J10o+A8HR0dvupOGxoactq+Jk+ejKOPPhpHHHEEjjnmGDzzzDP42c9+5vv3gfSvg5/1DpXtPferFj5zlFotvLfcnw5XC/vTdFJdhfvNb36DG2+8ESeccAK++c1voqWlBYZh4Kc//WnK/Z2ffeP8+fNx/PHHY+HChXj11Vdx9dVX47e//S0efPDBgvom5CvbZyoX11xzDT744AN8//vfzytrMRU/PTSUUmhtbU32rBiqHK9rpeC+ODPui0u/L3766afxwAMP4KijjsLJJ5+c9f5+ZXvPlFIQQuB3v/tdyvc9VRC4lPwep69atQpf/epXscMOO2D+/PmYOnUqgsEgXnrpJdx1110jsu35yVKRUuJrX/tasg/WDjvsgIaGBrS1tWH+/Pkj/pnIhEGVErv22mvx/vvv44orrsCsWbPS3m/atGn45z//Oays4uOPP07enovx48ejsbERSqmM0U4/9txzT7S0tOBvf/sbzjvvvKI39MrHm2++ia6uLtxyyy3Ye++9kz/3ps0MlG6HMpQXjR46VQFwU48H8iLVQ68aDL3q4l15CAaDeb8PX/7yl4c9bioXXnghLrroopwfPxgMYubMmVixYgU6Ozsxfvx41NfXD/ubAXd7NAwjebVl4BXTgY24hl61BPy/D4Wqhc8cpVYL7y33p7W9P/Xj2Wefxb777ouf/vSng37e09MzbApbLrxJDP/zP/+D//u//8Mpp5yC+++/H5dccknK++eyT542bRqWLFkCpdSgkwzvMzVS6dfPPvss/vSnP+GII45INkpMxXv+jz/+eFC5gGVZWLNmTV7by4wZM/DBBx9g//33L9n3V7XgvnhkcF88nJ998erVq3HllVdi+vTp+PGPf5z2ft5rke74dty4cTkHQWbMmAGtNaZPn54yA2YkTJs2DUoprFq1alB2ive5GmjMmDEpMwSHHqc///zzsCwLt91226D9+dBJUED6bW/rrbdO+9p6t+fqww8/xIoVK3DttdcOKjF89dVXc36sYuNI5RJasGAB7r33XhxyyCE444wzMt73oIMOgpQS991336Cf33XXXRBC4KCDDsrpuU3TxOc+9zk8++yz+PDDD4fdnksZQn19Pc4+++xkx/1UV5oef/zxooxL9Ms7qBu4Fsuyho3+Atz1+0mZnDx5MnbZZRc8+uijg+7/6quvYtmyZYPuO23aNJimibfeemvQz++///5B/54wYQL22WcfPPDAA9i4ceOw5/TzPvziF7/AH/7wh6z/S1XPPNCKFStSBjt6enrw9ttvo6WlBePHj4dpmjjwwAOxcOHCQV/kmzdvxpNPPok999wzeXDkXYkY+DpEIhE89thjw56nvr4+r9TvXNTKZ46Gq5X3lvvT2tifFsI0zWHv+9NPP422tra8Hq+vrw+O4wz6WWtrKwzDyDj61+u94uf9POigg7Bp0yY89dRTyZ85joN77rkHDQ0Ng04Ai2XNmjX43ve+h2nTpuHqq6/OeN8DDjgAwWAQ99xzz6DX9i9/+Qt6e3uTE31ycdRRR6GtrQ0PPvjgsNtisRgikUjOj1kLuC8eOdwX574vtm0bl1xyCWKxGH75y19mLFHxXovHHnts0PHohx9+iFdffTWv/cQRRxwB0zRxyy23DNuGtNbo7OzM+TGz8T4399xzz6Cf//GPfxx23xkzZqC3txcffPBB8mcbN27EggULBt3PCyoO/Bt6e3vx8MMPD3vMdMfzn/nMZ/DOO+/g7bffTv4sEongwQcfxLRp07DTTjv5+fMGSfWZ0Frj7rvvzvmxio2ZKiWyceNGXHHFFTBNE/vvvz8ef/zxlPebMWMG5s6di0MOOQT77rsvbrjhhuTc+VdffRULFy7EmWeemTWNLpX//d//xRtvvIGTTjoJJ554InbaaSd0d3fjvffewz//+U+8+eabvh/r7LPPxrJly/D73/8eb7zxBj73uc9h4sSJ2Lx5M5577jm88847+POf/5zzGvM1d+5ctLS0YP78+Zg3bx6EEHj88cdTfinOnj0bTz31FK655hrMmTMHDQ0NKWe2A8Cll16Kb3zjGzj11FNxwgknoKurC/feey8+8YlPDDqAam5uxpFHHol7770XQghss802ePHFF1PWWP/gBz/Aqaeeii984Qs46aSTsM0222Dz5s3497//jQ0bNuCvf/1rxr+1WHWnH3zwAb797W/j05/+NPbaay+0tLSgra0Njz32GDZu3IjLL788uVP91re+hddeew2nnnoqTj31VJimiQceeACWZQ0aI3fggQdi6623xhVXXIGPP/4Ypmni4Ycfxrhx44YFcGbPno37778fv/71r7Htttti/PjxaWvV81FrnznaotbeW+5Pq39/WojPfvazuPXWW3HZZZdh7ty5+PDDD/HEE0/k3Rz39ddfx1VXXYUjjzwS2223HaSUePzxx5MnoOnssssuME0Tv/vd79Db24tQKIT99tsPEyZMGHbfk08+GQ888ADmz5+P9957D9OmTcOzzz6L//u//8Pll19e9MblgLv99PT04Atf+AJefPHFlPdpbGzEYYcdhvHjx+Mb3/gGbrnlFpx99tk45JBDsHz5cvzpT3/CnDlzcOyxx+b8/Mcddxyefvpp/OAHP0g2pZVS4uOPP8YzzzyDO+64A3PmzCnwr6wu3BePLO6Lc3fjjTfi3XffxX777YcVK1ZgxYoVKe93+OGHo6GhAd/5zndwzjnn4OSTT8aXv/zl5Ejl5uZmXHjhhTk//4wZM/Ctb30L119/PdauXYvDDjsMjY2NWLNmDZ577jmcdNJJ+PrXv57TY/7rX/9K2cR35syZ2HnnnbHLLrvgmGOOwZ/+9Cf09vZi7ty5eP3111NmI33+85/HddddhwsvvBDz5s1DLBbD/fffj+233x7vvfde8n4HHngggsEgzjvvPHzlK19Bf38/HnroIUyYMAGbNm0a9JjpjufPPfdc/O1vf8M555yDefPmoaWlBY899hjWrFmDm2++OW0pVSY77LADZsyYgWuvvRZtbW1oamrCs88+O+IXaf1gUKVEli9fnmym85Of/CTt/Y4//njMnTsXhmHgtttuw0033YSnnnoKjzzyCKZNm4bvfOc7OOuss/Jaw8SJE/HQQw/h1ltvxYIFC3D//fdj7Nix2GmnnfDtb387p8cyDAM///nPceihh+LBBx/E73//e/T19WHcuHHYe++98f/+3//D3Llz81pnPsaNG4ff/OY3uPbaa/GrX/0KY8aMwbHHHov9999/2M7r1FNPxeLFi/HII4/grrvuwrRp09J+8Rx00EG48cYb8atf/QrXX389ZsyYgWuuuQYLFy4c9kX9ve99D47j4M9//jNCoRCOPPJIfOc73xk0HQEAdtppJzz88MO45ZZb8Oijj6Krqwvjx4/HrFmzcMEFFxT3hclg7733xsUXX4x//OMf+MMf/oDOzk40NjZil112wbe//e1BB9+f+MQncN999+H666/Hb3/7W2itsdtuu+EXv/jFoCZUwWAQt9xyC370ox/hxhtvxKRJk3DmmWdizJgxw+rQL7jgAqxbtw533HEH+vv7sc8++xQ1qFJrnznaotbeW+5Pq39/WojzzjsP0WgUTzzxBJ566inMmjULv/3tb3H99dfn9XgzZ87Epz71Kbzwwgtoa2tDfX09Zs6cid/97nf45Cc/mfb3Jk2ahB/96Ef47W9/iyuuuAJSStx9990pgyp1dXW45557cN111+HRRx9FX18ftt9+e1xzzTX40pe+lNe6s/nPf/4DALjvvvuGZTp4pk2bluyHcdFFF2H8+PG49957cc0116ClpQUnnXQSLr30UgSDwZyf3zAM3Hrrrbjrrrvw+OOPY8GCBaivr8f06dMxb968kqX6VxLui0cW98W58/YTr7/+Ol5//fW091u4cCEaGhpwwAEH4I477sBNN92Em266CYFAIPle5xvYPvfcc7Hddtvhrrvuwq233grA7bl04IEHpn1PMhmageK58MILk32lfvrTn2LcuHF44oknsHDhQuy77764/fbbh2XbjBs3Drfccgt+9rOf4Re/+AWmT5+OSy+9FCtXrhwUVNlhhx1w00034Ve/+hWuvfZaTJw4EaeccgrGjx+Pyy+/fNBjpjuenzhxIv785z/jF7/4Be69917E43HMnDkTv/nNb/DZz34259cBcM8zfvOb3yT7hIXDYRx++OE47bTTBk1wKweh8+kSRjTKzZ8/H2+++Saef/75ci+FiKiqcX9KRFR+3BfXnpkzZ45oTzDagj1ViIiIiIiIiIjywPIfGiTbSLNgMIixY8eWbkFEKfT392dtCug12SUqF+5PibKzLCtZQpJOc3Ozr3GbRKlwX0yVJBaLZW0q3NLSglAoVKIVUTEwqEKDZBtpts8++6St7SMqld///ve45ZZbMt5n4cKFmD59eolWRDQc96dE2b399ttZp8aMZK8Wqn3cF1Mleeqpp4b1GRzq7rvvxr777luiFVExsKcKDbJo0aKUHaY9Y8aMwa677lrCFRENt3r1aqxevTrjffbcc0+Ew+ESrYhoOO5PibLzJrVkstNOO2Hy5MklWhHVGu6LqZJs3Lhx2PjqoWbPno2WlpYSrYiKgUEVIiIiIiIiIqI81Hyj2tNPPx2nn356uZdBRDTqcX9MRFQZuD8mIiqemu+psn79+nIvgYiIwP0xEVGl4P6YiKh4aj5ThYiIiIiIiIhoJDCoQkRERERERESUBwZViIiIiIiIiIjywKAKEREREREREVEeGFQhIiIiIiIiIsoDgypERERERERERHlgUIWIiIiIiIiIKA8MqhARERERERER5YFBFSIiIiIiIiKiPDCoQkRERERERESUBwZViIiIiIiIiIjywKAKEREREREREVEeGFQhIiIiIiIiIsoDgypERERERERERHlgUIWIiIiIiIiIKA8MqhARERERERER5YFBFSKiGqG1LvcSiIiIiIhGFQZViIhqQHdfHKvbesu9DCIiIiKiUYVBFSKiGuBIBdtR5V4GEREREdGowqAKEVENkEqDxT9ERERERKXFoAoRUQ1QSkMphlWIiIiIiEqJQRUiohqgNRvVEhERERGVGoMqREQ1wJEKrP8hIiIiIiotBlWIiGqAI9mkloiIiIio1BhUISKqAZL9VIiIiIiISo5BFSKiGiCZqUJEREREVHIMqhAR1QCW/xARERERlR6DKkRENYAxFSIiIiKi0mNQhYioykmlOU6ZiIiIiKgMGFQhIqpyikEVIiIiIqKyYFCFiKjKaa2hOP2HiIiIiKjkGFQhIqpybqZKuVdBRERERDT6MKhCRFTllNZgogoRERERUekxqEJEVOWUdgMrRERERERUWgyqEBFVOaU0WP9DRERERFR6DKoQEVU5pTQzVYiIiIiIyoBBFSKiKsfpP0RERERE5cGgChFRlVOa03+IiIiIiMqBQRUioionFaf/EBERERGVQ0UFVR555BHMnDlz2P+uu+66ci+NiKhiae2WABERERERUWkFyr2AVO644w40Nzcn/z1lypQyroaIqLKxUS0RERERUXlUZFBl9uzZGD9+fLmXQURUFRypAMZUiIiIiIhKrqLKf4iIKHdSqXIvgYiIiIhoVKrITJVjjjkGnZ2d2HrrrXHSSSfh7LPPhmmaae9/6KGHpr1t/fr1mDp16kgsk4ioIkhZOWkq3B8TEVUG7o+JiEqjooIqkyZNwkUXXYTdd98dQgg8//zz+NWvfoW2tjZ8//vfL/fyiIgqkiMVIMq9CiIiIiKi0UfoCh8Zce211+KPf/wjXnzxRUyePDnn3/ei9AsXLiz20oiIKsL7H7djU2cUW01owMztKrcfFffHRESVgftjIqLiqfieKkcddRSklFi8eHG5l0JEVJGk0hAVvzcnIiIiIqo9PAwnIqpi3jhlQ7D+h4iIiIio1Co+qPLUU0/BNE3MmjWr3EshIqo4SmtorSEYVCEiIiIiKrmKalT79a9/Hfvuuy9mzpwJwK3zfPDBB3HGGWdg0qRJZV4dEVHl2ZKpUu6VEBERERGNPhUVVNl+++3x8MMPY8OGDVBKYbvttsPll1+OefPmlXtpREQVSWkNrQDBqAoRERERUclVVFDle9/7XrmXQERUVdxMFcDgTGUiIiIiopKr+J4qRESUntJwe6pwb05EREREVHI8DCciqmI60aiW03+IiIiIiEqPQRUioiqmlBtUYfUPEREREVHpMahCRFTFlNLQ5V4EEREREdEoxaAKEVEVU5ohFSIiIiKicmFQhYioiikFsPaHiIiIiKg8GFQhIqpiSmsIFgAREREREZUFgypERFVMa/ZUISIiIiIqFwZViIiqmOMoCI5TJiIiIiIqCwZViIiqmFQKBnuqEBERERGVBYMqRERVTCoNwT05EREREVFZ8FCciKiK2VLBYPkPEREREVFZMKhCRFTFlNTsqUJEREREVCYMqhARVTGpNAzGVIiIiIiIyoJBFSKiKqWUTvRUYVSFiIiIiKgcGFQhIqpSSmtorTn9h4iIiIioTBhUISKqUlprKM3pP0RERERE5cJDcSKiKiWVhlbg9B8iIiIiojJhUIWIqEoppaEBTv8hIiIiIioTBlWIiKqU1m5ghX1qiYiIiIjKg0EVIqIq5TWq5fQfIiIiIqLyYFCFiKhKKeU2qmVPFSIiIiKi8mBQhYioSimty70EIiIiIqJRjUEVIqIqpRSDKkRERERE5cSgChFRlVIKEGDpDxERERFRuTCoQkRUpbTWAJitQkRERERULgyqEBFVKaU1QypERERERGXEoAoRUZWSUrH8h4iIiIiojBhUISKqUlJynDIRERERUTkxqEJEVKUcpSG4FyciIiIiKhsejhMRVSlHKQhmqhARERERlQ2DKkREVYrlP0RERERE5cWgChFRlZJSwWBMhYiIiIiobBhUISKqQkppKKVZ/kNEREREVEYMqhARVSGtNZRm+Q8RERERUTkxqEJEVIWU1tAanP5DRERERFRGPBwnIqpCUrmZKiz/ISIiIiIqHwZViIiqkNbu/1j+Q0RERERUPgyqEBFVIaW8nirlXgkRERER0ejFoAoRURVSWkNz+g8RERERUVkxqEJEVIWSmSpMVSEiIiIiKhsGVYiIqpDSGgADKkRERERE5cSgChFRFVJKl3sJRERERESjHoMqRERVSGvmqRARERERlRuDKkREVcjNVGG2ChERERFROTGoQkRUhZTWDKkQEREREZUZgypERFVIKgXBAiAiIiIiorJiUIWIqApJCRiCQRUiIiIionKq6KBKf38/DjroIMycORPvvvtuuZdDRFQxHKnAmAoRERERUXlVdFDl17/+NaSU5V4GEVHFkUpBGIyqEBERERGVU8UGVT766CP86U9/wkUXXVTupVCC1hrdffFyL4OIAEipWf5DRERERFRmFRtUufrqq/GVr3wF22+/fbmXQgnRuIO2jggsm9lDROXG8h8iIiIiovILlHsBqTzzzDP48MMPcfPNN+O9997Lev9DDz007W3r16/H1KlTi7m8UUsqDVsqSMVBrkTlpLWGUpWZqcL9MRFRZeD+mIioNCouUyUajeJnP/sZLrnkEjQ1NZV7OTSAlBrSYVCFqNyU0tDg9B8iIiIionKruEyV2267DRMmTMAJJ5zg+3cWLlyY9rZMUXrKjdKJTBWpyr0UolFNaTewYpqVF1Th/piIqDJwf0xEVBoVFVRZu3Ytfv/73+PWW29Fb28vACASiST/v7+/H42NjeVc4qgmpYYj3bIDIiofpTWU1pz+Q0RERERUZhUVVFmzZg1s28a555477LYzzjgDu+++Ox588MEyrIwA90TOcSTLf4jKTCkNaJb/EBERERGVW0UFVXbZZRfcfffdg362ePFiXHPNNfjRj36EOXPmlGllBABSKThKM6hCVGZaa0itOf2HiIiIiKjMKiqoMmbMGOy7774pb5s9ezZmz55d4hXRQI6joaSGVOypQlROSmnoCp3+Q0REREQ0mlTc9B+qXLYj3f+3ZZlXQjS6SaWhNZipQkRERERUZhWVqZLKvvvuiyVLlpR7GQTASUz9sR1mqhCVk3ZbqkAwqkJEREREVFbMVCHfHKlgGoJBFaIyU5p9jYiIiIiIKgGDKuSLUhpSagQCBmypoXlSR1Q27lhzfgaJiIiIiMqNQRXyRWkNpTUCpgGlVOKkjojKgZkqRERERESVgUEV8kUqDaU0gqbhZq0wqEJUNgxqEhERERFVBgZVyBelNJSGm6miwaAKURm5mSpsUktEREREVG4MqpAvXqZKIGBAMlOFqKwcqWEwpkJEREREVHYMqpAvKhFUMU0BpRSk5AQgKg7Llli1oYclLTmQUsHgOGUiIiIiorJjUIV8kUpBA8kTOZ4AU7HEbYlIzIHDQJ1vUioIBlWIiIiIiMqOQRXyZeAIVwHB8h8qGik1HKm4TeVASg3BvTcRERERUdnxsJx8cU943SvjGmxUS8UjlYIjOaY7F45i+Q8RERERUSVgUIV8GZypAjhSlnU9VDuUchuvMlDnj9YaUoHlP0REREREFYBBFfJFSgWRyFQxDAHHYf8LKg6pFByHmSp+Ke0GVjj9h4iIiIio/BhUIV8cqWAYW4IqNoMqVCRSKkjl/o+yU0ongiqMqhARERERlRuDKuSL7Wzp4WAKBlWoeCxHQSq3DIiyU9odb87yHyIiIiKi8mNQhXxxpB6cqSLdq+VEhbKlSvQJYVTFD600tAan/xARERERVQAelpMvjlTJHg6GIaAUR+BScTi220+FQRV/lNZQGiz/ISIiIiKqAAyqUFZSuZNZBmaqKMVpLVQ4rTUcpQEBNj/2SSkNpVn+Q0RERERUCRhUoayUcns4DOyporTbYJSoEFJpKKUQMA3YkkE6P5R2S4A4/YeIiIiIqPwYVKGspFJQekumijBE4mSYJ8FUGG87CpgGM1V8UkpDA8xUISIiIiKqAAyqUFZupsqWHg4me6pQkbilLEDAFHCY+eSL0hoAP3tERERERJWAQRXKKtnDYUi9ATNVqFBev56gaST/mzLj1C0iIiIiosrBoApl5fW9GBhTERA8AaaCSamgE+U/iiVlvvBzR0RERERUORhUoay8E92BPRw0eHJHhXP7g7j9epTmWGU/3M8j+6kQEREREVUCBlUoK5Wi3EAAcKQs/WKopniBOUMIKMWSMj9Y/UNEREREVDkYVKGsZIpRt4YhYHNaCxVIKg0BJDNVGFTJzpGK45SJiIiIiCoEgyqUldJ6WLEBgypUDEppaCHcoAonSvniSMVxykREREREFYJBFcrKdhQw5CTOFAK2zaAKFcZ2FMxEyE4Ilv/4IZVOjjcnIiIiIqLyYlCFsnKkgjnkJM4wBBypON6VCmI7EiKxF9KazY/9kFIlXzMiIiIiIiovHppTVrZUEMbwoIo7rYUnwZQ/21EwEtuWADNV/HCkgsHpP0REREREFYFBFcpKOqkzVaRiUIUKMzALimO6/ZEKw4KcRERERERUHgyqUEZaa9hSDzuJM4VwyzUk+6pQfrygnJepYgi3pIzSk0pDa83pP0REREREFYJBFcpIJU7i0mWqsFyD8qWUghoSVOFEqcy0dj+PnP5DRERERFQZGFShjNy+KcMbYxqGgNYcgUv5k9INynmTbAxDwJayzKuqbEoNfs2IiIiIiKi8GFShjKTU0ArJbIKBtBYMqlDepNKQekCmiiHgMFMlIzdzDJz+Q0RERERUIXhoThkpnTjxTXFlXMANuhDlQ2kNPaT8R0rNMd0ZKK2hNDj9h4iIiIioQjCoQhlJlTjxTVVuIACpmFlA+ZEyESAYUP7DMd2ZKe0GVjj9h4iIiIioMjCoQhl5jWpTlf8AnP5D+ZNKYWCszhAi2TOEUlNKA5z+Q0RERERUMRhUoYyk0kh3imsIAYs9MChPMtEfxOM2PwYzVTLg9B8iIiIiosrCoAplpJSGSNO/wZ3WwqAK5cfNSNkSQDEEOKY7C5UhyElERERERKXHoAplJIec+A5kCgHb5ghcyo/tqEEZF26mCnuqZKLYxJeIiIiIqKIwqEIZKaWh05QaGIY7rYWZBZQPx1EwB2xbQggozebHmbgBJ5b+EBERERFVCgZVKCPbUWk3Em9aC6+eUz5spYY1QBYCDNJlwI8aEREREVFlYVCFMnLk8BNfj2EISMVyDcqPbctho7rZqDazoX1oiIiIiIiovAKFPoBt22hra0NPTw90isuos2fPLvQpqIxsZ/iJr8cUAkolxioHzRKvjKqZUhpSphrVzXKyTBypOPmHiIiIiKiC5B1U6enpwbXXXosnnngCtm0Pu90b+7l48eKCFkjllS1TRSnFk2DKmVc2ZhqDk+UEhBukqxGWLSGEQDBQnKRAqVTaICcREREREZVe3kGV+fPn44UXXsDnP/957L777mhubi7muqgCaJ3IJsjQqJbTWigfXtlYMDB42zIMAaeGgirrNvWhLhzAVhMai/J4UmowpkJEREREVDnyDqq8+uqrmDdvHi6//PJirocqiFSpswkG0hAMqlDOpFTQGoOm/wCAIQRspzaCKlpr9EXtogZBHMlMFSIiIiKiSpJ3UGXs2LHYdttti7kWvPTSS/jd736HZcuWoa+vD1OmTMFhhx2GCy+8kJkwZaCU298iaGY+iZOSQRXKjUpkqghjeKaKXSPbk+UoWLZEzCpeP/BMmWNERERERFR6eQdVTjrpJPztb3/DKaecAiNDJkMuurq6sNtuu2HevHkYO3Ysli5diptvvhlLly7F73//+6I8B/knlYbWSNtTxaUhVW1kFlDpSKWhlII5NKgiAKdGMlXiloTtKMRtlewxVSipWP5DRERERFRJ8g6qXHDBBbAsCyeccAKOO+44TJkyBaY5fALMEUcc4fsxjzvuuEH/3nfffREKhXDllVeira0NU6ZMyXe5lAcvmyBTTEWI2mosSqWRrrmxYQioRJ+eoQGXamPZEpajEFYKjhzePyZXKlGONzS7h4iIiIiIyifvoEpbWxveeOMNLF68OO2En2JM/xk7diwApJwwRCPLzVTJfBJnCgGrRjILqHSk0hAYvl0ZhttTxc1iqe4x3dG4A8At2XGkKngCkNLu5zFTjyMiIiIiIiqtvIMql19+Od577z184xvfwG677VbUnidSSjiOg2XLluHWW2/FIYccgunTp6e9/6GHHpr2tvXr12Pq1KlFW9to4l4ZR8YeDm4PDAZVKDdSaaSIqcAQIpkhFSz9soqqP2qjPhSAI1VRJhp5mSrBCq//4f6YiKgycH9MRFQaeQdVFi1ahHPOOQcXX3xxMdcDADj44IPR1tYGAPj0pz+N66+/vujPQdn56ZViGAK2LUuwGqolUrnTf4Zyy3/SlwdVC9tRiFkOwiETfVFZnKCK1tAK7KlCRERERFRB8g6qTJw4ES0tLcVcS9Ltt9+OaDSKZcuW4bbbbsN5552HP/zhDyl7tgDAwoUL0z5Wpig9Zean/6xhCEjpTgnK3NCWaAvblsPGKQNepoqq+qCK109lTEMAAgKOU/jf4ydzrBJwf0xEVBm4PyYiKo28i/O/9rWv4S9/+Qv6+/uLuR4AwM4774y5c+fixBNPxK9//Wu88cYbWLBgQdGfhzLzk6liii2NRYn8smXqIJxhCGhU//YUtyWkVAiYBjR0kTJVkLXHERERERERlVbemSqWZSEQCOCII47AUUcdha222mpYJokQAl/96lcLWuDMmTMRDAaxatWqgh6HcieVStX2YhDDEJCOO1Y5mH+MjkYZ21FpM5t0DZT/WANK4kzDQMxyCn5MnWhUW+GJKkREREREo0reQZVrr702+d/33ntvyvsUI6jyn//8B7ZtZ2xUSyPDcVTWUgPDEFCq+k+CqXS01u62lSaoIoSo+kyVvoiFYCLIbJoCllV43yGVmMZV6eU/RERERESjSd5BlUx1mvm68MILseuuu2LmzJmoq6vDBx98gDvvvBMzZ87EYYcdVvTno8ycNCUaA7lBFVX1J8FUOt4Um7SbVpWXk0mlEYk5yRHKpmEg7qhElkn+ARGlNKr3VSEiIiIiqk15BVVisRjuvvtu7LvvvjjkkEOKtpjddtsNTz31FG6//XZorTFt2jSceOKJ+PrXv45QKFS05yF/bEdBZKnoMYSA1hpS8nSP/JHKLRcLBVI3ntaJscrVyrIlbEehvs7dvQYSY8cdqRBM8zf7oVKNSyIiIiIiorLKK6hSV1eHBx54ADvttFNRF3Puuefi3HPPLepjUv4cqVJOaBlKQ/hqaksEJDIuFNJmQRlwA3rVKm5J2I7EGNMNBJumgVgi0FJQUEUByNrliIiIiIiISinvzqKzZ8/Ghx9+WMy1UAVRyi3B8DtppJrLNai0ZGLbShewMwxRlGk55WLZEhpIlvqYpoCUhZfIKa0hWABERERERFRR8g6qXH755Xjqqafw0EMPwXEKn2xBlUUmmmL6yVQBdFWXa1BpedtW2kwVIWA7hTd2LZf+mA1zQN2ckWi86xSYfaM1e6oQEREREVWavBvVzp8/H0IIfP/738fVV1+NKVOmIBwOD7qPEAJ//etfC14klZ5KNAsNBrIHVYQQVV2uQaUllYLSSNu0tZozVbTW6I/aCAYHx6uFcPuqFEJKVVCjWyIiIiIiKr68gypjx47F2LFjsf322xdzPVQhpFTQGr4yVUwhCr4KT6OHm9WUPufCEAJSutlP2aZPVRrLUbBsiXBwyK5VoODsG0cqGOypQkRERERUUfIOqtxzzz3FXAdVGKXhu6eKYQhYsnrLNai0svUWMQyRyGbRVRdE8Cb/NNUPzlQJCIG4VWCmitJZp3EREREREVFp8RCdUpJSQSsNP4kChsFMFfIvW/8dIzFSuRqbH8ct6QaDhnxwTNOAZReYqaI0DJb/EBERERFVlLwzVQBASom//vWvePHFF7Fu3ToAwNZbb42DDz4YX/jCF2Ca+Y8PpfJSWkND++rh4PbAqM5yDSo921EZgwOGIaB09uBLJYrFnZSfGdMQsGxZ0GdEOuypQkRERERUafIOqvT29uLrX/863n33XTQ2NmKbbbYBALz22mv4+9//jvvvvx933nknmpqairZYKp1cTmjNRBNOyaAK+eArqFKlmSp9URvBwPAEQNMUsBwJRyqEjPyCzdJn5hgREREREZVO3kGVG264Ae+99x6+973v4aSTTkIwGAQA2LaNhx56CD/5yU9www034MorryzaYql0cjmhNQwBZWtIpRBkRRllYTsyY/DNEG5Qr9oyVRypELMchFJk6AUMA1GZCKoEcw+qeK+Hnx5HRERERERUOnmfAS9YsACnnHIKTjvttGRABQCCwSBOPfVUnHLKKXj22WeLskgqvVxOaA1DQOrqOwmm8nCkyhhUEUJAwx29XE3iloTlqGHjlAE3U0VKBUfm9xlRWldl414iIiIiolqXd1Clq6sr4zjl7bffHt3d3fk+PJWZlP77NxiGgK7Scg0qLaU0pPRTJlZ9Qbq4LeE4CgFz+G7VDRRpODK/QJFOBFU4/YeIiIiIqLLkfYi+7bbb4vnnn097+/PPP48ZM2bk+/BUZlaWvhcDGcJtLCrzvApPo4dUbnDAzLJtCSGqLkhn2RLZPjL5TsmSSkNrcPoPEREREVGFyTuocsopp+DVV1/FOeecg1deeQVr1qzBmjVr8I9//APnnnsuXnvtNZx22mnFXCuVkMxSojGcrrpyDSo9qdyGxtl6g+gqLCfri1gps1Q8AgK2k99YZZUIqnD6DxERERFRZcm7Ue1pp52Gjo4O3H777XjllVcGP2gggAsuuACnnnpqwQuk8sg2oWWoaswsoNJzG67CX6ZKnqUy5SCVRiTmIBRI34TWNAXidn5BFZ0YMc0+tURERERElSXvoAoAXHTRRTjttNPwz3/+E2vXrgUATJs2Dfvvvz/Gjx9flAVSeTi++l4MUIWZBVR6blAlexaUIQSsPEtlysGyJWxHob4u/S7VNAzErTwzVbSG1pz+Q0RERERUaQoKqgDA+PHjcfTRRxdjLVQhvL4XuZy/CSFgV9FJMJWH2xske8DOMKorU8WyJWwpMcYMpb2PabqBIqk0zByDIyr5mWRQhYiIiIiokhQcVOnr68O6devQ09MDrYdnKuy9996FPgWVmFIKSmkEA/5b7hgGgyqUnVQafvKZjCoL0sUtmbXnScAwELcdOFLBNNKXCaWiUuxbiYiIiIio/PIOqnR2duLHP/4x/v73v0NKN6Vda508qfD+e/HixcVZKZWMVDrRv8H/VXE3qJJfaQONHlJqCGTfrgxDwJF60D6lkkXjNsws845NU8CJazcDJ5hjUEVVx+tARERERDTa5B1UufLKK/HCCy9g3rx52GuvvTBmzJhirovKyC01QE49Vcwqyyyg8pBK+cxUcbMzlNIwzcoOJmit0Re1EQxmCaoYAkrqvD4nSgG+XjgiIiIiIiqpvIMqr776Ks4880x85zvfKeZ6qAIkm4nmMv3HcKf/5NMvgkYPqZSPPJUt5WRKa+SW01F6tqMQt2XGyT+AWxqkATh59IpxSysZVSEiIiIiqjT+m2YMUVdXh2nTphVzLVQhko1qc8xU8YIxROk4TvbJP4DbU0UpDSkrP5AQtyVsW2UNqgCAgIaTx9/EnipERERERJUp76DKsccei+eee66Ya6EKkc9oZMNInARzrDJlYPsNqhgCUuuqCCbELQnpNwgpBCw7995D7iQkZoAREREREVWavMt/Pve5z+Gtt97C17/+dZx88snYaqutYJrDr9TOnj27oAVS6eUTGEmeBDOoQhnYjr+yMkMI6CoJ0sXiju9SuYBh5BlU4ThlIiIiIqJKlHdQ5dRTT03+92uvvTbsdk7/qV5K6ZyviRtG9ZwEU3lorWFLfxkdhiGgqyRI1xe1ETT9Jf2ZhkDMcnJ+DkdpZBkuREREREREZZB3UOWaa64p5jqogkilc26JaQgBpVEVPTCoPLyeO9lGD3s08suaKiVHKsQsx1c/FSAxVlm6Y5VNn4EYAHCU4khlIiIiIqIKlHdQ5fjjj8/p/rZt49///jd23nlnNDc35/u0VAKOzG3yzxYako1qKQ2vAXLQ54hkAVHxmSpxS8JyFMY0+NuVmqaBmOXAURopqiXTYvkPEREREVFlKllCeXd3N8444wz897//LdVTUp789r1IpdIzC6h8pNLQCjlMlar8cjLLlpBSIeAz6yRgCEip4Ti5BR+lVOCkciIiIiKiylPSKn1dBZM8yC01yGWc8kCVnllA5SMTPXf8blpaVEGmSo5NZw1DQGkFR/oPqni9ZVj+Q0RERERUedj6kIZx7PwyVQwhYOV4BZ5GDykVlPI5ehiACQG7wren/qjtO0sFAIQQ0Bo5BVVUomyK5T9ERERERJWHQRUaRGsNJ4cT34EMQ8Bxch8XS6OD0hoa/jMuhAHYFbw9KaXRH7V9N6ndIrdgkdIaWoPTf4iIiIiIKhAP02kQb0JLXpkqhoBtV3ZmAZVPrqU8hiFyyugoNcuWsB2FYCC33aghkFNGl9JuYIXlP0RERERElYdBFRrEm9CST6aKKQTsCj4JpvLKddy2ISq7/CduS9hS5hxUMQ0DluX4vr9SbqYKy3+IiIiIiCoPgyo0iEpMaMmn1MAwRLIZKdFQuW4XhiESmVOVuT3FLQmlkXMGiWkKxCz/ZU1beqrkukIiIiIiIhppDKrQIFJpSK1h5ln+45UPEQ2V66huQwgo7QYUKlE0biOQR/QxYBhwpP8JQFpraE7/ISIiIiKqSCULqjQ3N+Oaa67BJz7xiVI9JeVBeSdweTaqVUrnXOZBo4MjZU5lZcntqQIzVbTW6IvaOZf+AG6mipTad1ClkJI8IiIiIiIaWXkHVZ588knMnz8/7e2XXXYZnnrqqeS/w+Ewjj/+eEycODHfp6QSkFJD5zm+1RQCUlfmSTCVn+2o3IIqQkBpdxRzpbEdhbgtEQzmE1QxIJWG4zP46GbqMKBCRERERFSJ8g6q3HXXXQiFQmlvD4fD+OMf/5jvw1OZuGNv8zuBMwwBXaGZBVR+tqNyKivzevRU4uYUtyVsWyGY8zhlwDQElFJwfDbhrdDqJyIiIiIiQgFBleXLl2OXXXZJe/vOO++Mjz/+ON+HpzKRMt+QituwUwOQo6inSndfvGIbqVYSr4FxLmVlhoAbpKvATBXLllBaw8yzJEcDvst/lMr/M0lERERERCMr76CK1hq9vb1pb+/p6YHj+B8bSpXBzVTJn9aVO62l2CxbYkN7P/pjdrmXUvG8KT65ZKq4QbrKbFQbjTkFN47NJahS2KeSiIiIiIhGSt5BlVmzZuHJJ5+EZVnDbrMsC0888UTGTBaqTMXIMhktjWotRyFmSd9lHKOZVApK5ddstRKDdP0xG0Ez/z7fpjBg2T6DKhUYVCIiIiIiIlfeZwXnnHMOli5dijPOOAPPP/88Vq9ejdWrV2PhwoWYN28eli1bhnPPPbeYa6UScJz8xikPNFp6qtiORCzuwGZQJSuV6I2ST1Cl0rYnRypE4w5CefRT8RimQMz2l8knlYJgARARERERUUUK5PuLn/nMZ/CTn/wEP/nJT3DBBRckf661RmNjI3784x/js5/9bDHWSCVkOxKigEHbhhCjJshg2woxWyJuy3IvpeJJpaFUbtN/PJWWqWLZErajUVef/wclYAhYloTWOmsZkZRAgXFOIiIiIiIaIXkHVQDgS1/6Eo444gi88sorWL16NQBgxowZOPDAA9HU1FSUBVJpOTK/E1+PYQjYzugIMsQsCSU14hZ7B2WT76huIUTFlVfFLQlHSgQC4bwfwzQNOFJBKo2AmS2oovIacU5ElI/O3hiaG0IIFFDiSERENJoUFFQBgKamJhx55JHFWAtVAKfAEzg3qFJZJ8EjJRKzYRoCMZ8ZB6OZVCqvUd2GELArbPqPm5lU2HttmgKWreE4KuuJi1Qqp6lJRET5kkpjY0cEAgJjm/MPHBMREY0mBQVVpJR45pln8MYbb6C9vR0XX3wxZs6cid7eXvzzn//EHnvsgYkTJxZrrTTClNKQMr9moh5TCN9TTaqZVBpxW6IuFIAjFRypEQzwxDedfPsfG0blbU/9UTtrdkk2pmHAUdrX3+ZIzfIfIioJRypYtipK03oiIqLRIu/czp6eHpxyyin43//9Xzz55JN4/vnn0dHRAQBoaGjA1VdfjbvvvrtoC6WRp7Q7vrbQTBWpdMU1Fy0223an/oTDJhypR03JU77cA/Tctwmzwsp/lNLoj9oIFtCkFgBMQ0Ap7SsLRyqW/xBRaTiOgmVLOKNkih8REVEx5B1Uue6667B06VLceeedeO6556AHjP00TROf+9zn8NJLLxVlkVQabjPRwjJV3KCKgqrxq1yWo+BIhbpQADKRqULpSZnfBBthCNiJfiyVwG1SqxAKFN5rQMCdtpWJ1onsMQZViKgEHKlgORIOLxQQERH5lveZgTc6+cADD0zZS2K77bbD2rVrC1oclVZy7G2BmSpauY1Ja5ntSCil3YwDDWaqZGE5+TVANoWA1rpiJgDFbQlbSgSKEFQBdNYUe6U0NDj9h4hKwytnjdu1fWGEiIiomPLuqdLb24vp06envd1xHEiZ24nm008/jb/+9a9477330NPTg2233Rbz5s3DCSecwCagJZDMVCngpTbFKCn/cVSyV6mAZqZKFnaeU6WEAUhHQWmNwgpuiiNuS2gtipI5Yggj6+Qopd3ASpBTOIioBGxHQUoF2+aFAiIiIr/yDqrMmDED7733XtrbX331Vey44445PeZdd92FadOmYf78+Rg3bhxee+01XHnlldiwYQMuvPDCfJdKPqkilf+oURBUicQcBAz3RFcIgbjFA9BMHFvBzCMQMTDzKVjwrLLCRWN2Xn9HKqbpTo7KxOtzxOk/RFQKliWhAcQdxal2REREPuV9mvLlL38Z1113Hfbdd1/st99+ANyTS8uycOutt+If//gHrrrqqpwe87bbbsP48eOT/95///3R1dWFP/zhD/if//kfGAav1o4kd+wtCjqIEkJA+yhrqHbRuJ0sAQmYBmJ25oyD0UxrDSfPYJ0hBKSujCCd1hp9URvBopT+AKZpIG5nPnFRSgOa5T9EVBpR20HQNKCUglS64ElnREREo0HeQZUzzzwTy5Ytw6WXXooxY8YAAL797W+jq6sLjuPg5JNPxoknnpjTYw4MqHh22WUXPPjgg4hEImhqasp3ueSD27eiOCevldIDYyTYjoLtKAQSJRmmaSAWl7yql4ZbVqZg5hEUdTNV3GyNcrMdhbgtEQoWpxApYAjYWcZxa60hC5zIRUTkh9YacUshFDQhEyPfAyw9JCIiyirvoIoQAldffTW++MUv4tlnn8XKlSuhlMKMGTNw1FFHYe+99y7KAhctWoQpU6ZkDKgceuihaW9bv349pk6dWpS11Do3G6DwkzeB2m5UazsStqNRV+9lqgjYiWlAhY7arUVer55gHlc8jUSj2krYnixbwrYVGutCRXk8N1NFJrab1CcuSmloVV1BFe6PiaqTIzWkdIMqliMrYr9LheH+mIioNPIKqkSjUfy///f/cMQRR+DYY4/FXnvtVex1AQD+9a9/4amnnsJ3v/vdEXl8GqxYmSo60ay2Vlm2gpQSpumeXAcMA1HpjtplUGW45FSpPPuCaIiKyFSJ29JtmFuk/iamIRKTNtKXykmloVn+Q0Ql4Ei35KehzkQs7mTcNxEREdEWeQVV6uvr8dprr+Gggw4q9nqSNmzYgEsuuQT77rsvzjjjjIz3XbhwYdrbMkXpaTApFUQRMlVMuJkbtcpyJDREstTHNAWcRFCFhvOmQeUbVKmUzKdY3ClqdMMw3GCRk2G70W5LlaoqK+P+mKg6OdKd/BMwjURvtPLvd6kw3B8TEZVG3sWye+65J95+++1iriWpp6cH55xzDsaOHYubb76ZDWpLxMlz7O1QhiFgO7U7Dcey5KDQk3fCy6t6qUmpEiUs+f2+BioiU6UvaiNU9P4Cbl+VdCrh7yai0cFJjK93yw0Fv9OIiIh8yvsM4fvf/z4WLVqEG264ARs2bCjagmKxGL7xjW+gt7cXd9xxB5qbm4v22JSZ7aii9G5wgyq1ezAWsZzk5J+BavlvLoRSGhqFNfEt9zQpRypE407RJv9skblfTDGbRxMRZTI4wFsZvayIiIiqQd6Nao899lhIKXH77bfj9ttvh2maCIUGN3AUQmDRokW+H9NxHHzrW9/Cxx9/jPvuuw9TpkzJd3mUB0fmX6IxUC0HVZTSiMXckZMDmcJA3OJY5VQKTSE3hYBjl3d7smy3OXFzfd67zJRMw0Asw3bDTBUiKhXbkckSYFMYsGx+pxEREfnh+wzhgw8+wLRp05KZI0ceeWTRF/OjH/0IL7zwAubPn4++vj78+9//Tt42a9asYUEbKi5HqrxLNAYyhdsrQkoFs8bGMdqJxqLh0OCPjhkQiMZrt+SpEFLpgjr1CGPoFdTS86b0pMpQKoRpCsSt9NtNLY8mJ6LKErcUzMSUNsMUiNfoxREiIqJi8x1UOf744/Hzn/8cX/jCFwAAa9euxfnnn4/999+/aIt59dVXAQA/+9nPht22cOFCTJ8+vWjPRYMV2kx0IK+nilQaZo0Nw7FtCVtqNA4JFgUMA5YtoYr0GtYSpTR0AaU/hiEyNnMtBdtR0CNQhpNtu3EzVbg9EdHIi1kOAokedqYhYGUI+BIREdEWvoMqdXV1iMViyX+/+eabOPHEE4u6mOeff76oj0f+KaWhlB5W1pIPwxDQqvCyj0pkOQpKqWFjdQOmgbjtwJYKYaPGIkkFsh0Fs4DAgCEyN3Mthbgli9JvaCjTdEvlpFIwUmw3jsy/wS8RkV9SaXdfnchUMQ2RvNhSrDHyREREtcp3UGXmzJn4wx/+AMMwkiVA7777LsLhcMbfO+KIIwpbIZWEVImu/0XKVPEOxmqNZUukyhwwTQEn7o7HDQcZVBnIdiREAbE6b3sqZxZQ1HIQGIFSNtMwEFPuOO5gYPh2I2VxmkcTEWXijVP2SltNw71QIKWCyQsFREREGfkOqlxxxRX45je/iSuuuAKA24T27rvvxt133532d4QQWLx4ceGrpBHnZqqgONN/hPt4sgbHMcYtB2aK1yhgGlBS1WyD3kLYTmGjuk0h4ChVtPK0XKVrTlwMpikgpYKTZsqGlKqgqUlERH44joKjNBqNgZkqbrAlxAsFREREGfkOqsyZMwd///vfsWrVKrS3t2PevHk477zzcMABB4zk+qhElNJQWkMU4aRVCAENXZNNNiOx1OOUAXfwrVODgaRCOVKlDET5JQwB6eiyTcJJNicOFnfyD+AGMZXWabcbKXVBWT5ERH44MlHamggeG6aASgSziYiIKLOczhICgQB22GEH7LDDDjj++ONx8MEHY/fddx+ptVEJueUVxZn+M/Axa4kjFeK2zJixwEyVwYrRANkUAlq7WRsowxVT21Fuc+L6kYtupAuqOIrlP0Q08hypMLAXtxvw5YUCIiIiP/K+9HrNNdcUcx1UZl5WSbFKDQRqbxysZUs4UiNcl/rk2jQMxCynxKuqbEoptwFyAaOIhddTpUybk23LlM2Ji8edljWU1hpSFe8zSUSUju0oYNi+RkOmKU0kIiKiLZhYTgBQ9NIKLUTNZarYjoLjKATM1Ce5AdNALM6gykBSFt5g1hCALmOPnpHOPgoYAnFr+HMo7QZW/Lx03X1x/Pov/8Fr764bgRUSUa2zbAVjWBN2wUwVIiIiHxhUIQAo+tUoEwK2PfzqezWzHQUNnTZzIGAKWA5r0AeSSkNqXVAJS7l79MRGaJyyxzQNxFNkOCmlE0GV7M/93vJ2bOyM4oOVnSOxRCKqcTHbSY5T9gjBklYiIiI/GFQhAG6mSjFPGw1DwKqxK1xx20mRHr2FaRpwpEpZyjFaKa2hizS1p1yNaqNxe0TGKXvMRDBuaNBIaTeQ5Kf8Z1NnFAAwoaVuRNZIRLVLa414XCab1HpMQ8CqsYsjREREI4FBFQKQrp46f4Yhau4KVzTuIJAhOBAwDThSpx2POxpJ6fZCKUamRzlq+6XSiFky7cSnYnBHl6phafZaaWgNX9N/Nne5QZWJLfUjsUQiqmGO1JBKDft+Mw2DQRUiIiIfGFQhAIWPvR3KC6roMmUXFJvWGrF45sk/piGglGamygBSqaLE6gTKk6liOxKOVCOaqRIwDEg5fMqG0v4DUpsSQZVJYxlUIaLcOFJBSp0yU8VOkUVHREREgzGoQgAAWyqIIk43MYVITn6pBbajYDn+MhYcpzb+5mKQiWyLgonyZD55zYkzBdMKZZoCUqphf59S2i3LyxJUUUpjc3ciU4VBFSLKkSPdTLmhE87MxOQ19gkjIiLKjEEVAgBIp/iZKqqGDsYsR8FxdPaTawFYDicAedygWuHbgCnKM4XCdhSULk5PmHTcRrypMlXcEqBsT93ZG0tcZRYY2xwesXUSUW1y0uznDDPxPV5j/dGIiIiKjUEVgtYattRFzVQxDAGlUTNBFduRkGp4evRQAUMgFmf5j8d2lK9Gq9kIQ8Auw4G9209g5AIqW+hhPWO8LK9sr59X+jO+uW5EpxQRUW1y963D9x2mYcBRGk6NfI8TERGNFAZVKDm6lZkq6dm2gp+Mi4BhIJZiPO5oVaxePaYQcOzSB1XillPUz0U6AmJYLx6lNbSPbc5rUjuek3+IKA+2I1PGjk1DQCvFTBUiIqIsGFQhKO12/vczZcQvQ6Cm0oZjlvSVBRAwDbcPR4383YWypSpK6YwwBJxE8K+UIjFnRCf/eExTIGYNDqr4/Vs3cpwyERUgbikE0ny/pSpNJCIiosEYVCFIqaEVito3QggBCF0zjWojcdvXybXbdFTDqbFx0vmybX/BqGzK0fhYSgXLUQiYI5+pkirDSarsTWqBLZkqDKoQUT7ilpNxwlk5xtkTERFVEwZVyM1U0XoE+jGImij/kUojbklfY3UDpgFHqrL0/6g0bqZScZq8uj16SltO5k3+KVWmiiMH/33K5+SkZE+VMQyqEFFupNKwHAUzbfBYwJbsE0ZERJQJgyrkjr1VIxFUqY1GtbYtfY/V9U7+maniBuuKNTlHGIBWKGmmipUo4/ITTCuUaRiQcnDZmJ+AipQKHd1epgrHKRNRbhzp9kxJ14TdNASsMvSzIiIiqiYMqlCyUW3Rx8ZqwKmBK1zJk+scMhZsBlUgE42Ki7FdmUJAljxTRUKNULBxKNN0e8YMDMY5UmUdp9zeE4PSQChooLkhOMKrJKJa4zgKjtIIpNnZuEGV6v8eJyIiGkkMqpCbqTICj2sIURMZG7meXAvwIBRwsyi0RlGm5whDQCs386VUbEeVZpoy3BOXoZkqjsw+jtor/ZnYUl+U0dVENLo4UkGp9A3FvUyVUjcJJyIiqiYMqhCU0hAjcPZoGKImMjZyPbkOmByrDCA5UrsoPVWEgNa6pA0To3EHplGaXaQXEBkYVJE+AnmbEpN/Jo1rGLnFEVHNchLB73RBWdMwIJWqiVJeIiKikcKgCiUOlop/wFQrQZVIzEEgh5PrQGI87mi/sieVzngFNFcaoqSZKpGY7auPTrEIAM6AoJGU2cece5N/Jo1lPxUiyp37HZ1+H22YbsN5jlUmIiJKj0EVcnuqjEDpgGEI2FJXfXAh6nOcssdMTAByRvkYymI3lRUo3WhPRyrYTmma1CaJwWVjjlQwsqRIbeqKAGBQhYjyY9mZezeZhhtU4VhlIiKi9BhUIdiOGpENwRQCSqmSTmwpNtvJ/eTaHavMK3uyyGVlGoBUpXlNbccNipVinLInYBiIDygbk8rtJZOJV/4zcRyDKkSUu5jtpJ38A7hBFSVL2ySciIio2jCoQu4V8WJP/kFivLAq/cSW7r54UR/PdnROZSCm6TYdrYXSp0JIpYva6FWgdEEVKzFGO2CWrvmraQrEE5kq0pvIleHpbUehq9fd1iczU4WIcqS1hmXJtJN/ALfXioaGHOUXCYiIiDJhUIVgO3JExsYahoDSKFlQxXYUVq7vwYr1PUVrFGvZClJKmDmcXBvC/buZqeI2QCyWUk6TcqSCgi7pRB3TEHCkTkxNcoMqmZ5/c3cUGkBdyERjPccpE1FuvIzKTJkqLjHqy1mJiIgyYVCFRjRTRZYoU8WRCis39GBjZxT9URv9Ubsoj2s5Ehoi55NrAT3qM1VsWxZlnLLHMEp3YG/ZqlTTlJO8Xjy2dEvmso3x3jxg8g/HKRNRrhypIKX2cdFAlyxLkIiIqBoxqDLKeWNqRyRTRQBKqRFPG5ZSYdWGXmzsiGD8mDoEDANdvVZRHtuyZF4n10IIxC2Z/Y41zHaKG6wTBkoWqIrGc5v4VAwBQ0BKDUe6ARWtkXH6z0Y2qSWiArgN1VXWfZ0pDFg2gypERETpMKgyykmlobQekUwV7+r5SDaqlVJhdVsvNrT3Y3xzHQKmgfpwAD398UGTVPIVsZy8mpWapoGYXZwSpGrlyOJuV6YQJSupisRym/hUDKZpJIOQSmsojYzTfzhOmYgK4TjK1/e/YQhYo/z7jIiIKBMGVUY5P2UGhRAQI1b+I5XG6rZerNvcj3HNdcmT4HDYRMxy0FdgCZBSGrGYk1OTWk/ANBCLy6ofJ50vrfUIZKqUppzMnfxT4nHKCRqJfi4aUFpnnP6zKVn+w6AKEeXOlgp+uombxpYm2kRERDQcgyqjnEyUGWQ7+bUdhZ/d/RZ+/fB/cgoUaIxMo1qpNNZsdAMqY5vDCA7IKjCE2wOl0ClAtsz/5Not5VCjtlmt8jKgihirc0d06xEf0Z3PxKfiEbCdxBjyLK/fpkSmykRmqhBRHmxH+prQZpiJJtocq0xERJQSgypVTuvCDnS8kcfZTn7XbupDW0cES1d3oafff78SAcCRxb3CpZTGuk19WLepDy1NYYQC5rD7NIQD6O6LuweNebJtCVvqvMpAAqYBR47eZrVuRknxM1WUHvmGibajIFVuE5+KxRBuk9xs03/ilkx+Dln+Q0T5iFsKAR9ZqqYhIEvQH42IiKhaMahS5Tp6Yli5oSfv33czVTKXGQDAhvb+5H+v3tjr+/ENo7hjcL2AypqNfRjTEEY4ODygAgB14QBicVlQCZDlKCilYOYRGDBNN1NltAZVlNLQKnsGVC7cTJWR7dEDuEEN6NwnPhWD14tHKY1Mf6XXT6WxPoiGOo5TJqLcxS3HxzhlwDQMKIVRm3lJRESUDYMqVa4/5qCzO4ZILL/ggVumgaw9VdZv3hJUWbOxz/fjG4YoWmBBa4317W5ApbkhiHAodUAFSPw9AugpoATIbXSb34m1EAIaetQehHq9T4o9UlnpkS//sRwHukwTigOGgGVJqCwldpz8Q0SFkErDcpSvjDwzUc7K8h8iIqLUGFSpYlpr9PbH0R9z0BvJL6jit5Ri/YBMlbU5BFVMUZygitYaG9r7sbqtD031QdSFAll/pz4cQFeflffzxy2nwKBA8QJK1cbLgPKTqRKNOb6aIBqGcKfjjPCBfTTmIFjiccoe0zDgJDOcOPmHiEaGI91yHj+j492ANjNViIiI0mFQpYpZjkLckgiYApu7InldwffbnqKQ8h9b6oKm4HgBlVVtvWgMB1EXzh5QAYD6UADRuI3+PEuAIrH8xil7TCEQt0bnGEqp3Ak22UpoIjEbP737Tfz6L//x/dgjmamitUYs8ZkqB7dsTGcNMnHyDxEVwnEUHKVz6B2lISUzVYiIiFJhUKWKxeIObEdhbHMY/VEH/XmUAPnJVOmLWMlMGAGgu89Cr89mtcXILtjUGcWqtj7UhwKor/MXUPGeW0Pk1FjX40iFuC0LmgBjBgRi1ugcQ+kGPrK/5yvX96AvYmNVW6/v4Fe20phCOFLBcmRBwbRCmKYBR3kNjtP/nZz8Q0SFcGSuPcMEy3+IiIjSYFClisVtCaWBUMCEVBrdvbn3D1FaZ+0asqHd7d8wfkxd8sr4Gp/ZKm5QJf8JRZs6o1ixvgd1QTOvhpz1oQA6e2M5py3bjoKT5+QfT8AwELfkiPcAqUR+3+81m7aUkg3Mhsr42CN4tdSyE+97WcYpu70LvLHRmbJ8vKDK5LENpVoaEdUQRypoH9mEHiHciXhEREQ0HIMqVaw/aid7ftSHA2jvySN4YMusTWo3dLgnu1MnNmL65GYAg0+GMzGFW4ud6yhGpXQyoBIKGGisz2/CSX04gJjl5FwCZNkSjqMKKgMJmAYcpUZlHbrfQNLApsde8C6bkbxaajsKsoxBFVeiH02az2UktqWkjZkqRJSPbH2bhjINActhUIWIiCgVBlWqlFIa/VEboaD7FjaE3f4hvZHcSl0cmb2ZqDf5Z+qEBkyf3AQAWN3mL6hiGG7KsN+TbNuR2NQZxZKVHfhobRcCpkBTQ8jX76biXfn3W660ZR0KGpmzBbI+tyngSD0qm9XajsoarAOGBFU6smeqGEKMaJCqUk4atNZI9/J5WSpjGkMZJ2BR7RuNWXBUHJatkMvEe9Mw3HHzRERENIz/BhVUUSxbIm5J1CeatrqBEYGu3jjGNdf5fhzbURBZQmve5J+tJjSipTEMILfyH62z91SJxGx09sawucsdDx0MmBjbFC5KxkB9KIDOvjimTmyE6fPx4raDtGe1PpmGgJKjM1PFT1ClP2ajoyeW/PfAsd3pGEWaJpWOZck8h2gXjykMN9iZ5vXj5B8C3MDbx+u6MWlsPVqawuVeDlWZmO34/j4EvEwVlQj4lnsvSUREVFkYVKlSMUvCdiTGNG7J4misC6KzN4at7SaEg/6uYDtSZRwb7E7eccsypk5oTAZsOnvj6I/avspytE5dsqGURm/EQnt3DJ09McQdiYZwEBNa6n1lOfjljlZ2R08PfL0yicUlArlcxktBCAENjNJMFZk1A8obze313dnQkb38xzAEHL8jq/IQsQqb+FQMpikyBqU4+YcAd/pbb7+FUNBkUIVyorWGZeX2HWcm9r2O1AgGGFQhIiIaiOU/VSpmOdAY3GSuLmQibknfpS5eA1mR4cCqu99CNO7AEMDkcQ2orwtgYosbWPGbrSIgBjUXHVji88GKDmzsjKAuFMDksQ1oqg8WNaACuBNVlAZ6I/4a+WqtEY07BU3+8QiMzqCKI1XWoIpX+rPztuMg4PYIyla+ZggxYs0SldJuMK2s/VTckxdbqqzlP+ynMrrFLQnLlujMo5cWjW6O1O4FlRz2dYbhfo/n2h+NiIhoNGBQpUr1Ra1hJ39CCARMA+09MWgfY2elchtiZspU2ZAoyZg0riF5BT/ZrHajv74qGu7o5kjMxtpNvXh/eQeWrelEf8xBS1MYE1vqR7w3RF3IRGdP3FeTU9sp3lhdwzAQs5yCH6eaKKUhffTq8YJy22/dggmJQF22CUBujx742r5z5UgFxylsjHYxmKYB25Fpg52bkuU/nPwzmlm2hFRuADjXRtw0ujnSbcht5tCI3Uz0R3PYx4eIiGgYBlWqkJQK/VEHoRQlPo11QfQmskuyUTp7psrAfiqeZLNan0EVAaCrN47FyzuwckMvtAYmtNQXrWeKH/XhAPpjDiKx7CcflqPgOLooJ9cB00DMx3tRS6TSUFmCdcCWCVLTJzclt69sE4AMIaBU9h49+bC8MdoFTHwqBq/BcaqMLa01NnW6rxHLf0a3aNxxA5daoyfHRtw0ujmJXl8BI7dMFaUVM1WIiIhSYFClCsVtCctWCAWGB1VCQROWLX0dZEupoDUyZ6q0b5n845k+xc1UWeuz/Ke+LoDu/viIlvhkEzANaKXQ52M6ku24V4BzSY1OxzTd5n4jOQa40shE0CNTsC4Wd5K9QaZPasJWie3LT6aKymGaVC7c9z23lPiREDQNNNUFU/ZF6o/aiCWa6U5sYVBlNOuLWAgGDNSFg+jsifFkl3xzHAWls2cTDiSEgNYjO32NiIioWjGoUoW8JrXBNOUpdaEA2rujWU/kVaKBbOZMFfeq+KBMlUlupsrm7hiisexZGI11QUwYM/IlPtmEggF09MSynpDbtoJbtFS4gGnAkQp2EUb1tndHcx6ZXQ5u0CNzsG5tIktlbHMYTQ2hLZkqWZrVCiN94+NC2RUyLlQIgZamcMoTno2J0p+xzeG0n3+qfbajELclQgET9eEAopaDPpYAkU+2VEBec870oP5oRERE5Kq4o/KVK1fi+9//Po477jjMmjULxxxzTLmXVHFiicax6TTUBdAXsbPW2UupoJVO+1hKa7QlM1W2BFUa64MYPybRrHaTv2yVStDglQBlKceJWbJomTSBRHM/p8ADUUcqrNnYh3Wb+0ckS6OY3KBK5ka1Xj8eL0C31Xiv/Kc/Y78UU7h1/SPxGsRsWfGjQjdz8g9hYLai4Y5uV9p3g3Ii25H5xVTEyE5fIyIiqlYVF1RZunQpXnrpJWy77bbYcccdy72citQbsRBIUfrjCZgGlNbo7ss87UZpDQ2d9kSyoycGy1EImAIThkwa8fqq+G1WWwkCATdrJFsJUCRuF63Xi2kakEoXnKnS228hGrPR1Rur+P4JXgPkjEGVAf1UAGDy+AYIAURiDnoj6YOBwhDQiV5AxRaN2WVvUpsNm9QS4DWp3VKqVh8KoLOXJUDkT9xSCOQRQDaFQNwamelrRERE1aziziAOOeQQvPTSS7jpppswe/bsci+n4tiOQjTuIJwhqAIADeEgOnpiGcf5Zrva703+mTK+EeaQE+RqDKoAQDhoojPDdCSpNOJWcSb/eAQAxyksCNDZG4cQAkILbOyMVHS2ilQ6a/GUN/nHmyQVDBjJHiHrM/RVMYSA0tm33Vwp732v+KCKWx7FccqjWyzuDEo0qA8HEImxBIj8iVtOXr2jTEPAKkIpKxERUa2puDMII4du9KNR3HLctO9g5tepvi5xkJ0hKyPb1f4tk3+GXxXfMla5esp/APfkoy/qIJKmF4xtSziOKmrGghaA5eQ/ASgWd9DVG0NjXRDNjSF09sQqureKlBoiQ265ZUu0JXqneME5AL6b1QJuM9xishwJW6qiBtNGgtfcdxKDKqNaf8xGwNwSWDdNAxpgCRBlJZWG5aicxil7TENUTO8pIiKiShIo9wKK4dBDD0172/r16zF16tQSrmZkxW1/E0oMIWAIoKMnjnGJ/idDZc1USTSpHdhPxeOdDG/qjCJmOagLVcemFAqY6JYW+qI2GuuDw253x+oW9+Q6IATiVv4Hoj0RCzFLorkh5JZqCWBTZwRjGkMV2QNEKpUxU2Xd5n5oDTQ3BDGmMZT8+VYTGvHuR+1ZxyoDQLHL+p3kOOXKDaporbG5q/J7qoym/XE5SKURiTkIDgms1wVNdPbFMXVS07DMQiKPlO5Y5HAw9+9s03BLaKUs/5Q08of7YyKi0uC3YpWJxBzfJ9KNdUF098UQS9OYVUqV8bGSmSoThwdVmhtCGNsUhsaWSS7VIhgw0NEdTVkCZDsSSumijnwOmAai8fzS8rXW6OiOIRQ0k+/VmIYw2nviFdtbRSqVsQfiwNKfgdtfcgJQWTJVFJRSRT0Z/WBFB67/0yKsLVKJXHe/BctRMAQwIU2glGpf3HJgOwqhISWg9eEAItHsDcppdHOkgqN0Xpkqhuk2RXYquPyUiIioHKojvSCLhQsXpr0tU5S+2mit0Rexhh1MpxMOmeiJWOiN2KgLD3+r3RO01AdWUips7EifqQK42SpdfXGsaevDjtPG+vsjKkBDov9ANO6goW5wtortqPymImTgjlXWeV3d64856IlYaK7fktERDBjQWmNTZ7Qis1Ucx+fknwGlP8Dg8h+t0zdQFih+UMV2MgeCcqWUxsMvLsPmrihefHsNTvvczgU/pjf5Z/yYuoq+Sjxa9sflEk+UKAaGnBSbpgGlgd5IfFAGGNFAtpPINMkjgGwaAlK5xwcI+jsOofLi/piIqDQq98ichrEdhajlZO2n4hFCIBQw0d6TOitDyvQnv5u6opBKIxw0Ma45nPI+yWa1VZapEgqaiNsyZVPHSMxBoMh9fUxTwHFUxqbB6XT3xaCkQnBIOdKYxhA6emIZJ+WUi+07qNI86OeTxzbAEO5I6+4MWTiG4b6exRSL2zBE8d73dz/anCzVWbyioyiNdZOTf8Zx8s9oZtkKSDO1rS5korMnPiLTsag2OIkJUfkE4w1DQCm3VJKIiIi2YFClisQsCdsenvadSUN9AL39NvpTNGa1M2SqDGxSm+7gq1qb1QJub5XOnviwYFM0bhe9WambqaKSB7N+SanQ0R1L2a8mFDChtMbGzkjaSUblkmm7chyVLO8ZmqkSCBiYODZ7s1pDiLwCVJlE4xJmoDi5KlprPP+v1cl/90dtrGor/DPCyT8EuNtTuobu9eEA+mMOIrHKC7ZSZXADIvnt69zpa5qju4mIiIZgUKWKxCwHSiNjFsBQoYAJR0r09seH3eZInfaxvJPaqSn6qXimT3FPits6Iojb1TVmsb4ugL5EA1iPncgmKXazUsNwD0RzDQT0Rmz0x2zU1w1vqAsAYxrcbJVKGqOqtYadYbta39EPqTQa6gIpM6C2lAClb1ZrGKKoV0ql0ojbsmgTnz5e241Vbb0ImgZ2mj4WAPD+8vaCH5eTf0hrjUjMRihN4DdgGlBKcQoQpRW3JAppHSVQ3P0vERFRLai4oEo0GsUzzzyDZ555BmvXrkVfX1/y3x0dHeVeXllFojbMPFJ264IBtHfHBl1dkkpDaZ324Gr9Zvekdqs0/VQAoKUxjOaGELQG1ldZCVDYKwEaUD5jOxK2o4s6TnmgXIMqXb0xACJt7XsoaEIqt7dKpWSrKKXdhq9pttO1A/qppMqA8tOs1hC5v5aZ2MkeFcV5359f5Gap7D1rCvaeNQUA8P7ywvddm6pg8g+NrLgt3QBghn4WdcEAOnpiLAGilGK2U1BPJg1d9J5WRERE1a7iGtW2t7fjm9/85qCfef++++67se+++5ZjWWWnlEZf1PbdT2WghroAuvrj6IvaaGkKJx5PQSk9rFeHZ0OHV/6TPqgCANtMacL7yzuwemMfttu6Jee1lVMwYKCrL5Y8SbVsBSklTLP4TR4FBGzHfzZP3Jbo7I2jMZw6S8UzpiGE9u4YJo+rR1ND+ZtTesG6YJrJEsl+KpOaU94+sFltOl7mj1S6KNN67ERpVjGCKus39+P95R0QAD675zaoC5kQcCdkdffFk5+/XCml0d7NTJXRLp4oAW1uSL+t1tcF0NNvIRKz0VwB+wSqHFprWJZEoID9piFEoq8PEREReSouqDJ9+nQsWbKk3MuoOJYtEbdkyik+2ZimAa2B7j4reVInlU47OthyZLLJZrrJP57pk92gypoijY0tpfqwe/IRizuoCwdgOwoaYkSm6bhjlVOPtk6lt99CzHIwsSXzCXQ4aKK3P45NXdGKCapolb5Ebcs45aaUtyczVToiaScAGULAlt4I5MInUFi2zLmsLp0XElkqu31iYjL4sc2UZqxq68XiFR3Yb9epeT1uV28cjnTHoI5r5jjl0co7mc008n1gCRCDKjSQVBpOHlPoBjINA5bt/7uMiIhoNKi48h9KLWZJ2I5MW0ufTX04gI6eaDJbQimd9kRyY0cEWgONdQE0N2TOlPAyDqqxWW04aMIaMAUobjnFnqacZJpiUP+WTLTWaO+JIWAavgI8zQ1htHfH0Bcpfx8FqdwMklTxCak01m1K3aTWM2lsPQxDIG5JdPUO7wMEDM5UKYZilRJ19caxaMlGAMAhe26T/Pms7ccDKKyvitekdsKY+qIEf6g6ReOOrx6j4WAAnb2xokydotrhOAoyEZzNl2mIquuhRkRENNIYVKkS3kFMvlkU9eEAonEHPYkGhl7vi1RXPNe3b+mnku35vGa1GzoiRZ/IMtKEEDANtwQIACKWU/TJPx5vApCf1ygSc9Dbb6ExTYPaocIhE/aA7KJyktItK0t14t/W0Q9bKoRDJiakKWEJmEYywyNdCZAhBJRC0U4Yo3GnKGVEL729Bkpp7DS9BTO2GpP8+aztJwAAlqzqzHsUtNdPZTL7qYxq/VHL1/S3+nAA/VFOAaLBvCl0gTTTo/wwTLdRLQN2REREWzCoUiX6IhbMQg6EEgGEzl43gJBsVJviZHLD5uyTfzxjm8JorA9CKY31m6uvBKhhQAlQLOaMWJNa0xSQUvsaq9zTH4flSIQyNKMcqjnRW6Xck4CU1tBIXbazpZ9KU8byhakDSoBSMQyR7AlUDLG4U3A/lWjMwT/fXQ9gcJYKAEyb3ITmhhAsW+GjtV15Pb43+YfjlEcv25GIWf6yFQMBA1Ip9FZA9hpVDluqtN/7fpmGgFSKzWqJiIgGYFClCshkk9rC+kc01AXQ3WchGncynpCub/fXpBZwsz22SZRyrK7CvirhkIlY3G0KW6xmpan4zVSRSqO9O4b6YG69c+pCAViOwubO9KOIS0EpnbY6wQuqTEtT+uPJ1qy2mOU/UqqijFN+9d11iNsSUyc0Yuftxg+6zRBiQAlQflOAkpN/GFQZteKWhOWotM3FhwonpgAxo4A8jqPhq34sA9MwoBQ4VpmIiGgABlWqQNxyYDuq4KBKXSiAuCXR229lPCH1TmazNan1eP0xqrFZrRACAcNAT38cttQ5lf/c+8xi3PjA27B81Jcbwg0EZMtU6YtY6I/ZaKjLvSFxc0MQ7d0x9JcxW0VKjXRb1pYmtakn/3i2jFXOHCAqxsmi5fUYCOR/omE7Ci+/vRYAcPBe26TM0kkGVVbkF1TZzHHKo17cllBK+24y2hAOoD/mIJJDg2yqbY5UhcZU3EwVqSB9ZF0SERGNFgyqVIF4okmt3yuUmYSDJtq7o3CkSnlsFYs76Ew0CPUyBrLxTpKrsVkt4PYfiMScxDQZf0ecazf1YdEHG7FifQ8+XNXp63cEsjdF7eqLQ2nkNZ3BzVaR2Nxdvt4q6YJ1Smus3ZQo/8maqeKV//RD6fSBk2JkqtiOmz1USIbSog/a0BuxMLY5jD1aJ6W8T+uMcTANgc1dUWzMMZtISjVgnLK/zyTVnpjlr0mtJxBws+MqoYE1VYZY3EGgwOl2hiGgtWamChER0QAMqlSBXEbxZtNQF0Rv1EZ/1E6ZUeBlqbQ0hdDgs1Gqd5K8fnO/r54hlSYcNn1P5vG8+f6G5H8v8RlUgRAZs1osW6KzJ4bGPMZme5rrQ9jcFS1bg0rbSd38eHNnFJbtli5MHpc5MDBxbD1MU8CyFbp6Uk8AEihOportSGikHi3uh9IazyfGKH9m7rS0wbC6UAA7TGsBkHsJUEdPDEoDwYCBMU0ckTta9UVz7/nkBdFZAkQAELNlQeOUPRpgTxUiIqIBGFSpAr1RG0EfEx/8CAYMyMQEgEyTf/yW/gDA+DF1aAgHIJVO2wejkhlCIBQ0UBfyF8xwpMKiDzYm/71kpb+gSsA0ELXSB8h6IxYiMQd1BQRV6sIBWLbE5q5Y3o9RCEfKlE0QvdKwrSc2Zs0GMg2RDLys70i9PbkH9cXJVCnEex+1Y1NnFHUhE/vtOjXjfb0pQLmOVh7YTyXf4A9VNykVYnHHV5PagRrCQURikiVABKU0LFsWNE7ZI8CeKkRERAMxqFLhHKkQjdkIFymoAgD1IbfcJdUJ2oYcmtR6hBDJ5qPV2FcFAFoaw2hu8JcF8P7yDvRHbTTVB2EI96S33UfJTcA0EI9L6BQlLVprdPTEEDSNgk+cm+pD2NwVKXm2SsxyELfSBFU2+eun4tlqfKJZ7eb0Y5XtImRFRWJOQeNFvSyVT+2+ddagnNdX5eO13W4ph0+c/ENxW8Kyla9xygMFAwZsKVkCRHASfVAK2d9tIeA4uWV3EhER1TIGVSpczEocTAeL91bV1wXRH7VTnvzmMvlnoGpuVpurtxKlP3vPmoJtp44B4C9bJWAIOIksoaGicQc9fRYa6v2VXGVSHw4gbku0d5cmW0VrjfbuKJau6kRnXxyNKcrGvO1imymZ+6l4tso2VlkIOAVmmQBANG7n3U/l43XdWLG+B6Yp8OlPTs96/8njGjBxbD2k0r778ACc/ENuUMWRKqdG2p5w0ERnTyxlMJdGD0cqOEoXJVPFNATiNst/iIiIPAyqVLi45UBKVZQ6aI9pCLQ0hdGY4gR+y+Sf3BpibpPIQFjdVp3Nav3q7beS5Rv7zt4KO2/rZh/46asSMA1IpVOWnPT0W7AchXCBE548TXUhbOqKFLUfTyqxuIPl63qwdHUXLEdhUkv9sCCF1joZVJk+yWemSnICUPqxyrYs7Eppskltng2gX/iXm6Wy9y5bYUyjvyynWdvlPlp5Eyf/jHrxHHs+DdQQDqIv6iASYwnQaGY7bqaK32bsmRhm5v5gREREow2DKhUuEnMginAQNFR9ODDs5LcvYqE34paMTMkzU2Xd5r6aHrX4rw/aoDSw7VbNmDK+ETNnjAMAfLiqM2uPD9N0syuGBlWkcjM9ihVQAYD6ugBilkR718hMAlJKY3NXFEtWdaKtox9jGkNoaQynHCfc0RNDNO7ANAWm+AzWeZOn2joiKScAGUbhmSq2I+FInVemSltHP/77cTsEgIP3yJ6l4kmOVl7ekXGy0UDJccqc/DNq9UcdBPL8Hgh6U4DKOGqdys/LkEy1jx7orcVteGjhhxm/x03DgOUoZj8RERElMKhS4foiVs519PnakGhSO6GlLucT/Alj61EXMuFIjbY0JRvVTmuNt95vAwDsPWsrAMA2U5rREHYDGKs39GT8fSEENPSw8p/+qI2+iI2Guvwb1KbSVBfEpq4oYkXOVonEbHy8rhvLVndBSY2JLfUZt1EvS2XqhEbfAYyJLfUImAK2o9CRoozJEAJS6oKmmtiOgiMlAnmkw7+waA0AYNcdJ2LyeP/Bjh2njUUoaKA3YmGtj1I521Ho7HH/fpb/jE5KafTHbAQLCLqGAgY6uqM8CR7F3Maymfd1jqPw8PNL8dq76/H+ivTZdKYhoJQqSrNwIiKiWsCgSgWzbImolfvEh3ytT5b+5JalArgnudMm1XZfldUb+7C+vR9B08AerZMBuBkTn0hkq3zgq0+GGJap0tUXh9L5ZUxkUh8OIBp3fDXR9UMqjY2dEXy4qhObOqNoaQqjuTGU9cpnsvTHZ5NawH1dp4xPXwJkGAJKa9/ZHqnYjoLW2a/cDtXdF8e/FrvBtUP22ian3w0EjGR2k58pQO3dUWgA4ZCJpobC++1Q9bFsCduWBX0P1NcF0B9zRrwckCqXZUtkS3ZauqYL8URZz4r16S8SmIYb1E7VH4yIiGg0YlClgsUsCdtWCBWxLCSTfJvUeraZ4p40r9lUm0GVN99zG9TO2Wki6gdkley8rXuS7KdZrSkE4gMmv9iORGdPDA3h4p8wCyHQWB/EhvYIlq/rxsbOCHr6Ldh5TG2IxGwsX9uFj9Z0A9rNmgj6PMlbs9Gb/OOvSa3HKwHyMqgGMoSAUoVlqsRtB8hj0tLLb6+FVBo7TGvBdolGxbnYMlo5e1+VgU1qcw3+UG2I2xJ2nk1qPaGACdtR6IuwBGi0iltO1t5s7328JdCbNaiiNGSVjVXu7otjVZaMUiIionwUt96AiipuSWiNlFN6RsKGAjJVgC0nzbXYrNZ2FN5eshGAO/VnIC/zYOWGHkRjzqCAy1CmKRAb0HSyN2IjEnMwoaVuBFYNNNYF0R+zsakzig3tERgCCAVN1NcFMKYhhPpwAHXhAMJBM+V2JqXC5u4Y1m7qhWVJjGuuyymjZlCT2lyDKl6mSkfqTBWtUVD6eSwuc+5TEY07eO3ddQCAQ/bMLUvFs0uiWe3qtl70RqyMo7y9ccos/Rm94nbie6DAoFowYKCjJ4ZJ4xigG41iVub9ndYa//14c/Lfqzf0uhOnUuzvDUNAqtST7CpZZ08MXX1xTJ3YiGCJyqqJiGh0YFClgkViVsEH0n5prbF+cyJTZWJ+DTG98o51m/qglC5ZMKgU/vvxZkTiDsY2hdG6zbhBt40bU4fJ4xqwsTOCpWs6sdtOk9I+TsA0ELdk8vXp6InBFGJE3+fGumByzLFSGnFboj9iJ3p1CIQCBsIhE80NQTTUhVAfNlGX6BOzblMfNndF0VAXxMSx4Zyfu7vPQl/UhiGAqRNzC9ZlzlRxAyr5BlW01ojGHQRzLLn657vrEbMkpoxvwC6JprO5amkKY9qkJqzd1IfFKzqwT6I/Tyqc/LOF1hpdvXG0NIVrat+STTRmZy3b8KMhHEBf1EY07qAhxdhzql2OdAMgmTJV1mzsQ3efhVDQQMAwEIk7WLupD9tuNTwbzw3KiarqqWI7El19ccQtiWhcMqhCRERFxfKfCqW1Rm/ERjBYmreou89CzJIwDIHJ4/ILqkwaW49Q0J0KsLGztprVeqU/e8+akvKEbmaiBOiDLCVApingJK7wReMOuvviaKgvXWzTMATqwwG0NIUxaWwDJrbUoT4cgOMobGiPYNmaTry3vAP//WgzlqzsQHtPDBPG1KEpxfhtP7zSnykTGnNuuOyVobV19A8r8zGMwsp/HJkYp5xDUMVxFF5+221Qe/Ce2xQUCBs4BSiTzV3u52giJ//ATuxX+mOjp4RFa42+qF2UZuWhoAnbliwBGoUcR0FKDTNDU+7/Jkp/dt52PLbb2g2krFiXqVSmunqq9EVsxOISUumiN28nIiJiUKVCxS2JuC1L3k9l0tj6vBumGkZtNqvt6otjSaIJ7d67TEl5n5kD+qpkmrARMA04UsN2FHr7LcQtibpQ+RLGhBAIBU00NYQwoaUek8Y2YGxjCIYQCAVMTGqpz1qHn0my9GdSbqU/ADC+pS4xDlZj85Bmu+4kJUCq/A7qbUfl3Kdi0ZKN6O630NIYwp4zJ+f1vB6vr8qSlR0ZR5d65T+TWf4DAImrzKPnhMh2FOK2LFpwPRg00dEb4xSgUcbLVAkY6bcjr5/KrjtMwPZTWwAAyzP0VQFQVT1VuvvigACCpoFeBhaJiKjIGFSpUHFbwnak72aghSq0n4rHKwFavbF2+qr8a3EbtAa233oMJqXJ4tlp2liYiXKezSlGAHu8UZSWI9HeHc15dHUpmKaBhrog6sOFB3u8psW59lMB3B4SU8anLwEC8s9UsWwFJRVMn3UVSmu8sGg1AOCgudMLahoKADOmNKOxPoiYJbE8zdXguC3R3W8BACay/AeAe3LY2z96Tojc7wFdtFKFhnAA/RF7VAWmCLClgtLpS3I7emJYu6kPQgC7bD9hQKZKd9oAnCkMWHZ1bEde6U9DOIBQyERf1MoYzCYiIsoVgyoVKmYVpzmhXxuSk38KKzPwTp7X1kimitYab77vlv7sOzt974twyMT2iQPRJSvTl3QI4TZY7e6z0Buxk71OatWWyT/+xykP5JUApRqrXEhNv+0oaAjfDTvfX96Oto4I6kIm9p8zNa/nHMgwRLJh7fsrUo9W3pzop9JQF6j57SQXo+mEyLIllPIf/MsmFDQRtyX6oqMnMEWA42gA6bchL0tlh61b0FQfxIwpzTAE0N1vobM3nvJ3DFMg7lTH57AvYiMal8mm7HFLImrlPgWPiIgoHQZVKlRfxM6Yqlts6xOZALk2Ex1qm8lbxiqrGkgxX7G+B5s6owgFDOz+ifQNaAFg5rbuSbKf0cqW7dZ2F5rxUMl6+y1091kQALaelN92tVUyUyVVUKWQTBUnwynGcM//y81SOWDO1kXJ4AGAWdtl7qvCyT+pjaYTolg8v7HfmYQCJjp74iwBGkXc3ifp329v6s/sHdyyxFDQxLTEd3m6viqmIWBVyeewuy8OIdyLVAHTgKMU+6oQEVFR1e4ZXRWTSqM/apWsn4rSekCmSmFBlcnjGxAMuBNuvCvt1ezN99sAALt9YlLW3ideX5Wlq7syXkk3DQN9UatoJ+eVyiv9mTSuPu++MVtN9MYqDy//EUIgEncQs3I/OI7GHd+9g1Zu6MHydT0wDYGD5k7L+bnS2Xnb8TAE0NYRQXv38M/KpkST2nQlZ6NV3JaIxkbHCVFv1EaogJ5GqTTUB9DVF0dPorSsljBQlFrMctJepInGHSxb0w3A7afi2W6qm3m5fH13yt8zDTdTsNKzxgaW/nhMIdAfrb3tn4iIyodBlQoUtxxYjipZUKWjO5aYhCIwsaWwq+KmIbB14kS42pvVWrbE2x9uBADsm2HsrWfapCY01gcRtyVWbEjf4C9oGuiL2IMO8mpRoaU/ADB1vLstbeyMDCv1GdMQwobN/fhgRQfaOiK+J1ForRGJS99ZQq/+Zx0AYO7MyWhpyn2sdDr1dQFsv7XbEDJVtooXlGSmyhDaLQGqdY50r6YXY/LPQKGACaHdPkXVNBLXj5UbemsimF9scUumbTj+wYoOKKUxZXzDoADu9omgyoo0zWpNw4CUCk6Fb0MDS3884aCJnoidd6YjERHRUAyqVKC45TapDWQYf1hM3uSfKeMb0zayy4V3Er2mypvVvrNsM+KWxPgxddhhekvW+xtCYOaMLVOA0mlsCGLy2IaivNaVLDn5J48mtZ6xY8IIBQ1IqYedLIWCphtw0MBHa7rcEdDd0awHyraj4Eh/n6/+qJ0MrH1qt63z/jvS2SU5Wnl4X5WNLP9JKRwy0dtv1VxAYKi4JWE5akSalY9pCqGzN4qu3vRNtatNJGajvSuKTZ0RniwPoJSGZcu045S9UcqzB2SpAEg2q123qQ/xFGU+bqYKKj5TpasvDsMY3J8uFHL7quST5UhERJQKgyoVyJvM4LeJZqGSk38K7Kfi2WZKbYxV9hrU7j1riu+GwX6CKoYQNd1LxVOMoIohBLYan75ZrRACTQ0hTGypRzQusXR1J5at6cpY2mA7Co6jEfRRVvHm+xvgSI3pk5swY6v8M27S8UYrL1vThbg9+MTFCyJx8s9g4aCJmC1rvieCZUvIHMd++xUwDQQMExva+31neFW6zp4YYpaD3oiN/hgb8XocqeCo1OOUpVTJgO6uQ4Iq45rrMLYpDKWBVW3Ds1UM051kV8nBTcuW6O6LoyE0uNF3KGDCsiViVdIThoiIKl/tn9lVob6YXbQRmn6s31ycyT+e6ZO8TJW+qq1x7+iJYdnqLgDAPrtkL/3xeH1VVrf1on8UT9iIxGx09LhXwb3tIV/edpm6Wa3LMATGNoUxtrEOHT0xLFnZiRXruhFJcXJlOW6T4HTp8B6lNV59xy39OXC3rUckyLnV+AaMH1MHR2osXb0lEBeNO8kJLcxUGSxgGpCOqvmxwHFbjmhgvbkxhO4+K/k5rWaWLbGpK4qm+hCk0uhOM7FmNHKkgpRImany8bpuxCyJpoYgtt1qzLDbt8tQAmQIAaV1RQfl+qJu6U84PPx4ShgCkVH8HU1ERMXFoEqFcaRCJGojVMJMhg3e5J8Cm9R6pkxogGkKROMO2qv0gP2t9zdAA9hp+liMb6nz/XstTWFMndAIDeDD1dmnANWqtYkmtRNa6lBfV1jvGK95sjehKpNAwMDElno0hANY396PD1Z2YN2mPtjOliuStpN5EoZnycpOtHfHUBcyscfMyXmvPxMhBGZtP3wK0KZElkpzQzDvJr+1zDBqv9FkX9Qq2ijlVExDoC4UQFt7/6DPRzXq6osjGnPQUBdAQziA9p5Y4nNOtqMgZeqx3O9+lCj92X5CynJUrwRoeZoJQAICUlbuhZPuvjgMgZSZpuGAie5+TsEiIqLiYFClwsQsCcv216TWcRRe/L812NiZ/WQzHSlV8veLFVQJmAa2nli9JUBK6+TUn31m+89S8XjZKn5GK9eqYpT+eDKPVU4tHDIxaWwDTMPAivU9+GBFBzZ1RiGlQtzylwHgZansM3urEW0a7Y1WXry8I3mAv6mTk38yqfVGk1JpRKLFb1I7VFNDEL0Ru6qbu0qpsKkzglDIhBAC9XUBRGIOeiO1HXTzy5EKGsPLibXWeO/j1KU/Hq+R9sr1PVApgg8alZupYtkSXb1xNISDKW8PB03ELDms7JKIiCgfDKpUmLjlQCrta9zrgrdW4fGXP8JvH3037wODTV1RSKURDpkY21y8ySbTJyWCKm3V16z247Xd6OiJIRwysftOE3P+/WRflVWdo/YqWDKoUmDpD7AlU2VTVzTnA/jGuiAmjq2H7WgsW9OJD1d3oi9qZ/18dXTH8H7ihOPAOcVvUDvQjtuMRTBgoKsvnizF28TJPxmFQ4GabjRp2RK2oxAMjuxXtCEEGuuCaOuIVG2Pmp5+C70RC031IQDu32QKgY6e6g0UFZMjNUSKzLz1m/vR0RND0DTQmvjOGmraxEYEAwYicScZ6B3IEKJiM4L6ojZilpOy9AcAQkEDtl37ZYRERFQaDKpUmGjMgZ8y+v6YjZfeXgPA7f/x1GvL83o+b/LP1AmNRa3fn17FzWrffM9tUDu3dVJeGQo7TGtBwBTo6o0nJ7iMNquT45QLz1QZ2xxGOGRCKZ0MNuTCEAJjGkMY31yH3n4bHd1RhLNkAPzzv+ugAbTOGIvJ40c2WyQUMPGJbcYC2FIClGxSy6BKSsGAAduRNXtCZNkStpS+mikXqqEu4J40V2G2itbuPsEQxqDylsb6ILp7rZQ9lUYby5ZIdVDhTf1p3XZc2u850zQwY4obGE9VAmQahvv4Fcgt/RFpm8wL4YaaorHa3IcQEVFpMahSYXojlq8Rmi8uWoO4JdHc4Ka2/uPttSmbyWXjlVQUq0mtZ+BY5WrK1ohZDv6zdBMAYO9ZuZf+AO6o3x2mjQUAfLCyI/Oda1As7mBTIpg0rQhBFSFEXiVAQ5mmgfFj6jBpbEPGPi+Oo/D6f93A2oG7Tcv7+XLhTQF6f4V7ouO9fpM5+SctIQT6o7V5QhS3JLTOPAHOcVSymXEhhBBorg9hY2ek6ppr90VtdPXF0dQwuMQjHDIRt2XGKWCjRdxyUk7+yVb649l+6wzNag1RkUGVuFf6U5e69McTChjoGaEyMduRWLm+u+JHThMRUXEwqFJBvBF/2a6i90Vt/OPfawEAJx7Sir12mQIN4M8LlsDJMRV3/WY3pXerIvVT8Ww9odFtJhlz0FWCSQxaa6zb3IcX/28N3lvenncg5z9LN8NyFCaNq8f2U4dPQ/Br5yL3VbFsiQ9XdVb0+ErP2s1udtLYpjCaG0JFeUxv+9zgo1ltNqkaMg70n2Wb0Be10dIUwuwsJxzF4vVVWbG+B/1RO5k1wEyV9MJBEz398ZrsqxKJ2TBF5q/nO5/4L6664/W8gulD1YcD7gSdzkhVBcE7emKQUqXsPVMXCqC9O1oV+8yRFLPksMk/3X1xrGrrhYDbpDaT7aa6fVVSZ6q45T+V9hnsi1iIWQ7qQpmPpcJBE9GYMyKBIbcszYZTYa8NERGNDI6VqCBxW8KyZdarKy8sWo24LTFtUhN23XECdpjWgg9WdqCtI4K/v7kSnz9ge9/PuWFA+U8xBQIGpk5oxNpNfVi9sQ/jxvifoOOXVBrL13bj3Y83478ftQ8aDbrDtBYcd9COydRlv958381Q2GeXrQoqh/L6qny0pguOoxAoYJqT0hq/fexdfLy2G3N2nIgzjtqloMcbacVsUuvZElTJP1PFL69B7QFzth7R6SsDjRtTh6kTG7F+cz8WfdCWLGuZ2MKgSjrhoIlo3EHclqgP185XmdYafVE7Yz+V9Zv78UEiYPvQwg9x6al7FrytjmkMY2NXFONb6jGmsTjB0JEUiztoT4xRTqWxLoCuvjj6IhZamorXL6yaOFLBkWpYpoqXpTJjq2Y0Z3mvt01cXPAymRrrtxyfmIaALRWkUjCMkW2qnIvuPgumMLJ+h4eCJvpjNqJxp+jNyLt6LTbBJSIaRSr3zGwUisUllNIZD457IxZeSWSpHLn/thBCoLE+iBMO/gQAYOG/VifH2WZjOTLZu6HYQRVgy0n1mo3Fa1YbtyXeWbYJ9z37Ab5/+2u49eH/4OW31w5ouOc2/fx4bTduuP//cO8zi9HZ62+s86auKD5e2w0hgL12mVLQOqdObERzQxCWo7B8fXdBj/XaO+vw8Vr3Md79aDN+/+R7FdscENgSVClG6Y/HK08rRqZKJms39WH5uh4YhsC+u+ZX/pUvL1vFy0Ib2xwe0alD1S4YMGDVYF8Vy1GwbJlx8s8//7s++d/rNvcnt5lChINu36KNHf0Vl3mQSmdvDDErfUDNNA0ouOOWRyvHUZBSD8tU8fqp7Lpj9kbsTfXBZBniig2Ds1UMU0ApDaeCxirHbYnuvnjGEk+PYQgorRGzihv8iNsS3f3+jjuIiKg2MKhSQSIxK2tpwvP/Wg3LUdhmSvOgtN3dd5qIOTtOhFIaf16wxFfKc1tHBBpuU7+hNenFsCWoUliz2t5+C6//dz1+9/i7+N5vXsUfnnwf/1rchkjMQWNdAHvvMgVnHTMbPz7vAJz/pd1x+Zn7JIMiiz7YiGvuegtPvbY866SQtxJZKjNnjCt4EpIQAjO3dU+SCykB6uyN4clX3CbE+8yagmDAwOIVHfjd4/lPfBppa0cwU2VzVyTnErdceFkqu+04ES2Npb267fVV2dztHoxz8k9mQghACESqrA9INnErMfknTTaa5UgsWuyOfJ/bOgkA8Mw/VxSlzHJsYxjtPTF091d2IMJ2FDZ3RdGQJUOpMRxAZ0+sIvt+lIIjFRylYQ5oeBy3JJaudr+TsvVT8XglQCuGlACZhgFH6YrqG+K39McTMA30Roq7vfdFLDbAJSIaZWonZ7rKaa3RG7EzXpnu6beSJ31H7bftoNRWIQROOGQnLFvThTUb+/Di/63GoXvNyPicGzZ7pT8NRZ384xnarNbvc8RtiQ3t/Vi2pgv//agdK9f3DBoIOaGlDrvuMAFzdpyI7bZuGZbZM7Y5jNM+tzM+/clp+OvLH+Gjtd1Y8OYqvP7f9Thq/+2x7+ythgWvlNJ4K3Gisk+eDWqH2nnbcfjX4jYsWdWJY/L4fa01/vL8UsRtie2mjsHJh83E3rO2wh2P/xdLV3fh9sfexTnH7oq6Cip9sGyJDR3uduW9/8XQ0hhCXchEzJLY2BnB1pOKF7DxROMOFn3gbgMH7j6yY5RT2XbqGDSE3UksAPup+BEOmOjuj2OabhqRfVg5WLaE0jptgP2dpZsRiTsY1xzGaUfugs7eOFas78GjLy3D146ZXdBzBwIGDAhs2NyPMY3hkpW/5aq7L47eiJ31M1IfDmBzdxQ9/dao/DzZUg3Lfl2yqgOO1Jg4th5TfE42237rMXjz/Q1Yvm5w1qVpCGilKipTpavXX+mPJxw00R913DKpIk3b6uq1UEWtiYiIqAgq52xslIvEHMQzpDIDwMJ/rYLtKGy7VTN2TpQKDNTSGMYXD9oR9y9Ygmf/uRJzdpyIyePSHzStT07+KX7pDwBsPakRhgB6IzZ6+ofXtSut0dEdw7rN/Vi3uQ/rN/dj/eZ+bO6KYujxyDZTmrHrDhOw644TfI9/njGlGRd8eXf896N2/PWVj7G5K4oHF36If/xnLY779A7JTBIAWLq6E129cdSHA75Sov1o3cbtq7JmYx96I1bOTVvfXrIJ7y/vgGkKfOXwVhiGwE7Tx+K84+cke6z85tF38I0v7uYr1bkU1m/uh9ZAU0MQLUXsyyCEwFYTGrFifQ82tI9MUOVfi9tg2QpTxjdgx2ktRX/8bExDYOftxuP/lmwEwEwVP8IhE7G4u++spOBiIaJxBwLp92//v73/Dm/kvO6+8e8UDDrAzuV2buH2qtWu6qp3W7JkWcV+5BrHcctlOX4Sx7HzJnnye2Mncfw+tlPcm2zLlmzJWjWrWnVVd6Xtnb2i1+lz//4YACSWIAmCYNnd87kuXiSAITAYDM7c9/c+53tey5X+XLC+BQLP4QNXrsQ3f/U29p0I43B7BGsmMB6diIBXQjSlIpZU5qQQYVkMoVgWkiiM2S43D8dxEAUekYSC+qDrrBHeysUw2Kgz6cDJ4a4/5R6PpTlfla7BFEzTKsp8YQBMa25kquTLbiZzPXQ6BMQzGhTVgK8KxuqV7ANBEARx5kNRf44QimWhGRaCvtKZKom0ildzWSrXX7h0zMHQ+WubsefoEI52xfCbZ47hs7dvGnPgmfenmA4/FQCQRAHNdV70RzI43h1Hrd+ZE1Ay6A+n0R/JQNNLD8b8HgcWNvmxtrUO65c1VFyOw3EcNqxowJrWOrzybh+eer0T/eEM/ueh/ViztA43X7oM8+q9eOOQnaGwdVVTWS2ty8HvlbCg0YfeUBrHumI4b3X5Pi1pWcfvXzgBALh2+xI01w1/RkvnB/Hp92/C936/D50DKfzX79/FX9y6schAcLYomNQ2Vj9zoCCqRKtvVssYK2SBXbJp/qxNvta2jhBVqJ3yhEgij2TGgqwZZ42okhnHpHYwmsXJnO9TPqNufqMPO7csxJ/29OB3fzqBv15UM64fy0QIAg9J5DEQySDoc1YtHlaLVFZDMquVXZ7ndTuQzGjIKAZ8VYyRWUWHqpmo8TvnpFij6ibC8WxRxpNpMRxqt0WVyXQ2a6rzwO0UIasGesOZIgN4DoA5RzJV0lkNimrCX1O+OCIIPCzTgqya8JWXuFPWPgS9Tig6lQARZz5mTshuqHFXLZuLIM5Gzo5R6BlORtYRSSjwj+Nr8uxb3TBMhtb5gUJnmVJwHIc7rmrDN+57E6d6E3h1Xx8u2bSg5Lb5TirzGqZHVAFsX43+SAa//OORko+Lgp2BML/Bi5YGH1oavJhf752wI8FkEQUel21diG1rm/HU6514+d0+HO6I4mhnFDvWtWD/iTAA27ekmqxaXIveUBpHOycnqjz8wglkZB0t9V5cuW3RqMfzWTj//ft96BlK4z8ffBefvm1j1Y/bZOkJ2abE1Sz9yTNsVlt9UeVkTwKD0SwkB49tk/icqs3qJXXgOIAxjJtlRthwHAcODFlFR62/+h3GJothWkikVdT4nEWr+eWiGxYUzRhTFMlnqaxtrS8Smq+/YCneORZCJKHgmTe6JtUBrhR+j4RwQkY0qZRdIjJThOIyGEPZg3tJFJAwVSTTatVEFdO00D2YRjylYEGjDy2NvjlVKqUbFjr7k4inVdQHhsXZjv4EMooBj0tE6/zys/F4jsPSlgAOd0TR0Zc4raseB92cG5418ZQGkS+/9CePwPNIy1pVhOxYSoUo8JiDOhtBVEQyo6J3KA2O4+bc9YAg5hIkOc4B8lkqLqm0xhVPqXh1f85LZZwslTx1QRduungZAODRl9uLWg3nUVQDsZyxYUvd9Ikqa1qHS2zqAi6sW1aPa7YvxodvXIMvf/h8fP2zl+KvPnge7r52NS7fuhCrFtdOqzDgdTlw62Ur8OV7ttnGvszupKGbdtnHokm2YJ6IVUtsAexoVwyszCLrw+0RvH1kCBwH3HlN25iTh/mNPnzuA5sQ8Eroj2Tw3QffmfVOF9PRTjnPcFvl6ncAejmXpbJtdfOsZjx43Q7ceXUbbrqolUSVMnE4BCTTWtnfr+nCshh6Q2kc74qjcyAFowLzTlU3oY1hUmsYVsFM+4LTOlM5JQG3Xr4CgG1mPhid2neE5zl4nCIGIpk5ZYidkXUkUuqkSyldkohIQq7oMynFUCyLSEKG2ymiazCFzv4kdGNuHCfTYugZSiEcl1HndxVlquRLf9a21k9aBMqXAHX0n25Wy0HTZr/8J19246mg7EaSBKQyWlkG/+OhaAaSGXVCA2WCOJOIJBRkZB394fSEDR8I4lyGRJVZppwslWfe7IJpMixfEMSKhTVlPe8lm+ajdX4Aqm7igWePjZpw5Ff7a3zOaa393byyEV/72A78v5++GF/7+A782c3rceNFrdjS1oTmOs+sre411nrw8feuw2dv31QQAK44b2HV07iXzQ/CIfJIZrSyxABFM/Db544DAC7bshBL5gXG3b65zovPfWAzavxODMVkfPeBd0qKaDOBYVroz5kfL5qGTJV8mVo4IVe1pXQirWL/STtT6eKNM29Qezo71rXg6u3jm0wTw7gcdlnCbE/+Q3EZ/aEM3C5bjOioYKKt6SbMMQwz958MI6MYCPokrFk6unRjw/J6rG2tg2nZBtdTFZm8bgcyso5wfHrbmE+GaFKBZphwTrLVuMflQEbRkcpqU96HdFZDXygDn9sBj8uBOr+rYKyeVWa3ExVjDH0h25+s1u8q9j5hrNBKeTKlP3la59vXovb+0W2VtTkgKOXLbpxldv0ZidMhQNUtqFOcMGZkuySskn0giLlIVrGF7PqgG1nFQDgmz/YuEcSchUSVWWaiLJVYUimkfI/npXI6PMfhrqtXQRQ4HOmM4a1cZ5s8/bkJfr6kYrrgOA51Qde4BryzyYqFNbj37q34p09eiB3rWqr+/KLIF4SwI53RCbd/7JV2xFMq6gIuXH/h0rJeo7HGjc/fvhn1QRciCQXffeAdhOIzf+EbiGRgWgwep4jaQPXbEfs9DnhcIhgDhqa4Ej+S1w70w7Ls0rrpMMAlpheHg4emm1DU2ZvYxVMqegZTcLtEeF0O1AVcGIpm0d6XnJTYo6hjT+p2564DO9bNKylGcxyH2y5fAYfI40RPvODNUykcx8HndmAwmp11sQCwMxEiCRke1+RLeOzjxSGWnFomn2Fa6AmloZtWYT9EkUdD0I1ESsXJnjgSs5gtOBDJoDeUQtA72gtnKCYjHJchCBxWLxm7hHgsFjcHwHP2uR5LDQv3As9D061ZzxQbLruZ/MKIQ+RhmCbkcb5/5e2DAqGC8iNi7jHVrKWzhXhKhWrYQqHfLWEwNjeuBwQxFyFRZRZJl5Gl8vQbXTAthpWLasrOUsnTVOfBdTuWAgAefuEkUpnhVbrp7vxzJsFz3LSWHOU9cI52xsbd7lRfAq+8a5eh3HF126RWY+uCLnzuA5vRWOtGLKXiPx94Z8olAJMlX/qzoGl62tvmOwABqJpZrWla2L3fnqxesrG09xAxt+E5DgwcZHV2BnpZRUfXYBKM2eWFgO33UR9wIZyQ0d6XGFcsGUlG0eEQRn/vQ3EZx7vj4IBxxd/6oBvX5LKcHn7xJGRlapNEj8sBVTNnRaQ9nURKRVYxKi6t8LkciKeUsj+LUgxFs4gmlFH+PTzPoT7ohqKZONEdRygmz7jIEEnI6B5Mw+N0lMyUOJDLxlu5sGbMRZzxcEpCQXQeWQIk8BxMy5rVSWg1ym44jkN2Ct8XRTOQTGtU+nOGo+omugdTOHgyjOPdMQxEMoinVCiaMevC4UyjGxZCcRmeXLxwu0SomonBaHbOHQtNN9E7lKpqFjNBTBYSVWaRcCwLzTDHHOBEEjJez9XQX3/B0ope44rzFmJBow9Z1cDv/nS8cH++/Ge6Ov8Qw+R9VU71JsZMk9YNC795+hgY7JXo8cyIx6LG58Tnbt+MefUeJDIavvvgO+gLp6ey6xNiWnZb7GNdMezLmf1Oh59Knnl11TWrPdgeQSKjwedxYOOK6rTSJmYeSeSRyEy9tGOy6IaJrsEUsrKOoK9YmBUEHg0BN2JJBaf6EhOu7pkWQ1YxSnb+yWcrrlpSi7rA+Ia8V5y3CM11HqSzOh57tX2S72g0fo+EcExGugqlM5VimhaGYlm4JLFiwdYpCVB0E8kK30cqq6E/nIHfLY2ZKVTrd0HgOZzqi6N3KD1jQkM8paKjPwmHyI+ZyZMv/Vm/rPI4V/BV6TtdVGFV86uphGqU3ThFAcmMWvFkMSPrUHUq/TlTyceYIx1RdA+mYFkMiZSG9r4EjnRGcPBUBIfaI+geTCGSkJGRdZizeM7PBMmMiqyiF8WUoM+JUFxGchaut+MRjsvoGkxNSyMDgigXktRnieEslbEzJJ5+owuWxdC2uBbLFpTv1D8SQeBx9zWr8B+/fhvvHg9j34kQNq5oHM5UmcbOP4RNc50HQZ+ERFpDe28Cq5bUjdrm6Tc6MRTLwu+RcPOlyyp+rYBXwmdv34z/+f0+9IbsrkD3XL8G9UEXJIcASRTgcPCTaounaAYiCSX3IyOSUBCOy4gkFUSTCqzTJg7VNvsdSbXNal/OZQZdsK4F4hxrHUuUj9MhIKvo0HQT0iT9NirFshh6h9KIJhTUB90lJ/v5DIZoQsap3gRa5wfHbH2uagZ0wxpltGmYFt7IiesXbpjY80cUeNx+xUr85+/exav7+nD+2uYJvZnGwyWJSMs6BqJZLHc7ZqW0IZHRkM7qqJ1AUBoPjuPgFAVE4jIagu4iA9eJMEwLPUMpGJaFoGv80kafR4KoGegaTEEzLCxq9sExhRbXE5GWdXQOJMEswO8vPZ5IZTV05rJLKvFTydPaEsTL7/YVZarwOVFlNtsqV6PsRpIEKKoBVTMrMiun0p8zE8YYEmkN/eE0YikVbklEY01xPLcYg65b0DQTvdk0GGMQBB5OhwCfW4LfY2eHuZ3ijF1/phvGGMIJBSLPF8VKp0NAWtYwGLXHq5OJo9OFohkYimUh8Dz6Ixn4PVJRdzyCmClIVJkl8lkqQV/pL344Lhc6PdxwwZIpvdaCJh+u3LYYz7zZhQefO455dV6kszo4gNqjzQAcx2H1kjq8fnAAR7tio0SVvlAaz77VDQB4/xUrKvIMGInP7cBn3r8R33toP7oGU/jew/tHbcPzHCSRh0MU4HTwcDgESCIPySHAIdqiSyKtIpJQkJbHX2EXBA71ARfqg24sbPJhw/Lpy/jIewD1V2E1YjCatUsqOODCDdX30yFmDkkSkE7qkFVjxga1g9EM+iMZ1Pid4xpu85wtrESSCk71xrF0frCkmK7pFgzDguM0wfPgqQjSWR1+jwPrWkcLsqVYsagG29Y0463Dg3jwueO4966tUxr8BrwSIgkFjTXuMa9Z0wVjDKG4DIHnpmxs7nU5kMxqyCj6pDoIDUYziCVts8ZycEkiRJ7PdU8ysGReYMpxvRSyaqCzPwFZNdAwzr4dao+Awc4inMpkY2nOrLYnlC4ImALPwTJnL1OlWmU3ksgjmbEgq8akRZXCPkyj6T9RfbKKjoFIFqG4DA52+WSpGMNzHJySYPuK5O4zDAuqYSKakDEYy4AHB0ni0RD0YEHT3GqxXgkZWUcircJXwp4g6HUimpQRT7snzJycCSIJGVnFQGONG/G0it5QCh7X2SNwEWcOdAWYBdKyjnBCQcAz9uDmqdc7YTFgzdI6LJ1fWZbKSK7dsQT7ToQxFMvip48dAgDUB12T7qJAVMaqxbW2qNIZAy4dvt+0GO5/5hgsi2HD8gZsWtlYldfzuBz49G0bcf8zxwplR5puIp/ZbFkMimZC0Uykyng+r0tEfdCN+qALDTX27/ztoM8JfoZW5/KZKtGEMuWshFdzbZTXtdbPiYEBMT4P/ekEOvqTuOmi1lGP8RwHMAZZNWZk0h9LKugeSsPnkiCVkYXAcbbwGEvaZqat84Oj9tM2tGWjVrpfG2lQO4kMs5svXYaDpyLoGUrj5X192Lm5cs8gSRTAMX1WVidT2craKJdCFHmYloX4JJ4vmdEwEM6OWfYz3ms1BN2IJmWcNOJYPC9Q1XNT0010DiSRSGtoqBlf7Mm3Up6q4F3rdyLolZDIaOgeTGH5whpwHAcGVnGpU1bRYTF7MaAS8mU3Uz0/7O8dQ1bVUYvJXQ/S2ersAzEzaLqJUCyLwWgWqm4vbpYTx0ciijxEkS/4aFkWg6qZ6BlKgYFhYaNvUvF6smRkexFhou9+pcRSKkyTlTwuosBD5AX0h9MIeKVJZT5XG0U1MBSV4c1lUQZ9ToTjMvrCGSyZ56fMMWJGmXOiysmTJ/HP//zP2Lt3L7xeL2655RZ84QtfgCSdPRercCwL3TBRM8YAKxTL4q0jdree66aYpZLHIfK465o2fOe375BJ7SywcnEtOAB94QwSGRVBr/3Zv7i3B92DKbgkAe+/ckVVX9PlFPHRm9YWbjNmD3w13YRmWNB1E5pu2YKLYUHTTTvF1TChGxb8XgkNOfFkrnRv8nukQqvXwWi24lIjVTcLJRUXzYE2ysTEPPZKO2IpFUtbAjhvdfOox0VBQCKjTXtcy+TKLQSOm1Q7+nwntFhKwcneOFpbgkXlLFlFB88XD06jCaVgcD3Z7mR+j4SbLm7Fg88dxxOvtmPTyoZC3KmEgFdCLKUgkVFHGbVOJ9GEDMuyRnWzqRSP04FoUsG8es+EZTmGaaF3KAXTYpP6rPPky7/iaRUneuJY3BxAQ41rygN9w7TQNZgqlJ6NJ2prhomjXfY5NJXSH8A+h5fOD+Dd42G09yexvGCez1WUqZKRdZzqjUPVLTQEXWiq80w6oyeWtEsUqjF5khwCkmkNCya5thFPVW8fiOnDtBhiSQX94TRSWR0+twOBKcTEkfC8fT0QBA59oTSYxbCo2T8twko8paJzIAnDsOzsmSqLeVqh09rYMS/glRBOyIgmFDTNYsZ7JCFDVu0sFcBeYAn6nBiMZuD3OMrOLiSIajCnTAQSiQQ+8pGPQNd1fOc738G9996L3/72t/j6178+27tWNdJZbcIslT++3gnGgLWtdVOqhT+d1vlBXDJitbKF/FRmDJ/bgYU5AeBYbpIUjst4YncHAOCWncunNOEpB47jIAq2kWGNz4nGWjtNtXV+EKsW12LD8gZsXd2EC9a34NLNC7B5ZSMWNvnnjKCSpxpmtXuPDkHRTNQHXQUjYWJuc9X5dlebZ97oglXCTNIpCZAVHfoYZtDVQNNNdA0koWhjl25ORK3fBWbZxtWRhN1VhzGGjKxDOk04eO1gPxiAtsU1Fa1IXrihBUvm+aFoJv7wwsmK9jePKPLgwWEwmp0xA1ZZNRBJKvC5qzdpcLtEZBW9LKPFwUgGsZQ65gJIORQMbLlhA9upnKOWxdAzlMZQNIu6gGvC7JljXTHohoVavxPzq3DNX9piZ86O9FUBJu+poqgGOvoTyCgGXJKA/kgWhzui6BpIld3aWFENJDNaRYJXKZwOAbJmTLoNejX3gag+tm+KihPdcRzvjkM3GBpq3NNSkic5BAR9TvSFM+gcSFW1LI4xhlBMxsmeOHTdgm5aGIxkRvnaTZVEWoOsjt9pjec5uCUR/ZEMtEl8X6qJohoYig1nqeRxOgSIAo/eUHpK3d6I6afa5+5sM6dElfvvvx+ZTAbf/e53cemll+L222/H//7f/xv3338/BgcHZ3v3qkI4LkM3xnaIH4xmsefoEADg+guXVv31b7qotVDqsLBp+gxFidEUWit3xcAYw2+fPQbdsLByUQ12rJs3y3t35jBVs1rGWMGg9uKN82esdImYGu+9pBVOh4CBaBbvHg+NetzpEKBqJmR1egZ4Zm4yG0upqJtipka+ZO5UbxJDMTsFXdVNOEaUs5kWwxsH7WyqC9ZX5vnDcxxuv3IlOA7YeyyEo53RKe13wCshnlKRSKtTep5yiSWVio1Dx4LnOAg8j1hSGXe7RFpFf6R65U4+jwSvy4GuwRQOnorgaNdwu9ZyJ/GMMfRH0ugPp1Hjc5aVdn8w3/VneUNVMilaCx2AEoVOOQLHQ9PLn7zYpUspJDMa6gIuuHLmoJIooDeUwuGOCHoGU1C08Z8zne+4U6UyZskhQNOtSU3E0rIORavePhDVJavo6OxP4mhnDImUijq/EwGvNK3XfUkUUOt3YSCSQUd/siptfi2LoT+cwam+BASeQ43fiRqvE+GEgngV47FlMYTjWThEYcJ44fPYWcOheHUaB0yWcFweU/wJeCRkZB294fRZN3E/09F0E9Gkgva+BA53RCfsjHgmMadElRdffBEXXnghampqCvfdcMMNsCwLr7zyyuztWJUoJ0vlqVyWyobl9Vg0DaKHUxLw2fdvwl3XrML65VNLBSYmx+olw6LK6wcHcLw7DofI446r2ihteBLk24APRCvLVOkcSKE3lIYocNi+lsSsMwWfRyoYCv/xtc5RAyWe52DlfFWqDWMMA5E0BiIZ1PldVZlk+70SHCKP9r4kBsIZ26R2RKbK4Xy7b7djSl4YC5v8uHSTnaH44PMnpjTAFwQeIs9jMJKZ9naiumEiFJenZTXZ63YgkdbGHMzphoW+UBqWyaqaqeeSRDQE3RB4HqnMiHatJ8M43B5BbyiFWFKBrBolW/uGYjJ6htLwu6Wy/KQsxgqiylRLf/IsaPJBFDhkFAOhuJ1pxQsctDLPq3zpUiQhoy5QXLrkdoporPFA5Hl0DaZwpCOKvpwpbikmW3ajaua4LZNHejOVSyylwCFQ6c9cI98V60hHFP2RDLxuB+qCrmn1ORmJQ+RR53dhKJpFZ39iStlppmmheyiFzoEUPE4Rvly5jyja8bg/nK5aRkwqqyGZ1eErI+5yHAef24HBaHbGJ8aKamAonoVvjI50HMehxudCKCojnMsInW0YY1D18WPQ2YqaKylr70vYiwqdUQxFs0ikVfSFq59tNVvMqXzFU6dO4f3vf3/RfYFAAI2NjTh16tSY/3fVVVeN+Vh/fz9aWuZGZ49QXIZhmHCOkUrcH8lgby5L5boLlk7bftQFXdgRpMnkTLOkJWC3o8vq+N3zxwEAN1y4dNqMxs5W8h2AKs1UeSVnULulrWnM9rZE5UxnPL5wwzy8fnAAg9Es9h4bGuWtIgo8Uhm16l3NokkFPUMZBDxSVVtv+9wO8BwwEM0CDEUTzN05g9rz1zZP2QjwhguX4t3jIYTjMp59qwvXT+H64vdKiCbt1dHprFePp2zRYzpew+kQkEirSGa0kqJNvuxnvI46lcLzHNxOsSDWWMz2ucqqBhJpFQx2ZzaXU4Df44TXbW8rqwY6B1JwOcSyM3e6BlJIZXW4JAHLF0zd8B6wv2OLmv1o70uioy+JploPBJ4rqwTAtBh6BlMTli55XA64nSKyioGO/iRCcRnz6r2oCzgLPjiTLbvZe3QIv37qKNYvr8c9N6wZUwQRBQGpbHneTGdC6c+ZMj6uBowxpLI6wnEZsaQCzbCq6psyWUSRR13AhaGYDAZgybzApM31Nd1E12AKoWjWNtQ97f8DXgmRZPW8TWJJBRZjZV/nPC4HQvEshqLZqjTVKJdwXIaimWiqGfuzdYg8XJKA3qE0fG7HtAj05aIbJnqH0oimFLglEUGfE97cPlXLL2yuoeom0lkN8ZSGZEaFohkQOB5up1jwAjMMC+F4FrV+51nhfzOnrgTJZBKBwGgPkWAwiEQiMQt7VD3SWQ2RhAL/eF4qr3WCAdi4ogELGn0zt3PEjCAKPFYsqsHBUxEYpm1itnPLwtnerTOOQgegXGnAWKV0pUjLOvYes4XLizeRQe2ZhksSsXPzAvzx9U788fVObG5rKpqYOR0C0rIO3aiesWk6q6FrIAVJ4KtahpLH43JA4HkwDK/UxFIKDnfYpTqVlv6MxOUUcctly/Hzxw/j2Te7cN6qJjTWVjYAF3Lt2AciGQTLLEGZLOaIFPTpStN3SSLCcRmNOVEgT77sJzBDXY54joNLEuGS7HOLMQbdsKBqJvqyaTDGIAoCOA7geUxKCD54KgzA7iJYzc+ptSWI9r4k2vsT2L5uHgSeg2HaRuhjCSWMMfSH0ugL223IJ9ofjuNykw4RGVnHyZ44hjwONNd7URdwFcpuyjHpPN4dwy//eASmxbD3WAgbljdgy6qmkts6HQIyZcaQtKxD00wEqOvPrGJZDMmMhnA8i2hShckYAm4JQd/sl2SJAo/6gAuhmAzGhhfXysEWUpOIJhTUBVwlvzM8b8eP/kgGQb9zSmVoimYgmlLKylIZScDjRCiuoL7GPSMdsOR8lkoZ++nzSAjHs+gZSmP5guCMZSqNJJXV0DOYQiylwu+WkFUNxNMaOA5wSbZ4HvRJ8Ljs68BMdtc7nbSsI55UbA813vZhFHjO/jnt71IomoGMrCOWUm0hRTUh8jzcLjtL83QxWxR5SKKI3lAaXrejcB08Uzmz9z7Hs88+O+Zj46n0M8lEWSp94TTePR4CB0xpFZGY26xaXIuDpyLgeQ53Xd02qRadhI3X7YDf40Aqq2MwmsHiccycGbNbR6ezGtKyjj1Hh2CaDAubfFhcYecgYnymOx5ftKEFL7/bi1BMxp4jgzh/RAmXUxIRTylQNAMOceqDOzXXtlYzTNQHpm8V5XRh8PWDA2AMWL4giKYKxY/T2byyEW8sGcCRzhh+8eQRfPSmtRW3Evd77M4PsaSKxtrqH5d4SkEio6F2Gttje10i4hkV6axWMB3WDQu9IVvImA4BrRw4joPkECA5BOQjlG5YsCw2KQEZAPbnWimvXza1Vsqn0zo/ALwNtPfZZrUCz0M1DJimBYEvvY8DkQx6QikEvOW1Ic/DcRx8HgketwOZrC2uhHJtXMspu+kdSuNHuw7CtBhqfE7E0yoeeuEEVi2pLblyLUkC4im9rBgSSykQ53jpz5kwPq4U07SQyGgYimULPk9+z+TOr5lAEHjUB90IJ/LCin/CyWMqq6GzP4lUVkND0D3uRNvndiAUlzE0hY6IAJBMa1BUE/6ayV07nZKAlKxhMJKB1+WYdlGgnCyVkdT6XQjHZfg9DrQ0zNyCte1PI6N7yDYszn+O7tzU27IYFM1AJCFjMJaBJApwOwUEvU475rnESWc2TYWsoqO9L4FkRoPAAQz258hxDBxnCyo8b8d7gefgEHg4HAIcIg+HyCMta0imNai6CYHn4XGK8NdIE8ZHv8eBUELGQCR7xrfBnlOiSiAQQCqVGnV/IpFAMDhzaWXVJp3VEI4r8I+RgsgYwxOvdgAANq1spK48ZzHbVjfjSGcUG5Y3YD5lI1XMvHovUtk43joyhJ5QGhlZRzqrIy3rSMsa0lndvk/WS3YquWTT/DM6cJ/LOCURV2xbhEdfbscfX+/E1lVNhVUTgedgMXsla6orZqZpoXsgiWRGm9G0VMtieD1nUJv3kKkGHMfh/VesxDd/9Ta6B1P4t/vewm2Xr8C2Nc2T/i7kV0cHonbWQTXTl2XVQM9QGg6Bn9SqYudAEvtPhLFzy0IEvBN/9oLAw2J2unteVMkbx05H2c9UqOT4huIyBqNZ8DyHNUvrqro/S3NmtXkvBUkUYFm2X0qpSUA4LqN7MA2Ps/KVSJ7j4PdK8FoOpLIaFG3i1t6RhIzvPbwfqmZixcIgPvHe9fjW/XswFJPx6MvtuOPqtlH/U24MyZf+zGZJwZmIblhIpFUIPAdRtIUxUeQnlUmVf47BaAapjA5B4BD0Tk/WXLUQeA71ATciuRbxrfODYwq3saSCzoEkVN0subp/OhzHwe+RCmV1lZQ1mxZDKJ6FU5rYoLYUQa8TkaSC+qCK2grF+nKQVQOhWBZ+V/nXd0Hg4XM70BfKwOeRZiSbRtXtcp/BaBYep1iyuyfPc/C4hsuSNMOEqproydjzYKckwudxIOizzZWnM4tDUQ209yWQlnU01Yw+5yzLzkS0cj+GYUHVTVhZDabFwBgbFlI8EwspI+E4+/s7FM2ixudEjX92yvWqwZwSVZYtWzbKOyWVSiEUCmHZsmWztFdTgzGGoZgM0zThdIw+URhj2PXyKRw4FQEH4LoLlsz8ThIzhtsl4pO3bJjt3TjjmVfvxfHuOF56p7es7Z0OAV63Az63A/MbvThvVfPE/0TMWS7ZtAB/2tODSELBm4cHi0pkRJ5DKqOjaQqdshlj6AtnMBSTURdwzWiHqCOdUcRTKjwuERtXNFb1uRtq3PirD56HX/7xCDr6k/jVU0dx4FQEH7iqDb5JDsR9HkfBu6AatfyAPbDvHUohqxhoCJY/MN9/IoyfP3EIhslw4FQEn/vA5rLej8/pQCylokU3oagG+iOZGSv7mU5U3cQjL9ottJcvCFbd88PnkdBY40YoLqOzP4lVS+tgmlZJATueUtHZn4RD5KsiQPA8h6DPiSDGH3insxq+99B+pLIa5jd48fH3rofLKeKOq9rw3Qffxe4D/di2phnLSnjNCDyHdHb8GJLKUunPZMkqOroGU4XOWzyXKy8QuJz/hQiXJNir34K9+i3mfgsCD003EUupGIplkcpocDoE1JbRVnyuIPAcGoJuRHKdT5bODxYZYedbJncNpsABk8qOdDtFpGUNg9EsWucHJi2MpDIaUlm94uxAh8iD5zgMRDIIeKVpK7MJx2WoujlpnxyPy4FIUkbPYAorFtVOq49JIq2iZyiVy7Z0lf1akihAEgX4IcFiDKpmIp5SEYrJCPokLG0JTosPoKqbaO9PIJnRUR90lTx3eJ6b1uui0yEgq+joDaXgdZ+5PjNzSlTZuXMn/ud//qfIW+XJJ58Ez/O4+OKLZ3nvKiMt67aXSokAkBdUnn+7BwDw/itWlmWORhDnOjvWzkNnfxIcZw/wfW5HQTTJ387/eD2OOZcOTEwNp0PAVdsW4w8vnsRTr3di25phM1dJEpCWNbsUocKBXSgmozeUnpXVz937bYPabWuap2Vg0VDjxuc/sBnPvdWNJ17rwL4TYbT3JXH3NW1Y01p+hxiesw1XB6IZ1I4wEJ0KQ9FhIavcScFrB/rx22ePgTGA5+zsie89tA+fef+mCTv3uJwCwgkN0YSCaFIGxzBrZT/VIpZU8KNdB9EbSkPgOVx53qJpeZ2lLQGE4jLa+5NY01oPi2FUB5J0VkNHfwKMYUZWh/Oomokf/OEAQnEZtX4n/vx9GwrnwvKFNdixzja8/u2zx/ClD543ypTT6bDNaseLIbGU7Tsw1nmqaEZZ5r3nCtGkgu7BFGRFR13AbWcEWQyGZcE0GDTdQlZRYJqs4C91uuhimAwZWYc710VruiZ5Fht+/WrD8xzqgy5EEjJO9cbROj8Ij8sB07I9h3rDaTgd4qRFbgAI+pwIxe34OdnV/kjCFrqmIoYEvE5EkzKi01QWmlV0hGJZ+E7LUjEthqff6Cx4ro11XtT6XAgnZAxEMlMqkxoL02IYimbQF7K72TQE3RWfQ/nrq9spwmIM0aSCk71xLJkXKGRWVgPdMNHZn0Q8paI+UPn+VoOg14lwQsZQNIMF09D9diaYU6OHu+66C7/4xS/w2c9+Fp/61KcwODiIf/3Xf8Vdd92F5uYzb2U5rzqbljXKPIoxhkdeOoU/7bEFlduvXImLN5JxJkGUw4ImH+69e+ts7wYxi1y0sQXPvdWNWErFGwcHcFEufjodApIZDbJmwuee/AAxnlLRPZiCWxIn7WExVRJpFYfabR+MC6tgUDsWPM/h6u2LsWppLX755BEMRrP4/h8O4KINLbh55/KyzQ69bgfCCRnhuDzlWvVEWrXTs92OsoQsxhieebMLj+dKZ3esm4fLtizEf/3uXfQMpfGDP+zHp27dOO574TgODkFANKkgkdbmXNnPZGnvS+DHjx5EOqvD53bgY+9ZVzIToxosnR/Am4cH0dGfzN3DYJrDmSpZRUd7v13CMJ1+RKdjmhZ+9vghdA2m4HWJ+ItbN46ahLz30mU42B7BYDSL597uxrU7ijOEnQ4BSVmDopnwloghsmogldHgcZae+A5EMvjOA+9Acgj4wVeurt6bOwMxLYbBSAY9oTQEjkP9iHIWnucg8cKYMxHLYjBMC6bJoGkWeJ5DY4nShGqgGSaOdsTwzvEQDrZHoOkm3JLdacvjEgsT3PzfHqfdocrtEuHJPeb3SKgNOCfcPz53HKK5FrOLmgOIJmT0RzLwu6WKhV1JFMBBx0A0A79XKjuDJ6voiKeUkkIOYwwvv9sHVTdx+ZaF43YFEngOToeIgUgaNX6pKkL7SMJxZVSWCmMMD/3pRKGr4+GOCO65fk2h7fRIeJ5DwCPZx9kjVbXMRFEN9ITSGIpmq95piOc41AdciKdUnOpNYGlLoColVoZpoXMghXBcRn3ANesZmjzPwe+WMBDJIuBzzqgQXy3mlKgSDAbxs5/9DP/n//wffPazn4XX68Xtt9+Oe++9d7Z3rSIKWSqnnRiMMfzhxZN4Ya9duvCBK1cWJgQEQRDExEiigKu3L8ZDfzqBp9/owva18wq1+aZpQVaMSa/2ZWQdnQNJMDa5LivV4o1DA7CYbQQ6E1mLi5r8+OIHt+KxV9rx4t5evLq/H8e74/jQdauxpGVsA+g8PMfB43RgMJpFXdBdcecJTTfRM5SCZbGyBqMWY3j4hZOF8r+rz1+EGy9qBcdx+ItbN+I/f/cu2vuS+PGug/izm9ePm/HjdTsQScio8TtnfVA5Fd44OIDfPncMpskwv8GLT9y8vmIj4nJobbHFms6BZK7shytkqqi6vfqZyc6sHxFjDL955hgOd0ThEHn82S0bSpameV0OvG/nctz35BE8/UYnNrc1FhlCiyIP07CgaEbJOJDO6lB1s+SKcTKj4fsP70dWMTCv3ntOe3epuonuXAttv0eaMHPsdAqiyzSFYk03cbgjinePh3CoPQr1tMyirGogqxqIJsd4ghKsXFSD916ybMJMiLywEk4qONkTh6waqPE7p5xVG/RKiCZVxJIKGmrK++4l0uqY5/MfX7M77QF2W/J7blgz7rUpXxZaDaF9JFlFRyiehc9dPJ96/u0evLKvDxzs7+2xrji++as9+OhNa0tew1xOEbJmoDeUqpoRbCyloGcwhbSsj9mlaapwHIfagAuJtC2sLDbZlLKBRrW3nyN+RG6XiExCR18ogxULxTmzX+Uyp0QVAFi+fDl++tOfzvZuTJmxslRYbjD4Ym4w+IGrVuKiDSSoEARBTJYL17fgube6EE+r2H2gH5duXgDAdqdPy9qkBh2qbqJrIAlZNVA/jZPRsbAYw2sHbIPaarRRLhdJFHDrZSuwrrUev37qKEJxGd/+7V5cvX0Jrt2+eMJBjdclIhSXEYnLFZlvWxZDXyhtZ4qUMQkwTAu/+uMR7D0WAgC877LluGxEa/oFTT78+fs24L9//y6OdcXw88cP4aM3rR3zfThE/owuu7Usu4w4n/W6cUUDPnjt6oqzrCzGkEip8Lgd44pkzfUeuCQBimaiP5yGyylCNyzohmWnk6ftdPKZFBUef7Udbx4eBM8BH7lxbcFQtxRbVzXhrcODONIZwwPPHsdn3r+xaF85nkNGNlBfItEnmlJKCnWqbuKHjxxALKWiPujC+69cUZX3dSaSzmroHEgikdFQ53eNm+Ewk6i6icPtUbxzPITD7RFoxnDJWq3fiU0rG7FpRQPqgm7IqgFZ0ZFVDciqgaxi/x7+Wy+6L5HRcLw7jv/49R5saWvEjRe1jhvTOI5DQ8CFjKyjfpITW8ZYye+WIPCQHLzdYtk3cbaIYVoIx+WSgteL7/QWBBWXJKAvnMF//GoPbt65DBdvLG32z3McvC4HBiJZ1PhdkxbSxiIcV6DpZpHh695jQ9j1su3DefPOZVi1uA4/eewgQjEZ33ngHbzvsuUl9zPocyIcl9EXSmNJy+T9Z/KYpoWBSAa94Qx4jivLVHiqBH1OpLMaTvUlYJhmRcKtZTH0DKXQH8mg1j89ItBUqPU5EUnYpZvV8mubKeacqHK2UCpL5XRB5Y6r2qra3YEgCOJcwiHyuOb8JXjw+eN45s0u7Fg/D5Io2C0eM7YrfTkp0PlOP7G0WvHAyDAs7Dlmt+zesLy+ZPrxeBzriiGaVOCSBGxeWV2D2nJoW1yL//2/zsPvnj+BPUeH8NTrnTjcEcX/um71uAMbLjeIHsyteE02dT2ckAtdhCaq51Y0Az959CCOdcUh8Bw+eO1qbF3dNGq7pS0B/NnN6/GDhw/gwKkIfvXUUXzoutVndCZKKWTFwM+fOIQjnTEAwHU7luDaC5ZUXBfPGEMkqcDnciCRVsed6PEch6UtARzpjKGjP4l1y+qhaga6B2cnnfzFd3rxzJvdAIA7rl6FdcvG9wfiOA63X7kS3/jFWzjRE8ebhwaxfd2I9uwOAcmMCsvyFb0PWTWQLlH6Y1kM9z1xGN25sqOPv2cdvOdgZyDGGCIJBV2DSeiGNSVfiWqhaiYOtUdsIaUjCn2EkFIXcGHTygZsWtmIxc3F7VzL6SI2kmhCweO727HnyBD2Hgth34kwLto4H9duXzzm9SDfMrwcGGNo70vi9YP9ePd4GG2La/Gh61ePEj/9HgnhuIxQbGKhO5nRkJZHLyS8fWQQD/3pBADg+guW4MIN8/Hrp47gSGcMv3v+BA53RHHXNatKlmh43Q6E4lkMxbJYMm/ijMeJKJWlcqovgV/98QgA4NLNC3DZloXgOA5fvGsrfv30Uew7Ecbvnj+Bjv4k7riqrSgjhedss+vBWBZ+rzSpbDq7A44FVbfQF0ojHJcR8FReslUJPo8EXrGzak2ToaXRV3apF2P2IkZfKI2At7qd+6qFINhdhHpDafg81S2lmm5IVJkG8lkqxogsFcYYHhqRrnzn1W0zuhpJEARxNrJj/Tw8+1YXYikVu/f147KtC4c9EdTS6fsjsSyG3lDlnX4YY9h/MoxdL51COGf29+BztkixZVUTNi5vKGvA9dqBYYPaaqQkV4LH5cA9N6zB+mX1eOC54+geTOHff/U23nvJsnHbkHty2SrhuIyFkzAATMs6eoZScDnECdPeU1kNP/jDAXQPpiA5eHzsPeuwesnYrYJXLqrFR96zFj/edRB7jg5BcvC446q2Ka8kWhbDm4cHsXt/HwJeCSsX1WLloho013lmNCsjFMvih48cwFBMhkPk8cFrV2Nz29TEuFhKhc8lYklLAAORDCIJeVyRMS+qtPclsXFFI2TVRCoro84/s+nke48N4eHcBPDGi5ZixwhxZDzqg25cd8ESPPpyO/7w0kmsba0rTHCdDgGyakDVzaLV9nRWh2qMLpV4+MWTOHAqAlHg8PGb16Ohxg1ZM6r0Ds8MDNNCXyiD/kgakiiU9NIxLQZFMyDkuokIPA+ew6S/O4ZpQdFMqJqR+z3ib92EoplQNAN9oQyOdEShm8VCyuaVjdjU1ohFTb6qfW/rgi78r+vX4Iqti/DoK6dwpDOGl97pxRuHBnDleYsK16bJksxoePPwAN44OIChmFy4f//JMP7rwXfxyVvWFwkzPMfB63YUxOqxJqW2ACYXPos8h9ttIRoALtk0H9fuWAKO4/DJ923AS+/0YtfLp3CoPYp/u+8t3H3t6pIt2/0eCeGYLa5OdoHhdEJxuShLZSiWxY8eOQDDZFi/rB7v27m88Bm6nCI+etNa/GlPDx59+RTePjKEvnAGH7tpLRpHlPg5HQIUjUdvKA2nw24jnW8ZbFpW4W/NsGAYFnTDhG5YI7Zh0A1zUhlGpmnBYoAocFM+5zwuB3ieQ/dQCoZpYVGzf8L9YIxhIJJBTygFv0equFx3MlgWQ1bRkZZ1ZGQdGUVHOpv7Letoqfdi+7p5o8ZdPo+EUFxGXziDZfODZ8yCCIkq45CRdXQP2a3NRIGHKOSdyPncxYADz3GFVlP5vxXNQDghI5gLJIwx/P5PJ/Dyu3bd3x0kqBAEQVQFUeBx7Y4l+M0zx/DMW124YEMLnA4BpmFBLkNUGYpl0RdKIeibfKef7qEU/vDCSZzsTQCwB5JBn4SeoTSOdMbs0gLhGNa21mPLqiasba0rKR6kMhr2n7QNaufCtWHLqia0Lgji108dxbGuGH7/pxM4eCqCu69bVZR+nYfjOPjcDgzFsqivcZeV8q0bFnqGUtB0a0KD2EhCxvce2o9QXIbX7cCf37Iei8tYAV3XWo97rl+Dnz9xCK8dGIDkEIoG4JPlaGcUj7x0Cn3hTOG+/Ofm9zgKAsuKRTWon0QHo0r242ePH7Z9GHxOfPzmdVg0xW4JiYwKUeSwpCWIgFeCJNotbOMpdUxTxKXz7dqYjv4kHAKPeFpBXcA9o6Uex7tj+OUfj4DBngBeff7iSf3/5VsWYk9u4vWHl07hQ9etBmBnwSUyJmTVKJzPjDFEUwokofg7/MKensKC2YeuW4Nl84PnXOcfWR3OUgp6naPKzxhj2HsshIdfOIFUVh/1/0J+TM1zEAS+cNu+jwfPA5pu2cKJbhaZIpdDQ9Bll/a0NWJhY/WElFIsaPLhU7duxLGuGHa9fAo9Q2k8sbsDr+zrw3UXLMGOdS0TZhaYFsORjiheO9CPQ+0R5LuVSw4em1c2YcXCIP7w4kl0Dabwf3/7Dj5164aiOOp15bJFotnC9/R0MoqBRFor8h5r70vgJ48dgmUxbF3VhFsvXzFsLMxxuGzLQqxcWINfPHkYA5Esvv/wfly6eQHee8myoqwHlyQiLevoHkxhXoMXQW9lnlVZRUc4JsOfy1JJZ4c9ixY3+3HPDWtGPS/HcbjivEVY1OzHzx8/hP5wBv/x6z344LWrsWFFQ2G7gEdCOCHjaGcMJmNgFssd5+Fza+QcT+A4cDwHh8DDKXGQxPGNbm0RI4sjnVEc6YzhVG8cRu68dQg8RNFuFz6ydXjxbQEOkYfbKWL72mYsPC3GuyQRPMehL5yBYTEsmecft9wrFJPRNZCC1ynBJVU2/bcshoyiI5XVkM7av1NZHemsViSYZGRbNJEVAxN9Uw+ciuBD166G21W8TzW5Mq1av3NGvbmmAscYm1xkOsO46qqrAADPPvvspP83nlJxuCMCSRRgMQZm2fXG7LRThIP9JeZyXz6OAzTDQmPQDcYYfvf8iYKR0p3XtGHHutkfNBMEcXaRyKjwuRxYVWLVaK4wlXis6SYOnAzD6Rjdlcc0Lfy/P3sT0aSC916yDFduW4RIQsa8eg+WtIzd/SSWVHCiJwHJwU8qVT+RVm3/hkODYLAHSJeftxBXbVsMpyQgFMtiz9Eh7DkawlAsW/g/pyRgw/IGbG1rRNvi2sLK0rNvdeHRl9uxuNk/p7paWbnOD4++dAq6acHvkfCRG9dg+cKaktuH4lksaPRj8bzxJ/iMMfQMpdE9mEJ90D3uBKMvlMb/PLQfqayGWr8Tf3HrxknXWb9xcAC/ftpeeb12x2LccGHrpP6/P5zBrpdP4XBHFADgdoq4cpvdqvh4dxztfYmikgLA9mdYuagWbYtrsGJhTVXaYDLG8NI7vfjDiydhMTtT5GPvWTfpMoXTycg6NMPC8oXBInPbRFrFiZ44BJ4vafqsqAa+8j+vgDHgH/7sAgS80oxm6/SG0vjuA+9A0UxsXNGAj9y4tqKJW+dAEv/3/r1gAP7ito1YtbgWgH0+L272F9p7ZhUdh9ujcDnFwirvvhNh/PTRg2BAIfYAdrySNQPrlzfMyIpwJUwlHo8kkVbRNZhCOqujzu8ctWIeT6l48PnjOHgqMqXXKYVD5OGSBDgl+zOx/xbgynVvC3olrF/WgPmNs2MabDGGd46G8Nir7Ygm7UzGplo3brp4GTYsrx+1T6G4jDcO9uONQ4NIZrTC/Uvm+XHB+hZsbmssTIiHoln8z0P77AwzjwN/fsuGIoNcVTORVQ2sWlJbMkb0DKbQPZRCY40dT/vCaXz3gXchqwbWLK3Dx9+7bsyFBs0w8ejL7QUxsaXei3tuWIOWhmF/KtNiSKZVWGCo9bvQXOeZdIzoHEiiL5RGY40HmmHivx58F50DKdQFXPjCnVvgnyD2JdIqfvb4IbT32W7DV563CDde3Fq45jDGoJvWsHgyxXMko+g41hXD0c4YjnRGkUhrE/9TmWxe2YgbLlpaZKoN2KXH0ZRtTLykJVAy3tgtvJOQRH7MhSaLMXT0JRFOyCMEk2HRJJXVkJZ1VKIaeJwivG4HvG4HfLnfDpHHawf6YZgMDTVufOw9azH/NHPjREaFJPJoW1I3Z+PoSEhUGQdbVImisQzzPGuEymkxBofAAxzw+yJBZVXZaanlYjE7FW2uGQ2d7ViMQdPtdEC3U6TjPwVY7hw+01y+5xrnsqgCDE+cvS4RX/34DhiGBUHksa61vuREKy3rONEdg2mysie8mm7iT3t68OxbXdB0exJ93uom3HRRa8nVfLt+OYM9R4ew99gQYim18JjX7cCmFQ3YuqoJ9z9zDOG4PGfLQgejGfzsscPoj2TAc8B7LlmGy7cuHDU4llUDmmFizdK6ceugo0kFx7vj8LrEcVfMTvbE8cNHDkDRTLQ0ePGp922oWJx46Z1e/D5XIjJy8jseyYyGJ3Z34PWD/WDM7kZyyUY7HX7kwNQwLHQMJHG8O47j3TF0DtidjEbSVOvBykU1WDY/iJqAEwGvlMsIKW+gaJgWfvf88YKZ8flrmnHHVW1TzgpRVAMZVUdrS7CkWDUUy+JUb2LMdPF/u+8t9IUz+OhNa7GpAi8gVTfhEPlJT2aiCQX/32/2IpXVsHxBEJ+6deOU/AF+9/xxvPxuHxqCLvzve7ZBEu3W7G6ngNVL68BxHIZiWZzoiaMpNwnt7E/iP3/3LnTDwkUbWnD7lSsL34lzQVSxLIahWBa9Q2lYjKHGV9xO2GIMr+3vx66XT0HRTAg8h2u2L8YV2xaBAzdcZmHa5RT528P3jbhtMUgiD6dThMthCydOSSzbS2K2MUwLr+7rw1NvdCEj25k6S1sCeO+ly7CwyYd9x8N47UB/IesRsK8R569pxvZ189Ayhpl2IqPiBw8fQG8obZdF3rQOq0eMAcIJu6x1xcKaouugbpg41B4F2HAHtG//9h0kMxqWtgTw6ds2llWGeqg9gl8/fRTprA5R4PDeS5fj0tNKRQ3DQiKrggOHhho3mmrdZZUEZWQdRzqicDoESA4BP3v8EPadCMPjFPGXd25Bc5niumla2PXyqULH1RULa/DhG9ZMKMiU9dwWQ/dAEoc7YzjaGUXXYKpIdHAIPJYvDGL1kjqsXlqLoNcJ3bQNvY2csbdumMP3mVbB8Dv/0zOUwjvHQmAAeA44f+08XLdjSdGYw7QYokkZNT4nlrQEiq6/sZSCUz0J8BxX8j0rqoE3Dg/i5Xd6EYrLox4vhdclwueR4Pc44PdI8HmkglgyUjjxuRzwuB1jfk+7BlP46aMHEUvZ4smdV68q8kljjCEUl7GgyTfK82guQqLKOExGVDkdizH87rnjeHV/PzgAd127CtvXVldQUVQDyaxmt/8zLbglEW7X2CcvUTmWxaDqdq2ubpjgOLtrhkMUkJF1OBw8/B5p1g3ZziRMiyEj64X6aoHnEfTN7ErndGGYdumJqhngeA5+tzStPhmyaiCVtbuntOVWWeci0ymqmBbDN37+JkJxGTdd1IrLti5ERtGxtnX0BF/RDJzsiSOV1ScsPQHseL736BAefbkd8bQtjCxtCeB9O5eX1Xo4/xwd/UnsPTqEd46FkJaLU+CdDgH/+MkLK+7aMt2ouokHnj2Gt48MAbC7zNx9zapRfjGhuIyWes+YKeeyauBYVwyGYY0rkOw/EcbPnzgEw2RonR/AJ2/eMCo9eLI882YXHnulHQDw/itW4JJNC0pup+omXjhNPNu4ogHvubi1qC5/LFTdRHtvwhZZeuLoGUyNmQLtdooFgSXglRD05gQXX/4+J0Sew31/PIJTvQlwnC0KlRK1Joumm0hkVCxu9mP+GCURjDF0D6bRM5Qq6R/w4HPH8cq+Ply+dSFu2bm8rNdVdRPvHAth9/4+dA6kwHG2R0BhUD7yb/fovzkO+O/f70MoJqOlwYvP3755yueGohr4+i/eRCKt4erzF+Omi1ttnw7dwNpl9XA6BBztiiGd0VHjdyKckPF/79+LtKxjzdI6fOLm9UVjr3NBVOkZSqF7MA2PSxyV6ReKZfGbZ44VRIIl8/y485pVY4oD5wqKauC5t7vxpz09hew2ycEX4gzHAauX1GHHunlYt6y+rAU7RTXwk8dsA2+e53DX1W04PzffMAwL8YyCtsV1RVlo4biMY10xNNS4kcnq+PZv9yKcUNBS78XnPrBpUuagqYyGXz99tJDJt2ZpHe6+ZtWoCbymm0hmVIiigIagC011nnFfp6M/if5wBo01bjz8wgm8sLcXgsDh07duHDNbcjz2HhvC/U8fhaZbCHolfOSmtWgd4zpVCk03kc7qSMsa+sIZHOmM4liX3Q57JPPqPVi9pA6rltRi2YLglNtkA3bG5hO7O3Agl+0lCBwu3miXO+bNgi2LIZKU4fdIWDo/CJ/bUWjBbFq26DmSUCyLl97twxuHBqBqdrmiSxKweF5ghFhi//aPFFDcjqougqZlHb944jCOddmG65duXoBbLl1WeA1VM5FRdbQtqkWNf+oZn9MJiSrjUKmoYjGGB589jt0HpkdQsSyGeFoFx3GYV+9Bjd+JVEZDJCEjo+gAOHidDricwlkxQZ0NTNOCopvQNBO6ZUHgODglAW6XA0GvXY/octqiSjyloC+cQSpj16aeSU7Vs4GqmUgrGhizfQgaajxwiLZhWDqrzckWb+Wg6WZhpV7geXhcImp8TiiagWhKhWVa8Hkqr2U9HcYYsqqBjKLD5RDQUONBQ41rTp9/0ymqAHbHgvuePAKPU8TXPr4DKVlD2+Laonpcw7RwqjeBSEJGfRmdKdr7Enj4Bbt2HbDLOt57yTJsbmusvBWjxXC8O4a9R4ew70QYimbisi0L8L7LJteCVVEN2+9rhjwsGGN4ZV8fHn7hJEyLobHWjY/dtK4o5VvRDKiaiVVL60aVjJgWQ3tvHKG4goZgac8Rlmst/cBzx8AYsH5ZPe65cU1VBqYA8Ngr7XjmzS4AwAevXVWYfAD2tfWtw4N4/NV2JHKp94ub/bhl53IsW1D+4Pt0soqOkzmRpWcohWRGQzKtFZlnloNLEvDhG9ZgTev4nW3KwTAtRJMK5jd4sXheYNyymeHvzOjPLf+dWzLPjy/cNX7pWu9QGrsP9OPtI4NQtKl7jtT6nfjLO7eMmixUyv4TYfz40YPgeQ5f+uB5aK73IJqUsXpJPSQHXyj9MUwL3/7NXgzFZCxo9OFzH9g0Kq6fC6LKse4Ykmmt6PibFsMLe3rw5O4O6KYFSeRx48WtuHTTgjPGbHImSKRV/PG1Trx+sB8Ws81zd6ybh/PXNqPWX9rDaDwM08L9Tx8tiN43XdSKq85fBI7jEE+rcDsFrFpSB1HgYVkMx7ptgdDpEPDdB99BXziDuoALf3nH5oqyAVmuVPSRl07CMBl8bgfuunYV1pWIVYpmLwJJDgFNtR401rhHifOFLBVJwBuHhjsR3XP9mpId38plMJrBj3cdwlAsC57ncPMly7BiYQ1SspYTTOxSl7Q87BuSlm0hJS98nY7HKaJtcS1WL63FqsV10zrx7+hL4LFX23GixxYrnQ4Bl21dgMu3LoLbKRY6uLmdIlrqveiPZKBpZiGrxWIMxzpjePGd3oIIBtiZlDs3L8C2Nc2zsrBjWQxP7O4oXJtb5wfwkZvWFjzcYkkF3pxv2VzsWJSHRJVxqERUsRjDA88ex2s5QeXu0wZtUyWfnRL0SVjY5C8KfqZpIZXVEU8piKVUyKoBh2h7BVS6Sq4bFjTDhK5b0E0LDHZp01Secy6Sd5LXNBMmsyDwPJySAK9bRMDjhMspwp0TUUqhGyZCMRkDkQxU3e4MUK1JwNlA3gE8qxlwigKCfifqgy4EPFJBjVZUAz1DKYTiMnxuqSyzy9mEMQZVswfOumnBKQrwuETUBlzwuR2FrDHGmN1iPS4jklCgGSa8LgfcTrGiSTljDBnFQFbR4XaKaKxxl20OOttMJR4bpoXD7VFkZFt4K7VSYlkM3/jFWxiKZXHDhUuxdXUT5jf4Ch4flsXQNZhCXyg9oWt/NKFg18un8M7xEAB78HL1+Yuxc+uCqn63dcPCQCSD+Q3eSXURiKXtdFndtAAG+CdRSjJVOvuT+OljhxDP7cMdV7fhvNXNhcfD8Sya6rxonR8oOsf7w2m09yVRFxgtnFoWw4FTETz3Vhc6B2wBa8e6efjAVW1Vzb4c2YmP44CP3GiXrRztiuGRF08WTGhr/U6855Jl2DIF8Wyi/VBUE8msikRaQzKjIZFRkcxoSGU0JDJaTnxRoRkWmus8+Nh71qK5buor/ZbFEE7IaKrzYGlLoOzV8BM9cciKUZR2HknI+OefvAGB5/Avn7lk1IBX0QzsPRrC7gP96M4Jk4BtHHrB+hact6YZPMfljA01ZGRj+G/FKLo/LduTHdNkqPU78albN1TleIzkx7sOYP/JCJa2BPD5OzYjklDQOt8WnU50x1Hnd+F/HtqHk70J1Pic+MJdW0pOQs8VUSWV1grvvzeUxv1PH0XPUBoA0La4Bndc1XbGmEzOBtGEgrSsYWGzf8qZzhZjePTlU3j+7R4AtnHzrTmhPpyQsXyh3aUsldVsgVAS8KNdB3PlfQ58/o4tFWXmj6Q/nMEvnjyM/lwcXdtah22rm7FuWf2oOYOsGEgpGtySiOY6Dxpq3IVtOvoS6I9kMRjJ4MePHgRjtlB09fbJGVGXQtEM/ObpY4Vr+2QQBbsFdq3faQspS+qwuNk/o4IhYwzHumJ47NWOQkz1uERctW0xLtk0H5JDQCylwGL2tvUBF1TdxFuHB/HSO72FDlIcgDWtdbh08wK0La6dE5n2+0+G8as/HoGimfB7JHz0PWuxbH6wcM1a2hKYsE34bEKiyjicLqowxpBVDMRTKmJpBfGUav+k7d+xlIpERoVpMnAc8MFrV2PbmuYJXqU8LIshkVbBONsQal69Z1yXZ1U3c9krClJZDZphwu0Q4XGJYw7cjZyAoukWdNNeRRIFIWfiaNfP8TyHWEpFKqNBN0y4JBGeM7TkyLQYZEWHrJngeQ5uSYDfK+Um9AJcFXilZBUdA5EsQnEZPICAz1mVY2O3CDTAgYMk8nA4hGk95oZpwWIMIs9P6WKhGSYyWR2GZcHrcqChxj1uiz/TtDAQzaA3lAHPcQjOsPHhRFi5dpCyasBiDE6Hfc7U+FzwusUJhZKsoiOaUBCKy1ByXSU8bkdZFzOLMWSyOmTN7mjTVOtGbcBVtcyXmWCqg/iMrKMnlEY0IcPnkkqm/O89OoSfP3EYLknAvXdvRcArYW3OV6U/nEZHfwpBb+lyLIsxnOpN4O0jg3jr8CAMk4GD3bb5hgtbp2wIWg3ypV71QTcWNPlgGBbC8SyiSRUWYzPWKjGd1fCLJ48UUnYv2TQft+xcDlHgoeomsoqB1UtrC6nJibSKE91xOES+6PuvGxbeOjyI5/d0I5Qb7IkCh6vPX1xo5VltLMbwm6eP4Y1DAxB4Dq3zA4WVP5ck4NodS3DJpgVzYkWMMbv0NN/2c6pYjCEcl1EXdGHZ/OCkFkdKGdcyxvD//OA1pLIaPn/HZiybH7RLhobS2L2/H3uPDkHNdcIReA4bVzTgwg0tWL6wpqJBPGMMmm7ZPizTcA2Mp1R8/RdvQtVM3H7FSqxbXg+/VwJjDKm0hkdfaceeo0NwSgL+8o7No4wV85xLoorH5cDTb3Ti2be6YVkMbqeI9+1cjvPXNs+p6/e5wgt7e/CHF06CwS5b/ND1q6FpJsABq5fWYSgqo2swgUdf7sDBUxG4JAGfu30zFjRVZ7KqGxYeffkUXsyZ2AK2SfumFQ04b3Vzkb9Lfl6VUXR43Q7Mq/fCJQk40R3HUCyLH/zhAHTDwgXrW3DHVSvHPJ9Mi0HTTEhSeWNjxhhefKcXz7zZBQ4c/B4HfB4HfG67vCVf9uJ1O+B3O2zPEI+janG4GjDGsP9kGI+/2oHBqG2IH/BKuHb7EuxYP69gFPzyvj68cXCgkB3okgRsXzcPl2xaMGURbToYimXxk0cPYiBiZxPdstP26ZFVA7phYdWS2gk9eUyLQc9ZNmi6BU03IGsmWuq9E3aEnAokqoyBaTE89PwJ7D02BFk1EE+rSKTsFaOJcDoEfOCqlUUrd1NB0QwkM6WzUyYiH7CSGRWRhIKMosNigDe3qm33YDdhMcAh2gKK2yXC75YKLupOh1AkxOSfM5FWEUkqyMgaAA5elwMuae4EnFJYjEFWDWRVAxxss6W6gAsBn7Nq4hBjDIm0hv5wGrGUCrdTzNWBl//c+cm7otqZM1IuCwKAnVGjm7AYA8dxcIoCHA4ekihMepBpWWzYKMuwYFgMgG0aK3AcDIvBsiwAHMABIme3OxSF3O9c+8PT339WNZBVDAgCh6DPiYagCwGvs+xJSiypoHvI7iYwUUbBdGJZrCA0aroBcHYbuxqfE36vfcGtRNRQNAOxpIKhmIysokNyCPC5pZLnn2UxpGQNmm7C53agqc6LWr/zjMwUq0a3CdO0MBjNoj+cseuE/c6iyZnFGP7tvrcwEMniqm2LcOnmBVi7rN4uwehJ5Lynij+zvnAabx8Zwp6jQ4iPMJNduagGt+xcjgVzYGXEYrawDnCY3+BBc723IPoyxpDK6gjFZESTCkzTrGqp2Zj7ZDE8+VoHnn7DTtldMs+Pj9y0FrV+F8IJGQ01bixfEIRuWDjeHUNGNgp1/bJi4JX9fXhxby9SWbvUxu0Uccmm+bh004KqmAhOtO/3PXkYe4/Zq5U8b9eoX7tjSclON2cL4YQMv8eBZQtqKspuK2Vc+5NHD2LfiTCu2b4YQa8Tuw/0ozeULvxPY60bF65vwflrmssyqJxtXnynFw/96QRckoAv3LUFXrcDpmlPwp57qxs8z+HPb1mPVUvGNgU/V0SVgyciePSV9kKXs40rGvD+K1ZOWYBmzG78wCwGC3b3TY4DxApMjc9F9h4bwi//eARmzpPqE+9dh4xiYH6DF5Gkgj+8cBJ7j4XgEHh86tYNFXmUTMRgNFtYoBhp0h70Sti6ugnnrW7G/Aa7K1M+o1dW7UWjvlAaP3/iMNJZHauX1OLPbtlQcnxkGBZSsgbTZHA5BSiagXPNAsGyGN46Mognd3cUjnN90IWmWg+OdEQLfl6Nte5Cic9cX4xTNRO/eeZo4fp83uomfOCqNqSyGuoCLixfWAOB5+wxum5CMyxouglVM5BRDciKUTACZrDnSpbFsGZpXcmmAtWCRJUxaO9L4C+/+aeSj/ncDtT4najxOe3ffidqfa7C30GvVJVJoMUYEqnys1MmwjQtpOXh8iAAcLtsFTbfItAlCZPad9O0kMxquUwdBYpq2hNEl2PG6vwnIl+mkReU3E4BtQEXgl4n/J7qGi6NxDQtRBIK+iMZZGQdAY80qm50JLphQVENKLoBjuPgkgQEfbZpoWeEYKUbJhTNtNvlKQZSWdU20NUtMIaCia7ksMUWPnfB0ke6ipsWwBh4joND5CE5BHhcDnhcYsFpXeA524ncHHYoVzULqmbYYpxpwTRt0SUfRHiOg2kxeFwi6oNu1Pqd8E5SUMojqwa6B1MIx+UJj101YMwWmLScsm0yBp4DHA4ebkksOJznW8FVA90wEU9pGIplkMroEAQOfo8EUbDNp1OyDt0wEfBKaKz1oNbvmhOr55VSrRaegL1q3jOUQiKXfj5y4vLu8RB++tghOCUBn75tI9oW1yIcl8EYCoP9eErF20cHsefIUKHkA7BXcTatbMS2Nc1YviA4JwZlmmEinlYR8NjC+lg124zZ5s/hEaVmM1FKd7A9gl8+eaQwIL7nhjVonR9AOqujbXFtwXeqocaNZFrDC3t7sHt/fyGDocbnxGVbF+KC9fNmdLBnmhYefvEkFM3ENdsXj2pVebYRT6lwOHgsX1hTsXBUyrj2+be78chLp4q2EwUOm1Y24oL1LXPme1QulsXwf3+zF12DKWxc0YCbL12GPUeH8PirHQCAu65pw45143fpOttFFVk18O3f7sXL7/QBAPweCbdfuQIbV4zfAUozTMiKActiYLlumazIxplD/kzhci1ueQ7geIBZgG7ai4AixxcWk6Yja4kxe/8Ys/eOMYDBvg9F9+e2y/3NcRxEgbOzfIWpt+idCie64/jRLrt7WnOdBx+9cS1cTgGP7+7Am4cGwXPAx967DuuXNUzrfuRb9b51ZBDvHgshO8LYtaXei/NWN2Hr6ibU+l2wGEMkLuOHjxyY0LMomdXAAQj6nWiq9cDnduSqCRTE0yqyigGHYGdGzlUD+FLkzy3kziswVvgujIdhWNh9oB9Pv9GJVHbYCH/N0jrs3LwAbUvmRolPuTDG8OLeXjzy0klYDGhp8OLDN6yBIHCY3+CFbljIKkaha5KVmwA5BB4OkYcj5zeXf8/hRBarFpOoMiUqvWhYFsMDzx5D92AaCxq9OcHEhRpf+avtU2FkdsqCxrEH0ZVid7DhqmoImt/nSFxGKqvbk2unvSo8G19kOwVdh2FacEoCanLCl9/jmJI4NVkUzcBQVEYoloVuWqjxOiGKfJEnh2FYEEUBHpeAGr8TPrctpJRzruXFgILQotpGW6pmiwMWcuKAIEAU7UykfCtTKSegSCI/qUGvabFC6zcjF9AM0xZcPC4JQV91ut2YpoX+cAZ94QwEnkOgiuVAhmFBNeysH8O0wMEWmJySYBsO57JQXJIw7VkhpmkhkdEwFMsikVZhWvZnFvQ60VTnQdDnPCPNe0+nmqIKYMexvnAGA+EMRIEvnB8WY/iPX+1BbyiNiza24KaLWqGoJtxOEe+eCOHtI4M42ZMoDOUFnsPa1nqct7oJa1vr55RwlcpqUHUDzXVezG/0lT1By8g6IgkF4XgWim77+Hgq9PEph0hCxk8ePYTeUBocgBsuWootqxoR9DqRyNgD3Jff6cPbR4cK7YZb6r24YtsibG1rpJbq00wqq8FiDMsX1Ex5PHG6cW1vKI1v/moPAKC5zoML17dg25rmaU2znm76Qml881dvw2LABevn4Y2DA7AYcM32xbjxotZx/9c07cG+BXbWiirf+/0+PJrrpLVj3TzcfOmyMct6WS5DOKPYxtp+j+3JJwo8BAEQcmXGPMcV/+ZtQSV/u9CFUbPHdmlZh6bbWbYjF5Qc45RIM5Zr33xay2YzNynjwIHBXnACZws8HMeBs5N17aRdzpZ+7E2Kt7GY/fmbFoNh2AtOHOydE3kegjD8WxD4aS+d7wun8f2H9+cWHySsWlyLNw4NAhht1F3qWKm6CUW1W/5yHOxFOME+xoLATfp6YhgWDndE8daRQRxsj8A07WsBB2D5wiDOW92Mtw4PjulZJKu2t5JDtMfKjTVuu/PmacdR002kshqiSQXJtJ3pm188rPb13WJ2y2/LYqf9jaL78uMNDsDIWxzHwFj+zBs+t+yHc+eVZYGx3BjVYVcQjCUkqrqJ1/b3I6vqOG91c1mLBSPtHwzLyomZ9mvzHJcTdXJ/cxw4HkXbTKdofrInjp89fgiprA6XJOD2q1ZiUbMfzGTQDAuqZkLR7ex424NLRyb3k5Z1ZBQdmazdpfWf/vxCLFtQM237SqLKOEylpXKl5FO8GQPm1XvR0jC17JTZwLIYMoqORMouD8oqdqmNKPJ2pwrBVhKrOYjOXxRNM1+uYQdQv1dCXcAFn6eyMo1qks5qGIhkEE7IhT72TkmA3yMh6HMWzEurseLCmB1slFwNYj4bRRpjoDHXiSYVdA+mkFV01I1hUjoeZj5FUDeh5bJ0TvcLGimgzFaXAstiSGU1JNIafB4HglXy5JkrVFtUAexzPZays1Yyso4an53Nc+BkGD/adbDQfeJUbwKH2iMwzOFL3vIFQWxd3YRNKxtHtQSdbUyLIZpS4HIIWNjkR33QVdF5KasGInEZobgMWTXgcTngdU2PuKIZJn7//Am8fnAAgL1Ctn55PfYdD+NoznsFAFYsDOLK8xZh9dK6MyqD4Uwlq+hQNBPLFgTRUKXxzOnGtSe64xAEDktbAmfNZ7rrpVN47u3uwu2tq5rwv65fPer9GYZlT/Z1E6ZpgRd4OB08Al4nlszzz1nBcCrxePf+Pjzw3HFcsK4FW1eV7saSz45WdbMq2aunkx/nqLkFJdtvKpe5a+RKl/Ovk1v655AXM1AQNezrvgjJwUPgeYgiZws93AhBJS+e8KcJLflMGm7YI6Sw4GQO/50vTVA0s5Dla+Qm3/lJNpfbQ4yccNu/kP/F5Uqx8/siiXa2zniZ4bGUgu89tL/guwEA79u5HJdtXThqWzPXtEHWDLCcb5zXIyHolaDpVi6WGNAN+70BDAJnZwaIYu53med7VtGx70S4IKKMxCUJ+HzOs2ik74pLElBf40Z9wFX2eZRVdKSzOiIJGSlZh2laE/pBFsQ3i8EyGYycAGeZDBazS+LzghmXEx2EIjGQs4+HwBWOzUjxML/b+fMKpwt1BRHPftxeODWQyGjI5sREkzE4eB6SJMDlKL/KwDQtu6TdMKEZOb8rwRZr3C4RbkmEZQ2fv/lz1c7KYoUsMzOfpTVSMOIAsGFxiB8hwBS+K4UMNPsxUZi4pC+eVvGzxw6hoz+Z21+uIMiViyTy+P99+mKsXjp22eZUIVFlHCYjqli5lXv7h+UC5PAXg8v9wecD4ogvUP5+I1dKM13ZKbOBblhIZe0gkM15hBimCcOwgxWACQWXkSsLhjVcdmJaVm5Vwa6Ht/09ODgdAuqDbvg8lXdYmS7y7bAzsl7Ihpirq1hzjayio3sojUhcRsA7tl9EkQ+KYXvPCLw9yHVJIvzefAaKOOlyN2JqTIeokkdRDfSE0gjFZLiddjbWf/x6T6ETRZ559R6ct7oZW1c1Ffw95hojzWgXNvmqsuJ/uo9PnvzAbeQghx/rdpnp7K8d6Mfvnj9eJGBxADasaMCV5y3CkpbAlN/PmYiVG4TmV/9mAlUzkZJVLJkXQMsYpqqVkjcfFgR+zvjQTDxeYIWJzEhfsHwGwUjhUtNNfOMXbyGaVLB8QRB/cetGiCIPzbAn8apuglkMgsjDlVvE8brtjLBKjO5nmmp3/8mjaAbSsg6Os8vlG2s9o0o0pxMtJ3DZYosBPp8hIgyPM8fyhJsJDHM4w1c3LRiGPVkFhsuIgBElR7msB7scyc5+YRagWxZkxbCbSxhmLpNEKCm0ZBW90Onn9GwrOxvFgGaY4Hkebsnu0Oj3SPDksppP3/98mbSmm5BVOyPA7hZqwTRt0UHg7fE8L9h/C7wtYpVaHIgmFew5OoS3Dg8inlbxsfesw8qFNUjLtojjcYlorHWjLlB5p8N8F8pERkU0aY/DGQBJ4O2YwXIHGTlBILffYk58kyQBLlHImeHmso1y76f49/RmIOmGCVm1P7NUrv2zqpkwLQsCZ4ssToedTVQwbDVs3xEwOzNXcvC236PHAbfTUZb9g2nlBZXirBwz9zfLZ+bkbpuWBdPMne+WBdOwCs9hsdz/WMONMQBbYMmX7TjE4kVgw7TwhxdP4uV3+wr3SSIPr9sBr9sBX+534W9X8f0ms7BxeSOV/0yFaooqpjms3OV/8rVvfK6URhR5SLn6Tjv1y4JlnR4oi2s183VzHIDGWg/m1XvOSBPKcsiXqhRaNRsWNM0cU3DJK/Z5c1SRtzMunJIAlyTmjrkduPPHf64PZIjKMfLlQKE0HKIAn8dhn08lfFCcDgF+jzM3KLDPmTMt6+tsYzpFFWC4VWzPUAqqbiEaV/D9P+yH3+0YZYxXbQop5BYDX2KCVtb+5zMVASxo8BaZ0VYLTTeRkfWiwY05YkEgf22zE7qKU5ntwTKA09LAS62Sdg+l8LPHDiGRVnH+2nm4YutCNJ4lniWmaZt626uWxQPE4VTv4qHV8Oo2lzPhZAVBq1plAUXmnswWFtKKhoVNfixs8k3LeV/KuHY6sazcqrHJCp+DXboB5McLoiBAEFByvMDzgGGy0pkDhcE9VzBmj6dVHO2KYUtbE3iBAxiDJNrPGfA64XXnBHqneMZlFVZTVLEYKyyeOUXbt64u4ILfW9qAnagO+cySvDCSVvQxhRZR4JGWddT4nCUbIdTmsj88zrG7hI7HsCedvT+yauRK8O0JtmWh8F3Nl0QBGCFI2HGP45ArObLb6jbVelBTZXP+gsdkWoWiGpAcdozIi28Cz+VKnGZPfCsXw7Sz0mXVREbWkMzaIoth2iKZJPJw5bLi3S4RTkksiC6zwellUlrBs9E+Z+ScwFfINhsh0Ikij2xOsPW6HZM6J8IJGauXTK+nyty2/50TMITidptHW7G0v3AFdU/K1W/mTHHyX8JRzzLK9GrYpAv538Ccy6yoNhzHFcpQvChe2TpdcDEMBj6XGuYoZLJMTxtF4sxAFHgsbPLB4xLRPZhCJCEXBrg1fmfBB8UpTd4nhjjz4XkOTbUeeF0O9AylwSyGr318BwIlaq4nw+mr34UJHWPgcqJ4PluO5zlYeukJ2nids8o1o50q+fhbznseXnFihU5hmm6nIWdyK4iKbA/eAHsS68itMC1o8OHLHz4fpskmZRJ4uvEjGGDlVh5GXUORW1gc8T/5tPhC/XeR2eXEmTZ5MWLkhN00GUxmC0ocAJ4f/hw5noPEF6+Ci7lsy5HeEPmJQ74LQX61WtNNKLkJvm5Y0NTRZQH5yUZ+zGDl0rDzogxjI9LQufzr2O9/Xr3txTNdsbCxxg1FNYuMa6fC6cfdyKWh27DCApYg2On1HkmAy2HH/Pyxn8x4If/dNox81kDenN02Zvd5HGiq80AUOAS9+WuMPQGjsYg9oYulFBimBY/LgaXzAva1eI6VU56tCAIPr5svymYcS2jJKAZMy0IsrcAliWisc49qhDAV8nOh0zMr7WwG+3ucX5zO3zYME2ou40UzrILPjdctoqkuMG1+coLAI+hzTqqb6lzFnpNK8HnsDj+mxaBqBlTNhJgTVObSgiLPc3bVRm6XXKd9BEVNI4x8NpQt0OmGXV5pWbYoBlkf/QJjIIlCoZRuuiBRZRxcTgFLW4IQcjVxjrwBVgUT+3yN3LR/omcw4wkuBJGH4zjUB93wuBzQdLPQrYgGuEQer9uB5QuD8HlE9IeziCRkcBWt/AMAsyeo/LAQ4s5lP5XKlhMEbjjj47QJWr5zlqIZozpnceDQUj85M9rphOPsckoBGDMa59PA86UQWcUe+Ki6gbQ87MaPLJCXPLh8cSyXz97MOwmMMIjEiJLZoprzYi8DAEU16gLP5zIZWKHjmWUMpyXna8JHp+cO+xjw3HCmiCDwcDsduUw3sWiyLop8QUSrlmBhFrwYhssCDNM+XzTdhCDYNfqlRJtR5p78cOr6dIrLHMdhfqMXimYgFJMhCJVl2ADDglV+tdgpCQg6nXBKufHXiGzUvIA11fdW6NYi8Bhr/TJvHE4ifTH572PA60RDjQsB78w0ciDGZzyhRdNN8Dw3LYatY2HHJQGOCWacth+NLbhIIo3pKkXIfb5nqrA5ci54OvlOpMYk/VTs58W0HxMSVcbBJYloaaBDRBBzEbdTnPZWscSZiyjwWNDoh88tIZ3VKnoO4bRV73wm4kTp7OMNHs0RWQr5Upu8mXStvzIz2tkif1xGDlTy5pEFY2g9l+Ex0uyxIIyMNOUrNn5E/jdy/iN5gaXk8xQfs3wZzMjypsLtUR0a7B+R54u9vXJ/z+REWqiygftMIQo8Fs/zw+sWUUKxmhBBKP6O5T+HuVI2Mlf2Y67RUu/FvHovfFUyniWmj1JCy1yD4zg4RA4OnHkxkJgZ8tlQcxWakRAEQRBnLXMtxdc27BPmRDbKdMBxXKHl42zug8CNmAyfpcd6LuGSRCxo9M/2bhAziM8jzfYuEARBzBnmrtxDEARBEARBEARBEAQxhyFRhSAIgiAIgiAIgiAIogJIVCEIgiAIgiAIgiAIgqgAElUIgiAIgiAIgiAIgiAqgEQVgiAIgiAIgiAIgiCICiBRhSAIgiAIgiAIgiAIogJIVCEIgiAIgiAIgiAIgqgAElUIgiAIgiAIgiAIgiAqgEQVgiAIgiAIgiAIgiCICiBRhSAIgiAIgiAIgiAIogJIVCEIgiAIgiAIgiAIgqgAElUIgiAIgiAIgiAIgiAqgEQVgiAIgiAIgiAIgiCICiBRhSAIgiAIgiAIgiAIogI4xhib7Z2YTjZs2ADTNNHS0jLbu0IQBDFnaWlpwX333Tetr0HxmCAIYmIoHhMEQcwNyo3HZ32mitPphCiKFf1vf38/+vv7q7xHZy50PIqh41EMHY9i6HiMhuJx9aDjUQwdj9HQMSmGjkcxFI+rBx2P0dAxKYaORzFn4/E46zNVpsJVV10FAHj22WdneU/mBnQ8iqHjUQwdj2LoeFQXOp7F0PEoho7HaOiYFEPHo3rQsSyGjsdo6JgUQ8ejmLPxeJz1mSoEQRAEQRAEQRAEQRDTAYkqBEEQBEEQBEEQBEEQFUCiCkEQBEEQBEEQBEEQRAWQqEIQBEEQBEEQBEEQBFEBJKoQBEEQBEEQBEEQBEFUAIkqBEEQBEEQBEEQBEEQFUAtlQmCIAiCIAiCIAiCICqAMlUIgiAIgiAIgiAIgiAqgEQVgiAIgiAIgiAIgiCICiBRhSAIgiAIgiAIgiAIogJIVCEIgiAIgiAIgiAIgqgAElUIgiAIgiAIgiAIgiAq4KwVVZ544gl8+tOfxs6dO7F582bccsstePDBB3F6s6MHHngA1113HTZs2ICbb74Zzz///KjnSqVS+MpXvoLt27djy5Yt+Mu//EsMDQ2N2m7Pnj248847sXHjRlxxxRX4/ve/P+r1ZouZPh7f+c53sGrVqlE/v/71r6f1fZZLtY6Hpmn413/9V3zoQx/C5s2bsWrVKkSj0ZKveS6cH+Uej3Pl/Ni3bx/+9m//Ftdccw02bdqEa6+9Ft/85jeRzWZHveZcPj+mCsXjYigeF0PxuBiKx6OhmFw9KB4XQ/F4NBSTi6GYXAzF4zFgZyl33HEHu/fee9ljjz3GXn31Vfbv//7vbPXq1ew73/lOYZtHH32UrVq1in3rW99iu3fvZl/72tfY2rVr2d69e4ue6+Mf/zjbuXMne+yxx9gzzzzD3vOe97Cbb76Z6bpe2Kajo4Nt3ryZffazn2Wvvvoq+8lPfsLWrVvHfvjDH87UWx6XmT4e3/72t9nGjRvZ3r17i37C4fBMveVxqdbxSCQSbNu2bexjH/sY+/jHP87a2tpYJBIZ9XrnyvlR7vE4V86Pr3/96+zuu+9m999/P3vttdfYfffdx7Zv387uueeeoteb6+fHVKF4XAzF42IoHhdD8Xg0FJOrB8XjYigej4ZicjEUk4uheFyas1ZUKXWSfvWrX2Vbt25lpmkyxhi79tpr2Re/+MWibe688072Z3/2Z4Xbe/bsYW1tbeyll14q3Hfy5Em2atUq9thjjxXu+9rXvsauuOIKpqpq4b5vfvObbNu2bUX3zRYzfTy+/e1vs82bN1f7bVSNah0PxhizLIsxxtjvfve7MQPkuXJ+MFbe8ThXzo9Sz/PII4+wtrY2tn///sJ9c/38mCoUj4uheFwMxeNiKB6PhmJy9aB4XAzF49FQTC6GYnIxFI9Lc9aW/9TV1Y26b82aNUin08hms+ju7kZHRwduuOGGom1uvPFG7N69G5qmAQBefPFFBAIBXHzxxYVtli1bhjVr1uDFF18s3Pfiiy/iqquugiRJRc+VTCaxd+/ear+9STPTx2OuU63jAQAcx034eufK+QGUdzzmOtU6HqWeZ+3atQBQlBI818+PqULxuBiKx8VQPC6G4vFoKCZXD4rHxVA8Hg3F5GIoJhdD8bg0Z62oUoq3334bzc3N8Pl8OHXqFACgtbW1aJvly5dD13V0d3cDAE6dOoXW1tZRX4Jly5YVniObzaK/vx/Lli0btQ3HcYXt5hrTdTzyKIqCCy64AGvXrsWNN96I3/72t9P4bqZOJcejHM6l82MynKvnx9tvvw0AhfPhTD0/pgrF42IoHhdD8bgYisejoZhcPSgeF0PxeDQUk4uhmFwMxWNAnO0dmCneeustPP744/ibv/kbAEAikQAABAKBou3yt/OPJ5NJ+P3+Uc8XDAZx4MABALYxVannkiQJbre78Fxziek8HgCwePFifOlLX8LatWuhqip27dqFr33ta0ilUvjEJz4xLe9pKlR6PMrhXDo/yuVcPT+i0Si+853v4KqrrsLSpUsBnJnnx1SheFwMxeNiKB4XQ/F4NBSTqwfF42IoHo+GYnIxFJOLoXhsc06IKgMDA7j33nuxY8cOfPjDH57t3Zl1ZuJ43HLLLUW3L7/8cui6jv/+7//Ghz/8YTgcjml53Uqg86MYOj+Kqdbx0HUdX/ziFwEA//AP/1ClvTvzoO9bMfR9K4bOj2Lo/BgNxeTqQd+3Yuj7Nho6R4qhc6QYisfDnPXlP8lkEp/85CdRU1OD73znO+B5+y0Hg0EAwwrYyO1HPh4IBJBOp0c9byKRKGyTV6ZPfy5N0yDLcmG7ucBMHI+xuOGGG5BKpdDV1TXl91Etpno8yuFcOj+mwtl8fjDG8JWvfAX79u3DD37wAzQ1NRUeO5POj6lC8bgYisfFUDwuhuLxaCgmVw+Kx8VQPB4NxeRiKCYXQ/G4mLNaVFEUBZ/61KeQSqXwwx/+sCgtL1+bdXot1qlTp+BwOLBo0aLCdu3t7aN6Ybe3txeew+PxoKWlZdRz5f/v9Dqw2WKmjseZQjWORzmcS+fH2UQ1j8c3vvENPPHEE/jP//xPrF69uuixM+X8mCoUj4uheFwMxeNiKB6PhmJy9aB4XAzF49FQTC6GYnIxFI9Hc9aKKoZh4Atf+AJOnTqFH/7wh2hubi56fNGiRVi6dCmefPLJovsff/xxXHjhhQWH4Z07dyKRSGD37t2Fbdrb23Ho0CHs3LmzcN/OnTvx7LPPQtf1oucKBALYsmXLdLzFSTHTx6MU+eOxePHiKr2ryqnW8SiXc+X8mApn6/nx/e9/Hz/96U/x9a9/HRdeeGHJ15vr58dUoXhcDMXjYigeF0PxeDQUk6sHxeNiKB6PhmJyMRSTi6F4XJqz1lPlH//xH/H888/jy1/+MtLpNN55553CY2vXroUkSfj85z+PL33pS1i8eDF27NiBxx9/HPv27cN9991X2HbLli245JJL8JWvfAV/8zd/A6fTiW9961tYtWoVrr322sJ2n/jEJ7Br1y781V/9Fe6++24cO3YMP/rRj3DvvfdW5cs0VWb6eNx222143/veh2XLlkFRFOzatQtPPfUUvvKVr8yJWsBqHQ8AeOGFFyDLcsGI7Pnnn4fX68WKFSuwYsUKAOfO+QGUdzzOlfNj165d+OY3v4mbb74ZCxcuLHqexYsXF9rJzfXzY6pQPC6G4nExFI+LoXg8GorJ1YPicTEUj0dDMbkYisnFUDwuDcdOz1M7S7jyyivR29tb8rFnn30WCxcuBAA88MAD+MEPfoC+vj60trbii1/8Iq644oqi7VOpFP7lX/4FTz/9NAzDwCWXXIKvfvWro5S5PXv24Otf/zoOHz6Muro6fOhDH8InP/nJOdGTfKaPxxe+8AXs27cP4XAYHMehra0N99xzD26++ebpe5OToJrHY6zn+tznPofPf/7zhdvnyvlRzvE4V86PL3/5y3jooYdKPs+//Mu/4Lbbbivcnsvnx1SheFwMxeNiKB4XQ/F4NBSTqwfF42IoHo+GYnIxFJOLoXhcmrNWVCEIgiAIgiAIgiAIgphOzlpPFYIgCIIgCIIgCIIgiOmERBWCIAiCIAiCIAiCIIgKIFGFIAiCIAiCIAiCIAiiAkhUIQiCIAiCIAiCIAiCqAASVQiCIAiCIAiCIAiCICqARBWCIAiCIAiCIAiCIIgKIFGFIAiCIAiCIAiCIAiiAkhUDvEbzgAABp9JREFUIYg5zJtvvonvfve7SKVSs70rBEEQ5zwUkwmCIOYGFI+JuQSJKgQxR+nt7cVnP/tZ+Hw++P3+2d4dgiCIcxqKyQRBEHMDisfEXINEFYIYg1/+8pdYtWoVPvCBD8z4a+u6jnvvvRe33norPvrRj8746xMEQcw1KCYTBEHMDSgeE0QxJKoQxBjs2rULCxYswL59+9DZ2Tmjr33ixAnceOON+PKXvzyjr0sQBDFXoZhMEAQxN6B4TBDFkKhCECXo7u7G3r178bd/+7eoq6vDrl27ZvT116xZg49+9KPgOG5GX5cgCGIuQjGZIAhibkDxmCBGQ6IKQZRg165dCAaDuOyyy3DdddeNumD09PRg1apV+NGPfoTf/OY3uPrqq7F+/Xq8//3vx759+4q2/fKXv4wtW7ZgcHAQn/nMZ7BlyxZccMEF+MY3vgHTNIu2tSwLP/3pT3HTTTdhw4YNuOiii/D3f//3SCQSo/bxhRdewAc/+EFs3rwZW7ZswZ//+Z/j+PHj1T8YBEEQswzFZIIgiLkBxWOCGA2JKgRRgl27duGaa66BJEl4z3veg46OjlEXAgB49NFH8aMf/Qh33nknvvCFL6C3txef//znoet60XamaeITn/gEampq8Nd//dfYvn07fvzjH+M3v/lN0XZ///d/j3/7t3/D1q1b8Xd/93e47bbbsGvXLnziE58oes6HH34Yn/rUp+DxePClL30Jn/nMZ3DixAl88IMfRE9Pz/QcFIIgiFmCYjJBEMTcgOIxQZSAEQRRxP79+1lbWxt75ZVXGGOMWZbFdu7cyf75n/+5sE13dzdra2tj27dvZ/F4vHD/M888w9ra2thzzz1XuO9v/uZvWFtbG/vud79b9Drve9/72K233lq4/eabb7K2tjb2yCOPFG334osvFt2fTqfZtm3b2Fe/+tWi7UKhEDvvvPNG3U8QBHEmQzGZIAhibkDxmCBKQ5kqBHEau3btQkNDA3bs2AEA4DgON954Ix5//PFRqYg33ngjgsFg4fa2bdsA2PWmp3P33XcX3T7vvPOKFPMnn3wSfr8fF198MaLRaOFn3bp18Hg8eP311wEAr776KpLJJG666aai7Xiex6ZNmwrbEQRBnA1QTCYIgpgbUDwmiNKIs70DBDGXME0Tjz32GHbs2FEUzDdu3Igf//jH2L17Ny655JLC/S0tLUX/n794JJPJovudTifq6upGbTuyDrSzsxOpVAoXXnhhyX2LRCIAgI6ODgDARz7ykZLb+Xy+8d4iQRDEGQPFZIIgiLkBxWOCGBsSVQhiBK+99hpCoRAee+wxPPbYY6Me37VrV9EFQxCEks/DGCu6PdZ2I7EsC/X19fj3f//3ko/nLzj55/7Xf/1XNDY2jtqunNciCII4E6CYTBAEMTegeEwQY0OiCkGMYNeuXaivr8ff//3fj3rs6aefxtNPP41//Md/nJbXXrx4MXbv3o2tW7fC5XKNud2iRYsAAPX19bjoooumZV8IgiDmAhSTCYIg5gYUjwlibMhThSByKIqCp556Cpdffjmuv/76UT8f+tCHkMlk8Nxzz03L699www0wTRP/9V//NeoxwzAK6ZKXXnopfD4fvve9741yUAeAaDQ6LftHEAQxk1BMJgiCmBtQPCaI8aFMFYLI8dxzzyGTyeDKK68s+fjmzZtRV1eHRx55BBs3bqz662/fvh133nknvve97+Hw4cO4+OKL4XA40NHRgSeffBJ/93d/h+uvvx4+nw//8A//gL/+67/GbbfdhhtvvBF1dXXo6+vDCy+8gK1bt5ZcRSAIgjiToJhMEAQxN6B4TBDjQ6IKQeR45JFH4HQ6cfHFF5d8nOd5XH755di1axfi8fi07MM//dM/Yf369bj//vvxrW99C4IgYMGCBbj55puxdevWwnbvfe970dTUhO9///v40Y9+BE3T0NzcjG3btuG2226bln0jCIKYSSgmEwRBzA0oHhPE+HDsdLcggiAIgiAIgiAIgiAIYkLIU4UgCIIgCIIgCIIgCKICSFQhCIIgCIIgCIIgCIKoABJVCIIgCIIgCIIgCIIgKoBEFYIgCIIgCIIgCIIgiAogUYUgCIIgCIIgCIIgCKICSFQhCIIgCIIgCIIgCIKoABJVCIIgCIIgCIIgCIIgKoBEFYIgCIIgCIIgCIIgiAogUYUgCIIgCIIgCIIgCKICSFQhCIIgCIIgCIIgCIKoABJVCIIgCIIgCIIgCIIgKoBEFYIgCIIgCIIgCIIgiAr4/wNIGsI41YrFtwAAAABJRU5ErkJggg==\n" - }, - "metadata": {} + "output_type": "stream", + "name": "stdout", + "text": [ + "Processus FireActivity terminée\n" + ] } ] }, { "cell_type": "code", "source": [ - "rel_data=Thermal_anomalies_Anual.groupby(['Zone_Climatique','Année','Mois'])['FRP'].count().reset_index()\n", - "South_Zone = rel_data[rel_data[\"Zone_Climatique\"] == 'South_Zone']\n", - "South_Zone[\"cum_percent\"] = 100 * (South_Zone[\"FRP\"].cumsum()/South_Zone[\"FRP\"].sum())\n", - "South_Zone" + "codesoil=40 #Changer code soil-> 10:TreeCover, 20:Shrubland, 30: Grassland, 40 Cropland\n", + "\n", + "grid = geemap.fishnet(ee.Geometry.BBox( -84.0, -30.0, -62.0, 12.0).buffer(1000), h_interval=4.5, v_interval=6.1, delta=1)\n", + "gridSize=grid.size().getInfo();\n", + "gridList=grid.toList(gridSize);\n", + "\n", + "for i in tqdm(range(gridSize)):\n", + " AOI = ee.Feature(gridList.get(i)).geometry()\n", + " MOD_soil_Area = Cover_surface(codesoil,datasets[\"datacountries\"],datasets[\"WorldCoverESA\"],datasets[\"dem30m\"],datasets[\"andes\"])\n", + " task = ee.batch.Export.table.toDrive(\n", + " collection=MOD_soil_Area,\n", + " description=f'Cropland_Area_part{i}', #Changer name soil-> 10:TreeCover, 20:Shrubland, 30: Grassland, 40 Cropland\n", + " folder='Inter_data_ThermalAnomalies',\n", + " fileFormat='CSV')\n", + " task.start()\n", + " print(f\"Execution part: {i}\")\n", + "print(\"Processus Extraction surfaces WordlCover in GEE terminée\")" + ], + "metadata": { + "id": "tx_P1u_iT5lw" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## *5. Data Filtering Pre-Qgis*" + ], + "metadata": { + "id": "UpQpdq3lS2Kj" + } + }, + { + "cell_type": "code", + "source": [ + "# -*- coding: utf-8 -*-\n", + "\"\"\"\n", + "Created on 11/07/2024 17 17:31:36\n", + "Version 3.0.0\n", + "@author: jvilla\n", + "\"\"\"\n", + "def filtZonesSeches(dir_csv,dir_out):\n", + "\t\"\"\"\n", + "\tThis function takes a CSV file and filters by soil coverage, reduces columns and rename columns/elements.\n", + "\n", + "\tParameters:\n", + "\t-------------\n", + "\tdir_csv: str\n", + "\t\tPath to the CSV file to filter.\n", + "\tdir_out: str\n", + "\t\tPath to the output CSV file.\n", + "\n", + "\tReturns:\n", + "\t-------------\n", + "\tdf: pd.DataFrame\n", + "\t\tFiltered DataFrame.\n", + "\t\"\"\"\n", + "\ttry:\n", + "\t\t# Read the CSV file\n", + "\t\tdf = pd.read_csv(dir_csv)\n", + "\n", + "\t\t# Filter by soil coverage 10:Tree cover, 20:Shrubland, 30:Grassland and 40:Cropland\n", + "\t\tdf = df[df['wc'] <= 40]\n", + "\n", + "\t\t# Reduce columns and rename elements\n", + "\t\tdf['month'] = pd.DatetimeIndex(df['acq_date']).month\n", + "\t\tdf['year'] = pd.DatetimeIndex(df['acq_date']).year\n", + "\t\tnew_df=df.iloc[:,[1,2,6,8,9,13,12,15,16,10,11]]\n", + "\t\tnew_df.columns=['Zone_Climatique','Date_Acquisition','Pays','Elevation(m)','FRP','WordlCover','Satellite','Mois','Annee','Lat(°)','Long(°)']\n", + "\t\tnew_df['WordlCover']=new_df['WordlCover'].replace([10, 20, 30, 40], [\"Tree cover\", \"Shrubland\", \"Grassland\", \"Cropland\"])\n", + "\n", + "\t\t# Write the filtered DataFrame to a CSV file\n", + "\t\tnew_df.to_csv(dir_out, index=False)\n", + "\t\tprint(\"Processus Nettoyage des données MCD14ML en Pandas terminée\")\n", + "\n", + "\t\treturn new_df\n", + "\texcept Exception as e:\n", + "\t\tprint(f\"An error occurred: {e}\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 424 + "height": 17 }, - "id": "oT0tmIpei4Ja", - "outputId": "f454032e-1387-479c-cf17-23363c011071" + "id": "ltUFq6YsWC4B", + "outputId": "d5a2219e-e74c-4f5d-bda4-9344e4ffcac7" }, "execution_count": null, "outputs": [ @@ -2606,381 +1321,21 @@ ] }, "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " Zone_Climatique Année Mois FRP cum_percent\n", - "0 South_Zone 2000 11 37 0.427597\n", - "1 South_Zone 2000 12 5 0.485381\n", - "2 South_Zone 2001 6 2 0.508494\n", - "3 South_Zone 2001 7 40 0.970762\n", - "4 South_Zone 2001 8 36 1.386802\n", - ".. ... ... ... ... ...\n", - "189 South_Zone 2022 8 107 92.638391\n", - "190 South_Zone 2022 9 135 94.198544\n", - "191 South_Zone 2022 10 250 97.087715\n", - "192 South_Zone 2022 11 210 99.514619\n", - "193 South_Zone 2022 12 42 100.000000\n", - "\n", - "[194 rows x 5 columns]" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Zone_ClimatiqueAnnéeMoisFRPcum_percent
0South_Zone200011370.427597
1South_Zone20001250.485381
2South_Zone2001620.508494
3South_Zone20017400.970762
4South_Zone20018361.386802
..................
189South_Zone2022810792.638391
190South_Zone2022913594.198544
191South_Zone20221025097.087715
192South_Zone20221121099.514619
193South_Zone20221242100.000000
\n", - "

194 rows × 5 columns

\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "
\n", - "\n", - "\n", - "
\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "
\n", - "
\n", - "
\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "South_Zone", - "summary": "{\n \"name\": \"South_Zone\",\n \"rows\": 194,\n \"fields\": [\n {\n \"column\": \"Zone_Climatique\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"South_Zone\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Ann\\u00e9e\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 2000,\n \"max\": 2022,\n \"num_unique_values\": 23,\n \"samples\": [\n 2015\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Mois\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3,\n \"min\": 1,\n \"max\": 12,\n \"num_unique_values\": 12,\n \"samples\": [\n 4\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FRP\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 59,\n \"min\": 1,\n \"max\": 331,\n \"num_unique_values\": 84,\n \"samples\": [\n 232\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cum_percent\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 29.02490206854271,\n \"min\": 0.4275973650756963,\n \"max\": 100.0,\n \"num_unique_values\": 194,\n \"samples\": [\n 66.33537501444586\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 186 } ] }, { "cell_type": "code", "source": [ - "sns.relplot(data=South_Zone,x=\"Année\", y=\"cum_percent\"\n", - "#,col=\"Zone_Climatique\",kind='scatter'\n", - ")" + "filtZonesSeches(\"/content/drive/MyDrive/ content drive MyDrive PFE_CIRAD_AMAP/MODWorldCoverv5.csv\",\"/content/drive/MyDrive/PFE_CIRAD_AMAP/1_MCD14ML/Inter_data_ThermalAnomalies/MODWorldCover_fil.csv\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 518 + "height": 34 }, - "id": "_-0XxNsdkqbF", - "outputId": "2d21a165-cc0a-48e0-ba08-cd55b8355872" + "id": "TFY1ToAP3h9t", + "outputId": "68342159-4279-4522-8e44-bc1abb02e8fb" }, "execution_count": null, "outputs": [ @@ -3019,31 +1374,116 @@ "metadata": {} }, { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 187 + "output_type": "stream", + "name": "stdout", + "text": [ + "Processus Nettoyage des données MCD14ML en Pandas terminée\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## *6. Use of ST-DBSCAN Cluster Spatio-Temporal in Qgis*" + ], + "metadata": { + "id": "znq0p9xP2zns" + } + }, + { + "cell_type": "markdown", + "source": [ + "## *7. Data Filtering Post-Qgis*" + ], + "metadata": { + "id": "T5pI8LRDWHfD" + } + }, + { + "cell_type": "code", + "source": [ + "# -*- coding: utf-8 -*-\n", + "\"\"\"\n", + "Created on 16/07/2024 14:05:23\n", + "Version 2.1.0\n", + "@author: jvilla\n", + "\"\"\"\n", + "def filClusters(dir_csv,dir_out):\n", + "\t\"\"\"\n", + "\tThis function takes a CSV file and filters by cluster ID.\n", + "\n", + "\tParameters:\n", + "\t-------------\n", + "\tdir_csv: str\n", + "\t\tPath to the CSV file to filter.\n", + "\tdir_out: str\n", + "\t\tPath to the output CSV file.\n", + "\n", + "\tReturns:\n", + "\t-------------\n", + "\tdf: pd.DataFrame\n", + "\t\tFiltered DataFrame.\n", + "\t\"\"\"\n", + "\ttry:\n", + "\t\t# Read the CSV file\n", + "\t\tdf=pd.read_csv(dir_csv)\n", + "\n", + "\t\t# Separate rows with and without cluster IDs\n", + "\t\tdf_slice1=df[df['CLUSTER_ID'].isna()]#Independent Fires\n", + "\t\tdf_slice2=df[~df['CLUSTER_ID'].isna()]#Interdependent Fires\n", + "\n", + "\t\t# Sort and remove duplicates\n", + "\t\tdf_slice2=df_slice2.sort_values(by=['Date_Acquisition'])\n", + "\t\tdf_slice2= df_slice2.drop_duplicates(subset=[\"CLUSTER_ID\"],keep='first')\n", + "\n", + "\t\t# Combine the slices back together\n", + "\t\tdf=pd.concat([df_slice1,df_slice2],axis=0,ignore_index=True)\n", + "\n", + "\t\t# Ensure only the first 11 columns are included in the output\n", + "\t\tdf=df.iloc[:,:11]\n", + "\n", + "\t\t# Write the filtered DataFrame to a CSV file\n", + "\t\tdf.to_csv(dir_out, index=False)\n", + "\n", + "\t\tprint(\"Processus Nettoyage des données MCD14ML en Post Clustering terminée\")\n", + "\n", + "\t\treturn df\n", + "" + ], + "metadata": { + "id": "9XGijsb3-2UP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "filClusters('/content/drive/MyDrive/PFE_CIRAD_AMAP/1_MCD14ML/Inter_data_ThermalAnomalies/MODWorldCover_fil_stdscan15j.csv','/content/drive/MyDrive/PFE_CIRAD_AMAP/1_MCD14ML/Outputs_ThermalAnomalies/MCD14ML_TA.csv')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "JO6plpYXV2d5", + "outputId": "e94dffef-9303-4b27-dd3e-88b89aa25afa" + }, + "execution_count": null, + "outputs": [ { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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wy233ILCwkKMHj0aa9asgVardevjJ598grvuugtFRUXQaDS4//77ce7cueBfDKIIxEAmihO7du3CL3/5S0gkEkyfPh1VVVVuQQsA77//PrZu3Yq5c+fikUceweXLl7F06VKXDeABoKmpCQsWLEB6ejp+//vf44YbbsCrr76K7du3uxy3Zs0arF+/HkOHDsUf//hHzJo1C7t27cKCBQtczvmPf/wDixYtglwux2OPPYaHHnoI3377Le666y5cunSpYy4KUSQRiCjmnTp1SsjPzxc+++wzQRAEweFwCOPGjRPWrl3rPKa6ulrIz88XbrjhBqGhocH5+kcffSTk5+cLH3/8sfO1xx9/XMjPzxfKyspcPue2224TZs6c6fz56NGjQn5+vvDee++5HHfgwAGX1w0GgzBs2DDhiSeecDmupqZG+MUvfuH2OlEs4giZKA7s2rULnTt3xogRIwAAIpEI06ZNQ3l5udst5mnTpkGpVDp/HjZsGIDmOeifu/POO11+/sUvfuEymt2zZw9SU1MxZswY1NXVOf83aNAgyOVyHDlyBABw8OBB6HQ63HLLLS7HJSQkQK1WO48jimVJ4e4AEXWspqYm7N69GyNGjHAJyyFDhuDVV1/FoUOHMHbsWOfrWVlZLu9vCWedTufyulQqRUZGhtuxP50bvnjxIvR6PUaNGuWxb7W1tQCAqqoqAMCvf/1rj8elpKR4+xWJYgIDmSjGHT58GDU1Ndi9ezd2797t1r5r1y6XQE5MTPR4HkEQXH5u7bifcjgcyMzMxJ///GeP7S2B3nLu559/HiqVyu04fz6LKNoxkIli3K5du5CZmYk1a9a4te3duxd79+7F008/3SGfnZ2djUOHDmHo0KFITk5u9bhevXoBADIzMzF69OgO6QtRpOMcMlEMs1gs+PDDD3HTTTdhypQpbv+7++67YTQa8fHHH3fI50+dOhVNTU14+eWX3doaGxudt8GLi4uRkpKCv/3tb26ruQGgrq6uQ/pHFEk4QiaKYR9//DGMRiPGjx/vsb2oqAgZGRl47733MGTIkKB//g033IC5c+fib3/7G06fPo0xY8ZALBajqqoKe/bswR//+EdMmTIFKSkpeOqpp/D73/8es2bNwrRp05CRkYHvv/8en3zyCYYOHepxhE8USxjIRDHsvffeg1QqxZgxYzy2JyQk4KabbsKuXbvQ0NDQIX145plnMHjwYLz11lvYuHEjEhMT0aNHD5SUlGDo0KHO42699VZ06dIFr7zyCrZu3QqbzYauXbti2LBhmDVrVof0jSiSiISfr9QgIiKikOMcMhERUQRgIBMREUUABjIREVEEYCATERFFAAYyERFRBGAgExERRQAGMhERUQRgIBMREUUABjIREVEEYCATERFFAAYyERFRBGAgExERRQAGMhERUQT4/67XTZCdjrsDAAAAAElFTkSuQmCC\n" - }, - "metadata": {} + "output_type": "stream", + "name": "stdout", + "text": [ + "Processus Nettoyage des données MCD14ML en Post Clustering terminée\n" + ] } ] }, { "cell_type": "markdown", "source": [ - "## **🐘 Soil Surface** #" + "## **8. Soil Surface** #" ], "metadata": { "id": "stIUBWIwb5t0" @@ -3054,18 +1494,27 @@ "source": [ "# -*- coding: utf-8 -*-\n", "\"\"\"\n", - "Created on Mon Apr 22 14:14:48 2024\n", - "Version 1.0\n", + "Created on 16/07/2024 15:40:41\n", + "Version 1.1.0\n", "@author: jvilla\n", "\"\"\"\n", + "def merge_csv_SurfaceSoil(dir,pays):\n", + " \"\"\"\n", + " This function merge csv files into one and summarize by Sum of area\n", "\n", - "import os\n", - "from pathlib import Path\n", - "import glob\n", - "import pandas as pd\n", - "from tqdm.notebook import tqdm\n", + " Parameters:\n", + " -------------\n", + " dir: str\n", + " Directory of the input CSV files.\n", + " pays: list\n", + " List of countries.\n", + "\n", + "\tReturns:\n", + "\t-------------\n", + " ALL_csv: pd.DataFrame\n", + " Merged DataFrame.\n", + " \"\"\"\n", "\n", - "def merge_csv_SurfaceSoil(dir,pays):\n", " for i in tqdm(range(0,len(pays))):\n", " name=pays[i]\n", " path_fil=os.path.join(dir,f'*{name}*.csv')\n", @@ -3073,7 +1522,8 @@ " All_csv = pd.concat(map(pd.read_csv, list_files), ignore_index=True)\n", " All_csv = All_csv.groupby(['ADM0_NAME'])['area'].sum().reset_index()\n", " All_csv.to_csv(f'{dir}/{name}_all.csv', index=False, encoding='utf-8-sig')#testee dans le code integree\n", - " print(f\"Merge csv Terminée étape {i}/3\")" + " print(f\"Merge csv Terminée étape {i}/3\")\n", + " return ALL_csv" ], "metadata": { "id": "3BBAs30euJPu"