From ae6cc8c963e18aeeee73a95fafbceb26132c9868 Mon Sep 17 00:00:00 2001 From: romainsacchi Date: Wed, 27 Sep 2023 18:17:45 +0200 Subject: [PATCH] Biofuels inventories were not importing correctly. --- dev/test_premise.ipynb | 1905 ++--------------- .../additional_inventories/lci-biofuels.xlsx | Bin 253194 -> 253228 bytes .../additional_inventories/migration_map.csv | 8 +- premise/electricity.py | 7 +- premise/export.py | 2 +- 5 files changed, 138 insertions(+), 1784 deletions(-) diff --git a/dev/test_premise.ipynb b/dev/test_premise.ipynb index 0ab5fa82..88cb851f 100644 --- a/dev/test_premise.ipynb +++ b/dev/test_premise.ipynb @@ -34,7 +34,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "1e5fa46b-8823-4390-bea6-3f8e204ac9c3", "metadata": {}, "outputs": [], @@ -66,13 +66,15 @@ "cell_type": "code", "execution_count": null, "id": "186769fe-f212-4a6e-b2b5-93dc7bf0fd73", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "premise v.(1, 6, 9)\n", + "premise v.(1, 7, 1)\n", "+------------------------------------------------------------------+\n", "| Warning |\n", "+------------------------------------------------------------------+\n", @@ -108,237 +110,12 @@ "NewDatabase(..., quiet=True)\n", "\n", "//////////////////// EXTRACTING SOURCE DATABASE ////////////////////\n", - "Cannot find cached database. Will create one now for next time...\n", - "Getting activity data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:00<00:00, 275819.55it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding exchange data to activities\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 629959/629959 [00:20<00:00, 30648.04it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling out exchange data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:01<00:00, 10569.86it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Set missing location of datasets to global scope.\n", - "Set missing location of production exchanges to scope of dataset.\n", - "Correct missing location of technosphere exchanges.\n", - "Correct missing flow categories for biosphere exchanges\n", - "Remove empty exchanges.\n", - "Remove uncertainty data.\n", "Done!\n", "\n", "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", - "Cannot find cached inventories. Will create them now for next time...\n", - "Importing default inventories...\n", - "\n", - "Extracted 1 worksheets in 0.25 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.12 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 7 worksheets in 0.04 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.44 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Extracted 1 worksheets in 0.05 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "| carbon dioxide, captured at cement production plan | carbon dioxide, captured and r | RER | lci-synfuels-from-methanol-from-cement-plant.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "| methanol distillation, hydrogen from coal gasifica | methanol, purified | RER | lci-synfuels-from-methanol-from-coal.xlsx |\n", - "| methanol synthesis, hydrogen from coal gasificatio | methanol, unpurified | RER | lci-synfuels-from-methanol-from-coal.xlsx |\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 4 worksheets in 0.16 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.09 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Data cached. It is advised to restart your workflow at this point.\n", - "This allows premise to use the cached data instead, which results in\n", - "a faster workflow.\n", "\n", "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.98 seconds\n", + "Extracted 1 worksheets in 0.62 seconds\n", "Applying strategy: migrate_datasets\n", "Applying strategy: migrate_exchanges\n", "The following datasets to import already exist in the source database. They will not be imported\n", @@ -503,7 +280,7 @@ "output_type": "stream", "text": [ "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:31\n" + "Total time elapsed: 00:00:23\n" ] }, { @@ -511,11 +288,11 @@ "output_type": "stream", "text": [ "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:16:32\n", - " Finished: 09/14/2023 17:17:04\n", - " Total time elapsed: 00:00:31\n", - " CPU %: 90.60\n", - " Memory %: 20.11\n", + " Started: 09/27/2023 18:00:33\n", + " Finished: 09/27/2023 18:00:56\n", + " Total time elapsed: 00:00:23\n", + " CPU %: 96.40\n", + " Memory %: 17.05\n", "Created database: test1\n", "Database test2 already exists: it will be overwritten.\n" ] @@ -539,7 +316,7 @@ "output_type": "stream", "text": [ "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:26\n" + "Total time elapsed: 00:00:22\n" ] }, { @@ -547,17 +324,17 @@ "output_type": "stream", "text": [ "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:19:02\n", - " Finished: 09/14/2023 17:19:29\n", - " Total time elapsed: 00:00:26\n", - " CPU %: 92.60\n", - " Memory %: 23.27\n", + " Started: 09/27/2023 18:03:03\n", + " Finished: 09/27/2023 18:03:25\n", + " Total time elapsed: 00:00:22\n", + " CPU %: 97.30\n", + " Memory %: 18.40\n", "Created database: test2\n", "Generate scenario report.\n", "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", "Generate change report.\n", "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", + "premise v.(1, 7, 1)\n", "+------------------------------------------------------------------+\n", "| Warning |\n", "+------------------------------------------------------------------+\n", @@ -765,7 +542,7 @@ "output_type": "stream", "text": [ "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:28\n" + "Total time elapsed: 00:00:26\n" ] }, { @@ -773,17 +550,17 @@ "output_type": "stream", "text": [ "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:24:10\n", - " Finished: 09/14/2023 17:24:39\n", - " Total time elapsed: 00:00:28\n", - " CPU %: 95.40\n", - " Memory %: 20.18\n", + " Started: 09/27/2023 18:07:41\n", + " Finished: 09/27/2023 18:08:08\n", + " Total time elapsed: 00:00:26\n", + " CPU %: 95.70\n", + " Memory %: 19.06\n", "Created database: test_super\n", "Generate scenario report.\n", "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", "Generate change report.\n", "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", + "premise v.(1, 7, 1)\n", "+------------------------------------------------------------------+\n", "| Warning |\n", "+------------------------------------------------------------------+\n", @@ -824,7 +601,7 @@ "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", "\n", "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.45 seconds\n", + "Extracted 1 worksheets in 0.49 seconds\n", "Applying strategy: migrate_datasets\n", "Applying strategy: migrate_exchanges\n", "The following datasets to import already exist in the source database. They will not be imported\n", @@ -967,12 +744,11 @@ "Done!\n", "\n", "Write Simapro import file(s).\n", - "Simapro CSV files saved in /Users/romain/GitHub/premise/dev/export/simapro.\n", "Generate scenario report.\n", "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", "Generate change report.\n", "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", + "premise v.(1, 7, 1)\n", "+------------------------------------------------------------------+\n", "| Warning |\n", "+------------------------------------------------------------------+\n", @@ -1156,12 +932,12 @@ "Done!\n", "\n", "Write new database(s) to matrix.\n", - "Matrices saved in /Users/romain/GitHub/premise/dev/export/image/SSP2-Base/2030.\n", + "Matrices saved in /Users/romain/GitHub/premise/dev/export/remind/SSP2-Base/2030.\n", "Generate scenario report.\n", "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", "Generate change report.\n", "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", + "premise v.(1, 7, 1)\n", "+------------------------------------------------------------------+\n", "| Warning |\n", "+------------------------------------------------------------------+\n", @@ -1202,7 +978,7 @@ "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", "\n", "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.45 seconds\n", + "Extracted 1 worksheets in 0.44 seconds\n", "Applying strategy: migrate_datasets\n", "Applying strategy: migrate_exchanges\n", "The following datasets to import already exist in the source database. They will not be imported\n", @@ -1345,7 +1121,7 @@ "Done!\n", "\n", "Building scenario factor file...\n", - "Number of new activities: 3899\n", + "Number of new activities: 1643\n", "Data package saved at /Users/romain/GitHub/premise/dev/export/datapackage/test.zip\n", "Generate scenario report.\n", "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", @@ -1355,12 +1131,13 @@ "+-----+---------------------------+------------------------------------------------------------------------+\n", "| No. | Scenario | Description |\n", "+-----+---------------------------+------------------------------------------------------------------------+\n", - "| 0 | image - SSP2-Base - 2030 | Prospective db, based on IMAGE, pathway SSP2-BASE, for the year 2030. |\n", + "| 0 | remind - SSP2-Base - 2030 | Prospective db, based on REMIND, pathway SSP2-BASE, for the year 2030. |\n", "| 1 | remind - SSP5-Base - 2080 | Prospective db, based on REMIND, pathway SSP5-BASE, for the year 2080. |\n", "+-----+---------------------------+------------------------------------------------------------------------+\n", "\n", "To unfold all scenarios, `unfold()`.\n", "To unfold a specific scenario, `unfold(scenarios=[1,])`.\n", + "Cannot find cached database. Will create one now for next time...\n", "Getting activity data\n" ] }, @@ -1368,7 +1145,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:00<00:00, 237145.40it/s]\n" + "100%|██████████████████████████████████| 19565/19565 [00:00<00:00, 27868.61it/s]\n" ] }, { @@ -1382,7 +1159,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 629959/629959 [00:38<00:00, 16153.47it/s]\n" + "100%|████████████████████████████████| 629959/629959 [00:41<00:00, 15126.74it/s]\n" ] }, { @@ -1396,1386 +1173,21 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:02<00:00, 8047.42it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Getting activity data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 4451/4451 [00:00<00:00, 244946.56it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding exchange data to activities\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0it [00:00, ?it/s]\n" + "100%|██████████████████████████████████| 19565/19565 [00:01<00:00, 10117.20it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling out exchange data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 4451/4451 [00:00<00:00, 4053158.29it/s]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Extracting additional inventories...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generating database for scenario image - SSP2-Base - 2030...\n", - "Generating database for scenario remind - SSP5-Base - 2080...\n", - "Writing database for scenario image - SSP2-Base - 2030...\n", - "Database image - SSP2-Base - 2030 already exists: it will be overwritten.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Vacuuming database \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:34:50\n", - " Finished: 09/14/2023 17:35:31\n", - " Total time elapsed: 00:00:41\n", - " CPU %: 85.80\n", - " Memory %: 21.38\n", - "Created database: image - SSP2-Base - 2030\n", - "Writing database for scenario remind - SSP5-Base - 2080...\n", - "Database remind - SSP5-Base - 2080 already exists: it will be overwritten.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Vacuuming database \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:44\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:37:46\n", - " Finished: 09/14/2023 17:38:31\n", - " Total time elapsed: 00:00:44\n", - " CPU %: 85.50\n", - " Memory %: 21.09\n", - "Created database: remind - SSP5-Base - 2080\n", - "premise v.(1, 6, 9)\n", - "+------------------------------------------------------------------+\n", - "| Warning |\n", - "+------------------------------------------------------------------+\n", - "| Because some of the scenarios can yield LCI databases |\n", - "| containing net negative emission technologies (NET), |\n", - "| it is advised to account for biogenic CO2 flows when calculating |\n", - "| Global Warming potential indicators. |\n", - "| `premise_gwp` provides characterization factors for such flows. |\n", - "| It also provides factors for hydrogen emissions to air. |\n", - "| |\n", - "| Within your bw2 project: |\n", - "| from premise_gwp import add_premise_gwp |\n", - "| add_premise_gwp() |\n", - "+------------------------------------------------------------------+\n", - "+--------------------------------+----------------------------------+\n", - "| Utils functions | Description |\n", - "+--------------------------------+----------------------------------+\n", - "| clear_cache() | Clears the cache folder. Useful |\n", - "| | when updating `premise`or |\n", - "| | encountering issues with |\n", - "| | inventories. |\n", - "+--------------------------------+----------------------------------+\n", - "| get_regions_definition(model) | Retrieves the list of countries |\n", - "| | for each region of the model. |\n", - "+--------------------------------+----------------------------------+\n", - "| ndb.NewDatabase(...) | Generates a summary of the most |\n", - "| ndb.generate_scenario_report() | important scenarios' variables. |\n", - "+--------------------------------+----------------------------------+\n", - "Keep uncertainty data?\n", - "NewDatabase(..., keep_uncertainty_data=True)\n", - "\n", - "Hide these messages?\n", - "NewDatabase(..., quiet=True)\n", - "\n", - "//////////////////// EXTRACTING SOURCE DATABASE ////////////////////\n", - "Cannot find cached database. Will create one now for next time...\n", - "Getting activity data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 21238/21238 [00:00<00:00, 183075.39it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding exchange data to activities\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 674593/674593 [01:01<00:00, 10883.08it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling out exchange data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 21238/21238 [00:03<00:00, 6996.41it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Set missing location of datasets to global scope.\n", - "Set missing location of production exchanges to scope of dataset.\n", - "Correct missing location of technosphere exchanges.\n", - "Correct missing flow categories for biosphere exchanges\n", - "Remove empty exchanges.\n", - "Remove uncertainty data.\n", - "Done!\n", - "\n", - "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", - "Cannot find cached inventories. Will create them now for next time...\n", - "Importing default inventories...\n", - "\n", - "Extracted 1 worksheets in 0.12 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 7 worksheets in 0.04 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.45 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Extracted 1 worksheets in 0.06 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "| carbon dioxide, captured at cement production plan | carbon dioxide, captured and r | RER | lci-synfuels-from-methanol-from-cement-plant.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+---------------------------------------------------+\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "| methanol distillation, hydrogen from coal gasifica | methanol, purified | RER | lci-synfuels-from-methanol-from-coal.xlsx |\n", - "| methanol synthesis, hydrogen from coal gasificatio | methanol, unpurified | RER | lci-synfuels-from-methanol-from-coal.xlsx |\n", - "+----------------------------------------------------+----------------------+----------+-------------------------------------------+\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 4 worksheets in 0.18 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.03 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.09 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.02 seconds\n", - "Remove uncertainty data.\n", - "Extracted 1 worksheets in 0.01 seconds\n", - "Remove uncertainty data.\n", - "Data cached. It is advised to restart your workflow at this point.\n", - "This allows premise to use the cached data instead, which results in\n", - "a faster workflow.\n", - "\n", - "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.47 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| bromine, at plant | bromine, at plant | RER | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| emulsion polymerisation, polyvinylchlorid | emulsion polymerisation, polyv | RER | lci-PV.xlsx |\n", - "| ethylene bromide, at plant | ethylene bromide, at plant | RER | lci-PV.xlsx |\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| hydrogen fluoride production | hydrogen fluoride | GLO | lci-PV.xlsx |\n", - "| iodine | iodine | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| methyl iodide | methyl iodide | RER | lci-PV.xlsx |\n", - "| nitrogen trifluoride, at plant | nitrogen trifluoride, at plant | RER | lci-PV.xlsx |\n", - "| open ground construction, on ground | open ground construction, on g | RER | lci-PV.xlsx |\n", - "| photovoltaic cell factory | photovoltaic cell factory | DE | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylalcohol, at plant | polyvinylalcohol, at plant | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral foil, at plant | polyvinylbutyral foil, at plan | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral, powder, at plant | polyvinylbutyral, powder, at p | RER | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silane, at plant | silane, at plant | RER | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | CN | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | GLO | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | CN | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | US | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | US | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | US | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Done!\n", - "\n", - "/////////////////////// EXTRACTING IAM DATA ////////////////////////\n", - "Done!\n", - "#############################################################################################################\n", - "3.9.1 brightway brightway\n", - "\n", - "/////////////////////////// ELECTRICITY ////////////////////////////\n", - "Done!\n", - "\n", - "Write new database(s) to Brightway2.\n", - "Database test1 already exists: it will be overwritten.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Vacuuming database \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:54\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:44:56\n", - " Finished: 09/14/2023 17:45:51\n", - " Total time elapsed: 00:00:54\n", - " CPU %: 82.60\n", - " Memory %: 22.87\n", - "Created database: test1\n", - "Database test2 already exists: it will be overwritten.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Vacuuming database \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:56\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:50:24\n", - " Finished: 09/14/2023 17:51:21\n", - " Total time elapsed: 00:00:56\n", - " CPU %: 81.50\n", - " Memory %: 16.81\n", - "Created database: test2\n", - "Generate scenario report.\n", - "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", - "Generate change report.\n", - "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", - "+------------------------------------------------------------------+\n", - "| Warning |\n", - "+------------------------------------------------------------------+\n", - "| Because some of the scenarios can yield LCI databases |\n", - "| containing net negative emission technologies (NET), |\n", - "| it is advised to account for biogenic CO2 flows when calculating |\n", - "| Global Warming potential indicators. |\n", - "| `premise_gwp` provides characterization factors for such flows. |\n", - "| It also provides factors for hydrogen emissions to air. |\n", - "| |\n", - "| Within your bw2 project: |\n", - "| from premise_gwp import add_premise_gwp |\n", - "| add_premise_gwp() |\n", - "+------------------------------------------------------------------+\n", - "+--------------------------------+----------------------------------+\n", - "| Utils functions | Description |\n", - "+--------------------------------+----------------------------------+\n", - "| clear_cache() | Clears the cache folder. Useful |\n", - "| | when updating `premise`or |\n", - "| | encountering issues with |\n", - "| | inventories. |\n", - "+--------------------------------+----------------------------------+\n", - "| get_regions_definition(model) | Retrieves the list of countries |\n", - "| | for each region of the model. |\n", - "+--------------------------------+----------------------------------+\n", - "| ndb.NewDatabase(...) | Generates a summary of the most |\n", - "| ndb.generate_scenario_report() | important scenarios' variables. |\n", - "+--------------------------------+----------------------------------+\n", - "Keep uncertainty data?\n", - "NewDatabase(..., keep_uncertainty_data=True)\n", - "\n", - "Hide these messages?\n", - "NewDatabase(..., quiet=True)\n", - "\n", - "//////////////////// EXTRACTING SOURCE DATABASE ////////////////////\n", - "Done!\n", - "\n", - "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", - "\n", - "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.48 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| bromine, at plant | bromine, at plant | RER | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| emulsion polymerisation, polyvinylchlorid | emulsion polymerisation, polyv | RER | lci-PV.xlsx |\n", - "| ethylene bromide, at plant | ethylene bromide, at plant | RER | lci-PV.xlsx |\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| hydrogen fluoride production | hydrogen fluoride | GLO | lci-PV.xlsx |\n", - "| iodine | iodine | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| methyl iodide | methyl iodide | RER | lci-PV.xlsx |\n", - "| nitrogen trifluoride, at plant | nitrogen trifluoride, at plant | RER | lci-PV.xlsx |\n", - "| open ground construction, on ground | open ground construction, on g | RER | lci-PV.xlsx |\n", - "| photovoltaic cell factory | photovoltaic cell factory | DE | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylalcohol, at plant | polyvinylalcohol, at plant | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral foil, at plant | polyvinylbutyral foil, at plan | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral, powder, at plant | polyvinylbutyral, powder, at p | RER | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silane, at plant | silane, at plant | RER | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | CN | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | GLO | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | CN | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | US | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | US | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | US | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Done!\n", - "\n", - "/////////////////////// EXTRACTING IAM DATA ////////////////////////\n", - "Done!\n", - "#############################################################################################################\n", - "3.9.1 brightway superstructure\n", - "\n", - "/////////////////////////// ELECTRICITY ////////////////////////////\n", - "Done!\n", - "\n", - "Building superstructure database...\n", - "Dropped 0 duplicate(s).\n", - "Scenario difference file exported to /Users/romain/GitHub/premise/dev/export/scenario diff files!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n", - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:01:02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 17:59:40\n", - " Finished: 09/14/2023 18:00:43\n", - " Total time elapsed: 00:01:02\n", - " CPU %: 75.00\n", - " Memory %: 12.19\n", - "Created database: test_super\n", - "Generate scenario report.\n", - "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", - "Generate change report.\n", - "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", - "+------------------------------------------------------------------+\n", - "| Warning |\n", - "+------------------------------------------------------------------+\n", - "| Because some of the scenarios can yield LCI databases |\n", - "| containing net negative emission technologies (NET), |\n", - "| it is advised to account for biogenic CO2 flows when calculating |\n", - "| Global Warming potential indicators. |\n", - "| `premise_gwp` provides characterization factors for such flows. |\n", - "| It also provides factors for hydrogen emissions to air. |\n", - "| |\n", - "| Within your bw2 project: |\n", - "| from premise_gwp import add_premise_gwp |\n", - "| add_premise_gwp() |\n", - "+------------------------------------------------------------------+\n", - "+--------------------------------+----------------------------------+\n", - "| Utils functions | Description |\n", - "+--------------------------------+----------------------------------+\n", - "| clear_cache() | Clears the cache folder. Useful |\n", - "| | when updating `premise`or |\n", - "| | encountering issues with |\n", - "| | inventories. |\n", - "+--------------------------------+----------------------------------+\n", - "| get_regions_definition(model) | Retrieves the list of countries |\n", - "| | for each region of the model. |\n", - "+--------------------------------+----------------------------------+\n", - "| ndb.NewDatabase(...) | Generates a summary of the most |\n", - "| ndb.generate_scenario_report() | important scenarios' variables. |\n", - "+--------------------------------+----------------------------------+\n", - "Keep uncertainty data?\n", - "NewDatabase(..., keep_uncertainty_data=True)\n", - "\n", - "Hide these messages?\n", - "NewDatabase(..., quiet=True)\n", - "\n", - "//////////////////// EXTRACTING SOURCE DATABASE ////////////////////\n", - "Done!\n", - "\n", - "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", - "\n", - "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.48 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| bromine, at plant | bromine, at plant | RER | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| emulsion polymerisation, polyvinylchlorid | emulsion polymerisation, polyv | RER | lci-PV.xlsx |\n", - "| ethylene bromide, at plant | ethylene bromide, at plant | RER | lci-PV.xlsx |\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| hydrogen fluoride production | hydrogen fluoride | GLO | lci-PV.xlsx |\n", - "| iodine | iodine | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| methyl iodide | methyl iodide | RER | lci-PV.xlsx |\n", - "| nitrogen trifluoride, at plant | nitrogen trifluoride, at plant | RER | lci-PV.xlsx |\n", - "| open ground construction, on ground | open ground construction, on g | RER | lci-PV.xlsx |\n", - "| photovoltaic cell factory | photovoltaic cell factory | DE | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylalcohol, at plant | polyvinylalcohol, at plant | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral foil, at plant | polyvinylbutyral foil, at plan | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral, powder, at plant | polyvinylbutyral, powder, at p | RER | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silane, at plant | silane, at plant | RER | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | CN | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | GLO | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | CN | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | US | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | US | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | US | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Done!\n", - "\n", - "/////////////////////// EXTRACTING IAM DATA ////////////////////////\n", - "Done!\n", - "#############################################################################################################\n", - "3.9.1 brightway simapro\n", - "\n", - "/////////////////////////// ELECTRICITY ////////////////////////////\n", - "Done!\n", - "\n", - "Write Simapro import file(s).\n", - "Simapro CSV files saved in /Users/romain/GitHub/premise/dev/export/simapro.\n", - "Generate scenario report.\n", - "Report saved under /Users/romain/GitHub/premise/dev/export/scenario_report.\n", - "Generate change report.\n", - "Report saved under /Users/romain/GitHub/premise/dev.\n", - "premise v.(1, 6, 9)\n", - "+------------------------------------------------------------------+\n", - "| Warning |\n", - "+------------------------------------------------------------------+\n", - "| Because some of the scenarios can yield LCI databases |\n", - "| containing net negative emission technologies (NET), |\n", - "| it is advised to account for biogenic CO2 flows when calculating |\n", - "| Global Warming potential indicators. |\n", - "| `premise_gwp` provides characterization factors for such flows. |\n", - "| It also provides factors for hydrogen emissions to air. |\n", - "| |\n", - "| Within your bw2 project: |\n", - "| from premise_gwp import add_premise_gwp |\n", - "| add_premise_gwp() |\n", - "+------------------------------------------------------------------+\n", - "+--------------------------------+----------------------------------+\n", - "| Utils functions | Description |\n", - "+--------------------------------+----------------------------------+\n", - "| clear_cache() | Clears the cache folder. Useful |\n", - "| | when updating `premise`or |\n", - "| | encountering issues with |\n", - "| | inventories. |\n", - "+--------------------------------+----------------------------------+\n", - "| get_regions_definition(model) | Retrieves the list of countries |\n", - "| | for each region of the model. |\n", - "+--------------------------------+----------------------------------+\n", - "| ndb.NewDatabase(...) | Generates a summary of the most |\n", - "| ndb.generate_scenario_report() | important scenarios' variables. |\n", - "+--------------------------------+----------------------------------+\n", - "Keep uncertainty data?\n", - "NewDatabase(..., keep_uncertainty_data=True)\n", - "\n", - "Hide these messages?\n", - "NewDatabase(..., quiet=True)\n", - "\n", - "//////////////////// EXTRACTING SOURCE DATABASE ////////////////////\n", - "Done!\n", - "\n", - "////////////////// IMPORTING DEFAULT INVENTORIES ///////////////////\n", - "\n", - "//////////////// IMPORTING USER-DEFINED INVENTORIES ////////////////\n", - "Extracted 1 worksheets in 0.45 seconds\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "The following datasets to import already exist in the source database. They will not be imported\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| Name | Reference product | Location | File |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "| bromine, at plant | bromine, at plant | RER | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| emulsion polymerisation, polyvinylchlorid | emulsion polymerisation, polyv | RER | lci-PV.xlsx |\n", - "| ethylene bromide, at plant | ethylene bromide, at plant | RER | lci-PV.xlsx |\n", - "| fluorspar production, 97% purity | fluorspar, 97% purity | GLO | lci-PV.xlsx |\n", - "| hydrogen fluoride production | hydrogen fluoride | GLO | lci-PV.xlsx |\n", - "| iodine | iodine | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, back side, alumini | metallization paste, back side | RER | lci-PV.xlsx |\n", - "| metallization paste production, front side | metallization paste, front sid | RER | lci-PV.xlsx |\n", - "| methyl iodide | methyl iodide | RER | lci-PV.xlsx |\n", - "| nitrogen trifluoride, at plant | nitrogen trifluoride, at plant | RER | lci-PV.xlsx |\n", - "| open ground construction, on ground | open ground construction, on g | RER | lci-PV.xlsx |\n", - "| photovoltaic cell factory | photovoltaic cell factory | DE | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic module production, building-integrate | photovoltaic module, building- | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for facad | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for flat- | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic mounting system production, for slant | photovoltaic mounting system, | RER | lci-PV.xlsx |\n", - "| photovoltaic panel factory construction | photovoltaic panel factory | GLO | lci-PV.xlsx |\n", - "| polyvinylalcohol, at plant | polyvinylalcohol, at plant | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral foil, at plant | polyvinylbutyral foil, at plan | RER | lci-PV.xlsx |\n", - "| polyvinylbutyral, powder, at plant | polyvinylbutyral, powder, at p | RER | lci-PV.xlsx |\n", - "| polyvinylfluoride production | polyvinylfluoride | US | lci-PV.xlsx |\n", - "| polyvinylfluoride production, dispersion | polyvinylfluoride, dispersion | US | lci-PV.xlsx |\n", - "| polyvinylfluoride, film production | polyvinylfluoride, film | US | lci-PV.xlsx |\n", - "| silane, at plant | silane, at plant | RER | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | NO | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | CN | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | US | lci-PV.xlsx |\n", - "| silicon production, metallurgical grade | silicon, metallurgical grade | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | GLO | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | CN | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | APAC | lci-PV.xlsx |\n", - "| silicon production, photovoltaics, production mix | silicon production, photovolta | US | lci-PV.xlsx |\n", - "| vinyl fluoride production | vinyl fluoride | US | lci-PV.xlsx |\n", - "| wafer factory construction | wafer factory | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, residential | electricity, low voltage | US | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | AT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | BE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CN | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DK | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FI | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | FR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | DE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | HU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | IT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | JP | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | KR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | LU | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MY | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | MX | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NL | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NZ | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | NO | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | PT | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ZA | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | ES | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | SE | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | CH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TH | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | TR | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | GB | lci-PV.xlsx |\n", - "| electricity production, photovoltaic, commercial | electricity, low voltage | US | lci-PV.xlsx |\n", - "+----------------------------------------------------+--------------------------------+----------+-------------+\n", - "Migrating to 3.8 first\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Applying strategy: migrate_datasets\n", - "Applying strategy: migrate_exchanges\n", - "Done!\n", - "\n", - "/////////////////////// EXTRACTING IAM DATA ////////////////////////\n", - "Done!\n", - "#############################################################################################################\n", - "3.9.1 brightway matrices\n", - "\n", - "/////////////////////////// ELECTRICITY ////////////////////////////\n", - "Done!\n", - "\n", - "Write new database(s) to matrix.\n" + "Extracting additional inventories...\n", + "Writing scenario difference file...\n" ] } ], "source": [ "scenarios = [\n", - " {\"model\": \"image\", \"pathway\":\"SSP2-Base\", \"year\": 2030},\n", + " {\"model\": \"remind\", \"pathway\":\"SSP2-Base\", \"year\": 2030},\n", " {\"model\": \"remind\", \"pathway\":\"SSP5-Base\", \"year\": 2080},\n", "]\n", "\n", @@ -2801,7 +1213,7 @@ "\n", " for source in [\n", " \"brightway\",\n", - " #\"ecospold\"\n", + " \"ecospold\"\n", " ]:\n", " for export in [\n", " \"brightway\",\n", @@ -2856,7 +1268,7 @@ " else:\n", " ndb.write_datapackage(name=\"test\")\n", " u = Unfold(\"export/datapackage/test.zip\")\n", - " u.unfold(dependencies={\"ecoinvent\": f\"ecoinvent {ei} {model}\", \"biosphere3\": \"biosphere3\"})\n", + " u.unfold(dependencies={\"ecoinvent\": f\"ecoinvent {ei} {model}\", \"biosphere3\": \"biosphere3\"}, superstructure=True)\n", " \n", " \n", " \n" @@ -2867,10 +1279,18 @@ "execution_count": 1, "id": "4766edf4-e947-41a1-87ff-a11e181c30ac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 1, 2)\n" + ] + } + ], "source": [ "import unfold\n", - "unfold.__version__\n", + "print(unfold.__version__)\n", "import bw2data\n", "from unfold import Unfold" ] @@ -2882,7 +1302,7 @@ "metadata": {}, "outputs": [], "source": [ - "bw2data.projects.set_current(\"new\")" + "bw2data.projects.set_current(\"new4\")" ] }, { @@ -2899,90 +1319,77 @@ "+-----+---------------------------+------------------------------------------------------------------------+\n", "| No. | Scenario | Description |\n", "+-----+---------------------------+------------------------------------------------------------------------+\n", - "| 0 | image - SSP2-Base - 2030 | Prospective db, based on IMAGE, pathway SSP2-BASE, for the year 2030. |\n", + "| 0 | remind - SSP2-Base - 2030 | Prospective db, based on REMIND, pathway SSP2-BASE, for the year 2030. |\n", "| 1 | remind - SSP5-Base - 2080 | Prospective db, based on REMIND, pathway SSP5-BASE, for the year 2080. |\n", "+-----+---------------------------+------------------------------------------------------------------------+\n", "\n", "To unfold all scenarios, `unfold()`.\n", - "To unfold a specific scenario, `unfold(scenarios=[1,])`.\n", - "Getting activity data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:00<00:00, 112351.53it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding exchange data to activities\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 629959/629959 [00:20<00:00, 30105.49it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling out exchange data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 19565/19565 [00:01<00:00, 12480.39it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Getting activity data\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 4451/4451 [00:00<00:00, 300335.38it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding exchange data to activities\n" + "To unfold a specific scenario, `unfold(scenarios=[1,])`.\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0it [00:00, ?it/s]\n" - ] - }, + } + ], + "source": [ + "u = Unfold(\"export/datapackage/test.zip\")\n", + "#u.unfold(dependencies={\"ecoinvent\": f\"ecoinvent 3.8 cutoff\", \"biosphere3\": \"biosphere3\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b6705830-22f6-4634-9fb2-c2d20ffda19d", + "metadata": {}, + "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Filling out exchange data\n" + "The following databases are necessary to unfold the scenarios:\n", + "+-----+------------+--------------+---------+\n", + "| No. | Dependency | System model | Version |\n", + "+-----+------------+--------------+---------+\n", + "| 1 | ecoinvent | cut-off | 3.7 |\n", + "| 2 | biosphere3 | | |\n", + "+-----+------------+--------------+---------+\n", + "\n", + "The following databases are available in your project:\n", + "+-----+-------------------------------------------------+\n", + "| No. | Database |\n", + "+-----+-------------------------------------------------+\n", + "| 1 | biosphere3 |\n", + "| 2 | ecoinvent 3.8 cutoff |\n", + "| 3 | ecoinvent 3.7 cutoff |\n", + "| 4 | ecoinvent 3.6 cutoff |\n", + "| 5 | ecoinvent_remind_SSP2-NPi_2005 |\n", + "| 6 | ecoinvent_remind_SSP2-NPi_2010 |\n", + "| 7 | test_super |\n", + "| 8 | ref_db |\n", + "| 9 | dummy_database |\n", + "| 10 | reference_database |\n", + "| 11 | db A |\n", + "| 12 | db B |\n", + "| 13 | trucks_bw_ei_371 |\n", + "| 14 | trucks_bw_ei_38 |\n", + "| 15 | image - SSP2-Base - 2030 |\n", + "| 16 | remind - SSP5-Base - 2080 |\n", + "| 17 | remind - SSP1-Base - 2080 |\n", + "| 18 | additional_biosphere |\n", + "| 19 | ecoinvent_cutoff_3.8_image_SSP2-RCP19_2050 |\n", + "| 20 | ecoinvent_cutoff_3.8_remind_SSP2-PkBudg500_2050 |\n", + "| 21 | ei36_2050_elec |\n", + "| 22 | concrete_db |\n", + "| 23 | test1 |\n", + "| 24 | test2 |\n", + "| 25 | test |\n", + "+-----+-------------------------------------------------+\n", + "\n" ] }, { - "name": "stderr", + "name": "stdin", "output_type": "stream", "text": [ - "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 4451/4451 [00:00<00:00, 5281144.87it/s]\n" + "Indicate the database number for dependency 1: 3\n", + "Indicate the database number for dependency 2: 1\n" ] }, { @@ -2990,75 +1397,12 @@ "output_type": "stream", "text": [ "Extracting additional inventories...\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Occupation, industrial area', None, None, ('natural resource', 'land'), 'square meter-year', 'biosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Occupation, traffic area, road network', None, None, ('natural resource', 'land'), 'square meter-year', 'biosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, from unspecified', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, to industrial area', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, to traffic area, road network', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'building construction, hall', 'building, hall', 'CH', None, 'square meter', 'technosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'metal working machine production, unspecified', 'metal working machine, unspecified', 'RER', None, 'kilogram', 'technosphere') in scenario image - SSP2-Base - 2030.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Occupation, industrial area', None, None, ('natural resource', 'land'), 'square meter-year', 'biosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Occupation, traffic area, road network', None, None, ('natural resource', 'land'), 'square meter-year', 'biosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, from unspecified', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, to industrial area', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'Transformation, to traffic area, road network', None, None, ('natural resource', 'land'), 'square meter', 'biosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'building construction, hall', 'building, hall', 'CH', None, 'square meter', 'technosphere') in scenario remind - SSP5-Base - 2080.\n", - "Could not find activity for flow ('Photovoltaic panel factory CdTe', 'Photovoltaic panel factory CdTe', 'US', 'unit', 'metal working machine production, unspecified', 'metal working machine, unspecified', 'RER', None, 'kilogram', 'technosphere') in scenario remind - SSP5-Base - 2080.\n", - "Generating database for scenario image - SSP2-Base - 2030...\n", - "23432\n", - "22695\n", - "Generating database for scenario remind - SSP5-Base - 2080...\n", - "23432\n", - "removing ('hydrogen production, gaseous, 25 bar, from gasification of woody biomass in entrained flow gasifier, at gasification plant', 'hydrogen, gaseous, 25 bar', 'RER')\n", - "removing ('ethanol production, via fermentation, from corn stover, system expansion', 'ethanol, from corn stover', 'US')\n", - "removing ('ethanol production, via fermentation, from sugarcane straw, system expansion', 'ethanol, from sugarcane straw', 'BR')\n", - "removing ('ethanol production, via fermentation, from miscanthus, system expansion', 'ethanol, from miscanthus', 'US')\n", - "removing ('hydrogen production, gaseous, 25 bar, from gasification of woody biomass in entrained flow gasifier, with CCS, at gasification plant', 'hydrogen, gaseous, 25 bar', 'RER')\n", - "removing ('ethanol production, via fermentation, from willow, system expansion', 'ethanol, from willow', 'US')\n", - "removing ('ethanol production, via fermentation, from switchgrass, system expansion', 'ethanol, from switchgrass', 'US')\n", - "removing ('ethanol production, via fermentation, from sugarcane, system expansion', 'ethanol, from sugarcane', 'US')\n", - "removing ('ethanol production, via fermentation, from poplar, system expansion', 'ethanol, from poplar', 'US')\n", - "removing ('ethanol production, via fermentation, from forage sorghum, system expansion', 'ethanol, from forage sorghum', 'US')\n", - "21750\n", - "Writing database for scenario image - SSP2-Base - 2030...\n", - "Database image - SSP2-Base - 2030 already exists: it will be overwritten.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Writing activities to SQLite3 database:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Vacuuming database \n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:27\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 16:55:34\n", - " Finished: 09/14/2023 16:56:01\n", - " Total time elapsed: 00:00:27\n", - " CPU %: 96.30\n", - " Memory %: 18.53\n", - "Created database: image - SSP2-Base - 2030\n", - "Writing database for scenario remind - SSP5-Base - 2080...\n", - "Database remind - SSP5-Base - 2080 already exists: it will be overwritten.\n" + "Writing scenario difference file...\n", + "Generating superstructure database...\n", + "Scenario difference file exported to test.csv!\n", + "\n", + "Writing superstructure database...\n", + "Database test already exists: it will be overwritten.\n" ] }, { @@ -3080,7 +1424,7 @@ "output_type": "stream", "text": [ "0% [##############################] 100% | ETA: 00:00:00\n", - "Total time elapsed: 00:00:26\n" + "Total time elapsed: 00:00:22\n" ] }, { @@ -3088,18 +1432,17 @@ "output_type": "stream", "text": [ "Title: Writing activities to SQLite3 database:\n", - " Started: 09/14/2023 16:57:07\n", - " Finished: 09/14/2023 16:57:33\n", - " Total time elapsed: 00:00:26\n", - " CPU %: 96.00\n", - " Memory %: 18.16\n", - "Created database: remind - SSP5-Base - 2080\n" + " Started: 09/27/2023 17:51:16\n", + " Finished: 09/27/2023 17:51:38\n", + " Total time elapsed: 00:00:22\n", + " CPU %: 95.10\n", + " Memory %: 8.57\n", + "Created database: test\n" ] } ], "source": [ - "u = Unfold(\"export/datapackage/test.zip\")\n", - "u.unfold(dependencies={\"ecoinvent\": f\"ecoinvent 3.8 cutoff\", \"biosphere3\": \"biosphere3\"})" + "u.unfold(superstructure=True, export_dir=\"/Users/romain/Documents\")" ] }, { diff --git a/premise/data/additional_inventories/lci-biofuels.xlsx b/premise/data/additional_inventories/lci-biofuels.xlsx index 116f725ad2c041420ab0688f75030e76217bfb0e..3507a85228f935d9304db14ab6406c4b473ba04e 100644 GIT binary patch delta 43282 zcmYgVQ+QZiu#IioW@Fp7Z8S+^C#NwR+qP{Rjcq4Q<21(2fA7nE*!yXH`wZ5ZHQ!8R z2Xa*ha$OuOFcD<;Cl&$(BoP4w1Q`Sb#M6%1r6yVo^pXP3ft@RuN^@cU?<3tZOvp9|S9TQ(;cY+HI4DLDi|q4Bb1$EotwF-@P+4 zuNw}Oq%c=WkJq;gc1$n@J;sJLz-n${;FZ)5eO7BQ?XlC8<}i@}N-0k@X{5ww}E=4rRfL$(orL;l~rxrmx`Z+=Z+>g4yVap~fUgniLy zGdgL0<=1Z(Gv=)zWuEN>$?PEp=ALD>e@YRve*oO_BoBk?C^=>#U@7o<>&y2>#Tt}+ z(l~M2?UbKMN$6vQc_@7Ws8WJC*j(Bavf~Q@6#yeh?(cMYjQ8lsJLeiPJc}lhX|@rt zb8e_E6d>!jbq`n&ZfVi19>s7N?v0RjB>5R7A%A1N|J}#397y0R2j&k5t=)IBu3*Q_ zJpdB|ng->E%cH1wFV`gbW#L+DkNw*AY$M0Yy*}fqUdpj9=zLZmyZsNld$5^zB;&RN zDTGwAwGo3zqB1OqXXA6Y+H*qlC(2(QmcDE)LJERA2>-S{V6`>dd}MQ?2*nQ7b%bX5 zEoU$bQeV2SKzdGW4+2KWaLWV+n=+bRL;+&-I;{2@_$Y2PSBVl&L1lZJ9$I^XGM|g~K|l%x%`1iV9=%f9kh%=$8`+e>UJ3f9N~Z=YhLMC=bIh8)yhiHxzWQbk2*w$;wL&9}MZ883vf&I^4`h=C|et zWmQob-62D7!jjFe>%E-Xjf-hs^XdJQ-t{?g(NxB=bv zW>PJDtlq{293tq`qB;4$Bx8!#_KK_?RdAv&#(!%^_}~1VLD8ypKxdFW-Dz;saxscY zys&L-TV=3A_pd#AY0Zad=zeEu4D$FXNGU~>vq|jrt*s}+kkISFnLk@VK1P7Q3om5w z!s|V3dre#^2J_^e_qg;EEETjI93z!;2^=M{H$Soxxl?*gl7CvSgJT=ChxGHWh5L4^k!$I`RI zgH1d`tfU(cu1&3=H*1ce23Gwo*{&7x{l*X7B8huuBa(hWRAgrN^kDxW?0IfA`#T7~ zi0C=oy64VOG|$}6V+V6y>l-=ys$(LfiW*g4=@mzul8xFzX-~W-%rRInH&Hf z1D0CaPX?SjlNEWu{+eY*@eS(>!Ke(oj^aEGzLgETBG);EoMxqK^NSqzo$NkRSWS3H zN8Tg_FfyjxlJ*GuLc4dm9UXCU#HCEapC>CS17mG7#l+y-UyhSrV}z2X@9FiEg9dYU zwd(cVhzb$yZ^ezf@7%_H{)ef|I3ZB=>xGhjCy$0G2hO%f>!XrKFldvL$f|VJS6az1 zJGT!unlS_SAL{^(`F^4`ZVYirOfJ+T_$@kCRQH{v5xcjC-8J(+!e3dT;Wp7|}lw=UQ%gie}fBY3p7v^d>Is#I^rn1&7rwikGnt=1&| zm(G>z@9FjYcK!DJyp z*Gp_D==XU`{;r~Me7u!;C6>Gs##>MI{*M0s@5JL}`eNp4d($6CYTJfKjL#&)Dq=uMWpKr@Num3VPko);7#xs|2dVg;eWX+%JYX8o_EfI9- z(#u!Z$k-TJb<_rS_ob{J%0FC+LSKd+WomuP#y{M$l$!;>g@qun>ly7J`V0iPkOt3{hy!C zwC=Gz@E?{fjHVN{)^RSn461Y)7p?_d(|N(e&=yc(DN96Mh#>3#yqdMm{-jUGcb6U> z76U4OG{1{GJD$?jA3dmcE~kt?(oD-otz>eT(^*+GxySCXe0Qo{D4hRRE%;Nt46y>P z*}{^ea=rw>=dpJ4p2ws9yW_un8OeIr^v`-i$+FR~y3u1qx0i{ku%c;a3QcZURO_2% zK7E!-Kl3bkj0laduF0j^AlXi2je0WTPp|l%+pY zbaI`kd@RXuzeF_hSvYGGY9!yB61^Ahrml=dd>w|}&Kgc8#V5zx-Ey!6_+GG&6?Vi* z<(y>%u{3z8^2r=OLn0k{OQXUoZ73>C=6_iM{6aTh9+GkxT*hRw_+6H&OqNu++fpJg z&bZ#&v>0AFL2Rai(cUfQ)>X`6DPFv#E9;Rnbp&)~t_OEKv`zIqBDqZ)Kp846|6aC% z)0q30I)!B~(87J0{}>%m3lW`@SHpfi?3G_5Ss(-DXHJ9#vwuF}{l4^mH!}nHJ--3Z zOFwcxA0BtQJ3jZ04un4LQ;9!sCuq!iUY4>Ad!GM%lzzUQl=fZ%iyK-u9gP*Wy@UA5 zZ7(BvftmLu;{irvXJl7_DWsB8M8?7LYq2C*!xM7UT&Z0ZsGnK;ti-D?#Xa5*N?NxzF7fZe5 z+epq(9irX?DI{0MdyoS(?=NeR$>)}M{;^sSEqB82n~Tjp|9!yoJd;ylQ6NjFmRF8$csdYE$QmFd)5pz9QFszY z8`6I|nYusQZpau8FB=UR%&&F2|1>1r9Y(Lw{5k2SCKw1S3{*HVQRKruC&i2`1gpS` zja(chQ*f1-KiNtL3l1W$mokqR`5nSHl-0pBy#o&B)CKHB9n1&umezhh#_s#<-HqMlw z0>(y(C4ih4qeghHp7G@dD*x-HaM3;W?6=>z_&z>&7J1f_mmCJ6yqcy;LEIQFN%6`} z`0WzG1Eow)5_FuyEofl{`H-Ar&?wF{c(2FG?9x0KzchF-5a+?@j#oJf&plw1=aUEL zR#s1uY{N(OAC+}REQF`P{a0DS3REWk^aw#M0ndvzhs%4{3R1Vewo=DI{QckDzpXob z;^QD@TP|w1$MTC9pl8vh>gmE^`X2nB2ExtH%rbDh}rC9-FFA^ z0;yWRH@_!~9+LQFm;(g}F>KE?ogW>Zgu#_4`qjk91$$N&_ zh8j`S8wzYaMr!!nu68dKje^O*zunnu6#l}7b#mM?`jsV?T30U>lD2CCZwhr}2Pvp9 zq+9e|P=b!;iT|uKyc}AO!mXlXz!XNYr9ZXBbs7=dV-uxvJpEDvov&cX$tV!u@g{S# zhd&EKpI&0t8~ z(N8D&j@|})0cEQ=YAZ2ft?ElbVq#bGx?knG;>EUvpSkWD-evLJ2IG|cE=}0(yr6;; z>0&B%G=C7Krk4ttHb^-*Nk#X%A_eu6A44!Tr7z!1kNVnuclM%E9zQHJCIqVj1zepG zayd1=PoE~sI>6`zFx4x?B5Rx7*0CqR>%inK3xrp0E(?mUBMteJAQlCU7{ng1iA2y* z9n6V@_zp*zmm6*JNloBv!xt^if$e!p>Uc^5_4cnXU(frrKR^F_J~U2hU4y`kT1xz^ zEsd}DH?Xi6`(n>G$S?=JP%I=w0eBAeozmSrxk(cUS6vWS0FB!f#me#Yp~m`P_W#O5 zRcH=19lh9Kh1J&sBQHEigqgBfg8^b5tD#g#h=eYTKa~lRze-xD8$=R($c&iiS6mra z(Xk0SE^1r8(ynh^@FELYkrES`-0yB+a<5&U^X!XZQa;n;IH@b8+@<`~C3X$5Jb4h_ zD9r-AdJ#Hdita72-WoE47(#{_uH|o*p4}51UIKRUnugwR*2!HZ;6J2o9pe4^b+o%{e;A1eSK96P$@10QSpbL5t;Jf@^vCgv=vzD^w0?9nfY-B*8X%W$4k027}v ze^SI#S3mv~!IWqOJYU*XlD6{o14sRYw4pxFXUPvCq*e_r{dYZW&RLfZNa|I}MqU4J z{u2c+ftkvDapq3d7qpzg$Js&zod9hb)ST9v(`}Y@S0TG%@e_NB9wNBh?P%%MU-sF` z;!`Wt^bueq4)sY;HMGs&b&k_j0eMeR0@sW=HO8tKa4heEvm|YP$$~#b1%Jp;Il>b+ zDbEMMZ#p9Hn{4H%d5+|)Wx+h~DH)tFMQXu3L1>L+w3EMwE0ltOzQh*_VhH-F1@H~E zFnzZ+C{0_`SV5U1@T$ZrJ-fb5nw7t@Sknv=r2GqFnolAO8XV}z8IrgV3wYAzU)w|k z(?;4GU>ugjV471MWwR#XNF#A|4;yvM=LaiV=I7Zy5m+_myoi-#p+ZlVB59_f zb?!nuKciVkBL6<84_8g69i3Lyt(nU~Q>6hHv#bBph=r4&to%<0K39PhZdWR6P?_5e zshy7yzq5+8q2Hd~oJzKz1K1mo{FEz)&1hhI3V`aCrC0Zv4%8T?GF#xmjE=HC#_Y4a~AipTD*K9=Q!|@31^%FIvMca9277x%?n-&xn~E6FoXzSD}m{ABm%Lo7O?> zR4KOS!Z^n>tSo(_Raz8H5^v&lrXB7m=Qs2UHj&{FcI_<+ zjjxLd8zm&`We-os19+?AsC*O_DWeRr#Hce`((QOpwHZQfpNJ|_2Aa)*1TCeeoj->% z`S)iyx2sdz+ISr$CvF1UjoGxl%V-|KDr`JLMbItG#HI@?IqhW1bj#rA*jNzh)1(?d zwP;a#x;bDD&?(jRaNRRnjWbq$fe9w9UWH3W>L{p6uD7a70vwUC$&=@%6h~o5TdoE$ zY0MK&K{T&&?l4=GMXYqlUBqi+PtSux!^!=^zecD6cFCmLn|K4Gq^R7-*w_g03ZC04B%GP><$phjzk?qqt|bHDRo@eiC_8M1+>B9i7qA(2SdAZfPSM(1qHW zd4F@l{{Ev9{xUyqLb|mtd*VvXN6#P}S!EH)Ewje9zZYlY&$M9ClHelSPs+{n9sEg` z;h4=MHxiy|QlWZ~^hbn$_J>Rgo^|+DO`Z{(!9h;S`M@zRUc2_ZOxBe2zK}`|^v`=7 zF6wU<^Ap&w*Cbv1&hWi3P(|SJhuqJeRZGGF4<&=PSiY?RG!40p7}k`O2Vaxtc&oDb zjD)QM<%xQdB-v#>>x@E?s)pU}kO@j8#ox?pRto{v2`Pzr2l8c976bXAe{g%G4-Wl7K;7=)2QRmOHS*e_LV z@}?FUY7vlJXkriF;Y5!TW-x82kOfyda=byvI<__Uq?6<{G{E1q*V@pE>8&!Vh$Z{> zY3_!?iFtz1=WdksR0V`p?6_f7oCY;5Qq7aS!~w+NJ6(_{m||R(V_`Wy3B=X|z`l?IeLYg@zVAe(CnC73ya_^ZE&TioKhXME;_lw{J!zwu*C@}>2 z+H`O^qvM#6E_4A>ysV-R^pO%D!-QZkR1p=737$)jhR{DTq;xjC&+3W_RLjjdp_gSE zPJm)#u{{019z{6KMc6Ajs|17b8Q&`qDdx;TV2a@BA(`=4eS9=^YG`5J=#4-UVIT=q zF0gprD3Au?`+7y8B5qL|~+pN>FF zxQm?`x_|3MBuA-;8rRs_B6^a*Zk_0w9VTP22pE?flYKvs@0c)(P{n1tFs)k@Hd$MS z5|@EoZEA%Y8z7SVL05>#HQX{O2foG;5-;j><{Pz{xP=cF!5|?ljiN&ouBL`f7zd!c zGAd&cq%A^{kVzOIfWk*ls}3b_XH%+(Ud5@2;Txo>CC?^oE0=)8ElOfHp+wNUYC#>k z%T7fs=t5Q2FT}Q9THECw3RCaaBz-T;aIc7eYG~t>Y>)|875rr#`6PwH2I2snjVD(K z?^fZgw?D>;#ZKt?%>OKbB3)Ey=L@LZ&KsRgL?`vHropp{T9V zyF&o&k$D!WmlKsnblVqC^h1?3&ceX@lb1C_Lc%h3yd!)@x;?J_5&c#t_AG~5d3>#LNs2z*swa9VV)C`DzNT}&7 z&hmy1 zbYt`S;dErZ3l?Et?gzSNR}^V6vc-`KYtAxLY)WzUYbQ>_n=LkhTO8J*yU1K~f_>LT zMAcCmr3Q$HSoq~+4y6<#+64gn#Sz6XWX`G~xo#(`$M$M>txUqWJa#3X=;2qEl<>Dy z(88bVDhfXHXxS*uZp{kxes~U=@P6G5+LsI7;#mq65R!=X ze6}QNQ$JPut~_M`LtE=e7@{+_tF_W*qV?(+{5z?Uvcv3233{v; zP$yaFWMz}5gdX22YG_|#WZ$~xMTsrd_vFfM&qbR`RCkmCeSBN$lJ=Wr5hdrE{_A1CTr7y#0;AB{yD34+AWzM_eXLLm_&|AWEpTS zaiHQDsiwSQo3VILsBAwM`#;ir=}*C=oAsHbIujm%uwrCmK4)c@H9`$TDFR(de1rH0 zQd_BsMEOD{v^dkl7^}SQVg&nEi-n}8zl;_^AyrMF(F|f58cgWs_&qp(L?Ej6=sef&g+7?d-A08vJ zG0_JB%2PbVcQ6-R9Z?Sy@^Y?S4=0mVyi7#t!SyY@eg?F)v4)z4M&GHlMFig8z)2%s zqR&I=c{C}h&S+)Ks%PlnlQ7wujeUnglb{Eo9e?vQ7vbQPmCh|@-lkLHX}ZrpTT7h# zQtNEJ@@Vx86{v8z36O2EiaG2xej21o8)Yc~7fCu9~wbprTTD{rD5SfDlKSL(+Cd(1-_+Ifw3E; z$W+hIM!E0X>Ln*f`97!19+td71lc2@pMpOHH`HO^o7kR*kJ;K^iac~XC6wB!Om%zU zTikPu>SEg#sv$S!6NWa_9U&xH-v_k6Fn*d$P-L}**Yzp-niyfg@Z?V=Xs=yt$XxC# zm0h#^rsHMx{H3zYB}&pf;~rO?uN089trv68eR3+x91z< zc1@e4xa*V--jhk9vM^j6Atq)@&(6F@6iJ}=-C-kLzx>#cfw7wOG0jC5Td`J-=e;7os!+?#JRi&iWJjeeRq#FF$I};KV@P!REx1ntA@;oiO2` z`2O6Vi?_GU_3$6+S~|oZ5d2BF*~Q>Vyp_~lWTTYD-I)9jqzQ7N*I4NKFG%no0OpLeIV0 zXs+q^_TaJ<*8iN>qbrPI6+SX`0KeAa3=$i=p>gP`uSb9+hP1Oy?P7W>pO7yk_2Et&%%n+)VU&0Z89V@c`pE(HVD@ds-e2w_#+Ebe!eR=JGuXfRJ;(OoPy{a^Nu zj_wBUPEI^NArnt81R%%%Rt1AJ(p^Sm!iS}EX&Qb90VyB=OU%E-X1S= z5&M5Eq%!yVehxAVb-fNM0q?y#Z}(f7f2O&FK1Y#(=k!lEjqGjTJ0p$P!C0-&mz^Ep z`FWHXcs}an8Wnp#-Xiu-+5tY8{il+1pFaT~tyaMEwbkS6D#Z6CM%Em?!3o`Qu5|1@ z4t(uSB?cZtH9|UD{IW|o3`J9kp(B(1qt897?4bo-x`_z?ok9zE&leIeS+{oOo^9p) zE6evSltMh(@N8=N-lOK?)gZN(mu7>De#ndLXfbHrLpyL;GFc;@Pm&n&$ zrPa;ga-ei`dS-s?Z-}p9w{9??_{LqAXp)9}qrH-rdd)&)&v%FPdw4E$|J0sew>32T zGScPh-zk|RdZFMc^`C#KUWo$A7;1Wse`aBOgzfZ)byHU&H#>NbGy5 zxrO(9p$7vWUQThn*TYR5A_nz4@{A<4weD$yvhggNJtPHiKyA}VZ zZm&U)yEli7&u2jB|x~=Epmazl?(h2iT#JvliE_`&MrJY3kIJatftT zNHd(61~AwUr_BB_>XG~M15kVa;P73l;9HDu%nP<{6EAzZAybzes6FV9RvsRVP)5|r zPiV%?x7Ga=xQ-kt!QH4Aa1#??skDq~%q0q*Fl@_aW)A?pJcdt9l2>{uCH8;0t^LvS zd^Snk>*KkO}C zUS<Fv&3 zURhD#$noxBkvAr~5`6WH3fW9?c*KZs^#G@8z;FIFRHISN+CCylXRFB2IVbDELAHhS zd2K}~B}LVcGS_(tr&f~sXsa6=Q_Woh})Z@^2`@DV$-P2hll7vB>#uMW~Tj;4c1_LiaaeJDkAB7iTlu z!RS7>Jg#Z@h?p&fcdW^GTHFKu`$AM&Ih)DhbA`>`lEf4p`#640d{&=6pS*@A@cn(- zum5N_o%f{;??VG{k)K|Dqgu|Xz|Dy6T;!QKzZHzoc|AlZt+6x(Y2P2W!E~~cE#08y zBpWeX4%s2sE?I|uU-BGiiB_!S1kJVy2z63I%gYc{2%}zVeZL7lRYU?t<1V|vLi#$# zll43#(vuVI=m^0HSRkjhV+ZXtSMOH0QVW$$A1`NH4rU2nQD51;5XVig?qbjV3NIc1 zysS>+tBuYH$(rgZ`g#2OSVW$1G3Q%}a7F+^=ZH9Xtn}-mMoub62aWCe5_9p!b>33C z^0FmAIVuNdvsbIQrVjzI+q{vA!;*s{((DBfUZP#df83TbwK0ABFnIV+Had-Lgw<`y z5=wOgP!D28h;6pz)MYR=GPZ+3Viwk6HS@0oj8&-+2|HR&b!}YnIo~-l&^0l`T1e3> ztwJ=gtb-_ig?GFPx(!0t#BOnC{W)_>N6fCWC94~&=ypE$N7n)HJc{jXIUW3n9SEU4 zGuH2pbK1g;bnu=?oL&C)*#1$37E%l&FKBwht$b}mxxYFXH;N3g^_Q^K8tKL=^(=ca zaSl5Hs%o(ejp{5fCtmz*bcQLY7(HmBWIRs)^a$SWEOUR)#jJLNJ@biPT_sSmFS2g( zT*O{u_3su>Le~SZVvmQ&iInWqi(KmZzEuNHoL}+C?9OGN2gqKSHDx`pjbCUF`c478604`f2BR3U05KMOt z-H|CD8*J-v&HR0iQ_=?=gpg?#orPiFTyW8?xF4@PM;Ro^JeKK-wvgI9KvPLw?69*C zCic|hc5NWWPg3bn<|$Tyh)!NafS?`@UF;wT-@iRxYO;z9?bc-InLj=#T{GUc@+({C z5p?G1;yK|H1hLjY*BNsu^|40MJ;W^1E|OTRiYeoe$9&wz`^4ZA;uDiSOD#nqV}%LE z;*jSe5hR$#GFD{X3KoUJ-;n~ItSQ6&@!mCU5%C{%G~v9rBI8FoZNcP)ZlVUyD-Ckg zQ>_NBfg$;fa@pXhpP#OQK7h`)BkBW|QS@Kz2y#x{h8shGJ!Kg-aBDTYqT19k;hl5E zmc4Z_+^V!kjA(;G9Not51ty%72p2W$A^bxeE?UaPkhE@9Zi>BAkX0UBQF^4fM<>7T zo18+y)fiLF$gh!C;f!B?ZC_*&wSF0%y9lpNsQufQBrQ&gXt&9OhL0cJLoKVY`nVcJ z&x&XDVJHB|LI7ZT6d*M6#?t?S99dNFc5}(r^uE>Sl(g!iBmC|DY)%OFvfET@yMHJZoVU}2k-VZP?EZ0yoz!< z$BUT;M8oT$xdZ0mK42iDIVcHRsJ$JK44{h1MoIwMNA7*$qnU*x=?}9cY2&t-pW8Ov z&1hjHSLDxEtEjJ4Wmsgnz6Jxv-Ja9JqPOiQvLw`vG38t$$5%%yA-h)mk+bI(KrNM- z@h<{@WBzl`p|moiUf(bI&jnugGQV2YyTM+UQwrj_Y? zG+?OpCjPIU2c;rb6-gf%$XHC~PMBWAmX1#b<-ov+md{^#c~TMIYUOGQ$#U|fzYz(G z0c5Q$!ua`i-zFls^7>T1N6CVxyyv+igv#Y?!Dl6p!!0?~3p3`dz;tLPaeeAW_^*l8 zM4(6?)RS$7KnIziZIyeyEydGw6UB@x2?GH9T;fa)sGL8Vlx{U(j;!8gkv`5IF;+HB%aS7|? zMjrWptvpnVuP%KEkRO1S9}%C-G5dp7@juJezY-plFK^TH|8<)BWged*^j*+H8HkE@ zn(;?*J>upBTl!1<@_f`3xd)JBN?Zq*%IldU8^8jR~>?+(Ma7?SYrj(<4D)G zC9s*I$nL^~e{&-v5_#%(#vsnd{rR2I=j|i$$Hn9h0DSC~5`Pk84&ycAJjjm@_CYJ# zm0-Kje;-cH&E92fP(i@CO7H_1f$(!&uJobBhuwClhcP#5xQ^U{(_@XT&ZX({=;|de ze?hR@Ii=^_TxX{QuJ9!({S#fD-{P)KQ6`gi_X;fzvpCFY_e-SpUM#=uqILrtv*vk2 zK;9|U-$N_-5Cr-e$nfuaTZ~VZ1m3}H7IJqJ0lwcqQ*pV=N^ZV^+O8xZ0=bw=9E2pe zLtWVV%#JODhIMb=<3~$a!R4WR_}fp0GclU%76O9bvd~{`LImF)&d+;4-mif7R-w|jn4+joY&A8u8A8kh}r?%g0YP9=0cc`0Rg{ABe?uOF=O>> zs2z&;x9r7cBe+bmg z$bsZgLJ_?edqqHh0-mT(eBJkl%o3MwZ#1|f1Ld$a93k{0nMjG?zP}Bej^KHIeNDL| z#HW~tL@b?Mg1#Xw_da#;uX~fhlSauVCokwTgLDYoqKfS%a5v9J`dZ%2_h=0UT7P?$ z8);l-3+=UFH-vdG739lOsW1*~th#b!6R_(?d0aA;2oTK=0}|;{^`r`|c}ml+9PeB1 z#O?LNs*w|tW#o7oEXMJ?!6MNK<^}TodtR$g&@qa|j;Jo1ftrNsp*-_w%6vtFi=LIE z2sG{GNuR~mF~5mr?!_ci!o`pEr|(KRhZ!N&KIett++5;02Ohc2In!#2=PQP+ z7ZOW8p@X1B^E@rsP|ihgeBz8lf8$PvCH8Wa!a!j9`XD6BA6R51=8uk;FgCj{p4*Wa z@q#LB!Oc-tWOQNMf^Yfo5Gq;+(4-G?4oj*M);BbSN=QcbcQq(_@IA&%y;a}(N($U9 z`J`6le)U|isbjgIqQHrQ>UI{0Aat(ySSX56TsT$rNc&m=r9!j*CTJ2#Io20CcfL0rND%hDE_*h18T5JI@JCkrF(@gCAk z1dc}$1PW120n~Qq^BQp-H;-b16cFsx&Lh86+$M}GHkj&&xBc9?5`A$;U zkI6xgqdlM0*8)&=ASd(T&nC=6bdFikcOlM;)?DA&c48z|bj3MvKBY)EJ~R9un-li~ zDds|xCg4nr-)P&xPvSIRA;A2RT~hVim1_9QHe_d`L-cR>h)KzZ+uTk@H|N3iHFbG7 zc8OuZ<~x76M$M%wUCJ$$2F34NNqHchQP*bfRi0?NcXT-r0MansN9Yh*IqPoMnLjUW zKIajdd>4rCBvf)Om5OB)Uil0o0biNLoW38bl#mYKhbo8M*2`L?8w$&@K{fUb3ZVkn zp8}&VH=YwOYjGD+q#1RB7E`2g&Hb-V??qeFi)^7?rImBiCu_DO$&;2!1%)>spCi>G zEIeu1)&LVEX2YpD?<#6>J>%hz!MBi6Kf;n;=iF4&B2ZIMtJL8lP$S^+k|%X*ORO!S zUra&6RIPP~(P4&Z3tDA;usoY=KM8+c03Xt>-S2~j#~~NC)R(u?Gskt`-Tl?|bF@PF zBTS}gSK%?*i*BJatz7wH5e6;Ia$u34QJtNw^7@2|Z4`8>jd`O9v)f^RFUv4?RL$~t zm{5rIz?7@P#^jWPcLb1bqe98(`>m*nVgO#|pEp6Z%anX~x!wR0@&2;F@IZyfc=GGv zgjid{@86vSX@76KU!a0FB00da7^h)n?zKa6gyduLtp@ZE3=mxd`fG#GZMIZ!E1&ms zoTKt>wgR20m`TUFFqf(Z!ZSAspux`YOf+2hvks0u`Hzl$aq0mTP^z6LSo3#7cO*;; z+>~nvIBh&{6X`vQ+<$3BDGr-tNtvR-zoQnJ{2y34Bm_3-ANM#(k+FAH@vusBJZ@YF zND!`+(G=8*@DLRkA*(%n643MF(LKyR*m?YOV1L}O{RZtLUdNlO(c#6{@hB3fRGp>X zuTQA^eq&R{q-_G&Xsou3&(jfb;4C;XcD5eH)!e5MaO5<&_SD(0qpb^AHQ$@8Zn|~A zwG?!M_GtA*xVnOy8)sKGdJvxJn8_$suH;%%? z%k$}AS#fGOV?T#FhP=k=@8vzCik-H+s$t}%YNLx}hNA$VOGZqAc?Vcb#%hwWZb`q{ zq?x%2;YTdF$=cMyKMYM5x`8>xmUs3DNDo9`r8Nhq&?RZmj9$%s>h^C6>v9EU!5kvf&?s}uy!YaMf6Sn zUs`>E1I&M22gk9`|0b8MRA&go&HkzmOCljEP|HnDT^5?Bt*LAqTcSu2Op6m!8rn0z zx)tU|sR#O7wvO-V{k9c#j|5|(WhKo|Mj;Sh5pQnBZt+cXT5 z!Fr##pbH!;R!V(rE|6?tN zeDp0p<^s7RSkmu)?wd(tXYl?z+%RQGOwgnQWH2M68+Vi3M9x0QfS9~-$PH+NtKE*x zn9R>aqTemnZ!DcKi?-4l^FP7rPlBORK)uIXwv0a_;XIO}^pzs2nhuH#5XuNMqNx=D znfP!s?-r4!1uJ@S3aP;QIYnW5$K>DZhtJ&E639pgmaTLf$uAVP{728eTXFKToWGJ* zpuY7&BzxOw2qdJHOa|QS{m%J$@{E`BSigdGF+&fAvvSW4Rm4>i;nz0KGV{tBFG2i8 z+wrO}$6}P}*;fDPQiflIVgmSm2VbKdS;uT~Xc|sTyArr17T_2B3FMD6!+p}Esd&@V zwLlcc=8jfzi@EMfb#`LIB$e+6(Ri!hCc|zVf5(T9stHbMrH%=x35uIQ=}DIgAz4zy zQH5d6G3eF)`3vhQXtz5!%dVmr5ezG1EY0W7Ihum($0$Z4<#br^P2BlNu>BSVsL}5W zbHWX|644A}#Do5`*MnkOY;}hkg1|n^y8kBXqSz<#oAvo8ks6Z@A z(SW>Q?Yf}JxN<(Qh3JcTey$^tJxc`BefM73 z|Ftja_!lS679rN+<@w+!&EIefYJqr;futAID?Ta<30&C=t+nfy0l^X_K)}J2t#q`D z6$3v3O|>4y8hCqN%)jd3RkP$6a~_2&Vrk_in2IWX^~AlxIWx-B??JqAiI&qE(YbLJ z!c%0p>(!(B4N{Lkw+Kv&hUr;S7bnVRKF<=e!eP$|IkGPa*KQo4g_N3#TH7QYimaAE zij*kbpINas)e|jMJ9a#)z9JC^r zKD=wa3%hqF`zSr}!&af+LI5)Qo%bobIS~ zxruoqW9;}z8kQ_Kq%hrX`-We@sp!&2TZjUoDCD}2J~8I~P`>&O@I9a!{rHhEE$8o& ztDnBGOuwp`JKczYdvd916tn|XSDt7l#XTYXyWEsM&XcsVoxgP*(F4Zp(dlwsVE5< z8#|$ISx0w_I9`2DDvc7kb^|a&K|CL9h2aOm#94y=a_E$~3`O%w8KLngyT%wXJuJu` zzM1;%ay6S_^rnk_(=&4^`^PDMB&H!nZhW$1dsOhKI4S=2=ohvZ2gO z{FFPdPBudIhvWGn`j=p0FlzT68mxH)E8F7vX8SG}K!9k)-KCA=jR|rCG&eQ~wyO)V zMuijjjh?1EU{IuUe%oBr@FrX`^v-1E-k_-I9r?kA##!XmShna(F7a1TTJTOoyi%_L zfxfQNg}>V(WS}%9$OCGeIaH4%ETOMbLU0 zUT;=_qe8Qwq)=|<|KeWoqcZDe7=7%{A$*an70C_HOBTW#a<w(R zM7-)7PRj2?k&6>D*ph)9%MNYGiYg7w_?J|A?qW!}8T;n!+ZM={ax#(XDNo!9;HpvR ze6YkTSq=G=Z*C?T;_ghcTJ9C)`HZLSnuEA&w5{Ui?wanLc>4-C>oV?&Pl_-7GYtj6 zn5t_L-4U0|w?GG+L&_AWWXs!MnFMl^@($C%3NX^tBf?=vnNLE4BOb69ua1<=5%#Me zyLyBoUFLFY)SE|Q^0pF^w#t>tIv;jE#nngBIA-39vK?|LAa2x!Twp)6j)(nLvcjio zUF5{A4WsNFOE45!dg3K~I+GpJup9D##gjzMV+!glaC~aOfSVFEKB^(J;*vFFsA4ZV zd}v(BdGbZW-`HJKT-}|GgLxssN)SYfTCL8n2^7>JFufk^K>B~!ddKKWn=g7WR>!t& zCpWfj+qRP%c5K`1q+{Fc*tU(1JOBLNnKd&X=EGU*th(#or)oXBPMz9y?k?{K6;p#Q z`*VqfzO7@x(ca@<(sq~cNywaLT@H}|Fk=B*^Pv#pax`Y^%(N6f8VsBEibjG$A1FZ^L|BA$H z%GpYbw-hSw;AeiFJz}=VZ*|9kkF zifz8A4D0bUg9wONhu);$?l5A=jzzFy3X|IW42sst#SW z+eY9@XGKvXbzYSJ_MV({*Eo>E1JSFh45OJK5YO}y5I<*90^TjI^};+=MwHtIjBWsR zKgMG>x)}3$QG%oA+Zxhfs?3ofJ2eh)NR$@XL=qGa6dZ}ywe0+!W~q%;Vca}giyPQ7 zg6v78<~toS=P-HOUGnw3VKf<$gSq3oXdntdtaM@YNIA(MO2sZu2Su}|42oRVrH__e z2TMpEG1n+9OVdN~1vRPxH+s|b+swd?)Bfg6jpT96FK=?DWNTfWb0k@?G48 zLIf0DQrux$x;?{2$ga?U)@QQOa4^71@#UZ-_yu@Y88V2a!2I*ew*C~0Z<|_zYy*dn zuHgSu;S9G*BTiB4dcX|SWs(E(4;-Qi6ZnT68aZ$-AzX!xnPklV%EteZJTYCCTO|^0 zD?HIg-Zy0<{YXOth2W`+B{Hk0c{Bd#>j+A6xGDpfS^6xMdJE6Ej6&9cjtt|3pe*|< z6Dh=3RchW7{^;b+8u6~UBJoPO__Q%|2T|ycswG1gt`7|@0CTDo=K%_wgMXX6=JB8? z2jHh#p?4y<*pg+9UFsWPVak}z9{+kC-_6NV$2%!$|7pe~%ZiO;X~vx2ou^U+iBm#n zr2w3Cu8Bm^Z|i3bB^NAfBv;{Y>3g(JiTNE6Oq zpLXm$0=Y7>p&&x}%&Y+p=!<*^=+TrQ(&UhMj*%IX|D3D(VIsw8f+CtNtQuC z180A!!h{|7DHPj7^w{0FL=4ql!atw91Has6#1j3e{P^L5l`al)Rkb-n zkr5UX^)OUCIIb1OR&g>qoqV<1i^Giyl7s@HLqkQ zcADN+-7}+KfE!5NdCjKqj5Fv@E{JrTYC|diMN-y6s>y#cs&x9ZG3`)&pJy{iC^xNu zr9BFCsMSAFk=_WHFCC3`KGrAY)DNWWf(*2Zps6HRvCYXdf~3ym8%30WuzIwCks|2{ zWali&faTM2k+>Y7iTqf#`w)0_Uemyk;-&yoQ<(O=V|ETD&q|w_o^1M2WIYE^E0Cwn zahQ@*dOXWd(-QIT>rPZ*`%4F6XjcXN8j+8`N|m49q3Hb|-4RNM zHH7*RYcbe{qLV1~cG$QFxe$)4D-7pCo}KIR@&Q@x`*fMs1~qW5pgBV*q>*S5aIR3- z1>LTUB%e<(;Z^r~Xw5>@A}^Ks@#D}C%$wC&BmgrCO$3D|F7~~Pk!Vv!-0|VDv&1Be z0%4@+78e*(MDeB*pzd_L=p;dlJwu_f*)57~LN|hcU_EKFN26$hLbu-DtOM-g39lvT zUV1w)cR4tfbV>d%+xag-e!8G3t|5vYlwV`uKPRI0-{B{@S0Q7(DD|1?f~iodUXed^ z_^pM0+5h$@`syUF+z0w%_qh|DEHB(P-~y-bfCA5q3ykCS^rKSJKH9jX^{M2k?hT`Z zx%@|=Ulh7Z?IRR95=?=9f$sAZ5;B3YD@PSWde>}^+kzecC9VI9e!DIRkgHPy4C2`2 zf29aieB6rgBJJ*{41$MY2FvUWCenO4)06ZsZ>6|UZEBt7;GeLbD_$3kkJ{Azq9-oy zUr{Mr*Y5r0uIG!g#_grctcH@3xHtzo1mtFDy_5NO-cnGr+{VHgDC3jQmb15K4y85x z8{iRn_=k_KlfJihsW|>UD*W|Hs_2och1i8TJ+V=GR*53Q& zH=kea&jsM}?9p1h&8i9Kq-*|@lL}1_PxY|Ya08d1F+Na1SM>SLsSH;mmZ}B@`%hMP zD$IEk=<6zyCXr%M)DQtUsEF%Hs~bMzTW;0<&r^ilpTcyq2eLK3(+wrCa29;Dt=%}k zr-OJZ-QTb!7b}AjIhp1KTgtXmeEcu|{uwGyo=F0BFCfVF!Vbaq&g}t66@a+G=n!sF zC}4rbP)vY=t7QfO#r(Nn8$v{1Pa3_rXmxb+9U;s51;d_2;qD(<95wHx3=*~1;0%97 z+?ox_pOi|5PnSds#Jhqq=hC|eM@ju9Y6x)NNXM72|w- z)^~wJhVX{`koTxlvy&^ePirW;Ke~i2y%V$&ngFBrL2tS*yb%K$2Uo1GSYy30h?K)~ zS!k~`xASPzhH(*_TbZ4j_3!e3(83QErZ+{Z7XxKt%d@D6YVtMO_9KdHH$D7S2gUl2 zhgvtmsh(a+ASMFcZ1T16r7?=w(kNdc#7M)*NR@GS*<-ZbzqW+epT4^qoCZWX zpDf8i@sRMZEl90^5GI>bQGJ(sh1KHn3DXkJj{GMI25V&f=cL2v1SybP znYqC}2GtP{i|1z8tM3Z@3k&Al@ll<1lXdZp+KldehRYP6wL)ntrg|;7htdtE?2UU1 zSr-e!oqn0O;X`4UaP4_)8UO-Ui!dr7gu#oz&JMQFDb>R_@MiJm`G3axKgTt)0OQmuno?3lrG3LiB8=TpDJ=9l){xq&v|9R*CyVf!)A#zi z+kVas?fDjB!WCaF&P;WBze!>~_E{$a;KIpt%nG3Uqn+G1pTqI(w2Mu{xtRdSz~vf+b*4ZtOaD$xXy+g| zzB$`R9}6s$32#`@8&Wo6H~HrtL936p(O7kmRA0f94@CuQ*uhL*R-a%$iOb6=KemzS z51K`*&*76<%X;MHxytM176i#qg(1FV{7pCS1jPi7;jpmZvI&gW=uVjjYjiwk6{H?l z!|GVap*8&vaXurft|fQapMhh;u65Az2Q>x56xE%O_BD+2!&F(UNq~SUK05u0I9LmZps3SlRG3TfNFiXEtH{0CkvmS%x$gfe4e@pX9`P?>&1pA3B#d4aKKm~ zK%l6Z4N2|U&rkJE71H21x_R5z{C2iF=z)H|oi|8WBv6Md%3ed5zbg0iyvXzNCJcJA zTy^%!xYlNW1&(Aa2xPPQ)309Wm7vDp8#%t!f_9dMpqfXvlt+`fWbXb^4@t*q`hImR z-|vv^d%_r$RD)m~dx7Fg`^=JtMle=|HsqsO&ky;v+e}mr8MnUDE;%#4*GosD1E&$3 zcAOXdu6VhP+F+bWdgH{#iWV206himUDq)T;_{%XI9LEm*q?E#j=#_@w8uO#cF(<{r zSpYwRNm;G&9HM_Z;HOSPNEzICIx?aae0Ktr_K)`e?M!Jyz)ULQfOy29@`%wqrQ~mR zcFltQ;bL-Zf|JCM3+%@NdR{R6Xu9bO*(0rs{@_6+3X$&67zEtS8D$*yfgf9P>4XIf z=erSFtx?B5mt5zD!i`Ugo#mEWZmrtPamFFe=K#dt2|aYVSzGj`l-uQ^G?bWBIUVo5 zex~`ZJpQ??_$(%7vvu<>hVPhsUq1EH-6u{{Vrl5;*t*rk>LOBU096Psq_D zze>GCp^h)5x}B%;_bG`$W%2_PCeoHS={a7~qxLTan;!n!u#&hTG@kUyOvZw6-3Kf3 zd2mPBH&uen7$5&(!%Y=%_qgbDghC|ZX8X`A`{H3F-~qFPI4jxkx(P2j-Uw|N27rN|9CGW-L=mmVZWEO)<@8 zck7|$$r}2Bcn0F@lgdkSj(lNwawE;6lMg54AmBAqqpka3zl}qOBNS-=TuGV=$;aV= zZ*lo$>gm7*j2jcbSIucm(qNp{PR!rWN#)mco{suRIUYI{ofDh{#_W6^R_IX*In3h< zc<~wV=aWy;zZmtPaC!S8UOBhMk7`i}qQodg+Lqfad69mShZSnF-tG)D+xPL@FBi4zrs)>z@l5w4`w)sX*H{2Al{LXP4>W9wR?01en z>zSNuSAvRWj-&7?jo+*DPRH`RVIV7;+3TyBcI+DYW(w{v#FvvqxxVw*<;BYqHulEG z1`QFQ5xtUcR(}E;SaAPzu36+2HwXX8&kAQRLdkHFhQ%eNy{X6`%I?buJxUwHpf&1k zOZi0)BTlJNCsy&rv$~0hbwqsV6V^m5GuOkf`R;YoGaORW(KyF*M+y|mX+D-UbIC&y zKz6>7xKMD8J;CeVbvHt~4)25LMpLvAzG)0_u&;8y_UQW%=TL4&!A^&8ghZ?r9KR{F zu&T1m|7)>`HC8$|+D#3GOe3M<}2} zEB0b8E7vMxC&_rrFdQt?BhO?vJbb*BRp79)FSQaUlJqe*(f-U+T~qN|h}S}-+?F?= z0$Q&}#OLtpag6tJ0uw>YHZjhsVRwLtM$imNpvqJGtlhm$Mt=*vZYWx$_^}Jl#e*`s z+#;i}dh)J6Kdt#>EV(-HRnyX)nNP|)W^XZq2%`kwb%$0Q%eKQe3bSz zUSyOaIQHJ*tipBe42)JF?4g@X(?i<9uj?oKH$g!GgjOT+ZW)Lkr*ij&e;fJRxtt3N zFhGf;!z<&3>Lt~C+kD^k`d0sJosV35BAK3&)AeJyL&>1)ED#=xgCwv>IMprGL+4f8 z#gtT@Sw~BhS&G{$d^kqpRsewK8q6qmqlb&EwkI-b!4-R^yS6Bvh4E|%ifGDoL6pm4 zS9C(e_oSLZWVS_rF^ChsqXJkGuMlwr@=@kX4SKVbt7PA{$5MqaRIz$8RMCXgXbk@wk<25=FOwfj3XWOUqXLo4~fNk-BrjqTF zVHdsR=Wg6-uUKzBU___uT*?x3U(BO1h!iAd1mT*s)SF&O{ zv5U6ZJsoZU`c0$7ACCgT(?WP9OFi6&6Avp29)$_14ylJRp$ZwYocL19+ayh*3I#`D zAhJ5tr|?DU6rsJrOqd7L2#`GRfPzm$KzgL{bCD7Af`jJ*DE@H6V)L)tCnbi{AW1KN zknEj&rt~oNP@DQ6cCiR+8a?5(lmQ_IsaWfz5jRm1@(#6;)IWm2-&ubS+oddF(`RXj z)PR#g+4r?ub*TkdwrO_I^d*3V%jhqa%eP$JFY{%4Xf+6J^x4Ox1X<%=q+wrPZFCT_ zSi%X|c7g;{pcx8rRbYE*TCS7=qZVMHT?sR~BB{W)bvniQhScsrZ{aSn?BLEC@*;eK z+L}*WZJg0M$Knj}AZN&Y9_qe0m_Ti?lASeYW4@gi>#6|11I|y+0|{Kb;E5&H>pO4+ zvrlk}p`Jq+b9;&CjESJNoyM zIgWscQWk!g6Z8X3)_H8ClMBMts*r1B?jvcxWH)Nz{!$&w|oxkO;Ahe z5@#g0VcfQXoamA}+d$fD^WQ^4pV@1CPUUixIl0}M6?VWMN&X^7^Z#Tjk`~+*SePlu z)T)f7v($`ymWQsaq(!t#n^+2}f^kC_WUF@l-FhP(*%j z5<0a9;;YedzQIGO&g(=QsrH@Yu6;kZv@W|yXJ5xX{5hbA$_-A!*JZ}5FqV!~Y4f`m zJEL1ZKyl7oC5#FyQS&>hce4remu5L_{4(stc|=CSX`CuPLUYyyyvPoH)@Ja;2GOz} zu%!LGT~=B3j+rdEtH2WS@Ad$b<0<=pnpuK+1DF!|YOx-2v21^t*i)sxiD_OpGlfL<`3eF9XXj$PGxoWId$u4pWVimu` z7U#(aO}2Wt1|?bpm1IGyfP}Sh!kK_~sh`UE_-I8-v;K&c0sBxC%&)^Nq=a z*^f>xUdipP{9V!ro-K0^(V5*YUT9ke`zgDaSaO0$hUPQE zV<=f=>5yBt^Q$QEXJn6iUNeuVc9y`W0!N1WY&>s#?zXop!7m9U3%|+tyPzBb*&wcB zvmjvl{WvHSXj(ey1gHh@GN|?G%k*l>gSy?B?SnRX6P`72Ca3hA9;%FK-eBF~*$anh zrN=1&q&*A!;p0_{qLMsm9oM1FzRgW+sVKjwBHwH^etRY-A>s30Jc1aYw!4E1V}5-J zapy{32*2|vH!vA?-cUjj$d)Sp+hLg)CJKxd;!Ji|*l<5Y6aNgjQIc}3*bAV9cVr2? zq$TdWChj~YzSyQiejxmdI$5jI7{UCT&U{ANU;uxG5W(W|AB%p>68^-#2$X7l5psSo zXvQj2Qw*yb?CyWH#xb`7yU8S>@scQM=1!5Ob-n`AF;LURP!&P z>*^ix_vu2@H>SDlWz*=?} z-5DaKy30C^aYXJIJTCe8E~~MoD8g?0LUzj6Khk^WR&dl?&_V@(1gcE=$1gLLEBI>} z!~etUG)mKjtih|3t@lXp&m+IHjTS4D%9Ux0^5y8%M_G>Ojw}w^JAd>Tr#7_B) zgJr;;+ttj+rn1c>)2&nWR`%;FQcmU#uMStc#c}cG{t2$qOMmf->Wd1Ph6-h$f$7;I zWbJ+|I$ZvH`q31qAW&^$^Mn&lro%qm=4()EmYRL>YELKnyE7!EeQ7;!}<=A|hA$|K~!yKvj z-Vad+#~tZj1)$pH@G#>@H#Wb$r&A;#mh)d?5 zW9q_jjMCN$uabWWF!AL9(A>x(D6uC8!peB}oNKv4SvZ*Zswa_$HB5bl2jdeSSorNA z(D(sTYm_U22R;hBZ8?hjRa%*Gr*6`0R3aLQo{)ZMCWAK5>q*V5O>a+De0_BuVaV)y_#Dv% z7A^DeuIxj5^vqwr-M4Nm9`jb>6!DDM^%%7(Z6Q*KQ~!$d-*k|p^vn63&bGjD%~h*; zU(!!H3R1}Btr~+Q7?V%u>Uws;J$Co&`7bJ=r}q&?kE(meaqheu1&989qRJsQo9;2H z0p?$#kx^`e8ZN_-+m<_Ff7FS67JZgZpfH56u}??KaOl}O+Jpb!%1gUk-lcBz@{aW? z^OobQJP&n2<}g{YU_rydcDubjVv^NDgWI3Uoe!kaplek6u}>tTSZHacx+Id9gyx)D z_~_CccUU^>g|MO5!=dg9g6*X+B(!J!35V#|Kk(C!#4qg1S_O*Deco9Qc>03ofTFBO zDodfUxaQXmGNVC1EmLF$$$z~Zr~>w(9S;I z6YV&y$h}H?SH9$MKt}3GVM6f+xjqJ8?0z5Aw6U;If^l1-{JMA~b`dds#Vvfd@&DineKg9`^7p{(>^ksVWvz zV9K|;9s|c?rpMw&^J-S{WJipbMTfbgUYJqQ8&w`(Cz2$<+dsj~rwR ztO7P<{=S!+=k3N%LuajWd@pG5a*si0n!Nf#G3kRp(4f-m=Ruu;BV0LJ zOAb=?9r}$X&3^LH3>yqg8c$q9-;EjdK7R7COIORpG&_p1_`aF0E|W7ChpRbU1e&9xsED*?2{Q{)m`io1s^PtM!@gZ?)NM9jh|9SCy1HAN}^y7ygeL`#9 zxcs_1yV&Ft&b)&wr%TxslC>8(1|z#(E*g!D^B}N|MPmZk-L6!Q-x$^n3Vk3}vtyq` zVsR3{D=$pz7fQps6Y0&j18eG5u+Zlk9Gp0(xaxXI$aV4|U!`|CAOuv7`7RJN@N2IE zDau0QR&vkO+(}X;o}%jsn_^|LLTc=mU9yi48h#J0${tDZ%V!-?Sn5t#jQPSVJg3!~ zY0qOSz0eM)NIWWmzG%6~{3lRNx4jN?k=~~hKvp-R4_#f`Smyu;6^*$_)kmX=qc)7o zPJi(9|M%d~8!3ansQ`@rw}Kb79F2x$$koF_jsEM$#ixg#mZpe9xP;~oyw*(okRIMC z`)y92kJ)3*1YIUn{XA1T#!Lr*0>Ol~4)I2|=CZHjj84!+jn1PEKxQ*3JuY%_xr>?- zDr+$g)rqJ0>V0guLSiwL>M5lC(f77u?IGO0Rd$e!SkRRRdIbE72TD=C8hFnMJF$+8 zH?68wu4a5}mEElI0#Zgg7l6j01VtlS0N;8LG9Taj>0{*vJ`s<7mMwS=5RBPsKo1U< z19=ZtQ3};sYv$w=gG{-5IBVv7tiq=!SMnI2v3DCur3?NeOzdItqUZ7_oymsGH9_sf}NYb2Oe?fz8(0$|8x+8{= zLbL4C2ZE@088Tlh2TT2InQ`{`&y)vrA}H}E{BEHxFGM6|(C2!Uw61e{G0h;C>&xJQDbyI(!QVp|2rRAk zIwYg61(SJ=4Rk?j)3X#_b9oED1$$xld@;n%|0M?RLj5bZbwhqpD6=Fc(507v$S^M<)c&E7<0UIR6kcvH7v{C15ab)XePlU98u2rgn z2(A5Sqzl*$Y(TYW-Lf#1ZHJ*gQie#;>Jy=55*}B8I47nWo#CBhTMU{V&2A*q4*--rC!<-=hXNIaas7nJ7AFPwfXmFNnvVXtW;lLt)J{w=SpZsXhY;KfYwRnvBL z19q0?+zg2TX03MtYbtRuh}1K)&f_Es!LX=WR^SwVA6ZYhJLz{1q5ZzP6O76|3{={+ zQPlbM-_=?GPion;icKGml9!?_eVPrFK;3V7V*;5WKVdr&-%>ru{~(3QT;O+H;FlY* z(DyBqRz5pTth%PQz9bwx3nD8bUjf8;XzQ!*hka4mwNP!}sX~gu&e9hkLdHKMA8#TF z>Hk4`3E|OIHe}j89sfrLFdON%Uh+}^@`2HjajPu_tj@zPh~tM4rsRUD9T*S)D2`tV zI-C8pW7=yW7EV&s%k5xNRx*Er&mRD5#_{ngX}wAOJ81f-p*VJoG2a7rjt?B%)5%G+ zwdD9^*&pa6(h~K(4+n#(OfxrNhF@_#YA#0$t4pIhUgK3?jiAJ!00pD-C-RtpOkqL{TTRZR}TLJelnSI%Jkm8-4jF=Dz$#hbz zv6I$a+E~v{T&hbHKJJ8IT(7ZxvF(VTyVV{EVnhrL1w!1!F0zuxpsf?g!iNq7dBnes z9}EC0dZnk)$1V-@*Cu{l;x#t6oI9{xe>}k)A9DLP{HSg@XCq76X}DSr%= zX9*BDJ)s6;gVmM}tbxC=5|nlMPa!3fBF6pEAI^)>`M)yoP97K)T%g-Wg zD{|Qa`COqTaT{QCcqE-qo*HUEda4B-{W{n}Ipe`)w_V@R z>5N?3r21hV77?~Mop1w`3fTE)eVe`#KSqgOp^f#$#O%R#Ur=I5PXXe9%{{`${MRTv zt8N$ZFc;vvT;VTA#WDO7ufM(|7%x=*l$IR!n)7}dIN8^;0wZgB1_2ri5B)r%KH$Up#LPSAC%tUU zjUKqD@aA17Q;w}6&&oDnrH(h2kFu=&?{@phC2OzgeTJ=;)iG|4sVhQUUHji|*VrcV zW6v+A-=C*?@8j)%8(pu`@3XRCUlSJtHMWqDT?R|C3i88Pd9QI3a(PD(fGVLJE{~2O z=2w*D(obA>bmpB1(mfYG|EGjihGibze6;_bl$8)G8a+gV7NwE+u{Kqyji0)( zPy6)xeXH%Jbrh&9vL_4+sW1fCO_O39KQUB0joXhFBTiEH-uSnv=oB_)M`9o|y_?77 zO9&ENbnpVx&Y9j9`43}6>ev~veajo0_<7Z(^8sBOG%QFLRIYs}fypm=9^U)+-MDZ= zpKSf`B+V7f?fL6Xu$k@t&kA~n4_&GAJvu32#gh7DbRM8JeL>(e`0vU?5sH%V8oO5- z<}w?`4SRU&Z++<4AVV`e)A)%F{)mbFVS-|34}@1#o55%;Cy)FiD=W}v{b8oB@mDb^ zl5%146(4B^D8#TSlQKb?Dq%wryi-}~z{{iow`*d;KDRSsP8O58Y2J)!;I2^z>Kly< zLYee#5-RY>U6=r(ZCocE`Sy7@G_VjoN#H|Nd5JKtAc9O=*%e|11P6AOG!*7&qG3aMCxPvtw%dYq?HG&8 zRk8Ot%?<`3o#C`8PAq6y`6$x9YzSN+vp->hXT71$E~W=sct{JoPBX!`cHz)yH2DVX z?L#B7(*+oxS=dTQ9iO#9JuYt$7r_2`KM;FGOtN)|CIyiFX~=pvGd+s3lp_|~u4H5_ z4g|tyzM+mSrVCjN=EI>50vs&;W{>%Ws(|tWyo&@M)B}QqPIdIY3MM~ntS0q;^U#xv zZd@^1E+dN(hmVm&1nH_ygL1+8`}2?IN&-kojjzi7_%CMoTfsQIv4L>;!?vBt_Azv- z4InJv2;1M(hTcDDz-!H2_t(4xg=Npq^8+tDI^}a;ZfQ1mh1+wdy_BSQ|Vjs|y9ze@TGj-&g4xT}Gz$hPqg}>MG^qr#i>rq^*bO6j*$#YE6-GoIP zW6AU}n!(006@uBZ3w;uQaHR+Cf^q}7);Q>;cZ2!IuOGcB&1ByZ)}ES8Nb4I1s}x3H z)^1Q-Jw-{sIO-nqIRffQHqUCouOBI#%9(;Xzj3Nhr~?S>WNlKxd2{5llxma+_mYi! z^!gb}HRR%1vthb>n|S;>H?ANU*GXI$+j$h)9a2Mjk#o7Xq-j<^3C0|cOMsfx<^<-c zEb)`qKXOUI5X^IJH(h!UlnCh15Z#&Dl~fWCb|s^aFNy-@SyML(?@2d)LZJdu#(Nz3 zx557g$Z{{FXm>VM4&wQC5yblxEKzRB*FcSY+yVw^ZIZ`&`|h45I-T6d)^B*wGXZmIBj{ zO}5!R%S42qDa?IB=9IZhmzZ7kt)}(z5u8H1xyBv~xeuS?a@#AGp%^Z9dlNonP2Wi{j8#lgHfTkKg(O z7z!|ZMJ;sBWrY|zOA0tW!4SfE!?PlLY1j2Dj==CM)PqUIe}}EpQT**mG$UBSI*Yyw zNElvJ@hJ+0XojpfQkRYxPl5p6a!H5OqR}@rU2!FxKq{u+t79=L=}^J2tfO)yzJo{Q zO)tDQr;c}EhSQi6Mo_|=v@7E%{F5=ZMT1C{tzZg~^K2j;5EwDec+c&fw>P$D6;HUmrA)QThU4ODvGQkXd-3Cy$r32W$4>tQR_$E#T}dQQ{rF3Ovm$URIN( zS=V1Y2E$*}IH!!#(`5)dJ!})oQ_T6O=SZ*-p*HrP_ydMRPQLitycr$aGzl*DNWDrj z6ZvSiTj+|hUhD1~m=!>#`u$;91=8cgUiuR_?g^gKdo(j;7^YpB%_w~1hQzQqDXGGS z*M8;hMdO66L6m5e9yDVffmyp>H4kfP$(U_%_)dp{wu}1t1?&!LY=O0Mn2H%UI^zvJ zXRU}TeuZb;w=P9S9Bj~RSg0g-KAbAw|Bn@6oSWF4)~NcMFrfsT@-cbBl%<1;?MZN} zNEPS~KF6mBn+?IQ`njpu)TzWEh3!^9FOEu7R-WKQRGSB`gwr z&R>fz3h9b^DNA9g9D%=ytE=%K&#dr7ktXL4Tk(w!4uh; zMPhd+g>5fK6UbOlwZo&dln#>D0}<083rFMHg`-gHT7tbTH+M~1O1`{GOi%vu4>KMB z9xHH;7NbmysMHO~^N_1zu&xZI;c^WxtP`CQ785-XoDU4+NF0z`MMB4E!l)B{Hqmy~ zLfceXR9NgVLX%d3@<>kk%N*yJP zK*QrQ;zeaRj-i?a7GQz$bVEk^AS1&Bcgw1-nT8SfZwl7;C4rIIb~BBki#@mQVg04d zW%`bM9S%6SNZk0%Z&4&6LdF#H-@+d^jgAt~#5bnR*qXC}`bnext8l(TrJDf$9v-ONWuSUFKq1d*CA{_6Z;kT6 z+HMCKwWv|D68o(Wqa3uC3Ef9PUJ|BsZdm5SEi(ywL$VA~ZF3L)qj0dZ zZJ-CXl^w)^0nO>16^Rn0QU)f0#J^2Qby^p`jSZH=3GHmeL?VTVU%ZKOnKd3Q@eY4NdjNW(;5tfX>@+>3bL}E|=NLuT$jE(_{}kI?0eFUcYy} zm!(Kq2K?^(`!GiYsv?GR@9U^wcZP5-I+CSRjqc)ku;0)z4gwCSDTp@BH(-fwDxZ zIs5xt4kA$#9(XDx>+v_`x9pyn?Z=XllqD5b&FVQ5$BmIRwClMUMIP^(ITD8n4J_hU zf1k~PRAm)gU!rR}ZHnvNz3QHhgV7WJIzHd0x4x8GvT=3P_@{UBtiS3P{;78B%eS=y z(b}826C2gbqC6b))js;JldU}LNzRs~np$MC=C8QS0!$M7$Avegwask+$v$aP!Qy-a z$TSleyOZ6%f5@d_B`SNVe{!X9jpN@+T8)~tDRaT)<85HeELM>w6L~v3$%qn+Jnfgz z5TKaNrv!*mIkog|95ZBZ_5){KgXa^0a}@GtsYnqF;m=T%S%54g6OV7DS|n5Ti+fwp z`}IAe2ul+K|7aqMcuSG6#!_9Z7B>}lZ}z-OY*VZ{XgU%-gMUE$BAN=Z!OAm$LWuJjRhuj^^7!o6R;@Qlr*hyUT- zf$jU_`DRh^P4N|7Nl5I-MD4}^NtRF%jpAVB?`nw4imq(NZ$+4Zs?i?Nk87+wvYoNL z(MZaXV5uIY?8(cU=f^d+71@&6ej##amCVdn#ot1!1+h?1Iu~1-PwReEkN=q(Rq2XZ zB<{0S%}1AdZ?%=@lMZ8F{XXqz4{59Uuyn`f6<5(pLXd&#najHmu*MxbI|@z&KCoZd zg$c1+%FdGdb5FwG9la#xtohR;E4UhiYX?^DkEcj2f*bCFEm^UvpR4Gvej$=D;@2qm z*w@=T+wtS}HF?p>ZeEQ|0WZzkC(^TZmpB#aZmEuA-CR}eniU;&?T1{Y|4cPEWg_XJ z7dADOC?D^738?F#noC{04;?pAmD3~Jnl_P?GPvO=W^Qjyg_-NpW*gNUS0jqdmqRj6 zEcL1K5|*^GgP!zFCD~??o0}c9?1&TCL&2@_1fZ?Lhpk6{w=kgRI=nunOd9F&N32z)dhi6^MneE0ivDQiZ%N-ktUNWRk zSxpQQdOu%^uzkg)yunXNLq`dCGd)KtqnZFIrf0e)Fs$`yPhRL>XJ{5I-P9~8ts2pm8_!e zsutc{z_U6ZDBk(20gf?r4}4+A)60Bx0}xm|C|mVsay5IBKx?olOYfaITi_0$OZ_}}nb8C3L zMMsqsv6)LUG?IuBQNbi4a`%dd<=>{LX(~?Ail%0;CzCiItrB=bCtaU<{!Y6subMEY zMOOSv;YQG+#PKH&0^dn^{aiZJ6{sX|?@!My8IQAF2i2cDERSNP)R8Q*{;kPS0A*FX zl_!S=W8a)sYAArTwVtWVP|S4PQOwjHKgwJgAMW`5lNRGbYD{>j+BjqRCk$!GNN@-J z$;^;@VvW(9v*gX+?25}DIL3lyw22`;>-p1~iuGu|WCH@k&`q za3m1I7!(?&>Y)bw6w3(h4wKR{a`!jVe8zyEuDark946eT%tk+Iqdf;vw3#a4`qjNPY3h z?-57ZmpZ4bt8bEf63!8jcL|-Lg%t92Wa!5(3N%4dNF*eb9FRN`Vx!I!Mj8o6)yCU| zISUqj!>M;CGx2{jv#$P_w=f2Zr&}S(;C;G72m*TU6-g84DwuWxSfR1Y3BRK%LA$N@ z{<_C@S*&?zrmh|J;>mFGetaS2bL6f=frVS>3$dom`t0!IUr`}0Q;UN#g4;j=nTx6i z1wC8R{YQ|FYRo;+DB+Ie;^Z&IV1uU0D#?Z6mRE&ZIjtRPGYzXy54X@Il3&=jr zOKGrsTz8W8EW)-=Lj_H^Ok`|7$oHgxn}u!u7dDi~2rTB7f7YgOcyR28VVy5f=a- zcaAwh%E#2!)FWv5QFU5}yTi^WzVdi(&TBOZ$kC=d`j9Gi9d25l61mw~2iOq^##09LoBM-aqqZ;(jlu_AP+d$7lIAPO2})oDXbY64u*iTZI5k zYfkRhh#1L~mu+feMN|tH800bI6pIi^{L+eH)E^Ed3xV@FM0lm&T=sgp;~gkJP{413 z#Muy*yJPec&yv>J(?u%O*cH^b55-k&+k?W-K{wW8XVr$j(wmJB+lmGPS;66PAV)BH8*GxMal(vCBvT!r~@oRv_UH6S(!p$^A7J;gfumYCc*w zVi7WhU#is&*on-&@uPD3UhQMQN$pRr`ABSvru-7~c;FQ1DPvjDr;Xk}X0P;yIoYnc zG*=}~pGYnnCbCdHRzqdN`;z_kpf83>9yoZ_u6TFBchh(nrOX;lLhd1;hvxSI;T87| z4WH4K(DdfE!}jOX*T47Hoq(^)l^vk}!~b;^?|=94E@o=0955pb)fUZzQf`ytVH}4H zlf(`BfbCJo+2BtW!(>dINxHzWp{td?2LJvLV{la5Iv4lXyKpG1p3k-VVZS_}v&3Qc zFga$f@M9#JxtMAc_;i0=pE~5=o4KIVy1uzml$!D=VO@O5S#Ek<>zjN3%y*W~yIfUV z+=_bVoA7cGX-&A<8MQz48Rcn$nQu^1Zov2UbyvK_g)onV{LzX}9BqP)Lt6)XfL1p# zlA*>Ki6&r-B4>GqLfga)le;cbAZ#&6>esIU-WFtM)VB`>+{^+;poMeBQOn^8k@>0b zwCZU|L)j)f!qm^m*e?MUD^sDyY3>K7t{qIf?Za9z@ly^i+Sbj8f^1=tE-rL#Y8my+=(VQWV_cW{102$XtPK#Bz7_Q9b(lykbUEE)Tv#*+UuwQ<3XOyg<;; z34FQ{x;j7+aKecnXBFQ$v7M(?236$>l|<-o+z&@AaU@gmicQla*_VmbTLnj&+JX~w zoGP=GJK@PA5Y;X9u-|&WcaK=B21@}4u1@emrJRaTaiA4rzp;D4RwgT|=aPfyq~!z- zv+iu`CX{j^Hkkv!DMj7skH!l|B5cyPSOb1QM)&IG0hgjBro*h&T1jg3)^nf)Rb*mp zG~T~7o;9PS)tayjEY5O!fuadl^#U9aflYP3T3Ip-PJU&`hs zoPpu-78o1LAWR|2RR`?S_gcHeMel&2s$lm3<8xQZ?mfTzQoYF4>kF$r#FQiS(mHTC#J%O0oT?+_wF{K}%F-5sA522mH*1?; zs^H9z+8sm@4GK^!qrQOF-*n%_-uVQcn~XC4K6y@M*ucNrR;JJ2&0NdoqMoIYONuTo zd_U0ad;vH$xg7_#8*hI**dea!!SJ^(RKm!&K@6u?o&y8&7A;Zwy7IOQX83=cZe7xDZTRX5&QDj!{<$K5VWWmSj|?Nr2{^G>vcfX; z@WrDBD~Y!sqj=q9uuAtOv;r$P!ayHeMe}HA)Es zaB!yRiR+1|84Q;Epv%qfw95iyoIlCCAQOD>i#t8_Z&nE#uN?INTi&s=pmQH0-!GYk zx}S0tyM3QdmZ!J6?B0KRy&TRT#dW{$m4c=}UhmIQwopFmeP0g8FG&PH_WGy0{oZfS z*FRov56;2Sb1y&ckK(`>8;={{^!Zhi&FB64e4PaJ@n-n(G|6Qs`2Kj3iemVFd)h7N zyJYzOvb^Q@bk+X;vJSR;UArad`#79RBINrF_R8+I(yV;XG-U5x?|yyS%iIEW`L9( zmE_**H0oqx$t&BPatQ15*7#v3>RL}BxtcWg>qUgp@g$TL8Z2h`%vB{KSJvJ9gr&}-ScV2|F%^%<`?~=;nXWj?vS1RK^S zH7_%#7+Pb@F3l^DX`dP*|1fDD0z_d&9#e1W>-z`&f zR(1<2#||DrcMAYPPLTVbMg*+F{zMVjtm%*Adc&tPHBRuDHe--V315tgRxAV7XiO*Y zuh!W}sfA=<-*{bK0I+Yp6v)dTB@98 zWcV6HF&>R7E!#qz`4e^6p8Bs++=hJ7PIUIyG%wq^01leJAZ$?1*~{RH3@WoQMg~qE zoGHSLI4=i{@-5^5^!LX>r0!q6I7#?r-xS*dU$P#H@zWQ`CGDeXvr*oK6)8{l$1<&| z^siz~_vN+M?|9G*4m_>Z+;po(46Ca;pR;Z)-@HRmx+-9*El-~26m5>@_^F32a{d+z zr`#Z=U1sk+fT~L-CwN_He9W4cOAR%tRC2R6@RQRDAt~J*1Y^XUj;%k~l;b4Ex=xJ& zt`U#cB>v3~NfhGeHI!I-K^Z3_IC&?S;9AQepcW!TXkix~vr(z&MK=hxS8>$PD{CIC zQt#FE?b+*;b+zSHyVDM_#`##;s_o|do{rSO+l>DTDmGo&32%;I!FKC9wV$1Hf5mS# z7o0x3!|_rQSYElc5%+|0_S1buto-aXY;rko%ybV&TQL9i{sYTkd<;W)oJo~kc8}jF)X_S1O|2^# zC>UOhO753sbF=GI2gCQKwyK7rLK$3diz@sOpDEsc zN=IX|L)1XC=V-a7SYh-s!RvM<7?4tI>p}5&wbyh@`adsg?dvdOJ z?4Dm5Jh!CE2wdZLN@a(ZNMARntl ze5d*_Gn<<{ff6mx@-^@m~ra-3x0KQa6izDVkXmdxyghEC%vPrvR^5u|n z7lG6)FPYMf<7BoJB{+JxAh!H-gDiVG`EUvq-_>j}rXItv0lIsF4)4_lZQ35@G{iIZ z#&bIEZ1uF4_bfmR-X?MoM8sB0d#-|pH#!i3s}^0< z=sp=rePq`)%1&bWIUGq;G4ffXcAF9~(PG9Y%V9zY`&W`cVElKQE`U=+iLv>di zVA((u(5T4G%e!*ydXmZ$S9~d12GT+6jcn!Ru`Ui1{o3&~1TeubTh;r{lWoU)SVm_bn zJIi$|X3&1ZCB*8bQnVL}wRFu?oT{>>1Y|oVT)C=xSG6-TsOzT3{URcWE*a7ZYCjS2 z{z;QsbgVYI^)4Bb>W1?oV7C+dal)Q6*KZ&VNcvJrA!9S~BstdqDv*FpYBZAj}R5+2md1np~W`Z>JS zoo02hlR~Z6ZImyAx&un%5$?_frz}^FhpioBL}cL<3H(`Kr4F)-P3Ko>2!5VwJ1AAd zRZ-24YkL^f%$Zk;II%&YkcopH*?mB3-55i_M|mSg?DVRvUsh%6jZ=L5JDZLS4+>vO z9FPA-VURhZW2bWO#0pyCnyE!HVOypOSu*;(Be>Ee&1CxW!@-BOJrMBLG*Wed_@Gjl zZQ%j9h8+1<{{#Q^7ckXQmD3JE&;lU1?(S02^F@N-FdyBl8D5cXfiNTtWERBPoLKRO z`{kMoDSYD&`|6fU;oZrJIbZBtHEgszid#EWG-H93{;M$%L~+6;X1`;=pus#lvM;k} zC{k|R{w+&N6H}XkB_hYOhV`{#aE*hIN9Nqix93~K#pxf3_Au3G+JQMW($laOtdl#j z4^S=!UiySz+KnCFt$+wKR44VZ!c2Nz;X{9-?0A%t;My~_Mc}=x2bp>PF3HhI_F6Hr zx#Xo(TOT}0y&8>)D@jH(TG^_t^Py8XMfy1s7rOGw@&+;afwq`7(7VFUOg zk})30o*ENx#e^`Yhh5alAnmM;BI2wa{~swrISg1%R16mQSTNGE#zIGQGDv?tew|qh zc+Q7D3BxXu&oX^%uPzf{fVGq2i0L8m~0^#ok%MG{ed(Ao-0PGRAOa5*`t}1 zu`iHaz(-0Yy(FwuHol~#ki8SyD()%=ZVu&~=559)amid{jZ=>}@M8Z8gdk!Or~qZf zMDNL-3a$ZE5Zs)e2ATE0S|}}pTGT3C39b*HtoKiF`_<#XcV-|27=v3`Z23=r`~+(v zac72TdZw9Mz;O!IFk7*_87JuH-q!)-xAgs~n$tz-a&~8-2Pw%^&cv~p+3j@HV6D90 z4StT2Ld}5=3Hn@fT3oH8wOT&<2^$UDg3+JS>*dKxCy_5-n=T8rDL(qO{bN!sv1!Xa zurph+-(UT^uW+XObSO4x>LuE&vsj2GJDhzdTlVfawqmzzu+usN^EdVCtU}w`98!G_ zpb_5q z&QHCdNhSD=fcF!bBmp3iz*CWhh}?9Sh`C9A!N)fN#Ed}R}zyZH2++oYE+&1 zUGdfac%CmT|H+XcoJ}HW;rd_R6xGlJ%p2aO4u%7)Z@?Urh}x_DxJAmJmgtERQuxQx zK!q3TCeFYMCw%6570tJ}M=>b_CDwYLSPCSNeJeNhf?HMDydCba+U~}h+W{1krh@W& zti-?{5piQqP5hMP@Uj?gZ9dWO=h3=6shpY}W+!^zSFby~QZDX01{cxfTNMp`!RWD( zyuaw_+2fNtMTHFI8a!$JYbEl3P)NvlFiX)9CI{OR)7n{1`Ww4FP1NF*n`A+np2c^9 z%KA;fA;WdZY#m4SS^y`AkVP5xe18S!J_*OmW(PqHqi`6coI`Wq1c02J`fj$(F5 za?H&Jc`bYaq8J!E2s2NZg(Oa?brKoz!9>~GL8ZeBLHr~5@TGBE^`wE#nEukw-?`ZR zNGm{>;!lxYHeaglk?h%0Ygp@`z=WK``J;;U9mDd?)JbJu>ExN7<|6mD6pIa+Y#g8U zG}l|$0P4-#%m?It+Ekr26$oksFambZTSNSx)hd=&5i>di%X{#q;mXy;!;BPOH_%jC`(Qto4K5)$ zZ;x1_5{K`c{?DnSAkAYBt7l9fWg^n;Yxr+gwzV~=dT^PYG{>07dZh@__7;EnVsJLx zFG9HDHNqa(<4yWWqMOhJi##9Nom-O^zQSh^+z+=16uyjB#BW%!N-c;~HmTR} z$WzTvcZU30BEIO$6&jzg6g4rU>C-#NnXLI+6S37H4Qw%CTuTs{Ak=W@H()16yG!j! zWi_6&ZsFg}ZPh)V>xHT}4+M=#_RmSd29Yz|skM<~@ObL(P@<0KF7k#!oXDUnZ*cYTDq@&Z`^45+oqpXh{Rg`%_fFo%_E629d6IImv9Pup>W1d zabXN<+>D`7IR!u+=cX*DU8ZuCj8?P{0yxynx^^W>54Jy$j`PaC(ygOFTM9~AE=?MH zS<}O8@wuIY5l&S9Sov8?UPh6MGV_fM1M$@zmoYr(L8I#Hu)sOZs2 z;BKJj4j%(_vXDn1gj34yIAG$8J^zwrSSCd|+yp~;Q@4rep4E^QwdIHu;f7Ply-YEB zC?b}aWs(uXPZGF!pSaUQFq?9gjQ@dAxl8~ZY`2Ory*z%mQ7@*Z9dCQ?MVXgEA$r;r z(0==xZvM**K~reYD&^brV1xif& zR>(n6{*u~k$oM{RLQ`+~c*47BD3r-NBR8hwR|H{IgKu6`-tnL ztIXaja=%_-LtttVYUX!c+I!sADW8)w>_z@#$R8vZs&9o7PaMw$k@@iiQScK6!a(Mp zYWVQU`p)fFEUKTLAf6gy{xL5|&EGX$DVdKT&hg{|IA`_nm2Omh>0TROfr_o6)Wj+Ry_Nm#?p$!CZXT z@HOo)tGU4Es58D~iwf2HY4P0}8pNE;MaIZm?Y3$YKS}Nl84!&+{HNa2WZVW@AZF7`qW2rNDbK5cC9@io8RosilzWY~2R zz>AsmKks#2ayp?EaevEl5t-T*YTTnn69Rv&QRD4U7l}Sq$2TU{o+D6FA{791g2t4~ zn^@k05*I(y*b9kET<(H3Mh5xIszV?14%HZ(L+u^Fss zK-^>fljPmX5KUI@al3%U@$=#?gd)(2B% zaD0li_k%i|@16cs7~;r%)u~9=c}_U@ra{ zDGYRD`07rqI)vyJz)EM5{Azcg;$_?s&@)otgxv_hVR| z$W&!VAdPUvSCVKbWFFAzLhQj7hvyGxWpf6qE}y61>yekxL?-@M<@1XdC?*}{zc{q2)bd%=m@4AXP&TYl@svfsfAA-KxdDGUAoPd0MRi3~v>@~%j1|%IBL%u}R z)JX|Z|MbS!b#>hFDKGJJU4c%e*53jzfh}|8P6MMh^KRc>KLuv&u+`=Tvne2~K+aH- zDOT&qEF;GcDdiwL<@@~k0%;>j89doc`Yqm6+s8IlKZN{0NhvXt_#gvx`coLOCEa26 z{Jf*Pa+}s;KEtNJ>0i1nxj@t{p`=Yd60z6#2Q=zBM$=+B-Q%ilR3s(G=d5LX!9p6# zh@NH&A(PmY_ie>E4D@w`+vy~#9z-Q>R`He+>RmNT1h6za+>$8Uu63}n5hUmE$;_?{ z7r$@ZL=wz3sUG_SW%BW@_N(`JS>CetPUVy#3#FI7q_MmIt|bR_`GPzVL>*z-?UgWR zB#noUL+fhrEVQj%So!e&CMF{#5ynReinksEx-R9CB-@Dz5~p;w(1&qvxirHkVZJYx z^mDJZ0@~5>1Ei{4CW2deAx|=2TDJ8cOhy(}p-K&NzHrsknc>#--ZNWP@RF*qizkrr zlQKok?CaZ$#9m|bn}hsl%2ydiNR%6}kv<-L=~T<^X5r(cw*r5yGYZd!d#r#x?LFkv zsphIYxa%bCMWV(aAci3rKWZ&`ypeRKVkc-0xahGTWpm3U6j2|LHl?}uU^Wpl->Ib~ zc6(X33bK5<0t}ehr9Z@RAujf{_QiC+ETk{XIx;&8=a_v8z5!vW+~RMmPza0`c&0MH zvJ^IY!5q+&FAd<}ri(C%(E)A=(h6II1@*2n0-H^#I}5zuI8duK%MxtznD*gTd+O}t z)_Ur0R1gJx@Q%8O%B!Ss4+^68e_HjvHGt884z4xOXj}hK*!vnvKIxvKzz1X6TRj=8 zDxz9_!Lj|7T?->db8w_RT7+Heb z>LyPcSE+dP+fzW1kXM{1Ya3eYvT>80{h*-kg{q#kHNM212R%3mp%YW%KYo{`7~ z)Ao<2i1YZT0g%h*)kwgPFky82oqYObD1$gUP0FN^5s`hHw8o1l^znS$2Iqj`B{&Yd z)dTaWfh;<1AJzhRC;_3zBM;oaoLWTx3Z8_1nyan1V)oh|tsdy6~e-D%pjYxXb1>0!L zI8T5;OhBcJu*o&rqj{UWRfIULQD7fkFqRD+SvmS`gt9o^#CnZ`t0p3<1ZH9EJ7pQ$ zsnFI1kMPI2?!7@`$1R*@{x`#T*^YS~xaRurn#CY%kWBh60>M7_RXyYe`7KxJJM25j z0vGA%g$^|oB?UU0$XNmy@sB^i8DNH3wgU*;L**tU--US5mqm*3!{L}g`IUy!ad>C6 zmg{!#3iEUg1QKf|?iVz`Q8W$d#3tG84>Q50bV74o8m^13upcqD6_dDldkHfWwyGAC zkAg7U5i!6!B_9S)yEa0ps&1wbAS>Obf0QLM!#I*fO z1{X;Uv{d@m&B*s@S3C$^H@c*rB}`_h5m_zctEaD<3``1Ypu^YY*_b5dlX-)XxmgCE zsd!q2F|1hWIuX#(fdc3pN5X`6bfz4 z7O;ddVw5bibbojGO3;~?EO>U)yKP4IC%#FkmB+lk3#%KFj;s}?4l?3;NAVW9u!8`B z{0r4*^Ok~VZvLxH!>)gIDa=*aAVB z<(?6;zVuP>^zaZA4tPwF=vE&3oAu&~>m9)Bgr?9Rvt53|G1RdvFica&eHOlb3Sf>K z2_=-}?%v7} z&e%BmHkYKh6uUVuT`VZ;#tYg)r)Qa$;lMps8SW&m^r9@R$N87>WEP9vX@eb9S3`49 zVaCrL1FhY<;X92x5s^pmzH#D_(q^joS#<(n@7!E@Ndr;aW>o67pSnKCCO}1S)ekIW z*X@^4Z{{b^5E+_V%R+7kKhP*5e74Y7!_l-8=A;K?v0aaYpy%$3tzb;PMsvYHMAZ+t zG?ejdzwNP(EJlZK&}i7eNg8OS3mm3uR!}+!b1~T#(-w5@13i`VWx{a7y}rRzc;FJ1Keg`rs_H9tbmtE)mujSx zk)Le@*d5P~^a80d6GnANh@PJ=&1?x#gdFGt2~&z-zXC(QTecuPq?A#ZRl6tw5U1kt zLv%~!Lw)y~#A(Uy&40Ia&fERAs+?^|9rF)!Xu=z>S&KHu_f2vQ4b%pG2lW)L0$*W# z6Rb00({ge})Tpg@%6f`&*_EPGuU&&|YC%!f@*mhs8O;RAM^@Nd3kwYI*TLY~lZ8sf zr7=th7~ATl9#xsKpJ{^VBr;b(B*8M7fqp1=$JT8N8~Ss0fX5p7FWh^htZLV>%JrPP z1P`*eyGhBm8)aHWmlaR}*@}IJhe_gU?uWOygcm&92vl#QXU`Kp1Z|vRPli9pF^}25 zI{LRB6}_beW>$TnH=2ksvM zzql36S*tkyN@)t`rtdk@vT^i}Th!j}g*B%kg;&3(B!`Zv3aDlYqV)MoZbw*(p`>YF zwMG<_TbyM4cH05JOm3R*TrzYk98Jm#IpxgLcZ_Y;qBMxh8XUFxbuzYKQ6IOmhnO;V zkIe1hGprR~aS}X4!Fr9_ot8W-CCucLzXS`q=mXP((9hp_ITH6p!5ZSnhdtAMT0Tnk zs)LbBN^igvzeywzBUBw+0c>looJKm6I|Szs|K>Rr$P8Eo)Z~>Q)HoTNuD8Rzuv{U( z2XHF*aqy8+4#a9@9)d|A zmkvZ~LO29|s@O7+9fCL2V;Lw7F_YT63{(PAnfyn_v;t%YhMGbo86jh)daeMOfuMRrjK9zJ8NC%7v|2K;w^<)8vN)(pPrD0$L02B~H{!e||BK|40VHJo) z^#A$n{g0Z$-9KuNtKgQ5q|&Sb$qE0T;}s+TfcD=W0OueBQ!T(61pn(f^k1dO)Z#Uu z0Hj!HYV10YBK6ZcxVLD_{~`3j1jJKn%sNmFa_rYXJlNl0US=xSZ}3fJ1OMK58pjzKJeSjYsIzoFPSRcmV zI8Bz$$%@JxHePY(onASOE@!6<8NaO!0ktZwco4jIYO@>PO!f3+K~r+Sp{|0L%WIs; zOr@%l;z9&56(k<2eVDQ*vReRDyj+e;n!+wJ9E4Q;w4w72e}@U=ev}Hrb1cY&LQ}R^o z7$T?2`Www-_EaHyuHX9(;CrezzR_4DL$zm^RLOE85P;lB+Oal#CM|-WKz1K(2SpI@j@}iw#9?`Z6XsL~> zc1wlze_F+ay}YoL=2RM%7gP;U)^-ihJ~)L}U{?s`Z=5avQ6>rD<$R;WY?}r$HAjp*O%y)0ls)sbLgvR9 z1p2fMzCoDU`j-x}oR2XMv~L-&ib94IAb#nXZvTTI0%O_`e^E|5Xr^hrg4Rwe&rwTVCDO+>>LtU2PT@n}uz`?_IgxHLWj!Y)`)>cn9cHa-?v0f282#`f7T0r0iud zoqY?B6&_uU{n1ul|7CPG*^^_%Ila#L>3^4T%mWp(Ob%GX37cg8O}88X0NRtS(IbD` zAP~pzmHHhJcL$q1nziDrl5C^wt*ZJs6FiPlz_@_(P}T3=F;TKB7R{`|2{rj+;~no?-nKta#o>GS;ar`gfEy{`cRK|Xz--6&WM0Zw_|_4bs);Ku>8e}gGB5*pu3bZchCL5!u|3qwWBa+>i z@9isp9Yy@jk*)Bsvii3wLydpkg3VGwB|06x+v5h*t`4}1@TiKsJimaKC{s*k!22-L zYGmS{7}d8Ms!W{Xe7qpPptJ0Ju;v;gW*7bb0{{U3{{R30|NpdI>y93`k$n|q5Ug)- z4=>H`W>ylgGb33)_Z4QHF&rSV14--M&C_p@-TgIB6|agD1dcPs=B0l=vRJIcI(+@< z=a-kyPtTv9-@g9%>;Js^_~y>sz54X`=U+a(xzm5z?q2=;nf_(Dd-cD1e*W=KfBwIx zmrp;w{6c?Jlev5Q`p59ee}r$S*xf7o`zQMAZ*TSM``_NazW?zk@vxV0RN+-bZOg6H zJ+*%8g2gUWo2Ih28V!GIG}QCvjyiuU;oO#Qavo@s%HArptjSQ%n>)vJ0HbqXpkVsu z*5u5Z4E0fyJ}Kh8$`6xtk^Z<<&4S)oo1vaC%&S+0pK={&kjmZ$xv~aBJ=kF3hol+S zJ;HQ0de&g52j`B~x}a53eRrGb&!qV(2^HZewc4&J2GdBZfmVM*;dJ3~^~TCV%lEWs z)1|0sQFo6m6i!>Yexhh59%5zLR+!PL&Pz>&uf?!A_QM5n_~n+k2GwM>SLuH)o#Q}9 zjE+vN4*f);54+_t8};F*x2tmg{_F71@0^>zd42y=u#jr0 z{(zsdh4=xaSATKFFk{;HyMQLr9q?EpyJfYxP4qGB!`ZDYe)|Msw)WnGP%}mTfKvAD zham0VV)Tf~4~1_dTDT34RlT_j%J}K6rbYbiA0Pgx?YDnl|L60^=fAyte);(65A+vz zAJ*2nuI%KMHby%?FSAsN{fGPWUtlfW^0_VfBSa3E6Uhu>(P{-%r<+qTJOv}`*krHRi*7_rdTQ#x`I9n zUEzodu7MeG4MO3|`a14i#=356kmgB`lIF>4=d3r%n|ZafvQkOVu2d3;xstHYTuE$1 z1<%xscs8N%<@2v>_CLhBP9>SOM@4GV%2{jtW)**_N-41|LYrd2fmG-x?XIv>Y%tee z0Na}x@ySBr%Z~HTKE%2%Lq2tBXrA;sTeWJnn8i82u9-=cwwswmsaPl}6-p)Hhzh=$ zVP0dG8IK>48;oXLoS1hX^4R?PRJKfuHELZ*XWQn@vXOCO+rwjMz2ZcGSf~t6+hX1A zJ$8TT2Dqrp>f-boIdPlx$W3Dty4sK3yRN=gllxAS8}LofI&{-QuDA2bFJ?2#I_u0V zOPiM~F_j99!KXrFY+NN>jrijxomSTJGguIlFLz9Xp(1eqg^F-Emy3wAX(X^=(g}ZRyx8$B7yKtWrJZNT&6qy-)2L-rvvz7F z57b-Q`uI8j5qrRWDUdQx{XKpvw1q>vekRn`h>LDgpO@C2P}d%s*(cPYF56|`^)%0R zcABD9bo?c=MN5xOjz?%cW8f<>qxbNwH1Nf7p{_;(N_5~)e5r+p1%mjt_P+k=@%ewZ z=fA#u{`~6Sp8xjue}DD(^UKHo{;$9M@|Rae8S~X29`yR{SC7B`;~&5Nb^oK@zKX}4 zReke4o`Ay9HwG2lq&H0t{6bC_c^5PdF*@=DJ!Hy$2SO`mUOG5i@~TGsa|6LJFRc3R zpNBwBScr?#eMcEP&x@V)y4ls!J~)4iJ@5${7FtMqCA9$3QUH6z0k;sF^ZYm$#4!@N zYr*#DK$GjF?6So)x5t3e3`}1ZBwm&}Q}4 zE2qOrjVbpD+7(Jbryp0+d+c&a2_sIlOLv?D{5znY3T*M&2I9 zTFpv!L8u{ZS*QWJCDZ`Yk{VK{x2XoenX~}6cAxjOj%r>zH(d%hZ!~oOa%4MGcP z!(uXkTPh|4NK0Bseb%NHAa1+}3%UEOx5+?@!mBPTX(wmQMo~ZSJ>d{OY!z%cPZmO& zXb0bcP|k<+(~{F*Qy+^y=!&GrkLsZFQG}z;g)@XrU69(KCp z1~XQcZH3vQs;4riN1}gOz`#NL1yJ-na)t_pQ+4t)XRM5F_53bSv}5O*E<+tZYCzFP z83{$ZkyAt{eCdMQ$5<6xN*s!Y8kooR1VRo)W7`~x1}TT4@ly^(gS3E(Id;tG`(0A| zN`W12dSaz}q)^=FdJMu!6dA-k;0HnhMWd8``{C$R-)$#1a;JYI6iyaWa)W9|=3`|X zjGp~J2S!7qGQ0(1p~h-3o)4#hL%ZDNk`@jfKN0|jSZ`@i{=lJI`s%=;L*o}-$xm<~ z6&kAs<8z}b;?M!S>An{QNRPy!V_i4&@W7#4n(D!!q20{vsvL0MW1o4PnT@D`LkA?N zUrDK7U<3{w>*9YnbW2G+I5faj86{QDKJVdM5n)EDD;xveNH9JWuHewIF2tc*Dr)1< z(567YKq?ko^}Y-nOaX@ur?>t|lsaSt8}qBOX#ifU9aL>kqBafZG(vlh&8dlv?S3toy4jrWFqBwBq4%^Vgp`l@+h3Xv@__VZ1tRtXY zD12=a0*8)u!J0U6=(fMw#-X8cp^54(75KEM2?pDBh0)hN%n8r~PhQ=NFdW(!PFd@S z>kK_=<{|Ev+@{0P zj_ikPy0dU!ItV*cp-1+fH8t|gxIF}6XEyYRq2E$NFY=+!YlzA6FD689BY}cY_%bOx zq!O#j0kzx6Q9Be)506}9c6$DfK#nBQ*=-B`|7BfgM^{nZS_qzO3@+$0 z3h|=`x_p$8=<+radk=-LImC}gv8o2T3^j0c8H5~N#525A9Z-dF^_ z?{`U!rlveV&aZHV;w8EqTD+-RMq7VC%)@vf6zDQa*|#6!NV_+YZRDOtD0~}|$aIcX zad3Ha04_f)_hErudCr^i+S=7nqSw4q`VwmR5n9YBu@+#5Z$*Ip=q(^)r9@{x5?>F6 zFK@bglvf+OeP*Oj# zS%$)w=Oq$RV_jDebavr_cwI$$TJ=mjIps@eN&)EiJ?zIL)EA{8%_ZN z^dnn+D12#1;102_Q$y=I#iXvfhKT9N&uVd+HZM;J&2(RuEj4IU!VVx73W89%m_j(3 z!p`YOyp&M*vP8lZ#kx)fxv76+2AN5Drwk(}0f@?_Gmj0Jg6EtOK@C^-G74Uy2NQH{vm@F0< z8_xAL92)(|b(T;#RS`c=#mX35Mbo3LDY_rDIjf1=gj{L5=1-XmtnNo>TPiB;8IPOc zr$SLMC}L#E-$w8wZgnV}9RHNy#M*=IkY7rCNfCc&?QFE2c~1#XZZk?#B3wpQa6?7x zY^hYJs(QJF533OD@yvg>u7)5(;mbV|>7}u*epqkw-LM|%C8n3oluEX`d3IqB^o|l| zSb8b+kVoi1C}2I5maNo>%kAN6w1D-37;p?V&mFd0Ps{2lf65cJ5G4_=G9v`ByGbS0IMwk?$bJ>$C&>v&NaBMz`u5Mtz5R}?c{m=4RiPLyM)H)6EZ zvs>s)PJ}*ew6scU7ei2*F&OE`C6tHwgff>UTelT zU}usjjlW4gaK;)Q@j56qB()Qw;S&Hs+F#Zn+qe6;5>gT#h}gK-d|<{BC~UTR?MlqgV?@41JP(s#)0 z0AD68I`&c=RslB7kNXBlUmpss;hMs!hqu9#})#LaPilw5e(SQ7S zDM3htAP>zb7XKG#h*;ePX798`^|jXlBgJ0UmL7oi>?%3?SS~#_rc$sW5HAj_J$8T- z$DUXnLz9|wstqR*4hP|MVWm>BoKw~4Kh}RuTVDZE(vcFffAz6THR7lS43kIB*nuiF zG}Zwt#m?5|R@yrer$TN_Ik#YFMQBL}>c)Y&1rPv5QF-(tR>za<4s@xx6Sm={*xj1S z(*8-6rBeCa0McjD&zwi&bYzh1o?}4nNYEMA*uh76a4ok zrgip8{J0n;jHHwOT7yfh0&CKY!jd5F18izevNqZjE3asyjx2QXSn5bV*{=<_ZYu#N zL1lTw(woZYK%A;nmT?@HA0bv;7nvnpx*M@Uq4d?H2nY!}%L8$0>Y@X3f~Ms%sRIkx z@6ui$=pg&;F_K40$SKwaNaO)IHMD=xg*jDeEp?sOl8KAj7z!2!^2)@im8SO0-?%ZI ze&IUFflko4oEy+JxlTY_)W(p<3`CN%h<^le7IbP%jV{!w%5bUc6qig~RK^!UAd!@^ zfjS*!80u7fK_`$%_ODo=oRlw!$*hp#6N_}qbf{t2wzwB^(oWVMTGT){N&bIj=gVp7 z<|U%tu}*$PoOomlz8A1hQWxr{YoMPL<{-mAS(K-q3K4J3%;*Fiy3Id4&aS4gyJdd5f5kk+&etA5_m@qzOkf?tKb)&9wH=)P-6D3g40}OVdH%}=P?b*_$ zCqUCiGvG><*Ac&#fs&)k5c(`W%s9mCNSE8{U=(mW>f?#Qy0Yvv(^X~q??TT9(OZl@ zle2{F=Jb`{uH($6hf#m)0r5U|M?FOE7)vK7Z)v>uP4~R#y{9hGD@wI_wM{EM5NFjw zZ+OwWmGl~;pz)`vmHzJX;YtvTFmIjVkq@c_Mh$U1YUD)}8B9@r131qVriP}7=8+z& zq#_4`*X4`BFnq@1e>!hGjSdfT~jPoAt)J^T$~a?eX=p&^Dx&8QGXYEvw5 zTYX1vQ*%<$BjkTHpD4|eHfc|HvodeS*2x{QUt&_#=^e$OO3v;O!J`IBMEU{55e_&W z85-4e7}m`%E+iK?x<|g!9de%KgzZbi4&4(GERaf<0moK`qlO3{$pfnAI>iFF$#rr* zo^VuMWqt~;SklXH#8w*~)!Qfwliw(y7sTNjidc|U%13|pu`peHbR|4$i1twfKVk-t z0^Y}tNA=v?jYrX>iD^%2qGSd~kF`_Mliuk4OKuhD>GkRrevry*>nJYTv7tyiuq2WX z$8T};E?a%Fa1;s=7qX26FrJc=_i zqj(JP-2Q*sXG<9rlvy@S>Cb+qoUo8P&&ESjqvDFcLuqDebOqXh=drDf)FGDcB_nzy zFKADJYHV_pN>6H_{f(XojhJOF9jr?BNVdK{F+f~gCPU#kWKWcU6r+5kiE#o_E$@h4 z7t^$H5${bPpzyTi%b8KRVL~$_m1brJh>O}_7pZ^iej;Oj6cK1a{rIKpgtWnY7+NQ( zV=MqE?3y$h>BmJ(ALt+3>jctI1Ry2(A1Q%7KFC;~8X<|6-n~_xGHL0#Y3s>oNM%$! zW11SNG&40oT$&n@vM>oJ_eISPqC<#m^1bCK!vU$1*9ioK&0htW{6tLkMnKq;2DJ|1 z_@RIF6~GW<4s|tH@5nRzlC*~K)vaLxNFDrxy|F-G7i=p#-F}2Qh;{X)K>@vByV=yz z3qUH?)t3eZJcI3KQa3PzmP1r&wJ!v1^DskY2k^*M@(1fi21lX;4E1f*KhFGvL!fA^5w3PmwTi z*hC*RgLUxfD3k%^hR6stuo22MsFRH_T{HrGf;t5F1X2M$VfzAn0`giMPC zfG`pvj{imsTo&l;!LJx1avAUm*cmh7e~^o45pp{+mHt2{-1OHH;M38w-VKMdI@W(Z z&`>&o$7LGS!R5%{r_KCx@Dntf(`WVCJbW!kr5vC{Xmz;oguz(G!lnljrDH}5jP6&cIPaoWm41cPtstbPt%1Ifftdd#A zUS0RcMaT_4E+<0`F;!|Hf6OF90a<_L4S%X@ssn#QhD@0Z1#&s1>RVyh%h zw>tg=e3fT1RLfL#;7`!5#Gk5+mDp)%tZ+<4{Aq}^lERN@)x}8ycq{czsYfnX&8T~%&{Y*3|h_7Hm|v6P{zgo_RYmM8wynp7S56EvJrRoXAH`tW~aVW#+? zN|Ase9!rAMP*vi@22_>|e`|o(Nds$5LbLa#De5Pe(4w?(-jVL1xmS zfZCGdPj!{`;ZM+mjLs@IQQybGRyIREx)T00M0H8A{q%;9%!dN5%MSc$TmBXJQ;q%d z9gac93*qBp@N|g&l3ut;7pH&3pAP=Z4F1$|xjOJCXk3JnL7LG<7tAokajB6FQYJ*j z+A<7$jXiLqTRlzu3EGy*sG|(Mn*{|;K1ouy&4~dU1ApByv9^2cQt{3@ z>sG|-v~(_YuF~uSXnW+aBWCQ0?jG-qpMJk20T7u0L6*G7VTDZ;k|3EkWd51>!_R;E z^5vHwKL7Ih?H_*n>;L`cr|-Y5zWwIs|M>iupZQ-`)#=-B{;O&~|9JJU|NX<4pMU)F zmtVgB_IRkjefx(W<$t&Tiyw34Xa4`+-q!6O-u&(DAKv`v2H(Yl)p0zA;WykW+^@Od ze(&VR-+#-h!d=_G&eLr#q05g0#Y#WMbv)L#gC6}skB)luy&gU3(GP00Ti(y~Zg2Fc zp?s@H4duIdw6<%$S95!F-?N(AH+szvdaij_k9t*R?voxh?0@pCzQOTmNWbXGonF?f zUY5D>$9VK~GIKwzjVdt(Ys^dd5RbNqf9$*VbZpwbI`Q}Z_vVf_e)=1y%5Uw3yZJ(+Zov1MZcrWCx;-{^b81di&tLog z_vQ`X&-1%!{-^)__?r*?)ouUVfBwx~|6OzFf9og>hkvR%)yHFh>f4%?j_F#@xkrV& zr z{210M41ZM(2P;6)_#fYX?7#a>_50WGRjck$N6vy0s^Jo$;>U|n8416R2Qxwy4<|x3 zWQ9uBW`wF~{rA8t8k=Tp$M)0>^~9{2Id1&)AXN6k-F%@53~)bRn51NS(m#Fv>C3-< z`^`^Z{`md3_rujaALyH(|BOra?ZmkshO65_gnwv=g=lkS=j?-dbuk`}T`WS!I+Y=} z@I;21cDQ=iv?nD+&EYt5ZC#2KHOKc&S5K0-NYH>VHe<9hBLGj1%&cPqnaYr zSsuKGuG+&ep6Y(6hEvlIF>xi=!l-+974P`*BG=~SUdMwOxsHbuxt{fzHI}kABiG&F z*&pS1>Z%b>tuiaQ@$-T}+Y5K|1!X0>VSiD=b=B7`lF*?!_(QM^E8Ncn5(O~JJoo+E z+i87$-BjbL=NrQW=JC$i$6GAqwsgCvNTjo__xk+qE8l^4`be0?XVLpP4NBIAfhVdOP4vk&gl@vtSY^Ylqx|M<50{eN#h zjc-1VUO>=N!&p~ijT1BC(YKX#MZ=Sb15$O(soxUkx(vqBji8c);K1TeMv_85r}JpJIBkfe|%U$+J&<%8sEO#G*IHMc9=Q zsg9TMto(X0BW8Petwu9ktHu+yWprA#3Fu4m(a0M+zqIy|Yq?T;r!cYks?hIHo@ zCti=>OdUu6D2Z)3_1)FGQ$Hxrk?mY3$}#*IMtjucoN>V}8lSHo4}-A*Pkw47 zXYpI|f_57H*Q^dhcVe^NG=Gx|$b%ZIlADf`hICHf>3Dz_)Z>^Xy*dJmBWP^k$7RjV zbhP4D7CpfV8`uwhHQ=hHo}ePQCaDb%4wa!Dx=QbJw6IV5_>s6$cB4(Jl4&TJ+_Z+=oflkd6XrTaFQLM4VPGy0lZg@tSZqvqeP%5 zvs@n#Gl^rh!_X4eI;DE&c7=pzFB}-c_ycj;V>=l%NEkhT=SXO!G0NWEIoTBn3BFYA zSgv~id-Hnl9f`8iz`u-8E|=Vu0UZHPm->|fQxs+CnN@gZ zX(gMQo&={0okCMD)VEjMvAYBk&%YD$cJQ%^QDlG?kKJpXa}OPsEp4 zUDY>aHL4EM$#;KsBo=QX(G%_kIB%jAK1Lscyr^L8f}S8bN+fKo(M}kDh0ZF?PsIG4~1fo}3_vi@irqrC}$4j1T&7#49dAL_c&V2xByC;&>bN0;}M(G#*jt0$@< z^4(E{NAx@SY+=VfqbKqt{Kp;-6{esbj#!0>q4B{Dzud~BWmXXh`7q*qp2)#Wt4Oug zog<<3L>013B2PqRjz=_q-t?E#6Z0xcdID$%aEGDCD6tmeJ88)6yz(%91HMaJ%qz)g zi)t7JH8CEwM}a_%olsZ) zwd~Rf^KBQMU}0#>Qs+R#|397J-d~nCT!g*F7bE*c;)sowY`hnLjiq&hU^jNBYO5HW zWWUX|8qMu6;@PS1kjFL&(L@@XJ_2HhM@9svJ)%F60^`x#tPoi2C1#pk9~q_rCnV!i z->y(tn58DscVrh=<3{6sAkD@;+&L0jAvFEs=yt?b$yat@N+hC?1~%>;iH!|L-xH-K z?0f9R6&Z~)e^!rw62YIq76||f6BttcAY6>pJou+b_7+U6r|GTM1Ot1ox}L+Slft%s zgMv_bP0$QOq6x&zA91-|q`{&;{K~XIH$!g-Nvr{bGDWgyhsH?lbNrfvHX%5$Y)J?m z#lDb@T;z~gAmhT8gxwz*;+_D&u_uINcf_x50ZV{W<=2ycg#SnV=>1q3T*#XkB@!5} zBcOL0POZct$ookCJ9flADXN9YCtsH^ST9~PkdS=txf009tYhj;koi0Lbs_i}k0SJX z**~bs7+52R?-|cJ9x*2B*Dqgw`ts+WK7aG&mv27*+ubFhzH?XNWWfpoECPV+xcNEUO6<|WrkOjf9Niv?=&yhhNqqP+Rn zO7zPfa!rIl8jls>E<6|vlju&(Pcj^OI1%!A7-)!oKkutN?u*NdBeC*PgNMFL#y!C$A!x7Mxtqo^9>I^S zUOmp}h+Q(i=V`pQZzaO6_U{=P4@fQlIFEku3t;8RUy9xD7*DnKUg2SnV{RmiwES7~ zxr17NWQ=?EgP<$Nu@T5#V_4zUEw_+Ucf2Af`J$-Au&p(7h|j$et<<6-0Ga)w5(BEb z&bTYrQnMATB_U;N598t9)>OP_cGeum*rs3K{Piz?|NL)X{{H)$&p-Y6=h!UPn8mPX zIvxf-fMPSfm^)c3uKer-Z;_2+z<8JJ`)fgeT+g`4B&N0p&o!_|t~*iC{S-wvuj=ep zH>WbTR_FQo2*^i2<%569#Yx^ERv&SlYvni-(a|o3Ewj-#*}6evykOE-hs5T^II}H+ z3(j&%>l6a?mr(T^s_roK1ha^2%>UYgomcnt3#3hdf{*^~I0Ig0;Gmku!vv^ZOE!Fe zQdHM;fMgK!UU0p@*>-rr^6Mp+S6dLK8t!a(;|D!ETG5pCc+YT7?57p_@Y}Di|N8g8 z|MlPg{FgtA13bnK@R1xkIv0WLZCdqqgGSYUCzX$rEs#A1y z@bZIy%1C7-Z@=n(mp;2h>(hK5&}X2T{?8%;mYW6Oj=$vOCB1jLjULA%Ap>+NnQ(#! zRz#oUcl@OM5TF)5%meF`2*o*n>a7L+u3C^;6mPH;%~g!=i;ThAvbN{7l#+-v__C0mI>$rwvQ zojBTkugeo9u&kH&sBe+`l&x{7DaAUd{k8Geo;=Al3tRWrM+b0jh&;#dK5J7KypqI> z6J-!%>T)J|@#@=SP5g;}*b`{Y5zLZ_K)HpiDiO9>;REXOurz$V`DSFxJI4+vJO(v2 zl4xPG&z9dj;3q|DeUrYtR;^(ctlb_Bqp)@s-g8~Y!x;;#W~UZ754IDc1q)09ESLg- zscI*lqG1BD#R5CzSSXE8d4#&3t9Rrvy~gMdl$8T~UW{=HcyTv>DrpRgaw+X1T@^G> zT79zh@KL@u)fovUF863vMrY92Kpt49wWR1#yUmdYk z^+3&IP!9<%*T1`ewHHNIp6BvDX+)qVucBp+3OO9*h_pUfP<4CsL5!PAY9{M=G@}j_ zBrjD5SybJ<5JepnO|dn+F$6BZo$h*2q8+7J?kxkD*F>J<`(}6roNZ7;SdXY@MQTS} zur2ZSDU|XYVnRFIe9CI2Qv`@T+X*8lpWK3Hzje(ntXYLj1v9mW3u4q09-dzObsZ09 z*g(xr*+9N@0-CxLqDxdYc`wuky7zKAoX`SMGKX!7jifqaWn~SEj1+@;Wu5MJ&W_Cd zt@3alz@(AvF@e0cp7e@}kRt3(l?n*f<0WL0g%X615p#fS9ZoQ;YfH$-9HumU~ zmz1FaBQ=}k%58Gx&Rtmzz_aE1=S;Q$s_{tTDT{maT57D|E0UDdr5 z3BR5Th0aSr{A`|{si+cYdz4Si4^dY@;lU}+_FWse=?$b->mvy26 zH6431Y)r`qeP>D}%@#yYw_TEM^|0;6d}oHu&F>AD$D#o$AJ@duY>UQJgXSB5P=iU! z-y1cY^hdre58suC@5{qymk^@?RDa$y?bS^q*fV;Lk*@vFwBLR7LFaxrNKH6J59~ZC z*6oaKymc$n3tN)?EQbxaw7{g~4xB?;?Gp(2JxU95tYQR4d1f+Kx=@z3ipWK(KPX{B#&yMaK(obGD!&lF(>~wkEIDe23dc!9O zt~|Bt;5Px?)BdFyX!)i;=8K{}&7Mk=n)Y|R6#w{=s6Bz-q)H0h2FRnxanP)5=;DzT~C?-sXbm+pfo?cvl;5pl{5>7I=Ow%k5{lpMFugi}79RXk5R zaXY(xy8mNUDF4GGTJWZO#ypkjUCdOdc4`C(Ofz9>o)#*anN|36lbPcHX55!;+KOH` z@o-MB$Kxq8=fj^uG+}1CrtM{BH@(Dv%(SSI7CsnKS`y)fqCu`{c?wx$+RMth4hj2PV6Guf74{wqlI{XG?QJ5yDJDL<;&uJXR8REj|s^1uHCntqR*VSz3jo24gy|W%srm(v=>QqsCK~&KI^#TSB|% ztd>3uo4Za|!B%uP!1oF`k&X@|LjX%9?nYb_fQX8hadtGPz4w zI=lYRuw9Obm>Q~*AcNs*^Y~A!OPq%sOV5P2SQ^)z*NVV&^vXz@RJ^!<=iXA$Bkh(@ z(b5Wn+-uYaP5B(H3UqI=wETKGs?I{&uGMfxORMpOr5VkIQKl6pEZr@wMOv!0D%cVK zPdL)XlWshLIe+q@J%0Bo00&zjx8(FtA~<(A90@PG$yz zDKqD5jHVSP%#1JP6T1gFXsn?D7#$bL5L&Bo;|X|Xu3+XcndWnUbtlz$cxD6QZ%odu zo4jbuyKp6Lygdd4svIWNvHd}p(5R0-8YXOZpHMunP+U^zIJoRqK-kh!heNxh>?sZ) zJj4W67#|=@$M&6uoCG-O;cSb>AG3=vjHd0!^7=wo~3oXmO%R|?S#ee1_~%F@^|)UyFRK9Qw=1lLJ)fMQd@W~xvf^Vhg= zUhtOgB_2Y_94UsLEeO$4t9wgS7Tvo_Mf2fB8MQXfsDTZ$d>9Ys9Eo^5<->e+iQF^g zLlkDPg>?GkU`7IIa%d6Fvh}KNJORSX1yCdw(1Fd+#HX~)mz*z%#TWeDXcj$9Om zNUofdD-Yp+$_0EFmr?j0WOdl0aiAXV3n5l|HXl*QKvOIu&M!3Q1k9wj)SrxDlKU1(XQ2SjtzC%&<1PXGe7Im<`RQs(S81|=736a zKsb}cA_ii`=6l@8x`dNGBepPNn2c8_N1|ZY_>ydYA}k;JqKbtNqcV%2rY76qTtwm) zM2!Z~(H&$hq~5J&;p20-5_uIoUxbaM+jEb)M@|4E(e}>z0ENnru#v-hgFHr1IsTRK zuk9d`Uqq;~rgtsgC~gGDjsdC0@K~mwKVFXM=hba6{SnOq@*9vBxyb1-0F@_k%iGw+ zQC-4+QRCA2R1R+8xS)JsqP-|1D8F9HgYA~*S`Fv8zL*hYc9!RJ8A0@pk8^GFe4G<} z`=RYF;dz_5yPIB^L+S;d=PLzMu*LI9DsYA3l5eDivA8D2}S3SUgu?`XnBK*sI&UQ%h`cLlT<#;|$4!-4w zZ*Ia_vD5%;@Omk;7#s~eAv|5_9!dEPO$%1CBvbx0beGz6cvZ?zj+Ij&aUm8&A?>!P zhSNrD3}<;=rTo^K_C;9}*&H7!LFBV=G?UFc-b_y%srw$*4+#TlAw2NPq+>rhQ|ml` z-@3`M|C?m5Sgd6psL+}-MH@Y?`3b#m+oM;XXDRcr+kFJv{B=T^Jn z4x?h+sdRjHNYlDI*xTbe)R!LoUkYwQ(|zoulPaHJtQ7Q?t_^Xbfk$RORwE z8e)lS3`l6{|8%tv6N3+Z^UQA7H`B}xtGVA%0L6`BDwMqt{AU) z0!uM^_0Y>^2lNh1G%Humn{MTF=`#zC&S*Cp;xVTDcH=FDCb+aWv);sN-p<`%1u*f< z+Mhdl1FRhyPwjx_^)e$nXL4|C9&r@KzSvHaFRRpr-je?)Q+ah%=6Y|<=NDyv`Pw*5 zM@vJ?=kah_EMR6E&-OjTSw7!_kp~9tmW=~1mLQ#TQql&u@*5fHl4Nw#l1;oU{?;1APgiV=EiOZSH$cmUfo)9GH_8^u#NM6tk%jv zJe-jMH9IMofp}I1Tv~6f{EF~X$axcD=TIJA1gAd`s5Q3eMwTD%Jx|DgKyaG@o&u@k zI9T^*wY|;Z-8pJ;3?#|(h2N};0D7e>-j`qqSqAEAX3J$% z&7)dUrqfKYf0F$t$VZ1X+PDu=VQ@wsGShWAU!!od5Sxk^)hBG^Rw2>V-=`r=l) z2~c7`P9-oBB;hN&AAencJ~}p7>HqGc{Gt4MY5HjU+gz*Rl=sbStN$6!@&2^Jka9^s zRwJj$%vE*lV+e6b;uK6N$95Xoyz!)5+@(9h`vJ(uamWJjqRWdEA}9O1TQ@m!#KV<* ztsu^@TNuqufsaIO@@?T+Li?;}=j{ehdi9Q|`2s!VAOj?c6Q13Ft<3X3#6(wQXW;O_ z7EC)J=DA4DEcJ2gp+mJD2h~rkNUfZ7VI){%?S}i{6eU}`;cl{JH{|fCDNaV?UG`wM zl%z;yiH{>WAhkHLlkjoPDH~eCUl*oHWapxEWv7}N+Jc^IHJp*1a!W*JXJu!jA>M?c zon+^P@1!66MphJmS&EKSrTk_NM$ip|yu{L=(oDW}lVfR_$*q~N2?6QE80fHk6aQz} z_&%Y14p;J$*oN&7zSR-LOSY7K!d*VZq*i342DJ*6<*Aqz@>eLiVrPIAIIuyOL&g;Np{ zxhT7->Mm1AtQyXUNSyp6x2#{~duC@vL}fQq^D>=y<^ynaG6ma58xY_om>DZDj+8eq zHRi?JrfxJ1+-;sy9!_sBk}LPgm2c`(ZWT(8 z+rS+bxe9L%HU6c$NQ{N2fqYqOz1f=&je0pl#iF4h;NQ>Bd%){a*4ORp&es9J&*ig> zQSkHRE90llN@Yk-AF}ehf7UQB_QmnZ$igGqtQZ=T5@0FvuK?>yVVE@?%`+#8?Ci$)?kVTKG*&>$rUgcX7@HWt&R5x7QoE1Qoo5<&`Zt2$Ya-8X>I;JURs!(z zEuL}8>ebMk@bO|zN~Bs^x$NExX0~Nf7gjI(&Vq?e!VjG|2Pa<5>~+K2=p2K=4MS9 zh<#;x`g{K3u&N~CO+W|7IA=laj$bS#%wCN{eorpapx2AXWHkCwB7I>O zkx@Tp(%`P^_^gQzXL6fvVDOmJXNVv$A}Vr`h)bPSps2jA)7eiS(SnRQ&oB+3?L^m?TPg12 zEL|T@L`jF{+9j^_TgRY_tp94bs(_aohMF5@W4(o}@#=K4VLzpsdyU2Dllb8+EtG^* zq<6^d(f0~`2}EqoEzhZA2K$Qi)r+Z4jn(Syd$0P@e$FizD#DrFOjd`svUdz|-UJad zrj9_=a~b7h4EipoldS}hgpvq^|Mz`T1Q8RJlO|8lIe37e6&gF_c4s0HD$*1cg1dz* zZXh0(+wD(eHO5kqKKx^T@H`eb(NZZiK#iL3?A#L-7C}lj*W}}FP^yn24-ZKe$W`DP zr}hY25Z{%9NcC6G*Wfo(h#%x`l>FmPhubjVX`JHZI_W>o7xLaX zWCH}CXpPA}SVP26t?SpDk_oMpaI9&gDpFprzgu1I7TSuC*4Eki8u%#9{G{R*Z0a)+ z=Xt?dqbLqCM;;&j@t|dS8jDwGodK8^i<5{SW+b`@Ds^nkdzZI@Ob|-<)WUUQq*W># zcGQ3kQ>1yL%_~5?zh89_r{Wi1nwHZul2LdKwu?}KZDdFppLT}U+;q*-+rg6j3+}vb zji3PqXRIF?=l?i5|8dbS(y~0q-H9@Rh9?I0aIx=F5xbs9V?65NaO>KArn+D%6snhG z-|L&U%@6M^o1H&j4APY^I|NXU^i8rKb#M`?RegX5y05Iwcg!!zcenY8d6bA6vWn^? zeu67=Z!7{ud;FMjc7{DRZ_q>V>Ldnc6)@W_21)W`=e&aFe{;TfSuV~;#Cq-i6YLnj z{!WSI)Jk0>@Dx9sigBW?9cFX~zhhEor2&s}r%Ft*c=_gIg4b#F*hD{v`K<-qw73~| z3h$IUe0qY%>{@&XlRBHq&7E}I4o4)kR>ID-DLB{eYZR$p<->edjqkWJ{yoa& znl4dJ?B*}1>Rk!^=L|i0dY^J0k&R|v^z^}#6-^9&KQg^6J<(Jh?MHFQ<1rviF zM|G1 zRc{O8ymT5OATlM_0W`h$wPeDKy@TAa6_sM}m`5_T@63+E$1*3v8 zODqlp5{uh)=-%>%7- z5prtXt?;)%Dr&AOOeo3|lD?4fcUYYGTeJbc_gnVOztr6I%I>_j1TxjLkZ}l zeaoqc4-C&U*b_!cv8$`et*X_}(&LE1TPq8DVhwAdk`dLZq_|~8T0JMRId=Qbo(iMF zUoQK)oz}nD#uAW+6 ze6I~e|7{CU+pr6r2@u$sio6ZKbJ@d~B)Q47pZu&k)?E&hP0{@E>3oj)b^&qxKAT;bcIv+aS%?}T zN;Ec>j$J8Xt@!;yg~=8gN5U@=;Vg%4YReAtc7E}z;jP~xlO&c+Fq?BpK1yCe^ukGo zlApqMg+hoHK343xFt|nBhTb}Rf&kmO$nU=eodcy9bvncU;~i+i8F(Cy0cjV9tXJGf zVmZuB8>o@}-+{ucJKupxgaVnRN>o5nSh6&{*oOM$m~y+^>}IjNFl)^`Jz15UIcigz zCQnVahPNy-jc^0CrIP}&T^hrXOl=XaA|!oYe7eR<9J~%jr=bVFl|Mj2z4x$`w$LQS zuJk1JE)IUZE1fUr|MB{tLA%&2oNJSK5-D}XrX6>YNG4~wh{*E@BSw?TGMO{JJhDd? zzsK`-i)BZ|Z%?ozZX_B>Ahm^)4(Zv*Z~CD~XUw=V=hT@9IogjuN0Sx|ELP1l*leI< zGC__gWUhe4mTpgnEtP*x+*w#I8QCev)nnRL)0y7`JrWB@o`&oMkkU0GdUKE{mEUGZ zbPD0xpKUGTE_qf9`F3onj7i!E>pjzVL6s((7;IZ8%kEHU#^S=X9KmMp%P!Gxg%qV! z-kS-vM!?}p%h-e_^3IH07kRy$`~Vrs5Tuv%r!+t(C?-H^AP&lJgtFZw>U%C_o(=x5 zyqyAD4sZx%XRv?AvJn&!qO^M=J>^?<{b*_nc5BVASrYGfDc)FeVDI)&tT&sLTX`Ra zpU0FZ7vqGaXK9RcYB476lh>K*py5!d1r=h>5D z1|V$|9I#s`t0IarW=(VKJF7(k%{%(Gew+lSYU6=`J|S20K$1FV2P8nU9-hj^zm9pE{^jU?q_1IX_qYx8{W-fMOd9!>H|YH^-Iz69_urqD%jl zAx_gg9;1qeKb%V!NDLXjC8~%Rmb%E=Oaz;iagQGRk=lO!hEK{lSK8-lu^1fS1gh=2 z&8p`KACE~7qAlJ~lEhT`n+i&i+XuDayT{xGxK>V6X92Qu5o649ZM#=97eJ_7MI4xHZR_Sla;?ke*rWL8(#oo`g20g&IwJL zK*@Z*)Z9MVyoa*{5}B?WSO{NJ_K4R^O_zd)6gV!dFNY$W?%%=mf6WvOP$nbb!_TKy z#KYr+fBd4LWGvsyei>d+{hK1`12b1MwZgEs5%9W7?87TWICgA<+!y3B!x>yBW+wmQ zE+k+%x$HQOb^_R#{o041io1-x^&#Bk9IeV0e@UUg%N-yhoh6f9m0y4vE)?_G71 z3-ZpCVlxi7j@G3O|=@n>ht7lbY}Qe#h#%`^>M;$!`(nX4rJu<2C%Q9-v`(Qv?I z@UZeB>x1H6^7DV%$h1%7958vW&gK^-0_c z*d#WC*E{j->Pr_6d?8jGXm)w{lP4CC$PnPR3;!9}l66h>#fot{@*zbM*gZsw)s=hJ zkDU%-(F%5=o1^tb2%GBcYWwYg!|aO$ZSUrHz-|zH5O2r`OvURc2xSG9np5T!WaOkY zqXEE70@fE0LbFj(5ZtfGWNrUcoN;rC#SGqa@gO9W)P}-YC?K$%nSGO{{0=wyAJPh2 zz#D~mLX)Tq6~fdd7TtHbxY8oJh_Xn((yo>WWM@!tc-?(e0kjcJPR9{r47?;*<7*!f zv|wn5wtq*FJ+AHA7S}Tf*Gu&w4zNuCcu)!{e)KEWT%;D>?#2suOi08X_`CV!2?+mE-PFLkRR9)%llwPOCSeoetb0ikjqCboc}fW*k z(cH|O^)^1BiO!z8dq#RslU-RF7I}$d!&vOMhOL?P^Uu-w?)w2vG#+GxU;#Q&xh^O6 zdKlfPS*V!Pu-G`i#(fi}Gj9NwAnvmyI4Hw(3=8kF@aBY(&j!X(i$S231{mREvT5a> zdw@4|GgW5J0q2u znagot?5(kQJoJ@X9*_wrvWGm_Zw;?!)(}cd$%|Jx7E_6@w7zEpl0V)tCUSIxMB26K#)pqQb;jW1Mk%B(; zAhU~b(Q(9P@&F*bnG;o7EdXL(j0`SBQ!n%|svtW5?HfeRAYtlxpUDPhdd4F(8gXP&PV*MJ`>8z@p&Y(@xOjipDXjr8$=-v7#C|4Uy zWUJ_VsE*i}OAH3eSeXc^L$X7W+C?wK{E4ZypBNe|NCbZs3PisUJgwK*NF|FMH@h;2 z6$Gl7Ds|0ds$KR~kg2F=Hku#6xug!*M_NbNEa7jzN94{@V_%N(AB1q!h6_14nBV&l zdi(|aSaTIo&o4ww8P2;%qE6deVKH+`H&&A6ZS&-^D8KVe9+Pt*J9i&jL=qcE%6Nm5 ziu@foL8t!BAxkrOV&do`(n~}JYwN3_)j!7sxvA$KrP9b>Nn0%H#m*IS6|S6LlBSWh z-a8+fOW*emo*RC>hcOC%y&N&>LDbU72^0W$c5?KtxVCMVg1pvN{%N9*yJWtIdY}1v zpM8H)bh~C5bjUJpm8DIem4rRan|Pm5cRyqscuO;OSIX*CRG3oNu|MypJqw&<@0-F? zupzJTR+!FG9Ho~=DCxsjlt_mTcYOW|jj{K22)%3&v`!~5!i+5|+i1+Oe{^*AOj5*Y z3FE}sf4ZSy&nDO|wxA5-Jli|Gp>T2d?V0pl%~^DU#rpf`hN7c;h`OJiA>EIlr-{Eu zIxchOLpaVkwyEFy?DheqEatW|=Jq}2wlPg^43rJvTzc$t_%ik9`TFZf^IFVJPC5P< zB=mRwD`zvt;+t|qp5p{wtF6X#amc?V#0)VkbK+hEaEQoIM5}w}YQyzen zwdVlw^F?Snwxlmh8Ms^XI}K?Zlo2#EO<)|<93a+KnqIOI_awtm z{UkFChDj8K{8tm8bUYo~XwOZk-sc5k{XvI!H z3h>QJp8q)G{1d!K4;8NuX}W@Mx`JowXtH4fX}mpXV4R?AjfpzqR&v2TCYye+Ueq7G zC0H8OkSVGy0G%HBBjg2R(?8-x1x-#mfNoY#S=?swHF(uz+r;*^)7y<`r5L2LnfQJej%|8}3)dU&Kl%Ujdz4xDiOGT{X1rG}r zt*X5+gMSr2`QoQFM%JDxFQXg!c+i_creL>; zCw+3p!D{j#?@Oe?=UC)28!8CROjQjHjnDte%6(oOXGRNhK5mt1k@^OCE|-as1Ac{X z8Uzq5p;+y&s_puG>X(*g|>w+2o>OS4U`M7;`}n~QNlARy|oyYmFP zaz5UE<)5V;bF_zPF@`!!xV!IK!@gC21hBq-O10HwExiwU2TOYpqoV|HSV;RuQ$nLJ zy<~`NE^)jLM?Abt2%37nE4;ZC0*o0M+?lV2PaEC@vV-fFzce!+@ZzCCF){0ls(jVT?k_0-v?B@;+V(9Az3*XJx0;|QFp<(c|P zJMa%*-?1rh6v-r9@5kY3V)Ah^z;wr`e=ga@ADkFt&QpK@qnX$tX$!VE!>FIxEmvy$ z4GfPbx7yaDKLOscZ!av_&KZ%b_5>n!;+3p6GUY5>A&o5v3ZEDZKwWS!92x)Qn~YhQ znX)T_rW(W)6pOux*~|_1Z7e_K<(sIN!@{btYLR++D+R8ZQV^y3>0 z;_qg~RSDP9k_LSvyTfx+)ms3y9tqmVEAF%zJTf$FKhk3$XZB_emNeX`z?pS5a=RO| z5qHZE=brg0=e*hkjur z4QB-uDVhL~=oMc{VY^7>;-Sie#Ab?yyUgt;h9{F)ntHDBX6IWTE!sx0@eZ~##AJ+% zA~E(93}a!J8HRjTSmfTKdnMVhf=xu=32TeW7#Sd`I^96%Yum0h=02(*Gl|ko$ZsAx z{Acq!Pb;WJ{xWEJ-?cR?`EH8&D!|i~q)mKUI)_3<4>#^rAuzH73Qi5-XTu$91jSL9f!T*cpP|L zOv-_=%AzKbm}Mrgz3d0UpDw8G$~trzxDL2RPD14DzSyyYi61TJJ`Z}qei~6U;vl;Q zNhJgPhzcO29vd2+>mlNT4}u0}5Jc+^-0JKE3DpeeNvemESzQ-S>W4@Q`%m z%r17RfAo|$)8Y^|C-m^U+dppBd+$H!UQuF`2^j7w*b;oeLQ%Z+Jyhi|5RFXig}`#A z&CP>40j?al8Y;KqjomuUhpk^TF?CyX4XV!_!oQJBCXb)&>>91QLB&3T?9LZv(_{34 zbx9^s%Tb@jUKU~ax~|WY+XI6=G@gY$nV0EpQ|=dAU0X(fTHYJcPChR&YrH&Qg2g-e zZ_8U~<7c=X8AHHVOtt&3PA^|Kko4Z(ql|_DjO`68Os~0lg>y%oB45VBKdk>6dTbF; zrC{wD?wSO2g~;2_*A@}$)Xv1aXEi3Un)yi$l2$kt?44&zDM$YNH`u2|{q=Y(lH)vy z`2>X*jo$3nDjk}h^X`}#sP+P*>fVEX@7aSsaw=37Z~_5I>LF+})9`yU`<}DHxd0v< zAkOUPsqB4wR0$Stt*|S!WM<$is}R6c_kzhXF_h0g`NW{!>WfUbO{uo!iahpA{k&Sy zft8qf3m{d~hy2UEa$n-g|F@nDnEmi;%bkB=C(LbF_ovY(n%0B^#B$qT|3^2>W%@A3 zaHnpd4aqR-(S*~z^S{~|!1iTOx!CvW+;j@)F0kz8a=LXp_!%V9&{4k~b}-n1=FIEr z@i^uG_>q%t1D*qwi>?*7>05OtQz~5jFkv>_Xs;k0lnz%t_^v|BTW|k19*4ISiEld{ zzV567oaNzdgCO5a)CTrnji~zNzOJ~1<2W7RD}66R|J*Y5mFx#yeda-vS6K4_n|`GE zhZsMVwkd?QJBLH>F_x*-)4A8pYkmm$S4cG>7eb8_nZYC*aS2d;zHHQmUD*r0qI$d? z$9Yd9n~0{0D8SUUMY7>wfq;iYC?OeF6 zOTA%%_3*4Y9w{jhct?|;yaPk^>_6d#nM_{>fZ+{NbP4+kxowvjA_@bpdvzjyPYjtE zMDn|%kI$>NHpr0=r4aWHtP+wdF8I;tR%^;#?1p|JqW!6OBQ4@VMRoG+@J}U<86jW_ zaQFA${KV`1jnjbd>P?`)p01Hf*X+R`ik1CUv7e~FSR6dC#y_B^MYOp&P}^%l?kLie zcl^g7;nPFz1fs^q=>tbk54=>;KZUz_EYXIXahFxG%i+nt+byYaQBC>83Flztu8_C! zfYaQpi&h9pq#n>oNY`AN0+oy%N#>50yx-0W&C zxj;MGa87)z48OyvlB`K~2?Lr&jMr$2Ml!B%r2z3k+sq2~7YoEDv4$v`G{@D2sC!YB zj6uQ2Es(}nBDfIsAc9@tE)iH#op$maLdDlk2~{(W)F`>_Bymw@s0+mt}$~%O{bKF8ZGJlPGBX-C*klIY->P# zNt-_nV8*K*#%XugX!OQJfT1+4dI@Os*4Y11qB~LC4X<>>3AXrobFW^T%ZbOHi0JPF z4^+okR+?V==X`CjM@-7nmmGpct}q)aCeFGy$>Bm+j=Z4NzS`&7gPxy#4MBCn3)=Up z&}Wywa4(jLEre_lA)X+FTZUnep%$R~!8D=;*mBs>#p+~+-edN5teQ}E%p#48hwZ{K zRBGz{Yb-p=)E-E-(3U-t<>rL!!K$ubsCh!{n6v}4nf`YcdD`l$JkiYI}M z=6S?DJ6e=;5`k-%pphM>a+ltmi_>$%VP`~F(41tm3$Zm6JEVo%9N8mndkr)KaH?7$ zI}q>0m-K}!`Vg`rD^G~B?hPx95U`@McLC~)6R$Ei>?g%`%}^dVi%UxMa9$hU-4@f5 zeQ?u&+giYsx!^j)zBrBJIHk>@5G^rxRU2-XiS+sTqoKbbV!;m~1UzsEE4+Q2dIYRA z0-Ht6)oW5`Ru4afGzUs4J;DndZm+hOGzA_U#&#?1b{&+0((@+E_&_$70t0-H%v=`^ z&O^A7YSN4QX0w*D%{7sXdD-g>A}qKwO<)6*67bX9&LLF|NrDQKQV++68TiV6OGs+W zKpA+O!6ViUT>8EXmEItJKPx*$Mdlq>%_a0Lr-y+Dc3vhnK|;qxPoVB9>#6NSfiRS( zTcIAN#GQt@ZRT&#A*cd|I`$n|s7T$F%rd-!)r9myB|&y!eR3WWTOO^4I_pwy-kdk7X>FRUrnyQw zz0)3=!U!kZJX?Bpq)|)xq`3GcfS($5z5S#k#hxNXIWnP?iWeyrE8(_Hs~EdUB_bWN z08kS=a48H6IW6L`b3NkQ%O49sgF}{~awM4sZ57Lu7WgU@@xU-7152nL-*`Il3#1h@ zhrd;EhI;N=y9YtR!2csT+T0GI@KDDj!4l^(dO1A^(*7rPBd2T>jtT(*lIaLd6f}fh zhV`(0gc5oTjByx~v8;)-uj-^1KCvd^XCV;#r8RzWP%}O-SIUHv+I1eFB?Nj6t*1H` zA|r*YyLPAgOKwT8WrM#sr@Yz~`GaJG|EausBdDCtVAF|nx|Y~b#Lg2He)_7h>!(hi zujcIpz*zuQWz-5~tl8kZ)IgNDG5t(2(t0*+7U~TRj;OPkDTg;4nn|B0Ts|7R`W~tD zo{%fOHrOvxFUSh5tym1;rLP1HY7bl{52odNftqmsa})rc?sH$-LqgXx_%~UGGh7`D zT#k_ilF0I4GN6E79N+mNXp4$yu(k)n{gJ#>$NeOG4PSc+2f9`UjP%>LQvAXr}^zWnB4-#KhslIFK4FbO4ChUS`ReWwq=P+?1TvIG$-oLk)2 zDt3hna!pztE}b%hh2+h3L(C6;P|Oz-Qu<*ygdDmN!7^vN1Qn96iQ11_s1jM{>8jclIjY4l zGSY?2G2)3;4Z#2zZ)l^oFRH@E-+dqi4J9~2S4J$|g?*#BFCYAe#^5 zyQPevtrse=oLarm&E36d<1@O7f8Fm$Of&q8Hlbc8P(Z@HXQ6C103~x{XdfYE@Bl zT_nl1Qq?}81+Xs$@CqY_@T(d}vQYG>+t^D<0+^N`xGr|wur8xU5y3o^!^vbT2`vJj zk})H9FvsGPt;F5mq43*{4@<^RH9eK|i30{`Ce0E3OcX}00lUAAF9AXAGMgo?F5{+B zTz{xe1B175B|B)WA>&zdAgq`~9!apE(h7G$xd1^IxT$20{kf(dZ+z&$lF!hKHy!4L z)ion^N|WG==kWGU;)E~U)z=x^-c^*VhZRtdH?+2ev_5@z={*MI8oWMz9Gwb;&(Ixsr!#p(=x(8`th?PTh0U9{Tc~w3QsrZw7^v}&~(Wd zBs6I~u7FM|(!rdbA?q^6fX<8KG@Ct8LIBj-@YZ*RM5TAYy@VmQ04AVQW7QO%Um^SsE#=8&t z6F_<)jOh5QrEvB|*0Ihlx9O;uJa!Z#)fgt_6f!b>b)f$B=L7+}pIs`~M}~^BWMqZ3 zX$OVN=dWH&rKlZZR{BTs{8W7vr7Yfn(7_zhsUgE3mkf)}ph$}}!U-fRB9|#>zjvg7 zv45i;hCKyGjjgHql|=&A!4~f-$%ag&!2mB=#r-R=nA+=4pod=l3ne~FA@Iq|up-ed zV)BRo{0qzOUH$CLfVIOL$t=iX=ui!tMRz#8 zjsq#k>sm@L0+KKzfdIv#OfB$d~BY<3^%X3V6DElMrNDov}yG+gRJ1@2esTZM}Kq|)p zoJEDDR^t%ls!ZcS0RHAOW*+b$k^2LkY1ix~u;DxpwvqrI`(Y8&@fSULB*q%*CS`0N z_FkV>dztfdSvZoB4IkP-0i)Xd_}8%r37Nr+M5RBy<|w%iPPA=_HF5>QFrb=JDwu##KaTs<Z>y}@ zHXoOatbF@khFOh?vcE^o88c+Gzox;AeFx$|&CqykG0nfS2SV+jgu2{3Csu}8MS>(Z zsrSYJ#ZL|!X4+fMy778r2T;>_d^xb8)t#+%7c48s#r(JuQN?U9U7DVpT}}^G+!2=< z8^J72ogiWb@lT!`ecJ2s1g!F{23*}2cK1xSkE*jcp5;&09vhEj5lWCOVW-0B_HY&OoZGaX!^Dv!&t#hkacJNwqcpO-z4<-_bMC|| z911HeyUBy}TmtI|@2gC0dLqURYgD;lZ1^NCbvIStgqps#2G<)a<;9+8M_;v*Zp+QQ z>%g?lLDo3;pCn6K1b}ML8RvU+(v)3cTC~CWH#4GX)W&5M zW5{&DNZ0#t?-U4DAe%ZAyH92Wav&-xC`6)fjsd0Ft=NthXx6(F^D)EGFyef)7HFQQ z>)l$TS6pf7$DlU=(W~5SDJ8bBLY2*k3J>ufsXjk}Jj4GTd5P+`c=P zNpcjsSMJvmG?~A6n!ny(EmMlzuK3ja4CubM=^+yN?OlE& zM-kR^@|j z2H9*Sq=9mo^KqvT(@!27c)&6I4`_Z$D*SdpXEAm69caVR&32y{tK_}#q&;2Mr%|=F zz8}4i0WTiHt=wdl!|mY3tz5Zdi|gNkRE0{0xDnPL&#RCZ{W36VXC~uT6#3=zmp~X>uIUN`xnCJQFRDN`5mlfxKl zYrT?GKUq=_3H{6|@;I65_*0DB7Y2NzX-kAfXWDTWBB34X>2&EBIH0i_cJP--(2#)R z+J_Q^bLT9pKmmLvqUC4%yM_vc1p=TV)e*!+%repelKF?7rfevd_iL6;lWy@$>aG5| z-G{zUxC};l6M8{L)3FApgTCk%-}>QCQyImO04qYb`xr<&w(=F7>z>M$Z*Kkz-wbtA z$S$@?+8mwKyqSr2R;@UL#{SUce)`c)PpdG0WZ#S09g6UfDU-IbVgsldTvby;F$O_E zO8o6~DsIdxdWH=CxTGAtO}AtFKSA2NsgB5_+BmbGEWPV@Qq_A zSrE~q>>iek0YFuX24Qi9O?rHE#Dy?T_%G-WfQMke9PtSW?+j~o9c!nb{2;6`O{rGR zq4DXGs`i%9P)l|((3PmrS-0NJwmX_Tg`H@O%m=r<`#g9&vlpGlrZP!I+c}cE0Qll% zZkEwE%I@G%Q~d!QJ6`DsCuT2eCVjPc$yo?&2~3Wv9o<&ft{HqOA|kJ4F@gjoN={<{ z*xlF@irGD<7e|*@UwE#)_*p|z58B*4X79kJumdR7mW9fgQ`nuKr^W}myafzsU16M8 za8sJ2D$1*MgvW0%d}*uDht^V)w6$}HrjK=VRJChXbee(RBKl6qYxB2@r`-_`mcCt26_DmT(p6+a!1yCp*{M5w z4AExmy%WRGD)``o`T3tekj~gw+Q*O_cS6^~!X_J7jyJb+mH=%7PAmWw^uy5HZyf8jrrJzfTT}`7HAB@6@ zEn*QDynMt&2}Ca}X(^9hLZoQ6sT4mHV(h-ksMwag^+Xm~!Li`l99~r}yvMaKaEg8h zj_(Iox2PrS(FA1eu}Gk129}p4G(4SmMr8~Y)2uE*nE)GEzI&3c`>U>snFov)5(P9d z?2>_9nAI+ZiP2Pbz99B=7;3mf4HgiwY|^<`G6FyFLPd~S zM=li2LtB+kk5GjnhN+}#z^x*AIHzu~A9d4JP%%yfDDE@o(dnTH|7r`WSy5KzKdlBQQL2 zjWGc-XI+^K8W}l1QW;y?n9l0TeTw$`@GGJ{NSQorgrm9P3+v*i0(vUuz+f_b$()G4n;^^Tmh`VNmNhjBH_n=+X{MA$om6gtM=)CuLk?Ru zS;Llni6BAV>troM%yKlgEx#q~E=eC#BCfUip1#>y|NjB^)Rh?POe9@ETN@NkyQm8o zF03SO7ous+g;=1eYnOrIhYnc8L~qhiM3AYvWnnRqVj*sz10<3qb>zJ$;ya&(lXW8E zwRJb=e_LqOw{_~XNtX0tslA1bQGJIaJE*XPB=jC{1y43>3S-ty-#X*Zj;^ve)=x{K zC>B&}lk1JO_!JXaP|It_9(12GIU+yA?gZ#OYwe3q6TLdGBiuP;mO!dJKd4@5Wl|X$RU1jLL3{}K5y?7dRa*T zECs*lZWNrCcXrC&Dz=~5K4K%JGCmH;^^~xz+z>E_OfrrAq_HZC#u1R5^HxGu(>p&) zxMw5M;%`9(0DkYuqWe8)j;?WQoYQLiSBLR1ty7Q}ppuiyUK?J0sB6umKc(k2fcx>I z^OlodB)qsT`3w0Y*}eSl^REiT)|C?Ccdh)ElNSnw%VXF>@z z6fc6N5+LTyoqs>TcS(vWxmT_Fk6&E>G1m&YT%>8C_)CueaXO3Euf_N%#J{Zf|4 zY_DTQbuZWA{yw(m>g-T4>VrdP;BlxW?q6%=dC`{|AVb^xmAV(i<)uEvnXDiGE|C#voMjNagdb@WhEnUogx#Ry>&2TMMobXLMM#)qra-D@HqAfrTwZRl@<&ckvl z!W~XSmtl{ZcMFM)sP2v)4etoxDpY9;K)7JlGwqrAp)D~a31LqyX4`=qYt}asEM@i4XV#s2V9_IDwRHk)o1ti3Plu%kVg*Fa9^P~p*FW+i^!BG? zZ!`@qI8IyAP_n2!PA_C9!jeKC{(;9Y7PSqP00i9Va*Z|qgJ-4shwd{#wQ!3ywO!Ra z{@LPs3fo(}>UTn%+t0%syGB)pAjZY~H{Uu{y9x(hNpf|J(;sj_0fZS}r7J5UKhp|t z%E8sf;-H3UnMNXY4bS4Wn64B73gQX}msB^0od$RWg$CF;d~4gE9mREz z`j1>P1tPxirga_lzijdg9bqdY?fy$#)3&Pl3q9}Cp%7%nksM%#7cYL#z4u;z-RkUK zU?wH@aN~u+XqLeYW{q^GGlU*Nu;k0PrH9S-`T4x{4{zt6ov#vElAU0V5U?@yr{nGJ zn13{?g`B=`2E+YOu>use4OVE6w6OP0>=vJM$tUt@=yA9zrf0}vcT^Vp>(Vd7;kJfh zm$!?4x|8c}%q6!$l(l*3wSpI@M}>z}mux^%k;_b8rNwagD4T5SavTQQBK}kPu+UGh z_rsKyHfmZ*iHgU&X3r}Vj45Nr;y>g2iej?G{^^Dolqec@PE4c>Zm%JCU4;4t^tC(ySuwXa1SmQmteWL2ZtM6 zg1dXL;O=h09fAh`?z7K(cK6#k^G8+nudBP}oSv?ksj0fPH&GNe&&A_V$GZh&2B^~Q zrVQ%dOiOlCJD!aQx%&Ts;z2|p2-n#0c!p#226!4z#~<4Y7wzdg+>y76X{7zm`TDl- zz;Hoi(fzz=V*7eTwNAw(!NZ&I^CN2($UitoaNW&dUv)1Qe1 zxE7Zmr(5+NO!FbSHKEZp4&Fvt(#gy!oM~}S@mqHXIK%s+`6$)l@L8!HhP5!xu;t$* zzlBzFkjF_YfEw!ZA9H4$TR#)4=cc_T52k4fu2N;=XB=IcHKqF`^Zo2ayfL?EpTNVA z03YsLc6BnFi-|s$1UD5uG*#s%YY~ZxeP)vUegr4#nyMhA)eyP4>!)%|G@QlWh6c3O zydJtlOJSS|SfHdW!JvtwxO=WlMAT=i>;no?(8fnTBmXO&?W_dDN(z?|zz_>Na8lYs zTG3UOH@Er%O4F=VA_R$aE_R2^8LH$p7mz*cZjX1ba^?}cW~1baIdze(YqRUsG0_~t zDm$(QdE4wdqpgx^=S>5Z8iuRPzunvJ)*H55x;J27tsLa1*fEgt%pQ+YgFD<2AfVf) zt?yisAgrB=olq&<3iHl8h~F+5VIxkZ=|hdogH^dD5xQDekgzt zWH_}h>lS_q*b^gYpYk21cytZEV`bOjKct{p=~xQZ)hDXm53_7HV$TX9^}+9!f8 zuPIrHI1%jBHhw+qe!FB71Ko*{eSN;2t0C+5(SEgiIH|xO1O2@t6AO4b=N{Lw;SPX^12nFR`d1*0)yUL#NMyo4#~P+|GcV^b!%ck`rVvBYGAxC zfxf=pm5_aXxf**`13lfDl8K(My}zD1cXz%UzrUX6nu4B|oXIxdcjw~CL|@*7=i_%%BSF}rOP53IZ_9@iWn$}q3-*p0(g(bO#QSnJSe_KHNb&7|e_ zgg5<4ziCyp2F@z5K;kAR_rn(_GfieYRcbOGr-7^5FXwR%pUztk7C=t%0q3SY4kB_( zOI%yHfMf4vFe_4Mfi}2bR>A&ifEFk@Q+_-hFc%o}G3O;ZK-=<=kz{LPwBVUkDVzFJ z8+rnR_Pb=doBV3wiy0_S_+++illUj~4R0ff-VY~J_RaPp{|dvBZm%J#)lPmnHidLI zQsX2pnh7j`U-c)Ya8M7z9o*SjB zoIttAltPn|V5MF*m{e(Ifj{FpWMi^L=NEB>aZY@lCOV07k`y+{sax#b?5-|RK){(H z0Rh|bdRn*1ZRVrrYq05Ma`O^fvuQcbT-wGYrT*>~Z|djfL6Fi<)ve~HgK0gs<}?!M z%0m0@N)mVncy?ORMvDMijaJ5|mL~1nhr)qH-iMcpb8qLPbL3ID6fXLyevJYAxf#YG zvmu{fHPv}W;sPPp$~)CBPyXYhHB(s@OE=+LCK7FdZt(l*jZ%LG7Bjpa)(0>8`oJ;c zZ3QhT^fu}_BOpn}A*jt^;5fn68WTOf`edGP@_>4rx&EWoKj^sLj3(V%FX(;L(K^NO zL8T8Qw{yQ)GFdwJ(wMCnwu*;E0b6a#i(XG zYlvoFexcbNRG`_VY11&2rJ>nvMxxo}yoUEn6wWw<49qbVR@1&EHL@t^ty`qV?$>Ky z4=QRVVZbSf{>A^(ZpT9uLo{32z)Q_4E%=nFV>G{q0Sq5yE8f*=RLum z`=M5RaS*XSSUAO3HOzku1vGHgP99%Vj+6ol%%`DjxRnaI7-`B3AS6%dsV6NMY1W#L zATzCksA&w;`DKR*vz5o}Mo3tme)}A_s`3IKna)N?8|2gM|1gnWSf-}}Ywt&_nb*wr zedd!fjNXu`l&w`p$oHIFlyfN>WK?qy`KjmHQ>GR>K@+?%GL)j>HOB;PE_K7sYt*;;@Uw!R2)J!S2(BJe(hmbQK+soPg7^4P=3I& zm2hCZo^Zh6C=ZK-)8J@;^;C8Mx7t`gotecN$KlG!8t6Y)QZ!F;NB%3-8ik`q0fU-zMjXBrEo~TZ;s{lQ*g(T%tVo(7z8w(x?rp<}|lnU|)7^gj{>pmP#{@Nyj` z9c?#gB8tB^xoG<-Iw{mbx631TEY;vJ2Gw`MzLK6g4H4*Oo(+0df*ETi=7Vs+$B3>= zB=Hrtun|H|Wvlw>C6~1C9Y)gw!7J06^Da{E$9PTG2nh zML7&{`^>m2)e>_)--_`4ERj8RwcV5k_~Kwhc23io`Zr|7o@x8(VM?-RRq1JRj=tS9 z5Hu9&OMFogte!7tX$si5kHu+j{6Z~4|ItwHwh>bVlHrNM$19nA@8wMf>6Onjd)|4O~2TEql2qt9k!D8!u03 zh7B0$5#ZE?7&{j=)>(i)G%@O~EgqPsiyB>3Kl}~lW&|nKUtPz)4bkM#gu656+*+l6 zapO&DokN?PVL4O*K0c(Wf|nw+mBD%OO6v%J4gH0jkx@5kKv3JUp>zeSTFj*1#S;rk z;F1$ni2I>%Fen#CC>ULGd849WL>=a8N7X%Ro!KBInY*j85ozb6TfOlxaAd1UzJ?FwEQOI|cTRgRpaN-i3DmN`$?9J86Z{PCBW zoVmbNm;<78pt)repz!0D;gSXJCXFp`l-|Y$`E?@GDq=7*cAhA<39a2Wu<=rwEV){%f*2*91&?+wgMq{Apc4q&KQ@;v6E`CB%68JH}GU1=y$I`+)~pkA1W(9o28#;wIR_^tG-Y#Tv|fuvx_o|T4rzeAjm1hV3Np@F77<<1G(`Dx?3 zi2>1_B`(lKtzb}{i!HSfVZH8g@U4JhPsxgPgC?C)iDa*J}oY zo=-g|&j`C(>)wKA8Vv}cli+mjE#{z{ZEqlO_3!m$nUY>onRN7rq4ue-%%a1fzG<~a z0lMTO%;-F$f3;?v{iwGoL@1a*OM&3dVyuZ^{vn8g`k(=`_M$8-lkPw_xPAChf#384 z_WzPNDem=kqdDdl`4bS5b8GZ#!eTV9n))OXka53m|B!AqEBTkk8}fP#?^MdX*07Q~ z#9{c$bn6f51$HPoSrjp0i)O+;r3^|2w($*jF5O8|H}H)J83=X4>HLK|F5xT9HQeM9 z!Wot*Y(f9W)u0Ul4k#DnGUs>Uzz6*?ky*4)EdXaWcLjZ|37lB3fUW91 z>1~?yOEVh0A9L~N?SKh<%duK)j#QYMmNmEC9U8}3}=+%yZra=nxNRQi7wM!Aj+{&(q`gqcp;sFZqno? zhC4lwFmz{TQLHV=<5Ld~gPY=;YxDYuF~~lF_dd2@8;{LQw4j-#z&9Q$Ws@rNh){a$ zVc5p^FH5Q?@b$u*IzVprfx3*1NooO1Q^uyGX_{8p#VlFe#jFsZpY&8ueP<;CduOF^ zGL|&|4$U)(FTQ4aNOmmDWDAwqe_tjS6DWAp;bI}}g!~it(5rX$q z(tJoOv~U)I`EMO|Mtf`t^Z1V_)aO(~a7p)xyD$oW8hwzK^1fjQojX<7hS%iNz@G=E z5<%BwQV*m9nUItqTD;Kh;rPB8mPjmbqp$2^$OX3E$3R8>t^f^--E3_vRc2(|a{9_&zd@_WV{`3!xnMAG-kf;!jxrenB z6I&Yz2Nn%UDZ&F)C`n5Fh2Nt%O>9@^htWZ^w=ZqBNzkyGZ1}HZ{Lbfl1RT!q&v*@6 z)mhSSZnYChi!r}CzMglK;*Y%7;#Uqr2!^s&e4@6+r^mqVMYfBuHu-jq;AbL){_Z=T zt+=Hne<72vTGw@>mAxU!RbS*=r<+OKU@HLFc6Z-AChT6TAl1mrEFFb4J6JPnEI`_S zAAbmTOb#H^X|g4D@WU9IXxW$lnCh!3;=kkFbl65PKbaj8r?5)&c3&lQb8lpesq(Q-d$OtSd(&y z><<(B*s?KVG48UbJXj+WKr=Dth=1-P~vhA_n zTg9(z>iyzp3*2dfR|;a`YQAGPZ5LTVT%%cg{eUvhYpdzHUcuu-QIv{g@`AN1!L;P? zed-&*woc{!g;98$XofBWy6!60e3|S7mXFusQlu{Bt!0vg9$MIzJB-zS$r z|KejYWM18_45hq&Pqra$i1SOw%6m>g6&l18a2y8SjBtzC! zb|w>KSv5meoJSd^9u}$+J`puVnMWN~;V08bucX2*$ak?AGk|=1frKSA^_`4SD3($4 zY-?l=ds)fn0}O?em{Rn)8pecMsj<_($>Zvf!lsf_jHGrt+At$=77)cBgoH+t=G68U z>Tfy9=tpTtG`I27<4;tV#eUv*k&f+rL0 z*6(Re>@d`8(Rj{=ZLQ;aE<2&iuYvAG4?T({?M~uc72X#{_mip1n{5#*Kd>)YTD|JHXMsa@&q*kr zm%2magMsK3Be*BZEk$JYy~bvlOplMFhH_lGDdO(il(dlCxI5zwG*)TtR?a%#g~>U= zMsat#Q&;U7B%t%8InB?91lrg=4w*uO?EJDGwde|xsV@rNu5UmJcAu~~a4}mizBV)r zYmM!dk2YQ~m3bY0kZRDRXL-+&*N1K`pQA2!w$9*2!GW!CT%xzUDw)5yJ4ok<9khaX z=7t^4aw`<#I5G{`x)d9=YNw+k`KW6KEadCLwLZSfa-e!OspnyPG{Sjv!^$8@leBkL z(3Rg98vs&)! zTcG4945W1vT*Mq6$Z_?d2h;H(2k!Qsxw*TfrkU=bS?>4G-ortMy)u2fdqmj@c8ZWt zq|TL4v~TV{DFyYCvMVG(>gz)BWM{oZC1QU?$SsS!W(78GCL33w15$T9zoOi0hb!=t zAqr8S<6 zD2?5~365lPR@dOn8!swlwf(HblzToRX1)R%flg;?@5d*Y zKLH?ZTDZ>|u~T?zgpqFLJ7w7-uz>os@a?{HL}9No+Rn`j{(44lK?^INbDv5$8VN!g zE0g8=PG0&-(;P|@E3t;vE!>nGZ$Bx?iWExq4=;lc$t(I^{fgJeXI0GS0hYp+;1_$&M#9eOL&mqQ`+CaQLA{B>jk<7CAQzn|Zm z}`WoL=iVIJ^s$noJbk!qNSvC7M-u&~|+gMx6j9_|Z zKEB=E1Bo}~<>OoBKzK4nt)%uU&em@n>0`t1x}l%d`138kqrqEUBR1|)i2)k3f1&Xu zUoz)muABY*{Hw4KC~Rd3Uu{pz+OzEiVqc|w6E@&myN=WH#$aE=DTg5@qSh|!Dg{M) zv{PQ$GjKF1R9W>EX}TPj%&%-pPfyzryMBTqXJEE?#uvpT-*YhXdN$5>8y(NH+$Hgo zz@o>(itHIkFk(X!3jo3@N+2k@q@+6pn?!k*A6q~Ep)Tdb4&IV`9Ct1Lyk3Fa3OHlzG((8}K%#eGDVLHk3q3`W>C%sogQ*ziY z3p7Q+*IO*`CJG$sMAyL$V!_ho46U;x0WpTl1lPI~*DS0iA zoR7h5TrmLz$u<*H`yx|r`;i{VK(m2$bU2g&h!2gE3m4JROTVCi%k8QN!m*!V!OlbX zKQ7gP&1fn%fBCNTPdq82S%|@ z<5n+5#F+AH}*X%jA=`LF~HQtMIU&27Y*z-w=0x z-l0{DU)P6L+Jol^H=lR=u)YX#Oizf$)!DUj=VAQk~H^pNtG+}O(H9YtHX zvf**^5vSW&iPIJ9+Ld8>oRBO9HLL6!6}g^K>yPmlDg|6%`&^xm$w5KqxJ(!x{g45{ z1;Ob!kO^yef8M|`DXYC2M@p>F!fiu78e%mw_(z@-eJs@R)o3keAr#6Q2R(s z#?Fsll^wN|MG@0Pf*;1z9{10U`dNHqi1vHqjgi&To@^uNY{;ND9}v@QVbQ(&`sr#y z$Hp@T2+=DOIn&a7%K*1%%_5{jCv0Z%8z6Nh^!=d_T~g zGH?C)B^`EW+lP;(!)a<}3D1GMp@i@be{e*VfWbF!vIO#QEb*Ri??NcJL+5eBm=6=C zK#@PKPKPVZ_NLKel^SewmSbGSE->;)%ql={{l>YxES431ru*|3^O=55adM{xK?-5~m# zt4Kj3Zd5vyt|i(Cbi8?%I3d7^zc-y9ZW7dwX!`y|-kdBZP1%KvuJe?OBQ=nB_vzyw zuNZjY2Fei`8Ekp`rY1U7uXxZ7eDN%tH>Bn{=Fq+DgJ(!P8_sQCI@dm@Hp-CG4O1rKhk=`e4P+(>ACi(@=9pdkzBq{l-MtC7HhKjTs1yNvg~2aF#X# zZThs=pHn9BVTs^>~${;-|$cy@kVU|CRI5Z|5 z?poc4@KuVA?_-R*z21T}CY54tgCV95#6|iO=-onSYtdmr<)X;i^Z|2|`&f+u(oNVO zKSD{w9w#2!ag$jK^_&Ur>>N==7KsGwtwR1PU7G8pMmXGq)NVc^N2C3lP9*|T6Bgm= zts#>TpcRsf*noAZ93}ga_kc|#i;5T&$RVz^kGu+C(VZ6Sq+0j3%TEWH>*OE9TKe>X z<)j5w2~Q^L;-Owdf9H(inyu3fVkYQ`QDkuhyTJ?!Z;!AMI!F_>@`jEzvfW2;-uqy{ z7fvBP$M7`mGvVdbdzCb=Cf$O}nTGe6rGCoyusz|iMgfH>B0#V*RvFA>V?4|(Cr2nY`<%9gj{we6D=X)d#eBi)$ zj%=CvtSjsjf_`&ZGrm4^mS4lCqsNiqK1f?VOCqe!VOsMrFyaYzsC^oY?$$-Is%T$m z+kM$xlK`8AS;HZ?3n`Acj(5IQlNX%hrW^Tn^%hV&-pI%$WDYv`Utxh{k319S-`$e@ zUALG^-`|H9bia+0FNcEwKFF6ojd2lVt#}gtinD-X=-))E=LUXbpRnt71QDS^xC)bc z7wwYG$$VHe{zl-f#(5sjlX$T%FIASaZ!0LP3<@4)#ENh~(Yhnbgy_c~x+DBWd!k(6 zCgBi~mY8OxKcF?6#rTN0TjURPO}%&4AU)pd6P|6CIm!0@qoM-3+rdy98!JHA=tS?9?BJ1qS9;C5XEnJUZ}c6;!gHQ z@A`0Q?PyZYPH@ILCdRCz%mPLKRb+=!BpP2jczZ?JrAt=bjnG#Q=Za1B7LGkNG1+h# zd6jU)l8PROI4Tiz%%lxvmb>jfTv`HmDXnDwFuE~1#!PvF8>}jfY zzpms-CPs=l8Lxl09hTCL(I%$n!pGwzE2anuzM;y`HyQ*D-ol3o|8Bv7`aKgA>D|^2 zeuVi{U##T8iLmoKYIZSSCRBG>Zrd-{IgNRA&_6_v9JYn_}erm+f8H8XR*095!0SZyL&D(V|L+~K+gOc+vaa-4jj>CAyyy2!DfcdOp@UfCis_PxG68W-GFeBm~=T3!~p7~Sx4qGE+&)YivE zc-Id-hk6biJvKxrFLe&08sWi|rAf{ih}`w?&1UeRvA=@xjjmZIk}6%_>}_Iin6pt& zOLlo$(6La?xp<1@D1(m>`KR^~XIO@vSnxPLBjW!oYUhvE@y@ThPfMC|#mY3A-S9dN zm8_liOm6V4EDpgAImj}@iY=V}DMULxnFGHdQ7=?v)gVF@Z;P(Z93{2$3e}N4b0c_A2;Fv{#IJ60Pd=VfB zI7fj7lc7T6fk~GDi~vdlXmDT{^hdCh0W>n$86twF0cR`$PS z{~e750|kZkKXZam=Rx2o2!iOpgNQnzpfLYGL?C!*6(9mbQ39@A15kq**8prV2xb2= zAP57!1g=>Fe1a)${a41Y4w3nQ_17Vt!u$V~bwXq?I^+K`SQ`L5c)EE2WR(90ZQA`b diff --git a/premise/data/additional_inventories/migration_map.csv b/premise/data/additional_inventories/migration_map.csv index 8c4b6764..3f9a90a6 100644 --- a/premise/data/additional_inventories/migration_map.csv +++ b/premise/data/additional_inventories/migration_map.csv @@ -616,4 +616,10 @@ from;to;name_from;ref_prod_from;location_from;name_to;ref_prod_to;location_to 36;39;transmission network construction, electricity, high voltage;transmission network, long-distance;CH;transmission network construction, electricity, high voltage;transmission network, electricity, high voltage;CH 37;39;transmission network construction, electricity, high voltage;transmission network, long-distance;CH;transmission network construction, electricity, high voltage;transmission network, electricity, high voltage;CH 38;39;transmission network construction, electricity, high voltage;transmission network, long-distance;CH;transmission network construction, electricity, high voltage;transmission network, electricity, high voltage;CH -39;38;market for battery cell, Li-ion, LFP;battery cell, Li-ion, LFP;GLO;market for battery cell, Li-ion;battery cell, Li-ion;GLO \ No newline at end of file +39;38;market for battery cell, Li-ion, LFP;battery cell, Li-ion, LFP;GLO;market for battery cell, Li-ion;battery cell, Li-ion;GLO +39;37;market for battery cell, Li-ion, LFP;battery cell, Li-ion, LFP;GLO;market for battery cell, Li-ion;battery cell, Li-ion;GLO +39;37;heat pump production, heat and power co-generation unit, 160kW electrical;heat pump, heat and power co-generation unit, 160kW electrical;RoW;heat pump production, for heat and power co-generation unit, 160kW electrical;heat pump, for heat and power co-generation unit, 160kW electrical;RoW +39;37;heat pump production, heat and power co-generation unit, 160kW electrical;heat pump, heat and power co-generation unit, 160kW electrical;RER;heat pump production, for heat and power co-generation unit, 160kW electrical;heat pump, for heat and power co-generation unit, 160kW electrical;RER +38;37;heat pump production, heat and power co-generation unit, 160kW electrical;heat pump, heat and power co-generation unit, 160kW electrical;RoW;heat pump production, for heat and power co-generation unit, 160kW electrical;heat pump, for heat and power co-generation unit, 160kW electrical;RoW +38;37;heat pump production, heat and power co-generation unit, 160kW electrical;heat pump, heat and power co-generation unit, 160kW electrical;RER;heat pump production, for heat and power co-generation unit, 160kW electrical;heat pump, for heat and power co-generation unit, 160kW electrical;RER +39;37;market for battery cell, Li-ion, NMC811;battery cell, Li-ion, NMC811;GLO;market for battery cell, Li-ion;battery cell, Li-ion;GLO \ No newline at end of file diff --git a/premise/electricity.py b/premise/electricity.py index 6b7103e3..d9f9d3c9 100644 --- a/premise/electricity.py +++ b/premise/electricity.py @@ -1620,9 +1620,14 @@ def create_biomass_markets(self) -> None: ws.contains("name", "market for wood chips"), ws.equals("unit", "kilogram"), ): + exc["name"] = "market for biomass, used as fuel" exc["product"] = "biomass, used as fuel" - exc["location"] = self.ecoinvent_to_iam_loc[dataset["location"]] + + if dataset["location"] in self.regions: + exc["location"] = dataset["location"] + else: + exc["location"] = self.ecoinvent_to_iam_loc[dataset["location"]] mapping = InventorySet(self.database) self.powerplant_fuels_map = mapping.generate_powerplant_fuels_map() diff --git a/premise/export.py b/premise/export.py index 3b3b23e7..c38a8e4f 100644 --- a/premise/export.py +++ b/premise/export.py @@ -844,7 +844,7 @@ def generate_superstructure_db( :param db_name: the name of the new database :param filepath: the filepath of the new database :param version: the version of the new database - :param format: the format of the scenario difference file. Cna be "excel", "csv" or "feather". + :param format: the format of the scenario difference file. Can be "excel", "csv" or "feather". :return: a superstructure database """