{"cells":[{"cell_type":"markdown","id":"a5461ce4","metadata":{"id":"a5461ce4"},"source":["**CRIB SHEET RULES OF THE ROAD:**\n","\n","This crib sheet is provided to support access, utilization, and plotting of UCalgary optical datasets and models. It is intended as a base set of code that a user may edit and manipulate to serve their own needs. Crib sheets contains UCalgary verified and validated procedures for plotting and manipulating UCalgary ASI data and models for common use cases. Use of this crib sheet does not require acknowledgment, it is freely distributed for scientific use. Please also remember to perform due diligence on all data use. We recommend comparison with verified data products on [data.phys.ucalgary.ca](https://data.phys.ucalgary.ca) to ensure that any user output does not contradict operational summary plots. Data use must be acknowledged according to the information available for each data set - please see [data.phys.ucalgary.ca](https://data.phys.ucalgary.ca). If you encounter any issues with the data or the crib sheet, please contact the UCalgary team for support (Emma Spanswick, elspansw@ucalgary.ca). Copyright © University of Calgary."]},{"cell_type":"markdown","id":"8c2788de-3015-4122-a9fb-928d4272e914","metadata":{"id":"8c2788de-3015-4122-a9fb-928d4272e914"},"source":["---\n","# **TREx Auroral Transport Model**\n","---\n","\n","TREx-ATM is a time-dependent Aurora Transport Model (ATM), designed to leverage and support TREx optical data. TREx-ATM uses the two-stream electron transport code embedded in the GLOW model (Solomon et al., 1988) with ambipolar diffusion to compute the electron transport. It has additional capacity to compute impact ionization, secondary electron production, and impact excitation of neutrals (height resolved). Use of the TREx-ATM model should cite:\n","\n","*Liang, J., Donovan, E., Jackel, B., Spanswick, E., & Gillies, M. (2016). On the 630nmred-linepulsating aurora: Red-line emission geospace observatory observations and model simulations. Journal of Geophysical Research: Space Physics, 121, 7988–8012. https://doi.org/10.1002/2016JA022901*\n","\n","*Liang, J., Yang, B., Donovan, E., Burchill, J., & Knudsen, D. (2017). Ionospheric electron heating associated with pulsating auroras: A Swarm survey and model simulation. Journal of Geophysical Research: Space Physics, 122, 8781–8807. https://doi.org/10.1002/2017JA024127*\n","\n","\n","### **Crib Sheet Summary**\n","Below are examples of using PyAuroraX to perform a TREx Auroral Transport Model (ATM), forward and inverse calculations.\n","\n","\n","\n","\n","---\n","\n","\n","\n"]},{"cell_type":"markdown","id":"f131a71f","metadata":{"id":"f131a71f"},"source":["## **Install dependencies**\n","\n","Here we'll install [PyAuroraX](https://github.com/aurorax-space/pyaurorax), and import it.\n","\n","Some helpful links:\n"," - [PyAuroraX documentation](https://docs.aurorax.space/code/overview)\n"," - [PyAuroraX API Reference](https://docs.aurorax.space/code/pyaurorax_api_reference/pyaurorax)\n"," - [Jupyter notebook examples](https://github.com/aurorax-space/pyaurorax/tree/main/examples/notebooks)"]},{"cell_type":"code","execution_count":null,"id":"d45a06d5","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":69497,"status":"ok","timestamp":1718816242480,"user":{"displayName":"Darren Chaddock","userId":"00063457193488446753"},"user_tz":360},"id":"d45a06d5","outputId":"a50befad-12a0-492e-8652-52809dfe7c17"},"outputs":[{"name":"stdout","output_type":"stream","text":["Looking in indexes: https://test.pypi.org/pypi/, https://pypi.org/simple\n","Collecting pyaurorax==1.0.0-rc1\n"," Downloading https://test-files.pythonhosted.org/packages/1b/6a/7032956187fa0b6c7bdbc4c2de8b0e1d70a130947ac2acc13083cc380065/pyaurorax-1.0.0rc1-py3-none-any.whl (193 kB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m193.3/193.3 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hCollecting aacgmv2<3.0.0,>=2.6.2 (from pyaurorax==1.0.0-rc1)\n"," Downloading aacgmv2-2.6.3.tar.gz (1.6 MB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n"," Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n"," Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n","Collecting cartopy<0.24.0,>=0.23.0 (from pyaurorax==1.0.0-rc1)\n"," Downloading Cartopy-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m41.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hRequirement already satisfied: click<9.0.0,>=8.1.3 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (8.1.7)\n","Requirement already satisfied: humanize<5.0.0,>=4.4.0 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (4.7.0)\n","Collecting matplotlib<4.0.0,>=3.9.0 (from pyaurorax==1.0.0-rc1)\n"," Downloading matplotlib-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.3/8.3 MB\u001b[0m \u001b[31m67.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hCollecting numpy<2.0.0,>=1.26.4 (from pyaurorax==1.0.0-rc1)\n"," Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.2/18.2 MB\u001b[0m \u001b[31m14.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hRequirement already satisfied: pyproj<4.0.0,>=3.6.1 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (3.6.1)\n","Requirement already satisfied: python-dateutil<3.0.0,>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (2.8.2)\n","Collecting pyucalgarysrs<2.0.0,>=1.0.0 (from pyaurorax==1.0.0-rc1)\n"," Downloading pyucalgarysrs-1.0.4-py3-none-any.whl (69 kB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.2/69.2 kB\u001b[0m \u001b[31m7.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hRequirement already satisfied: requests<3.0.0,>=2.28.1 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (2.31.0)\n","Requirement already satisfied: termcolor<3.0.0,>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from pyaurorax==1.0.0-rc1) (2.4.0)\n","Collecting texttable<2.0.0,>=1.6.4 (from pyaurorax==1.0.0-rc1)\n"," Downloading texttable-1.7.0-py2.py3-none-any.whl (10 kB)\n","Requirement already satisfied: shapely>=1.7 in /usr/local/lib/python3.10/dist-packages (from cartopy<0.24.0,>=0.23.0->pyaurorax==1.0.0-rc1) (2.0.4)\n","Requirement already satisfied: packaging>=20 in /usr/local/lib/python3.10/dist-packages (from cartopy<0.24.0,>=0.23.0->pyaurorax==1.0.0-rc1) (24.1)\n","Requirement already satisfied: pyshp>=2.3 in /usr/local/lib/python3.10/dist-packages (from cartopy<0.24.0,>=0.23.0->pyaurorax==1.0.0-rc1) (2.3.1)\n","Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (1.2.1)\n","Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (0.12.1)\n","Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (4.53.0)\n","Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (1.4.5)\n","Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (9.4.0)\n","Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.0->pyaurorax==1.0.0-rc1) (3.1.2)\n","Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyproj<4.0.0,>=3.6.1->pyaurorax==1.0.0-rc1) (2024.6.2)\n","Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil<3.0.0,>=2.8.2->pyaurorax==1.0.0-rc1) (1.16.0)\n","Requirement already satisfied: h5py<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pyucalgarysrs<2.0.0,>=1.0.0->pyaurorax==1.0.0-rc1) (3.9.0)\n","Requirement already satisfied: joblib<2.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pyucalgarysrs<2.0.0,>=1.0.0->pyaurorax==1.0.0-rc1) (1.4.2)\n","Requirement already satisfied: opencv-python<5.0.0,>=4.4.0 in /usr/local/lib/python3.10/dist-packages (from pyucalgarysrs<2.0.0,>=1.0.0->pyaurorax==1.0.0-rc1) (4.8.0.76)\n","Requirement already satisfied: scipy<2.0.0,>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from pyucalgarysrs<2.0.0,>=1.0.0->pyaurorax==1.0.0-rc1) (1.11.4)\n","Requirement already satisfied: tqdm<5.0.0,>=4.61.2 in /usr/local/lib/python3.10/dist-packages (from pyucalgarysrs<2.0.0,>=1.0.0->pyaurorax==1.0.0-rc1) (4.66.4)\n","Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.28.1->pyaurorax==1.0.0-rc1) (3.3.2)\n","Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.28.1->pyaurorax==1.0.0-rc1) (3.7)\n","Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.28.1->pyaurorax==1.0.0-rc1) (2.0.7)\n","Building wheels for collected packages: aacgmv2\n"," Building wheel for aacgmv2 (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n"," Created wheel for aacgmv2: filename=aacgmv2-2.6.3-cp310-cp310-linux_x86_64.whl size=1679866 sha256=5ea639defcbaf902047c3134f009a83a4708413d0ff24f13632341d99f6584b3\n"," Stored in directory: /root/.cache/pip/wheels/e9/d6/3f/10a359ebb903b2dbe5aa94f7024b5284059bb0daef65a7a0b4\n","Successfully built aacgmv2\n","Installing collected packages: texttable, numpy, aacgmv2, pyucalgarysrs, matplotlib, cartopy, pyaurorax\n"," Attempting uninstall: numpy\n"," Found existing installation: numpy 1.25.2\n"," Uninstalling numpy-1.25.2:\n"," Successfully uninstalled numpy-1.25.2\n"," Attempting uninstall: matplotlib\n"," Found existing installation: matplotlib 3.7.1\n"," Uninstalling matplotlib-3.7.1:\n"," Successfully uninstalled matplotlib-3.7.1\n","Successfully installed aacgmv2-2.6.3 cartopy-0.23.0 matplotlib-3.9.0 numpy-1.26.4 pyaurorax-1.0.0rc1 pyucalgarysrs-1.0.4 texttable-1.7.0\n"]}],"source":["!pip install pyaurorax"]},{"cell_type":"code","execution_count":null,"id":"612eb219-1ad9-45b1-b9cc-d749daa5b849","metadata":{"id":"612eb219-1ad9-45b1-b9cc-d749daa5b849"},"outputs":[],"source":["import datetime\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import pyaurorax\n","\n","aurorax = pyaurorax.PyAuroraX()"]},{"cell_type":"markdown","id":"f43c6018-a86e-483a-ae6b-d6c7d4dc60e9","metadata":{"id":"f43c6018-a86e-483a-ae6b-d6c7d4dc60e9"},"source":["## **Forward Calculations**"]},{"cell_type":"markdown","id":"15ad7484-dee6-4a0e-a222-1ed03496f591","metadata":{"id":"15ad7484-dee6-4a0e-a222-1ed03496f591"},"source":["### **Perform a basic 'forward' calculation**\n","\n","First will show how to do a basic request, and plot the results. Later on, we'll show how to do a request by supplying a custom spectrum.\n","\n","Requests take a series of input parameters. Some parameters are required, and some are optional with default values that will be set if they are not supplied. The following request we'll be performing utilizes all default values for the optional parameter (marked as such with a comment on that line).\n","\n","More details on inputs and outputs [in the `forward()` function documentation](https://docs.aurorax.space/code/pyaurorax_api_reference/pyaurorax/models/atm/index.html#pyaurorax.models.atm.ATMManager.forward).\n","\n","\n","Input notes:\n","\n","- latitude and longitude are to be in geodetic coordinates (-90 to 90 lat, -180 to 180 lon)\n","- maxwellian_characteristic_energy must be specified if the maxwellian_energy_flux is not 0\n","- gaussian_peak_energy must be specified if the gaussian_energy_flux is not 0\n","- gaussian_spectral_width must be specified if the gaussian_energy_flux is not 0\n","- valid values for nrlmsis_model_version are '00' and '2.0'\n","- units\n"," - timescale parameters: seconds\n"," - maxwellian energy flux: erg/cm2/s\n"," - maxwellian characteristic energy: eV\n"," - gaussian energy flux: erg/cm2/s\n"," - gaussian peak energy: eV\n"," - gaussian spectral width: eV\n"," - custom spectrum\n"," - energy in eV, flux in 1/cm2/sr/eV\n"," - energy and flux arrays must be the same length\n","\n","\n","\n","Output notes:\n","\n","- output parameter of the request are toggles the enable/disable each field's inclusion in the response\n","- all output parameters are false by default\n","- altitude is in kilometers\n","- emission data: 1-D array -- volume emission rate (1/cm^3/s)\n","- plasma electron density: 1-D array -- density (cm^-3)\n","- plasma O2+ density: 1-D array -- density (cm^-3)\n","- plasma NO+ density: 1-D array -- density (cm^-3)\n","- plasma O+ density: 1-D array -- density (cm^-3)\n","- plasma ionisation rate: 1-D array -- ionisation rate (1/cm^3/s)\n","- plasma electron temperature: 1-D array -- temperature (K)\n","- plasma ion temperature: 1-D array -- temperature (K)\n","- plasma peterson conductivity: 1-D array -- conductivity (S/m)\n","- plasma hall conductivity: 1-D array -- conductivity (S/m)\n","- neutral O2 density: 1-D array -- density (cm^-3)\n","- neutral O density: 1-D array -- density (cm^-3)\n","- neutral N2 density: 1-D array -- density (cm^-3)\n","- neutral N density: 1-D array -- density (cm^-3)\n","- neutral temperature: 1-D array -- temperature (K)\n",""]},{"cell_type":"markdown","id":"757c001b","metadata":{"id":"757c001b"},"source":["ATM requests require that users toggle ON outputs they wish to have returned. This allows you to get back only what you want. This mechanism is controlled by the `ATMForwardOutputFlags()` class that must be instantiated before making an ATM calculation.\n","\n","As part of this class, there are helper functions that toggle ON or OFF all outputs, and toggle on common groups."]},{"cell_type":"code","execution_count":null,"id":"cbed366b-921d-4408-add4-1494e7714a3d","metadata":{"id":"cbed366b-921d-4408-add4-1494e7714a3d"},"outputs":[],"source":["# set up our request\n","#\n","# all output parameters are default to False. Here we initialize\n","# the output flags we want to get\n","output = pyaurorax.models.ATMForwardOutputFlags() # initialize output flags, all will be False by default\n","output.enable_only_height_integrated_rayleighs() # enable all height-integrated Rayleighs values\n","output.altitudes = True # enable altitudes\n","output.emission_5577 = True # enable the 5577nm emission\n","\n","# set the location (Calgary-ish)\n","#\n","# NOTE: ATM forward calculations can be performed\n","# for any latitude or longitude\n","latitude = 51.04\n","longitude = -114.5\n","\n","# set the timestamp to UT06 of the previous day\n","#\n","# NOTE: ATM forward calculations can be performed for any date up\n","# to the end of the previous day. It is expected to be in UTC time,\n","# and any timezone data will be ignored.\n","timestamp = datetime.datetime.now().replace(hour=6, minute=0, second=0, microsecond=0) - datetime.timedelta(days=1)"]},{"cell_type":"code","execution_count":null,"id":"aaaa2706-5717-45a4-bc89-b8fda5aee8c7","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":421,"status":"ok","timestamp":1718817274793,"user":{"displayName":"Darren Chaddock","userId":"00063457193488446753"},"user_tz":360},"id":"aaaa2706-5717-45a4-bc89-b8fda5aee8c7","outputId":"7f3de663-79c7-4585-e173-a31b5957ef75"},"outputs":[{"name":"stdout","output_type":"stream","text":["ATMForwardResult:\n"," altitudes : array([ 80. , 81. , 82. , 83. , 84. , 85. , 86. , 87. ...])\n"," emission_1304 : None\n"," emission_1356 : None\n"," emission_4278 : None\n"," emission_5577 : array([9.72542875e-06, 4.63875076e-05, 4.47856582e-04, 4.463 ...])\n"," emission_6300 : None\n"," emission_8446 : None\n"," emission_lbh : None\n"," height_integrated_rayleighs_1304 : 1283.141350\n"," height_integrated_rayleighs_1356 : 218.736472\n"," height_integrated_rayleighs_4278 : 2765.693660\n"," height_integrated_rayleighs_5577 : 16642.590201\n"," height_integrated_rayleighs_6300 : 379.060374\n"," height_integrated_rayleighs_8446 : 476.980016\n"," height_integrated_rayleighs_lbh : 15218.480492\n"," neutral_n2_density : None\n"," neutral_n_density : None\n"," neutral_o2_density : None\n"," neutral_o_density : None\n"," neutral_temperature : None\n"," plasma_electron_density : None\n"," plasma_electron_temperature : None\n"," plasma_hall_conductivity : None\n"," plasma_ion_temperature : None\n"," plasma_ionisation_rate : None\n"," plasma_noplus_density : None\n"," plasma_o2plus_density : None\n"," plasma_oplus_density : None\n"," plasma_pederson_conductivity : None\n"," request_info : ATMForwardResultRequestInfo(...)\n"]}],"source":["# perform the calculation\n","result = aurorax.models.atm.forward(timestamp, latitude, longitude, output)\n","\n","# view the output\n","#\n","# we use handy print method for the results\n","result.pretty_print()"]},{"cell_type":"markdown","id":"c374b319","metadata":{"id":"c374b319"},"source":["Let's have a closer look at some of the results."]},{"cell_type":"code","execution_count":null,"id":"5cbd8ef5-b6f2-4426-a7ad-4295a9afb04b","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":472},"executionInfo":{"elapsed":267,"status":"ok","timestamp":1718817275059,"user":{"displayName":"Darren Chaddock","userId":"00063457193488446753"},"user_tz":360},"id":"5cbd8ef5-b6f2-4426-a7ad-4295a9afb04b","outputId":"bd5299c1-6a14-4960-a5a2-a12dd54d2ee4"},"outputs":[{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAkcAAAHHCAYAAAC1G/yyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABdaElEQVR4nO3deXxMV+MG8GeWzGSdREISIZs9USpoGbSUEJoqbbrwpqRolYaWqqq+tqKNV4uWKq226K/US18UtcUWpaFE1VpbVWxJtCSTRCSZmfP7I5nrThYiMpkknu/nMx8z55577jkZ3CfnbgohhAARERERAQCU9u4AERERUVXCcEREREQkw3BEREREJMNwRERERCTDcEREREQkw3BEREREJMNwRERERCTDcEREREQkw3BEREREJMNwRERkIy+//DKCgoIqvN0pU6ZAoVBUeLtEVIDhiKga2rVrFxQKRYmvffv2WdXt0qVLifV69uxpVe/ll18utU2FQoHLly/fsU9BQUGlrtu4ceMK/xkQEdmK2t4dIKLye+ONN/DII49YlTVq1KhYvfr16yMuLs6qzM/Pz+rza6+9hvDwcKsyIQSGDRuGoKAg1KtX7459+eSTT5CVlWVVduHCBUyYMAE9evS461hqokWLFsFsNld4uxMmTMC7775b4e0SUQGGI6Jq7LHHHsNzzz1313ru7u546aWX7lhHr9dDr9dble3Zswc3b95EdHT0XbfRt2/fYmXTp08HgDKtXxM5ODjYpF21Wg21mv99E9kKD6sRVXOZmZkwGo13rWc0GovN7NzN8uXLoVAo8K9//atcfVu+fDmCg4PRoUMHqcxySHDlypX44IMPUL9+fTg6OqJbt244e/as1fpdunTBQw89hCNHjqBz585wdnZGo0aN8MMPPwAAEhIS0K5dOzg5OaFp06bYtm1bmfqVm5uLyZMno1GjRtBqtfD398c777yD3Nxcq3oKhQIjRozAqlWrEBoaCicnJ+j1ehw9ehQA8MUXX6BRo0ZwdHREly5d8Ndff1mtX9I5RytWrECbNm3g5uYGnU6HFi1a4NNPP5WW5+fn4/3330fjxo3h6OgILy8vdOrUCfHx8VKdks45MhqNmDZtGho2bAitVougoCC89957xcYUFBSEp556Cnv27MGjjz4KR0dHNGjQAN9++22ZfnZEDwRBRNXOzp07BQDh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GZYvX45Dhw5h6dKl+Pjjj7F06VKbbnf8+PHIyMiQXhcvXrTp9oiIiKj6sOvM0dixY/Huu++iX79+AIAWLVrgwoULiIuLQ0xMDHx9fQEAqampqFu3rrReamoqWrVqBQDw9fVFWlqaVbtGoxHXr1+X1i9Kq9VCq9XaYERERERU3dl15ujmzZtQKq27oFKpYDabAQDBwcHw9fXF9u3bpeUGgwH79++HXq8HAOj1eqSnpyMpKUmqs2PHDpjNZrRr164SRkFEREQ1iV1njnr37o0PPvgAAQEBaN68OX777TfMnj0bgwcPBgAoFAqMGjUK06dPR+PGjREcHIyJEyfCz88Pffv2BQCEhISgZ8+eePXVV7Fw4ULk5+djxIgR6NevX5muVCMiIiKSs2s4mjdvHiZOnIjXX38daWlp8PPzw2uvvYZJkyZJdd555x1kZ2dj6NChSE9PR6dOnbB582Y4OjpKdZYtW4YRI0agW7duUCqViIqKwty5c+0xJCIiIqrm7Hqfo6rCVvdJ6DprF/68lo2Vr+nxaLBnhbVLRERENfQ+R0RERERVDcMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkYxdw1FQUBAUCkWxV2xsLADg1q1biI2NhZeXF1xdXREVFYXU1FSrNpKTkxEZGQlnZ2d4e3tj7NixMBqN9hgOERER1QB2DUcHDhzA1atXpVd8fDwA4PnnnwcAjB49GuvXr8eqVauQkJCAK1eu4Nlnn5XWN5lMiIyMRF5eHn755RcsXboUS5YswaRJk+wyHiIiIqr+7BqO6tSpA19fX+m1YcMGNGzYEJ07d0ZGRga+/vprzJ49G127dkWbNm2wePFi/PLLL9i3bx8AYOvWrThx4gS+++47tGrVCr169cK0adMwf/585OXl2XNoREREVE1VmXOO8vLy8N1332Hw4MFQKBRISkpCfn4+wsPDpTrNmjVDQEAAEhMTAQCJiYlo0aIFfHx8pDoREREwGAw4fvx4pY+BiIiIqj+1vTtgsXbtWqSnp+Pll18GAKSkpECj0cDDw8Oqno+PD1JSUqQ68mBkWW5ZVprc3Fzk5uZKnw0GQwWMgIiIiGqCKjNz9PXXX6NXr17w8/Oz+bbi4uLg7u4uvfz9/W2+TSIiIqoeqkQ4unDhArZt24ZXXnlFKvP19UVeXh7S09Ot6qampsLX11eqU/TqNctnS52SjB8/HhkZGdLr4sWLFTQSIiIiqu6qRDhavHgxvL29ERkZKZW1adMGDg4O2L59u1R26tQpJCcnQ6/XAwD0ej2OHj2KtLQ0qU58fDx0Oh1CQ0NL3Z5Wq4VOp7N6EREREQFV4Jwjs9mMxYsXIyYmBmr17e64u7tjyJAheOutt+Dp6QmdToeRI0dCr9ejffv2AIAePXogNDQUAwYMwMyZM5GSkoIJEyYgNjYWWq3WXkMiIiKiaszu4Wjbtm1ITk7G4MGDiy2bM2cOlEoloqKikJubi4iICHz++efScpVKhQ0bNmD48OHQ6/VwcXFBTEwMpk6dWplDICIiohpEIYQQ9u6EvRkMBri7uyMjI6NCD7F1nbULf17LxsrX9Hg02LPC2iUiIiLb7b+rxDlHRERERFUFwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkQzDEREREZEMwxERERGRDMMRERERkYzdw9Hly5fx0ksvwcvLC05OTmjRogUOHjwoLRdCYNKkSahbty6cnJwQHh6OM2fOWLVx/fp1REdHQ6fTwcPDA0OGDEFWVlZlD4WIiIhqALuGoxs3bqBjx45wcHDApk2bcOLECcyaNQu1atWS6sycORNz587FwoULsX//fri4uCAiIgK3bt2S6kRHR+P48eOIj4/Hhg0bsHv3bgwdOtQeQyIiIqJqTm3Pjf/nP/+Bv78/Fi9eLJUFBwdL74UQ+OSTTzBhwgT06dMHAPDtt9/Cx8cHa9euRb9+/XDy5Els3rwZBw4cQNu2bQEA8+bNw5NPPomPP/4Yfn5+lTsoIiIiqtbsOnO0bt06tG3bFs8//zy8vb0RFhaGRYsWScvPnz+PlJQUhIeHS2Xu7u5o164dEhMTAQCJiYnw8PCQghEAhIeHQ6lUYv/+/SVuNzc3FwaDwepFREREBNg5HP35559YsGABGjdujC1btmD48OF44403sHTpUgBASkoKAMDHx8dqPR8fH2lZSkoKvL29rZar1Wp4enpKdYqKi4uDu7u79PL396/ooREREVE1ZddwZDab0bp1a3z44YcICwvD0KFD8eqrr2LhwoU23e748eORkZEhvS5evGjT7REREVH1YddwVLduXYSGhlqVhYSEIDk5GQDg6+sLAEhNTbWqk5qaKi3z9fVFWlqa1XKj0Yjr169LdYrSarXQ6XRWLyIiIiLAzuGoY8eOOHXqlFXZ6dOnERgYCKDg5GxfX19s375dWm4wGLB//37o9XoAgF6vR3p6OpKSkqQ6O3bsgNlsRrt27SphFERERFST2PVqtdGjR6NDhw748MMP8cILL+DXX3/Fl19+iS+//BIAoFAoMGrUKEyfPh2NGzdGcHAwJk6cCD8/P/Tt2xdAwUxTz549pcNx+fn5GDFiBPr168cr1YiIiOie2TUcPfLII1izZg3Gjx+PqVOnIjg4GJ988gmio6OlOu+88w6ys7MxdOhQpKeno1OnTti8eTMcHR2lOsuWLcOIESPQrVs3KJVKREVFYe7cufYYEhEREVVzCiGEsHcn7M1gMMDd3R0ZGRkVev5R11m78Oe1bKx8TY9Hgz0rrF0iIiKy3f7b7o8PISIiIqpKGI6IiIiIZBiOKgGPXBIREVUfDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQyDEdEREREMgxHRERERDIMR0REREQy9x2OcnNzK6IfRERERFXCPYejTZs2ISYmBg0aNICD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","text/plain":["